diff options
author | Mike Kucera | 2009-04-20 18:24:34 +0000 |
---|---|---|
committer | Mike Kucera | 2009-04-20 18:24:34 +0000 |
commit | 0a80b06634e712cbe7c7a5e3256e87db8b464594 (patch) | |
tree | 86faef3455a40a88a9843f4819cb14588f4aed92 /lrparser/org.eclipse.cdt.core.lrparser/src | |
parent | 21e1364cb500e824afcec492012db84094d92db5 (diff) | |
download | org.eclipse.cdt-0a80b06634e712cbe7c7a5e3256e87db8b464594.tar.gz org.eclipse.cdt-0a80b06634e712cbe7c7a5e3256e87db8b464594.tar.xz org.eclipse.cdt-0a80b06634e712cbe7c7a5e3256e87db8b464594.zip |
[272950] [LR Parser] Add ability to pass properties to extending parsers and update (regenerate) the parsers to support this.
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/src')
36 files changed, 10265 insertions, 10464 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java index fc980939613..a2e8980dec6 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/BaseExtensibleLanguage.java @@ -10,9 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.Set; +import java.util.HashMap; +import java.util.Map; import org.eclipse.cdt.core.dom.ICodeReaderFactory; import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; @@ -46,15 +45,14 @@ import org.eclipse.core.runtime.CoreException; /** * Implementation of the ILanguage extension point, * provides the ability to add LPG based languages to CDT. - * - * @author Mike Kucera */ -@SuppressWarnings("restriction") +@SuppressWarnings({ "restriction", "nls" }) public abstract class BaseExtensibleLanguage extends AbstractLanguage { private static final boolean DEBUG_PRINT_GCC_AST = false; private static final boolean DEBUG_PRINT_AST = false; + /** @@ -63,7 +61,7 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { * Can be overridden in subclasses to provide a different parser * for a language extension. */ - protected abstract IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<IParser.Options> options); + protected abstract IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties); /** * Returns the ParserLanguage value that is to be used when creating @@ -79,18 +77,13 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { protected abstract IScannerExtensionConfiguration getScannerExtensionConfiguration(); - - @SuppressWarnings("nls") @Override public IASTTranslationUnit getASTTranslationUnit(CodeReader reader, IScannerInfo scanInfo, ICodeReaderFactory fileCreator, IIndex index, int options, IParserLogService log) throws CoreException { IASTTranslationUnit gtu = null; if(DEBUG_PRINT_GCC_AST) { - System.out.println(); - System.out.println("********************************************************"); - System.out.println("Parsing"); - System.out.println("Options: " + options); + System.out.println("\n********************************************************\nParsing\nOptions: " + options); ILanguage gppLanguage = getParserLanguage() == ParserLanguage.CPP ? GPPLanguage.getDefault() : GCCLanguage.getDefault(); gtu = gppLanguage.getASTTranslationUnit(reader, scanInfo, fileCreator, index, options, log); @@ -106,19 +99,14 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { IScanner preprocessor = new CPreprocessor(reader, scanInfo, pl, log, config, fileCreator); preprocessor.setComputeImageLocations((options & ILanguage.OPTION_NO_IMAGE_LOCATIONS) == 0); - - //parser.setScanner(preprocessor, getTokenMap()); - //CPreprocessorAdapter.runCPreprocessor(preprocessor, parser, getTokenMap()); - - Set<IParser.Options> parserOptions = new HashSet<IParser.Options>(); - //if((options & OPTION_SKIP_FUNCTION_BODIES) != 0) - // parserOptions.add(IParser.Options.OPTION_SKIP_FUNCTION_BODIES); + Map<String,String> parserProperties = new HashMap<String,String>(); + parserProperties.put(LRParserProperties.TRANSLATION_UNIT_PATH, reader.getPath()); + if((options & OPTION_SKIP_FUNCTION_BODIES) != 0) + parserProperties.put(LRParserProperties.SKIP_FUNCTION_BODIES, "true"); if((options & OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS) != 0) - parserOptions.add(IParser.Options.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS); - if(!parserOptions.isEmpty()) - parserOptions = EnumSet.copyOf(parserOptions); + parserProperties.put(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS, "true"); - IParser<IASTTranslationUnit> parser = getParser(preprocessor, index, parserOptions); + IParser<IASTTranslationUnit> parser = getParser(preprocessor, index, parserProperties); IASTTranslationUnit tu = parser.parse(); tu.setIsHeaderUnit((options & OPTION_IS_SOURCE_UNIT) == 0); // the TU is marked as either a source file or a header file @@ -139,7 +127,6 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { } - @SuppressWarnings("nls") public IASTCompletionNode getCompletionNode(CodeReader reader, IScannerInfo scanInfo, ICodeReaderFactory fileCreator, IIndex index, IParserLogService log, int offset) throws CoreException { @@ -162,9 +149,15 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { IScanner preprocessor = new CPreprocessor(reader, scanInfo, pl, log, config, fileCreator); preprocessor.setContentAssistMode(offset); - Set<IParser.Options> parserOptions = EnumSet.of(IParser.Options.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS); - IParser<IASTTranslationUnit> parser = getParser(preprocessor, index, parserOptions); + + Map<String,String> parserProperties = new HashMap<String,String>(); + parserProperties.put(LRParserProperties.TRANSLATION_UNIT_PATH, reader.getPath()); + parserProperties.put(LRParserProperties.SKIP_FUNCTION_BODIES, "true"); + parserProperties.put(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS, "true"); + + IParser<IASTTranslationUnit> parser = getParser(preprocessor, index, parserProperties); parser.parse(); + IASTCompletionNode completionNode = parser.getCompletionNode(); if(DEBUG_PRINT_AST) { @@ -179,7 +172,6 @@ public abstract class BaseExtensibleLanguage extends AbstractLanguage { /* * For debugging. */ - @SuppressWarnings("nls") private static void printCompletionNode(IASTCompletionNode cn) { if(cn == null) { System.out.println("Completion node is null"); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java index 7e3bf0ed6ad..b17ee9dbe8a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java @@ -10,11 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser; -import java.util.EnumSet; - import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.model.ILanguage; /** @@ -24,49 +21,15 @@ import org.eclipse.cdt.core.model.ILanguage; */ public interface IParser<N extends IASTNode> { - /** - * Options used by implementations of IParser. Some of the options - * may be duplicates of the options in ILanguage. - * @see ILanguage - */ - public enum Options { - - /** - * The LR parsers do not actually skip the parsing of function bodies, - * but this option does have the effect of not generating AST nodes - * for function bodies. - * - * TODO Implement this - */ - //OPTION_SKIP_FUNCTION_BODIES, - - /** - * Instructs the parser not to create AST nodes for expressions - * within aggregate initializers when they do not contain names. - * - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=253690 - */ - OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS, - } - /** * Performs the actual parse. * - * The given translation unit is assumed to not have any children, during the parse - * it will have its declaration fields filled in, resulting in a complete AST. - * * If there were any errors during the parse these will be represented in the * AST as problem nodes. * * If the parser encounters a completion token then a completion node - * is returned, null is returned otherwise. - * - * @param tu An IASTTranslationUnit instance that will have its declarations filled in. - * @param options a Set of parser options, use an EnumSet - * @return a completion node if a completion token is encountered during the parser, null otherwise. - * @throws NullPointerException if either parameter is null - * @see EnumSet + * will be available via the getCompletionNode() method. */ public N parse(); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java new file mode 100644 index 00000000000..ecfd9ee7b33 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/LRParserProperties.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.core.dom.lrparser; + + +@SuppressWarnings("nls") +public final class LRParserProperties { + + /** + * The LR parsers do not actually skip the parsing of function bodies, + * but this option does have the effect of not generating AST nodes + * for function bodies. + * + * TODO this is not implemented yet in the LR parser + * + * Possible values: "true", null + */ + public static final String SKIP_FUNCTION_BODIES = "org.eclipse.cdt.core.dom.lrparser.skipFunctionBodies"; + + /** + * Instructs the parser not to create AST nodes for expressions + * within aggregate initializers when they do not contain names. + * + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=253690 + * + * Possible values: "true", null + */ + public static final String SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS = "org.eclipse.cdt.core.dom.lrparser.skipTrivialExpressionsInAggregateInitializers"; + + /** + * The location of the translation unit as given by the CodeReader. + */ + public static final String TRANSLATION_UNIT_PATH = "org.eclipse.cdt.core.dom.lrparser.translationUnitPath"; + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java index beb2ee3075c..5c09ab5cf64 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/AbstractParserAction.java @@ -10,16 +10,15 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action; -import java.util.EnumSet; +import java.util.Collections; import java.util.List; -import java.util.Set; +import java.util.Map; import lpg.lpgjavaruntime.IToken; import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; @@ -50,7 +49,7 @@ public abstract class AbstractParserAction { protected ASTCompletionNode completionNode; /** Options that change the behavior of the parser actions */ - protected Set<IParser.Options> options = EnumSet.noneOf(IParser.Options.class); + protected Map<String,String> properties = Collections.emptyMap(); @@ -102,8 +101,8 @@ public abstract class AbstractParserAction { return name; } - public void setParserOptions(Set<IParser.Options> options) { - this.options = options == null ? EnumSet.noneOf(IParser.Options.class) : options; + public void setParserProperties(Map<String,String> properties) { + this.properties = properties == null ? Collections.<String,String>emptyMap() : properties; } /** 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 36534d7d6a5..edc50aa2dbf 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 @@ -69,9 +69,9 @@ import org.eclipse.cdt.core.dom.ast.IScope; import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.LRParserPlugin; +import org.eclipse.cdt.core.dom.lrparser.LRParserProperties; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; import org.eclipse.cdt.core.parser.IProblem; @@ -217,7 +217,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction { List<IToken> expressionTokens = stream.getRuleTokens(); expressionTokens = expressionTokens.subList(0, expressionTokens.size()-1); // remove the semicolon at the end - ISecondaryParser<IASTExpression> expressionParser = parserFactory.getExpressionParser(stream, options); + ISecondaryParser<IASTExpression> expressionParser = parserFactory.getExpressionParser(stream, properties); IASTExpression expr = runSecondaryParser(expressionParser, expressionTokens); if(expr != null) { // the parse may fail @@ -394,7 +394,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction { IASTExpression alternateExpr = null; if(operator == IASTCastExpression.op_cast) { // don't reparse for dynamic_cast etc as those are not ambiguous // try parsing as non-cast to resolve ambiguities - ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getNoCastExpressionParser(stream, options); + ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getNoCastExpressionParser(stream, properties); alternateExpr = runSecondaryParser(secondaryParser); } @@ -434,7 +434,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction { setOffsetAndLength(expr); // try parsing as an expression to resolve ambiguities - ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getSizeofExpressionParser(stream, options); + ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getSizeofExpressionParser(stream, properties); IASTExpression alternateExpr = runSecondaryParser(secondaryParser); if(alternateExpr == null) @@ -1019,7 +1019,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction { private boolean discardInitializer(IASTExpression expression) { return initializerListNestingLevel > 0 - && options.contains(IParser.Options.OPTION_SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS) + && "true".equals(properties.get(LRParserProperties.SKIP_TRIVIAL_EXPRESSIONS_IN_AGGREGATE_INITIALIZERS)) //$NON-NLS-1$ && !ASTQueries.canContainName(expression); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java index 066ff1f90cb..5cee6bea4a5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java @@ -10,10 +10,9 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -30,20 +29,20 @@ public interface ISecondaryParserFactory { /** * Get the parser that will recognize expressions. */ - ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options); + ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties); /** * Expression parser that does not recognize cast expressions, * used to disambiguate casts. */ - ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options); + ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties); /** * Expression parser that treats all sizeof and typeid expressions * as unary expressions. */ - ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options); + ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java index 19f44755d8d..45fe22320b1 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java @@ -10,10 +10,9 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.c99; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; @@ -30,15 +29,15 @@ public class C99SecondaryParserFactory implements ISecondaryParserFactory { } - public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new C99ExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new C99ExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new C99NoCastExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new C99NoCastExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new C99SizeofExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new C99SizeofExpressionParser(stream, properties); } }
\ No newline at end of file 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 57dc6926940..f093bb1893d 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 @@ -407,7 +407,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { */ public void consumeTemplateArgumentTypeId() { // TODO is this necessary? It should be able to tell if it looks like an id expression - ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getExpressionParser(stream, options); + ISecondaryParser<IASTExpression> secondaryParser = parserFactory.getExpressionParser(stream, properties); IASTExpression result = runSecondaryParser(secondaryParser); // The grammar rule allows assignment_expression, but the ambiguity @@ -1276,7 +1276,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { if(!(declarator instanceof IASTFunctionDeclarator)) return; - ISecondaryParser<IASTDeclarator> secondaryParser = parserFactory.getNoFunctionDeclaratorParser(stream, options); + ISecondaryParser<IASTDeclarator> secondaryParser = parserFactory.getNoFunctionDeclaratorParser(stream, properties); IASTDeclarator notFunctionDeclarator = runSecondaryParser(secondaryParser); if(notFunctionDeclarator == null) @@ -1684,7 +1684,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { * Yes its a hack. */ public void consumeTemplateParamterDeclaration() { - ISecondaryParser<ICPPASTTemplateParameter> typeParameterParser = parserFactory.getTemplateTypeParameterParser(stream, options); + ISecondaryParser<ICPPASTTemplateParameter> typeParameterParser = parserFactory.getTemplateTypeParameterParser(stream, properties); IASTNode alternate = runSecondaryParser(typeParameterParser); if(alternate == null) diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java index ff5e558529b..f2ee4bf628f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java @@ -10,12 +10,11 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.cpp; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser; @@ -34,24 +33,24 @@ public class CPPSecondaryParserFactory implements ICPPSecondaryParserFactory { } - public ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPTemplateTypeParameterParser(stream, options); + public ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Map<String,String> properties) { + return new CPPTemplateTypeParameterParser(stream, properties); } - public ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPNoFunctionDeclaratorParser(stream, options); + public ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> properties) { + return new CPPNoFunctionDeclaratorParser(stream, properties); } - public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new CPPExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPNoCastExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new CPPNoCastExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPSizeofExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new CPPSizeofExpressionParser(stream, properties); } } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java index b8394658428..cae606fe88e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java @@ -10,11 +10,10 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.cpp; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; @@ -27,8 +26,8 @@ import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; */ public interface ICPPSecondaryParserFactory extends ISecondaryParserFactory { - ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Set<IParser.Options> options); + ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Map<String,String> properties); - ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Set<IParser.Options> options); + ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> properties); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java index 7c7afbe1a33..0b68da007c9 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java @@ -10,10 +10,9 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.gnu; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTExpression; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; @@ -30,15 +29,15 @@ public class GCCSecondaryParserFactory implements ISecondaryParserFactory { } - public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new C99ExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new C99ExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new C99NoCastExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new C99NoCastExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new GCCSizeofExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new GCCSizeofExpressionParser(stream, properties); } }
\ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java index e2df0454417..ed4a6260ddd 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java @@ -10,12 +10,11 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.gnu; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; -import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory; @@ -35,24 +34,24 @@ public class GPPSecondaryParserFactory implements ICPPSecondaryParserFactory { } - public ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPTemplateTypeParameterParser(stream, options); + public ISecondaryParser<ICPPASTTemplateParameter> getTemplateTypeParameterParser(ITokenStream stream, Map<String,String> properties) { + return new CPPTemplateTypeParameterParser(stream, properties); } - public ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPNoFunctionDeclaratorParser(stream, options); + public ISecondaryParser<IASTDeclarator> getNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> properties) { + return new CPPNoFunctionDeclaratorParser(stream, properties); } - public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new CPPExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new CPPNoCastExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new CPPNoCastExpressionParser(stream, properties); } - public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { - return new GPPSizeofExpressionParser(stream, options); + public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { + return new GPPSizeofExpressionParser(stream, properties); } } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java index 98d12a2dc92..66d13fd702f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/C99Language.java @@ -10,14 +10,13 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.c99; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.lrparser.IParser.Options; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; import org.eclipse.cdt.core.dom.parser.c.ANSICParserExtensionConfiguration; @@ -44,8 +43,8 @@ public class C99Language extends BaseExtensibleLanguage { @Override - protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<Options> options) { - return new C99Parser(scanner, DOMToC99TokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, options); + protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) { + return new C99Parser(scanner, DOMToC99TokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); } @Override diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java index 4638bd1c5b2..25094eb7a38 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/ISOCPPLanguage.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.cpp; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -41,8 +41,8 @@ public class ISOCPPLanguage extends BaseExtensibleLanguage { } @Override - protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<IParser.Options> options) { - return new CPPParser(scanner, DOMToISOCPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, options); + protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) { + return new CPPParser(scanner, DOMToISOCPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); } @Override diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java index a83deee3510..1eea1ed909a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GCCLanguage.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.gnu; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -41,8 +41,8 @@ public class GCCLanguage extends BaseExtensibleLanguage { } @Override - protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<IParser.Options> options) { - return new GCCParser(scanner, DOMToGCCTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, options); + protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) { + return new GCCParser(scanner, DOMToGCCTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); } @Override diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java index 533a44e943b..76aea0cf4d3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.gnu; -import java.util.Set; +import java.util.Map; import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -41,8 +41,8 @@ public class GPPLanguage extends BaseExtensibleLanguage { } @Override - protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Set<IParser.Options> options) { - return new GPPParser(scanner, DOMToGPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, options); + protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) { + return new GPPParser(scanner, DOMToGPPTokenMap.DEFAULT_MAP, getBuiltinBindingsProvider(), index, properties); } @Override diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java index a1e8be35ff6..436b2eaf4ff 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java @@ -177,17 +177,17 @@ private C99BuildASTParserAction action; private IASTCompletionNode compNode; -public C99ExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public C99ExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -244,8 +244,8 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, C99ExpressionParsersym.TK_EOF_TOKEN)); } -public C99ExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); +public C99ExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); tokenMap = new TokenMap(C99ExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } 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 d54324f4e29..d4098c146bd 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 @@ -177,17 +177,17 @@ private C99BuildASTParserAction action; private IASTCompletionNode compNode; -public C99NoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public C99NoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -244,8 +244,8 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, C99NoCastExpressionParsersym.TK_EOF_TOKEN)); } -public C99NoCastExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); +public C99NoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); tokenMap = new TokenMap(C99NoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } 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 fcd42454a50..2dc4483d0ab 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 @@ -173,17 +173,17 @@ private C99BuildASTParserAction action; private IASTCompletionNode compNode; -public C99Parser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public C99Parser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } 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 e3f3eca3bb8..21557bc63ac 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 @@ -177,17 +177,17 @@ private C99BuildASTParserAction action; private IASTCompletionNode compNode; -public C99SizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public C99SizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new C99BuildASTParserAction (this, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -244,8 +244,8 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, C99SizeofExpressionParsersym.TK_EOF_TOKEN)); } -public C99SizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); +public C99SizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); tokenMap = new TokenMap(C99SizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java index 7ebe9ef388a..6a3773fecd3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java @@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; +import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -178,17 +178,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -245,9 +245,9 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, CPPExpressionParsersym.TK_EOF_TOKEN)); } -public CPPExpressionParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); - tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); +public CPPExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); + tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } @@ -1307,331 +1307,331 @@ public CPPExpressionParser(ITokenStream parser, Set<IParser.Options> options) { } // - // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 297: { action. consumeNamespaceDefinition(false); break; + case 295: { action. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 298: { action. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 299: typename_opt ::= typename // - case 300: { action. consumePlaceHolder(); break; + case 299: { action. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 300: typename_opt ::= $Empty // - case 301: { action. consumeEmpty(); break; + case 300: { action. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action. consumeUsingDirective(); break; + case 301: { action. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 302: asm_definition ::= asm ( stringlit ) ; // - case 303: { action. consumeDeclarationASM(); break; + case 302: { action. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 304: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 305: { action. consumeLinkageSpecification(); break; + case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 310: init_declarator_complete ::= init_declarator + // Rule 309: init_declarator_complete ::= init_declarator // - case 310: { action. consumeInitDeclaratorComplete(); break; + case 309: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 312: init_declarator ::= complete_declarator initializer + // Rule 311: init_declarator ::= complete_declarator initializer // - case 312: { action. consumeDeclaratorWithInitializer(true); break; + case 311: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 316: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 320: basic_direct_declarator ::= declarator_id_name // - case 321: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 321: basic_direct_declarator ::= ( declarator ) // - case 322: { action. consumeDirectDeclaratorBracketed(); break; + case 321: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 325: array_modifier ::= [ constant_expression ] // - case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 326: array_modifier ::= [ ] // - case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumePointer(); break; + case 327: { action. consumePointer(); break; } // - // Rule 329: ptr_operator ::= pointer_hook & pointer_hook + // Rule 328: ptr_operator ::= pointer_hook & pointer_hook // - case 329: { action. consumeReferenceOperator(); break; + case 328: { action. consumeReferenceOperator(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumePointerToMember(); break; + case 329: { action. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= const + // Rule 336: cv_qualifier ::= const // - case 337: { action. consumeToken(); break; + case 336: { action. consumeToken(); break; } // - // Rule 338: cv_qualifier ::= volatile + // Rule 337: cv_qualifier ::= volatile // - case 338: { action. consumeToken(); break; + case 337: { action. consumeToken(); break; } // - // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 340: { action. consumeQualifiedId(false); break; + case 339: { action. consumeQualifiedId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 340: type_id ::= type_specifier_seq // - case 341: { action. consumeTypeId(false); break; + case 340: { action. consumeTypeId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: type_id ::= type_specifier_seq abstract_declarator // - case 342: { action. consumeTypeId(true); break; + case 341: { action. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 345: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(true); break; + case 345: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( ) + // Rule 350: basic_direct_abstract_declarator ::= ( ) // - case 351: { action. consumeAbstractDeclaratorEmpty(); break; + case 350: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 357: { action. consumePlaceHolder(); break; + case 356: { action. consumePlaceHolder(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 358: { action. consumeEmpty(); break; + case 357: { action. consumeEmpty(); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 359: { action. consumePlaceHolder(); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 365: abstract_declarator_opt ::= $Empty + // Rule 364: abstract_declarator_opt ::= $Empty // - case 365: { action. consumeEmpty(); break; + case 364: { action. consumeEmpty(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 366: { action. consumeParameterDeclaration(); break; + case 365: { action. consumeParameterDeclaration(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers // - case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(false); break; + case 371: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 373: parameter_initializer ::= assignment_expression + // Rule 372: parameter_initializer ::= assignment_expression // - case 373: { action. consumeInitializer(); break; + case 372: { action. consumeInitializer(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 374: { action. consumeFunctionDefinition(false); break; + case 373: { action. consumeFunctionDefinition(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 375: { action. consumeFunctionDefinition(true); break; + case 374: { action. consumeFunctionDefinition(true); break; } // - // Rule 378: initializer ::= ( expression_list ) + // Rule 377: initializer ::= ( expression_list ) // - case 378: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeInitializerConstructor(); break; } // - // Rule 379: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= assignment_expression // - case 379: { action. consumeInitializer(); break; + case 378: { action. consumeInitializer(); break; } // - // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 380: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 381: { action. consumeInitializerList(); break; } // - // Rule 382: initializer_clause ::= { <openscope-ast> } + // Rule 382: initializer_list ::= { <openscope-ast> } // case 382: { action. consumeInitializerList(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java index 1830b1f5952..73fc961747f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java @@ -66,15 +66,15 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,3,4,4,5,2,5, 6,5,0,6,7,0,1,3,1,0, - 1,3,1,1,1,6,5,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 1,2,1,1,3,1,3,1,1,1, - 1,3,9,2,2,3,2,5,3,7, - 0,1,2,2,1,0,1,1,1,3, - 1,2,1,1,2,3,1,1,1,3, - 2,1,2,2,9,8,2,1,3,1, - 3,1,0,1,0,2,1,1,3,1, - 3,2,1,5,8,1,2,3,1,7, + 1,3,1,7,6,0,7,6,1,0, + 6,5,6,4,1,3,1,0,1,1, + 2,1,1,3,1,3,1,1,1,1, + 3,9,2,2,3,2,5,3,7,0, + 1,2,2,1,0,1,1,1,3,1, + 2,1,1,2,3,1,1,1,3,2, + 1,2,2,9,8,2,1,3,1,3, + 1,0,1,0,2,1,1,3,1,3, + 2,1,5,8,1,2,3,1,1,7, 6,3,0,0,1,3,1,1,5,6, 6,7,7,0,0,1,0,1,1,1, 2,4,2,2,1,5,1,1,1,1, @@ -92,456 +92,437 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 4,1,2,5,5,3,3,1,4,3, 1,0,1,3,1,1,-62,0,0,0, -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-480,0, - 0,0,0,0,0,-264,0,0,-4,0, - 0,0,0,0,-401,0,0,0,0,-71, - 0,0,0,-5,0,0,0,0,0,0, - 0,0,-462,0,-88,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,-58,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,-7,0,0,0,0,0,-240,0, - 0,-49,-293,-273,0,0,0,-72,0,0, - 0,0,0,0,0,0,0,0,0,0, - -8,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, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-127,0,0, - 0,0,0,-113,0,-178,0,0,0,-53, + 0,0,0,0,0,0,0,0,-4,0, + 0,0,0,0,0,-221,0,0,-5,0, + 0,0,0,0,-6,-222,0,0,-179,0, + 0,-283,0,0,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,0,0,-54, + -308,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-209,0,0,0,-358, + 0,0,0,0,0,-189,0,-16,0,0, + 0,0,0,0,0,0,0,0,-124,-465, + 0,0,0,0,0,0,-274,0,0,0, + -59,0,0,0,0,0,0,0,0,0, + 0,0,-7,0,0,-51,0,0,0,0, + -8,-257,0,0,0,0,0,0,0,-469, + 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, + 0,0,0,0,0,0,0,0,-226,0, + 0,0,0,-61,0,0,0,0,-223,0, + 0,-127,0,0,0,0,0,-120,0,0, -128,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,0,0,0,0,0,0,0,-137, - 0,0,0,0,0,0,0,0,-358,0, - 0,-142,0,0,0,-51,0,0,0,0, - 0,0,-536,0,0,0,0,0,0,0, - 0,0,0,0,0,-221,0,0,0,-183, - 0,-9,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,0,0,0, - 0,0,0,0,0,0,0,0,0,-61, - 0,0,0,0,0,-11,0,0,0,0, - 0,-225,0,0,0,-120,0,0,-64,0, - 0,-220,0,0,0,0,0,0,0,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,0,0,-179, - 0,0,0,0,-355,-54,0,-226,-10,0, - -233,0,0,0,0,-65,0,0,-150,0, - 0,0,-12,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-138,0, - 0,-511,0,0,0,-13,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,-15, - 0,0,0,0,-535,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,0,0,0,0,-206,0, - 0,0,0,-346,0,0,0,-189,0,-332, - 0,0,0,0,0,0,0,0,0,0, - 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,-409,0, - 0,0,0,0,-442,0,0,0,-257,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-222,0, - 0,0,0,0,0,0,0,-234,0,0, - 0,0,-349,-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,-289,0,0,-122,0,0,0,0, - 0,-271,0,0,0,0,-106,0,0,0, - 0,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,-330,0, - -420,0,0,0,-277,0,0,0,-29,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,-312,0, - 0,0,-124,-31,-373,0,0,-152,0,0, - 0,-32,0,0,0,0,0,0,0,0, - -241,0,0,0,-320,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,0,0,0,0,0,0,-130,0, - 0,0,-274,0,0,0,0,-223,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,0,0,0,0, - 0,0,0,0,0,0,0,-34,0,0, - 0,0,-39,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-142,0,0, + 0,0,0,-240,0,0,-536,0,0,0, + 0,-71,0,0,0,-137,0,0,0,0, + 0,0,0,0,0,0,0,0,-289,-244, + 0,0,0,0,0,0,-131,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,0,-50,0,0,0, - 0,0,-36,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,-37,0, - 0,0,0,0,0,0,0,0,-390,0, - -57,0,0,0,0,-38,0,0,0,-94, - 0,0,0,-40,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-55,0,0,0,0,0,0,-56,0, - 0,-416,0,-186,0,0,0,0,-66,-59, - 0,0,-95,0,0,0,-67,0,0,0, + 0,0,0,0,-138,-113,0,0,0,-119, + -64,0,-178,0,0,0,0,0,-9,0, + 0,0,-220,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,0, - 0,0,0,0,-496,0,-190,0,0,0, - -523,0,-70,0,0,-96,0,0,0,-109, 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,-534,0,-298, - 0,0,0,0,-466,0,0,0,-97,0, - 0,0,-111,0,0,0,0,0,0,0, + 0,-11,0,0,-302,0,-146,0,0,0, + 0,-10,0,0,-49,-230,0,0,0,0, + 0,0,-225,0,0,0,0,0,-387,0, + 0,-72,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -112,0,0,0,0,0,0,0,0,0, - -540,0,-305,0,0,0,0,0,0,0, - 0,-98,0,0,0,-132,0,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,0,-65,0,0,0,0, + 0,0,0,0,0,-362,0,-243,0,0, + 0,0,-53,0,0,0,-537,0,0,0, + -12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-13,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-139,0,-387,0,0,0,0, - 0,-60,0,0,-99,0,0,0,-140,0, + -206,0,0,0,0,0,0,0,0,-389, + 0,-135,0,0,0,-301,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,0,0,0,0,0,-155,0,-200,0, - 0,0,0,-156,-107,0,0,-100,0,0, - 0,-157,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-158, - 0,-205,0,0,0,0,-159,-108,0,0, - -101,0,0,0,-160,0,0,0,0,0, + 0,0,0,0,0,-395,0,0,0,0, + 0,0,0,-332,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-15,0,0,0,0, + 0,0,-349,0,0,-28,0,0,0,0, + 0,0,0,0,0,0,0,0,-74,0, + 0,0,0,-298,-122,-444,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-144,0,-231,0,0,0,0,-366, - -114,0,0,-102,0,0,0,-161,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-388,0,0,0,0, - 0,0,0,0,0,-154,0,0,0,0, - 0,-450,-403,-162,0,0,-103,0,0,0, - -344,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,-164,0, - 0,0,0,0,-402,0,0,0,0,-104, - 0,0,0,-334,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-417, + 0,0,0,0,0,0,0,0,-3,0, 0,0,0,0,0,0,0,0,0,0, - 0,-165,0,0,0,0,0,0,0,0, - 0,-196,0,-397,0,0,0,0,0,-149, - 0,0,-135,0,0,0,-378,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -264,0,0,0,0,0,0,0,0,0, + -339,0,-50,0,0,0,0,-60,0,0, + -277,0,0,0,-29,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-166,0,-333,0,0,0, - -213,0,0,0,-230,0,0,0,0,0, + 0,0,-452,0,0,0,0,0,0,0, + 0,0,0,0,-312,0,0,0,-313,-259, + 0,0,0,0,0,-320,0,0,0,-478, 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, - -168,0,0,-74,0,0,-169,0,0,0, - -529,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-353, + 0,0,0,0,0,0,0,-538,0,0, 0,0,0,0,0,0,0,0,0,0, + -293,0,0,0,-321,0,0,0,-30,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-411,0,0,0,-202,0, - -510,0,0,-347,0,0,0,-170,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-212,0,0,0,0, - 0,0,-171,0,0,0,0,-364,0,0, - 0,-357,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,-188,-39, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -412,0,0,-172,0,0,0,0,0,-16, - 0,0,0,-280,-316,0,0,0,0,0, - 0,-382,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-31,0, + 0,-528,0,0,0,0,0,0,0,0, + 0,-41,0,0,0,-316,0,0,0,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,-173,0,0,0,-383, + -190,0,0,0,0,0,0,0,0,-377, + 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,-32,0,0,0,0, + 0,0,0,0,0,-33,0,-57,0,0, + 0,0,-107,0,0,-95,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,0,0,0,0,0,-147,0,0, - 0,-281,-356,0,0,0,0,0,-174,-453, + 0,0,0,0,0,0,0,0,0,-186, + 0,0,0,0,-108,0,0,-96,0,0, + 0,-35,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,-529, + 0,-200,0,0,0,0,-356,0,0,-97, + 0,0,0,-392,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,-205,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,-300,0,0,0,0,0,0,-423,0, - 0,-419,0,0,0,0,0,-93,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-114,0,-231,0,0,0,0, + -149,0,0,-99,0,0,0,-38,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-337,0,0,0,-175,-227,0,0,0, - 0,0,-413,0,0,0,0,-91,0,0, + 0,0,0,0,0,-129,0,-256,0,0, + 0,0,-153,0,0,-100,0,0,0,-40, 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,0,0,0,-92, - 0,0,0,-176,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-55,0,0, + 0,0,0,0,0,0,0,-130,0,-269, + 0,0,0,0,-418,0,0,-101,0,0, + 0,-56,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-422, + 0,0,0,0,0,0,0,0,0,-144, + 0,-270,0,0,0,0,-475,0,0,-102, + 0,0,0,-66,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-177,0, - -394,0,0,0,0,0,0,0,0,0, - 0,0,0,-89,0,0,0,-367,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-154,0,-272,0,0,0,0,-67,0, + 0,-103,0,0,0,-69,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-146,-180,-148,-313,0,-136,-362,-181,0, - 0,-433,0,0,0,-267,-182,-324,0,0, - 0,0,-185,0,0,-377,0,0,0,-193, - 0,0,0,0,0,0,0,-194,0,-476, - -211,0,0,0,0,0,-90,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-198,0,-276,0,0,0,0, + -499,0,0,-104,0,0,0,-70,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-187,0,0,0,0, - -197,0,0,0,0,0,-237,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-446,0,0,0,0,-208,0, - -209,0,0,0,0,0,-218,0,0,0, - -247,0,0,0,0,-283,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-444, - 0,0,-219,-118,0,0,0,0,0,0, - 0,0,-228,0,-195,0,0,0,-236,0, - -238,0,0,-246,-307,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-255,0, - 0,0,0,0,0,0,0,0,0,0, - -248,0,0,0,-260,-384,-245,-398,-393,-262, - 0,0,0,0,-263,0,-467,0,-143,0, - 0,0,0,0,-275,0,0,0,0,0, + 0,0,0,0,0,-196,0,-288,0,0, + 0,0,-109,0,0,-213,0,0,0,-110, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-239,-380,0,0,0,0,0, - 0,-360,0,-278,0,0,0,0,0,0, - 0,0,0,-279,0,0,-287,0,0,0, - 0,0,0,0,0,0,-198,-82,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-498,0,0,-111,0,-305, + 0,0,0,0,0,0,0,-531,0,0, + 0,-112,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,-207, - 0,0,0,0,-83,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-290,0,0,0, - 0,0,-199,-294,0,-295,0,0,-303,0, - 0,0,0,0,0,-304,-309,-256,0,0, - 0,0,-317,-318,0,-329,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,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,0,0,-235,0, - 0,0,0,-431,0,0,0,0,-314,0, - 0,0,0,0,-432,0,0,-269,-348,0, - -242,0,-285,-350,-473,0,0,0,0,0, - 0,-119,0,-315,0,-368,-435,0,0,0, - -371,0,0,0,0,-151,0,0,0,0, - 0,0,0,0,0,0,0,0,-451,0, - -249,-441,0,-250,-386,0,-512,0,0,0, - 0,0,0,0,0,0,0,0,-486,0, - 0,-405,0,-251,-121,0,-395,0,0,0, - 0,0,0,0,-396,0,0,0,0,-376, - 0,-268,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-399,0,0,0, - 0,0,-400,0,0,0,0,0,0,0, - 0,0,0,-528,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-252,0,-52, - 0,0,0,-353,0,0,-497,-286,-327,0, + 0,-280,0,0,0,-346,-235,0,0,-347, + 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,-455,-488,-406,-408,0, 0,0,0,0,0,0,0,0,0,0, - 0,-1,0,0,0,0,0,0,0,-526, - -379,-229,0,0,0,0,-414,0,0,0, - 0,0,-421,0,0,0,0,0,0,0, - 0,0,0,0,-428,-429,0,0,0,0, + 0,-542,0,0,0,0,0,-357,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-296,0,-452,0,0,-270,0,-454,-456, - 0,0,0,0,0,0,0,-354,0,-457, - -477,0,0,0,0,-458,0,0,0,0, - 0,-459,0,0,-297,-19,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-132, 0,0,0,0,0,0,0,0,0,0, + 0,-306,0,0,0,0,0,0,-533,0, + -281,-366,0,-121,0,-381,0,0,0,0, 0,0,0,0,0,0,0,0,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,-123,0,0,0,-87,0, - 0,0,-464,0,0,0,0,0,0,0, + 0,0,0,0,-139,0,0,0,0,0, + 0,0,0,-382,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -460,0,0,0,0,-461,-479,0,0,-425, - 0,-465,-14,0,0,0,0,0,0,-272, - 0,-524,0,0,-192,0,0,0,-125,0, - -481,0,-482,-276,0,-325,0,0,0,0, - 0,-484,-232,0,0,0,0,0,0,0, - 0,0,0,0,0,-483,0,0,0,0, - -478,0,0,0,-527,-363,0,0,0,0, - 0,0,0,0,0,-299,0,0,-489,-323, - 0,0,0,-493,0,0,0,-244,0,-500, - 0,-508,0,0,0,0,-517,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -485,0,-525,0,0,0,0,0,-530,-391, + 0,0,-386,0,0,0,0,0,0,0, + 0,-234,0,0,0,-404,-202,-140,0,0, + 0,-455,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -48,-288,0,-541,0,0,0,0,-422,0, - -301,0,0,-306,0,0,0,0,0,0, - 0,0,-282,0,0,0,0,0,0,0, - 0,0,0,0,0,-502,0,-310,-311,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-43,0,0,0,0, - -491,-468,-117,-471,0,0,0,0,-322,0, + -334,0,0,0,0,-364,0,0,0,-106, 0,0,0,0,0,0,0,0,0,0, - -145,0,0,0,0,0,0,0,0,0, - -516,0,-105,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-469,0,0,0,0,0,0, - 0,0,-134,0,0,0,0,0,0,0, - 0,0,-342,0,0,0,0,0,0,0, - 0,0,0,0,0,-518,0,0,0,0, - -328,-335,0,-339,0,0,0,0,0,0, - 0,0,0,0,0,-501,0,0,-341,0, - 0,0,0,-343,0,0,0,0,-359,0, - 0,0,0,0,0,0,-392,0,0,0, + 0,0,0,0,0,0,0,0,-227,0, + 0,-421,0,-141,0,-147,0,0,0,-464, + 0,0,0,0,0,0,0,-93,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-351,0,0,0,-389,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,-17,-415,-463,0,0,0,0, - 0,-470,0,0,0,0,0,-522,-447,0, - 0,0,0,-418,-427,0,0,0,0,0, - 0,0,0,0,0,-319,0,-430,0,0, - 0,0,0,0,0,0,0,-284,0,0, - 0,0,0,0,0,0,0,0,0,-407, + 0,0,0,0,0,0,0,0,0,-374, + 0,-91,0,0,0,-242,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-537,0,-472,-474,0,-475,0,0, - -494,0,0,0,0,0,0,0,0,0, - 0,0,-492,0,0,0,0,0,0,-352, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-44,0,0, - 0,0,0,0,0,0,0,-542,0,-214, + -267,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,-261,0,0,-531,0,0,0,0, - -498,0,0,0,0,0,0,0,0,0, + 0,0,-354,0,-88,0,0,0,-155,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-499,0,0,0, + 0,0,0,0,0,0,-156,0,0,0, + 0,0,0,-396,0,0,0,0,0,0, + 0,0,0,0,0,0,-89,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,-148,-468,0,0,-150,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,-337,0, + 0,0,-268,-512,0,0,0,0,0,0, + 0,0,-211,0,0,0,-159,-90,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-78,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-160,0,-161,-233,0, + 0,-241,0,0,0,0,0,0,-237,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,0,0,0,0, + 0,-247,0,0,0,-152,0,0,0,0, + 0,0,0,0,0,0,0,0,-249,-162, + 0,-248,0,0,0,-307,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-80,0,0,0, + -355,0,0,0,0,0,-250,0,0,0, + 0,0,0,-43,-310,0,-482,0,0,-376, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-503,0, - -81,0,0,0,0,0,0,0,0,0, + -414,0,0,0,0,0,-163,-164,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-338,0,-215,-505,0,-507,0,-509, - 0,0,-375,0,0,-513,0,-372,0,0, - 0,-515,-506,-45,0,0,0,0,0,0, - 0,-519,0,0,0,-532,-539,0,-514,0, - -533,0,-73,0,0,0,0,0,0,0, + -275,0,0,0,0,-379,0,0,0,-165, + 0,0,-443,-212,0,-166,0,-167,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,0,0,-83,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-538,0,0,0,0, - 0,0,0,0,0,-336,0,0,0,-381, + 0,0,0,0,0,0,0,0,-168,0, + 0,0,0,-187,0,0,0,0,0,-19, 0,0,0,0,0,0,0,0,0,0, - 0,0,-18,0,0,0,0,0,0,-440, 0,0,0,0,0,0,0,0,0,0, - 0,-361,-253,0,0,0,0,0,0,0, - 0,0,0,0,0,-254,0,-331,-365,0, + 0,0,0,-169,-271,0,0,0,-287,0, + 0,0,-314,0,0,0,0,0,0,-251, + -84,0,0,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,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-443,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-439,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-21,0,0,0, + 0,0,0,0,-433,0,0,0,0,0, + -402,0,0,-406,-239,-252,-440,0,0,-14, + 0,-286,-300,0,-319,-170,0,-171,-311,-434, + 0,0,0,0,0,-322,0,-172,0,0, + -17,0,0,0,0,-173,0,0,0,-245, + 0,0,0,0,0,0,0,0,0,-453, + 0,0,0,0,0,-435,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-261,0,0,0,0,0,0,-52, + 0,0,0,-174,0,0,-328,0,0,0, + 0,0,0,0,-324,0,0,0,-175,0, 0,0,0,0,0,0,0,0,0,0, + -335,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-530,0,0,0,0,0, + 0,0,0,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,0,-47,0,0,0,0, - 0,0,0,0,0,0,0,-22,0,0, + 0,0,0,-176,0,0,0,-143,0,0, + 0,-383,-177,0,0,0,0,0,-18,0, + 0,0,-296,0,0,0,-180,0,0,0, + 0,0,-181,0,0,0,0,0,0,0, + 0,0,-182,0,0,0,-373,0,0,0, + 0,0,0,-185,0,0,0,0,0,-525, + 0,0,0,0,0,-193,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,-194,0,0,0,-327,0, + 0,0,-197,0,0,0,0,0,0,0, + 0,-77,0,0,0,-526,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-208,0,0,-218,-151,0,0, + 0,-229,0,0,0,-297,-219,0,0,-338, + -44,-136,-228,0,0,0,0,0,0,0, + -236,0,0,-238,-462,-375,-118,0,0,0, + 0,0,0,0,-427,0,-246,0,0,0, + 0,0,0,0,0,0,0,0,-255,0, + 0,0,0,0,0,0,0,-341,0,-325, + -48,0,0,0,0,0,0,-448,0,0, + 0,0,0,-260,0,0,0,0,0,-485, + 0,-343,-399,0,-363,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-273, + 0,0,0,0,0,0,-262,-263,0,-330, + 0,0,0,0,0,-42,0,0,0,0, + -360,0,-278,0,0,0,0,0,-279,0, + 0,0,0,0,-487,0,-359,0,0,-105, + 0,-412,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-413, + 0,-285,-390,0,0,0,0,0,0,0, + 0,-290,0,0,-294,-45,0,-295,0,0, + 0,0,0,0,0,0,0,0,0,-504, + 0,-449,-368,0,0,0,0,0,0,-303, + 0,-304,0,0,0,0,0,0,0,0, + -391,0,-416,0,0,-424,0,-1,0,0, + 0,0,-336,0,0,0,-446,0,0,-224, + 0,0,-457,0,0,0,0,0,-309,0, + 0,0,0,0,-518,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-420,0,-315,0,0, + 0,-317,-318,0,-425,0,0,0,-329,0, + 0,-429,0,0,0,0,0,-348,-410,-350, + 0,0,0,0,0,0,0,0,0,-520, + 0,-432,-369,0,-466,0,0,0,0,0, + 0,-470,0,0,0,0,0,0,0,0, + 0,0,-473,0,0,-403,0,0,0,0, + -372,-385,-192,0,0,0,-397,0,0,-398, + -123,0,0,0,-361,0,0,0,-400,0, + 0,0,0,0,0,0,-232,0,0,0, + -282,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-522,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-401, + 0,0,0,0,0,-323,0,0,0,0, + 0,-524,0,0,0,0,0,-214,-474,-407, + -195,0,0,0,-477,0,0,0,0,0, + -409,0,0,0,-467,0,0,0,0,0, + 0,0,-415,0,0,0,0,0,0,0, + 0,0,0,0,-476,-505,0,0,0,0, + 0,0,0,0,0,0,0,0,-117,0, + -488,-199,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-342,0, + 0,0,0,0,-489,0,-539,-423,0,0, + 0,0,-514,0,0,-183,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-480, + 0,-507,0,0,-125,0,0,-430,-431,0, + 0,0,0,0,0,0,-46,-454,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-544,0,0,0,0,0,0,0,0, + 0,-456,0,0,0,0,0,0,0,0, + 0,0,-458,0,0,0,0,-479,0,0, + 0,0,-437,0,0,0,0,-459,-460,0, + 0,0,-493,0,-461,0,-496,0,0,0, + 0,0,0,0,0,0,-463,0,0,0, + 0,0,-481,-483,-500,-484,0,0,0,0, + 0,0,0,0,0,0,-78,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-23,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-486,0, + 0,-79,0,0,0,-491,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,-495,0,-80,0,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,-502,0,-81, + 0,0,0,-510,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-26, + 0,-519,0,-380,0,0,0,0,0,0, + 0,0,0,0,0,0,-527,-445,0,0, 0,0,0,0,0,0,0,0,0,0, + -20,0,0,0,-494,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,-471,0,0,0,-509,-517,-532,-543, 0,0,0,0,0,0,0,0,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,0,0,-75,0,0,0,0, + 0,0,0,-511,0,0,0,0,0,-21, 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,0,0, - 0,0,0,0,0,0,0,0,0,-133, + 0,-22,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-472,0,0,0,-501,0,0, + 0,0,-23,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,-515,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,0,-340,-216,-217,0,0,0,0, - 0,0,0,-369,0,0,0,0,0,0, - 0,0,0,-374,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,0,-26,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,0,0, + 0,0,0,0,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,-404, 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,-417,0,0,0, - 0,-291,0,0,0,0,-426,0,0,0, - 0,0,0,0,0,0,-42,-46,0,0, + 0,0,0,-76,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-133,0,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,0,-367, + -516,-535,-540,0,-521,-534,0,0,-394,-73, + -541,0,0,0,0,-253,0,0,-442,0, + 0,0,0,0,0,0,-134,-365,0,0, + 0,0,0,0,0,-145,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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,0,0,0,0,0, - 0,0,-345,0,0,0,0,0,0,0, - 0,0,0,0,0,-385,0,0,0,0, - 0,0,0,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,-292,0, - 0,0,0,0,-521,0,0,0,0,0, - 0,0,0,0,0,0,0,-126,0,0, + 0,0,0,0,0,-503,0,0,-254,0, + 0,0,0,0,0,0,-441,0,0,0, + 0,0,0,-292,0,0,0,0,0,0, + 0,0,0,-345,0,0,0,0,0,0, + 0,0,0,0,0,0,-384,0,0,0, + 0,0,0,0,0,0,0,0,0,-506, 0,0,0,0,0,0,0,0,0,0, - 0,-434,0,0,0,0,0,0,0,0, - -224,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-126,0,0,0,0,0, + 0,0,0,-47,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-265,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-370, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-266,0,-326, + 0,0,0,0,0,0,0,0,-490,-492, + -340,-378,0,0,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,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,-424,0, - 0,0,0,0,-436,0,0,0,0,0, + 0,0,0,0,0,-370,0,0,0,0, + 0,-284,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-184,0, + 0,0,0,0,0,0,-351,0,0,0, + 0,0,0,0,-393,-331,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,-419,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-68,0,0,0,0,-204, - 0,0,0,0,0,0,0,0,-445,0, - 0,0,-184,0,0,0,0,0,0,0, - 0,0,0,0,-191,0,0,0,-201,0, - 0,0,0,0,0,-210,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-438, - -487,0,0,0,0,0,-448,0,0,0, - 0,0,0,-258,0,0,0,0,0,0, - -490,0,0,0,0,0,-449,0,0,0, - 0,0,0,-495,0,0,0,0,0,0, + -215,0,0,-428,0,0,0,0,0,-436, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -266,0,0,0,0,0,0,0,0,0, 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,-388,0,0,0,0,0,0,0,0, + 0,0,0,0,-326,0,0,0,0,0, + 0,-408,0,0,0,-411,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-216,0,0,0,0,0,0,0, + -426,0,0,0,0,0,-352,0,0,0, + 0,0,-217,0,0,0,0,0,0,0, + -204,0,0,0,0,0,0,0,0,-405, + 0,0,0,0,0,0,-438,0,0,0, + 0,0,0,0,0,0,0,-439,0,0, + 0,0,0,0,0,0,0,0,-447,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-508,0, + 0,0,0,-68,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-191,0, + 0,0,0,0,-450,0,0,0,0,0, + 0,0,0,0,-201,0,0,0,0,-210, + 0,0,0,-451,0,-497,0,0,0,0, + 0,0,0,-258,0,0,0,0,0,0, + 0,0,0,0,0,0,-291,0,0,0, + 0,0,-523,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -550,7 +531,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -560,557 +541,538 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface BaseAction { public final static char baseAction[] = { - 174,4,136,83,83,32,32,67,67,38, - 38,40,40,200,1,1,15,15,15,15, + 174,4,136,81,81,32,32,67,67,38, + 38,42,42,200,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,65,65,5,5, 12,12,44,44,137,137,138,57,57,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 139,139,139,115,115,18,18,18,18,18, + 139,139,139,113,113,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, 175,175,176,176,177,142,142,143,143,140, 140,144,141,141,20,20,21,21,23,23, 23,24,24,24,24,25,25,25,26,26, 26,27,27,27,27,27,28,28,28,30, 30,31,31,33,33,35,35,36,36,37, - 37,42,42,41,41,41,41,41,41,41, - 41,41,41,41,41,41,39,29,145,145, - 97,97,178,178,92,201,201,68,68,68, + 37,41,41,40,40,40,40,40,40,40, + 40,40,40,40,40,40,39,29,145,145, + 95,95,178,178,90,201,201,68,68,68, 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,103,103, + 66,56,56,179,179,70,70,70,101,101, 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,84,84,84,84,84,84, - 84,84,50,50,50,50,50,116,116,114, - 114,51,182,22,22,22,22,22,48,48, - 87,87,87,87,87,152,152,147,147,147, + 72,72,73,73,82,82,82,82,82,82, + 82,82,50,50,50,50,50,114,114,112, + 112,51,182,22,22,22,22,22,48,48, + 85,85,85,85,85,152,152,147,147,147, 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,88,88,88,88,88,89, - 89,89,13,13,13,13,13,13,13,13, - 13,13,13,98,120,120,120,120,120,120, - 118,118,118,153,119,119,183,155,155,154, - 154,122,122,104,79,79,80,81,53,47, - 156,156,54,52,86,86,157,157,146,146, - 123,124,124,125,76,76,158,158,63,63, - 63,60,60,59,64,64,75,75,58,58, - 58,49,90,90,100,99,99,62,62,61, - 61,55,55,45,101,101,101,93,93,93, - 94,94,95,95,95,96,96,105,105,105, - 107,107,106,106,202,202,91,91,185,185, - 185,185,185,127,46,46,160,184,184,128, - 128,128,128,129,162,186,186,34,34,117, - 130,130,130,130,188,109,108,108,121,121, - 121,163,164,164,164,164,164,164,164,164, + 150,151,151,151,86,86,86,86,86,87, + 87,87,13,13,13,13,13,13,13,13, + 13,13,13,96,118,118,118,118,118,118, + 116,116,116,153,117,117,183,155,155,154, + 154,120,120,102,79,79,121,53,47,156, + 156,54,52,84,84,157,157,146,146,122, + 123,123,124,76,76,158,158,63,63,63, + 60,60,59,64,64,75,75,58,58,58, + 49,88,88,98,97,97,62,62,61,61, + 55,55,45,99,99,99,91,91,91,92, + 92,93,93,93,94,94,103,103,103,105, + 105,104,104,202,202,89,89,185,185,185, + 185,185,126,46,46,160,184,184,127,127, + 128,128,128,129,162,186,186,34,34,115, + 130,130,130,130,188,107,106,106,119,119, + 119,163,164,164,164,164,164,164,164,164, 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,111,110,110,192, - 192,168,168,168,168,102,102,102,193,193, + 166,166,166,166,167,191,109,108,108,192, + 192,168,168,168,168,100,100,100,193,193, 8,8,9,194,194,195,169,159,159,170, 170,171,172,172,7,7,10,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,77, - 82,82,173,173,132,132,133,133,133,133, - 133,133,3,134,134,131,131,112,112,85, - 78,74,161,161,113,113,197,197,197,135, - 135,126,126,198,198,174,174,1119,35,1697, - 1679,1278,2639,27,30,31,966,1000,26,28, - 1664,25,23,50,1209,106,76,77,108,1964, - 1229,1264,1254,1307,1272,1395,236,1368,1439,1982, - 1413,273,1456,1464,143,1243,35,396,158,144, - 1217,35,943,32,71,2876,27,30,31,966, - 1000,57,28,588,3371,3121,35,943,32,232, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,1267,1229,1264, - 1254,1307,1272,1965,235,230,231,588,1525,1636, - 34,3121,35,943,32,274,3973,27,30,31, - 966,1000,26,28,866,25,23,50,1209,106, - 76,77,85,2023,242,245,248,251,1176,2079, - 35,277,56,666,1643,2773,690,876,1860,35, - 943,32,523,2876,27,30,31,966,1000,56, - 28,2168,569,3055,2574,2862,2915,3155,3209,4668, - 2316,35,943,32,2980,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,343,1229,1264,1254,1307,1272,1395,61, - 1368,1439,1623,1413,2687,1456,1464,143,327,35, - 279,517,144,4905,1279,860,588,35,1636,2547, - 1010,929,35,1507,388,518,2316,35,943,32, - 2980,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,106,76,77,108,343,1229, - 1264,1254,1307,1272,1395,49,1368,1439,70,1413, - 1873,1456,1464,143,1499,2460,287,517,144,588, - 2773,860,327,35,279,920,1599,4909,3205,736, - 3373,518,513,2344,35,943,32,60,4916,27, - 30,31,966,1000,26,28,135,511,2145,2774, - 1773,2433,2493,498,2439,4893,2316,35,943,32, - 2980,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,106,76,77,108,343,1229, - 1264,1254,1307,1272,1395,353,1368,1439,513,1413, - 2147,1456,1464,143,3433,2609,1016,517,144,2453, - 920,860,588,35,2932,2446,1330,2447,333,1017, - 2439,518,2524,35,943,32,2980,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,108,343,1229,1264,1254,1307,1272, - 1395,288,1368,1439,2049,1413,1494,1456,1464,143, - 588,35,2573,517,144,2122,1614,860,142,69, - 3517,1947,35,277,4116,352,2121,518,513,1715, - 35,943,32,2681,4916,27,30,31,966,1000, - 59,28,404,344,959,780,349,2468,497,1699, - 2439,342,2659,35,943,32,2682,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,108,1988,1229,1264,1254,1307,1272, - 1395,443,1368,1439,514,1413,2645,1456,1464,143, - 2683,2228,3618,379,144,2385,35,943,32,1010, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,1666,1229,1264, - 1254,1307,1272,1395,354,1368,1439,2848,1413,1868, - 1456,1464,143,3268,1604,3618,379,144,2129,1975, - 3121,35,943,32,3391,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,1621,1229,1264,1254,1307,1272,1395,69, - 1368,1439,402,1413,3032,1456,2511,164,1795,2122, - 385,2470,460,429,3517,2591,35,943,32,322, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,2895,1229,1264, - 1254,1307,1272,1395,1173,1368,1439,2747,1413,135, - 1456,1464,143,386,2470,3618,379,144,588,35, - 1636,276,2098,2750,2887,35,943,32,3202,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,108,389,1229,1264,1254, - 1307,1272,1395,2580,1368,1439,1229,1413,329,1456, - 1464,143,2449,35,280,158,144,3121,35,943, - 32,1666,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,2245, - 1229,1264,1254,1307,1272,1395,93,1368,1439,1988, - 1413,2244,2186,377,2470,2887,35,943,32,413, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,2839,1229,1264, - 1254,1307,1272,1395,1445,1368,1439,430,1413,2433, - 1456,1464,143,241,64,2050,373,144,1715,35, - 943,32,2284,4916,27,30,31,966,1000,58, - 28,1543,35,1636,276,2887,35,943,32,569, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,587,1229,1264, - 1254,1307,1272,1395,88,1368,1439,102,1413,1010, - 1456,1464,143,588,35,282,373,144,135,1079, - 2887,35,943,32,421,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,372,1229,1264,1254,1307,1272,1395,2438, - 1368,1439,2747,1413,2506,1456,1464,143,494,390, - 427,373,144,2457,35,943,32,2768,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,1355,1229,1264,1254,1307, - 1272,1395,459,1368,1439,312,1413,56,1456,1464, - 143,746,371,400,142,144,1537,2887,35,943, - 32,1623,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,1226, - 1229,1264,1254,1307,1272,1395,1048,1368,1439,1721, - 1413,56,1456,1464,143,826,1146,369,159,144, - 2887,35,943,32,1617,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,1625,1229,1264,1254,1307,1272,1395,1627, - 1368,1439,1721,1413,56,1456,1464,143,4691,1174, - 1614,155,144,2887,35,943,32,2690,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,1323,1229,1264,1254,1307, - 1272,1395,4340,1368,1439,1721,1413,69,1456,1464, - 143,2615,3223,1441,154,144,2887,35,943,32, - 160,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,106,76,77,108,676,1229, - 1264,1254,1307,1272,1395,356,1368,1439,159,1413, - 135,1456,1464,143,531,588,3264,153,144,2887, - 35,943,32,848,3973,27,30,31,966,1000, - 26,28,866,25,23,50,1209,106,76,77, - 108,1167,1229,1264,1254,1307,1272,1395,355,1368, - 1439,159,1413,69,1456,1464,143,531,3443,3462, - 152,144,2887,35,943,32,2691,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,108,523,1229,1264,1254,1307,1272, - 1395,323,1368,1439,1503,1413,2627,1456,1464,143, - 531,4813,1614,151,144,2887,35,943,32,3321, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,1453,1229,1264, - 1254,1307,1272,1395,24,1368,1439,408,1413,56, - 1456,1464,143,2664,580,1614,150,144,2887,35, - 943,32,1015,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,108, - 381,1229,1264,1254,1307,1272,1395,69,1368,1439, - 1700,1413,56,1456,1464,143,984,1787,1614,149, - 144,2887,35,943,32,1223,3973,27,30,31, - 966,1000,26,28,866,25,23,50,1209,106, - 76,77,108,380,1229,1264,1254,1307,1272,1395, - 68,1368,1439,1010,1413,56,1456,1464,143,664, - 2552,1614,148,144,2887,35,943,32,1385,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,108,314,1229,1264,1254, - 1307,1272,1395,53,1368,1439,1010,1413,406,1456, - 1464,143,1088,2552,1559,147,144,2887,35,943, - 32,2728,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,1875, - 1229,1264,1254,1307,1272,1395,4362,1368,1439,1965, - 1413,299,1456,1464,143,1243,35,396,146,144, - 2887,35,943,32,666,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,2022,1229,1264,1254,1307,1272,1395,51, - 1368,1439,1010,1413,69,1456,1464,143,438,4819, - 1614,145,144,2832,35,943,32,2728,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,522,1229,1264,1254,1307, - 1272,1395,87,1368,1439,1709,1413,1010,1456,2511, - 164,2887,35,943,32,1330,3973,27,30,31, - 966,1000,26,28,866,25,23,50,1209,106, - 76,77,108,3056,1229,1264,1254,1307,1272,1395, - 2491,1368,1439,559,1413,326,1456,1464,143,71, - 3031,2558,140,144,56,3200,327,1701,1144,2131, - 447,3005,35,943,32,1922,3973,27,30,31, - 966,1000,26,28,866,25,23,50,1209,106, - 76,77,108,156,1229,1264,1254,1307,1272,1395, - 97,1368,1439,1836,1413,69,1456,1464,143,1818, - 4825,1088,189,144,3121,35,943,32,1703,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,108,1334,1229,1264,1254, - 1307,1272,1395,486,1368,1439,4460,1413,1010,1456, - 2511,164,3121,35,943,32,447,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,108,2228,1229,1264,1254,1307,1272, - 1395,69,1368,1439,1374,1413,4843,1456,2511,164, - 1500,35,943,32,2556,322,41,30,31,966, - 1000,2228,3121,35,943,32,423,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,108,522,1229,1264,1254,1307,1272, - 1395,98,1368,1439,1330,1413,1515,1456,2511,164, - 3121,35,943,32,292,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,284,1229,1264,1254,1307,1272,1395,324, - 1368,1439,1541,1413,3464,1456,2511,164,2407,35, - 943,32,2380,322,40,30,31,966,1000,1883, - 3176,35,943,32,422,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,2121,1229,1264,1254,1307,1272,1395,69, - 1368,1439,2552,1413,4889,1456,2511,164,3121,35, - 943,32,425,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,108, - 285,1229,1264,1254,1307,1272,1395,325,1368,1439, - 221,2093,2407,35,943,32,2125,2551,1800,30, - 31,966,1000,588,35,1507,388,2312,3121,35, - 943,32,3222,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,108, - 1614,1229,1264,1254,1307,1272,1395,431,1368,2017, - 3121,35,943,32,2276,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,52,1229,1264,1254,1307,1272,1395,2413, - 2068,1518,35,943,32,3640,3513,27,30,31, - 966,1000,339,28,3121,35,943,32,322,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,108,3077,1229,1264,1254, - 1307,2000,56,2306,1351,2433,1144,2417,2580,2139, - 2453,2753,588,35,1507,388,142,2347,2484,332, - 319,2232,321,1096,314,2144,2407,35,943,32, - 2149,2720,1843,30,31,966,1000,313,2453,351, - 1330,757,35,1507,388,297,452,3121,35,943, - 32,4603,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,2541, - 1229,1264,1254,1307,2011,273,1243,35,2583,2317, - 3701,49,352,2228,306,310,1221,1400,35,943, - 32,3588,3333,27,30,31,966,1000,339,28, - 344,959,780,349,588,35,293,2272,2697,1817, - 49,588,35,1507,388,391,427,2418,3043,1499, - 872,588,2754,1636,74,3348,1888,35,943,32, - 4760,3333,27,30,31,966,1000,339,28,2594, - 2552,42,2539,2515,3347,49,319,2232,321,89, - 314,2144,102,2218,46,1983,72,239,351,1250, - 4893,2305,352,2684,2553,1898,35,2854,32,3640, - 3513,27,30,31,966,1000,339,28,303,1790, - 344,959,780,349,928,319,2232,321,2674,314, - 2144,1543,35,1636,2756,2271,2371,2440,322,2154, - 2693,352,3216,4487,2453,2465,232,1330,3241,2212, - 35,1507,388,333,2453,588,35,1636,278,344, - 959,780,349,332,319,2232,321,2697,314,2144, - 352,240,230,231,2234,327,35,453,2980,3564, - 3600,1143,2234,49,1714,2609,2980,2912,346,959, - 780,349,1499,2059,1906,4603,2517,588,35,1636, - 2776,2228,2541,3621,2517,296,3205,1614,3121,35, - 943,32,366,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,108, - 1614,1229,1264,1254,1765,3121,35,943,32,350, - 3973,27,30,31,966,1000,26,28,866,25, - 23,50,1209,106,76,77,108,2587,1229,1264, - 1254,1808,90,1375,2707,360,2614,2980,4893,2621, - 417,419,2849,360,44,2539,2716,2620,56,2988, - 2589,2591,3256,2654,2727,2517,2622,3300,2589,2591, - 3121,35,943,32,1044,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,108,2453,1229,1264,1254,1844,3121,35,943, - 32,332,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,1614, - 1229,1264,1254,1869,259,446,3008,3009,537,588, - 35,1636,281,2585,360,843,35,453,56,2729, - 3600,1614,1259,2624,2492,322,228,2980,2829,2589, - 2591,3214,1225,156,1643,2773,2272,588,35,1507, - 388,2731,180,3006,2912,2517,932,35,1507,388, - 203,215,4740,3312,202,212,213,214,216,1, - 169,1614,56,537,1614,2735,1144,1243,35,396, - 168,434,183,167,170,171,172,173,174,56, - 49,228,838,537,1614,1240,2834,2448,156,1499, - 2086,3616,304,67,232,2786,66,180,3006,2912, - 2646,343,2699,2471,2980,203,215,4740,156,202, - 212,213,214,216,361,169,65,2068,188,244, - 230,231,2517,2732,4629,168,181,184,167,170, - 171,172,173,174,2070,35,943,32,3588,3333, - 27,30,31,966,1000,339,28,232,1614,182, - 3231,35,1507,388,2433,741,287,322,1614,1363, - 35,943,32,237,3513,27,30,31,966,1000, - 339,28,247,230,231,3293,2552,2717,2747,2739, - 64,537,3839,2889,273,450,3008,3009,2233,2774, - 3461,505,2249,319,2232,321,1144,314,2144,3868, - 1330,1330,932,35,1507,388,156,2755,2453,352, - 526,3349,232,2751,179,180,3006,333,319,2232, - 321,156,315,2144,382,2790,2791,344,959,780, - 349,535,502,504,352,527,49,235,230,231, - 2912,2912,1614,195,2782,1499,47,56,274,2789, - 87,2435,346,959,780,349,525,376,2433,1182, - 2757,588,35,293,393,427,2761,242,245,248, - 251,1176,2763,2947,55,1614,3066,35,943,32, - 876,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,86,76,77,2574,2862,2915, - 3155,3209,4668,3121,35,943,32,54,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,1606,1229,1264,1879,3121, - 35,943,32,2552,3973,27,30,31,966,1000, - 26,28,866,25,23,50,1209,106,76,77, - 108,345,1229,1264,1912,537,2765,2444,3883,196, - 2646,374,2552,2715,2980,3727,541,2980,392,427, - 56,198,1778,228,2864,588,35,1507,388,1780, - 156,2769,2517,173,56,343,1614,232,3576,180, - 3006,2912,2792,929,35,1507,388,203,215,4740, - 197,202,212,213,214,216,431,169,796,273, - 537,2552,250,230,231,1330,1614,168,322,3259, - 167,170,171,172,173,174,737,49,228,2788, - 588,35,1507,388,2793,156,1499,47,1607,1578, - 1761,232,2773,4893,180,3006,2912,2798,101,302, - 1323,505,203,215,4740,2912,202,212,213,214, - 216,517,169,2799,273,537,253,230,231,2110, - 1614,524,168,275,178,167,170,171,172,173, - 174,1354,56,228,1337,1144,1219,2453,3956,1614, - 156,56,503,504,1390,3863,4649,5505,1851,180, - 3006,2912,3545,929,35,1507,388,203,215,4740, - 160,202,212,213,214,216,603,169,56,56, - 537,2570,2984,3088,5505,328,335,168,340,176, - 167,170,171,172,173,174,56,49,228,5505, - 2980,2552,1614,1607,2446,156,1499,2448,4893,56, - 5505,5505,5505,2672,180,3006,2912,442,343,456, - 3260,1785,203,215,4740,2980,202,212,213,214, - 216,689,169,56,451,537,529,1144,1801,201, - 94,860,168,343,177,167,170,171,172,173, - 174,1550,2453,228,588,35,1507,388,5505,5505, - 156,332,156,1607,5505,5505,1039,5505,4893,180, - 3006,2912,2134,932,35,1507,388,203,215,4740, - 5505,202,212,213,214,216,775,169,433,5505, - 537,56,56,820,56,3992,4009,168,3873,187, - 167,170,171,172,173,174,2775,49,228,56, - 2980,5505,2453,2930,56,156,1499,47,1937,56, - 5505,332,5505,1449,180,3006,2912,56,343,5505, - 2456,1492,203,215,4740,5505,202,212,213,214, - 216,5505,169,929,35,1507,388,929,35,1507, - 388,3882,168,2585,3299,167,170,171,172,173, - 174,1952,35,943,32,3640,3333,27,30,31, - 966,1000,339,28,56,56,2717,49,537,4053, - 1144,49,588,35,1507,388,1499,2626,861,2647, - 1499,47,537,2980,56,56,343,1752,3980,3559, - 3260,5505,5505,156,2323,156,737,5505,56,5505, - 228,2517,1842,1672,200,3633,432,156,1607,860, - 319,2232,321,4893,314,2144,180,3006,2912,1500, - 929,35,1507,388,203,215,4740,313,202,212, - 213,214,216,947,169,56,1614,537,56,1535, - 5505,56,2987,5505,168,2061,192,167,170,171, - 172,173,174,2552,49,228,5505,2453,3956,5505, - 1607,5505,156,1499,47,4893,332,5505,378,5505, - 505,180,3006,2912,306,310,1221,2442,56,203, - 215,4740,2980,202,212,213,214,216,1033,169, - 56,199,537,3899,1144,3489,335,3896,2989,168, - 343,186,167,170,171,172,173,174,3043,2453, - 228,502,504,2129,35,293,2481,156,332,156, - 1144,56,5505,860,5505,962,180,3006,2912,2891, - 5505,5505,5505,1568,203,215,4740,5505,202,212, - 213,214,216,5505,169,156,5505,2552,5505,5505, - 4616,5505,3187,3321,168,162,194,167,170,171, - 172,173,174,3121,35,943,32,5505,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,298,1229,1707,3121,35, - 943,32,5505,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,108, - 5505,1229,1714,3121,35,943,32,2184,3973,27, - 30,31,966,1000,26,28,866,25,23,50, - 1209,106,76,77,108,5505,1722,3121,35,943, - 32,5505,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,108,1614, - 1750,3121,35,943,32,5505,3973,27,30,31, - 966,1000,26,28,866,25,23,50,1209,106, - 76,77,108,1562,1757,56,1614,2980,56,1144, - 1614,3401,3531,1823,3946,5505,1614,2980,2129,2925, - 293,5505,2447,2722,56,228,2964,537,2980,5505, - 5505,5505,2552,5505,156,228,2552,2552,3456,1614, - 5505,1614,3558,1354,2894,343,343,1144,3030,205, - 215,4740,156,204,212,213,214,216,3321,205, - 215,4740,188,204,212,213,214,216,4629,860, - 3696,3245,160,3897,222,193,5505,5505,5505,1593, - 206,208,210,294,295,2635,1614,217,207,209, - 206,208,210,294,295,2635,737,217,207,209, - 2062,35,2854,32,3640,3333,27,30,31,966, - 1000,339,28,1976,35,1507,388,2408,3668,4404, - 1910,5505,2184,5505,2980,5505,190,2628,5505,4404, - 5505,5505,737,1354,5505,5505,5505,1144,5505,5505, - 2350,5505,228,5505,5505,5505,1354,49,1354,737, - 1144,5505,1144,5505,5505,5505,1499,936,3956,319, - 2232,321,160,314,2144,5505,205,215,4740,5505, - 204,212,213,214,216,160,1143,160,1691,35, - 943,32,3640,3333,27,30,31,966,1000,339, - 28,5505,5505,737,3956,334,335,206,208,210, - 294,295,2635,3892,217,207,209,3121,1525,943, - 1543,3956,3973,27,30,31,966,1000,26,28, - 866,25,23,50,1209,106,76,77,84,5505, - 3072,3497,335,5505,2855,5505,4404,319,2232,321, - 5505,314,2144,3105,5505,3246,5505,5505,330,335, - 5505,5505,5505,5505,313,3956,588,35,1507,388, - 5505,5505,5505,5505,5505,418,419,2849,3121,35, - 943,32,5505,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,83, - 49,5505,3615,335,5505,5505,5505,5505,5505,1499, - 734,307,310,1221,3121,35,943,32,5505,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,82,3121,35,943,32, - 5505,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,106,76,77,81,3121,35, - 943,32,5505,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,80, - 3121,35,943,32,5505,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,79,3121,35,943,32,5505,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,78,2950,35,943,32,5505,3973, - 27,30,31,966,1000,26,28,866,25,23, - 50,1209,106,76,77,104,3121,35,943,32, - 5505,3973,27,30,31,966,1000,26,28,866, - 25,23,50,1209,106,76,77,110,3121,35, - 943,32,5505,3973,27,30,31,966,1000,26, - 28,866,25,23,50,1209,106,76,77,109, - 3121,35,943,32,5505,3973,27,30,31,966, - 1000,26,28,866,25,23,50,1209,106,76, - 77,107,3121,35,943,32,5505,3973,27,30, - 31,966,1000,26,28,866,25,23,50,1209, - 106,76,77,105,1997,56,56,5505,2980,1144, - 1144,5505,5505,5505,1649,5505,5505,5505,2980,5505, - 5505,5505,5505,5505,1736,5505,228,5505,2980,5505, - 5505,5505,5505,5505,156,156,228,5505,5505,5505, - 5505,5505,5505,5505,2914,2978,228,5505,5505,5505, - 205,215,4740,5505,204,212,213,214,216,5505, - 205,215,4740,5505,204,212,213,214,216,5505, - 205,215,4740,5505,204,212,213,214,216,5505, - 1330,206,208,210,294,295,2635,5505,520,207, - 209,206,208,210,294,295,2635,5505,519,207, - 209,206,208,210,294,295,2635,2084,218,207, - 209,2980,56,5505,5505,5505,1144,2171,5505,5505, - 2912,2980,5505,5505,5505,5505,5505,56,56,228, - 5505,537,2980,5505,5505,5505,376,5505,5505,228, - 5505,156,5505,5505,5505,5505,5505,5505,5505,343, - 343,1967,5505,205,215,4740,156,204,212,213, - 214,216,5505,205,215,4740,1758,204,212,213, - 214,216,860,860,5505,5505,5505,5505,5505,5505, - 5505,5505,1715,1611,206,208,210,294,295,2635, - 5505,305,207,209,206,208,210,294,295,2635, - 5505,499,207,209,1691,35,943,32,3640,3333, - 27,30,31,966,1000,339,28,5505,5505,5505, - 5505,5505,5505,2156,35,943,32,5505,3513,27, - 30,31,966,1000,339,28,2156,35,943,32, - 3578,3513,27,30,31,966,1000,339,28,1691, - 35,943,32,3640,3333,27,30,31,966,1000, - 339,28,5505,319,2232,321,5505,314,2144,2034, - 5505,5505,2453,5505,4893,56,5505,5505,5505,1144, - 3216,333,319,2232,321,2453,317,2144,3280,35, - 1507,388,5505,741,333,319,2232,321,5505,315, - 2144,238,1354,5505,156,5505,1144,5505,319,2232, - 321,1180,314,2144,3901,2980,4954,5505,2453,5505, - 5505,5505,273,5505,5505,3277,5505,4649,5505,5505, - 5505,160,5505,228,5505,1490,35,943,32,2595, - 3333,27,30,31,966,1000,339,28,5505,5505, - 232,5505,5505,5505,5505,5505,5505,914,407,4715, - 2236,35,943,32,2391,3333,27,30,31,966, - 1000,339,28,403,5505,236,230,231,1285,5505, - 1375,5505,2980,4954,2980,4893,274,5505,408,409, - 410,294,295,2635,316,2767,321,5505,5505,3372, - 228,5505,2517,5505,5505,243,246,249,252,1176, - 5505,96,5505,2625,5505,5505,5505,5505,876,316, - 2767,321,5505,5505,914,407,4715,5505,5505,2453, - 5505,5505,5505,929,35,1507,388,5505,332,2151, - 35,1507,388,5505,5505,929,35,1507,388,5505, - 5505,5505,5505,5505,5505,408,409,410,294,295, - 2635,5505,5505,929,35,1507,388,49,5505,5505, - 2989,360,5505,49,411,413,1499,47,5505,49, - 2625,5505,1499,47,5505,2829,2589,2591,1499,47, - 2867,5505,5505,3324,5505,56,2534,49,1099,537, - 56,4758,3424,5505,2980,5505,1499,47,5505,2164, - 35,1507,388,588,35,1507,388,343,3324,5505, - 3552,5505,343,5505,156,588,35,1507,388,588, - 35,1507,388,5505,1672,5505,588,35,1507,388, - 860,411,414,49,5505,860,5505,49,5505,5505, - 1930,5505,1499,47,5505,2851,1499,816,5505,49, - 2208,56,5505,49,2980,537,3091,56,1499,931, - 49,2980,1499,659,588,35,1507,388,5505,1499, - 936,56,343,343,5505,537,5505,56,5505,343, - 156,2980,530,5505,56,5505,5505,5505,2980,5505, - 188,5505,5505,343,5505,860,4629,5505,49,343, - 156,5505,860,5505,5505,533,343,1499,2262,5505, - 188,5505,509,5505,5505,5505,4629,5505,5505,5505, - 5505,5505,860,5505,5505,5505,5505,5505,5505,860, - 5505,5505,507,5505,5505,5505,5505,5505,5505,534, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,3866,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,3870,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,5505,3374,5505, - 0,39,5520,0,39,5519,0,662,29,0, - 440,1407,0,454,1451,0,38,627,0,38, - 5520,0,38,5519,0,2780,126,0,1,444, - 0,458,1009,0,457,1319,0,2432,91,0, - 662,387,0,35,33,0,32,34,0,39, - 627,0,1,929,0,1,5777,0,1,5776, - 0,1,5775,0,1,5774,0,1,5773,0, - 1,5772,0,1,5771,0,1,5770,0,1, - 5769,0,1,5768,0,1,5767,0,39,1, - 5520,0,39,1,5519,0,2140,1,0,283, - 394,0,283,286,0,5739,241,0,5738,241, - 0,5843,241,0,5842,241,0,5766,241,0, - 5765,241,0,5764,241,0,5763,241,0,5762, - 241,0,5761,241,0,5760,241,0,5759,241, - 0,5777,241,0,5776,241,0,5775,241,0, - 5774,241,0,5773,241,0,5772,241,0,5771, - 241,0,5770,241,0,5769,241,0,5768,241, - 0,5767,241,0,39,5520,241,0,39,5519, - 241,0,5543,241,0,5520,48,0,5519,48, - 0,5511,1,0,5510,1,0,3311,237,0, - 32,388,0,29,387,0,43,5541,0,43, - 37,0,2780,128,0,2780,127,0,331,445, - 0,5543,1,0,39,1,0,47,37,0, - 1,92,0,501,2630,0,5543,1,229,0, - 39,1,229,0,229,416,0,5520,37,0, - 5519,37,0,5520,2,37,0,5519,2,37, - 0,5520,36,0,5519,36,0,5541,45,0, - 37,45,0,5515,405,0,5514,405,0,1, - 4584,0,1,3193,0,1,627,0,229,415, - 0,3379,318,0,331,95,0,35,73,0, - 1,331,0,3993,278,0,501,4394,0,1, - 229,0,229,220,0,229,219,0,1,575, - 0,1,1885,0,5517,1,0,5513,1,0, - 1,229,3079,0,5514,229,0,3080,229,0, - 5517,383,0,5516,383,0,3213,229,0,10, - 12,0,8,10,12,0,185,3613,0,3314, - 383,0,8,12,0 + 80,80,173,173,132,132,133,133,133,133, + 133,133,3,134,134,131,131,110,110,83, + 78,74,161,161,111,111,197,197,197,135, + 135,125,125,198,198,174,174,1119,35,2254, + 2178,1278,2968,27,30,31,1029,1116,26,28, + 2125,25,23,50,1126,106,76,77,108,2039, + 1235,1409,1339,1496,1486,1552,135,1510,1612,71, + 1570,273,1678,1720,143,1267,135,158,144,588, + 35,3107,1888,35,1011,32,4655,3461,27,30, + 31,1029,1116,338,28,588,1846,2070,34,232, + 1614,1691,35,1011,32,4697,3461,27,30,31, + 1029,1116,338,28,350,3149,588,35,1839,388, + 588,3372,235,230,231,328,2129,926,1500,35, + 1011,32,497,274,41,30,31,1029,1116,241, + 2717,318,2091,320,1189,313,2002,588,35,282, + 49,1614,242,245,248,251,1145,351,3160,46, + 318,2091,320,2023,313,2002,1599,738,1666,156, + 3559,2154,322,343,865,806,348,3160,200,3845, + 1330,1874,559,4136,3127,870,2094,3441,3615,4355, + 2316,35,1011,32,2880,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,342,1235,1409,1339,1496,1486,1552,142, + 1510,1612,2804,1570,2147,1678,1720,143,4207,135, + 517,144,327,35,279,724,3687,4799,1330,389, + 288,929,35,1839,388,518,2316,35,1011,32, + 2880,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,342,1235, + 1409,1339,1496,1486,1552,49,1510,1612,1708,1570, + 1540,1678,1720,143,1804,3026,517,144,327,35, + 279,724,1451,4815,2079,35,277,221,3433,351, + 513,518,1217,35,1011,32,1873,3098,27,30, + 31,1029,1116,57,28,343,865,806,348,2615, + 1607,2987,626,341,2993,4499,1750,2316,35,1011, + 32,2880,2979,27,30,31,1029,1116,26,28, + 912,25,23,50,1126,106,76,77,108,342, + 1235,1409,1339,1496,1486,1552,513,1510,1612,2729, + 1570,443,1678,1720,143,1699,1279,517,144,3014, + 1225,1017,724,588,35,2070,3097,3003,4304,2168, + 2993,352,518,2524,35,1011,32,2880,2979,27, + 30,31,1029,1116,26,28,912,25,23,50, + 1126,106,76,77,108,342,1235,1409,1339,1496, + 1486,1552,1016,1510,1612,159,1570,56,1678,1720, + 143,1189,69,517,144,56,1330,4364,724,690, + 579,873,232,588,35,2463,2331,513,518,314, + 353,61,1860,35,1011,32,2000,3098,27,30, + 31,1029,1116,56,28,244,230,231,3055,381, + 88,2993,94,102,2659,35,1011,32,1834,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,2121,1235,1409,1339, + 1496,1486,1552,514,1510,1612,2615,1570,2060,1678, + 1720,143,579,1010,378,144,3515,2385,35,1011, + 32,2493,2979,27,30,31,1029,1116,26,28, + 912,25,23,50,1126,106,76,77,108,2681, + 1235,1409,1339,1496,1486,1552,1221,1510,1612,438, + 1570,1868,1678,1720,143,820,4216,378,144,3515, + 1721,2256,2832,35,1011,32,1330,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,2042,1235,1409,1339,1496,1486, + 1552,60,1510,1612,498,1570,2271,1678,3063,164, + 4535,385,379,1280,3121,35,1011,32,3110,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,2682,1235,1409,1339, + 1496,1486,1552,2729,1510,1612,2245,1570,3366,1678, + 3063,164,3260,326,386,379,1280,89,819,56, + 102,3272,1916,1189,135,1229,2591,35,1011,32, + 3076,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,156,1235, + 1409,1339,1496,1486,1552,355,1510,1612,1832,1570, + 1721,1678,1720,143,2216,531,378,144,3515,2887, + 35,1011,32,2911,2979,27,30,31,1029,1116, + 26,28,912,25,23,50,1126,106,76,77, + 108,236,1235,1409,1339,1496,1486,1552,93,1510, + 1612,1330,1570,56,1678,1720,143,746,1614,158, + 144,2887,35,1011,32,413,2979,27,30,31, + 1029,1116,26,28,912,25,23,50,1126,106, + 76,77,108,1088,1235,1409,1339,1496,1486,1552, + 24,1510,1612,3293,1570,2582,1678,1720,143,2582, + 2049,372,144,376,379,1280,2887,35,1011,32, + 1330,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,1379,1235, + 1409,1339,1496,1486,1552,354,1510,1612,404,1570, + 2582,1678,1720,143,421,531,372,144,2344,35, + 1011,32,3705,4820,27,30,31,1029,1116,26, + 28,666,511,2694,559,2887,35,1011,32,1445, + 2979,27,30,31,1029,1116,26,28,912,25, + 23,50,1126,106,76,77,108,371,1235,1409, + 1339,1496,1486,1552,522,1510,1612,1960,1570,2655, + 1678,1720,143,390,427,372,144,391,427,69, + 2457,35,1011,32,3102,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,370,1235,1409,1339,1496,1486,1552,64, + 1510,1612,1330,1570,2587,1678,1720,143,393,427, + 142,144,2887,35,1011,32,322,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,70,1235,1409,1339,1496,1486, + 1552,69,1510,1612,2804,1570,3457,1678,1720,143, + 2655,368,159,144,2887,35,1011,32,525,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,2284,1235,1409,1339, + 1496,1486,1552,284,1510,1612,587,1570,56,1678, + 1720,143,827,1614,155,144,2887,35,1011,32, + 494,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,4412,1235, + 1409,1339,1496,1486,1552,69,1510,1612,447,1570, + 56,1678,1720,143,3330,1614,154,144,2887,35, + 1011,32,1355,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 400,1235,1409,1339,1496,1486,1552,68,1510,1612, + 1330,1570,56,1678,1720,143,2805,322,153,144, + 2887,35,1011,32,322,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,1226,1235,1409,1339,1496,1486,1552,4720, + 1510,1612,2804,1570,56,1678,1720,143,998,447, + 152,144,2887,35,1011,32,524,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,285,1235,1409,1339,1496,1486, + 1552,295,1510,1612,1614,1570,56,1678,1720,143, + 3200,1614,151,144,2887,35,1011,32,1146,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,53,1235,1409,1339, + 1496,1486,1552,87,1510,1612,1010,1570,56,1678, + 1720,143,1990,1614,150,144,2887,35,1011,32, + 1617,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,1625,1235, + 1409,1339,1496,1486,1552,52,1510,1612,1010,1570, + 56,1678,1720,143,1265,322,149,144,2887,35, + 1011,32,1627,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 2244,1235,1409,1339,1496,1486,1552,460,1510,1612, + 1010,1570,56,1678,1720,143,1269,322,148,144, + 2887,35,1011,32,1174,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,294,1235,1409,1339,1496,1486,1552,459, + 1510,1612,1010,1570,56,1678,1720,143,3368,2683, + 147,144,2887,35,1011,32,1323,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,303,1235,1409,1339,1496,1486, + 1552,4158,1510,1612,1614,1570,56,1678,1720,143, + 2815,322,146,144,2887,35,1011,32,1441,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,349,1235,1409,1339, + 1496,1486,1552,51,1510,1612,1010,1570,56,1678, + 1720,143,3210,160,145,144,2887,35,1011,32, + 676,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,382,1235, + 1409,1339,1496,1486,1552,1721,1510,1612,848,1570, + 69,1678,1720,143,311,3579,140,144,3005,35, + 1011,32,1167,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 737,1235,1409,1339,1496,1486,1552,325,1510,1612, + 1614,1570,2551,1678,1720,143,1604,1614,189,144, + 3121,35,1011,32,1010,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,90,1235,1409,1339,1496,1486,1552,1876, + 1510,1612,221,1570,402,1678,3063,164,3121,35, + 1011,32,3323,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 2690,1235,1409,1339,1496,1486,1552,323,1510,1612, + 322,1570,1390,1678,3063,164,1369,327,334,2481, + 531,2380,2552,1189,1240,97,3121,35,1011,32, + 423,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,156,1235, + 1409,1339,1496,1486,1552,1503,1510,1612,162,1570, + 406,1678,3063,164,3121,35,1011,32,292,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,232,1235,1409,1339, + 1496,1486,1552,2627,1510,1612,324,1570,4666,1678, + 3063,164,588,35,2070,276,2552,1818,3321,247, + 230,231,3176,35,1011,32,422,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,380,1235,1409,1339,1496,1486, + 1552,666,1510,1612,298,1570,1010,1678,3063,164, + 3121,35,1011,32,425,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,2256,1235,1409,1339,1496,1486,1552,2135, + 1510,1612,2552,1570,1453,2836,2407,35,1011,32, + 588,3683,40,30,31,1029,1116,4183,3121,35, + 1011,32,3739,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 221,1235,1409,1339,1496,1486,1552,98,1510,1612, + 2221,2818,3121,35,1011,32,1614,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,71,1235,1409,1339,1496,1486, + 1552,142,1510,2724,3121,35,1011,32,1918,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,108,1792,1235,1409,1339, + 1496,1486,1552,2582,2816,3121,35,1011,32,408, + 2979,27,30,31,1029,1116,26,28,912,25, + 23,50,1126,106,76,77,108,580,1235,1409, + 1339,1496,1486,2636,1518,35,1011,32,4697,4507, + 27,30,31,1029,1116,338,28,3121,35,1011, + 32,1015,2979,27,30,31,1029,1116,26,28, + 912,25,23,50,1126,106,76,77,108,1700, + 1235,1409,1339,1496,2638,1351,588,3764,2585,1715, + 35,1011,32,3014,4820,27,30,31,1029,1116, + 59,28,331,318,2091,320,1960,313,2002,2407, + 35,1011,32,2693,1088,2092,30,31,1029,1116, + 312,392,427,757,35,1839,388,1787,3121,35, + 1011,32,4314,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 616,1235,1409,1339,1496,2689,1223,273,1385,1947, + 35,277,1543,35,2070,276,305,309,1780,1400, + 35,1011,32,4482,3461,27,30,31,1029,1116, + 338,28,588,3275,2070,74,1715,35,1011,32, + 2252,4820,27,30,31,1029,1116,58,28,1614, + 1559,3588,1543,35,2070,3278,1898,35,3390,32, + 4697,4507,27,30,31,1029,1116,338,28,3137, + 2819,2122,42,3094,2621,522,4642,1614,318,2091, + 320,67,313,2002,56,56,72,1964,2880,1310, + 2407,35,1011,32,351,3229,2176,30,31,1029, + 1116,588,35,1839,388,3014,342,1875,1965,66, + 343,865,806,348,331,318,2091,320,3223,313, + 2002,588,35,2070,278,3020,327,35,453,724, + 2022,4662,1123,56,1334,431,1709,1189,2491,1923, + 3121,35,1011,32,4314,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,3545,1235,1409,1339,2506,3121,35,1011, + 32,2163,2979,27,30,31,1029,1116,26,28, + 912,25,23,50,1126,106,76,77,108,2558, + 1235,1409,1339,2508,1243,35,3113,2249,523,2256, + 3066,35,1011,32,365,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,86,76, + 77,417,419,3388,1701,2449,35,280,49,588, + 35,2070,3379,588,35,2070,281,1804,933,429, + 1614,3121,35,1011,32,2006,2979,27,30,31, + 1029,1116,26,28,912,25,23,50,1126,106, + 76,77,108,3432,1235,1409,1339,2550,3121,35, + 1011,32,65,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 2733,1235,1409,1339,2607,259,446,3510,3521,537, + 719,1243,35,396,838,2234,1614,2208,2795,2880, + 2715,2880,1614,2121,2880,737,1703,228,486,56, + 843,35,453,2363,156,4662,56,2519,1374,342, + 3221,56,342,180,3333,537,1515,2804,64,530, + 2440,203,215,4629,2887,202,212,213,214,216, + 1,169,724,342,537,666,588,35,1839,388, + 156,168,533,183,167,170,171,172,173,174, + 1228,182,228,1643,35,293,724,3323,2459,156, + 3231,35,1839,388,1883,741,651,56,180,3333, + 452,3445,2804,237,359,2484,203,215,4629,2125, + 202,212,213,214,216,616,169,3618,2812,3121, + 3124,56,3237,334,273,4208,168,181,184,167, + 170,171,172,173,174,2070,35,1011,32,4482, + 3461,27,30,31,1029,1116,338,28,3121,35, + 1011,32,232,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,108, + 2256,1235,1409,2608,2413,235,230,231,2212,35, + 1839,388,2371,2415,2850,915,274,44,3094,1976, + 35,1839,388,1614,318,2091,320,2306,313,2002, + 450,3510,3521,2305,1056,242,245,248,251,1145, + 351,526,49,2453,442,3423,456,1643,3440,293, + 738,1804,2177,49,1096,55,343,865,806,348, + 2044,3149,1804,986,527,3433,2149,3127,870,2094, + 3441,3615,4355,3121,35,1011,32,2256,2979,27, + 30,31,1029,1116,26,28,912,25,23,50, + 1126,106,76,77,108,2487,1235,1409,2630,1363, + 35,1011,32,49,4507,27,30,31,1029,1116, + 338,28,3121,35,1011,32,1778,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,1817,1235,2369,2515,932,35, + 1839,388,932,35,1839,388,1614,2553,3014,915, + 56,56,2417,2218,4180,2880,3562,332,318,2091, + 320,1250,314,2002,2513,345,2646,3347,1056,537, + 2880,523,49,342,351,2646,49,2272,54,2880, + 239,1804,2634,797,350,1804,47,228,2519,1790, + 345,865,806,348,156,2473,724,2519,56,2725, + 1614,1354,3126,180,3333,1189,1930,2804,588,35, + 293,203,215,4629,2433,202,212,213,214,216, + 431,169,56,69,537,1614,1460,351,4691,232, + 160,168,321,3746,167,170,171,172,173,174, + 2050,3372,228,343,865,806,348,2691,2572,156, + 2060,1874,240,230,231,505,56,101,180,3333, + 537,2234,2804,1714,505,2880,203,215,4629,1906, + 202,212,213,214,216,517,169,56,342,537, + 56,1050,69,2519,1189,156,168,4727,178,167, + 170,171,172,173,174,1545,1664,228,502,504, + 69,724,2624,1614,156,4738,2880,503,504,156, + 3610,1503,2587,180,3333,2699,56,2804,2343,2828, + 2880,203,215,4629,2519,202,212,213,214,216, + 603,169,2647,56,537,3313,2880,4189,342,3449, + 2557,168,2707,176,167,170,171,172,173,174, + 359,56,228,56,2519,1180,1614,4297,2249,156, + 287,724,1189,737,3263,3121,3124,2552,180,3333, + 1180,1958,2804,2552,2880,4834,203,215,4629,2619, + 202,212,213,214,216,689,169,156,3327,537, + 996,360,228,3272,1426,3373,168,535,177,167, + 170,171,172,173,174,302,56,228,2050,3372, + 4199,179,2689,2716,156,69,1270,407,4418,2728, + 4749,505,56,180,3333,3323,3292,2804,2723,2122, + 2492,203,215,4629,4642,202,212,213,214,216, + 775,169,56,2732,537,2552,1253,408,409,410, + 3208,168,1614,187,167,170,171,172,173,174, + 333,334,228,2446,502,504,1243,35,396,156, + 3174,2739,2735,588,35,1839,388,2733,180,3333, + 2750,1606,2804,198,451,737,203,215,4629,2068, + 202,212,213,214,216,529,169,929,35,1839, + 388,929,35,1839,388,3703,168,273,3869,167, + 170,171,172,173,174,1952,35,1011,32,4697, + 3461,27,30,31,1029,1116,338,28,287,2163, + 2734,49,541,411,413,49,588,35,1839,388, + 1804,47,861,232,1804,2895,537,3323,56,56, + 2747,1983,1189,1955,647,56,4499,672,3496,1881, + 4601,2757,1587,3373,228,2552,250,230,231,275, + 273,156,3619,2761,318,2091,320,156,313,2002, + 180,3333,3311,334,2804,1614,1614,2549,203,215, + 4629,312,202,212,213,214,216,430,169,1607, + 3014,56,1375,197,4499,537,2880,4499,168,332, + 192,167,170,171,172,173,174,377,3345,932, + 35,1839,388,342,2519,56,351,947,2751,537, + 156,537,339,1243,35,396,1773,305,309,1780, + 188,4499,345,865,806,348,4340,342,3014,228, + 2552,3014,1614,49,156,1780,156,331,2787,2790, + 331,4186,1804,47,188,180,3333,56,2782,2804, + 4340,2880,3588,203,215,4629,2590,202,212,213, + 214,216,1033,169,3400,3014,537,3596,301,342, + 3511,359,2788,168,332,186,167,170,171,172, + 173,174,3546,87,228,2007,3121,3124,588,35, + 293,156,724,588,35,1839,388,232,2763,2765, + 180,3333,1972,2552,2804,2773,3612,56,203,215, + 4629,2464,202,212,213,214,216,2774,169,3827, + 253,230,231,2444,2791,56,173,434,168,964, + 194,167,170,171,172,173,174,3121,35,1011, + 32,201,2979,27,30,31,1029,1116,26,28, + 912,25,23,50,1126,106,76,77,108,2792, + 1235,2387,3121,35,1011,32,2793,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,108,2796,2411,3121,35,1011,32, + 3948,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,108,1761,2429, + 3121,35,1011,32,2797,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,108,2866,2477,2062,35,3390,32,4697,3461, + 27,30,31,1029,1116,338,28,2909,1691,35, + 1011,32,4697,3461,27,30,31,1029,1116,338, + 28,3121,35,1011,32,2552,2979,27,30,31, + 1029,1116,26,28,912,25,23,50,1126,106, + 76,77,85,588,35,1839,388,56,2447,2648, + 1337,3475,2925,318,2091,320,5316,313,2002,5316, + 5316,5316,5316,199,5316,5316,5316,318,2091,320, + 1123,313,2002,5316,1614,5316,5316,433,5316,5316, + 3121,1846,1011,1888,312,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,84,3121,35,1011,32,3502,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,83,588,35,1839,388,2552,5316, + 306,309,1780,3121,35,1011,32,5316,2979,27, + 30,31,1029,1116,26,28,912,25,23,50, + 1126,106,76,77,82,5316,1614,5316,432,418, + 419,3388,3121,35,1011,32,297,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,81,3121,35,1011,32,1412,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,80,3121,35,1011,32, + 5316,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,79,3121,35, + 1011,32,5316,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,78, + 2950,35,1011,32,5316,2979,27,30,31,1029, + 1116,26,28,912,25,23,50,1126,106,76, + 77,104,3121,35,1011,32,5316,2979,27,30, + 31,1029,1116,26,28,912,25,23,50,1126, + 106,76,77,110,3121,35,1011,32,5316,2979, + 27,30,31,1029,1116,26,28,912,25,23, + 50,1126,106,76,77,109,3121,35,1011,32, + 5316,2979,27,30,31,1029,1116,26,28,912, + 25,23,50,1126,106,76,77,107,3121,35, + 1011,32,5316,2979,27,30,31,1029,1116,26, + 28,912,25,23,50,1126,106,76,77,105, + 1562,1614,1614,1614,2880,2552,2552,5316,5316,1823, + 1354,2552,5316,2880,1189,5316,1354,5316,5316,1910, + 1189,5316,228,2880,5316,5316,5316,1607,737,5316, + 5316,228,4499,1580,4191,3642,1785,5316,5316,160, + 2880,228,5316,2089,222,160,205,215,4629,193, + 204,212,213,214,216,205,215,4629,342,204, + 212,213,214,216,5316,205,215,4629,5316,204, + 212,213,214,216,5316,5316,3014,206,208,210, + 3208,1041,217,207,209,331,206,208,210,3208, + 3323,217,207,209,5316,5316,206,208,210,3208, + 5316,217,207,209,5316,1713,2855,5316,5316,1354, + 2880,2983,1594,1189,4515,3511,5316,737,5316,5316, + 5316,1755,5316,4515,2034,329,334,5316,342,4499, + 5316,1797,5316,4515,2156,35,1011,32,160,4507, + 27,30,31,1029,1116,338,28,2156,35,1011, + 32,3868,4507,27,30,31,1029,1116,338,28, + 1691,35,1011,32,4697,3461,27,30,31,1029, + 1116,338,28,3014,5316,3280,35,1839,388,3323, + 741,5316,4304,3014,588,35,1839,388,238,5316, + 5316,5316,332,318,2091,320,3014,316,2002,5316, + 5316,5316,5316,5316,3106,332,318,2091,320,273, + 314,2002,1624,5316,3509,334,5316,5316,49,318, + 2091,320,5316,313,2002,5316,5316,1804,866,2717, + 56,1997,1330,537,537,2880,3812,232,1490,35, + 1011,32,2556,3461,27,30,31,1029,1116,338, + 28,3867,342,228,5316,5316,5316,5316,156,156, + 236,230,231,5316,5316,5316,96,180,3333,188, + 5316,274,5316,5316,2804,4340,403,205,215,4629, + 5316,204,212,213,214,216,5316,5316,375,5316, + 243,246,249,252,1145,195,1649,315,3339,320, + 2880,5316,1607,4181,5316,738,5316,4499,206,208, + 210,3208,5316,520,207,209,5316,5316,228,588, + 35,1839,388,5316,5316,5316,5316,929,35,1839, + 388,3894,5316,5316,5316,1736,1354,5316,5316,2880, + 1189,5316,205,215,4629,5316,204,212,213,214, + 216,3014,5316,49,5316,2084,5316,228,5316,2880, + 331,49,1804,566,5316,160,5316,5316,5316,5316, + 1804,2972,5316,206,208,210,3208,228,519,207, + 209,205,215,4629,3496,204,212,213,214,216, + 3059,56,373,5316,2171,1189,2082,5316,2880,5316, + 1354,205,215,4629,1189,204,212,213,214,216, + 4769,196,206,208,210,3208,228,218,207,209, + 156,1285,5316,5316,5316,2880,4834,5316,5316,160, + 2577,3185,206,208,210,3208,5316,304,207,209, + 205,215,4629,228,204,212,213,214,216,2236, + 35,1011,32,2394,3461,27,30,31,1029,1116, + 338,28,929,35,1839,388,5316,1270,407,4418, + 5316,206,208,210,3208,1375,499,207,209,2880, + 4499,5316,929,35,1839,388,929,35,1839,388, + 5316,5316,5316,5316,5316,3412,49,2519,408,409, + 410,3208,5316,56,5316,1804,47,1189,315,3339, + 320,2151,35,1839,388,5316,49,1607,5316,2601, + 49,3174,4499,56,3014,1804,47,1189,5316,1804, + 47,56,156,331,5316,2880,5316,5316,5316,2856, + 1330,5316,2740,3673,5316,49,5316,929,35,1839, + 388,5316,156,342,1804,47,5316,5316,929,35, + 1839,388,2806,3059,359,5316,3014,5316,3168,2164, + 35,1839,388,5316,5316,331,724,5316,2007,3121, + 3124,49,2804,5316,411,414,2306,5316,5316,2722, + 1804,47,49,537,56,5316,375,5316,537,5316, + 5316,1804,47,49,3863,4327,5316,2082,5316,5316, + 5316,342,1804,47,5316,3944,342,5316,156,588, + 35,1839,388,156,5316,56,3668,5316,188,2880, + 5316,5316,5316,1228,4340,588,35,1839,388,724, + 588,35,1839,388,56,5316,56,342,2880,1671, + 2880,5316,5316,49,588,35,1839,388,5316,5316, + 5316,5316,1804,2509,5316,5316,342,56,342,49, + 724,1189,5316,56,49,5316,5316,1189,1804,794, + 509,5316,5316,1804,986,5316,5316,5316,49,724, + 190,724,5316,5316,5316,5316,156,1804,2813,507, + 3402,534,156,5316,5316,5316,2014,5316,5316,5316, + 5316,5316,4182,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,5316,5316,4185, + 5316,0,39,5331,0,39,5330,0,925,29, + 0,440,1223,0,454,1498,0,38,595,0, + 38,5331,0,38,5330,0,2741,126,0,1, + 444,0,458,1706,0,457,1748,0,917,91, + 0,925,387,0,35,33,0,32,34,0, + 39,595,0,1,922,0,1,5588,0,1, + 5587,0,1,5586,0,1,5585,0,1,5584, + 0,1,5583,0,1,5582,0,1,5581,0, + 1,5580,0,1,5579,0,1,5578,0,39, + 1,5331,0,39,1,5330,0,628,1,0, + 283,394,0,283,286,0,5550,241,0,5549, + 241,0,5653,241,0,5652,241,0,5577,241, + 0,5576,241,0,5575,241,0,5574,241,0, + 5573,241,0,5572,241,0,5571,241,0,5570, + 241,0,5588,241,0,5587,241,0,5586,241, + 0,5585,241,0,5584,241,0,5583,241,0, + 5582,241,0,5581,241,0,5580,241,0,5579, + 241,0,5578,241,0,39,5331,241,0,39, + 5330,241,0,5354,241,0,5331,48,0,5330, + 48,0,5322,1,0,5321,1,0,3161,237, + 0,32,388,0,29,387,0,43,5352,0, + 43,37,0,2741,128,0,2741,127,0,330, + 445,0,5354,1,0,39,1,0,47,37, + 0,1,92,0,501,3207,0,5354,1,229, + 0,39,1,229,0,229,416,0,5331,37, + 0,5330,37,0,5331,2,37,0,5330,2, + 37,0,5331,36,0,5330,36,0,5352,45, + 0,37,45,0,5326,405,0,5325,405,0, + 1,601,0,1,2810,0,1,595,0,229, + 415,0,2826,317,0,330,95,0,35,73, + 0,1,330,0,4196,278,0,501,4476,0, + 1,229,0,229,220,0,1,2801,0,1, + 3426,0,229,219,0,5328,1,0,5324,1, + 0,1,229,3652,0,5325,229,0,3663,229, + 0,5328,383,0,5327,383,0,3706,229,0, + 10,12,0,8,10,12,0,185,3587,0, + 3870,383,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1325,99 +1287,99 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 24,0,0,27,28,29,30,31,32,33, 34,35,36,0,1,2,40,4,0,6, 65,66,9,0,48,63,25,26,0,0, - 63,70,56,57,58,59,8,61,62,10, + 1,2,56,57,58,59,8,61,62,0, 64,0,1,2,3,4,5,0,7,0, 1,2,3,4,5,27,7,55,0,1, 2,118,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,59,0, + 17,18,19,20,21,22,23,24,70,0, 27,28,29,30,31,32,33,34,35,36, - 0,0,0,40,0,4,48,3,0,1, - 2,48,63,72,0,68,8,70,0,56, + 0,0,63,40,0,4,48,3,0,1, + 2,48,63,72,0,68,8,70,4,56, 57,58,59,22,61,62,0,64,0,3, 0,1,2,0,8,0,1,2,3,4, - 5,8,7,0,1,2,0,0,48,86, + 5,118,7,0,1,2,0,0,48,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,67,48,27,28,29, - 30,31,32,33,34,35,36,0,70,63, + 30,31,32,33,34,35,36,0,55,63, 40,0,1,2,68,8,70,0,48,73, - 67,4,55,102,103,104,56,57,58,59, - 121,61,62,0,64,0,1,2,3,4, + 0,4,55,102,103,104,56,57,58,59, + 10,61,62,0,64,0,1,2,3,4, 5,8,7,0,0,0,3,3,0,1, 2,3,4,5,6,7,86,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,55,25,26,0,65,66,3,0, + 0,0,55,25,26,4,65,66,8,59, 73,37,38,0,0,37,38,39,4,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,0,0,0,73,63,60,61, - 39,0,69,65,66,0,1,2,3,4, + 0,0,69,65,66,0,1,2,3,4, 5,6,7,90,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,55,55, - 25,26,72,0,1,2,0,4,5,105, + 15,16,17,18,19,20,21,67,55,55, + 25,26,0,0,1,2,4,4,5,105, 7,68,37,38,39,0,41,42,43,44, 45,46,47,119,49,50,51,52,53,54, 0,1,2,68,70,60,6,94,95,0, 65,66,3,68,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,0,1,2,25, - 26,5,0,7,68,3,0,0,48,3, - 3,37,38,39,8,41,42,43,44,45, + 26,5,0,7,0,3,0,3,48,3, + 0,37,38,39,8,41,42,43,44,45, 46,47,0,49,50,51,52,53,54,0, 1,2,63,0,60,0,0,0,0,1, 2,67,0,8,8,71,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,0,63, - 0,25,26,0,1,2,39,48,8,73, + 0,25,26,0,1,2,0,48,8,73, 0,0,0,37,38,39,48,41,42,43, 44,45,46,47,72,49,50,51,52,53, - 54,68,48,70,0,70,60,3,73,73, + 54,68,0,70,0,70,60,3,73,73, 68,65,66,0,1,2,3,4,5,6, 7,48,9,10,11,12,13,14,15,16, 17,18,19,20,21,55,55,55,25,26, - 0,0,0,73,4,0,4,0,68,8, + 0,0,0,73,68,3,0,0,68,8, 37,38,39,72,41,42,43,44,45,46, 47,0,49,50,51,52,53,54,27,0, - 0,0,3,60,94,95,0,0,65,66, + 0,0,70,60,94,95,0,0,65,66, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,55,0,0,25,26,4,63,0, - 0,0,3,0,3,68,0,37,38,39, + 20,21,55,63,0,25,26,3,0,48, + 0,3,0,0,68,68,0,37,38,39, 4,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,0,0,22,63, - 60,94,95,0,0,10,10,67,0,1, + 60,94,95,72,0,10,10,67,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,0,25,26,40,40,0,68,0, + 0,0,0,25,26,40,40,0,0,0, 0,4,0,48,48,37,38,39,0,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,90,0,0,0,3,60,5, - 6,0,69,9,8,67,0,0,0,8, - 0,0,118,3,0,55,55,55,0,25, + 6,0,0,9,8,67,72,0,0,8, + 3,0,0,0,0,55,55,55,0,25, 26,3,55,27,55,55,0,55,27,0, - 0,37,38,55,0,41,0,3,0,3, - 0,55,0,3,0,3,0,3,0,55, - 55,3,0,0,0,3,0,63,0,65, - 66,0,68,69,70,0,55,0,0,0, - 0,0,0,0,0,0,70,0,0,72, - 72,87,88,89,70,39,92,93,94,95, - 96,97,98,99,100,101,70,0,69,105, + 0,37,38,55,0,41,0,69,0,3, + 0,55,0,3,0,3,0,3,121,55, + 39,39,0,0,0,3,3,63,0,65, + 66,0,68,69,70,70,0,0,55,0, + 0,0,0,3,72,0,0,69,0,3, + 0,87,88,89,70,0,92,93,94,95, + 96,97,98,99,100,101,70,39,69,105, 70,107,108,109,110,111,112,113,114,115, 116,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,69,0,25,26,69,69, - 72,69,75,72,90,0,69,69,37,38, + 19,20,21,72,0,69,25,26,69,72, + 55,0,0,72,69,0,0,75,37,38, 39,0,41,42,43,44,45,46,47,0, 49,50,51,52,53,54,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,0,0, - 55,25,26,0,0,0,0,0,0,0, + 0,25,26,0,0,0,0,0,0,0, 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,0,0,0,0,0,60,0,117,0, + 44,45,46,47,69,49,50,51,52,53, + 54,0,0,0,90,0,60,0,117,0, 1,2,3,4,5,6,7,0,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, + 21,0,0,0,25,26,0,69,0,0, 0,0,0,0,0,0,37,38,39,0, 41,42,43,44,45,46,47,0,49,50, 51,52,53,54,0,1,2,3,4,5, @@ -1474,346 +1436,346 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface TermAction { public final static char termAction[] = {0, - 5505,5470,5449,5449,5449,5449,5449,5449,5486,5449, + 5316,5281,5260,5260,5260,5260,5260,5260,5297,5260, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5474,1,1, + 1,1,1,1,1,1,1,5285,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,1585, - 1,5680,1265,115,2871,1,1,5516,39,3841, - 5505,5512,5543,4507,2637,3186,3192,2240,3163,3074, - 3181,3102,593,3096,3546,3090,10,5489,5489,5489, - 5489,5489,5489,5489,5489,5489,5489,5489,5489,5489, - 5489,5489,5489,5489,5489,5489,5489,5489,5489,5489, - 5489,5489,5489,5489,5489,5489,5489,5489,5489,5489, - 5489,5489,5489,5489,5489,5489,5489,5489,5489,5489, - 5489,5489,5489,5489,331,5489,5489,5489,5489,5489, - 5489,395,5489,5489,5489,5489,5489,5489,5489,1187, - 5489,5489,5489,5489,3403,3817,3793,5489,384,5505, - 5489,5489,5489,5489,5489,5489,5489,5489,5489,5489, - 5489,5489,8,5492,5492,5492,5492,5492,5492,5492, - 5492,5492,5492,5492,5492,5492,5492,5492,5492,5492, - 5492,5492,5492,5492,5492,5492,5492,5492,5492,5492, - 5492,5492,5492,5492,5492,5492,5492,5492,5492,5492, - 5492,5492,5492,5492,5492,5492,5492,5492,5492,5492, - 5505,5492,5492,5492,5492,5492,5492,2239,5492,5492, - 5492,5492,5492,5492,5492,301,5492,5492,5492,5492, - 286,5242,5242,5492,283,5805,5492,5492,5492,5492, - 5492,5492,5492,5492,5492,5492,5492,5492,5505,5470, - 5449,5449,5449,5449,5449,5449,5477,5449,1,1, + 1,1,1,1,1,1,1,1,1,2436, + 1,5491,2300,115,3431,1,1,5327,39,3790, + 5316,5323,5354,3216,680,3697,3525,2182,3405,3628, + 3125,3685,2260,3679,640,3678,10,5300,5300,5300, + 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, + 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, + 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, + 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, + 5300,5300,5300,5300,330,5300,5300,5300,5300,5300, + 5300,395,5300,5300,5300,5300,5300,5300,5300,2220, + 5300,5300,5300,5300,3240,3766,3742,5300,296,5316, + 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, + 5300,5300,8,5303,5303,5303,5303,5303,5303,5303, + 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, + 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, + 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, + 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, + 384,5303,5303,5303,5303,5303,5303,2884,5303,5303, + 5303,5303,5303,5303,5303,300,5303,5303,5303,5303, + 286,5053,5053,5303,283,5615,5303,5303,5303,5303, + 5303,5303,5303,5303,5303,5303,5303,5303,5316,5281, + 5260,5260,5260,5260,5260,5260,5288,5260,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5474,1,1,1,1, + 1,1,1,1,1,5285,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5505,1,1,1, - 1,1,1,439,1,1,1,1585,1,5680, - 1265,5505,2871,1,1,5516,5505,5144,5141,5513, - 5543,5505,2637,3186,3192,2240,3163,3074,3181,3102, - 593,3096,3546,3090,5505,5470,5449,5449,5449,5449, - 5449,5449,5477,5449,1,1,1,1,1,1, + 1,1,1,1,1,1,5316,1,1,1, + 1,1,1,439,1,1,1,2436,1,5491, + 2300,5316,3431,1,1,5327,5316,4955,4952,5324, + 5354,5316,680,3697,3525,2182,3405,3628,3125,3685, + 2260,3679,640,3678,5316,5281,5260,5260,5260,5260, + 5260,5260,5288,5260,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5474,1,1,1,1,1,1,1,1, + 1,5285,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5512,1,1,1,1,1,1,135, - 1,1,1,1585,1,5680,1265,117,2871,1, - 1,5516,111,3841,5505,5940,5941,5942,2637,3186, - 3192,2240,3163,3074,3181,3102,593,3096,3546,3090, - 5505,5470,5449,5449,5449,5449,5449,5449,5477,5449, + 1,1,5323,1,1,1,1,1,1,135, + 1,1,1,2436,1,5491,2300,117,3431,1, + 1,5327,111,3790,5316,5751,5752,5753,680,3697, + 3525,2182,3405,3628,3125,3685,2260,3679,640,3678, + 5316,5281,5260,5260,5260,5260,5260,5260,5288,5260, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5474,1,1, + 1,1,1,1,1,1,1,5285,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5505,1, - 1,1,1,1,1,136,1,1,1,1585, - 1,5680,1265,131,2871,1,1,5516,2328,3817, - 3793,4296,595,4318,2637,3186,3192,2240,3163,3074, - 3181,3102,593,3096,3546,3090,5505,5470,5449,5449, - 5449,5449,5449,5449,5477,5449,1,1,1,1, + 1,1,1,1,1,1,1,1,5316,1, + 1,1,1,1,1,136,1,1,1,2436, + 1,5491,2300,131,3431,1,1,5327,2302,3766, + 3742,4092,2365,4114,680,3697,3525,2182,3405,3628, + 3125,3685,2260,3679,640,3678,5316,5281,5260,5260, + 5260,5260,5260,5260,5288,5260,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5474,1,1,1,1,1,1, + 1,1,1,5285,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5505,1,1,1,1,1, - 1,5505,1,1,1,1585,1,5680,1265,116, - 2871,1,1,5516,2328,3841,121,5505,5519,5520, - 2637,3186,3192,2240,3163,3074,3181,3102,593,3096, - 3546,3090,5505,5470,5449,5449,5449,5449,5449,5449, - 5477,5449,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5474, + 1,1,1,1,5316,1,1,1,1,1, + 1,5316,1,1,1,2436,1,5491,2300,116, + 3431,1,1,5327,2302,3790,121,5316,5330,5331, + 680,3697,3525,2182,3405,3628,3125,3685,2260,3679, + 640,3678,5316,5281,5260,5260,5260,5260,5260,5260, + 5288,5260,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5285, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5505,1,1,1,1,1,1,5505,1,1, - 1,1585,1,5680,1265,5505,2871,1,1,5516, - 2551,3817,3793,3133,3159,5505,2637,3186,3192,2240, - 3163,3074,3181,3102,593,3096,3546,3090,5505,5470, - 5449,5449,5449,5449,5449,5449,5477,5449,1,1, + 5316,1,1,1,1,1,1,5316,1,1, + 1,2436,1,5491,2300,5316,3431,1,1,5327, + 2532,3766,3742,2938,3033,5316,680,3697,3525,2182, + 3405,3628,3125,3685,2260,3679,640,3678,5316,5281, + 5260,5260,5260,5260,5260,5260,5288,5260,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5474,1,1,1,1, + 1,1,1,1,1,5285,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,336,1,1,1, - 1,1,1,2316,1,1,1,1585,1,5680, - 1265,5505,2871,1,1,5516,5505,5519,5520,5842, - 5843,2551,2637,3186,3192,2240,3163,3074,3181,3102, - 593,3096,3546,3090,5505,5470,5449,5449,5449,5449, - 5449,5449,5477,5449,1,1,1,1,1,1, + 1,1,1,1,1,1,335,1,1,1, + 1,1,1,2899,1,1,1,2436,1,5491, + 2300,5316,3431,1,1,5327,5316,5330,5331,5652, + 5653,2532,680,3697,3525,2182,3405,3628,3125,3685, + 2260,3679,640,3678,5316,5281,5260,5260,5260,5260, + 5260,5260,5288,5260,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5474,1,1,1,1,1,1,1,1, + 1,5285,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5505,1,1,1,1,1,1,5505, - 1,1,1,1585,1,5680,1265,1,2871,1, - 1,5516,5505,5144,5141,5467,5543,5505,2637,3186, - 3192,2240,3163,3074,3181,3102,593,3096,3546,3090, - 5505,5470,5449,5449,5449,5449,5449,5449,5477,5449, + 1,1,5316,1,1,1,1,1,1,5316, + 1,1,1,2436,1,5491,2300,1,3431,1, + 1,5327,5316,4955,4952,5278,5354,5316,680,3697, + 3525,2182,3405,3628,3125,3685,2260,3679,640,3678, + 5316,5281,5260,5260,5260,5260,5260,5260,5288,5260, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5474,1,1, + 1,1,1,1,1,1,1,5285,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5512,1, - 1,1,1,1,1,2364,1,1,1,1585, - 1,5680,1265,5505,2871,1,1,5516,5505,5328, - 5325,48,5328,5325,2637,3186,3192,2240,3163,3074, - 3181,3102,593,3096,3546,3090,5505,5470,5449,5449, - 5449,5449,5449,5449,5477,5449,1,1,1,1, + 1,1,1,1,1,1,1,1,5323,1, + 1,1,1,1,1,2964,1,1,1,2436, + 1,5491,2300,5316,3431,1,1,5327,5316,5139, + 5136,48,5139,5136,680,3697,3525,2182,3405,3628, + 3125,3685,2260,3679,640,3678,5316,5281,5260,5260, + 5260,5260,5260,5260,5288,5260,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5474,1,1,1,1,1,1, + 1,1,1,5285,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5505,1,1,1,1,1, - 1,5505,1,1,1,1585,1,5680,1265,5505, - 2871,1,1,5516,114,5505,91,5509,3311,5177, - 2637,3186,3192,2240,3163,3074,3181,3102,593,3096, - 3546,3090,5505,3079,1,1,1,1,1,1, - 3080,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5514, + 1,1,1,1,5316,1,1,1,1,1, + 1,5316,1,1,1,2436,1,5491,2300,5316, + 3431,1,1,5327,114,5316,91,5320,3161,4988, + 680,3697,3525,2182,3405,3628,3125,3685,2260,3679, + 640,3678,5316,3652,1,1,1,1,1,1, + 3663,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5325, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5505,1,1,1,1,1,1,5505,1,1, - 1,1585,1,5680,1265,5505,2871,1,1,5516, - 5505,1328,5505,4296,1129,4318,2637,3186,3192,2240, - 3163,3074,3181,3102,593,3096,3546,3090,39,5144, - 5141,3544,2140,4067,4186,3193,5508,4208,792,5769, - 5767,5776,5775,5771,5772,5770,5773,5774,5777,5768, - 5765,5842,5843,4164,4128,137,5759,5766,5762,5738, - 5764,5763,5760,5761,5739,4252,4230,5524,5903,631, - 617,822,5526,653,3106,681,5505,5527,5525,584, - 5521,5522,5523,5505,1263,5904,5905,2434,1373,5505, - 5380,5380,229,5376,229,229,229,5384,229,1, + 5316,1,1,1,1,1,1,5316,1,1, + 1,2436,1,5491,2300,5316,3431,1,1,5327, + 5316,729,5316,4092,576,4114,680,3697,3525,2182, + 3405,3628,3125,3685,2260,3679,640,3678,39,4955, + 4952,2831,628,3900,3982,2810,5319,4004,788,5580, + 5578,5587,5586,5582,5583,5581,5584,5585,5588,5579, + 5576,5652,5653,3953,3922,137,5570,5577,5573,5549, + 5575,5574,5571,5572,5550,4048,4026,5335,5714,3841, + 575,879,5337,663,2700,671,5316,5338,5336,569, + 5332,5333,5334,5316,639,5715,5716,2435,1380,5316, + 5191,5191,229,5187,229,229,229,5195,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5505,3211,229,1,1,1, - 1,1,1,1,1,1,5505,5144,5141,1, - 2140,5189,125,3193,224,133,5505,5373,394,5239, - 5239,5505,283,5505,2389,1,1,1,3693,225, - 5917,566,397,5519,5520,2278,5765,5842,5843,358, - 416,229,5759,5766,5762,5738,5764,5763,5760,5761, - 5739,5765,5842,5843,939,6005,5505,5759,5766,5762, - 5738,5764,5763,5760,5761,5739,283,5505,5505,8897, - 8897,5940,5941,5942,5505,5380,5380,229,5376,229, - 229,229,5428,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3133, - 3159,229,1,1,1,1,1,1,1,1, - 1,3366,33,2360,1,5183,5541,5505,5183,5505, - 5183,5183,5373,37,5367,5367,8,5517,5367,5862, - 1,1,1,3693,5502,5917,566,5183,5183,5183, - 43,5349,5349,1,129,415,229,5505,5505,5183, - 5183,161,345,5144,5141,2556,2140,627,331,3193, - 6005,331,5505,5505,1,5364,5364,5183,5361,5505, - 331,2621,363,331,124,5183,5940,5941,5942,1, - 5183,5183,5183,5183,5183,5183,5516,5140,5346,367, - 5232,5228,2556,5236,627,1,3193,5502,1,5183, - 5183,5183,5183,5183,5183,5183,5183,5183,5183,5183, - 5183,5183,5183,5183,5505,1933,161,5183,5183,5183, - 5183,5183,5183,5183,5183,5183,5183,5183,5183,5183, - 5505,5183,5183,5186,118,1971,5186,363,5186,5186, - 2477,2404,29,387,387,5343,387,387,5343,387, - 5343,5343,1933,3484,363,5186,5186,5186,1225,3768, - 3743,3133,3159,5505,387,387,387,5186,5186,5343, + 1,1,1,1,5316,3704,229,1,1,1, + 1,1,1,1,1,1,5316,4955,4952,1, + 628,5000,125,2810,224,133,5316,5184,394,5050, + 5050,5316,283,5316,2973,1,1,1,2873,225, + 5728,1211,397,5330,5331,2268,5576,5652,5653,357, + 416,229,5570,5577,5573,5549,5575,5574,5571,5572, + 5550,5576,5652,5653,2439,5816,5316,5570,5577,5573, + 5549,5575,5574,5571,5572,5550,283,5316,5316,8658, + 8658,5751,5752,5753,5316,5191,5191,229,5187,229, + 229,229,5239,229,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2938, + 3033,229,1,1,1,1,1,1,1,1, + 1,2584,33,2334,1,4994,5352,5316,4994,5316, + 4994,4994,5184,37,5178,5178,8,5328,5178,5672, + 1,1,1,2873,5313,5728,1211,4994,4994,4994, + 43,5160,5160,1,129,415,229,5316,5316,4994, + 4994,161,344,4955,4952,582,628,595,330,2810, + 5816,330,5316,5316,1,5175,5175,4994,5172,5316, + 330,2552,362,330,124,4994,5751,5752,5753,1, + 4994,4994,4994,4994,4994,4994,5327,4951,5157,366, + 5043,5039,582,5047,595,1,2810,5313,1,4994, + 4994,4994,4994,4994,4994,4994,4994,4994,4994,4994, + 4994,4994,4994,4994,5316,1052,161,4994,4994,4994, + 4994,4994,4994,4994,4994,4994,4994,4994,4994,4994, + 5316,4994,4994,4997,118,1926,4997,362,4997,4997, + 2478,2407,29,387,387,5154,387,387,5154,387, + 5154,5154,1052,3182,362,4997,4997,4997,1231,3717, + 3072,2938,3033,5316,387,387,387,4997,4997,5154, 387,387,387,387,387,387,387,387,387,1, - 5232,5228,5419,5236,5425,5186,5422,5515,5505,38, - 5162,5159,237,5186,5156,5337,3193,5147,5186,5186, - 5186,5186,5186,5186,138,5343,5514,309,5232,5228, - 4584,5236,627,5440,3193,5343,5440,5186,5186,5186, - 5186,5186,5186,5186,5186,5186,5186,5186,5186,5186, - 5186,5186,36,5404,5401,5186,5186,5186,5186,5186, - 5186,5186,5186,5186,5186,5186,5186,5186,123,5186, - 5186,5505,5449,5449,229,5449,229,229,229,5452, + 5043,5039,5230,5047,5236,4997,5233,5326,5316,38, + 4973,4970,237,4997,4967,5148,2810,4958,4997,4997, + 4997,4997,4997,4997,138,5154,5325,308,5043,5039, + 601,5047,595,5251,2810,5154,5251,4997,4997,4997, + 4997,4997,4997,4997,4997,4997,4997,4997,4997,4997, + 4997,4997,36,5215,5212,4997,4997,4997,4997,4997, + 4997,4997,4997,4997,4997,4997,4997,4997,123,4997, + 4997,5316,5260,5260,229,5260,229,229,229,5263, 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5505,5505,229,1, - 1,8808,1,1,1,1,1,1,444,1, - 1,1,1,5505,5168,226,39,5168,5505,5446, - 5543,5515,331,5505,2278,331,139,1,1,1, - 3878,5511,5716,1265,458,2871,457,5765,5842,5843, - 5514,5505,220,5759,5766,5762,5738,5764,5763,5760, - 5761,5739,290,5519,5520,3133,3159,6005,5505,5449, - 5449,229,5449,229,229,229,229,229,1,1, + 1,1,1,1,1,1,5316,5316,229,1, + 1,8631,1,1,1,1,1,1,444,1, + 1,1,1,5316,4979,226,39,4979,5316,5257, + 5354,5326,330,5316,2268,330,139,1,1,1, + 3007,5322,5527,2300,458,3431,457,5576,5652,5653, + 5325,5316,220,5570,5577,5573,5549,5575,5574,5571, + 5572,5550,296,5330,5331,2938,3033,5816,5316,5260, + 5260,229,5260,229,229,229,229,229,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3960,5505,229,1,1,8808,1, - 1,1,1,1,1,1890,5510,5171,1,5174, - 1,5232,5228,4584,5236,627,5446,3193,347,113, - 134,1709,132,2759,1,1,1,3878,130,5716, - 1265,595,2871,370,5505,5144,5141,1187,2140,627, - 532,3193,3403,1847,1804,1761,1718,1675,1632,1589, - 1546,1503,1460,5505,6005,5505,5449,5449,229,5449, - 229,229,229,5455,229,1,1,1,1,1, + 1,1,1,3814,5316,229,1,1,8631,1, + 1,1,1,1,1,1884,5321,4982,1,4985, + 1,5043,5039,601,5047,595,5257,2810,346,113, + 134,1582,132,3300,1,1,1,3007,130,5527, + 2300,2365,3431,369,5316,4955,4952,2220,628,595, + 532,2810,3240,1842,1800,1758,1716,1674,1632,1590, + 1548,1506,1464,5316,5816,5316,5260,5260,229,5260, + 229,229,229,5272,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5505,1933,229,1,1,8808,1,1,1,1, - 1,1,445,39,39,1,5543,5505,5358,227, - 3037,5358,1285,5446,1,5513,112,4880,4296,5505, - 4318,1,1,1,3878,1580,5716,1265,2360,2871, - 2897,5765,5842,5843,2477,2404,219,5759,5766,5762, - 5738,5764,5763,5760,5761,5739,5505,37,5367,5367, - 2627,6005,5505,5449,5449,229,5449,229,229,229, - 5452,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1005,5512,229, - 1,1,8808,1,1,1,1,1,1,5505, - 5144,5141,1,2140,5189,1281,3193,92,1,1, - 5446,1,348,5370,122,4296,5370,4318,1,1, - 1,3878,5505,5716,1265,3670,2871,1,5232,5228, - 2556,5236,627,220,3193,5331,5505,5505,5232,5228, - 4584,5236,627,5440,3193,368,5440,1268,6005,5505, - 5449,5449,229,5449,229,229,229,5452,229,1, + 5316,1052,229,1,1,8631,1,1,1,1, + 1,1,445,39,39,1,5354,5316,5169,227, + 3533,5169,1276,5257,1,5324,112,4711,4092,5316, + 4114,1,1,1,3007,1144,5527,2300,2334,3431, + 3593,5576,5652,5653,2478,2407,219,5570,5577,5573, + 5549,5575,5574,5571,5572,5550,5316,37,5178,5178, + 2840,5816,5316,5260,5260,229,5260,229,229,229, + 5263,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1007,5323,229, + 1,1,8631,1,1,1,1,1,1,5316, + 4955,4952,1,628,5000,2512,2810,92,1,1, + 5257,1,347,5181,122,4092,5181,4114,1,1, + 1,3007,5316,5527,2300,3508,3431,1,5043,5039, + 582,5047,595,220,2810,5142,5316,5316,5043,5039, + 601,5047,595,5251,2810,367,5251,2536,5816,5316, + 5260,5260,229,5260,229,229,229,5263,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5505,1933,229,1,1,8808, - 1,1,1,1,1,1,5505,5390,5387,1, - 1933,1,5232,5228,4584,5236,627,5446,3193,309, - 5334,3133,3159,375,120,1,1,1,3878,2064, - 5716,1265,5505,2871,1330,5505,5519,5520,309,5505, - 220,157,345,39,39,2437,5543,100,331,3768, - 3743,331,5505,5505,5541,6005,5505,5449,5449,229, - 5449,229,229,229,229,229,1,1,1,1, + 1,1,1,1,5316,1052,229,1,1,8631, + 1,1,1,1,1,1,5316,5201,5198,1, + 1052,1,5043,5039,601,5047,595,5257,2810,308, + 5145,2938,3033,374,120,1,1,1,3007,2010, + 5527,2300,5316,3431,1335,5316,5330,5331,308,5316, + 220,5316,344,39,39,3112,5354,5316,330,3717, + 3072,330,5316,5316,5352,5816,5316,5260,5260,229, + 5260,229,229,229,229,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,119,5505,229,1,1,8808,1,1,1, - 1,1,1,95,39,39,1,5543,5505,5434, - 4274,879,5434,5505,5446,1933,3768,3743,405,301, - 4492,1417,1,1,1,3878,5413,5716,1265,5805, - 2871,1,5232,5228,4584,5236,627,5505,3193,1, - 5232,5228,2556,5236,627,5416,3193,3658,5505,5397, - 5393,3211,6005,5505,5449,5449,229,5449,229,229, + 1,119,5316,229,1,1,8631,1,1,1, + 1,1,1,95,39,39,1,5354,157,5245, + 4070,871,5245,521,5257,1052,3717,3072,405,290, + 5330,5331,1,1,1,3007,5224,5527,2300,100, + 3431,1,5043,5039,601,5047,595,5316,2810,1, + 5043,5039,582,5047,595,5227,2810,3111,5316,5208, + 5204,3704,5816,5316,5260,5260,229,5260,229,229, 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1924,185, - 229,1,1,8808,1,1,1,1,1,1, - 37,39,5505,1,5505,5543,5541,3865,5505,5519, - 5520,5446,1933,2064,5505,4497,5517,3190,515,1, - 1,1,3878,1826,5716,1265,1,2871,47,2437, - 5505,8729,8326,1,341,331,5144,5141,4584,2140, - 627,5464,3193,5505,8729,8326,5505,5505,5541,6005, - 5505,5449,5449,229,5449,229,229,229,229,229, + 1,1,1,1,1,1,1,1,1422,5316, + 229,1,1,8631,1,1,1,1,1,1, + 37,39,4847,1,5316,5354,5352,4571,5316,5330, + 5331,5257,1052,2010,395,4574,5328,3135,388,1, + 1,1,3007,939,5527,2300,1,3431,47,3112, + 5316,8540,8137,5316,340,330,4955,4952,601,628, + 595,3704,2810,5316,8540,8137,5316,5316,5352,5816, + 5316,5260,5260,229,5260,229,229,229,229,229, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5516,1138,229,1,1, - 8808,1,1,1,1,1,1,1,882,1933, - 1,5505,5328,5325,341,5511,341,396,5446,341, - 5516,387,3884,5940,5941,5942,1,1,1,3878, - 5496,5716,1265,1,2871,1,5232,5228,5419,5236, - 5425,363,5422,311,75,5505,2892,3903,5505,1, - 1,1,1,1,1,1,6005,1,1,1, + 1,1,1,1,1,5327,2172,229,1,1, + 8631,1,1,1,1,1,1,1,3276,1052, + 1,5316,5139,5136,340,5322,340,396,5257,340, + 300,387,3627,5751,5752,5753,1,1,1,3007, + 5615,5527,2300,1,3431,1,5043,5039,5230,5047, + 5236,362,5233,310,75,5316,2633,4190,5316,1, + 1,1,1,1,1,1,5816,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5505,5505,662,1,1,5505,4274,879,4385,5505, - 5510,5567,5568,126,48,1,1,1,5520,1, - 1,1,1,1,1,1,5505,1,1,1, - 1,1,1,5505,362,5505,363,2014,1,6041, - 2629,5505,1095,1,1,1,5232,5228,3544,5236, - 4067,4186,3193,363,4208,5192,5219,5225,5198,5201, - 5213,5210,5216,5207,5204,5195,5222,5505,2807,5520, - 4164,4128,5906,5505,5144,5141,5505,2140,627,580, - 3193,5165,4252,4230,5524,5505,631,617,822,5526, - 653,3106,681,668,5527,5525,584,5521,5522,5523, - 37,5367,5367,6017,2853,1373,331,2725,2698,318, - 39,39,5431,516,39,5144,5141,3544,2140,4067, - 4186,3193,5499,4208,929,5769,5767,5776,5775,5771, - 5772,5770,5773,5774,5777,5768,5505,5519,5520,4164, - 4128,627,5505,3193,5946,4386,1,5505,5541,2437, - 3993,4252,4230,5524,5331,631,617,822,5526,653, - 3106,681,428,5527,5525,584,5521,5522,5523,45, - 5410,5410,1933,5505,1373,5505,1,5505,5505,5390, - 5387,5483,5505,5511,528,5512,141,5144,5141,3544, - 2140,4067,4186,3193,5505,4208,929,5769,5767,5776, - 5775,5771,5772,5770,5773,5774,5777,5768,5505,1933, - 1,4164,4128,37,5367,5367,3319,5407,163,5334, - 128,29,5505,4252,4230,5524,5541,631,617,822, - 5526,653,3106,681,925,5527,5525,584,5521,5522, - 5523,3270,2766,3190,5505,4974,1373,4006,5510,528, - 5960,39,39,1,5232,5228,3544,5236,4067,4186, - 3193,5541,4208,5192,5219,5225,5198,5201,5213,5210, - 5216,5207,5204,5195,5222,2807,662,4508,4164,4128, - 395,5505,5505,163,388,320,663,127,5352,5515, - 4252,4230,5524,424,631,617,822,5526,653,3106, - 681,5505,5527,5525,584,5521,5522,5523,5514,103, - 5505,5505,4008,1373,2725,2698,99,5505,39,39, - 39,5144,5141,3544,2140,4067,4186,3193,5480,4208, - 929,5769,5767,5776,5775,5771,5772,5770,5773,5774, - 5777,5768,2807,5505,521,4164,4128,1894,1933,5505, - 5505,278,3379,1,5443,5355,39,4252,4230,5524, - 5543,631,617,822,5526,653,3106,681,5505,5527, - 5525,584,5521,5522,5523,1,1,5505,2055,1050, - 1373,2725,2698,291,5505,5458,5458,5483,39,5144, - 5141,3544,2140,4067,4186,3193,5480,4208,929,5769, - 5767,5776,5775,5771,5772,5770,5773,5774,5777,5768, - 29,440,454,4164,4128,5461,5461,48,4384,387, - 5505,5519,5505,2953,2953,4252,4230,5524,395,631, - 617,822,5526,653,3106,681,73,5527,5525,584, - 5521,5522,5523,5864,1,5505,1,926,1373,5974, - 5968,1,2102,5972,5515,5483,289,448,5505,191, - 5505,5505,3211,2917,426,5147,5150,5153,5505,5966, - 5967,4682,5519,5514,5180,662,449,2759,191,420, - 308,5997,5998,662,5505,5975,5505,4940,5505,2909, - 5505,5437,5505,4941,5505,3007,1,4961,5505,5977, - 3479,3476,5505,5505,1,4655,5505,740,5505,1482, - 1489,5505,5978,5976,5999,35,3565,5505,5505,508, - 506,5505,5505,5505,5505,5505,789,5505,510,2665, - 2152,5988,5987,6000,1089,2866,5969,5970,5993,5994, - 5991,5992,5971,5973,5995,5996,2845,5505,2190,6001, - 4038,5981,5982,5983,5979,5980,5989,5990,5985,5984, - 5986,39,5144,5141,3544,2140,4067,4186,3193,5509, - 4208,929,5769,5767,5776,5775,5771,5772,5770,5773, - 5774,5777,5768,3236,2269,2,4164,4128,4947,4967, - 3291,2269,3272,3346,3876,5505,2021,803,4252,4230, - 5524,5505,631,617,822,5526,653,3106,681,5505, - 5527,5525,584,5521,5522,5523,39,5144,5141,3544, - 2140,4067,4186,3193,5505,4208,929,5769,5767,5776, - 5775,5771,5772,5770,5773,5774,5777,5768,5505,5505, - 37,4164,4128,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,4252,4230,5524,5505,631,617,822, - 5526,653,3106,681,5505,5527,5525,584,5521,5522, - 5523,5505,5505,5505,5505,5505,1373,5505,5508,39, - 5144,5141,3544,2140,4067,4186,3193,5505,4208,929, - 5769,5767,5776,5775,5771,5772,5770,5773,5774,5777, - 5768,5505,5505,5505,4164,4128,5505,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,4252,4230,5524,5505, - 631,617,822,5526,653,3106,681,5505,5527,5525, - 584,5521,5522,5523,39,5144,5141,3544,2140,4067, - 4186,3193,1793,4208,929,5769,5767,5776,5775,5771, - 5772,5770,5773,5774,5777,5768,5505,5505,5505,4164, - 4128,5505,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,4252,4230,5524,5505,631,617,822,5526,653, - 3106,681,5505,5527,5525,584,5521,5522,5523,5505, - 5505,5505,5505,5505,1373,39,5144,5141,4875,2140, - 4067,4186,3193,5505,4208,929,5769,5767,5776,5775, - 5771,5772,5770,5773,5774,5777,5768,5505,5505,5505, - 4164,4128,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,4252,4230,5524,5505,631,617,822,5526, - 653,3106,681,5505,5527,5525,584,5521,5522,5523, - 39,5144,5141,3544,2140,4067,4186,3193,5505,4208, - 929,5769,5767,5776,5775,5771,5772,5770,5773,5774, - 5777,5768,5505,5505,5505,4164,4128,5505,5505,5505, - 5505,5505,5505,5505,5505,5505,5505,4252,4230,5524, - 5505,631,617,822,5526,653,3106,681,5505,5527, - 5525,584,5521,5522,5523,39,5144,5141,3544,2140, - 4067,4186,3193,5505,4208,929,5769,5767,5776,5775, - 5771,5772,5770,5773,5774,5777,5768,5505,5505,5505, - 4164,4128,5505,5505,5505,5505,5505,5505,5505,5505, - 5505,5505,4252,4230,5524,5505,631,617,822,5526, - 653,3106,681,5505,5527,5525,584,5521,5522,5523, - 5505,5144,5141,5505,5543,5505,5505,5505,5505,5505, - 728,5769,5767,5776,5775,5771,5772,5770,5773,5774, - 5777,5768,5765,5842,5843,5505,5505,5505,5759,5766, - 5762,5738,5764,5763,5760,5761,5739,5505,5505,5505, - 5903,5505,5505,5505,5505,5505,5505,5505,5505,241, - 5318,5314,5505,5322,5505,5505,1263,5904,5905,728, - 5305,5311,5284,5287,5299,5296,5302,5293,5290,5281, - 5308,5260,5254,5251,5505,5505,5505,5278,5257,5269, - 5248,5263,5266,5275,5272,5245,5505,5505,5505,5903, - 32,388,388,5340,388,388,5340,388,5340,5340, - 5505,5505,5505,5505,5505,1263,5904,5905,5505,5505, - 5505,5505,388,388,388,5505,223,5340,388,388, - 388,388,388,388,388,388,388,5769,5767,5776, - 5775,5771,5772,5770,5773,5774,5777,5768,5765,5842, - 5843,5505,5505,5505,5759,5766,5762,5738,5764,5763, - 5760,5761,5739,5340,5505,5505,5505,5505,5505,5505, - 5505,5505,5505,5340 + 1,5316,925,1,1,1331,4070,871,5275,3183, + 5321,5378,5379,126,48,1,1,1,5331,1, + 1,1,1,1,1,1,5316,1,1,1, + 1,1,1,5316,515,5316,362,1139,1,5852, + 5316,5316,1146,1,1,1,5043,5039,2831,5047, + 3900,3982,2810,362,4004,5003,5030,5036,5009,5012, + 5024,5021,5027,5018,5015,5006,5033,5327,2768,5331, + 3953,3922,5316,5316,4955,4952,2211,628,595,802, + 2810,4976,4048,4026,5335,5316,3841,575,879,5337, + 663,2700,671,942,5338,5336,569,5332,5333,5334, + 37,5178,5178,5828,883,1380,330,2667,2640,317, + 39,39,5242,516,39,4955,4952,2831,628,3900, + 3982,2810,5310,4004,922,5580,5578,5587,5586,5582, + 5583,5581,5584,5585,5588,5579,5316,5330,5331,3953, + 3922,595,5316,2810,5316,4683,1,4703,5352,3112, + 5316,4048,4026,5335,5142,3841,575,879,5337,663, + 2700,671,5316,5338,5336,569,5332,5333,5334,45, + 5221,5221,1052,5316,1380,5316,1,5316,5316,5201, + 5198,5294,5316,5322,528,5323,141,4955,4952,2831, + 628,3900,3982,2810,5316,4004,922,5580,5578,5587, + 5586,5582,5583,5581,5584,5585,5588,5579,5316,1052, + 1,3953,3922,37,5178,5178,5316,5218,163,5145, + 128,29,29,4048,4026,5335,5352,3841,575,879, + 5337,663,2700,671,5717,5338,5336,569,5332,5333, + 5334,3788,361,3135,5316,4826,1380,4196,5321,528, + 5757,39,39,1,5043,5039,2831,5047,3900,3982, + 2810,5352,4004,5003,5030,5036,5009,5012,5024,5021, + 5027,5018,5015,5006,5033,2768,925,4958,3953,3922, + 319,5316,5316,163,5771,4289,5316,127,5163,5326, + 4048,4026,5335,424,3841,575,879,5337,663,2700, + 671,5316,5338,5336,569,5332,5333,5334,5325,5316, + 5316,428,3262,1380,2667,2640,99,5316,39,39, + 39,4955,4952,2831,628,3900,3982,2810,5291,4004, + 922,5580,5578,5587,5586,5582,5583,5581,5584,5585, + 5588,5579,2768,1052,103,3953,3922,4516,5316,3302, + 5316,2826,5316,1,4411,5166,39,4048,4026,5335, + 5354,3841,575,879,5337,663,2700,671,5316,5338, + 5336,569,5332,5333,5334,1,1,185,3242,1094, + 1380,2667,2640,2571,448,5266,5266,5294,39,4955, + 4952,2831,628,3900,3982,2810,5291,4004,922,5580, + 5578,5587,5586,5582,5583,5581,5584,5585,5588,5579, + 440,454,387,3953,3922,5269,5269,48,291,5316, + 5316,5330,395,3490,3490,4048,4026,5335,73,3841, + 575,879,5337,663,2700,671,5316,5338,5336,569, + 5332,5333,5334,5674,1,289,1,600,1380,5785, + 5779,1,5316,5783,5326,5294,2626,278,420,191, + 5254,5316,5316,5316,426,4961,4964,4991,5316,5777, + 5778,3437,5330,5325,925,3300,449,925,191,35, + 307,5808,5809,5248,5316,5786,5316,2048,5316,4580, + 5316,3158,5316,2807,5316,3561,5316,3585,5307,5788, + 1086,3316,5316,5316,5316,4409,4410,1003,1,1738, + 1762,5316,5789,5787,5810,620,508,5316,3382,506, + 5316,5316,5316,4286,2096,5316,5316,2134,5316,4853, + 5316,5799,5798,5811,3389,2,5780,5781,5804,5805, + 5802,5803,5782,5784,5806,5807,2820,3403,3375,5812, + 3828,5792,5793,5794,5790,5791,5800,5801,5796,5795, + 5797,39,4955,4952,2831,628,3900,3982,2810,5320, + 4004,922,5580,5578,5587,5586,5582,5583,5581,5584, + 5585,5588,5579,3180,1,4805,3953,3922,4824,3235, + 37,5316,5316,3290,3375,5316,5316,3794,4048,4026, + 5335,5316,3841,575,879,5337,663,2700,671,5316, + 5338,5336,569,5332,5333,5334,39,4955,4952,2831, + 628,3900,3982,2810,5316,4004,922,5580,5578,5587, + 5586,5582,5583,5581,5584,5585,5588,5579,510,5316, + 5316,3953,3922,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,4048,4026,5335,5316,3841,575,879, + 5337,663,2700,671,1968,5338,5336,569,5332,5333, + 5334,5316,5316,5316,3976,5316,1380,5316,5319,39, + 4955,4952,2831,628,3900,3982,2810,5316,4004,922, + 5580,5578,5587,5586,5582,5583,5581,5584,5585,5588, + 5579,5316,5316,5316,3953,3922,5316,1318,5316,5316, + 5316,5316,5316,5316,5316,5316,4048,4026,5335,5316, + 3841,575,879,5337,663,2700,671,5316,5338,5336, + 569,5332,5333,5334,39,4955,4952,2831,628,3900, + 3982,2810,1790,4004,922,5580,5578,5587,5586,5582, + 5583,5581,5584,5585,5588,5579,5316,5316,5316,3953, + 3922,5316,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,4048,4026,5335,5316,3841,575,879,5337,663, + 2700,671,5316,5338,5336,569,5332,5333,5334,5316, + 5316,5316,5316,5316,1380,39,4955,4952,4774,628, + 3900,3982,2810,5316,4004,922,5580,5578,5587,5586, + 5582,5583,5581,5584,5585,5588,5579,5316,5316,5316, + 3953,3922,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,4048,4026,5335,5316,3841,575,879,5337, + 663,2700,671,5316,5338,5336,569,5332,5333,5334, + 39,4955,4952,2831,628,3900,3982,2810,5316,4004, + 922,5580,5578,5587,5586,5582,5583,5581,5584,5585, + 5588,5579,5316,5316,5316,3953,3922,5316,5316,5316, + 5316,5316,5316,5316,5316,5316,5316,4048,4026,5335, + 5316,3841,575,879,5337,663,2700,671,5316,5338, + 5336,569,5332,5333,5334,39,4955,4952,2831,628, + 3900,3982,2810,5316,4004,922,5580,5578,5587,5586, + 5582,5583,5581,5584,5585,5588,5579,5316,5316,5316, + 3953,3922,5316,5316,5316,5316,5316,5316,5316,5316, + 5316,5316,4048,4026,5335,5316,3841,575,879,5337, + 663,2700,671,5316,5338,5336,569,5332,5333,5334, + 5316,4955,4952,5316,5354,5316,5316,5316,5316,5316, + 732,5580,5578,5587,5586,5582,5583,5581,5584,5585, + 5588,5579,5576,5652,5653,5316,5316,5316,5570,5577, + 5573,5549,5575,5574,5571,5572,5550,5316,5316,5316, + 5714,5316,5316,5316,5316,5316,5316,5316,5316,241, + 5129,5125,5316,5133,5316,5316,639,5715,5716,732, + 5116,5122,5095,5098,5110,5107,5113,5104,5101,5092, + 5119,5071,5065,5062,5316,5316,5316,5089,5068,5080, + 5059,5074,5077,5086,5083,5056,5316,5316,5316,5714, + 32,388,388,5151,388,388,5151,388,5151,5151, + 5316,5316,5316,5316,5316,639,5715,5716,5316,5316, + 5316,5316,388,388,388,5316,223,5151,388,388, + 388,388,388,388,388,388,388,5580,5578,5587, + 5586,5582,5583,5581,5584,5585,5588,5579,5576,5652, + 5653,5316,5316,5316,5570,5577,5573,5549,5575,5574, + 5571,5572,5550,5151,5316,5316,5316,5316,5316,5316, + 5316,5316,5316,5151 }; }; public final static char termAction[] = TermAction.termAction; @@ -1821,61 +1783,61 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asb { public final static char asb[] = {0, - 641,93,45,87,682,631,631,631,631,1105, - 682,888,888,684,888,206,29,208,46,46, - 46,46,46,46,46,46,46,890,896,901, - 898,905,903,910,908,912,911,913,274,914, - 45,29,724,724,724,724,84,768,101,101, - 885,724,456,257,888,888,101,84,257,257, - 248,29,938,723,1020,1107,1042,29,888,890, - 851,851,768,45,46,46,46,46,46,46, - 46,46,46,46,46,46,46,46,46,46, - 46,46,46,45,45,45,45,45,45,45, - 45,45,45,45,45,46,257,257,876,876, - 876,876,371,257,101,101,1103,1031,1042,265, - 1042,260,1042,268,1042,1026,1105,84,456,456, - 101,631,46,1103,416,495,485,484,375,1049, - 1049,1105,208,456,723,45,82,1019,257,81, - 83,81,257,456,898,898,896,896,896,903, - 903,903,903,901,901,908,905,905,911,910, - 912,1119,913,682,682,682,682,84,84,876, - 875,876,885,84,323,326,262,370,263,1105, - 84,84,371,876,248,456,929,257,497,499, - 84,1020,46,724,894,213,257,1107,84,84, - 83,1020,45,45,45,45,45,682,682,29, - 324,883,881,326,84,536,472,534,371,265, - 411,84,371,84,257,489,477,488,499,371, - 82,257,894,1103,1019,1107,84,82,257,257, - 257,257,768,768,324,881,588,84,326,1119, - 263,631,373,153,1109,326,536,535,536,536, - 371,411,411,84,84,756,45,486,486,459, - 459,84,493,1103,591,257,84,894,895,894, - 45,213,158,890,1107,257,257,881,881,1020, - 812,265,876,631,81,858,1111,78,682,536, - 536,536,536,84,411,588,586,587,756,45, - 45,499,84,1020,257,497,477,756,1084,894, - 768,46,456,158,881,880,82,812,812,541, - 342,82,536,536,78,934,46,1119,467,624, - 84,1103,536,536,160,588,46,84,870,499, - 756,895,257,456,881,935,588,810,980,315, - 682,263,578,812,812,342,82,536,265,1105, - 1111,46,46,1019,78,633,751,161,84,870, - 257,870,540,315,810,637,1105,588,875,631, - 95,95,935,265,9,633,84,682,160,84, - 1105,1105,84,682,863,870,541,812,935,466, - 934,257,1105,84,342,541,342,874,874,878, - 10,1105,84,768,84,84,84,500,863,812, - 45,169,78,935,84,84,342,724,724,878, - 9,1119,46,1119,935,8,682,682,682,10, - 682,84,282,935,935,84,265,257,84,84, - 256,865,588,257,588,265,84,935,875,1, - 682,1,10,1119,10,29,29,27,766,29, - 935,935,470,878,724,865,588,169,935,532, - 591,10,257,78,257,27,315,682,257,878, - 169,95,257,257,1097,10,470,10,935,315, - 45,10,7,587,874,265,265,1099,45,8, - 768,935,257,933,168,81,10,257,935,933, - 933,10 + 811,7,547,1,852,924,924,924,924,1059, + 852,862,862,595,862,153,531,155,548,548, + 548,548,548,548,548,548,548,864,870,875, + 872,879,877,884,882,886,885,887,304,888, + 547,531,635,635,635,635,586,719,56,56, + 859,635,247,204,862,862,56,586,204,204, + 195,531,938,634,1115,1061,996,531,862,864, + 706,706,719,547,548,548,548,548,548,548, + 548,548,548,548,548,548,548,548,548,548, + 548,548,548,547,547,547,547,547,547,547, + 547,547,547,547,547,548,204,204,809,809, + 809,809,401,204,56,56,1057,985,996,301, + 996,296,996,50,996,980,1059,586,247,247, + 56,924,548,1057,207,11,487,486,438,1003, + 1003,1059,155,247,634,547,584,1114,204,583, + 585,583,204,247,872,872,870,870,870,877, + 877,877,877,875,875,882,879,879,885,884, + 886,1073,887,852,852,852,852,586,586,809, + 808,809,859,586,353,356,298,400,299,1059, + 586,586,401,809,195,247,903,204,13,15, + 586,1115,548,635,868,160,204,1061,586,586, + 585,1115,547,547,547,547,547,852,852,531, + 354,857,855,356,586,715,474,713,401,301, + 405,586,401,586,204,491,479,490,15,401, + 584,204,868,1057,1114,1061,586,584,204,204, + 204,204,719,719,354,855,914,586,356,1073, + 299,924,403,108,1063,356,715,714,715,715, + 401,405,405,586,586,410,547,488,488,420, + 420,586,9,1057,763,204,586,868,869,868, + 547,160,113,864,1061,204,204,855,855,1115, + 301,301,809,924,583,433,1065,580,852,715, + 715,715,715,586,405,914,912,913,410,547, + 547,15,586,1115,204,13,479,410,1038,868, + 719,548,247,113,855,854,584,667,301,251, + 372,584,715,715,580,908,548,1073,428,917, + 586,1057,715,715,495,914,548,586,803,15, + 410,869,204,247,855,909,667,667,761,1075, + 345,852,299,288,372,584,715,301,1059,1065, + 548,548,1114,580,928,662,496,586,803,204, + 803,914,667,667,250,345,761,932,1059,808, + 924,589,589,909,301,511,928,586,852,495, + 586,1059,1059,586,852,796,803,914,251,667, + 909,427,908,204,1059,586,372,251,372,807, + 807,926,512,1059,586,719,586,586,586,16, + 796,667,547,116,580,909,586,586,372,635, + 635,926,511,1073,548,1073,909,510,852,852, + 852,512,852,586,312,909,909,586,301,204, + 586,586,203,798,914,204,914,301,586,909, + 808,503,852,503,512,1073,512,531,531,529, + 936,531,909,909,431,926,635,798,914,116, + 909,48,763,512,204,580,204,529,345,852, + 204,926,116,589,204,204,1051,512,431,512, + 909,345,547,512,509,913,807,301,301,1053, + 547,510,719,909,204,907,115,583,512,204, + 909,907,907,512 }; }; public final static char asb[] = Asb.asb; @@ -1883,34 +1845,37 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asr { public final static byte asr[] = {0, - 86,102,103,104,48,72,118,121,71,61, - 74,62,59,64,76,78,84,82,75,80, - 81,83,85,67,77,79,27,8,28,40, - 23,56,29,30,31,32,33,34,35,57, - 36,58,22,24,60,65,66,10,43,47, - 45,42,51,12,21,11,17,15,16,18, - 19,14,13,20,52,53,54,39,50,44, - 49,37,38,25,26,41,46,9,6,3, - 4,7,5,1,2,0,8,72,117,73, - 27,70,120,0,68,69,70,1,2,0, - 28,11,12,40,23,42,65,13,43,56, - 29,30,44,14,31,32,15,16,33,66, - 34,45,17,18,46,35,47,57,49,60, - 50,36,51,58,19,22,20,24,21,52, - 53,54,39,3,37,38,9,6,25,26, - 41,68,7,1,2,4,10,5,0,22, - 1,2,4,102,103,104,0,71,60,37, - 38,9,6,25,26,41,46,3,4,52, - 53,54,39,50,44,49,12,21,11,17, - 15,16,18,19,14,13,20,10,43,47, - 45,42,51,67,8,7,5,1,2,66, - 65,0,91,89,25,26,92,93,87,88, - 55,94,95,96,97,98,99,100,101,106, - 72,90,69,107,108,109,110,111,112,113, - 114,115,116,117,71,27,120,68,1,2, - 9,6,4,3,63,70,73,8,0,48, - 4,72,1,2,67,8,0,4,8,67, - 1,2,0,68,72,90,70,117,73,71, + 8,72,117,73,27,70,120,0,5,7, + 3,63,6,9,90,28,11,12,23,13, + 56,29,30,14,31,32,15,16,33,34, + 17,18,35,57,36,10,58,19,22,20, + 24,21,1,2,4,73,8,40,0,4, + 8,67,1,2,0,28,11,12,40,23, + 42,65,13,43,56,29,30,44,14,31, + 32,15,16,33,66,34,45,17,18,46, + 35,47,57,49,60,50,36,51,58,19, + 22,20,24,21,52,53,54,39,3,37, + 38,9,6,25,26,41,68,7,1,2, + 4,10,5,0,71,60,37,38,9,6, + 25,26,41,46,3,4,52,53,54,39, + 50,44,49,12,21,11,17,15,16,18, + 19,14,13,20,10,43,47,45,42,51, + 67,8,7,5,1,2,66,65,0,91, + 89,25,26,92,93,87,88,55,94,95, + 96,97,98,99,100,101,106,72,90,69, + 107,108,109,110,111,112,113,114,115,116, + 117,71,27,120,68,1,2,9,6,4, + 3,63,70,73,8,0,65,66,3,10, + 43,47,45,42,51,12,21,11,17,15, + 16,18,19,14,13,20,52,53,54,39, + 50,44,49,5,7,4,37,38,9,6, + 25,26,41,46,1,2,117,8,0,67, + 40,23,13,56,29,14,31,32,15,16, + 33,34,17,18,35,57,36,58,19,22, + 20,24,21,12,11,28,8,3,9,6, + 27,62,64,86,30,61,48,7,1,2, + 5,4,10,59,0,48,4,72,1,2, + 67,8,0,68,72,90,70,117,73,71, 120,11,12,42,65,13,43,44,14,15, 16,66,45,17,18,46,47,49,60,50, 51,10,19,20,21,52,53,54,39,37, @@ -1920,81 +1885,78 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 61,28,11,12,40,23,13,56,29,30, 14,31,32,15,16,33,34,17,18,35, 57,36,10,58,19,22,20,24,21,4, - 1,2,48,0,28,11,12,23,13,29, - 30,14,31,32,15,16,33,7,34,17, - 18,35,36,19,22,20,24,21,1,2, - 8,63,9,6,5,4,73,27,3,0, - 1,2,8,71,0,65,66,3,10,43, - 47,45,42,51,12,21,11,17,15,16, - 18,19,14,13,20,52,53,54,39,50, - 44,49,5,7,4,37,38,9,6,25, - 26,41,46,1,2,117,8,0,74,68, - 72,90,73,67,63,3,8,70,27,69, - 0,4,8,72,67,0,9,6,7,5, - 4,1,2,3,63,68,69,70,8,73, - 90,0,5,7,3,63,6,9,90,28, - 11,12,23,13,56,29,30,14,31,32, - 15,16,33,34,17,18,35,57,36,10, - 58,19,22,20,24,21,1,2,4,73, - 8,40,0,4,55,8,72,67,0,67, - 40,23,13,56,29,14,31,32,15,16, - 33,34,17,18,35,57,36,58,19,22, - 20,24,21,12,11,28,8,3,9,6, - 27,62,64,86,30,61,48,7,1,2, - 5,4,10,59,0,69,70,71,8,0, - 28,11,12,40,23,13,56,29,30,14, - 31,32,15,16,33,34,17,18,35,57, - 36,10,58,19,22,20,24,21,1,2, - 4,90,0,72,8,63,3,69,70,27, - 55,0,8,67,70,0,8,67,69,0, + 1,2,48,0,1,2,8,71,0,23, + 60,24,8,68,90,69,70,73,0,74, + 68,72,90,73,67,63,3,8,70,27, + 69,0,8,72,67,74,0,28,11,12, + 23,13,29,30,14,31,32,15,16,33, + 7,34,17,18,35,36,19,22,20,24, + 21,1,2,8,63,9,6,5,4,73, + 27,3,0,4,8,72,67,0,9,6, + 7,5,4,1,2,3,63,68,69,70, + 8,73,90,0,22,1,2,4,102,103, + 104,0,86,102,103,104,48,72,118,121, + 71,61,74,62,59,64,76,78,84,82, + 75,80,81,83,85,67,77,79,27,8, + 28,40,23,56,29,30,31,32,33,34, + 35,57,36,58,22,24,60,65,66,10, + 43,47,45,42,51,12,21,11,17,15, + 16,18,19,14,13,20,52,53,54,39, + 50,44,49,37,38,25,26,41,46,9, + 6,3,4,7,5,1,2,0,68,69, + 70,1,2,0,66,65,25,26,6,92, + 93,98,9,99,5,41,69,55,68,110, + 111,107,108,109,115,114,116,88,87,112, + 113,96,97,94,95,100,101,37,38,70, + 89,105,63,3,28,11,12,40,23,13, + 56,29,30,14,31,32,15,16,33,34, + 17,18,35,57,36,10,58,19,20,24, + 21,1,2,4,22,0,64,28,11,12, + 40,23,13,56,29,86,30,14,31,32, + 15,16,33,59,34,17,18,35,57,36, + 10,58,19,62,22,20,24,21,8,3, + 9,6,71,27,61,7,4,48,5,1, + 2,0,4,55,8,72,67,0,8,73, + 11,12,42,65,13,43,44,14,15,16, + 66,7,45,17,18,46,47,49,60,50, + 51,10,19,20,21,52,53,54,1,2, + 3,37,38,9,6,25,26,5,41,4, + 39,0,28,11,12,40,23,13,56,29, + 30,14,31,32,15,16,33,34,17,18, + 35,57,36,10,58,19,22,20,24,21, + 1,2,4,90,0,23,24,74,3,72, + 27,67,60,8,90,73,69,70,68,0, 11,12,42,65,13,43,44,14,15,16, 66,7,45,17,18,46,47,49,60,50, 51,10,19,20,21,52,53,54,39,1, 2,37,38,9,6,25,26,5,41,4, - 61,3,0,66,65,25,26,6,92,93, - 98,9,99,5,41,69,55,68,110,111, - 107,108,109,115,114,116,88,87,112,113, - 96,97,94,95,100,101,37,38,70,89, - 105,63,3,28,11,12,40,23,13,56, - 29,30,14,31,32,15,16,33,34,17, - 18,35,57,36,10,58,19,20,24,21, - 1,2,4,22,0,23,60,24,8,68, - 90,69,70,73,0,75,0,8,73,11, - 12,42,65,13,43,44,14,15,16,66, - 7,45,17,18,46,47,49,60,50,51, - 10,19,20,21,52,53,54,1,2,3, - 37,38,9,6,25,26,5,41,4,39, - 0,64,28,11,12,40,23,13,56,29, - 86,30,14,31,32,15,16,33,59,34, - 17,18,35,57,36,10,58,19,62,22, - 20,24,21,8,3,9,6,71,27,61, - 7,4,48,5,1,2,0,8,72,67, - 74,0,23,24,74,3,72,27,67,60, - 8,90,73,69,70,68,0,118,0,60, - 23,24,7,5,1,2,4,74,67,119, - 105,37,38,63,3,91,89,6,92,93, - 25,26,88,87,55,94,95,96,97,9, - 98,99,100,68,90,73,120,69,107,108, - 109,110,111,112,113,114,115,116,72,117, - 101,106,71,70,27,8,0,65,66,37, + 61,3,0,60,23,24,7,5,1,2, + 4,74,67,119,105,37,38,63,3,91, + 89,6,92,93,25,26,88,87,55,94, + 95,96,97,9,98,99,100,68,90,73, + 120,69,107,108,109,110,111,112,113,114, + 115,116,72,117,101,106,71,70,27,8, + 0,69,70,71,8,0,72,8,63,3, + 69,70,27,55,0,118,0,8,67,70, + 0,8,67,69,0,75,0,65,66,37, 38,9,6,25,26,5,41,46,3,4, 7,52,53,54,39,50,44,49,12,21, 11,17,15,16,18,19,14,13,20,10, - 43,47,45,42,51,63,1,2,0,40, - 23,13,56,29,14,31,32,15,16,33, - 34,17,18,35,57,36,10,58,19,22, - 20,24,21,12,11,28,8,3,9,27, - 62,59,64,86,30,61,55,4,6,7, - 1,2,5,48,0,10,56,40,57,58, - 12,21,11,17,15,16,18,19,14,13, - 20,74,72,90,117,71,67,120,119,91, - 105,89,37,38,25,26,92,93,87,88, - 55,68,94,95,96,97,98,99,100,101, - 106,69,107,108,109,110,111,112,113,114, - 115,116,70,28,23,29,30,31,32,33, - 34,35,36,22,24,27,8,73,3,63, - 7,5,9,6,1,2,4,0,27,8, - 3,7,5,9,6,4,1,2,72,0 + 43,47,45,42,51,63,1,2,0,10, + 56,40,57,58,12,21,11,17,15,16, + 18,19,14,13,20,74,72,90,117,71, + 67,120,119,91,105,89,37,38,25,26, + 92,93,87,88,55,68,94,95,96,97, + 98,99,100,101,106,69,107,108,109,110, + 111,112,113,114,115,116,70,28,23,29, + 30,31,32,33,34,35,36,22,24,27, + 8,73,3,63,7,5,9,6,1,2, + 4,0,27,8,3,7,5,9,6,4, + 1,2,72,0,40,23,13,56,29,14, + 31,32,15,16,33,34,17,18,35,57, + 36,10,58,19,22,20,24,21,12,11, + 28,8,3,9,27,62,59,64,86,30, + 61,55,4,6,7,1,2,5,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -2002,61 +1964,61 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Nasb { public final static char nasb[] = {0, - 200,12,58,12,12,12,12,12,12,62, - 12,12,12,209,12,191,218,241,58,58, - 244,58,58,58,58,58,58,12,12,12, - 12,12,12,12,12,12,12,12,58,12, - 58,218,34,34,34,34,241,215,132,132, - 42,5,103,282,12,12,132,248,282,282, - 113,1,58,45,27,12,12,218,12,12, - 19,19,215,168,58,58,58,58,58,58, - 58,58,58,58,58,58,58,58,58,58, - 58,58,58,58,58,58,58,58,58,58, - 58,58,58,58,168,58,282,282,12,12, - 12,12,37,282,29,29,145,262,263,176, - 263,78,263,85,263,256,10,241,103,103, - 29,12,58,145,98,112,40,40,12,12, - 12,10,241,103,34,105,191,108,282,190, - 241,190,282,103,12,12,12,12,12,12, + 211,12,80,12,12,12,12,12,12,84, + 12,12,12,163,12,196,167,184,80,80, + 241,80,80,80,80,80,80,12,12,12, + 12,12,12,12,12,12,12,12,80,12, + 80,167,44,44,44,44,184,208,21,21, + 33,5,96,161,12,12,21,245,161,161, + 204,1,80,68,51,12,12,167,12,12, + 55,55,208,151,80,80,80,80,80,80, + 80,80,80,80,80,80,80,80,80,80, + 80,80,80,80,80,80,80,80,80,80, + 80,80,80,80,151,80,161,161,12,12, + 12,12,65,161,39,39,130,259,260,176, + 260,100,260,26,260,253,10,184,96,96, + 39,12,80,130,91,203,61,61,12,12, + 12,10,184,96,44,70,196,118,161,195, + 184,195,161,96,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,121,11,12, - 12,12,136,241,12,132,120,62,67,62, - 241,11,12,12,134,103,12,282,159,132, - 241,27,58,34,132,64,282,12,11,241, - 117,27,58,168,168,168,168,12,12,29, - 147,147,147,265,121,51,51,12,206,176, - 132,206,26,121,282,12,125,12,162,25, - 121,282,53,136,108,12,248,121,282,282, - 282,282,215,215,12,132,183,241,224,12, - 226,12,12,15,272,265,51,51,132,132, - 26,132,249,11,121,132,58,12,12,40, - 40,241,124,145,162,282,121,132,76,12, - 168,136,118,12,12,282,282,147,213,27, - 132,176,12,12,62,132,140,127,12,132, - 132,83,83,121,249,183,12,12,213,58, - 58,132,11,27,282,159,185,132,12,53, - 215,58,103,118,132,213,191,232,132,251, - 132,206,132,96,187,224,58,12,74,12, - 241,145,83,83,47,183,58,249,132,162, - 213,76,282,103,213,224,183,12,251,273, - 12,67,15,251,232,162,191,96,203,155, - 127,58,58,149,187,12,62,92,206,88, - 282,132,175,140,12,12,62,183,12,12, - 17,17,224,203,182,12,206,12,70,206, - 62,62,11,12,132,88,251,132,224,81, - 12,282,62,206,162,251,132,12,12,132, - 165,155,11,215,11,206,206,280,213,232, - 105,56,127,224,206,227,162,34,34,94, - 171,12,58,12,224,12,12,12,12,172, - 12,249,222,224,224,249,152,282,11,11, - 282,132,183,282,132,176,227,224,12,13, - 12,12,172,12,172,178,178,195,12,178, - 224,224,12,132,34,88,183,132,224,12, - 34,172,282,127,282,237,132,12,282,94, - 56,17,282,282,132,172,12,172,224,127, - 168,172,13,183,12,152,152,125,58,12, - 229,224,282,90,55,190,172,282,224,90, - 12,172 + 12,12,12,12,12,12,12,145,11,12, + 12,12,227,184,12,21,144,84,23,84, + 184,11,12,12,225,96,12,161,235,21, + 184,51,80,44,21,86,161,12,11,184, + 122,51,80,151,151,151,151,12,12,39, + 132,132,132,214,145,47,47,12,200,176, + 21,200,50,145,161,12,14,12,238,49, + 145,161,75,227,118,12,245,145,161,161, + 161,161,208,208,12,21,157,184,31,12, + 178,12,12,103,275,214,47,47,21,21, + 50,21,246,11,145,21,80,12,12,61, + 61,184,13,130,238,161,145,21,63,12, + 151,227,123,12,12,161,161,132,113,51, + 176,188,12,12,84,21,125,16,12,21, + 21,107,107,145,246,157,12,12,113,80, + 80,21,11,51,161,235,190,21,12,75, + 208,80,96,123,21,113,196,21,176,267, + 21,200,21,109,192,31,80,12,98,12, + 184,130,107,107,134,157,80,246,21,238, + 113,63,161,96,113,31,248,21,12,267, + 276,12,187,103,238,196,109,272,140,16, + 80,80,181,192,12,84,73,200,89,161, + 21,157,267,248,175,125,12,12,84,12, + 12,154,154,31,272,156,12,200,12,221, + 200,84,84,11,12,21,89,157,267,21, + 31,111,12,161,84,200,238,267,21,12, + 12,21,148,140,11,208,11,200,200,159, + 113,248,70,78,16,31,200,179,238,44, + 44,105,171,12,80,12,31,12,12,12, + 12,172,12,246,29,31,31,246,36,161, + 11,11,161,21,157,161,21,176,179,31, + 12,138,12,12,172,12,172,231,231,262, + 12,231,31,31,12,21,44,89,157,21, + 31,12,44,172,161,16,161,283,21,12, + 161,105,78,154,161,161,21,172,12,172, + 31,16,151,172,138,157,12,36,36,14, + 80,12,115,31,161,53,77,195,172,161, + 31,53,12,172 }; }; public final static char nasb[] = Nasb.nasb; @@ -2064,35 +2026,35 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,121,149,148,5, - 2,0,113,0,156,0,108,0,5,2, - 9,10,139,0,136,2,65,0,5,10, - 9,2,13,4,45,0,136,65,0,75, - 0,4,195,0,175,0,5,102,192,0, - 109,0,143,0,67,129,40,10,9,2, - 13,5,0,4,177,0,40,1,0,5, - 102,168,0,191,0,141,0,153,188,0, - 184,0,110,0,153,183,0,126,0,162, - 0,193,0,161,0,159,0,13,2,9, - 10,5,83,0,4,29,0,65,138,137, - 0,32,94,95,4,0,2,115,0,44, - 2,3,0,32,95,94,64,5,2,9, - 10,4,0,95,94,49,5,58,0,4, - 10,9,2,64,5,90,49,0,65,49, - 0,40,56,0,172,5,171,0,49,5, - 90,22,4,0,48,40,179,4,39,0, - 67,39,48,68,4,40,0,4,45,103, - 0,4,67,0,95,94,49,64,58,5, - 10,9,2,0,39,4,22,181,0,4, - 174,0,40,160,0,2,57,0,4,45, - 196,0,62,0,4,97,0,4,45,39, - 0,4,39,38,0,40,104,0,4,178, - 0,116,4,48,82,0,45,4,180,0, - 2,44,0,5,10,9,13,3,1,0, - 4,48,82,84,0,2,5,121,117,118, - 119,13,87,0,4,48,82,102,46,5, - 0,38,5,2,9,10,4,158,0,45, - 4,32,0 + 3,13,10,9,152,150,119,149,148,5, + 2,0,32,93,92,64,5,2,9,10, + 4,0,42,1,0,153,183,0,4,39, + 38,0,4,195,0,42,56,0,5,10, + 9,2,13,4,45,0,107,0,136,2, + 65,0,162,0,5,2,9,10,139,0, + 75,0,141,0,136,65,0,175,0,4, + 29,0,193,0,143,0,67,129,42,10, + 9,2,13,5,0,4,177,0,125,0, + 13,2,9,10,5,81,0,191,0,153, + 188,0,156,0,161,0,108,0,159,0, + 184,0,62,0,4,178,0,65,138,137, + 0,2,113,0,4,10,9,2,64,5, + 88,49,0,5,100,192,0,111,0,172, + 5,171,0,44,2,3,0,48,42,179, + 4,39,0,106,0,4,67,0,45,4, + 32,0,4,45,196,0,4,45,39,0, + 67,39,48,68,4,42,0,121,102,0, + 65,49,0,2,44,0,1,121,0,93, + 92,49,64,58,5,10,9,2,0,2, + 57,0,32,92,93,4,0,4,95,0, + 4,174,0,4,48,80,100,46,5,0, + 5,100,168,0,93,92,49,5,58,0, + 4,45,101,0,49,5,88,22,4,0, + 5,10,9,13,3,1,0,114,4,48, + 80,0,2,5,119,115,116,117,13,85, + 0,39,4,22,181,0,4,48,80,82, + 0,42,160,0,38,5,2,9,10,4, + 158,0,45,4,180,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2123,16 +2085,16 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 130,135,136,0,0,134,0,0,229,235, 133,0,143,132,0,0,142,148,0,0, 149,180,158,159,160,161,162,163,151,164, - 165,126,166,141,167,168,0,128,131,129, - 169,0,138,137,152,177,0,0,0,0, + 165,126,166,141,167,168,0,128,131,169, + 0,129,138,137,152,177,0,0,0,0, 0,0,0,0,145,172,0,155,0,204, 0,187,201,205,0,0,127,171,0,0, 0,0,0,0,206,175,0,0,0,0, - 0,0,125,178,0,0,186,0,0,202, - 212,157,208,209,210,0,0,146,0,0, - 207,220,174,196,0,0,211,0,0,0, - 0,240,241,0,147,179,189,190,191,192, - 193,195,198,0,199,0,214,217,0,219, + 125,178,0,0,186,0,0,202,212,157, + 208,209,210,0,0,146,0,0,207,220, + 174,196,0,0,211,0,0,0,0,240, + 241,0,147,179,189,190,191,192,193,195, + 0,198,0,199,0,214,217,0,0,219, 0,238,0,239,0,0,139,140,144,0, 0,154,156,0,170,0,181,182,183,184, 185,188,0,0,194,0,197,203,0,215, @@ -2148,18 +2110,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopePrefix { public final static char scopePrefix[] = { - 159,585,604,309,536,552,563,574,368,267, - 281,303,316,329,42,292,388,426,167,593, - 479,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,507,27,144,378, - 342,612,27,217,246,1,14,61,76,106, - 347,357,361,444,472,501,528,532,622,626, - 630,97,7,97,406,422,435,456,520,116, - 116,232,435,543,559,570,581,207,490,56, + 159,587,606,304,311,538,554,565,576,370, + 267,281,298,318,331,42,292,390,428,167, + 595,481,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,509,27,144,380, + 344,614,27,217,246,1,14,61,76,106, + 349,359,363,446,474,503,530,534,624,628, + 632,97,7,97,408,424,437,458,522,116, + 116,232,437,545,561,572,583,207,492,56, 56,156,222,225,56,241,262,225,225,56, - 365,469,476,156,56,645,110,351,410,450, - 463,56,351,397,177,104,448,634,641,634, - 641,65,416,137,104,104,251 + 367,471,478,156,56,647,110,353,412,452, + 465,56,353,399,177,104,450,636,643,636, + 643,65,418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2167,18 +2129,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 485,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,512,38,152,383, - 599,617,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,5,5, - 244,643,11,101,375,375,375,460,512,120, - 125,236,439,547,547,547,547,211,494,59, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,487,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,514,38,152,385, + 601,619,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,5,5, + 244,645,11,101,377,377,377,462,514,120, + 125,236,441,549,549,549,549,211,496,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,505,5,113,354,413,453, - 466,524,515,400,180,95,95,636,636,638, - 638,67,418,139,202,187,253 + 95,5,244,5,507,5,113,356,415,455, + 468,526,517,402,180,95,95,638,638,640, + 640,67,420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2186,18 +2148,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,119,17,17,17,17,71,86, - 47,80,119,118,77,53,71,70,46,17, - 19,3,7,8,168,168,164,117,46,81, - 118,118,120,128,54,47,139,133,128,71, - 17,17,133,96,59,135,74,171,168,164, - 120,182,51,56,143,18,17,17,17,17, - 17,12,113,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,96,19,172, - 168,184,94,101,61,75,60,158,76,120, - 72,144,143,175,139,16,164,120,103,69, + 46,17,17,79,117,17,17,17,17,71, + 84,47,79,117,116,77,53,71,70,46, + 17,19,3,7,8,168,168,164,115,46, + 116,116,118,128,54,47,139,133,128,71, + 17,17,133,94,59,135,74,171,168,164, + 118,182,51,56,143,18,17,17,17,17, + 17,12,111,164,71,70,70,37,139,130, + 130,58,70,17,17,17,17,94,19,172, + 168,184,92,99,61,75,60,158,76,118, + 72,144,143,175,139,16,164,118,101,69, 21,139,139,71,46,164,66,137,44,137, - 44,171,103,117,46,46,59 + 44,171,101,115,46,46,59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2205,9 +2167,9 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 27,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,27,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,27,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,70,27, 1,1,68,73,73,73,118,73,1,27, 1,27,27,71,117,73,73,73,73,73, @@ -2224,18 +2186,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeStateSet { public final static char scopeStateSet[] = { - 96,250,250,154,250,250,250,250,106,87, - 96,85,154,154,85,98,106,106,96,250, - 250,182,226,226,54,54,82,154,96,85, - 154,154,154,313,98,96,137,50,313,106, - 250,250,50,146,66,26,106,30,54,82, - 154,22,98,33,63,250,250,250,250,250, - 250,230,6,82,106,106,106,282,137,154, - 154,121,106,250,250,250,250,146,250,30, + 85,250,250,107,154,250,250,250,250,95, + 109,85,107,154,154,107,87,95,95,85, + 250,250,182,226,226,54,54,82,154,85, + 154,154,154,313,87,85,137,50,313,95, + 250,250,50,146,66,26,95,30,54,82, + 154,22,87,33,63,250,250,250,250,250, + 250,230,6,82,95,95,95,282,137,154, + 154,121,95,250,250,250,250,146,250,30, 54,24,146,148,66,142,66,60,71,154, - 106,57,63,140,137,250,82,154,1,106, - 251,137,137,106,96,82,11,118,158,118, - 158,30,1,154,96,96,66 + 95,57,63,140,137,250,82,154,1,95, + 251,137,137,95,85,82,11,118,158,118, + 158,30,1,154,85,85,66 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2247,67 +2209,67 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 126,172,0,126,178,74,0,216,0,253, 126,55,124,0,20,0,295,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,204,0,20,178,0, + 0,295,126,55,48,202,0,20,178,0, 253,126,55,132,0,179,127,0,141,0, - 219,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,179,127,224,0,179, - 127,22,224,0,179,127,315,22,0,128, + 217,3,294,0,294,0,2,0,126,0, + 253,126,55,131,0,179,127,222,0,179, + 127,22,222,0,179,127,315,22,0,128, 187,166,127,0,128,0,187,166,127,0, 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,243,0,136, + 170,0,222,128,0,166,310,241,0,136, 0,0,0,0,135,0,0,0,0,309, - 126,162,252,0,127,0,252,0,129,0, - 0,127,0,308,126,162,251,0,127,0, + 126,164,252,0,127,0,252,0,129,0, + 0,127,0,308,126,164,251,0,127,0, 0,44,127,0,0,151,3,0,126,282, 281,126,74,280,170,0,281,126,74,280, 170,0,215,0,216,0,280,170,0,96, 0,0,215,0,216,0,203,96,0,0, 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,227,126,3,0, - 126,0,0,0,0,0,227,126,3,216, - 0,223,3,0,212,126,0,208,0,146, + 0,203,0,0,215,0,225,126,3,0, + 126,0,0,0,0,0,225,126,3,214, + 0,221,3,0,210,126,0,208,0,146, 0,171,166,127,0,10,0,0,0,0, - 214,63,0,125,0,227,126,3,182,0, + 212,63,0,125,0,225,126,3,182,0, 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,236,126,162,39, + 0,198,3,0,201,0,234,126,164,39, 30,0,179,127,59,62,0,196,128,0, 128,179,127,278,62,0,179,127,278,62, - 0,179,127,69,123,59,0,236,126,162, - 59,0,236,126,162,226,59,0,276,126, - 162,123,305,56,0,276,126,162,305,56, - 0,179,127,275,56,0,135,0,187,179, - 127,275,243,0,136,0,179,127,275,243, - 0,187,166,127,10,0,166,127,10,0, - 166,127,0,93,136,0,268,126,144,0, - 268,126,170,0,161,84,0,300,160,302, - 303,3,81,0,126,171,0,302,303,3, - 81,0,128,0,126,171,0,161,3,75, - 190,80,0,126,128,0,190,80,0,108, - 2,131,126,128,0,225,3,75,0,198, - 167,0,33,169,0,167,0,175,33,169, - 0,225,3,85,0,190,154,225,3,83, - 0,62,171,0,225,3,83,0,126,171, - 62,171,0,301,126,162,0,161,0,214, - 77,0,30,171,0,161,106,158,0,30, - 169,0,177,3,0,126,149,0,219,3, - 0,214,63,265,0,161,63,0,177,3, - 297,66,127,0,126,0,0,0,0,297, - 66,127,0,2,145,126,0,0,0,0, - 177,3,46,0,147,0,125,48,166,127, - 0,31,147,0,93,136,31,147,0,220, - 179,127,0,146,31,147,0,177,3,51, - 0,161,3,51,0,161,3,68,177,55, - 42,0,177,55,42,0,20,2,131,126, - 0,161,3,68,177,55,45,0,177,55, - 45,0,161,3,68,177,55,47,0,177, - 55,47,0,161,3,68,177,55,43,0, - 177,55,43,0,219,3,125,187,166,127, - 10,0,125,187,166,127,10,0,136,2, - 0,126,0,219,3,124,258,166,127,10, - 0,258,166,127,10,0,135,2,0,126, - 0,219,3,135,0,219,3,139,0,161, - 63,139,0,260,0,31,0,31,139,0, - 165,0,134,0,161,3,0 + 0,179,127,69,123,59,0,234,126,164, + 243,59,0,234,126,164,243,224,59,0, + 276,126,164,123,305,56,0,276,126,164, + 305,56,0,179,127,275,56,0,135,0, + 187,179,127,275,241,0,136,0,179,127, + 275,241,0,187,166,127,10,0,166,127, + 10,0,166,127,0,93,136,0,268,126, + 144,0,268,126,170,0,161,84,0,300, + 160,302,303,3,81,0,126,171,0,302, + 303,3,81,0,128,0,126,171,0,161, + 3,75,190,80,0,126,128,0,190,80, + 0,108,2,131,126,128,0,223,3,75, + 0,198,167,0,33,169,0,167,0,175, + 33,169,0,223,3,85,0,190,154,223, + 3,83,0,62,171,0,223,3,83,0, + 126,171,62,171,0,301,126,164,0,161, + 0,212,77,0,30,171,0,161,106,158, + 0,30,169,0,177,3,0,126,149,0, + 217,3,0,212,63,265,0,161,63,0, + 177,3,297,66,127,0,126,0,0,0, + 0,297,66,127,0,2,145,126,0,0, + 0,0,177,3,46,0,147,0,125,48, + 166,127,0,31,147,0,93,136,31,147, + 0,218,179,127,0,146,31,147,0,177, + 3,51,0,161,3,51,0,161,3,68, + 177,55,42,0,177,55,42,0,20,2, + 131,126,0,161,3,68,177,55,45,0, + 177,55,45,0,161,3,68,177,55,47, + 0,177,55,47,0,161,3,68,177,55, + 43,0,177,55,43,0,217,3,125,187, + 166,127,10,0,125,187,166,127,10,0, + 136,2,0,126,0,217,3,124,258,166, + 127,10,0,258,166,127,10,0,135,2, + 0,126,0,217,3,135,0,217,3,139, + 0,161,63,139,0,260,0,31,0,31, + 139,0,165,0,134,0,161,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2315,38 +2277,38 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeState { public final static char scopeState[] = {0, - 3883,4961,4941,2909,0,1541,2061,559,1842,0, - 3668,3613,3558,3456,3401,3346,3291,3236,3181,2889, - 2834,3007,0,1221,0,1535,1492,1449,0,2845, - 2665,0,3668,3613,3245,3030,3558,3456,3401,3346, - 3291,3236,2637,3181,2889,2834,4460,3031,0,3559, - 3190,2930,0,1089,925,0,2438,1173,0,4740, - 4715,0,1219,984,0,4616,4740,4603,2989,4715, - 2964,3531,4629,4038,2391,3960,4584,2595,2556,2517, - 0,4758,4691,0,4758,4691,3980,4497,4487,3873, - 4404,4394,4384,3863,0,4758,4691,3980,4497,4487, - 3873,4404,4394,4384,3863,3668,3613,3558,3456,3401, - 3346,3291,3236,3181,2889,2834,0,2627,2434,0, - 2391,4616,3640,4603,2989,4760,2595,4649,3588,3268, - 2753,2585,820,3433,3373,0,668,580,0,879, - 0,2232,2144,959,780,2989,2585,2964,2556,2517, - 2437,860,0,4668,537,2980,0,4889,4843,4825, - 4819,4813,3600,3517,3513,3443,3333,4954,3223,3032, - 4916,4909,4905,2506,4893,2876,2639,741,4116,3973, - 0,3552,3424,4889,4843,4825,2867,2442,4819,2323, - 4813,3600,3517,3513,3443,3260,2839,2687,3333,2645, - 4954,2621,2551,1281,1138,3223,3032,872,2471,4916, - 2541,4909,3205,4905,2506,4893,736,2876,2639,741, - 4668,627,2980,4116,3973,2456,2312,2228,2140,803, - 2964,3531,4629,4038,2391,4616,3960,4740,4603,2989, - 4584,2595,2556,4715,2517,1268,939,668,580,3106, - 4362,4340,1187,2278,2360,2328,2477,2404,595,3159, - 3133,2807,2780,2725,2698,3841,3817,3793,3768,3743, - 4318,4296,4274,4252,4230,4208,4186,4164,4128,4067, - 631,2021,2240,2190,2152,2102,2064,1050,1330,1285, - 1225,882,1971,1933,826,746,690,1890,1847,1804, - 1761,1718,1675,1632,1589,1546,1503,1460,537,1417, - 1373,1144,1005,962,1095,0 + 4769,4410,3585,3561,0,3020,2464,2587,1253,0, + 3642,3587,3502,3400,3345,3290,3235,3180,3125,2850, + 2795,4409,0,1780,0,1955,1180,1050,0,2820, + 2626,0,3642,3587,1580,1412,3502,3400,3345,3290, + 3235,3180,680,3125,2850,2795,4720,4412,0,3292, + 3135,3126,0,3389,2571,0,996,819,0,4629, + 4418,0,3210,998,0,4327,4629,4314,3059,4418, + 2925,3475,4340,3828,2394,3814,601,2556,582,2519, + 0,4601,3330,0,4601,3330,4199,4574,4535,4189, + 4515,4476,4180,4411,3642,3587,3502,3400,3345,3290, + 3235,3180,3125,2850,2795,0,4601,3330,4199,4574, + 4535,4189,4515,4476,4180,4411,0,2840,2435,0, + 2394,4327,4697,4314,3059,4655,2556,4304,4482,820, + 3562,3511,3596,4207,3559,0,942,802,0,871, + 0,2091,2002,865,806,3059,3511,2925,582,2519, + 3112,724,0,4355,537,2880,0,4749,4738,4727, + 4691,4666,4662,4642,4507,3579,3461,4834,3457,3102, + 4820,4815,4799,2694,4499,3098,2968,741,4364,2979, + 0,3944,3863,4749,4738,4727,3673,2856,4691,2601, + 4666,4662,4642,4507,3579,3496,2733,2729,3461,2621, + 4834,2552,2532,2512,2172,3457,3102,933,2473,4820, + 616,4815,3433,4799,2694,4499,873,3098,2968,741, + 4355,595,2880,4364,2979,2590,2459,2256,628,1318, + 2925,3475,4340,3828,2394,4327,3814,4629,4314,3059, + 601,2556,582,4418,2519,2536,2439,942,802,2700, + 4158,4136,2220,2268,2334,2302,2478,2407,2365,3033, + 2938,2768,2741,2667,2640,3790,3766,3742,3717,3072, + 4114,4092,4070,4048,4026,4004,3982,3953,3922,3900, + 3841,1968,2182,2134,2096,2048,2010,1094,1335,1276, + 1231,883,1926,1052,827,746,690,1884,1842,1800, + 1758,1716,1674,1632,1590,1548,1506,1464,537,1422, + 1380,1189,1007,964,1146,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2365,50 +2327,50 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 6,95,94,68,55,87,88,9,97,96, 99,98,100,116,115,114,113,112,111,110, 109,108,107,69,106,101,177,161,177,177, - 177,177,166,219,126,126,126,269,270,252, - 271,243,272,56,273,274,10,127,63,63, - 126,124,154,126,63,3,217,216,135,125, + 177,177,166,217,126,126,126,269,270,252, + 271,241,272,56,273,274,10,127,63,63, + 126,124,154,126,63,3,215,214,135,125, 124,10,127,63,297,3,187,4,177,48, - 127,48,219,161,146,146,145,145,145,148, + 127,48,217,161,146,146,145,145,145,148, 148,148,148,147,147,150,149,149,153,152, 155,161,157,68,68,68,68,187,258,253, - 256,253,212,127,171,162,310,275,305,275, - 127,179,166,253,212,214,158,223,126,3, - 127,166,205,3,298,167,151,260,187,127, + 256,253,210,127,171,164,310,275,305,275, + 127,179,166,253,210,212,158,221,126,3, + 127,166,203,3,298,167,151,260,187,127, 179,166,72,3,3,3,3,125,124,70, - 166,9,6,126,166,230,125,124,127,123, - 162,127,166,48,227,228,144,229,126,166, - 48,177,126,126,4,220,5,48,161,161, - 161,161,3,3,171,171,309,127,168,224, - 59,48,204,62,170,312,125,124,231,231, - 179,162,126,179,187,154,69,223,198,186, - 182,127,3,126,70,227,187,154,262,265, - 63,180,4,123,125,219,219,6,126,166, - 162,226,55,48,278,280,126,3,182,231, - 231,126,126,187,126,276,123,277,126,69, - 69,3,179,166,198,126,212,154,125,126, - 3,63,161,4,171,184,187,126,162,68, - 55,127,74,126,212,311,72,289,198,124, - 127,126,126,126,72,276,69,70,221,126, - 126,262,219,214,126,128,236,30,48,170, - 64,59,62,238,126,126,179,126,281,72, - 70,72,69,166,212,314,224,22,127,126, - 227,221,39,126,3,123,59,236,295,48, - 10,40,128,281,162,293,127,294,70,127, - 22,315,179,60,154,126,126,162,268,247, - 279,39,69,127,70,68,55,230,230,282, - 126,70,179,3,179,127,127,3,126,126, - 3,69,70,154,127,179,126,69,69,126, - 301,79,77,1,161,8,85,83,81,80, - 75,82,84,78,76,59,74,219,179,179, - 320,221,236,151,162,251,179,226,295,283, - 118,8,72,214,72,3,3,3,190,3, - 123,161,123,178,70,126,126,162,226,68, - 3,72,225,167,225,303,144,75,225,126, - 126,40,90,319,167,154,198,154,302,126, - 3,154,283,308,230,154,154,126,69,190, - 160,268,161,189,70,69,121,300,154,189, - 8,154 + 166,9,6,126,166,228,125,124,127,123, + 164,127,166,48,225,226,144,227,126,166, + 48,177,126,126,4,218,5,48,161,161, + 161,161,3,3,171,171,309,127,168,222, + 59,48,202,62,170,312,125,124,229,229, + 179,164,126,179,187,154,69,221,198,186, + 182,127,3,126,70,225,187,154,262,265, + 63,180,4,123,125,217,217,6,126,166, + 243,224,55,48,278,280,126,3,182,229, + 229,126,126,187,126,276,123,277,126,69, + 69,3,179,166,198,126,210,154,125,126, + 3,63,161,4,171,184,187,164,243,68, + 55,127,74,126,210,311,72,289,198,124, + 127,126,126,126,72,276,69,70,219,126, + 126,262,217,212,126,128,126,164,30,48, + 170,64,59,62,126,179,126,281,72,70, + 72,69,166,210,314,222,22,127,126,225, + 219,234,236,126,39,126,3,123,59,295, + 48,10,40,128,281,164,293,127,294,70, + 127,22,315,179,60,154,126,234,126,164, + 268,246,279,39,69,127,70,68,55,228, + 228,282,126,70,179,3,179,127,127,3, + 126,126,3,69,70,154,127,179,126,69, + 69,126,301,79,77,1,161,8,85,83, + 81,80,75,82,84,78,76,59,74,217, + 179,179,320,219,234,151,164,251,179,224, + 295,283,118,8,72,212,72,3,3,3, + 190,3,123,161,123,178,70,126,126,164, + 224,68,3,72,223,167,223,303,144,75, + 223,126,126,40,90,319,167,154,198,154, + 302,126,3,154,283,308,228,154,154,126, + 69,190,160,268,161,189,70,69,121,300, + 154,189,8,154 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2640,7 +2602,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2683,20 +2645,20 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 6041, + LA_STATE_OFFSET = 5852, MAX_LA = 2147483647, NUM_RULES = 536, NUM_NONTERMINALS = 202, NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 3022, + START_STATE = 3318, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5140, - ERROR_ACTION = 5505; + ACCEPT_ACTION = 4951, + ERROR_ACTION = 5316; public final static boolean BACKTRACK = true; 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 15055126ff7..5688b80763e 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 @@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; +import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -178,17 +178,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -245,9 +245,9 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, CPPNoCastExpressionParsersym.TK_EOF_TOKEN)); } -public CPPNoCastExpressionParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); - tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); +public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); + tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } @@ -1301,331 +1301,331 @@ public CPPNoCastExpressionParser(ITokenStream parser, Set<IParser.Options> optio } // - // Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 293: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 295: { action. consumeNamespaceDefinition(true); break; + case 293: { action. consumeNamespaceDefinition(true); break; } // - // Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 294: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(false); break; + case 294: { action. consumeNamespaceDefinition(false); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 296: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 298: { action. consumeUsingDeclaration(); break; + case 297: { action. consumeUsingDeclaration(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 298: typename_opt ::= typename // - case 299: { action. consumePlaceHolder(); break; + case 298: { action. consumePlaceHolder(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 299: typename_opt ::= $Empty // - case 300: { action. consumeEmpty(); break; + case 299: { action. consumeEmpty(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDirective(); break; + case 300: { action. consumeUsingDirective(); break; } // - // Rule 302: asm_definition ::= asm ( stringlit ) ; + // Rule 301: asm_definition ::= asm ( stringlit ) ; // - case 302: { action. consumeDeclarationASM(); break; + case 301: { action. consumeDeclarationASM(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 303: { action. consumeLinkageSpecification(); break; + case 302: { action. consumeLinkageSpecification(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 304: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 308: init_declarator_complete ::= init_declarator // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 308: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 310: init_declarator ::= complete_declarator initializer // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 310: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 313: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 319: basic_direct_declarator ::= declarator_id_name // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 319: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 320: basic_direct_declarator ::= ( declarator ) // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 320: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 324: array_modifier ::= [ constant_expression ] // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 325: array_modifier ::= [ ] // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 326: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 327: { action. consumePointer(); break; + case 326: { action. consumePointer(); break; } // - // Rule 328: ptr_operator ::= pointer_hook & pointer_hook + // Rule 327: ptr_operator ::= pointer_hook & pointer_hook // - case 328: { action. consumeReferenceOperator(); break; + case 327: { action. consumeReferenceOperator(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 329: { action. consumePointerToMember(); break; + case 328: { action. consumePointerToMember(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 335: cv_qualifier ::= const // - case 336: { action. consumeToken(); break; + case 335: { action. consumeToken(); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 336: cv_qualifier ::= volatile // - case 337: { action. consumeToken(); break; + case 336: { action. consumeToken(); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 339: { action. consumeQualifiedId(false); break; + case 338: { action. consumeQualifiedId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 339: type_id ::= type_specifier_seq // - case 340: { action. consumeTypeId(false); break; + case 339: { action. consumeTypeId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 340: type_id ::= type_specifier_seq abstract_declarator // - case 341: { action. consumeTypeId(true); break; + case 340: { action. consumeTypeId(true); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 343: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 344: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 348: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 349: basic_direct_abstract_declarator ::= ( ) // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 349: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 350: array_direct_abstract_declarator ::= array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 356: { action. consumePlaceHolder(); break; + case 355: { action. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 357: { action. consumeEmpty(); break; + case 356: { action. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 358: { action. consumePlaceHolder(); break; + case 357: { action. consumePlaceHolder(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 363: abstract_declarator_opt ::= $Empty // - case 364: { action. consumeEmpty(); break; + case 363: { action. consumeEmpty(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 365: { action. consumeParameterDeclaration(); break; + case 364: { action. consumeParameterDeclaration(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 365: parameter_declaration ::= declaration_specifiers // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 367: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 370: parameter_init_declarator ::= = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 370: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 371: parameter_initializer ::= assignment_expression // - case 372: { action. consumeInitializer(); break; + case 371: { action. consumeInitializer(); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 373: { action. consumeFunctionDefinition(false); break; + case 372: { action. consumeFunctionDefinition(false); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 374: { action. consumeFunctionDefinition(true); break; + case 373: { action. consumeFunctionDefinition(true); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 376: initializer ::= ( expression_list ) // - case 377: { action. consumeInitializerConstructor(); break; + case 376: { action. consumeInitializerConstructor(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 377: initializer_clause ::= assignment_expression // - case 378: { action. consumeInitializer(); break; + case 377: { action. consumeInitializer(); break; } // - // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 379: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 380: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= { <openscope-ast> } + // Rule 381: initializer_list ::= { <openscope-ast> } // case 381: { action. consumeInitializerList(); 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 85de5131270..af761e2f78a 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 @@ -66,15 +66,15 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,1,1,1,1,1,1,1,1,1, 1,1,1,3,4,4,5,2,5,6, 5,0,6,7,0,1,3,1,0,1, - 3,1,1,1,6,5,7,6,1,0, - 6,5,6,4,1,3,1,0,1,1, - 2,1,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,5,3,7,0, - 1,2,2,1,0,1,1,1,3,1, - 2,1,1,2,3,1,1,1,3,2, - 1,2,2,9,8,2,1,3,1,3, - 1,0,1,0,2,1,1,3,1,3, - 2,1,5,8,1,2,3,1,7,6, + 3,1,7,6,0,7,6,1,0,6, + 5,6,4,1,3,1,0,1,1,2, + 1,1,3,1,3,1,1,1,1,3, + 9,2,2,3,2,5,3,7,0,1, + 2,2,1,0,1,1,1,3,1,2, + 1,1,2,3,1,1,1,3,2,1, + 2,2,9,8,2,1,3,1,3,1, + 0,1,0,2,1,1,3,1,3,2, + 1,5,8,1,2,3,1,1,7,6, 3,0,0,1,3,1,1,5,6,6, 7,7,0,0,1,0,1,1,1,2, 4,2,2,1,5,1,1,1,1,1, @@ -92,448 +92,429 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,2,5,5,3,3,1,4,3,1, 0,1,3,1,1,-107,0,0,0,-2, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-54,0, + 0,0,0,0,0,0,0,0,-4,0, 0,0,0,0,-49,0,0,0,0,0, - 0,0,0,-399,0,0,0,0,-68,0, - 0,0,-4,0,0,0,0,0,0,0, - 0,0,-5,-85,0,0,0,0,0,0, + 0,0,0,-43,-10,0,0,0,-5,0, + -289,0,0,0,0,0,0,0,0,0, + 0,0,0,-126,0,0,0,0,0,-306, 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,-58,0,0,0,-76, + 0,0,-6,0,-199,0,0,0,0,-119, + 0,0,0,-177,0,0,-16,0,0,0, + 0,0,0,0,0,0,0,-262,-1,0, + 0,0,0,0,0,-272,0,0,0,-7, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-245,0,0, - -176,0,0,0,-7,0,-69,0,0,0, - -224,0,0,0,0,0,0,0,0,-310, + 0,0,0,0,-50,0,-8,0,0,-271, + 0,0,0,0,0,0,-186,0,-219,0, 0,0,0,0,0,0,0,0,-114,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-8,0,0,0,0,-235,-10,-9,0, - 0,0,0,0,-16,0,0,0,-53,-112, + 0,0,0,0,0,0,0,-310,0,0, + 0,-9,-106,0,0,0,0,0,0,0, + -245,0,0,0,-135,0,0,0,-187,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,0,0,0, + 0,0,0,0,0,-11,0,0,0,-408, + 0,0,0,0,0,-54,0,0,-48,0, + -51,0,0,0,0,0,-234,0,0,-68, 0,0,0,0,0,0,0,0,0,0, - -186,0,0,0,0,0,-234,0,0,0, - 0,0,-188,0,-126,0,0,0,-50,0, - 0,-121,0,0,0,0,-534,0,0,0, - -11,0,0,0,0,0,0,0,0,0, - 0,0,0,-279,-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,-291,0,0,0,0,0,0, - 0,0,-170,0,0,0,0,0,0,0, - -223,0,0,0,-57,0,0,0,0,-219, - 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,-133,0,0,0,0,-12,0,0,0, - -378,0,0,0,0,0,0,0,0,0, - -411,0,0,0,0,-13,0,-297,0,0, - -138,0,0,0,0,0,0,0,0,0, - 0,0,0,-15,0,0,0,-342,0,-255, - -509,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-386,0,0,0,0,0,0, - 0,0,0,-181,0,0,0,0,0,0, - 0,0,0,-533,0,0,0,-61,0,0, - 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,0,0,0,0, - 0,-28,0,0,0,0,-119,-319,0,0, - 0,0,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,0,0,0,0,0,0,0,0,0, - 0,0,0,-440,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-278,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-17,-184,-29,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,0,0,0,0,0,0, - 0,-321,0,0,0,-444,0,0,-283,0, - 0,0,-347,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-220,0,0,0,0,0,-225,0,0, - 0,0,0,0,0,0,-231,0,0,0, - 0,-323,0,0,0,-30,0,0,0,0, + -311,0,0,0,0,0,0,-130,0,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,-62,0,0,0,-322, - -262,0,0,0,-140,0,0,0,-32,0, - 0,0,0,0,0,0,0,0,-33,0, - -221,0,-324,0,0,0,0,0,0,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,0,0,0, - 0,0,-532,0,0,-39,0,0,0,0, + -385,-12,0,0,0,-181,0,0,0,-116, + 0,-196,0,-255,0,0,-62,0,-53,0, + 0,-356,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,-418,0,0,0,0,0, - 0,0,0,-177,0,0,0,0,-376,-41, + 0,0,0,0,0,0,0,0,0,-342, + 0,0,0,0,-314,0,0,0,0,0, + 0,-279,-190,0,0,0,0,0,0,0, + 0,0,0,-69,0,0,0,0,0,0, + 0,0,0,0,0,0,-13,0,0,0, + 0,0,-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,0,0, - 0,0,-123,0,0,0,0,0,-34,0, - 0,0,-59,-195,0,0,0,0,-104,0, - 0,0,-91,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-387,0,0,0, + -15,0,0,0,0,-535,0,0,0,-28, 0,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,-165,0,0,0, - -272,0,0,0,0,-92,0,0,0,-35, + 0,0,0,0,-188,0,0,0,-162,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,-209, - 0,0,0,0,-36,-166,0,0,-93,0, - 0,0,-37,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-29,0,0,0,0,0,0, + 0,0,-319,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-113,-229,0,0,0,0,0,0,0, - 0,-94,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-121,0,0,0,0, + 0,0,0,0,0,-123,0,0,0,0, + 0,0,0,0,0,-170,0,0,-17,0, + 0,-228,0,-354,-442,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-137,0,0,0,0,-38, - -141,-40,0,0,-95,0,0,0,-55,0, + 0,0,0,-303,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-3,0,0, + 0,-299,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-393,0,0,0, + 0,-57,0,0,0,0,-375,0,0,-283, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-197,-254,0, - 0,0,0,-207,-56,0,0,-96,0,0, - 0,-63,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,-462,0,0,0,0,-61,0,0, + 0,0,0,0,-323,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -233,-267,0,0,0,0,-240,-64,0,0, - -97,0,0,0,-66,0,0,0,0,0, + 0,0,0,0,0,0,0,-30,0,0, + 0,0,0,0,0,0,0,-390,0,0, + 0,0,-128,-416,0,0,-335,0,0,0, + -466,0,0,0,0,0,0,0,-76,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-247,-268,0,0,0,0,-248, - -67,0,0,-98,0,0,0,-108,0,0, + 0,-324,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-249,-286,0,0, - 0,-257,-250,-109,0,0,-99,0,0,0, - -110,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-415,0,0,0,0,-31, + -531,0,0,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, - -270,0,0,0,0,-460,0,0,0,-100, - 0,0,0,-111,0,0,0,0,0,0, + 0,0,0,0,0,-384,0,0,0,0, + 0,0,0,0,-59,-220,0,0,-41,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-275,0, - 0,0,-292,-274,0,0,0,0,-131,-287, - 0,0,-101,0,0,0,-311,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-112,0,0,0,0,0,0,0,0, + 0,-337,-184,0,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,-282,0,0,0,0,-299,0,0,0, - 0,-202,-143,0,0,-163,0,0,0,-344, + 0,0,0,-32,0,0,0,0,0,0, + 0,0,0,0,-476,0,0,0,-104,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,-144,0, - 0,0,0,0,0,0,0,0,-145,-294, - 0,0,0,-203,0,0,0,0,0,0, + 0,0,0,0,0,-202,0,0,0,0, + 0,0,0,0,0,-33,0,0,0,0, + -105,-300,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,-211,0,0, + 0,0,0,0,0,0,0,0,-397,0, + 0,0,-113,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,0,-420, + 0,0,0,0,0,0,0,0,0,-467, + -410,0,0,0,-137,0,0,0,-95,0, 0,0,0,0,0,0,0,0,0,0, - 0,-388,-187,0,0,0,-304,-71,0,0, - 0,0,0,-527,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-34,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-141,-221,0,0, + -96,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-364,0,0, - 0,-356,0,-146,0,0,-345,0,0,0, - -128,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-401, - 0,0,0,0,0,0,0,0,0,-414, - -494,0,0,0,-355,0,0,0,-147,0, + 0,0,0,-224,0,0,0,0,0,0, + 0,0,0,-526,-411,0,0,0,-166,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,0,-35,0,0,0,0, + 0,-534,0,0,0,0,-195,0,0,0, + 0,-36,0,0,-98,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-148,0,0,0,0,-129,0, - 0,0,-135,0,0,0,0,-228,0,0, - 0,0,0,0,-380,0,0,0,0,0, + 0,0,0,0,0,0,0,-225,0,0, + 0,0,0,0,0,0,0,-527,-37,0, + 0,0,-197,0,0,0,-99,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-417,0,0, - 0,0,0,0,0,0,0,0,-132,0, - 0,0,-381,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-265, 0,0,0,0,0,0,0,0,0,0, + -423,0,0,0,-207,0,0,0,-100,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -335,0,0,0,0,0,0,0,0,0, - 0,-149,-451,0,0,0,0,0,0,0, + 0,-38,0,0,0,0,0,0,0,0, + 0,-257,-209,0,0,0,0,-40,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,-296,0,0,0,0, - 0,0,0,0,0,-150,-142,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,-205,0,0,0,0,0,-308, - 0,0,0,0,0,0,-375,0,0,0, - -464,0,0,0,0,0,0,-269,0,0, - -90,0,0,0,0,0,0,0,0,0, + 0,0,0,-376,-229,0,0,0,0,-55, + 0,0,-203,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-211,0,0,0,0,0,0, - 0,0,0,-88,0,0,0,-151,0,0, + 0,0,0,0,0,-56,0,0,0,0, + 0,-63,0,0,0,0,-254,0,0,0, + 0,-64,0,0,-529,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,-403,0,0,0,-129,-267,0, + 0,0,0,-67,0,0,-345,0,0,0, + -132,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,-364, + -286,0,0,0,-355,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-89,0,0,0,-152, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-153,0,-392,0,0,0, - 0,0,0,0,0,0,0,0,0,-86, - 0,0,0,-154,0,0,0,0,0,0, + 0,0,-58,0,0,0,-108,-412,0,0, + 0,0,-379,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-295,0,0,0,0,-185,0,0, - 0,-328,-164,-155,-156,0,0,-232,0,0, - 0,-400,0,0,0,0,0,0,-157,0, - 0,-430,0,0,-158,0,0,-238,0,0, - 0,0,0,-159,0,0,-201,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,-265,0,0,0,0, - 0,-298,-160,-18,0,0,0,0,-351,0, - 0,0,-242,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-259, - 0,0,0,0,-161,0,-134,0,-529,-300, - 0,-106,0,0,-309,0,0,0,0,0, - -314,-289,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, - -167,0,0,0,-48,0,0,0,0,0, - -204,0,-266,-168,0,0,-169,0,0,-320, - -305,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-359, + 0,0,0,0,0,-402,-233,0,0,0, + -380,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -43,0,0,0,0,-303,0,0,-325,0, - 0,-358,0,0,0,0,0,0,0,0, - -442,-172,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-244,-70,-331,-361, - 0,0,0,0,0,0,0,-239,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-118,0,-327,-271,0,0,-246,0,0, - 0,0,0,-79,0,0,0,0,0,0, + 0,0,0,0,-142,0,0,0,-176,0, + 0,0,-109,-433,0,0,0,-372,-453,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,-296,0,0,0,0,0,0,0,0, + 0,-419,-205,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,-173, - 0,-475,0,0,0,0,0,0,-370,0, - 0,0,0,0,0,0,0,-174,0,0, - 0,-273,0,0,0,-81,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-321, 0,0,0,0,0,0,0,0,0,0, + 0,0,-374,0,0,0,-110,-266,0,0, + 0,0,0,-444,-90,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,-240,0,0, + 0,0,0,0,0,0,0,-88,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-429,0,0,0,0, - -478,-175,-190,0,0,0,-222,-178,0,0, - 0,0,-353,-179,-354,-44,-423,0,0,0, - 0,-116,-474,-180,0,0,0,-403,-136,0, - -183,0,0,0,0,0,0,-191,0,0, - -333,0,0,0,0,0,0,0,0,0, - 0,-449,0,0,0,0,-293,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-192,0,-365,0,-326,0,0,0,0, - 0,0,-198,0,0,0,0,0,0,0, - 0,0,-521,0,0,-313,0,0,0,0, + 0,0,0,0,0,0,-111,0,0,-89, 0,0,0,0,0,0,0,0,0,0, - -385,0,-337,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-526,0,0,0, - 0,0,0,0,0,0,0,0,0,-206, - 0,-52,0,0,0,-352,0,-216,0,0, - -330,0,0,0,0,0,0,0,0,0, - 0,0,0,-339,-117,0,0,0,-486,0, - 0,-217,0,0,0,0,-120,0,-226,-237, - 0,-199,0,0,0,0,0,0,-241,0, - 0,0,-377,0,-1,-395,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-14,0,0,0,0,0,-243,0, + 0,0,0,0,0,0,0,0,-131,0, + -85,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-409,0,0,0,0,0,-253,0,0, - -510,0,0,0,0,0,0,0,-258,0, - 0,0,0,0,-260,0,0,0,0,0, - 0,0,0,0,0,0,-448,-19,0,0, + 0,0,0,-143,0,0,0,0,0,-394, 0,0,0,0,0,0,0,0,0,0, + 0,0,-86,0,0,0,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-83,0,0,0,-122,0, + 0,0,0,0,0,-247,0,0,0,0, + -435,0,0,0,-138,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-261,0,0, - -84,0,0,0,-453,0,0,0,0,0, + 0,-145,0,0,-377,0,0,-146,0,0, + -147,-432,0,0,0,0,0,-347,-201,0, + 0,0,-148,-87,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-458,0,0,-276,0,0,0, - 0,-439,0,-341,-264,0,-280,0,0,0, - 0,-360,0,-251,-410,0,0,0,0,0, - -281,-389,0,-312,0,0,0,0,-284,0, - 0,0,0,0,-45,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-481, - 0,0,0,0,0,-317,0,0,0,0, - -420,0,0,0,0,0,0,0,-285,-42, - -390,-374,0,0,0,0,-391,0,0,0, + 0,0,0,0,0,0,-149,0,0,0, + 0,-320,0,-473,-297,-450,-118,-223,0,0, + 0,0,0,0,-242,0,0,0,0,0, + 0,0,0,0,0,0,0,-232,0,0, + 0,-536,0,0,0,0,0,0,0,0, + 0,0,0,0,-150,0,0,-238,0,0, + 0,-305,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-463,0,-404,0,0, + 0,0,-268,0,0,0,0,0,0,-270, + -455,0,0,0,-248,-185,0,0,0,0, + 0,0,0,0,0,-151,-326,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -301,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-483,0,-102,0,0, - 0,0,-302,-508,0,0,0,0,0,0, - 0,0,0,0,-396,-504,0,-445,0,0, - -466,0,-307,-413,0,-124,0,0,-127,0, - 0,0,-421,0,0,0,0,0,0,-315, 0,0,0,0,0,0,0,0,0,0, - 0,-500,0,0,0,0,-316,0,0,-471, + -231,0,0,-152,0,0,0,0,0,0, + 0,0,0,0,0,-79,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -334,0,0,-332,0,-431,0,0,0,-416, - 0,0,-346,0,0,0,-357,0,0,0, - 0,0,-499,0,0,-469,0,0,0,0, - -462,0,0,0,0,0,0,-514,0,0, - -348,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-461,0,-366, - 0,0,0,-236,0,-425,0,0,0,0, - -139,0,0,0,-463,0,0,0,-46,0, - 0,-465,0,0,0,0,0,0,0,0, - 0,0,0,-516,0,0,0,0,-212,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-428,0,-495,-369,0, - 0,0,0,0,-538,0,0,0,0,-384, - -470,0,0,0,0,0,0,0,-473,0, - 0,0,0,0,0,0,0,0,0,-171, - 0,0,0,-227,0,0,0,0,-402,0, - 0,0,0,0,0,0,0,0,-518,0, + 0,0,-80,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-484,-213,0,0,0,0,0,-433,0, - 0,0,0,0,-393,-520,0,0,0,0, - 0,0,-492,-394,0,0,0,-472,-496,0, - 0,0,0,0,-397,-398,-524,-525,0,0, - 0,0,0,-404,0,-406,0,0,0,0, - -412,0,0,0,0,0,-47,0,0,0, + 0,0,0,0,0,0,0,0,0,-510, + -249,0,0,-351,-298,-19,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-230,0,0,0,-501,0,0,-535,-419, - -426,0,0,0,0,0,0,0,0,0, - 0,0,0,-505,-252,-427,-450,0,0,0, - 0,0,-476,-489,0,0,0,0,0,-503, - -507,0,0,0,0,0,0,0,0,-182, + 0,0,0,0,0,0,0,0,0,-140, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-540,-511,-512,0,0, + 0,0,-239,0,0,0,-81,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-490,-485,-452,-194,0,0, - -497,0,0,0,0,-467,0,0,0,0, - 0,-454,-513,0,0,0,0,-455,0,-456, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-457,0,-517,-459,-522,0,0, + 0,0,0,-82,0,0,0,-153,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,-431,0,0,0, + 0,-246,0,0,0,-287,-469,0,0,0, + 0,0,0,-14,-274,-359,-506,0,0,0, + 0,-250,-275,-540,-117,0,-292,-120,-154,-18, + 0,0,0,-464,0,0,0,0,0,0, + 0,-294,0,0,0,0,0,0,0,0, + 0,0,-451,-282,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,-477, + 0,0,0,0,0,0,-273,0,0,0, + 0,0,-52,0,0,0,0,0,-304,0, + 0,0,0,-308,0,0,0,0,0,0, + 0,-155,0,0,0,0,0,0,-122,0, + 0,0,0,0,0,-156,0,0,0,0, + 0,0,0,0,0,0,0,-528,0,0, 0,0,0,0,0,0,0,0,0,0, + -83,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-78,0,0,0,-530,0,0, + 0,-127,0,0,0,0,-157,-295,0,-47, + 0,0,0,-158,-328,0,0,0,0,-317, + 0,0,-358,0,0,0,0,0,0,0, + 0,0,0,0,-309,0,-388,0,0,0, + 0,-159,0,0,0,0,-322,0,0,0, + 0,0,0,0,-325,0,0,0,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,-336,-531,-536,-479, - 0,-468,0,0,0,-480,-373,-482,-487,-491, - 0,-498,-506,-515,-523,0,-407,-537,-528,0, - -539,0,-65,0,0,0,0,-362,0,0, - 0,0,0,-214,-318,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-327,0, + 0,-330,0,0,0,-465,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,0,0,-478,0,-182, + 0,0,0,0,-139,0,0,0,-134,-160, + 0,-222,0,0,0,0,0,-497,-422,0, + 0,0,0,0,0,0,-501,-460,-468,0, + 0,0,0,0,0,0,0,0,0,-269, + 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,-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,-379,0,0,0,0,0,0, - 0,0,0,0,0,0,-288,0,0,0, - 0,0,0,-438,0,0,0,0,0,0, - 0,0,0,0,-363,0,0,0,0,-215, - 0,0,0,0,0,0,0,0,-290,0, - 0,-432,-437,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-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, - -20,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-189, + 0,0,-480,-42,-331,0,0,0,0,0, + -161,0,-164,0,0,0,0,0,0,0, + 0,0,0,-483,0,-491,0,0,0,0, + 0,0,0,0,-524,0,0,0,0,0, + 0,0,0,-488,0,0,0,0,0,-290, + -492,0,0,-167,0,-136,-171,0,0,0, + 0,0,0,0,-333,0,0,-352,0,0, + 0,0,0,0,0,0,0,0,0,-485, + -353,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,0,0,0,0, + -523,0,0,0,0,0,-499,0,0,-264, + 0,0,-168,0,0,0,0,0,-169,0, + 0,0,0,0,0,-502,-336,0,0,0, + 0,0,0,-357,-172,0,0,0,0,0, + 0,0,0,0,0,-65,-173,-174,0,0, + -400,0,0,0,0,0,0,0,-339,0, + 0,0,0,0,0,0,0,0,0,-175, + 0,0,0,0,0,0,0,0,0,0, + 0,-516,0,0,0,0,0,0,0,0, + 0,0,-471,0,0,0,0,0,0,0, + -178,-44,0,-133,0,0,-474,0,-341,0, + 0,0,0,-236,0,0,-179,-365,-360,0, + 0,0,0,0,0,0,0,0,0,0, + -180,0,0,0,0,0,0,-518,0,0, + 0,0,-259,0,0,-183,0,0,0,0, + 0,0,0,0,0,0,0,-70,0,-191, + 0,0,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,-192,0,0,0,0,-198,0, + 0,0,-496,0,-381,0,0,0,0,0, + 0,0,-520,0,0,0,0,0,0,0, + 0,0,0,0,0,-204,-313,0,-206,0, + 0,0,-425,-216,-217,-226,0,-251,-252,-522, + -237,0,0,0,0,-241,-470,0,0,0, + 0,0,0,0,-243,0,-293,0,0,0, + -366,-389,0,0,0,0,0,0,0,0, + -253,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-258,0,0,0,0,0, + 0,0,0,0,0,-312,0,0,0,-318, + 0,0,-537,0,-260,0,0,0,0,0, + 0,0,0,0,-261,-276,0,0,0,0, + -414,0,-45,-280,0,0,0,0,0,-281, + -284,0,0,0,0,0,0,0,-46,-338, + 0,0,0,0,0,0,0,-418,0,0, + 0,0,0,0,0,0,0,0,0,-542, + -285,0,0,0,0,0,-301,0,0,0, + 0,0,0,0,0,0,0,-519,-302,0, + 0,0,0,0,-307,0,0,0,0,0, + 0,0,0,0,0,0,-427,0,0,-430, + 0,0,-315,0,-472,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -475,0,0,0,0,0,-316,0,0,0, + 0,0,0,0,-75,0,0,0,-332,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-346,0,-77, + 0,0,0,-348,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-78,0,0,0,-367,0,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,0,0,0,0,-370,-443, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-20,0,0,0,-383,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-494,-441,-503,-505,0,0, + -401,0,0,-498,0,0,0,0,0,0, + -507,-395,-396,-398,0,-477,0,0,0,0, + 0,0,0,0,0,-399,-405,-407,-413,0, 0,-21,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,-421,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,0,-23, - 0,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,0,-25,0,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,0,-27,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-60, - 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-509,-513,-512,0,0, + -428,0,0,0,-23,0,0,0,-429,0, 0,0,0,0,0,0,0,0,0,0, - 0,-72,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-452,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,-73,0,0,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,-454, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-193,0,0,0,0, + 0,0,0,0,0,0,0,-26,0,0, + 0,-456,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, - 0,0,0,0,0,0,0,-338,-277,-519, - 0,0,0,0,0,0,0,-367,0,0, - 0,0,0,0,0,0,0,-372,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-60,0,0,0,-457,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-72,0,0,0,-458,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-73,0,0,0,-459, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-193,0,0, + 0,-514,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-392, + -71,-102,-515,0,0,0,0,-461,-440,-212, + -533,-479,0,0,0,-434,-481,-482,-484,0, + -489,-493,0,-189,0,0,0,-532,-500,0, + 0,0,-539,-508,-517,-525,-538,-530,0,0, + 0,-541,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,0,0, 0,0,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,0,0,0,-200,0,0,0, + 0,0,0,0,-125,0,0,0,0,0, + 0,0,0,-382,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,0, - -415,0,0,0,0,0,0,0,0,0, - -424,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-200,0,0,0,0, + 0,0,0,0,0,0,0,0,-504,0, 0,0,0,0,0,0,0,0,0,0, + 0,-438,0,-244,-213,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-368, + 0,-361,0,0,0,0,0,0,0,0, + 0,0,-291,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,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,-214, + -215,-391,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,0,0,0,0,0,-277,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-306,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,0,0,0,-383, + 0,0,0,0,0,0,0,-334,-426,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-502,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-210,0,0,0, - 0,0,0,0,0,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,0,0,-369,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,0,0,-227,0,0,0,0,0, + -329,0,0,-362,0,0,0,0,-230,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,-208,0,0,-329,0,0, - 0,0,0,0,-368,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-288, 0,0,0,0,0,0,0,0,0,0, 0,0,0,-340,0,0,0,0,0,0, - 0,0,0,0,-349,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-387,0,0,0,0,0,0,0, - -405,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,-422,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -434,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-435,0,0,0,-443,0,0, - 0,-436,0,0,0,0,0,-350,-256,0, - 0,0,0,0,0,-488,-446,0,0,0, - 0,0,0,0,0,-447,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,0,0,0, + 0,0,0,0,0,0,-373,-363,0,0, + 0,0,0,0,0,0,0,0,-349,0, + 0,0,0,0,-439,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-386,0,0,0,-406,0,0,0,0, + 0,0,0,0,0,0,-409,0,0,0, + 0,0,0,0,-424,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -436,0,0,0,0,0,0,0,0,0, + 0,-437,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,0,0,0,0,0,-210,0,0,0, + -256,0,0,0,0,0,0,-350,0,0, + -447,0,0,0,0,0,0,0,0,0, + 0,0,-486,-487,0,0,0,0,0,0, + 0,-490,-194,0,0,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, + 0,0,0,0,0,0,0,0,0,-449, + 0,-521,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,0,0,0,0,0,0, @@ -544,7 +525,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 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -554,550 +535,532 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 174,4,136,83,83,33,33,67,67,38, - 38,40,40,200,1,1,15,15,15,15, + 174,4,136,81,81,33,33,67,67,38, + 38,42,42,200,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,65,65,5,5, 12,12,44,44,137,137,138,56,56,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 139,139,139,115,115,18,18,18,18,18, + 139,139,139,113,113,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, 175,175,176,176,177,142,142,143,143,140, 140,144,141,141,20,20,21,22,22,22, 24,24,24,24,25,25,25,26,26,26, 27,27,27,27,27,28,28,28,30,30, 31,31,32,32,35,35,36,36,37,37, - 42,42,41,41,41,41,41,41,41,41, - 41,41,41,41,41,39,29,145,145,97, - 97,178,178,92,201,201,68,68,68,68, + 41,41,40,40,40,40,40,40,40,40, + 40,40,40,40,40,39,29,145,145,95, + 95,178,178,90,201,201,68,68,68,68, 68,68,68,68,68,69,69,69,66,66, - 55,55,179,179,70,70,70,103,103,180, + 55,55,179,179,70,70,70,101,101,180, 180,71,71,71,181,181,72,72,72,72, - 72,73,73,84,84,84,84,84,84,84, - 84,50,50,50,50,50,116,116,114,114, - 51,182,23,23,23,23,23,48,48,87, - 87,87,87,87,152,152,147,147,147,147, + 72,73,73,82,82,82,82,82,82,82, + 82,50,50,50,50,50,114,114,112,112, + 51,182,23,23,23,23,23,48,48,85, + 85,85,85,85,152,152,147,147,147,147, 147,148,148,148,149,149,149,150,150,150, - 151,151,151,88,88,88,88,88,89,89, - 89,13,13,13,13,13,13,13,13,13, - 13,13,98,120,120,120,120,120,120,118, - 118,118,153,119,119,183,155,155,154,154, - 122,122,104,79,79,80,81,53,47,156, - 156,54,52,86,86,157,157,146,146,123, - 124,124,125,76,76,158,158,63,63,63, - 60,60,59,64,64,75,75,58,58,58, - 49,90,90,100,99,99,62,62,61,61, - 57,57,45,101,101,101,93,93,93,94, - 94,95,95,95,96,96,105,105,105,107, - 107,106,106,202,202,91,91,185,185,185, - 185,185,127,46,46,160,184,184,128,128, - 128,128,129,162,186,186,34,34,117,130, - 130,130,130,188,109,108,108,121,121,121, + 151,151,151,86,86,86,86,86,87,87, + 87,13,13,13,13,13,13,13,13,13, + 13,13,96,118,118,118,118,118,118,116, + 116,116,153,117,117,183,155,155,154,154, + 120,120,102,79,79,121,53,47,156,156, + 54,52,84,84,157,157,146,146,122,123, + 123,124,76,76,158,158,63,63,63,60, + 60,59,64,64,75,75,58,58,58,49, + 88,88,98,97,97,62,62,61,61,57, + 57,45,99,99,99,91,91,91,92,92, + 93,93,93,94,94,103,103,103,105,105, + 104,104,202,202,89,89,185,185,185,185, + 185,126,46,46,160,184,184,127,127,128, + 128,128,129,162,186,186,34,34,115,130, + 130,130,130,188,107,106,106,119,119,119, 163,164,164,164,164,164,164,164,164,164, 164,164,190,190,187,187,189,189,165,166, - 166,166,166,167,191,111,110,110,192,192, - 168,168,168,168,102,102,102,193,193,8, + 166,166,166,167,191,109,108,108,192,192, + 168,168,168,168,100,100,100,193,193,8, 8,9,194,194,195,169,159,159,170,170, 171,172,172,7,7,10,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,77,82, - 82,173,173,132,132,133,133,133,133,133, - 133,3,134,134,131,131,112,112,85,78, - 74,161,161,113,113,197,197,197,135,135, - 126,126,198,198,174,174,1119,35,2587,2584, - 1278,3510,27,30,31,936,954,26,28,2571, - 25,23,50,1042,106,76,77,107,1139,1614, - 1255,1236,1289,1279,1470,56,1409,1513,1505,689, - 272,1590,1592,142,1243,35,395,157,143,1217, - 35,917,32,1982,3431,27,30,31,936,954, - 57,28,496,71,3121,35,917,32,231,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,1267,1255,1236, - 1289,1279,2404,234,229,230,588,1685,1849,34, - 3121,35,917,32,273,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,107,1929,241,244,247,250,802,2164,35, - 276,588,35,1849,2978,1762,1047,1860,35,917, - 32,142,3431,27,30,31,936,954,56,28, - 2582,583,3621,2995,2682,3007,3129,3316,4652,2316, - 35,917,32,2972,2504,27,30,31,936,954, - 26,28,811,25,23,50,1042,106,76,77, - 107,1139,342,1255,1236,1289,1279,1470,61,1409, - 1513,1505,2023,2887,1590,1592,142,1607,69,2222, - 516,143,3660,3597,2542,1500,35,917,32,1010, - 1279,41,30,31,936,954,517,2316,35,917, - 32,2972,2504,27,30,31,936,954,26,28, - 811,25,23,50,1042,106,76,77,107,1139, - 342,1255,1236,1289,1279,1470,2861,1409,1513,1505, - 1672,69,1590,1592,142,1123,3514,2280,516,143, - 389,426,2542,69,1374,327,35,278,3612,56, - 4100,512,1229,747,517,661,60,2344,35,917, - 32,1016,4496,27,30,31,936,954,26,28, - 2838,510,497,2844,666,2316,35,917,32,2972, - 2504,27,30,31,936,954,26,28,811,25, - 23,50,1042,106,76,77,107,1139,342,1255, - 1236,1289,1279,1470,1796,1409,1513,1505,2972,512, - 1590,1592,142,327,35,278,516,143,4637,94, - 2542,588,35,2583,2496,56,1374,2513,2854,825, - 135,2844,517,2524,35,917,32,2972,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,342,1255,1236,1289, - 1279,1470,1503,1409,1513,1505,2972,2532,1590,1592, - 142,327,35,452,516,143,4791,1839,2542,3068, - 3177,588,35,1678,387,342,2558,512,737,70, - 517,1715,35,917,32,360,4496,27,30,31, - 936,954,59,28,2626,781,2902,1322,2716,2844, - 322,2659,35,917,32,430,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,314,1255,1236,1289,1279,1470, - 2428,1409,1513,1505,1773,513,1590,1592,142,3660, - 3361,3499,378,143,2385,35,917,32,1017,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,388,1255,1236, - 1289,1279,1470,2371,1409,1513,1505,327,334,1590, - 1592,142,2245,2861,3499,378,143,1330,3121,35, - 917,32,332,2504,27,30,31,936,954,26, - 28,811,25,23,50,1042,106,76,77,107, - 1139,3485,1255,1236,1289,1279,1470,1599,1409,1513, - 1505,2852,3068,1590,2970,163,437,1138,1414,384, - 2853,445,3584,3586,2591,35,917,32,2103,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,3023,1255,1236, - 1289,1279,1470,2034,1409,1513,1505,446,3660,1590, - 1592,142,385,2853,3499,378,143,56,56,413, - 2610,1143,2837,2887,35,917,32,3738,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,155,1255,1236,1289, - 1279,1470,2861,1409,1513,1505,1413,3195,1590,1592, - 142,1123,666,912,157,143,588,35,292,2887, - 35,917,32,2729,2504,27,30,31,936,954, - 26,28,811,25,23,50,1042,106,76,77, - 107,1139,135,1255,1236,1289,1279,1470,2135,1409, - 1513,1505,376,2853,1590,1592,142,1947,35,276, - 372,143,2887,35,917,32,1445,2504,27,30, - 31,936,954,26,28,811,25,23,50,1042, - 106,76,77,107,1139,64,1255,1236,1289,1279, - 1470,328,1409,1513,1505,96,2417,1590,1592,142, - 737,236,442,372,143,1715,35,917,32,2284, - 4496,27,30,31,936,954,58,28,583,587, - 3643,135,2772,2887,35,917,32,71,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,371,1255,1236,1289, - 1279,1470,1868,1409,1513,1505,727,1715,1590,1592, - 142,2103,3361,159,372,143,2457,35,917,32, - 1629,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,370, - 1255,1236,1289,1279,1470,2149,1409,1513,1505,3192, - 334,1590,1592,142,588,35,3002,141,143,2716, - 2887,35,917,32,420,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,107,1139,241,1255,1236,1289,1279,1470,494, - 1409,1513,1505,1614,56,1590,1592,142,787,1614, - 368,158,143,2887,35,917,32,2626,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,24,1255,1236,1289, - 1279,1470,69,1409,1513,1505,1614,1988,1590,1592, - 142,588,35,281,154,143,2887,35,917,32, - 1355,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,68, - 1255,1236,1289,1279,1470,380,1409,1513,1505,93, - 56,1590,1592,142,2657,400,1873,153,143,2887, - 35,917,32,1226,2504,27,30,31,936,954, - 26,28,811,25,23,50,1042,106,76,77, - 107,1139,352,1255,1236,1289,1279,1470,3519,1409, - 1513,1505,1614,56,1590,1592,142,2685,446,311, - 152,143,2887,35,917,32,793,2504,27,30, - 31,936,954,26,28,811,25,23,50,1042, - 106,76,77,107,1139,53,1255,1236,1289,1279, - 1470,353,1409,1513,1505,1614,1973,1590,1592,142, - 1146,1614,1617,151,143,2887,35,917,32,1625, - 2504,27,30,31,936,954,26,28,811,25, - 23,50,1042,106,76,77,107,1139,87,1255, - 1236,1289,1279,1470,52,1409,1513,1505,1614,56, - 1590,1592,142,938,1614,1627,150,143,2887,35, - 917,32,1174,2504,27,30,31,936,954,26, - 28,811,25,23,50,1042,106,76,77,107, - 1139,90,1255,1236,1289,1279,1470,349,1409,1513, - 1505,1614,56,1590,1592,142,680,1614,2652,149, - 143,2887,35,917,32,1323,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,1844,1255,1236,1289,1279,1470, - 1882,1409,1513,1505,1614,56,1590,1592,142,1857, - 1614,1441,148,143,2887,35,917,32,160,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,67,1255,1236, - 1289,1279,1470,66,1409,1513,1505,1614,2490,1590, - 1592,142,2049,1614,676,147,143,2887,35,917, - 32,848,2504,27,30,31,936,954,26,28, - 811,25,23,50,1042,106,76,77,107,1139, - 65,1255,1236,1289,1279,1470,64,1409,1513,1505, - 403,56,1590,1592,142,2926,588,3644,146,143, - 2887,35,917,32,1167,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,107,1139,323,1255,1236,1289,1279,1470,2619, - 1409,1513,1505,1614,56,1590,1592,142,3236,2683, - 2151,145,143,2887,35,917,32,2582,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,2659,1255,1236,1289, - 1279,1470,56,1409,1513,1505,1270,56,1590,1592, - 142,3847,1334,408,144,143,2832,35,917,32, - 1604,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,580, - 1255,1236,1289,1279,1470,324,1409,1513,1505,1015, - 1614,1590,2970,163,2887,35,917,32,401,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,2103,1255,1236, - 1289,1279,1470,55,1409,1513,1505,390,426,1590, - 1592,142,1761,2129,2108,139,143,1390,56,326, - 88,958,1143,102,3005,35,917,32,2264,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,155,1255,1236, - 1289,1279,1470,1543,1409,1513,1505,2237,2552,1590, - 1592,142,588,3330,1699,188,143,3121,35,917, - 32,1010,2504,27,30,31,936,954,26,28, - 811,25,23,50,1042,106,76,77,107,1139, - 2552,1255,1236,1289,1279,1470,405,1409,1513,1505, - 1761,1761,1590,2970,163,3121,35,917,32,1700, - 2504,27,30,31,936,954,26,28,811,25, - 23,50,1042,106,76,77,107,1139,298,1255, - 1236,1289,1279,1470,1223,1409,1513,1505,355,1010, - 1590,2970,163,2271,35,917,32,530,1330,40, - 30,31,936,954,459,3121,35,917,32,422, - 2504,27,30,31,936,954,26,28,811,25, - 23,50,1042,106,76,77,107,1139,2552,1255, - 1236,1289,1279,1470,287,1409,1513,1505,1801,1010, - 1590,2970,163,3121,35,917,32,291,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,220,1255,1236,1289, - 1279,1470,458,1409,1513,1505,354,322,1590,2970, - 163,2271,35,917,32,530,530,2018,30,31, - 936,954,1385,3176,35,917,32,421,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,135,1255,1236,1289, - 1279,1470,4346,1409,1513,1505,1559,1010,1590,2970, - 163,3121,35,917,32,424,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,1010,1255,1236,1289,1279,1470, - 56,1409,1513,1505,2509,2871,2535,2271,35,917, - 32,588,3860,2050,30,31,936,954,2407,35, - 279,3121,35,917,32,3858,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,1818,1255,1236,1289,1279,1470, - 51,1409,1513,2464,3121,35,917,32,1615,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,325,1255,1236, - 1289,1279,1470,3204,1409,2449,3121,35,917,32, - 1965,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,2103, - 1255,1236,1289,1279,1470,2022,2455,1518,35,917, - 32,4878,4745,27,30,31,936,954,338,28, - 3121,35,917,32,1709,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,107,1139,1614,1255,1236,1289,2434,1243,35, - 3009,1218,1614,2484,2425,2491,2861,4705,588,35, - 1849,275,1243,35,395,331,318,1850,320,1701, - 313,1758,843,35,452,1712,54,4791,588,3187, - 1849,74,49,312,486,321,350,757,35,1678, - 387,1642,871,3121,35,917,32,4587,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,142,1255,1236,1289, - 2435,272,2417,1374,1976,35,1678,387,351,2582, - 305,309,1365,1400,35,917,32,3989,3957,27, - 30,31,936,954,338,28,343,1506,1457,348, - 2129,35,292,2138,1634,1783,671,56,49,2443, - 1330,1143,2147,1143,3620,56,3916,1642,1266,2976, - 3636,322,1888,35,917,32,4708,3957,27,30, - 31,936,954,338,28,3010,1628,2191,155,2050, - 1887,1875,318,1850,320,1354,313,1758,161,1143, - 2943,1983,72,2690,3321,350,3660,1453,351,3249, - 1010,1898,35,3401,32,4878,4745,27,30,31, - 936,954,338,28,159,2270,343,1506,1457,348, - 1010,318,1850,320,3209,313,1758,351,283,392, - 426,56,449,3584,3586,2972,69,351,2432,56, - 2861,4734,1614,2660,2540,343,1506,1457,348,332, - 2861,2552,2125,341,342,343,1506,1457,348,331, - 318,1850,320,1634,313,1758,351,2234,1354,56, - 2234,2972,1143,3878,2972,101,2542,1193,1543,35, - 1849,3201,1542,97,345,1506,1457,348,1728,302, - 2513,4587,1225,2513,2440,1643,3330,159,1543,35, - 1849,275,2545,98,3121,35,917,32,365,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,1139,3849,1255,1236, - 2094,3121,35,917,32,2626,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,231,1255,1236,2202,359,2103, - 2244,359,588,35,292,1591,416,418,3373,2129, - 3564,292,1843,3019,3049,3202,3019,3049,2380,243, - 229,230,588,35,1849,277,3121,35,917,32, - 1900,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,1887, - 1255,1236,2236,3121,35,917,32,286,2504,27, - 30,31,936,954,26,28,811,25,23,50, - 1042,106,76,77,107,1139,259,1255,1236,2328, - 536,2044,2415,588,35,1678,387,1180,2279,2551, - 3347,2972,4879,2122,2304,322,56,2646,4783,227, - 2972,2972,1607,1330,2446,155,3701,3660,838,1351, - 227,1096,2826,2540,179,3155,2858,272,2572,342, - 2513,56,202,214,4715,3975,201,211,212,213, - 215,168,1,1762,406,4692,536,588,35,1849, - 3364,2542,167,3569,182,166,169,170,171,172, - 173,2861,2453,1764,322,227,588,35,1678,387, - 331,155,284,1781,407,408,409,293,294,3148, - 179,3155,2858,2742,3012,181,1643,3330,202,214, - 4715,274,201,211,212,213,215,168,504,3079, - 272,2209,994,56,522,2941,4802,3857,167,180, - 183,166,169,170,171,172,173,2070,35,917, - 32,3989,3957,27,30,31,936,954,338,28, - 49,296,3231,35,1678,387,2582,3319,2515,502, - 503,1363,35,917,32,236,4745,27,30,31, - 936,954,338,28,56,3347,42,2913,3252,2556, - 410,412,2615,536,339,2882,272,1240,238,2285, - 2621,428,588,35,1678,387,318,1850,320,1250, - 313,1758,3634,1330,960,2249,69,3185,155,1143, - 2861,4818,351,525,231,3490,522,179,3155,332, - 318,1850,320,2715,314,1758,49,2972,286,2305, - 343,1506,1457,348,155,46,351,231,526,234, - 229,230,69,2858,534,194,342,4841,2306,231, - 273,1243,35,395,345,1506,1457,348,375,1515, - 2845,3347,239,229,230,2689,391,426,1077,241, - 244,247,250,802,246,229,230,1088,3066,35, - 917,32,1047,2504,27,30,31,936,954,26, - 28,811,25,23,50,1042,86,76,77,2995, - 2682,3007,3129,3316,4652,3121,35,917,32,1606, - 2504,27,30,31,936,954,26,28,811,25, - 23,50,1042,106,76,77,107,1139,2691,1255, - 2360,3121,35,917,32,2552,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,345,1255,2385,2485,536,3865, - 3306,195,56,373,56,1285,1143,2693,1379,2972, - 4879,231,56,178,1354,69,1972,227,1143,540, - 4864,2649,1614,155,588,35,1849,280,227,1906, - 521,3568,179,3155,2858,56,249,229,230,2972, - 202,214,4715,159,201,211,212,213,215,168, - 431,1762,406,4692,536,3314,2280,441,342,455, - 167,1614,3859,166,169,170,171,172,173,2555, - 56,56,2646,227,536,2060,2972,2412,2831,155, - 2542,4471,407,408,409,293,294,3148,179,3155, - 2858,2580,1771,342,2641,2513,202,214,4715,155, - 201,211,212,213,215,168,517,3079,56,1456, - 536,1930,1143,2714,1088,2542,167,3370,177,166, - 169,170,171,172,173,322,2623,1419,2647,227, - 536,1614,2972,2722,56,155,1780,155,3993,929, - 35,1678,387,69,179,3155,2858,2503,4868,342, - 2717,2513,202,214,4715,155,201,211,212,213, - 215,168,603,504,450,187,536,2723,410,413, - 322,4613,167,49,175,166,169,170,171,172, - 173,737,1642,2868,2727,227,588,35,1678,387, - 56,155,295,2728,3964,2833,3377,2619,231,3177, - 179,3155,2858,2765,501,503,2481,2972,202,214, - 4715,2552,201,211,212,213,215,168,689,504, - 451,2627,536,252,229,230,342,521,167,189, - 176,166,169,170,171,172,173,303,2556,528, - 1675,227,1143,3361,2079,3575,56,155,3713,197, - 3308,932,35,1678,387,2552,179,3155,2858,56, - 501,503,1330,2972,202,214,4715,155,201,211, - 212,213,215,168,775,2923,199,3695,536,56, - 333,334,342,1143,167,49,186,166,169,170, - 171,172,173,196,1642,1892,56,227,322,2731, - 3097,3780,2858,155,2542,159,3736,2467,155,3012, - 2735,56,179,3155,2858,2061,1814,3563,1714,56, - 202,214,4715,3478,201,211,212,213,215,168, - 2447,35,1678,387,932,35,1678,387,89,1330, - 167,102,3869,166,169,170,171,172,173,1952, - 35,917,32,4878,3957,27,30,31,936,954, - 338,28,56,56,49,381,536,1143,49,588, - 35,1678,387,1642,2314,2082,861,1642,47,2858, - 536,44,2913,56,2732,342,2833,3294,1614,56, - 2288,155,155,961,375,2068,2736,1330,1330,227, - 3678,187,1720,433,2747,155,2746,4613,318,1850, - 320,2751,313,1758,179,3155,2858,588,35,1678, - 387,377,202,214,4715,312,201,211,212,213, - 215,168,929,35,1678,387,1614,2858,2858,947, - 2789,2737,167,536,191,166,169,170,171,172, - 173,49,524,523,56,1354,2750,2782,3529,1143, - 1642,740,227,2552,2552,3616,49,379,155,3398, - 1614,1614,305,309,1365,1642,47,179,3155,2858, - 588,35,1678,387,159,202,214,4715,1461,201, - 211,212,213,215,168,3828,1033,1614,1614,3476, - 536,301,200,3454,3556,167,3620,185,166,169, - 170,171,172,173,49,2552,56,2790,56,227, - 536,2552,2972,1642,880,155,588,35,1678,387, - 3577,3578,87,2413,179,3155,2858,2957,2755,342, - 2757,342,202,214,4715,155,201,211,212,213, - 215,168,2423,198,2759,187,2552,2761,1778,297, - 432,4613,167,2542,193,166,169,170,171,172, - 173,3121,35,917,32,1671,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,1139,2539,1893,3121,35,917,32, - 2153,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,107,1139,3650, - 1919,3121,35,917,32,1333,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,107,2024,3121,35,917,32,2552,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,107,2069,1562,1614,1614, - 2763,2972,588,35,1678,387,173,1823,2792,2797, - 2787,2972,2733,2768,2794,2796,221,2122,2552,2655, - 227,1337,4783,56,5437,5437,5437,536,737,5437, - 227,3868,3676,5437,56,1354,431,5437,1143,1143, - 5437,5437,5437,204,214,4715,342,203,211,212, - 213,215,155,204,214,4715,192,203,211,212, - 213,215,1413,155,159,5437,1607,5437,2542,5437, - 5437,3660,5437,1757,205,207,209,293,294,3148, - 1585,216,206,208,205,207,209,293,294,3148, - 3361,216,206,208,2062,35,3401,32,4878,3957, - 27,30,31,936,954,338,28,929,35,1678, - 387,2904,5437,4388,1910,2861,5437,5437,2972,2941, - 5437,3305,5437,4388,331,737,5437,3251,334,5437, - 56,5437,2632,5437,1143,5437,5437,227,5437,1607, - 5437,49,1354,737,3660,5437,1143,5437,5437,5437, - 1642,2684,5437,318,1850,320,2581,313,1758,155, - 204,214,4715,2906,203,211,212,213,215,1763, - 1193,159,1691,35,917,32,4878,3957,27,30, - 31,936,954,338,28,429,5437,3361,2861,5437, - 5437,205,207,209,293,294,3148,331,216,206, - 208,3121,35,917,32,3361,2504,27,30,31, - 936,954,26,28,811,25,23,50,1042,106, - 76,77,85,5437,329,334,5437,5437,3350,2981, - 4388,318,1850,320,5437,313,1758,5437,5437,3311, - 5437,5437,3491,334,5437,5437,5437,5437,312,5437, - 588,35,1678,387,5437,5437,5437,5437,5437,417, - 418,3373,3121,1685,917,1721,5437,2504,27,30, - 31,936,954,26,28,811,25,23,50,1042, - 106,76,77,84,49,5437,5437,5437,5437,5437, - 5437,5437,5437,1642,1227,306,309,1365,3121,35, - 917,32,5437,2504,27,30,31,936,954,26, - 28,811,25,23,50,1042,106,76,77,83, - 3121,35,917,32,5437,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,82,3121,35,917,32,5437,2504,27,30, - 31,936,954,26,28,811,25,23,50,1042, - 106,76,77,81,3121,35,917,32,5437,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,80,3121,35,917,32, - 5437,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,79,3121,35, - 917,32,5437,2504,27,30,31,936,954,26, - 28,811,25,23,50,1042,106,76,77,78, - 2950,35,917,32,5437,2504,27,30,31,936, - 954,26,28,811,25,23,50,1042,106,76, - 77,104,3121,35,917,32,5437,2504,27,30, - 31,936,954,26,28,811,25,23,50,1042, - 106,76,77,109,3121,35,917,32,5437,2504, - 27,30,31,936,954,26,28,811,25,23, - 50,1042,106,76,77,108,3121,35,917,32, - 5437,2504,27,30,31,936,954,26,28,811, - 25,23,50,1042,106,76,77,105,1997,56, - 56,5437,2972,1143,1143,5437,5437,5437,1649,5437, - 5437,5437,2972,5437,5437,5437,5437,5437,1736,5437, - 5437,227,2972,5437,5437,5437,5437,5437,155,155, - 5437,227,5437,5437,5437,5437,5437,5437,2590,3848, - 5437,227,5437,5437,204,214,4715,5437,203,211, - 212,213,215,5437,204,214,4715,5437,203,211, - 212,213,215,5437,204,214,4715,5437,203,211, - 212,213,215,5437,5437,205,207,209,293,294, - 3148,5437,519,206,208,205,207,209,293,294, - 3148,5437,518,206,208,205,207,209,293,294, - 3148,2084,217,206,208,2972,5437,5437,5437,5437, - 5437,2171,5437,5437,5437,2972,5437,5437,5437,5437, - 5437,5437,5437,5437,227,5437,588,35,1678,387, - 5437,5437,5437,5437,227,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,204,214,4715, - 5437,203,211,212,213,215,5437,204,214,4715, - 49,203,211,212,213,215,5437,5437,5437,1642, - 1266,5437,5437,5437,5437,5437,5437,5437,205,207, - 209,293,294,3148,5437,304,206,208,205,207, - 209,293,294,3148,5437,498,206,208,1691,35, - 917,32,4878,3957,27,30,31,936,954,338, - 28,5437,5437,5437,5437,5437,5437,2156,35,917, - 32,5437,4745,27,30,31,936,954,338,28, - 2156,35,917,32,5437,4745,27,30,31,936, - 954,338,28,1691,35,917,32,4878,3957,27, - 30,31,936,954,338,28,5437,318,1850,320, - 5437,313,1758,5437,5437,5437,2861,588,35,1678, - 387,5437,5437,5437,2432,332,318,1850,320,2861, - 316,1758,3280,35,1678,387,5437,3319,332,318, - 1850,320,5437,314,1758,237,5437,5437,5437,5437, - 5437,49,318,1850,320,5437,313,1758,5437,5437, - 1642,658,5437,5437,5437,5437,272,5437,5437,3864, - 5437,5437,1490,35,917,32,2591,3957,27,30, - 31,936,954,338,28,1375,5437,5437,1375,2972, - 3660,5437,2972,3660,231,2236,35,917,32,2387, - 3957,27,30,31,936,954,338,28,2513,5437, - 402,2513,5437,5437,932,35,1678,387,5437,235, - 229,230,5437,5437,5437,929,35,1678,387,5437, - 273,315,3313,320,2861,5437,5437,2861,5437,5437, - 5437,5437,5437,331,5437,5437,331,5437,49,242, - 245,248,251,802,315,3313,320,1642,47,49, - 5437,5437,1047,929,35,1678,387,5437,1642,1033, - 2277,929,35,1678,387,2581,359,5437,2981,359, - 5437,2906,929,35,1678,387,5437,5437,5437,5437, - 1677,3019,3049,1677,3019,3049,5437,49,1962,35, - 1678,387,5437,5437,5437,49,1642,47,5437,5437, - 5437,5437,5437,5437,1642,47,49,5437,5437,931, - 5437,929,35,1678,387,1642,47,3366,5437,5437, - 1977,5437,49,5437,5437,5437,5437,5437,3549,5437, - 5437,1642,47,5437,929,35,1678,387,2167,35, - 1678,387,2208,1977,1186,49,2972,5437,1607,588, - 35,1678,387,3660,1642,47,56,56,5437,5437, - 536,2972,5437,5437,5437,342,56,3706,49,5437, - 2972,5437,49,5437,5437,529,5437,1642,47,342, - 342,1642,47,49,56,155,5437,2542,2972,342, - 3852,5437,1642,2502,2752,187,5437,2861,5437,532, - 5437,4613,2542,5437,5437,5437,331,342,5437,5437, - 5437,2542,5437,5437,508,5437,5437,5437,5437,5437, - 5437,5437,5437,506,5437,5437,5437,5437,5437,2542, - 5437,5437,5437,5437,5437,5437,5437,5437,4600,5437, - 5437,533,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,3651, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 3386,5437,0,39,5452,0,39,5451,0,565, - 29,0,439,799,0,453,875,0,38,626, - 0,38,5452,0,38,5451,0,2776,125,0, - 1,443,0,457,2031,0,456,2099,0,2537, - 91,0,565,386,0,35,33,0,32,34, - 0,39,626,0,1,728,0,1,5708,0, - 1,5707,0,1,5706,0,1,5705,0,1, - 5704,0,1,5703,0,1,5702,0,1,5701, - 0,1,5700,0,1,5699,0,1,5698,0, - 39,1,5452,0,39,1,5451,0,735,1, - 0,282,393,0,282,285,0,5670,240,0, - 5669,240,0,5774,240,0,5773,240,0,5697, - 240,0,5696,240,0,5695,240,0,5694,240, - 0,5693,240,0,5692,240,0,5691,240,0, - 5690,240,0,5708,240,0,5707,240,0,5706, - 240,0,5705,240,0,5704,240,0,5703,240, - 0,5702,240,0,5701,240,0,5700,240,0, - 5699,240,0,5698,240,0,39,5452,240,0, - 39,5451,240,0,5475,240,0,5452,48,0, - 5451,48,0,43,5473,0,43,37,0,2776, - 127,0,2776,126,0,5443,1,0,5442,1, - 0,2575,236,0,32,387,0,29,386,0, - 330,444,0,1,92,0,47,37,0,5475, - 1,0,39,1,0,500,3085,0,5475,1, - 228,0,39,1,228,0,228,415,0,5452, - 37,0,5451,37,0,5473,45,0,37,45, - 0,5452,36,0,5451,36,0,5452,2,37, - 0,5451,2,37,0,5447,404,0,5446,404, - 0,1,4568,0,1,3043,0,1,626,0, - 228,414,0,330,95,0,35,73,0,2629, - 317,0,1,330,0,3194,277,0,500,4378, - 0,1,228,0,228,219,0,228,218,0, - 1,574,0,1,2442,0,5449,1,0,5445, - 1,0,1,228,3697,0,5446,228,0,3712, - 228,0,5449,382,0,5448,382,0,3856,228, - 0,10,12,0,8,10,12,0,184,3619, - 0,3871,382,0,8,12,0 + 196,196,196,196,196,196,196,196,77,80, + 80,173,173,132,132,133,133,133,133,133, + 133,3,134,134,131,131,110,110,83,78, + 74,161,161,111,111,197,197,197,135,135, + 125,125,198,198,174,174,1119,35,3299,3293, + 1278,3227,27,30,31,957,1001,26,28,3224, + 25,23,50,1010,106,76,77,107,1084,1982, + 1390,1298,1556,1504,1756,56,1672,1809,1772,689, + 272,1882,1898,142,56,69,157,143,2893,71, + 2990,1888,35,862,32,4521,4550,27,30,31, + 957,1001,337,28,327,35,278,341,231,4154, + 1691,35,862,32,4708,4550,27,30,31,957, + 1001,337,28,1267,349,588,35,1982,387,723, + 1330,234,229,230,588,35,3515,1500,35,862, + 32,2107,273,41,30,31,957,1001,236,2249, + 317,2816,319,1188,312,2061,588,35,281,49, + 1762,241,244,247,250,1116,350,2995,46,317, + 2816,319,1473,312,2061,56,620,2023,155,747, + 1962,3683,342,1729,1253,347,2995,69,534,135, + 1855,559,4515,2835,2527,2838,2919,3255,4245,2316, + 35,862,32,2893,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,1084,341,1390,1298,1556,1504,1756,2725,1672, + 1809,1772,2532,2147,1882,1898,142,1039,3551,516, + 143,2164,35,276,723,2271,35,862,32,2129, + 1142,40,30,31,957,1001,517,2316,35,862, + 32,2893,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 341,1390,1298,1556,1504,1756,1016,1672,1809,1772, + 2122,1935,1882,1898,142,4612,1614,516,143,1354, + 286,1599,723,1188,1174,870,3537,2485,350,512, + 1217,35,862,32,517,3115,27,30,31,957, + 1001,57,28,540,342,1729,1253,347,159,496, + 3381,2725,340,3397,925,3707,389,426,2316,35, + 862,32,2893,2840,27,30,31,957,1001,26, + 28,776,25,23,50,1010,106,76,77,107, + 1084,341,1390,1298,1556,1504,1756,512,1672,1809, + 1772,314,2558,1882,1898,142,1773,624,516,143, + 1607,3110,1868,723,322,3110,4194,2572,3411,1010, + 1426,3397,588,3683,1603,517,2524,35,862,32, + 2893,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,107,1084,341, + 1390,1298,1556,1504,1756,3426,1672,1809,1772,3426, + 2733,1882,1898,142,331,322,516,143,330,390, + 426,723,666,588,35,1982,387,2833,512,61, + 3596,388,735,517,1860,35,862,32,429,3115, + 27,30,31,957,1001,56,28,2626,866,3474, + 497,437,3397,2659,35,862,32,272,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,442,1390,1298,1556, + 1504,1756,283,1672,1809,1772,513,1761,1882,1898, + 142,2652,287,377,143,3701,2385,35,862,32, + 2245,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,107,1084,274, + 1390,1298,1556,1504,1756,69,1672,1809,1772,1607, + 4529,1882,1898,142,3110,70,377,143,3701,93, + 2832,35,862,32,1725,2840,27,30,31,957, + 1001,26,28,776,25,23,50,1010,106,76, + 77,107,1084,2834,1390,1298,1556,1504,1756,1934, + 1672,1809,1772,60,413,1882,3509,163,3426,446, + 384,378,1515,3121,35,862,32,330,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,1229,1390,1298,1556, + 1504,1756,354,1672,1809,1772,241,3506,1882,3509, + 163,325,530,385,378,1515,327,35,278,56, + 2233,4697,1330,1188,322,2591,35,862,32,3205, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,155,1390, + 1298,1556,1504,1756,69,1672,1809,1772,1435,4564, + 1882,1898,142,2826,2600,377,143,3701,2887,35, + 862,32,1330,2840,27,30,31,957,1001,26, + 28,776,25,23,50,1010,106,76,77,107, + 1084,284,1390,1298,1556,1504,1756,2412,1672,1809, + 1772,4401,56,1882,1898,142,828,2733,157,143, + 2887,35,862,32,3307,2840,27,30,31,957, + 1001,26,28,776,25,23,50,1010,106,76, + 77,107,1084,1988,1390,1298,1556,1504,1756,3628, + 1672,1809,1772,588,3196,1882,1898,142,1017,677, + 371,143,375,378,1515,2887,35,862,32,1035, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,1445,1390, + 1298,1556,1504,1756,2606,1672,1809,1772,322,739, + 1882,1898,142,1010,322,371,143,2271,35,862, + 32,588,4152,2060,30,31,957,1001,351,3121, + 35,862,32,559,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,2472,2887,35,862,32,370,2840,27,30, + 31,957,1001,26,28,776,25,23,50,1010, + 106,76,77,107,1084,294,1390,1298,1556,1504, + 1756,293,1672,1809,1772,1761,2014,1882,1898,142, + 64,2443,371,143,459,1188,446,2457,35,862, + 32,369,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 155,1390,1298,1556,1504,1756,2209,1672,1809,1772, + 161,4627,1882,1898,142,1614,135,141,143,2887, + 35,862,32,3384,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,1084,1279,1390,1298,1556,1504,1756,24,1672, + 1809,1772,1330,56,1882,1898,142,3122,367,158, + 143,2887,35,862,32,327,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,2284,1390,1298,1556,1504,1756, + 353,1672,1809,1772,3541,1330,1882,1898,142,1614, + 530,154,143,2887,35,862,32,2189,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,1334,1390,1298,1556, + 1504,1756,69,1672,1809,1772,587,3844,1882,1898, + 142,1614,159,153,143,2887,35,862,32,4167, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,1818,1390, + 1298,1556,1504,1756,68,1672,1809,1772,624,69, + 1882,1898,142,1614,4635,152,143,2887,35,862, + 32,735,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 2149,1390,1298,1556,1504,1756,53,1672,1809,1772, + 1330,69,1882,1898,142,1614,4651,151,143,2887, + 35,862,32,735,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,1084,494,1390,1298,1556,1504,1756,87,1672, + 1809,1772,2588,1472,1882,1898,142,1614,135,150, + 143,2887,35,862,32,3835,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,142,1390,1298,1556,1504,1756, + 52,1672,1809,1772,1330,69,1882,1898,142,1873, + 4662,149,143,2887,35,862,32,1977,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,1355,1390,1298,1556, + 1504,1756,221,1672,1809,1772,2588,56,1882,1898, + 142,797,400,148,143,2887,35,862,32,524, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,2135,1390, + 1298,1556,1504,1756,352,1672,1809,1772,1330,1226, + 1882,1898,142,1614,310,147,143,2887,35,862, + 32,2019,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 142,1390,1298,1556,1504,1756,90,1672,1809,1772, + 2588,69,1882,1898,142,1614,4686,146,143,2887, + 35,862,32,523,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,1084,1146,1390,1298,1556,1504,1756,348,1672, + 1809,1772,2049,56,1882,1898,142,4304,1617,145, + 143,2887,35,862,32,2593,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,380,1390,1298,1556,1504,1756, + 403,1672,1809,1772,1330,56,1882,1898,142,670, + 1625,144,143,2887,35,862,32,2904,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,1627,1390,1298,1556, + 1504,1756,1174,1672,1809,1772,2588,56,1882,1898, + 142,2525,2683,139,143,3005,35,862,32,374, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,1323,1390, + 1298,1556,1504,1756,1330,1672,1809,1772,1010,56, + 1882,1898,142,718,1441,188,143,3121,35,862, + 32,1010,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 1604,1390,1298,1556,1504,1756,2588,1672,1809,1772, + 2552,2723,1882,3509,163,3121,35,862,32,374, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,401,1390, + 1298,1556,1504,1756,372,1672,1809,1772,405,458, + 1882,3509,163,588,2008,2379,34,160,588,35, + 1982,387,4108,3121,35,862,32,422,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,322,1390,1298,1556, + 1504,1756,430,1672,1809,1772,2552,1614,1882,3509, + 163,3121,35,862,32,291,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,3680,1390,1298,1556,1504,1756, + 2825,1672,1809,1772,297,1010,1882,3509,163,588, + 35,2379,3514,676,588,35,1982,387,2050,3176, + 35,862,32,421,2840,27,30,31,957,1001, + 26,28,776,25,23,50,1010,106,76,77, + 107,1084,135,1390,1298,1556,1504,1756,451,1672, + 1809,1772,2552,1010,1882,3509,163,3121,35,862, + 32,424,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 666,1390,1298,1556,1504,1756,51,1672,1809,1772, + 220,3235,3181,2271,35,862,32,848,2693,2146, + 30,31,957,1001,2552,3121,35,862,32,4149, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,1614,1390, + 1298,1556,1504,1756,324,1672,1809,3022,3121,35, + 862,32,301,2840,27,30,31,957,1001,26, + 28,776,25,23,50,1010,106,76,77,107, + 1084,2864,1390,1298,1556,1504,1756,1167,1672,2987, + 3121,35,862,32,1174,2840,27,30,31,957, + 1001,26,28,776,25,23,50,1010,106,76, + 77,107,1084,71,1390,1298,1556,1504,1756,2689, + 2994,3121,35,862,32,3015,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,408,1390,1298,1556,1504,2839, + 1518,35,862,32,4708,4589,27,30,31,957, + 1001,337,28,3121,35,862,32,580,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,1614,1390,1298,1556, + 2912,588,35,1982,387,1715,35,862,32,3426, + 4237,27,30,31,957,1001,59,28,330,317, + 2816,319,1015,312,2061,327,35,452,1699,67, + 4616,1700,843,35,452,433,311,4616,2732,757, + 35,1982,387,1223,3121,35,862,32,4224,2840, + 27,30,31,957,1001,26,28,776,25,23, + 50,1010,106,76,77,107,1084,1385,1390,1298, + 1556,2926,1010,272,322,737,1088,1225,588,35, + 2278,1840,304,308,1630,1400,35,862,32,3220, + 4550,27,30,31,957,1001,337,28,588,35, + 2379,275,2344,35,862,32,2232,4237,27,30, + 31,957,1001,26,28,1559,510,3898,588,3604, + 2379,74,1898,35,3744,32,4708,4589,27,30, + 31,957,1001,337,28,3521,2556,4458,838,231, + 1188,302,2807,56,317,2816,319,821,312,2061, + 56,2552,72,97,3507,1614,1243,35,3516,1798, + 350,3641,243,229,230,155,1615,588,35,1982, + 387,3426,326,333,199,3221,342,1729,1253,347, + 330,317,2816,319,3611,312,2061,521,66,178, + 49,1947,35,276,1965,445,3867,3868,2488,1972, + 2528,272,449,3867,3868,181,3121,35,862,32, + 4224,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,107,1084,420, + 1390,1298,2493,3121,35,862,32,3173,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,1084,2887,1390,1298,2517, + 1088,1614,1714,338,2725,2572,3066,35,862,32, + 364,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,86,76,77,416,418,3738, + 1715,35,862,32,65,4237,27,30,31,957, + 1001,58,28,1543,35,2379,3610,3121,35,862, + 32,2050,2840,27,30,31,957,1001,26,28, + 776,25,23,50,1010,106,76,77,107,1084, + 1317,1390,1298,2565,3121,35,862,32,2022,2840, + 27,30,31,957,1001,26,28,776,25,23, + 50,1010,106,76,77,107,1084,259,1390,1298, + 2616,536,1543,35,2379,275,2151,588,35,1982, + 387,521,392,426,2715,56,1010,2623,2893,3000, + 227,536,1614,2619,221,3347,155,1614,1240,1709, + 1976,35,1982,387,2552,179,2601,341,238,2588, + 341,432,1614,202,214,4486,155,201,211,212, + 213,215,168,1,56,64,187,536,3027,791, + 3175,3281,4289,167,49,182,166,169,170,171, + 172,173,197,1972,877,55,227,588,35,2379, + 277,323,155,3231,35,1982,387,231,2982,1390, + 231,179,2601,920,56,2588,236,98,2714,202, + 214,4486,2425,201,211,212,213,215,168,1606, + 239,229,230,246,229,230,2491,272,189,167, + 180,183,166,169,170,171,172,173,2070,35, + 862,32,3220,4550,27,30,31,957,1001,337, + 28,3121,35,862,32,231,2840,27,30,31, + 957,1001,26,28,776,25,23,50,1010,106, + 76,77,107,1084,88,1390,2644,102,234,229, + 230,231,929,35,1982,387,2863,1701,1614,273, + 588,35,1982,387,1712,1614,379,317,2816,319, + 2485,312,2061,1614,249,229,230,3658,241,244, + 247,250,1116,350,525,56,49,1614,441,3238, + 455,54,486,620,49,1972,3440,737,320,342, + 1729,1253,347,1972,1462,56,101,526,933,4322, + 2835,2527,2838,2919,3255,4245,3121,35,862,32, + 3601,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,107,1084,2440, + 1390,2788,1363,35,862,32,2552,4589,27,30, + 31,957,1001,337,28,3121,35,862,32,4458, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,2552,2404, + 588,35,1982,387,196,932,35,1982,387,56, + 1374,3426,1180,1188,3399,333,2893,4701,322,1614, + 331,317,2816,319,735,313,2061,2343,345,1614, + 3314,2893,536,3596,49,227,300,350,1813,49, + 2407,35,279,1972,679,588,35,292,1972,1546, + 341,227,2284,344,1729,1253,347,155,1892,406, + 4376,2489,450,2044,56,56,179,2601,536,4524, + 2588,1783,4133,2484,202,214,4486,4499,201,211, + 212,213,215,168,431,381,2552,341,536,407, + 408,409,3595,155,167,1778,4151,166,169,170, + 171,172,173,1561,2556,3576,349,227,536,723, + 1607,2552,3565,155,1875,3110,1351,2447,35,1982, + 387,1519,179,2601,200,56,2588,3851,2725,4578, + 202,214,4486,155,201,211,212,213,215,168, + 517,2122,179,2601,536,1780,4612,3108,350,198, + 167,49,177,166,169,170,171,172,173,3426, + 1972,1588,1762,227,342,1729,1253,347,330,155, + 194,2737,1855,933,522,410,412,2552,179,2601, + 1285,615,2588,3321,2893,4701,202,214,4486,1453, + 201,211,212,213,215,168,603,56,3072,874, + 536,3398,3290,227,2619,2125,167,231,175,166, + 169,170,171,172,173,296,56,2244,2277,227, + 536,1243,35,395,4112,155,1892,406,4376,56, + 252,229,230,4577,179,2601,391,426,2588,341, + 2380,1426,202,214,4486,155,201,211,212,213, + 215,168,689,42,3479,1435,536,407,408,409, + 3595,723,167,2481,176,166,169,170,171,172, + 173,2306,56,1645,1503,227,2893,1614,2893,56, + 3565,155,522,1227,2079,2827,195,2305,1562,56, + 179,2601,2893,997,2588,341,528,341,202,214, + 4486,2446,201,211,212,213,215,168,775,428, + 376,227,536,1643,35,292,1096,723,167,872, + 186,166,169,170,171,172,173,3921,1354,2193, + 2691,227,1188,3817,204,214,4486,155,203,211, + 212,213,215,410,413,89,179,2601,102,615, + 2588,1643,3853,292,202,214,4486,159,201,211, + 212,213,215,168,2453,205,207,209,3595,1781, + 216,206,208,1761,167,2371,4168,166,169,170, + 171,172,173,1952,35,862,32,4708,4550,27, + 30,31,957,1001,337,28,1983,1962,3683,49, + 1308,3110,4392,2646,2515,2615,2285,2893,1354,1354, + 861,2414,1188,1188,536,1562,1250,588,35,1982, + 387,44,3479,1687,3551,2555,2535,588,35,2379, + 3719,56,56,227,1192,4130,1385,159,159,155, + 735,2582,317,2816,319,3426,312,2061,179,2601, + 1767,431,2588,1562,331,1515,202,214,4486,311, + 201,211,212,213,215,168,588,35,2379,280, + 1354,350,1192,947,1188,2690,167,536,191,166, + 169,170,171,172,173,2714,2490,344,1729,1253, + 347,56,504,56,2716,4595,227,2893,321,159, + 2649,1906,155,2852,2988,304,308,1630,530,56, + 1997,179,2601,2893,2893,2588,341,286,56,202, + 214,4486,4139,201,211,212,213,215,168,4158, + 1033,2648,341,227,536,502,503,2654,723,167, + 3898,185,166,169,170,171,172,173,2552,2727, + 2277,1144,3707,227,723,2621,204,214,4486,155, + 203,211,212,213,215,3003,2347,56,179,2601, + 56,4711,2588,2729,2526,56,202,214,4486,3483, + 201,211,212,213,215,168,1391,205,207,209, + 3595,56,519,206,208,3128,167,2730,193,166, + 169,170,171,172,173,3121,35,862,32,2728, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,107,1084,2734,2427, + 3121,35,862,32,2627,2840,27,30,31,957, + 1001,26,28,776,25,23,50,1010,106,76, + 77,107,2478,3121,35,862,32,1675,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,107,2481,2062,35,3744,32, + 4708,4550,27,30,31,957,1001,337,28,2746, + 1691,35,862,32,4708,4550,27,30,31,957, + 1001,337,28,3121,35,862,32,2747,2840,27, + 30,31,957,1001,26,28,776,25,23,50, + 1010,106,76,77,85,56,56,1614,1614,2710, + 1188,1243,35,395,56,317,2816,319,963,312, + 2061,56,2082,2750,2068,3493,588,35,292,317, + 2816,319,2488,312,2061,3387,2735,2751,2754,2755, + 3362,3418,3121,2008,862,2024,311,2840,27,30, + 31,957,1001,26,28,776,25,23,50,1010, + 106,76,77,84,3121,35,862,32,2789,2840, + 27,30,31,957,1001,26,28,776,25,23, + 50,1010,106,76,77,83,1614,1614,1243,35, + 395,2787,305,308,1630,3121,35,862,32,2791, + 2840,27,30,31,957,1001,26,28,776,25, + 23,50,1010,106,76,77,82,3929,2792,3520, + 1724,417,418,3738,3121,35,862,32,3287,2840, + 27,30,31,957,1001,26,28,776,25,23, + 50,1010,106,76,77,81,3121,35,862,32, + 2793,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,80,3121,35, + 862,32,87,2840,27,30,31,957,1001,26, + 28,776,25,23,50,1010,106,76,77,79, + 3121,35,862,32,4166,2840,27,30,31,957, + 1001,26,28,776,25,23,50,1010,106,76, + 77,78,2950,35,862,32,2760,2840,27,30, + 31,957,1001,26,28,776,25,23,50,1010, + 106,76,77,104,3121,35,862,32,2761,2840, + 27,30,31,957,1001,26,28,776,25,23, + 50,1010,106,76,77,109,3121,35,862,32, + 2765,2840,27,30,31,957,1001,26,28,776, + 25,23,50,1010,106,76,77,108,3121,35, + 862,32,1614,2840,27,30,31,957,1001,26, + 28,776,25,23,50,1010,106,76,77,105, + 1823,56,56,2413,2893,1188,1188,2938,2766,1910, + 56,1614,2347,2893,1188,1808,1354,2772,173,2794, + 1188,2580,2799,227,588,35,1982,387,2552,2736, + 155,155,227,2552,2774,2854,2909,1614,2742,155, + 2185,3120,1337,5251,4163,159,204,214,4486,2446, + 203,211,212,213,215,204,214,4486,49,203, + 211,212,213,215,1607,5251,221,1972,2641,3110, + 3640,192,5251,5251,5251,5251,5251,205,207,209, + 3595,5251,216,206,208,5251,205,207,209,3595, + 5251,216,206,208,2156,35,862,32,5251,4589, + 27,30,31,957,1001,337,28,588,35,1982, + 387,3139,1314,3426,4392,3280,35,1982,387,5251, + 2982,2524,4270,4392,2156,35,862,32,237,4589, + 27,30,31,957,1001,337,28,5251,5251,5251, + 2034,49,5251,3426,5251,3110,5251,5251,5251,272, + 1972,877,331,317,2816,319,5251,315,2061,1691, + 35,862,32,4708,4550,27,30,31,957,1001, + 337,28,2208,3426,2234,56,2893,231,2893,1188, + 5251,5251,331,317,2816,319,5251,313,2061,3426, + 1649,5251,2234,5251,2893,341,2893,2535,4270,5251, + 235,229,230,1796,155,529,94,2893,5251,5251, + 5251,273,5251,227,2605,2535,5251,723,317,2816, + 319,5251,312,2061,5251,5251,2535,5251,5251,532, + 242,245,248,251,1116,4165,204,214,4486,5251, + 203,211,212,213,215,620,1490,35,862,32, + 2572,4550,27,30,31,957,1001,337,28,5251, + 56,56,1736,358,1188,1188,2893,205,207,209, + 3595,2084,518,206,208,2893,5251,2837,3526,3535, + 5251,358,96,5251,402,227,5251,5251,5251,155, + 155,5251,359,5251,227,3017,3526,3535,56,2711, + 2832,5251,1188,5251,5251,314,3665,319,204,214, + 4486,5251,203,211,212,213,215,204,214,4486, + 5251,203,211,212,213,215,5251,155,737,2171, + 5251,5251,5251,2893,5251,5251,5251,2522,5251,205, + 207,209,3595,5251,217,206,208,5251,205,207, + 209,3595,227,303,206,208,2236,35,862,32, + 2410,4550,27,30,31,957,1001,337,28,1375, + 3373,5251,5251,2893,3110,204,214,4486,5251,203, + 211,212,213,215,5251,932,35,1982,387,5251, + 4458,1375,2535,5251,737,2893,3110,5251,5251,929, + 35,1982,387,5251,2899,5251,205,207,209,3595, + 5251,498,206,208,2535,314,3665,319,3426,49, + 929,35,1982,387,5251,332,333,330,1972,47, + 5251,5251,5251,49,932,35,1982,387,5251,5251, + 3426,3150,1972,47,5251,5251,5251,2646,737,330, + 5251,2893,5251,5251,49,646,4458,3506,358,929, + 35,1982,387,1972,3069,737,5251,5251,49,5251, + 2535,5251,2308,3526,3535,5251,2617,1972,47,3072, + 358,5251,929,35,1982,387,929,35,1982,387, + 2273,3542,333,49,2308,3526,3535,929,35,1982, + 387,5251,1972,3485,5251,2167,35,1982,387,5251, + 4458,5251,5251,5251,2899,2617,49,5251,5251,5251, + 49,929,35,1982,387,1972,47,4458,5251,1972, + 47,49,929,35,1982,387,504,5251,2108,49, + 1972,47,2194,5251,5251,328,333,5251,1972,47, + 5251,5251,5251,2451,5251,49,2221,35,1982,387, + 5251,3155,3685,333,1972,47,49,588,35,1982, + 387,588,35,1982,387,1972,47,2817,1607,501, + 503,2647,5251,3110,5251,2893,5251,5251,3527,5251, + 49,5251,5251,56,56,5251,5251,536,536,1972, + 47,49,56,56,2535,49,536,2893,5251,5251, + 1972,731,3856,5251,1972,2715,341,341,5251,5251, + 3854,5251,155,155,5251,341,341,3426,5251,5251, + 56,155,187,187,2893,5251,330,5251,4289,4289, + 56,187,56,5251,2893,56,1188,4289,723,2893, + 5251,5251,5251,341,5251,5251,5251,5251,5251,5251, + 2147,5251,5251,341,5251,5251,4254,5251,341,5251, + 504,155,5251,5251,5251,723,5251,5251,5251,5251, + 5251,4141,5251,5251,5251,723,5251,508,5251,5251, + 723,5251,5251,5251,3837,3838,5251,506,5251,5251, + 5251,5251,533,3916,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,501,503,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,4142,5251,0,39,5266,0, + 39,5265,0,565,29,0,439,665,0,453, + 1222,0,38,2103,0,38,5266,0,38,5265, + 0,2757,125,0,1,443,0,457,1313,0, + 456,2018,0,3119,91,0,565,386,0,35, + 33,0,32,34,0,39,2103,0,1,575, + 0,1,5522,0,1,5521,0,1,5520,0, + 1,5519,0,1,5518,0,1,5517,0,1, + 5516,0,1,5515,0,1,5514,0,1,5513, + 0,1,5512,0,39,1,5266,0,39,1, + 5265,0,627,1,0,282,393,0,282,285, + 0,5484,240,0,5483,240,0,5587,240,0, + 5586,240,0,5511,240,0,5510,240,0,5509, + 240,0,5508,240,0,5507,240,0,5506,240, + 0,5505,240,0,5504,240,0,5522,240,0, + 5521,240,0,5520,240,0,5519,240,0,5518, + 240,0,5517,240,0,5516,240,0,5515,240, + 0,5514,240,0,5513,240,0,5512,240,0, + 39,5266,240,0,39,5265,240,0,5289,240, + 0,5266,48,0,5265,48,0,43,5287,0, + 43,37,0,2757,127,0,2757,126,0,5257, + 1,0,5256,1,0,789,236,0,32,387, + 0,29,386,0,329,444,0,1,92,0, + 47,37,0,5289,1,0,39,1,0,500, + 3585,0,5289,1,228,0,39,1,228,0, + 228,415,0,5266,37,0,5265,37,0,5287, + 45,0,37,45,0,5266,36,0,5265,36, + 0,5266,2,37,0,5265,2,37,0,5261, + 404,0,5260,404,0,1,600,0,1,2824, + 0,1,2103,0,228,414,0,329,95,0, + 35,73,0,3035,316,0,1,329,0,3518, + 277,0,500,4320,0,1,228,0,228,219, + 0,1,3331,0,1,3841,0,228,218,0, + 5263,1,0,5259,1,0,1,228,3980,0, + 5260,228,0,4002,228,0,5263,382,0,5262, + 382,0,4148,228,0,10,12,0,8,10, + 12,0,184,3583,0,4172,382,0,8,12, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1329,31 +1292,31 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 20,21,22,23,24,67,0,27,28,29, 30,31,32,33,34,35,36,0,0,63, 40,48,4,63,68,8,70,69,48,73, - 68,0,70,102,103,104,56,57,58,59, + 0,1,2,102,103,104,56,57,58,59, 22,61,62,0,64,0,1,2,3,4, 5,8,7,0,0,0,3,3,0,1, 2,3,4,5,6,7,86,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,1,2,25,26,5,55,7,0,0, + 0,1,2,25,26,5,0,7,0,3, 73,37,38,0,0,37,38,39,4,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,0,0,0,73,63,60,61, - 0,6,0,65,66,0,1,2,3,4, + 0,0,0,65,66,0,1,2,3,4, 5,6,7,90,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,55,55, - 25,26,63,0,1,2,68,4,5,105, + 25,26,0,0,1,2,0,4,5,105, 7,68,37,38,39,0,41,42,43,44, 45,46,47,119,49,50,51,52,53,54, - 0,1,2,70,70,60,6,94,95,0, + 0,1,2,68,70,60,6,94,95,0, 65,66,3,68,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,0,1,2,25, - 26,0,0,0,0,0,0,3,48,8, + 26,0,0,0,68,0,70,4,48,8, 8,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, + 46,47,90,49,50,51,52,53,54,0, 1,2,0,0,60,0,0,1,2,0, 8,67,0,4,48,71,0,1,2,3, - 4,5,6,7,48,9,10,11,12,13, + 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,67,55, 0,25,26,0,0,73,3,48,8,0, 0,8,68,37,38,39,0,41,42,43, @@ -1365,46 +1328,46 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,0,63,73,0,0,73,0,68,8, 37,38,39,8,41,42,43,44,45,46, 47,0,49,50,51,52,53,54,27,0, - 0,0,27,60,94,95,55,0,65,66, + 0,0,27,60,94,95,55,6,65,66, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,55,0,0,25,26,3,0,48, - 0,3,0,69,4,0,0,37,38,39, + 0,3,0,3,70,0,0,37,38,39, 8,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,68,0,27, - 60,0,4,72,0,10,10,67,0,1, + 50,51,52,53,54,0,0,0,0,27, + 60,0,4,0,75,10,10,67,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 55,55,0,25,26,40,40,0,0,0, 0,4,0,48,48,37,38,39,72,41, 42,43,44,45,46,47,55,49,50,51, - 52,53,54,0,0,0,0,3,60,5, - 6,0,0,9,3,67,0,0,0,3, - 0,0,0,3,0,0,0,55,48,25, + 52,53,54,0,0,0,69,3,60,5, + 6,68,0,9,0,67,0,0,0,0, + 3,0,0,0,0,0,0,55,48,25, 26,0,55,55,55,0,0,55,3,0, - 0,37,38,3,0,41,0,3,0,3, - 0,3,0,3,0,3,0,0,55,55, - 3,0,40,0,0,121,0,63,0,65, - 66,0,68,69,70,69,0,72,0,0, - 55,0,70,0,0,0,0,69,0,72, - 69,87,88,89,70,69,92,93,94,95, + 0,37,38,0,0,41,3,3,0,0, + 0,48,3,3,0,0,0,3,3,55, + 55,0,0,0,3,40,3,63,0,65, + 66,55,68,69,70,63,0,0,0,55, + 0,0,0,0,0,0,72,69,0,70, + 69,87,88,89,72,72,92,93,94,95, 96,97,98,99,100,101,70,39,69,105, - 0,107,108,109,110,111,112,113,114,115, + 70,107,108,109,110,111,112,113,114,115, 116,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,90,69,25,26,70,118, - 0,72,69,72,69,0,0,0,37,38, - 39,75,41,42,43,44,45,46,47,0, + 19,20,21,0,118,69,25,26,70,69, + 0,0,121,72,72,72,0,69,37,38, + 39,0,41,42,43,44,45,46,47,0, 49,50,51,52,53,54,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,0,0, 0,25,26,0,0,55,0,0,0,0, - 0,0,0,37,38,39,0,41,42,43, + 0,0,69,37,38,39,0,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,0,0,0,0,60,0,117,0, 1,2,3,4,5,6,7,0,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, + 21,0,0,0,25,26,0,69,0,0, 0,0,0,0,0,0,37,38,39,0, 41,42,43,44,45,46,47,0,49,50, 51,52,53,54,0,1,2,3,4,5, @@ -1461,346 +1424,346 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5437,5402,5381,5381,5381,5381,5381,5381,5418,5381, + 5251,5216,5195,5195,5195,5195,5195,5195,5232,5195, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,1,1,1,1,1,5220,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,138,1, - 1,1,1,1,1,1,1,1,1,2281, - 1,5611,2569,114,3479,1,1,5448,39,3824, - 5437,5444,5475,3250,3442,3737,3435,2203,3391,3637, - 3174,3734,1806,3720,3418,3718,10,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,330,5421,5421,5421,5421,5421, - 5421,394,5421,5421,5421,5421,5421,5421,5421,2241, - 5421,5421,5421,5421,3288,3801,630,5421,383,5437, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,8,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5437,5424,5424,5424,5424,5424,5424,2642,5424,5424, - 5424,5424,5424,5424,5424,300,5424,5424,5424,5424, - 285,5174,5174,5424,282,5736,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5437,5402, - 5381,5381,5381,5381,5381,5381,5409,5381,1,1, + 1,1,1,1,1,1,1,1,1,1321, + 1,5425,2198,114,3799,1,1,5262,39,3763, + 5251,5258,5289,3174,1640,4138,3076,2199,2844,3948, + 3138,4090,1263,4068,2586,4046,10,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,329,5235,5235,5235,5235,5235, + 5235,394,5235,5235,5235,5235,5235,5235,5235,2237, + 5235,5235,5235,5235,4132,3740,1329,5235,295,5251, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,8,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 383,5238,5238,5238,5238,5238,5238,3315,5238,5238, + 5238,5238,5238,5238,5238,299,5238,5238,5238,5238, + 285,4988,4988,5238,282,5549,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5251,5216, + 5195,5195,5195,5195,5195,5195,5223,5195,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5406,1,1,1,1, + 1,1,1,1,1,5220,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5437,1,1,1, - 1,1,1,438,1,1,1,2281,1,5611, - 2569,5437,3479,1,1,5448,5437,5076,5073,5445, - 5475,5437,3442,3737,3435,2203,3391,3637,3174,3734, - 1806,3720,3418,3718,5437,5402,5381,5381,5381,5381, - 5381,5381,5409,5381,1,1,1,1,1,1, + 1,1,1,1,1,1,5251,1,1,1, + 1,1,1,438,1,1,1,1321,1,5425, + 2198,5251,3799,1,1,5262,5251,4890,4887,5259, + 5289,5251,1640,4138,3076,2199,2844,3948,3138,4090, + 1263,4068,2586,4046,5251,5216,5195,5195,5195,5195, + 5195,5195,5223,5195,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5406,1,1,1,1,1,1,1,1, + 1,5220,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5444,1,1,1,1,1,1,134, - 1,1,1,2281,1,5611,2569,116,3479,1, - 1,5448,110,3824,5437,5871,5872,5873,3442,3737, - 3435,2203,3391,3637,3174,3734,1806,3720,3418,3718, - 5437,5402,5381,5381,5381,5381,5381,5381,5409,5381, + 1,1,5258,1,1,1,1,1,1,134, + 1,1,1,1321,1,5425,2198,116,3799,1, + 1,5262,110,3763,5251,5685,5686,5687,1640,4138, + 3076,2199,2844,3948,3138,4090,1263,4068,2586,4046, + 5251,5216,5195,5195,5195,5195,5195,5195,5223,5195, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,1,1,1,1,1,5220,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5437,1, - 1,1,1,1,1,135,1,1,1,2281, - 1,5611,2569,130,3479,1,1,5448,2324,3801, - 630,4302,594,4324,3442,3737,3435,2203,3391,3637, - 3174,3734,1806,3720,3418,3718,5437,5402,5381,5381, - 5381,5381,5381,5381,5409,5381,1,1,1,1, + 1,1,1,1,1,1,1,1,5251,1, + 1,1,1,1,1,135,1,1,1,1321, + 1,5425,2198,130,3799,1,1,5262,2318,3740, + 1329,4064,2381,4086,1640,4138,3076,2199,2844,3948, + 3138,4090,1263,4068,2586,4046,5251,5216,5195,5195, + 5195,5195,5195,5195,5223,5195,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5406,1,1,1,1,1,1, + 1,1,1,5220,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1,1,1,1,1, - 1,5437,1,1,1,2281,1,5611,2569,115, - 3479,1,1,5448,2324,3824,120,5437,5451,5452, - 3442,3737,3435,2203,3391,3637,3174,3734,1806,3720, - 3418,3718,5437,5402,5381,5381,5381,5381,5381,5381, - 5409,5381,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5406, + 1,1,1,1,5251,1,1,1,1,1, + 1,5251,1,1,1,1321,1,5425,2198,115, + 3799,1,1,5262,2318,3763,120,5251,5265,5266, + 1640,4138,3076,2199,2844,3948,3138,4090,1263,4068, + 2586,4046,5251,5216,5195,5195,5195,5195,5195,5195, + 5223,5195,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5220, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5437,1,1,1,1,1,1,5437,1,1, - 1,2281,1,5611,2569,5437,3479,1,1,5448, - 2458,3801,630,3125,3151,5437,3442,3737,3435,2203, - 3391,3637,3174,3734,1806,3720,3418,3718,5437,5402, - 5381,5381,5381,5381,5381,5381,5409,5381,1,1, + 5251,1,1,1,1,1,1,5251,1,1, + 1,1321,1,5425,2198,5251,3799,1,1,5262, + 2568,3740,1329,2951,3046,5251,1640,4138,3076,2199, + 2844,3948,3138,4090,1263,4068,2586,4046,5251,5216, + 5195,5195,5195,5195,5195,5195,5223,5195,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5406,1,1,1,1, + 1,1,1,1,1,5220,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,335,1,1,1, - 1,1,1,2750,1,1,1,2281,1,5611, - 2569,5437,3479,1,1,5448,5437,5451,5452,5773, - 5774,2458,3442,3737,3435,2203,3391,3637,3174,3734, - 1806,3720,3418,3718,5437,5402,5381,5381,5381,5381, - 5381,5381,5409,5381,1,1,1,1,1,1, + 1,1,1,1,1,1,334,1,1,1, + 1,1,1,3327,1,1,1,1321,1,5425, + 2198,5251,3799,1,1,5262,5251,5265,5266,5586, + 5587,2568,1640,4138,3076,2199,2844,3948,3138,4090, + 1263,4068,2586,4046,5251,5216,5195,5195,5195,5195, + 5195,5195,5223,5195,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5406,1,1,1,1,1,1,1,1, + 1,5220,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5437,1,1,1,1,1,1,5437, - 1,1,1,2281,1,5611,2569,1,3479,1, - 1,5448,5437,5076,5073,5399,5475,5437,3442,3737, - 3435,2203,3391,3637,3174,3734,1806,3720,3418,3718, - 5437,5402,5381,5381,5381,5381,5381,5381,5409,5381, + 1,1,5251,1,1,1,1,1,1,5251, + 1,1,1,1321,1,5425,2198,1,3799,1, + 1,5262,5251,4890,4887,5213,5289,5251,1640,4138, + 3076,2199,2844,3948,3138,4090,1263,4068,2586,4046, + 5251,5216,5195,5195,5195,5195,5195,5195,5223,5195, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,1,1,1,1,1,5220,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5444,1, - 1,1,1,1,1,2768,1,1,1,2281, - 1,5611,2569,5437,3479,1,1,5448,5437,5260, - 5257,48,5260,5257,3442,3737,3435,2203,3391,3637, - 3174,3734,1806,3720,3418,3718,5437,5402,5381,5381, - 5381,5381,5381,5381,5409,5381,1,1,1,1, + 1,1,1,1,1,1,1,1,5258,1, + 1,1,1,1,1,3328,1,1,1,1321, + 1,5425,2198,5251,3799,1,1,5262,5251,5074, + 5071,48,5074,5071,1640,4138,3076,2199,2844,3948, + 3138,4090,1263,4068,2586,4046,5251,5216,5195,5195, + 5195,5195,5195,5195,5223,5195,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5406,1,1,1,1,1,1, + 1,1,1,5220,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1,1,1,1,1, - 1,5437,1,1,1,2281,1,5611,2569,5437, - 3479,1,1,5448,113,5437,91,5441,2575,5109, - 3442,3737,3435,2203,3391,3637,3174,3734,1806,3720, - 3418,3718,5437,3697,1,1,1,1,1,1, - 3712,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5446, + 1,1,1,1,5251,1,1,1,1,1, + 1,5251,1,1,1,1321,1,5425,2198,5251, + 3799,1,1,5262,113,5251,91,5255,789,4923, + 1640,4138,3076,2199,2844,3948,3138,4090,1263,4068, + 2586,4046,5251,3980,1,1,1,1,1,1, + 4002,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5260, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5437,1,1,1,1,1,1,5437,1,1, - 1,2281,1,5611,2569,5437,3479,1,1,5448, - 5437,1291,5437,4302,1212,4324,3442,3737,3435,2203, - 3391,3637,3174,3734,1806,3720,3418,3718,39,5076, - 5073,1137,735,4112,4192,3043,5440,4214,863,5700, - 5698,5707,5706,5702,5703,5701,5704,5705,5708,5699, - 5696,5773,5774,4170,4148,136,5690,5697,5693,5669, - 5695,5694,5691,5692,5670,4258,4236,5456,5834,4051, - 617,729,5458,665,3098,722,5437,5459,5457,593, - 5453,5454,5455,5437,1403,5835,5836,2859,1336,5437, - 5312,5312,228,5308,228,228,228,5316,228,1, + 5251,1,1,1,1,1,1,5251,1,1, + 1,1321,1,5425,2198,5251,3799,1,1,5262, + 5251,1688,5251,4064,1436,4086,1640,4138,3076,2199, + 2844,3948,3138,4090,1263,4068,2586,4046,39,4890, + 4887,1139,627,3872,3954,2824,5254,3976,1136,5514, + 5512,5521,5520,5516,5517,5515,5518,5519,5522,5513, + 5510,5586,5587,3925,3894,136,5504,5511,5507,5483, + 5509,5508,5505,5506,5484,4020,3998,5270,5648,3813, + 613,722,5272,650,2716,667,5251,5273,5271,579, + 5267,5268,5269,5251,1126,5649,5650,3226,1397,5251, + 5126,5126,228,5122,228,228,228,5130,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,3850,228,1,1,1, - 1,1,1,1,1,1,5437,5076,5073,1, - 735,5121,124,3043,223,132,5437,5305,393,5171, - 5171,5437,282,5437,2832,1,1,1,2530,224, - 5848,1271,396,5451,5452,2291,5696,5773,5774,357, - 415,228,5690,5697,5693,5669,5695,5694,5691,5692, - 5670,5696,5773,5774,941,5936,5437,5690,5697,5693, - 5669,5695,5694,5691,5692,5670,282,5437,5437,8833, - 8833,5871,5872,5873,5437,5312,5312,228,5308,228, - 228,228,5360,228,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3125, - 3151,228,1,1,1,1,1,1,1,1, - 1,2621,33,2356,1,5115,5473,5437,5115,5437, - 5115,5115,5305,37,5296,5296,8,5449,5296,5793, - 1,1,1,2530,5434,5848,1271,5115,5115,5115, - 43,5266,5266,1,128,414,228,5437,5437,5115, - 5115,160,344,5076,5073,2552,735,626,330,3043, - 5936,330,5437,5437,1,5302,5302,5115,5299,5437, - 330,2668,362,330,123,5115,5871,5872,5873,1, - 5115,5115,5115,5115,5115,5115,5448,5072,5263,366, - 5164,5160,2552,5168,626,1,3043,5434,1,5115, - 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, - 5115,5115,5115,5115,5437,1896,160,5115,5115,5115, - 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, - 5437,5115,5115,5118,117,1934,5118,362,5118,5118, - 2473,2400,29,386,386,5287,386,386,5287,386, - 5287,5287,1896,3184,362,5118,5118,5118,1189,3776, - 3751,3125,3151,5437,386,386,386,5118,5118,5287, + 1,1,1,1,5251,4147,228,1,1,1, + 1,1,1,1,1,1,5251,4890,4887,1, + 627,4935,124,2824,223,132,5251,5119,393,4985, + 4985,5251,282,5251,3350,1,1,1,3423,224, + 5662,638,396,5265,5266,2285,5510,5586,5587,356, + 415,228,5504,5511,5507,5483,5509,5508,5505,5506, + 5484,5510,5586,5587,2455,5750,5251,5504,5511,5507, + 5483,5509,5508,5505,5506,5484,282,5251,5251,8647, + 8647,5685,5686,5687,5251,5126,5126,228,5122,228, + 228,228,5174,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2951, + 3046,228,1,1,1,1,1,1,1,1, + 1,574,33,2350,1,4929,5287,5251,4929,5251, + 4929,4929,5119,37,5110,5110,8,5263,5110,5606, + 1,1,1,3423,5248,5662,638,4929,4929,4929, + 43,5080,5080,1,128,414,228,5251,5251,4929, + 4929,160,343,4890,4887,581,627,2103,329,2824, + 5750,329,5251,5251,1,5116,5116,4929,5113,5251, + 329,2753,361,329,123,4929,5685,5686,5687,1, + 4929,4929,4929,4929,4929,4929,5262,4886,5077,365, + 4978,4974,581,4982,2103,1,2824,5248,1,4929, + 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, + 4929,4929,4929,4929,5251,1050,160,4929,4929,4929, + 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, + 5251,4929,4929,4932,117,1943,4932,361,4932,4932, + 2494,2423,29,386,386,5101,386,386,5101,386, + 5101,5101,1050,3389,361,4932,4932,4932,1230,3715, + 3085,2951,3046,5251,386,386,386,4932,4932,5101, 386,386,386,386,386,386,386,386,386,1, - 5164,5160,5351,5168,5357,5118,5354,5447,5437,38, - 5094,5091,1,5118,5088,3698,3043,5079,5118,5118, - 5118,5118,5118,5118,5437,5287,5446,308,5164,5160, - 4568,5168,626,5372,3043,5287,5372,5118,5118,5118, - 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, - 5118,5118,36,5334,5331,5118,5118,5118,5118,5118, - 5118,5118,5118,5118,5118,5118,5118,5118,122,5118, - 5118,5437,5381,5381,228,5381,228,228,228,5384, + 4978,4974,5165,4982,5171,4932,5168,5261,5251,38, + 4908,4905,1,4932,4902,4733,2824,4893,4932,4932, + 4932,4932,4932,4932,5251,5101,5260,307,4978,4974, + 600,4982,2103,5186,2824,5101,5186,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, + 4932,4932,36,5148,5145,4932,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,122,4932, + 4932,5251,5195,5195,228,5195,228,228,228,5198, 228,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5837,5437,228,1, - 1,8751,1,1,1,1,1,1,443,1, - 1,1,1,5437,5100,225,39,5100,5437,5378, - 5475,5447,330,5437,121,330,138,1,1,1, - 2759,5443,5647,2569,457,3479,456,5696,5773,5774, - 5446,5437,219,5690,5697,5693,5669,5695,5694,5691, - 5692,5670,289,5451,5452,3125,3151,5936,5437,5381, - 5381,228,5381,228,228,228,228,228,1,1, + 1,1,1,1,1,1,5651,5251,228,1, + 1,8565,1,1,1,1,1,1,443,1, + 1,1,1,5251,4914,225,39,4914,5251,5192, + 5289,5261,329,5251,121,329,138,1,1,1, + 3461,5257,5461,2198,457,3799,456,5510,5586,5587, + 5260,5251,219,5504,5511,5507,5483,5509,5508,5505, + 5506,5484,295,5265,5266,2951,3046,5750,5251,5195, + 5195,228,5195,228,228,228,228,228,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3944,5437,228,1,1,8751,1, - 1,1,1,1,1,1853,5442,5103,1,5106, - 1,5164,5160,4568,5168,626,5378,3043,112,111, - 133,3125,3151,3271,1,1,1,2759,129,5647, - 2569,131,3479,3257,5437,5076,5073,2241,735,626, - 594,3043,3288,1810,1767,1724,1681,1638,1595,1552, - 1509,1466,1423,5437,5936,5437,5381,5381,228,5381, - 228,228,228,5387,228,1,1,1,1,1, + 1,1,1,3786,5251,228,1,1,8565,1, + 1,1,1,1,1,1901,5256,4917,1,4920, + 1,4978,4974,600,4982,2103,5192,2824,112,111, + 133,2951,3046,3647,1,1,1,3461,129,5461, + 2198,131,3799,1217,5251,4890,4887,2237,627,2103, + 2381,2824,4132,1859,1817,1775,1733,1691,1649,1607, + 1565,1523,1481,5251,5750,5251,5195,5195,228,5195, + 228,228,228,5207,228,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 531,5437,228,1,1,8751,1,1,1,1, - 1,1,444,39,39,1,5475,5437,5290,226, - 5437,5290,137,5378,3424,5445,5437,4302,4302,4324, - 4324,1,1,1,2759,1,5647,2569,2356,3479, - 5437,5696,5773,5774,2473,2400,218,5690,5697,5693, - 5669,5695,5694,5691,5692,5670,2846,37,5296,5296, - 3591,5936,5437,5381,5381,228,5381,228,228,228, - 5384,228,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1004,5444,228, - 1,1,8751,1,1,1,1,1,1,5437, - 5076,5073,1,735,5121,2688,3043,92,1,1, - 5378,1,346,5293,236,1500,5293,5281,1,1, - 1,2759,2291,5647,2569,5795,3479,1,5164,5160, - 2552,5168,626,219,3043,5275,5437,5437,5164,5160, - 4568,5168,626,5372,3043,369,5372,1275,5936,5437, - 5381,5381,228,5381,228,228,228,5384,228,1, + 531,5251,228,1,1,8565,1,1,1,1, + 1,1,444,39,39,1,5289,5251,5104,226, + 5251,5104,137,5192,3394,5259,5251,4064,4064,4086, + 4086,1,1,1,3461,1,5461,2198,2350,3799, + 5251,5510,5586,5587,2494,2423,218,5504,5511,5507, + 5483,5509,5508,5505,5506,5484,3382,37,5110,5110, + 3869,5750,5251,5195,5195,228,5195,228,228,228, + 5198,228,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1006,5258,228, + 1,1,8565,1,1,1,1,1,1,5251, + 4890,4887,1,627,4935,2812,2824,92,1,1, + 5192,1,345,5107,236,1893,5107,5095,1,1, + 1,3461,2285,5461,2198,5608,3799,1,4978,4974, + 581,4982,2103,219,2824,5089,5251,5251,4978,4974, + 600,4982,2103,5186,2824,368,5186,2740,5750,5251, + 5195,5195,228,5195,228,228,228,5198,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1896,228,1,1,8751, - 1,1,1,1,1,1,5437,5322,5319,1, - 1896,1,5164,5160,4568,5168,626,5378,3043,308, - 5278,5437,8660,8422,119,1,1,1,2759,2027, - 5647,2569,5437,3479,1232,5437,5451,5452,308,5437, - 219,156,344,39,39,2433,5475,347,330,3776, - 3751,330,5437,5437,5473,5936,5437,5381,5381,228, - 5381,228,228,228,228,228,1,1,1,1, + 1,1,1,1,5251,1050,228,1,1,8565, + 1,1,1,1,1,1,5251,5136,5133,1, + 1050,1,4978,4974,600,4982,2103,5192,2824,307, + 5092,289,5265,5266,119,1,1,1,3461,2027, + 5461,2198,5251,3799,1275,5251,5265,5266,307,5251, + 219,156,343,39,39,3183,5289,346,329,3715, + 3085,329,5251,5251,5287,5750,5251,5195,5195,228, + 5195,228,228,228,228,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,118,5437,228,1,1,8751,1,1,1, - 1,1,1,95,39,39,1,5475,5437,5363, - 4280,1008,5363,374,5378,1896,3776,3751,404,300, - 1896,1380,1,1,1,2759,5345,5647,2569,5736, - 3479,1,5164,5160,4568,5168,626,5437,3043,1, - 5164,5160,2552,5168,626,5348,3043,3215,45,5328, - 5328,5437,5936,5437,5381,5381,228,5381,228,228, + 1,118,5251,228,1,1,8565,1,1,1, + 1,1,1,95,39,39,1,5289,5251,5177, + 4042,1268,5177,373,5192,1050,3715,3085,404,299, + 1050,1439,1,1,1,3461,5159,5461,2198,5549, + 3799,1,4978,4974,600,4982,2103,5251,2824,1, + 4978,4974,581,4982,2103,5162,2824,3603,45,5142, + 5142,5251,5750,5251,5195,5195,228,5195,228,228, 228,228,228,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3026,5437, - 228,1,1,8751,1,1,1,1,1,1, - 3241,39,5437,1,5437,5475,5325,3459,5437,5451, - 5452,5378,1896,2027,394,4481,5449,2847,387,1, - 1,1,2759,984,5647,2569,1,3479,310,2433, - 317,3182,5437,5369,340,330,5076,5073,4568,735, - 626,3850,3043,5437,5341,5337,5437,8660,8422,5936, - 5437,5381,5381,228,5381,228,228,228,228,228, + 1,1,1,1,1,1,1,1,1599,5251, + 228,1,1,8565,1,1,1,1,1,1, + 3129,39,5251,1,5251,5289,5139,4140,5251,5265, + 5266,5192,1050,2027,394,4459,5263,3513,387,1, + 1,1,3461,861,5461,2198,1,3799,309,3183, + 316,3836,5251,5183,339,329,4890,4887,600,627, + 2103,4147,2824,5251,5155,5151,5251,8474,8236,5750, + 5251,5195,5195,228,5195,228,228,228,228,228, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5448,5437,228,1,1, - 8751,1,1,1,1,1,1,1,39,1896, - 1,5473,5475,1896,340,5443,340,1094,5378,340, - 3862,5437,2847,5871,5872,5873,1,1,1,2759, - 3062,5647,2569,1,3479,1,5164,5160,5351,5168, - 5357,362,5354,5437,75,5437,3543,2658,5437,1, - 1,1,1,1,1,1,5936,1,1,1, + 1,1,1,1,1,5262,5251,228,1,1, + 8565,1,1,1,1,1,1,1,39,1050, + 1,5287,5289,1050,339,5257,339,1145,5192,339, + 5251,8474,8236,5685,5686,5687,1,1,1,3461, + 1641,5461,2198,1,3799,1,4978,4974,5165,4982, + 5171,361,5168,5251,75,5251,4305,3438,5251,1, + 1,1,1,1,1,1,5750,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5437,5451,5452,1,1,626,3439,3043,5437,100, - 5442,5499,5500,125,395,1,1,1,386,1, - 1,1,1,1,1,1,5437,1,1,1, - 1,1,1,514,361,5437,362,1978,1,5972, - 5437,2226,5437,1,1,1,5164,5160,1137,5168, - 4112,4192,3043,362,4214,5124,5151,5157,5130,5133, - 5145,5142,5148,5139,5136,5127,5154,5437,2803,565, - 4170,4148,4369,5437,5076,5073,5948,735,626,579, - 3043,5097,4258,4236,5456,5437,4051,617,729,5458, - 665,3098,722,667,5459,5457,593,5453,5454,5455, - 37,5296,5296,883,854,1336,330,2721,2694,5437, - 39,39,3884,515,39,5076,5073,1137,735,4112, - 4192,3043,5431,4214,728,5700,5698,5707,5706,5702, - 5703,5701,5704,5705,5708,5699,5437,5322,5319,4170, - 4148,1,1,5437,5437,5437,37,3980,5473,5396, - 527,4258,4236,5456,127,4051,617,729,5458,665, - 3098,722,5437,5459,5457,593,5453,5454,5455,37, - 5296,5296,1,5437,1336,5437,5437,5260,5257,48, - 162,5415,5437,5452,5473,5444,140,5076,5073,1137, - 735,4112,4192,3043,5473,4214,728,5700,5698,5707, - 5706,5702,5703,5701,5704,5705,5708,5699,5448,2803, - 5437,4170,4148,1,99,527,2433,5473,5443,319, - 126,5275,5269,4258,4236,5456,5437,4051,617,729, - 5458,665,3098,722,5452,5459,5457,593,5453,5454, - 5455,4280,1008,5877,5437,162,1336,3194,2721,2694, - 5891,39,39,1,5164,5160,1137,5168,4112,4192, - 3043,29,4214,5124,5151,5157,5130,5133,5145,5142, - 5148,5139,5136,5127,5154,2803,1896,1048,4170,4148, - 4914,5437,1896,5442,367,1,5278,439,5272,5447, - 4258,4236,5456,5447,4051,617,729,5458,665,3098, - 722,47,5459,5457,593,5453,5454,5455,5446,5437, - 5437,427,5446,1336,2721,2694,5079,5437,39,39, - 39,5076,5073,1137,735,4112,4192,3043,5412,4214, - 728,5700,5698,5707,5706,5702,5703,5701,5704,5705, - 5708,5699,5082,5437,5437,4170,4148,3635,103,2438, - 5437,3885,1,1293,824,453,29,4258,4236,5456, - 190,4051,617,729,5458,665,3098,722,5437,5459, - 5457,593,5453,5454,5455,1,1,4368,5437,190, - 1336,386,1182,2843,184,5390,5390,5415,39,5076, - 5073,1137,735,4112,4192,3043,5412,4214,728,5700, - 5698,5707,5706,5702,5703,5701,5704,5705,5708,5699, - 5085,565,5437,4170,4148,5393,5393,48,5437,394, - 5437,5451,73,3576,3576,4258,4236,5456,423,4051, - 617,729,5458,665,3098,722,5112,5459,5457,593, - 5453,5454,5455,5437,1,447,290,559,1336,5905, - 5899,5437,288,5903,2629,5415,277,5437,419,5375, - 5437,35,5437,3555,425,5437,507,565,3293,5897, - 5898,520,5451,3271,565,5437,448,5366,3992,505, - 5437,5928,5929,4872,5437,5906,5437,3542,5437,3696, - 5437,2999,5437,4886,1,3383,5437,5437,2994,5908, - 4370,5437,3071,5437,5437,5428,5437,739,1,1599, - 1635,5437,5909,5907,5930,2065,5437,921,307,5437, - 3426,5437,2022,5437,5437,509,5437,2153,5437,2115, - 3323,5919,5918,5931,3867,4887,5900,5901,5924,5925, - 5922,5923,5902,5904,5926,5927,2452,3420,4896,5932, - 5437,5912,5913,5914,5910,5911,5920,5921,5916,5915, - 5917,39,5076,5073,1137,735,4112,4192,3043,5441, - 4214,728,5700,5698,5707,5706,5702,5703,5701,5704, - 5705,5708,5699,3230,3677,3323,4170,4148,4022,3850, - 2,3286,1984,3342,807,5437,5437,5437,4258,4236, - 5456,3863,4051,617,729,5458,665,3098,722,5437, - 5459,5457,593,5453,5454,5455,39,5076,5073,1137, - 735,4112,4192,3043,5437,4214,728,5700,5698,5707, - 5706,5702,5703,5701,5704,5705,5708,5699,5437,5437, - 5437,4170,4148,5437,5437,37,5437,5437,5437,5437, - 5437,5437,5437,4258,4236,5456,5437,4051,617,729, - 5458,665,3098,722,5437,5459,5457,593,5453,5454, - 5455,5437,5437,5437,5437,5437,1336,5437,5440,39, - 5076,5073,1137,735,4112,4192,3043,5437,4214,728, - 5700,5698,5707,5706,5702,5703,5701,5704,5705,5708, - 5699,5437,5437,5437,4170,4148,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,4258,4236,5456,5437, - 4051,617,729,5458,665,3098,722,5437,5459,5457, - 593,5453,5454,5455,39,5076,5073,1137,735,4112, - 4192,3043,2149,4214,728,5700,5698,5707,5706,5702, - 5703,5701,5704,5705,5708,5699,5437,5437,5437,4170, - 4148,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,4258,4236,5456,5437,4051,617,729,5458,665, - 3098,722,5437,5459,5457,593,5453,5454,5455,5437, - 5437,5437,5437,5437,1336,39,5076,5073,3873,735, - 4112,4192,3043,5437,4214,728,5700,5698,5707,5706, - 5702,5703,5701,5704,5705,5708,5699,5437,5437,5437, - 4170,4148,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,4258,4236,5456,5437,4051,617,729,5458, - 665,3098,722,5437,5459,5457,593,5453,5454,5455, - 39,5076,5073,1137,735,4112,4192,3043,5437,4214, - 728,5700,5698,5707,5706,5702,5703,5701,5704,5705, - 5708,5699,5437,5437,5437,4170,4148,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,4258,4236,5456, - 5437,4051,617,729,5458,665,3098,722,5437,5459, - 5457,593,5453,5454,5455,39,5076,5073,1137,735, - 4112,4192,3043,5437,4214,728,5700,5698,5707,5706, - 5702,5703,5701,5704,5705,5708,5699,5437,5437,5437, - 4170,4148,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,4258,4236,5456,5437,4051,617,729,5458, - 665,3098,722,5437,5459,5457,593,5453,5454,5455, - 5437,5076,5073,5437,5475,5437,5437,5437,5437,5437, - 795,5700,5698,5707,5706,5702,5703,5701,5704,5705, - 5708,5699,5696,5773,5774,5437,5437,5437,5690,5697, - 5693,5669,5695,5694,5691,5692,5670,5437,5437,5437, - 5834,5437,5437,5437,5437,5437,5437,5437,5437,240, - 5250,5246,5437,5254,5437,5437,1403,5835,5836,795, - 5237,5243,5216,5219,5231,5228,5234,5225,5222,5213, - 5240,5192,5186,5183,5437,5437,5437,5210,5189,5201, - 5180,5195,5198,5207,5204,5177,5437,5437,5437,5834, - 32,387,387,5284,387,387,5284,387,5284,5284, - 5437,5437,5437,5437,5437,1403,5835,5836,5437,5437, - 5437,5437,387,387,387,5437,222,5284,387,387, - 387,387,387,387,387,387,387,5700,5698,5707, - 5706,5702,5703,5701,5704,5705,5708,5699,5696,5773, - 5774,5437,5437,5437,5690,5697,5693,5669,5695,5694, - 5691,5692,5670,5284,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5284 + 5251,5265,5266,1,1,2103,5251,2824,5251,4390, + 5256,5313,5314,125,395,1,1,1,386,1, + 1,1,1,1,1,1,5251,1,1,1, + 1,1,1,5251,514,5251,361,4131,1,5786, + 5251,5251,5251,1,1,1,4978,4974,1139,4982, + 3872,3954,2824,361,3976,4938,4965,4971,4944,4947, + 4959,4956,4962,4953,4950,4941,4968,5251,2784,565, + 3925,3894,1,5251,4890,4887,5251,627,2103,800, + 2824,4911,4020,3998,5270,5251,3813,613,722,5272, + 650,2716,667,944,5273,5271,579,5267,5268,5269, + 37,5110,5110,5762,886,1397,329,2683,2656,5251, + 39,39,4391,515,39,4890,4887,1139,627,3872, + 3954,2824,5245,3976,575,5514,5512,5521,5520,5516, + 5517,5515,5518,5519,5522,5513,5251,5136,5133,3925, + 3894,1,1,5251,4159,5251,3513,932,5287,5210, + 527,4020,3998,5270,127,3813,613,722,5272,650, + 2716,667,3917,5273,5271,579,5267,5268,5269,37, + 5110,5110,1,5251,1397,5251,5251,5074,5071,48, + 162,5229,5251,5266,5287,5258,140,4890,4887,1139, + 627,3872,3954,2824,5251,3976,575,5514,5512,5521, + 5520,5516,5517,5515,5518,5519,5522,5513,5262,2784, + 5251,3925,3894,1,100,527,3183,5287,5257,99, + 126,5089,5083,4020,3998,5270,5251,3813,613,722, + 5272,650,2716,667,5266,5273,5271,579,5267,5268, + 5269,4042,1268,5691,5251,162,1397,3518,2683,2656, + 5705,39,39,1,4978,4974,1139,4982,3872,3954, + 2824,5251,3976,4938,4965,4971,4944,4947,4959,4956, + 4962,4953,4950,4941,4968,2784,1050,4428,3925,3894, + 4775,5251,1093,5256,360,1,5092,29,5086,5261, + 4020,3998,5270,5261,3813,613,722,5272,650,2716, + 667,37,5273,5271,579,5267,5268,5269,5260,5251, + 5251,5251,5260,1397,2683,2656,3619,2222,39,39, + 39,4890,4887,1139,627,3872,3954,2824,5226,3976, + 575,5514,5512,5521,5520,5516,5517,5515,5518,5519, + 5522,5513,4893,5251,5251,3925,3894,3519,103,5287, + 5251,3580,1,3035,4333,439,29,4020,3998,5270, + 190,3813,613,722,5272,650,2716,667,5251,5273, + 5271,579,5267,5268,5269,1,1,366,5251,190, + 1397,453,2260,5251,4164,5201,5201,5229,39,4890, + 4887,1139,627,3872,3954,2824,5226,3976,575,5514, + 5512,5521,5520,5516,5517,5515,5518,5519,5522,5513, + 4896,565,386,3925,3894,5204,5204,48,5251,5251, + 47,5265,394,3866,3866,4020,3998,5270,423,3813, + 613,722,5272,650,2716,667,4899,5273,5271,579, + 5267,5268,5269,5251,1,73,1352,786,1397,5719, + 5713,3620,318,5717,427,5229,5251,277,290,288, + 5189,419,447,5251,5251,5251,520,4926,2548,5711, + 5712,184,5265,565,3647,5251,425,565,3852,35, + 448,5742,5743,5251,5251,5720,4146,4302,5251,5251, + 5251,3659,4723,4724,5251,5251,5251,3214,4732,5722, + 5180,5251,5251,5251,3137,3918,4772,879,1,1940, + 1966,3339,5723,5721,5744,1050,507,5251,306,3677, + 505,5251,5251,5251,5251,5251,3251,2065,5251,882, + 2151,5733,5732,5745,2475,2113,5714,5715,5738,5739, + 5736,5737,5716,5718,5740,5741,780,3767,1851,5746, + 2482,5726,5727,5728,5724,5725,5734,5735,5730,5729, + 5731,39,4890,4887,1139,627,3872,3954,2824,5255, + 3976,575,5514,5512,5521,5520,5516,5517,5515,5518, + 5519,5522,5513,5251,4147,4760,3925,3894,3800,4770, + 2,5251,5242,3194,3250,3306,5251,1851,4020,3998, + 5270,5251,3813,613,722,5272,650,2716,667,5251, + 5273,5271,579,5267,5268,5269,39,4890,4887,1139, + 627,3872,3954,2824,5251,3976,575,5514,5512,5521, + 5520,5516,5517,5515,5518,5519,5522,5513,509,5251, + 5251,3925,3894,5251,5251,37,5251,5251,5251,5251, + 5251,5251,1985,4020,3998,5270,5251,3813,613,722, + 5272,650,2716,667,5251,5273,5271,579,5267,5268, + 5269,5251,5251,5251,5251,5251,1397,5251,5254,39, + 4890,4887,1139,627,3872,3954,2824,5251,3976,575, + 5514,5512,5521,5520,5516,5517,5515,5518,5519,5522, + 5513,5251,5251,5251,3925,3894,5251,2552,5251,5251, + 5251,5251,5251,5251,5251,5251,4020,3998,5270,5251, + 3813,613,722,5272,650,2716,667,5251,5273,5271, + 579,5267,5268,5269,39,4890,4887,1139,627,3872, + 3954,2824,2031,3976,575,5514,5512,5521,5520,5516, + 5517,5515,5518,5519,5522,5513,5251,5251,5251,3925, + 3894,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,4020,3998,5270,5251,3813,613,722,5272,650, + 2716,667,5251,5273,5271,579,5267,5268,5269,5251, + 5251,5251,5251,5251,1397,39,4890,4887,3326,627, + 3872,3954,2824,5251,3976,575,5514,5512,5521,5520, + 5516,5517,5515,5518,5519,5522,5513,5251,5251,5251, + 3925,3894,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,4020,3998,5270,5251,3813,613,722,5272, + 650,2716,667,5251,5273,5271,579,5267,5268,5269, + 39,4890,4887,1139,627,3872,3954,2824,5251,3976, + 575,5514,5512,5521,5520,5516,5517,5515,5518,5519, + 5522,5513,5251,5251,5251,3925,3894,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,4020,3998,5270, + 5251,3813,613,722,5272,650,2716,667,5251,5273, + 5271,579,5267,5268,5269,39,4890,4887,1139,627, + 3872,3954,2824,5251,3976,575,5514,5512,5521,5520, + 5516,5517,5515,5518,5519,5522,5513,5251,5251,5251, + 3925,3894,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,4020,3998,5270,5251,3813,613,722,5272, + 650,2716,667,5251,5273,5271,579,5267,5268,5269, + 5251,4890,4887,5251,5289,5251,5251,5251,5251,5251, + 594,5514,5512,5521,5520,5516,5517,5515,5518,5519, + 5522,5513,5510,5586,5587,5251,5251,5251,5504,5511, + 5507,5483,5509,5508,5505,5506,5484,5251,5251,5251, + 5648,5251,5251,5251,5251,5251,5251,5251,5251,240, + 5064,5060,5251,5068,5251,5251,1126,5649,5650,594, + 5051,5057,5030,5033,5045,5042,5048,5039,5036,5027, + 5054,5006,5000,4997,5251,5251,5251,5024,5003,5015, + 4994,5009,5012,5021,5018,4991,5251,5251,5251,5648, + 32,387,387,5098,387,387,5098,387,5098,5098, + 5251,5251,5251,5251,5251,1126,5649,5650,5251,5251, + 5251,5251,387,387,387,5251,222,5098,387,387, + 387,387,387,387,387,387,387,5514,5512,5521, + 5520,5516,5517,5515,5518,5519,5522,5513,5510,5586, + 5587,5251,5251,5251,5504,5511,5507,5483,5509,5508, + 5505,5506,5484,5098,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5098 }; }; public final static char termAction[] = TermAction.termAction; @@ -1808,60 +1771,61 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 678,72,622,66,719,924,924,924,924,1105, - 719,867,867,721,867,153,622,155,623,623, - 623,623,623,623,623,623,623,869,875,880, - 877,884,882,889,887,891,890,892,261,893, - 622,606,761,761,761,761,661,534,1,1, - 864,761,433,258,867,867,1,661,258,938, - 760,1020,1107,1042,606,867,869,386,386,534, - 622,623,623,623,623,623,623,623,623,623, - 623,623,623,623,623,623,623,623,623,623, - 622,622,622,622,622,622,622,622,622,622, - 622,622,623,258,258,249,606,852,852,852, - 852,205,258,1,1,1103,1031,1042,79,1042, - 74,1042,313,1042,1026,1105,661,433,433,1, - 924,433,760,622,659,1019,258,658,660,658, - 258,433,877,877,875,875,875,882,882,882, - 882,880,880,887,884,884,890,889,891,1119, - 892,1103,393,459,449,448,498,1049,1049,1105, - 155,719,719,719,719,661,661,852,851,852, - 864,661,310,160,76,204,77,1105,661,661, - 205,852,623,761,873,214,258,1107,661,661, - 660,1020,622,249,433,908,258,461,463,661, - 1020,622,622,622,622,719,719,606,311,862, - 860,160,661,674,209,672,205,79,319,661, - 205,661,258,873,1103,1019,1107,661,659,258, - 453,441,452,463,205,659,258,258,258,258, - 534,534,311,860,856,661,160,1119,77,924, - 207,53,1109,160,674,673,674,674,205,319, - 319,661,661,873,874,873,622,214,58,869, - 1107,337,622,450,450,324,324,661,457,1103, - 82,258,661,258,258,860,860,1020,347,79, - 852,924,658,436,1111,655,719,674,674,674, - 674,661,319,856,854,855,873,534,623,433, - 58,337,622,622,463,661,1020,258,461,441, - 337,1084,860,859,659,347,347,794,176,659, - 674,674,655,913,623,1119,332,917,661,1103, - 674,674,664,856,623,661,874,258,433,846, - 463,337,860,914,856,576,980,302,719,77, - 831,347,347,176,659,674,79,1105,1111,623, - 623,1019,655,928,788,665,661,846,258,846, - 793,302,576,932,1105,856,851,924,60,60, - 914,79,586,928,661,719,664,661,1105,1105, - 661,719,839,846,794,347,914,331,913,258, - 1105,661,176,794,176,850,850,926,587,1105, - 661,534,661,661,661,464,839,347,622,116, - 655,914,661,661,176,761,761,926,586,1119, - 623,1119,914,585,719,719,719,587,719,661, - 269,914,914,661,79,258,661,661,257,841, - 856,258,856,79,661,914,851,578,719,578, - 587,1119,587,606,606,604,936,606,914,914, - 335,926,761,841,856,116,914,496,82,587, - 258,655,258,604,302,719,258,926,116,60, - 258,258,1097,587,335,587,914,302,622,587, - 584,855,850,79,79,1099,622,585,534,914, - 258,912,115,658,587,258,914,912,912,587 + 109,7,662,1,150,835,835,835,835,968, + 150,1071,1071,531,1071,281,662,283,663,663, + 663,663,663,663,663,663,663,1073,1079,1084, + 1081,1088,1086,1093,1091,1095,1094,1096,391,1097, + 662,646,571,571,571,571,701,152,9,9, + 1068,571,328,240,1071,1071,9,701,240,845, + 570,1012,970,905,646,1071,1073,787,787,152, + 662,663,663,663,663,663,663,663,663,663, + 663,663,663,663,663,663,663,663,663,663, + 662,662,662,662,662,662,662,662,662,662, + 662,662,663,240,240,231,646,819,819,819, + 819,488,240,9,9,966,894,905,336,905, + 331,905,339,905,889,968,701,328,328,9, + 835,328,570,662,699,1011,240,698,700,698, + 240,328,1081,1081,1079,1079,1079,1086,1086,1086, + 1086,1084,1084,1091,1088,1088,1094,1093,1095,1061, + 1096,966,288,70,523,522,704,912,912,968, + 283,150,150,150,150,701,701,819,818,819, + 1068,701,440,443,333,487,334,968,701,701, + 488,819,663,571,1077,196,240,970,701,701, + 700,1012,662,231,328,1112,240,72,74,701, + 1012,662,662,662,662,150,150,646,441,1066, + 1064,443,701,802,492,800,488,336,497,701, + 488,701,240,1077,966,1011,970,701,699,240, + 527,515,526,74,488,699,240,240,240,240, + 152,152,441,1064,825,701,443,1061,334,835, + 490,61,1051,443,802,801,802,802,488,497, + 497,701,701,1077,1078,1077,662,196,66,1073, + 970,603,662,524,524,502,502,701,68,966, + 1018,240,701,240,240,1064,1064,1012,336,336, + 819,835,698,613,1053,695,150,802,802,802, + 802,701,497,825,823,824,1077,152,663,328, + 66,603,662,662,74,701,1012,240,72,515, + 603,947,1064,1063,699,748,336,346,459,699, + 802,802,695,1117,663,1061,510,828,701,966, + 802,802,740,825,663,701,1078,240,328,813, + 74,603,1064,1118,748,748,194,972,432,150, + 334,383,459,699,802,336,968,1053,663,663, + 1011,695,837,598,741,701,813,240,813,825, + 748,748,345,432,194,841,968,818,835,794, + 794,1118,336,626,837,701,150,740,701,968, + 968,701,150,806,813,825,346,748,1118,509, + 1117,240,968,701,459,346,459,817,817,821, + 627,968,701,152,701,701,701,75,806,748, + 662,244,695,1118,701,701,459,571,571,821, + 626,1061,663,1061,1118,625,150,150,150,627, + 150,701,399,1118,1118,701,336,240,701,701, + 239,808,825,240,825,336,701,1118,818,618, + 150,618,627,1061,627,646,646,644,887,646, + 1118,1118,513,821,571,808,825,244,1118,107, + 1018,627,240,695,240,644,432,150,240,821, + 244,794,240,240,960,627,513,627,1118,432, + 662,627,624,824,817,336,336,962,662,625, + 152,1118,240,1116,243,698,627,240,1118,1116, + 1116,627 }; }; public final static char asb[] = Asb.asb; @@ -1869,78 +1833,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 28,11,12,40,23,42,65,13,43,56, - 29,30,44,14,31,32,15,16,33,66, - 34,45,17,18,46,35,47,57,49,60, - 50,36,51,58,19,22,20,24,21,52, - 53,54,39,3,37,38,9,6,25,26, - 41,68,7,1,2,4,10,5,0,68, - 69,70,1,2,0,8,72,117,73,27, - 70,120,0,48,4,72,1,2,67,8, - 0,28,11,12,40,23,13,56,29,30, + 8,72,117,73,27,70,120,0,28,11, + 12,40,23,42,65,13,43,56,29,30, + 44,14,31,32,15,16,33,66,34,45, + 17,18,46,35,47,57,49,60,50,36, + 51,58,19,22,20,24,21,52,53,54, + 39,3,37,38,9,6,25,26,41,68, + 7,1,2,4,10,5,0,5,7,3, + 63,6,9,90,28,11,12,23,13,56, + 29,30,14,31,32,15,16,33,34,17, + 18,35,57,36,10,58,19,22,20,24, + 21,1,2,4,73,8,40,0,11,12, + 42,65,13,43,44,14,15,16,66,7, + 45,17,18,46,47,49,60,50,51,10, + 19,20,21,52,53,54,39,1,2,37, + 38,9,6,25,26,5,41,4,61,3, + 0,8,73,11,12,42,65,13,43,44, + 14,15,16,66,7,45,17,18,46,47, + 49,60,50,51,10,19,20,21,52,53, + 54,1,2,3,37,38,9,6,25,26, + 5,41,4,39,0,91,89,25,26,92, + 93,87,88,55,94,95,96,97,98,99, + 100,101,106,72,90,69,107,108,109,110, + 111,112,113,114,115,116,117,71,27,120, + 68,1,2,9,6,4,3,63,70,73, + 8,0,71,60,37,38,9,6,25,26, + 41,46,3,4,52,53,54,39,50,44, + 49,12,21,11,17,15,16,18,19,14, + 13,20,10,43,47,45,42,51,67,8, + 7,5,1,2,66,65,0,65,66,10, + 43,47,45,42,51,12,21,11,17,15, + 16,18,19,14,13,20,52,53,54,39, + 50,44,49,5,7,4,3,37,38,9, + 6,25,26,41,46,1,2,117,8,0, + 48,4,72,1,2,67,8,0,4,8, + 67,1,2,0,67,40,23,13,56,29, 14,31,32,15,16,33,34,17,18,35, - 57,36,10,58,19,22,20,24,21,1, - 2,4,90,0,71,60,37,38,9,6, - 25,26,41,46,3,4,52,53,54,39, - 50,44,49,12,21,11,17,15,16,18, - 19,14,13,20,10,43,47,45,42,51, - 67,8,7,5,1,2,66,65,0,86, - 59,7,102,103,104,62,8,3,9,6, - 5,72,71,27,61,28,11,12,40,23, - 13,56,29,30,14,31,32,15,16,33, - 34,17,18,35,57,36,10,58,19,22, - 20,24,21,4,1,2,48,0,4,8, - 72,67,0,91,89,25,26,92,93,87, - 88,55,94,95,96,97,98,99,100,101, - 106,72,90,69,107,108,109,110,111,112, - 113,114,115,116,117,71,27,120,68,1, - 2,9,6,4,3,63,70,73,8,0, + 57,36,58,19,22,20,24,21,12,11, + 28,8,3,9,6,27,62,64,86,30, + 61,48,7,1,2,5,4,10,59,0, 68,72,90,70,117,73,71,120,11,12, 42,65,13,43,44,14,15,16,66,45, 17,18,46,47,49,60,50,51,10,19, 20,21,52,53,54,39,37,38,25,26, 41,8,27,5,7,1,2,4,3,9, - 6,0,4,8,67,1,2,0,1,2, - 8,71,0,74,68,72,90,73,67,63, - 3,8,70,27,69,0,23,60,24,8, - 68,90,69,70,73,0,64,28,11,12, - 40,23,13,56,29,86,30,14,31,32, - 15,16,33,59,34,17,18,35,57,36, - 10,58,19,62,22,20,24,21,8,3, - 9,6,71,27,61,7,4,48,5,1, - 2,0,65,66,10,43,47,45,42,51, - 12,21,11,17,15,16,18,19,14,13, - 20,52,53,54,39,50,44,49,5,7, - 4,3,37,38,9,6,25,26,41,46, - 1,2,117,8,0,8,72,67,74,0, - 9,6,7,5,4,1,2,3,63,68, - 69,70,8,73,90,0,5,7,3,63, - 6,9,90,28,11,12,23,13,56,29, - 30,14,31,32,15,16,33,34,17,18, - 35,57,36,10,58,19,22,20,24,21, - 1,2,4,73,8,40,0,28,11,12, - 23,13,29,30,14,31,32,15,16,33, - 7,34,17,18,35,36,19,22,20,24, - 21,1,2,8,63,9,6,5,4,73, - 27,3,0,8,73,11,12,42,65,13, - 43,44,14,15,16,66,7,45,17,18, - 46,47,49,60,50,51,10,19,20,21, - 52,53,54,1,2,3,37,38,9,6, - 25,26,5,41,4,39,0,86,102,103, - 104,48,72,118,121,71,61,74,62,59, - 64,76,78,84,82,75,80,81,83,85, - 67,77,79,27,8,28,40,23,56,29, - 30,31,32,33,34,35,57,36,58,22, - 24,60,65,66,10,43,47,45,42,51, - 12,21,11,17,15,16,18,19,14,13, - 20,52,53,54,39,50,44,49,37,38, - 25,26,41,46,9,6,3,4,7,5, - 1,2,0,22,1,2,4,102,103,104, - 0,4,55,8,72,67,0,11,12,42, - 65,13,43,44,14,15,16,66,7,45, - 17,18,46,47,49,60,50,51,10,19, - 20,21,52,53,54,39,1,2,37,38, - 9,6,25,26,5,41,4,61,3,0, + 6,0,86,59,7,102,103,104,62,8, + 3,9,6,5,72,71,27,61,28,11, + 12,40,23,13,56,29,30,14,31,32, + 15,16,33,34,17,18,35,57,36,10, + 58,19,22,20,24,21,4,1,2,48, + 0,4,8,72,67,0,1,2,8,71, + 0,74,68,72,90,73,67,63,3,8, + 70,27,69,0,9,6,7,5,4,1, + 2,3,63,68,69,70,8,73,90,0, 66,65,25,26,6,92,93,98,9,99, 5,41,69,55,68,110,111,107,108,109, 115,114,116,88,87,112,113,96,97,94, @@ -1948,39 +1893,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 28,11,12,40,23,13,56,29,30,14, 31,32,15,16,33,34,17,18,35,57, 36,10,58,19,20,24,21,1,2,4, - 22,0,67,40,23,13,56,29,14,31, - 32,15,16,33,34,17,18,35,57,36, - 58,19,22,20,24,21,12,11,28,8, - 3,9,6,27,62,64,86,30,61,48, - 7,1,2,5,4,10,59,0,23,24, - 74,3,72,27,67,60,8,90,73,69, - 70,68,0,69,70,71,8,0,60,23, - 24,7,5,1,2,4,74,67,119,105, - 37,38,63,3,91,89,6,92,93,25, - 26,88,87,55,94,95,96,97,9,98, - 99,100,68,90,73,120,69,107,108,109, - 110,111,112,113,114,115,116,72,117,101, - 106,71,70,27,8,0,72,8,63,3, - 69,70,27,55,0,118,0,8,67,70, - 0,8,67,69,0,75,0,65,66,37, - 38,9,6,25,26,5,41,46,3,4, - 7,52,53,54,39,50,44,49,12,21, - 11,17,15,16,18,19,14,13,20,10, - 43,47,45,42,51,63,1,2,0,40, - 23,13,56,29,14,31,32,15,16,33, - 34,17,18,35,57,36,10,58,19,22, - 20,24,21,12,11,28,8,3,9,27, - 62,59,64,86,30,61,55,4,6,7, - 1,2,5,48,0,10,56,40,57,58, + 22,0,23,60,24,8,68,90,69,70, + 73,0,8,72,67,74,0,86,102,103, + 104,48,72,118,121,71,61,74,62,59, + 64,76,78,84,82,75,80,81,83,85, + 67,77,79,27,8,28,40,23,56,29, + 30,31,32,33,34,35,57,36,58,22, + 24,60,65,66,10,43,47,45,42,51, 12,21,11,17,15,16,18,19,14,13, - 20,74,72,90,117,71,67,120,119,91, - 105,89,37,38,25,26,92,93,87,88, - 55,68,94,95,96,97,98,99,100,101, - 106,69,107,108,109,110,111,112,113,114, - 115,116,70,28,23,29,30,31,32,33, - 34,35,36,22,24,27,8,73,3,63, - 7,5,9,6,1,2,4,0,27,8, - 3,7,5,9,6,4,1,2,72,0 + 20,52,53,54,39,50,44,49,37,38, + 25,26,41,46,9,6,3,4,7,5, + 1,2,0,28,11,12,23,13,29,30, + 14,31,32,15,16,33,7,34,17,18, + 35,36,19,22,20,24,21,1,2,8, + 63,9,6,5,4,73,27,3,0,22, + 1,2,4,102,103,104,0,64,28,11, + 12,40,23,13,56,29,86,30,14,31, + 32,15,16,33,59,34,17,18,35,57, + 36,10,58,19,62,22,20,24,21,8, + 3,9,6,71,27,61,7,4,48,5, + 1,2,0,68,69,70,1,2,0,4, + 55,8,72,67,0,23,24,74,3,72, + 27,67,60,8,90,73,69,70,68,0, + 118,0,69,70,71,8,0,72,8,63, + 3,69,70,27,55,0,8,67,70,0, + 8,67,69,0,65,66,37,38,9,6, + 25,26,5,41,46,3,4,7,52,53, + 54,39,50,44,49,12,21,11,17,15, + 16,18,19,14,13,20,10,43,47,45, + 42,51,63,1,2,0,75,0,10,56, + 40,57,58,12,21,11,17,15,16,18, + 19,14,13,20,74,72,90,117,71,67, + 120,119,91,105,89,37,38,25,26,92, + 93,87,88,55,68,94,95,96,97,98, + 99,100,101,106,69,107,108,109,110,111, + 112,113,114,115,116,70,28,23,29,30, + 31,32,33,34,35,36,22,24,27,8, + 73,3,63,7,5,9,6,1,2,4, + 0,40,23,13,56,29,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,22,20,24,21,12,11,28,8,3, + 9,27,62,59,64,86,30,61,55,4, + 6,7,1,2,5,48,0,28,11,12, + 40,23,13,56,29,30,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,22,20,24,21,1,2,4,90,0, + 27,8,3,7,5,9,6,4,1,2, + 72,0,60,23,24,7,5,1,2,4, + 74,67,119,105,37,38,63,3,91,89, + 6,92,93,25,26,88,87,55,94,95, + 96,97,9,98,99,100,68,90,73,120, + 69,107,108,109,110,111,112,113,114,115, + 116,72,117,101,106,71,70,27,8,0 }; }; public final static byte asr[] = Asr.asr; @@ -1988,60 +1952,61 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 205,12,58,12,12,12,12,12,12,62, - 12,12,12,208,12,193,157,114,58,58, - 245,58,58,58,58,58,58,12,12,12, - 12,12,12,12,12,12,12,12,58,12, - 58,214,34,34,34,34,114,136,134,134, - 69,5,95,282,12,12,134,249,282,58, - 64,23,12,12,214,12,12,15,15,136, - 157,58,58,58,58,58,58,58,58,58, - 58,58,58,58,58,58,58,58,58,58, - 58,58,58,58,58,58,58,58,58,58, - 58,157,58,282,282,107,1,12,12,12, - 12,37,282,29,29,150,263,264,185,264, - 42,264,83,264,257,10,114,95,95,29, - 12,95,34,120,193,176,282,192,114,192, - 282,95,12,12,12,12,12,12,12,12, + 25,12,75,12,12,12,12,12,12,79, + 12,12,12,155,12,181,152,165,75,75, + 246,75,75,75,75,75,75,12,12,12, + 12,12,12,12,12,12,12,12,75,12, + 75,197,33,33,33,33,165,49,21,21, + 52,5,86,264,12,12,21,250,264,75, + 96,40,12,12,197,12,12,57,57,49, + 152,75,75,75,75,75,75,75,75,75, + 75,75,75,75,75,75,75,75,75,75, + 75,75,75,75,75,75,75,75,75,75, + 75,152,75,264,264,202,1,12,12,12, + 12,101,264,28,28,134,259,260,173,260, + 88,260,91,260,253,10,165,86,86,28, + 12,86,33,185,181,211,264,180,165,180, + 264,86,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,150,90,106,86,86,12,12,12,10, - 114,12,12,12,12,103,11,12,12,12, - 141,114,12,134,102,62,99,62,114,11, - 12,12,58,34,134,76,282,12,11,114, - 111,23,58,139,95,12,282,274,134,114, - 23,157,157,157,157,12,12,29,152,152, - 152,162,103,25,25,12,229,185,134,229, - 22,103,282,40,141,176,12,249,103,282, - 12,127,12,277,21,103,282,282,282,282, - 136,136,12,134,174,114,224,12,117,12, - 12,74,266,162,25,25,134,134,22,134, - 250,11,103,134,88,12,157,141,112,12, - 12,134,58,12,12,86,86,114,126,150, - 277,282,103,282,282,152,49,23,134,185, - 12,12,62,134,145,129,12,134,134,27, - 27,103,250,174,12,12,40,136,58,95, - 112,49,58,58,134,11,23,282,274,187, - 134,12,134,49,193,236,134,252,134,229, - 134,51,189,224,58,12,72,12,114,150, - 27,27,169,174,58,250,88,282,95,134, - 277,49,49,224,174,12,252,267,12,99, - 74,252,236,277,193,51,202,45,129,58, - 58,66,189,12,62,53,229,97,282,134, - 184,145,12,12,62,174,12,12,13,13, - 224,202,173,12,229,12,241,229,62,62, - 11,12,134,97,252,134,224,81,12,282, - 62,229,277,252,134,12,12,134,154,45, - 11,136,11,229,229,280,49,236,120,56, - 129,224,229,118,277,34,34,212,180,12, - 58,12,224,12,12,12,12,181,12,250, - 222,224,224,250,226,282,11,11,282,134, - 174,282,134,185,118,224,12,160,12,12, - 181,12,181,232,232,197,12,232,224,224, - 12,134,34,97,174,134,224,12,34,181, - 282,129,282,218,134,12,282,212,56,13, - 282,282,134,181,12,181,224,129,157,181, - 160,174,12,226,226,127,58,12,123,224, - 282,79,55,192,181,282,224,79,12,181 + 12,134,81,201,94,94,12,12,12,10, + 165,12,12,12,12,146,11,12,12,12, + 237,165,12,21,145,79,42,79,165,11, + 12,12,75,33,21,65,264,12,11,165, + 122,40,75,235,86,12,264,274,21,165, + 40,152,152,152,152,12,12,28,136,136, + 136,188,146,109,109,12,280,173,21,280, + 39,146,264,55,237,211,12,250,146,264, + 12,14,12,277,38,146,264,264,264,264, + 49,49,12,21,143,165,140,12,226,12, + 12,23,266,188,109,109,21,21,39,21, + 251,11,146,21,163,12,152,237,123,12, + 12,21,75,12,12,94,94,165,13,134, + 277,264,146,264,264,136,125,40,173,230, + 12,12,79,21,129,16,12,21,21,36, + 36,146,251,143,12,12,55,49,75,86, + 123,125,75,75,21,11,40,264,274,175, + 21,12,21,125,181,21,173,241,21,280, + 21,68,177,140,75,12,120,12,165,134, + 36,36,215,143,75,251,163,264,86,21, + 277,125,125,140,221,21,12,241,267,12, + 229,23,277,181,68,113,116,16,75,75, + 232,177,12,79,63,280,70,264,21,143, + 241,221,172,129,12,12,79,12,12,219, + 219,140,113,142,12,280,12,45,280,79, + 79,11,12,21,70,143,241,21,140,104, + 12,264,79,280,277,241,21,12,12,21, + 149,116,11,49,11,280,280,262,125,221, + 185,73,16,140,280,227,277,33,33,127, + 168,12,75,12,140,12,12,12,12,169, + 12,251,138,140,140,251,106,264,11,11, + 264,21,143,264,21,173,227,140,12,195, + 12,12,169,12,169,283,283,206,12,283, + 140,140,12,21,33,70,143,21,140,12, + 33,169,264,16,264,159,21,12,264,127, + 73,219,264,264,21,169,12,169,140,16, + 152,169,195,143,12,106,106,14,75,12, + 98,140,264,111,72,180,169,264,140,111, + 12,169 }; }; public final static char nasb[] = Nasb.nasb; @@ -2049,35 +2014,35 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,121,149,148,5, - 2,0,108,0,5,2,9,10,139,0, - 136,2,65,0,109,0,110,0,5,10, - 9,2,13,4,45,0,136,65,0,143, - 0,153,188,0,172,5,171,0,62,0, - 159,0,193,0,67,129,40,10,9,2, - 13,5,0,175,0,65,49,0,4,195, - 0,191,0,156,0,4,177,0,162,0, - 184,0,153,183,0,75,0,141,0,13, - 2,9,10,5,83,0,126,0,40,1, - 0,44,2,3,0,33,94,95,4,0, - 2,115,0,2,44,0,40,104,0,4, - 29,0,4,178,0,33,95,94,64,5, - 2,9,10,4,0,4,97,0,95,94, - 49,5,58,0,4,10,9,2,64,5, - 90,49,0,48,40,179,4,39,0,113, - 0,4,48,82,102,46,5,0,5,102, - 192,0,4,67,0,65,138,137,0,67, - 39,48,68,4,40,0,95,94,49,64, - 58,5,10,9,2,0,39,4,23,181, - 0,40,160,0,4,174,0,4,45,196, - 0,161,0,4,45,39,0,45,4,180, - 0,4,39,38,0,40,55,0,2,56, - 0,4,45,103,0,116,4,48,82,0, - 5,102,168,0,5,10,9,13,3,1, - 0,4,48,82,84,0,2,5,121,117, - 118,119,13,87,0,38,5,2,9,10, - 4,158,0,49,5,90,23,4,0,45, - 4,33,0 + 3,13,10,9,152,150,119,149,148,5, + 2,0,33,93,92,64,5,2,9,10, + 4,0,156,0,4,174,0,5,10,9, + 2,13,4,45,0,108,0,136,2,65, + 0,42,1,0,5,100,168,0,4,95, + 0,4,195,0,143,0,5,2,9,10, + 139,0,193,0,4,177,0,159,0,125, + 0,67,129,42,10,9,2,13,5,0, + 13,2,9,10,5,81,0,153,188,0, + 153,183,0,75,0,175,0,4,178,0, + 136,65,0,184,0,42,55,0,107,0, + 162,0,42,160,0,172,5,171,0,191, + 0,2,113,0,62,0,161,0,4,10, + 9,2,64,5,88,49,0,4,39,38, + 0,4,67,0,44,2,3,0,48,42, + 179,4,39,0,4,45,196,0,45,4, + 180,0,141,0,2,44,0,67,39,48, + 68,4,42,0,93,92,49,64,58,5, + 10,9,2,0,4,29,0,4,48,80, + 100,46,5,0,111,0,4,45,39,0, + 33,92,93,4,0,39,4,23,181,0, + 65,138,137,0,5,100,192,0,106,0, + 114,4,48,80,0,121,102,0,1,121, + 0,65,49,0,93,92,49,5,58,0, + 4,48,80,82,0,5,10,9,13,3, + 1,0,2,5,119,115,116,117,13,85, + 0,45,4,33,0,38,5,2,9,10, + 4,158,0,49,5,88,23,4,0,2, + 56,0,4,45,101,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2108,16 +2073,16 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 130,135,136,0,0,134,0,0,229,235, 133,0,143,132,0,0,142,148,0,0, 149,158,180,159,160,161,162,163,151,164, - 165,166,126,141,167,168,0,128,131,129, - 169,0,138,137,152,177,0,0,0,0, + 165,166,126,141,167,168,0,128,131,169, + 0,129,138,137,152,177,0,0,0,0, 0,0,0,0,172,0,145,155,0,204, 0,187,201,205,0,0,127,171,0,0, 0,0,0,0,206,175,0,0,0,0, - 0,0,125,178,0,0,186,0,0,202, - 212,157,208,209,210,0,0,146,0,0, - 207,220,174,196,0,0,211,0,0,0, - 0,240,241,0,147,179,189,190,191,192, - 193,195,198,0,199,0,214,217,0,219, + 125,178,0,0,186,0,0,202,212,157, + 208,209,210,0,0,146,0,0,207,220, + 174,196,0,0,211,0,0,0,0,240, + 241,0,147,179,189,190,191,192,193,195, + 0,198,0,199,0,214,217,0,0,219, 0,238,0,239,0,0,139,140,144,0, 0,154,156,0,170,0,181,182,183,184, 185,188,0,0,194,0,197,203,0,215, @@ -2133,18 +2098,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 159,579,598,309,530,546,557,568,368,267, - 281,303,316,329,42,292,388,426,167,587, - 473,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,501,27,144,378, - 342,606,27,217,246,1,14,61,76,106, - 347,357,361,444,466,495,522,526,616,620, - 624,97,7,97,406,422,435,456,514,116, - 116,232,435,537,553,564,575,207,484,56, + 159,581,600,304,311,532,548,559,570,370, + 267,281,298,318,331,42,292,390,428,167, + 589,475,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,503,27,144,380, + 344,608,27,217,246,1,14,61,76,106, + 349,359,363,446,468,497,524,528,618,622, + 626,97,7,97,408,424,437,458,516,116, + 116,232,437,539,555,566,577,207,486,56, 56,156,222,225,56,241,262,225,225,56, - 365,463,470,156,56,639,110,351,410,450, - 56,351,397,177,104,448,628,635,628,635, - 65,416,137,104,104,251 + 367,465,472,156,56,641,110,353,412,452, + 56,353,399,177,104,450,630,637,630,637, + 65,418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2152,18 +2117,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 479,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,506,38,152,383, - 593,611,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,5,5, - 244,637,11,101,375,375,375,460,506,120, - 125,236,439,541,541,541,541,211,488,59, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,481,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,508,38,152,385, + 595,613,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,5,5, + 244,639,11,101,377,377,377,462,508,120, + 125,236,441,543,543,543,543,211,490,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,499,5,113,354,413,453, - 518,509,400,180,95,95,630,630,632,632, - 67,418,139,202,187,253 + 95,5,244,5,501,5,113,356,415,455, + 520,511,402,180,95,95,632,632,634,634, + 67,420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2171,18 +2136,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,119,17,17,17,17,71,86, - 47,80,119,118,77,53,71,70,46,17, - 19,3,7,8,168,168,164,117,46,81, - 118,118,120,128,54,47,139,133,128,71, - 17,17,133,96,59,135,74,171,168,164, - 120,182,51,55,143,18,17,17,17,17, - 17,12,113,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,96,19,172, - 168,184,94,101,61,75,60,158,76,120, - 72,144,143,175,139,16,164,120,103,69, + 46,17,17,79,117,17,17,17,17,71, + 84,47,79,117,116,77,53,71,70,46, + 17,19,3,7,8,168,168,164,115,46, + 116,116,118,128,54,47,139,133,128,71, + 17,17,133,94,59,135,74,171,168,164, + 118,182,51,55,143,18,17,17,17,17, + 17,12,111,164,71,70,70,37,139,130, + 130,58,70,17,17,17,17,94,19,172, + 168,184,92,99,61,75,60,158,76,118, + 72,144,143,175,139,16,164,118,101,69, 139,139,71,46,164,66,137,44,137,44, - 171,103,117,46,46,59 + 171,101,115,46,46,59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2190,9 +2155,9 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 27,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,27,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,27,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,70,27, 1,1,68,73,73,73,118,73,1,27, 1,27,27,71,117,73,73,73,73,73, @@ -2209,18 +2174,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 96,250,250,154,250,250,250,250,106,87, - 96,85,154,154,85,98,106,106,96,250, - 250,182,226,226,54,54,82,154,96,85, - 154,154,154,312,98,96,149,50,312,106, - 250,250,50,141,63,26,106,30,54,82, - 154,22,98,33,79,250,250,250,250,250, - 250,230,6,82,106,106,106,281,149,154, - 154,121,106,250,250,250,250,141,250,30, + 85,250,250,107,154,250,250,250,250,95, + 109,85,107,154,154,107,87,95,95,85, + 250,250,182,226,226,54,54,82,154,85, + 154,154,154,312,87,85,149,50,312,95, + 250,250,50,141,63,26,95,30,54,82, + 154,22,87,33,79,250,250,250,250,250, + 250,230,6,82,95,95,95,281,149,154, + 154,121,95,250,250,250,250,141,250,30, 54,24,141,143,63,137,63,60,68,154, - 106,57,79,152,149,250,82,154,1,106, - 149,149,106,96,82,11,118,158,118,158, - 30,1,154,96,96,63 + 95,57,79,152,149,250,82,154,1,95, + 149,149,95,85,82,11,118,158,118,158, + 30,1,154,85,85,63 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2232,67 +2197,67 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 126,172,0,126,177,74,0,216,0,253, 126,55,124,0,20,0,295,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,204,0,20,178,0, + 0,295,126,55,48,202,0,20,178,0, 253,126,55,132,0,178,127,0,141,0, - 219,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,178,127,224,0,178, - 127,22,224,0,178,127,315,22,0,128, + 217,3,294,0,294,0,2,0,126,0, + 253,126,55,131,0,178,127,222,0,178, + 127,22,222,0,178,127,315,22,0,128, 187,166,127,0,128,0,187,166,127,0, 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,243,0,136, + 170,0,222,128,0,166,310,241,0,136, 0,0,0,0,135,0,0,0,0,309, - 126,162,252,0,127,0,252,0,129,0, - 0,127,0,308,126,162,251,0,127,0, + 126,164,252,0,127,0,252,0,129,0, + 0,127,0,308,126,164,251,0,127,0, 0,44,127,0,0,151,3,0,126,282, 281,126,74,280,170,0,281,126,74,280, 170,0,215,0,216,0,280,170,0,96, 0,0,215,0,216,0,203,96,0,0, 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,227,126,3,0, - 126,0,0,0,0,0,227,126,3,216, - 0,223,3,0,212,126,0,208,0,146, + 0,203,0,0,215,0,225,126,3,0, + 126,0,0,0,0,0,225,126,3,214, + 0,221,3,0,210,126,0,208,0,146, 0,171,166,127,0,10,0,0,0,0, - 214,63,0,125,0,227,126,3,182,0, + 212,63,0,125,0,225,126,3,182,0, 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,236,126,162,39, + 0,198,3,0,201,0,234,126,164,39, 30,0,178,127,59,62,0,196,128,0, 128,178,127,278,62,0,178,127,278,62, - 0,178,127,69,123,59,0,236,126,162, - 59,0,236,126,162,226,59,0,276,126, - 162,123,305,56,0,276,126,162,305,56, - 0,178,127,275,56,0,135,0,187,178, - 127,275,243,0,136,0,178,127,275,243, - 0,187,166,127,10,0,166,127,10,0, - 166,127,0,93,136,0,268,126,145,0, - 268,126,170,0,161,84,0,300,160,302, - 303,3,81,0,126,171,0,302,303,3, - 81,0,128,0,126,171,0,161,3,75, - 190,80,0,126,128,0,190,80,0,108, - 2,131,126,128,0,225,3,75,0,198, - 167,0,33,169,0,167,0,175,33,169, - 0,225,3,85,0,190,155,225,3,83, - 0,62,171,0,225,3,83,0,126,171, - 62,171,0,301,126,162,0,161,0,214, - 77,0,30,171,0,161,106,158,0,30, - 169,0,219,3,0,214,63,265,0,161, - 63,0,179,3,297,66,127,0,126,0, - 0,0,0,297,66,127,0,2,145,126, - 0,0,0,0,179,3,46,0,147,0, - 125,48,166,127,0,31,147,0,93,136, - 31,147,0,220,178,127,0,146,31,147, - 0,179,3,51,0,161,3,51,0,161, - 3,68,179,55,42,0,179,55,42,0, - 20,2,131,126,0,161,3,68,179,55, - 45,0,179,55,45,0,161,3,68,179, - 55,47,0,179,55,47,0,161,3,68, - 179,55,43,0,179,55,43,0,219,3, - 125,187,166,127,10,0,125,187,166,127, - 10,0,136,2,0,126,0,219,3,124, - 258,166,127,10,0,258,166,127,10,0, - 135,2,0,126,0,219,3,135,0,219, - 3,139,0,161,63,139,0,260,0,31, - 0,31,139,0,165,0,134,0,161,3, - 0 + 0,178,127,69,123,59,0,234,126,164, + 243,59,0,234,126,164,243,224,59,0, + 276,126,164,123,305,56,0,276,126,164, + 305,56,0,178,127,275,56,0,135,0, + 187,178,127,275,241,0,136,0,178,127, + 275,241,0,187,166,127,10,0,166,127, + 10,0,166,127,0,93,136,0,268,126, + 145,0,268,126,170,0,161,84,0,300, + 160,302,303,3,81,0,126,171,0,302, + 303,3,81,0,128,0,126,171,0,161, + 3,75,190,80,0,126,128,0,190,80, + 0,108,2,131,126,128,0,223,3,75, + 0,198,167,0,33,169,0,167,0,175, + 33,169,0,223,3,85,0,190,155,223, + 3,83,0,62,171,0,223,3,83,0, + 126,171,62,171,0,301,126,164,0,161, + 0,212,77,0,30,171,0,161,106,158, + 0,30,169,0,217,3,0,212,63,265, + 0,161,63,0,179,3,297,66,127,0, + 126,0,0,0,0,297,66,127,0,2, + 145,126,0,0,0,0,179,3,46,0, + 147,0,125,48,166,127,0,31,147,0, + 93,136,31,147,0,218,178,127,0,146, + 31,147,0,179,3,51,0,161,3,51, + 0,161,3,68,179,55,42,0,179,55, + 42,0,20,2,131,126,0,161,3,68, + 179,55,45,0,179,55,45,0,161,3, + 68,179,55,47,0,179,55,47,0,161, + 3,68,179,55,43,0,179,55,43,0, + 217,3,125,187,166,127,10,0,125,187, + 166,127,10,0,136,2,0,126,0,217, + 3,124,258,166,127,10,0,258,166,127, + 10,0,135,2,0,126,0,217,3,135, + 0,217,3,139,0,161,63,139,0,260, + 0,31,0,31,139,0,165,0,134,0, + 161,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2300,38 +2265,38 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 3306,4886,3696,3542,0,2923,3294,2831,3097,0, - 3676,3619,3556,3454,3398,3342,3286,3230,3174,2882, - 2826,2999,0,1365,0,2061,2060,1972,0,2452, - 921,0,3676,3619,3578,3577,3556,3454,3398,3342, - 3286,3230,3442,3174,2882,2826,3519,3023,0,3308, - 2847,3252,0,3867,2843,0,3377,1839,0,4715, - 4692,0,4600,4715,4587,2981,4692,2957,3529,4613, - 4022,2387,3944,4568,2591,2552,2513,0,3236,787, - 0,3185,2837,0,3185,2837,3964,4481,4471,3857, - 4388,4378,4368,3847,0,3185,2837,3964,4481,4471, - 3857,4388,4378,4368,3847,3676,3619,3556,3454,3398, - 3342,3286,3230,3174,2882,2826,0,3424,2859,0, - 2387,4600,4878,4587,2981,4708,2591,3989,1123,727, - 4705,2581,994,3916,2852,0,1850,1758,1506,1457, - 2981,2581,2957,2552,2513,2433,2542,0,667,579, - 0,1008,0,4652,536,2972,0,4868,4864,4841, - 4818,4802,4791,4783,4745,4734,3957,4879,3612,3514, - 4637,4496,4100,2428,3660,3510,3431,3319,3597,2504, - 0,3852,3706,4868,4864,4841,3549,3366,4818,931, - 4802,4791,4783,4745,4734,2906,3204,2887,3957,2772, - 4879,2688,2668,2458,2438,3612,3514,871,4637,2467, - 4496,3012,2833,4100,2428,3660,661,3510,3431,3319, - 4652,626,2972,3597,2504,2277,2191,2103,735,807, - 2957,3529,4613,4022,2387,4600,3944,4715,4587,2981, - 4568,2591,2552,4692,2513,1275,941,667,579,4346, - 2241,2291,2356,2324,2473,2400,594,3151,3125,2803, - 2776,2721,2694,3824,3801,630,3776,3751,4324,4302, - 4280,4258,4236,4214,4192,4170,4148,4112,4051,3098, - 1984,2203,2153,2115,2065,2027,1293,1232,1048,1189, - 883,1934,1896,825,747,689,536,1853,1810,1767, - 1724,1681,1638,1595,1552,1509,1466,1423,1380,1336, - 1143,1004,961,1094,0 + 2827,4732,4724,4723,0,3281,2710,3173,2526,0, + 3640,3583,3520,3418,3362,3306,3250,3194,3138,2863, + 2807,3214,0,1630,0,3483,1385,997,0,2482, + 2475,0,3640,3583,1808,1724,3520,3418,3362,3306, + 3250,3194,1640,3138,2863,2807,2014,1934,0,4711, + 3513,4577,0,780,3251,0,3314,2833,0,4486, + 4376,0,4254,4486,4224,3072,4376,2938,3493,4289, + 3800,2410,3786,600,2572,581,2535,0,3000,797, + 0,3290,3122,0,3290,3122,4139,4459,4401,4130, + 4392,4320,3398,3620,3640,3583,3520,3418,3362,3306, + 3250,3194,3138,2863,2807,0,3290,3122,4139,4459, + 4401,4130,4392,4320,3398,3620,0,3394,3226,0, + 2410,4254,4708,4224,3072,4521,2572,3220,4270,4194, + 4499,3506,866,1039,870,0,2816,2061,1729,1253, + 3072,3506,2938,581,2535,3183,723,0,944,800, + 0,1268,0,4245,536,2893,0,4686,4662,4651, + 4635,4627,4616,4612,4589,4564,4550,4701,4529,4515, + 4697,4237,4154,2606,3110,3227,3115,2982,2990,2840, + 0,3527,2817,4686,4662,4651,2451,2194,4635,2108, + 4627,4616,4612,4589,4564,2617,3576,3537,4550,2887, + 4701,2812,2753,2568,2548,4529,4515,2528,4697,2489, + 4237,615,933,4154,2606,3110,2189,3227,3115,2982, + 4245,2103,2893,2990,2840,2273,1317,735,627,2552, + 2938,3493,4289,3800,2410,4254,3786,4486,4224,3072, + 600,2572,581,4376,2535,2740,2455,944,800,4108, + 2237,2285,2350,2318,2494,2423,2381,3046,2951,2784, + 2757,2683,2656,3763,3740,1329,3715,3085,4086,4064, + 4042,4020,3998,3976,3954,3925,3894,3872,3813,2716, + 1985,2199,2151,2113,2065,2027,1352,1275,1093,1230, + 886,1943,1050,828,747,689,536,1901,1859,1817, + 1775,1733,1691,1649,1607,1565,1523,1481,1439,1397, + 1188,1006,963,1145,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2350,49 +2315,50 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 68,55,87,88,9,97,96,99,98,100, 116,115,114,113,112,111,110,109,108,107, 69,106,101,179,161,167,126,179,179,179, - 179,166,219,126,126,126,269,270,252,271, - 243,272,56,273,274,10,127,63,63,126, + 179,166,217,126,126,126,269,270,252,271, + 241,272,56,273,274,10,127,63,63,126, 124,63,297,3,187,4,179,48,127,48, - 219,161,146,146,144,144,144,148,148,148, + 217,161,146,146,144,144,144,148,148,148, 148,147,147,150,149,149,153,152,154,161, - 157,126,63,3,217,216,135,125,124,10, + 157,126,63,3,215,214,135,125,124,10, 127,68,68,68,68,187,258,253,256,253, - 212,127,171,162,310,275,305,275,127,178, - 166,253,205,3,298,167,151,260,187,127, - 178,166,72,212,214,158,223,126,3,127, + 210,127,171,164,310,275,305,275,127,178, + 166,253,203,3,298,167,151,260,187,127, + 178,166,72,210,212,158,221,126,3,127, 166,3,3,3,3,125,124,70,166,9, - 6,126,166,230,125,124,127,123,162,127, - 166,48,179,126,126,4,220,5,48,227, - 228,145,229,126,166,48,161,161,161,161, - 3,3,171,171,309,127,168,224,59,48, - 204,62,170,312,125,124,231,231,178,162, + 6,126,166,228,125,124,127,123,164,127, + 166,48,179,126,126,4,218,5,48,225, + 226,145,227,126,166,48,161,161,161,161, + 3,3,171,171,309,127,168,222,59,48, + 202,62,170,312,125,124,229,229,178,164, 126,178,187,155,262,265,63,180,4,123, - 125,155,69,223,198,186,182,127,3,126, - 70,227,187,219,219,6,126,166,162,226, - 55,48,278,280,126,3,182,231,231,126, + 125,155,69,221,198,186,182,127,3,126, + 70,225,187,217,217,6,126,166,243,224, + 55,48,278,280,126,3,182,229,229,126, 126,187,126,276,123,277,126,3,63,161, - 4,126,69,69,3,178,166,198,126,212, - 155,125,171,184,187,126,162,68,55,127, - 74,126,212,311,72,289,198,124,127,126, - 126,126,72,276,69,70,262,219,214,221, - 126,126,126,128,236,30,48,170,64,59, - 62,238,126,126,178,126,281,72,70,72, - 69,166,212,314,224,22,127,126,227,221, - 39,126,3,123,59,236,295,48,10,40, - 128,281,162,293,127,294,70,127,22,315, - 178,60,155,126,126,162,268,247,279,39, - 69,127,70,68,55,230,230,282,126,70, - 178,3,178,127,127,3,126,126,3,69, - 70,155,127,178,126,69,69,126,301,79, - 77,1,161,8,85,83,81,80,75,82, - 84,78,76,59,74,219,178,178,320,221, - 236,151,162,251,178,226,295,283,118,8, - 72,214,72,3,3,3,190,3,123,161, - 123,177,70,126,126,162,226,68,3,72, - 225,167,225,303,145,75,225,126,126,40, - 90,319,167,155,198,155,302,126,3,155, - 283,308,230,155,155,126,69,190,160,268, - 161,189,70,69,121,300,155,189,8,155 + 4,126,69,69,3,178,166,198,126,210, + 155,125,171,184,187,164,243,68,55,127, + 74,126,210,311,72,289,198,124,127,126, + 126,126,72,276,69,70,262,217,212,219, + 126,126,126,128,126,164,30,48,170,64, + 59,62,126,178,126,281,72,70,72,69, + 166,210,314,222,22,127,126,225,219,234, + 236,126,39,126,3,123,59,295,48,10, + 40,128,281,164,293,127,294,70,127,22, + 315,178,60,155,126,234,126,164,268,246, + 279,39,69,127,70,68,55,228,228,282, + 126,70,178,3,178,127,127,3,126,126, + 3,69,70,155,127,178,126,69,69,126, + 301,79,77,1,161,8,85,83,81,80, + 75,82,84,78,76,59,74,217,178,178, + 320,219,234,151,164,251,178,224,295,283, + 118,8,72,212,72,3,3,3,190,3, + 123,161,123,177,70,126,126,164,224,68, + 3,72,223,167,223,303,145,75,223,126, + 126,40,90,319,167,155,198,155,302,126, + 3,155,283,308,228,155,155,126,69,190, + 160,268,161,189,70,69,121,300,155,189, + 8,155 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2624,7 +2590,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2667,20 +2633,20 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 540, + NUM_STATES = 542, NT_OFFSET = 122, - LA_STATE_OFFSET = 5972, + LA_STATE_OFFSET = 5786, MAX_LA = 2147483647, NUM_RULES = 535, NUM_NONTERMINALS = 202, NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 3025, + START_STATE = 639, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5072, - ERROR_ACTION = 5437; + ACCEPT_ACTION = 4886, + ERROR_ACTION = 5251; public final static boolean BACKTRACK = true; 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 c6b86841be8..e946b1c0a45 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 @@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; +import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -178,17 +178,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPNoFunctionDeclaratorParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPNoFunctionDeclaratorParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -245,9 +245,9 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, CPPNoFunctionDeclaratorParsersym.TK_EOF_TOKEN)); } -public CPPNoFunctionDeclaratorParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); - tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); +public CPPNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); + tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } @@ -1307,325 +1307,325 @@ public CPPNoFunctionDeclaratorParser(ITokenStream parser, Set<IParser.Options> o } // - // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 297: { action. consumeNamespaceDefinition(false); break; + case 295: { action. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 298: { action. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 299: typename_opt ::= typename // - case 300: { action. consumePlaceHolder(); break; + case 299: { action. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 300: typename_opt ::= $Empty // - case 301: { action. consumeEmpty(); break; + case 300: { action. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action. consumeUsingDirective(); break; + case 301: { action. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 302: asm_definition ::= asm ( stringlit ) ; // - case 303: { action. consumeDeclarationASM(); break; + case 302: { action. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 304: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 305: { action. consumeLinkageSpecification(); break; + case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 310: init_declarator ::= complete_declarator initializer // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 310: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 313: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 319: basic_direct_declarator ::= declarator_id_name + // Rule 318: basic_direct_declarator ::= declarator_id_name // - case 319: { action. consumeDirectDeclaratorIdentifier(); break; + case 318: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 320: basic_direct_declarator ::= ( declarator ) + // Rule 319: basic_direct_declarator ::= ( declarator ) // - case 320: { action. consumeDirectDeclaratorBracketed(); break; + case 319: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_modifier ::= [ constant_expression ] + // Rule 323: array_modifier ::= [ constant_expression ] // - case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 323: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 325: array_modifier ::= [ ] + // Rule 324: array_modifier ::= [ ] // - case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 324: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 326: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 325: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumePointer(); break; + case 325: { action. consumePointer(); break; } // - // Rule 327: ptr_operator ::= pointer_hook & pointer_hook + // Rule 326: ptr_operator ::= pointer_hook & pointer_hook // - case 327: { action. consumeReferenceOperator(); break; + case 326: { action. consumeReferenceOperator(); break; } // - // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumePointerToMember(); break; + case 327: { action. consumePointerToMember(); break; } // - // Rule 335: cv_qualifier ::= const + // Rule 334: cv_qualifier ::= const // - case 335: { action. consumeToken(); break; + case 334: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= volatile + // Rule 335: cv_qualifier ::= volatile // - case 336: { action. consumeToken(); break; + case 335: { action. consumeToken(); break; } // - // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 338: { action. consumeQualifiedId(false); break; + case 337: { action. consumeQualifiedId(false); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 338: type_id ::= type_specifier_seq // - case 339: { action. consumeTypeId(false); break; + case 338: { action. consumeTypeId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 339: type_id ::= type_specifier_seq abstract_declarator // - case 340: { action. consumeTypeId(true); break; + case 339: { action. consumeTypeId(true); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 343: { action. consumeDeclaratorWithPointer(false); break; + case 342: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 344: { action. consumeDeclaratorWithPointer(true); break; + case 343: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 348: { action. consumeDirectDeclaratorBracketed(); break; + case 347: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( ) + // Rule 348: basic_direct_abstract_declarator ::= ( ) // - case 349: { action. consumeAbstractDeclaratorEmpty(); break; + case 348: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_modifier + // Rule 349: array_direct_abstract_declarator ::= array_modifier // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 355: { action. consumePlaceHolder(); break; + case 354: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 356: { action. consumeEmpty(); break; + case 355: { action. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 357: { action. consumePlaceHolder(); break; + case 356: { action. consumePlaceHolder(); break; } // - // Rule 363: abstract_declarator_opt ::= $Empty + // Rule 362: abstract_declarator_opt ::= $Empty // - case 363: { action. consumeEmpty(); break; + case 362: { action. consumeEmpty(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 364: { action. consumeParameterDeclaration(); break; + case 363: { action. consumeParameterDeclaration(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers + // Rule 364: parameter_declaration ::= declaration_specifiers // - case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer // - case 367: { action. consumeDeclaratorWithInitializer(true); break; + case 366: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 370: parameter_init_declarator ::= = parameter_initializer + // Rule 369: parameter_init_declarator ::= = parameter_initializer // - case 370: { action. consumeDeclaratorWithInitializer(false); break; + case 369: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 371: parameter_initializer ::= assignment_expression + // Rule 370: parameter_initializer ::= assignment_expression // - case 371: { action. consumeInitializer(); break; + case 370: { action. consumeInitializer(); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 372: { action. consumeFunctionDefinition(false); break; + case 371: { action. consumeFunctionDefinition(false); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 373: { action. consumeFunctionDefinition(true); break; + case 372: { action. consumeFunctionDefinition(true); break; } // - // Rule 376: initializer ::= ( expression_list ) + // Rule 375: initializer ::= ( expression_list ) // - case 376: { action. consumeInitializerConstructor(); break; + case 375: { action. consumeInitializerConstructor(); break; } // - // Rule 377: initializer_clause ::= assignment_expression + // Rule 376: initializer_clause ::= assignment_expression // - case 377: { action. consumeInitializer(); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 378: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 378: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 379: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= { <openscope-ast> } + // Rule 380: initializer_list ::= { <openscope-ast> } // case 380: { action. consumeInitializerList(); 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 0fe02108885..190974e0265 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 @@ -66,15 +66,15 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,3,4,4,5,2,5, 6,5,0,6,7,0,1,3,1,0, - 1,3,1,1,1,6,5,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 2,1,1,3,1,3,1,1,1,3, - 9,2,2,3,2,5,3,7,0,1, - 2,2,1,0,1,1,1,3,1,2, - 1,1,2,3,1,1,1,3,2,1, - 2,2,9,8,2,1,3,1,3,1, - 0,1,0,2,1,1,3,1,3,2, - 1,5,8,1,2,3,1,7,6,3, + 1,3,1,7,6,0,7,6,1,0, + 6,5,6,4,1,3,1,0,1,2, + 1,1,3,1,3,1,1,1,3,9, + 2,2,3,2,5,3,7,0,1,2, + 2,1,0,1,1,1,3,1,2,1, + 1,2,3,1,1,1,3,2,1,2, + 2,9,8,2,1,3,1,3,1,0, + 1,0,2,1,1,3,1,3,2,1, + 5,8,1,2,3,1,1,7,6,3, 0,0,1,3,1,1,5,6,6,7, 7,0,0,1,0,1,1,1,2,4, 2,2,1,5,1,1,1,1,1,1, @@ -92,452 +92,441 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 2,5,5,3,3,1,4,3,1,0, 1,3,1,1,1,-110,0,0,0,-13, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-276,0,0, - 0,0,0,0,0,-2,0,-7,0,0, - 0,0,0,-88,0,0,0,0,0,-116, + 0,0,0,0,0,0,0,-300,0,0, + 0,0,0,0,0,-461,0,-2,0,0, + 0,0,0,-14,-21,0,0,-7,0,-116, 0,0,0,-8,0,0,0,0,0,0, - 0,0,-133,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,0,0,0,0,0,0,0,0, - 0,0,0,0,-10,0,0,0,-131,0, + 0,0,-10,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,0,0, - -11,0,0,0,0,0,0,0,0,-471, - 0,-289,0,0,0,-117,0,0,0,-3, - 0,0,0,0,0,0,0,0,-73,0, - -338,0,0,0,0,0,0,-76,0,0, + 0,0,0,0,0,0,0,-289,0,0, + -222,0,0,0,0,-117,0,0,0,-83, 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,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-19,0,0,0,0,-158,0,0,0, - -27,0,0,-4,-293,-93,-416,-23,0,0, + 0,0,0,0,0,0,0,0,0,-183, + 0,0,0,0,0,-3,0,0,0,-88, + 0,0,0,-93,0,-11,-293,-231,0,0, 0,0,0,-77,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-21,0,0,0,0,0,0, - 0,-25,0,0,0,0,0,-20,0,-28, - -188,0,0,0,0,0,0,0,0,0, - -29,0,0,0,-538,0,0,0,-223,0, + 0,0,0,-330,0,-19,0,0,0,0, + 0,-473,0,0,0,0,-437,-334,0,-106, + 0,-27,0,0,0,0,0,0,0,0, + -261,0,0,0,-540,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-389,0,-92,0,0,0,0,0,0, + 0,0,-28,-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,0,0,0,-14,0,0,0,0, - 0,0,-78,0,0,0,-22,0,0,-181, - 0,0,0,0,0,0,0,0,0,-220, + 0,0,0,-184,0,0,0,0,0,0, + 0,0,-337,0,0,-361,0,0,0,0, + 0,-162,0,0,0,-264,0,0,0,-171, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-191, - 0,0,0,0,0,0,0,-459,0,0, - 0,0,0,-26,0,-222,0,0,0,0, - 0,0,0,-30,0,-475,0,0,-194,0, - 0,0,-152,0,0,0,0,0,0,0, - 0,0,-90,0,0,0,0,-37,0,-171, - 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,0,0,0,0,-361,0,0, - 0,0,-277,0,0,0,0,0,0,0, + 0,0,0,0,-188,0,0,0,0,0, + 0,-122,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, - 0,0,0,0,0,0,-83,0,0,0, - -162,0,0,0,0,-46,-351,0,0,0, + 0,0,0,0,0,0,0,-220,0,0, 0,0,0,0,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,-34,0,0,0,-239,0, - 0,-16,0,0,0,-224,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-29, + 0,-152,0,0,0,-477,0,0,0,-457, + 0,0,0,0,-40,0,0,0,-277,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-41,0,0,0,0,0,0, - 0,0,0,-476,0,-426,0,0,0,0, - 0,0,0,0,-274,0,0,0,0,-183, - 0,-38,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-23,0, + 0,0,0,0,0,0,0,-353,0,0, + 0,-194,0,0,0,0,0,0,0,0, + 0,0,0,0,-259,0,-485,0,0,0, + -16,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-31,0,-264,0,0,0,0,0,0, - -42,-43,0,0,-138,0,0,0,0,0, + 0,0,-30,0,0,0,0,0,0,0, + 0,0,0,0,-422,0,0,0,-80,0, + 0,0,0,-50,0,0,0,-81,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-38,0,0, + 0,-25,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-44,0,0,0, - -325,0,0,0,0,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, - 0,0,-74,0,-450,0,0,0,-45,0, - -268,0,0,-365,0,0,0,-353,0,0, + 0,-417,0,0,0,0,-33,0,0,-196, + 0,0,0,-34,0,0,0,0,0,0, + 0,0,0,0,0,-41,0,0,0,-325, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-249,0,-75,0,0,0,0, - 0,0,-47,-59,0,0,-366,0,0,0, - -60,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-42, + 0,-348,0,0,0,0,0,0,0,0, + 0,-46,-365,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-39,0,-61,0, - 0,0,0,0,0,-62,0,0,0,-36, + 0,0,0,0,-43,0,0,0,0,0, + 0,0,0,0,-44,0,-22,0,0,0, + 0,0,0,0,-161,-366,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-396,0,0, + 0,0,0,0,0,-45,0,-112,0,-15, + 0,0,0,0,0,0,0,-36,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,-249,0,-387, + 0,0,0,0,0,-47,-20,0,-70,0, + 0,0,-59,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-63,0,-99,0,0,0,0,0,0, - -107,-161,-70,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,-65,0,-404,0,0,0, - 0,0,0,0,0,-515,-139,0,0,0, + 0,0,-478,0,0,0,0,0,0,0, + 0,0,-139,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-60,0,0,0,0,0, + 0,0,-61,0,0,0,-192,0,0,0, + 0,-223,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,-218,0, - 0,0,0,0,-91,-383,-66,0,0,-140, - 0,0,0,-67,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-68,0,0,0,0,0,0,0,-69, - 0,-316,0,-95,0,0,0,0,-71,-96, - 0,0,-141,0,0,0,-97,0,0,0, + 0,0,0,0,-406,0,-73,0,0,0, + 0,0,0,-74,0,0,-141,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,-153,0,-155,0,0,0,0,0, - 0,-156,-157,0,0,-142,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,0,0,0,0,0,-167,0,-154, - 0,0,0,0,-168,-174,0,0,-143,0, - 0,0,-175,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-159,0, - -176,0,0,0,0,0,-190,-177,-185,0, - 0,-144,0,0,0,-186,0,0,0,0, + -62,0,0,0,0,0,0,0,-142,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-187,0,-199,0,-163,0,0,0,-198, - 0,-200,0,0,-145,0,0,0,-201,0, + 0,0,0,0,0,0,0,0,-31,0, + -532,0,0,0,0,0,-91,-63,0,0, + -143,0,0,0,-64,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,-203,0,-204,0,0,0, - 0,0,-205,-206,-207,0,0,-146,0,0, - 0,-208,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-209, - 0,0,0,0,0,0,0,-210,0,-211, - 0,0,0,0,0,-212,-213,-214,0,0, - -147,0,0,0,-215,0,0,0,0,0, + 0,0,-227,0,0,0,0,0,0,0, + -39,0,0,0,0,0,0,0,-95,-75, + 0,0,-144,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,0, - -228,0,-217,0,0,0,0,0,-225,-234, - -235,0,0,-148,0,0,0,-236,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,-243,0,-260,0,0,0,0, - 0,-262,-263,-282,0,0,-149,0,0,0, - -283,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-285,0, - 0,0,0,0,0,0,-248,0,-287,0, - 0,0,0,0,-294,-301,-302,0,0,-170, - 0,0,0,-306,0,0,0,0,0,0, + 0,0,-299,0,-533,0,0,0,0,0, + -343,-65,0,0,-145,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-314,0,0,0,0,0,0,0,-255, - 0,-315,0,0,0,0,0,-317,-259,-348, - 0,0,-254,0,0,0,-326,0,0,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,-327,0,0,0,0,0, - 0,0,-335,0,-339,0,0,0,0,0, - -340,-352,-354,0,0,-533,0,0,0,-370, + 0,0,0,-66,0,0,-146,0,0,0, 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,-269,0,-381,0,0, - 0,0,0,-395,-406,-407,0,0,-360,0, - 0,0,-113,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-67,0, + 0,0,0,0,0,0,-99,0,-26,0, + 0,0,0,0,-68,-218,0,0,-147,0, 0,0,0,0,0,0,0,0,0,0, - -410,0,0,0,0,0,0,0,-15,0, - -40,0,0,0,0,0,-373,0,0,0, - -486,0,0,0,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, + -37,0,0,0,0,0,-69,-71,0,0, + -148,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,-514, - 0,0,0,0,0,-392,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-411,0,0, - 0,0,0,0,0,-192,0,-81,0,0, - 0,0,0,-393,0,0,0,0,0,0, + -159,0,-107,0,0,0,0,0,-96,-97, + 0,0,-149,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,-417,0,0,0,0,0,0, - 0,-94,0,0,0,-419,-98,0,0,0, - 0,0,-462,0,0,0,0,0,0,0, + 0,0,-153,0,-108,0,-163,0,0,0, + -190,0,0,0,-170,0,0,0,-155,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-270,0,-227,0,0,0,0,0, - -151,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-156,0,-172,0,-427,0, + 0,0,-198,-157,0,0,-254,0,0,0, + -166,0,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,-173,0, + 0,0,0,0,-167,-168,0,0,-535,0, + 0,0,-174,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-85,0,0,0,-196,0,0,0, - -431,0,0,0,0,0,0,0,0,-136, + 0,0,0,0,0,0,0,0,-175,0, + -179,0,0,0,0,0,-35,-176,0,0, + -351,0,0,0,-516,0,0,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,-245, - 0,-137,0,0,0,-375,0,0,0,0, + -228,0,0,0,0,0,0,0,-360,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-134,0,0,0,-292,0,0,0,0, + 0,0,0,0,0,0,0,0,-517,0, + 0,0,-177,0,0,0,-389,0,0,-233, + 0,0,-239,0,0,-373,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-438,0,0,0,0,0,-135, + 0,0,0,0,0,0,0,-185,0,0, + 0,0,0,0,0,-243,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,0,0, - 0,-80,0,0,0,0,0,-405,0,0, + 0,0,0,-248,0,-186,0,0,0,0, + 0,-238,0,0,0,0,-426,0,0,0, + -392,0,0,0,0,0,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,0,0,0, - 0,0,0,0,0,0,0,-231,0,0, - 0,-341,0,0,0,0,0,0,0,0, - 0,0,0,-172,0,0,-303,0,-173,0, - 0,0,-425,0,0,0,-387,0,0,0, - -253,0,0,0,0,0,0,0,0,0, - -230,0,0,-337,0,0,0,0,0,-439, - 0,-449,-18,0,0,0,0,-49,0,0, - 0,0,0,0,-128,0,0,0,-461,0, + 0,0,0,0,-187,0,0,0,-464,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-463,0,0,0,-371,-374,-465, - 0,0,0,0,0,-238,0,0,0,-129, + -199,0,0,0,0,0,0,0,-255,0, + -224,0,0,0,0,0,0,0,0,-257, + -200,-445,0,0,0,-151,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-201,0,0, + 0,0,0,0,0,0,0,-303,0,-202, + 0,-193,0,-138,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-388,0,0,0,0,-130,0,0,0, - -397,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-466,0, - 0,0,0,-286,0,0,0,0,0,0, - 0,0,0,0,0,0,-530,-288,-101,-505, - 0,0,0,0,0,-305,0,0,0,0, - 0,0,0,0,0,0,0,0,-272,0, - 0,0,0,-328,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-179,-182,-193, - 0,0,0,0,0,0,0,-467,-105,0, 0,0,0,0,0,0,0,0,0,0, - -79,0,0,0,-197,0,-334,0,0,0, - 0,0,-468,0,-470,0,0,0,0,0, - 0,0,0,0,-106,0,0,0,0,-441, - -485,0,0,0,0,-299,0,0,0,0, - -271,0,0,-242,0,0,0,0,0,-415, - 0,0,-233,0,0,0,0,0,0,0, - 0,0,-232,0,-298,0,-487,0,0,0, - 0,0,0,0,-257,0,0,0,0,0, - 0,0,0,0,-488,0,0,0,0,0, - -184,-460,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-401,-490,0,-495, - 0,0,0,0,-24,0,0,0,0,0, - 0,0,-275,0,0,0,0,0,0,0, - 0,0,0,0,0,-241,0,0,0,0, + 0,0,0,0,0,-197,0,-136,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,-300,-499,-504,0,0,0,0, - 0,0,0,0,0,0,-82,0,-512,-84, - -531,-132,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-137, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-250,0,0, - 0,0,0,-403,-160,0,0,0,0,0, - 0,0,-522,-265,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-469,0, - 0,-529,0,0,0,0,0,0,0,-290, - 0,0,0,0,-178,-284,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-86, - 0,0,0,0,0,0,0,0,0,-109, - 0,0,-291,0,0,0,0,0,0,0, - 0,0,0,-489,0,0,-309,0,-295,0, - 0,0,-534,0,0,0,0,0,0,0, - 0,0,-494,-304,0,0,0,0,0,-443, - 0,0,0,0,0,-12,0,0,0,-350, - 0,0,0,0,0,-261,0,0,-376,0, - 0,0,0,0,0,0,0,0,-491,0, 0,0,0,0,0,0,0,0,0,0, + 0,-203,0,0,0,0,0,0,0,-133, + 0,0,0,-204,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,0,0,0,-134,0, + 0,0,-488,0,0,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, - -252,0,0,0,0,0,0,0,0,0, - 0,0,0,-506,0,0,-119,0,0,0, + -206,0,0,0,0,0,-135,0,0,0, + -267,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-207,0, + 0,0,0,0,-407,0,0,0,0,0, + 0,0,0,0,0,0,0,-128,0,0, + 0,-113,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-350, + 0,0,0,0,-275,0,0,0,-6,0, + 0,0,-250,0,0,0,0,0,0,-269, + -284,0,0,0,0,0,0,0,-290,0, + 0,0,-208,-94,0,0,0,0,0,0, + 0,0,0,0,0,0,-383,0,0,0, + -309,0,0,-265,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-129, + 0,0,0,-292,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-313,0,0,-169,0,0,0, - -367,0,-329,0,0,0,0,0,0,0, - 0,0,0,0,-386,0,-273,0,0,0, - 0,0,0,0,0,0,0,0,-521,0, - 0,-118,0,-307,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-312,0,0, - 0,0,-446,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-523,0,0,0,0,-308,0, - 0,0,0,0,-319,0,0,0,0,0, - 0,0,-510,0,0,0,0,0,0,0, - -324,-320,-321,0,0,-72,0,0,0,0, - -396,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-527,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-394,0,0, - 0,0,0,-535,-528,-310,0,0,0,0, - 0,0,0,0,0,-358,0,0,0,0, - 0,-412,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,-532,0,0,0,0,0,0,0, - 0,0,0,0,0,-122,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,-160,0,0,0,-130,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -472,-331,-362,0,0,-359,-164,0,0,0, - 0,0,-219,-539,0,0,0,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,-89,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-542,0, - 0,0,0,0,-296,0,0,0,0,0, - 0,0,0,0,0,0,0,-408,0,0, - 0,0,0,0,-479,0,0,0,0,0, - -480,0,0,0,0,-377,0,0,0,-356, + 0,0,0,0,0,0,0,0,-209,0, + 0,0,0,-313,-310,-191,0,0,-210,0, + -245,-211,-79,0,0,0,0,-356,0,0, + 0,0,-118,-212,-253,0,0,0,-85,0, + 0,0,-305,0,0,0,0,0,0,0, + 0,0,0,0,0,-213,0,0,0,0, + 0,-214,0,-276,0,-328,0,0,0,0, + 0,0,0,0,0,0,0,0,-371,0, + 0,0,0,0,0,0,-341,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-390,0,0,0,0, - 0,0,-363,0,0,0,0,0,0,0, - 0,0,-123,0,0,0,0,0,0,0, + 0,-291,0,-215,0,0,0,0,0,-530, + -158,-386,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-368,0,0, + -443,-385,-219,0,0,0,-4,0,0,0, + 0,0,-9,-270,-507,-242,0,0,0,0, + 0,0,0,0,-216,0,0,0,0,0, + 0,-272,-217,0,0,0,0,0,0,0, + 0,-225,0,-230,0,0,0,0,0,-298, + 0,0,0,0,0,0,0,0,-462,0, 0,0,0,0,0,0,0,0,0,0, - 0,-525,0,0,0,0,0,0,0,0, - 0,0,0,0,-1,0,0,0,0,0, - 0,0,0,0,0,0,0,-150,-333,-9, - -278,0,0,0,0,-402,0,-311,0,0, - 0,0,0,0,0,0,-420,0,-409,0, - 0,0,-332,0,0,0,0,0,0,0, - 0,-330,0,0,0,0,0,0,-423,0, - -357,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-50,0,0,0,0,0, + 0,0,0,0,-234,0,-400,0,0,0, + 0,-24,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,-343, - -382,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,-432,0,-477,0,-442,0,0, - 0,0,0,-125,0,0,0,0,0,0, + 0,0,0,0,0,0,-295,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-189,0, - 0,0,0,0,-126,0,0,0,0,0, + 0,0,0,0,-12,0,0,0,-132,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-342,0,0,0, - 0,-279,0,0,-256,0,-385,-455,0,0, - 0,0,0,0,-424,0,-451,0,0,0, - 0,-322,-483,0,0,0,-345,0,0,-433, - 0,0,-347,-102,0,-355,0,0,0,0, - 0,-369,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -304,0,0,0,0,0,0,0,0,-316, + -18,0,0,0,0,-268,0,0,0,0, + -381,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-296,0,0,0,0,0, + 0,0,0,-471,0,-119,0,0,0,0, + 0,0,-338,0,0,-236,0,-273,0,0, + -307,-444,0,0,0,0,0,0,0,0, + 0,0,0,0,-237,0,-308,0,0,-491, + 0,0,0,0,0,0,-274,0,0,0, + 0,0,-260,0,0,0,0,0,-48,0, + -101,0,0,-357,0,-262,-312,0,0,0, + 0,0,0,0,0,0,0,0,0,-324, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-493,0,-150,0,0,-263, + 0,-388,-282,0,0,0,0,0,0,0, + 0,0,0,0,-333,0,0,-318,0,-182, + -413,0,0,0,0,-342,0,0,-283,0, + -508,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-32,0,0,0,0,-319,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-474,0,0,0,0, + 0,0,0,0,0,-523,0,0,0,0, + 0,0,0,0,0,0,-285,0,0,0, + 0,0,0,0,-345,0,-287,0,0,0, + 0,0,0,0,0,0,-375,0,-347,0, + 0,-525,0,0,0,0,-82,0,0,-359, + -294,0,0,0,-320,0,0,0,0,0, + -496,0,-301,0,0,-271,0,0,0,-321, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-331,-362,0,0,0,0, + 0,0,0,0,0,0,-529,0,0,0, + 0,0,-169,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-448, + 0,0,0,-358,-376,0,0,-363,0,0, + 0,0,0,-109,0,0,0,0,0,-302, + -374,-232,0,0,0,0,0,0,0,0, + 0,0,0,0,-311,0,0,0,-256,0, + -306,0,0,0,0,0,0,0,0,0, + -534,0,0,0,0,0,0,0,0,0, + 0,0,0,-123,0,0,0,-314,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,-395,-105,0,0,0,0,0, + 0,-415,0,0,0,0,0,0,0,-315, + -317,0,0,0,-541,-322,-537,-297,0,0, + 0,0,0,0,0,0,-326,-403,0,-414, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-355,0,-327, + -544,0,0,0,0,0,0,0,0,-369, + 0,0,0,0,0,0,0,0,0,-335, + 0,0,0,-481,0,0,0,-384,0,0, + 0,0,0,0,0,0,0,0,0,0, + -378,-339,0,0,0,0,0,0,0,-340, + 0,0,0,0,0,-402,0,0,-398,0, + -352,-410,0,0,0,0,0,0,0,0, + 0,0,0,0,-368,0,0,0,-354,0, + 0,0,0,0,0,0,0,0,-527,0, 0,0,0,0,0,0,0,0,0,0, + 0,-124,0,0,0,-370,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-252,0,0,0,-401, + -379,0,0,-382,0,0,0,0,-332,0, + 0,0,-424,-425,0,0,0,0,0,0, + 0,0,-394,-429,-165,0,0,0,-435,0, + -408,0,0,0,0,0,0,0,-1,0, 0,0,0,0,0,0,0,0,0,0, + 0,-409,0,-421,-72,0,0,0,0,-411, + 0,0,0,-125,0,0,0,-412,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-428,0,0, + 0,0,-418,-420,-433,0,0,0,0,-432, + 0,0,-440,0,-441,-482,0,0,0,-455, + 0,-451,0,0,0,-126,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-399,0,0,0,0,-427,0,0,0, - 0,0,0,-414,0,0,-429,-437,0,-440, - 0,0,0,0,0,-51,0,0,0,-482, - 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,0,-53, - 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,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,0,0,0,0,-56,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-57,0,0, + 0,0,0,-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,-58, + 0,0,0,0,0,-52,0,0,0,-463, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-53,0,0, + 0,-465,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-467, + -468,-469,0,-54,0,0,0,-484,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,0,0,-55,0,0,0,-470, 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,-56,0,0, + 0,-472,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-57, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-121,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-180,0,0, + 0,-58,0,0,0,-487,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,0,-111,0,0,0,-489,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-120,0,0,0,-490, 0,0,0,0,0,0,0,0,0,0, - 0,-391,0,0,0,0,0,0,0,0, - 0,0,0,0,-452,0,0,0,0,0, - 0,0,0,0,0,0,0,-280,0,-445, - -281,0,-344,0,0,-336,0,-500,-501,0, - -323,0,0,-430,0,-379,-517,0,0,0, - 0,-421,-453,0,0,-502,0,0,0,0, - 0,0,-464,0,0,0,0,0,-473,0, - 0,0,0,-297,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-121,0,0, + 0,-492,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-180, + 0,0,0,-497,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-474,0,0,0,0,0, - 0,-195,0,0,0,0,0,0,0,0, - 0,0,0,0,-507,0,0,0,0,0, - 0,0,0,0,0,0,0,-384,0,0, - 0,0,0,-509,0,0,0,-428,-484,-435, - 0,0,0,0,0,0,0,-436,-364,0, - -513,0,0,-511,-497,0,0,0,-498,0, - 0,0,0,0,-503,0,0,0,0,0, + 0,-246,0,0,0,-84,0,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,-454,0,0,0, + 0,0,0,0,0,0,0,0,0,-278, + -434,-431,-439,0,-377,0,0,-442,0,-447, + -502,0,-501,0,0,-405,0,-506,-503,0, + -513,-466,0,-522,0,-514,0,0,-524,0, + 0,0,0,-475,-531,0,0,0,0,0, + 0,0,-323,0,0,-479,0,0,0,0, + 0,0,0,-536,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -78,0,0,-178,-181,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-453,0,0,0,0, + -504,-5,0,0,0,0,0,0,0,0, + 0,0,0,0,-519,0,0,0,0,0, + 0,-509,-266,0,-372,0,0,0,0,0, + 0,0,0,0,0,-364,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-240,0,0,0,0, + 0,0,0,0,0,-476,-86,0,0,0, + 0,0,0,0,0,0,0,0,0,-17, + 0,0,0,-399,0,0,0,0,0,0, + 0,0,-87,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-511,0,0,0, + -279,0,-344,0,0,0,0,0,0,-486, + -480,0,0,-499,-515,-446,0,0,0,0, + 0,0,0,-500,0,-505,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,-521,0, + -102,0,0,0,0,0,0,0,0,0, + 0,0,-526,0,-416,0,0,0,0,0, + 0,0,0,0,0,0,-349,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-5,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-17,0, + 0,0,0,0,-380,0,0,0,0,0, + 0,0,0,0,-404,0,0,0,0,0, + 0,-538,0,-430,0,0,0,0,0,0, + 0,0,0,-280,0,0,0,0,0,0, + -543,0,0,0,0,0,0,-539,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-518,-519,-240,-87,0,0,0,0,0, - 0,0,0,-349,0,0,0,0,0,0, - 0,0,0,0,0,0,-524,-537,-526,0, - 0,0,0,0,0,0,0,0,0,-221, - -540,-536,-541,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,-542,0, + 0,0,0,0,-438,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-89, + 0,0,0,-221,0,-288,0,0,0,0, + 0,-510,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-189,0,0,0,-367,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-508,0,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,-266,0,0,0,0,0,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,-195, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-400,0,0,0,0,0, - 0,-229,0,0,0,0,0,0,-346,0, - 0,0,0,-398,0,0,0,0,0,0, - 0,-103,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-418,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-226,0,0,0,-229,0,0, + 0,0,0,0,0,-346,0,0,0,0, + -483,0,0,0,0,0,0,-397,0,0, + 0,0,0,-419,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-329,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-422,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-456,0,0, - 0,0,0,-434,0,0,0,0,-447,0, + 0,0,0,0,0,0,0,0,0,-103, 0,0,0,0,0,0,0,0,0,0, - -448,0,0,0,0,0,0,-454,0,0, - 0,0,0,0,-478,0,0,0,0,0, - 0,0,0,0,-48,-372,0,0,0,0, + 0,0,0,0,0,0,0,-423,0,0, + 0,0,0,-436,0,0,0,0,-449,0, + 0,0,0,0,-450,0,0,0,0,0, + -456,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-512, + 0,0,0,0,0,0,0,0,0,-393, 0,0,0,0,0,-100,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,0, - 0,0,-444,0,0,0,0,0,0,0, - 0,-244,0,0,0,-481,0,0,-492,0, - 0,0,0,0,-251,0,0,0,-258,0, - 0,0,0,0,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,-496,0,0,0,0, - 0,0,0,0,0,0,0,-104,0,-247, - 0,0,0,0,-457,-458,-516,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, + -164,0,0,0,0,0,-281,0,0,0, + 0,-458,0,-104,0,0,0,0,0,0, + 0,-244,0,0,0,0,-251,0,0,0, + 0,0,0,0,0,0,0,-258,0,0, + 0,0,0,0,0,0,0,0,0,-336, 0,0,0,0,0,0,0,0,0,0, + 0,0,-494,-495,0,0,0,0,0,0, + 0,0,0,-498,0,0,0,0,-247,0, + 0,0,0,-459,0,0,-528,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-460, + -518,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,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; @@ -547,543 +536,532 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface BaseAction { public final static char baseAction[] = { - 174,4,135,82,82,32,32,66,66,38, - 38,40,40,200,1,1,15,15,15,15, + 174,4,135,80,80,32,32,66,66,38, + 38,42,42,200,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,64,64,5,5, 12,12,44,44,136,136,137,59,59,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 138,138,138,117,117,18,18,18,18,18, + 138,138,138,115,115,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, 175,175,176,176,177,141,141,142,142,139, 139,143,140,140,20,20,21,21,23,23, 23,24,24,24,24,25,25,25,26,26, 26,27,27,27,27,27,28,28,28,29, 29,31,31,33,33,35,35,36,36,37, - 37,42,42,41,41,41,41,41,41,41, - 41,41,41,41,41,41,39,30,144,144, - 96,96,178,178,91,201,201,67,67,67, + 37,41,41,40,40,40,40,40,40,40, + 40,40,40,40,40,40,39,30,144,144, + 94,94,178,178,89,201,201,67,67,67, 67,67,67,67,67,67,68,68,68,65, - 65,56,56,179,179,69,69,69,102,102, + 65,56,56,179,179,69,69,69,100,100, 180,180,70,70,70,181,181,71,71,71, - 71,71,72,72,83,83,83,83,83,83, - 83,83,50,50,50,50,50,118,118,116, - 116,51,182,22,22,22,22,22,48,48, - 86,86,86,86,86,151,151,146,146,146, + 71,71,72,72,81,81,81,81,81,81, + 81,81,50,50,50,50,50,116,116,114, + 114,51,182,22,22,22,22,22,48,48, + 84,84,84,84,84,151,151,146,146,146, 146,146,147,147,147,148,148,148,149,149, - 149,150,150,150,87,87,87,87,87,88, - 88,88,13,13,13,13,13,13,13,13, - 13,13,13,97,122,122,122,122,122,122, - 120,120,120,152,121,121,183,154,154,153, - 153,124,124,103,78,78,79,80,53,47, - 155,155,54,52,85,85,156,156,145,145, - 105,105,106,74,74,157,157,62,62,57, - 57,158,63,63,75,75,60,60,60,49, - 89,89,99,98,98,61,61,58,58,55, - 55,45,100,100,100,92,92,92,93,93, - 94,94,94,95,95,107,107,107,109,109, - 108,108,202,202,90,90,185,185,185,185, - 185,126,46,46,160,184,184,127,127,127, - 127,128,162,186,186,34,34,119,129,129, - 129,129,188,111,110,110,123,123,123,163, + 149,150,150,150,85,85,85,85,85,86, + 86,86,13,13,13,13,13,13,13,13, + 13,13,13,95,120,120,120,120,120,120, + 118,118,118,152,119,119,183,154,154,153, + 153,122,122,101,78,78,123,53,47,155, + 155,54,52,83,83,156,156,145,145,103, + 103,104,74,74,157,157,62,62,57,57, + 158,63,63,75,75,60,60,60,49,87, + 87,97,96,96,61,61,58,58,55,55, + 45,98,98,98,90,90,90,91,91,92, + 92,92,93,93,105,105,105,107,107,106, + 106,202,202,88,88,185,185,185,185,185, + 125,46,46,160,184,184,126,126,127,127, + 127,128,162,186,186,34,34,117,129,129, + 129,129,188,109,108,108,121,121,121,163, 164,164,164,164,164,164,164,164,164,164, 164,190,190,187,187,189,189,165,166,166, - 166,166,167,191,113,112,112,192,192,168, - 168,168,168,101,101,101,193,193,8,8, + 166,166,167,191,111,110,110,192,192,168, + 168,168,168,99,99,99,193,193,8,8, 9,194,194,195,169,159,159,170,170,171, 172,172,7,7,10,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,76,81,81, + 196,196,196,196,196,196,196,76,79,79, 173,173,131,131,132,132,132,132,132,132, - 3,133,133,130,130,114,114,84,77,73, - 161,161,115,115,197,197,197,134,134,125, - 125,198,198,174,174,104,1119,35,1682,1656, - 1179,3729,27,30,31,584,568,26,28,1649, - 25,23,50,1304,106,76,77,108,159,1311, - 1346,1339,1415,1382,1477,1425,1234,1502,1167,1484, - 273,1510,1519,143,327,35,279,158,144,3377, - 1600,35,651,32,2077,4282,27,30,31,584, - 568,57,28,3023,35,651,32,232,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,322,1311,1346,1339,1415, - 1382,1768,235,230,231,502,934,801,34,3023, - 35,651,32,274,2518,27,30,31,584,568, - 26,28,1303,25,23,50,1304,106,76,77, - 108,2164,1311,1346,1742,242,245,248,251,1037, - 502,4335,2377,35,277,2158,2035,35,651,32, - 1322,4282,27,30,31,584,568,56,28,135, - 1527,2484,2701,2412,2867,2870,2960,4445,2250,35, - 651,32,2815,2518,27,30,31,584,568,26, - 28,1303,25,23,50,1304,106,76,77,108, - 341,1311,1346,1339,1415,1382,1477,1425,61,1502, - 379,1484,924,1510,1519,143,3603,1867,1553,515, - 144,1725,2513,2970,1347,1347,1993,2241,1517,2513, - 2513,2730,863,516,2250,35,651,32,2815,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,341,1311,1346,1339, - 1415,1382,1477,1425,56,1502,722,1484,688,1510, - 1519,143,1010,722,722,515,144,331,1355,2970, - 1903,327,35,279,330,2504,4802,1089,70,516, - 3117,2467,511,182,60,2122,35,651,32,142, - 4815,27,30,31,584,568,26,28,1555,509, - 320,1562,1618,4429,2250,35,651,32,2815,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,341,1311,1346,1339, - 1415,1382,1477,1425,311,1502,1446,1484,511,1510, - 1519,143,737,1347,496,515,144,56,2513,2970, - 1347,744,42,1605,1563,2513,94,1562,374,516, - 2594,35,651,32,2815,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,341,1311,1346,1339,1415,1382,1477,1425, - 2344,1502,722,1484,2815,1510,1519,143,2551,722, - 2026,515,144,330,1355,2970,502,35,1261,1243, - 330,323,341,441,1324,516,502,2855,511,1956, - 35,651,32,2242,4815,27,30,31,584,568, - 59,28,727,1010,1598,1294,495,1562,1355,4444, - 2526,35,651,32,1525,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,372,1311,1346,1339,1415,1382,1477,1425, - 376,1502,1553,1484,512,1510,1519,143,502,1932, - 1337,377,144,2319,35,651,32,2202,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,69,1311,1346,1339,1415, - 1382,1477,1425,520,1502,458,1484,1335,1510,1519, - 143,2207,2245,1337,377,144,671,3023,35,651, - 32,2689,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,1512, - 1311,1346,1339,1415,1382,1477,1425,1859,1502,2081, - 1484,1811,1510,1520,164,2493,1897,383,2071,502, - 35,1871,2391,35,651,32,2223,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,71,1311,1346,1339,1415,1382, - 1477,1425,288,1502,1618,1484,2237,1510,1519,143, - 384,2071,1337,377,144,502,35,282,421,910, - 2217,2202,2788,35,651,32,2753,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,737,1311,1346,1339,1415,1382, - 1477,1425,56,1502,236,1484,824,1510,1519,143, - 4218,2499,2617,158,144,3023,35,651,32,1392, - 2518,27,30,31,584,568,26,28,1303,25, - 23,50,1304,106,76,77,108,2243,1311,1346, - 1339,1415,1382,1477,1425,351,1502,2623,1785,375, - 2071,2788,35,651,32,2905,2518,27,30,31, - 584,568,26,28,1303,25,23,50,1304,106, - 76,77,108,142,1311,1346,1339,1415,1382,1477, - 1425,354,1502,135,1484,2237,1510,1519,143,2634, - 529,2663,371,144,2788,35,651,32,2515,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,1527,1311,1346,1339, - 1415,1382,1477,1425,1946,1502,135,1484,735,1510, - 1519,143,327,931,3270,371,144,2788,35,651, - 32,585,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,2477, - 1311,1346,1339,1415,1382,1477,1425,56,1502,1350, - 1484,2207,1510,1519,143,1600,64,370,371,144, - 2733,35,651,32,3154,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,3209,1311,1346,1339,1415,1382,1477,1425, - 353,1502,1811,1484,56,1510,1520,164,960,529, - 369,1355,671,2459,35,651,32,4569,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,929,1311,1346,1339,1415, - 1382,1477,1425,4138,1502,1236,1484,2053,1510,1519, - 143,4318,325,367,142,144,2237,2788,35,651, - 32,1514,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,419, - 1311,1346,1339,1415,1382,1477,1425,3887,1502,135, - 1484,93,1510,1519,143,1010,1713,1244,155,144, - 2788,35,651,32,400,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,1328,1311,1346,1339,1415,1382,1477,1425, - 1352,1502,159,1484,1010,1510,1519,143,1940,1380, - 49,154,144,2788,35,651,32,1476,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,1442,1311,1346,1339,1415, - 1382,1477,1425,1375,1502,160,1484,457,1510,1519, - 143,321,2163,590,153,144,2788,35,651,32, - 529,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,108,1774,1311, - 1346,1339,1415,1382,1477,1425,324,1502,848,1484, - 56,1510,1519,143,3383,1174,1560,152,144,2788, - 35,651,32,1965,2518,27,30,31,584,568, - 26,28,1303,25,23,50,1304,106,76,77, - 108,2477,1311,1346,1339,1415,1382,1477,1425,56, - 1502,1991,1484,4480,1510,1519,143,1010,2146,2310, - 151,144,2788,35,651,32,3297,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,378,1311,1346,1339,1415,1382, - 1477,1425,3223,1502,408,1484,671,1510,1519,143, - 1010,4622,580,150,144,2788,35,651,32,1144, - 2518,27,30,31,584,568,26,28,1303,25, - 23,50,1304,106,76,77,108,1613,1311,1346, - 1339,1415,1382,1477,1425,1700,1502,932,1484,4160, - 1510,1519,143,1378,1527,1790,149,144,2788,35, - 651,32,1610,2518,27,30,31,584,568,26, - 28,1303,25,23,50,1304,106,76,77,108, - 2246,1311,1346,1339,1415,1382,1477,1425,1954,1502, - 3217,1484,51,1510,1519,143,3219,1508,1778,148, - 144,2788,35,651,32,1949,2518,27,30,31, - 584,568,26,28,1303,25,23,50,1304,106, - 76,77,108,1629,1311,1346,1339,1415,1382,1477, - 1425,56,1502,1498,1484,3137,1510,1519,143,1815, - 2345,2346,147,144,2788,35,651,32,2385,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,2414,1311,1346,1339, - 1415,1382,1477,1425,56,1502,1900,1484,2638,1510, - 1519,143,2642,2439,2415,146,144,2788,35,651, - 32,2421,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,1887, - 1311,1346,1339,1415,1382,1477,1425,56,1502,2350, - 1484,2366,1510,1519,143,2447,2284,2664,145,144, - 2788,35,651,32,2450,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,2387,1311,1346,1339,1415,1382,1477,1425, - 56,1502,2413,1484,4254,1510,1519,143,838,2130, - 2514,159,144,2788,35,651,32,2419,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,2449,1311,1346,1339,1415, - 1382,1477,1425,2486,1502,2665,1484,402,1510,1519, - 143,2481,2516,1329,140,144,2906,35,651,32, - 2550,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,108,1338,1311, - 1346,1339,1415,1382,1477,1425,56,1502,2552,1484, - 2987,1510,1519,143,2521,2517,2557,189,144,3023, - 35,651,32,1599,2518,27,30,31,584,568, - 26,28,1303,25,23,50,1304,106,76,77, - 108,1908,1311,1346,1339,1415,1382,1477,1425,56, - 1502,1618,1484,1142,1510,1520,164,3023,35,651, - 32,2583,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,958, - 1311,1346,1339,1415,1382,1477,1425,2202,1502,822, - 1484,1384,1510,1520,164,2152,35,651,32,445, - 2551,41,30,31,584,568,3023,35,651,32, - 292,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,108,2667,1311, - 1346,1339,1415,1382,1477,1425,56,1502,1618,1484, - 1142,1510,1520,164,3023,35,651,32,2904,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,2898,1311,1346,1339, - 1415,1382,1477,1425,2592,1502,521,1484,1639,1510, - 1520,164,2160,35,651,32,2582,322,40,30, - 31,584,568,3078,35,651,32,420,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,520,1311,1346,1339,1415, - 1382,1477,1425,56,1502,1618,1484,3286,1510,1520, - 164,3023,35,651,32,423,2518,27,30,31, - 584,568,26,28,1303,25,23,50,1304,106, - 76,77,108,380,1311,1346,1339,1415,1382,1477, - 1425,3285,1502,241,1484,2659,1813,1956,35,651, - 32,2687,4815,27,30,31,584,568,58,28, - 3023,35,651,32,2808,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,1355,1311,1346,1339,1415,1382,1477,1425, - 2374,1777,3023,35,651,32,2484,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,24,1311,1346,1339,1415,1382, - 1477,1778,3023,35,651,32,2383,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,2558,1311,1346,1339,1415,1770, - 3023,35,651,32,2202,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,1232,1311,1346,1339,1415,1776,1983,35, - 651,32,734,3236,27,30,31,584,568,337, - 28,3023,35,651,32,1686,2518,27,30,31, - 584,568,26,28,1303,25,23,50,1304,106, - 76,77,108,71,1311,1346,1339,1727,502,35, - 801,276,2160,35,651,32,1041,722,3029,30, - 31,584,568,232,1355,856,319,671,330,1355, - 313,540,4629,502,35,1085,386,2160,35,651, - 32,1686,312,3884,30,31,584,568,244,230, - 231,2224,35,277,2043,2707,69,4454,1983,2513, - 2690,68,2670,502,35,1085,386,429,1216,35, - 1085,386,306,535,670,3023,35,651,32,2589, - 2518,27,30,31,584,568,26,28,1303,25, - 23,50,1304,106,76,77,108,49,1311,1346, - 1339,1733,49,722,2602,2202,1025,679,2383,1010, - 87,1025,2043,4224,2504,2823,502,35,801,1864, - 3023,35,651,32,2291,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,108,2514,1311,1346,1339,1734,3023,35,651, - 32,314,2518,27,30,31,584,568,26,28, - 1303,25,23,50,1304,106,76,77,108,2677, - 1311,1346,1339,1735,1453,35,651,32,3123,3016, - 27,30,31,584,568,337,28,1618,1374,56, - 2559,97,2815,2815,2815,96,1726,35,1993,32, - 734,3236,27,30,31,584,568,337,28,56, - 2624,341,341,3168,1802,35,651,32,3121,3016, - 27,30,31,584,568,337,28,737,1355,1901, - 1355,856,319,2744,2970,4490,313,540,2688,502, - 35,1085,386,523,1606,722,349,2807,1975,350, - 1983,3335,436,856,319,1355,330,2454,313,540, - 53,349,87,2692,239,2693,342,2791,1140,347, - 1268,856,319,49,1957,1616,313,540,358,1142, - 259,2069,1025,2945,536,4454,56,52,788,350, - 3757,2224,35,280,1812,3372,1889,1899,2815,2513, - 1618,2750,228,1474,350,160,342,2791,1140,347, - 156,445,232,2305,2836,1599,2624,2699,180,4243, - 737,342,2791,1140,347,322,203,215,4582,2836, - 202,212,213,214,216,173,169,240,230,231, - 737,2210,1,722,3775,168,536,183,167,170, - 171,172,173,174,330,3588,374,2454,2683,364, - 2314,415,417,1992,228,3133,35,1085,386,558, - 3416,2678,156,502,35,801,278,3117,237,2462, - 180,4243,737,4444,358,3020,1355,4443,203,215, - 4582,387,202,212,213,214,216,88,169,273, - 102,2946,1889,1899,1618,2694,2756,168,181,184, - 167,170,171,172,173,174,352,1246,348,2758, - 1376,1618,3023,35,651,32,232,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,3660,1311,1346,1760,1355,44, - 1605,235,230,231,1010,1101,35,1819,1096,2792, - 3890,737,274,2698,1223,35,651,32,2646,3016, - 27,30,31,584,568,337,28,522,232,345, - 90,232,2810,536,242,245,248,251,1037,49, - 1483,35,801,276,2158,2080,1355,89,1025,926, - 102,228,401,247,230,231,250,230,231,156, - 1609,2701,2412,2867,2870,2960,4445,180,4243,737, - 2148,1914,319,1355,870,203,215,4582,3231,202, - 212,213,214,216,431,169,98,2150,536,502, - 1985,801,74,2707,168,5368,2810,167,170,171, - 172,173,174,2423,1247,3579,228,536,1950,2566, - 502,35,1085,386,156,809,587,35,1085,386, - 1792,232,180,4243,737,4334,2207,35,293,2359, - 203,215,4582,156,202,212,213,214,216,517, - 169,180,4243,536,450,350,253,230,231,168, - 49,178,167,170,171,172,173,174,400,1025, - 1077,228,342,2791,1140,347,2736,404,195,156, - 340,3004,315,1355,5368,3190,5368,180,4243,737, - 1089,757,35,1085,386,203,215,4582,5368,202, - 212,213,214,216,603,169,5368,56,536,388, - 425,1142,5368,5368,168,67,176,167,170,171, - 172,173,174,5368,322,273,228,502,35,1085, - 386,1812,5368,1347,156,2815,2513,156,2513,2854, - 5368,5368,180,4243,737,2235,1690,1249,1932,2815, - 203,215,4582,2624,202,212,213,214,216,689, - 169,49,1616,536,56,5368,1142,2624,3480,168, - 46,177,167,170,171,172,173,174,1249,1932, - 722,228,722,502,35,1085,386,5368,1905,156, - 284,330,160,330,3223,196,5368,180,4243,737, - 502,35,1085,386,5368,203,215,4582,72,202, - 212,213,214,216,775,169,5368,432,536,56, - 3538,358,3538,3621,168,1355,187,167,170,171, - 172,173,174,2482,273,503,228,536,2946,1889, - 1899,56,1355,1355,156,4329,587,35,1085,386, - 5368,1608,180,4243,737,341,4683,66,2705,5368, - 203,215,4582,156,202,212,213,214,216,861, - 169,287,188,536,65,64,500,502,4543,168, - 49,2993,167,170,171,172,173,174,1374,1025, - 943,228,2815,5368,2343,2700,2150,338,1142,156, - 3114,1942,287,5368,5368,3190,2136,180,4243,737, - 2624,4634,1101,35,394,203,215,4582,2061,202, - 212,213,214,216,156,169,502,35,1085,386, - 5368,3376,1942,162,168,190,192,167,170,171, - 172,173,174,2071,35,651,32,3123,3016,27, - 30,31,584,568,337,28,3023,35,651,32, - 273,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,108,358,1311, - 1684,2423,1355,1355,5368,1142,322,502,35,1085, - 386,5368,5368,737,947,3597,1889,1899,536,5368, - 856,319,1101,35,394,313,540,3241,389,425, - 521,156,5368,4467,3802,55,228,524,350,200, - 4339,49,2384,275,156,5368,587,35,1085,386, - 1025,2501,180,4243,737,342,2791,1140,347,5368, - 203,215,4582,525,202,212,213,214,216,1033, - 169,5368,285,536,3765,1483,35,801,1991,168, - 49,186,167,170,171,172,173,174,671,1025, - 1588,228,4481,4704,427,502,35,1085,386,156, - 5368,502,35,1085,386,3316,322,180,4243,737, - 2150,326,333,5368,5368,203,215,4582,2034,202, - 212,213,214,216,5368,169,327,35,451,431, - 5368,4657,2510,1355,168,430,194,167,170,171, - 172,173,174,3023,35,651,32,5368,2518,27, - 30,31,584,568,26,28,1303,25,23,50, - 1304,106,76,77,108,54,1311,1692,1364,35, - 651,32,297,3236,27,30,31,584,568,337, - 28,5368,1499,35,651,32,734,3016,27,30, - 31,584,568,337,28,1715,35,651,32,734, - 3016,27,30,31,584,568,337,28,56,56, - 2616,56,1142,2558,2815,1142,1355,722,502,35, - 801,281,391,425,5368,856,319,1355,331,322, - 314,540,341,502,35,801,2000,5368,156,856, - 319,156,2491,350,313,540,2815,1803,101,671, - 3073,2150,856,319,4709,738,312,313,540,4210, - 344,2791,1140,347,2624,2968,35,651,32,312, - 2518,27,30,31,584,568,26,28,1303,25, - 23,50,1304,86,76,77,306,535,670,5368, - 56,2207,2036,293,3767,296,444,2194,2206,533, - 535,670,3023,35,651,32,5368,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,108,1355,1699,1355,4482,843,35, - 451,2736,359,4657,3023,35,651,32,2291,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,108,4233,1717,449,2276, - 35,1085,386,390,425,3023,35,651,32,566, - 2518,27,30,31,584,568,26,28,1303,25, - 23,50,1304,106,76,77,108,1563,1725,5368, - 5368,2815,56,49,2854,737,1142,1824,502,35, - 293,2815,1025,2330,440,671,454,1911,5368,228, - 4721,2815,1616,502,35,293,1142,56,3316,228, - 671,3135,156,56,56,4728,56,2592,2815,228, - 3278,3215,56,205,215,4582,4615,204,212,213, - 214,216,160,205,215,4582,341,204,212,213, - 214,216,5368,205,215,4582,3765,204,212,213, - 214,216,5368,206,208,210,294,295,1863,2970, - 217,207,209,206,208,210,294,295,1863,1613, - 217,207,209,206,208,210,294,295,1863,5368, - 217,207,209,332,333,5368,5368,5368,448,2194, - 2206,4319,56,3476,5368,4308,1126,56,3373,5368, - 5368,1255,5368,3599,2359,4308,4345,56,56,5368, - 56,3777,4698,3900,918,4308,3023,35,651,32, - 322,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,85,3023,934, - 651,1545,299,2518,27,30,31,584,568,26, - 28,1303,25,23,50,1304,106,76,77,84, - 3023,35,651,32,5368,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,83,3023,35,651,32,304,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,82,3023,35,651,32,5368,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,81,3023,35,651,32, - 5368,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,80,3023,35, - 651,32,5368,2518,27,30,31,584,568,26, - 28,1303,25,23,50,1304,106,76,77,79, - 3023,35,651,32,5368,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,78,2851,35,651,32,5368,2518,27,30, - 31,584,568,26,28,1303,25,23,50,1304, - 106,76,77,104,3023,35,651,32,5368,2518, - 27,30,31,584,568,26,28,1303,25,23, - 50,1304,106,76,77,110,3023,35,651,32, - 5368,2518,27,30,31,584,568,26,28,1303, - 25,23,50,1304,106,76,77,109,3023,35, - 651,32,5368,2518,27,30,31,584,568,26, - 28,1303,25,23,50,1304,106,76,77,107, - 3023,35,651,32,5368,2518,27,30,31,584, - 568,26,28,1303,25,23,50,1304,106,76, - 77,105,2063,35,1993,32,734,3016,27,30, - 31,584,568,337,28,1468,35,651,32,734, - 3016,27,30,31,584,568,337,28,56,5368, - 56,56,1142,1998,4735,1142,56,2815,56,56, - 1142,1616,2120,1436,2359,1142,1650,1101,35,394, - 2815,5368,2136,2359,5368,228,1703,4634,156,856, - 319,156,5368,2359,313,540,156,3232,228,2359, - 3233,160,856,319,737,2559,1268,313,540,205, - 215,4582,221,204,212,213,214,216,527,312, - 5368,303,205,215,4582,2359,204,212,213,214, - 216,179,1104,35,1085,386,5368,198,5368,206, - 208,210,294,295,1863,1355,518,207,209,307, - 535,670,206,208,210,294,295,1863,1737,517, - 207,209,2815,197,1355,3765,49,3503,2085,2359, - 2235,5368,2815,5368,2815,1025,2491,3149,2172,737, - 228,1355,2815,3241,56,2359,5368,2932,3552,2359, - 228,3081,2624,5368,5368,2359,3204,416,417,1992, - 228,5368,328,333,205,215,4582,302,204,212, - 213,214,216,3259,205,215,4582,5368,204,212, - 213,214,216,201,205,215,4582,199,204,212, - 213,214,216,298,206,208,210,294,295,1863, - 3765,218,207,209,206,208,210,294,295,1863, - 428,305,207,209,206,208,210,294,295,1863, - 503,497,207,209,1468,35,651,32,734,3016, - 27,30,31,584,568,337,28,3872,333,1692, - 35,651,32,5368,3236,27,30,31,584,568, - 337,28,1355,1355,1890,3182,35,1085,386,2513, - 3416,501,502,5368,1692,35,651,32,238,3236, - 27,30,31,584,568,337,28,2359,1355,56, - 5368,856,319,1142,2637,2871,313,540,722,273, - 1181,1355,2359,2359,2815,4819,856,319,788,331, - 2309,314,540,722,3333,5368,5368,5368,5368,156, - 4483,5368,228,722,331,3284,232,5368,4468,5368, - 5368,856,319,3439,331,5368,316,540,5368,350, - 222,193,5368,5368,5368,5368,1949,405,2914,5368, - 5368,236,230,231,5368,5368,344,2791,1140,347, - 5368,5368,274,1468,35,651,32,734,3016,27, - 30,31,584,568,337,28,406,407,408,294, - 295,1863,5368,5368,243,246,249,252,1037,1104, - 35,1085,386,1286,2158,5368,5368,2815,4819,5368, - 5368,1856,1779,35,651,32,2418,3016,27,30, - 31,584,568,337,28,228,5368,5368,5368,5368, - 856,319,5368,49,5368,313,540,5368,5368,5368, - 5368,5368,1025,47,5368,737,5368,2913,5368,1949, - 405,2914,587,35,1085,386,5368,5368,2741,1104, - 35,1085,386,5368,587,35,1085,386,5368,1914, - 319,5368,56,409,411,5368,2815,5368,5368,406, - 407,408,294,295,1863,5368,49,587,35,1085, - 386,5368,5368,49,341,1025,47,2775,49,5368, - 4573,5368,1025,47,1856,5368,3765,1025,47,5368, - 5368,1135,5368,587,35,1085,386,2970,2487,5368, - 5368,49,5368,2483,5368,5368,5368,1641,2618,5368, - 1025,47,2815,5368,1979,35,1085,386,5368,587, - 35,1085,386,3877,333,5368,3010,49,5368,5368, - 2624,587,35,1085,386,5368,1025,47,2168,35, - 1085,386,5368,5368,5368,737,409,412,49,3004, - 315,5368,3173,49,5368,56,1616,1025,47,536, - 1142,5368,1025,47,5368,49,56,5368,5368,5368, - 536,5368,49,3768,1025,47,5368,341,3465,56, - 5368,1025,47,536,5368,156,160,5368,341,5368, - 3471,5368,5368,5368,2322,5368,156,3783,503,5368, - 2970,341,5368,1616,5368,2479,3765,1142,5368,156, - 1391,2970,502,35,1085,386,1889,5368,2322,56, - 2815,2474,5368,536,2970,502,35,1085,386,502, - 35,1085,386,160,2680,5368,5368,5368,341,500, - 502,341,5368,4219,333,5368,49,5368,528,156, - 5368,5368,3586,56,5368,1025,662,536,188,49, - 5368,2970,5368,49,4543,5368,56,5368,1025,2043, - 536,531,1025,2765,5368,341,5368,5368,56,5368, - 56,2731,2815,156,2815,56,56,56,341,2815, - 2815,2815,188,5368,5368,5368,156,5368,4543,3696, - 341,5368,341,5368,5368,188,5368,341,341,341, - 5368,4543,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,4295,5368,2970,5368,2970,5368,5368,5368,5368, - 2970,2970,2970,1648,5368,2973,5368,5368,5368,5368, - 507,505,532,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,4314,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,4331,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,4236,5368,0,2115,1,0, - 39,5383,1,0,39,5382,1,0,38,625, - 0,38,5383,0,38,5382,0,452,774,0, - 438,867,0,1172,29,0,5383,48,0,5382, - 48,0,5380,381,0,5379,381,0,39,5383, - 0,39,5382,0,1,442,0,456,953,0, - 455,1475,0,35,33,0,1172,385,0,47, - 37,0,2570,126,0,1,1046,0,1,5640, - 0,1,5639,0,1,5638,0,1,5637,0, - 1,5636,0,1,5635,0,1,5634,0,1, - 5633,0,1,5632,0,1,5631,0,1,5630, - 0,283,392,0,283,286,0,5602,241,0, - 5601,241,0,5704,241,0,5703,241,0,5629, - 241,0,5628,241,0,5627,241,0,5626,241, - 0,5625,241,0,5624,241,0,5623,241,0, - 5622,241,0,5640,241,0,5639,241,0,5638, - 241,0,5637,241,0,5636,241,0,5635,241, - 0,5634,241,0,5633,241,0,5632,241,0, - 5631,241,0,5630,241,0,39,5383,241,0, - 39,5382,241,0,5406,241,0,43,5404,0, - 43,37,0,2156,91,0,32,34,0,39, - 625,0,329,443,0,5374,1,0,5373,1, - 0,237,2725,0,32,386,0,29,385,0, - 2570,128,0,2570,127,0,499,1862,0,5406, - 1,229,0,39,1,229,0,229,414,0, - 5383,37,0,5382,37,0,5404,45,0,37, - 45,0,5406,1,0,39,1,0,1,92, - 0,5378,403,0,5377,403,0,4414,1,0, - 3580,1,0,625,1,0,229,413,0,1948, - 381,0,5383,2,37,0,5382,2,37,0, - 5383,36,0,5382,36,0,1,329,0,8, - 12,0,329,95,0,35,73,0,499,4226, - 0,1,229,0,229,220,0,278,3782,0, - 229,219,0,1,3302,0,1,3392,0,5380, - 1,0,5376,1,0,1,229,2554,0,5377, - 229,0,2560,229,0,2785,229,0,10,12, - 0,8,10,12,0,185,3384,0 + 3,133,133,130,130,112,112,82,77,73, + 161,161,113,113,197,197,197,134,134,124, + 124,198,198,174,174,102,1119,35,2205,2156, + 1179,4475,27,30,31,584,578,26,28,2108, + 25,23,50,1373,106,76,77,108,221,1435, + 1531,1443,1585,1578,1704,1662,2551,1745,1234,1729, + 273,1787,1788,143,1446,56,158,144,1167,688, + 1600,35,736,32,2077,4520,27,30,31,584, + 578,57,28,3023,35,736,32,232,3360,27, + 30,31,584,578,26,28,1366,25,23,50, + 1373,106,76,77,108,321,1435,1531,1443,2394, + 235,230,231,502,1093,990,34,3023,35,736, + 32,274,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,322, + 1435,1531,2543,242,245,248,251,670,2377,35, + 277,502,35,2946,2451,1118,2035,35,736,32, + 1335,4520,27,30,31,584,578,56,28,520, + 1830,1661,2663,1109,3197,3966,4177,4203,2250,35, + 736,32,2852,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 340,1435,1531,1443,1585,1578,1704,1662,61,1745, + 2217,1729,3559,1787,1788,143,1322,2423,515,144, + 327,35,279,3284,1993,4711,2164,1347,502,35, + 990,276,2941,516,2250,35,736,32,2852,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,340,1435,1531,1443, + 1585,1578,1704,1662,2298,1745,924,1729,2852,1787, + 1788,143,502,4234,515,144,776,2235,2484,3284, + 1616,2852,1725,2083,1138,350,2607,863,3253,516, + 511,1249,35,293,60,2122,35,736,32,2607, + 4737,27,30,31,584,578,26,28,1879,509, + 160,1905,1285,1903,2250,35,736,32,2852,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,340,1435,1531,1443, + 1585,1578,1704,1662,2210,1745,511,1729,2623,1787, + 1788,143,358,2043,515,144,502,3338,2941,3284, + 42,1956,2207,1603,1914,503,236,1905,94,516, + 2526,35,736,32,1991,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,108,558,1435,1531,1443,1585,1578,1704,1662, + 310,1745,776,1729,2031,1787,1788,143,501,502, + 376,144,1611,863,1653,327,35,279,88,351, + 4732,102,3023,35,736,32,511,3360,27,30, + 31,584,578,26,28,1366,25,23,50,1373, + 106,76,77,108,1955,1435,2231,1905,2594,35, + 736,32,2852,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 340,1435,1531,1443,1585,1578,1704,1662,288,1745, + 2467,1729,2242,1787,1788,143,502,4023,515,144, + 502,35,293,3284,96,1618,383,377,1005,2319, + 35,736,32,516,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,2288,1435,1531,1443,1585,1578,1704,1662,1517, + 1745,1863,1729,4081,1787,1788,143,1737,2491,376, + 144,1611,1956,35,736,32,2544,4737,27,30, + 31,584,578,59,28,2130,2080,502,35,293, + 512,2391,35,736,32,2940,3360,27,30,31, + 584,578,26,28,1366,25,23,50,1373,106, + 76,77,108,1324,1435,1531,1443,1585,1578,1704, + 1662,4230,1745,402,1729,2136,1787,1788,143,1232, + 4568,376,144,1611,2968,35,736,32,1618,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,86,76,77,384,377,1005,2788,35, + 736,32,1010,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 1821,1435,1531,1443,1585,1578,1704,1662,4246,1745, + 232,1729,2241,1787,1788,143,2771,69,158,144, + 1956,35,736,32,2493,4737,27,30,31,584, + 578,58,28,244,230,231,71,374,377,1005, + 2788,35,736,32,3364,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,108,496,1435,1531,1443,1585,1578,1704,1662, + 2499,1745,2485,1729,441,1787,1788,143,182,419, + 370,144,671,2788,35,736,32,3365,3360,27, + 30,31,584,578,26,28,1366,25,23,50, + 1373,106,76,77,108,2617,1435,1531,1443,1585, + 1578,1704,1662,428,1745,2623,1729,56,1787,1788, + 143,744,1830,370,144,671,2788,35,736,32, + 4544,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,108,314,1435, + 1531,1443,1585,1578,1704,1662,2634,1745,1525,1729, + 56,1787,1788,143,1138,369,370,144,2733,35, + 736,32,1010,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 1781,1435,1531,1443,1585,1578,1704,1662,1946,1745, + 2485,1729,737,1787,1829,164,931,1355,368,2459, + 35,736,32,3270,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,3072,1435,1531,1443,1585,1578,1704,1662,319, + 1745,445,1729,1618,1787,1788,143,436,324,142, + 144,366,458,2788,35,736,32,1619,3360,27, + 30,31,584,578,26,28,1366,25,23,50, + 1373,106,76,77,108,585,1435,1531,1443,1585, + 1578,1704,1662,1350,1745,1172,1729,56,1787,1788, + 143,1138,142,155,144,2788,35,736,32,4021, + 3360,27,30,31,584,578,26,28,1366,25, + 23,50,1373,106,76,77,108,2523,1435,1531, + 1443,1585,1578,1704,1662,2053,1745,135,1729,4344, + 1787,1788,143,2656,135,154,144,2788,35,736, + 32,3564,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,4295, + 1435,1531,1443,1585,1578,1704,1662,4012,1745,445, + 1729,64,1787,1788,143,93,1863,153,144,2788, + 35,736,32,326,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,2530,1435,1531,1443,1585,1578,1704,1662,56, + 1745,1618,1729,824,1787,1788,143,1010,1811,152, + 144,2788,35,736,32,929,3360,27,30,31, + 584,578,26,28,1366,25,23,50,1373,106, + 76,77,108,1618,1435,1531,1443,1585,1578,1704, + 1662,56,1745,1172,1729,1687,1787,1788,143,1010, + 135,151,144,2788,35,736,32,523,3360,27, + 30,31,584,578,26,28,1366,25,23,50, + 1373,106,76,77,108,2802,1435,1531,1443,1585, + 1578,1704,1662,1618,1745,1618,1729,457,1787,1788, + 143,1618,1236,150,144,2788,35,736,32,1779, + 3360,27,30,31,584,578,26,28,1366,25, + 23,50,1373,106,76,77,108,322,1435,1531, + 1443,1585,1578,1704,1662,3096,1745,1172,1729,323, + 1787,1788,143,3461,1244,149,144,2788,35,736, + 32,522,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,400, + 1435,1531,1443,1585,1578,1704,1662,56,1745,1355, + 1729,880,1787,1788,143,1328,135,148,144,2788, + 35,736,32,380,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,495,1435,1531,1443,1585,1578,1704,1662,56, + 1745,1355,1729,2773,1787,1788,143,1352,1380,147, + 144,2788,35,736,32,2239,3360,27,30,31, + 584,578,26,28,1366,25,23,50,1373,106, + 76,77,108,375,1435,1531,1443,1585,1578,1704, + 1662,56,1745,1355,1729,4434,1787,1788,143,49, + 1476,146,144,2788,35,736,32,1442,3360,27, + 30,31,584,578,26,28,1366,25,23,50, + 1373,106,76,77,108,3940,1435,1531,1443,1585, + 1578,1704,1662,1375,1745,1355,1729,671,1787,1788, + 143,1010,4548,145,144,2788,35,736,32,160, + 3360,27,30,31,584,578,26,28,1366,25, + 23,50,1373,106,76,77,108,24,1435,1531, + 1443,1585,1578,1704,1662,2163,1745,1355,1729,2566, + 1787,1788,143,1010,590,159,144,2788,35,736, + 32,1599,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,69, + 1435,1531,1443,1585,1578,1704,1662,2566,1745,1355, + 1729,3962,1787,1788,143,848,1174,140,144,2906, + 35,736,32,1965,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,68,1435,1531,1443,1585,1578,1704,1662,1991, + 1745,1355,1729,51,1787,1788,143,1859,2169,189, + 144,3023,35,736,32,2551,3360,27,30,31, + 584,578,26,28,1366,25,23,50,1373,106, + 76,77,108,53,1435,1531,1443,1585,1578,1704, + 1662,56,1745,353,1729,2988,1787,1829,164,3023, + 35,736,32,529,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,2544,1435,1531,1443,1585,1578,1704,1662,2566, + 1745,352,1729,2279,1787,1829,164,327,35,451, + 1474,529,4574,502,35,3099,3023,35,736,32, + 421,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,108,2314,1435, + 1531,1443,1585,1578,1704,1662,56,1745,520,1729, + 4436,1787,1829,164,3023,35,736,32,292,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,2704,1435,1531,1443, + 1585,1578,1704,1662,56,1745,3297,1729,2584,1787, + 1829,164,502,35,990,3073,2750,502,35,1184, + 386,3023,35,736,32,3476,3360,27,30,31, + 584,578,26,28,1366,25,23,50,1373,106, + 76,77,108,320,1435,1531,1443,1585,1578,1704, + 1662,429,1745,529,1729,3223,1787,1829,164,3078, + 35,736,32,420,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,408,1435,1531,1443,1585,1578,1704,1662,56, + 1745,2166,1729,3388,1787,1829,164,444,3643,3644, + 322,580,502,35,1184,386,3023,35,736,32, + 423,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,108,1144,1435, + 1531,1443,1585,1578,1704,1662,450,1745,671,1729, + 1613,2803,1355,4556,3023,35,736,32,3922,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,387,1435,1531,1443, + 1585,1578,1704,1662,87,1745,1355,2744,3023,35, + 736,32,1355,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 2784,1435,1531,1443,1585,1578,1704,1662,52,2696, + 3023,35,736,32,347,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,108,1700,1435,1531,1443,1585,1578,1704,2702, + 3023,35,736,32,932,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,108,1378,1435,1531,1443,1585,1578,2659,3023, + 35,736,32,2582,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,1527,1435,1531,1443,1585,2662,3023,35,736, + 32,142,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,1790, + 1435,1531,1443,1585,2674,1983,35,736,32,2777, + 3605,27,30,31,584,578,336,28,3023,35, + 736,32,1560,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,108, + 1792,1435,1531,1443,2412,502,35,990,278,2152, + 35,736,32,1355,776,41,30,31,584,578, + 56,1355,574,318,2561,329,521,312,540,1628, + 35,990,276,1610,2160,35,736,32,400,311, + 40,30,31,584,578,90,2544,1249,3602,293, + 2991,2414,4307,3050,1223,35,736,32,2683,2905, + 27,30,31,584,578,336,28,305,535,726, + 3023,35,736,32,2350,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,108,401,1435,1531,1443,2441,1453,35,736, + 32,4589,2905,27,30,31,584,578,336,28, + 3650,3311,318,1101,35,2812,2241,3023,35,736, + 32,3645,3360,27,30,31,584,578,26,28, + 1366,25,23,50,1373,106,76,77,108,2246, + 1435,1531,1443,2469,322,2414,2345,49,558,1954, + 2852,2374,3217,3335,574,318,1177,661,2414,312, + 540,388,425,1616,3219,1686,239,1138,340,241, + 1653,3420,349,1726,35,3499,32,2777,3605,27, + 30,31,584,578,336,28,1508,341,854,720, + 346,1358,1778,160,159,3397,1802,35,736,32, + 4479,2905,27,30,31,584,578,336,28,2350, + 284,2931,314,788,232,2544,3440,2160,35,736, + 32,1452,776,3275,30,31,584,578,348,2544, + 574,318,1355,329,1949,312,540,240,230,231, + 2702,1867,2160,35,736,32,2941,1048,3372,30, + 31,584,578,574,318,389,425,2326,312,540, + 4307,259,2235,737,3085,536,2852,1347,391,425, + 1367,349,2941,2616,56,2559,1812,2852,2655,2852, + 2852,2941,363,228,2607,1900,341,854,720,346, + 776,156,56,1498,2332,340,3037,340,2607,180, + 4032,330,1815,1172,2224,35,277,203,215,2951, + 1560,202,212,213,214,216,776,169,1039,1, + 4034,1867,2154,536,3309,776,168,329,183,167, + 170,171,172,173,174,2346,329,2484,415,417, + 3481,228,3133,35,1184,386,2382,4430,2847,156, + 503,3440,872,521,4190,237,379,180,4032,325, + 332,1172,2510,4166,357,203,215,2951,2515,202, + 212,213,214,216,2727,169,273,502,3462,990, + 74,2531,3167,3177,168,181,184,167,170,171, + 172,173,174,500,502,587,35,1184,386,3023, + 35,736,32,232,3360,27,30,31,584,578, + 26,28,1366,25,23,50,1373,106,76,77, + 108,1247,1435,1531,2649,1232,235,230,231,49, + 159,502,35,1184,386,3610,2663,274,1177,1997, + 2829,1779,35,736,32,2475,2905,27,30,31, + 584,578,336,28,3124,1628,35,990,3470,242, + 245,248,251,670,345,49,56,440,536,454, + 1138,1118,4279,1612,1177,1487,2415,89,1483,3338, + 102,56,843,35,451,2668,228,4574,2663,1109, + 3197,3966,4177,4203,156,2421,156,56,3311,318, + 431,3034,180,4032,536,1913,1172,502,35,282, + 203,215,2951,2381,202,212,213,214,216,56, + 169,56,228,536,2414,2852,2642,1483,3338,168, + 156,3944,167,170,171,172,173,174,180,4032, + 56,340,1172,340,4146,3007,203,215,2951,156, + 202,212,213,214,216,517,169,56,1865,536, + 1774,1138,1618,2446,3284,168,3284,178,167,170, + 171,172,173,174,1823,56,1963,228,1355,2719, + 1901,1101,35,394,2786,156,56,156,70,2447, + 4015,603,378,180,4032,536,2795,1172,2931,314, + 287,203,215,2951,1172,202,212,213,214,216, + 67,169,348,228,502,35,1184,386,373,1355, + 168,156,176,167,170,171,172,173,174,180, + 4032,2654,3380,1172,390,425,2423,203,215,2951, + 1138,202,212,213,214,216,689,169,273,287, + 536,66,448,3643,3644,349,168,1887,177,167, + 170,171,172,173,174,56,156,2214,228,2772, + 341,854,720,346,200,4244,156,1612,2332,56, + 3200,3380,775,1360,180,4032,536,1246,1172,3653, + 322,2223,203,215,2951,1355,202,212,213,214, + 216,2423,169,2383,228,536,2224,35,280,337, + 1355,168,156,187,167,170,171,172,173,174, + 180,4032,371,4031,1172,1355,1355,65,203,215, + 2951,156,202,212,213,214,216,861,169,180, + 4032,536,64,502,35,1184,386,168,232,4064, + 167,170,171,172,173,174,285,3430,55,228, + 502,35,1184,386,2136,2359,195,156,1355,4568, + 3305,247,230,231,2148,180,4032,49,4085,1172, + 2664,1010,2305,203,215,2951,46,202,212,213, + 214,216,71,169,432,502,35,990,281,737, + 54,2454,168,404,192,167,170,171,172,173, + 174,2071,35,736,32,4589,2905,27,30,31, + 584,578,336,28,3023,35,736,32,2387,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,3253,1435,2251,349, + 1216,35,1184,386,2146,502,35,1184,386,4628, + 3309,97,2359,3364,341,854,720,346,574,318, + 2419,838,339,312,540,947,1616,2344,737,536, + 1138,1138,4670,196,49,524,349,2481,322,49, + 1101,35,394,1177,2492,331,332,228,1177,4084, + 298,341,854,720,346,156,160,156,56,525, + 2483,1033,4680,180,4032,536,162,1172,44,1956, + 56,203,215,2951,4194,202,212,213,214,216, + 2455,169,427,228,502,35,1184,386,1713,3309, + 168,156,186,167,170,171,172,173,174,180, + 4032,56,2665,1172,295,4026,3573,203,215,2951, + 2488,202,212,213,214,216,1010,169,431,56, + 3236,2514,671,1909,327,332,168,4634,194,167, + 170,171,172,173,174,1364,35,736,32,1329, + 3605,27,30,31,584,578,336,28,3655,1499, + 35,736,32,2777,2905,27,30,31,584,578, + 336,28,3023,35,736,32,2553,3360,27,30, + 31,584,578,26,28,1366,25,23,50,1373, + 106,76,77,108,776,2278,757,35,1184,386, + 1355,1338,574,318,2555,330,98,313,540,502, + 35,990,3526,671,671,4409,574,318,4639,4645, + 349,312,540,2515,322,502,35,1184,386,671, + 273,2549,101,311,4651,343,854,720,346,1715, + 35,736,32,2777,2905,27,30,31,584,578, + 336,28,2521,2288,1355,587,35,1184,386,273, + 1908,305,535,726,3023,35,736,32,2667,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,108,4020,2290,56,49, + 294,3201,1947,2591,2581,2592,574,318,1177,992, + 2359,312,540,2626,4342,2687,502,35,1184,386, + 2359,72,2670,311,3124,3645,3023,35,736,32, + 275,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,108,221,2382, + 430,533,535,726,3023,35,736,32,302,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,85,3023,1093,736,1837, + 2517,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,84,3023,35, + 736,32,2602,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,83, + 87,2677,2688,568,3023,35,736,32,322,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,82,3023,35,736,32, + 2690,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,81,3023,35, + 736,32,2696,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,80, + 3023,35,736,32,303,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,79,3023,35,736,32,2069,3360,27,30, + 31,584,578,26,28,1366,25,23,50,1373, + 106,76,77,78,2851,35,736,32,2698,3360, + 27,30,31,584,578,26,28,1366,25,23, + 50,1373,106,76,77,104,3023,35,736,32, + 173,3360,27,30,31,584,578,26,28,1366, + 25,23,50,1373,106,76,77,110,3023,35, + 736,32,2683,3360,27,30,31,584,578,26, + 28,1366,25,23,50,1373,106,76,77,109, + 3023,35,736,32,2692,3360,27,30,31,584, + 578,26,28,1366,25,23,50,1373,106,76, + 77,107,3023,35,736,32,1376,3360,27,30, + 31,584,578,26,28,1366,25,23,50,1373, + 106,76,77,105,2063,35,3499,32,2777,2905, + 27,30,31,584,578,336,28,1468,35,736, + 32,2777,2905,27,30,31,584,578,336,28, + 56,1355,56,56,1138,1563,4106,4722,56,2852, + 56,56,566,2694,4231,2005,1824,232,2773,56, + 2852,56,2359,2069,2343,3509,2757,228,3321,2759, + 156,574,318,3660,2359,2810,312,540,228,3088, + 250,230,231,1616,574,318,1355,1138,1048,312, + 540,205,215,2951,2761,204,212,213,214,216, + 179,311,205,215,2951,5259,204,212,213,214, + 216,1347,198,160,2080,1347,2941,5259,449,5259, + 2941,206,208,210,3070,5259,217,207,209,306, + 535,726,206,208,210,3070,1911,217,207,209, + 2852,1703,1468,35,736,32,2777,2905,27,30, + 31,584,578,336,28,1101,35,394,228,3398, + 776,4335,1355,1286,776,1616,5259,2852,4748,1138, + 3574,329,4335,527,5259,329,737,3278,2162,416, + 417,3481,205,215,2951,228,204,212,213,214, + 216,5259,5259,5259,3156,160,1890,5259,2751,574, + 318,2941,4166,5259,312,540,2359,1609,5259,1065, + 405,2564,206,208,210,3070,1367,217,207,209, + 1692,35,736,32,737,3605,27,30,31,584, + 578,336,28,3182,35,1184,386,3309,4430,406, + 407,408,3070,5259,197,776,238,1355,5259,2083, + 3768,56,4335,1998,5259,1138,330,2852,5259,3550, + 2359,737,3023,4045,2359,1355,1616,273,232,776, + 1138,349,3479,332,2359,228,2359,574,318,3192, + 330,156,313,540,1355,3309,343,854,720,346, + 3129,253,230,231,232,5259,160,3247,301,205, + 215,2951,201,204,212,213,214,216,5259,1355, + 5259,56,199,5259,297,2852,1571,236,230,231, + 3638,332,3309,2359,5259,1618,409,412,274,206, + 208,210,3070,340,518,207,209,1692,35,736, + 32,1655,3605,27,30,31,584,578,336,28, + 243,246,249,252,670,1650,3284,4029,332,2852, + 4056,3387,1118,5259,5259,1737,1989,1172,5259,2852, + 5259,5259,2359,5259,2085,5259,5259,228,2852,5259, + 5259,373,5259,5259,56,5259,776,228,1138,5259, + 5259,2359,5259,5259,574,318,228,330,1355,315, + 540,205,215,2951,5259,204,212,213,214,216, + 222,205,215,2951,156,204,212,213,214,216, + 205,215,2951,3205,204,212,213,214,216,193, + 4361,206,208,210,3070,5259,517,207,209,1355, + 5259,206,208,210,3070,2172,218,207,209,2852, + 206,208,210,3070,5259,304,207,209,5259,5259, + 587,35,1184,386,1181,5259,1374,228,2852,4748, + 2852,3421,1468,35,736,32,2777,2905,27,30, + 31,584,578,336,28,4018,228,5259,2607,5259, + 5259,205,215,2951,49,204,212,213,214,216, + 5259,5259,5259,1177,1921,2276,35,1184,386,1812, + 1065,405,2564,2852,2941,5259,5259,5259,5259,3575, + 5259,206,208,210,3070,5259,497,207,209,574, + 318,2607,5259,5259,312,540,5259,5259,5259,49, + 406,407,408,3070,5259,5259,4039,5259,1177,2661, + 1104,35,1184,386,357,5259,5259,5259,776,5259, + 5259,5259,5259,3023,3575,5259,5259,5259,5259,329, + 5259,3235,3167,3177,1104,35,1184,386,587,35, + 1184,386,5259,5259,49,5259,1104,35,1184,386, + 5259,1889,5259,1177,2675,2852,3495,357,587,35, + 1184,386,5259,5259,587,35,1184,386,49,3546, + 5259,5259,49,340,2531,3167,3177,1177,47,1347, + 49,1177,47,528,2941,5259,5259,409,411,1177, + 47,5259,49,3216,5259,5259,3284,3017,49,5259, + 56,1177,47,5259,2852,2752,531,1177,47,5259, + 5259,2250,5259,5259,4133,5259,5259,2167,587,35, + 1184,386,340,2252,1979,35,1184,386,776,587, + 35,1184,386,5259,5259,587,35,1184,386,329, + 5259,2308,35,1184,386,3284,5259,5259,5259,5259, + 5259,5259,49,5259,5259,1998,5259,5259,49,5259, + 2482,1177,47,49,536,5259,3495,1177,47,49, + 1374,5259,1177,47,2852,49,56,3270,1177,47, + 536,5259,340,1000,1177,47,5259,56,3444,5259, + 156,536,2607,5259,3656,5259,5259,5259,340,188, + 1067,502,35,1184,386,4442,156,56,5259,340, + 5259,1138,2618,5259,56,1949,2852,156,2852,5259, + 5259,3284,502,35,1184,386,1865,502,35,1184, + 386,1907,3284,5259,2607,49,340,156,502,35, + 1184,386,2292,5259,1177,2814,3220,5259,5259,4111, + 56,5259,5259,5259,1138,5259,49,5259,357,3284, + 190,49,5259,56,56,1177,658,536,536,2073, + 1177,2492,49,5259,56,3604,3167,3177,536,56, + 156,1177,2820,2852,56,340,340,56,2852,3291, + 5259,1138,5259,156,156,5259,340,5259,5259,5259, + 503,340,188,188,156,5259,340,5259,4442,4442, + 56,56,5259,188,2852,2852,5259,156,5259,4442, + 5259,5259,5259,5259,3284,5259,4368,5259,5259,3284, + 5259,5259,340,340,2742,5259,5259,5259,5259,507, + 4293,5259,5259,500,502,5259,5259,5259,5259,5259, + 5259,5259,5259,5259,5259,3284,3284,5259,5259,5259, + 5259,5259,5259,4132,4217,505,532,5259,5259,5259, + 5259,5259,5259,5259,4235,5259,5259,5259,5259,5259, + 5259,5259,5259,5259,5259,3856,5259,0,2519,1, + 0,39,5274,1,0,39,5273,1,0,38, + 623,0,38,5274,0,38,5273,0,452,575, + 0,438,1277,0,1569,29,0,5274,48,0, + 5273,48,0,5271,381,0,5270,381,0,39, + 5274,0,39,5273,0,1,442,0,456,1332, + 0,455,1577,0,35,33,0,1569,385,0, + 47,37,0,2580,126,0,1,1242,0,1, + 5531,0,1,5530,0,1,5529,0,1,5528, + 0,1,5527,0,1,5526,0,1,5525,0, + 1,5524,0,1,5523,0,1,5522,0,1, + 5521,0,283,392,0,283,286,0,5493,241, + 0,5492,241,0,5594,241,0,5593,241,0, + 5520,241,0,5519,241,0,5518,241,0,5517, + 241,0,5516,241,0,5515,241,0,5514,241, + 0,5513,241,0,5531,241,0,5530,241,0, + 5529,241,0,5528,241,0,5527,241,0,5526, + 241,0,5525,241,0,5524,241,0,5523,241, + 0,5522,241,0,5521,241,0,39,5274,241, + 0,39,5273,241,0,5297,241,0,43,5295, + 0,43,37,0,1447,91,0,32,34,0, + 39,623,0,328,443,0,5265,1,0,5264, + 1,0,237,790,0,32,386,0,29,385, + 0,2580,128,0,2580,127,0,499,3036,0, + 5297,1,229,0,39,1,229,0,229,414, + 0,5274,37,0,5273,37,0,5295,45,0, + 37,45,0,5297,1,0,39,1,0,1, + 92,0,5269,403,0,5268,403,0,4112,1, + 0,2783,1,0,623,1,0,229,413,0, + 3381,381,0,5274,2,37,0,5273,2,37, + 0,5274,36,0,5273,36,0,1,328,0, + 8,12,0,328,95,0,35,73,0,499, + 4325,0,1,229,0,278,3386,0,229,220, + 0,1,3091,0,1,3400,0,229,219,0, + 5271,1,0,5267,1,0,1,229,3742,0, + 5268,229,0,3760,229,0,3900,229,0,10, + 12,0,8,10,12,0,185,3385,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1253,9 +1231,9 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,100,0,0, - 1,2,40,4,5,98,7,0,0,0, - 48,4,0,87,88,0,0,0,56,57, - 58,59,60,8,62,8,64,68,0,22, + 1,2,40,4,5,98,7,48,0,0, + 48,0,0,87,88,0,5,0,56,57, + 58,59,60,8,62,8,64,0,1,2, 22,23,24,71,26,27,28,29,30,31, 32,33,34,0,35,36,48,48,86,0, 1,2,3,4,5,6,7,8,9,10, @@ -1263,7 +1241,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,67,0,1,2,73,40, 5,0,1,2,3,4,5,48,7,0, - 72,89,0,91,55,56,57,58,59,60, + 0,89,0,91,55,56,57,58,59,60, 8,62,0,64,0,1,2,3,4,5, 6,7,10,9,0,0,1,2,3,4, 5,6,7,48,9,86,0,1,2,3, @@ -1307,81 +1285,81 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 26,27,28,29,30,31,32,33,34,67, 0,0,1,2,40,4,5,48,7,0, 0,55,48,63,72,0,68,8,70,4, - 56,57,58,59,60,0,62,0,64,0, + 56,57,58,59,60,0,62,0,64,4, 3,0,1,2,25,8,5,22,7,0, - 1,2,0,0,5,0,7,0,1,2, + 1,2,0,0,5,0,7,22,0,4, 86,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,0,1,2,0, - 63,40,3,68,8,68,0,70,55,48, - 73,72,0,0,1,2,4,56,57,58, - 59,60,70,62,0,64,0,102,103,104, + 63,40,3,0,8,68,0,70,55,48, + 73,0,0,0,1,2,4,56,57,58, + 59,60,70,62,0,64,68,102,103,104, 0,0,1,2,10,0,0,6,8,0, 1,2,3,4,5,6,7,86,9,10, 11,12,13,14,15,16,17,18,19,20, 21,48,63,67,40,0,1,2,0,63, - 35,36,48,0,35,36,37,38,39,48, - 41,42,43,44,45,46,47,61,49,50, - 51,52,53,54,0,1,2,0,0,0, - 61,71,3,0,65,66,8,68,0,1, + 35,36,48,70,35,36,37,38,39,48, + 41,42,43,44,45,46,47,0,49,50, + 51,52,53,54,0,1,2,0,1,2, + 61,71,0,0,65,66,3,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 65,66,0,0,0,0,3,3,3,0, - 8,68,48,35,36,37,38,39,0,41, + 65,66,0,0,0,0,68,3,3,0, + 8,8,48,35,36,37,38,39,0,41, 42,43,44,45,46,47,8,49,50,51, 52,53,54,0,1,2,0,1,2,61, - 0,73,0,25,0,67,0,3,75,71, + 0,0,0,25,3,67,0,90,0,71, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,0,73,3,3,0,70, + 20,21,63,0,0,73,73,3,0,0, 0,48,0,3,48,35,36,37,38,39, 8,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,63,0,25,0,0, - 4,61,3,0,0,69,3,67,0,1, + 50,51,52,53,54,0,0,25,3,3, + 68,61,72,0,0,69,3,67,0,1, 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,70,0,4,0,48,69,5,8, - 0,0,0,35,36,37,38,39,0,41, + 0,0,0,0,0,72,3,0,70,8, + 0,4,0,35,36,37,38,39,0,41, 42,43,44,45,46,47,25,49,50,51, - 52,53,54,0,0,0,0,69,0,61, + 52,53,54,0,0,0,0,63,0,61, 0,55,4,65,66,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,55,63,0, - 0,0,3,55,3,39,0,0,0,0, + 15,16,17,18,19,20,21,55,0,69, + 0,69,0,55,0,3,72,3,0,69, 35,36,37,38,39,0,41,42,43,44, 45,46,47,55,49,50,51,52,53,54, - 90,0,0,69,3,72,61,72,0,0, - 70,0,67,0,1,2,3,4,5,6, + 0,0,0,3,70,72,61,39,72,69, + 0,0,67,0,1,2,3,4,5,6, 7,0,9,10,11,12,13,14,15,16, 17,18,19,20,21,0,0,0,3,0, - 5,6,0,4,9,69,69,10,35,36, + 5,6,0,4,9,0,61,10,35,36, 37,38,39,0,41,42,43,44,45,46, 47,0,49,50,51,52,53,54,90,0, 35,36,37,38,61,0,41,40,65,66, - 72,70,0,0,0,48,0,0,118,0, + 70,70,0,0,0,48,0,0,118,0, 55,55,3,72,55,0,0,55,63,3, 65,66,0,68,69,70,0,0,55,0, - 3,0,0,0,3,3,55,0,0,0, - 118,3,87,88,89,0,0,92,93,94, + 3,0,3,0,69,0,55,0,3,118, + 3,0,87,88,89,0,0,92,93,94, 95,96,97,98,99,100,101,55,55,55, 105,55,107,108,109,110,111,112,113,114, 115,116,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,72,0,70,0,69,0, - 3,0,69,0,0,0,69,35,36,37, + 18,19,20,21,72,69,0,0,0,3, + 0,55,69,0,0,0,75,35,36,37, 38,39,0,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,1,2, - 3,4,5,6,7,40,9,10,11,12, + 3,4,5,6,7,0,9,10,11,12, 13,14,15,16,17,18,19,20,21,0, - 0,39,0,0,55,0,0,118,0,0, - 0,0,35,36,37,38,39,121,41,42, + 0,0,40,0,0,0,0,0,0,118, + 0,0,35,36,37,38,39,69,41,42, 43,44,45,46,47,0,49,50,51,52, 53,54,0,0,0,0,0,0,61,117, 0,1,2,3,4,5,6,7,0,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,0,0,0,0,69,0, - 0,0,0,0,0,35,36,37,38,39, + 20,21,0,0,39,0,0,0,69,0, + 0,121,0,0,0,35,36,37,38,39, 0,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,1,2,3,4, 5,6,7,63,9,10,11,12,13,14, @@ -1446,345 +1424,345 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface TermAction { public final static char termAction[] = {0, - 5368,5345,5321,5321,5321,5321,5321,5321,5355,5321, + 5259,5236,5212,5212,5212,5212,5212,5212,5246,5212, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5349,1,1,1,1, + 1,1,1,1,1,5240,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,936, - 5543,1,1476,115,2028,1,1,5379,5368,3735, - 5368,5375,736,4756,1124,2715,4275,2213,4249,2529, - 2929,2713,660,2688,3371,2619,10,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,329,5358,5358,5358,5358,5358, - 5358,393,5358,5358,5358,5358,5358,5358,5358,2251, - 5358,5358,5358,5358,3578,3704,3672,5358,382,5368, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,8,5361,5361,5361,5361,5361,5361,5361, - 5361,5361,5361,5361,5361,5361,5361,5361,5361,5361, - 5361,5361,5361,5361,5361,5361,5361,5361,5361,5361, - 5361,5361,5361,5361,5361,5361,5361,5361,5361,5361, - 5361,5361,5361,5361,5361,5361,5361,5361,5361,5361, - 5368,5361,5361,5361,5361,5361,5361,5821,5361,5361, - 5361,5361,5361,5361,5361,301,5361,5361,5361,5361, - 286,5114,5114,5361,283,5668,5361,5361,5361,5361, - 5361,5361,5361,5361,5361,5361,5361,5361,5368,5345, - 5321,5321,5321,5321,5321,5321,5352,5321,1,1, + 1,1,1,1,1,1,1,1,1,996, + 5434,1,3448,115,3554,1,1,5270,5259,3666, + 5259,5266,734,4686,1403,3812,4176,2209,4044,3720, + 2974,3790,782,3762,3146,3761,10,5249,5249,5249, + 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, + 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, + 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, + 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, + 5249,5249,5249,5249,328,5249,5249,5249,5249,5249, + 5249,393,5249,5249,5249,5249,5249,5249,5249,2256, + 5249,5249,5249,5249,3067,3614,3522,5249,382,5259, + 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, + 5249,5249,8,5252,5252,5252,5252,5252,5252,5252, + 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, + 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, + 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, + 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, + 296,5252,5252,5252,5252,5252,5252,5712,5252,5252, + 5252,5252,5252,5252,5252,300,5252,5252,5252,5252, + 286,5005,5005,5252,283,5558,5252,5252,5252,5252, + 5252,5252,5252,5252,5252,5252,5252,5252,5259,5236, + 5212,5212,5212,5212,5212,5212,5243,5212,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5349,1,1,1,1,1,1, + 1,1,1,5240,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5368,1,1,1, - 1,1,1,437,1,1,1,936,5543,1, - 1476,5368,2028,1,1,5379,5368,5051,5048,5376, - 5406,5368,1124,2715,4275,2213,4249,2529,2929,2713, - 660,2688,3371,2619,5368,5345,5321,5321,5321,5321, - 5321,5321,5352,5321,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5349, + 1,1,1,1,1,1,5259,1,1,1, + 1,1,1,437,1,1,1,996,5434,1, + 3448,5259,3554,1,1,5270,5259,4942,4939,5267, + 5297,5259,1403,3812,4176,2209,4044,3720,2974,3790, + 782,3762,3146,3761,5259,5236,5212,5212,5212,5212, + 5212,5212,5243,5212,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5240, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5375,1,1,1,1,1,1,135, - 1,1,1,936,5543,1,1476,117,2028,1, - 1,5379,5368,3735,5368,5801,5802,5803,1124,2715, - 4275,2213,4249,2529,2929,2713,660,2688,3371,2619, - 5368,5345,5321,5321,5321,5321,5321,5321,5352,5321, + 1,1,5266,1,1,1,1,1,1,135, + 1,1,1,996,5434,1,3448,117,3554,1, + 1,5270,5259,3666,5259,5692,5693,5694,1403,3812, + 4176,2209,4044,3720,2974,3790,782,3762,3146,3761, + 5259,5236,5212,5212,5212,5212,5212,5212,5243,5212, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5349,1,1,1,1, + 1,1,1,1,1,5240,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5368,1, - 1,1,1,1,1,5368,1,1,1,936, - 5543,1,1476,5368,2028,1,1,5379,2300,3704, - 3672,5368,5382,5383,1124,2715,4275,2213,4249,2529, - 2929,2713,660,2688,3371,2619,5368,5345,5321,5321, - 5321,5321,5321,5321,5352,5321,1,1,1,1, + 1,1,1,1,1,1,1,1,5259,1, + 1,1,1,1,1,5259,1,1,1,996, + 5434,1,3448,5259,3554,1,1,5270,2328,3614, + 3522,5259,5273,5274,1403,3812,4176,2209,4044,3720, + 2974,3790,782,3762,3146,3761,5259,5236,5212,5212, + 5212,5212,5212,5212,5243,5212,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5349,1,1,1,1,1,1,1,1, + 1,5240,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5368,1,1,1,1,1, - 1,5368,1,1,1,936,5543,1,1476,116, - 2028,1,1,5379,111,3735,5368,5039,5036,5368, - 1124,2715,4275,2213,4249,2529,2929,2713,660,2688, - 3371,2619,5368,5345,5321,5321,5321,5321,5321,5321, - 5352,5321,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5349,1,1, + 1,1,1,1,5259,1,1,1,1,1, + 1,5259,1,1,1,996,5434,1,3448,116, + 3554,1,1,5270,111,3666,5259,4930,4927,5259, + 1403,3812,4176,2209,4044,3720,2974,3790,782,3762, + 3146,3761,5259,5236,5212,5212,5212,5212,5212,5212, + 5243,5212,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5240,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5368,1,1,1,1,1,1,5807,1,1, - 1,936,5543,1,1476,5368,2028,1,1,5379, - 39,3704,3672,4094,5406,4116,1124,2715,4275,2213, - 4249,2529,2929,2713,660,2688,3371,2619,5368,5345, - 5321,5321,5321,5321,5321,5321,5352,5321,1,1, + 5259,1,1,1,1,1,1,5698,1,1, + 1,996,5434,1,3448,5259,3554,1,1,5270, + 39,3614,3522,3896,5297,3918,1403,3812,4176,2209, + 4044,3720,2974,3790,782,3762,3146,3761,5259,5236, + 5212,5212,5212,5212,5212,5212,5243,5212,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5349,1,1,1,1,1,1, + 1,1,1,5240,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,334,1,1,1, - 1,1,1,5368,1,1,1,936,5543,1, - 1476,5368,2028,1,1,5379,5368,5382,5383,5703, - 5704,2989,1124,2715,4275,2213,4249,2529,2929,2713, - 660,2688,3371,2619,5368,5345,5321,5321,5321,5321, - 5321,5321,5352,5321,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5349, + 1,1,1,1,1,1,333,1,1,1, + 1,1,1,5259,1,1,1,996,5434,1, + 3448,5259,3554,1,1,5270,5259,5273,5274,5593, + 5594,2887,1403,3812,4176,2209,4044,3720,2974,3790, + 782,3762,3146,3761,5259,5236,5212,5212,5212,5212, + 5212,5212,5243,5212,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5240, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5368,1,1,1,1,1,1,5368, - 1,1,1,936,5543,1,1476,8,2028,1, - 1,5379,5368,5051,5048,5309,5406,5368,1124,2715, - 4275,2213,4249,2529,2929,2713,660,2688,3371,2619, - 5368,5345,5321,5321,5321,5321,5321,5321,5352,5321, + 1,1,5259,1,1,1,1,1,1,5259, + 1,1,1,996,5434,1,3448,8,3554,1, + 1,5270,5259,4942,4939,5200,5297,5259,1403,3812, + 4176,2209,4044,3720,2974,3790,782,3762,3146,3761, + 5259,5236,5212,5212,5212,5212,5212,5212,5243,5212, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5349,1,1,1,1, + 1,1,1,1,1,5240,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5309,1, - 1,1,1,1,1,5878,1,1,1,936, - 5543,1,1476,5368,2028,1,1,5379,121,1296, - 5368,125,1253,2725,1124,2715,4275,2213,4249,2529, - 2929,2713,660,2688,3371,2619,5368,5345,5321,5321, - 5321,5321,5321,5321,5352,5321,1,1,1,1, + 1,1,1,1,1,1,1,1,5200,1, + 1,1,1,1,1,5769,1,1,1,996, + 5434,1,3448,5259,3554,1,1,5270,121,1620, + 5259,125,1494,790,1403,3812,4176,2209,4044,3720, + 2974,3790,782,3762,3146,3761,5259,5236,5212,5212, + 5212,5212,5212,5212,5243,5212,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5349,1,1,1,1,1,1,1,1, + 1,5240,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5368,1,1,1,1,1, - 1,5368,1,1,1,936,5543,1,1476,5368, - 2028,1,1,5379,5368,629,2872,5372,629,2872, - 1124,2715,4275,2213,4249,2529,2929,2713,660,2688, - 3371,2619,5368,2554,1,1,1,1,1,1, - 2560,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5377,1,1, + 1,1,1,1,5259,1,1,1,1,1, + 1,5259,1,1,1,996,5434,1,3448,5259, + 3554,1,1,5270,5259,627,2909,5263,627,2909, + 1403,3812,4176,2209,4044,3720,2974,3790,782,3762, + 3146,3761,5259,3742,1,1,1,1,1,1, + 3760,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5268,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5368,1,1,1,1,1,1,5368,1,1, - 1,936,5543,1,1476,5368,2028,1,1,5379, - 395,5382,5383,48,5039,5036,1124,2715,4275,2213, - 4249,2529,2929,2713,660,2688,3371,2619,39,5051, - 5048,4745,2115,3918,3984,3580,5371,4006,791,5632, - 5630,5639,5638,5634,5635,5633,5636,5637,5640,5631, - 5628,5703,5704,114,5622,5629,5625,5601,5627,5626, - 5623,5624,5602,3962,3940,4050,4028,5387,5764,3896, - 1181,1259,5389,1182,3635,1217,452,5390,5388,1114, - 5384,5385,5386,5368,2283,5765,5766,2763,318,1393, - 5368,5243,5243,229,5239,229,229,229,5247,229, + 5259,1,1,1,1,1,1,5259,1,1, + 1,996,5434,1,3448,5259,3554,1,1,5270, + 395,5273,5274,48,4930,4927,1403,3812,4176,2209, + 4044,3720,2974,3790,782,3762,3146,3761,39,4942, + 4939,3029,2519,3716,3786,2783,5262,3808,925,5523, + 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, + 5519,5593,5594,114,5513,5520,5516,5492,5518,5517, + 5514,5515,5493,3764,3738,3852,3830,5278,5655,3694, + 1230,1316,5280,1265,1114,1275,452,5281,5279,1196, + 5275,5276,5277,5259,2679,5656,5657,3292,317,1369, + 5259,5134,5134,229,5130,229,229,229,5138,229, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5368,5382,5383,5368,5368, - 1,5027,1,5014,5010,5277,5007,5283,5236,5280, - 5378,224,4094,5368,4116,131,1,1,1,3026, - 5778,1350,1174,129,593,225,1,5377,290,5382, - 5383,414,229,5628,5703,5704,5368,5622,5629,5625, - 5601,5627,5626,5623,5624,5602,5866,5628,5703,5704, - 5368,5622,5629,5625,5601,5627,5626,5623,5624,5602, - 4072,964,5801,5802,5803,5368,5243,5243,229,5239, - 229,229,229,5286,229,1,1,1,1,1, + 1,1,1,1,1,5259,5273,5274,5259,5259, + 1,4918,1,4905,4901,5168,4898,5174,5127,5171, + 5269,224,3896,5259,3918,131,1,1,1,801, + 5669,1328,876,129,2390,225,1,5268,296,5273, + 5274,414,229,5519,5593,5594,5259,5513,5520,5516, + 5492,5518,5517,5514,5515,5493,5757,5519,5593,5594, + 5259,5513,5520,5516,5492,5518,5517,5514,5515,5493, + 3874,1318,5692,5693,5694,5259,5134,5134,229,5130, + 229,229,229,5177,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 229,1,1,1,1,1,1,1,1,1, - 3793,310,5368,33,2069,1,5063,133,29,5063, - 5368,5063,5063,5236,392,5111,5111,5368,283,2390, - 2362,1,1,1,3026,5778,39,1174,5063,118, - 5406,137,329,5006,5368,329,413,229,5063,5063, - 5063,5063,5374,343,5051,5048,2664,2115,625,329, - 3580,5866,329,1,5368,226,1427,124,5063,139, - 1469,361,283,1172,3513,3346,5063,5801,5802,5803, - 1092,5063,5063,5063,5063,5063,5063,5628,5703,5704, - 422,5622,5629,5625,5601,5627,5626,5623,5624,5602, - 5063,5063,5063,5063,5063,5063,5063,5063,5063,5063, - 5063,5063,5063,5063,5063,2332,1350,5373,5063,5063, - 5063,5063,5063,5063,5063,5063,5063,5063,5063,5063, - 5063,5368,5063,5063,5206,317,361,5206,1867,5206, - 5206,1185,365,5014,5010,2664,5007,625,1,3580, - 5368,1,5368,361,629,2872,5206,1,5014,5010, - 4414,5007,625,5368,3580,157,5206,5206,5206,5206, - 2251,5376,36,5303,5300,3578,1824,1781,1738,1695, - 1652,1609,1566,1523,1480,1437,5206,138,1,5014, - 5010,4414,5007,625,5206,3580,309,134,1350,5206, - 5206,5206,5206,5206,5206,1350,442,1,1,5368, - 1,1221,5054,309,91,5054,123,5203,5206,5206, - 5206,5206,5206,5206,5206,5206,5206,5206,5206,5206, - 5206,5206,5206,1003,5375,1910,5206,5206,5206,5206, - 5206,5206,5206,5206,5206,5206,5206,5206,5206,5368, - 5206,5206,5368,5321,5321,229,5321,229,229,229, - 5324,229,1,1,1,1,1,1,1,1, + 3189,309,5259,33,1320,1,4954,133,29,4954, + 5259,4954,4954,5127,392,5002,5002,5259,283,2447, + 2419,1,1,1,801,5669,39,876,4954,118, + 5297,137,328,4897,5259,328,413,229,4954,4954, + 4954,4954,5265,342,4942,4939,2706,2519,623,328, + 2783,5757,328,1,5259,226,1485,124,4954,139, + 1746,360,283,1569,3334,932,4954,5692,5693,5694, + 1071,4954,4954,4954,4954,4954,4954,5519,5593,5594, + 422,5513,5520,5516,5492,5518,5517,5514,5515,5493, + 4954,4954,4954,4954,4954,4954,4954,4954,4954,4954, + 4954,4954,4954,4954,4954,2360,1328,5264,4954,4954, + 4954,4954,4954,4954,4954,4954,4954,4954,4954,4954, + 4954,5259,4954,4954,5097,316,360,5097,1833,5097, + 5097,2294,364,4905,4901,2706,4898,623,1,2783, + 5259,1,5259,360,627,2909,5097,1,4905,4901, + 4112,4898,623,5259,2783,157,5097,5097,5097,5097, + 2256,5267,290,5273,5274,3067,1791,1749,1707,1665, + 1623,1581,1539,1497,1455,1413,5097,138,1,4905, + 4901,4112,4898,623,5097,2783,308,134,1328,5097, + 5097,5097,5097,5097,5097,1328,442,1,1,5259, + 1,1200,4945,308,91,4945,123,5094,5097,5097, + 5097,5097,5097,5097,5097,5097,5097,5097,5097,5097, + 5097,5097,5097,1009,5266,1875,5097,5097,5097,5097, + 5097,5097,5097,5097,5097,5097,5097,5097,5097,37, + 5097,5097,5259,5212,5212,229,5212,229,229,229, + 5218,229,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,229,1,1, - 8676,1,1,1,1,1,1,1185,37,5368, - 5051,5048,1,2115,5209,2332,3580,39,227,120, - 5318,5406,113,629,2872,1,5368,5368,1,1, - 1,3661,5579,161,1476,5380,2028,1820,5368,3619, - 5628,5703,5704,220,5622,5629,5625,5601,5627,5626, - 5623,5624,5602,5368,3513,3346,5404,939,5866,5368, - 5321,5321,229,5321,229,229,229,229,229,1, + 8630,1,1,1,1,1,1,2294,47,5259, + 4942,4939,1,2519,5100,2360,2783,5295,227,120, + 5209,5259,113,627,2909,1,2887,5259,1,1, + 1,2557,5470,161,3448,5271,3554,36,5194,5191, + 5519,5593,5594,220,5513,5520,5516,5492,5518,5517, + 5514,5515,5493,5259,3334,932,738,1052,5757,5259, + 5212,5212,229,5212,229,229,229,229,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8676,1,1, - 1,1,1,1,5379,37,5069,5069,161,1, - 5069,329,5051,5048,4414,2115,625,5318,3580,112, - 1953,4094,5368,4116,1906,1,1,1,3661,5579, - 5374,1476,301,2028,5368,5014,5010,4414,5007,625, - 1,3580,5668,1,456,5368,5014,5010,4414,5007, - 625,5306,3580,3445,5306,5866,5368,5321,5321,229, - 5321,229,229,229,5330,229,1,1,1,1, + 1,1,1,1,229,1,1,8630,1,1, + 1,1,1,1,5270,37,4960,4960,161,1, + 4960,328,4942,4939,4112,2519,623,5209,2783,112, + 5259,3896,5259,3918,3213,1,1,1,2557,5470, + 5265,3448,300,3554,5259,4905,4901,4112,4898,623, + 1,2783,5558,1,456,5259,4905,4901,4112,4898, + 623,5197,2783,2965,5197,5757,5259,5212,5212,229, + 5212,229,229,229,5227,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8676,1,1,1,1,1, - 1,3458,4877,47,5902,5373,1,132,1,5014, - 5010,5277,5007,5283,5318,5280,593,5057,4094,122, - 4116,5368,1,1,1,3661,5579,1047,1476,5378, - 2028,1,5014,5010,2664,5007,625,219,3580,5215, - 126,1,5265,5265,394,5262,5377,329,385,361, - 329,2458,5866,5368,5321,5321,229,5321,229,229, - 229,5324,229,1,1,1,1,1,1,1, + 1,229,1,1,8630,1,1,1,1,1, + 1,3482,4821,5259,5793,5264,1,132,1,4905, + 4901,5168,4898,5174,5209,5171,2390,4948,3896,122, + 3918,5259,1,1,1,2557,5470,2001,3448,5269, + 3554,1,4905,4901,2706,4898,623,219,2783,5106, + 126,1,5156,5156,394,5153,5268,328,385,360, + 328,3290,5757,5259,5212,5212,229,5212,229,229, + 229,5218,229,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,229,1, - 1,8676,1,1,1,1,1,1,37,5069, - 5069,4182,5368,1,1350,2597,443,39,39,1172, - 5406,5318,5212,5368,5218,5212,629,2872,5072,1, - 1,1,3661,5579,361,1476,356,2028,1,343, - 39,39,2679,5406,220,329,5374,5368,329,5368, - 1,361,455,2679,2525,2431,5404,5368,5215,5866, - 5368,5321,5321,229,5321,229,229,229,5324,229, + 1,8630,1,1,1,1,1,1,37,4960, + 4960,3984,5259,1,1328,2627,443,39,39,1569, + 5297,5209,5103,5259,5109,5103,627,2909,4963,1, + 1,1,2557,5470,360,3448,355,3554,1,342, + 39,39,3090,5297,220,328,5265,5259,328,5259, + 1,360,455,3090,2488,593,5295,5259,5106,5757, + 5259,5212,5212,229,5212,229,229,229,5218,229, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8676,1, + 1,1,1,1,1,229,1,1,8630,1, 1,1,1,1,1,92,1,1,136,1, - 1,5268,1350,130,5268,5368,5051,5048,5318,2115, - 625,5373,3580,1350,5368,5060,1,1,1,3661, - 5579,5767,1476,5218,2028,4328,5723,4320,5368,8523, - 8422,220,309,5014,5010,4414,5007,625,5306,3580, - 5368,5306,43,5200,5200,5368,5866,5368,5321,5321, - 229,5321,229,229,229,229,229,1,1,1, + 1,5159,1328,130,5159,5259,4942,4939,5209,2519, + 623,5264,2783,1328,5259,4951,1,1,1,2557, + 5470,1917,3448,5109,3554,4415,5613,787,5259,8414, + 8313,220,308,4905,4901,4112,4898,623,5197,2783, + 5259,5197,43,5091,5091,5259,5757,5259,5212,5212, + 229,5212,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8676,1,1,1,1, - 1,1,1821,5368,5368,5051,5048,1,2115,5209, - 5197,3580,95,39,39,5318,5406,2300,5312,2390, - 2362,5312,1,1,1,1,3661,5579,1828,1476, - 5339,2028,1,5014,5010,4414,5007,625,5368,3580, - 1,5014,5010,2664,5007,625,438,3580,5368,5368, - 8663,8663,2287,5866,5368,5321,5321,229,5321,229, + 1,1,229,1,1,8630,1,1,1,1, + 1,1,2845,5259,5259,4942,4939,1,2519,5100, + 5088,2783,95,39,39,5209,5297,2328,5203,2447, + 2419,5203,1,1,1,1,2557,5470,2856,3448, + 5230,3554,1,4905,4901,4112,4898,623,5259,2783, + 1,4905,4901,2706,4898,623,438,2783,5259,5259, + 8501,8501,1180,5757,5259,5212,5212,229,5212,229, 229,229,229,229,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,229, - 1,1,8676,1,1,1,1,1,1,5379, - 5368,5368,5051,5048,1,2115,625,5404,3580,403, - 5368,5030,5318,1350,1047,39,2856,5271,4320,5406, - 1,1,1,3661,5579,5368,1476,1,2028,426, - 2679,38,5024,5021,5274,339,5018,2601,3580,5368, - 5382,5383,513,29,625,5368,3580,5368,8523,8422, - 5866,5368,5321,5321,229,5321,229,229,229,229, + 1,1,8630,1,1,1,1,1,1,5270, + 5259,5259,4942,4939,1,2519,623,5295,2783,403, + 5259,4921,5209,1328,2001,39,4028,5162,787,5297, + 1,1,1,2557,5470,39,3448,1,3554,5297, + 3090,38,4915,4912,5165,338,4909,1308,2783,5259, + 5273,5274,513,29,623,393,2783,3563,5259,386, + 5757,5259,5212,5212,229,5212,229,229,229,229, 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8676, - 1,1,1,1,1,1,5368,5382,5383,345, - 1350,1,1854,1846,5380,339,346,339,5033,5318, - 339,3296,393,5368,5253,5250,386,1,1,1, - 3661,5579,880,1476,1,2028,530,5801,5802,5803, - 1,37,5069,5069,5333,119,5368,329,5342,1, - 5014,5010,4745,5007,3918,3984,3580,5866,4006,5075, - 5102,5108,5081,5084,5096,5093,5099,5090,5087,5078, - 5105,5404,1350,5379,5336,5368,5039,5036,5368,1350, - 3513,3346,2148,5368,3962,3940,4050,4028,5387,5404, - 3896,1181,1259,5389,1182,3635,1217,2512,5390,5388, - 1114,5384,5385,5386,45,5259,5259,5368,1,237, - 1393,5375,5221,5368,39,39,526,514,39,5051, - 5048,4745,2115,3918,3984,3580,5289,4006,1046,5632, - 5630,5639,5638,5634,5635,5633,5636,5637,5640,5631, - 4072,964,1,1,5368,5368,4870,3581,3762,360, - 163,4213,5256,3962,3940,4050,4028,5387,5368,3896, - 1181,1259,5389,1182,3635,1217,5378,5390,5388,1114, - 5384,5385,5386,37,5069,5069,5368,5296,5292,1393, - 5368,526,100,5377,5368,5045,291,4208,2869,5375, - 39,5051,5048,4745,2115,3918,3984,3580,5042,4006, - 1046,5632,5630,5639,5638,5634,5635,5633,5636,5637, - 5640,5631,289,5368,5368,163,4211,3782,368,3612, - 5368,2940,1,4221,5404,3962,3940,4050,4028,5387, - 5378,3896,1181,1259,5389,1182,3635,1217,5368,5390, - 5388,1114,5384,5385,5386,4216,5368,5377,366,5368, - 681,1393,3796,103,5368,2039,4746,5045,141,5051, - 5048,4745,2115,3918,3984,3580,5368,4006,1046,5632, - 5630,5639,5638,5634,5635,5633,5636,5637,5640,5631, - 5368,1,998,5368,2336,99,1907,1264,2989,191, - 1,5368,385,3962,3940,4050,4028,5387,5368,3896, - 1181,1259,5389,1182,3635,1217,191,5390,5388,1114, - 5384,5385,5386,446,418,5368,5368,1307,48,1393, - 424,1172,5383,39,39,39,5051,5048,4745,2115, - 3918,3984,3580,5042,4006,1046,5632,5630,5639,5638, - 5634,5635,5633,5636,5637,5640,5631,5066,2077,278, - 5368,5368,5327,2639,2035,3694,35,506,1,5368, - 3962,3940,4050,4028,5387,5368,3896,1181,1259,5389, - 1182,3635,1217,5383,5390,5388,1114,5384,5385,5386, - 5725,5368,373,2164,4793,3496,1393,2126,5368,5368, - 4232,447,5045,1,5014,5010,4745,5007,3918,3984, - 3580,5368,4006,5075,5102,5108,5081,5084,5096,5093, - 5099,5090,5087,5078,5105,1,5368,1,924,48, - 5835,5829,5368,5382,5833,3790,4875,5333,3962,3940, - 4050,4028,5387,5368,3896,1181,1259,5389,1182,3635, - 1217,5368,5390,5388,1114,5384,5385,5386,4442,5368, - 5827,5828,5858,5859,1393,5368,5836,5336,39,39, - 2984,3698,393,5368,73,2148,5368,5368,2767,5368, - 5838,3794,4806,3039,5382,5368,5368,4642,782,4809, - 731,790,5368,5839,5837,5860,308,5368,4868,504, - 4843,5368,5368,5368,3003,4856,1906,5368,5368,519, - 2767,2640,5849,5848,5861,5368,185,5830,5831,5854, - 5855,5852,5853,5832,5834,5856,5857,1172,3787,5315, - 5862,3888,5842,5843,5844,5840,5841,5850,5851,5846, - 5845,5847,39,5051,5048,4745,2115,3918,3984,3580, - 5372,4006,1046,5632,5630,5639,5638,5634,5635,5633, - 5636,5637,5640,5631,3094,5368,4195,5368,4876,2, - 4469,5368,3790,5368,5368,5368,1996,3962,3940,4050, - 4028,5387,1,3896,1181,1259,5389,1182,3635,1217, - 5368,5390,5388,1114,5384,5385,5386,39,5051,5048, - 4745,2115,3918,3984,3580,4227,4006,1046,5632,5630, - 5639,5638,5634,5635,5633,5636,5637,5640,5631,508, - 5368,2018,5368,5368,37,5368,5368,2767,5368,5368, - 5368,5368,3962,3940,4050,4028,5387,5365,3896,1181, - 1259,5389,1182,3635,1217,5368,5390,5388,1114,5384, - 5385,5386,5368,5368,5368,5368,5368,5368,1393,5371, - 39,5051,5048,4745,2115,3918,3984,3580,5368,4006, - 1046,5632,5630,5639,5638,5634,5635,5633,5636,5637, - 5640,5631,5368,5368,5368,5368,5368,5368,805,5368, - 5368,5368,5368,5368,5368,3962,3940,4050,4028,5387, - 5368,3896,1181,1259,5389,1182,3635,1217,5368,5390, - 5388,1114,5384,5385,5386,39,5051,5048,4745,2115, - 3918,3984,3580,1647,4006,1046,5632,5630,5639,5638, - 5634,5635,5633,5636,5637,5640,5631,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 3962,3940,4050,4028,5387,5368,3896,1181,1259,5389, - 1182,3635,1217,5368,5390,5388,1114,5384,5385,5386, - 5368,5368,5368,5368,5368,5368,1393,39,5051,5048, - 4769,2115,3918,3984,3580,5368,4006,1046,5632,5630, - 5639,5638,5634,5635,5633,5636,5637,5640,5631,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,3962,3940,4050,4028,5387,5368,3896,1181, - 1259,5389,1182,3635,1217,5368,5390,5388,1114,5384, - 5385,5386,39,5051,5048,4745,2115,3918,3984,3580, - 5368,4006,1046,5632,5630,5639,5638,5634,5635,5633, - 5636,5637,5640,5631,5368,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,3962,3940,4050, - 4028,5387,5368,3896,1181,1259,5389,1182,3635,1217, - 5368,5390,5388,1114,5384,5385,5386,39,5051,5048, - 4745,2115,3918,3984,3580,5368,4006,1046,5632,5630, - 5639,5638,5634,5635,5633,5636,5637,5640,5631,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,5368, - 5368,5368,3962,3940,4050,4028,5387,5368,3896,1181, - 1259,5389,1182,3635,1217,5368,5390,5388,1114,5384, - 5385,5386,5368,5051,5048,5368,5406,5368,5368,5368, - 5368,5368,574,5632,5630,5639,5638,5634,5635,5633, - 5636,5637,5640,5631,5628,5703,5704,5368,5622,5629, - 5625,5601,5627,5626,5623,5624,5602,5368,5368,5368, - 5368,5368,5764,5368,5368,5368,5368,5368,5368,5368, - 5368,241,5190,5186,5368,5194,5368,5368,2283,5765, - 5766,574,5177,5183,5156,5159,5171,5168,5174,5165, - 5162,5153,5180,5132,5126,5123,5368,5150,5129,5141, - 5120,5135,5138,5147,5144,5117,128,5368,127,5368, - 5368,5764,29,385,385,5227,385,385,5227,385, - 5227,5227,5368,5368,5368,5368,5368,2283,5765,5766, - 5368,5368,5368,5368,385,385,385,5227,385,385, - 385,385,385,385,385,385,385,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,5368,75, - 5368,2597,3152,2597,5368,5368,5368,5033,5368,5368, - 5368,5368,5368,5368,5230,5227,5233,5368,5368,5368, - 5368,5368,5368,5368,5368,5227,32,386,386,5224, - 386,386,5224,386,5224,5224,5430,5431,5368,5368, - 2525,2431,2525,2431,5368,5368,5368,5368,386,386, - 386,5224,386,386,386,386,386,386,386,386, - 386,5368,3097,5368,223,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5632,5630,5639,5638,5634, - 5635,5633,5636,5637,5640,5631,5628,5703,5704,5224, - 5622,5629,5625,5601,5627,5626,5623,5624,5602,5224, - 5368,5368,5368,5368,580,5368,5368,5368,5368,5368, - 5368,5368,5368,5368,5368,5368,5368,5368,666 + 1,1,1,1,1,1,229,1,1,8630, + 1,1,1,1,1,1,5259,5273,5274,344, + 1328,1,2116,359,5271,338,345,338,4924,5209, + 338,5259,5259,5259,5144,5141,2983,1,1,1, + 2557,5470,958,3448,1,3554,2986,5692,5693,5694, + 1,37,4960,4960,5221,119,5259,328,5233,1, + 4905,4901,3029,4898,3716,3786,2783,5757,3808,4966, + 4993,4999,4972,4975,4987,4984,4990,4981,4978,4969, + 4996,5295,1328,5270,5224,5259,4930,4927,5259,1328, + 3334,932,3618,774,3764,3738,3852,3830,5278,5295, + 3694,1230,1316,5280,1265,1114,1275,1,5281,5279, + 1196,5275,5276,5277,45,5150,5150,5259,8414,8313, + 1369,5266,5259,237,39,39,5112,514,39,4942, + 4939,3029,2519,3716,3786,2783,5180,3808,1242,5523, + 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, + 3874,1318,1,1,1,5259,3005,4789,4010,100, + 526,163,5147,3764,3738,3852,3830,5278,5259,3694, + 1230,1316,5280,1265,1114,1275,5269,5281,5279,1196, + 5275,5276,5277,37,4960,4960,5259,5187,5183,1369, + 5259,5259,5259,5268,4221,4936,291,5615,5259,5266, + 39,4942,4939,3029,2519,3716,3786,2783,4933,3808, + 1242,5523,5521,5530,5529,5525,5526,5524,5527,5528, + 5531,5522,4760,426,5259,526,163,4354,289,5259, + 5259,2539,1,4717,5295,3764,3738,3852,3830,5278, + 5269,3694,1230,1316,5280,1265,1114,1275,5259,5281, + 5279,1196,5275,5276,5277,5259,5259,5268,3386,4053, + 4223,1369,5658,5259,99,2039,3418,4936,141,4942, + 4939,3029,2519,3716,3786,2783,5259,3808,1242,5523, + 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, + 367,1,365,103,446,3274,4135,5259,866,191, + 418,3187,385,3764,3738,3852,3830,5278,5259,3694, + 1230,1316,5280,1265,1114,1275,191,5281,5279,1196, + 5275,5276,5277,5259,424,5259,5259,2086,48,1369, + 35,1569,5274,39,39,39,4942,4939,3029,2519, + 3716,3786,2783,4933,3808,1242,5523,5521,5530,5529, + 5525,5526,5524,5527,5528,5531,5522,4957,5259,1243, + 5259,1286,278,3031,5259,5215,2077,3581,1,2171, + 3764,3738,3852,3830,5278,530,3694,1230,1316,5280, + 1265,1114,1275,5274,5281,5279,1196,5275,5276,5277, + 5259,372,5259,4236,1105,2124,1369,4011,3010,3579, + 447,307,4936,1,4905,4901,3029,4898,3716,3786, + 2783,5259,3808,4966,4993,4999,4972,4975,4987,4984, + 4990,4981,4978,4969,4996,1,5259,1,1739,48, + 5726,5720,5259,5273,5724,506,3662,5221,3764,3738, + 3852,3830,5278,5259,3694,1230,1316,5280,1265,1114, + 1275,5259,5281,5279,1196,5275,5276,5277,4254,5259, + 5718,5719,5749,5750,1369,5259,5727,5224,39,39, + 2992,3997,393,5259,73,3618,5259,5259,3878,5259, + 5729,4281,4561,3065,5273,5259,5259,4610,1142,4773, + 792,823,5259,5730,5728,5751,504,5259,4724,5259, + 4774,5259,3211,5259,4794,5259,3213,5259,4784,3878, + 2785,519,5740,5739,5752,5259,2,5721,5722,5745, + 5746,5743,5744,5723,5725,5747,5748,1569,3175,5206, + 5753,4013,5733,5734,5735,5731,5732,5741,5742,5737, + 5736,5738,39,4942,4939,3029,2519,3716,3786,2783, + 5263,3808,1242,5523,5521,5530,5529,5525,5526,5524, + 5527,5528,5531,5522,3101,4820,5259,5259,5259,4797, + 185,37,3579,5259,5259,5259,4036,3764,3738,3852, + 3830,5278,5259,3694,1230,1316,5280,1265,1114,1275, + 5259,5281,5279,1196,5275,5276,5277,39,4942,4939, + 3029,2519,3716,3786,2783,5259,3808,1242,5523,5521, + 5530,5529,5525,5526,5524,5527,5528,5531,5522,508, + 5259,5259,4125,5259,5259,5259,5259,5259,5259,3878, + 5259,5259,3764,3738,3852,3830,5278,1959,3694,1230, + 1316,5280,1265,1114,1275,1,5281,5279,1196,5275, + 5276,5277,5259,5259,5259,5259,5259,5259,1369,5262, + 39,4942,4939,3029,2519,3716,3786,2783,5259,3808, + 1242,5523,5521,5530,5529,5525,5526,5524,5527,5528, + 5531,5522,5259,5259,3551,5259,5259,5259,805,5259, + 5259,5256,5259,5259,5259,3764,3738,3852,3830,5278, + 5259,3694,1230,1316,5280,1265,1114,1275,5259,5281, + 5279,1196,5275,5276,5277,39,4942,4939,3029,2519, + 3716,3786,2783,1871,3808,1242,5523,5521,5530,5529, + 5525,5526,5524,5527,5528,5531,5522,5259,5259,5259, + 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, + 3764,3738,3852,3830,5278,5259,3694,1230,1316,5280, + 1265,1114,1275,5259,5281,5279,1196,5275,5276,5277, + 5259,5259,5259,5259,5259,5259,1369,39,4942,4939, + 4697,2519,3716,3786,2783,5259,3808,1242,5523,5521, + 5530,5529,5525,5526,5524,5527,5528,5531,5522,5259, + 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, + 5259,5259,3764,3738,3852,3830,5278,5259,3694,1230, + 1316,5280,1265,1114,1275,5259,5281,5279,1196,5275, + 5276,5277,39,4942,4939,3029,2519,3716,3786,2783, + 5259,3808,1242,5523,5521,5530,5529,5525,5526,5524, + 5527,5528,5531,5522,5259,5259,5259,5259,5259,5259, + 5259,5259,5259,5259,5259,5259,5259,3764,3738,3852, + 3830,5278,5259,3694,1230,1316,5280,1265,1114,1275, + 5259,5281,5279,1196,5275,5276,5277,39,4942,4939, + 3029,2519,3716,3786,2783,5259,3808,1242,5523,5521, + 5530,5529,5525,5526,5524,5527,5528,5531,5522,5259, + 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, + 5259,5259,3764,3738,3852,3830,5278,5259,3694,1230, + 1316,5280,1265,1114,1275,5259,5281,5279,1196,5275, + 5276,5277,5259,4942,4939,5259,5297,5259,5259,5259, + 5259,5259,730,5523,5521,5530,5529,5525,5526,5524, + 5527,5528,5531,5522,5519,5593,5594,5259,5513,5520, + 5516,5492,5518,5517,5514,5515,5493,5259,5259,5259, + 5259,5259,5655,5259,5259,5259,5259,5259,5259,5259, + 5259,241,5081,5077,5259,5085,5259,5259,2679,5656, + 5657,730,5068,5074,5047,5050,5062,5059,5065,5056, + 5053,5044,5071,5023,5017,5014,5259,5041,5020,5032, + 5011,5026,5029,5038,5035,5008,128,5259,127,5259, + 5259,5655,29,385,385,5118,385,385,5118,385, + 5118,5118,5259,5259,5259,5259,5259,2679,5656,5657, + 5259,5259,5259,5259,385,385,385,5118,385,385, + 385,385,385,385,385,385,385,5259,5259,5259, + 5259,5259,5259,5259,5259,5259,5259,5259,5259,75, + 5259,2627,2673,2627,5259,5259,5259,4924,5259,5259, + 5259,5259,5259,5259,5121,5118,5124,5259,5259,5259, + 5259,5259,5259,5259,5259,5118,32,386,386,5115, + 386,386,5115,386,5115,5115,5321,5322,5259,5259, + 2488,593,2488,593,5259,5259,5259,5259,386,386, + 386,5115,386,386,386,386,386,386,386,386, + 386,5259,2976,5259,223,5259,5259,5259,5259,5259, + 5259,5259,5259,5259,5259,5523,5521,5530,5529,5525, + 5526,5524,5527,5528,5531,5522,5519,5593,5594,5115, + 5513,5520,5516,5492,5518,5517,5514,5515,5493,5115, + 5259,5259,5259,5259,580,5259,5259,5259,5259,5259, + 5259,5259,5259,5259,5259,5259,5259,5259,666 }; }; public final static char termAction[] = TermAction.termAction; @@ -1792,61 +1770,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asb { public final static char asb[] = {0, - 325,21,8,1074,536,127,849,849,736,542, - 849,542,1,1,503,90,536,542,286,191, - 30,30,846,776,234,191,849,849,449,849, - 30,542,1078,1013,692,194,191,503,18,948, - 333,449,449,449,449,1076,333,487,129,504, - 504,504,504,504,504,504,504,504,851,857, - 862,859,866,864,871,869,873,872,874,237, - 875,542,287,844,842,30,30,1074,1002,1013, - 948,1013,134,1013,545,1013,997,1076,542,234, - 234,30,23,540,234,890,335,18,90,487, - 776,776,776,776,542,608,191,191,182,487, - 901,775,692,487,851,691,691,608,503,504, - 504,504,504,504,504,504,504,504,504,504, - 504,504,504,504,504,504,504,504,503,503, - 503,503,503,503,503,503,503,503,503,503, - 504,23,287,842,720,719,720,846,342,136, - 386,137,1076,542,542,387,720,1078,542,503, - 90,191,191,720,720,720,720,387,191,504, - 1074,569,559,558,391,1020,1020,1076,129,234, - 775,503,191,539,541,539,191,234,859,859, - 857,857,857,864,864,864,864,862,862,869, - 866,866,872,871,873,710,874,842,842,487, - 342,542,947,142,432,387,948,427,542,387, - 542,23,17,333,333,333,333,542,542,182, - 191,571,573,542,692,504,776,855,147,191, - 542,541,692,503,842,841,18,542,342,710, - 137,449,389,82,700,342,947,433,947,947, - 387,427,427,542,542,15,89,503,503,503, - 503,333,333,191,563,551,562,573,387,540, - 191,855,1074,1078,542,540,842,692,652,948, - 720,449,539,946,702,333,947,947,947,947, - 542,427,18,438,17,15,15,191,191,191, - 191,608,608,712,503,560,560,567,1074,808, - 191,542,855,856,855,503,147,87,851,1078, - 540,652,652,290,358,540,947,947,536,895, - 504,710,10,443,573,947,947,722,18,504, - 542,191,191,712,503,503,571,551,712,1055, - 855,608,504,234,87,896,18,650,951,278, - 333,137,989,652,652,358,540,947,948,1076, - 702,504,504,573,451,803,723,542,714,712, - 856,191,234,289,278,650,455,1076,18,719, - 449,730,730,896,948,467,451,542,333,191, - 722,542,1076,1076,542,714,714,290,652,896, - 895,191,1076,542,358,290,358,718,718,899, - 468,1076,542,608,943,542,542,542,333,714, - 652,536,896,542,542,358,776,776,899,467, - 710,504,710,896,466,333,333,333,468,333, - 542,245,896,896,542,948,191,943,542,542, - 574,18,542,896,719,459,333,459,468,710, - 468,487,487,485,698,487,896,896,13,899, - 945,190,896,606,808,468,191,536,191,485, - 278,333,191,899,945,776,730,191,191,1068, - 468,13,468,896,278,503,468,465,718,948, - 948,1070,503,466,608,896,191,539,468,191, - 896,468 + 391,15,8,1028,580,206,826,826,670,586, + 826,586,1,1,547,169,580,586,352,300, + 17,17,823,710,253,300,826,826,887,826, + 17,586,1032,967,804,213,300,547,626,948, + 399,887,887,887,887,1030,399,531,208,548, + 548,548,548,548,548,548,548,548,828,834, + 839,836,843,841,848,846,850,849,851,303, + 852,586,353,821,819,17,17,1028,956,967, + 948,967,76,967,617,967,951,1030,586,253, + 253,17,84,584,253,867,450,626,169,531, + 710,710,710,710,586,124,300,300,291,531, + 897,709,804,531,828,803,803,124,547,548, + 548,548,548,548,548,548,548,548,548,548, + 548,548,548,548,548,548,548,548,547,547, + 547,547,547,547,547,547,547,547,547,547, + 548,84,353,819,756,755,756,823,401,78, + 445,79,1030,586,586,446,756,1032,586,547, + 169,300,300,756,756,756,756,446,300,548, + 1028,631,609,608,462,974,974,1030,208,253, + 709,547,300,583,585,583,300,253,836,836, + 834,834,834,841,841,841,841,839,839,846, + 843,843,849,848,850,599,851,819,819,531, + 401,586,947,498,742,446,948,457,586,446, + 586,84,625,399,399,399,399,586,586,291, + 300,633,635,586,804,548,710,832,256,300, + 586,585,804,547,819,818,626,586,401,599, + 79,887,448,69,589,401,947,743,947,947, + 446,457,457,586,586,623,168,547,547,547, + 547,399,399,300,613,601,612,635,446,584, + 300,832,1028,1032,586,584,819,804,948,948, + 756,887,583,946,591,399,947,947,947,947, + 586,457,626,876,625,623,623,300,300,300, + 300,124,124,748,547,610,610,629,1028,91, + 300,586,832,833,832,547,256,74,828,1032, + 584,764,948,356,417,584,947,947,580,872, + 548,599,10,881,635,947,947,810,626,548, + 586,300,300,748,547,547,633,601,748,1009, + 832,124,548,253,74,873,764,764,166,1034, + 344,399,79,1072,417,584,947,948,1030,591, + 548,548,635,889,737,811,586,750,748,833, + 300,253,626,764,764,355,344,166,893,1030, + 755,887,758,758,873,948,511,889,586,399, + 300,810,586,1030,1030,586,750,750,626,356, + 764,873,872,300,1030,586,417,356,417,754, + 754,941,512,1030,586,124,943,586,586,586, + 399,750,764,580,873,586,586,417,710,710, + 941,511,599,548,599,873,510,399,399,399, + 512,399,586,311,873,873,586,948,300,943, + 586,586,636,626,586,873,755,503,399,503, + 512,599,512,531,531,529,939,531,873,873, + 13,941,945,299,873,668,91,512,300,580, + 300,529,344,399,300,941,945,710,758,300, + 300,1022,512,13,512,873,344,547,512,509, + 754,948,948,1024,547,510,124,873,300,583, + 512,300,873,512 }; }; public final static char asb[] = Asb.asb; @@ -1855,113 +1833,113 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asr { public final static byte asr[] = {0, 74,68,72,90,73,67,63,120,3,8, - 70,25,69,0,25,120,70,8,71,0, - 120,0,7,6,5,1,2,48,0,26, - 11,12,40,23,42,65,13,43,56,27, - 28,44,14,29,30,15,16,31,66,32, - 45,17,18,46,33,47,57,49,61,50, - 34,51,58,19,22,20,24,21,52,53, - 54,39,3,37,38,9,6,35,36,41, - 68,7,1,2,4,10,5,0,71,61, - 37,38,9,6,35,36,41,46,3,4, - 52,53,54,39,50,44,49,12,21,11, - 17,15,16,18,19,14,13,20,10,43, - 47,45,42,51,67,8,7,5,1,2, - 66,65,0,48,4,72,1,2,67,8, - 0,4,8,72,67,0,91,89,35,36, - 92,93,87,88,55,94,95,96,97,98, - 99,100,101,106,72,90,69,107,108,109, - 110,111,112,113,114,115,116,117,71,25, - 120,68,1,2,9,6,4,3,63,70, - 73,8,0,65,66,3,10,43,47,45, - 42,51,12,21,11,17,15,16,18,19, - 14,13,20,52,53,54,39,50,44,49, - 5,7,4,37,38,9,6,35,36,41, - 46,1,2,117,8,0,68,72,90,70, - 117,73,71,120,11,12,42,65,13,43, - 44,14,15,16,66,45,17,18,46,47, - 49,61,50,51,10,19,20,21,52,53, - 54,39,37,38,35,36,41,8,25,5, - 7,1,2,4,3,9,6,0,67,40, - 23,13,56,27,14,29,30,15,16,31, - 32,17,18,33,57,34,10,58,19,22, - 20,24,21,12,11,26,8,25,62,59, - 64,86,28,48,9,6,5,7,60,1, - 2,4,3,0,8,72,117,73,25,70, - 0,86,59,7,102,103,104,62,8,3, - 9,6,5,72,71,25,60,26,11,12, - 40,23,13,56,27,28,14,29,30,15, - 16,31,32,17,18,33,57,34,10,58, - 19,22,20,24,21,4,1,2,48,0, - 26,11,12,23,13,27,28,14,29,30, - 15,16,31,7,32,17,18,33,34,19, - 22,20,24,21,1,2,8,63,9,6, - 5,4,73,25,3,0,1,2,8,71, - 0,4,8,72,67,55,0,8,70,71, - 69,0,72,8,63,69,70,25,55,0, - 8,67,70,0,8,67,69,0,86,102, - 103,104,48,72,118,121,71,60,74,62, - 59,64,76,78,84,82,75,80,81,83, - 85,67,77,79,25,8,26,40,23,56, - 27,28,29,30,31,32,33,57,34,58, - 22,24,61,65,66,10,43,47,45,42, + 70,25,69,0,120,0,26,11,12,40, + 23,42,65,13,43,56,27,28,44,14, + 29,30,15,16,31,66,32,45,17,18, + 46,33,47,57,49,61,50,34,51,58, + 19,22,20,24,21,52,53,54,39,3, + 37,38,9,6,35,36,41,68,7,1, + 2,4,10,5,0,48,4,72,1,2, + 67,8,0,7,6,5,1,2,48,0, + 26,11,12,40,23,13,56,27,28,14, + 29,30,15,16,31,32,17,18,33,57, + 34,10,58,19,22,20,24,21,1,2, + 4,90,0,8,73,11,12,42,65,13, + 43,44,14,15,16,66,7,45,17,18, + 46,47,49,61,50,51,10,19,20,21, + 52,53,54,1,2,3,37,38,9,6, + 35,36,5,41,4,39,0,71,61,37, + 38,9,6,35,36,41,46,3,4,52, + 53,54,39,50,44,49,12,21,11,17, + 15,16,18,19,14,13,20,10,43,47, + 45,42,51,67,8,7,5,1,2,66, + 65,0,65,66,3,10,43,47,45,42, 51,12,21,11,17,15,16,18,19,14, - 13,20,52,53,54,39,50,44,49,37, - 38,35,36,41,46,9,6,3,4,7, - 5,1,2,0,4,8,67,1,2,0, + 13,20,52,53,54,39,50,44,49,5, + 7,4,37,38,9,6,35,36,41,46, + 1,2,117,8,0,91,89,35,36,92, + 93,87,88,55,94,95,96,97,98,99, + 100,101,106,72,90,69,107,108,109,110, + 111,112,113,114,115,116,117,71,25,120, + 68,1,2,9,6,4,3,63,70,73, + 8,0,68,72,90,70,117,73,71,120, + 11,12,42,65,13,43,44,14,15,16, + 66,45,17,18,46,47,49,61,50,51, + 10,19,20,21,52,53,54,39,37,38, + 35,36,41,8,25,5,7,1,2,4, + 3,9,6,0,67,40,23,13,56,27, + 14,29,30,15,16,31,32,17,18,33, + 57,34,10,58,19,22,20,24,21,12, + 11,26,8,25,62,59,64,86,28,48, + 9,6,5,7,60,1,2,4,3,0, + 86,59,7,102,103,104,62,8,3,9, + 6,5,72,71,25,60,26,11,12,40, + 23,13,56,27,28,14,29,30,15,16, + 31,32,17,18,33,57,34,10,58,19, + 22,20,24,21,4,1,2,48,0,8, + 72,117,73,25,70,0,1,2,8,71, + 0,26,11,12,23,13,27,28,14,29, + 30,15,16,31,7,32,17,18,33,34, + 19,22,20,24,21,1,2,8,63,9, + 6,5,4,73,25,3,0,4,8,72, + 67,0,86,102,103,104,48,72,118,121, + 71,60,74,62,59,64,76,78,84,82, + 75,80,81,83,85,67,77,79,25,8, + 26,40,23,56,27,28,29,30,31,32, + 33,57,34,58,22,24,61,65,66,10, + 43,47,45,42,51,12,21,11,17,15, + 16,18,19,14,13,20,52,53,54,39, + 50,44,49,37,38,35,36,41,46,9, + 6,3,4,7,5,1,2,0,25,8, + 3,7,5,9,6,4,1,2,72,0, 9,6,7,5,4,1,2,3,63,68, - 69,70,8,73,90,0,5,7,3,63, - 6,9,90,26,11,12,23,13,56,27, - 28,14,29,30,15,16,31,32,17,18, - 33,57,34,10,58,19,22,20,24,21, - 1,2,4,73,8,40,0,8,73,11, - 12,42,65,13,43,44,14,15,16,66, - 7,45,17,18,46,47,49,61,50,51, - 10,19,20,21,52,53,54,1,2,3, - 37,38,9,6,35,36,5,41,4,39, - 0,64,26,11,12,40,23,13,56,27, - 86,28,14,29,30,15,16,31,59,32, - 17,18,33,57,34,10,58,19,62,22, - 20,24,21,8,3,9,6,71,25,60, - 4,7,5,48,1,2,0,75,0,25, - 8,3,7,5,9,6,4,1,2,72, - 0,23,24,61,8,90,73,69,70,68, - 0,22,1,2,4,102,103,104,0,68, - 69,70,1,2,0,66,65,35,36,6, - 92,93,98,9,99,5,41,69,55,68, - 110,111,107,108,109,115,114,116,88,87, - 112,113,96,97,94,95,100,101,37,38, - 70,89,105,63,3,10,56,40,57,58, - 12,21,11,17,15,16,18,19,14,13, - 20,26,32,33,28,31,30,27,23,24, - 29,34,1,2,4,22,0,26,11,12, - 40,23,13,56,27,28,14,29,30,15, - 16,31,32,17,18,33,57,34,10,58, - 19,22,20,24,21,1,2,4,90,0, - 61,23,24,7,5,1,2,4,74,67, - 119,105,37,38,63,3,91,89,6,92, - 93,35,36,88,87,55,94,95,96,97, - 9,98,99,100,68,90,73,120,69,107, - 108,109,110,111,112,113,114,115,116,72, - 117,71,101,106,70,25,8,0,118,0, - 65,66,37,38,9,6,35,36,5,41, - 46,3,4,7,52,53,54,39,50,44, - 49,12,21,11,17,15,16,18,19,14, - 13,20,10,43,47,45,42,51,63,1, - 2,0,23,24,61,74,72,67,8,0, - 40,23,13,56,27,14,29,30,15,16, - 31,32,17,18,33,57,34,58,19,22, - 20,24,21,12,11,26,8,3,9,6, - 25,62,64,86,28,60,55,48,7,1, - 2,5,4,10,59,0,10,56,40,57, - 58,12,21,11,17,15,16,18,19,14, - 13,20,74,72,90,117,71,67,120,119, - 91,105,89,37,38,35,36,92,93,87, - 88,55,68,94,95,96,97,98,99,100, - 101,106,69,107,108,109,110,111,112,113, - 114,115,116,70,26,23,27,28,29,30, - 31,32,33,34,22,24,25,8,73,3, - 63,7,5,9,6,1,2,4,0 + 69,70,8,73,90,0,4,8,67,1, + 2,0,25,120,70,8,71,0,5,7, + 3,63,6,9,90,26,11,12,23,13, + 56,27,28,14,29,30,15,16,31,32, + 17,18,33,57,34,10,58,19,22,20, + 24,21,1,2,4,73,8,40,0,66, + 65,35,36,6,92,93,98,9,99,5, + 41,69,55,68,110,111,107,108,109,115, + 114,116,88,87,112,113,96,97,94,95, + 100,101,37,38,70,89,105,63,3,10, + 56,40,57,58,12,21,11,17,15,16, + 18,19,14,13,20,26,32,33,28,31, + 30,27,23,24,29,34,1,2,4,22, + 0,4,8,72,67,55,0,23,24,61, + 8,90,73,69,70,68,0,68,69,70, + 1,2,0,64,26,11,12,40,23,13, + 56,27,86,28,14,29,30,15,16,31, + 59,32,17,18,33,57,34,10,58,19, + 62,22,20,24,21,8,3,9,6,71, + 25,60,4,7,5,48,1,2,0,22, + 1,2,4,102,103,104,0,61,23,24, + 7,5,1,2,4,74,67,119,105,37, + 38,63,3,91,89,6,92,93,35,36, + 88,87,55,94,95,96,97,9,98,99, + 100,68,90,73,120,69,107,108,109,110, + 111,112,113,114,115,116,72,117,71,101, + 106,70,25,8,0,8,70,71,69,0, + 72,8,63,69,70,25,55,0,8,67, + 70,0,8,67,69,0,65,66,37,38, + 9,6,35,36,5,41,46,3,4,7, + 52,53,54,39,50,44,49,12,21,11, + 17,15,16,18,19,14,13,20,10,43, + 47,45,42,51,63,1,2,0,75,0, + 118,0,23,24,61,74,72,67,8,0, + 10,56,40,57,58,12,21,11,17,15, + 16,18,19,14,13,20,74,72,90,117, + 71,67,120,119,91,105,89,37,38,35, + 36,92,93,87,88,55,68,94,95,96, + 97,98,99,100,101,106,69,107,108,109, + 110,111,112,113,114,115,116,70,26,23, + 27,28,29,30,31,32,33,34,22,24, + 25,8,73,3,63,7,5,9,6,1, + 2,4,0,40,23,13,56,27,14,29, + 30,15,16,31,32,17,18,33,57,34, + 58,19,22,20,24,21,12,11,26,8, + 3,9,6,25,62,64,86,28,60,55, + 48,7,1,2,5,4,10,59,0 }; }; public final static byte asr[] = Asr.asr; @@ -1969,61 +1947,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasb { public final static char nasb[] = {0, - 119,12,27,112,119,215,12,12,219,232, - 12,177,13,13,95,60,211,177,12,275, - 124,124,44,5,91,275,12,12,12,12, - 124,217,12,12,25,86,275,62,124,153, - 12,12,12,12,12,11,12,269,177,62, - 62,228,62,62,62,62,62,62,12,12, - 12,12,12,12,12,12,12,12,12,62, - 12,177,114,114,114,29,29,112,256,257, - 153,257,68,257,100,257,250,10,177,91, - 91,29,37,215,91,12,12,42,124,269, - 34,34,34,34,177,133,275,275,127,1, - 62,57,25,269,12,17,17,133,139,62, - 62,62,62,62,62,62,62,62,62,62, - 62,62,62,62,62,62,62,62,62,62, - 62,62,62,62,62,62,62,62,62,139, - 62,54,12,124,12,12,12,246,124,155, - 11,71,11,177,217,12,12,12,217,62, - 60,275,275,12,12,12,12,167,275,62, - 112,126,13,13,12,12,12,10,177,91, - 34,95,275,214,177,214,275,91,12,12, + 149,12,38,140,149,220,12,12,164,231, + 12,181,13,13,87,61,216,181,12,274, + 154,154,69,5,95,274,12,12,12,12, + 154,222,12,12,25,90,274,63,154,179, + 12,12,12,12,12,11,12,184,181,63, + 63,227,63,63,63,63,63,63,12,12, + 12,12,12,12,12,12,12,12,12,63, + 12,181,142,142,142,30,30,140,254,255, + 179,255,27,255,132,255,248,10,181,95, + 95,30,40,220,95,12,12,79,154,184, + 35,35,35,35,181,46,274,274,192,1, + 63,85,25,184,12,17,17,46,159,63, + 63,63,63,63,63,63,63,63,63,63, + 63,63,63,63,63,63,63,63,63,63, + 63,63,63,63,63,63,63,63,63,159, + 63,57,12,154,12,12,12,244,154,128, + 11,52,11,181,222,12,12,12,222,63, + 61,274,274,12,12,12,12,239,274,63, + 140,191,13,13,12,12,12,10,181,95, + 35,87,274,219,181,219,274,95,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,114,203,29, - 259,156,47,47,12,266,153,124,266,24, - 156,37,42,12,12,12,12,156,217,244, - 275,142,124,177,25,62,34,124,83,275, - 177,183,25,62,124,203,42,177,201,12, - 180,12,12,79,159,259,47,47,124,124, - 24,124,233,217,156,15,59,139,139,139, - 139,12,12,275,12,117,12,145,23,156, - 275,103,246,12,232,156,203,25,124,153, - 12,12,11,124,107,12,124,124,170,170, - 156,233,42,12,12,15,12,275,275,275, - 275,133,133,124,62,12,12,116,112,145, - 275,156,124,131,12,139,246,184,12,12, - 215,223,124,235,124,266,124,93,211,201, - 62,12,81,12,124,170,170,193,42,62, - 233,275,275,203,62,62,142,209,124,12, - 103,133,62,91,184,201,42,12,235,160, - 12,71,79,235,223,145,215,93,49,205, - 119,62,62,145,12,11,105,266,124,203, - 131,275,91,152,107,12,12,11,42,12, - 12,197,197,201,49,41,12,266,12,275, - 240,266,11,11,217,77,124,235,124,201, - 12,275,11,266,145,235,124,12,12,124, - 136,205,217,133,124,217,266,266,12,77, - 223,119,201,266,181,145,34,34,52,148, - 12,62,12,201,12,12,12,12,149,12, - 233,199,201,201,233,74,275,203,217,217, - 273,42,181,201,12,98,12,12,149,12, - 149,277,277,172,12,277,201,201,12,124, - 124,275,201,12,34,149,275,119,275,186, - 124,12,275,52,77,34,197,275,275,124, - 149,12,149,201,119,139,149,98,12,74, - 74,117,62,12,190,201,275,214,149,275, - 201,149 + 12,12,12,12,12,12,12,142,162,30, + 262,129,103,103,12,269,179,154,269,24, + 129,40,79,12,12,12,12,129,222,242, + 274,168,154,181,25,63,35,154,97,274, + 181,224,25,63,154,162,79,181,200,12, + 49,12,12,55,118,262,103,103,154,154, + 24,154,232,222,129,144,60,159,159,159, + 159,12,12,274,12,147,12,171,23,129, + 274,126,244,12,231,129,162,25,179,114, + 12,12,11,154,135,12,154,154,116,116, + 129,232,79,12,12,144,12,274,274,274, + 274,46,46,154,63,12,12,146,140,171, + 274,129,154,44,12,159,244,225,12,12, + 220,154,179,257,154,269,154,81,216,200, + 63,12,72,12,154,116,116,207,79,63, + 232,274,274,162,63,63,168,214,154,12, + 126,46,63,95,225,200,234,154,12,257, + 119,12,113,55,171,220,81,188,107,149, + 63,63,171,12,11,83,269,154,162,44, + 274,95,79,257,234,178,135,12,12,11, + 12,12,196,196,200,188,78,12,269,12, + 274,74,269,11,11,222,105,154,79,257, + 154,200,12,274,11,269,171,257,154,12, + 12,154,156,107,222,46,154,222,269,269, + 12,105,234,149,200,269,50,171,35,35, + 15,174,12,63,12,200,12,12,12,12, + 175,12,232,198,200,200,232,100,274,162, + 222,222,272,79,50,200,12,111,12,12, + 175,12,175,280,280,202,12,280,200,200, + 12,154,154,274,200,12,35,175,274,149, + 274,276,154,12,274,15,105,35,196,274, + 274,154,175,12,175,200,149,159,175,111, + 12,100,100,147,63,12,211,200,274,219, + 175,274,200,175 }; }; public final static char nasb[] = Nasb.nasb; @@ -2031,34 +2009,35 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,151,149,123,148,147,2, - 5,0,75,0,162,0,5,2,9,10, - 138,0,135,2,64,0,184,0,5,10, - 9,2,13,4,45,0,64,137,136,0, - 4,66,0,4,195,0,111,0,40,160, - 0,161,0,64,49,0,175,0,66,128, - 40,5,10,9,2,13,0,152,188,0, - 40,1,0,40,56,0,125,0,155,0, - 191,0,4,177,0,13,2,9,10,5, - 82,0,159,0,4,30,0,115,0,152, - 183,0,142,0,193,0,4,10,9,2, - 63,5,89,49,0,32,94,93,63,5, - 2,9,10,4,0,32,93,94,4,0, - 140,0,4,96,0,48,40,179,4,39, - 0,49,5,89,22,4,0,66,39,48, - 67,4,40,0,44,2,3,0,38,5, - 2,9,10,4,157,0,135,64,0,112, - 0,39,4,22,181,0,44,2,0,40, - 103,0,2,117,0,45,4,180,0,4, - 178,0,5,101,192,0,110,0,4,39, - 38,0,61,0,172,5,171,0,94,93, - 49,63,60,5,10,9,2,0,4,45, - 196,0,118,4,48,81,0,5,10,9, - 13,3,1,0,4,48,81,83,0,5, - 101,168,0,94,93,49,5,60,0,2, - 5,123,119,120,121,13,86,0,4,48, - 81,101,46,5,0,2,59,0,4,45, - 39,0,45,4,32,0,4,45,102,0 + 3,13,10,9,151,149,121,148,147,2, + 5,0,75,0,161,0,5,2,9,10, + 138,0,135,2,64,0,152,188,0,5, + 10,9,2,13,4,45,0,184,0,64, + 137,136,0,140,0,4,94,0,123,101, + 0,42,1,0,155,0,64,49,0,66, + 128,42,5,10,9,2,13,0,4,195, + 0,191,0,5,99,168,0,4,66,0, + 159,0,193,0,175,0,4,30,0,13, + 2,9,10,5,80,0,4,177,0,42, + 56,0,109,0,124,0,172,5,171,0, + 113,0,1,123,0,110,0,38,5,2, + 9,10,4,157,0,142,0,44,2,3, + 0,152,183,0,4,10,9,2,63,5, + 87,49,0,162,0,32,92,91,63,5, + 2,9,10,4,0,48,42,179,4,39, + 0,61,0,4,45,196,0,49,5,87, + 22,4,0,66,39,48,67,4,42,0, + 44,2,0,4,45,39,0,42,160,0, + 32,91,92,4,0,108,0,4,39,38, + 0,39,4,22,181,0,5,99,192,0, + 4,178,0,92,91,49,63,60,5,10, + 9,2,0,2,115,0,5,10,9,13, + 3,1,0,116,4,48,79,0,135,64, + 0,92,91,49,5,60,0,2,5,121, + 117,118,119,13,84,0,4,48,79,81, + 0,4,48,79,99,46,5,0,2,59, + 0,45,4,32,0,45,4,180,0,4, + 45,100,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2089,16 +2068,16 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 130,135,136,0,0,134,0,0,229,235, 133,0,143,132,0,0,142,148,0,0, 149,180,158,159,160,161,162,163,164,151, - 165,126,166,141,167,168,0,128,131,129, - 169,0,138,137,152,177,0,0,0,0, + 165,126,166,141,167,168,0,128,131,169, + 0,129,138,137,152,177,0,0,0,0, 0,0,0,0,145,172,204,0,0,155, 187,201,205,0,0,127,171,0,0,0, - 0,0,0,175,206,0,0,0,0,0, - 0,125,178,0,0,186,0,0,202,212, - 157,208,209,210,0,0,146,0,0,207, - 220,174,196,198,0,199,0,0,211,0, - 0,0,0,240,241,0,147,179,189,190, - 191,192,193,195,0,214,217,0,219,0, + 0,0,0,175,206,0,0,0,0,125, + 178,0,0,186,0,0,202,212,157,208, + 209,210,0,0,146,0,0,207,220,174, + 196,198,0,199,0,0,211,0,0,0, + 0,240,241,0,147,179,189,190,191,192, + 193,195,0,0,214,217,0,0,219,0, 238,0,239,0,0,139,140,144,0,0, 154,156,0,170,0,181,182,183,184,185, 188,0,0,194,0,197,203,0,0,215, @@ -2114,18 +2093,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopePrefix { public final static char scopePrefix[] = { - 159,585,604,309,536,552,563,574,368,267, - 281,303,316,329,42,292,388,426,167,593, - 479,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,507,27,144,378, - 342,612,27,217,246,1,14,61,76,106, - 347,357,361,444,472,501,528,532,622,626, - 630,97,7,97,406,422,435,456,520,116, - 116,232,435,543,559,570,581,207,490,56, + 159,587,606,304,311,538,554,565,576,370, + 267,281,298,318,331,42,292,390,428,167, + 595,481,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,509,27,144,380, + 344,614,27,217,246,1,14,61,76,106, + 349,359,363,446,474,503,530,534,624,628, + 632,97,7,97,408,424,437,458,522,116, + 116,232,437,545,561,572,583,207,492,56, 56,156,222,225,56,241,262,225,225,56, - 365,469,476,156,56,645,110,351,410,450, - 463,56,351,397,177,104,448,634,641,634, - 641,65,416,137,104,104,251 + 367,471,478,156,56,647,110,353,412,452, + 465,56,353,399,177,104,450,636,643,636, + 643,65,418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2133,18 +2112,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 485,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,512,38,152,383, - 599,617,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,5,5, - 244,643,11,101,375,375,375,460,512,120, - 125,236,439,547,547,547,547,211,494,59, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,487,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,514,38,152,385, + 601,619,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,5,5, + 244,645,11,101,377,377,377,462,514,120, + 125,236,441,549,549,549,549,211,496,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,505,5,113,354,413,453, - 466,524,515,400,180,95,95,636,636,638, - 638,67,418,139,202,187,253 + 95,5,244,5,507,5,113,356,415,455, + 468,526,517,402,180,95,95,638,638,640, + 640,67,420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2152,18 +2131,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,121,17,17,17,17,70,85, - 47,79,121,120,76,53,70,69,46,17, - 19,3,7,8,168,168,164,119,46,80, - 120,120,122,127,54,47,138,132,127,70, - 17,17,132,95,158,134,73,171,168,164, - 122,182,51,56,142,18,17,17,17,17, - 17,12,115,164,70,69,69,37,138,129, - 129,60,69,17,17,17,17,95,19,172, - 168,184,93,100,58,75,57,157,74,122, - 71,143,142,175,138,16,164,122,102,68, + 46,17,17,78,119,17,17,17,17,70, + 83,47,78,119,118,76,53,70,69,46, + 17,19,3,7,8,168,168,164,117,46, + 118,118,120,127,54,47,138,132,127,70, + 17,17,132,93,158,134,73,171,168,164, + 120,182,51,56,142,18,17,17,17,17, + 17,12,113,164,70,69,69,37,138,129, + 129,60,69,17,17,17,17,93,19,172, + 168,184,91,98,58,75,57,157,74,120, + 71,143,142,175,138,16,164,120,100,68, 21,138,138,70,46,164,65,136,44,136, - 44,171,102,119,46,46,158 + 44,171,100,117,46,46,158 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2171,9 +2150,9 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 25,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,25,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,25,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,70,25, 1,1,68,73,73,73,118,73,1,25, 1,25,25,71,117,73,73,73,73,73, @@ -2190,18 +2169,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeStateSet { public final static char scopeStateSet[] = { - 78,252,252,108,252,252,252,252,88,69, - 78,67,108,108,67,80,88,88,78,252, - 252,183,227,227,52,52,64,108,78,67, - 108,108,108,315,80,78,100,48,315,88, - 252,252,48,116,61,24,88,28,52,64, - 108,22,80,31,58,252,252,252,252,252, - 252,231,6,64,88,88,88,284,100,108, - 108,148,88,252,252,252,252,116,252,28, + 67,252,252,89,108,252,252,252,252,77, + 91,67,89,108,108,89,69,77,77,67, + 252,252,183,227,227,52,52,64,108,67, + 108,108,108,315,69,67,100,48,315,77, + 252,252,48,116,61,24,77,28,52,64, + 108,22,69,31,58,252,252,252,252,252, + 252,231,6,64,77,77,77,284,100,108, + 108,148,77,252,252,252,252,116,252,28, 52,164,116,118,166,112,166,61,171,108, - 88,55,58,103,100,252,64,108,1,88, - 253,100,100,88,78,64,11,105,124,105, - 124,28,1,108,78,78,61 + 77,55,58,103,100,252,64,108,1,77, + 253,100,100,77,67,64,11,105,124,105, + 124,28,1,108,67,67,61 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2213,67 +2192,67 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 126,172,0,126,178,74,0,216,0,252, 126,55,124,0,20,0,295,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,203,0,20,178,0, + 0,295,126,55,48,201,0,20,178,0, 252,126,55,132,0,181,127,0,141,0, - 218,3,294,0,294,0,2,0,126,0, - 252,126,55,131,0,181,127,223,0,181, - 127,22,223,0,181,127,315,22,0,128, + 216,3,294,0,294,0,2,0,126,0, + 252,126,55,131,0,181,127,221,0,181, + 127,22,221,0,181,127,315,22,0,128, 186,166,127,0,128,0,186,166,127,0, 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,245,0,136, + 170,0,222,128,0,166,310,243,0,136, 0,0,0,0,135,0,0,0,0,309, - 126,162,251,0,127,0,251,0,129,0, - 0,127,0,308,126,162,250,0,127,0, + 126,164,251,0,127,0,251,0,129,0, + 0,127,0,308,126,164,250,0,127,0, 0,44,127,0,0,152,3,0,126,282, 281,126,74,279,170,0,281,126,74,279, 170,0,215,0,216,0,279,170,0,96, 0,0,215,0,216,0,203,96,0,0, 215,0,216,0,281,126,279,170,0,215, - 0,203,0,0,215,0,229,126,3,0, - 126,0,0,0,0,0,229,126,3,215, - 0,222,3,0,211,126,0,208,0,146, + 0,203,0,0,215,0,227,126,3,0, + 126,0,0,0,0,0,227,126,3,213, + 0,220,3,0,209,126,0,208,0,146, 0,171,166,127,0,10,0,0,0,0, - 213,63,0,125,0,229,126,3,179,0, + 211,63,0,125,0,227,126,3,179,0, 179,0,2,0,0,126,0,0,0,0, - 0,196,3,0,201,0,238,126,162,39, + 0,196,3,0,201,0,236,126,164,39, 28,0,181,127,59,62,0,196,128,0, 128,181,127,277,62,0,181,127,277,62, - 0,181,127,69,123,59,0,238,126,162, - 59,0,238,126,162,225,59,0,275,126, - 162,123,305,56,0,275,126,162,305,56, - 0,181,127,274,56,0,135,0,186,181, - 127,274,245,0,136,0,181,127,274,245, - 0,186,166,127,10,0,166,127,10,0, - 166,127,0,93,136,0,267,126,144,0, - 267,126,170,0,161,84,0,300,160,302, - 303,3,81,0,126,171,0,302,303,3, - 81,0,128,0,126,171,0,161,3,75, - 189,80,0,126,128,0,189,80,0,108, - 2,131,126,128,0,224,3,75,0,196, - 167,0,33,169,0,167,0,175,33,169, - 0,224,3,85,0,189,154,224,3,83, - 0,62,171,0,224,3,83,0,126,171, - 62,171,0,301,126,162,0,161,0,213, - 77,0,30,171,0,161,106,158,0,30, - 169,0,177,3,0,126,149,0,218,3, - 0,213,63,264,0,161,63,0,177,3, - 297,66,127,0,126,0,0,0,0,297, - 66,127,0,2,145,126,0,0,0,0, - 177,3,46,0,147,0,125,48,166,127, - 0,31,147,0,93,136,31,147,0,219, - 181,127,0,146,31,147,0,177,3,51, - 0,161,3,51,0,161,3,68,177,55, - 42,0,177,55,42,0,20,2,131,126, - 0,161,3,68,177,55,45,0,177,55, - 45,0,161,3,68,177,55,47,0,177, - 55,47,0,161,3,68,177,55,43,0, - 177,55,43,0,218,3,125,186,166,127, - 10,0,125,186,166,127,10,0,136,2, - 0,126,0,218,3,124,257,166,127,10, - 0,257,166,127,10,0,135,2,0,126, - 0,218,3,135,0,218,3,139,0,161, - 63,139,0,259,0,31,0,31,139,0, - 165,0,134,0,161,3,0 + 0,181,127,69,123,59,0,236,126,164, + 245,59,0,236,126,164,245,223,59,0, + 275,126,164,123,305,56,0,275,126,164, + 305,56,0,181,127,274,56,0,135,0, + 186,181,127,274,243,0,136,0,181,127, + 274,243,0,186,166,127,10,0,166,127, + 10,0,166,127,0,93,136,0,267,126, + 144,0,267,126,170,0,161,84,0,300, + 160,302,303,3,81,0,126,171,0,302, + 303,3,81,0,128,0,126,171,0,161, + 3,75,189,80,0,126,128,0,189,80, + 0,108,2,131,126,128,0,222,3,75, + 0,196,167,0,33,169,0,167,0,175, + 33,169,0,222,3,85,0,189,154,222, + 3,83,0,62,171,0,222,3,83,0, + 126,171,62,171,0,301,126,164,0,161, + 0,211,77,0,30,171,0,161,106,158, + 0,30,169,0,177,3,0,126,149,0, + 216,3,0,211,63,264,0,161,63,0, + 177,3,297,66,127,0,126,0,0,0, + 0,297,66,127,0,2,145,126,0,0, + 0,0,177,3,46,0,147,0,125,48, + 166,127,0,31,147,0,93,136,31,147, + 0,217,181,127,0,146,31,147,0,177, + 3,51,0,161,3,51,0,161,3,68, + 177,55,42,0,177,55,42,0,20,2, + 131,126,0,161,3,68,177,55,45,0, + 177,55,45,0,161,3,68,177,55,47, + 0,177,55,47,0,161,3,68,177,55, + 43,0,177,55,43,0,216,3,125,186, + 166,127,10,0,125,186,166,127,10,0, + 136,2,0,126,0,216,3,124,257,166, + 127,10,0,257,166,127,10,0,135,2, + 0,126,0,216,3,135,0,216,3,139, + 0,161,63,139,0,259,0,31,0,31, + 139,0,165,0,134,0,161,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2281,38 +2260,38 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeState { public final static char scopeState[] = {0, - 3223,4856,4843,4809,0,3285,2120,2081,918,0, - 3439,3384,3259,3204,3149,3094,3039,2984,2929,2792, - 2730,3003,0,1436,1255,1126,0,3698,3496,0, - 3439,3384,2871,2637,3259,3204,3149,3094,3039,2984, - 1124,2929,2792,2730,2750,822,0,4698,4320,3135, - 0,4232,3296,0,2807,2707,0,2558,2366,0, - 4582,2914,0,4573,4480,0,4573,4480,3777,4328, - 4318,3767,4308,4226,4213,3757,0,4573,4480,3777, - 4328,4318,3767,4308,4226,4213,3757,3439,3384,3259, - 3204,3149,3094,3039,2984,2929,2792,2730,0,666, - 580,0,964,0,2763,736,0,536,4445,2815, - 0,2791,1140,856,540,3538,4444,3333,2664,2624, - 2679,2970,0,4728,4721,4709,4704,4683,4657,4634, - 4629,4819,4815,4802,4622,4569,4282,3729,3377,2905, - 2689,3416,3236,2518,2513,3016,0,2418,3538,3121, - 4454,2504,3123,2646,735,2744,4444,870,727,863, - 4429,734,0,670,0,4582,3538,4454,2914,4429, - 3333,3552,4543,4195,2418,4182,2664,2646,2624,4414, - 3565,0,3471,3465,4728,4721,4709,3173,3010,4704, - 2483,4683,4657,4634,4629,3603,3588,3445,2989,2940, - 2823,4819,3081,4815,4802,2566,2458,4622,4569,926, - 4282,3729,3117,3316,3377,2905,2689,3416,4445,3236, - 2518,3190,2815,2513,3016,625,2487,2462,2202,2115, - 805,3333,3552,4543,4195,2418,4182,4582,3538,4454, - 2664,2646,2624,2914,2287,939,666,580,4429,4414, - 3565,3635,4160,4138,2251,1185,2332,2300,2390,2362, - 593,2872,629,2597,2570,2525,2431,3735,3704,3672, - 3513,3346,4116,4094,4072,4050,4028,4006,3984,3962, - 3940,3918,3896,1996,2213,2164,2126,2077,1307,1264, - 2039,1047,1221,1953,880,1910,1867,1824,1781,1738, - 1695,1652,1609,1566,1523,1480,1437,536,824,744, - 688,1393,1142,1350,1003,960,1092,0 + 4670,4784,4774,4773,0,2750,2005,2423,566,0, + 3421,3385,3247,3192,3156,3101,3065,3010,2974,2829, + 2771,3211,0,2069,1947,1909,0,2992,2077,0, + 3421,3385,1655,1571,3247,3192,3156,3101,3065,3010, + 1403,2974,2829,2771,4295,3072,0,4722,787,2772, + 0,1105,3274,0,2847,788,0,2719,2584,0, + 2951,2564,0,4133,4434,0,4133,4434,4106,4415, + 4344,4026,4335,4325,4015,4223,3421,3385,3247,3192, + 3156,3101,3065,3010,2974,2829,2771,0,4133,4434, + 4106,4415,4344,4026,4335,4325,4015,4223,0,666, + 580,0,1318,0,3292,734,0,536,4203,2852, + 0,854,720,574,540,3495,4166,3321,2706,2607, + 3090,3284,0,4651,4645,4639,4634,4628,4574,4568, + 4556,4748,4737,4732,4548,4544,4520,4475,4711,2623, + 3365,4430,3605,3360,2941,2905,0,2475,3495,4479, + 4307,863,4589,2683,737,2786,4166,4085,2751,4081, + 4190,2777,0,726,0,2951,3495,4307,2564,4190, + 3321,3509,4442,3997,2475,3984,2706,2683,2607,4112, + 3589,0,3656,3444,4651,4645,4639,3270,2252,4634, + 2167,4628,4574,4568,4556,3559,3305,2965,2887,2539, + 2515,4748,3546,4737,4732,2162,738,4548,4544,661, + 4520,4475,3253,3575,4711,2623,3365,4430,4203,3605, + 3360,3124,2852,2941,2905,623,2752,2727,2544,2519, + 805,3321,3509,4442,3997,2475,3984,2951,3495,4307, + 2706,2683,2607,2564,1180,1052,666,580,4190,4112, + 3589,1114,3962,3940,2256,2294,2360,2328,2447,2419, + 2390,2909,627,2627,2580,2488,593,3666,3614,3522, + 3334,932,3918,3896,3874,3852,3830,3808,3786,3764, + 3738,3716,3694,1959,2209,2171,2124,2086,1286,1243, + 2039,2001,1200,1917,958,1875,1833,1791,1749,1707, + 1665,1623,1581,1539,1497,1455,1413,536,824,744, + 688,1369,1138,1328,1009,880,1071,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2320,61 +2299,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface InSymb { public final static char inSymb[] = {0, - 0,296,228,126,3,4,132,131,7,5, - 124,127,185,179,3,69,211,127,171,196, + 0,296,226,126,3,4,132,131,7,5, + 124,127,185,179,3,69,209,127,171,196, 55,55,167,126,63,3,65,66,124,123, - 55,181,165,124,166,63,152,126,162,250, + 55,181,165,124,166,63,152,126,164,250, 51,42,45,47,43,10,135,3,127,46, 41,5,36,35,6,9,38,37,139,145, 147,146,149,148,151,150,155,153,157,61, 158,127,166,9,6,126,126,126,268,269, - 251,270,245,271,56,272,273,10,127,63, - 63,126,4,186,213,158,266,126,162,3, + 251,270,243,271,56,272,273,10,127,63, + 63,126,4,186,211,158,266,126,164,3, 55,55,55,55,127,3,177,161,167,126, 65,66,166,3,125,105,119,3,63,89, 91,36,35,93,92,6,95,94,68,55, 87,88,9,97,96,99,98,100,116,115, 114,113,112,111,110,109,108,107,69,106, - 101,166,171,171,252,255,252,211,162,310, + 101,166,171,171,252,255,252,209,164,310, 274,305,274,127,181,166,252,259,186,70, - 126,177,161,177,177,177,177,166,218,154, - 126,3,216,215,135,125,124,10,127,63, - 297,3,177,48,127,48,218,161,146,146, + 126,177,161,177,177,177,177,166,216,154, + 126,3,214,213,135,125,124,10,127,63, + 297,3,177,48,127,48,216,161,146,146, 145,145,145,148,148,148,148,147,147,150, 149,149,153,151,155,161,157,6,126,70, - 126,166,232,125,124,127,123,162,127,166, - 48,4,308,68,68,68,68,186,257,211, - 222,126,3,127,166,204,3,298,167,152, - 127,181,166,72,171,183,309,127,168,223, - 59,48,203,62,170,312,125,124,233,233, - 181,162,126,181,186,188,70,3,3,3, - 3,125,124,229,230,144,231,126,166,48, - 177,126,126,219,5,48,126,166,162,225, - 55,48,277,279,126,179,233,233,126,126, + 126,166,230,125,124,127,123,164,127,166, + 48,4,308,68,68,68,68,186,257,209, + 220,126,3,127,166,202,3,298,167,152, + 127,181,166,72,171,183,309,127,168,221, + 59,48,201,62,170,312,125,124,231,231, + 181,164,126,181,186,188,70,3,3,3, + 3,125,124,227,228,144,229,126,166,48, + 177,126,126,217,5,48,126,166,245,223, + 55,48,277,279,126,179,231,231,126,126, 186,126,275,123,276,188,8,161,161,161, - 161,3,3,154,69,222,196,3,126,70, - 229,186,154,261,264,63,182,4,123,125, - 186,126,162,68,55,127,74,126,211,311, + 161,3,3,154,69,220,196,3,126,70, + 227,186,154,261,264,63,182,4,123,125, + 186,164,245,68,55,127,74,126,209,311, 72,289,196,124,3,126,126,72,275,69, - 70,218,218,126,69,69,126,211,154,125, - 126,3,63,161,4,128,238,28,48,170, - 64,59,62,240,126,126,181,126,281,72, - 70,72,69,126,314,223,22,127,220,126, - 261,218,213,39,126,3,123,59,238,295, - 48,10,40,128,281,162,293,127,294,229, - 70,127,22,315,181,126,220,126,162,267, - 278,39,69,127,70,68,55,232,232,282, - 126,70,181,3,154,181,127,127,61,126, - 126,70,154,127,181,126,69,69,126,301, - 79,77,1,161,8,85,83,81,80,75, - 82,84,78,76,59,74,218,126,181,181, - 3,238,181,225,295,283,118,8,72,213, - 72,3,3,3,189,3,123,161,123,178, - 220,320,225,68,3,72,224,167,224,303, - 144,75,224,126,126,70,40,90,319,167, - 154,196,154,302,126,3,154,283,232,154, - 154,126,69,189,160,267,161,69,121,300, - 154,154 + 70,216,216,126,69,69,126,209,154,125, + 126,3,63,161,4,128,126,164,28,48, + 170,64,59,62,126,181,126,281,72,70, + 72,69,126,314,221,22,127,218,126,261, + 216,211,236,238,126,39,126,3,123,59, + 295,48,10,40,128,281,164,293,127,294, + 227,70,127,22,315,181,126,218,236,126, + 164,267,278,39,69,127,70,68,55,230, + 230,282,126,70,181,3,154,181,127,127, + 61,126,126,70,154,127,181,126,69,69, + 126,301,79,77,1,161,8,85,83,81, + 80,75,82,84,78,76,59,74,216,126, + 181,181,3,236,181,223,295,283,118,8, + 72,211,72,3,3,3,189,3,123,161, + 123,178,218,320,223,68,3,72,222,167, + 222,303,144,75,222,126,126,70,40,90, + 319,167,154,196,154,302,126,3,154,283, + 230,154,154,126,69,189,160,267,161,69, + 121,300,154,154 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2606,7 +2585,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2649,20 +2628,20 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5903, + LA_STATE_OFFSET = 5794, MAX_LA = 2147483647, NUM_RULES = 535, NUM_NONTERMINALS = 202, NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 3565, + START_STATE = 3589, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5006, - ERROR_ACTION = 5368; + ACCEPT_ACTION = 4897, + ERROR_ACTION = 5259; public final static boolean BACKTRACK = true; 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 d9663cdb963..ebddabb834b 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 @@ -17,12 +17,12 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; -import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; +import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; @@ -174,17 +174,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -1284,331 +1284,331 @@ public String getName() { } // - // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 297: { action. consumeNamespaceDefinition(false); break; + case 295: { action. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 298: { action. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 299: typename_opt ::= typename // - case 300: { action. consumePlaceHolder(); break; + case 299: { action. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 300: typename_opt ::= $Empty // - case 301: { action. consumeEmpty(); break; + case 300: { action. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action. consumeUsingDirective(); break; + case 301: { action. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 302: asm_definition ::= asm ( stringlit ) ; // - case 303: { action. consumeDeclarationASM(); break; + case 302: { action. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 304: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 305: { action. consumeLinkageSpecification(); break; + case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 310: init_declarator_complete ::= init_declarator + // Rule 309: init_declarator_complete ::= init_declarator // - case 310: { action. consumeInitDeclaratorComplete(); break; + case 309: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 312: init_declarator ::= complete_declarator initializer + // Rule 311: init_declarator ::= complete_declarator initializer // - case 312: { action. consumeDeclaratorWithInitializer(true); break; + case 311: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 316: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 320: basic_direct_declarator ::= declarator_id_name // - case 321: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 321: basic_direct_declarator ::= ( declarator ) // - case 322: { action. consumeDirectDeclaratorBracketed(); break; + case 321: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 325: array_modifier ::= [ constant_expression ] // - case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 326: array_modifier ::= [ ] // - case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumePointer(); break; + case 327: { action. consumePointer(); break; } // - // Rule 329: ptr_operator ::= pointer_hook & pointer_hook + // Rule 328: ptr_operator ::= pointer_hook & pointer_hook // - case 329: { action. consumeReferenceOperator(); break; + case 328: { action. consumeReferenceOperator(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumePointerToMember(); break; + case 329: { action. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= const + // Rule 336: cv_qualifier ::= const // - case 337: { action. consumeToken(); break; + case 336: { action. consumeToken(); break; } // - // Rule 338: cv_qualifier ::= volatile + // Rule 337: cv_qualifier ::= volatile // - case 338: { action. consumeToken(); break; + case 337: { action. consumeToken(); break; } // - // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 340: { action. consumeQualifiedId(false); break; + case 339: { action. consumeQualifiedId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 340: type_id ::= type_specifier_seq // - case 341: { action. consumeTypeId(false); break; + case 340: { action. consumeTypeId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: type_id ::= type_specifier_seq abstract_declarator // - case 342: { action. consumeTypeId(true); break; + case 341: { action. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 345: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(true); break; + case 345: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( ) + // Rule 350: basic_direct_abstract_declarator ::= ( ) // - case 351: { action. consumeAbstractDeclaratorEmpty(); break; + case 350: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 357: { action. consumePlaceHolder(); break; + case 356: { action. consumePlaceHolder(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 358: { action. consumeEmpty(); break; + case 357: { action. consumeEmpty(); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 359: { action. consumePlaceHolder(); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 365: abstract_declarator_opt ::= $Empty + // Rule 364: abstract_declarator_opt ::= $Empty // - case 365: { action. consumeEmpty(); break; + case 364: { action. consumeEmpty(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 366: { action. consumeParameterDeclaration(); break; + case 365: { action. consumeParameterDeclaration(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers // - case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(false); break; + case 371: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 373: parameter_initializer ::= assignment_expression + // Rule 372: parameter_initializer ::= assignment_expression // - case 373: { action. consumeInitializer(); break; + case 372: { action. consumeInitializer(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 374: { action. consumeFunctionDefinition(false); break; + case 373: { action. consumeFunctionDefinition(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 375: { action. consumeFunctionDefinition(true); break; + case 374: { action. consumeFunctionDefinition(true); break; } // - // Rule 378: initializer ::= ( expression_list ) + // Rule 377: initializer ::= ( expression_list ) // - case 378: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeInitializerConstructor(); break; } // - // Rule 379: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= assignment_expression // - case 379: { action. consumeInitializer(); break; + case 378: { action. consumeInitializer(); break; } // - // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 380: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 381: { action. consumeInitializerList(); break; } // - // Rule 382: initializer_clause ::= { <openscope-ast> } + // Rule 382: initializer_list ::= { <openscope-ast> } // case 382: { action. consumeInitializerList(); 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 031dc4e4ee7..12c5c057db1 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 @@ -66,15 +66,15 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,3,4,4,5,2,5, 6,5,0,6,7,0,1,3,1,0, - 1,3,1,1,1,6,5,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 1,2,1,1,3,1,3,1,1,1, - 1,3,9,2,2,3,2,5,3,7, - 0,1,2,2,1,0,1,1,1,3, - 1,2,1,1,2,3,1,1,1,3, - 2,1,2,2,9,8,2,1,3,1, - 3,1,0,1,0,2,1,1,3,1, - 3,2,1,5,8,1,2,3,1,7, + 1,3,1,7,6,0,7,6,1,0, + 6,5,6,4,1,3,1,0,1,1, + 2,1,1,3,1,3,1,1,1,1, + 3,9,2,2,3,2,5,3,7,0, + 1,2,2,1,0,1,1,1,3,1, + 2,1,1,2,3,1,1,1,3,2, + 1,2,2,9,8,2,1,3,1,3, + 1,0,1,0,2,1,1,3,1,3, + 2,1,5,8,1,2,3,1,1,7, 6,3,0,0,1,3,1,1,5,6, 6,7,7,0,0,1,0,1,1,1, 2,4,2,2,1,5,1,1,1,1, @@ -90,453 +90,441 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,1,3,1,1,2,4,2,4,7, 9,5,1,3,1,0,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,0,-4,0,0,0, - 0,0,0,0,-7,0,-125,0,0,0, - 0,0,-146,0,0,0,0,-522,0,0, - 0,0,0,0,0,0,0,0,0,0, - -9,-325,-259,0,0,0,0,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,-48,0,0,0,-54,0, - 0,0,0,0,-50,0,0,0,0,-296, - 0,0,-72,0,-12,-106,0,0,-119,0, - 0,0,0,0,0,0,0,0,0,0, - -14,0,0,-24,0,-145,0,0,0,-31, - 0,0,0,0,0,-25,0,0,0,0, + 1,0,1,3,-237,0,0,0,-473,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,0,-114,0,-4,0,0,0, + 0,0,-115,-7,0,0,-295,0,0,0, + 0,0,0,0,0,0,0,0,0,-146, + 0,0,-243,0,0,0,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,-59, + 0,-207,0,0,-26,0,0,0,0,0, + 0,0,-106,0,0,-3,0,0,-90,-19, + 0,-183,0,0,0,0,0,0,-17,0, + 0,-12,-54,0,0,0,0,0,0,0, + 0,0,0,0,0,-27,0,0,0,0, + -453,0,0,0,0,0,0,0,0,0, + 0,0,-200,0,0,0,0,0,-9,0, 0,0,0,0,0,0,0,-100,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-3,0,-32, - 0,-113,0,0,0,0,0,0,0,0, - 0,0,0,-63,0,-451,0,0,-34,0, + 0,0,0,0,0,0,0,-47,0,0, + 0,0,0,0,0,0,0,0,0,-16, + 0,0,0,-34,0,0,0,-63,0,-101, 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, - 0,0,0,0,0,0,0,-334,0,0, - 0,0,-136,0,0,0,0,0,0,-92, - 0,0,0,-102,0,0,0,-35,0,0, - 0,0,-242,0,0,0,-216,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,0,0,0,0,0,0,0,0, - 0,0,0,-398,0,-60,0,0,0,0, - 0,-101,0,0,0,0,-185,-13,0,-37, - 0,0,0,0,0,-314,0,0,0,-278, + 0,0,0,-297,0,-128,0,0,0,0, + 0,0,0,0,0,-333,0,0,0,-14, + 0,0,0,0,0,0,0,-24,0,0, + -244,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-50, + 0,0,-31,-117,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-233, - 0,-38,0,0,0,0,0,0,0,0, - 0,0,-311,-49,0,-419,0,0,0,-283, - 0,0,0,0,0,0,-228,0,0,0, - 0,0,-30,0,0,0,-373,0,0,0, - 0,0,0,0,0,0,-39,0,0,-381, + 0,0,0,-21,0,0,0,-113,0,0, + 0,0,0,0,0,-375,0,-380,0,-92, + 0,0,0,-32,0,-41,-136,0,0,-279, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-43, - 0,0,0,0,0,0,0,0,-55,0, - 0,0,-470,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-13,0,0,0,0,0,0, + 0,0,0,0,0,-102,0,0,0,-52, + -10,0,0,0,0,0,-88,0,0,0, + -49,-541,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-42,0,-51,-383, 0,0,0,0,0,0,0,0,0,0, - 0,0,-27,0,-56,0,0,0,0,0, - 0,-40,0,0,0,0,0,-305,0,0, - 0,-238,0,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,-67, - 0,0,0,0,0,-41,-438,0,0,0, - 0,0,-111,0,0,0,-130,0,0,0, + 0,-35,0,0,0,0,0,0,0,-309, + 0,0,0,-71,0,0,0,0,-239,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,-37,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-47,0,-74,0,0,0,0,0, - 0,0,0,0,0,-181,0,0,0,0, - -307,-193,0,0,0,0,0,0,0,0, + 0,-148,0,0,0,0,-72,-107,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,-19,0,0,0,0,0,-143, - 0,0,0,0,-277,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-46, + 0,-40,0,0,0,0,0,0,0,-307, + 0,0,0,-38,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-75,0,0,0, - 0,0,0,0,-57,0,-17,0,0,0, - 0,0,-291,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-86,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-60,0,-61,-130, + 0,-111,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-503,0,0,0,0,0,0,0, - -88,0,0,0,0,-243,0,0,0,-76, - 0,0,0,0,0,0,0,0,-53,0, - 0,0,-385,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,-95,0,-133,0,0,0, - -61,0,0,0,0,-42,0,-386,0,0, + 0,-57,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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-135,0,-147, + 0,0,0,0,0,0,0,0,-110,0, + 0,0,0,-97,0,0,-292,0,0,0, + -39,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -107,0,0,0,-97,0,0,0,0,0, + 0,0,0,0,0,0,-191,0,-217,0, + -185,0,0,0,0,0,0,0,0,0, + 0,-387,0,0,0,-195,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,0,-149,0,0,0,0,0,-225,0, - -178,0,0,0,0,0,0,0,0,0, + 0,0,0,-43,0,0,0,0,0,0, + 0,-226,0,-218,0,-400,0,0,0,-55, + 0,0,0,-339,0,0,0,0,0,0, + 0,0,0,0,0,0,-421,0,-68,0, + -388,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, - -413,0,-59,0,0,0,0,0,0,-150, - -104,0,0,0,0,-407,0,0,-265,0, + 0,0,-56,0,-58,0,0,0,0,0, + 0,0,0,-316,0,-178,0,0,0,0, 0,0,0,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,-132, + 0,0,0,0,0,0,0,-266,0,0, + 0,-64,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -151,0,-51,0,0,0,-226,0,-152,0, - 0,-266,0,0,0,-153,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-93,0,0,0,0,0,0, - 0,-69,0,-155,0,0,0,0,0,-377, - 0,-94,0,0,-267,0,0,0,-167,0, + 0,-337,0,0,0,0,0,0,0,-267, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-139,0,0,0, - 0,0,0,0,-70,0,0,0,0,0, - 0,0,-168,-169,-140,0,0,-268,0,0, - 0,-170,0,0,0,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,-74,0,0,0,0,0,-75,0,0, + 0,-268,0,0,0,-76,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-80,0,0,0,0,-171,-469,0,0, - -269,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-415,0,0,0,0,0,0,0,-77, + -93,0,0,-269,0,0,0,-95,0,0, 0,0,0,0,0,0,0,0,0,0, - -81,0,-504,0,0,0,0,0,-172,-173, - -174,0,0,-270,0,0,0,0,0,0, + 0,0,0,0,0,-133,0,0,0,0, + 0,0,0,-69,0,-523,0,0,0,0, + 0,-379,0,0,0,-270,0,0,0,-135, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-147,0,0, + 0,0,0,0,0,-70,0,0,0,0, + 0,0,0,-227,-94,0,0,-271,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-84,0,-175,0,0,0,0, - 0,-176,-177,-179,0,0,-271,0,0,0, - -180,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,-86,0,-186,0, - 0,0,0,0,-188,-190,-196,0,0,-272, - 0,0,0,-198,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-199,0,0,0,0,0,0,0,0, - 0,-202,0,-87,0,0,0,-204,0,-205, - 0,0,-273,0,0,0,-206,0,0,0, + 0,0,0,0,0,0,0,-80,0,-73, + 0,0,0,0,0,-471,-139,0,0,-272, + 0,0,0,-149,0,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,-150,0,0, + 0,-273,0,0,0,-151,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-98,0,-221,0,0,0,0,0, - -222,-90,-241,0,0,-274,0,0,0,-285, 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,-293,0,-300,0,0, - 0,0,0,-301,-128,-306,0,0,-275,0, - 0,0,-308,0,0,0,0,0,0,0, + 0,-84,0,-152,0,0,0,0,0,-506, + -140,0,0,-274,0,0,0,-153,0,0, 0,0,0,0,0,0,0,0,0,0, - -321,0,0,0,0,0,0,0,-322,0, - -323,0,0,0,0,0,-324,-129,-328,0, - 0,-380,0,0,0,-329,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-330,0,0,0,0,0,0, - 0,-342,0,-343,0,0,0,0,0,-344, - -132,-345,0,0,-418,0,0,0,-346,0, + 0,0,0,-85,0,-192,0,0,0,0, + 0,-155,-167,0,0,-275,0,0,0,-168, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-347,0,0,0, - 0,0,0,0,-348,0,-349,0,0,0, - 0,0,-350,-351,-352,0,0,-523,0,0, - 0,-353,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,-120,0,-355, - 0,-154,0,0,0,-361,0,-189,0,0, - -313,0,0,0,-302,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,0,0,0,0, - -110,0,-356,0,0,0,0,0,-364,0, + 0,0,0,0,0,-169,0,0,0,-87, + 0,0,0,-170,0,0,0,-276,0,0, + 0,-171,0,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,-201, + 0,0,0,0,0,-172,-209,0,0,-382, + 0,0,0,-173,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, - 0,0,0,0,0,0,-89,0,0,0, - 0,-357,0,0,0,0,0,0,-394,0, + 0,0,0,0,0,0,0,0,0,-126, + 0,0,0,0,0,0,0,-174,-210,0, + 0,-420,0,0,0,-175,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-335,0, - -195,0,0,0,0,0,-395,0,0,0, + 0,-141,0,-105,0,0,0,0,0,-176, + -363,0,0,-525,0,0,0,-177,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-358,0, - 0,0,0,0,-121,0,0,0,-359,-209, - 0,0,0,0,0,-360,-517,0,0,0, + 0,0,0,-142,0,0,0,0,0,0, + 0,-179,-104,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,-114,0, - 0,0,0,0,0,0,-141,0,-363,0, - 0,0,0,0,-264,0,0,0,0,0, + 0,0,0,0,0,0,0,-304,0,0, + 0,0,0,0,0,-144,0,-306,0,0, + 0,0,0,-366,0,0,0,-180,0,0, 0,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,-115,0,-539,0, + 0,0,0,0,0,0,0,-182,0,0, + 0,-181,0,0,0,-219,0,0,0,-18, + -186,-396,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-367,0,0,-262,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-454,0,0,0, - 0,0,0,0,-368,0,-263,0,0,0, + 0,0,0,-188,0,-190,0,0,0,-397, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-217,0, - 0,0,0,0,0,0,-28,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,-303,0,0,0,-219,0,0,0, - 0,0,0,-191,-213,0,0,0,0,0, - 0,0,0,0,0,0,0,-142,-369,-370, - 0,0,-15,-455,0,0,0,0,0,0, - 0,-218,0,0,0,0,-309,-144,0,0, - 0,0,0,0,-109,0,0,0,0,-131, - 0,0,0,-207,0,0,0,0,0,0, - -372,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-46,0,0,-16, - 0,0,-396,0,0,-68,0,0,0,0, - 0,0,0,0,0,-29,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-194, + 0,0,0,0,0,0,0,-408,0,0, + 0,0,-470,-196,0,0,0,-519,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-78,0,0,0,0,0,-260, + 0,0,0,0,0,0,0,0,0,-368, + 0,0,0,0,0,0,0,-197,0,-198, + 0,0,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, + 0,0,0,0,0,-215,0,-289,0,0, + 0,-30,0,0,0,-377,-199,0,0,0, + 0,0,-79,-265,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-402,-403,0,0,0,-471,0,0, - -530,-404,-405,0,0,0,0,0,0,0, - 0,0,-540,-337,0,0,0,0,0,0, - 0,0,0,0,0,0,-208,0,0,-261, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-311,0,-263,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,0,0,0,0,-235, + 0,0,0,0,0,0,0,0,0,-264, 0,0,0,0,0,0,0,0,0,0, - -65,0,0,0,-210,0,0,0,0,0, - 0,0,0,-21,-212,-253,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-420,0,0, - 0,0,-442,0,0,0,0,0,0,-421, - 0,0,-288,0,0,-423,0,-428,0,0, + 0,0,0,0,0,0,0,0,0,-28, 0,0,0,0,0,0,0,0,0,0, - -490,0,-432,-282,0,0,0,0,0,0, - 0,0,0,0,-254,0,0,0,0,0, + 0,0,-260,0,0,0,-378,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-119,0,0,0,0,0, + 0,-89,0,0,0,0,0,0,0,0, + 0,0,-236,0,0,-120,-312,0,0,0, + 0,-189,0,0,-202,-204,-203,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-255,0,0,0,-310,0,0,0,0, + -62,-457,-505,-118,0,0,0,0,0,-214, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-437,0,0,0,0,-256,0, - 0,0,-73,0,0,0,0,0,0,0, + 0,0,-137,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-394,-284,0,0, + 0,0,0,0,-216,0,0,0,0,0, + 0,-409,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -449,0,0,0,0,-281,0,-289,-450,0, - -339,0,0,0,0,0,0,0,0,0, - 0,0,0,-10,0,0,0,0,-416,0, - 0,0,-331,0,0,0,0,0,-406,0, - 0,0,-362,0,0,0,0,-452,0,0, - 0,0,0,0,0,0,0,0,0,-103, - -239,0,0,0,0,-192,-374,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-333,-456,0,0, - 0,0,0,0,0,0,0,0,0,-457, - 0,0,0,-201,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-5,0,0, - 0,-18,0,-317,0,0,0,0,0,0, - 0,-388,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-341,-257,0,0, + 0,0,0,0,0,-205,0,0,0,0, + 0,0,0,0,-206,0,0,0,0,0, + -222,0,-223,-261,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-183,0,0,0,0,-33,0, - -466,0,0,0,0,0,-472,-234,-235,0, - 0,0,0,-468,0,0,0,0,-487,-491, - 0,-134,0,0,0,0,0,0,0,0, - 0,0,-515,0,0,0,0,-148,-122,0, - 0,0,0,0,0,0,0,0,-492,0, - 0,0,0,-279,0,0,0,0,0,-497, - 0,0,-316,-158,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 0,-262,0,0,0,-242,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,-249, + 0,0,0,-318,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,-387, - -505,-459,-401,0,0,0,0,0,0,0, - 0,0,0,0,0,-194,-197,-220,0,0, - 0,0,0,0,0,0,0,0,-506,-422, - 0,0,0,0,-211,0,0,-286,0,0, - 0,0,0,0,0,0,0,-409,0,-514, - -524,0,0,0,0,0,-20,0,0,0, + 0,0,0,0,0,0,0,-286,-213,-293, + 0,-341,0,0,0,0,0,0,0,0, + 0,0,0,0,-254,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-417,0,0,0,0,0,0, - 0,0,0,-424,0,0,-397,0,-486,0, - 0,0,-214,0,-529,0,0,0,0,0, + 0,0,0,0,0,0,-456,0,0,0, + 0,-255,0,0,0,-294,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-473,0,0,0,0,0, - -460,0,0,0,0,-458,0,0,0,0, + 0,0,0,0,0,0,0,0,-256,0, + 0,0,-488,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-62,0,0,0,0,0,-22,0,0, + -301,0,0,0,0,-257,0,0,0,-221, 0,0,0,0,0,0,0,0,0,0, - 0,-229,-105,0,0,0,0,0,0,0, - 0,0,0,0,-496,-224,0,-215,0,0, - -245,0,0,0,0,-319,0,-532,0,0, - 0,0,0,0,0,0,0,-184,0,0, - -304,-280,0,-383,0,0,0,0,0,0, - 0,-498,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-366,0, + 0,0,0,0,0,0,0,-240,0,0, + 0,0,-282,-302,-308,-310,0,-121,0,0, + 0,-323,-324,0,0,0,0,0,-154,-305, 0,0,0,0,0,0,0,0,0,0, + -287,-325,0,-234,-143,0,0,0,-298,-364, + 0,0,0,0,0,-326,0,-532,0,0, + 0,0,0,0,0,0,0,-330,0,0, + 0,0,0,0,-78,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-319, + -331,0,-332,0,0,0,0,0,0,0, + 0,0,0,0,-344,0,0,0,0,0, + -345,0,-20,-321,-290,0,0,0,0,0, + 0,0,0,0,-524,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-5, + 0,0,0,0,0,0,-346,0,-250,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-287,0,-312,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,-500,0,0,0, - 0,0,0,0,0,0,0,0,0,-440, - -315,0,0,0,0,0,0,-508,0,0, - 0,0,-519,-502,-441,0,0,0,-118,0, - 0,0,0,0,-484,0,0,0,0,0, - 0,0,-290,-297,-200,0,0,0,-299,0, - -318,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,-288,0,0,-291, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-535,0,0, - 0,0,0,-223,-375,-434,0,0,0,0, + -492,0,0,-399,0,-283,0,0,0,-300, + 0,0,0,0,-347,0,0,0,0,-53, + 0,0,0,0,0,0,0,-444,0,0, + 0,-159,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,-295, - -509,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-442, + -22,0,0,0,0,-158,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-384,-541,0,0,-276,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-382,0,-244,0,0, - -435,0,0,0,-1,0,0,0,0,0, - 0,0,0,0,0,0,0,-320,0,0, - 0,0,0,0,0,0,0,0,0,-36, - 0,0,0,0,-44,0,0,0,0,0, - 0,0,0,0,0,0,0,-521,0,0, - 0,0,0,0,0,0,0,0,-157,0, - 0,0,0,0,-326,-445,-336,-376,0,0, - 0,0,0,0,-507,0,0,0,0,0, + 0,0,-258,0,0,0,-303,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-412,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-259,0, 0,0,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, - 0,0,0,0,0,-249,0,0,0,-392, + -373,0,0,0,0,0,0,0,-212,0, + 0,-109,0,0,0,-454,0,0,0,-432, + -320,-122,0,0,0,0,-134,0,0,-348, + 0,-475,0,0,0,0,0,0,0,0, + -145,0,0,0,-349,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-510,0, + 0,0,-517,-220,0,0,0,-327,0,0, + 0,0,0,0,0,-390,0,0,0,-350, + 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,-85,0,0, - 0,0,-112,0,0,0,0,0,0,0, - 0,0,0,0,0,-518,0,0,0,0, - -159,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,-45,0,0,0,-431,-433,0,0,-340, - 0,0,0,0,-124,0,0,-446,0,-379, - 0,0,0,0,0,0,0,-400,0,0, - 0,0,0,0,0,0,0,-66,0,0, - 0,0,-284,0,0,0,0,0,0,-447, - 0,0,0,0,-414,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-436, - 0,0,0,0,-126,0,0,0,0,0, - 0,0,0,-443,-444,0,0,0,0,0, - 0,0,0,0,0,0,0,-453,0,0, - 0,0,-393,0,0,0,0,0,0,0, - 0,0,0,0,0,-461,0,0,-499,0, + 0,0,0,-6,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -232,0,0,0,-465,0,-463,-448,0,0, - -467,0,-477,-478,-485,0,0,0,0,0, + 0,-322,0,0,0,0,0,-443,0,0, + -424,-245,0,-328,0,0,-224,0,-208,0, + 0,0,-338,0,-459,0,0,0,-335,-313, + 0,-343,0,0,0,-314,0,0,0,0, + 0,0,0,0,0,0,-123,-426,0,0, + 0,0,0,0,0,-351,0,0,0,0, + 0,0,0,0,0,0,0,-384,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,0,0,0,-534,0, - -250,0,0,0,0,0,0,0,0,0, + -342,-436,-433,0,0,0,0,0,0,0, + 0,-462,0,0,0,0,0,-376,-534,0, + -229,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-225,-352,0,-381,0,0, + 0,0,0,-353,-402,0,-411,0,-498,0, + 0,0,0,0,-501,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,-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,-480,0,-252,0, - 0,0,-481,0,0,0,0,0,0,0, + 0,-416,0,-354,0,0,0,0,0,0, + 0,0,-500,-491,0,0,0,0,0,-414, + -446,0,0,0,0,-355,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -495,0,-510,-531,0,0,0,0,0,0, + -285,0,0,0,0,-460,0,0,0,-435, + 0,0,0,0,0,-509,0,0,0,0, + 0,0,0,0,0,0,-521,0,0,0, + 0,0,0,-438,-296,-419,-356,0,0,0, + 0,0,0,0,0,0,0,-502,0,0, 0,0,0,0,0,0,0,0,0,0, - -160,0,0,0,0,0,0,0,0,0, + -252,0,0,0,-455,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,-504,0,-357,-385,0,-246,0,-445, + -358,0,0,0,-230,0,0,-467,0,-479, + 0,0,-103,0,0,-463,0,0,0,-465, + 0,0,0,-280,-389,0,0,0,0,0, + 0,0,0,0,0,-469,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-162,0,0,0,0,0, + 0,0,-36,0,0,0,-359,0,0,0, + 0,0,0,0,0,0,0,0,-480,-537, + -386,-484,-481,0,-360,0,-361,0,0,0, + 0,0,0,-487,-15,-497,0,0,0,0, + -362,0,0,0,-277,0,0,0,0,0, + 0,0,-482,0,0,-365,-543,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,-512,0,0,-528,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-164,0, + 0,0,0,0,0,0,0,-367,0,0, + 0,-542,0,0,0,0,0,0,0,0, + 0,0,0,-369,0,-520,0,0,0,0, + 0,0,0,-370,0,0,0,0,0,0, + 0,-112,0,0,0,0,0,0,0,0, + 0,0,0,0,-253,0,0,0,-371,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-536,0,-395,0, 0,0,0,0,0,0,0,0,0,0, - -165,0,0,0,0,0,0,0,0,0, + 0,-483,-527,-533,-372,-374,0,0,-495,-398, + 0,0,0,-1,0,0,0,0,-29,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,-404,0,-486,0,0,0, + 0,0,-44,0,0,0,0,0,0,0, + -405,0,0,-437,-447,-496,0,-406,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,-237,0,0,0,0,0, + -407,0,0,-539,0,0,0,0,0,0, + 0,-422,0,0,-423,0,0,0,0,0, + -425,-430,-434,0,-439,-157,0,0,0,-514, + -515,-529,0,0,0,0,0,-160,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,0,-247,0, + -451,0,0,0,-452,-458,-535,-538,0,0, + 0,0,-468,0,0,0,-161,0,0,0, + -474,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-489,-493,-162,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,0,0,-163,0,0,0,-494, 0,0,0,0,0,0,0,0,0,0, - 0,0,-410,0,0,0,-493,0,0,0, + 0,0,0,0,0,0,0,-164,0,0, + 0,-499,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-165, + 0,0,0,-507,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-8,-427,0,-494,0,0, - -476,0,0,0,-512,-123,-11,-482,0,0, - 0,0,0,-526,0,0,0,0,-513,0, - 0,0,-537,0,0,0,0,0,0,0, - 0,0,0,0,0,-525,0,0,0,0, + 0,-166,0,0,0,-508,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-238,0,0,0,-516,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-483,-82,0,-511,0,0,0, - 0,0,0,0,0,0,-527,0,0,0, - 0,0,0,0,0,0,0,0,-533,-536, - 0,0,0,0,-488,0,0,-538,0,0, - 0,0,0,-389,0,-83,0,0,0,0, + 0,0,0,0,0,-247,0,0,0,-526, 0,0,0,0,0,0,0,0,0,0, - 0,0,-298,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-248,0,0, + 0,-531,0,0,0,0,0,0,0,0, + 0,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,0, + 0,-412,0,0,0,-184,0,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,-124,-448,-440,-540,0,0,0, + 0,0,0,-125,0,0,-317,0,0,0, + 0,0,-231,0,-461,0,0,0,0,0, + 0,0,0,0,0,0,-232,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-489,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,0,0,0, - 0,0,-462,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-23,0,0, + 0,-211,-449,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-230,0,0,0,0,-415,0,0, + 0,0,0,0,0,0,0,0,0,-450, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-91,0,0,0,0,0, - 0,0,0,-96,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-137, + 0,0,0,0,0,-65,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-490, + 0,-478,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-108,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-231,0,-138,0,0,0,0,0, + -464,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,0,0,0,0, + 0,0,-336,0,0,-11,0,0,-513,0, + 0,0,-23,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,-6,0,0,0,0,0,0,0,0, - 0,0,0,0,-390,0,0,0,0,0, - 0,0,0,-99,0,0,0,0,0,-127, - 0,0,0,0,-516,-501,0,0,0,0, - 0,-187,0,0,0,-332,0,0,0,0, + 0,0,0,0,0,-485,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-45, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-429, 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, + -83,0,0,0,0,0,0,0,0,0, + 0,-299,0,0,0,0,0,0,0,0, + 0,0,0,0,-518,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -338,0,0,0,0,0,-464,0,0,0, - 0,0,0,0,0,-399,0,0,0,-439, 0,0,0,0,0,0,0,0,0,0, - -474,0,0,0,0,0,0,-475,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-156,0,0,0, - 0,-227,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-240,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-425, - 0,0,0,0,-426,0,0,0,0,-429, - 0,0,0,0,0,-528,0,0,-391,0, - 0,0,0,-411,-542,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-91,0,0,0,0,0,-138,0, + 0,0,0,0,0,0,0,0,0,-48, + 0,0,0,0,0,-66,0,0,0,0, + 0,-96,0,0,0,0,0,0,-418,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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,0, + 0,0,0,0,0,0,0,0,0,-99, + 0,0,0,0,-127,0,0,0,0,0, + -466,0,0,-530,0,0,0,0,0,0, + -187,0,0,0,0,0,-334,0,0,0, 0,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,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-401,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-441,0,0,0, + 0,-33,0,0,0,0,0,0,0,0, + -403,0,0,0,0,0,0,0,-476,0, + 0,0,0,0,0,0,-477,0,0,0, + 0,0,0,-228,0,0,0,0,0,0, + 0,0,-233,0,0,0,0,-410,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-241,0,0, 0,0,0,0,0,0,0,0,0,0, + -427,0,0,0,0,0,0,0,0,0, + 0,0,-417,0,0,0,0,0,0,0, + 0,-428,0,0,0,0,0,-392,0,0, + 0,0,0,0,-503,0,0,0,0,0, + -431,0,0,0,0,0,0,0,0,0, + 0,0,0,-393,-413,0,0,0,0,-544, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -545,7 +533,7 @@ 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 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -555,552 +543,539 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 174,4,136,83,83,32,32,67,67,38, - 38,40,40,174,1,1,15,15,15,15, + 174,4,136,81,81,32,32,67,67,38, + 38,42,42,174,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,65,65,5,5, 12,12,44,44,137,137,138,57,57,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 139,139,139,116,116,18,18,18,18,18, + 139,139,139,114,114,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, 175,175,176,176,177,142,142,143,143,140, 140,144,141,141,20,20,21,21,23,23, 23,24,24,24,24,25,25,25,26,26, 26,27,27,27,27,27,28,28,28,29, 29,31,31,33,33,35,35,36,36,37, - 37,42,42,41,41,41,41,41,41,41, - 41,41,41,41,41,41,39,30,145,145, - 97,97,178,178,92,200,200,68,68,68, + 37,41,41,40,40,40,40,40,40,40, + 40,40,40,40,40,40,39,30,145,145, + 95,95,178,178,90,200,200,68,68,68, 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,104,104, + 66,56,56,179,179,70,70,70,102,102, 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,84,84,84,84,84,84, - 84,84,49,49,49,49,49,105,105,103, - 103,50,182,22,22,22,22,22,48,48, - 87,87,87,87,87,152,152,147,147,147, + 72,72,73,73,82,82,82,82,82,82, + 82,82,49,49,49,49,49,103,103,101, + 101,50,182,22,22,22,22,22,48,48, + 85,85,85,85,85,152,152,147,147,147, 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,88,88,88,88,88,89, - 89,89,13,13,13,13,13,13,13,13, - 13,13,13,98,120,120,120,120,120,120, - 118,118,118,153,119,119,183,155,155,154, - 154,122,122,106,77,77,78,79,52,47, - 156,156,53,51,86,86,157,157,146,146, - 123,124,124,125,82,82,158,158,63,63, - 63,60,60,59,64,64,80,80,58,58, - 58,54,90,90,100,99,99,62,62,61, - 61,55,55,45,101,101,101,93,93,93, - 94,94,95,95,95,96,96,107,107,107, - 109,109,108,108,201,201,91,91,185,185, - 185,185,185,127,46,46,160,184,184,128, - 128,128,128,129,162,186,186,34,34,117, - 130,130,130,130,188,111,110,110,121,121, - 121,163,164,164,164,164,164,164,164,164, + 150,151,151,151,86,86,86,86,86,87, + 87,87,13,13,13,13,13,13,13,13, + 13,13,13,96,118,118,118,118,118,118, + 116,116,116,153,117,117,183,155,155,154, + 154,120,120,104,77,77,121,52,47,156, + 156,53,51,84,84,157,157,146,146,122, + 123,123,124,80,80,158,158,63,63,63, + 60,60,59,64,64,78,78,58,58,58, + 54,88,88,98,97,97,62,62,61,61, + 55,55,45,99,99,99,91,91,91,92, + 92,93,93,93,94,94,105,105,105,107, + 107,106,106,201,201,89,89,185,185,185, + 185,185,126,46,46,160,184,184,127,127, + 128,128,128,129,162,186,186,34,34,115, + 130,130,130,130,188,109,108,108,119,119, + 119,163,164,164,164,164,164,164,164,164, 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,113,112,112,192, - 192,168,168,168,168,102,102,102,193,193, + 166,166,166,166,167,191,111,110,110,192, + 192,168,168,168,168,100,100,100,193,193, 8,8,9,194,194,195,169,159,159,170, 170,171,172,172,7,7,10,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,75, - 81,81,173,173,132,132,133,133,133,133, - 133,133,3,134,134,131,131,114,114,85, - 76,74,161,161,115,115,197,197,197,135, - 135,126,126,198,198,1119,35,1954,1936,1102, - 4726,27,30,31,720,670,26,28,1929,25, - 23,50,1549,106,76,77,108,242,1583,1592, - 1584,1669,1627,1671,1670,1456,1712,1943,1706,273, - 1713,1714,143,588,35,282,158,144,1472,35, - 798,32,3510,3590,27,30,31,720,670,339, - 28,1180,2262,3167,35,798,32,232,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,675,1583,1592,1584,1669, - 1627,2022,235,230,231,1018,35,1315,1542,588, - 35,664,388,274,297,1428,1375,319,1321,321, - 2311,314,856,1349,2928,667,155,35,453,1349, - 3595,4722,242,245,248,251,1174,2849,352,49, - 526,1517,2400,273,758,1217,1353,1835,1035,790, - 1569,344,1497,1409,349,1833,155,35,279,527, - 1850,1279,2443,2500,2932,3167,3258,4548,2377,35, - 798,32,2928,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 343,1583,1592,1584,1669,1627,1671,1670,1439,1712, - 1789,1706,2001,1713,1714,143,498,275,1456,517, - 144,361,460,3028,2047,1524,2436,35,277,588, - 1305,1270,34,518,2377,35,798,32,2928,3619, - 27,30,31,720,670,26,28,1534,25,23, - 50,1549,106,76,77,108,343,1583,1592,1584, - 1669,1627,1671,1670,3273,1712,1757,1706,2541,1713, - 1714,143,2928,1708,447,517,144,2225,287,3028, - 588,35,1585,1567,588,35,1270,276,2119,518, - 343,3435,513,1576,35,798,32,933,4771,27, - 30,31,720,670,57,28,446,1749,1755,1360, - 3128,1841,1721,1441,2377,35,798,32,2928,3619, - 27,30,31,720,670,26,28,1534,25,23, - 50,1549,106,76,77,108,343,1583,1592,1584, - 1669,1627,1671,1670,1240,1712,1471,1706,513,1713, - 1714,143,1959,35,277,517,144,2201,667,3028, - 1515,2816,1456,3772,868,1764,588,1835,1721,518, - 2653,35,798,32,2928,3619,27,30,31,720, - 670,26,28,1534,25,23,50,1549,106,76, - 77,108,343,1583,1592,1584,1669,1627,1671,1670, - 2122,1712,2136,1706,1142,1713,1714,143,312,390, - 427,517,144,1914,667,3028,988,1136,4786,4604, - 588,35,664,388,182,518,324,214,513,868, - 160,2928,61,1721,35,798,32,588,3763,41, - 30,31,720,670,3654,1782,438,1492,1721,343, - 2720,35,798,32,452,3619,27,30,31,720, - 670,26,28,1534,25,23,50,1549,106,76, - 77,108,3028,1583,1592,1584,1669,1627,1671,1670, - 59,1712,1911,1706,514,1713,1714,143,288,1613, - 3126,379,144,2446,35,798,32,3625,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,3197,1583,1592,1584,1669, - 1627,1671,1670,1360,1712,839,1706,615,1713,1714, - 143,523,1954,3126,379,144,4416,3425,3167,35, - 798,32,2348,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 1663,1583,1592,1584,1669,1627,1671,1670,1582,1712, - 1229,1706,1704,1713,1756,164,214,1914,385,2181, - 3718,429,4786,2518,35,798,32,1943,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,2503,1583,1592,1584,1669, - 1627,1671,1670,214,1712,1668,1706,4595,1713,1714, - 143,386,2181,3126,379,144,588,35,1270,278, - 423,2431,2918,35,798,32,3486,3619,27,30, - 31,720,670,26,28,1534,25,23,50,1549, - 106,76,77,108,389,1583,1592,1584,1669,1627, - 1671,1670,214,1712,1458,1706,688,1713,1714,143, - 1959,35,280,158,144,3167,35,798,32,3197, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,2224,1583,1592, - 1584,1669,1627,1671,1670,214,1712,1866,1706,1451, - 2236,377,2181,2918,35,798,32,778,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,2452,1583,1592,1584,1669, - 1627,1671,1670,1838,1712,430,1706,1123,1713,1714, - 143,588,35,293,373,144,1712,35,798,32, - 2217,4771,27,30,31,720,670,56,28,588, - 35,664,388,2918,35,798,32,1850,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,1432,1583,1592,1584,1669, - 1627,1671,1670,49,1712,414,1706,847,1713,1714, - 143,1491,1035,862,373,144,1866,924,2918,35, - 798,32,421,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 372,1583,1592,1584,1669,1627,1671,1670,2299,1712, - 1787,1706,625,1713,1714,143,1747,1885,523,373, - 144,2860,35,798,32,1866,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,1866,1583,1592,1584,1669,1627,1671, - 1670,325,1712,1826,1706,60,1713,1756,164,2302, - 371,2586,35,798,32,2458,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,867,1583,1592,1584,1669,1627,1671, - 1670,1603,1712,1231,1706,2444,1713,1714,143,3777, - 2350,675,142,144,327,369,588,35,2819,2918, - 35,798,32,2058,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,221,1583,1592,1584,1669,1627,1671,1670,353, - 1712,2411,1706,667,1713,1714,143,1707,4704,2422, - 155,144,2918,35,798,32,2487,3619,27,30, - 31,720,670,26,28,1534,25,23,50,1549, - 106,76,77,108,300,1583,1592,1584,1669,1627, - 1671,1670,214,1712,2009,1706,744,1713,1714,143, - 588,2723,1097,154,144,2918,35,798,32,2512, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,300,1583,1592, - 1584,1669,1627,1671,1670,214,1712,354,1706,824, - 1713,1714,143,413,2098,2310,153,144,2918,35, - 798,32,323,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 3308,1583,1592,1584,1669,1627,1671,1670,93,1712, - 447,1706,214,1713,1714,143,3029,1516,403,152, - 144,2918,35,798,32,2267,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,2438,1583,1592,1584,1669,1627,1671, - 1670,214,1712,403,1706,4316,1713,1714,143,1252, - 65,231,151,144,2918,35,798,32,3203,3619, - 27,30,31,720,670,26,28,1534,25,23, - 50,1549,106,76,77,108,3288,1583,1592,1584, - 1669,1627,1671,1670,214,1712,833,1706,3785,1713, - 1714,143,1745,317,1255,150,144,2918,35,798, - 32,1952,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,108,1827, - 1583,1592,1584,1669,1627,1671,1670,214,1712,2029, - 1706,3845,1713,1714,143,2203,1387,145,149,144, - 2918,35,798,32,2216,3619,27,30,31,720, - 670,26,28,1534,25,23,50,1549,106,76, - 77,108,2294,1583,1592,1584,1669,1627,1671,1670, - 381,1712,1160,1706,667,1713,1714,143,2127,4710, - 1266,148,144,2918,35,798,32,2505,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,108,380,1583,1592,1584,1669, - 1627,1671,1670,214,1712,575,1706,666,1713,1714, - 143,2279,1231,1550,147,144,2918,35,798,32, - 2295,3619,27,30,31,720,670,26,28,1534, - 25,23,50,1549,106,76,77,108,1942,1583, - 1592,1584,1669,1627,1671,1670,2306,1712,2371,1706, - 303,1713,1714,143,2416,1231,1534,146,144,2918, - 35,798,32,1955,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,2441,1583,1592,1584,1669,1627,1671,1670,2491, - 1712,2504,1706,302,1713,1714,143,2510,1231,2511, - 145,144,2918,35,798,32,3459,3619,27,30, - 31,720,670,26,28,1534,25,23,50,1549, - 106,76,77,108,3385,1583,1592,1584,1669,1627, - 1671,1670,581,1712,753,1706,299,1713,1714,143, - 1234,2183,1653,159,144,2918,35,798,32,1755, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,1377,1583,1592, - 1584,1669,1627,1671,1670,1828,1712,1958,1706,404, - 1713,1714,143,2020,2175,2179,140,144,3046,35, - 798,32,489,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 2118,1583,1592,1584,1669,1627,1671,1670,1349,1712, - 2124,1706,667,1713,1714,143,42,3901,1349,189, - 144,3167,35,798,32,1231,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,1103,1583,1592,1584,1669,1627,1671, - 1670,214,1712,2023,1706,1142,1713,1756,164,3167, - 35,798,32,298,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,2876,1583,1592,1584,1669,1627,1671,1670,1224, - 1712,459,1706,3429,1713,1756,164,1924,35,798, - 32,326,2435,1928,30,31,720,670,2225,3167, - 35,798,32,292,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,522,1583,1592,1584,1669,1627,1671,1670,214, - 1712,1866,1706,1142,1713,1756,164,3167,35,798, - 32,2706,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,108,3825, - 1583,1592,1584,1669,1627,1671,1670,926,1712,2516, - 1706,3363,1713,1756,164,1924,35,798,32,2468, - 1943,40,30,31,720,670,1272,3225,35,798, - 32,422,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,108,386, - 1583,1592,1584,1669,1627,1671,1670,214,1712,2470, - 1706,807,1713,1756,164,3167,35,798,32,425, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,304,1583,1592, - 1584,1669,1627,1671,1670,2507,1712,386,2219,1443, - 35,798,32,329,4568,27,30,31,720,670, - 26,28,87,511,443,3167,35,798,32,3949, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,2650,1583,1592, - 1584,1669,1627,1671,1670,2581,2093,3167,35,798, - 32,3127,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,108,933, - 1583,1592,1584,1669,1627,1671,2142,1734,35,798, - 32,3252,3808,27,30,31,720,670,339,28, - 1258,35,798,32,3510,3590,27,30,31,720, - 670,339,28,1924,35,798,32,1353,1835,3700, - 30,31,720,670,386,1480,35,1893,32,3252, - 3808,27,30,31,720,670,339,28,214,2608, - 2609,1080,2379,1746,237,332,319,1321,321,2465, - 314,856,588,35,1270,281,239,933,214,319, - 1321,321,2417,314,856,588,35,664,388,313, - 588,35,664,388,1018,35,396,2651,1757,1080, - 352,2610,1876,332,319,1321,321,3199,314,856, - 3009,391,427,344,1497,1409,349,2101,1080,49, - 1247,1868,4498,2546,49,232,2101,1141,1035,2424, - 306,310,734,1035,2665,2651,1747,35,798,32, - 3252,3590,27,30,31,720,670,339,28,1842, - 240,230,231,1443,588,35,664,388,322,287, - 3167,35,798,32,1078,3619,27,30,31,720, - 670,26,28,1534,25,23,50,1549,106,76, - 77,108,232,1583,1592,1584,1669,2040,273,393, - 427,3365,1841,2644,2646,319,1321,321,2048,314, - 856,2048,2675,2676,1878,366,94,244,230,231, - 417,419,1886,2048,1244,35,798,32,2506,4568, - 27,30,31,720,670,59,28,1018,35,396, - 3167,35,798,32,3311,3619,27,30,31,720, - 670,26,28,1534,25,23,50,1549,106,76, - 77,108,340,1583,1592,1584,1669,2050,1506,35, - 798,32,3110,3590,27,30,31,720,670,339, - 28,2030,35,798,32,1943,3808,27,30,31, - 720,670,339,28,69,1922,3167,35,798,32, - 351,3619,27,30,31,720,670,26,28,1534, - 25,23,50,1549,106,76,77,108,2677,1583, - 1592,1584,1997,588,35,664,388,319,1321,321, - 173,314,856,386,323,1080,2547,356,2552,333, - 319,1321,321,531,317,856,531,1884,352,355, - 2506,1345,296,2614,155,35,453,431,531,4722, - 2413,344,1497,1409,349,3167,35,798,32,3053, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,3556,1583,1592, - 1584,2005,3167,35,798,32,933,3619,27,30, - 31,720,670,26,28,1534,25,23,50,1549, - 106,76,77,108,2137,1583,1592,1584,2007,3167, - 35,798,32,2101,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,2681,1583,1592,1584,2013,259,1493,1592,2682, - 535,1244,35,798,32,497,4568,27,30,31, - 720,670,58,28,1428,990,293,70,228,929, - 35,664,388,499,35,279,156,635,4472,588, - 35,1270,2811,1,180,3339,867,535,1571,35, - 1270,276,203,215,4682,202,212,213,214,216, - 2094,1922,169,273,1086,228,2101,2273,392,427, - 3314,1142,168,156,183,167,170,171,172,173, - 174,180,3339,867,450,1749,1755,1349,2636,203, - 215,4682,202,212,213,214,216,156,378,169, - 588,3010,1270,74,2101,200,3776,328,335,168, - 181,184,167,170,171,172,173,174,3283,35, - 664,388,1352,3383,1867,2984,2225,2898,2928,2465, - 1326,237,1856,35,798,32,3443,3808,27,30, - 31,720,670,339,28,72,2400,1349,3167,35, - 798,32,273,3619,27,30,31,720,670,26, - 28,1534,25,23,50,1549,106,76,77,108, - 4283,1583,1592,2014,588,35,664,388,1080,2743, - 232,2713,332,2928,232,2853,1080,1388,2101,2101, - 333,319,1321,321,42,315,856,42,1739,2686, - 2645,343,1428,35,293,235,230,231,49,247, - 230,231,352,2650,3411,360,274,46,2117,1840, - 4261,24,3484,2928,2129,346,1497,1409,349,2694, - 51,3798,1792,1798,2220,242,245,248,251,1174, - 2618,2400,1086,2101,3109,35,798,32,1217,3619, - 27,30,31,720,670,26,28,1534,25,23, - 50,1549,86,76,77,2443,2500,2932,3167,3258, - 4548,3167,35,798,32,350,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,345,1583,1592,2015,535,352,2984, - 1867,2293,2661,1840,2928,2465,2928,2928,1326,522, - 360,344,1497,1409,349,228,214,214,1943,342, - 3148,2818,2400,156,343,2400,2914,1792,1798,2744, - 431,180,3339,867,535,588,35,293,1943,203, - 215,4682,202,212,213,214,216,4021,2359,169, - 2783,2005,228,3298,1080,1253,3009,1567,332,168, - 156,2708,167,170,171,172,173,174,180,3339, - 867,44,1739,442,2087,456,203,215,4682,202, - 212,213,214,216,517,284,169,2270,535,2742, - 2942,360,4790,214,360,2692,168,2457,178,167, - 170,171,172,173,174,382,228,3798,1792,1798, - 3855,1792,1798,2225,156,588,35,664,388,232, - 5451,603,180,3339,867,535,1571,35,1270,3039, - 203,215,4682,202,212,213,214,216,5451,2225, - 169,2065,237,228,250,230,231,2465,1602,434, - 168,156,176,167,170,171,172,173,174,180, - 3339,867,214,1866,5451,5451,2928,203,215,4682, - 202,212,213,214,216,689,2041,169,214,535, - 2934,214,2766,5451,343,1142,2101,168,2742,177, - 167,170,171,172,173,174,1080,228,1866,4308, - 332,2283,214,867,1592,156,2056,3028,351,5451, - 232,156,775,180,3339,867,535,1919,69,376, - 2957,203,215,4682,202,212,213,214,216,1231, - 88,169,4520,102,228,253,230,231,867,402, - 5451,168,156,187,167,170,171,172,173,174, - 180,3339,867,214,376,1943,352,960,203,215, - 4682,202,212,213,214,216,3314,179,169,344, - 1497,1409,349,330,35,664,388,3053,168,5451, - 3161,167,170,171,172,173,174,2471,35,798, - 32,3252,3590,27,30,31,720,670,339,28, - 667,1944,5451,334,335,4801,2465,49,588,35, - 664,388,5451,1345,861,667,1035,999,535,237, - 4808,5451,285,374,2465,588,35,1270,3160,89, - 629,5451,102,214,2090,1329,228,3532,2928,214, - 2465,214,433,4414,156,3113,319,1321,321,5451, - 314,856,180,3339,867,1080,2400,5451,3312,333, - 203,215,4682,202,212,213,214,216,947,313, - 169,5451,535,1080,237,1231,1864,332,5451,2465, - 168,352,192,167,170,171,172,173,174,1080, - 228,1866,5451,333,346,1497,1409,349,156,5451, - 237,588,35,664,388,2465,180,3339,867,3445, - 306,310,734,198,203,215,4682,202,212,213, - 214,216,1592,1033,169,505,214,535,1080,71, - 1142,867,332,4324,168,432,186,167,170,171, - 172,173,174,1628,1078,228,214,525,2122,5451, - 3561,1592,1142,156,1080,1670,156,5451,332,2928, - 5451,180,3339,867,3411,2229,503,504,2101,203, - 215,4682,202,212,213,214,216,228,160,169, - 330,35,664,388,3314,760,35,664,388,168, - 2942,194,167,170,171,172,173,174,1866,5451, - 68,205,215,4682,204,212,213,214,216,1217, - 35,664,388,3314,49,2101,214,2101,1231,49, - 1142,3840,335,1035,2083,1018,35,396,1035,47, - 206,208,210,294,295,5451,565,2534,867,217, - 207,209,1261,49,214,3780,156,53,2347,87, - 330,335,1035,2871,524,3914,197,5451,13,5451, - 4317,3167,35,798,32,5451,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,5451,1583,1962,3167,35,798,32, - 1231,3619,27,30,31,720,670,26,28,1534, - 25,23,50,1549,106,76,77,108,1878,1583, - 1964,5451,2928,1747,35,798,32,3252,3590,27, - 30,31,720,670,339,28,1349,5451,406,539, - 228,3167,35,798,32,3205,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,85,1231,205,215,4682,204,212,213, - 214,216,1015,35,664,388,1231,214,5451,5451, - 2101,3004,319,1321,321,1965,314,856,214,2928, - 2101,5451,1142,206,208,210,294,295,2101,565, - 5451,201,217,207,209,313,49,228,330,35, - 664,388,52,2122,199,1035,47,1142,156,97, - 214,567,451,4317,1142,2101,5451,3941,5451,2137, - 3854,205,215,4682,204,212,213,214,216,5451, - 214,5451,49,160,2578,2052,307,310,734,2928, - 156,1035,722,5451,214,2101,5451,90,4311,3997, - 206,208,210,294,295,2534,565,228,2101,217, - 207,209,5451,1781,35,1893,32,3252,3590,27, - 30,31,720,670,339,28,2101,3913,2230,1231, - 4317,205,215,4682,204,212,213,214,216,5451, - 3915,588,35,664,388,214,5451,2101,214,3397, - 3790,2101,1142,214,2101,214,5451,4377,3285,3023, - 206,208,210,294,295,5451,565,4346,5451,217, - 207,209,319,1321,321,49,314,856,156,3322, - 5451,2101,5451,3424,1035,592,67,4003,2655,1349, - 4317,3167,35,798,32,1141,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,108,66,1970,3167,35,798,32,5451, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,108,2101,1972,3167, - 35,798,32,2101,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 108,2282,1979,214,214,578,5451,2581,2593,65, - 5451,5451,98,5451,5451,64,5451,5451,418,419, - 1886,3167,1305,798,1843,5451,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,84,3167,35,798,32,5451,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,83,3167,35,798,32,5451, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,82,3167,35,798, - 32,5451,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,81,3167, - 35,798,32,5451,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 80,3167,35,798,32,5451,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,79,3167,35,798,32,5451,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,78,2981,35,798,32,5451, - 3619,27,30,31,720,670,26,28,1534,25, - 23,50,1549,106,76,77,104,3167,35,798, - 32,5451,3619,27,30,31,720,670,26,28, - 1534,25,23,50,1549,106,76,77,110,3167, - 35,798,32,5451,3619,27,30,31,720,670, - 26,28,1534,25,23,50,1549,106,76,77, - 109,3167,35,798,32,5451,3619,27,30,31, - 720,670,26,28,1534,25,23,50,1549,106, - 76,77,107,3167,35,798,32,2101,3619,27, - 30,31,720,670,26,28,1534,25,23,50, - 1549,106,76,77,105,1791,2273,5451,2101,2928, - 535,1592,5451,5451,5451,2101,2090,1392,2122,3501, - 2928,2928,1142,5451,1231,5451,5451,228,3905,2101, - 5451,5451,5451,1231,5451,5451,156,5451,2400,228, - 3608,5451,5451,5451,180,3339,2296,55,160,5451, - 1142,205,215,4682,204,212,213,214,216,5451, - 5451,54,222,205,215,4682,204,212,213,214, - 216,193,195,3314,2122,2139,156,1592,1142,2928, - 206,208,210,294,295,162,565,2101,5451,519, - 207,209,206,208,210,294,295,228,565,2101, - 2101,218,207,209,160,214,5451,505,2196,1142, - 4023,335,5451,5451,2268,4315,2226,5451,2928,4333, - 2928,205,215,4682,204,212,213,214,216,5451, - 5451,101,3533,2313,5451,156,2400,2928,228,3314, - 529,5451,5451,5451,3736,5451,5451,5451,502,504, - 206,208,210,294,295,228,565,5451,5451,520, - 207,209,205,215,4682,204,212,213,214,216, - 5451,4329,588,35,664,388,4024,335,5451,205, - 215,4682,204,212,213,214,216,4777,196,1800, - 5451,206,208,210,294,295,5451,565,1833,5451, - 305,207,209,2465,5451,505,49,5451,206,208, - 210,294,295,5451,565,1035,736,499,207,209, - 2030,35,798,32,4400,3808,27,30,31,720, - 670,339,28,1747,35,798,32,3252,3590,27, - 30,31,720,670,339,28,502,504,3330,35, - 664,388,1080,3383,5451,5451,4498,5451,5451,5451, - 5451,238,5451,214,5451,5451,5451,2928,588,35, - 664,388,5451,5451,1080,5451,5451,5451,333,319, - 1321,321,273,315,856,343,5451,2784,5451,5451, - 5451,5451,319,1321,321,1182,314,856,5451,2928, - 2470,5451,49,5451,1015,35,664,388,3028,5451, - 232,1035,2871,5451,5451,3050,5451,228,1921,5451, - 2402,35,798,32,2425,3590,27,30,31,720, - 670,339,28,5451,5451,236,230,231,49,5451, - 96,1971,407,4620,5451,5451,274,1035,47,5451, - 5451,5451,5451,214,5451,1287,5451,2928,403,2928, - 2470,1180,5451,5451,5451,243,246,249,252,1174, - 408,409,410,294,295,343,565,228,1217,316, - 870,321,1561,35,798,32,2387,3590,27,30, - 31,720,670,339,28,214,5451,1317,3028,2928, - 5451,1971,407,4620,330,35,664,388,1927,5451, - 1177,35,664,388,5451,2122,214,343,5451,1142, - 1142,5451,330,35,664,388,2038,35,664,388, - 408,409,410,294,295,5451,565,5451,49,5451, - 3028,316,870,321,49,160,156,1035,47,5451, - 509,5451,5451,1035,47,4387,49,1317,411,413, - 49,573,5451,5451,5451,1035,47,3145,5451,1035, - 3158,1015,35,664,388,5451,5451,2543,1033,930, - 5451,535,1097,629,5451,4655,330,35,664,388, - 330,35,664,388,5451,5451,5451,5451,5451,343, - 5451,330,35,664,388,49,5451,156,330,35, - 664,388,4399,5451,1035,3184,188,5451,411,414, - 49,5451,4533,5451,49,5451,5451,214,2839,1035, - 47,535,214,1035,47,49,535,5451,5451,5451, - 1033,5451,49,2693,1035,47,214,3225,5451,343, - 535,1035,47,5451,343,5451,5451,156,3418,5451, - 5451,5451,156,5451,5451,3511,2999,5451,343,5451, - 214,3578,3028,5451,535,214,156,3028,5451,535, - 214,190,2998,5451,535,2999,2297,3296,5451,214, - 2928,3028,343,2928,214,214,5451,343,2928,2928, - 156,3627,343,5451,5451,156,5451,5451,343,188, - 156,343,5451,5451,188,4533,343,343,530,188, - 4533,5451,5451,5451,5451,4533,5451,5451,5451,5451, - 5451,3028,5451,5451,3028,5451,5451,5451,5451,3028, - 3028,533,5451,5451,507,5451,5451,5451,5451,3868, - 534,5451,5451,5451,5451,5451,5451,3889,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,3886,5451,5451,5451,5451,3907, - 5451,5451,5451,5451,3911,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,4408,5451,0,501,4305,0, - 1,229,0,39,5466,0,39,5465,0,1, - 2516,0,943,1,0,39,1,5466,0,39, - 1,5465,0,1,2989,0,1,739,0,229, - 219,0,283,394,0,283,286,0,5685,241, - 0,5684,241,0,5789,241,0,5788,241,0, - 5712,241,0,5711,241,0,5710,241,0,5709, - 241,0,5708,241,0,5707,241,0,5706,241, - 0,5705,241,0,5723,241,0,5722,241,0, - 5721,241,0,5720,241,0,5719,241,0,5718, - 241,0,5717,241,0,5716,241,0,5715,241, - 0,5714,241,0,5713,241,0,39,241,5466, - 0,39,241,5465,0,5489,241,0,1172,387, - 0,5466,48,0,5465,48,0,1,331,0, - 38,739,0,38,5466,0,38,5465,0,454, - 1532,0,440,1575,0,1172,29,0,5463,1, - 0,1622,318,0,1,444,0,458,649,0, - 457,2048,0,35,33,0,47,37,0,229, - 220,0,501,1358,0,5489,1,229,0,39, - 1,229,0,229,416,0,1,2052,0,1, - 5723,0,1,5722,0,1,5721,0,1,5720, - 0,1,5719,0,1,5718,0,1,5717,0, - 1,5716,0,1,5715,0,1,5714,0,1, - 5713,0,5466,37,0,5465,37,0,43,5487, - 0,43,37,0,5463,383,0,5462,383,0, - 1,2474,0,1,2607,0,5461,405,0,5460, - 405,0,229,415,0,2762,126,0,5459,1, - 0,331,445,0,5457,1,0,5456,1,0, - 2179,91,0,32,34,0,39,739,0,5487, - 45,0,37,45,0,1,229,2305,0,5460, - 229,0,2322,229,0,5489,1,0,39,1, - 0,237,910,0,388,32,0,387,29,0, - 2762,128,0,2762,127,0,2700,229,0,10, - 12,0,1,92,0,8,10,12,0,5466, - 2,37,0,5465,2,37,0,5466,36,0, - 5465,36,0,3111,383,0,331,95,0,35, - 73,0,8,12,0,278,4318,0,185,3478, - 0 + 79,79,173,173,132,132,133,133,133,133, + 133,133,3,134,134,131,131,112,112,83, + 76,74,161,161,113,113,197,197,197,135, + 135,125,125,198,198,1119,35,2823,2821,2048, + 4677,27,30,31,874,823,26,28,2798,25, + 23,50,1793,106,76,77,108,1102,1800,1834, + 1826,1876,1842,1918,1884,403,1960,242,1926,273, + 1968,2002,143,403,1456,158,144,1506,35,982, + 32,3535,3563,27,30,31,874,823,338,28, + 760,35,282,1576,35,982,32,232,4701,27, + 30,31,874,823,57,28,155,35,279,350, + 1231,2950,1177,35,396,588,35,798,388,328, + 235,230,231,155,35,453,1439,2208,4671,1231, + 1458,274,760,35,798,388,318,1139,320,1866, + 313,1137,667,760,35,798,388,3783,221,49, + 242,245,248,251,630,351,1360,1329,1363,1310, + 1365,2436,35,277,322,639,49,302,343,1624, + 1302,348,643,1329,531,46,2594,273,3082,1180, + 2618,718,3595,730,2090,2843,2991,4373,2377,35, + 982,32,2870,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 342,1800,1834,1826,1876,1842,1918,1884,300,1960, + 2711,1926,4563,1968,2002,143,3777,1490,517,144, + 1247,332,61,1042,760,1540,1506,34,2047,275, + 1959,35,277,518,2377,35,982,32,2870,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,342,1800,1834,1826, + 1876,1842,1918,1884,2311,1960,1231,1926,2870,1968, + 2002,143,914,941,517,144,499,35,279,1042, + 1517,4788,232,446,2091,2124,2427,2492,758,518, + 513,1712,35,982,32,2082,4701,27,30,31, + 874,823,56,28,301,244,230,231,4580,1608, + 1428,1224,2048,1569,2377,35,982,32,2870,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,342,1800,1834,1826, + 1876,1842,1918,1884,69,1960,513,1926,2001,1968, + 2002,143,1868,360,517,144,760,3090,1866,1042, + 760,35,1751,1667,1789,2210,1866,1708,2048,518, + 2653,35,982,32,2870,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,342,1800,1834,1826,1876,1842,1918,1884, + 1261,1960,2174,1926,667,1968,2002,143,1784,4420, + 517,144,311,2748,3430,1042,760,35,1506,276, + 300,330,1294,293,688,518,513,760,35,293, + 60,667,1443,35,982,32,4592,4833,27,30, + 31,874,823,26,28,2257,511,214,2048,667, + 2720,35,982,32,4650,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,2119,1800,1834,1826,1876,1842,1918,1884, + 2509,1960,514,1926,1224,1968,2002,143,2444,2441, + 378,144,2160,2446,35,982,32,959,3846,27, + 30,31,874,823,26,28,1792,25,23,50, + 1793,106,76,77,108,1515,1800,1834,1826,1876, + 1842,1918,1884,914,1960,957,1926,820,1968,2002, + 143,776,2117,378,144,2160,3217,1349,2860,35, + 982,32,876,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 1750,1800,1834,1826,1876,1842,1918,1884,1122,1960, + 2101,1926,1954,1968,2126,164,4471,385,379,1276, + 3167,35,982,32,2136,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,629,1800,1834,1826,1876,1842,1918,1884, + 351,1960,1866,1926,1742,1968,2126,164,498,326, + 386,379,1276,343,1624,1302,348,1471,2422,1491, + 1943,341,2518,35,982,32,3292,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,1910,1800,1834,1826,1876,1842, + 1918,1884,300,1960,4363,1926,2003,1968,2002,143, + 423,421,378,144,2160,2918,35,982,32,443, + 3846,27,30,31,874,823,26,28,1792,25, + 23,50,1793,106,76,77,108,389,1800,1834, + 1826,1876,1842,1918,1884,323,1960,324,1926,300, + 1968,2002,143,1185,1866,158,144,2918,35,982, + 32,1492,3846,27,30,31,874,823,26,28, + 1792,25,23,50,1793,106,76,77,108,1786, + 1800,1834,1826,1876,1842,1918,1884,403,1960,933, + 1926,2201,1968,2002,143,2743,2036,372,144,376, + 379,1276,2918,35,982,32,1866,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,59,1800,1834,1826,1876,1842, + 1918,1884,2301,1960,933,1926,1240,1968,2002,143, + 1613,2174,372,144,1244,35,982,32,2917,4833, + 27,30,31,874,823,59,28,988,182,2101, + 2618,2918,35,982,32,1231,3846,27,30,31, + 874,823,26,28,1792,25,23,50,1793,106, + 76,77,108,371,1800,1834,1826,1876,1842,1918, + 1884,321,1960,839,1926,675,1968,2002,143,390, + 427,372,144,298,760,2531,2586,35,982,32, + 352,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,370,1800, + 1834,1826,1876,1842,1918,1884,438,1960,1866,1926, + 2183,1968,2002,143,391,427,142,144,2918,35, + 982,32,1582,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 523,1800,1834,1826,1876,1842,1918,1884,404,1960, + 1261,1926,300,1968,2002,143,1185,368,155,144, + 2918,35,982,32,525,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,3382,1800,1834,1826,1876,1842,1918,1884, + 1229,1960,1668,1926,288,1968,2002,143,2224,3208, + 154,144,2918,35,982,32,2217,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,1954,1800,1834,1826,1876,1842, + 1918,1884,1603,1960,447,1926,2442,1968,2002,143, + 1432,386,153,144,2918,35,982,32,414,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,847,1800,1834,1826, + 1876,1842,1918,1884,300,1960,1866,1926,744,1968, + 2002,143,760,3843,152,144,2918,35,982,32, + 2299,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,1787,1800, + 1834,1826,1876,1842,1918,1884,300,1960,1261,1926, + 824,1968,2002,143,1707,1097,151,144,2918,35, + 982,32,524,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 1952,1800,1834,1826,1876,1842,1918,1884,300,1960, + 2101,1926,3092,1968,2002,143,409,386,150,144, + 2918,35,982,32,1826,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,497,1800,1834,1826,1876,1842,1918,1884, + 300,1960,353,1926,3247,1968,2002,143,2350,93, + 149,144,2918,35,982,32,2411,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,1994,1800,1834,1826,1876,1842, + 1918,1884,300,1960,2422,1926,4144,1968,2002,143, + 409,2306,148,144,2918,35,982,32,2487,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,2246,1800,1834,1826, + 1876,1842,1918,1884,300,1960,2101,1926,4154,1968, + 2002,143,2009,2512,147,144,2918,35,982,32, + 413,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,377,1800, + 1834,1826,1876,1842,1918,1884,2098,1960,381,1926, + 667,1968,2002,143,323,4655,146,144,2918,35, + 982,32,1516,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 2485,1800,1834,1826,1876,1842,1918,1884,300,1960, + 2101,1926,3111,1968,2002,143,1252,1943,145,144, + 2918,35,982,32,65,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,2920,1800,1834,1826,1876,1842,1918,1884, + 300,1960,380,1926,4212,1968,2002,143,231,1943, + 159,144,2918,35,982,32,833,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,303,1800,1834,1826,1876,1842, + 1918,1884,300,1960,1866,1926,1259,1968,2002,143, + 1745,42,140,144,3046,35,982,32,317,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,295,1800,1834,1826, + 1876,1842,1918,1884,300,1960,1261,1926,1304,1968, + 2002,143,1255,675,189,144,3167,35,982,32, + 375,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,1231,1800, + 1834,1826,1876,1842,1918,1884,300,1960,2283,1926, + 3134,1968,2126,164,3167,35,982,32,1952,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,297,1800,1834,1826, + 1876,1842,1918,1884,522,1960,402,1926,1827,1968, + 2126,164,760,35,1506,278,760,35,1506,281, + 1352,2029,3167,35,982,32,292,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,373,1800,1834,1826,1876,1842, + 1918,1884,1327,1960,2203,1926,1387,1968,2126,164, + 3167,35,982,32,3841,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,232,1800,1834,1826,1876,1842,1918,1884, + 300,1960,4126,1926,2771,1968,2126,164,760,35, + 1506,3881,447,42,145,247,230,231,3225,35, + 982,32,422,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 1231,1800,1834,1826,1876,1842,1918,1884,300,1960, + 2216,1926,2845,1968,2126,164,3167,35,982,32, + 425,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,179,1800, + 1834,1826,1876,1842,1918,1884,300,1960,403,1926, + 2296,3601,1721,35,982,32,1231,2348,41,30, + 31,874,823,1103,3167,35,982,32,3727,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,522,1800,1834,1826, + 1876,1842,1918,1884,198,1960,933,3585,3167,35, + 982,32,3268,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,108, + 2101,1800,1834,1826,1876,1842,1918,1884,2748,3511, + 3167,35,982,32,2443,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,4100,1800,1834,1826,1876,1842,1918,3567, + 1734,35,982,32,2441,4586,27,30,31,874, + 823,338,28,3167,35,982,32,1231,3846,27, + 30,31,874,823,26,28,1792,25,23,50, + 1793,106,76,77,108,1349,1800,1834,1826,1876, + 1842,3406,1924,35,982,32,393,427,1335,30, + 31,874,823,2101,1490,197,1349,933,331,318, + 1139,320,1349,313,1137,1160,2127,1258,35,982, + 32,3455,3563,27,30,31,874,823,338,28, + 312,237,237,1838,237,24,3082,3082,4266,3082, + 1480,35,2746,32,2441,4586,27,30,31,874, + 823,338,28,2402,35,982,32,2450,3563,27, + 30,31,874,823,338,28,460,1231,760,35, + 798,388,305,309,738,300,318,1139,320,2417, + 313,1137,760,35,3885,1490,1490,459,1490,331, + 3394,403,331,325,1490,351,610,2666,331,318, + 1139,320,452,313,1137,406,1266,1422,343,1624, + 1302,348,315,1025,320,2505,2620,392,427,4297, + 990,575,673,2279,3167,35,982,32,4266,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,108,523,1800,1834,1826, + 1876,3457,3167,35,982,32,1550,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,94,1800,1834,1826,1876,3505, + 3167,35,982,32,2101,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,108,365,1800,2835,417,419,2745,2300,1922, + 1942,656,1244,35,982,32,349,4833,27,30, + 31,874,823,58,28,3167,35,982,32,2038, + 3846,27,30,31,874,823,26,28,1792,25, + 23,50,1793,106,76,77,108,2683,1800,1834, + 1826,3115,3167,35,982,32,2362,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,108,2760,1800,1834,1826,3150,3167, + 35,982,32,2742,3846,27,30,31,874,823, + 26,28,1792,25,23,50,1793,106,76,77, + 108,2366,1800,1834,1826,3256,3167,35,982,32, + 1943,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,108,1922,1800, + 1834,1826,3326,259,2371,1534,1955,535,1924,35, + 982,32,2491,2504,40,30,31,874,823,667, + 1924,35,982,32,4783,228,2477,30,31,874, + 823,1943,2511,156,2122,1959,35,280,1185,2090, + 1,180,2200,2870,535,1261,2514,284,2048,203, + 215,3184,202,212,213,214,216,2693,2507,169, + 3922,2427,228,2748,160,760,35,798,388,168, + 156,183,167,170,171,172,173,174,180,2200, + 1867,3459,1261,3385,2870,3082,203,215,3184,202, + 212,213,214,216,88,581,169,102,382,273, + 2086,753,2427,1567,2101,1592,168,181,184,167, + 170,171,172,173,174,1472,35,982,32,3455, + 3563,27,30,31,874,823,338,28,505,3214, + 3283,35,798,388,1490,615,69,1234,331,3167, + 35,982,32,237,3846,27,30,31,874,823, + 26,28,1792,25,23,50,1793,106,76,77, + 108,339,1800,2841,273,232,300,3506,4157,359, + 1961,503,504,355,318,1139,320,300,313,1137, + 300,960,2780,531,3581,3335,2425,2426,250,230, + 231,1345,232,351,2270,526,155,35,453,4737, + 300,4671,327,334,4383,1653,343,1624,1302,348, + 760,35,798,388,527,235,230,231,760,35, + 798,388,3167,35,982,32,274,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,85,49,242,245,248,251,630, + 667,1602,431,1363,740,4759,3109,35,982,32, + 639,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,86,76,77,3595,730,2090, + 2843,2991,4373,3167,35,982,32,1943,3846,27, + 30,31,874,823,26,28,1792,25,23,50, + 1793,106,76,77,108,70,1800,1834,3334,3167, + 35,982,32,232,3846,27,30,31,874,823, + 26,28,1792,25,23,50,1793,106,76,77, + 108,345,1800,1834,3384,535,253,230,231,760, + 35,293,760,35,798,388,2293,35,1506,276, + 1231,300,1840,228,294,4751,2870,330,35,293, + 1755,156,760,35,798,388,450,2091,2124,180, + 2200,1571,2531,1261,2427,1377,49,203,215,3184, + 202,212,213,214,216,1363,1257,169,201,760, + 35,798,388,2683,1571,2531,434,168,2262,3842, + 167,170,171,172,173,174,1856,35,982,32, + 1828,4586,27,30,31,874,823,338,28,3167, + 35,982,32,433,3846,27,30,31,874,823, + 26,28,1792,25,23,50,1793,106,76,77, + 108,359,2877,2028,1561,35,982,32,2360,3563, + 27,30,31,874,823,338,28,1870,2425,2426, + 1490,957,2101,2168,332,318,1139,320,667,314, + 1137,431,2122,4767,2101,535,1185,237,876,1177, + 35,396,3082,2101,351,760,3923,1506,74,1349, + 1914,287,1349,228,68,4722,1943,345,1624,1302, + 348,156,160,315,1025,320,53,2090,517,180, + 2200,2870,535,1261,287,87,1958,203,215,3184, + 202,212,213,214,216,2720,2533,169,300,2427, + 228,1490,3794,3309,2492,331,3922,168,156,178, + 167,170,171,172,173,174,180,2200,3236,2533, + 1261,2101,1864,1231,203,215,3184,202,212,213, + 214,216,603,285,169,4157,535,3291,2273,2742, + 4122,300,1185,51,168,2870,176,167,170,171, + 172,173,174,52,228,2041,2020,2744,2101,2820, + 2934,199,156,342,2175,2101,505,2359,156,689, + 180,2200,656,535,1261,1231,200,3293,203,215, + 3184,202,212,213,214,216,1042,350,169,1666, + 451,228,760,35,798,388,2752,3510,168,156, + 177,167,170,171,172,173,174,180,2200,502, + 504,1261,2101,3743,2179,203,215,3184,202,212, + 213,214,216,775,1833,169,432,535,429,3082, + 300,2101,2748,351,2657,168,489,187,167,170, + 171,172,173,174,90,228,343,1624,1302,348, + 2516,2122,3750,156,2594,1185,2293,35,1506,3950, + 300,180,2200,3520,2173,1261,1177,35,396,203, + 215,3184,202,212,213,214,216,1345,1490,169, + 89,160,3394,102,300,237,2087,2118,539,168, + 3082,4060,167,170,171,172,173,174,2471,35, + 982,32,2441,3563,27,30,31,874,823,338, + 28,3167,35,982,32,2101,3846,27,30,31, + 874,823,26,28,1792,25,23,50,1793,106, + 76,77,108,861,2945,2124,1592,535,300,1490, + 300,2023,1185,331,4282,300,3328,3594,300,2870, + 300,2748,3468,2094,4369,228,2101,318,1139,320, + 2101,313,1137,156,2220,1867,96,342,156,2870, + 3082,180,2200,3146,4082,1261,2101,3232,312,203, + 215,3184,202,212,213,214,216,2427,3339,169, + 1042,71,3393,588,35,798,388,2548,3506,168, + 2753,192,167,170,171,172,173,174,3503,2101, + 947,1592,2122,2101,535,2485,1185,2468,632,1490, + 305,309,738,331,300,1746,2282,49,3133,632, + 2855,1272,228,333,334,300,1363,2263,239,1185, + 156,67,160,2101,3637,66,2470,1033,180,2200, + 2805,535,1261,3146,359,1422,203,215,3184,202, + 212,213,214,216,300,156,169,1231,2788,228, + 3335,2425,2426,3506,3587,65,168,156,186,167, + 170,171,172,173,174,180,2200,232,2546,1261, + 42,2078,2048,203,215,3184,202,212,213,214, + 216,44,2078,169,87,222,1349,3850,3454,334, + 240,230,231,168,2608,194,167,170,171,172, + 173,174,1747,35,982,32,2441,3563,27,30, + 31,874,823,338,28,3167,35,982,32,2609, + 3846,27,30,31,874,823,26,28,1792,25, + 23,50,1793,106,76,77,108,1349,3100,1781, + 35,2746,32,2441,3563,27,30,31,874,823, + 338,28,2101,2296,300,2610,2616,1185,3662,2101, + 2577,318,1139,320,1670,313,1137,97,2870,1747, + 35,982,32,2441,3563,27,30,31,874,823, + 338,28,312,156,64,2646,228,760,35,1506, + 4038,1408,162,1015,35,798,388,354,318,1139, + 320,2675,313,1137,1592,300,2101,531,2676,1185, + 205,215,3184,204,212,213,214,216,98,990, + 760,35,798,388,306,309,738,49,318,1139, + 320,2677,313,1137,1231,156,1363,47,1576,206, + 208,210,2681,574,3579,173,217,207,209,1329, + 937,2614,2506,2625,49,2137,1217,35,798,388, + 2101,2101,2101,1363,2619,13,3506,4366,3167,1540, + 982,2566,193,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,84, + 49,2682,55,54,3824,2711,2636,2101,2101,1363, + 2738,329,334,2713,418,419,2745,3167,35,982, + 32,1388,3846,27,30,31,874,823,26,28, + 1792,25,23,50,1793,106,76,77,83,101, + 3617,3888,2687,2645,3167,35,982,32,557,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,82,3167,35,982,32, + 2750,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,81,3167,35, + 982,32,2692,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,80, + 3167,35,982,32,2297,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,79,3167,35,982,32,2783,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,78,2981,35,982,32,2788,3846, + 27,30,31,874,823,26,28,1792,25,23, + 50,1793,106,76,77,104,3167,35,982,32, + 2005,3846,27,30,31,874,823,26,28,1792, + 25,23,50,1793,106,76,77,110,3167,35, + 982,32,2753,3846,27,30,31,874,823,26, + 28,1792,25,23,50,1793,106,76,77,109, + 3167,35,982,32,5330,3846,27,30,31,874, + 823,26,28,1792,25,23,50,1793,106,76, + 77,107,3167,35,982,32,1866,3846,27,30, + 31,874,823,26,28,1792,25,23,50,1793, + 106,76,77,105,1878,300,1914,2196,2870,1185, + 5330,4722,5330,5330,1965,5330,5330,1944,2870,5330, + 5330,5330,3082,300,5330,2627,228,2870,1261,2870, + 5330,5330,5330,5330,5330,156,228,300,5330,529, + 5330,2870,375,5330,3583,342,5330,342,5330,5330, + 205,215,3184,204,212,213,214,216,5330,342, + 205,215,3184,204,212,213,214,216,1042,5330, + 3596,1490,2052,300,5330,332,2870,1185,2772,206, + 208,210,1042,574,5330,5330,217,207,209,206, + 208,210,2786,574,228,351,217,207,209,5330, + 300,5330,5330,156,1185,1877,2934,4366,345,1624, + 1302,348,3613,5330,5330,1919,5330,4366,205,215, + 3184,204,212,213,214,216,2030,35,982,32, + 156,4586,27,30,31,874,823,338,28,3742, + 300,5330,1592,5330,1185,5330,2906,206,208,210, + 5330,574,5330,5330,217,207,209,2030,35,982, + 32,5330,4586,27,30,31,874,823,338,28, + 156,5330,5330,3027,430,4366,5330,5330,5330,3676, + 1490,5330,5330,5330,332,318,1139,320,5330,316, + 1137,1747,35,982,32,2441,3563,27,30,31, + 874,823,338,28,3506,5330,5330,5330,5330,5330, + 1791,1490,5330,5330,2870,332,318,1139,320,5330, + 314,1137,3796,2541,5330,5330,1392,2870,5330,1592, + 2870,5330,228,3330,35,798,388,5330,615,3634, + 334,5330,5330,2268,5330,342,238,2870,228,5330, + 318,1139,320,5330,313,1137,205,215,3184,204, + 212,213,214,216,5330,2427,2122,273,1532,5330, + 1185,3972,205,215,3184,204,212,213,214,216, + 1018,35,798,388,5330,206,208,210,5330,574, + 5330,3506,519,207,209,232,160,5330,5330,5330, + 2273,206,208,210,535,574,5330,5330,218,207, + 209,5330,5330,5330,49,5330,5330,5330,236,230, + 231,2139,3518,1363,47,2870,3744,334,5330,274, + 156,2226,505,5330,5330,2870,5330,2402,180,2200, + 5330,5330,2313,228,5330,5330,2870,5330,243,246, + 249,252,630,228,5330,2122,5330,5330,5330,1185, + 5330,3851,5330,639,228,5330,195,205,215,3184, + 204,212,213,214,216,502,504,205,215,3184, + 204,212,213,214,216,160,5330,5330,205,215, + 3184,204,212,213,214,216,206,208,210,3400, + 574,5330,5330,520,207,209,206,208,210,5330, + 574,5330,5330,304,207,209,3845,206,208,210, + 5330,574,5330,1182,499,207,209,2870,3810,1287, + 5330,5330,5330,2870,3810,5330,5330,5330,5330,5330, + 1177,35,1548,1625,5330,228,588,35,798,388, + 3887,228,1018,35,798,388,5330,5330,5330,929, + 35,798,388,5330,5330,5330,5330,5330,5330,1410, + 407,2463,5330,5330,49,1410,407,2463,5330,5330, + 49,4661,196,1363,870,5330,49,5330,5330,1363, + 858,5330,5330,273,5330,1363,47,300,408,409, + 410,535,574,2805,408,409,410,5330,574,2775, + 588,35,798,388,5330,1353,35,798,388,342, + 5330,2543,5330,1566,2302,535,5330,156,2870,1566, + 5330,588,35,798,388,5330,2413,2038,35,798, + 388,5330,1042,342,49,5330,342,5330,1541,49, + 5330,156,2320,1363,47,3886,530,5330,1363,47, + 188,1018,35,798,388,49,4331,590,5330,1042, + 5330,49,3079,72,1363,47,5330,5330,5330,533, + 1363,3337,588,35,798,388,411,413,2478,5330, + 5330,5330,411,414,643,49,5330,588,35,798, + 388,5330,2743,5330,1363,3456,2870,5330,5330,5330, + 1140,1840,5330,4569,5330,2870,49,5330,4599,588, + 35,798,388,190,342,1363,47,588,35,798, + 388,49,5330,2427,300,5330,5330,5330,535,2958, + 1363,47,5330,760,35,798,388,994,760,35, + 798,388,5330,49,3102,5330,342,5330,5330,5330, + 5330,49,1363,47,156,5330,5330,5330,300,5330, + 1363,47,535,3202,5330,5330,3129,49,5330,1042, + 5330,300,49,5330,3362,535,1363,3138,5330,2844, + 342,1363,661,760,35,798,388,5330,156,5330, + 359,3345,300,342,5330,5330,535,2413,300,5330, + 5330,156,2870,1042,5330,300,3401,2425,2426,1185, + 188,300,4147,3223,342,535,4331,49,5330,5330, + 342,5330,156,5330,300,300,1363,2738,2870,2870, + 300,188,5330,342,2870,156,5330,4331,5330,5330, + 5330,156,5330,1042,3852,5330,342,342,5330,5330, + 188,5330,342,509,5330,5330,4331,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,1042, + 1042,5330,5330,3526,5330,1042,5330,5330,5330,507, + 3485,5330,5330,5330,5330,534,442,5330,456,5330, + 5330,5330,5330,5330,3530,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,3546,5330,0,501,4350,0,1, + 229,0,39,5345,0,39,5344,0,1,3759, + 0,2252,1,0,39,1,5345,0,39,1, + 5344,0,1,4742,0,1,734,0,229,219, + 0,283,394,0,283,286,0,5564,241,0, + 5563,241,0,5667,241,0,5666,241,0,5591, + 241,0,5590,241,0,5589,241,0,5588,241, + 0,5587,241,0,5586,241,0,5585,241,0, + 5584,241,0,5602,241,0,5601,241,0,5600, + 241,0,5599,241,0,5598,241,0,5597,241, + 0,5596,241,0,5595,241,0,5594,241,0, + 5593,241,0,5592,241,0,39,241,5345,0, + 39,241,5344,0,5368,241,0,930,387,0, + 5345,48,0,5344,48,0,1,330,0,38, + 734,0,38,5345,0,38,5344,0,454,1574, + 0,440,1616,0,930,29,0,5342,1,0, + 1658,317,0,1,444,0,458,2395,0,457, + 2416,0,35,33,0,47,37,0,501,1590, + 0,5368,1,229,0,39,1,229,0,229, + 416,0,1,2759,0,1,5602,0,1,5601, + 0,1,5600,0,1,5599,0,1,5598,0, + 1,5597,0,1,5596,0,1,5595,0,1, + 5594,0,1,5593,0,1,5592,0,5345,37, + 0,5344,37,0,43,5366,0,43,37,0, + 5342,383,0,5341,383,0,1,612,0,1, + 3219,0,229,220,0,5340,405,0,5339,405, + 0,229,415,0,2689,126,0,5338,1,0, + 330,445,0,5336,1,0,5335,1,0,1452, + 91,0,32,34,0,39,734,0,5366,45, + 0,37,45,0,1,229,3658,0,5339,229, + 0,3674,229,0,5368,1,0,39,1,0, + 237,2774,0,388,32,0,387,29,0,2689, + 128,0,2689,127,0,3835,229,0,10,12, + 0,1,92,0,8,10,12,0,5345,2, + 37,0,5344,2,37,0,5345,36,0,5344, + 36,0,3994,383,0,330,95,0,35,73, + 0,8,12,0,278,3582,0,185,3580,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1339,60 +1314,60 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 41,0,1,2,39,70,41,0,73,0, 45,71,0,4,58,50,0,10,0,54, 8,0,0,68,59,60,61,64,63,8, - 8,22,0,0,0,0,0,25,0,0, - 8,0,41,8,8,0,39,25,41,0, + 8,22,0,1,2,0,0,25,0,0, + 0,0,41,8,8,0,39,25,41,8, 0,86,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,0,70,0, - 3,39,70,41,73,0,58,45,0,1, - 2,68,50,71,70,64,54,58,73,73, - 0,59,60,61,69,63,0,1,2,3, + 0,39,70,41,73,0,58,45,0,1, + 2,0,50,58,64,0,54,71,73,70, + 0,59,60,61,73,63,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,86,41, 90,0,1,2,3,4,5,58,7,8, - 0,35,36,37,38,0,40,0,42,43, + 0,35,36,37,38,68,40,0,42,43, 44,0,46,47,48,49,25,51,52,53, - 0,55,56,57,0,0,1,2,62,69, - 0,65,66,9,68,0,1,2,3,4, + 69,55,56,57,69,0,1,2,62,69, + 0,65,66,3,68,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,58,0, 0,1,2,3,4,5,41,7,8,58, - 35,36,37,38,69,40,0,42,43,44, - 0,46,47,48,49,25,51,52,53,69, - 55,56,57,0,0,0,0,62,68,0, - 0,0,67,3,3,0,71,0,1,2, + 35,36,37,38,0,40,0,42,43,44, + 0,46,47,48,49,25,51,52,53,0, + 55,56,57,0,0,0,0,62,0,3, + 0,0,67,0,3,0,71,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,72, 0,72,0,3,58,0,0,0,37,38, - 8,0,35,36,37,38,0,40,68,42, + 8,0,35,36,37,38,9,40,68,42, 43,44,58,46,47,48,49,25,51,52, - 53,68,55,56,57,64,0,68,72,62, - 0,0,0,3,67,0,1,2,3,4, + 53,68,55,56,57,64,0,69,68,62, + 75,68,0,99,67,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, - 3,3,3,0,99,70,105,0,72,0, - 35,36,37,38,0,40,75,42,43,44, + 3,3,3,0,0,0,105,72,3,0, + 35,36,37,38,0,40,0,42,43,44, 119,46,47,48,49,0,51,52,53,4, - 55,56,57,0,0,0,3,62,3,0, + 55,56,57,0,0,0,70,62,3,0, 65,66,0,1,2,3,4,5,6,7, 0,9,10,11,12,13,14,15,16,17, 18,19,20,21,0,0,0,3,3,3, - 0,0,69,3,3,0,69,35,36,37, - 38,0,40,0,42,43,44,4,46,47, + 0,0,0,3,3,72,0,35,36,37, + 38,0,40,69,42,43,44,0,46,47, 48,49,58,51,52,53,0,55,56,57, - 0,0,0,64,62,3,0,65,66,0, + 0,0,0,3,62,3,90,65,66,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,3,3,3,5,6,64, - 90,9,0,0,35,36,37,38,0,40, + 21,0,0,0,3,3,64,5,6,0, + 64,9,0,4,35,36,37,38,0,40, 69,42,43,44,58,46,47,48,49,0, 51,52,53,0,55,56,57,35,36,37, - 38,62,0,0,42,3,67,0,0,0, - 0,0,40,0,0,0,0,0,0,0, + 38,62,0,40,42,3,67,0,0,0, + 3,0,0,0,0,0,0,0,0,0, 58,0,0,0,0,0,64,65,66,0, 68,69,70,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,87, + 0,69,0,0,0,0,0,0,0,87, 88,89,0,0,92,93,94,95,96,97, 98,99,100,101,0,0,0,105,0,107, 108,109,110,111,112,113,114,115,116,0, @@ -1476,360 +1451,360 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5451,5375,5090,5090,5090,5090,5090,5090,5406,5090, + 5330,5254,4969,4969,4969,4969,4969,4969,5285,4969, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5258,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5379,1,1,1,1, + 1,5330,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,35,1582, + 626,5505,1,567,131,1,1,5341,286,5004, + 5004,5337,283,2373,868,3746,2377,2044,2256,3616, + 3071,3745,866,3709,3308,3684,10,5288,5288,5288, + 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, + 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, + 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, + 5288,5288,5288,5288,5288,5288,5288,1830,5288,5288, + 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, + 5288,5288,5288,5288,5330,5288,5288,5288,5288,5288, + 2248,5288,5288,5288,5330,4975,4972,5288,5368,3832, + 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, + 5288,5288,8,5294,5294,5294,5294,5294,5294,5294, + 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, + 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, + 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, + 5294,5294,5294,296,5294,5294,5294,5294,5294,5294, + 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, + 129,5294,5294,5294,5294,5294,39,5294,5294,5294, + 5368,5330,330,5294,790,330,5294,5294,5294,5294, + 5294,5294,5294,5294,5294,5294,5294,5294,5330,5254, + 4969,4969,4969,4969,4969,4969,5261,4969,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5451,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,35,1540, - 718,5626,1,557,131,1,1,5462,286,5125, - 5125,5458,283,593,1393,2481,3628,2099,3485,2269, - 3103,2440,947,2439,2877,2355,10,5409,5409,5409, - 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409, - 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409, - 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409, - 5409,5409,5409,5409,5409,5409,5409,1794,5409,5409, - 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409, - 5409,5409,5409,5409,5451,5409,5409,5409,5409,5409, - 2703,5409,5409,5409,5451,5096,5093,5409,5489,2688, - 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409, - 5409,5409,8,5415,5415,5415,5415,5415,5415,5415, - 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415, - 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415, - 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415, - 5415,5415,5415,1,5415,5415,5415,5415,5415,5415, - 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415, - 129,5415,5415,5415,5415,5415,39,5415,5415,5415, - 5489,5451,331,5415,661,331,5415,5415,5415,5415, - 5415,5415,5415,5415,5415,5415,5415,5415,5451,5375, - 5090,5090,5090,5090,5090,5090,5382,5090,1,1, + 1,1,1,5258,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5379,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,395, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,137,1540,718,5626, - 1,557,115,1,1,5462,2610,2540,3999,5451, - 5214,5211,1393,2481,3628,2099,3485,2269,3103,2440, - 947,2439,2877,2355,5451,5375,5090,5090,5090,5090, - 5090,5090,5382,5090,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5379, + 1,1,1,1,1,1,137,1582,626,5505, + 1,567,115,1,1,5341,2562,2534,3705,296, + 5344,5345,868,3746,2377,2044,2256,3616,3071,3745, + 866,3709,3308,3684,5330,5254,4969,4969,4969,4969, + 4969,4969,5261,4969,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5258, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,331,1,1,1,1, + 1,1,1,1,1,395,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,384,1540,718,5626,1,557,5451,1, - 1,5462,111,396,3975,3951,2275,387,1393,2481, - 3628,2099,3485,2269,3103,2440,947,2439,2877,2355, - 5451,5375,5090,5090,5090,5090,5090,5090,5382,5090, + 1,1,330,1582,626,5505,1,567,384,1, + 1,5341,111,396,3481,3159,2264,387,868,3746, + 2377,2044,2256,3616,3071,3745,866,3709,3308,3684, + 5330,5254,4969,4969,4969,4969,4969,4969,5261,4969, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5379,1,1,1,1, + 1,1,1,1,1,5258,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1172,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,130,1540, - 718,5626,1,557,5451,1,1,5462,5451,5096, - 5093,4217,5489,4239,1393,2481,3628,2099,3485,2269, - 3103,2440,947,2439,2877,2355,5451,5375,5090,5090, - 5090,5090,5090,5090,5382,5090,1,1,1,1, + 1,930,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,130,1582, + 626,5505,1,567,5330,1,1,5341,5330,4975, + 4972,4056,5368,4078,868,3746,2377,2044,2256,3616, + 3071,3745,866,3709,3308,3684,5330,5254,4969,4969, + 4969,4969,4969,4969,5261,4969,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5379,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5451,1,1, + 1,5258,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5330,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,291,1540,718,5626,1,557, - 117,1,1,5462,2610,2540,3999,5451,5465,5466, - 1393,2481,3628,2099,3485,2269,3103,2440,947,2439, - 2877,2355,5451,5375,5090,5090,5090,5090,5090,5090, - 5382,5090,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5379,1,1, + 1,1,1,1,291,1582,626,5505,1,567, + 117,1,1,5341,2562,2534,3705,5330,5093,5090, + 868,3746,2377,2044,2256,3616,3071,3745,866,3709, + 3308,3684,5330,5254,4969,4969,4969,4969,4969,4969, + 5261,4969,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5258,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2061,1,1,1,1,1,1, + 1,1,1,2006,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5451,1540,718,5626,1,557,39,1,1,5462, - 5489,48,3975,3951,448,5466,1393,2481,3628,2099, - 3485,2269,3103,2440,947,2439,2877,2355,5451,5375, - 5090,5090,5090,5090,5090,5090,5382,5090,1,1, + 5330,1582,626,5505,1,567,39,1,1,5341, + 5368,48,3481,3159,448,5345,868,3746,2377,2044, + 2256,3616,3071,3745,866,3709,3308,3684,5330,5254, + 4969,4969,4969,4969,4969,4969,5261,4969,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5379,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5466, + 1,1,1,5258,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5345, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,646,1540,718,5626, - 1,557,116,1,1,5462,5451,387,3999,5451, - 6829,6657,1393,2481,3628,2099,3485,2269,3103,2440, - 947,2439,2877,2355,5451,5375,5090,5090,5090,5090, - 5090,5090,5382,5090,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5379, + 1,1,1,1,1,1,623,1582,626,5505, + 1,567,116,1,1,5341,5330,387,3705,5330, + 5344,5345,868,3746,2377,2044,2256,3616,3071,3745, + 866,3709,3308,3684,5330,5254,4969,4969,4969,4969, + 4969,4969,5261,4969,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5258, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5208,1,1,1,1, + 1,1,1,1,1,5087,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,135,1540,718,5626,1,557,5451,1, - 1,5462,2870,48,3975,3951,5451,5465,1393,2481, - 3628,2099,3485,2269,3103,2440,947,2439,2877,2355, - 5451,5375,5090,5090,5090,5090,5090,5090,5382,5090, + 1,1,135,1582,626,5505,1,567,5330,1, + 1,5341,3523,48,3481,3159,5330,5344,868,3746, + 2377,2044,2256,3616,3071,3745,866,3709,3308,3684, + 5330,5254,4969,4969,4969,4969,4969,4969,5261,4969, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5379,1,1,1,1, + 1,1,1,1,1,5258,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5465,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5852,1540, - 718,5626,1,557,5451,1,1,5462,5451,5465, - 5466,2325,428,2910,1393,2481,3628,2099,3485,2269, - 3103,2440,947,2439,2877,2355,5451,5375,5090,5090, - 5090,5090,5090,5090,5382,5090,1,1,1,1, + 1,5344,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5731,1582, + 626,5505,1,567,5330,1,1,5341,5330,5344, + 5345,2298,428,3225,868,3746,2377,2044,2256,3616, + 3071,3745,866,3709,3308,3684,5330,5254,4969,4969, + 4969,4969,4969,4969,5261,4969,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5379,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,375,1,1, + 1,5258,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,374,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,923,1540,718,5626,1,557, - 5451,1,1,5462,48,5214,5211,397,5465,5466, - 1393,2481,3628,2099,3485,2269,3103,2440,947,2439, - 2877,2355,5451,5375,5090,5090,5090,5090,5090,5090, - 5382,5090,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5379,1,1, + 1,1,1,1,3230,1582,626,5505,1,567, + 5330,1,1,5341,5330,6708,6536,48,5093,5090, + 868,3746,2377,2044,2256,3616,3071,3745,866,3709, + 3308,3684,5330,5254,4969,4969,4969,4969,4969,4969, + 5261,4969,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5258,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5451,1,1,1,1,1,1, + 1,1,1,5330,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5451,1540,718,5626,1,557,395,1,1,5462, - 388,5451,37,5256,5256,2688,1393,2481,3628,2099, - 3485,2269,3103,2440,947,2439,2877,2355,39,5096, - 5093,4827,943,4041,4107,2989,5451,4129,2843,5715, - 5713,5722,5721,5717,5718,5716,5719,5720,5723,5714, - 5711,5788,5789,5487,5705,5712,5708,5684,5710,5709, - 5706,5707,5685,4085,4063,4173,4151,5849,5470,358, - 3741,1450,1506,2664,5472,1491,3054,1499,5850,5473, - 5471,1403,5851,5467,5468,5469,5451,6829,6657,5451, - 1411,5451,5269,5269,229,5265,229,229,229,5273, + 5330,1582,626,5505,1,567,395,1,1,5341, + 388,5330,37,5135,5135,3832,868,3746,2377,2044, + 2256,3616,3071,3745,866,3709,3308,3684,39,4975, + 4972,4637,2252,3858,3946,4742,5330,3968,786,5594, + 5592,5601,5600,5596,5597,5595,5598,5599,5602,5593, + 5590,5666,5667,5366,5584,5591,5587,5563,5589,5588, + 5585,5586,5564,3924,3897,4012,3990,5728,5349,357, + 2962,1708,1758,854,5351,1716,2996,1744,5729,5352, + 5350,1674,5730,5346,5347,5348,397,5344,5345,5330, + 1376,5330,5145,5145,229,5141,229,229,229,5149, 229,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,229,1,1,1, - 1,1,1,1,1,1,5451,5465,5466,1042, - 1,5086,5262,444,1,1,1,1,5451,5244, - 5451,1,5244,114,2307,1,5451,2259,5461,439, - 3012,783,5863,5451,5096,5093,224,943,739,5808, - 2989,121,416,229,139,5460,5451,367,5109,5105, - 2638,5102,739,1,2989,5451,1,5951,5711,5788, - 5789,138,5705,5712,5708,5684,5710,5709,5706,5707, - 5685,4195,1052,5886,5887,5888,5451,5269,5269,229, - 5265,229,229,229,5342,229,1,1,1,1, + 1,1,1,1,1,1,5330,5344,5345,1082, + 1,4965,5138,444,1,1,1,1,5330,5123, + 5330,1,5123,114,573,1,5330,565,5340,439, + 3097,877,5742,5330,4975,4972,224,2252,734,5686, + 4742,121,416,229,139,5339,5330,366,4988,4984, + 577,4981,734,1,4742,5330,1,5830,5590,5666, + 5667,138,5584,5591,5587,5563,5589,5588,5585,5586, + 5564,4034,999,5765,5766,5767,5330,5145,5145,229, + 5141,229,229,229,5221,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,229,1,1,1,1,1,1,1,1, - 1,1371,4217,1889,4239,1,1223,5262,445,39, - 39,1,5489,4433,5351,3444,1,5351,2958,3081, - 1,5886,5887,5888,5451,3012,783,5863,5451,2910, - 5451,225,290,5465,5466,1185,5455,415,229,1, - 3536,1846,1803,1760,1717,1674,1631,1588,1545,1502, - 1459,2275,5951,5711,5788,5789,125,5705,5712,5708, - 5684,5710,5709,5706,5707,5685,139,5451,5886,5887, - 5888,5451,5090,5090,229,5090,229,229,229,5119, + 1,1048,4056,1838,4078,1,1227,5138,445,39, + 39,1,5368,4482,5230,2779,1,5230,3023,3049, + 1,5765,5766,5767,5330,3097,877,5742,5330,3225, + 5330,225,5330,6708,6536,2216,5334,415,229,1, + 3605,1796,1754,1712,1670,1628,1586,1544,1502,1460, + 1418,2264,5830,5590,5666,5667,125,5584,5591,5587, + 5563,5589,5588,5585,5586,5564,139,5330,5765,5766, + 5767,5330,4969,4969,229,4969,229,229,229,4998, 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8738, - 1,1,1,1,1,1,3635,5451,5465,5466, - 1,33,5087,1215,5253,5463,1,5253,301,5253, - 5253,1,5451,5096,5093,1,943,739,5751,2989, - 2834,718,5662,5451,557,5451,5253,394,5122,5122, - 5451,283,219,2958,3081,5454,5253,5253,5253,5253, - 320,1,5109,5105,2638,5102,739,5951,2989,5451, - 5109,5105,2516,5102,739,5217,2989,1185,5217,5253, - 318,5451,3536,5241,5462,5253,912,645,283,5253, - 5253,5253,5253,5253,5253,1,5109,5105,2638,5102, - 739,219,2989,5354,5451,126,5451,1622,5253,5253, - 5253,5253,5253,5253,5253,5253,5253,5253,5253,5253, - 5253,5253,5253,5451,1371,1371,5253,5253,5253,5253, - 5253,5253,5253,5253,5253,5253,5253,5253,5253,5451, - 5253,1048,5363,5451,1371,5363,2497,5363,5363,4375, - 1,5109,5105,5099,5102,5116,226,5113,454,1371, - 36,5430,5427,2789,5363,5451,5096,5093,5357,943, - 5366,308,2989,5345,5363,5363,5363,5363,5711,5788, - 5789,336,5705,5712,5708,5684,5710,5709,5706,5707, - 5685,227,92,1,1,2149,1,5363,5412,2735, - 2666,5412,47,5363,5788,5789,2594,5363,5363,5363, - 5363,5363,5363,5711,5788,5789,5229,5705,5712,5708, - 5684,5710,5709,5706,5707,5685,5363,5363,5363,5363, - 5363,5363,5363,5363,5363,5363,5363,5363,5363,5363, - 5363,3723,113,794,5363,5363,5363,5363,5363,5363, - 5363,5363,5363,5363,5363,5363,5363,458,5363,5451, - 5090,5090,229,5090,229,229,229,229,229,1, + 1,1,1,1,1,1,229,1,1,8608, + 1,1,1,1,1,1,3436,5330,5344,5345, + 1,33,4966,1172,5132,5342,1,5132,300,5132, + 5132,1,5330,4975,4972,1,2252,734,5629,4742, + 931,626,5541,5330,567,5330,5132,394,5001,5001, + 5330,283,219,3023,3049,5333,5132,5132,5132,5132, + 319,1,4988,4984,577,4981,734,5830,4742,5330, + 4988,4984,3759,4981,734,5096,4742,2216,5096,5132, + 317,5330,3605,5120,5341,5132,1094,642,283,5132, + 5132,5132,5132,5132,5132,1,4988,4984,577,4981, + 734,219,4742,5233,5330,126,5330,1658,5132,5132, + 5132,5132,5132,5132,5132,5132,5132,5132,5132,5132, + 5132,5132,5132,5330,1048,1048,5132,5132,5132,5132, + 5132,5132,5132,5132,5132,5132,5132,5132,5132,5330, + 5132,1090,5242,5330,1048,5242,1080,5242,5242,4461, + 1,4988,4984,4978,4981,4995,226,4992,454,1048, + 290,5344,5345,2716,5242,5330,4975,4972,5236,2252, + 5245,307,4742,5224,5242,5242,5242,5242,5590,5666, + 5667,335,5584,5591,5587,5563,5589,5588,5585,5586, + 5564,227,92,1,1,2092,1,5242,5291,2662, + 2635,5291,47,5242,5666,5667,1314,5242,5242,5242, + 5242,5242,5242,5590,5666,5667,5108,5584,5591,5587, + 5563,5589,5588,5585,5586,5564,5242,5242,5242,5242, + 5242,5242,5242,5242,5242,5242,5242,5242,5242,5242, + 5242,3692,113,926,5242,5242,5242,5242,5242,5242, + 5242,5242,5242,5242,5242,5242,5242,458,5242,5330, + 4969,4969,229,4969,229,229,229,229,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8738,1,1, - 1,1,1,1,5451,5451,347,301,1,3451, - 5087,5451,5096,5093,1,943,5366,5751,2989,1, - 38,5226,5223,1,5451,5220,5451,2989,2834,718, - 5662,5247,557,309,5109,5105,2516,5102,739,5217, - 2989,4217,5217,4239,133,223,1,5109,5105,2516, - 5102,739,2821,2989,112,5951,5715,5713,5722,5721, - 5717,5718,5716,5719,5720,5723,5714,5711,5788,5789, - 1371,5705,5712,5708,5684,5710,5709,5706,5707,5685, - 1,5109,5105,2516,5102,739,5451,2989,440,220, - 5451,5090,5090,229,5090,229,229,229,229,229, + 1,1,1,1,229,1,1,8608,1,1, + 1,1,1,1,5330,5330,346,300,1,3091, + 4966,5330,4975,4972,1,2252,5245,5629,4742,1, + 38,5105,5102,1,5330,5099,5330,4742,931,626, + 5541,5126,567,308,4988,4984,3759,4981,734,5096, + 4742,4056,5096,4078,133,223,1,4988,4984,3759, + 4981,734,2622,4742,112,5830,5594,5592,5601,5600, + 5596,5597,5595,5598,5599,5602,5593,5590,5666,5667, + 1048,5584,5591,5587,5563,5589,5588,5585,5586,5564, + 1,4988,4984,3759,4981,734,5330,4742,440,220, + 5330,4969,4969,229,4969,229,229,229,229,229, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8738,1, - 1,1,1,1,1,5451,5451,124,4832,1, - 3044,5087,95,39,39,1,5489,521,5436,1, - 1,5436,2357,4217,1,4239,5232,363,957,2834, - 718,5662,1048,557,5963,345,5096,5093,2638,943, - 739,331,2989,5451,331,5451,1,5388,5388,5451, - 5385,5459,331,5463,363,331,5951,5451,5090,5090, - 229,5090,229,229,229,5259,229,1,1,1, + 1,1,1,1,1,229,1,1,8608,1, + 1,1,1,1,1,5330,5330,124,4774,1, + 3534,4966,95,39,39,1,5368,521,5315,1, + 1,5315,2330,4056,1,4078,5111,362,1231,931, + 626,5541,1090,567,5842,344,4975,4972,577,2252, + 734,330,4742,5330,330,5330,1,5267,5267,5330, + 5264,5338,330,5342,362,330,5830,5330,4969,4969, + 229,4969,229,229,229,5212,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8738,1,1,1,1, - 1,1,363,39,2958,3081,1,5489,5087,1371, - 5451,37,1,5451,5465,5466,5451,1,739,363, - 2989,1,5462,1003,5458,854,2834,718,5662,363, - 557,370,5451,345,39,39,3286,5489,220,331, - 5459,515,331,1,29,2688,363,123,5451,5315, - 5312,5238,5487,5951,5451,5090,5090,229,5090,229, - 229,229,5259,229,1,1,1,1,1,1, + 1,1,229,1,1,8608,1,1,1,1, + 1,1,362,39,3023,3049,1,5368,4966,1048, + 5330,37,1,5330,5344,5345,5330,1,734,362, + 4742,1,5341,1003,5337,1306,931,626,5541,362, + 567,369,5330,344,39,39,3325,5368,220,330, + 5338,515,330,1,29,3832,362,123,5330,5191, + 5188,5117,5366,5830,5330,4969,4969,229,4969,229, + 229,229,5212,229,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,229, - 1,1,8738,1,1,1,1,1,1,5487, - 37,5256,5256,1,185,5087,331,1371,5451,1, - 1283,910,1172,5458,1,5886,5887,5888,1,122, - 5462,880,134,2834,718,5662,424,557,449,331, - 5096,5093,2516,943,739,220,2989,5451,5214,5211, - 1,5487,5451,3286,2958,3081,311,532,5354,2091, - 5951,5451,5090,5090,229,5090,229,229,229,5259, + 1,1,8608,1,1,1,1,1,1,5366, + 37,5135,5135,1,185,4966,330,1048,5330,1, + 1272,2774,930,5337,1,5765,5766,5767,1,122, + 5341,880,134,931,626,5541,424,567,449,330, + 4975,4972,3759,2252,734,220,4742,5330,5093,5090, + 1,5366,5330,3325,3023,3049,310,532,5233,1219, + 5830,5330,4969,4969,229,4969,229,229,229,5212, 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8738, - 1,1,1,1,1,1,37,5256,5256,1, - 1,5256,5087,43,5321,5321,1,118,2724,5330, - 5451,1,4195,1052,1371,1,2958,3081,5457,3139, - 2834,718,5662,5357,557,1093,1,128,29,3286, - 2357,1,220,127,341,5448,362,3236,5333,161, - 1807,5451,3696,3671,5318,5451,5451,5951,5451,5090, - 5090,229,5090,229,229,229,229,229,1,1, + 1,1,1,1,1,1,229,1,1,8608, + 1,1,1,1,1,1,37,5135,5135,1, + 1,5135,4966,43,5197,5197,1,118,2936,5206, + 5330,1,4034,999,1048,1,3023,3049,5336,4016, + 931,626,5541,5236,567,1142,1,128,29,3325, + 2330,1,220,127,340,5327,361,3426,5209,161, + 2525,5330,2879,2590,5194,5330,5330,5830,5330,4969, + 4969,229,4969,229,229,229,229,229,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,229,1,1,8738,1,1,1, - 1,1,1,5456,120,2789,5235,1,119,5087, - 1371,2789,405,1,341,5400,341,5451,1,341, - 5336,5403,1,1661,161,5451,640,2834,718,5662, - 1,557,5451,5457,2997,3813,3444,5339,5348,3696, - 3671,2735,2666,3696,3671,5451,5451,2735,2666,45, - 5372,5372,5451,457,5951,5451,5090,5090,229,5090, + 1,1,1,229,1,1,8608,1,1,1, + 1,1,1,5335,120,2716,5114,1,119,4966, + 1048,2716,405,1,340,5279,340,5330,1,340, + 5215,5282,1,1700,161,5330,774,931,626,5541, + 1,567,5330,5336,3901,3421,2779,5218,5227,2879, + 2590,2662,2635,2879,2590,5330,5330,2662,2635,45, + 5251,5251,5330,457,5830,5330,4969,4969,229,4969, 229,229,229,229,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8738,1,1,1,1,1,1, - 5369,5451,8692,8692,1,4895,5087,1,5456,39, - 1,5458,1,5489,1172,1,5451,5330,289,1, - 5461,1,5451,5906,2834,718,5662,5250,557,528, - 5461,3410,8,5451,157,1,1,5460,5451,5451, - 5442,348,5487,163,5457,368,5333,5460,1807,395, - 1,5951,5451,5090,5090,229,5090,229,229,229, + 229,1,1,8608,1,1,1,1,1,1, + 5248,5330,8571,8571,1,4880,4966,1,5335,39, + 1,5337,1,5368,930,1,5330,5206,289,1, + 5340,1,5330,5785,931,626,5541,5129,567,528, + 5340,2990,36,5309,5306,1,8,5339,5330,157, + 347,1,5366,163,5321,395,5209,5339,2525,5336, + 1,5830,5330,4969,4969,229,4969,229,229,229, 229,229,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,229,1,1, - 8738,1,1,1,1,1,1,91,876,5451, - 5360,1,3873,5087,528,5451,957,1,37,5256, - 5256,5892,1,5442,1932,1371,1,1172,163,5456, - 508,2834,718,5662,1328,557,1,5109,5105,4827, - 5102,4041,4107,2989,5451,4129,5276,5303,5309,5282, - 5285,5297,5294,5300,5291,5288,5279,5306,5951,2858, - 5810,1,5109,5105,5099,5102,5116,937,5113,5461, - 5451,4085,4063,4173,4151,506,5470,5451,3741,1450, - 1506,5451,5472,1491,3054,1499,5460,5473,5471,1403, - 420,5467,5468,5469,132,5451,5423,5419,1411,4695, - 5451,39,39,593,516,39,5096,5093,4827,943, - 4041,4107,2989,5433,4129,2052,5715,5713,5722,5721, - 5717,5718,5716,5719,5720,5723,5714,5451,3272,5451, - 1,5109,5105,2516,5102,739,5487,2989,309,4563, - 4085,4063,4173,4151,4889,5470,5451,3741,1450,1506, - 5451,5472,1491,3054,1499,309,5473,5471,1403,2187, - 5467,5468,5469,5451,5451,5451,5451,1411,2573,5451, - 237,75,5327,5391,3558,136,5458,39,5096,5093, - 4827,943,4041,4107,2989,5324,4129,2052,5715,5713, - 5722,5721,5717,5718,5716,5719,5720,5723,5714,1975, - 1,3140,1,4894,4653,426,5451,5451,5513,5514, - 191,5451,4085,4063,4173,4151,5451,5470,2574,3741, - 1450,1506,3449,5472,1491,3054,1499,191,5473,5471, - 1403,2582,5467,5468,5469,3291,5451,2583,3194,1411, - 5451,5451,5451,4870,5327,141,5096,5093,4827,943, - 4041,4107,2989,5451,4129,2052,5715,5713,5722,5721, - 5717,5718,5716,5719,5720,5723,5714,5451,5451,5451, - 4875,4306,4880,5451,2325,1087,803,5451,3231,5451, - 4085,4063,4173,4151,5451,5470,2991,3741,1450,1506, - 1266,5472,1491,3054,1499,5451,5473,5471,1403,2721, - 5467,5468,5469,5451,73,5451,3626,1411,3788,100, - 39,39,1,5109,5105,4827,5102,4041,4107,2989, - 1,4129,5276,5303,5309,5282,5285,5297,5294,5300, - 5291,5288,5279,5306,5451,5451,5451,3820,3908,3112, - 5451,5451,1794,4318,4374,99,2018,4085,4063,4173, - 4151,510,5470,5451,3741,1450,1506,3423,5472,1491, - 3054,1499,5439,5473,5471,1403,2,5467,5468,5469, - 5451,5451,5451,4405,1411,4716,5451,39,39,39, - 5096,5093,4827,943,4041,4107,2989,5324,4129,2052, - 5715,5713,5722,5721,5717,5718,5716,5719,5720,5723, - 5714,103,1,5451,4715,2793,4886,5920,5914,2237, - 4287,5918,1,5451,4085,4063,4173,4151,5451,5470, - 2309,3741,1450,1506,37,5472,1491,3054,1499,5451, - 5473,5471,1403,5451,5467,5468,5469,5912,5913,5943, - 5944,1411,278,5451,5921,5445,5327,5451,5451,5451, - 5451,5451,591,5451,5451,5451,5451,5451,5451,5451, - 5923,5451,5451,5451,5451,5451,643,1125,1207,5451, - 5924,5922,5945,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5934, - 5933,5946,5451,5451,5915,5916,5939,5940,5937,5938, - 5917,5919,5941,5942,5451,5451,5451,5947,5451,5927, - 5928,5929,5925,5926,5935,5936,5931,5930,5932,39, - 5096,5093,4827,943,4041,4107,2989,5455,4129,2052, - 5715,5713,5722,5721,5717,5718,5716,5719,5720,5723, - 5714,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,4085,4063,4173,4151,5451,5470, - 5451,3741,1450,1506,5451,5472,1491,3054,1499,5451, - 5473,5471,1403,5451,5467,5468,5469,39,5096,5093, - 4827,943,4041,4107,2989,5451,4129,2052,5715,5713, - 5722,5721,5717,5718,5716,5719,5720,5723,5714,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,4085,4063,4173,4151,5451,5470,5451,3741, - 1450,1506,5451,5472,1491,3054,1499,5451,5473,5471, - 1403,5451,5467,5468,5469,5451,5454,5451,5451,1411, - 39,5096,5093,4827,943,4041,4107,2989,5451,4129, - 2052,5715,5713,5722,5721,5717,5718,5716,5719,5720, - 5723,5714,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,4085,4063,4173,4151,5451, - 5470,5451,3741,1450,1506,5451,5472,1491,3054,1499, - 5451,5473,5471,1403,5451,5467,5468,5469,5451,5451, - 5451,5451,5451,5451,2897,39,5096,5093,4827,943, - 4041,4107,2989,5451,4129,2052,5715,5713,5722,5721, - 5717,5718,5716,5719,5720,5723,5714,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 4085,4063,4173,4151,5451,5470,5451,3741,1450,1506, - 5451,5472,1491,3054,1499,5451,5473,5471,1403,5451, - 5467,5468,5469,5451,5451,5451,5451,1411,39,5096, - 5093,4846,943,4041,4107,2989,5451,4129,2052,5715, - 5713,5722,5721,5717,5718,5716,5719,5720,5723,5714, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,4085,4063,4173,4151,5451,5470,5451, - 3741,1450,1506,5451,5472,1491,3054,1499,5451,5473, - 5471,1403,5451,5467,5468,5469,39,5096,5093,4827, - 943,4041,4107,2989,5451,4129,2052,5715,5713,5722, - 5721,5717,5718,5716,5719,5720,5723,5714,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,4085,4063,4173,4151,5451,5470,5451,3741,1450, - 1506,5451,5472,1491,3054,1499,5451,5473,5471,1403, - 5451,5467,5468,5469,39,5096,5093,4827,943,4041, - 4107,2989,5451,4129,2052,5715,5713,5722,5721,5717, - 5718,5716,5719,5720,5723,5714,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,4085, - 4063,4173,4151,5451,5470,5451,3741,1450,1506,5451, - 5472,1491,3054,1499,5451,5473,5471,1403,5451,5467, - 5468,5469,5451,5096,5093,5451,5489,5451,5451,5451, - 5451,5451,676,5715,5713,5722,5721,5717,5718,5716, - 5719,5720,5723,5714,5711,5788,5789,5451,5705,5712, - 5708,5684,5710,5709,5706,5707,5685,5451,5451,5451, - 5451,5849,5451,5451,5451,5451,5451,2664,5451,241, - 5201,5197,5850,5205,5451,5451,5851,5451,5451,676, - 5188,5194,5167,5170,5182,5179,5185,5176,5173,5164, - 5191,5143,5137,5134,5451,5161,5140,5152,5131,5146, - 5149,5158,5155,5128,5451,5451,5451,5451,5849,5451, - 5451,5451,5451,5451,2664,5451,5451,5451,5451,5850, - 5451,5451,5451,5851,29,387,387,5397,387,387, - 5397,387,5397,5397,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,387,387,387,5397, - 387,387,387,387,387,387,387,387,387,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5235,5451,5451,5451,5451,5451,5397,5451, - 5451,5451,5451,5451,5451,5451,5451,5397,32,388, - 388,5394,388,388,5394,388,5394,5394,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 388,388,388,5394,388,388,388,388,388,388, - 388,388,388,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451, - 5451,5451,5394,5451,5451,5451,5451,5451,5451,5451, - 5451,5394 + 8608,1,1,1,1,1,1,5330,1374,5330, + 5330,1,3729,4966,528,5330,1231,1,37,5135, + 5135,367,1,930,1048,508,1,5321,163,1880, + 506,931,626,5541,5335,567,1,4988,4984,4637, + 4981,3858,3946,4742,5330,3968,5152,5179,5185,5158, + 5161,5173,5170,5176,5167,5164,5155,5182,5830,3086, + 5688,1,4988,4984,4978,4981,4995,3311,4992,5340, + 5330,3924,3897,4012,3990,5771,5349,5330,2962,1708, + 1758,5330,5351,1716,2996,1744,5339,5352,5350,1674, + 1331,5346,5347,5348,4848,5330,5302,5298,1376,4874, + 91,39,39,5239,516,39,4975,4972,4637,2252, + 3858,3946,4742,5312,3968,2759,5594,5592,5601,5600, + 5596,5597,5595,5598,5599,5602,5593,5330,3515,5330, + 1,4988,4984,3759,4981,734,5366,4742,308,4163, + 3924,3897,4012,3990,136,5349,5330,2962,1708,1758, + 5330,5351,1716,2996,1744,308,5352,5350,1674,5330, + 5346,5347,5348,5330,5330,5330,237,1376,420,5270, + 5330,75,5203,5330,3212,5330,5337,39,4975,4972, + 4637,2252,3858,3946,4742,5200,3968,2759,5594,5592, + 5601,5600,5596,5597,5595,5598,5599,5602,5593,1922, + 1,3211,1,4875,4177,5330,5330,132,5392,5393, + 191,5330,3924,3897,4012,3990,2373,5349,3775,2962, + 1708,1758,2940,5351,1716,2996,1744,191,5352,5350, + 1674,3791,5346,5347,5348,3508,426,2130,3798,1376, + 3893,3821,5330,2298,5203,141,4975,4972,4637,2252, + 3858,3946,4742,5330,3968,2759,5594,5592,5601,5600, + 5596,5597,5595,5598,5599,5602,5593,5330,5330,5330, + 4821,4842,4440,5330,5330,5330,593,3248,4861,5330, + 3924,3897,4012,3990,5330,5349,1,2962,1708,1758, + 801,5351,1716,2996,1744,5330,5352,5350,1674,2931, + 5346,5347,5348,5330,73,5330,4146,1376,3795,5330, + 39,39,1,4988,4984,4637,4981,3858,3946,4742, + 5330,3968,5152,5179,5185,5158,5161,5173,5170,5176, + 5167,5164,5155,5182,5330,5330,5330,4145,4213,4240, + 5330,5330,100,4165,3582,3302,99,3924,3897,4012, + 3990,5330,5349,1830,2962,1708,1758,5330,5351,1716, + 2996,1744,5318,5352,5350,1674,2,5346,5347,5348, + 5330,5330,5330,4406,1376,4855,3749,39,39,39, + 4975,4972,4637,2252,3858,3946,4742,5200,3968,2759, + 5594,5592,5601,5600,5596,5597,5595,5598,5599,5602, + 5593,103,1,1,4495,1660,4280,5799,5793,5330, + 2178,5797,510,3447,3924,3897,4012,3990,5330,5349, + 1964,2962,1708,1758,37,5351,1716,2996,1744,5330, + 5352,5350,1674,5330,5346,5347,5348,5791,5792,5822, + 5823,1376,5330,679,5800,4664,5203,278,5330,5330, + 5324,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5802,5330,5330,5330,5330,5330,1047,1492,1498,5330, + 5803,5801,5824,5330,5330,5330,5330,5330,5330,5330, + 5330,942,5330,5330,5330,5330,5330,5330,5330,5813, + 5812,5825,5330,5330,5794,5795,5818,5819,5816,5817, + 5796,5798,5820,5821,5330,5330,5330,5826,5330,5806, + 5807,5808,5804,5805,5814,5815,5810,5809,5811,39, + 4975,4972,4637,2252,3858,3946,4742,5334,3968,2759, + 5594,5592,5601,5600,5596,5597,5595,5598,5599,5602, + 5593,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,3924,3897,4012,3990,5330,5349, + 5330,2962,1708,1758,5330,5351,1716,2996,1744,5330, + 5352,5350,1674,5330,5346,5347,5348,39,4975,4972, + 4637,2252,3858,3946,4742,5330,3968,2759,5594,5592, + 5601,5600,5596,5597,5595,5598,5599,5602,5593,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,3924,3897,4012,3990,5330,5349,5330,2962, + 1708,1758,5330,5351,1716,2996,1744,5330,5352,5350, + 1674,5330,5346,5347,5348,5330,5333,5330,5330,1376, + 39,4975,4972,4637,2252,3858,3946,4742,5330,3968, + 2759,5594,5592,5601,5600,5596,5597,5595,5598,5599, + 5602,5593,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,3924,3897,4012,3990,5330, + 5349,5330,2962,1708,1758,5330,5351,1716,2996,1744, + 5330,5352,5350,1674,5330,5346,5347,5348,5330,5330, + 5330,5330,5330,5330,3229,39,4975,4972,4637,2252, + 3858,3946,4742,5330,3968,2759,5594,5592,5601,5600, + 5596,5597,5595,5598,5599,5602,5593,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 3924,3897,4012,3990,5330,5349,5330,2962,1708,1758, + 5330,5351,1716,2996,1744,5330,5352,5350,1674,5330, + 5346,5347,5348,5330,5330,5330,5330,1376,39,4975, + 4972,4808,2252,3858,3946,4742,5330,3968,2759,5594, + 5592,5601,5600,5596,5597,5595,5598,5599,5602,5593, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,3924,3897,4012,3990,5330,5349,5330, + 2962,1708,1758,5330,5351,1716,2996,1744,5330,5352, + 5350,1674,5330,5346,5347,5348,39,4975,4972,4637, + 2252,3858,3946,4742,5330,3968,2759,5594,5592,5601, + 5600,5596,5597,5595,5598,5599,5602,5593,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,3924,3897,4012,3990,5330,5349,5330,2962,1708, + 1758,5330,5351,1716,2996,1744,5330,5352,5350,1674, + 5330,5346,5347,5348,39,4975,4972,4637,2252,3858, + 3946,4742,5330,3968,2759,5594,5592,5601,5600,5596, + 5597,5595,5598,5599,5602,5593,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,3924, + 3897,4012,3990,5330,5349,5330,2962,1708,1758,5330, + 5351,1716,2996,1744,5330,5352,5350,1674,5330,5346, + 5347,5348,5330,4975,4972,5330,5368,5330,5330,5330, + 5330,5330,606,5594,5592,5601,5600,5596,5597,5595, + 5598,5599,5602,5593,5590,5666,5667,5330,5584,5591, + 5587,5563,5589,5588,5585,5586,5564,5330,5330,5330, + 5330,5728,5330,5330,5330,5330,5330,854,5330,241, + 5080,5076,5729,5084,5330,5330,5730,5330,5330,606, + 5067,5073,5046,5049,5061,5058,5064,5055,5052,5043, + 5070,5022,5016,5013,5330,5040,5019,5031,5010,5025, + 5028,5037,5034,5007,5330,5330,5330,5330,5728,5330, + 5330,5330,5330,5330,854,5330,5330,5330,5330,5729, + 5330,5330,5330,5730,29,387,387,5276,387,387, + 5276,387,5276,5276,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,387,387,387,5276, + 387,387,387,387,387,387,387,387,387,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5114,5330,5330,5330,5330,5330,5276,5330, + 5330,5330,5330,5330,5330,5330,5330,5276,32,388, + 388,5273,388,388,5273,388,5273,5273,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 388,388,388,5273,388,388,388,388,388,388, + 388,388,388,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, + 5330,5330,5273,5330,5330,5330,5330,5330,5330,5330, + 5330,5273 }; }; public final static char termAction[] = TermAction.termAction; @@ -1837,61 +1812,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 838,1,1021,934,732,493,335,936,91,399, - 982,184,1105,91,1034,1045,401,1045,396,1045, - 684,1045,1029,1045,184,185,237,493,179,230, - 774,774,692,185,774,185,934,583,836,242, - 983,401,188,185,1106,547,288,398,332,399, - 184,337,185,185,333,762,406,406,881,36, - 36,182,43,45,179,185,501,547,337,337, - 771,450,547,774,774,583,774,185,282,649, - 304,984,984,983,983,983,184,185,1106,881, - 288,185,406,550,404,333,401,559,185,337, - 333,185,975,406,401,184,410,179,185,146, - 193,179,975,769,767,337,337,182,450,450, - 1106,649,304,983,820,983,185,881,881,820, - 185,288,1121,399,583,389,1111,288,406,405, - 406,406,333,559,559,185,836,538,934,583, - 583,583,583,184,934,130,232,147,147,147, - 147,147,147,147,147,147,776,782,787,784, - 791,789,796,794,798,797,799,453,800,835, - 185,762,185,401,110,555,185,934,450,814, - 502,547,146,820,401,502,767,836,836,771, - 547,633,621,632,835,583,637,637,820,820, - 185,282,1113,406,406,406,406,185,559,820, - 564,819,182,645,629,628,130,732,732,732, - 732,185,49,547,547,130,894,731,282,130, - 776,281,281,49,146,147,147,147,147,147, - 147,147,147,147,147,147,147,147,147,147, - 147,147,147,147,146,146,146,146,146,146, - 146,146,146,146,146,146,147,130,975,764, - 111,184,185,49,569,820,193,767,767,823, - 146,630,630,643,182,3,304,984,304,834, - 834,881,1106,45,147,1121,44,576,406,406, - 93,820,147,185,538,547,647,649,547,547, - 836,836,836,836,333,547,147,585,1051,1051, - 184,232,450,731,146,547,1105,1107,1105,547, - 450,784,784,782,782,782,789,789,789,789, - 787,787,794,791,791,797,796,798,1121,799, - 764,110,1121,147,1121,881,109,934,934,934, - 111,934,185,460,881,881,185,401,547,146, - 193,767,766,823,146,146,647,621,304,732, - 732,881,1113,147,147,555,759,94,185,547, - 649,934,934,934,934,185,185,185,282,147, - 732,780,504,547,185,1107,282,146,101,934, - 101,111,1121,111,130,130,128,690,130,881, - 881,892,764,819,767,825,835,93,185,184, - 184,185,884,547,146,146,146,146,934,934, - 333,1106,547,780,182,762,185,1106,3,111, - 547,179,547,128,493,934,547,764,818,192, - 825,682,185,185,185,884,884,547,547,547, - 547,49,49,185,780,781,780,146,504,1109, - 776,762,547,547,1099,111,892,111,881,493, - 146,111,108,818,818,934,637,185,185,830, - 884,547,547,1086,780,49,147,450,1109,401, - 401,1101,146,109,49,881,547,650,834,830, - 830,781,547,450,111,547,881,546,1105,830, - 111,732 + 786,1,961,874,1091,488,110,876,656,53, + 922,444,1045,656,974,985,55,985,50,985, + 145,985,969,985,444,445,58,488,439,248, + 727,727,1051,445,727,445,874,612,709,298, + 55,55,357,445,1046,542,63,52,107,53, + 444,151,445,445,108,1121,547,547,829,344, + 344,442,351,353,439,445,496,542,151,151, + 724,295,542,727,727,612,727,445,338,9, + 79,924,924,923,923,55,444,445,1046,829, + 63,445,547,551,545,108,55,556,445,151, + 108,445,915,547,55,444,255,439,445,406, + 211,439,915,722,720,151,151,442,295,295, + 1046,9,79,923,923,923,445,829,829,773, + 445,63,591,53,612,203,581,63,547,546, + 547,547,108,556,556,445,709,533,874,612, + 612,612,612,444,874,390,250,407,407,407, + 407,407,407,407,407,407,729,735,740,737, + 744,742,749,747,751,750,752,448,753,708, + 445,1121,445,55,370,561,445,874,295,767, + 497,542,406,773,55,497,720,709,709,724, + 542,577,565,576,708,612,44,44,773,773, + 923,445,338,583,547,547,547,547,445,556, + 773,593,772,442,5,573,572,390,1091,1091, + 1091,1091,445,614,542,542,390,834,1090,338, + 390,729,337,337,614,406,407,407,407,407, + 407,407,407,407,407,407,407,407,407,407, + 407,407,407,407,407,406,406,406,406,406, + 406,406,406,406,406,406,406,407,390,915, + 694,371,444,445,614,598,773,211,720,720, + 696,406,574,574,3,442,112,79,924,79, + 707,707,773,829,1046,353,407,591,352,605, + 547,547,711,773,407,445,533,542,7,9, + 542,542,709,709,709,709,108,542,407,658, + 991,991,444,250,295,1090,406,542,1045,1047, + 1045,542,295,737,737,735,735,735,742,742, + 742,742,740,740,747,744,744,750,749,751, + 591,752,694,370,591,407,591,829,369,874, + 874,874,371,874,445,455,829,829,445,55, + 542,406,211,720,719,696,406,406,7,565, + 79,1091,1091,829,583,407,407,561,1118,712, + 445,542,9,874,874,874,874,445,445,445, + 338,407,1091,733,499,542,445,1047,338,406, + 361,874,361,371,591,371,390,390,388,832, + 390,829,829,784,694,772,720,698,708,711, + 445,444,444,445,776,542,406,406,406,406, + 874,874,108,1046,542,733,442,1121,445,1046, + 112,371,542,439,542,388,488,874,542,694, + 771,210,698,42,445,445,445,776,776,542, + 542,542,542,614,614,445,733,734,733,406, + 499,1049,729,1121,542,542,1039,371,784,371, + 829,488,406,371,368,771,771,874,44,445, + 445,703,776,542,542,1026,733,614,407,295, + 1049,55,55,1041,406,369,614,829,542,10, + 707,703,703,734,542,295,371,542,829,541, + 1045,703,371,1091 }; }; public final static char asb[] = Asb.asb; @@ -1899,16 +1874,42 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 120,0,26,11,12,39,23,13,45,27, - 28,14,29,30,15,16,31,32,17,18, - 33,50,34,10,54,19,22,20,24,21, - 1,2,4,90,0,74,68,72,90,73, - 67,64,3,69,8,25,70,0,8,73, - 11,12,43,65,13,44,46,14,15,16, - 66,7,47,17,18,48,49,51,62,52, - 53,10,19,20,21,55,56,57,1,2, - 3,37,38,9,6,35,36,5,42,4, - 40,0,22,1,2,4,102,103,104,0, + 120,0,5,7,3,64,6,9,90,26, + 11,12,23,13,45,27,28,14,29,30, + 15,16,31,32,17,18,33,50,34,10, + 54,19,22,20,24,21,1,2,4,73, + 8,39,0,68,69,70,1,2,0,41, + 4,72,1,2,67,8,0,8,72,67, + 74,0,86,59,7,102,103,104,60,8, + 3,9,6,5,72,71,25,61,26,11, + 12,39,23,13,45,27,28,14,29,30, + 15,16,31,32,17,18,33,50,34,10, + 54,19,22,20,24,21,4,1,2,41, + 0,26,11,12,39,23,13,45,27,28, + 14,29,30,15,16,31,32,17,18,33, + 50,34,10,54,19,22,20,24,21,1, + 2,4,90,0,4,8,67,1,2,0, + 26,11,12,39,23,43,65,13,44,45, + 27,28,46,14,29,30,15,16,31,66, + 32,47,17,18,48,33,49,50,51,62, + 52,34,53,54,19,22,20,24,21,55, + 56,57,40,3,37,38,9,6,35,36, + 42,68,7,1,2,5,4,10,0,71, + 62,37,38,9,6,35,36,42,48,3, + 4,55,56,57,40,52,46,51,12,21, + 11,17,15,16,18,19,14,13,20,10, + 44,49,47,43,53,67,8,7,5,1, + 2,66,65,0,65,66,3,10,44,49, + 47,43,53,12,21,11,17,15,16,18, + 19,14,13,20,55,56,57,40,52,46, + 51,5,7,4,37,38,9,6,35,36, + 42,48,1,2,117,8,0,63,26,11, + 12,39,23,13,45,27,86,28,14,29, + 30,15,16,31,59,32,17,18,33,50, + 34,10,54,19,60,22,20,24,21,3, + 9,6,25,61,67,8,4,7,5,41, + 1,2,0,74,68,72,90,73,67,64, + 3,69,8,25,70,0,8,67,69,0, 86,102,103,104,41,72,120,118,121,71, 61,74,60,59,63,76,78,84,82,75, 80,81,83,85,67,77,79,25,8,26, @@ -1917,78 +1918,46 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 49,47,43,53,12,21,11,17,15,16, 18,19,14,13,20,55,56,57,40,52, 46,51,37,38,35,36,42,48,5,7, - 3,9,6,4,1,2,0,8,67,69, - 0,71,62,37,38,9,6,35,36,42, - 48,3,4,55,56,57,40,52,46,51, - 12,21,11,17,15,16,18,19,14,13, - 20,10,44,49,47,43,53,67,8,7, - 5,1,2,66,65,0,8,72,67,74, - 0,63,26,11,12,39,23,13,45,27, - 86,28,14,29,30,15,16,31,59,32, - 17,18,33,50,34,10,54,19,60,22, - 20,24,21,3,9,6,25,61,67,8, - 4,7,5,41,1,2,0,86,59,7, - 102,103,104,60,8,3,9,6,5,72, - 71,25,61,26,11,12,39,23,13,45, - 27,28,14,29,30,15,16,31,32,17, - 18,33,50,34,10,54,19,22,20,24, - 21,4,1,2,41,0,26,11,12,39, - 23,43,65,13,44,45,27,28,46,14, - 29,30,15,16,31,66,32,47,17,18, - 48,33,49,50,51,62,52,34,53,54, - 19,22,20,24,21,55,56,57,40,3, - 37,38,9,6,35,36,42,68,7,1, - 2,5,4,10,0,41,4,72,1,2, - 67,8,0,4,58,8,72,67,0,65, - 66,3,10,44,49,47,43,53,12,21, - 11,17,15,16,18,19,14,13,20,55, - 56,57,40,52,46,51,5,7,4,37, - 38,9,6,35,36,42,48,1,2,117, - 8,0,68,72,90,70,117,73,71,11, - 12,43,65,13,44,46,14,15,16,66, - 47,17,18,48,49,51,62,52,53,10, - 19,20,21,55,56,57,40,37,38,35, - 36,42,8,25,5,7,1,2,4,3, - 9,6,0,91,89,35,36,92,93,87, - 88,58,94,95,96,97,98,99,100,101, - 106,72,90,69,107,108,109,110,111,112, - 113,114,115,116,117,71,25,68,1,2, - 9,6,4,3,64,70,73,8,0,4, - 8,72,67,0,8,67,70,0,1,2, - 8,71,0,8,70,71,69,0,8,72, - 117,73,25,70,0,72,8,64,3,69, - 70,25,58,0,26,11,12,23,13,27, - 28,14,29,30,15,16,31,7,32,17, - 18,33,34,19,22,20,24,21,1,2, - 8,64,9,6,5,4,73,25,3,0, - 9,6,7,5,4,1,2,3,64,68, - 69,70,8,73,90,0,68,69,70,1, - 2,0,5,7,3,64,6,9,90,26, - 11,12,23,13,45,27,28,14,29,30, - 15,16,31,32,17,18,33,50,34,10, - 54,19,22,20,24,21,1,2,4,73, - 8,39,0,4,8,67,1,2,0,75, - 0,66,65,35,36,6,92,93,98,9, - 99,5,42,69,58,68,110,111,107,108, - 109,115,114,116,88,87,112,113,96,97, - 94,95,100,101,37,38,70,89,105,64, - 3,10,45,39,50,54,12,21,11,17, - 15,16,18,19,14,13,20,26,32,33, - 28,31,30,27,23,24,29,34,1,2, - 22,4,0,118,0,62,23,24,7,5, - 1,2,4,74,67,119,105,37,38,64, - 3,91,89,6,92,93,35,36,88,87, - 58,94,95,96,97,9,98,99,100,68, - 90,73,69,107,108,109,110,111,112,113, - 114,115,116,72,117,101,106,25,70,71, - 8,0,23,24,74,3,72,25,67,62, - 8,90,73,69,70,68,0,3,9,6, - 5,7,26,11,12,39,23,13,45,27, - 14,29,30,15,16,31,32,17,18,33, - 50,34,10,54,19,22,20,24,21,120, - 61,59,28,86,63,60,1,2,4,41, - 25,8,0,23,62,24,8,68,90,70, - 73,69,0,65,66,37,38,9,6,35, + 3,9,6,4,1,2,0,68,72,90, + 70,117,73,71,11,12,43,65,13,44, + 46,14,15,16,66,47,17,18,48,49, + 51,62,52,53,10,19,20,21,55,56, + 57,40,37,38,35,36,42,8,25,5, + 7,1,2,4,3,9,6,0,91,89, + 35,36,92,93,87,88,58,94,95,96, + 97,98,99,100,101,106,72,90,69,107, + 108,109,110,111,112,113,114,115,116,117, + 71,25,68,1,2,9,6,4,3,64, + 70,73,8,0,4,58,8,72,67,0, + 4,8,72,67,0,1,2,8,71,0, + 8,67,70,0,9,6,7,5,4,1, + 2,3,64,68,69,70,8,73,90,0, + 25,8,3,7,5,9,6,4,1,2, + 72,0,8,70,71,69,0,8,72,117, + 73,25,70,0,72,8,64,3,69,70, + 25,58,0,8,73,11,12,43,65,13, + 44,46,14,15,16,66,7,47,17,18, + 48,49,51,62,52,53,10,19,20,21, + 55,56,57,1,2,3,37,38,9,6, + 35,36,5,42,4,40,0,26,11,12, + 23,13,27,28,14,29,30,15,16,31, + 7,32,17,18,33,34,19,22,20,24, + 21,1,2,8,64,9,6,5,4,73, + 25,3,0,118,0,23,24,74,3,72, + 25,67,62,8,90,73,69,70,68,0, + 22,1,2,4,102,103,104,0,62,23, + 24,7,5,1,2,4,74,67,119,105, + 37,38,64,3,91,89,6,92,93,35, + 36,88,87,58,94,95,96,97,9,98, + 99,100,68,90,73,69,107,108,109,110, + 111,112,113,114,115,116,72,117,101,106, + 25,70,71,8,0,23,62,24,8,68, + 90,70,73,69,0,3,9,6,5,7, + 26,11,12,39,23,13,45,27,14,29, + 30,15,16,31,32,17,18,33,50,34, + 10,54,19,22,20,24,21,120,61,59, + 28,86,63,60,1,2,4,41,25,8, + 0,75,0,65,66,37,38,9,6,35, 36,5,42,48,4,7,55,56,57,40, 52,46,51,12,21,11,17,15,16,18, 19,14,13,20,10,44,49,47,43,53, @@ -2010,8 +1979,14 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 113,114,115,116,70,26,23,27,28,29, 30,31,32,33,34,22,24,25,8,73, 9,6,3,64,4,7,1,2,5,0, - 25,8,3,7,5,9,6,4,1,2, - 72,0 + 66,65,35,36,6,92,93,98,9,99, + 5,42,69,58,68,110,111,107,108,109, + 115,114,116,88,87,112,113,96,97,94, + 95,100,101,37,38,70,89,105,64,3, + 10,45,39,50,54,12,21,11,17,15, + 16,18,19,14,13,20,26,32,33,28, + 31,30,27,23,24,29,34,1,2,22, + 4,0 }; }; public final static byte asr[] = Asr.asr; @@ -2019,61 +1994,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 213,12,31,12,5,258,12,228,12,150, - 228,76,76,12,247,248,146,248,86,248, - 139,248,241,12,10,204,137,116,132,183, - 12,12,187,225,12,204,12,12,12,145, - 137,146,12,218,218,279,137,15,76,150, - 76,137,204,11,12,12,137,13,169,52, - 52,121,36,12,179,204,12,279,137,137, - 111,94,279,12,12,12,12,11,40,137, - 137,228,228,137,213,137,76,192,183,169, - 250,16,102,102,12,218,146,137,218,23, - 54,16,163,13,196,19,89,179,204,108, - 70,132,33,123,123,23,23,121,94,94, - 183,174,174,213,58,213,218,169,169,58, - 204,169,12,191,12,31,257,250,102,102, - 137,137,54,137,226,11,12,200,12,12, - 12,12,12,76,12,269,204,72,72,221, - 72,72,72,72,72,72,12,12,12,12, - 12,12,12,12,12,12,12,72,12,12, - 16,12,11,196,57,12,218,12,94,12, - 123,279,72,137,146,12,137,12,12,209, - 279,12,130,12,12,12,125,125,58,58, - 192,40,116,137,137,48,48,16,226,58, - 12,12,121,199,52,52,269,28,28,28, - 28,204,60,279,279,1,72,78,40,269, - 12,42,42,60,160,72,72,72,72,72, - 72,72,72,72,72,72,72,72,72,72, - 72,72,72,72,72,72,72,72,72,72, - 72,72,72,72,72,160,72,23,163,137, - 142,19,11,60,12,58,137,123,148,137, - 72,12,12,129,121,174,174,228,137,12, - 12,169,183,169,72,12,84,12,48,48, - 63,58,72,226,207,279,171,137,279,279, - 12,12,12,12,39,279,72,12,12,12, - 10,204,94,28,108,279,182,204,182,279, - 94,12,12,12,12,12,12,12,12,12, + 206,12,40,12,5,138,12,231,12,74, + 231,91,91,12,242,243,153,243,42,243, + 65,243,236,12,10,33,23,128,18,182, + 12,12,276,218,12,33,12,12,12,152, + 153,75,12,211,211,274,23,257,91,62, + 91,23,33,11,12,12,23,114,192,100, + 100,133,57,12,178,33,12,274,23,23, + 79,98,274,12,12,12,12,11,47,23, + 23,231,231,23,23,153,91,174,182,192, + 250,258,119,119,12,211,153,23,211,49, + 59,258,199,114,123,36,93,178,33,102, + 85,18,68,135,135,49,49,133,98,98, + 182,168,168,206,206,23,211,192,192,108, + 33,192,12,173,12,40,137,250,119,119, + 23,23,59,23,219,11,12,195,12,12, + 12,12,12,91,12,264,33,87,87,214, + 87,87,87,87,87,87,12,12,12,12, + 12,12,12,12,12,12,12,87,12,12, + 258,12,11,123,107,12,211,12,98,12, + 135,274,87,23,153,12,23,12,12,227, + 274,12,16,12,12,12,31,31,108,108, + 206,174,47,128,23,23,105,105,258,219, + 108,12,12,133,194,100,100,264,54,54, + 54,54,33,155,274,274,1,87,82,47, + 264,12,25,25,155,162,87,87,87,87, + 87,87,87,87,87,87,87,87,87,87, + 87,87,87,87,87,87,87,87,87,87, + 87,87,87,87,87,87,162,87,49,199, + 23,149,36,11,155,12,108,23,135,171, + 23,87,12,12,15,133,168,168,231,23, + 12,12,108,192,182,192,87,12,77,12, + 105,105,186,108,87,219,225,274,165,23, + 274,274,12,12,12,12,46,274,87,12, + 12,12,10,33,98,54,102,274,181,33, + 181,274,98,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 106,156,12,72,12,169,12,12,12,12, - 157,12,226,167,169,169,226,96,279,72, - 70,137,148,148,72,72,171,177,174,28, - 28,169,132,72,72,12,76,50,218,279, - 174,12,12,12,12,16,11,204,40,72, - 28,137,99,279,204,153,40,72,67,12, - 12,157,12,157,273,273,233,12,273,169, - 169,12,137,58,148,137,12,80,218,76, - 76,11,137,279,160,160,160,160,12,12, - 38,16,279,114,209,12,225,16,28,157, - 279,132,279,265,137,12,279,106,104,69, - 127,12,11,218,218,148,137,279,279,279, - 279,60,60,16,137,194,12,160,209,154, - 12,12,279,279,137,157,12,157,169,132, - 160,157,67,104,12,12,125,11,11,137, - 148,279,279,12,114,60,72,94,154,96, - 96,130,72,12,238,169,279,277,12,127, - 137,194,279,94,157,279,169,279,182,127, - 157,28 + 12,12,126,158,12,87,12,192,12,12, + 12,12,159,12,219,190,192,192,219,71, + 274,87,85,23,171,171,87,87,165,176, + 168,54,54,192,18,87,87,12,91,110, + 211,274,168,12,12,12,12,258,11,33, + 47,87,54,23,116,274,33,261,47,87, + 112,12,12,159,12,159,280,280,245,12, + 280,192,192,12,23,108,171,23,12,221, + 211,91,91,11,23,274,162,162,162,162, + 12,12,45,258,274,145,227,12,218,258, + 54,159,274,18,274,268,23,12,274,126, + 121,84,13,12,11,211,211,171,23,274, + 274,274,274,155,155,258,23,147,12,162, + 227,262,12,12,274,274,23,159,12,159, + 192,18,162,159,112,121,12,12,31,11, + 11,23,171,274,274,12,145,155,87,98, + 262,71,71,16,87,12,203,192,274,272, + 12,13,23,147,274,98,159,274,192,274, + 181,13,159,54 }; }; public final static char nasb[] = Nasb.nasb; @@ -2081,34 +2056,35 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,121,149,148,5, - 2,0,159,0,44,2,3,0,172,5, - 171,0,5,10,9,2,13,4,45,0, - 156,0,65,54,0,184,0,2,136,65, - 0,5,2,9,10,139,0,112,0,193, - 0,80,0,2,65,0,4,67,0,4, - 97,0,5,102,192,0,115,0,67,129, - 40,13,2,9,10,5,0,175,0,5, - 102,168,0,191,0,153,188,0,13,2, - 9,10,5,83,0,40,56,0,4,177, - 0,111,0,162,0,161,0,4,30,0, - 4,195,0,143,0,4,10,9,2,64, - 5,90,54,0,110,0,126,0,32,95, - 94,64,5,2,9,10,4,0,153,183, - 0,48,39,179,4,40,0,62,0,1, - 40,0,2,116,0,67,40,48,68,4, - 39,0,65,138,137,0,4,39,38,0, - 54,5,90,22,4,0,95,94,54,64, - 58,5,10,9,2,0,4,45,196,0, - 40,106,0,141,0,40,160,0,32,94, - 95,4,0,2,44,0,95,94,54,5, - 58,0,105,81,48,4,0,2,57,0, - 5,10,9,13,3,1,0,4,48,81, - 84,0,39,4,22,181,0,4,178,0, - 2,5,121,117,118,119,13,87,0,4, - 48,81,102,46,5,0,38,5,2,9, - 10,4,158,0,45,4,180,0,4,45, - 39,0,4,45,104,0,45,4,32,0 + 3,13,10,9,152,150,119,149,148,5, + 2,0,125,0,32,93,92,64,5,2, + 9,10,4,0,5,2,9,10,139,0, + 108,0,2,44,0,172,5,171,0,156, + 0,153,188,0,2,136,65,0,5,10, + 9,2,13,4,45,0,184,0,2,65, + 0,42,1,0,153,183,0,65,54,0, + 42,56,0,1,121,0,191,0,4,195, + 0,175,0,67,129,42,13,2,9,10, + 5,0,13,2,9,10,5,81,0,78, + 0,4,30,0,110,0,4,67,0,193, + 0,113,0,159,0,4,177,0,109,0, + 162,0,42,160,0,161,0,4,10,9, + 2,64,5,88,54,0,38,5,2,9, + 10,4,158,0,143,0,141,0,48,39, + 179,4,42,0,4,95,0,67,42,48, + 68,4,39,0,54,5,88,22,4,0, + 62,0,121,104,0,93,92,54,64,58, + 5,10,9,2,0,5,100,192,0,4, + 39,38,0,32,92,93,4,0,65,138, + 137,0,4,178,0,103,79,48,4,0, + 2,57,0,5,10,9,13,3,1,0, + 5,100,168,0,93,92,54,5,58,0, + 4,48,79,82,0,2,5,119,115,116, + 117,13,85,0,39,4,22,181,0,4, + 48,79,100,46,5,0,44,2,3,0, + 2,114,0,4,45,39,0,45,4,180, + 0,45,4,32,0,4,45,196,0,4, + 45,102,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2139,16 +2115,16 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 129,134,135,0,0,133,0,0,228,234, 132,0,142,131,0,0,141,147,0,0, 148,179,157,158,159,160,161,162,163,150, - 164,125,165,140,166,167,0,127,130,128, - 168,0,137,136,151,176,0,0,0,0, + 164,125,165,140,166,167,0,127,130,168, + 0,128,137,136,151,176,0,0,0,0, 0,0,0,0,144,171,0,154,0,203, 0,186,200,204,0,0,126,170,0,0, - 0,0,0,0,0,0,0,0,0,205, - 0,174,124,177,0,0,185,0,0,201, - 211,156,207,208,209,0,0,145,0,0, - 206,219,0,173,178,195,0,0,210,0, - 0,0,0,239,240,146,188,189,190,191, - 192,194,197,0,198,0,213,216,0,218, + 0,0,0,0,0,0,0,205,0,174, + 124,177,0,0,185,0,0,201,211,156, + 207,208,209,0,0,145,0,0,206,219, + 0,173,178,195,0,0,210,0,0,0, + 0,239,240,146,188,189,190,191,192,194, + 0,197,0,198,0,213,216,0,0,218, 0,237,0,238,0,0,138,139,143,0, 0,153,155,0,169,0,180,181,182,183, 184,187,0,0,193,0,196,202,0,214, @@ -2164,18 +2140,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 159,585,604,309,536,552,563,574,368,267, - 281,303,316,329,42,292,388,426,167,593, - 479,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,507,27,144,378, - 342,612,27,217,246,1,14,61,76,106, - 347,357,361,444,472,501,528,532,622,626, - 630,97,7,97,406,422,435,456,520,116, - 116,232,435,543,559,570,581,207,490,56, + 159,587,606,304,311,538,554,565,576,370, + 267,281,298,318,331,42,292,390,428,167, + 595,481,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,509,27,144,380, + 344,614,27,217,246,1,14,61,76,106, + 349,359,363,446,474,503,530,534,624,628, + 632,97,7,97,408,424,437,458,522,116, + 116,232,437,545,561,572,583,207,492,56, 56,156,222,225,56,241,262,225,225,56, - 365,469,476,156,56,645,110,351,410,450, - 463,56,351,397,177,104,448,634,641,634, - 641,65,416,137,104,104,251 + 367,471,478,156,56,647,110,353,412,452, + 465,56,353,399,177,104,450,636,643,636, + 643,65,418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2183,18 +2159,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 485,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,512,38,152,383, - 599,617,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,5,5, - 244,643,11,101,375,375,375,460,512,120, - 125,236,439,547,547,547,547,211,494,59, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,487,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,514,38,152,385, + 601,619,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,5,5, + 244,645,11,101,377,377,377,462,514,120, + 125,236,441,549,549,549,549,211,496,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,505,5,113,354,413,453, - 466,524,515,400,180,95,95,636,636,638, - 638,67,418,139,202,187,253 + 95,5,244,5,507,5,113,356,415,455, + 468,526,517,402,180,95,95,638,638,640, + 640,67,420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2202,18 +2178,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,119,17,17,17,17,71,86, - 47,78,119,118,75,52,71,70,46,17, - 19,3,7,8,168,168,164,117,46,79, - 118,118,120,128,53,47,139,133,128,71, - 17,17,133,96,59,135,74,171,168,164, - 120,182,50,56,143,18,17,17,17,17, - 17,12,115,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,96,19,172, - 168,184,94,101,61,80,60,158,82,120, - 72,144,143,175,139,16,164,120,104,69, + 46,17,17,77,117,17,17,17,17,71, + 84,47,77,117,116,75,52,71,70,46, + 17,19,3,7,8,168,168,164,115,46, + 116,116,118,128,53,47,139,133,128,71, + 17,17,133,94,59,135,74,171,168,164, + 118,182,50,56,143,18,17,17,17,17, + 17,12,113,164,71,70,70,37,139,130, + 130,58,70,17,17,17,17,94,19,172, + 168,184,92,99,61,78,60,158,80,118, + 72,144,143,175,139,16,164,118,102,69, 21,139,139,71,46,164,66,137,44,137, - 44,171,104,117,46,46,59 + 44,171,102,115,46,46,59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2221,9 +2197,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 25,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,25,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,25,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,70,25, 1,1,68,73,73,73,118,73,1,25, 1,25,25,71,117,73,73,73,73,73, @@ -2240,9 +2216,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 284,213,213,280,213,213,213,213,295,309, - 284,307,280,280,307,286,295,295,284,213, - 213,145,189,189,21,21,69,280,284,307, + 284,213,213,307,280,213,213,213,213,295, + 309,284,307,280,280,307,286,295,295,284, + 213,213,145,189,189,21,21,69,280,284, 280,280,280,276,286,284,37,42,276,295, 213,213,42,78,126,4,295,46,21,69, 280,35,286,49,8,213,213,213,213,213, @@ -2263,67 +2239,67 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 125,171,0,126,178,74,0,215,0,253, 126,58,124,0,20,0,295,126,58,41, 0,20,53,0,33,131,0,20,53,0, - 0,295,126,58,41,203,0,20,177,0, + 0,295,126,58,41,201,0,20,177,0, 253,126,58,132,0,179,127,0,140,0, - 219,3,294,0,294,0,2,0,125,0, - 253,126,58,131,0,179,127,224,0,179, - 127,22,224,0,179,127,315,22,0,128, + 217,3,294,0,294,0,2,0,125,0, + 253,126,58,131,0,179,127,222,0,179, + 127,22,222,0,179,127,315,22,0,128, 187,166,127,0,127,0,187,166,127,0, 133,127,0,170,0,311,126,170,0,126, - 170,0,221,127,0,166,310,243,0,135, + 170,0,221,127,0,166,310,241,0,135, 0,0,0,0,134,0,0,0,0,309, - 126,162,252,0,126,0,252,0,128,0, - 0,126,0,308,126,162,251,0,126,0, + 126,164,252,0,126,0,252,0,128,0, + 0,126,0,308,126,164,251,0,126,0, 0,44,126,0,0,152,3,0,126,282, 281,126,74,280,170,0,281,126,74,280, 170,0,214,0,215,0,280,170,0,96, 0,0,214,0,215,0,202,96,0,0, 214,0,215,0,281,126,280,170,0,214, - 0,202,0,0,214,0,229,126,3,0, - 125,0,0,0,0,0,229,126,3,216, - 0,223,3,0,212,126,0,207,0,145, + 0,202,0,0,214,0,227,126,3,0, + 125,0,0,0,0,0,227,126,3,214, + 0,221,3,0,210,126,0,207,0,145, 0,176,166,127,0,10,0,0,0,0, - 214,64,0,124,0,229,126,3,182,0, + 212,64,0,124,0,227,126,3,182,0, 182,0,2,0,0,125,0,0,0,0, - 0,204,3,0,200,0,225,126,162,40, + 0,202,3,0,200,0,223,126,164,40, 28,0,179,127,59,60,0,195,127,0, 128,179,127,278,60,0,179,127,278,60, - 0,179,127,69,123,59,0,225,126,162, - 59,0,225,126,162,228,59,0,276,126, - 162,123,305,45,0,276,126,162,305,45, - 0,179,127,275,45,0,134,0,187,179, - 127,275,243,0,135,0,179,127,275,243, - 0,187,166,127,10,0,166,127,10,0, - 166,127,0,93,135,0,268,126,144,0, - 268,126,170,0,161,84,0,300,160,302, - 303,3,81,0,125,170,0,302,303,3, - 81,0,127,0,125,170,0,161,3,75, - 190,80,0,125,127,0,190,80,0,108, - 2,130,125,127,0,226,3,75,0,204, - 167,0,33,168,0,167,0,174,33,168, - 0,226,3,85,0,190,154,226,3,83, - 0,62,170,0,226,3,83,0,125,170, - 62,170,0,301,126,162,0,161,0,214, - 77,0,30,170,0,161,106,158,0,30, - 168,0,177,3,0,125,148,0,219,3, - 0,214,64,265,0,161,64,0,177,3, - 297,66,127,0,125,0,0,0,0,297, - 66,127,0,2,144,125,0,0,0,0, - 177,3,48,0,146,0,125,41,166,127, - 0,31,146,0,93,135,31,146,0,220, - 179,127,0,145,31,146,0,177,3,53, - 0,161,3,53,0,161,3,68,177,58, - 43,0,177,58,43,0,20,2,130,125, - 0,161,3,68,177,58,47,0,177,58, - 47,0,161,3,68,177,58,49,0,177, - 58,49,0,161,3,68,177,58,44,0, - 177,58,44,0,219,3,125,187,166,127, - 10,0,125,187,166,127,10,0,135,2, - 0,125,0,219,3,124,258,166,127,10, - 0,258,166,127,10,0,134,2,0,125, - 0,219,3,135,0,219,3,139,0,161, - 64,139,0,260,0,31,0,31,138,0, - 165,0,133,0,161,3,0 + 0,179,127,69,123,59,0,223,126,164, + 243,59,0,223,126,164,243,226,59,0, + 276,126,164,123,305,45,0,276,126,164, + 305,45,0,179,127,275,45,0,134,0, + 187,179,127,275,241,0,135,0,179,127, + 275,241,0,187,166,127,10,0,166,127, + 10,0,166,127,0,93,135,0,268,126, + 144,0,268,126,170,0,161,84,0,300, + 160,302,303,3,81,0,125,170,0,302, + 303,3,81,0,127,0,125,170,0,161, + 3,75,190,80,0,125,127,0,190,80, + 0,108,2,130,125,127,0,224,3,75, + 0,202,167,0,33,168,0,167,0,174, + 33,168,0,224,3,85,0,190,154,224, + 3,83,0,62,170,0,224,3,83,0, + 125,170,62,170,0,301,126,164,0,161, + 0,212,77,0,30,170,0,161,106,158, + 0,30,168,0,177,3,0,125,148,0, + 217,3,0,212,64,265,0,161,64,0, + 177,3,297,66,127,0,125,0,0,0, + 0,297,66,127,0,2,144,125,0,0, + 0,0,177,3,48,0,146,0,125,41, + 166,127,0,31,146,0,93,135,31,146, + 0,218,179,127,0,145,31,146,0,177, + 3,53,0,161,3,53,0,161,3,68, + 177,58,43,0,177,58,43,0,20,2, + 130,125,0,161,3,68,177,58,47,0, + 177,58,47,0,161,3,68,177,58,49, + 0,177,58,49,0,161,3,68,177,58, + 44,0,177,58,44,0,217,3,125,187, + 166,127,10,0,125,187,166,127,10,0, + 135,2,0,125,0,217,3,124,258,166, + 127,10,0,258,166,127,10,0,134,2, + 0,125,0,217,3,135,0,217,3,139, + 0,161,64,139,0,260,0,31,0,31, + 138,0,165,0,133,0,161,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2331,38 +2307,38 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 3298,3199,0,2593,2581,2578,0,3023,2347,0, - 4777,4880,4875,4870,0,1253,3004,926,2056,0, - 1087,923,0,3533,3478,3424,3322,3285,3231,3194, - 3140,3103,2853,2816,4306,0,1266,803,0,1052, - 0,4414,3444,4316,0,2724,646,0,3533,3478, - 3608,3501,3424,3322,3285,3231,3194,3140,1393,3103, - 2853,2816,3308,3273,0,3044,2870,0,4655,4595, - 0,734,0,1497,1409,1321,856,2942,3411,578, - 2638,3286,2400,3028,0,4498,2444,2942,3110,2934, - 3411,3510,3484,2425,3445,3429,4520,2651,3252,2387, - 0,4808,4801,4790,4568,4472,4786,4771,4726,3901, - 4722,3619,2470,4710,2465,4704,4604,3808,1279,625, - 3772,3595,3590,3383,0,2942,4620,4520,2651,4682, - 578,3397,4533,3873,2638,2425,2400,3723,2516,2387, - 0,4620,4682,0,3511,3418,3435,4808,4801,3225, - 3236,2910,2858,2693,4790,2839,4568,4472,2849,4786, - 4771,4726,930,3901,2452,4722,2984,1136,3619,2470, - 4710,2465,794,4704,4604,790,2534,3808,629,1279, - 625,3772,3595,3590,739,3383,4548,2928,2413,2225, - 2137,943,2309,578,3397,4533,3873,2942,2821,2594, - 2638,1266,803,2425,2400,4620,3723,4520,2651,2516, - 2387,4682,3054,4283,4261,1185,2275,2357,2325,2610, - 2540,593,3081,2958,2789,2762,2735,2666,3999,3975, - 3951,3696,3671,4239,4217,4195,4173,4151,4129,4107, - 4085,4063,4041,3741,2018,2237,1975,2187,2149,1328, - 1283,1932,2099,2061,1048,1223,880,1889,1846,1803, - 1760,1717,1674,1631,1588,1545,1502,1459,535,1142, - 1411,824,744,1371,688,1003,960,1093,0,535, - 4548,2928,0,4655,4595,4433,3845,3785,3718,4416, - 4375,4317,4305,3565,3533,3478,3424,3322,3285,3231, - 3194,3140,3103,2853,2816,0,4655,4595,4433,3845, - 3785,3718,4416,4375,4317,4305,3565,0 + 3309,2693,0,3662,2788,539,0,3133,2657,0, + 4661,4861,4842,4821,0,2443,2173,1327,1961,0, + 4146,3230,0,3617,3580,3503,3393,3339,3302,3248, + 3211,3071,2780,2743,4440,0,801,593,0,999, + 0,4383,2779,3247,0,2936,623,0,3617,3580, + 1576,1408,3503,3393,3339,3302,3248,3211,868,3071, + 2780,2743,4126,1954,0,3534,3523,0,4569,4563, + 0,738,0,1624,1302,1139,1137,3146,4157,2855, + 577,3325,2427,1042,0,3394,2442,3146,3535,2820, + 4157,3455,3217,2450,673,2444,4297,4266,2441,2360, + 0,4767,4759,4737,4833,4788,4722,4701,4677,4783, + 4671,3846,3810,4655,3082,4650,4592,4586,2950,4580, + 4420,3783,3563,615,0,3146,2463,4297,4266,3184, + 2855,3468,4331,3729,577,2450,2427,3692,3759,2360, + 0,2463,3184,0,3362,3129,3777,4767,4759,3102, + 3426,3225,3086,2958,4737,4599,4833,4788,2168,4722, + 4701,4677,2478,4783,2086,4671,632,2082,3846,3810, + 4655,3082,926,4650,4592,870,2805,4586,643,2950, + 4580,4420,3783,3563,734,615,4373,2870,2760,2748, + 2402,2252,942,2855,3468,4331,3729,3146,2622,1314, + 577,801,593,2450,2427,2463,3692,4297,4266,3759, + 2360,3184,2996,4122,4100,2216,2264,2330,2298,2562, + 2534,2373,3049,3023,2716,2689,2662,2635,3705,3481, + 3159,2879,2590,4078,4056,4034,4012,3990,3968,3946, + 3924,3897,3858,2962,1964,2178,1922,2130,2092,1331, + 1272,1880,2044,2006,1090,1227,880,1838,1796,1754, + 1712,1670,1628,1586,1544,1502,1460,1418,535,1185, + 1376,824,744,1048,688,1003,960,1142,0,535, + 4373,2870,0,4569,4563,4482,4212,4154,4144,4471, + 4461,4366,4350,3754,3617,3580,3503,3393,3339,3302, + 3248,3211,3071,2780,2743,0,4569,4563,4482,4212, + 4154,4144,4471,4461,4366,4350,3754,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2370,61 +2346,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,296,60,63,126,170,203,41,28,59, - 227,59,278,3,269,270,252,271,243,272, + 0,296,60,63,126,170,201,41,28,59, + 225,59,278,3,269,270,252,271,241,272, 45,273,274,124,10,127,280,126,3,4, 132,131,7,5,124,127,182,41,58,40, - 162,228,123,127,127,40,162,310,275,305, + 243,226,123,127,127,40,164,310,275,305, 275,58,127,179,166,165,74,126,268,186, - 182,126,247,279,212,127,176,204,58,58, + 182,126,246,279,210,127,176,202,58,58, 167,64,3,65,66,124,123,179,166,3, - 58,68,126,162,126,162,69,179,179,154, - 126,166,232,125,124,127,123,162,127,126, - 166,41,4,126,281,72,64,212,127,3, + 58,68,126,164,164,243,69,179,179,154, + 126,166,230,125,124,127,123,164,127,126, + 166,41,4,126,281,72,64,210,127,3, 69,70,166,9,6,126,126,126,64,64, - 187,126,126,126,225,126,127,228,128,309, - 127,168,224,59,41,60,170,312,125,124, - 233,233,179,162,126,179,253,167,53,43, + 187,126,126,126,126,164,127,226,128,309, + 127,168,222,59,41,60,170,312,125,124, + 231,231,179,164,126,179,253,167,53,43, 47,49,44,10,135,3,127,48,42,5, 36,35,6,9,38,37,139,145,147,146, 149,148,151,150,155,153,157,62,158,256, - 187,260,187,281,162,293,127,294,214,158, - 166,152,126,162,251,176,176,253,253,212, - 229,230,144,231,295,41,10,39,225,225, - 179,166,126,233,233,126,126,187,126,276, - 123,277,126,3,217,216,3,58,58,58, - 58,127,3,177,161,126,65,66,166,3, - 125,105,119,3,64,89,91,36,35,93, - 92,6,95,94,68,58,87,88,9,97, - 96,99,98,100,116,115,114,113,112,111, - 110,109,108,107,69,106,101,70,4,282, - 126,70,179,3,267,126,162,6,126,154, - 69,223,204,3,126,70,70,68,58,232, - 232,228,187,311,72,289,204,124,126,126, - 72,276,69,70,212,223,126,3,177,161, - 177,177,177,177,166,219,154,135,125,124, - 10,127,64,297,3,177,41,127,41,219, - 161,146,146,145,145,145,148,148,148,148, - 147,147,150,149,149,153,151,155,161,157, - 126,301,79,77,1,161,8,85,83,81, - 80,75,82,84,78,76,59,74,219,70, - 126,176,184,126,69,69,126,212,126,69, - 69,128,70,72,69,314,224,22,127,229, - 126,68,68,68,68,187,258,127,166,205, - 3,298,167,152,127,179,166,72,283,118, - 8,72,214,72,3,3,3,190,3,123, - 161,123,178,308,126,221,295,70,127,22, - 315,179,154,229,3,3,3,3,125,124, - 166,41,177,126,126,220,5,41,3,72, - 226,167,226,303,144,75,226,126,189,70, - 126,68,179,127,127,126,154,161,161,161, - 161,3,3,187,154,262,265,64,180,4, - 123,125,90,319,167,154,204,154,302,126, - 3,154,283,189,8,62,39,179,179,221, - 126,219,219,125,126,3,64,161,4,154, - 154,126,69,190,160,268,161,3,232,126, - 221,262,219,214,121,300,154,320,69,126, - 154,70 + 187,260,187,281,164,293,127,294,212,158, + 166,152,126,164,251,176,176,253,253,210, + 227,228,144,229,295,41,10,39,223,223, + 126,179,166,126,231,231,126,126,187,126, + 276,123,277,126,3,215,214,3,58,58, + 58,58,127,3,177,161,126,65,66,166, + 3,125,105,119,3,64,89,91,36,35, + 93,92,6,95,94,68,58,87,88,9, + 97,96,99,98,100,116,115,114,113,112, + 111,110,109,108,107,69,106,101,70,4, + 282,126,70,179,3,267,126,164,6,126, + 154,69,221,202,3,126,70,70,68,58, + 230,230,223,226,187,311,72,289,202,124, + 126,126,72,276,69,70,210,221,126,3, + 177,161,177,177,177,177,166,217,154,135, + 125,124,10,127,64,297,3,177,41,127, + 41,217,161,146,146,145,145,145,148,148, + 148,148,147,147,150,149,149,153,151,155, + 161,157,126,301,79,77,1,161,8,85, + 83,81,80,75,82,84,78,76,59,74, + 217,70,126,176,184,126,69,69,126,210, + 126,69,69,128,70,72,69,314,222,22, + 127,227,126,68,68,68,68,187,258,127, + 166,203,3,298,167,152,127,179,166,72, + 283,118,8,72,212,72,3,3,3,190, + 3,123,161,123,178,308,126,219,295,70, + 127,22,315,179,154,227,3,3,3,3, + 125,124,166,41,177,126,126,218,5,41, + 3,72,224,167,224,303,144,75,224,126, + 189,70,126,68,179,127,127,126,154,161, + 161,161,161,3,3,187,154,262,265,64, + 180,4,123,125,90,319,167,154,202,154, + 302,126,3,154,283,189,8,62,39,179, + 179,219,126,217,217,125,126,3,64,161, + 4,154,154,126,69,190,160,268,161,3, + 230,126,219,262,217,212,121,300,154,320, + 69,126,154,70 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2655,7 +2631,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2698,20 +2674,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5985, + LA_STATE_OFFSET = 5864, MAX_LA = 2147483647, NUM_RULES = 534, NUM_NONTERMINALS = 201, NUM_SYMBOLS = 323, SEGMENT_SIZE = 8192, - START_STATE = 3565, + START_STATE = 3754, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5086, - ERROR_ACTION = 5451; + ACCEPT_ACTION = 4965, + ERROR_ACTION = 5330; public final static boolean BACKTRACK = true; 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 e402c5602b6..f41eb0c09a1 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 @@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; +import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -178,17 +178,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -245,9 +245,9 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, CPPSizeofExpressionParsersym.TK_EOF_TOKEN)); } -public CPPSizeofExpressionParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); - tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); +public CPPSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); + tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } @@ -1295,331 +1295,331 @@ public CPPSizeofExpressionParser(ITokenStream parser, Set<IParser.Options> optio } // - // Rule 294: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 292: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 294: { action. consumeNamespaceDefinition(true); break; + case 292: { action. consumeNamespaceDefinition(true); break; } // - // Rule 295: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 293: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 295: { action. consumeNamespaceDefinition(false); break; + case 293: { action. consumeNamespaceDefinition(false); break; } // - // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 295: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 296: { action. consumeNamespaceAliasDefinition(); break; + case 295: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 296: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 297: { action. consumeUsingDeclaration(); break; + case 296: { action. consumeUsingDeclaration(); break; } // - // Rule 298: typename_opt ::= typename + // Rule 297: typename_opt ::= typename // - case 298: { action. consumePlaceHolder(); break; + case 297: { action. consumePlaceHolder(); break; } // - // Rule 299: typename_opt ::= $Empty + // Rule 298: typename_opt ::= $Empty // - case 299: { action. consumeEmpty(); break; + case 298: { action. consumeEmpty(); break; } // - // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 300: { action. consumeUsingDirective(); break; + case 299: { action. consumeUsingDirective(); break; } // - // Rule 301: asm_definition ::= asm ( stringlit ) ; + // Rule 300: asm_definition ::= asm ( stringlit ) ; // - case 301: { action. consumeDeclarationASM(); break; + case 300: { action. consumeDeclarationASM(); break; } // - // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 301: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 302: { action. consumeLinkageSpecification(); break; + case 301: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 302: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 303: { action. consumeLinkageSpecification(); break; + case 302: { action. consumeLinkageSpecification(); break; } // - // Rule 308: init_declarator_complete ::= init_declarator + // Rule 307: init_declarator_complete ::= init_declarator // - case 308: { action. consumeInitDeclaratorComplete(); break; + case 307: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 310: init_declarator ::= complete_declarator initializer + // Rule 309: init_declarator ::= complete_declarator initializer // - case 310: { action. consumeDeclaratorWithInitializer(true); break; + case 309: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 313: { action. consumeDeclaratorWithPointer(true); break; + case 312: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 319: basic_direct_declarator ::= declarator_id_name + // Rule 318: basic_direct_declarator ::= declarator_id_name // - case 319: { action. consumeDirectDeclaratorIdentifier(); break; + case 318: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 320: basic_direct_declarator ::= ( declarator ) + // Rule 319: basic_direct_declarator ::= ( declarator ) // - case 320: { action. consumeDirectDeclaratorBracketed(); break; + case 319: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_modifier ::= [ constant_expression ] + // Rule 323: array_modifier ::= [ constant_expression ] // - case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 323: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 325: array_modifier ::= [ ] + // Rule 324: array_modifier ::= [ ] // - case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 324: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 326: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 325: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumePointer(); break; + case 325: { action. consumePointer(); break; } // - // Rule 327: ptr_operator ::= pointer_hook & pointer_hook + // Rule 326: ptr_operator ::= pointer_hook & pointer_hook // - case 327: { action. consumeReferenceOperator(); break; + case 326: { action. consumeReferenceOperator(); break; } // - // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumePointerToMember(); break; + case 327: { action. consumePointerToMember(); break; } // - // Rule 335: cv_qualifier ::= const + // Rule 334: cv_qualifier ::= const // - case 335: { action. consumeToken(); break; + case 334: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= volatile + // Rule 335: cv_qualifier ::= volatile // - case 336: { action. consumeToken(); break; + case 335: { action. consumeToken(); break; } // - // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 338: { action. consumeQualifiedId(false); break; + case 337: { action. consumeQualifiedId(false); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 338: type_id ::= type_specifier_seq // - case 339: { action. consumeTypeId(false); break; + case 338: { action. consumeTypeId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 339: type_id ::= type_specifier_seq abstract_declarator // - case 340: { action. consumeTypeId(true); break; + case 339: { action. consumeTypeId(true); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 343: { action. consumeDeclaratorWithPointer(false); break; + case 342: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 344: { action. consumeDeclaratorWithPointer(true); break; + case 343: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 348: { action. consumeDirectDeclaratorBracketed(); break; + case 347: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( ) + // Rule 348: basic_direct_abstract_declarator ::= ( ) // - case 349: { action. consumeAbstractDeclaratorEmpty(); break; + case 348: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_modifier + // Rule 349: array_direct_abstract_declarator ::= array_modifier // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 355: { action. consumePlaceHolder(); break; + case 354: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 356: { action. consumeEmpty(); break; + case 355: { action. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 357: { action. consumePlaceHolder(); break; + case 356: { action. consumePlaceHolder(); break; } // - // Rule 363: abstract_declarator_opt ::= $Empty + // Rule 362: abstract_declarator_opt ::= $Empty // - case 363: { action. consumeEmpty(); break; + case 362: { action. consumeEmpty(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 364: { action. consumeParameterDeclaration(); break; + case 363: { action. consumeParameterDeclaration(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers + // Rule 364: parameter_declaration ::= declaration_specifiers // - case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer // - case 367: { action. consumeDeclaratorWithInitializer(true); break; + case 366: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 370: parameter_init_declarator ::= = parameter_initializer + // Rule 369: parameter_init_declarator ::= = parameter_initializer // - case 370: { action. consumeDeclaratorWithInitializer(false); break; + case 369: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 371: parameter_initializer ::= assignment_expression + // Rule 370: parameter_initializer ::= assignment_expression // - case 371: { action. consumeInitializer(); break; + case 370: { action. consumeInitializer(); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 372: { action. consumeFunctionDefinition(false); break; + case 371: { action. consumeFunctionDefinition(false); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 373: { action. consumeFunctionDefinition(true); break; + case 372: { action. consumeFunctionDefinition(true); break; } // - // Rule 376: initializer ::= ( expression_list ) + // Rule 375: initializer ::= ( expression_list ) // - case 376: { action. consumeInitializerConstructor(); break; + case 375: { action. consumeInitializerConstructor(); break; } // - // Rule 377: initializer_clause ::= assignment_expression + // Rule 376: initializer_clause ::= assignment_expression // - case 377: { action. consumeInitializer(); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 378: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 378: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 379: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= { <openscope-ast> } + // Rule 380: initializer_list ::= { <openscope-ast> } // case 380: { action. consumeInitializerList(); 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 e9b7896e70f..a277f248b11 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 @@ -66,15 +66,15 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,1,1,1,1,1,1,1,1,1, 1,1,3,4,4,5,2,5,6,5, 0,6,7,0,1,3,1,0,1,3, - 1,1,1,6,5,7,6,1,0,6, - 5,6,4,1,3,1,0,1,1,2, - 1,1,3,1,3,1,1,1,1,3, - 9,2,2,3,2,5,3,7,0,1, - 2,2,1,0,1,1,1,3,1,2, - 1,1,2,3,1,1,1,3,2,1, - 2,2,9,8,2,1,3,1,3,1, - 0,1,0,2,1,1,3,1,3,2, - 1,5,8,1,2,3,1,7,6,3, + 1,7,6,0,7,6,1,0,6,5, + 6,4,1,3,1,0,1,1,2,1, + 1,3,1,3,1,1,1,1,3,9, + 2,2,3,2,5,3,7,0,1,2, + 2,1,0,1,1,1,3,1,2,1, + 1,2,3,1,1,1,3,2,1,2, + 2,9,8,2,1,3,1,3,1,0, + 1,0,2,1,1,3,1,3,2,1, + 5,8,1,2,3,1,1,7,6,3, 0,0,1,3,1,1,5,6,6,7, 7,0,0,1,0,1,1,1,2,4, 2,2,1,5,1,1,1,1,1,1, @@ -90,449 +90,436 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,1,1,2,4,2,4,7,9,5, 1,3,1,0,1,1,2,4,4,1, 2,5,5,3,3,1,4,3,1,0, - 1,3,1,1,-62,0,0,0,-2,0, + 1,3,1,1,-62,0,0,0,-257,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,0,0,0,0,0,-224, - 0,0,-399,0,0,0,0,-71,0,0, - 0,-262,0,0,0,0,0,0,0,0, - -6,-112,-88,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-2,0,0, + 0,0,0,-123,0,0,0,0,0,-404, + 0,0,-10,0,0,0,0,0,-297,-281, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-7,0,0,0,0, - 0,0,0,0,-190,0,0,0,-79,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,-231,0,0,-14,0, + 0,0,0,-54,-186,-16,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,-287, - -238,0,0,0,0,-72,0,0,0,-225, + 0,0,0,0,-412,0,0,0,-4,0, + 0,0,0,0,0,0,-5,-112,0,-146, 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,-114,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -297,0,0,0,0,0,-49,0,0,0, - 0,-8,0,-534,0,0,0,0,0,0, - 0,0,0,0,0,0,-219,0,0,-115, + -188,0,0,0,0,0,-7,0,0,-287, + -147,-121,0,-71,0,0,0,-243,0,0, + 0,0,0,0,0,0,0,-8,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,-9,0, + 0,0,-408,0,-463,0,0,0,0,0, + 0,-118,-373,0,0,0,0,0,-335,0, + 0,0,0,-11,0,0,0,0,0,-64, + 0,-12,0,0,0,0,-241,-328,0,-356, + 0,0,0,0,-130,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-53,0,0,-126,0,0, - 0,0,0,-342,0,0,0,-9,-65,0, - 0,-271,0,0,0,-16,0,0,0,-11, - 0,0,0,0,0,0,-119,-181,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,-303,0,0, + 0,0,0,-255,0,0,-117,0,0,0, + 0,-13,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-218,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-121,0,0,0,0,0,-50,0, - 0,0,0,0,0,0,0,0,0,-146, - 0,0,0,-12,0,0,0,0,0,0, - 0,-460,0,0,0,-218,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-15,0,0,0,0, + 0,-28,0,0,0,0,0,0,0,-65, + 0,0,-271,0,0,-374,0,0,0,0, + -224,0,0,0,0,0,-53,0,-187,0, + 0,0,0,0,-29,0,0,0,0,0, + 0,-511,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-57,0,0,0,0,0, - -64,0,0,0,-145,-51,0,0,0,0, - 0,-148,0,0,0,0,0,0,0,0, - 0,0,0,0,-220,-13,0,-128,-207,0, - 0,0,0,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,-462, + 0,0,0,0,-535,0,0,0,-136,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-221,0,0, - 0,0,0,0,0,0,-257,0,0,0, - 0,-533,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-15,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-54, - 0,0,0,0,-186,-330,0,0,0,0, + 0,0,0,-49,0,0,0,0,0,-393, + 0,0,-59,0,0,0,0,0,-134,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-188,0, - -28,0,0,0,-204,-1,0,0,0,0, - -388,-440,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-29,0,0,0, - 0,0,0,0,-42,-187,0,0,0,-255, - -3,0,0,0,0,0,0,0,0,0, + 0,-330,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,-136, - 0,0,0,0,0,0,0,0,-177,0, - 0,0,0,-106,0,0,0,-30,0,0, + 0,0,0,0,-30,0,0,0,0,0, + -50,0,0,0,0,0,-51,0,0,0, + 0,0,0,0,-58,0,0,0,0,-207, + 0,0,0,-442,0,0,0,0,0,0, 0,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,-360,0, + 0,0,0,0,0,0,-3,0,0,0, + -60,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-119, + 0,0,0,0,0,-57,0,0,0,0, + 0,-129,0,0,-228,0,0,0,-275,0, + 0,0,-107,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-344,0,0,0,0,0,-31,0, - 0,-275,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-204,0,0, + 0,0,0,-32,0,0,0,0,0,0, + 0,0,0,-318,0,0,0,-113,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-33,0,0,0, + 0,0,0,0,0,0,-34,0,-200,0, + 0,-225,0,0,0,-126,0,0,-35,0, + 0,0,0,-210,-238,0,0,-79,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-137,0,-184,0,0,0, - 0,0,0,0,-150,0,0,0,-32,0, - 0,0,0,0,0,0,0,-18,0,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,-347,0,0,0,0,0, - 0,0,0,0,-129,0,-278,0,0,-376, - 0,0,0,0,-414,-319,0,0,0,0, + -319,0,0,0,0,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,-387,0,-342,0,0,0,0, + 0,0,-177,0,0,-39,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-296,0,0,0,-494,0, - -33,0,0,-272,0,0,0,0,-39,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,-299,0,0,0,-467,0, + -262,0,0,-375,0,0,0,-41,0,0, + 0,-37,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-35,0,0,0,0,-59,-391,0,0, - 0,0,-41,0,0,0,-60,0,0,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,-532,0,0,0,0, - 0,0,0,0,0,-94,0,0,0,0, + 0,0,-337,0,0,-137,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,0,-298,0,0,0,0,0,0,0, + 0,0,-38,0,0,0,0,-143,0,0, + 0,-95,0,0,0,-151,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -198,0,0,0,0,0,0,0,-95,0, - 0,0,-107,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-36,0,0,0,0,0,-203,0,0, - 0,0,0,-303,0,0,-143,0,0,0, - 0,-96,0,0,0,-113,0,0,0,0, + 0,0,0,0,0,0,-534,0,0,-152, + 0,0,0,-96,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, - -229,0,0,0,0,0,0,0,0,0, - 0,-38,0,0,-97,0,0,0,-151,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-526,0,0,0, + 0,-278,0,0,0,-97,0,0,0,-196, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-254,0,0,0,0,0,0, - 0,0,-152,0,-364,0,0,-98,0,0, - 0,-196,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-40,0, + 0,0,0,0,-55,0,0,0,0,0, + 0,0,0,-194,0,0,0,-98,0,0, 0,0,0,0,0,0,0,0,0,0, - -40,0,0,0,0,0,-267,0,0,0, - 0,0,0,0,0,-194,0,-55,0,0, - -99,0,0,0,-205,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-56,0,0,0,0,0,-268, - 0,0,0,0,0,0,0,0,-66,0, - -67,0,0,-100,0,0,0,-233,0,0, + -265,0,0,0,0,0,0,0,0,0, + -527,0,-184,0,0,-56,0,0,0,-99, + 0,0,0,-205,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,0,-270,0,0,0,0,0,0,0, - 0,-228,0,-279,0,0,-101,0,0,0, - -240,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-70, - 0,0,0,0,0,-274,0,0,0,0, - 0,0,0,0,-300,0,-108,0,0,-102, - 0,0,0,-291,0,0,0,0,0,0, + 0,0,-266,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-331,0,0, + 0,-100,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,0,0,0, - 0,0,-109,0,0,0,0,-331,-448,-110, - 0,0,-103,0,0,0,-247,0,0,0, + 0,0,0,0,-476,0,0,0,0,0, + -198,0,0,0,0,0,-203,0,0,-362, + 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,-354,0,0,0,0, - 0,-286,0,0,0,0,0,-385,0,0, - -332,0,0,0,0,-104,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-386,0, - 0,0,0,0,-111,0,0,0,0,0, - 0,0,0,-131,-200,-401,0,0,-134,0, + 0,0,-229,0,0,0,0,0,0,0, + 0,-480,-219,0,0,-102,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,-254,0,0,0,0,0, + 0,0,0,-279,-220,0,0,-103,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,-211,0,0,0, - -138,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,-267,0,0,0, + 0,0,-69,0,0,-300,-221,0,0,-104, 0,0,0,0,0,0,0,0,0,0, - 0,-417,0,0,-141,0,0,0,0,0, - 0,0,-185,0,0,0,-527,0,0,0, 0,0,0,0,0,0,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,-139,0,0,-474,0,0,0,0,-345, - 0,0,0,-140,0,0,0,0,0,0, + 0,0,-376,0,-268,0,0,-450,0,0, + 0,-211,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,-304,0, - 0,0,0,0,0,0,0,-355,0,0, + 0,0,0,0,-70,0,0,0,0,0, + -108,0,0,0,0,0,-270,0,0,-109, + 0,0,0,-529,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,-403,0,0,0,0,0,-274,0, + 0,-322,0,0,0,-345,0,0,0,-314, 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,-335,0,0,0,-154, - -371,0,0,0,0,0,-155,-380,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-111,0, + -131,0,0,-355,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -156,0,0,0,0,0,-309,0,0,0, - 0,0,-442,0,0,-381,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-265,0, - 0,0,0,0,-320,0,0,0,0,0, - 0,0,0,-375,0,0,0,-464,0,0, - 0,0,0,0,-157,-451,0,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,0,-326,0,0,0,0,0, - -418,0,0,-93,0,0,0,0,0,0, + 0,-433,0,0,0,-138,-344,-435,0,0, + 0,-379,0,0,0,0,0,0,0,0, 0,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,-58,0,0,0, - -356,0,-160,-411,0,0,0,0,-241,-431, - 0,0,0,-91,0,0,0,0,0,0, + 0,0,0,0,0,0,-364,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,-92,0,0,0,-161, + 0,0,0,0,0,0,0,0,-286,0, + 0,0,0,0,0,0,0,-469,0,0, + 0,-139,-347,-470,0,0,0,-453,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,0,-163,0,-392,0,0,0, - 0,0,0,0,0,0,0,0,0,-89, - 0,0,0,-164,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-248,0,0,0,0,-47,0,0, - 0,-165,0,-135,-48,0,-123,0,0,-176, - 0,0,0,0,0,0,0,-166,-167,0, - 0,-378,0,0,0,-333,0,0,0,0, - 0,0,0,0,-430,0,0,-538,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,0,-168,0,0,0,0, - -249,-461,-222,-250,-210,0,0,0,0,0, - 0,0,-235,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-328,0,0,-169,-61,0,0, - 0,0,-170,0,-209,0,0,0,0,0, - 0,-281,0,0,0,0,0,0,0,0, - 0,0,0,0,-223,0,0,0,-193,0, - 0,0,0,0,-403,0,0,0,0,0, - 0,0,0,0,0,-284,0,0,0,0, - -365,-305,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-171,0,-172,0, - 0,0,0,0,-439,0,0,0,0,0, - 0,0,0,0,0,0,0,-173,0,-266, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-237,0,-174,0, - 0,0,0,0,0,0,0,0,-358,-175, - -353,-178,0,0,-337,0,0,-395,0,0, - -179,0,0,-433,0,0,0,-180,-183,0, - -191,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,0,0, - -83,0,0,0,-192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-310,0,0,0,0,0,-195, - -116,-232,0,0,0,0,0,0,0,0, - -206,0,0,0,-239,0,0,0,-216,-118, - -217,-298,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,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,0,0,0,-429,0,0,0, - 0,0,-245,0,0,0,0,-264,0,-322, - 0,0,0,-231,0,0,-43,-423,-44,0, - 0,0,0,0,0,0,0,0,0,-339, - 0,-311,0,0,0,0,0,-226,-294,0, - 0,0,0,0,0,-382,0,0,0,0, - 0,0,-449,0,0,0,0,-246,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-234,-14,0,0,0,0,0,0,0, - -295,0,-236,-244,0,0,0,0,0,0, - 0,0,0,-478,0,0,-313,0,0,0, - 0,-253,0,0,0,0,0,0,0,0, - 0,-409,-269,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-526,0,0, - 0,0,0,0,0,0,0,0,0,0, - -258,0,0,-52,0,0,0,-351,0,0, - 0,-120,-325,0,0,0,0,0,0,0, - 0,0,0,0,0,-323,-396,-117,-73,-486, - 0,0,0,0,-341,0,0,0,0,-465, - 0,-127,0,0,0,0,0,0,-260,-261, - 0,0,0,-467,0,0,0,0,0,-276, - 0,0,0,0,-377,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,-277,0,0,0, - 0,0,-288,-292,0,0,0,0,0,-357, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-293,0,-19, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-86,0,0,0, - -122,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-389, - 0,0,-87,0,0,0,-301,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-458,0,0,-390,0, - 0,0,0,-197,0,-283,-147,0,0,0, - -302,-410,0,-144,0,-529,0,0,0,0, - -321,0,0,0,0,-124,0,-243,0,-142, - 0,0,0,0,0,0,0,0,0,0, - -307,0,0,0,0,0,0,0,0,0, - 0,-481,0,0,0,0,-315,-316,0,-471, - 0,0,0,0,0,0,0,0,0,0, - -317,0,0,0,0,-413,-524,-416,-133,0, - 0,0,-425,0,-428,0,0,0,0,0, - 0,0,0,0,0,-421,0,0,0,0, - 0,0,0,0,0,0,0,-483,0,0, - 0,0,0,0,0,-327,0,0,0,0, - 0,0,0,0,0,0,0,0,-453,-45, - 0,0,0,0,-470,0,0,-346,0,-149, - 0,0,0,0,0,0,0,0,-259,0, - 0,-348,0,0,0,0,-420,0,0,0, - 0,0,0,-500,0,0,0,0,0,0, - 0,-495,0,0,0,0,0,0,0,0, - 0,0,0,0,-462,-366,0,-521,0,0, - 0,0,0,0,-522,0,-369,-227,0,0, - 0,0,0,0,-370,0,0,-282,-384,0, - 0,0,0,0,0,0,0,0,0,-514, - -251,-393,0,0,0,-273,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-504, - 0,0,0,0,0,-463,-242,-466,0,0, - -290,0,0,0,-394,0,0,0,0,0, - -397,0,0,-398,0,0,0,0,0,0, - 0,0,0,0,0,-516,-252,-68,0,0, - 0,0,0,0,0,0,-476,0,0,0, - 0,0,0,0,-404,0,-407,0,0,0, - 0,0,-489,0,0,0,0,0,0,-285, - 0,0,0,0,0,0,0,0,-444,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-230,0,0,0,-280,0,0,0,-406, - 0,0,0,0,0,0,0,0,0,0, - -518,0,0,0,0,0,0,0,0,0, - 0,0,0,-412,0,-74,-374,-499,0,0, - 0,0,-352,0,0,0,-46,-520,0,0, - 0,0,-312,0,0,0,-419,0,0,0, - 0,0,0,-426,0,-427,-450,-202,0,0, - 0,0,-452,-334,0,-454,0,-473,0,0, - 0,0,0,0,0,0,0,0,-490,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-340,0,0,0,0,-455,-456, - -535,-457,0,0,0,0,0,0,0,0, - 0,0,-468,0,0,0,0,0,0,-459, - -477,-479,-480,0,0,0,0,-350,-482,0, - -469,-487,0,0,0,0,0,0,0,0, - 0,-491,0,0,-497,0,0,0,0,0, - 0,0,0,0,0,0,0,-540,0,0, - -492,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-446,0,-484,-472,0, - 0,0,0,-496,0,-498,0,0,-505,-329, - -513,-506,0,0,0,0,0,0,0,0, - 0,-515,-523,0,0,0,0,0,0,0, - 0,0,0,0,-528,-539,0,0,0,0, + -140,0,-291,0,0,-106,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-77,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-332,0, + 0,0,0,0,-304,0,0,0,0,0, + -148,0,0,0,-402,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,-78,0,0, + 0,0,0,0,0,0,-153,0,0,0, + 0,0,0,0,0,0,-91,0,0,0, + -154,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-155, + 0,0,0,0,0,0,0,0,-92,0, + 0,0,-156,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,-88, 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,0,-81,0,0,0,-402, + 0,0,-157,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,-336,-105, - -445,-212,0,0,0,0,0,-501,-373,-475, - 0,0,0,0,-213,-400,0,0,0,0, - 0,0,0,0,-182,0,0,0,0,0, - 0,0,-517,0,0,-214,-503,-432,0,0, + 0,-89,0,0,0,-158,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-385, + -209,0,0,0,-141,0,0,0,-159,0, + -176,0,0,0,-384,0,0,0,0,0, + -160,0,0,-223,0,0,0,-272,0,0, + -377,0,0,0,0,0,-313,0,-190,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,-161,0,0,0,0, + -61,0,-308,-309,0,-43,0,0,-310,0, + 0,0,0,-235,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-540,0,0, + -536,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-232,0,0,0, + 0,-305,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-372,0,-390,-162,-181, + -296,0,0,0,0,0,0,0,-466,0, + -18,0,0,0,-311,-163,0,-164,0,0, + -233,0,0,0,0,-321,0,0,0,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,-145, + 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,0,0,0, + 0,0,-83,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-240,0,0,0,0, + -165,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,-166, + 0,0,-72,0,0,0,-167,0,0,0, + 0,0,0,0,0,-168,-84,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-169, + 0,0,0,-85,0,0,0,-419,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-431,0,0,0, + 0,-150,0,0,0,-351,0,0,0,0, + 0,0,0,0,-170,0,-17,-320,-135,0, + 0,0,0,-381,-171,0,-239,0,0,0, + -127,0,0,0,0,0,-326,-172,0,0, + 0,-415,0,0,0,0,0,0,0,0, + 0,0,-451,0,-496,0,0,-245,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-173,0,-400,0, + 0,0,-52,0,0,0,0,0,0,-174, + 0,0,-333,0,0,0,0,-510,0,0, + 0,-175,0,0,0,0,0,0,-120,0, + 0,0,0,0,0,0,-178,0,0,0, + 0,0,0,0,0,0,0,-528,0,0, + 0,0,0,0,0,0,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,-179,0,0,0,0,0,0, + 0,-142,0,0,0,0,0,-317,0,0, + -185,0,0,0,0,0,0,0,-441,0, + 0,0,0,0,0,0,-352,0,0,0, + 0,0,0,0,0,-447,-336,-339,0,0, + 0,0,0,0,0,0,-180,0,0,0, + 0,0,-183,0,0,-191,0,0,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,-325,0,0,0,-192,0,0,0,0, + 0,0,0,0,0,0,-432,0,0,-237, + -48,0,-247,0,0,-197,0,-341,-358,0, + 0,0,0,-460,0,-420,-195,0,-259,0, + 0,-242,0,-357,0,0,0,0,0,0, + 0,0,-246,0,0,0,0,0,0,0, + 0,0,0,-366,0,0,-44,0,-206,-389, 0,0,0,0,0,0,0,0,0,0, - 0,-507,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-379,0,0,0,0, - 0,0,0,0,0,0,0,0,-349,0, - 0,0,0,0,0,-438,0,-215,0,0, - 0,0,0,0,0,-359,-508,-447,-363,0, - 0,0,0,0,0,-511,-437,0,0,0, - 0,0,0,-510,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-248,0,0,0,0,-483,-216,0,0, + 0,0,0,0,0,0,0,0,0,-217, + -226,0,-234,0,0,0,-488,0,0,0, + 0,-523,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-193,-236,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-441,0,0,0,0,0, + 0,0,-485,-425,0,0,0,0,-397,0, + -249,-244,0,0,0,0,0,0,0,0, + 0,-273,0,0,0,0,0,-285,0,0, + 0,0,0,0,-290,0,0,0,0,0, + 0,0,-264,0,0,0,0,0,0,0, + 0,-250,0,0,0,0,0,0,-502,-414, + -284,0,0,0,-294,0,-295,-416,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-512,0,0,0,0,0,0,0,0, - 0,0,-20,0,0,0,-530,0,0,0, + 0,0,0,0,-253,-258,0,0,0,0, + 0,0,0,-260,-506,0,0,0,0,0, + 0,0,-116,-323,0,0,0,0,0,0, + 0,0,0,0,-516,-261,-334,0,0,0, + 0,0,0,0,0,-276,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -361,-410,0,0,-388,-418,0,0,0,0, + -365,0,0,0,0,-277,0,-422,-411,0, 0,0,0,0,0,0,0,0,0,0, + -518,-288,-423,0,0,0,0,0,0,0, + 0,-292,0,0,0,0,0,0,0,-293, + 0,-468,0,0,-301,0,0,0,0,0, + 0,0,0,0,0,0,0,-427,0,0, + -302,0,0,0,0,-430,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-537,-525, - 0,0,-189,0,0,0,-531,-536,0,0, - 0,0,0,-21,0,0,0,0,0,0, + 0,-42,0,0,0,0,0,-307,0,0, + 0,0,0,0,0,-520,0,0,0,0, + 0,0,0,0,0,0,0,0,-444,-1, + 0,-486,0,0,0,0,-122,-471,-359,-124, + 0,-45,-522,-315,0,0,0,-371,0,0, + -312,0,0,0,0,-316,-327,-346,0,-46, + 0,-455,-348,0,0,0,0,-367,0,-464, + 0,0,0,0,0,0,0,-370,0,0, + 0,0,0,-472,0,-383,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-473,0,-537,-395,0,0,0, + 0,0,0,0,0,0,0,-401,0,0, + 0,0,0,0,0,0,0,-475,0,-465, + -497,0,0,-396,0,0,0,0,0,0, + -398,-202,-338,0,0,0,0,0,-474,0, + -494,0,0,0,0,0,0,0,0,0, + 0,0,-542,-503,0,0,0,0,0,-478, 0,0,0,0,0,0,0,0,0,0, + -491,-399,-405,0,-407,0,0,-413,0,0, + 0,0,0,0,0,0,0,0,0,-524, + 0,0,0,0,0,-421,-505,0,0,0, + 0,-428,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-429,0,-452, + 0,0,0,0,0,0,0,-77,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,0,-23,0,0,0,0,0,0,0, + -454,0,-78,0,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,-456,0,-80,0,0, + 0,-457,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-25,0,0,0, + -81,0,0,0,-458,0,0,0,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,-378,0,0,0,0,0,0, + 0,0,0,0,0,0,-492,-443,0,0, 0,0,0,0,0,0,0,0,0,0, + -22,0,0,0,-499,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,0,-498,-507,0,-459,0,0,-512,0, + 0,0,0,0,-515,-461,0,0,0,-479, + -481,-482,0,-484,-489,0,0,0,-493,0, + 0,0,-500,-508,-517,-525,-530,-541,0,-23, 0,0,0,0,0,0,0,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,0,0,-75,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,0,0,0,0,-76,0,0,0, + 0,0,0,0,0,0,0,-519,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,0,0,0,0,0,-132,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, - -201,0,0,0,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,-338,-289,-519,0,0,0,0,0, - 0,0,-367,0,0,0,0,0,0,0, - 0,0,-372,0,0,0,0,0,0,0, + 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,0,0,-75,0,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, 0,0,0,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, + 0,0,0,-201,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,-532, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-415,0,0,0,0, - 0,0,0,0,0,-424,0,0,0,0, + 0,0,0,0,0,0,-392,-531,-68,-509, + 0,0,0,-353,0,-440,0,-539,0,0, + -73,0,-251,0,0,0,0,0,0,0, + 0,-149,0,0,0,0,0,0,0,0, + 0,-74,0,-513,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-199,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,0,0,-514, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -306,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-133,0,0,0, + 0,0,0,-47,0,0,0,0,0,0, + -343,0,0,0,-533,0,0,0,0,0, + 0,0,0,-382,0,0,0,-538,0,0, + 0,0,0,0,0,0,0,-105,0,0, + 0,0,0,0,0,0,0,0,-252,0, + -329,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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,0,0,0,0,0, - 0,0,-306,0,0,0,0,0,0,0, + 0,-125,0,0,0,-448,0,-363,0,0, + -446,0,0,0,0,-263,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,0,0,0,-383,0,0,0,0, + 0,-368,-212,-213,0,0,0,0,-434,-477, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-125,0,0,0,0,0, + 0,0,0,0,0,0,0,-182,0,0, 0,0,0,0,0,0,0,0,0,0, + -439,0,0,0,0,0,-391,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-189,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, - -502,0,0,0,0,0,0,0,0,0, - 0,0,0,-324,0,0,0,0,0,-263, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-426,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-282,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-387,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -405,0,0,0,0,-368,0,0,0,0, + 0,0,0,-369,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-222,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-324,0,-144,0,0,0,0, + 0,0,0,-227,0,0,0,0,-230,0, 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,-422,0, - 0,0,-434,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-435,0, - 0,0,-443,0,0,0,0,0,0,0, - -17,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,-280,0,0, + 0,0,-340,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-501, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-436,0,0,0,0,0, - 0,0,-485,0,0,0,0,0,0,-208, - 0,0,0,-256,0,0,0,0,0,0, - 0,0,-488,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-349,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-386,0,0,0,0,0, + -406,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-409,0,0,0,0,0, + 0,-424,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-436, 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,-445,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-199,0,0,0,-208,0, + 0,0,0,-350,0,0,-487,0,0,0, + 0,0,0,0,-256,0,0,0,0,0, + 0,0,0,0,-214,0,-438,0,0,0, + 0,0,0,0,0,0,-490,0,0,-449, + 0,0,0,0,-495,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-215,0,0,0,0,-289, + -521,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -545,7 +532,9 @@ public class CPPSizeofExpressionParserprs 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,0,0,0,0,0, + 0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -555,551 +544,541 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 174,4,136,83,83,35,35,67,67,38, - 38,40,40,200,1,1,15,15,15,15, + 174,4,136,81,81,35,35,67,67,38, + 38,42,42,200,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,65,65,5,5, 12,12,44,44,137,137,138,56,56,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,139, - 139,139,115,115,18,18,18,18,18,18, + 139,139,113,113,18,18,18,18,18,18, 18,18,18,18,18,18,19,19,175,175, 176,176,177,142,142,143,143,140,140,144, 141,141,20,20,21,21,22,22,22,24, 24,24,24,25,25,25,26,26,26,27, 27,27,27,27,28,28,28,30,30,31, - 31,32,32,34,34,36,36,37,37,42, - 42,41,41,41,41,41,41,41,41,41, - 41,41,41,41,39,29,145,145,97,97, - 178,178,92,201,201,68,68,68,68,68, + 31,32,32,34,34,36,36,37,37,41, + 41,40,40,40,40,40,40,40,40,40, + 40,40,40,40,39,29,145,145,95,95, + 178,178,90,201,201,68,68,68,68,68, 68,68,68,68,69,69,69,66,66,55, - 55,179,179,70,70,70,103,103,180,180, + 55,179,179,70,70,70,101,101,180,180, 71,71,71,181,181,72,72,72,72,72, - 73,73,84,84,84,84,84,84,84,84, - 50,50,50,50,50,116,116,114,114,51, - 182,23,23,23,23,23,48,48,87,87, - 87,87,87,152,152,147,147,147,147,147, + 73,73,82,82,82,82,82,82,82,82, + 50,50,50,50,50,114,114,112,112,51, + 182,23,23,23,23,23,48,48,85,85, + 85,85,85,152,152,147,147,147,147,147, 148,148,148,149,149,149,150,150,150,151, - 151,151,88,88,88,88,88,89,89,89, + 151,151,86,86,86,86,86,87,87,87, 13,13,13,13,13,13,13,13,13,13, - 13,98,120,120,120,120,120,120,118,118, - 118,153,119,119,183,155,155,154,154,122, - 122,104,79,79,80,81,53,47,156,156, - 54,52,86,86,157,157,146,146,123,124, - 124,125,76,76,158,158,63,63,63,59, - 59,58,64,64,75,75,57,57,57,49, - 90,90,100,99,99,62,62,60,60,61, - 61,45,101,101,101,93,93,93,94,94, - 95,95,95,96,96,105,105,105,107,107, - 106,106,202,202,91,91,185,185,185,185, - 185,127,46,46,160,184,184,128,128,128, - 128,129,162,186,186,33,33,117,130,130, - 130,130,188,109,108,108,121,121,121,163, + 13,96,118,118,118,118,118,118,116,116, + 116,153,117,117,183,155,155,154,154,120, + 120,102,79,79,121,53,47,156,156,54, + 52,84,84,157,157,146,146,122,123,123, + 124,76,76,158,158,63,63,63,59,59, + 58,64,64,75,75,57,57,57,49,88, + 88,98,97,97,62,62,60,60,61,61, + 45,99,99,99,91,91,91,92,92,93, + 93,93,94,94,103,103,103,105,105,104, + 104,202,202,89,89,185,185,185,185,185, + 126,46,46,160,184,184,127,127,128,128, + 128,129,162,186,186,33,33,115,130,130, + 130,130,188,107,106,106,119,119,119,163, 164,164,164,164,164,164,164,164,164,164, 164,190,190,187,187,189,189,165,166,166, - 166,166,167,191,111,110,110,192,192,168, - 168,168,168,102,102,102,193,193,8,8, + 166,166,167,191,109,108,108,192,192,168, + 168,168,168,100,100,100,193,193,8,8, 9,194,194,195,169,159,159,170,170,171, 172,172,7,7,10,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,77,82,82, + 196,196,196,196,196,196,196,77,80,80, 173,173,132,132,133,133,133,133,133,133, - 3,134,134,131,131,112,112,85,78,74, - 161,161,113,113,197,197,197,135,135,126, - 126,198,198,174,174,1119,35,2064,2052,1278, - 3210,27,30,31,946,1025,26,28,1971,25, - 23,50,1081,104,75,76,106,1127,1982,1219, - 1188,1361,1269,1402,71,1373,1565,1522,271,1582, - 142,1651,141,1243,35,394,156,142,1217,35, - 874,32,236,3320,27,30,31,946,1025,57, - 28,1267,1279,3121,35,874,32,230,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,2023,1219,1188,1361, - 1269,2404,233,228,229,588,35,1711,386,3121, - 35,874,32,272,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 106,2147,240,243,246,249,853,2440,271,69, - 2580,2079,35,275,2428,817,1860,35,874,32, - 2551,3320,27,30,31,946,1025,56,28,1657, - 558,3574,2998,2770,2982,3131,3206,4645,2316,35, - 874,32,2974,1278,27,30,31,946,1025,26, - 28,810,25,23,50,1081,104,75,76,106, - 1127,341,1219,1188,1361,1269,1402,61,1373,1565, - 1522,737,1582,273,1651,141,3490,56,1179,515, - 142,688,2168,2538,2344,35,874,32,1534,4900, - 27,30,31,946,1025,26,28,135,509,516, - 2316,35,874,32,2974,1278,27,30,31,946, - 1025,26,28,810,25,23,50,1081,104,75, - 76,106,1127,341,1219,1188,1361,1269,1402,1700, - 1373,1565,1522,3584,1582,1010,1651,141,327,35, - 277,515,142,4103,2728,2538,2932,1179,2493,2121, - 511,86,1643,3237,100,60,1500,35,874,32, - 1016,516,41,30,31,946,1025,1330,1773,2672, - 326,333,2681,3875,2316,35,874,32,2974,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,341,1219,1188, - 1361,1269,1402,1229,1373,1565,1522,1257,1582,56, - 1651,141,511,750,870,515,142,2689,496,2538, - 2407,35,874,32,2681,331,40,30,31,946, - 1025,2688,588,3483,2681,516,2524,35,874,32, - 2974,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,341, - 1219,1188,1361,1269,1402,56,1373,1565,1522,824, - 1582,1017,1651,141,285,56,1599,515,142,1141, - 2751,2538,1715,35,874,32,511,4900,27,30, - 31,946,1025,59,28,135,2682,516,1010,588, - 35,1711,386,3035,1675,2725,1823,3238,2681,2659, - 35,874,32,445,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 106,1127,49,1219,1188,1361,1269,1402,135,1373, - 1565,1522,46,1582,327,1651,141,2049,512,3588, - 377,142,2385,35,874,32,1045,1278,27,30, - 31,946,1025,26,28,810,25,23,50,1081, - 104,75,76,106,1127,2683,1219,1188,1361,1269, - 1402,458,1373,1565,1522,402,1582,1614,1651,141, - 1614,2013,3588,377,142,69,3121,35,874,32, - 3378,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,2468, - 1219,1188,1361,1269,1402,495,1373,1565,1522,69, - 1582,2245,2750,162,3512,1868,2249,383,2055,3427, - 1141,1721,2591,35,874,32,3194,1278,27,30, - 31,946,1025,26,28,810,25,23,50,1081, - 104,75,76,106,1127,154,1219,1188,1361,1269, - 1402,441,1373,1565,1522,533,1582,413,1651,141, - 384,2055,3588,377,142,56,2129,1752,2050,1141, - 322,2887,35,874,32,3375,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,106,1127,154,1219,1188,1361,1269,1402, - 1873,1373,1565,1522,1503,1582,1571,1651,141,588, - 35,2771,156,142,3121,35,874,32,1445,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,387,1219,1188, - 1361,1269,1402,1604,1373,1565,1522,354,2617,64, - 375,2055,2887,35,874,32,529,1278,27,30, - 31,946,1025,26,28,810,25,23,50,1081, - 104,75,76,106,1127,351,1219,1188,1361,1269, - 1402,400,1373,1565,1522,1699,1582,56,1651,141, - 539,2503,91,371,142,1715,35,874,32,2284, - 4900,27,30,31,946,1025,58,28,1976,35, - 1711,386,2887,35,874,32,558,1278,27,30, - 31,946,1025,26,28,810,25,23,50,1081, - 104,75,76,106,1127,2750,1219,1188,1361,1269, - 1402,49,1373,1565,1522,1010,1582,2556,1651,141, - 2728,1709,799,371,142,1721,2887,35,874,32, - 352,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,370, - 1219,1188,1361,1269,1402,135,1373,1565,1522,1721, - 1582,587,1651,141,588,35,280,371,142,2457, - 35,874,32,494,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 106,1127,322,1219,1188,1361,1269,1402,457,1373, - 1565,1522,1355,1582,2456,1651,141,1614,2154,369, - 140,142,4496,2887,35,874,32,1614,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,2580,1219,1188,1361, - 1269,1402,4349,1373,1565,1522,159,1582,3258,1651, - 141,353,24,367,157,142,2887,35,874,32, - 529,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,3830, - 1219,1188,1361,1269,1402,321,1373,1565,1522,445, - 1582,56,1651,141,529,2657,419,153,142,2887, - 35,874,32,1614,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 106,1127,400,1219,1188,1361,1269,1402,56,1373, - 1565,1522,2319,1582,69,1651,141,1010,68,3614, - 152,142,2887,35,874,32,1614,1278,27,30, - 31,946,1025,26,28,810,25,23,50,1081, - 104,75,76,106,1127,1226,1219,1188,1361,1269, - 1402,56,1373,1565,1522,802,1582,87,1651,141, - 100,53,1146,151,142,2887,35,874,32,1614, - 1278,27,30,31,946,1025,26,28,810,25, - 23,50,1081,104,75,76,106,1127,379,1219, - 1188,1361,1269,1402,56,1373,1565,1522,721,1582, - 4371,1651,141,1010,52,2552,150,142,2887,35, - 874,32,1614,1278,27,30,31,946,1025,26, - 28,810,25,23,50,1081,104,75,76,106, - 1127,1617,1219,1188,1361,1269,1402,56,1373,1565, - 1522,2744,1582,404,1651,141,1010,348,1625,149, - 142,2887,35,874,32,1614,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,106,1127,1627,1219,1188,1361,1269,1402, - 56,1373,1565,1522,2862,1582,51,1651,141,1174, - 88,2690,148,142,2887,35,874,32,1614,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,1323,1219,1188, - 1361,1269,1402,56,1373,1565,1522,2927,1582,324, - 1651,141,1330,1786,2380,147,142,2887,35,874, - 32,1614,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,106,1127, - 1441,1219,1188,1361,1269,1402,56,1373,1565,1522, - 3251,1582,1743,1651,141,1330,1872,160,146,142, - 2887,35,874,32,666,1278,27,30,31,946, - 1025,26,28,810,25,23,50,1081,104,75, - 76,106,1127,322,1219,1188,1361,1269,1402,323, - 1373,1565,1522,676,1582,2675,1651,141,1010,1088, - 848,145,142,2887,35,874,32,1614,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,322,1219,1188,1361, - 1269,1402,56,1373,1565,1522,2534,1582,2627,1651, - 141,666,67,4805,144,142,2887,35,874,32, - 282,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,314, - 1219,1188,1361,1269,1402,1167,1373,1565,1522,69, - 1582,95,1651,141,2691,1818,2552,143,142,2832, - 35,874,32,283,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 106,1127,520,1219,1188,1361,1269,1402,56,1373, - 1565,1522,3849,1582,297,2750,162,2887,35,874, - 32,1503,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,106,1127, - 870,1219,1188,1361,1269,1402,70,1373,1565,1522, - 2924,1582,2552,1651,141,327,35,277,138,142, - 4522,436,325,1243,35,2868,670,3005,35,874, - 32,1666,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,106,1127, - 219,1219,1188,1361,1269,1402,49,1373,1565,1522, - 1010,1582,3321,1651,141,1330,1709,2565,187,142, - 3121,35,874,32,1453,1278,27,30,31,946, - 1025,26,28,810,25,23,50,1081,104,75, - 76,106,1127,408,1219,1188,1361,1269,1402,1390, - 1373,1565,1522,794,1582,3704,2750,162,3121,35, - 874,32,3192,1278,27,30,31,946,1025,26, - 28,810,25,23,50,1081,104,75,76,106, - 1127,570,1219,1188,1361,1269,1402,56,1373,1565, - 1522,2978,1582,96,2750,162,2407,35,874,32, - 580,2050,1625,30,31,946,1025,1015,3121,35, - 874,32,421,1278,27,30,31,946,1025,26, - 28,810,25,23,50,1081,104,75,76,106, - 1127,1700,1219,1188,1361,1269,1402,56,1373,1565, - 1522,3553,1582,2552,2750,162,3121,35,874,32, - 290,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,142, - 1219,1188,1361,1269,1402,56,1373,1565,1522,2669, - 1582,301,2750,162,2407,35,874,32,588,3662, - 1926,30,31,946,1025,1787,3176,35,874,32, - 420,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,1223, - 1219,1188,1361,1269,1402,56,1373,1565,1522,3976, - 1582,2244,2750,162,3121,35,874,32,423,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,1534,1219,1188, - 1361,1269,1402,1385,1373,1565,2537,588,1737,1924, - 34,588,3237,1559,588,35,1711,386,2127,1988, - 588,35,1711,386,3121,35,874,32,3649,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,429,1219,1188, - 1361,1269,1402,450,1373,2449,3121,35,874,32, - 1875,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,1127,1965, - 1219,1188,1361,1269,1402,2022,2496,1518,35,874, - 32,3648,3959,27,30,31,946,1025,337,28, - 3121,35,874,32,1709,1278,27,30,31,946, - 1025,26,28,810,25,23,50,1081,104,75, - 76,106,1127,1614,1219,1188,1361,2432,588,35, - 1711,386,2491,286,2417,1354,2689,241,3184,1141, - 588,35,1924,2769,330,317,1754,319,2558,1701, - 312,1317,327,35,451,310,56,4771,66,660, - 3979,49,3073,311,158,843,35,451,159,349, - 4771,1709,592,3121,35,874,32,4613,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,1703,1219,1188,1361, - 2448,1614,2717,1180,1614,1334,1141,2974,4904,350, - 304,308,2271,1400,35,874,32,3388,3516,27, - 30,31,946,1025,337,28,226,342,1255,1170, - 347,154,1546,2002,1988,1632,65,486,2147,64, - 198,3599,3259,1374,3567,757,35,1711,386,997, - 405,4710,1888,35,874,32,4704,3516,27,30, - 31,946,1025,337,28,588,35,2640,2209,1983, - 870,317,1754,319,3875,838,312,1317,271,2827, - 406,407,408,292,293,3020,1614,349,350,3067, - 1079,322,1898,35,3332,32,3648,3959,27,30, - 31,946,1025,337,28,2971,342,1255,1170,347, - 317,1754,319,350,3030,312,1317,1515,2689,1883, - 1136,2265,444,3475,3520,56,331,350,2996,1141, - 378,342,1255,1170,347,448,3475,3520,2125,340, - 2699,2689,180,2914,350,342,1255,1170,347,330, - 317,1754,319,1632,3699,312,1317,2234,295,2276, - 71,2974,344,1255,1170,347,409,411,1305,2234, - 2413,2122,2306,2974,1436,56,4756,3073,69,3859, - 2513,2139,4613,4819,588,35,1711,386,2347,1096, - 1140,2149,2513,2838,3121,35,874,32,364,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,432,1219,1188, - 2259,3121,35,874,32,2453,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,106,1127,2433,1219,1188,2303,358,2177, - 49,1607,588,35,1924,274,3875,415,417,3318, - 358,1817,2586,2902,2913,1543,35,1924,274,2418, - 1225,2515,2121,1878,3150,2902,2913,3121,35,874, - 32,1213,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,106,1127, - 2689,1219,1188,2313,3121,35,874,32,330,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,106,1127,259,1219,1188, - 2360,535,230,588,3074,1924,73,2136,1285,427, - 2484,818,2974,4904,1947,35,275,56,2646,56, - 226,2974,2974,2974,388,425,154,242,228,229, - 56,226,2433,3389,3547,178,3309,2575,2218,1614, - 341,2513,341,201,213,4776,2371,200,210,211, - 212,214,167,1,997,405,4710,535,1543,35, - 1924,3098,2538,166,2538,181,165,168,169,170, - 171,172,1250,2715,55,870,226,2974,1797,3406, - 1833,1614,154,2305,2553,406,407,408,292,293, - 3020,178,3309,2575,1964,2932,341,1643,3237,201, - 213,4776,1790,200,210,211,212,214,167,503, - 2971,870,69,2449,35,278,54,4823,926,166, + 3,134,134,131,131,110,110,83,78,74, + 161,161,111,111,197,197,197,135,135,125, + 125,198,198,174,174,1119,35,2231,2192,2049, + 2982,27,30,31,872,916,26,28,2106,25, + 23,50,922,104,75,76,106,955,1278,1167, + 1115,1297,1264,1319,241,1307,1442,1380,271,1513, + 838,1629,141,69,2807,156,142,402,4244,737, + 1888,35,812,32,4564,4598,27,30,31,872, + 916,336,28,3121,35,812,32,230,2601,27, + 30,31,872,916,26,28,804,25,23,50, + 922,104,75,76,84,348,1947,35,275,2715, + 233,228,229,2893,1614,69,1500,35,812,32, + 4574,272,41,30,31,872,916,180,316,1854, + 318,3337,340,311,1602,588,35,1881,386,2039, + 240,243,246,249,732,349,3324,71,1279,495, + 2407,35,812,32,1127,1210,40,30,31,872, + 916,341,1476,1009,346,1267,325,332,429,1610, + 649,3242,867,792,2919,3487,3490,4342,2316,35, + 812,32,2893,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,340,1167,1115,1297,1264,1319,721,1307,1442, + 1380,69,1513,2461,1629,141,4579,2023,515,142, + 2615,1351,1229,2521,1217,35,812,32,2440,4152, + 27,30,31,872,916,57,28,949,2154,516, + 2316,35,812,32,2893,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,340,1167,1115,1297,1264,1319,2168, + 1307,1442,1380,2122,1513,2717,1629,141,4655,1187, + 515,142,1225,2646,1393,2521,1140,2893,511,2407, + 35,812,32,1140,1016,2147,30,31,872,916, + 1017,516,2493,440,154,454,2534,2060,2060,2927, + 588,3494,2974,198,3797,2316,35,812,32,2893, + 2601,27,30,31,872,916,26,28,804,25, + 23,50,922,104,75,76,106,955,340,1167, + 1115,1297,1264,1319,230,1307,1442,1380,69,1513, + 511,1629,141,4603,322,515,142,3347,42,3139, + 2521,86,2681,61,100,44,3139,242,228,229, + 237,3027,503,2465,2974,625,516,2524,35,812, + 32,2893,2601,27,30,31,872,916,26,28, + 804,25,23,50,922,104,75,76,106,955, + 340,1167,1115,1297,1264,1319,2682,1307,1442,1380, + 2991,1513,2245,1629,141,500,502,515,142,230, + 2121,387,2521,2050,3494,511,2407,35,812,32, + 286,142,2275,30,31,872,916,1010,516,2129, + 1225,428,238,228,229,413,3076,730,1179,2974, + 3392,3392,2659,35,812,32,3591,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,4566,1167,1115,1297,1264, + 1319,1803,1307,1442,1380,660,1513,512,1629,141, + 588,3631,376,142,3578,2385,35,812,32,1873, + 2601,27,30,31,872,916,26,28,804,25, + 23,50,922,104,75,76,106,955,496,1167, + 1115,1297,1264,1319,56,1307,1442,1380,688,1513, + 2271,1629,141,1614,4439,376,142,3578,1887,2832, + 35,812,32,285,2601,27,30,31,872,916, + 26,28,804,25,23,50,922,104,75,76, + 106,955,2548,1167,1115,1297,1264,1319,4062,1307, + 1442,1380,3366,1513,350,3107,162,2030,3506,383, + 377,1755,3121,35,812,32,1010,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,1445,1167,1115,1297,1264, + 1319,56,1307,1442,1380,750,1513,1599,3107,162, + 324,3323,384,377,1755,588,1893,2061,34,1644, + 588,35,1881,386,2591,35,812,32,3650,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,64,1167,1115, + 1297,1264,1319,49,1307,1442,1380,458,1513,2615, + 1629,141,1770,46,376,142,3578,2887,35,812, + 32,1614,2601,27,30,31,872,916,26,28, + 804,25,23,50,922,104,75,76,106,955, + 1330,1167,1115,1297,1264,1319,56,1307,1442,1380, + 825,1513,1010,1629,141,1330,24,156,142,2887, + 35,812,32,1614,2601,27,30,31,872,916, + 26,28,804,25,23,50,922,104,75,76, + 106,955,1683,1167,1115,1297,1264,1319,1868,1307, + 1442,1380,3112,1513,2284,1629,141,1977,68,370, + 142,374,377,1755,2887,35,812,32,1614,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,587,1167,1115, + 1297,1264,1319,457,1307,1442,1380,494,1513,1818, + 1629,141,2135,53,370,142,327,35,277,1355, + 87,4433,441,100,1334,2079,35,275,3121,35, + 812,32,649,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 2340,2887,35,812,32,369,2601,27,30,31, + 872,916,26,28,804,25,23,50,922,104, + 75,76,106,955,660,1167,1115,1297,1264,1319, + 400,1307,1442,1380,1721,1513,2655,1629,141,660, + 3248,370,142,588,35,3180,2457,35,812,32, + 368,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,1935, + 1167,1115,1297,1264,1319,1330,1307,1442,1380,1330, + 1513,236,1629,141,2655,91,140,142,2887,35, + 812,32,1226,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,1393,1167,1115,1297,1264,1319,3017,1307,1442, + 1380,570,1513,1330,1629,141,1699,366,157,142, + 2887,35,812,32,3601,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,2121,1167,1115,1297,1264,1319,353, + 1307,1442,1380,1146,1513,3134,1629,141,1010,529, + 153,142,2887,35,812,32,1614,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,1933,1167,1115,1297,1264, + 1319,351,1307,1442,1380,445,1513,221,1629,141, + 1010,52,152,142,2887,35,812,32,799,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,858,1167,1115, + 1297,1264,1319,2013,1307,1442,1380,1330,1513,4084, + 1629,141,2551,445,151,142,2887,35,812,32, + 1614,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,1617, + 1167,1115,1297,1264,1319,1625,1307,1442,1380,570, + 1513,51,1629,141,1010,347,150,142,2887,35, + 812,32,523,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,142,1167,1115,1297,1264,1319,321,1307,1442, + 1380,1330,1513,56,1629,141,1627,4549,149,142, + 2887,35,812,32,1614,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,2693,1167,1115,1297,1264,1319,379, + 1307,1442,1380,570,1513,323,1629,141,1010,88, + 148,142,2887,35,812,32,522,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,1330,1167,1115,1297,1264, + 1319,56,1307,1442,1380,3090,1513,56,1629,141, + 1010,817,147,142,2887,35,812,32,2523,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,3833,1167,1115, + 1297,1264,1319,56,1307,1442,1380,933,1513,95, + 1629,141,1964,135,146,142,2887,35,812,32, + 2524,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,1174, + 1167,1115,1297,1264,1319,56,1307,1442,1380,579, + 1513,96,1629,141,2380,135,145,142,2887,35, + 812,32,3305,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,2683,1167,1115,1297,1264,1319,56,1307,1442, + 1380,2529,1513,1323,1629,141,159,135,144,142, + 2887,35,812,32,326,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,521,1167,1115,1297,1264,1319,322, + 1307,1442,1380,1330,1513,56,1629,141,1088,2605, + 143,142,2887,35,812,32,1845,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,1441,1167,1115,1297,1264, + 1319,160,1307,1442,1380,570,1513,56,1629,141, + 676,2487,138,142,3005,35,812,32,373,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,848,1167,1115, + 1297,1264,1319,1330,1307,1442,1380,1473,1513,56, + 1629,141,2484,2988,187,142,3121,35,812,32, + 322,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,520, + 1167,1115,1297,1264,1319,570,1307,1442,1380,1167, + 1513,2690,3107,162,3121,35,812,32,373,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,660,1167,1115, + 1297,1264,1319,371,1307,1442,1380,282,1513,1812, + 3107,162,588,35,1881,386,1503,1604,588,35, + 1881,386,3121,35,812,32,421,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,450,1167,1115,1297,1264, + 1319,432,1307,1442,1380,400,1513,2552,3107,162, + 3121,35,812,32,290,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,3436,1167,1115,1297,1264,1319,56, + 1307,1442,1380,818,1513,404,3107,162,588,35, + 1881,386,3321,2729,588,35,1881,386,3176,35, + 812,32,420,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,431,1167,1115,1297,1264,1319,430,1307,1442, + 1380,1453,1513,666,3107,162,3121,35,812,32, + 423,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,666, + 1167,1115,1297,1264,1319,1390,1307,1442,1380,1386, + 2835,1715,35,812,32,2552,4749,27,30,31, + 872,916,59,28,3121,35,812,32,3854,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,408,1167,1115, + 1297,1264,1319,296,1307,1442,2780,3121,35,812, + 32,580,2601,27,30,31,872,916,26,28, + 804,25,23,50,922,104,75,76,106,955, + 1015,1167,1115,1297,1264,1319,69,1307,2747,3121, + 35,812,32,1700,2601,27,30,31,872,916, + 26,28,804,25,23,50,922,104,75,76, + 106,955,70,1167,1115,1297,1264,1319,322,2756, + 3121,35,812,32,419,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,106,955,1787,1167,1115,1297,1264,2608,1518, + 35,812,32,4754,4637,27,30,31,872,916, + 336,28,3121,35,812,32,1223,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,106,955,283,1167,1115,1297,2711, + 314,757,35,1881,386,327,35,277,3033,1385, + 4745,588,35,2061,3168,2627,329,316,1854,318, + 4675,1559,311,1602,588,35,1713,1671,588,35, + 280,327,35,451,271,310,4661,2050,3494,588, + 35,1881,386,3121,35,812,32,4251,2601,27, + 30,31,872,916,26,28,804,25,23,50, + 922,104,75,76,106,955,1875,1167,1115,1297, + 2740,2147,271,56,56,4237,56,2816,3007,2582, + 2893,303,307,3106,1400,35,812,32,4498,4598, + 27,30,31,872,916,336,28,3232,221,340, + 436,2344,35,812,32,2788,4749,27,30,31, + 872,916,26,28,71,509,3656,588,35,2061, + 274,2521,1898,35,3513,32,4754,4637,27,30, + 31,872,916,336,28,273,2221,1971,322,1965, + 1773,135,316,1854,318,4398,349,311,1602,588, + 3859,1976,35,1881,386,2582,2022,285,1709,349, + 3376,1614,341,1476,1009,346,588,35,1881,386, + 339,3033,2449,35,278,341,1476,1009,346,329, + 316,1854,318,3346,49,311,1602,388,425,3033, + 2903,2378,3506,3379,1839,930,2019,330,2193,271, + 56,444,3633,3635,1187,293,3121,35,812,32, + 4251,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,1694, + 1167,1115,2426,3121,35,812,32,3501,2601,27, + 30,31,872,916,26,28,804,25,23,50, + 922,104,75,76,106,955,1614,1167,1115,2459, + 378,2491,337,389,425,3121,1893,812,1965,363, + 2601,27,30,31,872,916,26,28,804,25, + 23,50,922,104,75,76,83,415,417,3508, + 2558,2179,858,1860,35,812,32,1701,4152,27, + 30,31,872,916,56,28,1703,3121,35,812, + 32,2107,2601,27,30,31,872,916,26,28, + 804,25,23,50,922,104,75,76,106,955, + 486,1167,1115,2471,3121,35,812,32,2552,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,106,955,259,1167,1115, + 2516,535,1715,35,812,32,2582,4749,27,30, + 31,872,916,58,28,1374,219,56,56,2417, + 226,535,3099,3096,2371,1515,154,1543,35,2061, + 274,929,35,1881,386,178,3512,56,1883,570, + 340,3489,1721,201,213,4534,154,200,210,211, + 212,214,167,1,348,1721,1191,535,588,3402, + 2061,73,2521,166,49,181,165,168,169,170, + 171,172,60,3305,1839,3036,226,2125,1043,1243, + 35,394,154,3231,35,1881,386,2489,2841,660, + 2413,178,3512,56,349,570,235,4348,1088,201, + 213,4534,2415,200,210,211,212,214,167,1240, + 341,1476,1009,346,391,425,271,2306,1610,166, 179,182,165,168,169,170,171,172,2070,35, - 874,32,3388,3516,27,30,31,946,1025,337, - 28,2271,389,425,3231,35,1711,386,2433,3012, - 501,502,1240,1363,35,874,32,235,3959,27, - 30,31,946,1025,337,28,1614,322,3347,1354, - 2717,409,412,1141,535,56,2883,271,3563,1320, - 1330,237,929,35,1711,386,317,1754,319,2693, - 2465,312,1317,3709,588,35,1711,386,158,154, - 1714,320,2689,350,524,1330,230,521,178,3309, - 331,317,1754,319,230,49,313,1317,1614,285, - 2575,342,1255,1170,347,1709,2691,431,350,525, - 230,233,228,229,294,3681,193,1906,625,245, - 228,229,272,2587,2707,2575,344,1255,1170,347, - 56,1866,3238,99,1091,238,228,229,391,425, - 374,240,243,246,249,853,1589,440,2614,454, - 3066,35,874,32,817,1278,27,30,31,946, - 1025,26,28,810,25,23,50,1081,85,75, - 76,2998,2770,2982,3131,3206,4645,3121,35,874, - 32,1606,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,106,1127, - 1614,1219,2379,3121,35,874,32,2621,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,345,1219,2385,56, - 535,3420,194,1325,1375,3256,2624,1351,2974,3875, - 2974,2716,69,230,1785,372,2481,4839,2974,226, - 1141,588,35,1711,386,154,1780,2513,2440,2513, - 2212,35,1711,386,178,3309,2575,341,248,228, - 229,2620,201,213,4776,154,200,210,211,212, - 214,167,431,2689,271,160,535,2654,2727,1085, - 322,330,166,49,3652,165,168,169,170,171, - 172,737,949,1709,1925,226,56,1330,56,1607, - 3987,154,3966,56,3875,56,625,3851,230,1839, - 178,3309,2575,949,2569,358,69,359,201,213, - 4776,4843,200,210,211,212,214,167,517,1718, - 2902,2913,535,251,228,229,2622,2575,166,338, - 176,165,168,169,170,171,172,302,2689,2552, - 56,226,523,3584,2974,56,330,154,2729,1359, - 932,35,1711,386,42,2761,178,3309,2575,2129, - 35,291,2492,341,201,213,4776,1614,200,210, - 211,212,214,167,603,44,2761,177,535,2569, - 3080,333,322,49,166,2538,174,165,168,169, - 170,171,172,1709,2505,2552,2272,226,2615,1958, - 1528,1840,2183,154,4108,1778,2545,2731,932,35, - 1711,386,178,3309,2575,2129,3435,291,1607,2735, - 201,213,4776,3875,200,210,211,212,214,167, - 689,1354,2448,196,535,1141,588,35,1924,276, - 166,49,175,165,168,169,170,171,172,380, - 2722,1709,47,226,535,1958,2552,1607,1614,154, - 158,2034,3875,1795,2943,2786,3875,2689,178,3309, - 2575,2068,1446,341,2732,330,201,213,4776,154, - 200,210,211,212,214,167,775,1354,56,186, - 535,1141,1141,449,195,4691,166,2552,185,165, - 168,169,170,171,172,2747,2689,2122,2983,226, - 2689,521,4756,2552,3431,154,158,154,3431,1795, - 588,35,1924,3296,178,3309,2575,1417,2869,588, - 35,291,201,213,4776,300,200,210,211,212, - 214,167,929,35,1711,386,929,35,1711,386, - 2739,199,166,188,3735,165,168,169,170,171, - 172,1952,35,874,32,3648,3516,27,30,31, - 946,1025,337,28,2755,49,56,2646,2775,49, - 1141,2974,2974,2433,2911,1709,47,56,861,1709, - 2840,2974,535,588,35,1924,279,2751,1364,92, - 2513,341,3201,94,2790,154,2791,2782,56,1878, - 341,226,2974,2789,737,1623,87,154,56,317, - 1754,319,3352,3711,312,1317,178,3309,2575,2552, - 3883,341,2538,3467,201,213,4776,311,200,210, - 211,212,214,167,932,35,1711,386,1915,2757, - 2761,947,2763,2538,166,535,190,165,168,169, - 170,171,172,588,35,1711,386,197,503,1761, - 2765,2444,2769,173,226,428,3584,49,1607,2792, - 154,2446,2788,3875,304,308,2271,1709,47,178, - 3309,2575,2793,390,425,2552,430,201,213,4776, - 2224,200,210,211,212,214,167,4057,1033,500, - 502,56,535,332,333,3977,527,166,3567,184, - 165,168,169,170,171,172,56,2689,56,1614, - 2974,226,535,296,56,330,1761,154,959,56, - 1354,2447,2773,3531,1141,2958,178,3309,2575,341, - 3441,341,2798,2799,201,213,4776,154,200,210, - 211,212,214,167,376,2110,1337,186,4626,158, - 5450,2538,5450,4691,166,4042,192,165,168,169, - 170,171,172,3121,35,874,32,507,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,1127,5450,2083,3121,35, - 874,32,5450,1278,27,30,31,946,1025,26, - 28,810,25,23,50,1081,104,75,76,106, - 1127,3858,2140,3121,35,874,32,3048,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,106,2171,3121,35,874,32, - 1330,1278,27,30,31,946,1025,26,28,810, - 25,23,50,1081,104,75,76,106,2235,1562, - 56,2647,56,2974,1141,2974,1141,5450,1614,1823, - 588,35,291,2974,5450,56,1243,35,394,1141, - 2575,5450,226,5450,2513,588,35,1711,386,154, - 5450,154,226,2552,5450,374,56,1614,1354,2543, - 1141,1847,1141,3400,154,203,213,4776,5450,202, - 210,211,212,214,2423,203,213,4776,49,202, - 210,211,212,214,5450,154,5450,158,1709,747, - 5450,3196,3456,5450,5450,2501,204,206,208,292, - 293,3020,1614,215,205,207,204,206,208,292, - 293,3020,503,215,205,207,2062,35,3332,32, - 3648,3516,27,30,31,946,1025,337,28,929, - 35,1711,386,2591,3665,4413,1910,3558,56,5450, - 2974,5450,1141,2997,3576,4413,737,1088,56,737, - 5450,5450,2974,500,502,3428,1614,737,5450,226, - 3265,5450,49,5450,1243,35,394,154,5450,5450, - 5450,341,1709,2876,317,1754,319,2504,5450,312, - 1317,5450,203,213,4776,3201,202,210,211,212, - 214,3257,1305,2538,3641,1691,35,874,32,3648, - 3516,27,30,31,946,1025,337,28,3584,505, - 5450,3584,1614,204,206,208,292,293,3020,3584, - 215,205,207,3121,35,874,32,2552,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,84,3179,333,4100,328,333, - 3240,5450,4413,317,1754,319,3315,333,312,1317, - 520,5450,5450,5450,5450,220,5450,5450,5450,2552, - 1330,311,3723,588,35,1711,386,1614,1614,5450, - 5450,416,417,3318,3121,1737,874,1780,5450,1278, - 27,30,31,946,1025,26,28,810,25,23, - 50,1081,104,75,76,83,49,191,3368,5450, - 2575,5450,4099,3678,5450,5450,1709,2844,305,308, - 2271,3121,35,874,32,522,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,82,3121,35,874,32,5450,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,81,3121,35,874,32,5450, - 1278,27,30,31,946,1025,26,28,810,25, - 23,50,1081,104,75,76,80,3121,35,874, - 32,5450,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,79,3121, - 35,874,32,5450,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 78,3121,35,874,32,5450,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,77,2950,35,874,32,5450,1278,27, - 30,31,946,1025,26,28,810,25,23,50, - 1081,104,75,76,102,3121,35,874,32,5450, - 1278,27,30,31,946,1025,26,28,810,25, - 23,50,1081,104,75,76,108,3121,35,874, - 32,5450,1278,27,30,31,946,1025,26,28, - 810,25,23,50,1081,104,75,76,107,3121, - 35,874,32,5450,1278,27,30,31,946,1025, - 26,28,810,25,23,50,1081,104,75,76, - 105,3121,35,874,32,5450,1278,27,30,31, - 946,1025,26,28,810,25,23,50,1081,104, - 75,76,103,1997,56,56,5450,2974,1141,1141, - 5450,5450,5450,1649,5450,5450,5450,2974,5450,5450, - 5450,5450,5450,1736,5450,5450,226,2974,5450,5450, - 5450,5450,5450,154,154,5450,226,5450,5450,5450, - 5450,5450,5450,1838,4107,5450,226,5450,5450,203, - 213,4776,5450,202,210,211,212,214,5450,203, - 213,4776,5450,202,210,211,212,214,5450,203, - 213,4776,5450,202,210,211,212,214,5450,5450, - 204,206,208,292,293,3020,5450,518,205,207, - 204,206,208,292,293,3020,5450,517,205,207, - 204,206,208,292,293,3020,2084,216,205,207, - 2974,5450,5450,5450,5450,5450,2171,5450,5450,5450, - 2974,5450,5450,5450,5450,5450,5450,5450,5450,226, - 5450,5450,588,35,1711,386,5450,5450,5450,226, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,203,213,4776,5450,202,210,211,212, - 214,5450,203,213,4776,49,202,210,211,212, - 214,5450,5450,5450,5450,1709,661,5450,5450,5450, - 5450,5450,5450,204,206,208,292,293,3020,5450, - 303,205,207,204,206,208,292,293,3020,5450, - 497,205,207,1691,35,874,32,3648,3516,27, - 30,31,946,1025,337,28,5450,5450,5450,5450, - 5450,5450,5450,2156,35,874,32,5450,3959,27, - 30,31,946,1025,337,28,2156,35,874,32, - 5450,3959,27,30,31,946,1025,337,28,5450, - 5450,5450,5450,5450,5450,3280,35,1711,386,5450, - 3012,317,1754,319,5450,5450,312,1317,236,5450, - 5450,5450,2689,5450,5450,5450,5450,5450,5450,2996, - 331,317,1754,319,5450,2689,315,1317,271,5450, - 5450,5450,5450,331,317,1754,319,5450,5450,313, - 1317,1691,35,874,32,3648,3516,27,30,31, - 946,1025,337,28,1375,5450,5450,230,2974,3875, - 1490,35,874,32,2592,3516,27,30,31,946, - 1025,337,28,5450,5450,5450,5450,2513,5450,5450, - 5450,5450,234,228,229,5450,5450,5450,5450,5450, - 5450,5450,5450,272,5450,5450,5450,5450,401,317, - 1754,319,5450,2689,312,1317,929,35,1711,386, - 5450,330,241,244,247,250,853,3722,314,3221, - 319,929,35,1711,386,817,2236,35,874,32, - 2387,3516,27,30,31,946,1025,337,28,49, - 5450,5450,5450,5450,2983,358,5450,5450,5450,1709, - 47,5450,5450,5450,49,929,35,1711,386,1718, - 2902,2913,2314,5450,1709,47,5450,5450,5450,2151, - 35,1711,386,929,35,1711,386,2320,5450,5450, - 5450,5450,5450,5450,314,3221,319,5450,49,929, - 35,1711,386,2164,35,1711,386,5450,1709,47, - 5450,56,49,5450,5450,535,49,5450,5450,5450, - 5450,2684,1709,47,5450,56,1709,47,2089,2974, - 5450,5450,49,5450,341,3499,49,5450,5450,3024, - 154,5450,1709,47,5450,2208,1709,47,341,2974, - 1417,5450,5450,56,5450,3633,2538,535,5450,3860, - 588,35,1711,386,588,35,1711,386,341,5450, - 2538,5450,1407,56,5450,5450,341,535,5450,5450, - 528,5450,154,5450,5450,5450,532,5450,5450,5450, - 2538,5450,186,49,2089,5450,341,49,4691,5450, - 5450,5450,154,1709,799,5450,531,1709,2772,5450, - 5450,5450,186,5450,5450,5450,5450,5450,4691,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,3887,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,3932,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,3651,5450,0,39,5465,0,39, - 5464,0,727,29,0,438,859,0,452,915, - 0,38,2307,0,38,5465,0,38,5464,0, - 2777,124,0,1,442,0,456,948,0,455, - 1315,0,925,89,0,727,385,0,35,33, - 0,32,34,0,39,2307,0,1,659,0, - 1,5720,0,1,5719,0,1,5718,0,1, - 5717,0,1,5716,0,1,5715,0,1,5714, - 0,1,5713,0,1,5712,0,1,5711,0, - 1,5710,0,39,1,5465,0,39,1,5464, - 0,806,1,0,281,392,0,281,284,0, - 5682,239,0,5681,239,0,5786,239,0,5785, - 239,0,5709,239,0,5708,239,0,5707,239, - 0,5706,239,0,5705,239,0,5704,239,0, - 5703,239,0,5702,239,0,5720,239,0,5719, - 239,0,5718,239,0,5717,239,0,5716,239, - 0,5715,239,0,5714,239,0,5713,239,0, - 5712,239,0,5711,239,0,5710,239,0,39, - 5465,239,0,39,5464,239,0,5488,239,0, - 5465,48,0,5464,48,0,5456,1,0,5455, - 1,0,2435,235,0,32,386,0,29,385, - 0,43,5486,0,43,37,0,2777,126,0, - 2777,125,0,329,443,0,5488,1,0,39, - 1,0,47,37,0,1,90,0,499,3019, - 0,5488,1,227,0,39,1,227,0,227, - 414,0,5465,37,0,5464,37,0,5465,2, - 37,0,5464,2,37,0,5465,36,0,5464, - 36,0,5486,45,0,37,45,0,5460,403, - 0,5459,403,0,1,4593,0,1,2903,0, - 1,2307,0,227,413,0,2215,316,0,329, - 93,0,35,72,0,1,329,0,3401,276, - 0,499,4403,0,1,227,0,227,218,0, - 227,217,0,1,573,0,1,3866,0,5462, - 1,0,5458,1,0,1,227,3583,0,5459, - 227,0,3586,227,0,5462,381,0,5461,381, - 0,3643,227,0,10,12,0,8,10,12, - 0,183,3621,0,3736,381,0,8,12,0 + 812,32,4498,4598,27,30,31,872,916,336, + 28,3121,35,812,32,230,2601,27,30,31, + 872,916,26,28,804,25,23,50,922,104, + 75,76,106,955,2305,1167,2589,352,233,228, + 229,230,2212,35,1881,386,2863,529,737,272, + 320,1243,35,3181,1312,3662,316,1854,318,56, + 529,311,1602,1187,245,228,229,2582,240,243, + 246,249,732,349,524,49,2647,56,56,520, + 2893,3371,793,1210,49,1839,1309,2453,3599,341, + 1476,1009,346,1096,1839,2474,2149,525,2489,2534, + 867,792,2919,3487,3490,4342,3121,35,812,32, + 3337,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,106,955,3192, + 1167,2606,1363,35,812,32,2487,4637,27,30, + 31,872,916,336,28,3114,332,843,35,451, + 2234,1354,4661,1614,2893,1187,1375,941,56,2234, + 2893,4398,1434,2893,345,503,2244,49,535,1643, + 35,291,1607,2534,56,390,425,4398,1384,2534, + 158,3033,2534,1543,35,2061,3410,226,67,330, + 316,1854,318,154,56,312,1602,56,4127,1817, + 56,2893,178,3512,2852,3033,570,349,500,502, + 201,213,4534,329,200,210,211,212,214,167, + 340,3033,1614,343,1476,1009,346,431,2515,3255, + 166,535,3855,165,168,169,170,171,172,357, + 2553,2218,2521,1250,3207,357,1278,2717,357,3850, + 226,535,2044,3281,3183,3208,154,66,1980,2611, + 3183,3208,3365,3183,3208,178,3512,1983,2513,570, + 3834,1896,4398,201,213,4534,154,200,210,211, + 212,214,167,517,2646,178,3512,535,2893,69, + 1425,1614,2272,166,4682,176,165,168,169,170, + 171,172,588,35,2061,276,226,2534,588,35, + 2061,3507,154,193,92,2034,3033,448,3633,3635, + 4398,178,3512,1285,330,570,65,2893,4765,201, + 213,4534,1614,200,210,211,212,214,167,603, + 56,1614,349,535,4411,1614,226,1614,322,166, + 309,174,165,168,169,170,171,172,343,1476, + 1009,346,226,521,3033,1790,2433,64,154,539, + 405,4356,3255,503,2691,2722,2847,178,3512,535, + 55,570,54,1607,1614,201,213,4534,4398,200, + 210,211,212,214,167,689,2572,737,340,535, + 406,407,408,3336,154,166,1714,175,165,168, + 169,170,171,172,186,292,501,502,226,319, + 4329,1614,69,3306,154,1614,56,4700,3315,194, + 4136,1562,3033,178,3512,2893,1906,570,1614,69, + 329,201,213,4534,4720,200,210,211,212,214, + 167,775,2587,69,226,535,99,94,4727,3337, + 3280,166,2699,185,165,168,169,170,171,172, + 2343,2590,1614,3479,226,2557,188,203,213,4534, + 154,202,210,211,212,214,409,412,56,178, + 3512,2707,3016,570,331,332,56,201,213,4534, + 1938,200,210,211,212,214,167,449,204,206, + 208,3336,56,215,205,207,1187,166,2619,3867, + 165,168,169,170,171,172,1952,35,812,32, + 4754,4598,27,30,31,872,916,336,28,2552, + 2249,154,56,2588,1187,4417,535,1606,2446,737, + 1780,1233,56,861,2689,3918,2893,535,1643,3584, + 291,588,35,2061,279,340,2716,2728,2723,154, + 56,154,2552,2492,2893,340,226,300,2732,533, + 2552,186,154,527,316,1854,318,4329,2739,311, + 1602,178,3512,340,56,570,2735,2521,2865,201, + 213,4534,310,200,210,211,212,214,167,230, + 177,3337,230,2007,322,2521,947,2733,196,166, + 535,190,165,168,169,170,171,172,1243,35, + 394,2059,248,228,229,251,228,229,56,226, + 2552,322,3581,3614,2750,154,3140,332,303,307, + 3106,2068,56,1997,178,3512,2893,2893,570,1614, + 1896,56,201,213,4534,2908,200,210,211,212, + 214,167,4110,1033,1614,340,226,535,195,1425, + 2552,301,166,3656,184,165,168,169,170,171, + 172,2552,2734,2747,375,2757,226,2521,2761,203, + 213,4534,154,202,210,211,212,214,380,3335, + 1778,178,3512,2706,558,570,2751,1614,299,201, + 213,4534,2787,200,210,211,212,214,167,199, + 204,206,208,3336,3678,518,205,207,2790,166, + 2782,192,165,168,169,170,171,172,3121,35, + 812,32,3391,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 955,2788,2307,3121,35,812,32,1557,2601,27, + 30,31,872,916,26,28,804,25,23,50, + 922,104,75,76,106,955,87,2321,3121,35, + 812,32,2763,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,106, + 2353,3121,35,812,32,2765,2601,27,30,31, + 872,916,26,28,804,25,23,50,922,104, + 75,76,106,2403,2062,35,3513,32,4754,4598, + 27,30,31,872,916,336,28,2552,1691,35, + 812,32,4754,4598,27,30,31,872,916,336, + 28,3121,35,812,32,2552,2601,27,30,31, + 872,916,26,28,804,25,23,50,922,104, + 75,76,82,56,56,197,2773,962,3466,1243, + 35,394,316,1854,318,2447,2774,311,1602,2938, + 2444,2791,173,295,2792,2793,316,1854,318,2796, + 2193,311,1602,1761,2797,2866,2909,2648,1337,5342, + 3121,35,812,32,310,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,81,3121,35,812,32,5342,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,80,5342,5342,5342,5342,2552,5342, + 304,307,3106,3121,35,812,32,5342,2601,27, + 30,31,872,916,26,28,804,25,23,50, + 922,104,75,76,79,3866,5342,5342,5342,416, + 417,3508,3121,35,812,32,4128,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,78,3121,35,812,32,5342,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,77,2950,35,812,32, + 5342,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,104,75,76,102,3121,35, + 812,32,5342,2601,27,30,31,872,916,26, + 28,804,25,23,50,922,104,75,76,108, + 3121,35,812,32,5342,2601,27,30,31,872, + 916,26,28,804,25,23,50,922,104,75, + 76,107,3121,35,812,32,5342,2601,27,30, + 31,872,916,26,28,804,25,23,50,922, + 104,75,76,105,3121,35,812,32,5342,2601, + 27,30,31,872,916,26,28,804,25,23, + 50,922,104,75,76,103,3066,35,812,32, + 2552,2601,27,30,31,872,916,26,28,804, + 25,23,50,922,85,75,76,1823,2481,56, + 1614,2893,1187,1187,2122,5342,1910,5342,2552,4655, + 2893,1354,5342,1354,5342,1187,5342,1187,220,5342, + 226,5342,932,35,1881,386,5342,154,154,226, + 5342,5342,56,5342,1614,3493,1187,160,1191,5342, + 158,5342,158,203,213,4534,191,202,210,211, + 212,214,203,213,4534,49,202,210,211,212, + 214,154,5342,5342,2624,1839,1324,5342,2893,1597, + 1614,1560,5342,5342,204,206,208,3336,2451,215, + 205,207,5342,204,206,208,3336,2534,215,205, + 207,1691,35,812,32,4754,4598,27,30,31, + 872,916,336,28,2465,1681,1526,1607,3285,3288, + 5342,4417,4398,5342,588,35,1881,386,3554,5342, + 4417,2156,35,812,32,1614,4637,27,30,31, + 872,916,336,28,2156,35,812,32,1614,4637, + 27,30,31,872,916,336,28,49,56,316, + 1854,318,1187,358,311,1602,3033,1839,658,1354, + 4138,1354,5342,1187,329,1187,5342,3324,5342,5342, + 3033,5342,427,3613,5342,5342,4268,154,330,316, + 1854,318,5342,3033,314,1602,5342,2825,158,5342, + 158,330,316,1854,318,3207,3536,312,1602,1691, + 35,812,32,4754,4598,27,30,31,872,916, + 336,28,3280,35,1881,386,56,2841,737,5342, + 2893,588,35,291,5342,236,1490,35,812,32, + 2572,4598,27,30,31,872,916,336,28,340, + 5342,5342,1649,56,56,271,2893,1187,1187,1354, + 588,35,291,1187,3287,5342,3361,316,1854,318, + 5342,2521,311,1602,401,226,5342,5342,588,35, + 1881,386,154,154,230,3865,5342,507,158,5342, + 3337,737,3093,3162,313,3458,318,1736,203,213, + 4534,2893,202,210,211,212,214,234,228,229, + 5342,49,5342,588,35,1881,386,5342,272,2084, + 226,1839,1813,2893,5342,327,332,5342,5342,204, + 206,208,3336,3620,517,205,207,241,244,247, + 250,732,226,203,213,4534,49,202,210,211, + 212,214,1210,3337,3412,5342,1839,616,5342,2171, + 5342,5342,3815,2893,5342,203,213,4534,5342,202, + 210,211,212,214,204,206,208,3336,1607,216, + 205,207,226,4398,5342,5342,5342,5342,3534,332, + 5342,5342,5342,5342,2265,5342,204,206,208,3336, + 5342,302,205,207,5342,203,213,4534,5342,202, + 210,211,212,214,2236,35,812,32,2409,4598, + 27,30,31,872,916,336,28,3033,5342,1180, + 5342,5342,5342,2893,4765,329,204,206,208,3336, + 5342,497,205,207,1375,5342,1785,5342,2893,4398, + 2893,5342,226,5342,932,35,1881,386,5342,929, + 35,1881,386,5342,5342,5342,3072,2534,5342,340, + 5342,5342,313,3458,318,539,405,4356,929,35, + 1881,386,5342,932,35,1881,386,49,5342,5342, + 5342,1258,49,3033,5342,5342,5342,1839,47,5342, + 2855,329,1839,47,2893,5342,406,407,408,3336, + 2622,49,5342,5342,5342,2478,49,929,35,1881, + 386,1839,2022,340,5342,5342,1839,47,5342,3306, + 5342,5342,3072,357,2616,929,35,1881,386,936, + 5342,929,35,1881,386,3845,5342,2611,3183,3208, + 49,5342,5342,5342,5342,929,35,1881,386,5342, + 1839,2834,2151,35,1881,386,5342,5342,49,5342, + 5342,5342,2265,2616,49,5342,5342,5342,1839,47, + 929,35,1881,386,1839,47,5342,5342,49,5342, + 5342,645,409,411,5342,49,5342,2102,1839,47, + 929,35,1881,386,5342,1839,47,2164,35,1881, + 386,2108,5342,49,5342,5342,864,5342,4351,3263, + 5342,5342,1767,1839,47,588,35,1881,386,588, + 35,1881,386,49,1607,5342,2188,56,5342,4398, + 49,535,5342,1839,47,588,35,1881,386,5342, + 1839,47,5342,5342,5342,56,2194,2208,49,1187, + 340,2893,49,4380,5342,5342,154,56,1839,1325, + 56,535,1839,930,2893,56,186,5342,49,2893, + 340,5342,4329,3033,154,5342,5342,5342,1839,1503, + 340,329,528,340,3231,56,154,4200,340,1187, + 56,56,2521,5342,1187,1187,186,5342,5342,5342, + 5342,5342,4329,5342,5342,2521,5342,5342,531,5342, + 2521,5342,4264,5342,154,5342,5342,5342,5342,154, + 154,505,5342,5342,3272,5342,532,5342,3657,1728, + 4255,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,4130,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5342,5342,3488,5342,0,39,5357, + 0,39,5356,0,1034,29,0,438,1121,0, + 452,1216,0,38,1135,0,38,5357,0,38, + 5356,0,2757,124,0,1,442,0,456,1096, + 0,455,1222,0,2650,89,0,1034,385,0, + 35,33,0,32,34,0,39,1135,0,1, + 573,0,1,5612,0,1,5611,0,1,5610, + 0,1,5609,0,1,5608,0,1,5607,0, + 1,5606,0,1,5605,0,1,5604,0,1, + 5603,0,1,5602,0,39,1,5357,0,39, + 1,5356,0,626,1,0,281,392,0,281, + 284,0,5574,239,0,5573,239,0,5677,239, + 0,5676,239,0,5601,239,0,5600,239,0, + 5599,239,0,5598,239,0,5597,239,0,5596, + 239,0,5595,239,0,5594,239,0,5612,239, + 0,5611,239,0,5610,239,0,5609,239,0, + 5608,239,0,5607,239,0,5606,239,0,5605, + 239,0,5604,239,0,5603,239,0,5602,239, + 0,39,5357,239,0,39,5356,239,0,5380, + 239,0,5357,48,0,5356,48,0,5348,1, + 0,5347,1,0,3091,235,0,32,386,0, + 29,385,0,43,5378,0,43,37,0,2757, + 126,0,2757,125,0,328,443,0,5380,1, + 0,39,1,0,47,37,0,1,90,0, + 499,3314,0,5380,1,227,0,39,1,227, + 0,227,414,0,5357,37,0,5356,37,0, + 5357,2,37,0,5356,2,37,0,5357,36, + 0,5356,36,0,5378,45,0,37,45,0, + 5352,403,0,5351,403,0,1,4221,0,1, + 619,0,1,1135,0,227,413,0,2828,315, + 0,328,93,0,35,72,0,1,328,0, + 4143,276,0,499,4372,0,1,227,0,227, + 218,0,1,2889,0,1,3568,0,227,217, + 0,5354,1,0,5350,1,0,1,227,3711, + 0,5351,227,0,3736,227,0,5354,381,0, + 5353,381,0,3852,227,0,10,12,0,8, + 10,12,0,183,3556,0,3868,381,0,8, + 12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1314,99 +1293,99 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 24,0,0,27,28,29,30,31,32,33, 34,35,36,0,1,2,40,4,0,6, 65,66,9,0,48,63,25,26,0,0, - 63,70,56,57,58,59,8,61,62,10, + 1,2,56,57,58,59,8,61,62,0, 64,0,1,2,3,4,5,0,7,0, 1,2,3,4,5,27,7,55,0,1, 2,118,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,59,0, + 17,18,19,20,21,22,23,24,70,0, 27,28,29,30,31,32,33,34,35,36, - 0,0,0,40,0,4,48,3,0,1, - 2,48,63,72,0,68,8,70,0,56, + 0,0,63,40,0,4,48,3,0,1, + 2,48,63,72,0,68,8,70,4,56, 57,58,59,22,61,62,0,64,0,3, 0,1,2,0,8,0,1,2,3,4, - 5,8,7,0,1,2,0,0,48,86, + 5,118,7,0,1,2,0,0,48,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,67,48,27,28,29, - 30,31,32,33,34,35,36,0,70,63, + 30,31,32,33,34,35,36,0,55,63, 40,0,1,2,68,8,70,0,48,73, - 67,4,55,102,103,104,56,57,58,59, - 121,61,62,0,64,0,1,2,3,4, + 0,4,55,102,103,104,56,57,58,59, + 10,61,62,0,64,0,1,2,3,4, 5,8,7,0,0,0,3,3,0,1, 2,3,4,5,6,7,86,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,55,25,26,0,65,66,3,0, + 0,0,55,25,26,4,65,66,8,59, 73,37,38,0,0,37,38,39,4,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,0,0,0,73,63,60,61, - 39,0,69,65,66,0,1,2,3,4, + 0,0,69,65,66,0,1,2,3,4, 5,6,7,90,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,55,55, - 25,26,72,0,1,2,0,4,5,105, + 15,16,17,18,19,20,21,67,55,55, + 25,26,0,0,1,2,4,4,5,105, 7,68,37,38,39,0,41,42,43,44, 45,46,47,119,49,50,51,52,53,54, 0,1,2,68,70,60,6,94,95,0, 65,66,3,68,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,0,1,2,25, - 26,5,0,7,68,3,0,0,48,3, - 3,37,38,39,8,41,42,43,44,45, + 26,5,0,7,0,3,0,3,48,3, + 0,37,38,39,8,41,42,43,44,45, 46,47,0,49,50,51,52,53,54,0, 1,2,63,0,60,0,0,0,0,1, 2,67,0,8,8,71,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,0,63, - 0,25,26,0,1,2,39,48,8,73, + 0,25,26,0,1,2,0,48,8,73, 0,0,0,37,38,39,48,41,42,43, 44,45,46,47,72,49,50,51,52,53, - 54,68,48,70,0,70,60,3,73,73, + 54,68,0,70,0,70,60,3,73,73, 68,65,66,0,1,2,3,4,5,6, 7,48,9,10,11,12,13,14,15,16, 17,18,19,20,21,55,55,55,25,26, - 0,0,0,73,4,0,4,0,68,8, + 0,0,0,73,68,3,0,0,68,8, 37,38,39,72,41,42,43,44,45,46, 47,0,49,50,51,52,53,54,27,0, - 0,0,3,60,94,95,0,0,65,66, + 0,0,70,60,94,95,0,0,65,66, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,55,0,0,25,26,4,63,0, - 0,0,3,0,3,68,0,37,38,39, + 20,21,55,63,0,25,26,3,0,48, + 0,3,0,0,68,68,0,37,38,39, 4,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,0,0,22,63, - 60,94,95,0,0,10,10,67,0,1, + 60,94,95,72,0,10,10,67,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,0,25,26,40,40,0,68,0, + 0,0,0,25,26,40,40,0,0,0, 0,4,0,48,48,37,38,39,0,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,90,0,0,0,3,60,5, - 6,0,69,9,8,67,0,0,0,8, - 0,0,118,3,0,55,55,55,0,25, + 6,0,0,9,8,67,72,0,0,8, + 3,0,0,0,0,55,55,55,0,25, 26,3,55,27,55,55,0,55,27,0, - 0,37,38,55,0,41,0,3,0,3, - 0,55,0,3,0,3,0,3,0,55, - 55,3,0,0,0,3,0,63,0,65, - 66,0,68,69,70,0,55,0,0,0, - 0,0,0,0,0,0,70,0,0,72, - 72,87,88,89,70,39,92,93,94,95, - 96,97,98,99,100,101,70,0,69,105, + 0,37,38,55,0,41,0,69,0,3, + 0,55,0,3,0,3,0,3,121,55, + 39,39,0,0,0,3,3,63,0,65, + 66,0,68,69,70,70,0,0,55,0, + 0,0,0,3,72,0,0,69,0,3, + 0,87,88,89,70,0,92,93,94,95, + 96,97,98,99,100,101,70,39,69,105, 70,107,108,109,110,111,112,113,114,115, 116,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,69,0,25,26,69,69, - 72,69,75,72,90,0,69,69,37,38, + 19,20,21,72,0,69,25,26,69,72, + 55,0,0,72,69,0,0,75,37,38, 39,0,41,42,43,44,45,46,47,0, 49,50,51,52,53,54,0,1,2,3, 4,5,6,7,0,9,10,11,12,13, 14,15,16,17,18,19,20,21,0,0, - 55,25,26,0,0,0,0,0,0,0, + 0,25,26,0,0,0,0,0,0,0, 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,0,0,0,0,0,60,0,117,0, + 44,45,46,47,69,49,50,51,52,53, + 54,0,0,0,90,0,60,0,117,0, 1,2,3,4,5,6,7,0,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, + 21,0,0,0,25,26,0,69,0,0, 0,0,0,0,0,0,37,38,39,0, 41,42,43,44,45,46,47,0,49,50, 51,52,53,54,0,1,2,3,4,5, @@ -1463,346 +1442,346 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5450,5415,5394,5394,5394,5394,5394,5394,5431,5394, + 5342,5307,5286,5286,5286,5286,5286,5286,5323,5286, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5419,1,1, + 1,1,1,1,1,1,1,5311,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,137,1, - 1,1,1,1,1,1,1,1,1,2228, - 1,5623,2141,113,3377,1,1,5461,39,3826, - 5450,5457,5488,1135,3010,3640,3426,2236,3365,3577, - 3176,3622,882,3620,2502,3619,10,5434,5434,5434, - 5434,5434,5434,5434,5434,5434,5434,5434,5434,5434, - 5434,5434,5434,5434,5434,5434,5434,5434,5434,5434, - 5434,5434,5434,5434,5434,5434,5434,5434,5434,5434, - 5434,5434,5434,5434,5434,5434,5434,5434,5434,5434, - 5434,5434,5434,5434,329,5434,5434,5434,5434,5434, - 5434,393,5434,5434,5434,5434,5434,5434,5434,1184, - 5434,5434,5434,5434,3850,3803,629,5434,382,5450, - 5434,5434,5434,5434,5434,5434,5434,5434,5434,5434, - 5434,5434,8,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5450,5437,5437,5437,5437,5437,5437,2619,5437,5437, - 5437,5437,5437,5437,5437,299,5437,5437,5437,5437, - 284,5187,5187,5437,281,5748,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5450,5415, - 5394,5394,5394,5394,5394,5394,5422,5394,1,1, + 1,1,1,1,1,1,1,1,1,2599, + 1,5515,2586,113,3528,1,1,5353,39,3761, + 5342,5349,5380,3452,1429,3846,3580,2198,3520,3680, + 3104,3836,1000,3765,785,3742,10,5326,5326,5326, + 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, + 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, + 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, + 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, + 5326,5326,5326,5326,328,5326,5326,5326,5326,5326, + 5326,393,5326,5326,5326,5326,5326,5326,5326,2236, + 5326,5326,5326,5326,4278,3738,1328,5326,294,5342, + 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, + 5326,5326,8,5329,5329,5329,5329,5329,5329,5329, + 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, + 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, + 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, + 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, + 382,5329,5329,5329,5329,5329,5329,2848,5329,5329, + 5329,5329,5329,5329,5329,298,5329,5329,5329,5329, + 284,5079,5079,5329,281,5639,5329,5329,5329,5329, + 5329,5329,5329,5329,5329,5329,5329,5329,5342,5307, + 5286,5286,5286,5286,5286,5286,5314,5286,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5419,1,1,1,1, + 1,1,1,1,1,5311,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5450,1,1,1, - 1,1,1,437,1,1,1,2228,1,5623, - 2141,5450,3377,1,1,5461,5450,5089,5086,5458, - 5488,5450,3010,3640,3426,2236,3365,3577,3176,3622, - 882,3620,2502,3619,5450,5415,5394,5394,5394,5394, - 5394,5394,5422,5394,1,1,1,1,1,1, + 1,1,1,1,1,1,5342,1,1,1, + 1,1,1,437,1,1,1,2599,1,5515, + 2586,5342,3528,1,1,5353,5342,4981,4978,5350, + 5380,5342,1429,3846,3580,2198,3520,3680,3104,3836, + 1000,3765,785,3742,5342,5307,5286,5286,5286,5286, + 5286,5286,5314,5286,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5419,1,1,1,1,1,1,1,1, + 1,5311,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5457,1,1,1,1,1,1,133, - 1,1,1,2228,1,5623,2141,115,3377,1, - 1,5461,109,3826,5450,5883,5884,5885,3010,3640, - 3426,2236,3365,3577,3176,3622,882,3620,2502,3619, - 5450,5415,5394,5394,5394,5394,5394,5394,5422,5394, + 1,1,5349,1,1,1,1,1,1,133, + 1,1,1,2599,1,5515,2586,115,3528,1, + 1,5353,109,3761,5342,5775,5776,5777,1429,3846, + 3580,2198,3520,3680,3104,3836,1000,3765,785,3742, + 5342,5307,5286,5286,5286,5286,5286,5286,5314,5286, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5419,1,1, + 1,1,1,1,1,1,1,5311,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5450,1, - 1,1,1,1,1,134,1,1,1,2228, - 1,5623,2141,129,3377,1,1,5461,2324,3803, - 629,4305,593,4327,3010,3640,3426,2236,3365,3577, - 3176,3622,882,3620,2502,3619,5450,5415,5394,5394, - 5394,5394,5394,5394,5422,5394,1,1,1,1, + 1,1,1,1,1,1,1,1,5342,1, + 1,1,1,1,1,134,1,1,1,2599, + 1,5515,2586,129,3528,1,1,5353,2317,3738, + 1328,4018,2380,4040,1429,3846,3580,2198,3520,3680, + 3104,3836,1000,3765,785,3742,5342,5307,5286,5286, + 5286,5286,5286,5286,5314,5286,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5419,1,1,1,1,1,1, + 1,1,1,5311,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5450,1,1,1,1,1, - 1,5450,1,1,1,2228,1,5623,2141,114, - 3377,1,1,5461,2324,3826,119,5450,5464,5465, - 3010,3640,3426,2236,3365,3577,3176,3622,882,3620, - 2502,3619,5450,5415,5394,5394,5394,5394,5394,5394, - 5422,5394,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5419, + 1,1,1,1,5342,1,1,1,1,1, + 1,5342,1,1,1,2599,1,5515,2586,114, + 3528,1,1,5353,2317,3761,119,5342,5356,5357, + 1429,3846,3580,2198,3520,3680,3104,3836,1000,3765, + 785,3742,5342,5307,5286,5286,5286,5286,5286,5286, + 5314,5286,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5311, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5450,1,1,1,1,1,1,5450,1,1, - 1,2228,1,5623,2141,5450,3377,1,1,5461, - 2833,3803,629,3127,3153,5450,3010,3640,3426,2236, - 3365,3577,3176,3622,882,3620,2502,3619,5450,5415, - 5394,5394,5394,5394,5394,5394,5422,5394,1,1, + 5342,1,1,1,1,1,1,5342,1,1, + 1,2599,1,5515,2586,5342,3528,1,1,5353, + 2868,3738,1328,2951,3046,5342,1429,3846,3580,2198, + 3520,3680,3104,3836,1000,3765,785,3742,5342,5307, + 5286,5286,5286,5286,5286,5286,5314,5286,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5419,1,1,1,1, + 1,1,1,1,1,5311,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,334,1,1,1, - 1,1,1,2638,1,1,1,2228,1,5623, - 2141,5450,3377,1,1,5461,5450,5464,5465,5785, - 5786,2833,3010,3640,3426,2236,3365,3577,3176,3622, - 882,3620,2502,3619,5450,5415,5394,5394,5394,5394, - 5394,5394,5422,5394,1,1,1,1,1,1, + 1,1,1,1,1,1,333,1,1,1, + 1,1,1,2887,1,1,1,2599,1,5515, + 2586,5342,3528,1,1,5353,5342,5356,5357,5676, + 5677,2868,1429,3846,3580,2198,3520,3680,3104,3836, + 1000,3765,785,3742,5342,5307,5286,5286,5286,5286, + 5286,5286,5314,5286,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5419,1,1,1,1,1,1,1,1, + 1,5311,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5450,1,1,1,1,1,1,5450, - 1,1,1,2228,1,5623,2141,1,3377,1, - 1,5461,5450,5089,5086,5412,5488,5450,3010,3640, - 3426,2236,3365,3577,3176,3622,882,3620,2502,3619, - 5450,5415,5394,5394,5394,5394,5394,5394,5422,5394, + 1,1,5342,1,1,1,1,1,1,5342, + 1,1,1,2599,1,5515,2586,1,3528,1, + 1,5353,5342,4981,4978,5304,5380,5342,1429,3846, + 3580,2198,3520,3680,3104,3836,1000,3765,785,3742, + 5342,5307,5286,5286,5286,5286,5286,5286,5314,5286, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5419,1,1, + 1,1,1,1,1,1,1,5311,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5457,1, - 1,1,1,1,1,2659,1,1,1,2228, - 1,5623,2141,5450,3377,1,1,5461,5450,5273, - 5270,48,5273,5270,3010,3640,3426,2236,3365,3577, - 3176,3622,882,3620,2502,3619,5450,5415,5394,5394, - 5394,5394,5394,5394,5422,5394,1,1,1,1, + 1,1,1,1,1,1,1,1,5349,1, + 1,1,1,1,1,2900,1,1,1,2599, + 1,5515,2586,5342,3528,1,1,5353,5342,5165, + 5162,48,5165,5162,1429,3846,3580,2198,3520,3680, + 3104,3836,1000,3765,785,3742,5342,5307,5286,5286, + 5286,5286,5286,5286,5314,5286,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5419,1,1,1,1,1,1, + 1,1,1,5311,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5450,1,1,1,1,1, - 1,5450,1,1,1,2228,1,5623,2141,5450, - 3377,1,1,5461,112,5450,89,5454,2435,5122, - 3010,3640,3426,2236,3365,3577,3176,3622,882,3620, - 2502,3619,5450,3583,1,1,1,1,1,1, - 3586,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5459, + 1,1,1,1,5342,1,1,1,1,1, + 1,5342,1,1,1,2599,1,5515,2586,5342, + 3528,1,1,5353,112,5342,89,5346,3091,5014, + 1429,3846,3580,2198,3520,3680,3104,3836,1000,3765, + 785,3742,5342,3711,1,1,1,1,1,1, + 3736,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5351, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5450,1,1,1,1,1,1,5450,1,1, - 1,2228,1,5623,2141,5450,3377,1,1,5461, - 5450,988,5450,4305,945,4327,3010,3640,3426,2236, - 3365,3577,3176,3622,882,3620,2502,3619,39,5089, - 5086,4851,806,4114,4195,2903,5453,4217,2005,5712, - 5710,5719,5718,5714,5715,5713,5716,5717,5720,5711, - 5708,5785,5786,4173,4151,135,5702,5709,5705,5681, - 5707,5706,5703,5704,5682,4261,4239,5469,5846,4053, - 591,798,5471,616,3100,732,5450,5472,5470,564, - 5466,5467,5468,5450,2437,5847,5848,3187,1369,5450, - 5325,5325,227,5321,227,227,227,5329,227,1, + 5342,1,1,1,1,1,1,5342,1,1, + 1,2599,1,5515,2586,5342,3528,1,1,5353, + 5342,1897,5342,4018,1855,4040,1429,3846,3580,2198, + 3520,3680,3104,3836,1000,3765,785,3742,39,4981, + 4978,2827,626,2715,3892,619,5345,3923,2455,5604, + 5602,5611,5610,5606,5607,5605,5608,5609,5612,5603, + 5600,5676,5677,3870,3811,135,5594,5601,5597,5573, + 5599,5598,5595,5596,5574,3974,3952,5361,5738,593, + 675,779,5363,727,4106,748,5342,5364,5362,657, + 5358,5359,5360,5342,564,5739,5740,731,1396,5342, + 5217,5217,227,5213,227,227,227,5221,227,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5450,3642,227,1,1,1, - 1,1,1,1,1,1,5450,5089,5086,1, - 806,5134,123,2903,222,131,5450,5318,392,5184, - 5184,5450,281,5450,2670,1,1,1,3329,223, - 5860,582,395,5464,5465,2274,5708,5785,5786,356, - 414,227,5702,5709,5705,5681,5707,5706,5703,5704, - 5682,5708,5785,5786,932,5948,5450,5702,5709,5705, - 5681,5707,5706,5703,5704,5682,281,5450,5450,8840, - 8840,5883,5884,5885,5450,5325,5325,227,5321,227, - 227,227,5373,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3127, - 3153,227,1,1,1,1,1,1,1,1, - 1,2847,33,2356,1,5128,5486,5450,5128,5450, - 5128,5128,5318,37,5312,5312,8,5462,5312,5805, - 1,1,1,3329,5447,5860,582,5128,5128,5128, - 43,5294,5294,1,127,413,227,5450,5450,5128, - 5128,159,343,5089,5086,2552,806,2307,329,2903, - 5948,329,5450,5450,1,5309,5309,5128,5306,5450, - 329,2888,361,329,122,5128,5883,5884,5885,1, - 5128,5128,5128,5128,5128,5128,5461,5085,5291,365, - 5177,5173,2552,5181,2307,1,2903,5447,1,5128, - 5128,5128,5128,5128,5128,5128,5128,5128,5128,5128, - 5128,5128,5128,5128,5450,1929,159,5128,5128,5128, - 5128,5128,5128,5128,5128,5128,5128,5128,5128,5128, - 5450,5128,5128,5131,116,1967,5131,361,5131,5131, - 2473,2400,29,385,385,5288,385,385,5288,385, - 5288,5288,1929,3005,361,5131,5131,5131,1222,3778, - 3753,3127,3153,5450,385,385,385,5131,5131,5288, + 1,1,1,1,5342,3851,227,1,1,1, + 1,1,1,1,1,1,5342,4981,4978,1, + 626,5026,123,619,222,131,5342,5210,392,5076, + 5076,5342,281,5342,2912,1,1,1,3109,223, + 5752,1431,395,5356,5357,2284,5600,5676,5677,355, + 414,227,5594,5601,5597,5573,5599,5598,5595,5596, + 5574,5600,5676,5677,2271,5840,5342,5594,5601,5597, + 5573,5599,5598,5595,5596,5574,281,5342,5342,8682, + 8682,5775,5776,5777,5342,5217,5217,227,5213,227, + 227,227,5265,227,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2951, + 3046,227,1,1,1,1,1,1,1,1, + 1,2526,33,2349,1,5020,5378,5342,5020,5342, + 5020,5020,5210,37,5204,5204,8,5354,5204,5696, + 1,1,1,3109,5339,5752,1431,5020,5020,5020, + 43,5186,5186,1,127,413,227,5342,5342,5020, + 5020,159,342,4981,4978,580,626,1135,328,619, + 5840,328,5342,5342,1,5201,5201,5020,5198,5342, + 328,3123,360,328,122,5020,5775,5776,5777,1, + 5020,5020,5020,5020,5020,5020,5353,4977,5183,364, + 5069,5065,580,5073,1135,1,619,5339,1,5020, + 5020,5020,5020,5020,5020,5020,5020,5020,5020,5020, + 5020,5020,5020,5020,5342,1049,159,5020,5020,5020, + 5020,5020,5020,5020,5020,5020,5020,5020,5020,5020, + 5342,5020,5020,5023,116,1942,5023,360,5023,5023, + 2493,2422,29,385,385,5180,385,385,5180,385, + 5180,5180,1049,3098,360,5023,5023,5023,1229,3713, + 3688,2951,3046,5342,385,385,385,5023,5023,5180, 385,385,385,385,385,385,385,385,385,1, - 5177,5173,5364,5181,5370,5131,5367,5460,5450,38, - 5107,5104,235,5131,5101,5282,2903,5092,5131,5131, - 5131,5131,5131,5131,136,5288,5459,307,5177,5173, - 4593,5181,2307,5385,2903,5288,5385,5131,5131,5131, - 5131,5131,5131,5131,5131,5131,5131,5131,5131,5131, - 5131,5131,36,5349,5346,5131,5131,5131,5131,5131, - 5131,5131,5131,5131,5131,5131,5131,5131,121,5131, - 5131,5450,5394,5394,227,5394,227,227,227,5397, + 5069,5065,5256,5073,5262,5023,5259,5352,5342,38, + 4999,4996,235,5023,4993,5174,619,4984,5023,5023, + 5023,5023,5023,5023,136,5180,5351,306,5069,5065, + 4221,5073,1135,5277,619,5180,5277,5023,5023,5023, + 5023,5023,5023,5023,5023,5023,5023,5023,5023,5023, + 5023,5023,36,5241,5238,5023,5023,5023,5023,5023, + 5023,5023,5023,5023,5023,5023,5023,5023,121,5023, + 5023,5342,5286,5286,227,5286,227,227,227,5289, 227,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5450,5450,227,1, - 1,8751,1,1,1,1,1,1,442,1, - 1,1,1,5450,5113,224,39,5113,5450,5391, - 5488,5460,329,5450,2274,329,137,1,1,1, - 3385,5456,5659,2141,456,3377,455,5708,5785,5786, - 5459,5450,218,5702,5709,5705,5681,5707,5706,5703, - 5704,5682,288,5464,5465,3127,3153,5948,5450,5394, - 5394,227,5394,227,227,227,227,227,1,1, + 1,1,1,1,1,1,5342,5342,227,1, + 1,8655,1,1,1,1,1,1,442,1, + 1,1,1,5342,5005,224,39,5005,5342,5283, + 5380,5352,328,5342,2284,328,137,1,1,1, + 3498,5348,5551,2586,456,3528,455,5600,5676,5677, + 5351,5342,218,5594,5601,5597,5573,5599,5598,5595, + 5596,5574,294,5356,5357,2951,3046,5840,5342,5286, + 5286,227,5286,227,227,227,227,227,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3946,5450,227,1,1,8751,1, - 1,1,1,1,1,1886,5455,5116,1,5119, - 1,5177,5173,4593,5181,2307,5391,2903,345,111, - 132,1491,130,3157,1,1,1,3385,128,5659, - 2141,593,3377,368,5450,5089,5086,1184,806,2307, - 530,2903,3850,1843,1800,1757,1714,1671,1628,1585, - 1542,1499,1456,5450,5948,5450,5394,5394,227,5394, - 227,227,227,5400,227,1,1,1,1,1, + 1,1,1,3784,5342,227,1,1,8655,1, + 1,1,1,1,1,1900,5347,5008,1,5011, + 1,5069,5065,4221,5073,1135,5283,619,344,111, + 132,1761,130,3415,1,1,1,3498,128,5551, + 2586,2380,3528,367,5342,4981,4978,2236,626,1135, + 530,619,4278,1858,1816,1774,1732,1690,1648,1606, + 1564,1522,1480,5342,5840,5342,5286,5286,227,5286, + 227,227,227,5298,227,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5450,1929,227,1,1,8751,1,1,1,1, - 1,1,443,39,39,1,5488,5450,5303,225, - 3544,5303,1282,5391,1,5458,110,3578,4305,5450, - 4327,1,1,1,3385,1355,5659,2141,2356,3377, - 3994,5708,5785,5786,2473,2400,217,5702,5709,5705, - 5681,5707,5706,5703,5704,5682,5450,37,5312,5312, - 3208,5948,5450,5394,5394,227,5394,227,227,227, - 5397,227,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1002,5457,227, - 1,1,8751,1,1,1,1,1,1,5450, - 5089,5086,1,806,5134,2765,2903,90,1,1, - 5391,1,346,5315,120,4305,5315,4327,1,1, - 1,3385,5450,5659,2141,3852,3377,1,5177,5173, - 2552,5181,2307,218,2903,5276,5450,5450,5177,5173, - 4593,5181,2307,5385,2903,366,5385,1265,5948,5450, - 5394,5394,227,5394,227,227,227,5397,227,1, + 5342,1049,227,1,1,8655,1,1,1,1, + 1,1,443,39,39,1,5380,5342,5195,225, + 3638,5195,1274,5283,1,5350,110,3592,4018,5342, + 4040,1,1,1,3498,2591,5551,2586,2349,3528, + 3839,5600,5676,5677,2493,2422,217,5594,5601,5597, + 5573,5599,5598,5595,5596,5574,5342,37,5204,5204, + 738,5840,5342,5286,5286,227,5286,227,227,227, + 5289,227,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1005,5349,227, + 1,1,8655,1,1,1,1,1,1,5342, + 4981,4978,1,626,5026,2837,619,90,1,1, + 5283,1,345,5207,120,4018,5207,4040,1,1, + 1,3498,5342,5551,2586,4373,3528,1,5069,5065, + 580,5073,1135,218,619,5168,5342,5342,5069,5065, + 4221,5073,1135,5277,619,365,5277,2812,5840,5342, + 5286,5286,227,5286,227,227,227,5289,227,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5450,1929,227,1,1,8751, - 1,1,1,1,1,1,5450,5335,5332,1, - 1929,1,5177,5173,4593,5181,2307,5391,2903,307, - 5279,3127,3153,373,118,1,1,1,3385,2060, - 5659,2141,5450,3377,1326,5450,5464,5465,307,5450, - 218,155,343,39,39,2434,5488,98,329,3778, - 3753,329,5450,5450,5486,5948,5450,5394,5394,227, - 5394,227,227,227,227,227,1,1,1,1, + 1,1,1,1,5342,1049,227,1,1,8655, + 1,1,1,1,1,1,5342,5227,5224,1, + 1049,1,5069,5065,4221,5073,1135,5283,619,306, + 5171,2951,3046,372,118,1,1,1,3498,2026, + 5551,2586,5342,3528,1351,5342,5356,5357,306,5342, + 218,5342,342,39,39,2829,5380,5342,328,3713, + 3688,328,5342,5342,5378,5840,5342,5286,5286,227, + 5286,227,227,227,227,227,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,117,5450,227,1,1,8751,1,1,1, - 1,1,1,93,39,39,1,5488,5450,5379, - 4283,921,5379,5450,5391,1929,3778,3753,403,299, - 4394,1413,1,1,1,3385,5358,5659,2141,5748, - 3377,1,5177,5173,4593,5181,2307,5450,2903,1, - 5177,5173,2552,5181,2307,5361,2903,2849,5450,5342, - 5338,3642,5948,5450,5394,5394,227,5394,227,227, + 1,117,5342,227,1,1,8655,1,1,1, + 1,1,1,93,39,39,1,5380,155,5271, + 3996,810,5271,519,5283,1049,3713,3688,403,288, + 5356,5357,1,1,1,3498,5250,5551,2586,98, + 3528,1,5069,5065,4221,5073,1135,5342,619,1, + 5069,5065,580,5073,1135,5253,619,3137,5342,5234, + 5230,3851,5840,5342,5286,5286,227,5286,227,227, 227,227,227,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2678,183, - 227,1,1,8751,1,1,1,1,1,1, - 37,39,5450,1,5450,5488,5486,3865,5450,5464, - 5465,5391,1929,2060,5450,4506,5462,2848,513,1, - 1,1,3385,1909,5659,2141,1,3377,47,2434, - 5450,8672,8269,1,339,329,5089,5086,4593,806, - 2307,5409,2903,5450,8672,8269,5450,5450,5486,5948, - 5450,5394,5394,227,5394,227,227,227,227,227, + 1,1,1,1,1,1,1,1,1438,5342, + 227,1,1,8655,1,1,1,1,1,1, + 37,39,4820,1,5342,5380,5378,4374,5342,5356, + 5357,5283,1049,2026,393,4479,5354,3224,386,1, + 1,1,3498,2450,5551,2586,1,3528,47,2829, + 5342,8564,8161,5342,338,328,4981,4978,4221,626, + 1135,3851,619,5342,8564,8161,5342,5342,5378,5840, + 5342,5286,5286,227,5286,227,227,227,227,227, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5461,2752,227,1,1, - 8751,1,1,1,1,1,1,1,886,1929, - 1,5450,5273,5270,339,5456,339,394,5391,339, - 5461,385,3310,5883,5884,5885,1,1,1,3385, - 5441,5659,2141,1,3377,1,5177,5173,5364,5181, - 5370,361,5367,309,74,5450,2625,2999,5450,1, - 1,1,1,1,1,1,5948,1,1,1, + 1,1,1,1,1,5353,2567,227,1,1, + 8655,1,1,1,1,1,1,1,3492,1049, + 1,5342,5165,5162,338,5348,338,394,5283,338, + 298,385,3510,5775,5776,5777,1,1,1,3498, + 5639,5551,2586,1,3528,1,5069,5065,5256,5073, + 5262,360,5259,308,74,5342,2999,4141,5342,1, + 1,1,1,1,1,1,5840,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5450,5450,727,1,1,5450,4283,921,3886,5450, - 5455,5512,5513,124,48,1,1,1,5465,1, - 1,1,1,1,1,1,5450,1,1,1, - 1,1,1,5450,360,5450,361,3546,1,5984, - 1408,5450,1092,1,1,1,5177,5173,4851,5181, - 4114,4195,2903,361,4217,5137,5164,5170,5143,5146, - 5158,5155,5161,5152,5149,5140,5167,5450,2804,5465, - 4173,4151,5849,5450,5089,5086,5450,806,2307,578, - 2903,5110,4261,4239,5469,5450,4053,591,798,5471, - 616,3100,732,666,5472,5470,564,5466,5467,5468, - 37,5312,5312,5960,3186,1369,329,2721,2694,316, - 39,39,5376,514,39,5089,5086,4851,806,4114, - 4195,2903,5444,4217,659,5712,5710,5719,5718,5714, - 5715,5713,5716,5717,5720,5711,5450,5464,5465,4173, - 4151,2307,5450,2903,5889,3968,1,5450,5486,2434, - 3401,4261,4239,5469,5276,4053,591,798,5471,616, - 3100,732,426,5472,5470,564,5466,5467,5468,45, - 5355,5355,1929,5450,1369,5450,1,5450,5450,5335, - 5332,5428,5450,5456,526,5457,139,5089,5086,4851, - 806,4114,4195,2903,5450,4217,659,5712,5710,5719, - 5718,5714,5715,5713,5716,5717,5720,5711,5450,1929, - 1,4173,4151,37,5312,5312,3337,5352,161,5279, - 126,29,5450,4261,4239,5469,5486,4053,591,798, - 5471,616,3100,732,2671,5472,5470,564,5466,5467, - 5468,3706,3191,2848,5450,4865,1369,3457,5455,526, - 5903,39,39,1,5177,5173,4851,5181,4114,4195, - 2903,5486,4217,5137,5164,5170,5143,5146,5158,5155, - 5161,5152,5149,5140,5167,2804,727,3557,4173,4151, - 393,5450,5450,161,386,318,1804,125,5297,5460, - 4261,4239,5469,422,4053,591,798,5471,616,3100, - 732,5450,5472,5470,564,5466,5467,5468,5459,101, - 5450,5450,3710,1369,2721,2694,97,5450,39,39, - 39,5089,5086,4851,806,4114,4195,2903,5425,4217, - 659,5712,5710,5719,5718,5714,5715,5713,5716,5717, - 5720,5711,2804,5450,519,4173,4151,1881,1929,5450, - 5450,276,2215,1,5388,5300,39,4261,4239,5469, - 5488,4053,591,798,5471,616,3100,732,5450,5472, - 5470,564,5466,5467,5468,1,1,5450,2942,1046, - 1369,2721,2694,289,5450,5403,5403,5428,39,5089, - 5086,4851,806,4114,4195,2903,5425,4217,659,5712, - 5710,5719,5718,5714,5715,5713,5716,5717,5720,5711, - 29,438,452,4173,4151,5406,5406,48,4393,385, - 5450,5464,5450,3444,3444,4261,4239,5469,393,4053, - 591,798,5471,616,3100,732,72,5472,5470,564, - 5466,5467,5468,5807,1,5450,1,1040,1369,5917, - 5911,1,2098,5915,5460,5428,287,446,5450,189, - 5450,5450,3642,3402,424,5092,5095,5098,5450,5909, - 5910,3888,5464,5459,5125,727,447,3157,189,418, - 306,5940,5941,727,5450,5918,5450,4885,5450,3698, - 5450,5382,5450,4893,5450,3000,1,4913,5450,5920, - 2860,3548,5450,5450,1,4395,5450,785,5450,1668, - 1694,5450,5921,5919,5942,35,3263,5450,5450,506, - 504,5450,5450,5450,5450,5450,2311,5450,508,2452, - 2148,5931,5930,5943,3477,3366,5912,5913,5936,5937, - 5934,5935,5914,5916,5938,5939,2465,5450,2186,5944, - 4025,5924,5925,5926,5922,5923,5932,5933,5928,5927, - 5929,39,5089,5086,4851,806,4114,4195,2903,5454, - 4217,659,5712,5710,5719,5718,5714,5715,5713,5716, - 5717,5720,5711,3232,3276,2,4173,4151,3696,3978, - 3288,3276,3712,3344,3986,5450,2017,734,4261,4239, - 5469,5450,4053,591,798,5471,616,3100,732,5450, - 5472,5470,564,5466,5467,5468,39,5089,5086,4851, - 806,4114,4195,2903,5450,4217,659,5712,5710,5719, - 5718,5714,5715,5713,5716,5717,5720,5711,5450,5450, - 37,4173,4151,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,4261,4239,5469,5450,4053,591,798, - 5471,616,3100,732,5450,5472,5470,564,5466,5467, - 5468,5450,5450,5450,5450,5450,1369,5450,5453,39, - 5089,5086,4851,806,4114,4195,2903,5450,4217,659, - 5712,5710,5719,5718,5714,5715,5713,5716,5717,5720, - 5711,5450,5450,5450,4173,4151,5450,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,4261,4239,5469,5450, - 4053,591,798,5471,616,3100,732,5450,5472,5470, - 564,5466,5467,5468,39,5089,5086,4851,806,4114, - 4195,2903,1537,4217,659,5712,5710,5719,5718,5714, - 5715,5713,5716,5717,5720,5711,5450,5450,5450,4173, - 4151,5450,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,4261,4239,5469,5450,4053,591,798,5471,616, - 3100,732,5450,5472,5470,564,5466,5467,5468,5450, - 5450,5450,5450,5450,1369,39,5089,5086,3458,806, - 4114,4195,2903,5450,4217,659,5712,5710,5719,5718, - 5714,5715,5713,5716,5717,5720,5711,5450,5450,5450, - 4173,4151,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,4261,4239,5469,5450,4053,591,798,5471, - 616,3100,732,5450,5472,5470,564,5466,5467,5468, - 39,5089,5086,4851,806,4114,4195,2903,5450,4217, - 659,5712,5710,5719,5718,5714,5715,5713,5716,5717, - 5720,5711,5450,5450,5450,4173,4151,5450,5450,5450, - 5450,5450,5450,5450,5450,5450,5450,4261,4239,5469, - 5450,4053,591,798,5471,616,3100,732,5450,5472, - 5470,564,5466,5467,5468,39,5089,5086,4851,806, - 4114,4195,2903,5450,4217,659,5712,5710,5719,5718, - 5714,5715,5713,5716,5717,5720,5711,5450,5450,5450, - 4173,4151,5450,5450,5450,5450,5450,5450,5450,5450, - 5450,5450,4261,4239,5469,5450,4053,591,798,5471, - 616,3100,732,5450,5472,5470,564,5466,5467,5468, - 5450,5089,5086,5450,5488,5450,5450,5450,5450,5450, - 788,5712,5710,5719,5718,5714,5715,5713,5716,5717, - 5720,5711,5708,5785,5786,5450,5450,5450,5702,5709, - 5705,5681,5707,5706,5703,5704,5682,5450,5450,5450, - 5846,5450,5450,5450,5450,5450,5450,5450,5450,239, - 5263,5259,5450,5267,5450,5450,2437,5847,5848,788, - 5250,5256,5229,5232,5244,5241,5247,5238,5235,5226, - 5253,5205,5199,5196,5450,5450,5450,5223,5202,5214, - 5193,5208,5211,5220,5217,5190,5450,5450,5450,5846, - 32,386,386,5285,386,386,5285,386,5285,5285, - 5450,5450,5450,5450,5450,2437,5847,5848,5450,5450, - 5450,5450,386,386,386,5450,221,5285,386,386, - 386,386,386,386,386,386,386,5712,5710,5719, - 5718,5714,5715,5713,5716,5717,5720,5711,5708,5785, - 5786,5450,5450,5450,5702,5709,5705,5681,5707,5706, - 5703,5704,5682,5285,5450,5450,5450,5450,5450,5450, - 5450,5450,5450,5285 + 1,5342,1034,1,1,2233,3996,810,5301,3229, + 5347,5404,5405,124,48,1,1,1,5357,1, + 1,1,1,1,1,1,5342,1,1,1, + 1,1,1,5342,513,5342,360,4162,1,5876, + 5342,5342,1144,1,1,1,5069,5065,2827,5073, + 2715,3892,619,360,3923,5029,5056,5062,5035,5038, + 5050,5047,5053,5044,5041,5032,5059,5353,2784,5357, + 3870,3811,5342,5342,4981,4978,2259,626,1135,734, + 619,5002,3974,3952,5361,5342,593,675,779,5363, + 727,4106,748,2743,5364,5362,657,5358,5359,5360, + 37,5204,5204,5852,887,1396,328,2683,2656,315, + 39,39,5268,514,39,4981,4978,2827,626,2715, + 3892,619,5336,3923,573,5604,5602,5611,5610,5606, + 5607,5605,5608,5609,5612,5603,5342,5356,5357,3870, + 3811,1135,5342,619,5342,4775,1,4815,5378,2829, + 5342,3974,3952,5361,5168,593,675,779,5363,727, + 4106,748,5342,5364,5362,657,5358,5359,5360,45, + 5247,5247,1049,5342,1396,5342,1,5342,5342,5227, + 5224,5320,5342,5348,526,5349,139,4981,4978,2827, + 626,2715,3892,619,5342,3923,573,5604,5602,5611, + 5610,5606,5607,5605,5608,5609,5612,5603,5342,1049, + 1,3870,3811,37,5204,5204,5342,5244,161,5171, + 126,29,29,3974,3952,5361,5378,593,675,779, + 5363,727,4106,748,5741,5364,5362,657,5358,5359, + 5360,3863,359,3224,5342,4795,1396,4143,5347,526, + 5781,39,39,1,5069,5065,2827,5073,2715,3892, + 619,5378,3923,5029,5056,5062,5035,5038,5050,5047, + 5053,5044,5041,5032,5059,2784,1034,4984,3870,3811, + 317,5342,5342,161,5795,4289,5342,125,5189,5352, + 3974,3952,5361,422,593,675,779,5363,727,4106, + 748,5342,5364,5362,657,5358,5359,5360,5351,5342, + 5342,426,4194,1396,2683,2656,97,5342,39,39, + 39,4981,4978,2827,626,2715,3892,619,5317,3923, + 573,5604,5602,5611,5610,5606,5607,5605,5608,5609, + 5612,5603,2784,1049,101,3870,3811,4291,5342,3431, + 5342,2828,5342,1,3593,5192,39,3974,3952,5361, + 5380,593,675,779,5363,727,4106,748,5342,5364, + 5362,657,5358,5359,5360,1,1,183,3362,1092, + 1396,2683,2656,4134,446,5292,5292,5320,39,4981, + 4978,2827,626,2715,3892,619,5317,3923,573,5604, + 5602,5611,5610,5606,5607,5605,5608,5609,5612,5603, + 438,452,385,3870,3811,5295,5295,48,289,5342, + 5342,5356,393,3632,3632,3974,3952,5361,72,593, + 675,779,5363,727,4106,748,5342,5364,5362,657, + 5358,5359,5360,5698,1,287,1,624,1396,5809, + 5803,1,5342,5807,5352,5320,2481,276,418,189, + 5280,5342,5342,5342,424,4987,4990,5017,5342,5801, + 5802,3557,5356,5351,1034,3415,447,1034,189,35, + 305,5832,5833,5274,5342,5810,5342,2064,5342,4379, + 5342,3018,5342,4777,5342,3482,5342,4757,5333,5812, + 1040,3378,5342,5342,5342,3187,4787,947,1,1635, + 1686,5342,5813,5811,5834,820,506,5342,3428,504, + 5342,5342,5342,4620,2112,5342,5342,2150,5342,4821, + 5342,5823,5822,5835,783,2,5804,5805,5828,5829, + 5826,5827,5806,5808,5830,5831,3087,3518,3393,5836, + 3798,5816,5817,5818,5814,5815,5824,5825,5820,5819, + 5821,39,4981,4978,2827,626,2715,3892,619,5346, + 3923,573,5604,5602,5611,5610,5606,5607,5605,5608, + 5609,5612,5603,3167,1,4346,3870,3811,4790,3223, + 37,5342,5342,3279,3393,5342,5342,3864,3974,3952, + 5361,5342,593,675,779,5363,727,4106,748,5342, + 5364,5362,657,5358,5359,5360,39,4981,4978,2827, + 626,2715,3892,619,5342,3923,573,5604,5602,5611, + 5610,5606,5607,5605,5608,5609,5612,5603,508,5342, + 5342,3870,3811,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,3974,3952,5361,5342,593,675,779, + 5363,727,4106,748,1984,5364,5362,657,5358,5359, + 5360,5342,5342,5342,4164,5342,1396,5342,5345,39, + 4981,4978,2827,626,2715,3892,619,5342,3923,573, + 5604,5602,5611,5610,5606,5607,5605,5608,5609,5612, + 5603,5342,5342,5342,3870,3811,5342,2551,5342,5342, + 5342,5342,5342,5342,5342,5342,3974,3952,5361,5342, + 593,675,779,5363,727,4106,748,5342,5364,5362, + 657,5358,5359,5360,39,4981,4978,2827,626,2715, + 3892,619,1518,3923,573,5604,5602,5611,5610,5606, + 5607,5605,5608,5609,5612,5603,5342,5342,5342,3870, + 3811,5342,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,3974,3952,5361,5342,593,675,779,5363,727, + 4106,748,5342,5364,5362,657,5358,5359,5360,5342, + 5342,5342,5342,5342,1396,39,4981,4978,4129,626, + 2715,3892,619,5342,3923,573,5604,5602,5611,5610, + 5606,5607,5605,5608,5609,5612,5603,5342,5342,5342, + 3870,3811,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,3974,3952,5361,5342,593,675,779,5363, + 727,4106,748,5342,5364,5362,657,5358,5359,5360, + 39,4981,4978,2827,626,2715,3892,619,5342,3923, + 573,5604,5602,5611,5610,5606,5607,5605,5608,5609, + 5612,5603,5342,5342,5342,3870,3811,5342,5342,5342, + 5342,5342,5342,5342,5342,5342,5342,3974,3952,5361, + 5342,593,675,779,5363,727,4106,748,5342,5364, + 5362,657,5358,5359,5360,39,4981,4978,2827,626, + 2715,3892,619,5342,3923,573,5604,5602,5611,5610, + 5606,5607,5605,5608,5609,5612,5603,5342,5342,5342, + 3870,3811,5342,5342,5342,5342,5342,5342,5342,5342, + 5342,5342,3974,3952,5361,5342,593,675,779,5363, + 727,4106,748,5342,5364,5362,657,5358,5359,5360, + 5342,4981,4978,5342,5380,5342,5342,5342,5342,5342, + 1316,5604,5602,5611,5610,5606,5607,5605,5608,5609, + 5612,5603,5600,5676,5677,5342,5342,5342,5594,5601, + 5597,5573,5599,5598,5595,5596,5574,5342,5342,5342, + 5738,5342,5342,5342,5342,5342,5342,5342,5342,239, + 5155,5151,5342,5159,5342,5342,564,5739,5740,1316, + 5142,5148,5121,5124,5136,5133,5139,5130,5127,5118, + 5145,5097,5091,5088,5342,5342,5342,5115,5094,5106, + 5085,5100,5103,5112,5109,5082,5342,5342,5342,5738, + 32,386,386,5177,386,386,5177,386,5177,5177, + 5342,5342,5342,5342,5342,564,5739,5740,5342,5342, + 5342,5342,386,386,386,5342,221,5177,386,386, + 386,386,386,386,386,386,386,5604,5602,5611, + 5610,5606,5607,5605,5608,5609,5612,5603,5600,5676, + 5677,5342,5342,5342,5594,5601,5597,5573,5599,5598, + 5595,5596,5574,5177,5342,5342,5342,5342,5342,5342, + 5342,5342,5342,5177 }; }; public final static char termAction[] = TermAction.termAction; @@ -1810,60 +1789,61 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 179,7,764,1,220,868,868,868,868,1105, - 220,886,886,648,886,125,748,127,765,765, - 765,765,765,765,765,765,765,888,894,899, - 896,903,901,908,906,910,909,911,284,912, - 764,764,688,688,688,688,803,527,20,20, - 883,688,437,176,886,886,20,803,176,176, - 167,748,938,687,1020,1107,1042,764,886,888, - 479,479,527,764,765,765,765,765,765,765, - 765,765,765,765,765,765,765,765,765,765, - 765,765,765,764,764,764,764,764,764,764, - 764,764,764,764,764,765,176,857,857,857, - 857,267,176,20,20,1103,1031,1042,84,1042, - 79,1042,571,1042,1026,1105,803,437,437,20, - 868,765,1103,397,595,585,584,486,1049,1049, - 1105,127,437,687,764,801,1019,800,802,800, - 176,437,896,896,894,894,894,901,901,901, - 901,899,899,906,903,903,909,908,910,1119, - 911,220,220,220,220,803,803,857,856,857, - 883,803,333,222,81,266,82,1105,803,803, - 267,857,167,437,927,176,597,599,803,1020, - 765,688,892,132,176,1107,803,803,802,1020, - 764,764,764,764,764,220,220,748,334,881, - 879,222,803,644,15,642,267,84,382,803, - 267,803,176,589,577,588,599,267,801,176, - 892,1103,1019,1107,803,801,176,176,176,176, - 527,527,334,879,841,803,222,1119,82,868, - 269,72,1109,222,644,643,644,644,267,382, - 382,803,803,387,764,586,586,271,271,803, - 593,1103,806,176,803,892,893,892,764,132, - 77,888,1107,176,176,879,879,1020,440,84, - 857,868,800,522,1111,797,220,644,644,644, - 644,803,382,841,839,840,387,764,764,599, - 803,1020,176,597,577,387,1084,892,527,765, - 437,77,879,878,801,440,440,337,238,801, - 644,644,797,932,765,1119,279,861,803,1103, - 644,644,634,841,765,803,851,599,387,893, - 176,437,879,933,841,569,980,325,220,82, - 374,440,440,238,801,644,84,1105,1111,765, - 765,1019,797,870,715,635,803,851,176,851, - 336,325,569,874,1105,841,856,868,9,9, - 933,84,728,870,803,220,634,803,1105,1105, - 803,220,844,851,337,440,933,278,932,176, - 1105,803,238,337,238,855,855,859,729,1105, - 803,527,803,803,803,600,844,440,764,88, - 797,933,803,803,238,688,688,859,728,1119, - 765,1119,933,727,220,220,220,729,220,803, - 292,933,933,803,84,176,803,803,175,846, - 841,176,841,84,803,933,856,720,220,720, - 729,1119,729,748,748,746,936,748,933,933, - 282,859,688,846,841,88,933,632,806,729, - 176,797,176,746,325,220,176,859,88,9, - 176,176,1097,729,282,729,933,325,764,729, - 726,840,855,84,84,1099,764,727,527,933, - 176,931,87,800,729,176,933,931,931,729 + 830,126,544,120,871,885,885,885,885,1059, + 871,778,778,48,778,174,528,176,545,545, + 545,545,545,545,545,545,545,780,786,791, + 788,795,793,800,798,802,801,803,381,804, + 544,544,88,88,88,88,583,705,181,181, + 775,88,326,373,778,778,181,583,373,373, + 364,528,897,87,1115,1061,996,544,778,780, + 698,698,705,544,545,545,545,545,545,545, + 545,545,545,545,545,545,545,545,545,545, + 545,545,545,544,544,544,544,544,544,544, + 544,544,544,544,544,545,373,768,768,768, + 768,491,373,181,181,1057,985,996,133,996, + 128,996,1,996,980,1059,583,326,326,181, + 885,545,1057,286,9,645,644,596,1003,1003, + 1059,176,326,87,544,581,1114,580,582,580, + 373,326,788,788,786,786,786,793,793,793, + 793,791,791,798,795,795,801,800,802,1073, + 803,871,871,871,871,583,583,768,767,768, + 775,583,430,446,130,490,131,1059,583,583, + 491,768,364,326,819,373,11,13,583,1115, + 545,88,784,329,373,1061,583,583,582,1115, + 544,544,544,544,544,871,871,528,431,773, + 771,446,583,751,376,749,491,133,495,583, + 491,583,373,649,637,648,13,491,581,373, + 784,1057,1114,1061,583,581,373,373,373,373, + 705,705,431,771,875,583,446,1073,131,885, + 493,233,1063,446,751,750,751,751,491,495, + 495,583,583,586,544,646,646,433,433,583, + 7,1057,947,373,583,784,785,784,544,329, + 238,780,1061,373,373,771,771,1115,133,133, + 768,885,580,632,1065,577,871,751,751,751, + 751,583,495,875,873,874,586,544,544,13, + 583,1115,373,11,637,586,1038,784,705,545, + 326,238,771,770,581,659,133,241,462,581, + 751,751,577,824,545,1073,441,878,583,1057, + 751,751,939,875,545,583,762,13,586,785, + 373,326,771,825,659,659,747,1075,422,871, + 131,278,462,581,751,133,1059,1065,545,545, + 1114,577,887,115,940,583,762,373,762,875, + 659,659,240,422,747,891,1059,767,885,653, + 653,825,133,508,887,583,871,939,583,1059, + 1059,583,871,755,762,875,241,659,825,440, + 824,373,1059,583,462,241,462,766,766,828, + 509,1059,583,705,583,583,583,14,755,659, + 544,137,577,825,583,583,462,88,88,828, + 508,1073,545,1073,825,507,871,871,871,509, + 871,583,389,825,825,583,133,373,583,583, + 372,757,875,373,875,133,583,825,767,500, + 871,500,509,1073,509,528,528,526,895,528, + 825,825,444,828,88,757,875,137,825,46, + 947,509,373,577,373,526,422,871,373,828, + 137,653,373,373,1051,509,444,509,825,422, + 544,509,506,874,766,133,133,1053,544,507, + 705,825,373,823,136,580,509,373,825,823, + 823,509 }; }; public final static char asb[] = Asb.asb; @@ -1871,78 +1851,56 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 8,72,117,73,27,70,120,0,68,69, - 70,1,2,0,4,8,72,67,0,28, - 11,12,40,23,42,65,13,43,56,29, - 30,44,14,31,32,15,16,33,66,34, - 45,17,18,46,35,47,57,49,60,50, - 36,51,58,19,22,20,24,21,52,53, - 54,39,3,37,38,9,6,25,26,41, - 68,7,1,2,4,10,5,0,48,4, - 72,1,2,67,8,0,71,60,37,38, - 9,6,25,26,41,46,3,4,52,53, - 54,39,50,44,49,12,21,11,17,15, - 16,18,19,14,13,20,10,43,47,45, - 42,51,67,8,7,5,1,2,66,65, - 0,91,89,25,26,92,93,87,88,55, - 94,95,96,97,98,99,100,101,106,72, - 90,69,107,108,109,110,111,112,113,114, - 115,116,117,71,27,120,68,1,2,9, - 6,4,3,63,70,73,8,0,11,12, - 42,65,13,43,44,14,15,16,66,7, - 45,17,18,46,47,49,60,50,51,10, - 19,20,21,52,53,54,39,1,2,37, - 38,9,6,25,26,5,41,4,61,3, - 0,86,59,7,102,103,104,62,8,3, - 9,6,5,72,71,27,61,28,11,12, - 40,23,13,56,29,30,14,31,32,15, - 16,33,34,17,18,35,57,36,10,58, - 19,22,20,24,21,4,1,2,48,0, - 74,68,72,90,73,67,63,3,8,70, - 27,69,0,68,72,90,70,117,73,71, - 120,11,12,42,65,13,43,44,14,15, - 16,66,45,17,18,46,47,49,60,50, - 51,10,19,20,21,52,53,54,39,37, - 38,25,26,41,8,27,5,7,1,2, - 4,3,9,6,0,67,40,23,13,56, - 29,14,31,32,15,16,33,34,17,18, - 35,57,36,58,19,22,20,24,21,12, - 11,28,8,3,9,6,27,62,64,86, - 30,61,48,7,1,2,5,4,10,59, - 0,1,2,8,71,0,23,60,24,8, - 68,90,69,70,73,0,65,66,3,10, - 43,47,45,42,51,12,21,11,17,15, - 16,18,19,14,13,20,52,53,54,39, - 50,44,49,5,7,4,37,38,9,6, - 25,26,41,46,1,2,117,8,0,64, - 28,11,12,40,23,13,56,29,86,30, - 14,31,32,15,16,33,59,34,17,18, - 35,57,36,10,58,19,62,22,20,24, - 21,8,3,9,6,71,27,61,7,4, - 48,5,1,2,0,28,11,12,23,13, - 29,30,14,31,32,15,16,33,7,34, - 17,18,35,36,19,22,20,24,21,1, - 2,8,63,9,6,5,4,73,27,3, - 0,8,72,67,74,0,8,73,11,12, - 42,65,13,43,44,14,15,16,66,7, - 45,17,18,46,47,49,60,50,51,10, - 19,20,21,52,53,54,1,2,3,37, - 38,9,6,25,26,5,41,4,39,0, - 4,8,67,1,2,0,9,6,7,5, - 4,1,2,3,63,68,69,70,8,73, - 90,0,5,7,3,63,6,9,90,28, - 11,12,23,13,56,29,30,14,31,32, - 15,16,33,34,17,18,35,57,36,10, - 58,19,22,20,24,21,1,2,4,73, - 8,40,0,22,1,2,4,102,103,104, - 0,4,55,8,72,67,0,66,65,25, + 4,8,67,1,2,0,5,7,3,63, + 6,9,90,28,11,12,23,13,56,29, + 30,14,31,32,15,16,33,34,17,18, + 35,57,36,10,58,19,22,20,24,21, + 1,2,4,73,8,40,0,66,65,25, 26,6,92,93,98,9,99,5,41,69, 55,68,110,111,107,108,109,115,114,116, 88,87,112,113,96,97,94,95,100,101, 37,38,70,89,105,63,3,28,11,12, 40,23,13,56,29,30,14,31,32,15, 16,33,34,17,18,35,57,36,10,58, - 19,20,24,21,1,2,4,22,0,86, + 19,20,24,21,1,2,4,22,0,8, + 72,117,73,27,70,120,0,48,4,72, + 1,2,67,8,0,71,60,37,38,9, + 6,25,26,41,46,3,4,52,53,54, + 39,50,44,49,12,21,11,17,15,16, + 18,19,14,13,20,10,43,47,45,42, + 51,67,8,7,5,1,2,66,65,0, + 28,11,12,40,23,42,65,13,43,56, + 29,30,44,14,31,32,15,16,33,66, + 34,45,17,18,46,35,47,57,49,60, + 50,36,51,58,19,22,20,24,21,52, + 53,54,39,3,37,38,9,6,25,26, + 41,68,7,1,2,4,10,5,0,67, + 40,23,13,56,29,14,31,32,15,16, + 33,34,17,18,35,57,36,58,19,22, + 20,24,21,12,11,28,8,3,9,6, + 27,62,64,86,30,61,48,7,1,2, + 5,4,10,59,0,65,66,3,10,43, + 47,45,42,51,12,21,11,17,15,16, + 18,19,14,13,20,52,53,54,39,50, + 44,49,5,7,4,37,38,9,6,25, + 26,41,46,1,2,117,8,0,91,89, + 25,26,92,93,87,88,55,94,95,96, + 97,98,99,100,101,106,72,90,69,107, + 108,109,110,111,112,113,114,115,116,117, + 71,27,120,68,1,2,9,6,4,3, + 63,70,73,8,0,4,8,72,67,0, + 68,72,90,70,117,73,71,120,11,12, + 42,65,13,43,44,14,15,16,66,45, + 17,18,46,47,49,60,50,51,10,19, + 20,21,52,53,54,39,37,38,25,26, + 41,8,27,5,7,1,2,4,3,9, + 6,0,74,68,72,90,73,67,63,3, + 8,70,27,69,0,86,59,7,102,103, + 104,62,8,3,9,6,5,72,71,27, + 61,28,11,12,40,23,13,56,29,30, + 14,31,32,15,16,33,34,17,18,35, + 57,36,10,58,19,22,20,24,21,4, + 1,2,48,0,1,2,8,71,0,86, 102,103,104,48,72,118,121,71,61,74, 62,59,64,76,78,84,82,75,80,81, 83,85,67,77,79,27,8,28,40,23, @@ -1951,38 +1909,60 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 42,51,12,21,11,17,15,16,18,19, 14,13,20,52,53,54,39,50,44,49, 37,38,25,26,41,46,9,6,3,4, - 7,5,1,2,0,28,11,12,40,23, - 13,56,29,30,14,31,32,15,16,33, - 34,17,18,35,57,36,10,58,19,22, - 20,24,21,1,2,4,90,0,69,70, - 71,8,0,23,24,74,3,72,27,67, - 60,8,90,73,69,70,68,0,118,0, - 72,8,63,3,69,70,27,55,0,8, - 67,70,0,8,67,69,0,60,23,24, - 7,5,1,2,4,74,67,119,105,37, - 38,63,3,91,89,6,92,93,25,26, - 88,87,55,94,95,96,97,9,98,99, - 100,68,90,73,120,69,107,108,109,110, - 111,112,113,114,115,116,72,117,101,106, - 71,70,27,8,0,75,0,65,66,37, - 38,9,6,25,26,5,41,46,3,4, - 7,52,53,54,39,50,44,49,12,21, - 11,17,15,16,18,19,14,13,20,10, - 43,47,45,42,51,63,1,2,0,40, - 23,13,56,29,14,31,32,15,16,33, - 34,17,18,35,57,36,10,58,19,22, - 20,24,21,12,11,28,8,3,9,27, - 62,59,64,86,30,61,55,4,6,7, - 1,2,5,48,0,10,56,40,57,58, - 12,21,11,17,15,16,18,19,14,13, - 20,74,72,90,117,71,67,120,119,91, - 105,89,37,38,25,26,92,93,87,88, - 55,68,94,95,96,97,98,99,100,101, - 106,69,107,108,109,110,111,112,113,114, - 115,116,70,28,23,29,30,31,32,33, - 34,35,36,22,24,27,8,73,3,63, - 7,5,9,6,1,2,4,0,27,8, - 3,7,5,9,6,4,1,2,72,0 + 7,5,1,2,0,23,60,24,8,68, + 90,69,70,73,0,28,11,12,23,13, + 29,30,14,31,32,15,16,33,7,34, + 17,18,35,36,19,22,20,24,21,1, + 2,8,63,9,6,5,4,73,27,3, + 0,8,72,67,74,0,9,6,7,5, + 4,1,2,3,63,68,69,70,8,73, + 90,0,68,69,70,1,2,0,64,28, + 11,12,40,23,13,56,29,86,30,14, + 31,32,15,16,33,59,34,17,18,35, + 57,36,10,58,19,62,22,20,24,21, + 8,3,9,6,71,27,61,7,4,48, + 5,1,2,0,8,73,11,12,42,65, + 13,43,44,14,15,16,66,7,45,17, + 18,46,47,49,60,50,51,10,19,20, + 21,52,53,54,1,2,3,37,38,9, + 6,25,26,5,41,4,39,0,4,55, + 8,72,67,0,23,24,74,3,72,27, + 67,60,8,90,73,69,70,68,0,60, + 23,24,7,5,1,2,4,74,67,119, + 105,37,38,63,3,91,89,6,92,93, + 25,26,88,87,55,94,95,96,97,9, + 98,99,100,68,90,73,120,69,107,108, + 109,110,111,112,113,114,115,116,72,117, + 101,106,71,70,27,8,0,118,0,11, + 12,42,65,13,43,44,14,15,16,66, + 7,45,17,18,46,47,49,60,50,51, + 10,19,20,21,52,53,54,39,1,2, + 37,38,9,6,25,26,5,41,4,61, + 3,0,69,70,71,8,0,72,8,63, + 3,69,70,27,55,0,8,67,70,0, + 8,67,69,0,75,0,65,66,37,38, + 9,6,25,26,5,41,46,3,4,7, + 52,53,54,39,50,44,49,12,21,11, + 17,15,16,18,19,14,13,20,10,43, + 47,45,42,51,63,1,2,0,22,1, + 2,4,102,103,104,0,28,11,12,40, + 23,13,56,29,30,14,31,32,15,16, + 33,34,17,18,35,57,36,10,58,19, + 22,20,24,21,1,2,4,90,0,10, + 56,40,57,58,12,21,11,17,15,16, + 18,19,14,13,20,74,72,90,117,71, + 67,120,119,91,105,89,37,38,25,26, + 92,93,87,88,55,68,94,95,96,97, + 98,99,100,101,106,69,107,108,109,110, + 111,112,113,114,115,116,70,28,23,29, + 30,31,32,33,34,35,36,22,24,27, + 8,73,3,63,7,5,9,6,1,2, + 4,0,27,8,3,7,5,9,6,4, + 1,2,72,0,40,23,13,56,29,14, + 31,32,15,16,33,34,17,18,35,57, + 36,10,58,19,22,20,24,21,12,11, + 28,8,3,9,27,62,59,64,86,30, + 61,55,4,6,7,1,2,5,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -1990,60 +1970,61 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 69,12,60,12,12,12,12,12,12,64, - 12,12,12,184,12,196,276,79,60,60, - 247,60,60,60,60,60,60,12,12,12, - 12,12,12,12,12,12,12,12,60,12, - 60,171,39,39,39,39,79,110,142,142, - 54,5,95,282,12,12,142,251,282,282, - 106,1,60,49,32,12,12,171,12,12, - 17,17,110,171,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,171,60,282,12,12,12, - 12,25,282,34,34,158,265,266,182,266, - 46,266,113,266,259,10,79,95,95,34, - 12,60,158,90,105,77,77,12,12,12, - 10,79,95,39,51,196,217,195,79,195, - 282,95,12,12,12,12,12,12,12,12, + 234,12,81,12,12,12,12,12,12,85, + 12,12,12,31,12,196,165,146,81,81, + 152,81,81,81,81,81,81,12,12,12, + 12,12,12,12,12,12,12,12,81,12, + 81,162,43,43,43,43,146,200,29,29, + 96,5,94,285,12,12,29,156,285,285, + 170,1,81,69,104,12,12,162,12,12, + 55,55,200,162,81,81,81,81,81,81, + 81,81,81,81,81,81,81,81,81,81, + 81,81,81,81,81,81,81,81,81,81, + 81,81,81,81,162,81,285,12,12,12, + 12,35,285,38,38,142,262,263,182,263, + 52,263,13,263,256,10,146,94,94,38, + 12,81,142,89,169,87,87,12,12,12, + 10,146,94,43,149,196,48,195,146,195, + 285,94,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,98,11,12,12,12, - 146,79,12,142,97,64,74,64,79,11, - 12,12,144,95,12,282,211,142,79,32, - 60,39,142,66,282,12,11,79,131,32, - 60,171,171,171,171,12,12,34,160,160, - 160,124,98,13,13,12,227,182,142,227, - 31,98,282,12,135,12,214,30,98,282, - 103,146,217,12,251,98,282,282,282,282, - 110,110,12,142,151,79,122,12,224,12, - 12,23,268,124,13,13,142,142,31,142, - 252,11,98,142,60,12,12,77,77,79, - 134,158,214,282,98,142,28,12,171,146, - 132,12,12,282,282,160,42,32,142,182, - 12,12,64,142,153,137,12,142,142,166, - 166,98,252,151,12,12,42,60,60,142, - 11,32,282,211,190,142,12,103,110,60, - 95,132,142,42,196,242,142,254,142,227, - 142,44,192,122,60,12,82,12,79,158, - 166,166,162,151,60,252,142,214,42,28, - 282,95,42,122,151,12,254,269,12,74, - 23,254,242,214,196,44,208,116,137,60, - 60,174,192,12,64,88,227,72,282,142, - 181,153,12,12,64,151,12,12,15,15, - 122,208,150,12,227,12,234,227,64,64, - 11,12,142,72,254,142,122,101,12,282, - 64,227,214,254,142,12,12,142,168,116, - 11,110,11,227,227,280,42,242,51,58, - 137,122,227,225,214,39,39,86,177,12, - 60,12,122,12,12,12,12,178,12,252, - 120,122,122,252,205,282,11,11,282,142, - 151,282,142,182,225,122,12,188,12,12, - 178,12,178,238,238,200,12,238,122,122, - 12,142,39,72,151,142,122,12,39,178, - 282,137,282,230,142,12,282,86,58,15, - 282,282,142,178,12,178,122,137,171,178, - 188,151,12,205,205,135,60,12,221,122, - 282,84,57,195,178,282,122,84,12,178 + 12,12,12,12,12,187,11,12,12,12, + 221,146,12,29,186,85,75,85,146,11, + 12,12,219,94,12,285,203,29,146,104, + 81,43,29,99,285,12,11,146,128,104, + 81,162,162,162,162,12,12,38,144,144, + 144,273,187,73,73,12,280,182,29,280, + 103,187,285,12,22,12,206,102,187,285, + 71,221,48,12,156,187,285,285,285,285, + 200,200,12,29,17,146,67,12,211,12, + 12,113,265,273,73,73,29,29,103,29, + 157,11,187,29,81,12,12,87,87,146, + 21,142,206,285,187,29,46,12,162,221, + 129,12,12,285,285,144,19,104,182,242, + 12,12,85,29,137,24,12,29,29,135, + 135,187,157,17,12,12,19,81,81,29, + 11,104,285,203,190,29,12,71,200,81, + 94,129,29,19,196,29,182,244,29,280, + 29,108,192,67,81,12,124,12,146,142, + 135,135,252,17,81,157,29,206,19,46, + 285,94,19,67,229,29,12,244,266,12, + 241,113,206,196,108,119,131,24,81,81, + 174,192,12,85,126,280,106,285,29,17, + 244,229,181,137,12,12,85,12,12,184, + 184,67,119,16,12,280,12,61,280,85, + 85,11,12,29,106,17,244,29,67,209, + 12,285,85,280,206,244,29,12,12,29, + 159,131,11,200,11,280,280,283,19,229, + 149,79,24,67,280,212,206,43,43,122, + 177,12,81,12,67,12,12,12,12,178, + 12,157,65,67,67,157,110,285,11,11, + 285,29,17,285,29,182,212,67,12,117, + 12,12,178,12,178,237,237,214,12,237, + 67,67,12,29,43,106,17,29,67,12, + 43,178,285,24,285,225,29,12,285,122, + 79,184,285,285,29,178,12,178,67,24, + 162,178,117,17,12,110,110,22,81,12, + 249,67,285,115,78,195,178,285,67,115, + 12,178 }; }; public final static char nasb[] = Nasb.nasb; @@ -2051,35 +2032,35 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,121,149,148,5, - 2,0,109,0,108,0,5,2,9,10, - 139,0,156,0,136,65,0,141,0,136, - 2,65,0,5,10,9,2,13,4,45, - 0,62,0,159,0,153,188,0,175,0, - 4,29,0,4,195,0,67,129,40,10, - 9,2,13,5,0,4,177,0,4,174, - 0,126,0,40,1,0,75,0,2,44, - 0,191,0,162,0,161,0,193,0,13, - 2,9,10,5,83,0,44,2,3,0, - 184,0,143,0,35,94,95,4,0,4, - 97,0,153,183,0,172,5,171,0,4, - 39,38,0,4,48,82,102,46,5,0, - 2,115,0,35,95,94,64,5,2,9, - 10,4,0,95,94,49,5,57,0,4, - 67,0,4,10,9,2,64,5,90,49, - 0,5,102,192,0,110,0,48,40,179, - 4,39,0,65,49,0,67,39,48,68, - 4,40,0,4,45,196,0,113,0,95, - 94,49,64,57,5,10,9,2,0,39, - 4,23,181,0,40,55,0,40,160,0, - 49,5,90,23,4,0,65,138,137,0, - 4,178,0,40,104,0,2,56,0,45, - 4,180,0,5,102,168,0,4,45,103, - 0,116,4,48,82,0,5,10,9,13, - 3,1,0,4,48,82,84,0,2,5, - 121,117,118,119,13,87,0,38,5,2, - 9,10,4,158,0,4,45,39,0,45, - 4,35,0 + 3,13,10,9,152,150,119,149,148,5, + 2,0,153,183,0,4,67,0,62,0, + 35,93,92,64,5,2,9,10,4,0, + 4,45,196,0,136,65,0,5,10,9, + 2,13,4,45,0,141,0,65,138,137, + 0,153,188,0,5,2,9,10,139,0, + 5,100,168,0,4,39,38,0,175,0, + 143,0,107,0,42,1,0,67,129,42, + 10,9,2,13,5,0,75,0,13,2, + 9,10,5,81,0,4,195,0,4,177, + 0,136,2,65,0,125,0,159,0,42, + 55,0,156,0,162,0,111,0,42,160, + 0,161,0,191,0,193,0,2,113,0, + 172,5,171,0,108,0,4,10,9,2, + 64,5,88,49,0,2,44,0,4,29, + 0,5,10,9,13,3,1,0,48,42, + 179,4,39,0,4,45,39,0,35,92, + 93,4,0,65,49,0,67,39,48,68, + 4,42,0,106,0,44,2,3,0,93, + 92,49,64,57,5,10,9,2,0,4, + 95,0,49,5,88,23,4,0,184,0, + 121,102,0,39,4,23,181,0,93,92, + 49,5,57,0,45,4,180,0,114,4, + 48,80,0,4,174,0,4,45,101,0, + 1,121,0,4,48,80,82,0,4,178, + 0,5,100,192,0,2,5,119,115,116, + 117,13,85,0,38,5,2,9,10,4, + 158,0,4,48,80,100,46,5,0,2, + 56,0,45,4,35,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2110,16 +2091,16 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 130,135,136,0,0,134,0,0,229,235, 133,0,143,132,0,0,142,148,0,0, 149,158,180,159,160,161,162,163,151,164, - 165,166,141,167,126,168,0,128,131,129, - 169,0,138,137,152,177,0,0,0,0, + 165,166,141,167,126,168,0,128,131,169, + 0,129,138,137,152,177,0,0,0,0, 0,0,0,0,172,0,155,0,204,0, 145,187,201,205,0,0,127,171,0,0, 0,0,0,0,206,175,0,0,0,0, - 0,0,125,178,0,0,186,0,0,202, - 212,157,208,209,210,0,0,146,0,0, - 207,220,174,196,0,0,211,0,0,0, - 0,240,241,0,147,179,189,190,191,192, - 193,195,198,0,199,0,214,217,0,219, + 125,178,0,0,186,0,0,202,212,157, + 208,209,210,0,0,146,0,0,207,220, + 174,196,0,0,211,0,0,0,0,240, + 241,0,147,179,189,190,191,192,193,195, + 0,198,0,199,0,214,217,0,0,219, 0,238,0,239,0,0,139,140,144,0, 0,154,156,0,170,0,181,182,183,184, 185,188,0,0,194,0,197,203,0,215, @@ -2135,18 +2116,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 159,577,596,309,528,544,555,566,368,267, - 281,303,316,329,42,292,388,426,167,585, - 479,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,503,27,144,378, - 342,604,27,217,246,1,14,61,76,106, - 347,357,361,444,472,524,614,618,622,97, - 7,97,406,422,435,456,516,116,116,232, - 435,535,551,562,573,207,490,56,56,156, - 222,225,56,241,262,225,225,56,365,469, - 476,156,56,637,110,351,410,450,463,56, - 351,397,177,104,448,626,633,626,633,65, - 416,137,104,104,251 + 159,579,598,304,311,530,546,557,568,370, + 267,281,298,318,331,42,292,390,428,167, + 587,481,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,505,27,144,380, + 344,606,27,217,246,1,14,61,76,106, + 349,359,363,446,474,526,616,620,624,97, + 7,97,408,424,437,458,518,116,116,232, + 437,537,553,564,575,207,492,56,56,156, + 222,225,56,241,262,225,225,56,367,471, + 478,156,56,639,110,353,412,452,465,56, + 353,399,177,104,450,628,635,628,635,65, + 418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2154,18 +2135,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 485,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,508,38,152,383, - 591,609,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,244,635, - 11,101,375,375,375,460,508,120,125,236, - 439,539,539,539,539,211,494,59,59,5, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,487,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,510,38,152,385, + 593,611,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,244,637, + 11,101,377,377,377,462,510,120,125,236, + 441,541,541,541,541,211,496,59,59,5, 5,228,230,244,5,265,265,230,95,5, - 244,5,501,5,113,354,413,453,466,520, - 511,400,180,95,95,628,628,630,630,67, - 418,139,202,187,253 + 244,5,503,5,113,356,415,455,468,522, + 513,402,180,95,95,630,630,632,632,67, + 420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2173,18 +2154,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,119,17,17,17,17,71,86, - 47,80,119,118,77,53,71,70,46,17, - 19,3,7,8,168,168,164,117,46,81, - 118,118,120,128,54,47,139,133,128,71, - 17,17,133,96,58,135,74,171,168,164, - 120,182,51,55,143,17,17,17,17,12, - 113,164,71,70,70,37,139,130,130,57, - 70,17,17,17,17,96,19,172,168,184, - 94,101,60,75,59,158,76,120,72,144, - 143,175,139,16,164,120,103,69,21,139, + 46,17,17,79,117,17,17,17,17,71, + 84,47,79,117,116,77,53,71,70,46, + 17,19,3,7,8,168,168,164,115,46, + 116,116,118,128,54,47,139,133,128,71, + 17,17,133,94,58,135,74,171,168,164, + 118,182,51,55,143,17,17,17,17,12, + 111,164,71,70,70,37,139,130,130,57, + 70,17,17,17,17,94,19,172,168,184, + 92,99,60,75,59,158,76,118,72,144, + 143,175,139,16,164,118,101,69,21,139, 139,71,46,164,66,137,44,137,44,171, - 103,117,46,46,58 + 101,115,46,46,58 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2192,9 +2173,9 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 27,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,27,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,27,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,70,27, 1,1,68,73,73,73,118,73,1,27, 1,27,27,71,117,73,73,73,117,1, @@ -2211,18 +2192,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 96,250,250,154,250,250,250,250,106,87, - 96,85,154,154,85,98,106,106,96,250, - 250,182,226,226,54,54,82,154,96,85, - 154,154,154,313,98,96,137,50,313,106, - 250,250,50,146,66,26,106,30,54,82, - 154,22,98,33,63,250,250,250,250,230, - 6,82,106,106,106,282,137,154,154,121, - 106,250,250,250,250,146,250,30,54,24, - 146,148,66,142,66,60,71,154,106,57, - 63,140,137,250,82,154,1,106,251,137, - 137,106,96,82,11,118,158,118,158,30, - 1,154,96,96,66 + 85,250,250,107,154,250,250,250,250,95, + 109,85,107,154,154,107,87,95,95,85, + 250,250,182,226,226,54,54,82,154,85, + 154,154,154,313,87,85,137,50,313,95, + 250,250,50,146,66,26,95,30,54,82, + 154,22,87,33,63,250,250,250,250,230, + 6,82,95,95,95,282,137,154,154,121, + 95,250,250,250,250,146,250,30,54,24, + 146,148,66,142,66,60,71,154,95,57, + 63,140,137,250,82,154,1,95,251,137, + 137,95,85,82,11,118,158,118,158,30, + 1,154,85,85,66 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2234,66 +2215,67 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 126,172,0,126,177,74,0,216,0,253, 126,55,124,0,20,0,295,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,204,0,20,178,0, + 0,295,126,55,48,202,0,20,178,0, 253,126,55,132,0,178,127,0,141,0, - 219,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,178,127,224,0,178, - 127,22,224,0,178,127,315,22,0,128, + 217,3,294,0,294,0,2,0,126,0, + 253,126,55,131,0,178,127,222,0,178, + 127,22,222,0,178,127,315,22,0,128, 187,166,127,0,128,0,187,166,127,0, 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,243,0,136, + 170,0,222,128,0,166,310,241,0,136, 0,0,0,0,135,0,0,0,0,309, - 126,162,252,0,127,0,252,0,129,0, - 0,127,0,308,126,162,251,0,127,0, + 126,164,252,0,127,0,252,0,129,0, + 0,127,0,308,126,164,251,0,127,0, 0,44,127,0,0,151,3,0,126,282, 281,126,74,280,170,0,281,126,74,280, 170,0,215,0,216,0,280,170,0,96, 0,0,215,0,216,0,203,96,0,0, 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,227,126,3,0, - 126,0,0,0,0,0,227,126,3,216, - 0,223,3,0,212,126,0,208,0,146, + 0,203,0,0,215,0,225,126,3,0, + 126,0,0,0,0,0,225,126,3,214, + 0,221,3,0,210,126,0,208,0,146, 0,171,166,127,0,10,0,0,0,0, - 214,63,0,125,0,227,126,3,181,0, + 212,63,0,125,0,225,126,3,181,0, 181,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,236,126,162,39, + 0,198,3,0,201,0,234,126,164,39, 30,0,178,127,59,62,0,196,128,0, 128,178,127,278,62,0,178,127,278,62, - 0,178,127,69,123,59,0,236,126,162, - 59,0,236,126,162,226,59,0,276,126, - 162,123,305,56,0,276,126,162,305,56, - 0,178,127,275,56,0,135,0,187,178, - 127,275,243,0,136,0,178,127,275,243, - 0,187,166,127,10,0,166,127,10,0, - 166,127,0,93,136,0,268,126,145,0, - 268,126,170,0,161,84,0,300,160,302, - 303,3,81,0,126,171,0,302,303,3, - 81,0,128,0,126,171,0,161,3,75, - 190,80,0,126,128,0,190,80,0,108, - 2,131,126,128,0,225,3,75,0,198, - 167,0,33,169,0,167,0,175,33,169, - 0,225,3,85,0,190,157,225,3,83, - 0,62,171,0,225,3,83,0,126,171, - 62,171,0,301,126,162,0,161,0,214, - 77,0,30,171,0,161,106,158,0,30, - 169,0,183,3,0,126,149,0,219,3, - 0,214,63,265,0,161,63,0,183,3, - 297,66,127,0,126,0,0,0,0,297, - 66,127,0,2,145,126,0,0,0,0, - 147,0,125,48,166,127,0,31,147,0, - 93,136,31,147,0,220,178,127,0,146, - 31,147,0,161,3,51,0,161,3,68, - 183,55,42,0,183,55,42,0,20,2, - 131,126,0,161,3,68,183,55,45,0, - 183,55,45,0,161,3,68,183,55,47, - 0,183,55,47,0,161,3,68,183,55, - 43,0,183,55,43,0,219,3,125,187, - 166,127,10,0,125,187,166,127,10,0, - 136,2,0,126,0,219,3,124,258,166, - 127,10,0,258,166,127,10,0,135,2, - 0,126,0,219,3,135,0,219,3,139, - 0,161,63,139,0,260,0,31,0,31, - 139,0,165,0,134,0,161,3,0 + 0,178,127,69,123,59,0,234,126,164, + 243,59,0,234,126,164,243,224,59,0, + 276,126,164,123,305,56,0,276,126,164, + 305,56,0,178,127,275,56,0,135,0, + 187,178,127,275,241,0,136,0,178,127, + 275,241,0,187,166,127,10,0,166,127, + 10,0,166,127,0,93,136,0,268,126, + 145,0,268,126,170,0,161,84,0,300, + 160,302,303,3,81,0,126,171,0,302, + 303,3,81,0,128,0,126,171,0,161, + 3,75,190,80,0,126,128,0,190,80, + 0,108,2,131,126,128,0,223,3,75, + 0,198,167,0,33,169,0,167,0,175, + 33,169,0,223,3,85,0,190,157,223, + 3,83,0,62,171,0,223,3,83,0, + 126,171,62,171,0,301,126,164,0,161, + 0,212,77,0,30,171,0,161,106,158, + 0,30,169,0,183,3,0,126,149,0, + 217,3,0,212,63,265,0,161,63,0, + 183,3,297,66,127,0,126,0,0,0, + 0,297,66,127,0,2,145,126,0,0, + 0,0,147,0,125,48,166,127,0,31, + 147,0,93,136,31,147,0,218,178,127, + 0,146,31,147,0,161,3,51,0,161, + 3,68,183,55,42,0,183,55,42,0, + 20,2,131,126,0,161,3,68,183,55, + 45,0,183,55,45,0,161,3,68,183, + 55,47,0,183,55,47,0,161,3,68, + 183,55,43,0,183,55,43,0,217,3, + 125,187,166,127,10,0,125,187,166,127, + 10,0,136,2,0,126,0,217,3,124, + 258,166,127,10,0,258,166,127,10,0, + 135,2,0,126,0,217,3,135,0,217, + 3,139,0,161,63,139,0,260,0,31, + 0,31,139,0,165,0,134,0,161,3, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2301,38 +2283,38 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 3420,4913,4893,3698,0,3368,3977,2924,1839,0, - 3678,3621,3558,3456,3400,3344,3288,3232,3176,2883, - 2827,3000,0,2271,0,1359,1325,1091,0,2465, - 2452,0,3678,3621,4100,3257,3558,3456,3400,3344, - 3288,3232,3010,3176,2883,2827,3830,3035,0,3851, - 2848,3547,0,3477,2671,0,1436,660,0,4776, - 4710,0,2534,2319,0,4626,4776,4613,2983,4710, - 2958,3531,4691,4025,2387,3946,4593,2592,2552,2513, - 0,2838,2503,0,2838,2503,3966,4506,4496,3859, - 4413,4403,4393,3849,0,2838,2503,3966,4506,4496, - 3859,4413,4403,4393,3849,3678,3621,3558,3456,3400, - 3344,3288,3232,3176,2883,2827,0,3208,3187,0, - 2387,4626,3648,4613,2983,4704,2592,3431,3388,3427, - 3184,2569,818,3259,2751,0,666,578,0,921, - 0,1754,1317,1255,1170,2983,2569,2958,2552,2513, - 2434,2538,0,4645,535,2974,0,4843,4839,4823, - 4819,4805,4771,4756,3959,3614,3516,4904,3512,3378, - 4900,4522,4103,2013,3875,3320,3210,3012,2428,1278, - 0,3633,3024,4843,4839,4823,2684,2320,4819,2314, - 4805,4771,4756,3959,3614,3201,3563,3490,3516,3406, - 4904,2888,2833,2765,2752,3512,3378,2565,2545,4900, - 949,4522,625,4103,2013,3875,2440,3320,3210,3012, - 4645,2307,2974,2428,1278,2224,2136,870,806,734, - 2958,3531,4691,4025,2387,4626,3946,4776,4613,2983, - 4593,2592,2552,4710,2513,1265,932,666,578,3100, - 4371,4349,1184,2274,2356,2324,2473,2400,593,3153, - 3127,2804,2777,2721,2694,3826,3803,629,3778,3753, - 4327,4305,4283,4261,4239,4217,4195,4173,4151,4114, - 4053,2017,2236,2186,2148,2098,2060,1046,1326,1282, - 1222,886,1967,1929,824,750,688,1886,1843,1800, - 1757,1714,1671,1628,1585,1542,1499,1456,535,1413, - 1369,1141,1002,959,1092,0 + 3315,4787,4757,3482,0,3192,2908,1812,1938,0, + 3613,3556,3493,3391,3335,3279,3223,3167,3104,2863, + 2807,3187,0,3106,0,2865,2852,1384,0,3087, + 2481,0,3613,3556,1681,1597,3493,3391,3335,3279, + 3223,3167,1429,3104,2863,2807,2013,1933,0,3016, + 3224,793,0,783,4134,0,1179,730,0,4534, + 4356,0,818,817,0,4264,4534,4251,3072,4356, + 2938,3466,4329,3798,2409,3784,4221,2572,580,2534, + 0,3263,4549,0,3263,4549,4136,4479,4439,4127, + 4417,4372,3371,3593,3613,3556,3493,3391,3335,3279, + 3223,3167,3104,2863,2807,0,3263,4549,4136,4479, + 4439,4127,4417,4372,3371,3593,0,738,731,0, + 2409,4264,4754,4251,3072,4564,2572,3255,4498,3112, + 3096,3207,2590,4237,3323,0,2743,734,0,810, + 0,1854,1602,1476,1009,3072,3207,2938,580,2534, + 2829,2521,0,4342,535,2893,0,4727,4720,4700, + 4682,4675,4661,4655,4637,4603,4598,4765,4579,4574, + 4749,4745,4433,2991,4398,4152,2982,2841,4244,2601, + 0,2194,2188,4727,4720,4700,2108,2102,4682,645, + 4675,4661,4655,4637,4603,2616,3501,3248,4598,3242, + 4765,3123,2868,2837,2567,4579,4574,2474,2451,4749, + 1140,4745,2489,4433,2991,4398,2461,4152,2982,2841, + 4342,1135,2893,4244,2601,936,799,660,626,2551, + 2938,3466,4329,3798,2409,4264,3784,4534,4251,3072, + 4221,2572,580,4356,2534,2812,2271,2743,734,4106, + 4084,4062,2236,2284,2349,2317,2493,2422,2380,3046, + 2951,2784,2757,2683,2656,3761,3738,1328,3713,3688, + 4040,4018,3996,3974,3952,3923,3892,3870,3811,2715, + 593,1984,2198,2150,2112,2064,2026,1092,1351,1274, + 1229,887,1942,1049,825,750,688,1900,1858,1816, + 1774,1732,1690,1648,1606,1564,1522,1480,535,1438, + 1396,1187,1005,962,1144,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2351,49 +2333,50 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 6,95,94,68,55,87,88,9,97,96, 99,98,100,116,115,114,113,112,111,110, 109,108,107,69,106,101,161,183,183,183, - 183,166,219,126,126,126,269,270,252,271, - 243,272,56,273,274,10,127,63,63,126, - 124,157,126,63,3,217,216,135,125,124, + 183,166,217,126,126,126,269,270,252,271, + 241,272,56,273,274,10,127,63,63,126, + 124,157,126,63,3,215,214,135,125,124, 10,127,63,297,3,187,4,48,127,48, - 219,161,146,146,144,144,144,148,148,148, + 217,161,146,146,144,144,144,148,148,148, 148,147,147,150,149,149,153,152,154,161, 156,68,68,68,68,187,258,253,256,253, - 212,127,171,162,310,275,305,275,127,178, - 166,253,212,214,158,223,126,3,127,166, - 205,3,298,167,151,260,187,127,178,166, + 210,127,171,164,310,275,305,275,127,178, + 166,253,210,212,158,221,126,3,127,166, + 203,3,298,167,151,260,187,127,178,166, 72,3,3,3,3,125,124,70,166,9, - 6,126,166,230,125,124,127,123,162,127, - 166,48,227,228,145,229,126,166,48,183, - 126,126,4,220,5,48,161,161,161,161, - 3,3,171,171,309,127,168,224,59,48, - 204,62,170,312,125,124,231,231,178,162, - 126,178,187,157,69,223,198,186,181,127, - 3,126,70,227,187,157,262,265,63,179, - 4,123,125,219,219,6,126,166,162,226, - 55,48,278,280,126,3,181,231,231,126, + 6,126,166,228,125,124,127,123,164,127, + 166,48,225,226,145,227,126,166,48,183, + 126,126,4,218,5,48,161,161,161,161, + 3,3,171,171,309,127,168,222,59,48, + 202,62,170,312,125,124,229,229,178,164, + 126,178,187,157,69,221,198,186,181,127, + 3,126,70,225,187,157,262,265,63,179, + 4,123,125,217,217,6,126,166,243,224, + 55,48,278,280,126,3,181,229,229,126, 126,187,126,276,123,277,126,69,69,3, - 178,166,198,126,212,157,125,126,3,63, - 161,4,171,184,187,126,162,68,55,127, - 74,126,212,311,72,289,198,124,127,126, - 126,126,72,276,69,70,221,126,126,262, - 219,214,126,128,236,30,48,170,64,59, - 62,238,126,126,178,126,281,72,70,72, - 69,166,212,314,224,22,127,126,227,221, - 39,126,3,123,59,236,295,48,10,40, - 128,281,162,293,127,294,70,127,22,315, - 178,60,157,126,126,162,268,247,279,39, - 69,127,70,68,55,230,230,282,126,70, - 178,3,178,127,127,3,126,126,3,69, - 70,157,127,178,126,69,69,126,301,79, - 77,1,161,8,85,83,81,80,75,82, - 84,78,76,59,74,219,178,178,320,221, - 236,151,162,251,178,226,295,283,118,8, - 72,214,72,3,3,3,190,3,123,161, - 123,177,70,126,126,162,226,68,3,72, - 225,167,225,303,145,75,225,126,126,40, - 90,319,167,157,198,157,302,126,3,157, - 283,308,230,157,157,126,69,190,160,268, - 161,189,70,69,121,300,157,189,8,157 + 178,166,198,126,210,157,125,126,3,63, + 161,4,171,184,187,164,243,68,55,127, + 74,126,210,311,72,289,198,124,127,126, + 126,126,72,276,69,70,219,126,126,262, + 217,212,126,128,126,164,30,48,170,64, + 59,62,126,178,126,281,72,70,72,69, + 166,210,314,222,22,127,126,225,219,234, + 236,126,39,126,3,123,59,295,48,10, + 40,128,281,164,293,127,294,70,127,22, + 315,178,60,157,126,234,126,164,268,246, + 279,39,69,127,70,68,55,228,228,282, + 126,70,178,3,178,127,127,3,126,126, + 3,69,70,157,127,178,126,69,69,126, + 301,79,77,1,161,8,85,83,81,80, + 75,82,84,78,76,59,74,217,178,178, + 320,219,234,151,164,251,178,224,295,283, + 118,8,72,212,72,3,3,3,190,3, + 123,161,123,177,70,126,126,164,224,68, + 3,72,223,167,223,303,145,75,223,126, + 126,40,90,319,167,157,198,157,302,126, + 3,157,283,308,228,157,157,126,69,190, + 160,268,161,189,70,69,121,300,157,189, + 8,157 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2625,7 +2608,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2668,20 +2651,20 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 540, + NUM_STATES = 542, NT_OFFSET = 122, - LA_STATE_OFFSET = 5984, + LA_STATE_OFFSET = 5876, MAX_LA = 2147483647, NUM_RULES = 534, NUM_NONTERMINALS = 202, NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 1086, + START_STATE = 3480, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5085, - ERROR_ACTION = 5450; + ACCEPT_ACTION = 4977, + ERROR_ACTION = 5342; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java index 89b76127a66..6339276e486 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java @@ -17,17 +17,17 @@ import lpg.lpgjavaruntime.*; import java.util.*; import org.eclipse.cdt.core.dom.ast.*; -import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ITokenCollector; +import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter; +import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; import org.eclipse.cdt.core.index.IIndex; -import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser; @@ -180,17 +180,17 @@ private CPPBuildASTParserAction action; private IASTCompletionNode compNode; -public CPPTemplateTypeParameterParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public CPPTemplateTypeParameterParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new CPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); } @@ -247,9 +247,9 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, CPPTemplateTypeParameterParsersym.TK_EOF_TOKEN)); } -public CPPTemplateTypeParameterParser(ITokenStream parser, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); - tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols()); +public CPPTemplateTypeParameterParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); + tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } @@ -1309,331 +1309,331 @@ public CPPTemplateTypeParameterParser(ITokenStream parser, Set<IParser.Options> } // - // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 297: { action. consumeNamespaceDefinition(false); break; + case 295: { action. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 298: { action. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 299: typename_opt ::= typename // - case 300: { action. consumePlaceHolder(); break; + case 299: { action. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 300: typename_opt ::= $Empty // - case 301: { action. consumeEmpty(); break; + case 300: { action. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action. consumeUsingDirective(); break; + case 301: { action. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 302: asm_definition ::= asm ( stringlit ) ; // - case 303: { action. consumeDeclarationASM(); break; + case 302: { action. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 304: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 305: { action. consumeLinkageSpecification(); break; + case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 310: init_declarator_complete ::= init_declarator + // Rule 309: init_declarator_complete ::= init_declarator // - case 310: { action. consumeInitDeclaratorComplete(); break; + case 309: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 312: init_declarator ::= complete_declarator initializer + // Rule 311: init_declarator ::= complete_declarator initializer // - case 312: { action. consumeDeclaratorWithInitializer(true); break; + case 311: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 316: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 320: basic_direct_declarator ::= declarator_id_name // - case 321: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 321: basic_direct_declarator ::= ( declarator ) // - case 322: { action. consumeDirectDeclaratorBracketed(); break; + case 321: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 325: array_modifier ::= [ constant_expression ] // - case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 326: array_modifier ::= [ ] // - case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumePointer(); break; + case 327: { action. consumePointer(); break; } // - // Rule 329: ptr_operator ::= pointer_hook & pointer_hook + // Rule 328: ptr_operator ::= pointer_hook & pointer_hook // - case 329: { action. consumeReferenceOperator(); break; + case 328: { action. consumeReferenceOperator(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumePointerToMember(); break; + case 329: { action. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= const + // Rule 336: cv_qualifier ::= const // - case 337: { action. consumeToken(); break; + case 336: { action. consumeToken(); break; } // - // Rule 338: cv_qualifier ::= volatile + // Rule 337: cv_qualifier ::= volatile // - case 338: { action. consumeToken(); break; + case 337: { action. consumeToken(); break; } // - // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 340: { action. consumeQualifiedId(false); break; + case 339: { action. consumeQualifiedId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 340: type_id ::= type_specifier_seq // - case 341: { action. consumeTypeId(false); break; + case 340: { action. consumeTypeId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: type_id ::= type_specifier_seq abstract_declarator // - case 342: { action. consumeTypeId(true); break; + case 341: { action. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 345: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(true); break; + case 345: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( ) + // Rule 350: basic_direct_abstract_declarator ::= ( ) // - case 351: { action. consumeAbstractDeclaratorEmpty(); break; + case 350: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 357: { action. consumePlaceHolder(); break; + case 356: { action. consumePlaceHolder(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 358: { action. consumeEmpty(); break; + case 357: { action. consumeEmpty(); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 359: { action. consumePlaceHolder(); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 365: abstract_declarator_opt ::= $Empty + // Rule 364: abstract_declarator_opt ::= $Empty // - case 365: { action. consumeEmpty(); break; + case 364: { action. consumeEmpty(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 366: { action. consumeParameterDeclaration(); break; + case 365: { action. consumeParameterDeclaration(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers // - case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(false); break; + case 371: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 373: parameter_initializer ::= assignment_expression + // Rule 372: parameter_initializer ::= assignment_expression // - case 373: { action. consumeInitializer(); break; + case 372: { action. consumeInitializer(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 374: { action. consumeFunctionDefinition(false); break; + case 373: { action. consumeFunctionDefinition(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 375: { action. consumeFunctionDefinition(true); break; + case 374: { action. consumeFunctionDefinition(true); break; } // - // Rule 378: initializer ::= ( expression_list ) + // Rule 377: initializer ::= ( expression_list ) // - case 378: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeInitializerConstructor(); break; } // - // Rule 379: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= assignment_expression // - case 379: { action. consumeInitializer(); break; + case 378: { action. consumeInitializer(); break; } // - // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 380: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 381: { action. consumeInitializerList(); break; } // - // Rule 382: initializer_clause ::= { <openscope-ast> } + // Rule 382: initializer_list ::= { <openscope-ast> } // case 382: { action. consumeInitializerList(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java index 92c2722a884..43f8f9b2eab 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java @@ -66,15 +66,15 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,3,4,4,5,2,5, 6,5,0,6,7,0,1,3,1,0, - 1,3,1,1,1,6,5,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 1,2,1,1,3,1,3,1,1,1, - 1,3,9,2,2,3,2,5,3,7, - 0,1,2,2,1,0,1,1,1,3, - 1,2,1,1,2,3,1,1,1,3, - 2,1,2,2,9,8,2,1,3,1, - 3,1,0,1,0,2,1,1,3,1, - 3,2,1,5,8,1,2,3,1,7, + 1,3,1,7,6,0,7,6,1,0, + 6,5,6,4,1,3,1,0,1,1, + 2,1,1,3,1,3,1,1,1,1, + 3,9,2,2,3,2,5,3,7,0, + 1,2,2,1,0,1,1,1,3,1, + 2,1,1,2,3,1,1,1,3,2, + 1,2,2,9,8,2,1,3,1,3, + 1,0,1,0,2,1,1,3,1,3, + 2,1,5,8,1,2,3,1,1,7, 6,3,0,0,1,3,1,1,5,6, 6,7,7,0,0,1,0,1,1,1, 2,4,2,2,1,5,1,1,1,1, @@ -92,457 +92,431 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 4,1,2,5,5,3,3,1,4,3, 1,0,1,3,1,1,-126,0,0,0, -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-3,0, - 0,0,0,0,0,0,-7,0,-8,0, - 0,0,0,0,-4,0,0,0,0,-12, - -132,0,0,0,-22,0,0,0,0,0, - 0,0,0,-436,-149,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-16,0,0,0, - 0,0,0,0,0,0,-428,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,-19,0,0,0,0,0,0,0, - 0,-91,-324,0,0,0,-262,0,-133,0, - 0,0,-182,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-128,0, + 0,0,0,0,0,0,-3,0,-182,0, + 0,0,0,0,-109,0,0,0,-26,0, + 0,0,-22,-33,0,0,0,0,0,0, + 0,0,0,0,0,0,-29,-6,0,-83, + 0,0,-307,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-357, + 0,0,0,0,-186,0,0,0,-217,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-327,0,0,-195,0, + 0,0,0,0,0,0,0,0,0,0, + -92,0,0,0,-91,0,0,0,0,-85, + -324,0,0,0,0,0,0,0,0,-37, 0,0,0,0,0,0,0,0,0,-170, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-86, + 0,0,0,0,0,0,0,-183,-176,0, + 0,-328,-35,0,0,0,0,-45,0,0, + 0,0,0,-7,0,0,-171,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-20,0,0,0,0,-6,-420, - 0,0,0,0,0,-26,0,0,0,-186, - 0,0,0,-375,0,-171,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,-8,0,0,0,0,0, + 0,0,0,0,0,-23,-194,0,0,-12, + 0,0,-132,0,0,0,0,0,0,0, + 0,0,0,0,0,-402,-287,0,0,0, + 0,0,-184,0,-259,0,0,-175,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-85,0,0,0,0, - 0,0,0,-391,0,0,0,0,0,-27, - 0,-445,0,0,0,-176,0,-23,0,-28, - 0,-30,0,-196,0,0,0,0,0,0, - 0,0,0,0,0,0,-327,0,-5,0, - 0,0,0,0,-344,0,-175,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-34, + 0,0,0,0,0,-269,0,0,0,-89, + 0,-477,0,0,-294,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-45,0,0,0,0,0, - 0,0,0,-194,0,0,-287,0,0,0, - 0,0,-294,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-370,0,-301,0,0,0, + 0,0,-24,0,0,0,0,0,-537,0, + -4,0,0,-429,0,0,0,0,0,0, + 0,0,-133,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-90,0,0,0, + 0,0,0,-516,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-214,0,-128,0,0,0,0,0, - -211,0,0,0,0,0,0,0,-49,0, - 0,-86,0,0,0,0,-398,0,0,0, - -217,0,0,0,-44,0,0,0,0,0, + 0,0,0,0,0,-99,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-514,0,0,0,-535,0,0,0,0, + 0,-349,-173,0,0,0,-538,0,0,0, + -25,0,0,0,0,0,0,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,0,0,0,0,-470, - 0,0,0,0,-536,0,0,0,-187,0, + -47,0,0,0,-55,0,0,0,0,0, + 0,-21,0,0,0,-488,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-370,0,0,0, - 0,0,0,0,-252,0,0,0,0,0, - 0,0,-357,0,0,0,0,-109,0,-347, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-349, - 0,-408,0,0,0,0,0,0,0,0, - 0,0,-272,0,0,-453,0,0,0,0, + 0,0,0,0,-347,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-262,0,0,0, + 0,0,0,0,-1,0,-16,0,0,0, + 0,0,0,-19,0,0,0,-211,0,0, + -96,0,0,-93,0,-455,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,0,0,0,0,-280,0, - 0,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,0,-297,0,-106, + 0,0,0,0,0,0,0,0,-18,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-51,0,-52,0,-246,0,0, - 0,-53,0,-384,0,0,-81,0,0,0, - -24,0,0,0,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, - -183,0,0,0,0,0,0,0,0,-25, - -389,-82,0,0,0,0,0,0,0,0, + -20,0,0,0,0,0,0,0,-191,0, + -100,0,-425,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,0,-56,0,0,0,0,0,0, - 0,-68,0,-69,0,0,0,0,0,0, - 0,0,0,0,-205,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,0,-71,0,-89,0, - 0,0,0,0,0,0,0,-21,0,0, - 0,-407,0,0,0,0,0,0,0,0, + 0,0,-27,0,-413,0,0,0,0,-28, + 0,0,0,0,0,0,-82,0,0,0, + -527,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-215,0,-184, - 0,0,0,0,0,-79,0,0,0,0, + 0,0,0,0,0,0,0,0,-375,0, + -192,0,0,0,0,0,0,0,-205,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-72,0,-188,0,0, - 0,0,0,-457,0,0,0,0,0,0, - 0,-484,0,0,-32,0,0,0,-73,0, - 0,0,0,0,0,-155,0,0,0,0, + -41,0,0,0,0,0,0,0,-30,0, + -101,0,-39,0,0,0,-44,0,0,0, + -79,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,-74,0,-409,0,-55, - 0,0,0,-75,0,-76,0,0,-156,0, - 0,0,-486,0,0,0,0,0,0,0, + 0,0,0,0,-529,0,0,0,-250,-51, + 0,0,0,0,-155,0,0,0,-52,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,0,0,0,0,0,-90,0, - -297,0,0,0,0,0,0,0,-540,0, + 0,0,0,0,0,0,-129,0,0,0, + 0,0,0,0,0,0,0,0,-254,0, + 0,0,0,0,0,0,-219,0,0,0, + 0,0,0,0,0,0,0,0,0,-156, + 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,-407, + 0,0,0,0,0,0,0,-472,0,0, 0,-157,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-78,0,0,0,0,0,0, - 0,-96,0,-80,0,0,0,0,0,0, - -474,0,0,0,-158,0,0,0,-525,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-84,0,0,0, - 0,0,0,0,0,0,0,0,-108,0, - 0,0,0,0,-87,0,0,-159,0,0, - 0,-88,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-94, - 0,0,0,0,0,0,0,-106,0,-95, - 0,0,0,0,0,-98,-105,-113,0,0, - -160,0,0,0,-116,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,-110,0,0,0,-179,0, - -180,0,0,-161,0,0,0,-189,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-199,0,0,0,0, - 0,0,0,-192,0,-200,0,0,0,0, - 0,-201,-202,-207,0,0,-162,0,0,0, - -208,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-209,0, - 0,0,0,0,0,0,-250,0,-210,0, - 0,0,0,0,-222,-223,-224,0,0,-163, - 0,0,0,-225,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-226,0,0,0,0,0,0,0,-254, - 0,-227,0,0,0,0,0,-228,-257,-229, - 0,0,-164,0,0,0,-230,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-231,0,0,0,0,0, - 0,0,-232,0,-233,0,0,0,0,0, - -234,-235,-236,0,0,-165,0,0,0,-237, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-238,0,0, - 0,0,0,0,0,-267,0,-239,0,0, - 0,0,0,-240,-243,-244,0,0,-281,0, - 0,0,-245,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,-268,0, - -248,0,0,0,0,0,-253,-258,-260,0, - 0,-291,0,0,0,-261,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-275,0,0,0,0,0,0, - 0,-270,0,-276,0,0,0,0,0,-277, - -278,-302,0,0,-530,0,0,0,-303,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,-286,0,-316,0,0,0, - 0,0,-269,0,0,0,0,-356,0,0, - 0,-346,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,-411,0,-37, - 0,0,0,0,0,-393,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-317,0,0,0,0, - 0,0,0,-177,0,0,0,-191,-322,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,-99,0,0, - 0,0,0,0,0,-452,0,0,0,0, - 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,-292,0,0,0,0,0,0, - 0,-337,0,0,0,-301,-255,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,0,0,0,-129,0,0,0,0, - 0,0,0,-293,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,-408,0,-54,0,-215,0,0,0,0, + 0,0,0,-158,0,0,0,-460,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-300,0,-475,0,0,0,-219,0,0, - 0,-483,0,0,0,0,0,0,0,0, - 0,-154,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-56,0,-530,0,-454,0,0, + 0,0,-255,0,0,-159,0,0,0,-515, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-323,0,-152,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-93,0,0, - 0,0,0,0,0,-83,0,-153,0,0, - 0,-315,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-406, + 0,0,0,-257,0,0,0,-160,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-412,0,0, 0,0,0,0,0,0,0,0,0,0, - -329,-447,0,0,0,-13,0,0,0,0, - 0,0,0,0,0,0,0,0,-102,-348, - -350,-367,0,0,-388,0,0,0,0,-100, - 0,0,0,0,0,0,0,-92,0,-527, - 0,-97,0,0,0,0,0,0,0,-168, - 0,0,-10,0,-173,-174,0,-195,0,0, - 0,0,-1,0,0,0,0,0,0,0, - -528,0,-371,-114,0,0,0,0,0,0, - 0,0,-33,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-377,0,0,0, - 0,0,-477,0,0,0,0,0,0,0, - 0,0,0,0,0,-101,-31,0,0,0, - 0,-124,0,0,0,0,0,-46,0,0, - 0,0,-372,0,0,-213,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-379, - 0,-382,-396,0,0,0,0,0,0,0, - 0,0,-273,0,0,0,0,0,0,0, - 0,0,-402,0,0,0,0,0,0,-279, - 0,0,0,0,0,-410,-150,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,0,0,-151,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-306,0,0,0,0,0,0,0, - 0,0,0,0,0,-143,0,0,0,-414, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-417,0,0, - 0,0,-58,0,0,0,-478,0,0,0, - -421,0,-444,0,0,-251,-41,0,-423,0, - 0,0,0,0,-437,0,0,-313,0,0, - 0,-325,0,0,0,-305,0,0,0,0, - 0,-330,0,0,0,0,0,-125,-144,0, + 0,0,0,0,0,-300,0,0,0,-161, + 0,0,0,-339,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-68,0,0,0,0,0,0,0,-267, 0,0,0,0,0,0,0,0,0,0, - -460,0,0,0,0,-145,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,0,0,0,0,0,-462,0,0, - 0,0,-138,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-464,0,0,0,0,0, - -454,0,0,0,0,0,0,0,0,0, - 0,0,0,-181,0,0,0,-146,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-268,0,-124,0,0,0,0,0,-485, + 0,0,0,-163,0,0,0,-69,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-443,-123,-304,0,0,0, - -34,0,0,0,0,0,0,0,-403,0, - 0,0,-221,0,0,-283,0,-309,-310,0, - 0,0,0,-465,0,0,0,-331,0,0, - 0,-459,0,0,0,0,-364,0,0,0, - 0,0,0,-466,0,0,0,0,0,0, - 0,-366,-467,0,-112,0,0,0,0,-178, 0,0,0,0,0,0,0,0,0,0, - 0,0,-469,-429,0,0,0,0,0,0, - 0,0,0,0,0,0,-311,0,0,-471, - 0,0,0,0,-487,0,-295,0,0,0, - 0,0,0,0,0,0,-529,0,0,0, + 0,0,0,-70,0,-125,0,-108,0,0, + 0,0,0,0,0,-164,0,0,0,-71, 0,0,0,0,0,0,0,0,0,0, - -265,-14,0,0,0,-169,0,0,0,0, - -103,0,0,0,0,0,0,0,0,0, - 0,0,0,-107,0,0,0,0,0,-35, - -290,0,0,-48,-115,0,-296,0,0,0, - -334,0,0,-354,0,0,0,0,0,0, - 0,-336,-488,0,-135,0,0,0,0,0, - -339,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,-490,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -418,-266,-390,0,0,0,0,-495,0,0, - 0,0,0,0,0,-499,0,0,0,0, + 0,0,0,0,0,-72,0,-178,0,-110, + 0,0,0,-73,0,0,0,-165,0,0, + 0,-74,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -511,0,0,-15,0,0,0,0,0,0, - 0,0,0,0,-519,0,-531,-298,0,0, - 0,0,0,0,-147,0,0,0,0,0, + 0,0,0,0,0,0,0,-270,0,-197, + 0,0,0,0,0,-476,0,0,0,-281, + 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,-36,0,0,0, - -148,0,0,0,-197,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-286, + 0,-198,0,0,0,0,0,-76,-315,0, + 0,-291,0,0,0,-77,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-468,0,0,0,0,-312,0,0, - 0,0,-198,-204,-541,0,0,-289,0,0, - 0,-341,0,0,0,0,0,0,0,0, - 0,0,0,-343,0,0,-355,0,0,-489, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-38,0,0, - -378,0,0,0,0,0,-435,-216,0,0, + 0,-292,0,-389,0,0,0,0,0,-78, + -80,0,0,-532,0,0,0,-385,0,0, 0,0,0,0,0,0,0,0,0,0, - -259,0,0,0,-491,0,0,0,0,0, - 0,0,0,0,-432,0,-220,-241,0,0, - -332,0,-406,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-505,0,0,0,0,0,0,0,0, + 0,0,0,-293,0,0,0,0,0,0, + 0,-84,-87,0,0,-356,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-419,-397,0,0,0,0,0,-333,0, + 0,0,0,0,0,0,0,-346,0,0, + 0,0,0,0,0,-305,0,-377,0,0, + 0,0,0,-392,0,0,0,-88,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-455,0,-518,0,0,0, - 0,0,0,0,0,0,-29,0,-365,-17, - 0,0,0,0,0,0,-463,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-520,0,0,0,0,-271,0, - 0,-373,0,0,0,0,0,0,0,0, - 0,0,0,-374,0,0,-458,0,-383,0, - 0,-40,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-416,0,0,0, - 0,0,0,0,0,0,0,0,-352,0, - -190,0,0,0,-193,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-522,0, + 0,0,0,-309,0,0,0,0,0,0, + 0,-273,0,0,0,-279,0,0,0,-36, + -94,-393,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-532,-134,-242,0,0, - 0,0,0,0,0,-524,-9,0,0,0, - 0,-513,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -353,0,0,-42,0,0,0,0,0,0, - 0,0,0,0,0,0,-249,0,0,0, + 0,-310,0,0,0,0,0,0,0,-404, 0,0,0,0,0,0,0,0,0,0, - -537,0,0,0,0,0,-431,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-415,0,-426,0,-288,0,0,0,0, - 0,-427,0,0,0,0,0,0,0,0, - 0,-11,0,0,0,0,0,0,0,-480, - 0,0,0,0,0,-542,0,0,0,0, - 0,0,0,0,0,0,0,-326,0,0, - 0,0,0,0,0,0,0,0,-358,0, - 0,0,-359,-314,0,0,0,-434,-360,0, - -361,0,-439,0,0,0,0,0,0,0, - -442,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-334, + 0,-419,0,0,0,0,0,-313,0,0, + 0,-272,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, - -139,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-336,0,-437, + 0,0,0,0,0,-167,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-501,0,0,-141,0,0,0,0, + 0,0,0,0,0,0,0,-95,0,0, + 0,0,0,0,0,-338,0,0,0,0, + 0,-32,0,0,0,-457,-98,0,0,0, + 0,0,-105,-154,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-335,0,-142, - 0,0,0,-472,0,0,0,0,0,0, + 0,0,0,0,0,-113,0,0,0,0, + 0,0,0,0,0,-204,0,-152,0,0, + 0,-216,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-220, + 0,0,0,0,0,0,0,0,0,-153, 0,0,0,0,0,0,0,0,0,0, - 0,-338,0,-400,-494,0,0,0,0,-401, - 0,-386,-424,-430,-362,0,-363,0,0,0, - 0,0,0,0,-438,0,0,-482,-450,-473, - 0,0,-376,0,0,0,-476,0,0,0, - -481,0,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,-500, - 0,0,0,0,-485,0,0,0,0,0, - 0,0,0,0,-497,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-392,0, + 0,0,0,0,0,0,0,0,0,-149, + 0,0,0,-174,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-451,0,-502, - -526,0,0,0,0,-510,0,0,0,0, - -404,0,0,0,0,-60,0,0,0,0, + 0,-116,0,0,0,0,0,0,-414,0, 0,0,0,0,0,0,0,0,0,0, + 0,-131,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,-150,0,0,0,-213, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-517,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-498,0, - -503,0,0,-521,0,0,0,0,0,0, - 0,0,0,0,-61,0,0,0,0,0, + 0,0,0,-179,0,-295,0,0,0,0, + -473,0,0,-57,0,-221,-180,0,-280,0, + 0,0,0,0,0,0,0,-241,-421,-384, + 0,0,0,-189,-187,0,0,0,0,-246, + 0,-102,-188,0,0,0,0,-17,0,0, + -199,0,0,0,0,0,0,-242,0,0, + 0,0,-200,0,-447,0,0,0,0,0, + 0,0,0,0,-306,0,0,0,0,0, + 0,0,0,0,0,0,0,-304,0,0, + 0,-252,0,-201,0,0,0,0,0,0, + -265,-151,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-506, - -508,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,0,0,0,-202, + 0,0,0,0,0,0,0,0,-207,0, + 0,0,-325,0,0,0,0,0,-143,0, 0,0,0,0,0,0,0,0,0,0, - -512,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,0,0,-64,0, + 0,0,0,0,0,-144,0,0,0,-311, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -65,0,0,0,0,0,0,0,0,0, + 0,0,-145,0,0,0,-208,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-66,0,0,0,0,0,0,0, + 0,0,0,0,-209,0,0,0,0,0, + 0,0,-266,-456,0,0,0,0,0,0, + 0,0,0,0,0,0,-465,-271,0,-146, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-67,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,-203,0,0,0,0,-445,-341,-296,-48, + 0,0,-474,0,0,-251,-117,0,0,0, + 0,-343,0,0,0,0,0,0,0,-449, + 0,0,0,-5,0,0,0,0,0,0, + -210,0,-366,-461,0,0,0,0,0,-222, + 0,-288,0,0,0,0,0,0,0,0, + 0,0,0,0,-223,0,0,-314,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-136,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,-312,0,0, + 0,0,0,0,0,0,0,0,-531,0, 0,0,0,0,0,0,0,0,0,0, - -137,0,0,0,0,0,0,0,0,0, + 0,0,0,-14,0,0,0,0,0,0, + -225,-226,-138,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,-227,0,0,0,-10,-11, + -123,-365,0,0,0,0,-38,0,0,0, + -355,0,0,0,-396,0,0,-417,0,0, + 0,0,0,0,0,0,-103,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-284,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-59,0,0,0, - -515,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-340,-166,-516, - -533,0,0,-534,-538,0,0,-380,-539,0, - -446,0,0,0,0,0,0,-385,0,0, + 0,0,0,0,0,-196,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -330,0,0,0,-228,0,-229,0,-283,0, + 0,0,0,0,0,0,0,0,-230,0, + 0,0,0,0,0,0,-177,0,0,0, + -231,0,0,0,0,0,0,-49,0,0, + 0,0,0,0,0,0,-290,0,0,0, + 0,-147,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,-148,0,0, + 0,-410,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-470, + 0,0,0,0,-475,-114,-337,0,0,0, + 0,0,0,0,0,0,0,-387,0,0, + 0,0,-232,0,0,0,0,0,-233,0, + -289,0,0,0,-405,-299,-491,0,0,-388, + 0,0,0,0,-326,0,0,0,0,0, + 0,0,0,0,0,0,-542,-432,0,-479, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-234,0,-487, + 0,-493,0,0,0,0,0,0,0,0, + 0,-130,0,0,-434,0,0,0,0,0, + 0,-235,0,0,0,0,0,0,0,0, + 0,0,-134,0,0,0,0,0,-507,0, + 0,0,0,0,0,-236,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-373, + 0,-358,0,0,0,-482,0,0,0,0, + 0,0,0,0,0,0,0,0,-40,-237, + 0,0,-238,-520,0,0,0,0,0,0, + 0,0,0,0,0,-390,0,0,-374,-379, + 0,-239,0,0,0,0,0,0,0,0, + 0,0,0,0,-97,0,0,0,0,-436, + -522,0,0,0,0,0,-240,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-397,0,-15,-459,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -243,-430,0,0,0,0,0,0,0,-244, + 0,0,0,0,0,-245,0,-107,0,0, + 0,-31,0,0,0,-359,0,-360,0,0, + 0,0,0,0,0,-524,0,0,0,0, + 0,0,0,0,0,0,0,0,-433,-534, + 0,0,0,0,-247,0,-352,0,0,0, + 0,0,-526,-168,0,0,0,0,-115,-248, + 0,-503,0,0,0,0,0,0,0,0, + 0,0,0,-444,0,0,0,0,0,-499, + 0,-253,0,0,0,0,0,-369,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-46, + 0,0,0,0,-427,-42,0,0,0,0, + 0,0,0,0,0,0,0,-484,0,-169, + -135,0,0,0,0,0,0,-539,-258,-428, + -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,-172,0,0,-441,0, + 0,0,0,0,-544,0,0,0,0,0, + -260,-500,0,0,0,0,-261,0,0,0, + 0,0,-275,0,-502,-276,0,-505,0,-399, 0,0,0,0,0,0,0,0,0,0, - -433,0,0,0,0,-318,0,0,0,0, - -441,0,0,0,0,0,0,0,0,0, - -118,0,0,0,0,-104,0,0,0,0, - 0,0,0,0,0,0,0,-319,0,0, + 0,0,0,0,0,-277,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-504,-278,-400, + 0,0,0,0,0,0,0,0,0,-139, 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,-302,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-528,0,-141,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,-307,0,0, + -308,0,-142,0,0,0,-316,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,-345,0,0,0, - 0,0,0,0,0,0,0,0,0,-395, + 0,0,0,0,-317,0,-391,0,0,0, + 0,0,0,0,0,0,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, - 0,0,-507,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-172,0,0, + 0,-61,0,0,0,-431,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,0,0, + 0,0,0,-322,-512,0,0,0,0,0, + 0,-331,0,0,0,-323,-329,0,-62,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-185,0,0,0,0,0, - 0,0,0,0,-351,0,0,0,0,0, - 0,-212,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,-264, + -63,0,0,0,-348,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-64,0,0,0,-350,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,-367,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-480,0,0,0, + -371,0,0,0,-66,0,0,0,-372,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,0,0,0,0, + 0,0,0,0,0,0,0,0,-127,0, + 0,0,-380,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-381,0,0,0,0,0,0, + -136,0,0,0,-383,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-218,0,0,0,-342,0,0,0, - 0,0,0,0,-399,0,0,0,0,0, + 0,0,-137,0,0,0,-395,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-422,0,0,0,0,0,0,0,0, + 0,0,0,0,-206,0,0,0,-401,0, 0,0,0,0,0,0,0,0,0,0, - 0,-425,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-440,0,0,0, - 0,0,0,0,0,0,0,-448,0,0, - 0,0,0,0,-369,0,0,0,0,0, - 0,0,0,0,0,0,-449,0,0,0, - 0,-456,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-111,0,0,0, - 0,0,0,0,-509,-57,0,-117,0,0, + 0,0,0,0,0,0,-284,0,0,0, + -409,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-59,0, + 0,0,-523,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-378, + -535,-415,-440,0,-364,0,0,0,-412,-519, + -416,-298,0,0,-112,0,0,0,-453,-418, + 0,0,0,-486,0,0,-422,-424,-439,-541, + 0,-446,0,0,0,-506,0,-462,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,-464,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-166, + 0,0,0,0,-478,0,0,0,0,-318, + 0,0,0,0,-466,-467,0,-468,0,0, + 0,-469,0,-471,0,-489,-490,-332,-492,0, + -497,0,-501,0,-513,0,0,-521,0,0, + -533,0,-543,0,-345,0,0,0,0,0, + 0,0,0,0,0,0,0,-394,0,0, 0,0,0,0,0,0,0,0,0,0, + -509,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-43,0,0,0,0, + 0,-483,0,0,-58,0,0,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,-118,0,0,0,0,-351,0,0, + 0,0,0,0,0,-319,-320,0,0,0, + 0,-340,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,-362, + 0,0,0,0,0,0,0,0,0,-335, + -420,0,-508,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-321,0,0,0, + 0,0,0,0,0,0,-381,0,0,0, + 0,-510,-353,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-104, + 0,0,0,0,-514,0,0,-181,0,0, + 0,0,0,0,-363,-411,-517,0,0,0, + -518,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-435,0,0,-536,0, + -540,0,0,0,0,-368,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-443,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-387,0,0,0,0,0,-130,0,0, - 0,0,0,-122,0,0,0,0,0,0, - 0,0,0,0,0,-256,0,0,0,0, - -274,0,0,0,0,0,0,0,-282,0, - 0,0,0,0,0,0,0,0,0,-492, - 0,0,0,0,-493,0,0,0,0,0, - 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,-119,-120,0,0,0, - 0,0,0,0,0,0,0,0,-121,0, - 0,-285,0,0,0,0,0,0,0,0, - -479,0,-320,0,0,-504,0,0,0,0, - 0,0,0,0,-321,0,0,0,0,-368, + -376,-185,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-523,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-382, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-496,0,0,0, + 0,0,0,0,0,-119,0,0,0,0, + -264,0,0,0,0,0,0,0,0,0, + -190,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,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-212,0,0,0,-218, + 0,0,0,0,0,0,0,0,-120,-214, 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,0, + 0,0,0,0,0,0,0,0,-398,0, + 0,0,0,0,0,0,0,-9,-386,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-423,0,0,0,0,0,0,0, + 0,0,0,-426,0,0,0,-442,0,0, + 0,0,0,0,-450,0,0,0,-451,0, + 0,0,0,0,0,0,0,0,0,-458, 0,0,0,0,0,0,0,0,0,0, + -354,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,0,0, + 0,0,0,0,0,0,0,0,-111,0, + 0,0,0,0,0,0,0,0,0,-122, + 0,0,0,0,0,-256,0,0,0,0, + 0,-274,0,0,0,0,0,0,0,0, + 0,0,0,0,-282,0,0,0,0,0, + 0,0,0,0,-494,0,0,0,0,0, + -121,0,0,0,0,0,0,-495,0,0, + 0,0,0,0,0,0,0,0,0,-498, + 0,0,0,0,0,0,0,0,0,0, + -403,-285,-481,0,0,0,0,0,-448,0, + -525,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -551,7 +525,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -561,557 +535,532 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface BaseAction { public final static char baseAction[] = { - 174,4,136,83,83,32,32,67,67,38, - 38,40,40,200,1,1,15,15,15,15, + 174,4,136,81,81,32,32,67,67,38, + 38,42,42,200,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,65,65,5,5, 12,12,44,44,137,137,138,57,57,43, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 139,139,139,116,116,18,18,18,18,18, + 139,139,139,114,114,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, 175,175,176,176,177,142,142,143,143,140, 140,144,141,141,20,20,21,21,23,23, 23,24,24,24,24,25,25,25,26,26, 26,27,27,27,27,27,28,28,28,29, 29,31,31,33,33,35,35,36,36,37, - 37,42,42,41,41,41,41,41,41,41, - 41,41,41,41,41,41,39,30,145,145, - 97,97,178,178,92,201,201,68,68,68, + 37,41,41,40,40,40,40,40,40,40, + 40,40,40,40,40,40,39,30,145,145, + 95,95,178,178,90,201,201,68,68,68, 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,103,103, + 66,56,56,179,179,70,70,70,101,101, 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,84,84,84,84,84,84, - 84,84,50,50,50,50,50,117,117,115, - 115,51,182,22,22,22,22,22,48,48, - 87,87,87,87,87,152,152,147,147,147, + 72,72,73,73,82,82,82,82,82,82, + 82,82,50,50,50,50,50,115,115,113, + 113,51,182,22,22,22,22,22,48,48, + 85,85,85,85,85,152,152,147,147,147, 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,88,88,88,88,88,89, - 89,89,13,13,13,13,13,13,13,13, - 13,13,13,98,121,121,121,121,121,121, - 119,119,119,153,120,120,183,155,155,154, - 154,123,123,104,79,79,80,81,53,47, - 156,156,54,52,86,86,157,157,146,146, - 124,125,125,126,76,76,158,158,63,63, - 63,60,60,59,64,64,75,75,58,58, - 58,49,90,90,100,99,99,62,62,61, - 61,55,55,45,101,101,101,93,93,93, - 94,94,95,95,95,96,96,105,105,105, - 107,107,106,106,202,202,91,91,185,185, - 185,185,185,128,46,46,160,184,184,129, - 129,129,129,130,162,186,186,34,34,118, - 131,131,131,131,188,109,108,108,122,122, - 122,163,164,164,164,164,164,164,164,164, + 150,151,151,151,86,86,86,86,86,87, + 87,87,13,13,13,13,13,13,13,13, + 13,13,13,96,119,119,119,119,119,119, + 117,117,117,153,118,118,183,155,155,154, + 154,121,121,102,79,79,122,53,47,156, + 156,54,52,84,84,157,157,146,146,123, + 124,124,125,76,76,158,158,63,63,63, + 60,60,59,64,64,75,75,58,58,58, + 49,88,88,98,97,97,62,62,61,61, + 55,55,45,99,99,99,91,91,91,92, + 92,93,93,93,94,94,103,103,103,105, + 105,104,104,202,202,89,89,185,185,185, + 185,185,127,46,46,160,184,184,128,128, + 129,129,129,130,162,186,186,34,34,116, + 131,131,131,131,188,107,106,106,120,120, + 120,163,164,164,164,164,164,164,164,164, 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,111,110,110,192, - 192,168,168,168,168,102,102,102,193,193, + 166,166,166,166,167,191,109,108,108,192, + 192,168,168,168,168,100,100,100,193,193, 8,8,9,194,194,195,169,159,159,170, 170,171,172,172,7,7,10,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,196, 196,196,196,196,196,196,196,196,196,77, - 82,82,173,173,133,133,112,112,112,112, - 112,112,3,134,134,132,132,113,113,85, - 78,74,161,161,114,114,197,197,197,135, - 135,127,127,198,198,174,174,1119,35,1749, - 1739,1101,4562,27,30,31,800,802,26,28, - 1721,25,23,50,1262,106,76,77,108,245, - 1264,1307,1297,1409,1386,1454,1446,675,1481,761, - 1456,273,1524,1534,143,415,35,396,158,144, - 1174,1472,35,790,32,2074,4673,27,30,31, - 800,802,57,28,1725,3070,35,790,32,232, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,1392,1264,1307, - 1297,1409,1386,1835,235,230,231,502,35,945, - 388,3070,35,790,32,274,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,108,1160,1757,242,245,248,251,1126, - 354,431,1350,2311,35,277,4508,64,2050,1783, - 35,790,32,386,4673,27,30,31,800,802, - 56,28,1714,567,3000,3147,3228,3402,3504,4522, - 2253,35,790,32,2972,2673,27,30,31,800, - 802,26,28,1254,25,23,50,1262,106,76, - 77,108,343,1264,1307,1297,1409,1386,1454,1446, - 61,1481,1927,1456,1178,1524,1534,143,2887,150, - 2346,517,144,3477,2845,3104,502,1592,1585,34, - 502,35,3072,2971,2559,518,2253,35,790,32, - 2972,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,343,1264, - 1307,1297,1409,1386,1454,1446,150,1481,312,1456, - 2440,1524,1534,143,155,35,453,517,144,4702, - 1635,3104,502,35,945,388,1648,182,2086,1139, - 1809,518,1895,513,1979,35,790,32,60,4861, - 27,30,31,800,802,26,28,2523,511,415, - 35,396,1885,2847,1886,2320,452,2253,35,790, - 32,2972,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,108,343, - 1264,1307,1297,1409,1386,1454,1446,443,1481,513, - 1456,3517,1524,1534,143,155,35,279,517,144, - 4787,356,3104,353,1995,35,277,2047,1893,531, - 1886,3797,518,2461,35,790,32,2972,2673,27, - 30,31,800,802,26,28,1254,25,23,50, - 1262,106,76,77,108,343,1264,1307,1297,1409, - 1386,1454,1446,2419,1481,1775,1456,2972,1524,1534, - 143,155,35,279,517,144,4869,569,3104,415, - 35,396,150,42,1921,343,2976,228,518,2553, - 513,1979,35,790,32,2070,4861,27,30,31, - 800,802,59,28,446,2681,2689,2902,877,1911, - 2412,1886,2596,35,790,32,494,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,3073,1264,1307,1297,1409,1386, - 1454,1446,243,1481,447,1456,514,1524,1534,143, - 502,3815,3758,379,144,2322,35,790,32,413, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,322,1264,1307, - 1297,1409,1386,1454,1446,2240,1481,1635,1456,438, - 1524,1534,143,502,2007,3758,379,144,2159,2098, - 3070,35,790,32,93,2673,27,30,31,800, - 802,26,28,1254,25,23,50,1262,106,76, - 77,108,1499,1264,1307,1297,1409,1386,1454,1446, - 2492,1481,2559,1456,1927,1524,1567,164,1704,2005, - 913,385,2272,502,35,282,2528,35,790,32, - 2094,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,1876,1264, - 1307,1297,1409,1386,1454,1446,1908,1481,381,1456, - 3562,1524,1534,143,386,2272,3758,379,144,502, - 35,2314,423,70,2836,35,790,32,3851,2673, - 27,30,31,800,802,26,28,1254,25,23, - 50,1262,106,76,77,108,288,1264,1307,1297, - 1409,1386,1454,1446,2363,1481,2428,1456,2037,1524, - 1534,143,2435,4366,2220,373,144,2836,35,790, - 32,2222,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,108,355, - 1264,1307,1297,1409,1386,1454,1446,531,1481,2469, - 1456,386,1524,1534,143,377,2272,1627,373,144, - 2154,2320,2836,35,790,32,333,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,1475,1264,1307,1297,1409,1386, - 1454,1446,2624,1481,585,1456,324,1524,1534,143, - 329,421,372,373,144,2836,35,790,32,1579, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,2247,1264,1307, - 1297,1409,1386,1454,1446,325,1481,236,1456,150, - 1524,1534,143,690,2994,371,158,144,2664,35, - 790,32,322,2673,27,30,31,800,802,26, - 28,1254,25,23,50,1262,106,76,77,108, - 2847,1264,1307,1297,1409,1386,1454,1446,150,1481, - 386,1456,1275,1524,1567,164,2394,35,790,32, - 369,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,3556,1264, - 1307,1297,1409,1386,1454,1446,2075,1481,2050,1456, - 3312,1524,1534,143,502,35,293,142,144,1790, - 447,327,502,35,293,2078,35,790,32,846, - 2346,41,30,31,800,802,2836,35,790,32, - 1714,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,71,1264, - 1307,1297,1409,1386,1454,1446,1236,1481,2559,1456, - 1102,1524,1534,143,1360,4844,142,155,144,2836, - 35,790,32,2517,2673,27,30,31,800,802, - 26,28,1254,25,23,50,1262,106,76,77, - 108,1251,1264,1307,1297,1409,1386,1454,1446,150, - 1481,386,1456,746,1524,1534,143,1919,3805,494, - 154,144,2836,35,790,32,3921,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,214,1264,1307,1297,1409,1386, - 1454,1446,150,1481,1379,1456,827,1524,1534,143, - 3022,502,3086,153,144,2836,35,790,32,2658, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,1500,1264,1307, - 1297,1409,1386,1454,1446,323,1481,523,1456,1102, - 1524,1534,143,531,3431,2495,152,144,2836,35, - 790,32,1328,2673,27,30,31,800,802,26, - 28,1254,25,23,50,1262,106,76,77,108, - 2287,1264,1307,1297,1409,1386,1454,1446,150,1481, - 2388,1456,4545,1524,1534,143,1789,1627,1333,151, - 144,2836,35,790,32,1271,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,108,1446,1264,1307,1297,1409,1386,1454, - 1446,380,1481,523,1456,1102,1524,1534,143,2052, - 3435,1716,150,144,2836,35,790,32,1377,2673, - 27,30,31,800,802,26,28,1254,25,23, - 50,1262,106,76,77,108,418,1264,1307,1297, - 1409,1386,1454,1446,150,1481,590,1456,3379,1524, - 1534,143,848,1822,1907,149,144,2836,35,790, - 32,2249,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,108,3343, - 1264,1307,1297,1409,1386,1454,1446,150,1481,3269, - 1456,3007,1524,1534,143,408,580,1459,148,144, - 2836,35,790,32,1791,2673,27,30,31,800, - 802,26,28,1254,25,23,50,1262,106,76, - 77,108,1863,1264,1307,1297,1409,1386,1454,1446, - 150,1481,932,1456,3118,1524,1534,143,1616,2126, - 1881,147,144,2836,35,790,32,1911,2673,27, - 30,31,800,802,26,28,1254,25,23,50, - 1262,106,76,77,108,2280,1264,1307,1297,1409, - 1386,1454,1446,2344,1481,2044,1456,404,1524,1534, - 143,2156,2696,1355,146,144,2836,35,790,32, - 1502,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,400,1264, - 1307,1297,1409,1386,1454,1446,150,1481,56,1456, - 2937,1524,1534,143,472,1825,1975,145,144,2836, - 35,790,32,2168,2673,27,30,31,800,802, - 26,28,1254,25,23,50,1262,106,76,77, - 108,2381,1264,1307,1297,1409,1386,1454,1446,150, - 1481,2124,1456,3178,1524,1534,143,2420,1002,2500, - 159,144,2836,35,790,32,2082,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,2454,1264,1307,1297,1409,1386, - 1454,1446,150,1481,2484,1456,3614,1524,1534,143, - 2485,2491,2452,140,144,2953,35,790,32,2567, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,2516,1264,1307, - 1297,1409,1386,1454,1446,150,1481,2387,1456,817, - 1524,1534,143,1995,35,280,189,144,3070,35, - 790,32,1621,2673,27,30,31,800,802,26, - 28,1254,25,23,50,1262,106,76,77,108, - 2171,1264,1307,1297,1409,1386,1454,1446,1897,1481, - 1795,1456,4341,1524,1567,164,3070,35,790,32, - 402,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,2698,1264, - 1307,1297,1409,1386,1454,1446,2423,1481,3618,1456, - 1618,1524,1567,164,2131,35,790,32,1795,2518, - 40,30,31,800,802,2570,3070,35,790,32, - 292,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,1103,1264, - 1307,1297,1409,1386,1454,1446,150,1481,1962,1456, - 1275,1524,1567,164,3070,35,790,32,422,2673, - 27,30,31,800,802,26,28,1254,25,23, - 50,1262,106,76,77,108,3771,1264,1307,1297, - 1409,1386,1454,1446,150,1481,1139,1456,3271,1524, - 1567,164,2131,35,790,32,1795,2064,2487,30, - 31,800,802,2094,3125,35,790,32,425,2673, - 27,30,31,800,802,26,28,1254,25,23, - 50,1262,106,76,77,108,1341,1264,1307,1297, - 1409,1386,1454,1446,150,1481,3031,1456,3319,1524, - 1567,164,3070,35,790,32,3537,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,389,1264,1307,1297,1409,1386, - 1454,1446,150,1481,1795,1456,3732,1884,1987,35, - 790,32,1795,4861,27,30,31,800,802,58, - 28,2094,3070,35,790,32,3057,2673,27,30, - 31,800,802,26,28,1254,25,23,50,1262, - 106,76,77,108,730,1264,1307,1297,1409,1386, - 1454,1446,3850,1481,2551,1868,3070,35,790,32, - 3800,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,1982,1264, - 1307,1297,1409,1386,1454,1446,1010,1843,3070,35, - 790,32,2064,2673,27,30,31,800,802,26, - 28,1254,25,23,50,1262,106,76,77,108, - 497,1264,1307,1297,1409,1386,1454,1850,1608,35, - 790,32,4555,2814,27,30,31,800,802,339, - 28,2347,502,35,945,388,1638,35,790,32, - 2851,2507,27,30,31,800,802,339,28,1806, - 2486,1323,2525,2972,4366,2131,35,790,32,284, - 1982,3071,30,31,800,802,434,1627,1010,326, - 1795,2396,502,35,945,388,332,319,1230,321, - 1249,314,1191,150,2972,1010,1010,2972,502,35, - 1585,276,350,2693,313,319,1230,321,1627,314, - 1191,1795,2396,2637,1367,343,273,332,4457,4366, - 730,352,724,1719,35,790,32,2409,2507,27, - 30,31,800,802,339,28,525,2353,3104,344, - 585,798,349,502,35,945,388,653,509,2981, - 360,730,306,310,594,351,1982,587,35,945, - 388,498,1982,1627,2910,1669,1671,524,587,35, - 945,388,333,2583,3237,406,1010,433,460,459, - 340,360,319,1230,321,2695,314,1191,322,352, - 1179,49,2590,2560,4173,3268,1669,1671,352,2506, - 1626,2128,49,502,35,1585,278,346,585,798, - 349,1626,1628,2591,2432,535,344,585,798,349, - 502,35,1585,2099,2420,2905,2618,3070,35,790, - 32,366,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,108,2552, - 1264,1307,1297,1409,1841,3070,35,790,32,4195, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,541,1264,1307, - 1297,1409,1842,1729,35,2411,32,4555,2814,27, - 30,31,800,802,339,28,3070,35,790,32, - 2584,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,1564,1264, - 1307,1297,1792,1216,35,945,388,502,35,945, - 388,2585,1627,843,35,453,2139,69,4702,2623, - 2972,332,319,1230,321,2619,314,1191,502,35, - 1585,281,1233,35,1585,276,1631,49,2396,1080, - 825,432,502,2463,1585,74,1626,2216,1982,3070, - 35,790,32,4457,2673,27,30,31,800,802, - 26,28,1254,25,23,50,1262,106,76,77, - 108,2625,1264,1307,1297,1798,3070,35,790,32, - 24,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,2654,1264, - 1307,1297,1800,3070,35,790,32,361,2673,27, - 30,31,800,802,26,28,1254,25,23,50, - 1262,106,76,77,108,87,1264,1755,417,419, - 2410,1503,35,790,32,4555,2507,27,30,31, - 800,802,339,28,587,35,945,388,3070,35, - 790,32,2022,2673,27,30,31,800,802,26, - 28,1254,25,23,50,1262,106,76,77,108, - 1665,1264,1307,1297,1807,259,2213,1102,49,537, - 1275,1326,4677,450,2681,2689,4366,1626,1035,2523, - 319,1230,321,1010,314,1191,2276,228,150,150, - 1048,2432,3429,3501,2656,156,160,313,1233,35, - 1585,2523,1,180,3357,730,537,502,35,1585, - 2563,203,215,4654,2730,202,212,213,214,216, - 1627,169,2553,2735,228,502,35,945,388,332, - 1982,168,156,183,167,170,171,172,173,174, - 180,3357,730,2736,2553,307,310,594,203,215, - 4654,2094,202,212,213,214,216,2081,169,273, - 2377,2981,1747,3184,1275,2737,51,2308,168,181, - 184,167,170,171,172,173,174,1899,35,790, - 32,2851,2507,27,30,31,800,802,339,28, - 156,413,3180,35,945,388,1249,2518,200,3919, - 2972,1460,35,790,32,237,2814,27,30,31, - 800,802,339,28,415,35,1678,1388,2396,2924, - 3381,2243,2412,275,1321,1806,273,1338,3005,2972, - 4366,150,3517,239,2062,744,319,1230,321,4685, - 314,1191,150,173,2882,150,3763,2396,49,1275, - 1627,150,352,526,232,3742,351,1626,740,333, - 319,1230,321,88,315,1191,102,390,427,1341, - 344,585,798,349,1627,156,352,2688,527,235, - 230,231,232,332,2863,89,2094,360,102,3708, - 274,2353,2502,1795,346,585,798,349,1892,352, - 2868,3468,1669,1671,44,1921,2629,240,230,231, - 242,245,248,251,1126,2464,360,344,585,798, - 349,2744,1009,2050,2155,2420,3011,335,4451,299, - 2910,1669,1671,730,2182,2651,3313,1375,1338,3000, - 3147,3228,3402,3504,4522,3070,35,790,32,376, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,108,1232,1264,1307, - 1825,3070,35,790,32,1982,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,108,345,1264,1307,1833,537,2081,352, - 3708,2869,429,1982,1982,2382,5510,69,757,35, - 945,388,150,5510,5510,228,4832,344,585,798, - 349,5510,5510,156,150,342,2543,2064,1231,232, - 431,180,3357,730,537,68,53,328,335,203, - 215,4654,273,202,212,213,214,216,1246,169, - 5510,2064,228,374,244,230,231,2353,1982,168, - 156,3078,167,170,171,172,173,174,180,3357, - 730,2159,35,293,5510,517,203,215,4654,537, - 202,212,213,214,216,2219,169,1982,1982,2972, - 87,1338,5510,1010,285,221,168,228,178,167, - 170,171,172,173,174,156,2391,343,391,427, - 232,2262,603,180,3357,730,537,530,297,52, - 2174,203,215,4654,72,202,212,213,214,216, - 3104,169,1795,2723,228,247,230,231,4722,1338, - 533,168,156,176,167,170,171,172,173,174, - 180,3357,730,3708,5510,2353,5510,689,203,215, - 4654,537,202,212,213,214,216,2719,169,150, - 1458,2972,730,2859,2972,2186,97,2353,168,228, - 177,167,170,171,172,173,174,156,376,343, - 3382,335,2396,303,775,180,3357,730,537,1015, - 2007,3708,150,203,215,4654,1082,202,212,213, - 214,216,662,169,150,179,228,42,1448,2159, - 2650,293,1380,168,156,187,167,170,171,172, - 173,174,180,3357,730,5510,5510,2064,3394,335, - 203,215,4654,5510,202,212,213,214,216,2081, - 169,929,35,945,388,587,35,945,388,2262, - 168,505,3117,167,170,171,172,173,174,1869, - 35,790,32,4555,2507,27,30,31,800,802, - 339,28,504,3759,232,49,2416,2213,1982,49, - 1275,1275,3631,5510,1626,47,861,1458,1626,47, - 537,2972,42,503,296,5510,5510,5510,2013,250, - 230,231,1093,5510,5510,5510,156,160,228,2396, - 2224,2081,287,2186,1498,162,156,5510,319,1230, - 321,522,314,1191,180,3357,730,502,35,945, - 388,5510,203,215,4654,313,202,212,213,214, - 216,947,169,2352,2086,537,5510,1010,5510,393, - 427,442,168,456,192,167,170,171,172,173, - 174,49,1102,228,1102,5510,1982,4737,1463,4748, - 46,156,1102,5510,3267,5510,232,4767,505,180, - 3357,730,150,306,310,594,2972,203,215,4654, - 2064,202,212,213,214,216,1033,169,90,504, - 537,253,230,231,343,4241,522,168,1982,186, - 167,170,171,172,173,174,2695,5510,228,1982, - 502,392,427,1982,1015,2007,156,3104,150,1982, - 98,1982,3848,1102,180,3357,730,507,4772,5510, - 3349,150,203,215,4654,3397,202,212,213,214, - 216,67,169,1549,4245,66,5510,304,5510,5510, - 580,65,168,64,194,167,170,171,172,173, - 174,3070,35,790,32,5510,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,108,2064,1264,1756,3070,35,790,32, - 5510,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,108,1338,1764, - 3070,35,790,32,2353,2673,27,30,31,800, - 802,26,28,1254,25,23,50,1262,106,76, - 77,108,1566,1782,1982,2377,2972,287,5510,537, - 1982,5510,1827,2062,1982,2213,2972,2213,4685,1275, - 382,1275,198,5510,228,1982,5510,3856,150,1805, - 2353,5510,3683,1338,228,156,55,1982,3207,2086, - 3708,1982,54,180,3357,160,101,160,205,215, - 4654,5510,204,212,213,214,216,3335,205,215, - 4654,529,204,212,213,214,216,1326,197,451, - 150,195,4366,378,3482,2353,5510,334,335,206, - 208,210,294,295,1936,2353,217,207,209,206, - 208,210,294,295,1936,3708,217,207,209,1816, - 35,2411,32,4555,2507,27,30,31,800,802, - 339,28,3734,302,3740,3313,1627,3231,1914,4258, - 150,1706,2972,201,962,4755,150,3417,5510,4258, - 3449,2213,330,335,5510,1275,3070,35,790,32, - 228,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,85,319,1230, - 321,160,314,1191,205,215,4654,5510,204,212, - 213,214,216,2348,5510,1080,5510,2957,5510,5510, - 5510,430,5510,5510,5510,5510,4795,196,966,2353, - 5510,2353,5510,5510,2353,206,208,210,294,295, - 1936,5510,217,207,209,3070,1592,790,1653,94, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,84,199,3744,298, - 1982,1982,3466,3580,5510,4258,3070,35,790,32, - 5510,2673,27,30,31,800,802,26,28,1254, - 25,23,50,1262,106,76,77,83,5510,5510, - 5510,1982,3337,3374,418,419,2410,3070,35,790, - 32,5510,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,82,3070, - 35,790,32,3476,2673,27,30,31,800,802, - 26,28,1254,25,23,50,1262,106,76,77, - 81,3070,35,790,32,5510,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,80,3070,35,790,32,5510,2673,27, - 30,31,800,802,26,28,1254,25,23,50, - 1262,106,76,77,79,3070,35,790,32,5510, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,78,2898,35,790, - 32,5510,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,106,76,77,104,3070, - 35,790,32,5510,2673,27,30,31,800,802, - 26,28,1254,25,23,50,1262,106,76,77, - 110,3070,35,790,32,5510,2673,27,30,31, - 800,802,26,28,1254,25,23,50,1262,106, - 76,77,109,3070,35,790,32,5510,2673,27, - 30,31,800,802,26,28,1254,25,23,50, - 1262,106,76,77,107,3070,35,790,32,5510, - 2673,27,30,31,800,802,26,28,1254,25, - 23,50,1262,106,76,77,105,3015,35,790, - 32,1982,2673,27,30,31,800,802,26,28, - 1254,25,23,50,1262,86,76,77,2001,150, - 1982,2353,2972,1275,1982,1982,5510,5510,1653,2353, - 5510,2213,2972,2430,5510,1275,5510,5510,1740,5510, - 228,5510,2972,5510,5510,5510,5510,5510,5510,156, - 228,5510,2461,5510,5510,5510,4249,3586,1878,222, - 228,160,5510,5510,205,215,4654,193,204,212, - 213,214,216,5510,205,215,4654,5510,204,212, - 213,214,216,5510,205,215,4654,5510,204,212, - 213,214,216,5510,5510,206,208,210,294,295, - 1936,5510,520,207,209,206,208,210,294,295, - 1936,5510,519,207,209,206,208,210,294,295, - 1936,2088,218,207,209,2972,150,5510,3767,5510, - 1275,2175,5510,5510,5510,2972,5510,5510,5510,5510, - 5510,150,5510,228,5510,2972,502,35,945,388, - 5510,5510,5510,228,5510,5510,156,5510,150,5510, - 5510,5510,1275,343,5510,3609,5510,205,215,4654, - 5510,204,212,213,214,216,5510,205,215,4654, - 49,204,212,213,214,216,3104,5510,156,1626, - 673,5510,5510,5510,5510,5510,1696,3613,206,208, - 210,294,295,1936,5510,305,207,209,206,208, - 210,294,295,1936,5510,499,207,209,1503,35, - 790,32,4555,2507,27,30,31,800,802,339, - 28,1326,5510,5510,5510,5510,4366,1695,35,790, - 32,5510,2814,27,30,31,800,802,339,28, - 1695,35,790,32,5510,2814,27,30,31,800, - 802,339,28,1503,35,790,32,4555,2507,27, - 30,31,800,802,339,28,5510,319,1230,321, - 1627,314,1191,5510,5510,5510,1627,5510,1326,332, - 5510,5510,5510,4366,2506,333,319,1230,321,1627, - 317,1191,3229,35,945,388,5510,2518,333,319, - 1230,321,5510,315,1191,238,5510,5510,5510,5510, - 5510,2464,319,1230,321,1181,314,1191,5510,2972, - 4856,5510,5510,5510,5510,1326,273,1627,5510,3115, - 4366,5510,1385,35,945,388,332,228,5510,1223, - 35,790,32,2633,2507,27,30,31,800,802, - 339,28,5510,5510,232,5510,5510,5510,5510,5510, - 1286,1799,407,4569,2972,4856,49,5510,1178,5510, - 5510,5510,5510,5510,1627,1626,2866,403,5510,236, - 230,231,228,332,5510,5510,5510,5510,5510,2905, - 274,5510,408,409,410,294,295,1936,316,1997, - 321,5510,5510,5510,5510,5510,1799,407,4569,5510, - 243,246,249,252,1126,4470,5510,1928,5510,5510, - 5510,5510,5510,2050,1956,35,790,32,2378,2507, - 27,30,31,800,802,339,28,408,409,410, - 294,295,1936,929,35,945,388,929,35,945, - 388,5510,5510,5510,5510,587,35,945,388,5510, - 5510,5510,1928,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,587,35,945,388,5510,49,411,413, - 5510,49,5510,316,1997,321,1626,3001,5510,49, - 1626,47,587,35,945,388,5510,2706,1626,47, - 3188,5510,2187,5510,2415,4590,49,1602,35,945, - 388,5510,627,5510,5510,1626,47,5510,587,35, - 945,388,5510,411,414,2067,49,5510,5510,792, - 4366,5510,5510,5510,5510,1626,47,587,35,945, - 388,49,1618,35,945,388,5510,5510,5510,2392, - 1626,47,49,5510,5510,5510,5510,502,35,945, - 388,1626,47,5510,1394,2425,150,5510,150,537, - 537,49,537,5510,1627,2493,49,5510,5510,5510, - 1626,47,2706,4755,5510,1626,47,343,343,5510, - 343,49,5510,5510,2677,156,156,5510,156,1402, - 1626,874,2345,5510,188,2718,2972,3183,150,5510, - 4483,3104,537,3104,502,35,945,388,5510,5510, - 5510,2512,5510,3155,2396,5510,502,35,945,388, - 343,502,35,945,388,5510,5510,5510,156,502, - 35,945,388,5510,5510,5510,5510,2718,49,5510, - 150,5510,5510,3104,537,150,5510,1626,2040,537, - 49,5510,150,3238,5510,49,537,96,190,1626, - 3049,5510,343,49,1626,2216,5510,343,5510,5510, - 156,5510,1626,663,343,156,150,150,5510,188, - 2972,2972,156,505,188,4483,5510,5510,5510,150, - 4483,188,150,2972,5510,5510,2972,4483,343,343, - 5510,150,5510,150,504,2972,2562,1275,5510,5510, - 2972,343,5510,5510,343,150,5510,5510,5510,1275, - 150,3104,3104,343,1275,502,5510,5510,343,5510, - 5510,1706,1712,156,3104,3924,150,3104,5510,5510, - 1275,5510,3619,3960,1713,156,3104,3598,3961,5510, - 156,3903,5510,5510,3621,3991,534,5510,5510,3273, - 5510,5510,5510,5510,5510,2668,156,5510,5510,5510, - 5510,5510,5510,5510,5510,4244,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,4240,5510,0,575,1,0,819, - 1,0,39,1,5525,0,39,1,5524,0, - 1405,1,0,39,5525,0,39,5524,0,932, - 318,0,1309,29,0,440,1489,0,454,1532, - 0,5525,48,0,5524,48,0,38,736,0, - 38,5525,0,38,5524,0,5516,1,0,5515, - 1,0,283,394,0,283,286,0,5744,241, - 0,5743,241,0,5848,241,0,5847,241,0, - 5771,241,0,5770,241,0,5769,241,0,5768, - 241,0,5767,241,0,5766,241,0,5765,241, - 0,5764,241,0,5782,241,0,5781,241,0, - 5780,241,0,5779,241,0,5778,241,0,5777, - 241,0,5776,241,0,5775,241,0,5774,241, - 0,5773,241,0,5772,241,0,39,241,5525, - 0,39,241,5524,0,5548,241,0,1309,387, - 0,2746,126,0,35,33,0,1,444,0, - 458,2445,0,457,2446,0,47,37,0,5548, - 1,0,39,1,0,1348,91,0,32,34, - 0,39,736,0,1,1450,0,1,5782,0, - 1,5781,0,1,5780,0,1,5779,0,1, - 5778,0,1,5777,0,1,5776,0,1,5775, - 0,1,5774,0,1,5773,0,1,5772,0, - 43,5546,0,43,37,0,501,1929,0,5548, - 1,229,0,39,1,229,0,229,416,0, - 5525,37,0,5524,37,0,237,2846,0,388, - 32,0,387,29,0,2746,128,0,2746,127, - 0,331,445,0,5520,405,0,5519,405,0, - 1,4438,0,1,3347,0,1,736,0,229, - 415,0,1,92,0,5546,45,0,37,45, - 0,1,331,0,2,5525,37,0,2,5524, - 37,0,5525,36,0,5524,36,0,501,4248, - 0,1,229,0,229,220,0,331,95,0, - 35,73,0,229,219,0,278,3745,0,5522, - 1,0,5518,1,0,1,229,2768,0,5519, - 229,0,2795,229,0,5522,383,0,5521,383, - 0,3023,229,0,10,12,0,8,10,12, - 0,185,3531,0,3185,383,0,8,12,0 + 80,80,173,173,133,133,110,110,110,110, + 110,110,3,134,134,132,132,111,111,83, + 78,74,161,161,112,112,197,197,197,135, + 135,126,126,198,198,174,174,1119,35,2761, + 2675,1101,4536,27,30,31,1270,1349,26,28, + 2657,25,23,50,1692,106,76,77,108,1775, + 1758,1800,1784,1834,1826,1884,1842,245,1926,386, + 1918,273,1960,1961,143,2159,1219,158,144,502, + 2048,2003,34,2074,1719,35,1263,32,2482,3322, + 27,30,31,1270,1349,338,28,2719,150,232, + 1010,2854,4598,1503,35,1263,32,4218,3322,27, + 30,31,1270,1349,338,28,350,1311,3392,342, + 502,3637,235,230,231,502,35,2683,2541,1979, + 35,1263,32,274,4722,27,30,31,1270,1349, + 59,28,665,318,1011,320,2523,313,923,502, + 35,2003,276,242,245,248,251,1353,353,351, + 1351,1010,318,1011,320,1350,313,923,680,3476, + 150,2311,35,277,3364,343,583,796,348,1351, + 1795,325,2589,1221,733,2090,2897,3219,3426,4176, + 2253,35,1263,32,2854,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,342,1758,1800,1784,1834,1826,1884,1842, + 150,1926,1180,1918,3440,1960,1961,143,386,1648, + 517,144,1326,3381,4550,3284,4005,4320,155,35, + 279,288,498,4699,675,518,239,2253,35,1263, + 32,2854,4185,27,30,31,1270,1349,26,28, + 1574,25,23,50,1692,106,76,77,108,342, + 1758,1800,1784,1834,1826,1884,1842,328,1926,1725, + 1918,2263,1960,1961,143,761,2763,517,144,3799, + 3398,442,3284,456,4042,232,2086,1995,35,277, + 1174,513,518,1472,35,1263,32,2459,4540,27, + 30,31,1270,1349,57,28,2523,2047,240,230, + 231,732,3301,386,3310,1015,35,293,2253,35, + 1263,32,2854,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 342,1758,1800,1784,1834,1826,1884,1842,513,1926, + 443,1918,2082,1960,1961,143,42,3370,517,144, + 1326,352,1439,3284,94,4320,1995,35,280,3316, + 150,3310,1795,518,690,2461,35,1263,32,2854, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,108,342,1758,1800, + 1784,1834,1826,1884,1842,322,1926,494,1918,2263, + 1960,1961,143,2222,2469,517,144,917,331,558, + 3284,415,35,396,502,35,1357,388,3505,513, + 518,2168,61,1783,35,1263,32,1666,4540,27, + 30,31,1270,1349,56,28,3302,150,2917,3799, + 3355,747,3310,311,2596,35,1263,32,431,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,1103,1758,1800,1784, + 1834,1826,1884,1842,93,1926,514,1918,323,1960, + 1961,143,2492,1010,378,144,3438,2322,35,1263, + 32,2154,4185,27,30,31,1270,1349,26,28, + 1574,25,23,50,1692,106,76,77,108,70, + 1758,1800,1784,1834,1826,1884,1842,744,1926,1674, + 1918,1326,1960,1961,143,1102,4320,378,144,3438, + 4710,2987,2664,35,1263,32,2517,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,3117,1758,1800,1784,1834,1826, + 1884,1842,60,1926,460,1918,324,1960,2002,164, + 2263,381,385,379,1750,3070,35,1263,32,331, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,108,64,1758,1800, + 1784,1834,1826,1884,1842,2693,1926,1392,1918,3066, + 1960,2002,164,326,1160,386,379,1750,155,35, + 279,150,600,4735,1982,828,2528,35,1263,32, + 3607,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,523,1758, + 1800,1784,1834,1826,1884,1842,497,1926,386,1918, + 150,1960,1961,143,4422,423,378,144,3438,2836, + 35,1263,32,421,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 108,1178,1758,1800,1784,1834,1826,1884,1842,1795, + 1926,1982,1918,2062,1960,1961,143,2208,4589,372, + 144,2836,35,1263,32,535,4185,27,30,31, + 1270,1349,26,28,1574,25,23,50,1692,106, + 76,77,108,349,1758,1800,1784,1834,1826,1884, + 1842,1868,1926,1635,1918,1897,1960,1961,143,4356, + 1809,372,144,2528,376,379,1750,2836,35,1263, + 32,2658,4185,27,30,31,1270,1349,26,28, + 1574,25,23,50,1692,106,76,77,108,541, + 1758,1800,1784,1834,1826,1884,1842,3260,1926,2559, + 1918,150,1960,1961,143,2698,371,372,144,2836, + 35,1263,32,2905,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 108,69,1758,1800,1784,1834,1826,1884,1842,1895, + 1926,1982,1918,1908,1960,1961,143,2070,370,158, + 144,2394,35,1263,32,243,4185,27,30,31, + 1270,1349,26,28,1574,25,23,50,1692,106, + 76,77,108,321,1758,1800,1784,1834,1826,1884, + 1842,430,1926,523,1918,1795,1960,1961,143,150, + 2363,142,144,2729,368,2836,35,1263,32,2428, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,108,1341,1758,1800, + 1784,1834,1826,1884,1842,355,1926,2469,1918,150, + 1960,1961,143,4012,531,155,144,1987,35,1263, + 32,525,4722,27,30,31,1270,1349,58,28, + 2836,35,1263,32,2589,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,2435,1758,1800,1784,1834,1826,1884,1842, + 2559,1926,2987,1918,1830,1960,1961,143,502,3390, + 154,144,2836,35,1263,32,1788,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,575,1758,1800,1784,1834,1826, + 1884,1842,2559,1926,2469,1918,150,1960,1961,143, + 1319,3318,153,144,2836,35,1263,32,42,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,2772,1758,1800,1784, + 1834,1826,1884,1842,1475,1926,1795,1918,150,1960, + 1961,143,1319,2064,152,144,2836,35,1263,32, + 42,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,4182,1758, + 1800,1784,1834,1826,1884,1842,354,1926,2469,1918, + 322,1960,1961,143,2126,531,151,144,2836,35, + 1263,32,524,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 389,1758,1800,1784,1834,1826,1884,1842,322,1926, + 522,1918,404,1960,1961,143,1795,531,150,144, + 2836,35,1263,32,1795,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,2624,1758,1800,1784,1834,1826,1884,1842, + 150,1926,522,1918,2630,1960,1961,143,2246,1056, + 149,144,2836,35,1263,32,3240,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,71,1758,1800,1784,1834,1826, + 1884,1842,150,1926,1982,1918,2828,1960,1961,143, + 1795,1281,148,144,2836,35,1263,32,585,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,3935,1758,1800,1784, + 1834,1826,1884,1842,2247,1926,1982,1918,1102,1960, + 1961,143,3548,4491,147,144,2836,35,1263,32, + 236,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,24,1758, + 1800,1784,1834,1826,1884,1842,2075,1926,1982,1918, + 1102,1960,1961,143,846,4512,146,144,2836,35, + 1263,32,1236,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 1399,1758,1800,1784,1834,1826,1884,1842,150,1926, + 1982,1918,2788,1960,1961,143,502,4123,145,144, + 2836,35,1263,32,1360,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,69,1758,1800,1784,1834,1826,1884,1842, + 150,1926,1982,1918,646,1960,1961,143,142,2064, + 159,144,2836,35,1263,32,1251,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,68,1758,1800,1784,1834,1826, + 1884,1842,150,1926,1795,1918,4118,1960,1961,143, + 214,1379,140,144,2953,35,1263,32,2220,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,284,1758,1800,1784, + 1834,1826,1884,1842,150,1926,2469,1918,4191,1960, + 1961,143,1500,2495,189,144,3070,35,1263,32, + 375,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,1621,1758, + 1800,1784,1834,1826,1884,1842,1631,1926,2353,1918, + 3016,1960,2002,164,3070,35,1263,32,1328,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,402,1758,1800,1784, + 1834,1826,1884,1842,150,1926,406,1918,3357,1960, + 2002,164,502,35,2003,278,502,35,2003,3714, + 1232,2287,3070,35,1263,32,292,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,373,1758,1800,1784,1834,1826, + 1884,1842,150,1926,2528,1918,4303,1960,2002,164, + 3070,35,1263,32,422,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,232,1758,1800,1784,1834,1826,1884,1842, + 150,1926,2353,1918,1309,1960,2002,164,502,35, + 2003,281,502,35,282,244,230,231,3125,35, + 1263,32,425,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 298,1758,1800,1784,1834,1826,1884,1842,150,1926, + 2353,1918,4421,1960,2002,164,3070,35,1263,32, + 3118,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,2388,1758, + 1800,1784,1834,1826,1884,1842,150,1926,221,1918, + 4000,3267,2078,35,1263,32,2353,1789,41,30, + 31,1270,1349,1627,3070,35,1263,32,4119,4185, + 27,30,31,1270,1349,26,28,1574,25,23, + 50,1692,106,76,77,108,1333,1758,1800,1784, + 1834,1826,1884,1842,302,1926,1982,3223,3070,35, + 1263,32,1982,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 1982,1758,1800,1784,1834,1826,1884,1842,53,3186, + 3070,35,1263,32,87,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,52,1758,1800,1784,1834,1826,1884,3220, + 3070,35,1263,32,1010,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,1271,1758,1800,1784,1834,1826,3089,1608, + 35,1263,32,4218,4328,27,30,31,1270,1349, + 338,28,1446,1638,35,1263,32,870,3322,27, + 30,31,1270,1349,338,28,3070,35,1263,32, + 1010,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,2263,1758, + 1800,1784,1834,3138,2052,459,2308,331,318,1011, + 320,2377,313,923,150,1319,1010,1716,537,502, + 35,3726,318,1011,320,312,313,923,1982,2346, + 1015,4011,293,2727,1377,413,342,4135,351,1211, + 2037,156,1806,2050,156,4320,2854,4320,1458,200, + 3492,418,2854,1786,343,583,796,348,1982,3284, + 1952,3957,1134,590,2403,502,35,1357,388,1744, + 2403,4042,305,309,779,1729,35,3777,32,4218, + 4328,27,30,31,1270,1349,338,28,1102,2263, + 1994,2263,2240,4562,848,2210,182,51,332,452, + 331,413,3070,35,1263,32,4029,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,2263,1758,1800,1784,1834,3162, + 2917,359,917,331,318,1011,320,505,313,923, + 1822,3392,1700,44,3370,1828,2444,2457,365,1907, + 1742,1002,1666,1602,35,2003,276,2987,504,3070, + 35,1263,32,4135,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 108,503,1758,1800,1784,2885,3070,35,1263,32, + 2081,4185,27,30,31,1270,1349,26,28,1574, + 25,23,50,1692,106,76,77,108,2074,1758, + 1800,1784,2965,3070,35,1263,32,2249,4185,27, + 30,31,1270,1349,26,28,1574,25,23,50, + 1692,106,76,77,108,3343,1758,1800,1784,2967, + 417,419,3755,2502,1503,35,1263,32,4218,3322, + 27,30,31,1270,1349,338,28,2353,1233,3637, + 3070,35,1263,32,2028,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,2171,1758,1800,1784,2979,259,150,1338, + 1321,537,4599,2353,3369,179,2139,150,390,427, + 2854,537,150,318,1011,320,3100,313,923,228, + 502,35,1357,388,415,35,396,156,2403,342, + 312,3269,350,2553,1,180,2697,156,537,2469, + 408,198,1982,203,215,4450,1912,202,212,213, + 214,216,3284,169,434,580,228,2086,1233,3637, + 2122,4270,1870,168,156,183,167,170,171,172, + 173,174,180,2697,90,351,2469,306,309,779, + 203,215,4450,1459,202,212,213,214,216,287, + 169,343,583,796,348,360,2160,334,2081,1221, + 168,181,184,167,170,171,172,173,174,1899, + 35,1263,32,870,3322,27,30,31,1270,1349, + 338,28,1919,3655,3180,35,1357,388,2459,3420, + 785,1791,1863,3070,35,1263,32,237,4185,27, + 30,31,1270,1349,26,28,1574,25,23,50, + 1692,106,76,77,108,932,1758,2770,273,150, + 150,2213,150,2854,2854,1319,816,1246,318,1011, + 320,2064,313,923,88,2723,2764,102,1102,287, + 4624,342,342,4628,351,526,232,1460,35,1263, + 32,160,4328,27,30,31,1270,1349,338,28, + 343,583,796,348,3284,3284,391,427,527,235, + 230,231,2901,3655,509,507,1979,35,1263,32, + 274,4722,27,30,31,1270,1349,26,28,232, + 511,502,3821,2003,74,1616,2263,1881,285,2276, + 242,245,248,251,1353,332,318,1011,320,1911, + 314,923,247,230,231,680,2296,2131,35,1263, + 32,2280,351,40,30,31,1270,1349,415,35, + 396,733,2090,2897,3219,3426,4176,2243,345,583, + 796,348,3070,35,1263,32,2320,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,108,2987,1758,1800,2991,3070,35, + 1263,32,2064,4185,27,30,31,1270,1349,26, + 28,1574,25,23,50,1692,106,76,77,108, + 345,1758,1800,3083,537,2353,1367,2131,35,1263, + 32,4320,2987,2038,30,31,1270,1349,2131,35, + 1263,32,228,2344,2162,30,31,1270,1349,2044, + 156,757,35,1357,388,1010,1341,431,180,2697, + 2320,537,2469,197,2382,1982,203,215,4450,295, + 202,212,213,214,216,2263,169,558,1010,228, + 502,35,1357,388,332,273,168,156,4121,167, + 170,171,172,173,174,180,2697,2892,2156,2469, + 2353,351,517,203,215,4450,537,202,212,213, + 214,216,150,169,433,2064,537,345,583,796, + 348,3067,2696,168,228,178,167,170,171,172, + 173,174,156,2213,342,1954,97,1319,301,603, + 180,2697,156,537,2469,447,1355,3727,203,215, + 4450,1786,202,212,213,214,216,3284,169,98, + 150,228,1982,160,1490,72,2064,2302,168,156, + 176,167,170,171,172,173,174,180,2697,1380, + 1502,2469,294,400,689,203,215,4450,537,202, + 212,213,214,216,67,169,155,35,453,150, + 150,4613,56,1532,4009,168,228,177,167,170, + 171,172,173,174,156,502,35,1357,388,4271, + 150,775,180,2697,4019,537,2469,472,2320,447, + 203,215,4450,303,202,212,213,214,216,380, + 169,232,228,228,2155,502,35,293,1041,273, + 168,156,187,167,170,171,172,173,174,180, + 2697,1825,2553,2469,250,230,231,203,215,4450, + 1975,202,212,213,214,216,2168,169,415,35, + 2474,2483,587,35,1357,388,1982,168,1982,4131, + 167,170,171,172,173,174,1869,35,1263,32, + 4218,3322,27,30,31,1270,1349,338,28,2219, + 2416,339,49,2854,1319,2381,49,2081,66,351, + 65,2257,625,861,1249,2257,986,537,2854,1806, + 2124,342,2064,2854,4320,343,583,796,348,3255, + 156,530,438,341,150,228,2403,3140,1548,162, + 2353,2403,2420,156,3284,318,1011,320,2067,313, + 923,180,2697,4320,533,2469,446,4027,4028,203, + 215,4450,312,202,212,213,214,216,2263,169, + 587,35,1357,388,2475,1102,1498,331,201,168, + 4635,192,167,170,171,172,173,174,150,382, + 1249,150,3372,89,2854,1319,102,2263,947,1002, + 1102,1982,537,359,49,4639,3398,3066,359,305, + 309,779,2403,2257,2286,393,427,2468,2444,2457, + 228,156,1828,2444,2457,3450,1326,4015,156,1102, + 2456,4320,4001,64,4650,1033,180,2697,232,537, + 2469,2500,2353,4029,203,215,4450,2082,202,212, + 213,214,216,2454,169,150,2484,228,2353,1590, + 1982,253,230,231,168,156,186,167,170,171, + 172,173,174,180,2697,2263,2485,2469,4361,359, + 199,203,215,4450,331,202,212,213,214,216, + 96,169,55,2498,2444,2457,297,4075,150,2491, + 1982,168,964,194,167,170,171,172,173,174, + 3070,35,1263,32,2480,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,108,54,1758,2785,3070,35,1263,32,2452, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,108,1706,2813,3070, + 35,1263,32,2567,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 108,2516,2861,3070,35,1263,32,2387,4185,27, + 30,31,1270,1349,26,28,1574,25,23,50, + 1692,106,76,77,108,2423,2862,1816,35,3777, + 32,4218,3322,27,30,31,1270,1349,338,28, + 3070,35,1263,32,929,4185,27,30,31,1270, + 1349,26,28,1574,25,23,50,1692,106,76, + 77,85,3070,2048,1263,2402,1982,4185,27,30, + 31,1270,1349,26,28,1574,25,23,50,1692, + 106,76,77,84,2518,150,318,1011,320,3336, + 313,923,1602,35,2003,3829,2551,2347,101,3070, + 35,1263,32,1002,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 83,3070,35,1263,32,2486,4185,27,30,31, + 1270,1349,26,28,1574,25,23,50,1692,106, + 76,77,82,3070,35,1263,32,1323,4185,27, + 30,31,1270,1349,26,28,1574,25,23,50, + 1692,106,76,77,81,3070,35,1263,32,2525, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,80,502,35,1357, + 388,2637,418,419,3755,3070,35,1263,32,2583, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,79,3070,35,1263, + 32,432,4185,27,30,31,1270,1349,26,28, + 1574,25,23,50,1692,106,76,77,78,2898, + 35,1263,32,1179,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,106,76,77, + 104,3070,35,1263,32,2590,4185,27,30,31, + 1270,1349,26,28,1574,25,23,50,1692,106, + 76,77,110,3070,35,1263,32,2560,4185,27, + 30,31,1270,1349,26,28,1574,25,23,50, + 1692,106,76,77,109,3070,35,1263,32,2591, + 4185,27,30,31,1270,1349,26,28,1574,25, + 23,50,1692,106,76,77,107,3070,35,1263, + 32,2618,4185,27,30,31,1270,1349,26,28, + 1574,25,23,50,1692,106,76,77,105,3015, + 35,1263,32,2353,4185,27,30,31,1270,1349, + 26,28,1574,25,23,50,1692,86,76,77, + 1566,2353,2552,1982,2854,502,35,2003,3939,1827, + 2348,2584,1338,2854,2839,502,35,1357,388,1914, + 1564,3350,228,2854,502,35,293,2585,2623,2619, + 2353,228,843,35,453,2256,2562,4613,2625,222, + 2854,228,502,35,1357,388,205,215,4450,273, + 204,212,213,214,216,205,215,4450,342,204, + 212,213,214,216,2654,205,215,4450,193,204, + 212,213,214,216,4270,1805,49,206,208,210, + 3497,4010,217,207,209,46,206,208,210,3497, + 150,217,207,209,1319,1982,206,208,210,3497, + 150,217,207,209,1319,87,2656,529,2730,327, + 334,275,2735,3042,2736,4336,2737,173,1338,2688, + 156,2694,3155,2629,4336,2744,3508,451,2651,3242, + 156,1375,3206,2382,4336,1695,35,1263,32,3202, + 4328,27,30,31,1270,1349,338,28,1695,35, + 1263,32,5251,4328,27,30,31,1270,1349,338, + 28,1503,35,1263,32,4218,3322,27,30,31, + 1270,1349,338,28,5251,5251,3229,35,1357,388, + 4270,3420,1982,5251,2263,1216,35,1357,388,238, + 5251,1338,5251,332,318,1011,320,2263,316,923, + 5251,5251,450,4027,4028,5251,332,318,1011,320, + 273,314,923,150,377,3200,334,2854,1326,49, + 318,1011,320,4320,313,923,150,150,2257,1427, + 1319,1319,2001,4341,5251,342,2854,4128,232,1223, + 35,1263,32,2515,3322,27,30,31,1270,1349, + 338,28,5251,4270,228,5251,156,156,3284,5251, + 2213,236,230,231,1319,3326,3328,2263,2491,5251, + 1338,1795,274,1982,5251,5251,331,403,205,215, + 4450,5251,204,212,213,214,216,150,3239,334, + 160,1319,243,246,249,252,1353,1653,315,3631, + 320,2854,1982,2081,5251,3224,4148,680,5251,206, + 208,210,3497,2469,520,207,209,156,5251,228, + 502,35,1357,388,5251,1982,3451,375,587,35, + 1357,388,4270,5251,3261,2213,1740,1982,5251,1319, + 2854,1982,5251,205,215,4450,5251,204,212,213, + 214,216,5251,5251,49,3510,2088,3363,228,1982, + 2854,1982,49,2257,569,160,150,333,334,1395, + 1319,2257,2532,1576,206,208,210,3497,228,519, + 207,209,205,215,4450,3255,204,212,213,214, + 216,4030,5251,3485,5251,2175,156,2036,5251,2854, + 5251,5251,205,215,4450,3095,204,212,213,214, + 216,392,427,206,208,210,3497,228,218,207, + 209,1338,1181,5251,5251,5251,2854,4716,5251,5251, + 3550,3384,5251,206,208,210,3497,5251,304,207, + 209,205,215,4450,228,204,212,213,214,216, + 1956,35,1263,32,2389,3322,27,30,31,1270, + 1349,338,28,5251,5251,5251,5251,2377,1624,407, + 4239,537,206,208,210,3497,150,499,207,209, + 2854,1286,5251,4270,5251,2854,4716,5251,5251,3715, + 5251,929,35,1357,388,5251,5251,156,342,408, + 409,410,3497,228,5251,180,2697,5251,5251,315, + 3631,320,587,35,1357,388,5251,5251,329,334, + 5251,3284,3449,5251,5251,49,5251,1624,407,4239, + 5251,2503,5251,195,2257,47,1385,35,1357,388, + 929,35,1357,388,5251,5251,49,5251,876,150, + 2419,5251,5251,2854,2854,2257,47,5251,408,409, + 410,3497,929,35,1357,388,5251,5251,5251,2172, + 49,342,342,5251,49,5251,5251,5251,5251,2257, + 2969,3449,5251,2257,3007,411,413,5251,5251,587, + 35,1357,388,4015,3284,817,49,3091,1458,2345, + 5251,5251,2854,2854,2534,2257,47,5251,2036,1583, + 5251,5251,4481,587,35,1357,388,5251,5251,3078, + 2403,2403,5251,49,587,35,1357,388,1618,35, + 1357,388,2257,47,5251,587,35,1357,388,587, + 35,1357,388,5251,411,414,934,49,4676,196, + 1965,35,1357,388,5251,5251,2257,47,49,5251, + 5251,2062,49,5251,5251,5251,4589,2257,47,49, + 2505,2257,47,49,5251,5251,2425,5251,2257,47, + 537,2750,2257,47,49,3285,5251,505,505,5251, + 5251,5251,3120,2257,47,5251,3817,5251,342,502, + 35,1357,388,5251,5251,5251,156,4024,504,504, + 502,35,1357,388,5251,188,502,35,1357,388, + 5251,4161,502,35,1357,388,1910,5251,5251,5251, + 5251,502,502,49,5251,502,35,1357,388,5251, + 5251,5251,2257,797,49,150,5251,5251,5251,537, + 49,150,5251,2257,2722,2854,49,5251,150,2257, + 3096,2905,537,5251,5251,2257,1427,342,5251,49, + 150,800,4020,342,537,156,5251,190,2257,671, + 342,2213,150,150,188,1319,2854,2854,156,2213, + 4161,150,342,1319,5251,1319,3284,188,5251,5251, + 156,5251,5251,4161,342,342,2580,5251,5251,188, + 5251,160,5251,5251,5251,4161,5251,5251,5251,160, + 5251,156,5251,5251,5251,5251,5251,3284,3284,429, + 4359,5251,5251,5251,5251,5251,5251,3105,534,5251, + 5251,5251,5251,5251,5251,5251,4273,5251,5251,5251, + 5251,5251,5251,3917,5251,5251,3983,5251,5251,4302, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,4325,5251,5251,5251,5251,3696,5251,5251,5251, + 5251,5251,5251,5251,4095,5251,0,931,1,0, + 2754,1,0,39,1,5266,0,39,1,5265, + 0,2252,1,0,39,5266,0,39,5265,0, + 720,317,0,880,29,0,440,957,0,454, + 1141,0,5266,48,0,5265,48,0,38,579, + 0,38,5266,0,38,5265,0,5257,1,0, + 5256,1,0,283,394,0,283,286,0,5485, + 241,0,5484,241,0,5588,241,0,5587,241, + 0,5512,241,0,5511,241,0,5510,241,0, + 5509,241,0,5508,241,0,5507,241,0,5506, + 241,0,5505,241,0,5523,241,0,5522,241, + 0,5521,241,0,5520,241,0,5519,241,0, + 5518,241,0,5517,241,0,5516,241,0,5515, + 241,0,5514,241,0,5513,241,0,39,241, + 5266,0,39,241,5265,0,5289,241,0,880, + 387,0,2653,126,0,35,33,0,1,444, + 0,458,1003,0,457,2364,0,47,37,0, + 5289,1,0,39,1,0,1536,91,0,32, + 34,0,39,579,0,1,1045,0,1,5523, + 0,1,5522,0,1,5521,0,1,5520,0, + 1,5519,0,1,5518,0,1,5517,0,1, + 5516,0,1,5515,0,1,5514,0,1,5513, + 0,43,5287,0,43,37,0,501,3491,0, + 5289,1,229,0,39,1,229,0,229,416, + 0,5266,37,0,5265,37,0,237,2891,0, + 388,32,0,387,29,0,2653,128,0,2653, + 127,0,330,445,0,5261,405,0,5260,405, + 0,1,603,0,1,597,0,1,579,0, + 229,415,0,1,92,0,5287,45,0,37, + 45,0,1,330,0,2,5266,37,0,2, + 5265,37,0,5266,36,0,5265,36,0,501, + 4297,0,1,229,0,330,95,0,35,73, + 0,229,220,0,278,4260,0,229,219,0, + 5263,1,0,5259,1,0,1,229,4064,0, + 5260,229,0,4105,229,0,5263,383,0,5262, + 383,0,4117,229,0,10,12,0,8,10, + 12,0,185,3448,0,4133,383,0,8,12, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1317,7 +1266,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,41,55, 0,89,39,91,41,0,1,2,3,4, - 5,63,7,67,0,0,75,87,88,56, + 5,63,7,67,0,1,2,87,88,56, 57,58,59,60,0,62,70,64,0,1, 2,0,4,5,71,7,0,1,2,8, 4,5,0,7,0,1,2,87,88,86, @@ -1395,12 +1344,12 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 47,48,49,50,51,52,53,54,0,69, 0,3,0,5,6,72,4,9,105,0, 0,39,3,41,0,0,0,3,3,3, - 55,0,119,0,22,55,3,0,55,0, + 55,0,119,0,22,55,3,0,0,0, 55,0,60,35,36,37,38,0,0,72, - 42,0,0,68,0,0,0,0,0,0, - 40,0,0,55,0,118,0,0,0,0, - 117,63,0,65,66,0,68,69,70,94, - 95,0,0,0,0,0,0,0,0,0, + 42,0,0,68,0,0,0,0,75,0, + 0,0,0,55,0,118,0,0,0,0, + 117,63,0,65,66,55,68,69,70,94, + 95,40,0,0,0,0,0,0,0,0, 0,0,0,0,0,87,88,89,0,0, 92,93,94,95,96,97,98,99,100,101, 0,0,0,105,0,107,108,109,110,111, @@ -1479,348 +1428,348 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface TermAction { public final static char termAction[] = {0, - 5510,5475,5451,5451,5451,5451,5451,5451,5491,5451, + 5251,5216,5192,5192,5192,5192,5192,5192,5232,5192, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5479,1,1,1,1, + 1,1,1,1,1,5220,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5510,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5510,1,1,1,1541, - 5685,1,1184,301,2542,1,1,5521,286,5205, - 5205,5517,283,5810,2264,2923,3760,2194,3714,2741, - 3173,2903,1000,2894,2940,2874,10,5494,5494,5494, - 5494,5494,5494,5494,5494,5494,5494,5494,5494,5494, - 5494,5494,5494,5494,5494,5494,5494,5494,5494,5494, - 5494,5494,5494,5494,5494,5494,5494,5494,5494,5494, - 5494,5494,5494,5494,5494,5494,5494,1932,5494,5494, - 5494,5494,5494,5494,5494,5494,5494,5494,5494,5494, - 5494,135,5494,5494,5494,5494,5494,5494,5494,1, - 5494,5494,5494,5494,5510,5166,5163,5494,5548,2945, - 5494,5494,5494,5494,5494,5494,5494,5494,5494,5494, - 5494,5494,8,5497,5497,5497,5497,5497,5497,5497, - 5497,5497,5497,5497,5497,5497,5497,5497,5497,5497, - 5497,5497,5497,5497,5497,5497,5497,5497,5497,5497, - 5497,5497,5497,5497,5497,5497,5497,5497,5497,5497, - 5497,5497,5497,137,5497,5497,5497,5497,5497,5497, - 5497,5497,5497,5497,5497,5497,5497,439,5497,5497, - 5497,5497,5497,5497,5497,115,5497,5497,5497,5497, - 2316,3710,5510,5497,5510,4798,5497,5497,5497,5497, - 5497,5497,5497,5497,5497,5497,5497,5497,5510,5475, - 5451,5451,5451,5451,5451,5451,5482,5451,1,1, + 1,5251,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5251,1,1,1,1876, + 5426,1,1968,300,3895,1,1,5262,286,4946, + 4946,5258,283,5550,882,4114,3065,2178,2733,4038, + 3060,4112,1498,4108,2451,4106,10,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,1922,5235,5235, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,135,5235,5235,5235,5235,5235,5235,5235,1, + 5235,5235,5235,5235,5251,4907,4904,5235,5289,4116, + 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, + 5235,5235,8,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,137,5238,5238,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,439,5238,5238, + 5238,5238,5238,5238,5238,115,5238,5238,5238,5238, + 2298,3633,5251,5238,5251,2737,5238,5238,5238,5238, + 5238,5238,5238,5238,5238,5238,5238,5238,5251,5216, + 5192,5192,5192,5192,5192,5192,5223,5192,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5479,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,729, + 1,1,1,5220,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,598, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2282,1,1,1,1541,5685,1, - 1184,5510,2542,1,1,5521,2712,3686,631,5945, - 5946,5947,2264,2923,3760,2194,3714,2741,3173,2903, - 1000,2894,2940,2874,5510,5475,5451,5451,5451,5451, - 5451,5451,5482,5451,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5479, + 1,1,1,2264,1,1,1,1876,5426,1, + 1968,5251,3895,1,1,5262,2961,3609,3585,5686, + 5687,5688,882,4114,3065,2178,2733,4038,3060,4112, + 1498,4108,2451,4106,5251,5216,5192,5192,5192,5192, + 5192,5192,5223,5192,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5220, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,331,1,1,1,1, + 1,1,1,1,1,330,1,1,1,1, 1,1,1,1,1,1,1,1,1,136, - 1,1,1,1541,5685,1,1184,117,2542,1, - 1,5521,395,3710,397,5524,5525,5510,2264,2923, - 3760,2194,3714,2741,3173,2903,1000,2894,2940,2874, - 5510,5475,5451,5451,5451,5451,5451,5451,5482,5451, + 1,1,1,1876,5426,1,1968,117,3895,1, + 1,5262,395,3633,397,5265,5266,5251,882,4114, + 3065,2178,2733,4038,3060,4112,1498,4108,2451,4106, + 5251,5216,5192,5192,5192,5192,5192,5192,5223,5192, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5479,1,1,1,1, + 1,1,1,1,1,5220,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,138,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1954,1,1,1,1541, - 5685,1,1184,384,2542,1,1,5521,2316,3686, - 631,5510,5524,5525,2264,2923,3760,2194,3714,2741, - 3173,2903,1000,2894,2940,2874,5510,5475,5451,5451, - 5451,5451,5451,5451,5482,5451,1,1,1,1, + 1,1,1,1,1,3503,1,1,1,1876, + 5426,1,1968,296,3895,1,1,5262,2298,3609, + 3585,5251,5265,5266,882,4114,3065,2178,2733,4038, + 3060,4112,1498,4108,2451,4106,5251,5216,5192,5192, + 5192,5192,5192,5192,5223,5192,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5479,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5510,1,1, + 1,5220,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,384,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2282,1,1,1,1541,5685,1,1184,116, - 2542,1,1,5521,111,3710,5510,5184,5181,5510, - 2264,2923,3760,2194,3714,2741,3173,2903,1000,2894, - 2940,2874,5510,5475,5451,5451,5451,5451,5451,5451, - 5482,5451,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5479,1,1, + 1,2264,1,1,1,1876,5426,1,1968,116, + 3895,1,1,5262,111,3633,5251,4925,4922,5251, + 882,4114,3065,2178,2733,4038,3060,4112,1498,4108, + 2451,4106,5251,5216,5192,5192,5192,5192,5192,5192, + 5223,5192,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5220,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5510,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1964,1,1, - 1,1541,5685,1,1184,5510,2542,1,1,5521, - 5510,3686,631,4129,508,4151,2264,2923,3760,2194, - 3714,2741,3173,2903,1000,2894,2940,2874,5510,5475, - 5451,5451,5451,5451,5451,5451,5482,5451,1,1, + 1,1,1,5251,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3506,1,1, + 1,1876,5426,1,1968,5251,3895,1,1,5262, + 5251,3609,3585,3891,508,3913,882,4114,3065,2178, + 2733,4038,3060,4112,1498,4108,2451,4106,5251,5216, + 5192,5192,5192,5192,5192,5192,5223,5192,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5479,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5510, + 1,1,1,5220,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5251, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2443,1,1,1,1541,5685,1, - 1184,5510,2542,1,1,5521,5510,5524,5525,5510, - 506,2712,2264,2923,3760,2194,3714,2741,3173,2903, - 1000,2894,2940,2874,5510,5475,5451,5451,5451,5451, - 5451,5451,5482,5451,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5479, + 1,1,1,2889,1,1,1,1876,5426,1, + 1968,5251,3895,1,1,5262,5251,5265,5266,5251, + 506,2961,882,4114,3065,2178,2733,4038,3060,4112, + 1498,4108,2451,4106,5251,5216,5192,5192,5192,5192, + 5192,5192,5223,5192,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5220, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5510,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3572, - 1,1,1,1541,5685,1,1184,5510,2542,1, - 1,5521,5510,5166,5163,121,5548,5510,2264,2923, - 3760,2194,3714,2741,3173,2903,1000,2894,2940,2874, - 5510,5475,5451,5451,5451,5451,5451,5451,5482,5451, + 1,1,1,1,1,5251,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2890, + 1,1,1,1876,5426,1,1968,5251,3895,1, + 1,5262,5251,4907,4904,121,5289,5251,882,4114, + 3065,2178,2733,4038,3060,4112,1498,4108,2451,4106, + 5251,5216,5192,5192,5192,5192,5192,5192,5223,5192, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5479,1,1,1,1, + 1,1,1,1,1,5220,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5510,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1970,1,1,1,1541, - 5685,1,1184,5510,2542,1,1,5521,48,5184, - 5181,125,3125,3151,2264,2923,3760,2194,3714,2741, - 3173,2903,1000,2894,2940,2874,5510,5475,5451,5451, - 5451,5451,5451,5451,5482,5451,1,1,1,1, + 1,5251,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3526,1,1,1,1876, + 5426,1,1968,5251,3895,1,1,5262,48,4925, + 4922,125,3012,3038,882,4114,3065,2178,2733,4038, + 3060,4112,1498,4108,2451,4106,5251,5216,5192,5192, + 5192,5192,5192,5192,5223,5192,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5479,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5510,1,1, + 1,5220,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5251,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5510,1,1,1,1541,5685,1,1184,5510, - 2542,1,1,5521,290,5524,5525,5514,3125,3151, - 2264,2923,3760,2194,3714,2741,3173,2903,1000,2894, - 2940,2874,5510,2768,1,1,1,1,1,1, - 2795,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5519,1,1, + 1,5251,1,1,1,1876,5426,1,1968,5251, + 3895,1,1,5262,296,5265,5266,5255,3012,3038, + 882,4114,3065,2178,2733,4038,3060,4112,1498,4108, + 2451,4106,5251,4064,1,1,1,1,1,1, + 4105,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5260,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5911,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5510,1,1, - 1,1541,5685,1,1184,5510,2542,1,1,5521, - 5510,39,37,5306,5306,5548,2264,2923,3760,2194, - 3714,2741,3173,2903,1000,2894,2940,2874,39,5166, - 5163,4796,1405,3935,4019,3347,5513,4041,921,5774, - 5772,5781,5780,5776,5777,5775,5778,5779,5782,5773, - 5770,5847,5848,5546,5764,5771,5767,5743,5769,5768, - 5765,5766,5744,3997,3966,4085,4063,5908,5529,370, - 3866,1174,1219,5531,1176,4217,1182,5532,5530,992, - 5526,5527,5528,5510,2687,5909,5910,368,5510,1356, - 5510,5373,5373,229,5369,229,229,229,5377,229, + 1,1,1,5652,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5251,1,1, + 1,1876,5426,1,1968,5251,3895,1,1,5262, + 5251,39,37,5047,5047,5289,882,4114,3065,2178, + 2733,4038,3060,4112,1498,4108,2451,4106,39,4907, + 4904,2454,2252,3692,3773,597,5254,3795,1138,5515, + 5513,5522,5521,5517,5518,5516,5519,5520,5523,5514, + 5511,5587,5588,5287,5505,5512,5508,5484,5510,5509, + 5506,5507,5485,3751,3729,3847,3825,5649,5270,369, + 3670,1400,1534,5272,1409,3979,1482,5273,5271,1365, + 5267,5268,5269,5251,1341,5650,5651,367,5251,1361, + 5251,5114,5114,229,5110,229,229,229,5118,229, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5510,5524,5525,2048,1, - 5145,5366,1,5156,5152,5410,5160,5416,1187,5413, - 5520,224,36,5445,5442,131,1,1,1,3251, - 5922,617,667,3350,595,225,1232,5519,1,5510, - 133,416,229,5770,5847,5848,363,5764,5771,5767, - 5743,5769,5768,5765,5766,5744,6010,5770,5847,5848, - 510,5764,5771,5767,5743,5769,5768,5765,5766,5744, - 4107,915,5945,5946,5947,5510,5373,5373,229,5369, - 229,229,229,5419,229,1,1,1,1,1, + 1,1,1,1,1,5251,5265,5266,1265,1, + 4886,5107,1,4897,4893,5151,4901,5157,1231,5154, + 5261,224,290,5265,5266,131,1,1,1,825, + 5663,1127,1117,2488,2360,225,1277,5260,1,5251, + 133,416,229,5511,5587,5588,362,5505,5512,5508, + 5484,5510,5509,5506,5507,5485,5751,5511,5587,5588, + 510,5505,5512,5508,5484,5510,5509,5506,5507,5485, + 3869,559,5686,5687,5688,5251,5114,5114,229,5110, + 229,229,229,5160,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 229,1,1,1,1,1,1,1,1,1, - 1,363,29,3004,1,39,5366,33,5196,5548, - 5294,331,47,5294,331,5294,5294,336,363,804, - 37,1,1,1,3251,5922,5510,667,2348,444, - 1,1,5294,1,134,5297,415,229,5297,129, - 5847,5848,5294,5294,5294,5294,345,39,39,3004, - 5548,6010,331,2448,185,331,396,1309,139,226, - 387,5546,5294,1318,5510,5184,5181,5945,5946,5947, - 5294,5510,5510,5199,424,5294,5294,5294,5294,5294, - 5294,5770,5847,5848,5510,5764,5771,5767,5743,5769, - 5768,5765,5766,5744,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5294,1318, - 929,1309,5294,5294,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5510,5294,1846,5318,4107, - 915,5318,2348,5318,5318,2605,2577,1,114,345, - 5166,5163,2473,1405,736,331,3347,5146,331,5510, - 5318,5510,5166,5163,5510,1405,5321,2846,3347,2232, - 5318,5318,5318,5318,4239,1803,1760,1717,1674,1631, - 1588,1545,1502,1459,1416,5501,5149,227,559,139, - 5318,132,1,5156,5152,4438,5160,736,5318,3347, - 595,5510,941,5318,5318,5318,5318,5318,5318,5770, - 5847,5848,1318,5764,5771,5767,5743,5769,5768,5765, - 5766,5744,5318,5318,5318,5318,5318,5318,5318,5318, - 5318,5318,5318,5318,5318,5318,5318,4129,5510,4151, - 5318,5318,5318,5318,5318,5318,5318,5318,5318,5318, - 5318,5318,5318,5510,5318,5510,5451,5451,229,5451, - 229,229,229,5454,229,1,1,1,1,1, + 1,362,29,2730,1,39,5107,33,4937,5289, + 5035,330,47,5035,330,5035,5035,335,362,2946, + 37,1,1,1,825,5663,5251,1117,2330,444, + 1,1,5035,1,134,5038,415,229,5038,129, + 5587,5588,5035,5035,5035,5035,344,39,39,2730, + 5289,5751,330,649,185,330,396,880,139,226, + 387,5287,5035,1052,5251,4925,4922,5686,5687,5688, + 5035,5251,5251,4940,424,5035,5035,5035,5035,5035, + 5035,5511,5587,5588,5251,5505,5512,5508,5484,5510, + 5509,5506,5507,5485,5035,5035,5035,5035,5035,5035, + 5035,5035,5035,5035,5035,5035,5035,5035,5035,1052, + 2998,880,5035,5035,5035,5035,5035,5035,5035,5035, + 5035,5035,5035,5035,5035,5251,5035,1838,5059,3869, + 559,5059,2330,5059,5059,2542,2416,1,114,344, + 4907,4904,584,2252,579,330,597,4887,330,5251, + 5059,5251,4907,4904,5251,2252,5062,2891,597,2216, + 5059,5059,5059,5059,4090,1796,1754,1712,1670,1628, + 1586,1544,1502,1460,1405,5242,4890,227,567,139, + 5059,132,1,4897,4893,603,4901,579,5059,597, + 2360,5251,629,5059,5059,5059,5059,5059,5059,5511, + 5587,5588,1052,5505,5512,5508,5484,5510,5509,5506, + 5507,5485,5059,5059,5059,5059,5059,5059,5059,5059, + 5059,5059,5059,5059,5059,5059,5059,3891,5251,3913, + 5059,5059,5059,5059,5059,5059,5059,5059,5059,5059, + 5059,5059,5059,5251,5059,5251,5192,5192,229,5192, + 229,229,229,5201,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8777,1,1,1,1,1,1, - 2232,5510,8737,8732,1,4239,5448,309,5156,5152, - 4438,5160,736,5431,3347,124,5431,5510,8737,8732, - 5510,1,1,1,3399,5721,5510,1184,5520,2542, - 1,4351,1350,3350,29,1221,220,367,5156,5152, - 2473,5160,736,1,3347,5519,1,43,5363,5363, - 5510,6010,5510,5451,5451,229,5451,229,229,229, + 229,1,1,8539,1,1,1,1,1,1, + 2216,36,5186,5183,1,4090,5189,308,4897,4893, + 603,4901,579,5172,597,124,5172,5251,8478,8473, + 5251,1,1,1,2470,5462,5251,1968,5261,3895, + 1,4395,823,2488,29,728,220,366,4897,4893, + 584,4901,579,1,597,5260,1,43,5104,5104, + 5251,5751,5251,5192,5192,229,5192,229,229,229, 229,229,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,229,1,1, - 8777,1,1,1,1,1,1,5510,5360,5172, - 3829,1,5510,5448,331,5166,5163,4438,1405,736, - 1318,3347,3125,3151,3204,5510,1144,1972,1,1, - 1,3399,5721,5518,1184,362,2542,5510,1,5156, - 5152,2473,5160,736,311,3347,5196,2136,5510,5156, - 5152,4438,5160,736,5431,3347,5510,5431,6010,5510, - 5451,5451,229,5451,229,229,229,5463,229,1, + 8539,1,1,1,1,1,1,5251,5101,4913, + 3657,1,5251,5189,330,4907,4904,603,2252,579, + 1052,597,3012,3038,2742,5251,1189,3589,1,1, + 1,2470,5462,5259,1968,361,3895,5251,1,4897, + 4893,584,4901,579,310,597,4937,1578,5251,4897, + 4893,603,4901,579,5172,597,5251,5172,5751,5251, + 5192,5192,229,5192,229,229,229,5207,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8777,1,1, - 1,1,1,1,91,1005,5517,5315,1,5510, - 5448,1318,5510,5166,5163,2686,1405,5321,5510,3347, - 113,5199,796,1096,5510,1,1,1,3399,5721, - 1050,1184,5522,2542,5510,1,5312,5312,440,5309, - 219,331,5516,363,331,1,5156,5152,4438,5160, - 736,5510,3347,2268,5510,6010,5510,5451,5451,229, - 5451,229,229,229,5454,229,1,1,1,1, + 1,1,1,1,229,1,1,8539,1,1, + 1,1,1,1,91,1007,5258,5056,1,5251, + 5189,1052,5251,4907,4904,2736,2252,5062,5251,597, + 113,4940,729,1146,5251,1,1,1,2470,5462, + 1095,1968,5263,3895,5251,1,5053,5053,440,5050, + 219,330,5257,362,330,1,4897,4893,603,4901, + 579,5251,597,1447,5251,5751,5251,5192,5192,229, + 5192,229,229,229,5201,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8777,1,1,1,1,1, - 1,5521,112,5175,5510,1,5510,5448,1,5156, - 5152,4438,5160,736,4941,3347,309,5515,363,4129, - 123,4151,1,1,1,3399,5721,1050,1184,1971, - 2542,5510,6022,309,454,363,1,220,1,5156, - 5152,2473,5160,736,5469,3347,157,394,5202,5202, - 122,283,6010,5510,5451,5451,229,5451,229,229, - 229,5454,229,1,1,1,1,1,1,1, + 1,229,1,1,8539,1,1,1,1,1, + 1,5262,112,4916,5251,1,5251,5189,1,4897, + 4893,603,4901,579,4783,597,308,5256,362,3891, + 123,3913,1,1,1,2470,5462,1095,1968,3549, + 3895,5251,5763,308,454,362,1,220,1,4897, + 4893,584,4901,579,5210,597,157,394,4943,4943, + 122,283,5751,5251,5192,5192,229,5192,229,229, + 229,5201,229,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,229,1, - 1,8777,1,1,1,1,1,1,283,5178, - 5510,4129,1,4151,5448,1,5156,5152,5410,5160, - 5416,1318,5413,5521,5510,5510,3101,3125,3151,1, - 1,1,3399,5721,515,1184,1889,2542,5510,5166, - 5163,5510,1405,736,220,3347,5510,5166,5163,5516, - 1405,736,5510,3347,5510,5383,5380,3125,3151,6010, - 5510,5451,5451,229,5451,229,229,229,229,229, + 1,8539,1,1,1,1,1,1,283,4919, + 5251,3891,1,3913,5189,1,4897,4893,5151,4901, + 5157,1052,5154,5262,5251,8478,8473,3012,3038,1, + 1,1,2470,5462,515,1968,1880,3895,5251,4907, + 4904,5251,2252,579,220,597,5251,4907,4904,5257, + 2252,579,5251,597,5251,5124,5121,3012,3038,5751, + 5251,5192,5192,229,5192,229,229,229,229,229, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8777,1, - 1,1,1,1,1,5546,445,39,39,1, - 5548,5448,5401,130,883,5401,92,1,1,395, - 1,358,5422,388,5515,5422,1,1,1,3399, - 5721,39,1184,5510,2542,5548,95,39,39,387, - 5548,5518,5457,347,126,5457,776,38,5193,5190, - 428,5510,5187,937,3347,348,6010,5510,5451,5451, - 229,5451,229,229,229,229,229,1,1,1, + 1,1,1,1,1,229,1,1,8539,1, + 1,1,1,1,1,5287,445,39,39,1, + 5289,5189,5142,130,885,5142,92,1,1,395, + 1,357,5163,388,5256,5163,1,1,1,2470, + 5462,39,1968,5251,3895,5289,95,39,39,387, + 5289,5259,5195,346,126,5195,670,38,4934,4931, + 428,5251,4928,3282,597,347,5751,5251,5192,5192, + 229,5192,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8777,1,1,1,1, - 1,1,1979,5510,5288,405,1,2947,5448,2818, - 5510,5524,5525,5404,5517,736,1318,3347,1,2605, - 2577,5867,5291,1,1,1,3399,5721,1318,1184, - 5407,2542,3014,318,1,128,5169,3004,5510,5524, - 5525,5510,341,5945,5946,5947,5522,5510,2719,2646, - 5510,8740,8740,6010,5510,5451,5451,229,5451,229, + 1,1,229,1,1,8539,1,1,1,1, + 1,1,3613,5251,5029,405,1,2446,5189,2700, + 5251,5265,5266,5145,5258,579,1052,597,1,2542, + 2416,5607,5032,1,1,1,2470,5462,1052,1968, + 5148,3895,4661,317,1,128,4910,2730,5251,5265, + 5266,5251,340,5686,5687,5688,5263,5251,2626,2599, + 5251,8518,8518,5751,5251,5192,5192,229,5192,229, 229,229,229,229,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,229, - 1,1,8777,1,1,1,1,1,1,5510, - 2818,5546,1,1,5510,5448,1318,1318,1,301, - 161,320,341,5395,341,5521,5516,341,5869,5810, - 1,1,1,3399,5721,5951,1184,5510,2542,37, - 5306,5306,37,5306,5306,331,118,5306,237,2719, - 2646,5386,1,5156,5152,4796,5160,3935,4019,3347, - 6010,4041,5324,5351,5357,5330,5333,5345,5342,5348, - 5339,5336,5327,5354,341,37,5306,5306,3552,120, - 5546,3661,2773,2878,1318,161,458,3997,3966,4085, - 4063,5515,5529,5510,3866,1174,1219,5531,1176,4217, - 1182,5532,5530,992,5526,5527,5528,45,5428,5428, - 5510,5438,5434,1356,3661,2773,2702,39,39,448, - 516,39,5166,5163,4796,1405,3935,4019,3347,5504, - 4041,1450,5774,5772,5781,5780,5776,5777,5775,5778, - 5779,5782,5773,119,1,1,5510,1,5425,5300, - 1027,5546,5510,5472,5146,528,3997,3966,4085,4063, - 5520,5529,5510,3866,1174,1219,5531,1176,4217,1182, - 5532,5530,992,5526,5527,5528,1,5519,3661,2773, - 5510,8,1356,5149,5520,559,291,457,5488,5507, - 5510,784,5517,141,5166,5163,4796,1405,3935,4019, - 3347,5519,4041,1450,5774,5772,5781,5780,5776,5777, - 5775,5778,5779,5782,5773,1,5517,4361,1,5510, - 528,4932,289,163,1,1491,5510,5510,3997,3966, - 4085,4063,191,5529,5510,3866,1174,1219,5531,1176, - 4217,1182,5532,5530,992,5526,5527,5528,5965,191, - 5303,5510,5507,5510,1356,2018,4346,5510,39,39, - 1,5156,5152,4796,5160,3935,4019,3347,5510,4041, - 5324,5351,5357,5330,5333,5345,5342,5348,5339,5336, - 5327,5354,4916,5510,5510,5510,4378,4943,163,4917, - 5510,420,1043,4955,5510,3997,3966,4085,4063,5510, - 5529,395,3866,1174,1219,5531,1176,4217,1182,5532, - 5530,992,5526,5527,5528,5510,375,5510,932,4238, - 3745,1356,100,4929,99,39,39,39,5166,5163, - 4796,1405,3935,4019,3347,5485,4041,1450,5774,5772, - 5781,5780,5776,5777,5775,5778,5779,5782,5773,1309, - 5510,5510,103,3747,1972,3861,1309,2056,532,426, - 2106,1,3997,3966,4085,4063,5510,5529,5510,3866, - 1174,1219,5531,1176,4217,1182,5532,5530,992,5526, - 5527,5528,5510,35,449,4960,1322,2144,1356,5510, - 278,3755,2599,5466,5488,39,5166,5163,4796,1405, - 3935,4019,3347,5485,4041,1450,5774,5772,5781,5780, - 5776,5777,5775,5778,5779,5782,5773,5510,308,2576, - 3265,3192,5510,75,5510,4251,3467,5510,5510,3743, - 3997,3966,4085,4063,2945,5529,73,3866,1174,1219, - 5531,1176,4217,1182,5532,5530,992,5526,5527,5528, - 5510,4221,3623,5510,2683,5510,1356,521,4880,5510, - 5572,5573,5488,39,5166,5163,4796,1405,3935,4019, - 3347,5514,4041,1450,5774,5772,5781,5780,5776,5777, - 5775,5778,5779,5782,5773,48,3025,5510,2801,5525, - 48,5460,5510,2,5524,127,3210,3623,3997,3966, - 4085,4063,575,5529,5510,3866,1174,1219,5531,1176, - 4217,1182,5532,5530,992,5526,5527,5528,1,1975, - 5510,2338,39,5979,5973,3255,5548,5977,581,5510, - 1,819,4885,559,5510,5510,5510,3735,4892,4946, - 5525,5510,669,5510,3554,5524,4976,5510,37,5510, - 2818,5510,6046,5971,5972,6002,6003,5510,5510,3292, - 5980,5510,5510,5398,5510,5510,5510,5510,5510,5510, - 2540,5510,5510,5982,5510,2945,5510,5510,5510,5510, - 5513,2428,5510,1610,1620,5510,5983,5981,6004,2719, - 2646,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5993,5992,6005,5510,5510, - 5974,5975,5998,5999,5996,5997,5976,5978,6000,6001, - 5510,5510,5510,6006,5510,5986,5987,5988,5984,5985, - 5994,5995,5990,5989,5991,39,5166,5163,4796,1405, - 3935,4019,3347,5510,4041,1450,5774,5772,5781,5780, - 5776,5777,5775,5778,5779,5782,5773,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 3997,3966,4085,4063,5510,5529,5510,3866,1174,1219, - 5531,1176,4217,1182,5532,5530,992,5526,5527,5528, - 5510,5510,5510,5510,5510,5510,1356,39,5166,5163, - 4796,1405,3935,4019,3347,5510,4041,1450,5774,5772, - 5781,5780,5776,5777,5775,5778,5779,5782,5773,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,3997,3966,4085,4063,5510,5529,5510,3866, - 1174,1219,5531,1176,4217,1182,5532,5530,992,5526, - 5527,5528,39,5166,5163,4796,1405,3935,4019,3347, - 2526,4041,1450,5774,5772,5781,5780,5776,5777,5775, - 5778,5779,5782,5773,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,3997,3966,4085, - 4063,5510,5529,5510,3866,1174,1219,5531,1176,4217, - 1182,5532,5530,992,5526,5527,5528,5510,5510,5510, - 5510,5510,5510,1356,39,5166,5163,4838,1405,3935, - 4019,3347,5510,4041,1450,5774,5772,5781,5780,5776, - 5777,5775,5778,5779,5782,5773,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,3997, - 3966,4085,4063,5510,5529,5510,3866,1174,1219,5531, - 1176,4217,1182,5532,5530,992,5526,5527,5528,39, - 5166,5163,4796,1405,3935,4019,3347,5510,4041,1450, - 5774,5772,5781,5780,5776,5777,5775,5778,5779,5782, - 5773,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,3997,3966,4085,4063,5510,5529, - 5510,3866,1174,1219,5531,1176,4217,1182,5532,5530, - 992,5526,5527,5528,39,5166,5163,4796,1405,3935, - 4019,3347,5510,4041,1450,5774,5772,5781,5780,5776, - 5777,5775,5778,5779,5782,5773,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,3997, - 3966,4085,4063,5510,5529,5510,3866,1174,1219,5531, - 1176,4217,1182,5532,5530,992,5526,5527,5528,5510, - 5166,5163,5510,5548,5510,5510,5510,5510,5510,865, - 5774,5772,5781,5780,5776,5777,5775,5778,5779,5782, - 5773,5770,5847,5848,5510,5764,5771,5767,5743,5769, - 5768,5765,5766,5744,5510,5510,5510,5510,5908,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,241,5281, - 5277,5510,5285,5510,5510,2687,5909,5910,865,5268, - 5274,5247,5250,5262,5259,5265,5256,5253,5244,5271, - 5223,5217,5214,5510,5241,5220,5232,5211,5226,5229, - 5238,5235,5208,5510,5510,5510,5510,5908,29,387, - 387,5392,387,387,5392,387,5392,5392,5510,5510, - 5510,5510,5510,5510,2687,5909,5910,5510,5510,5510, - 387,387,387,5392,387,387,387,387,387,387, - 387,387,387,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5172,5510,5510,5510,5510,5510,5510, - 5510,5392,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5392,32,388,388,5389,388,388,5389,388, - 5389,5389,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5510,5510,5510,388,388,388,5389,388,388, - 388,388,388,388,388,388,388,5510,5510,5510, - 223,5510,5510,5510,5510,5510,5510,5510,5510,5510, - 5510,5774,5772,5781,5780,5776,5777,5775,5778,5779, - 5782,5773,5770,5847,5848,5389,5764,5771,5767,5743, - 5769,5768,5765,5766,5744,5389 + 1,1,8539,1,1,1,1,1,1,5251, + 2700,5287,1,1,5251,5189,1052,1052,1,300, + 161,319,340,5136,340,5262,5257,340,5609,5550, + 1,1,1,2470,5462,5692,1968,5251,3895,37, + 5047,5047,37,5047,5047,330,118,5047,237,2626, + 2599,5127,1,4897,4893,2454,4901,3692,3773,597, + 5751,3795,5065,5092,5098,5071,5074,5086,5083,5089, + 5080,5077,5068,5095,340,37,5047,5047,2908,120, + 5287,3560,2863,3722,1052,161,458,3751,3729,3847, + 3825,5256,5270,5251,3670,1400,1534,5272,1409,3979, + 1482,5273,5271,1365,5267,5268,5269,45,5169,5169, + 5251,5179,5175,1361,3560,2863,2593,39,39,448, + 516,39,4907,4904,2454,2252,3692,3773,597,5245, + 3795,1045,5515,5513,5522,5521,5517,5518,5516,5519, + 5520,5523,5514,119,1,1,5251,1,5166,5041, + 915,5287,5251,5213,4887,528,3751,3729,3847,3825, + 5261,5270,5251,3670,1400,1534,5272,1409,3979,1482, + 5273,5271,1365,5267,5268,5269,1,5260,3560,2863, + 5251,8,1361,4890,5261,567,291,457,5229,5248, + 5251,3236,5258,141,4907,4904,2454,2252,3692,3773, + 597,5260,3795,1045,5515,5513,5522,5521,5517,5518, + 5516,5519,5520,5523,5514,1,5258,4213,1,5251, + 528,4782,289,163,1,1178,5251,5251,3751,3729, + 3847,3825,191,5270,5251,3670,1400,1534,5272,1409, + 3979,1482,5273,5271,1365,5267,5268,5269,5706,191, + 5044,5251,5248,5251,1361,2006,4100,5251,39,39, + 1,4897,4893,2454,4901,3692,3773,597,5251,3795, + 5065,5092,5098,5071,5074,5086,5083,5089,5080,5077, + 5068,5095,4476,5251,5251,5251,4226,4227,163,4549, + 5251,420,620,4287,5251,3751,3729,3847,3825,5251, + 5270,395,3670,1400,1534,5272,1409,3979,1482,5273, + 5271,1365,5267,5268,5269,5251,374,5251,720,4232, + 4260,1361,100,4751,99,39,39,39,4907,4904, + 2454,2252,3692,3773,597,5226,3795,1045,5515,5513, + 5522,5521,5517,5518,5516,5519,5520,5523,5514,880, + 5251,5251,103,4335,3589,4781,880,2044,532,426, + 2092,1,3751,3729,3847,3825,5251,5270,5251,3670, + 1400,1534,5272,1409,3979,1482,5273,5271,1365,5267, + 5268,5269,5251,35,449,4366,1620,2130,1361,5251, + 278,4003,4002,5204,5229,39,4907,4904,2454,2252, + 3692,3773,597,5226,3795,1045,5515,5513,5522,5521, + 5517,5518,5516,5519,5520,5523,5514,5251,307,3961, + 3349,2728,5251,75,5251,4789,3173,5251,5251,1223, + 3751,3729,3847,3825,4116,5270,73,3670,1400,1534, + 5272,1409,3979,1482,5273,5271,1365,5267,5268,5269, + 5251,4337,3479,5251,4032,5251,1361,521,4745,5251, + 5313,5314,5229,39,4907,4904,2454,2252,3692,3773, + 597,5255,3795,1045,5515,5513,5522,5521,5517,5518, + 5516,5519,5520,5523,5514,48,3441,5251,2684,5266, + 48,5198,5251,5251,5265,127,3097,3479,3751,3729, + 3847,3825,931,5270,5251,3670,1400,1534,5272,1409, + 3979,1482,5273,5271,1365,5267,5268,5269,1,1964, + 5251,1144,39,5720,5714,3142,5289,5718,803,5251, + 2,2754,4758,567,5251,5251,5251,4467,4770,4036, + 5266,5251,943,5251,3425,5265,4791,5251,5251,5251, + 2700,1,5787,5712,5713,5743,5744,5251,5251,3179, + 5721,5251,5251,5139,5251,5251,5251,5251,4125,5251, + 5251,5251,5251,5723,5251,4116,5251,5251,5251,5251, + 5254,661,5251,2091,2238,37,5724,5722,5745,2626, + 2599,3873,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5734,5733,5746,5251,5251, + 5715,5716,5739,5740,5737,5738,5717,5719,5741,5742, + 5251,5251,5251,5747,5251,5727,5728,5729,5725,5726, + 5735,5736,5731,5730,5732,39,4907,4904,2454,2252, + 3692,3773,597,5251,3795,1045,5515,5513,5522,5521, + 5517,5518,5516,5519,5520,5523,5514,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 3751,3729,3847,3825,5251,5270,5251,3670,1400,1534, + 5272,1409,3979,1482,5273,5271,1365,5267,5268,5269, + 5251,5251,5251,5251,5251,5251,1361,39,4907,4904, + 2454,2252,3692,3773,597,5251,3795,1045,5515,5513, + 5522,5521,5517,5518,5516,5519,5520,5523,5514,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,3751,3729,3847,3825,5251,5270,5251,3670, + 1400,1534,5272,1409,3979,1482,5273,5271,1365,5267, + 5268,5269,39,4907,4904,2454,2252,3692,3773,597, + 2420,3795,1045,5515,5513,5522,5521,5517,5518,5516, + 5519,5520,5523,5514,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,3751,3729,3847, + 3825,5251,5270,5251,3670,1400,1534,5272,1409,3979, + 1482,5273,5271,1365,5267,5268,5269,5251,5251,5251, + 5251,5251,5251,1361,39,4907,4904,3152,2252,3692, + 3773,597,5251,3795,1045,5515,5513,5522,5521,5517, + 5518,5516,5519,5520,5523,5514,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,3751, + 3729,3847,3825,5251,5270,5251,3670,1400,1534,5272, + 1409,3979,1482,5273,5271,1365,5267,5268,5269,39, + 4907,4904,2454,2252,3692,3773,597,5251,3795,1045, + 5515,5513,5522,5521,5517,5518,5516,5519,5520,5523, + 5514,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,3751,3729,3847,3825,5251,5270, + 5251,3670,1400,1534,5272,1409,3979,1482,5273,5271, + 1365,5267,5268,5269,39,4907,4904,2454,2252,3692, + 3773,597,5251,3795,1045,5515,5513,5522,5521,5517, + 5518,5516,5519,5520,5523,5514,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,3751, + 3729,3847,3825,5251,5270,5251,3670,1400,1534,5272, + 1409,3979,1482,5273,5271,1365,5267,5268,5269,5251, + 4907,4904,5251,5289,5251,5251,5251,5251,5251,738, + 5515,5513,5522,5521,5517,5518,5516,5519,5520,5523, + 5514,5511,5587,5588,5251,5505,5512,5508,5484,5510, + 5509,5506,5507,5485,5251,5251,5251,5251,5649,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,241,5022, + 5018,5251,5026,5251,5251,1341,5650,5651,738,5009, + 5015,4988,4991,5003,5000,5006,4997,4994,4985,5012, + 4964,4958,4955,5251,4982,4961,4973,4952,4967,4970, + 4979,4976,4949,5251,5251,5251,5251,5649,29,387, + 387,5133,387,387,5133,387,5133,5133,5251,5251, + 5251,5251,5251,5251,1341,5650,5651,5251,5251,5251, + 387,387,387,5133,387,387,387,387,387,387, + 387,387,387,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,4913,5251,5251,5251,5251,5251,5251, + 5251,5133,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5133,32,388,388,5130,388,388,5130,388, + 5130,5130,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,388,388,388,5130,388,388, + 388,388,388,388,388,388,388,5251,5251,5251, + 223,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5515,5513,5522,5521,5517,5518,5516,5519,5520, + 5523,5514,5511,5587,5588,5130,5505,5512,5508,5484, + 5510,5509,5506,5507,5485,5130 }; }; public final static char termAction[] = TermAction.termAction; @@ -1828,61 +1777,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Asb { public final static char asb[] = {0, - 616,486,427,1,1,390,483,483,390,812, - 812,769,600,812,759,660,390,332,609,609, - 189,8,9,117,117,371,854,854,772,854, - 371,102,621,1069,997,1008,551,1008,109,1008, - 699,1008,992,1008,1071,371,1069,623,1,475, - 427,427,427,427,1071,475,316,104,333,333, - 333,333,333,333,333,333,333,857,863,868, - 865,872,870,877,875,879,878,880,232,881, - 332,332,229,895,627,627,427,854,130,130, - 851,229,746,854,854,130,371,1073,986,746, - 746,625,600,371,280,374,111,418,112,1071, - 371,371,419,759,625,483,316,812,812,812, - 812,371,705,746,746,316,904,811,986,316, - 857,593,593,705,332,333,333,333,333,333, - 333,333,333,333,333,333,333,333,333,333, - 333,333,333,333,332,332,332,332,332,332, - 332,332,332,332,332,332,333,627,627,130, - 130,1069,229,229,130,985,369,746,14,611, - 371,281,849,847,374,371,550,283,423,419, - 551,429,371,419,371,368,746,746,770,770, - 770,770,419,746,332,333,434,441,1015,1015, - 1071,104,229,811,332,746,368,370,368,746, - 229,865,865,863,863,863,870,870,870,870, - 868,868,875,872,872,878,877,879,1085,880, - 746,746,770,769,770,851,770,1073,371,477, - 666,985,281,847,490,371,374,1085,112,427, - 421,182,1075,374,550,424,550,550,419,429, - 429,371,371,371,475,475,475,475,371,371, - 332,371,986,333,812,861,18,746,370,986, - 332,477,539,316,985,477,847,847,986,554, - 551,770,427,368,549,1077,365,475,550,550, - 550,550,371,429,490,488,489,332,332,332, - 332,475,475,419,369,746,861,1069,1073,371, - 369,477,539,479,846,847,369,554,554,494, - 390,369,550,550,365,900,333,1085,59,55, - 1069,550,550,749,490,333,371,746,746,746, - 746,705,705,371,861,862,861,332,18,187, - 857,1073,479,541,479,847,901,490,944,946, - 272,475,112,531,554,554,390,369,550,551, - 1071,1077,333,333,365,662,839,750,371,746, - 746,1050,861,705,333,229,187,479,541,475, - 493,272,944,126,1071,490,769,901,551,296, - 662,371,475,749,371,1071,1071,371,862,746, - 229,628,494,554,901,58,900,746,1071,371, - 494,844,297,1071,371,705,371,371,371,612, - 554,332,65,365,901,371,371,844,296,1085, - 333,1085,901,295,475,475,475,297,475,371, - 239,901,901,371,551,746,371,371,812,490, - 746,490,551,371,901,288,475,288,297,1085, - 297,316,316,314,757,316,901,901,62,844, - 490,65,901,666,297,746,365,746,314,272, - 475,746,844,65,746,746,1063,297,62,297, - 901,272,332,297,294,489,551,551,1065,332, - 295,705,901,746,899,64,297,746,901,899, - 899,297 + 423,602,685,242,242,444,599,599,444,92, + 92,822,665,92,812,50,444,381,674,674, + 294,1,2,229,229,420,983,983,52,983, + 420,287,11,957,885,896,616,896,534,896, + 528,896,880,896,959,420,957,13,242,733, + 685,685,685,685,959,733,365,289,382,382, + 382,382,382,382,382,382,382,986,992,997, + 994,1001,999,1006,1004,1008,1007,1009,542,1010, + 381,381,334,1024,17,17,685,983,170,170, + 980,334,809,983,983,170,420,961,1073,809, + 809,15,665,420,590,428,536,472,537,959, + 420,420,473,812,15,599,365,92,92,92, + 92,420,768,809,809,365,832,91,1073,365, + 986,658,658,768,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,17,17,170, + 170,957,334,334,170,1072,418,809,7,676, + 420,591,978,976,428,420,615,687,681,473, + 616,523,420,473,420,417,809,809,823,823, + 823,823,473,809,381,382,692,699,903,903, + 959,289,334,91,381,809,417,419,417,809, + 334,994,994,992,992,992,999,999,999,999, + 997,997,1004,1001,1001,1007,1006,1008,973,1009, + 809,809,823,822,823,980,823,961,420,593, + 735,1072,591,976,829,420,428,973,537,685, + 475,222,963,428,615,682,615,615,473,523, + 523,420,420,420,733,733,733,733,420,420, + 381,420,1073,382,92,990,124,809,419,1073, + 381,593,604,365,1072,593,976,976,1073,616, + 616,823,685,417,614,965,414,733,615,615, + 615,615,420,523,829,827,828,381,381,381, + 381,733,733,473,418,809,990,957,961,420, + 418,593,604,595,975,976,418,619,616,478, + 444,418,615,615,414,1029,382,973,165,161, + 957,615,615,1079,829,382,420,809,809,809, + 809,768,768,420,990,991,990,381,124,227, + 986,961,595,606,595,976,1030,619,619,872, + 1033,582,733,537,515,444,418,615,616,959, + 965,382,382,414,874,119,1080,420,809,809, + 938,990,768,382,334,227,595,606,733,829, + 619,619,477,582,872,238,959,822,1030,616, + 345,874,420,733,1079,420,959,959,420,991, + 809,334,18,829,478,619,1030,164,1029,809, + 959,420,478,825,346,959,420,768,420,420, + 420,677,619,381,250,414,1030,420,420,825, + 345,973,382,973,1030,344,733,733,733,346, + 733,420,549,1030,1030,420,616,809,420,420, + 92,829,809,829,616,420,1030,337,733,337, + 346,973,346,365,365,363,878,365,1030,1030, + 168,825,829,250,1030,735,346,809,414,809, + 363,582,733,809,825,250,809,809,951,346, + 168,346,1030,582,381,346,343,828,616,616, + 953,381,344,768,1030,809,1028,249,346,809, + 1030,1028,1028,346 }; }; public final static char asb[] = Asb.asb; @@ -1890,83 +1839,11 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Asr { public final static byte asr[] = {0, - 68,69,70,120,1,2,0,3,68,69, - 70,120,63,8,73,90,0,91,89,35, - 36,92,93,87,88,68,94,95,96,97, - 98,99,100,101,106,90,107,108,109,110, - 111,112,113,114,115,116,117,73,71,1, - 2,4,9,6,72,63,55,3,8,70, - 25,69,0,71,61,37,38,9,6,35, - 36,42,47,3,4,52,53,54,40,50, - 45,49,12,21,11,17,15,16,18,19, - 14,13,20,10,44,48,46,43,51,67, - 8,7,5,1,2,66,65,0,41,4, - 72,1,2,67,8,0,74,3,68,72, - 90,70,73,25,63,8,67,69,0,26, - 11,12,39,23,43,65,13,44,56,27, - 28,45,14,29,30,15,16,31,66,32, - 46,17,18,47,33,48,57,49,61,50, - 34,51,58,19,22,20,24,21,52,53, - 54,40,3,37,38,9,6,35,36,42, - 68,7,1,2,4,10,5,0,65,66, - 3,10,44,48,46,43,51,12,21,11, - 17,15,16,18,19,14,13,20,52,53, - 54,40,50,45,49,5,7,4,37,38, - 9,6,35,36,42,47,1,2,117,8, - 0,68,72,90,70,117,73,71,11,12, - 43,65,13,44,45,14,15,16,66,46, - 17,18,47,48,49,61,50,51,10,19, - 20,21,52,53,54,40,37,38,35,36, - 42,8,25,5,7,1,2,4,3,9, - 6,0,4,8,72,67,0,86,102,103, - 104,41,72,118,121,71,60,74,62,59, - 64,76,78,84,82,75,80,81,83,85, - 67,77,79,25,8,26,39,23,56,27, - 28,29,30,31,32,33,57,34,58,22, - 24,61,65,66,10,44,48,46,43,51, - 12,21,11,17,15,16,18,19,14,13, - 20,52,53,54,40,50,45,49,37,38, - 35,36,42,47,9,6,3,4,7,5, - 1,2,0,86,59,7,102,103,104,62, - 8,3,9,6,5,72,71,25,60,26, - 11,12,39,23,13,56,27,28,14,29, - 30,15,16,31,32,17,18,33,57,34, - 10,58,19,22,20,24,21,4,1,2, - 41,0,4,8,72,67,55,0,1,2, - 8,71,0,8,72,117,73,25,70,0, - 26,11,12,23,13,27,28,14,29,30, - 15,16,31,7,32,17,18,33,34,19, - 22,20,24,21,1,2,8,63,9,6, - 5,4,73,25,3,0,23,24,61,8, - 90,73,68,70,69,120,0,69,70,71, - 8,0,67,39,23,13,56,27,14,29, - 30,15,16,31,32,17,18,33,57,34, - 58,19,22,20,24,21,12,11,26,8, - 3,9,6,25,62,64,86,28,60,41, - 7,1,2,5,4,10,59,0,23,24, - 61,3,68,90,69,70,73,25,74,72, - 67,8,0,64,26,11,12,39,23,13, - 56,27,86,28,14,29,30,15,16,31, - 59,32,17,18,33,57,34,10,58,19, - 62,22,20,24,21,8,3,9,6,71, - 25,60,7,4,41,5,1,2,0,9, - 6,3,7,5,63,4,1,2,68,69, - 90,73,8,70,0,39,10,41,60,0, + 3,68,69,70,120,63,8,73,90,0, 5,7,3,63,6,9,90,26,11,12, 23,13,56,27,28,14,29,30,15,16, 31,32,17,18,33,57,34,10,58,19, 22,20,24,21,1,2,4,73,8,39, - 0,8,67,70,0,26,11,12,39,23, - 13,56,27,28,14,29,30,15,16,31, - 32,17,18,33,57,34,10,58,19,22, - 20,24,21,1,2,4,90,0,4,8, - 67,1,2,0,11,12,43,65,13,44, - 45,14,15,16,66,7,46,17,18,47, - 48,49,61,50,51,10,19,20,21,52, - 53,54,40,1,2,3,37,38,9,6, - 35,36,5,42,4,73,8,0,22,1, - 2,4,102,103,104,0,75,0,8,73, - 120,1,2,9,6,4,3,63,70,68, 0,66,65,35,36,6,92,93,98,9, 99,5,42,69,55,68,110,111,107,108, 109,115,114,116,88,87,112,113,96,97, @@ -1974,31 +1851,103 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 3,26,11,12,39,23,13,56,27,28, 14,29,30,15,16,31,32,17,18,33, 57,34,10,58,19,20,24,21,1,2, - 4,22,0,118,0,61,23,24,7,5, - 1,2,4,74,67,120,119,105,37,38, - 63,3,91,89,6,92,93,35,36,88, - 87,55,94,95,96,97,9,98,99,100, - 68,90,73,69,107,108,109,110,111,112, - 113,114,115,116,72,117,101,106,71,70, - 25,8,0,65,66,37,38,9,6,35, - 36,5,42,47,3,4,7,52,53,54, - 50,45,49,12,21,11,17,15,16,18, - 19,14,13,20,10,44,48,46,43,51, - 63,1,2,40,0,39,23,13,56,27, - 14,29,30,15,16,31,32,17,18,33, - 57,34,10,58,19,22,20,24,21,12, - 11,26,8,3,9,25,62,59,64,86, - 28,60,55,4,6,7,5,41,1,2, - 0,10,56,39,57,58,12,21,11,17, - 15,16,18,19,14,13,20,74,72,90, - 117,71,67,120,119,91,105,89,37,38, - 35,36,92,93,87,88,55,68,94,95, - 96,97,98,99,100,101,106,69,107,108, - 109,110,111,112,113,114,115,116,70,26, - 23,27,28,29,30,31,32,33,34,22, - 24,25,8,73,3,63,7,5,9,6, - 1,2,4,0,25,8,3,7,5,9, - 6,4,1,2,72,0 + 4,22,0,91,89,35,36,92,93,87, + 88,68,94,95,96,97,98,99,100,101, + 106,90,107,108,109,110,111,112,113,114, + 115,116,117,73,71,1,2,4,9,6, + 72,63,55,3,8,70,25,69,0,26, + 11,12,39,23,43,65,13,44,56,27, + 28,45,14,29,30,15,16,31,66,32, + 46,17,18,47,33,48,57,49,61,50, + 34,51,58,19,22,20,24,21,52,53, + 54,40,3,37,38,9,6,35,36,42, + 68,7,1,2,4,10,5,0,74,3, + 68,72,90,70,73,25,63,8,67,69, + 0,68,69,70,120,1,2,0,71,61, + 37,38,9,6,35,36,42,47,3,4, + 52,53,54,40,50,45,49,12,21,11, + 17,15,16,18,19,14,13,20,10,44, + 48,46,43,51,67,8,7,5,1,2, + 66,65,0,65,66,3,10,44,48,46, + 43,51,12,21,11,17,15,16,18,19, + 14,13,20,52,53,54,40,50,45,49, + 5,7,4,37,38,9,6,35,36,42, + 47,1,2,117,8,0,86,102,103,104, + 41,72,118,121,71,60,74,62,59,64, + 76,78,84,82,75,80,81,83,85,67, + 77,79,25,8,26,39,23,56,27,28, + 29,30,31,32,33,57,34,58,22,24, + 61,65,66,10,44,48,46,43,51,12, + 21,11,17,15,16,18,19,14,13,20, + 52,53,54,40,50,45,49,37,38,35, + 36,42,47,9,6,3,4,7,5,1, + 2,0,39,10,41,60,0,86,59,7, + 102,103,104,62,8,3,9,6,5,72, + 71,25,60,26,11,12,39,23,13,56, + 27,28,14,29,30,15,16,31,32,17, + 18,33,57,34,10,58,19,22,20,24, + 21,4,1,2,41,0,67,39,23,13, + 56,27,14,29,30,15,16,31,32,17, + 18,33,57,34,58,19,22,20,24,21, + 12,11,26,8,3,9,6,25,62,64, + 86,28,60,41,7,1,2,5,4,10, + 59,0,1,2,8,71,0,4,8,67, + 1,2,0,41,4,72,1,2,67,8, + 0,68,72,90,70,117,73,71,11,12, + 43,65,13,44,45,14,15,16,66,46, + 17,18,47,48,49,61,50,51,10,19, + 20,21,52,53,54,40,37,38,35,36, + 42,8,25,5,7,1,2,4,3,9, + 6,0,23,24,61,8,90,73,68,70, + 69,120,0,23,24,61,3,68,90,69, + 70,73,25,74,72,67,8,0,64,26, + 11,12,39,23,13,56,27,86,28,14, + 29,30,15,16,31,59,32,17,18,33, + 57,34,10,58,19,62,22,20,24,21, + 8,3,9,6,71,25,60,7,4,41, + 5,1,2,0,9,6,3,7,5,63, + 4,1,2,68,69,90,73,8,70,0, + 4,8,72,67,55,0,4,8,72,67, + 0,8,72,117,73,25,70,0,26,11, + 12,23,13,27,28,14,29,30,15,16, + 31,7,32,17,18,33,34,19,22,20, + 24,21,1,2,8,63,9,6,5,4, + 73,25,3,0,26,11,12,39,23,13, + 56,27,28,14,29,30,15,16,31,32, + 17,18,33,57,34,10,58,19,22,20, + 24,21,1,2,4,90,0,11,12,43, + 65,13,44,45,14,15,16,66,7,46, + 17,18,47,48,49,61,50,51,10,19, + 20,21,52,53,54,40,1,2,3,37, + 38,9,6,35,36,5,42,4,73,8, + 0,8,73,120,1,2,9,6,4,3, + 63,70,68,0,118,0,69,70,71,8, + 0,65,66,37,38,9,6,35,36,5, + 42,47,3,4,7,52,53,54,50,45, + 49,12,21,11,17,15,16,18,19,14, + 13,20,10,44,48,46,43,51,63,1, + 2,40,0,8,67,70,0,75,0,10, + 56,39,57,58,12,21,11,17,15,16, + 18,19,14,13,20,74,72,90,117,71, + 67,120,119,91,105,89,37,38,35,36, + 92,93,87,88,55,68,94,95,96,97, + 98,99,100,101,106,69,107,108,109,110, + 111,112,113,114,115,116,70,26,23,27, + 28,29,30,31,32,33,34,22,24,25, + 8,73,3,63,7,5,9,6,1,2, + 4,0,25,8,3,7,5,9,6,4, + 1,2,72,0,61,23,24,7,5,1, + 2,4,74,67,120,119,105,37,38,63, + 3,91,89,6,92,93,35,36,88,87, + 55,94,95,96,97,9,98,99,100,68, + 90,73,69,107,108,109,110,111,112,113, + 114,115,116,72,117,101,106,71,70,25, + 8,0,39,23,13,56,27,14,29,30, + 15,16,31,32,17,18,33,57,34,10, + 58,19,22,20,24,21,12,11,26,8, + 3,9,25,62,59,64,86,28,60,55, + 4,6,7,5,41,1,2,0,22,1, + 2,4,102,103,104,0 }; }; public final static byte asr[] = Asr.asr; @@ -2006,61 +1955,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Nasb { public final static char nasb[] = {0, - 114,12,12,13,13,269,12,12,111,39, - 39,12,123,5,186,12,111,74,12,12, - 93,21,21,21,21,239,12,12,209,12, - 132,177,122,140,253,254,161,254,90,254, - 144,254,247,12,10,132,140,185,13,12, - 12,12,12,12,130,12,275,132,74,74, - 235,74,74,74,74,74,74,12,12,12, - 12,12,12,12,12,12,12,12,74,12, - 74,74,98,12,269,269,12,12,269,269, - 25,98,207,12,12,269,11,12,30,207, - 207,108,171,132,12,269,181,130,85,130, - 132,11,12,116,108,12,275,39,39,39, - 39,132,153,207,207,1,74,65,30,275, - 12,15,15,153,150,74,74,74,74,74, - 74,74,74,74,74,74,74,74,74,74, - 74,74,74,74,74,74,74,74,74,74, - 74,74,74,74,74,150,74,111,111,34, - 34,140,98,98,34,51,177,207,12,12, - 132,142,142,142,256,182,80,80,12,215, - 161,269,215,59,182,176,207,207,12,12, - 12,12,29,207,74,74,12,12,12,12, - 10,132,98,39,100,207,176,132,176,207, - 98,12,12,12,12,12,12,12,12,12, + 101,12,12,77,77,257,12,12,142,48, + 48,12,21,5,168,12,142,84,12,12, + 90,18,18,18,18,229,12,12,30,12, + 215,190,20,150,243,244,179,244,112,244, + 109,244,237,12,10,215,150,167,77,12, + 12,12,12,12,28,12,127,215,84,84, + 225,84,84,84,84,84,84,12,12,12, + 12,12,12,12,12,12,12,12,84,12, + 84,84,95,12,257,257,12,12,257,257, + 36,95,220,12,12,257,11,12,41,220, + 220,139,184,215,12,257,211,28,15,28, + 215,11,12,196,139,12,127,48,48,48, + 48,215,181,220,220,1,84,13,41,127, + 12,60,60,181,162,84,84,84,84,84, + 84,84,84,84,84,84,84,84,84,84, + 84,84,84,84,84,84,84,84,84,84, + 84,84,84,84,84,162,84,142,142,43, + 43,150,95,95,43,51,190,220,12,12, + 215,152,152,152,259,212,137,137,12,271, + 179,257,271,57,212,189,220,220,12,12, + 12,12,40,220,84,84,12,12,12,12, + 10,215,95,48,115,220,189,215,189,220, + 95,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 207,207,12,12,12,118,12,12,11,269, - 111,82,12,269,43,132,169,12,202,12, - 12,32,263,256,80,80,269,269,59,269, - 240,11,182,132,12,12,12,12,182,11, - 74,132,30,74,39,269,62,207,199,30, - 74,269,269,34,51,190,142,190,30,269, - 161,12,12,130,269,135,125,12,269,269, - 165,165,182,240,43,12,12,150,150,150, - 150,12,12,28,182,207,55,118,12,239, - 182,190,190,269,190,269,177,221,269,242, - 269,215,269,57,173,169,74,12,88,12, - 140,165,165,192,43,74,240,207,207,207, - 207,153,153,182,269,163,12,150,118,200, - 12,12,269,269,45,190,169,43,12,242, - 264,12,85,32,242,221,111,177,57,196, - 47,125,74,74,173,12,130,67,215,207, - 207,12,55,153,74,98,200,45,45,12, - 160,135,12,12,130,43,12,169,196,42, - 12,215,12,231,215,130,130,11,163,207, - 98,205,242,269,169,23,12,207,130,215, - 242,269,147,47,11,153,11,215,215,207, - 221,100,72,125,169,215,203,213,156,12, - 74,12,169,12,12,12,12,157,12,240, - 167,169,169,240,105,207,11,11,39,43, - 207,269,161,203,169,103,12,12,157,12, - 157,279,279,226,12,279,169,169,12,269, - 43,269,169,39,157,207,125,207,271,269, - 12,207,213,72,207,207,269,157,12,157, - 169,125,150,157,103,43,105,105,123,74, - 12,218,169,207,69,71,157,207,169,69, - 12,157 + 220,220,12,12,12,198,12,12,11,257, + 142,154,12,257,132,215,125,12,69,12, + 12,99,251,259,137,137,257,257,57,257, + 230,11,212,215,12,12,12,12,212,11, + 84,215,41,84,48,257,66,220,202,41, + 84,257,257,43,51,165,152,165,41,179, + 135,12,12,28,257,145,23,12,257,257, + 157,157,212,230,132,12,12,162,162,162, + 162,12,12,39,212,220,34,198,12,229, + 212,165,165,257,165,257,190,257,179,246, + 257,271,257,194,186,125,84,12,79,12, + 150,157,157,274,132,84,230,220,220,220, + 220,181,181,212,257,172,12,162,198,203, + 12,12,257,257,107,165,125,232,257,12, + 246,252,12,134,99,142,190,194,120,205, + 23,84,84,186,12,28,209,271,220,220, + 12,34,181,84,95,203,107,107,12,132, + 246,232,178,145,12,12,28,12,125,120, + 131,12,271,12,103,271,28,28,11,172, + 220,95,218,132,246,257,125,55,12,220, + 28,271,246,257,159,205,11,181,11,271, + 271,220,232,115,82,23,125,271,70,118, + 174,12,84,12,125,12,12,12,12,175, + 12,230,123,125,125,230,72,220,11,11, + 48,132,220,257,179,70,125,97,12,12, + 175,12,175,282,282,266,12,282,125,125, + 12,257,132,257,125,48,175,220,23,220, + 278,257,12,220,118,82,220,220,257,175, + 12,175,125,23,162,175,97,132,72,72, + 21,84,12,222,125,220,75,81,175,220, + 125,75,12,175 }; }; public final static char nasb[] = Nasb.nasb; @@ -2068,35 +2017,35 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,122,149,148,5, - 2,0,108,0,5,2,9,10,139,0, - 75,0,184,0,4,195,0,2,136,65, - 0,156,0,5,10,9,2,13,4,45, - 0,4,67,0,127,0,172,5,171,0, - 65,138,137,0,143,0,159,0,2,65, - 0,4,177,0,175,0,193,0,162,0, - 67,130,40,5,10,9,2,13,0,109, - 0,65,49,0,40,1,0,191,0,153, - 188,0,13,2,9,10,5,83,0,4, - 30,0,114,0,40,56,0,49,5,90, - 4,22,0,174,0,95,94,49,5,58, - 0,32,95,94,64,2,9,10,4,5, - 0,44,2,0,4,10,9,2,64,5, - 90,49,0,153,183,0,48,40,179,4, - 39,0,4,97,0,67,39,48,68,4, - 40,0,141,0,110,0,4,39,38,0, - 95,94,49,64,58,5,10,9,2,0, - 44,2,3,0,32,94,95,4,0,62, - 0,5,102,192,0,40,160,0,2,116, - 0,40,104,0,45,4,32,0,4,45, - 196,0,161,0,2,57,0,4,178,0, - 117,4,48,82,0,39,4,22,181,0, - 5,102,168,0,5,10,9,13,3,1, - 0,4,48,82,84,0,2,5,122,118, - 119,120,13,87,0,4,48,82,102,46, - 5,0,38,5,2,9,10,158,4,0, - 45,4,180,0,4,45,39,0,4,45, - 103,0 + 3,13,10,9,152,150,120,149,148,5, + 2,0,175,0,42,1,0,75,0,32, + 93,92,64,2,9,10,4,5,0,4, + 45,196,0,143,0,4,195,0,2,136, + 65,0,5,10,9,2,13,4,45,0, + 65,138,137,0,184,0,2,65,0,5, + 2,9,10,139,0,4,177,0,122,102, + 0,42,56,0,162,0,106,0,191,0, + 67,130,42,5,10,9,2,13,0,13, + 2,9,10,5,81,0,112,0,156,0, + 174,0,5,100,168,0,126,0,153,183, + 0,153,188,0,4,30,0,161,0,42, + 160,0,4,39,38,0,4,45,39,0, + 4,67,0,1,122,0,107,0,49,5, + 88,4,22,0,4,10,9,2,64,5, + 88,49,0,65,49,0,108,0,48,42, + 179,4,39,0,62,0,32,92,93,4, + 0,141,0,67,39,48,68,4,42,0, + 4,95,0,93,92,49,64,58,5,10, + 9,2,0,159,0,93,92,49,5,58, + 0,2,114,0,172,5,171,0,193,0, + 44,2,3,0,44,2,0,45,4,32, + 0,4,178,0,5,10,9,13,3,1, + 0,115,4,48,80,0,2,5,120,116, + 117,118,13,85,0,4,48,80,82,0, + 38,5,2,9,10,158,4,0,4,48, + 80,100,46,5,0,39,4,22,181,0, + 2,57,0,5,100,192,0,45,4,180, + 0,4,45,101,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2127,16 +2076,16 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 130,135,136,0,0,134,0,0,229,235, 133,0,143,132,0,0,142,148,0,0, 149,180,158,159,160,161,162,163,164,151, - 165,126,166,141,167,168,0,128,131,129, - 169,0,138,137,152,177,0,0,0,0, + 165,126,166,141,167,168,0,128,131,169, + 0,129,138,137,152,177,0,0,0,0, 0,0,0,0,145,172,0,155,0,204, 0,187,201,205,0,0,127,171,0,0, 0,0,0,0,206,175,0,0,0,0, - 0,0,125,178,0,0,186,0,0,202, - 212,157,208,209,210,0,0,146,0,0, - 207,220,174,196,0,0,211,0,0,0, - 0,0,240,241,0,147,179,189,190,191, - 192,193,195,198,0,199,0,214,217,0, + 125,178,0,0,186,0,0,202,212,157, + 208,209,210,0,0,146,0,0,207,220, + 174,196,0,0,211,0,0,0,0,0, + 240,241,0,147,179,189,190,191,192,193, + 195,0,198,0,199,0,214,217,0,0, 219,0,238,239,0,0,139,140,144,0, 0,154,156,0,170,0,181,182,183,184, 185,188,0,0,194,0,197,203,0,215, @@ -2152,18 +2101,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopePrefix { public final static char scopePrefix[] = { - 159,585,604,309,536,552,563,574,368,267, - 281,303,316,329,42,292,388,426,167,593, - 479,20,51,71,80,85,90,130,195,298, - 322,337,342,144,273,287,507,27,144,378, - 342,612,27,217,246,1,14,61,76,106, - 347,357,361,444,472,501,528,532,622,626, - 630,97,7,97,406,422,435,456,520,116, - 116,232,435,543,559,570,581,207,490,56, + 159,587,606,304,311,538,554,565,576,370, + 267,281,298,318,331,42,292,390,428,167, + 595,481,20,51,71,80,85,90,130,195, + 324,339,344,144,273,287,509,27,144,380, + 344,614,27,217,246,1,14,61,76,106, + 349,359,363,446,474,503,530,534,624,628, + 632,97,7,97,408,424,437,458,522,116, + 116,232,437,545,561,572,583,207,492,56, 56,156,222,225,56,241,262,225,225,56, - 365,469,476,156,56,645,110,351,410,450, - 463,56,351,397,177,104,448,634,641,634, - 641,65,416,137,104,104,251 + 367,471,478,156,56,647,110,353,412,452, + 465,56,353,399,177,104,450,636,643,636, + 643,65,418,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2171,18 +2120,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,5,5,5,5,375,135, - 95,135,135,335,48,278,394,432,173,67, - 485,25,25,25,59,59,95,135,200,135, - 327,327,335,149,278,101,512,38,152,383, - 599,617,32,211,211,5,18,5,59,95, - 327,95,95,135,244,5,5,5,5,5, - 244,643,11,101,375,375,375,460,512,120, - 125,236,439,547,547,547,547,211,494,59, + 18,5,5,135,135,5,5,5,5,377, + 135,95,135,135,337,48,278,396,434,173, + 67,487,25,25,25,59,59,95,135,200, + 329,329,337,149,278,101,514,38,152,385, + 601,619,32,211,211,5,18,5,59,95, + 329,95,95,135,244,5,5,5,5,5, + 244,645,11,101,377,377,377,462,514,120, + 125,236,441,549,549,549,549,211,496,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,505,5,113,354,413,453, - 466,524,515,400,180,95,95,636,636,638, - 638,67,418,139,202,187,253 + 95,5,244,5,507,5,113,356,415,455, + 468,526,517,402,180,95,95,638,638,640, + 640,67,420,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2190,18 +2139,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,120,17,17,17,17,71,86, - 47,80,120,119,77,53,71,70,46,17, - 19,3,7,8,168,168,164,118,46,81, - 119,119,121,129,54,47,139,112,129,71, - 17,17,112,96,59,135,74,171,168,164, - 121,182,51,56,143,18,17,17,17,17, - 17,12,114,164,71,70,70,37,139,131, - 131,58,70,17,17,17,17,96,19,172, - 168,184,94,101,61,75,60,158,76,121, - 72,144,143,175,139,16,164,121,103,69, + 46,17,17,79,118,17,17,17,17,71, + 84,47,79,118,117,77,53,71,70,46, + 17,19,3,7,8,168,168,164,116,46, + 117,117,119,129,54,47,139,110,129,71, + 17,17,110,94,59,135,74,171,168,164, + 119,182,51,56,143,18,17,17,17,17, + 17,12,112,164,71,70,70,37,139,131, + 131,58,70,17,17,17,17,94,19,172, + 168,184,92,99,61,75,60,158,76,119, + 72,144,143,175,139,16,164,119,101,69, 21,139,139,71,46,164,66,137,44,137, - 44,171,103,118,46,46,59 + 44,171,101,116,46,46,59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2209,9 +2158,9 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,73,73,73,73,73,71, - 25,71,71,1,68,1,73,121,67,3, - 73,68,68,68,1,1,25,71,67,71, + 118,73,73,71,71,73,73,73,73,73, + 71,25,71,71,1,68,1,73,121,67, + 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,70,25, 1,1,68,73,73,73,118,73,1,25, 1,25,25,71,117,73,73,73,73,73, @@ -2228,18 +2177,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeStateSet { public final static char scopeStateSet[] = { - 76,234,234,146,234,234,234,234,86,67, - 76,65,146,146,65,78,86,86,76,234, - 234,166,210,210,53,53,62,146,76,65, - 146,146,146,297,78,76,101,313,297,86, - 234,234,313,305,150,46,86,26,53,62, - 146,22,78,29,56,234,234,234,234,234, - 234,214,6,62,86,86,86,266,101,146, - 146,106,86,234,234,234,234,305,234,26, + 65,234,234,87,146,234,234,234,234,75, + 89,65,87,146,146,87,67,75,75,65, + 234,234,166,210,210,53,53,62,146,65, + 146,146,146,297,67,65,101,313,297,75, + 234,234,313,305,150,46,75,26,53,62, + 146,22,67,29,56,234,234,234,234,234, + 234,214,6,62,75,75,75,266,101,146, + 146,106,75,234,234,234,234,305,234,26, 53,24,305,307,150,301,150,59,155,146, - 86,50,56,104,101,234,62,146,1,86, - 235,101,101,86,76,62,11,98,122,98, - 122,26,1,146,76,76,150 + 75,50,56,104,101,234,62,146,1,75, + 235,101,101,75,65,62,11,98,122,98, + 122,26,1,146,65,65,150 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2251,67 +2200,67 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 126,172,0,126,178,74,0,216,0,254, 126,55,124,0,20,0,295,126,55,41, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,41,204,0,20,178,0, + 0,295,126,55,41,202,0,20,178,0, 254,126,55,132,0,179,127,0,141,0, - 219,3,294,0,294,0,2,0,126,0, - 254,126,55,131,0,179,127,224,0,179, - 127,22,224,0,179,127,315,22,0,128, + 217,3,294,0,294,0,2,0,126,0, + 254,126,55,131,0,179,127,222,0,179, + 127,22,222,0,179,127,315,22,0,128, 187,166,127,0,128,0,187,166,127,0, 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,244,0,136, + 170,0,222,128,0,166,310,242,0,136, 0,0,0,0,135,0,0,0,0,309, - 126,162,253,0,127,0,253,0,129,0, - 0,127,0,308,126,162,252,0,127,0, + 126,164,253,0,127,0,253,0,129,0, + 0,127,0,308,126,164,252,0,127,0, 0,44,127,0,0,152,3,0,126,282, 281,126,74,280,170,0,281,126,74,280, 170,0,215,0,216,0,280,170,0,96, 0,0,215,0,216,0,203,96,0,0, 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,227,126,3,0, - 126,0,0,0,0,0,227,126,3,216, - 0,223,3,0,212,126,0,208,0,146, + 0,203,0,0,215,0,225,126,3,0, + 126,0,0,0,0,0,225,126,3,214, + 0,221,3,0,210,126,0,208,0,146, 0,171,166,127,0,10,0,0,0,0, - 214,63,0,125,0,227,126,3,182,0, + 212,63,0,125,0,225,126,3,182,0, 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,237,126,162,40, + 0,198,3,0,201,0,235,126,164,40, 28,0,179,127,59,62,0,196,128,0, 128,179,127,278,62,0,179,127,278,62, - 0,179,127,69,123,59,0,237,126,162, - 59,0,237,126,162,226,59,0,276,126, - 162,123,305,56,0,276,126,162,305,56, - 0,179,127,275,56,0,135,0,187,179, - 127,275,244,0,136,0,179,127,275,244, - 0,187,166,127,10,0,166,127,10,0, - 166,127,0,93,136,0,268,126,144,0, - 268,126,170,0,161,84,0,300,160,302, - 303,3,81,0,126,171,0,302,303,3, - 81,0,128,0,126,171,0,161,3,75, - 190,80,0,126,128,0,190,80,0,108, - 2,131,126,128,0,225,3,75,0,198, - 167,0,33,169,0,167,0,175,33,169, - 0,225,3,85,0,190,154,225,3,83, - 0,62,171,0,225,3,83,0,126,171, - 62,171,0,301,126,162,0,161,0,214, - 77,0,30,171,0,161,106,158,0,30, - 169,0,177,3,0,126,149,0,219,3, - 0,214,63,265,0,161,63,0,177,3, - 297,66,127,0,126,0,0,0,0,297, - 66,127,0,2,145,126,0,0,0,0, - 177,3,47,0,147,0,125,41,166,127, - 0,31,147,0,93,136,31,147,0,220, - 179,127,0,146,31,147,0,177,3,51, - 0,161,3,51,0,161,3,68,177,55, - 43,0,177,55,43,0,20,2,131,126, - 0,161,3,68,177,55,46,0,177,55, - 46,0,161,3,68,177,55,48,0,177, - 55,48,0,161,3,68,177,55,44,0, - 177,55,44,0,219,3,125,187,166,127, - 10,0,125,187,166,127,10,0,136,2, - 0,126,0,219,3,124,258,166,127,10, - 0,258,166,127,10,0,135,2,0,126, - 0,219,3,135,0,219,3,139,0,161, - 63,139,0,260,0,31,0,31,139,0, - 165,0,134,0,161,3,0 + 0,179,127,69,123,59,0,235,126,164, + 244,59,0,235,126,164,244,224,59,0, + 276,126,164,123,305,56,0,276,126,164, + 305,56,0,179,127,275,56,0,135,0, + 187,179,127,275,242,0,136,0,179,127, + 275,242,0,187,166,127,10,0,166,127, + 10,0,166,127,0,93,136,0,268,126, + 144,0,268,126,170,0,161,84,0,300, + 160,302,303,3,81,0,126,171,0,302, + 303,3,81,0,128,0,126,171,0,161, + 3,75,190,80,0,126,128,0,190,80, + 0,108,2,131,126,128,0,223,3,75, + 0,198,167,0,33,169,0,167,0,175, + 33,169,0,223,3,85,0,190,154,223, + 3,83,0,62,171,0,223,3,83,0, + 126,171,62,171,0,301,126,164,0,161, + 0,212,77,0,30,171,0,161,106,158, + 0,30,169,0,177,3,0,126,149,0, + 217,3,0,212,63,265,0,161,63,0, + 177,3,297,66,127,0,126,0,0,0, + 0,297,66,127,0,2,145,126,0,0, + 0,0,177,3,47,0,147,0,125,41, + 166,127,0,31,147,0,93,136,31,147, + 0,218,179,127,0,146,31,147,0,177, + 3,51,0,161,3,51,0,161,3,68, + 177,55,43,0,177,55,43,0,20,2, + 131,126,0,161,3,68,177,55,46,0, + 177,55,46,0,161,3,68,177,55,48, + 0,177,55,48,0,161,3,68,177,55, + 44,0,177,55,44,0,217,3,125,187, + 166,127,10,0,125,187,166,127,10,0, + 136,2,0,126,0,217,3,124,258,166, + 127,10,0,258,166,127,10,0,135,2, + 0,126,0,217,3,135,0,217,3,139, + 0,161,63,139,0,260,0,31,0,31, + 139,0,165,0,134,0,161,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2319,38 +2268,38 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeState { public final static char scopeState[] = {0, - 4795,4892,4885,4880,0,1549,3482,1463,3397,0, - 3586,3531,3476,3374,3337,3292,3255,3210,3173,2882, - 2845,3735,0,594,0,2683,784,0,3586,3531, - 2461,2430,3476,3374,3337,3292,3255,3210,2264,3173, - 2882,2845,3312,3073,0,1448,1082,744,0,2924, - 2902,0,3743,3014,0,2859,817,0,4654,4569, - 0,4590,4545,0,4590,4545,3848,4351,4341,3742, - 4258,4248,4238,3732,0,4590,4545,3848,4351,4341, - 3742,4258,4248,4238,3732,3586,3531,3476,3374,3337, - 3292,3255,3210,3173,2882,2845,0,2947,796,0, - 669,581,0,915,0,2378,4470,4755,4555,4457, - 3797,2633,1178,4508,3005,2464,2981,2409,4451,2851, - 0,4772,4767,4748,4737,4722,4702,4685,4677,4869, - 4861,4856,4673,4562,3435,3431,2814,4844,4787,2994, - 4366,2673,2518,2507,0,537,4522,2972,0,4470, - 4654,4457,4569,2981,2957,3449,4483,2801,2378,3829, - 4438,2633,2473,2396,0,2677,2493,4772,4767,4748, - 2392,792,4737,627,4722,4702,4685,2887,4677,2878, - 2712,2702,2698,3188,4869,2570,4861,2553,4856,3517, - 4673,4562,2448,3435,3431,740,2814,4844,2905,4787, - 2994,4366,2432,2673,2518,4522,2507,736,2972,2415, - 2182,2094,1405,2957,3449,4483,2801,2378,4470,3829, - 4654,4457,4438,2633,4569,2268,941,804,669,581, - 2981,2473,2396,4217,4195,4173,2232,2282,2348,2316, - 2605,2577,595,3151,3125,2818,2746,2719,2646,3710, - 3686,631,3661,2773,4151,4129,4107,4085,4063,4041, - 4019,3997,3966,3935,3866,1975,2194,2144,2106,2056, - 2018,1050,883,1932,1889,1275,827,746,690,1846, - 1803,1760,1717,1674,1631,1588,1545,1502,1459,1416, - 537,1232,1187,1356,1318,1144,1005,962,1096,0, - 1230,1191,798,585,2464,2981,2957,3004,2473,3104, - 2396,0,4832,3350,3477,2453,0 + 4676,4770,4758,4745,0,1281,1590,1056,1548,0, + 3485,3448,3363,3261,3224,3179,3142,3097,3060,2764, + 2727,4467,0,779,0,4032,3236,0,3485,3448, + 1576,1395,3363,3261,3224,3179,3142,3097,882,3060, + 2764,2727,4271,1954,0,1532,1490,1309,0,3302, + 2763,0,1223,4661,0,816,646,0,4450,4239, + 0,4481,4422,0,4481,4422,4019,4395,4356,4009, + 4336,4297,4000,4232,3485,3448,3363,3261,3224,3179, + 3142,3097,3060,2764,2727,0,4481,4422,4019,4395, + 4356,4009,4336,4297,4000,4232,0,2446,729,0, + 943,803,0,559,0,2389,4148,3398,4218,4135, + 732,2515,2480,3476,3369,3066,2917,2482,1041,870, + 0,4650,4639,4635,4628,4624,4613,4589,4562,4735, + 4722,4716,4540,4536,4512,4491,4328,4710,4699,3318, + 4320,4185,3420,3322,0,537,4176,2854,0,4148, + 4450,4135,4239,2917,2839,3336,4161,2684,2389,3657, + 603,2515,584,2403,0,3817,3120,4650,4639,4635, + 2750,2505,4628,934,4624,4613,4589,4005,4562,3722, + 2961,2593,2168,3091,4735,2086,4722,2082,4716,4042, + 4540,4536,649,4512,4491,625,4328,4710,4015,4699, + 3318,4320,3255,4185,3420,4176,3322,579,2854,3078, + 3067,2987,2252,2839,3336,4161,2684,2389,4148,3657, + 4450,4135,603,2515,4239,1447,629,2946,943,803, + 2917,584,2403,3979,3957,3935,2216,2264,2330,2298, + 2542,2416,2360,3038,3012,2700,2653,2626,2599,3633, + 3609,3585,3560,2863,3913,3891,3869,3847,3825,3795, + 3773,3751,3729,3692,3670,1964,2178,2130,2092,2044, + 2006,1095,885,1922,1880,1319,828,747,690,1838, + 1796,1754,1712,1670,1628,1586,1544,1502,1460,1405, + 537,1277,1231,1361,1052,1189,1007,964,1146,0, + 1011,923,796,583,3066,2917,2839,2730,584,3284, + 2403,0,4599,2488,4598,1125,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2358,61 +2307,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface InSymb { public final static char inSymb[] = {0, - 0,296,41,10,39,55,230,230,126,69, - 69,295,144,126,167,68,70,69,223,198, - 63,216,217,186,182,5,124,131,7,132, - 127,4,3,126,269,270,253,271,244,272, + 0,296,41,10,39,55,228,228,126,69, + 69,295,144,126,167,68,70,69,221,198, + 63,214,215,186,182,5,124,131,7,132, + 127,4,3,126,269,270,253,271,242,272, 56,273,274,124,10,127,126,3,39,51, 43,46,48,44,10,135,3,127,47,42, 5,36,35,6,9,38,37,139,145,147, 146,149,148,151,150,155,153,157,61,158, - 69,69,214,158,3,3,124,123,55,55, - 167,63,3,65,66,55,179,165,166,223, - 198,126,212,127,171,162,310,275,305,275, - 127,179,166,212,126,230,3,55,55,55, + 69,69,212,158,3,3,124,123,55,55, + 167,63,3,65,66,55,179,165,166,221, + 198,126,210,127,171,164,310,275,305,275, + 127,179,166,210,126,228,3,55,55,55, 55,127,3,177,161,126,65,66,166,3, 125,105,119,3,63,89,91,36,35,93, 92,6,95,94,68,55,87,88,9,97, 96,99,98,100,116,115,114,113,112,111, 110,109,108,107,69,106,101,126,126,126, - 126,126,63,63,126,4,187,227,228,229, - 127,166,9,6,126,166,230,125,124,127, - 123,162,127,166,41,69,177,161,177,177, - 177,177,166,219,126,154,267,135,125,124, - 10,127,63,297,3,177,41,127,41,219, + 126,126,63,63,126,4,187,225,226,227, + 127,166,9,6,126,166,228,125,124,127, + 123,164,127,166,41,69,177,161,177,177, + 177,177,166,217,126,154,267,135,125,124, + 10,127,63,297,3,177,41,127,41,217, 161,146,146,145,145,145,148,148,148,148, 147,147,150,149,149,153,151,155,161,157, - 227,227,254,256,254,212,254,260,187,154, - 70,166,171,171,309,127,168,224,59,41, - 204,62,170,312,125,124,231,231,179,162, + 225,225,254,256,254,210,254,260,187,154, + 70,166,171,171,309,127,168,222,59,41, + 202,62,170,312,125,124,229,229,179,164, 126,179,187,127,68,68,68,68,187,258, - 70,127,166,205,3,298,167,152,179,166, - 72,154,154,70,4,126,6,126,166,162, - 226,55,41,278,280,126,3,182,231,231, + 70,127,166,203,3,298,167,152,179,166, + 72,154,154,70,4,126,6,126,166,244, + 224,55,41,278,280,126,3,182,229,229, 126,126,187,126,276,123,277,3,3,3, - 3,125,124,166,41,177,126,126,220,5, - 41,126,126,221,184,171,187,126,162,68, - 55,127,74,126,212,311,72,289,198,124, + 3,125,124,166,41,177,126,126,218,5, + 41,126,126,219,184,171,187,164,244,68, + 55,127,74,126,210,311,72,289,198,124, 126,126,126,72,276,69,70,161,161,161, 161,3,3,187,154,262,265,63,180,4, - 123,125,221,221,126,126,128,237,28,41, - 170,64,59,62,239,126,126,179,126,281, - 72,70,72,69,212,314,224,22,127,219, - 219,125,126,3,63,161,4,126,126,61, - 40,126,3,123,59,237,295,128,281,162, - 293,127,294,70,127,22,315,179,262,219, - 214,3,126,162,268,248,279,40,69,127, - 68,282,126,70,179,3,179,127,127,320, - 126,3,69,70,154,127,179,126,301,79, - 77,1,161,8,85,83,81,80,75,82, - 84,78,76,59,74,219,179,179,70,237, - 152,162,252,179,226,283,118,8,72,214, - 72,3,3,3,190,3,123,161,123,178, - 126,162,226,3,72,225,167,225,303,144, - 75,225,126,126,90,319,167,154,198,154, - 302,126,3,154,283,308,154,154,126,69, - 190,160,268,161,189,70,121,300,154,189, - 8,154 + 123,125,219,219,126,126,128,126,164,28, + 41,170,64,59,62,126,179,126,281,72, + 70,72,69,210,314,222,22,127,217,217, + 125,126,3,63,161,4,126,126,61,235, + 237,126,40,126,3,123,59,295,128,281, + 164,293,127,294,70,127,22,315,179,262, + 217,212,3,235,126,164,268,247,279,40, + 69,127,68,282,126,70,179,3,179,127, + 127,320,126,3,69,70,154,127,179,126, + 301,79,77,1,161,8,85,83,81,80, + 75,82,84,78,76,59,74,217,179,179, + 70,235,152,164,252,179,224,283,118,8, + 72,212,72,3,3,3,190,3,123,161, + 123,178,126,164,224,3,72,223,167,223, + 303,144,75,223,126,126,90,319,167,154, + 198,154,302,126,3,154,283,308,154,154, + 126,69,190,160,268,161,189,70,121,300, + 154,189,8,154 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2644,7 +2593,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par "function_body", "handler_seq", "initializer_clause", - "initializer_list", + "initializer_seq", "class_head", "access_specifier_keyword", "member_declaration", @@ -2687,20 +2636,20 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 6046, + LA_STATE_OFFSET = 5787, MAX_LA = 2147483647, NUM_RULES = 536, NUM_NONTERMINALS = 202, NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 2453, + START_STATE = 1125, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5145, - ERROR_ACTION = 5510; + ACCEPT_ACTION = 4886, + ERROR_ACTION = 5251; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java index 8c9d4fbbddd..d539fa17a7d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java @@ -178,23 +178,22 @@ private GCCBuildASTParserAction action; private IASTCompletionNode compNode; -public GCCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public GCCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); gnuAction = new GNUBuildASTParserAction (this, astStack, CNodeFactory.getDefault() ); - gnuAction.setParserOptions(options); - //gnuAction.setBaseAction(action); + gnuAction.setParserProperties(properties); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java index 91e4c96d40e..e766e4d3f00 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java @@ -182,23 +182,22 @@ private GCCBuildASTParserAction action; private IASTCompletionNode compNode; -public GCCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public GCCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new GCCBuildASTParserAction (this, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); gnuAction = new GNUBuildASTParserAction (this, astStack, CNodeFactory.getDefault() ); - gnuAction.setParserOptions(options); - //gnuAction.setBaseAction(action); + gnuAction.setParserProperties(properties); } @@ -254,8 +253,8 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, GCCSizeofExpressionParsersym.TK_EOF_TOKEN)); } -public GCCSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); +public GCCSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); tokenMap = new TokenMap(GCCSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java index 86aaa4f7cfe..df1ab27bc1d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java @@ -180,23 +180,22 @@ private GPPBuildASTParserAction action; private IASTCompletionNode compNode; -public GPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public GPPParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new GPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , GPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); gnuAction = new GNUBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() ); - gnuAction.setParserOptions(options); - //gnuAction.setBaseAction(action); + gnuAction.setParserProperties(properties); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java index c26aacffffa..d9ebd9a147d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java @@ -184,23 +184,22 @@ private GPPBuildASTParserAction action; private IASTCompletionNode compNode; -public GPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Set<IParser.Options> options) { - initActions(options); +public GPPSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) { + initActions(properties); action.initializeTranslationUnit(scanner, builtinBindingsProvider, index); CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap); } -private void initActions(Set<IParser.Options> options) { +private void initActions(Map<String,String> properties) { ScopedStack<Object> astStack = new ScopedStack<Object>(); action = new GPPBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() , GPPSecondaryParserFactory.getDefault() ); - action.setParserOptions(options); + action.setParserProperties(properties); gnuAction = new GNUBuildASTParserAction (this, astStack, CPPNodeFactory.getDefault() ); - gnuAction.setParserOptions(options); - //gnuAction.setBaseAction(action); + gnuAction.setParserProperties(properties); } @@ -256,8 +255,8 @@ public void setTokens(List<IToken> tokens) { addToken(new Token(null, 0, 0, GPPSizeofExpressionParsersym.TK_EOF_TOKEN)); } -public GPPSizeofExpressionParser(ITokenStream stream, Set<IParser.Options> options) { // constructor for creating secondary parser - initActions(options); +public GPPSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser + initActions(properties); tokenMap = new TokenMap(GPPSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols()); } |