From aca8e8643c67a22f82a8e8c35fd95e3a7512b480 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 28 Sep 2017 11:35:12 +0200 Subject: GLSL: Re-generate parser ...by running ./make-parser.sh to make a subsequent change less noisy. qlalr in PATH is from Qt 5.9.1. Change-Id: Ia39181b55cd0e16207fa809f0db92cdeba3b095c Reviewed-by: Erik Verbruggen --- src/libs/glsl/glslparser.cpp | 648 +++++----- src/libs/glsl/glslparser.h | 4 +- src/libs/glsl/glslparsertable.cpp | 2479 +++++++++++++++++++------------------ src/libs/glsl/glslparsertable_p.h | 426 +++---- 4 files changed, 1790 insertions(+), 1767 deletions(-) diff --git a/src/libs/glsl/glslparser.cpp b/src/libs/glsl/glslparser.cpp index 6d8401531e..fb108413ea 100644 --- a/src/libs/glsl/glslparser.cpp +++ b/src/libs/glsl/glslparser.cpp @@ -1,5 +1,5 @@ -#line 423 "./glsl.g" +#line 413 "./glsl.g" /**************************************************************************** ** @@ -58,30 +58,30 @@ Parser::Parser(Engine *engine, const char *source, unsigned size, int variant) switch (tk.kind) { case T_LEFT_PAREN: - parenStack.push(static_cast(_tokens.size())); + parenStack.push(_tokens.size()); break; case T_LEFT_BRACKET: - bracketStack.push(static_cast(_tokens.size())); + bracketStack.push(_tokens.size()); break; case T_LEFT_BRACE: - braceStack.push(static_cast(_tokens.size())); + braceStack.push(_tokens.size()); break; case T_RIGHT_PAREN: if (! parenStack.empty()) { - _tokens[parenStack.top()].matchingBrace = static_cast(_tokens.size()); + _tokens[parenStack.top()].matchingBrace = _tokens.size(); parenStack.pop(); } break; case T_RIGHT_BRACKET: if (! bracketStack.empty()) { - _tokens[bracketStack.top()].matchingBrace = static_cast(_tokens.size()); + _tokens[bracketStack.top()].matchingBrace = _tokens.size(); bracketStack.pop(); } break; case T_RIGHT_BRACE: if (! braceStack.empty()) { - _tokens[braceStack.top()].matchingBrace = static_cast(_tokens.size()); + _tokens[braceStack.top()].matchingBrace = _tokens.size(); braceStack.pop(); } break; @@ -210,137 +210,137 @@ AST *Parser::parse(int startToken) return 0; } -#line 641 "./glsl.g" +#line 626 "./glsl.g" void Parser::reduce(int ruleno) { switch(ruleno) { -#line 650 "./glsl.g" +#line 635 "./glsl.g" case 0: { ast(1) = makeAstNode(string(1)); } break; -#line 657 "./glsl.g" +#line 642 "./glsl.g" case 1: { ast(1) = makeAstNode(string(1)); } break; -#line 664 "./glsl.g" +#line 649 "./glsl.g" case 2: { ast(1) = makeAstNode(_engine->identifier("true", 4)); } break; -#line 671 "./glsl.g" +#line 656 "./glsl.g" case 3: { ast(1) = makeAstNode(_engine->identifier("false", 5)); } break; -#line 678 "./glsl.g" +#line 663 "./glsl.g" case 4: { // nothing to do. } break; -#line 685 "./glsl.g" +#line 670 "./glsl.g" case 5: { ast(1) = ast(2); } break; -#line 692 "./glsl.g" +#line 677 "./glsl.g" case 6: { // nothing to do. } break; -#line 699 "./glsl.g" +#line 684 "./glsl.g" case 7: { ast(1) = makeAstNode(AST::Kind_ArrayAccess, expression(1), expression(3)); } break; -#line 706 "./glsl.g" +#line 691 "./glsl.g" case 8: { // nothing to do. } break; -#line 713 "./glsl.g" +#line 698 "./glsl.g" case 9: { ast(1) = makeAstNode(expression(1), string(3)); } break; -#line 720 "./glsl.g" +#line 705 "./glsl.g" case 10: { ast(1) = makeAstNode(AST::Kind_PostIncrement, expression(1)); } break; -#line 727 "./glsl.g" +#line 712 "./glsl.g" case 11: { ast(1) = makeAstNode(AST::Kind_PostDecrement, expression(1)); } break; -#line 734 "./glsl.g" +#line 719 "./glsl.g" case 12: { // nothing to do. } break; -#line 741 "./glsl.g" +#line 726 "./glsl.g" case 13: { // nothing to do. } break; -#line 748 "./glsl.g" +#line 733 "./glsl.g" case 14: { ast(1) = makeAstNode (sym(1).function.id, sym(1).function.arguments); } break; -#line 756 "./glsl.g" +#line 741 "./glsl.g" case 15: { ast(1) = makeAstNode (expression(1), sym(3).function.id, sym(3).function.arguments); } break; -#line 764 "./glsl.g" +#line 749 "./glsl.g" case 16: { // nothing to do. } break; -#line 771 "./glsl.g" +#line 756 "./glsl.g" case 17: { // nothing to do. } break; -#line 778 "./glsl.g" +#line 763 "./glsl.g" case 18: { sym(1).function.id = sym(1).function_identifier; sym(1).function.arguments = 0; } break; -#line 786 "./glsl.g" +#line 771 "./glsl.g" case 19: { sym(1).function.id = sym(1).function_identifier; sym(1).function.arguments = 0; } break; -#line 794 "./glsl.g" +#line 779 "./glsl.g" case 20: { sym(1).function.id = sym(1).function_identifier; @@ -348,7 +348,7 @@ case 20: { makeAstNode< List >(expression(2)); } break; -#line 803 "./glsl.g" +#line 788 "./glsl.g" case 21: { sym(1).function.arguments = @@ -356,379 +356,379 @@ case 21: { (sym(1).function.arguments, expression(3)); } break; -#line 812 "./glsl.g" +#line 797 "./glsl.g" case 22: { // nothing to do. } break; -#line 819 "./glsl.g" +#line 804 "./glsl.g" case 23: { ast(1) = makeAstNode(type(1)); } break; -#line 826 "./glsl.g" +#line 811 "./glsl.g" case 24: { ast(1) = makeAstNode(string(1)); } break; -#line 833 "./glsl.g" +#line 818 "./glsl.g" case 25: { // nothing to do. } break; -#line 840 "./glsl.g" +#line 825 "./glsl.g" case 26: { ast(1) = makeAstNode(AST::Kind_PreIncrement, expression(2)); } break; -#line 847 "./glsl.g" +#line 832 "./glsl.g" case 27: { ast(1) = makeAstNode(AST::Kind_PreDecrement, expression(2)); } break; -#line 854 "./glsl.g" +#line 839 "./glsl.g" case 28: { ast(1) = makeAstNode(sym(1).kind, expression(2)); } break; -#line 861 "./glsl.g" +#line 846 "./glsl.g" case 29: { sym(1).kind = AST::Kind_UnaryPlus; } break; -#line 868 "./glsl.g" +#line 853 "./glsl.g" case 30: { sym(1).kind = AST::Kind_UnaryMinus; } break; -#line 875 "./glsl.g" +#line 860 "./glsl.g" case 31: { sym(1).kind = AST::Kind_LogicalNot; } break; -#line 882 "./glsl.g" +#line 867 "./glsl.g" case 32: { sym(1).kind = AST::Kind_BitwiseNot; } break; -#line 889 "./glsl.g" +#line 874 "./glsl.g" case 33: { // nothing to do. } break; -#line 896 "./glsl.g" +#line 881 "./glsl.g" case 34: { ast(1) = makeAstNode(AST::Kind_Multiply, expression(1), expression(3)); } break; -#line 903 "./glsl.g" +#line 888 "./glsl.g" case 35: { ast(1) = makeAstNode(AST::Kind_Divide, expression(1), expression(3)); } break; -#line 910 "./glsl.g" +#line 895 "./glsl.g" case 36: { ast(1) = makeAstNode(AST::Kind_Modulus, expression(1), expression(3)); } break; -#line 917 "./glsl.g" +#line 902 "./glsl.g" case 37: { // nothing to do. } break; -#line 924 "./glsl.g" +#line 909 "./glsl.g" case 38: { ast(1) = makeAstNode(AST::Kind_Plus, expression(1), expression(3)); } break; -#line 931 "./glsl.g" +#line 916 "./glsl.g" case 39: { ast(1) = makeAstNode(AST::Kind_Minus, expression(1), expression(3)); } break; -#line 938 "./glsl.g" +#line 923 "./glsl.g" case 40: { // nothing to do. } break; -#line 945 "./glsl.g" +#line 930 "./glsl.g" case 41: { ast(1) = makeAstNode(AST::Kind_ShiftLeft, expression(1), expression(3)); } break; -#line 952 "./glsl.g" +#line 937 "./glsl.g" case 42: { ast(1) = makeAstNode(AST::Kind_ShiftRight, expression(1), expression(3)); } break; -#line 959 "./glsl.g" +#line 944 "./glsl.g" case 43: { // nothing to do. } break; -#line 966 "./glsl.g" +#line 951 "./glsl.g" case 44: { ast(1) = makeAstNode(AST::Kind_LessThan, expression(1), expression(3)); } break; -#line 973 "./glsl.g" +#line 958 "./glsl.g" case 45: { ast(1) = makeAstNode(AST::Kind_GreaterThan, expression(1), expression(3)); } break; -#line 980 "./glsl.g" +#line 965 "./glsl.g" case 46: { ast(1) = makeAstNode(AST::Kind_LessEqual, expression(1), expression(3)); } break; -#line 987 "./glsl.g" +#line 972 "./glsl.g" case 47: { ast(1) = makeAstNode(AST::Kind_GreaterEqual, expression(1), expression(3)); } break; -#line 994 "./glsl.g" +#line 979 "./glsl.g" case 48: { // nothing to do. } break; -#line 1001 "./glsl.g" +#line 986 "./glsl.g" case 49: { ast(1) = makeAstNode(AST::Kind_Equal, expression(1), expression(3)); } break; -#line 1008 "./glsl.g" +#line 993 "./glsl.g" case 50: { ast(1) = makeAstNode(AST::Kind_NotEqual, expression(1), expression(3)); } break; -#line 1015 "./glsl.g" +#line 1000 "./glsl.g" case 51: { // nothing to do. } break; -#line 1022 "./glsl.g" +#line 1007 "./glsl.g" case 52: { ast(1) = makeAstNode(AST::Kind_BitwiseAnd, expression(1), expression(3)); } break; -#line 1029 "./glsl.g" +#line 1014 "./glsl.g" case 53: { // nothing to do. } break; -#line 1036 "./glsl.g" +#line 1021 "./glsl.g" case 54: { ast(1) = makeAstNode(AST::Kind_BitwiseXor, expression(1), expression(3)); } break; -#line 1043 "./glsl.g" +#line 1028 "./glsl.g" case 55: { // nothing to do. } break; -#line 1050 "./glsl.g" +#line 1035 "./glsl.g" case 56: { ast(1) = makeAstNode(AST::Kind_BitwiseOr, expression(1), expression(3)); } break; -#line 1057 "./glsl.g" +#line 1042 "./glsl.g" case 57: { // nothing to do. } break; -#line 1064 "./glsl.g" +#line 1049 "./glsl.g" case 58: { ast(1) = makeAstNode(AST::Kind_LogicalAnd, expression(1), expression(3)); } break; -#line 1071 "./glsl.g" +#line 1056 "./glsl.g" case 59: { // nothing to do. } break; -#line 1078 "./glsl.g" +#line 1063 "./glsl.g" case 60: { ast(1) = makeAstNode(AST::Kind_LogicalXor, expression(1), expression(3)); } break; -#line 1085 "./glsl.g" +#line 1070 "./glsl.g" case 61: { // nothing to do. } break; -#line 1092 "./glsl.g" +#line 1077 "./glsl.g" case 62: { ast(1) = makeAstNode(AST::Kind_LogicalOr, expression(1), expression(3)); } break; -#line 1099 "./glsl.g" +#line 1084 "./glsl.g" case 63: { // nothing to do. } break; -#line 1106 "./glsl.g" +#line 1091 "./glsl.g" case 64: { ast(1) = makeAstNode(AST::Kind_Conditional, expression(1), expression(3), expression(5)); } break; -#line 1113 "./glsl.g" +#line 1098 "./glsl.g" case 65: { // nothing to do. } break; -#line 1120 "./glsl.g" +#line 1105 "./glsl.g" case 66: { ast(1) = makeAstNode(sym(2).kind, expression(1), expression(3)); } break; -#line 1127 "./glsl.g" +#line 1112 "./glsl.g" case 67: { sym(1).kind = AST::Kind_Assign; } break; -#line 1134 "./glsl.g" +#line 1119 "./glsl.g" case 68: { sym(1).kind = AST::Kind_AssignMultiply; } break; -#line 1141 "./glsl.g" +#line 1126 "./glsl.g" case 69: { sym(1).kind = AST::Kind_AssignDivide; } break; -#line 1148 "./glsl.g" +#line 1133 "./glsl.g" case 70: { sym(1).kind = AST::Kind_AssignModulus; } break; -#line 1155 "./glsl.g" +#line 1140 "./glsl.g" case 71: { sym(1).kind = AST::Kind_AssignPlus; } break; -#line 1162 "./glsl.g" +#line 1147 "./glsl.g" case 72: { sym(1).kind = AST::Kind_AssignMinus; } break; -#line 1169 "./glsl.g" +#line 1154 "./glsl.g" case 73: { sym(1).kind = AST::Kind_AssignShiftLeft; } break; -#line 1176 "./glsl.g" +#line 1161 "./glsl.g" case 74: { sym(1).kind = AST::Kind_AssignShiftRight; } break; -#line 1183 "./glsl.g" +#line 1168 "./glsl.g" case 75: { sym(1).kind = AST::Kind_AssignAnd; } break; -#line 1190 "./glsl.g" +#line 1175 "./glsl.g" case 76: { sym(1).kind = AST::Kind_AssignXor; } break; -#line 1197 "./glsl.g" +#line 1182 "./glsl.g" case 77: { sym(1).kind = AST::Kind_AssignOr; } break; -#line 1204 "./glsl.g" +#line 1189 "./glsl.g" case 78: { // nothing to do. } break; -#line 1211 "./glsl.g" +#line 1196 "./glsl.g" case 79: { ast(1) = makeAstNode(AST::Kind_Comma, expression(1), expression(3)); } break; -#line 1218 "./glsl.g" +#line 1203 "./glsl.g" case 80: { // nothing to do. } break; -#line 1225 "./glsl.g" +#line 1210 "./glsl.g" case 81: { // nothing to do. } break; -#line 1232 "./glsl.g" +#line 1217 "./glsl.g" case 82: { ast(1) = makeAstNode(sym(1).declaration_list); } break; -#line 1239 "./glsl.g" +#line 1224 "./glsl.g" case 83: { ast(1) = makeAstNode(sym(2).precision, type(3)); } break; -#line 1246 "./glsl.g" +#line 1231 "./glsl.g" case 84: { if (sym(1).type_qualifier.qualifier != QualifiedTypeAST::Struct) { @@ -738,7 +738,7 @@ case 84: { ast(1) = makeAstNode(type); } break; -#line 1257 "./glsl.g" +#line 1242 "./glsl.g" case 85: { if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { @@ -756,7 +756,7 @@ case 85: { makeAstNode(qualtype, string(6))); } break; -#line 1276 "./glsl.g" +#line 1261 "./glsl.g" case 86: { if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { @@ -775,7 +775,7 @@ case 86: { (makeAstNode(qualtype), string(6))); } break; -#line 1296 "./glsl.g" +#line 1281 "./glsl.g" case 87: { if ((sym(1).type_qualifier.qualifier & QualifiedTypeAST::Struct) == 0) { @@ -794,7 +794,7 @@ case 87: { (makeAstNode(qualtype, expression(8)), string(6))); } break; -#line 1316 "./glsl.g" +#line 1301 "./glsl.g" case 88: { TypeAST *type = makeAstNode @@ -803,59 +803,59 @@ case 88: { ast(1) = makeAstNode(type); } break; -#line 1326 "./glsl.g" +#line 1311 "./glsl.g" case 89: { function(1)->finishParams(); } break; -#line 1333 "./glsl.g" +#line 1318 "./glsl.g" case 90: { // nothing to do. } break; -#line 1340 "./glsl.g" +#line 1325 "./glsl.g" case 91: { // nothing to do. } break; -#line 1347 "./glsl.g" +#line 1332 "./glsl.g" case 92: { function(1)->params = makeAstNode< List > (sym(2).param_declaration); } break; -#line 1355 "./glsl.g" +#line 1340 "./glsl.g" case 93: { function(1)->params = makeAstNode< List > (function(1)->params, sym(3).param_declaration); } break; -#line 1363 "./glsl.g" +#line 1348 "./glsl.g" case 94: { function(1) = makeAstNode(type(1), string(2)); } break; -#line 1370 "./glsl.g" +#line 1355 "./glsl.g" case 95: { sym(1).param_declarator.type = type(1); sym(1).param_declarator.name = string(2); } break; -#line 1378 "./glsl.g" +#line 1363 "./glsl.g" case 96: { sym(1).param_declarator.type = makeAstNode(type(1), expression(4)); sym(1).param_declarator.name = string(2); } break; -#line 1386 "./glsl.g" +#line 1371 "./glsl.g" case 97: { ast(1) = makeAstNode @@ -866,7 +866,7 @@ case 97: { sym(3).param_declarator.name); } break; -#line 1398 "./glsl.g" +#line 1383 "./glsl.g" case 98: { ast(1) = makeAstNode @@ -875,7 +875,7 @@ case 98: { sym(2).param_declarator.name); } break; -#line 1408 "./glsl.g" +#line 1393 "./glsl.g" case 99: { ast(1) = makeAstNode @@ -885,7 +885,7 @@ case 99: { (const QString *)0); } break; -#line 1419 "./glsl.g" +#line 1404 "./glsl.g" case 100: { ast(1) = makeAstNode @@ -893,44 +893,44 @@ case 100: { (const QString *)0); } break; -#line 1428 "./glsl.g" +#line 1413 "./glsl.g" case 101: { sym(1).qualifier = ParameterDeclarationAST::In; } break; -#line 1435 "./glsl.g" +#line 1420 "./glsl.g" case 102: { sym(1).qualifier = ParameterDeclarationAST::In; } break; -#line 1442 "./glsl.g" +#line 1427 "./glsl.g" case 103: { sym(1).qualifier = ParameterDeclarationAST::Out; } break; -#line 1449 "./glsl.g" +#line 1434 "./glsl.g" case 104: { sym(1).qualifier = ParameterDeclarationAST::InOut; } break; -#line 1456 "./glsl.g" +#line 1441 "./glsl.g" case 105: { // nothing to do. } break; -#line 1463 "./glsl.g" +#line 1448 "./glsl.g" case 106: { sym(1).declaration_list = makeAstNode< List > (sym(1).declaration); } break; -#line 1471 "./glsl.g" +#line 1456 "./glsl.g" case 107: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -939,7 +939,7 @@ case 107: { (sym(1).declaration_list, decl); } break; -#line 1481 "./glsl.g" +#line 1466 "./glsl.g" case 108: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -949,7 +949,7 @@ case 108: { (sym(1).declaration_list, decl); } break; -#line 1492 "./glsl.g" +#line 1477 "./glsl.g" case 109: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -959,7 +959,7 @@ case 109: { (sym(1).declaration_list, decl); } break; -#line 1503 "./glsl.g" +#line 1488 "./glsl.g" case 110: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -970,7 +970,7 @@ case 110: { (sym(1).declaration_list, decl); } break; -#line 1515 "./glsl.g" +#line 1500 "./glsl.g" case 111: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -981,7 +981,7 @@ case 111: { (sym(1).declaration_list, decl); } break; -#line 1527 "./glsl.g" +#line 1512 "./glsl.g" case 112: { TypeAST *type = VariableDeclarationAST::declarationType(sym(1).declaration_list); @@ -991,40 +991,40 @@ case 112: { (sym(1).declaration_list, decl); } break; -#line 1538 "./glsl.g" +#line 1523 "./glsl.g" case 113: { ast(1) = makeAstNode(type(1)); } break; -#line 1545 "./glsl.g" +#line 1530 "./glsl.g" case 114: { ast(1) = makeAstNode(type(1), string(2)); } break; -#line 1552 "./glsl.g" +#line 1537 "./glsl.g" case 115: { ast(1) = makeAstNode (makeAstNode(type(1)), string(2)); } break; -#line 1560 "./glsl.g" +#line 1545 "./glsl.g" case 116: { ast(1) = makeAstNode (makeAstNode(type(1), expression(4)), string(2)); } break; -#line 1568 "./glsl.g" +#line 1553 "./glsl.g" case 117: { ast(1) = makeAstNode (makeAstNode(type(1)), string(2), expression(6)); } break; -#line 1576 "./glsl.g" +#line 1561 "./glsl.g" case 118: { ast(1) = makeAstNode @@ -1032,26 +1032,26 @@ case 118: { string(2), expression(7)); } break; -#line 1585 "./glsl.g" +#line 1570 "./glsl.g" case 119: { ast(1) = makeAstNode (type(1), string(2), expression(4)); } break; -#line 1593 "./glsl.g" +#line 1578 "./glsl.g" case 120: { ast(1) = makeAstNode(string(2)); } break; -#line 1600 "./glsl.g" +#line 1585 "./glsl.g" case 121: { ast(1) = makeAstNode(0, type(1), (List *)0); } break; -#line 1607 "./glsl.g" +#line 1592 "./glsl.g" case 122: { ast(1) = makeAstNode @@ -1059,207 +1059,207 @@ case 122: { sym(1).type_qualifier.layout_list); } break; -#line 1616 "./glsl.g" +#line 1601 "./glsl.g" case 123: { sym(1).qualifier = QualifiedTypeAST::Invariant; } break; -#line 1623 "./glsl.g" +#line 1608 "./glsl.g" case 124: { sym(1).qualifier = QualifiedTypeAST::Smooth; } break; -#line 1630 "./glsl.g" +#line 1615 "./glsl.g" case 125: { sym(1).qualifier = QualifiedTypeAST::Flat; } break; -#line 1637 "./glsl.g" +#line 1622 "./glsl.g" case 126: { sym(1).qualifier = QualifiedTypeAST::NoPerspective; } break; -#line 1644 "./glsl.g" +#line 1629 "./glsl.g" case 127: { sym(1) = sym(3); } break; -#line 1651 "./glsl.g" +#line 1636 "./glsl.g" case 128: { sym(1).layout_list = makeAstNode< List >(sym(1).layout); } break; -#line 1658 "./glsl.g" +#line 1643 "./glsl.g" case 129: { sym(1).layout_list = makeAstNode< List >(sym(1).layout_list, sym(3).layout); } break; -#line 1665 "./glsl.g" +#line 1650 "./glsl.g" case 130: { sym(1).layout = makeAstNode(string(1), (const QString *)0); } break; -#line 1672 "./glsl.g" +#line 1657 "./glsl.g" case 131: { sym(1).layout = makeAstNode(string(1), string(3)); } break; -#line 1679 "./glsl.g" +#line 1664 "./glsl.g" case 132: { sym(1).qualifier = QualifiedTypeAST::Const; } break; -#line 1686 "./glsl.g" +#line 1671 "./glsl.g" case 133: { sym(1).type_qualifier.qualifier = sym(1).qualifier; sym(1).type_qualifier.layout_list = 0; } break; -#line 1694 "./glsl.g" +#line 1679 "./glsl.g" case 134: { sym(1).type_qualifier.layout_list = sym(1).layout_list; sym(1).type_qualifier.qualifier = 0; } break; -#line 1702 "./glsl.g" +#line 1687 "./glsl.g" case 135: { sym(1).type_qualifier.layout_list = sym(1).layout_list; sym(1).type_qualifier.qualifier = sym(2).qualifier; } break; -#line 1710 "./glsl.g" +#line 1695 "./glsl.g" case 136: { sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier; sym(1).type_qualifier.layout_list = 0; } break; -#line 1718 "./glsl.g" +#line 1703 "./glsl.g" case 137: { sym(1).type_qualifier.qualifier = sym(1).qualifier; sym(1).type_qualifier.layout_list = 0; } break; -#line 1726 "./glsl.g" +#line 1711 "./glsl.g" case 138: { sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier; sym(1).type_qualifier.layout_list = 0; } break; -#line 1734 "./glsl.g" +#line 1719 "./glsl.g" case 139: { sym(1).type_qualifier.qualifier = sym(1).qualifier | sym(2).qualifier | sym(3).qualifier; sym(1).type_qualifier.layout_list = 0; } break; -#line 1742 "./glsl.g" +#line 1727 "./glsl.g" case 140: { sym(1).type_qualifier.qualifier = QualifiedTypeAST::Invariant; sym(1).type_qualifier.layout_list = 0; } break; -#line 1750 "./glsl.g" +#line 1735 "./glsl.g" case 141: { sym(1).qualifier = QualifiedTypeAST::Const; } break; -#line 1757 "./glsl.g" +#line 1742 "./glsl.g" case 142: { sym(1).qualifier = QualifiedTypeAST::Attribute; } break; -#line 1764 "./glsl.g" +#line 1749 "./glsl.g" case 143: { sym(1).qualifier = QualifiedTypeAST::Varying; } break; -#line 1771 "./glsl.g" +#line 1756 "./glsl.g" case 144: { sym(1).qualifier = QualifiedTypeAST::CentroidVarying; } break; -#line 1778 "./glsl.g" +#line 1763 "./glsl.g" case 145: { sym(1).qualifier = QualifiedTypeAST::In; } break; -#line 1785 "./glsl.g" +#line 1770 "./glsl.g" case 146: { sym(1).qualifier = QualifiedTypeAST::Out; } break; -#line 1792 "./glsl.g" +#line 1777 "./glsl.g" case 147: { sym(1).qualifier = QualifiedTypeAST::CentroidIn; } break; -#line 1799 "./glsl.g" +#line 1784 "./glsl.g" case 148: { sym(1).qualifier = QualifiedTypeAST::CentroidOut; } break; -#line 1806 "./glsl.g" +#line 1791 "./glsl.g" case 149: { sym(1).qualifier = QualifiedTypeAST::PatchIn; } break; -#line 1813 "./glsl.g" +#line 1798 "./glsl.g" case 150: { sym(1).qualifier = QualifiedTypeAST::PatchOut; } break; -#line 1820 "./glsl.g" +#line 1805 "./glsl.g" case 151: { sym(1).qualifier = QualifiedTypeAST::SampleIn; } break; -#line 1827 "./glsl.g" +#line 1812 "./glsl.g" case 152: { sym(1).qualifier = QualifiedTypeAST::SampleOut; } break; -#line 1834 "./glsl.g" +#line 1819 "./glsl.g" case 153: { sym(1).qualifier = QualifiedTypeAST::Uniform; } break; -#line 1841 "./glsl.g" +#line 1826 "./glsl.g" case 154: { // nothing to do. } break; -#line 1848 "./glsl.g" +#line 1833 "./glsl.g" case 155: { if (!type(2)->setPrecision(sym(1).precision)) { @@ -1268,595 +1268,595 @@ case 155: { ast(1) = type(2); } break; -#line 1858 "./glsl.g" +#line 1843 "./glsl.g" case 156: { // nothing to do. } break; -#line 1865 "./glsl.g" +#line 1850 "./glsl.g" case 157: { ast(1) = makeAstNode(type(1)); } break; -#line 1872 "./glsl.g" +#line 1857 "./glsl.g" case 158: { ast(1) = makeAstNode(type(1), expression(3)); } break; -#line 1879 "./glsl.g" +#line 1864 "./glsl.g" case 159: { ast(1) = makeBasicType(T_VOID); } break; -#line 1886 "./glsl.g" +#line 1871 "./glsl.g" case 160: { ast(1) = makeBasicType(T_FLOAT); } break; -#line 1893 "./glsl.g" +#line 1878 "./glsl.g" case 161: { ast(1) = makeBasicType(T_DOUBLE); } break; -#line 1900 "./glsl.g" +#line 1885 "./glsl.g" case 162: { ast(1) = makeBasicType(T_INT); } break; -#line 1907 "./glsl.g" +#line 1892 "./glsl.g" case 163: { ast(1) = makeBasicType(T_UINT); } break; -#line 1914 "./glsl.g" +#line 1899 "./glsl.g" case 164: { ast(1) = makeBasicType(T_BOOL); } break; -#line 1921 "./glsl.g" +#line 1906 "./glsl.g" case 165: { ast(1) = makeBasicType(T_VEC2); } break; -#line 1928 "./glsl.g" +#line 1913 "./glsl.g" case 166: { ast(1) = makeBasicType(T_VEC3); } break; -#line 1935 "./glsl.g" +#line 1920 "./glsl.g" case 167: { ast(1) = makeBasicType(T_VEC4); } break; -#line 1942 "./glsl.g" +#line 1927 "./glsl.g" case 168: { ast(1) = makeBasicType(T_DVEC2); } break; -#line 1949 "./glsl.g" +#line 1934 "./glsl.g" case 169: { ast(1) = makeBasicType(T_DVEC3); } break; -#line 1956 "./glsl.g" +#line 1941 "./glsl.g" case 170: { ast(1) = makeBasicType(T_DVEC4); } break; -#line 1963 "./glsl.g" +#line 1948 "./glsl.g" case 171: { ast(1) = makeBasicType(T_BVEC2); } break; -#line 1970 "./glsl.g" +#line 1955 "./glsl.g" case 172: { ast(1) = makeBasicType(T_BVEC3); } break; -#line 1977 "./glsl.g" +#line 1962 "./glsl.g" case 173: { ast(1) = makeBasicType(T_BVEC4); } break; -#line 1984 "./glsl.g" +#line 1969 "./glsl.g" case 174: { ast(1) = makeBasicType(T_IVEC2); } break; -#line 1991 "./glsl.g" +#line 1976 "./glsl.g" case 175: { ast(1) = makeBasicType(T_IVEC3); } break; -#line 1998 "./glsl.g" +#line 1983 "./glsl.g" case 176: { ast(1) = makeBasicType(T_IVEC4); } break; -#line 2005 "./glsl.g" +#line 1990 "./glsl.g" case 177: { ast(1) = makeBasicType(T_UVEC2); } break; -#line 2012 "./glsl.g" +#line 1997 "./glsl.g" case 178: { ast(1) = makeBasicType(T_UVEC3); } break; -#line 2019 "./glsl.g" +#line 2004 "./glsl.g" case 179: { ast(1) = makeBasicType(T_UVEC4); } break; -#line 2026 "./glsl.g" +#line 2011 "./glsl.g" case 180: { ast(1) = makeBasicType(T_MAT2); } break; -#line 2033 "./glsl.g" +#line 2018 "./glsl.g" case 181: { ast(1) = makeBasicType(T_MAT3); } break; -#line 2040 "./glsl.g" +#line 2025 "./glsl.g" case 182: { ast(1) = makeBasicType(T_MAT4); } break; -#line 2047 "./glsl.g" +#line 2032 "./glsl.g" case 183: { ast(1) = makeBasicType(T_MAT2); } break; -#line 2054 "./glsl.g" +#line 2039 "./glsl.g" case 184: { ast(1) = makeBasicType(T_MAT2X3); } break; -#line 2061 "./glsl.g" +#line 2046 "./glsl.g" case 185: { ast(1) = makeBasicType(T_MAT2X4); } break; -#line 2068 "./glsl.g" +#line 2053 "./glsl.g" case 186: { ast(1) = makeBasicType(T_MAT3X2); } break; -#line 2075 "./glsl.g" +#line 2060 "./glsl.g" case 187: { ast(1) = makeBasicType(T_MAT3); } break; -#line 2082 "./glsl.g" +#line 2067 "./glsl.g" case 188: { ast(1) = makeBasicType(T_MAT3X4); } break; -#line 2089 "./glsl.g" +#line 2074 "./glsl.g" case 189: { ast(1) = makeBasicType(T_MAT4X2); } break; -#line 2096 "./glsl.g" +#line 2081 "./glsl.g" case 190: { ast(1) = makeBasicType(T_MAT4X3); } break; -#line 2103 "./glsl.g" +#line 2088 "./glsl.g" case 191: { ast(1) = makeBasicType(T_MAT4); } break; -#line 2110 "./glsl.g" +#line 2095 "./glsl.g" case 192: { ast(1) = makeBasicType(T_DMAT2); } break; -#line 2117 "./glsl.g" +#line 2102 "./glsl.g" case 193: { ast(1) = makeBasicType(T_DMAT3); } break; -#line 2124 "./glsl.g" +#line 2109 "./glsl.g" case 194: { ast(1) = makeBasicType(T_DMAT4); } break; -#line 2131 "./glsl.g" +#line 2116 "./glsl.g" case 195: { ast(1) = makeBasicType(T_DMAT2); } break; -#line 2138 "./glsl.g" +#line 2123 "./glsl.g" case 196: { ast(1) = makeBasicType(T_DMAT2X3); } break; -#line 2145 "./glsl.g" +#line 2130 "./glsl.g" case 197: { ast(1) = makeBasicType(T_DMAT2X4); } break; -#line 2152 "./glsl.g" +#line 2137 "./glsl.g" case 198: { ast(1) = makeBasicType(T_DMAT3X2); } break; -#line 2159 "./glsl.g" +#line 2144 "./glsl.g" case 199: { ast(1) = makeBasicType(T_DMAT3); } break; -#line 2166 "./glsl.g" +#line 2151 "./glsl.g" case 200: { ast(1) = makeBasicType(T_DMAT3X4); } break; -#line 2173 "./glsl.g" +#line 2158 "./glsl.g" case 201: { ast(1) = makeBasicType(T_DMAT4X2); } break; -#line 2180 "./glsl.g" +#line 2165 "./glsl.g" case 202: { ast(1) = makeBasicType(T_DMAT4X3); } break; -#line 2187 "./glsl.g" +#line 2172 "./glsl.g" case 203: { ast(1) = makeBasicType(T_DMAT4); } break; -#line 2194 "./glsl.g" +#line 2179 "./glsl.g" case 204: { ast(1) = makeBasicType(T_SAMPLER1D); } break; -#line 2201 "./glsl.g" +#line 2186 "./glsl.g" case 205: { ast(1) = makeBasicType(T_SAMPLER2D); } break; -#line 2208 "./glsl.g" +#line 2193 "./glsl.g" case 206: { ast(1) = makeBasicType(T_SAMPLER3D); } break; -#line 2215 "./glsl.g" +#line 2200 "./glsl.g" case 207: { ast(1) = makeBasicType(T_SAMPLERCUBE); } break; -#line 2222 "./glsl.g" +#line 2207 "./glsl.g" case 208: { ast(1) = makeBasicType(T_SAMPLER1DSHADOW); } break; -#line 2229 "./glsl.g" +#line 2214 "./glsl.g" case 209: { ast(1) = makeBasicType(T_SAMPLER2DSHADOW); } break; -#line 2236 "./glsl.g" +#line 2221 "./glsl.g" case 210: { ast(1) = makeBasicType(T_SAMPLERCUBESHADOW); } break; -#line 2243 "./glsl.g" +#line 2228 "./glsl.g" case 211: { ast(1) = makeBasicType(T_SAMPLER1DARRAY); } break; -#line 2250 "./glsl.g" +#line 2235 "./glsl.g" case 212: { ast(1) = makeBasicType(T_SAMPLER2DARRAY); } break; -#line 2257 "./glsl.g" +#line 2242 "./glsl.g" case 213: { ast(1) = makeBasicType(T_SAMPLER1DARRAYSHADOW); } break; -#line 2264 "./glsl.g" +#line 2249 "./glsl.g" case 214: { ast(1) = makeBasicType(T_SAMPLER2DARRAYSHADOW); } break; -#line 2271 "./glsl.g" +#line 2256 "./glsl.g" case 215: { ast(1) = makeBasicType(T_SAMPLERCUBEARRAY); } break; -#line 2278 "./glsl.g" +#line 2263 "./glsl.g" case 216: { ast(1) = makeBasicType(T_SAMPLERCUBEARRAYSHADOW); } break; -#line 2285 "./glsl.g" +#line 2270 "./glsl.g" case 217: { ast(1) = makeBasicType(T_ISAMPLER1D); } break; -#line 2292 "./glsl.g" +#line 2277 "./glsl.g" case 218: { ast(1) = makeBasicType(T_ISAMPLER2D); } break; -#line 2299 "./glsl.g" +#line 2284 "./glsl.g" case 219: { ast(1) = makeBasicType(T_ISAMPLER3D); } break; -#line 2306 "./glsl.g" +#line 2291 "./glsl.g" case 220: { ast(1) = makeBasicType(T_ISAMPLERCUBE); } break; -#line 2313 "./glsl.g" +#line 2298 "./glsl.g" case 221: { ast(1) = makeBasicType(T_ISAMPLER1DARRAY); } break; -#line 2320 "./glsl.g" +#line 2305 "./glsl.g" case 222: { ast(1) = makeBasicType(T_ISAMPLER2DARRAY); } break; -#line 2327 "./glsl.g" +#line 2312 "./glsl.g" case 223: { ast(1) = makeBasicType(T_ISAMPLERCUBEARRAY); } break; -#line 2334 "./glsl.g" +#line 2319 "./glsl.g" case 224: { ast(1) = makeBasicType(T_USAMPLER1D); } break; -#line 2341 "./glsl.g" +#line 2326 "./glsl.g" case 225: { ast(1) = makeBasicType(T_USAMPLER2D); } break; -#line 2348 "./glsl.g" +#line 2333 "./glsl.g" case 226: { ast(1) = makeBasicType(T_USAMPLER3D); } break; -#line 2355 "./glsl.g" +#line 2340 "./glsl.g" case 227: { ast(1) = makeBasicType(T_USAMPLERCUBE); } break; -#line 2362 "./glsl.g" +#line 2347 "./glsl.g" case 228: { ast(1) = makeBasicType(T_USAMPLER1DARRAY); } break; -#line 2369 "./glsl.g" +#line 2354 "./glsl.g" case 229: { ast(1) = makeBasicType(T_USAMPLER2DARRAY); } break; -#line 2376 "./glsl.g" +#line 2361 "./glsl.g" case 230: { ast(1) = makeBasicType(T_USAMPLERCUBEARRAY); } break; -#line 2383 "./glsl.g" +#line 2368 "./glsl.g" case 231: { ast(1) = makeBasicType(T_SAMPLER2DRECT); } break; -#line 2390 "./glsl.g" +#line 2375 "./glsl.g" case 232: { ast(1) = makeBasicType(T_SAMPLER2DRECTSHADOW); } break; -#line 2397 "./glsl.g" +#line 2382 "./glsl.g" case 233: { ast(1) = makeBasicType(T_ISAMPLER2DRECT); } break; -#line 2404 "./glsl.g" +#line 2389 "./glsl.g" case 234: { ast(1) = makeBasicType(T_USAMPLER2DRECT); } break; -#line 2411 "./glsl.g" +#line 2396 "./glsl.g" case 235: { ast(1) = makeBasicType(T_SAMPLERBUFFER); } break; -#line 2418 "./glsl.g" +#line 2403 "./glsl.g" case 236: { ast(1) = makeBasicType(T_ISAMPLERBUFFER); } break; -#line 2425 "./glsl.g" +#line 2410 "./glsl.g" case 237: { ast(1) = makeBasicType(T_USAMPLERBUFFER); } break; -#line 2432 "./glsl.g" +#line 2417 "./glsl.g" case 238: { ast(1) = makeBasicType(T_SAMPLER2DMS); } break; -#line 2439 "./glsl.g" +#line 2424 "./glsl.g" case 239: { ast(1) = makeBasicType(T_ISAMPLER2DMS); } break; -#line 2446 "./glsl.g" +#line 2431 "./glsl.g" case 240: { ast(1) = makeBasicType(T_USAMPLER2DMS); } break; -#line 2453 "./glsl.g" +#line 2438 "./glsl.g" case 241: { ast(1) = makeBasicType(T_SAMPLER2DMSARRAY); } break; -#line 2460 "./glsl.g" +#line 2445 "./glsl.g" case 242: { ast(1) = makeBasicType(T_ISAMPLER2DMSARRAY); } break; -#line 2467 "./glsl.g" +#line 2452 "./glsl.g" case 243: { ast(1) = makeBasicType(T_USAMPLER2DMSARRAY); } break; -#line 2474 "./glsl.g" +#line 2459 "./glsl.g" case 244: { // nothing to do. } break; -#line 2481 "./glsl.g" +#line 2466 "./glsl.g" case 245: { ast(1) = makeAstNode(string(1)); } break; -#line 2488 "./glsl.g" +#line 2473 "./glsl.g" case 246: { sym(1).precision = TypeAST::Highp; } break; -#line 2495 "./glsl.g" +#line 2480 "./glsl.g" case 247: { sym(1).precision = TypeAST::Mediump; } break; -#line 2502 "./glsl.g" +#line 2487 "./glsl.g" case 248: { sym(1).precision = TypeAST::Lowp; } break; -#line 2509 "./glsl.g" +#line 2494 "./glsl.g" case 249: { ast(1) = makeAstNode(string(2), sym(4).field_list); } break; -#line 2516 "./glsl.g" +#line 2501 "./glsl.g" case 250: { ast(1) = makeAstNode(sym(3).field_list); } break; -#line 2523 "./glsl.g" +#line 2508 "./glsl.g" case 251: { // nothing to do. } break; -#line 2530 "./glsl.g" +#line 2515 "./glsl.g" case 252: { sym(1).field_list = appendLists(sym(1).field_list, sym(2).field_list); } break; -#line 2537 "./glsl.g" +#line 2522 "./glsl.g" case 253: { sym(1).field_list = StructTypeAST::fixInnerTypes(type(1), sym(2).field_list); } break; -#line 2544 "./glsl.g" +#line 2529 "./glsl.g" case 254: { sym(1).field_list = StructTypeAST::fixInnerTypes @@ -1865,106 +1865,106 @@ case 254: { sym(1).type_qualifier.layout_list), sym(3).field_list); } break; -#line 2554 "./glsl.g" +#line 2539 "./glsl.g" case 255: { // nothing to do. sym(1).field_list = makeAstNode< List >(sym(1).field); } break; -#line 2562 "./glsl.g" +#line 2547 "./glsl.g" case 256: { sym(1).field_list = makeAstNode< List >(sym(1).field_list, sym(3).field); } break; -#line 2569 "./glsl.g" +#line 2554 "./glsl.g" case 257: { sym(1).field = makeAstNode(string(1)); } break; -#line 2576 "./glsl.g" +#line 2561 "./glsl.g" case 258: { sym(1).field = makeAstNode (string(1), makeAstNode((TypeAST *)0)); } break; -#line 2584 "./glsl.g" +#line 2569 "./glsl.g" case 259: { sym(1).field = makeAstNode (string(1), makeAstNode((TypeAST *)0, expression(3))); } break; -#line 2592 "./glsl.g" +#line 2577 "./glsl.g" case 260: { // nothing to do. } break; -#line 2599 "./glsl.g" +#line 2584 "./glsl.g" case 261: { ast(1) = makeAstNode(sym(1).declaration); } break; -#line 2606 "./glsl.g" +#line 2591 "./glsl.g" case 262: { // nothing to do. } break; -#line 2613 "./glsl.g" +#line 2598 "./glsl.g" case 263: { // nothing to do. } break; -#line 2620 "./glsl.g" +#line 2605 "./glsl.g" case 264: { // nothing to do. } break; -#line 2627 "./glsl.g" +#line 2612 "./glsl.g" case 265: { // nothing to do. } break; -#line 2634 "./glsl.g" +#line 2619 "./glsl.g" case 266: { // nothing to do. } break; -#line 2641 "./glsl.g" +#line 2626 "./glsl.g" case 267: { // nothing to do. } break; -#line 2648 "./glsl.g" +#line 2633 "./glsl.g" case 268: { // nothing to do. } break; -#line 2655 "./glsl.g" +#line 2640 "./glsl.g" case 269: { // nothing to do. } break; -#line 2662 "./glsl.g" +#line 2647 "./glsl.g" case 270: { // nothing to do. } break; -#line 2669 "./glsl.g" +#line 2654 "./glsl.g" case 271: { CompoundStatementAST *stmt = makeAstNode(); @@ -1973,7 +1973,7 @@ case 271: { ast(1) = stmt; } break; -#line 2679 "./glsl.g" +#line 2664 "./glsl.g" case 272: { CompoundStatementAST *stmt = makeAstNode(sym(2).statement_list); @@ -1982,19 +1982,19 @@ case 272: { ast(1) = stmt; } break; -#line 2689 "./glsl.g" +#line 2674 "./glsl.g" case 273: { // nothing to do. } break; -#line 2696 "./glsl.g" +#line 2681 "./glsl.g" case 274: { // nothing to do. } break; -#line 2703 "./glsl.g" +#line 2688 "./glsl.g" case 275: { CompoundStatementAST *stmt = makeAstNode(); @@ -2003,7 +2003,7 @@ case 275: { ast(1) = stmt; } break; -#line 2713 "./glsl.g" +#line 2698 "./glsl.g" case 276: { CompoundStatementAST *stmt = makeAstNode(sym(2).statement_list); @@ -2012,186 +2012,186 @@ case 276: { ast(1) = stmt; } break; -#line 2723 "./glsl.g" +#line 2708 "./glsl.g" case 277: { sym(1).statement_list = makeAstNode< List >(sym(1).statement); } break; -#line 2730 "./glsl.g" +#line 2715 "./glsl.g" case 278: { sym(1).statement_list = makeAstNode< List >(sym(1).statement_list, sym(2).statement); } break; -#line 2737 "./glsl.g" +#line 2722 "./glsl.g" case 279: { ast(1) = makeAstNode(); // Empty statement } break; -#line 2744 "./glsl.g" +#line 2729 "./glsl.g" case 280: { ast(1) = makeAstNode(expression(1)); } break; -#line 2751 "./glsl.g" +#line 2736 "./glsl.g" case 281: { ast(1) = makeAstNode(expression(3), sym(5).ifstmt.thenClause, sym(5).ifstmt.elseClause); } break; -#line 2758 "./glsl.g" +#line 2743 "./glsl.g" case 282: { sym(1).ifstmt.thenClause = statement(1); sym(1).ifstmt.elseClause = statement(3); } break; -#line 2766 "./glsl.g" +#line 2751 "./glsl.g" case 283: { sym(1).ifstmt.thenClause = statement(1); sym(1).ifstmt.elseClause = 0; } break; -#line 2774 "./glsl.g" +#line 2759 "./glsl.g" case 284: { // nothing to do. } break; -#line 2781 "./glsl.g" +#line 2766 "./glsl.g" case 285: { ast(1) = makeAstNode (type(1), string(2), expression(4)); } break; -#line 2789 "./glsl.g" +#line 2774 "./glsl.g" case 286: { ast(1) = makeAstNode(expression(3), statement(6)); } break; -#line 2796 "./glsl.g" +#line 2781 "./glsl.g" case 287: { ast(1) = makeAstNode(); } break; -#line 2803 "./glsl.g" +#line 2788 "./glsl.g" case 288: { ast(1) = makeAstNode(sym(1).statement_list); } break; -#line 2810 "./glsl.g" +#line 2795 "./glsl.g" case 289: { ast(1) = makeAstNode(expression(2)); } break; -#line 2817 "./glsl.g" +#line 2802 "./glsl.g" case 290: { ast(1) = makeAstNode(); } break; -#line 2824 "./glsl.g" +#line 2809 "./glsl.g" case 291: { ast(1) = makeAstNode(expression(3), statement(5)); } break; -#line 2831 "./glsl.g" +#line 2816 "./glsl.g" case 292: { ast(1) = makeAstNode(statement(2), expression(5)); } break; -#line 2838 "./glsl.g" +#line 2823 "./glsl.g" case 293: { ast(1) = makeAstNode(statement(3), sym(4).forstmt.condition, sym(4).forstmt.increment, statement(6)); } break; -#line 2845 "./glsl.g" +#line 2830 "./glsl.g" case 294: { // nothing to do. } break; -#line 2852 "./glsl.g" +#line 2837 "./glsl.g" case 295: { // nothing to do. } break; -#line 2859 "./glsl.g" +#line 2844 "./glsl.g" case 296: { // nothing to do. } break; -#line 2866 "./glsl.g" +#line 2851 "./glsl.g" case 297: { // nothing to do. } break; -#line 2873 "./glsl.g" +#line 2858 "./glsl.g" case 298: { sym(1).forstmt.condition = expression(1); sym(1).forstmt.increment = 0; } break; -#line 2881 "./glsl.g" +#line 2866 "./glsl.g" case 299: { sym(1).forstmt.condition = expression(1); sym(1).forstmt.increment = expression(3); } break; -#line 2889 "./glsl.g" +#line 2874 "./glsl.g" case 300: { ast(1) = makeAstNode(AST::Kind_Continue); } break; -#line 2896 "./glsl.g" +#line 2881 "./glsl.g" case 301: { ast(1) = makeAstNode(AST::Kind_Break); } break; -#line 2903 "./glsl.g" +#line 2888 "./glsl.g" case 302: { ast(1) = makeAstNode(); } break; -#line 2910 "./glsl.g" +#line 2895 "./glsl.g" case 303: { ast(1) = makeAstNode(expression(2)); } break; -#line 2917 "./glsl.g" +#line 2902 "./glsl.g" case 304: { ast(1) = makeAstNode(AST::Kind_Discard); } break; -#line 2924 "./glsl.g" +#line 2909 "./glsl.g" case 305: { ast(1) = makeAstNode(sym(1).declaration_list); } break; -#line 2931 "./glsl.g" +#line 2916 "./glsl.g" case 306: { if (sym(1).declaration) { @@ -2202,7 +2202,7 @@ case 306: { } } break; -#line 2943 "./glsl.g" +#line 2928 "./glsl.g" case 307: { if (sym(1).declaration_list && sym(2).declaration) { @@ -2218,49 +2218,49 @@ case 307: { } } break; -#line 2960 "./glsl.g" +#line 2945 "./glsl.g" case 308: { // nothing to do. } break; -#line 2967 "./glsl.g" +#line 2952 "./glsl.g" case 309: { // nothing to do. } break; -#line 2974 "./glsl.g" +#line 2959 "./glsl.g" case 310: { ast(1) = 0; } break; -#line 2981 "./glsl.g" +#line 2966 "./glsl.g" case 311: { function(1)->body = statement(2); } break; -#line 2988 "./glsl.g" +#line 2973 "./glsl.g" case 312: { ast(1) = 0; } break; -#line 2996 "./glsl.g" +#line 2981 "./glsl.g" case 313: { ast(1) = ast(2); } break; -#line 3003 "./glsl.g" +#line 2988 "./glsl.g" case 314: { ast(1) = ast(2); } break; -#line 3009 "./glsl.g" +#line 2994 "./glsl.g" } // end switch } // end Parser::reduce() diff --git a/src/libs/glsl/glslparser.h b/src/libs/glsl/glslparser.h index 7b44f2870f..0ef6bbcbad 100644 --- a/src/libs/glsl/glslparser.h +++ b/src/libs/glsl/glslparser.h @@ -1,5 +1,5 @@ -#line 215 "./glsl.g" +#line 210 "./glsl.g" /**************************************************************************** ** @@ -114,7 +114,7 @@ private: inline int consumeToken() { if (_index < int(_tokens.size())) return _index++; - return static_cast(_tokens.size()) - 1; + return _tokens.size() - 1; } inline const Token &tokenAt(int index) const { if (index == 0) diff --git a/src/libs/glsl/glslparsertable.cpp b/src/libs/glsl/glslparsertable.cpp index 75a3521ce9..67666dba7e 100644 --- a/src/libs/glsl/glslparsertable.cpp +++ b/src/libs/glsl/glslparsertable.cpp @@ -3,8 +3,9 @@ ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of Qt Creator. +** This file is part of the Qt Toolkit. ** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -21,6 +22,8 @@ ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** +** $QT_END_LICENSE$ +** ****************************************************************************/ // This file was generated by qlalr - DO NOT EDIT! @@ -29,1252 +32,1266 @@ QT_BEGIN_NAMESPACE const char *const GLSLParserTable::spell [] = { - "end of file", "feed GLSL", "feed expression", "+=", "&", "&=", "&&", "attribute", "!", "bool", - "break", "bvec2", "bvec3", "bvec4", "^", "case", "centroid", ":", ",", "const", - "continue", "-", "--", "default", "discard", "/=", "dmat2", "dmat2x2", "dmat2x3", "dmat2x4", - "dmat3", "dmat3x2", "dmat3x3", "dmat3x4", "dmat4", "dmat4x2", "dmat4x3", "dmat4x4", "do", ".", - "double", "dvec2", "dvec3", "dvec4", "else", "=", "==", "flat", "float", "for", - ">=", "highp", "identifier", "if", "in", "++", "inout", "int", "invariant", "isampler1D", - "isampler1DArray", "isampler2D", "isampler2DArray", "isampler2DMS", "isampler2DMSArray", "isampler2DRect", "isampler3D", "isamplerBuffer", "isamplerCube", "isamplerCubeArray", - "ivec2", "ivec3", "ivec4", "layout", "<", "<<=", "{", "[", "<<", "(", - "<=", "lowp", "mat2", "mat2x2", "mat2x3", "mat2x4", "mat3", "mat3x2", "mat3x3", "mat3x4", - "mat4", "mat4x2", "mat4x3", "mat4x4", "mediump", "%=", "*=", "!=", "noperspective", "number constant", - "|=", "||", "out", "patch", "%", "plus", "precision", "?", "return", ">", - ">>=", "}", "]", ">>", ")", "sample", "sampler1D", "sampler1DArray", "sampler1DArrayShadow", "sampler1DShadow", - "sampler2D", "sampler2DArray", "sampler2DArrayShadow", "sampler2DMS", "sampler2DMSArray", "sampler2DRect", "sampler2DRectShadow", "sampler2DShadow", "sampler3D", "samplerBuffer", - "samplerCube", "samplerCubeArray", "samplerCubeArrayShadow", "samplerCubeShadow", ";", "/", "smooth", "*", "struct", "subroutine", - "-=", "switch", "~", "type_name", "uint", "uniform", "usampler1D", "usampler1DArray", "usampler2D", "usampler2DArray", - "usampler2DMS", "usampler2DMSarray", "usampler2DRect", "usampler3D", "usamplerBuffer", "usamplerCube", "usamplerCubeArray", "uvec2", "uvec3", "uvec4", - "varying", "vec2", "vec3", "vec4", "|", "void", "while", "^=", "^^", "true", - "false", "preprocessor directive", "comment", "error", "reserved word"}; + "end of file", "feed GLSL", "feed expression", "+=", "&", "&=", "&&", "attribute", "!", "bool", + "break", "bvec2", "bvec3", "bvec4", "^", "case", "centroid", ":", ",", "const", + "continue", "-", "--", "default", "discard", "/=", "dmat2", "dmat2x2", "dmat2x3", "dmat2x4", + "dmat3", "dmat3x2", "dmat3x3", "dmat3x4", "dmat4", "dmat4x2", "dmat4x3", "dmat4x4", "do", ".", + "double", "dvec2", "dvec3", "dvec4", "else", "=", "==", "flat", "float", "for", + ">=", "highp", "identifier", "if", "in", "++", "inout", "int", "invariant", "isampler1D", + "isampler1DArray", "isampler2D", "isampler2DArray", "isampler2DMS", "isampler2DMSArray", "isampler2DRect", "isampler3D", "isamplerBuffer", "isamplerCube", "isamplerCubeArray", + "ivec2", "ivec3", "ivec4", "layout", "<", "<<=", "{", "[", "<<", "(", + "<=", "lowp", "mat2", "mat2x2", "mat2x3", "mat2x4", "mat3", "mat3x2", "mat3x3", "mat3x4", + "mat4", "mat4x2", "mat4x3", "mat4x4", "mediump", "%=", "*=", "!=", "noperspective", "number constant", + "|=", "||", "out", "patch", "%", "plus", "precision", "?", "return", ">", + ">>=", "}", "]", ">>", ")", "sample", "sampler1D", "sampler1DArray", "sampler1DArrayShadow", "sampler1DShadow", + "sampler2D", "sampler2DArray", "sampler2DArrayShadow", "sampler2DMS", "sampler2DMSArray", "sampler2DRect", "sampler2DRectShadow", "sampler2DShadow", "sampler3D", "samplerBuffer", + "samplerCube", "samplerCubeArray", "samplerCubeArrayShadow", "samplerCubeShadow", ";", "/", "smooth", "*", "struct", "subroutine", + "-=", "switch", "~", "type_name", "uint", "uniform", "usampler1D", "usampler1DArray", "usampler2D", "usampler2DArray", + "usampler2DMS", "usampler2DMSarray", "usampler2DRect", "usampler3D", "usamplerBuffer", "usamplerCube", "usamplerCubeArray", "uvec2", "uvec3", "uvec4", + "varying", "vec2", "vec3", "vec4", "|", "void", "while", "^=", "^^", "true", + "false", "preprocessor directive", "comment", "error", "reserved word" +}; const short GLSLParserTable::lhs [] = { - 176, 177, 177, 177, 177, 177, 179, 179, 179, 179, - 179, 179, 180, 181, 182, 182, 183, 183, 185, 185, - 184, 184, 186, 188, 188, 190, 190, 190, 190, 191, - 191, 191, 191, 192, 192, 192, 192, 193, 193, 193, - 194, 194, 194, 195, 195, 195, 195, 195, 196, 196, - 196, 197, 197, 198, 198, 199, 199, 200, 200, 201, - 201, 202, 202, 203, 203, 187, 187, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 178, 178, - 205, 206, 206, 206, 206, 206, 206, 206, 206, 207, - 213, 213, 215, 215, 214, 218, 218, 216, 216, 216, - 216, 220, 220, 220, 220, 221, 208, 208, 208, 208, - 208, 208, 208, 223, 223, 223, 223, 223, 223, 223, - 223, 217, 217, 225, 226, 226, 226, 227, 228, 228, - 229, 229, 219, 211, 211, 211, 211, 211, 211, 211, - 211, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 189, 189, 210, 210, 210, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 209, 209, 209, 232, - 232, 212, 212, 233, 233, 234, 234, 235, 235, 235, - 224, 236, 237, 237, 239, 239, 239, 239, 239, 239, - 239, 238, 238, 247, 247, 248, 248, 246, 246, 240, - 240, 241, 249, 249, 250, 250, 242, 251, 251, 243, - 243, 244, 244, 244, 252, 252, 254, 254, 253, 253, - 245, 245, 245, 245, 245, 255, 256, 256, 257, 257, - 257, 258, 222, 175, 175, 259}; + 176, 177, 177, 177, 177, 177, 179, 179, 179, 179, + 179, 179, 180, 181, 182, 182, 183, 183, 185, 185, + 184, 184, 186, 188, 188, 190, 190, 190, 190, 191, + 191, 191, 191, 192, 192, 192, 192, 193, 193, 193, + 194, 194, 194, 195, 195, 195, 195, 195, 196, 196, + 196, 197, 197, 198, 198, 199, 199, 200, 200, 201, + 201, 202, 202, 203, 203, 187, 187, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 178, 178, + 205, 206, 206, 206, 206, 206, 206, 206, 206, 207, + 213, 213, 215, 215, 214, 218, 218, 216, 216, 216, + 216, 220, 220, 220, 220, 221, 208, 208, 208, 208, + 208, 208, 208, 223, 223, 223, 223, 223, 223, 223, + 223, 217, 217, 225, 226, 226, 226, 227, 228, 228, + 229, 229, 219, 211, 211, 211, 211, 211, 211, 211, + 211, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 189, 189, 210, 210, 210, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 209, 209, 209, 232, + 232, 212, 212, 233, 233, 234, 234, 235, 235, 235, + 224, 236, 237, 237, 239, 239, 239, 239, 239, 239, + 239, 238, 238, 247, 247, 248, 248, 246, 246, 240, + 240, 241, 249, 249, 250, 250, 242, 251, 251, 243, + 243, 244, 244, 244, 252, 252, 254, 254, 253, 253, + 245, 245, 245, 245, 245, 255, 256, 256, 257, 257, + 257, 258, 222, 175, 175, 259 +}; const short GLSLParserTable::rhs [] = { - 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, - 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, - 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, - 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, - 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 2, 2, 4, 6, 7, 9, 10, 2, 2, - 1, 1, 2, 3, 3, 2, 5, 3, 2, 3, - 2, 1, 1, 1, 1, 1, 1, 3, 5, 6, - 7, 8, 5, 1, 2, 4, 5, 6, 7, 4, - 2, 1, 2, 1, 1, 1, 1, 4, 1, 3, - 1, 3, 1, 1, 1, 2, 2, 1, 2, 3, - 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, - 2, 2, 2, 1, 1, 2, 1, 3, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, - 4, 1, 2, 3, 4, 1, 3, 1, 3, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 3, 1, 1, 2, 3, 1, 2, 1, - 2, 5, 3, 1, 1, 4, 7, 1, 1, 3, - 2, 5, 7, 6, 1, 1, 1, 1, 2, 3, - 2, 2, 2, 3, 2, 1, 1, 2, 1, 1, - 1, 2, 0, 2, 2, 2}; + 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, + 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, + 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, + 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 2, 2, 4, 6, 7, 9, 10, 2, 2, + 1, 1, 2, 3, 3, 2, 5, 3, 2, 3, + 2, 1, 1, 1, 1, 1, 1, 3, 5, 6, + 7, 8, 5, 1, 2, 4, 5, 6, 7, 4, + 2, 1, 2, 1, 1, 1, 1, 4, 1, 3, + 1, 3, 1, 1, 1, 2, 2, 1, 2, 3, + 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, + 2, 2, 2, 1, 1, 2, 1, 3, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, + 4, 1, 2, 3, 4, 1, 3, 1, 3, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 3, 1, 1, 2, 3, 1, 2, 1, + 2, 5, 3, 1, 1, 4, 7, 1, 1, 3, + 2, 5, 7, 6, 1, 1, 1, 1, 2, 3, + 2, 2, 2, 3, 2, 1, 1, 2, 1, 1, + 1, 2, 0, 2, 2, 2 +}; const short GLSLParserTable::action_default [] = { - 0, 0, 0, 0, 32, 165, 172, 173, 174, 31, - 0, 193, 196, 197, 198, 194, 199, 200, 201, 195, - 202, 203, 204, 162, 169, 170, 171, 4, 161, 247, - 1, 0, 163, 218, 222, 219, 223, 240, 243, 234, - 220, 237, 221, 224, 175, 176, 177, 0, 249, 181, - 184, 185, 186, 182, 187, 188, 189, 183, 190, 191, - 192, 248, 2, 30, 205, 212, 214, 209, 206, 213, - 215, 239, 242, 232, 233, 210, 207, 236, 208, 216, - 217, 211, 0, 33, 3, 246, 164, 225, 229, 226, - 230, 241, 244, 235, 227, 238, 228, 231, 178, 179, - 180, 166, 167, 168, 160, 41, 54, 79, 66, 52, - 56, 315, 9, 15, 20, 0, 0, 14, 0, 58, - 60, 64, 62, 38, 26, 0, 7, 49, 44, 245, - 24, 155, 157, 34, 0, 5, 28, 27, 0, 0, - 6, 80, 0, 0, 0, 143, 0, 142, 126, 146, - 141, 0, 127, 147, 0, 0, 125, 154, 144, 138, - 0, 135, 134, 252, 0, 0, 0, 148, 149, 145, - 0, 131, 129, 0, 0, 132, 0, 128, 130, 150, - 151, 152, 153, 137, 0, 139, 140, 136, 250, 253, - 0, 258, 256, 0, 0, 259, 81, 0, 34, 260, - 0, 255, 257, 0, 254, 0, 251, 0, 0, 40, - 0, 0, 0, 37, 36, 35, 39, 0, 53, 0, - 0, 50, 0, 0, 0, 0, 48, 0, 0, 42, - 43, 45, 47, 46, 51, 0, 55, 160, 21, 18, - 0, 17, 22, 23, 0, 57, 0, 59, 0, 0, - 63, 0, 61, 0, 0, 65, 12, 0, 11, 0, - 10, 16, 13, 0, 8, 156, 0, 158, 0, 159, - 72, 76, 70, 68, 74, 71, 69, 78, 75, 73, - 77, 0, 67, 29, 141, 0, 311, 310, 307, 306, - 114, 0, 309, 313, 92, 0, 0, 107, 314, 0, - 122, 121, 0, 0, 84, 308, 115, 0, 0, 95, - 261, 120, 116, 0, 0, 118, 117, 0, 119, 90, - 133, 103, 105, 104, 102, 93, 0, 313, 99, 101, - 106, 96, 0, 0, 97, 0, 98, 100, 106, 313, - 94, 0, 82, 312, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 276, 280, 0, 0, 269, 263, - 262, 265, 0, 266, 0, 270, 271, 267, 264, 278, - 0, 268, 122, 302, 0, 290, 301, 291, 305, 0, - 0, 0, 0, 0, 293, 0, 296, 295, 313, 122, - 298, 0, 297, 285, 0, 0, 0, 299, 300, 0, - 274, 275, 294, 0, 0, 286, 123, 0, 0, 0, - 282, 284, 0, 283, 272, 0, 273, 279, 303, 0, - 304, 0, 0, 0, 313, 288, 289, 0, 287, 0, - 0, 0, 292, 281, 277, 0, 83, 108, 0, 0, - 113, 109, 0, 0, 111, 110, 0, 112, 0, 89, - 0, 0, 0, 0, 85, 0, 86, 0, 0, 87, - 0, 88, 316}; + 0, 0, 0, 0, 32, 165, 172, 173, 174, 31, + 0, 193, 196, 197, 198, 194, 199, 200, 201, 195, + 202, 203, 204, 162, 169, 170, 171, 4, 161, 247, + 1, 0, 163, 218, 222, 219, 223, 240, 243, 234, + 220, 237, 221, 224, 175, 176, 177, 0, 249, 181, + 184, 185, 186, 182, 187, 188, 189, 183, 190, 191, + 192, 248, 2, 30, 205, 212, 214, 209, 206, 213, + 215, 239, 242, 232, 233, 210, 207, 236, 208, 216, + 217, 211, 0, 33, 3, 246, 164, 225, 229, 226, + 230, 241, 244, 235, 227, 238, 228, 231, 178, 179, + 180, 166, 167, 168, 160, 41, 54, 79, 66, 52, + 56, 315, 9, 15, 20, 0, 0, 14, 0, 58, + 60, 64, 62, 38, 26, 0, 7, 49, 44, 245, + 24, 155, 157, 34, 0, 5, 28, 27, 0, 0, + 6, 80, 0, 0, 0, 143, 0, 142, 126, 146, + 141, 0, 127, 147, 0, 0, 125, 154, 144, 138, + 0, 135, 134, 252, 0, 0, 0, 148, 149, 145, + 0, 131, 129, 0, 0, 132, 0, 128, 130, 150, + 151, 152, 153, 137, 0, 139, 140, 136, 250, 253, + 0, 258, 256, 0, 0, 259, 81, 0, 34, 260, + 0, 255, 257, 0, 254, 0, 251, 0, 0, 40, + 0, 0, 0, 37, 36, 35, 39, 0, 53, 0, + 0, 50, 0, 0, 0, 0, 48, 0, 0, 42, + 43, 45, 47, 46, 51, 0, 55, 160, 21, 18, + 0, 17, 22, 23, 0, 57, 0, 59, 0, 0, + 63, 0, 61, 0, 0, 65, 12, 0, 11, 0, + 10, 16, 13, 0, 8, 156, 0, 158, 0, 159, + 72, 76, 70, 68, 74, 71, 69, 78, 75, 73, + 77, 0, 67, 29, 141, 0, 311, 310, 307, 306, + 114, 0, 309, 313, 92, 0, 0, 107, 314, 0, + 122, 121, 0, 0, 84, 308, 115, 0, 0, 95, + 261, 120, 116, 0, 0, 118, 117, 0, 119, 90, + 133, 103, 105, 104, 102, 93, 0, 313, 99, 101, + 106, 96, 0, 0, 97, 0, 98, 100, 106, 313, + 94, 0, 82, 312, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 276, 280, 0, 0, 269, 263, + 262, 265, 0, 266, 0, 270, 271, 267, 264, 278, + 0, 268, 122, 302, 0, 290, 301, 291, 305, 0, + 0, 0, 0, 0, 293, 0, 296, 295, 313, 122, + 298, 0, 297, 285, 0, 0, 0, 299, 300, 0, + 274, 275, 294, 0, 0, 286, 123, 0, 0, 0, + 282, 284, 0, 283, 272, 0, 273, 279, 303, 0, + 304, 0, 0, 0, 313, 288, 289, 0, 287, 0, + 0, 0, 292, 281, 277, 0, 83, 108, 0, 0, + 113, 109, 0, 0, 111, 110, 0, 112, 0, 89, + 0, 0, 0, 0, 85, 0, 86, 0, 0, 87, + 0, 88, 316 +}; const short GLSLParserTable::goto_default [] = { - 3, 135, 126, 362, 124, 263, 112, 117, 113, 116, - 115, 114, 107, 118, 130, 133, 134, 123, 105, 128, - 127, 109, 106, 110, 119, 120, 122, 121, 108, 281, - 197, 360, 364, 296, 125, 131, 299, 205, 291, 293, - 294, 325, 290, 328, 327, 326, 329, 324, 297, 311, - 160, 159, 161, 173, 172, 162, 132, 129, 163, 203, - 192, 361, 369, 359, 368, 363, 367, 371, 358, 365, - 366, 370, 402, 400, 410, 390, 427, 388, 394, 391, - 298, 289, 288, 292, 0}; + 3, 135, 126, 362, 124, 263, 112, 117, 113, 116, + 115, 114, 107, 118, 130, 133, 134, 123, 105, 128, + 127, 109, 106, 110, 119, 120, 122, 121, 108, 281, + 197, 360, 364, 296, 125, 131, 299, 205, 291, 293, + 294, 325, 290, 328, 327, 326, 329, 324, 297, 311, + 160, 159, 161, 173, 172, 162, 132, 129, 163, 203, + 192, 361, 369, 359, 368, 363, 367, 371, 358, 365, + 366, 370, 402, 400, 410, 390, 427, 388, 394, 391, + 298, 289, 288, 292, 0 +}; const short GLSLParserTable::action_index [] = { - 96, 1153, 3162, 24, -175, -175, -175, -175, -175, -175, - 1153, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -12, 1153, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, 1153, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, 47, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, 85, 53, -175, -175, 65, - 55, 52, -175, -175, 1320, -51, 66, -175, -52, -158, - 154, -11, -157, 18, 94, 488, -175, 118, 31, -175, - -175, -175, -46, 183, 1153, -175, -175, -175, 71, 1153, - -175, -175, -58, 2490, 2490, -175, 77, -175, -175, -175, - 198, -65, -175, -175, 39, 32, -175, -175, -175, 322, - 200, 322, -175, -175, 2994, 654, -16, -175, -175, -175, - 7, 15, -175, 83, -31, -175, 21, -175, -175, -175, - -175, -175, -175, -175, 322, -175, -175, -175, -175, -175, - -5, -23, -175, 84, 1988, -175, -175, -63, -175, -175, - 4, -175, -175, 86, -175, 2826, -175, 1153, 1153, 28, - 1153, 1153, 1153, -175, -175, -175, 13, 1153, 61, 1153, - 1153, 93, 1153, 1153, 1153, 1153, 27, 1153, 1153, 64, - 73, 5, 17, 22, 101, 1153, 35, -64, -175, -175, - 1153, -175, -175, -175, 1153, 37, 1153, -116, 1153, 1153, - -115, 1153, 154, 74, 1153, -175, -175, 820, -175, 1153, - -39, -175, 19, -71, -175, -175, 1654, -175, -66, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, 1153, -175, -175, 210, 78, -175, -175, -175, 3162, - 10, -53, -175, 147, 48, 11, 70, -175, -175, 986, - -175, -175, 488, -125, -175, -175, 75, 1153, 1487, -175, - -175, -175, -41, -110, 1153, -175, -17, 1153, -175, -175, - -175, -175, -175, -175, -175, -175, 654, 54, -175, -175, - -36, -57, 1153, -89, -175, 654, -175, -175, -33, 128, - -175, 4170, -175, -175, -117, 1153, -109, 12, -124, 3666, - -74, -67, 4506, 1821, -175, -175, -78, -15, -175, -175, - -175, -175, 62, -175, -90, -175, -175, -175, -175, -175, - 4338, -175, -27, -175, 58, -175, -175, -175, -175, -121, - -37, 1153, 63, -62, -175, 3498, -175, -175, 3330, -14, - -175, -131, -175, 16, -79, -19, 654, 1153, 8, 3834, - -175, -175, -175, -24, 1153, -175, -175, 1153, 60, 3666, - -175, -1, 3666, -175, -175, 4002, -175, -175, -175, 59, - -175, 1153, 56, -68, 3666, -175, 3666, -111, -175, 3330, - -84, 3834, -175, -175, -175, 3, -175, 26, 1153, 2322, - -175, -13, -97, 1153, -175, -32, 1153, -175, -69, -175, - 2490, 2658, 30, 2, -175, 2155, -175, -96, -54, -175, - -112, -175, -175, + 86, 1180, 3189, 58, -175, -175, -175, -175, -175, -175, + 1180, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -79, 1180, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, 1180, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, 32, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, -175, -175, 82, 61, -175, -175, 60, + 181, 45, -175, -175, 1347, -55, 87, -175, -25, -113, + -3, 6, -159, 40, 128, 515, -175, 112, 26, -175, + -175, -175, -58, 197, 1180, -175, -175, -175, 84, 1180, + -175, -175, -62, 2517, 2517, -175, 56, -175, -175, -175, + 187, -54, -175, -175, 46, 25, -175, -175, -175, 349, + 207, 349, -175, -175, 2685, 681, 10, -175, -175, -175, + 3, 11, -175, 83, -38, -175, 0, -175, -175, -175, + -175, -175, -175, -175, 349, -175, -175, -175, -175, -175, + 18, -6, -175, 79, 1514, -175, -175, -77, -175, -175, + -16, -175, -175, 76, -175, 3021, -175, 1180, 1180, 12, + 1180, 1180, 1180, -175, -175, -175, 37, 1180, 49, 1180, + 1180, 90, 1180, 1180, 1180, 1180, 15, 1180, 1180, 71, + 68, -4, 8, 7, 80, 1180, 33, -75, -175, -175, + 1180, -175, -175, -175, 1180, 181, 1180, -132, 1180, 1180, + -137, 1180, 34, 73, 1180, -175, -175, 847, -175, 1180, + -10, -175, 48, -44, -175, -175, 2349, -175, -45, -175, + -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, 1180, -175, -175, 217, 72, -175, -175, -175, 3189, + -47, -107, -175, 163, -14, 22, 81, -175, -175, 1013, + -175, -175, 515, -105, -175, -175, 66, 1180, 2015, -175, + -175, -175, -21, -91, 1180, -175, -34, 1180, -175, -175, + -175, -175, -175, -175, -175, -175, 681, 63, -175, -175, + -40, -76, 1180, -78, -175, 681, -175, -175, 5, 105, + -175, 4365, -175, -175, -81, 1180, -121, -2, -114, 3861, + -56, -53, 4533, 2182, -175, -175, -57, -69, -175, -175, + -175, -175, 54, -175, -74, -175, -175, -175, -175, -175, + 4029, -175, -46, -175, 59, -175, -175, -175, -175, -128, + -49, 1180, 55, -93, -175, 3525, -175, -175, 3357, -37, + -175, -90, -175, 27, -68, -5, 681, 1180, 30, 3693, + -175, -175, -175, 4, 1180, -175, -175, 1180, 57, 3861, + -175, -1, 3861, -175, -175, 4197, -175, -175, -175, 62, + -175, 1180, 64, 20, 3861, -175, 3861, -103, -175, 3357, + -86, 3693, -175, -175, -175, -35, -175, 38, 1180, 1848, + -175, -27, -85, 1180, -175, -43, 1180, -175, -70, -175, + 2517, 2853, 29, 1, -175, 1681, -175, -84, -48, -175, + -118, -175, -175, - -85, 68, 99, -85, -85, -85, -85, -85, -85, -85, - 0, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -4, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -2, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, 22, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, 3, -85, -85, -85, -85, - -85, -85, -85, -85, 6, -85, -85, -85, -85, 21, - -85, -85, -85, 60, 131, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -35, - 37, -18, -85, -85, 86, -11, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -45, -85, -85, -85, - -85, -85, -85, -85, -51, -85, -85, -85, -85, -85, - -49, -85, -85, -85, 34, -85, -85, -85, -85, -85, - -48, -85, -85, -85, -85, 114, -85, 39, 36, -85, - -8, -1, -9, -85, -85, -85, -85, 24, -85, 26, - 35, -85, 71, 78, 84, 72, -85, 45, 49, -85, - -85, -85, -85, -85, -85, 79, -85, -85, -85, -85, - -10, -85, -85, -85, 83, -85, 58, -85, 50, 33, - -85, 44, -85, -85, 16, -85, -85, 11, -85, 19, - -85, -85, -85, -85, -85, -85, 106, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, 13, -85, -85, -85, -7, -85, -85, -85, 210, - -85, -85, -85, -85, -85, -38, -85, -85, -85, 17, - -85, -85, -3, -85, -85, -85, -85, 4, 87, -85, - -85, -85, -85, -85, 30, -85, -85, 31, -85, -85, - -85, -85, -85, -85, -85, -85, 15, -27, -85, -85, - -85, -85, 109, -85, -85, 115, -85, -85, -85, -17, - -85, 12, -85, -85, -85, 20, -85, -85, -85, 64, - -85, -85, 139, 14, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - 52, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, 27, -85, -85, -85, 90, -85, -85, 135, -85, - -85, -85, -85, -85, -85, -85, -14, 2, -85, 56, - -85, -85, -85, -85, 46, -85, -85, 5, -85, 54, - -85, -85, 47, -85, -85, 61, -85, -85, -85, -85, - -85, 10, -85, -85, 105, -85, 43, -85, -85, 156, - -85, 93, -85, -85, -85, -85, -85, -85, 32, 118, - -85, -85, -85, 40, -85, -85, 28, -85, -85, -85, - 104, 96, -85, -85, -85, 97, -85, -85, -85, -85, - -85, -85, -85}; + -85, 11, 90, -85, -85, -85, -85, -85, -85, -85, + -3, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -9, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, 70, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, 20, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, 3, -85, -85, -85, -85, + -85, -85, -85, -85, 9, -85, -85, -85, -85, 5, + -85, -85, -85, 56, 110, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -39, + 21, -21, -85, -85, 96, -7, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -49, -85, -85, -85, + -85, -85, -85, -85, -47, -85, -85, -85, -85, -85, + -46, -85, -85, -85, 35, -85, -85, -85, -85, -85, + -45, -85, -85, -85, -85, 109, -85, 29, 30, -85, + -4, -5, -6, -85, -85, -85, -85, 38, -85, 40, + 41, -85, 43, 78, 84, 81, -85, 80, 66, -85, + -85, -85, -85, -85, -85, 67, -85, -85, -85, -85, + -12, -85, -85, -85, 42, -85, 51, -85, 52, 27, + -85, 49, -85, -85, 24, -85, -85, 18, -85, 22, + -85, -85, -85, -85, -85, -85, 114, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, 6, -85, -85, -85, -11, -85, -85, -85, 129, + -85, -85, -85, -85, -85, -38, -85, -85, -85, 23, + -85, -85, -2, -85, -85, -85, -85, 19, 79, -85, + -85, -85, -85, -85, 39, -85, -85, 37, -85, -85, + -85, -85, -85, -85, -85, -85, 14, -18, -85, -85, + -85, -85, 121, -85, -85, 94, -85, -85, -85, -19, + -85, 7, -85, -85, -85, 16, -85, -85, -85, 77, + -85, -85, 87, 17, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + 65, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, 26, -85, -85, -85, 91, -85, -85, 159, -85, + -85, -85, -85, -85, -85, -85, -13, -1, -85, 54, + -85, -85, -85, -85, 57, -85, -85, 1, -85, 69, + -85, -85, 141, -85, -85, 76, -85, -85, -85, -85, + -85, 0, -85, -85, 88, -85, 25, -85, -85, 223, + -85, 100, -85, -85, -85, -85, -85, -85, 36, 138, + -85, -85, -85, 31, -85, -85, 28, -85, -85, -85, + 97, 105, -85, -85, -85, 98, -85, -85, -85, -85, + -85, -85, -85 +}; const short GLSLParserTable::action_info [] = { - 428, 421, 316, 397, 314, 385, 244, 450, 424, 304, - 378, 251, 407, 446, 170, 445, 331, 373, 144, 331, - 332, 404, 461, 334, 462, 376, 139, 243, 317, 377, - 431, 266, 443, 403, 139, 399, 191, 139, 459, 217, - -25, 264, 381, 412, 342, 380, 269, 191, 244, 199, - -19, 235, -24, 251, 194, 437, 191, 217, 460, 171, - 174, 319, 306, 239, 429, -24, 339, -25, 175, 235, - 139, 438, 384, 171, 139, 375, 139, 139, 139, 455, - 139, 139, 453, 227, 240, 207, 181, 341, 435, 139, - 248, 254, 139, 179, 207, 227, 249, 2, 1, 142, - 227, 176, 200, 439, 200, 227, 207, 219, 321, 227, - 322, 219, 0, 0, 0, 0, 256, 210, 228, 0, - 307, 0, 210, 143, 0, 0, 0, 0, 0, 29, - 228, 167, 210, 257, 182, 228, 456, 0, 0, 0, - 228, 180, 0, 222, 228, 342, 0, 320, 211, 258, - 212, 222, 308, 211, 309, 212, 323, 0, 220, 48, - 246, 0, 220, 211, 454, 212, 320, 223, 222, 208, - 423, 259, 61, 224, 409, 223, 0, 383, 208, 168, - 241, 224, 321, 0, 322, 140, 270, 0, 271, 0, - 208, 0, 223, 420, 0, 0, 433, 177, 224, 0, - 0, 321, 225, 322, 436, -124, 0, 145, 272, 0, - 225, 0, 0, 0, -124, 0, 146, -124, 201, 147, - 204, 0, 0, 0, 0, 0, -124, 225, 273, -124, - 323, 0, 0, 0, 0, 0, 0, 169, 0, 0, - 0, 0, 0, 0, 0, -124, 0, 148, 0, 323, - 0, 0, -124, 0, 149, 0, 0, -124, 274, 0, - 0, -91, 301, 0, -124, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 275, 276, - 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 0, -124, 0, 152, 0, - -124, -124, 153, 154, 0, 0, 0, 0, -124, 0, - 0, 0, -124, -124, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 279, 0, -124, 0, 0, 0, 145, - 0, 0, 0, 0, -124, 0, 156, 0, 146, 0, - 0, 147, 0, -124, 0, 157, -124, 0, 0, 0, - 280, 0, 0, 0, 0, -124, 0, 0, -124, 0, - 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -124, 0, 0, 0, 0, 0, 149, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 153, 154, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, - 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 32, 0, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 0, 0, 0, 0, 82, 0, 0, 0, - 0, 85, 86, 0, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 0, 101, - 102, 103, 0, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 6, 7, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 0, 28, 0, 0, 29, 0, 0, 0, 0, - 0, 32, 0, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 0, 0, - 0, 0, 82, 0, 0, 0, 0, 85, 86, 0, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 0, 101, 102, 103, 0, 104, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 6, 7, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 0, 0, 0, 0, 28, 0, - 0, 29, 260, 0, 0, 0, 0, 32, 0, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 0, 0, 0, 0, 82, 0, - 0, 0, 0, 85, 86, 0, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 0, 101, 102, 103, 0, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 6, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 0, 28, 0, 0, 29, 448, 0, - 0, 0, 0, 32, 0, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 449, 0, 0, 0, 82, 0, 0, 0, 0, 85, - 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, - 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4, 5, 0, 6, 7, 8, 0, 0, 0, - 0, 0, 0, 0, 9, 10, 0, 0, 0, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 0, 28, 0, 0, 29, 30, 0, 0, 31, 0, - 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 0, 0, 0, 0, - 0, 0, 47, 0, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, - 0, 0, 62, 0, 0, 0, 0, 0, 63, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 0, 0, 0, - 0, 82, 0, 0, 0, 83, 85, 86, 0, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 0, 101, 102, 103, 0, 104, 0, - 0, 0, 84, 27, 0, 0, 0, 0, 4, 5, - 0, 6, 7, 8, 0, 0, 0, 0, 0, 0, - 0, 9, 10, 0, 0, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 0, 0, 0, 0, 28, 0, - 0, 29, 30, 0, 0, 31, 0, 32, 0, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 0, 0, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 0, 62, - 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 0, 0, 0, 0, 82, 0, - 0, 0, 83, 85, 86, 0, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 0, 101, 102, 103, 0, 237, 0, 0, 0, 84, - 27, 0, 0, 0, 0, 4, 5, 0, 6, 7, - 8, 0, 0, 0, 0, 0, 0, 0, 9, 10, - 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 0, 0, 23, 24, 25, - 26, 0, 0, 0, 0, 28, 0, 0, 29, 30, - 0, 0, 31, 0, 32, 0, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 0, 0, 0, 0, 0, 0, 47, 0, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 0, 0, 0, 0, 62, 0, 0, 0, - 0, 0, 63, 0, 0, 0, 0, 0, 0, 312, - 0, 0, 0, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 0, 0, 0, 0, 82, 0, 0, 0, 83, - 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 0, 101, 102, - 103, 0, 104, 0, 0, 0, 84, 27, 0, 0, - 0, 0, 4, 5, 0, 6, 7, 8, 0, 0, - 0, 0, 0, 0, 0, 9, 10, 0, 0, 0, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 0, 28, 0, 0, 29, 30, 0, 0, 31, - 0, 32, 0, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, - 0, 0, 0, 47, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 0, 0, - 0, 0, 82, 0, 0, 0, 83, 85, 86, 0, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 0, 101, 102, 103, 0, 104, - 0, 0, 0, 84, 27, 0, 0, 0, 0, 4, - 5, 0, 6, 7, 8, 0, 0, 0, 0, 0, - 0, 0, 9, 10, 0, 0, 0, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, - 0, 23, 24, 25, 26, 0, 0, 0, 0, 28, - 0, 0, 29, 30, 0, 0, 31, 0, 32, 0, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 0, 0, 0, 0, 0, 0, - 47, 0, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, - 62, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 418, 0, 0, 0, 82, - 0, 0, 0, 83, 85, 86, 0, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 0, 101, 102, 103, 0, 104, 0, 0, 0, - 84, 27, 0, 0, 0, 0, 4, 5, 0, 6, - 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, - 10, 0, 0, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 0, 28, 0, 0, 29, - 30, 0, 0, 31, 0, 32, 0, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 0, 0, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 0, 0, 0, 62, 0, 0, - 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 0, 0, 0, 0, 82, 0, 0, 0, - 83, 85, 86, 0, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 0, 101, - 102, 103, 0, 104, 0, 0, 0, 84, 27, 0, - 0, 0, 0, 4, 5, 0, 6, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 9, 10, 0, 0, - 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 0, 0, 23, 24, 25, 26, 0, - 0, 0, 0, 28, 0, 0, 29, 30, 0, 0, - 31, 0, 32, 0, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 0, 0, - 0, 0, 0, 0, 47, 0, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 457, 0, 0, - 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 0, - 0, 0, 0, 82, 0, 0, 0, 83, 85, 86, - 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, - 104, 0, 0, 0, 84, 27, 0, 0, 0, 0, - 4, 5, 0, 6, 7, 8, 0, 0, 0, 0, - 0, 0, 0, 9, 10, 0, 0, 0, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 0, - 28, 0, 0, 29, 30, 0, 0, 31, 0, 32, - 0, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 0, 0, 0, 0, 0, - 0, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, - 0, 62, 0, 0, 0, 0, 0, 63, 0, 0, - 0, 0, 0, 0, 441, 0, 0, 0, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 0, 0, 0, 0, - 82, 0, 0, 0, 83, 85, 86, 0, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 0, 101, 102, 103, 0, 104, 0, 0, - 0, 84, 27, 0, 0, 0, 0, 145, 0, 5, - 0, 6, 7, 8, 0, 0, 146, 0, 0, 147, - 0, 0, 0, 0, 0, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 0, 0, 0, 148, 28, 0, - 0, 29, 0, 0, 149, 0, 0, 32, 150, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 151, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 152, 0, - 0, 0, 153, 154, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 0, 0, 156, 0, 82, 0, - 0, 0, 0, 85, 86, 157, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 158, 101, 102, 103, 0, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 5, 0, 6, - 7, 8, 0, 0, 146, 0, 0, 147, 0, 0, - 0, 0, 0, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 148, 28, 0, 0, 29, - 0, 0, 149, 0, 0, 32, 150, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 151, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 0, 0, 152, 0, 0, 0, - 153, 154, 0, 0, 0, 0, 0, 0, 0, 452, - 0, 0, 0, 155, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 0, 0, 156, 0, 82, 0, 0, 0, - 0, 85, 86, 157, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 158, 101, - 102, 103, 0, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 145, 0, 5, 0, 6, 7, 8, - 0, 0, 146, 0, 0, 147, 0, 0, 0, 0, - 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 148, 28, 0, 0, 29, 0, 0, - 149, 0, 0, 32, 150, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 151, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 0, 0, 152, 0, 0, 0, 153, 154, - 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, - 0, 155, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 0, 0, 156, 0, 82, 0, 0, 0, 0, 85, - 86, 157, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 158, 101, 102, 103, - 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 145, 0, 5, 0, 6, 7, 8, 0, 0, - 146, 0, 0, 147, 0, 0, 0, 0, 0, 0, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 148, 28, 0, 0, 29, 0, 0, 149, 0, - 0, 32, 150, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 151, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 0, 0, 152, 0, 0, 0, 153, 154, 0, 0, - 0, 0, 0, 0, 0, 188, 0, 0, 0, 155, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 0, 0, - 156, 0, 82, 0, 0, 0, 0, 85, 86, 157, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 158, 101, 102, 103, 0, 104, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, - 0, 5, 0, 6, 7, 8, 0, 0, 146, 0, - 0, 147, 0, 0, 0, 0, 0, 0, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 148, - 28, 0, 0, 29, 0, 0, 149, 0, 0, 32, - 284, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 151, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, - 152, 0, 0, 0, 153, 154, 0, 0, 285, 0, - 0, 0, 0, 0, 0, 0, 0, 155, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 286, 0, 156, 0, - 82, 0, 0, 0, 0, 85, 86, 157, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 158, 101, 102, 103, 0, 104, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 145, 4, 5, - 0, 6, 7, 8, 0, 0, 146, 0, 0, 147, - 0, 9, 10, 0, 0, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, - 23, 24, 25, 26, 0, 0, 0, 148, 28, 0, - 0, 29, 30, 0, 149, 31, 0, 32, 150, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 151, 0, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 152, 62, - 0, 0, 153, 154, 0, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 0, 0, 156, 0, 82, 0, - 0, 0, 83, 85, 86, 157, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 158, 101, 102, 103, 0, 104, 0, 0, 0, 84, - 27, 0, 0, 0, 0, 145, 4, 5, 0, 6, - 7, 8, 0, 0, 146, 0, 0, 147, 0, 9, - 10, 0, 0, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 148, 28, 0, 0, 29, - 30, 0, 149, 31, 0, 32, 284, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 151, 0, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 0, 0, 152, 62, 0, 0, - 153, 154, 0, 63, 285, 0, 0, 0, 0, 0, - 0, 0, 0, 155, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 355, 0, 156, 0, 82, 0, 0, 0, - 83, 85, 86, 157, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 158, 101, - 102, 103, 0, 104, 0, 0, 0, 84, 27, 0, - 0, 0, 0, 145, 4, 5, 344, 6, 7, 8, - 0, 345, 146, 0, 0, 147, 346, 9, 10, 347, - 348, 0, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 349, 0, 23, 24, 25, 26, - 0, 0, 0, 148, 28, 350, 0, 29, 30, 351, - 149, 31, 0, 32, 284, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 151, - 0, 0, 352, 0, 0, 47, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 0, 0, 152, 62, 0, 0, 153, 154, - 0, 63, 285, 0, 353, 0, 0, 0, 0, 0, - 0, 155, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 355, 0, 156, 0, 82, 0, 0, 356, 83, 85, - 86, 157, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 158, 101, 102, 103, - 0, 104, 357, 0, 0, 84, 27, 0, 0, 0, - 0, 145, 4, 5, 344, 6, 7, 8, 0, 345, - 146, 0, 0, 147, 346, 9, 10, 347, 348, 0, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 349, 0, 23, 24, 25, 26, 0, 0, - 0, 148, 28, 350, 0, 29, 30, 351, 149, 31, - 0, 32, 284, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 151, 0, 0, - 341, 0, 0, 47, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, - 0, 0, 152, 62, 0, 0, 153, 154, 0, 63, - 285, 0, 353, 0, 0, 0, 0, 0, 0, 155, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 355, 0, - 156, 0, 82, 0, 0, 356, 83, 85, 86, 157, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 158, 101, 102, 103, 0, 104, - 357, 0, 0, 84, 27, 0, 0, 0, 0, 145, - 4, 5, 344, 6, 7, 8, 0, 345, 146, 0, - 0, 147, 346, 9, 10, 347, 348, 0, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 349, 0, 23, 24, 25, 26, 0, 0, 0, 148, - 28, 350, 0, 29, 30, 351, 149, 31, 0, 32, - 284, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 151, 0, 0, 352, 0, - 0, 47, 0, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, - 152, 62, 0, 0, 153, 154, 0, 63, 285, 0, - 353, 0, 0, 416, 0, 0, 0, 155, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 355, 0, 156, 0, - 82, 0, 0, 356, 83, 85, 86, 157, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 158, 101, 102, 103, 0, 104, 357, 0, - 0, 84, 27, 0, 0, 0, 0, 145, 4, 5, - 344, 6, 7, 8, 0, 345, 146, 0, 0, 147, - 346, 9, 10, 347, 348, 0, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 349, 0, - 23, 24, 25, 26, 0, 0, 0, 148, 28, 350, - 0, 29, 30, 351, 149, 31, 0, 32, 284, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 151, 0, 0, 352, 0, 0, 47, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 0, 0, 0, 152, 62, - 0, 0, 153, 154, 0, 63, 285, 0, 353, 0, - 0, 354, 0, 0, 0, 155, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 355, 0, 156, 0, 82, 0, - 0, 356, 83, 85, 86, 157, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 158, 101, 102, 103, 0, 104, 357, 0, 0, 84, - 27, 0, 0, 0, 0, 145, 4, 5, 344, 6, - 7, 8, 0, 345, 146, 0, 0, 147, 346, 9, - 10, 347, 348, 0, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 349, 0, 23, 24, - 25, 26, 0, 0, 0, 148, 28, 350, 0, 29, - 30, 351, 149, 31, 0, 32, 284, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 151, 0, 0, 352, 0, 0, 47, 0, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 0, 0, 0, 152, 62, 0, 0, - 153, 154, 0, 63, 285, 0, 353, 0, 0, 434, - 0, 0, 0, 155, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 355, 0, 156, 0, 82, 0, 0, 356, - 83, 85, 86, 157, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 158, 101, - 102, 103, 0, 104, 357, 0, 0, 84, 27, 0, - 0, 0, 0, 145, 4, 5, 344, 6, 7, 8, - 0, 345, 146, 0, 0, 147, 346, 9, 10, 347, - 348, 0, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 349, 0, 23, 24, 25, 26, - 0, 0, 0, 148, 28, 350, 0, 29, 30, 351, - 149, 31, 0, 32, 284, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 151, - 0, 0, 352, 0, 0, 47, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 0, 0, 0, 152, 62, 0, 0, 153, 154, - 0, 63, 285, 0, 353, 0, 0, 414, 0, 0, - 0, 155, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 355, 0, 156, 0, 82, 0, 0, 356, 83, 85, - 86, 157, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 158, 101, 102, 103, - 0, 104, 357, 0, 0, 84, 27, 0, 0, 0, - 0, + -25, 332, 446, 246, 339, 306, 450, 319, 428, 251, + 429, 317, 331, 376, 144, 377, 461, 437, 443, 266, + 378, 316, 421, 385, 314, 170, 407, 445, 431, 304, + 381, 251, 244, -24, 334, 199, 191, 217, 380, -19, + 246, 384, -24, 412, 397, 139, 399, 403, 139, 404, + 459, 244, 171, 373, 243, 171, 174, 331, 462, 239, + 342, 175, 191, 139, 460, 217, 139, 269, 264, -25, + 191, 194, 139, 139, 227, 139, 375, 139, 455, 181, + 139, 453, 139, 438, 142, 227, 227, 2, 1, 207, + 254, 139, 207, 227, 200, 219, 424, 200, 341, 435, + 179, 176, 139, 207, 227, 240, 219, 248, 143, 228, + 167, 307, 0, 249, 0, 439, 210, 321, 0, 322, + 228, 228, 0, 29, 320, 0, 0, 182, 228, 0, + 222, 0, 0, 0, 0, 456, 0, 0, 0, 228, + 222, 210, 0, 308, 210, 309, 220, 211, 180, 212, + 256, 0, 0, 48, 223, 0, 342, 220, 168, 321, + 224, 322, 222, 454, 223, 323, 61, 257, 0, 383, + 224, 409, 211, 208, 212, 211, 208, 212, 423, 0, + 0, 0, 320, 258, 0, 0, 223, 208, 433, 225, + 0, 0, 224, 0, -124, 235, 420, 177, 140, 225, + 270, 241, 271, -124, 0, 259, -124, 323, 0, 0, + 204, 0, 0, 201, 145, 436, 169, 321, 0, 322, + 0, 225, 272, 146, -124, 0, 147, 0, 0, 0, + 0, 0, 0, -124, -124, 0, -124, 0, 0, 0, + 0, -124, 273, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, + 0, 149, 0, 0, -124, 323, 0, 0, 0, 301, + 0, -124, 274, 0, 0, 0, 0, -91, 0, 0, + 0, 0, 0, 0, 0, -124, 0, 0, 0, -124, + -124, 0, 275, 276, 0, 0, 0, 277, 0, 0, + 0, 0, -124, 0, 0, 152, 0, 278, 0, 153, + 154, 0, 0, 0, 0, -124, 0, 0, 0, -124, + -124, 0, 155, -124, 0, 0, 0, 0, 0, 0, + 0, 0, -124, 0, 0, 0, 0, 279, 0, 0, + 0, 0, 0, 156, 0, 0, 0, -124, 0, 0, + 0, 0, 157, -124, 0, 0, 145, 0, 0, 0, + 0, 0, -124, 0, 280, 146, 0, 158, 147, 0, + 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 153, 154, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 6, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 0, 0, 23, 24, 25, 26, 0, + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 32, 0, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 0, + 0, 0, 0, 82, 0, 0, 0, 0, 85, 86, + 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 6, 7, 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, + 0, 23, 24, 25, 26, 0, 0, 0, 0, 28, + 0, 0, 29, 0, 0, 0, 0, 0, 32, 0, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 0, 0, 0, 0, 82, + 0, 0, 0, 0, 85, 86, 0, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 0, 101, 102, 103, 0, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 6, 7, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 0, 28, 0, 0, 29, 260, + 0, 0, 0, 0, 32, 0, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 0, 0, 0, 0, 82, 0, 0, 0, 0, + 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 0, 101, 102, + 103, 0, 104, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 6, 7, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 0, 0, 23, 24, 25, 26, 0, 0, 0, + 0, 28, 0, 0, 29, 448, 0, 0, 0, 0, + 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 449, 0, 0, + 0, 82, 0, 0, 0, 0, 85, 86, 0, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 0, 101, 102, 103, 0, 104, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, + 0, 6, 7, 8, 0, 0, 0, 0, 0, 0, + 0, 9, 10, 0, 0, 0, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, + 23, 24, 25, 26, 0, 0, 0, 0, 28, 0, + 0, 29, 30, 0, 0, 31, 0, 32, 0, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 0, 0, 0, 0, 0, 0, 47, + 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 0, 0, 0, 0, 62, + 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 0, 0, 0, 0, 82, 0, + 0, 0, 83, 85, 86, 0, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 0, 101, 102, 103, 0, 104, 0, 0, 0, 84, + 27, 0, 0, 0, 0, 4, 5, 0, 6, 7, + 8, 0, 0, 0, 0, 0, 0, 0, 9, 10, + 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 0, 28, 0, 0, 29, 30, + 0, 0, 31, 0, 32, 0, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 0, 0, 0, 0, 0, 0, 47, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 0, 0, 0, 0, 62, 0, 0, 0, + 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 0, 0, 0, 0, 82, 0, 0, 0, 83, + 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 0, 101, 102, + 103, 0, 237, 0, 0, 0, 84, 27, 0, 0, + 0, 0, 4, 5, 0, 6, 7, 8, 0, 0, + 0, 0, 0, 0, 0, 9, 10, 0, 0, 0, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 0, 0, 23, 24, 25, 26, 0, 0, + 0, 0, 28, 0, 0, 29, 30, 0, 0, 31, + 0, 32, 0, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, + 0, 0, 0, 47, 0, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, + 0, 0, 0, 62, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 0, 0, + 0, 0, 82, 0, 0, 0, 83, 85, 86, 0, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 0, 101, 102, 103, 0, 104, + 0, 0, 0, 84, 27, 0, 0, 0, 0, 4, + 5, 0, 6, 7, 8, 0, 0, 0, 0, 0, + 0, 0, 9, 10, 0, 0, 0, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, + 0, 23, 24, 25, 26, 0, 0, 0, 0, 28, + 0, 0, 29, 30, 0, 0, 31, 0, 32, 0, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 0, 0, 0, 0, 0, 0, + 47, 0, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, + 62, 0, 0, 0, 0, 0, 63, 0, 0, 0, + 0, 0, 0, 457, 0, 0, 0, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 0, 0, 0, 0, 82, + 0, 0, 0, 83, 85, 86, 0, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 0, 101, 102, 103, 0, 104, 0, 0, 0, + 84, 27, 0, 0, 0, 0, 4, 5, 0, 6, + 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, + 10, 0, 0, 0, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 0, 0, 23, 24, + 25, 26, 0, 0, 0, 0, 28, 0, 0, 29, + 30, 0, 0, 31, 0, 32, 0, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 0, 0, 0, 0, 0, 0, 47, 0, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 0, 0, 0, 0, 62, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, + 441, 0, 0, 0, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 0, 0, 0, 0, 82, 0, 0, 0, + 83, 85, 86, 0, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 0, 101, + 102, 103, 0, 104, 0, 0, 0, 84, 27, 0, + 0, 0, 0, 4, 5, 0, 6, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 9, 10, 0, 0, + 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 0, 0, 23, 24, 25, 26, 0, + 0, 0, 0, 28, 0, 0, 29, 30, 0, 0, + 31, 0, 32, 0, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 0, 0, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, + 63, 0, 0, 0, 0, 0, 0, 312, 0, 0, + 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 0, + 0, 0, 0, 82, 0, 0, 0, 83, 85, 86, + 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, + 104, 0, 0, 0, 84, 27, 0, 0, 0, 0, + 4, 5, 0, 6, 7, 8, 0, 0, 0, 0, + 0, 0, 0, 9, 10, 0, 0, 0, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 0, 0, 23, 24, 25, 26, 0, 0, 0, 0, + 28, 0, 0, 29, 30, 0, 0, 31, 0, 32, + 0, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 0, 0, 0, 0, 0, + 0, 47, 0, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, + 0, 62, 0, 0, 0, 0, 0, 63, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 418, 0, 0, 0, + 82, 0, 0, 0, 83, 85, 86, 0, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 0, 101, 102, 103, 0, 104, 0, 0, + 0, 84, 27, 0, 0, 0, 0, 4, 5, 0, + 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, + 9, 10, 0, 0, 0, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 0, 28, 0, 0, + 29, 30, 0, 0, 31, 0, 32, 0, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 0, 0, 0, 0, 0, 0, 47, 0, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 0, 0, 0, 0, 62, 0, + 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, + 0, 267, 0, 0, 0, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 0, 0, 0, 0, 82, 0, 0, + 0, 83, 85, 86, 0, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, + 101, 102, 103, 0, 104, 0, 0, 0, 84, 27, + 0, 0, 0, 0, 145, 0, 5, 0, 6, 7, + 8, 0, 0, 146, 0, 0, 147, 0, 0, 0, + 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 148, 28, 0, 0, 29, 0, + 0, 149, 0, 0, 32, 150, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 151, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 0, 0, 0, 152, 0, 0, 0, 153, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 0, 0, 156, 0, 82, 0, 0, 0, 0, + 85, 86, 157, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 158, 101, 102, + 103, 0, 104, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 145, 0, 5, 0, 6, 7, 8, 0, + 0, 146, 0, 0, 147, 0, 0, 0, 0, 0, + 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 0, 0, 23, 24, 25, 26, 0, + 0, 0, 148, 28, 0, 0, 29, 0, 0, 149, + 0, 0, 32, 150, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 151, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 0, 0, 0, 152, 0, 0, 0, 153, 154, 0, + 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, + 155, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 0, + 0, 156, 0, 82, 0, 0, 0, 0, 85, 86, + 157, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 158, 101, 102, 103, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 145, 0, 5, 0, 6, 7, 8, 0, 0, 146, + 0, 0, 147, 0, 0, 0, 0, 0, 0, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 0, 0, 23, 24, 25, 26, 0, 0, 0, + 148, 28, 0, 0, 29, 0, 0, 149, 0, 0, + 32, 150, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 151, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, + 0, 152, 0, 0, 0, 153, 154, 0, 0, 0, + 0, 0, 0, 0, 452, 0, 0, 0, 155, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 0, 0, 156, + 0, 82, 0, 0, 0, 0, 85, 86, 157, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 158, 101, 102, 103, 0, 104, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, + 5, 0, 6, 7, 8, 0, 0, 146, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, + 0, 23, 24, 25, 26, 0, 0, 0, 148, 28, + 0, 0, 29, 0, 0, 149, 0, 0, 32, 150, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 151, 0, 0, 0, 0, 0, + 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 0, 0, 0, 152, + 0, 0, 0, 153, 154, 0, 0, 0, 0, 0, + 0, 0, 206, 0, 0, 0, 155, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 0, 0, 156, 0, 82, + 0, 0, 0, 0, 85, 86, 157, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 158, 101, 102, 103, 0, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 145, 0, 5, 0, + 6, 7, 8, 0, 0, 146, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 0, 0, 23, + 24, 25, 26, 0, 0, 0, 148, 28, 0, 0, + 29, 0, 0, 149, 0, 0, 32, 284, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 151, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 0, 0, 0, 152, 0, 0, + 0, 153, 154, 0, 0, 285, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 286, 0, 156, 0, 82, 0, 0, + 0, 0, 85, 86, 157, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 158, + 101, 102, 103, 0, 104, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 4, 5, 0, 6, 7, + 8, 0, 0, 146, 0, 0, 147, 0, 9, 10, + 0, 0, 0, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 0, 0, 23, 24, 25, + 26, 0, 0, 0, 148, 28, 0, 0, 29, 30, + 0, 149, 31, 0, 32, 150, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 151, 0, 0, 0, 0, 0, 47, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 0, 0, 0, 152, 62, 0, 0, 153, + 154, 0, 63, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 0, 0, 156, 0, 82, 0, 0, 0, 83, + 85, 86, 157, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 158, 101, 102, + 103, 0, 104, 0, 0, 0, 84, 27, 0, 0, + 0, 0, 145, 4, 5, 0, 6, 7, 8, 0, + 0, 146, 0, 0, 147, 0, 9, 10, 0, 0, + 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 0, 0, 23, 24, 25, 26, 0, + 0, 0, 148, 28, 0, 0, 29, 30, 0, 149, + 31, 0, 32, 284, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 151, 0, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 0, 0, 0, 152, 62, 0, 0, 153, 154, 0, + 63, 285, 0, 0, 0, 0, 0, 0, 0, 0, + 155, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 355, + 0, 156, 0, 82, 0, 0, 0, 83, 85, 86, + 157, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 158, 101, 102, 103, 0, + 104, 0, 0, 0, 84, 27, 0, 0, 0, 0, + 145, 4, 5, 344, 6, 7, 8, 0, 345, 146, + 0, 0, 147, 346, 9, 10, 347, 348, 0, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 349, 0, 23, 24, 25, 26, 0, 0, 0, + 148, 28, 350, 0, 29, 30, 351, 149, 31, 0, + 32, 284, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 151, 0, 0, 341, + 0, 0, 47, 0, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, + 0, 152, 62, 0, 0, 153, 154, 0, 63, 285, + 0, 353, 0, 0, 0, 0, 0, 0, 155, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 355, 0, 156, + 0, 82, 0, 0, 356, 83, 85, 86, 157, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 158, 101, 102, 103, 0, 104, 357, + 0, 0, 84, 27, 0, 0, 0, 0, 145, 4, + 5, 344, 6, 7, 8, 0, 345, 146, 0, 0, + 147, 346, 9, 10, 347, 348, 0, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 349, + 0, 23, 24, 25, 26, 0, 0, 0, 148, 28, + 350, 0, 29, 30, 351, 149, 31, 0, 32, 284, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 151, 0, 0, 352, 0, 0, + 47, 0, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 0, 0, 0, 152, + 62, 0, 0, 153, 154, 0, 63, 285, 0, 353, + 0, 0, 0, 0, 0, 0, 155, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 355, 0, 156, 0, 82, + 0, 0, 356, 83, 85, 86, 157, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 158, 101, 102, 103, 0, 104, 357, 0, 0, + 84, 27, 0, 0, 0, 0, 145, 4, 5, 344, + 6, 7, 8, 0, 345, 146, 0, 0, 147, 346, + 9, 10, 347, 348, 0, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 349, 0, 23, + 24, 25, 26, 0, 0, 0, 148, 28, 350, 0, + 29, 30, 351, 149, 31, 0, 32, 284, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 151, 0, 0, 352, 0, 0, 47, 0, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 0, 0, 0, 152, 62, 0, + 0, 153, 154, 0, 63, 285, 0, 353, 0, 0, + 434, 0, 0, 0, 155, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 355, 0, 156, 0, 82, 0, 0, + 356, 83, 85, 86, 157, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 158, + 101, 102, 103, 0, 104, 357, 0, 0, 84, 27, + 0, 0, 0, 0, 145, 4, 5, 344, 6, 7, + 8, 0, 345, 146, 0, 0, 147, 346, 9, 10, + 347, 348, 0, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 349, 0, 23, 24, 25, + 26, 0, 0, 0, 148, 28, 350, 0, 29, 30, + 351, 149, 31, 0, 32, 284, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 151, 0, 0, 352, 0, 0, 47, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 0, 0, 0, 152, 62, 0, 0, 153, + 154, 0, 63, 285, 0, 353, 0, 0, 416, 0, + 0, 0, 155, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 355, 0, 156, 0, 82, 0, 0, 356, 83, + 85, 86, 157, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 158, 101, 102, + 103, 0, 104, 357, 0, 0, 84, 27, 0, 0, + 0, 0, 145, 4, 5, 344, 6, 7, 8, 0, + 345, 146, 0, 0, 147, 346, 9, 10, 347, 348, + 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 349, 0, 23, 24, 25, 26, 0, + 0, 0, 148, 28, 350, 0, 29, 30, 351, 149, + 31, 0, 32, 284, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 151, 0, + 0, 352, 0, 0, 47, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 0, 0, 0, 152, 62, 0, 0, 153, 154, 0, + 63, 285, 0, 353, 0, 0, 354, 0, 0, 0, + 155, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 355, + 0, 156, 0, 82, 0, 0, 356, 83, 85, 86, + 157, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 158, 101, 102, 103, 0, + 104, 357, 0, 0, 84, 27, 0, 0, 0, 0, + 145, 4, 5, 344, 6, 7, 8, 0, 345, 146, + 0, 0, 147, 346, 9, 10, 347, 348, 0, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 349, 0, 23, 24, 25, 26, 0, 0, 0, + 148, 28, 350, 0, 29, 30, 351, 149, 31, 0, + 32, 284, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 151, 0, 0, 352, + 0, 0, 47, 0, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, + 0, 152, 62, 0, 0, 153, 154, 0, 63, 285, + 0, 353, 0, 0, 414, 0, 0, 0, 155, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 355, 0, 156, + 0, 82, 0, 0, 356, 83, 85, 86, 157, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 158, 101, 102, 103, 0, 104, 357, + 0, 0, 84, 27, 0, 0, 0, 0, - 406, 138, 242, 190, 186, 398, 215, 213, 408, 178, - 193, 137, 202, 422, 214, 136, 310, 419, 335, 261, - 183, 283, 262, 374, 340, 282, 372, 302, 255, 330, - 382, 406, 303, 141, 238, 343, 253, 187, 265, 198, - 310, 198, 310, 310, 310, 218, 221, 0, 0, 198, - 198, 198, 310, 216, 198, 234, 209, 372, 310, 198, - 198, 372, 196, 229, 198, 198, 372, 230, 372, 252, - 372, 111, 0, 198, 166, 372, 250, 447, 372, 315, - 318, 440, 247, 0, 0, 0, 198, 198, 184, 444, - 226, 233, 185, 198, 198, 405, 165, 231, 198, 198, - 166, 236, 198, 232, 389, 417, 245, 372, 0, 413, - 166, 0, 198, 300, 417, 196, 411, 313, 166, 372, - 401, 198, 165, 417, 198, 196, 379, 458, 166, 338, - 287, 295, 165, 198, 196, 0, 268, 196, 393, 333, - 165, 451, 0, 0, 189, 166, 196, 0, 442, 389, - 165, 386, 425, 372, 189, 387, 0, 401, 336, 393, - 0, 337, 0, 0, 0, 432, 0, 165, 164, 0, - 389, 396, 189, 0, 0, 0, 426, 395, 0, 0, - 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 0, 0, 0, 0, 0, 395, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, - 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 305, 0, 0}; + 242, 406, 398, 422, 408, 178, 137, 190, 186, 215, + 214, 213, 136, 193, 111, 202, 183, 141, 282, 374, + 419, 372, 340, 302, 283, 262, 261, 335, 330, 382, + 253, 310, 238, 303, 187, 343, 255, 406, 265, 372, + 310, 0, 0, 310, 198, 198, 209, 216, 310, 310, + 198, 310, 0, 198, 0, 198, 198, 198, 198, 218, + 221, 234, 226, 196, 198, 245, 198, 198, 372, 310, + 166, 0, 184, 138, 252, 247, 185, 447, 250, 372, + 444, 198, 198, 372, 230, 440, 318, 417, 315, 236, + 372, 372, 165, 198, 198, 198, 198, 231, 229, 198, + 233, 372, 372, 232, 300, 389, 405, 196, 338, 313, + 166, 166, 0, 198, 372, 0, 0, 0, 401, 166, + 0, 287, 295, 166, 166, 0, 196, 417, 458, 198, + 0, 411, 165, 165, 451, 425, 198, 336, 417, 379, + 337, 165, 196, 300, 268, 165, 165, 164, 0, 196, + 0, 333, 386, 198, 189, 372, 387, 0, 415, 426, + 287, 295, 393, 189, 401, 0, 196, 189, 442, 0, + 0, 0, 432, 389, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, + 0, 395, 0, 413, 0, 0, 392, 0, 0, 0, + 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, + 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 430, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; const short GLSLParserTable::action_check [] = { - 111, 79, 112, 134, 45, 79, 164, 76, 76, 134, - 134, 168, 79, 45, 79, 112, 52, 134, 76, 52, - 77, 45, 134, 112, 0, 134, 18, 79, 45, 17, - 114, 77, 45, 52, 18, 114, 52, 18, 134, 4, - 79, 112, 79, 44, 134, 166, 112, 52, 164, 112, - 114, 14, 79, 168, 77, 52, 52, 4, 112, 52, - 45, 114, 52, 114, 79, 79, 18, 79, 99, 14, - 18, 45, 134, 52, 18, 17, 18, 18, 18, 77, - 18, 18, 52, 78, 18, 21, 54, 76, 18, 18, - 101, 17, 18, 54, 21, 78, 107, 1, 2, 52, - 78, 18, 18, 77, 18, 78, 21, 46, 54, 78, - 56, 46, -1, -1, -1, -1, 22, 104, 113, -1, - 45, -1, 104, 76, -1, -1, -1, -1, -1, 51, - 113, 54, 104, 39, 102, 113, 134, -1, -1, -1, - 113, 102, -1, 50, 113, 134, -1, 19, 135, 55, - 137, 50, 77, 135, 79, 137, 102, -1, 97, 81, - 6, -1, 97, 135, 134, 137, 19, 74, 50, 105, - 114, 77, 94, 80, 114, 74, -1, 114, 105, 102, - 114, 80, 54, -1, 56, 114, 3, -1, 5, -1, - 105, -1, 74, 134, -1, -1, 134, 114, 80, -1, - -1, 54, 109, 56, 134, 7, -1, 7, 25, -1, - 109, -1, -1, -1, 16, -1, 16, 7, 134, 19, - 134, -1, -1, -1, -1, -1, 16, 109, 45, 19, - 102, -1, -1, -1, -1, -1, -1, 160, -1, -1, - -1, -1, -1, -1, -1, 47, -1, 47, -1, 102, - -1, -1, 54, -1, 54, -1, -1, 47, 75, -1, - -1, 114, 52, -1, 54, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 95, 96, - -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 110, -1, -1, 98, -1, 98, -1, - 102, 103, 102, 103, -1, -1, -1, -1, 98, -1, - -1, -1, 102, 103, -1, 115, -1, -1, -1, -1, - -1, -1, -1, 140, -1, 115, -1, -1, -1, 7, - -1, -1, -1, -1, 136, -1, 136, -1, 16, -1, - -1, 19, -1, 145, -1, 145, 136, -1, -1, -1, - 167, -1, -1, -1, -1, 145, -1, -1, 160, -1, - 160, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 160, -1, -1, -1, -1, -1, 54, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 102, 103, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 145, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 160, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 9, -1, 11, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, -1, -1, 40, 41, - 42, 43, -1, -1, -1, -1, 48, -1, -1, -1, - -1, -1, -1, -1, -1, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, - -1, 143, 144, -1, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - 162, 163, -1, 165, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 9, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, -1, -1, 40, 41, 42, 43, -1, -1, - -1, -1, 48, -1, -1, 51, -1, -1, -1, -1, - -1, 57, -1, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, -1, -1, -1, - -1, -1, -1, -1, -1, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, 138, -1, -1, -1, -1, 143, 144, -1, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, 162, 163, -1, 165, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, - -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, - 40, 41, 42, 43, -1, -1, -1, -1, 48, -1, - -1, 51, 52, -1, -1, -1, -1, 57, -1, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, -1, -1, -1, -1, -1, -1, -1, - -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, - -1, -1, -1, 143, 144, -1, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, 162, 163, -1, 165, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 9, -1, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, -1, -1, 40, 41, 42, 43, - -1, -1, -1, -1, 48, -1, -1, 51, 52, -1, - -1, -1, -1, 57, -1, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, -1, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, -1, -1, -1, 138, -1, -1, -1, -1, 143, - 144, -1, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, - -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, 9, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, -1, -1, 40, 41, 42, 43, -1, -1, -1, - -1, 48, -1, -1, 51, 52, -1, -1, 55, -1, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, - -1, -1, 79, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, - -1, -1, 99, -1, -1, -1, -1, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, - -1, 138, -1, -1, -1, 142, 143, 144, -1, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, -1, 161, 162, 163, -1, 165, -1, - -1, -1, 169, 170, -1, -1, -1, -1, 8, 9, - -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, 21, 22, -1, -1, -1, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, - 40, 41, 42, 43, -1, -1, -1, -1, 48, -1, - -1, 51, 52, -1, -1, 55, -1, 57, -1, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, -1, -1, -1, -1, -1, -1, 79, - -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, -1, -1, -1, -1, 99, - -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, - -1, -1, 142, 143, 144, -1, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - -1, 161, 162, 163, -1, 165, -1, -1, -1, 169, - 170, -1, -1, -1, -1, 8, 9, -1, 11, 12, - 13, -1, -1, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, -1, -1, 40, 41, 42, - 43, -1, -1, -1, -1, 48, -1, -1, 51, 52, - -1, -1, 55, -1, 57, -1, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - -1, -1, -1, -1, -1, -1, 79, -1, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, -1, -1, -1, -1, 99, -1, -1, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, 112, - -1, -1, -1, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, - 143, 144, -1, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, - 163, -1, 165, -1, -1, -1, 169, 170, -1, -1, - -1, -1, 8, 9, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, -1, -1, 40, 41, 42, 43, -1, -1, - -1, -1, 48, -1, -1, 51, 52, -1, -1, 55, - -1, 57, -1, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, -1, -1, -1, - -1, -1, -1, 79, -1, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, - -1, -1, -1, 99, -1, -1, -1, -1, -1, 105, - -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - -1, -1, 138, -1, -1, -1, 142, 143, 144, -1, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, -1, 161, 162, 163, -1, 165, - -1, -1, -1, 169, 170, -1, -1, -1, -1, 8, - 9, -1, 11, 12, 13, -1, -1, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, -1, - -1, 40, 41, 42, 43, -1, -1, -1, -1, 48, - -1, -1, 51, 52, -1, -1, 55, -1, 57, -1, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, - 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, - 99, -1, -1, -1, -1, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, -1, -1, -1, 138, - -1, -1, -1, 142, 143, 144, -1, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, -1, 161, 162, 163, -1, 165, -1, -1, -1, - 169, 170, -1, -1, -1, -1, 8, 9, -1, 11, - 12, 13, -1, -1, -1, -1, -1, -1, -1, 21, - 22, -1, -1, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, -1, -1, 40, 41, - 42, 43, -1, -1, -1, -1, 48, -1, -1, 51, - 52, -1, -1, 55, -1, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, -1, -1, -1, -1, -1, 79, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, -1, -1, -1, -1, 99, -1, -1, - -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, - 112, -1, -1, -1, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, - 142, 143, 144, -1, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, - 162, 163, -1, 165, -1, -1, -1, 169, 170, -1, - -1, -1, -1, 8, 9, -1, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, -1, -1, 40, 41, 42, 43, -1, - -1, -1, -1, 48, -1, -1, 51, 52, -1, -1, - 55, -1, 57, -1, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, -1, -1, - -1, -1, -1, -1, 79, -1, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, - 105, -1, -1, -1, -1, -1, -1, 112, -1, -1, - -1, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - -1, -1, -1, 138, -1, -1, -1, 142, 143, 144, - -1, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, -1, 161, 162, 163, -1, - 165, -1, -1, -1, 169, 170, -1, -1, -1, -1, - 8, 9, -1, 11, 12, 13, -1, -1, -1, -1, - -1, -1, -1, 21, 22, -1, -1, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, - 48, -1, -1, 51, 52, -1, -1, 55, -1, 57, - -1, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, -1, -1, -1, -1, -1, - -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, - -1, 99, -1, -1, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, 112, -1, -1, -1, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - 138, -1, -1, -1, 142, 143, 144, -1, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, -1, 161, 162, 163, -1, 165, -1, -1, - -1, 169, 170, -1, -1, -1, -1, 7, -1, 9, - -1, 11, 12, 13, -1, -1, 16, -1, -1, 19, - -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, - 40, 41, 42, 43, -1, -1, -1, 47, 48, -1, - -1, 51, -1, -1, 54, -1, -1, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, -1, -1, -1, -1, -1, - -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, -1, -1, -1, 98, -1, - -1, -1, 102, 103, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 136, -1, 138, -1, - -1, -1, -1, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 7, -1, 9, -1, 11, - 12, 13, -1, -1, 16, -1, -1, 19, -1, -1, - -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, -1, -1, 40, 41, - 42, 43, -1, -1, -1, 47, 48, -1, -1, 51, - -1, -1, 54, -1, -1, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, -1, -1, -1, 98, -1, -1, -1, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, 136, -1, 138, -1, -1, -1, - -1, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 7, -1, 9, -1, 11, 12, 13, - -1, -1, 16, -1, -1, 19, -1, -1, -1, -1, - -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, -1, -1, 40, 41, 42, 43, - -1, -1, -1, 47, 48, -1, -1, 51, -1, -1, - 54, -1, -1, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, -1, -1, -1, 98, -1, -1, -1, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, 136, -1, 138, -1, -1, -1, -1, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 7, -1, 9, -1, 11, 12, 13, -1, -1, - 16, -1, -1, 19, -1, -1, -1, -1, -1, -1, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, -1, -1, 40, 41, 42, 43, -1, -1, - -1, 47, 48, -1, -1, 51, -1, -1, 54, -1, - -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, -1, - -1, -1, -1, -1, -1, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, - -1, -1, 98, -1, -1, -1, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, -1, -1, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 136, -1, 138, -1, -1, -1, -1, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, - -1, 9, -1, 11, 12, 13, -1, -1, 16, -1, - -1, 19, -1, -1, -1, -1, -1, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - -1, -1, 40, 41, 42, 43, -1, -1, -1, 47, - 48, -1, -1, 51, -1, -1, 54, -1, -1, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, - 98, -1, -1, -1, 102, 103, -1, -1, 106, -1, - -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, -1, 136, -1, - 138, -1, -1, -1, -1, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 7, 8, 9, - -1, 11, 12, 13, -1, -1, 16, -1, -1, 19, - -1, 21, 22, -1, -1, -1, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, - 40, 41, 42, 43, -1, -1, -1, 47, 48, -1, - -1, 51, 52, -1, 54, 55, -1, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, - -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, -1, -1, -1, 98, 99, - -1, -1, 102, 103, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 136, -1, 138, -1, - -1, -1, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, -1, -1, -1, 169, - 170, -1, -1, -1, -1, 7, 8, 9, -1, 11, - 12, 13, -1, -1, 16, -1, -1, 19, -1, 21, - 22, -1, -1, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, -1, -1, 40, 41, - 42, 43, -1, -1, -1, 47, 48, -1, -1, 51, - 52, -1, 54, 55, -1, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, -1, -1, -1, -1, 79, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, -1, -1, -1, 98, 99, -1, -1, - 102, 103, -1, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, -1, 136, -1, 138, -1, -1, -1, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, -1, -1, -1, 169, 170, -1, - -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, - -1, 15, 16, -1, -1, 19, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, - -1, -1, -1, 47, 48, 49, -1, 51, 52, 53, - 54, 55, -1, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, -1, 76, -1, -1, 79, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, -1, -1, -1, 98, 99, -1, -1, 102, 103, - -1, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, -1, 136, -1, 138, -1, -1, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, -1, -1, 169, 170, -1, -1, -1, - -1, 7, 8, 9, 10, 11, 12, 13, -1, 15, - 16, -1, -1, 19, 20, 21, 22, 23, 24, -1, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, -1, 40, 41, 42, 43, -1, -1, - -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, - -1, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, -1, - 76, -1, -1, 79, -1, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, - -1, -1, 98, 99, -1, -1, 102, 103, -1, 105, - 106, -1, 108, -1, -1, -1, -1, -1, -1, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, -1, - 136, -1, 138, -1, -1, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, -1, -1, 169, 170, -1, -1, -1, -1, 7, - 8, 9, 10, 11, 12, 13, -1, 15, 16, -1, - -1, 19, 20, 21, 22, 23, 24, -1, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, -1, 40, 41, 42, 43, -1, -1, -1, 47, - 48, 49, -1, 51, 52, 53, 54, 55, -1, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, -1, 76, -1, - -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, - 98, 99, -1, -1, 102, 103, -1, 105, 106, -1, - 108, -1, -1, 111, -1, -1, -1, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, -1, 136, -1, - 138, -1, -1, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, 166, -1, - -1, 169, 170, -1, -1, -1, -1, 7, 8, 9, - 10, 11, 12, 13, -1, 15, 16, -1, -1, 19, - 20, 21, 22, 23, 24, -1, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, - 40, 41, 42, 43, -1, -1, -1, 47, 48, 49, - -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, -1, 76, -1, -1, 79, - -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, -1, -1, -1, 98, 99, - -1, -1, 102, 103, -1, 105, 106, -1, 108, -1, - -1, 111, -1, -1, -1, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, -1, 136, -1, 138, -1, - -1, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, -1, -1, 169, - 170, -1, -1, -1, -1, 7, 8, 9, 10, 11, - 12, 13, -1, 15, 16, -1, -1, 19, 20, 21, - 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, - 42, 43, -1, -1, -1, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, -1, 76, -1, -1, 79, -1, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, -1, -1, -1, 98, 99, -1, -1, - 102, 103, -1, 105, 106, -1, 108, -1, -1, 111, - -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, -1, 136, -1, 138, -1, -1, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, -1, -1, 169, 170, -1, - -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, - -1, 15, 16, -1, -1, 19, 20, 21, 22, 23, - 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, - -1, -1, -1, 47, 48, 49, -1, 51, 52, 53, - 54, 55, -1, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, -1, 76, -1, -1, 79, -1, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, -1, -1, -1, 98, 99, -1, -1, 102, 103, - -1, 105, 106, -1, 108, -1, -1, 111, -1, -1, - -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, -1, 136, -1, 138, -1, -1, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, -1, -1, 169, 170, -1, -1, -1, - -1, + 79, 77, 45, 6, 18, 52, 76, 114, 111, 168, + 79, 45, 52, 134, 76, 17, 134, 52, 45, 77, + 134, 112, 79, 79, 45, 79, 79, 112, 114, 134, + 79, 168, 164, 79, 112, 112, 52, 4, 166, 114, + 6, 134, 79, 44, 134, 18, 114, 52, 18, 45, + 134, 164, 52, 134, 79, 52, 45, 52, 0, 114, + 134, 99, 52, 18, 112, 4, 18, 112, 112, 79, + 52, 77, 18, 18, 78, 18, 17, 18, 77, 54, + 18, 52, 18, 45, 52, 78, 78, 1, 2, 21, + 17, 18, 21, 78, 18, 46, 76, 18, 76, 18, + 54, 18, 18, 21, 78, 18, 46, 101, 76, 113, + 54, 45, -1, 107, -1, 77, 104, 54, -1, 56, + 113, 113, -1, 51, 19, -1, -1, 102, 113, -1, + 50, -1, -1, -1, -1, 134, -1, -1, -1, 113, + 50, 104, -1, 77, 104, 79, 97, 135, 102, 137, + 22, -1, -1, 81, 74, -1, 134, 97, 102, 54, + 80, 56, 50, 134, 74, 102, 94, 39, -1, 114, + 80, 114, 135, 105, 137, 135, 105, 137, 114, -1, + -1, -1, 19, 55, -1, -1, 74, 105, 134, 109, + -1, -1, 80, -1, 7, 14, 134, 114, 114, 109, + 3, 114, 5, 16, -1, 77, 19, 102, -1, -1, + 134, -1, -1, 134, 7, 134, 160, 54, -1, 56, + -1, 109, 25, 16, 7, -1, 19, -1, -1, -1, + -1, -1, -1, 16, 47, -1, 19, -1, -1, -1, + -1, 54, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 54, -1, -1, 47, 102, -1, -1, -1, 52, + -1, 54, 75, -1, -1, -1, -1, 114, -1, -1, + -1, -1, -1, -1, -1, 98, -1, -1, -1, 102, + 103, -1, 95, 96, -1, -1, -1, 100, -1, -1, + -1, -1, 115, -1, -1, 98, -1, 110, -1, 102, + 103, -1, -1, -1, -1, 98, -1, -1, -1, 102, + 103, -1, 115, 136, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, -1, -1, 140, -1, -1, + -1, -1, -1, 136, -1, -1, -1, 160, -1, -1, + -1, -1, 145, 136, -1, -1, 7, -1, -1, -1, + -1, -1, 145, -1, 167, 16, -1, 160, 19, -1, + -1, -1, -1, -1, -1, -1, -1, 160, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 102, 103, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 160, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, -1, 11, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, -1, -1, 40, 41, 42, 43, -1, + -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, + -1, -1, 57, -1, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, -1, 143, 144, + -1, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, -1, 161, 162, 163, -1, + 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 9, -1, 11, 12, 13, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, -1, + -1, 40, 41, 42, 43, -1, -1, -1, -1, 48, + -1, -1, 51, -1, -1, -1, -1, -1, 57, -1, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, 143, 144, -1, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, -1, 161, 162, 163, -1, 165, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 9, -1, 11, 12, + 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, -1, -1, 40, 41, 42, + 43, -1, -1, -1, -1, 48, -1, -1, 51, 52, + -1, -1, -1, -1, 57, -1, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, 138, -1, -1, -1, -1, + 143, 144, -1, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, + 163, -1, 165, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 9, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, -1, -1, 40, 41, 42, 43, -1, -1, -1, + -1, 48, -1, -1, 51, 52, -1, -1, -1, -1, + 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, -1, -1, + -1, 138, -1, -1, -1, -1, 143, 144, -1, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, -1, 161, 162, 163, -1, 165, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 8, 9, + -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, -1, -1, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, + 40, 41, 42, 43, -1, -1, -1, -1, 48, -1, + -1, 51, 52, -1, -1, 55, -1, 57, -1, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, -1, -1, -1, -1, -1, -1, 79, + -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, -1, -1, -1, 99, + -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, 138, -1, + -1, -1, 142, 143, 144, -1, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + -1, 161, 162, 163, -1, 165, -1, -1, -1, 169, + 170, -1, -1, -1, -1, 8, 9, -1, 11, 12, + 13, -1, -1, -1, -1, -1, -1, -1, 21, 22, + -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, -1, -1, 40, 41, 42, + 43, -1, -1, -1, -1, 48, -1, -1, 51, 52, + -1, -1, 55, -1, 57, -1, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + -1, -1, -1, -1, -1, -1, 79, -1, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, -1, -1, -1, 99, -1, -1, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, 138, -1, -1, -1, 142, + 143, 144, -1, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, + 163, -1, 165, -1, -1, -1, 169, 170, -1, -1, + -1, -1, 8, 9, -1, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, -1, -1, 40, 41, 42, 43, -1, -1, + -1, -1, 48, -1, -1, 51, 52, -1, -1, 55, + -1, 57, -1, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, -1, -1, -1, + -1, -1, -1, 79, -1, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + -1, -1, -1, 99, -1, -1, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, -1, -1, 142, 143, 144, -1, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, -1, 161, 162, 163, -1, 165, + -1, -1, -1, 169, 170, -1, -1, -1, -1, 8, + 9, -1, 11, 12, 13, -1, -1, -1, -1, -1, + -1, -1, 21, 22, -1, -1, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, -1, + -1, 40, 41, 42, 43, -1, -1, -1, -1, 48, + -1, -1, 51, 52, -1, -1, 55, -1, 57, -1, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, -1, -1, -1, -1, -1, -1, + 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, + 99, -1, -1, -1, -1, -1, 105, -1, -1, -1, + -1, -1, -1, 112, -1, -1, -1, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, -1, -1, 142, 143, 144, -1, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, -1, 161, 162, 163, -1, 165, -1, -1, -1, + 169, 170, -1, -1, -1, -1, 8, 9, -1, 11, + 12, 13, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, -1, -1, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, -1, -1, 40, 41, + 42, 43, -1, -1, -1, -1, 48, -1, -1, 51, + 52, -1, -1, 55, -1, 57, -1, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, -1, -1, -1, -1, -1, -1, 79, -1, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, -1, -1, -1, 99, -1, -1, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + 112, -1, -1, -1, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, 138, -1, -1, -1, + 142, 143, 144, -1, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, + 162, 163, -1, 165, -1, -1, -1, 169, 170, -1, + -1, -1, -1, 8, 9, -1, 11, 12, 13, -1, + -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, -1, -1, 40, 41, 42, 43, -1, + -1, -1, -1, 48, -1, -1, 51, 52, -1, -1, + 55, -1, 57, -1, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, -1, -1, + -1, -1, -1, -1, 79, -1, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, + 105, -1, -1, -1, -1, -1, -1, 112, -1, -1, + -1, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, -1, -1, 138, -1, -1, -1, 142, 143, 144, + -1, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, -1, 161, 162, 163, -1, + 165, -1, -1, -1, 169, 170, -1, -1, -1, -1, + 8, 9, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, -1, -1, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, + 48, -1, -1, 51, 52, -1, -1, 55, -1, 57, + -1, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, -1, -1, -1, -1, -1, + -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, + -1, 99, -1, -1, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, -1, -1, -1, + 138, -1, -1, -1, 142, 143, 144, -1, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, -1, 161, 162, 163, -1, 165, -1, -1, + -1, 169, 170, -1, -1, -1, -1, 8, 9, -1, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + 21, 22, -1, -1, -1, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, -1, -1, 40, + 41, 42, 43, -1, -1, -1, -1, 48, -1, -1, + 51, 52, -1, -1, 55, -1, 57, -1, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, -1, -1, -1, -1, -1, -1, 79, -1, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, -1, -1, -1, 99, -1, + -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, 112, -1, -1, -1, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, -1, -1, 138, -1, -1, + -1, 142, 143, 144, -1, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, + 161, 162, 163, -1, 165, -1, -1, -1, 169, 170, + -1, -1, -1, -1, 7, -1, 9, -1, 11, 12, + 13, -1, -1, 16, -1, -1, 19, -1, -1, -1, + -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, -1, -1, 40, 41, 42, + 43, -1, -1, -1, 47, 48, -1, -1, 51, -1, + -1, 54, -1, -1, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, -1, -1, 98, -1, -1, -1, 102, + 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 136, -1, 138, -1, -1, -1, -1, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 7, -1, 9, -1, 11, 12, 13, -1, + -1, 16, -1, -1, 19, -1, -1, -1, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, -1, -1, 40, 41, 42, 43, -1, + -1, -1, 47, 48, -1, -1, 51, -1, -1, 54, + -1, -1, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + -1, -1, -1, -1, -1, -1, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, -1, -1, 98, -1, -1, -1, 102, 103, -1, + -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + -1, 136, -1, 138, -1, -1, -1, -1, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 7, -1, 9, -1, 11, 12, 13, -1, -1, 16, + -1, -1, 19, -1, -1, -1, -1, -1, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, -1, -1, 40, 41, 42, 43, -1, -1, -1, + 47, 48, -1, -1, 51, -1, -1, 54, -1, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + -1, 98, -1, -1, -1, 102, 103, -1, -1, -1, + -1, -1, -1, -1, 111, -1, -1, -1, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, + -1, 138, -1, -1, -1, -1, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, + 9, -1, 11, 12, 13, -1, -1, 16, -1, -1, + 19, -1, -1, -1, -1, -1, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, -1, + -1, 40, 41, 42, 43, -1, -1, -1, 47, 48, + -1, -1, 51, -1, -1, 54, -1, -1, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, -1, -1, 98, + -1, -1, -1, 102, 103, -1, -1, -1, -1, -1, + -1, -1, 111, -1, -1, -1, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, 136, -1, 138, + -1, -1, -1, -1, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 7, -1, 9, -1, + 11, 12, 13, -1, -1, 16, -1, -1, 19, -1, + -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, -1, -1, 40, + 41, 42, 43, -1, -1, -1, 47, 48, -1, -1, + 51, -1, -1, 54, -1, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, -1, -1, -1, -1, -1, -1, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, -1, -1, 98, -1, -1, + -1, 102, 103, -1, -1, 106, -1, -1, -1, -1, + -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, -1, 136, -1, 138, -1, -1, + -1, -1, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 7, 8, 9, -1, 11, 12, + 13, -1, -1, 16, -1, -1, 19, -1, 21, 22, + -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, -1, -1, 40, 41, 42, + 43, -1, -1, -1, 47, 48, -1, -1, 51, 52, + -1, 54, 55, -1, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, -1, -1, -1, -1, 79, -1, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, -1, -1, 98, 99, -1, -1, 102, + 103, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, 136, -1, 138, -1, -1, -1, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, -1, -1, -1, 169, 170, -1, -1, + -1, -1, 7, 8, 9, -1, 11, 12, 13, -1, + -1, 16, -1, -1, 19, -1, 21, 22, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, -1, -1, 40, 41, 42, 43, -1, + -1, -1, 47, 48, -1, -1, 51, 52, -1, 54, + 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + -1, -1, -1, -1, 79, -1, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, -1, -1, 98, 99, -1, -1, 102, 103, -1, + 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + -1, 136, -1, 138, -1, -1, -1, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, -1, -1, -1, 169, 170, -1, -1, -1, -1, + 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, + -1, -1, 19, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, -1, 40, 41, 42, 43, -1, -1, -1, + 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, -1, 76, + -1, -1, 79, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + -1, 98, 99, -1, -1, 102, 103, -1, 105, 106, + -1, 108, -1, -1, -1, -1, -1, -1, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, -1, 136, + -1, 138, -1, -1, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, 166, + -1, -1, 169, 170, -1, -1, -1, -1, 7, 8, + 9, 10, 11, 12, 13, -1, 15, 16, -1, -1, + 19, 20, 21, 22, 23, 24, -1, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + -1, 40, 41, 42, 43, -1, -1, -1, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, -1, 76, -1, -1, + 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, -1, -1, -1, 98, + 99, -1, -1, 102, 103, -1, 105, 106, -1, 108, + -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, -1, 136, -1, 138, + -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, -1, 165, 166, -1, -1, + 169, 170, -1, -1, -1, -1, 7, 8, 9, 10, + 11, 12, 13, -1, 15, 16, -1, -1, 19, 20, + 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, + 41, 42, 43, -1, -1, -1, 47, 48, 49, -1, + 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, -1, 76, -1, -1, 79, -1, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, -1, -1, 98, 99, -1, + -1, 102, 103, -1, 105, 106, -1, 108, -1, -1, + 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, -1, 136, -1, 138, -1, -1, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, 166, -1, -1, 169, 170, + -1, -1, -1, -1, 7, 8, 9, 10, 11, 12, + 13, -1, 15, 16, -1, -1, 19, 20, 21, 22, + 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, + 43, -1, -1, -1, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, -1, 76, -1, -1, 79, -1, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, -1, -1, -1, 98, 99, -1, -1, 102, + 103, -1, 105, 106, -1, 108, -1, -1, 111, -1, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, -1, 136, -1, 138, -1, -1, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + 163, -1, 165, 166, -1, -1, 169, 170, -1, -1, + -1, -1, 7, 8, 9, 10, 11, 12, 13, -1, + 15, 16, -1, -1, 19, 20, 21, 22, 23, 24, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, -1, 40, 41, 42, 43, -1, + -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, + 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + -1, 76, -1, -1, 79, -1, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + -1, -1, -1, 98, 99, -1, -1, 102, 103, -1, + 105, 106, -1, 108, -1, -1, 111, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + -1, 136, -1, 138, -1, -1, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, + 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, + -1, -1, 19, 20, 21, 22, 23, 24, -1, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, -1, 40, 41, 42, 43, -1, -1, -1, + 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, -1, 76, + -1, -1, 79, -1, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + -1, 98, 99, -1, -1, 102, 103, -1, 105, 106, + -1, 108, -1, -1, 111, -1, -1, -1, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, -1, 136, + -1, 138, -1, -1, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, -1, 165, 166, + -1, -1, 169, 170, -1, -1, -1, -1, - 14, 3, 12, 14, 55, 3, 15, 15, 3, 54, - 59, 15, 60, 3, 15, 15, 12, 3, 45, 8, - 55, 15, 3, 3, 41, 12, 14, 34, 12, 14, - 3, 14, 35, 12, 12, 73, 3, 55, 35, 15, - 12, 15, 12, 12, 12, 21, 20, -1, -1, 15, - 15, 15, 12, 17, 15, 20, 17, 14, 12, 15, - 15, 14, 28, 18, 15, 15, 14, 18, 14, 25, - 14, 3, -1, 15, 14, 14, 26, 49, 14, 49, - 49, 49, 24, -1, -1, -1, 15, 15, 51, 49, - 19, 19, 55, 15, 15, 49, 36, 19, 15, 15, - 14, 22, 15, 19, 14, 62, 23, 14, -1, 62, - 14, -1, 15, 14, 62, 28, 62, 30, 14, 14, - 64, 15, 36, 62, 15, 28, 62, 30, 14, 14, - 31, 32, 36, 15, 28, -1, 30, 28, 3, 30, - 36, 37, -1, -1, 58, 14, 28, -1, 30, 14, - 36, 61, 47, 14, 58, 65, -1, 64, 43, 3, - -1, 46, -1, -1, -1, 72, -1, 36, 37, -1, - 14, 36, 58, -1, -1, -1, 71, 42, -1, -1, - -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, 42, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 82, -1, -1}; + 12, 14, 3, 3, 3, 54, 15, 14, 55, 15, + 15, 15, 15, 59, 3, 60, 55, 12, 12, 3, + 3, 14, 41, 34, 15, 3, 8, 45, 14, 3, + 3, 12, 12, 35, 55, 73, 12, 14, 35, 14, + 12, -1, -1, 12, 15, 15, 17, 17, 12, 12, + 15, 12, -1, 15, -1, 15, 15, 15, 15, 21, + 20, 20, 19, 28, 15, 23, 15, 15, 14, 12, + 14, -1, 51, 3, 25, 24, 55, 49, 26, 14, + 49, 15, 15, 14, 18, 49, 49, 62, 49, 22, + 14, 14, 36, 15, 15, 15, 15, 19, 18, 15, + 19, 14, 14, 19, 14, 14, 49, 28, 14, 30, + 14, 14, -1, 15, 14, -1, -1, -1, 64, 14, + -1, 31, 32, 14, 14, -1, 28, 62, 30, 15, + -1, 62, 36, 36, 37, 47, 15, 43, 62, 62, + 46, 36, 28, 14, 30, 36, 36, 37, -1, 28, + -1, 30, 61, 15, 58, 14, 65, -1, 71, 71, + 31, 32, 3, 58, 64, -1, 28, 58, 30, -1, + -1, -1, 72, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, + -1, 42, -1, 62, -1, -1, 47, -1, -1, -1, + -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, + -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; QT_END_NAMESPACE diff --git a/src/libs/glsl/glslparsertable_p.h b/src/libs/glsl/glslparsertable_p.h index b046b5df7a..8abd115735 100644 --- a/src/libs/glsl/glslparsertable_p.h +++ b/src/libs/glsl/glslparsertable_p.h @@ -3,8 +3,9 @@ ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of Qt Creator. +** This file is part of the Qt Toolkit. ** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -21,6 +22,8 @@ ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** +** $QT_END_LICENSE$ +** ****************************************************************************/ // @@ -35,231 +38,234 @@ // // This file was generated by qlalr - DO NOT EDIT! -#pragma once +#ifndef GLSLPARSERTABLE_P_H +#define GLSLPARSERTABLE_P_H -#include +#include QT_BEGIN_NAMESPACE class GLSLParserTable { public: - enum VariousConstants { - EOF_SYMBOL = 0, - T_ADD_ASSIGN = 3, - T_AMPERSAND = 4, - T_AND_ASSIGN = 5, - T_AND_OP = 6, - T_ATTRIBUTE = 7, - T_BANG = 8, - T_BOOL = 9, - T_BREAK = 10, - T_BVEC2 = 11, - T_BVEC3 = 12, - T_BVEC4 = 13, - T_CARET = 14, - T_CASE = 15, - T_CENTROID = 16, - T_COLON = 17, - T_COMMA = 18, - T_COMMENT = 172, - T_CONST = 19, - T_CONTINUE = 20, - T_DASH = 21, - T_DEC_OP = 22, - T_DEFAULT = 23, - T_DISCARD = 24, - T_DIV_ASSIGN = 25, - T_DMAT2 = 26, - T_DMAT2X2 = 27, - T_DMAT2X3 = 28, - T_DMAT2X4 = 29, - T_DMAT3 = 30, - T_DMAT3X2 = 31, - T_DMAT3X3 = 32, - T_DMAT3X4 = 33, - T_DMAT4 = 34, - T_DMAT4X2 = 35, - T_DMAT4X3 = 36, - T_DMAT4X4 = 37, - T_DO = 38, - T_DOT = 39, - T_DOUBLE = 40, - T_DVEC2 = 41, - T_DVEC3 = 42, - T_DVEC4 = 43, - T_ELSE = 44, - T_EQUAL = 45, - T_EQ_OP = 46, - T_ERROR = 173, - T_FALSE = 170, - T_FEED_EXPRESSION = 2, - T_FEED_GLSL = 1, - T_FLAT = 47, - T_FLOAT = 48, - T_FOR = 49, - T_GE_OP = 50, - T_HIGHP = 51, - T_IDENTIFIER = 52, - T_IF = 53, - T_IN = 54, - T_INC_OP = 55, - T_INOUT = 56, - T_INT = 57, - T_INVARIANT = 58, - T_ISAMPLER1D = 59, - T_ISAMPLER1DARRAY = 60, - T_ISAMPLER2D = 61, - T_ISAMPLER2DARRAY = 62, - T_ISAMPLER2DMS = 63, - T_ISAMPLER2DMSARRAY = 64, - T_ISAMPLER2DRECT = 65, - T_ISAMPLER3D = 66, - T_ISAMPLERBUFFER = 67, - T_ISAMPLERCUBE = 68, - T_ISAMPLERCUBEARRAY = 69, - T_IVEC2 = 70, - T_IVEC3 = 71, - T_IVEC4 = 72, - T_LAYOUT = 73, - T_LEFT_ANGLE = 74, - T_LEFT_ASSIGN = 75, - T_LEFT_BRACE = 76, - T_LEFT_BRACKET = 77, - T_LEFT_OP = 78, - T_LEFT_PAREN = 79, - T_LE_OP = 80, - T_LOWP = 81, - T_MAT2 = 82, - T_MAT2X2 = 83, - T_MAT2X3 = 84, - T_MAT2X4 = 85, - T_MAT3 = 86, - T_MAT3X2 = 87, - T_MAT3X3 = 88, - T_MAT3X4 = 89, - T_MAT4 = 90, - T_MAT4X2 = 91, - T_MAT4X3 = 92, - T_MAT4X4 = 93, - T_MEDIUMP = 94, - T_MOD_ASSIGN = 95, - T_MUL_ASSIGN = 96, - T_NE_OP = 97, - T_NOPERSPECTIVE = 98, - T_NUMBER = 99, - T_OR_ASSIGN = 100, - T_OR_OP = 101, - T_OUT = 102, - T_PATCH = 103, - T_PERCENT = 104, - T_PLUS = 105, - T_PRECISION = 106, - T_PREPROC = 171, - T_QUESTION = 107, - T_RESERVED = 174, - T_RETURN = 108, - T_RIGHT_ANGLE = 109, - T_RIGHT_ASSIGN = 110, - T_RIGHT_BRACE = 111, - T_RIGHT_BRACKET = 112, - T_RIGHT_OP = 113, - T_RIGHT_PAREN = 114, - T_SAMPLE = 115, - T_SAMPLER1D = 116, - T_SAMPLER1DARRAY = 117, - T_SAMPLER1DARRAYSHADOW = 118, - T_SAMPLER1DSHADOW = 119, - T_SAMPLER2D = 120, - T_SAMPLER2DARRAY = 121, - T_SAMPLER2DARRAYSHADOW = 122, - T_SAMPLER2DMS = 123, - T_SAMPLER2DMSARRAY = 124, - T_SAMPLER2DRECT = 125, - T_SAMPLER2DRECTSHADOW = 126, - T_SAMPLER2DSHADOW = 127, - T_SAMPLER3D = 128, - T_SAMPLERBUFFER = 129, - T_SAMPLERCUBE = 130, - T_SAMPLERCUBEARRAY = 131, - T_SAMPLERCUBEARRAYSHADOW = 132, - T_SAMPLERCUBESHADOW = 133, - T_SEMICOLON = 134, - T_SLASH = 135, - T_SMOOTH = 136, - T_STAR = 137, - T_STRUCT = 138, - T_SUBROUTINE = 139, - T_SUB_ASSIGN = 140, - T_SWITCH = 141, - T_TILDE = 142, - T_TRUE = 169, - T_TYPE_NAME = 143, - T_UINT = 144, - T_UNIFORM = 145, - T_USAMPLER1D = 146, - T_USAMPLER1DARRAY = 147, - T_USAMPLER2D = 148, - T_USAMPLER2DARRAY = 149, - T_USAMPLER2DMS = 150, - T_USAMPLER2DMSARRAY = 151, - T_USAMPLER2DRECT = 152, - T_USAMPLER3D = 153, - T_USAMPLERBUFFER = 154, - T_USAMPLERCUBE = 155, - T_USAMPLERCUBEARRAY = 156, - T_UVEC2 = 157, - T_UVEC3 = 158, - T_UVEC4 = 159, - T_VARYING = 160, - T_VEC2 = 161, - T_VEC3 = 162, - T_VEC4 = 163, - T_VERTICAL_BAR = 164, - T_VOID = 165, - T_WHILE = 166, - T_XOR_ASSIGN = 167, - T_XOR_OP = 168, + enum VariousConstants { + EOF_SYMBOL = 0, + T_ADD_ASSIGN = 3, + T_AMPERSAND = 4, + T_AND_ASSIGN = 5, + T_AND_OP = 6, + T_ATTRIBUTE = 7, + T_BANG = 8, + T_BOOL = 9, + T_BREAK = 10, + T_BVEC2 = 11, + T_BVEC3 = 12, + T_BVEC4 = 13, + T_CARET = 14, + T_CASE = 15, + T_CENTROID = 16, + T_COLON = 17, + T_COMMA = 18, + T_COMMENT = 172, + T_CONST = 19, + T_CONTINUE = 20, + T_DASH = 21, + T_DEC_OP = 22, + T_DEFAULT = 23, + T_DISCARD = 24, + T_DIV_ASSIGN = 25, + T_DMAT2 = 26, + T_DMAT2X2 = 27, + T_DMAT2X3 = 28, + T_DMAT2X4 = 29, + T_DMAT3 = 30, + T_DMAT3X2 = 31, + T_DMAT3X3 = 32, + T_DMAT3X4 = 33, + T_DMAT4 = 34, + T_DMAT4X2 = 35, + T_DMAT4X3 = 36, + T_DMAT4X4 = 37, + T_DO = 38, + T_DOT = 39, + T_DOUBLE = 40, + T_DVEC2 = 41, + T_DVEC3 = 42, + T_DVEC4 = 43, + T_ELSE = 44, + T_EQUAL = 45, + T_EQ_OP = 46, + T_ERROR = 173, + T_FALSE = 170, + T_FEED_EXPRESSION = 2, + T_FEED_GLSL = 1, + T_FLAT = 47, + T_FLOAT = 48, + T_FOR = 49, + T_GE_OP = 50, + T_HIGHP = 51, + T_IDENTIFIER = 52, + T_IF = 53, + T_IN = 54, + T_INC_OP = 55, + T_INOUT = 56, + T_INT = 57, + T_INVARIANT = 58, + T_ISAMPLER1D = 59, + T_ISAMPLER1DARRAY = 60, + T_ISAMPLER2D = 61, + T_ISAMPLER2DARRAY = 62, + T_ISAMPLER2DMS = 63, + T_ISAMPLER2DMSARRAY = 64, + T_ISAMPLER2DRECT = 65, + T_ISAMPLER3D = 66, + T_ISAMPLERBUFFER = 67, + T_ISAMPLERCUBE = 68, + T_ISAMPLERCUBEARRAY = 69, + T_IVEC2 = 70, + T_IVEC3 = 71, + T_IVEC4 = 72, + T_LAYOUT = 73, + T_LEFT_ANGLE = 74, + T_LEFT_ASSIGN = 75, + T_LEFT_BRACE = 76, + T_LEFT_BRACKET = 77, + T_LEFT_OP = 78, + T_LEFT_PAREN = 79, + T_LE_OP = 80, + T_LOWP = 81, + T_MAT2 = 82, + T_MAT2X2 = 83, + T_MAT2X3 = 84, + T_MAT2X4 = 85, + T_MAT3 = 86, + T_MAT3X2 = 87, + T_MAT3X3 = 88, + T_MAT3X4 = 89, + T_MAT4 = 90, + T_MAT4X2 = 91, + T_MAT4X3 = 92, + T_MAT4X4 = 93, + T_MEDIUMP = 94, + T_MOD_ASSIGN = 95, + T_MUL_ASSIGN = 96, + T_NE_OP = 97, + T_NOPERSPECTIVE = 98, + T_NUMBER = 99, + T_OR_ASSIGN = 100, + T_OR_OP = 101, + T_OUT = 102, + T_PATCH = 103, + T_PERCENT = 104, + T_PLUS = 105, + T_PRECISION = 106, + T_PREPROC = 171, + T_QUESTION = 107, + T_RESERVED = 174, + T_RETURN = 108, + T_RIGHT_ANGLE = 109, + T_RIGHT_ASSIGN = 110, + T_RIGHT_BRACE = 111, + T_RIGHT_BRACKET = 112, + T_RIGHT_OP = 113, + T_RIGHT_PAREN = 114, + T_SAMPLE = 115, + T_SAMPLER1D = 116, + T_SAMPLER1DARRAY = 117, + T_SAMPLER1DARRAYSHADOW = 118, + T_SAMPLER1DSHADOW = 119, + T_SAMPLER2D = 120, + T_SAMPLER2DARRAY = 121, + T_SAMPLER2DARRAYSHADOW = 122, + T_SAMPLER2DMS = 123, + T_SAMPLER2DMSARRAY = 124, + T_SAMPLER2DRECT = 125, + T_SAMPLER2DRECTSHADOW = 126, + T_SAMPLER2DSHADOW = 127, + T_SAMPLER3D = 128, + T_SAMPLERBUFFER = 129, + T_SAMPLERCUBE = 130, + T_SAMPLERCUBEARRAY = 131, + T_SAMPLERCUBEARRAYSHADOW = 132, + T_SAMPLERCUBESHADOW = 133, + T_SEMICOLON = 134, + T_SLASH = 135, + T_SMOOTH = 136, + T_STAR = 137, + T_STRUCT = 138, + T_SUBROUTINE = 139, + T_SUB_ASSIGN = 140, + T_SWITCH = 141, + T_TILDE = 142, + T_TRUE = 169, + T_TYPE_NAME = 143, + T_UINT = 144, + T_UNIFORM = 145, + T_USAMPLER1D = 146, + T_USAMPLER1DARRAY = 147, + T_USAMPLER2D = 148, + T_USAMPLER2DARRAY = 149, + T_USAMPLER2DMS = 150, + T_USAMPLER2DMSARRAY = 151, + T_USAMPLER2DRECT = 152, + T_USAMPLER3D = 153, + T_USAMPLERBUFFER = 154, + T_USAMPLERCUBE = 155, + T_USAMPLERCUBEARRAY = 156, + T_UVEC2 = 157, + T_UVEC3 = 158, + T_UVEC4 = 159, + T_VARYING = 160, + T_VEC2 = 161, + T_VEC3 = 162, + T_VEC4 = 163, + T_VERTICAL_BAR = 164, + T_VOID = 165, + T_WHILE = 166, + T_XOR_ASSIGN = 167, + T_XOR_OP = 168, - ACCEPT_STATE = 462, - RULE_COUNT = 316, - STATE_COUNT = 463, - TERMINAL_COUNT = 175, - NON_TERMINAL_COUNT = 85, + ACCEPT_STATE = 462, + RULE_COUNT = 316, + STATE_COUNT = 463, + TERMINAL_COUNT = 175, + NON_TERMINAL_COUNT = 85, - GOTO_INDEX_OFFSET = 463, - GOTO_INFO_OFFSET = 4681, - GOTO_CHECK_OFFSET = 4681 - }; + GOTO_INDEX_OFFSET = 463, + GOTO_INFO_OFFSET = 4708, + GOTO_CHECK_OFFSET = 4708 + }; - static const char *const spell []; - static const short lhs []; - static const short rhs []; - static const short goto_default []; - static const short action_default []; - static const short action_index []; - static const short action_info []; - static const short action_check []; + static const char *const spell[]; + static const short lhs[]; + static const short rhs[]; + static const short goto_default[]; + static const short action_default[]; + static const short action_index[]; + static const short action_info[]; + static const short action_check[]; - static inline int nt_action (int state, int nt) - { - const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt; - if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt) - return goto_default [nt]; + static inline int nt_action (int state, int nt) + { + const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt; + if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt) + return goto_default [nt]; - return action_info [GOTO_INFO_OFFSET + yyn]; - } + return action_info [GOTO_INFO_OFFSET + yyn]; + } - static inline int t_action (int state, int token) - { - const int yyn = action_index [state] + token; + static inline int t_action (int state, int token) + { + const int yyn = action_index [state] + token; - if (yyn < 0 || action_check [yyn] != token) - return - action_default [state]; + if (yyn < 0 || action_check [yyn] != token) + return - action_default [state]; - return action_info [yyn]; - } + return action_info [yyn]; + } }; QT_END_NAMESPACE +#endif // GLSLPARSERTABLE_P_H + -- cgit v1.2.1