Skip to main content
summaryrefslogtreecommitdiffstats
path: root/xlc
diff options
context:
space:
mode:
authorMike Kucera2009-04-22 11:26:09 -0400
committerMike Kucera2009-04-22 11:26:09 -0400
commit6262b1fe81c053963220e980a42a83edc02e7f3d (patch)
treee8febb8e675eed8ee44bf134efb7f4f360c96425 /xlc
parent91657617cbb6a860aae6a1180144463fdd411c90 (diff)
downloadorg.eclipse.cdt-6262b1fe81c053963220e980a42a83edc02e7f3d.tar.gz
org.eclipse.cdt-6262b1fe81c053963220e980a42a83edc02e7f3d.tar.xz
org.eclipse.cdt-6262b1fe81c053963220e980a42a83edc02e7f3d.zip
[273283] [XLC Parser] support _Complex and restrict keywords in C++
Diffstat (limited to 'xlc')
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XLCExtensionsTest.java18
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g17
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java12
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java19
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java5
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java3
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java79
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcScannerExtensionConfiguration.java4
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java41
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java (renamed from xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPreferenceKeys.java)21
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java576
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java5449
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java134
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java49
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java26
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java75
17 files changed, 3384 insertions, 3150 deletions
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XLCExtensionsTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XLCExtensionsTest.java
index 2a90e5d129..f84eefdb0c 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XLCExtensionsTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XLCExtensionsTest.java
@@ -10,6 +10,9 @@
*******************************************************************************/
package org.eclipse.cdt.core.parser.xlc.tests;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
+
public class XLCExtensionsTest extends XLCTestBase {
@@ -218,11 +221,18 @@ public class XLCExtensionsTest extends XLCTestBase {
parse(code, getCLanguage(), true);
}
- public void testRestrictCPP() {
+
+ public void testRestrictCPPOn() {
+ String code =
+ "void foo(int n, int * restrict a, int * __restrict b, int * __restrict__ c) {} ";
+
+ parse(code, getCPPLanguage(), true);
+ }
+ public void testRestrictCPPOff() {
+ XlcLanguagePreferences.setWorkspacePreference(XlcPref.SUPPORT_RESTRICT_IN_CPP, String.valueOf(false));
String code =
"void restrict(); \n " +
- "void __restrict(); \n " +
- "void __restrict__(); \n ";
+ "void foo(int n, int * __restrict b, int * __restrict__ c) {} ";
parse(code, getCPPLanguage(), true);
}
@@ -244,7 +254,7 @@ public class XLCExtensionsTest extends XLCTestBase {
}
- public void testFloatingPoingTypes() {
+ public void testFloatingPointTypes() {
String code =
" _Decimal32 x = 22.2df; \n " +
" _Decimal64 y = 33.3dd; \n " +
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g
index 9e57880a5f..dbcd362928 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g
@@ -38,12 +38,29 @@ $Define
$End
+
+
+$Terminals
+
+ _Complex
+ restrict
+
+$End
+
+
$Start
translation_unit
$End
+
$Rules
+simple_type_specifier_token
+ ::= '_Complex'
+
+cv_qualifier
+ ::= 'restrict'
+
block_declaration
::= vector_declaration
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
index 0a8f82d670..08191fa99f 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCLanguage.java
@@ -10,6 +10,9 @@
*******************************************************************************/
package org.eclipse.cdt.core.lrparser.xlc;
+import static org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage.getPref;
+import static org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage.getProject;
+
import java.util.Map;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
@@ -17,8 +20,7 @@ import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
import org.eclipse.cdt.core.index.IIndex;
-import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
-import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPreferenceKeys;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParser;
@@ -40,9 +42,9 @@ public class XlcCLanguage extends GCCLanguage {
@Override
protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) {
- IProject project = XlcCPPLanguage.getProject(properties);
- boolean supportVectors = Boolean.valueOf(XlcLanguagePreferences.get(XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES, project));
- boolean supportDecimals = Boolean.valueOf(XlcLanguagePreferences.get(XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project));
+ IProject project = getProject(properties);
+ boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
+ boolean supportDecimals = getPref(XlcPref.SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project);
return new XlcCParser(scanner, new XlcCTokenMap(supportVectors, supportDecimals), getBuiltinBindingsProvider(), index, properties);
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
index 047b880592..bf75df8f56 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPLanguage.java
@@ -13,13 +13,14 @@ package org.eclipse.cdt.core.lrparser.xlc;
import java.util.Map;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.LRParserProperties;
import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
-import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPreferenceKeys;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParser;
@@ -57,17 +58,25 @@ public class XlcCPPLanguage extends GPPLanguage {
}
+ static boolean getPref(XlcPref key, IProject project) {
+ return Boolean.valueOf(XlcLanguagePreferences.get(key, project));
+ }
+
+
@Override
protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) {
IProject project = getProject(properties);
- boolean supportVectors = Boolean.valueOf(XlcLanguagePreferences.get(XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES, project));
- boolean supportDecimals = Boolean.valueOf(XlcLanguagePreferences.get(XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project));
+ boolean supportVectors = getPref(XlcPref.SUPPORT_VECTOR_TYPES, project);
+ boolean supportDecimals = getPref(XlcPref.SUPPORT_DECIMAL_FLOATING_POINT_TYPES, project);
+ boolean supportComplex = getPref(XlcPref.SUPPORT_COMPLEX_IN_CPP, project);
+ boolean supportRestrict = getPref(XlcPref.SUPPORT_RESTRICT_IN_CPP, project);
+ IDOMTokenMap tokenMap = new XlcCPPTokenMap(supportVectors, supportDecimals, supportComplex, supportRestrict);
-
- XlcCPPParser parser = new XlcCPPParser(scanner, new XlcCPPTokenMap(supportVectors, supportDecimals), getBuiltinBindingsProvider(), index, properties);
+ XlcCPPParser parser = new XlcCPPParser(scanner, tokenMap, getBuiltinBindingsProvider(), index, properties);
return parser;
}
+
public String getId() {
return ID;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
index 49e9a9b456..77589220d1 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCPPTokenMap.java
@@ -16,7 +16,6 @@ import static org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym.*;
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.parser.IGCCToken;
import org.eclipse.cdt.core.parser.IToken;
-import org.eclipse.cdt.core.parser.ParserLanguage;
/**
* Maps tokens types returned by CPreprocessor to token types
@@ -28,8 +27,8 @@ public class XlcCPPTokenMap implements IDOMTokenMap {
private final XlcKeywords keywordMap;
- public XlcCPPTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint) {
- keywordMap = new XlcKeywords(ParserLanguage.CPP, supportVectors, supportDecimalFloatingPoint);
+ public XlcCPPTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint, boolean supportComplex, boolean supportRestrict) {
+ keywordMap = XlcKeywords.createCPP(supportVectors, supportDecimalFloatingPoint, supportComplex, supportRestrict);
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
index 03c3820158..909e5222cc 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcCTokenMap.java
@@ -16,7 +16,6 @@ import static org.eclipse.cdt.internal.core.lrparser.xlc.c.XlcCParsersym.*;
import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.parser.IGCCToken;
import org.eclipse.cdt.core.parser.IToken;
-import org.eclipse.cdt.core.parser.ParserLanguage;
/**
* Maps tokens types returned by CPreprocessor to token types
@@ -29,7 +28,7 @@ public final class XlcCTokenMap implements IDOMTokenMap {
private final XlcKeywords keywordMap;
public XlcCTokenMap(boolean supportVectors, boolean supportDecimalFloatingPoint) {
- keywordMap = new XlcKeywords(ParserLanguage.C, supportVectors, supportDecimalFloatingPoint);
+ keywordMap = XlcKeywords.createC(supportVectors, supportDecimalFloatingPoint);
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
index aee276b47c..15661bd11d 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java
@@ -23,46 +23,63 @@ import org.eclipse.cdt.internal.core.lrparser.xlc.cpp.XlcCPPParsersym;
public class XlcKeywords extends CLanguageKeywords {
- public static final XlcKeywords ALL_C_KEYWORDS = new XlcKeywords(ParserLanguage.C, true, true);
- public static final XlcKeywords ALL_CPP_KEYWORDS = new XlcKeywords(ParserLanguage.CPP, true, true);
+ public static final XlcKeywords ALL_C_KEYWORDS = createC(true, true);
+ public static final XlcKeywords ALL_CPP_KEYWORDS = createCPP(true, true, true, true);
private final CharArrayMap<Integer> map = new CharArrayMap<Integer>();
private final ParserLanguage language;
private String[] allKeywords = null;
- public XlcKeywords(ParserLanguage language, boolean supportVectors, boolean supportDeclimalFloatingPoint) {
- super(language, XlcScannerExtensionConfiguration.getInstance());
- this.language = language;
-
- if(language.isCPP()) {
- if(supportVectors) {
- map.put("vector".toCharArray(), XlcCPPParsersym.TK_vector);
- map.put("__vector".toCharArray(), XlcCPPParsersym.TK_vector);
- map.put("pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
- map.put("__pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
- }
- if(supportDeclimalFloatingPoint) {
- map.put("_Decimal32".toCharArray(), XlcCPPParsersym.TK__Decimal32);
- map.put("_Decimal64".toCharArray(), XlcCPPParsersym.TK__Decimal64);
- map.put("_Decimal128".toCharArray(), XlcCPPParsersym.TK__Decimal128);
- }
+
+ public static XlcKeywords createC(boolean supportVectors, boolean supportDecimalFloatingPoint) {
+ XlcKeywords keywords = new XlcKeywords(ParserLanguage.C);
+ CharArrayMap<Integer> map = keywords.map;
+ if(supportVectors) {
+ map.put("vector".toCharArray(), XlcCParsersym.TK_vector);
+ map.put("__vector".toCharArray(), XlcCParsersym.TK_vector);
+ map.put("pixel".toCharArray(), XlcCParsersym.TK_pixel);
+ map.put("__pixel".toCharArray(), XlcCParsersym.TK_pixel);
+ map.put("bool".toCharArray(), XlcCParsersym.TK_bool);
}
- else {
- if(supportVectors) {
- map.put("vector".toCharArray(), XlcCParsersym.TK_vector);
- map.put("__vector".toCharArray(), XlcCParsersym.TK_vector);
- map.put("pixel".toCharArray(), XlcCParsersym.TK_pixel);
- map.put("__pixel".toCharArray(), XlcCParsersym.TK_pixel);
- map.put("bool".toCharArray(), XlcCParsersym.TK_bool);
- }
- if(supportDeclimalFloatingPoint) {
- map.put("_Decimal32".toCharArray(), XlcCParsersym.TK__Decimal32);
- map.put("_Decimal64".toCharArray(), XlcCParsersym.TK__Decimal64);
- map.put("_Decimal128".toCharArray(), XlcCParsersym.TK__Decimal128);
- }
+ if(supportDecimalFloatingPoint) {
+ map.put("_Decimal32".toCharArray(), XlcCParsersym.TK__Decimal32);
+ map.put("_Decimal64".toCharArray(), XlcCParsersym.TK__Decimal64);
+ map.put("_Decimal128".toCharArray(), XlcCParsersym.TK__Decimal128);
+ }
+ return keywords;
+ }
+
+ public static XlcKeywords createCPP(boolean supportVectors, boolean supportDecimalFloatingPoint, boolean supportComplex, boolean supportRestrict) {
+ XlcKeywords keywords = new XlcKeywords(ParserLanguage.CPP);
+ CharArrayMap<Integer> map = keywords.map;
+ if(supportVectors) {
+ map.put("vector".toCharArray(), XlcCPPParsersym.TK_vector);
+ map.put("__vector".toCharArray(), XlcCPPParsersym.TK_vector);
+ map.put("pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
+ map.put("__pixel".toCharArray(), XlcCPPParsersym.TK_pixel);
+ }
+ if(supportDecimalFloatingPoint) {
+ map.put("_Decimal32".toCharArray(), XlcCPPParsersym.TK__Decimal32);
+ map.put("_Decimal64".toCharArray(), XlcCPPParsersym.TK__Decimal64);
+ map.put("_Decimal128".toCharArray(), XlcCPPParsersym.TK__Decimal128);
+ }
+ if(supportComplex) {
+ map.put("_Complex".toCharArray(), XlcCPPParsersym.TK__Complex);
+ }
+ if(supportRestrict) {
+ map.put("restrict".toCharArray(), XlcCPPParsersym.TK_restrict);
+ map.put("__restrict".toCharArray(), XlcCPPParsersym.TK_restrict);
+ map.put("__restrict__".toCharArray(), XlcCPPParsersym.TK_restrict);
}
+ return keywords;
+ }
+
+
+ private XlcKeywords(ParserLanguage language) {
+ super(language, XlcScannerExtensionConfiguration.getInstance());
+ this.language = language;
}
/**
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcScannerExtensionConfiguration.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcScannerExtensionConfiguration.java
index cc4ab63b2c..632d7aa600 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcScannerExtensionConfiguration.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcScannerExtensionConfiguration.java
@@ -30,4 +30,8 @@ public class XlcScannerExtensionConfiguration extends GCCScannerExtensionConfigu
return true;
}
+ @Override
+ public char[] supportAdditionalNumericLiteralSuffixes() {
+ return "dfl".toCharArray(); //$NON-NLS-1$
+ }
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
index 822a85fb93..1e20148304 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcLanguagePreferences.java
@@ -31,47 +31,48 @@ public class XlcLanguagePreferences {
static void initializeDefaultPreferences() {
- Preferences prefs = getDefaultPreferences();
- prefs.putBoolean(XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES, true);
- prefs.putBoolean(XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES, true);
+ Preferences defaultNode = getDefaultPreferences();
+
+ for(XlcPref p : XlcPref.values()) {
+ defaultNode.put(p.toString(), p.getDefaultValue());
+ }
}
- public static void setProjectPreference(String key, String value, IProject project) {
- getProjectPreferences(project).put(key, value);
- }
- public static void setWorkspacePreference(String key, String value) {
- getWorkspacePreferences().put(key, value);
+ public static void setProjectPreference(XlcPref key, String value, IProject project) {
+ getProjectPreferences(project).put(key.toString(), value);
}
-
- public static String getProjectPreference(String key, IProject project) {
- return getProjectPreferences(project).get(key, null);
+ public static void setWorkspacePreference(XlcPref key, String value) {
+ getWorkspacePreferences().put(key.toString(), value);
}
+
+
+ public static String getProjectPreference(XlcPref key, IProject project) {
+ return getProjectPreferences(project).get(key.toString(), null);
+ }
- public static String getWorkspacePreference(String key) {
- return getWorkspacePreferences().get(key, null);
+ public static String getWorkspacePreference(XlcPref key) {
+ return getWorkspacePreferences().get(key.toString(), null);
}
- public static String getDefaultPreference(String key) {
- return getDefaultPreferences().get(key, null);
+ public static String getDefaultPreference(XlcPref key) {
+ return getDefaultPreferences().get(key.toString(), null);
}
-
-
/**
* Returns the preference for the given key.
*
* @param project If null then just the workspace and default preferences will be checked.
*/
- public static String get(String key, IProject project) {
- return Platform.getPreferencesService().get(key, null, getPreferences(key, project));
+ public static String get(XlcPref key, IProject project) {
+ return Platform.getPreferencesService().get(key.toString(), null, getPreferences(project));
}
- private static Preferences[] getPreferences(String key, IProject project) {
+ private static Preferences[] getPreferences(IProject project) {
if(project == null) {
return new Preferences[] {
getWorkspacePreferences(),
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPreferenceKeys.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java
index 1b60d41c9b..9900b575e5 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPreferenceKeys.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/preferences/XlcPref.java
@@ -11,12 +11,25 @@
package org.eclipse.cdt.core.lrparser.xlc.preferences;
-public final class XlcPreferenceKeys {
+public enum XlcPref {
- private XlcPreferenceKeys() {}
- public static final String KEY_SUPPORT_VECTOR_TYPES = "vectorTypes";
+ SUPPORT_VECTOR_TYPES("true"),
+ SUPPORT_DECIMAL_FLOATING_POINT_TYPES("true"),
+ SUPPORT_COMPLEX_IN_CPP("true"),
+ SUPPORT_RESTRICT_IN_CPP("true");
- public static final String KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES = "floatingPointTypes";
+
+ private final String defaultVal;
+
+ private XlcPref(String defaultVal) {
+ this.defaultVal = defaultVal;
+ }
+
+ public String getDefaultValue() {
+ return defaultVal;
+ }
}
+
+
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
index b14b133168..539b27d1e5 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
@@ -1216,867 +1216,867 @@ private GNUBuildASTParserAction gnuAction;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 287: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 288: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 294: enumerator_definition ::= identifier_token
//
- case 292: { action. consumeEnumerator(false); break;
+ case 294: { action. consumeEnumerator(false); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 295: enumerator_definition ::= identifier_token = constant_expression
//
- case 293: { action. consumeEnumerator(true); break;
+ case 295: { action. consumeEnumerator(true); break;
}
//
- // Rule 295: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 295: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 296: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt }
//
- case 296: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceAliasDefinition(); break;
+ case 300: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeUsingDeclaration(); break;
+ case 301: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: typename_opt ::= typename
+ // Rule 302: typename_opt ::= typename
//
- case 300: { action. consumePlaceHolder(); break;
+ case 302: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= $Empty
+ // Rule 303: typename_opt ::= $Empty
//
- case 301: { action. consumeEmpty(); break;
+ case 303: { action. consumeEmpty(); break;
}
//
- // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeUsingDirective(); break;
+ case 304: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action. consumeLinkageSpecification(); break;
+ case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 304: { action. consumeLinkageSpecification(); break;
+ case 306: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 309: init_declarator_complete ::= init_declarator
+ // Rule 311: init_declarator_complete ::= init_declarator
//
- case 309: { action. consumeInitDeclaratorComplete(); break;
+ case 311: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 311: init_declarator ::= complete_declarator initializer
+ // Rule 313: init_declarator ::= complete_declarator initializer
//
- case 311: { action. consumeDeclaratorWithInitializer(true); break;
+ case 313: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action. consumeDeclaratorWithPointer(true); break;
+ case 316: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 318: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 320: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= declarator_id_name
//
- case 320: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 322: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 321: basic_direct_declarator ::= ( declarator )
+ // Rule 323: basic_direct_declarator ::= ( declarator )
//
- case 321: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { 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 324: 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 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ constant_expression ]
//
- case 325: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 326: array_modifier ::= [ ]
+ // Rule 328: array_modifier ::= [ ]
//
- case 326: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 327: { action. consumePointer(); break;
+ case 329: { action. consumePointer(); break;
}
//
- // Rule 328: ptr_operator ::= pointer_hook & pointer_hook
+ // Rule 330: ptr_operator ::= pointer_hook & pointer_hook
//
- case 328: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumeReferenceOperator(); break;
}
//
- // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
+ // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt
//
- case 329: { action. consumePointerToMember(); break;
+ case 331: { action. consumePointerToMember(); break;
}
//
- // Rule 336: cv_qualifier ::= const
+ // Rule 338: cv_qualifier ::= const
//
- case 336: { action. consumeToken(); break;
+ case 338: { action. consumeToken(); break;
}
//
- // Rule 337: cv_qualifier ::= volatile
+ // Rule 339: cv_qualifier ::= volatile
//
- case 337: { action. consumeToken(); break;
+ case 339: { action. consumeToken(); break;
}
//
- // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 339: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeQualifiedId(false); break;
}
//
- // Rule 340: type_id ::= type_specifier_seq
+ // Rule 342: type_id ::= type_specifier_seq
//
- case 340: { action. consumeTypeId(false); break;
+ case 342: { action. consumeTypeId(false); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 343: type_id ::= type_specifier_seq abstract_declarator
//
- case 341: { action. consumeTypeId(true); break;
+ case 343: { action. consumeTypeId(true); break;
}
//
- // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 344: { action. consumeDeclaratorWithPointer(false); break;
+ case 346: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 345: { action. consumeDeclaratorWithPointer(true); break;
+ case 347: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 349: { action. consumeDirectDeclaratorBracketed(); break;
+ case 351: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 350: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: basic_direct_abstract_declarator ::= ( )
//
- case 350: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= array_modifier
//
- case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { 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 356: 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 356: { 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 357: 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 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 356: { action. consumePlaceHolder(); break;
+ case 358: { action. consumePlaceHolder(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 357: { action. consumeEmpty(); break;
+ case 359: { action. consumeEmpty(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 358: { action. consumePlaceHolder(); break;
+ case 360: { action. consumePlaceHolder(); break;
}
//
- // Rule 364: abstract_declarator_opt ::= $Empty
+ // Rule 366: abstract_declarator_opt ::= $Empty
//
- case 364: { action. consumeEmpty(); break;
+ case 366: { action. consumeEmpty(); break;
}
//
- // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 365: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 366: parameter_declaration ::= declaration_specifiers
+ // Rule 368: parameter_declaration ::= declaration_specifiers
//
- case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 368: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 371: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_init_declarator ::= = parameter_initializer
//
- case 371: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 372: parameter_initializer ::= assignment_expression
+ // Rule 374: parameter_initializer ::= assignment_expression
//
- case 372: { action. consumeInitializer(); break;
+ case 374: { action. consumeInitializer(); break;
}
//
- // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 373: { action. consumeFunctionDefinition(false); break;
+ case 375: { 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 376: 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 376: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 377: initializer ::= ( expression_list )
+ // Rule 379: initializer ::= ( expression_list )
//
- case 377: { action. consumeInitializerConstructor(); break;
+ case 379: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 378: initializer_clause ::= assignment_expression
+ // Rule 380: initializer_clause ::= assignment_expression
//
- case 378: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializer(); break;
}
//
- // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
+ // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
//
- case 380: { action. consumeInitializerList(); break;
+ case 382: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
+ // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list
//
- case 381: { action. consumeInitializerList(); break;
+ case 383: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_list ::= { <openscope-ast> }
+ // Rule 384: initializer_list ::= { <openscope-ast> }
//
- case 382: { action. consumeInitializerList(); break;
+ case 384: { action. consumeInitializerList(); break;
}
//
- // Rule 383: start_initializer_list ::= $Empty
+ // Rule 385: start_initializer_list ::= $Empty
//
- case 383: { action. initializerListStart(); break;
+ case 385: { action. initializerListStart(); break;
}
//
- // Rule 384: end_initializer_list ::= $Empty
+ // Rule 386: end_initializer_list ::= $Empty
//
- case 384: { action. initializerListEnd(); break;
+ case 386: { action. initializerListEnd(); break;
}
//
- // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 389: { action. consumeClassSpecifier(); break;
+ case 391: { action. consumeClassSpecifier(); break;
}
//
- // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 391: { action. consumeClassHead(false); break;
+ case 393: { action. consumeClassHead(false); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 392: { action. consumeClassHead(true); break;
+ case 394: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 393: { action. consumeClassHead(true); break;
+ case 395: { action. consumeClassHead(true); break;
}
//
- // Rule 397: identifier_name_opt ::= $Empty
+ // Rule 399: identifier_name_opt ::= $Empty
//
- case 397: { action. consumeEmpty(); break;
+ case 399: { action. consumeEmpty(); break;
}
//
- // Rule 401: visibility_label ::= access_specifier_keyword :
+ // Rule 403: visibility_label ::= access_specifier_keyword :
//
- case 401: { action. consumeVisibilityLabel(); break;
+ case 403: { action. consumeVisibilityLabel(); break;
}
//
- // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 402: { action. consumeDeclarationSimple(true); break;
+ case 404: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 405: member_declaration ::= declaration_specifiers_opt ;
//
- case 403: { action. consumeDeclarationSimple(false); break;
+ case 405: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 406: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 408: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 412: member_declaration ::= ERROR_TOKEN
+ // Rule 414: member_declaration ::= ERROR_TOKEN
//
- case 412: { action. consumeDeclarationProblem(); break;
+ case 414: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 421: member_declarator ::= declarator constant_initializer
+ // Rule 423: member_declarator ::= declarator constant_initializer
//
- case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 423: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 424: member_declarator ::= bit_field_declarator : constant_expression
//
- case 422: { action. consumeBitField(true); break;
+ case 424: { action. consumeBitField(true); break;
}
//
- // Rule 423: member_declarator ::= : constant_expression
+ // Rule 425: member_declarator ::= : constant_expression
//
- case 423: { action. consumeBitField(false); break;
+ case 425: { action. consumeBitField(false); break;
}
//
- // Rule 424: bit_field_declarator ::= identifier_name
+ // Rule 426: bit_field_declarator ::= identifier_name
//
- case 424: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 426: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 425: constant_initializer ::= = constant_expression
+ // Rule 427: constant_initializer ::= = constant_expression
//
- case 425: { action. consumeInitializer(); break;
+ case 427: { action. consumeInitializer(); break;
}
//
- // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 431: { action. consumeBaseSpecifier(false, false); break;
+ case 433: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 433: { action. consumeBaseSpecifier(true, true); break;
+ case 435: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 434: { action. consumeBaseSpecifier(true, false); break;
+ case 436: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 435: access_specifier_keyword ::= private
+ // Rule 437: access_specifier_keyword ::= private
//
- case 435: { action. consumeToken(); break;
+ case 437: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= protected
+ // Rule 438: access_specifier_keyword ::= protected
//
- case 436: { action. consumeToken(); break;
+ case 438: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= public
+ // Rule 439: access_specifier_keyword ::= public
//
- case 437: { action. consumeToken(); break;
+ case 439: { action. consumeToken(); break;
}
//
- // Rule 439: access_specifier_keyword_opt ::= $Empty
+ // Rule 441: access_specifier_keyword_opt ::= $Empty
//
- case 439: { action. consumeEmpty(); break;
+ case 441: { action. consumeEmpty(); break;
}
//
- // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 441: { action. consumeTemplateId(); break;
+ case 443: { action. consumeTemplateId(); break;
}
//
- // Rule 442: conversion_function_id ::= operator conversion_type_id
+ // Rule 444: conversion_function_id ::= operator conversion_type_id
//
- case 442: { action. consumeConversionName(); break;
+ case 444: { action. consumeConversionName(); break;
}
//
- // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 443: { action. consumeTypeId(true); break;
+ case 445: { action. consumeTypeId(true); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq
+ // Rule 446: conversion_type_id ::= type_specifier_seq
//
- case 444: { action. consumeTypeId(false); break;
+ case 446: { action. consumeTypeId(false); break;
}
//
- // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 445: { action. consumeDeclaratorWithPointer(false); break;
+ case 447: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 451: { action. consumeConstructorChainInitializer(); break;
+ case 453: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 452: { action. consumeQualifiedId(false); break;
+ case 454: { action. consumeQualifiedId(false); break;
}
//
- // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 455: { action. consumeTemplateId(); break;
+ case 457: { action. consumeTemplateId(); break;
}
//
- // Rule 456: operator_id_name ::= operator overloadable_operator
+ // Rule 458: operator_id_name ::= operator overloadable_operator
//
- case 456: { action. consumeOperatorName(); break;
+ case 458: { action. consumeOperatorName(); break;
}
//
- // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 499: { action. consumeTemplateDeclaration(); break;
+ case 501: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 500: export_opt ::= export
+ // Rule 502: export_opt ::= export
//
- case 500: { action. consumePlaceHolder(); break;
+ case 502: { action. consumePlaceHolder(); break;
}
//
- // Rule 501: export_opt ::= $Empty
+ // Rule 503: export_opt ::= $Empty
//
- case 501: { action. consumeEmpty(); break;
+ case 503: { action. consumeEmpty(); break;
}
//
- // Rule 505: template_parameter ::= parameter_declaration
+ // Rule 507: template_parameter ::= parameter_declaration
//
- case 505: { action. consumeTemplateParamterDeclaration(); break;
+ case 507: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 506: type_parameter ::= class identifier_name_opt
+ // Rule 508: type_parameter ::= class identifier_name_opt
//
- case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 509: type_parameter ::= class identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= typename identifier_name_opt
+ // Rule 510: type_parameter ::= typename identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 510: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 511: type_parameter ::= typename identifier_name_opt = type_id
//
- case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 511: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 512: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 513: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 512: { action. consumeTemplateId(); break;
+ case 514: { action. consumeTemplateId(); break;
}
//
- // Rule 517: template_argument ::= assignment_expression
+ // Rule 519: template_argument ::= assignment_expression
//
- case 517: { action. consumeTemplateArgumentExpression(); break;
+ case 519: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 518: template_argument ::= type_id
+ // Rule 520: template_argument ::= type_id
//
- case 518: { action. consumeTemplateArgumentTypeId(); break;
+ case 520: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 519: explicit_instantiation ::= template declaration
+ // Rule 521: explicit_instantiation ::= template declaration
//
- case 519: { action. consumeTemplateExplicitInstantiation(); break;
+ case 521: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 520: explicit_specialization ::= template < > declaration
+ // Rule 522: explicit_specialization ::= template < > declaration
//
- case 520: { action. consumeTemplateExplicitSpecialization(); break;
+ case 522: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 521: { action. consumeStatementTryBlock(); break;
+ case 523: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 526: handler ::= catch ( exception_declaration ) compound_statement
//
- case 524: { action. consumeStatementCatchHandler(false); break;
+ case 526: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 525: handler ::= catch ( ... ) compound_statement
+ // Rule 527: handler ::= catch ( ... ) compound_statement
//
- case 525: { action. consumeStatementCatchHandler(true); break;
+ case 527: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 526: { action. consumeDeclarationSimple(true); break;
+ case 528: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 527: { action. consumeDeclarationSimple(true); break;
+ case 529: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 528: exception_declaration ::= type_specifier_seq
+ // Rule 530: exception_declaration ::= type_specifier_seq
//
- case 528: { action. consumeDeclarationSimple(false); break;
+ case 530: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 530: exception_specification ::= throw ( )
+ // Rule 532: exception_specification ::= throw ( )
//
- case 530: { action. consumePlaceHolder(); break;
+ case 532: { action. consumePlaceHolder(); break;
}
//
- // Rule 551: attribute_parameter ::= assignment_expression
+ // Rule 553: attribute_parameter ::= assignment_expression
//
- case 551: { action. consumeIgnore(); break;
+ case 553: { action. consumeIgnore(); break;
}
//
- // Rule 562: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ // Rule 564: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
//
- case 562: { gnuAction.consumeDeclarationASM(); break;
+ case 564: { gnuAction.consumeDeclarationASM(); break;
}
//
- // Rule 573: unary_expression ::= __alignof__ unary_expression
+ // Rule 575: unary_expression ::= __alignof__ unary_expression
//
- case 573: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
+ case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
}
//
- // Rule 574: unary_expression ::= __alignof__ ( type_id )
+ // Rule 576: unary_expression ::= __alignof__ ( type_id )
//
- case 574: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
+ case 576: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
}
//
- // Rule 575: unary_expression ::= typeof unary_expression
+ // Rule 577: unary_expression ::= typeof unary_expression
//
- case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
}
//
- // Rule 576: unary_expression ::= typeof ( type_id )
+ // Rule 578: unary_expression ::= typeof ( type_id )
//
- case 576: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
+ case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
}
//
- // Rule 577: relational_expression ::= relational_expression >? shift_expression
+ // Rule 579: relational_expression ::= relational_expression >? shift_expression
//
- case 577: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break;
+ case 579: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break;
}
//
- // Rule 578: relational_expression ::= relational_expression <? shift_expression
+ // Rule 580: relational_expression ::= relational_expression <? shift_expression
//
- case 578: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break;
+ case 580: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break;
}
//
- // Rule 579: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
+ // Rule 581: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression
//
- case 579: { action. consumeExpressionConditional(); break;
+ case 581: { action. consumeExpressionConditional(); break;
}
//
- // Rule 580: primary_expression ::= ( compound_statement )
+ // Rule 582: primary_expression ::= ( compound_statement )
//
- case 580: { gnuAction.consumeCompoundStatementExpression(); break;
+ case 582: { gnuAction.consumeCompoundStatementExpression(); break;
}
//
- // Rule 581: labeled_statement ::= case case_range_expression : statement
+ // Rule 583: labeled_statement ::= case case_range_expression : statement
//
- case 581: { action. consumeStatementCase(); break;
+ case 583: { action. consumeStatementCase(); break;
}
//
- // Rule 582: case_range_expression ::= constant_expression ... constant_expression
+ // Rule 584: case_range_expression ::= constant_expression ... constant_expression
//
- case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 584: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 586: typeof_type_specifier ::= typeof unary_expression
+ // Rule 588: typeof_type_specifier ::= typeof unary_expression
//
- case 586: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ case 588: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
}
//
- // Rule 587: typeof_type_specifier ::= typeof ( type_id )
+ // Rule 589: typeof_type_specifier ::= typeof ( type_id )
//
- case 587: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
+ case 589: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
}
//
- // Rule 588: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
+ // Rule 590: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers
//
- case 588: { action. consumeDeclarationSpecifiersTypeof(); break;
+ case 590: { action. consumeDeclarationSpecifiersTypeof(); break;
}
//
- // Rule 601: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
+ // Rule 603: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
//
- case 601: { action. consumeDeclaratorWithPointer(true); break;
+ case 603: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 604: simple_type_specifier ::= _Complex
+ // Rule 606: simple_type_specifier ::= _Complex
//
- case 604: { action. consumeToken(); break;
+ case 606: { action. consumeToken(); break;
}
//
- // Rule 605: simple_type_specifier ::= _Imaginary
+ // Rule 607: simple_type_specifier ::= _Imaginary
//
- case 605: { action. consumeToken(); break;
+ case 607: { action. consumeToken(); break;
}
//
- // Rule 606: cv_qualifier ::= restrict
+ // Rule 608: cv_qualifier ::= restrict
//
- case 606: { action. consumeToken(); break;
+ case 608: { action. consumeToken(); break;
}
//
- // Rule 607: explicit_instantiation ::= extern template declaration
+ // Rule 609: explicit_instantiation ::= extern template declaration
//
- case 607: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break;
+ case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break;
}
//
- // Rule 608: explicit_instantiation ::= static template declaration
+ // Rule 610: explicit_instantiation ::= static template declaration
//
- case 608: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break;
+ case 610: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break;
}
//
- // Rule 609: explicit_instantiation ::= inline template declaration
+ // Rule 611: explicit_instantiation ::= inline template declaration
//
- case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break;
+ case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break;
}
//
- // Rule 610: postfix_expression ::= ( type_id ) initializer_list
+ // Rule 612: postfix_expression ::= ( type_id ) initializer_list
//
- case 610: { action. consumeExpressionTypeIdInitializer(); break;
+ case 612: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 614: type_id ::= vector_type
+ // Rule 616: type_id ::= vector_type
//
- case 614: { action. consumeTypeId(false); break;
+ case 616: { action. consumeTypeId(false); break;
}
//
- // Rule 615: type_id ::= vector_type abstract_declarator
+ // Rule 617: type_id ::= vector_type abstract_declarator
//
- case 615: { action. consumeTypeId(true); break;
+ case 617: { action. consumeTypeId(true); break;
}
//
- // Rule 616: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
+ // Rule 618: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ;
//
- case 616: { action. consumeDeclarationSimple(true); break;
+ case 618: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 617: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
+ // Rule 619: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt
//
- case 617: { action. consumeVectorTypeSpecifier(); break;
+ case 619: { action. consumeVectorTypeSpecifier(); break;
}
//
- // Rule 618: vector_type_specifier ::= vector_type_specifier_token
+ // Rule 620: vector_type_specifier ::= vector_type_specifier_token
//
- case 618: { action. consumeToken(); break;
+ case 620: { action. consumeToken(); break;
}
//
- // Rule 639: specifier_qualifier ::= typedef
+ // Rule 643: specifier_qualifier ::= typedef
//
- case 639: { action. consumeToken(); break;
+ case 643: { action. consumeToken(); break;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
index f997ddd69e..eb1c6b2ba0 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java
@@ -66,672 +66,677 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,7,6,0,7,6,1,
- 0,6,6,4,1,3,1,0,1,1,
- 2,1,1,3,1,3,1,1,1,1,
- 3,9,2,2,3,2,5,3,7,0,
- 1,2,2,1,0,1,1,1,3,1,
- 2,1,1,2,3,1,1,1,3,2,
- 1,2,2,9,8,2,1,3,1,3,
- 1,0,1,0,2,1,1,3,1,3,
- 2,1,5,8,1,2,3,1,1,7,
- 6,3,0,0,1,3,1,1,5,6,
- 6,7,7,0,0,1,0,1,1,1,
- 2,4,2,2,1,5,1,1,1,1,
- 1,1,1,2,1,0,1,3,1,1,
- 2,3,2,1,2,2,1,0,1,3,
- 3,5,5,4,1,1,1,1,0,1,
- 5,2,2,1,2,2,1,0,1,3,
- 4,3,1,1,5,2,1,1,3,3,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,2,7,1,
- 0,1,3,1,1,2,4,2,4,7,
- 9,5,1,3,1,0,1,1,2,4,
- 4,1,2,5,5,3,3,1,4,3,
- 1,0,1,3,1,1,1,1,2,6,
- 3,1,3,1,4,0,1,1,1,3,
- 1,0,4,3,1,2,1,3,4,4,
- 4,6,1,0,1,3,1,3,0,1,
- 4,5,2,4,2,4,3,3,5,3,
- 4,3,1,2,2,2,4,2,1,1,
- 2,2,3,2,2,3,1,1,1,1,
- 4,1,1,1,1,1,3,3,3,4,
- 1,1,1,1,2,4,5,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 2,1,0,1,0,1,1,1,1,-180,
- 0,0,0,-2,0,0,0,0,0,0,
+ 5,6,5,0,1,0,7,8,0,1,
+ 3,1,0,1,3,1,7,6,0,7,
+ 6,1,0,6,6,4,1,3,1,0,
+ 1,1,2,1,1,3,1,3,1,1,
+ 1,1,3,9,2,2,3,2,5,3,
+ 7,0,1,2,2,1,0,1,1,1,
+ 3,1,2,1,1,2,3,1,1,1,
+ 3,2,1,2,2,9,8,2,1,3,
+ 1,3,1,0,1,0,2,1,1,3,
+ 1,3,2,1,5,8,1,2,3,1,
+ 1,7,6,3,0,0,1,3,1,1,
+ 5,6,6,7,7,0,0,1,0,1,
+ 1,1,2,4,2,2,1,5,1,1,
+ 1,1,1,1,1,2,1,0,1,3,
+ 1,1,2,3,2,1,2,2,1,0,
+ 1,3,3,5,5,4,1,1,1,1,
+ 0,1,5,2,2,1,2,2,1,0,
+ 1,3,4,3,1,1,5,2,1,1,
+ 3,3,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2,2,
+ 7,1,0,1,3,1,1,2,4,2,
+ 4,7,9,5,1,3,1,0,1,1,
+ 2,4,4,1,2,5,5,3,3,1,
+ 4,3,1,0,1,3,1,1,1,1,
+ 2,6,3,1,3,1,4,0,1,1,
+ 1,3,1,0,4,3,1,2,1,3,
+ 4,4,4,6,1,0,1,3,1,3,
+ 0,1,4,5,2,4,2,4,3,3,
+ 5,3,4,3,1,2,2,2,4,2,
+ 1,1,2,2,3,2,2,3,1,1,
+ 1,1,4,1,1,1,1,1,3,3,
+ 3,4,1,1,1,1,2,4,5,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,2,1,0,1,0,1,1,1,
+ 1,1,1,-182,0,0,0,-2,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -427,0,0,0,-137,0,0,0,0,0,
+ -179,0,0,0,0,-3,0,0,0,0,
+ -8,0,0,-190,0,0,0,-9,0,0,
+ 0,0,0,0,0,0,-127,0,-196,0,
+ 0,0,-399,0,-481,0,0,-10,0,0,
+ 0,-191,0,0,0,-12,0,0,0,0,
+ 0,0,0,0,0,-294,-296,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -167,0,0,0,0,0,0,-4,0,0,
+ 0,0,-63,-261,0,-18,0,0,0,0,
+ 0,-642,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-19,0,
+ 0,-552,0,0,0,-21,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-118,0,0,0,0,0,-39,0,
+ 0,0,0,0,0,0,0,0,-22,0,
+ 0,-298,0,0,0,-23,0,0,0,0,
+ 0,0,0,0,-471,0,0,0,-59,-207,
+ -554,-193,0,0,0,0,0,0,0,-42,
+ 0,0,0,-24,-72,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-424,
+ 0,0,0,0,0,0,-69,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-7,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-60,0,0,0,0,0,-164,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-165,0,0,0,0,0,0,0,
+ -236,0,0,0,0,0,-25,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -239,0,0,0,-41,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,0,0,0,0,0,0,0,0,0,
+ 0,-46,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-57,
+ -55,0,0,-70,0,0,0,0,0,0,
+ 0,0,0,-71,0,0,0,0,0,-316,
+ 0,0,0,0,0,0,0,-146,0,0,
+ 0,0,-173,0,0,0,0,0,-33,0,
+ 0,-43,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,
+ 0,0,-145,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-581,0,0,0,-44,
+ 0,0,0,-262,0,0,0,0,0,0,
+ 0,-206,0,0,0,-64,-369,0,0,0,
+ 0,0,0,0,-47,0,0,-376,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -156,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-278,-5,
+ 0,0,0,0,0,0,0,0,-467,0,
+ 0,0,-77,-120,0,0,0,0,0,-34,
+ 0,0,-370,-604,0,0,-49,0,-251,0,
+ 0,-166,0,0,0,0,0,0,0,0,
+ 0,-50,0,-53,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,0,
+ -501,0,0,0,0,0,0,-543,0,0,
+ 0,-66,0,0,0,0,0,0,0,0,
+ 0,-58,0,-477,0,0,-372,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-234,0,0,0,
- -53,0,0,0,0,0,-171,0,0,0,
- -106,-57,0,0,0,-75,-601,0,0,-188,
- 0,0,0,-25,0,0,0,0,0,0,
- 0,0,-8,0,0,0,0,0,0,0,
- 0,0,0,-9,0,0,0,-76,0,-155,
- -10,-58,-250,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-44,0,0,
- 0,-16,0,0,0,0,0,0,0,0,
- 0,0,0,-32,0,0,0,0,0,0,
- 0,-4,0,0,0,0,0,-425,0,0,
- -638,0,0,0,-12,0,0,0,0,0,
- 0,0,0,0,-18,0,0,0,0,0,
- -548,0,0,0,-19,0,0,0,0,0,
+ -75,0,0,0,0,-317,0,0,-578,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-116,0,0,
- 0,0,0,0,0,0,0,-21,0,0,
- 0,0,0,0,0,0,-78,0,0,0,
- -294,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-107,0,0,
- 0,0,0,0,-358,0,0,0,-189,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-296,0,0,0,0,0,0,
- 0,0,0,0,0,0,-22,0,0,0,
- 0,0,0,0,0,-68,-165,0,0,-498,
- 0,0,-23,0,0,0,0,0,-7,0,
+ 0,-418,0,0,0,0,0,0,0,-569,
0,0,0,0,0,0,0,0,0,0,
- 0,-67,-135,-232,0,0,0,0,-162,0,
+ 0,0,0,0,0,-73,0,0,-357,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-154,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-177,0,0,0,0,
+ 0,-435,-61,-398,0,0,0,0,0,0,
+ 0,0,0,0,0,-84,0,0,0,-285,
+ 0,0,0,0,0,0,0,0,0,-138,
0,0,0,0,0,0,0,0,0,0,
- -259,0,0,-39,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-198,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -70,-150,0,0,0,0,0,0,-118,0,
- 0,0,0,0,-17,0,0,0,-55,0,
+ 0,0,0,0,0,0,-385,0,0,0,
+ 0,0,0,0,-151,-115,-109,0,0,0,
+ 0,0,-362,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-234,-45,
+ 0,0,0,0,0,0,0,0,0,-16,
+ 0,0,0,0,0,0,0,0,0,-204,
+ 0,0,-214,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-40,0,0,0,
- 0,-233,0,0,0,0,0,-59,-31,0,
- 0,-367,0,0,-41,0,-202,-199,0,0,
+ 0,0,0,0,0,0,0,0,-17,0,
+ 0,0,0,0,0,0,0,-195,0,-274,
+ 0,0,0,0,-74,0,0,-85,0,-373,
+ 0,0,0,-429,0,0,0,-27,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-99,0,0,
+ -80,0,0,0,-81,0,0,0,0,0,
+ -301,0,0,0,-189,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-76,-518,0,
0,0,0,0,0,0,0,0,0,0,
- -163,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-5,
- 0,0,-260,0,0,0,0,0,-42,0,
- -144,0,0,0,-45,0,0,0,0,0,
- 0,0,0,0,0,0,-374,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-143,
+ 0,0,0,0,0,0,0,0,0,-100,
+ 0,0,0,0,0,-539,0,0,0,0,
+ -101,0,0,0,-78,0,0,0,-423,0,
+ 0,-102,-121,0,-103,0,-267,0,0,0,
+ -519,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-276,-272,0,
- 0,0,0,-47,0,0,0,-204,0,0,
- 0,0,0,0,0,0,0,0,0,-3,
- -149,-61,0,0,0,-257,0,0,0,0,
- -465,0,0,0,-401,0,0,0,0,0,
- 0,0,0,-235,0,-440,0,0,0,-48,
+ 0,0,0,0,-105,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-235,0,0,
+ 0,0,-617,0,0,0,0,-79,0,0,
+ 0,0,0,-528,0,0,0,-56,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-203,-422,
+ 0,0,0,0,0,0,-321,0,0,0,
+ -516,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-104,0,0,0,0,
+ 0,0,0,-142,0,0,0,-152,0,0,
0,0,0,0,0,0,0,0,0,0,
- -64,0,0,0,0,0,-192,0,0,0,
- 0,0,-51,0,0,-478,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-73,
- 0,0,0,0,0,0,-56,-574,0,0,
+ 0,0,0,0,0,0,-585,0,0,0,
+ -403,0,0,0,-517,0,0,0,0,0,
+ -135,0,0,0,0,0,0,0,-227,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -319,0,0,0,0,0,0,0,-62,0,
- 0,0,0,0,0,0,0,0,-375,0,
- 0,0,-54,0,0,0,0,-140,0,0,
+ 0,0,0,0,0,0,0,0,0,-107,
+ 0,0,0,0,0,-205,0,0,0,-574,
0,0,0,0,0,0,0,0,0,0,
+ -259,0,0,0,0,-513,-538,-345,0,0,
0,0,0,0,0,0,0,0,0,0,
- -164,0,0,0,-71,0,0,0,0,0,
- 0,0,-82,0,0,0,0,0,0,0,
- 0,0,0,-229,-83,0,0,-136,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,0,0,0,0,-98,0,
- 0,0,0,0,-99,0,0,0,-628,0,
- 0,0,0,0,-368,0,0,0,0,0,
- 0,-416,0,0,-360,0,0,0,-510,0,
+ -265,0,0,0,-273,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,-43,0,0,0,0,0,0,0,0,
- 0,-100,0,0,0,0,0,0,0,-69,
- 0,0,0,0,-212,0,0,0,0,0,
+ 0,0,-106,0,-108,0,0,-346,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,-273,0,0,0,-270,
- 0,-577,0,0,0,-37,0,0,0,0,
- 0,-243,0,0,-427,0,0,0,-298,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-315,0,
+ -147,0,-110,0,0,0,0,0,-598,0,
+ 0,0,-114,0,-116,0,0,0,0,0,
+ 0,0,-134,0,0,0,0,-347,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-101,0,0,0,-187,0,0,0,0,
- -72,0,0,0,0,-80,0,0,0,-515,
- 0,0,0,-132,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -371,0,0,0,-621,0,0,0,-117,0,
+ 0,0,0,0,0,0,0,0,0,-128,
+ 0,0,0,0,-122,0,0,-348,0,0,
+ 0,-475,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -138,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-74,0,0,0,
- 0,0,0,0,0,0,0,0,-292,-396,
- 0,-516,0,0,0,0,0,0,0,0,
+ -417,0,0,0,0,0,0,0,-129,0,
+ 0,0,0,0,-123,0,0,0,0,-154,
+ 0,0,0,0,-124,0,0,-349,0,0,
+ 0,-476,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-249,-103,0,-113,0,0,
- 0,0,0,0,0,0,0,0,-79,0,
- 0,0,0,0,0,0,-194,0,0,0,
- 0,0,-585,0,-525,0,0,0,0,0,
+ 0,0,0,-125,-483,0,0,0,0,0,
+ 0,0,-148,0,-149,0,0,0,0,0,
+ 0,0,-237,-605,-245,0,0,-350,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,0,0,-369,0,0,
- 0,0,0,0,0,-104,0,0,0,-630,
- 0,0,0,0,0,-613,-77,0,0,0,
- -383,0,0,0,0,-102,-225,0,0,0,
+ -502,0,0,0,-132,0,0,0,0,0,
+ 0,0,-153,0,-360,0,0,0,0,0,
+ 0,0,0,-632,-194,0,0,-351,0,0,
+ 0,-161,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-108,
- -536,0,0,-271,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-105,0,0,
- 0,0,0,0,0,0,-343,0,0,0,
+ -511,0,0,0,-133,0,0,0,0,0,
+ 0,0,-159,0,0,0,0,0,0,0,
+ 0,0,0,0,-577,0,0,-352,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,-415,
- 0,0,0,0,0,0,0,-112,0,0,
- 0,-631,0,-114,0,0,0,0,0,0,
- 0,-283,0,0,0,0,0,-344,0,0,
- 0,-119,0,0,0,0,0,0,0,0,
+ -512,0,0,0,-586,0,0,0,-162,0,
+ 0,0,0,0,-211,0,0,0,0,0,
+ 0,0,0,-640,0,0,0,-353,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-600,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-115,0,
- 0,0,0,-636,0,0,0,-345,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -561,0,0,0,-215,0,0,0,0,0,
+ 0,0,-231,0,-256,0,0,0,0,-558,
+ 0,0,-216,-603,0,0,0,-354,0,0,
0,0,0,0,0,0,0,0,0,0,
- -499,0,0,0,0,0,0,0,-513,0,
- 0,0,-469,0,0,0,0,0,0,-126,
- 0,0,-120,0,-316,0,0,-346,0,0,
- 0,-125,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-508,0,0,0,0,0,0,-127,0,
- 0,0,0,0,0,0,0,0,-277,-130,
- 0,0,0,0,-121,0,0,-347,0,0,
- 0,-122,0,0,0,0,0,0,0,0,
+ -176,0,-217,0,0,0,0,0,0,0,
+ 0,0,-272,0,0,0,0,0,-300,-177,
+ 0,0,-626,0,0,0,0,-355,0,0,
0,0,0,0,0,0,0,0,0,0,
- -509,0,0,0,-514,0,0,0,-131,0,
- 0,0,0,0,0,0,0,0,-172,0,
- 0,0,0,0,0,0,0,-348,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-218,-279,-280,0,0,0,0,0,0,
+ 0,0,-219,0,-258,0,0,0,0,0,
+ 0,0,0,-178,0,0,0,-389,0,0,
0,0,0,0,0,0,0,0,0,0,
- -557,0,0,0,-123,0,0,0,-570,0,
- 0,0,0,0,-133,0,0,0,0,0,
- 0,0,0,-573,-317,0,0,-349,0,0,
- 0,-145,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -152,0,-400,0,-594,0,0,0,-159,0,
- 0,0,0,0,-146,0,0,0,0,0,
- 0,0,0,-174,0,0,0,-350,0,0,
+ -420,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-213,0,
+ 0,0,-408,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,-147,-151,-237,0,0,0,0,-617,0,
- 0,0,-157,0,-278,0,0,0,0,0,
- 0,0,0,0,-173,0,0,-351,0,0,
- 0,-473,0,0,0,0,0,0,0,0,
+ 0,0,0,-318,0,0,0,0,0,-221,
+ 0,0,0,-192,-572,0,0,0,-242,-319,
+ 0,0,-247,-526,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -160,-215,-216,-245,0,0,0,0,-209,0,
- 0,0,0,0,-217,0,0,0,0,0,
- 0,0,0,-218,-320,0,0,-352,0,0,
- 0,-363,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-244,0,-222,0,
+ 0,0,0,0,-260,0,0,0,0,0,
+ -425,0,0,0,0,-583,0,0,-268,0,
+ 0,0,0,-527,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-219,0,-220,-480,0,0,0,0,0,
- 0,0,-474,0,-213,0,0,0,0,-175,
- 0,0,0,0,-371,0,0,-353,0,0,
- 0,-582,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-438,-476,-522,-254,0,0,0,0,0,
+ -306,0,0,0,0,0,0,0,-634,0,
+ -635,0,0,0,0,-223,0,0,-269,-275,
+ 0,0,0,-402,0,-224,-615,0,0,0,
+ -365,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-176,-565,0,0,-387,0,0,
- 0,-539,0,0,0,0,0,0,0,0,
+ 0,-322,0,0,0,0,0,0,0,0,
+ 0,0,0,-584,0,0,0,0,0,0,
+ 0,0,-270,0,0,0,-469,0,0,0,
+ -377,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,-323,0,0,
0,0,0,0,0,0,0,0,0,0,
- -418,0,0,0,0,0,0,0,-256,0,
- 0,0,0,0,-258,0,0,0,0,0,
- 0,0,-406,0,0,0,-211,0,0,0,
+ 0,-480,0,0,0,-271,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-589,0,-225,-367,0,
+ 0,0,0,0,0,0,0,0,-368,0,
+ 0,0,0,0,0,0,-288,-391,-126,0,
+ 0,0,-531,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-535,
- 0,0,0,-190,0,0,0,0,-214,0,
- 0,0,0,-523,0,0,0,0,0,0,
+ 0,0,0,0,0,-384,0,0,-612,0,
+ 0,0,0,-567,0,0,0,0,0,-226,
+ 0,0,0,0,0,0,0,-532,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-221,0,
- 0,0,0,0,-304,0,0,0,0,0,
- 0,0,0,0,-222,-603,0,0,-376,-554,
- 0,0,0,-524,0,0,0,-240,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-242,-579,
+ 0,0,0,0,-407,0,0,0,0,0,
+ 0,0,-400,0,-410,0,0,0,-401,-422,
+ 0,0,-428,0,-289,0,0,-378,-548,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-191,-389,0,0,0,-266,
- 0,0,0,-398,-223,-611,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-267,-610,
- 0,0,0,0,0,0,-224,0,0,0,
+ 0,-609,0,0,0,0,0,0,0,0,
+ 0,0,0,-441,0,0,0,0,0,0,
+ 0,0,0,-588,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-268,-226,0,0,-467,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-421,-295,
+ -228,0,0,0,-299,0,0,0,-232,0,
+ 0,0,0,0,-26,-238,0,0,-6,0,
+ 0,0,-614,0,0,0,0,0,0,-356,
+ 0,0,0,0,-379,0,-143,0,0,0,
+ 0,0,0,0,0,-440,-474,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,-321,0,0,0,
- 0,0,0,0,0,0,-230,-236,0,0,
- -477,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,-580,0,0,0,
- 0,0,0,0,0,0,0,-365,0,0,
- 0,0,-366,0,0,-286,0,-124,0,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,-382,0,0,-608,0,0,
- 0,0,-423,0,0,0,0,0,-241,0,
- 0,0,0,-246,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,0,
- -248,-261,-262,-405,0,0,0,0,0,0,
- 0,-264,0,-408,0,0,0,-399,-420,0,
- 0,-563,0,-287,0,0,-377,-544,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -581,0,0,0,0,0,0,0,0,0,
- 0,0,-279,0,0,0,0,0,0,0,
- 0,0,-584,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-280,-293,-426,
- 0,0,0,0,0,0,0,-599,0,-24,
- 0,0,0,-26,-439,0,0,-6,0,0,
- 0,-281,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-297,-63,0,0,0,0,
- 0,0,0,0,0,0,0,0,-282,-435,
- -288,0,0,0,-622,0,0,-289,0,0,
- 0,0,0,0,-290,0,-291,0,-421,0,
- 0,0,-308,0,0,0,0,-300,0,0,
- 0,-205,0,0,0,0,-302,-38,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-303,0,0,
- 0,0,0,0,-156,0,0,0,0,0,
- 0,-60,-475,-305,0,0,0,0,0,-419,
- 0,0,0,0,0,-306,-357,0,0,0,
- 0,-309,-311,0,0,0,0,0,-370,0,
- -312,0,0,0,0,0,0,0,0,-313,
- 0,0,0,-355,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-378,0,0,0,
- 0,0,0,0,0,0,0,0,-466,0,
- 0,0,0,0,-356,-372,-117,0,0,0,
- -373,0,0,0,0,0,0,0,0,0,
- 0,-251,0,-501,-359,0,0,0,0,0,
- 0,0,0,-33,0,0,0,0,-404,-386,
- -181,0,0,0,0,0,-388,-390,0,-391,
- 0,0,0,0,0,0,-392,0,-361,-492,
- 0,0,0,0,0,0,-362,0,-196,0,
- 0,-393,0,0,0,0,-354,0,0,0,
- 0,0,0,0,0,0,0,0,-395,0,
- 0,0,0,0,0,0,0,0,-493,0,
- 0,0,0,0,0,0,0,0,0,0,
- -384,0,-403,0,0,0,0,0,0,0,
- 0,0,0,0,0,-409,-411,-412,-413,0,
- 0,0,0,0,-414,0,-526,0,-463,0,
- 0,0,-464,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,0,0,0,0,-479,0,0,
- 0,-197,0,0,0,0,-364,0,0,0,
+ 0,0,0,0,-437,-478,0,-597,0,0,
+ 0,0,0,0,-243,0,0,0,0,-248,
+ -498,0,0,-310,0,-250,-479,0,-263,0,
+ 0,0,-500,0,0,0,0,-525,-40,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-264,0,0,0,0,
+ 0,0,0,0,-380,0,0,-266,-281,0,
+ 0,0,0,0,0,0,-562,-541,-282,-551,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-359,0,0,0,
+ -62,0,0,-361,0,0,0,-119,0,0,
+ 0,0,0,-241,0,0,0,-363,0,-283,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-364,0,0,0,0,
+ 0,0,0,-515,0,0,0,0,0,0,
+ 0,-284,0,0,0,0,0,0,0,0,
+ -98,-468,0,0,0,-386,0,0,-157,0,
+ -290,0,0,0,0,0,-183,0,0,-291,
+ 0,-542,0,0,0,0,-607,0,0,0,
0,0,0,0,0,0,0,0,0,-495,
- -589,0,0,0,0,0,0,0,0,0,
- 0,0,0,-605,0,0,0,-496,-500,-428,
- -429,0,0,-87,0,0,0,0,0,0,
+ -292,0,0,0,0,-293,0,-302,0,0,
+ 0,0,-140,0,-405,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-304,0,-305,
+ 0,0,0,0,0,0,0,0,0,-627,
+ 0,0,0,-307,0,0,0,-344,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-436,0,0,0,
- 0,0,0,0,-511,0,0,0,0,0,
- 0,-340,0,0,0,-437,0,0,0,0,
+ -465,-466,-482,0,0,0,0,0,-499,0,
+ 0,0,-308,0,0,0,0,-366,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-512,0,-441,0,0,0,
- 0,0,-538,0,0,0,0,0,-442,0,
- -341,0,0,0,-546,0,0,0,0,0,
+ -496,0,0,0,0,-311,-313,-314,0,0,
+ 0,0,0,0,-628,0,0,0,-503,-514,
+ -550,-315,-358,-374,-89,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-443,0,0,0,-141,0,0,
- 0,-228,0,0,0,0,0,-518,0,0,
- 0,-142,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-444,-445,
- 0,0,0,0,0,0,0,0,0,-551,
- -568,-593,0,0,-35,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-375,0,
+ 0,0,0,0,0,-553,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,-549,-553,-446,
- 0,-231,0,0,0,-432,0,0,0,0,
- 0,-590,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-388,0,-390,0,-529,
+ 0,0,0,-555,0,0,0,0,0,-392,
+ 0,-343,0,0,0,-393,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -20,0,0,-447,0,0,0,0,-448,0,
- 0,0,0,0,0,-449,-46,0,0,0,
- -558,-450,0,0,0,0,0,-451,-265,0,
- 0,0,-556,-15,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-555,
- -397,0,0,0,0,0,0,0,0,0,
- -559,0,0,0,0,-571,-452,-182,-489,0,
- 0,0,0,0,0,0,0,0,0,-453,
- -454,0,0,0,0,-560,-274,0,0,-561,
- 0,0,-455,-456,0,0,0,0,0,0,
- 0,-255,0,0,0,0,-457,0,-458,-562,
+ 0,0,0,0,-593,0,0,0,-31,0,
+ 0,0,-198,0,0,0,0,0,-521,0,
+ 0,0,-144,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-394,
+ -395,0,0,0,0,0,0,0,0,0,
+ -559,0,-397,0,0,-90,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-614,0,0,0,0,0,0,-530,
- -627,0,0,0,-576,0,-597,0,0,0,
- 0,0,0,0,0,0,0,0,-459,0,
- 0,0,0,0,0,0,-460,0,0,0,
- 0,-595,0,0,0,0,-461,0,0,0,
- 0,0,0,0,0,0,0,0,-462,-337,
+ 0,0,0,0,0,0,0,0,0,-557,
+ -411,0,-233,0,0,0,-575,0,0,0,
+ 0,0,-594,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-599,
+ 0,-20,0,0,-413,0,0,0,0,-414,
+ 0,0,0,0,0,0,-415,-35,0,0,
+ 0,-618,-416,0,0,0,0,0,-82,0,
+ 0,0,-560,-563,-15,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -564,-504,0,0,-565,0,0,0,0,0,
+ 0,-566,0,0,0,0,-430,-601,0,0,
+ -505,0,-431,0,0,0,0,0,0,0,
+ -438,0,0,-439,-602,0,-443,-276,0,0,
+ 0,0,0,-444,-13,0,0,0,0,0,
+ 0,0,-631,0,0,0,-613,0,0,-445,
+ -619,0,0,0,0,0,0,0,0,0,
+ 0,-180,0,-620,0,0,-434,0,-446,0,
+ 0,-447,0,0,0,0,-257,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-468,-598,-29,-609,-385,0,0,0,
- 0,0,0,0,-109,0,0,0,-615,0,
+ 0,-208,0,0,-624,0,-448,-449,0,0,
+ 0,0,0,0,0,0,-633,-450,-451,0,
+ 0,0,0,0,0,0,0,0,0,-452,
+ -339,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-502,-470,0,0,0,0,0,0,0,
- 0,0,-616,0,-482,0,0,-620,0,0,
- -629,0,0,0,0,0,-484,0,0,0,
- -485,0,0,0,0,0,0,0,0,0,
- 0,0,-623,0,0,0,-490,0,-503,0,
- 0,0,0,0,0,0,0,0,0,-494,
- 0,0,0,0,0,0,0,-27,-505,-506,
- -507,0,-134,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-533,0,-534,-540,
- 0,0,0,0,0,0,0,0,0,-624,
- 0,0,0,-618,-619,-552,-566,-567,0,-88,
+ 0,0,0,-453,-199,-622,-454,-387,0,0,
+ 0,0,0,0,0,0,-623,-630,-455,-641,
+ -456,-457,0,0,0,0,0,0,0,0,
+ 0,-458,0,-459,0,-460,0,0,-461,-462,
+ -463,-464,0,0,0,0,-470,0,0,0,
+ 0,-472,-485,0,0,-487,-488,0,0,0,
+ 0,-493,0,0,0,0,0,0,0,-497,
+ 0,-508,-509,0,-510,-136,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -536,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-537,-544,-556,0,0,-570,-571,
+ -573,-576,-91,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-569,-572,0,0,-564,0,0,0,
- 0,-626,0,0,0,0,0,-338,0,0,
- 0,-587,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-591,-600,-606,-608,0,
+ 0,0,0,-616,-625,0,0,-638,0,0,
+ -340,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -596,-602,0,0,-604,0,0,0,0,0,
- 0,-547,0,0,0,0,0,0,0,0,
- 0,0,0,0,-612,-65,0,0,0,-637,
- -621,0,0,0,-339,0,0,0,-634,0,
+ 0,0,0,0,0,0,0,-28,0,0,
+ 0,0,0,0,-252,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-394,0,0,
- 0,0,0,0,0,-504,0,0,0,0,
+ 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,0,0,0,0,
- 0,0,0,0,0,0,0,0,-28,0,
- 0,-583,0,0,0,0,0,0,0,0,
+ -396,0,0,0,0,0,0,0,-158,0,
+ 0,0,0,0,0,-533,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,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,0,0,0,
- 0,0,0,-94,0,0,0,0,0,0,
- -200,0,0,0,0,0,0,-483,0,-193,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-486,0,0,0,0,-65,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-299,0,0,0,
+ 0,0,0,0,0,0,-506,0,0,0,
+ 0,0,-96,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-30,0,0,0,0,0,0,0,0,
- 0,-486,0,0,-541,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,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-580,
+ 0,0,-568,0,0,0,0,0,0,0,
0,0,0,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,0,
- 0,0,0,0,0,0,0,0,0,-527,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-535,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-507,0,0,0,
+ 0,-168,0,0,0,0,0,0,0,0,
+ 0,-141,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-547,0,0,0,0,
+ 0,-522,0,0,0,0,0,0,0,0,
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,-591,
- 0,0,0,0,-96,0,0,0,0,0,
- 0,0,0,0,-139,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-543,0,
- 0,0,0,0,-206,0,0,0,0,0,
+ 0,0,0,0,0,-545,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-30,
+ 0,0,0,0,0,0,0,0,0,-549,
0,0,0,0,0,0,0,0,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,0,0,
- 0,0,-545,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-590,0,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,-586,0,0,0,
- 0,-110,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,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-186,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-592,-587,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -588,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-497,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-592,0,0,0,0,-227,
+ 0,-596,0,0,0,0,-229,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-246,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-244,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-238,0,
- 0,0,0,0,0,0,0,0,-625,0,
+ 0,0,0,0,0,-32,0,0,0,0,
+ 0,0,0,0,0,-629,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-407,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,0,0,0,0,0,0,0,-639,
+ 0,0,0,0,-312,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-635,0,0,0,0,-310,0,0,
+ 0,0,0,0,0,0,0,0,-48,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-66,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-595,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-331,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-329,
+ 0,0,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,0,0,0,0,0,0,0,0,0,
- 0,0,-330,0,0,0,0,0,0,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,0,0,0,0,
- 0,0,0,0,0,0,-331,0,0,0,
+ 0,0,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,0,0,0,0,0,0,0,0,-332,
0,0,0,0,0,0,0,0,0,0,
+ -335,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-181,0,0,0,0,0,0,
+ 0,0,0,-336,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-333,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-432,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-334,0,0,0,0,
+ 0,0,0,0,-67,0,0,0,0,0,
+ 0,0,0,-337,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,
+ -492,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-178,0,0,0,0,0,-430,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-111,0,0,0,-158,0,0,0,
- 0,0,0,0,0,-335,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-338,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-381,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-179,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-636,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-419,0,0,
0,0,0,0,0,0,0,0,0,0,
- -336,0,0,0,0,0,0,0,0,0,
+ -1,0,0,0,0,-37,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-379,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-632,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-1,0,0,0,0,-84,0,0,
+ 0,0,0,0,0,0,0,-169,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-38,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-519,0,
- 0,0,0,0,0,0,-471,0,0,0,
+ -254,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-13,0,0,0,0,0,0,
- 0,0,0,0,0,-183,0,0,0,0,
+ 0,0,0,0,-170,0,0,0,0,0,
+ 0,0,-111,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-36,0,0,0,0,0,0,-487,
- 0,0,0,0,0,0,0,-247,0,0,
- 0,0,0,0,0,0,0,0,0,-153,
+ 0,0,-249,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-184,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,
- 0,0,0,0,0,0,0,0,0,-417,
- 0,0,0,0,0,0,-433,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-550,0,0,
+ -184,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,-201,0,0,0,
+ -203,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,-637,0,-412,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-324,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-255,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,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,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-326,
0,0,0,0,0,0,0,0,0,0,
- 0,0,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,-207,0,
+ 0,0,-68,0,0,0,0,0,0,-327,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-209,0,0,0,0,0,0,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,-252,-208,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-406,0,0,0,0,
+ 0,-36,-210,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,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,0,0,0,0,
- 0,-307,0,0,0,0,0,0,0,0,
+ 0,0,-320,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-185,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-326,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-328,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-327,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,-328,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -330,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -89,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-92,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-90,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-93,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-91,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-92,
+ -94,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-95,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-93,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-97,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-95,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-172,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-170,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-324,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-322,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-325,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-323,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-382,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-380,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-11,0,0,0,0,-86,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -11,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,0,0,
+ 0,0,-473,0,-253,0,0,0,0,0,
+ 0,-14,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-402,0,0,0,0,0,0,
- -14,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-113,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-161,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-424,0,0,0,-195,
- -49,0,0,0,0,0,0,0,0,0,
+ 0,-51,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-253,
- -50,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-431,0,0,0,0,0,0,0,0,
+ -534,-52,0,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,0,0,0,0,0,0,
- -52,0,0,0,0,0,0,0,0,0,
- 0,0,0,-481,0,0,0,0,0,0,
- 0,0,-531,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,-484,0,0,0,0,0,
+ 0,0,0,-579,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
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,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-128,0,0,0,
- 0,-285,0,0,0,0,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,-88,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-575,0,
- 0,0,0,0,0,0,-129,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-130,
+ 0,0,0,0,-287,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,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-148,0,0,0,
- 0,0,0,0,-239,0,-434,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-155,0,0,0,0,0,0,-131,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
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,0,0,0,0,
- 0,0,0,0,-166,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,
- -167,-633,0,0,0,0,0,0,0,0,
+ 0,0,-520,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-150,0,0,0,-197,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-168,0,0,0,0,0,
- 0,0,0,0,0,0,-169,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-410,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,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,-295,0,0,
- 0,0,0,0,-301,0,0,0,0,0,
- -537,0,0,0,0,0,-578,0,0,0,
- 0,0,0,-606,0,0,0,0,0,0,
- -607,0,0,0,0,0,0,0,0,0,
+ 0,0,-202,0,0,0,0,0,0,-277,
+ 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,0,
- 0,0,0,0,0,0,0,-488,0,0,
- 0,0,0,0,0,0,0,0,0,-491,
- 0,0,0,0,0,0,0,-185,0,0,
- 0,0,0,-381,0,0,-520,0,0,-521,
+ 0,0,-433,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-639,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-546,0,0,0,0,0,0,0,
+ 0,0,0,0,-160,0,0,0,0,0,
+ 0,0,0,0,-309,0,0,0,0,0,
+ 0,0,0,0,0,0,-163,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-212,0,0,0,-286,0,0,0,0,
+ -186,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-297,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-187,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-303,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-540,0,0,0,0,0,0,0,
+ 0,-230,0,-582,0,0,0,0,0,0,
+ -426,0,0,0,-610,0,0,0,-611,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-383,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-490,0,-491,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0
+ 0,0,0,-494,0,0,0,0,-523,0,
+ 0,0,0,0,0,0,0,-524,0,0,
+ 0,0,0,0,-643,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,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;
@@ -741,8 +746,8 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface BaseAction {
public final static char baseAction[] = {
- 195,4,145,96,96,31,31,95,95,47,
- 47,42,42,195,1,1,16,16,16,16,
+ 196,4,145,96,96,31,31,95,95,47,
+ 47,42,42,196,1,1,16,16,16,16,
16,16,16,17,17,17,15,11,11,6,
6,6,6,6,6,2,83,83,5,5,
12,12,62,62,162,162,163,72,72,54,
@@ -750,794 +755,800 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
18,18,18,18,18,18,18,18,18,18,
164,164,164,146,146,19,19,19,19,19,
19,19,19,19,19,19,19,19,20,20,
- 196,196,197,197,198,167,167,168,168,165,
+ 197,197,198,198,199,167,167,168,168,165,
165,169,166,166,21,21,22,22,28,28,
28,29,29,29,29,30,30,30,32,32,
32,33,33,33,33,33,34,34,34,36,
36,38,38,39,39,40,40,43,43,44,
44,49,49,48,48,48,48,48,48,48,
48,48,48,48,48,48,46,37,147,147,
- 107,107,199,199,100,229,229,84,84,84,
+ 107,107,200,200,100,230,230,84,84,84,
84,84,84,84,84,84,85,85,85,82,
- 82,63,63,200,200,86,86,86,121,121,
- 201,201,87,87,87,202,202,88,88,88,
+ 82,63,63,201,201,86,86,86,121,121,
+ 202,202,87,87,87,203,203,88,88,88,
88,88,89,89,91,91,91,91,91,91,
91,91,55,55,55,55,55,122,122,120,
- 120,56,203,27,27,27,27,27,53,53,
+ 120,56,204,27,27,27,27,27,53,53,
75,75,75,75,75,108,108,123,123,123,
123,123,124,124,124,125,125,125,126,126,
126,127,127,127,76,76,76,76,76,77,
77,77,13,14,14,14,14,14,14,14,
14,14,14,14,97,112,112,112,112,112,
- 112,110,110,110,171,111,111,204,173,173,
- 172,172,148,148,128,80,80,149,58,52,
- 174,174,59,93,93,150,150,170,170,129,
- 130,130,131,74,74,175,175,70,70,70,
- 66,66,65,71,71,94,94,73,73,73,
- 69,101,101,115,114,114,64,64,67,67,
- 68,68,50,116,116,116,102,102,102,103,
- 103,104,104,104,105,105,132,132,132,134,
- 134,133,133,230,230,106,106,206,206,206,
- 206,206,152,51,51,177,205,205,153,153,
- 98,98,98,99,179,207,207,45,45,109,
- 117,117,117,117,209,136,135,135,113,113,
- 113,180,181,181,181,181,181,181,181,181,
- 181,181,181,211,211,208,208,210,210,138,
- 139,139,139,139,140,212,141,137,137,213,
- 213,182,182,182,182,119,119,119,214,214,
- 8,8,9,215,215,216,183,176,176,184,
- 184,185,186,186,7,7,10,217,217,217,
- 217,217,217,217,217,217,217,217,217,217,
- 217,217,217,217,217,217,217,217,217,217,
- 217,217,217,217,217,217,217,217,217,217,
- 217,217,217,217,217,217,217,217,217,78,
- 81,81,187,187,155,155,156,156,156,156,
- 156,156,3,157,157,154,154,142,142,92,
- 79,90,178,178,143,143,218,218,218,158,
- 158,151,151,219,219,23,23,23,41,41,
- 24,24,220,220,188,188,188,189,189,221,
- 221,190,190,25,25,222,222,191,191,191,
- 191,26,60,223,223,224,224,192,192,192,
- 159,159,159,19,19,19,19,33,33,44,
- 17,85,225,144,144,144,118,118,27,57,
- 75,131,131,131,138,138,138,204,209,136,
- 69,74,171,149,13,13,64,92,92,92,
- 18,14,14,14,68,68,61,35,160,161,
- 161,161,161,161,161,161,161,161,194,194,
- 227,227,226,226,193,193,55,1,1,231,
- 1655,35,2979,2942,1371,6715,27,30,31,1149,
- 1095,26,28,2918,262,25,23,50,1786,106,
- 76,77,108,590,535,536,537,3443,2282,2295,
- 2283,3224,2332,2304,2529,6467,2334,1261,2605,2545,
- 2637,2033,2931,2653,143,274,3637,3244,158,144,
- 5272,35,1155,32,1913,6728,27,30,31,1149,
- 1095,57,28,1366,232,539,535,536,537,539,
- 535,536,537,2050,2260,235,230,231,2103,2189,
- 3686,2262,1457,3278,35,1155,32,3317,3577,27,
- 30,31,1149,1095,338,28,1631,275,1856,2135,
- 2062,34,78,538,535,536,537,3986,5323,242,
- 245,248,251,3858,2285,35,280,694,583,1636,
- 2281,3662,1412,3561,2930,2934,4059,4182,3252,616,
- 403,2583,35,1155,32,2126,5410,27,30,31,
- 1149,1095,26,28,4383,475,511,2883,315,1214,
- 320,1732,35,2979,2942,279,6715,27,30,31,
- 1149,1095,26,28,2918,262,25,23,50,1786,
- 106,76,77,108,590,535,536,537,1890,2282,
- 2295,2283,4121,2332,2304,2529,2232,2334,673,2605,
- 2545,2637,1989,795,2653,143,274,2009,322,158,
- 144,2560,35,1155,32,531,5410,27,30,31,
- 1149,1095,59,28,61,232,2385,4130,4470,566,
- 539,535,536,537,447,1586,235,230,231,5285,
- 35,1155,32,1834,6728,27,30,31,1149,1095,
- 56,28,327,334,2560,35,1155,32,275,5410,
- 27,30,31,1149,1095,58,28,774,1576,5457,
- 242,245,248,251,3858,221,1461,2128,694,583,
- 3955,35,278,865,3561,2930,2934,4059,4182,3029,
- 35,1155,32,3018,3577,27,30,31,1149,1095,
- 338,28,3443,53,4470,4383,1045,1535,2883,3245,
- 35,1155,32,2938,4114,27,30,31,1149,1095,
- 26,28,1726,262,25,23,50,1786,106,76,
- 77,108,1856,35,6250,5648,342,2282,2295,2283,
- 2457,2332,2304,2529,5023,2334,2492,2605,2545,2637,
- 3647,302,2653,143,315,1214,320,517,144,5116,
- 3589,2458,3136,2131,3123,35,1155,32,3052,3577,
- 27,30,31,1149,1095,338,28,518,3245,35,
- 1155,32,2938,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1474,1474,60,443,342,2282,2295,2283,1874,
- 2332,2304,2529,5023,2334,78,2605,2545,2637,2837,
- 4742,2653,143,543,2789,1482,517,144,5116,318,
- 1359,320,554,553,313,1232,6507,618,1728,42,
- 2832,182,538,535,536,537,518,1407,35,1155,
- 32,513,4470,41,30,31,1149,1095,2174,1469,
- 682,2232,2960,2822,1576,2293,2823,1874,3245,35,
- 1155,32,2938,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1991,35,278,565,342,2282,2295,2283,299,
- 2332,2304,2529,5023,2334,498,2605,2545,2637,288,
- 449,2653,143,1856,35,283,517,144,5116,2592,
- 513,1975,35,1155,32,3048,2162,1082,30,31,
- 1149,1095,3054,2355,3141,2823,518,3649,35,1155,
- 32,2938,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 1856,35,294,460,342,2282,2295,2283,1644,2332,
- 2304,2529,5023,2334,1508,2605,2545,2637,2666,53,
- 2653,143,3169,1535,964,517,144,5116,1975,35,
- 1155,32,555,556,40,30,31,1149,1095,390,
- 53,1586,1381,427,3594,518,1991,35,281,350,
- 513,1975,35,1155,32,1913,3241,3267,30,31,
- 1149,1095,3066,1032,4470,2823,3732,35,1155,32,
- 3373,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,1874,
- 1856,35,1089,388,2282,2295,2283,976,2332,2304,
- 2529,3210,2334,311,2605,2545,2637,2033,2345,2653,
- 143,562,351,985,378,144,1856,3136,3330,514,
- 343,2245,2049,348,538,535,536,537,934,1778,
- 2229,35,2243,3045,3243,452,323,978,3329,35,
- 1155,32,3472,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1856,35,294,379,2499,2282,2295,2283,3042,
- 2332,2304,2529,785,2334,49,2605,2545,2637,3397,
- 2345,2653,143,1913,1425,459,378,144,3809,35,
- 1155,32,962,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1856,35,2062,277,3552,2282,2295,2283,385,
- 2332,2304,2529,2315,2334,2089,2605,2545,2637,542,
- 2789,2697,164,2546,1874,1071,379,2499,3406,35,
- 1155,32,970,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2558,3589,324,289,720,2282,2295,2283,3806,
- 2332,2304,2529,2384,2334,3896,2605,2545,2637,3244,
- 2345,2653,143,4167,326,2960,378,144,1424,2935,
- 447,386,1856,35,3860,3566,35,1155,32,2139,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,108,1856,35,
- 2062,279,4855,2282,2295,2283,3137,2332,2304,2529,
- 325,2334,4036,2605,2545,2637,379,2499,2653,143,
- 2760,44,2832,551,144,4029,35,1155,32,342,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,108,2229,35,
- 396,541,818,2282,2295,2283,3480,2332,2304,2529,
- 1874,2334,3685,2605,2545,2637,787,6741,2653,143,
- 681,376,3690,158,144,4029,35,1155,32,1874,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,108,2345,2229,
- 35,396,391,2282,2295,2283,427,2332,2304,2529,
- 355,2334,4104,2605,2545,2637,2854,531,2653,143,
- 1535,53,522,372,144,5350,1856,35,1089,388,
- 4029,35,1155,32,1913,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,108,160,610,2499,6078,3501,2282,2295,
- 2283,3220,2332,2304,2529,549,2334,389,2605,2545,
- 2637,49,2883,2653,143,51,2289,78,372,144,
- 1425,2490,5047,3377,539,535,536,537,1121,3239,
- 1856,3190,4029,35,1155,32,3273,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,106,76,77,108,2368,1069,442,2852,456,
- 2282,2295,2283,2919,2332,2304,2529,371,2334,53,
- 2605,2545,2637,939,3396,2653,143,2285,35,453,
- 372,144,6735,1874,430,3566,35,1155,32,321,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,108,1856,35,
- 2062,282,1880,2282,2295,2283,3607,2332,2304,2529,
- 1913,2334,370,2605,2545,2637,2948,78,2653,143,
- 1535,5207,6173,551,144,6314,78,3483,35,1155,
- 32,4495,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 568,2007,976,156,1368,2282,2295,2283,3137,2332,
- 2304,2529,162,2334,1482,2605,2545,2637,53,97,
- 2653,143,1297,525,368,142,144,4029,35,1155,
- 32,342,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 1856,35,2062,3859,1801,2282,2295,2283,370,2332,
- 2304,2529,1913,2334,53,2605,2545,2637,1008,1045,
- 2653,143,2285,35,280,155,144,4687,4029,35,
- 1155,32,2852,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,446,3008,3017,976,1918,2282,2295,2283,3137,
- 2332,2304,2529,497,2334,550,2605,2545,2637,53,
- 438,2653,143,1098,3244,524,154,144,4029,35,
- 1155,32,342,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2552,35,2062,277,3808,2282,2295,2283,3252,
- 2332,2304,2529,3854,2334,3932,2605,2545,2637,93,
- 53,2653,143,1666,3012,3690,153,144,4029,35,
- 1155,32,1726,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2775,1856,3897,2062,74,2282,2295,2283,53,
- 2332,2304,2529,4335,2334,2727,2605,2545,2637,2177,
- 53,2653,143,1989,5599,2159,152,144,4029,35,
- 1155,32,4130,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2552,35,2062,3898,3846,2282,2295,2283,53,
- 2332,2304,2529,5649,2334,1218,2605,2545,2637,3066,
- 303,2653,143,333,334,354,151,144,4029,35,
- 1155,32,531,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1856,35,2062,3961,1387,2282,2295,2283,3252,
- 2332,2304,2529,352,2334,78,2605,2545,2637,1989,
- 6562,2653,143,3895,79,3690,150,144,4029,35,
- 1155,32,2679,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2852,1218,1856,3850,3846,2282,2295,2283,1913,
- 2332,2304,2529,1254,2334,1162,2605,2545,2637,3626,
- 334,2653,143,1989,2852,421,149,144,4029,35,
- 1155,32,561,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2445,667,1168,3692,1566,2282,2295,2283,3846,
- 2332,2304,2529,476,2334,3136,2605,2545,2637,1989,
- 296,2653,143,329,334,1521,148,144,4029,35,
- 1155,32,2960,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,53,1784,3403,4538,991,2282,2295,2283,53,
- 2332,2304,2529,5699,2334,73,2605,2545,2637,3803,
- 334,2653,143,1989,5232,3690,147,144,4029,35,
- 1155,32,3066,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,404,80,381,766,3382,2282,2295,2283,353,
- 2332,2304,2529,2960,2334,53,2605,2545,2637,2305,
- 2852,2653,143,3811,334,3690,146,144,4029,35,
- 1155,32,3611,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,580,3690,3690,4200,53,2282,2295,2283,1092,
- 2332,2304,2529,568,2334,1241,2605,2545,2637,393,
- 382,2653,143,427,2852,381,145,144,4437,35,
- 1155,32,4407,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,2374,35,1089,388,24,2282,2295,2283,53,
- 2332,2304,2529,1475,2334,53,2605,2545,2637,3079,
- 285,2697,164,4029,35,1155,32,2852,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,108,274,295,286,2154,
- 392,2282,2295,2283,427,2332,2304,2529,377,2334,
- 1876,2605,2545,2637,2854,6747,2653,143,1535,1913,
- 2412,159,144,3880,4029,35,1155,32,3821,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,108,2778,3861,2647,
- 3880,160,2282,2295,2283,53,2332,2304,2529,768,
- 2334,2687,2605,2545,2637,1542,79,2653,143,4070,
- 2139,70,579,144,4029,35,1155,32,2946,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,108,72,88,3447,
- 78,102,2282,2295,2283,6754,2332,2304,2529,3155,
- 2334,2345,2605,2545,2637,53,4470,2653,143,1535,
- 2852,2965,140,144,4470,2366,4097,35,1155,32,
- 558,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,2852,
- 1874,2549,156,3817,2282,2295,2283,81,2332,2304,
- 2529,1589,2334,179,2605,2545,2637,610,2499,2653,
- 143,198,2852,5127,189,144,4437,35,1155,32,
- 2847,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,1856,
- 35,1089,388,3117,2282,2295,2283,53,2332,2304,
- 2529,1256,2334,522,2605,2545,2637,469,1403,2697,
- 164,4437,35,1155,32,2852,4114,27,30,31,
- 1149,1095,26,28,1726,262,25,23,50,1786,
- 106,76,77,108,274,380,98,78,3502,2282,
- 2295,2283,6761,2332,2304,2529,5172,2334,53,2605,
- 2545,2637,2262,53,2697,164,2852,2343,1856,35,
- 1089,388,4437,35,1155,32,423,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,106,76,77,108,53,276,69,4541,2335,
- 2282,2295,2283,2854,2332,2304,2529,1535,2334,1267,
- 2605,2545,2637,274,2175,2697,164,4437,35,1155,
- 32,293,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 160,4131,1282,2502,53,2282,2295,2283,4560,2332,
- 2304,2529,1170,2334,3474,2605,2545,2637,4470,53,
- 2697,164,2854,1489,2852,339,1535,4267,4437,35,
- 1155,32,422,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,1856,35,1089,388,68,2282,2295,2283,160,
- 2332,2304,2529,2597,2334,197,2605,2545,2637,2345,
- 3385,2697,164,4573,35,1155,32,425,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,108,431,1218,2478,2852,
- 53,2282,2295,2283,2085,2332,2304,2529,381,2334,
- 1406,2605,2545,2637,1540,4470,2697,164,4641,35,
- 1089,388,5080,3164,89,610,2499,102,582,3697,
- 53,237,262,590,535,536,537,590,535,536,
- 537,590,535,536,537,2852,1863,35,1155,32,
- 3052,3577,27,30,31,1149,1095,338,28,4986,
- 53,1519,298,274,5259,2229,35,396,2859,539,
- 535,536,537,2630,232,2860,52,2864,232,2307,
- 35,453,232,2852,6735,244,230,231,2769,247,
- 230,231,2571,235,230,231,3137,3156,4880,35,
- 1155,32,3052,5043,27,30,31,1149,1095,338,
- 28,318,1359,320,2920,275,313,1232,477,4718,
- 3458,538,535,536,537,2258,5323,242,245,248,
- 251,3858,1537,3685,3253,694,583,4315,6741,4462,
- 1452,3561,2930,2934,4059,4182,3254,2852,538,535,
- 536,537,777,2866,71,538,535,536,537,2458,
- 3136,2567,4383,318,1359,320,3662,1888,313,1232,
- 4132,331,1291,1671,4437,35,1155,32,571,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,108,4471,359,3775,
- 3999,1888,2282,2295,2283,331,2332,2304,2529,4198,
- 2334,795,2605,2545,3739,1637,1275,4753,35,1089,
- 388,2944,3164,1218,3003,3072,3073,305,309,1088,
- 237,262,1928,5383,53,2852,3137,4623,1535,2345,
- 590,535,536,537,1803,35,1089,388,1830,2487,
- 3036,53,2490,3137,4315,640,402,3037,100,228,
- 3221,2439,274,450,3008,3017,540,3441,858,2852,
- 4470,156,538,535,536,537,4718,2852,342,3720,
- 3621,232,3600,2284,407,723,5023,2958,156,49,
- 1671,1535,235,230,231,610,2499,2844,1425,3717,
- 560,5116,538,535,536,537,1413,288,559,4470,
- 408,409,410,703,275,429,2679,201,1888,2746,
- 1671,2852,331,2852,156,5457,242,245,248,251,
- 3858,2383,3141,3727,694,583,5095,3718,3719,3842,
- 3561,2930,2934,4059,4182,3995,3879,4470,328,2852,
- 6144,2794,90,4071,349,359,199,4437,35,1155,
- 32,4383,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 572,3348,3072,3073,545,2282,2295,2283,2852,2332,
- 2304,2529,3720,2334,406,2605,3709,2022,35,3793,
- 32,3052,5043,27,30,31,1149,1095,338,28,
- 53,4470,411,414,2550,538,535,536,537,3423,
- 538,535,536,537,1856,35,1089,388,2852,2852,
- 2484,3492,3717,1671,4437,35,1155,32,4086,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,85,3575,1796,3610,
- 3581,2535,318,1359,320,2852,1888,313,1232,434,
- 331,1993,4437,35,1155,32,3656,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,106,76,77,108,53,451,172,3775,2139,
- 2282,2295,2283,53,2332,2304,2529,2362,2334,271,
- 3667,4437,35,1155,32,2852,4114,27,30,31,
- 1149,1095,26,28,1726,262,25,23,50,1786,
- 106,76,77,108,2292,5267,419,3763,3520,2282,
- 2295,2283,3844,2332,2304,2529,4457,3669,3145,35,
- 1155,32,3601,5043,27,30,31,1149,1095,338,
- 28,538,535,536,537,538,535,536,537,2648,
- 2851,538,535,536,537,539,535,536,537,3532,
- 53,2141,2559,1671,3542,4165,35,1155,32,4590,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,586,76,77,3129,2852,2852,
- 278,3038,3877,318,1359,320,1888,1888,314,1232,
- 3137,332,2237,35,1155,32,3052,3577,27,30,
- 31,1149,1095,338,28,539,535,536,537,4521,
- 4585,2127,351,4718,474,538,535,536,537,575,
- 345,2245,2049,348,239,262,581,1803,35,1089,
- 388,5001,672,2966,590,535,536,537,773,1856,
- 35,1089,388,2852,1863,35,1155,32,3052,3577,
- 27,30,31,1149,1095,338,28,318,1359,320,
- 53,4606,313,1232,2185,1535,1291,538,535,536,
- 537,2852,49,2345,3722,232,53,3634,53,4606,
- 687,1425,2938,791,49,2966,240,230,231,2012,
- 3800,2741,360,46,523,523,2852,298,156,2748,
- 2852,640,67,5234,5237,342,3500,3229,200,318,
- 1359,320,4199,5023,313,1232,156,2568,1291,1539,
- 2852,305,309,1088,228,2596,180,66,5116,610,
- 2499,65,1230,4470,156,539,535,536,537,976,
- 4334,4470,1830,2596,180,3994,2981,2852,203,215,
- 919,64,202,212,213,214,216,589,636,2742,
- 169,195,3683,539,535,536,537,3132,539,535,
- 536,537,53,305,309,1088,2239,4137,55,168,
- 222,183,167,170,171,172,173,174,193,576,
- 4437,35,1155,32,722,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,108,4477,2852,1608,2852,1,2282,2295,
- 2283,640,2332,2304,3641,2465,35,1155,32,2852,
- 5043,27,30,31,1149,1095,338,28,538,535,
- 536,537,53,3062,228,54,1535,101,538,535,
- 536,537,1230,53,156,199,837,1469,3524,976,
- 3691,53,5195,2596,180,1954,1671,4478,203,215,
- 919,1538,202,212,213,214,216,589,636,156,
- 169,5438,196,1856,35,1089,388,4335,3646,53,
- 318,1359,320,1535,1888,316,1232,3767,332,168,
- 4268,184,167,170,171,172,173,174,3554,3999,
- 4403,1701,181,1863,35,1155,32,3052,3577,27,
- 30,31,1149,1095,338,28,156,5190,433,3440,
- 3404,538,535,536,537,3650,538,535,536,537,
- 1856,35,1089,388,2852,2852,4474,4138,2590,686,
- 4437,35,1155,32,2966,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,83,4475,2687,1790,1892,2854,318,1359,
- 320,1535,2852,313,1232,432,1797,1291,4437,35,
- 1155,32,4269,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,4540,3322,4713,160,3883,2282,2295,2283,718,
- 2332,3653,3313,35,1155,32,3052,3577,27,30,
- 31,1149,1095,338,28,2137,2094,35,1089,388,
- 4336,4542,306,309,1088,4437,35,1155,32,4404,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,108,397,7969,
- 7969,529,640,2282,2295,2283,53,2332,3654,1687,
- 1535,49,7969,7969,3764,7969,7969,318,1359,320,
- 1425,7969,313,1232,7969,228,3942,7969,47,7969,
- 7969,7969,7969,1230,7969,156,7969,7969,1190,2364,
- 976,7969,2854,156,2596,180,1535,1320,7969,203,
- 215,919,3670,202,212,213,214,216,589,636,
- 7969,169,590,535,536,537,3051,35,3793,32,
- 3052,3577,27,30,31,1149,1095,338,28,160,
- 168,7969,3837,167,170,171,172,173,174,3877,
- 535,536,537,7969,1919,35,1089,388,7969,7969,
- 7969,1537,7969,232,7969,7969,4315,4287,496,7969,
- 1913,7969,640,7969,250,230,231,7969,7969,7969,
- 7969,7969,7969,7969,538,535,536,537,7969,7969,
- 7969,318,1359,320,7969,228,313,1232,7969,49,
- 1993,7969,1671,1230,7969,156,7969,1913,1425,3766,
- 976,7969,976,7969,2596,180,2099,7969,7969,203,
- 215,919,2740,202,212,213,214,216,589,636,
- 1888,169,595,375,331,53,640,7969,7969,1535,
- 7969,7969,7969,7969,7969,590,535,536,537,976,
- 168,7969,178,167,170,171,172,173,174,228,
- 7969,7969,5712,7969,6323,419,3763,1230,7969,156,
- 375,7969,156,7969,976,7969,7969,7969,2596,180,
- 7969,1753,7969,203,215,919,232,202,212,213,
- 214,216,589,636,7969,169,7969,253,230,231,
- 3362,35,3793,32,3052,3577,27,30,31,1149,
- 1095,338,28,7969,168,7969,176,167,170,171,
- 172,173,174,538,535,536,537,3765,35,3793,
- 32,3052,3577,27,30,31,1149,1095,338,28,
- 53,4287,7969,7969,1535,3225,7969,373,7969,640,
- 3877,535,536,537,7969,1856,35,1089,388,7969,
- 7969,7969,7969,7969,7969,318,1359,320,4287,694,
- 313,1232,342,640,1993,3551,7969,156,7969,3137,
- 5023,7969,156,7969,2839,7969,3779,976,7969,7969,
- 7969,2404,318,1359,320,5116,228,313,1232,7969,
- 49,1993,4718,7969,1230,7969,156,7969,2350,1425,
- 7969,976,7969,2204,7969,2596,180,3462,7969,7969,
- 203,215,919,2834,202,212,213,214,216,589,
- 636,7969,169,793,7969,7969,7969,640,6459,419,
- 3763,7969,7969,7969,7969,7969,590,535,536,537,
- 7969,168,7969,581,167,170,171,172,173,174,
- 228,7969,7969,7969,7969,6323,419,3763,1230,7969,
- 156,7969,7969,7969,7969,976,7969,7969,7969,2596,
- 180,505,7969,7969,203,215,919,232,202,212,
- 213,214,216,589,636,7969,169,892,585,230,
- 231,640,4910,35,1155,32,3052,3577,27,30,
- 31,1149,1095,338,28,168,7969,177,167,170,
- 171,172,173,174,228,539,535,536,537,7969,
- 502,504,1230,7969,156,1856,35,1089,388,976,
- 7969,7969,7969,2596,180,7969,7969,7969,203,215,
- 919,7969,202,212,213,214,216,589,636,7969,
- 169,991,3081,7969,7969,640,7969,318,1359,320,
- 7969,7969,313,1232,7969,7969,3458,7969,7969,168,
- 49,187,167,170,171,172,173,174,228,1425,
- 7969,7969,7969,7969,7969,7969,1230,1699,156,7969,
- 2571,7969,7969,976,3137,7969,7969,2596,180,7969,
- 7969,7969,203,215,919,7969,202,212,213,214,
- 216,589,636,7969,169,1090,7969,4718,7969,640,
- 2653,35,1155,32,7969,3577,27,30,31,1149,
- 1095,338,28,168,7969,3985,167,170,171,172,
- 173,174,228,539,535,536,537,7969,7969,7969,
- 1230,7969,156,1856,35,1089,388,976,7969,7969,
- 7969,2596,180,7969,7969,7969,203,215,919,2928,
- 202,212,213,214,216,589,636,7969,169,1189,
- 7969,7969,7969,640,7969,318,1359,320,7969,7969,
- 601,1232,590,535,536,537,359,168,49,192,
- 167,170,171,172,173,174,228,1425,7969,7969,
- 7969,7969,7969,7969,1230,2312,156,1856,35,1089,
- 388,976,3593,3072,3073,2596,180,7969,7969,7969,
- 203,215,919,232,202,212,213,214,216,589,
- 636,7969,169,1288,236,230,231,640,1905,35,
- 1155,32,6272,3577,27,30,31,1149,1095,338,
- 28,168,49,186,167,170,171,172,173,174,
- 228,1425,2108,35,1089,388,7969,7969,1230,910,
- 156,7969,7969,7969,7969,976,7969,7969,7969,2596,
- 180,7969,7969,7969,203,215,919,7969,202,212,
- 213,214,216,589,636,7969,169,7969,7969,7969,
- 7969,7969,7969,318,1359,320,7969,49,313,1232,
- 7969,7969,3351,7969,7969,168,1425,194,167,170,
- 171,172,173,174,47,7969,7969,7969,7969,7969,
- 7969,7969,351,7969,1151,7969,7969,7969,7969,7969,
- 343,2245,2049,348,7969,7969,7969,7969,7969,7969,
- 4437,35,1155,32,3350,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,108,7969,7969,7969,7969,7969,2282,2295,
- 2283,7969,3530,4437,35,1155,32,7969,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,108,7969,7969,7969,7969,
- 7969,2282,2295,2283,7969,3564,7969,4437,35,1155,
- 32,7969,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 7969,7969,7969,7969,365,2282,2295,2283,7969,3569,
- 4437,35,1155,32,7969,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,108,7969,7969,7969,7969,7969,2282,2295,
- 2283,7969,3576,4437,35,1155,32,7969,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,108,7969,7969,7969,7969,
- 7969,2282,2295,2283,7969,3582,4437,35,1155,32,
- 7969,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,7969,
- 7969,7969,7969,3439,2282,2295,2283,5539,3588,3920,
- 35,1155,32,5642,3577,27,30,31,1149,1095,
- 338,28,7969,1803,35,1089,388,2108,35,1089,
- 388,7969,7969,7969,7969,7969,4437,35,1155,32,
- 350,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,7969,
- 7969,7969,7969,7969,2282,2295,3627,7969,49,7969,
- 7969,7969,49,7969,318,1359,320,1425,7969,313,
- 1232,1425,7969,1728,7969,6200,7969,7969,7969,47,
- 7969,7969,7969,7969,7969,2748,3850,351,7969,1236,
- 5539,7969,7969,351,7969,343,2245,2049,348,7969,
- 7969,343,2245,2049,348,7969,7969,7969,7969,615,
- 7969,4437,35,1155,32,3243,4114,27,30,31,
- 1149,1095,26,28,1726,262,25,23,50,1786,
- 106,76,77,108,7969,7969,7969,7969,7969,2282,
- 2295,3640,3887,35,1155,32,7969,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,106,76,77,107,4062,35,1155,32,6272,
- 3577,27,30,31,1149,1095,338,28,7969,7969,
- 351,7969,7969,7969,2345,7969,7969,7969,343,2245,
- 2049,348,7969,2182,7969,7969,7969,2938,4233,35,
- 1155,32,341,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,575,76,77,
- 228,7969,7969,7969,7969,7969,7969,7969,1230,4218,
- 318,1359,320,3137,7969,313,1232,4266,7969,526,
- 610,2499,7969,7969,205,215,919,7969,204,212,
- 213,214,216,589,636,7969,4718,7969,7969,351,
- 538,535,536,537,1588,1327,294,343,2245,2049,
- 348,206,208,210,703,7969,53,7969,3690,7969,
- 2938,527,7969,7969,217,207,209,538,535,536,
- 537,7969,7969,4697,35,1089,388,7969,3164,7969,
- 53,7969,7969,342,791,682,238,262,1588,35,
- 294,5023,7969,13,7969,6151,590,535,536,537,
- 1809,7969,7969,7969,3137,4623,5116,342,7969,7969,
- 7969,538,535,536,537,505,7969,156,274,53,
- 7969,7969,7969,2938,2988,7969,188,228,7969,682,
- 3972,7969,7969,2465,35,1155,32,232,5043,27,
- 30,31,1149,1095,338,28,342,7969,236,230,
- 231,2284,407,723,5023,7969,538,535,536,537,
- 1856,35,1089,388,502,504,7969,3551,644,5116,
- 275,3137,1049,7969,4590,7969,7969,7969,408,409,
- 410,703,243,246,249,252,3858,2995,4607,7969,
- 694,584,791,1373,4718,7969,3924,7969,318,1359,
- 320,3435,1888,314,1232,49,332,4809,35,1089,
- 388,7969,3164,7969,1425,342,1049,7969,7969,2794,
- 238,262,2099,7969,7969,156,7969,7969,7969,7969,
- 590,535,536,537,188,7969,7969,1373,3972,7969,
- 7969,7969,7969,7969,7969,7969,7969,7969,4437,35,
- 1155,32,274,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 108,232,7969,505,7969,7969,2282,3417,7969,7969,
- 411,413,236,230,231,7969,7969,7969,7969,1537,
- 7969,7969,7969,7969,4315,7969,7969,7969,7969,7969,
- 7969,7969,7969,7969,275,7969,7969,7969,1582,190,
- 7969,3152,538,535,536,537,243,246,249,252,
- 3858,7969,503,504,694,584,4437,35,1155,32,
- 1671,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,108,2411,
- 7969,7969,7969,2938,2282,3429,7969,7969,1888,7969,
- 7969,7969,331,7969,7969,7969,7969,7969,7969,7969,
- 7969,7969,7969,7969,7969,7969,228,7969,7969,7969,
- 7969,7969,7969,7969,1230,7969,7969,7969,7969,3331,
- 6144,7969,2487,7969,7969,7969,3137,4315,3686,2505,
- 205,215,919,2938,204,212,213,214,216,589,
- 636,7969,7969,7969,7969,538,535,536,537,4718,
- 7969,538,535,536,537,7969,228,206,208,210,
- 703,7969,7969,1671,1230,7969,7969,7969,7969,3662,
- 217,207,209,7969,7969,7969,7969,7969,7969,2599,
- 205,215,919,2938,204,212,213,214,216,589,
- 636,1888,5048,7969,7969,331,7969,4315,7969,2005,
- 7969,6151,7969,7969,7969,7969,228,206,208,210,
- 703,7969,7969,7969,1230,538,535,536,537,7969,
- 217,207,209,3468,7969,7969,7969,7969,359,7969,
- 205,215,919,1671,204,212,213,214,216,589,
- 636,7969,7969,7969,7969,7969,7969,7969,7969,2155,
- 7969,6151,7969,7969,3348,3072,3073,206,208,210,
- 703,1888,7969,7969,2738,332,7969,7969,7969,7969,
- 217,207,209,7969,4437,35,1155,32,7969,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,108,7969,7969,2382,
- 7969,6151,3454,4437,35,1155,32,7969,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,108,7969,4437,35,1155,
- 32,3489,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,108,
- 7969,4437,35,1155,32,3490,4114,27,30,31,
- 1149,1095,26,28,1726,262,25,23,50,1786,
- 106,76,77,82,4437,35,1155,32,7969,4114,
- 27,30,31,1149,1095,26,28,1726,262,25,
- 23,50,1786,106,76,77,81,4437,35,1155,
- 32,7969,4114,27,30,31,1149,1095,26,28,
- 1726,262,25,23,50,1786,106,76,77,80,
- 4437,35,1155,32,7969,4114,27,30,31,1149,
- 1095,26,28,1726,262,25,23,50,1786,106,
- 76,77,79,4437,35,1155,32,7969,4114,27,
- 30,31,1149,1095,26,28,1726,262,25,23,
- 50,1786,106,76,77,78,4437,2135,1155,2255,
- 7969,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,106,76,77,84,3961,
- 35,1155,32,7969,4114,27,30,31,1149,1095,
- 26,28,1726,262,25,23,50,1786,106,76,
- 77,104,4437,35,1155,32,7969,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,106,76,77,110,4437,35,1155,32,7969,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,106,76,77,109,4437,35,
- 1155,32,7969,4114,27,30,31,1149,1095,26,
- 28,1726,262,25,23,50,1786,106,76,77,
- 105,2317,7969,7969,7969,2938,4301,35,1155,32,
- 7969,4114,27,30,31,1149,1095,26,28,1726,
- 262,25,23,50,1786,573,76,77,228,7969,
- 7969,7969,7969,7969,7969,7969,1230,7969,7969,7969,
- 7969,7969,7969,7969,2675,7969,7969,7969,7969,4315,
- 7969,2047,205,215,919,2938,204,212,213,214,
- 216,589,636,7969,7969,7969,7969,538,535,536,
- 537,7969,7969,1803,35,1089,388,7969,228,206,
- 208,210,703,7969,7969,1671,1230,7969,7969,7969,
- 7969,7969,519,207,209,7969,3720,7969,7969,7969,
- 5258,2693,205,215,919,2938,204,212,213,214,
- 216,589,636,1888,7969,7969,7969,332,49,538,
- 535,536,537,538,535,536,537,1425,228,206,
- 208,210,703,7969,7969,47,1230,1671,351,7969,
- 7969,1671,218,207,209,1143,345,2245,2049,348,
- 4133,2787,205,215,919,2938,204,212,213,214,
- 216,589,636,7969,7969,3415,7969,7969,7969,3038,
- 7969,7969,1537,538,535,536,537,4315,228,206,
- 208,210,703,1218,7969,7969,1230,7969,7969,7969,
- 7969,3662,609,207,209,538,535,536,537,7969,
- 7969,2881,205,215,919,2938,204,212,213,214,
- 216,589,636,1671,1537,7969,7969,7969,7969,4315,
- 7969,7969,7969,4337,7969,7969,7969,7969,228,206,
- 208,210,703,7969,7969,7969,1230,538,535,536,
- 537,1888,608,207,209,331,538,535,536,537,
- 7969,7969,205,215,919,1671,204,212,213,214,
- 216,589,636,7969,3695,7969,7969,7969,7969,7969,
- 7969,7969,7969,3468,7969,7969,7969,7969,7969,206,
- 208,210,703,1888,7969,7969,2743,6488,7969,7969,
- 7969,7969,607,207,209,4369,35,1155,32,7969,
- 4114,27,30,31,1149,1095,26,28,1726,262,
- 25,23,50,1786,86,76,77,2975,7969,7969,
- 7969,2938,4505,35,1155,32,7969,4114,27,30,
- 31,1149,1095,26,28,1726,262,25,23,50,
- 1786,3256,76,77,228,7969,7969,7969,7969,7969,
- 7969,7969,1230,7969,7969,7969,7969,7969,7969,4402,
- 7969,7969,7969,7969,7969,7969,7969,3069,205,215,
- 919,2938,204,212,213,214,216,589,636,7969,
- 7969,94,538,535,536,537,7969,7969,5222,7969,
- 7969,7969,7969,4315,228,206,208,210,703,7969,
- 3690,7969,1230,7969,7969,7969,7969,2261,520,207,
- 209,538,535,536,537,5144,7969,3163,205,215,
- 919,2938,204,212,213,214,216,589,636,1671,
- 590,535,536,537,7969,7969,7969,7969,590,535,
- 536,537,7969,7969,228,206,208,210,703,7969,
- 7969,7969,1230,7969,7969,7969,7969,1888,304,207,
- 209,6488,2379,35,1089,388,7969,7969,205,215,
- 919,232,204,212,213,214,216,589,636,232,
- 7969,7969,235,230,231,3225,7969,7969,7969,640,
- 235,230,231,7969,7969,206,208,210,703,7969,
- 7969,3225,4472,7969,7969,640,2938,49,499,207,
- 209,7969,342,7969,7969,4639,1425,7969,7969,7969,
- 5023,7969,156,4639,47,7969,7969,976,342,342,
- 7969,2404,7969,530,1351,5116,5023,5023,156,7969,
- 7969,7969,7969,976,7969,3225,7969,2404,2350,640,
- 7969,5116,5116,2600,7969,96,7969,3225,7969,7969,
- 7969,640,7969,7969,2350,7969,7969,628,618,2629,
- 533,7969,342,7969,7969,628,618,3225,7969,7969,
- 5023,640,156,7969,342,7969,7969,976,7969,7969,
- 7969,2404,5023,7969,156,5116,7969,7969,7969,976,
- 7969,630,7969,2404,342,7969,7969,5116,2350,631,
- 7969,7969,5023,2652,156,2038,35,1089,388,976,
- 2350,7969,7969,2404,7969,2705,7969,5116,2108,35,
- 1089,388,7969,617,6515,1803,35,1089,388,7969,
- 2350,1803,35,1089,388,3349,7969,1803,35,1089,
- 388,7969,7969,7969,1803,35,1089,388,7969,7969,
- 49,1803,35,1089,388,7969,7969,7969,7969,1425,
- 7969,7969,7969,49,7969,7969,7969,2834,7969,7969,
- 49,7969,1425,7969,7969,7969,49,2679,7969,1425,
- 3060,7969,49,7969,7969,1425,7969,47,53,49,
- 2431,1425,791,47,7969,7969,49,1280,1425,47,
- 53,7969,7969,2871,791,1425,47,7969,53,3344,
- 7969,3990,2938,47,53,342,3833,53,2938,7969,
- 53,2938,7969,3890,2938,156,7969,342,7969,7969,
- 7969,7969,7969,7969,188,342,53,156,3972,7969,
- 2938,342,7969,5023,342,7969,188,342,7969,5023,
- 3972,7969,5023,7969,7969,5023,7969,7969,5116,7969,
- 7969,7969,7969,342,5116,7969,7969,5116,7969,7969,
- 5116,5023,7969,7969,7969,7969,2997,7969,7969,7969,
- 7969,7969,3308,7969,7969,509,5116,7969,507,7969,
- 7969,7969,7969,7969,7969,7969,7969,7969,7969,7969,
- 7969,7969,7969,7969,534,7969,7969,7969,7969,3528,
- 7969,7969,7969,7969,7969,7969,7969,7969,7969,7969,
- 7969,3529,7969,0,1,229,1140,0,501,6101,
- 0,1,229,0,39,8607,0,39,8606,635,
- 0,39,7984,0,39,7983,0,1,994,0,
- 1077,1,0,39,1,8607,0,39,1,8606,
- 0,39,1,7984,0,39,1,7983,0,1,
- 1512,0,1,738,0,229,219,0,1,828,
- 0,1,897,0,1,913,0,8203,223,0,
- 8202,223,0,828,223,0,897,223,0,913,
- 223,0,8575,223,0,8306,223,0,8305,223,
- 0,8230,223,0,8229,223,0,8228,223,0,
- 8227,223,0,8226,223,0,8225,223,0,8224,
- 223,0,8223,223,0,8203,224,0,8202,224,
- 0,828,224,0,897,224,0,913,224,0,
- 8575,224,0,8306,224,0,8305,224,0,8230,
- 224,0,8229,224,0,8228,224,0,8227,224,
- 0,8226,224,0,8225,224,0,8224,224,0,
- 8223,224,0,8203,225,0,8202,225,0,828,
- 225,0,897,225,0,913,225,0,8575,225,
- 0,8306,225,0,8305,225,0,8230,225,0,
- 8229,225,0,8228,225,0,8227,225,0,8226,
- 225,0,8225,225,0,8224,225,0,8223,225,
- 0,913,394,0,897,394,0,828,394,0,
- 284,394,0,8203,226,0,8202,226,0,828,
- 226,0,897,226,0,913,226,0,8575,226,
- 0,8306,226,0,8305,226,0,8230,226,0,
- 8229,226,0,8228,226,0,8227,226,0,8226,
- 226,0,8225,226,0,8224,226,0,8223,226,
- 0,284,287,0,8203,227,0,8202,227,0,
- 828,227,0,897,227,0,913,227,0,8575,
- 227,0,8306,227,0,8305,227,0,8230,227,
- 0,8229,227,0,8228,227,0,8227,227,0,
- 8226,227,0,8225,227,0,8224,227,0,8223,
- 227,0,1739,387,0,39,8606,0,8607,48,
- 0,8606,48,0,7984,48,0,7983,48,0,
- 8203,588,0,8202,588,0,828,588,0,897,
- 588,0,913,588,0,8575,588,0,8306,588,
- 0,8305,588,0,8230,588,0,8229,588,0,
- 8228,588,0,8227,588,0,8226,588,0,8225,
- 588,0,8224,588,0,8223,588,0,8203,241,
- 0,8202,241,0,828,241,0,897,241,0,
- 913,241,0,8575,241,0,8306,241,0,8305,
- 241,0,8230,241,0,8229,241,0,8228,241,
- 0,8227,241,0,8226,241,0,8225,241,0,
- 8224,241,0,8223,241,0,8582,241,0,8581,
- 241,0,8580,241,0,8242,241,0,8241,241,
- 0,8240,241,0,8239,241,0,8238,241,0,
- 8237,241,0,8236,241,0,8235,241,0,8234,
- 241,0,8233,241,0,8232,241,0,8574,241,
- 0,8573,241,0,39,241,8607,0,39,241,
- 8606,634,0,39,241,7984,0,39,241,7983,
- 0,8007,241,0,1,330,0,38,738,0,
- 38,8607,0,38,8606,0,38,7984,0,38,
- 7983,0,454,1894,0,440,1949,0,1739,29,
- 0,7981,1,0,2000,317,0,913,598,0,
- 897,598,0,828,598,0,602,598,0,602,
- 597,0,8032,75,0,8031,75,0,690,75,
- 0,869,75,0,2494,75,0,2595,75,0,
- 1,600,0,1,444,0,458,1097,0,457,
- 1279,0,35,33,0,47,37,0,7981,383,
- 0,7980,383,0,913,600,0,897,600,0,
- 828,600,0,828,633,0,897,633,0,913,
- 633,0,8588,633,0,501,2821,0,8007,1,
- 229,0,39,1,229,0,229,416,0,1,
- 1806,0,1,8582,0,1,8581,0,1,8580,
- 0,1,8242,0,1,8241,0,1,8240,0,
- 1,8239,0,1,8238,0,1,8237,0,1,
- 8236,0,1,8235,0,1,8234,0,1,8233,
- 0,1,8232,0,1,8574,0,1,8573,0,
- 1,5228,0,8607,37,0,8606,37,0,7984,
- 37,0,7983,37,0,43,8005,0,43,37,
- 0,1209,91,0,32,34,0,7977,1,0,
- 39,738,0,913,330,0,897,330,0,828,
- 330,0,39,241,8606,0,1,1558,0,1,
- 1609,0,229,220,0,4963,126,0,8203,629,
- 0,8202,629,0,828,629,0,897,629,0,
- 913,629,0,8575,629,0,8306,629,0,8305,
- 629,0,8230,629,0,8229,629,0,8228,629,
- 0,8227,629,0,8226,629,0,8225,629,0,
- 8224,629,0,8223,629,0,828,632,0,897,
- 632,0,913,632,0,8588,632,0,7979,405,
- 0,7978,405,0,229,415,0,7981,587,383,
- 0,7980,587,383,0,1,229,3177,0,7978,
- 229,0,3178,229,0,7975,1,0,7974,1,
- 0,237,1626,0,388,32,0,387,29,0,
- 913,445,0,897,445,0,828,445,0,8007,
- 445,0,39,445,0,330,445,0,8005,45,
- 0,37,45,0,7981,576,383,0,7980,576,
- 383,0,7981,574,383,0,7980,574,383,0,
- 7981,87,383,0,7980,87,383,0,1,92,
- 0,3805,229,0,10,12,0,8007,1,0,
- 39,1,0,586,575,0,8575,335,0,8306,
- 335,0,8305,335,0,4963,128,0,4963,127,
- 0,4195,100,0,8,10,12,0,8607,2,
- 37,0,8606,2,37,0,7984,2,37,0,
- 7983,2,37,0,8607,36,0,8606,36,0,
- 7984,36,0,7983,36,0,913,595,0,897,
- 595,0,828,595,0,913,594,0,897,594,
- 0,828,594,0,538,539,0,4062,103,0,
- 2893,99,0,913,95,0,897,95,0,828,
- 95,0,8007,95,0,39,95,0,330,95,
- 0,7981,587,576,383,0,587,576,0,35,
- 73,0,3965,383,0,913,595,596,0,897,
- 595,596,0,828,595,596,0,595,596,0,
- 279,2842,0,8,12,0,185,4649,0
+ 112,110,110,110,171,172,172,111,111,205,
+ 174,174,173,173,148,148,128,80,80,149,
+ 58,52,175,175,59,93,93,150,150,170,
+ 170,129,130,130,131,74,74,176,176,70,
+ 70,70,66,66,65,71,71,94,94,73,
+ 73,73,69,101,101,115,114,114,64,64,
+ 67,67,68,68,50,116,116,116,102,102,
+ 102,103,103,104,104,104,105,105,132,132,
+ 132,134,134,133,133,231,231,106,106,207,
+ 207,207,207,207,152,51,51,178,206,206,
+ 153,153,98,98,98,99,180,208,208,45,
+ 45,109,117,117,117,117,210,136,135,135,
+ 113,113,113,181,182,182,182,182,182,182,
+ 182,182,182,182,182,212,212,209,209,211,
+ 211,138,139,139,139,139,140,213,141,137,
+ 137,214,214,183,183,183,183,119,119,119,
+ 215,215,8,8,9,216,216,217,184,177,
+ 177,185,185,186,187,187,7,7,10,218,
+ 218,218,218,218,218,218,218,218,218,218,
+ 218,218,218,218,218,218,218,218,218,218,
+ 218,218,218,218,218,218,218,218,218,218,
+ 218,218,218,218,218,218,218,218,218,218,
+ 218,78,81,81,188,188,155,155,156,156,
+ 156,156,156,156,3,157,157,154,154,142,
+ 142,92,79,90,179,179,143,143,219,219,
+ 219,158,158,151,151,220,220,23,23,23,
+ 41,41,24,24,221,221,189,189,189,190,
+ 190,222,222,191,191,25,25,223,223,192,
+ 192,192,192,26,60,224,224,225,225,193,
+ 193,193,159,159,159,19,19,19,19,33,
+ 33,44,17,85,226,144,144,144,118,118,
+ 27,57,75,131,131,131,138,138,138,205,
+ 210,136,69,74,171,149,13,13,64,92,
+ 92,92,18,14,14,14,68,68,61,35,
+ 160,161,161,161,161,161,161,161,161,161,
+ 195,195,228,228,227,227,194,194,14,64,
+ 55,1,1,232,1907,35,3192,3160,60,6706,
+ 27,30,31,1140,1092,26,28,3119,262,25,
+ 23,50,1953,106,76,77,108,592,537,538,
+ 539,1681,2383,2443,2432,180,2540,2507,2646,1533,
+ 2579,2845,2778,2656,2840,3658,180,2971,143,274,
+ 3605,2141,158,144,5626,35,1165,32,2389,6728,
+ 27,30,31,1140,1092,57,28,3600,232,2419,
+ 35,455,2499,2530,6769,2245,3364,1533,2390,235,
+ 230,231,5640,35,1165,32,1624,6728,27,30,
+ 31,1140,1092,56,28,1781,4010,5666,35,1165,
+ 32,275,5148,27,30,31,1140,1092,59,28,
+ 156,3926,5243,242,245,248,251,5019,2253,3341,
+ 200,1588,585,1983,2742,3364,54,3572,2985,3948,
+ 4320,4576,5680,35,1165,32,182,5148,27,30,
+ 31,1140,1092,26,28,329,336,513,5612,201,
+ 1152,3109,1986,35,3192,3160,93,6706,27,30,
+ 31,1140,1092,26,28,3119,262,25,23,50,
+ 1953,106,76,77,108,592,537,538,539,2081,
+ 2383,2443,2432,5142,2540,2507,2646,6583,2579,941,
+ 2778,2656,2840,1955,1697,2971,143,274,789,208,
+ 158,144,5666,35,1165,32,209,5148,27,30,
+ 31,1140,1092,58,28,2973,232,325,61,2140,
+ 3230,2531,180,291,3148,792,1533,235,230,231,
+ 3515,35,1165,32,1,3727,41,30,31,1140,
+ 1092,1352,541,537,538,539,60,4655,344,275,
+ 2245,35,1089,390,448,3248,3268,1629,156,156,
+ 5391,242,245,248,251,5019,556,188,2399,1588,
+ 585,3120,290,42,3108,3572,2985,3948,4320,4576,
+ 5398,35,1165,32,3069,4679,27,30,31,1140,
+ 1092,340,28,1559,3526,454,5612,1580,3389,3109,
+ 3529,35,1165,32,2989,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,108,3809,35,278,361,344,2383,2443,
+ 2432,1629,2540,2507,2646,3692,2579,131,2778,2656,
+ 2840,618,190,2971,143,317,1237,322,519,144,
+ 4924,1826,3054,3346,3347,5613,35,1165,32,3141,
+ 4679,27,30,31,1140,1092,340,28,520,3529,
+ 35,1165,32,2989,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,2245,2134,2105,34,344,2383,2443,2432,
+ 445,2540,2507,2646,3692,2579,1931,2778,2656,2840,
+ 57,3734,2971,143,2946,6430,2145,519,144,4924,
+ 320,1156,322,3465,3042,315,763,557,423,1476,
+ 2459,35,398,540,537,538,539,520,5694,35,
+ 1165,32,515,1425,1738,30,31,1140,1092,441,
+ 567,859,540,2185,3059,543,829,3096,1808,3529,
+ 35,1165,32,2989,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,1981,2245,35,296,344,2383,2443,2432,
+ 2145,2540,2507,2646,3692,2579,5671,2778,2656,2840,
+ 639,6783,2971,143,2245,35,283,519,144,4924,
+ 570,515,5694,35,1165,32,2057,3046,40,30,
+ 31,1140,1092,3284,568,738,3096,520,3939,35,
+ 1165,32,2989,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,35,5457,5261,344,2383,2443,2432,2003,
+ 2540,2507,2646,3692,2579,3651,2778,2656,2840,3044,
+ 50,2971,143,5606,6525,620,519,144,4924,5694,
+ 35,1165,32,1792,2259,3430,30,31,1140,1092,
+ 2419,35,280,3046,3565,3599,520,431,3148,205,
+ 352,515,2245,35,2105,277,541,537,538,539,
+ 326,1509,936,3323,332,1907,3096,4023,35,1165,
+ 32,344,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,108,
+ 1935,5038,35,278,3725,2383,2443,2432,3416,2540,
+ 2507,2646,2254,2579,392,2778,2656,2840,429,2335,
+ 2971,143,229,353,5671,380,144,2742,3364,6783,
+ 516,345,2434,2433,350,540,537,538,539,432,
+ 500,2459,35,2243,4009,3255,2459,35,398,3613,
+ 35,1165,32,3483,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,2245,35,3843,381,2353,2383,2443,2432,
+ 2283,2540,2507,2646,2331,2579,49,2778,2656,2840,
+ 393,2335,2971,143,429,1578,1696,380,144,4748,
+ 35,1165,32,1191,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,2257,2671,2245,3240,3148,2383,2443,2432,
+ 387,2540,2507,2646,1559,2579,2464,2778,2656,3812,
+ 2419,35,280,1907,3227,4624,1352,381,2353,4655,
+ 3692,35,1165,32,766,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,108,3787,88,290,3209,102,2383,2443,
+ 2432,3654,2540,2507,2646,3068,2579,5548,2778,2656,
+ 2840,6255,2335,2971,143,2124,2865,154,380,144,
+ 3036,3389,388,3855,35,1165,32,431,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,108,70,323,507,154,
+ 5208,2383,2443,2432,3148,2540,2507,2646,3874,2579,
+ 78,2778,2656,2840,221,4985,2971,143,381,2353,
+ 2259,553,144,4322,35,1165,32,344,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,108,304,505,506,78,
+ 823,2383,2443,2432,5533,2540,2507,2646,3501,2579,
+ 180,2778,2656,2840,1533,180,2971,143,538,6423,
+ 3229,158,144,378,4322,35,1165,32,3501,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,3206,629,313,
+ 681,218,2383,2443,2432,180,2540,2507,2646,940,
+ 2579,3501,2778,2656,2840,3980,462,2971,143,1533,
+ 1575,377,374,144,541,537,538,539,78,4322,
+ 35,1165,32,6665,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,160,681,544,3045,93,2383,2443,2432,
+ 1035,2540,2507,2646,551,2579,1739,2778,2656,2840,
+ 3109,1134,2971,143,377,3494,2212,374,144,3890,
+ 35,455,1332,2865,6769,1431,2549,2245,35,1089,
+ 390,4322,35,1165,32,3312,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,108,499,1223,444,2289,458,2383,
+ 2443,2432,2970,2540,2507,2646,373,2579,154,2778,
+ 2656,2840,49,4244,2971,143,375,1533,78,374,
+ 144,46,3057,6687,3855,35,1165,32,3501,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,2245,35,296,
+ 156,1681,2383,2443,2432,301,2540,2507,2646,162,
+ 2579,372,2778,2656,2840,440,78,2971,143,2890,
+ 2235,4432,553,144,4102,35,1165,32,3727,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,2245,35,1089,
+ 390,3501,2383,2443,2432,1811,2540,2507,2646,555,
+ 2579,78,2778,2656,2840,1781,6702,2979,164,3771,
+ 35,1165,32,370,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,433,681,452,3248,3268,2383,2443,2432,
+ 180,2540,2507,2646,2205,2579,2259,2778,2656,2840,
+ 1681,2694,2971,143,3051,335,336,142,144,1781,
+ 328,3809,35,281,2343,2934,1864,2144,4322,35,
+ 1165,32,6794,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,35,2105,279,1529,2383,2443,2432,3148,
+ 2540,2507,2646,3788,2579,552,2778,2656,2840,3547,
+ 336,2971,143,3650,1781,2039,155,144,4322,35,
+ 1165,32,344,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,3136,461,1641,2031,1467,2383,2443,2432,1811,
+ 2540,2507,2646,61,2579,180,2778,2656,2840,1009,
+ 558,2971,143,3501,331,336,154,144,4322,35,
+ 1165,32,2153,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,35,2105,282,1811,2383,2443,2432,180,
+ 2540,2507,2646,1099,2579,2295,2778,2656,2840,524,
+ 180,2971,143,1781,860,1984,153,144,4322,35,
+ 1165,32,3046,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,35,2105,3842,2545,2383,2443,2432,180,
+ 2540,2507,2646,3722,2579,2575,2778,2656,2840,1781,
+ 2865,2971,143,3694,336,1530,152,144,4322,35,
+ 1165,32,3046,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,563,1568,2826,1647,3327,2383,2443,2432,449,
+ 2540,2507,2646,1331,2579,1729,2778,2656,2840,3737,
+ 336,2971,143,154,2880,3041,151,144,4322,35,
+ 1165,32,2599,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2762,35,2105,277,180,2383,2443,2432,5563,
+ 2540,2507,2646,1421,2579,2124,2778,2656,2840,395,
+ 564,2971,143,429,2880,2039,150,144,4322,35,
+ 1165,32,3501,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,3879,2105,74,180,2383,2443,2432,5613,
+ 2540,2507,2646,3846,2579,1152,2778,2656,2840,394,
+ 391,2971,143,429,2585,346,149,144,4322,35,
+ 1165,32,1777,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2762,35,2105,3880,3595,2383,2443,2432,180,
+ 2540,2507,2646,764,2579,180,2778,2656,2840,5663,
+ 1288,2971,143,3875,2880,324,148,144,4322,35,
+ 1165,32,533,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2245,35,2105,3907,180,2383,2443,2432,2682,
+ 2540,2507,2646,2259,2579,180,2778,2656,2840,1157,
+ 1864,2971,143,3501,2283,357,147,144,4322,35,
+ 1165,32,533,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2865,1621,337,545,3045,2383,2443,2432,449,
+ 2540,2507,2646,2259,2579,2738,2778,2656,2840,2259,
+ 2865,2971,143,2459,35,398,146,144,4322,35,
+ 1165,32,2650,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,582,1803,2679,2859,383,2383,2443,2432,327,
+ 2540,2507,2646,539,2579,180,2778,2656,2840,1233,
+ 2829,2971,143,3875,2865,356,145,144,4748,35,
+ 1165,32,533,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2133,35,1089,390,24,2383,2443,2432,6019,
+ 2540,2507,2646,524,2579,51,2778,2656,2840,2865,
+ 71,2979,164,4322,35,1165,32,3736,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,108,274,354,355,3038,
+ 379,2383,2443,2432,3041,2540,2507,2646,3918,2579,
+ 99,2778,2656,2840,3980,2159,2971,143,1533,2771,
+ 3041,159,144,2395,4322,35,1165,32,3827,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,2514,3845,835,
+ 3144,160,2383,2443,2432,180,2540,2507,2646,1307,
+ 2579,3980,2778,2656,2840,1533,78,2971,143,2865,
+ 406,6805,581,144,4322,35,1165,32,560,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,72,160,305,
+ 2898,180,2383,2443,2432,671,2540,2507,2646,3501,
+ 2579,3501,2778,2656,2840,298,728,2971,143,2865,
+ 4206,2975,140,144,2245,3840,1619,4393,35,1165,
+ 32,2599,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,108,
+ 3005,681,3041,681,3826,2383,2443,2432,525,2540,
+ 2507,2646,2335,2579,78,2778,2656,2840,3360,6809,
+ 2971,143,527,2865,526,189,144,4748,35,1165,
+ 32,4058,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,108,
+ 2245,35,1089,390,3105,2383,2443,2432,180,2540,
+ 2507,2646,1257,2579,1219,2778,2656,2840,612,2353,
+ 2979,164,4748,35,1165,32,2865,4103,27,30,
+ 31,1140,1092,26,28,1725,262,25,23,50,
+ 1953,106,76,77,108,274,2259,384,1524,180,
+ 2383,2443,2432,2062,2540,2507,2646,5110,2579,180,
+ 2778,2656,2840,2112,1697,2979,164,2865,154,2245,
+ 35,1089,390,4748,35,1165,32,425,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,108,180,276,69,3732,
+ 2135,2383,2443,2432,3980,2540,2507,2646,1533,2579,
+ 1628,2778,2656,2840,274,179,2979,164,4748,35,
+ 1165,32,295,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,160,97,44,3108,180,2383,2443,2432,3063,
+ 2540,2507,2646,154,2579,4971,2778,2656,2840,154,
+ 180,2979,164,180,1906,2865,341,1835,4214,4748,
+ 35,1165,32,424,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,2245,35,1089,390,68,2383,2443,2432,
+ 198,2540,2507,2646,154,2579,197,2778,2656,2840,
+ 2335,3638,2979,164,4890,35,1165,32,427,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,436,1152,3897,
+ 2865,3315,2383,2443,2432,2865,2540,2507,2646,223,
+ 2579,300,2778,2656,2840,1667,341,2979,164,4961,
+ 35,1089,390,2259,3588,89,612,2353,102,584,
+ 2673,53,237,262,1533,4287,52,2526,592,537,
+ 538,539,592,537,538,539,3041,2579,35,3822,
+ 32,3141,4679,27,30,31,1140,1092,340,28,
+ 540,537,538,539,274,180,3229,156,3675,4272,
+ 3861,537,538,539,2993,1520,3811,2335,3543,232,
+ 2193,180,1152,232,2865,2350,1847,3041,4224,827,
+ 244,230,231,3230,235,230,231,3148,2959,183,
+ 35,1165,32,3141,6114,27,30,31,1140,1092,
+ 340,28,320,1156,322,2893,275,315,763,98,
+ 4655,855,540,537,538,539,1874,5243,242,245,
+ 248,251,5019,612,2353,4288,1588,585,1429,2313,
+ 4399,297,3572,2985,3948,4320,4576,5351,3041,2152,
+ 5653,35,1165,32,3141,4679,27,30,31,1140,
+ 1092,340,28,5612,320,1156,322,2865,1993,315,
+ 763,1859,333,1292,2865,3810,4252,2335,5095,35,
+ 1089,390,287,3588,2394,6191,421,3817,2865,2335,
+ 5428,237,262,2255,540,537,538,539,573,361,
+ 5303,592,537,538,539,542,2865,592,537,538,
+ 539,525,3253,789,180,320,1156,322,1890,562,
+ 315,763,5336,274,3906,3603,3346,3347,307,311,
+ 1403,4065,3936,612,2353,644,2865,561,3118,2751,
+ 1993,1542,232,288,333,612,2353,180,232,1983,
+ 2780,644,180,235,230,231,2285,346,344,235,
+ 230,231,540,537,538,539,3692,90,156,1477,
+ 154,3040,5377,681,344,275,3138,2454,2853,404,
+ 3707,4924,3692,2391,156,2865,5391,242,245,248,
+ 251,5019,6596,2895,2400,1588,585,4924,2277,2381,
+ 2289,3572,2985,3948,4320,4576,541,537,538,539,
+ 2245,35,1089,390,3226,2797,351,201,4748,35,
+ 1165,32,5612,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,2865,3769,2865,630,620,2383,2443,2432,2865,
+ 2540,2507,2646,3254,2579,435,2778,3809,2444,35,
+ 3822,32,3141,6114,27,30,31,1140,1092,340,
+ 28,154,574,547,3222,2345,1701,2947,3134,633,
+ 3511,540,537,538,539,2245,35,1089,390,2865,
+ 2865,2865,2578,55,445,4748,35,1165,32,3017,
+ 4103,27,30,31,1140,1092,26,28,1725,262,
+ 25,23,50,1953,106,76,77,85,199,3328,
+ 3117,453,4394,320,1156,322,2865,1993,315,763,
+ 434,333,855,4748,35,1165,32,382,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,108,3160,4458,3324,5303,
+ 154,2383,2443,2432,180,2540,2507,2646,3553,2579,
+ 360,3804,4748,35,1165,32,2285,4103,27,30,
+ 31,1140,1092,26,28,1725,262,25,23,50,
+ 1953,106,76,77,108,154,6083,421,3817,88,
+ 2383,2443,2432,2930,2540,2507,2646,408,3806,3149,
+ 35,1165,32,2661,6114,27,30,31,1140,1092,
+ 340,28,540,537,538,539,540,537,538,539,
+ 2660,2677,540,537,538,539,541,537,538,539,
+ 1611,180,1743,2750,3253,1989,4748,35,1165,32,
+ 4527,4103,27,30,31,1140,1092,26,28,1725,
+ 262,25,23,50,1953,106,76,77,83,3202,
+ 2865,5443,330,3028,320,1156,322,180,1993,316,
+ 763,2154,334,5229,35,1165,32,3141,4679,27,
+ 30,31,1140,1092,340,28,541,537,538,539,
+ 180,4522,2146,353,2035,2950,540,537,538,539,
+ 3309,347,2434,2433,350,239,262,3329,2112,35,
+ 1089,390,154,3408,4070,592,537,538,539,2245,
+ 35,1089,390,2865,2865,5264,35,1165,32,3141,
+ 4679,27,30,31,1140,1092,340,28,320,1156,
+ 322,2865,180,315,763,2865,1533,1292,540,537,
+ 538,539,2865,49,3570,67,232,1146,2865,222,
+ 1748,180,1578,1245,49,1533,4070,240,230,231,
+ 1416,1443,66,1578,2664,2865,65,638,558,156,
+ 2730,963,644,64,737,1734,1302,296,3604,55,
+ 320,1156,322,154,1685,315,763,2865,156,1292,
+ 832,2865,307,311,1403,228,54,3621,540,537,
+ 538,539,3570,686,180,156,6590,2666,2204,931,
+ 681,3148,1030,1983,2798,180,859,3122,101,203,
+ 215,920,3673,202,212,213,214,216,591,640,
+ 193,169,2257,3592,4655,4279,3148,435,633,5133,
+ 541,537,538,539,307,311,1403,180,940,1029,
+ 168,2304,183,167,170,171,172,173,174,4655,
+ 1138,4748,35,1165,32,934,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,108,1227,2930,2865,1807,261,2383,
+ 2443,2432,644,2540,2507,3791,353,2865,2865,3514,
+ 4205,1124,5620,1050,345,2434,2433,350,540,537,
+ 538,539,5631,362,2308,228,2843,2639,617,1633,
+ 3422,3423,2860,686,1758,156,3253,3431,2641,4650,
+ 681,531,3143,459,2798,180,3443,2327,507,203,
+ 215,920,2169,202,212,213,214,216,591,640,
+ 3326,169,3409,3412,2631,2120,5264,35,1165,32,
+ 3141,4679,27,30,31,1140,1092,340,28,3778,
+ 168,3243,184,167,170,171,172,173,174,540,
+ 537,538,539,181,3429,3507,3420,504,506,2954,
+ 2252,3564,3322,4748,35,1165,32,4070,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,82,3567,3679,2881,3135,
+ 3348,320,1156,322,2516,3744,315,763,3571,8029,
+ 1292,4748,35,1165,32,8029,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,108,8029,8029,8029,8029,1797,2383,
+ 2443,2432,8029,2540,3792,5520,35,1165,32,3328,
+ 4679,27,30,31,1140,1092,340,28,8029,8029,
+ 8029,592,537,538,539,308,311,1403,4748,35,
+ 1165,32,8029,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,657,405,8029,8029,644,2383,2443,2432,62,
+ 2540,3802,232,8029,8029,8029,3225,8029,8029,8029,
+ 317,1237,322,247,230,231,8029,8029,228,8029,
+ 8029,8029,540,537,538,539,686,8029,156,541,
+ 537,538,539,681,8029,8029,8029,2798,180,8029,
+ 3707,8029,203,215,920,8029,202,212,213,214,
+ 216,591,640,8029,169,756,8029,8029,8029,644,
+ 5264,35,1165,32,3141,4679,27,30,31,1140,
+ 1092,340,28,168,8029,3832,167,170,171,172,
+ 173,174,228,541,537,538,539,180,8029,8029,
+ 686,1533,156,1978,35,1089,390,681,8029,8029,
+ 8029,2798,180,8029,8029,8029,203,215,920,8029,
+ 202,212,213,214,216,591,640,8029,169,855,
+ 8029,829,8029,644,156,320,1156,322,8029,8029,
+ 315,763,8029,3625,3007,2445,8029,168,49,178,
+ 167,170,171,172,173,174,228,1578,8029,8029,
+ 8029,8029,8029,8029,686,2162,156,8029,8029,8029,
+ 4089,681,8029,3980,8029,2798,180,1533,8029,8029,
+ 203,215,920,8029,202,212,213,214,216,591,
+ 640,8029,169,541,537,538,539,5242,35,3822,
+ 32,3141,4679,27,30,31,1140,1092,340,28,
+ 160,168,8029,176,167,170,171,172,173,174,
+ 540,537,538,539,5490,35,3822,32,3141,4679,
+ 27,30,31,1140,1092,340,28,180,4224,8029,
+ 8029,1533,4065,8029,8029,8029,644,3861,537,538,
+ 539,8029,2245,35,1089,390,8029,8029,8029,8029,
+ 8029,8029,320,1156,322,4224,954,315,763,344,
+ 644,855,3568,8029,156,8029,3148,3692,8029,156,
+ 3655,8029,8029,3632,681,8029,8029,8029,2454,320,
+ 1156,322,4924,228,315,763,180,49,855,4655,
+ 1533,686,8029,156,8029,2400,1578,8029,681,8029,
+ 2599,8029,2798,180,6792,8029,8029,203,215,920,
+ 2513,202,212,213,214,216,591,640,8029,169,
+ 1053,8029,8029,156,644,6264,421,3817,8029,8029,
+ 8029,8029,2776,592,537,538,539,8029,168,8029,
+ 583,167,170,171,172,173,174,228,8029,8029,
+ 8029,8029,6191,421,3817,686,8029,156,8029,8029,
+ 8029,8029,681,8029,8029,8029,2798,180,507,8029,
+ 8029,203,215,920,232,202,212,213,214,216,
+ 591,640,8029,169,1152,250,230,231,644,3337,
+ 35,1165,32,3141,4679,27,30,31,1140,1092,
+ 340,28,168,8029,177,167,170,171,172,173,
+ 174,228,541,537,538,539,8029,504,506,686,
+ 8029,156,2245,35,1089,390,681,8029,8029,8029,
+ 2798,180,8029,8029,8029,203,215,920,8029,202,
+ 212,213,214,216,591,640,8029,169,1251,3980,
+ 3882,8029,644,1533,320,1156,322,8029,8029,315,
+ 763,8029,8029,3007,8029,8029,168,49,187,167,
+ 170,171,172,173,174,228,1578,8029,8029,8029,
+ 8029,8029,8029,686,736,156,160,8029,8029,8029,
+ 681,8029,8029,8029,2798,180,8029,8029,8029,203,
+ 215,920,8029,202,212,213,214,216,591,640,
+ 8029,169,1350,8029,8029,8029,644,5505,35,1165,
+ 32,8029,4679,27,30,31,1140,1092,340,28,
+ 168,8029,3914,167,170,171,172,173,174,228,
+ 541,537,538,539,8029,8029,8029,686,8029,156,
+ 2245,35,1089,390,681,8029,3677,8029,2798,180,
+ 8029,8029,8029,203,215,920,2529,202,212,213,
+ 214,216,591,640,8029,169,1449,8029,8029,8029,
+ 644,8029,320,1156,322,8029,8029,603,763,592,
+ 537,538,539,8029,168,49,192,167,170,171,
+ 172,173,174,228,1578,8029,8029,8029,8029,8029,
+ 8029,686,2661,156,2245,35,1089,390,681,8029,
+ 8029,8029,2798,180,8029,8029,8029,203,215,920,
+ 232,202,212,213,214,216,591,640,8029,169,
+ 1548,253,230,231,644,2773,35,1165,32,6623,
+ 4679,27,30,31,1140,1092,340,28,168,49,
+ 186,167,170,171,172,173,174,228,1578,2112,
+ 35,1089,390,8029,8029,686,1281,156,8029,8029,
+ 8029,8029,681,8029,8029,8029,2798,180,8029,8029,
+ 8029,203,215,920,8029,202,212,213,214,216,
+ 591,640,8029,169,8029,180,8029,8029,8029,1533,
+ 320,1156,322,8029,49,315,763,8029,8029,3643,
+ 8029,8029,168,1578,194,167,170,171,172,173,
+ 174,707,8029,8029,8029,8029,8029,8029,8029,353,
+ 8029,2799,156,8029,8029,8029,8029,345,2434,2433,
+ 350,3681,8029,8029,8029,8029,8029,4748,35,1165,
+ 32,3637,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,108,
+ 8029,8029,8029,8029,8029,2383,2443,2432,8029,3727,
+ 4748,35,1165,32,8029,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,108,8029,8029,8029,8029,8029,2383,2443,
+ 2432,8029,3728,8029,8029,4748,35,1165,32,8029,
+ 4103,27,30,31,1140,1092,26,28,1725,262,
+ 25,23,50,1953,106,76,77,108,8029,8029,
+ 8029,8029,367,2383,2443,2432,8029,3738,4748,35,
+ 1165,32,8029,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,8029,8029,8029,8029,8029,2383,2443,2432,8029,
+ 3739,4748,35,1165,32,8029,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,108,3654,8029,8029,8029,6590,2383,
+ 2443,2432,8029,3750,4748,35,1165,32,8029,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,8029,8029,8029,
+ 8029,8029,2383,2443,2432,8029,3774,2867,35,1165,
+ 32,6493,4679,27,30,31,1140,1092,340,28,
+ 8029,8029,8029,8029,8029,2265,35,1089,390,8029,
+ 8029,8029,8029,8029,4748,35,1165,32,352,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,108,8029,353,1662,
+ 8029,2530,2383,2443,3777,792,345,2434,2433,350,
+ 49,8029,320,1156,322,8029,8029,315,763,1578,
+ 343,1476,540,537,538,539,8029,47,3434,8029,
+ 8029,8029,8029,8029,8029,8029,8029,1123,156,8029,
+ 1223,353,8029,8029,8029,8029,8029,2798,180,345,
+ 2434,2433,350,8029,8029,8029,8029,8029,8029,4748,
+ 35,1165,32,3255,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,108,8029,195,8029,8029,8029,2383,2443,3789,
+ 4173,35,1165,32,8029,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,107,5600,35,1165,32,6623,4679,27,
+ 30,31,1140,1092,340,28,8029,8029,2245,35,
+ 1089,390,2335,8029,8029,8029,8029,8029,8029,8029,
+ 8029,2466,8029,8029,8029,2989,4464,35,1165,32,
+ 8029,4103,27,30,31,1140,1092,26,28,1725,
+ 262,25,23,50,1953,588,76,77,228,8029,
+ 1638,8029,8029,49,8029,8029,686,8029,320,1156,
+ 322,8029,1578,315,763,8029,8029,528,612,2353,
+ 2162,8029,205,215,920,8029,204,212,213,214,
+ 216,591,640,8029,861,196,8029,353,4065,1321,
+ 8029,8029,644,8029,8029,345,2434,2433,350,206,
+ 208,210,691,5028,35,1089,390,8029,3588,529,
+ 8029,8029,217,207,209,344,238,262,8029,8029,
+ 8029,2751,8029,3692,8029,156,592,537,538,539,
+ 681,8029,8029,8029,2454,8029,8029,8029,4924,8029,
+ 8029,13,8029,6092,540,537,538,539,274,8029,
+ 8029,2400,8029,8029,8029,4065,2649,8029,8029,644,
+ 8029,8029,3707,5294,35,1165,32,232,6114,27,
+ 30,31,1140,1092,340,28,8029,8029,236,230,
+ 231,8029,344,1734,35,296,540,537,538,539,
+ 3692,8029,156,8029,8029,8029,8029,681,8029,8029,
+ 275,2454,8029,8029,3253,4924,540,537,538,539,
+ 8029,8029,243,246,249,252,5019,648,2400,8029,
+ 1588,586,8029,2703,859,8029,8029,8029,320,1156,
+ 322,180,1993,318,763,2989,334,5294,35,1165,
+ 32,8029,6114,27,30,31,1140,1092,340,28,
+ 8029,5162,35,1089,390,4065,3588,2779,344,644,
+ 540,537,538,539,238,262,3692,8029,8029,8029,
+ 8029,8029,8029,8029,592,537,538,539,4527,8029,
+ 8029,4924,344,8029,8029,4292,8029,4065,8029,2989,
+ 3692,644,156,8029,8029,8029,274,681,8029,3211,
+ 8029,2454,320,1156,322,4924,1993,316,763,8029,
+ 334,1050,344,8029,344,232,532,2121,2400,8029,
+ 3692,8029,3692,2756,156,8029,236,230,231,681,
+ 8029,8029,1758,2454,8029,4924,8029,4924,8029,8029,
+ 540,537,538,539,8029,8029,8029,8029,275,8029,
+ 2400,8029,8029,535,8029,3359,8029,8029,3707,8029,
+ 243,246,249,252,5019,8029,8029,8029,1588,586,
+ 4748,35,1165,32,8029,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,108,2378,35,1089,390,8029,2383,3657,
+ 4748,35,1165,32,8029,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,108,2695,8029,8029,8029,2989,2383,3664,
+ 8029,8029,8029,8029,8029,8029,8029,8029,49,8029,
+ 8029,8029,8029,8029,8029,8029,8029,1578,8029,8029,
+ 228,8029,8029,2789,8029,47,8029,8029,686,8029,
+ 8029,8029,8029,8029,8029,1078,5008,8029,8029,8029,
+ 3148,4252,2648,2789,205,215,920,2989,204,212,
+ 213,214,216,591,640,8029,8029,8029,8029,540,
+ 537,538,539,4655,8029,592,537,538,539,8029,
+ 228,206,208,210,691,3790,8029,3253,686,8029,
+ 8029,8029,8029,8029,217,207,209,8029,8029,8029,
+ 8029,8029,8029,2883,205,215,920,2989,204,212,
+ 213,214,216,591,640,1993,232,8029,8029,333,
+ 8029,8029,180,2534,8029,6092,2989,587,230,231,
+ 228,206,208,210,691,8029,8029,8029,686,8029,
+ 8029,8029,8029,8029,217,207,209,6213,8029,344,
+ 8029,8029,361,8029,205,215,920,3692,204,212,
+ 213,214,216,591,640,8029,8029,8029,8029,8029,
+ 8029,8029,4924,2550,8029,6092,8029,8029,3319,3346,
+ 3347,206,208,210,691,8029,8029,8029,8029,8029,
+ 3220,8029,8029,8029,217,207,209,8029,4748,35,
+ 1165,32,8029,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 108,8029,8029,3016,8029,6092,3680,4748,35,1165,
+ 32,8029,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,108,
+ 8029,4748,35,1165,32,3699,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,108,8029,4748,35,1165,32,3702,
+ 4103,27,30,31,1140,1092,26,28,1725,262,
+ 25,23,50,1953,106,76,77,81,4748,35,
+ 1165,32,8029,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,106,76,77,
+ 80,4748,35,1165,32,8029,4103,27,30,31,
+ 1140,1092,26,28,1725,262,25,23,50,1953,
+ 106,76,77,79,4748,35,1165,32,8029,4103,
+ 27,30,31,1140,1092,26,28,1725,262,25,
+ 23,50,1953,106,76,77,78,4748,2134,1165,
+ 2262,8029,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,106,76,77,84,
+ 4246,35,1165,32,8029,4103,27,30,31,1140,
+ 1092,26,28,1725,262,25,23,50,1953,106,
+ 76,77,104,4748,35,1165,32,8029,4103,27,
+ 30,31,1140,1092,26,28,1725,262,25,23,
+ 50,1953,106,76,77,110,4748,35,1165,32,
+ 8029,4103,27,30,31,1140,1092,26,28,1725,
+ 262,25,23,50,1953,106,76,77,109,4748,
+ 35,1165,32,8029,4103,27,30,31,1140,1092,
+ 26,28,1725,262,25,23,50,1953,106,76,
+ 77,105,2601,8029,8029,8029,2989,4535,35,1165,
+ 32,8029,4103,27,30,31,1140,1092,26,28,
+ 1725,262,25,23,50,1953,577,76,77,228,
+ 8029,8029,8029,8029,8029,8029,8029,686,8029,8029,
+ 8029,8029,8029,3132,8029,2198,8029,8029,8029,3148,
+ 4560,8029,2331,205,215,920,2989,204,212,213,
+ 214,216,591,640,8029,8029,540,537,538,539,
+ 8029,8029,228,8029,2112,35,1089,390,8029,228,
+ 206,208,210,691,4016,8029,8029,686,8029,8029,
+ 8029,8029,8029,521,207,209,2553,409,3955,8029,
+ 8029,8029,2977,205,215,920,2989,204,212,213,
+ 214,216,591,640,8029,8029,8029,8029,8029,49,
+ 8029,8029,8029,410,411,412,691,8029,1578,228,
+ 206,208,210,691,8029,8029,6529,686,8029,8029,
+ 8029,8029,8029,218,207,209,2799,8029,8029,8029,
+ 8029,3228,3071,205,215,920,2989,204,212,213,
+ 214,216,591,640,3050,8029,8029,8029,8029,8029,
+ 8029,8029,8029,4134,540,537,538,539,4252,228,
+ 206,208,210,691,8029,8029,8029,686,8029,8029,
+ 8029,8029,4170,611,207,209,540,537,538,539,
+ 8029,8029,3165,205,215,920,2989,204,212,213,
+ 214,216,591,640,3253,1859,8029,8029,8029,8029,
+ 4252,8029,8029,8029,3310,8029,413,416,8029,228,
+ 206,208,210,691,8029,8029,8029,686,540,537,
+ 538,539,1993,610,207,209,334,540,537,538,
+ 539,8029,8029,205,215,920,3253,204,212,213,
+ 214,216,591,640,8029,4016,8029,353,8029,8029,
+ 8029,8029,8029,8029,8029,347,2434,2433,350,8029,
+ 206,208,210,691,1993,8029,8029,8029,6653,8029,
+ 8029,8029,8029,609,207,209,4606,35,1165,32,
+ 8029,4103,27,30,31,1140,1092,26,28,1725,
+ 262,25,23,50,1953,575,76,77,4677,35,
+ 1165,32,8029,4103,27,30,31,1140,1092,26,
+ 28,1725,262,25,23,50,1953,86,76,77,
+ 3259,8029,8029,8029,2989,4819,35,1165,32,8029,
+ 4103,27,30,31,1140,1092,26,28,1725,262,
+ 25,23,50,1953,3541,76,77,228,8029,8029,
+ 8029,8029,8029,8029,8029,686,8029,8029,8029,8029,
+ 8029,8029,94,2065,8029,8029,8029,3148,4560,8029,
+ 3353,205,215,920,2989,204,212,213,214,216,
+ 591,640,8029,8029,8029,8029,8029,8029,8029,8029,
+ 228,8029,8029,8029,8029,8029,8029,228,206,208,
+ 210,691,8029,8029,8029,686,8029,8029,8029,8029,
+ 8029,522,207,209,2553,409,3955,8029,8029,8029,
+ 3447,205,215,920,2989,204,212,213,214,216,
+ 591,640,8029,5008,8029,8029,8029,3148,4252,8029,
+ 8029,410,411,412,691,8029,8029,228,206,208,
+ 210,691,8029,8029,8029,686,540,537,538,539,
+ 4655,306,207,209,8029,2279,8029,8029,8029,5586,
+ 8029,205,215,920,3253,204,212,213,214,216,
+ 591,640,3050,8029,8029,8029,8029,8029,592,537,
+ 538,539,540,537,538,539,8029,8029,206,208,
+ 210,691,1993,8029,8029,8029,333,8029,8029,8029,
+ 3253,501,207,209,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,1859,8029,8029,8029,8029,4252,232,
+ 1859,8029,8029,8029,3479,4252,3024,8029,3270,361,
+ 235,230,231,8029,413,415,540,537,538,539,
+ 8029,8029,1152,540,537,538,539,8029,8029,592,
+ 537,538,539,1859,3253,3319,3346,3347,4252,8029,
+ 8029,3253,2155,6596,8029,6085,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,540,537,538,539,
+ 8029,8029,1993,5571,8029,8029,333,8029,4252,1993,
+ 232,8029,8029,333,3253,2378,35,1089,390,8029,
+ 8029,236,230,231,8029,5533,540,537,538,539,
+ 4252,8029,8029,8029,6675,630,620,2112,35,1089,
+ 390,6213,1993,8029,3253,8029,333,8029,540,537,
+ 538,539,2594,35,1089,390,2303,35,1089,390,
+ 49,180,8029,8029,8029,2989,3253,8029,8029,1578,
+ 632,8029,1993,8029,3479,8029,6653,47,2378,35,
+ 1089,390,49,8029,8029,8029,8029,1901,344,8029,
+ 8029,1578,8029,8029,1993,8029,3692,49,334,47,
+ 8029,49,619,3154,180,8029,1578,8029,2989,1144,
+ 1578,4924,8029,8029,47,8029,8029,8029,2885,2112,
+ 35,1089,390,49,1777,8029,8029,8029,2730,3241,
+ 8029,344,1578,2112,35,1089,390,8029,8029,3692,
+ 2969,8029,2944,8029,2112,35,1089,390,8029,8029,
+ 2481,2930,8029,8029,4924,2112,35,1089,390,2112,
+ 35,1089,390,8029,49,540,537,538,539,8029,
+ 96,8029,3246,1578,540,537,538,539,49,8029,
+ 180,47,8029,3253,2989,8029,8029,1578,8029,49,
+ 8029,890,3253,8029,8029,47,8029,180,1578,180,
+ 49,792,8029,792,49,1827,47,344,8029,1578,
+ 8029,3270,8029,1578,180,3692,2922,47,792,180,
+ 3184,47,8029,2989,344,8029,344,3280,180,8029,
+ 4924,3355,2989,8029,156,180,156,8029,8029,2989,
+ 8029,344,8029,188,8029,188,344,3120,3313,3120,
+ 8029,156,8029,8029,3692,344,8029,8029,8029,8029,
+ 188,8029,344,3692,3120,8029,8029,8029,8029,4924,
+ 3692,8029,8029,8029,8029,8029,8029,8029,4924,8029,
+ 8029,8029,8029,8029,8029,4924,8029,511,8029,8029,
+ 8029,8029,8029,8029,8029,8029,509,8029,8029,8029,
+ 8029,8029,8029,536,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,3361,8029,
+ 3396,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,3540,8029,0,1,229,
+ 1210,0,503,6042,0,1,229,0,39,8671,
+ 0,39,8670,637,0,39,8044,0,39,8043,
+ 0,1,995,0,870,1,0,39,1,8671,
+ 0,39,1,8670,0,39,1,8044,0,39,
+ 1,8043,0,1,1510,0,1,1032,0,229,
+ 219,0,1,796,0,1,839,0,1,846,
+ 0,8263,223,0,8262,223,0,796,223,0,
+ 839,223,0,846,223,0,874,223,0,8368,
+ 223,0,8367,223,0,8290,223,0,8289,223,
+ 0,8288,223,0,8287,223,0,8286,223,0,
+ 8285,223,0,8284,223,0,8283,223,0,608,
+ 639,0,638,606,0,8263,224,0,8262,224,
+ 0,796,224,0,839,224,0,846,224,0,
+ 874,224,0,8368,224,0,8367,224,0,8290,
+ 224,0,8289,224,0,8288,224,0,8287,224,
+ 0,8286,224,0,8285,224,0,8284,224,0,
+ 8283,224,0,8263,225,0,8262,225,0,796,
+ 225,0,839,225,0,846,225,0,874,225,
+ 0,8368,225,0,8367,225,0,8290,225,0,
+ 8289,225,0,8288,225,0,8287,225,0,8286,
+ 225,0,8285,225,0,8284,225,0,8283,225,
+ 0,846,396,0,839,396,0,796,396,0,
+ 284,396,0,8263,226,0,8262,226,0,796,
+ 226,0,839,226,0,846,226,0,874,226,
+ 0,8368,226,0,8367,226,0,8290,226,0,
+ 8289,226,0,8288,226,0,8287,226,0,8286,
+ 226,0,8285,226,0,8284,226,0,8283,226,
+ 0,284,289,0,8263,227,0,8262,227,0,
+ 796,227,0,839,227,0,846,227,0,874,
+ 227,0,8368,227,0,8367,227,0,8290,227,
+ 0,8289,227,0,8288,227,0,8287,227,0,
+ 8286,227,0,8285,227,0,8284,227,0,8283,
+ 227,0,1615,389,0,39,8670,0,8671,48,
+ 0,8670,48,0,8044,48,0,8043,48,0,
+ 8263,590,0,8262,590,0,796,590,0,839,
+ 590,0,846,590,0,874,590,0,8368,590,
+ 0,8367,590,0,8290,590,0,8289,590,0,
+ 8288,590,0,8287,590,0,8286,590,0,8285,
+ 590,0,8284,590,0,8283,590,0,8263,241,
+ 0,8262,241,0,796,241,0,839,241,0,
+ 846,241,0,874,241,0,8368,241,0,8367,
+ 241,0,8290,241,0,8289,241,0,8288,241,
+ 0,8287,241,0,8286,241,0,8285,241,0,
+ 8284,241,0,8283,241,0,8644,241,0,8643,
+ 241,0,8642,241,0,8302,241,0,8301,241,
+ 0,8300,241,0,8299,241,0,8298,241,0,
+ 8297,241,0,8296,241,0,8295,241,0,8294,
+ 241,0,8293,241,0,8292,241,0,8636,241,
+ 0,977,241,0,39,241,8671,0,39,241,
+ 8670,636,0,39,241,8044,0,39,241,8043,
+ 0,8067,241,0,1,332,0,38,1032,0,
+ 38,8671,0,38,8670,0,38,8044,0,38,
+ 8043,0,456,1995,0,442,2039,0,1615,29,
+ 0,8041,1,0,2050,319,0,846,600,0,
+ 839,600,0,796,600,0,604,600,0,604,
+ 599,0,8092,75,0,8091,75,0,694,75,
+ 0,722,75,0,2544,75,0,862,75,0,
+ 1,602,0,1,446,0,460,1530,0,459,
+ 1886,0,35,33,0,47,37,0,8041,385,
+ 0,8040,385,0,846,602,0,839,602,0,
+ 796,602,0,796,635,0,839,635,0,846,
+ 635,0,8650,635,0,503,3056,0,8067,1,
+ 229,0,39,1,229,0,229,418,0,1,
+ 1796,0,1,8644,0,1,8643,0,1,8642,
+ 0,1,8302,0,1,8301,0,1,8300,0,
+ 1,8299,0,1,8298,0,1,8297,0,1,
+ 8296,0,1,8295,0,1,8294,0,1,8293,
+ 0,1,8292,0,1,8636,0,1,977,0,
+ 1,6047,0,8671,37,0,8670,37,0,8044,
+ 37,0,8043,37,0,43,8065,0,43,37,
+ 0,1570,91,0,32,34,0,8037,1,0,
+ 39,1032,0,846,332,0,839,332,0,796,
+ 332,0,39,241,8670,0,1,1070,0,1,
+ 1326,0,229,220,0,4901,126,0,8263,631,
+ 0,8262,631,0,796,631,0,839,631,0,
+ 846,631,0,874,631,0,8368,631,0,8367,
+ 631,0,8290,631,0,8289,631,0,8288,631,
+ 0,8287,631,0,8286,631,0,8285,631,0,
+ 8284,631,0,8283,631,0,796,634,0,839,
+ 634,0,846,634,0,8650,634,0,8039,407,
+ 0,8038,407,0,229,417,0,8041,589,385,
+ 0,8040,589,385,0,1,229,3428,0,8038,
+ 229,0,3440,229,0,8035,1,0,8034,1,
+ 0,237,1625,0,390,32,0,389,29,0,
+ 846,447,0,839,447,0,796,447,0,8067,
+ 447,0,39,447,0,332,447,0,8065,45,
+ 0,37,45,0,8041,578,385,0,8040,578,
+ 385,0,8041,576,385,0,8040,576,385,0,
+ 8041,87,385,0,8040,87,385,0,1,92,
+ 0,3823,229,0,10,12,0,8067,1,0,
+ 39,1,0,588,577,0,874,337,0,8368,
+ 337,0,8367,337,0,4901,128,0,4901,127,
+ 0,4296,100,0,8,10,12,0,8671,2,
+ 37,0,8670,2,37,0,8044,2,37,0,
+ 8043,2,37,0,8671,36,0,8670,36,0,
+ 8044,36,0,8043,36,0,846,597,0,839,
+ 597,0,796,597,0,846,596,0,839,596,
+ 0,796,596,0,540,541,0,4459,103,0,
+ 2944,99,0,846,95,0,839,95,0,796,
+ 95,0,8067,95,0,39,95,0,332,95,
+ 0,8041,589,578,385,0,589,578,0,35,
+ 73,0,3909,385,0,846,597,598,0,839,
+ 597,598,0,796,597,598,0,597,598,0,
+ 279,2834,0,8,12,0,185,4586,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1551,545 +1562,585 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,0,
+ 50,51,52,0,0,1,0,57,5,0,
+ 0,0,62,7,8,9,66,6,7,8,
+ 9,71,72,13,14,75,76,0,78,79,
+ 80,81,33,6,84,85,86,0,1,2,
+ 3,4,0,6,7,8,9,5,0,99,
+ 100,101,102,103,104,105,106,107,108,109,
+ 110,111,112,113,114,115,116,117,118,119,
+ 120,121,122,123,124,125,126,127,128,129,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,0,24,25,26,27,28,29,
+ 30,31,32,33,11,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,0,
+ 50,51,0,1,2,3,4,5,6,7,
+ 8,9,10,134,12,13,14,99,100,46,
+ 0,71,72,3,0,75,76,0,0,79,
+ 80,81,5,5,84,85,86,0,1,2,
+ 3,4,0,6,7,8,9,23,0,99,
+ 100,101,102,103,104,105,106,107,108,109,
+ 110,111,112,113,114,115,116,117,118,119,
+ 120,121,122,123,124,125,126,127,128,129,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
- 50,51,0,53,54,55,56,57,58,59,
+ 50,51,52,85,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
- 70,71,0,73,74,75,76,0,0,0,
- 0,81,82,6,84,13,86,87,88,89,
- 90,91,92,0,94,95,96,97,98,0,
+ 70,0,72,73,74,113,0,77,78,117,
+ 0,1,82,83,84,0,86,87,88,89,
+ 90,91,92,13,94,95,96,97,98,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
- 51,0,53,54,55,56,57,58,59,60,
+ 51,52,81,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,
- 71,0,73,74,75,76,104,105,99,100,
- 81,82,0,84,13,86,87,88,89,90,
- 91,92,112,94,95,96,97,98,0,1,
+ 0,72,73,74,0,5,77,78,102,103,
+ 0,82,83,84,0,86,87,88,89,90,
+ 91,92,0,94,95,96,97,98,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,48,49,50,51,
- 0,53,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,68,69,70,71,
- 0,73,74,75,76,104,105,0,0,81,
- 82,3,84,13,86,87,88,89,90,91,
- 92,0,94,95,96,97,98,0,1,2,
+ 52,71,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,69,70,85,
+ 72,73,74,99,100,77,78,0,0,0,
+ 82,83,84,6,86,87,88,89,90,91,
+ 92,13,94,95,96,97,98,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,0,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,69,70,71,0,
- 73,74,75,76,104,105,99,100,81,82,
- 0,84,13,14,87,88,89,90,91,92,
- 10,94,95,96,97,98,0,1,2,3,
+ 43,44,45,46,47,48,49,50,51,52,
+ 71,54,55,56,57,58,59,60,61,62,
+ 63,64,65,66,67,68,69,70,0,72,
+ 73,74,0,5,77,78,0,0,0,82,
+ 83,84,104,105,87,88,89,90,91,92,
+ 13,94,95,96,97,98,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
- 44,45,46,47,48,49,50,51,0,53,
+ 44,45,46,47,48,49,50,51,52,71,
54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,69,70,71,0,73,
- 74,75,76,0,0,0,0,81,82,5,
- 84,6,34,87,88,89,90,91,92,13,
+ 64,65,66,67,68,69,70,0,72,73,
+ 74,99,100,77,78,0,0,0,82,83,
+ 84,104,105,87,88,89,90,91,92,13,
94,95,96,97,98,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,72,53,54,
+ 45,46,47,48,49,50,51,52,71,54,
55,56,57,58,59,60,61,62,63,64,
- 65,66,67,68,69,70,71,0,73,74,
- 75,76,99,100,0,0,81,82,0,84,
- 0,113,87,88,89,90,91,92,120,94,
+ 65,66,67,68,69,70,0,72,73,74,
+ 0,0,77,78,0,108,109,82,83,84,
+ 104,105,87,88,89,90,91,92,14,94,
95,96,97,98,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,79,53,54,55,
+ 46,47,48,49,50,51,52,81,54,55,
56,57,58,59,60,61,62,63,64,65,
- 66,67,68,69,70,71,0,73,74,75,
- 76,0,0,99,100,81,82,5,84,99,
- 100,87,88,89,90,91,92,112,94,95,
+ 66,67,68,69,70,0,72,73,74,0,
+ 0,77,78,102,103,0,82,83,84,0,
+ 0,87,88,89,90,91,92,0,94,95,
96,97,98,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,79,53,54,55,56,
+ 47,48,49,50,51,52,71,54,55,56,
57,58,59,60,61,62,63,64,65,66,
- 67,68,69,70,71,0,73,74,75,76,
- 99,100,0,0,81,82,0,84,5,14,
+ 67,68,69,70,84,72,73,74,0,0,
+ 77,78,102,103,0,82,83,84,99,100,
87,88,89,90,91,92,0,94,95,96,
97,98,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
- 48,49,50,51,0,53,54,55,56,57,
+ 48,49,50,51,52,71,54,55,56,57,
58,59,60,61,62,63,64,65,66,67,
- 68,69,70,71,0,73,74,75,76,5,
- 84,99,100,81,82,0,84,101,0,87,
+ 68,69,70,0,72,73,74,99,100,77,
+ 78,102,103,0,82,83,84,0,0,87,
88,89,90,91,92,0,94,95,96,97,
98,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,43,44,45,46,47,48,
- 49,50,51,0,53,54,55,56,57,58,
+ 49,50,51,52,71,54,55,56,57,58,
59,60,61,62,63,64,65,66,67,68,
- 69,70,71,0,73,74,75,76,5,0,
- 0,0,81,82,5,84,6,0,87,88,
+ 69,70,0,72,73,74,0,5,77,78,
+ 85,108,109,82,83,84,99,100,87,88,
89,90,91,92,0,94,95,96,97,98,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
- 50,51,72,53,54,55,56,57,58,59,
+ 50,51,52,0,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
- 70,71,85,73,74,75,76,83,0,0,
- 0,81,82,5,84,6,6,87,88,89,
+ 70,0,72,73,74,99,100,77,78,85,
+ 0,0,82,83,84,5,0,87,88,89,
90,91,92,0,94,95,96,97,98,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
- 51,72,53,54,55,56,57,58,59,60,
+ 51,52,71,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,
- 71,0,73,74,75,76,5,0,0,0,
- 81,82,5,84,6,6,87,88,89,90,
+ 0,72,73,74,0,5,77,78,0,5,
+ 0,82,83,84,6,0,87,88,89,90,
91,92,0,94,95,96,97,98,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,48,49,50,51,
- 72,53,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,68,69,70,71,
- 0,73,74,75,76,5,0,0,0,81,
- 82,5,84,6,0,87,88,89,90,91,
+ 52,71,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,69,70,0,
+ 72,73,74,0,5,77,78,85,0,0,
+ 82,83,84,5,0,87,88,89,90,91,
92,0,94,95,96,97,98,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,72,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,69,70,71,85,
- 73,74,75,76,83,0,0,0,81,82,
- 0,84,5,0,87,88,89,90,91,92,
+ 43,44,45,46,47,48,49,50,51,52,
+ 71,54,55,56,57,58,59,60,61,62,
+ 63,64,65,66,67,68,69,70,0,72,
+ 73,74,81,0,77,78,0,0,0,82,
+ 83,84,0,110,87,88,89,90,91,92,
0,94,95,96,97,98,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
- 14,0,0,1,0,0,0,1,2,3,
- 4,0,7,8,9,13,10,52,12,33,
+ 14,0,1,2,3,4,0,6,7,8,
+ 9,0,49,7,8,9,53,49,32,33,
+ 0,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,48,0,50,51,32,33,
+ 0,35,36,37,38,39,40,41,42,43,
+ 44,45,32,33,53,35,0,71,72,79,
+ 49,75,76,0,53,79,80,81,0,111,
+ 84,85,86,0,1,2,3,4,0,112,
+ 7,8,9,111,49,99,100,101,102,103,
+ 104,105,106,107,108,109,110,111,112,113,
+ 114,115,116,117,118,119,120,121,122,123,
+ 124,125,126,127,128,129,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,0,1,2,3,4,0,6,7,8,
+ 9,101,0,7,8,9,0,79,32,33,
+ 0,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,48,0,50,51,32,33,
+ 0,35,36,37,38,39,40,41,42,43,
+ 44,45,32,33,53,35,0,71,72,47,
+ 48,75,76,47,48,79,80,81,0,0,
+ 84,85,86,0,6,7,8,9,130,131,
+ 132,13,14,0,49,99,100,101,102,103,
+ 104,105,106,107,108,109,110,111,112,113,
+ 114,115,116,117,118,119,120,121,122,123,
+ 124,125,126,127,128,129,0,1,2,3,
+ 4,5,6,7,8,9,10,71,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
- 44,45,46,22,48,49,50,51,33,34,
+ 44,45,79,47,48,49,50,51,52,0,
+ 54,55,56,57,58,59,60,61,62,63,
+ 64,65,66,67,68,69,70,0,1,2,
+ 3,4,0,0,78,0,1,2,3,4,
+ 5,6,7,8,9,10,133,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,43,44,
- 45,0,1,2,3,4,0,77,72,73,
- 0,10,2,77,78,79,80,11,0,83,
- 84,85,86,0,1,15,16,17,18,19,
- 20,21,71,23,11,99,100,101,102,103,
- 104,105,106,107,108,109,110,111,112,113,
- 114,115,46,52,134,119,120,121,122,123,
- 124,125,126,127,128,129,130,131,0,133,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,79,0,0,0,0,
- 72,0,6,7,8,9,7,8,9,13,
- 14,78,14,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,0,48,49,
- 50,51,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,0,1,0,1,2,
- 3,4,72,73,7,8,9,77,78,79,
- 80,83,0,83,84,85,86,0,1,2,
- 3,4,0,6,7,8,9,80,33,99,
- 100,101,102,103,104,105,106,107,108,109,
- 110,111,112,113,114,115,0,1,101,119,
- 120,121,122,123,124,125,126,127,128,129,
- 130,131,111,133,0,1,2,3,4,5,
- 6,7,8,9,10,0,12,13,14,15,
+ 45,0,47,48,49,50,51,52,0,54,
+ 55,56,57,58,59,60,61,62,63,64,
+ 65,66,67,68,69,70,0,75,75,82,
+ 83,5,0,78,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 0,47,48,49,50,51,6,53,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,68,69,70,0,1,2,3,4,
- 76,0,1,2,3,4,5,6,7,8,
- 9,10,77,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,52,47,48,
- 49,50,51,0,53,54,55,56,57,58,
- 59,60,61,62,63,64,65,66,67,68,
- 69,70,0,1,2,3,4,76,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,0,1,2,3,4,
- 52,53,0,1,2,3,4,5,6,7,
- 8,9,10,0,12,0,68,69,70,71,
- 0,6,74,75,11,102,103,0,80,0,
- 1,2,3,4,86,6,7,8,9,0,
- 0,93,13,14,0,1,2,3,4,5,
- 6,36,0,0,10,11,12,0,0,1,
- 2,3,4,11,116,117,118,0,1,2,
+ 46,0,1,2,3,4,52,53,80,0,
+ 0,57,0,0,1,6,62,7,8,9,
+ 66,75,0,1,2,3,4,73,74,0,
+ 0,77,10,0,80,0,7,8,9,6,
+ 86,0,7,8,9,32,5,93,0,0,
+ 15,16,17,18,19,20,21,22,0,24,
+ 25,26,27,28,29,30,31,32,33,36,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,71,0,53,130,131,132,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,
43,44,45,46,0,1,2,3,4,52,
- 53,77,78,79,10,73,12,83,101,85,
- 0,1,2,3,4,68,69,70,71,81,
- 82,74,75,0,131,101,0,80,0,1,
- 2,3,4,86,6,7,8,9,101,0,
- 93,0,1,2,3,4,5,6,7,8,
- 9,10,0,12,13,14,0,0,1,2,
- 3,4,52,116,117,118,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,0,1,2,3,4,52,53,
- 0,80,0,1,2,3,4,0,1,2,
- 3,4,80,11,68,69,70,71,81,82,
- 74,75,116,117,118,0,0,0,1,2,
- 3,4,86,7,8,9,0,0,0,93,
- 0,15,16,17,18,19,20,21,0,23,
- 24,25,26,27,28,29,30,31,0,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,47,0,0,73,0,52,5,52,
- 134,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,0,1,
- 2,3,4,52,53,77,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,68,
- 69,70,71,77,80,74,75,0,85,0,
- 0,0,2,6,7,8,9,7,8,9,
- 132,135,132,0,93,15,16,17,18,19,
- 20,21,46,23,0,1,2,3,4,0,
- 6,0,0,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,0,1,2,3,
- 4,52,6,52,0,134,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,0,72,0,52,0,52,53,
- 7,8,9,0,1,2,3,4,0,1,
- 2,3,4,10,68,69,70,71,72,22,
- 74,75,0,102,103,0,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,93,
+ 53,0,0,0,57,87,0,6,0,62,
+ 7,8,9,66,0,1,2,3,4,11,
+ 73,74,80,0,77,23,0,80,0,23,
+ 2,5,0,86,0,7,8,9,0,5,
+ 93,133,10,15,16,17,18,19,20,21,
+ 22,13,0,1,2,3,4,0,52,53,
+ 32,33,0,35,36,37,38,39,40,41,
+ 42,43,44,45,0,73,0,130,131,132,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,0,1,2,
- 3,4,52,53,0,1,2,3,4,5,
- 6,7,8,9,10,110,12,0,68,69,
- 70,71,5,0,74,75,0,1,2,3,
- 4,0,6,7,8,9,86,11,0,13,
- 14,0,11,93,0,1,2,3,4,5,
+ 3,4,52,53,82,83,128,57,0,0,
+ 0,79,62,0,0,2,66,7,8,9,
+ 7,8,9,73,74,11,80,77,15,16,
+ 17,18,19,20,21,22,86,110,0,1,
+ 2,3,4,93,6,32,33,101,35,36,
+ 37,38,39,40,41,42,43,44,45,0,
+ 46,53,53,0,1,2,3,4,5,6,
+ 7,8,9,10,0,12,13,14,0,1,
+ 2,3,4,0,134,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,0,0,1,0,53,52,53,7,
+ 8,9,57,80,11,0,0,62,0,0,
+ 0,66,7,8,9,7,8,9,73,74,
+ 11,11,77,0,32,33,0,35,36,37,
+ 38,39,40,41,42,43,44,45,93,0,
+ 32,33,49,35,36,37,38,39,40,41,
+ 42,43,44,45,0,46,46,0,0,1,
+ 2,3,4,5,6,7,8,9,10,76,
+ 12,13,14,0,1,2,3,4,0,134,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,0,71,75,
+ 135,53,52,53,7,8,9,57,80,0,
+ 0,0,62,0,5,0,66,7,8,9,
+ 0,71,0,73,74,5,0,77,0,32,
+ 33,5,35,36,37,38,39,40,41,42,
+ 43,44,45,93,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,0,1,2,3,4,52,53,0,0,
- 1,2,3,4,78,6,0,0,85,10,
- 0,12,68,69,70,71,0,86,74,75,
- 79,11,0,1,2,3,4,101,6,0,
- 86,0,10,0,12,6,0,93,0,1,
+ 46,0,1,2,3,4,52,53,85,0,
+ 0,57,80,75,5,85,62,7,8,9,
+ 66,0,1,2,3,4,101,73,74,0,
+ 0,77,0,1,2,3,4,5,6,0,
+ 86,11,10,11,12,0,0,93,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,79,0,0,78,83,
- 52,53,0,1,2,3,4,5,6,7,
- 8,9,10,72,12,0,68,69,70,71,
- 5,101,74,75,0,79,11,110,0,5,
- 6,7,8,9,86,11,0,13,14,11,
- 132,93,0,1,2,3,4,5,6,7,
+ 42,43,44,45,46,0,1,2,3,4,
+ 52,53,0,0,0,57,76,75,76,79,
+ 62,79,0,81,66,11,14,85,0,0,
+ 81,73,74,5,0,77,0,1,2,3,
+ 4,5,6,101,86,11,10,11,12,0,
+ 0,93,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,0,
- 0,0,77,78,52,53,7,8,9,102,
- 103,77,78,79,108,109,78,83,80,0,
- 68,69,70,71,5,79,74,75,0,83,
- 11,0,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,93,0,1,2,3,
+ 86,79,52,75,52,53,7,8,9,57,
+ 76,75,76,0,62,0,0,2,66,0,
+ 7,8,9,0,5,73,74,78,0,77,
+ 15,16,17,18,19,20,21,22,86,11,
+ 0,112,0,0,0,93,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
- 44,45,46,0,0,0,0,78,52,53,
- 7,8,9,7,8,9,0,79,108,109,
- 0,0,111,0,68,69,70,71,0,0,
- 74,75,11,0,11,0,33,34,35,36,
+ 44,45,46,0,71,79,53,0,52,53,
+ 7,8,9,57,7,8,9,79,62,0,
+ 0,0,66,0,86,0,5,0,5,73,
+ 74,11,11,77,11,32,33,85,35,36,
37,38,39,40,41,42,43,44,45,93,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,0,0,78,
- 0,78,52,53,7,8,9,7,8,9,
- 0,83,83,0,79,0,83,0,68,69,
- 70,71,102,103,74,75,11,0,11,0,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,93,0,1,2,3,4,5,
+ 40,41,42,43,44,45,46,76,75,76,
+ 81,0,52,53,0,80,86,57,7,8,
+ 9,0,62,0,0,0,66,0,7,8,
+ 9,0,0,73,74,11,11,77,0,1,
+ 2,3,4,5,6,7,8,9,10,0,
+ 12,13,14,93,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,0,79,78,79,78,52,53,0,1,
- 2,3,4,5,6,0,0,80,10,80,
- 12,0,68,69,70,71,5,0,74,75,
- 0,1,2,3,4,5,6,7,8,9,
- 10,0,12,13,14,0,0,93,0,1,
+ 46,76,79,71,81,80,52,53,81,0,
+ 86,57,80,75,0,0,62,0,0,0,
+ 66,7,8,9,7,8,9,73,74,80,
+ 11,77,0,1,2,3,4,5,6,7,
+ 8,9,10,0,12,13,14,93,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,80,80,52,77,72,
- 52,53,0,1,2,3,4,5,6,0,
- 80,0,10,72,12,0,68,69,70,71,
- 5,80,74,75,0,1,2,3,4,5,
- 6,7,8,9,10,0,12,13,14,0,
- 5,93,0,1,2,3,4,5,6,7,
+ 42,43,44,45,46,76,81,79,0,0,
+ 52,53,0,5,0,57,7,8,9,0,
+ 62,0,80,0,66,0,0,0,0,0,
+ 101,73,74,5,81,77,0,1,2,3,
+ 4,5,6,7,8,9,10,0,12,13,
+ 14,93,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,0,
- 0,80,77,0,52,53,7,8,9,0,
- 0,77,0,0,0,5,7,8,9,0,
- 68,69,70,71,11,11,74,75,0,1,
- 2,3,4,0,0,1,2,3,4,5,
- 6,0,0,0,10,93,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,0,1,2,
- 3,4,5,6,33,34,35,10,11,12,
- 52,47,48,49,50,51,73,73,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,0,1,2,3,4,5,6,76,
- 76,0,10,46,12,81,82,83,0,1,
- 2,3,4,5,6,83,83,0,10,11,
+ 38,39,40,41,42,43,44,45,46,85,
+ 79,75,81,80,52,53,79,0,0,57,
+ 85,0,5,5,62,0,5,0,66,0,
+ 5,0,0,0,5,73,74,113,0,77,
+ 0,117,118,119,120,121,122,123,124,125,
+ 126,127,0,0,0,93,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,0,1,2,3,4,52,53,
+ 0,80,80,57,11,0,0,79,62,0,
+ 80,11,66,0,0,1,2,3,4,73,
+ 74,0,80,77,10,0,12,0,0,1,
+ 2,3,4,5,6,0,11,0,10,93,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
- 32,0,1,2,3,4,5,6,7,8,
- 9,10,0,12,53,47,48,49,50,51,
- 0,0,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,0,1,2,3,
- 4,73,0,0,76,0,1,2,3,4,
- 5,6,0,0,86,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,0,0,
- 0,80,0,5,72,5,0,1,52,11,
- 48,49,47,48,49,50,51,11,77,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,0,1,2,3,4,73,0,
- 77,76,0,1,2,3,4,5,6,47,
- 11,0,10,47,12,13,14,15,16,17,
+ 47,48,34,0,0,72,0,0,5,0,
+ 0,46,72,0,5,47,48,49,50,51,
+ 11,75,54,55,56,0,58,59,60,61,
+ 23,63,64,65,0,67,68,69,70,0,
+ 1,2,3,4,79,0,78,0,71,81,
+ 82,83,0,1,2,3,4,5,6,52,
+ 53,0,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,77,78,79,79,0,
- 0,83,0,0,78,52,7,8,9,47,
- 48,49,50,51,11,0,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 0,0,73,0,1,2,3,4,76,6,
- 7,8,9,81,82,0,1,2,3,4,
- 5,6,22,0,0,10,85,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,47,0,
- 0,78,52,53,5,52,0,7,8,9,
- 0,5,47,48,49,50,51,0,0,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,0,0,0,0,1,2,3,
- 4,76,6,7,8,9,81,82,0,1,
- 2,3,4,5,6,0,50,51,10,85,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,48,49,77,0,0,52,77,52,0,
- 6,0,7,8,9,47,48,49,50,51,
- 11,0,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,0,0,0,0,
- 36,5,5,5,76,119,7,8,9,81,
- 82,0,1,2,3,4,5,6,47,133,
- 85,10,11,12,13,14,15,16,17,18,
+ 28,29,30,31,75,76,34,0,79,0,
+ 81,85,53,0,5,85,0,0,5,47,
+ 48,49,50,51,11,101,54,55,56,75,
+ 58,59,60,61,0,63,64,65,0,67,
+ 68,69,70,5,72,0,0,0,0,0,
+ 78,0,1,2,3,4,5,6,86,50,
+ 51,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,0,1,2,3,4,5,
- 6,7,8,9,10,86,12,0,47,48,
- 49,50,51,0,0,54,55,56,57,58,
- 59,60,61,62,63,64,65,66,67,0,
- 116,117,118,0,73,0,0,76,0,1,
- 2,3,4,5,6,0,0,0,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,0,0,0,80,0,5,48,49,0,
- 7,8,9,0,5,47,48,49,50,51,
- 11,0,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,0,72,33,34,
- 35,0,0,7,8,9,0,1,2,3,
- 4,5,6,11,52,0,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,0,
- 1,2,3,4,5,6,77,78,79,10,
- 11,12,83,47,48,49,50,51,85,131,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,0,1,2,3,4,73,
- 0,1,2,3,4,5,6,72,86,0,
+ 29,30,31,0,75,34,0,1,75,76,
+ 0,0,79,0,81,0,5,11,47,48,
+ 49,50,51,0,11,54,55,56,5,58,
+ 59,60,61,0,63,64,65,0,67,68,
+ 69,70,0,72,0,116,0,0,0,78,
+ 0,1,2,3,4,5,6,0,129,11,
10,0,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,0,0,0,77,78,0,5,
- 7,8,9,5,11,0,52,47,48,49,
- 50,51,0,0,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,0,1,
- 2,3,4,5,6,0,0,77,10,46,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,0,1,2,3,4,5,6,0,0,
- 0,10,79,12,0,47,48,49,50,51,
- 11,11,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,0,1,2,3,
- 4,5,6,0,76,0,10,72,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,0,
- 0,0,0,0,0,0,0,0,77,7,
- 8,9,73,47,48,49,50,51,78,79,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,0,1,2,3,4,5,
- 6,0,76,0,10,72,12,13,14,15,
+ 30,31,76,0,34,72,71,133,0,1,
+ 2,3,4,0,0,53,81,47,48,49,
+ 50,51,0,0,54,55,56,0,58,59,
+ 60,61,0,63,64,65,0,67,68,69,
+ 70,106,107,0,76,0,0,79,78,114,
+ 115,6,82,83,0,1,2,3,4,5,
+ 6,53,0,0,10,0,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,0,0,0,
- 0,72,72,72,72,7,8,9,11,72,
- 11,47,48,49,50,51,80,0,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,0,1,2,3,4,5,6,22,
- 0,0,10,46,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,0,0,0,0,52,
- 53,0,7,8,9,0,79,11,79,47,
- 48,49,50,51,0,86,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 0,1,2,3,4,5,6,0,0,0,
- 10,0,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,0,0,0,0,0,0,73,
- 7,8,9,7,8,9,11,47,48,49,
- 50,51,85,85,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,0,1,
- 2,3,4,5,6,0,0,0,10,72,
+ 26,27,28,29,30,31,0,0,34,0,
+ 1,2,3,4,0,6,0,1,2,3,
+ 4,47,48,49,50,51,10,0,54,55,
+ 56,0,58,59,60,61,71,63,64,65,
+ 0,67,68,69,70,0,1,2,3,4,
+ 0,0,78,0,0,0,82,83,0,1,
+ 2,3,4,5,6,0,11,0,10,53,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
- 32,0,0,0,0,0,0,5,7,8,
- 9,5,0,78,79,47,48,49,50,51,
- 0,87,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,0,1,2,3,
+ 0,0,34,0,0,0,0,0,53,0,
+ 0,46,0,0,0,47,48,49,50,51,
+ 11,0,54,55,56,0,58,59,60,61,
+ 0,63,64,65,0,67,68,69,70,0,
+ 1,2,3,4,79,0,78,0,0,0,
+ 82,83,0,1,2,3,4,5,6,0,
+ 0,0,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,0,76,34,0,1,2,
+ 3,4,53,0,0,0,0,0,0,47,
+ 48,49,50,51,0,11,54,55,56,0,
+ 58,59,60,61,0,63,64,65,0,67,
+ 68,69,70,0,72,7,8,9,0,11,
+ 78,0,1,2,3,4,5,6,0,0,
+ 53,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,0,46,34,72,0,5,6,
+ 7,8,9,0,11,0,13,14,47,48,
+ 49,50,51,0,0,54,55,56,0,58,
+ 59,60,61,0,63,64,65,79,67,68,
+ 69,70,0,1,2,3,4,5,6,0,
+ 0,0,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,0,0,34,0,75,76,
+ 0,0,79,0,81,11,11,6,0,47,
+ 48,49,50,51,11,0,54,55,56,128,
+ 58,59,60,61,0,63,64,65,0,67,
+ 68,69,70,0,72,0,1,2,3,4,
+ 5,6,0,0,11,10,0,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,72,0,34,
+ 76,0,71,79,0,72,0,0,0,11,
+ 0,0,47,48,49,50,51,11,11,54,
+ 55,56,11,58,59,60,61,0,63,64,
+ 65,0,67,68,69,70,0,0,0,76,
+ 75,0,1,2,3,4,5,6,0,0,
+ 0,10,0,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,0,76,34,0,0,72,72,
+ 0,0,6,6,0,0,6,76,47,48,
+ 49,50,51,0,0,54,55,56,0,58,
+ 59,60,61,0,63,64,65,0,67,68,
+ 69,70,0,1,2,3,4,5,6,78,
+ 0,0,10,0,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,0,0,34,71,71,0,
+ 0,71,0,0,0,0,0,0,0,47,
+ 48,49,50,51,0,0,54,55,56,0,
+ 58,59,60,61,0,63,64,65,0,67,
+ 68,69,70,0,1,2,3,4,5,6,
+ 78,0,0,10,0,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,30,31,0,0,34,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 47,48,49,50,51,0,0,54,55,56,
+ 0,58,59,60,61,0,63,64,65,0,
+ 67,68,69,70,0,1,2,3,4,5,
+ 6,0,0,0,10,0,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,0,0,34,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,47,48,49,50,51,0,0,54,55,
+ 56,0,58,59,60,61,0,63,64,65,
+ 0,67,68,69,70,0,1,2,3,4,
+ 5,6,0,0,0,10,0,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,0,0,34,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,47,48,49,50,51,0,0,54,
+ 55,56,0,58,59,60,61,0,63,64,
+ 65,0,67,68,69,70,0,1,2,3,
4,5,6,0,0,0,10,0,12,13,
14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,0,
- 0,0,0,0,0,0,0,0,5,5,
- 11,11,11,47,48,49,50,51,85,0,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,0,1,2,3,4,5,
- 6,0,0,0,10,46,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,0,0,0,
- 0,0,0,73,5,5,5,0,11,78,
- 0,47,48,49,50,51,80,80,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,0,1,2,3,4,5,6,0,
- 0,0,10,46,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,0,0,0,0,0,
- 0,0,0,0,0,0,11,11,0,47,
- 48,49,50,51,0,0,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
+ 24,25,26,27,28,29,30,31,0,0,
+ 34,0,0,0,0,0,0,0,0,0,
+ 0,0,0,47,48,49,50,51,0,0,
+ 54,55,56,0,58,59,60,61,0,63,
+ 64,65,0,67,68,69,70,0,1,2,
+ 3,4,5,6,0,0,0,10,0,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,30,31,0,
+ 0,34,0,0,0,0,0,0,0,0,
+ 0,0,0,0,47,48,49,50,51,0,
+ 0,54,55,56,0,58,59,60,61,0,
+ 63,64,65,0,67,68,69,70,0,1,
+ 2,3,4,5,6,0,0,0,10,0,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 0,0,34,0,0,0,0,0,0,0,
+ 0,0,0,0,0,47,48,49,50,51,
+ 0,0,54,55,56,0,58,59,60,61,
+ 0,63,64,65,0,67,68,69,70,0,
+ 1,2,3,4,5,6,0,0,0,10,
+ 0,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 31,0,0,34,0,0,0,0,0,0,
+ 0,0,0,0,0,0,47,48,49,50,
+ 51,0,0,54,55,56,0,58,59,60,
+ 61,0,63,64,65,0,67,68,69,70,
0,1,2,3,4,0,6,7,8,9,
- 0,46,46,0,0,15,16,17,18,19,
+ 0,1,2,3,4,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,0,0,0,0,
- 0,0,0,53,0,0,0,1,2,3,
- 4,47,6,7,8,9,52,0,68,69,
- 70,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,0,0,0,0,0,0,0,53,
- 0,0,0,1,2,3,4,0,6,7,
- 8,9,0,0,68,69,70,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,0,0,
- 0,0,0,0,0,53,0,0,0,1,
- 2,3,4,0,6,7,8,9,0,0,
- 68,69,70,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,0,0,0,0,0,5,
- 0,53,0,0,10,0,0,13,14,0,
- 0,0,0,0,0,0,68,69,70,0,
- 1,2,3,4,5,6,7,8,9,10,
- 0,12,13,14,0,0,0,0,0,0,
- 0,0,48,49,50,51,0,0,54,0,
- 1,2,3,4,5,6,7,8,9,10,
- 0,12,13,14,0,0,72,0,0,0,
- 0,77,0,79,0,81,82,83,0,85,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,99,100,0,102,0,104,105,
- 106,107,108,109,110,111,112,113,0,0,
- 0,0,0,119,0,121,122,123,124,125,
- 126,127,128,129,130,0,1,2,3,4,
+ 40,41,42,43,44,45,0,0,1,2,
+ 3,4,52,6,7,8,9,57,11,0,
+ 13,14,62,53,0,0,66,0,1,2,
+ 3,4,0,6,7,8,9,0,1,2,
+ 3,4,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,30,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,0,0,0,0,0,0,52,
+ 0,0,0,76,57,0,0,0,0,62,
+ 53,0,0,66,0,1,2,3,4,0,
+ 6,7,8,9,0,0,0,0,101,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 0,0,1,2,3,4,52,6,7,8,
+ 9,57,0,0,13,14,62,0,0,0,
+ 66,0,1,2,3,4,0,6,7,8,
+ 9,0,0,0,0,0,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,0,0,0,
+ 0,0,5,52,0,0,0,10,57,0,
+ 13,14,0,62,0,0,0,66,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,0,1,2,3,4,5,6,7,8,
+ 9,10,0,12,47,48,0,50,51,0,
+ 0,54,0,0,1,2,3,4,5,6,
+ 7,8,9,10,46,12,0,0,71,0,
+ 0,0,75,0,0,0,79,0,81,82,
+ 83,0,85,0,1,2,3,4,5,6,
+ 7,8,9,10,0,12,99,100,0,102,
+ 0,104,105,106,107,108,109,110,111,112,
+ 113,80,0,116,0,118,119,120,121,122,
+ 123,124,125,126,127,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,0,0,0,33,34,
+ 10,11,12,13,14,0,0,32,33,0,
35,36,37,38,39,40,41,42,43,44,
- 45,46,0,33,34,35,36,37,38,39,
+ 45,46,32,33,0,35,36,37,38,39,
40,41,42,43,44,45,46,0,1,2,
- 3,4,0,6,7,8,9,72,0,0,
- 13,14,77,78,0,0,0,0,0,0,
- 0,0,0,73,0,0,0,77,78,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,0,
- 0,0,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,0,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,0,0,0,0,2,0,0,0,0,
- 7,8,9,0,0,0,77,78,15,16,
- 17,18,19,20,21,0,23,0,0,0,
- 0,77,78,0,0,0,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,0,
+ 3,4,5,6,0,0,71,10,0,12,
+ 75,76,0,0,0,0,0,0,0,0,
+ 0,0,72,0,0,75,76,0,1,2,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,0,0,32,
+ 33,0,35,36,37,38,39,40,41,42,
+ 43,44,45,46,32,33,0,35,36,37,
+ 38,39,40,41,42,43,44,45,46,0,
1,2,3,4,5,6,7,8,9,10,
- 0,12,13,14,0,0,0,1,2,3,
- 4,85,6,7,8,9,0,0,0,13,
- 14,0,1,2,3,4,0,6,7,8,
- 9,0,0,0,13,14,0,0,0,113,
- 0,0,0,0,0,0,120,121,122,123,
- 124,125,126,127,128,129,130,0,1,2,
- 3,4,0,0,7,8,9,0,0,80,
- 13,0,1,2,3,4,0,6,0,0,
- 0,10,0,12,0,1,2,3,4,0,
- 6,0,0,0,10,0,12,0,0,0,
- 0,0,0,72,0,72,0,0,72,52,
- 0,0,0,0,83,0,83,0,0,83,
- 0,0,0,52,0,0,0,0,0,0,
- 0,0,0,0,0,0,52,106,107,106,
- 107,0,106,107,0,114,115,114,115,0,
- 114,115,0,0,0,0,0,0,0,0,
+ 0,12,75,76,0,1,2,3,4,5,
+ 6,7,8,9,10,0,12,75,76,0,
+ 1,2,3,4,5,6,0,0,0,10,
+ 11,12,0,1,2,3,4,0,6,7,
+ 8,9,0,0,0,13,14,0,1,2,
+ 3,4,0,6,7,8,9,0,0,0,
+ 13,14,0,0,0,46,0,0,0,80,
+ 0,1,2,3,4,0,6,7,8,9,
+ 0,0,0,13,14,0,1,2,3,4,
+ 0,0,7,8,9,0,0,0,13,0,
+ 1,2,3,4,5,6,0,0,0,10,
+ 0,12,0,1,2,3,4,5,6,0,
+ 0,0,10,0,12,0,1,2,3,4,
+ 0,6,0,0,0,10,0,12,53,0,
+ 1,2,3,4,0,6,0,0,0,10,
+ 0,12,0,1,2,3,4,5,6,0,
+ 0,0,10,0,12,0,1,2,3,4,
+ 0,6,0,0,75,10,6,12,53,0,
+ 1,2,3,4,0,6,0,0,0,10,
+ 71,12,53,0,1,2,3,4,0,0,
+ 81,71,0,10,0,12,36,0,0,0,
+ 0,81,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,106,107,0,0,0,
+ 0,0,0,114,115,0,106,107,0,0,
+ 0,0,0,0,114,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,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 130,131,132,0,0,0,0,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 char termCheck[] = TermCheck.termCheck;
@@ -2097,542 +2148,587 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface TermAction {
public final static char termAction[] = {0,
- 7969,7745,6941,6941,6941,6941,6941,6934,6941,6941,
- 6941,7821,6941,6941,6941,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,7749,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,2183,115,7980,762,8144,1,39,384,121,
- 137,1,1,8007,1245,5847,7976,3219,2838,2408,
- 2604,3170,4018,7969,3202,1700,3187,3611,3180,10,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7969,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,7824,7824,7824,7824,7824,7824,7824,7824,7824,
- 7824,117,7824,7824,7824,7824,5823,5794,5056,5141,
- 7824,7824,7969,7824,5847,7824,7824,7824,7824,7824,
- 7824,7824,3277,7824,7824,7824,7824,7824,8,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7969,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 7854,7854,7854,7854,7854,7854,7854,7854,7854,7854,
- 116,7854,7854,7854,7854,5823,5794,578,7969,7854,
- 7854,906,7854,5847,7854,7854,7854,7854,7854,7854,
- 7854,7969,7854,7854,7854,7854,7854,7969,7745,6941,
- 6941,6941,6941,6941,6934,6941,6941,6941,7752,6941,
- 6941,6941,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,7749,1,1,1,1,1,7969,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2183,7969,
- 7980,762,8144,1,5823,5794,5056,5141,1,1,
- 7969,1245,3312,3199,3219,2838,2408,2604,3170,4018,
- 2032,3202,1700,3187,3611,3180,7969,7745,6941,6941,
- 6941,6941,6941,6934,6941,6941,6941,7752,6941,6941,
- 6941,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,7749,1,1,1,1,1,564,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2183,139,7980,
- 762,8144,1,577,7969,396,7969,1,1,932,
- 1245,387,8532,3219,2838,2408,2604,3170,4018,6196,
- 3202,1700,3187,3611,3180,7969,7745,6941,6941,6941,
- 6941,6941,6934,6941,6941,6941,7752,6941,6941,6941,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,7749,1,1,1,1,1,1739,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2183,307,7980,762,
- 8144,1,5056,5141,125,138,1,1,7969,1245,
- 124,3094,3219,2838,2408,2604,3170,4018,3207,3202,
- 1700,3187,3611,3180,7969,7745,6941,6941,6941,6941,
- 6941,6934,6941,6941,6941,7752,6941,6941,6941,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 7749,1,1,1,1,1,3863,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2183,567,7980,762,8144,
- 1,123,7969,5056,5141,1,1,1530,1245,5056,
- 5141,3219,2838,2408,2604,3170,4018,3277,3202,1700,
- 3187,3611,3180,7969,7745,6941,6941,6941,6941,6941,
- 6934,6941,6941,6941,7752,6941,6941,6941,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,7749,
- 1,1,1,1,1,2234,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,2183,131,7980,762,8144,1,
- 5056,5141,122,7969,1,1,357,1245,1031,3740,
- 3219,2838,2408,2604,3170,4018,1,3202,1700,3187,
- 3611,3180,7969,7745,6941,6941,6941,6941,6941,6934,
- 6941,6941,6941,7752,6941,6941,6941,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,7749,1,
- 1,1,1,1,7969,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,2183,7969,7980,762,8144,1,1405,
- 1848,5056,5141,1,1,7969,1245,8325,7969,3219,
- 2838,2408,2604,3170,4018,7969,3202,1700,3187,3611,
- 3180,7969,7745,6941,6941,6941,6941,6941,6934,6941,
- 6941,6941,7752,6941,6941,6941,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,7749,1,1,
- 1,1,1,7969,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,2183,7969,7980,762,8144,1,2000,7969,
- 48,7969,1,1,3171,1245,8607,35,3219,2838,
- 2408,2604,3170,4018,7969,3202,1700,3187,3611,3180,
- 7969,7745,6941,6941,6941,6941,6941,6934,6941,6941,
- 6941,7752,6941,6941,6941,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,7749,1,1,1,
- 1,1,8607,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,2183,2145,7980,762,8144,1,6417,7969,48,
- 7969,1,1,1626,1245,8606,907,3219,2838,2408,
- 2604,3170,4018,7969,3202,1700,3187,3611,3180,7969,
- 7745,6941,6941,6941,6941,6941,6934,6941,6941,6941,
- 7752,6941,6941,6941,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,7749,1,1,1,1,
- 1,8606,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 2183,570,7980,762,8144,1,2698,557,48,7969,
- 1,1,2579,1245,7984,1369,3219,2838,2408,2604,
- 3170,4018,7969,3202,1700,3187,3611,3180,7969,7745,
- 6941,6941,6941,6941,6941,6934,6941,6941,6941,7752,
- 6941,6941,6941,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,7749,1,1,1,1,1,
- 7984,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,2183,
- 91,7980,762,8144,1,7631,544,48,7969,1,
- 1,1485,1245,7983,292,3219,2838,2408,2604,3170,
- 4018,7969,3202,1700,3187,3611,3180,7969,7745,6941,
- 6941,6941,6941,6941,6934,6941,6941,6941,7752,6941,
- 6941,6941,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,7749,1,1,1,1,1,7983,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2183,2701,
- 7980,762,8144,1,8481,7969,7969,1,1,1,
- 7969,1245,6824,7969,3219,2838,2408,2604,3170,4018,
- 319,3202,1700,3187,3611,3180,7969,7512,7512,7512,
- 7512,7512,7512,7512,7512,7512,7512,7512,7512,7512,
- 7512,7969,7969,3067,7969,224,38,7449,7440,7443,
- 7446,301,7057,7051,7054,3135,7437,1260,1512,7512,
- 7512,7512,7512,7512,7512,7512,7512,7512,7512,7512,
- 7512,7512,7512,8269,7512,7512,7512,7512,7066,7063,
- 7060,7072,7090,7069,7081,7048,7075,7078,7087,7084,
- 7045,37,7515,7515,7515,7515,7969,1378,7512,7512,
- 7969,7515,8588,7512,7512,7512,7512,7979,387,7512,
- 7512,7512,7512,7969,2233,8590,8593,8589,8595,8596,
- 8594,8591,742,8592,7975,7512,7512,7512,7512,7512,
- 7512,7512,7512,7512,7512,7512,7512,7512,7512,7512,
- 7512,7512,7978,2081,6933,7512,7512,7512,7512,7512,
- 7512,7512,7512,7512,7512,7512,7512,7512,7969,7512,
- 7969,7634,7634,7634,7634,7634,7634,7634,7634,7634,
- 7634,7634,7634,7634,7634,3863,39,7969,132,225,
- 7252,135,8007,913,828,897,7105,7099,7102,330,
- 330,7974,3740,7634,7634,7634,7634,7634,7634,7634,
- 7634,7634,7634,7634,7634,7634,7634,7969,7634,7634,
- 7634,7634,7114,7111,7108,7120,7138,7117,7129,7096,
- 7123,7126,7135,7132,7093,546,8516,297,7983,8607,
- 8606,7984,7634,7634,913,828,897,7634,7634,7634,
- 7634,3257,7969,7634,7634,7634,7634,287,7201,7201,
- 7201,7201,7969,284,913,828,897,4393,8517,7634,
- 7634,7634,7634,7634,7634,7634,7634,7634,7634,7634,
- 7634,7634,7634,7634,7634,7634,7969,3269,2848,7634,
- 7634,7634,7634,7634,7634,7634,7634,7634,7634,7634,
- 7634,7634,3392,7634,39,6954,6944,6947,6951,6657,
- 1077,913,828,897,5986,458,1512,5894,5917,8234,
- 8232,8240,8236,8237,8235,8238,1902,8239,8573,8574,
- 8241,8242,8233,8580,8581,8582,6422,8305,8306,8575,
- 8229,8223,8230,8226,8202,8228,8227,8224,8225,8203,
- 7969,7988,5871,3900,5963,5940,2405,8367,3354,1459,
- 1622,7990,1465,6395,1522,7991,7989,1432,7985,7986,
- 7987,6106,3765,8368,8369,37,7515,7515,7515,7515,
- 1807,39,6954,6944,7255,6951,6657,1077,913,828,
- 897,5986,7506,1512,5894,5917,8234,8232,8240,8236,
- 8237,8235,8238,1902,8239,8573,8574,8241,8242,8233,
- 8580,8581,8582,6422,8305,8306,8575,8229,8223,8230,
- 8226,8202,8228,8227,8224,8225,8203,8005,7988,5871,
- 3900,5963,5940,111,8367,3354,1459,1622,7990,1465,
- 6395,1522,7991,7989,1432,7985,7986,7987,6106,3765,
- 8368,8369,7969,7267,7258,7261,7264,1807,7969,7552,
- 7552,7552,7552,229,7548,6941,6941,6941,229,7556,
- 229,229,229,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,229,7969,7983,8607,8606,7984,
- 7545,1,1,6975,6963,6967,6971,994,6960,6994,
- 6988,6991,738,7969,1512,39,1,1,1,5338,
- 7969,8007,1725,8381,7973,6032,6055,1,229,444,
- 7503,7503,7503,7503,416,7503,7503,7503,7503,7969,
- 7969,8469,7503,7503,1,6975,6963,6967,6971,5029,
- 6960,2580,7969,7969,738,366,1512,1,7969,7983,
- 8607,8606,7984,7981,8404,8405,8406,7969,7552,7552,
- 7552,7552,229,7548,6941,6941,6941,229,7734,229,
+ 8029,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,566,
+ 7099,7099,7099,8029,8029,3311,299,7099,897,8029,
+ 8029,397,7099,846,796,839,7099,390,846,796,
+ 839,7099,7099,3775,3473,7099,7099,39,7099,7099,
+ 7099,7099,8594,8067,7099,7099,7099,289,7261,7261,
+ 7261,7261,8029,284,846,796,839,1064,121,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 7099,7099,7099,7099,7099,7099,7099,7099,7099,7099,
+ 8029,7102,7102,7102,7102,7102,7102,7102,7102,7102,
+ 7102,7102,7102,7102,7102,7102,7102,7102,7102,7102,
+ 7102,7102,7102,8029,7102,7102,7102,7102,7102,7102,
+ 7102,7102,7102,7102,8039,7102,7102,7102,7102,7102,
+ 7102,7102,7102,7102,7102,7102,7102,7102,7102,1,
+ 7102,7102,310,7029,7017,7021,7025,995,7014,7048,
+ 7042,7045,1032,6987,1510,7494,7494,4994,5079,8038,
+ 8029,7102,7102,1054,303,7102,7102,8029,8029,7102,
+ 7102,7102,875,1376,7102,7102,7102,599,7539,7539,
+ 7539,7539,139,604,846,796,839,8331,35,7102,
+ 7102,7102,7102,7102,7102,7102,7102,7102,7102,7102,
+ 7102,7102,7102,7102,7102,7102,7102,7102,7102,7102,
+ 7102,7102,7102,7102,7102,7102,7102,7102,7102,7102,
+ 8029,7805,6995,6995,6995,6995,6995,6988,6995,6995,
+ 6995,7881,6995,6995,6995,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,7809,1,1,1,
+ 1,1,1,1841,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,8029,8040,2654,758,1379,111,8204,1,3000,
+ 8029,3137,1,1,1831,386,8036,3513,2889,2458,
+ 2883,3426,4001,3363,3501,1404,3500,713,3446,10,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,6380,7884,7884,7884,7884,7884,7884,7884,
+ 7884,7884,7884,7884,7884,7884,7884,7884,7884,7884,
+ 8029,7884,7884,7884,580,2050,7884,7884,5973,5996,
+ 389,7884,7884,7884,294,7884,7884,7884,7884,7884,
+ 7884,7884,8029,7884,7884,7884,7884,7884,8,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7312,7914,7914,7914,7914,7914,7914,7914,7914,
+ 7914,7914,7914,7914,7914,7914,7914,7914,7914,2752,
+ 7914,7914,7914,4994,5079,7914,7914,8029,115,456,
+ 7914,7914,7914,751,7914,7914,7914,7914,7914,7914,
+ 7914,5811,7914,7914,7914,7914,7914,8029,7805,6995,
+ 6995,6995,6995,6995,6988,6995,6995,6995,7812,6995,
+ 6995,6995,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,7809,1,1,1,1,1,1,
+ 7512,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,8029,8040,
+ 2654,758,579,3217,8204,1,8029,117,442,1,
+ 1,1831,5787,5758,3513,2889,2458,2883,3426,4001,
+ 5811,3501,1404,3500,713,3446,8029,7805,6995,6995,
+ 6995,6995,6995,6988,6995,6995,6995,7812,6995,6995,
+ 6995,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,7809,1,1,1,1,1,1,7515,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,129,8040,2654,
+ 758,4994,5079,8204,1,8029,116,29,1,1,
+ 1831,5787,5758,3513,2889,2458,2883,3426,4001,5811,
+ 3501,1404,3500,713,3446,8029,7805,6995,6995,6995,
+ 6995,6995,6988,6995,6995,6995,7812,6995,6995,6995,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,7809,1,1,1,1,1,1,7518,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,8029,8040,2654,758,
+ 8029,114,8204,1,131,3978,3921,1,1,1831,
+ 5787,5758,3513,2889,2458,2883,3426,4001,3751,3501,
+ 1404,3500,713,3446,8029,7805,6995,6995,6995,6995,
+ 6995,6988,6995,6995,6995,7812,6995,6995,6995,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 7809,1,1,1,1,1,1,8543,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,8029,8040,2654,758,8029,
+ 113,8204,1,5973,5996,8029,1,1,1831,125,
+ 1,3513,2889,2458,2883,3426,4001,8029,3501,1404,
+ 3500,713,3446,8029,7805,6995,6995,6995,6995,6995,
+ 6988,6995,6995,6995,7812,6995,6995,6995,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,7809,
+ 1,1,1,1,1,1,2089,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1880,8040,2654,758,124,112,
+ 8204,1,5973,5996,8029,1,1,1831,4994,5079,
+ 3513,2889,2458,2883,3426,4001,8029,3501,1404,3500,
+ 713,3446,8029,7805,6995,6995,6995,6995,6995,6988,
+ 6995,6995,6995,7812,6995,6995,6995,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,7809,1,
+ 1,1,1,1,1,5371,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,130,8040,2654,758,4994,5079,8204,
+ 1,5973,5996,8029,1,1,1831,123,8029,3513,
+ 2889,2458,2883,3426,4001,371,3501,1404,3500,713,
+ 3446,8029,7805,6995,6995,6995,6995,6995,6988,6995,
+ 6995,6995,7812,6995,6995,6995,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,7809,1,1,
+ 1,1,1,1,5682,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,8029,8040,2654,758,122,1625,8204,1,
+ 1639,3978,3921,1,1,1831,4994,5079,3513,2889,
+ 2458,2883,3426,4001,369,3501,1404,3500,713,3446,
+ 8029,7805,6995,6995,6995,6995,6995,6988,6995,6995,
+ 6995,7812,6995,6995,6995,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,7809,1,1,1,
+ 1,1,1,8029,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,8029,8040,2654,758,4994,5079,8204,1,1701,
+ 572,8029,1,1,1831,2986,8029,3513,2889,2458,
+ 2883,3426,4001,8029,3501,1404,3500,713,3446,8029,
+ 7805,6995,6995,6995,6995,6995,6988,6995,6995,6995,
+ 7812,6995,6995,6995,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,7809,1,1,1,1,
+ 1,1,6711,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 559,8040,2654,758,91,2577,8204,1,8029,7691,
+ 8029,1,1,1831,2711,8029,3513,2889,2458,2883,
+ 3426,4001,510,3501,1404,3500,713,3446,8029,7805,
+ 6995,6995,6995,6995,6995,6988,6995,6995,6995,7812,
+ 6995,6995,6995,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,7809,1,1,1,1,1,
+ 1,6754,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,546,
+ 8040,2654,758,133,1483,8204,1,6869,1,8029,
+ 1,1,1831,6830,8029,3513,2889,2458,2883,3426,
+ 4001,8029,3501,1404,3500,713,3446,8029,7805,6995,
+ 6995,6995,6995,6995,6988,6995,6995,6995,7812,6995,
+ 6995,6995,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,7809,1,1,1,1,1,1,
+ 1615,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,135,8040,
+ 2654,758,3575,8029,8204,1,8029,137,571,1,
+ 1,1831,136,3442,3513,2889,2458,2883,3426,4001,
+ 309,3501,1404,3500,713,3446,8029,7572,7572,7572,
+ 7572,7572,7572,7572,7572,7572,7572,7572,7572,7572,
+ 7572,396,7210,7210,7210,7210,224,284,7201,7207,
+ 7204,1,1051,7117,7111,7114,6242,2143,7572,7572,
+ 337,7572,7572,7572,7572,7572,7572,7572,7572,7572,
+ 7572,7572,7572,7572,7572,8029,7572,7572,7126,7123,
+ 359,7120,7132,7150,7129,7141,7108,7135,7138,7147,
+ 7144,7105,7902,7899,284,7896,8029,7572,7572,3846,
+ 726,7572,7572,8029,726,7572,7572,7572,569,3403,
+ 7572,7572,7572,299,8043,8671,8670,8044,441,3288,
+ 846,796,839,3403,2100,7572,7572,7572,7572,7572,
+ 7572,7572,7572,7572,7572,7572,7572,7572,7572,7572,
+ 7572,7572,7572,7572,7572,7572,7572,7572,7572,7572,
+ 7572,7572,7572,7572,7572,7572,8029,7694,7694,7694,
+ 7694,7694,7694,7694,7694,7694,7694,7694,7694,7694,
+ 7694,600,7536,7536,7536,7536,225,604,7527,7533,
+ 7530,8387,118,7165,7159,7162,120,991,7694,7694,
+ 337,7694,7694,7694,7694,7694,7694,7694,7694,7694,
+ 7694,7694,7694,7694,7694,8029,7694,7694,7174,7171,
+ 8029,7168,7180,7198,7177,7189,7156,7183,7186,7195,
+ 7192,7153,8367,8368,604,874,8029,7694,7694,5540,
+ 5510,7694,7694,5540,5510,7694,7694,7694,39,8029,
+ 7694,7694,7694,8029,8067,846,796,839,8466,8467,
+ 8468,332,332,517,2143,7694,7694,7694,7694,7694,
+ 7694,7694,7694,7694,7694,7694,7694,7694,7694,7694,
+ 7694,7694,7694,7694,7694,7694,7694,7694,7694,7694,
+ 7694,7694,7694,7694,7694,7694,39,7008,6998,7001,
+ 7005,5395,870,846,796,839,5927,1254,1510,5835,
+ 5858,8294,8292,8300,8296,8297,8295,8298,8299,1420,
+ 977,8636,8301,8302,8293,8642,8643,8644,8367,8368,
+ 6385,874,8289,8283,8290,8286,8262,8288,8287,8284,
+ 8285,8263,1168,3883,3516,8048,5904,5881,8429,8029,
+ 3365,1670,1695,3469,8050,1681,6358,1692,8430,8051,
+ 8049,1608,8431,8045,8046,8047,6336,8029,8043,8671,
+ 8670,8044,321,460,1849,39,7008,6998,7315,7005,
+ 5395,870,846,796,839,5927,3881,1510,5835,5858,
+ 8294,8292,8300,8296,8297,8295,8298,8299,1420,977,
+ 8636,8301,8302,8293,8642,8643,8644,8367,8368,6385,
+ 874,8289,8283,8290,8286,8262,8288,8287,8284,8285,
+ 8263,8029,3883,3516,8048,5904,5881,8429,450,3365,
+ 1670,1695,3469,8050,1681,6358,1692,8430,8051,8049,
+ 1608,8431,8045,8046,8047,6336,319,1804,7566,5950,
+ 1083,7524,8029,1849,8029,7612,7612,7612,7612,229,
+ 7608,6995,6995,6995,229,7616,229,229,229,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 229,8029,7327,7318,7321,7324,1,7605,709,8029,
+ 397,1,8029,548,8578,1360,1,846,796,839,
+ 1,1804,8029,8043,8671,8670,8044,5323,1239,605,
+ 8029,8443,2231,39,229,223,846,796,839,8067,
+ 418,237,7063,7057,7060,8579,7821,8531,376,8029,
+ 8294,8292,8300,8296,8297,8295,8298,8299,8029,977,
+ 8636,8301,8302,8293,8642,8643,8644,7072,7069,2596,
+ 7066,7078,7096,7075,7087,7054,7081,7084,7093,7090,
+ 7051,1615,8029,1252,8466,8467,8468,8029,7612,7612,
+ 7612,7612,229,7608,6995,6995,6995,229,7794,229,
229,229,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,229,7969,7983,8607,8606,7984,7545,
- 1,1378,366,366,738,7980,1512,366,8327,1585,
- 7969,7622,7613,7616,7619,1,1,1,5338,6009,
- 677,1725,8381,7969,7972,366,439,229,597,7479,
- 7479,7479,7479,415,602,913,828,897,3894,7969,
- 8469,7969,6975,6963,6967,6971,994,6960,6994,6988,
- 6991,738,448,1512,7434,7434,7969,7969,7267,7258,
- 7261,7264,8005,8404,8405,8406,7969,6941,6941,6941,
- 6941,229,6941,6934,6941,6941,229,6985,229,229,
- 229,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,13263,1,12243,1,1,
- 12451,1,229,7969,9876,9579,9678,9777,6938,1,
- 7969,2656,7969,7983,8607,8606,7984,48,7267,7258,
- 7261,7264,1747,7981,1,1,1,5294,6009,677,
- 762,8180,8404,8405,8406,7969,223,43,7628,7628,
- 7628,7628,219,7009,7003,7006,185,7969,7969,8469,
- 374,8234,8232,8240,8236,8237,8235,8238,7969,8239,
- 8573,8574,8241,8242,8233,8580,8581,8582,457,7018,
- 7015,7012,7024,7042,7021,7033,7000,7027,7030,7039,
- 7036,6997,671,310,7969,7980,347,6301,933,7625,
- 219,7969,6941,6941,6941,6941,229,6941,6934,6941,
- 6941,229,229,229,229,229,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 13263,1,12243,1,1,12451,1,229,397,7983,
- 8607,8606,7984,6938,1,7509,1,6975,6963,6967,
- 6971,994,6960,6994,6988,6991,738,308,1512,1,
- 1,1,5294,1378,8370,762,8180,395,1428,7969,
- 633,7969,7542,388,913,828,897,7539,7533,7536,
- 3923,7966,3923,7969,8469,8590,8593,8589,8595,8596,
- 8594,8591,308,8592,7969,6954,6944,7255,6951,7969,
- 8007,114,454,8305,8306,8575,8229,8223,8230,8226,
- 8202,8228,8227,8224,8225,8203,7969,6954,6944,7255,
- 6951,6201,8007,6251,47,220,7969,6941,6941,6941,
- 6941,229,6941,6934,6941,6941,229,229,229,229,
- 229,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,13263,1,12243,1,1,
- 12451,1,229,226,7452,133,1401,301,6938,1,
- 7165,7159,7162,7969,7983,8607,8606,7984,7969,9876,
- 9579,9678,9777,2032,1,1,1,5294,1303,8269,
- 762,8180,7969,6032,6055,7969,7174,7171,7168,7180,
- 7198,7177,7189,7156,7183,7186,7195,7192,7153,8469,
- 7969,6941,6941,6941,6941,229,6941,6934,6941,6941,
- 229,7662,229,229,229,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,13263,
- 1,12243,1,1,12451,1,229,291,7983,8607,
- 8606,7984,6938,1,330,6954,6944,7255,6951,994,
- 1077,913,828,897,738,3431,1512,237,1,1,
- 1,5294,7761,369,762,8180,1,7830,7830,7830,
- 7830,1,7827,6994,6988,6991,220,362,7969,330,
- 330,515,7637,8469,7969,6941,6941,6941,6941,229,
- 6941,6934,6941,6941,229,7662,229,229,229,1,
- 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,229,8029,8043,8671,8670,8044,1,
+ 7605,8029,303,314,1,3876,1,2354,8029,1,
+ 846,796,839,1,8029,13033,12884,13029,13030,8033,
+ 5323,1239,8432,8029,8443,8331,8029,229,635,7716,
+ 7602,2591,8029,417,8029,7599,7593,7596,8029,6847,
+ 8531,3881,2231,8652,8655,8651,8657,8658,8656,8653,
+ 8654,6801,8029,7327,7318,7321,7324,134,7719,3362,
+ 8367,8368,157,874,8289,8283,8290,8286,8262,8288,
+ 8287,8284,8285,8263,8029,1520,8029,8466,8467,8468,
+ 8029,6995,6995,6995,6995,229,6995,6988,6995,6995,
+ 229,7039,229,229,229,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,10344,
+ 1,11646,1,1,12435,1,229,48,7327,7318,
+ 7321,7324,1,6992,5950,1083,8032,1,8029,8029,
+ 602,2503,1,634,407,7785,1,7584,7590,7587,
+ 7782,7776,7779,3665,758,7788,4330,8240,8652,8655,
+ 8651,8657,8658,8656,8653,8654,219,3442,8029,7008,
+ 6998,7315,7005,8531,8067,8367,8368,2899,874,8289,
+ 8283,8290,8286,8262,8288,8287,8284,8285,8263,8029,
+ 7791,6142,6192,8029,7029,7017,7021,7025,995,7014,
+ 7048,7042,7045,1032,8029,1510,7494,7494,399,8043,
+ 8671,8670,8044,47,219,8029,6995,6995,6995,6995,
+ 229,6995,6988,6995,6995,229,229,229,229,229,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,10344,1,11646,1,1,12435,
+ 1,229,226,8029,3176,185,1242,1,6992,7225,
+ 7219,7222,1,2707,8035,593,8029,1,227,1,
+ 1,1,846,796,839,7276,7270,7273,3665,758,
+ 8039,191,8240,8029,7234,7231,8029,7228,7240,7258,
+ 7237,7249,7216,7243,7246,7255,7252,7213,8531,8029,
+ 7285,7282,3158,7279,7291,7309,7288,7300,7267,7294,
+ 7297,7306,7303,7264,459,8038,191,8029,8029,7029,
+ 7017,7021,7025,995,7014,7048,7042,7045,1032,8034,
+ 1510,7560,7560,8029,13033,12884,13029,13030,37,220,
+ 8029,6995,6995,6995,6995,229,6995,6988,6995,6995,
+ 229,229,229,229,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,13263,1,12243,1,1,12451,1,
- 229,36,7883,7874,7877,7880,6938,1,521,7969,
- 6954,6944,7255,6951,362,1077,7969,134,1640,738,
- 1,1512,1,1,1,5294,7969,7976,762,8180,
- 1167,362,7969,6954,6944,7255,6951,362,1077,7969,
- 220,440,738,7969,1512,2928,157,8469,7969,6941,
- 6941,6941,6941,229,6941,6934,6941,6941,229,7662,
+ 1,1,1,1,1,1,1,1,1,10344,
+ 1,11646,1,1,12435,1,229,590,3035,7569,
+ 8026,8065,1,6992,7342,7336,7339,1,2707,8029,
+ 594,8029,1,508,6849,1,1,846,796,839,
+ 312,1254,1,3665,758,675,8029,8240,349,7351,
+ 7348,5021,7345,7357,7375,7354,7366,7333,7360,7363,
+ 7372,7369,7330,8531,8029,6995,6995,6995,6995,229,
+ 6995,6988,6995,6995,229,7722,229,229,229,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,10344,1,11646,1,1,12435,1,
+ 229,293,8043,8671,8670,8044,1,6992,6878,8029,
+ 397,1,2,1804,6864,1430,1,846,796,839,
+ 1,36,7943,7934,7937,7940,8389,3665,758,8029,
+ 8029,8240,1,7029,7017,7021,7025,4967,7014,8029,
+ 220,8035,1032,368,1510,8029,8029,8531,8029,6995,
+ 6995,6995,6995,229,6995,6988,6995,6995,229,7722,
229,229,229,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,13263,1,12243,
- 1,1,12451,1,229,5417,129,113,362,6517,
- 6938,1,600,6954,6944,7255,6951,994,1077,913,
- 828,897,738,7455,1512,1,1,1,1,5294,
- 1208,362,762,8180,39,2453,7755,3431,7969,1208,
- 8007,913,828,897,220,344,7969,330,330,7975,
- 3923,8469,7969,6941,6941,6941,6941,229,6941,6934,
- 6941,6941,229,229,229,229,229,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,13263,1,12243,1,1,12451,1,229,227,
- 130,136,1378,7758,6938,1,7216,7210,7213,6032,
- 6055,1378,344,344,3995,3938,7974,344,667,7969,
- 1,1,1,5294,1231,5417,762,8180,449,3962,
- 7975,7969,7225,7222,7219,7231,7249,7228,7240,7207,
- 7234,7237,7246,7243,7204,8469,7969,6941,6941,6941,
- 6941,229,6941,6934,6941,6941,229,229,229,229,
+ 1,1,1,1,1,1,1,10344,1,11646,
+ 1,1,12435,1,229,292,715,715,715,715,
+ 1,6992,132,8029,1,1,8034,1804,368,2195,
+ 1,368,451,368,1,7697,3751,1584,348,138,
+ 3580,3665,758,2875,8029,8240,1,7029,7017,7021,
+ 7025,4967,7014,368,220,8035,1032,7815,1510,534,
+ 8029,8531,8029,6995,6995,6995,6995,229,6995,6988,
+ 6995,6995,229,7722,229,229,229,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,10344,1,11646,1,1,12435,1,229,332,
+ 8036,1689,2403,1804,1,6992,7703,7709,7706,1,
+ 8034,1804,7818,332,1,8029,363,8650,1,8029,
+ 846,796,839,73,3622,3665,758,3915,8029,8240,
+ 8652,8655,8651,8657,8658,8656,8653,8654,220,8037,
+ 8029,3288,422,1,8029,8531,8029,6995,6995,6995,
+ 6995,229,6995,6988,6995,6995,229,229,229,229,
229,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,13263,1,12243,1,1,
- 12451,1,229,588,7969,7969,297,7974,6938,1,
- 7282,7276,7279,913,828,897,7969,2999,3995,3938,
- 112,7969,3392,1,1,1,1,5294,7969,7969,
- 762,8180,7975,7969,161,361,7291,7288,7285,7297,
- 7315,7294,7306,7273,7300,7303,7312,7309,7270,8469,
- 7969,6941,6941,6941,6941,229,6941,6934,6941,6941,
+ 1,1,1,1,1,10344,1,11646,1,1,
+ 12435,1,229,631,7999,3697,698,595,1,6992,
+ 7740,7734,7737,1,846,796,839,1329,1,8029,
+ 8029,8029,1,1,8036,430,1475,8029,1209,3665,
+ 758,8037,8035,8240,7815,7749,7746,2848,7743,7755,
+ 7773,7752,7764,7731,7758,7761,7770,7767,7728,8531,
+ 8029,6995,6995,6995,6995,229,6995,6988,6995,6995,
229,229,229,229,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,13263,
- 1,12243,1,1,12451,1,229,629,7969,7974,
- 603,161,6938,1,7680,7674,7677,913,828,897,
- 7969,3258,3259,290,3536,7969,3265,1,1,1,
- 1,5294,6032,6055,762,8180,7975,1,163,428,
- 7689,7686,7683,7695,7713,7692,7704,7671,7698,7701,
- 7710,7707,7668,8469,7969,6941,6941,6941,6941,229,
- 6941,6934,6941,6941,229,229,229,229,229,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,13263,1,12243,1,1,12451,1,
- 229,7969,1306,7974,865,163,6938,1,1,6975,
- 6963,6967,6971,6957,6960,7969,7969,2,6982,3053,
- 6979,317,1,1,1,5294,7464,29,762,8180,
- 7969,6975,6963,6967,6971,994,6960,6994,6988,6991,
- 738,29,1512,7500,7500,37,7969,8469,7969,6941,
- 6941,6941,6941,229,6941,6934,6941,6941,229,229,
+ 1,1,1,1,1,1,1,1,1,10344,
+ 1,11646,1,1,12435,1,229,8034,1804,7818,
+ 3587,601,1,6992,8029,1304,8036,1,846,796,
+ 839,419,1,8029,8,8029,1,8029,846,796,
+ 839,8029,29,3665,758,8023,8035,8240,346,7008,
+ 6998,7315,7005,4967,870,846,796,839,1032,8029,
+ 1510,332,332,8531,8029,6995,6995,6995,6995,229,
+ 6995,6988,6995,6995,229,229,229,229,229,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,10344,1,11646,1,1,12435,1,
+ 229,8034,1402,1615,6480,971,1,6992,3593,8029,
+ 8023,1,426,1804,597,8029,1,596,286,1,
+ 1,7946,7952,7949,7955,7961,7958,3665,758,4065,
+ 364,8240,8029,7964,7964,7964,7964,7964,7964,7964,
+ 7964,7964,7964,8029,7964,7964,7964,8531,8029,6995,
+ 6995,6995,6995,229,6995,6988,6995,6995,229,229,
229,229,229,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,13263,1,12243,
- 1,1,12451,1,229,4128,4192,8005,1378,7458,
- 6938,1,1,6975,6963,6967,6971,994,6960,7969,
- 2656,7969,738,1739,1512,346,1,1,1,5294,
- 2824,424,762,8180,344,6954,6944,7255,6951,5029,
- 1077,913,828,897,738,7969,1512,330,330,7969,
- 2783,8469,7969,6941,6941,6941,6941,229,6941,6934,
- 6941,6941,229,229,229,229,229,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,10344,1,11646,
+ 1,1,12435,1,229,364,8486,8314,8029,420,
+ 1,6992,8029,3641,139,1,846,796,839,8029,
+ 1,8029,7964,8029,1,8029,100,292,8029,8029,
+ 364,3665,758,4097,8472,8240,8029,7029,7017,7021,
+ 7025,995,7014,7048,7042,7045,1032,8029,1510,7560,
+ 7560,8531,8029,6995,6995,6995,6995,229,6995,6988,
+ 6995,6995,229,229,229,229,229,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,10344,1,11646,1,1,12435,1,229,2408,
+ 1402,7911,3908,4129,1,6992,11508,8029,8029,1,
+ 1841,8029,4237,2834,1,103,4173,8029,1,8029,
+ 7967,8029,8029,8029,4715,3665,758,1379,428,8240,
+ 8029,3000,2358,2308,2258,2208,2158,2108,2058,2008,
+ 1958,1908,8029,8029,8029,8531,8029,6995,6995,6995,
+ 6995,229,6995,6988,6995,6995,229,229,229,229,
+ 229,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,13263,1,12243,1,1,12451,1,229,312,
- 7969,2504,1378,7969,6938,1,913,828,897,600,
- 7969,1378,7969,1,1,5330,7524,7530,7527,7969,
- 1,1,1,5294,7461,7981,762,8180,7969,12916,
- 12916,12916,12916,532,1,6975,6963,6967,6971,6657,
- 6960,335,7969,7969,5986,8469,1512,5894,5917,7595,
- 7601,7577,7589,7586,7592,7583,7559,7580,7607,7604,
- 7574,7571,7598,7568,7565,7562,7610,1,6975,6963,
- 6967,6971,6957,6960,7842,7839,7836,6982,7979,6979,
- 8005,7988,5871,3900,5963,5940,7980,7980,3354,1459,
- 1622,7990,1465,6395,1522,7991,7989,1432,7985,7986,
- 7987,6106,1,6975,6963,6967,6971,994,6960,3991,
- 1807,7969,738,7978,1512,39,39,516,39,6954,
- 6944,7255,6951,6657,1077,8424,8410,7969,5986,7942,
- 1512,5894,5917,8234,8232,8240,8236,8237,8235,8238,
- 1806,8239,8573,8574,8241,8242,8233,8580,8581,8582,
- 5228,1,6975,6963,6967,6971,994,6960,6994,6988,
- 6991,738,7969,1512,2985,7988,5871,3900,5963,5940,
- 7969,100,3354,1459,1622,7990,1465,6395,1522,7991,
- 7989,1432,7985,7986,7987,6106,45,7791,7791,7791,
- 7791,7521,118,99,1807,39,6954,6944,7255,6951,
- 6657,1077,7969,7969,7976,5986,7518,1512,5894,5917,
- 8234,8232,8240,8236,8237,8235,8238,1806,8239,8573,
- 8574,8241,8242,8233,8580,8581,8582,5228,1,426,
- 7969,2656,569,1208,2039,6798,7969,3197,7788,614,
- 5576,5498,7988,5871,3900,5963,5940,7975,7851,3354,
- 1459,1622,7990,1465,6395,1522,7991,7989,1432,7985,
- 7986,7987,6106,37,7515,7515,7515,7515,7521,587,
- 7910,1807,141,6954,6944,7255,6951,6657,1077,2195,
- 7737,367,5986,3189,1512,5894,5917,8234,8232,8240,
- 8236,8237,8235,8238,1806,8239,8573,8574,8241,8242,
- 8233,8580,8581,8582,5228,1378,614,614,1572,591,
- 7969,614,7969,1,7974,1981,913,828,897,7988,
- 5871,3900,5963,5940,528,7969,3354,1459,1622,7990,
- 1465,6395,1522,7991,7989,1432,7985,7986,7987,6106,
- 1,7969,7741,394,7150,7150,7150,7150,1807,284,
- 7141,7147,7144,39,39,552,6954,6944,7255,6951,
- 6657,1077,7656,7969,508,5986,1702,1512,5894,5917,
- 8234,8232,8240,8236,8237,8235,8238,1806,8239,8573,
- 8574,8241,8242,8233,8580,8581,8582,5228,2181,7969,
- 592,528,3090,7659,3629,284,75,913,828,897,
- 100,7494,7988,5871,3900,5963,5940,7969,7969,3354,
- 1459,1622,7990,1465,6395,1522,7991,7989,1432,7985,
- 7986,7987,6106,120,1,7969,598,7476,7476,7476,
- 7476,1807,602,7467,7473,7470,39,39,1,6975,
- 6963,6967,6971,6657,6960,506,7485,7482,5986,6827,
- 1512,5894,5917,7595,7601,7577,7589,7586,7592,7583,
- 7559,7580,7607,7604,7574,7571,7598,7568,7565,7562,
- 7610,5576,5498,7497,39,395,714,7851,602,7969,
- 8007,7969,913,828,897,7988,5871,3900,5963,5940,
- 7977,7969,3354,1459,1622,7990,1465,6395,1522,7991,
- 7989,1432,7985,7986,7987,6106,7969,7969,7969,330,
- 1831,6810,3154,3792,1807,7488,7643,7649,7646,39,
- 39,39,6954,6944,7255,6951,6657,1077,2195,7491,
- 6830,5986,7518,1512,5894,5917,8234,8232,8240,8236,
- 8237,8235,8238,1806,8239,8573,8574,8241,8242,8233,
- 8580,8581,8582,5228,1,6975,6963,6967,6971,994,
- 6960,6994,6988,6991,738,7976,1512,7969,7988,5871,
- 3900,5963,5940,7969,7969,3354,1459,1622,7990,1465,
- 6395,1522,7991,7989,1432,7985,7986,7987,6106,119,
- 8404,8405,8406,7969,7521,7969,7969,1807,39,6954,
- 6944,7255,6951,6657,1077,7969,7969,7969,5986,7973,
- 1512,5894,5917,8234,8232,8240,8236,8237,8235,8238,
- 1806,8239,8573,8574,8241,8242,8233,8580,8581,8582,
- 5228,7969,1,330,2656,335,3839,5576,5498,1,
- 913,828,897,420,1208,7988,5871,3900,5963,5940,
- 340,7969,3354,1459,1622,7990,1465,6395,1522,7991,
- 7989,1432,7985,7986,7987,6106,593,3628,8305,8306,
- 8575,7969,8,913,828,897,39,6954,6944,7255,
- 6951,6657,1077,7963,721,7969,5986,7518,1512,5894,
- 5917,8234,8232,8240,8236,8237,8235,8238,1806,8239,
- 8573,8574,8241,8242,8233,8580,8581,8582,5228,1,
- 6975,6963,6967,6971,5029,6960,1378,340,340,738,
- 7755,1512,340,7988,5871,3900,5963,5940,2797,7972,
- 3354,1459,1622,7990,1465,6395,1522,7991,7989,1432,
- 7985,7986,7987,6106,7969,7870,7858,7862,7866,7521,
- 39,6954,6944,7255,6951,6657,1077,5306,7963,7969,
- 5986,7969,1512,5894,5917,8234,8232,8240,8236,8237,
- 8235,8238,1806,8239,8573,8574,8241,8242,8233,8580,
- 8581,8582,5228,7969,7969,7969,1378,7758,7969,4026,
- 7945,7953,7949,2842,7957,7969,8005,7988,5871,3900,
- 5963,5940,7969,7969,3354,1459,1622,7990,1465,6395,
- 1522,7991,7989,1432,7985,7986,7987,6106,39,6954,
- 6944,7255,6951,6657,1077,7969,7969,1570,5986,7957,
- 1512,5894,5917,8234,8232,8240,8236,8237,8235,8238,
- 1806,8239,8573,8574,8241,8242,8233,8580,8581,8582,
- 5228,1,6975,6963,6967,6971,5029,6960,7969,576,
- 7969,738,7957,1512,7969,7988,5871,3900,5963,5940,
- 7794,7975,3354,1459,1622,7990,1465,6395,1522,7991,
- 7989,1432,7985,7986,7987,6106,39,6954,6944,7255,
- 6951,6657,1077,7969,1807,7969,5986,5369,1512,5894,
- 5917,8234,8232,8240,8236,8237,8235,8238,1806,8239,
- 8573,8574,8241,8242,8233,8580,8581,8582,5228,7969,
- 7969,7969,395,7969,7969,7969,7969,73,1378,913,
- 828,897,7798,7988,5871,3900,5963,5940,7974,1755,
- 3354,1459,1622,7990,1465,6395,1522,7991,7989,1432,
- 7985,7986,7987,6106,39,6954,6944,7255,6951,4305,
- 1077,7969,1807,7969,5986,6818,1512,5894,5917,8234,
- 8232,8240,8236,8237,8235,8238,1806,8239,8573,8574,
- 8241,8242,8233,8580,8581,8582,5228,7969,599,7969,
- 7969,1739,1303,2980,1739,913,828,897,7979,7939,
- 7977,7988,5871,3900,5963,5940,2554,1,3354,1459,
- 1622,7990,1465,6395,1522,7991,7989,1432,7985,7986,
- 7987,6106,39,6954,6944,7255,6951,6585,1077,7656,
- 7969,7969,5986,7978,1512,5894,5917,8234,8232,8240,
- 8236,8237,8235,8238,1806,8239,8573,8574,8241,8242,
- 8233,8580,8581,8582,5228,417,574,7969,7969,3090,
- 7659,7969,913,828,897,7969,4260,7802,1328,7988,
- 5871,3900,5963,5940,7969,7976,3354,1459,1622,7990,
- 1465,6395,1522,7991,7989,1432,7985,7986,7987,6106,
- 39,6954,6944,7255,6951,6601,1077,2,7969,7969,
- 5986,7969,1512,5894,5917,8234,8232,8240,8236,8237,
- 8235,8238,1806,8239,8573,8574,8241,8242,8233,8580,
- 8581,8582,5228,595,7969,7969,594,7969,7969,7806,
- 7886,7892,7889,7895,7901,7898,7975,7988,5871,3900,
- 5963,5940,2145,2606,3354,1459,1622,7990,1465,6395,
- 1522,7991,7989,1432,7985,7986,7987,6106,39,6954,
- 6944,7255,6951,6645,1077,7969,7969,7969,5986,37,
- 1512,5894,5917,8234,8232,8240,8236,8237,8235,8238,
- 1806,8239,8573,8574,8241,8242,8233,8580,8581,8582,
- 5228,418,7969,510,7969,7969,103,3927,913,828,
- 897,7907,7969,7974,6846,7988,5871,3900,5963,5940,
- 7969,3896,3354,1459,1622,7990,1465,6395,1522,7991,
- 7989,1432,7985,7986,7987,6106,39,6954,6944,7255,
- 6951,6657,1077,7969,7969,7969,5986,7969,1512,5894,
- 5917,8234,8232,8240,8236,8237,8235,8238,1806,8239,
- 8573,8574,8241,8242,8233,8580,8581,8582,5228,7969,
- 87,1,7969,7969,7969,7969,7969,7969,4300,1935,
- 7979,7810,7975,7988,5871,3900,5963,5940,771,7969,
- 3354,1459,1622,7990,1465,6395,1522,7991,7989,1432,
- 7985,7986,7987,6106,39,6954,6944,7255,6951,6677,
- 1077,7969,7969,7969,5986,7978,1512,5894,5917,8234,
- 8232,8240,8236,8237,8235,8238,1806,8239,8573,8574,
- 8241,8242,8233,8580,8581,8582,5228,405,7969,279,
- 103,7969,7969,7814,7960,7907,6602,7969,7728,7974,
- 7969,7988,5871,3900,5963,5940,2752,4329,3354,1459,
- 1622,7990,1465,6395,1522,7991,7989,1432,7985,7986,
- 7987,6106,39,6954,6944,7255,6951,6657,1077,7969,
- 7969,7969,5986,7731,1512,5894,5917,8234,8232,8240,
- 8236,8237,8235,8238,1806,8239,8573,8574,8241,8242,
- 8233,8580,8581,8582,5228,1,1,7969,7969,7969,
- 7969,7969,7969,7969,7969,7969,7979,191,7969,7988,
- 5871,3900,5963,5940,7969,7969,3354,1459,1622,7990,
- 1465,6395,1522,7991,7989,1432,7985,7986,7987,6106,
- 7969,6954,6944,6947,6951,7969,8007,913,828,897,
- 7969,7978,191,7969,1,8234,8232,8240,8236,8237,
- 8235,8238,754,8239,8573,8574,8241,8242,8233,8580,
- 8581,8582,3505,8305,8306,8575,8229,8223,8230,8226,
- 8202,8228,8227,8224,8225,8203,7969,7969,7969,7969,
- 7969,7969,7969,8367,7969,7969,241,7427,7414,7418,
- 7423,775,7431,7330,7324,7327,775,7969,3765,8368,
- 8369,7399,7405,7381,7393,7390,7396,7387,754,7384,
- 7411,7408,7378,7375,7402,7372,7369,7366,3505,7339,
- 7336,7333,7345,7363,7342,7354,7321,7348,7351,7360,
- 7357,7318,7969,7969,7969,7969,7969,7969,7969,8367,
- 7969,7969,7969,6954,6944,7255,6951,7969,8007,913,
- 828,897,7969,7969,3765,8368,8369,8234,8232,8240,
- 8236,8237,8235,8238,754,8239,8573,8574,8241,8242,
- 8233,8580,8581,8582,3505,8305,8306,8575,8229,8223,
- 8230,8226,8202,8228,8227,8224,8225,8203,7969,7969,
- 7969,7969,7969,7969,7969,8367,7969,7969,241,7427,
- 7414,7652,7423,7969,7431,7330,7324,7327,7969,7969,
- 3765,8368,8369,7399,7405,7381,7393,7390,7396,7387,
- 754,7384,7411,7408,7378,7375,7402,7372,7369,7366,
- 3505,7339,7336,7333,7345,7363,7342,7354,7321,7348,
- 7351,7360,7357,7318,1,7969,7969,7969,7969,1912,
- 7969,8367,7969,7969,8438,7969,7969,8432,8436,7969,
- 7969,7969,7969,7969,7969,7969,3765,8368,8369,308,
- 6975,6963,6967,6971,994,6960,6994,6988,6991,738,
- 7969,1512,7434,7434,7969,7969,7969,7969,7969,7969,
- 7969,7969,8430,8431,8461,8462,7969,7969,8439,7969,
- 6975,6963,6967,6971,994,6960,6994,6988,6991,738,
- 7969,1512,7500,7500,7969,7969,8441,7969,7969,7969,
- 7969,1039,7969,8463,7969,2003,2055,8442,7969,8440,
- 7969,7969,7969,7969,7969,7969,7969,7969,7969,7969,
- 7969,7969,7969,8452,8451,7969,8464,7969,8433,8434,
- 8457,8458,8455,8456,8435,8437,8459,8460,7969,7969,
- 7969,7969,7969,8465,7969,8445,8446,8447,8443,8444,
- 8453,8454,8449,8448,8450,29,387,387,387,387,
- 7767,387,387,387,387,387,7767,387,7767,7767,
- 576,587,587,587,587,587,587,587,587,587,
- 587,7931,587,7936,7936,7969,7969,7969,387,387,
- 387,387,387,387,387,387,387,387,387,387,
- 387,7767,7969,587,587,587,587,587,587,587,
- 587,587,587,587,587,587,7936,445,7782,7782,
- 7782,7782,7969,7779,7770,7776,7773,7458,7969,7969,
- 7785,7785,7767,7767,7969,7969,7969,7969,7969,7969,
- 7969,7969,7969,7521,7969,7969,7969,587,7936,32,
- 388,388,388,388,7764,388,388,388,388,388,
- 7764,388,7764,7764,575,586,586,586,586,586,
- 586,586,586,586,586,7833,586,7833,7833,7969,
- 7969,7969,388,388,388,388,388,388,388,388,
- 388,388,388,388,388,7764,139,586,586,586,
- 586,586,586,586,586,586,586,586,586,586,
- 7833,7969,7969,632,7969,7725,7969,7969,7969,7969,
- 7722,7716,7719,7969,7969,7969,7764,7764,8590,8593,
- 8589,8595,8596,8594,8591,7969,8592,7969,7969,7969,
- 7969,586,7833,7969,7969,7969,8305,8306,8575,8229,
- 8223,8230,8226,8202,8228,8227,8224,8225,8203,7969,
- 7904,7904,7904,7904,7904,7904,7904,7904,7904,7904,
- 7969,7904,7904,7904,7969,7969,92,7818,7818,7818,
- 7818,2358,7818,7818,7818,7818,7969,7969,7969,7818,
- 7818,95,7925,7925,7925,7925,7969,7922,7913,7919,
- 7916,126,7969,128,7928,7928,127,7969,7969,3094,
- 7969,7969,7969,7969,7969,7969,3207,2308,2258,2208,
- 2158,2108,2058,2008,1958,1908,1857,37,7515,7515,
- 7515,7515,7969,7969,913,828,897,7969,7969,7904,
- 330,7969,6954,6944,7255,6951,7969,1077,7969,7969,
- 7969,7640,7969,1512,7969,6954,6944,7255,6951,7969,
- 1077,7969,7969,7969,7640,7969,1512,7969,7969,7969,
- 7969,7969,7969,4996,7969,4996,7969,7969,4996,8005,
- 7969,7969,7969,7969,7665,7969,7845,7969,7969,7848,
- 7969,7969,7969,841,7969,7969,7969,7969,7969,7969,
- 7969,7969,7969,7969,7969,7969,884,4930,4897,4930,
- 4897,7969,4930,4897,7969,4863,4830,4863,4830,7969,
- 4863,4830
+ 1,1,1,1,1,10344,1,11646,1,1,
+ 12435,1,229,8029,8043,8671,8670,8044,1,6992,
+ 8029,2554,2604,1,8041,8029,99,1136,1,8029,
+ 2803,8041,1,119,38,7509,7500,7503,7506,3665,
+ 758,8029,4266,8240,7497,8029,1510,8029,1,7029,
+ 7017,7021,7025,5395,7014,8029,8039,2,5927,8531,
+ 1510,5835,5858,7655,7661,7637,7649,7646,7652,7643,
+ 7640,7619,7667,7664,7634,7631,7658,7628,7625,7622,
+ 5540,5510,7670,8029,1,8040,8029,1,1234,1,
+ 512,8038,8040,8029,1209,3883,3516,8048,5904,5881,
+ 616,7970,3365,1670,1695,8029,8050,1681,6358,1692,
+ 7716,8051,8049,1608,100,8045,8046,8047,6336,37,
+ 7575,7575,7575,7575,3846,8029,1849,8029,37,518,
+ 39,39,39,7008,6998,7315,7005,5395,870,7719,
+ 3362,8029,5927,8002,1510,5835,5858,8294,8292,8300,
+ 8296,8297,8295,8298,8299,1796,977,8636,8301,8302,
+ 8293,8642,8643,8644,1804,616,6047,8029,616,75,
+ 616,2657,8065,1,7554,772,8029,8029,1209,3883,
+ 3516,8048,5904,5881,342,3776,3365,1670,1695,7911,
+ 8050,1681,6358,1692,523,8051,8049,1608,279,8045,
+ 8046,8047,6336,8020,7581,8029,8029,8029,8029,8029,
+ 1849,39,7008,6998,7315,7005,5395,870,8036,7545,
+ 7542,5927,7578,1510,5835,5858,8294,8292,8300,8296,
+ 8297,8295,8298,8299,1796,977,8636,8301,8302,8293,
+ 8642,8643,8644,8029,7557,6047,8029,2193,1804,342,
+ 8029,103,342,1,342,126,7967,8035,3883,3516,
+ 8048,5904,5881,8029,7521,3365,1670,1695,5425,8050,
+ 1681,6358,1692,8029,8051,8049,1608,8029,8045,8046,
+ 8047,6336,1,7581,8029,7548,8029,8029,8029,1849,
+ 141,7008,6998,7315,7005,5395,870,8029,7551,8035,
+ 5927,8029,1510,5835,5858,8294,8292,8300,8296,8297,
+ 8295,8298,8299,1796,977,8636,8301,8302,8293,8642,
+ 8643,8644,8034,8029,6047,8040,4934,3881,8029,7682,
+ 7673,7676,7679,8029,8029,718,7725,3883,3516,8048,
+ 5904,5881,8029,8029,3365,1670,1695,8029,8050,1681,
+ 6358,1692,8029,8051,8049,1608,8029,8045,8046,8047,
+ 6336,4868,4835,8029,8034,398,8029,1754,1849,4800,
+ 4767,389,39,39,554,7008,6998,7315,7005,5395,
+ 870,8065,8029,8029,5927,8029,1510,5835,5858,8294,
+ 8292,8300,8296,8297,8295,8298,8299,1796,977,8636,
+ 8301,8302,8293,8642,8643,8644,8029,8029,6047,8029,
+ 7008,6998,7315,7005,8029,8067,37,7575,7575,7575,
+ 7575,3883,3516,8048,5904,5881,7575,8029,3365,1670,
+ 1695,8029,8050,1681,6358,1692,1615,8051,8049,1608,
+ 8029,8045,8046,8047,6336,43,7688,7688,7688,7688,
+ 8029,8029,1849,8029,8029,8029,39,39,1,7029,
+ 7017,7021,7025,5395,7014,8029,8039,8029,5927,2281,
+ 1510,5835,5858,7655,7661,7637,7649,7646,7652,7643,
+ 7640,7619,7667,7664,7634,7631,7658,7628,7625,7622,
+ 8029,8029,7670,8029,8029,8029,8029,8029,7685,1,
+ 8029,8038,8029,8029,8029,3883,3516,8048,5904,5881,
+ 161,8029,3365,1670,1695,8029,8050,1681,6358,1692,
+ 8029,8051,8049,1608,8029,8045,8046,8047,6336,8029,
+ 12210,12210,12210,12210,4197,8029,1849,8029,8029,8029,
+ 39,39,39,7008,6998,7315,7005,5395,870,8029,
+ 8029,8029,5927,7578,1510,5835,5858,8294,8292,8300,
+ 8296,8297,8295,8298,8299,1796,977,8636,8301,8302,
+ 8293,8642,8643,8644,8029,161,6047,45,7851,7851,
+ 7851,7851,8065,8029,1,8029,8029,8029,8029,3883,
+ 3516,8048,5904,5881,8029,8041,3365,1670,1695,8029,
+ 8050,1681,6358,1692,8029,8051,8049,1608,8029,8045,
+ 8046,8047,6336,8029,7581,8005,8013,8009,8029,8017,
+ 1849,39,7008,6998,7315,7005,5395,870,8029,8029,
+ 7848,5927,8033,1510,5835,5858,8294,8292,8300,8296,
+ 8297,8295,8298,8299,1796,977,8636,8301,8302,8293,
+ 8642,8643,8644,39,8017,6047,8040,8029,1209,8067,
+ 846,796,839,8029,346,8029,332,332,3883,3516,
+ 8048,5904,5881,8029,8029,3365,1670,1695,8029,8050,
+ 1681,6358,1692,8029,8051,8049,1608,8017,8045,8046,
+ 8047,6336,39,7008,6998,7315,7005,5395,870,8029,
+ 8029,8029,5927,7578,1510,5835,5858,8294,8292,8300,
+ 8296,8297,8295,8298,8299,1796,977,8636,8301,8302,
+ 8293,8642,8643,8644,8029,589,6047,8029,1804,346,
+ 8029,48,346,578,346,8035,7797,8671,8029,3883,
+ 3516,8048,5904,5881,7854,8029,3365,1670,1695,8032,
+ 8050,1681,6358,1692,8029,8051,8049,1608,8029,8045,
+ 8046,8047,6336,1,7581,39,7008,6998,7315,7005,
+ 5395,870,8029,8029,163,5927,8029,1510,5835,5858,
+ 8294,8292,8300,8296,8297,8295,8298,8299,1796,977,
+ 8636,8301,8302,8293,8642,8643,8644,7801,1,6047,
+ 8034,8029,8671,6885,8029,7858,576,87,8029,530,
+ 8029,1,3883,3516,8048,5904,5881,7862,7870,3365,
+ 1670,1695,8035,8050,1681,6358,1692,8029,8051,8049,
+ 1608,8029,8045,8046,8047,6336,8029,8029,8029,163,
+ 2393,39,7008,6998,7315,7005,5395,870,8029,8029,
+ 8029,5927,8029,1510,5835,5858,8294,8292,8300,8296,
+ 8297,8295,8298,8299,1796,977,8636,8301,8302,8293,
+ 8642,8643,8644,8029,530,6047,48,48,7866,7874,
+ 48,8029,8670,8044,8029,8029,8043,8034,3883,3516,
+ 8048,5904,5881,8029,8029,3365,1670,1695,8029,8050,
+ 1681,6358,1692,8029,8051,8049,1608,8029,8045,8046,
+ 8047,6336,39,7008,6998,7315,7005,5395,870,1849,
+ 8029,8029,5927,8029,1510,5835,5858,8294,8292,8300,
+ 8296,8297,8295,8298,8299,1796,977,8636,8301,8302,
+ 8293,8642,8643,8644,8029,8029,6047,8670,8044,8029,
+ 8029,8043,8029,8029,8029,8029,8029,8029,8029,3883,
+ 3516,8048,5904,5881,8029,8029,3365,1670,1695,8029,
+ 8050,1681,6358,1692,8029,8051,8049,1608,8029,8045,
+ 8046,8047,6336,39,7008,6998,7315,7005,3201,870,
+ 1849,8029,8029,5927,8029,1510,5835,5858,8294,8292,
+ 8300,8296,8297,8295,8298,8299,1796,977,8636,8301,
+ 8302,8293,8642,8643,8644,8029,8029,6047,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 3883,3516,8048,5904,5881,8029,8029,3365,1670,1695,
+ 8029,8050,1681,6358,1692,8029,8051,8049,1608,8029,
+ 8045,8046,8047,6336,39,7008,6998,7315,7005,4242,
+ 870,8029,8029,8029,5927,8029,1510,5835,5858,8294,
+ 8292,8300,8296,8297,8295,8298,8299,1796,977,8636,
+ 8301,8302,8293,8642,8643,8644,8029,8029,6047,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,3883,3516,8048,5904,5881,8029,8029,3365,1670,
+ 1695,8029,8050,1681,6358,1692,8029,8051,8049,1608,
+ 8029,8045,8046,8047,6336,39,7008,6998,7315,7005,
+ 5228,870,8029,8029,8029,5927,8029,1510,5835,5858,
+ 8294,8292,8300,8296,8297,8295,8298,8299,1796,977,
+ 8636,8301,8302,8293,8642,8643,8644,8029,8029,6047,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,3883,3516,8048,5904,5881,8029,8029,3365,
+ 1670,1695,8029,8050,1681,6358,1692,8029,8051,8049,
+ 1608,8029,8045,8046,8047,6336,39,7008,6998,7315,
+ 7005,5295,870,8029,8029,8029,5927,8029,1510,5835,
+ 5858,8294,8292,8300,8296,8297,8295,8298,8299,1796,
+ 977,8636,8301,8302,8293,8642,8643,8644,8029,8029,
+ 6047,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,3883,3516,8048,5904,5881,8029,8029,
+ 3365,1670,1695,8029,8050,1681,6358,1692,8029,8051,
+ 8049,1608,8029,8045,8046,8047,6336,39,7008,6998,
+ 7315,7005,5395,870,8029,8029,8029,5927,8029,1510,
+ 5835,5858,8294,8292,8300,8296,8297,8295,8298,8299,
+ 1796,977,8636,8301,8302,8293,8642,8643,8644,8029,
+ 8029,6047,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,3883,3516,8048,5904,5881,8029,
+ 8029,3365,1670,1695,8029,8050,1681,6358,1692,8029,
+ 8051,8049,1608,8029,8045,8046,8047,6336,39,7008,
+ 6998,7315,7005,5427,870,8029,8029,8029,5927,8029,
+ 1510,5835,5858,8294,8292,8300,8296,8297,8295,8298,
+ 8299,1796,977,8636,8301,8302,8293,8642,8643,8644,
+ 8029,8029,6047,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,3883,3516,8048,5904,5881,
+ 8029,8029,3365,1670,1695,8029,8050,1681,6358,1692,
+ 8029,8051,8049,1608,8029,8045,8046,8047,6336,39,
+ 7008,6998,7315,7005,5395,870,8029,8029,8029,5927,
+ 8029,1510,5835,5858,8294,8292,8300,8296,8297,8295,
+ 8298,8299,1796,977,8636,8301,8302,8293,8642,8643,
+ 8644,8029,8029,6047,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,3883,3516,8048,5904,
+ 5881,8029,8029,3365,1670,1695,8029,8050,1681,6358,
+ 1692,8029,8051,8049,1608,8029,8045,8046,8047,6336,
+ 8029,7008,6998,7001,7005,8029,8067,846,796,839,
+ 37,7575,7575,7575,7575,8294,8292,8300,8296,8297,
+ 8295,8298,8299,1230,977,8636,8301,8302,8293,8642,
+ 8643,8644,8367,8368,5166,874,8289,8283,8290,8286,
+ 8262,8288,8287,8284,8285,8263,8029,1,7890,7890,
+ 7890,7890,8429,7887,7048,7042,7045,3469,364,8029,
+ 332,332,8430,2181,8029,8029,8431,241,7487,7474,
+ 7478,7483,8029,7491,7390,7384,7387,8029,7930,7918,
+ 7922,7926,7459,7465,7441,7453,7450,7456,7447,7444,
+ 1230,7471,7468,7438,7435,7462,7432,7429,7426,7399,
+ 7396,5166,7393,7405,7423,7402,7414,7381,7408,7411,
+ 7420,7417,7378,8029,8029,8029,8029,8029,8029,8429,
+ 8029,8029,8029,364,3469,8029,8029,8029,8029,8430,
+ 8065,8029,8029,8431,8029,7008,6998,7315,7005,8029,
+ 8067,846,796,839,8029,8029,8029,8029,364,8294,
+ 8292,8300,8296,8297,8295,8298,8299,1230,977,8636,
+ 8301,8302,8293,8642,8643,8644,8367,8368,5166,874,
+ 8289,8283,8290,8286,8262,8288,8287,8284,8285,8263,
+ 8029,446,7563,7563,7563,7563,8429,7563,7563,7563,
+ 7563,3469,8029,8029,7563,7563,8430,8029,8029,8029,
+ 8431,241,7487,7474,7712,7483,8029,7491,7390,7384,
+ 7387,8029,8029,8029,8029,8029,7459,7465,7441,7453,
+ 7450,7456,7447,7444,1230,7471,7468,7438,7435,7462,
+ 7432,7429,7426,7399,7396,5166,7393,7405,7423,7402,
+ 7414,7381,7408,7411,7420,7417,7378,1,8029,8029,
+ 8029,8029,1693,8429,8029,8029,8029,8500,3469,8029,
+ 8494,8498,8029,8430,8029,8029,8029,8431,1,7029,
+ 7017,7021,7025,995,7014,7048,7042,7045,1032,310,
+ 1510,1,7029,7017,7021,7025,995,7014,7048,7042,
+ 7045,1032,8029,1510,8492,8493,8029,8523,8524,8029,
+ 8029,8501,8029,1,7029,7017,7021,7025,995,7014,
+ 7048,7042,7045,1032,310,1510,8029,8029,8503,8029,
+ 8029,8029,1224,8029,8029,8029,8525,8029,8504,2055,
+ 2095,8029,8502,332,7008,6998,7315,7005,995,870,
+ 846,796,839,1032,8029,1510,8514,8513,8029,8526,
+ 8029,8495,8496,8519,8520,8517,8518,8497,8499,8521,
+ 8522,2707,8029,8527,8029,8507,8508,8509,8505,8506,
+ 8515,8516,8511,8510,8512,29,389,389,389,389,
+ 7827,389,389,389,389,389,7827,389,7827,7827,
+ 578,589,589,589,589,589,589,589,589,589,
+ 589,7991,589,7996,7996,8029,8029,389,389,8029,
+ 389,389,389,389,389,389,389,389,389,389,
+ 389,7827,589,589,8029,589,589,589,589,589,
+ 589,589,589,589,589,589,7996,1,7029,7017,
+ 7021,7025,7011,7014,8029,8029,7518,7036,8029,7033,
+ 7827,7827,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,7581,8029,8029,589,7996,32,390,390,
+ 390,390,7824,390,390,390,390,390,7824,390,
+ 7824,7824,577,588,588,588,588,588,588,588,
+ 588,588,588,7893,588,7893,7893,8029,8029,390,
+ 390,8029,390,390,390,390,390,390,390,390,
+ 390,390,390,7824,588,588,8029,588,588,588,
+ 588,588,588,588,588,588,588,588,7893,1,
+ 7029,7017,7021,7025,995,7014,7048,7042,7045,1032,
+ 8029,1510,7824,7824,602,7008,6998,7315,7005,995,
+ 870,846,796,839,1032,8029,1510,588,7893,1,
+ 7029,7017,7021,7025,7011,7014,8029,8029,8029,7036,
+ 8039,7033,447,7842,7842,7842,7842,8029,7839,7830,
+ 7836,7833,8029,8029,8029,7845,7845,92,7878,7878,
+ 7878,7878,8029,7878,7878,7878,7878,8029,8029,8029,
+ 7878,7878,8029,8029,8029,8038,8029,8029,8029,2707,
+ 95,7985,7985,7985,7985,8029,7982,7973,7979,7976,
+ 8029,8029,8029,7988,7988,37,7575,7575,7575,7575,
+ 8029,8029,846,796,839,8029,8029,8029,332,1,
+ 7029,7017,7021,7025,4967,7014,8029,8029,8029,1032,
+ 8029,1510,1,7029,7017,7021,7025,995,7014,128,
+ 8029,8029,1032,8029,1510,8029,7008,6998,7315,7005,
+ 127,870,8029,8029,8029,7700,8029,1510,8065,8029,
+ 7008,6998,7315,7005,8029,870,8029,8029,8029,7700,
+ 8029,1510,1,7029,7017,7021,7025,995,7014,8029,
+ 8029,8029,1032,8029,1510,8029,7008,6998,7315,7005,
+ 39,870,8029,8029,1804,1032,8067,1510,737,8029,
+ 7008,6998,7315,7005,8029,870,8029,8029,8029,1032,
+ 4934,1510,842,8029,8043,8671,8670,8044,8029,8029,
+ 7905,4934,8029,1032,8029,1510,1676,8029,8029,8029,
+ 8029,7908,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,4868,4835,8029,8029,8029,
+ 8029,8029,8029,4800,4767,8029,4868,4835,8029,8029,
+ 8029,8029,8029,8029,4800,4767,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8029,8029,8029,8029,8029,8029,8029,8029,8029,8029,
+ 8466,8467,8468
};
};
public final static char termAction[] = TermAction.termAction;
@@ -2640,70 +2736,71 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface Asb {
public final static char asb[] = {0,
- 1421,1,1298,1410,94,268,1462,384,384,384,
- 1363,86,1004,1420,1298,1306,1079,1214,456,1222,
- 1214,1214,1214,1238,110,1238,1001,1238,873,1238,
- 1238,1306,1307,1238,946,1161,320,1462,1298,449,
- 1238,1238,228,1307,1238,1307,1214,113,330,330,
- 818,330,3,110,107,115,107,653,890,1301,
- 97,97,1298,676,1307,1080,89,986,1212,517,
- 1361,325,1003,379,1001,1007,1306,873,386,1307,
- 1307,380,310,946,946,946,946,946,946,946,
- 946,946,946,451,946,1014,1214,113,113,113,
- 113,1306,1214,1238,607,607,654,653,1298,1298,
- 1307,761,593,386,386,1238,268,225,593,1238,
- 1238,113,1238,1307,52,1114,341,330,330,329,
- 329,110,1306,1298,945,1034,1298,1238,1307,176,
- 676,676,1307,1080,662,596,661,1478,1512,517,
- 1211,593,325,1307,106,689,602,380,110,169,
- 1307,386,380,1307,48,1014,1014,1014,1014,1312,
- 267,52,1238,593,593,593,906,579,579,925,
- 925,268,268,268,268,1307,468,60,60,468,
- 945,607,110,1306,48,1238,1238,386,386,1301,
- 1216,225,225,1080,1114,341,329,329,329,1307,
- 593,945,173,110,611,616,613,620,618,627,
- 625,629,628,630,458,631,1298,1473,225,644,
- 676,654,654,89,654,870,1361,1478,1478,592,
- 591,516,173,1307,325,84,1004,113,1078,69,
- 325,106,603,607,106,607,380,169,169,1307,
- 818,817,1307,310,1307,593,593,593,593,225,
- 267,945,1238,907,1301,1110,1100,1099,659,1169,
- 1244,1244,1306,451,946,593,593,818,818,818,
- 818,380,593,1079,1081,1079,593,225,110,685,
- 1307,1214,1476,1238,818,818,1238,593,1104,1087,
- 1103,817,113,312,312,173,173,329,1307,173,
- 1034,946,946,946,946,946,946,946,946,946,
- 946,946,946,946,946,946,946,946,946,946,
- 946,946,945,945,945,945,945,945,945,945,
- 945,945,945,712,946,1310,593,1512,593,467,
- 593,593,52,71,607,607,607,607,1307,169,
- 173,707,708,925,48,1238,1238,1238,1035,946,
- 268,1238,1238,593,906,84,946,84,654,905,
- 1214,1214,1214,907,1214,1307,820,654,654,1307,
- 110,579,593,1112,1114,945,1307,52,1248,1014,
- 1214,1214,1214,1214,1307,1307,1307,1081,52,657,
- 1306,1307,468,1238,1238,666,945,1101,1101,1108,
- 1301,764,341,330,341,816,816,173,654,1034,
- 613,613,611,611,611,618,618,618,618,618,
- 618,616,616,625,620,620,628,627,629,84,
- 84,630,593,592,1080,653,946,84,677,884,
- 650,71,607,607,697,173,946,1307,593,1238,
- 1301,896,907,84,996,907,925,925,923,999,
- 925,654,654,683,657,593,1114,380,1080,593,
- 945,945,945,945,1214,1214,310,1307,1080,657,
- 593,1238,521,666,945,945,1112,1087,341,268,
- 268,708,945,945,467,654,71,946,946,650,
- 650,71,71,685,305,698,1307,1238,1238,1238,
- 945,1238,907,946,907,593,1298,925,593,923,
- 1462,1214,593,657,809,593,1307,531,593,593,
- 593,593,468,468,1085,1238,310,897,1214,1238,
- 669,817,1238,122,650,650,697,1307,1306,1306,
- 1307,1238,468,946,225,907,683,907,654,1462,
- 945,907,904,809,809,1281,593,593,1085,764,
- 669,1159,1238,1238,1307,1307,1307,1238,593,225,
- 945,905,468,654,593,812,809,593,593,1295,
- 1214,312,1307,1307,907,593,654,812,812,110,
- 110,1297,1115,816,907,812,592,1079,268
+ 1430,1,172,1419,256,372,1471,475,475,475,
+ 1372,65,1256,1429,172,180,953,1319,547,96,
+ 1319,1319,1319,89,96,112,329,112,1253,112,
+ 970,112,112,180,181,112,1099,1266,84,1471,
+ 172,540,112,112,332,181,112,181,1319,259,
+ 421,421,990,421,191,329,78,261,78,804,
+ 1043,175,68,68,172,820,181,954,186,1139,
+ 1317,735,1370,416,1255,470,1253,325,180,970,
+ 477,181,181,471,414,1099,1099,1099,1099,1099,
+ 1099,1099,1099,1099,1099,542,1099,888,1319,259,
+ 259,259,259,180,1319,112,750,750,805,804,
+ 172,172,181,878,621,477,477,112,372,673,
+ 621,112,112,259,112,181,240,1206,432,421,
+ 421,420,420,329,180,172,1098,908,172,112,
+ 181,624,820,820,181,954,884,739,883,1487,
+ 1521,735,1316,621,416,181,77,1171,745,471,
+ 329,754,181,477,471,181,236,888,888,888,
+ 888,1321,371,240,112,621,621,621,1059,607,
+ 607,1078,1078,372,372,372,372,181,686,3,
+ 3,686,1098,750,329,180,236,112,112,477,
+ 477,175,90,673,673,954,1206,432,420,420,
+ 420,181,621,1098,759,329,762,767,764,771,
+ 769,778,776,780,779,781,676,782,172,1482,
+ 673,795,820,805,805,186,805,62,1370,1487,
+ 1487,620,619,734,759,181,416,1169,1256,259,
+ 952,1154,416,77,746,750,77,750,471,754,
+ 754,181,990,989,181,414,181,621,621,621,
+ 621,673,371,1098,112,1060,175,1202,1192,1191,
+ 881,1274,118,118,180,542,1099,621,621,990,
+ 990,990,990,471,621,953,955,953,621,673,
+ 329,961,181,1319,1485,112,990,990,112,621,
+ 1196,1179,1195,989,259,248,248,759,759,420,
+ 181,759,908,1099,1099,1099,1099,1099,1099,1099,
+ 1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,
+ 1099,1099,1099,1099,1098,1098,1098,1098,1098,1098,
+ 1098,1098,1098,1098,1098,829,1099,184,621,1521,
+ 621,685,621,621,240,1156,750,750,750,750,
+ 181,754,758,965,758,1078,236,112,112,112,
+ 909,1099,372,112,112,621,1059,1169,1099,1169,
+ 805,1058,1319,1319,1319,1060,1319,181,12,805,
+ 805,181,329,607,621,1204,1206,1098,181,240,
+ 122,888,1319,1319,1319,1319,181,181,181,955,
+ 240,808,180,181,686,112,112,810,1098,1193,
+ 1193,1200,175,992,432,421,432,988,988,759,
+ 805,908,764,764,762,762,762,769,769,769,
+ 769,769,769,767,767,776,771,771,779,778,
+ 780,1169,1169,781,621,620,954,804,1099,1169,
+ 821,1037,801,1156,750,750,268,758,759,1099,
+ 181,621,112,175,1049,1060,1169,1149,1060,1078,
+ 1078,1076,1152,1078,805,805,827,808,621,1206,
+ 471,954,621,1098,1098,1098,1098,1319,1319,414,
+ 181,954,808,621,112,549,810,1098,1098,1204,
+ 1179,432,372,372,758,1098,1098,685,805,1156,
+ 1099,1099,801,801,1156,1156,961,409,269,181,
+ 759,112,112,112,1098,112,1060,1099,1060,621,
+ 172,1078,621,1076,1471,1319,621,808,981,621,
+ 181,559,621,621,621,621,686,686,959,112,
+ 414,1050,1319,112,813,989,112,278,801,801,
+ 268,181,180,180,181,112,686,1099,673,1060,
+ 827,1060,805,1471,1098,1060,1057,981,981,155,
+ 621,621,959,992,813,1251,112,112,181,181,
+ 181,112,621,673,1098,1058,686,805,621,984,
+ 981,621,621,169,1319,248,181,181,1060,621,
+ 805,984,984,329,329,171,1207,988,1060,984,
+ 620,953,372
};
};
public final static char asb[] = Asb.asb;
@@ -2711,158 +2808,159 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface Asr {
public final static char asr[] = {0,
- 134,0,24,25,35,37,15,16,53,33,
- 26,68,38,93,39,17,40,41,18,19,
- 42,71,43,20,21,44,69,45,22,70,
- 23,74,36,27,34,28,5,14,6,46,
- 32,29,30,31,75,73,11,13,8,9,
- 7,12,10,52,1,4,3,2,0,12,
- 6,52,10,1,4,3,2,0,46,11,
- 5,12,10,14,13,6,1,4,3,2,
- 8,9,7,80,0,47,52,0,11,80,
- 78,47,0,5,34,0,84,5,83,101,
- 85,79,78,46,77,80,8,9,7,73,
- 11,0,72,0,7,11,73,8,9,85,
- 0,81,82,76,50,51,14,13,48,49,
- 10,54,59,67,32,5,6,12,64,65,
- 66,47,62,57,61,24,25,16,28,15,
- 20,18,19,21,23,17,26,27,29,30,
- 31,22,56,60,58,55,63,73,1,4,
- 3,2,11,86,0,81,82,5,22,56,
- 60,58,55,63,16,28,15,20,18,19,
- 21,23,17,26,27,29,30,31,24,25,
- 64,65,66,47,62,57,61,10,12,6,
- 50,51,14,13,48,49,54,59,67,32,
- 1,4,3,2,131,11,0,82,81,48,
- 49,13,104,105,110,14,111,10,54,85,
- 72,83,124,125,121,122,123,129,128,130,
- 100,99,126,127,108,109,106,107,112,113,
- 50,51,79,102,119,77,5,32,22,68,
- 53,69,70,24,25,16,28,15,20,18,
- 19,21,23,17,26,27,29,30,31,37,
- 43,44,39,42,41,38,33,34,35,7,
- 9,8,40,45,1,4,3,2,36,6,
- 0,83,85,79,1,4,3,2,0,11,
- 80,73,84,0,116,117,118,80,86,12,
- 11,5,14,13,10,46,75,71,93,74,
- 24,25,35,7,37,15,16,53,33,26,
- 68,38,39,17,40,41,18,19,42,43,
- 20,21,44,69,45,22,70,23,36,27,
- 34,28,32,8,9,29,30,31,6,1,
- 4,3,2,52,0,24,25,35,7,37,
- 15,16,53,33,55,26,56,68,38,39,
- 57,17,40,41,18,19,42,43,58,20,
- 21,59,44,60,69,61,76,62,45,63,
- 22,70,23,36,27,34,28,64,65,66,
- 47,5,50,51,14,13,48,49,54,83,
- 6,32,67,8,9,29,30,31,12,10,
- 1,4,2,82,81,3,0,7,83,80,
- 101,131,86,46,8,9,79,24,25,15,
- 16,55,81,26,56,57,17,18,19,82,
- 12,58,20,21,59,60,61,76,62,63,
- 22,23,27,28,64,65,66,4,5,50,
- 51,14,13,48,49,10,54,6,32,67,
- 3,2,29,30,31,47,78,11,1,0,
- 76,84,133,119,50,51,80,101,131,86,
- 38,39,40,41,42,12,43,44,45,36,
- 34,33,37,10,35,103,102,48,49,104,
- 105,99,100,72,106,107,108,109,110,111,
- 112,113,120,85,121,122,123,124,125,126,
- 127,128,129,130,114,115,46,73,83,7,
- 1,4,14,13,6,8,9,3,2,77,
- 5,79,78,11,0,11,80,79,78,5,
- 0,6,8,9,7,72,11,80,73,0,
- 103,102,13,104,105,48,49,100,99,72,
- 106,107,114,115,108,109,14,110,111,112,
- 83,78,85,121,122,123,124,125,126,127,
- 128,129,130,80,101,131,86,113,120,8,
- 9,7,79,46,11,0,132,0,131,46,
- 79,78,11,80,0,35,33,34,76,84,
- 83,80,101,78,73,5,7,11,79,46,
- 8,9,85,0,11,73,79,0,6,11,
- 80,73,8,9,7,0,36,1,4,6,
- 3,2,116,117,118,0,85,11,86,79,
- 0,24,25,15,16,55,81,26,56,57,
- 17,18,19,82,12,58,20,21,59,60,
- 61,76,62,63,22,23,27,28,64,65,
- 66,47,1,4,5,50,51,48,49,10,
- 54,6,32,67,3,2,29,30,31,80,
- 13,14,0,24,25,35,7,37,15,16,
- 53,33,26,68,38,39,17,40,41,18,
- 19,42,43,20,21,44,69,45,22,70,
- 23,36,27,34,28,1,4,6,32,8,
- 9,3,2,29,30,31,101,0,35,33,
- 34,76,11,101,78,85,79,83,0,24,
- 25,15,16,55,81,26,56,57,17,18,
- 19,82,12,58,20,21,59,60,61,76,
- 62,63,22,23,27,28,64,65,66,47,
- 4,5,50,51,14,48,49,10,54,6,
- 32,67,3,2,29,30,31,46,11,1,
- 13,0,6,11,73,8,9,7,1,4,
- 3,2,0,80,7,77,8,9,72,11,
- 79,46,85,5,0,78,93,116,117,118,
- 52,80,134,132,135,86,75,84,74,71,
- 88,90,97,95,87,92,94,96,98,73,
- 89,91,46,11,68,53,69,70,37,43,
- 44,39,42,41,36,38,33,34,35,7,
- 9,8,40,45,76,81,82,22,56,60,
- 58,55,63,5,28,26,27,29,30,31,
- 24,25,64,65,66,47,62,57,61,10,
- 12,6,50,51,14,13,48,49,54,59,
- 67,32,1,4,3,2,17,15,21,23,
- 16,20,18,19,0,80,101,0,87,0,
- 6,52,80,8,9,7,1,4,3,2,
- 73,11,0,35,7,37,53,33,68,38,
- 39,40,41,42,43,44,69,45,70,36,
- 34,8,9,76,81,82,50,51,14,13,
- 48,49,54,59,67,32,5,64,65,66,
- 47,62,57,61,24,25,16,28,15,20,
- 18,19,21,23,17,26,27,29,30,31,
- 56,60,58,55,63,73,11,22,6,12,
- 1,4,3,2,10,0,7,14,13,8,
- 9,12,10,6,1,4,3,2,5,77,
- 83,85,79,11,78,101,0,10,12,5,
- 77,13,14,101,24,25,35,7,37,15,
- 16,33,26,68,38,39,17,40,41,18,
- 19,42,43,20,21,44,69,45,22,70,
- 23,36,27,34,28,1,4,6,32,8,
- 9,3,2,29,30,31,78,11,53,0,
- 83,79,32,22,68,53,69,70,24,25,
- 35,7,37,15,16,33,26,38,39,17,
- 40,41,18,19,42,12,43,20,21,44,
- 45,23,36,27,34,28,4,77,14,13,
- 10,6,46,8,9,3,2,29,30,31,
- 1,78,11,5,0,32,22,68,53,69,
- 70,16,28,15,20,18,19,21,23,17,
- 26,27,29,30,31,24,25,84,80,101,
- 131,86,73,133,119,50,51,103,102,48,
- 49,104,105,99,100,72,83,106,107,108,
- 109,110,111,112,113,120,85,121,122,123,
- 124,125,126,127,128,129,130,79,114,115,
- 35,37,33,38,39,40,41,42,43,44,
- 45,36,34,46,11,78,77,12,5,10,
- 14,13,8,9,7,6,4,3,2,1,
- 0,81,82,50,51,14,13,48,49,10,
- 54,59,67,32,5,6,12,64,65,66,
- 62,57,61,24,25,16,28,15,20,18,
- 19,21,23,17,26,27,29,30,31,22,
- 56,60,58,55,63,77,1,4,3,2,
- 47,0,33,26,68,38,17,40,18,19,
- 42,43,20,21,69,45,70,23,36,27,
- 34,28,53,16,15,32,37,35,25,24,
- 29,30,31,11,5,14,13,46,74,93,
- 39,44,41,75,72,8,9,7,52,12,
- 1,4,10,6,3,2,22,71,0,86,
- 24,25,35,37,15,16,53,33,26,68,
- 38,17,40,18,19,42,43,20,21,69,
- 45,22,70,23,36,27,34,28,32,29,
- 30,31,134,75,71,39,44,41,93,74,
- 52,11,14,46,10,12,1,4,3,2,
- 6,5,8,9,7,13,0,12,4,77,
- 5,14,13,10,83,6,3,17,15,21,
- 23,16,20,18,19,37,43,44,39,42,
- 41,36,38,34,35,40,45,2,7,9,
- 8,11,79,78,1,33,0
+ 134,0,12,6,53,10,1,4,3,2,
+ 0,24,25,15,16,55,82,26,56,58,
+ 17,18,19,83,12,59,20,21,60,61,
+ 63,78,64,65,23,22,27,28,67,68,
+ 69,49,4,5,50,51,14,47,48,10,
+ 54,6,34,70,3,2,29,30,31,46,
+ 11,1,13,0,49,53,0,84,5,81,
+ 101,85,79,76,46,75,80,11,72,8,
+ 9,7,0,11,80,72,84,0,78,34,
+ 23,57,52,62,66,16,28,15,20,18,
+ 19,21,22,17,26,27,29,30,31,24,
+ 25,84,80,101,128,86,72,129,116,50,
+ 51,103,102,47,48,104,105,99,100,71,
+ 81,106,107,108,109,110,111,112,113,117,
+ 85,118,119,120,121,122,123,124,125,126,
+ 127,79,114,115,35,37,32,38,39,40,
+ 41,42,43,44,45,36,33,46,11,76,
+ 75,12,5,10,14,13,8,9,7,6,
+ 4,3,2,1,0,11,80,76,49,0,
+ 24,25,35,37,15,16,52,32,26,57,
+ 38,93,39,17,40,41,18,19,42,73,
+ 43,20,21,44,62,45,23,66,22,74,
+ 36,27,33,28,5,14,6,46,34,29,
+ 30,31,77,72,11,13,8,9,7,12,
+ 10,53,1,4,3,2,0,81,85,79,
+ 1,4,3,2,0,5,33,0,71,0,
+ 7,11,72,8,9,85,0,36,1,4,
+ 6,3,2,130,131,132,0,82,83,78,
+ 50,51,14,13,47,48,10,54,60,70,
+ 34,5,6,12,67,68,69,49,64,58,
+ 63,24,25,16,28,15,20,18,19,21,
+ 22,17,26,27,29,30,31,23,56,61,
+ 59,55,65,86,1,4,3,2,72,11,
+ 0,83,82,47,48,13,104,105,110,14,
+ 111,10,54,85,71,81,121,122,118,119,
+ 120,126,125,127,100,99,123,124,108,109,
+ 106,107,112,113,50,51,79,102,116,75,
+ 5,34,23,57,52,62,66,24,25,16,
+ 28,15,20,18,19,21,22,17,26,27,
+ 29,30,31,37,43,44,39,42,41,38,
+ 32,33,35,7,9,8,40,45,1,4,
+ 3,2,36,6,0,130,131,132,80,86,
+ 12,11,5,14,13,10,46,77,73,93,
+ 74,24,25,35,7,37,15,16,52,32,
+ 26,57,38,39,17,40,41,18,19,42,
+ 43,20,21,44,62,45,23,66,22,36,
+ 27,33,28,34,8,9,29,30,31,6,
+ 1,4,3,2,53,0,24,25,35,7,
+ 37,15,16,52,32,55,26,56,57,38,
+ 39,58,17,40,41,18,19,42,43,59,
+ 20,21,60,44,61,62,63,78,64,45,
+ 65,23,66,22,36,27,33,28,67,68,
+ 69,49,5,50,51,14,13,47,48,54,
+ 81,6,34,70,8,9,29,30,31,12,
+ 10,1,4,2,83,82,3,0,78,84,
+ 129,116,50,51,80,101,128,86,38,39,
+ 40,41,42,12,43,44,45,36,33,32,
+ 37,10,35,103,102,47,48,104,105,99,
+ 100,71,106,107,108,109,110,111,112,113,
+ 117,85,118,119,120,121,122,123,124,125,
+ 126,127,114,115,46,72,81,7,1,4,
+ 14,13,6,8,9,3,2,75,5,79,
+ 76,11,0,82,83,5,23,56,61,59,
+ 55,65,16,28,15,20,18,19,21,22,
+ 17,26,27,29,30,31,24,25,67,68,
+ 69,49,64,58,63,10,12,6,50,51,
+ 14,13,47,48,54,60,70,34,1,4,
+ 3,2,128,11,0,7,81,80,101,128,
+ 86,46,8,9,79,24,25,15,16,55,
+ 82,26,56,58,17,18,19,83,12,59,
+ 20,21,60,61,63,78,64,65,23,22,
+ 27,28,67,68,69,4,5,50,51,14,
+ 13,47,48,10,54,6,34,70,3,2,
+ 29,30,31,49,76,11,1,0,11,80,
+ 79,76,5,0,6,8,9,7,71,11,
+ 80,72,0,1,4,3,2,79,11,86,
+ 0,103,102,13,104,105,47,48,100,99,
+ 71,106,107,114,115,108,109,14,110,111,
+ 112,81,76,85,118,119,120,121,122,123,
+ 124,125,126,127,80,101,128,86,113,117,
+ 8,9,7,79,46,11,0,133,0,35,
+ 32,33,78,84,81,80,101,76,72,5,
+ 7,11,79,46,8,9,85,0,24,25,
+ 15,16,55,82,26,56,58,17,18,19,
+ 83,12,59,20,21,60,61,63,78,64,
+ 65,23,22,27,28,67,68,69,49,1,
+ 4,5,50,51,47,48,10,54,6,34,
+ 70,3,2,29,30,31,80,13,14,0,
+ 128,46,79,76,11,80,0,35,7,37,
+ 52,32,57,38,39,40,41,42,43,44,
+ 62,45,66,36,33,8,9,78,82,83,
+ 50,51,14,13,47,48,54,60,70,34,
+ 5,67,68,69,49,64,58,63,24,25,
+ 16,28,15,20,18,19,21,22,17,26,
+ 27,29,30,31,56,61,59,55,65,72,
+ 11,23,6,12,1,4,3,2,10,0,
+ 11,72,79,0,11,79,86,85,0,6,
+ 11,72,8,9,7,1,4,3,2,0,
+ 35,32,33,78,11,101,76,85,79,81,
+ 0,24,25,35,7,37,15,16,52,32,
+ 26,57,38,39,17,40,41,18,19,42,
+ 43,20,21,44,62,45,23,66,22,36,
+ 27,33,28,1,4,6,34,8,9,3,
+ 2,29,30,31,101,0,80,7,75,8,
+ 9,71,11,79,46,85,5,0,76,93,
+ 130,131,132,53,80,134,133,135,86,77,
+ 84,74,73,88,90,97,95,87,92,94,
+ 96,98,72,89,91,46,11,57,52,62,
+ 66,37,43,44,39,42,41,36,38,32,
+ 33,35,7,9,8,40,45,78,82,83,
+ 23,56,61,59,55,65,5,28,26,27,
+ 29,30,31,24,25,67,68,69,49,64,
+ 58,63,10,12,6,50,51,14,13,47,
+ 48,54,60,70,34,1,4,3,2,17,
+ 15,21,22,16,20,18,19,0,80,101,
+ 0,87,0,46,11,5,12,10,14,13,
+ 6,1,4,3,2,8,9,7,80,0,
+ 6,11,80,72,8,9,7,0,7,14,
+ 13,8,9,12,10,6,1,4,3,2,
+ 5,75,81,85,79,11,76,101,0,10,
+ 12,5,75,13,14,101,24,25,35,7,
+ 37,15,16,32,26,57,38,39,17,40,
+ 41,18,19,42,43,20,21,44,62,45,
+ 23,66,22,36,27,33,28,1,4,6,
+ 34,8,9,3,2,29,30,31,76,11,
+ 52,0,6,53,80,11,72,8,9,7,
+ 1,4,3,2,0,81,79,34,23,57,
+ 52,62,66,24,25,35,7,37,15,16,
+ 32,26,38,39,17,40,41,18,19,42,
+ 12,43,20,21,44,45,22,36,27,33,
+ 28,4,75,14,13,10,6,46,8,9,
+ 3,2,29,30,31,1,76,11,5,0,
+ 82,83,50,51,14,13,47,48,10,54,
+ 60,70,34,5,6,12,67,68,69,64,
+ 58,63,24,25,16,28,15,20,18,19,
+ 21,22,17,26,27,29,30,31,23,56,
+ 61,59,55,65,75,1,4,3,2,49,
+ 0,32,26,57,38,17,40,18,19,42,
+ 43,20,21,62,45,66,22,36,27,33,
+ 28,52,16,15,34,37,35,25,24,29,
+ 30,31,11,5,14,13,46,74,93,39,
+ 44,41,77,71,8,9,7,53,12,1,
+ 4,10,6,3,2,23,73,0,86,24,
+ 25,35,37,15,16,52,32,26,57,38,
+ 17,40,18,19,42,43,20,21,62,45,
+ 23,66,22,36,27,33,28,34,29,30,
+ 31,134,77,73,39,44,41,93,74,53,
+ 11,14,46,10,12,1,4,3,2,6,
+ 5,8,9,7,13,0,12,4,75,5,
+ 14,13,10,81,6,3,17,15,21,22,
+ 16,20,18,19,37,43,44,39,42,41,
+ 36,38,33,35,40,45,2,7,9,8,
+ 11,79,76,1,32,0
};
};
public final static char asr[] = Asr.asr;
@@ -2870,70 +2968,71 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface Nasb {
public final static char nasb[] = {0,
- 265,13,66,37,84,5,30,13,13,13,
- 309,13,271,309,172,254,254,13,13,281,
- 13,13,13,282,263,282,178,282,178,282,
- 13,11,184,282,105,274,66,171,249,203,
- 13,13,120,306,13,184,13,13,309,309,
- 13,309,222,263,178,13,169,211,77,189,
- 93,93,163,178,233,233,54,44,329,71,
- 13,66,98,254,169,26,254,169,66,184,
- 12,13,13,105,105,105,105,105,105,105,
- 105,105,105,184,302,239,13,13,13,13,
- 13,254,13,13,66,16,211,13,199,163,
- 184,13,329,66,66,41,5,116,329,13,
- 13,13,13,12,52,66,66,309,309,66,
- 66,263,254,172,56,103,199,169,184,111,
- 178,169,289,203,329,13,13,324,91,74,
- 13,329,291,99,178,178,13,233,263,66,
- 233,59,81,99,46,239,239,239,239,105,
- 14,52,13,329,329,329,68,87,87,1,
- 241,64,64,64,64,184,130,20,20,130,
- 230,16,236,133,321,178,178,59,59,189,
- 274,116,116,203,215,215,265,265,66,233,
- 329,105,66,263,13,13,13,13,13,13,
- 13,13,13,13,105,13,164,178,116,13,
- 169,211,211,54,211,13,54,282,324,329,
- 13,329,69,184,211,13,288,13,37,29,
- 291,178,178,66,169,66,81,66,307,12,
- 13,13,99,13,12,329,329,329,329,116,
- 65,56,261,218,189,86,93,93,13,13,
- 13,13,11,184,105,329,329,13,13,13,
- 13,51,329,202,184,202,329,116,236,13,
- 233,13,13,66,13,13,317,329,13,247,
- 13,13,13,124,124,69,69,265,289,69,
- 66,105,105,105,105,105,105,105,105,105,
- 105,105,105,105,105,105,105,105,105,105,
- 105,105,105,105,105,105,105,105,105,105,
- 105,105,105,193,105,13,329,91,329,105,
- 329,329,52,171,66,66,79,79,99,307,
- 69,13,13,59,46,261,261,261,256,105,
- 64,66,140,329,225,13,151,13,211,13,
- 13,13,13,226,13,307,209,211,211,307,
- 95,315,329,187,66,105,184,52,13,239,
- 13,13,13,13,99,12,184,160,52,66,
- 133,12,130,178,39,66,105,13,13,246,
- 189,215,215,309,66,13,13,69,211,103,
+ 268,13,65,40,87,5,226,13,13,13,
+ 305,13,214,305,179,249,249,13,13,281,
+ 13,13,13,13,13,282,266,282,185,282,
+ 185,282,13,11,204,282,106,274,65,178,
+ 244,200,13,13,119,302,13,204,13,13,
+ 305,305,13,305,211,266,185,13,239,34,
+ 112,294,42,42,233,185,251,251,56,70,
+ 290,53,13,65,99,249,239,133,249,239,
+ 65,204,12,13,13,106,106,106,106,106,
+ 106,106,106,106,106,204,298,187,13,13,
+ 13,13,13,249,13,13,65,154,34,13,
+ 196,233,204,13,290,65,65,44,5,144,
+ 290,13,13,13,13,12,91,65,65,305,
+ 305,65,65,266,249,179,16,104,196,239,
+ 204,139,185,239,285,200,290,13,13,324,
+ 117,146,13,290,317,100,185,185,13,251,
+ 266,65,251,58,67,100,36,187,187,187,
+ 187,106,74,91,13,290,290,290,19,83,
+ 83,1,189,63,63,63,63,204,128,22,
+ 22,128,222,154,123,28,326,185,185,58,
+ 58,294,274,144,144,200,256,256,268,268,
+ 65,251,290,106,65,266,13,13,13,13,
+ 13,13,13,13,13,13,106,13,234,185,
+ 144,13,239,34,34,56,34,13,56,282,
+ 324,290,13,290,20,204,34,13,284,13,
+ 40,225,317,185,185,65,239,65,67,65,
+ 303,12,13,13,100,13,12,290,290,290,
+ 290,144,64,16,264,207,294,82,42,42,
+ 13,13,13,13,11,204,106,290,290,13,
+ 13,13,13,90,290,199,204,199,290,144,
+ 123,13,251,13,13,65,13,13,313,290,
+ 13,242,13,13,13,72,72,20,20,268,
+ 285,20,65,106,106,106,106,106,106,106,
+ 106,106,106,106,106,106,106,106,106,106,
+ 106,106,106,106,106,106,106,106,106,106,
+ 106,106,106,106,106,174,106,13,290,117,
+ 290,106,290,290,91,178,65,65,80,80,
+ 100,303,126,13,13,58,36,264,264,264,
+ 259,106,63,65,114,290,217,13,162,13,
+ 34,13,13,13,13,218,13,303,32,34,
+ 34,303,149,311,290,292,65,106,204,91,
+ 13,187,13,13,13,13,100,12,204,169,
+ 91,65,28,12,128,185,14,65,106,13,
+ 13,241,294,256,256,305,65,13,13,20,
+ 34,104,13,13,13,13,13,13,13,13,
13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,13,
- 13,13,329,329,203,211,105,13,145,13,
- 178,163,79,79,180,69,105,307,329,149,
- 317,13,226,13,13,226,284,284,213,13,
- 284,211,211,13,66,329,215,50,99,329,
- 230,230,230,230,13,13,13,306,99,118,
- 329,66,39,39,105,105,187,197,215,64,
- 64,69,105,105,105,211,172,105,105,169,
- 178,163,13,13,254,143,233,66,158,13,
- 230,317,226,105,226,329,249,1,329,298,
- 66,13,329,118,66,329,99,261,329,329,
- 329,329,130,130,161,13,13,207,13,39,
- 66,13,147,102,178,169,126,233,254,254,
- 12,149,130,105,116,226,13,226,211,172,
- 230,226,207,39,66,13,329,329,161,65,
- 18,13,147,13,12,233,233,158,329,116,
- 105,13,137,211,329,66,39,329,329,66,
- 13,124,12,12,226,329,211,18,66,95,
- 95,247,326,13,226,18,329,202,64
+ 13,13,13,13,290,290,200,34,106,13,
+ 47,13,185,233,80,80,95,126,20,106,
+ 303,290,156,313,13,218,13,13,218,329,
+ 329,254,13,329,34,34,13,65,290,256,
+ 89,100,290,222,222,222,222,13,13,13,
+ 302,100,152,290,65,14,14,106,106,292,
+ 194,256,63,63,20,106,106,106,34,179,
+ 106,106,239,185,233,13,13,249,131,251,
+ 20,65,93,13,222,313,218,106,218,290,
+ 244,1,290,49,65,13,290,152,65,290,
+ 100,264,290,290,290,290,128,128,170,13,
+ 13,172,13,14,65,13,160,103,185,239,
+ 76,251,249,249,12,156,128,106,144,218,
+ 13,218,34,179,222,218,172,14,65,13,
+ 290,290,170,64,158,13,160,13,12,251,
+ 251,93,290,144,106,13,136,34,290,65,
+ 14,290,290,65,13,72,12,12,218,290,
+ 34,158,65,149,149,242,287,13,218,158,
+ 290,199,63
};
};
public final static char nasb[] = Nasb.nasb;
@@ -2942,38 +3041,39 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface Nasr {
public final static char nasr[] = {0,
3,13,10,9,108,144,126,113,125,124,
- 5,2,0,196,0,176,0,151,0,5,
- 2,9,10,164,0,42,1,0,47,5,
- 2,9,10,4,175,0,174,0,64,0,
- 4,216,0,160,0,83,163,162,0,2,
- 145,83,0,159,0,4,37,0,5,10,
- 9,2,13,35,50,4,0,4,95,0,
- 222,31,0,31,191,0,205,0,137,0,
- 2,83,0,223,0,31,103,104,4,0,
- 189,0,94,0,42,63,0,62,2,3,
- 0,95,99,42,13,2,9,10,5,0,
- 13,2,9,10,5,96,0,178,0,4,
- 50,217,0,135,0,5,119,182,0,4,
- 107,0,186,5,185,0,4,199,0,4,
- 198,0,214,0,212,0,179,0,168,0,
- 13,2,9,10,5,225,0,166,0,2,
- 146,0,4,5,10,9,2,71,23,0,
- 101,71,5,2,9,10,4,41,0,5,
- 119,213,0,2,62,0,27,4,5,41,
- 101,0,4,46,145,0,104,103,41,71,
- 73,5,10,9,2,0,143,0,4,46,
- 47,0,46,202,27,4,0,35,53,46,
- 200,42,4,0,95,42,53,35,84,4,
- 46,0,2,72,0,42,177,0,42,63,
- 4,50,35,46,0,31,104,103,71,2,
- 9,10,4,5,0,5,10,9,2,13,
- 99,98,42,0,122,81,53,4,35,0,
- 41,1,0,2,5,113,109,110,111,118,
- 13,75,0,4,50,121,0,41,128,0,
- 4,53,81,119,51,5,0,50,4,201,
- 0,5,10,9,13,3,1,0,4,35,
- 53,81,91,0,104,103,41,5,73,0,
- 41,83,0,108,0,50,35,4,31,0
+ 5,2,0,64,0,4,37,0,4,95,
+ 0,5,2,9,10,164,0,187,5,186,
+ 0,4,46,47,0,83,163,162,0,175,
+ 0,94,0,4,217,0,213,0,50,4,
+ 202,0,223,31,0,159,0,5,10,9,
+ 2,13,35,50,4,0,2,83,0,160,
+ 0,135,0,197,0,5,119,183,0,137,
+ 0,31,103,104,4,0,224,0,2,145,
+ 83,0,166,0,5,119,214,0,62,2,
+ 3,0,95,99,42,13,2,9,10,5,
+ 0,206,0,4,199,0,190,0,4,50,
+ 218,0,42,178,0,172,0,4,107,0,
+ 215,0,42,1,0,4,200,0,13,2,
+ 9,10,5,96,0,31,192,0,42,63,
+ 0,179,0,177,0,168,0,151,0,180,
+ 0,13,2,9,10,5,226,0,2,146,
+ 0,143,0,4,46,145,0,101,71,5,
+ 2,9,10,4,41,0,42,63,4,50,
+ 35,46,0,104,103,41,71,73,5,10,
+ 9,2,0,2,62,0,35,53,46,201,
+ 42,4,0,41,1,0,95,42,53,35,
+ 84,4,46,0,47,5,2,9,10,4,
+ 176,0,4,5,10,9,2,71,23,0,
+ 31,104,103,71,2,9,10,4,5,0,
+ 2,72,0,46,203,27,4,0,5,10,
+ 9,2,13,99,98,42,0,122,81,53,
+ 4,35,0,2,5,113,109,110,111,118,
+ 13,75,0,41,128,0,50,35,4,31,
+ 0,27,4,5,41,101,0,5,10,9,
+ 13,3,1,0,4,35,53,81,91,0,
+ 104,103,41,5,73,0,4,53,81,119,
+ 51,5,0,108,0,41,83,0,4,50,
+ 121,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -2983,18 +3083,18 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public final static char terminalIndex[] = {0,
118,132,131,119,2,31,51,129,130,13,
120,84,10,9,53,57,73,79,80,91,
- 92,105,107,48,49,65,110,112,133,134,
- 135,127,59,111,50,109,52,69,71,75,
- 78,81,88,94,103,125,117,11,12,7,
- 8,98,58,14,60,66,72,89,93,95,
- 99,102,104,114,115,116,128,68,96,106,
- 82,19,126,108,136,100,1,123,44,30,
- 63,83,20,101,33,124,113,54,55,61,
+ 92,107,105,48,49,65,110,112,133,134,
+ 135,59,111,127,50,109,52,69,71,75,
+ 78,81,88,94,103,125,11,12,117,7,
+ 8,58,98,14,60,66,68,72,89,93,
+ 95,96,99,102,104,106,114,115,116,128,
+ 19,126,82,108,1,123,136,100,44,30,
+ 20,63,83,101,33,124,113,54,55,61,
62,64,70,74,76,77,90,97,17,18,
32,6,4,15,16,21,22,23,24,25,
- 26,27,28,45,46,85,86,87,5,29,
- 34,35,36,37,38,39,40,41,42,43,
- 122,56,3,137,67,121
+ 26,27,28,45,46,5,29,34,35,36,
+ 37,38,39,40,41,42,43,122,3,85,
+ 86,87,56,137,67,121
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -3019,13 +3119,13 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
0,254,255,265,0,160,183,208,0,210,
0,227,230,0,252,0,253,0,263,268,
0,152,153,157,0,0,167,169,0,0,
- 0,0,207,0,216,0,228,229,0,0,
- 235,242,0,246,247,248,251,0,260,0,
- 262,0,0,269,0,0,163,166,0,186,
- 0,189,0,0,213,226,232,0,0,236,
- 237,239,241,0,244,245,250,256,257,0,
- 0,261,0,0,264,0,270,0,0,0,
- 0
+ 0,0,0,207,0,216,0,228,229,0,
+ 0,235,242,0,246,247,248,251,0,260,
+ 0,262,0,0,269,0,0,163,166,0,
+ 186,0,189,0,0,213,226,232,0,0,
+ 236,237,239,241,0,244,245,250,256,257,
+ 0,0,261,0,0,264,0,270,0,0,
+ 0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -3033,21 +3133,21 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 267,723,742,420,431,674,690,701,712,512,
- 375,389,406,447,465,137,400,532,570,275,
- 731,617,115,146,166,175,180,185,238,303,
- 458,473,478,90,252,381,395,645,122,252,
- 522,478,750,122,325,356,8,26,58,58,
- 82,86,98,109,156,171,199,483,501,505,
- 588,610,639,666,670,760,764,768,190,102,
- 190,550,566,579,597,658,209,209,337,427,
- 579,681,697,708,719,315,628,38,50,79,
+ 267,431,727,746,420,449,678,694,705,716,
+ 516,375,389,406,469,137,400,536,574,275,
+ 735,621,115,146,166,175,180,185,238,303,
+ 462,477,482,90,252,381,395,649,122,252,
+ 526,482,754,122,325,356,8,26,58,58,
+ 82,86,98,109,156,171,199,487,505,509,
+ 592,614,643,670,674,764,768,772,190,102,
+ 190,554,570,583,601,662,209,209,337,427,
+ 583,685,701,712,723,315,632,38,50,79,
151,151,264,330,32,151,351,372,32,32,
- 151,509,607,614,264,151,783,14,20,32,
- 73,203,487,554,594,20,1,151,218,412,
- 438,487,218,218,438,541,285,43,43,64,
- 197,64,64,64,64,592,772,779,43,43,
- 68,346,772,779,160,560,245,197,346,197,
+ 151,513,611,618,264,151,787,14,20,32,
+ 73,203,491,558,598,20,1,151,218,412,
+ 491,218,218,439,545,285,439,43,43,64,
+ 197,64,64,64,64,596,776,783,43,43,
+ 68,346,776,783,160,564,245,197,346,197,
361
};
};
@@ -3056,21 +3156,21 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 113,62,62,243,243,62,62,62,62,519,
- 243,12,243,243,471,143,386,538,576,281,
- 162,623,120,120,120,154,154,12,243,308,
- 463,463,471,95,257,386,194,650,133,260,
- 527,737,755,127,319,319,12,30,62,62,
- 62,62,62,113,62,154,12,463,12,12,
- 243,354,62,62,62,62,62,354,781,106,
- 194,519,519,519,601,650,213,227,341,415,
- 583,685,685,685,685,319,632,41,41,62,
+ 113,243,62,62,243,243,62,62,62,62,
+ 523,243,12,243,475,143,386,542,580,281,
+ 162,627,120,120,120,154,154,12,243,308,
+ 467,467,475,95,257,386,194,654,133,260,
+ 531,741,759,127,319,319,12,30,62,62,
+ 62,62,62,113,62,154,12,467,12,12,
+ 243,354,62,62,62,62,62,354,785,106,
+ 194,523,523,523,605,654,213,227,341,415,
+ 587,689,689,689,689,319,636,41,41,62,
154,154,62,62,333,335,354,62,30,30,
- 335,12,62,354,62,643,62,17,23,35,
- 76,206,490,557,76,604,4,662,213,415,
- 453,653,221,232,441,544,288,48,56,66,
- 12,493,495,497,499,12,774,774,45,53,
- 70,348,776,776,162,562,247,310,341,295,
+ 335,12,62,354,62,647,62,17,23,35,
+ 76,206,494,561,76,608,4,666,213,415,
+ 657,221,232,456,548,288,442,48,56,66,
+ 12,497,499,501,503,12,778,778,45,53,
+ 70,348,780,780,162,566,247,310,341,295,
363
};
};
@@ -3079,21 +3179,21 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 51,18,18,80,111,18,18,18,18,87,
- 93,52,80,111,110,78,58,87,86,51,
- 18,20,3,7,8,182,182,181,109,51,
+ 51,111,18,18,80,111,18,18,18,18,
+ 87,93,52,80,110,78,58,87,86,51,
+ 18,20,3,7,8,183,183,182,109,51,
110,110,112,24,98,59,52,164,156,98,
87,18,18,156,105,65,61,74,118,19,
- 19,188,158,90,185,182,181,112,203,56,
+ 19,189,158,90,186,183,182,112,204,56,
63,168,19,18,18,18,18,18,12,143,
- 181,87,86,86,44,164,117,117,73,80,
+ 182,87,86,86,44,164,117,117,73,80,
86,18,18,18,18,105,20,138,131,17,
- 186,182,205,103,116,67,94,66,175,74,
- 112,88,169,168,196,164,17,61,18,74,
- 85,181,112,121,85,22,35,164,117,80,
- 111,164,117,117,111,87,51,138,131,144,
- 181,127,126,125,124,82,162,62,138,131,
- 225,73,162,62,185,121,109,51,73,51,
+ 187,183,206,103,116,67,94,66,176,74,
+ 112,88,169,168,197,164,17,61,18,74,
+ 85,182,112,121,85,22,35,164,117,80,
+ 164,117,117,111,87,51,111,138,131,144,
+ 182,127,126,125,124,82,162,62,138,131,
+ 226,73,162,62,186,121,109,51,73,51,
65
};
};
@@ -3102,21 +3202,21 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeLa {
public final static char scopeLa[] = {
- 132,78,78,86,86,78,78,78,78,78,
- 86,46,86,86,1,83,1,78,135,73,
- 5,78,83,83,83,1,1,46,86,73,
- 1,1,1,78,86,1,1,6,83,79,
- 46,1,1,83,78,78,46,1,78,78,
- 78,78,78,132,78,1,46,1,46,46,
- 86,131,78,78,78,78,78,131,1,78,
- 1,78,78,78,80,6,1,1,13,73,
- 78,83,83,83,83,78,5,8,8,78,
- 1,1,78,78,5,1,131,78,1,1,
- 1,46,78,131,78,10,78,1,78,8,
- 80,1,52,85,80,78,3,1,1,73,
- 73,52,1,1,1,87,84,1,1,32,
- 46,1,68,53,53,46,6,6,1,1,
- 101,14,6,6,5,1,73,1,13,1,
+ 133,86,76,76,86,86,76,76,76,76,
+ 76,86,46,86,1,81,1,76,135,72,
+ 5,76,81,81,81,1,1,46,86,72,
+ 1,1,1,76,86,1,1,6,81,79,
+ 46,1,1,81,76,76,46,1,76,76,
+ 76,76,76,133,76,1,46,1,46,46,
+ 86,128,76,76,76,76,76,128,1,76,
+ 1,76,76,76,80,6,1,1,13,72,
+ 76,81,81,81,81,76,5,8,8,76,
+ 1,1,76,76,5,1,128,76,1,1,
+ 1,46,76,128,76,10,76,1,76,8,
+ 80,1,53,85,80,76,3,1,1,72,
+ 53,1,1,72,87,84,1,1,1,34,
+ 46,1,57,52,52,46,6,6,1,1,
+ 101,14,6,6,5,1,72,1,13,1,
5
};
};
@@ -3125,8 +3225,8 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
- 388,242,242,400,159,242,242,242,242,82,
- 447,388,400,159,159,400,435,82,82,388,
+ 388,159,242,242,400,159,242,242,242,242,
+ 82,447,388,400,159,400,435,82,82,388,
242,242,166,212,212,21,21,412,159,388,
159,159,159,320,61,435,388,50,43,61,
82,242,242,43,99,134,435,140,159,242,
@@ -3137,7 +3237,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
47,21,108,99,101,134,95,134,156,140,
159,82,5,18,53,50,242,435,242,140,
82,412,159,13,82,247,415,50,159,400,
- 159,50,159,159,159,82,388,24,151,161,
+ 50,159,159,159,82,388,159,24,151,161,
412,161,161,161,161,29,55,110,24,151,
318,372,55,110,47,13,159,388,372,388,
134
@@ -3148,85 +3248,85 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 329,140,0,131,268,0,0,286,140,171,
+ 330,140,0,131,268,0,0,286,140,171,
0,141,0,140,171,0,210,141,0,204,
5,0,139,231,0,177,237,140,0,214,
0,237,140,0,259,214,0,274,177,0,
259,0,177,0,238,259,0,238,0,210,
- 177,0,188,259,0,188,0,204,5,32,
+ 177,0,188,259,0,188,0,204,5,34,
0,139,0,244,0,266,0,236,0,32,
- 170,0,361,89,0,30,184,0,199,5,
- 0,204,5,67,0,357,5,325,0,356,
- 5,5,8,0,139,139,0,355,5,76,
- 0,354,5,132,0,139,185,0,140,199,
- 84,0,229,0,290,140,72,138,0,20,
- 0,323,140,72,52,0,20,58,0,33,
- 145,0,20,58,0,0,323,140,72,52,
- 217,0,20,191,0,290,140,72,146,0,
- 208,141,0,154,0,243,5,322,0,322,
- 0,2,0,139,0,290,140,72,145,0,
+ 170,0,362,89,0,30,184,0,199,5,
+ 0,204,5,70,0,358,5,326,0,357,
+ 5,5,8,0,139,139,0,356,5,78,
+ 0,355,5,133,0,139,185,0,140,199,
+ 84,0,229,0,290,140,71,138,0,20,
+ 0,324,140,71,53,0,20,58,0,33,
+ 145,0,20,58,0,0,324,140,71,53,
+ 217,0,20,191,0,290,140,71,146,0,
+ 208,141,0,154,0,243,5,323,0,323,
+ 0,2,0,139,0,290,140,71,145,0,
208,141,255,0,208,141,36,255,0,208,
- 141,350,36,0,142,219,198,141,0,219,
- 198,141,0,147,141,0,189,0,346,140,
- 189,0,140,189,0,236,141,0,198,345,
- 249,0,149,0,0,0,0,345,249,0,
+ 141,351,36,0,142,219,198,141,0,219,
+ 198,141,0,147,141,0,189,0,347,140,
+ 189,0,140,189,0,236,141,0,198,346,
+ 249,0,149,0,0,0,0,346,249,0,
150,149,0,0,0,0,148,0,0,0,
- 0,150,148,0,0,0,0,344,140,178,
+ 0,150,148,0,0,0,0,345,140,178,
253,0,140,0,253,0,142,0,0,140,
- 0,343,140,178,235,0,140,0,0,44,
- 140,0,0,173,5,0,140,313,312,140,
- 84,311,189,0,312,140,84,311,189,0,
- 228,0,229,0,311,189,0,101,0,0,
+ 0,344,140,178,235,0,140,0,0,44,
+ 140,0,0,173,5,0,140,314,313,140,
+ 84,312,189,0,313,140,84,312,189,0,
+ 228,0,229,0,312,189,0,101,0,0,
228,0,229,0,216,101,0,0,228,0,
- 229,0,312,140,311,189,0,228,0,216,
+ 229,0,313,140,312,189,0,228,0,216,
0,0,228,0,268,140,5,0,139,0,
0,0,0,0,268,140,5,239,0,252,
5,0,221,0,159,0,205,198,141,0,
10,0,0,0,0,205,0,9,0,0,
- 236,77,0,138,0,268,140,5,202,0,
+ 236,75,0,138,0,268,140,5,202,0,
202,0,2,0,0,139,0,0,0,0,
- 0,210,5,0,256,140,178,47,39,0,
- 208,141,71,74,0,209,141,0,142,208,
- 141,310,74,0,208,141,310,74,0,208,
- 141,85,137,71,0,256,140,178,285,71,
- 0,285,71,0,142,0,0,140,0,256,
- 140,178,285,264,71,0,285,264,71,0,
- 308,140,178,137,340,68,0,340,68,0,
- 143,142,0,0,140,0,308,140,178,340,
- 68,0,142,0,0,140,0,208,141,307,
- 68,0,148,0,219,208,141,307,249,0,
- 149,0,208,141,307,249,0,219,198,141,
- 22,0,198,141,22,0,198,141,0,98,
- 149,0,205,0,204,0,203,0,202,0,
- 306,140,163,0,306,140,189,0,182,97,
- 0,335,183,337,338,5,94,0,139,184,
- 0,337,338,5,94,0,141,0,139,184,
- 0,182,5,87,220,92,0,139,141,0,
- 220,92,0,113,2,144,139,141,0,257,
- 5,87,0,210,186,0,33,182,0,186,
- 0,188,33,182,0,257,5,98,0,220,
- 167,257,5,96,0,67,184,0,257,5,
- 96,0,139,184,67,184,0,336,140,178,
- 0,182,0,236,89,0,182,120,179,0,
- 30,182,0,139,162,0,243,5,0,236,
- 77,304,0,182,77,0,204,5,332,82,
- 141,0,139,0,0,0,0,332,82,141,
- 0,2,158,139,0,0,0,0,204,5,
- 59,0,160,0,139,52,198,141,0,31,
- 160,0,98,149,31,160,0,233,208,141,
- 0,159,31,160,0,204,5,63,0,182,
- 5,63,0,182,5,83,204,72,55,0,
- 204,72,55,0,20,2,144,139,0,182,
- 5,83,204,72,58,0,204,72,58,0,
- 182,5,83,204,72,60,0,204,72,60,
- 0,182,5,83,204,72,56,0,204,72,
- 56,0,243,5,139,219,198,141,22,0,
- 139,219,198,141,22,0,149,2,0,139,
- 0,243,5,138,281,198,141,22,0,281,
- 198,141,22,0,148,2,0,139,0,243,
- 5,149,0,243,5,154,0,182,77,154,
- 0,299,0,31,0,31,152,0,190,0,
- 147,0,182,5,0
+ 0,210,5,0,256,140,178,49,39,0,
+ 208,141,73,74,0,209,141,0,142,208,
+ 141,311,74,0,208,141,311,74,0,208,
+ 141,85,137,73,0,256,140,178,285,73,
+ 0,285,73,0,142,0,0,140,0,256,
+ 140,178,285,264,73,0,285,264,73,0,
+ 308,309,140,178,137,341,57,0,341,57,
+ 0,143,142,0,0,0,140,0,308,309,
+ 140,178,341,57,0,142,0,0,0,140,
+ 0,208,141,307,57,0,148,0,219,208,
+ 141,307,249,0,149,0,208,141,307,249,
+ 0,219,198,141,23,0,198,141,23,0,
+ 198,141,0,98,149,0,205,0,204,0,
+ 203,0,202,0,306,140,163,0,306,140,
+ 189,0,182,97,0,336,183,338,339,5,
+ 94,0,139,184,0,338,339,5,94,0,
+ 141,0,139,184,0,182,5,87,220,92,
+ 0,139,141,0,220,92,0,113,2,144,
+ 139,141,0,257,5,87,0,210,186,0,
+ 33,182,0,186,0,188,33,182,0,257,
+ 5,98,0,220,167,257,5,96,0,67,
+ 184,0,257,5,96,0,139,184,67,184,
+ 0,337,140,178,0,182,0,236,89,0,
+ 182,117,179,0,30,182,0,139,162,0,
+ 243,5,0,236,75,304,0,182,75,0,
+ 204,5,333,83,141,0,139,0,0,0,
+ 0,333,83,141,0,2,158,139,0,0,
+ 0,0,204,5,60,0,160,0,139,53,
+ 198,141,0,31,160,0,98,149,31,160,
+ 0,233,208,141,0,159,31,160,0,204,
+ 5,65,0,182,5,65,0,182,5,81,
+ 204,71,55,0,204,71,55,0,20,2,
+ 144,139,0,182,5,81,204,71,59,0,
+ 204,71,59,0,182,5,81,204,71,61,
+ 0,204,71,61,0,182,5,81,204,71,
+ 56,0,204,71,56,0,243,5,139,219,
+ 198,141,23,0,139,219,198,141,23,0,
+ 149,2,0,139,0,243,5,138,281,198,
+ 141,23,0,281,198,141,23,0,148,2,
+ 0,139,0,243,5,149,0,243,5,154,
+ 0,182,75,154,0,299,0,31,0,31,
+ 152,0,190,0,147,0,182,5,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -3234,52 +3334,52 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface ScopeState {
public final static char scopeState[] = {0,
- 1954,1469,687,0,2778,2412,0,3502,3501,2550,
- 1489,0,5438,6810,6798,5330,0,2362,2335,0,
- 1572,3053,0,4287,4260,4086,3317,0,4713,4649,
- 4585,4521,4457,4393,4329,4192,4128,4018,3767,3647,
- 3629,0,5259,5417,4335,0,2999,1747,0,869,
- 690,0,677,0,1369,907,0,865,1231,0,
- 1328,3581,1256,5172,3117,2847,2549,1566,1428,0,
- 1892,1790,6677,1245,4167,4130,6657,6645,6601,6585,
- 4305,4713,4649,4585,4521,4457,4393,4329,4192,4128,
- 4018,3767,3647,0,2245,2049,1359,1232,3468,6144,
- 5195,5029,4718,1208,5116,5023,0,1088,0,6761,
- 6754,6747,6741,5410,4687,6735,6728,6715,4623,6562,
- 4495,6173,5047,4315,5043,4114,1636,1320,4742,3986,
- 3577,3164,0,3468,723,4590,5383,3775,919,5195,
- 3972,4287,4260,4086,5029,3317,4718,4462,2966,994,
- 3542,3863,3018,3594,0,723,919,0,5457,5323,
- 791,640,3137,2938,0,3890,3833,6761,6754,3344,
- 2871,6747,2131,6741,2081,2032,1981,1280,2431,5410,
- 1880,4687,1778,6735,6728,6715,3589,1508,4623,6562,
- 5457,4495,1401,6173,5047,962,4315,2748,3137,5043,
- 4114,2679,1636,1320,4742,3986,3577,738,5323,3164,
- 2938,1241,1218,1151,1077,771,5195,3542,3972,4287,
- 4260,3468,4086,5029,3317,4718,884,841,723,4590,
- 869,690,5383,3863,4462,3775,2966,994,3018,3594,
- 919,6422,6395,6106,5228,3505,6078,5172,3094,3277,
- 3431,3392,3995,3938,3740,5141,5056,4996,4963,4930,
- 4897,4863,4830,5847,5823,5794,5576,5498,6055,6032,
- 6009,5986,5963,5940,5917,5894,5871,3900,3354,2606,
- 2893,1328,791,2848,2797,2752,1755,2554,2504,1702,
- 1640,2701,2656,1256,1585,2453,1167,1485,2358,2308,
- 2258,2208,2158,2108,2058,2008,1958,1908,1857,1807,
- 1535,1098,1008,640,939,1378,1428,2408,0,3542,
- 3695,6459,791,4287,6323,3690,4260,4086,5267,6196,
- 3662,6250,5648,5338,6515,4639,3532,3462,4590,5457,
- 3312,3199,6200,640,3045,720,6507,3472,3458,1671,
- 3863,3137,4462,837,686,1291,2966,682,1049,5323,
- 4383,4182,3765,4059,3858,2934,2930,3561,3594,5294,
- 2938,6488,3468,5642,6314,6272,3169,6144,3317,5712,
- 5539,4121,5383,3775,3052,3018,0,4713,4649,4585,
- 4521,4457,4393,4329,4192,4128,4018,3767,3647,6517,
- 5699,5649,5599,6467,6417,6301,6251,6201,6151,6101,
- 5223,3152,5350,0,6846,6602,6830,6827,6677,6824,
- 1167,1098,1008,6818,5369,5306,3628,3171,6657,6645,
- 6601,6585,939,4305,4713,4649,4585,4521,4457,4393,
- 4329,4192,4128,4018,3767,3647,6517,5699,5649,5599,
- 6467,6417,6301,6251,6201,6151,6101,5223,0
+ 2304,2204,2154,0,2829,1288,0,3038,2545,2350,
+ 1906,0,861,6864,6849,6847,0,2285,2135,0,
+ 1136,1304,0,4224,4197,3017,3328,0,4650,4586,
+ 4522,4458,4394,4330,4266,4129,4065,4001,3778,3658,
+ 5021,0,4272,1402,3722,0,1689,709,0,722,
+ 694,0,1083,0,2711,751,0,2195,1475,0,
+ 1329,3117,1257,5110,3105,3005,2898,2650,1430,0,
+ 2641,2639,5427,1831,1621,1568,5395,5295,5228,4242,
+ 3201,4650,4586,4522,4458,4394,4330,4266,4129,4065,
+ 4001,3778,3658,0,2434,2433,1156,763,3479,6213,
+ 5133,4967,4655,1209,4924,3692,0,1403,0,6809,
+ 6805,6794,6783,5148,4624,6769,6728,6706,4560,6702,
+ 4432,6687,6665,4252,6114,4103,3599,1321,5533,4985,
+ 4679,3588,0,3479,3955,4527,5377,5303,920,5133,
+ 3120,4224,4197,3017,4967,3328,4655,4399,4070,995,
+ 3553,3846,3069,3605,0,3955,920,0,5391,5243,
+ 792,644,3148,2989,0,3355,3280,6809,6805,2922,
+ 1827,6794,2331,6783,2281,2231,2181,890,2481,5148,
+ 2081,4624,2031,6769,6728,6706,1697,1931,4560,6702,
+ 5391,4432,1242,6687,6665,1191,4252,2799,3148,6114,
+ 4103,2730,3599,1321,5533,4985,4679,1032,5243,3588,
+ 2989,1219,1152,1078,870,772,5133,3553,3120,4224,
+ 4197,3479,3017,4967,3328,4655,842,737,3955,4527,
+ 722,694,5377,3846,4399,5303,4070,995,3069,3605,
+ 920,6385,6358,6336,6047,5166,6019,5110,1379,3288,
+ 3442,3403,3978,3921,3751,5079,4994,4934,4901,4868,
+ 4835,4800,4767,5811,5787,5758,5540,5510,5996,5973,
+ 5950,5927,5904,5881,5858,5835,3883,3516,3365,2657,
+ 2944,1329,792,2899,2848,2803,1754,2604,2554,1701,
+ 1639,2752,2707,1257,1584,2503,1168,1483,2408,2358,
+ 2308,2258,2208,2158,2108,2058,2008,1958,1908,1849,
+ 1533,1099,1009,644,940,1804,1430,2458,0,3553,
+ 4170,6264,792,4224,6191,4016,4197,3017,6083,6801,
+ 3707,5457,5261,5323,3154,6596,3543,6792,4527,5391,
+ 3775,3473,6529,644,4009,3209,6525,3483,3007,3253,
+ 3846,3148,4399,1611,1223,1292,4070,859,1050,5243,
+ 5612,4576,3469,4320,5019,3948,2985,3572,3605,3665,
+ 2989,6653,3479,6493,6255,6623,5606,6213,3328,6675,
+ 6590,6583,5377,5303,3141,3069,0,4650,4586,4522,
+ 4458,4394,4330,4266,4129,4065,4001,3778,3658,6480,
+ 5663,5613,5563,6430,6380,6242,6192,6142,6092,6042,
+ 5161,6085,6423,0,6885,5425,6878,6869,5427,6830,
+ 1168,1099,1009,6754,6711,5682,5371,3217,5395,5295,
+ 5228,4242,940,3201,4650,4586,4522,4458,4394,4330,
+ 4266,4129,4065,4001,3778,3658,6480,5663,5613,5563,
+ 6430,6380,6242,6192,6142,6092,6042,5161,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -3287,70 +3387,71 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public interface InSymb {
public final static char inSymb[] = {0,
- 0,331,171,74,7,140,189,217,41,44,
- 52,39,71,258,140,71,310,359,329,259,
- 8,9,7,260,253,261,249,262,68,263,
- 138,22,141,280,32,244,311,140,5,6,
- 146,145,12,10,138,141,202,52,52,52,
- 72,52,47,285,264,137,177,286,267,140,
- 207,202,177,210,141,141,5,3,5,5,
- 5,178,345,307,177,340,307,177,72,141,
- 208,198,190,32,67,59,54,49,48,13,
- 14,51,50,141,10,5,63,55,58,60,
- 56,22,149,154,84,140,306,286,237,177,
- 141,205,210,72,72,186,140,77,5,81,
- 82,138,137,208,198,5,72,83,140,178,
- 178,285,85,79,5,85,237,177,141,77,
- 210,177,208,208,360,47,295,296,5,358,
- 1,47,140,198,271,139,138,141,137,178,
- 141,140,198,52,6,5,5,5,5,81,
- 82,198,139,204,199,182,178,171,186,140,
- 5,72,72,72,72,141,5,119,133,5,
- 77,140,312,80,198,14,13,140,140,140,
- 244,77,77,219,140,140,140,140,178,141,
- 173,140,178,235,164,166,165,169,168,172,
- 170,175,174,176,76,179,177,198,236,179,
- 177,264,142,80,167,5,79,244,363,356,
- 325,5,344,141,187,255,71,52,74,189,
- 347,139,138,272,177,272,208,178,140,208,
- 290,293,219,299,219,204,204,204,204,77,
- 332,5,167,140,140,5,240,239,283,149,
- 139,138,22,141,32,204,182,204,204,204,
- 204,198,243,52,141,52,243,182,312,321,
- 141,322,205,205,290,290,237,268,269,163,
- 270,323,52,22,53,256,256,140,208,140,
- 178,102,103,49,48,105,104,13,115,114,
- 107,106,83,72,99,100,14,109,108,111,
- 110,112,130,129,128,127,126,125,124,123,
- 122,121,85,120,113,13,1,79,167,5,
- 47,1,198,140,272,272,140,140,219,140,
- 308,137,309,79,6,167,167,167,167,232,
- 5,333,186,173,336,91,89,1,182,11,
- 98,96,94,92,87,95,97,90,88,71,
- 84,237,252,140,5,79,141,198,155,5,
- 83,83,83,83,219,281,141,208,198,313,
- 79,208,5,13,140,167,85,252,210,5,
- 140,79,79,83,72,271,271,256,264,140,
- 165,165,164,164,164,168,168,168,168,168,
- 168,166,166,170,169,169,174,172,175,281,
- 182,176,1,357,219,346,80,276,210,138,
- 274,177,140,140,80,308,85,79,204,140,
- 140,11,80,361,236,80,5,5,5,220,
- 5,137,182,137,199,268,140,198,52,204,
- 5,5,5,5,139,138,233,10,52,140,
- 243,205,200,140,85,85,140,237,140,85,
- 85,343,80,80,79,142,79,80,85,177,
- 274,177,159,349,255,36,141,167,301,304,
- 77,209,80,101,80,257,186,140,257,338,
- 163,87,257,140,167,268,219,167,182,182,
- 182,182,5,5,6,137,139,314,132,140,
- 250,323,231,79,274,177,79,141,36,350,
- 208,140,5,77,182,167,210,167,337,140,
- 5,167,314,140,167,139,243,243,6,5,
- 140,83,231,11,208,141,141,301,243,236,
- 85,220,183,306,182,250,140,101,354,186,
- 76,53,208,208,135,335,167,140,250,167,
- 167,140,5,271,167,140,355,85,79
+ 0,332,171,74,7,140,189,217,41,44,
+ 53,39,73,258,140,73,311,360,330,259,
+ 8,9,7,35,24,260,253,261,249,262,
+ 57,263,138,23,141,280,34,244,312,140,
+ 5,6,146,145,12,10,138,141,202,53,
+ 53,53,71,53,49,285,264,137,177,286,
+ 267,140,207,202,177,210,141,141,5,3,
+ 5,5,5,178,346,307,177,341,307,177,
+ 71,141,208,198,190,34,70,60,54,48,
+ 47,13,14,51,50,141,10,5,65,55,
+ 59,61,56,23,149,154,84,140,306,286,
+ 237,177,141,205,210,71,71,186,140,75,
+ 5,82,83,138,137,208,198,5,71,81,
+ 140,178,178,285,85,79,5,85,237,177,
+ 141,75,210,177,208,208,361,49,295,296,
+ 5,359,1,49,140,198,271,139,138,141,
+ 137,178,141,140,198,53,6,5,5,5,
+ 5,82,83,198,139,204,199,182,178,171,
+ 186,140,5,71,71,71,71,141,5,116,
+ 129,5,75,140,313,80,198,14,13,140,
+ 140,140,244,75,75,219,140,140,140,140,
+ 178,141,173,140,178,235,164,166,165,169,
+ 168,172,170,175,174,176,78,179,177,198,
+ 236,179,177,264,142,80,167,5,79,244,
+ 364,357,326,5,345,141,187,255,73,53,
+ 74,189,348,139,138,272,177,272,208,178,
+ 140,208,290,293,219,299,219,204,204,204,
+ 204,75,333,5,167,140,140,5,240,239,
+ 283,149,139,138,23,141,34,204,182,204,
+ 204,204,204,198,243,53,141,53,243,182,
+ 313,322,141,323,205,205,290,290,237,268,
+ 269,163,270,324,53,23,52,256,256,140,
+ 208,140,178,102,103,48,47,105,104,13,
+ 115,114,107,106,81,71,99,100,14,109,
+ 108,111,110,112,127,126,125,124,123,122,
+ 121,120,119,118,85,117,113,13,1,79,
+ 167,5,49,1,198,140,272,272,140,140,
+ 219,140,309,137,310,79,6,167,167,167,
+ 167,232,5,334,186,173,337,91,89,1,
+ 182,11,98,96,94,92,87,95,97,90,
+ 88,73,84,237,252,140,5,79,141,198,
+ 155,5,81,81,81,81,219,281,141,208,
+ 198,314,79,208,5,13,140,167,85,252,
+ 210,5,140,79,79,81,71,271,271,256,
+ 264,140,165,165,164,164,164,168,168,168,
+ 168,168,168,166,166,170,169,169,174,172,
+ 175,281,182,176,1,358,219,347,80,276,
+ 210,138,274,177,140,140,80,309,308,85,
+ 79,204,140,140,11,80,362,236,80,5,
+ 5,5,220,5,137,182,137,199,268,140,
+ 198,53,204,5,5,5,5,139,138,233,
+ 10,53,140,243,205,200,140,85,85,140,
+ 237,140,85,85,344,80,80,79,142,79,
+ 80,85,177,274,177,159,350,255,36,141,
+ 308,167,301,304,75,209,80,101,80,257,
+ 186,140,257,339,163,87,257,140,167,268,
+ 219,167,182,182,182,182,5,5,6,137,
+ 139,315,133,140,250,324,231,79,274,177,
+ 79,141,36,351,208,140,5,75,182,167,
+ 210,167,338,140,5,167,315,140,167,139,
+ 243,243,6,5,140,81,231,11,208,141,
+ 141,301,243,236,85,220,183,306,182,250,
+ 140,101,355,186,78,52,208,208,135,336,
+ 167,140,250,167,167,140,5,271,167,140,
+ 356,85,79
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -3642,7 +3743,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 75,
+ ERROR_SYMBOL = 77,
SCOPE_UBOUND = 150,
SCOPE_SIZE = 151,
MAX_NAME_LENGTH = 37;
@@ -3653,20 +3754,20 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 639,
+ NUM_STATES = 643,
NT_OFFSET = 136,
- LA_STATE_OFFSET = 8608,
+ LA_STATE_OFFSET = 8672,
MAX_LA = 2147483647,
- NUM_RULES = 639,
- NUM_NONTERMINALS = 231,
- NUM_SYMBOLS = 367,
+ NUM_RULES = 643,
+ NUM_NONTERMINALS = 232,
+ NUM_SYMBOLS = 368,
SEGMENT_SIZE = 8192,
- START_STATE = 5223,
+ START_STATE = 5161,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 134,
EOLT_SYMBOL = 134,
- ACCEPT_ACTION = 6933,
- ERROR_ACTION = 7969;
+ ACCEPT_ACTION = 6987,
+ ERROR_ACTION = 8029;
public final static boolean BACKTRACK = true;
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
index aec61a6e99..ce8e2c78ab 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java
@@ -23,23 +23,23 @@ public interface XlcCPPParsersym {
TK_bool = 15,
TK_break = 88,
TK_case = 89,
- TK_catch = 132,
+ TK_catch = 133,
TK_char = 16,
- TK_class = 53,
- TK_const = 33,
+ TK_class = 52,
+ TK_const = 32,
TK_const_cast = 55,
TK_continue = 90,
TK_default = 91,
- TK_delete = 81,
+ TK_delete = 82,
TK_do = 92,
TK_double = 26,
TK_dynamic_cast = 56,
TK_else = 135,
- TK_enum = 68,
+ TK_enum = 57,
TK_explicit = 38,
TK_export = 93,
TK_extern = 39,
- TK_false = 57,
+ TK_false = 58,
TK_float = 17,
TK_for = 94,
TK_friend = 40,
@@ -49,66 +49,66 @@ public interface XlcCPPParsersym {
TK_int = 18,
TK_long = 19,
TK_mutable = 42,
- TK_namespace = 71,
- TK_new = 82,
+ TK_namespace = 73,
+ TK_new = 83,
TK_operator = 12,
- TK_private = 116,
- TK_protected = 117,
- TK_public = 118,
+ TK_private = 130,
+ TK_protected = 131,
+ TK_public = 132,
TK_register = 43,
- TK_reinterpret_cast = 58,
+ TK_reinterpret_cast = 59,
TK_return = 97,
TK_short = 20,
TK_signed = 21,
- TK_sizeof = 59,
+ TK_sizeof = 60,
TK_static = 44,
- TK_static_cast = 60,
- TK_struct = 69,
+ TK_static_cast = 61,
+ TK_struct = 62,
TK_switch = 98,
- TK_template = 52,
- TK_this = 61,
- TK_throw = 76,
+ TK_template = 53,
+ TK_this = 63,
+ TK_throw = 78,
TK_try = 84,
- TK_true = 62,
+ TK_true = 64,
TK_typedef = 45,
- TK_typeid = 63,
- TK_typename = 22,
- TK_union = 70,
- TK_unsigned = 23,
+ TK_typeid = 65,
+ TK_typename = 23,
+ TK_union = 66,
+ TK_unsigned = 22,
TK_using = 74,
TK_virtual = 36,
TK_void = 27,
- TK_volatile = 34,
+ TK_volatile = 33,
TK_wchar_t = 28,
TK_while = 87,
- TK_integer = 64,
- TK_floating = 65,
- TK_charconst = 66,
- TK_stringlit = 47,
+ TK_integer = 67,
+ TK_floating = 68,
+ TK_charconst = 69,
+ TK_stringlit = 49,
TK_identifier = 1,
TK_Completion = 4,
TK_EndOfCompletion = 11,
TK_Invalid = 136,
- TK_LeftBracket = 77,
+ TK_LeftBracket = 75,
TK_LeftParen = 5,
- TK_Dot = 133,
+ TK_Dot = 129,
TK_DotStar = 103,
- TK_Arrow = 119,
+ TK_Arrow = 116,
TK_ArrowStar = 102,
TK_PlusPlus = 50,
TK_MinusMinus = 51,
TK_And = 14,
TK_Star = 13,
- TK_Plus = 48,
- TK_Minus = 49,
+ TK_Plus = 47,
+ TK_Minus = 48,
TK_Tilde = 10,
TK_Bang = 54,
TK_Slash = 104,
TK_Percent = 105,
TK_RightShift = 99,
TK_LeftShift = 100,
- TK_LT = 72,
- TK_GT = 83,
+ TK_LT = 71,
+ TK_GT = 81,
TK_LE = 106,
TK_GE = 107,
TK_EQ = 108,
@@ -117,29 +117,29 @@ public interface XlcCPPParsersym {
TK_Or = 111,
TK_AndAnd = 112,
TK_OrOr = 113,
- TK_Question = 120,
+ TK_Question = 117,
TK_Colon = 80,
TK_ColonColon = 6,
TK_DotDotDot = 101,
TK_Assign = 85,
- TK_StarAssign = 121,
- TK_SlashAssign = 122,
- TK_PercentAssign = 123,
- TK_PlusAssign = 124,
- TK_MinusAssign = 125,
- TK_RightShiftAssign = 126,
- TK_LeftShiftAssign = 127,
- TK_AndAssign = 128,
- TK_CaretAssign = 129,
- TK_OrAssign = 130,
+ TK_StarAssign = 118,
+ TK_SlashAssign = 119,
+ TK_PercentAssign = 120,
+ TK_PlusAssign = 121,
+ TK_MinusAssign = 122,
+ TK_RightShiftAssign = 123,
+ TK_LeftShiftAssign = 124,
+ TK_AndAssign = 125,
+ TK_CaretAssign = 126,
+ TK_OrAssign = 127,
TK_Comma = 79,
- TK_RightBracket = 131,
- TK_RightParen = 78,
+ TK_RightBracket = 128,
+ TK_RightParen = 76,
TK_RightBrace = 86,
TK_SemiColon = 46,
- TK_LeftBrace = 73,
- TK_typeof = 32,
- TK___alignof__ = 67,
+ TK_LeftBrace = 72,
+ TK_typeof = 34,
+ TK___alignof__ = 70,
TK___attribute__ = 8,
TK___declspec = 9,
TK_MAX = 114,
@@ -149,7 +149,7 @@ public interface XlcCPPParsersym {
TK__Decimal32 = 29,
TK__Decimal64 = 30,
TK__Decimal128 = 31,
- TK_ERROR_TOKEN = 75,
+ TK_ERROR_TOKEN = 77,
TK_EOF_TOKEN = 134;
public final static String orderedTerminalSymbols[] = {
@@ -175,8 +175,8 @@ public interface XlcCPPParsersym {
"long",
"short",
"signed",
- "typename",
"unsigned",
+ "typename",
"_Complex",
"_Imaginary",
"double",
@@ -185,9 +185,9 @@ public interface XlcCPPParsersym {
"_Decimal32",
"_Decimal64",
"_Decimal128",
- "typeof",
"const",
"volatile",
+ "typeof",
"restrict",
"virtual",
"auto",
@@ -200,43 +200,43 @@ public interface XlcCPPParsersym {
"static",
"typedef",
"SemiColon",
- "stringlit",
"Plus",
"Minus",
+ "stringlit",
"PlusPlus",
"MinusMinus",
- "template",
"class",
+ "template",
"Bang",
"const_cast",
"dynamic_cast",
+ "enum",
"false",
"reinterpret_cast",
"sizeof",
"static_cast",
+ "struct",
"this",
"true",
"typeid",
+ "union",
"integer",
"floating",
"charconst",
"__alignof__",
- "enum",
- "struct",
- "union",
- "namespace",
"LT",
"LeftBrace",
+ "namespace",
"using",
- "ERROR_TOKEN",
- "throw",
"LeftBracket",
"RightParen",
+ "ERROR_TOKEN",
+ "throw",
"Comma",
"Colon",
+ "GT",
"delete",
"new",
- "GT",
"try",
"Assign",
"RightBrace",
@@ -269,9 +269,6 @@ public interface XlcCPPParsersym {
"OrOr",
"MAX",
"MIN",
- "private",
- "protected",
- "public",
"Arrow",
"Question",
"StarAssign",
@@ -285,8 +282,11 @@ public interface XlcCPPParsersym {
"CaretAssign",
"OrAssign",
"RightBracket",
- "catch",
"Dot",
+ "private",
+ "protected",
+ "public",
+ "catch",
"EOF_TOKEN",
"else",
"Invalid"
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java
new file mode 100644
index 0000000000..71bd4b3bbb
--- /dev/null
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PrefCheckbox.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * 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.internal.core.lrparser.xlc.ui.preferences;
+
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
+import org.eclipse.cdt.utils.ui.controls.ControlFactory;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * A simple wrapper for a checkbox.
+ *
+ */
+class PrefCheckbox {
+
+ private final XlcPref key;
+ private final Button button;
+
+ PrefCheckbox(Composite parent, XlcPref prefKey, String label) {
+ button = ControlFactory.createCheckBox(parent, label);
+ key = prefKey;
+ }
+
+ public XlcPref getKey() {
+ return key;
+ }
+
+ public void setSelection(boolean selection) {
+ button.setSelection(selection);
+ }
+
+ public boolean getSelection() {
+ return button.getSelection();
+ }
+
+ public void setDefault() {
+ setSelection(Boolean.valueOf(XlcLanguagePreferences.getDefaultPreference(key)));
+ }
+} \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
index 25c4e4b7af..144b5aece2 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences;
+import java.lang.reflect.Field;
+
import org.eclipse.osgi.util.NLS;
public class PreferenceMessages extends NLS {
@@ -19,15 +21,33 @@ public class PreferenceMessages extends NLS {
private PreferenceMessages() {}
static {
- NLS.initializeMessages(BUNDLE_NAME, PreferenceMessages.class);
+ initializeMessages(BUNDLE_NAME, PreferenceMessages.class);
+ }
+
+ public static final String PREFIX = "XlcLanguageOptionsPreferencePage_";
+
+
+ public static String getMessage(String suffix) {
+ try {
+ Field field = PreferenceMessages.class.getDeclaredField(PREFIX + suffix);
+ return (String)field.get(null);
+
+ } catch (NoSuchFieldException e) {
+ return null;
+ } catch (IllegalAccessException e) {
+ return null;
+ }
}
public static String
XlcLanguageOptionsPreferencePage_link,
XlcLanguageOptionsPreferencePage_group,
- XlcLanguageOptionsPreferencePage_preference_vectors,
- XlcLanguageOptionsPreferencePage_preference_decimals;
+
+ XlcLanguageOptionsPreferencePage_SUPPORT_VECTOR_TYPES,
+ XlcLanguageOptionsPreferencePage_SUPPORT_DECIMAL_FLOATING_POINT_TYPES,
+ XlcLanguageOptionsPreferencePage_SUPPORT_COMPLEX_IN_CPP,
+ XlcLanguageOptionsPreferencePage_SUPPORT_RESTRICT_IN_CPP;
}
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties
index dcc484ed2d..f26043775d 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/PreferenceMessages.properties
@@ -2,6 +2,8 @@
XlcLanguageOptionsPreferencePage_link=These settings are project-specific. The settings listed here override <a href="org.eclipse.cdt.core.lrparser.xlc.ui.XlcLanguagePreferencePage">workspace-wide</a> language settings.
XlcLanguageOptionsPreferencePage_group=Support For XL C/C++ Language Extensions
-XlcLanguageOptionsPreferencePage_preference_vectors=Allow vector type declarations
-XlcLanguageOptionsPreferencePage_preference_decimals=Allow decimal floating-point types (_Decimal32, _Decimal64, _Decimal128)
+XlcLanguageOptionsPreferencePage_SUPPORT_VECTOR_TYPES=Allow vector type declarations
+XlcLanguageOptionsPreferencePage_SUPPORT_DECIMAL_FLOATING_POINT_TYPES=Allow decimal floating-point types (_Decimal32, _Decimal64, _Decimal128)
+XlcLanguageOptionsPreferencePage_SUPPORT_COMPLEX_IN_CPP=Allow complex type in C++ (_Complex)
+XlcLanguageOptionsPreferencePage_SUPPORT_RESTRICT_IN_CPP=Allow 'restrict' keyword in C++ (restrict, __restrict, __restrict__)
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
index ed2fedbe2d..c871f4ac15 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/ui/org/eclipse/cdt/internal/core/lrparser/xlc/ui/preferences/XlcLanguageOptionsPreferencePage.java
@@ -13,13 +13,12 @@ package org.eclipse.cdt.internal.core.lrparser.xlc.ui.preferences;
import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcLanguagePreferences;
-import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPreferenceKeys;
+import org.eclipse.cdt.core.lrparser.xlc.preferences.XlcPref;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
@@ -38,11 +37,24 @@ import org.eclipse.ui.dialogs.PreferencesUtil;
public class XlcLanguageOptionsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IWorkbenchPropertyPage {
private IAdaptable element;
+ private PrefCheckbox[] checkboxes;
+
+
+ private void initializeCheckboxes(Composite group) {
+ XlcPref[] prefs = XlcPref.values();
+ int n = prefs.length;
+ PrefCheckbox[] checkboxes = new PrefCheckbox[n];
+ IProject project = getProject(); // null for preference page
+
+ for(int i = 0; i < n; i++) {
+ String message = PreferenceMessages.getMessage(prefs[i].toString());
+ checkboxes[i] = new PrefCheckbox(group, prefs[i], message);
+ String preference = XlcLanguagePreferences.get(prefs[i], project);
+ checkboxes[i].setSelection(Boolean.valueOf(preference));
+ }
+ }
- private Button buttonVectors;
- private Button buttonDecimals;
-
@Override
protected Control createContents(Composite parent) {
Composite page = ControlFactory.createComposite(parent, 1);
@@ -58,11 +70,7 @@ public class XlcLanguageOptionsPreferencePage extends PreferencePage implements
}
Composite group = ControlFactory.createGroup(page, PreferenceMessages.XlcLanguageOptionsPreferencePage_group, 1);
-
- buttonVectors = ControlFactory.createCheckBox(group, PreferenceMessages.XlcLanguageOptionsPreferencePage_preference_vectors);
- initCheckbox(buttonVectors, XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES);
- buttonDecimals = ControlFactory.createCheckBox(group, PreferenceMessages.XlcLanguageOptionsPreferencePage_preference_decimals);
- initCheckbox(buttonDecimals, XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES);
+ initializeCheckboxes(group);
return page;
}
@@ -70,53 +78,36 @@ public class XlcLanguageOptionsPreferencePage extends PreferencePage implements
@Override
protected void performDefaults() {
- buttonVectors.setSelection(Boolean.valueOf(XlcLanguagePreferences.getDefaultPreference(XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES)));
- buttonDecimals.setSelection(Boolean.valueOf(XlcLanguagePreferences.getDefaultPreference(XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES)));
-
+ for(PrefCheckbox button : checkboxes) {
+ button.setDefault();
+ }
super.performDefaults();
}
@Override
public boolean performOk() {
- setPreference(XlcPreferenceKeys.KEY_SUPPORT_VECTOR_TYPES, buttonVectors.getSelection(), getProject());
- setPreference(XlcPreferenceKeys.KEY_SUPPORT_DECIMAL_FLOATING_POINT_TYPES, buttonDecimals.getSelection(), getProject());
- return true;
- }
-
-
-
- private void initCheckbox(Button checkbox, String prefKey) {
- String preference = null;
-
- if(isPropertyPage()) {
- IProject project = getProject();
- preference = XlcLanguagePreferences.getProjectPreference(prefKey, project);
- }
- else {
- preference = XlcLanguagePreferences.getWorkspacePreference(prefKey);
- }
-
- if(preference == null) {
- preference = XlcLanguagePreferences.getDefaultPreference(prefKey);
+ IProject project = getProject();
+ for(PrefCheckbox button : checkboxes) {
+ setPreference(button.getKey(), button.getSelection(), project);
}
-
- checkbox.setSelection(Boolean.valueOf(preference));
+ return true;
}
- private IProject getProject() {
- return isPropertyPage() ? (IProject)element.getAdapter(IProject.class) : null;
- }
-
- private static void setPreference(String key, boolean val, IProject project) {
+ private static void setPreference(XlcPref key, boolean val, IProject project) {
+ String s = String.valueOf(val);
if(project != null)
- XlcLanguagePreferences.setProjectPreference(key, String.valueOf(val), project);
+ XlcLanguagePreferences.setProjectPreference(key, s, project);
else
- XlcLanguagePreferences.setWorkspacePreference(key, String.valueOf(val));
+ XlcLanguagePreferences.setWorkspacePreference(key, s);
}
+ private IProject getProject() {
+ return isPropertyPage() ? (IProject)element.getAdapter(IProject.class) : null;
+ }
+
public IAdaptable getElement() {
return element;
}

Back to the top