diff --git a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs index 5365098062..f38ad176d1 100644 --- a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs +++ b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs @@ -216,6 +216,7 @@ namespace Mono.CSharp //t "$$2 :", //t "$$3 :", //t "namespace_declaration : opt_attributes NAMESPACE namespace_name $$2 OPEN_BRACE $$3 opt_extern_alias_directives opt_using_directives opt_namespace_or_type_declarations CLOSE_BRACE opt_semicolon", +//t "namespace_declaration : opt_attributes NAMESPACE namespace_name", //t "namespace_name : IDENTIFIER", //t "namespace_name : namespace_name DOT IDENTIFIER", //t "namespace_name : error", @@ -1478,20 +1479,20 @@ case 25: case 26: case_26(); break; -case 39: - case_39(); +case 27: + case_27(); break; case 40: -#line 616 "cs-parser.jay" + case_40(); + break; +case 41: +#line 624 "cs-parser.jay" { current_namespace.DeclarationFound = true; } break; -case 41: - case_41(); - break; -case 49: - case_49(); +case 42: + case_42(); break; case 50: case_50(); @@ -1515,47 +1516,47 @@ case 56: case_56(); break; case 57: -#line 730 "cs-parser.jay" - { yyVal = "event"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); } + case_57(); break; case 58: -#line 731 "cs-parser.jay" - { yyVal = "return"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); } +#line 738 "cs-parser.jay" + { yyVal = "event"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); } break; case 59: - case_59(); +#line 739 "cs-parser.jay" + { yyVal = "return"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); } break; case 60: -#line 748 "cs-parser.jay" + case_60(); + break; +case 61: +#line 756 "cs-parser.jay" { yyVal = new List (4) { (Attribute) yyVals[0+yyTop] }; } break; -case 61: - case_61(); - break; case 62: -#line 763 "cs-parser.jay" + case_62(); + break; +case 63: +#line 771 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 63: - case_63(); - break; -case 65: -#line 791 "cs-parser.jay" - { yyVal = null; HadAttributeParens = false; } +case 64: + case_64(); break; case 66: - case_66(); +#line 799 "cs-parser.jay" + { yyVal = null; HadAttributeParens = false; } break; case 67: -#line 803 "cs-parser.jay" - { yyVal = null; } + case_67(); break; case 68: - case_68(); +#line 811 "cs-parser.jay" + { yyVal = null; } break; case 69: case_69(); @@ -1567,63 +1568,63 @@ case 71: case_71(); break; case 72: -#line 847 "cs-parser.jay" + case_72(); + break; +case 73: +#line 855 "cs-parser.jay" { yyVal = new Argument ((Expression) yyVals[0+yyTop]); } break; -case 74: -#line 855 "cs-parser.jay" +case 75: +#line 863 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 75: - case_75(); - break; case 76: case_76(); break; case 77: -#line 881 "cs-parser.jay" - { yyVal = null; } + case_77(); break; case 78: -#line 885 "cs-parser.jay" +#line 889 "cs-parser.jay" + { yyVal = null; } + break; +case 79: +#line 893 "cs-parser.jay" { yyVal = Argument.AType.Ref; } break; -case 79: -#line 889 "cs-parser.jay" +case 80: +#line 897 "cs-parser.jay" { yyVal = Argument.AType.Out; } break; -case 82: -#line 901 "cs-parser.jay" +case 83: +#line 909 "cs-parser.jay" { lexer.parsing_modifiers = true; } break; -case 83: -#line 905 "cs-parser.jay" +case 84: +#line 913 "cs-parser.jay" { lexer.parsing_modifiers = true; } break; -case 95: - case_95(); - break; case 96: -#line 936 "cs-parser.jay" + case_96(); + break; +case 97: +#line 944 "cs-parser.jay" { lexer.ConstraintsParsing = true; } break; -case 97: - case_97(); - break; case 98: case_98(); break; @@ -1637,46 +1638,46 @@ case 101: case_101(); break; case 102: -#line 979 "cs-parser.jay" + case_102(); + break; +case 103: +#line 987 "cs-parser.jay" { Error_SyntaxError (yyToken); } break; -case 103: - case_103(); - break; case 104: case_104(); break; -case 107: -#line 1020 "cs-parser.jay" - { - current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); - } +case 105: + case_105(); break; case 108: -#line 1024 "cs-parser.jay" +#line 1028 "cs-parser.jay" { current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; case 109: - case_109(); +#line 1032 "cs-parser.jay" + { + current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); + } break; case 110: -#line 1040 "cs-parser.jay" + case_110(); + break; +case 111: +#line 1048 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 111: - case_111(); - break; case 112: case_112(); break; -case 115: - case_115(); +case 113: + case_113(); break; case 116: case_116(); @@ -1688,70 +1689,70 @@ case 118: case_118(); break; case 119: -#line 1119 "cs-parser.jay" + case_119(); + break; +case 120: +#line 1127 "cs-parser.jay" { report.Error (1641, GetLocation (yyVals[-1+yyTop]), "A fixed size buffer field must have the array size specifier after the field name"); } break; -case 121: - case_121(); - break; case 122: case_122(); break; -case 125: -#line 1149 "cs-parser.jay" - { - current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); - } +case 123: + case_123(); break; case 126: -#line 1153 "cs-parser.jay" +#line 1157 "cs-parser.jay" { current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; case 127: - case_127(); +#line 1161 "cs-parser.jay" + { + current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); + } break; case 128: -#line 1166 "cs-parser.jay" + case_128(); + break; +case 129: +#line 1174 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 129: - case_129(); +case 130: + case_130(); break; -case 132: -#line 1185 "cs-parser.jay" +case 133: +#line 1193 "cs-parser.jay" { current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; -case 133: -#line 1189 "cs-parser.jay" +case 134: +#line 1197 "cs-parser.jay" { current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; -case 134: - case_134(); - break; case 135: -#line 1205 "cs-parser.jay" + case_135(); + break; +case 136: +#line 1213 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 136: - case_136(); - break; case 137: case_137(); break; -case 140: - case_140(); +case 138: + case_138(); break; case 141: case_141(); @@ -1760,54 +1761,54 @@ case 142: case_142(); break; case 143: -#line 1276 "cs-parser.jay" + case_143(); + break; +case 144: +#line 1284 "cs-parser.jay" { valid_param_mod = ParameterModifierType.All; } break; -case 144: -#line 1280 "cs-parser.jay" +case 145: +#line 1288 "cs-parser.jay" { lexer.ConstraintsParsing = true; } break; -case 145: - case_145(); - break; case 146: -#line 1306 "cs-parser.jay" + case_146(); + break; +case 147: +#line 1314 "cs-parser.jay" { lexer.parsing_generic_declaration = true; } break; -case 147: - case_147(); - break; case 148: -#line 1316 "cs-parser.jay" + case_148(); + break; +case 149: +#line 1324 "cs-parser.jay" { lexer.ConstraintsParsing = true; } break; -case 149: - case_149(); - break; case 150: case_150(); break; case 151: case_151(); break; -case 153: -#line 1381 "cs-parser.jay" - { savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; } +case 152: + case_152(); break; case 154: -#line 1385 "cs-parser.jay" - { yyVal = ParametersCompiled.EmptyReadOnlyParameters; } +#line 1389 "cs-parser.jay" + { savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; } break; -case 156: - case_156(); +case 155: +#line 1393 "cs-parser.jay" + { yyVal = ParametersCompiled.EmptyReadOnlyParameters; } break; case 157: case_157(); @@ -1828,20 +1829,20 @@ case 162: case_162(); break; case 163: -#line 1457 "cs-parser.jay" + case_163(); + break; +case 164: +#line 1465 "cs-parser.jay" { yyVal = new ParametersCompiled (new Parameter[] { (Parameter) yyVals[0+yyTop] } ); } break; -case 164: -#line 1461 "cs-parser.jay" +case 165: +#line 1469 "cs-parser.jay" { yyVal = new ParametersCompiled (new Parameter [] { new ArglistParameter (GetLocation (yyVals[0+yyTop])) }, true); } break; -case 165: - case_165(); - break; case 166: case_166(); break; @@ -1861,27 +1862,27 @@ case 171: case_171(); break; case 172: -#line 1542 "cs-parser.jay" + case_172(); + break; +case 173: +#line 1550 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 173: - case_173(); - break; case 174: -#line 1583 "cs-parser.jay" - { yyVal = Parameter.Modifier.NONE; } + case_174(); break; -case 176: +case 175: #line 1591 "cs-parser.jay" + { yyVal = Parameter.Modifier.NONE; } + break; +case 177: +#line 1599 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 177: - case_177(); - break; case 178: case_178(); break; @@ -1907,14 +1908,14 @@ case 185: case_185(); break; case 186: -#line 1685 "cs-parser.jay" + case_186(); + break; +case 187: +#line 1693 "cs-parser.jay" { Error_DuplicateParameterModifier (GetLocation (yyVals[-1+yyTop]), Parameter.Modifier.PARAMS); } break; -case 187: - case_187(); - break; case 188: case_188(); break; @@ -1928,25 +1929,25 @@ case 191: case_191(); break; case 192: -#line 1739 "cs-parser.jay" + case_192(); + break; +case 193: +#line 1747 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Params | ParameterModifierType.DefaultValue; } break; -case 193: - case_193(); - break; case 194: -#line 1768 "cs-parser.jay" + case_194(); + break; +case 195: +#line 1776 "cs-parser.jay" { lexer.PropertyParsing = false; } break; -case 195: - case_195(); - break; -case 200: - case_200(); +case 196: + case_196(); break; case 201: case_201(); @@ -1960,21 +1961,21 @@ case 203: case 204: case_204(); break; -case 206: - case_206(); +case 205: + case_205(); break; case 207: case_207(); break; case 208: -#line 1917 "cs-parser.jay" + case_208(); + break; +case 209: +#line 1925 "cs-parser.jay" { lexer.ConstraintsParsing = true; } break; -case 209: - case_209(); - break; case 210: case_210(); break; @@ -1985,183 +1986,183 @@ case 212: case_212(); break; case 213: -#line 1956 "cs-parser.jay" - { - Error_SyntaxError (yyToken); - } + case_213(); break; -case 216: -#line 1968 "cs-parser.jay" +case 214: +#line 1964 "cs-parser.jay" { - lexer.parsing_modifiers = true; + Error_SyntaxError (yyToken); } break; case 217: -#line 1972 "cs-parser.jay" +#line 1976 "cs-parser.jay" { lexer.parsing_modifiers = true; } break; case 218: -#line 1979 "cs-parser.jay" +#line 1980 "cs-parser.jay" { - report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants"); + lexer.parsing_modifiers = true; } break; case 219: -#line 1983 "cs-parser.jay" +#line 1987 "cs-parser.jay" { report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants"); } break; -case 224: +case 220: #line 1991 "cs-parser.jay" { - report.Error (567, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain operators"); + report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants"); } break; case 225: -#line 1995 "cs-parser.jay" +#line 1999 "cs-parser.jay" { - report.Error (526, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain contructors"); + report.Error (567, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain operators"); } break; case 226: -#line 1999 "cs-parser.jay" +#line 2003 "cs-parser.jay" { - report.Error (524, GetLocation (yyVals[0+yyTop]), "Interfaces cannot declare classes, structs, interfaces, delegates, or enumerations"); + report.Error (526, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain contructors"); } break; case 227: -#line 2005 "cs-parser.jay" +#line 2007 "cs-parser.jay" { + report.Error (524, GetLocation (yyVals[0+yyTop]), "Interfaces cannot declare classes, structs, interfaces, delegates, or enumerations"); } break; case 228: - case_228(); +#line 2013 "cs-parser.jay" + { + } break; -case 230: -#line 2038 "cs-parser.jay" - { savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; } +case 229: + case_229(); break; -case 232: - case_232(); +case 231: +#line 2046 "cs-parser.jay" + { savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; } break; case 233: -#line 2054 "cs-parser.jay" + case_233(); + break; +case 234: +#line 2062 "cs-parser.jay" { valid_param_mod = ParameterModifierType.DefaultValue; } break; -case 234: - case_234(); +case 235: + case_235(); break; -case 236: -#line 2100 "cs-parser.jay" +case 237: +#line 2108 "cs-parser.jay" { yyVal = Operator.OpType.LogicalNot; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 237: -#line 2101 "cs-parser.jay" +case 238: +#line 2109 "cs-parser.jay" { yyVal = Operator.OpType.OnesComplement; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 238: -#line 2102 "cs-parser.jay" +case 239: +#line 2110 "cs-parser.jay" { yyVal = Operator.OpType.Increment; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 239: -#line 2103 "cs-parser.jay" +case 240: +#line 2111 "cs-parser.jay" { yyVal = Operator.OpType.Decrement; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 240: -#line 2104 "cs-parser.jay" +case 241: +#line 2112 "cs-parser.jay" { yyVal = Operator.OpType.True; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 241: -#line 2105 "cs-parser.jay" +case 242: +#line 2113 "cs-parser.jay" { yyVal = Operator.OpType.False; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 242: -#line 2107 "cs-parser.jay" +case 243: +#line 2115 "cs-parser.jay" { yyVal = Operator.OpType.Addition; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 243: -#line 2108 "cs-parser.jay" +case 244: +#line 2116 "cs-parser.jay" { yyVal = Operator.OpType.Subtraction; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 244: -#line 2110 "cs-parser.jay" +case 245: +#line 2118 "cs-parser.jay" { yyVal = Operator.OpType.Multiply; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 245: -#line 2111 "cs-parser.jay" +case 246: +#line 2119 "cs-parser.jay" { yyVal = Operator.OpType.Division; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 246: -#line 2112 "cs-parser.jay" +case 247: +#line 2120 "cs-parser.jay" { yyVal = Operator.OpType.Modulus; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 247: -#line 2113 "cs-parser.jay" +case 248: +#line 2121 "cs-parser.jay" { yyVal = Operator.OpType.BitwiseAnd; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 248: -#line 2114 "cs-parser.jay" +case 249: +#line 2122 "cs-parser.jay" { yyVal = Operator.OpType.BitwiseOr; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 249: -#line 2115 "cs-parser.jay" +case 250: +#line 2123 "cs-parser.jay" { yyVal = Operator.OpType.ExclusiveOr; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 250: -#line 2116 "cs-parser.jay" +case 251: +#line 2124 "cs-parser.jay" { yyVal = Operator.OpType.LeftShift; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 251: -#line 2117 "cs-parser.jay" +case 252: +#line 2125 "cs-parser.jay" { yyVal = Operator.OpType.RightShift; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 252: -#line 2118 "cs-parser.jay" +case 253: +#line 2126 "cs-parser.jay" { yyVal = Operator.OpType.Equality; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 253: -#line 2119 "cs-parser.jay" +case 254: +#line 2127 "cs-parser.jay" { yyVal = Operator.OpType.Inequality; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 254: -#line 2120 "cs-parser.jay" +case 255: +#line 2128 "cs-parser.jay" { yyVal = Operator.OpType.GreaterThan; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 255: -#line 2121 "cs-parser.jay" +case 256: +#line 2129 "cs-parser.jay" { yyVal = Operator.OpType.LessThan; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 256: -#line 2122 "cs-parser.jay" +case 257: +#line 2130 "cs-parser.jay" { yyVal = Operator.OpType.GreaterThanOrEqual; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 257: -#line 2123 "cs-parser.jay" +case 258: +#line 2131 "cs-parser.jay" { yyVal = Operator.OpType.LessThanOrEqual; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); } break; -case 258: -#line 2130 "cs-parser.jay" +case 259: +#line 2138 "cs-parser.jay" { valid_param_mod = ParameterModifierType.DefaultValue; } break; -case 259: - case_259(); - break; case 260: -#line 2149 "cs-parser.jay" + case_260(); + break; +case 261: +#line 2157 "cs-parser.jay" { valid_param_mod = ParameterModifierType.DefaultValue; } break; -case 261: - case_261(); - break; case 262: case_262(); break; @@ -2180,28 +2181,28 @@ case 266: case 267: case_267(); break; -case 269: -#line 2255 "cs-parser.jay" +case 268: + case_268(); + break; +case 270: +#line 2263 "cs-parser.jay" { current_block = null; yyVal = null; } break; -case 272: -#line 2267 "cs-parser.jay" +case 273: +#line 2275 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 273: - case_273(); - break; case 274: -#line 2277 "cs-parser.jay" + case_274(); + break; +case 275: +#line 2285 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 275: - case_275(); - break; case 276: case_276(); break; @@ -2229,51 +2230,51 @@ case 283: case 284: case_284(); break; -case 286: -#line 2393 "cs-parser.jay" +case 285: + case_285(); + break; +case 287: +#line 2401 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 287: - case_287(); +case 288: + case_288(); break; -case 290: -#line 2410 "cs-parser.jay" +case 291: +#line 2418 "cs-parser.jay" { current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; -case 291: -#line 2414 "cs-parser.jay" +case 292: +#line 2422 "cs-parser.jay" { current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]); } break; -case 292: - case_292(); - break; case 293: -#line 2427 "cs-parser.jay" + case_293(); + break; +case 294: +#line 2435 "cs-parser.jay" { ++lexer.parsing_block; } break; -case 294: - case_294(); - break; case 295: case_295(); break; case 296: -#line 2452 "cs-parser.jay" + case_296(); + break; +case 297: +#line 2460 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 299: - case_299(); - break; case 300: case_300(); break; @@ -2295,8 +2296,8 @@ case 305: case 306: case_306(); break; -case 308: - case_308(); +case 307: + case_307(); break; case 309: case_309(); @@ -2310,21 +2311,21 @@ case 311: case 312: case_312(); break; -case 314: - case_314(); +case 313: + case_313(); break; case 315: case_315(); break; -case 318: -#line 2620 "cs-parser.jay" +case 316: + case_316(); + break; +case 319: +#line 2628 "cs-parser.jay" { lbag.AppendToMember (current_container, GetLocation (yyVals[0+yyTop])); } break; -case 320: - case_320(); - break; case 321: case_321(); break; @@ -2337,38 +2338,38 @@ case 323: case 324: case_324(); break; -case 326: -#line 2694 "cs-parser.jay" +case 325: + case_325(); + break; +case 327: +#line 2702 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out | ParameterModifierType.Params | ParameterModifierType.DefaultValue; } break; -case 327: - case_327(); - break; case 328: -#line 2713 "cs-parser.jay" + case_328(); + break; +case 329: +#line 2721 "cs-parser.jay" { lexer.ConstraintsParsing = false; } break; -case 329: - case_329(); - break; -case 331: - case_331(); +case 330: + case_330(); break; -case 333: - case_333(); +case 332: + case_332(); break; -case 335: - case_335(); +case 334: + case_334(); break; case 336: case_336(); break; -case 338: - case_338(); +case 337: + case_337(); break; case 339: case_339(); @@ -2380,19 +2381,19 @@ case 341: case_341(); break; case 342: -#line 2819 "cs-parser.jay" + case_342(); + break; +case 343: +#line 2827 "cs-parser.jay" { lexer.parsing_generic_declaration = true; } break; -case 343: - case_343(); - break; case 344: case_344(); break; -case 346: - case_346(); +case 345: + case_345(); break; case 347: case_347(); @@ -2409,8 +2410,8 @@ case 350: case 351: case_351(); break; -case 353: - case_353(); +case 352: + case_352(); break; case 354: case_354(); @@ -2424,60 +2425,60 @@ case 356: case 357: case_357(); break; -case 359: -#line 2941 "cs-parser.jay" +case 358: + case_358(); + break; +case 360: +#line 2949 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } break; -case 360: -#line 2948 "cs-parser.jay" +case 361: +#line 2956 "cs-parser.jay" { lexer.parsing_generic_declaration = true; } break; -case 362: - case_362(); +case 363: + case_363(); break; -case 364: - case_364(); +case 365: + case_365(); break; -case 366: - case_366(); +case 367: + case_367(); break; -case 368: -#line 2986 "cs-parser.jay" +case 369: +#line 2994 "cs-parser.jay" { yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 369: - case_369(); - break; case 370: -#line 3005 "cs-parser.jay" + case_370(); + break; +case 371: +#line 3013 "cs-parser.jay" { yyVal = new ComposedCast ((ATypeNameExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 371: - case_371(); - break; case 372: -#line 3014 "cs-parser.jay" + case_372(); + break; +case 373: +#line 3022 "cs-parser.jay" { yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 373: -#line 3018 "cs-parser.jay" +case 374: +#line 3026 "cs-parser.jay" { yyVal = new ComposedCast (new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 374: - case_374(); - break; case 375: case_375(); break; @@ -2485,95 +2486,95 @@ case 376: case_376(); break; case 377: -#line 3052 "cs-parser.jay" - { yyVal = new TypeExpression (compiler.BuiltinTypes.Object, GetLocation (yyVals[0+yyTop])); } + case_377(); break; case 378: -#line 3053 "cs-parser.jay" - { yyVal = new TypeExpression (compiler.BuiltinTypes.String, GetLocation (yyVals[0+yyTop])); } +#line 3060 "cs-parser.jay" + { yyVal = new TypeExpression (compiler.BuiltinTypes.Object, GetLocation (yyVals[0+yyTop])); } break; case 379: -#line 3054 "cs-parser.jay" - { yyVal = new TypeExpression (compiler.BuiltinTypes.Bool, GetLocation (yyVals[0+yyTop])); } +#line 3061 "cs-parser.jay" + { yyVal = new TypeExpression (compiler.BuiltinTypes.String, GetLocation (yyVals[0+yyTop])); } break; case 380: -#line 3055 "cs-parser.jay" - { yyVal = new TypeExpression (compiler.BuiltinTypes.Decimal, GetLocation (yyVals[0+yyTop])); } +#line 3062 "cs-parser.jay" + { yyVal = new TypeExpression (compiler.BuiltinTypes.Bool, GetLocation (yyVals[0+yyTop])); } break; case 381: -#line 3056 "cs-parser.jay" - { yyVal = new TypeExpression (compiler.BuiltinTypes.Float, GetLocation (yyVals[0+yyTop])); } +#line 3063 "cs-parser.jay" + { yyVal = new TypeExpression (compiler.BuiltinTypes.Decimal, GetLocation (yyVals[0+yyTop])); } break; case 382: -#line 3057 "cs-parser.jay" +#line 3064 "cs-parser.jay" + { yyVal = new TypeExpression (compiler.BuiltinTypes.Float, GetLocation (yyVals[0+yyTop])); } + break; +case 383: +#line 3065 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Double, GetLocation (yyVals[0+yyTop])); } break; -case 384: -#line 3062 "cs-parser.jay" +case 385: +#line 3070 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.SByte, GetLocation (yyVals[0+yyTop])); } break; -case 385: -#line 3063 "cs-parser.jay" +case 386: +#line 3071 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Byte, GetLocation (yyVals[0+yyTop])); } break; -case 386: -#line 3064 "cs-parser.jay" +case 387: +#line 3072 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Short, GetLocation (yyVals[0+yyTop])); } break; -case 387: -#line 3065 "cs-parser.jay" +case 388: +#line 3073 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.UShort, GetLocation (yyVals[0+yyTop])); } break; -case 388: -#line 3066 "cs-parser.jay" +case 389: +#line 3074 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Int, GetLocation (yyVals[0+yyTop])); } break; -case 389: -#line 3067 "cs-parser.jay" +case 390: +#line 3075 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.UInt, GetLocation (yyVals[0+yyTop])); } break; -case 390: -#line 3068 "cs-parser.jay" +case 391: +#line 3076 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Long, GetLocation (yyVals[0+yyTop])); } break; -case 391: -#line 3069 "cs-parser.jay" +case 392: +#line 3077 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.ULong, GetLocation (yyVals[0+yyTop])); } break; -case 392: -#line 3070 "cs-parser.jay" +case 393: +#line 3078 "cs-parser.jay" { yyVal = new TypeExpression (compiler.BuiltinTypes.Char, GetLocation (yyVals[0+yyTop])); } break; -case 413: - case_413(); - break; case 414: case_414(); break; -case 418: -#line 3117 "cs-parser.jay" - { yyVal = new NullLiteral (GetLocation (yyVals[0+yyTop])); } +case 415: + case_415(); break; case 419: -#line 3121 "cs-parser.jay" - { yyVal = new BoolLiteral (compiler.BuiltinTypes, true, GetLocation (yyVals[0+yyTop])); } +#line 3125 "cs-parser.jay" + { yyVal = new NullLiteral (GetLocation (yyVals[0+yyTop])); } break; case 420: -#line 3122 "cs-parser.jay" - { yyVal = new BoolLiteral (compiler.BuiltinTypes, false, GetLocation (yyVals[0+yyTop])); } +#line 3129 "cs-parser.jay" + { yyVal = new BoolLiteral (compiler.BuiltinTypes, true, GetLocation (yyVals[0+yyTop])); } break; -case 425: - case_425(); +case 421: +#line 3130 "cs-parser.jay" + { yyVal = new BoolLiteral (compiler.BuiltinTypes, false, GetLocation (yyVals[0+yyTop])); } break; case 426: -#line 3155 "cs-parser.jay" + case_426(); + break; +case 427: +#line 3163 "cs-parser.jay" { yyVal = new ParenthesizedExpression ((Expression) yyVals[-1+yyTop]); } break; -case 427: - case_427(); - break; case 428: case_428(); break; @@ -2584,23 +2585,23 @@ case 430: case_430(); break; case 431: -#line 3190 "cs-parser.jay" + case_431(); + break; +case 432: +#line 3198 "cs-parser.jay" { yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null,GetLocation (yyVals[0+yyTop])); } break; -case 432: - case_432(); - break; case 433: -#line 3198 "cs-parser.jay" + case_433(); + break; +case 434: +#line 3206 "cs-parser.jay" { yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null, lexer.Location); } break; -case 434: - case_434(); - break; case 435: case_435(); break; @@ -2608,28 +2609,28 @@ case 436: case_436(); break; case 437: -#line 3222 "cs-parser.jay" - { yyVal = null; } + case_437(); break; -case 439: - case_439(); +case 438: +#line 3230 "cs-parser.jay" + { yyVal = null; } break; case 440: case_440(); break; case 441: -#line 3245 "cs-parser.jay" - { yyVal = null; } + case_441(); break; case 442: -#line 3249 "cs-parser.jay" +#line 3253 "cs-parser.jay" + { yyVal = null; } + break; +case 443: +#line 3257 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 443: - case_443(); - break; case 444: case_444(); break; @@ -2640,26 +2641,26 @@ case 446: case_446(); break; case 447: -#line 3282 "cs-parser.jay" + case_447(); + break; +case 448: +#line 3290 "cs-parser.jay" { yyVal = new CompletionElementInitializer (null, GetLocation (yyVals[0+yyTop])); } break; -case 448: - case_448(); - break; case 449: case_449(); break; case 450: case_450(); break; -case 453: -#line 3313 "cs-parser.jay" - { yyVal = null; } +case 451: + case_451(); break; -case 455: - case_455(); +case 454: +#line 3321 "cs-parser.jay" + { yyVal = null; } break; case 456: case_456(); @@ -2674,14 +2675,14 @@ case 459: case_459(); break; case 460: -#line 3367 "cs-parser.jay" + case_460(); + break; +case 461: +#line 3375 "cs-parser.jay" { yyVal = new Argument ((Expression) yyVals[0+yyTop]); } break; -case 464: - case_464(); - break; case 465: case_465(); break; @@ -2691,8 +2692,8 @@ case 466: case 467: case_467(); break; -case 469: - case_469(); +case 468: + case_468(); break; case 470: case_470(); @@ -2716,38 +2717,38 @@ case 476: case_476(); break; case 477: -#line 3464 "cs-parser.jay" + case_477(); + break; +case 478: +#line 3472 "cs-parser.jay" { yyVal = new Argument ((Expression) yyVals[0+yyTop]); } break; -case 479: -#line 3472 "cs-parser.jay" +case 480: +#line 3480 "cs-parser.jay" { yyVal = new This (GetLocation (yyVals[0+yyTop])); } break; -case 480: - case_480(); - break; case 481: case_481(); break; case 482: -#line 3492 "cs-parser.jay" + case_482(); + break; +case 483: +#line 3500 "cs-parser.jay" { yyVal = new UnaryMutator (UnaryMutator.Mode.PostIncrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop])); } break; -case 483: -#line 3499 "cs-parser.jay" +case 484: +#line 3507 "cs-parser.jay" { yyVal = new UnaryMutator (UnaryMutator.Mode.PostDecrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop])); } break; -case 484: - case_484(); - break; case 485: case_485(); break; @@ -2767,23 +2768,23 @@ case 490: case_490(); break; case 491: -#line 3566 "cs-parser.jay" + case_491(); + break; +case 492: +#line 3574 "cs-parser.jay" { ++lexer.parsing_type; } break; -case 492: - case_492(); - break; case 493: case_493(); break; -case 496: -#line 3593 "cs-parser.jay" - { yyVal = null; } +case 494: + case_494(); break; -case 498: - case_498(); +case 497: +#line 3601 "cs-parser.jay" + { yyVal = null; } break; case 499: case_499(); @@ -2800,8 +2801,8 @@ case 502: case 503: case_503(); break; -case 507: - case_507(); +case 504: + case_504(); break; case 508: case_508(); @@ -2810,32 +2811,32 @@ case 509: case_509(); break; case 510: -#line 3671 "cs-parser.jay" + case_510(); + break; +case 511: +#line 3679 "cs-parser.jay" { yyVal = 2; } break; -case 511: -#line 3675 "cs-parser.jay" +case 512: +#line 3683 "cs-parser.jay" { yyVal = ((int) yyVals[-1+yyTop]) + 1; } break; -case 512: -#line 3682 "cs-parser.jay" +case 513: +#line 3690 "cs-parser.jay" { yyVal = null; } break; -case 513: -#line 3686 "cs-parser.jay" +case 514: +#line 3694 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 514: - case_514(); - break; case 515: case_515(); break; @@ -2846,16 +2847,16 @@ case 517: case_517(); break; case 518: -#line 3730 "cs-parser.jay" + case_518(); + break; +case 519: +#line 3738 "cs-parser.jay" { lexer.TypeOfParsing = true; } break; -case 519: - case_519(); - break; -case 522: - case_522(); +case 520: + case_520(); break; case 523: case_523(); @@ -2891,130 +2892,130 @@ case 533: case_533(); break; case 534: -#line 3850 "cs-parser.jay" + case_534(); + break; +case 535: +#line 3858 "cs-parser.jay" { start_anonymous (false, (ParametersCompiled) yyVals[0+yyTop], false, GetLocation (yyVals[-1+yyTop])); } break; -case 535: - case_535(); - break; case 536: -#line 3863 "cs-parser.jay" + case_536(); + break; +case 537: +#line 3871 "cs-parser.jay" { start_anonymous (false, (ParametersCompiled) yyVals[0+yyTop], true, GetLocation (yyVals[-2+yyTop])); } break; -case 537: - case_537(); - break; case 538: -#line 3880 "cs-parser.jay" + case_538(); + break; +case 539: +#line 3888 "cs-parser.jay" { yyVal = ParametersCompiled.Undefined; } break; -case 540: -#line 3888 "cs-parser.jay" +case 541: +#line 3896 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out; } break; -case 541: - case_541(); - break; case 542: case_542(); break; -case 544: -#line 3914 "cs-parser.jay" +case 543: + case_543(); + break; +case 545: +#line 3922 "cs-parser.jay" { yyVal = new Unary (Unary.Operator.LogicalNot, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 545: -#line 3918 "cs-parser.jay" +case 546: +#line 3926 "cs-parser.jay" { yyVal = new Unary (Unary.Operator.OnesComplement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 546: - case_546(); - break; case 547: case_547(); break; -case 549: -#line 3954 "cs-parser.jay" +case 548: + case_548(); + break; +case 550: +#line 3962 "cs-parser.jay" { yyVal = new Unary (Unary.Operator.UnaryPlus, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 550: -#line 3958 "cs-parser.jay" +case 551: +#line 3966 "cs-parser.jay" { yyVal = new Unary (Unary.Operator.UnaryNegation, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 551: -#line 3962 "cs-parser.jay" +case 552: +#line 3970 "cs-parser.jay" { yyVal = new UnaryMutator (UnaryMutator.Mode.PreIncrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 552: -#line 3966 "cs-parser.jay" +case 553: +#line 3974 "cs-parser.jay" { yyVal = new UnaryMutator (UnaryMutator.Mode.PreDecrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 553: -#line 3970 "cs-parser.jay" +case 554: +#line 3978 "cs-parser.jay" { yyVal = new Indirection ((Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 554: -#line 3974 "cs-parser.jay" +case 555: +#line 3982 "cs-parser.jay" { yyVal = new Unary (Unary.Operator.AddressOf, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 556: - case_556(); - break; case 557: case_557(); break; case 558: case_558(); break; -case 560: - case_560(); +case 559: + case_559(); break; case 561: case_561(); break; case 562: -#line 4011 "cs-parser.jay" + case_562(); + break; +case 563: +#line 4019 "cs-parser.jay" { yyVal = new As ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 563: -#line 4015 "cs-parser.jay" +case 564: +#line 4023 "cs-parser.jay" { yyVal = new Is ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 565: - case_565(); - break; case 566: case_566(); break; -case 568: - case_568(); +case 567: + case_567(); break; case 569: case_569(); @@ -3025,32 +3026,32 @@ case 570: case 571: case_571(); break; -case 573: - case_573(); +case 572: + case_572(); break; case 574: case_574(); break; -case 576: - case_576(); +case 575: + case_575(); break; -case 578: - case_578(); +case 577: + case_577(); break; -case 580: - case_580(); +case 579: + case_579(); break; -case 582: - case_582(); +case 581: + case_581(); break; -case 584: - case_584(); +case 583: + case_583(); break; -case 586: - case_586(); +case 585: + case_585(); break; -case 588: - case_588(); +case 587: + case_587(); break; case 589: case_589(); @@ -3104,23 +3105,23 @@ case 605: case_605(); break; case 606: -#line 4243 "cs-parser.jay" - { yyVal = ParametersCompiled.EmptyReadOnlyParameters; } + case_606(); break; case 607: - case_607(); +#line 4251 "cs-parser.jay" + { yyVal = ParametersCompiled.EmptyReadOnlyParameters; } + break; +case 608: + case_608(); break; -case 610: -#line 4259 "cs-parser.jay" +case 611: +#line 4267 "cs-parser.jay" { start_block (Location.Null); } break; -case 611: - case_611(); - break; -case 613: - case_613(); +case 612: + case_612(); break; case 614: case_614(); @@ -3135,59 +3136,59 @@ case 617: case_617(); break; case 618: -#line 4304 "cs-parser.jay" + case_618(); + break; +case 619: +#line 4312 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out; } break; -case 619: - case_619(); - break; case 620: case_620(); break; case 621: -#line 4318 "cs-parser.jay" + case_621(); + break; +case 622: +#line 4326 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out; } break; -case 622: - case_622(); - break; case 623: case_623(); break; -case 629: -#line 4343 "cs-parser.jay" +case 624: + case_624(); + break; +case 630: +#line 4351 "cs-parser.jay" { yyVal = new ArglistAccess (GetLocation (yyVals[0+yyTop])); } break; -case 630: - case_630(); - break; case 631: case_631(); break; case 632: case_632(); break; -case 634: -#line 4372 "cs-parser.jay" +case 633: + case_633(); + break; +case 635: +#line 4380 "cs-parser.jay" { yyVal = new BooleanExpression ((Expression) yyVals[0+yyTop]); } break; -case 635: -#line 4385 "cs-parser.jay" +case 636: +#line 4393 "cs-parser.jay" { lexer.ConstraintsParsing = true; } break; -case 636: - case_636(); - break; case 637: case_637(); break; @@ -3198,25 +3199,25 @@ case 639: case_639(); break; case 640: -#line 4430 "cs-parser.jay" - { yyVal = null; } + case_640(); break; case 641: -#line 4432 "cs-parser.jay" - { yyVal = yyVals[0+yyTop]; StoreModifierLocation (Modifiers.PARTIAL, GetLocation (yyVals[0+yyTop])); } +#line 4438 "cs-parser.jay" + { yyVal = null; } break; case 642: - case_642(); +#line 4440 "cs-parser.jay" + { yyVal = yyVals[0+yyTop]; StoreModifierLocation (Modifiers.PARTIAL, GetLocation (yyVals[0+yyTop])); } break; case 643: -#line 4445 "cs-parser.jay" + case_643(); + break; +case 644: +#line 4453 "cs-parser.jay" { lexer.parsing_modifiers = false; } break; -case 645: - case_645(); - break; case 646: case_646(); break; @@ -3262,21 +3263,21 @@ case 659: case 660: case_660(); break; -case 662: - case_662(); +case 661: + case_661(); break; case 663: case_663(); break; -case 665: -#line 4571 "cs-parser.jay" +case 664: + case_664(); + break; +case 666: +#line 4579 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 666: - case_666(); - break; case 667: case_667(); break; @@ -3299,26 +3300,26 @@ case 673: case_673(); break; case 674: -#line 4664 "cs-parser.jay" + case_674(); + break; +case 675: +#line 4672 "cs-parser.jay" { yyVal = new SpecialContraintExpr (SpecialConstraint.Class, GetLocation (yyVals[0+yyTop])); } break; -case 675: -#line 4668 "cs-parser.jay" +case 676: +#line 4676 "cs-parser.jay" { yyVal = new SpecialContraintExpr (SpecialConstraint.Struct, GetLocation (yyVals[0+yyTop])); } break; -case 676: -#line 4675 "cs-parser.jay" +case 677: +#line 4683 "cs-parser.jay" { yyVal = Variance.None; } break; -case 677: - case_677(); - break; case 678: case_678(); break; @@ -3329,14 +3330,14 @@ case 680: case_680(); break; case 681: -#line 4720 "cs-parser.jay" + case_681(); + break; +case 682: +#line 4728 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 682: - case_682(); - break; case 683: case_683(); break; @@ -3349,39 +3350,39 @@ case 685: case 686: case_686(); break; -case 691: -#line 4769 "cs-parser.jay" +case 687: + case_687(); + break; +case 692: +#line 4777 "cs-parser.jay" { current_block.AddStatement ((Statement) yyVals[0+yyTop]); } break; -case 692: -#line 4773 "cs-parser.jay" +case 693: +#line 4781 "cs-parser.jay" { current_block.AddStatement ((Statement) yyVals[0+yyTop]); } break; -case 694: - case_694(); - break; case 695: case_695(); break; -case 698: -#line 4807 "cs-parser.jay" +case 696: + case_696(); + break; +case 699: +#line 4815 "cs-parser.jay" { current_block.AddStatement ((Statement) yyVals[0+yyTop]); } break; -case 699: -#line 4811 "cs-parser.jay" +case 700: +#line 4819 "cs-parser.jay" { current_block.AddStatement ((Statement) yyVals[0+yyTop]); } break; -case 728: - case_728(); - break; case 729: case_729(); break; @@ -3394,8 +3395,8 @@ case 731: case 732: case_732(); break; -case 735: - case_735(); +case 733: + case_733(); break; case 736: case_736(); @@ -3407,32 +3408,32 @@ case 738: case_738(); break; case 739: -#line 4955 "cs-parser.jay" + case_739(); + break; +case 740: +#line 4963 "cs-parser.jay" { yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 740: -#line 4959 "cs-parser.jay" +case 741: +#line 4967 "cs-parser.jay" { yyVal = new ComposedCast (new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]); } break; -case 741: - case_741(); - break; -case 743: - case_743(); +case 742: + case_742(); break; case 744: -#line 4980 "cs-parser.jay" + case_744(); + break; +case 745: +#line 4988 "cs-parser.jay" { yyVal = ComposedTypeSpecifier.CreatePointer (GetLocation (yyVals[0+yyTop])); } break; -case 746: - case_746(); - break; case 747: case_747(); break; @@ -3445,11 +3446,11 @@ case 749: case 750: case_750(); break; -case 752: - case_752(); +case 751: + case_751(); break; -case 754: - case_754(); +case 753: + case_753(); break; case 755: case_755(); @@ -3457,29 +3458,29 @@ case 755: case 756: case_756(); break; -case 760: - case_760(); +case 757: + case_757(); break; -case 763: - case_763(); +case 761: + case_761(); break; case 764: case_764(); break; case 765: -#line 5115 "cs-parser.jay" + case_765(); + break; +case 766: +#line 5123 "cs-parser.jay" { report.Error (145, lexer.Location, "A const field requires a value to be provided"); } break; -case 766: - case_766(); - break; -case 771: - case_771(); +case 767: + case_767(); break; -case 773: - case_773(); +case 772: + case_772(); break; case 774: case_774(); @@ -3488,22 +3489,22 @@ case 775: case_775(); break; case 776: -#line 5165 "cs-parser.jay" - { yyVal = yyVals[-1+yyTop]; } + case_776(); break; case 777: - case_777(); +#line 5173 "cs-parser.jay" + { yyVal = yyVals[-1+yyTop]; } break; case 778: -#line 5175 "cs-parser.jay" - { yyVal = yyVals[-1+yyTop]; } + case_778(); break; case 779: -#line 5176 "cs-parser.jay" +#line 5183 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; } break; case 780: - case_780(); +#line 5184 "cs-parser.jay" + { yyVal = yyVals[-1+yyTop]; } break; case 781: case_781(); @@ -3511,8 +3512,8 @@ case 781: case 782: case_782(); break; -case 785: - case_785(); +case 783: + case_783(); break; case 786: case_786(); @@ -3521,22 +3522,22 @@ case 787: case_787(); break; case 788: -#line 5251 "cs-parser.jay" + case_788(); + break; +case 789: +#line 5259 "cs-parser.jay" { start_block (GetLocation (yyVals[0+yyTop])); } break; -case 789: - case_789(); - break; case 790: case_790(); break; case 791: case_791(); break; -case 793: - case_793(); +case 792: + case_792(); break; case 794: case_794(); @@ -3545,20 +3546,20 @@ case 795: case_795(); break; case 796: -#line 5302 "cs-parser.jay" + case_796(); + break; +case 797: +#line 5310 "cs-parser.jay" { current_block = current_block.CreateSwitchBlock (lexer.Location); } break; -case 797: -#line 5306 "cs-parser.jay" +case 798: +#line 5314 "cs-parser.jay" { yyVal = new SwitchSection ((List) yyVals[-2+yyTop], current_block); } break; -case 798: - case_798(); - break; case 799: case_799(); break; @@ -3569,14 +3570,14 @@ case 801: case_801(); break; case 802: -#line 5340 "cs-parser.jay" + case_802(); + break; +case 803: +#line 5348 "cs-parser.jay" { yyVal = new SwitchLabel (null, GetLocation (yyVals[0+yyTop])); } break; -case 807: - case_807(); - break; case 808: case_808(); break; @@ -3593,35 +3594,35 @@ case 812: case_812(); break; case 813: -#line 5401 "cs-parser.jay" + case_813(); + break; +case 814: +#line 5409 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 814: - case_814(); - break; case 815: -#line 5416 "cs-parser.jay" + case_815(); + break; +case 816: +#line 5424 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 816: - case_816(); - break; case 817: case_817(); break; case 818: -#line 5437 "cs-parser.jay" + case_818(); + break; +case 819: +#line 5445 "cs-parser.jay" { yyVal = yyVals[0+yyTop]; } break; -case 819: - case_819(); - break; case 820: case_820(); break; @@ -3629,26 +3630,26 @@ case 821: case_821(); break; case 822: -#line 5471 "cs-parser.jay" - { yyVal = new EmptyStatement (lexer.Location); } + case_822(); break; -case 824: - case_824(); +case 823: +#line 5479 "cs-parser.jay" + { yyVal = new EmptyStatement (lexer.Location); } break; case 825: case_825(); break; -case 827: -#line 5492 "cs-parser.jay" +case 826: + case_826(); + break; +case 828: +#line 5500 "cs-parser.jay" { yyVal = null; } break; -case 829: -#line 5497 "cs-parser.jay" +case 830: +#line 5505 "cs-parser.jay" { yyVal = new EmptyStatement (lexer.Location); } break; -case 833: - case_833(); - break; case 834: case_834(); break; @@ -3667,8 +3668,8 @@ case 838: case 839: case_839(); break; -case 846: - case_846(); +case 840: + case_840(); break; case 847: case_847(); @@ -3709,15 +3710,15 @@ case 858: case 859: case_859(); break; -case 862: -#line 5737 "cs-parser.jay" +case 860: + case_860(); + break; +case 863: +#line 5745 "cs-parser.jay" { yyVal = new TryCatch ((Block) yyVals[-1+yyTop], (List) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]), false); } break; -case 863: - case_863(); - break; case 864: case_864(); break; @@ -3730,48 +3731,48 @@ case 866: case 867: case_867(); break; -case 870: -#line 5787 "cs-parser.jay" +case 868: + case_868(); + break; +case 871: +#line 5795 "cs-parser.jay" { yyVal = new Catch ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 871: - case_871(); - break; case 872: -#line 5806 "cs-parser.jay" + case_872(); + break; +case 873: +#line 5814 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; } break; -case 873: - case_873(); - break; case 874: -#line 5824 "cs-parser.jay" + case_874(); + break; +case 875: +#line 5832 "cs-parser.jay" { yyVal = new Checked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 875: -#line 5831 "cs-parser.jay" +case 876: +#line 5839 "cs-parser.jay" { yyVal = new Unchecked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } break; -case 876: - case_876(); - break; case 877: -#line 5841 "cs-parser.jay" + case_877(); + break; +case 878: +#line 5849 "cs-parser.jay" { yyVal = new Unsafe ((Block) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); } break; -case 878: - case_878(); - break; case 879: case_879(); break; @@ -3799,18 +3800,18 @@ case 886: case 887: case_887(); break; -case 889: - case_889(); +case 888: + case_888(); break; case 890: -#line 5946 "cs-parser.jay" + case_890(); + break; +case 891: +#line 5954 "cs-parser.jay" { Error_MissingInitializer (lexer.Location); } break; -case 891: - case_891(); - break; case 892: case_892(); break; @@ -3836,44 +3837,44 @@ case 899: case_899(); break; case 900: -#line 6051 "cs-parser.jay" + case_900(); + break; +case 901: +#line 6059 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 901: - case_901(); - break; case 902: -#line 6067 "cs-parser.jay" + case_902(); + break; +case 903: +#line 6075 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 903: - case_903(); - break; case 904: case_904(); break; case 905: case_905(); break; -case 907: - case_907(); +case 906: + case_906(); break; case 908: case_908(); break; case 909: -#line 6131 "cs-parser.jay" + case_909(); + break; +case 910: +#line 6139 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 910: - case_910(); - break; case 911: case_911(); break; @@ -3883,27 +3884,27 @@ case 912: case 913: case_913(); break; -case 915: - case_915(); +case 914: + case_914(); + break; +case 916: + case_916(); break; -case 921: -#line 6185 "cs-parser.jay" +case 922: +#line 6193 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 922: - case_922(); - break; case 923: -#line 6204 "cs-parser.jay" + case_923(); + break; +case 924: +#line 6212 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 924: - case_924(); - break; case 925: case_925(); break; @@ -3928,99 +3929,99 @@ case 931: case 932: case_932(); break; -case 934: - case_934(); +case 933: + case_933(); break; case 935: -#line 6358 "cs-parser.jay" + case_935(); + break; +case 936: +#line 6366 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); } break; -case 936: - case_936(); - break; -case 938: - case_938(); +case 937: + case_937(); break; case 939: case_939(); break; -case 941: - case_941(); +case 940: + case_940(); break; case 942: case_942(); break; case 943: -#line 6404 "cs-parser.jay" + case_943(); + break; +case 944: +#line 6412 "cs-parser.jay" { yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]); } break; -case 944: - case_944(); - break; case 945: case_945(); break; case 946: -#line 6421 "cs-parser.jay" + case_946(); + break; +case 947: +#line 6429 "cs-parser.jay" { yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]); } break; -case 947: - case_947(); - break; case 948: case_948(); break; -case 950: - case_950(); +case 949: + case_949(); break; case 951: case_951(); break; -case 954: - case_954(); +case 952: + case_952(); break; case 955: case_955(); break; -case 963: -#line 6543 "cs-parser.jay" +case 956: + case_956(); + break; +case 964: +#line 6551 "cs-parser.jay" { module.DocumentationBuilder.ParsedName = (MemberName) yyVals[0+yyTop]; } break; -case 964: -#line 6550 "cs-parser.jay" +case 965: +#line 6558 "cs-parser.jay" { module.DocumentationBuilder.ParsedParameters = (List)yyVals[0+yyTop]; } break; -case 965: - case_965(); - break; case 966: case_966(); break; case 967: -#line 6567 "cs-parser.jay" + case_967(); + break; +case 968: +#line 6575 "cs-parser.jay" { yyVal = new MemberName ((MemberName) yyVals[-2+yyTop], MemberCache.IndexerNameAlias, Location.Null); } break; -case 968: -#line 6571 "cs-parser.jay" +case 969: +#line 6579 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out; } break; -case 969: - case_969(); - break; case 970: case_970(); break; @@ -4030,39 +4031,42 @@ case 971: case 972: case_972(); break; -case 974: -#line 6607 "cs-parser.jay" +case 973: + case_973(); + break; +case 975: +#line 6615 "cs-parser.jay" { yyVal = new MemberName (((MemberName) yyVals[-2+yyTop]), (MemberName) yyVals[0+yyTop]); } break; -case 976: -#line 6615 "cs-parser.jay" +case 977: +#line 6623 "cs-parser.jay" { valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out; } break; -case 977: -#line 6619 "cs-parser.jay" +case 978: +#line 6627 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; } break; -case 978: -#line 6626 "cs-parser.jay" +case 979: +#line 6634 "cs-parser.jay" { yyVal = new List (0); } break; -case 980: - case_980(); - break; case 981: case_981(); break; case 982: case_982(); break; +case 983: + case_983(); + break; #line default } yyTop -= yyLen[yyN]; @@ -4228,14 +4232,24 @@ void case_23() } void case_24() -#line 545 "cs-parser.jay" +#line 542 "cs-parser.jay" +{ + report.Error (1514, lexer.Location, "Unexpected symbol `{0}', expecting `.' or `{{'", GetSymbolName (yyToken)); + + var name = (MemberName) yyVals[0+yyTop]; + var ns = new NamespaceContainer (name, current_namespace); + current_namespace.AddTypeContainer (ns); + } + +void case_25() +#line 553 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new MemberName (lt.Value, lt.Location); } -void case_25() -#line 550 "cs-parser.jay" +void case_26() +#line 558 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new MemberName ((MemberName) yyVals[-2+yyTop], lt.Value, lt.Location) { @@ -4243,15 +4257,15 @@ void case_25() }; } -void case_26() -#line 557 "cs-parser.jay" +void case_27() +#line 565 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new MemberName ("", lexer.Location); } -void case_39() -#line 595 "cs-parser.jay" +void case_40() +#line 603 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { TypeContainer ds = (TypeContainer)yyVals[0+yyTop]; @@ -4271,16 +4285,16 @@ void case_39() current_namespace.DeclarationFound = true; } -void case_41() -#line 617 "cs-parser.jay" +void case_42() +#line 625 "cs-parser.jay" { current_namespace.UnattachedAttributes = (Attributes) yyVals[-1+yyTop]; report.Error (1518, lexer.Location, "Attributes must be attached to class, delegate, enum, interface or struct"); lexer.putback ('}'); } -void case_49() -#line 650 "cs-parser.jay" +void case_50() +#line 658 "cs-parser.jay" { var sect = (List) yyVals[0+yyTop]; yyVal = new Attributes (sect); @@ -4292,8 +4306,8 @@ void case_49() } } -void case_50() -#line 661 "cs-parser.jay" +void case_51() +#line 669 "cs-parser.jay" { Attributes attrs = yyVals[-1+yyTop] as Attributes; var sect = (List) yyVals[0+yyTop]; @@ -4307,22 +4321,22 @@ void case_50() yyVal = attrs; } -void case_51() -#line 677 "cs-parser.jay" +void case_52() +#line 685 "cs-parser.jay" { lexer.parsing_attribute_section = true; savedOpenLocation = GetLocation (yyVals[0+yyTop]); } -void case_52() -#line 682 "cs-parser.jay" +void case_53() +#line 690 "cs-parser.jay" { lexer.parsing_attribute_section = false; yyVal = yyVals[0+yyTop]; } -void case_53() -#line 690 "cs-parser.jay" +void case_54() +#line 698 "cs-parser.jay" { current_attr_target = (string) yyVals[-1+yyTop]; if (current_attr_target == "assembly" || current_attr_target == "module") { @@ -4330,8 +4344,8 @@ void case_53() } } -void case_54() -#line 697 "cs-parser.jay" +void case_55() +#line 705 "cs-parser.jay" { /* when attribute target is invalid*/ if (current_attr_target == string.Empty) @@ -4348,8 +4362,8 @@ void case_54() } } -void case_55() -#line 713 "cs-parser.jay" +void case_56() +#line 721 "cs-parser.jay" { yyVal = yyVals[-2+yyTop]; if (yyVals[-1+yyTop] != null) { @@ -4359,16 +4373,16 @@ void case_55() } } -void case_56() -#line 725 "cs-parser.jay" +void case_57() +#line 733 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = CheckAttributeTarget (lt.Value, lt.Location); savedCloseLocation = GetLocation (yyVals[0+yyTop]); } -void case_59() -#line 733 "cs-parser.jay" +void case_60() +#line 741 "cs-parser.jay" { if (yyToken == Token.IDENTIFIER) { Error_SyntaxError (yyToken); @@ -4379,8 +4393,8 @@ void case_59() } } -void case_61() -#line 750 "cs-parser.jay" +void case_62() +#line 758 "cs-parser.jay" { var attrs = (List) yyVals[-2+yyTop]; attrs.Add ((Attribute) yyVals[0+yyTop]); @@ -4389,8 +4403,8 @@ void case_61() yyVal = attrs; } -void case_63() -#line 765 "cs-parser.jay" +void case_64() +#line 773 "cs-parser.jay" { --lexer.parsing_block; @@ -4411,8 +4425,8 @@ void case_63() } } -void case_66() -#line 793 "cs-parser.jay" +void case_67() +#line 801 "cs-parser.jay" { savedAttrParenOpenLocation = GetLocation (yyVals[-2+yyTop]); savedAttrParenCloseLocation = GetLocation (yyVals[0+yyTop]); @@ -4420,24 +4434,24 @@ void case_66() HadAttributeParens = true; } -void case_68() -#line 805 "cs-parser.jay" +void case_69() +#line 813 "cs-parser.jay" { Arguments a = new Arguments (4); a.Add ((Argument) yyVals[0+yyTop]); yyVal = new Arguments [] { a, null }; } -void case_69() -#line 811 "cs-parser.jay" +void case_70() +#line 819 "cs-parser.jay" { Arguments a = new Arguments (4); a.Add ((Argument) yyVals[0+yyTop]); yyVal = new Arguments [] { null, a }; } -void case_70() -#line 817 "cs-parser.jay" +void case_71() +#line 825 "cs-parser.jay" { Arguments[] o = (Arguments[]) yyVals[-2+yyTop]; if (o [1] != null) { @@ -4453,8 +4467,8 @@ void case_70() attributeArgumentCommas.Add (GetLocation (yyVals[-1+yyTop])); } -void case_71() -#line 832 "cs-parser.jay" +void case_72() +#line 840 "cs-parser.jay" { Arguments[] o = (Arguments[]) yyVals[-2+yyTop]; if (o [1] == null) { @@ -4465,8 +4479,8 @@ void case_71() attributeArgumentCommas.Add (GetLocation (yyVals[-1+yyTop])); } -void case_75() -#line 857 "cs-parser.jay" +void case_76() +#line 865 "cs-parser.jay" { --lexer.parsing_block; var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; @@ -4474,8 +4488,8 @@ void case_75() lbag.AddLocation (yyVal, GetLocation(yyVals[-2+yyTop])); } -void case_76() -#line 867 "cs-parser.jay" +void case_77() +#line 875 "cs-parser.jay" { if (lang_version <= LanguageVersion.V_3) FeatureIsNotAvailable (GetLocation (yyVals[-3+yyTop]), "named argument"); @@ -4488,8 +4502,8 @@ void case_76() lbag.AddLocation (yyVal, GetLocation(yyVals[-2+yyTop])); } -void case_95() -#line 921 "cs-parser.jay" +void case_96() +#line 929 "cs-parser.jay" { report.Error (1519, lexer.Location, "Unexpected symbol `{0}' in class, struct, or interface member declaration", GetSymbolName (yyToken)); @@ -4497,15 +4511,15 @@ void case_95() lexer.parsing_generic_declaration = false; } -void case_97() -#line 938 "cs-parser.jay" +void case_98() +#line 946 "cs-parser.jay" { push_current_container (new Struct (current_container, (MemberName) yyVals[0+yyTop], (Modifiers) yyVals[-4+yyTop], (Attributes) yyVals[-5+yyTop]), yyVals[-3+yyTop]); lbag.AddMember (current_container, GetModifierLocations (), GetLocation (yyVals[-2+yyTop])); } -void case_98() -#line 944 "cs-parser.jay" +void case_99() +#line 952 "cs-parser.jay" { lexer.ConstraintsParsing = false; @@ -4519,23 +4533,23 @@ void case_98() lexer.parsing_modifiers = true; } -void case_99() -#line 957 "cs-parser.jay" +void case_100() +#line 965 "cs-parser.jay" { if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; } -void case_100() -#line 962 "cs-parser.jay" +void case_101() +#line 970 "cs-parser.jay" { --lexer.parsing_declaration; if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; } -void case_101() -#line 968 "cs-parser.jay" +void case_102() +#line 976 "cs-parser.jay" { if (yyVals[0+yyTop] == null) { lbag.AppendToMember (current_container, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-2+yyTop])); @@ -4545,8 +4559,8 @@ void case_101() yyVal = pop_current_class (); } -void case_103() -#line 986 "cs-parser.jay" +void case_104() +#line 994 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var mod = (Modifiers) yyVals[-3+yyTop]; @@ -4560,8 +4574,8 @@ void case_103() yyVal = current_field; } -void case_104() -#line 999 "cs-parser.jay" +void case_105() +#line 1007 "cs-parser.jay" { if (doc_support) { current_field.DocComment = Lexer.consume_doc_comment (); @@ -4573,31 +4587,31 @@ void case_104() current_field = null; } -void case_109() -#line 1029 "cs-parser.jay" +void case_110() +#line 1037 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), (ConstInitializer) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_111() -#line 1042 "cs-parser.jay" +void case_112() +#line 1050 "cs-parser.jay" { --lexer.parsing_block; yyVal = new ConstInitializer (current_field, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_112() -#line 1048 "cs-parser.jay" +void case_113() +#line 1056 "cs-parser.jay" { report.Error (145, lexer.Location, "A const field requires a value to be provided"); yyVal = null; } -void case_115() -#line 1063 "cs-parser.jay" +void case_116() +#line 1071 "cs-parser.jay" { lexer.parsing_generic_declaration = false; @@ -4611,8 +4625,8 @@ void case_115() yyVal = current_field; } -void case_116() -#line 1078 "cs-parser.jay" +void case_117() +#line 1086 "cs-parser.jay" { if (doc_support) { current_field.DocComment = Lexer.consume_doc_comment (); @@ -4624,8 +4638,8 @@ void case_116() current_field = null; } -void case_117() -#line 1091 "cs-parser.jay" +void case_118() +#line 1099 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "fixed size buffers"); @@ -4637,8 +4651,8 @@ void case_117() current_type.AddField (current_field); } -void case_118() -#line 1102 "cs-parser.jay" +void case_119() +#line 1110 "cs-parser.jay" { if (doc_support) { current_field.DocComment = Lexer.consume_doc_comment (); @@ -4651,16 +4665,16 @@ void case_118() current_field = null; } -void case_121() -#line 1125 "cs-parser.jay" +void case_122() +#line 1133 "cs-parser.jay" { ++lexer.parsing_block; current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters; start_block (GetLocation (yyVals[0+yyTop])); } -void case_122() -#line 1131 "cs-parser.jay" +void case_123() +#line 1139 "cs-parser.jay" { --lexer.parsing_block; current_field.Initializer = (Expression) yyVals[0+yyTop]; @@ -4669,16 +4683,16 @@ void case_122() current_local_parameters = null; } -void case_127() -#line 1158 "cs-parser.jay" +void case_128() +#line 1166 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), null); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_129() -#line 1168 "cs-parser.jay" +void case_130() +#line 1176 "cs-parser.jay" { --lexer.parsing_block; var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; @@ -4686,39 +4700,39 @@ void case_129() lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_134() -#line 1194 "cs-parser.jay" +void case_135() +#line 1202 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), (ConstInitializer) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_136() -#line 1207 "cs-parser.jay" +void case_137() +#line 1215 "cs-parser.jay" { --lexer.parsing_block; yyVal = new ConstInitializer (current_field, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_137() -#line 1213 "cs-parser.jay" +void case_138() +#line 1221 "cs-parser.jay" { report.Error (443, lexer.Location, "Value or constant expected"); yyVal = null; } -void case_140() -#line 1223 "cs-parser.jay" +void case_141() +#line 1231 "cs-parser.jay" { /* It has to be here for the parent to safely restore artificial block*/ Error_SyntaxError (yyToken); yyVal = null; } -void case_141() -#line 1232 "cs-parser.jay" +void case_142() +#line 1240 "cs-parser.jay" { if (doc_support) Lexer.doc_state = XmlCommentState.NotAllowed; @@ -4729,8 +4743,8 @@ void case_141() current_type.AddMember (m); } -void case_142() -#line 1242 "cs-parser.jay" +void case_143() +#line 1250 "cs-parser.jay" { Method method = (Method) yyVals[-2+yyTop]; method.Block = (ToplevelBlock) yyVals[0+yyTop]; @@ -4757,8 +4771,8 @@ void case_142() Lexer.doc_state = XmlCommentState.Allowed; } -void case_145() -#line 1282 "cs-parser.jay" +void case_146() +#line 1290 "cs-parser.jay" { lexer.ConstraintsParsing = false; valid_param_mod = 0; @@ -4778,15 +4792,15 @@ void case_145() yyVal = method; } -void case_147() -#line 1309 "cs-parser.jay" +void case_148() +#line 1317 "cs-parser.jay" { lexer.parsing_generic_declaration = false; valid_param_mod = ParameterModifierType.All; } -void case_149() -#line 1318 "cs-parser.jay" +void case_150() +#line 1326 "cs-parser.jay" { lexer.ConstraintsParsing = false; valid_param_mod = 0; @@ -4811,8 +4825,8 @@ void case_149() yyVal = method; } -void case_150() -#line 1345 "cs-parser.jay" +void case_151() +#line 1353 "cs-parser.jay" { MemberName name = (MemberName) yyVals[-3+yyTop]; report.Error (1585, name.Location, @@ -4829,8 +4843,8 @@ void case_150() yyVal = method; } -void case_151() -#line 1364 "cs-parser.jay" +void case_152() +#line 1372 "cs-parser.jay" { Error_SyntaxError (yyToken); current_local_parameters = ParametersCompiled.Undefined; @@ -4845,16 +4859,16 @@ void case_151() yyVal = method; } -void case_156() -#line 1391 "cs-parser.jay" +void case_157() +#line 1399 "cs-parser.jay" { var pars_list = (List) yyVals[0+yyTop]; yyVal = new ParametersCompiled (pars_list.ToArray ()); lbag.AddLocation (yyVal, parameterListCommas); } -void case_157() -#line 1397 "cs-parser.jay" +void case_158() +#line 1405 "cs-parser.jay" { var pars_list = (List) yyVals[-2+yyTop]; pars_list.Add ((Parameter) yyVals[0+yyTop]); @@ -4864,8 +4878,8 @@ void case_157() lbag.AddLocation (yyVal, parameterListCommas); } -void case_158() -#line 1406 "cs-parser.jay" +void case_159() +#line 1414 "cs-parser.jay" { var pars_list = (List) yyVals[-2+yyTop]; pars_list.Add (new ArglistParameter (GetLocation (yyVals[0+yyTop]))); @@ -4875,8 +4889,8 @@ void case_158() lbag.AddLocation (yyVal, parameterListCommas); } -void case_159() -#line 1415 "cs-parser.jay" +void case_160() +#line 1423 "cs-parser.jay" { if (yyVals[-2+yyTop] != null) report.Error (231, ((Parameter) yyVals[-2+yyTop]).Location, "A params parameter must be the last parameter in a formal parameter list"); @@ -4885,8 +4899,8 @@ void case_159() lbag.AddLocation (yyVal, parameterListCommas); } -void case_160() -#line 1423 "cs-parser.jay" +void case_161() +#line 1431 "cs-parser.jay" { if (yyVals[-2+yyTop] != null) report.Error (231, ((Parameter) yyVals[-2+yyTop]).Location, "A params parameter must be the last parameter in a formal parameter list"); @@ -4900,8 +4914,8 @@ void case_160() lbag.AddLocation (yyVal, parameterListCommas); } -void case_161() -#line 1436 "cs-parser.jay" +void case_162() +#line 1444 "cs-parser.jay" { report.Error (257, GetLocation (yyVals[-2+yyTop]), "An __arglist parameter must be the last parameter in a formal parameter list"); @@ -4909,8 +4923,8 @@ void case_161() lbag.AddLocation (yyVal, parameterListCommas); } -void case_162() -#line 1443 "cs-parser.jay" +void case_163() +#line 1451 "cs-parser.jay" { report.Error (257, GetLocation (yyVals[-2+yyTop]), "An __arglist parameter must be the last parameter in a formal parameter list"); @@ -4923,15 +4937,15 @@ void case_162() lbag.AddLocation (yyVal, parameterListCommas); } -void case_165() -#line 1463 "cs-parser.jay" +void case_166() +#line 1471 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = ParametersCompiled.EmptyReadOnlyParameters; } -void case_166() -#line 1471 "cs-parser.jay" +void case_167() +#line 1479 "cs-parser.jay" { parameters_bucket.Clear (); Parameter p = (Parameter) yyVals[0+yyTop]; @@ -4941,8 +4955,8 @@ void case_166() yyVal = parameters_bucket; } -void case_167() -#line 1480 "cs-parser.jay" +void case_168() +#line 1488 "cs-parser.jay" { var pars = (List) yyVals[-2+yyTop]; Parameter p = (Parameter) yyVals[0+yyTop]; @@ -4961,16 +4975,16 @@ void case_167() yyVal = yyVals[-2+yyTop]; } -void case_168() -#line 1504 "cs-parser.jay" +void case_169() +#line 1512 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Parameter.Modifier) yyVals[-2+yyTop], (Attributes) yyVals[-3+yyTop], lt.Location); lbag.AddLocation (yyVal, parameterModifierLocation); } -void case_169() -#line 1513 "cs-parser.jay" +void case_170() +#line 1521 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; report.Error (1552, lt.Location, "Array type specifier, [], must appear before parameter name"); @@ -4978,16 +4992,16 @@ void case_169() lbag.AddLocation (yyVal, parameterModifierLocation); } -void case_170() -#line 1520 "cs-parser.jay" +void case_171() +#line 1528 "cs-parser.jay" { Error_SyntaxError (yyToken); Location l = GetLocation (yyVals[0+yyTop]); yyVal = new Parameter (null, null, Parameter.Modifier.NONE, (Attributes) yyVals[-1+yyTop], l); } -void case_171() -#line 1529 "cs-parser.jay" +void case_172() +#line 1537 "cs-parser.jay" { Error_SyntaxError (yyToken); Location l = GetLocation (yyVals[0+yyTop]); @@ -4995,8 +5009,8 @@ void case_171() lbag.AddLocation (yyVal, parameterModifierLocation); } -void case_173() -#line 1544 "cs-parser.jay" +void case_174() +#line 1552 "cs-parser.jay" { --lexer.parsing_block; if (lang_version <= LanguageVersion.V_3) { @@ -5034,8 +5048,8 @@ void case_173() ((Parameter) yyVal).DefaultValue = new DefaultParameterValueExpression ((Expression) yyVals[0+yyTop]); } -void case_177() -#line 1593 "cs-parser.jay" +void case_178() +#line 1601 "cs-parser.jay" { Parameter.Modifier p2 = (Parameter.Modifier)yyVals[0+yyTop]; Parameter.Modifier mod = (Parameter.Modifier)yyVals[-1+yyTop] | p2; @@ -5057,8 +5071,8 @@ void case_177() yyVal = mod; } -void case_178() -#line 1617 "cs-parser.jay" +void case_179() +#line 1625 "cs-parser.jay" { if ((valid_param_mod & ParameterModifierType.Ref) == 0) Error_ParameterModifierNotValid ("ref", GetLocation (yyVals[0+yyTop])); @@ -5066,8 +5080,8 @@ void case_178() yyVal = Parameter.Modifier.REF; } -void case_179() -#line 1624 "cs-parser.jay" +void case_180() +#line 1632 "cs-parser.jay" { if ((valid_param_mod & ParameterModifierType.Out) == 0) Error_ParameterModifierNotValid ("out", GetLocation (yyVals[0+yyTop])); @@ -5075,8 +5089,8 @@ void case_179() yyVal = Parameter.Modifier.OUT; } -void case_180() -#line 1631 "cs-parser.jay" +void case_181() +#line 1639 "cs-parser.jay" { if ((valid_param_mod & ParameterModifierType.This) == 0) Error_ParameterModifierNotValid ("this", GetLocation (yyVals[0+yyTop])); @@ -5087,16 +5101,16 @@ void case_180() yyVal = Parameter.Modifier.This; } -void case_181() -#line 1644 "cs-parser.jay" +void case_182() +#line 1652 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new ParamsParameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Attributes) yyVals[-3+yyTop], lt.Location); lbag.AddLocation (yyVal, savedLocation); } -void case_182() -#line 1650 "cs-parser.jay" +void case_183() +#line 1658 "cs-parser.jay" { report.Error (1751, GetLocation (yyVals[-4+yyTop]), "Cannot specify a default value for a parameter array"); @@ -5105,24 +5119,24 @@ void case_182() lbag.AddLocation (yyVal, savedLocation); } -void case_183() -#line 1658 "cs-parser.jay" +void case_184() +#line 1666 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new ParamsParameter ((FullNamedExpression) yyVals[-1+yyTop], null, (Attributes) yyVals[-3+yyTop], Location.Null); } -void case_184() -#line 1667 "cs-parser.jay" +void case_185() +#line 1675 "cs-parser.jay" { if ((valid_param_mod & ParameterModifierType.Params) == 0) report.Error (1670, (GetLocation (yyVals[0+yyTop])), "The `params' modifier is not allowed in current context"); savedLocation = GetLocation (yyVals[0+yyTop]); } -void case_185() -#line 1673 "cs-parser.jay" +void case_186() +#line 1681 "cs-parser.jay" { Parameter.Modifier mod = (Parameter.Modifier)yyVals[0+yyTop]; if ((mod & Parameter.Modifier.This) != 0) { @@ -5133,22 +5147,22 @@ void case_185() savedLocation = GetLocation (yyVals[-1+yyTop]); } -void case_187() -#line 1690 "cs-parser.jay" +void case_188() +#line 1698 "cs-parser.jay" { if ((valid_param_mod & ParameterModifierType.Arglist) == 0) report.Error (1669, GetLocation (yyVals[0+yyTop]), "__arglist is not valid in this context"); } -void case_188() -#line 1701 "cs-parser.jay" +void case_189() +#line 1709 "cs-parser.jay" { if (doc_support) tmpComment = Lexer.consume_doc_comment (); } -void case_189() -#line 1706 "cs-parser.jay" +void case_190() +#line 1714 "cs-parser.jay" { var type = (FullNamedExpression) yyVals[-3+yyTop]; current_property = new Property (current_type, type, (Modifiers) yyVals[-4+yyTop], @@ -5163,8 +5177,8 @@ void case_189() lexer.PropertyParsing = true; } -void case_190() -#line 1720 "cs-parser.jay" +void case_191() +#line 1728 "cs-parser.jay" { lexer.PropertyParsing = false; @@ -5172,15 +5186,15 @@ void case_190() current_property.DocComment = ConsumeStoredComment (); } -void case_191() -#line 1727 "cs-parser.jay" +void case_192() +#line 1735 "cs-parser.jay" { lbag.AppendToMember (current_property, GetLocation (yyVals[0+yyTop])); current_property = null; } -void case_193() -#line 1741 "cs-parser.jay" +void case_194() +#line 1749 "cs-parser.jay" { valid_param_mod = 0; var type = (FullNamedExpression) yyVals[-5+yyTop]; @@ -5206,8 +5220,8 @@ void case_193() lexer.PropertyParsing = true; } -void case_195() -#line 1770 "cs-parser.jay" +void case_196() +#line 1778 "cs-parser.jay" { if (current_property.AccessorFirst != null && current_property.AccessorFirst.Block == null) ((Indexer) current_property).ParameterInfo.CheckParameters (current_property); @@ -5219,8 +5233,8 @@ void case_195() current_property = null; } -void case_200() -#line 1789 "cs-parser.jay" +void case_201() +#line 1797 "cs-parser.jay" { if (yyToken == Token.CLOSE_BRACE) { report.Error (548, lexer.Location, "`{0}': property or indexer must have at least one accessor", current_property.GetSignatureForError ()); @@ -5232,8 +5246,8 @@ void case_200() } } -void case_201() -#line 1803 "cs-parser.jay" +void case_202() +#line 1811 "cs-parser.jay" { if (yyVals[-1+yyTop] != ModifierNone && lang_version == LanguageVersion.ISO_1) { FeatureIsNotAvailable (GetLocation (yyVals[-1+yyTop]), "access modifiers on properties"); @@ -5255,8 +5269,8 @@ void case_201() lexer.PropertyParsing = false; } -void case_202() -#line 1824 "cs-parser.jay" +void case_203() +#line 1832 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { current_property.Get.Block = (ToplevelBlock) yyVals[0+yyTop]; @@ -5278,8 +5292,8 @@ void case_202() Lexer.doc_state = XmlCommentState.NotAllowed; } -void case_203() -#line 1848 "cs-parser.jay" +void case_204() +#line 1856 "cs-parser.jay" { if (yyVals[-1+yyTop] != ModifierNone && lang_version == LanguageVersion.ISO_1) { FeatureIsNotAvailable (GetLocation (yyVals[-1+yyTop]), "access modifiers on properties"); @@ -5306,8 +5320,8 @@ void case_203() lexer.PropertyParsing = false; } -void case_204() -#line 1874 "cs-parser.jay" +void case_205() +#line 1882 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { current_property.Set.Block = (ToplevelBlock) yyVals[0+yyTop]; @@ -5329,29 +5343,29 @@ void case_204() Lexer.doc_state = XmlCommentState.NotAllowed; } -void case_206() -#line 1899 "cs-parser.jay" +void case_207() +#line 1907 "cs-parser.jay" { savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; } -void case_207() -#line 1904 "cs-parser.jay" +void case_208() +#line 1912 "cs-parser.jay" { Error_SyntaxError (1043, yyToken, "Invalid accessor body"); yyVal = null; } -void case_209() -#line 1919 "cs-parser.jay" +void case_210() +#line 1927 "cs-parser.jay" { push_current_container (new Interface (current_container, (MemberName) yyVals[0+yyTop], (Modifiers) yyVals[-4+yyTop], (Attributes) yyVals[-5+yyTop]), yyVals[-3+yyTop]); lbag.AddMember (current_container, GetModifierLocations (), GetLocation (yyVals[-2+yyTop])); } -void case_210() -#line 1925 "cs-parser.jay" +void case_211() +#line 1933 "cs-parser.jay" { lexer.ConstraintsParsing = false; @@ -5366,16 +5380,16 @@ void case_210() lexer.parsing_modifiers = true; } -void case_211() -#line 1939 "cs-parser.jay" +void case_212() +#line 1947 "cs-parser.jay" { --lexer.parsing_declaration; if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; } -void case_212() -#line 1945 "cs-parser.jay" +void case_213() +#line 1953 "cs-parser.jay" { if (yyVals[0+yyTop] == null) { lbag.AppendToMember (current_container, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); @@ -5385,8 +5399,8 @@ void case_212() yyVal = pop_current_class (); } -void case_228() -#line 2007 "cs-parser.jay" +void case_229() +#line 2015 "cs-parser.jay" { OperatorDeclaration decl = (OperatorDeclaration) yyVals[-2+yyTop]; if (decl != null) { @@ -5415,15 +5429,15 @@ void case_228() current_local_parameters = null; } -void case_232() -#line 2044 "cs-parser.jay" +void case_233() +#line 2052 "cs-parser.jay" { report.Error (590, GetLocation (yyVals[0+yyTop]), "User-defined operators cannot return void"); yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } -void case_234() -#line 2056 "cs-parser.jay" +void case_235() +#line 2064 "cs-parser.jay" { valid_param_mod = 0; @@ -5464,8 +5478,8 @@ void case_234() lbag.AddLocation (yyVal, GetLocation (yyVals[-5+yyTop]), savedOperatorLocation, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_259() -#line 2132 "cs-parser.jay" +void case_260() +#line 2140 "cs-parser.jay" { valid_param_mod = 0; @@ -5481,8 +5495,8 @@ void case_259() lbag.AddLocation (yyVal, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_261() -#line 2151 "cs-parser.jay" +void case_262() +#line 2159 "cs-parser.jay" { valid_param_mod = 0; @@ -5498,24 +5512,24 @@ void case_261() lbag.AddLocation (yyVal, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_262() -#line 2166 "cs-parser.jay" +void case_263() +#line 2174 "cs-parser.jay" { Error_SyntaxError (yyToken); current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters; yyVal = new OperatorDeclaration (Operator.OpType.Implicit, null, GetLocation (yyVals[-1+yyTop])); } -void case_263() -#line 2172 "cs-parser.jay" +void case_264() +#line 2180 "cs-parser.jay" { Error_SyntaxError (yyToken); current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters; yyVal = new OperatorDeclaration (Operator.OpType.Explicit, null, GetLocation (yyVals[-1+yyTop])); } -void case_264() -#line 2182 "cs-parser.jay" +void case_265() +#line 2190 "cs-parser.jay" { Constructor c = (Constructor) yyVals[-1+yyTop]; c.Block = (ToplevelBlock) yyVals[0+yyTop]; @@ -5528,8 +5542,8 @@ void case_264() Lexer.doc_state = XmlCommentState.Allowed; } -void case_265() -#line 2199 "cs-parser.jay" +void case_266() +#line 2207 "cs-parser.jay" { if (doc_support) { tmpComment = Lexer.consume_doc_comment (); @@ -5539,8 +5553,8 @@ void case_265() valid_param_mod = ParameterModifierType.All; } -void case_266() -#line 2208 "cs-parser.jay" +void case_267() +#line 2216 "cs-parser.jay" { valid_param_mod = 0; current_local_parameters = (ParametersCompiled) yyVals[-1+yyTop]; @@ -5570,8 +5584,8 @@ void case_266() start_block (lexer.Location); } -void case_267() -#line 2237 "cs-parser.jay" +void case_268() +#line 2245 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { var c = (Constructor) yyVals[-1+yyTop]; @@ -5587,39 +5601,39 @@ void case_267() yyVal = yyVals[-1+yyTop]; } -void case_273() -#line 2269 "cs-parser.jay" +void case_274() +#line 2277 "cs-parser.jay" { --lexer.parsing_block; yyVal = new ConstructorBaseInitializer ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_275() -#line 2279 "cs-parser.jay" +void case_276() +#line 2287 "cs-parser.jay" { --lexer.parsing_block; yyVal = new ConstructorThisInitializer ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_276() -#line 2285 "cs-parser.jay" +void case_277() +#line 2293 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new ConstructorThisInitializer (null, GetLocation (yyVals[0+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_277() -#line 2291 "cs-parser.jay" +void case_278() +#line 2299 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = null; } -void case_278() -#line 2299 "cs-parser.jay" +void case_279() +#line 2307 "cs-parser.jay" { if (doc_support) { tmpComment = Lexer.consume_doc_comment (); @@ -5629,8 +5643,8 @@ void case_278() current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters; } -void case_279() -#line 2308 "cs-parser.jay" +void case_280() +#line 2316 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; if (lt.Value != current_container.MemberName.Name){ @@ -5652,8 +5666,8 @@ void case_279() current_local_parameters = null; } -void case_280() -#line 2334 "cs-parser.jay" +void case_281() +#line 2342 "cs-parser.jay" { current_event_field = new EventField (current_type, (FullNamedExpression) yyVals[-1+yyTop], (Modifiers) yyVals[-3+yyTop], (MemberName) yyVals[0+yyTop], (Attributes) yyVals[-4+yyTop]); current_type.AddMember (current_event_field); @@ -5666,8 +5680,8 @@ void case_280() yyVal = current_event_field; } -void case_281() -#line 2348 "cs-parser.jay" +void case_282() +#line 2356 "cs-parser.jay" { if (doc_support) { current_event_field.DocComment = Lexer.consume_doc_comment (); @@ -5678,8 +5692,8 @@ void case_281() current_event_field = null; } -void case_282() -#line 2361 "cs-parser.jay" +void case_283() +#line 2369 "cs-parser.jay" { current_event = new EventProperty (current_type, (FullNamedExpression) yyVals[-2+yyTop], (Modifiers) yyVals[-4+yyTop], (MemberName) yyVals[-1+yyTop], (Attributes) yyVals[-5+yyTop]); current_type.AddMember (current_event); @@ -5688,8 +5702,8 @@ void case_282() lexer.EventParsing = true; } -void case_283() -#line 2369 "cs-parser.jay" +void case_284() +#line 2377 "cs-parser.jay" { if (current_container.Kind == MemberKind.Interface) report.Error (69, GetLocation (yyVals[-2+yyTop]), "Event in interface cannot have add or remove accessors"); @@ -5697,8 +5711,8 @@ void case_283() lexer.EventParsing = false; } -void case_284() -#line 2376 "cs-parser.jay" +void case_285() +#line 2384 "cs-parser.jay" { if (doc_support) { current_event.DocComment = Lexer.consume_doc_comment (); @@ -5710,23 +5724,23 @@ void case_284() current_local_parameters = null; } -void case_287() -#line 2395 "cs-parser.jay" +void case_288() +#line 2403 "cs-parser.jay" { --lexer.parsing_block; current_event_field.Initializer = (Expression) yyVals[0+yyTop]; } -void case_292() -#line 2419 "cs-parser.jay" +void case_293() +#line 2427 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), null); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_294() -#line 2429 "cs-parser.jay" +void case_295() +#line 2437 "cs-parser.jay" { --lexer.parsing_block; var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; @@ -5734,8 +5748,8 @@ void case_294() lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_295() -#line 2438 "cs-parser.jay" +void case_296() +#line 2446 "cs-parser.jay" { if (current_container.Kind == MemberKind.Interface) { report.Error (68, lexer.Location, "`{0}': event in interface cannot have an initializer", @@ -5748,29 +5762,29 @@ void case_295() } } -void case_299() -#line 2459 "cs-parser.jay" +void case_300() +#line 2467 "cs-parser.jay" { report.Error (65, lexer.Location, "`{0}': event property must have both add and remove accessors", current_event.GetSignatureForError ()); } -void case_300() -#line 2464 "cs-parser.jay" +void case_301() +#line 2472 "cs-parser.jay" { report.Error (65, lexer.Location, "`{0}': event property must have both add and remove accessors", current_event.GetSignatureForError ()); } -void case_301() -#line 2469 "cs-parser.jay" +void case_302() +#line 2477 "cs-parser.jay" { report.Error (1055, GetLocation (yyVals[0+yyTop]), "An add or remove accessor expected"); yyVal = null; } -void case_302() -#line 2477 "cs-parser.jay" +void case_303() +#line 2485 "cs-parser.jay" { if (yyVals[-1+yyTop] != ModifierNone) { report.Error (1609, GetLocation (yyVals[-1+yyTop]), "Modifiers cannot be placed on event accessor declarations"); @@ -5783,8 +5797,8 @@ void case_302() lexer.EventParsing = false; } -void case_303() -#line 2489 "cs-parser.jay" +void case_304() +#line 2497 "cs-parser.jay" { lexer.EventParsing = true; @@ -5798,8 +5812,8 @@ void case_303() current_local_parameters = null; } -void case_304() -#line 2505 "cs-parser.jay" +void case_305() +#line 2513 "cs-parser.jay" { if (yyVals[-1+yyTop] != ModifierNone) { report.Error (1609, GetLocation (yyVals[-1+yyTop]), "Modifiers cannot be placed on event accessor declarations"); @@ -5812,8 +5826,8 @@ void case_304() lexer.EventParsing = false; } -void case_305() -#line 2517 "cs-parser.jay" +void case_306() +#line 2525 "cs-parser.jay" { lexer.EventParsing = true; @@ -5827,30 +5841,30 @@ void case_305() current_local_parameters = null; } -void case_306() -#line 2533 "cs-parser.jay" +void case_307() +#line 2541 "cs-parser.jay" { report.Error (73, lexer.Location, "An add or remove accessor must have a body"); yyVal = null; } -void case_308() -#line 2542 "cs-parser.jay" +void case_309() +#line 2550 "cs-parser.jay" { current_type.UnattachedAttributes = (Attributes) yyVals[-1+yyTop]; report.Error (1519, GetLocation (yyVals[-1+yyTop]), "An attribute is missing member declaration"); lexer.putback ('}'); } -void case_309() -#line 2555 "cs-parser.jay" +void case_310() +#line 2563 "cs-parser.jay" { if (doc_support) enumTypeComment = Lexer.consume_doc_comment (); } -void case_310() -#line 2560 "cs-parser.jay" +void case_311() +#line 2568 "cs-parser.jay" { if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; @@ -5868,16 +5882,16 @@ void case_310() } } -void case_311() -#line 2577 "cs-parser.jay" +void case_312() +#line 2585 "cs-parser.jay" { /* here will be evaluated after CLOSE_BLACE is consumed.*/ if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; } -void case_312() -#line 2583 "cs-parser.jay" +void case_313() +#line 2591 "cs-parser.jay" { lbag.AppendToMember (current_container, GetLocation (yyVals[-1+yyTop])); if (yyVals[0+yyTop] != null) { @@ -5894,29 +5908,29 @@ void case_312() yyVal = pop_current_class (); } -void case_314() -#line 2603 "cs-parser.jay" +void case_315() +#line 2611 "cs-parser.jay" { savedLocation = GetLocation (yyVals[-1+yyTop]); yyVal = yyVals[0+yyTop]; } -void case_315() -#line 2608 "cs-parser.jay" +void case_316() +#line 2616 "cs-parser.jay" { Error_TypeExpected (GetLocation (yyVals[-1+yyTop])); yyVal = null; } -void case_320() -#line 2626 "cs-parser.jay" +void case_321() +#line 2634 "cs-parser.jay" { lbag.AppendToMember (current_container, GetLocation (yyVals[-1+yyTop])); yyVal = yyVals[0+yyTop]; } -void case_321() -#line 2634 "cs-parser.jay" +void case_322() +#line 2642 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var em = new EnumMember ((Enum) current_type, new MemberName (lt.Value, lt.Location), (Attributes) yyVals[-1+yyTop]); @@ -5930,8 +5944,8 @@ void case_321() yyVal = em; } -void case_322() -#line 2647 "cs-parser.jay" +void case_323() +#line 2655 "cs-parser.jay" { ++lexer.parsing_block; if (doc_support) { @@ -5940,8 +5954,8 @@ void case_322() } } -void case_323() -#line 2655 "cs-parser.jay" +void case_324() +#line 2663 "cs-parser.jay" { --lexer.parsing_block; @@ -5956,8 +5970,8 @@ void case_323() yyVal = em; } -void case_324() -#line 2669 "cs-parser.jay" +void case_325() +#line 2677 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -5973,8 +5987,8 @@ void case_324() yyVal = em; } -void case_327() -#line 2696 "cs-parser.jay" +void case_328() +#line 2704 "cs-parser.jay" { valid_param_mod = 0; @@ -5990,8 +6004,8 @@ void case_327() lexer.ConstraintsParsing = true; } -void case_329() -#line 2715 "cs-parser.jay" +void case_330() +#line 2723 "cs-parser.jay" { if (doc_support) { current_delegate.DocComment = Lexer.consume_doc_comment (); @@ -6007,8 +6021,8 @@ void case_329() current_delegate = null; } -void case_331() -#line 2734 "cs-parser.jay" +void case_332() +#line 2742 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[0+yyTop]), "nullable types"); @@ -6016,8 +6030,8 @@ void case_331() yyVal = ComposedTypeSpecifier.CreateNullable (GetLocation (yyVals[0+yyTop])); } -void case_333() -#line 2745 "cs-parser.jay" +void case_334() +#line 2753 "cs-parser.jay" { var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var lt2 = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; @@ -6026,23 +6040,23 @@ void case_333() lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_335() -#line 2757 "cs-parser.jay" +void case_336() +#line 2765 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_336() -#line 2766 "cs-parser.jay" +void case_337() +#line 2774 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new SimpleName (lt.Value, (TypeArguments)yyVals[0+yyTop], lt.Location); } -void case_338() -#line 2778 "cs-parser.jay" +void case_339() +#line 2786 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "generics"); @@ -6054,15 +6068,15 @@ void case_338() yyVal = yyVals[-1+yyTop];; } -void case_339() -#line 2789 "cs-parser.jay" +void case_340() +#line 2797 "cs-parser.jay" { Error_TypeExpected (lexer.Location); yyVal = new TypeArguments (); } -void case_340() -#line 2797 "cs-parser.jay" +void case_341() +#line 2805 "cs-parser.jay" { TypeArguments type_args = new TypeArguments (); type_args.Add ((FullNamedExpression) yyVals[0+yyTop]); @@ -6070,8 +6084,8 @@ void case_340() locationListStack.Push (new List ()); } -void case_341() -#line 2804 "cs-parser.jay" +void case_342() +#line 2812 "cs-parser.jay" { TypeArguments type_args = (TypeArguments) yyVals[-2+yyTop]; type_args.Add ((FullNamedExpression) yyVals[0+yyTop]); @@ -6079,16 +6093,16 @@ void case_341() locationListStack.Peek ().Add (GetLocation (yyVals[-1+yyTop])); } -void case_343() -#line 2821 "cs-parser.jay" +void case_344() +#line 2829 "cs-parser.jay" { lexer.parsing_generic_declaration = false; var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; yyVal = new MemberName (lt.Value, (TypeParameters)yyVals[0+yyTop], lt.Location); } -void case_344() -#line 2830 "cs-parser.jay" +void case_345() +#line 2838 "cs-parser.jay" { MemberName mn = (MemberName)yyVals[0+yyTop]; if (mn.TypeParameters != null) @@ -6096,38 +6110,38 @@ void case_344() mn.GetSignatureForError ())); } -void case_346() -#line 2841 "cs-parser.jay" +void case_347() +#line 2849 "cs-parser.jay" { lexer.parsing_generic_declaration = false; var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberName (lt.Value, (TypeParameters) yyVals[0+yyTop], (ATypeNameExpression) yyVals[-2+yyTop], lt.Location); } -void case_347() -#line 2850 "cs-parser.jay" +void case_348() +#line 2858 "cs-parser.jay" { lexer.parsing_generic_declaration = false; yyVal = new MemberName (TypeDefinition.DefaultIndexerName, GetLocation (yyVals[0+yyTop])); } -void case_348() -#line 2855 "cs-parser.jay" +void case_349() +#line 2863 "cs-parser.jay" { lexer.parsing_generic_declaration = false; yyVal = new MemberName (TypeDefinition.DefaultIndexerName, null, (ATypeNameExpression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop])); } -void case_349() -#line 2863 "cs-parser.jay" +void case_350() +#line 2871 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; yyVal = new SimpleName (lt.Value, (TypeArguments) yyVals[-1+yyTop], lt.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_350() -#line 2869 "cs-parser.jay" +void case_351() +#line 2877 "cs-parser.jay" { var lt1 = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; var lt2 = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; @@ -6136,16 +6150,16 @@ void case_350() lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_351() -#line 2877 "cs-parser.jay" +void case_352() +#line 2885 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; yyVal = new MemberAccess ((ATypeNameExpression) yyVals[-3+yyTop], lt.Value, (TypeArguments) yyVals[-1+yyTop], lt.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_353() -#line 2887 "cs-parser.jay" +void case_354() +#line 2895 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "generics"); @@ -6157,8 +6171,8 @@ void case_353() lbag.AddLocation (yyVals[-1+yyTop], list); } -void case_354() -#line 2901 "cs-parser.jay" +void case_355() +#line 2909 "cs-parser.jay" { var tparams = new TypeParameters (); tparams.Add ((TypeParameter)yyVals[0+yyTop]); @@ -6166,8 +6180,8 @@ void case_354() locationListStack.Push (new List ()); } -void case_355() -#line 2908 "cs-parser.jay" +void case_356() +#line 2916 "cs-parser.jay" { var tparams = (TypeParameters) yyVals[-2+yyTop]; tparams.Add ((TypeParameter)yyVals[0+yyTop]); @@ -6175,15 +6189,15 @@ void case_355() locationListStack.Peek ().Add (GetLocation (yyVals[-1+yyTop])); } -void case_356() -#line 2918 "cs-parser.jay" +void case_357() +#line 2926 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken)yyVals[0+yyTop]; yyVal = new TypeParameter (new MemberName (lt.Value, lt.Location), (Attributes)yyVals[-2+yyTop], (Variance) yyVals[-1+yyTop]); } -void case_357() -#line 2923 "cs-parser.jay" +void case_358() +#line 2931 "cs-parser.jay" { if (GetTokenName (yyToken) == "type") report.Error (81, GetLocation (yyVals[0+yyTop]), "Type parameter declaration must be an identifier not a type"); @@ -6193,29 +6207,29 @@ void case_357() yyVal = new TypeParameter (MemberName.Null, null, Variance.None); } -void case_362() -#line 2957 "cs-parser.jay" +void case_363() +#line 2965 "cs-parser.jay" { Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report); yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } -void case_364() -#line 2966 "cs-parser.jay" +void case_365() +#line 2974 "cs-parser.jay" { Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report); yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } -void case_366() -#line 2975 "cs-parser.jay" +void case_367() +#line 2983 "cs-parser.jay" { report.Error (1536, GetLocation (yyVals[0+yyTop]), "Invalid parameter type `void'"); yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } -void case_369() -#line 2991 "cs-parser.jay" +void case_370() +#line 2999 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { yyVal = new ComposedCast ((ATypeNameExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); @@ -6228,23 +6242,23 @@ void case_369() } } -void case_371() -#line 3007 "cs-parser.jay" +void case_372() +#line 3015 "cs-parser.jay" { if (yyVals[0+yyTop] != null) yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } -void case_374() -#line 3023 "cs-parser.jay" +void case_375() +#line 3031 "cs-parser.jay" { var types = new List (2); types.Add ((FullNamedExpression) yyVals[0+yyTop]); yyVal = types; } -void case_375() -#line 3029 "cs-parser.jay" +void case_376() +#line 3037 "cs-parser.jay" { var types = (List) yyVals[-2+yyTop]; types.Add ((FullNamedExpression) yyVals[0+yyTop]); @@ -6252,8 +6266,8 @@ void case_375() yyVal = types; } -void case_376() -#line 3039 "cs-parser.jay" +void case_377() +#line 3047 "cs-parser.jay" { if (yyVals[0+yyTop] is ComposedCast) { report.Error (1521, GetLocation (yyVals[0+yyTop]), "Invalid base type `{0}'", ((ComposedCast)yyVals[0+yyTop]).GetSignatureForError ()); @@ -6261,29 +6275,29 @@ void case_376() yyVal = yyVals[0+yyTop]; } -void case_413() -#line 3103 "cs-parser.jay" +void case_414() +#line 3111 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new SimpleName (lt.Value, (TypeArguments)yyVals[0+yyTop], lt.Location); } -void case_414() -#line 3107 "cs-parser.jay" +void case_415() +#line 3115 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new CompletionSimpleName (MemberName.MakeName (lt.Value, null), lt.Location); } -void case_425() -#line 3148 "cs-parser.jay" +void case_426() +#line 3156 "cs-parser.jay" { yyVal = new ParenthesizedExpression ((Expression) yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_427() -#line 3160 "cs-parser.jay" +void case_428() +#line 3168 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location) { @@ -6291,8 +6305,8 @@ void case_427() }; } -void case_428() -#line 3167 "cs-parser.jay" +void case_429() +#line 3175 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location) { @@ -6300,8 +6314,8 @@ void case_428() }; } -void case_429() -#line 3174 "cs-parser.jay" +void case_430() +#line 3182 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberAccess (new BaseThis (GetLocation (yyVals[-3+yyTop])), lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location) { @@ -6309,8 +6323,8 @@ void case_429() }; } -void case_430() -#line 3181 "cs-parser.jay" +void case_431() +#line 3189 "cs-parser.jay" { var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var lt2 = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; @@ -6319,29 +6333,29 @@ void case_430() lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_432() -#line 3191 "cs-parser.jay" +void case_433() +#line 3199 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new CompletionMemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, lt.Location); } -void case_434() -#line 3199 "cs-parser.jay" +void case_435() +#line 3207 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new CompletionMemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, lt.Location); } -void case_435() -#line 3207 "cs-parser.jay" +void case_436() +#line 3215 "cs-parser.jay" { yyVal = new Invocation ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_436() -#line 3212 "cs-parser.jay" +void case_437() +#line 3220 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -6349,8 +6363,8 @@ void case_436() lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_439() -#line 3228 "cs-parser.jay" +void case_440() +#line 3236 "cs-parser.jay" { if (yyVals[-1+yyTop] == null) { yyVal = new CollectionOrObjectInitializers (new List (), GetLocation (yyVals[-2+yyTop])); @@ -6361,23 +6375,23 @@ void case_439() } } -void case_440() -#line 3238 "cs-parser.jay" +void case_441() +#line 3246 "cs-parser.jay" { yyVal = new CollectionOrObjectInitializers ((List) yyVals[-2+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_443() -#line 3254 "cs-parser.jay" +void case_444() +#line 3262 "cs-parser.jay" { var a = new List (); a.Add ((Expression) yyVals[0+yyTop]); yyVal = a; } -void case_444() -#line 3260 "cs-parser.jay" +void case_445() +#line 3268 "cs-parser.jay" { var a = (List)yyVals[-2+yyTop]; a.Add ((Expression) yyVals[0+yyTop]); @@ -6385,23 +6399,23 @@ void case_444() yyVal = a; } -void case_445() -#line 3266 "cs-parser.jay" +void case_446() +#line 3274 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = yyVals[-1+yyTop]; } -void case_446() -#line 3274 "cs-parser.jay" +void case_447() +#line 3282 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; yyVal = new ElementInitializer (lt.Value, (Expression)yyVals[0+yyTop], lt.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_448() -#line 3283 "cs-parser.jay" +void case_449() +#line 3291 "cs-parser.jay" { CompletionSimpleName csn = yyVals[-1+yyTop] as CompletionSimpleName; if (csn == null) @@ -6410,8 +6424,8 @@ void case_448() yyVal = new CompletionElementInitializer (csn.Prefix, csn.Location); } -void case_449() -#line 3291 "cs-parser.jay" +void case_450() +#line 3299 "cs-parser.jay" { if (yyVals[-1+yyTop] == null) yyVal = null; @@ -6421,24 +6435,24 @@ void case_449() } } -void case_450() -#line 3300 "cs-parser.jay" +void case_451() +#line 3308 "cs-parser.jay" { report.Error (1920, GetLocation (yyVals[-1+yyTop]), "An element initializer cannot be empty"); yyVal = new CollectionElementInitializer (new List (), GetLocation (yyVals[-1+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_455() -#line 3319 "cs-parser.jay" +void case_456() +#line 3327 "cs-parser.jay" { Arguments list = new Arguments (4); list.Add ((Argument) yyVals[0+yyTop]); yyVal = list; } -void case_456() -#line 3325 "cs-parser.jay" +void case_457() +#line 3333 "cs-parser.jay" { Arguments list = (Arguments) yyVals[-2+yyTop]; if (list [list.Count - 1] is NamedArgument) @@ -6449,8 +6463,8 @@ void case_456() yyVal = list; } -void case_457() -#line 3335 "cs-parser.jay" +void case_458() +#line 3343 "cs-parser.jay" { Arguments list = (Arguments) yyVals[-2+yyTop]; NamedArgument a = (NamedArgument) yyVals[0+yyTop]; @@ -6466,8 +6480,8 @@ void case_457() yyVal = list; } -void case_458() -#line 3350 "cs-parser.jay" +void case_459() +#line 3358 "cs-parser.jay" { if (lexer.putback_char == -1) lexer.putback (')'); /* TODO: Wrong but what can I do*/ @@ -6475,72 +6489,72 @@ void case_458() yyVal = yyVals[-2+yyTop]; } -void case_459() -#line 3357 "cs-parser.jay" +void case_460() +#line 3365 "cs-parser.jay" { report.Error (839, GetLocation (yyVals[-1+yyTop]), "An argument is missing"); yyVal = null; } -void case_464() -#line 3378 "cs-parser.jay" +void case_465() +#line 3386 "cs-parser.jay" { yyVal = new Argument ((Expression) yyVals[0+yyTop], Argument.AType.Ref); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_465() -#line 3383 "cs-parser.jay" +void case_466() +#line 3391 "cs-parser.jay" { yyVal = new Argument ((Expression) yyVals[0+yyTop], Argument.AType.Out); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_466() -#line 3388 "cs-parser.jay" +void case_467() +#line 3396 "cs-parser.jay" { yyVal = new Argument (new Arglist ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]))); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_467() -#line 3393 "cs-parser.jay" +void case_468() +#line 3401 "cs-parser.jay" { yyVal = new Argument (new Arglist (GetLocation (yyVals[-2+yyTop]))); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_469() -#line 3405 "cs-parser.jay" +void case_470() +#line 3413 "cs-parser.jay" { yyVal = new ElementAccess ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_470() -#line 3410 "cs-parser.jay" +void case_471() +#line 3418 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new ElementAccess ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); } -void case_471() -#line 3415 "cs-parser.jay" +void case_472() +#line 3423 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new ElementAccess ((Expression) yyVals[-2+yyTop], null, GetLocation (yyVals[-1+yyTop])); } -void case_472() -#line 3423 "cs-parser.jay" +void case_473() +#line 3431 "cs-parser.jay" { var list = new List (4); list.Add ((Expression) yyVals[0+yyTop]); yyVal = list; } -void case_473() -#line 3429 "cs-parser.jay" +void case_474() +#line 3437 "cs-parser.jay" { var list = (List) yyVals[-2+yyTop]; list.Add ((Expression) yyVals[0+yyTop]); @@ -6548,23 +6562,23 @@ void case_473() yyVal = list; } -void case_474() -#line 3435 "cs-parser.jay" +void case_475() +#line 3443 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = yyVals[-1+yyTop]; } -void case_475() -#line 3443 "cs-parser.jay" +void case_476() +#line 3451 "cs-parser.jay" { Arguments args = new Arguments (4); args.Add ((Argument) yyVals[0+yyTop]); yyVal = args; } -void case_476() -#line 3449 "cs-parser.jay" +void case_477() +#line 3457 "cs-parser.jay" { Arguments args = (Arguments) yyVals[-2+yyTop]; if (args [args.Count - 1] is NamedArgument && !(yyVals[0+yyTop] is NamedArgument)) @@ -6575,22 +6589,22 @@ void case_476() yyVal = args; } -void case_480() -#line 3477 "cs-parser.jay" +void case_481() +#line 3485 "cs-parser.jay" { yyVal = new ElementAccess (new BaseThis (GetLocation (yyVals[-3+yyTop])), (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_481() -#line 3482 "cs-parser.jay" +void case_482() +#line 3490 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new ElementAccess (null, null, GetLocation (yyVals[-1+yyTop])); } -void case_484() -#line 3504 "cs-parser.jay" +void case_485() +#line 3512 "cs-parser.jay" { if (yyVals[0+yyTop] != null) { if (lang_version <= LanguageVersion.ISO_2) @@ -6604,8 +6618,8 @@ void case_484() lbag.AddLocation (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_485() -#line 3517 "cs-parser.jay" +void case_486() +#line 3525 "cs-parser.jay" { if (lang_version <= LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "collection initializers"); @@ -6613,8 +6627,8 @@ void case_485() yyVal = new NewInitialize ((FullNamedExpression) yyVals[-1+yyTop], null, (CollectionOrObjectInitializers) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); } -void case_486() -#line 3529 "cs-parser.jay" +void case_487() +#line 3537 "cs-parser.jay" { yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-5+yyTop], (List) yyVals[-3+yyTop], new ComposedTypeSpecifier (((List) yyVals[-3+yyTop]).Count, GetLocation (yyVals[-4+yyTop])) { @@ -6623,8 +6637,8 @@ void case_486() lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_487() -#line 3537 "cs-parser.jay" +void case_488() +#line 3545 "cs-parser.jay" { if (yyVals[0+yyTop] == null) report.Error (1586, GetLocation (yyVals[-3+yyTop]), "Array creation must have array size or array initializer"); @@ -6632,8 +6646,8 @@ void case_487() yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-2+yyTop], (ComposedTypeSpecifier) yyVals[-1+yyTop], (ArrayInitializer) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop])); } -void case_488() -#line 3544 "cs-parser.jay" +void case_489() +#line 3552 "cs-parser.jay" { if (lang_version <= LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "implicitly typed arrays"); @@ -6641,30 +6655,30 @@ void case_488() yyVal = new ImplicitlyTypedArrayCreation ((ComposedTypeSpecifier) yyVals[-1+yyTop], (ArrayInitializer) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); } -void case_489() -#line 3551 "cs-parser.jay" +void case_490() +#line 3559 "cs-parser.jay" { report.Error (178, GetLocation (yyVals[-1+yyTop]), "Invalid rank specifier, expecting `,' or `]'"); yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-5+yyTop], null, GetLocation (yyVals[-6+yyTop])); } -void case_490() -#line 3556 "cs-parser.jay" +void case_491() +#line 3564 "cs-parser.jay" { Error_SyntaxError (yyToken); /* It can be any of new expression, create the most common one*/ yyVal = new New ((FullNamedExpression) yyVals[-1+yyTop], null, GetLocation (yyVals[-2+yyTop])); } -void case_492() -#line 3568 "cs-parser.jay" +void case_493() +#line 3576 "cs-parser.jay" { --lexer.parsing_type; yyVal = yyVals[0+yyTop]; } -void case_493() -#line 3576 "cs-parser.jay" +void case_494() +#line 3584 "cs-parser.jay" { if (lang_version <= LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-3+yyTop]), "anonymous types"); @@ -6675,16 +6689,16 @@ void case_493() lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_498() -#line 3599 "cs-parser.jay" +void case_499() +#line 3607 "cs-parser.jay" { var a = new List (4); a.Add ((AnonymousTypeParameter) yyVals[0+yyTop]); yyVal = a; } -void case_499() -#line 3605 "cs-parser.jay" +void case_500() +#line 3613 "cs-parser.jay" { var a = (List) yyVals[-2+yyTop]; a.Add ((AnonymousTypeParameter) yyVals[0+yyTop]); @@ -6693,60 +6707,60 @@ void case_499() yyVal = a; } -void case_500() -#line 3616 "cs-parser.jay" +void case_501() +#line 3624 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken)yyVals[-2+yyTop]; yyVal = new AnonymousTypeParameter ((Expression)yyVals[0+yyTop], lt.Value, lt.Location); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_501() -#line 3622 "cs-parser.jay" +void case_502() +#line 3630 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken)yyVals[0+yyTop]; yyVal = new AnonymousTypeParameter (new SimpleName (lt.Value, lt.Location), lt.Value, lt.Location); } -void case_502() -#line 3628 "cs-parser.jay" +void case_503() +#line 3636 "cs-parser.jay" { MemberAccess ma = (MemberAccess) yyVals[0+yyTop]; yyVal = new AnonymousTypeParameter (ma, ma.Name, ma.Location); } -void case_503() -#line 3633 "cs-parser.jay" +void case_504() +#line 3641 "cs-parser.jay" { report.Error (746, lexer.Location, "Invalid anonymous type member declarator. Anonymous type members must be a member assignment, simple name or member access expression"); yyVal = null; } -void case_507() -#line 3648 "cs-parser.jay" +void case_508() +#line 3656 "cs-parser.jay" { ((ComposedTypeSpecifier) yyVals[-1+yyTop]).Next = (ComposedTypeSpecifier) yyVals[0+yyTop]; yyVal = yyVals[-1+yyTop]; } -void case_508() -#line 3656 "cs-parser.jay" +void case_509() +#line 3664 "cs-parser.jay" { yyVal = ComposedTypeSpecifier.CreateArrayDimension (1, GetLocation (yyVals[-1+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_509() -#line 3661 "cs-parser.jay" +void case_510() +#line 3669 "cs-parser.jay" { yyVal = ComposedTypeSpecifier.CreateArrayDimension ((int)yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_514() -#line 3691 "cs-parser.jay" +void case_515() +#line 3699 "cs-parser.jay" { var ai = new ArrayInitializer (0, GetLocation (yyVals[-1+yyTop])); ai.VariableDeclaration = current_variable; @@ -6754,8 +6768,8 @@ void case_514() yyVal = ai; } -void case_515() -#line 3698 "cs-parser.jay" +void case_516() +#line 3706 "cs-parser.jay" { var ai = new ArrayInitializer ((List) yyVals[-2+yyTop], GetLocation (yyVals[-3+yyTop])); ai.VariableDeclaration = current_variable; @@ -6767,16 +6781,16 @@ void case_515() yyVal = ai; } -void case_516() -#line 3712 "cs-parser.jay" +void case_517() +#line 3720 "cs-parser.jay" { var list = new List (4); list.Add ((Expression) yyVals[0+yyTop]); yyVal = list; } -void case_517() -#line 3718 "cs-parser.jay" +void case_518() +#line 3726 "cs-parser.jay" { var list = (List) yyVals[-2+yyTop]; list.Add ((Expression) yyVals[0+yyTop]); @@ -6784,31 +6798,31 @@ void case_517() yyVal = list; } -void case_519() -#line 3732 "cs-parser.jay" +void case_520() +#line 3740 "cs-parser.jay" { lexer.TypeOfParsing = false; yyVal = new TypeOf ((FullNamedExpression) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_522() -#line 3743 "cs-parser.jay" +void case_523() +#line 3751 "cs-parser.jay" { Error_TypeExpected (lexer.Location); yyVal = null; } -void case_523() -#line 3751 "cs-parser.jay" +void case_524() +#line 3759 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new SimpleName (lt.Value, (int) yyVals[0+yyTop], lt.Location); } -void case_524() -#line 3757 "cs-parser.jay" +void case_525() +#line 3765 "cs-parser.jay" { var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var lt2 = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; @@ -6817,8 +6831,8 @@ void case_524() lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_525() -#line 3765 "cs-parser.jay" +void case_526() +#line 3773 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; @@ -6827,8 +6841,8 @@ void case_525() }; } -void case_526() -#line 3773 "cs-parser.jay" +void case_527() +#line 3781 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; @@ -6837,8 +6851,8 @@ void case_526() }; } -void case_527() -#line 3781 "cs-parser.jay" +void case_528() +#line 3789 "cs-parser.jay" { var tne = (ATypeNameExpression) yyVals[-3+yyTop]; if (tne.HasTypeArguments) @@ -6850,8 +6864,8 @@ void case_527() }; } -void case_528() -#line 3795 "cs-parser.jay" +void case_529() +#line 3803 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[0+yyTop]), "generics"); @@ -6859,8 +6873,8 @@ void case_528() yyVal = yyVals[0+yyTop]; } -void case_529() -#line 3805 "cs-parser.jay" +void case_530() +#line 3813 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; if (lang_version == LanguageVersion.ISO_1) @@ -6869,36 +6883,36 @@ void case_529() yyVal = lt; } -void case_530() -#line 3816 "cs-parser.jay" +void case_531() +#line 3824 "cs-parser.jay" { yyVal = new SizeOf ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_531() -#line 3824 "cs-parser.jay" +void case_532() +#line 3832 "cs-parser.jay" { yyVal = new CheckedExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_532() -#line 3832 "cs-parser.jay" +void case_533() +#line 3840 "cs-parser.jay" { yyVal = new UnCheckedExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_533() -#line 3840 "cs-parser.jay" +void case_534() +#line 3848 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new MemberAccess (new Indirection ((Expression) yyVals[-3+yyTop], GetLocation (yyVals[-2+yyTop])), lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location); } -void case_535() -#line 3852 "cs-parser.jay" +void case_536() +#line 3860 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); if ((ParametersCompiled) yyVals[-2+yyTop] != ParametersCompiled.Undefined) { @@ -6908,8 +6922,8 @@ void case_535() } } -void case_537() -#line 3865 "cs-parser.jay" +void case_538() +#line 3873 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); @@ -6920,8 +6934,8 @@ void case_537() } } -void case_541() -#line 3890 "cs-parser.jay" +void case_542() +#line 3898 "cs-parser.jay" { valid_param_mod = 0; yyVal = yyVals[-1+yyTop]; @@ -6929,8 +6943,8 @@ void case_541() savedCloseLocation = GetLocation (yyVals[-2+yyTop]); } -void case_542() -#line 3900 "cs-parser.jay" +void case_543() +#line 3908 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-3+yyTop]), "default value expression"); @@ -6939,15 +6953,15 @@ void case_542() lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_546() -#line 3920 "cs-parser.jay" +void case_547() +#line 3928 "cs-parser.jay" { yyVal = new Cast ((FullNamedExpression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_547() -#line 3925 "cs-parser.jay" +void case_548() +#line 3933 "cs-parser.jay" { if (!async_block) { if (current_anonymous_method is LambdaExpression) { @@ -6967,134 +6981,134 @@ void case_547() yyVal = new Await ((Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop])); } -void case_556() -#line 3980 "cs-parser.jay" +void case_557() +#line 3988 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Multiply, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_557() -#line 3985 "cs-parser.jay" +void case_558() +#line 3993 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Division, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_558() -#line 3990 "cs-parser.jay" +void case_559() +#line 3998 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Modulus, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_560() -#line 3999 "cs-parser.jay" +void case_561() +#line 4007 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Addition, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_561() -#line 4004 "cs-parser.jay" +void case_562() +#line 4012 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_565() -#line 4021 "cs-parser.jay" +void case_566() +#line 4029 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.LeftShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_566() -#line 4026 "cs-parser.jay" +void case_567() +#line 4034 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.RightShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_568() -#line 4035 "cs-parser.jay" +void case_569() +#line 4043 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.LessThan, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_569() -#line 4040 "cs-parser.jay" +void case_570() +#line 4048 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.GreaterThan, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_570() -#line 4045 "cs-parser.jay" +void case_571() +#line 4053 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.LessThanOrEqual, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_571() -#line 4050 "cs-parser.jay" +void case_572() +#line 4058 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.GreaterThanOrEqual, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_573() -#line 4059 "cs-parser.jay" +void case_574() +#line 4067 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Equality, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_574() -#line 4064 "cs-parser.jay" +void case_575() +#line 4072 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.Inequality, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_576() -#line 4073 "cs-parser.jay" +void case_577() +#line 4081 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.BitwiseAnd, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_578() -#line 4082 "cs-parser.jay" +void case_579() +#line 4090 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.ExclusiveOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_580() -#line 4091 "cs-parser.jay" +void case_581() +#line 4099 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.BitwiseOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_582() -#line 4100 "cs-parser.jay" +void case_583() +#line 4108 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.LogicalAnd, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_584() -#line 4109 "cs-parser.jay" +void case_585() +#line 4117 "cs-parser.jay" { yyVal = new Binary (Binary.Operator.LogicalOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_586() -#line 4118 "cs-parser.jay" +void case_587() +#line 4126 "cs-parser.jay" { if (lang_version < LanguageVersion.ISO_2) FeatureIsNotAvailable (GetLocation (yyVals[-1+yyTop]), "null coalescing operator"); @@ -7103,99 +7117,99 @@ void case_586() lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_588() -#line 4130 "cs-parser.jay" +void case_589() +#line 4138 "cs-parser.jay" { yyVal = new Conditional (new BooleanExpression ((Expression) yyVals[-4+yyTop]), (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_589() -#line 4135 "cs-parser.jay" +void case_590() +#line 4143 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Conditional (new BooleanExpression ((Expression) yyVals[-3+yyTop]), (Expression) yyVals[-1+yyTop], null, GetLocation (yyVals[-2+yyTop])); } -void case_590() -#line 4143 "cs-parser.jay" +void case_591() +#line 4151 "cs-parser.jay" { yyVal = new SimpleAssign ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_591() -#line 4148 "cs-parser.jay" +void case_592() +#line 4156 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.Multiply, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_592() -#line 4153 "cs-parser.jay" +void case_593() +#line 4161 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.Division, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_593() -#line 4158 "cs-parser.jay" +void case_594() +#line 4166 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.Modulus, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_594() -#line 4163 "cs-parser.jay" +void case_595() +#line 4171 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.Addition, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_595() -#line 4168 "cs-parser.jay" +void case_596() +#line 4176 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_596() -#line 4173 "cs-parser.jay" +void case_597() +#line 4181 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.LeftShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_597() -#line 4178 "cs-parser.jay" +void case_598() +#line 4186 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.RightShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_598() -#line 4183 "cs-parser.jay" +void case_599() +#line 4191 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.BitwiseAnd, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_599() -#line 4188 "cs-parser.jay" +void case_600() +#line 4196 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.BitwiseOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_600() -#line 4193 "cs-parser.jay" +void case_601() +#line 4201 "cs-parser.jay" { yyVal = new CompoundAssign (Binary.Operator.ExclusiveOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_601() -#line 4201 "cs-parser.jay" +void case_602() +#line 4209 "cs-parser.jay" { var pars = new List (4); pars.Add ((Parameter) yyVals[0+yyTop]); @@ -7203,8 +7217,8 @@ void case_601() yyVal = pars; } -void case_602() -#line 4208 "cs-parser.jay" +void case_603() +#line 4216 "cs-parser.jay" { var pars = (List) yyVals[-2+yyTop]; Parameter p = (Parameter)yyVals[0+yyTop]; @@ -7218,39 +7232,39 @@ void case_602() yyVal = pars; } -void case_603() -#line 4224 "cs-parser.jay" +void case_604() +#line 4232 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Parameter.Modifier) yyVals[-2+yyTop], null, lt.Location); } -void case_604() -#line 4230 "cs-parser.jay" +void case_605() +#line 4238 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, Parameter.Modifier.NONE, null, lt.Location); } -void case_605() -#line 4236 "cs-parser.jay" +void case_606() +#line 4244 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; yyVal = new ImplicitLambdaParameter (lt.Value, lt.Location); } -void case_607() -#line 4244 "cs-parser.jay" +void case_608() +#line 4252 "cs-parser.jay" { var pars_list = (List) yyVals[0+yyTop]; yyVal = new ParametersCompiled (pars_list.ToArray ()); lbag.AddLocation (yyVal, parameterListCommas); } -void case_611() -#line 4261 "cs-parser.jay" +void case_612() +#line 4269 "cs-parser.jay" { Block b = end_block (Location.Null); b.IsCompilerGenerated = true; @@ -7258,94 +7272,94 @@ void case_611() yyVal = b; } -void case_613() -#line 4272 "cs-parser.jay" +void case_614() +#line 4280 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = EmptyExpression.Null; } -void case_614() -#line 4280 "cs-parser.jay" +void case_615() +#line 4288 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; Parameter p = new ImplicitLambdaParameter (lt.Value, lt.Location); start_anonymous (true, new ParametersCompiled (p), false, lt.Location); } -void case_615() -#line 4286 "cs-parser.jay" +void case_616() +#line 4294 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_616() -#line 4291 "cs-parser.jay" +void case_617() +#line 4299 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; Parameter p = new ImplicitLambdaParameter (lt.Value, lt.Location); start_anonymous (true, new ParametersCompiled (p), true, lt.Location); } -void case_617() -#line 4297 "cs-parser.jay" +void case_618() +#line 4305 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_619() -#line 4306 "cs-parser.jay" +void case_620() +#line 4314 "cs-parser.jay" { valid_param_mod = 0; start_anonymous (true, (ParametersCompiled) yyVals[-2+yyTop], false, GetLocation (yyVals[-4+yyTop])); } -void case_620() -#line 4311 "cs-parser.jay" +void case_621() +#line 4319 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_622() -#line 4320 "cs-parser.jay" +void case_623() +#line 4328 "cs-parser.jay" { valid_param_mod = 0; start_anonymous (true, (ParametersCompiled) yyVals[-2+yyTop], true, GetLocation (yyVals[-5+yyTop])); } -void case_623() -#line 4325 "cs-parser.jay" +void case_624() +#line 4333 "cs-parser.jay" { yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[-7+yyTop]), GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_630() -#line 4348 "cs-parser.jay" +void case_631() +#line 4356 "cs-parser.jay" { yyVal = new RefValueExpr ((Expression) yyVals[-3+yyTop], (FullNamedExpression) yyVals[-1+yyTop], GetLocation (yyVals[-5+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_631() -#line 4353 "cs-parser.jay" +void case_632() +#line 4361 "cs-parser.jay" { yyVal = new RefTypeExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_632() -#line 4358 "cs-parser.jay" +void case_633() +#line 4366 "cs-parser.jay" { yyVal = new MakeRefExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_636() -#line 4387 "cs-parser.jay" +void case_637() +#line 4395 "cs-parser.jay" { Class c = new Class (current_container, (MemberName) yyVals[0+yyTop], (Modifiers) yyVals[-4+yyTop], (Attributes) yyVals[-5+yyTop]); if (((c.ModFlags & Modifiers.STATIC) != 0) && lang_version == LanguageVersion.ISO_1) { @@ -7356,8 +7370,8 @@ void case_636() lbag.AddMember (current_container, GetModifierLocations (), GetLocation (yyVals[-2+yyTop])); } -void case_637() -#line 4398 "cs-parser.jay" +void case_638() +#line 4406 "cs-parser.jay" { lexer.ConstraintsParsing = false; @@ -7372,16 +7386,16 @@ void case_637() lexer.parsing_modifiers = true; } -void case_638() -#line 4412 "cs-parser.jay" +void case_639() +#line 4420 "cs-parser.jay" { --lexer.parsing_declaration; if (doc_support) Lexer.doc_state = XmlCommentState.Allowed; } -void case_639() -#line 4418 "cs-parser.jay" +void case_640() +#line 4426 "cs-parser.jay" { if (yyVals[0+yyTop] == null) { lbag.AppendToMember (current_container, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop])); @@ -7391,16 +7405,16 @@ void case_639() yyVal = pop_current_class (); } -void case_642() -#line 4437 "cs-parser.jay" +void case_643() +#line 4445 "cs-parser.jay" { mod_locations = null; yyVal = ModifierNone; lexer.parsing_modifiers = false; } -void case_645() -#line 4451 "cs-parser.jay" +void case_646() +#line 4459 "cs-parser.jay" { var m1 = (Modifiers) yyVals[-1+yyTop]; var m2 = (Modifiers) yyVals[0+yyTop]; @@ -7417,8 +7431,8 @@ void case_645() yyVal = m1 | m2; } -void case_646() -#line 4470 "cs-parser.jay" +void case_647() +#line 4478 "cs-parser.jay" { yyVal = Modifiers.NEW; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); @@ -7427,92 +7441,92 @@ void case_646() report.Error (1530, GetLocation (yyVals[0+yyTop]), "Keyword `new' is not allowed on namespace elements"); } -void case_647() -#line 4478 "cs-parser.jay" +void case_648() +#line 4486 "cs-parser.jay" { yyVal = Modifiers.PUBLIC; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_648() -#line 4483 "cs-parser.jay" +void case_649() +#line 4491 "cs-parser.jay" { yyVal = Modifiers.PROTECTED; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_649() -#line 4488 "cs-parser.jay" +void case_650() +#line 4496 "cs-parser.jay" { yyVal = Modifiers.INTERNAL; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_650() -#line 4493 "cs-parser.jay" +void case_651() +#line 4501 "cs-parser.jay" { yyVal = Modifiers.PRIVATE; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_651() -#line 4498 "cs-parser.jay" +void case_652() +#line 4506 "cs-parser.jay" { yyVal = Modifiers.ABSTRACT; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_652() -#line 4503 "cs-parser.jay" +void case_653() +#line 4511 "cs-parser.jay" { yyVal = Modifiers.SEALED; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_653() -#line 4508 "cs-parser.jay" +void case_654() +#line 4516 "cs-parser.jay" { yyVal = Modifiers.STATIC; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_654() -#line 4513 "cs-parser.jay" +void case_655() +#line 4521 "cs-parser.jay" { yyVal = Modifiers.READONLY; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_655() -#line 4518 "cs-parser.jay" +void case_656() +#line 4526 "cs-parser.jay" { yyVal = Modifiers.VIRTUAL; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_656() -#line 4523 "cs-parser.jay" +void case_657() +#line 4531 "cs-parser.jay" { yyVal = Modifiers.OVERRIDE; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_657() -#line 4528 "cs-parser.jay" +void case_658() +#line 4536 "cs-parser.jay" { yyVal = Modifiers.EXTERN; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_658() -#line 4533 "cs-parser.jay" +void case_659() +#line 4541 "cs-parser.jay" { yyVal = Modifiers.VOLATILE; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_659() -#line 4538 "cs-parser.jay" +void case_660() +#line 4546 "cs-parser.jay" { yyVal = Modifiers.UNSAFE; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); @@ -7520,38 +7534,38 @@ void case_659() Error_UnsafeCodeNotAllowed (GetLocation (yyVals[0+yyTop])); } -void case_660() -#line 4545 "cs-parser.jay" +void case_661() +#line 4553 "cs-parser.jay" { yyVal = Modifiers.ASYNC; StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_662() -#line 4554 "cs-parser.jay" +void case_663() +#line 4562 "cs-parser.jay" { current_type.AddBasesForPart ((List) yyVals[0+yyTop]); lbag.AppendToMember (current_type, GetLocation (yyVals[-1+yyTop])); } -void case_663() -#line 4559 "cs-parser.jay" +void case_664() +#line 4567 "cs-parser.jay" { Error_SyntaxError (yyToken); current_type.AddBasesForPart ((List) yyVals[-1+yyTop]); } -void case_666() -#line 4576 "cs-parser.jay" +void case_667() +#line 4584 "cs-parser.jay" { var constraints = new List (1); constraints.Add ((Constraints) yyVals[0+yyTop]); yyVal = constraints; } -void case_667() -#line 4582 "cs-parser.jay" +void case_668() +#line 4590 "cs-parser.jay" { var constraints = (List) yyVals[-1+yyTop]; Constraints new_constraint = (Constraints)yyVals[0+yyTop]; @@ -7568,16 +7582,16 @@ void case_667() yyVal = constraints; } -void case_668() -#line 4601 "cs-parser.jay" +void case_669() +#line 4609 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; yyVal = new Constraints (new SimpleMemberName (lt.Value, lt.Location), (List) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_669() -#line 4607 "cs-parser.jay" +void case_670() +#line 4615 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -7585,16 +7599,16 @@ void case_669() yyVal = new Constraints (new SimpleMemberName (lt.Value, lt.Location), null, GetLocation (yyVals[-2+yyTop])); } -void case_670() -#line 4617 "cs-parser.jay" +void case_671() +#line 4625 "cs-parser.jay" { var constraints = new List (1); constraints.Add ((FullNamedExpression) yyVals[0+yyTop]); yyVal = constraints; } -void case_671() -#line 4623 "cs-parser.jay" +void case_672() +#line 4631 "cs-parser.jay" { var constraints = (List) yyVals[-2+yyTop]; var prev = constraints [constraints.Count - 1] as SpecialContraintExpr; @@ -7619,8 +7633,8 @@ void case_671() yyVal = constraints; } -void case_672() -#line 4650 "cs-parser.jay" +void case_673() +#line 4658 "cs-parser.jay" { if (yyVals[0+yyTop] is ComposedCast) report.Error (706, GetLocation (yyVals[0+yyTop]), "Invalid constraint type `{0}'", ((ComposedCast)yyVals[0+yyTop]).GetSignatureForError ()); @@ -7628,15 +7642,15 @@ void case_672() yyVal = yyVals[0+yyTop]; } -void case_673() -#line 4657 "cs-parser.jay" +void case_674() +#line 4665 "cs-parser.jay" { yyVal = new SpecialContraintExpr (SpecialConstraint.Constructor, GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_677() -#line 4677 "cs-parser.jay" +void case_678() +#line 4685 "cs-parser.jay" { if (lang_version <= LanguageVersion.V_3) FeatureIsNotAvailable (lexer.Location, "generic type variance"); @@ -7644,65 +7658,65 @@ void case_677() yyVal = yyVals[0+yyTop]; } -void case_678() -#line 4687 "cs-parser.jay" +void case_679() +#line 4695 "cs-parser.jay" { yyVal = Variance.Covariant; savedLocation = GetLocation (yyVals[0+yyTop]); } -void case_679() -#line 4692 "cs-parser.jay" +void case_680() +#line 4700 "cs-parser.jay" { yyVal = Variance.Contravariant; savedLocation = GetLocation (yyVals[0+yyTop]); } -void case_680() -#line 4713 "cs-parser.jay" +void case_681() +#line 4721 "cs-parser.jay" { ++lexer.parsing_block; start_block (GetLocation (yyVals[0+yyTop])); } -void case_682() -#line 4725 "cs-parser.jay" +void case_683() +#line 4733 "cs-parser.jay" { --lexer.parsing_block; yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_683() -#line 4730 "cs-parser.jay" +void case_684() +#line 4738 "cs-parser.jay" { --lexer.parsing_block; yyVal = end_block (lexer.Location); } -void case_684() -#line 4739 "cs-parser.jay" +void case_685() +#line 4747 "cs-parser.jay" { ++lexer.parsing_block; current_block.StartLocation = GetLocation (yyVals[0+yyTop]); } -void case_685() -#line 4744 "cs-parser.jay" +void case_686() +#line 4752 "cs-parser.jay" { --lexer.parsing_block; yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_686() -#line 4748 "cs-parser.jay" +void case_687() +#line 4756 "cs-parser.jay" { report.Error (1525, GetLocation (yyVals[0+yyTop]), "Unexpected symbol '}', expected '{'"); lexer.putback ('}'); yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_694() -#line 4777 "cs-parser.jay" +void case_695() +#line 4785 "cs-parser.jay" { Error_SyntaxError (yyToken); var lt =(Tokenizer.LocatedToken) yyVals[-1+yyTop]; @@ -7711,43 +7725,43 @@ void case_694() yyVal = null; } -void case_695() -#line 4786 "cs-parser.jay" +void case_696() +#line 4794 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = null; } -void case_728() -#line 4850 "cs-parser.jay" +void case_729() +#line 4858 "cs-parser.jay" { report.Error (1023, GetLocation (yyVals[0+yyTop]), "An embedded statement may not be a declaration or labeled statement"); yyVal = null; } -void case_729() -#line 4855 "cs-parser.jay" +void case_730() +#line 4863 "cs-parser.jay" { report.Error (1023, GetLocation (yyVals[0+yyTop]), "An embedded statement may not be a declaration or labeled statement"); yyVal = null; } -void case_730() -#line 4860 "cs-parser.jay" +void case_731() +#line 4868 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new EmptyStatement (GetLocation (yyVals[0+yyTop])); } -void case_731() -#line 4868 "cs-parser.jay" +void case_732() +#line 4876 "cs-parser.jay" { /* Uses lexer.Location because semicolon location is not kept in quick mode*/ yyVal = new EmptyStatement (lexer.Location); } -void case_732() -#line 4876 "cs-parser.jay" +void case_733() +#line 4884 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; LabeledStatement labeled = new LabeledStatement (lt.Value, current_block, lt.Location); @@ -7756,8 +7770,8 @@ void case_732() current_block.AddStatement (labeled); } -void case_735() -#line 4889 "cs-parser.jay" +void case_736() +#line 4897 "cs-parser.jay" { if (yyVals[-1+yyTop] is VarExpr) yyVals[-1+yyTop] = new SimpleName ("var", ((VarExpr) yyVals[-1+yyTop]).Location); @@ -7765,8 +7779,8 @@ void case_735() yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } -void case_736() -#line 4905 "cs-parser.jay" +void case_737() +#line 4913 "cs-parser.jay" { /* Ok, the above "primary_expression" is there to get rid of*/ /* both reduce/reduce and shift/reduces in the grammar, it should*/ @@ -7797,8 +7811,8 @@ void case_736() } } -void case_737() -#line 4935 "cs-parser.jay" +void case_738() +#line 4943 "cs-parser.jay" { ATypeNameExpression expr = yyVals[-1+yyTop] as ATypeNameExpression; @@ -7810,8 +7824,8 @@ void case_737() } } -void case_738() -#line 4946 "cs-parser.jay" +void case_739() +#line 4954 "cs-parser.jay" { if (yyVals[0+yyTop] == null) yyVal = yyVals[-1+yyTop]; @@ -7819,22 +7833,22 @@ void case_738() yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]); } -void case_741() -#line 4961 "cs-parser.jay" +void case_742() +#line 4969 "cs-parser.jay" { Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report); yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop])); } -void case_743() -#line 4970 "cs-parser.jay" +void case_744() +#line 4978 "cs-parser.jay" { ((ComposedTypeSpecifier) yyVals[-1+yyTop]).Next = (ComposedTypeSpecifier) yyVals[0+yyTop]; yyVal = yyVals[-1+yyTop]; } -void case_746() -#line 4986 "cs-parser.jay" +void case_747() +#line 4994 "cs-parser.jay" { if (async_block) { report.Error (4003, GetLocation (yyVals[0+yyTop]), "`await' cannot be used as an identifier within an async method or lambda expression"); @@ -7842,8 +7856,8 @@ void case_746() } } -void case_747() -#line 4996 "cs-parser.jay" +void case_748() +#line 5004 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var li = new LocalVariable (current_block, lt.Value, lt.Location); @@ -7851,16 +7865,16 @@ void case_747() current_variable = new BlockVariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li); } -void case_748() -#line 5003 "cs-parser.jay" +void case_749() +#line 5011 "cs-parser.jay" { yyVal = current_variable; current_variable = null; lbag.AppendTo (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_749() -#line 5009 "cs-parser.jay" +void case_750() +#line 5017 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var li = new LocalVariable (current_block, lt.Value, LocalVariable.Flags.Constant, lt.Location); @@ -7868,8 +7882,8 @@ void case_749() current_variable = new BlockConstantDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li); } -void case_750() -#line 5016 "cs-parser.jay" +void case_751() +#line 5024 "cs-parser.jay" { if (current_variable.Initializer != null) { lbag.AddLocation (current_variable, GetLocation (yyVals[-6+yyTop]), savedLocation, GetLocation (yyVals[0+yyTop])); @@ -7880,8 +7894,8 @@ void case_750() current_variable = null; } -void case_752() -#line 5029 "cs-parser.jay" +void case_753() +#line 5037 "cs-parser.jay" { /* Redundant, but wont regress*/ report.Error (1525, lexer.Location, "Unexpected symbol }"); @@ -7889,15 +7903,15 @@ void case_752() yyVal = yyVals[0+yyTop]; } -void case_754() -#line 5040 "cs-parser.jay" +void case_755() +#line 5048 "cs-parser.jay" { current_variable.Initializer = (Expression) yyVals[0+yyTop]; lbag.AppendTo (current_variable, GetLocation (yyVals[-1+yyTop])); } -void case_755() -#line 5045 "cs-parser.jay" +void case_756() +#line 5053 "cs-parser.jay" { if (yyToken == Token.OPEN_BRACKET_EXPR) { report.Error (650, lexer.Location, @@ -7912,8 +7926,8 @@ void case_755() lbag.AppendTo (current_variable, GetLocation (yyVals[-1+yyTop])); } -void case_756() -#line 5059 "cs-parser.jay" +void case_757() +#line 5067 "cs-parser.jay" { if (yyToken == Token.OPEN_BRACKET_EXPR) { report.Error (650, lexer.Location, @@ -7923,8 +7937,8 @@ void case_756() } } -void case_760() -#line 5077 "cs-parser.jay" +void case_761() +#line 5085 "cs-parser.jay" { foreach (var d in current_variable.Declarators) { if (d.Initializer == null) @@ -7932,8 +7946,8 @@ void case_760() } } -void case_763() -#line 5092 "cs-parser.jay" +void case_764() +#line 5100 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var li = new LocalVariable (current_variable.Variable, lt.Value, lt.Location); @@ -7943,8 +7957,8 @@ void case_763() lbag.AddLocation (d, GetLocation (yyVals[-1+yyTop])); } -void case_764() -#line 5101 "cs-parser.jay" +void case_765() +#line 5109 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var li = new LocalVariable (current_variable.Variable, lt.Value, lt.Location); @@ -7954,15 +7968,15 @@ void case_764() lbag.AddLocation (d, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_766() -#line 5117 "cs-parser.jay" +void case_767() +#line 5125 "cs-parser.jay" { savedLocation = GetLocation (yyVals[-1+yyTop]); current_variable.Initializer = (Expression) yyVals[0+yyTop]; } -void case_771() -#line 5135 "cs-parser.jay" +void case_772() +#line 5143 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; var li = new LocalVariable (current_block, lt.Value, LocalVariable.Flags.Constant, lt.Location); @@ -7972,37 +7986,37 @@ void case_771() lbag.AddLocation (d, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_773() -#line 5148 "cs-parser.jay" +void case_774() +#line 5156 "cs-parser.jay" { yyVal = new StackAlloc ((Expression) yyVals[-3+yyTop], (Expression) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_774() -#line 5153 "cs-parser.jay" +void case_775() +#line 5161 "cs-parser.jay" { report.Error (1575, GetLocation (yyVals[-1+yyTop]), "A stackalloc expression requires [] after type"); yyVal = new StackAlloc ((Expression) yyVals[0+yyTop], null, GetLocation (yyVals[-1+yyTop])); } -void case_775() -#line 5161 "cs-parser.jay" +void case_776() +#line 5169 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_777() -#line 5167 "cs-parser.jay" +void case_778() +#line 5175 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; report.Error (1002, GetLocation (yyVals[0+yyTop]), "; expected"); lexer.putback ('}'); } -void case_780() -#line 5185 "cs-parser.jay" +void case_781() +#line 5193 "cs-parser.jay" { ExpressionStatement s = yyVals[0+yyTop] as ExpressionStatement; if (s == null) { @@ -8013,8 +8027,8 @@ void case_780() } } -void case_781() -#line 5198 "cs-parser.jay" +void case_782() +#line 5206 "cs-parser.jay" { Expression expr = (Expression) yyVals[0+yyTop]; ExpressionStatement s; @@ -8023,15 +8037,15 @@ void case_781() yyVal = new StatementExpression (s); } -void case_782() -#line 5206 "cs-parser.jay" +void case_783() +#line 5214 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new EmptyStatement (GetLocation (yyVals[0+yyTop])); } -void case_785() -#line 5220 "cs-parser.jay" +void case_786() +#line 5228 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8040,8 +8054,8 @@ void case_785() lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_786() -#line 5229 "cs-parser.jay" +void case_787() +#line 5237 "cs-parser.jay" { yyVal = new If ((BooleanExpression) yyVals[-4+yyTop], (Statement) yyVals[-2+yyTop], (Statement) yyVals[0+yyTop], GetLocation (yyVals[-6+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); @@ -8052,8 +8066,8 @@ void case_786() Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); } -void case_787() -#line 5239 "cs-parser.jay" +void case_788() +#line 5247 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8061,16 +8075,16 @@ void case_787() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_789() -#line 5253 "cs-parser.jay" +void case_790() +#line 5261 "cs-parser.jay" { yyVal = new Switch ((Expression) yyVals[-5+yyTop], (ExplicitBlock) current_block.Explicit, (List) yyVals[-1+yyTop], GetLocation (yyVals[-7+yyTop])); end_block (GetLocation (yyVals[0+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_790() -#line 5259 "cs-parser.jay" +void case_791() +#line 5267 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8078,15 +8092,15 @@ void case_790() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_791() -#line 5269 "cs-parser.jay" +void case_792() +#line 5277 "cs-parser.jay" { report.Warning (1522, 1, current_block.StartLocation, "Empty switch block"); yyVal = new List (); } -void case_793() -#line 5278 "cs-parser.jay" +void case_794() +#line 5286 "cs-parser.jay" { var sections = new List (4); @@ -8094,8 +8108,8 @@ void case_793() yyVal = sections; } -void case_794() -#line 5285 "cs-parser.jay" +void case_795() +#line 5293 "cs-parser.jay" { var sections = (List) yyVals[-1+yyTop]; @@ -8103,15 +8117,15 @@ void case_794() yyVal = sections; } -void case_795() -#line 5292 "cs-parser.jay" +void case_796() +#line 5300 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new List (); } -void case_798() -#line 5311 "cs-parser.jay" +void case_799() +#line 5319 "cs-parser.jay" { var labels = new List (2); @@ -8119,8 +8133,8 @@ void case_798() yyVal = labels; } -void case_799() -#line 5318 "cs-parser.jay" +void case_800() +#line 5326 "cs-parser.jay" { var labels = (List) (yyVals[-1+yyTop]); labels.Add ((SwitchLabel) yyVals[0+yyTop]); @@ -8128,22 +8142,22 @@ void case_799() yyVal = labels; } -void case_800() -#line 5328 "cs-parser.jay" +void case_801() +#line 5336 "cs-parser.jay" { yyVal = new SwitchLabel ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_801() -#line 5333 "cs-parser.jay" +void case_802() +#line 5341 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new SwitchLabel ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); } -void case_807() -#line 5352 "cs-parser.jay" +void case_808() +#line 5360 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8152,8 +8166,8 @@ void case_807() lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_808() -#line 5360 "cs-parser.jay" +void case_809() +#line 5368 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8161,22 +8175,22 @@ void case_808() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_809() -#line 5370 "cs-parser.jay" +void case_810() +#line 5378 "cs-parser.jay" { yyVal = new Do ((Statement) yyVals[-5+yyTop], (BooleanExpression) yyVals[-2+yyTop], GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-4+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_810() -#line 5375 "cs-parser.jay" +void case_811() +#line 5383 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Do ((Statement) yyVals[-1+yyTop], null, GetLocation (yyVals[-2+yyTop]), Location.Null); } -void case_811() -#line 5380 "cs-parser.jay" +void case_812() +#line 5388 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8184,8 +8198,8 @@ void case_811() lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-2+yyTop])); } -void case_812() -#line 5390 "cs-parser.jay" +void case_813() +#line 5398 "cs-parser.jay" { start_block (GetLocation (yyVals[0+yyTop])); current_block.IsCompilerGenerated = true; @@ -8195,8 +8209,8 @@ void case_812() yyVal = f; } -void case_814() -#line 5407 "cs-parser.jay" +void case_815() +#line 5415 "cs-parser.jay" { For f = (For) yyVals[-2+yyTop]; f.Initializer = (Statement) yyVals[-1+yyTop]; @@ -8204,8 +8218,8 @@ void case_814() yyVal = f; } -void case_816() -#line 5417 "cs-parser.jay" +void case_817() +#line 5425 "cs-parser.jay" { report.Error (1525, GetLocation (yyVals[0+yyTop]), "Unexpected symbol ')', expected ';'"); For f = (For) yyVals[-2+yyTop]; @@ -8214,8 +8228,8 @@ void case_816() yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_817() -#line 5428 "cs-parser.jay" +void case_818() +#line 5436 "cs-parser.jay" { For f = (For) yyVals[-2+yyTop]; f.Condition = (BooleanExpression) yyVals[-1+yyTop]; @@ -8223,8 +8237,8 @@ void case_817() yyVal = f; } -void case_819() -#line 5439 "cs-parser.jay" +void case_820() +#line 5447 "cs-parser.jay" { report.Error (1525, GetLocation (yyVals[0+yyTop]), "Unexpected symbol ')', expected ';'"); For f = (For) yyVals[-2+yyTop]; @@ -8233,8 +8247,8 @@ void case_819() yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_820() -#line 5451 "cs-parser.jay" +void case_821() +#line 5459 "cs-parser.jay" { For f = (For) yyVals[-3+yyTop]; f.Iterator = (Statement) yyVals[-2+yyTop]; @@ -8248,15 +8262,15 @@ void case_820() yyVal = end_block (GetLocation (yyVals[-1+yyTop])); } -void case_821() -#line 5464 "cs-parser.jay" +void case_822() +#line 5472 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = end_block (current_block.StartLocation); } -void case_824() -#line 5477 "cs-parser.jay" +void case_825() +#line 5485 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop]; var li = new LocalVariable (current_block, lt.Value, lt.Location); @@ -8264,15 +8278,15 @@ void case_824() current_variable = new BlockVariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li); } -void case_825() -#line 5484 "cs-parser.jay" +void case_826() +#line 5492 "cs-parser.jay" { yyVal = current_variable; current_variable = null; } -void case_833() -#line 5508 "cs-parser.jay" +void case_834() +#line 5516 "cs-parser.jay" { var sl = yyVals[-2+yyTop] as StatementList; if (sl == null) { @@ -8287,8 +8301,8 @@ void case_833() yyVal = sl; } -void case_834() -#line 5525 "cs-parser.jay" +void case_835() +#line 5533 "cs-parser.jay" { report.Error (230, GetLocation (yyVals[-3+yyTop]), "Type and identifier are both required in a foreach statement"); @@ -8302,8 +8316,8 @@ void case_834() yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_835() -#line 5538 "cs-parser.jay" +void case_836() +#line 5546 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8321,8 +8335,8 @@ void case_835() yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_836() -#line 5555 "cs-parser.jay" +void case_837() +#line 5563 "cs-parser.jay" { start_block (GetLocation (yyVals[-5+yyTop])); current_block.IsCompilerGenerated = true; @@ -8332,8 +8346,8 @@ void case_836() yyVal = li; } -void case_837() -#line 5564 "cs-parser.jay" +void case_838() +#line 5572 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8345,8 +8359,8 @@ void case_837() yyVal = f; } -void case_838() -#line 5575 "cs-parser.jay" +void case_839() +#line 5583 "cs-parser.jay" { start_block (GetLocation (yyVals[-3+yyTop])); current_block.IsCompilerGenerated = true; @@ -8360,8 +8374,8 @@ void case_838() yyVal = end_block (GetLocation (yyVals[0+yyTop])); } -void case_839() -#line 5588 "cs-parser.jay" +void case_840() +#line 5596 "cs-parser.jay" { Foreach f = new Foreach ((Expression) yyVals[-1+yyTop], null, null, null, null, GetLocation (yyVals[-3+yyTop])); current_block.AddStatement (f); @@ -8370,86 +8384,86 @@ void case_839() yyVal = f; } -void case_846() -#line 5608 "cs-parser.jay" +void case_847() +#line 5616 "cs-parser.jay" { yyVal = new Break (GetLocation (yyVals[-1+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_847() -#line 5616 "cs-parser.jay" +void case_848() +#line 5624 "cs-parser.jay" { yyVal = new Continue (GetLocation (yyVals[-1+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_848() -#line 5621 "cs-parser.jay" +void case_849() +#line 5629 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Continue (GetLocation (yyVals[-1+yyTop])); } -void case_849() -#line 5629 "cs-parser.jay" +void case_850() +#line 5637 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop]; yyVal = new Goto (lt.Value, GetLocation (yyVals[-2+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_850() -#line 5635 "cs-parser.jay" +void case_851() +#line 5643 "cs-parser.jay" { yyVal = new GotoCase ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_851() -#line 5640 "cs-parser.jay" +void case_852() +#line 5648 "cs-parser.jay" { yyVal = new GotoDefault (GetLocation (yyVals[-2+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_852() -#line 5648 "cs-parser.jay" +void case_853() +#line 5656 "cs-parser.jay" { yyVal = new Return ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_853() -#line 5653 "cs-parser.jay" +void case_854() +#line 5661 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Return ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); } -void case_854() -#line 5658 "cs-parser.jay" +void case_855() +#line 5666 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Return (null, GetLocation (yyVals[-1+yyTop])); } -void case_855() -#line 5666 "cs-parser.jay" +void case_856() +#line 5674 "cs-parser.jay" { yyVal = new Throw ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_856() -#line 5671 "cs-parser.jay" +void case_857() +#line 5679 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = new Throw (null, GetLocation (yyVals[-1+yyTop])); } -void case_857() -#line 5679 "cs-parser.jay" +void case_858() +#line 5687 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; string s = lt.Value; @@ -8466,8 +8480,8 @@ void case_857() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_858() -#line 5695 "cs-parser.jay" +void case_859() +#line 5703 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8486,8 +8500,8 @@ void case_858() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_859() -#line 5713 "cs-parser.jay" +void case_860() +#line 5721 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; string s = lt.Value; @@ -8502,30 +8516,30 @@ void case_859() lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop])); } -void case_863() -#line 5739 "cs-parser.jay" +void case_864() +#line 5747 "cs-parser.jay" { yyVal = new TryFinally ((Statement) yyVals[-2+yyTop], (Block) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop])); lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_864() -#line 5744 "cs-parser.jay" +void case_865() +#line 5752 "cs-parser.jay" { var loc = GetLocation (yyVals[-4+yyTop]); yyVal = new TryFinally (new TryCatch ((Block) yyVals[-3+yyTop], (List) yyVals[-2+yyTop], loc, true), (Block) yyVals[0+yyTop], loc); lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop])); } -void case_865() -#line 5750 "cs-parser.jay" +void case_866() +#line 5758 "cs-parser.jay" { Error_SyntaxError (1524, yyToken); yyVal = new TryCatch ((Block) yyVals[-1+yyTop], null, GetLocation (yyVals[-2+yyTop]), false); } -void case_866() -#line 5758 "cs-parser.jay" +void case_867() +#line 5766 "cs-parser.jay" { var l = new List (2); @@ -8533,8 +8547,8 @@ void case_866() yyVal = l; } -void case_867() -#line 5765 "cs-parser.jay" +void case_868() +#line 5773 "cs-parser.jay" { var l = (List) yyVals[-1+yyTop]; @@ -8547,8 +8561,8 @@ void case_867() yyVal = l; } -void case_871() -#line 5789 "cs-parser.jay" +void case_872() +#line 5797 "cs-parser.jay" { start_block (GetLocation (yyVals[-3+yyTop])); var c = new Catch (current_block, GetLocation (yyVals[-4+yyTop])); @@ -8564,8 +8578,8 @@ void case_871() yyVal = c; } -void case_873() -#line 5808 "cs-parser.jay" +void case_874() +#line 5816 "cs-parser.jay" { if (yyToken == Token.CLOSE_PARENS) { report.Error (1015, lexer.Location, @@ -8577,15 +8591,15 @@ void case_873() yyVal = new Catch (null, GetLocation (yyVals[-2+yyTop])); } -void case_876() -#line 5836 "cs-parser.jay" +void case_877() +#line 5844 "cs-parser.jay" { if (!settings.Unsafe) Error_UnsafeCodeNotAllowed (GetLocation (yyVals[0+yyTop])); } -void case_878() -#line 5846 "cs-parser.jay" +void case_879() +#line 5854 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8594,8 +8608,8 @@ void case_878() lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_879() -#line 5854 "cs-parser.jay" +void case_880() +#line 5862 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8603,8 +8617,8 @@ void case_879() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_880() -#line 5864 "cs-parser.jay" +void case_881() +#line 5872 "cs-parser.jay" { start_block (GetLocation (yyVals[-2+yyTop])); @@ -8615,15 +8629,15 @@ void case_880() current_variable = new Fixed.VariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li); } -void case_881() -#line 5874 "cs-parser.jay" +void case_882() +#line 5882 "cs-parser.jay" { yyVal = current_variable; current_variable = null; } -void case_882() -#line 5879 "cs-parser.jay" +void case_883() +#line 5887 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8634,8 +8648,8 @@ void case_882() yyVal = end_block (GetLocation (yyVals[-2+yyTop])); } -void case_883() -#line 5892 "cs-parser.jay" +void case_884() +#line 5900 "cs-parser.jay" { start_block (GetLocation (yyVals[-2+yyTop])); @@ -8646,15 +8660,15 @@ void case_883() current_variable = new Using.VariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li); } -void case_884() -#line 5902 "cs-parser.jay" +void case_885() +#line 5910 "cs-parser.jay" { yyVal = current_variable; current_variable = null; } -void case_885() -#line 5907 "cs-parser.jay" +void case_886() +#line 5915 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8665,8 +8679,8 @@ void case_885() yyVal = end_block (GetLocation (yyVals[-2+yyTop])); } -void case_886() -#line 5917 "cs-parser.jay" +void case_887() +#line 5925 "cs-parser.jay" { if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE) Warning_EmptyStatement (GetLocation (yyVals[0+yyTop])); @@ -8675,8 +8689,8 @@ void case_886() lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop])); } -void case_887() -#line 5925 "cs-parser.jay" +void case_888() +#line 5933 "cs-parser.jay" { Error_SyntaxError (yyToken); @@ -8684,23 +8698,23 @@ void case_887() lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_889() -#line 5936 "cs-parser.jay" +void case_890() +#line 5944 "cs-parser.jay" { /* It has to be here for the parent to safely restore artificial block*/ Error_SyntaxError (yyToken); } -void case_891() -#line 5948 "cs-parser.jay" +void case_892() +#line 5956 "cs-parser.jay" { current_variable.Initializer = (Expression) yyVals[0+yyTop]; lbag.AppendTo (current_variable, GetLocation (yyVals[-1+yyTop])); yyVal = current_variable; } -void case_892() -#line 5960 "cs-parser.jay" +void case_893() +#line 5968 "cs-parser.jay" { lexer.query_parsing = false; @@ -8713,8 +8727,8 @@ void case_892() current_block = current_block.Parent; } -void case_893() -#line 5972 "cs-parser.jay" +void case_894() +#line 5980 "cs-parser.jay" { Linq.AQueryClause from = yyVals[-1+yyTop] as Linq.AQueryClause; @@ -8725,8 +8739,8 @@ void case_893() current_block = current_block.Parent; } -void case_894() -#line 5983 "cs-parser.jay" +void case_895() +#line 5991 "cs-parser.jay" { lexer.query_parsing = false; yyVal = yyVals[-1+yyTop]; @@ -8735,16 +8749,16 @@ void case_894() current_block = current_block.Parent; } -void case_895() -#line 5990 "cs-parser.jay" +void case_896() +#line 5998 "cs-parser.jay" { yyVal = yyVals[-1+yyTop]; current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; } -void case_896() -#line 5999 "cs-parser.jay" +void case_897() +#line 6007 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); @@ -8755,8 +8769,8 @@ void case_896() yyVal = new Linq.QueryExpression (start); } -void case_897() -#line 6009 "cs-parser.jay" +void case_898() +#line 6017 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); @@ -8769,8 +8783,8 @@ void case_897() yyVal = new Linq.QueryExpression (start); } -void case_898() -#line 6024 "cs-parser.jay" +void case_899() +#line 6032 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); @@ -8781,8 +8795,8 @@ void case_898() yyVal = new Linq.QueryExpression (start); } -void case_899() -#line 6034 "cs-parser.jay" +void case_900() +#line 6042 "cs-parser.jay" { current_block = new Linq.QueryBlock (current_block, lexer.Location); @@ -8795,8 +8809,8 @@ void case_899() yyVal = new Linq.QueryExpression (start); } -void case_901() -#line 6053 "cs-parser.jay" +void case_902() +#line 6061 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; var sn = new Linq.RangeVariable (lt.Value, lt.Location); @@ -8809,8 +8823,8 @@ void case_901() lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_903() -#line 6069 "cs-parser.jay" +void case_904() +#line 6077 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; var sn = new Linq.RangeVariable (lt.Value, lt.Location); @@ -8827,8 +8841,8 @@ void case_903() lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop])); } -void case_904() -#line 6088 "cs-parser.jay" +void case_905() +#line 6096 "cs-parser.jay" { Linq.AQueryClause head = (Linq.AQueryClause)yyVals[-1+yyTop]; @@ -8844,8 +8858,8 @@ void case_904() yyVal = head; } -void case_905() -#line 6103 "cs-parser.jay" +void case_906() +#line 6111 "cs-parser.jay" { Linq.AQueryClause head = (Linq.AQueryClause)yyVals[0+yyTop]; @@ -8858,22 +8872,22 @@ void case_905() yyVal = head; } -void case_907() -#line 6116 "cs-parser.jay" +void case_908() +#line 6124 "cs-parser.jay" { report.Error (742, GetLocation (yyVals[0+yyTop]), "Unexpected symbol `{0}'. A query body must end with select or group clause", GetSymbolName (yyToken)); yyVal = yyVals[-1+yyTop]; } -void case_908() -#line 6121 "cs-parser.jay" +void case_909() +#line 6129 "cs-parser.jay" { Error_SyntaxError (yyToken); yyVal = null; } -void case_910() -#line 6133 "cs-parser.jay" +void case_911() +#line 6141 "cs-parser.jay" { yyVal = new Linq.Select ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); @@ -8881,8 +8895,8 @@ void case_910() current_block = current_block.Parent; } -void case_911() -#line 6140 "cs-parser.jay" +void case_912() +#line 6148 "cs-parser.jay" { if (linq_clause_blocks == null) linq_clause_blocks = new Stack (); @@ -8891,8 +8905,8 @@ void case_911() linq_clause_blocks.Push ((Linq.QueryBlock)current_block); } -void case_912() -#line 6148 "cs-parser.jay" +void case_913() +#line 6156 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -8900,8 +8914,8 @@ void case_912() current_block = new Linq.QueryBlock (current_block, lexer.Location); } -void case_913() -#line 6155 "cs-parser.jay" +void case_914() +#line 6163 "cs-parser.jay" { yyVal = new Linq.GroupBy ((Linq.QueryBlock)current_block, (Expression)yyVals[-3+yyTop], linq_clause_blocks.Pop (), (Expression)yyVals[0+yyTop], GetLocation (yyVals[-5+yyTop])); lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop])); @@ -8910,15 +8924,15 @@ void case_913() current_block = current_block.Parent; } -void case_915() -#line 6167 "cs-parser.jay" +void case_916() +#line 6175 "cs-parser.jay" { ((Linq.AQueryClause)yyVals[-1+yyTop]).Tail.Next = (Linq.AQueryClause)yyVals[0+yyTop]; yyVal = yyVals[-1+yyTop]; } -void case_922() -#line 6187 "cs-parser.jay" +void case_923() +#line 6195 "cs-parser.jay" { var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop]; var sn = new Linq.RangeVariable (lt.Value, lt.Location); @@ -8931,8 +8945,8 @@ void case_922() ((Linq.QueryBlock)current_block).AddRangeVariable (sn); } -void case_924() -#line 6206 "cs-parser.jay" +void case_925() +#line 6214 "cs-parser.jay" { yyVal = new Linq.Where ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop])); @@ -8940,8 +8954,8 @@ void case_924() current_block = current_block.Parent; } -void case_925() -#line 6216 "cs-parser.jay" +void case_926() +#line 6224 "cs-parser.jay" { if (linq_clause_blocks == null) linq_clause_blocks = new Stack (); @@ -8950,8 +8964,8 @@ void case_925() linq_clause_blocks.Push ((Linq.QueryBlock) current_block); } -void case_926() -#line 6224 "cs-parser.jay" +void case_927() +#line 6232 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -8960,8 +8974,8 @@ void case_926() linq_clause_blocks.Push ((Linq.QueryBlock) current_block); } -void case_927() -#line 6232 "cs-parser.jay" +void case_928() +#line 6240 "cs-parser.jay" { current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop])); current_block.SetEndLocation (lexer.Location); @@ -8970,8 +8984,8 @@ void case_927() current_block = new Linq.QueryBlock (current_block, lexer.Location); } -void case_928() -#line 6240 "cs-parser.jay" +void case_929() +#line 6248 "cs-parser.jay" { current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop])); current_block.SetEndLocation (lexer.Location); @@ -9010,8 +9024,8 @@ void case_928() ((Linq.QueryBlock)current_block).AddRangeVariable (into); } -void case_929() -#line 6278 "cs-parser.jay" +void case_930() +#line 6286 "cs-parser.jay" { if (linq_clause_blocks == null) linq_clause_blocks = new Stack (); @@ -9020,8 +9034,8 @@ void case_929() linq_clause_blocks.Push ((Linq.QueryBlock) current_block); } -void case_930() -#line 6286 "cs-parser.jay" +void case_931() +#line 6294 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -9030,8 +9044,8 @@ void case_930() linq_clause_blocks.Push ((Linq.QueryBlock) current_block); } -void case_931() -#line 6294 "cs-parser.jay" +void case_932() +#line 6302 "cs-parser.jay" { current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop])); current_block.SetEndLocation (lexer.Location); @@ -9040,8 +9054,8 @@ void case_931() current_block = new Linq.QueryBlock (current_block, lexer.Location); } -void case_932() -#line 6302 "cs-parser.jay" +void case_933() +#line 6310 "cs-parser.jay" { current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop])); current_block.SetEndLocation (lexer.Location); @@ -9084,15 +9098,15 @@ void case_932() ((Linq.QueryBlock)current_block).AddRangeVariable (into); } -void case_934() -#line 6348 "cs-parser.jay" +void case_935() +#line 6356 "cs-parser.jay" { opt_intoStack.Push (GetLocation (yyVals[-1+yyTop])); yyVal = yyVals[0+yyTop]; } -void case_936() -#line 6360 "cs-parser.jay" +void case_937() +#line 6368 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -9100,8 +9114,8 @@ void case_936() yyVal = yyVals[0+yyTop]; } -void case_938() -#line 6371 "cs-parser.jay" +void case_939() +#line 6379 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -9109,15 +9123,15 @@ void case_938() current_block = new Linq.QueryBlock (current_block, lexer.Location); } -void case_939() -#line 6378 "cs-parser.jay" +void case_940() +#line 6386 "cs-parser.jay" { ((Linq.AQueryClause)yyVals[-3+yyTop]).Next = (Linq.AQueryClause)yyVals[0+yyTop]; yyVal = yyVals[-3+yyTop]; } -void case_941() -#line 6387 "cs-parser.jay" +void case_942() +#line 6395 "cs-parser.jay" { current_block.SetEndLocation (lexer.Location); current_block = current_block.Parent; @@ -9125,43 +9139,43 @@ void case_941() current_block = new Linq.QueryBlock ((Linq.QueryBlock) current_block, lexer.Location); } -void case_942() -#line 6394 "cs-parser.jay" +void case_943() +#line 6402 "cs-parser.jay" { ((Linq.AQueryClause)yyVals[-3+yyTop]).Tail.Next = (Linq.AQueryClause)yyVals[0+yyTop]; yyVal = yyVals[-3+yyTop]; } -void case_944() -#line 6406 "cs-parser.jay" +void case_945() +#line 6414 "cs-parser.jay" { yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_945() -#line 6411 "cs-parser.jay" +void case_946() +#line 6419 "cs-parser.jay" { yyVal = new Linq.OrderByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_947() -#line 6423 "cs-parser.jay" +void case_948() +#line 6431 "cs-parser.jay" { yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_948() -#line 6428 "cs-parser.jay" +void case_949() +#line 6436 "cs-parser.jay" { yyVal = new Linq.ThenByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]); lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop])); } -void case_950() -#line 6438 "cs-parser.jay" +void case_951() +#line 6446 "cs-parser.jay" { /* query continuation block is not linked with query block but with block*/ /* before. This means each query can use same range variable names for*/ @@ -9178,8 +9192,8 @@ void case_950() linq_clause_blocks.Push ((Linq.QueryBlock) current_block); } -void case_951() -#line 6454 "cs-parser.jay" +void case_952() +#line 6462 "cs-parser.jay" { var current_block = linq_clause_blocks.Pop (); var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop]; @@ -9189,8 +9203,8 @@ void case_951() }; } -void case_954() -#line 6481 "cs-parser.jay" +void case_955() +#line 6489 "cs-parser.jay" { current_container = current_type = new Class (current_container, new MemberName (""), Modifiers.PUBLIC, null); @@ -9219,8 +9233,8 @@ void case_954() start_block (lexer.Location); } -void case_955() -#line 6509 "cs-parser.jay" +void case_956() +#line 6517 "cs-parser.jay" { --lexer.parsing_block; Method method = (Method) oob_stack.Pop (); @@ -9231,16 +9245,16 @@ void case_955() current_local_parameters = null; } -void case_965() -#line 6552 "cs-parser.jay" +void case_966() +#line 6560 "cs-parser.jay" { module.DocumentationBuilder.ParsedBuiltinType = (TypeExpression)yyVals[-1+yyTop]; module.DocumentationBuilder.ParsedParameters = (List)yyVals[0+yyTop]; yyVal = null; } -void case_966() -#line 6558 "cs-parser.jay" +void case_967() +#line 6566 "cs-parser.jay" { module.DocumentationBuilder.ParsedBuiltinType = (TypeExpression)yyVals[-3+yyTop]; module.DocumentationBuilder.ParsedParameters = (List)yyVals[0+yyTop]; @@ -9248,15 +9262,15 @@ void case_966() yyVal = new MemberName (lt.Value); } -void case_969() -#line 6573 "cs-parser.jay" +void case_970() +#line 6581 "cs-parser.jay" { module.DocumentationBuilder.ParsedParameters = (List)yyVals[-1+yyTop]; yyVal = new MemberName ((MemberName) yyVals[-6+yyTop], MemberCache.IndexerNameAlias, Location.Null); } -void case_970() -#line 6578 "cs-parser.jay" +void case_971() +#line 6586 "cs-parser.jay" { var p = (List)yyVals[0+yyTop] ?? new List (1); p.Add (new DocumentationParameter ((FullNamedExpression) yyVals[-1+yyTop])); @@ -9265,8 +9279,8 @@ void case_970() yyVal = null; } -void case_971() -#line 6586 "cs-parser.jay" +void case_972() +#line 6594 "cs-parser.jay" { var p = (List)yyVals[0+yyTop] ?? new List (1); p.Add (new DocumentationParameter ((FullNamedExpression) yyVals[-1+yyTop])); @@ -9275,8 +9289,8 @@ void case_971() yyVal = null; } -void case_972() -#line 6594 "cs-parser.jay" +void case_973() +#line 6602 "cs-parser.jay" { var p = (List)yyVals[0+yyTop] ?? new List (1); module.DocumentationBuilder.ParsedParameters = p; @@ -9284,24 +9298,24 @@ void case_972() yyVal = null; } -void case_980() -#line 6632 "cs-parser.jay" +void case_981() +#line 6640 "cs-parser.jay" { var parameters = new List (); parameters.Add ((DocumentationParameter) yyVals[0+yyTop]); yyVal = parameters; } -void case_981() -#line 6638 "cs-parser.jay" +void case_982() +#line 6646 "cs-parser.jay" { var parameters = yyVals[-2+yyTop] as List; parameters.Add ((DocumentationParameter) yyVals[0+yyTop]); yyVal = parameters; } -void case_982() -#line 6647 "cs-parser.jay" +void case_983() +#line 6655 "cs-parser.jay" { if (yyVals[-1+yyTop] != null) yyVal = new DocumentationParameter ((Parameter.Modifier) yyVals[-1+yyTop], (FullNamedExpression) yyVals[0+yyTop]); @@ -9313,360 +9327,360 @@ void case_982() static readonly short [] yyLhs = { -1, 0, 4, 0, 0, 1, 1, 1, 1, 2, 2, 11, 11, 12, 12, 13, 13, 14, 15, 15, 15, - 19, 20, 17, 18, 18, 18, 22, 22, 23, 23, - 7, 7, 6, 6, 21, 21, 8, 8, 24, 24, - 24, 25, 25, 25, 25, 25, 9, 9, 10, 10, - 33, 31, 36, 32, 32, 34, 34, 34, 34, 35, - 35, 40, 37, 38, 39, 39, 41, 41, 41, 41, - 41, 42, 42, 46, 43, 45, 48, 48, 48, 49, - 49, 50, 50, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 65, 67, 69, 70, 71, - 27, 27, 74, 52, 75, 75, 76, 76, 77, 79, - 73, 73, 78, 78, 84, 53, 88, 53, 53, 83, - 91, 83, 85, 85, 92, 92, 93, 94, 93, 89, - 89, 95, 95, 96, 97, 87, 87, 90, 90, 90, - 100, 54, 103, 104, 98, 105, 106, 107, 98, 98, - 98, 99, 99, 102, 102, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 111, 111, 114, 114, 114, - 114, 117, 114, 115, 115, 118, 118, 119, 119, 119, - 112, 112, 112, 120, 120, 120, 113, 122, 124, 125, - 55, 127, 128, 129, 57, 123, 123, 123, 123, 123, - 133, 130, 134, 131, 132, 132, 132, 135, 136, 137, - 139, 28, 28, 138, 138, 140, 140, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 144, 58, 143, 143, - 145, 145, 148, 142, 142, 147, 147, 147, 147, 147, + 19, 20, 17, 17, 18, 18, 18, 22, 22, 23, + 23, 7, 7, 6, 6, 21, 21, 8, 8, 24, + 24, 24, 25, 25, 25, 25, 25, 9, 9, 10, + 10, 33, 31, 36, 32, 32, 34, 34, 34, 34, + 35, 35, 40, 37, 38, 39, 39, 41, 41, 41, + 41, 41, 42, 42, 46, 43, 45, 48, 48, 48, + 49, 49, 50, 50, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 65, 67, 69, 70, + 71, 27, 27, 74, 52, 75, 75, 76, 76, 77, + 79, 73, 73, 78, 78, 84, 53, 88, 53, 53, + 83, 91, 83, 85, 85, 92, 92, 93, 94, 93, + 89, 89, 95, 95, 96, 97, 87, 87, 90, 90, + 90, 100, 54, 103, 104, 98, 105, 106, 107, 98, + 98, 98, 99, 99, 102, 102, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 111, 111, 114, 114, + 114, 114, 117, 114, 115, 115, 118, 118, 119, 119, + 119, 112, 112, 112, 120, 120, 120, 113, 122, 124, + 125, 55, 127, 128, 129, 57, 123, 123, 123, 123, + 123, 133, 130, 134, 131, 132, 132, 132, 135, 136, + 137, 139, 28, 28, 138, 138, 140, 140, 141, 141, + 141, 141, 141, 141, 141, 141, 141, 144, 58, 143, + 143, 145, 145, 148, 142, 142, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 150, 149, 151, - 149, 149, 149, 59, 154, 156, 152, 153, 153, 155, - 155, 160, 158, 161, 158, 158, 158, 162, 60, 164, - 56, 167, 168, 56, 163, 170, 163, 165, 165, 171, - 171, 172, 173, 172, 174, 169, 166, 166, 166, 166, - 166, 178, 175, 179, 176, 177, 177, 61, 181, 183, - 184, 29, 180, 180, 180, 182, 182, 182, 185, 185, - 186, 187, 186, 186, 186, 188, 189, 190, 30, 191, - 191, 16, 16, 192, 192, 195, 194, 194, 194, 196, - 196, 198, 64, 121, 101, 101, 126, 126, 199, 199, - 199, 197, 197, 200, 200, 201, 201, 203, 203, 82, - 72, 72, 86, 86, 116, 116, 146, 146, 204, 204, - 204, 204, 204, 208, 208, 209, 207, 207, 207, 207, - 207, 207, 207, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 211, 211, 211, 211, 211, 211, 211, 211, + 147, 147, 147, 147, 147, 147, 147, 147, 150, 149, + 151, 149, 149, 149, 59, 154, 156, 152, 153, 153, + 155, 155, 160, 158, 161, 158, 158, 158, 162, 60, + 164, 56, 167, 168, 56, 163, 170, 163, 165, 165, + 171, 171, 172, 173, 172, 174, 169, 166, 166, 166, + 166, 166, 178, 175, 179, 176, 177, 177, 61, 181, + 183, 184, 29, 180, 180, 180, 182, 182, 182, 185, + 185, 186, 187, 186, 186, 186, 188, 189, 190, 30, + 191, 191, 16, 16, 192, 192, 195, 194, 194, 194, + 196, 196, 198, 64, 121, 101, 101, 126, 126, 199, + 199, 199, 197, 197, 200, 200, 201, 201, 203, 203, + 82, 72, 72, 86, 86, 116, 116, 146, 146, 204, + 204, 204, 204, 204, 208, 208, 209, 207, 207, 207, + 207, 207, 207, 207, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 212, 212, 212, 213, 213, 213, 233, 233, - 234, 234, 235, 235, 215, 215, 232, 232, 232, 232, - 232, 232, 232, 232, 217, 217, 237, 237, 238, 238, - 239, 239, 241, 241, 241, 242, 242, 242, 242, 242, - 243, 243, 159, 159, 236, 236, 236, 236, 236, 248, - 248, 247, 247, 249, 249, 249, 249, 250, 218, 218, - 218, 246, 246, 246, 251, 251, 252, 252, 219, 220, - 220, 221, 222, 223, 223, 214, 214, 214, 214, 214, - 257, 253, 224, 258, 258, 259, 259, 260, 260, 261, - 261, 261, 261, 254, 254, 205, 205, 256, 256, 262, - 262, 255, 255, 81, 81, 263, 263, 264, 225, 265, - 265, 265, 266, 266, 266, 266, 266, 267, 193, 226, - 227, 228, 229, 269, 230, 270, 230, 268, 268, 272, - 271, 216, 273, 273, 273, 273, 273, 274, 274, 274, - 274, 274, 274, 274, 275, 275, 275, 275, 276, 276, - 276, 276, 276, 277, 277, 277, 278, 278, 278, 278, - 278, 279, 279, 279, 280, 280, 281, 281, 282, 282, - 283, 283, 284, 284, 285, 285, 286, 286, 286, 288, + 211, 211, 211, 212, 212, 212, 213, 213, 213, 233, + 233, 234, 234, 235, 235, 215, 215, 232, 232, 232, + 232, 232, 232, 232, 232, 217, 217, 237, 237, 238, + 238, 239, 239, 241, 241, 241, 242, 242, 242, 242, + 242, 243, 243, 159, 159, 236, 236, 236, 236, 236, + 248, 248, 247, 247, 249, 249, 249, 249, 250, 218, + 218, 218, 246, 246, 246, 251, 251, 252, 252, 219, + 220, 220, 221, 222, 223, 223, 214, 214, 214, 214, + 214, 257, 253, 224, 258, 258, 259, 259, 260, 260, + 261, 261, 261, 261, 254, 254, 205, 205, 256, 256, + 262, 262, 255, 255, 81, 81, 263, 263, 264, 225, + 265, 265, 265, 266, 266, 266, 266, 266, 267, 193, + 226, 227, 228, 229, 269, 230, 270, 230, 268, 268, + 272, 271, 216, 273, 273, 273, 273, 273, 274, 274, + 274, 274, 274, 274, 274, 275, 275, 275, 275, 276, + 276, 276, 276, 276, 277, 277, 277, 278, 278, 278, + 278, 278, 279, 279, 279, 280, 280, 281, 281, 282, + 282, 283, 283, 284, 284, 285, 285, 286, 286, 286, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 289, 289, 290, 290, 290, 291, 291, 292, 292, 294, - 293, 287, 287, 296, 295, 297, 295, 298, 299, 295, - 300, 301, 295, 44, 44, 244, 244, 244, 244, 231, - 231, 231, 80, 303, 304, 305, 306, 307, 26, 63, - 63, 62, 62, 108, 108, 308, 308, 308, 308, 308, + 288, 289, 289, 290, 290, 290, 291, 291, 292, 292, + 294, 293, 287, 287, 296, 295, 297, 295, 298, 299, + 295, 300, 301, 295, 44, 44, 244, 244, 244, 244, + 231, 231, 231, 80, 303, 304, 305, 306, 307, 26, + 63, 63, 62, 62, 108, 108, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 66, 66, 66, 68, 68, 309, 309, 310, 310, 311, - 311, 312, 312, 312, 312, 202, 202, 313, 313, 315, - 109, 316, 316, 317, 157, 157, 314, 314, 318, 318, - 319, 319, 319, 319, 319, 323, 323, 324, 324, 324, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 339, 339, 339, 339, - 326, 340, 322, 341, 341, 342, 342, 342, 342, 342, - 342, 206, 206, 343, 47, 47, 345, 320, 349, 320, - 347, 347, 344, 344, 344, 344, 346, 346, 353, 353, - 352, 352, 354, 354, 348, 348, 350, 350, 355, 355, - 356, 351, 351, 351, 327, 327, 327, 338, 338, 357, - 358, 358, 328, 328, 359, 359, 359, 362, 360, 360, - 361, 361, 363, 363, 363, 366, 364, 365, 365, 367, - 367, 367, 329, 329, 329, 329, 368, 368, 369, 369, - 369, 373, 370, 376, 372, 372, 379, 375, 375, 378, - 378, 374, 374, 382, 381, 381, 377, 377, 380, 380, - 384, 383, 383, 371, 371, 385, 371, 371, 371, 330, - 330, 330, 330, 330, 330, 386, 387, 387, 388, 388, - 388, 389, 389, 389, 390, 390, 391, 391, 391, 392, - 392, 331, 331, 331, 331, 393, 393, 395, 395, 394, - 396, 394, 394, 332, 333, 397, 336, 334, 334, 399, - 400, 337, 402, 403, 335, 335, 335, 401, 401, 398, - 398, 302, 302, 302, 302, 404, 404, 406, 406, 408, - 407, 409, 407, 405, 405, 405, 405, 405, 413, 411, - 414, 415, 411, 410, 410, 416, 416, 416, 416, 416, - 421, 417, 422, 418, 423, 424, 425, 419, 427, 428, - 429, 419, 426, 426, 431, 420, 430, 434, 430, 433, - 436, 433, 432, 432, 432, 435, 435, 435, 412, 437, - 412, 3, 3, 438, 3, 3, 439, 439, 245, 245, - 240, 240, 5, 440, 440, 440, 440, 444, 440, 440, - 440, 440, 441, 441, 442, 445, 442, 443, 443, 446, - 446, 447, + 308, 66, 66, 66, 68, 68, 309, 309, 310, 310, + 311, 311, 312, 312, 312, 312, 202, 202, 313, 313, + 315, 109, 316, 316, 317, 157, 157, 314, 314, 318, + 318, 319, 319, 319, 319, 319, 323, 323, 324, 324, + 324, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 339, 339, 339, + 339, 326, 340, 322, 341, 341, 342, 342, 342, 342, + 342, 342, 206, 206, 343, 47, 47, 345, 320, 349, + 320, 347, 347, 344, 344, 344, 344, 346, 346, 353, + 353, 352, 352, 354, 354, 348, 348, 350, 350, 355, + 355, 356, 351, 351, 351, 327, 327, 327, 338, 338, + 357, 358, 358, 328, 328, 359, 359, 359, 362, 360, + 360, 361, 361, 363, 363, 363, 366, 364, 365, 365, + 367, 367, 367, 329, 329, 329, 329, 368, 368, 369, + 369, 369, 373, 370, 376, 372, 372, 379, 375, 375, + 378, 378, 374, 374, 382, 381, 381, 377, 377, 380, + 380, 384, 383, 383, 371, 371, 385, 371, 371, 371, + 330, 330, 330, 330, 330, 330, 386, 387, 387, 388, + 388, 388, 389, 389, 389, 390, 390, 391, 391, 391, + 392, 392, 331, 331, 331, 331, 393, 393, 395, 395, + 394, 396, 394, 394, 332, 333, 397, 336, 334, 334, + 399, 400, 337, 402, 403, 335, 335, 335, 401, 401, + 398, 398, 302, 302, 302, 302, 404, 404, 406, 406, + 408, 407, 409, 407, 405, 405, 405, 405, 405, 413, + 411, 414, 415, 411, 410, 410, 416, 416, 416, 416, + 416, 421, 417, 422, 418, 423, 424, 425, 419, 427, + 428, 429, 419, 426, 426, 431, 420, 430, 434, 430, + 433, 436, 433, 432, 432, 432, 435, 435, 435, 412, + 437, 412, 3, 3, 438, 3, 3, 439, 439, 245, + 245, 240, 240, 5, 440, 440, 440, 440, 444, 440, + 440, 440, 440, 441, 441, 442, 445, 442, 443, 443, + 446, 446, 447, }; static readonly short [] yyLen = { 2, 2, 0, 3, 1, 2, 4, 3, 1, 0, 1, 1, 2, 4, 2, 1, 2, 1, 3, 5, 2, - 0, 0, 11, 1, 3, 1, 0, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 1, 2, 1, 1, - 2, 1, 1, 1, 1, 1, 0, 1, 1, 2, - 0, 3, 0, 6, 3, 1, 1, 1, 1, 1, - 3, 0, 3, 1, 0, 3, 0, 1, 1, 3, - 3, 1, 1, 0, 4, 4, 0, 1, 1, 0, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 16, 5, 0, 9, 0, 1, 1, 2, 3, 0, - 3, 1, 1, 1, 0, 8, 0, 9, 6, 0, - 0, 3, 0, 1, 1, 2, 2, 0, 5, 0, - 1, 1, 2, 3, 0, 4, 2, 1, 1, 1, - 0, 3, 0, 0, 10, 0, 0, 0, 12, 8, - 5, 1, 1, 0, 1, 1, 3, 3, 3, 5, - 3, 5, 1, 1, 1, 1, 3, 4, 6, 2, - 4, 0, 7, 0, 1, 1, 2, 1, 1, 1, - 4, 6, 4, 1, 2, 2, 1, 0, 0, 0, - 10, 0, 0, 0, 13, 1, 2, 1, 2, 1, - 0, 5, 0, 5, 1, 1, 1, 0, 0, 0, - 0, 15, 5, 0, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 5, 1, 1, - 1, 1, 0, 7, 1, 1, 1, 1, 1, 1, + 0, 0, 11, 3, 1, 3, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, + 1, 2, 1, 1, 1, 1, 1, 0, 1, 1, + 2, 0, 3, 0, 6, 3, 1, 1, 1, 1, + 1, 3, 0, 3, 1, 0, 3, 0, 1, 1, + 3, 3, 1, 1, 0, 4, 4, 0, 1, 1, + 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 16, 5, 0, 9, 0, 1, 1, 2, 3, + 0, 3, 1, 1, 1, 0, 8, 0, 9, 6, + 0, 0, 3, 0, 1, 1, 2, 2, 0, 5, + 0, 1, 1, 2, 3, 0, 4, 2, 1, 1, + 1, 0, 3, 0, 0, 10, 0, 0, 0, 12, + 8, 5, 1, 1, 0, 1, 1, 3, 3, 3, + 5, 3, 5, 1, 1, 1, 1, 3, 4, 6, + 2, 4, 0, 7, 0, 1, 1, 2, 1, 1, + 1, 4, 6, 4, 1, 2, 2, 1, 0, 0, + 0, 10, 0, 0, 0, 13, 1, 2, 1, 2, + 1, 0, 5, 0, 5, 1, 1, 1, 0, 0, + 0, 0, 15, 5, 0, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 5, 1, + 1, 1, 1, 0, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 7, 0, - 7, 2, 2, 2, 0, 0, 9, 1, 1, 0, - 1, 0, 6, 0, 6, 2, 1, 0, 8, 0, - 9, 0, 0, 10, 0, 0, 3, 0, 1, 1, - 2, 2, 0, 5, 0, 2, 2, 2, 1, 1, - 1, 0, 5, 0, 5, 1, 1, 2, 0, 0, - 0, 12, 0, 2, 2, 0, 1, 2, 1, 3, - 2, 0, 5, 3, 1, 0, 0, 0, 13, 0, - 1, 1, 3, 1, 4, 2, 0, 3, 2, 1, - 3, 0, 3, 1, 1, 3, 1, 2, 3, 4, - 4, 0, 3, 1, 3, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 2, 2, 2, 1, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 7, + 0, 7, 2, 2, 2, 0, 0, 9, 1, 1, + 0, 1, 0, 6, 0, 6, 2, 1, 0, 8, + 0, 9, 0, 0, 10, 0, 0, 3, 0, 1, + 1, 2, 2, 0, 5, 0, 2, 2, 2, 1, + 1, 1, 0, 5, 0, 5, 1, 1, 2, 0, + 0, 0, 12, 0, 2, 2, 0, 1, 2, 1, + 3, 2, 0, 5, 3, 1, 0, 0, 0, 13, + 0, 1, 1, 3, 1, 4, 2, 0, 3, 2, + 1, 3, 0, 3, 1, 1, 3, 1, 2, 3, + 4, 4, 0, 3, 1, 3, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 2, 1, 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, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 4, 4, 4, 3, - 3, 4, 3, 4, 4, 4, 0, 1, 3, 4, - 0, 1, 1, 3, 2, 3, 1, 2, 3, 2, - 1, 1, 0, 1, 1, 3, 3, 3, 2, 1, - 1, 1, 1, 2, 2, 4, 3, 1, 4, 4, - 3, 1, 3, 2, 1, 3, 1, 1, 1, 4, - 3, 2, 2, 6, 3, 7, 4, 3, 7, 3, - 0, 2, 4, 1, 2, 0, 1, 1, 3, 3, - 1, 1, 1, 0, 1, 1, 2, 2, 3, 1, - 2, 0, 1, 2, 4, 1, 3, 0, 5, 1, - 1, 1, 2, 3, 3, 4, 4, 1, 2, 4, - 4, 4, 4, 0, 4, 0, 5, 0, 1, 0, - 4, 4, 1, 2, 2, 4, 2, 1, 2, 2, - 2, 2, 2, 2, 1, 3, 3, 3, 1, 3, - 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, - 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 5, 4, 3, + 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 4, 4, 4, + 3, 3, 4, 3, 4, 4, 4, 0, 1, 3, + 4, 0, 1, 1, 3, 2, 3, 1, 2, 3, + 2, 1, 1, 0, 1, 1, 3, 3, 3, 2, + 1, 1, 1, 1, 2, 2, 4, 3, 1, 4, + 4, 3, 1, 3, 2, 1, 3, 1, 1, 1, + 4, 3, 2, 2, 6, 3, 7, 4, 3, 7, + 3, 0, 2, 4, 1, 2, 0, 1, 1, 3, + 3, 1, 1, 1, 0, 1, 1, 2, 2, 3, + 1, 2, 0, 1, 2, 4, 1, 3, 0, 5, + 1, 1, 1, 2, 3, 3, 4, 4, 1, 2, + 4, 4, 4, 4, 0, 4, 0, 5, 0, 1, + 0, 4, 4, 1, 2, 2, 4, 2, 1, 2, + 2, 2, 2, 2, 2, 1, 3, 3, 3, 1, + 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, + 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 1, 3, 3, 2, 1, 0, 1, 1, 1, 0, - 2, 1, 1, 0, 4, 0, 5, 0, 0, 7, - 0, 0, 8, 1, 1, 1, 1, 1, 1, 6, - 4, 4, 1, 1, 0, 0, 0, 0, 15, 0, - 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, + 3, 1, 3, 3, 2, 1, 0, 1, 1, 1, + 0, 2, 1, 1, 0, 4, 0, 5, 0, 0, + 7, 0, 0, 8, 1, 1, 1, 1, 1, 1, + 6, 4, 4, 1, 1, 0, 0, 0, 0, 15, + 0, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 2, 3, 0, 1, 1, 2, 4, 3, 1, - 3, 1, 3, 1, 1, 0, 1, 1, 1, 0, - 4, 1, 1, 0, 4, 1, 0, 1, 1, 2, - 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, + 1, 0, 2, 3, 0, 1, 1, 2, 4, 3, + 1, 3, 1, 3, 1, 1, 0, 1, 1, 1, + 0, 4, 1, 1, 0, 4, 1, 0, 1, 1, + 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 1, 2, 2, 2, 2, 2, 2, - 1, 1, 2, 1, 1, 1, 0, 6, 0, 7, - 1, 1, 0, 2, 2, 1, 0, 1, 0, 1, - 1, 2, 2, 4, 0, 2, 0, 1, 1, 2, - 4, 1, 5, 2, 2, 2, 2, 2, 2, 1, - 1, 1, 1, 1, 5, 7, 4, 0, 8, 4, - 0, 1, 1, 2, 1, 0, 3, 1, 2, 3, - 3, 1, 1, 1, 1, 1, 5, 4, 7, 3, - 6, 0, 4, 0, 4, 2, 0, 4, 2, 3, - 1, 0, 1, 0, 5, 1, 0, 1, 0, 1, - 1, 1, 3, 4, 5, 0, 9, 5, 4, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, - 3, 3, 3, 2, 3, 2, 4, 4, 3, 0, - 1, 3, 4, 5, 3, 1, 2, 0, 1, 2, - 0, 7, 3, 2, 2, 0, 3, 5, 4, 0, - 0, 10, 0, 0, 9, 5, 4, 2, 1, 0, - 2, 2, 2, 2, 2, 4, 5, 4, 5, 0, - 5, 0, 6, 3, 2, 2, 2, 1, 0, 3, - 0, 0, 6, 1, 2, 1, 1, 1, 1, 1, - 0, 5, 0, 3, 0, 0, 0, 12, 0, 0, - 0, 13, 0, 2, 0, 3, 1, 0, 4, 1, - 0, 4, 1, 2, 2, 1, 2, 2, 0, 0, - 4, 2, 3, 0, 4, 2, 2, 3, 0, 1, - 1, 1, 2, 2, 2, 4, 3, 0, 7, 4, - 4, 3, 1, 3, 0, 0, 4, 0, 1, 1, - 3, 2, + 1, 1, 0, 4, 1, 2, 2, 2, 2, 2, + 2, 1, 1, 2, 1, 1, 1, 0, 6, 0, + 7, 1, 1, 0, 2, 2, 1, 0, 1, 0, + 1, 1, 2, 2, 4, 0, 2, 0, 1, 1, + 2, 4, 1, 5, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 1, 5, 7, 4, 0, 8, + 4, 0, 1, 1, 2, 1, 0, 3, 1, 2, + 3, 3, 1, 1, 1, 1, 1, 5, 4, 7, + 3, 6, 0, 4, 0, 4, 2, 0, 4, 2, + 3, 1, 0, 1, 0, 5, 1, 0, 1, 0, + 1, 1, 1, 3, 4, 5, 0, 9, 5, 4, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, + 4, 3, 3, 3, 2, 3, 2, 4, 4, 3, + 0, 1, 3, 4, 5, 3, 1, 2, 0, 1, + 2, 0, 7, 3, 2, 2, 0, 3, 5, 4, + 0, 0, 10, 0, 0, 9, 5, 4, 2, 1, + 0, 2, 2, 2, 2, 2, 4, 5, 4, 5, + 0, 5, 0, 6, 3, 2, 2, 2, 1, 0, + 3, 0, 0, 6, 1, 2, 1, 1, 1, 1, + 1, 0, 5, 0, 3, 0, 0, 0, 12, 0, + 0, 0, 13, 0, 2, 0, 3, 1, 0, 4, + 1, 0, 4, 1, 2, 2, 1, 2, 2, 0, + 0, 4, 2, 3, 0, 4, 2, 2, 3, 0, + 1, 1, 1, 2, 2, 2, 4, 3, 0, 7, + 4, 4, 3, 1, 3, 0, 0, 4, 0, 1, + 1, 3, 2, }; static readonly short [] yyDefRed = { 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 4, - 0, 0, 11, 14, 0, 952, 0, 0, 956, 0, - 0, 15, 17, 379, 385, 392, 380, 382, 0, 381, - 0, 388, 390, 377, 0, 384, 386, 378, 389, 391, - 387, 342, 973, 0, 383, 963, 0, 10, 1, 0, - 0, 0, 12, 0, 782, 0, 0, 0, 0, 0, - 0, 0, 0, 420, 0, 0, 0, 0, 0, 0, - 0, 418, 0, 0, 0, 479, 0, 419, 0, 518, - 0, 876, 0, 0, 0, 629, 0, 0, 0, 0, - 0, 0, 0, 680, 0, 731, 0, 0, 0, 0, - 0, 0, 0, 0, 417, 0, 618, 0, 781, 0, - 714, 0, 0, 0, 0, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 415, 416, 625, 548, 0, 0, + 0, 0, 11, 14, 0, 953, 0, 0, 957, 0, + 0, 15, 17, 380, 386, 393, 381, 383, 0, 382, + 0, 389, 391, 378, 0, 385, 387, 379, 390, 392, + 388, 343, 974, 0, 384, 964, 0, 10, 1, 0, + 0, 0, 12, 0, 783, 0, 0, 0, 0, 0, + 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, + 0, 419, 0, 0, 0, 480, 0, 420, 0, 519, + 0, 877, 0, 0, 0, 630, 0, 0, 0, 0, + 0, 0, 0, 681, 0, 732, 0, 0, 0, 0, + 0, 0, 0, 0, 418, 0, 619, 0, 782, 0, + 715, 0, 0, 0, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 416, 417, 626, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 626, 624, 627, 628, 698, 700, 0, 696, 699, 715, - 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 716, 0, 0, 0, 783, 784, 803, 804, 805, 806, - 840, 841, 842, 843, 844, 845, 0, 0, 0, 20, - 0, 0, 332, 0, 334, 960, 16, 953, 0, 0, - 241, 240, 237, 242, 243, 236, 255, 254, 247, 248, - 244, 246, 245, 249, 238, 239, 250, 251, 257, 256, - 252, 253, 0, 0, 976, 0, 965, 0, 964, 3, - 51, 0, 0, 0, 40, 37, 39, 42, 43, 44, - 45, 46, 49, 13, 0, 0, 0, 846, 421, 422, - 874, 0, 0, 0, 0, 0, 0, 0, 848, 847, - 0, 540, 534, 539, 730, 780, 701, 728, 727, 729, - 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, - 712, 713, 0, 0, 0, 812, 0, 0, 0, 746, - 745, 0, 0, 0, 0, 0, 0, 0, 0, 854, - 0, 0, 0, 0, 393, 0, 0, 0, 856, 861, - 0, 0, 0, 875, 0, 0, 0, 744, 740, 0, - 0, 0, 0, 0, 0, 0, 361, 0, 0, 0, - 0, 0, 0, 0, 0, 621, 0, 547, 0, 0, - 545, 549, 550, 544, 554, 553, 551, 552, 614, 529, - 0, 414, 413, 0, 0, 0, 0, 0, 732, 0, - 331, 0, 738, 739, 0, 482, 483, 0, 0, 0, - 736, 737, 0, 0, 0, 0, 0, 0, 0, 0, + 627, 625, 628, 629, 699, 701, 0, 697, 700, 716, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 717, 0, 0, 0, 784, 785, 804, 805, 806, 807, + 841, 842, 843, 844, 845, 846, 0, 0, 0, 20, + 0, 0, 333, 0, 335, 961, 16, 954, 0, 0, + 242, 241, 238, 243, 244, 237, 256, 255, 248, 249, + 245, 247, 246, 250, 239, 240, 251, 252, 258, 257, + 253, 254, 0, 0, 977, 0, 966, 0, 965, 3, + 52, 0, 0, 0, 41, 38, 40, 43, 44, 45, + 46, 47, 50, 13, 0, 0, 0, 847, 422, 423, + 875, 0, 0, 0, 0, 0, 0, 0, 849, 848, + 0, 541, 535, 540, 731, 781, 702, 729, 728, 730, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 0, 0, 0, 813, 0, 0, 0, 747, + 746, 0, 0, 0, 0, 0, 0, 0, 0, 855, + 0, 0, 0, 0, 394, 0, 0, 0, 857, 862, + 0, 0, 0, 876, 0, 0, 0, 745, 741, 0, + 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, + 0, 0, 0, 0, 0, 622, 0, 548, 0, 0, + 546, 550, 551, 545, 555, 554, 552, 553, 615, 530, + 0, 415, 414, 0, 0, 0, 0, 0, 733, 0, + 332, 0, 739, 740, 0, 483, 484, 0, 0, 0, + 737, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 955, 697, 747, 735, 0, - 778, 779, 908, 923, 0, 0, 909, 911, 0, 935, - 894, 892, 916, 0, 0, 914, 917, 918, 919, 920, - 895, 893, 0, 0, 0, 336, 0, 18, 0, 0, - 0, 972, 0, 343, 0, 0, 0, 974, 0, 0, - 38, 651, 657, 649, 0, 646, 656, 650, 648, 647, - 654, 652, 653, 659, 655, 658, 660, 0, 0, 644, - 41, 50, 481, 0, 477, 478, 0, 0, 475, 0, - 749, 0, 0, 0, 810, 0, 777, 775, 776, 0, - 0, 0, 633, 0, 851, 849, 634, 0, 0, 503, - 0, 0, 0, 494, 0, 498, 508, 510, 0, 490, - 0, 0, 0, 0, 0, 485, 0, 488, 0, 492, - 363, 853, 852, 0, 0, 855, 865, 0, 0, 0, - 866, 0, 0, 877, 0, 0, 743, 0, 373, 369, - 370, 0, 0, 368, 371, 372, 0, 0, 0, 555, - 0, 0, 536, 0, 616, 695, 0, 0, 0, 689, - 691, 692, 693, 425, 426, 0, 339, 340, 0, 179, - 178, 180, 0, 0, 0, 0, 365, 0, 601, 0, - 0, 859, 0, 0, 0, 430, 0, 433, 0, 431, - 0, 471, 0, 0, 0, 0, 0, 460, 463, 0, - 0, 455, 462, 461, 590, 591, 592, 593, 594, 595, - 596, 597, 598, 600, 599, 556, 558, 557, 562, 563, + 0, 0, 0, 0, 0, 956, 698, 748, 736, 0, + 779, 780, 909, 924, 0, 0, 910, 912, 0, 936, + 895, 893, 917, 0, 0, 915, 918, 919, 920, 921, + 896, 894, 0, 0, 0, 337, 0, 18, 0, 0, + 0, 973, 0, 344, 0, 0, 0, 975, 0, 0, + 39, 652, 658, 650, 0, 647, 657, 651, 649, 648, + 655, 653, 654, 660, 656, 659, 661, 0, 0, 645, + 42, 51, 482, 0, 478, 479, 0, 0, 476, 0, + 750, 0, 0, 0, 811, 0, 778, 776, 777, 0, + 0, 0, 634, 0, 852, 850, 635, 0, 0, 504, + 0, 0, 0, 495, 0, 499, 509, 511, 0, 491, + 0, 0, 0, 0, 0, 486, 0, 489, 0, 493, + 364, 854, 853, 0, 0, 856, 866, 0, 0, 0, + 867, 0, 0, 878, 0, 0, 744, 0, 374, 370, + 371, 0, 0, 369, 372, 373, 0, 0, 0, 556, + 0, 0, 537, 0, 617, 696, 0, 0, 0, 690, + 692, 693, 694, 426, 427, 0, 340, 341, 0, 180, + 179, 181, 0, 0, 0, 0, 366, 0, 602, 0, + 0, 860, 0, 0, 0, 431, 0, 434, 0, 432, + 0, 472, 0, 0, 0, 0, 0, 461, 464, 0, + 0, 456, 463, 462, 591, 592, 593, 594, 595, 596, + 597, 598, 599, 601, 600, 557, 559, 558, 563, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 586, 0, 0, 507, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 907, 906, - 0, 915, 0, 905, 0, 0, 333, 970, 971, 357, - 0, 0, 0, 354, 0, 0, 176, 0, 0, 980, - 966, 968, 59, 57, 58, 0, 0, 52, 0, 0, - 60, 62, 26, 24, 0, 0, 0, 641, 0, 645, - 429, 0, 480, 0, 531, 0, 542, 165, 187, 0, - 0, 0, 155, 0, 0, 0, 166, 535, 0, 880, - 0, 832, 813, 0, 823, 0, 834, 0, 850, 787, - 0, 879, 0, 0, 493, 0, 509, 511, 0, 0, - 447, 0, 0, 443, 0, 0, 472, 0, 513, 487, - 0, 0, 140, 514, 138, 139, 516, 0, 530, 790, - 0, 870, 0, 863, 0, 867, 522, 0, 0, 0, - 358, 0, 520, 0, 0, 532, 887, 0, 883, 808, - 0, 898, 0, 896, 0, 0, 631, 632, 0, 0, - 0, 694, 682, 683, 681, 690, 609, 615, 608, 0, - 0, 338, 604, 0, 0, 0, 546, 858, 857, 733, - 434, 428, 432, 427, 533, 470, 469, 468, 465, 464, - 0, 459, 423, 424, 435, 436, 0, 589, 0, 756, - 0, 0, 613, 612, 924, 900, 0, 925, 0, 910, - 912, 921, 0, 936, 0, 904, 950, 19, 335, 679, - 678, 0, 677, 0, 353, 982, 177, 977, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 360, 0, 635, - 0, 0, 79, 78, 0, 476, 0, 0, 0, 0, - 0, 170, 541, 0, 0, 0, 0, 0, 824, 816, - 814, 0, 835, 0, 0, 878, 500, 499, 450, 0, - 0, 961, 962, 439, 445, 0, 448, 0, 474, 0, - 0, 0, 0, 0, 788, 873, 0, 864, 0, 528, - 523, 0, 0, 519, 0, 886, 0, 807, 899, 897, - 0, 537, 0, 617, 611, 341, 603, 602, 619, 467, - 0, 458, 457, 456, 588, 140, 0, 772, 754, 0, - 0, 0, 761, 0, 902, 0, 929, 0, 0, 944, - 945, 938, 0, 356, 355, 981, 0, 0, 61, 55, - 0, 63, 25, 22, 0, 0, 309, 0, 213, 0, - 102, 0, 76, 766, 113, 114, 0, 0, 0, 769, - 185, 186, 0, 0, 0, 0, 158, 167, 159, 161, - 811, 0, 0, 0, 0, 0, 833, 0, 0, 449, - 451, 452, 446, 440, 444, 0, 505, 0, 473, 484, - 438, 517, 515, 0, 869, 0, 0, 0, 524, 0, - 889, 0, 0, 630, 622, 0, 466, 0, 0, 752, - 751, 748, 762, 901, 0, 0, 0, 0, 922, 0, - 951, 969, 0, 0, 0, 68, 69, 72, 73, 0, - 326, 315, 314, 0, 636, 209, 97, 0, 750, 770, - 171, 0, 183, 0, 0, 0, 809, 891, 0, 0, - 0, 0, 815, 0, 836, 786, 489, 486, 795, 0, - 802, 0, 0, 793, 0, 798, 871, 527, 526, 888, - 884, 0, 620, 0, 0, 903, 926, 0, 913, 0, - 0, 940, 0, 74, 66, 0, 0, 0, 310, 0, - 0, 0, 0, 0, 172, 0, 162, 160, 881, 825, - 819, 817, 0, 0, 789, 794, 0, 799, 0, 0, - 623, 0, 764, 0, 930, 947, 948, 941, 54, 0, - 70, 71, 0, 0, 0, 0, 0, 0, 0, 771, - 169, 0, 182, 0, 0, 837, 801, 800, 0, 684, - 686, 872, 885, 773, 0, 0, 0, 75, 0, 0, - 327, 0, 0, 325, 311, 0, 319, 376, 0, 374, - 0, 637, 0, 666, 210, 98, 173, 882, 821, 818, - 0, 0, 830, 0, 927, 0, 942, 0, 0, 0, - 308, 0, 0, 663, 0, 0, 0, 667, 0, 0, - 0, 0, 0, 931, 28, 23, 328, 324, 0, 0, - 320, 375, 669, 0, 0, 0, 99, 820, 685, 0, - 0, 0, 0, 312, 674, 0, 675, 672, 0, 670, - 95, 0, 93, 0, 0, 82, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 94, 141, 0, 0, 226, - 218, 219, 220, 221, 222, 223, 224, 225, 0, 0, - 216, 0, 0, 928, 0, 329, 323, 0, 0, 0, - 638, 83, 0, 269, 264, 268, 0, 211, 217, 0, - 934, 932, 673, 671, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 0, 227, 0, 0, 235, 0, 153, - 142, 152, 0, 100, 0, 0, 263, 0, 0, 262, - 0, 146, 0, 0, 347, 0, 345, 0, 0, 188, - 0, 0, 0, 0, 0, 639, 212, 0, 103, 0, - 344, 0, 0, 0, 0, 117, 0, 0, 0, 0, - 0, 0, 151, 143, 0, 0, 192, 0, 348, 0, - 230, 229, 228, 0, 101, 0, 282, 0, 260, 119, - 0, 258, 0, 0, 0, 121, 0, 349, 0, 0, - 189, 0, 0, 0, 346, 233, 112, 110, 0, 0, - 286, 0, 0, 0, 0, 0, 147, 0, 266, 0, - 0, 0, 0, 125, 0, 0, 0, 0, 350, 351, - 0, 0, 0, 0, 0, 107, 301, 0, 283, 0, - 0, 295, 0, 0, 0, 290, 0, 137, 0, 0, - 0, 0, 132, 0, 0, 279, 0, 122, 0, 116, - 126, 144, 150, 200, 0, 190, 0, 0, 193, 0, - 111, 0, 104, 108, 0, 0, 0, 297, 0, 298, - 287, 0, 0, 281, 291, 261, 0, 0, 118, 133, - 259, 0, 277, 0, 267, 271, 128, 0, 0, 0, - 197, 199, 0, 234, 109, 302, 304, 284, 0, 0, - 296, 293, 136, 134, 148, 276, 0, 0, 0, 145, - 201, 203, 191, 0, 0, 0, 295, 0, 272, 274, - 129, 0, 0, 194, 306, 307, 303, 305, 294, 149, - 0, 0, 207, 206, 205, 202, 204, 0, 0, 0, - 195, 273, 275, + 0, 0, 0, 0, 0, 587, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 908, 907, + 0, 916, 0, 906, 0, 0, 334, 971, 972, 358, + 0, 0, 0, 355, 0, 0, 177, 0, 0, 981, + 967, 969, 60, 58, 59, 0, 0, 53, 0, 0, + 61, 63, 27, 25, 0, 0, 0, 642, 0, 646, + 430, 0, 481, 0, 532, 0, 543, 166, 188, 0, + 0, 0, 156, 0, 0, 0, 167, 536, 0, 881, + 0, 833, 814, 0, 824, 0, 835, 0, 851, 788, + 0, 880, 0, 0, 494, 0, 510, 512, 0, 0, + 448, 0, 0, 444, 0, 0, 473, 0, 514, 488, + 0, 0, 141, 515, 139, 140, 517, 0, 531, 791, + 0, 871, 0, 864, 0, 868, 523, 0, 0, 0, + 359, 0, 521, 0, 0, 533, 888, 0, 884, 809, + 0, 899, 0, 897, 0, 0, 632, 633, 0, 0, + 0, 695, 683, 684, 682, 691, 610, 616, 609, 0, + 0, 339, 605, 0, 0, 0, 547, 859, 858, 734, + 435, 429, 433, 428, 534, 471, 470, 469, 466, 465, + 0, 460, 424, 425, 436, 437, 0, 590, 0, 757, + 0, 0, 614, 613, 925, 901, 0, 926, 0, 911, + 913, 922, 0, 937, 0, 905, 951, 19, 336, 680, + 679, 0, 678, 0, 354, 983, 178, 978, 0, 0, + 54, 0, 0, 0, 0, 0, 0, 361, 0, 636, + 0, 0, 80, 79, 0, 477, 0, 0, 0, 0, + 0, 171, 542, 0, 0, 0, 0, 0, 825, 817, + 815, 0, 836, 0, 0, 879, 501, 500, 451, 0, + 0, 962, 963, 440, 446, 0, 449, 0, 475, 0, + 0, 0, 0, 0, 789, 874, 0, 865, 0, 529, + 524, 0, 0, 520, 0, 887, 0, 808, 900, 898, + 0, 538, 0, 618, 612, 342, 604, 603, 620, 468, + 0, 459, 458, 457, 589, 141, 0, 773, 755, 0, + 0, 0, 762, 0, 903, 0, 930, 0, 0, 945, + 946, 939, 0, 357, 356, 982, 0, 0, 62, 56, + 0, 64, 26, 22, 0, 0, 310, 0, 214, 0, + 103, 0, 77, 767, 114, 115, 0, 0, 0, 770, + 186, 187, 0, 0, 0, 0, 159, 168, 160, 162, + 812, 0, 0, 0, 0, 0, 834, 0, 0, 450, + 452, 453, 447, 441, 445, 0, 506, 0, 474, 485, + 439, 518, 516, 0, 870, 0, 0, 0, 525, 0, + 890, 0, 0, 631, 623, 0, 467, 0, 0, 753, + 752, 749, 763, 902, 0, 0, 0, 0, 923, 0, + 952, 970, 0, 0, 0, 69, 70, 73, 74, 0, + 327, 316, 315, 0, 637, 210, 98, 0, 751, 771, + 172, 0, 184, 0, 0, 0, 810, 892, 0, 0, + 0, 0, 816, 0, 837, 787, 490, 487, 796, 0, + 803, 0, 0, 794, 0, 799, 872, 528, 527, 889, + 885, 0, 621, 0, 0, 904, 927, 0, 914, 0, + 0, 941, 0, 75, 67, 0, 0, 0, 311, 0, + 0, 0, 0, 0, 173, 0, 163, 161, 882, 826, + 820, 818, 0, 0, 790, 795, 0, 800, 0, 0, + 624, 0, 765, 0, 931, 948, 949, 942, 55, 0, + 71, 72, 0, 0, 0, 0, 0, 0, 0, 772, + 170, 0, 183, 0, 0, 838, 802, 801, 0, 685, + 687, 873, 886, 774, 0, 0, 0, 76, 0, 0, + 328, 0, 0, 326, 312, 0, 320, 377, 0, 375, + 0, 638, 0, 667, 211, 99, 174, 883, 822, 819, + 0, 0, 831, 0, 928, 0, 943, 0, 0, 0, + 309, 0, 0, 664, 0, 0, 0, 668, 0, 0, + 0, 0, 0, 932, 29, 23, 329, 325, 0, 0, + 321, 376, 670, 0, 0, 0, 100, 821, 686, 0, + 0, 0, 0, 313, 675, 0, 676, 673, 0, 671, + 96, 0, 94, 0, 0, 83, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 95, 142, 0, 0, 227, + 219, 220, 221, 222, 223, 224, 225, 226, 0, 0, + 217, 0, 0, 929, 0, 330, 324, 0, 0, 0, + 639, 84, 0, 270, 265, 269, 0, 212, 218, 0, + 935, 933, 674, 672, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 0, 228, 0, 0, 236, 0, 154, + 143, 153, 0, 101, 0, 0, 264, 0, 0, 263, + 0, 147, 0, 0, 348, 0, 346, 0, 0, 189, + 0, 0, 0, 0, 0, 640, 213, 0, 104, 0, + 345, 0, 0, 0, 0, 118, 0, 0, 0, 0, + 0, 0, 152, 144, 0, 0, 193, 0, 349, 0, + 231, 230, 229, 0, 102, 0, 283, 0, 261, 120, + 0, 259, 0, 0, 0, 122, 0, 350, 0, 0, + 190, 0, 0, 0, 347, 234, 113, 111, 0, 0, + 287, 0, 0, 0, 0, 0, 148, 0, 267, 0, + 0, 0, 0, 126, 0, 0, 0, 0, 351, 352, + 0, 0, 0, 0, 0, 108, 302, 0, 284, 0, + 0, 296, 0, 0, 0, 291, 0, 138, 0, 0, + 0, 0, 133, 0, 0, 280, 0, 123, 0, 117, + 127, 145, 151, 201, 0, 191, 0, 0, 194, 0, + 112, 0, 105, 109, 0, 0, 0, 298, 0, 299, + 288, 0, 0, 282, 292, 262, 0, 0, 119, 134, + 260, 0, 278, 0, 268, 272, 129, 0, 0, 0, + 198, 200, 0, 235, 110, 303, 305, 285, 0, 0, + 297, 294, 137, 135, 149, 277, 0, 0, 0, 146, + 202, 204, 192, 0, 0, 0, 296, 0, 273, 275, + 130, 0, 0, 195, 307, 308, 304, 306, 295, 150, + 0, 0, 208, 207, 206, 203, 205, 0, 0, 0, + 196, 274, 276, }; protected static readonly short [] yyDgoto = { 7, 8, 49, 9, 50, 10, 11, 51, 232, 700, 662, @@ -9726,7 +9740,7 @@ void case_982() 706, 0, 8561, 9, 9, 0, 8718, 0, 482, 0, 279, 0, 9, 419, 9, 0, 1465, 1465, 501, 9, 9, -216,11828, 0,11148, 0,11828,11828,11828,11828, -11828,11828,11828,11828, 0, 133, 0, 7831, 0, 131, +11828,11828,11828,11828, 0, 133, 0, 8126, 0, 131, 0, 437, 505, 318, 429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 775, @@ -9735,26 +9749,26 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 614, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 332, 215, 0, - 451, 191, 0, 587, 0, 0, 0, 0, 7831, 7831, + 451, 191, 0, 587, 0, 0, 0, 0, 8126, 8126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 599, 0, 629, 0, 69, 0, 0, 0, 215,13031, 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 794, 641,11284, 0, 0, 0, 0,11148, 9, 9, 785, 331, 318, 168, 0, 0, - 7831, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -176, -267,12045, 0, 7831,11148, 716, 0, - 0, 734,11148,11148, 9503, -251, -118, 772, 8126, 0, -11828, 133, 889, 800, 0, 818, 7831,11148, 0, 0, + 0, 0, -176, -267,12045, 0, 8126,11148, 716, 0, + 0, 734,11148,11148, 9503, -251, -118, 772, 8421, 0, +11828, 133, 889, 800, 0, 818, 8126,11148, 0, 0, 830, 591, 9, 0,11148, 482,10604, 0, 0, 419, 11148, 419, -279, 539, 854, 168, 0, 614, 429, 919, 168,11148,11148,11148, 399, 0, 840, 0, 7029, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4270, 0, 0,12518, -279, 843, 857,11148, 0, 809, + 4429, 0, 0,12518, -279, 843, 857,11148, 0, 809, 0, -294, 0, 0, 356, 0, 0, 810, 8875,10468, 0, 0,11148,11148,11148,11148,11148,11148,11148,11148, -11148,11148,11148,11828,11828,11828, 7831, 7831,11828,11828, +11148,11148,11148,11828,11828,11828, 8126, 8126,11828,11828, 11828,11828,11828,11828,11828,11828,11828,11828,11828,11828, 11828,11828,11828,11828,11148, 0, 0, 0, 0, 614, 0, 0, 0, 0, 1465, 1465, 0, 0, 168, 0, @@ -9769,11 +9783,11 @@ void case_982() 438, 0, 897, 0, 892, 0, 0, 0, 596, 0, 8245, 615,11148, 772,10468, 0, 7500, 0, 419, 0, 0, 0, 0, 896, 92, 0, 0, 279, 482, -159, - 0, 4111, 900, 0, 135, 168, 0, 136, 0, 0, + 0, 4270, 900, 0, 135, 168, 0, 136, 0, 0, 0,11148, 975, 0, 0, 0,11148, 979, 901, 0, 904, 906, 0,12518, 0, 0, -186, 44, 7029, 0, 0, 0, 0, 0, 0, 482, 0, 0, -268, 0, - 0, 0, 419, -279, 168, 8421, 0, 907, 0, 908, + 0, 0, 419, -279, 168, 8578, 0, 907, 0, 908, 11828, 0, 1029, 920, 7029, 0, -300, 0, 240, 0, 809, 0, 81,11148,11148, 924, 1041, 0, 0, 123, -80, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9782,37 +9796,37 @@ void case_982() 260, 523, 568, 580, 593, 0, -161, -149, 0, 9032, 1005, 168, 1006, 168, 9032, 9032, 921,11148, 0, 0, 875, 0, 168, 0, 422, 809, 0, 0, 0, 0, - 481, 215, 31, 0, 8421, 551, 0, 931, 930, 0, + 481, 215, 31, 0, 8578, 551, 0, 931, 930, 0, 0, 0, 0, 0, 0, -279, 933, 0, 934, 936, - 0, 0, 0, 0, 938, 8578, 894, 0, 267, 0, + 0, 0, 0, 0, 938, 8735, 894, 0, 267, 0, 0, 321, 0,11284, 0, 932, 0, 0, 0, 454, -47, 942, 0, 941, 943, 944, 0, 0,11148, 0, 168, 0, 0, 704, 0, 945, 0, 427, 0, 0, 6872, 0, 6872, 8404, 0, 9503, 0, 0,10740, 151, 0, 114, -34, 0, 887, 899, 0, 91, 0, 0, 948, 949, 0, 0, 0, 0, 0, 950, 0, 0, - 958, 0, 4429, 0, 482, 0, 0, 419, 617, 905, + 958, 0, 4594, 0, 482, 0, 0, 419, 617, 905, 0, 175, 0, 955, 956, 0, 0, 6872, 0, 0, - 6872, 0,11148, 0,11148, 7831, 0, 0, 482, 959, + 6872, 0,11148, 0,11148, 8126, 0, 0, 482, 959, 482, 0, 0, 0, 0, 0, 0, 0, 0, 9032, - 7831, 0, 0, 168,12518, 987, 0, 0, 0, 0, + 8126, 0, 0, 168,12518, 987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10332, 0, 0, 0, 0, 0, 7657, 0, 9032, 0, 7814, 964, 0, 0, 0, 0, 1038, 0, 1039, 0, 0, 0, 566, 0, 966, 0, 0, 0, 0, 0, 0, 926, 0, -86, 0, 0, 0, 0, 551, 551, 0, 821, 976, 974, 937, 981, 894, 0, 977, 0, - 1093, 1095, 0, 0,11148, 0,10876, 980, 454, 8421, - 7831, 0, 0, -233, 1100, 1102, 137, 984, 0, 0, + 1093, 1095, 0, 0,11148, 0,10876, 980, 454, 8578, + 8126, 0, 0, -233, 1100, 1102, 137, 984, 0, 0, 0,11148, 0,11148, 1080, 0, 0, 0, 0, 41, 11012, 0, 0, 0, 0, 7950, 0, 1105, 0, 614, 11148, 999, 8404, 1001, 0, 0, 168, 0, 196, 0, 0, 809, 905, 0, 168, 0, -62, 0, 0, 0, 995, 0, 1027, 0, 0, 0, 0, 0, 0, 0, - 729, 0, 0, 0, 0, 0, 8126, 0, 0, 168, + 729, 0, 0, 0, 0, 0, 8421, 0, 0, 168, 13, 964, 0, 9032, 0, 9032, 0, 1020, 9032, 0, 0, 0, 584, 0, 0, 0, 1004, 821, 0, 0, -11420, 0, 0, 0, 1007, 4594, 0, 894, 0, 894, +11420, 0, 0, 0, 1007, 7517, 0, 894, 0, 894, 0, 894, 0, 0, 0, 0, 168, 1000, 980, 0, 0, 0, -166, -164, 1003, 1008, 0, 0, 0, 0, 0, 1010, 8404, 964, -149,11148, 0, 1009, 6872, 0, @@ -9830,13 +9844,13 @@ void case_982() 1049, 1049,10876, 1050, 0,11148, 0, 0, 0, 0, 0, 0, 6872, -139, 0, 0, 7029, 0, 784, 6872, 0, 1056, 0, 9032, 0, 0, 0, 0, 0,11148, - 0, 0, 215, 1055, 215, 7831, 1077, 1077, 1077, 0, + 0, 0, 215, 1055, 215, 8126, 1077, 1077, 1077, 0, 0,11148, 0, 6872, 9189, 0, 0, 0, 7029, 0, 0, 0, 0, 0, 1082, 9032,11148, 0, 215, 1060, 0, 1017, 789, 0, 0, 1057, 0, 0, 36, 0, 1018, 0, 1077, 0, 0, 0, 0, 0, 0, 0, 1061, 945, 0, 7029, 0, 1089, 0, 1063, 1077, 1184, - 0, 1073, 215, 0, 7831, -105, 1075, 0, 1090, 1092, + 0, 1073, 215, 0, 8126, -105, 1075, 0, 1090, 1092, 6872, 1076, 9032, 0, 0, 0, 0, 0, 1079, 1063, 0, 0, 0,12124, 120, 215, 0, 0, 0, 1106, 9032, 1085,11148, 0, 0, 1094, 0, 0, 1097, 0, @@ -9845,10 +9859,10 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 1099, 215, 0, 120, 168, 0, 1106, 0, 0, 1091,12124,12290, 0, 0, 20, 0, 0, 0,12322, 0, 0, 1101, - 0, 0, 0, 0, 7831, 7831, 265, 8126, 278, 419, + 0, 0, 0, 0, 8126, 8126, 265, 8421, 278, 419, 1127, 0, -279, 946, 0, 1163, 0, 0, 1063, 0, - 0, 0, 1063, 0, 1052, 1054, 0, 7831, -151, 0, - 7831, 0, 1059, 1103, 0, -279, 0, -45,10251, 0, + 0, 0, 1063, 0, 1052, 1054, 0, 8126, -151, 0, + 8126, 0, 1059, 1103, 0, -279, 0, -45,10251, 0, 1104, 1062, 73, 506, 3845, 0, 0, 1063, 0, -279, 0, 1111, 1065, 1110, 1108, 0, 1114, 1054, 1115, 144, 1107, 1117, 0, 0, 1116, 1128, 0, 809, 0, 795, @@ -9871,19 +9885,19 @@ void case_982() 10468,10468, 0, 0, 0, 0, 0, 1197, 1194, 1195, 0, 0, 0, }; - protected static readonly short [] yyRindex = { 1410, - 0, 0, 7186, 1410, 0, 0, 0, 1568, 0, 0, + protected static readonly short [] yyRindex = { 1788, + 0, 0, 7186, 1788, 0, 0, 0, 1568, 0, 0, 1513, 1341, 0, 0, 0, 0, 0, 1513, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 0, 0, 1569, 0, 0, 1568, - 3215, 1788, 0, 0, 0, 0, 0, 0, 0, 0, + 1879, 3172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, 0, 0, 0, 0, - 8735, 0, 1196, 0, 0, 0, 1196, 0, 0, 0, + 8892, 0, 1196, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4587, 0, 0, 0, 0, - 0, 0, 286, 4680, 1796, 0, 0, 0, 0, 0, + 0, 0, 286, 4680, 4022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4836, 4904, 5144, 5348, 5688, 5892, 6028, 6164, 6300, 6436, 1187, 2889, @@ -9916,7 +9930,7 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3913, 0, 0, 0, 0, 0, 0, 0, 3424, 3467, 0, 0, 0, 0, 2275, 1569, - 1569, 0, -10, 0, 7517, 1569, 1595, 0, 0, 245, + 1569, 0, -10, 0, 7674, 1569, 1595, 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453,11977, 0, 0, 0, 0, 3633, 0, 0, 0, 0, 0, 0, @@ -9938,17 +9952,17 @@ void case_982() 5960, 6096, 6232, 6368, 6492, 0, 0, 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3913, 0, 0, 0, 0, 2275, 0, 0, 0, 0, - 1183, 9694, 0, 0, 0, 8892, 0, 0, 755, 0, + 1183, 9694, 0, 0, 0, 9049, 0, 0, 755, 0, 0, 0, 0, 0, 0, 683, 698, 0, 0, 1230, - 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, - 0,11556, 0, 0, 0, 758, 0, 0, 0, 9049, + 0, 0, 0, 0, 1410, 0, 0, 0, 0, 0, + 0,11556, 0, 0, 0, 758, 0, 0, 0, 9206, 12442, 0, 0, 759, 766, 796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1238, 0, 0, 0, 3699, + 0, 0, 0, 0, 0, 1235, 0, 0, 0, 3699, 0, 0, 177, 0, 98, 3792, 0, 0, 0, 0, - 0, 1232, 0, 0, 0, 0, 0, 1239, 0, 0, + 0, 1232, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 676, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9956,42 +9970,42 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 472, 0, 0, 0, 0, 0, - 0, 0, 0, -10, 0, 0, 0, 0, 9049, 7674, - 0, 1240, 0, 700, 0, 0, 0, 0, 1244, 0, - 1201, 1206, 0, 0, 0, 0, 0, 1245, 9206, 0, + 0, 0, 0, -10, 0, 0, 0, 0, 9206, 7831, + 0, 1237, 0, 700, 0, 0, 0, 0, 1242, 0, + 1192, 1201, 0, 0, 0, 0, 0, 1239, 9363, 0, 0, 0, 0,12474, 0, 0, 0, 798, 0, 0, 0, 0, 0, 0, 2149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3951, - 0, 4428, 1246, 0, 0, 0, 1243, 0, 0, 0, + 0, 4428, 1243, 0, 0, 0, 1245, 0, 0, 0, 0, 333, 0, 0, 0, 0, 798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1247, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0, 0, 0, 814, 820, 0, 0, 0, 0, - 0, 0, 0, 1248, 608, 1250, 0, 0, 0, 0, + 0, 0, 0, 1249, 608, 1247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4110, 0, 0, - 0, 0, 0, 1249, 0, 0, 333, 0, 0, 846, - 0, 1248, 0, 0, 0, 9346, 0, 643, 654, 0, + 0, 0, 0, 1246, 0, 0, 333, 0, 0, 846, + 0, 1249, 0, 0, 0, 9346, 0, 643, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1230, 9540, 0, 0, 0, 0, 0,12605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 630, 0, 737, 0, 0, 0, 0, 1255, 0, - 736, 1252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1261, 0, 7343, 0, 0, 0, 0, 0, + 0, 630, 0, 737, 0, 0, 0, 0, 1252, 0, + 736, 1250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1259, 0, 7343, 0, 0, 0, 0, 0, 0, 9346, 0, 0, 0, 0, 0, 0, 0, -154, 484, 0, 0, 0, 0, 0,12681,12366, 0, 218, 218, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,12724, 0, -285, 0, 1263, 1263, 1263, 0, - 0, 0, 0, 0, 1259, 0, 0, 0, -182, 0, + 0, 0,12724, 0, -285, 0, 1261, 1261, 1261, 0, + 0, 0, 0, 0, 1257, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0,12767, 0, - 0, 0, 9997, 0, 0, 1264, 0, 0, 369, 0, + 0, 0, 9997, 0, 0, 1262, 0, 0, 369, 0, 0, 0, 533, 0, 0, 0, 0, 0, 0, 0, - 0, 1262, 0, 1267, 0, 0, 0, 3172, 1260, 537, + 0, 1260, 0, 1263, 0, 0, 0, 3215, 1258, 537, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3089, 0, 0, 0, 0, 9799,10083, 0, 0, 0, 642, @@ -10004,20 +10018,20 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 457, 0,10219, 0, 0, 0, 4810, 0, 3089, 0, 0, 0, 3089, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 271, 0, 1272, 0, 0, + 0, 0, 0, 0, 0, 271, 0, 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3089, 0, 543, 0, 494, 0, 0, 0, 0, 0, 0, 0,12366, - 819, 0, 0, 0, 0, 0, 0, 1235, 0, 516, + 819, 0, 0, 0, 0, 0, 0, 1266, 0, 516, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, - 0, 0, 0, 0, 0, 0, 1265, 0,12366,12366, - 0,12398, 0, 0, 0, 0, 0, 0, 1268,12991, + 0, 0, 0, 0, 0, 0, 1264, 0,12366,12366, + 0,12398, 0, 0, 0, 0, 0, 0, 1265,12991, 0, 1269,12366,11692, 1270,12366, 0, 0, 0, 0, 0, 0, 1271, 0, 0, 0,12961, 0, 0, 0, 12366, 0, 0, 0, 1273, 0, 0, 378, 0,12885, 12923, 0, 0, 0, 1278, 0, 0, 0, 0, 0, 0, 1279, 0, 0,12366, 0, 664, 0, 825, 0, 0, 0, 0, 0, 861, 0,12809,12847, 0, 0, - 0, 0, 0, 0, 0, 0, 1325, 0, 1393, 0, + 0, 0, 0, 0, 0, 0, 1321, 0, 1381, 0, 0, 0, 829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -10028,49 +10042,49 @@ void case_982() 0, 0, 0, }; protected static readonly short [] yyGindex = { 0, - 0, 1607, 0, 0, 0, 2, -16, -180, -48, -43, - 0, 1647, 1655, 101, 0, 4, 0, 0, 0, 0, + 0, 1606, 0, 0, 0, 2, -16, -180, -48, -43, + 0, 1645, 1654, 101, 0, 4, 0, 0, 0, 0, 0,-1020, -693, -215, -482, 0, 0, 0, 0, 0, - -224, 0, 0, 0, 703, 0, 811, 0, 0, 0, - 0, 560, 563, -17, -226, 0, -46, 0, 393, 0, - 430, -573, -569, -553, -471, -469, -462, -444, -435, 0, + -224, 0, 0, 0, 702, 0, 811, 0, 0, 0, + 0, 555, 560, -17, -226, 0, -46, 0, 393, 0, + 424, -573, -569, -553, -471, -469, -462, -444, -435, 0, -1042,-1171, 0, 1, 0, 129, 0,-1095, 0, 0, 0, -44, 220, 0, 0, 0, 258,-1073, 0, -273, - -293, 992, 0, 0, 0, -899, 212, 0, 0, -501, - 0, 0, 281, 0, 0, 249, 0, 0, 287, 0, - -579, -976, 0, 0, 0, 0, 0, 382, -13, 0, - 0, 815, 816, 822, 988, -528, 0, 0, -321, 823, + -293, 989, 0, 0, 0, -899, 210, 0, 0, -501, + 0, 0, 277, 0, 0, 249, 0, 0, 287, 0, + -579, -976, 0, 0, 0, 0, 0, 380, -13, 0, + 0, 812, 815, 816, 988, -528, 0, 0, -321, 823, 377, 0,-1327, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 432, 0, 0, 0, 0, -335, 362, 0, 0, 0, + 426, 0, 0, 0, 0, -335, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 0, -514, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 201, 0, - 0, 288, 0, 0, 283, 285, 210, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, + 0, 283, 0, 0, 284, 293, 219, 0, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, - -39, 0, 552, -173, 0, 0, 364, 0, 421, 0, - 882, 0, 1204, -286, -265, -56, 947, 0, 524, 0, + -39, 0, 552, -173, 0, 0, 344, 0, 412, 0, + 880, 0, 1204, -286, -265, -56, 947, 0, 521, 0, -30, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, 0, 367, 0, -333, 0, -773, 0, 0, - 0, 832, 0, -296, -126, 1012, 0, 917, 0, 1155, - 1368, 1053, 0, 0, 731, 1678, 0, 0, 0, 0, - 1028, 0, 0, 0, 0, 0, -506, 1416, 0, 0, - 0, 0, 0, 1190, 855, 845, 748, 852, 1356, 1358, - 1355, 1357, 1359, 0, 1360, 0, -611, 0, 0, 968, - 1207, -714, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -298, 0, 0, 0, 0, -458, 0, 585, - 0, 487, 0, 573, 0, 0, 0, 646, -534, -5, - -313, -3, 0, 1618, 0, 68, 0, 70, 74, 99, + 0, 832, 0, -296, -126, 1012, 0, 912, 0, 1139, + 1368, 1051, 0, 0, 731, 1676, 0, 0, 0, 0, + 1024, 0, 0, 0, 0, 0, -506, 1414, 0, 0, + 0, 0, 0, 1190, 855, 845, 748, 852, 1352, 1354, + 1355, 1353, 1356, 0, 1357, 0, -611, 0, 0, 963, + 1208, -714, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -298, 0, 0, 0, 0, -458, 0, 581, + 0, 487, 0, 569, 0, 0, 0, 640, -534, -5, + -313, -3, 0, 1611, 0, 68, 0, 70, 74, 99, 125, 142, 149, 156, 157, 163, 171, 0, -674, 0, - -7, 0, 0, 782, 0, 707, 0, 0, 0, 0, - 685, -322, 762, -863, 0, 803, -461, 0, 0, 0, - 0, 0, 0, 708, 0, 0, 701, 0, 0, 0, + -7, 0, 0, 778, 0, 709, 0, 0, 0, 0, + 680, -322, 762, -863, 0, 803, -461, 0, 0, 0, + 0, 0, 0, 703, 0, 0, 707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 0, 0, 0, 0, 0, 0, - 0, -27, 0, 1274, 0, 0, 0, 876, 0, 0, + 0, -27, 0, 1274, 0, 0, 0, 874, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, - 1374, 1150, 0, 0, 0, 1376, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 517, 0, 0, 0, 0, + 1369, 1150, 0, 0, 0, 1374, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, 64, 957, 0, 0, 0, 962, }; @@ -10080,124 +10094,124 @@ void case_982() 476, 292, 538, 192, 786, 562, 115, 319, 257, 712, 406, 514, 576, 830, 831, 549, 601, 1028, 502, 1150, 325, 330, 326, 331, 251, 337, 885, 794, 886, 311, - 800, 258, 1185, 1186, 904, 303, 364, 959, 372, 310, - 335, 14, 544, 356, 629, 312, 924, 314, 115, 782, - 1280, 673, 115, 363, 943, 371, 190, 340, 1033, 485, - 20, 683, 316, 1079, 160, 797, 161, 1287, 1, 1061, - 162, 1063, 259, 916, 818, 1080, 918, 674, 318, 717, - 487, 946, 1174, 1217, 1345, 791, 820, 985, 488, 528, + 800, 258, 1185, 1186, 904, 303, 364, 960, 372, 310, + 335, 14, 544, 356, 630, 312, 924, 314, 115, 782, + 1280, 673, 115, 363, 944, 371, 190, 340, 1033, 485, + 20, 683, 317, 1079, 160, 798, 161, 1287, 1, 1061, + 162, 1063, 259, 916, 818, 1080, 918, 674, 319, 717, + 487, 947, 1174, 1217, 1345, 791, 820, 985, 488, 528, 229, 350, 403, 351, 1080, 163, 1157, 1002, 507, 1481, 1482, 197, 508, 587, 404, 408, 755, 801, 1011, 675, - 288, 1144, 47, 588, 351, 231, 846, 510, 289, 109, - 233, 164, 476, 111, 639, 434, 290, 792, 47, 436, - 1223, 155, 197, 156, 440, 441, 349, 943, 165, 1473, - 1174, 489, 943, 486, 943, 166, 115, 943, 943, 660, - 943, 943, 167, 168, 196, 816, 1514, 1216, 925, 169, - 629, 436, 629, 450, 946, 797, 586, 170, 434, 946, - 2, 946, 943, 1021, 946, 946, 761, 946, 946, 1234, + 288, 1144, 48, 588, 351, 231, 846, 510, 289, 109, + 233, 164, 476, 111, 639, 434, 290, 792, 48, 436, + 1223, 155, 197, 156, 440, 441, 349, 944, 165, 1473, + 1174, 489, 944, 486, 944, 166, 115, 944, 944, 660, + 944, 944, 167, 168, 196, 816, 1514, 1216, 925, 169, + 630, 436, 630, 450, 947, 798, 586, 170, 434, 947, + 2, 947, 944, 1021, 947, 947, 761, 947, 947, 1234, 477, 291, 336, 1387, 350, 1033, 290, 935, 872, 472, - 1353, 481, 260, 819, 735, 720, 482, 451, 577, 946, + 1353, 481, 260, 819, 735, 720, 482, 451, 577, 947, 739, 895, 887, 15, 160, 290, 161, 351, 448, 475, - 162, 821, 576, 676, 480, 1158, 352, 629, 191, 797, - 577, 352, 492, 684, 6, 562, 1455, 943, 511, 1081, + 162, 821, 576, 676, 480, 1158, 353, 630, 191, 798, + 577, 352, 492, 684, 6, 562, 1455, 944, 511, 1081, 512, 1062, 249, 1064, 257, 163, 3, 4, 5, 6, - 366, 291, 524, 537, 257, 657, 1346, 541, 1081, 1224, - 493, 562, 546, 1479, 946, 497, 499, 490, 1474, 543, - 291, 164, 231, 47, 548, 1489, 442, 1490, 1336, 545, - 525, 1204, 1337, 817, 115, 47, 899, 533, 165, 535, + 367, 291, 524, 537, 257, 657, 1346, 541, 1081, 1224, + 493, 562, 546, 1479, 947, 497, 499, 490, 1474, 543, + 291, 164, 231, 48, 548, 1489, 442, 1490, 1336, 545, + 525, 1204, 1337, 817, 115, 48, 899, 533, 165, 535, 691, 250, 534, 497, 513, 166, 568, 16, 722, 536, - 1523, 1093, 167, 168, 959, 551, 552, 1365, 993, 169, - 359, 231, 477, 477, 1076, 1354, 115, 170, 1388, 577, + 1523, 1093, 167, 168, 960, 551, 552, 1365, 993, 169, + 360, 231, 477, 477, 1076, 1354, 115, 170, 1388, 577, 584, 721, 1034, 561, 1036, 563, 806, 1039, 1451, 896, 583, 983, 619, 620, 847, 387, 899, 750, 115, 1103, - 761, 475, 598, 959, 54, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 359, 366, 641, 643, - 642, 644, 647, 1375, 366, 1241, 366, 1131, 366, 249, + 761, 475, 598, 960, 54, 605, 606, 607, 608, 609, + 610, 611, 612, 613, 614, 615, 360, 367, 641, 643, + 642, 644, 647, 1375, 367, 1241, 367, 1131, 367, 249, 1030, 388, 1500, 1417, 233, 1444, 94, 637, 1031, 434, 767, 770, 991, 447, 661, 1310, 357, 1359, 1319, 698, - 436, 1012, 1405, 1406, 844, 1408, 1019, 47, 1000, 1205, - 877, 783, 1520, 802, 901, 804, 1427, 805, 746, 1434, - 997, 94, 366, 1096, 723, 1098, 1099, 261, 250, 2, + 436, 1012, 1405, 1406, 844, 1408, 1019, 48, 1000, 1205, + 877, 783, 1520, 802, 901, 804, 1427, 805, 747, 1434, + 997, 94, 367, 1096, 723, 1098, 1099, 261, 250, 2, 1524, 285, 286, 287, 1450, 293, 294, 472, 655, 701, 307, 308, 20, 710, 358, 718, 845, 315, 1156, 317, 807, 321, 677, 564, 694, 1163, 333, 334, 1472, 577, - 900, 389, 390, 751, 901, 959, 746, 476, 477, 502, - 708, 959, 784, 576, 686, 349, 472, 931, 687, 1188, + 900, 389, 390, 751, 901, 960, 747, 476, 477, 502, + 708, 960, 784, 576, 686, 349, 472, 931, 687, 1188, 370, 892, 839, 711, 699, 760, 42, 48, 231, 769, - 1360, 1068, 352, 349, 813, 737, 231, 598, 231, 745, + 1360, 1068, 353, 349, 813, 737, 231, 598, 231, 745, 115, 6, 436, 658, 659, 359, 768, 771, 992, 671, - 565, 1088, 231, 1089, 752, 754, 642, 453, 1486, 687, - 1317, 642, 1165, 350, 772, 642, 342, 746, 793, 774, - 290, 891, 441, 1320, 577, 759, 1228, 290, 860, 688, - 642, 350, 893, 688, 442, 454, 351, 981, 199, 1496, - 349, 814, 787, 561, 1196, 563, 661, 1497, 290, 741, - 352, 734, 861, 437, 351, 741, 438, 642, 115, 1318, - 1487, 194, 413, 976, 453, 352, 808, 808, 352, 561, - 687, 563, 1321, 231, 661, 291, 642, 413, 1104, 862, - 933, 642, 912, 441, 115, 827, 642, 829, 350, 735, - 642, 1230, 454, 352, 688, 442, 837, 352, 897, 352, - 352, 352, 352, 1017, 741, 642, 734, 352, 1498, 1275, + 565, 1088, 231, 1089, 752, 754, 643, 454, 1486, 688, + 1317, 643, 1165, 350, 772, 643, 343, 747, 793, 774, + 290, 891, 442, 1320, 577, 759, 1228, 290, 860, 688, + 643, 350, 893, 689, 443, 455, 351, 981, 199, 1496, + 349, 814, 787, 561, 1196, 563, 662, 1497, 290, 742, + 352, 735, 861, 437, 351, 742, 438, 643, 115, 1318, + 1487, 194, 413, 976, 454, 353, 808, 808, 352, 561, + 688, 563, 1321, 231, 662, 291, 643, 413, 1104, 862, + 933, 643, 912, 442, 115, 827, 643, 829, 350, 735, + 643, 1230, 455, 353, 689, 443, 837, 353, 897, 353, + 353, 353, 353, 1017, 742, 643, 735, 353, 1498, 1275, 315, 351, 824, 370, 786, 411, 863, 824, 824, 649, - 833, 200, 245, 864, 1007, 352, 246, 342, 194, 194, - 642, 342, 642, 337, 115, 94, 115, 477, 330, 249, - 521, 115, 1261, 351, 330, 414, 1262, 397, 398, 194, - 415, 642, 416, 515, 879, 417, 418, 803, 419, 420, + 833, 200, 245, 864, 1007, 352, 246, 343, 194, 194, + 643, 343, 643, 338, 116, 94, 116, 477, 331, 249, + 521, 116, 1261, 351, 331, 414, 1262, 397, 398, 194, + 415, 643, 416, 515, 879, 417, 418, 803, 419, 420, 414, 1069, 1263, 391, 392, 415, 475, 416, 412, 532, - 417, 418, 883, 419, 420, 342, 247, 859, 249, 337, - 365, 497, 642, 712, 244, 257, 1261, 1072, 250, 1069, - 1262, 337, 541, 330, 337, 337, 745, 662, 907, 366, - 367, 737, 414, 745, 739, 913, 1263, 415, 337, 416, - 884, 350, 417, 418, 640, 419, 420, 937, 641, 368, - 115, 921, 115, 248, 1049, 662, 1341, 250, 657, 939, - 369, 908, 1243, 1260, 351, 421, 926, 927, 640, 1355, - 194, 194, 641, 745, 1264, 919, 1265, 920, 352, 570, + 417, 418, 883, 419, 420, 343, 247, 859, 249, 338, + 365, 497, 643, 712, 244, 257, 1261, 1072, 250, 1069, + 1262, 338, 541, 331, 338, 338, 745, 663, 907, 366, + 367, 737, 414, 746, 739, 913, 1263, 415, 338, 416, + 884, 350, 417, 418, 641, 419, 420, 938, 642, 368, + 115, 921, 115, 248, 1049, 663, 1341, 250, 657, 940, + 369, 908, 1243, 1260, 351, 421, 926, 927, 641, 1355, + 194, 194, 642, 746, 1264, 919, 1265, 920, 352, 570, 431, 869, 1243, 1266, 477, 922, 571, 787, 1373, 262, - 477, 352, 824, 589, 840, 640, 337, 115, 572, 641, - 115, 1267, 337, 590, 1041, 361, 841, 1260, 337, 1243, - 1268, 337, 337, 598, 437, 661, 1114, 838, 1264, 598, - 1265, 824, 650, 745, 318, 337, 1124, 1266, 1115, 225, - 937, 226, 194, 562, 318, 937, 668, 937, 724, 976, - 937, 937, 939, 937, 937, 1267, 984, 939, 350, 939, - 701, 435, 939, 939, 1268, 939, 939, 337, 194, 413, - 745, 350, 1153, 839, 668, 562, 527, 973, 94, 493, - 194, 351, 709, 668, 360, 677, 570, 965, 194, 528, - 1015, 361, 1018, 571, 351, 352, 998, 280, 1020, 280, - 690, 332, 94, 1001, 280, 572, 529, 362, 1187, 1049, - 562, 1361, 352, 1009, 337, 745, 352, 337, 337, 352, - 318, 352, 94, 1029, 753, 361, 352, 933, 1438, 665, - 937, 1215, 194, 693, 321, 194, 399, 694, 665, 342, - 321, 437, 939, 342, 477, 337, 342, 322, 342, 950, - 951, 1053, 414, 342, 318, 364, 824, 415, 824, 416, - 1058, 824, 417, 418, 757, 419, 420, 664, 194, 194, - 393, 394, 757, 1048, 1307, 225, 664, 228, 472, 1160, - 1161, 1307, 44, 451, 395, 396, 400, 342, 1284, 1277, + 477, 353, 824, 589, 840, 641, 338, 115, 572, 642, + 115, 1267, 338, 590, 1041, 361, 841, 1260, 338, 1243, + 1268, 338, 338, 598, 437, 661, 1114, 838, 1264, 598, + 1265, 824, 650, 745, 318, 338, 1124, 1266, 1115, 225, + 938, 226, 194, 562, 318, 938, 669, 938, 724, 976, + 938, 938, 940, 938, 938, 1267, 984, 940, 350, 940, + 701, 435, 940, 940, 1268, 940, 940, 338, 194, 413, + 746, 350, 1153, 839, 669, 562, 527, 973, 94, 493, + 194, 351, 709, 669, 360, 677, 570, 965, 194, 528, + 1015, 361, 1018, 571, 351, 352, 998, 281, 1020, 281, + 690, 332, 94, 1001, 281, 572, 529, 362, 1187, 1049, + 562, 1361, 353, 1009, 338, 745, 353, 338, 338, 353, + 318, 353, 94, 1029, 753, 361, 353, 934, 1438, 666, + 938, 1215, 194, 693, 322, 194, 399, 694, 666, 343, + 322, 437, 940, 343, 477, 338, 343, 323, 343, 950, + 951, 1053, 414, 343, 318, 365, 824, 415, 824, 416, + 1058, 824, 417, 418, 758, 419, 420, 665, 194, 194, + 393, 394, 758, 1048, 1307, 225, 665, 228, 472, 1160, + 1161, 1307, 44, 451, 395, 396, 400, 343, 1284, 1277, 1491, 677, 1169, 113, 401, 727, 194, 194, 1055, 728, - 1056, 501, 1057, 361, 337, 745, 337, 501, 497, 753, - 933, 753, 296, 753, 736, 933, 194, 933, 508, 909, - 933, 933, 402, 933, 933, 337, 337, 1511, 405, 168, - 194, 168, 318, 168, 439, 113, 1529, 1530, 115, 113, - 774, 521, 787, 443, 774, 337, 774, 824, 774, 824, - 824, 763, 1100, 337, 758, 763, 337, 763, 758, 763, - 270, 270, 758, 329, 329, 225, 364, 364, 364, 270, - 364, 364, 753, 364, 330, 364, 446, 330, 753, 473, - 753, 1107, 337, 337, 329, 337, 337, 56, 474, 477, - 502, 335, 493, 415, 701, 415, 502, 64, 64, 65, - 933, 64, 295, 65, 296, 880, 1132, 745, 787, 881, - 471, 231, 822, 762, 415, 415, 822, 364, 1048, 364, - 1143, 495, 364, 826, 233, 493, 1172, 826, 493, 434, - 1027, 1173, 817, 113, 415, 194, 181, 757, 181, 496, - 181, 757, 415, 1136, 1137, 415, 824, 1105, 976, 1106, - 233, 561, 1168, 563, 979, 434, 979, 194, 156, 436, - 156, 765, 115, 765, 493, 163, 115, 163, 517, 115, + 1056, 502, 1057, 361, 338, 745, 338, 502, 497, 754, + 934, 754, 296, 754, 736, 934, 194, 934, 508, 909, + 934, 934, 402, 934, 934, 338, 338, 1511, 405, 169, + 194, 169, 318, 169, 439, 113, 1529, 1530, 115, 113, + 775, 521, 787, 443, 775, 338, 775, 824, 775, 824, + 824, 764, 1100, 338, 759, 764, 338, 764, 759, 764, + 271, 271, 759, 329, 329, 225, 365, 365, 365, 271, + 365, 365, 754, 365, 331, 365, 446, 331, 754, 473, + 754, 1107, 338, 338, 329, 338, 338, 57, 474, 477, + 503, 335, 493, 416, 701, 416, 503, 65, 65, 66, + 934, 65, 295, 66, 296, 880, 1132, 745, 787, 881, + 471, 231, 823, 762, 416, 416, 823, 365, 1048, 365, + 1143, 495, 365, 827, 233, 493, 1172, 827, 493, 434, + 1027, 1173, 817, 113, 416, 194, 182, 758, 182, 496, + 182, 758, 416, 1136, 1137, 416, 824, 1105, 976, 1106, + 233, 561, 1168, 563, 980, 434, 980, 194, 157, 436, + 157, 766, 115, 766, 493, 164, 115, 164, 517, 115, 625, 626, 627, 628, 522, 329, 329, 542, 824, 1100, - 1160, 1161, 1352, 561, 1172, 563, 1201, 231, 337, 1173, - 384, 385, 386, 115, 337, 164, 1352, 164, 115, 890, - 337, 890, 362, 605, 337, 605, 1242, 1259, 67, 1238, - 67, 1173, 555, 187, 1383, 187, 1384, 337, 561, 157, - 563, 157, 120, 523, 120, 824, 1242, 285, 127, 285, - 127, 1173, 292, 115, 292, 526, 452, 329, 351, 443, - 1501, 1502, 547, 824, 581, 493, 194, 525, 525, 337, - 115, 1259, 351, 1242, 642, 642, 1291, 591, 1173, 453, + 1160, 1161, 1352, 561, 1172, 563, 1201, 231, 338, 1173, + 384, 385, 386, 115, 338, 165, 1352, 165, 115, 891, + 338, 891, 362, 606, 338, 606, 1242, 1259, 68, 1238, + 68, 1173, 555, 188, 1383, 188, 1384, 338, 561, 158, + 563, 158, 121, 523, 121, 824, 1242, 286, 128, 286, + 128, 1173, 293, 115, 293, 526, 452, 329, 351, 443, + 1501, 1502, 547, 824, 581, 493, 194, 526, 526, 338, + 115, 1259, 351, 1242, 643, 643, 1291, 591, 1173, 453, 653, 113, 582, 329, 1238, 623, 624, 194, 355, 1148, 1149, 672, 454, 621, 622, 329, 692, 456, 629, 630, 1315, 1316, 457, 329, 458, 459, 460, 461, 656, 695, @@ -10209,571 +10223,571 @@ void case_982() 855, 42, 867, 873, 874, 196, 875, 876, 882, 902, 1362, 898, 817, 903, 905, 910, 914, 194, 915, 929, 923, 945, 947, 329, 329, 701, 701, 940, 701, 952, - 34, 1418, 194, 954, 961, 960, 194, 964, 969, 701, - 971, 966, 701, 977, 963, 989, 359, 990, 1445, 999, + 35, 1418, 194, 954, 961, 960, 194, 964, 969, 701, + 971, 966, 701, 977, 963, 989, 360, 990, 1445, 999, 1006, 329, 329, 1326, 993, 511, 1024, 701, 1013, 1025, - 1038, 1457, 1459, 1042, 1094, 1059, 1065, 1051, 1095, 359, + 1038, 1457, 1459, 1042, 1094, 1059, 1065, 1051, 1095, 360, 1075, 1066, 745, 1077, 1312, 1067, 1087, 1091, 1097, 1109, - 1117, 701, 359, 1113, 493, 1118, 1119, 359, 1445, 1445, - 232, 1116, 359, 194, 359, 359, 359, 359, 1121, 33, - 1122, 1467, 359, 1125, 1135, 1181, 359, 1139, 1138, 1151, - 359, 194, 194, 1146, 373, 1164, 1171, 1198, 359, 1195, - 1203, 359, 1211, 359, 1200, 1206, 1214, 113, 1215, 1218, - 1220, 1225, 585, 1229, 745, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 1445, 1226, 359, 1227, 1233, + 1117, 701, 360, 1113, 493, 1118, 1119, 360, 1445, 1445, + 233, 1116, 360, 194, 360, 360, 360, 360, 1121, 24, + 1122, 1467, 360, 1125, 1135, 1181, 360, 1139, 1138, 1151, + 360, 194, 194, 1146, 373, 1164, 1171, 1198, 360, 1195, + 1203, 360, 1211, 360, 1200, 1206, 1214, 113, 1215, 1218, + 1220, 1225, 586, 1229, 745, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 1445, 1226, 360, 1227, 1233, 1276, 1273, 1293, 1322, 1278, 1281, 1288, 1335, 1314, 1339, 1279, 1340, 1357, 1350, 477, 477, 1349, 1367, 329, 1358, 1369, 745, 1360, 1370, 1372, 1374, 1380, 1376, 194, 1378, 338, 1516, 1516, 1386, 1381, 1397, 1409, 1394, 1525, 1525, 329, 1391, 1398, 598, 598, 113, 1401, 1399, 1428, 194, - 1410, 1504, 31, 359, 1413, 1423, 1430, 194, 1442, 1440, - 1443, 550, 329, 1449, 1488, 585, 1439, 1453, 1464, 1452, - 585, 113, 585, 585, 585, 585, 585, 585, 585, 585, - 585, 585, 585, 1463, 1466, 1469, 1471, 1468, 1477, 1484, - 1493, 1492, 1503, 1495, 585, 1487, 585, 1486, 585, 1509, - 585, 585, 585, 1510, 1531, 1532, 1533, 9, 975, 538, - 606, 860, 496, 616, 617, 618, 585, 861, 550, 550, + 1410, 1504, 32, 360, 1413, 1423, 1430, 194, 1442, 1440, + 1443, 550, 329, 1449, 1488, 586, 1439, 1453, 1464, 1452, + 586, 113, 586, 586, 586, 586, 586, 586, 586, 586, + 586, 586, 586, 1463, 1466, 1469, 1471, 1468, 1477, 1484, + 1493, 1492, 1503, 1495, 586, 1487, 586, 1486, 586, 1509, + 586, 586, 586, 1510, 1531, 1532, 1533, 9, 976, 539, + 607, 861, 497, 616, 617, 618, 586, 862, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, - 550, 550, 550, 550, 967, 497, 453, 34, 607, 29, - 676, 34, 21, 454, 506, 495, 29, 337, 521, 30, - 313, 329, 34, 30, 868, 585, 791, 34, 208, 759, - 767, 34, 768, 96, 34, 827, 760, 828, 792, 664, - 829, 317, 329, 831, 687, 664, 34, 34, 344, 642, - 123, 34, 34, 105, 288, 130, 124, 34, 106, 34, - 34, 34, 34, 289, 131, 642, 230, 34, 53, 21, - 1043, 34, 959, 34, 1290, 1141, 33, 113, 1142, 113, - 33, 1485, 1454, 34, 1282, 34, 34, 857, 34, 1494, - 1470, 33, 34, 1441, 1436, 1329, 33, 870, 986, 987, - 33, 982, 1342, 33, 1527, 988, 1364, 194, 1286, 329, - 550, 1289, 34, 1460, 1458, 33, 33, 1519, 34, 34, - 33, 33, 1465, 1221, 113, 1518, 33, 113, 33, 33, - 33, 33, 329, 1385, 1333, 955, 33, 1005, 1222, 24, - 33, 25, 33, 934, 26, 763, 593, 329, 1078, 27, - 890, 329, 33, 28, 33, 33, 866, 33, 298, 810, - 553, 33, 30, 888, 631, 633, 194, 632, 634, 32, - 780, 635, 928, 636, 33, 1294, 1212, 1208, 34, 31, - 797, 33, 1159, 31, 407, 194, 1071, 1120, 33, 1133, - 36, 1060, 37, 1090, 31, 1128, 38, 32, 1192, 31, - 1126, 1292, 1022, 31, 39, 40, 31, 651, 41, 652, - 836, 322, 1197, 756, 0, 0, 957, 0, 31, 31, - 956, 0, 0, 31, 31, 0, 329, 329, 0, 31, - 0, 31, 31, 31, 31, 0, 0, 290, 0, 31, - 194, 194, 0, 31, 0, 31, 0, 0, 194, 0, - 0, 0, 0, 0, 0, 31, 194, 194, 31, 194, - 31, 0, 0, 0, 31, 1332, 0, 0, 0, 0, - 506, 0, 0, 0, 0, 506, 506, 1332, 0, 194, - 0, 0, 194, 0, 31, 0, 0, 0, 0, 0, - 1332, 31, 323, 329, 0, 0, 0, 0, 506, 0, + 550, 550, 550, 550, 968, 498, 454, 35, 608, 30, + 677, 35, 496, 455, 507, 30, 31, 522, 314, 209, + 31, 329, 35, 792, 768, 586, 869, 35, 97, 769, + 760, 35, 828, 761, 35, 829, 793, 665, 830, 318, + 688, 832, 329, 665, 345, 643, 35, 35, 338, 124, + 106, 35, 35, 643, 289, 131, 125, 35, 107, 35, + 35, 35, 35, 290, 132, 230, 53, 35, 21, 1043, + 1141, 35, 959, 35, 1290, 1142, 24, 113, 1282, 113, + 24, 1485, 1454, 35, 857, 35, 35, 1494, 35, 1441, + 1470, 24, 35, 1329, 1436, 986, 24, 870, 987, 988, + 24, 982, 1342, 24, 1527, 1289, 1364, 194, 1286, 329, + 550, 1519, 35, 1385, 1460, 24, 24, 1465, 35, 35, + 24, 24, 1458, 1221, 113, 1333, 24, 113, 24, 24, + 24, 24, 329, 955, 1518, 1222, 24, 1005, 934, 24, + 24, 25, 24, 810, 26, 763, 593, 329, 1078, 27, + 890, 329, 24, 28, 866, 24, 298, 24, 553, 888, + 631, 24, 30, 632, 634, 633, 194, 928, 635, 32, + 636, 780, 1212, 1208, 33, 1294, 1159, 407, 34, 32, + 797, 24, 1071, 32, 1133, 194, 21, 24, 24, 1120, + 36, 1060, 37, 1090, 32, 1126, 38, 34, 1192, 32, + 1022, 1128, 651, 32, 39, 40, 32, 652, 41, 1292, + 836, 322, 1197, 756, 0, 0, 957, 0, 32, 32, + 956, 0, 0, 32, 32, 0, 329, 329, 0, 32, + 0, 32, 32, 32, 32, 0, 0, 290, 0, 32, + 194, 194, 0, 32, 0, 32, 0, 0, 194, 0, + 0, 0, 0, 0, 0, 32, 194, 194, 32, 194, + 32, 0, 0, 0, 32, 1332, 0, 0, 0, 0, + 507, 0, 0, 0, 0, 507, 507, 1332, 0, 194, + 0, 0, 194, 0, 32, 0, 0, 0, 5, 0, + 1332, 32, 323, 329, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1332, - 0, 506, 506, 0, 0, 0, 506, 0, 0, 506, - 0, 506, 329, 506, 506, 506, 506, 0, 0, 0, - 0, 506, 0, 0, 0, 506, 0, 0, 0, 506, - 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, - 506, 0, 506, 506, 0, 113, 0, 0, 506, 0, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 0, 0, 0, 0, 0, 506, 506, 0, 0, - 0, 506, 506, 0, 506, 506, 506, 506, 506, 506, - 506, 862, 506, 506, 0, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 0, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 0, 0, - 506, 0, 506, 0, 506, 0, 0, 506, 0, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, - 0, 393, 0, 0, 0, 0, 0, 393, 0, 32, - 0, 0, 0, 0, 32, 0, 0, 0, 32, 113, - 0, 32, 0, 113, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 32, 32, 550, 0, 0, 32, 32, - 0, 0, 329, 393, 32, 0, 32, 32, 32, 32, - 113, 0, 0, 0, 32, 113, 0, 0, 32, 0, - 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 32, 0, 32, 0, 0, 0, 32, + 0, 507, 507, 0, 0, 0, 507, 0, 0, 507, + 0, 507, 329, 507, 507, 507, 507, 0, 0, 0, + 0, 507, 0, 0, 0, 507, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, + 507, 0, 507, 507, 0, 113, 0, 0, 507, 0, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 0, 0, 0, 0, 0, 507, 507, 0, 0, + 0, 507, 507, 0, 507, 507, 507, 507, 507, 507, + 507, 863, 507, 507, 0, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 0, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 0, 0, + 507, 0, 507, 0, 507, 0, 0, 507, 0, 0, + 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 34, 0, 0, 0, 34, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 0, 0, 0, 0, 34, 0, 0, 0, 34, 113, + 0, 34, 0, 113, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 34, 34, 550, 0, 0, 34, 34, + 0, 0, 329, 0, 34, 0, 34, 34, 34, 34, + 113, 0, 0, 0, 34, 113, 0, 0, 34, 0, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 0, 34, 34, 0, 34, 0, 0, 0, 34, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 48, + 113, 0, 0, 0, 0, 0, 0, 0, 786, 34, + 48, 329, 0, 0, 0, 48, 34, 113, 0, 48, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 329, 0, 0, 0, 48, 48, 0, 0, 0, 48, + 48, 0, 0, 0, 0, 48, 0, 48, 48, 48, + 48, 0, 0, 0, 0, 48, 0, 0, 0, 48, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 0, 0, 48, 0, 48, 0, 0, 0, + 48, 0, 0, 0, 0, 329, 329, 0, 0, 0, + 0, 0, 0, 329, 0, 0, 0, 863, 863, 0, + 48, 329, 329, 0, 329, 863, 863, 863, 863, 863, + 0, 863, 863, 0, 863, 863, 863, 863, 863, 863, + 863, 863, 0, 0, 329, 0, 863, 329, 863, 863, + 863, 863, 863, 863, 338, 0, 863, 0, 0, 0, + 863, 863, 0, 863, 863, 863, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 863, 0, 863, 0, 863, + 863, 0, 0, 863, 0, 863, 863, 863, 863, 863, + 863, 863, 863, 863, 863, 863, 863, 0, 863, 0, + 0, 863, 863, 0, 0, 863, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 785, 32, - 0, 329, 0, 0, 0, 32, 32, 113, 330, 0, - 0, 0, 0, 393, 330, 0, 393, 393, 393, 393, - 329, 393, 0, 393, 393, 0, 393, 393, 393, 393, - 393, 0, 393, 393, 393, 393, 0, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 0, - 0, 0, 0, 330, 0, 393, 0, 0, 393, 0, - 0, 0, 0, 0, 393, 329, 329, 0, 0, 0, - 0, 0, 0, 329, 0, 0, 0, 862, 862, 0, - 0, 329, 329, 0, 329, 862, 862, 862, 862, 862, - 0, 862, 862, 0, 862, 862, 862, 862, 862, 862, - 862, 862, 0, 0, 329, 0, 862, 329, 862, 862, - 862, 862, 862, 862, 337, 0, 862, 0, 0, 0, - 862, 862, 0, 862, 862, 862, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 862, 0, 862, 0, 862, - 862, 0, 0, 862, 0, 862, 862, 862, 862, 862, - 862, 862, 862, 862, 862, 862, 862, 0, 862, 0, - 0, 862, 862, 0, 0, 862, 862, 0, 0, 0, + 863, 863, 863, 863, 863, 0, 0, 0, 863, 863, + 0, 0, 863, 0, 0, 0, 0, 863, 863, 863, + 863, 863, 0, 0, 0, 863, 0, 863, 0, 0, + 0, 0, 0, 863, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 862, 862, 862, 862, 862, 0, 0, 0, 862, 862, - 0, 0, 862, 0, 0, 0, 0, 862, 862, 862, - 862, 862, 0, 0, 0, 862, 0, 862, 0, 0, - 0, 0, 0, 862, 862, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 863, 863, + 863, 863, 0, 863, 786, 786, 0, 0, 0, 0, + 863, 0, 786, 786, 786, 786, 786, 0, 786, 786, + 743, 786, 786, 786, 786, 786, 786, 786, 0, 0, + 0, 0, 0, 786, 0, 786, 786, 786, 786, 786, + 786, 0, 0, 786, 0, 0, 0, 786, 786, 0, + 786, 786, 786, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 786, 0, 786, 0, 786, 786, 0, 0, + 786, 0, 786, 786, 786, 786, 786, 786, 786, 786, + 786, 786, 786, 786, 0, 786, 0, 0, 786, 786, + 0, 0, 786, 786, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 786, 786, 786, + 786, 786, 0, 0, 0, 786, 786, 0, 0, 786, + 0, 0, 0, 0, 786, 786, 786, 786, 786, 0, + 338, 0, 786, 0, 786, 338, 338, 0, 0, 0, + 786, 786, 0, 0, 0, 0, 0, 0, 0, 0, + 331, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 0, 0, 0, 0, 0, 786, 786, 786, 786, 0, + 786, 338, 338, 0, 0, 0, 338, 786, 0, 338, + 0, 338, 0, 338, 338, 338, 338, 0, 0, 0, + 0, 338, 0, 0, 0, 338, 0, 0, 0, 338, + 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, + 338, 0, 338, 338, 0, 0, 0, 0, 338, 0, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 0, 0, 0, 0, 338, 338, 0, 0, + 0, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 0, 338, 338, 0, 0, 338, 338, 338, 338, + 338, 0, 0, 338, 338, 0, 0, 0, 338, 338, + 338, 338, 338, 338, 338, 338, 743, 0, 0, 0, + 368, 743, 743, 0, 0, 0, 0, 338, 0, 0, + 338, 0, 338, 0, 338, 0, 0, 338, 0, 0, + 0, 0, 0, 338, 743, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 743, 743, 0, + 0, 0, 743, 0, 0, 743, 0, 743, 0, 743, + 743, 743, 743, 0, 0, 0, 0, 743, 0, 0, + 0, 743, 0, 0, 0, 743, 0, 0, 0, 0, + 0, 0, 0, 743, 0, 0, 743, 0, 743, 743, + 0, 0, 0, 0, 743, 0, 743, 743, 743, 743, + 743, 743, 743, 743, 743, 743, 743, 0, 0, 0, + 0, 0, 743, 743, 338, 0, 0, 743, 743, 743, + 743, 743, 743, 0, 743, 743, 743, 0, 743, 743, + 0, 0, 743, 743, 743, 743, 331, 0, 0, 743, + 743, 331, 331, 0, 743, 743, 743, 743, 743, 743, + 743, 743, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 743, 331, 0, 743, 0, 743, 0, + 743, 0, 0, 743, 0, 0, 0, 331, 331, 743, + 0, 0, 331, 0, 0, 331, 0, 331, 0, 331, + 331, 331, 331, 0, 0, 0, 0, 331, 0, 0, + 0, 331, 0, 0, 0, 331, 0, 0, 0, 0, + 0, 0, 0, 331, 0, 0, 331, 0, 331, 331, + 0, 0, 0, 0, 331, 0, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 0, 0, 0, + 0, 0, 331, 331, 0, 0, 0, 331, 331, 331, + 331, 331, 331, 0, 331, 331, 331, 0, 331, 331, + 363, 0, 331, 331, 331, 331, 368, 0, 0, 331, + 331, 368, 368, 0, 331, 331, 331, 331, 331, 331, + 331, 331, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 331, 368, 0, 331, 0, 331, 0, + 331, 0, 0, 331, 0, 0, 0, 368, 368, 331, + 0, 0, 368, 0, 0, 368, 0, 368, 0, 368, + 368, 368, 368, 0, 0, 0, 0, 368, 0, 0, + 0, 368, 0, 0, 0, 368, 0, 0, 0, 0, + 0, 0, 0, 368, 0, 0, 368, 0, 368, 368, + 0, 0, 0, 0, 368, 0, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 0, 0, 0, + 338, 0, 368, 368, 0, 0, 338, 368, 368, 0, + 368, 368, 368, 0, 368, 368, 368, 0, 368, 368, + 0, 0, 368, 368, 368, 368, 0, 0, 0, 368, + 368, 0, 0, 0, 368, 368, 368, 368, 368, 368, + 368, 368, 338, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 368, 0, 0, 368, 0, 368, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 862, 862, - 862, 862, 0, 862, 785, 785, 0, 0, 0, 0, - 862, 0, 785, 785, 785, 785, 785, 0, 785, 785, - 742, 785, 785, 785, 785, 785, 785, 785, 0, 0, - 0, 0, 0, 785, 0, 785, 785, 785, 785, 785, - 785, 0, 0, 785, 0, 0, 0, 785, 785, 0, - 785, 785, 785, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 785, 0, 785, 0, 785, 785, 0, 0, - 785, 0, 785, 785, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 0, 785, 0, 0, 785, 785, - 0, 0, 785, 785, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 785, 785, 785, - 785, 785, 0, 0, 0, 785, 785, 0, 0, 785, - 0, 0, 0, 0, 785, 785, 785, 785, 785, 0, - 337, 0, 785, 0, 785, 337, 337, 0, 0, 0, - 785, 785, 0, 0, 0, 0, 0, 0, 0, 0, - 330, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 0, 0, 0, 0, 0, 785, 785, 785, 785, 0, - 785, 337, 337, 0, 0, 0, 337, 785, 0, 337, - 0, 337, 0, 337, 337, 337, 337, 0, 0, 0, - 0, 337, 0, 0, 0, 337, 0, 0, 0, 337, - 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, - 337, 0, 337, 337, 0, 0, 0, 0, 337, 0, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 0, 0, 0, 0, 337, 337, 0, 0, - 0, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 0, 337, 337, 0, 0, 337, 337, 337, 337, - 337, 0, 0, 337, 337, 0, 0, 0, 337, 337, - 337, 337, 337, 337, 337, 337, 742, 0, 0, 0, - 367, 742, 742, 0, 0, 0, 0, 337, 0, 0, - 337, 0, 337, 0, 337, 0, 0, 337, 0, 0, - 0, 0, 0, 337, 742, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 742, 742, 0, - 0, 0, 742, 0, 0, 742, 0, 742, 0, 742, - 742, 742, 742, 0, 0, 0, 0, 742, 0, 0, - 0, 742, 0, 0, 0, 742, 0, 0, 0, 0, - 0, 0, 0, 742, 0, 0, 742, 0, 742, 742, - 0, 0, 0, 0, 742, 0, 742, 742, 742, 742, - 742, 742, 742, 742, 742, 742, 742, 0, 0, 0, - 0, 0, 742, 742, 337, 0, 0, 742, 742, 742, - 742, 742, 742, 0, 742, 742, 742, 0, 742, 742, - 0, 0, 742, 742, 742, 742, 330, 0, 0, 742, - 742, 330, 330, 0, 742, 742, 742, 742, 742, 742, - 742, 742, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 742, 330, 0, 742, 0, 742, 0, - 742, 0, 0, 742, 0, 0, 0, 330, 330, 742, - 0, 0, 330, 0, 0, 330, 0, 330, 0, 330, - 330, 330, 330, 0, 0, 0, 0, 330, 0, 0, - 0, 330, 0, 0, 0, 330, 0, 0, 0, 0, - 0, 0, 0, 330, 0, 0, 330, 0, 330, 330, - 0, 0, 0, 0, 330, 0, 330, 330, 330, 330, - 330, 330, 330, 330, 330, 330, 330, 0, 0, 0, - 0, 0, 330, 330, 0, 0, 0, 330, 330, 330, - 330, 330, 330, 0, 330, 330, 330, 0, 330, 330, - 362, 0, 330, 330, 330, 330, 367, 0, 0, 330, - 330, 367, 367, 0, 330, 330, 330, 330, 330, 330, - 330, 330, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 330, 367, 0, 330, 0, 330, 0, - 330, 0, 0, 330, 0, 0, 0, 367, 367, 330, - 0, 0, 367, 0, 0, 367, 0, 367, 0, 367, - 367, 367, 367, 0, 0, 0, 0, 367, 0, 0, - 0, 367, 0, 0, 0, 367, 0, 0, 0, 0, - 0, 0, 0, 367, 0, 0, 367, 0, 367, 367, - 0, 0, 0, 0, 367, 0, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 0, 0, 0, - 337, 0, 367, 367, 0, 0, 337, 367, 367, 0, - 367, 367, 367, 0, 367, 367, 367, 0, 367, 367, - 0, 0, 367, 367, 367, 367, 0, 0, 0, 367, - 367, 0, 0, 0, 367, 367, 367, 367, 367, 367, - 367, 367, 337, 0, 0, 0, 0, 0, 27, 0, - 0, 0, 0, 367, 0, 0, 367, 0, 367, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 337, 0, 0, 0, 0, 337, 0, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 0, 0, 587, 0, 0, 337, 0, 0, - 0, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 0, 337, 337, 0, 0, 337, 337, 337, 337, - 337, 27, 0, 337, 337, 0, 0, 0, 337, 337, - 337, 337, 337, 337, 337, 337, 362, 0, 0, 0, - 0, 0, 362, 0, 0, 0, 0, 337, 0, 0, - 337, 0, 337, 0, 337, 0, 0, 337, 0, 0, - 0, 0, 0, 337, 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 587, 362, 0, - 0, 0, 587, 0, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 587, 957, 587, 0, - 587, 0, 587, 587, 587, 0, 0, 0, 0, 362, - 0, 0, 0, 0, 362, 0, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 0, 0, 0, - 0, 0, 0, 362, 0, 0, 0, 362, 362, 0, - 362, 362, 362, 0, 362, 362, 362, 0, 362, 362, - 0, 0, 362, 362, 362, 362, 0, 587, 0, 362, - 362, 0, 0, 0, 362, 362, 362, 362, 362, 362, - 362, 362, 0, 0, 0, 0, 0, 47, 0, 0, - 0, 0, 0, 362, 27, 27, 362, 0, 362, 27, - 0, 0, 0, 27, 0, 27, 0, 0, 27, 362, - 27, 27, 0, 27, 0, 27, 0, 27, 0, 27, - 27, 27, 27, 0, 0, 27, 27, 0, 0, 0, - 7, 27, 0, 27, 27, 27, 0, 0, 27, 27, - 27, 0, 27, 0, 0, 27, 0, 27, 27, 27, - 27, 0, 0, 0, 27, 27, 27, 0, 0, 27, - 27, 27, 0, 0, 0, 0, 0, 0, 27, 27, - 0, 27, 27, 958, 27, 27, 27, 0, 27, 0, - 27, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 27, 0, 0, 0, 0, 27, 0, - 27, 0, 27, 0, 0, 27, 27, 27, 0, 0, - 0, 0, 0, 0, 0, 27, 48, 27, 27, 0, - 0, 5, 27, 27, 0, 47, 0, 0, 27, 0, - 27, 27, 27, 27, 0, 0, 47, 0, 27, 0, - 0, 47, 27, 0, 27, 47, 0, 0, 47, 0, - 0, 0, 0, 0, 27, 0, 27, 27, 0, 27, - 47, 47, 0, 27, 957, 47, 47, 0, 47, 0, - 0, 47, 0, 47, 47, 47, 47, 0, 0, 47, - 0, 47, 0, 27, 47, 47, 0, 47, 47, 27, - 27, 47, 0, 0, 0, 0, 0, 47, 0, 0, - 47, 0, 47, 47, 47, 0, 47, 0, 47, 47, - 0, 0, 0, 0, 47, 0, 47, 47, 47, 47, - 0, 0, 0, 0, 47, 0, 47, 0, 47, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47, 0, 0, 47, 47, 47, 0, 0, 47, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 0, 0, 47, 0, 0, 0, 47, 47, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 47, 47, 0, 0, 7, 47, 47, - 0, 48, 0, 0, 47, 0, 47, 47, 47, 47, - 0, 0, 48, 0, 47, 0, 0, 48, 47, 0, - 47, 48, 0, 0, 48, 0, 0, 0, 0, 0, - 47, 0, 0, 47, 0, 47, 48, 48, 0, 47, - 958, 48, 48, 0, 47, 0, 0, 48, 0, 48, - 48, 48, 48, 0, 0, 47, 0, 48, 0, 47, - 47, 48, 0, 48, 47, 0, 0, 47, 0, 0, - 0, 0, 0, 48, 0, 0, 48, 0, 48, 47, - 47, 0, 48, 48, 47, 47, 0, 48, 0, 0, - 47, 0, 47, 47, 47, 47, 0, 0, 48, 0, - 47, 0, 48, 48, 47, 0, 47, 48, 0, 0, - 48, 0, 0, 0, 0, 0, 47, 0, 0, 47, - 0, 47, 48, 48, 0, 47, 0, 48, 48, 0, - 0, 0, 0, 48, 0, 48, 48, 48, 48, 0, - 0, 0, 0, 48, 0, 47, 0, 48, 0, 48, + 0, 0, 0, 338, 0, 0, 0, 0, 338, 0, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 0, 0, 588, 0, 0, 338, 0, 0, + 0, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 0, 338, 338, 0, 0, 338, 338, 338, 338, + 338, 33, 0, 338, 338, 0, 0, 0, 338, 338, + 338, 338, 338, 338, 338, 338, 363, 0, 0, 0, + 0, 0, 363, 0, 0, 0, 0, 338, 0, 0, + 338, 0, 338, 0, 338, 0, 0, 338, 0, 0, + 0, 0, 0, 338, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 588, 363, 0, + 0, 0, 588, 0, 588, 588, 588, 588, 588, 588, + 588, 588, 588, 588, 588, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 588, 958, 588, 0, + 588, 0, 588, 588, 588, 0, 0, 0, 0, 363, + 0, 0, 0, 0, 363, 0, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 0, 0, 0, + 0, 0, 0, 363, 0, 0, 0, 363, 363, 0, + 363, 363, 363, 0, 363, 363, 363, 0, 363, 363, + 0, 0, 363, 363, 363, 363, 0, 588, 0, 363, + 363, 0, 0, 0, 363, 363, 363, 363, 363, 363, + 363, 363, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 363, 28, 28, 363, 0, 363, 28, + 0, 0, 0, 28, 0, 28, 0, 0, 28, 363, + 28, 28, 0, 28, 0, 28, 0, 28, 0, 28, + 28, 28, 28, 0, 0, 28, 28, 0, 0, 0, + 7, 28, 0, 28, 28, 28, 0, 0, 28, 28, + 28, 0, 28, 0, 0, 28, 0, 28, 28, 28, + 28, 0, 0, 0, 28, 28, 28, 0, 0, 28, + 28, 28, 0, 0, 0, 0, 0, 0, 28, 28, + 0, 28, 28, 959, 28, 28, 28, 0, 33, 0, + 28, 0, 33, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 0, 0, 33, 0, + 28, 0, 33, 0, 0, 33, 28, 28, 0, 0, + 0, 0, 0, 0, 0, 28, 49, 33, 33, 0, + 0, 28, 33, 33, 0, 28, 0, 0, 33, 0, + 33, 33, 33, 33, 0, 0, 28, 0, 33, 0, + 0, 28, 33, 0, 33, 28, 0, 0, 28, 0, + 0, 0, 0, 0, 33, 0, 28, 33, 0, 33, + 28, 28, 0, 33, 958, 28, 28, 0, 48, 0, + 0, 28, 0, 28, 28, 28, 28, 0, 0, 48, + 0, 28, 0, 33, 48, 28, 0, 28, 48, 33, + 33, 48, 0, 0, 0, 0, 0, 28, 0, 0, + 28, 0, 28, 48, 48, 0, 28, 0, 48, 48, + 0, 0, 0, 0, 48, 0, 48, 48, 48, 48, + 0, 0, 0, 0, 48, 0, 28, 0, 48, 0, + 48, 0, 28, 28, 0, 0, 0, 0, 0, 0, + 48, 0, 0, 48, 48, 48, 0, 0, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 0, 55, 48, 0, 48, 0, 0, 0, 48, 56, + 0, 0, 0, 0, 48, 0, 0, 0, 48, 48, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 48, 0, 0, 7, 48, 48, + 0, 49, 0, 0, 48, 0, 48, 48, 48, 48, + 0, 0, 49, 0, 48, 0, 0, 49, 48, 0, + 48, 49, 0, 0, 49, 0, 0, 0, 0, 0, + 48, 0, 0, 48, 0, 48, 49, 49, 0, 48, + 959, 49, 49, 0, 48, 0, 0, 49, 0, 49, + 49, 49, 49, 0, 0, 48, 0, 49, 0, 48, + 48, 49, 0, 49, 48, 0, 0, 48, 0, 0, + 0, 0, 0, 49, 0, 0, 49, 0, 49, 48, + 48, 0, 49, 49, 48, 48, 0, 49, 0, 0, + 48, 0, 48, 48, 48, 48, 0, 0, 49, 0, + 48, 0, 49, 49, 48, 0, 48, 49, 0, 0, + 49, 0, 0, 0, 0, 0, 48, 0, 0, 48, + 0, 48, 49, 49, 0, 48, 0, 49, 49, 0, + 0, 0, 0, 49, 0, 49, 49, 49, 49, 0, + 0, 0, 0, 49, 0, 48, 0, 49, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 0, 55, 49, 0, 49, 0, 0, 0, 49, 56, 24, 57, 25, 0, 0, 26, 58, 0, 59, 60, - 27, 61, 62, 63, 28, 0, 0, 0, 48, 0, + 27, 61, 62, 63, 28, 0, 0, 0, 49, 0, 64, 0, 65, 30, 66, 67, 68, 69, 0, 0, 32, 0, 0, 0, 70, 33, 0, 71, 72, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 36, 0, 37, 74, 0, 0, 38, 0, 75, 76, 77, 78, 79, 80, 39, 40, 81, 82, 41, - 83, 0, 84, 0, 0, 85, 86, 0, 337, 87, - 88, 0, 0, 0, 337, 0, 0, 0, 0, 0, + 83, 0, 84, 0, 0, 85, 86, 0, 338, 87, + 88, 0, 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 90, 91, 92, 93, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 96, 97, 98, 99, 100, 0, 0, 0, 101, - 337, 102, 0, 0, 0, 0, 0, 103, 104, 0, + 338, 102, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, - 337, 0, 105, 106, 107, 108, 0, 0, 0, 0, - 0, 337, 0, 0, 196, 0, 337, 0, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 0, 0, 0, 0, 0, 337, 337, 0, 0, 0, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 0, - 337, 337, 0, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 0, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 0, 508, 0, 0, - 337, 0, 337, 508, 0, 337, 0, 0, 0, 0, - 0, 337, 0, 0, 0, 0, 337, 0, 0, 337, - 0, 337, 337, 0, 0, 0, 337, 337, 0, 0, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 508, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, + 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, + 338, 0, 105, 106, 107, 108, 0, 0, 0, 0, + 0, 338, 0, 0, 196, 0, 338, 0, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 0, 0, 0, 0, 0, 338, 338, 0, 0, 0, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 0, + 338, 338, 0, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 0, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 0, 509, 0, 0, + 338, 0, 338, 509, 0, 338, 0, 0, 0, 0, + 0, 338, 0, 0, 0, 0, 338, 0, 0, 338, + 0, 338, 338, 0, 0, 0, 338, 338, 0, 0, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 509, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 337, 337, 0, 0, 0, 0, 0, 0, 337, 0, - 0, 337, 0, 0, 0, 0, 0, 337, 0, 201, - 508, 0, 0, 0, 0, 508, 0, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 949, 508, - 508, 202, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 0, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 0, 504, 0, 0, 0, - 0, 508, 504, 0, 0, 0, 0, 0, 0, 0, - 508, 203, 204, 205, 206, 0, 207, 208, 209, 210, + 338, 338, 0, 0, 0, 0, 0, 0, 338, 0, + 0, 338, 0, 0, 0, 0, 0, 338, 0, 201, + 509, 0, 0, 0, 0, 509, 0, 509, 509, 509, + 509, 509, 509, 509, 509, 509, 509, 509, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 509, 509, + 509, 509, 509, 509, 509, 509, 509, 509, 950, 509, + 509, 202, 509, 509, 509, 509, 509, 509, 509, 509, + 509, 509, 0, 509, 509, 509, 509, 509, 509, 509, + 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, + 509, 509, 509, 509, 509, 0, 505, 0, 0, 0, + 0, 509, 505, 0, 0, 0, 0, 0, 0, 0, + 509, 203, 204, 205, 206, 0, 207, 208, 209, 210, 211, 212, 213, 214, 0, 0, 215, 216, 217, 218, - 219, 220, 221, 222, 0, 0, 0, 0, 504, 0, - 0, 949, 0, 0, 0, 0, 949, 0, 949, 949, - 949, 949, 949, 949, 949, 949, 949, 949, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 949, 0, 949, 0, 949, 0, 949, 949, 949, 504, - 0, 0, 0, 0, 504, 0, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 504, 504, 0, - 504, 504, 504, 504, 504, 504, 504, 0, 504, 504, - 0, 504, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 949, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 504, 504, 0, 512, 757, 0, 0, 0, - 504, 512, 0, 504, 0, 24, 0, 25, 0, 504, - 26, 0, 0, 0, 0, 27, 0, 0, 0, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 0, 32, 0, 512, 0, 0, - 33, 0, 0, 0, 34, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, - 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, - 39, 40, 0, 0, 41, 0, 0, 758, 512, 0, - 0, 0, 0, 512, 0, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 0, 0, 0, 0, - 0, 0, 0, 290, 0, 0, 0, 512, 0, 512, - 512, 512, 512, 512, 512, 512, 0, 512, 512, 0, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 0, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 0, 337, 567, 0, 0, 323, 512, - 337, 0, 512, 0, 24, 0, 25, 0, 512, 26, + 219, 220, 221, 222, 0, 0, 0, 0, 505, 0, + 0, 950, 0, 0, 0, 0, 950, 0, 950, 950, + 950, 950, 950, 950, 950, 950, 950, 950, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, + 950, 0, 950, 394, 950, 0, 950, 950, 950, 505, + 0, 0, 0, 0, 505, 0, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 505, 505, 394, + 505, 505, 505, 505, 505, 505, 505, 0, 505, 505, + 0, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 950, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 0, 513, 0, 0, 0, 0, + 505, 513, 0, 505, 0, 0, 0, 0, 0, 505, + 0, 0, 0, 0, 331, 0, 0, 0, 0, 394, + 331, 0, 394, 394, 394, 394, 0, 394, 0, 394, + 394, 0, 394, 394, 394, 394, 394, 513, 394, 394, + 394, 394, 0, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 394, 394, 394, 0, 0, 0, 0, 331, + 0, 394, 0, 0, 394, 0, 0, 0, 513, 0, + 394, 0, 0, 513, 0, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 513, 0, 513, + 513, 513, 513, 513, 513, 513, 0, 513, 513, 0, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 0, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 0, 338, 757, 0, 0, 0, 513, + 338, 0, 513, 0, 24, 0, 25, 0, 513, 26, 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, - 0, 0, 0, 0, 32, 0, 337, 0, 0, 33, + 0, 0, 0, 0, 32, 0, 338, 0, 0, 33, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 39, - 40, 0, 0, 41, 0, 0, 322, 337, 0, 0, - 0, 0, 337, 0, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 337, 337, - 337, 337, 337, 337, 337, 0, 337, 337, 0, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 0, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 0, 437, 906, 0, 0, 355, 337, 437, - 0, 337, 0, 24, 0, 25, 0, 337, 26, 0, + 40, 0, 0, 41, 0, 0, 758, 338, 0, 0, + 0, 0, 338, 0, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 0, 0, 0, 0, 0, + 0, 0, 290, 0, 0, 0, 338, 0, 338, 338, + 338, 338, 338, 338, 338, 0, 338, 338, 0, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 0, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 0, 438, 567, 0, 0, 323, 338, 438, + 0, 338, 0, 24, 0, 25, 0, 338, 26, 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 32, 0, 437, 0, 0, 33, 0, + 0, 0, 0, 32, 0, 438, 0, 0, 33, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 39, 40, - 0, 0, 41, 0, 0, 322, 437, 0, 0, 0, - 0, 437, 0, 437, 437, 437, 437, 437, 437, 437, - 437, 437, 437, 437, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 437, 0, 437, 437, 437, - 437, 437, 437, 437, 0, 437, 437, 0, 437, 437, - 437, 437, 437, 437, 437, 437, 437, 437, 0, 437, - 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, - 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, - 437, 0, 337, 0, 0, 0, 355, 437, 337, 1052, - 437, 0, 745, 0, 0, 0, 437, 0, 24, 0, + 0, 0, 41, 0, 0, 322, 438, 0, 0, 0, + 0, 438, 0, 438, 438, 438, 438, 438, 438, 438, + 438, 438, 438, 438, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 438, 0, 438, 438, 438, + 438, 438, 438, 438, 0, 438, 438, 0, 438, 438, + 438, 438, 438, 438, 438, 438, 438, 438, 0, 438, + 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, + 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, + 438, 0, 338, 0, 0, 0, 355, 438, 338, 906, + 438, 0, 746, 0, 0, 0, 438, 0, 24, 0, 25, 0, 0, 26, 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 337, 0, 0, 0, 32, 0, + 0, 30, 0, 0, 338, 0, 0, 0, 32, 0, 0, 0, 0, 33, 0, 0, 0, 34, 0, 0, - 745, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 746, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 39, 40, 0, 0, 41, 0, 0, - 322, 0, 0, 0, 0, 543, 0, 0, 0, 0, - 0, 543, 0, 337, 0, 0, 0, 0, 0, 337, - 0, 0, 0, 0, 337, 337, 337, 337, 337, 337, - 337, 745, 337, 0, 337, 337, 0, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 543, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 0, 0, 0, 0, 337, 0, 337, 0, 0, 337, - 0, 355, 0, 0, 0, 337, 0, 0, 543, 0, - 0, 0, 0, 543, 0, 543, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 0, 543, - 0, 543, 0, 543, 543, 543, 0, 543, 543, 0, - 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, - 358, 0, 0, 543, 543, 543, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, - 543, 555, 543, 358, 0, 0, 0, 555, 0, 0, - 0, 0, 0, 0, 0, 0, 358, 0, 543, 0, - 0, 358, 0, 0, 231, 0, 358, 0, 358, 358, - 358, 358, 0, 0, 0, 0, 358, 0, 0, 0, - 358, 0, 0, 555, 358, 0, 0, 0, 0, 0, - 0, 0, 358, 0, 0, 358, 0, 358, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, - 0, 0, 0, 0, 0, 559, 0, 0, 0, 0, - 0, 358, 0, 0, 555, 0, 0, 0, 0, 555, - 0, 555, 555, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 0, 555, 0, 555, 0, 555, 0, 555, - 555, 555, 0, 555, 555, 0, 0, 555, 555, 555, - 555, 555, 555, 555, 555, 555, 0, 358, 0, 555, - 555, 555, 555, 555, 555, 555, 555, 0, 0, 0, - 0, 0, 559, 0, 0, 0, 0, 559, 555, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 0, 0, 0, 560, 555, 0, 0, 0, 0, 560, - 0, 559, 0, 559, 0, 559, 0, 559, 559, 559, - 0, 559, 559, 0, 0, 559, 559, 559, 559, 0, - 0, 0, 559, 559, 0, 0, 0, 559, 559, 559, - 559, 559, 559, 559, 559, 560, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 559, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 561, 559, 0, 0, 0, 0, 561, 0, 0, + 322, 0, 0, 0, 0, 544, 0, 0, 0, 0, + 0, 544, 0, 338, 0, 0, 0, 0, 0, 338, + 0, 0, 0, 0, 338, 338, 338, 338, 338, 338, + 338, 746, 338, 0, 338, 338, 0, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 544, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 0, 0, 0, 0, 338, 0, 338, 0, 0, 338, + 0, 355, 0, 0, 0, 338, 0, 0, 544, 0, + 0, 0, 0, 544, 0, 544, 544, 544, 544, 544, + 544, 544, 544, 544, 544, 544, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 544, 0, 544, + 0, 544, 0, 544, 544, 544, 0, 544, 544, 0, + 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, + 359, 0, 0, 544, 544, 544, 544, 544, 544, 544, + 544, 544, 544, 544, 544, 544, 544, 544, 544, 544, + 544, 556, 544, 359, 0, 0, 0, 556, 0, 0, + 0, 0, 0, 0, 0, 0, 359, 0, 544, 0, + 0, 359, 0, 0, 232, 0, 359, 0, 359, 359, + 359, 359, 0, 0, 0, 0, 359, 0, 0, 0, + 359, 0, 0, 556, 359, 0, 0, 0, 0, 0, + 0, 0, 359, 0, 0, 359, 0, 359, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, + 0, 0, 0, 0, 0, 560, 0, 0, 0, 0, + 0, 359, 0, 0, 556, 0, 0, 0, 0, 556, + 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 560, 0, 556, 0, 556, 0, 556, 0, 556, + 556, 556, 0, 556, 556, 0, 0, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 0, 359, 0, 556, + 556, 556, 556, 556, 556, 556, 556, 0, 0, 0, + 0, 0, 560, 0, 0, 0, 0, 560, 556, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 0, 0, 0, 561, 556, 0, 0, 0, 0, 561, + 0, 560, 0, 560, 0, 560, 0, 560, 560, 560, + 0, 560, 560, 0, 0, 560, 560, 560, 560, 0, + 0, 0, 560, 560, 0, 0, 0, 560, 560, 560, + 560, 560, 560, 560, 560, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, 0, 0, 0, - 0, 560, 0, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 561, 0, 560, 0, 560, 0, 560, - 0, 560, 560, 560, 0, 560, 560, 0, 0, 560, - 560, 560, 560, 0, 0, 0, 560, 560, 0, 564, - 0, 560, 560, 560, 560, 560, 560, 560, 560, 0, - 0, 0, 0, 0, 561, 0, 0, 0, 0, 561, - 560, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 0, 0, 0, 0, 560, 0, 0, 0, - 0, 0, 0, 561, 0, 561, 0, 561, 0, 561, - 561, 561, 0, 561, 561, 0, 0, 561, 561, 561, - 561, 0, 0, 0, 561, 561, 0, 565, 0, 561, - 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, - 0, 0, 564, 0, 0, 0, 0, 564, 561, 564, - 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, - 0, 0, 0, 0, 561, 0, 0, 0, 0, 0, - 0, 564, 0, 564, 0, 564, 0, 564, 564, 564, - 0, 0, 0, 0, 0, 564, 564, 564, 564, 0, - 0, 0, 564, 564, 0, 566, 0, 564, 564, 564, - 564, 564, 564, 564, 564, 0, 0, 0, 0, 0, - 565, 0, 0, 0, 0, 565, 564, 565, 565, 565, - 565, 565, 565, 565, 565, 565, 565, 565, 0, 0, - 0, 0, 564, 0, 0, 0, 0, 0, 0, 565, - 0, 565, 0, 565, 0, 565, 565, 565, 0, 0, - 0, 0, 0, 565, 565, 565, 565, 0, 0, 0, - 565, 565, 0, 567, 0, 565, 565, 565, 565, 565, - 565, 565, 565, 0, 0, 0, 0, 0, 566, 0, - 0, 0, 0, 566, 565, 566, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 0, 0, 0, 0, - 565, 0, 0, 0, 0, 0, 0, 566, 0, 566, - 0, 566, 0, 566, 566, 566, 0, 0, 0, 0, - 0, 566, 566, 566, 566, 0, 0, 0, 566, 566, - 0, 568, 0, 566, 566, 566, 566, 566, 566, 566, - 566, 0, 0, 0, 0, 0, 567, 0, 0, 0, - 0, 567, 566, 567, 567, 567, 567, 567, 567, 567, - 567, 567, 567, 567, 0, 0, 0, 0, 566, 0, - 0, 0, 0, 0, 0, 567, 0, 567, 0, 567, - 0, 567, 567, 567, 0, 0, 0, 0, 0, 567, - 567, 567, 567, 0, 0, 0, 567, 567, 0, 569, - 0, 0, 0, 567, 567, 567, 567, 567, 567, 0, - 0, 0, 0, 0, 568, 0, 0, 0, 0, 568, - 567, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 0, 0, 0, 0, 567, 0, 0, 0, - 0, 0, 0, 568, 0, 568, 0, 568, 0, 568, - 568, 568, 0, 0, 0, 0, 0, 568, 568, 568, - 568, 0, 0, 0, 568, 568, 0, 570, 0, 0, - 0, 568, 568, 568, 568, 568, 568, 0, 0, 0, - 0, 0, 569, 0, 0, 0, 0, 569, 568, 569, - 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, - 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, - 0, 569, 0, 569, 0, 569, 0, 569, 569, 569, - 0, 0, 0, 0, 0, 569, 569, 569, 569, 0, - 0, 0, 569, 569, 0, 571, 0, 0, 0, 569, - 569, 569, 569, 569, 569, 0, 0, 0, 0, 0, - 570, 0, 0, 0, 0, 570, 569, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 0, 0, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 570, - 0, 570, 0, 570, 0, 570, 570, 570, 0, 0, - 0, 0, 0, 570, 570, 570, 570, 0, 0, 0, - 570, 570, 0, 572, 0, 0, 0, 570, 570, 570, - 570, 570, 570, 0, 0, 0, 0, 0, 571, 0, - 0, 0, 0, 571, 570, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 571, 571, 0, 0, 0, 0, - 570, 0, 0, 0, 0, 0, 0, 571, 0, 571, - 0, 571, 0, 571, 571, 571, 0, 0, 0, 0, - 0, 571, 571, 571, 571, 0, 0, 0, 571, 571, - 0, 573, 0, 0, 0, 571, 571, 571, 571, 571, - 571, 0, 0, 0, 0, 0, 572, 0, 0, 0, - 0, 572, 571, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 0, 0, 0, 0, 571, 0, - 0, 0, 0, 0, 0, 572, 0, 572, 0, 572, - 0, 572, 572, 572, 0, 0, 0, 0, 0, 0, - 0, 572, 572, 0, 0, 0, 572, 572, 0, 574, - 0, 0, 0, 0, 0, 572, 572, 572, 572, 0, - 0, 0, 0, 0, 573, 0, 0, 0, 0, 573, - 572, 573, 573, 573, 573, 573, 573, 573, 573, 573, - 573, 573, 0, 0, 0, 0, 572, 0, 0, 0, - 0, 0, 0, 573, 0, 573, 0, 573, 0, 573, - 573, 573, 0, 0, 0, 0, 0, 0, 0, 573, - 573, 0, 0, 0, 573, 573, 0, 575, 0, 0, - 0, 0, 0, 573, 573, 573, 573, 0, 0, 0, - 0, 0, 574, 0, 0, 0, 0, 574, 573, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, - 0, 574, 0, 574, 0, 574, 0, 574, 574, 574, - 0, 0, 0, 0, 0, 0, 0, 574, 574, 0, - 0, 0, 574, 574, 0, 576, 0, 0, 0, 0, - 0, 574, 574, 574, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 575, 574, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 0, 0, - 0, 0, 574, 0, 0, 0, 0, 0, 0, 575, - 0, 575, 0, 575, 0, 575, 575, 575, 0, 0, - 0, 0, 0, 0, 0, 575, 575, 0, 0, 0, - 575, 575, 0, 577, 0, 0, 0, 0, 0, 0, - 0, 575, 575, 0, 0, 0, 0, 0, 576, 0, - 0, 0, 0, 576, 575, 576, 576, 576, 576, 576, - 576, 576, 576, 576, 576, 576, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 0, 576, 0, 576, - 0, 576, 0, 576, 576, 576, 0, 0, 0, 0, - 0, 0, 0, 576, 576, 0, 0, 0, 576, 576, - 0, 578, 0, 0, 0, 0, 0, 0, 0, 576, - 576, 0, 0, 0, 0, 0, 577, 0, 0, 0, - 0, 577, 576, 577, 577, 577, 577, 577, 577, 577, - 577, 577, 577, 577, 0, 0, 0, 0, 576, 0, - 0, 0, 0, 0, 0, 577, 0, 577, 0, 577, - 0, 577, 577, 577, 0, 0, 0, 0, 0, 0, - 0, 0, 577, 0, 0, 0, 577, 577, 0, 579, - 0, 0, 0, 0, 0, 0, 0, 577, 577, 0, - 0, 0, 0, 0, 578, 0, 0, 0, 0, 578, - 577, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 0, 0, 0, 0, 577, 0, 0, 0, - 0, 0, 0, 578, 0, 578, 0, 578, 0, 578, - 578, 578, 0, 0, 0, 0, 0, 0, 0, 0, - 578, 0, 0, 0, 578, 578, 0, 580, 0, 0, - 0, 0, 0, 0, 0, 578, 578, 0, 0, 0, - 0, 0, 579, 0, 0, 0, 0, 579, 578, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, - 0, 579, 0, 579, 0, 579, 0, 579, 579, 579, - 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, - 0, 0, 0, 579, 0, 581, 0, 0, 0, 0, - 0, 0, 0, 579, 579, 0, 0, 0, 0, 0, - 580, 0, 0, 0, 0, 580, 579, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, - 0, 0, 579, 0, 0, 0, 0, 0, 0, 580, - 0, 580, 0, 580, 0, 580, 580, 580, 0, 0, - 0, 0, 0, 0, 0, 0, 580, 0, 0, 0, - 0, 580, 0, 582, 0, 0, 0, 0, 0, 0, - 0, 580, 580, 0, 0, 0, 0, 0, 581, 0, - 0, 0, 0, 581, 580, 581, 581, 581, 581, 581, - 581, 581, 581, 581, 581, 581, 0, 0, 0, 0, - 580, 0, 0, 0, 0, 0, 0, 581, 0, 581, - 0, 581, 0, 581, 581, 581, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, - 0, 583, 0, 0, 0, 0, 0, 0, 0, 581, - 581, 0, 0, 0, 0, 0, 582, 0, 0, 0, - 0, 582, 581, 582, 582, 582, 582, 582, 582, 582, - 582, 582, 582, 582, 0, 0, 0, 0, 581, 0, - 0, 0, 0, 0, 0, 582, 0, 582, 0, 582, - 0, 582, 582, 582, 0, 0, 0, 584, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 582, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 582, 582, 0, - 0, 0, 0, 0, 583, 0, 0, 0, 0, 583, - 582, 583, 583, 583, 583, 583, 583, 583, 583, 583, - 583, 583, 0, 0, 0, 0, 582, 0, 0, 0, - 0, 0, 0, 583, 0, 583, 0, 583, 0, 583, - 583, 583, 0, 0, 0, 0, 337, 0, 0, 0, - 745, 0, 0, 0, 0, 583, 0, 0, 0, 0, - 584, 0, 0, 0, 0, 584, 583, 584, 584, 584, - 584, 584, 584, 584, 584, 584, 584, 584, 583, 0, - 0, 0, 337, 0, 0, 0, 0, 0, 0, 584, - 0, 584, 0, 584, 583, 584, 584, 584, 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 584, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 584, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, - 0, 337, 0, 0, 0, 0, 0, 337, 0, 0, - 584, 0, 337, 337, 0, 337, 0, 337, 0, 745, - 337, 0, 337, 337, 0, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 0, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 0, 0, - 55, 0, 337, 0, 337, 0, 0, 337, 56, 24, - 57, 25, 0, 337, 26, 58, 0, 59, 60, 27, + 0, 562, 560, 0, 0, 0, 0, 562, 0, 0, + 0, 0, 0, 0, 0, 0, 561, 0, 0, 0, + 0, 561, 0, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 562, 0, 561, 0, 561, 0, 561, + 0, 561, 561, 561, 0, 561, 561, 0, 0, 561, + 561, 561, 561, 0, 0, 0, 561, 561, 0, 565, + 0, 561, 561, 561, 561, 561, 561, 561, 561, 0, + 0, 0, 0, 0, 562, 0, 0, 0, 0, 562, + 561, 562, 562, 562, 562, 562, 562, 562, 562, 562, + 562, 562, 0, 0, 0, 0, 561, 0, 0, 0, + 0, 0, 0, 562, 0, 562, 0, 562, 0, 562, + 562, 562, 0, 562, 562, 0, 0, 562, 562, 562, + 562, 0, 0, 0, 562, 562, 0, 566, 0, 562, + 562, 562, 562, 562, 562, 562, 562, 0, 0, 0, + 0, 0, 565, 0, 0, 0, 0, 565, 562, 565, + 565, 565, 565, 565, 565, 565, 565, 565, 565, 565, + 0, 0, 0, 0, 562, 0, 0, 0, 0, 0, + 0, 565, 0, 565, 0, 565, 0, 565, 565, 565, + 0, 0, 0, 0, 0, 565, 565, 565, 565, 0, + 0, 0, 565, 565, 0, 567, 0, 565, 565, 565, + 565, 565, 565, 565, 565, 0, 0, 0, 0, 0, + 566, 0, 0, 0, 0, 566, 565, 566, 566, 566, + 566, 566, 566, 566, 566, 566, 566, 566, 0, 0, + 0, 0, 565, 0, 0, 0, 0, 0, 0, 566, + 0, 566, 0, 566, 0, 566, 566, 566, 0, 0, + 0, 0, 0, 566, 566, 566, 566, 0, 0, 0, + 566, 566, 0, 568, 0, 566, 566, 566, 566, 566, + 566, 566, 566, 0, 0, 0, 0, 0, 567, 0, + 0, 0, 0, 567, 566, 567, 567, 567, 567, 567, + 567, 567, 567, 567, 567, 567, 0, 0, 0, 0, + 566, 0, 0, 0, 0, 0, 0, 567, 0, 567, + 0, 567, 0, 567, 567, 567, 0, 0, 0, 0, + 0, 567, 567, 567, 567, 0, 0, 0, 567, 567, + 0, 569, 0, 567, 567, 567, 567, 567, 567, 567, + 567, 0, 0, 0, 0, 0, 568, 0, 0, 0, + 0, 568, 567, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 0, 0, 0, 0, 567, 0, + 0, 0, 0, 0, 0, 568, 0, 568, 0, 568, + 0, 568, 568, 568, 0, 0, 0, 0, 0, 568, + 568, 568, 568, 0, 0, 0, 568, 568, 0, 570, + 0, 0, 0, 568, 568, 568, 568, 568, 568, 0, + 0, 0, 0, 0, 569, 0, 0, 0, 0, 569, + 568, 569, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 0, 0, 0, 0, 568, 0, 0, 0, + 0, 0, 0, 569, 0, 569, 0, 569, 0, 569, + 569, 569, 0, 0, 0, 0, 0, 569, 569, 569, + 569, 0, 0, 0, 569, 569, 0, 571, 0, 0, + 0, 569, 569, 569, 569, 569, 569, 0, 0, 0, + 0, 0, 570, 0, 0, 0, 0, 570, 569, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, + 0, 570, 0, 570, 0, 570, 0, 570, 570, 570, + 0, 0, 0, 0, 0, 570, 570, 570, 570, 0, + 0, 0, 570, 570, 0, 572, 0, 0, 0, 570, + 570, 570, 570, 570, 570, 0, 0, 0, 0, 0, + 571, 0, 0, 0, 0, 571, 570, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 0, 0, + 0, 0, 570, 0, 0, 0, 0, 0, 0, 571, + 0, 571, 0, 571, 0, 571, 571, 571, 0, 0, + 0, 0, 0, 571, 571, 571, 571, 0, 0, 0, + 571, 571, 0, 573, 0, 0, 0, 571, 571, 571, + 571, 571, 571, 0, 0, 0, 0, 0, 572, 0, + 0, 0, 0, 572, 571, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 0, 0, 0, 0, + 571, 0, 0, 0, 0, 0, 0, 572, 0, 572, + 0, 572, 0, 572, 572, 572, 0, 0, 0, 0, + 0, 572, 572, 572, 572, 0, 0, 0, 572, 572, + 0, 574, 0, 0, 0, 572, 572, 572, 572, 572, + 572, 0, 0, 0, 0, 0, 573, 0, 0, 0, + 0, 573, 572, 573, 573, 573, 573, 573, 573, 573, + 573, 573, 573, 573, 0, 0, 0, 0, 572, 0, + 0, 0, 0, 0, 0, 573, 0, 573, 0, 573, + 0, 573, 573, 573, 0, 0, 0, 0, 0, 0, + 0, 573, 573, 0, 0, 0, 573, 573, 0, 575, + 0, 0, 0, 0, 0, 573, 573, 573, 573, 0, + 0, 0, 0, 0, 574, 0, 0, 0, 0, 574, + 573, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 0, 0, 0, 0, 573, 0, 0, 0, + 0, 0, 0, 574, 0, 574, 0, 574, 0, 574, + 574, 574, 0, 0, 0, 0, 0, 0, 0, 574, + 574, 0, 0, 0, 574, 574, 0, 576, 0, 0, + 0, 0, 0, 574, 574, 574, 574, 0, 0, 0, + 0, 0, 575, 0, 0, 0, 0, 575, 574, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, + 0, 575, 0, 575, 0, 575, 0, 575, 575, 575, + 0, 0, 0, 0, 0, 0, 0, 575, 575, 0, + 0, 0, 575, 575, 0, 577, 0, 0, 0, 0, + 0, 575, 575, 575, 575, 0, 0, 0, 0, 0, + 576, 0, 0, 0, 0, 576, 575, 576, 576, 576, + 576, 576, 576, 576, 576, 576, 576, 576, 0, 0, + 0, 0, 575, 0, 0, 0, 0, 0, 0, 576, + 0, 576, 0, 576, 0, 576, 576, 576, 0, 0, + 0, 0, 0, 0, 0, 576, 576, 0, 0, 0, + 576, 576, 0, 578, 0, 0, 0, 0, 0, 0, + 0, 576, 576, 0, 0, 0, 0, 0, 577, 0, + 0, 0, 0, 577, 576, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 0, 0, 0, 0, + 576, 0, 0, 0, 0, 0, 0, 577, 0, 577, + 0, 577, 0, 577, 577, 577, 0, 0, 0, 0, + 0, 0, 0, 577, 577, 0, 0, 0, 577, 577, + 0, 579, 0, 0, 0, 0, 0, 0, 0, 577, + 577, 0, 0, 0, 0, 0, 578, 0, 0, 0, + 0, 578, 577, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 0, 0, 0, 0, 577, 0, + 0, 0, 0, 0, 0, 578, 0, 578, 0, 578, + 0, 578, 578, 578, 0, 0, 0, 0, 0, 0, + 0, 0, 578, 0, 0, 0, 578, 578, 0, 580, + 0, 0, 0, 0, 0, 0, 0, 578, 578, 0, + 0, 0, 0, 0, 579, 0, 0, 0, 0, 579, + 578, 579, 579, 579, 579, 579, 579, 579, 579, 579, + 579, 579, 0, 0, 0, 0, 578, 0, 0, 0, + 0, 0, 0, 579, 0, 579, 0, 579, 0, 579, + 579, 579, 0, 0, 0, 0, 0, 0, 0, 0, + 579, 0, 0, 0, 579, 579, 0, 581, 0, 0, + 0, 0, 0, 0, 0, 579, 579, 0, 0, 0, + 0, 0, 580, 0, 0, 0, 0, 580, 579, 580, + 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, + 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, + 0, 580, 0, 580, 0, 580, 0, 580, 580, 580, + 0, 0, 0, 0, 0, 0, 0, 0, 580, 0, + 0, 0, 0, 580, 0, 582, 0, 0, 0, 0, + 0, 0, 0, 580, 580, 0, 0, 0, 0, 0, + 581, 0, 0, 0, 0, 581, 580, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 581, 0, 0, + 0, 0, 580, 0, 0, 0, 0, 0, 0, 581, + 0, 581, 0, 581, 0, 581, 581, 581, 0, 0, + 0, 0, 0, 0, 0, 0, 581, 0, 0, 0, + 0, 581, 0, 583, 0, 0, 0, 0, 0, 0, + 0, 581, 581, 0, 0, 0, 0, 0, 582, 0, + 0, 0, 0, 582, 581, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 0, 0, 0, 0, + 581, 0, 0, 0, 0, 0, 0, 582, 0, 582, + 0, 582, 0, 582, 582, 582, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, + 0, 584, 0, 0, 0, 0, 0, 0, 0, 582, + 582, 0, 0, 0, 0, 0, 583, 0, 0, 0, + 0, 583, 582, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 0, 0, 0, 0, 582, 0, + 0, 0, 0, 0, 0, 583, 0, 583, 0, 583, + 0, 583, 583, 583, 0, 0, 0, 585, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 583, 583, 0, + 0, 0, 0, 0, 584, 0, 0, 0, 0, 584, + 583, 584, 584, 584, 584, 584, 584, 584, 584, 584, + 584, 584, 0, 0, 0, 0, 583, 0, 0, 0, + 0, 0, 0, 584, 0, 584, 0, 584, 0, 584, + 584, 584, 0, 0, 0, 0, 338, 0, 0, 0, + 746, 0, 0, 0, 0, 584, 0, 0, 0, 0, + 585, 0, 0, 0, 0, 585, 584, 585, 585, 585, + 585, 585, 585, 585, 585, 585, 585, 585, 584, 0, + 0, 0, 338, 0, 0, 0, 0, 0, 0, 585, + 0, 585, 0, 585, 584, 585, 585, 585, 746, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 585, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 585, 0, 0, 0, 0, 0, + 0, 338, 0, 0, 0, 0, 0, 338, 0, 0, + 585, 0, 338, 338, 0, 338, 0, 338, 0, 746, + 338, 0, 338, 338, 0, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 0, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 0, 0, + 55, 0, 338, 0, 338, 0, 0, 338, 56, 24, + 57, 25, 0, 338, 26, 58, 0, 59, 60, 27, 61, 62, 63, 28, 0, 0, 0, 0, 0, 64, 0, 65, 30, 66, 67, 68, 69, 0, 0, 32, 0, 0, 0, 70, 33, 0, 71, 72, 34, 0, @@ -10819,87 +10833,87 @@ void case_982() 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 954, 0, 0, 0, 105, 557, 107, 108, 954, - 954, 954, 954, 0, 0, 954, 954, 0, 954, 954, - 954, 954, 954, 954, 954, 0, 0, 0, 0, 0, - 954, 0, 954, 954, 954, 954, 954, 954, 0, 0, - 954, 0, 0, 0, 954, 954, 0, 954, 954, 954, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, - 0, 954, 0, 954, 954, 0, 0, 954, 0, 954, - 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 0, 954, 0, 0, 954, 954, 0, 0, 954, - 954, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 954, 954, 954, 954, 954, 0, - 0, 0, 954, 0, 0, 0, 954, 0, 0, 0, - 0, 954, 954, 954, 954, 954, 0, 0, 0, 954, - 0, 954, 0, 0, 0, 0, 0, 954, 954, 0, + 0, 955, 0, 0, 0, 105, 557, 107, 108, 955, + 955, 955, 955, 0, 0, 955, 955, 0, 955, 955, + 955, 955, 955, 955, 955, 0, 0, 0, 0, 0, + 955, 0, 955, 955, 955, 955, 955, 955, 0, 0, + 955, 0, 0, 0, 955, 955, 0, 955, 955, 955, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, + 0, 955, 0, 955, 955, 0, 0, 955, 0, 955, + 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, + 955, 0, 955, 0, 0, 955, 955, 0, 0, 955, + 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 955, 955, 955, 955, 955, 0, + 0, 0, 955, 0, 0, 0, 955, 0, 0, 0, + 0, 955, 955, 955, 955, 955, 0, 0, 0, 955, + 0, 955, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, - 0, 0, 954, 954, 954, 954, 796, 796, 796, 796, - 0, 0, 796, 796, 0, 796, 796, 796, 796, 796, - 796, 796, 0, 0, 0, 0, 0, 796, 0, 796, - 796, 796, 796, 796, 796, 0, 0, 796, 0, 0, - 0, 796, 796, 0, 796, 796, 796, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 796, 0, 796, 0, - 796, 796, 0, 0, 796, 0, 796, 796, 796, 796, - 796, 796, 796, 796, 796, 796, 796, 796, 0, 796, - 0, 0, 796, 796, 0, 0, 796, 796, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, + 0, 0, 955, 955, 955, 955, 797, 797, 797, 797, + 0, 0, 797, 797, 0, 797, 797, 797, 797, 797, + 797, 797, 0, 0, 0, 0, 0, 797, 0, 797, + 797, 797, 797, 797, 797, 0, 0, 797, 0, 0, + 0, 797, 797, 0, 797, 797, 797, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 797, 0, 797, 0, + 797, 797, 0, 0, 797, 0, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 0, 797, + 0, 0, 797, 797, 0, 0, 797, 797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 796, 796, 796, 796, 796, 0, 0, 0, 796, - 0, 0, 0, 796, 0, 0, 0, 0, 796, 796, - 796, 796, 796, 0, 0, 0, 796, 0, 796, 0, - 0, 0, 0, 0, 796, 796, 0, 0, 0, 0, + 0, 797, 797, 797, 797, 797, 0, 0, 0, 797, + 0, 0, 0, 797, 0, 0, 0, 0, 797, 797, + 797, 797, 797, 0, 0, 0, 797, 0, 797, 0, + 0, 0, 0, 0, 797, 797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 743, 0, 0, 0, 796, - 796, 796, 796, 56, 24, 0, 25, 0, 0, 26, - 253, 0, 0, 0, 27, 61, 62, 0, 28, 0, - 0, 174, 0, 174, 64, 0, 174, 30, 0, 0, - 0, 174, 0, 0, 32, 174, 0, 0, 0, 33, - 0, 71, 72, 34, 174, 0, 0, 0, 0, 0, - 0, 174, 0, 0, 0, 36, 174, 37, 74, 0, - 174, 38, 0, 0, 76, 0, 78, 0, 80, 39, - 40, 254, 174, 41, 174, 0, 0, 0, 174, 0, - 86, 0, 0, 87, 88, 0, 174, 174, 0, 0, - 174, 0, 0, 174, 0, 0, 0, 0, 89, 90, + 0, 0, 0, 0, 0, 743, 0, 0, 0, 797, + 797, 797, 797, 56, 24, 0, 25, 0, 0, 26, + 253, 0, 1052, 0, 27, 61, 62, 0, 28, 0, + 0, 24, 0, 25, 64, 0, 26, 30, 0, 0, + 0, 27, 0, 0, 32, 28, 0, 0, 0, 33, + 0, 71, 72, 34, 30, 0, 0, 0, 0, 0, + 0, 32, 0, 0, 0, 36, 33, 37, 74, 0, + 34, 38, 0, 0, 76, 0, 78, 0, 80, 39, + 40, 254, 36, 41, 37, 0, 0, 0, 38, 0, + 86, 0, 0, 87, 88, 0, 39, 40, 0, 0, + 41, 0, 0, 322, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 517, 744, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, - 0, 0, 0, 101, 0, 102, 0, 0, 978, 0, + 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 932, 0, 0, 0, 105, 302, 107, 108, 56, 24, 0, 25, 0, 0, 26, 253, 0, 0, - 0, 27, 61, 62, 174, 28, 0, 0, 174, 0, - 174, 64, 0, 174, 30, 0, 0, 0, 174, 0, - 0, 32, 174, 0, 0, 0, 33, 0, 71, 72, - 34, 174, 594, 0, 0, 0, 0, 0, 174, 595, - 0, 0, 36, 174, 37, 74, 0, 174, 38, 0, - 0, 76, 0, 78, 0, 80, 39, 40, 254, 174, - 41, 174, 0, 0, 0, 174, 0, 596, 0, 0, - 87, 88, 0, 174, 174, 0, 0, 174, 0, 0, - 174, 0, 0, 0, 0, 89, 90, 91, 92, 93, + 0, 27, 61, 62, 355, 28, 0, 0, 175, 0, + 175, 64, 0, 175, 30, 0, 0, 0, 175, 0, + 0, 32, 175, 0, 0, 0, 33, 0, 71, 72, + 34, 175, 594, 0, 0, 0, 0, 0, 175, 595, + 0, 0, 36, 175, 37, 74, 0, 175, 38, 0, + 0, 76, 0, 78, 0, 80, 39, 40, 254, 175, + 41, 175, 0, 0, 0, 175, 0, 596, 0, 0, + 87, 88, 0, 175, 175, 0, 0, 175, 0, 0, + 175, 0, 0, 0, 0, 89, 90, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, - 101, 0, 102, 978, 0, 0, 0, 0, 103, 104, + 101, 0, 102, 0, 0, 979, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, 105, 106, 107, 108, 56, 24, 0, 25, 0, 0, 26, 253, 0, 0, 0, 27, 61, - 62, 174, 28, 0, 0, 24, 0, 25, 64, 0, - 26, 30, 0, 0, 0, 27, 0, 0, 32, 28, - 0, 0, 0, 33, 0, 71, 72, 34, 30, 0, - 0, 0, 0, 0, 0, 32, 0, 0, 0, 36, - 33, 37, 74, 937, 34, 38, 0, 0, 76, 0, - 78, 0, 80, 39, 40, 254, 36, 41, 37, 0, - 0, 0, 38, 0, 86, 0, 0, 87, 88, 0, - 39, 40, 0, 0, 41, 0, 0, 322, 0, 0, + 62, 175, 28, 0, 0, 175, 0, 175, 64, 0, + 175, 30, 0, 0, 0, 175, 0, 0, 32, 175, + 0, 0, 0, 33, 0, 71, 72, 34, 175, 0, + 0, 0, 0, 0, 0, 175, 0, 0, 0, 36, + 175, 37, 74, 937, 175, 38, 0, 0, 76, 0, + 78, 0, 80, 39, 40, 254, 175, 41, 175, 0, + 0, 0, 175, 0, 86, 0, 0, 87, 88, 0, + 175, 175, 0, 0, 175, 0, 0, 175, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 517, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, - 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, + 979, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 56, 24, 0, 25, 0, 0, 26, 253, 0, 0, 0, 27, 61, 62, 0, 28, 0, 105, 302, 107, 108, 64, 0, 0, 30, 0, 0, - 0, 0, 0, 0, 32, 0, 0, 0, 355, 33, + 0, 0, 0, 0, 32, 0, 0, 0, 175, 33, 0, 71, 72, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 74, 0, 0, 38, 0, 0, 76, 0, 78, 0, 80, 39, @@ -10921,7 +10935,7 @@ void case_982() 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, 36, 41, 37, 0, 0, 0, 38, 0, 86, 0, 0, 87, 88, 0, 39, 40, 0, 0, 41, - 0, 0, 519, 0, 0, 0, 0, 89, 90, 91, + 0, 0, 322, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 517, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, @@ -10950,7 +10964,7 @@ void case_982() 33, 37, 74, 0, 34, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, 36, 41, 37, 0, 0, 0, 38, 0, 86, 0, 0, 87, 88, 0, - 39, 40, 0, 0, 41, 0, 0, 573, 0, 0, + 39, 40, 0, 0, 41, 0, 0, 519, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 517, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, @@ -10966,7 +10980,7 @@ void case_982() 0, 34, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, 36, 41, 37, 0, 0, 0, 38, 0, 86, 0, 0, 87, 88, 0, 39, 40, 0, - 0, 41, 0, 0, 758, 0, 0, 0, 0, 89, + 0, 41, 0, 0, 573, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, @@ -10974,15 +10988,15 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 105, 302, 107, 108, 56, 24, 0, 25, 0, 0, 26, 253, 0, - 0, 0, 27, 61, 62, 355, 28, 0, 0, 491, - 0, 491, 64, 0, 491, 30, 0, 0, 0, 491, - 0, 0, 32, 491, 0, 0, 0, 33, 0, 71, - 72, 34, 491, 0, 0, 0, 0, 0, 0, 491, - 0, 0, 0, 36, 491, 37, 74, 0, 491, 38, + 0, 0, 27, 61, 62, 355, 28, 0, 0, 24, + 0, 25, 64, 0, 26, 30, 0, 0, 0, 27, + 0, 0, 32, 28, 0, 0, 0, 33, 0, 71, + 72, 34, 30, 0, 0, 0, 0, 0, 0, 32, + 0, 0, 0, 36, 33, 37, 74, 0, 34, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, - 491, 41, 491, 0, 0, 0, 491, 0, 86, 0, - 0, 87, 88, 0, 491, 491, 0, 0, 491, 0, - 0, 491, 0, 0, 0, 0, 89, 90, 91, 92, + 36, 41, 37, 0, 0, 0, 38, 0, 86, 0, + 0, 87, 88, 0, 39, 40, 0, 0, 41, 0, + 0, 758, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 103, @@ -10990,14 +11004,14 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 105, 302, 107, 108, 56, 24, 0, 25, 0, 0, 26, 253, 0, 0, 0, 27, - 61, 62, 491, 28, 0, 0, 175, 0, 175, 64, - 0, 175, 30, 0, 0, 0, 175, 0, 0, 32, - 175, 0, 0, 0, 33, 0, 71, 72, 34, 175, - 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, - 36, 175, 37, 74, 0, 175, 38, 0, 0, 76, - 0, 78, 0, 80, 39, 40, 254, 175, 41, 175, - 0, 0, 0, 175, 0, 86, 0, 0, 87, 88, - 0, 175, 175, 0, 0, 175, 0, 0, 175, 0, + 61, 62, 355, 28, 0, 0, 492, 0, 492, 64, + 0, 492, 30, 0, 0, 0, 492, 0, 0, 32, + 492, 0, 0, 0, 33, 0, 71, 72, 34, 492, + 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, + 36, 492, 37, 74, 0, 492, 38, 0, 0, 76, + 0, 78, 0, 80, 39, 40, 254, 492, 41, 492, + 0, 0, 0, 492, 0, 86, 0, 0, 87, 88, + 0, 492, 492, 0, 0, 492, 0, 0, 492, 0, 0, 0, 0, 89, 90, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, @@ -11005,15 +11019,15 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823, 0, 0, 0, 105, 106, 107, 108, 56, 24, 0, 25, 0, - 0, 26, 253, 0, 0, 0, 27, 61, 62, 175, - 28, 0, 0, 174, 0, 174, 64, 0, 174, 30, - 0, 0, 0, 174, 0, 0, 32, 174, 0, 0, - 0, 33, 0, 71, 72, 34, 174, 0, 0, 0, - 0, 0, 0, 174, 0, 0, 0, 36, 174, 37, - 74, 0, 174, 38, 0, 0, 76, 0, 78, 0, - 80, 39, 40, 254, 174, 41, 174, 0, 0, 0, - 174, 0, 86, 0, 0, 87, 88, 0, 174, 174, - 0, 0, 174, 0, 0, 174, 0, 0, 0, 0, + 0, 26, 253, 0, 0, 0, 27, 61, 62, 492, + 28, 0, 0, 176, 0, 176, 64, 0, 176, 30, + 0, 0, 0, 176, 0, 0, 32, 176, 0, 0, + 0, 33, 0, 71, 72, 34, 176, 0, 0, 0, + 0, 0, 0, 176, 0, 0, 0, 36, 176, 37, + 74, 0, 176, 38, 0, 0, 76, 0, 78, 0, + 80, 39, 40, 254, 176, 41, 176, 0, 0, 0, + 176, 0, 86, 0, 0, 87, 88, 0, 176, 176, + 0, 0, 176, 0, 0, 176, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, @@ -11021,124 +11035,124 @@ void case_982() 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 105, 302, 107, 108, 56, 24, 0, 25, 0, 0, 26, 253, - 0, 0, 0, 27, 61, 62, 174, 28, 0, 0, - 184, 0, 184, 64, 0, 184, 30, 0, 0, 0, - 184, 0, 0, 32, 184, 0, 0, 0, 33, 0, - 71, 72, 34, 184, 0, 0, 0, 0, 0, 0, - 184, 0, 0, 0, 36, 184, 37, 74, 0, 184, + 0, 0, 0, 27, 61, 62, 176, 28, 0, 0, + 175, 0, 175, 64, 0, 175, 30, 0, 0, 0, + 175, 0, 0, 32, 175, 0, 0, 0, 33, 0, + 71, 72, 34, 175, 0, 0, 0, 0, 0, 0, + 175, 0, 0, 0, 36, 175, 37, 74, 0, 175, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, - 254, 184, 41, 184, 0, 0, 0, 184, 0, 86, - 0, 0, 87, 88, 0, 184, 184, 0, 0, 184, - 0, 0, 184, 0, 0, 0, 0, 89, 90, 91, + 254, 175, 41, 175, 0, 0, 0, 175, 0, 86, + 0, 0, 87, 88, 0, 175, 175, 0, 0, 175, + 0, 0, 175, 0, 0, 0, 0, 89, 90, 91, 92, 301, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 610, 0, 0, 0, 105, 302, 107, 108, 610, - 610, 0, 610, 0, 0, 610, 610, 0, 0, 0, - 610, 610, 610, 184, 610, 0, 0, 0, 0, 0, - 610, 0, 0, 610, 0, 0, 0, 0, 0, 0, - 610, 0, 0, 0, 0, 610, 0, 610, 610, 610, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 610, 0, 610, 610, 0, 0, 610, 0, 0, - 610, 0, 610, 0, 610, 610, 610, 610, 0, 610, - 0, 0, 0, 0, 0, 0, 610, 0, 0, 610, - 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 610, 610, 610, 610, 610, 0, - 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, - 0, 0, 610, 610, 610, 610, 0, 0, 0, 610, - 0, 610, 0, 0, 0, 0, 0, 610, 610, 0, + 0, 611, 0, 0, 0, 105, 302, 107, 108, 611, + 611, 0, 611, 0, 0, 611, 611, 0, 0, 0, + 611, 611, 611, 175, 611, 0, 0, 185, 0, 185, + 611, 0, 185, 611, 0, 0, 0, 185, 0, 0, + 611, 185, 0, 0, 0, 611, 0, 611, 611, 611, + 185, 0, 0, 0, 0, 0, 0, 185, 0, 0, + 0, 611, 185, 611, 611, 0, 185, 611, 0, 0, + 611, 0, 611, 0, 611, 611, 611, 611, 185, 611, + 185, 0, 0, 0, 185, 0, 611, 0, 0, 611, + 611, 0, 185, 185, 0, 0, 185, 0, 0, 185, + 0, 0, 0, 0, 611, 611, 611, 611, 611, 0, + 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, + 0, 0, 611, 611, 611, 611, 0, 0, 0, 611, + 0, 611, 0, 0, 0, 0, 0, 611, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, - 0, 0, 610, 610, 610, 610, 56, 24, 0, 25, + 0, 0, 611, 611, 611, 611, 56, 24, 0, 25, 0, 0, 26, 253, 0, 0, 0, 27, 61, 62, - 0, 28, 0, 0, 0, 0, 0, 64, 0, 0, - 30, 0, 0, 0, 27, 0, 0, 32, 0, 0, - 0, 337, 33, 0, 71, 72, 34, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 27, 36, 0, + 185, 28, 0, 0, 0, 0, 0, 64, 0, 0, + 30, 0, 0, 0, 28, 0, 0, 32, 0, 0, + 0, 338, 33, 0, 71, 72, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 36, 0, 37, 74, 0, 0, 38, 0, 0, 76, 0, 78, - 27, 80, 39, 40, 254, 27, 41, 337, 0, 0, - 27, 0, 27, 27, 27, 27, 0, 0, 27, 0, - 27, 0, 0, 0, 27, 0, 0, 0, 0, 0, - 0, 89, 90, 91, 255, 0, 27, 0, 0, 27, - 0, 27, 0, 95, 0, 0, 0, 0, 0, 0, + 28, 80, 39, 40, 254, 28, 41, 338, 0, 0, + 28, 0, 28, 28, 28, 28, 0, 0, 28, 0, + 28, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 89, 90, 91, 255, 0, 28, 0, 0, 28, + 0, 28, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, - 0, 27, 27, 0, 0, 0, 0, 0, 0, 0, - 337, 337, 337, 337, 745, 0, 0, 337, 337, 105, - 501, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 0, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 0, 48, 0, 48, 0, 48, 337, - 48, 0, 337, 48, 0, 48, 48, 0, 48, 0, - 48, 0, 48, 0, 48, 48, 48, 48, 0, 0, - 48, 48, 0, 0, 0, 0, 48, 48, 48, 48, - 48, 0, 0, 48, 0, 48, 0, 48, 0, 48, - 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, - 48, 48, 0, 0, 48, 48, 48, 0, 0, 0, - 0, 0, 0, 48, 48, 0, 48, 48, 0, 48, - 48, 48, 0, 0, 0, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 28, 28, 0, 0, 0, 0, 0, 0, 0, + 338, 338, 338, 338, 746, 0, 0, 338, 338, 105, + 501, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 0, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, + 338, 338, 338, 0, 49, 0, 49, 0, 49, 338, + 49, 0, 338, 49, 0, 49, 49, 0, 49, 0, + 49, 0, 49, 0, 49, 49, 49, 49, 0, 0, + 49, 49, 0, 0, 0, 0, 49, 49, 49, 49, + 49, 0, 0, 49, 0, 49, 0, 49, 0, 49, + 49, 0, 49, 49, 49, 49, 0, 0, 49, 49, + 49, 49, 0, 0, 49, 49, 49, 0, 0, 0, + 0, 0, 0, 49, 49, 0, 49, 49, 0, 49, + 49, 49, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 0, 48, 48, 47, - 0, 0, 0, 47, 0, 47, 0, 0, 47, 0, - 47, 47, 0, 47, 0, 47, 0, 47, 0, 47, - 47, 47, 47, 0, 0, 47, 47, 0, 0, 0, - 0, 47, 0, 47, 47, 47, 0, 0, 47, 0, - 47, 0, 47, 0, 0, 47, 0, 47, 47, 47, - 47, 48, 0, 0, 47, 47, 47, 0, 0, 47, - 47, 47, 0, 0, 0, 0, 0, 0, 47, 47, - 0, 47, 47, 0, 47, 47, 47, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, - 47, 0, 47, 0, 47, 0, 80, 47, 0, 47, - 47, 0, 47, 0, 47, 47, 47, 0, 47, 47, - 47, 47, 0, 0, 47, 47, 0, 0, 0, 0, - 47, 0, 47, 47, 47, 0, 0, 47, 0, 47, - 0, 47, 0, 0, 47, 0, 47, 47, 47, 47, - 0, 0, 0, 47, 47, 47, 47, 0, 47, 47, - 47, 0, 0, 0, 0, 0, 0, 47, 47, 0, - 47, 47, 0, 47, 47, 47, 0, 0, 0, 47, + 0, 0, 0, 0, 0, 49, 0, 49, 49, 48, + 0, 0, 0, 48, 0, 48, 0, 0, 48, 0, + 48, 48, 0, 48, 0, 48, 0, 48, 0, 48, + 48, 48, 48, 0, 0, 48, 48, 0, 0, 0, + 0, 48, 0, 48, 48, 48, 0, 0, 48, 0, + 48, 0, 48, 0, 0, 48, 0, 48, 48, 48, + 48, 49, 0, 0, 48, 48, 48, 0, 0, 48, + 48, 48, 0, 0, 0, 0, 0, 0, 48, 48, + 0, 48, 48, 0, 48, 48, 48, 0, 0, 0, + 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, + 48, 0, 48, 0, 48, 0, 81, 48, 0, 48, + 48, 0, 48, 0, 48, 48, 48, 0, 48, 48, + 48, 48, 0, 0, 48, 48, 0, 0, 0, 0, + 48, 0, 48, 48, 48, 0, 0, 48, 0, 48, + 0, 48, 0, 0, 48, 0, 48, 48, 48, 48, + 0, 0, 0, 48, 48, 48, 48, 0, 48, 48, + 48, 0, 0, 0, 0, 0, 0, 48, 48, 0, + 48, 48, 0, 48, 48, 48, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 0, 47, - 0, 48, 0, 48, 0, 81, 48, 0, 48, 48, - 0, 48, 0, 48, 47, 48, 0, 48, 48, 48, + 0, 0, 0, 0, 0, 0, 0, 49, 0, 48, + 0, 49, 0, 49, 0, 82, 49, 0, 49, 49, + 0, 49, 0, 49, 48, 49, 0, 49, 49, 49, + 49, 0, 0, 49, 49, 0, 0, 0, 0, 49, + 0, 49, 49, 49, 0, 0, 49, 0, 49, 0, + 49, 0, 0, 49, 0, 49, 49, 49, 49, 0, + 0, 0, 49, 49, 49, 48, 0, 49, 49, 49, + 0, 0, 0, 0, 0, 0, 49, 49, 0, 49, + 49, 0, 49, 49, 49, 0, 0, 0, 49, 0, + 0, 0, 0, 48, 0, 0, 0, 48, 0, 48, + 0, 0, 48, 0, 48, 48, 0, 48, 49, 48, + 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, + 48, 0, 0, 49, 0, 48, 0, 48, 48, 48, + 0, 0, 48, 0, 48, 0, 48, 0, 0, 48, + 0, 48, 48, 48, 48, 0, 0, 0, 48, 48, + 48, 0, 0, 48, 48, 48, 0, 0, 0, 0, + 0, 0, 48, 48, 49, 48, 48, 0, 48, 48, + 48, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 48, 0, 48, 48, 0, 48, 0, 48, 48, + 215, 48, 0, 48, 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 0, 0, 0, 0, 48, - 0, 48, 48, 48, 0, 0, 48, 0, 48, 0, + 0, 48, 48, 48, 0, 0, 48, 0, 48, 338, 48, 0, 0, 48, 0, 48, 48, 48, 48, 0, - 0, 0, 48, 48, 48, 47, 0, 48, 48, 48, - 0, 0, 0, 0, 0, 0, 48, 48, 0, 48, - 48, 0, 48, 48, 48, 0, 0, 0, 48, 0, - 0, 0, 0, 47, 0, 0, 0, 47, 0, 47, - 0, 0, 47, 0, 47, 47, 0, 47, 48, 47, - 0, 47, 0, 47, 47, 47, 47, 0, 0, 47, - 47, 0, 0, 48, 0, 47, 0, 47, 47, 47, - 0, 0, 47, 0, 47, 0, 47, 0, 0, 47, - 0, 47, 47, 47, 47, 0, 0, 0, 47, 47, - 47, 0, 0, 47, 47, 47, 0, 0, 0, 0, - 0, 0, 47, 47, 48, 47, 47, 0, 47, 47, - 47, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, - 0, 47, 0, 47, 47, 0, 47, 0, 47, 47, - 214, 47, 0, 47, 0, 47, 0, 47, 47, 47, - 47, 0, 0, 47, 47, 0, 0, 0, 0, 47, - 0, 47, 47, 47, 0, 0, 47, 0, 47, 337, - 47, 0, 0, 47, 0, 47, 47, 47, 47, 0, - 0, 0, 47, 47, 47, 0, 0, 47, 47, 47, - 47, 0, 337, 0, 0, 0, 47, 47, 0, 47, - 47, 452, 47, 47, 47, 337, 0, 0, 47, 0, - 337, 0, 0, 337, 0, 337, 0, 337, 337, 337, - 337, 0, 0, 0, 453, 337, 0, 0, 47, 337, - 0, 0, 0, 337, 215, 0, 0, 454, 0, 0, - 0, 337, 456, 0, 337, 0, 337, 457, 0, 458, + 0, 0, 48, 48, 48, 0, 0, 48, 48, 48, + 48, 0, 338, 0, 0, 0, 48, 48, 0, 48, + 48, 452, 48, 48, 48, 338, 0, 0, 48, 0, + 338, 0, 0, 338, 0, 338, 0, 338, 338, 338, + 338, 0, 0, 0, 453, 338, 0, 0, 48, 338, + 0, 0, 0, 338, 216, 0, 0, 454, 0, 0, + 0, 338, 456, 0, 338, 0, 338, 457, 0, 458, 459, 460, 461, 0, 0, 0, 0, 462, 0, 0, - 0, 463, 0, 0, 0, 337, 0, 0, 0, 0, - 337, 0, 0, 464, 0, 0, 465, 337, 466, 265, - 0, 337, 0, 0, 47, 56, 24, 0, 25, 0, - 0, 26, 253, 0, 337, 0, 27, 61, 62, 0, + 0, 463, 0, 0, 0, 338, 0, 0, 0, 0, + 338, 0, 0, 464, 0, 0, 465, 338, 466, 266, + 0, 338, 0, 0, 48, 56, 24, 0, 25, 0, + 0, 26, 253, 0, 338, 0, 27, 61, 62, 0, 28, 0, 467, 0, 0, 0, 64, 0, 0, 30, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, - 0, 33, 0, 71, 72, 34, 337, 594, 0, 0, + 0, 33, 0, 71, 72, 34, 338, 594, 0, 0, 0, 0, 0, 0, 595, 0, 0, 36, 0, 37, 74, 0, 0, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, 0, 41, 0, 0, 1340, 0, @@ -11256,161 +11270,161 @@ void case_982() 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 77, - 77, 0, 77, 0, 0, 77, 77, 0, 0, 0, - 77, 77, 77, 0, 77, 0, 105, 1044, 107, 108, - 77, 0, 0, 77, 0, 0, 0, 0, 0, 0, - 77, 0, 0, 0, 0, 77, 0, 77, 77, 77, + 0, 103, 104, 0, 0, 0, 0, 0, 0, 78, + 78, 0, 78, 0, 0, 78, 78, 0, 0, 0, + 78, 78, 78, 0, 78, 0, 105, 1044, 107, 108, + 78, 0, 0, 78, 0, 0, 0, 0, 0, 0, + 78, 0, 0, 0, 0, 78, 0, 78, 78, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 0, 77, 77, 0, 0, 77, 0, 0, - 77, 0, 77, 0, 77, 77, 77, 77, 0, 77, - 0, 0, 0, 0, 0, 0, 77, 0, 0, 77, - 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 77, 77, 77, 77, 0, - 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, - 0, 0, 77, 77, 77, 77, 0, 0, 0, 77, - 0, 77, 0, 0, 0, 0, 0, 77, 77, 0, - 0, 0, 0, 0, 0, 135, 135, 0, 135, 0, - 0, 135, 135, 0, 0, 0, 135, 135, 135, 0, - 135, 0, 77, 77, 77, 77, 135, 0, 0, 135, - 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 135, 0, 135, 135, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 135, 0, 135, - 135, 0, 0, 135, 0, 0, 135, 0, 135, 0, - 135, 135, 135, 135, 0, 135, 0, 0, 0, 0, - 0, 0, 135, 0, 0, 135, 135, 0, 0, 0, + 0, 78, 0, 78, 78, 0, 0, 78, 0, 0, + 78, 0, 78, 0, 78, 78, 78, 78, 0, 78, + 0, 0, 0, 0, 0, 0, 78, 0, 0, 78, + 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 78, 78, 78, 78, 78, 0, + 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, + 0, 0, 78, 78, 78, 78, 0, 0, 0, 78, + 0, 78, 0, 0, 0, 0, 0, 78, 78, 0, + 0, 0, 0, 0, 0, 136, 136, 0, 136, 0, + 0, 136, 136, 0, 0, 0, 136, 136, 136, 0, + 136, 0, 78, 78, 78, 78, 136, 0, 0, 136, + 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, + 0, 136, 0, 136, 136, 136, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 136, 0, 136, + 136, 0, 0, 136, 0, 0, 136, 0, 136, 0, + 136, 136, 136, 136, 0, 136, 0, 0, 0, 0, + 0, 0, 136, 0, 0, 136, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 135, 135, 135, 135, 135, 0, 0, 0, 0, 0, - 0, 0, 135, 0, 0, 0, 0, 0, 135, 135, - 135, 135, 0, 0, 0, 135, 0, 135, 0, 0, - 0, 0, 0, 135, 135, 0, 0, 0, 0, 0, + 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, + 0, 0, 136, 0, 0, 0, 0, 0, 136, 136, + 136, 136, 0, 0, 0, 136, 0, 136, 0, 0, + 0, 0, 0, 136, 136, 0, 0, 0, 0, 0, 0, 56, 24, 0, 25, 0, 0, 26, 253, 0, - 0, 0, 27, 61, 62, 0, 28, 0, 135, 135, - 135, 135, 64, 0, 0, 30, 0, 0, 0, 0, - 0, 0, 32, 0, 27, 0, 27, 33, 0, 71, + 0, 0, 27, 61, 62, 0, 28, 0, 136, 136, + 136, 136, 64, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 32, 0, 28, 0, 28, 33, 0, 71, 72, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 36, 0, 37, 74, 27, 0, 38, + 0, 0, 0, 36, 0, 37, 74, 28, 0, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, - 27, 41, 0, 0, 0, 27, 0, 0, 0, 0, - 27, 0, 27, 27, 27, 27, 0, 0, 0, 0, - 27, 0, 0, 0, 27, 0, 89, 90, 91, 255, - 301, 0, 0, 0, 0, 0, 27, 0, 95, 27, - 0, 27, 0, 0, 97, 98, 99, 100, 0, 0, + 28, 41, 0, 0, 0, 28, 0, 0, 0, 0, + 28, 0, 28, 28, 28, 28, 0, 0, 0, 0, + 28, 0, 0, 0, 28, 0, 89, 90, 91, 255, + 301, 0, 0, 0, 0, 0, 28, 0, 95, 28, + 0, 28, 0, 0, 97, 98, 99, 100, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 103, - 104, 0, 0, 0, 0, 27, 0, 0, 0, 0, - 0, 27, 27, 0, 0, 0, 0, 0, 0, 643, - 0, 643, 0, 643, 105, 256, 643, 108, 643, 643, - 0, 643, 0, 643, 0, 643, 0, 643, 643, 643, - 0, 0, 0, 643, 643, 0, 0, 0, 0, 643, - 0, 643, 643, 0, 0, 0, 643, 0, 0, 0, - 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 643, 643, 0, 643, 0, 0, 0, 643, 643, - 0, 0, 0, 0, 0, 0, 643, 643, 56, 24, - 643, 25, 0, 643, 26, 253, 0, 0, 643, 27, + 104, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 28, 28, 0, 0, 0, 0, 0, 0, 644, + 0, 644, 0, 644, 105, 256, 644, 108, 644, 644, + 0, 644, 0, 644, 0, 644, 0, 644, 644, 644, + 0, 0, 0, 644, 644, 0, 0, 0, 0, 644, + 0, 644, 644, 0, 0, 0, 644, 0, 0, 0, + 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 644, 644, 0, 644, 0, 0, 0, 644, 644, + 0, 0, 0, 0, 0, 0, 644, 644, 56, 24, + 644, 25, 0, 644, 26, 253, 0, 0, 644, 27, 61, 62, 0, 28, 0, 0, 0, 0, 0, 64, 0, 0, 30, 0, 0, 0, 0, 0, 0, 32, - 643, 643, 0, 0, 33, 0, 71, 72, 34, 0, - 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, + 644, 644, 0, 0, 33, 0, 71, 72, 34, 0, + 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 36, 0, 37, 74, 0, 0, 38, 0, 0, 76, 0, 78, 0, 80, 39, 40, 254, 0, 41, 0, 0, 84, 0, 0, 0, 0, 0, 0, 24, 0, - 25, 0, 0, 26, 643, 1235, 0, 0, 27, 0, + 25, 0, 0, 26, 644, 1235, 0, 0, 27, 0, 0, 0, 28, 89, 90, 91, 255, 0, 0, 0, - 0, 30, 642, 0, 642, 95, 0, 642, 32, 642, - 642, 0, 642, 33, 642, 1236, 642, 34, 642, 642, - 642, 0, 0, 0, 642, 642, 0, 0, 0, 36, - 642, 37, 642, 642, 0, 38, 1237, 642, 0, 0, - 0, 642, 0, 39, 40, 0, 0, 41, 0, 0, - 322, 105, 256, 642, 0, 642, 0, 0, 0, 642, - 642, 0, 0, 0, 0, 0, 0, 642, 642, 0, - 642, 642, 642, 0, 642, 642, 0, 642, 642, 642, - 642, 0, 642, 0, 642, 0, 642, 642, 642, 0, - 0, 0, 642, 642, 0, 0, 0, 0, 642, 0, - 642, 642, 0, 0, 0, 642, 0, 0, 0, 642, - 0, 0, 0, 0, 642, 0, 0, 0, 0, 0, - 0, 642, 0, 642, 0, 0, 0, 642, 642, 0, - 0, 355, 0, 0, 0, 642, 642, 0, 0, 642, - 0, 0, 642, 0, 24, 0, 25, 642, 0, 26, - 0, 0, 1295, 0, 27, 642, 686, 0, 28, 0, + 0, 30, 643, 0, 643, 95, 0, 643, 32, 643, + 643, 0, 643, 33, 643, 1236, 643, 34, 643, 643, + 643, 0, 0, 0, 643, 643, 0, 0, 0, 36, + 643, 37, 643, 643, 0, 38, 1237, 643, 0, 0, + 0, 643, 0, 39, 40, 0, 0, 41, 0, 0, + 322, 105, 256, 643, 0, 643, 0, 0, 0, 643, + 643, 0, 0, 0, 0, 0, 0, 643, 643, 0, + 643, 643, 643, 0, 643, 643, 0, 643, 643, 643, + 643, 0, 643, 0, 643, 0, 643, 643, 643, 0, + 0, 0, 643, 643, 0, 0, 0, 0, 643, 0, + 643, 643, 0, 0, 0, 643, 0, 0, 0, 643, + 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, + 0, 643, 0, 643, 0, 0, 0, 643, 643, 0, + 0, 355, 0, 0, 0, 643, 643, 0, 0, 643, + 0, 0, 643, 0, 24, 0, 25, 643, 0, 26, + 0, 0, 1295, 0, 27, 643, 686, 0, 28, 0, 687, 1296, 1297, 0, 0, 0, 1298, 30, 0, 0, 0, 0, 1299, 0, 32, 0, 24, 0, 25, 33, 0, 26, 0, 34, 1295, 0, 27, 0, 686, 0, 28, 0, 687, 1296, 1297, 36, 0, 37, 1298, 30, 0, 38, 0, 0, 1299, 0, 32, 0, 0, 39, 40, 33, 0, 41, 0, 34, 1300, 0, 0, 0, - 47, 1301, 47, 642, 0, 47, 0, 36, 0, 37, - 47, 0, 0, 38, 47, 0, 0, 0, 0, 0, - 0, 39, 40, 47, 0, 41, 0, 0, 1300, 0, - 47, 0, 47, 1301, 47, 47, 1302, 47, 0, 47, - 0, 47, 47, 47, 0, 0, 47, 0, 47, 0, - 0, 47, 0, 47, 0, 47, 0, 47, 0, 0, - 47, 0, 47, 0, 0, 47, 47, 47, 0, 47, - 0, 47, 47, 47, 0, 47, 48, 1303, 48, 0, - 47, 48, 0, 47, 0, 47, 48, 0, 0, 47, - 48, 0, 47, 0, 0, 0, 0, 47, 47, 48, - 0, 47, 0, 0, 47, 0, 48, 154, 47, 1303, - 47, 48, 0, 47, 0, 48, 0, 48, 47, 48, - 0, 0, 47, 0, 48, 0, 0, 48, 0, 48, - 0, 47, 0, 48, 0, 0, 48, 154, 47, 0, - 0, 48, 48, 47, 0, 48, 0, 47, 48, 47, - 0, 47, 24, 47, 25, 0, 47, 26, 0, 47, - 0, 47, 27, 0, 0, 47, 28, 0, 47, 0, - 0, 0, 0, 47, 47, 30, 0, 47, 0, 0, - 47, 0, 32, 0, 0, 47, 0, 33, 0, 0, + 48, 1301, 48, 643, 0, 48, 0, 36, 0, 37, + 48, 0, 0, 38, 48, 0, 0, 0, 0, 0, + 0, 39, 40, 48, 0, 41, 0, 0, 1300, 0, + 48, 0, 48, 1301, 48, 48, 1302, 48, 0, 48, + 0, 48, 48, 48, 0, 0, 48, 0, 48, 0, + 0, 48, 0, 48, 0, 48, 0, 48, 0, 0, + 48, 0, 48, 0, 0, 48, 48, 48, 0, 48, + 0, 48, 48, 48, 0, 48, 49, 1303, 49, 0, + 48, 49, 0, 48, 0, 48, 49, 0, 0, 48, + 49, 0, 48, 0, 0, 0, 0, 48, 48, 49, + 0, 48, 0, 0, 48, 0, 49, 155, 48, 1303, + 48, 49, 0, 48, 0, 49, 0, 49, 48, 49, + 0, 0, 48, 0, 49, 0, 0, 49, 0, 49, + 0, 48, 0, 49, 0, 0, 49, 155, 48, 0, + 0, 49, 49, 48, 0, 49, 0, 48, 49, 48, + 0, 48, 24, 48, 25, 0, 48, 26, 0, 48, + 0, 48, 27, 0, 0, 48, 28, 0, 48, 0, + 0, 0, 0, 48, 48, 30, 0, 48, 0, 0, + 48, 0, 32, 0, 0, 48, 0, 33, 0, 0, 0, 34, 0, 570, 0, 0, 0, 24, 0, 25, 571, 0, 26, 36, 0, 37, 0, 27, 0, 38, 0, 28, 572, 0, 0, 29, 0, 39, 40, 0, - 30, 41, 0, 0, 573, 31, 0, 32, 0, 48, - 0, 0, 33, 0, 0, 33, 34, 35, 0, 0, - 0, 0, 0, 0, 0, 0, 33, 0, 36, 0, - 37, 33, 0, 0, 38, 33, 0, 0, 33, 0, - 0, 47, 39, 40, 0, 0, 41, 0, 0, 0, - 33, 33, 0, 0, 0, 33, 33, 0, 0, 0, - 0, 33, 0, 33, 33, 33, 33, 0, 0, 0, - 0, 33, 0, 0, 0, 33, 0, 33, 0, 0, - 0, 0, 0, 0, 0, 574, 0, 33, 0, 33, - 33, 31, 33, 0, 0, 0, 33, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 31, 0, 0, - 0, 31, 0, 0, 31, 0, 33, 0, 0, 0, - 0, 0, 33, 33, 0, 0, 31, 31, 0, 0, - 42, 31, 31, 0, 47, 0, 0, 31, 0, 31, - 31, 31, 31, 0, 0, 47, 0, 31, 0, 0, - 47, 31, 0, 31, 47, 0, 0, 47, 0, 0, - 0, 0, 0, 31, 0, 0, 31, 0, 31, 47, - 47, 0, 31, 0, 47, 47, 0, 47, 0, 0, - 47, 0, 47, 47, 47, 47, 0, 0, 47, 0, - 47, 0, 31, 47, 47, 0, 47, 47, 31, 31, - 47, 0, 0, 0, 0, 0, 47, 0, 0, 47, - 0, 47, 47, 47, 0, 47, 0, 47, 47, 47, - 0, 0, 0, 47, 0, 47, 47, 47, 47, 0, - 0, 0, 0, 47, 0, 47, 0, 47, 0, 47, - 0, 35, 47, 0, 0, 0, 0, 0, 0, 47, - 0, 0, 47, 0, 47, 47, 0, 47, 47, 0, - 47, 0, 0, 0, 0, 47, 0, 47, 47, 47, - 47, 0, 0, 0, 0, 47, 0, 0, 47, 47, - 47, 0, 0, 0, 36, 0, 0, 0, 0, 0, - 0, 47, 0, 47, 47, 47, 47, 0, 47, 0, - 0, 0, 0, 47, 0, 47, 47, 47, 47, 0, - 0, 0, 0, 47, 0, 0, 0, 47, 47, 0, - 47, 0, 47, 47, 0, 0, 196, 0, 0, 47, - 0, 47, 47, 47, 47, 47, 47, 0, 0, 0, - 0, 47, 0, 47, 47, 47, 47, 0, 0, 47, - 0, 47, 0, 0, 0, 47, 47, 0, 47, 0, - 47, 47, 0, 0, 198, 0, 0, 47, 0, 47, - 47, 47, 47, 0, 47, 0, 0, 0, 0, 47, - 0, 47, 47, 47, 47, 0, 0, 0, 0, 47, - 0, 0, 0, 47, 47, 0, 47, 0, 0, 0, - 0, 47, 299, 47, 0, 47, 0, 47, 47, 0, - 47, 0, 47, 0, 0, 0, 0, 47, 0, 47, - 47, 47, 47, 0, 47, 0, 0, 47, 0, 0, - 0, 47, 0, 0, 47, 0, 0, 47, 0, 0, - 300, 452, 47, 47, 0, 0, 47, 47, 47, 47, - 47, 47, 47, 0, 0, 47, 0, 47, 0, 0, - 0, 47, 0, 0, 453, 0, 0, 0, 0, 0, - 0, 452, 47, 47, 47, 47, 47, 454, 47, 0, + 30, 41, 0, 0, 573, 31, 0, 32, 0, 49, + 0, 0, 33, 0, 0, 34, 34, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 0, 36, 0, + 37, 34, 0, 0, 38, 34, 0, 0, 34, 0, + 0, 48, 39, 40, 0, 0, 41, 0, 0, 0, + 34, 34, 0, 0, 0, 34, 34, 0, 0, 0, + 0, 34, 0, 34, 34, 34, 34, 0, 0, 0, + 0, 34, 0, 0, 0, 34, 0, 34, 0, 0, + 0, 0, 0, 0, 0, 574, 0, 34, 0, 34, + 34, 32, 34, 0, 0, 0, 34, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 32, 0, 0, + 0, 32, 0, 0, 32, 0, 34, 0, 0, 0, + 0, 0, 34, 34, 0, 0, 32, 32, 0, 0, + 42, 32, 32, 0, 48, 0, 0, 32, 0, 32, + 32, 32, 32, 0, 0, 48, 0, 32, 0, 0, + 48, 32, 0, 32, 48, 0, 0, 48, 0, 0, + 0, 0, 0, 32, 0, 0, 32, 0, 32, 48, + 48, 0, 32, 0, 48, 48, 0, 48, 0, 0, + 48, 0, 48, 48, 48, 48, 0, 0, 48, 0, + 48, 0, 32, 48, 48, 0, 48, 48, 32, 32, + 48, 0, 0, 0, 0, 0, 48, 0, 0, 48, + 0, 48, 48, 48, 0, 48, 0, 48, 48, 48, + 0, 0, 0, 48, 0, 48, 48, 48, 48, 0, + 0, 0, 0, 48, 0, 48, 0, 48, 0, 48, + 0, 36, 48, 0, 0, 0, 0, 0, 0, 48, + 0, 0, 48, 0, 48, 48, 0, 48, 48, 0, + 48, 0, 0, 0, 0, 48, 0, 48, 48, 48, + 48, 0, 0, 0, 0, 48, 0, 0, 48, 48, + 48, 0, 0, 0, 37, 0, 0, 0, 0, 0, + 0, 48, 0, 48, 48, 48, 48, 0, 48, 0, + 0, 0, 0, 48, 0, 48, 48, 48, 48, 0, + 0, 0, 0, 48, 0, 0, 0, 48, 48, 0, + 48, 0, 48, 48, 0, 0, 197, 0, 0, 48, + 0, 48, 48, 48, 48, 48, 48, 0, 0, 0, + 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, + 0, 48, 0, 0, 0, 48, 48, 0, 48, 0, + 48, 48, 0, 0, 199, 0, 0, 48, 0, 48, + 48, 48, 48, 0, 48, 0, 0, 0, 0, 48, + 0, 48, 48, 48, 48, 0, 0, 0, 0, 48, + 0, 0, 0, 48, 48, 0, 48, 0, 0, 0, + 0, 48, 300, 48, 0, 48, 0, 48, 48, 0, + 48, 0, 48, 0, 0, 0, 0, 48, 0, 48, + 48, 48, 48, 0, 48, 0, 0, 48, 0, 0, + 0, 48, 0, 0, 48, 0, 0, 48, 0, 0, + 301, 452, 48, 48, 0, 0, 48, 48, 48, 48, + 48, 48, 48, 0, 0, 48, 0, 48, 0, 0, + 0, 48, 0, 0, 453, 0, 0, 0, 0, 0, + 0, 452, 48, 48, 48, 48, 48, 454, 48, 0, 0, 455, 456, 0, 0, 0, 0, 457, 0, 458, 459, 460, 461, 0, 453, 0, 0, 462, 0, 0, - 0, 463, 47, 0, 0, 0, 0, 454, 0, 0, + 0, 463, 48, 0, 0, 0, 0, 454, 0, 0, 0, 0, 456, 464, 0, 0, 465, 457, 466, 458, 459, 460, 461, 0, 0, 0, 0, 462, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11580,26 +11594,26 @@ void case_982() 372, 376, 368, 384, 385, 386, 390, 376, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 0, 368, 372, 257, 372, 370, - 418, 261, 367, 372, 0, 368, 368, 373, 372, 370, - 367, 665, 272, 368, 372, 429, 368, 277, 418, 372, - 376, 281, 376, 418, 284, 376, 372, 376, 368, 367, - 372, 368, 686, 372, 368, 376, 296, 297, 367, 315, - 376, 301, 302, 376, 376, 376, 376, 307, 376, 309, - 310, 311, 312, 376, 376, 263, 50, 317, 12, 5, - 958, 321, 852, 323, 1272, 1106, 257, 721, 1106, 723, - 261, 1452, 1415, 333, 1245, 335, 336, 686, 338, 1468, - 1432, 272, 342, 1403, 1398, 1304, 277, 700, 874, 874, - 281, 869, 1316, 284, 1513, 874, 1335, 1146, 1258, 753, - 511, 1270, 362, 1421, 1420, 296, 297, 1507, 368, 369, - 301, 302, 1425, 1203, 768, 1506, 307, 771, 309, 310, - 311, 312, 776, 1360, 1304, 844, 317, 896, 1205, 265, - 321, 267, 323, 817, 270, 532, 369, 791, 1008, 275, - 729, 795, 333, 279, 335, 336, 694, 338, 71, 595, - 335, 342, 288, 726, 399, 401, 1205, 400, 402, 295, - 554, 403, 795, 404, 300, 1279, 1194, 1183, 304, 257, - 581, 362, 1127, 261, 157, 1224, 995, 1071, 369, 1095, - 316, 979, 318, 1022, 272, 1085, 322, 0, 1155, 277, - 1083, 1275, 917, 281, 330, 331, 284, 424, 334, 424, + 418, 261, 368, 372, 0, 368, 370, 372, 367, 418, + 368, 665, 272, 368, 376, 429, 372, 277, 418, 376, + 372, 281, 376, 372, 284, 376, 368, 367, 372, 368, + 368, 372, 686, 376, 367, 315, 296, 297, 373, 376, + 376, 301, 302, 263, 376, 376, 376, 307, 376, 309, + 310, 311, 312, 376, 376, 50, 12, 317, 5, 958, + 1106, 321, 852, 323, 1272, 1106, 257, 721, 1245, 723, + 261, 1452, 1415, 333, 686, 335, 336, 1468, 338, 1403, + 1432, 272, 342, 1304, 1398, 874, 277, 700, 874, 874, + 281, 869, 1316, 284, 1513, 1270, 1335, 1146, 1258, 753, + 511, 1507, 362, 1360, 1421, 296, 297, 1425, 368, 369, + 301, 302, 1420, 1203, 768, 1304, 307, 771, 309, 310, + 311, 312, 776, 844, 1506, 1205, 317, 896, 817, 265, + 321, 267, 323, 595, 270, 532, 369, 791, 1008, 275, + 729, 795, 333, 279, 694, 336, 71, 338, 335, 726, + 399, 342, 288, 400, 402, 401, 1205, 795, 403, 295, + 404, 554, 1194, 1183, 300, 1279, 1127, 157, 304, 257, + 581, 362, 995, 261, 1095, 1224, 367, 368, 369, 1071, + 316, 979, 318, 1022, 272, 1083, 322, 0, 1155, 277, + 917, 1085, 424, 281, 330, 331, 284, 424, 334, 1275, 651, 337, 1167, 530, -1, -1, 850, -1, 296, 297, 849, -1, -1, 301, 302, -1, 870, 871, -1, 307, -1, 309, 310, 311, 312, -1, -1, 363, -1, 317, @@ -11607,7 +11621,7 @@ void case_982() -1, -1, -1, -1, -1, 333, 1295, 1296, 336, 1298, 338, -1, -1, -1, 342, 1304, -1, -1, -1, -1, 256, -1, -1, -1, -1, 261, 262, 1316, -1, 1318, - -1, -1, 1321, -1, 362, -1, -1, -1, -1, -1, + -1, -1, 1321, -1, 362, -1, -1, -1, 0, -1, 1329, 369, 418, 937, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1348, -1, 297, 298, -1, -1, -1, 302, -1, -1, 305, @@ -11625,26 +11639,26 @@ void case_982() 416, -1, 418, -1, 420, -1, -1, 423, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, -1, 261, -1, - -1, 256, -1, -1, -1, -1, -1, 262, -1, 272, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 272, -1, -1, -1, -1, 277, -1, -1, -1, 281, 1123, -1, 284, -1, 1127, -1, -1, 1130, -1, -1, -1, -1, -1, -1, 296, 297, 896, -1, -1, 301, 302, - -1, -1, 1146, 298, 307, -1, 309, 310, 311, 312, + -1, -1, 1146, -1, 307, -1, 309, 310, 311, 312, 1154, -1, -1, -1, 317, 1159, -1, -1, 321, -1, 323, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 333, -1, -1, 336, -1, 338, -1, -1, -1, 342, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 333, -1, 335, 336, -1, 338, -1, -1, -1, 342, + -1, -1, -1, -1, -1, 257, -1, -1, -1, 261, 1194, -1, -1, -1, -1, -1, -1, -1, 0, 362, - -1, 1205, -1, -1, -1, 368, 369, 1211, 363, -1, - -1, -1, -1, 368, 369, -1, 371, 372, 373, 374, - 1224, 376, -1, 378, 379, -1, 381, 382, 383, 384, - 385, -1, 387, 388, 389, 390, -1, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, - -1, -1, -1, 418, -1, 420, -1, -1, 423, -1, - -1, -1, -1, -1, 429, 1279, 1280, -1, -1, -1, + 272, 1205, -1, -1, -1, 277, 369, 1211, -1, 281, + -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, + 1224, -1, -1, -1, 296, 297, -1, -1, -1, 301, + 302, -1, -1, -1, -1, 307, -1, 309, 310, 311, + 312, -1, -1, -1, -1, 317, -1, -1, -1, 321, + -1, 323, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 333, -1, -1, 336, -1, 338, -1, -1, -1, + 342, -1, -1, -1, -1, 1279, 1280, -1, -1, -1, -1, -1, -1, 1287, -1, -1, -1, 256, 257, -1, - -1, 1295, 1296, -1, 1298, 264, 265, 266, 267, 268, + 362, 1295, 1296, -1, 1298, 264, 265, 266, 267, 268, -1, 270, 271, -1, 273, 274, 275, 276, 277, 278, 279, 280, -1, -1, 1318, -1, 285, 1321, 287, 288, 289, 290, 291, 292, 0, -1, 295, -1, -1, -1, @@ -11778,7 +11792,7 @@ void case_982() 336, -1, 338, 296, 297, -1, 342, -1, 301, 302, -1, -1, -1, -1, 307, -1, 309, 310, 311, 312, -1, -1, -1, -1, 317, -1, 362, -1, 321, -1, - 323, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 323, -1, 368, 369, -1, -1, -1, -1, -1, -1, 333, -1, -1, 336, 257, 338, -1, -1, 261, 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, 272, -1, -1, -1, -1, 277, -1, -1, -1, 281, 362, @@ -11847,32 +11861,32 @@ void case_982() 396, 397, 398, 399, -1, -1, -1, -1, 298, -1, -1, 339, -1, -1, -1, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 368, -1, 370, -1, 372, -1, 374, 375, 376, 339, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + 368, -1, 370, 262, 372, -1, 374, 375, 376, 339, -1, -1, -1, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 367, 368, -1, + -1, -1, -1, -1, -1, -1, -1, 367, 368, 298, 370, 371, 372, 373, 374, 375, 376, -1, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 429, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, -1, 256, 256, -1, -1, -1, - 420, 262, -1, 423, -1, 265, -1, 267, -1, 429, - 270, -1, -1, -1, -1, 275, -1, -1, -1, 279, - -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, - -1, -1, -1, -1, -1, 295, -1, 298, -1, -1, - 300, -1, -1, -1, 304, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 316, -1, 318, -1, - -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, - 330, 331, -1, -1, 334, -1, -1, 337, 339, -1, - -1, -1, -1, 344, -1, 346, 347, 348, 349, 350, + 410, 411, 412, 413, -1, 256, -1, -1, -1, -1, + 420, 262, -1, 423, -1, -1, -1, -1, -1, 429, + -1, -1, -1, -1, 363, -1, -1, -1, -1, 368, + 369, -1, 371, 372, 373, 374, -1, 376, -1, 378, + 379, -1, 381, 382, 383, 384, 385, 298, 387, 388, + 389, 390, -1, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, -1, 418, + -1, 420, -1, -1, 423, -1, -1, -1, 339, -1, + 429, -1, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -1, -1, -1, -1, - -1, -1, -1, 363, -1, -1, -1, 368, -1, 370, + -1, -1, -1, -1, -1, -1, -1, 368, -1, 370, 371, 372, 373, 374, 375, 376, -1, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, -1, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, -1, 256, 256, -1, -1, 418, 420, + 411, 412, 413, -1, 256, 256, -1, -1, -1, 420, 262, -1, 423, -1, 265, -1, 267, -1, 429, 270, -1, -1, -1, -1, 275, -1, -1, -1, 279, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, @@ -11883,7 +11897,7 @@ void case_982() 331, -1, -1, 334, -1, -1, 337, 339, -1, -1, -1, -1, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 368, -1, 370, 371, + -1, -1, 363, -1, -1, -1, 368, -1, 370, 371, 372, 373, 374, 375, 376, -1, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, -1, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, @@ -12197,7 +12211,7 @@ void case_982() -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, 417, 418, 419, 420, 264, 265, -1, 267, -1, -1, 270, - 271, -1, -1, -1, 275, 276, 277, -1, 279, -1, + 271, -1, 256, -1, 275, 276, 277, -1, 279, -1, -1, 265, -1, 267, 285, -1, 270, 288, -1, -1, -1, 275, -1, -1, 295, 279, -1, -1, -1, 300, -1, 302, 303, 304, 288, -1, -1, -1, -1, -1, @@ -12208,7 +12222,7 @@ void case_982() 334, -1, -1, 337, -1, -1, -1, -1, 359, 360, 361, 362, 363, -1, -1, -1, 367, 368, -1, -1, 371, -1, -1, -1, -1, -1, 377, 378, 379, 380, - -1, -1, -1, 384, -1, 386, -1, -1, 372, -1, + -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, 392, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, 417, 418, 419, 420, @@ -12224,7 +12238,7 @@ void case_982() 337, -1, -1, -1, -1, 359, 360, 361, 362, 363, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, -1, 377, 378, 379, 380, -1, -1, -1, - 384, -1, 386, 370, -1, -1, -1, -1, 392, 393, + 384, -1, 386, -1, -1, 372, -1, -1, 392, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, 417, 418, 419, 420, 264, 265, -1, @@ -12240,7 +12254,7 @@ void case_982() -1, -1, 359, 360, 361, 362, 363, -1, -1, -1, 367, -1, -1, -1, 371, -1, -1, -1, -1, -1, 377, 378, 379, 380, -1, -1, -1, 384, -1, 386, - -1, -1, -1, -1, -1, 392, 393, -1, -1, -1, + 370, -1, -1, -1, -1, 392, 393, -1, -1, -1, -1, -1, -1, 264, 265, -1, 267, -1, -1, 270, 271, -1, -1, -1, 275, 276, 277, -1, 279, -1, 417, 418, 419, 420, 285, -1, -1, 288, -1, -1, @@ -12382,14 +12396,14 @@ void case_982() -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, 417, 418, 419, 420, 264, 265, -1, 267, -1, -1, 270, 271, -1, -1, -1, - 275, 276, 277, 418, 279, -1, -1, -1, -1, -1, - 285, -1, -1, 288, -1, -1, -1, -1, -1, -1, - 295, -1, -1, -1, -1, 300, -1, 302, 303, 304, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 316, -1, 318, 319, -1, -1, 322, -1, -1, - 325, -1, 327, -1, 329, 330, 331, 332, -1, 334, - -1, -1, -1, -1, -1, -1, 341, -1, -1, 344, - 345, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 275, 276, 277, 418, 279, -1, -1, 265, -1, 267, + 285, -1, 270, 288, -1, -1, -1, 275, -1, -1, + 295, 279, -1, -1, -1, 300, -1, 302, 303, 304, + 288, -1, -1, -1, -1, -1, -1, 295, -1, -1, + -1, 316, 300, 318, 319, -1, 304, 322, -1, -1, + 325, -1, 327, -1, 329, 330, 331, 332, 316, 334, + 318, -1, -1, -1, 322, -1, 341, -1, -1, 344, + 345, -1, 330, 331, -1, -1, 334, -1, -1, 337, -1, -1, -1, -1, 359, 360, 361, 362, 363, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, -1, 377, 378, 379, 380, -1, -1, -1, 384, @@ -12398,7 +12412,7 @@ void case_982() -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, 417, 418, 419, 420, 264, 265, -1, 267, -1, -1, 270, 271, -1, -1, -1, 275, 276, 277, - -1, 279, -1, -1, -1, -1, -1, 285, -1, -1, + 418, 279, -1, -1, -1, -1, -1, 285, -1, -1, 288, -1, -1, -1, 261, -1, -1, 295, -1, -1, -1, 262, 300, -1, 302, 303, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, 316, -1, @@ -12765,7 +12779,7 @@ void case_982() -1, -1, 362, }; -#line 6656 "cs-parser.jay" +#line 6664 "cs-parser.jay" // // A class used to hold info about an operator declarator diff --git a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay index f16d3b78df..e6f581fb84 100644 --- a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay +++ b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay @@ -538,6 +538,14 @@ namespace_declaration current_container = current_namespace = current_namespace.Parent; } + | opt_attributes NAMESPACE namespace_name + { + report.Error (1514, lexer.Location, "Unexpected symbol `{0}', expecting `.' or `{{'", GetSymbolName (yyToken)); + + var name = (MemberName) $3; + var ns = new NamespaceContainer (name, current_namespace); + current_namespace.AddTypeContainer (ns); + } ; namespace_name