Changeset a7c90d4
- Timestamp:
- Mar 7, 2017, 8:33:43 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 64cb860, c3396e0
- Parents:
- 7fe2498
- Location:
- src
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:18:47201713 // Update Count : 4 6512 // Last Modified On : Sun Mar 5 17:13:33 2017 13 // Update Count : 475 14 14 // 15 15 … … 895 895 896 896 void CodeGenerator::handleStorageClass( DeclarationWithType * decl ) { 897 switch ( decl->get_storageClass() ) { 898 //output << DeclarationNode::storageClassNames[decl->get_storageClass()] << ' '; 899 case DeclarationNode::Extern: 900 output << "extern "; 901 break; 902 case DeclarationNode::Static: 903 output << "static "; 904 break; 905 case DeclarationNode::Auto: 906 // silently drop storage class 907 break; 908 case DeclarationNode::Register: 909 output << "register "; 910 break; 911 case DeclarationNode::Threadlocal: 912 output << "_Thread_local "; 913 break; 914 case DeclarationNode::NoStorageClass: 915 break; 916 default: 917 assert( false ); 918 } // switch 897 if ( decl->get_storageClasses().any() ) { 898 DeclarationNode::print_StorageClass( output, decl->get_storageClasses() ); 899 } // if 919 900 } // CodeGenerator::handleStorageClass 920 901 -
src/CodeGen/FixNames.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:52:17201713 // Update Count : 612 // Last Modified On : Mon Mar 6 23:32:08 2017 13 // Update Count : 15 14 14 // 15 15 … … 39 39 std::string mangle_main() { 40 40 FunctionType* main_type; 41 std::unique_ptr<FunctionDecl> mainDecl { new FunctionDecl( 42 "main", 43 DeclarationNode::NoStorageClass, 44 LinkageSpec::Cforall, 45 main_type = new FunctionType( Type::Qualifiers(), true ), 46 nullptr 47 ) }; 41 std::unique_ptr<FunctionDecl> mainDecl { new FunctionDecl( "main", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 42 main_type = new FunctionType( Type::Qualifiers(), true ), nullptr ) 43 }; 48 44 main_type->get_returnVals().push_back( 49 new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr )45 new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) 50 46 ); 51 47 … … 56 52 std::string mangle_main_args() { 57 53 FunctionType* main_type; 58 std::unique_ptr<FunctionDecl> mainDecl { new FunctionDecl( 59 "main", 60 DeclarationNode::NoStorageClass, 61 LinkageSpec::Cforall, 62 main_type = new FunctionType( Type::Qualifiers(), false ), 63 nullptr 64 ) }; 54 std::unique_ptr<FunctionDecl> mainDecl { new FunctionDecl( "main", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 55 main_type = new FunctionType( Type::Qualifiers(), false ), nullptr ) 56 }; 65 57 main_type->get_returnVals().push_back( 66 new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr )58 new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) 67 59 ); 68 60 69 61 mainDecl->get_functionType()->get_parameters().push_back( 70 new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr )62 new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) 71 63 ); 72 64 73 65 mainDecl->get_functionType()->get_parameters().push_back( 74 new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0,66 new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, 75 67 new PointerType( Type::Qualifiers(), new PointerType( Type::Qualifiers(), new BasicType( Type::Qualifiers(), BasicType::Char ) ) ), 76 68 nullptr ) -
src/GenPoly/Box.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:57:15201713 // Update Count : 3 1012 // Last Modified On : Mon Mar 6 23:45:59 2017 13 // Update Count : 330 14 14 // 15 15 … … 289 289 TypeInstType paramType( Type::Qualifiers(), (*param)->get_name(), *param ); 290 290 std::string paramName = mangleType( ¶mType ); 291 layoutFnType->get_parameters().push_back( new ObjectDecl( sizeofName( paramName ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignType.clone(), 0 ) );292 layoutFnType->get_parameters().push_back( new ObjectDecl( alignofName( paramName ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignType.clone(), 0 ) );291 layoutFnType->get_parameters().push_back( new ObjectDecl( sizeofName( paramName ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignType.clone(), 0 ) ); 292 layoutFnType->get_parameters().push_back( new ObjectDecl( alignofName( paramName ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignType.clone(), 0 ) ); 293 293 } 294 294 } … … 298 298 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 299 299 // because each unit generates copies of the default routines for each aggregate. 300 FunctionDecl *layoutDecl = new FunctionDecl( 301 layoutofName( typeDecl ), functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, layoutFnType, new CompoundStmt( noLabels ), 302 std::list< Attribute * >(), DeclarationNode::FuncSpec( DeclarationNode::InlineSpec ) ); 300 FunctionDecl *layoutDecl = new FunctionDecl( layoutofName( typeDecl ), 301 functionNesting > 0 ? DeclarationNode::StorageClasses() : DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), 302 LinkageSpec::AutoGen, layoutFnType, new CompoundStmt( noLabels ), 303 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ); 303 304 layoutDecl->fixUniqueId(); 304 305 return layoutDecl; … … 367 368 PointerType *sizeAlignOutType = new PointerType( Type::Qualifiers(), sizeAlignType ); 368 369 369 ObjectDecl *sizeParam = new ObjectDecl( sizeofName( structDecl->get_name() ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignOutType, 0 );370 ObjectDecl *sizeParam = new ObjectDecl( sizeofName( structDecl->get_name() ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignOutType, 0 ); 370 371 layoutFnType->get_parameters().push_back( sizeParam ); 371 ObjectDecl *alignParam = new ObjectDecl( alignofName( structDecl->get_name() ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 );372 ObjectDecl *alignParam = new ObjectDecl( alignofName( structDecl->get_name() ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 ); 372 373 layoutFnType->get_parameters().push_back( alignParam ); 373 ObjectDecl *offsetParam = new ObjectDecl( offsetofName( structDecl->get_name() ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 );374 ObjectDecl *offsetParam = new ObjectDecl( offsetofName( structDecl->get_name() ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 ); 374 375 layoutFnType->get_parameters().push_back( offsetParam ); 375 376 addOtypeParams( layoutFnType, otypeParams ); … … 428 429 PointerType *sizeAlignOutType = new PointerType( Type::Qualifiers(), sizeAlignType ); 429 430 430 ObjectDecl *sizeParam = new ObjectDecl( sizeofName( unionDecl->get_name() ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignOutType, 0 );431 ObjectDecl *sizeParam = new ObjectDecl( sizeofName( unionDecl->get_name() ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignOutType, 0 ); 431 432 layoutFnType->get_parameters().push_back( sizeParam ); 432 ObjectDecl *alignParam = new ObjectDecl( alignofName( unionDecl->get_name() ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 );433 ObjectDecl *alignParam = new ObjectDecl( alignofName( unionDecl->get_name() ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, sizeAlignOutType->clone(), 0 ); 433 434 layoutFnType->get_parameters().push_back( alignParam ); 434 435 addOtypeParams( layoutFnType, otypeParams ); … … 536 537 if ( adapters.find( mangleName ) == adapters.end() ) { 537 538 std::string adapterName = makeAdapterName( mangleName ); 538 adapters.insert( std::pair< std::string, DeclarationWithType *>( mangleName, new ObjectDecl( adapterName, DeclarationNode:: NoStorageClass, LinkageSpec::C, nullptr, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), nullptr ) ) );539 adapters.insert( std::pair< std::string, DeclarationWithType *>( mangleName, new ObjectDecl( adapterName, DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), nullptr ) ) ); 539 540 } // if 540 541 } // for … … 655 656 656 657 ObjectDecl *Pass1::makeTemporary( Type *type ) { 657 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, type, 0 );658 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, type, 0 ); 658 659 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 659 660 return newObj; … … 764 765 Type * newType = param->clone(); 765 766 if ( env ) env->apply( newType ); 766 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, newType, 0 );767 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, newType, 0 ); 767 768 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); // TODO: is this right??? 768 769 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); … … 830 831 makeRetParm( adapter ); 831 832 } // if 832 adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );833 adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) ); 833 834 return adapter; 834 835 } … … 911 912 adapterBody->get_kids().push_back( bodyStmt ); 912 913 std::string adapterName = makeAdapterName( mangleName ); 913 return new FunctionDecl( adapterName, DeclarationNode:: NoStorageClass, LinkageSpec::C, adapterType, adapterBody );914 return new FunctionDecl( adapterName, DeclarationNode::StorageClasses(), LinkageSpec::C, adapterType, adapterBody ); 914 915 } 915 916 … … 1272 1273 if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) { 1273 1274 std::string adapterName = makeAdapterName( mangleName ); 1274 paramList.push_front( new ObjectDecl( adapterName, DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );1275 paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::StorageClasses(), LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) ); 1275 1276 adaptersDone.insert( adaptersDone.begin(), mangleName ); 1276 1277 } … … 1378 1379 std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin(); 1379 1380 std::list< DeclarationWithType *> inferredParams; 1380 ObjectDecl newObj( "", DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );1381 ObjectDecl newPtr( "", DeclarationNode:: NoStorageClass, LinkageSpec::C, 0,1381 ObjectDecl newObj( "", DeclarationNode::StorageClasses(), LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 ); 1382 ObjectDecl newPtr( "", DeclarationNode::StorageClasses(), LinkageSpec::C, 0, 1382 1383 new PointerType( Type::Qualifiers(), new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ) ), 0 ); 1383 1384 for ( Type::ForallList::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) { … … 1633 1634 1634 1635 ObjectDecl *PolyGenericCalculator::makeVar( const std::string &name, Type *type, Initializer *init ) { 1635 ObjectDecl *newObj = new ObjectDecl( name, DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, type, init );1636 ObjectDecl *newObj = new ObjectDecl( name, DeclarationNode::StorageClasses(), LinkageSpec::C, 0, type, init ); 1636 1637 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 1637 1638 return newObj; … … 1817 1818 memberDecl = origMember->clone(); 1818 1819 } else { 1819 memberDecl = new ObjectDecl( (*member)->get_name(), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, offsetType->clone(), 0 );1820 memberDecl = new ObjectDecl( (*member)->get_name(), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, offsetType->clone(), 0 ); 1820 1821 } 1821 1822 inits.push_back( new SingleInit( new OffsetofExpr( ty->clone(), memberDecl ) ) ); -
src/GenPoly/Specialize.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:54:45201713 // Update Count : 2812 // Last Modified On : Mon Mar 6 23:13:00 2017 13 // Update Count : 30 14 14 // 15 15 … … 155 155 } // if 156 156 // create new thunk with same signature as formal type (C linkage, empty body) 157 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( noLabels ) );157 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, newType, new CompoundStmt( noLabels ) ); 158 158 thunkFunc->fixUniqueId(); 159 159 -
src/InitTweak/FixGlobalInit.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 04 15:14:56 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:55:33201713 // Update Count : 912 // Last Modified On : Mon Mar 6 23:14:19 2017 13 // Update Count : 14 14 14 // 15 15 … … 87 87 dtorParameters.push_back( new ConstantExpr( Constant::from_int( 102 ) ) ); 88 88 } 89 initFunction = new FunctionDecl( "_init_" + fixedName, DeclarationNode::St atic, LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) );89 initFunction = new FunctionDecl( "_init_" + fixedName, DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) ); 90 90 initFunction->get_attributes().push_back( new Attribute( "constructor", ctorParameters ) ); 91 destroyFunction = new FunctionDecl( "_destroy_" + fixedName, DeclarationNode::St atic, LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) );91 destroyFunction = new FunctionDecl( "_destroy_" + fixedName, DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) ); 92 92 destroyFunction->get_attributes().push_back( new Attribute( "destructor", dtorParameters ) ); 93 93 } -
src/InitTweak/FixInit.cc
r7fe2498 ra7c90d4 10 10 // Created On : Wed Jan 13 16:29:30 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:56:11201713 // Update Count : 3912 // Last Modified On : Tue Mar 7 07:51:40 2017 13 // Update Count : 59 14 14 // 15 15 … … 437 437 result = result->clone(); 438 438 env->apply( result ); 439 ObjectDecl * tmp = new ObjectDecl( tempNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, result, 0 );439 ObjectDecl * tmp = new ObjectDecl( tempNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, result, 0 ); 440 440 tmp->get_type()->set_isConst( false ); 441 441 … … 483 483 result = result->clone(); 484 484 env->apply( result ); 485 ObjectDecl * ret = new ObjectDecl( retNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, result, 0 );485 ObjectDecl * ret = new ObjectDecl( retNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, result, 0 ); 486 486 ret->get_type()->set_isConst( false ); 487 487 impCpCtorExpr->get_returnDecls().push_back( ret ); … … 506 506 result = result->clone(); 507 507 env->apply( result ); 508 ObjectDecl * ret = new ObjectDecl( retNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, result, 0 );508 ObjectDecl * ret = new ObjectDecl( retNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, result, 0 ); 509 509 ret->get_type()->set_isConst( false ); 510 510 stmtExpr->get_returnDecls().push_front( ret ); … … 538 538 } else { 539 539 // expr isn't a call expr, so create a new temporary variable to use to hold the value of the unique expression 540 unqExpr->set_object( new ObjectDecl( toString("_unq_expr_", unqExpr->get_id()), DeclarationNode:: NoStorageClass, LinkageSpec::C, nullptr, unqExpr->get_result()->clone(), nullptr ) );540 unqExpr->set_object( new ObjectDecl( toString("_unq_expr_", unqExpr->get_id()), DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, unqExpr->get_result()->clone(), nullptr ) ); 541 541 unqExpr->set_var( new VariableExpr( unqExpr->get_object() ) ); 542 542 } … … 678 678 assert( ! ctorInit->get_ctor() || ! ctorInit->get_init() ); 679 679 if ( Statement * ctor = ctorInit->get_ctor() ) { 680 if ( objDecl->get_storageClass () == DeclarationNode::Static) {680 if ( objDecl->get_storageClasses()[ DeclarationNode::Static ] ) { 681 681 // originally wanted to take advantage of gcc nested functions, but 682 682 // we get memory errors with this approach. To remedy this, the static … … 704 704 BasicType * boolType = new BasicType( Type::Qualifiers(), BasicType::Bool ); 705 705 SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant( boolType->clone(), "1" ) ), noDesignators ); 706 ObjectDecl * isUninitializedVar = new ObjectDecl( objDecl->get_mangleName() + "_uninitialized", DeclarationNode::St atic, LinkageSpec::Cforall, 0, boolType, boolInitExpr );706 ObjectDecl * isUninitializedVar = new ObjectDecl( objDecl->get_mangleName() + "_uninitialized", DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), LinkageSpec::Cforall, 0, boolType, boolInitExpr ); 707 707 isUninitializedVar->fixUniqueId(); 708 708 … … 731 731 732 732 // void __objName_dtor_atexitN(...) {...} 733 FunctionDecl * dtorCaller = new FunctionDecl( objDecl->get_mangleName() + dtorCallerNamer.newName(), DeclarationNode::St atic, LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) );733 FunctionDecl * dtorCaller = new FunctionDecl( objDecl->get_mangleName() + dtorCallerNamer.newName(), DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ) ); 734 734 dtorCaller->fixUniqueId(); 735 735 dtorCaller->get_statements()->push_back( dtorStmt ); … … 764 764 // create a new object which is never used 765 765 static UniqueName dummyNamer( "_dummy" ); 766 ObjectDecl * dummy = new ObjectDecl( dummyNamer.newName(), DeclarationNode::St atic, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ), 0, std::list< Attribute * >{ new Attribute("unused") } );766 ObjectDecl * dummy = new ObjectDecl( dummyNamer.newName(), DeclarationNode::StorageClasses( DeclarationNode::StaticClass ), LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new VoidType( Type::Qualifiers() ) ), 0, std::list< Attribute * >{ new Attribute("unused") } ); 767 767 return dummy; 768 768 } … … 821 821 void InsertDtors::visit( ObjectDecl * objDecl ) { 822 822 // remember non-static destructed objects so that their destructors can be inserted later 823 if ( objDecl->get_storageClass() != DeclarationNode::Static) {823 if ( ! objDecl->get_storageClasses()[ DeclarationNode::Static ] ) { 824 824 if ( ConstructorInit * ctorInit = dynamic_cast< ConstructorInit * >( objDecl->get_init() ) ) { 825 825 // a decision should have been made by the resolver, so ctor and init are not both non-NULL … … 1118 1118 1119 1119 // xxx - ideally we would reuse the temporary generated from the copy constructor passes from within firstArg if it exists and not generate a temporary if it's unnecessary. 1120 ObjectDecl * tmp = new ObjectDecl( tempNamer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, nullptr, ctorExpr->get_result()->clone(), nullptr );1120 ObjectDecl * tmp = new ObjectDecl( tempNamer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, ctorExpr->get_result()->clone(), nullptr ); 1121 1121 addDeclaration( tmp ); 1122 1122 -
src/InitTweak/GenInit.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Feb 16 14:57:53201713 // Update Count : 1 6712 // Last Modified On : Tue Mar 7 07:51:38 2017 13 // Update Count : 179 14 14 // 15 15 … … 120 120 void hoist( Type * type ); 121 121 122 DeclarationNode::StorageClass storageclass = DeclarationNode::NoStorageClass;122 DeclarationNode::StorageClasses storageClasses; 123 123 bool inFunction = false; 124 124 }; … … 174 174 175 175 DeclarationWithType * HoistArrayDimension::mutate( ObjectDecl * objectDecl ) { 176 storage class = objectDecl->get_storageClass();176 storageClasses = objectDecl->get_storageClasses(); 177 177 DeclarationWithType * temp = Parent::mutate( objectDecl ); 178 178 hoist( objectDecl->get_type() ); 179 storageclass = DeclarationNode::NoStorageClass;180 179 return temp; 181 180 } … … 185 184 static UniqueName dimensionName( "_array_dim" ); 186 185 187 // C doesn't allow variable sized arrays at global scope or for static variables, 188 // so don't hoist dimension. 186 // C doesn't allow variable sized arrays at global scope or for static variables, so don't hoist dimension. 189 187 if ( ! inFunction ) return; 190 if ( storage class == DeclarationNode::Static) return;188 if ( storageClasses[ DeclarationNode::StaticClass] ) return; 191 189 192 190 if ( ArrayType * arrayType = dynamic_cast< ArrayType * >( type ) ) { 193 191 if ( ! arrayType->get_dimension() ) return; // xxx - recursive call to hoist? 194 192 195 // don't need to hoist dimension if it's a constexpr - only need to if there's potential 196 // for side effects. 193 // don't need to hoist dimension if it's a constexpr - only need to if there's potential for side effects. 197 194 if ( isConstExpr( arrayType->get_dimension() ) ) return; 198 195 199 ObjectDecl * arrayDimension = new ObjectDecl( dimensionName.newName(), storage class, LinkageSpec::C, 0, SymTab::SizeType->clone(), new SingleInit( arrayType->get_dimension() ) );196 ObjectDecl * arrayDimension = new ObjectDecl( dimensionName.newName(), storageClasses, LinkageSpec::C, 0, SymTab::SizeType->clone(), new SingleInit( arrayType->get_dimension() ) ); 200 197 arrayDimension->get_type()->set_isConst( true ); 201 198 -
src/InitTweak/InitTweak.cc
r7fe2498 ra7c90d4 260 260 (objDecl->get_init() == NULL || 261 261 ( objDecl->get_init() != NULL && objDecl->get_init()->get_maybeConstructed() )) 262 && objDecl->get_storageClass() != DeclarationNode::Extern;262 && ! objDecl->get_storageClasses()[ DeclarationNode::Extern ]; 263 263 } 264 264 -
src/Parser/DeclarationNode.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:38:34201713 // Update Count : 86212 // Last Modified On : Tue Mar 7 08:02:09 2017 13 // Update Count : 936 14 14 // 15 15 … … 19 19 #include <algorithm> 20 20 #include <cassert> 21 #include <strings.h> // ffs 21 22 22 23 #include "TypeData.h" … … 32 33 33 34 // These must remain in the same order as the corresponding DeclarationNode enumerations. 34 const char * DeclarationNode::storageClassNames[] = { "extern", "static", "auto", "register", "_Thread_local", " inline", "fortran", "_Noreturn", "NoStorageClassNames" };35 const char * DeclarationNode::storageClassNames[] = { "extern", "static", "auto", "register", "_Thread_local", "NoStorageClassNames" }; 35 36 const char * DeclarationNode::funcSpecifierNames[] = { "inline", "fortran", "_Noreturn", "NoFunctionSpecifierNames" }; 36 const char * DeclarationNode::typeQualifierNames[] = { "const", "restrict", "volatile", "lvalue", " _Atomic", "NoTypeQualifierNames" };37 const char * DeclarationNode::typeQualifierNames[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic", "NoTypeQualifierNames" }; 37 38 const char * DeclarationNode::basicTypeNames[] = { "void", "_Bool", "char", "int", "float", "double", "long double", "NoBasicTypeNames" }; 38 39 const char * DeclarationNode::complexTypeNames[] = { "_Complex", "_Imaginary", "NoComplexTypeNames" }; … … 49 50 DeclarationNode::DeclarationNode() : 50 51 type( nullptr ), 51 storageClass( NoStorageClass ),52 52 bitfieldWidth( nullptr ), 53 53 hasEllipsis( false ), … … 89 89 90 90 newnode->type = maybeClone( type ); 91 newnode->storageClass = storageClass;91 newnode->storageClasses = storageClasses; 92 92 newnode->bitfieldWidth = maybeClone( bitfieldWidth ); 93 newnode->funcSpec = funcSpec;93 newnode->funcSpecs = funcSpecs; 94 94 newnode->enumeratorValue.reset( maybeClone( enumeratorValue.get() ) ); 95 95 newnode->hasEllipsis = hasEllipsis; … … 116 116 } 117 117 118 void DeclarationNode::print_FuncSpec( std::ostream & output, DeclarationNode::FuncSpec funcSpec ) { 118 void DeclarationNode::print_StorageClass( std::ostream & output, StorageClasses storageClasses ) { 119 if ( storageClasses.any() ) { // function specifiers? 120 for ( unsigned int i = 0; i < DeclarationNode::NoStorageClass; i += 1 ) { 121 if ( storageClasses[i] ) { 122 output << DeclarationNode::storageClassNames[i] << ' '; 123 } // if 124 } // for 125 } // if 126 } // print_StorageClass 127 128 void DeclarationNode::print_FuncSpec( std::ostream & output, DeclarationNode::FuncSpecifiers funcSpec ) { 119 129 if ( funcSpec.any() ) { // function specifiers? 120 130 for ( unsigned int i = 0; i < DeclarationNode::NoFuncSpecifier; i += 1 ) { … … 138 148 } // if 139 149 140 if ( storageClass != NoStorageClass ) os << DeclarationNode::storageClassNames[storageClass] << ' ';141 print_FuncSpec( os, funcSpec );150 print_StorageClass( os, storageClasses ); 151 print_FuncSpec( os, funcSpecs ); 142 152 143 153 if ( type ) { … … 194 204 DeclarationNode * DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) { 195 205 DeclarationNode * newnode = new DeclarationNode; 196 newnode->storageClass = sc;206 newnode->storageClasses[ sc ] = true; 197 207 return newnode; 198 208 } // DeclarationNode::newStorageClass … … 200 210 DeclarationNode * DeclarationNode::newFuncSpecifier( DeclarationNode::FuncSpecifier fs ) { 201 211 DeclarationNode * newnode = new DeclarationNode; 202 newnode->funcSpec [ fs ] = true;212 newnode->funcSpecs[ fs ] = true; 203 213 return newnode; 204 214 } // DeclarationNode::newFuncSpecifier … … 443 453 444 454 void DeclarationNode::checkQualifiers( const TypeData * src, const TypeData * dst ) { 445 const TypeData::TypeQualifiers &qsrc = src->typeQualifiers, &qdst = dst->typeQualifiers; // optimization446 447 if ( (qsrc & qdst).any() ) { 455 const TypeData::TypeQualifiers qsrc = src->typeQualifiers, qdst = dst->typeQualifiers; // optimization 456 457 if ( (qsrc & qdst).any() ) { // common qualifier ? 448 458 for ( unsigned int i = 0; i < NoTypeQualifier; i += 1 ) { // find common qualifiers 449 459 if ( qsrc[i] && qdst[i] ) { … … 451 461 } // if 452 462 } // for 453 } // if463 } // for 454 464 } // DeclarationNode::checkQualifiers 455 465 456 void DeclarationNode::checkStorageClasses( DeclarationNode * q ) { 457 const FuncSpec &src = funcSpec, &dst = q->funcSpec; // optimization 458 if ( (src & dst).any() ) { // common specifier ? 466 void DeclarationNode::checkSpecifiers( DeclarationNode * src ) { 467 if ( (funcSpecs & src->funcSpecs).any() ) { // common specifier ? 459 468 for ( unsigned int i = 0; i < NoFuncSpecifier; i += 1 ) { // find common specifier 460 if ( src[i] && dst[i] ) {469 if ( funcSpecs[i] && src->funcSpecs[i] ) { 461 470 appendError( error, string( "duplicate " ) + DeclarationNode::funcSpecifierNames[i] ); 462 471 } // if … … 464 473 } // if 465 474 466 if ( storageClass != NoStorageClass && q->storageClass != NoStorageClass ) { 467 if ( storageClass == q->storageClass ) { // duplicate qualifier 468 appendError( error, string( "duplicate " ) + storageClassNames[ storageClass ] ); 469 } else { // only one storage class 470 appendError( error, string( "conflicting " ) + storageClassNames[ storageClass ] + " & " + storageClassNames[ q->storageClass ] ); 471 q->storageClass = storageClass; // FIX ERROR, prevent assertions from triggering 472 } // if 473 } // if 474 475 appendError( error, q->error ); 476 } // DeclarationNode::checkStorageClasses 477 478 DeclarationNode * DeclarationNode::copyStorageClasses( DeclarationNode * q ) { 479 funcSpec = funcSpec | q->funcSpec; 480 481 // do not overwrite an existing value with NoStorageClass 482 if ( q->storageClass != NoStorageClass ) { 483 assert( storageClass == NoStorageClass || storageClass == q->storageClass ); 484 storageClass = q->storageClass; 485 } // if 475 if ( storageClasses != 0 && src->storageClasses != 0 ) { // any reason to check ? 476 if ( (storageClasses & src->storageClasses).any() ) { // duplicates ? 477 for ( unsigned int i = 0; i < NoStorageClass; i += 1 ) { // find duplicates 478 if ( storageClasses[i] && src->storageClasses[i] ) { 479 appendError( error, string( "duplicate " ) + storageClassNames[i] ); 480 } // if 481 } // for 482 // src is the new item being added and has a single bit 483 } else if ( ! src->storageClasses[ Threadlocal ] ) { // conflict ? 484 appendError( error, string( "conflicting " ) + storageClassNames[ffs( storageClasses.to_ulong() ) - 1] + 485 " & " + storageClassNames[ffs( src->storageClasses.to_ulong() ) - 1] ); 486 src->storageClasses.reset(); // FIX to preserve invariant of one basic storage specifier 487 } // if 488 } // if 489 490 appendError( error, src->error ); 491 } // DeclarationNode::checkSpecifiers 492 493 DeclarationNode * DeclarationNode::copySpecifiers( DeclarationNode * q ) { 494 funcSpecs = funcSpecs | q->funcSpecs; 495 storageClasses = storageClasses | q->storageClasses; 486 496 487 497 for ( Attribute *attr: reverseIterate( q->attributes ) ) { … … 489 499 } // for 490 500 return this; 491 } // DeclarationNode::copyS torageClasses501 } // DeclarationNode::copySpecifiers 492 502 493 503 static void addQualifiersToType( TypeData *&src, TypeData * dst ) { … … 513 523 if ( ! q ) { delete q; return this; } 514 524 515 checkS torageClasses( q );516 copyS torageClasses( q );525 checkSpecifiers( q ); 526 copySpecifiers( q ); 517 527 518 528 if ( ! q->type ) { … … 543 553 } // if 544 554 545 checkQualifiers( q->type,type );555 checkQualifiers( type, q->type ); 546 556 addQualifiersToType( q->type, type ); 547 557 … … 624 634 DeclarationNode * DeclarationNode::addType( DeclarationNode * o ) { 625 635 if ( o ) { 626 checkS torageClasses( o );627 copyS torageClasses( o );636 checkSpecifiers( o ); 637 copySpecifiers( o ); 628 638 if ( o->type ) { 629 639 if ( ! type ) { … … 879 889 DeclarationNode * newnode = new DeclarationNode; 880 890 newnode->type = maybeClone( type ); 881 assert( storageClass == NoStorageClass ); 882 newnode->copyStorageClasses( this ); 891 newnode->copySpecifiers( this ); 883 892 assert( newName ); 884 893 newnode->name = newName; … … 889 898 if ( ! o ) return nullptr; 890 899 891 o->copyS torageClasses( this );900 o->copySpecifiers( this ); 892 901 if ( type ) { 893 902 TypeData * srcType = type; … … 981 990 } else if ( StructDecl * agg = dynamic_cast< StructDecl * >( decl ) ) { 982 991 StructInstType * inst = new StructInstType( Type::Qualifiers(), agg->get_name() ); 983 auto obj = new ObjectDecl( "", DeclarationNode:: NoStorageClass, linkage, nullptr, inst, nullptr );992 auto obj = new ObjectDecl( "", DeclarationNode::StorageClasses(), linkage, nullptr, inst, nullptr ); 984 993 obj->location = cur->location; 985 994 * out++ = obj; … … 987 996 } else if ( UnionDecl * agg = dynamic_cast< UnionDecl * >( decl ) ) { 988 997 UnionInstType * inst = new UnionInstType( Type::Qualifiers(), agg->get_name() ); 989 auto obj = new ObjectDecl( "", DeclarationNode:: NoStorageClass, linkage, nullptr, inst, nullptr );998 auto obj = new ObjectDecl( "", DeclarationNode::StorageClasses(), linkage, nullptr, inst, nullptr ); 990 999 obj->location = cur->location; 991 1000 * out++ = obj; … … 1034 1043 assertf( sizeof(kindMap)/sizeof(kindMap[0] == NoTypeClass-1), "DeclarationNode::build: kindMap is out of sync." ); 1035 1044 assertf( variable.tyClass < sizeof(kindMap)/sizeof(kindMap[0]), "Variable's tyClass is out of bounds." ); 1036 TypeDecl * ret = new TypeDecl( *name, DeclarationNode:: NoStorageClass, nullptr, kindMap[ variable.tyClass ] );1045 TypeDecl * ret = new TypeDecl( *name, DeclarationNode::StorageClasses(), nullptr, kindMap[ variable.tyClass ] ); 1037 1046 buildList( variable.assertions, ret->get_assertions() ); 1038 1047 return ret; … … 1045 1054 // inline _Noreturn int g( int i ); // allowed 1046 1055 // inline _Noreturn int i; // disallowed 1047 if ( type->kind != TypeData::Function && funcSpec .any() ) {1056 if ( type->kind != TypeData::Function && funcSpecs.any() ) { 1048 1057 throw SemanticError( "invalid function specifier for ", this ); 1049 1058 } // if 1050 return buildDecl( type, name ? *name : string( "" ), storageClass , maybeBuild< Expression >( bitfieldWidth ), funcSpec, linkage, asmName, maybeBuild< Initializer >(initializer), attributes )->set_extension( extension );1059 return buildDecl( type, name ? *name : string( "" ), storageClasses, maybeBuild< Expression >( bitfieldWidth ), funcSpecs, linkage, asmName, maybeBuild< Initializer >(initializer), attributes )->set_extension( extension ); 1051 1060 } // if 1052 1061 … … 1055 1064 // inlne _Noreturn struct S { ... }; // disallowed 1056 1065 // inlne _Noreturn enum E { ... }; // disallowed 1057 if ( funcSpec .any() ) {1066 if ( funcSpecs.any() ) { 1058 1067 throw SemanticError( "invalid function specifier for ", this ); 1059 1068 } // if 1060 1069 assertf( name, "ObjectDecl must a have name\n" ); 1061 return (new ObjectDecl( *name, storageClass , linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_asmName( asmName )->set_extension( extension );1070 return (new ObjectDecl( *name, storageClasses, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_asmName( asmName )->set_extension( extension ); 1062 1071 } 1063 1072 -
src/Parser/ExpressionNode.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Sep 16 16:27:44 201613 // Update Count : 50 812 // Last Modified On : Sat Mar 4 06:58:47 2017 13 // Update Count : 509 14 14 // 15 15 … … 173 173 174 174 Expression *build_constantZeroOne( const std::string & str ) { 175 Expression * ret = new ConstantExpr( Constant( str == "0" ? (Type *)new ZeroType( emptyQualifiers ) : (Type*)new OneType( emptyQualifiers ), str ) );175 Expression * ret = new ConstantExpr( Constant( str == "0" ? (Type *)new ZeroType( emptyQualifiers ) : (Type*)new OneType( emptyQualifiers ), str ) ); 176 176 delete &str; // created by lex 177 177 return ret; … … 275 275 } 276 276 Expression *build_offsetOf( DeclarationNode *decl_node, NameExpr *member ) { 277 Expression * ret = new UntypedOffsetofExpr( maybeMoveBuildType( decl_node ), member->get_name() );277 Expression * ret = new UntypedOffsetofExpr( maybeMoveBuildType( decl_node ), member->get_name() ); 278 278 delete member; 279 279 return ret; -
src/Parser/ParseNode.h
r7fe2498 ra7c90d4 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:34:27201713 // Update Count : 7 0412 // Last Modified On : Tue Mar 7 08:10:53 2017 13 // Update Count : 726 14 14 // 15 15 … … 40 40 //############################################################################## 41 41 42 extern char * yyfilename;42 extern char * yyfilename; 43 43 extern int yylineno; 44 44 … … 123 123 } 124 124 125 Expression * build() const { return const_cast<ExpressionNode *>(this)->expr.release(); }125 Expression * build() const { return const_cast<ExpressionNode *>(this)->expr.release(); } 126 126 private: 127 127 bool extension = false; … … 204 204 // These must remain in the same order as the corresponding DeclarationNode names. 205 205 206 enum StorageClass { Extern, Static, Auto, Register, Threadlocal, NoStorageClass }; 206 enum StorageClass { Extern, Static, Auto, Register, Threadlocal, NoStorageClass, 207 ExternClass = 1 << Extern, StaticClass = 1 << Static, AutoClass = 1 << Auto, RegisterClass = 1 << Register, ThreadlocalClass = 1 << Threadlocal }; 207 208 enum FuncSpecifier { Inline, Noreturn, Fortran, NoFuncSpecifier, 208 InlineSpec = 1 << Inline, NoreturnSpec = 1 << Noreturn, FortranSpec = 1 << Fortran };209 enum TypeQualifier { Const, Restrict, Volatile, Lvalue, Atomic, NoTypeQualifier };209 InlineSpec = 1 << Inline, NoreturnSpec = 1 << Noreturn, FortranSpec = 1 << Fortran }; 210 enum TypeQualifier { Const, Restrict, Volatile, Lvalue, Mutex, Atomic, NoTypeQualifier }; 210 211 enum BasicType { Void, Bool, Char, Int, Float, Double, LongDouble, NoBasicType }; 211 212 enum ComplexType { Complex, Imaginary, NoComplexType }; … … 264 265 DeclarationNode * addQualifiers( DeclarationNode * ); 265 266 void checkQualifiers( const TypeData *, const TypeData * ); 266 void checkS torageClasses( DeclarationNode * );267 DeclarationNode * copyS torageClasses( DeclarationNode * );267 void checkSpecifiers( DeclarationNode * ); 268 DeclarationNode * copySpecifiers( DeclarationNode * ); 268 269 DeclarationNode * addType( DeclarationNode * ); 269 270 DeclarationNode * addTypedef(); … … 296 297 297 298 Declaration * build() const; 298 ::Type * buildType() const;299 Type * buildType() const; 299 300 300 301 bool get_hasEllipsis() const; … … 302 303 DeclarationNode * extractAggregate() const; 303 304 bool has_enumeratorValue() const { return (bool)enumeratorValue; } 304 ExpressionNode * consume_enumeratorValue() const { return const_cast<DeclarationNode *>(this)->enumeratorValue.release(); }305 ExpressionNode * consume_enumeratorValue() const { return const_cast<DeclarationNode *>(this)->enumeratorValue.release(); } 305 306 306 307 bool get_extension() const { return extension; } … … 324 325 325 326 TypeData * type; 326 StorageClass storageClass; 327 328 typedef std::bitset< DeclarationNode::NoFuncSpecifier > FuncSpec; 329 FuncSpec funcSpec; 330 static void print_FuncSpec( std::ostream & output, FuncSpec funcSpec ); 327 328 typedef std::bitset< DeclarationNode::NoStorageClass > StorageClasses; 329 StorageClasses storageClasses; 330 static void print_StorageClass( std::ostream & output, StorageClasses storageClasses ); 331 332 typedef std::bitset< DeclarationNode::NoFuncSpecifier > FuncSpecifiers; 333 FuncSpecifiers funcSpecs; 334 static void print_FuncSpec( std::ostream & output, FuncSpecifiers funcSpecs ); 331 335 332 336 ExpressionNode * bitfieldWidth; … … 347 351 348 352 static inline Type * maybeMoveBuildType( const DeclarationNode * orig ) { 349 Type * ret = orig ? orig->buildType() : nullptr;353 Type * ret = orig ? orig->buildType() : nullptr; 350 354 delete orig; 351 355 return ret; … … 362 366 363 367 virtual StatementNode * clone() const final { assert( false ); return nullptr; } 364 Statement * build() const { return const_cast<StatementNode *>(this)->stmt.release(); }368 Statement * build() const { return const_cast<StatementNode *>(this)->stmt.release(); } 365 369 366 370 virtual StatementNode * add_label( const std::string * name, DeclarationNode * attr = nullptr ) { -
src/Parser/TypeData.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:59:10201713 // Update Count : 5 1612 // Last Modified On : Tue Mar 7 08:08:21 2017 13 // Update Count : 538 14 14 // 15 15 … … 393 393 buildList( firstNode, outputList ); 394 394 for ( typename ForallList::iterator i = outputList.begin(); i != outputList.end(); ++i ) { 395 TypeDecl * td = static_cast<TypeDecl *>(*i);395 TypeDecl * td = static_cast<TypeDecl *>(*i); 396 396 if ( td->get_kind() == TypeDecl::Any ) { 397 397 // add assertion parameters to `type' tyvars in reverse order 398 398 // add dtor: void ^?{}(T *) 399 399 FunctionType * dtorType = new FunctionType( Type::Qualifiers(), false ); 400 dtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) );401 td->get_assertions().push_front( new FunctionDecl( "^?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, dtorType, nullptr ) );400 dtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) ); 401 td->get_assertions().push_front( new FunctionDecl( "^?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, dtorType, nullptr ) ); 402 402 403 403 // add copy ctor: void ?{}(T *, T) 404 404 FunctionType * copyCtorType = new FunctionType( Type::Qualifiers(), false ); 405 copyCtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) );406 copyCtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) );407 td->get_assertions().push_front( new FunctionDecl( "?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, copyCtorType, nullptr ) );405 copyCtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) ); 406 copyCtorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) ); 407 td->get_assertions().push_front( new FunctionDecl( "?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, copyCtorType, nullptr ) ); 408 408 409 409 // add default ctor: void ?{}(T *) 410 410 FunctionType * ctorType = new FunctionType( Type::Qualifiers(), false ); 411 ctorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) );412 td->get_assertions().push_front( new FunctionDecl( "?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, ctorType, nullptr ) );411 ctorType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) ); 412 td->get_assertions().push_front( new FunctionDecl( "?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, ctorType, nullptr ) ); 413 413 414 414 // add assignment operator: T * ?=?(T *, T) 415 415 FunctionType * assignType = new FunctionType( Type::Qualifiers(), false ); 416 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) );417 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) );418 assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) );419 td->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, assignType, nullptr ) );416 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), td->get_name(), *i ) ), nullptr ) ); 417 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) ); 418 assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new TypeInstType( Type::Qualifiers(), td->get_name(), *i ), nullptr ) ); 419 td->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, assignType, nullptr ) ); 420 420 } // if 421 421 } // for … … 732 732 } // buildAggInst 733 733 734 NamedTypeDecl * buildSymbolic( const TypeData * td, const string & name, DeclarationNode::StorageClass sc) {734 NamedTypeDecl * buildSymbolic( const TypeData * td, const string & name, DeclarationNode::StorageClasses scs ) { 735 735 assert( td->kind == TypeData::Symbolic ); 736 736 NamedTypeDecl * ret; 737 737 assert( td->base ); 738 738 if ( td->symbolic.isTypedef ) { 739 ret = new TypedefDecl( name, sc , typebuild( td->base ) );739 ret = new TypedefDecl( name, scs, typebuild( td->base ) ); 740 740 } else { 741 ret = new TypeDecl( name, sc , typebuild( td->base ), TypeDecl::Any );741 ret = new TypeDecl( name, scs, typebuild( td->base ), TypeDecl::Any ); 742 742 } // if 743 743 buildList( td->symbolic.params, ret->get_parameters() ); … … 784 784 } // buildTypeof 785 785 786 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, DeclarationNode::FuncSpecfuncSpec, LinkageSpec::Spec linkage, ConstantExpr *asmName, Initializer * init, std::list< Attribute * > attributes ) {786 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClasses scs, Expression * bitfieldWidth, DeclarationNode::FuncSpecifiers funcSpec, LinkageSpec::Spec linkage, ConstantExpr *asmName, Initializer * init, std::list< Attribute * > attributes ) { 787 787 if ( td->kind == TypeData::Function ) { 788 788 if ( td->function.idList ) { // KR function ? … … 792 792 FunctionDecl * decl; 793 793 Statement * stmt = maybeBuild<Statement>( td->function.body ); 794 CompoundStmt * body = dynamic_cast< CompoundStmt * >( stmt );795 decl = new FunctionDecl( name, sc , linkage, buildFunction( td ), body, attributes, funcSpec );794 CompoundStmt * body = dynamic_cast< CompoundStmt * >( stmt ); 795 decl = new FunctionDecl( name, scs, linkage, buildFunction( td ), body, attributes, funcSpec ); 796 796 return decl->set_asmName( asmName ); 797 797 } else if ( td->kind == TypeData::Aggregate ) { … … 800 800 return buildEnum( td, attributes ); 801 801 } else if ( td->kind == TypeData::Symbolic ) { 802 return buildSymbolic( td, name, sc );802 return buildSymbolic( td, name, scs ); 803 803 } else { 804 return (new ObjectDecl( name, sc , linkage, bitfieldWidth, typebuild( td ), init, attributes ))->set_asmName( asmName );804 return (new ObjectDecl( name, scs, linkage, bitfieldWidth, typebuild( td ), init, attributes ))->set_asmName( asmName ); 805 805 } // if 806 806 return nullptr; … … 820 820 break; 821 821 default: 822 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType * >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, DeclarationNode::FuncSpecifier(), LinkageSpec::Cforall, nullptr ) ) );822 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType * >( buildDecl( td->base, "", DeclarationNode::StorageClasses(), nullptr, DeclarationNode::FuncSpecifiers(), LinkageSpec::Cforall, nullptr ) ) ); 823 823 } // switch 824 824 } else { 825 ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) );825 ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) ); 826 826 } // if 827 827 return ft; … … 846 846 for ( DeclarationNode * decl = function.oldDeclList; decl != nullptr; decl = dynamic_cast< DeclarationNode * >( decl->get_next() ) ) { 847 847 // scan ALL parameter names for each declaration name to check for duplicates 848 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode * >( param->get_next() ) ) {848 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode * >( param->get_next() ) ) { 849 849 if ( *decl->name == *param->name ) { 850 850 // type set => parameter name already transformed by a declaration names so there is a duplicate … … 867 867 // rtb( a, b, c ) const char * b; {} => int rtn( int a, const char * b, int c ) {} 868 868 869 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode * >( param->get_next() ) ) {869 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode * >( param->get_next() ) ) { 870 870 if ( ! param->type ) { // generate type int for empty parameter type 871 871 param->type = new TypeData( TypeData::Basic ); -
src/Parser/TypeData.h
r7fe2498 ra7c90d4 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 20:56:53 201713 // Update Count : 1 6712 // Last Modified On : Tue Mar 7 08:03:53 2017 13 // Update Count : 173 14 14 // 15 15 … … 107 107 ReferenceToType * buildComAggInst( const TypeData *, std::list< Attribute * > attributes ); 108 108 ReferenceToType * buildAggInst( const TypeData * ); 109 NamedTypeDecl * buildSymbolic( const TypeData *, const std::string &name, DeclarationNode::StorageClass sc );110 109 TypeDecl * buildVariable( const TypeData * ); 111 110 EnumDecl * buildEnum( const TypeData *, std::list< Attribute * > ); … … 113 112 TupleType * buildTuple( const TypeData * ); 114 113 TypeofType * buildTypeof( const TypeData * ); 115 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass , Expression *, DeclarationNode::FuncSpecfuncSpec, LinkageSpec::Spec, ConstantExpr *asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() );114 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClasses, Expression *, DeclarationNode::FuncSpecifiers funcSpec, LinkageSpec::Spec, ConstantExpr *asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() ); 116 115 FunctionType * buildFunction( const TypeData * ); 117 116 void buildKRFunction( const TypeData::Function_t & function ); -
src/Parser/lex.cc
r7fe2498 ra7c90d4 382 382 (yy_c_buf_p) = yy_cp; 383 383 384 #define YY_NUM_RULES 18 6385 #define YY_END_OF_BUFFER 18 7384 #define YY_NUM_RULES 187 385 #define YY_END_OF_BUFFER 188 386 386 /* This struct is not used in this scanner, 387 387 but its presence is necessary. */ … … 391 391 flex_int32_t yy_nxt; 392 392 }; 393 static yyconst flex_int16_t yy_accept[9 09] =393 static yyconst flex_int16_t yy_accept[914] = 394 394 { 0, 395 0, 0, 0, 0, 0, 0, 12 1, 121, 124, 124,396 18 7, 185, 7, 9, 8, 144, 123, 106, 149, 152,397 12 0, 131, 132, 147, 145, 135, 146, 138, 148, 111,398 11 2, 113, 136, 137, 154, 156, 155, 157, 185, 106,399 1 29, 185, 130, 150, 106, 108, 106, 106, 106, 106,400 10 6, 106, 106, 106, 106, 106, 106, 106, 106, 106,401 10 6, 106, 106, 133, 153, 134, 151, 7, 185, 4,402 4, 186, 109, 186, 110, 121, 122, 128, 124, 125,403 7, 9, 0, 8, 161, 180, 106, 0, 173, 143,404 1 66, 174, 171, 158, 169, 159, 170, 168, 0, 117,405 406 3, 0, 172, 116, 114, 0, 0, 114, 114, 0,407 0, 114, 113, 113, 113, 0, 113, 141, 142, 140,408 1 62, 164, 160, 165, 163, 0, 0, 0, 0, 0,395 0, 0, 0, 0, 0, 0, 122, 122, 125, 125, 396 188, 186, 7, 9, 8, 145, 124, 107, 150, 153, 397 121, 132, 133, 148, 146, 136, 147, 139, 149, 112, 398 113, 114, 137, 138, 155, 157, 156, 158, 186, 107, 399 130, 186, 131, 151, 107, 109, 107, 107, 107, 107, 400 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 401 107, 107, 107, 107, 134, 154, 135, 152, 7, 186, 402 4, 4, 187, 110, 187, 111, 122, 123, 129, 125, 403 126, 7, 9, 0, 8, 162, 181, 107, 0, 174, 404 144, 167, 175, 172, 159, 170, 160, 171, 169, 0, 405 406 118, 3, 0, 173, 117, 115, 0, 0, 115, 115, 407 0, 0, 115, 114, 114, 114, 0, 114, 142, 143, 408 141, 163, 165, 161, 166, 164, 0, 0, 0, 0, 409 409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410 107, 179, 0, 123, 120, 106, 0, 0, 176, 0, 411 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 412 106, 106, 106, 106, 106, 106, 106, 38, 106, 106, 413 106, 106, 106, 106, 106, 106, 106, 106, 57, 106, 414 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 415 106, 106, 106, 106, 106, 106, 106, 106, 175, 167, 416 417 7, 0, 0, 0, 2, 0, 5, 109, 0, 0, 418 0, 121, 0, 127, 126, 126, 0, 0, 0, 124, 410 0, 108, 180, 0, 124, 121, 107, 0, 0, 177, 411 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 412 107, 107, 107, 107, 107, 107, 107, 107, 38, 107, 413 107, 107, 107, 107, 107, 107, 107, 107, 107, 57, 414 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 415 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 416 417 176, 168, 7, 0, 0, 0, 2, 0, 5, 110, 418 0, 0, 0, 122, 0, 128, 127, 127, 0, 0, 419 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 420 0, 0, 0, 0, 0, 0, 0, 140, 118, 119, 421 0, 119, 119, 0, 0, 6, 119, 115, 0, 0, 422 0, 119, 0, 115, 115, 115, 115, 0, 116, 0, 423 0, 114, 114, 114, 114, 0, 178, 179, 0, 184, 424 182, 0, 0, 0, 108, 0, 0, 0, 0, 0, 425 0, 0, 0, 107, 17, 107, 107, 107, 107, 107, 426 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 427 428 107, 107, 107, 14, 107, 107, 107, 107, 107, 107, 429 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 430 107, 107, 51, 107, 107, 107, 64, 107, 107, 107, 431 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 432 107, 107, 107, 92, 107, 107, 107, 107, 107, 107, 433 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 434 0, 127, 0, 0, 0, 0, 0, 127, 0, 0, 435 185, 0, 0, 0, 0, 0, 0, 0, 119, 0, 436 119, 0, 119, 0, 119, 0, 0, 119, 0, 115, 437 115, 0, 0, 116, 116, 0, 116, 0, 116, 114, 438 439 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440 0, 183, 107, 107, 107, 107, 107, 107, 107, 107, 441 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 442 107, 107, 107, 107, 107, 21, 107, 24, 107, 27, 443 107, 107, 107, 107, 107, 107, 107, 41, 107, 43, 444 107, 107, 107, 107, 107, 107, 107, 56, 107, 67, 445 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 446 107, 107, 107, 107, 107, 107, 107, 107, 107, 101, 447 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 448 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 449 450 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 451 0, 116, 116, 0, 120, 0, 116, 116, 0, 0, 419 452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420 0, 0, 0, 0, 0, 139, 117, 118, 0, 118, 421 118, 0, 0, 6, 118, 114, 0, 0, 0, 118, 422 0, 114, 114, 114, 114, 0, 115, 0, 0, 113, 423 113, 113, 113, 0, 177, 178, 0, 183, 181, 0, 424 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 425 0, 106, 17, 106, 106, 106, 106, 106, 106, 106, 426 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 427 428 106, 14, 106, 106, 106, 106, 106, 106, 106, 106, 429 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 430 51, 106, 106, 106, 64, 106, 106, 106, 106, 106, 431 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 432 91, 106, 106, 106, 106, 106, 106, 106, 106, 106, 433 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 434 0, 0, 0, 0, 126, 0, 0, 184, 0, 0, 435 0, 0, 0, 0, 0, 118, 0, 118, 0, 118, 436 0, 118, 0, 0, 118, 0, 114, 114, 0, 0, 437 115, 115, 0, 115, 0, 115, 113, 113, 0, 0, 438 439 0, 0, 0, 0, 0, 0, 0, 0, 182, 106, 440 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 441 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 442 106, 106, 21, 106, 24, 106, 27, 106, 106, 106, 443 106, 106, 106, 106, 41, 106, 43, 106, 106, 106, 444 106, 106, 106, 106, 56, 106, 67, 106, 106, 106, 445 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 446 106, 106, 106, 106, 106, 100, 106, 106, 106, 0, 453 0, 107, 107, 22, 107, 107, 107, 107, 107, 107, 454 107, 15, 107, 107, 107, 107, 107, 107, 107, 107, 455 107, 107, 107, 107, 107, 107, 23, 25, 107, 32, 456 107, 107, 107, 107, 40, 107, 107, 107, 107, 49, 457 107, 107, 54, 107, 107, 69, 72, 73, 107, 107, 458 107, 79, 107, 107, 107, 107, 107, 89, 91, 93, 459 107, 107, 98, 107, 107, 105, 107, 0, 0, 0, 460 447 461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448 0, 0, 0, 126, 0, 0, 0, 0, 0, 118, 449 450 0, 0, 0, 0, 0, 0, 0, 115, 115, 0, 451 119, 0, 115, 115, 0, 0, 0, 0, 0, 0, 452 0, 0, 0, 0, 0, 0, 0, 106, 106, 22, 453 106, 106, 106, 106, 106, 106, 106, 15, 106, 106, 454 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 455 106, 106, 23, 25, 106, 32, 106, 106, 106, 106, 456 40, 106, 106, 106, 106, 49, 106, 106, 54, 106, 457 106, 71, 72, 106, 106, 106, 78, 106, 106, 106, 458 106, 106, 88, 90, 92, 106, 106, 97, 106, 106, 459 104, 106, 0, 0, 0, 0, 0, 0, 0, 0, 460 462 0, 0, 0, 0, 0, 0, 120, 0, 0, 116, 463 120, 120, 120, 120, 0, 116, 0, 0, 0, 0, 464 0, 0, 0, 0, 0, 0, 107, 0, 107, 107, 465 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 466 107, 107, 107, 107, 59, 107, 107, 107, 107, 107, 467 107, 107, 107, 28, 107, 107, 107, 39, 42, 45, 468 107, 107, 52, 107, 61, 68, 107, 107, 78, 80, 469 83, 84, 86, 87, 107, 107, 95, 107, 107, 106, 470 0, 1, 0, 0, 0, 0, 0, 0, 110, 0, 471 472 0, 0, 127, 0, 0, 0, 0, 120, 0, 120, 473 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474 107, 107, 18, 107, 107, 107, 107, 107, 107, 107, 475 16, 107, 107, 107, 33, 107, 107, 107, 107, 107, 476 107, 107, 107, 107, 107, 107, 107, 36, 37, 107, 477 48, 53, 107, 107, 107, 94, 107, 107, 0, 0, 461 478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462 0, 119, 0, 0, 115, 119, 119, 119, 119, 0, 463 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464 0, 106, 0, 106, 106, 106, 106, 106, 106, 106, 465 106, 106, 106, 106, 106, 106, 106, 106, 106, 59, 466 106, 106, 106, 106, 106, 106, 106, 106, 28, 106, 467 106, 106, 39, 42, 45, 106, 106, 52, 106, 61, 468 68, 106, 106, 77, 79, 82, 83, 85, 86, 106, 469 106, 94, 106, 106, 105, 0, 1, 0, 0, 0, 470 0, 0, 0, 109, 0, 0, 0, 126, 0, 0, 471 472 0, 0, 119, 0, 119, 119, 0, 0, 0, 0, 473 0, 0, 0, 0, 0, 106, 106, 18, 106, 106, 474 106, 106, 106, 106, 106, 16, 106, 106, 106, 33, 475 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 476 106, 106, 36, 37, 106, 48, 53, 106, 106, 106, 477 93, 106, 106, 0, 0, 0, 0, 0, 0, 0, 478 0, 0, 0, 0, 0, 0, 10, 11, 29, 55, 479 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 480 106, 60, 62, 65, 106, 106, 80, 95, 106, 106, 481 35, 106, 47, 73, 74, 106, 98, 101, 0, 0, 482 483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484 106, 69, 106, 106, 12, 106, 106, 30, 34, 106, 485 106, 106, 66, 106, 106, 106, 106, 106, 106, 106, 486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487 0, 0, 0, 58, 106, 106, 106, 106, 106, 106, 488 106, 50, 63, 75, 81, 96, 102, 106, 106, 106, 489 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 490 13, 19, 106, 106, 31, 106, 106, 106, 26, 46, 491 89, 0, 0, 106, 106, 106, 106, 106, 106, 76, 492 103, 106, 87, 20, 106, 106, 44, 84, 106, 106, 493 494 106, 106, 106, 106, 106, 99, 70, 0 479 0, 10, 11, 29, 55, 107, 107, 107, 107, 107, 480 107, 107, 107, 107, 107, 107, 60, 62, 65, 107, 481 107, 81, 96, 107, 107, 35, 107, 47, 74, 75, 482 483 107, 99, 102, 0, 0, 0, 0, 0, 0, 0, 484 0, 0, 0, 0, 0, 107, 70, 107, 107, 12, 485 107, 107, 30, 34, 107, 107, 107, 66, 107, 107, 486 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 487 0, 0, 0, 0, 0, 0, 0, 0, 58, 107, 488 107, 107, 107, 107, 107, 107, 50, 63, 76, 82, 489 97, 103, 107, 107, 107, 0, 0, 0, 0, 0, 490 0, 0, 0, 107, 107, 13, 19, 107, 107, 31, 491 107, 107, 107, 26, 46, 90, 0, 0, 107, 107, 492 107, 107, 107, 107, 77, 104, 107, 88, 20, 107, 493 494 107, 44, 85, 107, 107, 107, 107, 107, 107, 107, 495 100, 71, 0 495 496 } ; 496 497 … … 540 541 } ; 541 542 542 static yyconst flex_int16_t yy_base[108 3] =543 static yyconst flex_int16_t yy_base[1088] = 543 544 { 0, 544 0, 84, 23 30, 2327, 94, 0, 177, 178, 179, 180,545 23 41, 2877, 191, 2877, 197, 55, 2877, 2287, 60, 173,546 28 77, 2877, 2877, 56, 188, 2877, 191, 189, 204, 216,547 275, 0, 23 06, 2877, 216, 2305, 152, 344, 155, 220,548 28 77, 159, 2877, 217, 226, 2877, 185, 154, 212, 251,549 237, 270, 235, 257, 241, 2 79, 193, 305, 314, 351,550 238, 228, 227, 2877, 225, 2877, 2300, 406, 412, 2877,551 2 309, 2877, 2277, 235, 2877, 0, 2877, 439, 0, 2877,552 426, 2877, 452, 464, 2877, 511, 2276, 264, 2877, 2877,553 28 77, 2877, 2877, 2293, 2877, 2290, 2877, 2877, 2300, 572,554 555 2877, 2317, 2877, 451, 457, 524, 547, 298, 253, 197,556 312, 279, 0, 342, 325, 198, 322, 2877, 2877, 2877,557 2 287, 2877, 2877, 2877, 2285, 2282, 218, 312, 2295, 350,558 3 63, 368, 369, 391, 411, 417, 2276, 452, 2225, 453,559 2254, 2877, 274, 2877, 2877, 438, 2248, 2245, 2877, 2218,560 435, 282, 353, 277, 391, 419, 442, 320, 583, 451,561 4 46, 443, 479, 469, 364, 472, 481, 454, 458, 484,562 503, 493, 352, 506, 486, 453, 507, 509, 2246, 539,563 53 2, 524, 516, 528, 556, 530, 540, 552, 553, 564,564 5 74, 538, 576, 613, 573, 597, 602, 571, 2877, 2877,565 566 668, 674, 2294, 680, 2877, 686, 2877, 2241, 603, 2235,567 2234, 0, 683, 2877, 2877, 692, 2233, 2231, 2211, 0,568 22 33, 556, 627, 630, 662, 699, 688, 692, 693, 696,569 2230, 700, 703, 2205, 2202, 2877, 0, 695, 726, 693,570 7 01, 2201, 2253, 2877, 747, 742, 700, 753, 760, 793,571 815, 746, 2877, 2210, 2183, 0, 802, 2227, 801, 754,572 2877, 2203, 2178, 839, 2877, 2877, 2210, 2877, 2877, 709,573 723, 2187, 2185, 755, 2181, 2180, 2178, 0, 2175, 0,574 21 44, 694, 736, 737, 741, 614, 739, 738, 742, 798,575 807, 792, 802, 797, 746, 816, 748, 791, 824, 819,576 577 8 26, 2174, 827, 830, 831, 440, 834, 838, 836, 843,578 8 47, 849, 841, 850, 861, 853, 862, 851, 863, 865,579 8 72, 864, 873, 874, 2173, 749, 875, 876, 878, 880,580 881, 882, 884, 885, 886, 888, 889, 892, 898, 896,581 2171, 899, 906, 944, 901, 907, 913, 917, 908, 911,582 9 76, 977, 2165, 2164, 2163, 0, 2161, 0, 964, 968,583 2158, 0, 2157, 0, 2156, 0, 2176, 2877, 964, 967,584 2 153, 2147, 0, 2143, 0, 2877, 979, 998, 990, 2877,585 100 4, 1044, 2141, 1020, 1066, 2139, 2877, 2877, 963, 1006,586 1052, 1005, 1091, 968, 1083, 1006, 2877, 2877, 2136, 2134,587 588 2 132, 0, 2129, 0, 2126, 0, 2125, 0, 2877, 931,589 981, 985, 928, 1024, 987, 1068, 958, 1070, 1060, 1010,590 10 05, 1072, 1083, 1022, 1078, 1082, 1088, 1042, 1084, 1081,591 108 9, 1097, 2127, 1090, 2125, 1095, 2122, 1093, 1091, 1109,592 1 101, 1111, 1115, 1116, 2119, 1118, 2118, 1119, 1120, 1121,593 112 3, 1126, 1127, 1128, 2117, 1129, 2115, 1131, 1134, 1135,594 113 2, 1138, 1140, 1143, 1148, 1149, 1150, 1152, 1155, 1151,595 11 61, 1164, 1166, 1168, 1169, 2112, 1170, 1172, 1175, 1221,596 2106, 0, 2105, 0, 2104, 0, 2102, 0, 1216, 2099,597 0, 2096, 0, 2095, 2094, 2092, 0, 2089, 0, 1223,598 599 2086, 1229, 1245, 1231, 1270, 1236, 1186, 1185, 2877, 1286,600 1 304, 1297, 2097, 2072, 2082, 2079, 0, 2076, 0, 2075,601 0, 20 74, 0, 2072, 0, 2069, 0, 1190, 1210, 2069,602 1191, 1227, 1212, 1230, 1253, 1246, 1254, 1280, 1281, 1282,603 128 4, 1228, 1287, 1286, 1288, 1285, 234, 1293, 1289, 1304,604 1300, 1305, 2068, 1322, 1306, 2067, 1308, 1313, 1318, 1320,605 2065, 1323, 1324, 1326, 1327, 2062, 1330, 1331, 2061, 1334,606 133 5, 2060, 2058, 1337, 1339, 1340, 2055, 1004, 1346, 1347,607 1348, 1349, 1364, 2054, 2053, 1351, 1353, 2051, 1350, 1355,608 2018, 1362, 2066, 2012, 0, 2009, 0, 2006, 0, 2005,609 610 0, 2004, 0, 2002, 0, 1999, 0, 1996, 0, 1401,611 1407, 1435, 1418, 1995, 2877, 1424, 1411, 1421, 1427, 1994,612 2877, 1992, 0, 1989, 0, 1988, 0, 1987,0, 0,613 0, 1988, 0, 1412, 1422, 1419, 1387, 1369, 1416, 1433,614 14 36, 1403, 1446, 1441, 1431, 1432, 1451, 1452, 1455, 1456,615 14 57, 1486, 1460, 1461, 1462, 1464, 1463, 1467, 1985, 1465,616 1468, 1470, 1 984, 1983, 1981, 1472, 1466, 1974, 1478, 1972,617 1 971, 1480, 1484, 1968, 1964, 1960, 1956, 1953, 1952, 1487,618 1 494, 1951, 1497, 1483, 1949, 1996, 2877, 1942, 0, 1941,619 0, 0, 0, 1942, 0, 0, 0, 2877, 0, 0,620 621 0, 0, 1537, 1936, 2877, 2877, 1543, 1935, 0, 1934,622 0, 0, 0, 0, 1932, 1499, 1519, 1932, 1500, 1524,623 1 530, 1501, 1502, 1533, 1537, 1931, 1532, 1541, 1534, 1539,624 1 544, 599, 1548, 1549, 1579, 1556, 1557, 1560, 1561, 1562,625 15 63, 1564, 1930, 1928, 1567, 1925, 1924, 1566, 1569, 1572,626 19 23, 1574, 1578, 0, 0, 0, 1918, 1915, 1914, 1624,627 0, 19 13, 1911, 1908, 1907, 1906, 1907, 1904, 1903, 1902,628 1 580, 1588, 1576, 1577, 1601, 1583, 1602, 1589, 1604, 1603,629 1 636, 1900, 1609, 1897, 1610, 1614, 1617, 1622, 1618, 1623,630 1 896, 1624, 1895, 1893, 1886, 1626, 1884, 1883, 1877, 1876,631 632 1 875, 1873, 1856, 1847, 1846, 1843, 1836, 1833, 1826, 1824,633 1 628, 1826, 1629, 1630, 1631, 1632, 1635, 1637, 1805, 1639,634 16 67, 1642, 1804, 1643, 1653, 1658, 1651, 1652, 1659, 1662,635 1 800, 1793, 1791, 1790, 1748, 1745, 1744, 1742, 1741, 1737,636 17 35, 1733, 1732, 1734, 1663, 1664, 1666, 1672, 1673, 1674,637 167 5, 1731, 1689, 1676, 1644, 1522, 1680, 1685, 1686, 1687,638 1 500, 1411, 1363, 1362, 1260, 1219, 1218, 1047, 1690, 1688,639 1 046, 1700, 1695, 1701, 924, 1704, 1708, 1709, 839, 794,640 759, 702, 636, 1682, 1710, 1713, 1714, 1715, 1717, 638,641 536, 1719, 488, 441, 1721, 1722, 408, 281, 1723, 1726,642 643 172 7, 1729, 1728, 1730, 1733, 233, 137, 2877, 1805, 1818,644 1831, 1841, 1851, 1864, 1874, 1887, 1900, 1913, 1921, 1931,645 1 938, 1945, 1952, 1959, 1966, 1973, 1980, 1987, 1994, 2001,646 2005, 2013, 2019, 2026, 2033, 2040, 2047, 2050, 2057, 2063,647 20 76, 2089, 2096, 2103, 2110, 2117, 2120, 2127, 2130, 2137,648 21 40, 2147, 2150, 2157, 2160, 2167, 2170, 2177, 2180, 2187,649 21 95, 2202, 2209, 2216, 2223, 2226, 2233, 2236, 2243, 2246,650 22 53, 2259, 2272, 2279, 2286, 2289, 2296, 2299, 2306, 2309,651 2 316, 2319, 2326, 2329, 2336, 2339, 2346, 2353, 2356, 2363,652 23 66, 2373, 2380, 2387, 2390, 2397, 2400, 2407, 2410, 2417,653 654 24 20, 2427, 2430, 2437, 2443, 2456, 2463, 2470, 2473, 2480,655 24 83, 2490, 2493, 2500, 2503, 2510, 2513, 2520, 2523, 2530,656 25 33, 2540, 2543, 2550, 2557, 2560, 2567, 2570, 2577, 2580,657 25 87, 2590, 2593, 2599, 2606, 2615, 2622, 2629, 2632, 2639,658 26 42, 2645, 2651, 2658, 2661, 2664, 2667, 2670, 2673, 2676,659 267 9, 2686, 2689, 2696, 2699, 2702, 2705, 2708, 2718, 2725,660 27 28, 2731, 2734, 2741, 2748, 2755, 2758, 2765, 2772, 2779,661 27 86, 2793, 2800, 2807, 2814, 2821, 2828, 2835, 2842, 2849,662 28 56, 2863545 0, 84, 2340, 2339, 94, 0, 177, 178, 179, 180, 546 2355, 2883, 191, 2883, 197, 55, 2883, 2300, 60, 173, 547 2883, 2883, 2883, 56, 188, 2883, 191, 189, 204, 216, 548 275, 0, 2317, 2883, 216, 2315, 152, 344, 155, 220, 549 2883, 159, 2883, 217, 226, 2883, 185, 154, 212, 251, 550 237, 270, 235, 257, 241, 204, 279, 193, 305, 314, 551 351, 238, 228, 268, 2883, 257, 2883, 2312, 406, 412, 552 2883, 2323, 2883, 2290, 235, 2883, 0, 2883, 439, 0, 553 2883, 426, 2883, 452, 464, 2883, 511, 2287, 258, 2883, 554 2883, 2883, 2883, 2883, 2303, 2883, 2302, 2883, 2883, 2314, 555 556 572, 2883, 2330, 2883, 451, 457, 524, 547, 298, 285, 557 197, 312, 305, 0, 342, 325, 198, 322, 2883, 2883, 558 2883, 2298, 2883, 2883, 2883, 2295, 2294, 218, 312, 2309, 559 350, 388, 368, 363, 413, 369, 391, 2289, 417, 2236, 560 418, 2264, 2883, 274, 2883, 2883, 477, 2260, 2259, 2883, 561 2231, 419, 390, 432, 431, 435, 446, 447, 282, 583, 562 437, 452, 458, 479, 468, 244, 472, 481, 484, 488, 563 485, 503, 487, 442, 364, 505, 332, 504, 516, 2257, 564 534, 535, 524, 532, 528, 530, 555, 551, 525, 574, 565 548, 564, 568, 540, 572, 609, 597, 586, 600, 602, 566 567 2883, 2883, 674, 665, 2304, 680, 2883, 692, 2883, 2253, 568 609, 2249, 2247, 0, 667, 2883, 2883, 686, 2244, 2241, 569 2240, 0, 2263, 664, 668, 689, 695, 694, 690, 699, 570 700, 703, 2259, 706, 707, 2217, 2215, 2883, 0, 700, 571 727, 682, 717, 2214, 2264, 2883, 744, 739, 725, 763, 572 781, 803, 825, 699, 2883, 2220, 2195, 0, 811, 2241, 573 812, 723, 2883, 2216, 2189, 849, 2883, 2883, 2220, 2883, 574 2883, 725, 742, 2199, 2199, 734, 2194, 2191, 2188, 0, 575 2187, 0, 2158, 620, 726, 740, 729, 724, 743, 739, 576 760, 749, 788, 805, 762, 781, 812, 825, 763, 761, 577 578 831, 829, 817, 2187, 832, 833, 836, 571, 837, 840, 579 839, 843, 846, 847, 849, 854, 859, 855, 864, 862, 580 867, 869, 870, 866, 876, 878, 2184, 443, 880, 879, 581 608, 881, 883, 882, 884, 886, 893, 889, 887, 890, 582 897, 899, 901, 2181, 902, 903, 949, 908, 911, 915, 583 920, 916, 918, 978, 979, 2177, 2176, 2174, 0, 2171, 584 0, 967, 971, 2170, 0, 2169, 0, 2167, 0, 2186, 585 2883, 966, 967, 2165, 2162, 0, 2160, 0, 2883, 980, 586 1001, 991, 2883, 1007, 1047, 2157, 1023, 1069, 2153, 2883, 587 2883, 964, 966, 1055, 1008, 1094, 969, 1086, 1009, 2883, 588 589 2883, 2149, 2147, 2145, 0, 2142, 0, 2140, 0, 2138, 590 0, 2883, 922, 986, 988, 1008, 1036, 990, 1071, 1007, 591 1073, 1000, 1012, 1025, 1063, 1075, 1081, 1084, 1085, 1093, 592 1088, 1030, 1087, 1095, 1096, 2138, 1086, 2135, 1104, 2134, 593 1099, 1106, 1110, 1107, 1112, 1117, 1113, 2133, 1119, 2131, 594 1121, 1124, 1125, 1126, 1127, 1129, 1135, 2128, 1133, 2125, 595 1131, 1136, 1137, 1138, 1139, 1143, 1145, 1151, 1152, 1153, 596 1155, 764, 1157, 1156, 1158, 1166, 1169, 1167, 1172, 2124, 597 1170, 1176, 1179, 1238, 2120, 0, 2118, 0, 2115, 0, 598 2112, 0, 1225, 2111, 0, 2110, 0, 2108, 2105, 2102, 599 600 0, 2101, 0, 1229, 2100, 1235, 1251, 1237, 1276, 1242, 601 1193, 1193, 2883, 1292, 1310, 1303, 2110, 2083, 2092, 2091, 602 0, 2090, 0, 2088, 0, 2085, 0, 2082, 0, 2081, 603 0, 1174, 1214, 2083, 1178, 1211, 1258, 1233, 1259, 1213, 604 1286, 1257, 1269, 1287, 1234, 1288, 1290, 1303, 1293, 1292, 605 234, 1306, 1294, 1295, 1310, 1317, 2081, 1327, 1324, 2078, 606 1311, 1314, 1326, 1330, 2075, 1331, 1332, 1334, 1335, 2074, 607 1336, 1337, 2073, 1338, 1343, 2071, 2068, 2067, 1344, 1345, 608 1348, 2066, 1228, 1353, 1354, 1355, 1356, 1370, 2064, 2061, 609 1360, 1357, 2060, 1359, 1362, 2059, 1371, 2107, 2021, 0, 610 611 2019, 0, 2018, 0, 2015, 0, 2012, 0, 2011, 0, 612 2010, 0, 2008, 0, 1408, 1414, 1442, 1425, 2005, 2883, 613 1431, 1418, 1239, 1432, 2002, 2883, 2001, 0, 2000, 0, 614 1998, 0, 1995, 0, 0, 0, 1997, 0, 1419, 1422, 615 1426, 1394, 1374, 1421, 1436, 1438, 1410, 1448, 1441, 1439, 616 1449, 1453, 1456, 1458, 1459, 1460, 1491, 1466, 1465, 1467, 617 1468, 1470, 1469, 1996, 1471, 1474, 1479, 1994, 1991, 1990, 618 1482, 1472, 1989, 1483, 1987, 1980, 1484, 1490, 1978, 1977, 619 1974, 1970, 1966, 1962, 1489, 1495, 1959, 1501, 1503, 1958, 620 2007, 2883, 1952, 0, 1949, 0, 0, 0, 1951, 0, 621 622 0, 0, 2883, 0, 0, 0, 0, 1549, 1947, 2883, 623 2883, 1541, 1945, 0, 1942, 0, 0, 0, 0, 1941, 624 1487, 1507, 1943, 1504, 1525, 1526, 1509, 1533, 1538, 1527, 625 1941, 1528, 1542, 1547, 1543, 1548, 1578, 1550, 1551, 1580, 626 1558, 1563, 1565, 1567, 1566, 1568, 1572, 1938, 1937, 1570, 627 1936, 1934, 1571, 1574, 1582, 1931, 1575, 1585, 0, 0, 628 0, 1927, 1926, 1924, 1627, 0, 1921, 1920, 1919, 1917, 629 1914, 1916, 1915, 1913, 1910, 1584, 1590, 1587, 1595, 1605, 630 1586, 1606, 1608, 1611, 1612, 1641, 1909, 1616, 1908, 1617, 631 1621, 1624, 1626, 1618, 1622, 1906, 1631, 1903, 1902, 1901, 632 633 1632, 1899, 1892, 1887, 1886, 1883, 1882, 1881, 1879, 1862, 634 1853, 1852, 1849, 1842, 1839, 1635, 1835, 1636, 1638, 1637, 635 1639, 1643, 1644, 1833, 1642, 1674, 1649, 1832, 1650, 1663, 636 1664, 1659, 1291, 1658, 1665, 1808, 1807, 1806, 1799, 1797, 637 1796, 1754, 1751, 1750, 1748, 1747, 1746, 1741, 1742, 1670, 638 1671, 1673, 1675, 1677, 1679, 1680, 1741, 1739, 1683, 1737, 639 1693, 1685, 1687, 1690, 1689, 1689, 1650, 1648, 1503, 1422, 640 1370, 1369, 1186, 1694, 1699, 1053, 1705, 1700, 1706, 1049, 641 1709, 1713, 1714, 1015, 968, 930, 798, 764, 1707, 1715, 642 1718, 1719, 1720, 1722, 644, 570, 1724, 539, 493, 1726, 643 644 1728, 407, 286, 1731, 1732, 1733, 1735, 1734, 1736, 1738, 645 233, 137, 2883, 1811, 1824, 1837, 1847, 1857, 1870, 1880, 646 1893, 1906, 1919, 1927, 1937, 1944, 1951, 1958, 1965, 1972, 647 1979, 1986, 1993, 2000, 2007, 2011, 2019, 2025, 2032, 2039, 648 2046, 2053, 2056, 2063, 2069, 2082, 2095, 2102, 2109, 2116, 649 2123, 2126, 2133, 2136, 2143, 2146, 2153, 2156, 2163, 2166, 650 2173, 2176, 2183, 2186, 2193, 2201, 2208, 2215, 2222, 2229, 651 2232, 2239, 2242, 2249, 2252, 2259, 2265, 2278, 2285, 2292, 652 2295, 2302, 2305, 2312, 2315, 2322, 2325, 2332, 2335, 2342, 653 2345, 2352, 2359, 2362, 2369, 2372, 2379, 2386, 2393, 2396, 654 655 2403, 2406, 2413, 2416, 2423, 2426, 2433, 2436, 2443, 2449, 656 2462, 2469, 2476, 2479, 2486, 2489, 2496, 2499, 2506, 2509, 657 2516, 2519, 2526, 2529, 2536, 2539, 2546, 2549, 2556, 2563, 658 2566, 2573, 2576, 2583, 2586, 2593, 2596, 2599, 2605, 2612, 659 2621, 2628, 2635, 2638, 2645, 2648, 2651, 2657, 2664, 2667, 660 2670, 2673, 2676, 2679, 2682, 2685, 2692, 2695, 2702, 2705, 661 2708, 2711, 2714, 2724, 2731, 2734, 2737, 2740, 2747, 2754, 662 2761, 2764, 2771, 2778, 2785, 2792, 2799, 2806, 2813, 2820, 663 2827, 2834, 2841, 2848, 2855, 2862, 2869 663 664 } ; 664 665 665 static yyconst flex_int16_t yy_def[108 3] =666 static yyconst flex_int16_t yy_def[1088] = 666 667 { 0, 667 9 08, 1, 909, 909, 908, 5, 910, 910, 911, 911,668 9 08, 908, 908, 908, 908, 908, 908, 912, 908, 908,669 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,670 9 08, 31, 908, 908, 908, 908, 908, 908, 913, 912,671 9 08, 908, 908, 908, 912, 908, 912, 912, 912, 912,672 91 2, 912, 912, 912, 912, 912, 912, 912, 912, 912,673 91 2, 912, 912, 908, 908, 908, 908, 908, 914, 908,674 9 08, 908, 915, 908, 908, 916, 908, 908, 917, 908,675 9 08, 908, 908, 908, 908, 908, 912, 908, 908, 908,676 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,677 678 9 08, 918, 908, 908, 30, 908, 908, 908, 908, 919,679 30, 908, 31, 908, 908, 31, 908, 908, 908, 908,680 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,681 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,682 9 20, 908, 908, 908, 908, 912, 921, 922, 908, 908,683 91 2, 912, 912, 912, 912, 912, 912, 912, 912, 912,684 91 2, 912, 912, 912, 912, 912, 912, 912, 912, 912,685 91 2, 912, 912, 912, 912, 912, 912, 912, 912, 912,686 91 2, 912, 912, 912, 912, 912, 912, 912, 912, 912,687 91 2, 912, 912, 912, 912, 912, 912, 912, 908, 908,688 689 9 08, 914, 914, 914, 908, 914, 908, 915, 908, 923,690 9 24, 916, 908, 908, 908, 908, 925, 926, 927, 917,691 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,692 9 08, 908, 908, 928, 929, 908, 100, 908, 908, 908,693 9 08, 100, 918, 908, 100, 111, 246, 908, 908, 908,694 9 08, 908, 908, 908, 908, 930, 931, 932, 908, 908,695 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,696 9 08, 908, 933, 908, 934, 935, 936, 937, 938, 939,697 9 08, 940, 940, 940, 940, 940, 940, 940, 940, 940,698 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,699 700 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,701 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,702 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,703 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,704 94 0, 940, 940, 940, 940, 940, 940, 940, 940, 940,705 94 1, 942, 943, 944, 945, 946, 947, 948, 908, 908,706 9 49, 950, 951, 952, 953, 954, 908, 908, 908, 908,707 9 08, 955, 956, 957, 958, 908, 908, 908, 908, 908,708 9 08, 908, 382, 908, 378, 385, 908, 908, 959, 960,709 9 61, 908, 908, 908, 961, 908, 908, 908, 962, 963,710 711 9 64, 965, 966, 967, 968, 969, 970, 971, 908, 972,712 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,713 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,714 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,715 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,716 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,717 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 972,718 97 2, 972, 972, 972, 972, 972, 972, 972, 972, 973,719 97 4, 975, 976, 977, 978, 979, 980, 981, 908, 982,720 98 3, 984, 985, 986, 986, 987, 988, 989, 990, 908,721 722 500, 908, 908, 991, 908, 991, 908, 908, 908, 908,723 9 08, 908, 908, 908, 992, 993, 994, 995, 996, 997,724 99 8, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1005, 1005,725 100 5, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,726 10 05, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,727 10 05, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,728 10 05, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,729 10 05, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,730 10 05, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,731 10 05, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,732 733 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 908,734 908, 908, 908, 1023, 908, 612, 908, 908, 908, 616,735 908, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,736 1033, 1034, 1035, 103 4, 1034, 1034, 1034, 1034, 1034, 1034,737 103 4, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,738 103 4, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,739 103 4, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,740 103 4, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,741 103 4, 1034, 1034, 1034, 1034, 1036, 908, 1037, 1038, 1039,742 104 0, 1041, 1042, 1043, 1044, 1045, 1046, 908, 1047, 1048,743 744 10 49, 1050, 908, 703, 908, 908, 908, 1051, 1052, 1053,745 1054, 1055, 1056, 1057, 1058, 1059, 1059, 1059, 1059, 1059,746 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,747 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,748 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,749 10 59, 1059, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 908,750 106 6, 1051, 1053, 1067, 1068, 1058, 1059, 1059, 1059, 1059,751 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,752 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,753 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1069, 1070,754 755 106 3, 1071, 1064, 1072, 1065, 1073, 1074, 1067, 1075, 1068,756 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,757 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,758 10 76, 1069, 1077, 1070, 1078, 1071, 1079, 1072, 1080, 1073,759 10 81, 1074, 1075, 1059, 1059, 1059, 1059, 1059, 1059, 1059,760 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,761 10 82, 1076, 1077, 1078, 1079, 1053, 1080, 1081, 1059, 1059,762 105 9, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,763 10 59, 1082, 1053, 1059, 1059, 1059, 1059, 1059, 1059, 1059,764 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,765 766 10 59, 1059, 1059, 1059, 1059, 1059, 1059, 0, 908, 908,767 908, 908, 908, 908, 908, 908, 908, 908, 908, 908,768 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,769 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,770 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,771 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,772 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,773 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,774 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,775 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,776 777 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,778 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,779 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,780 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,781 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,782 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,783 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,784 9 08, 908, 908, 908, 908, 908, 908, 908, 908, 908,785 9 08, 908668 913, 1, 914, 914, 913, 5, 915, 915, 916, 916, 669 913, 913, 913, 913, 913, 913, 913, 917, 913, 913, 670 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 671 913, 31, 913, 913, 913, 913, 913, 913, 918, 917, 672 913, 913, 913, 913, 917, 913, 917, 917, 917, 917, 673 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 674 917, 917, 917, 917, 913, 913, 913, 913, 913, 919, 675 913, 913, 913, 920, 913, 913, 921, 913, 913, 922, 676 913, 913, 913, 913, 913, 913, 913, 917, 913, 913, 677 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 678 679 913, 913, 923, 913, 913, 30, 913, 913, 913, 913, 680 924, 30, 913, 31, 913, 913, 31, 913, 913, 913, 681 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 682 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 683 913, 925, 913, 913, 913, 913, 917, 926, 927, 913, 684 913, 917, 917, 917, 917, 917, 917, 917, 917, 917, 685 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 686 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 687 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 688 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 689 690 913, 913, 913, 919, 919, 919, 913, 919, 913, 920, 691 913, 928, 929, 921, 913, 913, 913, 913, 930, 931, 692 932, 922, 913, 913, 913, 913, 913, 913, 913, 913, 693 913, 913, 913, 913, 913, 933, 934, 913, 101, 913, 694 913, 913, 913, 101, 923, 913, 101, 112, 248, 913, 695 913, 913, 913, 913, 913, 913, 913, 935, 936, 937, 696 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 697 913, 913, 913, 913, 938, 913, 939, 940, 941, 942, 698 943, 944, 913, 945, 945, 945, 945, 945, 945, 945, 699 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 700 701 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 702 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 703 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 704 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 705 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, 706 945, 945, 945, 946, 947, 948, 949, 950, 951, 952, 707 953, 913, 913, 954, 955, 956, 957, 958, 959, 913, 708 913, 913, 913, 913, 960, 961, 962, 963, 913, 913, 709 913, 913, 913, 913, 913, 385, 913, 381, 388, 913, 710 913, 964, 965, 966, 913, 913, 913, 966, 913, 913, 711 712 913, 967, 968, 969, 970, 971, 972, 973, 974, 975, 713 976, 913, 977, 977, 977, 977, 977, 977, 977, 977, 714 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 715 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 716 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 717 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 718 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 719 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 720 977, 977, 977, 978, 979, 980, 981, 982, 983, 984, 721 985, 986, 913, 987, 988, 989, 990, 991, 991, 992, 722 723 993, 994, 995, 913, 504, 913, 913, 996, 913, 996, 724 913, 913, 913, 913, 913, 913, 913, 913, 997, 998, 725 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 726 1009, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 727 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 728 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 729 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 730 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 731 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 732 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, 1012, 1013, 733 734 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 735 1024, 1025, 1026, 1027, 913, 913, 913, 913, 1028, 913, 736 617, 913, 913, 913, 621, 913, 1029, 1030, 1031, 1032, 737 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1039, 1039, 738 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 739 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 740 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 741 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 742 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 743 1041, 913, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 744 745 1050, 1051, 913, 1052, 1053, 1054, 1055, 913, 708, 913, 746 913, 913, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 747 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 748 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 749 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 750 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1066, 751 1067, 1068, 1069, 1070, 913, 1071, 1056, 1058, 1072, 1073, 752 1063, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 753 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 754 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 755 756 1064, 1064, 1064, 1074, 1075, 1068, 1076, 1069, 1077, 1070, 757 1078, 1079, 1072, 1080, 1073, 1064, 1064, 1064, 1064, 1064, 758 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 759 1064, 1064, 1064, 1064, 1064, 1081, 1074, 1082, 1075, 1083, 760 1076, 1084, 1077, 1085, 1078, 1086, 1079, 1080, 1064, 1064, 761 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 762 1064, 1064, 1064, 1064, 1064, 1087, 1081, 1082, 1083, 1084, 763 1058, 1085, 1086, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 764 1064, 1064, 1064, 1064, 1064, 1064, 1087, 1058, 1064, 1064, 765 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 766 767 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 768 1064, 1064, 0, 913, 913, 913, 913, 913, 913, 913, 769 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 770 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 771 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 772 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 773 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 774 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 775 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 776 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 777 778 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 779 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 780 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 781 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 782 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 783 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 784 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 785 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 786 913, 913, 913, 913, 913, 913, 913 786 787 } ; 787 788 788 static yyconst flex_int16_t yy_nxt[296 3] =789 static yyconst flex_int16_t yy_nxt[2969] = 789 790 { 0, 790 791 12, 13, 14, 15, 15, 15, 13, 16, 17, 12, … … 794 795 18, 18, 18, 40, 18, 18, 18, 18, 18, 40, 795 796 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 796 50, 51, 52, 53, 18, 54, 18, 55, 18, 18, 797 56, 18, 57, 58, 59, 60, 61, 62, 18, 18, 798 63, 64, 65, 66, 67, 68, 85, 93, 86, 86, 799 68, 89, 90, 69, 72, 72, 72, 72, 72, 72, 800 801 72, 72, 72, 72, 73, 72, 72, 72, 72, 72, 802 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 803 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 797 50, 51, 52, 53, 18, 54, 18, 55, 56, 18, 798 57, 18, 58, 59, 60, 61, 62, 63, 18, 18, 799 64, 65, 66, 67, 68, 69, 86, 94, 87, 87, 800 69, 90, 91, 70, 73, 73, 73, 73, 73, 73, 801 802 73, 73, 73, 73, 74, 73, 73, 73, 73, 73, 804 803 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 805 73, 73, 73, 73, 73, 72, 74, 72, 72, 73, 806 75, 73, 73, 73, 73, 73, 73, 73, 73, 73, 807 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 808 73, 73, 73, 73, 73, 72, 72, 72, 72, 77, 809 77, 80, 80, 124, 125, 91, 142, 80, 80, 88, 810 77, 77, 81, 82, 83, 83, 83, 81, 83, 82, 811 812 84, 84, 84, 83, 92, 94, 88, 143, 147, 99, 813 96, 100, 100, 100, 100, 100, 100, 256, 908, 95, 814 101, 86, 97, 98, 86, 102, 162, 119, 144, 78, 815 78, 78, 78, 145, 148, 103, 104, 88, 105, 105, 816 105, 105, 106, 106, 120, 88, 121, 122, 149, 267, 817 150, 268, 258, 264, 185, 107, 199, 652, 160, 108, 818 161, 151, 152, 153, 88, 109, 110, 154, 155, 163, 819 156, 111, 88, 157, 158, 146, 164, 107, 88, 88, 820 88, 159, 165, 112, 210, 88, 88, 88, 198, 88, 821 88, 109, 197, 88, 110, 104, 254, 113, 113, 113, 822 823 113, 113, 113, 88, 170, 178, 171, 200, 196, 88, 824 211, 181, 166, 234, 107, 172, 167, 182, 114, 179, 825 255, 168, 88, 275, 115, 169, 180, 173, 253, 88, 826 116, 88, 908, 88, 88, 174, 107, 175, 286, 235, 827 176, 252, 117, 267, 177, 268, 252, 253, 183, 276, 828 115, 126, 284, 184, 253, 127, 128, 88, 129, 144, 829 130, 131, 908, 132, 145, 133, 88, 259, 262, 186, 830 187, 261, 88, 253, 134, 135, 136, 194, 190, 188, 831 269, 267, 189, 268, 290, 260, 191, 269, 192, 260, 832 908, 261, 263, 193, 267, 137, 268, 261, 138, 267, 833 834 267, 268, 268, 88, 88, 88, 146, 201, 82, 83, 835 83, 83, 201, 204, 205, 202, 88, 261, 204, 318, 836 195, 270, 267, 285, 268, 139, 140, 81, 82, 83, 837 83, 83, 81, 309, 206, 206, 206, 206, 206, 206, 838 213, 214, 267, 88, 268, 213, 144, 215, 267, 271, 839 268, 145, 215, 83, 82, 83, 83, 83, 83, 287, 840 88, 216, 216, 216, 216, 83, 82, 84, 84, 84, 841 83, 88, 215, 245, 245, 245, 245, 245, 245, 246, 842 246, 246, 246, 267, 267, 268, 268, 88, 217, 288, 843 88, 215, 88, 88, 88, 88, 215, 215, 88, 436, 844 845 215, 215, 282, 88, 304, 88, 88, 908, 215, 283, 846 88, 215, 247, 215, 218, 215, 289, 219, 221, 302, 847 303, 88, 222, 223, 88, 321, 307, 224, 225, 312, 848 226, 88, 227, 88, 310, 908, 88, 313, 88, 308, 849 88, 228, 229, 230, 104, 88, 106, 106, 106, 106, 850 106, 106, 305, 306, 311, 88, 320, 314, 88, 88, 851 315, 88, 231, 107, 249, 232, 249, 317, 88, 250, 852 250, 250, 250, 250, 250, 319, 88, 328, 316, 248, 853 88, 327, 88, 323, 88, 107, 322, 367, 88, 368, 854 88, 88, 88, 233, 237, 237, 237, 237, 237, 237, 855 856 333, 326, 251, 334, 88, 88, 324, 329, 88, 336, 857 238, 239, 240, 325, 241, 240, 88, 342, 338, 330, 858 335, 144, 781, 88, 337, 88, 88, 242, 88, 331, 859 332, 340, 240, 239, 240, 88, 339, 241, 345, 240, 860 291, 292, 293, 350, 294, 295, 346, 343, 296, 88, 861 297, 88, 353, 341, 88, 298, 299, 300, 367, 301, 862 368, 367, 347, 368, 348, 88, 88, 349, 344, 201, 863 82, 83, 83, 83, 201, 204, 205, 202, 354, 368, 864 204, 204, 205, 414, 213, 214, 204, 351, 205, 213, 865 88, 908, 351, 367, 352, 368, 206, 206, 206, 206, 866 867 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 868 206, 206, 206, 206, 359, 359, 359, 359, 368, 367, 869 908, 368, 369, 367, 367, 368, 368, 367, 370, 368, 870 367, 367, 368, 368, 367, 376, 368, 376, 376, 380, 871 267, 380, 268, 377, 380, 377, 88, 360, 378, 378, 872 378, 378, 378, 378, 267, 384, 268, 908, 376, 410, 873 376, 380, 104, 380, 246, 246, 246, 246, 380, 382, 874 382, 382, 382, 382, 382, 106, 106, 106, 106, 106, 875 106, 379, 250, 250, 250, 250, 250, 250, 88, 88, 876 88, 88, 107, 88, 88, 387, 415, 247, 88, 417, 877 878 88, 88, 383, 397, 399, 428, 411, 412, 259, 413, 879 416, 88, 457, 425, 107, 385, 385, 385, 385, 385, 880 385, 387, 390, 106, 106, 106, 106, 106, 106, 397, 881 400, 238, 249, 240, 249, 241, 240, 250, 250, 250, 882 250, 250, 250, 88, 88, 392, 88, 393, 386, 88, 883 88, 394, 429, 240, 88, 240, 259, 395, 241, 88, 884 240, 113, 113, 113, 113, 113, 113, 422, 88, 396, 885 418, 88, 423, 393, 419, 424, 88, 394, 88, 88, 886 420, 421, 88, 88, 426, 427, 88, 434, 88, 430, 887 88, 88, 435, 88, 264, 88, 432, 433, 431, 88, 888 889 441, 88, 88, 88, 442, 88, 437, 443, 438, 439, 890 440, 445, 444, 88, 88, 88, 88, 88, 449, 446, 891 450, 447, 451, 448, 88, 88, 88, 88, 88, 452, 892 88, 459, 88, 88, 88, 454, 88, 88, 88, 456, 893 88, 88, 458, 455, 88, 461, 453, 466, 88, 460, 894 88, 88, 144, 88, 465, 462, 464, 463, 88, 88, 895 88, 471, 467, 88, 468, 88, 469, 473, 470, 88, 896 472, 474, 475, 476, 477, 478, 88, 351, 205, 205, 897 88, 479, 351, 88, 352, 203, 215, 215, 215, 215, 898 359, 359, 359, 359, 528, 367, 88, 368, 367, 531, 899 900 368, 378, 378, 378, 378, 378, 378, 377, 505, 377, 901 88, 513, 378, 378, 378, 378, 378, 378, 506, 489, 902 500, 500, 500, 500, 500, 500, 237, 237, 237, 237, 903 237, 237, 535, 88, 505, 514, 238, 88, 240, 88, 904 241, 240, 246, 246, 246, 246, 106, 106, 508, 529, 905 533, 505, 530, 501, 509, 509, 88, 88, 240, 381, 906 240, 507, 88, 241, 675, 240, 382, 382, 382, 382, 907 382, 382, 390, 508, 88, 384, 88, 505, 538, 539, 908 509, 509, 238, 239, 240, 532, 241, 240, 385, 385, 909 385, 385, 385, 385, 88, 392, 543, 393, 88, 383, 910 911 548, 394, 908, 908, 240, 239, 240, 395, 510, 241, 912 510, 240, 88, 511, 511, 511, 511, 511, 511, 396, 913 88, 386, 88, 393, 88, 537, 392, 394, 393, 534, 914 88, 536, 394, 88, 88, 88, 88, 540, 515, 545, 915 88, 88, 88, 88, 550, 88, 512, 88, 544, 88, 916 396, 541, 542, 88, 393, 546, 553, 549, 394, 554, 917 551, 88, 547, 88, 552, 556, 555, 88, 88, 559, 918 88, 88, 88, 88, 557, 88, 558, 561, 88, 88, 919 88, 88, 560, 88, 88, 562, 88, 88, 565, 569, 920 88, 563, 88, 567, 564, 88, 573, 566, 570, 568, 921 922 88, 88, 88, 88, 88, 574, 571, 88, 572, 578, 923 575, 581, 576, 88, 582, 580, 88, 577, 88, 579, 924 88, 88, 88, 205, 88, 585, 586, 88, 583, 593, 925 592, 505, 589, 591, 615, 584, 587, 588, 215, 215, 926 215, 215, 88, 88, 590, 500, 500, 500, 500, 500, 927 500, 382, 382, 382, 382, 382, 382, 505, 636, 634, 928 615, 238, 88, 240, 88, 241, 240, 385, 385, 385, 929 385, 385, 385, 908, 883, 635, 505, 638, 501, 88, 930 88, 505, 88, 240, 502, 240, 506, 611, 241, 611, 931 240, 614, 612, 612, 612, 612, 612, 612, 88, 637, 932 933 503, 647, 505, 641, 639, 88, 88, 505, 511, 511, 934 511, 511, 511, 511, 510, 908, 510, 642, 640, 511, 935 511, 511, 511, 511, 511, 613, 616, 616, 616, 616, 936 616, 616, 88, 88, 88, 643, 88, 88, 88, 88, 937 88, 88, 617, 649, 618, 88, 619, 618, 648, 645, 938 651, 650, 88, 644, 653, 646, 88, 88, 88, 620, 939 88, 656, 657, 654, 618, 88, 618, 659, 658, 619, 940 88, 618, 88, 655, 88, 88, 88, 660, 88, 88, 941 661, 663, 88, 88, 664, 662, 88, 88, 669, 88, 942 666, 88, 88, 665, 667, 670, 671, 668, 88, 88, 943 944 88, 88, 88, 88, 673, 88, 677, 88, 676, 674, 945 680, 672, 681, 679, 88, 682, 88, 908, 908, 683, 946 684, 88, 678, 500, 500, 500, 500, 500, 500, 612, 947 612, 612, 612, 612, 612, 611, 685, 611, 721, 88, 948 612, 612, 612, 612, 612, 612, 616, 616, 616, 616, 949 616, 616, 720, 705, 705, 88, 610, 703, 703, 703, 950 703, 703, 703, 705, 88, 706, 908, 706, 88, 716, 951 706, 88, 725, 617, 88, 618, 705, 619, 618, 620, 952 719, 718, 717, 88, 88, 88, 705, 706, 88, 706, 953 704, 722, 723, 88, 706, 618, 724, 618, 88, 729, 954 955 619, 726, 618, 88, 88, 728, 727, 88, 88, 88, 956 735, 733, 88, 88, 88, 88, 88, 88, 88, 88, 957 88, 731, 88, 738, 88, 730, 734, 736, 741, 732, 958 88, 744, 88, 737, 739, 88, 88, 740, 88, 88, 959 742, 748, 743, 749, 745, 746, 88, 747, 750, 88, 960 753, 88, 88, 88, 88, 882, 751, 773, 752, 703, 961 703, 703, 703, 703, 703, 616, 616, 616, 616, 616, 962 616, 88, 767, 772, 88, 617, 88, 618, 769, 619, 963 618, 768, 88, 770, 88, 88, 88, 771, 774, 88, 964 776, 88, 704, 88, 779, 778, 88, 618, 707, 618, 965 966 88, 88, 619, 782, 618, 784, 777, 775, 88, 88, 967 783, 785, 88, 88, 88, 88, 88, 780, 88, 88, 968 787, 88, 786, 788, 88, 791, 88, 789, 88, 88, 969 88, 88, 88, 813, 797, 88, 790, 792, 794, 798, 970 88, 88, 793, 795, 814, 796, 703, 703, 703, 703, 971 703, 703, 811, 88, 88, 88, 88, 812, 816, 819, 972 821, 88, 88, 815, 822, 823, 88, 818, 820, 88, 973 88, 817, 825, 824, 88, 88, 88, 826, 88, 760, 974 88, 88, 88, 88, 88, 827, 847, 88, 88, 88, 975 849, 88, 850, 852, 88, 88, 88, 853, 828, 829, 976 977 846, 830, 845, 88, 88, 88, 848, 844, 855, 851, 978 88, 88, 857, 856, 88, 88, 88, 854, 88, 88, 979 858, 871, 859, 870, 88, 88, 88, 88, 88, 875, 980 860, 877, 88, 872, 88, 878, 869, 88, 88, 88, 981 88, 88, 88, 873, 876, 885, 879, 88, 881, 874, 982 880, 884, 88, 88, 892, 886, 88, 887, 888, 889, 983 88, 88, 88, 890, 891, 88, 88, 88, 894, 88, 984 896, 88, 897, 88, 88, 88, 895, 893, 88, 88, 985 88, 88, 88, 88, 901, 88, 88, 908, 908, 900, 986 868, 902, 908, 898, 899, 907, 867, 908, 905, 865, 987 988 908, 903, 904, 864, 906, 70, 70, 70, 70, 70, 989 70, 70, 70, 70, 70, 70, 70, 70, 76, 76, 990 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 991 76, 79, 79, 79, 79, 79, 79, 79, 79, 79, 992 79, 79, 79, 79, 87, 908, 863, 87, 908, 87, 993 87, 87, 87, 87, 141, 862, 88, 88, 141, 141, 994 141, 141, 141, 141, 203, 203, 203, 203, 203, 203, 995 203, 203, 203, 203, 203, 203, 203, 208, 88, 908, 996 208, 843, 208, 208, 208, 208, 208, 212, 908, 212, 997 212, 842, 212, 212, 212, 212, 212, 212, 840, 212, 998 999 220, 908, 838, 220, 220, 220, 220, 220, 220, 220, 1000 220, 908, 220, 243, 243, 243, 243, 243, 243, 243, 1001 243, 243, 243, 243, 243, 243, 257, 257, 836, 257, 1002 908, 834, 832, 257, 273, 88, 88, 273, 88, 273, 1003 273, 273, 273, 273, 277, 88, 277, 88, 88, 88, 1004 277, 279, 88, 279, 88, 88, 88, 279, 355, 88, 1005 355, 908, 810, 808, 355, 357, 908, 357, 908, 805, 1006 803, 357, 361, 801, 361, 88, 88, 88, 361, 363, 1007 88, 363, 88, 88, 88, 363, 365, 766, 365, 763, 1008 762, 760, 365, 372, 209, 372, 756, 755, 687, 372, 1009 1010 374, 88, 374, 88, 88, 88, 374, 389, 88, 389, 1011 391, 391, 88, 391, 391, 391, 88, 391, 257, 257, 1012 88, 257, 273, 88, 88, 273, 88, 273, 273, 273, 1013 273, 273, 401, 88, 401, 88, 88, 88, 401, 403, 1014 88, 403, 714, 713, 711, 403, 405, 709, 405, 707, 1015 614, 702, 405, 277, 701, 277, 407, 699, 407, 697, 1016 695, 693, 407, 279, 691, 279, 87, 689, 687, 87, 1017 88, 87, 87, 87, 87, 87, 203, 203, 203, 203, 1018 203, 203, 203, 203, 203, 203, 203, 203, 203, 480, 1019 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 1020 1021 480, 480, 481, 88, 481, 88, 88, 88, 481, 483, 1022 88, 483, 88, 88, 88, 483, 485, 88, 485, 88, 1023 88, 88, 485, 355, 633, 355, 487, 631, 487, 629, 1024 627, 625, 487, 357, 623, 357, 490, 515, 490, 621, 1025 621, 610, 490, 361, 609, 361, 492, 607, 492, 495, 1026 495, 605, 492, 363, 603, 363, 494, 601, 494, 599, 1027 597, 595, 494, 365, 88, 365, 496, 88, 496, 88, 1028 88, 88, 496, 372, 88, 372, 498, 88, 498, 88, 1029 527, 525, 498, 374, 523, 374, 504, 521, 504, 519, 1030 504, 517, 504, 389, 503, 389, 502, 389, 499, 389, 1031 1032 391, 391, 497, 391, 391, 391, 368, 391, 516, 368, 1033 516, 495, 493, 491, 516, 518, 488, 518, 486, 484, 1034 482, 518, 520, 88, 520, 88, 88, 409, 520, 401, 1035 408, 401, 522, 406, 522, 404, 402, 274, 522, 403, 1036 269, 403, 524, 268, 524, 398, 398, 256, 524, 405, 1037 388, 405, 526, 388, 526, 244, 381, 375, 526, 407, 1038 373, 407, 87, 371, 367, 87, 366, 87, 87, 87, 1039 87, 87, 480, 480, 480, 480, 480, 480, 480, 480, 1040 480, 480, 480, 480, 480, 594, 364, 594, 362, 358, 1041 356, 594, 481, 209, 481, 596, 205, 596, 88, 281, 1042 1043 280, 596, 483, 278, 483, 598, 274, 598, 269, 272, 1044 269, 598, 485, 267, 485, 600, 266, 600, 265, 244, 1045 236, 600, 487, 86, 487, 602, 86, 602, 88, 209, 1046 207, 602, 490, 86, 490, 604, 123, 604, 118, 88, 1047 908, 604, 492, 71, 492, 494, 71, 494, 908, 908, 1048 908, 494, 606, 908, 606, 908, 908, 908, 606, 496, 1049 908, 496, 608, 908, 608, 908, 908, 908, 608, 498, 1050 908, 498, 504, 908, 504, 908, 504, 908, 504, 391, 1051 908, 391, 908, 908, 908, 391, 622, 908, 622, 908, 1052 908, 908, 622, 516, 908, 516, 624, 908, 624, 908, 1053 1054 908, 908, 624, 518, 908, 518, 626, 908, 626, 908, 1055 908, 908, 626, 520, 908, 520, 628, 908, 628, 908, 1056 908, 908, 628, 522, 908, 522, 630, 908, 630, 908, 1057 908, 908, 630, 524, 908, 524, 632, 908, 632, 908, 1058 908, 908, 632, 526, 908, 526, 87, 908, 908, 87, 1059 908, 87, 87, 87, 87, 87, 686, 686, 686, 686, 1060 686, 686, 686, 686, 686, 686, 686, 686, 686, 688, 1061 908, 688, 908, 908, 908, 688, 594, 908, 594, 690, 1062 908, 690, 908, 908, 908, 690, 596, 908, 596, 692, 1063 908, 692, 908, 908, 908, 692, 598, 908, 598, 694, 1064 1065 908, 694, 908, 908, 908, 694, 600, 908, 600, 696, 1066 908, 696, 908, 908, 908, 696, 602, 908, 602, 698, 1067 908, 698, 908, 908, 908, 698, 604, 908, 604, 700, 1068 908, 700, 908, 908, 908, 700, 606, 908, 606, 87, 1069 908, 87, 908, 908, 908, 87, 608, 908, 608, 504, 1070 908, 504, 908, 908, 908, 504, 708, 908, 708, 908, 1071 908, 908, 708, 622, 908, 622, 710, 908, 710, 908, 1072 908, 908, 710, 624, 908, 624, 712, 908, 712, 908, 1073 908, 908, 712, 626, 908, 626, 141, 908, 141, 908, 1074 908, 908, 141, 628, 908, 628, 715, 908, 715, 630, 1075 1076 908, 630, 87, 908, 908, 87, 908, 87, 87, 87, 1077 87, 87, 632, 908, 632, 686, 686, 686, 686, 686, 1078 686, 686, 686, 686, 686, 686, 686, 686, 754, 908, 1079 754, 908, 908, 908, 754, 688, 908, 688, 208, 908, 1080 208, 908, 908, 908, 208, 690, 908, 690, 757, 908, 1081 757, 692, 908, 692, 208, 908, 908, 208, 908, 208, 1082 208, 208, 208, 208, 694, 908, 694, 758, 908, 758, 1083 696, 908, 696, 698, 908, 698, 759, 908, 759, 700, 1084 908, 700, 87, 908, 87, 761, 908, 761, 908, 908, 1085 908, 761, 708, 908, 708, 273, 908, 273, 908, 908, 1086 1087 908, 273, 710, 908, 710, 764, 908, 764, 712, 908, 1088 712, 141, 908, 141, 765, 908, 765, 908, 908, 908, 1089 765, 87, 908, 908, 87, 908, 87, 87, 87, 87, 1090 87, 799, 908, 799, 754, 908, 754, 208, 908, 208, 1091 800, 908, 800, 908, 908, 908, 800, 802, 908, 802, 1092 908, 908, 908, 802, 804, 908, 804, 908, 908, 908, 1093 804, 806, 908, 806, 807, 908, 807, 908, 908, 908, 1094 807, 809, 908, 809, 908, 908, 908, 809, 831, 908, 1095 831, 908, 908, 908, 831, 833, 908, 833, 908, 908, 1096 908, 833, 835, 908, 835, 908, 908, 908, 835, 837, 1097 1098 908, 837, 908, 908, 908, 837, 839, 908, 839, 908, 1099 908, 908, 839, 841, 908, 841, 908, 908, 908, 841, 1100 632, 908, 632, 908, 908, 908, 632, 861, 908, 861, 1101 908, 908, 908, 861, 694, 908, 694, 908, 908, 908, 1102 694, 698, 908, 698, 908, 908, 908, 698, 87, 908, 1103 87, 908, 908, 908, 87, 866, 908, 866, 908, 908, 1104 908, 866, 141, 908, 141, 908, 908, 908, 141, 208, 1105 908, 208, 908, 908, 908, 208, 11, 908, 908, 908, 1106 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1107 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1108 1109 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1110 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1111 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1112 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1113 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1114 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1115 908, 908 804 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 805 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 806 74, 74, 74, 74, 74, 73, 75, 73, 73, 74, 807 76, 74, 74, 74, 74, 74, 74, 74, 74, 74, 808 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 809 74, 74, 74, 74, 74, 73, 73, 73, 73, 78, 810 78, 81, 81, 125, 126, 92, 143, 81, 81, 89, 811 78, 78, 82, 83, 84, 84, 84, 82, 84, 83, 812 813 85, 85, 85, 84, 93, 95, 89, 144, 148, 100, 814 97, 101, 101, 101, 101, 101, 101, 258, 913, 96, 815 102, 87, 98, 99, 87, 103, 163, 120, 145, 79, 816 79, 79, 79, 146, 149, 104, 105, 89, 106, 106, 817 106, 106, 107, 107, 121, 89, 122, 123, 150, 269, 818 151, 270, 260, 266, 187, 108, 89, 657, 161, 109, 819 162, 152, 153, 154, 89, 110, 111, 155, 156, 164, 820 157, 112, 89, 158, 159, 147, 165, 108, 89, 184, 821 89, 160, 166, 113, 212, 89, 89, 89, 201, 89, 822 89, 110, 199, 89, 111, 105, 89, 114, 114, 114, 823 824 114, 114, 114, 89, 171, 179, 172, 236, 198, 89, 825 213, 182, 167, 311, 108, 173, 168, 183, 115, 180, 826 89, 169, 89, 277, 116, 170, 181, 174, 256, 200, 827 117, 89, 913, 237, 89, 175, 108, 176, 89, 202, 828 177, 254, 118, 269, 178, 270, 292, 255, 185, 278, 829 116, 127, 257, 186, 255, 128, 129, 89, 130, 145, 830 131, 132, 913, 133, 146, 134, 89, 261, 264, 188, 831 189, 263, 254, 255, 135, 136, 137, 196, 192, 190, 832 255, 269, 191, 270, 89, 262, 193, 271, 194, 262, 833 913, 263, 265, 195, 269, 138, 270, 263, 139, 269, 834 835 269, 270, 270, 89, 323, 271, 147, 203, 83, 84, 836 84, 84, 203, 206, 207, 204, 89, 263, 206, 269, 837 197, 270, 269, 273, 270, 140, 141, 82, 83, 84, 838 84, 84, 82, 321, 208, 208, 208, 208, 208, 208, 839 215, 216, 89, 272, 269, 215, 270, 217, 269, 269, 840 270, 270, 217, 84, 83, 84, 84, 84, 84, 89, 841 286, 218, 218, 218, 218, 84, 83, 85, 85, 85, 842 84, 89, 217, 247, 247, 247, 247, 247, 247, 248, 843 248, 248, 248, 89, 89, 145, 284, 89, 219, 89, 844 146, 217, 288, 285, 89, 89, 217, 217, 89, 89, 845 846 217, 217, 287, 289, 89, 304, 460, 913, 217, 320, 847 89, 217, 249, 217, 220, 217, 290, 221, 223, 306, 848 89, 291, 224, 225, 89, 309, 305, 226, 227, 89, 849 228, 89, 229, 89, 312, 913, 89, 89, 310, 89, 850 89, 230, 231, 232, 105, 89, 107, 107, 107, 107, 851 107, 107, 307, 308, 313, 89, 89, 89, 316, 314, 852 317, 319, 233, 108, 251, 234, 251, 315, 89, 252, 853 252, 252, 252, 252, 252, 322, 89, 89, 318, 250, 854 89, 329, 89, 324, 89, 108, 89, 89, 337, 331, 855 325, 89, 89, 235, 239, 239, 239, 239, 239, 239, 856 857 89, 326, 253, 89, 328, 338, 330, 89, 327, 332, 858 240, 241, 242, 341, 243, 242, 89, 145, 333, 345, 859 89, 336, 89, 89, 89, 343, 89, 244, 334, 335, 860 439, 339, 242, 241, 242, 89, 342, 243, 89, 242, 861 293, 294, 295, 346, 296, 297, 340, 344, 298, 89, 862 299, 350, 89, 351, 89, 300, 301, 302, 356, 303, 863 89, 89, 348, 463, 347, 352, 206, 207, 215, 216, 864 349, 206, 89, 215, 353, 203, 83, 84, 84, 84, 865 203, 206, 207, 204, 357, 413, 206, 208, 208, 208, 866 208, 208, 208, 354, 207, 370, 89, 371, 354, 370, 867 868 355, 371, 208, 208, 208, 208, 208, 208, 362, 362, 869 362, 362, 371, 371, 208, 208, 208, 208, 208, 208, 870 370, 370, 371, 371, 379, 370, 370, 371, 371, 372, 871 370, 370, 371, 371, 370, 373, 371, 370, 370, 371, 872 371, 363, 379, 379, 380, 913, 380, 379, 390, 381, 873 381, 381, 381, 381, 381, 383, 269, 383, 270, 105, 874 383, 248, 248, 248, 248, 379, 385, 385, 385, 385, 875 385, 385, 400, 269, 390, 270, 89, 383, 89, 383, 876 387, 89, 382, 402, 383, 107, 107, 107, 107, 107, 877 107, 89, 89, 417, 249, 89, 414, 416, 400, 386, 878 879 418, 89, 108, 252, 252, 252, 252, 252, 252, 403, 880 415, 419, 89, 89, 89, 89, 89, 420, 261, 913, 881 431, 421, 432, 586, 108, 388, 388, 388, 388, 388, 882 388, 393, 426, 89, 107, 107, 107, 107, 107, 107, 883 89, 240, 251, 242, 251, 243, 242, 252, 252, 252, 884 252, 252, 252, 913, 395, 422, 396, 89, 389, 427, 885 397, 423, 424, 242, 89, 242, 398, 261, 243, 89, 886 242, 114, 114, 114, 114, 114, 114, 89, 399, 428, 887 425, 89, 396, 89, 89, 89, 397, 435, 89, 89, 888 437, 89, 89, 429, 430, 89, 433, 438, 89, 89, 889 890 444, 89, 436, 445, 266, 446, 89, 89, 434, 440, 891 441, 89, 442, 443, 89, 448, 89, 449, 89, 89, 892 447, 89, 89, 450, 453, 451, 454, 455, 89, 452, 893 89, 89, 89, 89, 89, 89, 89, 457, 89, 89, 894 462, 89, 89, 459, 456, 89, 458, 461, 465, 89, 895 470, 89, 464, 89, 89, 89, 466, 145, 468, 467, 896 89, 471, 469, 89, 477, 472, 475, 89, 89, 474, 897 89, 473, 89, 476, 89, 480, 479, 481, 478, 354, 898 207, 207, 89, 482, 354, 532, 355, 205, 483, 217, 899 217, 217, 217, 362, 362, 362, 362, 370, 370, 371, 900 901 371, 89, 381, 381, 381, 381, 381, 381, 380, 509, 902 380, 509, 517, 381, 381, 381, 381, 381, 381, 510, 903 89, 511, 493, 504, 504, 504, 504, 504, 504, 239, 904 239, 239, 239, 239, 239, 509, 518, 509, 89, 240, 905 89, 242, 89, 243, 242, 248, 248, 248, 248, 107, 906 107, 512, 89, 537, 533, 534, 505, 513, 513, 89, 907 89, 242, 384, 242, 89, 541, 243, 89, 242, 385, 908 385, 385, 385, 385, 385, 393, 512, 89, 387, 535, 909 542, 539, 89, 513, 513, 240, 241, 242, 89, 243, 910 242, 388, 388, 388, 388, 388, 388, 536, 395, 543, 911 912 396, 89, 386, 553, 397, 89, 913, 242, 241, 242, 913 398, 514, 243, 514, 242, 89, 515, 515, 515, 515, 914 515, 515, 399, 89, 389, 89, 396, 89, 544, 395, 915 397, 396, 538, 89, 540, 397, 89, 89, 89, 89, 916 89, 519, 549, 545, 546, 89, 552, 89, 89, 516, 917 554, 89, 557, 399, 548, 547, 89, 396, 89, 89, 918 550, 397, 89, 556, 89, 89, 555, 551, 558, 89, 919 563, 89, 559, 89, 565, 561, 89, 89, 89, 89, 920 560, 89, 562, 89, 564, 89, 566, 89, 89, 89, 921 89, 89, 569, 567, 571, 89, 573, 89, 568, 578, 922 923 570, 572, 574, 89, 89, 89, 575, 89, 89, 89, 924 89, 577, 579, 583, 576, 580, 587, 581, 89, 89, 925 585, 89, 89, 584, 89, 582, 89, 590, 89, 591, 926 89, 89, 589, 588, 597, 594, 593, 596, 509, 592, 927 207, 913, 620, 639, 595, 641, 598, 217, 217, 217, 928 217, 504, 504, 504, 504, 504, 504, 385, 385, 385, 929 385, 385, 385, 89, 509, 89, 89, 240, 620, 242, 930 646, 243, 242, 388, 388, 388, 388, 388, 388, 640, 931 89, 710, 509, 642, 505, 89, 89, 509, 680, 242, 932 506, 242, 510, 616, 243, 616, 242, 619, 617, 617, 933 934 617, 617, 617, 617, 710, 651, 507, 644, 509, 89, 935 89, 89, 648, 509, 515, 515, 515, 515, 515, 515, 936 514, 89, 514, 643, 645, 515, 515, 515, 515, 515, 937 515, 618, 621, 621, 621, 621, 621, 621, 89, 89, 938 89, 649, 89, 89, 89, 89, 89, 89, 622, 647, 939 623, 653, 624, 623, 650, 89, 655, 656, 89, 863, 940 654, 652, 89, 89, 660, 625, 89, 658, 659, 89, 941 623, 661, 623, 663, 662, 624, 89, 623, 89, 89, 942 665, 666, 89, 89, 89, 664, 89, 89, 89, 89, 943 89, 668, 669, 667, 674, 89, 89, 89, 671, 675, 944 945 89, 670, 672, 673, 676, 89, 89, 89, 89, 89, 946 678, 89, 89, 682, 89, 681, 685, 679, 677, 687, 947 684, 686, 89, 89, 913, 888, 89, 689, 688, 683, 948 504, 504, 504, 504, 504, 504, 617, 617, 617, 617, 949 617, 617, 616, 726, 616, 690, 89, 617, 617, 617, 950 617, 617, 617, 621, 621, 621, 621, 621, 621, 725, 951 710, 710, 89, 615, 708, 708, 708, 708, 708, 708, 952 711, 89, 711, 89, 89, 711, 721, 913, 89, 730, 953 622, 723, 623, 710, 624, 623, 625, 724, 89, 722, 954 89, 89, 711, 89, 711, 728, 727, 709, 729, 711, 955 956 89, 89, 623, 731, 623, 89, 732, 624, 89, 623, 957 89, 89, 89, 733, 738, 740, 734, 89, 89, 89, 958 89, 89, 89, 89, 89, 736, 89, 735, 743, 739, 959 746, 89, 737, 741, 89, 89, 89, 742, 744, 89, 960 749, 89, 89, 89, 745, 753, 747, 89, 748, 754, 961 755, 751, 752, 89, 750, 89, 89, 756, 913, 89, 962 772, 89, 757, 621, 621, 621, 621, 621, 621, 773, 963 758, 708, 708, 708, 708, 708, 708, 89, 89, 89, 964 89, 777, 774, 776, 775, 89, 781, 622, 778, 623, 965 89, 624, 623, 779, 89, 89, 712, 780, 784, 89, 966 967 89, 786, 89, 89, 709, 787, 789, 782, 783, 623, 968 89, 623, 788, 790, 624, 89, 623, 89, 89, 89, 969 89, 785, 89, 89, 89, 792, 89, 89, 791, 793, 970 89, 794, 89, 796, 89, 802, 89, 89, 89, 89, 971 797, 795, 89, 799, 818, 798, 803, 89, 800, 708, 972 708, 708, 708, 708, 708, 801, 816, 89, 89, 817, 973 89, 821, 819, 89, 89, 826, 824, 820, 89, 89, 974 89, 827, 828, 89, 89, 822, 89, 825, 89, 830, 975 829, 831, 765, 89, 89, 832, 823, 89, 89, 89, 976 89, 89, 852, 89, 89, 89, 89, 833, 854, 855, 977 978 857, 89, 89, 913, 858, 913, 834, 835, 851, 850, 979 89, 89, 856, 853, 849, 89, 89, 89, 860, 861, 980 862, 864, 89, 89, 859, 89, 89, 89, 876, 89, 981 875, 89, 89, 865, 880, 89, 877, 89, 882, 89, 982 883, 89, 89, 874, 887, 89, 89, 878, 884, 881, 983 886, 89, 89, 879, 885, 889, 890, 89, 89, 89, 984 891, 89, 892, 893, 894, 89, 89, 89, 895, 896, 985 89, 89, 89, 899, 89, 901, 89, 902, 89, 897, 986 89, 900, 898, 89, 89, 89, 89, 89, 89, 89, 987 89, 89, 906, 89, 89, 905, 913, 907, 903, 904, 988 989 912, 913, 873, 913, 910, 872, 913, 908, 909, 870, 990 911, 71, 71, 71, 71, 71, 71, 71, 71, 71, 991 71, 71, 71, 71, 77, 77, 77, 77, 77, 77, 992 77, 77, 77, 77, 77, 77, 77, 80, 80, 80, 993 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 994 88, 913, 869, 88, 913, 88, 88, 88, 88, 88, 995 142, 868, 913, 867, 142, 142, 142, 142, 142, 142, 996 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 997 205, 205, 205, 210, 89, 89, 210, 89, 210, 210, 998 210, 210, 210, 214, 913, 214, 214, 848, 214, 214, 999 1000 214, 214, 214, 214, 913, 214, 222, 847, 845, 222, 1001 222, 222, 222, 222, 222, 222, 222, 913, 222, 245, 1002 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 1003 245, 245, 259, 259, 843, 259, 913, 841, 913, 259, 1004 275, 839, 837, 275, 89, 275, 275, 275, 275, 275, 1005 279, 89, 279, 89, 89, 89, 279, 281, 89, 281, 1006 89, 89, 89, 281, 358, 89, 358, 89, 89, 913, 1007 358, 360, 815, 360, 813, 913, 913, 360, 364, 810, 1008 364, 808, 806, 89, 364, 366, 89, 366, 89, 89, 1009 89, 366, 368, 89, 368, 89, 771, 768, 368, 375, 1010 1011 767, 375, 765, 211, 761, 375, 377, 760, 377, 692, 1012 89, 89, 377, 392, 89, 392, 394, 394, 89, 394, 1013 394, 394, 89, 394, 259, 259, 89, 259, 275, 89, 1014 89, 275, 89, 275, 275, 275, 275, 275, 404, 89, 1015 404, 89, 89, 89, 404, 406, 89, 406, 89, 89, 1016 719, 406, 408, 718, 408, 716, 714, 712, 408, 279, 1017 619, 279, 410, 707, 410, 706, 704, 702, 410, 281, 1018 700, 281, 88, 698, 696, 88, 694, 88, 88, 88, 1019 88, 88, 205, 205, 205, 205, 205, 205, 205, 205, 1020 205, 205, 205, 205, 205, 484, 484, 484, 484, 484, 1021 1022 484, 484, 484, 484, 484, 484, 484, 484, 485, 692, 1023 485, 89, 89, 89, 485, 487, 89, 487, 89, 89, 1024 89, 487, 489, 89, 489, 89, 89, 89, 489, 358, 1025 89, 358, 491, 89, 491, 89, 638, 636, 491, 360, 1026 634, 360, 494, 632, 494, 630, 628, 519, 494, 364, 1027 626, 364, 496, 626, 496, 615, 614, 612, 496, 366, 1028 499, 366, 498, 499, 498, 610, 608, 606, 498, 368, 1029 604, 368, 500, 602, 500, 600, 89, 89, 500, 375, 1030 89, 375, 502, 89, 502, 89, 89, 89, 502, 377, 1031 89, 377, 508, 531, 508, 529, 508, 527, 508, 392, 1032 1033 525, 392, 523, 392, 521, 392, 394, 394, 507, 394, 1034 394, 394, 506, 394, 520, 503, 520, 501, 371, 371, 1035 520, 522, 499, 522, 497, 495, 492, 522, 524, 490, 1036 524, 488, 486, 89, 524, 404, 89, 404, 526, 89, 1037 526, 412, 411, 409, 526, 406, 407, 406, 528, 405, 1038 528, 276, 271, 270, 528, 408, 401, 408, 530, 401, 1039 530, 258, 391, 391, 530, 410, 246, 410, 88, 384, 1040 378, 88, 376, 88, 88, 88, 88, 88, 484, 484, 1041 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 1042 484, 599, 374, 599, 370, 369, 367, 599, 485, 365, 1043 1044 485, 601, 361, 601, 359, 211, 207, 601, 487, 89, 1045 487, 603, 283, 603, 282, 280, 276, 603, 489, 271, 1046 489, 605, 274, 605, 271, 269, 268, 605, 491, 267, 1047 491, 607, 246, 607, 238, 87, 87, 607, 494, 89, 1048 494, 609, 211, 609, 209, 87, 124, 609, 496, 119, 1049 496, 498, 89, 498, 913, 72, 72, 498, 611, 913, 1050 611, 913, 913, 913, 611, 500, 913, 500, 613, 913, 1051 613, 913, 913, 913, 613, 502, 913, 502, 508, 913, 1052 508, 913, 508, 913, 508, 394, 913, 394, 913, 913, 1053 913, 394, 627, 913, 627, 913, 913, 913, 627, 520, 1054 1055 913, 520, 629, 913, 629, 913, 913, 913, 629, 522, 1056 913, 522, 631, 913, 631, 913, 913, 913, 631, 524, 1057 913, 524, 633, 913, 633, 913, 913, 913, 633, 526, 1058 913, 526, 635, 913, 635, 913, 913, 913, 635, 528, 1059 913, 528, 637, 913, 637, 913, 913, 913, 637, 530, 1060 913, 530, 88, 913, 913, 88, 913, 88, 88, 88, 1061 88, 88, 691, 691, 691, 691, 691, 691, 691, 691, 1062 691, 691, 691, 691, 691, 693, 913, 693, 913, 913, 1063 913, 693, 599, 913, 599, 695, 913, 695, 913, 913, 1064 913, 695, 601, 913, 601, 697, 913, 697, 913, 913, 1065 1066 913, 697, 603, 913, 603, 699, 913, 699, 913, 913, 1067 913, 699, 605, 913, 605, 701, 913, 701, 913, 913, 1068 913, 701, 607, 913, 607, 703, 913, 703, 913, 913, 1069 913, 703, 609, 913, 609, 705, 913, 705, 913, 913, 1070 913, 705, 611, 913, 611, 88, 913, 88, 913, 913, 1071 913, 88, 613, 913, 613, 508, 913, 508, 913, 913, 1072 913, 508, 713, 913, 713, 913, 913, 913, 713, 627, 1073 913, 627, 715, 913, 715, 913, 913, 913, 715, 629, 1074 913, 629, 717, 913, 717, 913, 913, 913, 717, 631, 1075 913, 631, 142, 913, 142, 913, 913, 913, 142, 633, 1076 1077 913, 633, 720, 913, 720, 635, 913, 635, 88, 913, 1078 913, 88, 913, 88, 88, 88, 88, 88, 637, 913, 1079 637, 691, 691, 691, 691, 691, 691, 691, 691, 691, 1080 691, 691, 691, 691, 759, 913, 759, 913, 913, 913, 1081 759, 693, 913, 693, 210, 913, 210, 913, 913, 913, 1082 210, 695, 913, 695, 762, 913, 762, 697, 913, 697, 1083 210, 913, 913, 210, 913, 210, 210, 210, 210, 210, 1084 699, 913, 699, 763, 913, 763, 701, 913, 701, 703, 1085 913, 703, 764, 913, 764, 705, 913, 705, 88, 913, 1086 88, 766, 913, 766, 913, 913, 913, 766, 713, 913, 1087 1088 713, 275, 913, 275, 913, 913, 913, 275, 715, 913, 1089 715, 769, 913, 769, 717, 913, 717, 142, 913, 142, 1090 770, 913, 770, 913, 913, 913, 770, 88, 913, 913, 1091 88, 913, 88, 88, 88, 88, 88, 804, 913, 804, 1092 759, 913, 759, 210, 913, 210, 805, 913, 805, 913, 1093 913, 913, 805, 807, 913, 807, 913, 913, 913, 807, 1094 809, 913, 809, 913, 913, 913, 809, 811, 913, 811, 1095 812, 913, 812, 913, 913, 913, 812, 814, 913, 814, 1096 913, 913, 913, 814, 836, 913, 836, 913, 913, 913, 1097 836, 838, 913, 838, 913, 913, 913, 838, 840, 913, 1098 1099 840, 913, 913, 913, 840, 842, 913, 842, 913, 913, 1100 913, 842, 844, 913, 844, 913, 913, 913, 844, 846, 1101 913, 846, 913, 913, 913, 846, 637, 913, 637, 913, 1102 913, 913, 637, 866, 913, 866, 913, 913, 913, 866, 1103 699, 913, 699, 913, 913, 913, 699, 703, 913, 703, 1104 913, 913, 913, 703, 88, 913, 88, 913, 913, 913, 1105 88, 871, 913, 871, 913, 913, 913, 871, 142, 913, 1106 142, 913, 913, 913, 142, 210, 913, 210, 913, 913, 1107 913, 210, 11, 913, 913, 913, 913, 913, 913, 913, 1108 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1109 1110 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1111 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1112 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1113 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1114 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1115 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1116 913, 913, 913, 913, 913, 913, 913, 913 1116 1117 } ; 1117 1118 1118 static yyconst flex_int16_t yy_chk[296 3] =1119 static yyconst flex_int16_t yy_chk[2969] = 1119 1120 { 0, 1120 1121 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 1137 1138 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1138 1139 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 1139 8, 9, 10, 37, 37, 20, 39, 9, 10, 9 07,1140 8, 9, 10, 37, 37, 20, 39, 9, 10, 912, 1140 1141 7, 8, 13, 13, 13, 13, 13, 13, 15, 15, 1141 1142 1142 1143 15, 15, 15, 15, 20, 25, 48, 39, 42, 28, 1143 27, 28, 28, 28, 28, 28, 28, 11 0, 116, 25,1144 27, 28, 28, 28, 28, 28, 28, 111, 117, 25, 1144 1145 29, 25, 27, 27, 27, 29, 48, 35, 40, 7, 1145 1146 8, 9, 10, 40, 42, 29, 30, 47, 30, 30, 1146 30, 30, 30, 30, 35, 5 7, 35, 35, 44, 127,1147 44, 12 7, 110, 116, 57, 30, 65, 547, 47, 30,1147 30, 30, 30, 30, 35, 58, 35, 35, 44, 128, 1148 44, 128, 111, 117, 58, 30, 56, 551, 47, 30, 1148 1149 47, 45, 45, 45, 49, 30, 30, 45, 45, 49, 1149 45, 30, 40, 45, 45, 40, 49, 30, 45, 63, 1150 62, 45, 49, 30, 74, 906, 547, 53, 63, 51, 1151 61, 30, 62, 55, 30, 31, 109, 31, 31, 31, 1152 1153 31, 31, 31, 50, 51, 53, 51, 65, 61, 54, 1154 74, 55, 50, 88, 31, 51, 50, 55, 31, 54, 1155 109, 50, 52, 143, 31, 50, 54, 52, 112, 154, 1156 31, 56, 111, 898, 152, 52, 31, 52, 154, 88, 1157 52, 108, 31, 128, 52, 128, 112, 108, 56, 143, 1158 31, 38, 152, 56, 112, 38, 38, 58, 38, 60, 1159 38, 38, 111, 38, 60, 38, 59, 111, 115, 58, 1160 58, 117, 158, 108, 38, 38, 38, 60, 59, 58, 1161 131, 130, 58, 130, 158, 114, 59, 132, 59, 117, 1162 111, 114, 115, 59, 131, 38, 131, 117, 38, 132, 1163 1164 133, 132, 133, 60, 173, 153, 60, 68, 68, 68, 1165 68, 68, 68, 69, 69, 68, 165, 114, 69, 173, 1166 60, 134, 134, 153, 134, 38, 38, 81, 81, 81, 1167 81, 81, 81, 165, 69, 69, 69, 69, 69, 69, 1168 78, 78, 135, 155, 135, 78, 146, 78, 136, 136, 1169 136, 146, 78, 83, 83, 83, 83, 83, 83, 155, 1170 897, 78, 78, 78, 78, 84, 84, 84, 84, 84, 1171 84, 156, 78, 104, 104, 104, 104, 104, 104, 105, 1172 105, 105, 105, 138, 140, 138, 140, 151, 78, 156, 1173 146, 78, 306, 894, 157, 162, 78, 78, 161, 306, 1174 1175 78, 78, 151, 160, 162, 176, 168, 105, 78, 151, 1176 169, 78, 105, 78, 78, 78, 157, 78, 86, 160, 1177 161, 164, 86, 86, 166, 176, 164, 86, 86, 168, 1178 86, 163, 86, 167, 166, 105, 170, 169, 175, 164, 1179 893, 86, 86, 86, 106, 172, 106, 106, 106, 106, 1180 106, 106, 163, 163, 167, 171, 175, 170, 174, 177, 1181 171, 178, 86, 106, 107, 86, 107, 172, 183, 107, 1182 107, 107, 107, 107, 107, 174, 182, 183, 171, 106, 1183 184, 182, 186, 178, 181, 106, 177, 222, 891, 222, 1184 192, 180, 187, 86, 100, 100, 100, 100, 100, 100, 1185 1186 186, 181, 107, 187, 188, 189, 180, 184, 185, 188, 1187 100, 100, 100, 180, 100, 100, 190, 192, 189, 185, 1188 187, 194, 732, 198, 188, 195, 191, 100, 193, 185, 1189 185, 191, 100, 100, 100, 159, 190, 100, 195, 100, 1190 159, 159, 159, 198, 159, 159, 195, 193, 159, 196, 1191 159, 732, 209, 191, 197, 159, 159, 159, 223, 159, 1192 223, 224, 196, 224, 196, 194, 286, 197, 194, 201, 1193 201, 201, 201, 201, 201, 202, 202, 201, 209, 225, 1194 202, 204, 204, 286, 213, 213, 204, 206, 206, 213, 1195 890, 883, 206, 225, 206, 225, 202, 202, 202, 202, 1196 1197 202, 202, 204, 204, 204, 204, 204, 204, 206, 206, 1198 206, 206, 206, 206, 216, 216, 216, 216, 226, 227, 1199 247, 227, 228, 228, 229, 228, 229, 230, 230, 230, 1200 226, 232, 226, 232, 233, 240, 233, 238, 238, 241, 1201 270, 241, 270, 239, 241, 239, 282, 216, 239, 239, 1202 239, 239, 239, 239, 271, 247, 271, 882, 240, 282, 1203 238, 241, 246, 241, 246, 246, 246, 246, 241, 245, 1204 245, 245, 245, 245, 245, 248, 248, 248, 248, 248, 1205 248, 239, 249, 249, 249, 249, 249, 249, 283, 284, 1206 288, 287, 248, 285, 289, 252, 287, 246, 295, 289, 1207 1208 297, 326, 245, 260, 274, 297, 283, 284, 248, 285, 1209 288, 881, 326, 295, 248, 250, 250, 250, 250, 250, 1210 250, 252, 257, 259, 259, 259, 259, 259, 259, 260, 1211 274, 250, 251, 250, 251, 250, 250, 251, 251, 251, 1212 251, 251, 251, 298, 292, 257, 880, 257, 250, 294, 1213 290, 257, 298, 250, 293, 250, 259, 257, 250, 291, 1214 250, 264, 264, 264, 264, 264, 264, 292, 296, 257, 1215 290, 300, 293, 257, 291, 294, 299, 257, 301, 303, 1216 291, 291, 304, 305, 296, 296, 307, 304, 309, 299, 1217 308, 879, 305, 313, 264, 310, 301, 303, 300, 311, 1218 1219 310, 312, 314, 318, 311, 316, 307, 312, 308, 309, 1220 309, 314, 313, 315, 317, 319, 322, 320, 318, 315, 1221 319, 316, 320, 317, 321, 323, 324, 327, 328, 321, 1222 329, 328, 330, 331, 332, 322, 333, 334, 335, 324, 1223 336, 337, 327, 323, 338, 330, 321, 335, 340, 329, 1224 339, 342, 344, 345, 334, 331, 333, 332, 343, 346, 1225 349, 340, 336, 350, 337, 347, 338, 343, 339, 348, 1226 342, 345, 346, 347, 348, 349, 875, 351, 351, 352, 1227 413, 350, 351, 410, 351, 352, 359, 359, 359, 359, 1228 360, 360, 360, 360, 410, 369, 344, 369, 370, 413, 1229 1230 370, 377, 377, 377, 377, 377, 377, 379, 389, 379, 1231 417, 394, 379, 379, 379, 379, 379, 379, 389, 359, 1232 378, 378, 378, 378, 378, 378, 381, 381, 381, 381, 1233 381, 381, 417, 411, 389, 394, 378, 412, 378, 415, 1234 378, 378, 384, 384, 384, 384, 384, 384, 392, 411, 1235 415, 390, 412, 378, 392, 396, 578, 421, 378, 381, 1236 378, 390, 420, 378, 578, 378, 382, 382, 382, 382, 1237 382, 382, 391, 396, 424, 384, 414, 390, 420, 421, 1238 392, 396, 382, 382, 382, 414, 382, 382, 385, 385, 1239 385, 385, 385, 385, 428, 391, 424, 391, 871, 382, 1240 1241 428, 391, 868, 395, 382, 382, 382, 391, 393, 382, 1242 393, 382, 419, 393, 393, 393, 393, 393, 393, 391, 1243 416, 385, 418, 391, 422, 419, 395, 391, 395, 416, 1244 425, 418, 395, 430, 426, 423, 429, 422, 395, 426, 1245 427, 431, 434, 439, 430, 438, 393, 436, 425, 432, 1246 395, 423, 423, 441, 395, 427, 434, 429, 395, 436, 1247 431, 440, 427, 442, 432, 439, 438, 443, 444, 442, 1248 446, 448, 449, 450, 440, 451, 441, 444, 452, 453, 1249 454, 456, 443, 458, 461, 446, 459, 460, 450, 454, 1250 462, 448, 463, 452, 449, 464, 460, 451, 456, 453, 1251 1252 465, 466, 467, 470, 468, 461, 458, 469, 459, 465, 1253 462, 468, 463, 471, 469, 467, 472, 464, 473, 466, 1254 474, 475, 477, 480, 478, 472, 473, 479, 470, 480, 1255 479, 507, 475, 478, 508, 471, 473, 474, 489, 489, 1256 489, 489, 528, 531, 477, 500, 500, 500, 500, 500, 1257 500, 502, 502, 502, 502, 502, 502, 507, 531, 528, 1258 508, 500, 529, 500, 533, 500, 500, 503, 503, 503, 1259 503, 503, 503, 867, 866, 529, 504, 533, 500, 532, 1260 542, 506, 534, 500, 502, 500, 504, 505, 500, 505, 1261 500, 506, 505, 505, 505, 505, 505, 505, 536, 532, 1262 1263 503, 542, 504, 536, 534, 535, 537, 506, 510, 510, 1264 510, 510, 510, 510, 512, 865, 512, 537, 535, 512, 1265 512, 512, 512, 512, 512, 505, 511, 511, 511, 511, 1266 511, 511, 538, 539, 540, 538, 541, 546, 544, 543, 1267 545, 549, 511, 544, 511, 548, 511, 511, 543, 540, 1268 546, 545, 551, 539, 548, 541, 550, 552, 555, 511, 1269 557, 551, 552, 549, 511, 558, 511, 555, 554, 511, 1270 559, 511, 560, 550, 554, 562, 563, 557, 564, 565, 1271 558, 560, 567, 568, 562, 559, 570, 571, 568, 574, 1272 564, 575, 576, 563, 565, 570, 571, 567, 579, 580, 1273 1274 581, 582, 589, 586, 575, 587, 580, 590, 579, 576, 1275 583, 574, 586, 582, 592, 587, 583, 864, 863, 589, 1276 590, 638, 581, 610, 610, 610, 610, 610, 610, 611, 1277 611, 611, 611, 611, 611, 613, 592, 613, 638, 637, 1278 613, 613, 613, 613, 613, 613, 616, 616, 616, 616, 1279 616, 616, 637, 617, 617, 642, 610, 612, 612, 612, 1280 612, 612, 612, 618, 634, 619, 862, 619, 639, 634, 1281 619, 636, 642, 612, 635, 612, 617, 612, 612, 616, 1282 636, 635, 634, 645, 646, 640, 618, 619, 641, 619, 1283 612, 639, 640, 644, 619, 612, 641, 612, 643, 646, 1284 1285 612, 643, 612, 647, 648, 645, 644, 649, 650, 651, 1286 652, 650, 653, 654, 655, 657, 656, 660, 667, 658, 1287 661, 648, 662, 655, 666, 647, 651, 653, 658, 649, 1288 669, 662, 672, 654, 656, 684, 673, 657, 652, 680, 1289 660, 672, 661, 673, 666, 667, 681, 669, 680, 683, 1290 684, 716, 719, 722, 723, 861, 681, 723, 683, 703, 1291 703, 703, 703, 703, 703, 707, 707, 707, 707, 707, 1292 707, 717, 716, 722, 856, 703, 720, 703, 719, 703, 1293 703, 717, 721, 720, 727, 724, 729, 721, 724, 725, 1294 727, 730, 703, 728, 730, 729, 731, 703, 707, 703, 1295 1296 733, 734, 703, 733, 703, 735, 728, 725, 736, 737, 1297 734, 736, 738, 739, 740, 741, 742, 731, 748, 745, 1298 738, 749, 737, 739, 750, 742, 752, 740, 773, 774, 1299 753, 735, 771, 773, 752, 776, 741, 745, 748, 753, 1300 772, 778, 745, 749, 774, 750, 760, 760, 760, 760, 1301 760, 760, 771, 775, 777, 780, 779, 772, 776, 779, 1302 781, 783, 785, 775, 783, 785, 786, 778, 780, 787, 1303 789, 777, 787, 786, 788, 790, 792, 788, 796, 760, 1304 811, 813, 814, 815, 816, 789, 815, 817, 781, 818, 1305 817, 820, 818, 821, 822, 824, 855, 822, 790, 792, 1306 1307 814, 796, 813, 827, 828, 825, 816, 811, 825, 820, 1308 826, 829, 827, 826, 830, 845, 846, 824, 847, 821, 1309 828, 847, 829, 846, 848, 849, 850, 851, 854, 850, 1310 830, 854, 857, 848, 884, 857, 845, 858, 859, 860, 1311 870, 853, 869, 849, 851, 870, 858, 873, 860, 849, 1312 859, 869, 872, 874, 884, 872, 876, 873, 874, 876, 1313 877, 878, 885, 877, 878, 886, 887, 888, 886, 889, 1314 888, 892, 889, 895, 896, 899, 887, 885, 900, 901, 1315 903, 902, 904, 852, 899, 905, 844, 843, 842, 896, 1316 841, 900, 840, 892, 895, 905, 839, 838, 903, 837, 1317 1318 836, 901, 902, 835, 904, 909, 909, 909, 909, 909, 1319 909, 909, 909, 909, 909, 909, 909, 909, 910, 910, 1320 910, 910, 910, 910, 910, 910, 910, 910, 910, 910, 1321 910, 911, 911, 911, 911, 911, 911, 911, 911, 911, 1322 911, 911, 911, 911, 912, 834, 833, 912, 832, 912, 1323 912, 912, 912, 912, 913, 831, 823, 819, 913, 913, 1324 913, 913, 913, 913, 914, 914, 914, 914, 914, 914, 1325 914, 914, 914, 914, 914, 914, 914, 915, 812, 810, 1326 915, 809, 915, 915, 915, 915, 915, 916, 808, 916, 1327 916, 807, 916, 916, 916, 916, 916, 916, 806, 916, 1328 1329 917, 805, 804, 917, 917, 917, 917, 917, 917, 917, 1330 917, 803, 917, 918, 918, 918, 918, 918, 918, 918, 1331 918, 918, 918, 918, 918, 918, 919, 919, 802, 919, 1332 801, 800, 799, 919, 920, 798, 797, 920, 795, 920, 1333 920, 920, 920, 920, 921, 794, 921, 793, 791, 784, 1334 921, 922, 782, 922, 770, 769, 768, 922, 923, 767, 1335 923, 766, 765, 764, 923, 924, 763, 924, 762, 759, 1336 758, 924, 925, 757, 925, 751, 747, 746, 925, 926, 1337 744, 926, 743, 726, 718, 926, 927, 715, 927, 710, 1338 708, 704, 927, 928, 694, 928, 690, 688, 686, 928, 1339 1340 929, 685, 929, 682, 679, 678, 929, 930, 677, 930, 1341 931, 931, 676, 931, 931, 931, 675, 931, 932, 932, 1342 674, 932, 933, 671, 670, 933, 668, 933, 933, 933, 1343 933, 933, 934, 665, 934, 664, 663, 659, 934, 935, 1344 632, 935, 628, 626, 624, 935, 936, 622, 936, 620, 1345 614, 608, 936, 937, 606, 937, 938, 604, 938, 602, 1346 600, 598, 938, 939, 596, 939, 940, 594, 593, 940, 1347 591, 940, 940, 940, 940, 940, 941, 941, 941, 941, 1348 941, 941, 941, 941, 941, 941, 941, 941, 941, 942, 1349 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 1350 1351 942, 942, 943, 588, 943, 585, 584, 577, 943, 944, 1352 573, 944, 572, 569, 566, 944, 945, 561, 945, 556, 1353 553, 530, 945, 946, 526, 946, 947, 524, 947, 522, 1354 520, 518, 947, 948, 516, 948, 949, 515, 949, 514, 1355 513, 501, 949, 950, 498, 950, 951, 496, 951, 495, 1356 494, 492, 951, 952, 490, 952, 953, 487, 953, 485, 1357 483, 481, 953, 954, 476, 954, 955, 457, 955, 455, 1358 447, 445, 955, 956, 437, 956, 957, 435, 957, 433, 1359 407, 405, 957, 958, 403, 958, 959, 401, 959, 400, 1360 959, 399, 959, 960, 386, 960, 383, 960, 374, 960, 1361 1362 961, 961, 372, 961, 961, 961, 371, 961, 962, 367, 1363 962, 365, 363, 361, 962, 963, 357, 963, 355, 354, 1364 353, 963, 964, 341, 964, 325, 302, 281, 964, 965, 1365 279, 965, 966, 277, 966, 276, 275, 273, 966, 967, 1366 272, 967, 968, 267, 968, 263, 262, 258, 968, 969, 1367 255, 969, 970, 254, 970, 243, 242, 235, 970, 971, 1368 234, 971, 972, 231, 221, 972, 219, 972, 972, 972, 1369 972, 972, 973, 973, 973, 973, 973, 973, 973, 973, 1370 973, 973, 973, 973, 973, 974, 218, 974, 217, 211, 1371 210, 974, 975, 208, 975, 976, 203, 976, 179, 150, 1372 1373 148, 976, 977, 147, 977, 978, 141, 978, 139, 137, 1374 129, 978, 979, 126, 979, 980, 125, 980, 121, 102, 1375 99, 980, 981, 96, 981, 982, 94, 982, 87, 73, 1376 71, 982, 983, 67, 983, 984, 36, 984, 33, 18, 1377 11, 984, 985, 4, 985, 986, 3, 986, 0, 0, 1378 0, 986, 987, 0, 987, 0, 0, 0, 987, 988, 1379 0, 988, 989, 0, 989, 0, 0, 0, 989, 990, 1380 0, 990, 991, 0, 991, 0, 991, 0, 991, 992, 1381 0, 992, 0, 0, 0, 992, 993, 0, 993, 0, 1382 0, 0, 993, 994, 0, 994, 995, 0, 995, 0, 1383 1384 0, 0, 995, 996, 0, 996, 997, 0, 997, 0, 1385 0, 0, 997, 998, 0, 998, 999, 0, 999, 0, 1386 0, 0, 999, 1000, 0, 1000, 1001, 0, 1001, 0, 1387 0, 0, 1001, 1002, 0, 1002, 1003, 0, 1003, 0, 1388 0, 0, 1003, 1004, 0, 1004, 1005, 0, 0, 1005, 1389 0, 1005, 1005, 1005, 1005, 1005, 1006, 1006, 1006, 1006, 1390 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1007, 1391 0, 1007, 0, 0, 0, 1007, 1008, 0, 1008, 1009, 1392 0, 1009, 0, 0, 0, 1009, 1010, 0, 1010, 1011, 1393 0, 1011, 0, 0, 0, 1011, 1012, 0, 1012, 1013, 1394 1395 0, 1013, 0, 0, 0, 1013, 1014, 0, 1014, 1015, 1396 0, 1015, 0, 0, 0, 1015, 1016, 0, 1016, 1017, 1397 0, 1017, 0, 0, 0, 1017, 1018, 0, 1018, 1019, 1398 0, 1019, 0, 0, 0, 1019, 1020, 0, 1020, 1021, 1399 0, 1021, 0, 0, 0, 1021, 1022, 0, 1022, 1023, 1400 0, 1023, 0, 0, 0, 1023, 1024, 0, 1024, 0, 1401 0, 0, 1024, 1025, 0, 1025, 1026, 0, 1026, 0, 1402 0, 0, 1026, 1027, 0, 1027, 1028, 0, 1028, 0, 1403 0, 0, 1028, 1029, 0, 1029, 1030, 0, 1030, 0, 1404 0, 0, 1030, 1031, 0, 1031, 1032, 0, 1032, 1033, 1405 1406 0, 1033, 1034, 0, 0, 1034, 0, 1034, 1034, 1034, 1407 1034, 1034, 1035, 0, 1035, 1036, 1036, 1036, 1036, 1036, 1408 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037, 0, 1409 1037, 0, 0, 0, 1037, 1038, 0, 1038, 1039, 0, 1410 1039, 0, 0, 0, 1039, 1040, 0, 1040, 1041, 0, 1411 1041, 1042, 0, 1042, 1043, 0, 0, 1043, 0, 1043, 1412 1043, 1043, 1043, 1043, 1044, 0, 1044, 1045, 0, 1045, 1413 1046, 0, 1046, 1047, 0, 1047, 1048, 0, 1048, 1049, 1414 0, 1049, 1050, 0, 1050, 1051, 0, 1051, 0, 0, 1415 0, 1051, 1052, 0, 1052, 1053, 0, 1053, 0, 0, 1416 1417 0, 1053, 1054, 0, 1054, 1055, 0, 1055, 1056, 0, 1418 1056, 1057, 0, 1057, 1058, 0, 1058, 0, 0, 0, 1419 1058, 1059, 0, 0, 1059, 0, 1059, 1059, 1059, 1059, 1150 45, 30, 40, 45, 45, 40, 49, 30, 45, 56, 1151 63, 45, 49, 30, 75, 911, 551, 53, 66, 51, 1152 62, 30, 63, 55, 30, 31, 166, 31, 31, 31, 1153 1154 31, 31, 31, 50, 51, 53, 51, 89, 62, 54, 1155 75, 55, 50, 166, 31, 51, 50, 55, 31, 54, 1156 64, 50, 52, 144, 31, 50, 54, 52, 110, 64, 1157 31, 57, 112, 89, 159, 52, 31, 52, 903, 66, 1158 52, 109, 31, 129, 52, 129, 159, 109, 57, 144, 1159 31, 38, 110, 57, 113, 38, 38, 59, 38, 61, 1160 38, 38, 112, 38, 61, 38, 60, 112, 116, 59, 1161 59, 118, 113, 109, 38, 38, 38, 61, 60, 59, 1162 113, 131, 59, 131, 177, 115, 60, 133, 60, 118, 1163 112, 115, 116, 60, 134, 38, 134, 118, 38, 133, 1164 1165 136, 133, 136, 61, 177, 132, 61, 69, 69, 69, 1166 69, 69, 69, 70, 70, 69, 175, 115, 70, 132, 1167 61, 132, 137, 137, 137, 38, 38, 82, 82, 82, 1168 82, 82, 82, 175, 70, 70, 70, 70, 70, 70, 1169 79, 79, 153, 135, 135, 79, 135, 79, 139, 141, 1170 139, 141, 79, 84, 84, 84, 84, 84, 84, 902, 1171 153, 79, 79, 79, 79, 85, 85, 85, 85, 85, 1172 85, 152, 79, 105, 105, 105, 105, 105, 105, 106, 1173 106, 106, 106, 155, 154, 147, 152, 156, 79, 161, 1174 147, 79, 155, 152, 174, 328, 79, 79, 157, 158, 1175 1176 79, 79, 154, 156, 162, 161, 328, 106, 79, 174, 1177 163, 79, 106, 79, 79, 79, 157, 79, 87, 163, 1178 165, 158, 87, 87, 167, 165, 162, 87, 87, 147, 1179 87, 164, 87, 168, 167, 106, 169, 171, 165, 173, 1180 170, 87, 87, 87, 107, 899, 107, 107, 107, 107, 1181 107, 107, 164, 164, 168, 172, 178, 176, 171, 169, 1182 172, 173, 87, 107, 108, 87, 108, 170, 179, 108, 1183 108, 108, 108, 108, 108, 176, 183, 189, 172, 107, 1184 185, 183, 186, 178, 184, 107, 181, 182, 189, 185, 1185 179, 898, 194, 87, 101, 101, 101, 101, 101, 101, 1186 1187 191, 181, 108, 188, 182, 189, 184, 187, 181, 186, 1188 101, 101, 101, 191, 101, 101, 192, 196, 187, 194, 1189 193, 188, 896, 308, 195, 193, 190, 101, 187, 187, 1190 308, 190, 101, 101, 101, 160, 192, 101, 198, 101, 1191 160, 160, 160, 195, 160, 160, 190, 193, 160, 197, 1192 160, 198, 199, 198, 200, 160, 160, 160, 211, 160, 1193 331, 196, 197, 331, 196, 199, 204, 204, 215, 215, 1194 197, 204, 284, 215, 200, 203, 203, 203, 203, 203, 1195 203, 206, 206, 203, 211, 284, 206, 204, 204, 204, 1196 204, 204, 204, 208, 208, 224, 895, 224, 208, 225, 1197 1198 208, 225, 206, 206, 206, 206, 206, 206, 218, 218, 1199 218, 218, 227, 228, 208, 208, 208, 208, 208, 208, 1200 226, 229, 226, 229, 242, 228, 227, 228, 227, 230, 1201 230, 231, 230, 231, 232, 232, 232, 234, 235, 234, 1202 235, 218, 240, 240, 241, 249, 241, 242, 254, 241, 1203 241, 241, 241, 241, 241, 243, 272, 243, 272, 248, 1204 243, 248, 248, 248, 248, 240, 247, 247, 247, 247, 1205 247, 247, 262, 273, 254, 273, 288, 243, 285, 243, 1206 249, 287, 241, 276, 243, 250, 250, 250, 250, 250, 1207 250, 290, 286, 288, 248, 289, 285, 287, 262, 247, 1208 1209 289, 292, 250, 251, 251, 251, 251, 251, 251, 276, 1210 286, 290, 291, 300, 295, 299, 472, 291, 250, 888, 1211 299, 292, 300, 472, 250, 252, 252, 252, 252, 252, 1212 252, 259, 295, 296, 261, 261, 261, 261, 261, 261, 1213 293, 252, 253, 252, 253, 252, 252, 253, 253, 253, 1214 253, 253, 253, 887, 259, 293, 259, 294, 252, 296, 1215 259, 293, 293, 252, 297, 252, 259, 261, 252, 303, 1216 252, 266, 266, 266, 266, 266, 266, 298, 259, 297, 1217 294, 302, 259, 301, 305, 306, 259, 303, 307, 309, 1218 306, 311, 310, 298, 298, 312, 301, 307, 313, 314, 1219 1220 312, 315, 305, 313, 266, 314, 316, 318, 302, 309, 1221 310, 317, 311, 311, 320, 316, 319, 317, 324, 321, 1222 315, 322, 323, 318, 321, 319, 322, 323, 325, 320, 1223 326, 330, 329, 332, 334, 333, 335, 324, 336, 339, 1224 330, 338, 340, 326, 323, 337, 325, 329, 333, 341, 1225 338, 342, 332, 343, 345, 346, 334, 347, 336, 335, 1226 348, 339, 337, 349, 346, 340, 343, 350, 352, 342, 1227 353, 341, 351, 345, 413, 350, 349, 351, 348, 354, 1228 354, 355, 886, 352, 354, 413, 354, 355, 353, 362, 1229 362, 362, 362, 363, 363, 363, 363, 372, 373, 372, 1230 1231 373, 347, 380, 380, 380, 380, 380, 380, 382, 392, 1232 382, 393, 397, 382, 382, 382, 382, 382, 382, 392, 1233 885, 393, 362, 381, 381, 381, 381, 381, 381, 384, 1234 384, 384, 384, 384, 384, 392, 397, 393, 414, 381, 1235 415, 381, 418, 381, 381, 387, 387, 387, 387, 387, 1236 387, 395, 422, 418, 414, 415, 381, 395, 399, 420, 1237 416, 381, 384, 381, 423, 422, 381, 884, 381, 385, 1238 385, 385, 385, 385, 385, 394, 399, 424, 387, 416, 1239 423, 420, 432, 395, 399, 385, 385, 385, 417, 385, 1240 385, 388, 388, 388, 388, 388, 388, 417, 394, 424, 1241 1242 394, 880, 385, 432, 394, 876, 398, 385, 385, 385, 1243 394, 396, 385, 396, 385, 425, 396, 396, 396, 396, 1244 396, 396, 394, 419, 388, 421, 394, 426, 425, 398, 1245 394, 398, 419, 427, 421, 398, 428, 429, 437, 433, 1246 431, 398, 429, 426, 426, 430, 431, 434, 435, 396, 1247 433, 441, 437, 398, 428, 427, 439, 398, 442, 444, 1248 430, 398, 443, 435, 445, 447, 434, 430, 439, 446, 1249 445, 449, 441, 451, 447, 443, 452, 453, 454, 455, 1250 442, 456, 444, 461, 446, 459, 449, 457, 462, 463, 1251 464, 465, 453, 451, 455, 466, 457, 467, 452, 464, 1252 1253 454, 456, 459, 468, 469, 470, 461, 471, 474, 473, 1254 475, 463, 465, 469, 462, 466, 473, 467, 476, 478, 1255 471, 477, 481, 470, 479, 468, 532, 476, 482, 477, 1256 535, 483, 475, 474, 483, 479, 478, 482, 511, 477, 1257 484, 873, 512, 532, 481, 535, 484, 493, 493, 493, 1258 493, 504, 504, 504, 504, 504, 504, 506, 506, 506, 1259 506, 506, 506, 536, 511, 540, 533, 504, 512, 504, 1260 540, 504, 504, 507, 507, 507, 507, 507, 507, 533, 1261 583, 623, 508, 536, 504, 538, 545, 510, 583, 504, 1262 506, 504, 508, 509, 504, 509, 504, 510, 509, 509, 1263 1264 509, 509, 509, 509, 623, 545, 507, 538, 508, 542, 1265 537, 539, 542, 510, 514, 514, 514, 514, 514, 514, 1266 516, 543, 516, 537, 539, 516, 516, 516, 516, 516, 1267 516, 509, 515, 515, 515, 515, 515, 515, 541, 544, 1268 546, 543, 547, 833, 550, 549, 553, 554, 515, 541, 1269 515, 547, 515, 515, 544, 548, 549, 550, 552, 833, 1270 548, 546, 555, 561, 554, 515, 562, 552, 553, 556, 1271 515, 555, 515, 558, 556, 515, 559, 515, 563, 558, 1272 561, 562, 564, 566, 567, 559, 568, 569, 571, 572, 1273 574, 564, 566, 563, 572, 575, 579, 580, 568, 574, 1274 1275 581, 567, 569, 571, 575, 584, 585, 586, 587, 592, 1276 580, 594, 591, 585, 595, 584, 588, 581, 579, 592, 1277 587, 591, 588, 597, 872, 871, 643, 595, 594, 586, 1278 615, 615, 615, 615, 615, 615, 616, 616, 616, 616, 1279 616, 616, 618, 643, 618, 597, 642, 618, 618, 618, 1280 618, 618, 618, 621, 621, 621, 621, 621, 621, 642, 1281 622, 622, 647, 615, 617, 617, 617, 617, 617, 617, 1282 624, 639, 624, 644, 640, 624, 639, 870, 641, 647, 1283 617, 640, 617, 622, 617, 617, 621, 641, 645, 639, 1284 646, 650, 624, 649, 624, 645, 644, 617, 646, 624, 1285 1286 648, 651, 617, 648, 617, 652, 649, 617, 653, 617, 1287 654, 655, 656, 650, 655, 657, 651, 659, 658, 660, 1288 661, 663, 662, 665, 672, 653, 666, 652, 660, 656, 1289 663, 667, 654, 658, 671, 674, 677, 659, 661, 721, 1290 667, 685, 678, 657, 662, 677, 665, 686, 666, 678, 1291 685, 672, 674, 688, 671, 689, 724, 686, 869, 722, 1292 721, 727, 688, 712, 712, 712, 712, 712, 712, 722, 1293 689, 708, 708, 708, 708, 708, 708, 725, 726, 730, 1294 732, 727, 724, 726, 725, 728, 732, 708, 728, 708, 1295 729, 708, 708, 729, 733, 735, 712, 730, 735, 734, 1296 1297 736, 737, 738, 739, 708, 738, 740, 733, 734, 708, 1298 741, 708, 739, 741, 708, 742, 708, 743, 745, 744, 1299 746, 736, 750, 753, 747, 743, 754, 757, 742, 744, 1300 737, 745, 740, 747, 755, 757, 776, 758, 781, 778, 1301 750, 746, 777, 753, 778, 750, 758, 779, 754, 765, 1302 765, 765, 765, 765, 765, 755, 776, 780, 782, 777, 1303 783, 781, 779, 784, 785, 786, 784, 780, 788, 790, 1304 794, 788, 790, 791, 795, 782, 792, 785, 793, 792, 1305 791, 793, 765, 797, 801, 794, 783, 816, 818, 820, 1306 819, 821, 820, 786, 825, 822, 823, 795, 822, 823, 1307 1308 826, 827, 829, 868, 827, 867, 797, 801, 819, 818, 1309 834, 832, 825, 821, 816, 830, 831, 835, 830, 831, 1310 832, 834, 850, 851, 829, 852, 826, 853, 852, 854, 1311 851, 855, 856, 835, 855, 859, 853, 862, 859, 863, 1312 862, 865, 864, 850, 866, 861, 874, 854, 863, 856, 1313 865, 875, 878, 854, 864, 874, 875, 877, 879, 889, 1314 877, 881, 878, 879, 881, 882, 883, 890, 882, 883, 1315 891, 892, 893, 891, 894, 893, 897, 894, 900, 889, 1316 901, 892, 890, 904, 905, 906, 908, 907, 909, 860, 1317 910, 858, 904, 857, 849, 901, 848, 905, 897, 900, 1318 1319 910, 847, 846, 845, 908, 844, 843, 906, 907, 842, 1320 909, 914, 914, 914, 914, 914, 914, 914, 914, 914, 1321 914, 914, 914, 914, 915, 915, 915, 915, 915, 915, 1322 915, 915, 915, 915, 915, 915, 915, 916, 916, 916, 1323 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 1324 917, 841, 840, 917, 839, 917, 917, 917, 917, 917, 1325 918, 838, 837, 836, 918, 918, 918, 918, 918, 918, 1326 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, 1327 919, 919, 919, 920, 828, 824, 920, 817, 920, 920, 1328 920, 920, 920, 921, 815, 921, 921, 814, 921, 921, 1329 1330 921, 921, 921, 921, 813, 921, 922, 812, 811, 922, 1331 922, 922, 922, 922, 922, 922, 922, 810, 922, 923, 1332 923, 923, 923, 923, 923, 923, 923, 923, 923, 923, 1333 923, 923, 924, 924, 809, 924, 808, 807, 806, 924, 1334 925, 805, 804, 925, 803, 925, 925, 925, 925, 925, 1335 926, 802, 926, 800, 799, 798, 926, 927, 796, 927, 1336 789, 787, 775, 927, 928, 774, 928, 773, 772, 771, 1337 928, 929, 770, 929, 769, 768, 767, 929, 930, 764, 1338 930, 763, 762, 756, 930, 931, 752, 931, 751, 749, 1339 748, 931, 932, 731, 932, 723, 720, 715, 932, 933, 1340 1341 713, 933, 709, 699, 695, 933, 934, 693, 934, 691, 1342 690, 687, 934, 935, 684, 935, 936, 936, 683, 936, 1343 936, 936, 682, 936, 937, 937, 681, 937, 938, 680, 1344 679, 938, 676, 938, 938, 938, 938, 938, 939, 675, 1345 939, 673, 670, 669, 939, 940, 668, 940, 664, 637, 1346 633, 940, 941, 631, 941, 629, 627, 625, 941, 942, 1347 619, 942, 943, 613, 943, 611, 609, 607, 943, 944, 1348 605, 944, 945, 603, 601, 945, 599, 945, 945, 945, 1349 945, 945, 946, 946, 946, 946, 946, 946, 946, 946, 1350 946, 946, 946, 946, 946, 947, 947, 947, 947, 947, 1351 1352 947, 947, 947, 947, 947, 947, 947, 947, 948, 598, 1353 948, 596, 593, 590, 948, 949, 589, 949, 582, 578, 1354 577, 949, 950, 576, 950, 573, 570, 565, 950, 951, 1355 560, 951, 952, 557, 952, 534, 530, 528, 952, 953, 1356 526, 953, 954, 524, 954, 522, 520, 519, 954, 955, 1357 518, 955, 956, 517, 956, 505, 502, 500, 956, 957, 1358 499, 957, 958, 498, 958, 496, 494, 491, 958, 959, 1359 489, 959, 960, 487, 960, 485, 480, 460, 960, 961, 1360 458, 961, 962, 450, 962, 448, 440, 438, 962, 963, 1361 436, 963, 964, 410, 964, 408, 964, 406, 964, 965, 1362 1363 404, 965, 403, 965, 402, 965, 966, 966, 389, 966, 1364 966, 966, 386, 966, 967, 377, 967, 375, 374, 370, 1365 967, 968, 368, 968, 366, 364, 360, 968, 969, 358, 1366 969, 357, 356, 344, 969, 970, 327, 970, 971, 304, 1367 971, 283, 281, 279, 971, 972, 278, 972, 973, 277, 1368 973, 275, 274, 269, 973, 974, 265, 974, 975, 264, 1369 975, 260, 257, 256, 975, 976, 245, 976, 977, 244, 1370 237, 977, 236, 977, 977, 977, 977, 977, 978, 978, 1371 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, 1372 978, 979, 233, 979, 223, 221, 220, 979, 980, 219, 1373 1374 980, 981, 213, 981, 212, 210, 205, 981, 982, 180, 1375 982, 983, 151, 983, 149, 148, 142, 983, 984, 140, 1376 984, 985, 138, 985, 130, 127, 126, 985, 986, 122, 1377 986, 987, 103, 987, 100, 97, 95, 987, 988, 88, 1378 988, 989, 74, 989, 72, 68, 36, 989, 990, 33, 1379 990, 991, 18, 991, 11, 4, 3, 991, 992, 0, 1380 992, 0, 0, 0, 992, 993, 0, 993, 994, 0, 1381 994, 0, 0, 0, 994, 995, 0, 995, 996, 0, 1382 996, 0, 996, 0, 996, 997, 0, 997, 0, 0, 1383 0, 997, 998, 0, 998, 0, 0, 0, 998, 999, 1384 1385 0, 999, 1000, 0, 1000, 0, 0, 0, 1000, 1001, 1386 0, 1001, 1002, 0, 1002, 0, 0, 0, 1002, 1003, 1387 0, 1003, 1004, 0, 1004, 0, 0, 0, 1004, 1005, 1388 0, 1005, 1006, 0, 1006, 0, 0, 0, 1006, 1007, 1389 0, 1007, 1008, 0, 1008, 0, 0, 0, 1008, 1009, 1390 0, 1009, 1010, 0, 0, 1010, 0, 1010, 1010, 1010, 1391 1010, 1010, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1392 1011, 1011, 1011, 1011, 1011, 1012, 0, 1012, 0, 0, 1393 0, 1012, 1013, 0, 1013, 1014, 0, 1014, 0, 0, 1394 0, 1014, 1015, 0, 1015, 1016, 0, 1016, 0, 0, 1395 1396 0, 1016, 1017, 0, 1017, 1018, 0, 1018, 0, 0, 1397 0, 1018, 1019, 0, 1019, 1020, 0, 1020, 0, 0, 1398 0, 1020, 1021, 0, 1021, 1022, 0, 1022, 0, 0, 1399 0, 1022, 1023, 0, 1023, 1024, 0, 1024, 0, 0, 1400 0, 1024, 1025, 0, 1025, 1026, 0, 1026, 0, 0, 1401 0, 1026, 1027, 0, 1027, 1028, 0, 1028, 0, 0, 1402 0, 1028, 1029, 0, 1029, 0, 0, 0, 1029, 1030, 1403 0, 1030, 1031, 0, 1031, 0, 0, 0, 1031, 1032, 1404 0, 1032, 1033, 0, 1033, 0, 0, 0, 1033, 1034, 1405 0, 1034, 1035, 0, 1035, 0, 0, 0, 1035, 1036, 1406 1407 0, 1036, 1037, 0, 1037, 1038, 0, 1038, 1039, 0, 1408 0, 1039, 0, 1039, 1039, 1039, 1039, 1039, 1040, 0, 1409 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1410 1041, 1041, 1041, 1041, 1042, 0, 1042, 0, 0, 0, 1411 1042, 1043, 0, 1043, 1044, 0, 1044, 0, 0, 0, 1412 1044, 1045, 0, 1045, 1046, 0, 1046, 1047, 0, 1047, 1413 1048, 0, 0, 1048, 0, 1048, 1048, 1048, 1048, 1048, 1414 1049, 0, 1049, 1050, 0, 1050, 1051, 0, 1051, 1052, 1415 0, 1052, 1053, 0, 1053, 1054, 0, 1054, 1055, 0, 1416 1055, 1056, 0, 1056, 0, 0, 0, 1056, 1057, 0, 1417 1418 1057, 1058, 0, 1058, 0, 0, 0, 1058, 1059, 0, 1420 1419 1059, 1060, 0, 1060, 1061, 0, 1061, 1062, 0, 1062, 1421 1063, 0, 1063, 0, 0, 0, 1063, 1064, 0, 1064, 1422 0, 0, 0, 1064, 1065, 0, 1065, 0, 0, 0, 1423 1065, 1066, 0, 1066, 1067, 0, 1067, 0, 0, 0, 1424 1067, 1068, 0, 1068, 0, 0, 0, 1068, 1069, 0, 1425 1069, 0, 0, 0, 1069, 1070, 0, 1070, 0, 0, 1426 0, 1070, 1071, 0, 1071, 0, 0, 0, 1071, 1072, 1427 1428 0, 1072, 0, 0, 0, 1072, 1073, 0, 1073, 0, 1429 0, 0, 1073, 1074, 0, 1074, 0, 0, 0, 1074, 1430 1075, 0, 1075, 0, 0, 0, 1075, 1076, 0, 1076, 1431 0, 0, 0, 1076, 1077, 0, 1077, 0, 0, 0, 1432 1077, 1078, 0, 1078, 0, 0, 0, 1078, 1079, 0, 1433 1079, 0, 0, 0, 1079, 1080, 0, 1080, 0, 0, 1434 0, 1080, 1081, 0, 1081, 0, 0, 0, 1081, 1082, 1435 0, 1082, 0, 0, 0, 1082, 908, 908, 908, 908, 1436 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1437 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1438 1439 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1440 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1441 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1442 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1443 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1444 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 1445 908, 908 1420 1063, 0, 1063, 0, 0, 0, 1063, 1064, 0, 0, 1421 1064, 0, 1064, 1064, 1064, 1064, 1064, 1065, 0, 1065, 1422 1066, 0, 1066, 1067, 0, 1067, 1068, 0, 1068, 0, 1423 0, 0, 1068, 1069, 0, 1069, 0, 0, 0, 1069, 1424 1070, 0, 1070, 0, 0, 0, 1070, 1071, 0, 1071, 1425 1072, 0, 1072, 0, 0, 0, 1072, 1073, 0, 1073, 1426 0, 0, 0, 1073, 1074, 0, 1074, 0, 0, 0, 1427 1074, 1075, 0, 1075, 0, 0, 0, 1075, 1076, 0, 1428 1429 1076, 0, 0, 0, 1076, 1077, 0, 1077, 0, 0, 1430 0, 1077, 1078, 0, 1078, 0, 0, 0, 1078, 1079, 1431 0, 1079, 0, 0, 0, 1079, 1080, 0, 1080, 0, 1432 0, 0, 1080, 1081, 0, 1081, 0, 0, 0, 1081, 1433 1082, 0, 1082, 0, 0, 0, 1082, 1083, 0, 1083, 1434 0, 0, 0, 1083, 1084, 0, 1084, 0, 0, 0, 1435 1084, 1085, 0, 1085, 0, 0, 0, 1085, 1086, 0, 1436 1086, 0, 0, 0, 1086, 1087, 0, 1087, 0, 0, 1437 0, 1087, 913, 913, 913, 913, 913, 913, 913, 913, 1438 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1439 1440 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1441 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1442 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1443 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1444 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1445 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 1446 913, 913, 913, 913, 913, 913, 913, 913 1446 1447 } ; 1447 1448 1448 1449 /* Table of booleans, true if rule could match eol. */ 1449 static yyconst flex_int32_t yy_rule_can_match_eol[18 7] =1450 static yyconst flex_int32_t yy_rule_can_match_eol[188] = 1450 1451 { 0, 1451 1452 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 1455 1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1456 1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1458 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458 1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1459 1460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460 0, 0, 0, 0, 0, 0, 0, };1461 0, 0, 0, 0, 0, 0, 0, 0, }; 1461 1462 1462 1463 static yy_state_type yy_last_accepting_state; … … 1486 1487 * Created On : Sat Sep 22 08:58:10 2001 1487 1488 * Last Modified By : Peter A. Buhr 1488 * Last Modified On : Tue Nov 29 11:32:00 20161489 * Update Count : 50 11489 * Last Modified On : Fri Mar 3 22:18:00 2017 1490 * Update Count : 502 1490 1491 */ 1491 1492 #line 20 "lex.ll" … … 1548 1549 1549 1550 1550 #line 155 1"Parser/lex.cc"1551 #line 1552 "Parser/lex.cc" 1551 1552 1552 1553 #define INITIAL 0 … … 1743 1744 1744 1745 /* line directives */ 1745 #line 174 6"Parser/lex.cc"1746 #line 1747 "Parser/lex.cc" 1746 1747 1747 1748 if ( !(yy_init) ) … … 1797 1798 { 1798 1799 yy_current_state = (int) yy_def[yy_current_state]; 1799 if ( yy_current_state >= 9 09)1800 if ( yy_current_state >= 914 ) 1800 1801 yy_c = yy_meta[(unsigned int) yy_c]; 1801 1802 } … … 1803 1804 ++yy_cp; 1804 1805 } 1805 while ( yy_base[yy_current_state] != 28 77);1806 while ( yy_base[yy_current_state] != 2883 ); 1806 1807 1807 1808 yy_find_action: … … 2209 2210 YY_RULE_SETUP 2210 2211 #line 237 "lex.ll" 2212 { KEYWORD_RETURN(MUTEX); } // CFA 2213 YY_BREAK 2214 case 70: 2215 YY_RULE_SETUP 2216 #line 238 "lex.ll" 2211 2217 { KEYWORD_RETURN(NORETURN); } // C11 2212 2218 YY_BREAK 2213 case 7 0:2214 YY_RULE_SETUP 2215 #line 23 8"lex.ll"2219 case 71: 2220 YY_RULE_SETUP 2221 #line 239 "lex.ll" 2216 2222 { KEYWORD_RETURN(OFFSETOF); } // GCC 2217 2223 YY_BREAK 2218 case 7 1:2219 YY_RULE_SETUP 2220 #line 2 39"lex.ll"2224 case 72: 2225 YY_RULE_SETUP 2226 #line 240 "lex.ll" 2221 2227 { NUMERIC_RETURN(ONE_T); } // CFA 2222 2228 YY_BREAK 2223 case 7 2:2224 YY_RULE_SETUP 2225 #line 24 0"lex.ll"2229 case 73: 2230 YY_RULE_SETUP 2231 #line 241 "lex.ll" 2226 2232 { KEYWORD_RETURN(OTYPE); } // CFA 2227 2233 YY_BREAK 2228 case 7 3:2229 YY_RULE_SETUP 2230 #line 24 1"lex.ll"2234 case 74: 2235 YY_RULE_SETUP 2236 #line 242 "lex.ll" 2231 2237 { KEYWORD_RETURN(REGISTER); } 2232 2238 YY_BREAK 2233 case 7 4:2234 YY_RULE_SETUP 2235 #line 24 2"lex.ll"2239 case 75: 2240 YY_RULE_SETUP 2241 #line 243 "lex.ll" 2236 2242 { KEYWORD_RETURN(RESTRICT); } // C99 2237 YY_BREAK2238 case 75:2239 YY_RULE_SETUP2240 #line 243 "lex.ll"2241 { KEYWORD_RETURN(RESTRICT); } // GCC2242 2243 YY_BREAK 2243 2244 case 76: … … 2249 2250 YY_RULE_SETUP 2250 2251 #line 245 "lex.ll" 2252 { KEYWORD_RETURN(RESTRICT); } // GCC 2253 YY_BREAK 2254 case 78: 2255 YY_RULE_SETUP 2256 #line 246 "lex.ll" 2251 2257 { KEYWORD_RETURN(RETURN); } 2252 2258 YY_BREAK 2253 case 7 8:2254 YY_RULE_SETUP 2255 #line 24 6"lex.ll"2259 case 79: 2260 YY_RULE_SETUP 2261 #line 247 "lex.ll" 2256 2262 { KEYWORD_RETURN(SHORT); } 2257 2263 YY_BREAK 2258 case 79:2259 YY_RULE_SETUP 2260 #line 24 7"lex.ll"2264 case 80: 2265 YY_RULE_SETUP 2266 #line 248 "lex.ll" 2261 2267 { KEYWORD_RETURN(SIGNED); } 2262 YY_BREAK2263 case 80:2264 YY_RULE_SETUP2265 #line 248 "lex.ll"2266 { KEYWORD_RETURN(SIGNED); } // GCC2267 2268 YY_BREAK 2268 2269 case 81: … … 2274 2275 YY_RULE_SETUP 2275 2276 #line 250 "lex.ll" 2277 { KEYWORD_RETURN(SIGNED); } // GCC 2278 YY_BREAK 2279 case 83: 2280 YY_RULE_SETUP 2281 #line 251 "lex.ll" 2276 2282 { KEYWORD_RETURN(SIZEOF); } 2277 2283 YY_BREAK 2278 case 8 3:2279 YY_RULE_SETUP 2280 #line 25 1"lex.ll"2284 case 84: 2285 YY_RULE_SETUP 2286 #line 252 "lex.ll" 2281 2287 { KEYWORD_RETURN(STATIC); } 2282 2288 YY_BREAK 2283 case 8 4:2284 YY_RULE_SETUP 2285 #line 25 2"lex.ll"2289 case 85: 2290 YY_RULE_SETUP 2291 #line 253 "lex.ll" 2286 2292 { KEYWORD_RETURN(STATICASSERT); } // C11 2287 2293 YY_BREAK 2288 case 8 5:2289 YY_RULE_SETUP 2290 #line 25 3"lex.ll"2294 case 86: 2295 YY_RULE_SETUP 2296 #line 254 "lex.ll" 2291 2297 { KEYWORD_RETURN(STRUCT); } 2292 2298 YY_BREAK 2293 case 8 6:2294 YY_RULE_SETUP 2295 #line 25 4"lex.ll"2299 case 87: 2300 YY_RULE_SETUP 2301 #line 255 "lex.ll" 2296 2302 { KEYWORD_RETURN(SWITCH); } 2297 2303 YY_BREAK 2298 case 8 7:2299 YY_RULE_SETUP 2300 #line 25 5"lex.ll"2304 case 88: 2305 YY_RULE_SETUP 2306 #line 256 "lex.ll" 2301 2307 { KEYWORD_RETURN(THREADLOCAL); } // C11 2302 2308 YY_BREAK 2303 case 8 8:2304 YY_RULE_SETUP 2305 #line 25 6"lex.ll"2309 case 89: 2310 YY_RULE_SETUP 2311 #line 257 "lex.ll" 2306 2312 { KEYWORD_RETURN(THROW); } // CFA 2307 2313 YY_BREAK 2308 case 89:2309 YY_RULE_SETUP 2310 #line 25 7"lex.ll"2314 case 90: 2315 YY_RULE_SETUP 2316 #line 258 "lex.ll" 2311 2317 { KEYWORD_RETURN(THROWRESUME); } // CFA 2312 2318 YY_BREAK 2313 case 9 0:2314 YY_RULE_SETUP 2315 #line 25 8"lex.ll"2319 case 91: 2320 YY_RULE_SETUP 2321 #line 259 "lex.ll" 2316 2322 { KEYWORD_RETURN(TRAIT); } // CFA 2317 2323 YY_BREAK 2318 case 9 1:2319 YY_RULE_SETUP 2320 #line 2 59"lex.ll"2324 case 92: 2325 YY_RULE_SETUP 2326 #line 260 "lex.ll" 2321 2327 { KEYWORD_RETURN(TRY); } // CFA 2322 2328 YY_BREAK 2323 case 9 2:2324 YY_RULE_SETUP 2325 #line 26 0"lex.ll"2329 case 93: 2330 YY_RULE_SETUP 2331 #line 261 "lex.ll" 2326 2332 { KEYWORD_RETURN(TTYPE); } // CFA 2327 2333 YY_BREAK 2328 case 9 3:2329 YY_RULE_SETUP 2330 #line 26 1"lex.ll"2334 case 94: 2335 YY_RULE_SETUP 2336 #line 262 "lex.ll" 2331 2337 { KEYWORD_RETURN(TYPEDEF); } 2332 YY_BREAK2333 case 94:2334 YY_RULE_SETUP2335 #line 262 "lex.ll"2336 { KEYWORD_RETURN(TYPEOF); } // GCC2337 2338 YY_BREAK 2338 2339 case 95: … … 2349 2350 YY_RULE_SETUP 2350 2351 #line 265 "lex.ll" 2352 { KEYWORD_RETURN(TYPEOF); } // GCC 2353 YY_BREAK 2354 case 98: 2355 YY_RULE_SETUP 2356 #line 266 "lex.ll" 2351 2357 { KEYWORD_RETURN(UNION); } 2352 2358 YY_BREAK 2353 case 9 8:2354 YY_RULE_SETUP 2355 #line 26 6"lex.ll"2359 case 99: 2360 YY_RULE_SETUP 2361 #line 267 "lex.ll" 2356 2362 { KEYWORD_RETURN(UNSIGNED); } 2357 2363 YY_BREAK 2358 case 99:2359 YY_RULE_SETUP 2360 #line 26 7"lex.ll"2364 case 100: 2365 YY_RULE_SETUP 2366 #line 268 "lex.ll" 2361 2367 { KEYWORD_RETURN(VALIST); } // GCC 2362 2368 YY_BREAK 2363 case 10 0:2364 YY_RULE_SETUP 2365 #line 26 8"lex.ll"2369 case 101: 2370 YY_RULE_SETUP 2371 #line 269 "lex.ll" 2366 2372 { KEYWORD_RETURN(VOID); } 2367 2373 YY_BREAK 2368 case 10 1:2369 YY_RULE_SETUP 2370 #line 2 69"lex.ll"2374 case 102: 2375 YY_RULE_SETUP 2376 #line 270 "lex.ll" 2371 2377 { KEYWORD_RETURN(VOLATILE); } 2372 YY_BREAK2373 case 102:2374 YY_RULE_SETUP2375 #line 270 "lex.ll"2376 { KEYWORD_RETURN(VOLATILE); } // GCC2377 2378 YY_BREAK 2378 2379 case 103: … … 2384 2385 YY_RULE_SETUP 2385 2386 #line 272 "lex.ll" 2387 { KEYWORD_RETURN(VOLATILE); } // GCC 2388 YY_BREAK 2389 case 105: 2390 YY_RULE_SETUP 2391 #line 273 "lex.ll" 2386 2392 { KEYWORD_RETURN(WHILE); } 2387 2393 YY_BREAK 2388 case 10 5:2389 YY_RULE_SETUP 2390 #line 27 3"lex.ll"2394 case 106: 2395 YY_RULE_SETUP 2396 #line 274 "lex.ll" 2391 2397 { NUMERIC_RETURN(ZERO_T); } // CFA 2392 2398 YY_BREAK 2393 2399 /* identifier */ 2394 case 10 6:2395 YY_RULE_SETUP 2396 #line 27 6"lex.ll"2400 case 107: 2401 YY_RULE_SETUP 2402 #line 277 "lex.ll" 2397 2403 { IDENTIFIER_RETURN(); } 2398 2404 YY_BREAK 2399 case 10 7:2400 YY_RULE_SETUP 2401 #line 27 7"lex.ll"2405 case 108: 2406 YY_RULE_SETUP 2407 #line 278 "lex.ll" 2402 2408 { ATTRIBUTE_RETURN(); } 2403 2409 YY_BREAK 2404 case 10 8:2405 YY_RULE_SETUP 2406 #line 27 8"lex.ll"2410 case 109: 2411 YY_RULE_SETUP 2412 #line 279 "lex.ll" 2407 2413 { BEGIN BKQUOTE; } 2408 2414 YY_BREAK 2409 case 1 09:2410 YY_RULE_SETUP 2411 #line 2 79"lex.ll"2415 case 110: 2416 YY_RULE_SETUP 2417 #line 280 "lex.ll" 2412 2418 { IDENTIFIER_RETURN(); } 2413 2419 YY_BREAK 2414 case 11 0:2415 YY_RULE_SETUP 2416 #line 28 0"lex.ll"2420 case 111: 2421 YY_RULE_SETUP 2422 #line 281 "lex.ll" 2417 2423 { BEGIN 0; } 2418 2424 YY_BREAK 2419 2425 /* numeric constants */ 2420 case 11 1:2421 YY_RULE_SETUP 2422 #line 28 3"lex.ll"2426 case 112: 2427 YY_RULE_SETUP 2428 #line 284 "lex.ll" 2423 2429 { NUMERIC_RETURN(ZERO); } // CFA 2424 2430 YY_BREAK 2425 case 11 2:2426 YY_RULE_SETUP 2427 #line 28 4"lex.ll"2431 case 113: 2432 YY_RULE_SETUP 2433 #line 285 "lex.ll" 2428 2434 { NUMERIC_RETURN(ONE); } // CFA 2429 YY_BREAK2430 case 113:2431 YY_RULE_SETUP2432 #line 285 "lex.ll"2433 { NUMERIC_RETURN(INTEGERconstant); }2434 2435 YY_BREAK 2435 2436 case 114: … … 2446 2447 YY_RULE_SETUP 2447 2448 #line 288 "lex.ll" 2449 { NUMERIC_RETURN(INTEGERconstant); } 2450 YY_BREAK 2451 case 117: 2452 YY_RULE_SETUP 2453 #line 289 "lex.ll" 2448 2454 { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant 2449 2455 YY_BREAK 2450 case 11 7:2451 YY_RULE_SETUP 2452 #line 2 89"lex.ll"2456 case 118: 2457 YY_RULE_SETUP 2458 #line 290 "lex.ll" 2453 2459 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant 2454 YY_BREAK2455 case 118:2456 YY_RULE_SETUP2457 #line 290 "lex.ll"2458 { NUMERIC_RETURN(FLOATINGconstant); }2459 2460 YY_BREAK 2460 2461 case 119: … … 2463 2464 { NUMERIC_RETURN(FLOATINGconstant); } 2464 2465 YY_BREAK 2466 case 120: 2467 YY_RULE_SETUP 2468 #line 292 "lex.ll" 2469 { NUMERIC_RETURN(FLOATINGconstant); } 2470 YY_BREAK 2465 2471 /* character constant, allows empty value */ 2466 case 12 0:2467 YY_RULE_SETUP 2468 #line 29 4"lex.ll"2472 case 121: 2473 YY_RULE_SETUP 2474 #line 295 "lex.ll" 2469 2475 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2470 2476 YY_BREAK 2471 case 12 1:2472 YY_RULE_SETUP 2473 #line 29 5"lex.ll"2477 case 122: 2478 YY_RULE_SETUP 2479 #line 296 "lex.ll" 2474 2480 { strtext->append( yytext, yyleng ); } 2475 2481 YY_BREAK 2476 case 12 2:2477 /* rule 12 2can match eol */2478 YY_RULE_SETUP 2479 #line 29 6"lex.ll"2482 case 123: 2483 /* rule 123 can match eol */ 2484 YY_RULE_SETUP 2485 #line 297 "lex.ll" 2480 2486 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); } 2481 2487 YY_BREAK 2482 2488 /* ' stop highlighting */ 2483 2489 /* string constant */ 2484 case 12 3:2485 YY_RULE_SETUP 2486 #line 30 0"lex.ll"2490 case 124: 2491 YY_RULE_SETUP 2492 #line 301 "lex.ll" 2487 2493 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); } 2488 2494 YY_BREAK 2489 case 12 4:2490 YY_RULE_SETUP 2491 #line 30 1"lex.ll"2495 case 125: 2496 YY_RULE_SETUP 2497 #line 302 "lex.ll" 2492 2498 { strtext->append( yytext, yyleng ); } 2493 2499 YY_BREAK 2494 case 12 5:2495 /* rule 12 5can match eol */2496 YY_RULE_SETUP 2497 #line 30 2"lex.ll"2500 case 126: 2501 /* rule 126 can match eol */ 2502 YY_RULE_SETUP 2503 #line 303 "lex.ll" 2498 2504 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); } 2499 2505 YY_BREAK 2500 2506 /* " stop highlighting */ 2501 2507 /* common character/string constant */ 2502 case 12 6:2503 YY_RULE_SETUP 2504 #line 30 6"lex.ll"2508 case 127: 2509 YY_RULE_SETUP 2510 #line 307 "lex.ll" 2505 2511 { rm_underscore(); strtext->append( yytext, yyleng ); } 2506 2512 YY_BREAK 2507 case 12 7:2508 /* rule 12 7can match eol */2509 YY_RULE_SETUP 2510 #line 30 7"lex.ll"2513 case 128: 2514 /* rule 128 can match eol */ 2515 YY_RULE_SETUP 2516 #line 308 "lex.ll" 2511 2517 {} // continuation (ALSO HANDLED BY CPP) 2512 2518 YY_BREAK 2513 case 12 8:2514 YY_RULE_SETUP 2515 #line 30 8"lex.ll"2519 case 129: 2520 YY_RULE_SETUP 2521 #line 309 "lex.ll" 2516 2522 { strtext->append( yytext, yyleng ); } // unknown escape character 2517 2523 YY_BREAK 2518 2524 /* punctuation */ 2519 case 129:2520 YY_RULE_SETUP2521 #line 311 "lex.ll"2522 { ASCIIOP_RETURN(); }2523 YY_BREAK2524 2525 case 130: 2525 2526 YY_RULE_SETUP … … 2550 2551 YY_RULE_SETUP 2551 2552 #line 317 "lex.ll" 2553 { ASCIIOP_RETURN(); } 2554 YY_BREAK 2555 case 136: 2556 YY_RULE_SETUP 2557 #line 318 "lex.ll" 2552 2558 { ASCIIOP_RETURN(); } // also operator 2553 YY_BREAK2554 case 136:2555 YY_RULE_SETUP2556 #line 318 "lex.ll"2557 { ASCIIOP_RETURN(); }2558 2559 YY_BREAK 2559 2560 case 137: … … 2565 2566 YY_RULE_SETUP 2566 2567 #line 320 "lex.ll" 2568 { ASCIIOP_RETURN(); } 2569 YY_BREAK 2570 case 139: 2571 YY_RULE_SETUP 2572 #line 321 "lex.ll" 2567 2573 { ASCIIOP_RETURN(); } // also operator 2568 2574 YY_BREAK 2569 case 1 39:2570 YY_RULE_SETUP 2571 #line 32 1"lex.ll"2575 case 140: 2576 YY_RULE_SETUP 2577 #line 322 "lex.ll" 2572 2578 { NAMEDOP_RETURN(ELLIPSIS); } 2573 2579 YY_BREAK 2574 2580 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */ 2575 case 14 0:2576 YY_RULE_SETUP 2577 #line 32 4"lex.ll"2581 case 141: 2582 YY_RULE_SETUP 2583 #line 325 "lex.ll" 2578 2584 { RETURN_VAL('['); } 2579 2585 YY_BREAK 2580 case 14 1:2581 YY_RULE_SETUP 2582 #line 32 5"lex.ll"2586 case 142: 2587 YY_RULE_SETUP 2588 #line 326 "lex.ll" 2583 2589 { RETURN_VAL(']'); } 2584 2590 YY_BREAK 2585 case 14 2:2586 YY_RULE_SETUP 2587 #line 32 6"lex.ll"2591 case 143: 2592 YY_RULE_SETUP 2593 #line 327 "lex.ll" 2588 2594 { RETURN_VAL('{'); } 2589 2595 YY_BREAK 2590 case 14 3:2591 YY_RULE_SETUP 2592 #line 32 7"lex.ll"2596 case 144: 2597 YY_RULE_SETUP 2598 #line 328 "lex.ll" 2593 2599 { RETURN_VAL('}'); } 2594 2600 YY_BREAK 2595 2601 /* operators */ 2596 case 144:2597 YY_RULE_SETUP2598 #line 330 "lex.ll"2599 { ASCIIOP_RETURN(); }2600 YY_BREAK2601 2602 case 145: 2602 2603 YY_RULE_SETUP … … 2666 2667 case 158: 2667 2668 YY_RULE_SETUP 2668 #line 345 "lex.ll" 2669 #line 344 "lex.ll" 2670 { ASCIIOP_RETURN(); } 2671 YY_BREAK 2672 case 159: 2673 YY_RULE_SETUP 2674 #line 346 "lex.ll" 2669 2675 { NAMEDOP_RETURN(ICR); } 2670 2676 YY_BREAK 2671 case 1 59:2672 YY_RULE_SETUP 2673 #line 34 6"lex.ll"2677 case 160: 2678 YY_RULE_SETUP 2679 #line 347 "lex.ll" 2674 2680 { NAMEDOP_RETURN(DECR); } 2675 2681 YY_BREAK 2676 case 16 0:2677 YY_RULE_SETUP 2678 #line 34 7"lex.ll"2682 case 161: 2683 YY_RULE_SETUP 2684 #line 348 "lex.ll" 2679 2685 { NAMEDOP_RETURN(EQ); } 2680 2686 YY_BREAK 2681 case 16 1:2682 YY_RULE_SETUP 2683 #line 34 8"lex.ll"2687 case 162: 2688 YY_RULE_SETUP 2689 #line 349 "lex.ll" 2684 2690 { NAMEDOP_RETURN(NE); } 2685 2691 YY_BREAK 2686 case 16 2:2687 YY_RULE_SETUP 2688 #line 3 49"lex.ll"2692 case 163: 2693 YY_RULE_SETUP 2694 #line 350 "lex.ll" 2689 2695 { NAMEDOP_RETURN(LS); } 2690 2696 YY_BREAK 2691 case 16 3:2692 YY_RULE_SETUP 2693 #line 35 0"lex.ll"2697 case 164: 2698 YY_RULE_SETUP 2699 #line 351 "lex.ll" 2694 2700 { NAMEDOP_RETURN(RS); } 2695 2701 YY_BREAK 2696 case 16 4:2697 YY_RULE_SETUP 2698 #line 35 1"lex.ll"2702 case 165: 2703 YY_RULE_SETUP 2704 #line 352 "lex.ll" 2699 2705 { NAMEDOP_RETURN(LE); } 2700 2706 YY_BREAK 2701 case 16 5:2702 YY_RULE_SETUP 2703 #line 35 2"lex.ll"2707 case 166: 2708 YY_RULE_SETUP 2709 #line 353 "lex.ll" 2704 2710 { NAMEDOP_RETURN(GE); } 2705 2711 YY_BREAK 2706 case 16 6:2707 YY_RULE_SETUP 2708 #line 35 3"lex.ll"2712 case 167: 2713 YY_RULE_SETUP 2714 #line 354 "lex.ll" 2709 2715 { NAMEDOP_RETURN(ANDAND); } 2710 2716 YY_BREAK 2711 case 16 7:2712 YY_RULE_SETUP 2713 #line 35 4"lex.ll"2717 case 168: 2718 YY_RULE_SETUP 2719 #line 355 "lex.ll" 2714 2720 { NAMEDOP_RETURN(OROR); } 2715 2721 YY_BREAK 2716 case 16 8:2717 YY_RULE_SETUP 2718 #line 35 5"lex.ll"2722 case 169: 2723 YY_RULE_SETUP 2724 #line 356 "lex.ll" 2719 2725 { NAMEDOP_RETURN(ARROW); } 2720 2726 YY_BREAK 2721 case 1 69:2722 YY_RULE_SETUP 2723 #line 35 6"lex.ll"2727 case 170: 2728 YY_RULE_SETUP 2729 #line 357 "lex.ll" 2724 2730 { NAMEDOP_RETURN(PLUSassign); } 2725 2731 YY_BREAK 2726 case 17 0:2727 YY_RULE_SETUP 2728 #line 35 7"lex.ll"2732 case 171: 2733 YY_RULE_SETUP 2734 #line 358 "lex.ll" 2729 2735 { NAMEDOP_RETURN(MINUSassign); } 2730 2736 YY_BREAK 2731 case 17 1:2732 YY_RULE_SETUP 2733 #line 35 8"lex.ll"2737 case 172: 2738 YY_RULE_SETUP 2739 #line 359 "lex.ll" 2734 2740 { NAMEDOP_RETURN(MULTassign); } 2735 2741 YY_BREAK 2736 case 17 2:2737 YY_RULE_SETUP 2738 #line 3 59"lex.ll"2742 case 173: 2743 YY_RULE_SETUP 2744 #line 360 "lex.ll" 2739 2745 { NAMEDOP_RETURN(DIVassign); } 2740 2746 YY_BREAK 2741 case 17 3:2742 YY_RULE_SETUP 2743 #line 36 0"lex.ll"2747 case 174: 2748 YY_RULE_SETUP 2749 #line 361 "lex.ll" 2744 2750 { NAMEDOP_RETURN(MODassign); } 2745 2751 YY_BREAK 2746 case 17 4:2747 YY_RULE_SETUP 2748 #line 36 1"lex.ll"2752 case 175: 2753 YY_RULE_SETUP 2754 #line 362 "lex.ll" 2749 2755 { NAMEDOP_RETURN(ANDassign); } 2750 2756 YY_BREAK 2751 case 17 5:2752 YY_RULE_SETUP 2753 #line 36 2"lex.ll"2757 case 176: 2758 YY_RULE_SETUP 2759 #line 363 "lex.ll" 2754 2760 { NAMEDOP_RETURN(ORassign); } 2755 2761 YY_BREAK 2756 case 17 6:2757 YY_RULE_SETUP 2758 #line 36 3"lex.ll"2762 case 177: 2763 YY_RULE_SETUP 2764 #line 364 "lex.ll" 2759 2765 { NAMEDOP_RETURN(ERassign); } 2760 2766 YY_BREAK 2761 case 17 7:2762 YY_RULE_SETUP 2763 #line 36 4"lex.ll"2767 case 178: 2768 YY_RULE_SETUP 2769 #line 365 "lex.ll" 2764 2770 { NAMEDOP_RETURN(LSassign); } 2765 2771 YY_BREAK 2766 case 17 8:2767 YY_RULE_SETUP 2768 #line 36 5"lex.ll"2772 case 179: 2773 YY_RULE_SETUP 2774 #line 366 "lex.ll" 2769 2775 { NAMEDOP_RETURN(RSassign); } 2770 2776 YY_BREAK 2771 case 1 79:2772 YY_RULE_SETUP 2773 #line 36 7"lex.ll"2777 case 180: 2778 YY_RULE_SETUP 2779 #line 368 "lex.ll" 2774 2780 { NAMEDOP_RETURN(ATassign); } // CFA 2775 2781 YY_BREAK 2776 2782 /* CFA, operator identifier */ 2777 case 18 0:2778 YY_RULE_SETUP 2779 #line 37 0"lex.ll"2783 case 181: 2784 YY_RULE_SETUP 2785 #line 371 "lex.ll" 2780 2786 { IDENTIFIER_RETURN(); } // unary 2781 YY_BREAK2782 case 181:2783 YY_RULE_SETUP2784 #line 371 "lex.ll"2785 { IDENTIFIER_RETURN(); }2786 2787 YY_BREAK 2787 2788 case 182: … … 2793 2794 YY_RULE_SETUP 2794 2795 #line 373 "lex.ll" 2796 { IDENTIFIER_RETURN(); } 2797 YY_BREAK 2798 case 184: 2799 YY_RULE_SETUP 2800 #line 374 "lex.ll" 2795 2801 { IDENTIFIER_RETURN(); } // binary 2796 2802 YY_BREAK … … 2821 2827 an argument list. 2822 2828 */ 2823 case 18 4:2824 YY_RULE_SETUP 2825 #line 40 0"lex.ll"2829 case 185: 2830 YY_RULE_SETUP 2831 #line 401 "lex.ll" 2826 2832 { 2827 2833 // 1 or 2 character unary operator ? … … 2836 2842 YY_BREAK 2837 2843 /* unknown characters */ 2838 case 18 5:2839 YY_RULE_SETUP 2840 #line 41 2"lex.ll"2844 case 186: 2845 YY_RULE_SETUP 2846 #line 413 "lex.ll" 2841 2847 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); } 2842 2848 YY_BREAK 2843 case 18 6:2844 YY_RULE_SETUP 2845 #line 41 4"lex.ll"2849 case 187: 2850 YY_RULE_SETUP 2851 #line 415 "lex.ll" 2846 2852 ECHO; 2847 2853 YY_BREAK 2848 #line 28 49"Parser/lex.cc"2854 #line 2855 "Parser/lex.cc" 2849 2855 case YY_STATE_EOF(INITIAL): 2850 2856 case YY_STATE_EOF(COMMENT): … … 3143 3149 { 3144 3150 yy_current_state = (int) yy_def[yy_current_state]; 3145 if ( yy_current_state >= 9 09)3151 if ( yy_current_state >= 914 ) 3146 3152 yy_c = yy_meta[(unsigned int) yy_c]; 3147 3153 } … … 3171 3177 { 3172 3178 yy_current_state = (int) yy_def[yy_current_state]; 3173 if ( yy_current_state >= 9 09)3179 if ( yy_current_state >= 914 ) 3174 3180 yy_c = yy_meta[(unsigned int) yy_c]; 3175 3181 } 3176 3182 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3177 yy_is_jam = (yy_current_state == 9 08);3183 yy_is_jam = (yy_current_state == 913); 3178 3184 3179 3185 return yy_is_jam ? 0 : yy_current_state; … … 3821 3827 #define YYTABLES_NAME "yytables" 3822 3828 3823 #line 41 4"lex.ll"3829 #line 415 "lex.ll" 3824 3830 3825 3831 -
src/Parser/lex.ll
r7fe2498 ra7c90d4 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Tue Nov 29 11:32:00 201613 * Update Count : 50 112 * Last Modified On : Fri Mar 3 22:18:00 2017 13 * Update Count : 502 14 14 */ 15 15 … … 235 235 long { KEYWORD_RETURN(LONG); } 236 236 lvalue { KEYWORD_RETURN(LVALUE); } // CFA 237 mutex { KEYWORD_RETURN(MUTEX); } // CFA 237 238 _Noreturn { KEYWORD_RETURN(NORETURN); } // C11 238 239 __builtin_offsetof { KEYWORD_RETURN(OFFSETOF); } // GCC -
src/Parser/parser.cc
r7fe2498 ra7c90d4 144 144 enum yytokentype { 145 145 TYPEDEF = 258, 146 AUTO = 259, 147 EXTERN = 260, 148 REGISTER = 261, 149 STATIC = 262, 150 INLINE = 263, 151 FORTRAN = 264, 152 CONST = 265, 153 VOLATILE = 266, 154 RESTRICT = 267, 155 FORALL = 268, 156 LVALUE = 269, 157 VOID = 270, 158 CHAR = 271, 159 SHORT = 272, 160 INT = 273, 161 LONG = 274, 162 FLOAT = 275, 163 DOUBLE = 276, 164 SIGNED = 277, 165 UNSIGNED = 278, 166 ZERO_T = 279, 167 ONE_T = 280, 168 VALIST = 281, 169 BOOL = 282, 170 COMPLEX = 283, 171 IMAGINARY = 284, 172 TYPEOF = 285, 173 LABEL = 286, 174 ENUM = 287, 175 STRUCT = 288, 176 UNION = 289, 177 OTYPE = 290, 178 FTYPE = 291, 179 DTYPE = 292, 180 TTYPE = 293, 181 TRAIT = 294, 182 SIZEOF = 295, 183 OFFSETOF = 296, 184 ATTRIBUTE = 297, 185 EXTENSION = 298, 186 IF = 299, 187 ELSE = 300, 188 SWITCH = 301, 189 CASE = 302, 190 DEFAULT = 303, 191 DO = 304, 192 WHILE = 305, 193 FOR = 306, 194 BREAK = 307, 195 CONTINUE = 308, 196 GOTO = 309, 197 RETURN = 310, 198 CHOOSE = 311, 199 DISABLE = 312, 200 ENABLE = 313, 201 FALLTHRU = 314, 202 TRY = 315, 203 CATCH = 316, 204 CATCHRESUME = 317, 205 FINALLY = 318, 206 THROW = 319, 207 THROWRESUME = 320, 208 AT = 321, 209 ASM = 322, 210 ALIGNAS = 323, 211 ALIGNOF = 324, 212 ATOMIC = 325, 213 GENERIC = 326, 214 NORETURN = 327, 215 STATICASSERT = 328, 216 THREADLOCAL = 329, 217 IDENTIFIER = 330, 218 QUOTED_IDENTIFIER = 331, 219 TYPEDEFname = 332, 220 TYPEGENname = 333, 221 ATTR_IDENTIFIER = 334, 222 ATTR_TYPEDEFname = 335, 223 ATTR_TYPEGENname = 336, 224 INTEGERconstant = 337, 225 CHARACTERconstant = 338, 226 STRINGliteral = 339, 227 REALDECIMALconstant = 340, 228 REALFRACTIONconstant = 341, 229 FLOATINGconstant = 342, 230 ZERO = 343, 231 ONE = 344, 232 ARROW = 345, 233 ICR = 346, 234 DECR = 347, 235 LS = 348, 236 RS = 349, 237 LE = 350, 238 GE = 351, 239 EQ = 352, 240 NE = 353, 241 ANDAND = 354, 242 OROR = 355, 243 ELLIPSIS = 356, 244 MULTassign = 357, 245 DIVassign = 358, 246 MODassign = 359, 247 PLUSassign = 360, 248 MINUSassign = 361, 249 LSassign = 362, 250 RSassign = 363, 251 ANDassign = 364, 252 ERassign = 365, 253 ORassign = 366, 254 ATassign = 367, 255 THEN = 368 146 EXTERN = 259, 147 STATIC = 260, 148 AUTO = 261, 149 REGISTER = 262, 150 THREADLOCAL = 263, 151 INLINE = 264, 152 FORTRAN = 265, 153 NORETURN = 266, 154 CONST = 267, 155 VOLATILE = 268, 156 RESTRICT = 269, 157 ATOMIC = 270, 158 FORALL = 271, 159 LVALUE = 272, 160 MUTEX = 273, 161 VOID = 274, 162 CHAR = 275, 163 SHORT = 276, 164 INT = 277, 165 LONG = 278, 166 FLOAT = 279, 167 DOUBLE = 280, 168 SIGNED = 281, 169 UNSIGNED = 282, 170 ZERO_T = 283, 171 ONE_T = 284, 172 VALIST = 285, 173 BOOL = 286, 174 COMPLEX = 287, 175 IMAGINARY = 288, 176 TYPEOF = 289, 177 LABEL = 290, 178 ENUM = 291, 179 STRUCT = 292, 180 UNION = 293, 181 OTYPE = 294, 182 FTYPE = 295, 183 DTYPE = 296, 184 TTYPE = 297, 185 TRAIT = 298, 186 SIZEOF = 299, 187 OFFSETOF = 300, 188 ATTRIBUTE = 301, 189 EXTENSION = 302, 190 IF = 303, 191 ELSE = 304, 192 SWITCH = 305, 193 CASE = 306, 194 DEFAULT = 307, 195 DO = 308, 196 WHILE = 309, 197 FOR = 310, 198 BREAK = 311, 199 CONTINUE = 312, 200 GOTO = 313, 201 RETURN = 314, 202 CHOOSE = 315, 203 DISABLE = 316, 204 ENABLE = 317, 205 FALLTHRU = 318, 206 TRY = 319, 207 CATCH = 320, 208 CATCHRESUME = 321, 209 FINALLY = 322, 210 THROW = 323, 211 THROWRESUME = 324, 212 AT = 325, 213 ASM = 326, 214 ALIGNAS = 327, 215 ALIGNOF = 328, 216 GENERIC = 329, 217 STATICASSERT = 330, 218 IDENTIFIER = 331, 219 QUOTED_IDENTIFIER = 332, 220 TYPEDEFname = 333, 221 TYPEGENname = 334, 222 ATTR_IDENTIFIER = 335, 223 ATTR_TYPEDEFname = 336, 224 ATTR_TYPEGENname = 337, 225 INTEGERconstant = 338, 226 CHARACTERconstant = 339, 227 STRINGliteral = 340, 228 REALDECIMALconstant = 341, 229 REALFRACTIONconstant = 342, 230 FLOATINGconstant = 343, 231 ZERO = 344, 232 ONE = 345, 233 ARROW = 346, 234 ICR = 347, 235 DECR = 348, 236 LS = 349, 237 RS = 350, 238 LE = 351, 239 GE = 352, 240 EQ = 353, 241 NE = 354, 242 ANDAND = 355, 243 OROR = 356, 244 ELLIPSIS = 357, 245 MULTassign = 358, 246 DIVassign = 359, 247 MODassign = 360, 248 PLUSassign = 361, 249 MINUSassign = 362, 250 LSassign = 363, 251 RSassign = 364, 252 ANDassign = 365, 253 ERassign = 366, 254 ORassign = 367, 255 ATassign = 368, 256 THEN = 369 256 257 }; 257 258 #endif 258 259 /* Tokens. */ 259 260 #define TYPEDEF 258 260 #define AUTO 259 261 #define EXTERN 260 262 #define REGISTER 261 263 #define STATIC 262 264 #define INLINE 263 265 #define FORTRAN 264 266 #define CONST 265 267 #define VOLATILE 266 268 #define RESTRICT 267 269 #define FORALL 268 270 #define LVALUE 269 271 #define VOID 270 272 #define CHAR 271 273 #define SHORT 272 274 #define INT 273 275 #define LONG 274 276 #define FLOAT 275 277 #define DOUBLE 276 278 #define SIGNED 277 279 #define UNSIGNED 278 280 #define ZERO_T 279 281 #define ONE_T 280 282 #define VALIST 281 283 #define BOOL 282 284 #define COMPLEX 283 285 #define IMAGINARY 284 286 #define TYPEOF 285 287 #define LABEL 286 288 #define ENUM 287 289 #define STRUCT 288 290 #define UNION 289 291 #define OTYPE 290 292 #define FTYPE 291 293 #define DTYPE 292 294 #define TTYPE 293 295 #define TRAIT 294 296 #define SIZEOF 295 297 #define OFFSETOF 296 298 #define ATTRIBUTE 297 299 #define EXTENSION 298 300 #define IF 299 301 #define ELSE 300 302 #define SWITCH 301 303 #define CASE 302 304 #define DEFAULT 303 305 #define DO 304 306 #define WHILE 305 307 #define FOR 306 308 #define BREAK 307 309 #define CONTINUE 308 310 #define GOTO 309 311 #define RETURN 310 312 #define CHOOSE 311 313 #define DISABLE 312 314 #define ENABLE 313 315 #define FALLTHRU 314 316 #define TRY 315 317 #define CATCH 316 318 #define CATCHRESUME 317 319 #define FINALLY 318 320 #define THROW 319 321 #define THROWRESUME 320 322 #define AT 321 323 #define ASM 322 324 #define ALIGNAS 323 325 #define ALIGNOF 324 326 #define ATOMIC 325 327 #define GENERIC 326 328 #define NORETURN 327 329 #define STATICASSERT 328 330 #define THREADLOCAL 329 331 #define IDENTIFIER 330 332 #define QUOTED_IDENTIFIER 331 333 #define TYPEDEFname 332 334 #define TYPEGENname 333 335 #define ATTR_IDENTIFIER 334 336 #define ATTR_TYPEDEFname 335 337 #define ATTR_TYPEGENname 336 338 #define INTEGERconstant 337 339 #define CHARACTERconstant 338 340 #define STRINGliteral 339 341 #define REALDECIMALconstant 340 342 #define REALFRACTIONconstant 341 343 #define FLOATINGconstant 342 344 #define ZERO 343 345 #define ONE 344 346 #define ARROW 345 347 #define ICR 346 348 #define DECR 347 349 #define LS 348 350 #define RS 349 351 #define LE 350 352 #define GE 351 353 #define EQ 352 354 #define NE 353 355 #define ANDAND 354 356 #define OROR 355 357 #define ELLIPSIS 356 358 #define MULTassign 357 359 #define DIVassign 358 360 #define MODassign 359 361 #define PLUSassign 360 362 #define MINUSassign 361 363 #define LSassign 362 364 #define RSassign 363 365 #define ANDassign 364 366 #define ERassign 365 367 #define ORassign 366 368 #define ATassign 367 369 #define THEN 368 261 #define EXTERN 259 262 #define STATIC 260 263 #define AUTO 261 264 #define REGISTER 262 265 #define THREADLOCAL 263 266 #define INLINE 264 267 #define FORTRAN 265 268 #define NORETURN 266 269 #define CONST 267 270 #define VOLATILE 268 271 #define RESTRICT 269 272 #define ATOMIC 270 273 #define FORALL 271 274 #define LVALUE 272 275 #define MUTEX 273 276 #define VOID 274 277 #define CHAR 275 278 #define SHORT 276 279 #define INT 277 280 #define LONG 278 281 #define FLOAT 279 282 #define DOUBLE 280 283 #define SIGNED 281 284 #define UNSIGNED 282 285 #define ZERO_T 283 286 #define ONE_T 284 287 #define VALIST 285 288 #define BOOL 286 289 #define COMPLEX 287 290 #define IMAGINARY 288 291 #define TYPEOF 289 292 #define LABEL 290 293 #define ENUM 291 294 #define STRUCT 292 295 #define UNION 293 296 #define OTYPE 294 297 #define FTYPE 295 298 #define DTYPE 296 299 #define TTYPE 297 300 #define TRAIT 298 301 #define SIZEOF 299 302 #define OFFSETOF 300 303 #define ATTRIBUTE 301 304 #define EXTENSION 302 305 #define IF 303 306 #define ELSE 304 307 #define SWITCH 305 308 #define CASE 306 309 #define DEFAULT 307 310 #define DO 308 311 #define WHILE 309 312 #define FOR 310 313 #define BREAK 311 314 #define CONTINUE 312 315 #define GOTO 313 316 #define RETURN 314 317 #define CHOOSE 315 318 #define DISABLE 316 319 #define ENABLE 317 320 #define FALLTHRU 318 321 #define TRY 319 322 #define CATCH 320 323 #define CATCHRESUME 321 324 #define FINALLY 322 325 #define THROW 323 326 #define THROWRESUME 324 327 #define AT 325 328 #define ASM 326 329 #define ALIGNAS 327 330 #define ALIGNOF 328 331 #define GENERIC 329 332 #define STATICASSERT 330 333 #define IDENTIFIER 331 334 #define QUOTED_IDENTIFIER 332 335 #define TYPEDEFname 333 336 #define TYPEGENname 334 337 #define ATTR_IDENTIFIER 335 338 #define ATTR_TYPEDEFname 336 339 #define ATTR_TYPEGENname 337 340 #define INTEGERconstant 338 341 #define CHARACTERconstant 339 342 #define STRINGliteral 340 343 #define REALDECIMALconstant 341 344 #define REALFRACTIONconstant 342 345 #define FLOATINGconstant 343 346 #define ZERO 344 347 #define ONE 345 348 #define ARROW 346 349 #define ICR 347 350 #define DECR 348 351 #define LS 349 352 #define RS 350 353 #define LE 351 354 #define GE 352 355 #define EQ 353 356 #define NE 354 357 #define ANDAND 355 358 #define OROR 356 359 #define ELLIPSIS 357 360 #define MULTassign 358 361 #define DIVassign 359 362 #define MODassign 360 363 #define PLUSassign 361 364 #define MINUSassign 362 365 #define LSassign 363 366 #define RSassign 364 367 #define ANDassign 365 368 #define ERassign 366 369 #define ORassign 367 370 #define ATassign 368 371 #define THEN 369 370 372 371 373 … … 377 379 378 380 /* Line 293 of yacc.c */ 379 #line 1 39"parser.yy"381 #line 141 "parser.yy" 380 382 381 383 Token tok; … … 397 399 398 400 /* Line 293 of yacc.c */ 399 #line 40 0"Parser/parser.cc"401 #line 402 "Parser/parser.cc" 400 402 } YYSTYPE; 401 403 # define YYSTYPE_IS_TRIVIAL 1 … … 409 411 410 412 /* Line 343 of yacc.c */ 411 #line 41 2"Parser/parser.cc"413 #line 414 "Parser/parser.cc" 412 414 413 415 #ifdef short … … 626 628 627 629 /* YYFINAL -- State number of the termination state. */ 628 #define YYFINAL 24 0630 #define YYFINAL 241 629 631 /* YYLAST -- Last index in YYTABLE. */ 630 #define YYLAST 118 98632 #define YYLAST 11830 631 633 632 634 /* YYNTOKENS -- Number of terminals. */ 633 #define YYNTOKENS 13 8635 #define YYNTOKENS 139 634 636 /* YYNNTS -- Number of nonterminals. */ 635 637 #define YYNNTS 249 636 638 /* YYNRULES -- Number of rules. */ 637 #define YYNRULES 77 5639 #define YYNRULES 776 638 640 /* YYNRULES -- Number of states. */ 639 #define YYNSTATES 158 2641 #define YYNSTATES 1583 640 642 641 643 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 642 644 #define YYUNDEFTOK 2 643 #define YYMAXUTOK 36 8645 #define YYMAXUTOK 369 644 646 645 647 #define YYTRANSLATE(YYX) \ … … 652 654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 653 655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 654 2, 2, 2, 12 6, 2, 2, 2, 129, 123, 2,655 11 4, 115, 122, 124, 121, 125, 118, 128, 2, 2,656 2, 2, 2, 2, 2, 2, 2, 2, 13 5, 137,657 13 0, 136, 131, 134, 2, 2, 2, 2, 2, 2,656 2, 2, 2, 127, 2, 2, 2, 130, 124, 2, 657 115, 116, 123, 125, 122, 126, 119, 129, 2, 2, 658 2, 2, 2, 2, 2, 2, 2, 2, 136, 138, 659 131, 137, 132, 135, 2, 2, 2, 2, 2, 2, 658 660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 659 661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 660 2, 11 6, 2, 117, 132, 2, 2, 2, 2, 2,662 2, 117, 2, 118, 133, 2, 2, 2, 2, 2, 661 663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 662 664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 663 2, 2, 2, 1 19, 133, 120, 127, 2, 2, 2,665 2, 2, 2, 120, 134, 121, 128, 2, 2, 2, 664 666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 665 667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 685 687 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 686 688 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 687 105, 106, 107, 108, 109, 110, 111, 112, 113 689 105, 106, 107, 108, 109, 110, 111, 112, 113, 114 688 690 }; 689 691 … … 724 726 1076, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099, 725 727 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1116, 1118, 726 1120, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 113 8,727 114 4, 1146, 1149, 1153, 1155, 1158, 1160, 1162, 1164, 1166,728 1120, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139, 729 1140, 1146, 1148, 1151, 1155, 1157, 1160, 1162, 1164, 1166, 728 730 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 729 731 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 730 120 9, 1212, 1216, 1220, 1222, 1226, 1228, 1231, 1234, 1237,731 12 42, 1247, 1252, 1257, 1259, 1262, 1265, 1269, 1271, 1274,732 127 7, 1279, 1282, 1285, 1289, 1291, 1294, 1297, 1299, 1302,733 130 5, 1309, 1311, 1314, 1317, 1319, 1321, 1323, 1325, 1331,734 133 2, 1340, 1349, 1351, 1355, 1359, 1361, 1363, 1364, 1367,735 13 70, 1374, 1378, 1383, 1385, 1388, 1392, 1395, 1397, 1402,736 140 3, 1405, 1408, 1411, 1413, 1414, 1416, 1419, 1426, 1427,737 14 36, 1438, 1442, 1445, 1450, 1451, 1454, 1455, 1457, 1459,738 1461, 146 7, 1473, 1479, 1481, 1487, 1493, 1503, 1505, 1511,739 151 2, 1514, 1516, 1522, 1524, 1526, 1532, 1538, 1540, 1544,740 154 8, 1553, 1555, 1557, 1559, 1561, 1564, 1566, 1570, 1574,741 157 7, 1581, 1583, 1587, 1589, 1591, 1593, 1595, 1597, 1599,742 1601, 1603, 1605, 1607, 1609, 161 2, 1614, 1616, 1617, 1620,743 162 3, 1625, 1630, 1631, 1633, 1636, 1640, 1645, 1648, 1651,744 1653, 165 6, 1659, 1665, 1671, 1679, 1686, 1688, 1691, 1694,745 169 8, 1700, 1703, 1706, 1711, 1714, 1719, 1720, 1725, 1728,746 1730, 1732, 1734, 1736, 173 7, 1740, 1746, 1752, 1766, 1768,747 1770, 177 4, 1778, 1781, 1785, 1789, 1792, 1797, 1799, 1806,748 18 16, 1817, 1829, 1831, 1835, 1839, 1843, 1845, 1847, 1853,749 185 6, 1862, 1863, 1865, 1867, 1871, 1872, 1874, 1876, 1878,750 188 4, 1885, 1892, 1895, 1897, 1900, 1905, 1908, 1912, 1916,751 19 20, 1925, 1931, 1937, 1943, 1950, 1952, 1954, 1956, 1960,752 196 1, 1967, 1968, 1970, 1972, 1975, 1982, 1984, 1988, 1989,753 1991, 199 6, 1998, 2000, 2002, 2004, 2007, 2009, 2012, 2015,754 2017, 20 21, 2024, 2028, 2033, 2036, 2041, 2046, 2050, 2059,755 206 3, 2066, 2068, 2071, 2078, 2087, 2091, 2094, 2098, 2102,756 210 7, 2112, 2116, 2118, 2120, 2122, 2127, 2136, 2140, 2143,757 214 7, 2151, 2156, 2161, 2165, 2168, 2170, 2173, 2176, 2178,758 218 2, 2185, 2189, 2194, 2197, 2202, 2207, 2211, 2218, 2227,759 22 31, 2234, 2236, 2239, 2242, 2245, 2249, 2254, 2257, 2262,760 226 7, 2271, 2278, 2287, 2291, 2294, 2296, 2299, 2302, 2304,761 2306, 230 9, 2313, 2318, 2321, 2326, 2333, 2342, 2344, 2347,762 23 50, 2352, 2355, 2358, 2362, 2367, 2369, 2374, 2379, 2383,763 238 9, 2398, 2402, 2405, 2409, 2411, 2417, 2423, 2430, 2437,764 2439, 244 2, 2445, 2447, 2450, 2453, 2457, 2462, 2464, 2469,765 247 4, 2478, 2484, 2493, 2497, 2499, 2502, 2504, 2507, 2514,766 25 20, 2527, 2535, 2543, 2545, 2548, 2551, 2553, 2556, 2559,767 256 3, 2568, 2570, 2575, 2580, 2584, 2593, 2597, 2599, 2601,768 260 4, 2606, 2608, 2611, 2615, 2618, 2622, 2625, 2629, 2633,769 263 6, 2641, 2645, 2648, 2652, 2655, 2660, 2664, 2667, 2674,770 26 81, 2688, 2696, 2698, 2701, 2703, 2705, 2707, 2710, 2714,771 271 7, 2721, 2724, 2728, 2732, 2737, 2740, 2744, 2749, 2752,772 275 8, 2765, 2772, 2773, 2775, 2776732 1208, 1211, 1214, 1218, 1222, 1224, 1228, 1230, 1233, 1236, 733 1239, 1244, 1249, 1254, 1259, 1261, 1264, 1267, 1271, 1273, 734 1276, 1279, 1281, 1284, 1287, 1291, 1293, 1296, 1299, 1301, 735 1304, 1307, 1311, 1313, 1316, 1319, 1321, 1323, 1325, 1327, 736 1333, 1334, 1342, 1351, 1353, 1357, 1361, 1363, 1365, 1366, 737 1369, 1372, 1376, 1380, 1385, 1387, 1390, 1394, 1397, 1399, 738 1404, 1405, 1407, 1410, 1413, 1415, 1416, 1418, 1421, 1428, 739 1429, 1438, 1440, 1444, 1447, 1452, 1453, 1456, 1457, 1459, 740 1461, 1463, 1469, 1475, 1481, 1483, 1489, 1495, 1505, 1507, 741 1513, 1514, 1516, 1518, 1524, 1526, 1528, 1534, 1540, 1542, 742 1546, 1550, 1555, 1557, 1559, 1561, 1563, 1566, 1568, 1572, 743 1576, 1579, 1583, 1585, 1589, 1591, 1593, 1595, 1597, 1599, 744 1601, 1603, 1605, 1607, 1609, 1611, 1614, 1616, 1618, 1619, 745 1622, 1625, 1627, 1632, 1633, 1635, 1638, 1642, 1647, 1650, 746 1653, 1655, 1658, 1661, 1667, 1673, 1681, 1688, 1690, 1693, 747 1696, 1700, 1702, 1705, 1708, 1713, 1716, 1721, 1722, 1727, 748 1730, 1732, 1734, 1736, 1738, 1739, 1742, 1748, 1754, 1768, 749 1770, 1772, 1776, 1780, 1783, 1787, 1791, 1794, 1799, 1801, 750 1808, 1818, 1819, 1831, 1833, 1837, 1841, 1845, 1847, 1849, 751 1855, 1858, 1864, 1865, 1867, 1869, 1873, 1874, 1876, 1878, 752 1880, 1886, 1887, 1894, 1897, 1899, 1902, 1907, 1910, 1914, 753 1918, 1922, 1927, 1933, 1939, 1945, 1952, 1954, 1956, 1958, 754 1962, 1963, 1969, 1970, 1972, 1974, 1977, 1984, 1986, 1990, 755 1991, 1993, 1998, 2000, 2002, 2004, 2006, 2009, 2011, 2014, 756 2017, 2019, 2023, 2026, 2030, 2035, 2038, 2043, 2048, 2052, 757 2061, 2065, 2068, 2070, 2073, 2080, 2089, 2093, 2096, 2100, 758 2104, 2109, 2114, 2118, 2120, 2122, 2124, 2129, 2138, 2142, 759 2145, 2149, 2153, 2158, 2163, 2167, 2170, 2172, 2175, 2178, 760 2180, 2184, 2187, 2191, 2196, 2199, 2204, 2209, 2213, 2220, 761 2229, 2233, 2236, 2238, 2241, 2244, 2247, 2251, 2256, 2259, 762 2264, 2269, 2273, 2280, 2289, 2293, 2296, 2298, 2301, 2304, 763 2306, 2308, 2311, 2315, 2320, 2323, 2328, 2335, 2344, 2346, 764 2349, 2352, 2354, 2357, 2360, 2364, 2369, 2371, 2376, 2381, 765 2385, 2391, 2400, 2404, 2407, 2411, 2413, 2419, 2425, 2432, 766 2439, 2441, 2444, 2447, 2449, 2452, 2455, 2459, 2464, 2466, 767 2471, 2476, 2480, 2486, 2495, 2499, 2501, 2504, 2506, 2509, 768 2516, 2522, 2529, 2537, 2545, 2547, 2550, 2553, 2555, 2558, 769 2561, 2565, 2570, 2572, 2577, 2582, 2586, 2595, 2599, 2601, 770 2603, 2606, 2608, 2610, 2613, 2617, 2620, 2624, 2627, 2631, 771 2635, 2638, 2643, 2647, 2650, 2654, 2657, 2662, 2666, 2669, 772 2676, 2683, 2690, 2698, 2700, 2703, 2705, 2707, 2709, 2712, 773 2716, 2719, 2723, 2726, 2730, 2734, 2739, 2742, 2746, 2751, 774 2754, 2760, 2767, 2774, 2775, 2777, 2778 773 775 }; 774 776 … … 776 778 static const yytype_int16 yyrhs[] = 777 779 { 778 315, 0, -1, -1, -1, 82, -1, 85, -1, 86, 779 -1, 87, -1, 83, -1, 75, -1, 79, -1, 145, 780 -1, 75, -1, 79, -1, 75, -1, 145, -1, 88, 781 -1, 89, -1, 147, -1, 84, -1, 147, 84, -1, 782 75, -1, 145, -1, 175, -1, 114, 177, 115, -1, 783 114, 181, 115, -1, 148, -1, 149, 116, 139, 172, 784 140, 117, -1, 149, 114, 150, 115, -1, 149, 118, 785 144, -1, 149, 118, 116, 139, 152, 140, 117, -1, 786 149, 86, -1, 149, 90, 144, -1, 149, 90, 116, 787 139, 152, 140, 117, -1, 149, 91, -1, 149, 92, 788 -1, 114, 288, 115, 119, 292, 385, 120, -1, 149, 789 119, 150, 120, -1, 151, -1, 150, 121, 151, -1, 790 -1, 172, -1, 153, -1, 152, 121, 153, -1, 154, 791 -1, 85, 153, -1, 85, 116, 139, 152, 140, 117, 792 -1, 154, 118, 153, -1, 154, 118, 116, 139, 152, 793 140, 117, -1, 154, 90, 153, -1, 154, 90, 116, 794 139, 152, 140, 117, -1, 82, 155, -1, 87, 155, 795 -1, 144, 155, -1, -1, 155, 86, -1, 149, -1, 796 141, -1, 146, -1, 43, 159, -1, 157, 159, -1, 797 158, 159, -1, 91, 156, -1, 92, 156, -1, 40, 798 156, -1, 40, 114, 288, 115, -1, 69, 156, -1, 799 69, 114, 288, 115, -1, 41, 114, 288, 121, 144, 800 115, -1, 79, -1, 79, 114, 151, 115, -1, 79, 801 114, 289, 115, -1, 122, -1, 123, -1, 124, -1, 802 125, -1, 126, -1, 127, -1, 156, -1, 114, 288, 803 115, 159, -1, 159, -1, 160, 122, 159, -1, 160, 804 128, 159, -1, 160, 129, 159, -1, 160, -1, 161, 805 124, 160, -1, 161, 125, 160, -1, 161, -1, 162, 806 93, 161, -1, 162, 94, 161, -1, 162, -1, 163, 807 130, 162, -1, 163, 131, 162, -1, 163, 95, 162, 808 -1, 163, 96, 162, -1, 163, -1, 164, 97, 163, 809 -1, 164, 98, 163, -1, 164, -1, 165, 123, 164, 810 -1, 165, -1, 166, 132, 165, -1, 166, -1, 167, 811 133, 166, -1, 167, -1, 168, 99, 167, -1, 168, 812 -1, 169, 100, 168, -1, 169, -1, 169, 134, 177, 813 135, 170, -1, 169, 134, 135, 170, -1, 170, -1, 814 170, -1, 156, 174, 172, -1, -1, 172, -1, 136, 815 -1, 112, -1, 102, -1, 103, -1, 104, -1, 105, 816 -1, 106, -1, 107, -1, 108, -1, 109, -1, 110, 817 -1, 111, -1, 116, 139, 121, 176, 140, 117, -1, 818 116, 139, 172, 121, 176, 140, 117, -1, 173, -1, 819 176, 121, 173, -1, 172, -1, 177, 121, 172, -1, 820 -1, 177, -1, 180, -1, 181, -1, 185, -1, 186, 821 -1, 198, -1, 200, -1, 201, -1, 206, -1, 132, 822 149, 119, 150, 120, 137, -1, 285, 135, 325, 179, 823 -1, 119, 120, -1, 119, 139, 139, 217, 182, 140, 824 120, -1, 183, -1, 182, 139, 183, -1, 220, -1, 825 43, 220, -1, 321, -1, 43, 321, -1, 179, 140, 826 -1, 179, -1, 184, 179, -1, 178, 137, -1, 44, 827 114, 177, 115, 179, -1, 44, 114, 177, 115, 179, 828 45, 179, -1, 46, 114, 177, 115, 191, -1, 46, 829 114, 177, 115, 119, 139, 213, 192, 120, -1, 56, 830 114, 177, 115, 191, -1, 56, 114, 177, 115, 119, 831 139, 213, 194, 120, -1, 171, -1, 171, 101, 171, 832 -1, 323, -1, 187, -1, 188, 121, 187, -1, 47, 833 188, 135, -1, 48, 135, -1, 189, -1, 190, 189, 834 -1, 190, 179, -1, -1, 193, -1, 190, 184, -1, 835 193, 190, 184, -1, -1, 195, -1, 190, 197, -1, 836 190, 184, 196, -1, 195, 190, 197, -1, 195, 190, 837 184, 196, -1, -1, 197, -1, 59, -1, 59, 137, 838 -1, 50, 114, 177, 115, 179, -1, 49, 179, 50, 839 114, 177, 115, 137, -1, 51, 114, 139, 199, 115, 840 179, -1, 178, 140, 137, 178, 137, 178, -1, 220, 841 178, 137, 178, -1, 54, 285, 137, -1, 54, 122, 842 177, 137, -1, 53, 137, -1, 53, 285, 137, -1, 843 52, 137, -1, 52, 285, 137, -1, 55, 178, 137, 844 -1, 64, 173, 137, -1, 65, 173, 137, -1, 65, 845 173, 66, 172, 137, -1, 60, 181, 202, -1, 60, 846 181, 204, -1, 60, 181, 202, 204, -1, 203, -1, 847 61, 114, 101, 115, 181, -1, 203, 61, 114, 101, 848 115, 181, -1, 62, 114, 101, 115, 181, -1, 203, 849 62, 114, 101, 115, 181, -1, 61, 114, 139, 139, 850 205, 140, 115, 181, 140, -1, 203, 61, 114, 139, 851 139, 205, 140, 115, 181, 140, -1, 62, 114, 139, 852 139, 205, 140, 115, 181, 140, -1, 203, 62, 114, 853 139, 139, 205, 140, 115, 181, 140, -1, 63, 181, 854 -1, 235, -1, 235, 322, -1, 235, 370, -1, 379, 855 144, -1, 379, -1, 67, 207, 114, 146, 115, 137, 856 -1, 67, 207, 114, 146, 135, 208, 115, 137, -1, 857 67, 207, 114, 146, 135, 208, 135, 208, 115, 137, 858 -1, 67, 207, 114, 146, 135, 208, 135, 208, 135, 859 211, 115, 137, -1, 67, 207, 54, 114, 146, 135, 860 135, 208, 135, 211, 135, 212, 115, 137, -1, -1, 861 11, -1, -1, 209, -1, 210, -1, 209, 121, 210, 862 -1, 146, 114, 171, 115, -1, 116, 171, 117, 146, 863 114, 171, 115, -1, -1, 146, -1, 211, 121, 146, 864 -1, 144, -1, 212, 121, 144, -1, 140, -1, 214, 865 -1, 220, -1, 214, 139, 220, -1, 140, -1, 216, 866 -1, 230, -1, 216, 139, 230, -1, -1, 218, -1, 867 31, 219, 137, -1, 218, 31, 219, 137, -1, 287, 868 -1, 219, 121, 287, -1, 221, -1, 230, -1, 222, 869 140, 137, -1, 227, 140, 137, -1, 224, 140, 137, 870 -1, 306, 140, 137, -1, 309, 140, 137, -1, 223, 871 290, -1, 241, 223, 290, -1, 222, 140, 121, 139, 872 285, 290, -1, 380, 285, 324, -1, 383, 285, 324, 873 -1, 237, 383, 285, 324, -1, 225, -1, 237, 225, 874 -1, 241, 225, -1, 241, 237, 225, -1, 224, 140, 875 121, 139, 285, -1, 383, 285, 114, 139, 273, 140, 876 115, -1, 226, 285, 114, 139, 273, 140, 115, -1, 877 116, 139, 275, 140, 117, -1, 116, 139, 275, 140, 878 121, 139, 276, 140, 117, -1, 3, 223, -1, 3, 879 225, -1, 227, 140, 121, 139, 144, -1, 3, 234, 880 322, -1, 228, 140, 121, 139, 322, -1, 237, 3, 881 234, 322, -1, 234, 3, 322, -1, 234, 3, 237, 882 322, -1, 3, 144, 136, 172, -1, 229, 140, 121, 883 139, 144, 136, 172, -1, 232, 231, 140, 137, -1, 884 228, 140, 137, -1, 229, 140, 137, -1, 249, 140, 885 137, -1, 322, 324, 290, -1, 231, 121, 325, 322, 886 324, 290, -1, 245, -1, 249, -1, 253, -1, 296, 887 -1, 245, -1, 251, -1, 253, -1, 296, -1, 246, 888 -1, 250, -1, 254, -1, 297, -1, 246, -1, 252, 889 -1, 254, -1, 297, -1, -1, 237, -1, 238, -1, 890 237, 238, -1, 239, -1, 327, -1, 10, -1, 12, 891 -1, 11, -1, 14, -1, 70, -1, -1, 13, 114, 892 240, 299, 115, -1, 242, -1, 237, 242, -1, 241, 893 237, 242, -1, 243, -1, 242, 243, -1, 5, -1, 894 7, -1, 4, -1, 6, -1, 74, -1, 8, -1, 895 9, -1, 72, -1, 16, -1, 21, -1, 20, -1, 896 18, -1, 19, -1, 17, -1, 22, -1, 23, -1, 897 15, -1, 27, -1, 28, -1, 29, -1, 26, -1, 898 24, -1, 25, -1, 246, -1, 241, 246, -1, 245, 899 243, -1, 245, 243, 237, -1, 245, 243, 246, -1, 900 247, -1, 236, 248, 236, -1, 244, -1, 237, 244, 901 -1, 247, 238, -1, 247, 244, -1, 30, 114, 289, 902 115, -1, 30, 114, 177, 115, -1, 81, 114, 289, 903 115, -1, 81, 114, 177, 115, -1, 250, -1, 241, 904 250, -1, 249, 243, -1, 249, 243, 237, -1, 255, 905 -1, 237, 255, -1, 250, 238, -1, 252, -1, 241, 906 252, -1, 251, 243, -1, 251, 243, 237, -1, 256, 907 -1, 237, 256, -1, 252, 238, -1, 254, -1, 241, 908 254, -1, 253, 243, -1, 253, 243, 237, -1, 77, 909 -1, 237, 77, -1, 254, 238, -1, 257, -1, 268, 910 -1, 259, -1, 270, -1, 260, 325, 119, 261, 120, 911 -1, -1, 260, 325, 287, 258, 119, 261, 120, -1, 912 260, 325, 114, 305, 115, 119, 261, 120, -1, 259, 913 -1, 260, 325, 287, -1, 260, 325, 298, -1, 33, 914 -1, 34, -1, -1, 261, 262, -1, 263, 137, -1, 915 43, 263, 137, -1, 234, 264, 137, -1, 43, 234, 916 264, 137, -1, 379, -1, 379, 287, -1, 263, 121, 917 287, -1, 263, 121, -1, 265, -1, 264, 121, 325, 918 265, -1, -1, 267, -1, 331, 266, -1, 344, 266, 919 -1, 370, -1, -1, 267, -1, 135, 171, -1, 32, 920 325, 119, 271, 385, 120, -1, -1, 32, 325, 287, 921 269, 119, 271, 385, 120, -1, 270, -1, 32, 325, 922 287, -1, 287, 272, -1, 271, 121, 287, 272, -1, 923 -1, 136, 171, -1, -1, 274, -1, 276, -1, 275, 924 -1, 275, 140, 121, 139, 276, -1, 276, 140, 121, 925 139, 101, -1, 275, 140, 121, 139, 101, -1, 280, 926 -1, 276, 140, 121, 139, 280, -1, 275, 140, 121, 927 139, 280, -1, 275, 140, 121, 139, 276, 140, 121, 928 139, 280, -1, 281, -1, 276, 140, 121, 139, 281, 929 -1, -1, 278, -1, 279, -1, 279, 140, 121, 139, 930 101, -1, 283, -1, 282, -1, 279, 140, 121, 139, 931 283, -1, 279, 140, 121, 139, 282, -1, 282, -1, 932 375, 285, 386, -1, 383, 285, 386, -1, 237, 383, 933 285, 386, -1, 225, -1, 283, -1, 375, -1, 383, 934 -1, 237, 383, -1, 384, -1, 233, 349, 386, -1, 935 233, 353, 386, -1, 233, 386, -1, 233, 364, 386, 936 -1, 144, -1, 284, 121, 144, -1, 142, -1, 77, 937 -1, 78, -1, 143, -1, 77, -1, 78, -1, 144, 938 -1, 77, -1, 78, -1, 379, -1, 234, -1, 234, 939 358, -1, 288, -1, 384, -1, -1, 136, 291, -1, 940 112, 291, -1, 172, -1, 119, 292, 385, 120, -1, 941 -1, 291, -1, 293, 291, -1, 292, 121, 291, -1, 942 292, 121, 293, 291, -1, 294, 135, -1, 287, 135, 943 -1, 295, -1, 294, 295, -1, 118, 287, -1, 116, 944 139, 172, 140, 117, -1, 116, 139, 323, 140, 117, 945 -1, 116, 139, 171, 101, 171, 140, 117, -1, 118, 946 116, 139, 152, 140, 117, -1, 297, -1, 241, 297, 947 -1, 296, 243, -1, 296, 243, 237, -1, 298, -1, 948 237, 298, -1, 297, 238, -1, 78, 114, 305, 115, 949 -1, 300, 386, -1, 299, 121, 300, 386, -1, -1, 950 302, 287, 301, 303, -1, 234, 349, -1, 35, -1, 951 37, -1, 36, -1, 38, -1, -1, 303, 304, -1, 952 133, 287, 114, 305, 115, -1, 133, 119, 139, 311, 953 120, -1, 133, 114, 139, 299, 140, 115, 119, 139, 954 311, 120, 114, 305, 115, -1, 289, -1, 172, -1, 955 305, 121, 289, -1, 305, 121, 172, -1, 35, 307, 956 -1, 242, 35, 307, -1, 306, 121, 307, -1, 308, 957 303, -1, 308, 303, 136, 289, -1, 287, -1, 286, 958 114, 139, 299, 140, 115, -1, 39, 287, 114, 139, 959 299, 140, 115, 119, 120, -1, -1, 39, 287, 114, 960 139, 299, 140, 115, 119, 310, 311, 120, -1, 312, 961 -1, 311, 139, 312, -1, 313, 140, 137, -1, 314, 962 140, 137, -1, 223, -1, 225, -1, 313, 140, 121, 963 139, 285, -1, 234, 322, -1, 314, 140, 121, 139, 964 322, -1, -1, 316, -1, 318, -1, 316, 139, 318, 965 -1, -1, 316, -1, 220, -1, 320, -1, 67, 114, 966 146, 115, 137, -1, -1, 5, 84, 319, 119, 317, 967 120, -1, 43, 318, -1, 321, -1, 336, 181, -1, 968 340, 139, 215, 181, -1, 224, 181, -1, 232, 336, 969 181, -1, 237, 336, 181, -1, 241, 336, 181, -1, 970 241, 237, 336, 181, -1, 232, 340, 139, 215, 181, 971 -1, 237, 340, 139, 215, 181, -1, 241, 340, 139, 972 215, 181, -1, 241, 237, 340, 139, 215, 181, -1, 973 331, -1, 344, -1, 336, -1, 171, 127, 171, -1, 974 -1, 67, 114, 146, 115, 325, -1, -1, 326, -1, 975 327, -1, 326, 327, -1, 42, 114, 114, 328, 115, 976 115, -1, 329, -1, 328, 121, 329, -1, -1, 330, 977 -1, 330, 114, 150, 115, -1, 75, -1, 77, -1, 978 78, -1, 10, -1, 332, 325, -1, 333, -1, 334, 979 325, -1, 335, 325, -1, 142, -1, 114, 332, 115, 980 -1, 157, 331, -1, 157, 237, 331, -1, 114, 333, 981 115, 325, -1, 332, 362, -1, 114, 333, 115, 362, 982 -1, 114, 334, 115, 363, -1, 114, 334, 115, -1, 983 114, 333, 115, 114, 139, 277, 140, 115, -1, 114, 984 335, 115, -1, 337, 325, -1, 338, -1, 339, 325, 985 -1, 332, 114, 139, 277, 140, 115, -1, 114, 338, 986 115, 114, 139, 277, 140, 115, -1, 114, 337, 115, 987 -1, 157, 336, -1, 157, 237, 336, -1, 114, 338, 988 115, -1, 114, 338, 115, 362, -1, 114, 339, 115, 989 363, -1, 114, 339, 115, -1, 341, -1, 342, -1, 990 343, -1, 332, 114, 284, 115, -1, 114, 342, 115, 991 114, 139, 277, 140, 115, -1, 114, 341, 115, -1, 992 157, 340, -1, 157, 237, 340, -1, 114, 342, 115, 993 -1, 114, 342, 115, 362, -1, 114, 343, 115, 363, 994 -1, 114, 343, 115, -1, 345, 325, -1, 346, -1, 995 347, 325, -1, 348, 325, -1, 354, -1, 114, 345, 996 115, -1, 157, 344, -1, 157, 237, 344, -1, 114, 997 346, 115, 325, -1, 345, 362, -1, 114, 346, 115, 998 362, -1, 114, 347, 115, 363, -1, 114, 347, 115, 999 -1, 345, 114, 139, 277, 140, 115, -1, 114, 346, 1000 115, 114, 139, 277, 140, 115, -1, 114, 348, 115, 1001 -1, 332, 325, -1, 350, -1, 351, 325, -1, 352, 1002 325, -1, 157, 349, -1, 157, 237, 349, -1, 114, 1003 350, 115, 325, -1, 332, 368, -1, 114, 350, 115, 1004 362, -1, 114, 351, 115, 363, -1, 114, 351, 115, 1005 -1, 332, 114, 139, 277, 140, 115, -1, 114, 350, 1006 115, 114, 139, 277, 140, 115, -1, 114, 352, 115, 1007 -1, 354, 325, -1, 355, -1, 356, 325, -1, 357, 1008 325, -1, 77, -1, 78, -1, 157, 353, -1, 157, 1009 237, 353, -1, 114, 355, 115, 325, -1, 354, 368, 1010 -1, 114, 355, 115, 368, -1, 354, 114, 139, 277, 1011 140, 115, -1, 114, 355, 115, 114, 139, 277, 140, 1012 115, -1, 359, -1, 360, 325, -1, 361, 325, -1, 1013 157, -1, 157, 237, -1, 157, 358, -1, 157, 237, 1014 358, -1, 114, 359, 115, 325, -1, 362, -1, 114, 1015 359, 115, 362, -1, 114, 360, 115, 363, -1, 114, 1016 360, 115, -1, 114, 139, 277, 140, 115, -1, 114, 1017 359, 115, 114, 139, 277, 140, 115, -1, 114, 361, 1018 115, -1, 116, 117, -1, 116, 117, 363, -1, 363, 1019 -1, 116, 139, 172, 140, 117, -1, 116, 139, 122, 1020 140, 117, -1, 363, 116, 139, 172, 140, 117, -1, 1021 363, 116, 139, 122, 140, 117, -1, 365, -1, 366, 1022 325, -1, 367, 325, -1, 157, -1, 157, 237, -1, 1023 157, 364, -1, 157, 237, 364, -1, 114, 365, 115, 1024 325, -1, 368, -1, 114, 365, 115, 368, -1, 114, 1025 366, 115, 363, -1, 114, 366, 115, -1, 114, 139, 1026 277, 140, 115, -1, 114, 365, 115, 114, 139, 277, 1027 140, 115, -1, 114, 367, 115, -1, 369, -1, 369, 1028 363, -1, 363, -1, 116, 117, -1, 116, 139, 237, 1029 122, 140, 117, -1, 116, 139, 237, 140, 117, -1, 1030 116, 139, 237, 172, 140, 117, -1, 116, 139, 7, 1031 236, 172, 140, 117, -1, 116, 139, 237, 7, 172, 1032 140, 117, -1, 371, -1, 372, 325, -1, 373, 325, 1033 -1, 157, -1, 157, 237, -1, 157, 370, -1, 157, 1034 237, 370, -1, 114, 371, 115, 325, -1, 362, -1, 1035 114, 371, 115, 362, -1, 114, 372, 115, 363, -1, 1036 114, 372, 115, -1, 114, 371, 115, 114, 139, 277, 1037 140, 115, -1, 114, 373, 115, -1, 375, -1, 383, 1038 -1, 237, 383, -1, 376, -1, 377, -1, 157, 235, 1039 -1, 237, 157, 235, -1, 157, 384, -1, 237, 157, 1040 384, -1, 157, 374, -1, 237, 157, 374, -1, 116, 1041 117, 235, -1, 378, 235, -1, 116, 117, 363, 235, 1042 -1, 378, 363, 235, -1, 363, 235, -1, 116, 117, 1043 376, -1, 378, 376, -1, 116, 117, 363, 376, -1, 1044 378, 363, 376, -1, 363, 376, -1, 116, 139, 237, 1045 122, 140, 117, -1, 116, 139, 237, 172, 140, 117, 1046 -1, 116, 139, 241, 172, 140, 117, -1, 116, 139, 1047 241, 237, 172, 140, 117, -1, 383, -1, 237, 383, 1048 -1, 380, -1, 381, -1, 382, -1, 157, 234, -1, 1049 237, 157, 234, -1, 157, 384, -1, 237, 157, 384, 1050 -1, 157, 379, -1, 237, 157, 379, -1, 116, 117, 1051 234, -1, 116, 117, 363, 234, -1, 363, 234, -1, 1052 116, 117, 381, -1, 116, 117, 363, 381, -1, 363, 1053 381, -1, 116, 139, 276, 140, 117, -1, 383, 114, 1054 139, 273, 140, 115, -1, 226, 114, 139, 273, 140, 1055 115, -1, -1, 121, -1, -1, 136, 172, -1 780 316, 0, -1, -1, -1, 83, -1, 86, -1, 87, 781 -1, 88, -1, 84, -1, 76, -1, 80, -1, 146, 782 -1, 76, -1, 80, -1, 76, -1, 146, -1, 89, 783 -1, 90, -1, 148, -1, 85, -1, 148, 85, -1, 784 76, -1, 146, -1, 176, -1, 115, 178, 116, -1, 785 115, 182, 116, -1, 149, -1, 150, 117, 140, 173, 786 141, 118, -1, 150, 115, 151, 116, -1, 150, 119, 787 145, -1, 150, 119, 117, 140, 153, 141, 118, -1, 788 150, 87, -1, 150, 91, 145, -1, 150, 91, 117, 789 140, 153, 141, 118, -1, 150, 92, -1, 150, 93, 790 -1, 115, 289, 116, 120, 293, 386, 121, -1, 150, 791 120, 151, 121, -1, 152, -1, 151, 122, 152, -1, 792 -1, 173, -1, 154, -1, 153, 122, 154, -1, 155, 793 -1, 86, 154, -1, 86, 117, 140, 153, 141, 118, 794 -1, 155, 119, 154, -1, 155, 119, 117, 140, 153, 795 141, 118, -1, 155, 91, 154, -1, 155, 91, 117, 796 140, 153, 141, 118, -1, 83, 156, -1, 88, 156, 797 -1, 145, 156, -1, -1, 156, 87, -1, 150, -1, 798 142, -1, 147, -1, 47, 160, -1, 158, 160, -1, 799 159, 160, -1, 92, 157, -1, 93, 157, -1, 44, 800 157, -1, 44, 115, 289, 116, -1, 73, 157, -1, 801 73, 115, 289, 116, -1, 45, 115, 289, 122, 145, 802 116, -1, 80, -1, 80, 115, 152, 116, -1, 80, 803 115, 290, 116, -1, 123, -1, 124, -1, 125, -1, 804 126, -1, 127, -1, 128, -1, 157, -1, 115, 289, 805 116, 160, -1, 160, -1, 161, 123, 160, -1, 161, 806 129, 160, -1, 161, 130, 160, -1, 161, -1, 162, 807 125, 161, -1, 162, 126, 161, -1, 162, -1, 163, 808 94, 162, -1, 163, 95, 162, -1, 163, -1, 164, 809 131, 163, -1, 164, 132, 163, -1, 164, 96, 163, 810 -1, 164, 97, 163, -1, 164, -1, 165, 98, 164, 811 -1, 165, 99, 164, -1, 165, -1, 166, 124, 165, 812 -1, 166, -1, 167, 133, 166, -1, 167, -1, 168, 813 134, 167, -1, 168, -1, 169, 100, 168, -1, 169, 814 -1, 170, 101, 169, -1, 170, -1, 170, 135, 178, 815 136, 171, -1, 170, 135, 136, 171, -1, 171, -1, 816 171, -1, 157, 175, 173, -1, -1, 173, -1, 137, 817 -1, 113, -1, 103, -1, 104, -1, 105, -1, 106, 818 -1, 107, -1, 108, -1, 109, -1, 110, -1, 111, 819 -1, 112, -1, 117, 140, 122, 177, 141, 118, -1, 820 117, 140, 173, 122, 177, 141, 118, -1, 174, -1, 821 177, 122, 174, -1, 173, -1, 178, 122, 173, -1, 822 -1, 178, -1, 181, -1, 182, -1, 186, -1, 187, 823 -1, 199, -1, 201, -1, 202, -1, 207, -1, 133, 824 150, 120, 151, 121, 138, -1, 286, 136, 326, 180, 825 -1, 120, 121, -1, 120, 140, 140, 218, 183, 141, 826 121, -1, 184, -1, 183, 140, 184, -1, 221, -1, 827 47, 221, -1, 322, -1, 47, 322, -1, 180, 141, 828 -1, 180, -1, 185, 180, -1, 179, 138, -1, 48, 829 115, 178, 116, 180, -1, 48, 115, 178, 116, 180, 830 49, 180, -1, 50, 115, 178, 116, 192, -1, 50, 831 115, 178, 116, 120, 140, 214, 193, 121, -1, 60, 832 115, 178, 116, 192, -1, 60, 115, 178, 116, 120, 833 140, 214, 195, 121, -1, 172, -1, 172, 102, 172, 834 -1, 324, -1, 188, -1, 189, 122, 188, -1, 51, 835 189, 136, -1, 52, 136, -1, 190, -1, 191, 190, 836 -1, 191, 180, -1, -1, 194, -1, 191, 185, -1, 837 194, 191, 185, -1, -1, 196, -1, 191, 198, -1, 838 191, 185, 197, -1, 196, 191, 198, -1, 196, 191, 839 185, 197, -1, -1, 198, -1, 63, -1, 63, 138, 840 -1, 54, 115, 178, 116, 180, -1, 53, 180, 54, 841 115, 178, 116, 138, -1, 55, 115, 140, 200, 116, 842 180, -1, 179, 141, 138, 179, 138, 179, -1, 221, 843 179, 138, 179, -1, 58, 286, 138, -1, 58, 123, 844 178, 138, -1, 57, 138, -1, 57, 286, 138, -1, 845 56, 138, -1, 56, 286, 138, -1, 59, 179, 138, 846 -1, 68, 174, 138, -1, 69, 174, 138, -1, 69, 847 174, 70, 173, 138, -1, 64, 182, 203, -1, 64, 848 182, 205, -1, 64, 182, 203, 205, -1, 204, -1, 849 65, 115, 102, 116, 182, -1, 204, 65, 115, 102, 850 116, 182, -1, 66, 115, 102, 116, 182, -1, 204, 851 66, 115, 102, 116, 182, -1, 65, 115, 140, 140, 852 206, 141, 116, 182, 141, -1, 204, 65, 115, 140, 853 140, 206, 141, 116, 182, 141, -1, 66, 115, 140, 854 140, 206, 141, 116, 182, 141, -1, 204, 66, 115, 855 140, 140, 206, 141, 116, 182, 141, -1, 67, 182, 856 -1, 236, -1, 236, 323, -1, 236, 371, -1, 380, 857 145, -1, 380, -1, 71, 208, 115, 147, 116, 138, 858 -1, 71, 208, 115, 147, 136, 209, 116, 138, -1, 859 71, 208, 115, 147, 136, 209, 136, 209, 116, 138, 860 -1, 71, 208, 115, 147, 136, 209, 136, 209, 136, 861 212, 116, 138, -1, 71, 208, 58, 115, 147, 136, 862 136, 209, 136, 212, 136, 213, 116, 138, -1, -1, 863 13, -1, -1, 210, -1, 211, -1, 210, 122, 211, 864 -1, 147, 115, 172, 116, -1, 117, 172, 118, 147, 865 115, 172, 116, -1, -1, 147, -1, 212, 122, 147, 866 -1, 145, -1, 213, 122, 145, -1, 141, -1, 215, 867 -1, 221, -1, 215, 140, 221, -1, 141, -1, 217, 868 -1, 231, -1, 217, 140, 231, -1, -1, 219, -1, 869 35, 220, 138, -1, 219, 35, 220, 138, -1, 288, 870 -1, 220, 122, 288, -1, 222, -1, 231, -1, 223, 871 141, 138, -1, 228, 141, 138, -1, 225, 141, 138, 872 -1, 307, 141, 138, -1, 310, 141, 138, -1, 224, 873 291, -1, 242, 224, 291, -1, 223, 141, 122, 140, 874 286, 291, -1, 381, 286, 325, -1, 384, 286, 325, 875 -1, 238, 384, 286, 325, -1, 226, -1, 238, 226, 876 -1, 242, 226, -1, 242, 238, 226, -1, 225, 141, 877 122, 140, 286, -1, 384, 286, 115, 140, 274, 141, 878 116, -1, 227, 286, 115, 140, 274, 141, 116, -1, 879 117, 140, 276, 141, 118, -1, 117, 140, 276, 141, 880 122, 140, 277, 141, 118, -1, 3, 224, -1, 3, 881 226, -1, 228, 141, 122, 140, 145, -1, 3, 235, 882 323, -1, 229, 141, 122, 140, 323, -1, 238, 3, 883 235, 323, -1, 235, 3, 323, -1, 235, 3, 238, 884 323, -1, 3, 145, 137, 173, -1, 230, 141, 122, 885 140, 145, 137, 173, -1, 233, 232, 141, 138, -1, 886 229, 141, 138, -1, 230, 141, 138, -1, 250, 141, 887 138, -1, 323, 325, 291, -1, 232, 122, 326, 323, 888 325, 291, -1, 246, -1, 250, -1, 254, -1, 297, 889 -1, 246, -1, 252, -1, 254, -1, 297, -1, 247, 890 -1, 251, -1, 255, -1, 298, -1, 247, -1, 253, 891 -1, 255, -1, 298, -1, -1, 238, -1, 239, -1, 892 238, 239, -1, 240, -1, 328, -1, 12, -1, 14, 893 -1, 13, -1, 17, -1, 18, -1, 15, -1, -1, 894 16, 115, 241, 300, 116, -1, 243, -1, 238, 243, 895 -1, 242, 238, 243, -1, 244, -1, 243, 244, -1, 896 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 897 9, -1, 10, -1, 11, -1, 20, -1, 25, -1, 898 24, -1, 22, -1, 23, -1, 21, -1, 26, -1, 899 27, -1, 19, -1, 31, -1, 32, -1, 33, -1, 900 30, -1, 28, -1, 29, -1, 247, -1, 242, 247, 901 -1, 246, 244, -1, 246, 244, 238, -1, 246, 244, 902 247, -1, 248, -1, 237, 249, 237, -1, 245, -1, 903 238, 245, -1, 248, 239, -1, 248, 245, -1, 34, 904 115, 290, 116, -1, 34, 115, 178, 116, -1, 82, 905 115, 290, 116, -1, 82, 115, 178, 116, -1, 251, 906 -1, 242, 251, -1, 250, 244, -1, 250, 244, 238, 907 -1, 256, -1, 238, 256, -1, 251, 239, -1, 253, 908 -1, 242, 253, -1, 252, 244, -1, 252, 244, 238, 909 -1, 257, -1, 238, 257, -1, 253, 239, -1, 255, 910 -1, 242, 255, -1, 254, 244, -1, 254, 244, 238, 911 -1, 78, -1, 238, 78, -1, 255, 239, -1, 258, 912 -1, 269, -1, 260, -1, 271, -1, 261, 326, 120, 913 262, 121, -1, -1, 261, 326, 288, 259, 120, 262, 914 121, -1, 261, 326, 115, 306, 116, 120, 262, 121, 915 -1, 260, -1, 261, 326, 288, -1, 261, 326, 299, 916 -1, 37, -1, 38, -1, -1, 262, 263, -1, 264, 917 138, -1, 47, 264, 138, -1, 235, 265, 138, -1, 918 47, 235, 265, 138, -1, 380, -1, 380, 288, -1, 919 264, 122, 288, -1, 264, 122, -1, 266, -1, 265, 920 122, 326, 266, -1, -1, 268, -1, 332, 267, -1, 921 345, 267, -1, 371, -1, -1, 268, -1, 136, 172, 922 -1, 36, 326, 120, 272, 386, 121, -1, -1, 36, 923 326, 288, 270, 120, 272, 386, 121, -1, 271, -1, 924 36, 326, 288, -1, 288, 273, -1, 272, 122, 288, 925 273, -1, -1, 137, 172, -1, -1, 275, -1, 277, 926 -1, 276, -1, 276, 141, 122, 140, 277, -1, 277, 927 141, 122, 140, 102, -1, 276, 141, 122, 140, 102, 928 -1, 281, -1, 277, 141, 122, 140, 281, -1, 276, 929 141, 122, 140, 281, -1, 276, 141, 122, 140, 277, 930 141, 122, 140, 281, -1, 282, -1, 277, 141, 122, 931 140, 282, -1, -1, 279, -1, 280, -1, 280, 141, 932 122, 140, 102, -1, 284, -1, 283, -1, 280, 141, 933 122, 140, 284, -1, 280, 141, 122, 140, 283, -1, 934 283, -1, 376, 286, 387, -1, 384, 286, 387, -1, 935 238, 384, 286, 387, -1, 226, -1, 284, -1, 376, 936 -1, 384, -1, 238, 384, -1, 385, -1, 234, 350, 937 387, -1, 234, 354, 387, -1, 234, 387, -1, 234, 938 365, 387, -1, 145, -1, 285, 122, 145, -1, 143, 939 -1, 78, -1, 79, -1, 144, -1, 78, -1, 79, 940 -1, 145, -1, 78, -1, 79, -1, 380, -1, 235, 941 -1, 235, 359, -1, 289, -1, 385, -1, -1, 137, 942 292, -1, 113, 292, -1, 173, -1, 120, 293, 386, 943 121, -1, -1, 292, -1, 294, 292, -1, 293, 122, 944 292, -1, 293, 122, 294, 292, -1, 295, 136, -1, 945 288, 136, -1, 296, -1, 295, 296, -1, 119, 288, 946 -1, 117, 140, 173, 141, 118, -1, 117, 140, 324, 947 141, 118, -1, 117, 140, 172, 102, 172, 141, 118, 948 -1, 119, 117, 140, 153, 141, 118, -1, 298, -1, 949 242, 298, -1, 297, 244, -1, 297, 244, 238, -1, 950 299, -1, 238, 299, -1, 298, 239, -1, 79, 115, 951 306, 116, -1, 301, 387, -1, 300, 122, 301, 387, 952 -1, -1, 303, 288, 302, 304, -1, 235, 350, -1, 953 39, -1, 41, -1, 40, -1, 42, -1, -1, 304, 954 305, -1, 134, 288, 115, 306, 116, -1, 134, 120, 955 140, 312, 121, -1, 134, 115, 140, 300, 141, 116, 956 120, 140, 312, 121, 115, 306, 116, -1, 290, -1, 957 173, -1, 306, 122, 290, -1, 306, 122, 173, -1, 958 39, 308, -1, 243, 39, 308, -1, 307, 122, 308, 959 -1, 309, 304, -1, 309, 304, 137, 290, -1, 288, 960 -1, 287, 115, 140, 300, 141, 116, -1, 43, 288, 961 115, 140, 300, 141, 116, 120, 121, -1, -1, 43, 962 288, 115, 140, 300, 141, 116, 120, 311, 312, 121, 963 -1, 313, -1, 312, 140, 313, -1, 314, 141, 138, 964 -1, 315, 141, 138, -1, 224, -1, 226, -1, 314, 965 141, 122, 140, 286, -1, 235, 323, -1, 315, 141, 966 122, 140, 323, -1, -1, 317, -1, 319, -1, 317, 967 140, 319, -1, -1, 317, -1, 221, -1, 321, -1, 968 71, 115, 147, 116, 138, -1, -1, 4, 85, 320, 969 120, 318, 121, -1, 47, 319, -1, 322, -1, 337, 970 182, -1, 341, 140, 216, 182, -1, 225, 182, -1, 971 233, 337, 182, -1, 238, 337, 182, -1, 242, 337, 972 182, -1, 242, 238, 337, 182, -1, 233, 341, 140, 973 216, 182, -1, 238, 341, 140, 216, 182, -1, 242, 974 341, 140, 216, 182, -1, 242, 238, 341, 140, 216, 975 182, -1, 332, -1, 345, -1, 337, -1, 172, 128, 976 172, -1, -1, 71, 115, 147, 116, 326, -1, -1, 977 327, -1, 328, -1, 327, 328, -1, 46, 115, 115, 978 329, 116, 116, -1, 330, -1, 329, 122, 330, -1, 979 -1, 331, -1, 331, 115, 151, 116, -1, 76, -1, 980 78, -1, 79, -1, 12, -1, 333, 326, -1, 334, 981 -1, 335, 326, -1, 336, 326, -1, 143, -1, 115, 982 333, 116, -1, 158, 332, -1, 158, 238, 332, -1, 983 115, 334, 116, 326, -1, 333, 363, -1, 115, 334, 984 116, 363, -1, 115, 335, 116, 364, -1, 115, 335, 985 116, -1, 115, 334, 116, 115, 140, 278, 141, 116, 986 -1, 115, 336, 116, -1, 338, 326, -1, 339, -1, 987 340, 326, -1, 333, 115, 140, 278, 141, 116, -1, 988 115, 339, 116, 115, 140, 278, 141, 116, -1, 115, 989 338, 116, -1, 158, 337, -1, 158, 238, 337, -1, 990 115, 339, 116, -1, 115, 339, 116, 363, -1, 115, 991 340, 116, 364, -1, 115, 340, 116, -1, 342, -1, 992 343, -1, 344, -1, 333, 115, 285, 116, -1, 115, 993 343, 116, 115, 140, 278, 141, 116, -1, 115, 342, 994 116, -1, 158, 341, -1, 158, 238, 341, -1, 115, 995 343, 116, -1, 115, 343, 116, 363, -1, 115, 344, 996 116, 364, -1, 115, 344, 116, -1, 346, 326, -1, 997 347, -1, 348, 326, -1, 349, 326, -1, 355, -1, 998 115, 346, 116, -1, 158, 345, -1, 158, 238, 345, 999 -1, 115, 347, 116, 326, -1, 346, 363, -1, 115, 1000 347, 116, 363, -1, 115, 348, 116, 364, -1, 115, 1001 348, 116, -1, 346, 115, 140, 278, 141, 116, -1, 1002 115, 347, 116, 115, 140, 278, 141, 116, -1, 115, 1003 349, 116, -1, 333, 326, -1, 351, -1, 352, 326, 1004 -1, 353, 326, -1, 158, 350, -1, 158, 238, 350, 1005 -1, 115, 351, 116, 326, -1, 333, 369, -1, 115, 1006 351, 116, 363, -1, 115, 352, 116, 364, -1, 115, 1007 352, 116, -1, 333, 115, 140, 278, 141, 116, -1, 1008 115, 351, 116, 115, 140, 278, 141, 116, -1, 115, 1009 353, 116, -1, 355, 326, -1, 356, -1, 357, 326, 1010 -1, 358, 326, -1, 78, -1, 79, -1, 158, 354, 1011 -1, 158, 238, 354, -1, 115, 356, 116, 326, -1, 1012 355, 369, -1, 115, 356, 116, 369, -1, 355, 115, 1013 140, 278, 141, 116, -1, 115, 356, 116, 115, 140, 1014 278, 141, 116, -1, 360, -1, 361, 326, -1, 362, 1015 326, -1, 158, -1, 158, 238, -1, 158, 359, -1, 1016 158, 238, 359, -1, 115, 360, 116, 326, -1, 363, 1017 -1, 115, 360, 116, 363, -1, 115, 361, 116, 364, 1018 -1, 115, 361, 116, -1, 115, 140, 278, 141, 116, 1019 -1, 115, 360, 116, 115, 140, 278, 141, 116, -1, 1020 115, 362, 116, -1, 117, 118, -1, 117, 118, 364, 1021 -1, 364, -1, 117, 140, 173, 141, 118, -1, 117, 1022 140, 123, 141, 118, -1, 364, 117, 140, 173, 141, 1023 118, -1, 364, 117, 140, 123, 141, 118, -1, 366, 1024 -1, 367, 326, -1, 368, 326, -1, 158, -1, 158, 1025 238, -1, 158, 365, -1, 158, 238, 365, -1, 115, 1026 366, 116, 326, -1, 369, -1, 115, 366, 116, 369, 1027 -1, 115, 367, 116, 364, -1, 115, 367, 116, -1, 1028 115, 140, 278, 141, 116, -1, 115, 366, 116, 115, 1029 140, 278, 141, 116, -1, 115, 368, 116, -1, 370, 1030 -1, 370, 364, -1, 364, -1, 117, 118, -1, 117, 1031 140, 238, 123, 141, 118, -1, 117, 140, 238, 141, 1032 118, -1, 117, 140, 238, 173, 141, 118, -1, 117, 1033 140, 5, 237, 173, 141, 118, -1, 117, 140, 238, 1034 5, 173, 141, 118, -1, 372, -1, 373, 326, -1, 1035 374, 326, -1, 158, -1, 158, 238, -1, 158, 371, 1036 -1, 158, 238, 371, -1, 115, 372, 116, 326, -1, 1037 363, -1, 115, 372, 116, 363, -1, 115, 373, 116, 1038 364, -1, 115, 373, 116, -1, 115, 372, 116, 115, 1039 140, 278, 141, 116, -1, 115, 374, 116, -1, 376, 1040 -1, 384, -1, 238, 384, -1, 377, -1, 378, -1, 1041 158, 236, -1, 238, 158, 236, -1, 158, 385, -1, 1042 238, 158, 385, -1, 158, 375, -1, 238, 158, 375, 1043 -1, 117, 118, 236, -1, 379, 236, -1, 117, 118, 1044 364, 236, -1, 379, 364, 236, -1, 364, 236, -1, 1045 117, 118, 377, -1, 379, 377, -1, 117, 118, 364, 1046 377, -1, 379, 364, 377, -1, 364, 377, -1, 117, 1047 140, 238, 123, 141, 118, -1, 117, 140, 238, 173, 1048 141, 118, -1, 117, 140, 242, 173, 141, 118, -1, 1049 117, 140, 242, 238, 173, 141, 118, -1, 384, -1, 1050 238, 384, -1, 381, -1, 382, -1, 383, -1, 158, 1051 235, -1, 238, 158, 235, -1, 158, 385, -1, 238, 1052 158, 385, -1, 158, 380, -1, 238, 158, 380, -1, 1053 117, 118, 235, -1, 117, 118, 364, 235, -1, 364, 1054 235, -1, 117, 118, 382, -1, 117, 118, 364, 382, 1055 -1, 364, 382, -1, 117, 140, 277, 141, 118, -1, 1056 384, 115, 140, 274, 141, 116, -1, 227, 115, 140, 1057 274, 141, 116, -1, -1, 122, -1, -1, 137, 173, 1058 -1 1056 1059 }; 1057 1060 … … 1059 1062 static const yytype_uint16 yyrline[] = 1060 1063 { 1061 0, 32 6, 326, 330, 337, 338, 339, 340, 341, 345,1062 34 6, 347, 351, 352, 356, 357, 361, 362, 366, 370,1063 37 1, 382, 384, 386, 387, 389, 394, 395, 401, 403,1064 40 5, 407, 409, 411, 413, 415, 417, 419, 428, 429,1065 43 5, 436, 440, 441, 445, 446, 448, 450, 452, 454,1066 45 6, 461, 463, 465, 477, 478, 486, 489, 491, 493,1067 498, 511, 513, 515, 517, 519, 521, 523, 525, 527,1068 5 29, 531, 538, 539, 545, 546, 547, 548, 552, 553,1069 56 0, 561, 563, 565, 570, 571, 573, 578, 579, 581,1070 58 6, 587, 589, 591, 593, 598, 599, 601, 606, 607,1071 61 2, 613, 618, 619, 624, 625, 630, 631, 636, 637,1072 64 0, 647, 652, 653, 661, 662, 666, 667, 668, 669,1073 67 0, 671, 672, 673, 674, 675, 676, 677, 687, 689,1074 69 4, 695, 700, 701, 707, 708, 714, 715, 716, 717,1075 7 18, 719, 720, 721, 722, 732, 739, 741, 752, 753,1076 7 58, 760, 765, 767, 772, 776, 777, 782, 787, 790,1077 79 2, 794, 804, 806, 817, 818, 820, 824, 826, 830,1078 83 1, 836, 837, 841, 846, 847, 851, 853, 859, 860,1079 86 4, 866, 868, 870, 876, 877, 881, 883, 888, 890,1080 89 2, 897, 899, 904, 906, 910, 913, 917, 920, 924,1081 92 6, 928, 930, 935, 937, 939, 944, 946, 948, 950,1082 95 2, 957, 959, 961, 963, 968, 976, 977, 982, 984,1083 9 89, 993, 995, 997, 999, 1001, 1007, 1008, 1014, 1015,1084 10 19, 1020, 1025, 1027, 1033, 1034, 1036, 1042, 1047, 1057,1085 10 59, 1063, 1064, 1069, 1071, 1075, 1076, 1080, 1082, 1086,1086 108 7, 1091, 1092, 1096, 1097, 1112, 1113, 1114, 1115, 1116,1087 112 0, 1125, 1132, 1142, 1147, 1152, 1160, 1165, 1170, 1175,1088 118 0, 1210, 1215, 1222, 1224, 1231, 1236, 1241, 1252, 1257,1089 126 2, 1267, 1272, 1281, 1286, 1316, 1320, 1321, 1322, 1328,1090 133 3, 1341, 1342, 1343, 1344, 1353, 1354, 1355, 1356, 1360,1091 136 1, 1362, 1363, 1372, 1373, 1374, 1375, 1380, 1381, 1390,1092 139 1, 1396, 1397, 1401, 1403, 1405, 1407, 1409, 1412, 1411,1093 14 23, 1424, 1426, 1436, 1437, 1442, 1444, 1446, 1448, 1450,1094 145 3, 1455, 1457, 1462, 1464, 1466, 1468, 1470, 1472, 1474,1095 147 6, 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1496, 1497,1096 1 499, 1501, 1503, 1508, 1509, 1515, 1516, 1518, 1520, 1525,1097 152 7, 1529, 1531, 1536, 1537, 1539, 1541, 1546, 1547, 1549,1098 155 4, 1555, 1557, 1559, 1564, 1565, 1567, 1572, 1573, 1575,1099 157 7, 1582, 1584, 1586, 1591, 1592, 1596, 1597, 1601, 1604,1100 160 3, 1607, 1609, 1613, 1618, 1623, 1625, 1631, 1632, 1637,1101 16 38, 1643, 1646, 1654, 1655, 1657, 1659, 1664, 1665, 1671,1102 167 2, 1674, 1677, 1680, 1685, 1686, 1691, 1696, 1699, 1698,1103 1702, 1706, 171 4, 1716, 1722, 1723, 1731, 1732, 1736, 1737,1104 17 38, 1740, 1742, 1749, 1750, 1752, 1754, 1759, 1760, 1766,1105 17 67, 1771, 1772, 1777, 1778, 1779, 1781, 1789, 1790, 1792,1106 179 5, 1797, 1801, 1802, 1803, 1805, 1807, 1812, 1817, 1825,1107 182 7, 1836, 1838, 1843, 1844, 1845, 1849, 1850, 1851, 1855,1108 185 6, 1857, 1861, 1862, 1863, 1868, 1869, 1874, 1875, 1877,1109 188 2, 1883, 1888, 1889, 1890, 1891, 1892, 1907, 1908, 1913,1110 191 4, 1920, 1922, 1925, 1927, 1929, 1952, 1953, 1955, 1957,1111 196 2, 1963, 1965, 1970, 1975, 1976, 1982, 1981, 1985, 1989,1112 199 1, 1993, 1995, 2001, 2002, 2007, 2012, 2014, 2019, 2021,1113 202 2, 2024, 2029, 2031, 2033, 2038, 2040, 2045, 2050, 2058,1114 206 4, 2063, 2077, 2078, 2083, 2084, 2088, 2093, 2098, 2106,1115 211 1, 2122, 2123, 2128, 2129, 2135, 2136, 2140, 2141, 2142,1116 214 7, 2146, 2157, 2165, 2171, 2177, 2186, 2192, 2198, 2204,1117 22 10, 2218, 2224, 2232, 2238, 2247, 2248, 2249, 2253, 2259,1118 226 0, 2270, 2271, 2275, 2276, 2281, 2286, 2287, 2293, 2294,1119 229 6, 2301, 2302, 2303, 2304, 2339, 2341, 2342, 2344, 2349,1120 235 4, 2359, 2361, 2363, 2368, 2370, 2372, 2374, 2379, 2381,1121 23 90, 2392, 2393, 2398, 2400, 2402, 2407, 2409, 2411, 2416,1122 24 18, 2420, 2432, 2433, 2434, 2438, 2440, 2442, 2447, 2449,1123 245 1, 2456, 2458, 2460, 2475, 2477, 2478, 2480, 2485, 2486,1124 249 1, 2493, 2495, 2500, 2502, 2504, 2506, 2511, 2513, 2515,1125 25 25, 2527, 2528, 2530, 2535, 2537, 2539, 2544, 2546, 2548,1126 255 0, 2555, 2557, 2559, 2572, 2574, 2575, 2577, 2582, 2587,1127 259 5, 2597, 2599, 2604, 2606, 2611, 2613, 2630, 2631, 2633,1128 263 8, 2640, 2642, 2644, 2646, 2651, 2652, 2654, 2656, 2661,1129 266 3, 2665, 2671, 2673, 2675, 2679, 2681, 2683, 2685, 2719,1130 272 0, 2722, 2727, 2729, 2731, 2733, 2735, 2740, 2741, 2743,1131 274 5, 2750, 2752, 2754, 2760, 2761, 2763, 2772, 2775, 2777,1132 278 0, 2782, 2784, 2798, 2799, 2801, 2806, 2808, 2810, 2812,1133 281 4, 2819, 2820, 2822, 2824, 2829, 2831, 2839, 2840, 2841,1134 284 6, 2847, 2852, 2854, 2856, 2858, 2860, 2862, 2869, 2871,1135 287 3, 2875, 2877, 2880, 2882, 2884, 2886, 2888, 2893, 2895,1136 289 7, 2902, 2928, 2929, 2931, 2935, 2936, 2940, 2942, 2944,1137 294 6, 2948, 2950, 2957, 2959, 2961, 2963, 2965, 2967, 2972,1138 297 9, 2981, 2999, 3001, 3006, 30071064 0, 328, 328, 332, 339, 340, 341, 342, 343, 347, 1065 348, 349, 353, 354, 358, 359, 363, 364, 368, 372, 1066 373, 384, 386, 388, 389, 391, 396, 397, 403, 405, 1067 407, 409, 411, 413, 415, 417, 419, 421, 430, 431, 1068 437, 438, 442, 443, 447, 448, 450, 452, 454, 456, 1069 458, 463, 465, 467, 479, 480, 488, 491, 493, 495, 1070 500, 513, 515, 517, 519, 521, 523, 525, 527, 529, 1071 531, 533, 540, 541, 547, 548, 549, 550, 554, 555, 1072 562, 563, 565, 567, 572, 573, 575, 580, 581, 583, 1073 588, 589, 591, 593, 595, 600, 601, 603, 608, 609, 1074 614, 615, 620, 621, 626, 627, 632, 633, 638, 639, 1075 642, 649, 654, 655, 663, 664, 668, 669, 670, 671, 1076 672, 673, 674, 675, 676, 677, 678, 679, 689, 691, 1077 696, 697, 702, 703, 709, 710, 716, 717, 718, 719, 1078 720, 721, 722, 723, 724, 734, 741, 743, 754, 755, 1079 760, 762, 767, 769, 774, 778, 779, 784, 789, 792, 1080 794, 796, 806, 808, 819, 820, 822, 826, 828, 832, 1081 833, 838, 839, 843, 848, 849, 853, 855, 861, 862, 1082 866, 868, 870, 872, 878, 879, 883, 885, 890, 892, 1083 894, 899, 901, 906, 908, 912, 915, 919, 922, 926, 1084 928, 930, 932, 937, 939, 941, 946, 948, 950, 952, 1085 954, 959, 961, 963, 965, 970, 978, 979, 984, 986, 1086 991, 995, 997, 999, 1001, 1003, 1009, 1010, 1016, 1017, 1087 1021, 1022, 1027, 1029, 1035, 1036, 1038, 1044, 1049, 1059, 1088 1061, 1065, 1066, 1071, 1073, 1077, 1078, 1082, 1084, 1088, 1089 1089, 1093, 1094, 1098, 1099, 1114, 1115, 1116, 1117, 1118, 1090 1122, 1127, 1134, 1144, 1149, 1154, 1162, 1167, 1172, 1177, 1091 1182, 1212, 1217, 1224, 1226, 1233, 1238, 1243, 1254, 1259, 1092 1264, 1269, 1274, 1283, 1288, 1318, 1322, 1323, 1324, 1330, 1093 1335, 1343, 1344, 1345, 1346, 1355, 1356, 1357, 1358, 1362, 1094 1363, 1364, 1365, 1374, 1375, 1376, 1377, 1382, 1383, 1392, 1095 1393, 1398, 1399, 1403, 1405, 1407, 1409, 1411, 1413, 1416, 1096 1415, 1427, 1428, 1430, 1440, 1441, 1446, 1448, 1450, 1452, 1097 1454, 1457, 1459, 1461, 1466, 1468, 1470, 1472, 1474, 1476, 1098 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1500, 1099 1501, 1503, 1505, 1507, 1512, 1513, 1519, 1520, 1522, 1524, 1100 1529, 1531, 1533, 1535, 1540, 1541, 1543, 1545, 1550, 1551, 1101 1553, 1558, 1559, 1561, 1563, 1568, 1569, 1571, 1576, 1577, 1102 1579, 1581, 1586, 1588, 1590, 1595, 1596, 1600, 1601, 1605, 1103 1608, 1607, 1611, 1613, 1617, 1622, 1627, 1629, 1635, 1636, 1104 1641, 1642, 1647, 1650, 1658, 1659, 1661, 1663, 1668, 1669, 1105 1675, 1676, 1678, 1681, 1684, 1689, 1690, 1695, 1700, 1703, 1106 1702, 1706, 1710, 1718, 1720, 1726, 1727, 1735, 1736, 1740, 1107 1741, 1742, 1744, 1746, 1753, 1754, 1756, 1758, 1763, 1764, 1108 1770, 1771, 1775, 1776, 1781, 1782, 1783, 1785, 1793, 1794, 1109 1796, 1799, 1801, 1805, 1806, 1807, 1809, 1811, 1816, 1821, 1110 1829, 1831, 1840, 1842, 1847, 1848, 1849, 1853, 1854, 1855, 1111 1859, 1860, 1861, 1865, 1866, 1867, 1872, 1873, 1878, 1879, 1112 1881, 1886, 1887, 1892, 1893, 1894, 1895, 1896, 1911, 1912, 1113 1917, 1918, 1924, 1926, 1929, 1931, 1933, 1956, 1957, 1959, 1114 1961, 1966, 1967, 1969, 1974, 1979, 1980, 1986, 1985, 1989, 1115 1993, 1995, 1997, 1999, 2005, 2006, 2011, 2016, 2018, 2023, 1116 2025, 2026, 2028, 2033, 2035, 2037, 2042, 2044, 2049, 2054, 1117 2062, 2068, 2067, 2081, 2082, 2087, 2088, 2092, 2097, 2102, 1118 2110, 2115, 2126, 2127, 2132, 2133, 2139, 2140, 2144, 2145, 1119 2146, 2151, 2150, 2161, 2169, 2175, 2181, 2190, 2196, 2202, 1120 2208, 2214, 2222, 2228, 2236, 2242, 2251, 2252, 2253, 2257, 1121 2263, 2264, 2274, 2275, 2279, 2280, 2285, 2290, 2291, 2297, 1122 2298, 2300, 2305, 2306, 2307, 2308, 2343, 2345, 2346, 2348, 1123 2353, 2358, 2363, 2365, 2367, 2372, 2374, 2376, 2378, 2383, 1124 2385, 2394, 2396, 2397, 2402, 2404, 2406, 2411, 2413, 2415, 1125 2420, 2422, 2424, 2436, 2437, 2438, 2442, 2444, 2446, 2451, 1126 2453, 2455, 2460, 2462, 2464, 2479, 2481, 2482, 2484, 2489, 1127 2490, 2495, 2497, 2499, 2504, 2506, 2508, 2510, 2515, 2517, 1128 2519, 2529, 2531, 2532, 2534, 2539, 2541, 2543, 2548, 2550, 1129 2552, 2554, 2559, 2561, 2563, 2576, 2578, 2579, 2581, 2586, 1130 2591, 2599, 2601, 2603, 2608, 2610, 2615, 2617, 2634, 2635, 1131 2637, 2642, 2644, 2646, 2648, 2650, 2655, 2656, 2658, 2660, 1132 2665, 2667, 2669, 2675, 2677, 2679, 2683, 2685, 2687, 2689, 1133 2723, 2724, 2726, 2731, 2733, 2735, 2737, 2739, 2744, 2745, 1134 2747, 2749, 2754, 2756, 2758, 2764, 2765, 2767, 2776, 2779, 1135 2781, 2784, 2786, 2788, 2802, 2803, 2805, 2810, 2812, 2814, 1136 2816, 2818, 2823, 2824, 2826, 2828, 2833, 2835, 2843, 2844, 1137 2845, 2850, 2851, 2856, 2858, 2860, 2862, 2864, 2866, 2873, 1138 2875, 2877, 2879, 2881, 2884, 2886, 2888, 2890, 2892, 2897, 1139 2899, 2901, 2906, 2932, 2933, 2935, 2939, 2940, 2944, 2946, 1140 2948, 2950, 2952, 2954, 2961, 2963, 2965, 2967, 2969, 2971, 1141 2976, 2983, 2985, 3003, 3005, 3010, 3011 1139 1142 }; 1140 1143 #endif … … 1145 1148 static const char *const yytname[] = 1146 1149 { 1147 "$end", "error", "$undefined", "TYPEDEF", " AUTO", "EXTERN", "REGISTER",1148 " STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",1149 " LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",1150 " SIGNED", "UNSIGNED", "ZERO_T", "ONE_T", "VALIST", "BOOL", "COMPLEX",1151 " IMAGINARY", "TYPEOF", "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE",1152 " FTYPE", "DTYPE", "TTYPE", "TRAIT", "SIZEOF", "OFFSETOF", "ATTRIBUTE",1153 " EXTENSION", "IF", "ELSE", "SWITCH", "CASE", "DEFAULT", "DO", "WHILE",1154 " FOR", "BREAK", "CONTINUE", "GOTO", "RETURN", "CHOOSE", "DISABLE",1155 " ENABLE", "FALLTHRU", "TRY", "CATCH", "CATCHRESUME", "FINALLY", "THROW",1156 " THROWRESUME", "AT", "ASM", "ALIGNAS", "ALIGNOF", "ATOMIC", "GENERIC",1157 " NORETURN", "STATICASSERT", "THREADLOCAL", "IDENTIFIER",1150 "$end", "error", "$undefined", "TYPEDEF", "EXTERN", "STATIC", "AUTO", 1151 "REGISTER", "THREADLOCAL", "INLINE", "FORTRAN", "NORETURN", "CONST", 1152 "VOLATILE", "RESTRICT", "ATOMIC", "FORALL", "LVALUE", "MUTEX", "VOID", 1153 "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", "SIGNED", "UNSIGNED", 1154 "ZERO_T", "ONE_T", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF", 1155 "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TTYPE", 1156 "TRAIT", "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", 1157 "SWITCH", "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", 1158 "GOTO", "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", 1159 "CATCH", "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", 1160 "ALIGNAS", "ALIGNOF", "GENERIC", "STATICASSERT", "IDENTIFIER", 1158 1161 "QUOTED_IDENTIFIER", "TYPEDEFname", "TYPEGENname", "ATTR_IDENTIFIER", 1159 1162 "ATTR_TYPEDEFname", "ATTR_TYPEGENname", "INTEGERconstant", … … 1274 1277 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 1275 1278 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 1276 365, 366, 367, 368, 40, 41, 91, 93, 46, 123,1277 12 5, 44, 42, 38, 43, 45, 33, 126, 47, 37,1278 60, 62, 94, 124, 63, 58, 61, 591279 365, 366, 367, 368, 369, 40, 41, 91, 93, 46, 1280 123, 125, 44, 42, 38, 43, 45, 33, 126, 47, 1281 37, 60, 62, 94, 124, 63, 58, 61, 59 1279 1282 }; 1280 1283 # endif … … 1283 1286 static const yytype_uint16 yyr1[] = 1284 1287 { 1285 0, 13 8, 139, 140, 141, 141, 141, 141, 141, 142,1286 14 2, 142, 143, 143, 144, 144, 145, 145, 146, 147,1287 14 7, 148, 148, 148, 148, 148, 149, 149, 149, 149,1288 1 49, 149, 149, 149, 149, 149, 149, 149, 150, 150,1289 15 1, 151, 152, 152, 153, 153, 153, 153, 153, 153,1290 15 3, 154, 154, 154, 155, 155, 156, 156, 156, 156,1291 15 6, 156, 156, 156, 156, 156, 156, 156, 156, 156,1292 15 6, 156, 157, 157, 158, 158, 158, 158, 159, 159,1293 16 0, 160, 160, 160, 161, 161, 161, 162, 162, 162,1294 16 3, 163, 163, 163, 163, 164, 164, 164, 165, 165,1295 16 6, 166, 167, 167, 168, 168, 169, 169, 170, 170,1296 17 0, 171, 172, 172, 173, 173, 174, 174, 174, 174,1297 17 4, 174, 174, 174, 174, 174, 174, 174, 175, 175,1298 17 6, 176, 177, 177, 178, 178, 179, 179, 179, 179,1299 1 79, 179, 179, 179, 179, 180, 181, 181, 182, 182,1300 18 3, 183, 183, 183, 183, 184, 184, 185, 186, 186,1301 18 6, 186, 186, 186, 187, 187, 187, 188, 188, 189,1302 1 89, 190, 190, 191, 192, 192, 193, 193, 194, 194,1303 19 5, 195, 195, 195, 196, 196, 197, 197, 198, 198,1304 19 8, 199, 199, 200, 200, 200, 200, 200, 200, 200,1305 20 0, 200, 200, 201, 201, 201, 202, 202, 202, 202,1306 20 2, 203, 203, 203, 203, 204, 205, 205, 205, 205,1307 20 5, 206, 206, 206, 206, 206, 207, 207, 208, 208,1308 2 09, 209, 210, 210, 211, 211, 211, 212, 212, 213,1309 21 3, 214, 214, 215, 215, 216, 216, 217, 217, 218,1310 21 8, 219, 219, 220, 220, 221, 221, 221, 221, 221,1311 22 2, 222, 222, 223, 223, 223, 224, 224, 224, 224,1312 22 4, 225, 225, 226, 226, 227, 227, 227, 228, 228,1313 22 8, 228, 228, 229, 229, 230, 230, 230, 230, 231,1314 23 1, 232, 232, 232, 232, 233, 233, 233, 233, 234,1315 23 4, 234, 234, 235, 235, 235, 235, 236, 236, 237,1316 23 7, 238, 238, 239, 239, 239, 239, 239, 240, 239,1317 24 1, 241, 241, 242, 242, 243, 243, 243, 243, 243,1318 24 3, 243, 243, 244, 244, 244, 244, 244, 244, 244,1319 24 4, 244, 244, 244, 244, 244, 244, 244, 245, 245,1320 24 5, 245, 245, 246, 246, 247, 247, 247, 247, 248,1321 24 8, 248, 248, 249, 249, 249, 249, 250, 250, 250,1322 251, 25 1, 251, 251, 252, 252, 252, 253, 253, 253,1323 25 3, 254, 254, 254, 255, 255, 256, 256, 257, 258,1324 25 7, 257, 257, 259, 259, 260, 260, 261, 261, 262,1325 26 2, 262, 262, 263, 263, 263, 263, 264, 264, 265,1326 26 5, 265, 265, 265, 266, 266, 267, 268, 269, 268,1327 26 8, 270, 271, 271, 272, 272, 273, 273, 274, 274,1328 27 4, 274, 274, 275, 275, 275, 275, 276, 276, 277,1329 27 7, 278, 278, 279, 279, 279, 279, 280, 280, 280,1330 28 0, 280, 281, 281, 281, 281, 281, 282, 282, 283,1331 28 3, 284, 284, 285, 285, 285, 286, 286, 286, 287,1332 28 7, 287, 288, 288, 288, 289, 289, 290, 290, 290,1333 291, 29 1, 292, 292, 292, 292, 292, 293, 293, 294,1334 29 4, 295, 295, 295, 295, 295, 296, 296, 296, 296,1335 297, 29 7, 297, 298, 299, 299, 301, 300, 300, 302,1336 30 2, 302, 302, 303, 303, 304, 304, 304, 305, 305,1337 30 5, 305, 306, 306, 306, 307, 307, 308, 308, 309,1338 310, 3 09, 311, 311, 312, 312, 313, 313, 313, 314,1339 31 4, 315, 315, 316, 316, 317, 317, 318, 318, 318,1340 319, 3 18, 318, 320, 320, 320, 321, 321, 321, 321,1341 32 1, 321, 321, 321, 321, 322, 322, 322, 323, 324,1342 32 4, 325, 325, 326, 326, 327, 328, 328, 329, 329,1343 3 29, 330, 330, 330, 330, 331, 331, 331, 331, 332,1344 33 2, 333, 333, 333, 334, 334, 334, 334, 335, 335,1345 336, 33 6, 336, 337, 337, 337, 338, 338, 338, 339,1346 3 39, 339, 340, 340, 340, 341, 341, 341, 342, 342,1347 34 2, 343, 343, 343, 344, 344, 344, 344, 345, 345,1348 346, 34 6, 346, 347, 347, 347, 347, 348, 348, 348,1349 349, 3 49, 349, 349, 350, 350, 350, 351, 351, 351,1350 35 1, 352, 352, 352, 353, 353, 353, 353, 354, 354,1351 355, 35 5, 355, 356, 356, 357, 357, 358, 358, 358,1352 359, 3 59, 359, 359, 359, 360, 360, 360, 360, 361,1353 36 1, 361, 362, 362, 362, 363, 363, 363, 363, 364,1354 36 4, 364, 365, 365, 365, 365, 365, 366, 366, 366,1355 36 6, 367, 367, 367, 368, 368, 368, 369, 369, 369,1356 3 69, 369, 369, 370, 370, 370, 371, 371, 371, 371,1357 37 1, 372, 372, 372, 372, 373, 373, 374, 374, 374,1358 375, 37 5, 376, 376, 376, 376, 376, 376, 377, 377,1359 37 7, 377, 377, 377, 377, 377, 377, 377, 378, 378,1360 37 8, 378, 379, 379, 379, 380, 380, 381, 381, 381,1361 38 1, 381, 381, 382, 382, 382, 382, 382, 382, 383,1362 384, 38 4, 385, 385, 386, 3861288 0, 139, 140, 141, 142, 142, 142, 142, 142, 143, 1289 143, 143, 144, 144, 145, 145, 146, 146, 147, 148, 1290 148, 149, 149, 149, 149, 149, 150, 150, 150, 150, 1291 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 1292 152, 152, 153, 153, 154, 154, 154, 154, 154, 154, 1293 154, 155, 155, 155, 156, 156, 157, 157, 157, 157, 1294 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 1295 157, 157, 158, 158, 159, 159, 159, 159, 160, 160, 1296 161, 161, 161, 161, 162, 162, 162, 163, 163, 163, 1297 164, 164, 164, 164, 164, 165, 165, 165, 166, 166, 1298 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 1299 171, 172, 173, 173, 174, 174, 175, 175, 175, 175, 1300 175, 175, 175, 175, 175, 175, 175, 175, 176, 176, 1301 177, 177, 178, 178, 179, 179, 180, 180, 180, 180, 1302 180, 180, 180, 180, 180, 181, 182, 182, 183, 183, 1303 184, 184, 184, 184, 184, 185, 185, 186, 187, 187, 1304 187, 187, 187, 187, 188, 188, 188, 189, 189, 190, 1305 190, 191, 191, 192, 193, 193, 194, 194, 195, 195, 1306 196, 196, 196, 196, 197, 197, 198, 198, 199, 199, 1307 199, 200, 200, 201, 201, 201, 201, 201, 201, 201, 1308 201, 201, 201, 202, 202, 202, 203, 203, 203, 203, 1309 203, 204, 204, 204, 204, 205, 206, 206, 206, 206, 1310 206, 207, 207, 207, 207, 207, 208, 208, 209, 209, 1311 210, 210, 211, 211, 212, 212, 212, 213, 213, 214, 1312 214, 215, 215, 216, 216, 217, 217, 218, 218, 219, 1313 219, 220, 220, 221, 221, 222, 222, 222, 222, 222, 1314 223, 223, 223, 224, 224, 224, 225, 225, 225, 225, 1315 225, 226, 226, 227, 227, 228, 228, 228, 229, 229, 1316 229, 229, 229, 230, 230, 231, 231, 231, 231, 232, 1317 232, 233, 233, 233, 233, 234, 234, 234, 234, 235, 1318 235, 235, 235, 236, 236, 236, 236, 237, 237, 238, 1319 238, 239, 239, 240, 240, 240, 240, 240, 240, 241, 1320 240, 242, 242, 242, 243, 243, 244, 244, 244, 244, 1321 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 1322 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 1323 246, 246, 246, 246, 247, 247, 248, 248, 248, 248, 1324 249, 249, 249, 249, 250, 250, 250, 250, 251, 251, 1325 251, 252, 252, 252, 252, 253, 253, 253, 254, 254, 1326 254, 254, 255, 255, 255, 256, 256, 257, 257, 258, 1327 259, 258, 258, 258, 260, 260, 261, 261, 262, 262, 1328 263, 263, 263, 263, 264, 264, 264, 264, 265, 265, 1329 266, 266, 266, 266, 266, 267, 267, 268, 269, 270, 1330 269, 269, 271, 272, 272, 273, 273, 274, 274, 275, 1331 275, 275, 275, 275, 276, 276, 276, 276, 277, 277, 1332 278, 278, 279, 279, 280, 280, 280, 280, 281, 281, 1333 281, 281, 281, 282, 282, 282, 282, 282, 283, 283, 1334 284, 284, 285, 285, 286, 286, 286, 287, 287, 287, 1335 288, 288, 288, 289, 289, 289, 290, 290, 291, 291, 1336 291, 292, 292, 293, 293, 293, 293, 293, 294, 294, 1337 295, 295, 296, 296, 296, 296, 296, 297, 297, 297, 1338 297, 298, 298, 298, 299, 300, 300, 302, 301, 301, 1339 303, 303, 303, 303, 304, 304, 305, 305, 305, 306, 1340 306, 306, 306, 307, 307, 307, 308, 308, 309, 309, 1341 310, 311, 310, 312, 312, 313, 313, 314, 314, 314, 1342 315, 315, 316, 316, 317, 317, 318, 318, 319, 319, 1343 319, 320, 319, 319, 321, 321, 321, 322, 322, 322, 1344 322, 322, 322, 322, 322, 322, 323, 323, 323, 324, 1345 325, 325, 326, 326, 327, 327, 328, 329, 329, 330, 1346 330, 330, 331, 331, 331, 331, 332, 332, 332, 332, 1347 333, 333, 334, 334, 334, 335, 335, 335, 335, 336, 1348 336, 337, 337, 337, 338, 338, 338, 339, 339, 339, 1349 340, 340, 340, 341, 341, 341, 342, 342, 342, 343, 1350 343, 343, 344, 344, 344, 345, 345, 345, 345, 346, 1351 346, 347, 347, 347, 348, 348, 348, 348, 349, 349, 1352 349, 350, 350, 350, 350, 351, 351, 351, 352, 352, 1353 352, 352, 353, 353, 353, 354, 354, 354, 354, 355, 1354 355, 356, 356, 356, 357, 357, 358, 358, 359, 359, 1355 359, 360, 360, 360, 360, 360, 361, 361, 361, 361, 1356 362, 362, 362, 363, 363, 363, 364, 364, 364, 364, 1357 365, 365, 365, 366, 366, 366, 366, 366, 367, 367, 1358 367, 367, 368, 368, 368, 369, 369, 369, 370, 370, 1359 370, 370, 370, 370, 371, 371, 371, 372, 372, 372, 1360 372, 372, 373, 373, 373, 373, 374, 374, 375, 375, 1361 375, 376, 376, 377, 377, 377, 377, 377, 377, 378, 1362 378, 378, 378, 378, 378, 378, 378, 378, 378, 379, 1363 379, 379, 379, 380, 380, 380, 381, 381, 382, 382, 1364 382, 382, 382, 382, 383, 383, 383, 383, 383, 383, 1365 384, 385, 385, 386, 386, 387, 387 1363 1366 }; 1364 1367 … … 1397 1400 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1398 1401 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1399 2, 1, 1, 1, 1, 1, 1, 1, 0, 5,1400 1, 2, 3, 1, 2, 1, 1, 1, 1, 1,1402 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1403 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1401 1404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1402 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,1403 2, 3, 3, 1, 3, 1, 2, 2, 2, 4,1404 4, 4, 4, 1, 2, 2, 3, 1, 2, 2,1405 1, 2, 2, 3, 1, 2, 2, 1, 2, 2,1406 3, 1, 2, 2, 1, 1, 1, 1, 5, 0,1407 7, 8, 1, 3, 3, 1, 1, 0, 2, 2,1408 3, 3, 4, 1, 2, 3, 2, 1, 4, 0,1409 1, 2, 2, 1, 0, 1, 2, 6, 0, 8,1410 1, 3, 2, 4, 0, 2, 0, 1, 1, 1,1411 5, 5, 5, 1, 5, 5, 9, 1, 5, 0,1412 1, 1, 5, 1, 1, 5, 5, 1, 3, 3,1413 4, 1, 1, 1, 1, 2, 1, 3, 3, 2,1414 3, 1, 3, 1, 1, 1, 1, 1, 1, 1,1415 1, 1, 1, 1, 2, 1, 1, 0, 2, 2,1416 1, 4, 0, 1, 2, 3, 4, 2, 2, 1,1417 2, 2, 5, 5, 7, 6, 1, 2, 2, 3,1418 1, 2, 2, 4, 2, 4, 0, 4, 2, 1,1419 1, 1, 1, 0, 2, 5, 5, 13, 1, 1,1420 3, 3, 2, 3, 3, 2, 4, 1, 6, 9,1421 0, 11, 1, 3, 3, 3, 1, 1, 5, 2,1422 5, 0, 1, 1, 3, 0, 1, 1, 1, 5,1423 0, 6, 2, 1, 2, 4, 2, 3, 3, 3,1424 4, 5, 5, 5, 6, 1, 1, 1, 3, 0,1425 5, 0, 1, 1, 2, 6, 1, 3, 0, 1,1426 4, 1, 1, 1, 1, 2, 1, 2, 2, 1,1427 3, 2, 3, 4, 2, 4, 4, 3, 8, 3,1428 2, 1, 2, 6, 8, 3, 2, 3, 3, 4,1429 4, 3, 1, 1, 1, 4, 8, 3, 2, 3,1430 3, 4, 4, 3, 2, 1, 2, 2, 1, 3,1431 2, 3, 4, 2, 4, 4, 3, 6, 8, 3,1432 2, 1, 2, 2, 2, 3, 4, 2, 4, 4,1433 3, 6, 8, 3, 2, 1, 2, 2, 1, 1,1434 2, 3, 4, 2, 4, 6, 8, 1, 2, 2,1435 1, 2, 2, 3, 4, 1, 4, 4, 3, 5,1436 8, 3, 2, 3, 1, 5, 5, 6, 6, 1,1437 2, 2, 1, 2, 2, 3, 4, 1, 4, 4,1438 3, 5, 8, 3, 1, 2, 1, 2, 6, 5,1439 6, 7, 7, 1, 2, 2, 1, 2, 2, 3,1440 4, 1, 4, 4, 3, 8, 3, 1, 1, 2,1441 1, 1, 2, 3, 2, 3, 2, 3, 3, 2,1442 4, 3, 2, 3, 2, 4, 3, 2, 6, 6,1443 6, 7, 1, 2, 1, 1, 1, 2, 3, 2,1444 3, 2, 3, 3, 4, 2, 3, 4, 2, 5,1445 6, 6, 0, 1, 0, 21405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1406 2, 2, 3, 3, 1, 3, 1, 2, 2, 2, 1407 4, 4, 4, 4, 1, 2, 2, 3, 1, 2, 1408 2, 1, 2, 2, 3, 1, 2, 2, 1, 2, 1409 2, 3, 1, 2, 2, 1, 1, 1, 1, 5, 1410 0, 7, 8, 1, 3, 3, 1, 1, 0, 2, 1411 2, 3, 3, 4, 1, 2, 3, 2, 1, 4, 1412 0, 1, 2, 2, 1, 0, 1, 2, 6, 0, 1413 8, 1, 3, 2, 4, 0, 2, 0, 1, 1, 1414 1, 5, 5, 5, 1, 5, 5, 9, 1, 5, 1415 0, 1, 1, 5, 1, 1, 5, 5, 1, 3, 1416 3, 4, 1, 1, 1, 1, 2, 1, 3, 3, 1417 2, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1418 1, 1, 1, 1, 1, 2, 1, 1, 0, 2, 1419 2, 1, 4, 0, 1, 2, 3, 4, 2, 2, 1420 1, 2, 2, 5, 5, 7, 6, 1, 2, 2, 1421 3, 1, 2, 2, 4, 2, 4, 0, 4, 2, 1422 1, 1, 1, 1, 0, 2, 5, 5, 13, 1, 1423 1, 3, 3, 2, 3, 3, 2, 4, 1, 6, 1424 9, 0, 11, 1, 3, 3, 3, 1, 1, 5, 1425 2, 5, 0, 1, 1, 3, 0, 1, 1, 1, 1426 5, 0, 6, 2, 1, 2, 4, 2, 3, 3, 1427 3, 4, 5, 5, 5, 6, 1, 1, 1, 3, 1428 0, 5, 0, 1, 1, 2, 6, 1, 3, 0, 1429 1, 4, 1, 1, 1, 1, 2, 1, 2, 2, 1430 1, 3, 2, 3, 4, 2, 4, 4, 3, 8, 1431 3, 2, 1, 2, 6, 8, 3, 2, 3, 3, 1432 4, 4, 3, 1, 1, 1, 4, 8, 3, 2, 1433 3, 3, 4, 4, 3, 2, 1, 2, 2, 1, 1434 3, 2, 3, 4, 2, 4, 4, 3, 6, 8, 1435 3, 2, 1, 2, 2, 2, 3, 4, 2, 4, 1436 4, 3, 6, 8, 3, 2, 1, 2, 2, 1, 1437 1, 2, 3, 4, 2, 4, 6, 8, 1, 2, 1438 2, 1, 2, 2, 3, 4, 1, 4, 4, 3, 1439 5, 8, 3, 2, 3, 1, 5, 5, 6, 6, 1440 1, 2, 2, 1, 2, 2, 3, 4, 1, 4, 1441 4, 3, 5, 8, 3, 1, 2, 1, 2, 6, 1442 5, 6, 7, 7, 1, 2, 2, 1, 2, 2, 1443 3, 4, 1, 4, 4, 3, 8, 3, 1, 1, 1444 2, 1, 1, 2, 3, 2, 3, 2, 3, 3, 1445 2, 4, 3, 2, 3, 2, 4, 3, 2, 6, 1446 6, 6, 7, 1, 2, 1, 1, 1, 2, 3, 1447 2, 3, 2, 3, 3, 4, 2, 3, 4, 2, 1448 5, 6, 6, 0, 1, 0, 2 1446 1449 }; 1447 1450 … … 1451 1454 static const yytype_uint16 yydefact[] = 1452 1455 { 1453 307, 307, 32 7, 325, 328, 326, 330, 331, 313, 315,1454 31 4, 0, 316, 341, 333, 338, 336, 337, 335, 334,1455 33 9, 340, 346, 347, 345, 342, 343, 344, 571, 395,1456 3 96, 0, 0, 0, 307, 0, 317, 332, 329, 9,1457 381, 0, 10, 16, 17, 0, 2, 72, 73, 589,1458 11, 307, 547, 253, 3, 477, 3, 266, 0, 3,1459 3, 3, 254, 0, 0, 0, 308, 309, 311, 307,1460 3 20, 323, 355, 291, 348, 353, 292, 363, 293, 377,1461 3 67, 384, 392, 571, 385, 420, 294, 496, 500, 3,1462 3, 0, 2, 543, 548, 553, 312, 0, 0, 571,1463 601, 571, 2, 612, 613, 614, 307, 0, 755, 756,1464 0, 14, 0, 15, 307, 275, 276, 0, 308, 299,1465 300, 301, 302, 550, 318, 0, 572, 573, 14, 470,1466 471, 13, 466, 469, 0, 527, 522, 513, 470, 471,1467 0, 0, 552, 0, 307, 0, 0, 0, 0, 0,1468 0, 0, 0, 307, 307, 0, 757, 308, 606, 618,1469 761, 754, 752, 759, 0, 0, 0, 260, 2, 0,1470 556, 464, 465, 463, 0, 0, 0, 0, 658, 659,1471 0, 0, 3, 569, 565, 571, 586, 571, 571, 567,1472 2, 566, 571, 625, 571, 571, 628, 0, 0, 0,1473 307, 307, 325, 382, 2, 307, 267, 310, 321, 356,1474 3 68, 501, 0, 2, 0, 477, 268, 308, 349, 364,1475 3 78, 497, 0, 2, 0, 324, 350, 357, 358, 0,1476 365, 369, 379, 383, 0, 498, 502, 0, 0, 0,1477 1, 307, 2, 554, 600, 602, 307, 2, 765, 308,1478 768, 569, 569, 0, 308, 0, 0, 278, 571, 567,1479 2, 307, 0, 0, 307, 0, 421, 574, 2, 525,1480 2, 578, 19, 0, 18, 0, 0, 0, 0, 21,1481 69, 4, 8, 5, 6, 7, 0, 0, 307, 2,1482 74, 75, 76, 77, 57, 22, 58, 26, 56, 78,1483 307, 0, 80, 84, 87, 90, 95, 98, 100, 102,1484 10 4, 106, 108, 112, 519, 23, 473, 475, 518, 0,1485 472, 476, 0, 590, 605, 608, 611, 617, 620, 623,1486 2, 763, 307, 766, 571, 2, 72, 307, 3, 451,1487 0, 774, 308, 307, 320, 295, 348, 296, 370, 297,1488 377, 374, 386, 571, 387, 3, 3, 433, 437, 447,1489 4 52, 298, 496, 307, 453, 730, 731, 307, 454, 456,1490 2, 607, 619, 753, 2, 2, 255, 2, 482, 0,1491 480, 479, 478, 146, 2, 2, 257, 2, 2, 256,1492 2, 286, 2, 287, 0, 0, 0, 0, 0, 0,1493 0, 0, 0, 591, 630, 571, 0, 0, 477, 2,1494 585, 594, 684, 587, 588, 557, 307, 2, 624, 633,1495 6 26, 627, 0, 281, 307, 307, 354, 308, 0, 308,1496 30 7, 758, 762, 760, 558, 307, 569, 261, 269, 322,1497 0, 2, 559, 307, 523, 351, 352, 288, 366, 380,1498 471, 307, 397, 393, 394, 499, 524, 258, 259, 544,1499 307, 461, 0, 307, 243, 0, 2, 245, 0, 308,1500 30 7, 0, 263, 2, 264, 283, 0, 0, 2, 307,1501 569, 307, 509, 511, 510, 512, 0, 0, 774, 0,1502 772, 424, 0, 307, 0, 307, 514, 307, 584, 581,1503 582, 583, 0, 576, 579, 0, 20, 307, 64, 307,1504 78, 59, 307, 66, 307, 307, 62, 63, 2, 132,1505 0, 0, 0, 752, 307, 31, 0, 34, 35, 40,1506 2, 0, 40, 118, 119, 120, 121, 122, 123, 124,1507 12 5, 126, 127, 117, 116, 0, 60, 61, 0, 0,1456 307, 307, 326, 327, 328, 329, 330, 331, 332, 333, 1457 313, 315, 314, 318, 0, 316, 317, 342, 334, 339, 1458 337, 338, 336, 335, 340, 341, 347, 348, 346, 343, 1459 344, 345, 572, 396, 397, 0, 0, 0, 307, 0, 1460 9, 382, 0, 10, 16, 17, 0, 2, 72, 73, 1461 590, 11, 307, 548, 253, 3, 478, 3, 266, 0, 1462 3, 3, 3, 254, 0, 0, 0, 308, 309, 311, 1463 307, 321, 324, 356, 291, 349, 354, 292, 364, 293, 1464 378, 368, 385, 393, 572, 386, 421, 294, 497, 501, 1465 3, 3, 0, 2, 544, 549, 554, 312, 0, 0, 1466 572, 602, 572, 2, 613, 614, 615, 307, 0, 756, 1467 757, 0, 14, 0, 15, 307, 275, 276, 0, 308, 1468 299, 300, 301, 302, 551, 319, 0, 573, 574, 14, 1469 471, 472, 13, 467, 470, 0, 528, 523, 514, 471, 1470 472, 0, 0, 553, 0, 307, 0, 0, 0, 0, 1471 0, 0, 0, 0, 307, 307, 0, 758, 308, 607, 1472 619, 762, 755, 753, 760, 0, 0, 0, 260, 2, 1473 0, 557, 465, 466, 464, 0, 0, 0, 0, 659, 1474 660, 0, 0, 3, 570, 566, 572, 587, 572, 572, 1475 568, 2, 567, 572, 626, 572, 572, 629, 0, 0, 1476 0, 307, 307, 326, 383, 2, 307, 267, 310, 322, 1477 357, 369, 502, 0, 2, 0, 478, 268, 308, 350, 1478 365, 379, 498, 0, 2, 0, 325, 351, 358, 359, 1479 0, 366, 370, 380, 384, 0, 499, 503, 0, 0, 1480 0, 1, 307, 2, 555, 601, 603, 307, 2, 766, 1481 308, 769, 570, 570, 0, 308, 0, 0, 278, 572, 1482 568, 2, 307, 0, 0, 307, 0, 422, 575, 2, 1483 526, 2, 579, 19, 0, 18, 0, 0, 0, 0, 1484 21, 69, 4, 8, 5, 6, 7, 0, 0, 307, 1485 2, 74, 75, 76, 77, 57, 22, 58, 26, 56, 1486 78, 307, 0, 80, 84, 87, 90, 95, 98, 100, 1487 102, 104, 106, 108, 112, 520, 23, 474, 476, 519, 1488 0, 473, 477, 0, 591, 606, 609, 612, 618, 621, 1489 624, 2, 764, 307, 767, 572, 2, 72, 307, 3, 1490 452, 0, 775, 308, 307, 321, 295, 349, 296, 371, 1491 297, 378, 375, 387, 572, 388, 3, 3, 434, 438, 1492 448, 453, 298, 497, 307, 454, 731, 732, 307, 455, 1493 457, 2, 608, 620, 754, 2, 2, 255, 2, 483, 1494 0, 481, 480, 479, 146, 2, 2, 257, 2, 2, 1495 256, 2, 286, 2, 287, 0, 0, 0, 0, 0, 1496 0, 0, 0, 0, 592, 631, 572, 0, 0, 478, 1497 2, 586, 595, 685, 588, 589, 558, 307, 2, 625, 1498 634, 627, 628, 0, 281, 307, 307, 355, 308, 0, 1499 308, 307, 759, 763, 761, 559, 307, 570, 261, 269, 1500 323, 0, 2, 560, 307, 524, 352, 353, 288, 367, 1501 381, 472, 307, 398, 394, 395, 500, 525, 258, 259, 1502 545, 307, 462, 0, 307, 243, 0, 2, 245, 0, 1503 308, 307, 0, 263, 2, 264, 283, 0, 0, 2, 1504 307, 570, 307, 510, 512, 511, 513, 0, 0, 775, 1505 0, 773, 425, 0, 307, 0, 307, 515, 307, 585, 1506 582, 583, 584, 0, 577, 580, 0, 20, 307, 64, 1507 307, 78, 59, 307, 66, 307, 307, 62, 63, 2, 1508 132, 0, 0, 0, 753, 307, 31, 0, 34, 35, 1509 40, 2, 0, 40, 118, 119, 120, 121, 122, 123, 1510 124, 125, 126, 127, 117, 116, 0, 60, 61, 0, 1508 1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1509 0, 0, 0, 0, 0, 0, 0, 2, 670, 474,1510 667, 571, 571, 675, 503, 307, 2, 609, 610, 2,1511 621, 622, 0, 764, 767, 0, 307, 307, 0, 732,1512 308, 303, 304, 305, 306, 736, 727, 728, 734, 0,1513 2, 2, 0, 692, 571, 774, 641, 571, 571, 774,1514 571, 655, 571, 571, 706, 774, 689, 571, 571, 697,1515 704, 459, 307, 375, 455, 308, 371, 372, 376, 0,1516 0, 0, 307, 742, 308, 747, 774, 739, 307, 744,1517 7 74, 307, 307, 0, 0, 21, 2, 0, 22, 0,1518 483, 772, 0, 0, 489, 247, 0, 307, 0, 0,1519 0, 571, 597, 599, 629, 571, 636, 639, 592, 631,1520 0, 285, 0, 289, 682, 0, 307, 282, 0, 0,1521 0, 0, 280, 2, 0, 265, 560, 307, 0, 0,1522 307, 0, 308, 3, 440, 3, 444, 443, 615, 0,1523 555, 307, 308, 72, 3, 307, 774, 308, 3, 453,1524 454, 2, 0, 0, 0, 508, 319, 307, 504, 506,1525 773, 0, 0, 422, 0, 3, 2, 2, 0, 526,1526 3, 0, 578, 40, 549, 0, 2, 0, 0, 0,1527 41, 0, 0, 307, 24, 0, 25, 0, 114, 3,1528 2, 32, 0, 38, 0, 2, 29, 0, 113, 81,1529 8 2, 83, 85, 86, 88, 89, 93, 94, 91, 92,1530 9 6, 97, 99, 101, 103, 105, 107, 0, 0, 307,1531 0, 0, 0, 671, 672, 668, 669, 521, 520, 307,1532 307, 421, 738, 307, 743, 308, 307, 686, 729, 685,1533 2, 307, 0, 0, 0, 0, 0, 0, 0, 0,1534 707, 0, 775, 693, 644, 660, 694, 2, 640, 647,1535 457, 642, 643, 458, 2, 654, 663, 656, 657, 460,1536 690, 691, 705, 733, 737, 735, 774, 373, 393, 273,1537 2, 769, 2, 448, 741, 746, 449, 3, 427, 3,1538 3, 3, 477, 0, 0, 2, 491, 488, 773, 0,1539 484, 2, 487, 490, 0, 307, 248, 270, 3, 277,1540 27 9, 0, 2, 593, 595, 596, 2, 632, 634, 635,1541 569, 0, 683, 561, 3, 360, 359, 362, 361, 307,1542 562, 0, 563, 0, 307, 388, 409, 398, 0, 403,1543 397, 0, 0, 462, 246, 0, 0, 3, 2, 692,1544 455, 0, 551, 0, 774, 513, 424, 417, 111, 425,1545 772, 0, 307, 307, 307, 0, 575, 577, 0, 65,1546 307, 0, 67, 70, 71, 0, 133, 482, 79, 115,1547 1 30, 3, 114, 0, 28, 40, 3, 0, 37, 110,1548 0, 3, 571, 678, 681, 673, 3, 3, 740, 745,1549 2, 72, 307, 3, 3, 308, 0, 3, 571, 650,1550 65 3, 571, 571, 700, 703, 307, 3, 645, 661, 695,1551 307, 307, 450, 307, 307, 0, 0, 0, 0, 262,1552 111, 0, 3, 3, 0, 485, 0, 481, 0, 0,1553 251, 307, 0, 0, 134, 0, 0, 0, 0, 0,1554 134, 0, 0, 114, 114, 226, 21, 381, 465, 69,1555 0, 22, 135, 0, 3, 136, 137, 2, 148, 138,1556 13 9, 140, 141, 142, 143, 150, 0, 152, 0, 0,1557 0, 307, 307, 477, 571, 0, 564, 397, 409,0,1558 0, 0, 716, 0, 407, 410, 414, 571, 414, 721,1559 413, 713, 571, 571, 406, 399, 404, 307, 603, 2,1560 688, 687, 0, 693, 2, 505, 507, 423, 0, 528,1561 3, 536, 537, 0, 2, 532, 3, 3, 0, 0,1562 580, 0, 772, 114, 0, 3, 54, 0, 54, 54,1563 3, 42, 44, 39, 0, 3, 109, 0, 2, 674,1564 67 6, 677, 0, 0, 307, 0, 0, 0, 3, 571,1565 0, 2, 646, 648, 649, 2, 662, 664, 2, 696,1566 69 8, 699, 0, 0, 72, 0, 3, 3, 3, 3,1567 435, 434, 438, 771, 2, 2, 770, 0, 0, 0,1568 0, 3, 486, 3, 0, 249, 151, 153, 0, 0,1569 0, 0, 2, 197, 0, 195, 0, 0, 0, 0,1570 0, 0, 0, 0, 227, 0, 0, 157, 154, 307,1571 0, 571, 0, 272, 284, 3, 3, 290, 570, 637,1572 307, 0, 400, 0, 0, 0, 0, 416, 717, 718,1573 571, 401, 411, 415, 412, 714, 715, 405, 390, 307,1574 271, 307, 419, 0, 539, 516, 307, 0, 0, 515,1575 5 30, 68, 0, 131, 128, 0, 51, 2, 45, 52,1576 5 3, 0, 0, 0, 0, 27, 0, 679, 307, 604,1577 6 16, 748, 749, 750, 0, 701, 307, 307, 307, 3,1578 3, 0, 709, 0, 0, 0, 0, 307, 307, 3,1579 568, 492, 493, 0, 252, 0, 0, 0, 0, 307,1580 198, 196, 0, 193, 199, 0, 0, 0, 0, 203,1581 20 6, 204, 200, 0, 201, 0, 0, 40, 149, 147,1582 1 34, 250, 0, 0, 391, 402, 571, 724, 726, 719,1583 409, 442, 446, 445, 0, 533, 2, 534, 2, 535,1584 5 29, 307, 36, 129, 55, 0, 43, 33, 2, 49,1585 2, 47, 30, 3, 751, 3, 3, 3, 0, 0,1586 708, 710, 651, 665, 274, 2, 432, 3, 431, 0,1587 495, 134, 0, 0, 134, 3, 0, 134, 3, 308,1588 30 7, 194, 0, 2, 2, 215, 205, 0, 0, 0,1589 0, 0, 0, 145, 598, 638, 2, 720, 722, 723,1590 408, 2, 0, 0, 2, 3, 0, 0, 0, 0,1591 0, 0, 711, 712, 307, 0, 494, 158, 0, 0,1592 2, 171, 134, 160, 0, 188, 0, 134, 0, 308,1593 2, 162, 0, 2, 0, 2, 2, 2, 202, 0,1594 0, 228, 37, 307, 307, 538, 540, 531, 0, 3,1595 3, 680, 652, 666, 702, 436, 134, 164, 167, 0,1596 166, 170, 3, 173, 172, 0, 134, 190, 134, 3,1597 0, 307, 0, 307, 0, 2, 0, 2, 0, 221,1598 0, 0, 0, 229, 230, 144, 3, 2, 46, 0,1599 0, 159, 0, 0, 169, 239, 174, 2, 241, 189,1600 0, 192, 178, 207, 3, 216, 308, 220, 209, 3,1601 0, 307, 0, 307, 228, 0, 0, 0, 228, 0,1602 0, 0, 50, 48, 165, 168, 134, 0, 175, 307,1603 134, 134, 0, 179, 0, 0, 716, 217, 218, 219,1604 0, 208, 3, 210, 3, 0, 0, 0, 222, 0,1605 231, 725, 307, 155, 176, 161, 134, 242, 191, 186,1606 18 4, 180, 163, 134, 0, 717, 0, 0, 0, 234,1607 0, 232, 0, 234, 0, 156, 177, 187, 181, 185,1608 18 4, 182, 3, 3, 0, 0, 235, 0, 0, 223,1609 0, 517, 183, 211, 213, 3, 3, 0, 0, 0,1610 0, 212, 214, 236, 237, 0, 233, 224, 0, 0,1611 225, 2381512 0, 0, 0, 0, 0, 0, 0, 0, 2, 671, 1513 475, 668, 572, 572, 676, 504, 307, 2, 610, 611, 1514 2, 622, 623, 0, 765, 768, 0, 307, 307, 0, 1515 733, 308, 303, 304, 305, 306, 737, 728, 729, 735, 1516 0, 2, 2, 0, 693, 572, 775, 642, 572, 572, 1517 775, 572, 656, 572, 572, 707, 775, 690, 572, 572, 1518 698, 705, 460, 307, 376, 456, 308, 372, 373, 377, 1519 0, 0, 0, 307, 743, 308, 748, 775, 740, 307, 1520 745, 775, 307, 307, 0, 0, 21, 2, 0, 22, 1521 0, 484, 773, 0, 0, 490, 247, 0, 307, 0, 1522 0, 0, 572, 598, 600, 630, 572, 637, 640, 593, 1523 632, 0, 285, 0, 289, 683, 0, 307, 282, 0, 1524 0, 0, 0, 280, 2, 0, 265, 561, 307, 0, 1525 0, 307, 0, 308, 3, 441, 3, 445, 444, 616, 1526 0, 556, 307, 308, 72, 3, 307, 775, 308, 3, 1527 454, 455, 2, 0, 0, 0, 509, 320, 307, 505, 1528 507, 774, 0, 0, 423, 0, 3, 2, 2, 0, 1529 527, 3, 0, 579, 40, 550, 0, 2, 0, 0, 1530 0, 41, 0, 0, 307, 24, 0, 25, 0, 114, 1531 3, 2, 32, 0, 38, 0, 2, 29, 0, 113, 1532 81, 82, 83, 85, 86, 88, 89, 93, 94, 91, 1533 92, 96, 97, 99, 101, 103, 105, 107, 0, 0, 1534 307, 0, 0, 0, 672, 673, 669, 670, 522, 521, 1535 307, 307, 422, 739, 307, 744, 308, 307, 687, 730, 1536 686, 2, 307, 0, 0, 0, 0, 0, 0, 0, 1537 0, 708, 0, 776, 694, 645, 661, 695, 2, 641, 1538 648, 458, 643, 644, 459, 2, 655, 664, 657, 658, 1539 461, 691, 692, 706, 734, 738, 736, 775, 374, 394, 1540 273, 2, 770, 2, 449, 742, 747, 450, 3, 428, 1541 3, 3, 3, 478, 0, 0, 2, 492, 489, 774, 1542 0, 485, 2, 488, 491, 0, 307, 248, 270, 3, 1543 277, 279, 0, 2, 594, 596, 597, 2, 633, 635, 1544 636, 570, 0, 684, 562, 3, 361, 360, 363, 362, 1545 307, 563, 0, 564, 0, 307, 389, 410, 399, 0, 1546 404, 398, 0, 0, 463, 246, 0, 0, 3, 2, 1547 693, 456, 0, 552, 0, 775, 514, 425, 418, 111, 1548 426, 773, 0, 307, 307, 307, 0, 576, 578, 0, 1549 65, 307, 0, 67, 70, 71, 0, 133, 483, 79, 1550 115, 130, 3, 114, 0, 28, 40, 3, 0, 37, 1551 110, 0, 3, 572, 679, 682, 674, 3, 3, 741, 1552 746, 2, 72, 307, 3, 3, 308, 0, 3, 572, 1553 651, 654, 572, 572, 701, 704, 307, 3, 646, 662, 1554 696, 307, 307, 451, 307, 307, 0, 0, 0, 0, 1555 262, 111, 0, 3, 3, 0, 486, 0, 482, 0, 1556 0, 251, 307, 0, 0, 134, 0, 0, 0, 0, 1557 0, 134, 0, 0, 114, 114, 226, 21, 382, 466, 1558 69, 0, 22, 135, 0, 3, 136, 137, 2, 148, 1559 138, 139, 140, 141, 142, 143, 150, 0, 152, 0, 1560 0, 0, 307, 307, 478, 572, 0, 565, 398, 410, 1561 0, 0, 0, 717, 0, 408, 411, 415, 572, 415, 1562 722, 414, 714, 572, 572, 407, 400, 405, 307, 604, 1563 2, 689, 688, 0, 694, 2, 506, 508, 424, 0, 1564 529, 3, 537, 538, 0, 2, 533, 3, 3, 0, 1565 0, 581, 0, 773, 114, 0, 3, 54, 0, 54, 1566 54, 3, 42, 44, 39, 0, 3, 109, 0, 2, 1567 675, 677, 678, 0, 0, 307, 0, 0, 0, 3, 1568 572, 0, 2, 647, 649, 650, 2, 663, 665, 2, 1569 697, 699, 700, 0, 0, 72, 0, 3, 3, 3, 1570 3, 436, 435, 439, 772, 2, 2, 771, 0, 0, 1571 0, 0, 3, 487, 3, 0, 249, 151, 153, 0, 1572 0, 0, 0, 2, 197, 0, 195, 0, 0, 0, 1573 0, 0, 0, 0, 0, 227, 0, 0, 157, 154, 1574 307, 0, 572, 0, 272, 284, 3, 3, 290, 571, 1575 638, 307, 0, 401, 0, 0, 0, 0, 417, 718, 1576 719, 572, 402, 412, 416, 413, 715, 716, 406, 391, 1577 307, 271, 307, 420, 0, 540, 517, 307, 0, 0, 1578 516, 531, 68, 0, 131, 128, 0, 51, 2, 45, 1579 52, 53, 0, 0, 0, 0, 27, 0, 680, 307, 1580 605, 617, 749, 750, 751, 0, 702, 307, 307, 307, 1581 3, 3, 0, 710, 0, 0, 0, 0, 307, 307, 1582 3, 569, 493, 494, 0, 252, 0, 0, 0, 0, 1583 307, 198, 196, 0, 193, 199, 0, 0, 0, 0, 1584 203, 206, 204, 200, 0, 201, 0, 0, 40, 149, 1585 147, 134, 250, 0, 0, 392, 403, 572, 725, 727, 1586 720, 410, 443, 447, 446, 0, 534, 2, 535, 2, 1587 536, 530, 307, 36, 129, 55, 0, 43, 33, 2, 1588 49, 2, 47, 30, 3, 752, 3, 3, 3, 0, 1589 0, 709, 711, 652, 666, 274, 2, 433, 3, 432, 1590 0, 496, 134, 0, 0, 134, 3, 0, 134, 3, 1591 308, 307, 194, 0, 2, 2, 215, 205, 0, 0, 1592 0, 0, 0, 0, 145, 599, 639, 2, 721, 723, 1593 724, 409, 2, 0, 0, 2, 3, 0, 0, 0, 1594 0, 0, 0, 712, 713, 307, 0, 495, 158, 0, 1595 0, 2, 171, 134, 160, 0, 188, 0, 134, 0, 1596 308, 2, 162, 0, 2, 0, 2, 2, 2, 202, 1597 0, 0, 228, 37, 307, 307, 539, 541, 532, 0, 1598 3, 3, 681, 653, 667, 703, 437, 134, 164, 167, 1599 0, 166, 170, 3, 173, 172, 0, 134, 190, 134, 1600 3, 0, 307, 0, 307, 0, 2, 0, 2, 0, 1601 221, 0, 0, 0, 229, 230, 144, 3, 2, 46, 1602 0, 0, 159, 0, 0, 169, 239, 174, 2, 241, 1603 189, 0, 192, 178, 207, 3, 216, 308, 220, 209, 1604 3, 0, 307, 0, 307, 228, 0, 0, 0, 228, 1605 0, 0, 0, 50, 48, 165, 168, 134, 0, 175, 1606 307, 134, 134, 0, 179, 0, 0, 717, 217, 218, 1607 219, 0, 208, 3, 210, 3, 0, 0, 0, 222, 1608 0, 231, 726, 307, 155, 176, 161, 134, 242, 191, 1609 186, 184, 180, 163, 134, 0, 718, 0, 0, 0, 1610 234, 0, 232, 0, 234, 0, 156, 177, 187, 181, 1611 185, 184, 182, 3, 3, 0, 0, 235, 0, 0, 1612 223, 0, 518, 183, 211, 213, 3, 3, 0, 0, 1613 0, 0, 212, 214, 236, 237, 0, 233, 224, 0, 1614 0, 225, 238 1612 1615 }; 1613 1616 … … 1615 1618 static const yytype_int16 yydefgoto[] = 1616 1619 { 1617 -1, 80 1, 464, 294, 49, 132, 133, 295, 296, 274,1618 29 7, 298, 752, 753, 1100, 1101, 1102, 1226, 299, 379,1619 30 1, 302, 303, 304, 305, 306, 307, 308, 309, 310,1620 31 1, 312, 313, 991, 519, 940, 545, 315, 941, 1022,1621 102 3, 1523, 1025, 1026, 1027, 1028, 1524, 1029, 1030, 1428,1622 14 29, 1391, 1392, 1393, 1497, 1498, 1502, 1503, 1548, 1549,1623 103 1, 1346, 1032, 1033, 1279, 1280, 1281, 1474, 1034, 1175,1624 145 2, 1453, 1454, 1557, 1575, 1466, 1467, 465, 466, 865,1625 86 6, 999, 52, 53, 54, 55, 56, 339, 155, 59,1626 6 0, 61, 62, 182, 468, 341, 64, 1475, 65, 254,1627 6 7, 68, 264, 343, 344, 71, 72, 345, 119, 75,1628 20 0, 76, 120, 347, 348, 349, 121, 80, 351, 81,1629 69 1, 82, 83, 690, 897, 898, 1053, 1054, 1202, 1055,1630 8 4, 492, 85, 490, 723, 847, 848, 355, 356, 693,1631 69 4, 695, 357, 358, 696, 360, 462, 1036, 134, 135,1632 31 7, 318, 167, 650, 651, 652, 653, 654, 361, 122,1633 8 8, 487, 488, 915, 489, 269, 496, 319, 89, 136,1634 13 7, 90, 1311, 1084, 1085, 1086, 1087, 91, 92, 712,1635 9 3, 263, 94, 95, 183, 993, 685, 410, 126, 96,1636 50 2, 503, 504, 184, 258, 186, 187, 188, 259, 99,1637 10 0, 101, 102, 103, 104, 105, 191, 192, 193, 194,1638 19 5, 814, 606, 607, 608, 609, 196, 611, 612, 613,1639 5 69, 570, 571, 572, 1059, 106, 615, 616, 617, 618,1640 6 19, 620, 1060, 1061, 1062, 1063, 595, 364, 365, 366,1641 36 7, 320, 161, 108, 109, 110, 369, 721, 6211620 -1, 802, 465, 295, 50, 133, 134, 296, 297, 275, 1621 298, 299, 753, 754, 1101, 1102, 1103, 1227, 300, 380, 1622 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 1623 312, 313, 314, 992, 520, 941, 546, 316, 942, 1023, 1624 1024, 1524, 1026, 1027, 1028, 1029, 1525, 1030, 1031, 1429, 1625 1430, 1392, 1393, 1394, 1498, 1499, 1503, 1504, 1549, 1550, 1626 1032, 1347, 1033, 1034, 1280, 1281, 1282, 1475, 1035, 1176, 1627 1453, 1454, 1455, 1558, 1576, 1467, 1468, 466, 467, 866, 1628 867, 1000, 53, 54, 55, 56, 57, 340, 156, 60, 1629 61, 62, 63, 183, 469, 342, 65, 1476, 66, 255, 1630 68, 69, 265, 344, 345, 72, 73, 346, 120, 76, 1631 201, 77, 121, 348, 349, 350, 122, 81, 352, 82, 1632 692, 83, 84, 691, 898, 899, 1054, 1055, 1203, 1056, 1633 85, 493, 86, 491, 724, 848, 849, 356, 357, 694, 1634 695, 696, 358, 359, 697, 361, 463, 1037, 135, 136, 1635 318, 319, 168, 651, 652, 653, 654, 655, 362, 123, 1636 89, 488, 489, 916, 490, 270, 497, 320, 90, 137, 1637 138, 91, 1312, 1085, 1086, 1087, 1088, 92, 93, 713, 1638 94, 264, 95, 96, 184, 994, 686, 411, 127, 97, 1639 503, 504, 505, 185, 259, 187, 188, 189, 260, 100, 1640 101, 102, 103, 104, 105, 106, 192, 193, 194, 195, 1641 196, 815, 607, 608, 609, 610, 197, 612, 613, 614, 1642 570, 571, 572, 573, 1060, 107, 616, 617, 618, 619, 1643 620, 621, 1061, 1062, 1063, 1064, 596, 365, 366, 367, 1644 368, 321, 162, 109, 110, 111, 370, 722, 622 1642 1645 }; 1643 1646 1644 1647 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1645 1648 STATE-NUM. */ 1646 #define YYPACT_NINF -13 461649 #define YYPACT_NINF -1376 1647 1650 static const yytype_int16 yypact[] = 1648 1651 { 1649 7080, 10336, -1346, 65, -1346, -1346, -1346, -1346, -1346, -1346,1650 -13 46, 62, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,1651 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 140, -1346,1652 -13 46, 1135, 1743, 79, 8505, 107, -1346, -1346, -1346, -1346,1653 -13 46, 187, -1346, -1346, -1346, 1055, 192, -1346, -1346, -1346,1654 -13 46, 10182, -1346, -1346, -1346, 118, 227, -1346, 1650, -1346,1655 -13 46, -1346, -1346, 2245, 362, 74, 8626, -1346, -1346, 10182,1656 1874, -1346, -1346, 1963, 424, 3845, 1754, 831, 1963, 1126,1657 -1346, -1346, -1346, 140, -1346, -1346, 1963, 1440, -1346, 315,1658 -1346, 449, 497, -1346, -1346, -1346, -1346, 340, 227, 140,1659 -1346, 140, -1346, -1346, -1346, -1346, 6995, 1650, -1346, -1346,1660 1650, -1346, 379, -1346, 9247, -1346, -1346, 2348, 10491, -1346,1661 797, 797, 797, -1346, -1346, 1229, 140, -1346, 431, 468,1662 505, -1346, -1346, -1346, 517, -1346, -1346, -1346, -1346, -1346,1663 536, 569, -1346, 522, 9788, 2012, 153, 486, 556, 589,1664 592, 600, 612, 10524, 8132, 576, -1346, 10222, -1346, -1346,1665 -13 46, -1346, 587, -1346, 216, 3873, 3873, -1346, 616, 454,1666 -1346, -1346, -1346, -1346, 636, 467, 478, 540, -1346, -1346,1667 2245, 2715, 640, 713, -1346, 42, -1346, 140, 140, 227,1668 -1346, -1346, 80, -1346, 140, 140, -1346, 2887, 679, 692,1669 797, 7794, -1346, -1346, -1346, 10182, -1346, -1346, 1963, -1346,1670 -13 46, -1346, 227, -1346, 1650, 118, -1346, 8898, -1346, 797,1671 797, 797, 227, -1346, 1135, -1346, 7163, -1346, -1346, 691,1672 797, -1346, 797, -1346, 993, 797, -1346, 1135, 700, 717,1673 -1346, 8505, 606, -1346, -1346, -1346, 10149, -1346, -1346, 4159,1674 -1346, 713, 16, 5182, 10491, 2348, 2887, -1346, 92, -1346,1675 -13 46, 9247, 1650, 697, 11820, 1743, 800, -1346, -1346, 59,1676 -1346, 509, -1346, 765, 838, 5241, 819, 5182, 5622, -1346,1677 821, -1346, -1346, -1346, -1346, -1346, 6113, 6113, 9552, 192,1678 -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 1842, 2541,1679 9788, 5182, -1346, 385, 290, 801, 638, 472, 837, 833,1680 835, 879, 26, -1346, -1346, -1346, 733, -1346, -1346, 223,1681 -1346, -1346, 2012, -1346, -1346, 432, 865, -1346, 659, 865,1682 -1346, -1346, 6995, -1346, 140, 874, 876, 9906, -1346, -1346,1683 878, 1713, 9333, 7918, 1963, 1963, -1346, 1963, 797, 1963,1684 797, -1346, -1346, 140, -1346, -1346, -1346, -1346, -1346, -1346,1685 -13 46, 1963, 797, 10609, 1650, -1346, -1346, 10642, 1324, -1346,1686 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 3398, 5182,1687 -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,1688 -13 46, -1346, -1346, -1346, 921, 880, 906, 909, 944, 914,1689 916, 918, 2715, -1346, -1346, 140, 902, 935, 118, 934,1690 -1346, -1346, 949, -1346, -1346, -1346, 10149, -1346, -1346, -1346,1691 -13 46, -1346, 2887, -1346, 9788, 9788, -1346, 797, 2348, 8042,1692 9408, -1346, -1346, -1346, -1346, 10149, 16, -1346, -1346, 1963,1693 227, -1346, -1346, 10149, -1346, 7659, -1346, -1346, 797, 797,1694 187, 9788, -1346, 954, -1346, 797, -1346, -1346, -1346, -1346,1695 10950, -1346, 397, 11485, -1346, 227, 960, -1346, 2348, 11525,1696 7794, 6374, -1346, -1346, -1346, -1346, 980, 2887, -1346, 9408,1697 713, 7345, -1346, -1346, -1346, -1346, 1499, 420, 951, 1743,1698 969, 967, 990, 11820, 1343, 9247, -1346, 11820, -1346, -1346,1699 -13 46, -1346, 422, -1346, 996, 976, -1346, 9552, -1346, 10682,1700 -1346, -1346, 9552, -1346, 9670, 9552, -1346, -1346, 192, -1346,1701 452, 1006, 1007, -1346, 7884, -1346, 532, -1346, -1346, 5182,1702 -1346, 763, 5182, -1346, -1346, -1346, -1346, -1346, -1346, -1346,1703 -13 46, -1346, -1346, -1346, -1346, 5182, -1346, -1346, 5182, 5182,1704 5 182, 5182, 5182, 5182, 5182, 5182, 5182, 5182, 5182, 5182,1705 5 182, 5182, 5182, 5182, 5182, 5182, 3194, 733, 674, -1346,1706 -13 46, 140, 140, -1346, -1346, 9788, -1346, -1346, 949, -1346,1707 -13 46, 949, 6559, -1346, -1346, 1743, 10642, 7884, 1002, -1346,1708 10757, -1346, 797, 797, 797, -1346, -1346, 587, -1346, 1011,1709 9 53, 1016, 5182, 2260, 168, 951, -1346, 140, 140, 951,1710 211, -1346, 140, 140, 949, 951, -1346, 140, 140, -1346,1711 865, -1346, 10797, -1346, 1650, 11676, 797, 797, -1346, 1953,1712 266, 729, 10797, -1346, 7263, -1346, 951, -1346, 10609, -1346,1713 193, 9018, 9018, 1650, 4710, 989, -1346, 550, 1010, 1012,1714 -1346, 1021, 3873, 390, -1346, 1117, 1650, 9018, 606, 2348,1715 606, 235, 865, -1346, -1346, 274, 865, -1346, -1346, -1346,1716 2348, -1346, 522, -1346, 865, 227, 10950, -1346, 487, 1045,1717 620, 1049, -1346, 874, 227, -1346, -1346, 10149, 227, 633,1718 6712, 1046, 11676, -1346, -1346, 1051, -1346, -1346, -1346, 606,1719 -1346, 11601, 11751, 876, -1346, 9018, 518, 9333, -1346, -1346,1720 587, 1047, 1050, 1499, 2494, -1346, -1346, 11820, -1346, -1346,1721 1743, 1052, 5182, -1346, 1743, 1053, -1346, -1346, 1057, -1346,1722 1053, 1060, 509, 5182, -1346, 1061, 192, 1063, 1072, 1073,1723 -1346, 1076, 1077, 7884, -1346, 5182, -1346, 5073, 5182, 1068,1724 -1346, -1346, 657, -1346, 5182, -1346, -1346, 828, -1346, -1346,1725 -13 46, -1346, 385, 385, 290, 290, 801, 801, 801, 801,1726 638, 638, 472, 837, 833, 835, 879, 5182, 327, 10950,1727 1084, 1085, 1086, 674, -1346, -1346, -1346, -1346, -1346, 10950,1728 10 950, -1346, -1346, 10609, -1346, 8256, 10024, -1346, -1346, -1346,1729 953, 10950, 985, 1089, 1093, 1107, 1110, 1115, 1120, 1124,1730 -1346, 4610, -1346, 2260, -1346, -1346, -1346, -1346, -1346, -1346,1731 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346,1732 -13 46, -1346, 949, -1346, -1346, -1346, 951, 797, -1346, -1346,1733 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 1127,1734 1 130, -1346, 118, 1068, 4710, -1346, -1346, -1346, 3398, 1123,1735 -1346, -1346, -1346, -1346, 1743, 7483, 1215, -1346, -1346, -1346,1736 -13 46, 1116, -1346, -1346, -1346, 949, -1346, -1346, -1346, 949,1737 713, 1136, 949, -1346, -1346, -1346, -1346, -1346, -1346, 8132,1738 -1346, 227, -1346, 1142, 10682, -1346, 2205, -1346, 542, 1743,1739 -1346, 1152, 1157, -1346, -1346, 1156, 1162, -1346, 775, 1004,1740 -1346, 751, -1346, 2494, 951, -1346, 967, -1346, -1346, -1346,1741 969, 1165, 11820, 9247, 9788, 1168, -1346, -1346, 677, 1169,1742 8132, 606, 1169, -1346, -1346, 1169, -1346, 3398, -1346, -1346,1743 -13 46, 1163, 5182, 1278, -1346, 5182, -1346, 1278, -1346, -1346,1744 5182, -1346, 317, 865, -1346, -1346, -1346, -1346, -1346, -1346,1745 -13 46, 876, 9906, -1346, -1346, 8380, 1174, -1346, 318, 865,1746 -1346, 324, 376, 865, -1346, 797, 4908, -1346, -1346, -1346,1747 10950, 10950, -1346, 9408, 9408, 1177, 1176, 1184, 1186, -1346,1748 793, 61, 1068, -1346, 1278, -1346, 3873, -1346, 5182, 543,1749 -1346, 7760, 1195, 1198, 11362, 1199, 1200, 1074, 1128, 1197,1750 5182, 1209, 227, 5182, 5182, 1300, 1189, 1193, 187, 182,1751 688, 1196, 1212, 1214, -1346, -1346, -1346, 1217, -1346, -1346,1752 -13 46, -1346, -1346, -1346, -1346, -1346, 1219, -1346, 1743, 1234,1753 5182, 10950, 10950, 118, 140, 1237, -1346, -1346, 2205, 575,1754 1180, 5182, 2333, 588, -1346, -1346, 1222, 54, 1222, -1346,1755 -13 46, -1346, 140, 140, 1743, -1346, -1346, 10376, -1346, -1346,1756 -13 46, -1346, 1255, 1004, -1346, -1346, 1238, -1346, 1254, -1346,1757 1053, -1346, -1346, 2348, 1259, -1346, -1346, -1346, 708, 1256,1758 -1346, 1266, 1021, 5182, 1265, 1163, -1346, 818, -1346, -1346,1759 1264, -1346, 23, -1346, 1270, 1264, -1346, 1275, -1346, -1346,1760 -13 46, 949, 1276, 1280, 8008, 1287, 1288, 1291, -1346, 140,1761 1294, -1346, -1346, -1346, 949, -1346, -1346, -1346, -1346, -1346,1762 -13 46, 949, 5182, 5182, 876, 1298, -1346, -1346, -1346, -1346,1763 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, 5182, 5182, 1306,1764 1 307, 1264, -1346, -1346, 1743, -1346, -1346, -1346, 5182, 5182,1765 1361, 5182, -1346, -1346, 1296, -1346, 1297, 5182, 1302, 1303,1766 5182, 1094, 1304, -2, -1346, 55, 1896, -1346, -1346, 7483,1767 1273, 140, 608, -1346, -1346, -1346, -1346, -1346, -1346, -1346,1768 10451, 618, -1346, 858, 1310, 1313, 1329, -1346, 2333, -1346,1769 140, -1346, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 11178,1770 -1346, 9408, -1346, 1330, -1346, -1346, 9247, 621, 664, -1346,1771 1328, -1346, 1336, -1346, -1346, 1347, 1331, -1346, -1346, 1331,1772 133 1, 1278, 1349, 897, 1631, -1346, 1350, -1346, 10950, -1346,1773 -13 46, -1346, -1346, -1346, 1355, -1346, 10950, 10950, 10950, -1346,1774 -13 46, 1357, -1346, 1359, 1345, 1365, 815, 9093, 9213, -1346,1775 -13 46, -1346, -1346, 1362, -1346, 710, 712, 1344, 754, 7625,1776 -1346, -1346, 698, -1346, -1346, 761, 1371, 1376, 227, 1429,1777 937, -1346, -1346, 5182, -1346, 1379, 522, 5182, -1346, -1346,1778 11362, -1346, 1384, 1385, -1346, -1346, 416, 865, -1346, -1346,1779 2205, -1346, -1346, -1346, 1375, -1346, -1346, -1346, -1346, -1346,1780 -13 46, 9247, -1346, -1346, -1346, 1278, -1346, -1346, -1346, -1346,1781 -13 46, -1346, -1346, -1346, -1346, -1346, -1346, -1346, 1387, 1390,1782 -1346, -1346, -1346, -1346, -1346, -1346, -1346, 1396, -1346, 1397,1783 -1346, 11362, 52, 5182, 11362, -1346, 1400, 5182, -1346, 8823,1784 9247, -1346, 242, 1401, 1418, -1346, -1346, 1406, 1407, 1388,1785 522, 291, 885, -1346, -1346, -1346, -1346, -1346, -1346, 949,1786 -1346, -1346, 1650, 2348, 1409, 1264, 1278, 1278, 1416, 1417,1787 14 21, 1425, -1346, -1346, 9408, 1420, -1346, 1497, 5182, 1412,1788 -1346, -1346, 11272, -1346, 794, -1346, 1415, 11362, 1424, 9483,1789 -1346, -1346, 1439, -1346, 1442, -1346, 1454, 1461, -1346, 1431,1790 14 27, 210, 1430, 10950, 9247, -1346, -1346, -1346, 1455, 1264,1791 12 64, -1346, -1346, -1346, -1346, -1346, 11362, 76, -1346, 476,1792 -1346, -1346, 5498, -1346, -1346, 1443, 5182, -1346, 5182, 5498,1793 227, 10830, 227, 10830, 1462, -1346, 1467, -1346, 1457, -1346,1794 5182, 1480, 308, 1475, -1346, -1346, -1346, 1479, -1346, 1483,1795 14 85, -1346, 5182, 5182, -1346, -1346, 963, 96, -1346, -1346,1796 1471, -1346, 963, -1346, -1346, 1784, 10757, 606, -1346, -1346,1797 227, 10830, 227, 10830, 210, 1487, 5182, 1477, 210, 210,1798 1500, 1502, -1346, -1346, -1346, -1346, 11272, 1498, 963, 8747,1799 5182, 11182, 1503, 963, 1510, 1784, 2509, -1346, -1346, -1346,1800 1512, -1346, -1346, -1346, -1346, 1493, 522, 1516, -1346, 358,1801 -1346, -1346, 9788, -1346, 11044, -1346, 11272, -1346, -1346, 1501,1802 10954, -1346, -1346, 11182, 227, 2509, 227, 1519, 1520, 522,1803 1522, -1346, 1509, 522, 809, -1346, 11044, -1346, -1346, -1346,1804 10954, -1346, -1346, -1346, 227, 227, -1346, 568, 5182, -1346,1805 824, -1346, -1346, -1346, -1346, -1346, -1346, 522, 606, 1533,1806 15 14, -1346, -1346, -1346, -1346, 843, -1346, -1346, 1518, 606,1807 -1346, -13461652 3644, 10282, 32, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1653 -1376, -1376, -1376, -1376, 24, -1376, -1376, -1376, -1376, -1376, 1654 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1655 -1376, -1376, 56, -1376, -1376, 1230, 1113, 65, 7226, 72, 1656 -1376, -1376, 176, -1376, -1376, -1376, 630, 11, -1376, -1376, 1657 -1376, -1376, 7013, -1376, -1376, -1376, 138, 27, -1376, 1340, 1658 -1376, -1376, -1376, -1376, 1755, 264, 88, 8626, -1376, -1376, 1659 7013, 2358, -1376, -1376, 1485, 327, 7092, 1156, 1585, 1485, 1660 1669, -1376, -1376, -1376, 56, -1376, -1376, 1485, 2327, -1376, 1661 227, -1376, 362, 385, -1376, -1376, -1376, -1376, 285, 27, 1662 56, -1376, 56, -1376, -1376, -1376, -1376, 4122, 1340, -1376, 1663 -1376, 1340, -1376, 258, -1376, 10471, -1376, -1376, 2035, 10553, 1664 -1376, 2430, 2430, 2430, -1376, -1376, 833, 56, -1376, 306, 1665 321, 331, -1376, -1376, -1376, 334, -1376, -1376, -1376, -1376, 1666 -1376, 359, 376, -1376, 421, 9775, 2503, 117, 409, 412, 1667 431, 448, 469, 476, 10588, 8042, 456, -1376, 10169, -1376, 1668 -1376, -1376, -1376, 480, -1376, 126, 4748, 4748, -1376, 493, 1669 186, -1376, -1376, -1376, -1376, 512, 259, 317, 443, -1376, 1670 -1376, 1755, 2698, 513, 571, -1376, 17, -1376, 56, 56, 1671 27, -1376, -1376, 61, -1376, 56, 56, -1376, 2953, 537, 1672 569, 2430, 8661, -1376, -1376, -1376, 7013, -1376, -1376, 1485, 1673 -1376, -1376, -1376, 27, -1376, 1340, 138, -1376, 8906, -1376, 1674 2430, 2430, 2430, 27, -1376, 1230, -1376, 6886, -1376, -1376, 1675 566, 2430, -1376, 2430, -1376, 935, 2430, -1376, 1230, 578, 1676 585, -1376, 7226, 720, -1376, -1376, -1376, 9503, -1376, -1376, 1677 3855, -1376, 571, 62, 5470, 10553, 2035, 2953, -1376, 223, 1678 -1376, -1376, 10471, 1340, 593, 9062, 1113, 617, -1376, -1376, 1679 310, -1376, 575, -1376, 623, 663, 6523, 636, 5470, 7370, 1680 -1376, 651, -1376, -1376, -1376, -1376, -1376, 11419, 11419, 9541, 1681 11, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 786, 1682 2399, 9775, 5470, -1376, 648, 477, 598, 567, 732, 661, 1683 654, 656, 722, 110, -1376, -1376, -1376, 588, -1376, -1376, 1684 251, -1376, -1376, 2503, -1376, -1376, 51, 724, -1376, 530, 1685 724, -1376, -1376, 4122, -1376, 56, 694, 730, 9892, -1376, 1686 -1376, 1107, 1664, 9269, 9183, 1485, 1485, -1376, 1485, 2430, 1687 1485, 2430, -1376, -1376, 56, -1376, -1376, -1376, -1376, -1376, 1688 -1376, -1376, 1485, 2430, 10623, 1340, -1376, -1376, 10705, 1192, 1689 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 8357, 1690 5470, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1691 -1376, -1376, -1376, -1376, -1376, 956, 758, 766, 768, 961, 1692 778, 783, 797, 2698, -1376, -1376, 56, 708, 746, 138, 1693 800, -1376, -1376, 816, -1376, -1376, -1376, 9503, -1376, -1376, 1694 -1376, -1376, -1376, 2953, -1376, 9775, 9775, -1376, 2430, 2035, 1695 10927, 9345, -1376, -1376, -1376, -1376, 9503, 62, -1376, -1376, 1696 1485, 27, -1376, -1376, 9503, -1376, 6971, -1376, -1376, 2430, 1697 2430, 176, 9775, -1376, 809, -1376, 2430, -1376, -1376, -1376, 1698 -1376, 10134, -1376, 602, 3294, -1376, 27, 825, -1376, 2035, 1699 11619, 8661, 11437, -1376, -1376, -1376, -1376, 966, 2953, -1376, 1700 9345, 571, 8504, -1376, -1376, -1376, -1376, 680, 633, 810, 1701 1113, 830, 828, 842, 9062, 1033, 10471, -1376, 9062, -1376, 1702 -1376, -1376, -1376, 645, -1376, 859, 844, -1376, 9541, -1376, 1703 10740, -1376, -1376, 9541, -1376, 9658, 9541, -1376, -1376, 11, 1704 -1376, 659, 870, 891, -1376, 7792, -1376, 703, -1376, -1376, 1705 5470, -1376, 726, 5470, -1376, -1376, -1376, -1376, -1376, -1376, 1706 -1376, -1376, -1376, -1376, -1376, -1376, 5470, -1376, -1376, 5470, 1707 5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, 1708 5470, 5470, 5470, 5470, 5470, 5470, 5470, 2514, 588, 1160, 1709 -1376, -1376, 56, 56, -1376, -1376, 9775, -1376, -1376, 816, 1710 -1376, -1376, 816, 11493, -1376, -1376, 1113, 10705, 7792, 894, 1711 -1376, 10775, -1376, 2430, 2430, 2430, -1376, -1376, 480, -1376, 1712 904, 683, 912, 5470, 2122, 241, 810, -1376, 56, 56, 1713 810, 244, -1376, 56, 56, 816, 810, -1376, 56, 56, 1714 -1376, 724, -1376, 10857, -1376, 1340, 11707, 2430, 2430, -1376, 1715 1324, 547, 608, 10857, -1376, 5856, -1376, 810, -1376, 10623, 1716 -1376, 124, 2858, 2858, 1340, 5055, 864, -1376, 745, 916, 1717 920, -1376, 922, 4748, 416, -1376, 1013, 1340, 2858, 720, 1718 2035, 720, 404, 724, -1376, -1376, 457, 724, -1376, -1376, 1719 -1376, 2035, -1376, 421, -1376, 724, 27, 10134, -1376, 710, 1720 963, 728, 969, -1376, 694, 27, -1376, -1376, 9503, 27, 1721 741, 10317, 976, 11707, -1376, -1376, 984, -1376, -1376, -1376, 1722 720, -1376, 11663, 11751, 730, -1376, 2858, 294, 9269, -1376, 1723 -1376, 480, 985, 987, 680, 3105, -1376, -1376, 9062, -1376, 1724 -1376, 1113, 989, 5470, -1376, 1113, 992, -1376, -1376, 1004, 1725 -1376, 992, 1005, 575, 5470, -1376, 1008, 11, 1014, 1029, 1726 1030, -1376, 1031, 1034, 7792, -1376, 5470, -1376, 5273, 5470, 1727 1027, -1376, -1376, 742, -1376, 5470, -1376, -1376, 750, -1376, 1728 -1376, -1376, -1376, 648, 648, 477, 477, 598, 598, 598, 1729 598, 567, 567, 732, 661, 654, 656, 722, 5470, 230, 1730 10134, 1035, 1041, 1042, 1160, -1376, -1376, -1376, -1376, -1376, 1731 10134, 10134, -1376, -1376, 10623, -1376, 8167, 10009, -1376, -1376, 1732 -1376, 683, 10134, 972, 1052, 1054, 1055, 1063, 1072, 1084, 1733 1085, -1376, 6850, -1376, 2122, -1376, -1376, -1376, -1376, -1376, 1734 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1735 -1376, -1376, -1376, 816, -1376, -1376, -1376, 810, 2430, -1376, 1736 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1737 1089, 1091, -1376, 138, 1027, 5055, -1376, -1376, -1376, 8357, 1738 1092, -1376, -1376, -1376, -1376, 1113, 7531, 1175, -1376, -1376, 1739 -1376, -1376, 1080, -1376, -1376, -1376, 816, -1376, -1376, -1376, 1740 816, 571, 1104, 816, -1376, -1376, -1376, -1376, -1376, -1376, 1741 8042, -1376, 27, -1376, 1006, 10740, -1376, 1890, -1376, 455, 1742 1113, -1376, 1108, 1106, -1376, -1376, 1111, 1119, -1376, 802, 1743 1243, -1376, 695, -1376, 3105, 810, -1376, 828, -1376, -1376, 1744 -1376, 830, 1124, 9062, 10471, 9775, 1127, -1376, -1376, 788, 1745 1126, 8042, 720, 1126, -1376, -1376, 1126, -1376, 8357, -1376, 1746 -1376, -1376, 1122, 5470, 908, -1376, 5470, -1376, 908, -1376, 1747 -1376, 5470, -1376, 474, 724, -1376, -1376, -1376, -1376, -1376, 1748 -1376, -1376, 730, 9892, -1376, -1376, 8292, 1131, -1376, 504, 1749 724, -1376, 505, 521, 724, -1376, 2430, 8378, -1376, -1376, 1750 -1376, 10134, 10134, -1376, 9345, 9345, 1133, 1132, 1144, 1162, 1751 -1376, 731, 55, 1027, -1376, 908, -1376, 4748, -1376, 5470, 1752 460, -1376, 7667, 1161, 1164, 11363, 1165, 1170, 749, 900, 1753 1822, 5470, 1172, 27, 5470, 5470, 1277, 1157, 1159, 176, 1754 -15, 441, 1167, 1176, 1154, -1376, -1376, -1376, 1184, -1376, 1755 -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1177, -1376, 1113, 1756 1196, 5470, 10134, 10134, 138, 56, 1198, -1376, -1376, 1890, 1757 468, 1914, 5470, 2338, 488, -1376, -1376, 1185, 39, 1185, 1758 -1376, -1376, -1376, 56, 56, 1113, -1376, -1376, 10399, -1376, 1759 -1376, -1376, -1376, 1201, 1243, -1376, -1376, 1163, -1376, 1203, 1760 -1376, 992, -1376, -1376, 2035, 1207, -1376, -1376, -1376, 808, 1761 1202, -1376, 1213, 922, 5470, 1215, 1122, -1376, 1868, -1376, 1762 -1376, 1212, -1376, -13, -1376, 1219, 1212, -1376, 1224, -1376, 1763 -1376, -1376, 816, 1228, 1233, 7917, 1236, 1239, 1246, -1376, 1764 56, 1245, -1376, -1376, -1376, 816, -1376, -1376, -1376, -1376, 1765 -1376, -1376, 816, 5470, 5470, 730, 1247, -1376, -1376, -1376, 1766 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 5470, 5470, 1767 1253, 1254, 1212, -1376, -1376, 1113, -1376, -1376, -1376, 5470, 1768 5470, 1292, 5470, -1376, -1376, 1242, -1376, 1248, 5470, 1250, 1769 1252, 5470, 1051, 1257, 13, -1376, 15, 1010, -1376, -1376, 1770 7531, 1260, 56, 550, -1376, -1376, -1376, -1376, -1376, -1376, 1771 -1376, 10435, 551, -1376, 820, 1276, 1280, 1281, -1376, 2338, 1772 -1376, 56, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1773 11013, -1376, 9345, -1376, 1285, -1376, -1376, 10471, 552, 557, 1774 -1376, 1288, -1376, 1291, -1376, -1376, 1299, 1337, -1376, -1376, 1775 1337, 1337, 908, 1307, 1935, 1975, -1376, 1317, -1376, 10134, 1776 -1376, -1376, -1376, -1376, -1376, 1321, -1376, 10134, 10134, 10134, 1777 -1376, -1376, 1322, -1376, 1323, 1326, 1330, 763, 9027, 9148, 1778 -1376, -1376, -1376, -1376, 1331, -1376, 812, 865, 1333, 877, 1779 7352, -1376, -1376, 595, -1376, -1376, 899, 1336, 1338, 27, 1780 1385, 884, -1376, -1376, 5470, -1376, 1339, 421, 5470, -1376, 1781 -1376, 11363, -1376, 1341, 1343, -1376, -1376, 522, 724, -1376, 1782 -1376, 1890, -1376, -1376, -1376, 1335, -1376, -1376, -1376, -1376, 1783 -1376, -1376, 10471, -1376, -1376, -1376, 908, -1376, -1376, -1376, 1784 -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1355, 1785 1357, -1376, -1376, -1376, -1376, -1376, -1376, -1376, 1361, -1376, 1786 1381, -1376, 11363, 177, 5470, 11363, -1376, 1384, 5470, -1376, 1787 3411, 10471, -1376, 292, 1399, 1401, -1376, -1376, 1390, 1393, 1788 1372, 421, 238, 882, -1376, -1376, -1376, -1376, -1376, -1376, 1789 816, -1376, -1376, 1340, 2035, 1395, 1212, 908, 908, 1402, 1790 1404, 1406, 1410, -1376, -1376, 9345, 1407, -1376, 1468, 5470, 1791 1394, -1376, -1376, 11276, -1376, 907, -1376, 1405, 11363, 1408, 1792 9421, -1376, -1376, 1417, -1376, 1421, -1376, 1437, 1438, -1376, 1793 1412, 1414, 20, 1418, 10134, 10471, -1376, -1376, -1376, 1424, 1794 1212, 1212, -1376, -1376, -1376, -1376, -1376, 11363, 179, -1376, 1795 318, -1376, -1376, 8748, -1376, -1376, 1419, 5470, -1376, 5470, 1796 8748, 27, 10892, 27, 10892, 1428, -1376, 1442, -1376, 1425, 1797 -1376, 5470, 1448, 280, 1444, -1376, -1376, -1376, 1446, -1376, 1798 1454, 1456, -1376, 5470, 5470, -1376, -1376, 968, 151, -1376, 1799 -1376, 1439, -1376, 968, -1376, -1376, 2100, 10775, 720, -1376, 1800 -1376, 27, 10892, 27, 10892, 20, 1460, 5470, 1441, 20, 1801 20, 1465, 1471, -1376, -1376, -1376, -1376, 11276, 1462, 968, 1802 8830, 5470, 11189, 1469, 968, 1473, 2100, 2682, -1376, -1376, 1803 -1376, 1477, -1376, -1376, -1376, -1376, 1459, 421, 1480, -1376, 1804 290, -1376, -1376, 9775, -1376, 11097, -1376, 11276, -1376, -1376, 1805 1467, 11010, -1376, -1376, 11189, 27, 2682, 27, 1492, 1495, 1806 421, 1498, -1376, 1476, 421, 915, -1376, 11097, -1376, -1376, 1807 -1376, 11010, -1376, -1376, -1376, 27, 27, -1376, 378, 5470, 1808 -1376, 924, -1376, -1376, -1376, -1376, -1376, -1376, 421, 720, 1809 1500, 1479, -1376, -1376, -1376, -1376, 925, -1376, -1376, 1481, 1810 720, -1376, -1376 1808 1811 }; 1809 1812 … … 1811 1814 static const yytype_int16 yypgoto[] = 1812 1815 { 1813 -13 46, 4712, 1583, -1346, 1844, -1346, 7, 0, 257, -1346,1814 -13 46, 637, -508, -460, -702, -1047, -1346, -72, 1640, 1181,1815 -13 46, 368, 492, 531, 498, 557, 1092, 1099, 1100, 1106,1816 10 91, -1346, -277, -697, 5286, -774, -1346, -1346, 722, 565,1817 -9 72, 603, -1346, 111, -1346, 496, -1130, -1346, -1346, 208,1818 -13 46, -1322, -943, 325, -1346, -1346, -1346, -1346, 128, -1151,1819 -13 46, -1346, -1346, -1346, -1346, -1346, 400, -1046, -1346, -1346,1820 -544, -1346, 196, 138, -1346, 243, -1346, -329, -1346, -1346,1821 -13 46, 648, -823, -1346, -1346, 5, -1137, 564, 270, -1346,1822 -13 46, -1346, -130, -1346, 18, -452, 47, -213, -191, 2570,1823 4 418, -1346, -1346, 131, 355, 744, 1341, 39, 2331, -1346,1824 -13 46, -1346, 276, -1346, 365, 201, 2987, 15, -227, -1346,1825 -13 46, 5549, 5788, -872, -1346, 795, 639, 391, 634, -919,1826 -13 46, -1346, 6180, 970, 781, -314, -1346, -52, -391, 770,1827 -13 46, -1346, -927, -863, -63, -19, -1346, 1233, -1346, 1364,1828 -99, -296, -180, -136, 762, 840, -1346, 1048, 405, 3462,1829 1 523, -417, 986, -1346, -1346, 792, -1346, -436, -1346, -73,1830 -13 46, -1346, -1346, -1262, 494, -1346, -1346, -1346, 1230, -1346,1831 6, -1346, -1346, -803, -107, -1345, -150, 6282, -1346, 3941,1832 -13 46, 982, -1346, -18, 212, -176, -173, -169, 2, -42,1833 -40, -3 2, 586, 10, 22, 49, 50, -166, -163, -160,1834 -15 8, -318, -540, -528, -480, -587, -304, -556, -1346, -1346,1835 -5 09, 1145, 1154, 1155, 1813, 5019, -577, -507, -497, -488,1836 - 468, -1346, -925, -1029, -1004, -1003, -581, -252, -244, -1346,1837 -13 46, 169, 77, -45, -1346, 3860, -39, -632, 1471816 -1376, 4863, 1583, -1376, 725, -1376, 7, 0, -57, -1376, 1817 -1376, 597, -512, -465, -798, -919, -1376, -36, 3888, 1181, 1818 -1376, 132, 515, 586, -238, 582, 1058, 1059, 1062, 1064, 1819 1066, -1376, 939, -595, 5485, -840, -1376, -1376, 687, -126, 1820 -935, 622, -1376, 519, -1376, 454, -1338, -1376, -1376, 172, 1821 -1376, -1119, -858, 288, -1376, -1376, -1376, -1376, 95, -1375, 1822 -1376, -1376, -1376, -1376, -1376, -1376, 368, -1329, -1376, -1376, 1823 -1087, -1376, 161, 109, -1376, 215, -1376, -362, -1376, -1376, 1824 -1376, 618, -833, -1376, -1376, 19, -1199, 459, 209, -1376, 1825 -1376, -1376, -213, -1376, 4, -466, 47, 141, -194, 2584, 1826 4298, -1376, -1376, 41, 265, 712, 1506, 152, 2823, -1376, 1827 -1376, -1376, 214, -1376, -219, 188, 3114, 425, -333, -1376, 1828 -1376, 5335, 5712, -824, -1376, 771, 609, 366, 610, -517, 1829 -1376, -1376, 6089, 945, 761, -534, -1376, -30, 44, 1078, 1830 -1376, -1376, -953, -932, 822, 946, -1376, 83, -1376, 1436, 1831 -179, -226, -197, -137, 737, 821, -1376, 1038, 510, 3608, 1832 1612, -447, 975, -1376, -1376, 784, -1376, -437, -1376, 57, 1833 -1376, -1376, -1376, -1254, 482, -1376, -1376, -1376, 1221, -1376, 1834 18, -1376, -1376, -809, -101, -1324, -140, 6095, -1376, 6226, 1835 -1376, 977, -1376, -92, 355, -176, -168, -165, 2, -43, 1836 -40, -37, 1068, 14, 40, 49, -86, -163, -158, -155, 1837 -153, -320, -507, -497, -487, -543, -318, -509, -1376, -1376, 1838 -544, 1140, 1143, 1145, 1378, 4858, -559, -564, -539, -533, 1839 -530, -1376, -1014, -1040, -1039, -1008, -574, -195, -248, -1376, 1840 -1376, 71, 135, -23, -1376, 4054, 393, -625, -253 1838 1841 }; 1839 1842 … … 1841 1844 positive, shift that token. If negative, reduce the rule which 1842 1845 number is the opposite. If YYTABLE_NINF, syntax error. */ 1843 #define YYTABLE_NINF -54 71846 #define YYTABLE_NINF -548 1844 1847 static const yytype_int16 yytable[] = 1845 1848 { 1846 50, 113, 98, 147, 395, 148, 115, 396, 112, 426, 1847 257, 397, 163, 149, 398, 689, 815, 399, 63, 859, 1848 400, 1194, 401, 605, 757, 919, 816, 706, 1067, 381, 1849 382, 113, 113, 408, 50, 437, 98, 610, 1169, 73, 1850 142, 834, 1035, 1430, 806, 50, 1195, 1196, 117, 1374, 1851 1228, 50, 63, 158, 739, 150, 1140, 1141, 50, 784, 1852 803, 250, 1037, 50, 1283, 189, 50, 151, 212, 50, 1853 1434, 222, 804, 73, 215, 163, 725, 107, 107, 395, 1854 730, 210, 396, 407, 33, 596, 397, 675, 708, 398, 1855 423, 359, 399, 807, 152, 400, 33, 401, 156, 1388, 1856 1389, 472, 474, 808, 198, 321, 684, 50, 333, 1285, 1857 50, 107, 809, 1233, 688, 623, 467, 50, 1430, 635, 1858 805, 1142, 33, 639, 589, 113, 565, 1199, 679, 681, 1859 473, 69, 1348, 210, 33, 1284, 819, 1203, 147, 1203, 1860 148, 1234, 826, -240, -240, 50, 107, 158, 149, 123, 1861 633, 444, 1457, 248, 637, 199, 242, 50, 409, 371, 1862 566, 156, 1147, 403, 456, 69, 433, 170, 715, 1286, 1863 409, 1390, 210, 803, 1434, 1190, 124, 1462, 1156, 1434, 1864 50, 50, 33, 158, 1316, 804, 1319, 1321, 1148, 522, 1865 150, 316, 494, 141, 417, 495, 409, 50, 1157, 729, 1866 331, 78, 151, 1148, 1434, 50, 478, 158, 409, 243, 1867 33, 1434, 97, 147, 50, 148, -240, 50, 741, 440, 1868 160, 143, 433, 149, 113, 928, 978, 709, 673, 152, 1869 165, 404, 210, 805, 113, 78, 979, 113, 403, 1172, 1870 1173, 50, 113, 98, 966, 1105, 97, 459, 428, 461, 1871 850, 850, 431, 33, 166, 50, 50, 146, 158, 63, 1872 803, 163, 50, 97, 210, 113, 850, 242, 323, 210, 1873 58, 58, 804, 1299, 955, 185, 77, 33, 97, 788, 1874 73, 97, 817, 160, 601, 73, 467, 584, 1078, 1388, 1875 1389, 706, 1151, 807, 272, 1348, 514, 1345, 598, 610, 1876 415, 144, 1348, 808, 58, 467, 404, 473, 431, 153, 1877 77, 486, 809, 467, 850, 677, 33, -10, 107, 1223, 1878 805, 682, 50, 434, 371, 824, 1450, 601, 851, 602, 1879 1140, 1141, 816, 442, 819, 316, 58, 375, 574, 58, 1880 50, 50, 794, 868, 575, 219, 168, 156, 1142, 872, 1881 1531, 409, 708, 376, 1197, 70, 1035, 97, 891, 33, 1882 33, 1400, 1348, 623, 50, 197, 33, 359, 50, 97, 1883 596, 1530, 69, 792, 432, 1398, 1037, 470, 648, 583, 1884 596, 834, 1551, 839, 668, 321, 321, 840, 876, 70, 1885 409, 907, 394, 185, 845, 1142, 1546, 1479, 623, 521, 1886 273, 807, 50, 1550, 371, 86, 1410, 623, 735, 833, 1887 737, 808, 321, 738, 551, 552, 742, 97, 33, 589, 1888 809, 208, 50, 1487, 340, 844, 1411, -299, 50, 97, 1889 432, 1108, 1121, 409, 409, 1512, 237, 1514, 1125, 86, 1890 601, 697, 78, 1488, 210, 918, 1347, 78, 745, 240, 1891 1259, 1260, 669, 97, 242, 73, 321, 1425, 33, 668, 1892 1222, 359, 950, 113, 1470, 623, 1471, 476, 50, 160, 1893 112, 316, 316, 1542, 73, 321, 1194, 50, 706, 371, 1894 623, 50, 73, 98, 210, 1103, 50, 58, 1088, 113, 1895 1128, 709, 601, 1543, 113, 977, 979, -542, 316, 63, 1896 949, 1195, 1196, 1127, 1130, 1080, 861, 548, 647, 610, 1897 117, 58, 698, 549, 550, 253, 860, 77, 699, 498, 1898 73, 1142, 77, 1496, 359, 862, 113, 669, 1528, 1501, 1899 1366, 113, 409, 751, 97, 716, 321, 731, 756, 708, 1900 486, 717, 316, 732, 486, -12, 576, 470, 409, 959, 1901 1508, 686, 870, 604, 316, 1526, 316, 467, 107, 316, 1902 1533, 316, 316, 880, 57, 116, 470, 744, 623, 559, 1903 560, 904, 439, 745, 470, 385, 700, 990, 359, 359, 1904 958, 1199, -467, 835, 499, 113, 500, 501, 388, 849, 1905 849, 386, 1139, 598, 359, 977, 70, 1463, 57, 390, 1906 50, 324, 885, 50, 389, 849, 272, 111, 745, 1468, 1907 1299, 1464, 69, 1375, 185, 391, 1468, 78, 521, -468, 1908 43, 44, 316, 521, 50, 111, 521, 138, 139, 113, 1909 206, 268, 908, 216, 601, 718, 78, 159, 43, 44, 1910 47, 48, 359, 50, 78, 511, 86, 113, 750, 190, 1911 270, 86, 213, 849, 602, 223, 50, 697, 113, 50, 1912 113, 392, 706, 1064, 1154, 869, 855, 871, 546, 547, 1913 50, 325, 989, 1106, 1419, 1420, 1527, 393, 709, 1065, 1914 1155, 111, 78, 271, 8, 9, 10, 11, 12, 1567, 1915 370, 1427, 77, 97, 43, 44, 1064, 208, 604, 113, 1916 340, 374, 592, 1568, 326, 546, 903, 327, 626, 1200, 1917 596, 77, 1192, 50, 50, 328, 33, 210, 796, 77, 1918 113, 990, 995, 708, 113, 1201, 73, 329, 592, 1154, 1919 1043, 159, 592, 555, 556, 887, 383, 896, 623, 1200, 1920 73, 745, 1306, 372, 36, 1291, 219, 546, 893, 833, 1921 387, 58, 820, 1485, 575, 1295, 823, 77, 1307, 706, 1922 697, 405, 829, 279, 486, 1494, 1427, 159, 557, 558, 1923 697, 697, 944, 579, 918, 409, 43, 44, 945, 1362, 1924 407, 438, 697, 843, 1132, 1308, 883, 846, 567, 1517, 1925 409, 159, 1090, 424, 340, 890, 47, 48, 945, 892, 1926 50, 1309, 515, 441, 377, 57, 425, 8, 9, 10, 1927 11, 12, 802, 50, 225, 604, 481, 226, 470, 745, 1928 230, 86, 232, 1219, 208, 1341, 359, 1342, 447, 575, 1929 235, 745, 470, 745, -300, 1351, 70, 457, 111, 33, 1930 86, 8, 9, 10, 11, 12, 841, 567, 86, 409, 1931 842, 43, 44, 520, 458, 47, 48, 340, 648, 899, 1932 1152, 1569, 709, 1187, 113, 1021, 1337, 36, 841, 1344, 1933 918, 918, 1074, 33, 395, 745, 1352, 396, 1056, 755, 1934 505, 397, 745, 63, 398, 321, 86, 399, 78, 908, 1935 400, 601, 401, 111, 553, 554, 50, 47, 48, 113, 1936 1096, 36, 78, 1097, 73, 1098, 43, 44, 372, 1435, 1937 -112, 340, 340, 50, -112, 745, 759, 760, 761, -418, 1938 359, 359, 506, 835, 1561, 802, 604, 340, 1081, 881, 1939 575, 113, 1334, 509, 1227, 514, 1335, 648, 1091, 1570, 1940 1515, 1048, 107, 113, 1519, 1567, 1058, 113, 948, 945, 1941 1099, 592, 225, 39, 1099, 171, 172, 42, 1578, 709, 1942 561, 697, 697, 77, 1579, 562, 43, 44, 563, 486, 1943 1083, 316, 111, 323, 409, 340, 1214, 77, 564, 1096, 1944 439, 330, 1097, 982, 1098, 43, 44, 592, 372, 678, 1945 680, 586, 370, -3, 113, 661, 69, 592, 1357, 1358, 1946 107, 1099, 1046, 592, 1021, 1412, 945, 50, 50, 50, 1947 1388, 1389, 802, 1318, 8, 9, 10, 11, 12, 63, 1948 796, 662, 697, 697, 663, 604, 1229, 1230, 39, 665, 1949 1056, 666, 42, 667, 403, 242, 323, 409, 113, 671, 1950 73, 43, 44, 762, 763, 57, 33, 208, 50, 672, 1951 50, 674, 50, 766, 767, 768, 769, 439, 417, 664, 1952 409, 1075, 208, 899, 113, 247, 78, 800, 111, 601, 1953 138, 450, 520, -389, 36, 47, 48, 520, 107, -244, 1954 520, 43, 44, 50, 764, 765, 1544, 602, 225, 226, 1955 720, 627, 86, 232, 478, 323, 409, 113, 1058, 817, 1956 323, 601, 404, 722, 1099, 235, 86, 451, 1057, 724, 1957 733, 918, 452, 734, 896, 938, 770, 771, 908, 797, 1958 601, 746, 747, 1171, -14, 604, 47, 48, 799, -301, 1959 39, 778, 69, 810, 42, 58, 8, 9, 10, 11, 1960 12, 77, 858, 43, 44, -15, 1302, 857, 864, 39, 1961 208, 171, 172, 42, 113, 1276, 1277, 1278, 592, 340, 1962 886, 626, 43, 44, 888, 900, -441, -546, 33, 45, 1963 912, 924, 917, 918, 717, 926, 929, 47, 48, 1021, 1964 668, 51, 114, 225, 931, 918, 918, 932, 933, 942, 1965 1303, 934, 935, 58, 359, 359, 36, 63, 50, 952, 1966 953, 954, 78, 39, 968, 171, 172, 42, 969, 918, 1967 128, 1163, 129, 130, 131, 51, 43, 44, 73, 697, 1968 70, 1081, 970, 43, 44, 971, 145, 697, 697, 697, 1969 972, 113, 51, 113, 113, 973, 899, 896, 1099, 974, 1970 1099, 1099, -429, 997, 181, -428, 1038, 205, 669, 623, 1971 51, 1044, 1040, 340, 340, 39, 107, 178, 179, 42, 1972 1057, 1047, 1193, 1083, 1057, 1165, 1416, 1068, 43, 44, 1973 86, 58, 39, 1070, 171, 172, 42, 77, 1069, 1071, 1974 1079, 918, 1056, 1089, 1093, 43, 44, 114, 937, 1119, 1975 1021, 174, 1143, 107, 1050, 114, 409, 1144, 256, 261, 1976 50, 1146, 47, 48, 111, 1145, 138, 139, 73, 1158, 1977 69, 1174, 1159, 1161, 1162, 113, 1081, 43, 44, 1167, 1978 439, 359, 1099, 1170, -9, 300, 145, 592, -464, 395, 1979 546, -11, 396, 745, 114, 337, 397, -3, 205, 398, 1980 251, 1021, 399, 252, 1021, 400, 107, 401, 265, 1183, 1981 1058, 1177, 1189, 111, 1181, 215, 70, 1051, 1083, 899, 1982 1096, 181, 181, 1097, 210, 1098, 43, 44, 1507, 511, 1983 1210, 494, 50, 50, 1212, 1220, 113, 113, 256, 1215, 1984 78, 1221, 1224, 1099, 1099, 1231, 51, 1235, 107, 1355, 1985 1237, 1239, 1021, 1289, 697, 1240, 140, 1021, 205, 39, 1986 1350, 171, 172, 42, 1241, 1242, 86, 209, 1243, 1245, 1987 1057, 1267, 43, 44, 210, 1252, 228, 1314, 111, 1081, 1988 138, 139, 51, 1261, 1262, 1296, 1021, 107, 1297, 57, 1989 261, 43, 44, 1270, 1271, 261, 256, 256, 374, 1273, 1990 1274, 1282, 114, -302, 1298, 1304, 884, 436, 1310, 58, 1991 8, 9, 10, 11, 12, 77, 1312, 726, 1343, 209, 1992 1332, 1083, 727, 147, 1313, 148, 1317, 1322, 1024, 300, 1993 78, 73, 1324, 149, 1330, 50, 1331, 113, 73, 1340, 1994 1333, 300, 33, 321, 1509, 1353, 58, 1082, 403, 266, 1995 1354, 107, 1278, 1360, 1371, 480, 1021, 568, 209, 1364, 1996 1365, 1021, 1402, 145, 1382, 50, 50, 1383, 158, 107, 1997 36, -430, 1057, 114, 1386, 1397, 107, 668, 337, 1404, 1998 1406, 1407, 603, 622, 1021, 1408, 1021, 340, 340, 1417, 1999 1021, 1421, 1422, 1021, 70, 50, 1423, 371, 73, 58, 2000 1424, 1335, 1426, 1361, 632, 77, 1021, 1431, 632, 951, 2001 1021, 1473, 1436, 1478, 1440, 1444, 404, 1442, 209, 956, 2002 957, 1438, 1446, 1350, 1449, 57, 1448, 1455, 113, 316, 2003 1350, 967, 1458, 174, 39, 1574, 107, 1480, 42, 113, 2004 1469, 58, 1482, 181, 86, 669, 1581, 43, 44, 211, 2005 209, 1511, 1484, 1513, 1486, 209, 1489, 636, 453, 1491, 2006 1492, 640, 1493, 256, 1516, 300, 300, 1160, 1500, 256, 2007 1477, 632, 1477, 713, 1518, 1521, 1522, 1409, 1525, 58, 2008 58, 47, 48, 1532, 70, 1534, 219, 1536, 1539, 491, 2009 1350, 1541, 300, 78, 1554, 1555, 1558, 164, 1547, 169, 2010 78, 211, 175, 176, 177, 1552, 1559, 1553, 1576, 256, 2011 1477, 1577, 1477, 772, 340, 1580, 776, 1176, 256, 229, 2012 632, 773, 51, 774, 1095, 1565, 1566, 714, 1451, 58, 2013 775, 1495, 238, 239, 86, 1288, 114, 1401, 1562, 1356, 2014 211, 1560, 1472, 209, 58, 1520, 1182, 1191, 300, 1049, 2015 114, 1370, 1204, 300, 920, 300, 300, 1077, 996, 1092, 2016 78, 863, 58, 914, 208, 337, 111, 1076, 77, 58, 2017 1305, 711, 780, 1096, 927, 77, 1097, 476, 1098, 43, 2018 44, 781, 782, 1265, 1266, 39, 1268, 171, 172, 42, 2019 0, 0, 1272, 0, 0, 1275, 0, 0, 43, 44, 2020 211, 1451, 649, 57, 0, 1451, 1451, 1320, 568, 568, 2021 1137, 1138, 0, 0, 439, 0, 300, 454, 2, 202, 2022 4, 5, 6, 7, 0, 406, 0, 632, 337, 58, 2023 209, 622, 211, 1540, 0, 77, 0, 211, 0, 0, 2024 1082, 603, 1024, 0, 603, 0, 209, 70, 39, 0, 2025 178, 179, 42, 0, 70, 0, 1556, 0, 0, 0, 2026 1556, 43, 44, 632, 0, 0, 592, 0, 592, 0, 2027 209, 1185, 1186, 632, 0, 622, 0, 0, 111, 632, 2028 138, 139, 632, 632, 1573, 0, 37, 600, 38, 601, 2029 0, 43, 44, 57, 0, 47, 48, 86, 632, 0, 2030 256, 0, 0, 0, 86, 0, 592, 0, 592, 602, 2031 0, 256, 0, 719, 70, 0, 0, 836, 728, 39, 2032 0, 178, 179, 42, 0, 211, 0, 0, 0, 0, 2033 0, 114, 43, 44, 0, 1082, 852, 0, 2, 202, 2034 4, 5, 6, 7, 0, 0, 632, 909, 622, 867, 2035 0, -3, 0, 1363, 714, 714, 0, 0, 1505, 0, 2036 409, 0, 173, 0, 86, 0, 47, 48, 1394, 224, 2037 0, 0, 0, 206, 216, 508, 0, 510, 513, 588, 2038 0, 599, 0, 0, 337, 0, 516, 517, 525, 0, 2039 0, 209, 526, 527, 528, 0, 0, 0, 630, 631, 2040 510, 510, 0, 0, 1387, 0, 37, 1395, 38, 791, 2041 0, 173, 211, 0, 173, 0, 529, 0, 530, 0, 2042 531, 532, 0, 438, 568, 0, 209, 2, 202, 4, 2043 5, 6, 7, 0, 632, 209, 962, 510, 1082, 0, 2044 0, 603, 525, 0, 0, 0, 526, 527, 528, 0, 2045 0, 0, 211, 838, 603, 1433, 57, 0, 411, 0, 2046 1437, 0, 0, 57, 0, 419, 0, 0, 1323, 0, 2047 529, 856, 530, 0, 531, 1287, 1325, 1326, 1327, 510, 2048 0, 0, 8, 9, 10, 11, 12, 0, 111, 1461, 2049 138, 450, 0, 209, 0, 37, 0, 38, 0, 0, 2050 0, 43, 44, 209, 0, 0, 300, 0, 209, 0, 2051 0, 0, 0, 0, 33, 0, 0, 0, 173, 0, 2052 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 2053 337, 411, 0, 0, 0, 114, 0, 1052, 0, 0, 2054 0, 0, 36, 0, 916, 0, 0, 39, 491, 909, 2055 909, 42, 0, 0, 714, 0, 0, 0, 0, 0, 2056 43, 44, 0, 0, 114, 300, 173, 0, 0, 0, 2057 0, 337, 0, 211, 0, 0, 0, 0, 0, 0, 2058 0, 0, 0, 0, 0, 0, 45, 1545, 0, 573, 2059 0, 0, 0, 1545, 47, 48, 209, 0, 577, 0, 2060 0, 580, 0, 337, 0, 0, 0, 0, 211, 1545, 2061 0, 0, 454, 1545, 0, 0, 0, 211, 0, 0, 2062 0, 0, 0, 0, 632, 632, 0, 0, 0, 0, 1849 51, 114, 99, 148, 64, 396, 149, 427, 113, 150, 1850 624, 1195, 1196, 397, 707, 690, 398, 258, 399, 438, 1851 116, 758, 606, 400, 611, 785, 401, 860, 402, 382, 1852 383, 1141, 1142, 1036, 468, 114, 114, 808, 51, 1200, 1853 99, 70, 64, 1197, 409, 817, 51, 726, 118, 835, 1854 740, 731, 51, 1143, 159, 676, 143, 1038, 1375, 51, 1855 151, 816, 809, 37, 51, 1431, 190, 51, 810, 213, 1856 51, 1349, 223, 1286, 685, 820, 1170, 1068, 1234, 70, 1857 396, 827, 689, 1284, 251, 37, 152, 274, 397, 216, 1858 404, 398, 807, 399, 804, 153, 405, 424, 400, 157, 1859 515, 401, 37, 402, 805, 273, 1235, 37, 51, 852, 1860 523, 51, 473, 475, 806, 1480, 636, 124, 51, 593, 1861 640, -10, 199, 161, 869, 627, 114, 1532, 920, 154, 1862 1287, 334, 243, 408, 410, 108, 108, 1451, 148, 125, 1863 1431, 149, 175, 597, 150, 593, 51, 169, 159, 593, 1864 1106, 1285, 74, 1513, 249, 1515, 410, 1148, 51, 1552, 1865 372, 1458, 157, 521, 1531, 404, 577, 716, 410, 1157, 1866 200, 405, 908, 108, 1173, 1174, 418, 474, 410, 1229, 1867 142, 51, 51, 1149, 159, 1300, 161, 144, 79, 1547, 1868 74, 252, 317, 1158, 253, 151, 1551, 1152, 51, 680, 1869 682, 332, -240, -240, 468, 108, 51, 804, 159, 59, 1870 59, 566, 674, 148, 78, 51, 149, 805, 51, 150, 1871 441, 152, 929, 468, 1191, 114, 79, 806, 1389, 1390, 1872 153, 468, 243, 324, 1349, 114, 719, 808, 114, 474, 1873 956, 1349, 51, 114, 99, 567, 64, 59, 376, 429, 1874 462, 166, 78, 432, 1224, 980, 51, 51, 624, 159, 1875 460, 603, 809, 51, 377, 71, 114, 198, 810, 37, 1876 730, 979, -240, 820, 1435, 167, 59, 433, 707, 59, 1877 1143, 1463, 445, 70, 220, 710, 611, 37, 471, 742, 1878 37, 145, 967, 624, 804, 457, 1079, 1391, 437, 679, 1879 681, 1349, 624, 71, 805, 1141, 1142, 1149, 386, 432, 1880 585, 669, 487, 1317, 806, 1320, 1322, 670, 767, 768, 1881 769, 770, 678, 51, 387, 372, 892, 1143, 683, 736, 1882 -299, 738, 209, 433, 739, 1346, 317, 743, 479, 795, 1883 410, 51, 51, 1389, 1390, 808, 481, 1036, 157, 238, 1884 789, 817, 746, 821, 1411, 98, 818, 824, 602, 825, 1885 624, 602, 241, 830, 341, 51, 951, 575, 593, 51, 1886 809, 1038, 161, 576, 1412, 624, 810, 108, 1435, 649, 1887 584, 389, 521, 1435, 844, -543, 669, 521, 847, 835, 1888 521, 846, 670, 98, 74, 254, 1488, 390, 1516, 74, 1889 243, 147, 1520, 51, 593, 372, 1543, 98, 1435, 909, 1890 512, 602, 1401, 1399, 593, 1435, 1489, 48, 49, 186, 1891 593, -12, 98, 51, 175, 98, 1544, 59, 597, 51, 1892 79, 603, 1426, 547, 548, 79, -468, 1348, 597, 391, 1893 1464, 779, 1128, 1131, 495, 164, -469, 496, 637, 269, 1894 37, 59, 641, 1143, 1465, 392, 78, 1198, 471, 58, 1895 117, 78, 1509, 624, 114, 707, 1195, 1196, 1223, 51, 1896 547, 113, 317, 317, 271, 468, 1081, 471, 51, 590, 1897 372, 1104, 51, 440, 99, 471, 64, 51, 1089, 905, 1898 114, 272, 211, 1200, 978, 114, 611, 58, 1197, 317, 1899 1568, 98, 1471, 37, 1472, 634, 273, 71, 164, 638, 1900 87, 118, 547, 98, 1569, 980, 861, 280, 1376, 873, 1901 37, 410, 1300, 70, 709, 325, 207, 114, 326, 217, 1902 44, 45, 114, 862, 752, 648, 395, 186, 322, 757, 1903 1204, 487, 1204, 317, 211, 487, 960, 327, 87, 710, 1904 37, 37, 863, 1260, 1261, 317, 516, 317, 378, 871, 1905 317, 98, 317, 317, 328, 393, 1529, 37, 37, 74, 1906 881, 371, 877, 98, 410, 593, 171, 1065, 627, 1420, 1907 1421, 394, 1155, 211, 983, 329, 114, 499, 74, 1109, 1908 1065, 410, 330, 1066, 978, 375, 74, 98, 1156, 434, 1909 1469, 51, 552, 553, 51, 79, 1193, 1469, 209, 1497, 1910 1201, 477, 850, 850, 384, 1502, 882, 108, 244, 1122, 1911 1126, 410, 602, 317, 79, 51, 1202, 388, 850, 797, 1912 114, 78, 79, 624, 74, 406, 1129, 1367, 602, 410, 1913 341, 1527, 408, 211, 51, 580, 1534, 410, 114, 707, 1914 78, 500, 425, 501, 502, 434, 990, 51, 78, 114, 1915 51, 114, 1076, 556, 557, 840, 870, 1528, 872, 841, 1916 79, 51, 1155, 1201, 1307, 211, 850, 439, 98, 1309, 1917 211, 760, 761, 762, 426, 220, 851, 851, 1292, 1296, 1918 1308, 59, 554, 555, 164, 1310, 78, 605, 558, 559, 1919 114, 58, 851, 568, 448, 410, 40, 904, 837, 416, 1920 43, 48, 49, 482, 51, 51, 458, 746, 699, 44, 1921 45, 114, 996, 459, 700, 114, 842, 853, 793, 471, 1922 843, 599, 435, 1352, 341, 209, 710, -419, 897, 506, 1923 868, 1044, 443, 471, 593, 46, 707, 71, 507, 717, 1924 851, 510, 87, 48, 49, 718, 40, 87, 186, 40, 1925 43, 732, 900, 43, 834, 487, 515, 733, 597, 44, 1926 45, 549, 44, 45, 590, 745, 1363, 550, 551, 112, 1927 845, 746, 1133, 226, 174, 562, 227, 563, 709, 231, 1928 564, 233, 44, 45, 1428, 714, 112, 341, 801, 236, 1929 602, 51, 112, 48, 49, 1057, 48, 49, 522, 44, 1930 45, 1059, 587, 842, 51, 44, 45, 1075, 322, 322, 1931 751, 112, 565, 139, 140, 40, 886, 172, 173, 43, 1932 560, 561, 746, 174, 44, 45, 174, 98, 44, 45, 1933 74, 331, 605, 756, 888, 322, 672, 1188, -3, -112, 1934 746, 341, 341, -112, 74, 211, 1486, 894, 945, 649, 1935 1153, 673, 856, 576, 946, 114, 1022, 341, 1495, 1428, 1936 64, 949, 946, 526, 662, 396, 79, 527, 528, 529, 1937 939, 1335, 663, 397, 664, 1336, 398, 1164, 399, 322, 1938 79, 440, 1518, 400, 666, 211, 401, 51, 402, 667, 1939 114, 530, 78, 531, 1091, 532, 533, 70, 322, 112, 1940 946, 139, 140, 668, 51, 341, 78, 909, 675, 602, 1941 710, 226, 44, 45, 1220, 48, 49, 87, 1342, -390, 1942 576, 797, 114, 248, 746, 959, 324, 410, 649, 1092, 1943 174, 58, 1049, 1082, 114, -244, 87, 603, 114, 1358, 1944 1359, 1100, 721, 266, 87, 1100, 803, 1057, 209, 605, 1945 687, 404, 725, 1059, 1570, 723, 900, 405, 440, 322, 1946 487, 1084, 317, 209, 734, 709, 40, 360, 172, 173, 1947 43, 1343, 735, 1215, 112, 701, 747, 746, 174, 44, 1948 45, 1097, 87, 1345, 1098, 114, 1099, 44, 45, 746, 1949 -14, 108, 1100, 1413, 946, 1022, 64, 748, 51, 51, 1950 51, 112, 798, 139, 451, 1353, 836, 710, 74, 1389, 1951 1390, 746, 800, 1436, 44, 45, 599, 522, 1140, 746, 1952 811, 1562, 522, 1266, 1267, 522, 1269, 576, 1166, 114, 1953 1571, 1579, 1273, 70, 859, 1276, 1568, 1580, 865, 51, 1954 452, 51, -15, 51, 79, 453, 858, 226, 227, 108, 1955 628, 209, 233, 1230, 1231, 114, 174, 763, 764, 803, 1956 605, 243, 324, 410, 236, 59, 418, 665, 410, 887, 1957 78, 479, 324, 410, 51, 889, 1545, 818, 324, 602, 1958 174, 1165, 1167, 1169, 174, 547, 901, 526, 114, 341, 1959 -442, 527, 528, 529, 834, 1100, -547, 669, 913, 112, 1960 918, 139, 140, 670, 718, 897, 1277, 1278, 1279, 925, 1961 160, 927, 44, 45, 930, 530, 1048, 531, 211, 532, 1962 1288, 71, 191, 59, 512, 214, 932, 108, 224, 900, 1963 765, 766, 771, 772, 624, 933, 934, 935, 727, 943, 1964 936, 953, 226, 728, 74, 114, 803, 954, 955, 709, 1965 203, 3, 4, 5, 6, 7, 8, 9, 969, 605, 1966 970, 971, 10, 11, 12, 13, 14, 15, 16, 972, 1967 1022, 52, 115, 40, 64, 172, 173, 43, 973, 112, 1968 79, 139, 140, 341, 341, 884, 44, 45, 87, 51, 1969 974, 975, 44, 45, 891, -430, 37, -429, 893, 1057, 1970 1039, 59, 87, 998, 160, 1059, 78, 1041, 1395, 52, 1971 1045, 70, 371, 593, 1069, 593, 373, 146, 1070, 1071, 1972 1362, 440, 114, 52, 114, 114, 1082, 1072, 897, 1100, 1973 1080, 1100, 1100, 1090, 1094, 182, 938, 1120, 206, 1144, 1974 160, 52, 1058, 360, 1145, 10, 11, 12, 13, 14, 1975 15, 16, 900, 593, 1084, 593, 1146, 71, 40, 605, 1976 172, 173, 43, 1417, 160, 568, 1159, 410, 1147, 1160, 1977 1162, 44, 45, 48, 49, 1163, 442, 1171, 115, 37, 1978 1175, 1022, 1178, -9, -3, -465, 115, 495, 746, 257, 1979 262, 51, 1338, -11, 1410, -3, 129, 375, 130, 131, 1980 132, 1351, 1184, 1182, 1190, 108, 114, 1211, 322, 44, 1981 45, 1052, 1221, 1100, 1213, 58, 301, 146, 1216, 1222, 1982 396, 1082, 74, 1225, 1232, 115, 338, 1236, 397, 206, 1983 1238, 398, 1022, 399, 1240, 1022, 1268, 360, 400, 1241, 1984 174, 401, 108, 402, 1242, 1452, 836, 1243, 909, 1084, 1985 602, 1246, 182, 182, 1244, 1253, 48, 49, 79, 174, 1986 216, 1262, 1263, 51, 51, 1508, 87, 114, 114, 257, 1987 1271, 1290, 174, 1083, 1100, 1100, 1272, 52, 1274, 59, 1988 1275, 373, 1297, 1022, 78, 1283, 1298, 1299, 1022, 206, 1989 112, 1305, 139, 451, 1058, 108, 1194, 698, 1058, 1311, 1990 360, 1047, 1313, 44, 45, 404, 40, 1314, 172, 173, 1991 43, 405, 74, 52, 1315, 1318, 59, 1022, 1452, 44, 1992 45, 262, 1452, 1452, 1082, 1323, 262, 257, 257, 1325, 1993 1331, 1332, 1333, 115, 669, 71, 1334, 108, 1344, 1341, 1994 670, 1354, 1279, 1355, 1361, 1372, 1416, 1365, 79, 1366, 1995 1541, 58, 1084, 148, 360, 360, 149, 341, 341, 150, 1996 301, 373, 141, 1383, 1351, 1384, 51, -431, 114, 59, 1997 360, 1351, 301, 1557, 78, 1510, 108, 1557, 1025, 203, 1998 3, 4, 5, 6, 7, 8, 9, 1022, 569, 1387, 1999 1398, 1403, 1022, 1405, 146, 1407, 51, 51, 1408, 159, 2000 1409, 1574, 87, 1478, 115, 1478, 1418, 1427, 1422, 338, 2001 1423, 59, 1424, 604, 623, 1022, 1425, 1022, 360, 1336, 2002 1432, 1022, 1172, 1441, 1022, 71, 51, 1443, 372, 1445, 2003 1447, 1351, 1459, 1437, 1481, 633, 1439, 1022, 1449, 633, 2004 108, 1022, 1450, 1478, 1058, 1478, 1456, 1470, 1483, 59, 2005 59, 1485, 267, 1487, 412, 220, 1490, 1492, 108, 114, 2006 317, 420, 1493, 210, 1494, 108, 1575, 1501, 1517, 1519, 2007 114, 1522, 229, 1526, 182, 74, 1523, 1582, -300, 1535, 2008 1533, 174, 74, 1537, 341, 1540, 1542, 10, 11, 12, 2009 13, 14, 15, 16, 257, 1548, 301, 301, 1555, 59, 2010 257, 1556, 633, 1559, 1560, 209, 1577, 1578, 1177, 1581, 2011 773, 79, 774, 698, 59, 210, 775, 1161, 79, 776, 2012 1096, 37, 777, 301, 1289, 108, 1496, 412, 165, 58, 2013 170, 1402, 59, 176, 177, 178, 1563, 78, 1357, 59, 2014 257, 1521, 74, 1561, 78, 1473, 1058, 1183, 1192, 257, 2015 230, 633, 919, 52, 210, 440, 1050, 1371, 715, 1205, 2016 921, 454, -301, 239, 240, 1093, 1083, 115, 1078, 212, 2017 997, 10, 11, 12, 13, 14, 15, 16, 79, 301, 2018 87, 115, 864, 915, 301, 574, 301, 301, 71, 1306, 2019 1077, 0, 492, 712, 578, 71, 338, 581, 781, 59, 2020 928, 782, 360, 783, 78, 37, 0, 950, 0, 0, 2021 0, 0, 0, 0, 210, 0, 698, 0, 0, 58, 2022 174, 212, 0, 174, 174, 174, 698, 698, 0, 0, 2023 40, 0, 179, 180, 43, 0, 0, 0, 698, 569, 2024 569, 0, 0, 44, 45, 885, 210, 301, 0, 0, 2025 0, 210, 0, 0, 0, 71, 407, 0, 633, 338, 2026 212, 1083, 623, 412, 0, 211, 0, 420, 0, 601, 2027 87, 602, 604, 0, 0, 604, 0, 48, 49, 0, 2028 0, 0, 0, 0, 991, 0, 0, 0, 1356, 0, 2029 0, 603, 1025, 0, 633, 0, 360, 360, 0, 207, 2030 217, 0, 0, 0, 633, 650, 623, 0, 0, 0, 2031 633, 0, 0, 633, 633, 211, 0, 0, 0, 0, 2032 212, 40, 0, 179, 180, 43, 0, 0, 0, 633, 2033 0, 257, 0, 0, 44, 45, 0, 455, 0, 210, 2034 0, 0, 257, 0, 0, 412, 0, 0, 952, 439, 2035 0, 477, 212, 0, 0, 0, 0, 212, 957, 958, 2036 181, 0, 115, 0, 1083, 0, 0, 0, 48, 49, 2037 968, 0, 0, 0, 0, 0, 0, 633, 910, 623, 2038 1107, 0, 58, 0, 0, 715, 715, 0, 40, 58, 2039 172, 173, 43, 0, 0, 174, 0, 0, 0, 0, 2040 0, 44, 45, 1364, 0, 0, 322, 0, 0, 0, 2041 589, 0, 600, 0, 0, 338, 720, 698, 698, 0, 2042 0, 729, 0, 0, 0, 0, 210, 0, 991, 631, 2043 632, 0, 0, 87, 112, 1168, 574, 574, 0, 0, 2044 87, 1097, 210, 0, 1098, 212, 1099, 44, 45, 58, 2045 1474, 0, 1479, 0, 1388, 569, 40, 1396, 179, 180, 2046 43, 0, 0, 0, 0, 633, 210, 963, 0, 44, 2047 45, 0, 604, 0, 0, 1228, 0, 0, 698, 698, 2048 40, 919, 179, 180, 43, 604, 0, 0, 0, 0, 2049 1512, 0, 1514, 44, 45, 1051, 0, 410, 0, 0, 2050 87, 112, 0, 48, 49, 1434, 174, 0, 1097, 0, 2051 1438, 1098, 792, 1099, 44, 45, 1052, 0, 0, 1051, 2052 0, 410, 1303, 0, 0, 0, 0, 48, 49, 0, 2053 875, 0, 212, 0, 879, 0, 0, 301, 0, 1462, 2054 0, 112, 1319, 0, 1553, 0, 1554, 0, 1097, 1138, 2055 1139, 1098, 0, 1099, 44, 45, 839, 174, 0, 0, 2056 174, 338, 0, 0, 1566, 1567, 115, 0, 1053, 0, 2057 360, 360, 212, 0, 857, 0, 0, 919, 919, 0, 2058 910, 910, 1321, 0, 0, 715, 0, 210, 174, 0, 2059 0, 0, 0, 0, 0, 115, 301, 0, 0, 0, 2060 0, 40, 338, 179, 180, 43, 0, 0, 174, 0, 2061 1186, 1187, 0, 174, 44, 45, 0, 0, 0, 0, 2062 0, 0, 210, 0, 10, 11, 12, 13, 14, 15, 2063 16, 210, 0, 0, 338, 0, 0, 1546, 0, 0, 2064 256, 0, 174, 1546, 0, 0, 1304, 917, 48, 49, 2065 0, 492, 574, 0, 0, 633, 633, 0, 37, 1546, 2066 0, 0, 0, 1546, 0, 0, 40, 0, 179, 180, 2067 43, 0, 0, 301, 0, 698, 0, 0, 0, 44, 2068 45, 0, 0, 698, 698, 698, 0, 0, 40, 210, 2069 179, 180, 43, 212, 0, 0, 0, 360, 0, 210, 2070 0, 44, 45, 0, 210, 1506, 0, 410, 0, 0, 2071 0, 0, 174, 48, 49, 0, 0, 174, 0, 0, 2072 1053, 0, 1053, 0, 1053, 0, 0, 601, 212, 602, 2073 0, 0, 455, 0, 0, 48, 49, 212, 0, 115, 2074 174, 0, 174, 0, 0, 910, 174, 0, 0, 174, 2075 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 2076 0, 0, 174, 0, 0, 0, 174, 902, 0, 903, 2077 0, 0, 0, 0, 0, 0, 0, 906, 907, 0, 2078 0, 0, 912, 0, 0, 650, 338, 0, 0, 0, 2079 0, 1001, 210, 0, 0, 212, 0, 0, 0, 922, 2080 0, 0, 0, 0, 926, 212, 0, 1324, 0, 0, 2081 212, 0, 0, 0, 0, 1326, 1327, 1328, 919, 0, 2082 -302, 1111, 0, 600, 0, 0, 1067, 0, 0, 10, 2083 11, 12, 13, 14, 15, 16, 0, 1124, 0, 0, 2084 10, 11, 12, 13, 14, 15, 16, 0, 0, 0, 2085 698, 301, 203, 3, 4, 5, 6, 7, 8, 9, 2086 0, 0, 115, 37, 650, 0, 0, 0, 0, 0, 2087 1053, 0, 0, 0, 37, 0, 0, 0, 0, 0, 2088 919, 0, 0, 633, 0, 0, 0, 225, 115, 0, 2089 0, 0, 919, 919, 0, 0, 0, 0, 212, 0, 2090 0, 0, 0, 0, 40, 0, 179, 180, 43, 0, 2091 0, 0, 0, 0, 0, 0, 919, 44, 45, 0, 2092 0, 986, 0, 987, 988, 989, 412, 0, 0, 633, 2093 633, 0, 10, 11, 12, 13, 14, 15, 16, 0, 2094 0, 301, 1040, 1051, 0, 410, 0, 0, 0, 0, 2095 0, 48, 49, 0, 0, 0, 0, 0, 1046, 0, 2096 0, 0, 210, 0, 0, 1001, 37, 0, 0, 0, 2097 0, 0, 1053, 0, 0, 0, 0, 0, 0, 0, 2098 0, 1073, 1457, 115, 0, 0, 0, 0, 919, 0, 2099 0, 1208, 534, 535, 536, 537, 538, 539, 540, 541, 2100 542, 543, 544, 0, 0, 10, 11, 12, 13, 14, 2101 15, 16, 0, 0, 0, 1095, 0, 0, 0, 0, 2102 1105, 262, 115, 0, 0, 1108, 545, 0, 0, 0, 2103 1113, 1114, 0, 0, 0, 1116, 0, 1117, 1118, 37, 2104 0, 1121, 0, 0, 0, 257, 0, 0, 276, 277, 2105 1136, 278, 0, 0, 0, 0, 633, 0, 0, 0, 2106 0, 0, 412, 0, 0, 0, 1150, 1151, 212, 40, 2107 0, 262, 0, 43, 67, 119, 0, 279, 0, 0, 2108 280, 1265, 44, 45, 281, 0, 115, 282, 283, 273, 2109 284, 285, 286, 44, 45, 0, 287, 288, 1179, 0, 2110 0, 1181, 0, 0, 115, 0, 0, 0, 46, 0, 2111 0, 115, 67, 115, 0, 115, 48, 49, 0, 289, 2112 0, 378, 0, 0, 0, 0, 158, 48, 49, 291, 2113 292, 293, 294, 0, 0, 0, 0, 0, 0, 0, 2114 778, 0, 0, 0, 218, 0, 0, 1507, 262, 0, 2115 0, 0, 0, 115, 1214, 115, 0, 0, 0, 0, 2116 1218, 1219, 0, 0, 0, 1369, 0, 0, 0, 1226, 2117 0, 115, 0, 0, 1233, 0, 0, 1507, 1507, 1237, 2118 0, 250, 0, 0, 10, 11, 12, 13, 14, 15, 2119 16, 0, 1245, 0, 301, 0, 0, 0, 0, 0, 2120 10, 11, 12, 13, 14, 15, 16, 1507, 1252, 0, 2121 1254, 1255, 1256, 1257, 0, 0, 0, 0, 37, 0, 2122 323, 0, 0, 0, 0, 1264, 0, 1150, 250, 343, 2123 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 2125 179, 180, 43, 0, 0, 0, 403, 0, 0, 1293, 2126 1294, 44, 45, 0, 40, 0, 179, 180, 43, 0, 2127 0, 0, 423, 0, 0, 428, 430, 44, 45, 0, 2128 158, 0, 0, 0, 0, 0, 0, 1506, 0, 410, 2129 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 2130 0, 446, 0, 181, 0, 449, 0, 450, 0, 0, 2131 456, 48, 49, 75, 0, 0, 67, 0, 0, 0, 2132 0, 470, 0, 1329, 1330, 0, 0, 0, 0, 0, 2133 0, 478, 0, 1340, 0, 0, 0, 0, 0, 430, 2134 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 2135 0, 75, 203, 3, 4, 5, 6, 7, 8, 9, 2136 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2137 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2138 30, 31, 0, 219, 335, 33, 34, 0, 0, 0, 2139 0, 0, 0, 0, 37, 0, 210, 1379, 0, 1380, 2140 1381, 1382, 0, 0, 0, 0, 0, 250, 0, 0, 2141 0, 1386, 591, 0, 0, 0, 0, 0, 626, 1397, 2142 0, 0, 170, 0, 0, 0, 41, 42, 0, 0, 2143 0, 0, 0, 0, 0, 0, 0, 0, 635, 0, 2144 0, 0, 635, 0, 0, 0, 0, 0, 0, 1419, 2145 0, 0, 212, 0, 0, 10, 11, 12, 13, 14, 2146 15, 16, 0, 0, -427, 684, 0, 0, 347, 0, 2147 0, 48, 49, 210, 0, 0, 0, 0, 0, 0, 2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 2149 0, 470, 0, 1460, 1461, 0, 0, 0, 0, 0, 2150 0, 0, 212, 0, 0, 343, 1466, 0, 0, 0, 2151 470, 0, 0, 1466, 0, 0, 0, 0, 470, 40, 2152 0, 179, 180, 43, 0, 0, 0, 0, 0, 0, 2153 1491, 0, 44, 45, 0, 693, 0, 0, 430, 0, 2154 447, 0, 0, 0, 0, 703, 0, 0, 1505, 0, 2155 0, 0, 0, 1511, 708, 75, 67, 0, 256, 0, 2156 75, 0, 0, 0, 0, 0, 48, 49, 430, 0, 2157 0, 0, 430, 0, 0, 0, 0, 0, 0, 212, 2158 0, 0, 0, 0, 0, 0, 1538, 0, 1539, 0, 2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 2160 0, 0, 0, 0, 80, 0, 0, 10, 11, 12, 2161 13, 14, 15, 16, 0, 0, 0, 0, 0, 0, 2162 0, 0, 0, 0, 0, 0, 1564, 1565, 0, 0, 2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 1572, 2164 1573, 37, 80, 784, 0, 0, 0, 0, 0, 0, 2165 0, 592, 0, 0, 0, 0, 0, 219, 0, 0, 2166 0, 635, 796, 0, 0, 0, 0, 0, 0, 0, 2167 0, 40, 0, 0, 221, 43, 0, 592, 814, 0, 2168 0, 592, 0, 0, 44, 45, 0, 0, 0, 0, 2169 0, 0, 0, 0, 0, 0, 0, 591, 0, 0, 2170 0, 0, 838, 0, 0, 0, 0, 591, 0, 0, 2171 714, 0, 0, 635, 0, 0, 343, 343, 48, 49, 2063 2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2064 0, 0, 300, 1456, 173, 0, 0, 0, 510, 510, 2065 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 2066 510, 510, 510, 510, 510, 510, 0, 411, 173, 0, 2067 0, 419, 173, 0, 0, 211, 0, 0, 0, 0, 2068 0, 0, 649, 0, 0, 211, 0, 0, 1000, 1052, 2069 211, 1052, 0, 1052, 0, 0, 0, 0, 0, 0, 2070 1164, 1166, 1168, 0, 0, 0, 0, 0, 114, 0, 2071 0, 0, 0, 0, 909, 0, 0, 0, 0, 0, 2072 0, 0, 0, 1066, 256, 0, 0, 0, 0, 0, 2073 8, 9, 10, 11, 12, 0, 901, 0, 902, 0, 2074 39, 0, 178, 179, 42, 0, 905, 906, 0, 411, 2075 0, 911, 0, 43, 44, 337, 0, 0, 0, 0, 2076 0, 649, 33, 0, 0, 0, 209, 0, 921, 0, 2077 0, 0, 0, 925, 0, 0, 0, 0, 211, 1050, 2078 39, 409, 178, 179, 42, 0, 0, 47, 48, 0, 2079 36, 74, 599, 43, 44, 39, 0, 178, 179, 42, 2080 1051, 0, 0, 8, 9, 10, 11, 12, 43, 44, 2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 2082 300, 0, 510, 0, 0, 74, 0, 47, 48, 0, 2083 0, 114, 0, 0, 600, 33, 601, 0, 0, 1052, 2084 573, 573, 47, 48, 0, 0, 0, 510, 0, 0, 2085 0, 0, 632, 0, 0, 0, 0, 114, 0, 0, 2086 218, 0, 1000, 36, 0, 0, 0, 0, 39, 0, 2087 178, 179, 42, 0, 0, 0, 0, 510, 0, 0, 2088 0, 43, 44, 39, 0, 178, 179, 42, 1207, 0, 2089 985, 0, 986, 987, 988, 0, 43, 44, 632, 632, 2090 0, 0, 0, 0, 0, 0, 0, 1050, 0, 409, 2091 300, 1039, 0, 0, 0, 47, 48, 0, 0, 0, 2092 0, 0, 255, 0, 0, 0, 0, 1045, 173, 0, 2093 47, 48, 0, 0, 874, 0, 0, 0, 878, 0, 2094 0, 1052, 0, 0, 0, 346, 0, 173, 211, 0, 2095 1072, 0, 114, 0, 0, 0, 0, 0, 0, 0, 2096 173, 0, 0, 0, 8, 9, 10, 11, 12, 0, 2097 0, 0, 0, 0, 0, 0, 0, 0, 1264, 8, 2098 9, 10, 11, 12, 1094, 0, 0, 0, 0, 1104, 2099 261, 114, 0, 0, 1107, 0, 33, 0, 0, 1112, 2100 1113, 0, 0, 0, 1115, 0, 1116, 1117, 0, 0, 2101 1120, 33, 0, 0, 256, 0, 0, 446, 0, 1135, 2102 0, 0, 0, 0, 36, 632, 0, 0, 0, 39, 2103 66, 118, 74, 42, 0, 1149, 1150, 74, 0, 36, 2104 261, 0, 43, 44, 39, 0, 178, 179, 42, 0, 2105 510, 0, 0, 0, 0, 114, 573, 43, 44, 0, 2106 0, 0, 510, 0, 66, 1415, 0, 1178, 713, 0, 2107 1180, 0, 0, 114, 0, 0, 47, 48, 0, 0, 2108 114, 157, 114, 1505, 114, 409, 0, 0, 0, 0, 2109 0, 47, 48, 0, 0, 0, 0, 0, 0, 217, 2110 0, 510, 0, 533, 534, 535, 536, 537, 538, 539, 2111 540, 541, 542, 543, 0, 0, 1506, 261, 0, 0, 2112 0, 0, 114, 1213, 114, 0, 0, 0, 591, 1217, 2113 1218, 0, 0, 0, 218, 0, 249, 544, 1225, 0, 2114 114, 0, 0, 1232, 0, 0, 1506, 1506, 1236, 0, 2115 209, 510, 0, 0, 591, 0, 0, 0, 591, 0, 2116 0, 1244, 0, 300, 0, 0, 0, 0, 0, 173, 2117 0, 0, 0, 0, 0, 322, 1506, 1251, 0, 1253, 2118 1254, 1255, 1256, 249, 342, 8, 9, 10, 11, 12, 2119 0, 0, 0, 0, 1263, 0, 1149, 0, 0, 0, 2120 209, 0, 0, 0, 0, 0, 0, 74, 0, 0, 2121 0, 402, 0, 0, 0, 0, 0, 33, 0, 0, 2122 0, 346, 0, 0, 0, 1110, 74, 422, 1292, 1293, 2123 427, 429, 0, 0, 74, 157, 0, 0, 0, 0, 2124 0, 1123, 0, 0, 0, 36, 0, 510, 510, 0, 2125 39, 346, 178, 179, 42, 0, 445, 0, 0, 0, 2126 448, 218, 449, 43, 44, 455, 0, 0, 0, 0, 2127 346, 66, 74, 0, 0, 0, 469, 209, 0, 0, 2128 0, 0, 0, 0, 0, 0, 477, 0, 0, 180, 2129 0, 0, 1328, 1329, 429, 0, 0, 47, 48, 0, 2130 0, 0, 1339, 0, 0, 0, 0, 0, 173, 0, 2131 0, 173, 173, 173, 0, 346, 0, 0, 0, 0, 2173 75, 0, 343, 0, 0, 0, 0, 0, 0, 0, 2174 0, 0, 0, 0, 347, 0, 0, 0, 0, 75, 2175 0, 693, 0, 0, 0, 0, 0, 75, 0, 351, 2176 0, 0, 470, 0, 0, 0, 0, 0, 0, 0, 2177 0, 0, 0, 0, 347, 0, 470, 0, 0, 0, 2178 343, 0, 0, 0, 219, 0, 0, 0, 0, 914, 2179 0, 0, 430, 347, 0, 75, 10, 11, 12, 13, 2180 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2181 24, 25, 26, 27, 28, 29, 30, 31, 708, 0, 2182 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, 2183 37, 0, 0, 0, 0, 0, 0, 0, 347, 0, 2184 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 2185 0, 80, 0, 0, 693, 0, 0, 0, 0, 0, 2186 112, 0, 41, 42, 693, 693, 0, 0, 635, 0, 2187 0, 966, 0, 44, 45, 0, 693, 0, 0, 0, 2188 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 2132 2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2133 411, 0, 211, 0, 0, 0, 0, 0, 0, 0, 2190 592, 347, 0, 0, 202, 203, 3, 4, 5, 6, 2191 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2192 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2193 27, 28, 29, 30, 31, 0, 592, 32, 33, 34, 2194 67, 0, 594, 0, 0, 0, 592, 37, 221, 0, 2195 0, 0, 592, 0, 0, 347, 347, 0, 0, 0, 2196 0, 0, 0, 0, 796, 0, 0, 0, 594, 0, 2197 0, 347, 594, 0, 0, 0, 0, 0, 0, 204, 2198 42, 0, 0, 0, 1074, 0, 0, 0, 0, 0, 2199 347, 0, 0, 0, 0, 0, 0, 430, 119, 0, 2200 0, 75, 0, 0, 0, 708, 0, 0, 0, 0, 2201 0, 0, 0, 0, 0, 75, 0, 0, 205, 347, 2202 0, 80, 0, 0, 48, 49, 0, 0, 0, 0, 2203 0, 0, 0, 0, 0, 351, 0, 591, 0, 0, 2204 80, 0, 0, 0, 0, 0, 0, 0, 80, 0, 2205 428, 0, 0, 0, 0, 693, 693, 347, 343, 343, 2206 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 2207 0, 0, 0, 0, 0, 221, 67, 0, 0, 0, 2208 0, 0, 0, 0, 351, 0, 80, 0, 0, 0, 2209 0, 0, 0, 347, 0, 0, 0, 0, 88, 0, 2210 0, 0, 0, 347, 347, 0, 0, 592, 0, 0, 2211 219, 0, 0, 0, 0, 347, 693, 693, 0, 0, 2212 0, 0, 0, 0, 0, 0, 0, 1199, 0, 351, 2213 0, 0, 0, 0, -542, 0, 88, 1, 2, 3, 2214 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2215 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2216 24, 25, 26, 27, 28, 29, 30, 31, 222, 0, 2217 32, 33, 34, 35, 0, 0, 0, 36, 0, 75, 2218 37, 38, 0, 0, 0, 0, 0, 0, 0, 708, 2219 0, 594, 351, 0, 0, 0, 0, 0, 0, 0, 2220 0, 0, 0, 347, 0, 39, 0, 0, 0, 0, 2221 40, 0, 41, 42, 43, 0, 0, 0, 0, 0, 2222 0, 0, 0, 44, 45, 0, 0, 594, 0, 0, 2223 0, 0, 0, 0, 0, 0, 0, 594, 0, 0, 2224 0, 0, 0, 594, 347, 0, 351, 351, 0, 46, 2225 0, 47, 0, 363, 67, 0, 0, 48, 49, 0, 2226 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 2227 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 2228 0, 351, 0, 0, 693, 0, 708, 0, 0, 0, 2229 0, 119, 80, 0, 347, 347, 0, 347, 347, 0, 2230 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 2231 351, 0, 0, 693, 0, 75, 0, 0, 0, 0, 2232 0, 693, 693, 693, 0, 0, 0, 0, 0, 0, 2233 0, 0, 343, 343, 0, 0, 0, 0, 0, 0, 2234 88, 0, 0, 0, 1350, 88, 0, 0, 351, 0, 2235 0, 0, 0, 0, 0, 347, 347, 10, 11, 12, 2236 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2237 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2238 0, 32, 33, 34, 351, 0, 119, 0, 0, 0, 2239 0, 37, 0, 0, 351, 351, 0, 0, 594, 0, 2240 0, 221, 0, 0, 0, 0, 351, 0, 0, 0, 2134 2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2135 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 2136 11, 12, 249, 0, 0, 0, 1378, 590, 1379, 1380, 2137 1381, 0, 0, 625, 0, 0, 0, 591, 346, 0, 2138 1385, 0, 211, 0, 0, 0, 0, 0, 1396, 33, 2139 0, 169, 0, 634, 0, 0, 0, 634, 0, 0, 2242 0, 0, 0, 204, 42, 1400, 0, 0, 347, 0, 2243 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, 2244 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 2246 0, 0, 595, 0, 0, 0, 595, 0, 48, 49, 2247 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2248 0, 0, 0, 0, 0, 0, 0, 0, 693, 119, 2249 0, 0, 0, 75, 351, 0, 0, 0, 0, 0, 2250 0, 0, 0, 0, 0, 0, 0, 1350, 0, 0, 2251 0, 0, 0, 0, 1350, 88, 1477, 0, 1477, 0, 2252 0, 0, 0, 347, 0, 347, 0, 0, 0, 363, 2253 0, 0, 0, 0, 88, 351, 0, 0, 0, 0, 2254 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 2255 0, 0, 347, 0, 0, 0, 1477, 0, 1477, 363, 2256 347, 347, 347, 0, 0, 0, 0, 594, 0, 222, 2257 0, 347, 347, 0, 1350, 0, 0, 0, 363, 0, 2258 88, 1536, 0, 75, 0, 351, 351, 0, 351, 351, 2259 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 2261 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 2262 0, 0, 0, 363, 10, 11, 12, 13, 14, 15, 2263 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2264 26, 27, 28, 29, 30, 31, 351, 351, 32, 33, 2265 34, 0, 0, 0, 509, 0, 511, 514, 37, 163, 2266 0, 0, 0, 263, 219, 517, 518, 0, 0, 0, 2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 2268 511, 0, 0, 0, 0, 595, 363, 0, 0, 163, 2269 41, 42, 0, 0, 0, 0, 0, 0, 347, 369, 2270 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 2271 0, 0, 0, 0, 0, 0, 511, 0, 0, 351, 2272 0, 595, 0, 0, 0, 0, 0, 347, 0, 248, 2273 0, 595, 0, 0, 0, 48, 49, 595, 0, 0, 2274 363, 363, 0, 0, 0, 0, 75, 0, 0, 0, 2275 163, 0, 0, 75, 0, 592, 363, 592, 511, 0, 2276 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 2277 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 2278 0, 0, 0, 0, 80, 0, 88, 0, 0, 0, 2279 0, 0, 0, 0, 0, 592, 0, 592, 0, 374, 2280 88, 0, 0, 0, 363, 0, 163, 0, 0, 0, 2281 0, 0, 0, 75, 351, 0, 351, 0, 0, 0, 2140 2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141 0, 0, 0, 591, 0, 0, 0, 36, 1418, 0, 2142 0, 0, 39, 591, 178, 179, 42, 0, 0, 591, 2143 0, 0, 346, 346, 0, 43, 44, 0, 0, 0, 2144 0, 0, 0, 0, 0, 0, 469, 79, 346, 0, 2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 2146 342, 255, 1459, 1460, 0, 469, 411, 346, 0, 47, 2147 48, 0, 0, 469, 0, 1465, 0, 0, 74, 0, 2148 0, 79, 1465, 173, 0, 0, 0, 0, 510, 0, 2149 692, 0, 74, 429, 0, 0, 346, 0, 0, 1490, 2150 702, 0, 0, 0, 0, 0, 0, 0, 0, 707, 2151 0, 66, 0, 0, 0, 0, 220, 1504, 0, 0, 2152 0, 0, 1510, 429, 0, 0, 0, 429, 0, 0, 2153 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 2283 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 2284 0, 0, 363, 351, 0, 163, 0, 0, 0, 0, 2285 0, 351, 351, 351, 0, 208, 0, 0, 0, 0, 2286 0, 0, 351, 351, 228, 0, 232, 0, 234, 0, 2287 0, 0, 0, 0, 80, 0, 237, 0, 363, 0, 2288 0, 0, 598, 0, 0, 0, 0, 625, 363, 363, 2289 0, 0, 595, 0, 0, 222, 0, 0, 0, 0, 2290 363, 0, 0, 0, 0, 0, 0, 208, 0, 232, 2291 234, 237, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 0, 0, 511, 511, 511, 2293 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 2294 511, 511, 511, 511, 511, 0, 208, 0, 0, 0, 2295 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 2296 0, 0, 0, 0, 88, 0, 0, 0, 0, 163, 2297 163, 0, 0, 0, 0, 369, 0, 0, 0, 0, 2298 0, 0, 0, 0, 0, 0, 0, 0, 363, 351, 2299 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 2300 0, 0, 0, 0, 0, 0, 208, 0, 232, 234, 2301 237, 0, 0, 0, 0, 0, 0, 0, 351, 0, 2302 0, 0, 0, 0, 711, 0, 0, 0, 0, 363, 2303 0, 0, 0, 0, 0, 0, 0, 80, 208, 0, 2304 163, 0, 0, 208, 80, 0, 594, 0, 594, 0, 2305 0, 0, 524, 0, 524, 0, 0, 524, 0, 163, 2306 524, 595, 0, 0, 0, 0, 0, 0, 0, 369, 2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 2308 363, 0, 363, 363, 0, 0, 594, 0, 594, 0, 2154 2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155 510, 0, 0, 0, 342, 1537, 0, 1538, 0, 0, 2156 0, 0, 510, 510, 0, 0, 0, 0, 0, 1368, 2157 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158 346, 346, 0, 0, 591, 0, 510, 218, 0, 0, 2159 0, 0, 346, 0, 173, 1563, 1564, 0, 783, 0, 2160 0, 350, 0, 0, 0, 0, 0, 0, 1571, 1572, 2161 0, 0, 0, 0, 0, 0, 634, 795, 0, 0, 2310 88, 511, 0, 0, 80, 0, 0, 0, 0, 0, 2311 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 2312 163, 0, 0, 0, 0, 0, 511, 0, 0, 0, 2313 0, 208, 369, 0, 0, 799, 0, 629, 0, 234, 2314 363, 363, 0, 0, 0, 0, 0, 0, 0, 0, 2315 0, 237, 0, 0, 0, 0, 511, 0, 0, 0, 2316 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, 2317 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, 2318 0, 0, 0, 0, 0, 0, 369, 369, 0, 0, 2319 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 2320 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 2321 0, 208, 0, 363, 0, 0, 208, 0, 208, 0, 2162 2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2163 0, 0, 0, 813, 0, 0, 0, 0, 0, 0, 2164 0, 0, 0, 0, 0, 173, 0, 0, 173, 0, 2165 0, 0, 590, 0, 0, 0, 74, 837, 510, 0, 2166 0, 0, 590, 0, 0, 0, 0, 0, 634, 0, 2167 0, 342, 342, 0, 0, 0, 173, 0, 0, 0, 2168 346, 0, 0, 0, 0, 0, 0, 342, 79, 0, 2169 0, 0, 0, 79, 275, 276, 173, 277, 0, 0, 2170 0, 173, 0, 0, 0, 0, 692, 0, 0, 0, 2171 0, 0, 0, 0, 0, 0, 0, 469, 0, 0, 2172 0, 346, 0, 278, 0, 0, 0, 0, 0, 279, 2173 173, 469, 0, 280, 0, 342, 281, 282, 272, 283, 2174 284, 285, 43, 44, 913, 286, 287, 429, 0, 0, 2175 0, 0, 0, 591, 0, 0, 0, 0, 0, 0, 2176 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2177 377, 346, 346, 707, 346, 346, 47, 48, 290, 291, 2178 292, 293, 0, 0, 593, 0, 0, 0, 0, 777, 2179 220, 0, 74, 0, 0, 0, 0, 0, 0, 0, 2180 173, 0, 0, 0, 0, 173, 0, 0, 0, 692, 2181 593, 0, 0, 0, 593, 0, 0, 0, 0, 692, 2182 692, 0, 0, 634, 0, 0, 965, 0, 173, 0, 2183 173, 692, 346, 346, 173, 0, 0, 173, 0, 0, 2184 0, 976, 0, 0, 0, 0, 0, 0, 0, 0, 2185 173, 0, 0, 0, 173, 0, 0, 0, 0, 0, 2186 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2187 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 2188 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 2189 79, 0, 0, 0, 0, 66, 0, 0, 275, 276, 2190 0, 277, 0, 0, 0, 346, 0, 350, 0, 0, 2191 0, 0, 0, 0, 0, 0, 0, 220, 0, 795, 2192 0, 0, 87, 0, 0, 0, 350, 278, 79, 0, 2193 0, 0, 0, 645, 0, 138, 139, 280, 0, 1073, 2194 281, 282, 272, 283, 284, 285, 43, 44, 0, 286, 2195 287, 0, 429, 118, 0, 0, 87, 0, 0, 0, 2196 707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2197 74, 350, 288, 0, 646, 0, 647, 378, 0, 0, 2198 47, 48, 290, 291, 292, 293, 0, 0, 0, 0, 2199 0, 221, 590, 0, 0, 0, 0, 0, 0, 0, 2200 346, 0, 346, 0, 0, 427, 0, 0, 0, 0, 2201 692, 692, 0, 342, 342, 0, 0, 0, 0, 0, 2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 2203 0, 66, 0, 593, 350, 0, 0, 346, 346, 346, 2204 0, 0, 0, 0, 0, 0, 0, 0, 346, 346, 2323 0, 0, 0, 0, 208, 524, 0, 208, 208, 0, 2324 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 2325 369, 0, 911, 0, 0, 0, 0, 0, 208, 0, 2326 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 2327 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 2328 0, 0, 276, 277, 0, 278, 0, 0, 711, 0, 2205 2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206 74, 0, 0, 0, 0, 0, 0, 0, 0, 593, 2207 0, 692, 692, 0, 0, 0, 362, 0, 0, 593, 2208 0, 0, 1198, 0, 0, 593, 0, 0, 350, 350, 2330 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 2331 363, 279, 0, 0, 280, 0, 0, 0, 281, 0, 2332 0, 282, 283, 273, 284, 285, 286, 44, 45, 511, 2333 287, 288, 0, 0, 0, 0, 0, 363, 0, 0, 2334 625, 511, 0, 0, 0, 363, 363, 363, 0, 0, 2335 0, 0, 0, 289, 0, 378, 363, 363, 379, 0, 2336 0, 48, 49, 291, 292, 293, 294, 0, 88, 0, 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 2338 511, 629, 234, 237, 0, 0, 0, 0, 0, 0, 2209 2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2210 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 2340 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2341 0, 0, 0, 0, 208, 629, 0, 0, 0, 0, 2342 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 2343 511, 0, 0, 0, 369, 0, 0, 0, 0, 524, 2344 0, 0, 0, 0, 0, 0, 242, 0, 0, 222, 2345 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 2347 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 2348 0, 208, 0, 363, 0, 0, 0, 0, 0, 0, 2349 0, 208, 0, 0, 0, 0, 208, 0, 0, 0, 2350 0, 0, 333, 364, 0, 0, 0, 598, 0, 0, 2351 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 2352 0, 0, 385, 0, 0, 0, 511, 511, 369, 369, 2353 0, 88, 0, 0, 413, 0, 0, 0, 88, 0, 2354 595, 413, 595, 0, 417, 0, 0, 0, 0, 0, 2355 0, 0, 0, 0, 0, 0, 0, 0, 431, 0, 2356 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 2357 0, 0, 208, 0, 0, 0, 0, 444, 0, 0, 2358 595, 0, 595, 0, 208, 0, 0, 0, 0, 276, 2359 277, 0, 278, 0, 0, 0, 461, 0, 88, 0, 2360 0, 472, 208, 0, 0, 0, 0, 413, 0, 0, 2361 0, 0, 524, 0, 480, 0, 0, 0, 279, 0, 2362 0, 280, 494, 0, 498, 281, 208, 0, 282, 283, 2363 273, 284, 285, 286, 44, 45, 0, 287, 288, 0, 2364 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 711, 2366 289, 0, 378, 0, 0, 413, 0, 749, 48, 49, 2367 291, 292, 293, 294, 413, 579, 0, 413, 582, 0, 2368 0, 0, 0, 0, 583, 0, 364, 0, 0, 588, 2369 615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 2371 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, 2372 0, 0, 0, 0, 642, 0, 0, 0, 643, 644, 2373 0, 645, 0, 0, 0, 524, 0, 0, 656, 657, 2374 0, 658, 659, 413, 660, 0, 661, 413, 0, 0, 2375 0, 0, 0, 0, 208, 0, 711, 0, 0, 0, 2376 0, 0, 0, 583, 0, 208, 0, 511, 0, 0, 2377 0, 677, 0, 0, 0, 0, 0, 0, 0, 364, 2211 2378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2212 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 2213 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 2214 0, 218, 0, 0, 707, 0, 0, 0, 79, 0, 2215 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 2216 0, 0, 0, 87, 0, 0, 0, 0, 87, 0, 2217 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 2379 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 2380 0, 0, 369, 369, 0, 0, 0, 276, 277, 0, 2381 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2382 702, 0, 0, 0, 0, 413, 0, 706, 364, 511, 2383 0, 0, 461, 0, 0, 0, 279, 0, 0, 280, 2384 0, 511, 511, 281, 0, 0, 282, 283, 273, 284, 2385 285, 286, 44, 45, 0, 287, 288, 0, 0, 0, 2386 0, 0, 208, 0, 0, 511, 0, 0, 0, 0, 2387 0, 0, 744, 364, 0, 0, 0, 0, 289, 0, 2388 378, 0, 0, 938, 755, 0, 48, 49, 291, 292, 2389 293, 294, 0, 0, 215, 0, 0, 0, 0, 0, 2218 2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2220 0, 0, 0, 0, 346, 0, 0, 0, 0, 66, 2391 0, 0, 0, 0, 0, 0, 413, 413, 0, 0, 2392 0, 780, 0, 0, 0, 0, 0, 0, 0, 369, 2393 790, 0, 0, 791, 0, 794, 364, 511, 0, 0, 2394 0, 0, 0, 0, 215, 0, 0, 0, 0, 615, 2395 0, 0, 615, 615, 0, 812, 0, 0, 0, 615, 2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 833, 2397 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 2398 353, 364, 0, 0, 0, 0, 524, 208, 524, 0, 2399 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 2400 855, 0, 0, 0, 276, 277, 364, 278, 0, 0, 2401 413, 876, 0, 0, 413, 880, 0, 0, 0, 0, 2402 0, 374, 0, 883, 0, 0, 524, 0, 524, 0, 2403 0, 0, 0, 279, 0, 0, 280, 890, 0, 0, 2404 281, 0, 0, 282, 283, 273, 284, 285, 286, 44, 2405 45, 0, 287, 288, 364, 615, 0, 0, 0, 0, 2406 0, 0, 0, 0, 0, 242, 0, 163, 0, 0, 2407 0, 0, 0, 0, 0, 289, 0, 378, 0, 0, 2408 923, 924, 0, 48, 49, 291, 292, 293, 294, 0, 2409 931, 0, 364, 0, 0, 0, 0, 0, 0, 0, 2410 0, 0, 0, 0, 944, 0, 0, 0, 0, 948, 2221 2411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2222 0, 0, 0, 74, 0, 0, 350, 0, 0, 0, 2223 74, 0, 591, 0, 591, 0, 350, 350, 0, 692, 2224 593, 707, 0, 220, 0, 0, 118, 0, 350, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 2226 0, 0, 0, 0, 0, 221, 0, 0, 692, 0, 2227 0, 0, 591, 0, 591, 0, 692, 692, 692, 0, 2228 0, 0, 0, 0, 0, 594, 0, 342, 342, 594, 2229 74, 0, 0, 0, 0, 0, 0, 0, 0, 1349, 2412 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2413 339, 0, 413, 0, 0, 0, 0, 0, 208, 0, 2414 0, 381, 381, 0, 0, 0, 0, 0, 0, 615, 2415 0, 615, 0, 0, 0, 0, 0, 0, 0, 0, 2416 0, 0, 615, 353, 0, 0, 0, 0, 353, 353, 2417 0, 981, 0, 0, 0, 0, 0, 0, 982, 0, 2418 0, 0, 0, 0, 0, 0, 0, 0, 208, 353, 2419 0, 0, 0, 353, 984, 0, 985, 0, 0, 0, 2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 995, 2421 0, 0, 0, 0, 0, 999, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 1042, 0, 0, 476, 2423 1043, 0, 0, 0, 0, 0, 0, 0, 364, 0, 2424 0, 0, 0, 0, 0, 413, 0, 0, 0, 0, 2425 0, 0, 0, 0, 0, 0, 353, 615, 615, 0, 2426 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 2427 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 2428 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2230 2429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2231 0, 0, 79, 0, 0, 8, 9, 10, 11, 12, 2232 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2233 23, 24, 25, 26, 27, 0, 350, 0, 87, 0, 2234 0, 118, 0, 0, 0, 0, 0, 33, 0, 0, 2235 0, 0, 362, 0, 0, 0, 0, 87, 0, 0, 2236 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 2237 0, 162, 0, 275, 276, 36, 277, 350, 0, 0, 2238 1399, 0, 362, 0, 0, 0, 214, 0, 0, 0, 2239 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 2240 0, 362, 278, 87, 0, 0, 0, 0, 279, 593, 2241 0, 0, 280, 0, 342, 281, 282, 272, 283, 284, 2242 285, 43, 44, 0, 286, 287, 0, 350, 350, 127, 2243 350, 350, 0, 0, 162, 0, 0, 0, 262, 0, 2244 0, 0, 0, 692, 118, 0, 362, 288, 79, 377, 2245 0, 0, 378, 0, 0, 47, 48, 290, 291, 292, 2246 293, 0, 1349, 0, 162, 0, 0, 0, 0, 1349, 2247 0, 1476, 0, 1476, 368, 0, 0, 373, 0, 0, 2248 0, 0, 0, 0, 127, 0, 0, 0, 350, 350, 2430 0, 413, 1112, 0, 0, 353, 0, 0, 0, 0, 2431 0, 364, 0, 0, 1115, 0, 0, 413, 1125, 0, 2432 615, 615, 1132, 0, 208, 0, 0, 0, 0, 0, 2433 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 2249 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2250 127, 0, 127, 0, 0, 0, 0, 0, 594, 362, 2251 0, 1476, 0, 1476, 0, 0, 0, 0, 0, 0, 2252 0, 0, 0, 0, 0, 162, 0, 267, 0, 1349, 2253 0, 0, 0, 0, 0, 0, 1535, 214, 0, 0, 2254 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, 2255 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, 2256 594, 350, 0, 362, 362, 0, 0, 0, 0, 0, 2257 0, 0, 0, 0, 373, 0, 0, 0, 0, 362, 2258 0, 162, 0, 0, 0, 0, 127, 0, 127, 127, 2259 0, 0, 0, 127, 0, 127, 127, 0, 362, 0, 2260 0, 0, 0, 0, 0, 0, 0, 0, 523, 87, 2435 353, 0, 0, 0, 381, 0, 0, 354, 10, 11, 2436 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2437 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 2438 0, 1180, 335, 33, 34, 0, 0, 0, 0, 0, 2439 0, 0, 37, 0, 0, 0, 0, 413, 0, 413, 2440 0, 413, 0, 0, 0, 0, 413, 0, 0, 0, 2441 0, 0, 353, 353, 0, 0, 353, 0, 0, 0, 2442 0, 0, 615, 1210, 204, 42, 0, 315, 1212, 0, 2443 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 2444 0, 0, 0, 0, 0, 0, 0, 705, 353, 0, 2445 0, 353, 0, 0, 0, 0, 0, 0, 353, 0, 2446 353, 0, 1239, 364, 353, 0, 0, 353, 353, 48, 2447 49, 0, 0, 0, 0, 1247, 0, 0, 0, 1248, 2448 0, 0, 1249, 353, 0, 0, 0, 0, 0, 0, 2449 741, 0, 0, 0, 0, 0, 0, 0, 1258, 1259, 2450 750, 0, 353, 0, 0, 741, 0, 0, 741, 0, 2451 0, 0, 0, 0, 0, 0, 1270, 0, 353, 0, 2452 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 2453 0, 353, 0, 353, 0, 0, 0, 0, 0, 0, 2454 354, 0, 413, 0, 0, 354, 354, 413, 0, 0, 2455 0, 788, 0, 0, 0, 0, 0, 0, 339, 0, 2456 364, 0, 0, 750, 0, 0, 354, 0, 0, 353, 2457 354, 0, 0, 0, 0, 0, 0, 0, 813, 0, 2458 0, 1316, 0, 0, 0, 0, 0, 0, 0, 0, 2261 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2262 162, 0, 0, 87, 0, 0, 79, 362, 0, 8,2263 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,2264 19, 20, 21, 22, 23, 24, 25, 26, 27, 0,2265 0, 28, 29, 30, 0, 0, 350, 597, 350, 127,2266 0, 33, 624, 0, 0, 362, 0, 0, 0, 0,2460 0, 0, 0, 0, 0, 353, 364, 364, 0, 0, 2461 0, 0, 0, 0, 0, 353, 353, 126, 0, 353, 2462 854, 353, 353, 0, 0, 0, 0, 353, 381, 0, 2463 0, 0, 0, 354, 0, 0, 0, 0, 0, 0, 2464 0, 0, 0, 0, 0, 413, 1370, 0, 0, 413, 2267 2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 0, 0, 0, 0, 0, 350, 0, 0, 0, 36, 2269 0, 0, 0, 350, 350, 350, 203, 41, 0, 0, 2270 0, 362, 0, 0, 350, 350, 0, 0, 0, 0, 2271 0, 362, 362, 0, 0, 594, 79, 0, 221, 0, 2272 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 2273 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 2274 0, 47, 48, 0, 162, 162, 0, 0, 0, 0, 2275 368, 0, 0, 0, 127, 0, 0, 0, 0, 0, 2466 1373, 0, 1374, 354, 0, 0, 0, 0, 0, 235, 2467 0, 0, 1377, 0, 1378, 0, 0, 0, 0, 0, 2468 0, 0, 354, 0, 0, 245, 0, 246, 0, 1385, 2276 2469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2277 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 2278 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 2279 0, 0, 0, 0, 0, 0, 0, 220, 0, 710, 2280 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 2281 0, 362, 0, 0, 0, 162, 0, 0, 0, 0, 2282 0, 0, 0, 0, 0, 0, 0, 523, 0, 523, 2283 0, 350, 523, 0, 162, 523, 0, 0, 0, 0, 2284 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 2285 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 2286 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 2288 0, 0, 0, 0, 594, 0, 79, 0, 593, 0, 2289 593, 0, 0, 0, 0, 162, 0, 0, 0, 0, 2290 0, 0, 362, 362, 0, 362, 362, 368, 0, 0, 2291 798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 87, 0, 0, 0, 0, 593, 0, 2293 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 597, 0, 207, 0, 79, 0, 0, 0, 2295 0, 0, 597, 227, 0, 231, 0, 233, 0, 0, 2296 0, 368, 368, 362, 362, 236, 0, 0, 0, 0, 2297 0, 0, 127, 127, 0, 0, 0, 368, 0, 0, 2470 0, 0, 0, 0, 0, 0, 0, 1404, 1406, 741, 2471 0, 0, 0, 0, 0, 353, 0, 0, 0, 750, 2472 1414, 937, 0, 0, 940, 1415, 0, 354, 1217, 0, 2473 947, 0, 0, 364, 355, 0, 0, 0, 0, 0, 2474 0, 0, 0, 0, 1433, 0, 0, 0, 128, 0, 2475 0, 0, 0, 0, 1440, 0, 353, 1442, 0, 1444, 2476 1446, 1448, 0, 0, 0, 0, 0, 0, 0, 0, 2477 0, 964, 965, 414, 415, 0, 0, 0, 419, 0, 2478 421, 422, 0, 0, 0, 0, 0, 339, 353, 354, 2479 354, 353, 0, 354, 0, 0, 0, 0, 0, 1482, 2480 128, 1484, 0, 0, 0, 0, 353, 353, 0, 353, 2481 353, 1217, 0, 0, 0, 0, 128, 0, 128, 0, 2482 0, 1500, 0, 0, 413, 354, 0, 0, 354, 0, 2483 993, 0, 0, 0, 381, 354, 0, 354, 0, 0, 2484 0, 354, 0, 268, 354, 354, 0, 0, 0, 0, 2485 0, 0, 0, 0, 413, 413, 0, 0, 0, 0, 2486 354, 0, 0, 0, 0, 339, 0, 353, 353, 0, 2487 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2488 0, 0, 0, 0, 413, 0, 0, 0, 0, 0, 2489 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, 2490 315, 0, 128, 0, 128, 128, 339, 0, 354, 128, 2491 354, 128, 128, 381, 0, 0, 0, 355, 940, 0, 2492 586, 741, 355, 355, 0, 0, 0, 0, 0, 0, 2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 2494 353, 1119, 0, 355, 0, 0, 354, 355, 0, 0, 2495 0, 0, 1137, 0, 0, 0, 0, 0, 0, 0, 2298 2496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2299 0, 0, 0, 0, 0, 0, 207, 0, 231, 233, 2300 236, 0, 0, 0, 0, 127, 0, 0, 127, 127, 2301 523, 127, 0, 127, 127, 0, 0, 0, 127, 127, 2302 0, 0, 0, 0, 0, 368, 0, 910, 0, 0, 2303 0, 0, 0, 0, 0, 207, 362, 0, 0, 0, 2497 0, 0, 381, 0, 1154, 128, 0, 0, 0, 0, 2498 0, 0, 354, 0, 0, 0, 0, 0, 0, 940, 2499 940, 671, 354, 354, 0, 0, 354, 0, 354, 354, 2500 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 2501 355, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2503 0, 0, 0, 0, 0, 353, 0, 353, 0, 0, 2504 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505 0, 128, 0, 0, 0, 0, 0, 276, 277, 355, 2506 278, 0, 0, 0, 353, 0, 0, 0, 0, 940, 2507 128, 0, 353, 353, 353, 0, 0, 0, 0, 0, 2508 0, 0, 0, 353, 353, 0, 279, 0, 0, 280, 2509 854, 0, 354, 281, 0, 0, 282, 283, 273, 284, 2510 285, 286, 44, 45, 355, 287, 288, 0, 1250, 1251, 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512 0, 0, 128, 0, 0, 0, 0, 0, 508, 0, 2513 378, 0, 0, 354, 0, 0, 48, 49, 291, 292, 2514 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 786, 787, 0, 2516 0, 0, 0, 0, 0, 354, 355, 355, 354, 0, 2517 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2518 0, 0, 0, 354, 354, 0, 354, 354, 0, 0, 2519 819, 0, 0, 822, 823, 0, 826, 0, 828, 829, 2520 0, 0, 355, 831, 832, 355, 0, 0, 0, 0, 2521 353, 0, 355, 0, 355, 0, 0, 0, 355, 0, 2522 0, 355, 355, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 0, 0, 0, 0, 355, 0, 353, 2524 0, 0, 0, 0, 354, 354, 0, 874, 0, 0, 2525 0, 878, 0, 0, 0, 0, 355, 0, 0, 1360, 2526 0, 0, 0, 741, 0, 0, 0, 353, 0, 353, 2527 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 2528 0, 0, 0, 0, 0, 355, 0, 355, 128, 128, 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 353, 0, 0, 0, 0, 353, 0, 353, 2531 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 2532 0, 128, 0, 355, 128, 128, 0, 128, 0, 128, 2533 128, 0, 0, 0, 128, 128, 0, 0, 0, 0, 2534 0, 0, 0, 0, 0, 976, 0, 0, 0, 0, 2535 0, 0, 10, 11, 12, 13, 14, 15, 16, 355, 2536 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 2537 355, 0, 0, 355, 0, 355, 355, 0, 128, 0, 2538 0, 355, 128, 0, 276, 277, 37, 278, 10, 11, 2539 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2540 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 2541 -307, 0, 354, 279, 354, 0, 280, 0, 0, 0, 2542 281, 0, 37, 282, 283, 273, 284, 285, 286, 44, 2543 45, 0, 287, 288, 0, 0, 0, 0, 0, 0, 2544 0, 354, 0, 0, 0, 0, 0, 0, 0, 354, 2545 354, 354, 0, 0, 0, 289, 0, 378, -307, 0, 2546 354, 354, 0, 337, 49, 291, 292, 293, 294, 355, 2547 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 2548 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2549 27, 28, 29, 30, 31, -308, 0, 0, 315, 0, 2550 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 2551 355, 0, 0, 0, 0, 10, 11, 12, 13, 14, 2552 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2553 25, 26, 27, 28, 29, 30, 31, 0, 1110, 32, 2554 33, 34, 355, -308, 0, 355, 0, 0, 0, 37, 2555 0, 0, 0, 0, 1123, 0, 0, 1127, 1130, 0, 2556 355, 355, 0, 355, 355, 0, 0, 0, 0, 0, 2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 2558 0, 41, 42, 43, 0, 0, 0, 354, 0, 0, 2559 0, 0, 44, 45, 10, 11, 12, 13, 14, 15, 2560 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2561 26, 27, 28, 29, 30, 31, 354, 0, 46, 0, 2562 47, 355, 355, 0, 0, 0, 48, 49, 37, 0, 2563 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2564 0, 0, 0, 0, 354, 0, 354, 0, 1206, 1207, 2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2568 0, 0, 0, 0, 354, 128, 354, 0, 128, 128, 2569 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 2570 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2572 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2573 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2574 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 2575 0, 0, 32, 33, 34, 35, 0, 0, 0, 36, 2576 0, 128, 37, 38, 0, 0, 0, 1291, 0, 0, 2577 0, 0, 0, 0, 128, 0, 0, 0, 0, 128, 2578 128, 0, 0, 0, 0, 0, 1301, 39, 0, 355, 2579 0, 355, 40, 0, 41, 42, 43, 0, 0, 0, 2580 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, 2581 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 2582 0, 0, 0, 0, 0, 0, 355, 355, 355, 0, 2583 0, 46, 0, 47, 0, 0, 128, 355, 355, 48, 2584 49, 0, 0, 0, 0, 1, 203, 3, 4, 5, 2585 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2586 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2587 26, 27, 28, 29, 30, 31, 0, 0, 32, 33, 2588 34, 35, 1368, 0, 0, 36, 276, 277, 37, 278, 2589 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 2590 0, 0, 0, 0, 276, 277, 0, 278, 0, 0, 2591 0, 0, 0, 0, 0, 279, 0, 128, 280, 0, 2592 41, 42, 281, 0, 0, 282, 283, 273, 284, 285, 2593 286, 44, 45, 279, 287, 288, 280, 0, 0, 0, 2594 281, 0, 0, 282, 283, 273, 284, 285, 286, 44, 2595 45, 0, 287, 288, 0, 0, 0, 289, 0, 290, 2596 0, 0, 0, 0, 355, 48, 49, 291, 292, 293, 2597 294, 0, 0, 0, 0, 513, 0, 378, 0, 0, 2598 -134, 0, 0, 48, 49, 291, 292, 293, 294, 0, 2599 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2601 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 2602 0, 355, 0, 355, 1, 203, 3, 4, 5, 6, 2603 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2604 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2605 27, 28, 29, 30, 31, 0, 355, 32, 33, 34, 2606 35, 355, 0, 355, 36, 276, 277, 37, 1002, 1003, 2607 0, 1004, 0, 0, 1005, 1006, 1007, 1008, 1009, 1010, 2608 1011, 1012, 0, 0, 0, 1013, 0, 0, 0, 1014, 2609 1015, 0, 1016, 0, 279, 0, 0, 1017, 0, 1018, 2610 1019, 1020, 0, 0, 282, 283, 273, 284, 285, 286, 2611 44, 45, 0, 287, 288, 0, 0, 0, 0, 0, 2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2613 0, 0, 0, 0, 0, 0, 289, 0, 290, 0, 2614 0, 169, 0, 0, 48, 49, 291, 292, 293, 294, 2615 0, 0, 0, 0, 1021, 0, 0, 0, 0, -134, 2616 1, 203, 3, 4, 5, 6, 7, 8, 9, 10, 2617 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2618 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2619 31, 0, 0, 32, 33, 34, 35, 0, 0, 0, 2620 36, 276, 277, 37, 278, 0, 0, 0, 0, 0, 2304 2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2305 2622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2306 0, 0, 127, 710, 0, 0, 127, 0, 0, 0, 2307 0, 0, 0, 0, 0, 0, 0, 975, 0, 0, 2308 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 2309 0, 0, 0, 0, 0, 207, 0, 231, 233, 236, 2310 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 2311 275, 276, 33, 277, 0, 624, 0, 0, 0, 0, 2312 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 2313 0, 362, 207, 362, 0, 0, 0, 0, 0, 278, 2314 36, 0, 0, 0, 0, 279, 0, 0, 0, 280, 2315 0, 0, 281, 282, 272, 283, 284, 285, 43, 44, 2316 362, 286, 287, 0, 0, 0, 0, 0, 362, 362, 2317 362, 0, 0, 0, 0, 0, 0, 0, 0, 362, 2318 362, 0, 0, 0, 288, 0, 377, 0, 0, 0, 2319 0, 87, 336, 48, 290, 291, 292, 293, 0, 0, 2320 207, 0, 0, 0, 0, 0, 0, 0, 0, 368, 2321 275, 276, 0, 277, 523, 0, 0, 0, 154, 0, 2322 207, 0, 0, 0, 0, 0, 628, 0, 233, 0, 2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 2324 236, 0, 0, 0, 162, 279, 0, 0, 0, 280, 2325 710, 0, 281, 282, 272, 283, 284, 285, 43, 44, 2326 0, 286, 287, 0, 241, 0, 0, 0, 0, 0, 2327 0, 0, 221, 0, 246, 0, 0, 0, 0, 0, 2328 207, 0, 597, 0, 288, 0, 377, 0, 0, 0, 2329 0, 748, 47, 48, 290, 291, 292, 293, 0, 0, 2330 207, 0, 0, 368, 368, 207, 362, 207, 0, 0, 2623 279, 0, 0, 280, 0, 41, 42, 281, 0, 0, 2624 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 2625 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2331 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 0, 207, 0, 0, 207, 207, 0, 0, 2333 0, 0, 0, 207, 0, 362, 0, 0, 0, 0, 2334 384, 0, 0, 0, 0, 0, 0, 207, 0, 0, 2335 0, 0, 0, 127, 87, 207, 0, 0, 0, 0, 2336 0, 87, 416, 594, 0, 594, 0, 0, 0, 127, 2337 0, 0, 127, 127, 0, 1133, 430, 0, 8, 9, 2338 10, 11, 12, 0, 0, 435, 0, 523, 0, 0, 2339 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 2340 0, 0, 0, 594, 0, 594, 0, 0, 275, 276, 2341 33, 277, 0, 0, 460, 0, 0, 0, 0, 471, 2342 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 2343 0, 0, 479, 0, 710, 0, 0, 278, 36, 0, 2344 493, 0, 497, 279, 0, 127, 0, 280, 0, 0, 2345 281, 282, 272, 283, 284, 285, 43, 44, 127, 286, 2346 287, 524, 0, 127, 127, 0, 0, 0, 207, 0, 2347 628, 233, 236, 0, 0, 0, 0, 0, 0, 0, 2348 0, 0, 288, 0, 377, 0, 0, 0, 0, 0, 2349 1134, 48, 290, 291, 292, 293, 0, 0, 0, 0, 2350 0, 0, 582, 207, 628, 0, 0, 587, 0, 0, 2351 523, 0, 207, 0, 0, 0, 0, 0, 0, 0, 2352 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 2354 0, 0, 641, 0, 0, 0, 642, 643, 0, 644, 2355 0, 0, 0, 0, 0, 0, 655, 656, 0, 657, 2356 658, 0, 659, 0, 660, 0, 0, 0, 0, 0, 2357 207, 0, 0, 275, 276, 0, 277, 368, 368, 0, 2358 207, 582, 127, 0, 0, 207, 0, 0, 0, 676, 2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2360 0, 127, 278, 0, 0, 0, 0, 0, 279, 0, 2361 0, 0, 280, 687, 0, 281, 282, 272, 283, 284, 2362 285, 43, 44, 0, 286, 287, 0, 0, 0, 0, 2363 0, 0, 332, 363, 0, 0, 0, 0, 701, 0, 2364 0, 0, 0, 0, 0, 705, 0, 288, 0, 377, 2365 460, 0, 937, 0, 0, 47, 48, 290, 291, 292, 2366 293, 207, 0, 0, 412, 0, 0, 0, 0, 214, 2367 0, 412, 0, 207, 0, 0, 0, 0, 0, 0, 2368 0, 0, 275, 276, 0, 277, 0, 0, 0, 0, 2369 743, 207, 0, 0, 0, 0, 0, 127, 0, 0, 2370 0, 0, 754, 0, 368, 0, 0, 0, 0, 0, 2371 0, 278, 0, 0, 0, 207, 0, 279, 0, 214, 2372 0, 280, 0, 0, 281, 282, 272, 283, 284, 285, 2373 43, 44, 0, 286, 287, 0, 0, 412, 0, 779, 2374 0, 275, 276, 0, 277, 0, 0, 0, 789, 0, 2375 0, 790, 0, 0, 0, 0, 288, 0, 377, 0, 2376 0, 523, 0, 523, 47, 48, 290, 291, 292, 293, 2377 278, 0, 0, 811, 0, 0, 279, 0, 0, 0, 2378 280, 0, 0, 281, 282, 272, 283, 284, 285, 43, 2379 44, 207, 286, 287, 0, 412, 373, 0, 0, 0, 2380 0, 523, 0, 523, 412, 578, 0, 412, 581, 0, 2381 0, 0, 0, 0, 0, 507, 363, 377, 854, 0, 2382 614, 0, 0, 47, 48, 290, 291, 292, 293, 0, 2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2384 0, 0, 162, 207, 0, 0, 638, 0, 0, 0, 2385 0, 0, 0, 0, 207, 889, 0, 0, 0, 0, 2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2387 0, 0, 0, 412, 0, 0, 0, 412, 0, 0, 2388 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 2389 314, 0, 0, 0, 0, 0, 0, 0, 922, 923, 2390 338, 0, 0, 0, 0, 0, 0, 0, 930, 363, 2391 0, 380, 380, 0, 0, 0, 0, 0, 0, 0, 2392 0, 0, 943, 0, 0, 0, 0, 947, 0, 0, 2627 0, 0, 289, 0, 290, 0, 0, 0, 0, 0, 2628 48, 49, 291, 292, 293, 294, 203, 3, 4, 5, 2629 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2630 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2631 26, 27, 28, 29, 30, 31, 0, 0, 335, 33, 2632 34, 0, 0, 0, 0, 0, 276, 277, 37, 278, 2393 2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2394 2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2395 0, 207, 0, 0, 0, 412, 0, 0, 363, 0, 2396 0, 1, 2, 202, 4, 5, 6, 7, 8, 9, 2635 0, 0, 0, 0, 0, 279, 0, 0, 280, 0, 2636 41, 42, 281, 0, 0, 282, 283, 273, 284, 285, 2637 286, 44, 45, 0, 287, 288, 0, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639 0, 0, 0, 0, 0, 0, 0, 289, 0, 336, 2640 0, 0, 0, 0, 749, 337, 49, 291, 292, 293, 2641 294, 203, 3, 4, 5, 6, 7, 8, 9, 10, 2642 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2643 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2644 31, 0, 0, 335, 33, 34, 0, 0, 0, 0, 2645 0, 276, 277, 37, 278, 0, 0, 0, 0, 0, 2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2648 279, 0, 0, 280, 0, 41, 42, 281, 0, 0, 2649 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 2650 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2652 0, 0, 289, 0, 336, 0, 0, 0, 0, 749, 2653 48, 49, 291, 292, 293, 294, 203, 3, 4, 5, 2654 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2655 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2656 26, 27, 28, 29, 30, 31, 0, 0, 335, 33, 2657 34, 0, 0, 0, 0, 0, 276, 277, 37, 278, 2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2660 0, 0, 0, 0, 0, 279, 0, 0, 280, 0, 2661 41, 42, 281, 0, 0, 282, 283, 273, 284, 285, 2662 286, 44, 45, 0, 287, 288, 0, 0, 0, 0, 2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2664 0, 0, 0, 0, 0, 0, 0, 289, 0, 336, 2665 0, 0, 0, 0, 0, 337, 49, 291, 292, 293, 2666 294, 203, 3, 4, 5, 6, 7, 8, 9, 10, 2667 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2668 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2669 31, 0, 0, 335, 33, 34, 0, 0, 0, 0, 2670 0, 276, 277, 37, 278, 0, 0, 0, 0, 0, 2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2673 279, 0, 0, 280, 0, 204, 42, 281, 0, 0, 2674 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 2675 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2677 0, 0, 289, 0, 961, 0, 0, 0, 0, 0, 2678 962, 49, 291, 292, 293, 294, 203, 3, 4, 5, 2679 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2680 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2681 26, 27, 28, 29, 30, 31, 0, 0, 335, 33, 2682 34, 0, 0, 0, 0, 0, 276, 277, 37, 278, 2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2685 0, 0, 0, 0, 0, 279, 0, 0, 280, 0, 2686 204, 42, 281, 0, 0, 282, 283, 273, 284, 285, 2687 286, 44, 45, 1134, 287, 288, 0, 0, 0, 0, 2688 10, 11, 12, 13, 14, 15, 16, 0, 0, 0, 2689 0, 276, 277, 0, 278, 0, 0, 289, 0, 378, 2690 0, 0, 0, 0, 0, 48, 49, 291, 292, 293, 2691 294, 0, 276, 277, 37, 278, 0, 0, 0, 0, 2692 279, 0, 0, 646, 0, 139, 140, 281, 0, 0, 2693 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 2694 288, 279, 0, 0, 280, 0, 0, 0, 281, 0, 2695 0, 282, 283, 273, 284, 285, 286, 44, 45, 0, 2696 287, 288, 289, 0, 647, 0, 648, 379, 0, 0, 2697 48, 49, 291, 292, 293, 294, 0, 0, 0, 0, 2698 0, 0, 0, 289, 0, 378, 0, 0, 0, 0, 2699 0, 1135, 49, 291, 292, 293, 294, 1, 2, 3, 2700 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2701 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2702 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 2703 32, 33, 34, 35, 0, 0, 0, 36, 0, 0, 2704 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2706 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 2707 40, 0, 41, 42, 43, 0, 0, 0, 0, 0, 2708 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 2711 0, 47, 0, 0, 0, -546, 0, 48, 49, 202, 2712 203, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2713 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2714 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 2715 0, 0, 32, 33, 34, 0, 0, 0, 0, 0, 2716 0, 0, 37, 10, 11, 12, 13, 14, 15, 16, 2717 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2718 27, 28, 29, 30, 31, 0, 0, 32, 33, 34, 2719 0, 0, 40, 0, 204, 42, 43, 37, 0, 0, 2720 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, 2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2723 42, 46, 0, 205, 0, 0, 0, 0, 0, 48, 2724 49, 1, 203, 3, 4, 5, 6, 7, 8, 9, 2397 2725 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2398 20, 21, 22, 23, 24, 25, 26, 27, -307, 980, 2399 28, 29, 30, 31, 0, 0, 981, 32, 0, 475, 2400 33, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2401 0, 0, 983, 0, 984, 0, 0, 0, 0, 0, 2402 0, 0, 0, 0, 0, 0, 0, 994, 36, 0, 2403 37, 0, 38, 998, 0, 40, 41, 0, 0, -307, 2404 0, 0, 0, 0, 1041, 0, 412, 412, 1042, 0, 2726 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2727 30, 31, -307, 0, 32, 33, 34, 35, 0, 0, 2728 0, 36, 0, 0, 37, 0, 0, 0, 0, 0, 2405 2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2406 0, 0, 0, 0, 0, 793, 363, 0, 0, 0,2407 0, 0, 0, 0, 46, 0, 207, 0, 0, 614,2408 47, 48, 614, 614, 0, 0, 0, 0, 0, 614,2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 832,2410 0, 363, 0, 0, 0, 0, 0, 0, 0, 0,2411 0, 363, 0, 0, 0, 0, 0, 0, 0, 0,2412 363, 363, 275, 276, 380, 277, 0, 0, 0, 0,2413 0, 0, 1114, 0, 0, 0, 363, 0, 0, 0,2414 412, 875, 0, 0, 412, 879, 0, 0, 0, 0,2415 0, 278, 0, 882, 0, 0, 0, 279, 0, 0,2416 0, 280, 0, 352, 281, 282, 272, 283, 284, 285,2417 43, 44, 0, 286, 287, 0, 0, 0, 0, 0,2418 0, 0, 0, 0, 363, 614, 0, 0, 0, 0,2419 0, 0, 0, 0, 0, 0, 512, 314, 377, 1179,2420 0, 0, 0, 0, 47, 48, 290, 291, 292, 293,2421 0, 0, 0, 0, 0, 0, 0, 704, 0, 0,2422 0, 0, 363, 0, 0, 0, 0, 207, 0, 0,2423 2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424 0, 1209, 0, 0, 0, 0, 1211, 0, 0, 0, 2425 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 2426 740, 0, 412, 0, 0, 0, 0, 0, 0, 0, 2427 749, 0, 0, 0, 0, 740, 0, 207, 740, 614, 2428 1238, 614, 0, 0, 0, 0, 0, 0, 0, 0, 2429 0, 758, 614, 1246, 0, 0, 0, 1247, 0, 0, 2430 1248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431 0, 0, 0, 0, 0, 0, 1257, 1258, 0, 0, 2432 0, 787, 0, 0, 0, 0, 0, 0, 338, 0, 2433 0, 0, 0, 749, 1269, 0, 0, 0, 0, 0, 2434 0, 0, 0, 0, 0, 0, 352, 0, 812, 0, 2435 0, 352, 352, 0, 207, 0, 0, 0, 0, 0, 2436 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 2437 0, 0, 352, 0, 0, 412, 352, 0, 0, 0, 2438 0, 0, 0, 0, 0, 0, 0, 614, 614, 0, 2439 853, 0, 0, 0, 0, 0, 0, 0, 380, 1315, 2440 0, 0, 353, 0, 0, 0, 0, 0, 0, 363, 2441 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2443 0, 412, 1111, 0, 0, 0, 0, 0, 0, 352, 2444 0, 363, 0, 0, 0, 0, 0, 412, 1124, 0, 2445 614, 614, 1131, 0, 0, 0, 0, 0, 0, 0, 2446 0, 0, 363, 363, 0, 0, 0, 0, 0, 352, 2447 0, 0, 0, 0, 0, 0, 0, 0, 1372, 740, 2448 1373, 0, 0, 0, 0, 0, 0, 0, 352, 749, 2449 1376, 936, 1377, 0, 939, 0, 0, 0, 0, 0, 2450 946, 0, 0, 0, 0, 0, 0, 1384, 0, 0, 2451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2452 0, 0, 0, 0, 0, 1403, 1405, 412, 0, 412, 2453 0, 412, 0, 352, 0, 0, 412, 0, 1413, 0, 2454 0, 963, 964, 1414, 0, 0, 1216, 0, 0, 0, 2455 0, 0, 614, 0, 0, 0, 0, 338, 0, 0, 2456 0, 0, 1432, 0, 0, 0, 0, 0, 0, 0, 2457 0, 0, 1439, 0, 0, 1441, 0, 1443, 1445, 1447, 2458 0, 0, 0, 0, 0, 353, 0, 0, 0, 0, 2459 353, 353, 0, 363, 0, 352, 352, 0, 0, 352, 2460 992, 0, 0, 0, 380, 0, 0, 0, 0, 0, 2461 0, 353, 0, 275, 276, 353, 277, 1481, 0, 1483, 2462 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 2463 0, 352, 0, 0, 352, 338, 0, 0, 0, 1499, 2464 0, 352, 278, 352, 0, 0, 0, 352, 279, 0, 2465 352, 352, 280, 0, 0, 281, 282, 272, 283, 284, 2466 285, 43, 44, 0, 286, 287, 352, 0, 0, 0, 2467 314, 0, 412, 0, 0, 0, 338, 412, 353, 0, 2468 0, 0, 0, 380, 0, 352, 0, 515, 939, 377, 2469 363, 740, 0, 0, 0, 47, 48, 290, 291, 292, 2470 293, 352, 0, 0, 0, 0, 0, 0, 353, 0, 2471 0, 1118, 0, 0, 352, 0, 352, 0, 0, 0, 2472 0, 0, 1136, 0, 0, 0, 0, 353, 0, 0, 2473 0, 0, 0, 0, 0, 0, 363, 363, 0, 0, 2474 0, 0, 380, 0, 1153, 0, 0, 0, 0, 0, 2475 0, 0, 352, 0, 0, 0, 0, 0, 0, 939, 2476 939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2477 125, 0, 353, 0, 0, 412, 1369, 0, 0, 412, 2478 0, 0, 0, 0, 0, 0, 1184, 0, 352, 0, 2479 0, 0, 0, 0, 354, 0, 0, 0, 352, 352, 2480 0, 0, 352, 0, 352, 352, 0, 0, 0, 0, 2481 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, 2483 0, 0, 0, 0, 353, 353, 0, 0, 353, 939, 2484 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 2485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2486 853, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2487 353, 0, 0, 353, 275, 276, 0, 277, 1249, 1250, 2488 353, 0, 353, 0, 0, 0, 353, 0, 0, 353, 2489 353, 0, 0, 0, 0, 0, 0, 0, 352, 0, 2490 0, 0, 0, 278, 0, 353, 0, 0, 0, 279, 2491 0, 0, 0, 280, 0, 0, 281, 282, 272, 283, 2492 284, 285, 43, 44, 353, 286, 287, 0, 0, 413, 2493 414, 0, 0, 0, 418, 0, 420, 421, 0, 352, 2494 353, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2495 377, 0, 0, 353, 412, 353, 703, 48, 290, 291, 2496 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2497 0, 352, 0, 0, 352, 0, 0, 354, 0, 0, 2498 0, 0, 354, 354, 412, 412, 0, 0, 0, 352, 2499 352, 353, 352, 352, 0, 0, 0, 0, 0, 0, 2500 0, 0, 0, 354, 0, 0, 0, 354, 0, 0, 2501 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 2502 0, 0, 0, 0, 0, 0, 0, 353, 0, 1359, 2503 0, 0, 0, 740, 0, 0, 0, 353, 353, 0, 2504 0, 353, 0, 353, 353, 0, 0, 0, 0, 353, 2505 352, 352, 0, 0, 0, 0, 0, 0, 0, 275, 2506 276, 0, 277, 0, 0, 0, 0, 0, 0, 0, 2507 354, 0, 0, 0, 0, 0, 585, 0, 0, 0, 2508 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 2509 0, 0, 0, 0, 279, 629, 0, 0, 280, 0, 2510 354, 281, 282, 272, 283, 284, 285, 43, 44, 0, 2511 286, 287, 0, 0, 0, 0, 0, 0, 0, 354, 2512 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 2513 0, 0, 0, 288, 0, 377, 0, 353, 0, 0, 2514 0, 336, 48, 290, 291, 292, 293, 670, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 2517 0, 0, 0, 0, 0, 0, 0, 0, 353, 0, 2518 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2519 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2520 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2521 353, 0, 0, 353, 33, 894, 0, 0, 352, 0, 2522 352, 0, 0, 0, 0, 0, 354, 354, 353, 353, 2523 354, 353, 353, 0, 0, 0, 0, 0, 0, 0, 2524 0, 0, 36, 0, 0, 0, 0, 352, 0, 40, 2525 41, 0, 0, 0, 0, 352, 352, 352, 0, 0, 2526 0, 0, 354, 0, 0, 354, 352, 352, 314, 0, 2527 0, 0, 354, 0, 354, 0, 0, 0, 354, 0, 2528 0, 354, 354, 0, 0, 0, 0, 0, 736, 353, 2529 353, 0, 895, 0, 47, 48, 0, 354, 0, 0, 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531 0, 0, 0, 785, 786, 0, 354, 0, 0, 0, 2532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2533 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 2534 0, 0, 0, 0, 0, 354, 818, 354, 0, 821, 2535 822, 0, 825, 0, 827, 828, 0, 0, 0, 830, 2536 831, 0, 353, 0, 0, 0, 0, 0, 0, 0, 2537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2538 0, 0, 0, 354, 0, 0, 0, 0, 0, 0, 2539 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 2540 0, 0, 0, 873, 0, 0, 0, 877, 0, 0, 2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2542 0, 0, 352, 0, 0, 0, 0, 0, 0, 354, 2543 354, 0, 0, 354, 0, 354, 354, 0, 0, 0, 2544 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 2545 352, 0, 352, 0, 0, 0, 0, 353, 0, 353, 2546 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2547 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2548 23, 24, 25, 26, 27, 352, 353, 28, 29, 30, 2549 352, 0, 352, 0, 353, 353, 353, 33, 0, 0, 2550 0, 0, 0, 0, 0, 353, 353, 0, 0, 0, 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2552 0, 0, 0, 0, 0, 36, 0, 0, 0, 354, 2553 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, 2554 -541, 0, 0, 1, 2, 3, 4, 5, 6, 7, 2731 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2732 -307, 0, 0, 1, 203, 3, 4, 5, 6, 7, 2555 2733 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2556 2734 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2557 354, 247, 28, 29, 30, 31, 0, 47, 48, 32,2558 0, 0, 33, 34, 0, 0, 0, 0, 0, 0,2735 28, 29, 30, 31, 0, 47, 32, 33, 34, 35, 2736 0, 48, 49, 36, 0, 0, 37, 0, 0, 0, 2559 2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 354, 0, 0, 354, 0, 35, 0, 0, 2561 36, 0, 37, 0, 38, 39, 0, 40, 41, 42, 2562 354, 354, 0, 354, 354, 0, 0, 0, 43, 44, 2563 0, 0, 353, 8, 9, 10, 11, 12, 13, 14, 2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2739 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 2740 203, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2741 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2742 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 2743 0, 0, 32, 33, 34, 0, 0, 47, 0, 0, 2744 0, 0, 37, 48, 49, 0, 0, 0, 0, 0, 2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2747 0, 0, 40, 0, 204, 42, 43, 0, 0, 0, 2748 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, 2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2751 0, 46, 0, 205, 0, 0, 0, 0, 0, 48, 2752 49, 203, 3, 4, 5, 6, 7, 8, 9, 10, 2753 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2754 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2755 31, 0, 0, 335, 33, 34, 0, 0, 0, 0, 2756 0, 0, 0, 37, 10, 11, 12, 13, 14, 15, 2757 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2758 26, 27, 28, 29, 30, 31, 0, 0, 32, 33, 2759 34, 483, 484, 485, 486, 41, 42, 0, 37, 0, 2760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 2762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2763 41, 42, 0, 0, 684, 0, 0, 0, 0, 0, 2764 48, 49, 203, 3, 4, 5, 6, 7, 8, 9, 2765 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2766 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2767 30, 31, 0, 0, 335, 33, 34, 0, 0, 0, 2768 0, 0, 0, 0, 37, 10, 11, 12, 13, 14, 2564 2769 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2565 25, 26, 27, -307, 45, 0, 46, 0, 0, 0,2566 0, 353, 47, 48, 0, 33, 0, 0, 0, 0,2770 25, 26, 27, 28, 29, 30, 31, 0, 0, 335, 2771 33, 34, 0, 0, 0, 0, 41, 42, 0, 37, 2567 2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 354, 354, 0, 0, 0, 0, 0, 0, 353,2569 0, 353, 0, 36, 1109, 0, 0, 0, 0, 0,2570 0, 0, 0, 0, -307, 0, 0, 0, 0, 0,2571 1122, 0, 0, 1126, 1129, 0, 0, 0, 0, 0,2572 0, 0, 0, 0, 353, 0, 0, 0, 0, 353,2573 0, 353, 0, 8, 9, 10, 11, 12, 13, 14,2574 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,2575 25, 26, 27, 0, 354, 334, 29, 30, 0, 0,2576 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,2577 2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 1188, 0, 0, 0, 2579 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 2580 203, 41, 0, 0, 1205, 1206, 0, 0, 1, 2, 2774 1339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2775 0, 41, 42, 0, 0, 684, 0, 0, 0, 0, 2776 0, 48, 49, 203, 3, 4, 5, 6, 7, 8, 2777 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2778 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 2779 29, 30, 31, 0, 0, 335, 33, 34, 0, 0, 2780 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2783 0, 0, 0, 0, 0, 0, 0, 204, 42, 203, 2581 2784 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2582 2785 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2583 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2584 31, 0, 0, 0, 32, 47, 48, 33, 34, 354, 2585 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 2586 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 2587 0, 0, 35, 0, 0, 36, 0, 37, 354, 38, 2588 39, 0, 40, 41, 42, 0, 354, 354, 354, 0, 2589 0, 0, 0, 43, 44, 0, 0, 354, 354, 0, 2786 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2787 0, 335, 33, 34, 0, 0, 261, 0, 0, 0, 2788 0, 37, 48, 49, 0, 0, 0, 0, 0, 0, 2590 2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,2592 0, 46, 0, 1290, 0, -545, 0, 47, 48, 0,2593 2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2594 0, 0, 1300, 0, 0, 0, 1, 2, 202, 4, 2791 0, 0, 0, 41, 42, 203, 3, 4, 5, 6, 2792 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2793 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2794 27, 28, 29, 30, 31, 0, 0, 32, 33, 34, 2795 0, 0, 684, 0, 0, 0, 0, 37, 48, 49, 2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 2799 42, 0, 0, 0, 0, 0, 464, 203, 3, 4, 2595 2800 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2596 2801 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2597 25, 26, 27, 0, 0, 28, 29, 30, 31, 0, 2598 0, 0, 32, 275, 276, 33, 1001, 1002, 0, 1003, 2599 0, 0, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 2600 0, 0, 0, 1012, 0, 0, 0, 1013, 1014, 0, 2601 1015, 0, 278, 36, 0, 37, 0, 38, 1016, 0, 2602 1017, 1018, 1019, 0, 354, 281, 282, 272, 283, 284, 2603 285, 43, 44, 0, 286, 287, 0, 0, 1367, 0, 2802 25, 26, 27, 28, 29, 30, 31, 0, 205, 32, 2803 33, 34, 0, 0, 48, 49, 0, 0, 0, 37, 2804 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 2805 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2806 27, 28, 29, 30, 31, 0, 0, 32, 33, 34, 2807 0, 41, 42, 0, 0, 276, 277, 37, 278, 0, 2604 2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605 0, 0, 0, 354, 0, 0, 0, 288, 0, 289, 2606 0, 0, 168, 0, 0, 47, 48, 290, 291, 292, 2607 293, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 2608 -134, 354, 0, 354, 0, 0, 0, 0, 1, 2, 2609 202, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2810 0, 0, 0, 0, 279, 0, 0, 280, 0, 41, 2811 42, 281, 0, -3, 282, 283, 273, 284, 285, 286, 2812 44, 45, 0, 287, 288, 0, 0, 0, 0, 0, 2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2814 0, 0, 0, 0, 0, 0, 289, 0, 519, 0, 2815 0, 169, 0, 0, 48, 49, 291, 292, 293, 294, 2816 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2817 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2818 30, 31, 0, 0, 32, 33, 34, 0, 0, 0, 2819 0, 0, 276, 277, 37, 278, 0, 0, 0, 0, 2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2822 0, 279, 0, 0, 280, 0, 41, 42, 281, 0, 2823 0, 282, 283, 273, 284, 285, 286, 44, 45, 0, 2824 287, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2826 0, 0, 0, 289, -40, 290, 0, 0, 0, 0, 2827 0, 48, 49, 291, 292, 293, 294, 10, 11, 12, 2610 2828 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2611 23, 24, 25, 26, 27, 0, 354, 28, 29, 30, 2612 31, 354, 0, 354, 32, 275, 276, 33, 277, 8, 2829 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2830 0, 32, 33, 34, 0, 0, 0, 0, 0, 276, 2831 277, 37, 278, 0, 0, 0, 0, 0, 0, 0, 2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2833 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 2834 0, 280, 0, 41, 42, 281, 0, 0, 282, 283, 2835 273, 284, 285, 286, 44, 45, 0, 287, 288, 0, 2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2838 289, 0, 290, 0, 0, 0, 0, 0, 48, 49, 2839 291, 292, 293, 294, 10, 11, 12, 13, 14, 15, 2840 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2841 26, 27, 28, 29, 30, 31, 0, 0, 335, 33, 2842 34, 0, 0, 0, 0, 0, 276, 277, 37, 278, 2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2845 0, 0, 0, 0, 0, 279, 0, 0, 280, 0, 2846 41, 42, 281, 0, 0, 282, 283, 273, 284, 285, 2847 286, 44, 45, 0, 287, 288, 0, 0, 0, 0, 2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2849 0, 0, 0, 0, 0, 0, 0, 289, 0, 336, 2850 0, 0, 0, 0, 0, 48, 49, 291, 292, 293, 2851 294, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2852 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 2853 29, 30, 31, 0, 0, 335, 33, 34, 0, 0, 2854 0, 0, 0, 276, 277, 37, 278, 0, 0, 0, 2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2857 0, 0, 279, 0, 0, 280, 0, 41, 42, 281, 2858 0, 0, 282, 283, 273, 284, 285, 286, 44, 45, 2859 0, 287, 288, 0, 0, 0, 0, 0, 0, 0, 2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2861 0, 0, 0, 0, 289, 0, 378, 0, 0, 0, 2862 0, 0, 48, 49, 291, 292, 293, 294, 203, 3, 2863 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2864 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2865 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 2866 335, 33, 34, 0, 0, 0, 0, 0, 0, 0, 2867 37, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2868 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 2869 29, 30, 31, 0, 0, 32, 33, 34, 0, 0, 2870 0, 0, 41, 42, 0, 37, 0, 0, 0, 0, 2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2873 0, 0, 0, 0, 0, 40, 0, 204, 42, 43, 2874 -440, 0, 0, 0, 0, 0, 0, 0, 44, 45, 2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2877 0, 0, 0, 0, 46, 0, 261, 0, 0, 0, 2878 0, 0, 48, 49, 10, 11, 12, 13, 14, 15, 2879 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2880 26, 27, 28, 29, 30, 31, 0, 0, 32, 33, 2881 34, 0, 0, 0, 0, 0, 0, 0, 37, 10, 2882 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2883 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2884 31, 0, 0, 32, 33, 34, 0, 0, 112, 0, 2885 41, 42, 0, 37, 895, 0, 0, 0, 0, 0, 2886 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2888 0, 0, 0, 0, 0, 41, 42, 0, 0, 47, 2889 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 2890 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2891 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 2892 29, 30, 31, 0, 737, 32, 33, 34, 896, 0, 2893 48, 49, 0, 0, 0, 37, 895, 10, 11, 12, 2894 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2895 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2896 0, 32, 33, 34, 0, 0, 0, 41, 42, 0, 2897 0, 37, 895, 10, 11, 12, 13, 14, 15, 16, 2898 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2899 27, 28, 29, 30, 31, 0, 0, 32, 33, 34, 2900 0, 0, 0, 41, 42, 0, 737, 37, 0, 0, 2901 1209, 0, 48, 49, 0, 0, 0, 0, 0, 0, 2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2904 42, 0, 737, 0, 0, 0, 1295, 0, 48, 49, 2905 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 2906 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2907 25, 26, 27, 28, 29, 30, 31, 0, 47, 32, 2908 33, 34, 0, 0, 48, 49, 0, 0, 0, 37, 2909 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2910 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2911 30, 31, 0, 0, 32, 33, 34, 0, 0, 0, 2912 0, 204, 42, 0, 37, 10, 11, 12, 13, 14, 2913 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2914 25, 26, 27, 28, 29, 30, 31, 0, 0, 335, 2915 33, 34, 0, 0, 0, 0, 41, 42, 0, 37, 2916 261, 0, 0, 0, 0, 0, 48, 49, 0, 0, 2917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919 0, 41, 42, 0, 0, 331, 0, 0, 0, 0, 2920 0, 48, 49, 0, 0, 0, 0, 10, 11, 12, 2921 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2922 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2923 248, 335, 33, 34, 0, 0, 48, 49, 0, 0, 2924 0, 37, 10, 11, 12, 13, 14, 15, 16, 17, 2925 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2926 28, 29, 30, 31, 0, 0, 32, 33, 34, 0, 2927 0, 0, 0, 41, 42, 0, 37, 10, 11, 12, 2928 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2929 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2930 0, 335, 33, 34, 0, 0, 0, 0, 41, 42, 2931 0, 37, 331, 0, 0, 0, 0, 0, 48, 49, 2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2934 0, 0, 0, 204, 42, 0, 0, 737, 0, 0, 2935 0, 0, 0, 48, 49, 0, 0, 0, 0, 10, 2936 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2937 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2938 31, 0, 261, 335, 33, 34, 0, 0, 48, 49, 2939 0, 0, 0, 37, 10, 11, 12, 13, 14, 15, 2940 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2941 26, 27, 28, 29, 30, 31, 0, 0, 335, 33, 2942 34, 0, 0, 0, 0, 41, 42, 0, 37, 10, 2943 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2944 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 2945 31, 0, 0, 32, 33, 34, 0, 0, 0, 0, 2946 41, 42, 0, 37, 684, 0, 0, 0, 0, 0, 2947 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 2948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2949 0, 0, 0, 0, 0, 204, 42, 0, 0, 737, 2950 0, 0, 0, 0, 0, 48, 49, 203, 3, 4, 2951 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2952 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2953 25, 26, 27, 28, 29, 30, 31, 0, 0, 335, 2954 33, 34, 0, 0, 276, 277, 0, 278, 1003, 37, 2955 1004, 0, 0, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 2956 1012, 0, 0, 1530, 1013, 0, 0, 0, 1014, 1015, 2957 0, 1016, 0, 279, 0, 0, 1017, 0, 172, 173, 2958 1020, 41, 42, 282, 283, 273, 284, 285, 286, 44, 2959 45, 0, 287, 288, 0, 0, 0, 0, 0, 0, 2960 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 2961 0, 0, 0, 0, 0, 289, 0, 378, 0, 0, 2962 169, 0, 0, 48, 49, 291, 292, 293, 294, 0, 2963 0, 276, 277, 1021, 278, 1003, 0, 1004, -134, 0, 2964 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 0, 0, 2965 0, 1013, 0, 0, 0, 1014, 1015, 0, 1016, 0, 2966 279, 0, 0, 1017, 0, 172, 173, 1020, 0, 0, 2967 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 2968 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2970 0, 0, 289, 0, 378, 0, 0, 169, 0, 0, 2971 48, 49, 291, 292, 293, 294, 0, 0, 0, 0, 2972 1021, 0, 0, 276, 277, -134, 278, 1003, 0, 1004, 2973 1389, 1390, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 2974 0, 0, 1530, 1013, 0, 0, 0, 1014, 1015, 0, 2975 1016, 0, 279, 0, 0, 1017, 0, 172, 173, 1020, 2976 0, 0, 282, 283, 273, 284, 285, 286, 44, 45, 2977 0, 287, 288, 0, 0, 0, 0, 0, 0, 0, 2978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2979 0, 0, 0, 0, 289, 0, 378, 0, 0, 169, 2980 0, 0, 48, 49, 291, 292, 293, 294, 0, 0, 2981 276, 277, 1021, 278, 1003, 0, 1004, 1389, 1390, 1005, 2982 1006, 1007, 1008, 1009, 1010, 1011, 1012, 0, 0, 0, 2983 1013, 0, 0, 0, 1014, 1015, 0, 1016, 0, 279, 2984 0, 0, 1017, 0, 172, 173, 1020, 0, 0, 282, 2985 283, 273, 284, 285, 286, 44, 45, 0, 287, 288, 2986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2988 0, 289, 0, 378, 0, 0, 169, 0, 0, 48, 2989 49, 291, 292, 293, 294, 0, 0, 276, 277, 1021, 2990 278, 1003, 0, 1004, 0, 0, 1005, 1006, 1007, 1008, 2991 1009, 1010, 1011, 1012, 0, 0, 0, 1013, 0, 0, 2992 0, 1014, 1015, 0, 1016, 0, 279, 0, 0, 1017, 2993 0, 172, 173, 1020, 0, 0, 282, 283, 273, 284, 2994 285, 286, 44, 45, 0, 287, 288, 0, 0, 0, 2995 0, 0, 0, 276, 277, 0, 278, 0, 0, 0, 2996 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 2997 378, 276, 277, 169, 278, 0, 48, 49, 291, 292, 2998 293, 294, 279, 0, 0, 280, 1021, 0, 0, 281, 2999 0, 0, 282, 283, 273, 284, 285, 286, 44, 45, 3000 279, 287, 288, 280, 0, 0, 0, 281, 0, 0, 3001 282, 283, 273, 284, 285, 286, 44, 45, 0, 287, 3002 288, 0, 0, 0, 516, 0, 378, 276, 277, 0, 3003 278, 0, 48, 49, 291, 292, 293, 294, 0, 0, 3004 0, 0, 289, 0, 378, 0, 0, 0, 0, 0, 3005 704, 49, 291, 292, 293, 294, 279, 0, 0, 280, 3006 0, 0, 0, 281, 0, 0, 282, 283, 273, 284, 3007 285, 286, 44, 45, 0, 287, 288, 0, 0, 0, 3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3009 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 3010 378, 0, 0, 0, 0, 0, 337, 49, 291, 292, 3011 293, 294, 202, 203, 3, 4, 5, 6, 7, 8, 2613 3012 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2614 19, 20, 21, 22, 23, 24, 25, 26, 27, -308, 2615 0, 0, 0, 0, 278, 36, 0, 37, 0, 38, 2616 279, 33, 40, 41, 280, 0, 0, 281, 282, 272, 2617 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2619 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 2620 -308, 289, 0, 0, 0, 0, 0, 47, 48, 290, 2621 291, 292, 293, 0, 0, 0, 0, 0, 0, 0, 2622 0, 0, -134, 1, 2, 202, 4, 5, 6, 7, 3013 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3014 29, 30, 31, 0, 0, 32, 33, 34, 0, 0, 3015 0, 0, 0, 0, 0, 37, 464, 203, 3, 4, 3016 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3017 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3018 25, 26, 27, 28, 29, 30, 31, 204, 42, 32, 3019 33, 34, 0, 0, 0, 0, 0, 0, 0, 37, 3020 0, 203, 3, 4, 5, 6, 7, 8, 9, 10, 3021 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3022 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 3023 31, 41, 42, 335, 33, 34, 0, 0, 0, 0, 3024 0, 0, 0, 37, 0, 203, 3, 4, 5, 6, 3025 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3026 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3027 27, 28, 29, 30, 31, 204, 42, 32, 33, 34, 3028 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 3032 42 3033 }; 3034 3035 #define yypact_value_is_default(yystate) \ 3036 ((yystate) == (-1376)) 3037 3038 #define yytable_value_is_error(yytable_value) \ 3039 YYID (0) 3040 3041 static const yytype_int16 yycheck[] = 3042 { 3043 0, 1, 0, 46, 0, 181, 46, 201, 1, 46, 3044 343, 1051, 1051, 181, 480, 452, 181, 118, 181, 216, 3045 1, 533, 342, 181, 342, 569, 181, 652, 181, 166, 3046 167, 984, 985, 866, 247, 35, 36, 601, 38, 1053, 3047 38, 0, 38, 1051, 184, 604, 46, 494, 1, 623, 3048 515, 498, 52, 985, 52, 417, 38, 866, 1312, 59, 3049 46, 604, 601, 46, 64, 1389, 64, 67, 601, 67, 3050 70, 1270, 70, 58, 436, 605, 1011, 901, 91, 38, 3051 256, 611, 444, 70, 107, 46, 46, 144, 256, 70, 3052 182, 256, 601, 256, 601, 46, 182, 198, 256, 52, 3053 115, 256, 46, 256, 601, 85, 119, 46, 108, 643, 3054 289, 111, 252, 253, 601, 1444, 364, 85, 118, 338, 3055 368, 136, 34, 52, 658, 344, 126, 1502, 723, 118, 3056 115, 154, 115, 71, 117, 0, 1, 117, 181, 115, 3057 1464, 181, 59, 338, 181, 364, 146, 120, 146, 368, 3058 948, 138, 0, 1482, 107, 1484, 117, 102, 158, 1534, 3059 158, 1415, 115, 289, 1502, 257, 115, 487, 117, 1002, 3060 82, 257, 706, 38, 1014, 1015, 115, 115, 117, 1098, 3061 115, 181, 182, 128, 182, 1199, 115, 115, 0, 1527, 3062 38, 108, 145, 1002, 111, 181, 1534, 995, 198, 425, 3063 426, 154, 51, 52, 417, 70, 206, 714, 206, 0, 3064 1, 101, 409, 256, 0, 215, 256, 714, 218, 256, 3065 218, 181, 734, 436, 1048, 225, 38, 714, 51, 52, 3066 181, 444, 115, 116, 1433, 235, 489, 801, 238, 115, 3067 784, 1440, 242, 243, 242, 135, 242, 38, 122, 202, 3068 243, 113, 38, 206, 1094, 814, 256, 257, 591, 257, 3069 242, 137, 801, 263, 138, 0, 266, 3, 801, 46, 3070 496, 814, 121, 803, 1393, 137, 67, 206, 744, 70, 3071 1212, 102, 225, 242, 70, 480, 604, 46, 247, 515, 3072 46, 115, 801, 626, 801, 238, 921, 120, 215, 425, 3073 426, 1500, 635, 38, 801, 1258, 1259, 128, 122, 262, 3074 333, 403, 265, 1232, 801, 1234, 1235, 403, 556, 557, 3075 558, 559, 423, 323, 138, 323, 688, 1259, 429, 508, 3076 3, 510, 67, 262, 513, 1270, 289, 516, 115, 587, 3077 117, 341, 342, 51, 52, 909, 263, 1180, 301, 122, 3078 576, 910, 122, 606, 116, 0, 115, 610, 117, 115, 3079 693, 117, 0, 616, 155, 365, 136, 116, 587, 369, 3080 909, 1180, 301, 122, 136, 708, 909, 242, 1497, 379, 3081 333, 122, 508, 1502, 637, 0, 478, 513, 641, 963, 3082 516, 639, 478, 38, 242, 137, 116, 138, 1485, 247, 3083 115, 46, 1489, 403, 623, 403, 116, 52, 1527, 115, 3084 278, 117, 120, 1348, 633, 1534, 136, 123, 124, 64, 3085 639, 115, 67, 423, 341, 70, 136, 218, 623, 429, 3086 242, 137, 1385, 301, 302, 247, 115, 1270, 633, 122, 3087 122, 567, 972, 973, 134, 52, 115, 137, 365, 115, 3088 46, 242, 369, 1385, 136, 138, 242, 1052, 417, 0, 3089 1, 247, 1476, 796, 464, 931, 1506, 1506, 1093, 469, 3090 338, 464, 425, 426, 115, 688, 923, 436, 478, 338, 3091 478, 946, 482, 218, 482, 444, 482, 487, 925, 702, 3092 490, 115, 67, 1507, 814, 495, 814, 38, 1506, 452, 3093 122, 146, 1437, 46, 1439, 364, 85, 242, 115, 368, 3094 0, 464, 380, 158, 136, 1074, 653, 76, 1316, 115, 3095 46, 117, 1536, 482, 480, 116, 67, 527, 116, 70, 3096 89, 90, 532, 117, 527, 119, 181, 182, 145, 532, 3097 1057, 494, 1059, 496, 119, 498, 794, 116, 38, 744, 3098 46, 46, 136, 1148, 1149, 508, 115, 510, 117, 660, 3099 513, 206, 515, 516, 116, 122, 1501, 46, 46, 417, 3100 671, 115, 115, 218, 117, 794, 57, 122, 797, 1377, 3101 1378, 138, 122, 158, 837, 116, 586, 12, 436, 115, 3102 122, 117, 116, 138, 914, 115, 444, 242, 138, 206, 3103 1433, 601, 125, 126, 604, 417, 138, 1440, 343, 1467, 3104 122, 256, 642, 643, 121, 1473, 673, 482, 99, 115, 3105 115, 117, 117, 576, 436, 625, 138, 115, 658, 588, 3106 630, 417, 444, 966, 482, 122, 115, 115, 117, 117, 3107 431, 1499, 71, 218, 644, 115, 1504, 117, 648, 1115, 3108 436, 76, 115, 78, 79, 262, 853, 657, 444, 659, 3109 660, 661, 915, 96, 97, 118, 659, 1500, 661, 122, 3110 482, 671, 122, 122, 122, 250, 706, 218, 323, 122, 3111 255, 549, 550, 551, 115, 471, 642, 643, 138, 138, 3112 138, 482, 94, 95, 301, 138, 482, 342, 131, 132, 3113 700, 242, 658, 115, 138, 117, 76, 700, 625, 190, 3114 80, 123, 124, 120, 714, 715, 138, 122, 116, 89, 3115 90, 721, 859, 138, 122, 725, 118, 644, 587, 688, 3116 122, 338, 213, 138, 525, 470, 931, 120, 691, 116, 3117 657, 881, 223, 702, 963, 115, 1212, 482, 85, 116, 3118 706, 115, 242, 123, 124, 122, 76, 247, 403, 76, 3119 80, 116, 691, 80, 623, 718, 115, 122, 963, 89, 3120 90, 123, 89, 90, 633, 116, 1288, 129, 130, 76, 3121 639, 122, 976, 71, 59, 124, 74, 133, 744, 77, 3122 134, 79, 89, 90, 1389, 115, 76, 588, 115, 87, 3123 117, 801, 76, 123, 124, 897, 123, 124, 289, 89, 3124 90, 897, 118, 118, 814, 89, 90, 122, 425, 426, 3125 117, 76, 100, 78, 79, 76, 116, 78, 79, 80, 3126 98, 99, 122, 108, 89, 90, 111, 482, 89, 90, 3127 688, 117, 487, 117, 116, 452, 138, 1044, 118, 118, 3128 122, 642, 643, 122, 702, 430, 1451, 116, 116, 859, 3129 997, 115, 117, 122, 122, 865, 866, 658, 1463, 1464, 3130 866, 121, 122, 87, 116, 1051, 688, 91, 92, 93, 3131 748, 118, 116, 1051, 116, 122, 1051, 138, 1051, 496, 3132 702, 626, 1487, 1051, 116, 470, 1051, 897, 1051, 116, 3133 900, 115, 688, 117, 116, 119, 120, 866, 515, 76, 3134 122, 78, 79, 116, 914, 706, 702, 115, 118, 117, 3135 1115, 209, 89, 90, 116, 123, 124, 417, 116, 120, 3136 122, 890, 932, 117, 122, 794, 116, 117, 938, 932, 3137 215, 482, 895, 924, 944, 120, 436, 137, 948, 65, 3138 66, 944, 122, 120, 444, 948, 601, 1049, 693, 604, 3139 441, 1053, 120, 1049, 1559, 137, 895, 1053, 703, 576, 3140 923, 924, 925, 708, 115, 931, 76, 155, 78, 79, 3141 80, 116, 138, 1084, 76, 466, 116, 122, 263, 89, 3142 90, 83, 482, 116, 86, 995, 88, 89, 90, 122, 3143 136, 866, 995, 121, 122, 1005, 1002, 116, 1008, 1009, 3144 1010, 76, 118, 78, 79, 116, 623, 1212, 866, 51, 3145 52, 122, 118, 116, 89, 90, 633, 508, 984, 122, 3146 118, 116, 513, 1159, 1160, 516, 1162, 122, 138, 1039, 3147 116, 116, 1168, 1002, 122, 1171, 122, 122, 35, 1049, 3148 115, 1051, 136, 1053, 866, 120, 136, 345, 346, 924, 3149 348, 796, 350, 1099, 1100, 1065, 341, 552, 553, 714, 3150 715, 115, 116, 117, 362, 866, 115, 116, 117, 116, 3151 866, 115, 116, 117, 1084, 116, 1523, 115, 116, 117, 3152 365, 1008, 1009, 1010, 369, 963, 120, 87, 1098, 890, 3153 116, 91, 92, 93, 963, 1098, 121, 1199, 121, 76, 3154 121, 78, 79, 1199, 122, 1068, 65, 66, 67, 115, 3155 52, 116, 89, 90, 116, 115, 120, 117, 703, 119, 3156 120, 866, 64, 924, 1002, 67, 122, 1002, 70, 1068, 3157 554, 555, 560, 561, 1477, 116, 116, 116, 115, 122, 3158 116, 116, 440, 120, 1002, 1155, 801, 116, 116, 1115, 3159 4, 5, 6, 7, 8, 9, 10, 11, 116, 814, 3160 116, 116, 12, 13, 14, 15, 16, 17, 18, 116, 3161 1180, 0, 1, 76, 1180, 78, 79, 80, 116, 76, 3162 1002, 78, 79, 984, 985, 676, 89, 90, 688, 1199, 3163 116, 116, 89, 90, 685, 116, 46, 116, 689, 1301, 3164 35, 1002, 702, 121, 146, 1301, 1002, 137, 1344, 38, 3165 116, 1180, 115, 1442, 116, 1444, 158, 46, 122, 118, 3166 1287, 966, 1232, 52, 1234, 1235, 1217, 118, 1191, 1232, 3167 116, 1234, 1235, 116, 122, 64, 120, 116, 67, 116, 3168 182, 70, 897, 431, 122, 12, 13, 14, 15, 16, 3169 17, 18, 1191, 1482, 1217, 1484, 122, 1002, 76, 914, 3170 78, 79, 80, 1374, 206, 115, 115, 117, 116, 115, 3171 115, 89, 90, 123, 124, 115, 218, 115, 107, 46, 3172 13, 1291, 138, 136, 138, 136, 115, 134, 122, 118, 3173 119, 1301, 1258, 136, 1361, 121, 76, 115, 78, 79, 3174 80, 1270, 116, 136, 116, 1180, 1316, 116, 925, 89, 3175 90, 136, 120, 1316, 121, 866, 145, 146, 121, 116, 3176 1506, 1312, 1180, 118, 122, 154, 155, 118, 1506, 158, 3177 116, 1506, 1342, 1506, 116, 1345, 54, 525, 1506, 116, 3178 625, 1506, 1217, 1506, 118, 1412, 963, 118, 115, 1312, 3179 117, 116, 181, 182, 118, 118, 123, 124, 1180, 644, 3180 1351, 118, 118, 1373, 1374, 1476, 866, 1377, 1378, 198, 3181 138, 121, 657, 924, 1377, 1378, 138, 206, 138, 1180, 3182 138, 323, 116, 1393, 1180, 138, 116, 116, 1398, 218, 3183 76, 116, 78, 79, 1049, 1270, 1051, 461, 1053, 121, 3184 588, 892, 121, 89, 90, 1507, 76, 118, 78, 79, 3185 80, 1507, 1270, 242, 87, 118, 1217, 1427, 1485, 89, 3186 90, 250, 1489, 1490, 1415, 118, 255, 256, 257, 118, 3187 118, 118, 116, 262, 1536, 1180, 116, 1312, 115, 118, 3188 1536, 115, 67, 115, 115, 120, 1373, 116, 1270, 116, 3189 1517, 1002, 1415, 1506, 642, 643, 1506, 1258, 1259, 1506, 3190 289, 403, 36, 118, 1433, 118, 1476, 116, 1478, 1270, 3191 658, 1440, 301, 1540, 1270, 1478, 1351, 1544, 866, 4, 3192 5, 6, 7, 8, 9, 10, 11, 1497, 317, 118, 3193 116, 102, 1502, 102, 323, 115, 1506, 1507, 115, 1507, 3194 138, 1568, 1002, 1442, 333, 1444, 121, 49, 116, 338, 3195 116, 1312, 116, 342, 343, 1525, 116, 1527, 706, 122, 3196 136, 1531, 1013, 116, 1534, 1270, 1536, 116, 1536, 102, 3197 102, 1500, 118, 138, 116, 364, 138, 1547, 136, 368, 3198 1415, 1551, 138, 1482, 1199, 1484, 138, 138, 116, 1350, 3199 1351, 136, 126, 115, 186, 1351, 122, 121, 1433, 1569, 3200 1523, 193, 118, 67, 118, 1440, 1569, 138, 118, 138, 3201 1580, 116, 76, 121, 403, 1433, 115, 1580, 3, 116, 3202 121, 866, 1440, 116, 1385, 136, 116, 12, 13, 14, 3203 15, 16, 17, 18, 423, 138, 425, 426, 116, 1400, 3204 429, 116, 431, 115, 138, 1350, 116, 138, 1021, 138, 3205 562, 1433, 563, 677, 1415, 119, 564, 1005, 1440, 565, 3206 943, 46, 566, 452, 1180, 1500, 1464, 259, 55, 1180, 3207 57, 1353, 1433, 60, 61, 62, 1551, 1433, 1280, 1440, 3208 469, 1490, 1500, 1544, 1440, 1440, 1301, 1039, 1049, 478, 3209 77, 480, 723, 482, 158, 1400, 895, 1301, 487, 1059, 3210 725, 235, 3, 90, 91, 938, 1217, 496, 917, 67, 3211 859, 12, 13, 14, 15, 16, 17, 18, 1500, 508, 3212 1180, 510, 654, 718, 513, 317, 515, 516, 1433, 1217, 3213 916, -1, 266, 482, 326, 1440, 525, 329, 568, 1500, 3214 733, 568, 890, 568, 1500, 46, -1, 778, -1, -1, 3215 -1, -1, -1, -1, 218, -1, 780, -1, -1, 1270, 3216 1005, 119, -1, 1008, 1009, 1010, 790, 791, -1, -1, 3217 76, -1, 78, 79, 80, -1, -1, -1, 802, 568, 3218 569, -1, -1, 89, 90, 677, 250, 576, -1, -1, 3219 -1, 255, -1, -1, -1, 1500, 183, -1, 587, 588, 3220 158, 1312, 591, 395, -1, 1350, -1, 399, -1, 115, 3221 1270, 117, 601, -1, -1, 604, -1, 123, 124, -1, 3222 -1, -1, -1, -1, 855, -1, -1, -1, 1279, -1, 3223 -1, 137, 1180, -1, 623, -1, 984, 985, -1, 1350, 3224 1351, -1, -1, -1, 633, 379, 635, -1, -1, -1, 3225 639, -1, -1, 642, 643, 1400, -1, -1, -1, -1, 3226 218, 76, -1, 78, 79, 80, -1, -1, -1, 658, 3227 -1, 660, -1, -1, 89, 90, -1, 235, -1, 343, 3228 -1, -1, 671, -1, -1, 477, -1, -1, 780, 1400, 3229 -1, 1506, 250, -1, -1, -1, -1, 255, 790, 791, 3230 115, -1, 691, -1, 1415, -1, -1, -1, 123, 124, 3231 802, -1, -1, -1, -1, -1, -1, 706, 707, 708, 3232 951, -1, 1433, -1, -1, 714, 715, -1, 76, 1440, 3233 78, 79, 80, -1, -1, 1180, -1, -1, -1, -1, 3234 -1, 89, 90, 1291, -1, -1, 1523, -1, -1, -1, 3235 337, -1, 339, -1, -1, 744, 490, 981, 982, -1, 3236 -1, 495, -1, -1, -1, -1, 430, -1, 999, 356, 3237 357, -1, -1, 1433, 76, 123, 568, 569, -1, -1, 3238 1440, 83, 446, -1, 86, 343, 88, 89, 90, 1500, 3239 1441, -1, 1443, -1, 1342, 784, 76, 1345, 78, 79, 3240 80, -1, -1, -1, -1, 794, 470, 796, -1, 89, 3241 90, -1, 801, -1, -1, 117, -1, -1, 1042, 1043, 3242 76, 1052, 78, 79, 80, 814, -1, -1, -1, -1, 3243 1481, -1, 1483, 89, 90, 115, -1, 117, -1, -1, 3244 1500, 76, -1, 123, 124, 1393, 1291, -1, 83, -1, 3245 1398, 86, 586, 88, 89, 90, 136, -1, -1, 115, 3246 -1, 117, 1210, -1, -1, -1, -1, 123, 124, -1, 3247 662, -1, 430, -1, 666, -1, -1, 866, -1, 1427, 3248 -1, 76, 117, -1, 1535, -1, 1537, -1, 83, 981, 3249 982, 86, -1, 88, 89, 90, 630, 1342, -1, -1, 3250 1345, 890, -1, -1, 1555, 1556, 895, -1, 897, -1, 3251 1258, 1259, 470, -1, 648, -1, -1, 1148, 1149, -1, 3252 909, 910, 117, -1, -1, 914, -1, 591, 1373, -1, 3253 -1, -1, -1, -1, -1, 924, 925, -1, -1, -1, 3254 -1, 76, 931, 78, 79, 80, -1, -1, 1393, -1, 3255 1042, 1043, -1, 1398, 89, 90, -1, -1, -1, -1, 3256 -1, -1, 626, -1, 12, 13, 14, 15, 16, 17, 3257 18, 635, -1, -1, 963, -1, -1, 1525, -1, -1, 3258 115, -1, 1427, 1531, -1, -1, 1210, 721, 123, 124, 3259 -1, 725, 784, -1, -1, 984, 985, -1, 46, 1547, 3260 -1, -1, -1, 1551, -1, -1, 76, -1, 78, 79, 3261 80, -1, -1, 1002, -1, 1239, -1, -1, -1, 89, 3262 90, -1, -1, 1247, 1248, 1249, -1, -1, 76, 693, 3263 78, 79, 80, 591, -1, -1, -1, 1385, -1, 703, 3264 -1, 89, 90, -1, 708, 115, -1, 117, -1, -1, 3265 -1, -1, 1497, 123, 124, -1, -1, 1502, -1, -1, 3266 1049, -1, 1051, -1, 1053, -1, -1, 115, 626, 117, 3267 -1, -1, 630, -1, -1, 123, 124, 635, -1, 1068, 3268 1525, -1, 1527, -1, -1, 1074, 1531, -1, -1, 1534, 3269 -1, -1, -1, -1, -1, 1084, -1, -1, -1, -1, 3270 -1, -1, 1547, -1, -1, -1, 1551, 694, -1, 696, 3271 -1, -1, -1, -1, -1, -1, -1, 704, 705, -1, 3272 -1, -1, 709, -1, -1, 859, 1115, -1, -1, -1, 3273 -1, 865, 796, -1, -1, 693, -1, -1, -1, 726, 3274 -1, -1, -1, -1, 731, 703, -1, 1239, -1, -1, 3275 708, -1, -1, -1, -1, 1247, 1248, 1249, 1389, -1, 3276 3, 953, -1, 750, -1, -1, 900, -1, -1, 12, 3277 13, 14, 15, 16, 17, 18, -1, 969, -1, -1, 3278 12, 13, 14, 15, 16, 17, 18, -1, -1, -1, 3279 1414, 1180, 4, 5, 6, 7, 8, 9, 10, 11, 3280 -1, -1, 1191, 46, 938, -1, -1, -1, -1, -1, 3281 1199, -1, -1, -1, 46, -1, -1, -1, -1, -1, 3282 1451, -1, -1, 1212, -1, -1, -1, 39, 1217, -1, 3283 -1, -1, 1463, 1464, -1, -1, -1, -1, 796, -1, 3284 -1, -1, -1, -1, 76, -1, 78, 79, 80, -1, 3285 -1, -1, -1, -1, -1, -1, 1487, 89, 90, -1, 3286 -1, 848, -1, 850, 851, 852, 1058, -1, -1, 1258, 3287 1259, -1, 12, 13, 14, 15, 16, 17, 18, -1, 3288 -1, 1270, 869, 115, -1, 117, -1, -1, -1, -1, 3289 -1, 123, 124, -1, -1, -1, -1, -1, 885, -1, 3290 -1, -1, 966, -1, -1, 1039, 46, -1, -1, -1, 3291 -1, -1, 1301, -1, -1, -1, -1, -1, -1, -1, 3292 -1, 908, 1414, 1312, -1, -1, -1, -1, 1559, -1, 3293 -1, 1065, 103, 104, 105, 106, 107, 108, 109, 110, 3294 111, 112, 113, -1, -1, 12, 13, 14, 15, 16, 3295 17, 18, -1, -1, -1, 942, -1, -1, -1, -1, 3296 947, 1350, 1351, -1, -1, 952, 137, -1, -1, -1, 3297 957, 958, -1, -1, -1, 962, -1, 964, 965, 46, 3298 -1, 968, -1, -1, -1, 1374, -1, -1, 44, 45, 3299 977, 47, -1, -1, -1, -1, 1385, -1, -1, -1, 3300 -1, -1, 1194, -1, -1, -1, 993, 994, 966, 76, 3301 -1, 1400, -1, 80, 0, 1, -1, 73, -1, -1, 3302 76, 1155, 89, 90, 80, -1, 1415, 83, 84, 85, 3303 86, 87, 88, 89, 90, -1, 92, 93, 1025, -1, 3304 -1, 1028, -1, -1, 1433, -1, -1, -1, 115, -1, 3305 -1, 1440, 38, 1442, -1, 1444, 123, 124, -1, 115, 3306 -1, 117, -1, -1, -1, -1, 52, 123, 124, 125, 3307 126, 127, 128, -1, -1, -1, -1, -1, -1, -1, 3308 136, -1, -1, -1, 70, -1, -1, 1476, 1477, -1, 3309 -1, -1, -1, 1482, 1081, 1484, -1, -1, -1, -1, 3310 1087, 1088, -1, -1, -1, 1297, -1, -1, -1, 1096, 3311 -1, 1500, -1, -1, 1101, -1, -1, 1506, 1507, 1106, 3312 -1, 107, -1, -1, 12, 13, 14, 15, 16, 17, 3313 18, -1, 1119, -1, 1523, -1, -1, -1, -1, -1, 3314 12, 13, 14, 15, 16, 17, 18, 1536, 1135, -1, 3315 1137, 1138, 1139, 1140, -1, -1, -1, -1, 46, -1, 3316 146, -1, -1, -1, -1, 1152, -1, 1154, 154, 155, 3317 -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, 3318 -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, 3319 78, 79, 80, -1, -1, -1, 182, -1, -1, 1186, 3320 1187, 89, 90, -1, 76, -1, 78, 79, 80, -1, 3321 -1, -1, 198, -1, -1, 201, 202, 89, 90, -1, 3322 206, -1, -1, -1, -1, -1, -1, 115, -1, 117, 3323 -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, 3324 -1, 227, -1, 115, -1, 231, -1, 233, -1, -1, 3325 236, 123, 124, 0, -1, -1, 242, -1, -1, -1, 3326 -1, 247, -1, 1250, 1251, -1, -1, -1, -1, -1, 3327 -1, 257, -1, 1260, -1, -1, -1, -1, -1, 265, 3328 -1, -1, -1, -1, -1, -1, 1350, -1, -1, -1, 3329 -1, 38, 4, 5, 6, 7, 8, 9, 10, 11, 3330 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3331 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 3332 32, 33, -1, 70, 36, 37, 38, -1, -1, -1, 3333 -1, -1, -1, -1, 46, -1, 1400, 1324, -1, 1326, 3334 1327, 1328, -1, -1, -1, -1, -1, 333, -1, -1, 3335 -1, 1338, 338, -1, -1, -1, -1, -1, 344, 1346, 3336 -1, -1, 1349, -1, -1, -1, 78, 79, -1, -1, 3337 -1, -1, -1, -1, -1, -1, -1, -1, 364, -1, 3338 -1, -1, 368, -1, -1, -1, -1, -1, -1, 1376, 3339 -1, -1, 1350, -1, -1, 12, 13, 14, 15, 16, 3340 17, 18, -1, -1, 116, 117, -1, -1, 155, -1, 3341 -1, 123, 124, 1477, -1, -1, -1, -1, -1, -1, 3342 -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, 3343 -1, 417, -1, 1420, 1421, -1, -1, -1, -1, -1, 3344 -1, -1, 1400, -1, -1, 431, 1433, -1, -1, -1, 3345 436, -1, -1, 1440, -1, -1, -1, -1, 444, 76, 3346 -1, 78, 79, 80, -1, -1, -1, -1, -1, -1, 3347 1457, -1, 89, 90, -1, 461, -1, -1, 464, -1, 3348 227, -1, -1, -1, -1, 471, -1, -1, 1475, -1, 3349 -1, -1, -1, 1480, 480, 242, 482, -1, 115, -1, 3350 247, -1, -1, -1, -1, -1, 123, 124, 494, -1, 3351 -1, -1, 498, -1, -1, -1, -1, -1, -1, 1477, 3352 -1, -1, -1, -1, -1, -1, 1513, -1, 1515, -1, 3353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 3354 -1, -1, -1, -1, 0, -1, -1, 12, 13, 14, 3355 15, 16, 17, 18, -1, -1, -1, -1, -1, -1, 3356 -1, -1, -1, -1, -1, -1, 1553, 1554, -1, -1, 3357 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1566, 3358 1567, 46, 38, 569, -1, -1, -1, -1, -1, -1, 3359 -1, 338, -1, -1, -1, -1, -1, 344, -1, -1, 3360 -1, 587, 588, -1, -1, -1, -1, -1, -1, -1, 3361 -1, 76, -1, -1, 70, 80, -1, 364, 604, -1, 3362 -1, 368, -1, -1, 89, 90, -1, -1, -1, -1, 3363 -1, -1, -1, -1, -1, -1, -1, 623, -1, -1, 3364 -1, -1, 628, -1, -1, -1, -1, 633, -1, -1, 3365 115, -1, -1, 639, -1, -1, 642, 643, 123, 124, 3366 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3367 417, -1, 658, -1, -1, -1, -1, -1, -1, -1, 3368 -1, -1, -1, -1, 431, -1, -1, -1, -1, 436, 3369 -1, 677, -1, -1, -1, -1, -1, 444, -1, 155, 3370 -1, -1, 688, -1, -1, -1, -1, -1, -1, -1, 3371 -1, -1, -1, -1, 461, -1, 702, -1, -1, -1, 3372 706, -1, -1, -1, 471, -1, -1, -1, -1, 715, 3373 -1, -1, 718, 480, -1, 482, 12, 13, 14, 15, 3374 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3375 26, 27, 28, 29, 30, 31, 32, 33, 744, -1, 3376 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3377 46, -1, -1, -1, -1, -1, -1, -1, 525, -1, 3378 -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, 3379 -1, 247, -1, -1, 780, -1, -1, -1, -1, -1, 3380 76, -1, 78, 79, 790, 791, -1, -1, 794, -1, 3381 -1, 797, -1, 89, 90, -1, 802, -1, -1, -1, 3382 -1, -1, -1, -1, -1, -1, 812, -1, -1, -1, 3383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3384 587, 588, -1, -1, 3, 4, 5, 6, 7, 8, 3385 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3386 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3387 29, 30, 31, 32, 33, -1, 623, 36, 37, 38, 3388 866, -1, 338, -1, -1, -1, 633, 46, 344, -1, 3389 -1, -1, 639, -1, -1, 642, 643, -1, -1, -1, 3390 -1, -1, -1, -1, 890, -1, -1, -1, 364, -1, 3391 -1, 658, 368, -1, -1, -1, -1, -1, -1, 78, 3392 79, -1, -1, -1, 910, -1, -1, -1, -1, -1, 3393 677, -1, -1, -1, -1, -1, -1, 923, 924, -1, 3394 -1, 688, -1, -1, -1, 931, -1, -1, -1, -1, 3395 -1, -1, -1, -1, -1, 702, -1, -1, 117, 706, 3396 -1, 417, -1, -1, 123, 124, -1, -1, -1, -1, 3397 -1, -1, -1, -1, -1, 431, -1, 963, -1, -1, 3398 436, -1, -1, -1, -1, -1, -1, -1, 444, -1, 3399 976, -1, -1, -1, -1, 981, 982, 744, 984, 985, 3400 -1, -1, -1, -1, -1, 461, -1, -1, -1, -1, 3401 -1, -1, -1, -1, -1, 471, 1002, -1, -1, -1, 3402 -1, -1, -1, -1, 480, -1, 482, -1, -1, -1, 3403 -1, -1, -1, 780, -1, -1, -1, -1, 0, -1, 3404 -1, -1, -1, 790, 791, -1, -1, 794, -1, -1, 3405 797, -1, -1, -1, -1, 802, 1042, 1043, -1, -1, 3406 -1, -1, -1, -1, -1, -1, -1, 1053, -1, 525, 3407 -1, -1, -1, -1, 0, -1, 38, 3, 4, 5, 3408 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3409 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3410 26, 27, 28, 29, 30, 31, 32, 33, 70, -1, 3411 36, 37, 38, 39, -1, -1, -1, 43, -1, 866, 3412 46, 47, -1, -1, -1, -1, -1, -1, -1, 1115, 3413 -1, 587, 588, -1, -1, -1, -1, -1, -1, -1, 3414 -1, -1, -1, 890, -1, 71, -1, -1, -1, -1, 3415 76, -1, 78, 79, 80, -1, -1, -1, -1, -1, 3416 -1, -1, -1, 89, 90, -1, -1, 623, -1, -1, 3417 -1, -1, -1, -1, -1, -1, -1, 633, -1, -1, 3418 -1, -1, -1, 639, 931, -1, 642, 643, -1, 115, 3419 -1, 117, -1, 155, 1180, -1, -1, 123, 124, -1, 3420 -1, -1, 658, -1, -1, -1, -1, -1, -1, -1, 3421 -1, -1, -1, -1, -1, -1, 963, -1, -1, -1, 3422 -1, 677, -1, -1, 1210, -1, 1212, -1, -1, -1, 3423 -1, 1217, 688, -1, 981, 982, -1, 984, 985, -1, 3424 -1, -1, -1, -1, -1, -1, 702, -1, -1, -1, 3425 706, -1, -1, 1239, -1, 1002, -1, -1, -1, -1, 3426 -1, 1247, 1248, 1249, -1, -1, -1, -1, -1, -1, 3427 -1, -1, 1258, 1259, -1, -1, -1, -1, -1, -1, 3428 242, -1, -1, -1, 1270, 247, -1, -1, 744, -1, 3429 -1, -1, -1, -1, -1, 1042, 1043, 12, 13, 14, 3430 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3431 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 3432 -1, 36, 37, 38, 780, -1, 1312, -1, -1, -1, 3433 -1, 46, -1, -1, 790, 791, -1, -1, 794, -1, 3434 -1, 797, -1, -1, -1, -1, 802, -1, -1, -1, 3435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3436 -1, -1, -1, 78, 79, 1351, -1, -1, 1115, -1, 3437 -1, -1, -1, -1, -1, -1, 338, -1, -1, -1, 3438 -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, 3439 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1385, 3440 -1, -1, 364, -1, -1, -1, 368, -1, 123, 124, 3441 866, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3442 -1, -1, -1, -1, -1, -1, -1, -1, 1414, 1415, 3443 -1, -1, -1, 1180, 890, -1, -1, -1, -1, -1, 3444 -1, -1, -1, -1, -1, -1, -1, 1433, -1, -1, 3445 -1, -1, -1, -1, 1440, 417, 1442, -1, 1444, -1, 3446 -1, -1, -1, 1210, -1, 1212, -1, -1, -1, 431, 3447 -1, -1, -1, -1, 436, 931, -1, -1, -1, -1, 3448 -1, -1, 444, -1, -1, -1, -1, -1, -1, -1, 3449 -1, -1, 1239, -1, -1, -1, 1482, -1, 1484, 461, 3450 1247, 1248, 1249, -1, -1, -1, -1, 963, -1, 471, 3451 -1, 1258, 1259, -1, 1500, -1, -1, -1, 480, -1, 3452 482, 1507, -1, 1270, -1, 981, 982, -1, 984, 985, 3453 -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, 3454 -1, -1, -1, -1, -1, -1, 1002, -1, -1, -1, 3455 -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 3456 -1, -1, -1, 525, 12, 13, 14, 15, 16, 17, 3457 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3458 28, 29, 30, 31, 32, 33, 1042, 1043, 36, 37, 3459 38, -1, -1, -1, 276, -1, 278, 279, 46, 115, 3460 -1, -1, -1, 119, 1351, 287, 288, -1, -1, -1, 3461 -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 3462 302, -1, -1, -1, -1, 587, 588, -1, -1, 145, 3463 78, 79, -1, -1, -1, -1, -1, -1, 1385, 155, 3464 -1, -1, 158, -1, -1, -1, -1, -1, -1, -1, 3465 -1, -1, -1, -1, -1, -1, 338, -1, -1, 1115, 3466 -1, 623, -1, -1, -1, -1, -1, 1414, -1, 117, 3467 -1, 633, -1, -1, -1, 123, 124, 639, -1, -1, 3468 642, 643, -1, -1, -1, -1, 1433, -1, -1, -1, 3469 206, -1, -1, 1440, -1, 1442, 658, 1444, 380, -1, 3470 -1, -1, 218, -1, -1, -1, -1, -1, -1, -1, 3471 -1, -1, -1, -1, -1, 677, -1, -1, -1, -1, 3472 -1, -1, -1, -1, 1180, -1, 688, -1, -1, -1, 3473 -1, -1, -1, -1, -1, 1482, -1, 1484, -1, 255, 3474 702, -1, -1, -1, 706, -1, 262, -1, -1, -1, 3475 -1, -1, -1, 1500, 1210, -1, 1212, -1, -1, -1, 3476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3477 -1, -1, -1, 289, -1, -1, -1, -1, -1, -1, 3478 -1, -1, 744, 1239, -1, 301, -1, -1, -1, -1, 3479 -1, 1247, 1248, 1249, -1, 67, -1, -1, -1, -1, 3480 -1, -1, 1258, 1259, 76, -1, 78, -1, 80, -1, 3481 -1, -1, -1, -1, 1270, -1, 88, -1, 780, -1, 3482 -1, -1, 338, -1, -1, -1, -1, 343, 790, 791, 3483 -1, -1, 794, -1, -1, 797, -1, -1, -1, -1, 3484 802, -1, -1, -1, -1, -1, -1, 119, -1, 121, 3485 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 3486 -1, -1, -1, -1, -1, -1, -1, 549, 550, 551, 3487 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 3488 562, 563, 564, 565, 566, -1, 158, -1, -1, -1, 3489 -1, -1, -1, -1, -1, 1351, -1, -1, -1, -1, 3490 -1, -1, -1, -1, 866, -1, -1, -1, -1, 425, 3491 426, -1, -1, -1, -1, 431, -1, -1, -1, -1, 3492 -1, -1, -1, -1, -1, -1, -1, -1, 890, 1385, 3493 -1, -1, -1, -1, -1, -1, 452, -1, -1, -1, 3494 -1, -1, -1, -1, -1, -1, 218, -1, 220, 221, 3495 222, -1, -1, -1, -1, -1, -1, -1, 1414, -1, 3496 -1, -1, -1, -1, 480, -1, -1, -1, -1, 931, 3497 -1, -1, -1, -1, -1, -1, -1, 1433, 250, -1, 3498 496, -1, -1, 255, 1440, -1, 1442, -1, 1444, -1, 3499 -1, -1, 508, -1, 510, -1, -1, 513, -1, 515, 3500 516, 963, -1, -1, -1, -1, -1, -1, -1, 525, 3501 -1, -1, -1, -1, -1, -1, -1, -1, -1, 981, 3502 982, -1, 984, 985, -1, -1, 1482, -1, 1484, -1, 3503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3504 1002, 723, -1, -1, 1500, -1, -1, -1, -1, -1, 3505 -1, 323, -1, -1, -1, -1, -1, -1, -1, -1, 3506 576, -1, -1, -1, -1, -1, 748, -1, -1, -1, 3507 -1, 343, 588, -1, -1, 591, -1, 349, -1, 351, 3508 1042, 1043, -1, -1, -1, -1, -1, -1, -1, -1, 3509 -1, 363, -1, -1, -1, -1, 778, -1, -1, -1, 3510 -1, -1, -1, -1, -1, -1, -1, 623, -1, -1, 3511 -1, -1, -1, -1, -1, -1, -1, 633, -1, -1, 3512 -1, -1, -1, -1, -1, -1, 642, 643, -1, -1, 3513 -1, 403, -1, -1, -1, -1, -1, -1, -1, -1, 3514 -1, -1, 658, -1, -1, -1, -1, -1, -1, -1, 3515 -1, 423, -1, 1115, -1, -1, 428, -1, 430, -1, 3516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3517 -1, -1, -1, -1, 446, 691, -1, 449, 450, -1, 3518 -1, -1, -1, -1, 456, -1, -1, -1, -1, -1, 3519 706, -1, 708, -1, -1, -1, -1, -1, 470, -1, 3520 -1, -1, -1, -1, -1, -1, 478, -1, -1, -1, 3521 -1, -1, -1, -1, -1, -1, -1, -1, 1180, -1, 3522 -1, -1, 44, 45, -1, 47, -1, -1, 744, -1, 3523 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, 3525 1212, 73, -1, -1, 76, -1, -1, -1, 80, -1, 3526 -1, 83, 84, 85, 86, 87, 88, 89, 90, 951, 3527 92, 93, -1, -1, -1, -1, -1, 1239, -1, -1, 3528 796, 963, -1, -1, -1, 1247, 1248, 1249, -1, -1, 3529 -1, -1, -1, 115, -1, 117, 1258, 1259, 120, -1, 3530 -1, 123, 124, 125, 126, 127, 128, -1, 1270, -1, 3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, 591, 3532 1002, 593, 594, 595, -1, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3534 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3535 -1, -1, -1, -1, 626, 627, -1, -1, -1, -1, 3536 -1, -1, -1, 635, -1, -1, -1, -1, -1, -1, 3537 1052, -1, -1, -1, 890, -1, -1, -1, -1, 895, 3538 -1, -1, -1, -1, -1, -1, 93, -1, -1, 1351, 3539 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, 3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, 925, 3541 -1, -1, -1, -1, -1, 931, -1, -1, -1, -1, 3542 -1, 693, -1, 1385, -1, -1, -1, -1, -1, -1, 3543 -1, 703, -1, -1, -1, -1, 708, -1, -1, -1, 3544 -1, -1, 154, 155, -1, -1, -1, 963, -1, -1, 3545 -1, -1, 1414, -1, -1, -1, -1, -1, -1, -1, 3546 -1, -1, 169, -1, -1, -1, 1148, 1149, 984, 985, 3547 -1, 1433, -1, -1, 186, -1, -1, -1, 1440, -1, 3548 1442, 193, 1444, -1, 191, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, -1, -1, -1, -1, 205, -1, 3550 -1, -1, -1, -1, -1, -1, -1, 214, -1, -1, 3551 -1, -1, 784, -1, -1, -1, -1, 224, -1, -1, 3552 1482, -1, 1484, -1, 796, -1, -1, -1, -1, 44, 3553 45, -1, 47, -1, -1, -1, 243, -1, 1500, -1, 3554 -1, 248, 814, -1, -1, -1, -1, 259, -1, -1, 3555 -1, -1, 1068, -1, 261, -1, -1, -1, 73, -1, 3556 -1, 76, 269, -1, 271, 80, 838, -1, 83, 84, 3557 85, 86, 87, 88, 89, 90, -1, 92, 93, -1, 3558 -1, -1, -1, 290, -1, -1, -1, -1, -1, -1, 3559 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1115, 3560 115, -1, 117, -1, -1, 317, -1, 122, 123, 124, 3561 125, 126, 127, 128, 326, 327, -1, 329, 330, -1, 3562 -1, -1, -1, -1, 331, -1, 338, -1, -1, 336, 3563 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3564 -1, -1, 914, -1, -1, -1, -1, -1, -1, -1, 3565 -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, 3566 -1, -1, -1, -1, 371, -1, -1, -1, 375, 376, 3567 -1, 378, -1, -1, -1, 1191, -1, -1, 385, 386, 3568 -1, 388, 389, 395, 391, -1, 393, 399, -1, -1, 3569 -1, -1, -1, -1, 966, -1, 1212, -1, -1, -1, 3570 -1, -1, -1, 410, -1, 977, -1, 1389, -1, -1, 3571 -1, 418, -1, -1, -1, -1, -1, -1, -1, 431, 3572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3573 -1, -1, -1, -1, -1, 442, -1, -1, -1, -1, 3574 -1, -1, 1258, 1259, -1, -1, -1, 44, 45, -1, 3575 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3576 467, -1, -1, -1, -1, 477, -1, 474, 480, 1451, 3577 -1, -1, 479, -1, -1, -1, 73, -1, -1, 76, 3578 -1, 1463, 1464, 80, -1, -1, 83, 84, 85, 86, 3579 87, 88, 89, 90, -1, 92, 93, -1, -1, -1, 3580 -1, -1, 1074, -1, -1, 1487, -1, -1, -1, -1, 3581 -1, -1, 519, 525, -1, -1, -1, -1, 115, -1, 3582 117, -1, -1, 120, 531, -1, 123, 124, 125, 126, 3583 127, 128, -1, -1, 1350, -1, -1, -1, -1, -1, 3584 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3585 -1, -1, -1, -1, -1, -1, 568, 569, -1, -1, 3586 -1, 568, -1, -1, -1, -1, -1, -1, -1, 1385, 3587 577, -1, -1, 580, -1, 587, 588, 1559, -1, -1, 3588 -1, -1, -1, -1, 1400, -1, -1, -1, -1, 601, 3589 -1, -1, 604, 605, -1, 602, -1, -1, -1, 611, 3590 -1, -1, -1, -1, -1, -1, -1, -1, -1, 621, 3591 -1, 623, -1, -1, -1, -1, -1, -1, -1, -1, 3592 155, 633, -1, -1, -1, -1, 1442, 1199, 1444, -1, 3593 642, 643, -1, -1, -1, -1, -1, -1, -1, -1, 3594 647, -1, -1, -1, 44, 45, 658, 47, -1, -1, 3595 662, 663, -1, -1, 666, 667, -1, -1, -1, -1, 3596 -1, 1477, -1, 675, -1, -1, 1482, -1, 1484, -1, 3597 -1, -1, -1, 73, -1, -1, 76, 684, -1, -1, 3598 80, -1, -1, 83, 84, 85, 86, 87, 88, 89, 3599 90, -1, 92, 93, 706, 707, -1, -1, -1, -1, 3600 -1, -1, -1, -1, -1, 712, -1, 1523, -1, -1, 3601 -1, -1, -1, -1, -1, 115, -1, 117, -1, -1, 3602 727, 728, -1, 123, 124, 125, 126, 127, 128, -1, 3603 737, -1, 744, -1, -1, -1, -1, -1, -1, -1, 3604 -1, -1, -1, -1, 751, -1, -1, -1, -1, 756, 3605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3606 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3607 155, -1, 784, -1, -1, -1, -1, -1, 1350, -1, 3608 -1, 166, 167, -1, -1, -1, -1, -1, -1, 801, 3609 -1, 803, -1, -1, -1, -1, -1, -1, -1, -1, 3610 -1, -1, 814, 338, -1, -1, -1, -1, 343, 344, 3611 -1, 818, -1, -1, -1, -1, -1, -1, 825, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, 1400, 364, 3613 -1, -1, -1, 368, 841, -1, 843, -1, -1, -1, 3614 -1, -1, -1, -1, -1, -1, -1, -1, -1, 856, 3615 -1, -1, -1, -1, -1, 862, -1, -1, -1, -1, 3616 -1, -1, -1, -1, -1, -1, 873, -1, -1, 254, 3617 877, -1, -1, -1, -1, -1, -1, -1, 890, -1, 3618 -1, -1, -1, -1, -1, 897, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, -1, 431, 909, 910, -1, 3620 -1, -1, -1, -1, -1, 1477, -1, -1, -1, -1, 3621 -1, -1, -1, -1, -1, -1, -1, -1, -1, 931, 3622 -1, -1, -1, -1, -1, -1, 461, -1, -1, -1, 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3624 -1, 953, 954, -1, -1, 480, -1, -1, -1, -1, 3625 -1, 963, -1, -1, 961, -1, -1, 969, 970, -1, 3626 972, 973, 974, -1, 1536, -1, -1, -1, -1, -1, 3627 -1, -1, 984, 985, -1, -1, -1, -1, -1, -1, 3628 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3629 525, -1, -1, -1, 379, -1, -1, 155, 12, 13, 3630 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3631 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 3632 -1, 1028, 36, 37, 38, -1, -1, -1, -1, -1, 3633 -1, -1, 46, -1, -1, -1, -1, 1049, -1, 1051, 3634 -1, 1053, -1, -1, -1, -1, 1058, -1, -1, -1, 3635 -1, -1, 587, 588, -1, -1, 591, -1, -1, -1, 3636 -1, -1, 1074, 1070, 78, 79, -1, 452, 1075, -1, 3637 -1, -1, -1, -1, -1, -1, -1, -1, 1085, -1, 3638 -1, -1, -1, -1, -1, -1, -1, 472, 623, -1, 3639 -1, 626, -1, -1, -1, -1, -1, -1, 633, -1, 3640 635, -1, 1109, 1115, 639, -1, -1, 642, 643, 123, 3641 124, -1, -1, -1, -1, 1122, -1, -1, -1, 1126, 3642 -1, -1, 1129, 658, -1, -1, -1, -1, -1, -1, 3643 515, -1, -1, -1, -1, -1, -1, -1, 1145, 1146, 3644 525, -1, 677, -1, -1, 530, -1, -1, 533, -1, 3645 -1, -1, -1, -1, -1, -1, 1163, -1, 693, -1, 3646 -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, 3647 -1, 706, -1, 708, -1, -1, -1, -1, -1, -1, 3648 338, -1, 1194, -1, -1, 343, 344, 1199, -1, -1, 3649 -1, 576, -1, -1, -1, -1, -1, -1, 583, -1, 3650 1212, -1, -1, 588, -1, -1, 364, -1, -1, 744, 3651 368, -1, -1, -1, -1, -1, -1, -1, 603, -1, 3652 -1, 1228, -1, -1, -1, -1, -1, -1, -1, -1, 3653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654 -1, -1, -1, -1, -1, 780, 1258, 1259, -1, -1, 3655 -1, -1, -1, -1, -1, 790, 791, 32, -1, 794, 3656 645, 796, 797, -1, -1, -1, -1, 802, 653, -1, 3657 -1, -1, -1, 431, -1, -1, -1, -1, -1, -1, 3658 -1, -1, -1, -1, -1, 1297, 1298, -1, -1, 1301, 3659 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3660 1307, -1, 1309, 461, -1, -1, -1, -1, -1, 84, 3661 -1, -1, 1319, -1, 1321, -1, -1, -1, -1, -1, 3662 -1, -1, 480, -1, -1, 100, -1, 102, -1, 1336, 3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3664 -1, -1, -1, -1, -1, -1, -1, 1354, 1355, 734, 3665 -1, -1, -1, -1, -1, 890, -1, -1, -1, 744, 3666 1367, 746, -1, -1, 749, 1372, -1, 525, 1375, -1, 3667 755, -1, -1, 1385, 155, -1, -1, -1, -1, -1, 3668 -1, -1, -1, -1, 1391, -1, -1, -1, 32, -1, 3669 -1, -1, -1, -1, 1401, -1, 931, 1404, -1, 1406, 3670 1407, 1408, -1, -1, -1, -1, -1, -1, -1, -1, 3671 -1, 796, 797, 188, 189, -1, -1, -1, 193, -1, 3672 195, 196, -1, -1, -1, -1, -1, 812, 963, 587, 3673 588, 966, -1, 591, -1, -1, -1, -1, -1, 1446, 3674 84, 1448, -1, -1, -1, -1, 981, 982, -1, 984, 3675 985, 1458, -1, -1, -1, -1, 100, -1, 102, -1, 3676 -1, 1468, -1, -1, 1476, 623, -1, -1, 626, -1, 3677 855, -1, -1, -1, 859, 633, -1, 635, -1, -1, 3678 -1, 639, -1, 127, 642, 643, -1, -1, -1, -1, 3679 -1, -1, -1, -1, 1506, 1507, -1, -1, -1, -1, 3680 658, -1, -1, -1, -1, 890, -1, 1042, 1043, -1, 3681 -1, -1, -1, -1, -1, -1, -1, -1, -1, 677, 3682 -1, -1, -1, -1, 1536, -1, -1, -1, -1, -1, 3683 -1, -1, -1, -1, -1, 693, -1, -1, -1, -1, 3684 925, -1, 186, -1, 188, 189, 931, -1, 706, 193, 3685 708, 195, 196, 938, -1, -1, -1, 338, 943, -1, 3686 335, 946, 343, 344, -1, -1, -1, -1, -1, -1, 3687 -1, -1, -1, -1, -1, -1, -1, -1, -1, 354, 3688 1115, 966, -1, 364, -1, -1, 744, 368, -1, -1, 3689 -1, -1, 977, -1, -1, -1, -1, -1, -1, -1, 3690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3691 -1, -1, 997, -1, 999, 259, -1, -1, -1, -1, 3692 -1, -1, 780, -1, -1, -1, -1, -1, -1, 1014, 3693 1015, 406, 790, 791, -1, -1, 794, -1, 796, 797, 3694 -1, -1, -1, -1, 802, -1, -1, -1, -1, -1, 3695 431, -1, -1, -1, -1, -1, 1041, -1, -1, -1, 3696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3697 -1, -1, -1, -1, -1, 1210, -1, 1212, -1, -1, 3698 461, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3699 -1, 335, -1, -1, -1, -1, -1, 44, 45, 480, 3700 47, -1, -1, -1, 1239, -1, -1, -1, -1, 1094, 3701 354, -1, 1247, 1248, 1249, -1, -1, -1, -1, -1, 3702 -1, -1, -1, 1258, 1259, -1, 73, -1, -1, 76, 3703 1115, -1, 890, 80, -1, -1, 83, 84, 85, 86, 3704 87, 88, 89, 90, 525, 92, 93, -1, 1133, 1134, 3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3706 -1, -1, 406, -1, -1, -1, -1, -1, 115, -1, 3707 117, -1, -1, 931, -1, -1, 123, 124, 125, 126, 3708 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, 3709 -1, -1, -1, -1, -1, -1, -1, 572, 573, -1, 3710 -1, -1, -1, -1, -1, 963, 587, 588, 966, -1, 3711 591, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3712 -1, -1, -1, 981, 982, -1, 984, 985, -1, -1, 3713 605, -1, -1, 608, 609, -1, 611, -1, 613, 614, 3714 -1, -1, 623, 618, 619, 626, -1, -1, -1, -1, 3715 1385, -1, 633, -1, 635, -1, -1, -1, 639, -1, 3716 -1, 642, 643, -1, -1, -1, -1, -1, -1, -1, 3717 -1, -1, -1, -1, -1, -1, -1, 658, -1, 1414, 3718 -1, -1, -1, -1, 1042, 1043, -1, 662, -1, -1, 3719 -1, 666, -1, -1, -1, -1, 677, -1, -1, 1284, 3720 -1, -1, -1, 1288, -1, -1, -1, 1442, -1, 1444, 3721 -1, -1, 693, -1, -1, -1, -1, -1, -1, -1, 3722 -1, -1, -1, -1, -1, 706, -1, 708, 572, 573, 3723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3724 -1, -1, 1477, -1, -1, -1, -1, 1482, -1, 1484, 3725 -1, -1, -1, -1, -1, -1, -1, 1115, -1, -1, 3726 -1, 605, -1, 744, 608, 609, -1, 611, -1, 613, 3727 614, -1, -1, -1, 618, 619, -1, -1, -1, -1, 3728 -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, 3729 -1, -1, 12, 13, 14, 15, 16, 17, 18, 780, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, 790, 3731 791, -1, -1, 794, -1, 796, 797, -1, 662, -1, 3732 -1, 802, 666, -1, 44, 45, 46, 47, 12, 13, 3733 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3734 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 3735 34, -1, 1210, 73, 1212, -1, 76, -1, -1, -1, 3736 80, -1, 46, 83, 84, 85, 86, 87, 88, 89, 3737 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, 3738 -1, 1239, -1, -1, -1, -1, -1, -1, -1, 1247, 3739 1248, 1249, -1, -1, -1, 115, -1, 117, 82, -1, 3740 1258, 1259, -1, 123, 124, 125, 126, 127, 128, 890, 3741 -1, -1, -1, 12, 13, 14, 15, 16, 17, 18, 3742 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3743 29, 30, 31, 32, 33, 34, -1, -1, 1523, -1, 3744 -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, 3745 931, -1, -1, -1, -1, 12, 13, 14, 15, 16, 3746 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3747 27, 28, 29, 30, 31, 32, 33, -1, 953, 36, 3748 37, 38, 963, 82, -1, 966, -1, -1, -1, 46, 3749 -1, -1, -1, -1, 969, -1, -1, 972, 973, -1, 3750 981, 982, -1, 984, 985, -1, -1, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, 3752 -1, 78, 79, 80, -1, -1, -1, 1385, -1, -1, 3753 -1, -1, 89, 90, 12, 13, 14, 15, 16, 17, 3754 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3755 28, 29, 30, 31, 32, 33, 1414, -1, 115, -1, 3756 117, 1042, 1043, -1, -1, -1, 123, 124, 46, -1, 3757 1045, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3758 -1, -1, -1, -1, 1442, -1, 1444, -1, 1063, 1064, 3759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3760 -1, -1, -1, -1, -1, -1, -1, -1, -1, 953, 3761 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1477, 3762 -1, -1, -1, -1, 1482, 969, 1484, -1, 972, 973, 3763 -1, -1, -1, -1, 1115, -1, -1, -1, -1, -1, 3764 -1, -1, -1, -1, -1, 1120, -1, -1, -1, -1, 3765 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 3766 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3767 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3768 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 3769 -1, -1, 36, 37, 38, 39, -1, -1, -1, 43, 3770 -1, 1045, 46, 47, -1, -1, -1, 1182, -1, -1, 3771 -1, -1, -1, -1, 1058, -1, -1, -1, -1, 1063, 3772 1064, -1, -1, -1, -1, -1, 1201, 71, -1, 1210, 3773 -1, 1212, 76, -1, 78, 79, 80, -1, -1, -1, 3774 -1, -1, -1, -1, -1, 89, 90, -1, -1, -1, 3775 -1, -1, -1, -1, -1, -1, -1, -1, 1239, -1, 3776 -1, -1, -1, -1, -1, -1, 1247, 1248, 1249, -1, 3777 -1, 115, -1, 117, -1, -1, 1120, 1258, 1259, 123, 3778 124, -1, -1, -1, -1, 3, 4, 5, 6, 7, 2623 3779 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2624 3780 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2625 0, 0, 28, 29, 30, 31, 0, 0, 0, 32, 2626 275, 276, 33, 277, 8, 9, 10, 11, 12, 13, 2627 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2628 24, 25, 26, 27, 0, 0, 28, 29, 30, 278, 2629 36, 0, 37, 0, 38, 279, 33, 40, 41, 280, 2630 0, 0, 281, 282, 272, 283, 284, 285, 43, 44, 2631 0, 286, 287, 0, 0, 0, 0, 0, 0, 0, 2632 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 2633 0, 40, 41, 0, 288, 0, 289, 0, 0, 0, 2634 0, 0, 47, 48, 290, 291, 292, 293, 2, 202, 3781 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 3782 38, 39, 1297, -1, -1, 43, 44, 45, 46, 47, 3783 -1, -1, -1, -1, -1, -1, -1, -1, 1182, -1, 3784 -1, -1, -1, -1, 44, 45, -1, 47, -1, -1, 3785 -1, -1, -1, -1, -1, 73, -1, 1201, 76, -1, 3786 78, 79, 80, -1, -1, 83, 84, 85, 86, 87, 3787 88, 89, 90, 73, 92, 93, 76, -1, -1, -1, 3788 80, -1, -1, 83, 84, 85, 86, 87, 88, 89, 3789 90, -1, 92, 93, -1, -1, -1, 115, -1, 117, 3790 -1, -1, -1, -1, 1385, 123, 124, 125, 126, 127, 3791 128, -1, -1, -1, -1, 115, -1, 117, -1, -1, 3792 138, -1, -1, 123, 124, 125, 126, 127, 128, -1, 3793 -1, -1, -1, 1414, -1, -1, -1, -1, -1, -1, 3794 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3795 -1, -1, -1, 1297, -1, -1, -1, -1, -1, -1, 3796 -1, 1442, -1, 1444, 3, 4, 5, 6, 7, 8, 3797 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3798 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3799 29, 30, 31, 32, 33, -1, 1477, 36, 37, 38, 3800 39, 1482, -1, 1484, 43, 44, 45, 46, 47, 48, 3801 -1, 50, -1, -1, 53, 54, 55, 56, 57, 58, 3802 59, 60, -1, -1, -1, 64, -1, -1, -1, 68, 3803 69, -1, 71, -1, 73, -1, -1, 76, -1, 78, 3804 79, 80, -1, -1, 83, 84, 85, 86, 87, 88, 3805 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, 3806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807 -1, -1, -1, -1, -1, -1, 115, -1, 117, -1, 3808 -1, 120, -1, -1, 123, 124, 125, 126, 127, 128, 3809 -1, -1, -1, -1, 133, -1, -1, -1, -1, 138, 3810 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3811 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3812 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 3813 33, -1, -1, 36, 37, 38, 39, -1, -1, -1, 3814 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, 3815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3817 73, -1, -1, 76, -1, 78, 79, 80, -1, -1, 3818 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 3819 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3821 -1, -1, 115, -1, 117, -1, -1, -1, -1, -1, 3822 123, 124, 125, 126, 127, 128, 4, 5, 6, 7, 3823 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3824 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3825 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 3826 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 3827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3829 -1, -1, -1, -1, -1, 73, -1, -1, 76, -1, 3830 78, 79, 80, -1, -1, 83, 84, 85, 86, 87, 3831 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, 3832 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3833 -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, 3834 -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 3835 128, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3836 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3837 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 3838 33, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3839 -1, 44, 45, 46, 47, -1, -1, -1, -1, -1, 3840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3842 73, -1, -1, 76, -1, 78, 79, 80, -1, -1, 3843 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 3844 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3846 -1, -1, 115, -1, 117, -1, -1, -1, -1, 122, 3847 123, 124, 125, 126, 127, 128, 4, 5, 6, 7, 3848 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3849 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3850 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 3851 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 3852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3854 -1, -1, -1, -1, -1, 73, -1, -1, 76, -1, 3855 78, 79, 80, -1, -1, 83, 84, 85, 86, 87, 3856 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, 3857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3858 -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, 3859 -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 3860 128, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3861 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3862 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 3863 33, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3864 -1, 44, 45, 46, 47, -1, -1, -1, -1, -1, 3865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3867 73, -1, -1, 76, -1, 78, 79, 80, -1, -1, 3868 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 3869 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3871 -1, -1, 115, -1, 117, -1, -1, -1, -1, -1, 3872 123, 124, 125, 126, 127, 128, 4, 5, 6, 7, 3873 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3874 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3875 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 3876 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3879 -1, -1, -1, -1, -1, 73, -1, -1, 76, -1, 3880 78, 79, 80, -1, -1, 83, 84, 85, 86, 87, 3881 88, 89, 90, 5, 92, 93, -1, -1, -1, -1, 3882 12, 13, 14, 15, 16, 17, 18, -1, -1, -1, 3883 -1, 44, 45, -1, 47, -1, -1, 115, -1, 117, 3884 -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 3885 128, -1, 44, 45, 46, 47, -1, -1, -1, -1, 3886 73, -1, -1, 76, -1, 78, 79, 80, -1, -1, 3887 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 3888 93, 73, -1, -1, 76, -1, -1, -1, 80, -1, 3889 -1, 83, 84, 85, 86, 87, 88, 89, 90, -1, 3890 92, 93, 115, -1, 117, -1, 119, 120, -1, -1, 3891 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 3892 -1, -1, -1, 115, -1, 117, -1, -1, -1, -1, 3893 -1, 123, 124, 125, 126, 127, 128, 3, 4, 5, 3894 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3895 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3896 26, 27, 28, 29, 30, 31, 32, 33, -1, -1, 3897 36, 37, 38, 39, -1, -1, -1, 43, -1, -1, 3898 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, 3899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3900 -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, 3901 76, -1, 78, 79, 80, -1, -1, -1, -1, -1, 3902 -1, -1, -1, 89, 90, -1, -1, -1, -1, -1, 3903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 3905 -1, 117, -1, -1, -1, 121, -1, 123, 124, 3, 2635 3906 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2636 3907 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2637 24, 25, 26, 27, 0, 0, 334, 29, 30, 0, 2638 0, 0, 0, 0, 275, 276, 33, 277, 8, 9, 3908 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 3909 -1, -1, 36, 37, 38, -1, -1, -1, -1, -1, 3910 -1, -1, 46, 12, 13, 14, 15, 16, 17, 18, 3911 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3912 29, 30, 31, 32, 33, -1, -1, 36, 37, 38, 3913 -1, -1, 76, -1, 78, 79, 80, 46, -1, -1, 3914 -1, -1, -1, -1, -1, 89, 90, -1, -1, -1, 3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3916 -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, 3917 79, 115, -1, 117, -1, -1, -1, -1, -1, 123, 3918 124, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3919 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3920 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 3921 32, 33, 34, -1, 36, 37, 38, 39, -1, -1, 3922 -1, 43, -1, -1, 46, -1, -1, -1, -1, -1, 3923 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3925 -1, -1, -1, -1, -1, -1, 78, 79, -1, -1, 3926 82, -1, -1, 3, 4, 5, 6, 7, 8, 9, 2639 3927 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2640 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2641 334, 29, 30, 278, 36, 0, 37, 0, 38, 279, 2642 33, 40, 41, 280, 0, 0, 281, 282, 272, 283, 2643 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2644 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2645 0, 0, 0, 0, 0, 40, 41, 0, 288, 0, 2646 335, 0, 0, 0, 0, 748, 336, 48, 290, 291, 2647 292, 293, 2, 202, 4, 5, 6, 7, 8, 9, 2648 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2649 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2650 334, 29, 30, 0, 0, 0, 0, 0, 275, 276, 2651 33, 277, 8, 9, 10, 11, 12, 13, 14, 15, 2652 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2653 26, 27, 0, 0, 28, 29, 30, 278, 36, 0, 2654 37, 0, 38, 279, 33, 40, 41, 280, 0, 0, 2655 281, 282, 272, 283, 284, 285, 43, 44, 0, 286, 2656 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2657 0, 0, 36, 0, 0, 0, 0, 0, 0, 203, 2658 41, 0, 288, 0, 335, 0, 0, 0, 0, 748, 2659 47, 48, 290, 291, 292, 293, 2, 202, 4, 5, 3928 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3929 30, 31, 32, 33, -1, 117, 36, 37, 38, 39, 3930 -1, 123, 124, 43, -1, -1, 46, -1, -1, -1, 3931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3933 -1, -1, -1, -1, -1, -1, -1, -1, 78, 79, 3934 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3935 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3936 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 3937 -1, -1, 36, 37, 38, -1, -1, 117, -1, -1, 3938 -1, -1, 46, 123, 124, -1, -1, -1, -1, -1, 3939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3940 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3941 -1, -1, 76, -1, 78, 79, 80, -1, -1, -1, 3942 -1, -1, -1, -1, -1, 89, 90, -1, -1, -1, 3943 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3945 -1, 115, -1, 117, -1, -1, -1, -1, -1, 123, 3946 124, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3947 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3948 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 3949 33, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3950 -1, -1, -1, 46, 12, 13, 14, 15, 16, 17, 3951 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3952 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 3953 38, 39, 40, 41, 42, 78, 79, -1, 46, -1, 3954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3955 -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, 3956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3957 78, 79, -1, -1, 117, -1, -1, -1, -1, -1, 3958 123, 124, 4, 5, 6, 7, 8, 9, 10, 11, 3959 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3960 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 3961 32, 33, -1, -1, 36, 37, 38, -1, -1, -1, 3962 -1, -1, -1, -1, 46, 12, 13, 14, 15, 16, 3963 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3964 27, 28, 29, 30, 31, 32, 33, -1, -1, 36, 3965 37, 38, -1, -1, -1, -1, 78, 79, -1, 46, 3966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3968 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3969 -1, 78, 79, -1, -1, 117, -1, -1, -1, -1, 3970 -1, 123, 124, 4, 5, 6, 7, 8, 9, 10, 3971 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3972 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 3973 31, 32, 33, -1, -1, 36, 37, 38, -1, -1, 3974 -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, 3975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3977 -1, -1, -1, -1, -1, -1, -1, 78, 79, 4, 3978 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3979 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3980 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 3981 -1, 36, 37, 38, -1, -1, 117, -1, -1, -1, 3982 -1, 46, 123, 124, -1, -1, -1, -1, -1, -1, 3983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3985 -1, -1, -1, 78, 79, 4, 5, 6, 7, 8, 3986 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3987 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3988 29, 30, 31, 32, 33, -1, -1, 36, 37, 38, 3989 -1, -1, 117, -1, -1, -1, -1, 46, 123, 124, 3990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, 3993 79, -1, -1, -1, -1, -1, 3, 4, 5, 6, 3994 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3995 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3996 27, 28, 29, 30, 31, 32, 33, -1, 117, 36, 3997 37, 38, -1, -1, 123, 124, -1, -1, -1, 46, 3998 -1, -1, -1, 12, 13, 14, 15, 16, 17, 18, 3999 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4000 29, 30, 31, 32, 33, -1, -1, 36, 37, 38, 4001 -1, 78, 79, -1, -1, 44, 45, 46, 47, -1, 4002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4004 -1, -1, -1, -1, 73, -1, -1, 76, -1, 78, 4005 79, 80, -1, 120, 83, 84, 85, 86, 87, 88, 4006 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, 4007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4008 -1, -1, -1, -1, -1, -1, 115, -1, 117, -1, 4009 -1, 120, -1, -1, 123, 124, 125, 126, 127, 128, 4010 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4011 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 4012 32, 33, -1, -1, 36, 37, 38, -1, -1, -1, 4013 -1, -1, 44, 45, 46, 47, -1, -1, -1, -1, 4014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4016 -1, 73, -1, -1, 76, -1, 78, 79, 80, -1, 4017 -1, 83, 84, 85, 86, 87, 88, 89, 90, -1, 4018 92, 93, -1, -1, -1, -1, -1, -1, -1, -1, 4019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4020 -1, -1, -1, 115, 116, 117, -1, -1, -1, -1, 4021 -1, 123, 124, 125, 126, 127, 128, 12, 13, 14, 4022 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4023 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 4024 -1, 36, 37, 38, -1, -1, -1, -1, -1, 44, 4025 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, 4026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4027 -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, 4028 -1, 76, -1, 78, 79, 80, -1, -1, 83, 84, 4029 85, 86, 87, 88, 89, 90, -1, 92, 93, -1, 4030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4032 115, -1, 117, -1, -1, -1, -1, -1, 123, 124, 4033 125, 126, 127, 128, 12, 13, 14, 15, 16, 17, 4034 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4035 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 4036 38, -1, -1, -1, -1, -1, 44, 45, 46, 47, 4037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4039 -1, -1, -1, -1, -1, 73, -1, -1, 76, -1, 4040 78, 79, 80, -1, -1, 83, 84, 85, 86, 87, 4041 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, 4042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4043 -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, 4044 -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 4045 128, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4046 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 4047 31, 32, 33, -1, -1, 36, 37, 38, -1, -1, 4048 -1, -1, -1, 44, 45, 46, 47, -1, -1, -1, 4049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4051 -1, -1, 73, -1, -1, 76, -1, 78, 79, 80, 4052 -1, -1, 83, 84, 85, 86, 87, 88, 89, 90, 4053 -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, 4054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4055 -1, -1, -1, -1, 115, -1, 117, -1, -1, -1, 4056 -1, -1, 123, 124, 125, 126, 127, 128, 4, 5, 2660 4057 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2661 4058 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2662 26, 27, 0, 0, 334, 29, 30, 0, 0, 0, 2663 0, 0, 275, 276, 33, 277, 0, 0, 0, 0, 2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 278, 36, 0, 37, 0, 38, 279, 0, 40, 2667 41, 280, 0, 0, 281, 282, 272, 283, 284, 285, 2668 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2670 0, 0, 0, 0, 0, 0, 288, 0, 335, 0, 2671 0, 0, 0, 0, 336, 48, 290, 291, 292, 293, 2672 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 4059 26, 27, 28, 29, 30, 31, 32, 33, -1, -1, 4060 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 4061 46, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4062 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 4063 31, 32, 33, -1, -1, 36, 37, 38, -1, -1, 4064 -1, -1, 78, 79, -1, 46, -1, -1, -1, -1, 4065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4067 -1, -1, -1, -1, -1, 76, -1, 78, 79, 80, 4068 116, -1, -1, -1, -1, -1, -1, -1, 89, 90, 4069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4071 -1, -1, -1, -1, 115, -1, 117, -1, -1, -1, 4072 -1, -1, 123, 124, 12, 13, 14, 15, 16, 17, 4073 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4074 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 4075 38, -1, -1, -1, -1, -1, -1, -1, 46, 12, 4076 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4077 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 4078 33, -1, -1, 36, 37, 38, -1, -1, 76, -1, 4079 78, 79, -1, 46, 47, -1, -1, -1, -1, -1, 4080 -1, 89, 90, -1, -1, -1, -1, -1, -1, -1, 4081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082 -1, -1, -1, -1, -1, 78, 79, -1, -1, 117, 4083 -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, 4084 -1, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4085 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 4086 31, 32, 33, -1, 117, 36, 37, 38, 121, -1, 4087 123, 124, -1, -1, -1, 46, 47, 12, 13, 14, 4088 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4089 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 4090 -1, 36, 37, 38, -1, -1, -1, 78, 79, -1, 4091 -1, 46, 47, 12, 13, 14, 15, 16, 17, 18, 4092 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4093 29, 30, 31, 32, 33, -1, -1, 36, 37, 38, 4094 -1, -1, -1, 78, 79, -1, 117, 46, -1, -1, 4095 121, -1, 123, 124, -1, -1, -1, -1, -1, -1, 4096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4097 -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, 4098 79, -1, 117, -1, -1, -1, 121, -1, 123, 124, 4099 -1, -1, -1, -1, -1, 12, 13, 14, 15, 16, 4100 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4101 27, 28, 29, 30, 31, 32, 33, -1, 117, 36, 4102 37, 38, -1, -1, 123, 124, -1, -1, -1, 46, 2673 4103 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2674 22, 23, 24, 25, 26, 27, 0, 0, 334, 29, 2675 30, 0, 0, 0, 0, 0, 275, 276, 33, 277, 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2678 0, 0, 0, 0, 0, 278, 36, 0, 37, 0, 2679 38, 279, 0, 203, 41, 280, 0, 0, 281, 282, 2680 272, 283, 284, 285, 43, 44, 0, 286, 287, 0, 2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2683 288, 0, 960, 0, 0, 0, 0, 0, 961, 48, 2684 290, 291, 292, 293, 2, 202, 4, 5, 6, 7, 2685 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 4104 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 4105 32, 33, -1, -1, 36, 37, 38, -1, -1, -1, 4106 -1, 78, 79, -1, 46, 12, 13, 14, 15, 16, 4107 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4108 27, 28, 29, 30, 31, 32, 33, -1, -1, 36, 4109 37, 38, -1, -1, -1, -1, 78, 79, -1, 46, 4110 117, -1, -1, -1, -1, -1, 123, 124, -1, -1, 4111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4113 -1, 78, 79, -1, -1, 117, -1, -1, -1, -1, 4114 -1, 123, 124, -1, -1, -1, -1, 12, 13, 14, 4115 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4116 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 4117 117, 36, 37, 38, -1, -1, 123, 124, -1, -1, 4118 -1, 46, 12, 13, 14, 15, 16, 17, 18, 19, 4119 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4120 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 4121 -1, -1, -1, 78, 79, -1, 46, 12, 13, 14, 4122 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4123 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 4124 -1, 36, 37, 38, -1, -1, -1, -1, 78, 79, 4125 -1, 46, 117, -1, -1, -1, -1, -1, 123, 124, 4126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4128 -1, -1, -1, 78, 79, -1, -1, 117, -1, -1, 4129 -1, -1, -1, 123, 124, -1, -1, -1, -1, 12, 4130 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4131 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 4132 33, -1, 117, 36, 37, 38, -1, -1, 123, 124, 4133 -1, -1, -1, 46, 12, 13, 14, 15, 16, 17, 2686 4134 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2687 0, 0, 334, 29, 30, 0, 0, 0, 0, 0, 2688 275, 276, 33, 277, 0, 0, 0, 0, 0, 0, 2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 2691 36, 0, 37, 0, 38, 279, 0, 203, 41, 280, 2692 0, 0, 281, 282, 272, 283, 284, 285, 43, 44, 2693 0, 286, 287, 0, 0, 0, 0, 0, 0, 0, 2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2695 0, 0, 0, 0, 288, 0, 377, 0, 0, 0, 2696 0, 0, 47, 48, 290, 291, 292, 293, 1, 2, 2697 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 4135 28, 29, 30, 31, 32, 33, -1, -1, 36, 37, 4136 38, -1, -1, -1, -1, 78, 79, -1, 46, 12, 2698 4137 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2699 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2700 31, 0, 0, 0, 32, 0, 0, 33, 34, 0, 2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2703 0, 0, 35, 0, 0, 36, 0, 37, 0, 38, 2704 39, 0, 40, 41, 42, 0, 0, 0, 0, 0, 2705 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 2708 0, 46, 0, 0, 0, 0, 0, 47, 48, 201, 2709 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 2710 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2711 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2712 30, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2715 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2716 38, 39, 0, 203, 41, 42, 0, 0, 0, 0, 2717 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2720 45, 0, 204, 0, 0, 0, 0, 0, 47, 48, 2721 1, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2722 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2723 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2724 29, 30, 31, 0, 0, 0, 32, 0, 0, 33, 2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2728 0, 38, 0, 0, 40, 41, 201, 2, 202, 4, 2729 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2730 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2731 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2732 0, 0, 0, 46, 0, 33, 0, 0, 0, 47, 2733 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2736 203, 41, 2, 202, 4, 5, 6, 7, 8, 9, 2737 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2738 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2739 28, 29, 30, 0, 0, 0, 0, 0, 0, 204, 2740 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2742 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2743 37, 0, 38, 39, 0, 203, 41, 42, 0, 0, 2744 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2747 0, 0, 45, 0, 204, 0, 0, 0, 0, 0, 2748 47, 48, 2, 202, 4, 5, 6, 7, 8, 9, 2749 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2750 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2751 334, 29, 30, 0, 0, 0, 0, 0, 0, 0, 2752 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2754 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2755 37, 0, 38, 0, 0, 40, 41, 2, 202, 4, 2756 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2757 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2758 25, 26, 27, 0, 0, 334, 29, 30, 0, 0, 2759 0, 0, 0, -426, 683, 33, 0, 0, 0, 0, 2760 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2762 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2763 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765 0, 0, 0, 0, 1336, 0, 0, 0, 0, 0, 2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 2767 0, 0, 0, 0, 0, 47, 48, 2, 202, 4, 2768 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2769 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2770 25, 26, 27, 0, 0, 334, 29, 30, 0, 0, 2771 0, 0, 0, 0, 0, 33, 0, 8, 9, 10, 2772 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2773 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2774 29, 30, 0, 36, 0, 37, 0, 38, 0, 33, 2775 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2777 0, 0, 0, 0, 1338, 0, 0, 36, 0, 0, 2778 0, 0, 0, 0, 40, 41, 0, 0, 0, 683, 2779 0, 0, 0, 0, 0, 47, 48, 2, 202, 4, 2780 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2781 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2782 25, 26, 27, 46, 0, 334, 29, 30, 0, 47, 2783 48, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2786 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2787 203, 41, 2, 202, 4, 5, 6, 7, 8, 9, 2788 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2789 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2790 334, 29, 30, 0, 0, 0, 0, 0, 0, 260, 2791 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2793 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2794 37, 0, 38, 0, 0, 40, 41, 2, 202, 4, 2795 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2796 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2797 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2798 0, 0, 0, 0, 683, 33, 0, 0, 0, 0, 2799 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2802 203, 41, 8, 9, 10, 11, 12, 13, 14, 15, 2803 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2804 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2805 0, 0, 275, 276, 33, 277, 0, 0, 0, 204, 2806 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808 0, 278, 36, 0, 0, 0, 0, 279, 0, 40, 2809 41, 280, 0, 0, 281, 282, 272, 283, 284, 285, 2810 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812 0, 0, 0, 0, 0, 0, 288, 0, 518, 0, 2813 0, 168, 0, 0, 47, 48, 290, 291, 292, 293, 2814 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2815 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2816 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2817 275, 276, 33, 277, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 2820 36, 0, 0, 0, 0, 279, 0, 40, 41, 280, 2821 0, 0, 281, 282, 272, 283, 284, 285, 43, 44, 2822 0, 286, 287, 0, 0, 0, 0, 0, 0, 0, 2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2824 0, 0, 0, 0, 288, -40, 289, 0, 0, 0, 2825 0, 0, 47, 48, 290, 291, 292, 293, 8, 9, 2826 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2827 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2828 28, 29, 30, 0, 0, 0, 0, 0, 275, 276, 2829 33, 277, 0, 0, 0, 0, 0, 0, 0, 0, 2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831 0, 0, 0, 0, 0, 0, 0, 278, 36, 0, 2832 0, 0, 0, 279, 0, 40, 41, 280, 0, 0, 2833 281, 282, 272, 283, 284, 285, 43, 44, 0, 286, 2834 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836 0, 0, 288, 0, 289, 0, 0, 0, 0, 0, 2837 47, 48, 290, 291, 292, 293, 8, 9, 10, 11, 2838 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2839 22, 23, 24, 25, 26, 27, 0, 0, 334, 29, 2840 30, 0, 0, 0, 0, 0, 275, 276, 33, 277, 2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2843 0, 0, 0, 0, 0, 278, 36, 0, 0, 0, 2844 0, 279, 0, 40, 41, 280, 0, 0, 281, 282, 2845 272, 283, 284, 285, 43, 44, 0, 286, 287, 0, 2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2848 288, 0, 335, 0, 0, 0, 0, 0, 47, 48, 2849 290, 291, 292, 293, 8, 9, 10, 11, 12, 13, 2850 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2851 24, 25, 26, 27, 0, 0, 334, 29, 30, 0, 2852 0, 0, 0, 0, 275, 276, 33, 277, 0, 0, 2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2855 0, 0, 0, 278, 36, 0, 0, 0, 0, 279, 2856 0, 40, 41, 280, 0, 0, 281, 282, 272, 283, 2857 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2860 377, 0, 0, 0, 0, 0, 47, 48, 290, 291, 2861 292, 293, 463, 2, 202, 4, 5, 6, 7, 8, 2862 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2863 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2864 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 2865 0, 33, 8, 9, 10, 11, 12, 13, 14, 15, 2866 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2867 26, 27, 0, 0, 28, 29, 30, 0, 0, 36, 2868 0, 37, 0, 38, 33, 0, 40, 41, 0, 0, 2869 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2870 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2871 26, 27, 36, 0, 28, 29, 30, 39, 0, 40, 2872 41, 42, 0, 0, 33, 0, 0, 0, -3, 0, 2873 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875 0, 0, 36, 0, 0, 0, 45, 39, 46, 203, 2876 41, 42, 0, 0, 47, 48, 0, 0, 0, 0, 2877 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879 0, 0, 0, 0, 0, 0, 45, 0, 260, 0, 2880 0, 0, 0, 0, 47, 48, 8, 9, 10, 11, 2881 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2882 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2883 30, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2884 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 2885 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2886 22, 23, 24, 25, 26, 27, 36, 0, 28, 29, 2887 30, 111, 0, 40, 41, 0, 0, 0, 33, 894, 2888 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2890 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 2891 0, 0, 46, 40, 41, 0, 0, 0, 47, 48, 2892 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2893 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2894 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2895 0, 0, 736, 33, 894, 0, 1208, 0, 47, 48, 2896 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2897 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2898 27, 36, 0, 28, 29, 30, 0, 0, 40, 41, 2899 0, 0, 0, 33, 8, 9, 10, 11, 12, 13, 2900 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2901 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2902 0, 36, 0, 0, 0, 0, 33, 736, 203, 41, 2903 0, 1294, 0, 47, 48, 0, 0, 0, 0, 0, 2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2905 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 2906 0, 40, 41, 0, 0, 0, 0, 260, 0, 0, 2907 0, 0, 0, 47, 48, 0, 0, 0, 0, 8, 2908 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2909 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2910 330, 334, 29, 30, 0, 0, 47, 48, 0, 0, 2911 0, 33, 8, 9, 10, 11, 12, 13, 14, 15, 2912 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2913 26, 27, 0, 0, 334, 29, 30, 0, 0, 36, 2914 0, 0, 0, 0, 33, 0, 40, 41, 0, 0, 2915 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2916 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2917 26, 27, 36, 0, 28, 29, 30, 0, 0, 40, 2918 41, 0, 0, 0, 33, 247, 0, 0, 0, 0, 2919 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 2920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921 0, 0, 36, 0, 0, 0, 0, 0, 330, 40, 2922 41, 0, 0, 0, 47, 48, 0, 8, 9, 10, 2923 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2924 21, 22, 23, 24, 25, 26, 27, 0, 0, 334, 2925 29, 30, 0, 0, 0, 0, 0, 0, 736, 33, 2926 0, 0, 0, 0, 47, 48, 0, 8, 9, 10, 2927 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2928 21, 22, 23, 24, 25, 26, 27, 36, 0, 334, 2929 29, 30, 0, 0, 203, 41, 0, 0, 0, 33, 2930 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2931 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2932 0, 0, 334, 29, 30, 0, 0, 36, 0, 0, 2933 0, 0, 33, 260, 40, 41, 0, 0, 0, 47, 2934 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2936 36, 0, 0, 0, 0, 0, 0, 40, 41, 0, 2937 0, 0, 0, 683, 0, 0, 0, 0, 0, 47, 2938 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 2941 0, 0, 47, 48, 2, 202, 4, 5, 6, 7, 2942 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2943 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2944 0, 0, 334, 29, 30, 0, 0, 0, 0, 0, 2945 0, 0, 33, 0, 275, 276, 0, 277, 1002, 0, 2946 1003, 0, 0, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 2947 1011, 0, 0, 1529, 1012, 0, 0, 0, 1013, 1014, 2948 36, 1015, 37, 278, 38, 0, 0, 40, 41, 1016, 2949 0, 171, 172, 1019, 0, 0, 281, 282, 272, 283, 2950 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2952 0, 0, 0, 0, 0, -439, 0, 0, 288, 0, 2953 377, 0, 0, 168, 0, 0, 47, 48, 290, 291, 2954 292, 293, 0, 0, 275, 276, 1020, 277, 1002, 0, 2955 1003, -134, 0, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 2956 1011, 0, 0, 0, 1012, 0, 0, 0, 1013, 1014, 2957 0, 1015, 0, 278, 0, 0, 0, 0, 0, 1016, 2958 0, 171, 172, 1019, 0, 0, 281, 282, 272, 283, 2959 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2961 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2962 377, 0, 0, 168, 0, 0, 47, 48, 290, 291, 2963 292, 293, 0, 0, 0, 0, 1020, 0, 0, 0, 2964 0, -134, 2, 202, 4, 5, 6, 7, 8, 9, 2965 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2966 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2967 334, 29, 30, 0, 0, 0, 0, 0, 0, 0, 2968 33, 0, 275, 276, 0, 277, 1002, 0, 1003, 1388, 2969 1389, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 0, 2970 0, 1529, 1012, 0, 0, 0, 1013, 1014, 36, 1015, 2971 37, 278, 38, 0, 0, 40, 41, 1016, 0, 171, 2972 172, 1019, 0, 0, 281, 282, 272, 283, 284, 285, 2973 43, 44, 0, 286, 287, 0, 0, 0, 0, 1301, 2974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2975 0, 0, 0, 0, 0, 0, 288, 0, 377, 0, 2976 0, 168, 0, 0, 47, 48, 290, 291, 292, 293, 2977 0, 0, 275, 276, 1020, 277, 1002, 0, 1003, 1388, 2978 1389, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 0, 2979 0, 0, 1012, 0, 0, 0, 1013, 1014, 0, 1015, 2980 0, 278, 0, 0, 0, 0, 0, 1016, 0, 171, 2981 172, 1019, 0, 0, 281, 282, 272, 283, 284, 285, 2982 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2984 0, 0, 0, 0, 0, 0, 288, 0, 377, 0, 2985 0, 168, 0, 0, 47, 48, 290, 291, 292, 293, 2986 0, 0, 275, 276, 1020, 277, 1002, 0, 1003, 0, 2987 0, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 0, 2988 0, 0, 1012, 0, 0, 0, 1013, 1014, 0, 1015, 2989 0, 278, 0, 0, 0, 0, 0, 1016, 0, 171, 2990 172, 1019, 0, 0, 281, 282, 272, 283, 284, 285, 2991 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2993 0, 0, 0, 0, 0, 0, 288, 0, 377, 0, 2994 0, 168, 0, 0, 47, 48, 290, 291, 292, 293, 2995 0, 0, 0, 0, 1020, 8, 9, 10, 11, 12, 2996 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2997 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2998 0, 0, 0, 0, 0, 0, 0, 33, 201, 2, 2999 202, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3000 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3001 23, 24, 25, 26, 27, 36, 0, 28, 29, 30, 3002 111, 0, 40, 41, 0, 0, 0, 33, 0, 0, 3003 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 3004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 3006 0, 0, 203, 41, 463, 2, 202, 4, 5, 6, 4138 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 4139 33, -1, -1, 36, 37, 38, -1, -1, -1, -1, 4140 78, 79, -1, 46, 117, -1, -1, -1, -1, -1, 4141 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, 4142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4143 -1, -1, -1, -1, -1, 78, 79, -1, -1, 117, 4144 -1, -1, -1, -1, -1, 123, 124, 4, 5, 6, 3007 4145 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3008 4146 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3009 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 3010 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3013 0, 36, 0, 37, 0, 38, 0, 0, 40, 41, 3014 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 3015 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3016 22, 23, 24, 25, 26, 27, 0, 0, 334, 29, 3017 30, 0, 0, 0, 0, 0, 0, 0, 33, 0, 3018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 3021 38, 0, 0, 203, 41, 2, 202, 4, 5, 6, 4147 27, 28, 29, 30, 31, 32, 33, -1, -1, 36, 4148 37, 38, -1, -1, 44, 45, -1, 47, 48, 46, 4149 50, -1, -1, 53, 54, 55, 56, 57, 58, 59, 4150 60, -1, -1, 63, 64, -1, -1, -1, 68, 69, 4151 -1, 71, -1, 73, -1, -1, 76, -1, 78, 79, 4152 80, 78, 79, 83, 84, 85, 86, 87, 88, 89, 4153 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, 4154 -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, 4155 -1, -1, -1, -1, -1, 115, -1, 117, -1, -1, 4156 120, -1, -1, 123, 124, 125, 126, 127, 128, -1, 4157 -1, 44, 45, 133, 47, 48, -1, 50, 138, -1, 4158 53, 54, 55, 56, 57, 58, 59, 60, -1, -1, 4159 -1, 64, -1, -1, -1, 68, 69, -1, 71, -1, 4160 73, -1, -1, 76, -1, 78, 79, 80, -1, -1, 4161 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 4162 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4164 -1, -1, 115, -1, 117, -1, -1, 120, -1, -1, 4165 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 4166 133, -1, -1, 44, 45, 138, 47, 48, -1, 50, 4167 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 4168 -1, -1, 63, 64, -1, -1, -1, 68, 69, -1, 4169 71, -1, 73, -1, -1, 76, -1, 78, 79, 80, 4170 -1, -1, 83, 84, 85, 86, 87, 88, 89, 90, 4171 -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, 4172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4173 -1, -1, -1, -1, 115, -1, 117, -1, -1, 120, 4174 -1, -1, 123, 124, 125, 126, 127, 128, -1, -1, 4175 44, 45, 133, 47, 48, -1, 50, 51, 52, 53, 4176 54, 55, 56, 57, 58, 59, 60, -1, -1, -1, 4177 64, -1, -1, -1, 68, 69, -1, 71, -1, 73, 4178 -1, -1, 76, -1, 78, 79, 80, -1, -1, 83, 4179 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, 4180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4182 -1, 115, -1, 117, -1, -1, 120, -1, -1, 123, 4183 124, 125, 126, 127, 128, -1, -1, 44, 45, 133, 4184 47, 48, -1, 50, -1, -1, 53, 54, 55, 56, 4185 57, 58, 59, 60, -1, -1, -1, 64, -1, -1, 4186 -1, 68, 69, -1, 71, -1, 73, -1, -1, 76, 4187 -1, 78, 79, 80, -1, -1, 83, 84, 85, 86, 4188 87, 88, 89, 90, -1, 92, 93, -1, -1, -1, 4189 -1, -1, -1, 44, 45, -1, 47, -1, -1, -1, 4190 -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, 4191 117, 44, 45, 120, 47, -1, 123, 124, 125, 126, 4192 127, 128, 73, -1, -1, 76, 133, -1, -1, 80, 4193 -1, -1, 83, 84, 85, 86, 87, 88, 89, 90, 4194 73, 92, 93, 76, -1, -1, -1, 80, -1, -1, 4195 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 4196 93, -1, -1, -1, 115, -1, 117, 44, 45, -1, 4197 47, -1, 123, 124, 125, 126, 127, 128, -1, -1, 4198 -1, -1, 115, -1, 117, -1, -1, -1, -1, -1, 4199 123, 124, 125, 126, 127, 128, 73, -1, -1, 76, 4200 -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 4201 87, 88, 89, 90, -1, 92, 93, -1, -1, -1, 4202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4203 -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, 4204 117, -1, -1, -1, -1, -1, 123, 124, 125, 126, 4205 127, 128, 3, 4, 5, 6, 7, 8, 9, 10, 4206 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4207 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 4208 31, 32, 33, -1, -1, 36, 37, 38, -1, -1, 4209 -1, -1, -1, -1, -1, 46, 3, 4, 5, 6, 3022 4210 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3023 4211 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3024 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 3025 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 3026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3028 0, 36, 0, 37, 0, 38, 0, 0, 203, 41, 3029 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3030 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3031 0, 0, 28, 29, 30, 482, 483, 484, 485, 0, 3032 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 3033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3035 36, 0, 0, 0, 0, 0, 0, 40, 41 3036 }; 3037 3038 #define yypact_value_is_default(yystate) \ 3039 ((yystate) == (-1346)) 3040 3041 #define yytable_value_is_error(yytable_value) \ 3042 YYID (0) 3043 3044 static const yytype_int16 yycheck[] = 3045 { 3046 0, 1, 0, 45, 180, 45, 1, 180, 1, 200, 3047 117, 180, 51, 45, 180, 451, 603, 180, 0, 651, 3048 180, 1050, 180, 341, 532, 722, 603, 479, 900, 165, 3049 166, 31, 32, 183, 34, 215, 34, 341, 1010, 0, 3050 34, 622, 865, 1388, 600, 45, 1050, 1050, 1, 1311, 3051 1097, 51, 34, 51, 514, 45, 983, 984, 58, 568, 3052 600, 106, 865, 63, 66, 63, 66, 45, 66, 69, 3053 1392, 69, 600, 34, 69, 114, 493, 0, 1, 255, 3054 497, 66, 255, 67, 42, 337, 255, 416, 479, 255, 3055 197, 154, 255, 600, 45, 255, 42, 255, 51, 47, 3056 48, 251, 252, 600, 30, 144, 435, 107, 153, 54, 3057 110, 34, 600, 90, 443, 342, 246, 117, 1463, 363, 3058 600, 984, 42, 367, 337, 125, 100, 1052, 424, 425, 3059 114, 0, 1269, 118, 42, 137, 604, 1056, 180, 1058, 3060 180, 118, 610, 47, 48, 145, 69, 145, 180, 84, 3061 363, 224, 1414, 106, 367, 81, 114, 157, 116, 157, 3062 134, 114, 101, 181, 237, 34, 205, 56, 486, 114, 3063 116, 119, 157, 713, 1496, 1047, 114, 101, 1001, 1501, 3064 180, 181, 42, 181, 1231, 713, 1233, 1234, 127, 288, 3065 180, 144, 133, 114, 114, 136, 116, 197, 1001, 495, 3066 153, 0, 180, 127, 1526, 205, 114, 205, 116, 98, 3067 42, 1533, 0, 255, 214, 255, 120, 217, 514, 217, 3068 51, 114, 261, 255, 224, 733, 813, 479, 408, 180, 3069 112, 181, 217, 713, 234, 34, 813, 237, 256, 1013, 3070 1014, 241, 242, 241, 800, 947, 34, 241, 201, 242, 3071 641, 642, 205, 42, 136, 255, 256, 45, 256, 241, 3072 800, 300, 262, 51, 249, 265, 657, 114, 115, 254, 3073 0, 1, 800, 1198, 783, 63, 0, 42, 66, 575, 3074 241, 69, 114, 114, 116, 246, 416, 332, 920, 47, 3075 48, 743, 994, 800, 84, 1432, 114, 1269, 337, 603, 3076 189, 114, 1439, 800, 34, 435, 256, 114, 261, 117, 3077 34, 264, 800, 443, 705, 422, 42, 135, 241, 1093, 3078 800, 428, 322, 212, 322, 114, 116, 116, 642, 136, 3079 1257, 1258, 909, 222, 802, 288, 66, 121, 115, 69, 3080 340, 341, 586, 657, 121, 69, 119, 300, 1211, 114, 3081 1501, 116, 743, 137, 1051, 0, 1179, 145, 687, 42, 3082 42, 119, 1499, 590, 364, 3, 42, 430, 368, 157, 3083 622, 1501, 241, 586, 205, 1347, 1179, 246, 378, 332, 3084 632, 962, 1533, 117, 402, 424, 425, 121, 114, 34, 3085 116, 705, 180, 181, 638, 1258, 1526, 1443, 625, 288, 3086 143, 908, 402, 1533, 402, 0, 115, 634, 507, 622, 3087 509, 908, 451, 512, 124, 125, 515, 205, 42, 632, 3088 908, 66, 422, 115, 154, 638, 135, 3, 428, 217, 3089 261, 114, 114, 116, 116, 1481, 121, 1483, 114, 34, 3090 116, 460, 241, 135, 429, 722, 1269, 246, 121, 0, 3091 1147, 1148, 402, 241, 114, 416, 495, 1384, 42, 477, 3092 1092, 524, 135, 463, 1436, 692, 1438, 255, 468, 300, 3093 463, 424, 425, 115, 435, 514, 1505, 477, 930, 477, 3094 707, 481, 443, 481, 469, 945, 486, 217, 924, 489, 3095 114, 743, 116, 135, 494, 813, 1073, 0, 451, 481, 3096 777, 1505, 1505, 971, 972, 922, 116, 122, 118, 813, 3097 463, 241, 115, 128, 129, 136, 652, 241, 121, 10, 3098 481, 1384, 246, 1466, 587, 135, 526, 477, 1500, 1472, 3099 114, 531, 116, 526, 322, 115, 575, 115, 531, 930, 3100 493, 121, 495, 121, 497, 114, 114, 416, 116, 793, 3101 1475, 440, 659, 341, 507, 1498, 509, 687, 481, 512, 3102 1503, 514, 515, 670, 0, 1, 435, 115, 795, 97, 3103 98, 701, 217, 121, 443, 121, 465, 854, 641, 642, 3104 793, 1506, 114, 622, 75, 585, 77, 78, 121, 641, 3105 642, 137, 983, 632, 657, 913, 241, 121, 34, 121, 3106 600, 115, 115, 603, 137, 657, 84, 75, 121, 1432, 3107 1535, 135, 481, 1315, 402, 137, 1439, 416, 507, 114, 3108 88, 89, 575, 512, 624, 75, 515, 77, 78, 629, 3109 66, 114, 114, 69, 116, 488, 435, 51, 88, 89, 3110 122, 123, 705, 643, 443, 277, 241, 647, 116, 63, 3111 114, 246, 66, 705, 136, 69, 656, 676, 658, 659, 3112 660, 121, 1114, 121, 121, 658, 116, 660, 300, 301, 3113 670, 115, 852, 950, 1376, 1377, 1499, 137, 930, 137, 3114 137, 75, 481, 114, 10, 11, 12, 13, 14, 121, 3115 114, 1388, 416, 481, 88, 89, 121, 342, 486, 699, 3116 430, 114, 337, 135, 115, 337, 699, 115, 343, 121, 3117 962, 435, 137, 713, 714, 115, 42, 702, 587, 443, 3118 720, 998, 858, 1114, 724, 137, 687, 115, 363, 121, 3119 880, 145, 367, 95, 96, 115, 120, 690, 965, 121, 3120 701, 121, 121, 157, 70, 137, 470, 379, 115, 962, 3121 114, 481, 605, 1450, 121, 137, 609, 481, 137, 1211, 3122 779, 121, 615, 75, 717, 1462, 1463, 181, 130, 131, 3123 789, 790, 115, 114, 1051, 116, 88, 89, 121, 1287, 3124 67, 217, 801, 636, 975, 121, 675, 640, 114, 1486, 3125 116, 205, 115, 114, 524, 684, 122, 123, 121, 688, 3126 800, 137, 114, 217, 116, 241, 114, 10, 11, 12, 3127 13, 14, 600, 813, 70, 603, 119, 73, 687, 121, 3128 76, 416, 78, 115, 469, 115, 889, 115, 137, 121, 3129 86, 121, 701, 121, 3, 137, 481, 137, 75, 42, 3130 435, 10, 11, 12, 13, 14, 117, 114, 443, 116, 3131 121, 88, 89, 288, 137, 122, 123, 587, 858, 690, 3132 996, 1558, 1114, 1043, 864, 865, 1257, 70, 117, 115, 3133 1147, 1148, 121, 42, 1050, 121, 115, 1050, 896, 116, 3134 115, 1050, 121, 865, 1050, 924, 481, 1050, 687, 114, 3135 1050, 116, 1050, 75, 93, 94, 896, 122, 123, 899, 3136 82, 70, 701, 85, 865, 87, 88, 89, 322, 115, 3137 117, 641, 642, 913, 121, 121, 548, 549, 550, 119, 3138 983, 984, 84, 962, 115, 713, 714, 657, 923, 672, 3139 121, 931, 117, 114, 116, 114, 121, 937, 931, 115, 3140 1484, 894, 865, 943, 1488, 121, 896, 947, 120, 121, 3141 943, 586, 208, 75, 947, 77, 78, 79, 115, 1211, 3142 123, 980, 981, 687, 121, 132, 88, 89, 133, 922, 3143 923, 924, 75, 115, 116, 705, 1083, 701, 99, 82, 3144 625, 116, 85, 836, 87, 88, 89, 622, 402, 424, 3145 425, 117, 114, 117, 994, 115, 865, 632, 61, 62, 3146 923, 994, 891, 638, 1004, 120, 121, 1007, 1008, 1009, 3147 47, 48, 800, 116, 10, 11, 12, 13, 14, 1001, 3148 889, 115, 1041, 1042, 115, 813, 1098, 1099, 75, 115, 3149 1048, 115, 79, 115, 1052, 114, 115, 116, 1038, 137, 3150 1001, 88, 89, 551, 552, 481, 42, 692, 1048, 114, 3151 1050, 117, 1052, 555, 556, 557, 558, 702, 114, 115, 3152 116, 914, 707, 894, 1064, 116, 865, 114, 75, 116, 3153 77, 78, 507, 119, 70, 122, 123, 512, 1001, 119, 3154 515, 88, 89, 1083, 553, 554, 1522, 136, 344, 345, 3155 121, 347, 687, 349, 114, 115, 116, 1097, 1048, 114, 3156 115, 116, 1052, 136, 1097, 361, 701, 114, 896, 119, 3157 114, 1388, 119, 137, 1067, 747, 559, 560, 114, 117, 3158 116, 115, 115, 1012, 135, 913, 122, 123, 117, 3, 3159 75, 566, 1001, 117, 79, 865, 10, 11, 12, 13, 3160 14, 865, 121, 88, 89, 135, 1209, 135, 31, 75, 3161 795, 77, 78, 79, 1154, 61, 62, 63, 793, 889, 3162 115, 796, 88, 89, 115, 119, 115, 120, 42, 114, 3163 120, 114, 120, 1450, 121, 115, 115, 122, 123, 1179, 3164 1198, 0, 1, 439, 121, 1462, 1463, 115, 115, 121, 3165 1209, 115, 115, 923, 1257, 1258, 70, 1179, 1198, 115, 3166 115, 115, 1001, 75, 115, 77, 78, 79, 115, 1486, 3167 75, 137, 77, 78, 79, 34, 88, 89, 1179, 1238, 3168 865, 1216, 115, 88, 89, 115, 45, 1246, 1247, 1248, 3169 115, 1231, 51, 1233, 1234, 115, 1067, 1190, 1231, 115, 3170 1233, 1234, 115, 120, 63, 115, 31, 66, 1198, 1476, 3171 69, 115, 136, 983, 984, 75, 1179, 77, 78, 79, 3172 1048, 119, 1050, 1216, 1052, 137, 1373, 115, 88, 89, 3173 865, 1001, 75, 117, 77, 78, 79, 1001, 121, 117, 3174 115, 1558, 1300, 115, 121, 88, 89, 106, 119, 115, 3175 1290, 58, 115, 1216, 114, 114, 116, 121, 117, 118, 3176 1300, 115, 122, 123, 75, 121, 77, 78, 1269, 114, 3177 1179, 11, 114, 114, 114, 1315, 1311, 88, 89, 122, 3178 965, 1384, 1315, 114, 135, 144, 145, 962, 135, 1505, 3179 962, 135, 1505, 121, 153, 154, 1505, 120, 157, 1505, 3180 107, 1341, 1505, 110, 1344, 1505, 1269, 1505, 119, 115, 3181 1300, 137, 115, 75, 135, 1350, 1001, 135, 1311, 1190, 3182 82, 180, 181, 85, 1349, 87, 88, 89, 1475, 1001, 3183 115, 133, 1372, 1373, 120, 119, 1376, 1377, 197, 120, 3184 1179, 115, 117, 1376, 1377, 121, 205, 117, 1311, 1278, 3185 115, 115, 1392, 120, 1413, 115, 32, 1397, 217, 75, 3186 1269, 77, 78, 79, 117, 117, 1001, 66, 117, 115, 3187 1198, 50, 88, 89, 1399, 117, 75, 86, 75, 1414, 3188 77, 78, 241, 117, 117, 115, 1426, 1350, 115, 865, 3189 249, 88, 89, 137, 137, 254, 255, 256, 114, 137, 3190 137, 137, 261, 3, 115, 115, 676, 214, 120, 1179, 3191 10, 11, 12, 13, 14, 1179, 120, 114, 114, 118, 3192 115, 1414, 119, 1505, 117, 1505, 117, 117, 865, 288, 3193 1269, 1432, 117, 1505, 117, 1475, 117, 1477, 1439, 117, 3194 115, 300, 42, 1522, 1477, 114, 1216, 923, 1506, 125, 3195 114, 1414, 63, 114, 119, 262, 1496, 316, 157, 115, 3196 115, 1501, 101, 322, 117, 1505, 1506, 117, 1506, 1432, 3197 70, 115, 1300, 332, 117, 115, 1439, 1535, 337, 101, 3198 114, 114, 341, 342, 1524, 137, 1526, 1257, 1258, 120, 3199 1530, 115, 115, 1533, 1179, 1535, 115, 1535, 1499, 1269, 3200 115, 121, 45, 1286, 363, 1269, 1546, 135, 367, 779, 3201 1550, 1440, 137, 1442, 115, 101, 1506, 115, 217, 789, 3202 790, 137, 101, 1432, 137, 1001, 135, 137, 1568, 1522, 3203 1439, 801, 117, 340, 75, 1568, 1499, 115, 79, 1579, 3204 137, 1311, 115, 402, 1179, 1535, 1579, 88, 89, 66, 3205 249, 1480, 135, 1482, 114, 254, 121, 364, 234, 120, 3206 117, 368, 117, 422, 117, 424, 425, 1004, 137, 428, 3207 1441, 430, 1443, 114, 137, 115, 114, 1360, 120, 1349, 3208 1350, 122, 123, 120, 1269, 115, 1350, 115, 135, 265, 3209 1499, 115, 451, 1432, 115, 115, 114, 54, 137, 56, 3210 1439, 118, 59, 60, 61, 1534, 137, 1536, 115, 468, 3211 1481, 137, 1483, 561, 1384, 137, 565, 1020, 477, 76, 3212 479, 562, 481, 563, 942, 1554, 1555, 486, 1411, 1399, 3213 564, 1463, 89, 90, 1269, 1179, 495, 1352, 1550, 1279, 3214 157, 1543, 1439, 342, 1414, 1489, 1038, 1048, 507, 894, 3215 509, 1300, 1058, 512, 724, 514, 515, 916, 858, 937, 3216 1499, 653, 1432, 717, 1349, 524, 75, 915, 1432, 1439, 3217 1216, 481, 567, 82, 732, 1439, 85, 1505, 87, 88, 3218 89, 567, 567, 1158, 1159, 75, 1161, 77, 78, 79, 3219 -1, -1, 1167, -1, -1, 1170, -1, -1, 88, 89, 3220 217, 1484, 378, 1179, -1, 1488, 1489, 116, 567, 568, 3221 980, 981, -1, -1, 1399, -1, 575, 234, 4, 5, 3222 6, 7, 8, 9, -1, 182, -1, 586, 587, 1499, 3223 429, 590, 249, 1516, -1, 1499, -1, 254, -1, -1, 3224 1216, 600, 1179, -1, 603, -1, 445, 1432, 75, -1, 3225 77, 78, 79, -1, 1439, -1, 1539, -1, -1, -1, 3226 1543, 88, 89, 622, -1, -1, 1441, -1, 1443, -1, 3227 469, 1041, 1042, 632, -1, 634, -1, -1, 75, 638, 3228 77, 78, 641, 642, 1567, -1, 72, 114, 74, 116, 3229 -1, 88, 89, 1269, -1, 122, 123, 1432, 657, -1, 3230 659, -1, -1, -1, 1439, -1, 1481, -1, 1483, 136, 3231 -1, 670, -1, 489, 1499, -1, -1, 624, 494, 75, 3232 -1, 77, 78, 79, -1, 342, -1, -1, -1, -1, 3233 -1, 690, 88, 89, -1, 1311, 643, -1, 4, 5, 3234 6, 7, 8, 9, -1, -1, 705, 706, 707, 656, 3235 -1, 137, -1, 1290, 713, 714, -1, -1, 114, -1, 3236 116, -1, 58, -1, 1499, -1, 122, 123, 1343, 35, 3237 -1, -1, -1, 1349, 1350, 275, -1, 277, 278, 336, 3238 -1, 338, -1, -1, 743, -1, 286, 287, 86, -1, 3239 -1, 590, 90, 91, 92, -1, -1, -1, 355, 356, 3240 300, 301, -1, -1, 1341, -1, 72, 1344, 74, 585, 3241 -1, 107, 429, -1, 110, -1, 114, -1, 116, -1, 3242 118, 119, -1, 1399, 783, -1, 625, 4, 5, 6, 3243 7, 8, 9, -1, 793, 634, 795, 337, 1414, -1, 3244 -1, 800, 86, -1, -1, -1, 90, 91, 92, -1, 3245 -1, -1, 469, 629, 813, 1392, 1432, -1, 185, -1, 3246 1397, -1, -1, 1439, -1, 192, -1, -1, 1238, -1, 3247 114, 647, 116, -1, 118, 119, 1246, 1247, 1248, 379, 3248 -1, -1, 10, 11, 12, 13, 14, -1, 75, 1426, 3249 77, 78, -1, 692, -1, 72, -1, 74, -1, -1, 3250 -1, 88, 89, 702, -1, -1, 865, -1, 707, -1, 3251 -1, -1, -1, -1, 42, -1, -1, -1, 214, -1, 3252 -1, -1, -1, 1499, -1, -1, -1, -1, -1, -1, 3253 889, 258, -1, -1, -1, 894, -1, 896, -1, -1, 3254 -1, -1, 70, -1, 720, -1, -1, 75, 724, 908, 3255 909, 79, -1, -1, 913, -1, -1, -1, -1, -1, 3256 88, 89, -1, -1, 923, 924, 262, -1, -1, -1, 3257 -1, 930, -1, 590, -1, -1, -1, -1, -1, -1, 3258 -1, -1, -1, -1, -1, -1, 114, 1524, -1, 316, 3259 -1, -1, -1, 1530, 122, 123, 795, -1, 325, -1, 3260 -1, 328, -1, 962, -1, -1, -1, -1, 625, 1546, 3261 -1, -1, 629, 1550, -1, -1, -1, 634, -1, -1, 3262 -1, -1, -1, -1, 983, 984, -1, -1, -1, -1, 3263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3264 -1, -1, 1001, 1413, 340, -1, -1, -1, 548, 549, 3265 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 3266 560, 561, 562, 563, 564, 565, -1, 394, 364, -1, 3267 -1, 398, 368, -1, -1, 692, -1, -1, -1, -1, 3268 -1, -1, 858, -1, -1, 702, -1, -1, 864, 1048, 3269 707, 1050, -1, 1052, -1, -1, -1, -1, -1, -1, 3270 1007, 1008, 1009, -1, -1, -1, -1, -1, 1067, -1, 3271 -1, -1, -1, -1, 1073, -1, -1, -1, -1, -1, 3272 -1, -1, -1, 899, 1083, -1, -1, -1, -1, -1, 3273 10, 11, 12, 13, 14, -1, 693, -1, 695, -1, 3274 75, -1, 77, 78, 79, -1, 703, 704, -1, 476, 3275 -1, 708, -1, 88, 89, 1114, -1, -1, -1, -1, 3276 -1, 937, 42, -1, -1, -1, 965, -1, 725, -1, 3277 -1, -1, -1, 730, -1, -1, -1, -1, 795, 114, 3278 75, 116, 77, 78, 79, -1, -1, 122, 123, -1, 3279 70, 0, 749, 88, 89, 75, -1, 77, 78, 79, 3280 135, -1, -1, 10, 11, 12, 13, 14, 88, 89, 3281 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3282 1179, -1, 722, -1, -1, 34, -1, 122, 123, -1, 3283 -1, 1190, -1, -1, 114, 42, 116, -1, -1, 1198, 3284 567, 568, 122, 123, -1, -1, -1, 747, -1, -1, 3285 -1, -1, 1211, -1, -1, -1, -1, 1216, -1, -1, 3286 69, -1, 1038, 70, -1, -1, -1, -1, 75, -1, 3287 77, 78, 79, -1, -1, -1, -1, 777, -1, -1, 3288 -1, 88, 89, 75, -1, 77, 78, 79, 1064, -1, 3289 847, -1, 849, 850, 851, -1, 88, 89, 1257, 1258, 3290 -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, 3291 1269, 868, -1, -1, -1, 122, 123, -1, -1, -1, 3292 -1, -1, 114, -1, -1, -1, -1, 884, 624, -1, 3293 122, 123, -1, -1, 661, -1, -1, -1, 665, -1, 3294 -1, 1300, -1, -1, -1, 154, -1, 643, 965, -1, 3295 907, -1, 1311, -1, -1, -1, -1, -1, -1, -1, 3296 656, -1, -1, -1, 10, 11, 12, 13, 14, -1, 3297 -1, -1, -1, -1, -1, -1, -1, -1, 1154, 10, 3298 11, 12, 13, 14, 941, -1, -1, -1, -1, 946, 3299 1349, 1350, -1, -1, 951, -1, 42, -1, -1, 956, 3300 957, -1, -1, -1, 961, -1, 963, 964, -1, -1, 3301 967, 42, -1, -1, 1373, -1, -1, 226, -1, 976, 3302 -1, -1, -1, -1, 70, 1384, -1, -1, -1, 75, 3303 0, 1, 241, 79, -1, 992, 993, 246, -1, 70, 3304 1399, -1, 88, 89, 75, -1, 77, 78, 79, -1, 3305 950, -1, -1, -1, -1, 1414, 783, 88, 89, -1, 3306 -1, -1, 962, -1, 34, 1372, -1, 1024, 114, -1, 3307 1027, -1, -1, 1432, -1, -1, 122, 123, -1, -1, 3308 1439, 51, 1441, 114, 1443, 116, -1, -1, -1, -1, 3309 -1, 122, 123, -1, -1, -1, -1, -1, -1, 69, 3310 -1, 1001, -1, 102, 103, 104, 105, 106, 107, 108, 3311 109, 110, 111, 112, -1, -1, 1475, 1476, -1, -1, 3312 -1, -1, 1481, 1080, 1483, -1, -1, -1, 337, 1086, 3313 1087, -1, -1, -1, 343, -1, 106, 136, 1095, -1, 3314 1499, -1, -1, 1100, -1, -1, 1505, 1506, 1105, -1, 3315 1349, 1051, -1, -1, 363, -1, -1, -1, 367, -1, 3316 -1, 1118, -1, 1522, -1, -1, -1, -1, -1, 865, 3317 -1, -1, -1, -1, -1, 145, 1535, 1134, -1, 1136, 3318 1137, 1138, 1139, 153, 154, 10, 11, 12, 13, 14, 3319 -1, -1, -1, -1, 1151, -1, 1153, -1, -1, -1, 3320 1399, -1, -1, -1, -1, -1, -1, 416, -1, -1, 3321 -1, 181, -1, -1, -1, -1, -1, 42, -1, -1, 3322 -1, 430, -1, -1, -1, 952, 435, 197, 1185, 1186, 3323 200, 201, -1, -1, 443, 205, -1, -1, -1, -1, 3324 -1, 968, -1, -1, -1, 70, -1, 1147, 1148, -1, 3325 75, 460, 77, 78, 79, -1, 226, -1, -1, -1, 3326 230, 470, 232, 88, 89, 235, -1, -1, -1, -1, 3327 479, 241, 481, -1, -1, -1, 246, 1476, -1, -1, 3328 -1, -1, -1, -1, -1, -1, 256, -1, -1, 114, 3329 -1, -1, 1249, 1250, 264, -1, -1, 122, 123, -1, 3330 -1, -1, 1259, -1, -1, -1, -1, -1, 1004, -1, 3331 -1, 1007, 1008, 1009, -1, 524, -1, -1, -1, -1, 3332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3333 1057, -1, 1349, -1, -1, -1, -1, -1, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3335 -1, -1, -1, -1, -1, -1, -1, 10, 11, 12, 3336 13, 14, 332, -1, -1, -1, 1323, 337, 1325, 1326, 3337 1327, -1, -1, 343, -1, -1, -1, 586, 587, -1, 3338 1337, -1, 1399, -1, -1, -1, -1, -1, 1345, 42, 3339 -1, 1348, -1, 363, -1, -1, -1, 367, -1, -1, 3340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3341 -1, -1, -1, 622, -1, -1, -1, 70, 1375, -1, 3342 -1, -1, 75, 632, 77, 78, 79, -1, -1, 638, 3343 -1, -1, 641, 642, -1, 88, 89, -1, -1, -1, 3344 -1, -1, -1, -1, -1, -1, 416, 0, 657, -1, 3345 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1476, 3346 430, 114, 1419, 1420, -1, 435, 1193, 676, -1, 122, 3347 123, -1, -1, 443, -1, 1432, -1, -1, 687, -1, 3348 -1, 34, 1439, 1179, -1, -1, -1, -1, 1388, -1, 3349 460, -1, 701, 463, -1, -1, 705, -1, -1, 1456, 3350 470, -1, -1, -1, -1, -1, -1, -1, -1, 479, 3351 -1, 481, -1, -1, -1, -1, 69, 1474, -1, -1, 3352 -1, -1, 1479, 493, -1, -1, -1, 497, -1, -1, 3353 -1, -1, -1, -1, 743, -1, -1, -1, -1, -1, 3354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3355 1450, -1, -1, -1, 524, 1512, -1, 1514, -1, -1, 3356 -1, -1, 1462, 1463, -1, -1, -1, -1, -1, 1296, 3357 779, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3358 789, 790, -1, -1, 793, -1, 1486, 796, -1, -1, 3359 -1, -1, 801, -1, 1290, 1552, 1553, -1, 568, -1, 3360 -1, 154, -1, -1, -1, -1, -1, -1, 1565, 1566, 3361 -1, -1, -1, -1, -1, -1, 586, 587, -1, -1, 3362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3363 -1, -1, -1, 603, -1, -1, -1, -1, -1, -1, 3364 -1, -1, -1, -1, -1, 1341, -1, -1, 1344, -1, 3365 -1, -1, 622, -1, -1, -1, 865, 627, 1558, -1, 3366 -1, -1, 632, -1, -1, -1, -1, -1, 638, -1, 3367 -1, 641, 642, -1, -1, -1, 1372, -1, -1, -1, 3368 889, -1, -1, -1, -1, -1, -1, 657, 241, -1, 3369 -1, -1, -1, 246, 40, 41, 1392, 43, -1, -1, 3370 -1, 1397, -1, -1, -1, -1, 676, -1, -1, -1, 3371 -1, -1, -1, -1, -1, -1, -1, 687, -1, -1, 3372 -1, 930, -1, 69, -1, -1, -1, -1, -1, 75, 3373 1426, 701, -1, 79, -1, 705, 82, 83, 84, 85, 3374 86, 87, 88, 89, 714, 91, 92, 717, -1, -1, 3375 -1, -1, -1, 962, -1, -1, -1, -1, -1, -1, 3376 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3377 116, 980, 981, 743, 983, 984, 122, 123, 124, 125, 3378 126, 127, -1, -1, 337, -1, -1, -1, -1, 135, 3379 343, -1, 1001, -1, -1, -1, -1, -1, -1, -1, 3380 1496, -1, -1, -1, -1, 1501, -1, -1, -1, 779, 3381 363, -1, -1, -1, 367, -1, -1, -1, -1, 789, 3382 790, -1, -1, 793, -1, -1, 796, -1, 1524, -1, 3383 1526, 801, 1041, 1042, 1530, -1, -1, 1533, -1, -1, 3384 -1, 811, -1, -1, -1, -1, -1, -1, -1, -1, 3385 1546, -1, -1, -1, 1550, -1, -1, -1, -1, -1, 3386 -1, -1, -1, 416, -1, -1, -1, -1, -1, -1, 3387 -1, -1, -1, -1, -1, -1, -1, 430, -1, -1, 3388 -1, -1, 435, -1, -1, -1, -1, -1, -1, -1, 3389 443, -1, -1, -1, -1, 865, -1, -1, 40, 41, 3390 -1, 43, -1, -1, -1, 1114, -1, 460, -1, -1, 3391 -1, -1, -1, -1, -1, -1, -1, 470, -1, 889, 3392 -1, -1, 0, -1, -1, -1, 479, 69, 481, -1, 3393 -1, -1, -1, 75, -1, 77, 78, 79, -1, 909, 3394 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3395 92, -1, 922, 923, -1, -1, 34, -1, -1, -1, 3396 930, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3397 1179, 524, 114, -1, 116, -1, 118, 119, -1, -1, 3398 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 3399 -1, 69, 962, -1, -1, -1, -1, -1, -1, -1, 3400 1209, -1, 1211, -1, -1, 975, -1, -1, -1, -1, 3401 980, 981, -1, 983, 984, -1, -1, -1, -1, -1, 3402 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, 3403 -1, 1001, -1, 586, 587, -1, -1, 1246, 1247, 1248, 3404 -1, -1, -1, -1, -1, -1, -1, -1, 1257, 1258, 3405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3406 1269, -1, -1, -1, -1, -1, -1, -1, -1, 622, 3407 -1, 1041, 1042, -1, -1, -1, 154, -1, -1, 632, 3408 -1, -1, 1052, -1, -1, 638, -1, -1, 641, 642, 3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3410 -1, -1, -1, -1, 657, -1, -1, -1, -1, -1, 3411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3412 -1, -1, -1, 676, -1, -1, -1, -1, -1, -1, 3413 -1, -1, -1, -1, 687, -1, -1, -1, -1, -1, 3414 -1, 1350, -1, -1, 1114, -1, -1, -1, 701, -1, 3415 -1, -1, 705, -1, -1, -1, -1, -1, -1, -1, 3416 -1, -1, -1, 241, -1, -1, -1, -1, 246, -1, 3417 -1, -1, -1, -1, -1, 1384, -1, -1, -1, -1, 3418 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3419 743, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3420 -1, -1, -1, -1, 1413, -1, -1, -1, -1, 1179, 3421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3422 -1, -1, -1, 1432, -1, -1, 779, -1, -1, -1, 3423 1439, -1, 1441, -1, 1443, -1, 789, 790, -1, 1209, 3424 793, 1211, -1, 796, -1, -1, 1216, -1, 801, -1, 3425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 3426 -1, -1, -1, -1, -1, 343, -1, -1, 1238, -1, 3427 -1, -1, 1481, -1, 1483, -1, 1246, 1247, 1248, -1, 3428 -1, -1, -1, -1, -1, 363, -1, 1257, 1258, 367, 3429 1499, -1, -1, -1, -1, -1, -1, -1, -1, 1269, 3430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3431 -1, -1, 865, -1, -1, 10, 11, 12, 13, 14, 3432 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3433 25, 26, 27, 28, 29, -1, 889, -1, 416, -1, 3434 -1, 1311, -1, -1, -1, -1, -1, 42, -1, -1, 3435 -1, -1, 430, -1, -1, -1, -1, 435, -1, -1, 3436 -1, -1, -1, -1, -1, 443, -1, -1, -1, -1, 3437 -1, 51, -1, 40, 41, 70, 43, 930, -1, -1, 3438 1350, -1, 460, -1, -1, -1, 66, -1, -1, -1, 3439 -1, -1, 470, -1, -1, -1, -1, -1, -1, -1, 3440 -1, 479, 69, 481, -1, -1, -1, -1, 75, 962, 3441 -1, -1, 79, -1, 1384, 82, 83, 84, 85, 86, 3442 87, 88, 89, -1, 91, 92, -1, 980, 981, 28, 3443 983, 984, -1, -1, 114, -1, -1, -1, 118, -1, 3444 -1, -1, -1, 1413, 1414, -1, 524, 114, 1001, 116, 3445 -1, -1, 119, -1, -1, 122, 123, 124, 125, 126, 3446 127, -1, 1432, -1, 144, -1, -1, -1, -1, 1439, 3447 -1, 1441, -1, 1443, 154, -1, -1, 157, -1, -1, 3448 -1, -1, -1, -1, 83, -1, -1, -1, 1041, 1042, 3449 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3450 99, -1, 101, -1, -1, -1, -1, -1, 586, 587, 3451 -1, 1481, -1, 1483, -1, -1, -1, -1, -1, -1, 3452 -1, -1, -1, -1, -1, 205, -1, 126, -1, 1499, 3453 -1, -1, -1, -1, -1, -1, 1506, 217, -1, -1, 3454 -1, -1, -1, -1, 622, -1, -1, -1, -1, -1, 3455 -1, -1, -1, -1, 632, -1, -1, -1, -1, -1, 3456 638, 1114, -1, 641, 642, -1, -1, -1, -1, -1, 3457 -1, -1, -1, -1, 254, -1, -1, -1, -1, 657, 3458 -1, 261, -1, -1, -1, -1, 185, -1, 187, 188, 3459 -1, -1, -1, 192, -1, 194, 195, -1, 676, -1, 3460 -1, -1, -1, -1, -1, -1, -1, -1, 288, 687, 3461 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3462 300, -1, -1, 701, -1, -1, 1179, 705, -1, 10, 3463 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3464 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3465 -1, 32, 33, 34, -1, -1, 1209, 337, 1211, 258, 3466 -1, 42, 342, -1, -1, 743, -1, -1, -1, -1, 3467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3468 -1, -1, -1, -1, -1, 1238, -1, -1, -1, 70, 3469 -1, -1, -1, 1246, 1247, 1248, 77, 78, -1, -1, 3470 -1, 779, -1, -1, 1257, 1258, -1, -1, -1, -1, 3471 -1, 789, 790, -1, -1, 793, 1269, -1, 796, -1, 3472 -1, -1, -1, 801, -1, -1, -1, -1, -1, -1, 3473 -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, 3474 -1, 122, 123, -1, 424, 425, -1, -1, -1, -1, 3475 430, -1, -1, -1, 353, -1, -1, -1, -1, -1, 3476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3477 -1, 451, -1, -1, -1, -1, -1, -1, -1, -1, 3478 -1, -1, -1, -1, -1, -1, -1, 865, -1, -1, 3479 -1, -1, -1, -1, -1, -1, -1, 1350, -1, 479, 3480 -1, -1, -1, -1, -1, -1, 405, -1, -1, -1, 3481 -1, 889, -1, -1, -1, 495, -1, -1, -1, -1, 3482 -1, -1, -1, -1, -1, -1, -1, 507, -1, 509, 3483 -1, 1384, 512, -1, 514, 515, -1, -1, -1, -1, 3484 -1, -1, -1, -1, 524, -1, -1, -1, -1, -1, 3485 -1, -1, 930, -1, -1, -1, -1, -1, -1, -1, 3486 1413, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3487 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1432, 3488 -1, -1, -1, -1, 962, -1, 1439, -1, 1441, -1, 3489 1443, -1, -1, -1, -1, 575, -1, -1, -1, -1, 3490 -1, -1, 980, 981, -1, 983, 984, 587, -1, -1, 3491 590, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492 -1, -1, -1, 1001, -1, -1, -1, -1, 1481, -1, 3493 1483, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3494 -1, -1, 622, -1, 66, -1, 1499, -1, -1, -1, 3495 -1, -1, 632, 75, -1, 77, -1, 79, -1, -1, 3496 -1, 641, 642, 1041, 1042, 87, -1, -1, -1, -1, 3497 -1, -1, 571, 572, -1, -1, -1, 657, -1, -1, 3498 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3499 -1, -1, -1, -1, -1, -1, 118, -1, 120, 121, 3500 122, -1, -1, -1, -1, 604, -1, -1, 607, 608, 3501 690, 610, -1, 612, 613, -1, -1, -1, 617, 618, 3502 -1, -1, -1, -1, -1, 705, -1, 707, -1, -1, 3503 -1, -1, -1, -1, -1, 157, 1114, -1, -1, -1, 4212 27, 28, 29, 30, 31, 32, 33, 78, 79, 36, 4213 37, 38, -1, -1, -1, -1, -1, -1, -1, 46, 4214 -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 4215 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4216 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 4217 33, 78, 79, 36, 37, 38, -1, -1, -1, -1, 4218 -1, -1, -1, 46, -1, 4, 5, 6, 7, 8, 4219 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4220 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4221 29, 30, 31, 32, 33, 78, 79, 36, 37, 38, 4222 -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, 3504 4223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3505 4224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3506 -1, -1, 661, 743, -1, -1, 665, -1, -1, -1, 3507 -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, 3508 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, 3509 -1, -1, -1, -1, -1, 217, -1, 219, 220, 221, 3510 -1, 1179, -1, -1, -1, -1, -1, -1, -1, -1, 3511 40, 41, 42, 43, -1, 795, -1, -1, -1, -1, 3512 -1, -1, -1, -1, -1, -1, -1, 249, -1, -1, 3513 -1, 1209, 254, 1211, -1, -1, -1, -1, -1, 69, 3514 70, -1, -1, -1, -1, 75, -1, -1, -1, 79, 3515 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3516 1238, 91, 92, -1, -1, -1, -1, -1, 1246, 1247, 3517 1248, -1, -1, -1, -1, -1, -1, -1, -1, 1257, 3518 1258, -1, -1, -1, 114, -1, 116, -1, -1, -1, 3519 -1, 1269, 122, 123, 124, 125, 126, 127, -1, -1, 3520 322, -1, -1, -1, -1, -1, -1, -1, -1, 889, 3521 40, 41, -1, 43, 894, -1, -1, -1, 46, -1, 3522 342, -1, -1, -1, -1, -1, 348, -1, 350, -1, 3523 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3524 362, -1, -1, -1, 924, 75, -1, -1, -1, 79, 3525 930, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3526 -1, 91, 92, -1, 92, -1, -1, -1, -1, -1, 3527 -1, -1, 1350, -1, 102, -1, -1, -1, -1, -1, 3528 402, -1, 962, -1, 114, -1, 116, -1, -1, -1, 3529 -1, 121, 122, 123, 124, 125, 126, 127, -1, -1, 3530 422, -1, -1, 983, 984, 427, 1384, 429, -1, -1, 3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3532 -1, -1, -1, 445, -1, -1, 448, 449, -1, -1, 3533 -1, -1, -1, 455, -1, 1413, -1, -1, -1, -1, 3534 168, -1, -1, -1, -1, -1, -1, 469, -1, -1, 3535 -1, -1, -1, 952, 1432, 477, -1, -1, -1, -1, 3536 -1, 1439, 190, 1441, -1, 1443, -1, -1, -1, 968, 3537 -1, -1, 971, 972, -1, 7, 204, -1, 10, 11, 3538 12, 13, 14, -1, -1, 213, -1, 1067, -1, -1, 3539 -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 3540 -1, -1, -1, 1481, -1, 1483, -1, -1, 40, 41, 3541 42, 43, -1, -1, 242, -1, -1, -1, -1, 247, 3542 -1, 1499, -1, -1, -1, -1, -1, -1, -1, -1, 3543 -1, -1, 260, -1, 1114, -1, -1, 69, 70, -1, 3544 268, -1, 270, 75, -1, 1044, -1, 79, -1, -1, 3545 82, 83, 84, 85, 86, 87, 88, 89, 1057, 91, 3546 92, 289, -1, 1062, 1063, -1, -1, -1, 590, -1, 3547 592, 593, 594, -1, -1, -1, -1, -1, -1, -1, 3548 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 3549 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 3550 -1, -1, 330, 625, 626, -1, -1, 335, -1, -1, 3551 1190, -1, 634, -1, -1, -1, -1, -1, -1, -1, 3552 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3553 -1, 1211, -1, -1, -1, -1, -1, -1, -1, -1, 3554 -1, -1, 370, -1, -1, -1, 374, 375, -1, 377, 3555 -1, -1, -1, -1, -1, -1, 384, 385, -1, 387, 3556 388, -1, 390, -1, 392, -1, -1, -1, -1, -1, 3557 692, -1, -1, 40, 41, -1, 43, 1257, 1258, -1, 3558 702, 409, 1181, -1, -1, 707, -1, -1, -1, 417, 3559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3560 -1, 1200, 69, -1, -1, -1, -1, -1, 75, -1, 3561 -1, -1, 79, 441, -1, 82, 83, 84, 85, 86, 3562 87, 88, 89, -1, 91, 92, -1, -1, -1, -1, 3563 -1, -1, 153, 154, -1, -1, -1, -1, 466, -1, 3564 -1, -1, -1, -1, -1, 473, -1, 114, -1, 116, 3565 478, -1, 119, -1, -1, 122, 123, 124, 125, 126, 3566 127, 783, -1, -1, 185, -1, -1, -1, -1, 1349, 3567 -1, 192, -1, 795, -1, -1, -1, -1, -1, -1, 3568 -1, -1, 40, 41, -1, 43, -1, -1, -1, -1, 3569 518, 813, -1, -1, -1, -1, -1, 1296, -1, -1, 3570 -1, -1, 530, -1, 1384, -1, -1, -1, -1, -1, 3571 -1, 69, -1, -1, -1, 837, -1, 75, -1, 1399, 3572 -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3573 88, 89, -1, 91, 92, -1, -1, 258, -1, 567, 3574 -1, 40, 41, -1, 43, -1, -1, -1, 576, -1, 3575 -1, 579, -1, -1, -1, -1, 114, -1, 116, -1, 3576 -1, 1441, -1, 1443, 122, 123, 124, 125, 126, 127, 3577 69, -1, -1, 601, -1, -1, 75, -1, -1, -1, 3578 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3579 89, 913, 91, 92, -1, 316, 1476, -1, -1, -1, 3580 -1, 1481, -1, 1483, 325, 326, -1, 328, 329, -1, 3581 -1, -1, -1, -1, -1, 114, 337, 116, 646, -1, 3582 341, -1, -1, 122, 123, 124, 125, 126, 127, -1, 3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3584 -1, -1, 1522, 965, -1, -1, 367, -1, -1, -1, 3585 -1, -1, -1, -1, 976, 683, -1, -1, -1, -1, 3586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3587 -1, -1, -1, 394, -1, -1, -1, 398, -1, -1, 3588 -1, -1, -1, 711, -1, -1, -1, -1, -1, -1, 3589 144, -1, -1, -1, -1, -1, -1, -1, 726, 727, 3590 154, -1, -1, -1, -1, -1, -1, -1, 736, 430, 3591 -1, 165, 166, -1, -1, -1, -1, -1, -1, -1, 3592 -1, -1, 750, -1, -1, -1, -1, 755, -1, -1, 3593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3595 -1, 1073, -1, -1, -1, 476, -1, -1, 479, -1, 3596 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3597 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3598 22, 23, 24, 25, 26, 27, 28, 29, 30, 817, 3599 32, 33, 34, 35, -1, -1, 824, 39, -1, 253, 3600 42, -1, -1, 524, -1, -1, -1, -1, -1, -1, 3601 -1, -1, 840, -1, 842, -1, -1, -1, -1, -1, 3602 -1, -1, -1, -1, -1, -1, -1, 855, 70, -1, 3603 72, -1, 74, 861, -1, 77, 78, -1, -1, 81, 3604 -1, -1, -1, -1, 872, -1, 567, 568, 876, -1, 3605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3606 -1, -1, -1, -1, -1, 586, 587, -1, -1, -1, 3607 -1, -1, -1, -1, 116, -1, 1198, -1, -1, 600, 3608 122, 123, 603, 604, -1, -1, -1, -1, -1, 610, 3609 -1, -1, -1, -1, -1, -1, -1, -1, -1, 620, 3610 -1, 622, -1, -1, -1, -1, -1, -1, -1, -1, 3611 -1, 632, -1, -1, -1, -1, -1, -1, -1, -1, 3612 641, 642, 40, 41, 378, 43, -1, -1, -1, -1, 3613 -1, -1, 960, -1, -1, -1, 657, -1, -1, -1, 3614 661, 662, -1, -1, 665, 666, -1, -1, -1, -1, 3615 -1, 69, -1, 674, -1, -1, -1, 75, -1, -1, 3616 -1, 79, -1, 154, 82, 83, 84, 85, 86, 87, 3617 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 3618 -1, -1, -1, -1, 705, 706, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, -1, 114, 451, 116, 1027, 3620 -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 3621 -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, 3622 -1, -1, 743, -1, -1, -1, -1, 1349, -1, -1, 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3624 -1, 1069, -1, -1, -1, -1, 1074, -1, -1, -1, 3625 -1, -1, -1, -1, -1, -1, 1084, -1, -1, -1, 3626 514, -1, 783, -1, -1, -1, -1, -1, -1, -1, 3627 524, -1, -1, -1, -1, 529, -1, 1399, 532, 800, 3628 1108, 802, -1, -1, -1, -1, -1, -1, -1, -1, 3629 -1, 545, 813, 1121, -1, -1, -1, 1125, -1, -1, 3630 1128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3631 -1, -1, -1, -1, -1, -1, 1144, 1145, -1, -1, 3632 -1, 575, -1, -1, -1, -1, -1, -1, 582, -1, 3633 -1, -1, -1, 587, 1162, -1, -1, -1, -1, -1, 3634 -1, -1, -1, -1, -1, -1, 337, -1, 602, -1, 3635 -1, 342, 343, -1, 1476, -1, -1, -1, -1, -1, 3636 -1, -1, -1, -1, -1, -1, -1, -1, 889, -1, 3637 -1, -1, 363, -1, -1, 896, 367, -1, -1, -1, 3638 -1, -1, -1, -1, -1, -1, -1, 908, 909, -1, 3639 644, -1, -1, -1, -1, -1, -1, -1, 652, 1227, 3640 -1, -1, 154, -1, -1, -1, -1, -1, -1, 930, 3641 -1, -1, -1, 1535, -1, -1, -1, -1, -1, -1, 3642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3643 -1, 952, 953, -1, -1, -1, -1, -1, -1, 430, 3644 -1, 962, -1, -1, -1, -1, -1, 968, 969, -1, 3645 971, 972, 973, -1, -1, -1, -1, -1, -1, -1, 3646 -1, -1, 983, 984, -1, -1, -1, -1, -1, 460, 3647 -1, -1, -1, -1, -1, -1, -1, -1, 1306, 733, 3648 1308, -1, -1, -1, -1, -1, -1, -1, 479, 743, 3649 1318, 745, 1320, -1, 748, -1, -1, -1, -1, -1, 3650 754, -1, -1, -1, -1, -1, -1, 1335, -1, -1, 3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3652 -1, -1, -1, -1, -1, 1353, 1354, 1048, -1, 1050, 3653 -1, 1052, -1, 524, -1, -1, 1057, -1, 1366, -1, 3654 -1, 795, 796, 1371, -1, -1, 1374, -1, -1, -1, 3655 -1, -1, 1073, -1, -1, -1, -1, 811, -1, -1, 3656 -1, -1, 1390, -1, -1, -1, -1, -1, -1, -1, 3657 -1, -1, 1400, -1, -1, 1403, -1, 1405, 1406, 1407, 3658 -1, -1, -1, -1, -1, 337, -1, -1, -1, -1, 3659 342, 343, -1, 1114, -1, 586, 587, -1, -1, 590, 3660 854, -1, -1, -1, 858, -1, -1, -1, -1, -1, 3661 -1, 363, -1, 40, 41, 367, 43, 1445, -1, 1447, 3662 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1457, 3663 -1, 622, -1, -1, 625, 889, -1, -1, -1, 1467, 3664 -1, 632, 69, 634, -1, -1, -1, 638, 75, -1, 3665 641, 642, 79, -1, -1, 82, 83, 84, 85, 86, 3666 87, 88, 89, -1, 91, 92, 657, -1, -1, -1, 3667 924, -1, 1193, -1, -1, -1, 930, 1198, 430, -1, 3668 -1, -1, -1, 937, -1, 676, -1, 114, 942, 116, 3669 1211, 945, -1, -1, -1, 122, 123, 124, 125, 126, 3670 127, 692, -1, -1, -1, -1, -1, -1, 460, -1, 3671 -1, 965, -1, -1, 705, -1, 707, -1, -1, -1, 3672 -1, -1, 976, -1, -1, -1, -1, 479, -1, -1, 3673 -1, -1, -1, -1, -1, -1, 1257, 1258, -1, -1, 3674 -1, -1, 996, -1, 998, -1, -1, -1, -1, -1, 3675 -1, -1, 743, -1, -1, -1, -1, -1, -1, 1013, 3676 1014, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3677 28, -1, 524, -1, -1, 1296, 1297, -1, -1, 1300, 3678 -1, -1, -1, -1, -1, -1, 1040, -1, 779, -1, 3679 -1, -1, -1, -1, 154, -1, -1, -1, 789, 790, 3680 -1, -1, 793, -1, 795, 796, -1, -1, -1, -1, 3681 801, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3682 -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, 3683 -1, -1, -1, -1, 586, 587, -1, -1, 590, 1093, 3684 -1, 99, -1, 101, -1, -1, -1, -1, -1, -1, 3685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3686 1114, -1, -1, 1384, -1, -1, -1, -1, -1, -1, 3687 622, -1, -1, 625, 40, 41, -1, 43, 1132, 1133, 3688 632, -1, 634, -1, -1, -1, 638, -1, -1, 641, 3689 642, -1, -1, -1, -1, -1, -1, -1, 889, -1, 3690 -1, -1, -1, 69, -1, 657, -1, -1, -1, 75, 3691 -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 3692 86, 87, 88, 89, 676, 91, 92, -1, -1, 187, 3693 188, -1, -1, -1, 192, -1, 194, 195, -1, 930, 3694 692, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3695 116, -1, -1, 705, 1475, 707, 122, 123, 124, 125, 3696 126, 127, -1, -1, -1, -1, -1, -1, -1, -1, 3697 -1, 962, -1, -1, 965, -1, -1, 337, -1, -1, 3698 -1, -1, 342, 343, 1505, 1506, -1, -1, -1, 980, 3699 981, 743, 983, 984, -1, -1, -1, -1, -1, -1, 3700 -1, -1, -1, 363, -1, -1, -1, 367, -1, -1, 3701 -1, -1, -1, -1, 1535, -1, -1, -1, -1, -1, 3702 -1, -1, -1, -1, -1, -1, -1, 779, -1, 1283, 3703 -1, -1, -1, 1287, -1, -1, -1, 789, 790, -1, 3704 -1, 793, -1, 795, 796, -1, -1, -1, -1, 801, 3705 1041, 1042, -1, -1, -1, -1, -1, -1, -1, 40, 3706 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, 3707 430, -1, -1, -1, -1, -1, 334, -1, -1, -1, 3708 -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, 3709 -1, -1, -1, -1, 75, 353, -1, -1, 79, -1, 3710 460, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3711 91, 92, -1, -1, -1, -1, -1, -1, -1, 479, 3712 -1, -1, -1, 1114, -1, -1, -1, -1, -1, -1, 3713 -1, -1, -1, 114, -1, 116, -1, 889, -1, -1, 3714 -1, 122, 123, 124, 125, 126, 127, 405, -1, -1, 3715 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3716 -1, -1, -1, -1, 524, -1, -1, -1, -1, -1, 3717 -1, -1, -1, -1, -1, -1, -1, -1, 930, -1, 3718 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3719 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3720 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3721 962, -1, -1, 965, 42, 43, -1, -1, 1209, -1, 3722 1211, -1, -1, -1, -1, -1, 586, 587, 980, 981, 3723 590, 983, 984, -1, -1, -1, -1, -1, -1, -1, 3724 -1, -1, 70, -1, -1, -1, -1, 1238, -1, 77, 3725 78, -1, -1, -1, -1, 1246, 1247, 1248, -1, -1, 3726 -1, -1, 622, -1, -1, 625, 1257, 1258, 1522, -1, 3727 -1, -1, 632, -1, 634, -1, -1, -1, 638, -1, 3728 -1, 641, 642, -1, -1, -1, -1, -1, 116, 1041, 3729 1042, -1, 120, -1, 122, 123, -1, 657, -1, -1, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3731 -1, -1, -1, 571, 572, -1, 676, -1, -1, -1, 3732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3733 -1, -1, 692, -1, -1, -1, -1, -1, -1, -1, 3734 -1, -1, -1, -1, -1, 705, 604, 707, -1, 607, 3735 608, -1, 610, -1, 612, 613, -1, -1, -1, 617, 3736 618, -1, 1114, -1, -1, -1, -1, -1, -1, -1, 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3738 -1, -1, -1, 743, -1, -1, -1, -1, -1, -1, 3739 -1, -1, -1, 1384, -1, -1, -1, -1, -1, -1, 3740 -1, -1, -1, 661, -1, -1, -1, 665, -1, -1, 3741 -1, -1, -1, -1, -1, -1, -1, -1, -1, 779, 3742 -1, -1, 1413, -1, -1, -1, -1, -1, -1, 789, 3743 790, -1, -1, 793, -1, 795, 796, -1, -1, -1, 3744 -1, 801, -1, -1, -1, -1, -1, -1, -1, -1, 3745 1441, -1, 1443, -1, -1, -1, -1, 1209, -1, 1211, 3746 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3747 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3748 25, 26, 27, 28, 29, 1476, 1238, 32, 33, 34, 3749 1481, -1, 1483, -1, 1246, 1247, 1248, 42, -1, -1, 3750 -1, -1, -1, -1, -1, 1257, 1258, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3752 -1, -1, -1, -1, -1, 70, -1, -1, -1, 889, 3753 -1, -1, 77, 78, -1, -1, -1, -1, -1, -1, 3754 0, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3755 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3756 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3757 930, 116, 32, 33, 34, 35, -1, 122, 123, 39, 3758 -1, -1, 42, 43, -1, -1, -1, -1, -1, -1, 3759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3760 -1, -1, 962, -1, -1, 965, -1, 67, -1, -1, 3761 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 3762 980, 981, -1, 983, 984, -1, -1, -1, 88, 89, 3763 -1, -1, 1384, 10, 11, 12, 13, 14, 15, 16, 3764 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3765 27, 28, 29, 30, 114, -1, 116, -1, -1, -1, 3766 -1, 1413, 122, 123, -1, 42, -1, -1, -1, -1, 3767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3768 -1, 1041, 1042, -1, -1, -1, -1, -1, -1, 1441, 3769 -1, 1443, -1, 70, 952, -1, -1, -1, -1, -1, 3770 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, 3771 968, -1, -1, 971, 972, -1, -1, -1, -1, -1, 3772 -1, -1, -1, -1, 1476, -1, -1, -1, -1, 1481, 3773 -1, 1483, -1, 10, 11, 12, 13, 14, 15, 16, 3774 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3775 27, 28, 29, -1, 1114, 32, 33, 34, -1, -1, 3776 -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, 3777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3778 -1, -1, -1, -1, -1, -1, 1044, -1, -1, -1, 3779 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 3780 77, 78, -1, -1, 1062, 1063, -1, -1, 3, 4, 3781 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3782 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3783 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3784 35, -1, -1, -1, 39, 122, 123, 42, 43, 1209, 3785 -1, 1211, -1, -1, -1, -1, -1, -1, -1, -1, 3786 -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, 3787 -1, -1, 67, -1, -1, 70, -1, 72, 1238, 74, 3788 75, -1, 77, 78, 79, -1, 1246, 1247, 1248, -1, 3789 -1, -1, -1, 88, 89, -1, -1, 1257, 1258, -1, 3790 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3791 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3792 -1, 116, -1, 1181, -1, 120, -1, 122, 123, -1, 3793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3794 -1, -1, 1200, -1, -1, -1, 3, 4, 5, 6, 3795 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3796 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3797 27, 28, 29, -1, -1, 32, 33, 34, 35, -1, 3798 -1, -1, 39, 40, 41, 42, 43, 44, -1, 46, 3799 -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 3800 -1, -1, -1, 60, -1, -1, -1, 64, 65, -1, 3801 67, -1, 69, 70, -1, 72, -1, 74, 75, -1, 3802 77, 78, 79, -1, 1384, 82, 83, 84, 85, 86, 3803 87, 88, 89, -1, 91, 92, -1, -1, 1296, -1, 3804 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3805 -1, -1, -1, 1413, -1, -1, -1, 114, -1, 116, 3806 -1, -1, 119, -1, -1, 122, 123, 124, 125, 126, 3807 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, 3808 137, 1441, -1, 1443, -1, -1, -1, -1, 3, 4, 3809 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3810 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3811 25, 26, 27, 28, 29, -1, 1476, 32, 33, 34, 3812 35, 1481, -1, 1483, 39, 40, 41, 42, 43, 10, 3813 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3814 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 3815 -1, -1, -1, -1, 69, 70, -1, 72, -1, 74, 3816 75, 42, 77, 78, 79, -1, -1, 82, 83, 84, 3817 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3818 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 3819 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3820 81, 116, -1, -1, -1, -1, -1, 122, 123, 124, 3821 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, 3822 -1, -1, 137, 3, 4, 5, 6, 7, 8, 9, 3823 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3824 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3825 -1, -1, 32, 33, 34, 35, -1, -1, -1, 39, 3826 40, 41, 42, 43, 10, 11, 12, 13, 14, 15, 3827 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3828 26, 27, 28, 29, -1, -1, 32, 33, 34, 69, 3829 70, -1, 72, -1, 74, 75, 42, 77, 78, 79, 3830 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3831 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 3832 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, 3833 -1, 77, 78, -1, 114, -1, 116, -1, -1, -1, 3834 -1, -1, 122, 123, 124, 125, 126, 127, 4, 5, 3835 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3836 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3837 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3838 -1, -1, -1, -1, 40, 41, 42, 43, 10, 11, 3839 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3840 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3841 32, 33, 34, 69, 70, -1, 72, -1, 74, 75, 3842 42, 77, 78, 79, -1, -1, 82, 83, 84, 85, 3843 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3844 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3845 -1, -1, -1, -1, -1, 77, 78, -1, 114, -1, 3846 116, -1, -1, -1, -1, 121, 122, 123, 124, 125, 3847 126, 127, 4, 5, 6, 7, 8, 9, 10, 11, 3848 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3849 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3850 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, 3851 42, 43, 10, 11, 12, 13, 14, 15, 16, 17, 3852 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3853 28, 29, -1, -1, 32, 33, 34, 69, 70, -1, 3854 72, -1, 74, 75, 42, 77, 78, 79, -1, -1, 3855 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3856 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3857 -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, 3858 78, -1, 114, -1, 116, -1, -1, -1, -1, 121, 3859 122, 123, 124, 125, 126, 127, 4, 5, 6, 7, 3860 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3861 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3862 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3863 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, 3864 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3866 -1, 69, 70, -1, 72, -1, 74, 75, -1, 77, 3867 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3868 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 3869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3870 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3871 -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 3872 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3873 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3874 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3875 34, -1, -1, -1, -1, -1, 40, 41, 42, 43, 3876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3878 -1, -1, -1, -1, -1, 69, 70, -1, 72, -1, 3879 74, 75, -1, 77, 78, 79, -1, -1, 82, 83, 3880 84, 85, 86, 87, 88, 89, -1, 91, 92, -1, 3881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3882 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3883 114, -1, 116, -1, -1, -1, -1, -1, 122, 123, 3884 124, 125, 126, 127, 4, 5, 6, 7, 8, 9, 3885 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3886 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3887 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3888 40, 41, 42, 43, -1, -1, -1, -1, -1, -1, 3889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3890 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3891 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 3892 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3893 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 3894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3895 -1, -1, -1, -1, 114, -1, 116, -1, -1, -1, 3896 -1, -1, 122, 123, 124, 125, 126, 127, 3, 4, 3897 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3898 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3899 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3900 35, -1, -1, -1, 39, -1, -1, 42, 43, -1, 3901 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3902 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3903 -1, -1, 67, -1, -1, 70, -1, 72, -1, 74, 3904 75, -1, 77, 78, 79, -1, -1, -1, -1, -1, 3905 -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, 3906 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3907 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3908 -1, 116, -1, -1, -1, -1, -1, 122, 123, 3, 3909 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3910 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3911 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3912 34, -1, -1, -1, -1, -1, -1, -1, 42, -1, 3913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3915 -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 3916 74, 75, -1, 77, 78, 79, -1, -1, -1, -1, 3917 -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, 3918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3920 114, -1, 116, -1, -1, -1, -1, -1, 122, 123, 3921 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3922 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3923 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3924 33, 34, 35, -1, -1, -1, 39, -1, -1, 42, 3925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3926 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3927 -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, 3928 -1, 74, -1, -1, 77, 78, 3, 4, 5, 6, 3929 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3930 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3931 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3932 -1, -1, -1, 116, -1, 42, -1, -1, -1, 122, 3933 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3935 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3936 77, 78, 4, 5, 6, 7, 8, 9, 10, 11, 3937 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3938 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3939 32, 33, 34, -1, -1, -1, -1, -1, -1, 116, 3940 42, -1, -1, -1, -1, 122, 123, -1, -1, -1, 3941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3942 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3943 72, -1, 74, 75, -1, 77, 78, 79, -1, -1, 3944 -1, -1, -1, -1, -1, -1, 88, 89, -1, -1, 3945 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3947 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 3948 122, 123, 4, 5, 6, 7, 8, 9, 10, 11, 3949 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3950 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3951 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 3952 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3953 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3954 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3955 72, -1, 74, -1, -1, 77, 78, 4, 5, 6, 3956 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3957 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3958 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3959 -1, -1, -1, 115, 116, 42, -1, -1, -1, -1, 3960 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 3961 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3962 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3963 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, 3964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3965 -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 3966 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, 3967 -1, -1, -1, -1, -1, 122, 123, 4, 5, 6, 3968 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3969 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3970 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3971 -1, -1, -1, -1, -1, 42, -1, 10, 11, 12, 3972 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3973 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3974 33, 34, -1, 70, -1, 72, -1, 74, -1, 42, 3975 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, 3976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3977 -1, -1, -1, -1, 101, -1, -1, 70, -1, -1, 3978 -1, -1, -1, -1, 77, 78, -1, -1, -1, 116, 3979 -1, -1, -1, -1, -1, 122, 123, 4, 5, 6, 3980 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3981 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3982 27, 28, 29, 116, -1, 32, 33, 34, -1, 122, 3983 123, -1, -1, -1, -1, 42, -1, -1, -1, -1, 3984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3986 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3987 77, 78, 4, 5, 6, 7, 8, 9, 10, 11, 3988 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3989 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3990 32, 33, 34, -1, -1, -1, -1, -1, -1, 116, 3991 42, -1, -1, -1, -1, 122, 123, -1, -1, -1, 3992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3993 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3994 72, -1, 74, -1, -1, 77, 78, 4, 5, 6, 3995 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3996 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3997 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3998 -1, -1, -1, -1, 116, 42, -1, -1, -1, -1, 3999 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 4000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4001 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 4002 77, 78, 10, 11, 12, 13, 14, 15, 16, 17, 4003 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4004 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 4005 -1, -1, 40, 41, 42, 43, -1, -1, -1, 116, 4006 -1, -1, -1, -1, -1, 122, 123, -1, -1, -1, 4007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4008 -1, 69, 70, -1, -1, -1, -1, 75, -1, 77, 4009 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 4010 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 4011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4012 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 4013 -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, 4014 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4015 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4016 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 4017 40, 41, 42, 43, -1, -1, -1, -1, -1, -1, 4018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4019 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 4020 70, -1, -1, -1, -1, 75, -1, 77, 78, 79, 4021 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 4022 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 4023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4024 -1, -1, -1, -1, 114, 115, 116, -1, -1, -1, 4025 -1, -1, 122, 123, 124, 125, 126, 127, 10, 11, 4026 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4027 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 4028 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, 4029 42, 43, -1, -1, -1, -1, -1, -1, -1, -1, 4030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4031 -1, -1, -1, -1, -1, -1, -1, 69, 70, -1, 4032 -1, -1, -1, 75, -1, 77, 78, 79, -1, -1, 4033 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 4034 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4036 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 4037 122, 123, 124, 125, 126, 127, 10, 11, 12, 13, 4038 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4039 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 4040 34, -1, -1, -1, -1, -1, 40, 41, 42, 43, 4041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4043 -1, -1, -1, -1, -1, 69, 70, -1, -1, -1, 4044 -1, 75, -1, 77, 78, 79, -1, -1, 82, 83, 4045 84, 85, 86, 87, 88, 89, -1, 91, 92, -1, 4046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4048 114, -1, 116, -1, -1, -1, -1, -1, 122, 123, 4049 124, 125, 126, 127, 10, 11, 12, 13, 14, 15, 4050 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4051 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 4052 -1, -1, -1, -1, 40, 41, 42, 43, -1, -1, 4053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4055 -1, -1, -1, 69, 70, -1, -1, -1, -1, 75, 4056 -1, 77, 78, 79, -1, -1, 82, 83, 84, 85, 4057 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 4058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4059 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 4060 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 4061 126, 127, 3, 4, 5, 6, 7, 8, 9, 10, 4062 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4063 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 4064 -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, 4065 -1, 42, 10, 11, 12, 13, 14, 15, 16, 17, 4066 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4067 28, 29, -1, -1, 32, 33, 34, -1, -1, 70, 4068 -1, 72, -1, 74, 42, -1, 77, 78, -1, -1, 4069 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 4070 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4071 28, 29, 70, -1, 32, 33, 34, 75, -1, 77, 4072 78, 79, -1, -1, 42, -1, -1, -1, 119, -1, 4073 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 4074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4075 -1, -1, 70, -1, -1, -1, 114, 75, 116, 77, 4076 78, 79, -1, -1, 122, 123, -1, -1, -1, -1, 4077 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 4078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4079 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 4080 -1, -1, -1, -1, 122, 123, 10, 11, 12, 13, 4081 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4082 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 4083 34, -1, -1, -1, -1, -1, -1, -1, 42, -1, 4084 -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 4085 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4086 24, 25, 26, 27, 28, 29, 70, -1, 32, 33, 4087 34, 75, -1, 77, 78, -1, -1, -1, 42, 43, 4088 -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, 4089 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4090 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, 4091 -1, -1, 116, 77, 78, -1, -1, -1, 122, 123, 4092 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4093 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4094 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 4095 -1, -1, 116, 42, 43, -1, 120, -1, 122, 123, 4096 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4097 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4098 29, 70, -1, 32, 33, 34, -1, -1, 77, 78, 4099 -1, -1, -1, 42, 10, 11, 12, 13, 14, 15, 4100 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4101 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 4102 -1, 70, -1, -1, -1, -1, 42, 116, 77, 78, 4103 -1, 120, -1, 122, 123, -1, -1, -1, -1, -1, 4104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4105 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, 4106 -1, 77, 78, -1, -1, -1, -1, 116, -1, -1, 4107 -1, -1, -1, 122, 123, -1, -1, -1, -1, 10, 4108 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4109 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 4110 116, 32, 33, 34, -1, -1, 122, 123, -1, -1, 4111 -1, 42, 10, 11, 12, 13, 14, 15, 16, 17, 4112 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4113 28, 29, -1, -1, 32, 33, 34, -1, -1, 70, 4114 -1, -1, -1, -1, 42, -1, 77, 78, -1, -1, 4115 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 4116 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 4117 28, 29, 70, -1, 32, 33, 34, -1, -1, 77, 4118 78, -1, -1, -1, 42, 116, -1, -1, -1, -1, 4119 -1, 122, 123, -1, -1, -1, -1, -1, -1, -1, 4120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4121 -1, -1, 70, -1, -1, -1, -1, -1, 116, 77, 4122 78, -1, -1, -1, 122, 123, -1, 10, 11, 12, 4123 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4124 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 4125 33, 34, -1, -1, -1, -1, -1, -1, 116, 42, 4126 -1, -1, -1, -1, 122, 123, -1, 10, 11, 12, 4127 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4128 23, 24, 25, 26, 27, 28, 29, 70, -1, 32, 4129 33, 34, -1, -1, 77, 78, -1, -1, -1, 42, 4130 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4131 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4132 -1, -1, 32, 33, 34, -1, -1, 70, -1, -1, 4133 -1, -1, 42, 116, 77, 78, -1, -1, -1, 122, 4134 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4136 70, -1, -1, -1, -1, -1, -1, 77, 78, -1, 4137 -1, -1, -1, 116, -1, -1, -1, -1, -1, 122, 4138 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4140 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, 4141 -1, -1, 122, 123, 4, 5, 6, 7, 8, 9, 4142 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4143 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4144 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 4145 -1, -1, 42, -1, 40, 41, -1, 43, 44, -1, 4146 46, -1, -1, 49, 50, 51, 52, 53, 54, 55, 4147 56, -1, -1, 59, 60, -1, -1, -1, 64, 65, 4148 70, 67, 72, 69, 74, -1, -1, 77, 78, 75, 4149 -1, 77, 78, 79, -1, -1, 82, 83, 84, 85, 4150 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 4151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4152 -1, -1, -1, -1, -1, 115, -1, -1, 114, -1, 4153 116, -1, -1, 119, -1, -1, 122, 123, 124, 125, 4154 126, 127, -1, -1, 40, 41, 132, 43, 44, -1, 4155 46, 137, -1, 49, 50, 51, 52, 53, 54, 55, 4156 56, -1, -1, -1, 60, -1, -1, -1, 64, 65, 4157 -1, 67, -1, 69, -1, -1, -1, -1, -1, 75, 4158 -1, 77, 78, 79, -1, -1, 82, 83, 84, 85, 4159 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 4160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4161 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 4162 116, -1, -1, 119, -1, -1, 122, 123, 124, 125, 4163 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, 4164 -1, 137, 4, 5, 6, 7, 8, 9, 10, 11, 4165 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4166 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 4167 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 4168 42, -1, 40, 41, -1, 43, 44, -1, 46, 47, 4169 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 4170 -1, 59, 60, -1, -1, -1, 64, 65, 70, 67, 4171 72, 69, 74, -1, -1, 77, 78, 75, -1, 77, 4172 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 4173 88, 89, -1, 91, 92, -1, -1, -1, -1, 101, 4174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4175 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 4176 -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, 4177 -1, -1, 40, 41, 132, 43, 44, -1, 46, 47, 4178 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 4179 -1, -1, 60, -1, -1, -1, 64, 65, -1, 67, 4180 -1, 69, -1, -1, -1, -1, -1, 75, -1, 77, 4181 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 4182 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 4183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4184 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 4185 -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, 4186 -1, -1, 40, 41, 132, 43, 44, -1, 46, -1, 4187 -1, 49, 50, 51, 52, 53, 54, 55, 56, -1, 4188 -1, -1, 60, -1, -1, -1, 64, 65, -1, 67, 4189 -1, 69, -1, -1, -1, -1, -1, 75, -1, 77, 4190 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 4191 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 4192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4193 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 4194 -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, 4195 -1, -1, -1, -1, 132, 10, 11, 12, 13, 14, 4196 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4197 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 4198 -1, -1, -1, -1, -1, -1, -1, 42, 3, 4, 4199 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4200 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4201 25, 26, 27, 28, 29, 70, -1, 32, 33, 34, 4202 75, -1, 77, 78, -1, -1, -1, 42, -1, -1, 4203 -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, 4204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4205 -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 4206 -1, -1, 77, 78, 3, 4, 5, 6, 7, 8, 4207 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4208 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4209 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 4210 -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, 4211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4213 -1, 70, -1, 72, -1, 74, -1, -1, 77, 78, 4214 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4215 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4216 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 4217 34, -1, -1, -1, -1, -1, -1, -1, 42, -1, 4218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4220 -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 4221 74, -1, -1, 77, 78, 4, 5, 6, 7, 8, 4222 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4223 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4224 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 4225 -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, 4226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4227 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4228 -1, 70, -1, 72, -1, 74, -1, -1, 77, 78, 4229 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4230 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4231 -1, -1, 32, 33, 34, 35, 36, 37, 38, -1, 4232 -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, 4233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4235 70, -1, -1, -1, -1, -1, -1, 77, 78 4225 -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, 4226 79 4236 4227 }; 4237 4228 … … 4242 4233 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4243 4234 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4244 22, 23, 24, 25, 26, 27, 28, 29, 3 2, 33,4245 3 4, 35, 39, 42, 43, 67, 70, 72, 74, 75,4246 7 7, 78, 79, 88, 89, 114, 116, 122, 123, 142,4247 14 5, 157, 220, 221, 222, 223, 224, 225, 226, 227,4248 228, 229, 230, 23 2, 234, 236, 237, 238, 239, 241,4249 242, 243, 244, 245, 246, 247, 24 9, 250, 253, 254,4250 255, 25 7, 259, 260, 268, 270, 296, 297, 298, 306,4251 30 9, 315, 316, 318, 320, 321, 327, 332, 336, 337,4252 338, 339, 340, 341, 342, 343, 3 63, 380, 381, 382,4253 383, 75, 144, 145, 157, 223, 225, 234, 237, 246,4254 2 50, 254, 297, 84, 114, 325, 326, 327, 75, 77,4255 78, 79, 143, 144, 286, 287, 307, 308, 77, 78,4256 287, 114, 318, 114, 114, 157, 332, 337, 338, 339,4257 34 1, 342, 343, 117, 139, 226, 234, 237, 336, 340,4258 3 79, 380, 383, 384, 140, 112, 136, 290, 119, 140,4259 1 81, 77, 78, 142, 285, 140, 140, 140, 77, 78,4260 114, 157, 231, 322, 331, 332, 333, 334, 335, 336,4261 3 40, 344, 345, 346, 347, 348, 354, 3, 30, 81,4262 248, 3, 5, 77, 116, 157, 225, 238, 242, 244,4263 2 55, 298, 336, 340, 383, 223, 225, 237, 246, 250,4264 25 4, 297, 336, 340, 35, 243, 243, 238, 244, 140,4265 243, 238, 243, 238, 325, 243, 238, 121, 140, 140,4266 0, 139, 114, 181, 325, 325, 139, 116, 234, 237,4267 381, 285, 285, 136, 237, 114, 157, 322, 332, 336,4268 116, 157, 383, 319, 240, 119, 287, 327, 114, 303,4269 114, 114, 84, 146, 147, 40, 41, 43, 69, 75,4270 7 9, 82, 83, 85, 86, 87, 91, 92, 114, 116,4271 1 24, 125, 126, 127, 141, 145, 146, 148, 149, 156,4235 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 4236 32, 33, 36, 37, 38, 39, 43, 46, 47, 71, 4237 76, 78, 79, 80, 89, 90, 115, 117, 123, 124, 4238 143, 146, 158, 221, 222, 223, 224, 225, 226, 227, 4239 228, 229, 230, 231, 233, 235, 237, 238, 239, 240, 4240 242, 243, 244, 245, 246, 247, 248, 250, 251, 254, 4241 255, 256, 258, 260, 261, 269, 271, 297, 298, 299, 4242 307, 310, 316, 317, 319, 321, 322, 328, 333, 337, 4243 338, 339, 340, 341, 342, 343, 344, 364, 381, 382, 4244 383, 384, 76, 145, 146, 158, 224, 226, 235, 238, 4245 247, 251, 255, 298, 85, 115, 326, 327, 328, 76, 4246 78, 79, 80, 144, 145, 287, 288, 308, 309, 78, 4247 79, 288, 115, 319, 115, 115, 158, 333, 338, 339, 4248 340, 342, 343, 344, 118, 140, 227, 235, 238, 337, 4249 341, 380, 381, 384, 385, 141, 113, 137, 291, 120, 4250 141, 182, 78, 79, 143, 286, 141, 141, 141, 78, 4251 79, 115, 158, 232, 323, 332, 333, 334, 335, 336, 4252 337, 341, 345, 346, 347, 348, 349, 355, 3, 34, 4253 82, 249, 3, 4, 78, 117, 158, 226, 239, 243, 4254 245, 256, 299, 337, 341, 384, 224, 226, 238, 247, 4255 251, 255, 298, 337, 341, 39, 244, 244, 239, 245, 4256 141, 244, 239, 244, 239, 326, 244, 239, 122, 141, 4257 141, 0, 140, 115, 182, 326, 326, 140, 117, 235, 4258 238, 382, 286, 286, 137, 238, 115, 158, 323, 333, 4259 337, 117, 158, 384, 320, 241, 120, 288, 328, 115, 4260 304, 115, 115, 85, 147, 148, 44, 45, 47, 73, 4261 76, 80, 83, 84, 86, 87, 88, 92, 93, 115, 4262 117, 125, 126, 127, 128, 142, 146, 147, 149, 150, 4272 4263 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 4273 167, 168, 169, 170, 17 2, 175, 234, 288, 289, 305,4274 3 79, 384, 237, 115, 115, 115, 115, 115, 115, 115,4275 116, 234, 363, 381, 32, 116, 122, 157, 172, 225,4276 226, 2 33, 237, 241, 242, 245, 246, 251, 252, 253,4277 254, 25 6, 259, 260, 270, 275, 276, 280, 281, 282,4278 283, 2 96, 297, 363, 375, 376, 377, 378, 383, 384,4279 114, 336, 340, 383, 114, 121, 137, 116, 119, 157,4280 1 72, 291, 291, 120, 139, 121, 137, 114, 121, 137,4281 1 21, 137, 121, 137, 332, 333, 334, 335, 345, 346,4282 347, 348, 237, 331, 344, 121, 140, 67, 324, 116,4283 325, 362, 363, 325, 325, 181, 139, 114, 325, 362,4284 3 25, 325, 237, 322, 114, 114, 236, 237, 234, 237,4285 139, 234, 379, 384, 181, 139, 285, 290, 225, 242,4286 336, 340, 181, 139, 307, 237, 246, 137, 237, 237,4287 78, 114, 119, 287, 298, 237, 307, 137, 137, 318,4288 139, 144, 284, 3, 140, 215, 216, 230, 232, 237,4289 2 41, 139, 324, 114, 324, 172, 332, 237, 114, 139,4290 285, 119, 35, 36, 37, 38, 234, 299, 300, 302,4291 271, 287, 269, 139, 133, 136, 304, 139, 10, 75,4292 7 7, 78, 328, 329, 330, 115, 84, 114, 156, 114,4293 1 56, 159, 114, 156, 114, 114, 156, 156, 116, 172,4294 17 7, 181, 288, 383, 139, 86, 90, 91, 92, 114,4295 11 6, 118, 119, 102, 103, 104, 105, 106, 107, 108,4296 109, 110, 111, 112, 1 36, 174, 159, 159, 122, 128,4297 129, 1 24, 125, 93, 94, 95, 96, 130, 131, 97,4298 98, 123, 132, 133, 99, 100, 134, 114, 157, 358,4299 359, 360, 361, 362, 115, 121, 114, 362, 363, 114,4300 362, 363, 139, 234, 381, 325, 117, 139, 140, 235,4301 23 7, 246, 252, 254, 297, 374, 375, 383, 384, 140,4302 1 14, 116, 136, 157, 332, 349, 350, 351, 352, 353,4303 354, 355, 356, 357, 3 63, 364, 365, 366, 367, 368,4304 369, 3 86, 157, 256, 383, 237, 252, 243, 238, 325,4305 140, 140, 157, 235, 237, 376, 285, 235, 363, 376,4306 285, 139, 139, 139, 139, 75, 116, 118, 145, 287,4307 2 91, 292, 293, 294, 295, 139, 139, 139, 139, 139,4308 1 39, 115, 115, 115, 115, 115, 115, 115, 331, 344,4309 3 25, 137, 114, 290, 117, 215, 139, 322, 177, 289,4310 177, 289, 322, 116, 215, 324, 181, 139, 215, 305,4311 261, 258, 237, 277, 278, 279, 282, 283, 115, 121,4312 1 81, 139, 237, 122, 172, 139, 233, 237, 276, 375,4313 3 83, 316, 317, 114, 157, 349, 115, 121, 386, 287,4314 121, 385, 136, 272, 119, 299, 114, 119, 287, 289,4315 29 9, 115, 121, 114, 137, 288, 116, 288, 288, 151,4316 1 72, 289, 288, 139, 115, 121, 115, 115, 121, 172,4317 1 16, 144, 150, 151, 139, 116, 144, 150, 172, 159,4318 1 59, 159, 160, 160, 161, 161, 162, 162, 162, 162,4319 163, 16 3, 164, 165, 166, 167, 168, 135, 177, 139,4320 359, 360, 361, 237, 358, 325, 325, 172, 289, 139,4321 1 39, 287, 235, 363, 376, 237, 241, 117, 383, 117,4322 11 4, 139, 332, 350, 351, 352, 355, 365, 366, 367,4323 117, 139, 172, 237, 349, 353, 364, 114, 325, 368,4324 3 86, 325, 325, 386, 114, 325, 368, 325, 325, 386,4325 3 25, 325, 363, 235, 374, 384, 285, 237, 287, 117,4326 1 21, 117, 121, 386, 235, 376, 386, 273, 274, 275,4327 276, 27 3, 285, 172, 139, 116, 287, 135, 121, 385,4328 291, 116, 135, 295, 31, 217, 218, 285, 273, 144,4329 322, 144, 114, 325, 362, 363, 114, 325, 362, 363,4330 3 22, 146, 363, 181, 277, 115, 115, 115, 115, 139,4331 1 81, 215, 181, 115, 43, 120, 234, 262, 263, 379,4332 119, 140, 140, 144, 230, 140, 140, 273, 114, 157,4333 383, 140, 120, 237, 300, 301, 287, 120, 170, 171,4334 271, 140, 139, 139, 114, 140, 115, 329, 150, 115,4335 1 39, 121, 115, 115, 115, 115, 172, 119, 159, 172,4336 173, 17 6, 121, 139, 115, 121, 172, 139, 120, 170,4337 1 35, 277, 115, 115, 115, 358, 277, 277, 235, 376,4338 116, 122, 157, 172, 172, 237, 355, 277, 115, 115,4339 11 5, 115, 115, 115, 115, 7, 237, 349, 353, 364,4340 139, 139, 386, 139, 139, 140, 140, 140, 140, 290,4341 170, 171, 172, 323, 139, 291, 293, 120, 139, 219,4342 2 87, 43, 44, 46, 49, 50, 51, 52, 53, 54,4343 5 5, 56, 60, 64, 65, 67, 75, 77, 78, 79,4344 132, 145, 177, 178, 179, 180, 181, 182, 183, 185,4345 186, 1 98, 200, 201, 206, 220, 285, 321, 31, 140,4346 1 36, 139, 139, 324, 115, 140, 181, 119, 234, 263,4347 114, 135, 157, 264, 265, 267, 331, 332, 344, 362,4348 3 70, 371, 372, 373, 121, 137, 287, 261, 115, 121,4349 1 17, 117, 140, 237, 121, 386, 303, 272, 385, 115,4350 299, 223, 225, 234, 311, 312, 313, 314, 305, 115,4351 11 5, 144, 292, 121, 140, 176, 82, 85, 87, 144,4352 1 52, 153, 154, 151, 140, 152, 170, 140, 114, 325,4353 3 62, 363, 140, 140, 139, 140, 140, 140, 172, 115,4354 1 40, 114, 325, 362, 363, 114, 325, 368, 114, 325,4355 3 68, 363, 236, 7, 122, 140, 172, 277, 277, 276,4356 2 80, 280, 281, 115, 121, 121, 115, 101, 127, 140,4357 14 0, 152, 291, 172, 121, 137, 220, 321, 114, 114,4358 1 79, 114, 114, 137, 285, 137, 285, 122, 285, 178,4359 1 14, 181, 173, 173, 11, 207, 149, 137, 140, 139,4360 140, 1 35, 219, 115, 172, 277, 277, 290, 325, 115,4361 261, 264, 137, 332, 371, 372, 373, 171, 237, 370,4362 121, 137, 266, 267, 266, 325, 325, 287, 120, 139,4363 1 15, 139, 120, 140, 322, 120, 139, 140, 140, 115,4364 11 9, 115, 385, 173, 117, 140, 155, 116, 153, 155,4365 15 5, 121, 140, 90, 118, 117, 140, 115, 139, 115,4366 11 5, 117, 117, 117, 140, 115, 139, 139, 139, 172,4367 17 2, 140, 117, 140, 140, 140, 140, 139, 139, 171,4368 17 1, 117, 117, 140, 287, 177, 177, 50, 177, 139,4369 1 37, 137, 177, 137, 137, 177, 61, 62, 63, 202,4370 203, 204, 137, 66, 137, 54, 114, 119, 183, 120,4371 325, 137, 140, 140, 120, 137, 115, 115, 115, 370,4372 3 25, 101, 282, 283, 115, 312, 121, 137, 121, 137,4373 1 20, 310, 120, 117, 86, 139, 153, 117, 116, 153,4374 1 16, 153, 117, 277, 117, 277, 277, 277, 140, 140,4375 1 17, 117, 115, 115, 117, 121, 101, 276, 101, 140,4376 1 17, 115, 115, 114, 115, 178, 199, 220, 224, 237,4377 2 41, 137, 115, 114, 114, 181, 204, 61, 62, 172,4378 1 14, 146, 150, 179, 115, 115, 114, 325, 362, 363,4379 265, 119, 139, 139, 311, 152, 139, 139, 140, 140,4380 14 0, 140, 117, 117, 139, 140, 117, 179, 47, 48,4381 119, 189, 190, 191, 177, 179, 140, 115, 178, 237,4382 119, 191, 101, 139, 101, 139, 114, 114, 137, 146,4383 1 15, 135, 120, 139, 139, 285, 322, 120, 140, 152,4384 15 2, 115, 115, 115, 115, 280, 45, 171, 187, 188,4385 323, 135, 139, 179, 189, 115, 137, 179, 137, 139,4386 1 15, 139, 115, 139, 101, 139, 101, 139, 135, 137,4387 1 16, 146, 208, 209, 210, 137, 277, 311, 117, 140,4388 14 0, 179, 101, 121, 135, 140, 213, 214, 220, 137,4389 1 78, 178, 213, 181, 205, 235, 237, 379, 181, 205,4390 115, 139, 115, 139, 135, 171, 114, 115, 135, 121,4391 1 40, 120, 117, 117, 171, 187, 190, 192, 193, 139,4392 1 37, 190, 194, 195, 140, 114, 157, 322, 370, 144,4393 14 0, 181, 205, 181, 205, 208, 117, 171, 137, 208,4394 2 10, 115, 114, 179, 184, 120, 190, 220, 178, 59,4395 184, 197, 120, 190, 115, 237, 115, 140, 140, 135,4396 1 46, 115, 115, 135, 305, 179, 184, 137, 196, 197,4397 1 84, 197, 181, 181, 115, 115, 146, 211, 114, 137,4398 211, 115, 196, 140, 140, 181, 181, 121, 135, 171,4399 1 15, 140, 140, 146, 144, 212, 115, 137, 115, 121,4400 1 37, 1444264 167, 168, 169, 170, 171, 173, 176, 235, 289, 290, 4265 306, 380, 385, 238, 116, 116, 116, 116, 116, 116, 4266 116, 117, 235, 364, 382, 36, 117, 123, 158, 173, 4267 226, 227, 234, 238, 242, 243, 246, 247, 252, 253, 4268 254, 255, 257, 260, 261, 271, 276, 277, 281, 282, 4269 283, 284, 297, 298, 364, 376, 377, 378, 379, 384, 4270 385, 115, 337, 341, 384, 115, 122, 138, 117, 120, 4271 158, 173, 292, 292, 121, 140, 122, 138, 115, 122, 4272 138, 122, 138, 122, 138, 333, 334, 335, 336, 346, 4273 347, 348, 349, 238, 332, 345, 122, 141, 71, 325, 4274 117, 326, 363, 364, 326, 326, 182, 140, 115, 326, 4275 363, 326, 326, 238, 323, 115, 115, 237, 238, 235, 4276 238, 140, 235, 380, 385, 182, 140, 286, 291, 226, 4277 243, 337, 341, 182, 140, 308, 238, 247, 138, 238, 4278 238, 79, 115, 120, 288, 299, 238, 308, 138, 138, 4279 319, 140, 145, 285, 3, 141, 216, 217, 231, 233, 4280 238, 242, 140, 325, 115, 325, 173, 333, 238, 115, 4281 140, 286, 120, 39, 40, 41, 42, 235, 300, 301, 4282 303, 272, 288, 270, 140, 134, 137, 305, 140, 12, 4283 76, 78, 79, 329, 330, 331, 116, 85, 115, 157, 4284 115, 157, 160, 115, 157, 115, 115, 157, 157, 117, 4285 173, 178, 182, 289, 384, 140, 87, 91, 92, 93, 4286 115, 117, 119, 120, 103, 104, 105, 106, 107, 108, 4287 109, 110, 111, 112, 113, 137, 175, 160, 160, 123, 4288 129, 130, 125, 126, 94, 95, 96, 97, 131, 132, 4289 98, 99, 124, 133, 134, 100, 101, 135, 115, 158, 4290 359, 360, 361, 362, 363, 116, 122, 115, 363, 364, 4291 115, 363, 364, 140, 235, 382, 326, 118, 140, 141, 4292 236, 238, 247, 253, 255, 298, 375, 376, 384, 385, 4293 141, 115, 117, 137, 158, 333, 350, 351, 352, 353, 4294 354, 355, 356, 357, 358, 364, 365, 366, 367, 368, 4295 369, 370, 387, 158, 257, 384, 238, 253, 244, 239, 4296 326, 141, 141, 158, 236, 238, 377, 286, 236, 364, 4297 377, 286, 140, 140, 140, 140, 76, 117, 119, 146, 4298 288, 292, 293, 294, 295, 296, 140, 140, 140, 140, 4299 140, 140, 116, 116, 116, 116, 116, 116, 116, 332, 4300 345, 326, 138, 115, 291, 118, 216, 140, 323, 178, 4301 290, 178, 290, 323, 117, 216, 325, 182, 140, 216, 4302 306, 262, 259, 238, 278, 279, 280, 283, 284, 116, 4303 122, 182, 140, 238, 123, 173, 140, 234, 238, 277, 4304 376, 384, 317, 318, 115, 158, 350, 116, 122, 387, 4305 288, 122, 386, 137, 273, 120, 300, 115, 120, 288, 4306 290, 300, 116, 122, 115, 138, 289, 117, 289, 289, 4307 152, 173, 290, 289, 140, 116, 122, 116, 116, 122, 4308 173, 117, 145, 151, 152, 140, 117, 145, 151, 173, 4309 160, 160, 160, 161, 161, 162, 162, 163, 163, 163, 4310 163, 164, 164, 165, 166, 167, 168, 169, 136, 178, 4311 140, 360, 361, 362, 238, 359, 326, 326, 173, 290, 4312 140, 140, 288, 236, 364, 377, 238, 242, 118, 384, 4313 118, 115, 140, 333, 351, 352, 353, 356, 366, 367, 4314 368, 118, 140, 173, 238, 350, 354, 365, 115, 326, 4315 369, 387, 326, 326, 387, 115, 326, 369, 326, 326, 4316 387, 326, 326, 364, 236, 375, 385, 286, 238, 288, 4317 118, 122, 118, 122, 387, 236, 377, 387, 274, 275, 4318 276, 277, 274, 286, 173, 140, 117, 288, 136, 122, 4319 386, 292, 117, 136, 296, 35, 218, 219, 286, 274, 4320 145, 323, 145, 115, 326, 363, 364, 115, 326, 363, 4321 364, 323, 147, 364, 182, 278, 116, 116, 116, 116, 4322 140, 182, 216, 182, 116, 47, 121, 235, 263, 264, 4323 380, 120, 141, 141, 145, 231, 141, 141, 274, 115, 4324 158, 384, 141, 121, 238, 301, 302, 288, 121, 171, 4325 172, 272, 141, 140, 140, 115, 141, 116, 330, 151, 4326 116, 140, 122, 116, 116, 116, 116, 173, 120, 160, 4327 173, 174, 177, 122, 140, 116, 122, 173, 140, 121, 4328 171, 136, 278, 116, 116, 116, 359, 278, 278, 236, 4329 377, 117, 123, 158, 173, 173, 238, 356, 278, 116, 4330 116, 116, 116, 116, 116, 116, 5, 238, 350, 354, 4331 365, 140, 140, 387, 140, 140, 141, 141, 141, 141, 4332 291, 171, 172, 173, 324, 140, 292, 294, 121, 140, 4333 220, 288, 47, 48, 50, 53, 54, 55, 56, 57, 4334 58, 59, 60, 64, 68, 69, 71, 76, 78, 79, 4335 80, 133, 146, 178, 179, 180, 181, 182, 183, 184, 4336 186, 187, 199, 201, 202, 207, 221, 286, 322, 35, 4337 141, 137, 140, 140, 325, 116, 141, 182, 120, 235, 4338 264, 115, 136, 158, 265, 266, 268, 332, 333, 345, 4339 363, 371, 372, 373, 374, 122, 138, 288, 262, 116, 4340 122, 118, 118, 141, 238, 122, 387, 304, 273, 386, 4341 116, 300, 224, 226, 235, 312, 313, 314, 315, 306, 4342 116, 116, 145, 293, 122, 141, 177, 83, 86, 88, 4343 145, 153, 154, 155, 152, 141, 153, 171, 141, 115, 4344 326, 363, 364, 141, 141, 140, 141, 141, 141, 173, 4345 116, 141, 115, 326, 363, 364, 115, 326, 369, 115, 4346 326, 369, 364, 237, 5, 123, 141, 173, 278, 278, 4347 277, 281, 281, 282, 116, 122, 122, 116, 102, 128, 4348 141, 141, 153, 292, 173, 122, 138, 221, 322, 115, 4349 115, 180, 115, 115, 138, 286, 138, 286, 123, 286, 4350 179, 115, 182, 174, 174, 13, 208, 150, 138, 141, 4351 140, 141, 136, 220, 116, 173, 278, 278, 291, 326, 4352 116, 262, 265, 138, 333, 372, 373, 374, 172, 238, 4353 371, 122, 138, 267, 268, 267, 326, 326, 288, 121, 4354 140, 116, 140, 121, 141, 323, 121, 140, 141, 141, 4355 116, 120, 116, 386, 174, 118, 141, 156, 117, 154, 4356 156, 156, 122, 141, 91, 119, 118, 141, 116, 140, 4357 116, 116, 118, 118, 118, 141, 116, 140, 140, 140, 4358 173, 173, 141, 118, 141, 141, 141, 141, 140, 140, 4359 172, 172, 118, 118, 141, 288, 178, 178, 54, 178, 4360 140, 138, 138, 178, 138, 138, 178, 65, 66, 67, 4361 203, 204, 205, 138, 70, 138, 58, 115, 120, 184, 4362 121, 326, 138, 141, 141, 121, 138, 116, 116, 116, 4363 371, 326, 102, 283, 284, 116, 313, 122, 138, 122, 4364 138, 121, 311, 121, 118, 87, 140, 154, 118, 117, 4365 154, 117, 154, 118, 278, 118, 278, 278, 278, 141, 4366 141, 118, 118, 116, 116, 118, 122, 102, 277, 102, 4367 141, 118, 116, 116, 115, 116, 179, 200, 221, 225, 4368 238, 242, 138, 116, 115, 115, 182, 205, 65, 66, 4369 173, 115, 147, 151, 180, 116, 116, 115, 326, 363, 4370 364, 266, 120, 140, 140, 312, 153, 140, 140, 141, 4371 141, 141, 141, 118, 118, 140, 141, 118, 180, 51, 4372 52, 120, 190, 191, 192, 178, 180, 141, 116, 179, 4373 238, 120, 192, 102, 140, 102, 140, 115, 115, 138, 4374 147, 116, 136, 121, 140, 140, 286, 323, 121, 141, 4375 153, 153, 116, 116, 116, 116, 281, 49, 172, 188, 4376 189, 324, 136, 140, 180, 190, 116, 138, 180, 138, 4377 140, 116, 140, 116, 140, 102, 140, 102, 140, 136, 4378 138, 117, 147, 209, 210, 211, 138, 278, 312, 118, 4379 141, 141, 180, 102, 122, 136, 141, 214, 215, 221, 4380 138, 179, 179, 214, 182, 206, 236, 238, 380, 182, 4381 206, 116, 140, 116, 140, 136, 172, 115, 116, 136, 4382 122, 141, 121, 118, 118, 172, 188, 191, 193, 194, 4383 140, 138, 191, 195, 196, 141, 115, 158, 323, 371, 4384 145, 141, 182, 206, 182, 206, 209, 118, 172, 138, 4385 209, 211, 116, 115, 180, 185, 121, 191, 221, 179, 4386 63, 185, 198, 121, 191, 116, 238, 116, 141, 141, 4387 136, 147, 116, 116, 136, 306, 180, 185, 138, 197, 4388 198, 185, 198, 182, 182, 116, 116, 147, 212, 115, 4389 138, 212, 116, 197, 141, 141, 182, 182, 122, 136, 4390 172, 116, 141, 141, 147, 145, 213, 116, 138, 116, 4391 122, 138, 145 4401 4392 }; 4402 4393 … … 5235 5226 5236 5227 /* Line 1806 of yacc.c */ 5237 #line 32 6"parser.yy"5228 #line 328 "parser.yy" 5238 5229 { typedefTable.enterScope(); } 5239 5230 break; … … 5242 5233 5243 5234 /* Line 1806 of yacc.c */ 5244 #line 33 0"parser.yy"5235 #line 332 "parser.yy" 5245 5236 { typedefTable.leaveScope(); } 5246 5237 break; … … 5249 5240 5250 5241 /* Line 1806 of yacc.c */ 5251 #line 33 7"parser.yy"5242 #line 339 "parser.yy" 5252 5243 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 5253 5244 break; 5254 5245 5255 5246 case 5: 5256 5257 /* Line 1806 of yacc.c */5258 #line 338 "parser.yy"5259 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }5260 break;5261 5262 case 6:5263 5264 /* Line 1806 of yacc.c */5265 #line 339 "parser.yy"5266 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }5267 break;5268 5269 case 7:5270 5247 5271 5248 /* Line 1806 of yacc.c */ … … 5274 5251 break; 5275 5252 5253 case 6: 5254 5255 /* Line 1806 of yacc.c */ 5256 #line 341 "parser.yy" 5257 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 5258 break; 5259 5260 case 7: 5261 5262 /* Line 1806 of yacc.c */ 5263 #line 342 "parser.yy" 5264 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 5265 break; 5266 5276 5267 case 8: 5277 5268 5278 5269 /* Line 1806 of yacc.c */ 5279 #line 34 1"parser.yy"5270 #line 343 "parser.yy" 5280 5271 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 5281 5272 break; … … 5284 5275 5285 5276 /* Line 1806 of yacc.c */ 5286 #line 36 6"parser.yy"5277 #line 368 "parser.yy" 5287 5278 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 5288 5279 break; … … 5291 5282 5292 5283 /* Line 1806 of yacc.c */ 5293 #line 37 0"parser.yy"5284 #line 372 "parser.yy" 5294 5285 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 5295 5286 break; … … 5298 5289 5299 5290 /* Line 1806 of yacc.c */ 5300 #line 37 2"parser.yy"5291 #line 374 "parser.yy" 5301 5292 { 5302 5293 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st … … 5309 5300 5310 5301 /* Line 1806 of yacc.c */ 5311 #line 38 3"parser.yy"5302 #line 385 "parser.yy" 5312 5303 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5313 5304 break; … … 5316 5307 5317 5308 /* Line 1806 of yacc.c */ 5318 #line 38 5"parser.yy"5309 #line 387 "parser.yy" 5319 5310 { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); } 5320 5311 break; … … 5323 5314 5324 5315 /* Line 1806 of yacc.c */ 5325 #line 3 88"parser.yy"5316 #line 390 "parser.yy" 5326 5317 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5327 5318 break; … … 5330 5321 5331 5322 /* Line 1806 of yacc.c */ 5332 #line 39 0"parser.yy"5323 #line 392 "parser.yy" 5333 5324 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 5334 5325 break; … … 5337 5328 5338 5329 /* Line 1806 of yacc.c */ 5339 #line 40 0"parser.yy"5330 #line 402 "parser.yy" 5340 5331 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 5341 5332 break; … … 5344 5335 5345 5336 /* Line 1806 of yacc.c */ 5346 #line 40 2"parser.yy"5337 #line 404 "parser.yy" 5347 5338 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5348 5339 break; … … 5351 5342 5352 5343 /* Line 1806 of yacc.c */ 5353 #line 40 4"parser.yy"5344 #line 406 "parser.yy" 5354 5345 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5355 5346 break; … … 5358 5349 5359 5350 /* Line 1806 of yacc.c */ 5360 #line 40 6"parser.yy"5351 #line 408 "parser.yy" 5361 5352 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5362 5353 break; … … 5365 5356 5366 5357 /* Line 1806 of yacc.c */ 5367 #line 4 08"parser.yy"5358 #line 410 "parser.yy" 5368 5359 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); } 5369 5360 break; … … 5372 5363 5373 5364 /* Line 1806 of yacc.c */ 5374 #line 41 0"parser.yy"5365 #line 412 "parser.yy" 5375 5366 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5376 5367 break; … … 5379 5370 5380 5371 /* Line 1806 of yacc.c */ 5381 #line 41 2"parser.yy"5372 #line 414 "parser.yy" 5382 5373 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5383 5374 break; … … 5386 5377 5387 5378 /* Line 1806 of yacc.c */ 5388 #line 41 4"parser.yy"5379 #line 416 "parser.yy" 5389 5380 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 5390 5381 break; … … 5393 5384 5394 5385 /* Line 1806 of yacc.c */ 5395 #line 41 6"parser.yy"5386 #line 418 "parser.yy" 5396 5387 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 5397 5388 break; … … 5400 5391 5401 5392 /* Line 1806 of yacc.c */ 5402 #line 4 18"parser.yy"5393 #line 420 "parser.yy" 5403 5394 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5404 5395 break; … … 5407 5398 5408 5399 /* Line 1806 of yacc.c */ 5409 #line 42 0"parser.yy"5400 #line 422 "parser.yy" 5410 5401 { 5411 5402 Token fn; … … 5418 5409 5419 5410 /* Line 1806 of yacc.c */ 5420 #line 43 0"parser.yy"5411 #line 432 "parser.yy" 5421 5412 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5422 5413 break; … … 5425 5416 5426 5417 /* Line 1806 of yacc.c */ 5427 #line 43 5"parser.yy"5418 #line 437 "parser.yy" 5428 5419 { (yyval.en) = nullptr; } 5429 5420 break; … … 5432 5423 5433 5424 /* Line 1806 of yacc.c */ 5434 #line 44 1"parser.yy"5425 #line 443 "parser.yy" 5435 5426 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5436 5427 break; … … 5439 5430 5440 5431 /* Line 1806 of yacc.c */ 5441 #line 44 7"parser.yy"5432 #line 449 "parser.yy" 5442 5433 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); } 5443 5434 break; … … 5446 5437 5447 5438 /* Line 1806 of yacc.c */ 5448 #line 4 49"parser.yy"5439 #line 451 "parser.yy" 5449 5440 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); } 5450 5441 break; … … 5453 5444 5454 5445 /* Line 1806 of yacc.c */ 5455 #line 45 1"parser.yy"5446 #line 453 "parser.yy" 5456 5447 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5457 5448 break; … … 5460 5451 5461 5452 /* Line 1806 of yacc.c */ 5462 #line 45 3"parser.yy"5453 #line 455 "parser.yy" 5463 5454 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5464 5455 break; … … 5467 5458 5468 5459 /* Line 1806 of yacc.c */ 5469 #line 45 5"parser.yy"5460 #line 457 "parser.yy" 5470 5461 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5471 5462 break; … … 5474 5465 5475 5466 /* Line 1806 of yacc.c */ 5476 #line 45 7"parser.yy"5467 #line 459 "parser.yy" 5477 5468 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5478 5469 break; … … 5481 5472 5482 5473 /* Line 1806 of yacc.c */ 5483 #line 46 2"parser.yy"5474 #line 464 "parser.yy" 5484 5475 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5485 5476 break; … … 5488 5479 5489 5480 /* Line 1806 of yacc.c */ 5490 #line 46 4"parser.yy"5481 #line 466 "parser.yy" 5491 5482 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5492 5483 break; … … 5495 5486 5496 5487 /* Line 1806 of yacc.c */ 5497 #line 46 6"parser.yy"5488 #line 468 "parser.yy" 5498 5489 { 5499 5490 if( (*(yyvsp[(1) - (2)].tok)) == "0" || (*(yyvsp[(1) - (2)].tok)) == "1" ) { … … 5508 5499 5509 5500 /* Line 1806 of yacc.c */ 5510 #line 47 7"parser.yy"5501 #line 479 "parser.yy" 5511 5502 { (yyval.en) = nullptr; } 5512 5503 break; … … 5515 5506 5516 5507 /* Line 1806 of yacc.c */ 5517 #line 4 79"parser.yy"5508 #line 481 "parser.yy" 5518 5509 { 5519 5510 Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ); … … 5525 5516 5526 5517 /* Line 1806 of yacc.c */ 5527 #line 49 0"parser.yy"5518 #line 492 "parser.yy" 5528 5519 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5529 5520 break; … … 5532 5523 5533 5524 /* Line 1806 of yacc.c */ 5534 #line 49 2"parser.yy"5525 #line 494 "parser.yy" 5535 5526 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5536 5527 break; … … 5539 5530 5540 5531 /* Line 1806 of yacc.c */ 5541 #line 49 4"parser.yy"5532 #line 496 "parser.yy" 5542 5533 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5543 5534 break; … … 5546 5537 5547 5538 /* Line 1806 of yacc.c */ 5548 #line 499"parser.yy"5539 #line 501 "parser.yy" 5549 5540 { 5550 5541 switch ( (yyvsp[(1) - (2)].op) ) { … … 5564 5555 5565 5556 /* Line 1806 of yacc.c */ 5566 #line 51 2"parser.yy"5557 #line 514 "parser.yy" 5567 5558 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5568 5559 break; … … 5571 5562 5572 5563 /* Line 1806 of yacc.c */ 5573 #line 51 4"parser.yy"5564 #line 516 "parser.yy" 5574 5565 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5575 5566 break; … … 5578 5569 5579 5570 /* Line 1806 of yacc.c */ 5580 #line 51 6"parser.yy"5571 #line 518 "parser.yy" 5581 5572 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5582 5573 break; … … 5585 5576 5586 5577 /* Line 1806 of yacc.c */ 5587 #line 5 18"parser.yy"5578 #line 520 "parser.yy" 5588 5579 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5589 5580 break; … … 5592 5583 5593 5584 /* Line 1806 of yacc.c */ 5594 #line 52 0"parser.yy"5585 #line 522 "parser.yy" 5595 5586 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5596 5587 break; … … 5599 5590 5600 5591 /* Line 1806 of yacc.c */ 5601 #line 52 2"parser.yy"5592 #line 524 "parser.yy" 5602 5593 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5603 5594 break; … … 5606 5597 5607 5598 /* Line 1806 of yacc.c */ 5608 #line 52 4"parser.yy"5599 #line 526 "parser.yy" 5609 5600 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5610 5601 break; … … 5613 5604 5614 5605 /* Line 1806 of yacc.c */ 5615 #line 52 6"parser.yy"5606 #line 528 "parser.yy" 5616 5607 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5617 5608 break; … … 5620 5611 5621 5612 /* Line 1806 of yacc.c */ 5622 #line 5 28"parser.yy"5613 #line 530 "parser.yy" 5623 5614 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5624 5615 break; … … 5627 5618 5628 5619 /* Line 1806 of yacc.c */ 5629 #line 53 0"parser.yy"5620 #line 532 "parser.yy" 5630 5621 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5631 5622 break; … … 5634 5625 5635 5626 /* Line 1806 of yacc.c */ 5636 #line 53 2"parser.yy"5627 #line 534 "parser.yy" 5637 5628 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5638 5629 break; … … 5641 5632 5642 5633 /* Line 1806 of yacc.c */ 5643 #line 5 38"parser.yy"5634 #line 540 "parser.yy" 5644 5635 { (yyval.op) = OperKinds::PointTo; } 5645 5636 break; … … 5648 5639 5649 5640 /* Line 1806 of yacc.c */ 5650 #line 5 39"parser.yy"5641 #line 541 "parser.yy" 5651 5642 { (yyval.op) = OperKinds::AddressOf; } 5652 5643 break; … … 5655 5646 5656 5647 /* Line 1806 of yacc.c */ 5657 #line 54 5"parser.yy"5648 #line 547 "parser.yy" 5658 5649 { (yyval.op) = OperKinds::UnPlus; } 5659 5650 break; … … 5662 5653 5663 5654 /* Line 1806 of yacc.c */ 5664 #line 54 6"parser.yy"5655 #line 548 "parser.yy" 5665 5656 { (yyval.op) = OperKinds::UnMinus; } 5666 5657 break; … … 5669 5660 5670 5661 /* Line 1806 of yacc.c */ 5671 #line 54 7"parser.yy"5662 #line 549 "parser.yy" 5672 5663 { (yyval.op) = OperKinds::Neg; } 5673 5664 break; … … 5676 5667 5677 5668 /* Line 1806 of yacc.c */ 5678 #line 5 48"parser.yy"5669 #line 550 "parser.yy" 5679 5670 { (yyval.op) = OperKinds::BitNeg; } 5680 5671 break; … … 5683 5674 5684 5675 /* Line 1806 of yacc.c */ 5685 #line 55 4"parser.yy"5676 #line 556 "parser.yy" 5686 5677 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5687 5678 break; … … 5690 5681 5691 5682 /* Line 1806 of yacc.c */ 5692 #line 56 2"parser.yy"5683 #line 564 "parser.yy" 5693 5684 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5694 5685 break; … … 5697 5688 5698 5689 /* Line 1806 of yacc.c */ 5699 #line 56 4"parser.yy"5690 #line 566 "parser.yy" 5700 5691 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5701 5692 break; … … 5704 5695 5705 5696 /* Line 1806 of yacc.c */ 5706 #line 56 6"parser.yy"5697 #line 568 "parser.yy" 5707 5698 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5708 5699 break; … … 5711 5702 5712 5703 /* Line 1806 of yacc.c */ 5713 #line 57 2"parser.yy"5704 #line 574 "parser.yy" 5714 5705 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5715 5706 break; … … 5718 5709 5719 5710 /* Line 1806 of yacc.c */ 5720 #line 57 4"parser.yy"5711 #line 576 "parser.yy" 5721 5712 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5722 5713 break; … … 5725 5716 5726 5717 /* Line 1806 of yacc.c */ 5727 #line 58 0"parser.yy"5718 #line 582 "parser.yy" 5728 5719 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5729 5720 break; … … 5732 5723 5733 5724 /* Line 1806 of yacc.c */ 5734 #line 58 2"parser.yy"5725 #line 584 "parser.yy" 5735 5726 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5736 5727 break; … … 5739 5730 5740 5731 /* Line 1806 of yacc.c */ 5741 #line 5 88"parser.yy"5732 #line 590 "parser.yy" 5742 5733 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5743 5734 break; … … 5746 5737 5747 5738 /* Line 1806 of yacc.c */ 5748 #line 59 0"parser.yy"5739 #line 592 "parser.yy" 5749 5740 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5750 5741 break; … … 5753 5744 5754 5745 /* Line 1806 of yacc.c */ 5755 #line 59 2"parser.yy"5746 #line 594 "parser.yy" 5756 5747 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5757 5748 break; … … 5760 5751 5761 5752 /* Line 1806 of yacc.c */ 5762 #line 59 4"parser.yy"5753 #line 596 "parser.yy" 5763 5754 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5764 5755 break; … … 5767 5758 5768 5759 /* Line 1806 of yacc.c */ 5769 #line 60 0"parser.yy"5760 #line 602 "parser.yy" 5770 5761 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5771 5762 break; … … 5774 5765 5775 5766 /* Line 1806 of yacc.c */ 5776 #line 60 2"parser.yy"5767 #line 604 "parser.yy" 5777 5768 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5778 5769 break; … … 5781 5772 5782 5773 /* Line 1806 of yacc.c */ 5783 #line 6 08"parser.yy"5774 #line 610 "parser.yy" 5784 5775 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5785 5776 break; … … 5788 5779 5789 5780 /* Line 1806 of yacc.c */ 5790 #line 61 4"parser.yy"5781 #line 616 "parser.yy" 5791 5782 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5792 5783 break; … … 5795 5786 5796 5787 /* Line 1806 of yacc.c */ 5797 #line 62 0"parser.yy"5788 #line 622 "parser.yy" 5798 5789 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5799 5790 break; … … 5802 5793 5803 5794 /* Line 1806 of yacc.c */ 5804 #line 62 6"parser.yy"5795 #line 628 "parser.yy" 5805 5796 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5806 5797 break; … … 5809 5800 5810 5801 /* Line 1806 of yacc.c */ 5811 #line 63 2"parser.yy"5802 #line 634 "parser.yy" 5812 5803 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5813 5804 break; … … 5816 5807 5817 5808 /* Line 1806 of yacc.c */ 5818 #line 6 38"parser.yy"5809 #line 640 "parser.yy" 5819 5810 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5820 5811 break; … … 5823 5814 5824 5815 /* Line 1806 of yacc.c */ 5825 #line 64 1"parser.yy"5816 #line 643 "parser.yy" 5826 5817 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5827 5818 break; … … 5830 5821 5831 5822 /* Line 1806 of yacc.c */ 5832 #line 65 4"parser.yy"5823 #line 656 "parser.yy" 5833 5824 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5834 5825 break; … … 5837 5828 5838 5829 /* Line 1806 of yacc.c */ 5839 #line 66 1"parser.yy"5830 #line 663 "parser.yy" 5840 5831 { (yyval.en) = nullptr; } 5841 5832 break; … … 5844 5835 5845 5836 /* Line 1806 of yacc.c */ 5846 #line 66 6"parser.yy"5837 #line 668 "parser.yy" 5847 5838 { (yyval.op) = OperKinds::Assign; } 5848 5839 break; … … 5851 5842 5852 5843 /* Line 1806 of yacc.c */ 5853 #line 66 7"parser.yy"5844 #line 669 "parser.yy" 5854 5845 { (yyval.op) = OperKinds::AtAssn; } 5855 5846 break; … … 5858 5849 5859 5850 /* Line 1806 of yacc.c */ 5860 #line 6 68"parser.yy"5851 #line 670 "parser.yy" 5861 5852 { (yyval.op) = OperKinds::MulAssn; } 5862 5853 break; … … 5865 5856 5866 5857 /* Line 1806 of yacc.c */ 5867 #line 6 69"parser.yy"5858 #line 671 "parser.yy" 5868 5859 { (yyval.op) = OperKinds::DivAssn; } 5869 5860 break; … … 5872 5863 5873 5864 /* Line 1806 of yacc.c */ 5874 #line 67 0"parser.yy"5865 #line 672 "parser.yy" 5875 5866 { (yyval.op) = OperKinds::ModAssn; } 5876 5867 break; … … 5879 5870 5880 5871 /* Line 1806 of yacc.c */ 5881 #line 67 1"parser.yy"5872 #line 673 "parser.yy" 5882 5873 { (yyval.op) = OperKinds::PlusAssn; } 5883 5874 break; … … 5886 5877 5887 5878 /* Line 1806 of yacc.c */ 5888 #line 67 2"parser.yy"5879 #line 674 "parser.yy" 5889 5880 { (yyval.op) = OperKinds::MinusAssn; } 5890 5881 break; … … 5893 5884 5894 5885 /* Line 1806 of yacc.c */ 5895 #line 67 3"parser.yy"5886 #line 675 "parser.yy" 5896 5887 { (yyval.op) = OperKinds::LSAssn; } 5897 5888 break; … … 5900 5891 5901 5892 /* Line 1806 of yacc.c */ 5902 #line 67 4"parser.yy"5893 #line 676 "parser.yy" 5903 5894 { (yyval.op) = OperKinds::RSAssn; } 5904 5895 break; … … 5907 5898 5908 5899 /* Line 1806 of yacc.c */ 5909 #line 67 5"parser.yy"5900 #line 677 "parser.yy" 5910 5901 { (yyval.op) = OperKinds::AndAssn; } 5911 5902 break; … … 5914 5905 5915 5906 /* Line 1806 of yacc.c */ 5916 #line 67 6"parser.yy"5907 #line 678 "parser.yy" 5917 5908 { (yyval.op) = OperKinds::ERAssn; } 5918 5909 break; … … 5921 5912 5922 5913 /* Line 1806 of yacc.c */ 5923 #line 67 7"parser.yy"5914 #line 679 "parser.yy" 5924 5915 { (yyval.op) = OperKinds::OrAssn; } 5925 5916 break; … … 5928 5919 5929 5920 /* Line 1806 of yacc.c */ 5930 #line 6 88"parser.yy"5921 #line 690 "parser.yy" 5931 5922 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5932 5923 break; … … 5935 5926 5936 5927 /* Line 1806 of yacc.c */ 5937 #line 69 0"parser.yy"5928 #line 692 "parser.yy" 5938 5929 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5939 5930 break; … … 5942 5933 5943 5934 /* Line 1806 of yacc.c */ 5944 #line 69 6"parser.yy"5935 #line 698 "parser.yy" 5945 5936 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5946 5937 break; … … 5949 5940 5950 5941 /* Line 1806 of yacc.c */ 5951 #line 70 2"parser.yy"5942 #line 704 "parser.yy" 5952 5943 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5953 5944 break; … … 5956 5947 5957 5948 /* Line 1806 of yacc.c */ 5958 #line 70 7"parser.yy"5949 #line 709 "parser.yy" 5959 5950 { (yyval.en) = nullptr; } 5960 5951 break; … … 5963 5954 5964 5955 /* Line 1806 of yacc.c */ 5965 #line 71 6"parser.yy"5956 #line 718 "parser.yy" 5966 5957 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5967 5958 break; … … 5970 5961 5971 5962 /* Line 1806 of yacc.c */ 5972 #line 72 3"parser.yy"5963 #line 725 "parser.yy" 5973 5964 { 5974 5965 Token fn; … … 5981 5972 5982 5973 /* Line 1806 of yacc.c */ 5983 #line 73 3"parser.yy"5974 #line 735 "parser.yy" 5984 5975 { 5985 5976 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); … … 5990 5981 5991 5982 /* Line 1806 of yacc.c */ 5992 #line 74 0"parser.yy"5983 #line 742 "parser.yy" 5993 5984 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5994 5985 break; … … 5997 5988 5998 5989 /* Line 1806 of yacc.c */ 5999 #line 7 48"parser.yy"5990 #line 750 "parser.yy" 6000 5991 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 6001 5992 break; … … 6004 5995 6005 5996 /* Line 1806 of yacc.c */ 6006 #line 75 4"parser.yy"5997 #line 756 "parser.yy" 6007 5998 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 6008 5999 break; … … 6011 6002 6012 6003 /* Line 1806 of yacc.c */ 6013 #line 7 59"parser.yy"6004 #line 761 "parser.yy" 6014 6005 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 6015 6006 break; … … 6018 6009 6019 6010 /* Line 1806 of yacc.c */ 6020 #line 76 1"parser.yy"6011 #line 763 "parser.yy" 6021 6012 { 6022 6013 distExt( (yyvsp[(2) - (2)].decl) ); … … 6028 6019 6029 6020 /* Line 1806 of yacc.c */ 6030 #line 76 6"parser.yy"6021 #line 768 "parser.yy" 6031 6022 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 6032 6023 break; … … 6035 6026 6036 6027 /* Line 1806 of yacc.c */ 6037 #line 7 68"parser.yy"6028 #line 770 "parser.yy" 6038 6029 { 6039 6030 distExt( (yyvsp[(2) - (2)].decl) ); … … 6045 6036 6046 6037 /* Line 1806 of yacc.c */ 6047 #line 7 78"parser.yy"6038 #line 780 "parser.yy" 6048 6039 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 6049 6040 break; … … 6052 6043 6053 6044 /* Line 1806 of yacc.c */ 6054 #line 78 3"parser.yy"6045 #line 785 "parser.yy" 6055 6046 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 6056 6047 break; … … 6059 6050 6060 6051 /* Line 1806 of yacc.c */ 6061 #line 7 89"parser.yy"6052 #line 791 "parser.yy" 6062 6053 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 6063 6054 break; … … 6066 6057 6067 6058 /* Line 1806 of yacc.c */ 6068 #line 79 1"parser.yy"6059 #line 793 "parser.yy" 6069 6060 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 6070 6061 break; … … 6073 6064 6074 6065 /* Line 1806 of yacc.c */ 6075 #line 79 3"parser.yy"6066 #line 795 "parser.yy" 6076 6067 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 6077 6068 break; … … 6080 6071 6081 6072 /* Line 1806 of yacc.c */ 6082 #line 79 5"parser.yy"6073 #line 797 "parser.yy" 6083 6074 { 6084 6075 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 6095 6086 6096 6087 /* Line 1806 of yacc.c */ 6097 #line 80 5"parser.yy"6088 #line 807 "parser.yy" 6098 6089 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 6099 6090 break; … … 6102 6093 6103 6094 /* Line 1806 of yacc.c */ 6104 #line 80 7"parser.yy"6095 #line 809 "parser.yy" 6105 6096 { 6106 6097 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 6112 6103 6113 6104 /* Line 1806 of yacc.c */ 6114 #line 81 7"parser.yy"6105 #line 819 "parser.yy" 6115 6106 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6116 6107 break; … … 6119 6110 6120 6111 /* Line 1806 of yacc.c */ 6121 #line 8 19"parser.yy"6112 #line 821 "parser.yy" 6122 6113 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 6123 6114 break; … … 6126 6117 6127 6118 /* Line 1806 of yacc.c */ 6128 #line 82 4"parser.yy"6119 #line 826 "parser.yy" 6129 6120 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 6130 6121 break; … … 6133 6124 6134 6125 /* Line 1806 of yacc.c */ 6135 #line 82 6"parser.yy"6126 #line 828 "parser.yy" 6136 6127 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 6137 6128 break; … … 6140 6131 6141 6132 /* Line 1806 of yacc.c */ 6142 #line 83 0"parser.yy"6133 #line 832 "parser.yy" 6143 6134 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 6144 6135 break; … … 6147 6138 6148 6139 /* Line 1806 of yacc.c */ 6149 #line 83 1"parser.yy"6140 #line 833 "parser.yy" 6150 6141 { (yyval.sn) = new StatementNode( build_default() ); } 6151 6142 break; … … 6154 6145 6155 6146 /* Line 1806 of yacc.c */ 6156 #line 83 7"parser.yy"6147 #line 839 "parser.yy" 6157 6148 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 6158 6149 break; … … 6161 6152 6162 6153 /* Line 1806 of yacc.c */ 6163 #line 84 1"parser.yy"6154 #line 843 "parser.yy" 6164 6155 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 6165 6156 break; … … 6168 6159 6169 6160 /* Line 1806 of yacc.c */ 6170 #line 84 6"parser.yy"6161 #line 848 "parser.yy" 6171 6162 { (yyval.sn) = nullptr; } 6172 6163 break; … … 6175 6166 6176 6167 /* Line 1806 of yacc.c */ 6177 #line 85 2"parser.yy"6168 #line 854 "parser.yy" 6178 6169 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 6179 6170 break; … … 6182 6173 6183 6174 /* Line 1806 of yacc.c */ 6184 #line 85 4"parser.yy"6175 #line 856 "parser.yy" 6185 6176 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 6186 6177 break; … … 6189 6180 6190 6181 /* Line 1806 of yacc.c */ 6191 #line 8 59"parser.yy"6182 #line 861 "parser.yy" 6192 6183 { (yyval.sn) = nullptr; } 6193 6184 break; … … 6196 6187 6197 6188 /* Line 1806 of yacc.c */ 6198 #line 86 5"parser.yy"6189 #line 867 "parser.yy" 6199 6190 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 6200 6191 break; … … 6203 6194 6204 6195 /* Line 1806 of yacc.c */ 6205 #line 86 7"parser.yy"6196 #line 869 "parser.yy" 6206 6197 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 6207 6198 break; … … 6210 6201 6211 6202 /* Line 1806 of yacc.c */ 6212 #line 8 69"parser.yy"6203 #line 871 "parser.yy" 6213 6204 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 6214 6205 break; … … 6217 6208 6218 6209 /* Line 1806 of yacc.c */ 6219 #line 87 1"parser.yy"6210 #line 873 "parser.yy" 6220 6211 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 6221 6212 break; … … 6224 6215 6225 6216 /* Line 1806 of yacc.c */ 6226 #line 87 6"parser.yy"6217 #line 878 "parser.yy" 6227 6218 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 6228 6219 break; 6229 6220 6230 6221 case 186: 6231 6232 /* Line 1806 of yacc.c */6233 #line 882 "parser.yy"6234 { (yyval.sn) = nullptr; }6235 break;6236 6237 case 187:6238 6222 6239 6223 /* Line 1806 of yacc.c */ … … 6242 6226 break; 6243 6227 6228 case 187: 6229 6230 /* Line 1806 of yacc.c */ 6231 #line 886 "parser.yy" 6232 { (yyval.sn) = nullptr; } 6233 break; 6234 6244 6235 case 188: 6245 6236 6246 6237 /* Line 1806 of yacc.c */ 6247 #line 8 89"parser.yy"6238 #line 891 "parser.yy" 6248 6239 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 6249 6240 break; … … 6252 6243 6253 6244 /* Line 1806 of yacc.c */ 6254 #line 89 1"parser.yy"6245 #line 893 "parser.yy" 6255 6246 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 6256 6247 break; … … 6259 6250 6260 6251 /* Line 1806 of yacc.c */ 6261 #line 89 3"parser.yy"6252 #line 895 "parser.yy" 6262 6253 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 6263 6254 break; … … 6266 6257 6267 6258 /* Line 1806 of yacc.c */ 6268 #line 898"parser.yy"6259 #line 900 "parser.yy" 6269 6260 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 6270 6261 break; … … 6273 6264 6274 6265 /* Line 1806 of yacc.c */ 6275 #line 90 0"parser.yy"6266 #line 902 "parser.yy" 6276 6267 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 6277 6268 break; … … 6280 6271 6281 6272 /* Line 1806 of yacc.c */ 6282 #line 90 5"parser.yy"6273 #line 907 "parser.yy" 6283 6274 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 6284 6275 break; … … 6287 6278 6288 6279 /* Line 1806 of yacc.c */ 6289 #line 9 09"parser.yy"6280 #line 911 "parser.yy" 6290 6281 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 6291 6282 break; … … 6294 6285 6295 6286 /* Line 1806 of yacc.c */ 6296 #line 91 2"parser.yy"6287 #line 914 "parser.yy" 6297 6288 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 6298 6289 break; … … 6301 6292 6302 6293 /* Line 1806 of yacc.c */ 6303 #line 91 6"parser.yy"6294 #line 918 "parser.yy" 6304 6295 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 6305 6296 break; … … 6308 6299 6309 6300 /* Line 1806 of yacc.c */ 6310 #line 9 19"parser.yy"6301 #line 921 "parser.yy" 6311 6302 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 6312 6303 break; … … 6315 6306 6316 6307 /* Line 1806 of yacc.c */ 6317 #line 92 3"parser.yy"6308 #line 925 "parser.yy" 6318 6309 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 6319 6310 break; … … 6322 6313 6323 6314 /* Line 1806 of yacc.c */ 6324 #line 92 5"parser.yy"6315 #line 927 "parser.yy" 6325 6316 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6326 6317 break; 6327 6318 6328 6319 case 200: 6329 6330 /* Line 1806 of yacc.c */6331 #line 927 "parser.yy"6332 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }6333 break;6334 6335 case 201:6336 6320 6337 6321 /* Line 1806 of yacc.c */ … … 6340 6324 break; 6341 6325 6326 case 201: 6327 6328 /* Line 1806 of yacc.c */ 6329 #line 931 "parser.yy" 6330 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6331 break; 6332 6342 6333 case 202: 6343 6334 6344 6335 /* Line 1806 of yacc.c */ 6345 #line 93 1"parser.yy"6336 #line 933 "parser.yy" 6346 6337 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6347 6338 break; … … 6350 6341 6351 6342 /* Line 1806 of yacc.c */ 6352 #line 93 6"parser.yy"6343 #line 938 "parser.yy" 6353 6344 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6354 6345 break; … … 6357 6348 6358 6349 /* Line 1806 of yacc.c */ 6359 #line 9 38"parser.yy"6350 #line 940 "parser.yy" 6360 6351 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6361 6352 break; … … 6364 6355 6365 6356 /* Line 1806 of yacc.c */ 6366 #line 94 0"parser.yy"6357 #line 942 "parser.yy" 6367 6358 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6368 6359 break; … … 6371 6362 6372 6363 /* Line 1806 of yacc.c */ 6373 #line 94 7"parser.yy"6364 #line 949 "parser.yy" 6374 6365 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6375 6366 break; … … 6378 6369 6379 6370 /* Line 1806 of yacc.c */ 6380 #line 9 49"parser.yy"6371 #line 951 "parser.yy" 6381 6372 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6382 6373 break; … … 6385 6376 6386 6377 /* Line 1806 of yacc.c */ 6387 #line 95 1"parser.yy"6378 #line 953 "parser.yy" 6388 6379 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6389 6380 break; … … 6392 6383 6393 6384 /* Line 1806 of yacc.c */ 6394 #line 95 3"parser.yy"6385 #line 955 "parser.yy" 6395 6386 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6396 6387 break; … … 6399 6390 6400 6391 /* Line 1806 of yacc.c */ 6401 #line 9 58"parser.yy"6392 #line 960 "parser.yy" 6402 6393 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6403 6394 break; … … 6406 6397 6407 6398 /* Line 1806 of yacc.c */ 6408 #line 96 0"parser.yy"6399 #line 962 "parser.yy" 6409 6400 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6410 6401 break; … … 6413 6404 6414 6405 /* Line 1806 of yacc.c */ 6415 #line 96 2"parser.yy"6406 #line 964 "parser.yy" 6416 6407 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6417 6408 break; … … 6420 6411 6421 6412 /* Line 1806 of yacc.c */ 6422 #line 96 4"parser.yy"6413 #line 966 "parser.yy" 6423 6414 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6424 6415 break; … … 6427 6418 6428 6419 /* Line 1806 of yacc.c */ 6429 #line 9 69"parser.yy"6420 #line 971 "parser.yy" 6430 6421 { 6431 6422 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6436 6427 6437 6428 /* Line 1806 of yacc.c */ 6438 #line 9 78"parser.yy"6429 #line 980 "parser.yy" 6439 6430 { 6440 6431 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6446 6437 6447 6438 /* Line 1806 of yacc.c */ 6448 #line 98 3"parser.yy"6439 #line 985 "parser.yy" 6449 6440 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6450 6441 break; … … 6453 6444 6454 6445 /* Line 1806 of yacc.c */ 6455 #line 98 5"parser.yy"6446 #line 987 "parser.yy" 6456 6447 { 6457 6448 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6463 6454 6464 6455 /* Line 1806 of yacc.c */ 6465 #line 99 4"parser.yy"6456 #line 996 "parser.yy" 6466 6457 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6467 6458 break; … … 6470 6461 6471 6462 /* Line 1806 of yacc.c */ 6472 #line 99 6"parser.yy"6463 #line 998 "parser.yy" 6473 6464 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6474 6465 break; … … 6477 6468 6478 6469 /* Line 1806 of yacc.c */ 6479 #line 998"parser.yy"6470 #line 1000 "parser.yy" 6480 6471 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6481 6472 break; … … 6484 6475 6485 6476 /* Line 1806 of yacc.c */ 6486 #line 100 0"parser.yy"6477 #line 1002 "parser.yy" 6487 6478 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 6488 6479 break; … … 6491 6482 6492 6483 /* Line 1806 of yacc.c */ 6493 #line 100 2"parser.yy"6484 #line 1004 "parser.yy" 6494 6485 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6495 6486 break; … … 6498 6489 6499 6490 /* Line 1806 of yacc.c */ 6500 #line 100 7"parser.yy"6491 #line 1009 "parser.yy" 6501 6492 { (yyval.flag) = false; } 6502 6493 break; … … 6505 6496 6506 6497 /* Line 1806 of yacc.c */ 6507 #line 10 09"parser.yy"6498 #line 1011 "parser.yy" 6508 6499 { (yyval.flag) = true; } 6509 6500 break; … … 6512 6503 6513 6504 /* Line 1806 of yacc.c */ 6514 #line 101 4"parser.yy"6505 #line 1016 "parser.yy" 6515 6506 { (yyval.en) = nullptr; } 6516 6507 break; … … 6519 6510 6520 6511 /* Line 1806 of yacc.c */ 6521 #line 102 1"parser.yy"6512 #line 1023 "parser.yy" 6522 6513 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6523 6514 break; … … 6526 6517 6527 6518 /* Line 1806 of yacc.c */ 6528 #line 102 6"parser.yy"6519 #line 1028 "parser.yy" 6529 6520 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6530 6521 break; … … 6533 6524 6534 6525 /* Line 1806 of yacc.c */ 6535 #line 10 28"parser.yy"6526 #line 1030 "parser.yy" 6536 6527 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6537 6528 break; … … 6540 6531 6541 6532 /* Line 1806 of yacc.c */ 6542 #line 103 3"parser.yy"6533 #line 1035 "parser.yy" 6543 6534 { (yyval.en) = nullptr; } 6544 6535 break; … … 6547 6538 6548 6539 /* Line 1806 of yacc.c */ 6549 #line 103 5"parser.yy"6540 #line 1037 "parser.yy" 6550 6541 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6551 6542 break; … … 6554 6545 6555 6546 /* Line 1806 of yacc.c */ 6556 #line 10 38"parser.yy"6547 #line 1040 "parser.yy" 6557 6548 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6558 6549 break; … … 6561 6552 6562 6553 /* Line 1806 of yacc.c */ 6563 #line 104 3"parser.yy"6554 #line 1045 "parser.yy" 6564 6555 { 6565 6556 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6571 6562 6572 6563 /* Line 1806 of yacc.c */ 6573 #line 10 48"parser.yy"6564 #line 1050 "parser.yy" 6574 6565 { 6575 6566 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6581 6572 6582 6573 /* Line 1806 of yacc.c */ 6583 #line 10 58"parser.yy"6574 #line 1060 "parser.yy" 6584 6575 { (yyval.decl) = nullptr; } 6585 6576 break; … … 6588 6579 6589 6580 /* Line 1806 of yacc.c */ 6590 #line 106 5"parser.yy"6581 #line 1067 "parser.yy" 6591 6582 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6592 6583 break; … … 6595 6586 6596 6587 /* Line 1806 of yacc.c */ 6597 #line 107 0"parser.yy"6588 #line 1072 "parser.yy" 6598 6589 { (yyval.decl) = nullptr; } 6599 6590 break; … … 6602 6593 6603 6594 /* Line 1806 of yacc.c */ 6604 #line 107 7"parser.yy"6595 #line 1079 "parser.yy" 6605 6596 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6606 6597 break; … … 6609 6600 6610 6601 /* Line 1806 of yacc.c */ 6611 #line 109 1"parser.yy"6602 #line 1093 "parser.yy" 6612 6603 {} 6613 6604 break; … … 6616 6607 6617 6608 /* Line 1806 of yacc.c */ 6618 #line 109 2"parser.yy"6609 #line 1094 "parser.yy" 6619 6610 {} 6620 6611 break; … … 6623 6614 6624 6615 /* Line 1806 of yacc.c */ 6625 #line 112 1"parser.yy"6616 #line 1123 "parser.yy" 6626 6617 { 6627 6618 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6633 6624 6634 6625 /* Line 1806 of yacc.c */ 6635 #line 11 28"parser.yy"6626 #line 1130 "parser.yy" 6636 6627 { 6637 6628 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6643 6634 6644 6635 /* Line 1806 of yacc.c */ 6645 #line 113 3"parser.yy"6636 #line 1135 "parser.yy" 6646 6637 { 6647 6638 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6653 6644 6654 6645 /* Line 1806 of yacc.c */ 6655 #line 114 3"parser.yy"6646 #line 1145 "parser.yy" 6656 6647 { 6657 6648 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6663 6654 6664 6655 /* Line 1806 of yacc.c */ 6665 #line 11 48"parser.yy"6656 #line 1150 "parser.yy" 6666 6657 { 6667 6658 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6673 6664 6674 6665 /* Line 1806 of yacc.c */ 6675 #line 115 3"parser.yy"6666 #line 1155 "parser.yy" 6676 6667 { 6677 6668 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6683 6674 6684 6675 /* Line 1806 of yacc.c */ 6685 #line 116 1"parser.yy"6676 #line 1163 "parser.yy" 6686 6677 { 6687 6678 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6693 6684 6694 6685 /* Line 1806 of yacc.c */ 6695 #line 116 6"parser.yy"6686 #line 1168 "parser.yy" 6696 6687 { 6697 6688 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6703 6694 6704 6695 /* Line 1806 of yacc.c */ 6705 #line 117 1"parser.yy"6696 #line 1173 "parser.yy" 6706 6697 { 6707 6698 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6713 6704 6714 6705 /* Line 1806 of yacc.c */ 6715 #line 117 6"parser.yy"6706 #line 1178 "parser.yy" 6716 6707 { 6717 6708 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6723 6714 6724 6715 /* Line 1806 of yacc.c */ 6725 #line 118 1"parser.yy"6716 #line 1183 "parser.yy" 6726 6717 { 6727 6718 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6733 6724 6734 6725 /* Line 1806 of yacc.c */ 6735 #line 121 2"parser.yy"6726 #line 1214 "parser.yy" 6736 6727 { 6737 6728 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6742 6733 6743 6734 /* Line 1806 of yacc.c */ 6744 #line 121 6"parser.yy"6735 #line 1218 "parser.yy" 6745 6736 { 6746 6737 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6751 6742 6752 6743 /* Line 1806 of yacc.c */ 6753 #line 122 3"parser.yy"6744 #line 1225 "parser.yy" 6754 6745 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6755 6746 break; … … 6758 6749 6759 6750 /* Line 1806 of yacc.c */ 6760 #line 122 7"parser.yy"6751 #line 1229 "parser.yy" 6761 6752 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6762 6753 break; … … 6765 6756 6766 6757 /* Line 1806 of yacc.c */ 6767 #line 123 2"parser.yy"6758 #line 1234 "parser.yy" 6768 6759 { 6769 6760 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6775 6766 6776 6767 /* Line 1806 of yacc.c */ 6777 #line 123 7"parser.yy"6768 #line 1239 "parser.yy" 6778 6769 { 6779 6770 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6785 6776 6786 6777 /* Line 1806 of yacc.c */ 6787 #line 124 2"parser.yy"6778 #line 1244 "parser.yy" 6788 6779 { 6789 6780 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6795 6786 6796 6787 /* Line 1806 of yacc.c */ 6797 #line 125 3"parser.yy"6788 #line 1255 "parser.yy" 6798 6789 { 6799 6790 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6805 6796 6806 6797 /* Line 1806 of yacc.c */ 6807 #line 12 58"parser.yy"6798 #line 1260 "parser.yy" 6808 6799 { 6809 6800 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6815 6806 6816 6807 /* Line 1806 of yacc.c */ 6817 #line 126 3"parser.yy"6808 #line 1265 "parser.yy" 6818 6809 { 6819 6810 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6825 6816 6826 6817 /* Line 1806 of yacc.c */ 6827 #line 12 68"parser.yy"6818 #line 1270 "parser.yy" 6828 6819 { 6829 6820 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6835 6826 6836 6827 /* Line 1806 of yacc.c */ 6837 #line 127 3"parser.yy"6828 #line 1275 "parser.yy" 6838 6829 { 6839 6830 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6845 6836 6846 6837 /* Line 1806 of yacc.c */ 6847 #line 128 2"parser.yy"6838 #line 1284 "parser.yy" 6848 6839 { 6849 6840 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6855 6846 6856 6847 /* Line 1806 of yacc.c */ 6857 #line 128 7"parser.yy"6848 #line 1289 "parser.yy" 6858 6849 { 6859 6850 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6865 6856 6866 6857 /* Line 1806 of yacc.c */ 6867 #line 131 7"parser.yy"6858 #line 1319 "parser.yy" 6868 6859 { 6869 6860 (yyval.decl) = distAttr( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].decl) ); … … 6874 6865 6875 6866 /* Line 1806 of yacc.c */ 6876 #line 13 29"parser.yy"6867 #line 1331 "parser.yy" 6877 6868 { 6878 6869 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6884 6875 6885 6876 /* Line 1806 of yacc.c */ 6886 #line 133 4"parser.yy"6877 #line 1336 "parser.yy" 6887 6878 { 6888 6879 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6894 6885 6895 6886 /* Line 1806 of yacc.c */ 6896 #line 138 0"parser.yy"6887 #line 1382 "parser.yy" 6897 6888 { (yyval.decl) = nullptr; } 6898 6889 break; … … 6901 6892 6902 6893 /* Line 1806 of yacc.c */ 6903 #line 139 2"parser.yy"6894 #line 1394 "parser.yy" 6904 6895 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6905 6896 break; … … 6908 6899 6909 6900 /* Line 1806 of yacc.c */ 6910 #line 140 2"parser.yy"6901 #line 1404 "parser.yy" 6911 6902 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Const ); } 6912 6903 break; … … 6915 6906 6916 6907 /* Line 1806 of yacc.c */ 6917 #line 140 4"parser.yy"6908 #line 1406 "parser.yy" 6918 6909 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Restrict ); } 6919 6910 break; … … 6922 6913 6923 6914 /* Line 1806 of yacc.c */ 6924 #line 140 6"parser.yy"6915 #line 1408 "parser.yy" 6925 6916 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Volatile ); } 6926 6917 break; … … 6929 6920 6930 6921 /* Line 1806 of yacc.c */ 6931 #line 14 08"parser.yy"6922 #line 1410 "parser.yy" 6932 6923 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Lvalue ); } 6933 6924 break; … … 6936 6927 6937 6928 /* Line 1806 of yacc.c */ 6938 #line 1410 "parser.yy" 6929 #line 1412 "parser.yy" 6930 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Mutex ); } 6931 break; 6932 6933 case 318: 6934 6935 /* Line 1806 of yacc.c */ 6936 #line 1414 "parser.yy" 6939 6937 { (yyval.decl) = DeclarationNode::newTypeQualifier( DeclarationNode::Atomic ); } 6940 6938 break; 6941 6939 6942 case 31 8:6943 6944 /* Line 1806 of yacc.c */ 6945 #line 141 2"parser.yy"6940 case 319: 6941 6942 /* Line 1806 of yacc.c */ 6943 #line 1416 "parser.yy" 6946 6944 { 6947 6945 typedefTable.enterScope(); … … 6949 6947 break; 6950 6948 6951 case 3 19:6952 6953 /* Line 1806 of yacc.c */ 6954 #line 14 16"parser.yy"6949 case 320: 6950 6951 /* Line 1806 of yacc.c */ 6952 #line 1420 "parser.yy" 6955 6953 { 6956 6954 typedefTable.leaveScope(); … … 6959 6957 break; 6960 6958 6961 case 32 1:6962 6963 /* Line 1806 of yacc.c */ 6964 #line 142 5"parser.yy"6959 case 322: 6960 6961 /* Line 1806 of yacc.c */ 6962 #line 1429 "parser.yy" 6965 6963 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6966 6964 break; 6967 6965 6968 case 32 2:6969 6970 /* Line 1806 of yacc.c */ 6971 #line 14 27"parser.yy"6966 case 323: 6967 6968 /* Line 1806 of yacc.c */ 6969 #line 1431 "parser.yy" 6972 6970 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6973 6971 break; 6974 6972 6975 case 32 4:6976 6977 /* Line 1806 of yacc.c */ 6978 #line 14 38"parser.yy"6973 case 325: 6974 6975 /* Line 1806 of yacc.c */ 6976 #line 1442 "parser.yy" 6979 6977 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6980 6978 break; 6981 6979 6982 case 32 5:6983 6984 /* Line 1806 of yacc.c */ 6985 #line 144 3"parser.yy"6980 case 326: 6981 6982 /* Line 1806 of yacc.c */ 6983 #line 1447 "parser.yy" 6986 6984 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6987 6985 break; 6988 6986 6989 case 32 6:6990 6991 /* Line 1806 of yacc.c */ 6992 #line 144 5"parser.yy"6987 case 327: 6988 6989 /* Line 1806 of yacc.c */ 6990 #line 1449 "parser.yy" 6993 6991 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6994 6992 break; 6995 6993 6996 case 32 7:6997 6998 /* Line 1806 of yacc.c */ 6999 #line 14 47"parser.yy"6994 case 328: 6995 6996 /* Line 1806 of yacc.c */ 6997 #line 1451 "parser.yy" 7000 6998 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 7001 6999 break; 7002 7000 7003 case 32 8:7004 7005 /* Line 1806 of yacc.c */ 7006 #line 14 49"parser.yy"7001 case 329: 7002 7003 /* Line 1806 of yacc.c */ 7004 #line 1453 "parser.yy" 7007 7005 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 7008 7006 break; 7009 7007 7010 case 3 29:7011 7012 /* Line 1806 of yacc.c */ 7013 #line 145 1"parser.yy"7008 case 330: 7009 7010 /* Line 1806 of yacc.c */ 7011 #line 1455 "parser.yy" 7014 7012 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 7015 7013 break; 7016 7014 7017 case 33 0:7018 7019 /* Line 1806 of yacc.c */ 7020 #line 145 4"parser.yy"7015 case 331: 7016 7017 /* Line 1806 of yacc.c */ 7018 #line 1458 "parser.yy" 7021 7019 { (yyval.decl) = DeclarationNode::newFuncSpecifier( DeclarationNode::Inline ); } 7022 7020 break; 7023 7021 7024 case 33 1:7025 7026 /* Line 1806 of yacc.c */ 7027 #line 14 56"parser.yy"7022 case 332: 7023 7024 /* Line 1806 of yacc.c */ 7025 #line 1460 "parser.yy" 7028 7026 { (yyval.decl) = DeclarationNode::newFuncSpecifier( DeclarationNode::Fortran ); } 7029 7027 break; 7030 7028 7031 case 33 2:7032 7033 /* Line 1806 of yacc.c */ 7034 #line 14 58"parser.yy"7029 case 333: 7030 7031 /* Line 1806 of yacc.c */ 7032 #line 1462 "parser.yy" 7035 7033 { (yyval.decl) = DeclarationNode::newFuncSpecifier( DeclarationNode::Noreturn ); } 7036 7034 break; 7037 7035 7038 case 33 3:7039 7040 /* Line 1806 of yacc.c */ 7041 #line 146 3"parser.yy"7036 case 334: 7037 7038 /* Line 1806 of yacc.c */ 7039 #line 1467 "parser.yy" 7042 7040 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 7043 7041 break; 7044 7042 7045 case 33 4:7046 7047 /* Line 1806 of yacc.c */ 7048 #line 146 5"parser.yy"7043 case 335: 7044 7045 /* Line 1806 of yacc.c */ 7046 #line 1469 "parser.yy" 7049 7047 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 7050 7048 break; 7051 7049 7052 case 33 5:7053 7054 /* Line 1806 of yacc.c */ 7055 #line 14 67"parser.yy"7050 case 336: 7051 7052 /* Line 1806 of yacc.c */ 7053 #line 1471 "parser.yy" 7056 7054 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 7057 7055 break; 7058 7056 7059 case 33 6:7060 7061 /* Line 1806 of yacc.c */ 7062 #line 14 69"parser.yy"7057 case 337: 7058 7059 /* Line 1806 of yacc.c */ 7060 #line 1473 "parser.yy" 7063 7061 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 7064 7062 break; 7065 7063 7066 case 33 7:7067 7068 /* Line 1806 of yacc.c */ 7069 #line 147 1"parser.yy"7064 case 338: 7065 7066 /* Line 1806 of yacc.c */ 7067 #line 1475 "parser.yy" 7070 7068 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 7071 7069 break; 7072 7070 7073 case 33 8:7074 7075 /* Line 1806 of yacc.c */ 7076 #line 147 3"parser.yy"7071 case 339: 7072 7073 /* Line 1806 of yacc.c */ 7074 #line 1477 "parser.yy" 7077 7075 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 7078 7076 break; 7079 7077 7080 case 3 39:7081 7082 /* Line 1806 of yacc.c */ 7083 #line 147 5"parser.yy"7078 case 340: 7079 7080 /* Line 1806 of yacc.c */ 7081 #line 1479 "parser.yy" 7084 7082 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 7085 7083 break; 7086 7084 7087 case 34 0:7088 7089 /* Line 1806 of yacc.c */ 7090 #line 14 77"parser.yy"7085 case 341: 7086 7087 /* Line 1806 of yacc.c */ 7088 #line 1481 "parser.yy" 7091 7089 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 7092 7090 break; 7093 7091 7094 case 34 1:7095 7096 /* Line 1806 of yacc.c */ 7097 #line 14 79"parser.yy"7092 case 342: 7093 7094 /* Line 1806 of yacc.c */ 7095 #line 1483 "parser.yy" 7098 7096 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 7099 7097 break; 7100 7098 7101 case 34 2:7102 7103 /* Line 1806 of yacc.c */ 7104 #line 148 1"parser.yy"7099 case 343: 7100 7101 /* Line 1806 of yacc.c */ 7102 #line 1485 "parser.yy" 7105 7103 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 7106 7104 break; 7107 7105 7108 case 34 3:7109 7110 /* Line 1806 of yacc.c */ 7111 #line 148 3"parser.yy"7106 case 344: 7107 7108 /* Line 1806 of yacc.c */ 7109 #line 1487 "parser.yy" 7112 7110 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 7113 7111 break; 7114 7112 7115 case 34 4:7116 7117 /* Line 1806 of yacc.c */ 7118 #line 148 5"parser.yy"7113 case 345: 7114 7115 /* Line 1806 of yacc.c */ 7116 #line 1489 "parser.yy" 7119 7117 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 7120 7118 break; 7121 7119 7122 case 34 5:7123 7124 /* Line 1806 of yacc.c */ 7125 #line 14 87"parser.yy"7120 case 346: 7121 7122 /* Line 1806 of yacc.c */ 7123 #line 1491 "parser.yy" 7126 7124 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 7127 7125 break; 7128 7126 7129 case 34 6:7130 7131 /* Line 1806 of yacc.c */ 7132 #line 14 89"parser.yy"7127 case 347: 7128 7129 /* Line 1806 of yacc.c */ 7130 #line 1493 "parser.yy" 7133 7131 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); } 7134 7132 break; 7135 7133 7136 case 34 7:7137 7138 /* Line 1806 of yacc.c */ 7139 #line 149 1"parser.yy"7134 case 348: 7135 7136 /* Line 1806 of yacc.c */ 7137 #line 1495 "parser.yy" 7140 7138 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); } 7141 7139 break; 7142 7140 7143 case 3 49:7144 7145 /* Line 1806 of yacc.c */ 7146 #line 1 498"parser.yy"7141 case 350: 7142 7143 /* Line 1806 of yacc.c */ 7144 #line 1502 "parser.yy" 7147 7145 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7148 7146 break; 7149 7147 7150 case 35 0:7151 7152 /* Line 1806 of yacc.c */ 7153 #line 150 0"parser.yy"7148 case 351: 7149 7150 /* Line 1806 of yacc.c */ 7151 #line 1504 "parser.yy" 7154 7152 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7155 7153 break; 7156 7154 7157 case 35 1:7158 7159 /* Line 1806 of yacc.c */ 7160 #line 150 2"parser.yy"7155 case 352: 7156 7157 /* Line 1806 of yacc.c */ 7158 #line 1506 "parser.yy" 7161 7159 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7162 7160 break; 7163 7161 7164 case 35 2:7165 7166 /* Line 1806 of yacc.c */ 7167 #line 150 4"parser.yy"7162 case 353: 7163 7164 /* Line 1806 of yacc.c */ 7165 #line 1508 "parser.yy" 7168 7166 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 7169 7167 break; 7170 7168 7171 case 35 4:7172 7173 /* Line 1806 of yacc.c */ 7174 #line 151 0"parser.yy"7169 case 355: 7170 7171 /* Line 1806 of yacc.c */ 7172 #line 1514 "parser.yy" 7175 7173 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7176 7174 break; 7177 7175 7178 case 35 6:7179 7180 /* Line 1806 of yacc.c */ 7181 #line 15 17"parser.yy"7176 case 357: 7177 7178 /* Line 1806 of yacc.c */ 7179 #line 1521 "parser.yy" 7182 7180 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7183 7181 break; 7184 7182 7185 case 35 7:7186 7187 /* Line 1806 of yacc.c */ 7188 #line 15 19"parser.yy"7183 case 358: 7184 7185 /* Line 1806 of yacc.c */ 7186 #line 1523 "parser.yy" 7189 7187 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7190 7188 break; 7191 7189 7192 case 35 8:7193 7194 /* Line 1806 of yacc.c */ 7195 #line 152 1"parser.yy"7190 case 359: 7191 7192 /* Line 1806 of yacc.c */ 7193 #line 1525 "parser.yy" 7196 7194 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 7197 7195 break; 7198 7196 7199 case 3 59:7200 7201 /* Line 1806 of yacc.c */ 7202 #line 15 26"parser.yy"7197 case 360: 7198 7199 /* Line 1806 of yacc.c */ 7200 #line 1530 "parser.yy" 7203 7201 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 7204 7202 break; 7205 7203 7206 case 36 0:7207 7208 /* Line 1806 of yacc.c */ 7209 #line 15 28"parser.yy"7204 case 361: 7205 7206 /* Line 1806 of yacc.c */ 7207 #line 1532 "parser.yy" 7210 7208 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 7211 7209 break; 7212 7210 7213 case 36 1:7214 7215 /* Line 1806 of yacc.c */ 7216 #line 153 0"parser.yy"7211 case 362: 7212 7213 /* Line 1806 of yacc.c */ 7214 #line 1534 "parser.yy" 7217 7215 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 7218 7216 break; 7219 7217 7220 case 36 2:7221 7222 /* Line 1806 of yacc.c */ 7223 #line 153 2"parser.yy"7218 case 363: 7219 7220 /* Line 1806 of yacc.c */ 7221 #line 1536 "parser.yy" 7224 7222 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7225 7223 break; 7226 7224 7227 case 36 4:7228 7229 /* Line 1806 of yacc.c */ 7230 #line 15 38"parser.yy"7225 case 365: 7226 7227 /* Line 1806 of yacc.c */ 7228 #line 1542 "parser.yy" 7231 7229 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7232 7230 break; 7233 7231 7234 case 36 5:7235 7236 /* Line 1806 of yacc.c */ 7237 #line 154 0"parser.yy"7232 case 366: 7233 7234 /* Line 1806 of yacc.c */ 7235 #line 1544 "parser.yy" 7238 7236 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7239 7237 break; 7240 7238 7241 case 36 6:7242 7243 /* Line 1806 of yacc.c */ 7244 #line 154 2"parser.yy"7239 case 367: 7240 7241 /* Line 1806 of yacc.c */ 7242 #line 1546 "parser.yy" 7245 7243 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7246 7244 break; 7247 7245 7248 case 36 8:7249 7250 /* Line 1806 of yacc.c */ 7251 #line 15 48"parser.yy"7246 case 369: 7247 7248 /* Line 1806 of yacc.c */ 7249 #line 1552 "parser.yy" 7252 7250 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7253 7251 break; 7254 7252 7255 case 3 69:7256 7257 /* Line 1806 of yacc.c */ 7258 #line 155 0"parser.yy"7253 case 370: 7254 7255 /* Line 1806 of yacc.c */ 7256 #line 1554 "parser.yy" 7259 7257 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7260 7258 break; 7261 7259 7262 case 37 1:7263 7264 /* Line 1806 of yacc.c */ 7265 #line 15 56"parser.yy"7260 case 372: 7261 7262 /* Line 1806 of yacc.c */ 7263 #line 1560 "parser.yy" 7266 7264 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7267 7265 break; 7268 7266 7269 case 37 2:7270 7271 /* Line 1806 of yacc.c */ 7272 #line 15 58"parser.yy"7267 case 373: 7268 7269 /* Line 1806 of yacc.c */ 7270 #line 1562 "parser.yy" 7273 7271 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7274 7272 break; 7275 7273 7276 case 37 3:7277 7278 /* Line 1806 of yacc.c */ 7279 #line 156 0"parser.yy"7274 case 374: 7275 7276 /* Line 1806 of yacc.c */ 7277 #line 1564 "parser.yy" 7280 7278 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7281 7279 break; 7282 7280 7283 case 37 5:7284 7285 /* Line 1806 of yacc.c */ 7286 #line 15 66"parser.yy"7281 case 376: 7282 7283 /* Line 1806 of yacc.c */ 7284 #line 1570 "parser.yy" 7287 7285 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7288 7286 break; 7289 7287 7290 case 37 6:7291 7292 /* Line 1806 of yacc.c */ 7293 #line 15 68"parser.yy"7288 case 377: 7289 7290 /* Line 1806 of yacc.c */ 7291 #line 1572 "parser.yy" 7294 7292 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7295 7293 break; 7296 7294 7297 case 37 8:7298 7299 /* Line 1806 of yacc.c */ 7300 #line 157 4"parser.yy"7295 case 379: 7296 7297 /* Line 1806 of yacc.c */ 7298 #line 1578 "parser.yy" 7301 7299 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7302 7300 break; 7303 7301 7304 case 3 79:7305 7306 /* Line 1806 of yacc.c */ 7307 #line 15 76"parser.yy"7302 case 380: 7303 7304 /* Line 1806 of yacc.c */ 7305 #line 1580 "parser.yy" 7308 7306 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7309 7307 break; 7310 7308 7311 case 38 0:7312 7313 /* Line 1806 of yacc.c */ 7314 #line 15 78"parser.yy"7309 case 381: 7310 7311 /* Line 1806 of yacc.c */ 7312 #line 1582 "parser.yy" 7315 7313 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7316 7314 break; 7317 7315 7318 case 38 1:7319 7320 /* Line 1806 of yacc.c */ 7321 #line 158 3"parser.yy"7316 case 382: 7317 7318 /* Line 1806 of yacc.c */ 7319 #line 1587 "parser.yy" 7322 7320 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7323 7321 break; 7324 7322 7325 case 38 2:7326 7327 /* Line 1806 of yacc.c */ 7328 #line 158 5"parser.yy"7323 case 383: 7324 7325 /* Line 1806 of yacc.c */ 7326 #line 1589 "parser.yy" 7329 7327 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7330 7328 break; 7331 7329 7332 case 38 3:7333 7334 /* Line 1806 of yacc.c */ 7335 #line 15 87"parser.yy"7330 case 384: 7331 7332 /* Line 1806 of yacc.c */ 7333 #line 1591 "parser.yy" 7336 7334 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7337 7335 break; 7338 7336 7339 case 38 8:7340 7341 /* Line 1806 of yacc.c */ 7342 #line 160 2"parser.yy"7337 case 389: 7338 7339 /* Line 1806 of yacc.c */ 7340 #line 1606 "parser.yy" 7343 7341 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), nullptr, nullptr, (yyvsp[(4) - (5)].decl), true )->addQualifiers( (yyvsp[(2) - (5)].decl) ); } 7344 7342 break; 7345 7343 7346 case 3 89:7347 7348 /* Line 1806 of yacc.c */ 7349 #line 160 4"parser.yy"7344 case 390: 7345 7346 /* Line 1806 of yacc.c */ 7347 #line 1608 "parser.yy" 7350 7348 { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); } 7351 7349 break; 7352 7350 7353 case 39 0:7354 7355 /* Line 1806 of yacc.c */ 7356 #line 16 06"parser.yy"7351 case 391: 7352 7353 /* Line 1806 of yacc.c */ 7354 #line 1610 "parser.yy" 7357 7355 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(3) - (7)].tok), nullptr, (yyvsp[(6) - (7)].decl), true )->addQualifiers( (yyvsp[(2) - (7)].decl) ); } 7358 7356 break; 7359 7357 7360 case 39 1:7361 7362 /* Line 1806 of yacc.c */ 7363 #line 16 08"parser.yy"7358 case 392: 7359 7360 /* Line 1806 of yacc.c */ 7361 #line 1612 "parser.yy" 7364 7362 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (8)].aggKey), nullptr, (yyvsp[(4) - (8)].en), (yyvsp[(7) - (8)].decl), false )->addQualifiers( (yyvsp[(2) - (8)].decl) ); } 7365 7363 break; 7366 7364 7367 case 39 3:7368 7369 /* Line 1806 of yacc.c */ 7370 #line 161 4"parser.yy"7365 case 394: 7366 7367 /* Line 1806 of yacc.c */ 7368 #line 1618 "parser.yy" 7371 7369 { 7372 7370 typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); … … 7375 7373 break; 7376 7374 7377 case 39 4:7378 7379 /* Line 1806 of yacc.c */ 7380 #line 16 19"parser.yy"7375 case 395: 7376 7377 /* Line 1806 of yacc.c */ 7378 #line 1623 "parser.yy" 7381 7379 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) ); } 7382 7380 break; 7383 7381 7384 case 39 5:7385 7386 /* Line 1806 of yacc.c */ 7387 #line 162 4"parser.yy"7382 case 396: 7383 7384 /* Line 1806 of yacc.c */ 7385 #line 1628 "parser.yy" 7388 7386 { (yyval.aggKey) = DeclarationNode::Struct; } 7389 7387 break; 7390 7388 7391 case 39 6:7392 7393 /* Line 1806 of yacc.c */ 7394 #line 16 26"parser.yy"7389 case 397: 7390 7391 /* Line 1806 of yacc.c */ 7392 #line 1630 "parser.yy" 7395 7393 { (yyval.aggKey) = DeclarationNode::Union; } 7396 7394 break; 7397 7395 7398 case 39 7:7399 7400 /* Line 1806 of yacc.c */ 7401 #line 163 1"parser.yy"7396 case 398: 7397 7398 /* Line 1806 of yacc.c */ 7399 #line 1635 "parser.yy" 7402 7400 { (yyval.decl) = nullptr; } 7403 7401 break; 7404 7402 7405 case 39 8:7406 7407 /* Line 1806 of yacc.c */ 7408 #line 163 3"parser.yy"7403 case 399: 7404 7405 /* Line 1806 of yacc.c */ 7406 #line 1637 "parser.yy" 7409 7407 { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7410 7408 break; 7411 7409 7412 case 40 0:7413 7414 /* Line 1806 of yacc.c */ 7415 #line 16 39"parser.yy"7410 case 401: 7411 7412 /* Line 1806 of yacc.c */ 7413 #line 1643 "parser.yy" 7416 7414 { 7417 7415 distExt( (yyvsp[(2) - (3)].decl) ); // mark all fields in list … … 7420 7418 break; 7421 7419 7422 case 40 1:7423 7424 /* Line 1806 of yacc.c */ 7425 #line 164 4"parser.yy"7420 case 402: 7421 7422 /* Line 1806 of yacc.c */ 7423 #line 1648 "parser.yy" 7426 7424 { 7427 7425 (yyval.decl) = distAttr( (yyvsp[(1) - (3)].decl), (yyvsp[(2) - (3)].decl) ); } 7428 7426 break; 7429 7427 7430 case 40 2:7431 7432 /* Line 1806 of yacc.c */ 7433 #line 16 47"parser.yy"7428 case 403: 7429 7430 /* Line 1806 of yacc.c */ 7431 #line 1651 "parser.yy" 7434 7432 { 7435 7433 distExt( (yyvsp[(3) - (4)].decl) ); // mark all fields in list … … 7438 7436 break; 7439 7437 7440 case 40 4:7441 7442 /* Line 1806 of yacc.c */ 7443 #line 16 56"parser.yy"7438 case 405: 7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1660 "parser.yy" 7444 7442 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7445 7443 break; 7446 7444 7447 case 40 5:7448 7449 /* Line 1806 of yacc.c */ 7450 #line 16 58"parser.yy"7445 case 406: 7446 7447 /* Line 1806 of yacc.c */ 7448 #line 1662 "parser.yy" 7451 7449 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7452 7450 break; 7453 7451 7454 case 40 6:7455 7456 /* Line 1806 of yacc.c */ 7457 #line 166 0"parser.yy"7452 case 407: 7453 7454 /* Line 1806 of yacc.c */ 7455 #line 1664 "parser.yy" 7458 7456 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7459 7457 break; 7460 7458 7461 case 40 8:7462 7463 /* Line 1806 of yacc.c */ 7464 #line 16 66"parser.yy"7459 case 409: 7460 7461 /* Line 1806 of yacc.c */ 7462 #line 1670 "parser.yy" 7465 7463 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(4) - (4)].decl)->addQualifiers( (yyvsp[(3) - (4)].decl) ) ); } 7466 7464 break; 7467 7465 7468 case 4 09:7469 7470 /* Line 1806 of yacc.c */ 7471 #line 167 1"parser.yy"7466 case 410: 7467 7468 /* Line 1806 of yacc.c */ 7469 #line 1675 "parser.yy" 7472 7470 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7473 7471 break; 7474 7472 7475 case 41 0:7476 7477 /* Line 1806 of yacc.c */ 7478 #line 167 3"parser.yy"7473 case 411: 7474 7475 /* Line 1806 of yacc.c */ 7476 #line 1677 "parser.yy" 7479 7477 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7480 7478 break; 7481 7479 7482 case 41 1:7483 7484 /* Line 1806 of yacc.c */ 7485 #line 16 76"parser.yy"7480 case 412: 7481 7482 /* Line 1806 of yacc.c */ 7483 #line 1680 "parser.yy" 7486 7484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7487 7485 break; 7488 7486 7489 case 41 2:7490 7491 /* Line 1806 of yacc.c */ 7492 #line 16 79"parser.yy"7487 case 413: 7488 7489 /* Line 1806 of yacc.c */ 7490 #line 1683 "parser.yy" 7493 7491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7494 7492 break; 7495 7493 7496 case 41 4:7497 7498 /* Line 1806 of yacc.c */ 7499 #line 168 5"parser.yy"7494 case 415: 7495 7496 /* Line 1806 of yacc.c */ 7497 #line 1689 "parser.yy" 7500 7498 { (yyval.en) = nullptr; } 7501 7499 break; 7502 7500 7503 case 41 5:7504 7505 /* Line 1806 of yacc.c */ 7506 #line 16 87"parser.yy"7501 case 416: 7502 7503 /* Line 1806 of yacc.c */ 7504 #line 1691 "parser.yy" 7507 7505 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7508 7506 break; 7509 7507 7510 case 41 6:7511 7512 /* Line 1806 of yacc.c */ 7513 #line 169 2"parser.yy"7508 case 417: 7509 7510 /* Line 1806 of yacc.c */ 7511 #line 1696 "parser.yy" 7514 7512 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7515 7513 break; 7516 7514 7517 case 41 7:7518 7519 /* Line 1806 of yacc.c */ 7520 #line 1 697"parser.yy"7515 case 418: 7516 7517 /* Line 1806 of yacc.c */ 7518 #line 1701 "parser.yy" 7521 7519 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(4) - (6)].decl), true )->addQualifiers( (yyvsp[(2) - (6)].decl) ); } 7522 7520 break; 7523 7521 7524 case 41 8:7525 7526 /* Line 1806 of yacc.c */ 7527 #line 1 699"parser.yy"7522 case 419: 7523 7524 /* Line 1806 of yacc.c */ 7525 #line 1703 "parser.yy" 7528 7526 { typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); } 7529 7527 break; 7530 7528 7531 case 4 19:7532 7533 /* Line 1806 of yacc.c */ 7534 #line 170 1"parser.yy"7529 case 420: 7530 7531 /* Line 1806 of yacc.c */ 7532 #line 1705 "parser.yy" 7535 7533 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(3) - (8)].tok), (yyvsp[(6) - (8)].decl), true )->addQualifiers( (yyvsp[(2) - (8)].decl) ); } 7536 7534 break; 7537 7535 7538 case 42 1:7539 7540 /* Line 1806 of yacc.c */ 7541 #line 17 07"parser.yy"7536 case 422: 7537 7538 /* Line 1806 of yacc.c */ 7539 #line 1711 "parser.yy" 7542 7540 { 7543 7541 typedefTable.makeTypedef( *(yyvsp[(3) - (3)].tok) ); … … 7546 7544 break; 7547 7545 7548 case 42 2:7549 7550 /* Line 1806 of yacc.c */ 7551 #line 171 5"parser.yy"7546 case 423: 7547 7548 /* Line 1806 of yacc.c */ 7549 #line 1719 "parser.yy" 7552 7550 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7553 7551 break; 7554 7552 7555 case 42 3:7556 7557 /* Line 1806 of yacc.c */ 7558 #line 17 17"parser.yy"7553 case 424: 7554 7555 /* Line 1806 of yacc.c */ 7556 #line 1721 "parser.yy" 7559 7557 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7560 7558 break; 7561 7559 7562 case 42 4:7563 7564 /* Line 1806 of yacc.c */ 7565 #line 172 2"parser.yy"7560 case 425: 7561 7562 /* Line 1806 of yacc.c */ 7563 #line 1726 "parser.yy" 7566 7564 { (yyval.en) = nullptr; } 7567 7565 break; 7568 7566 7569 case 42 5:7570 7571 /* Line 1806 of yacc.c */ 7572 #line 172 4"parser.yy"7567 case 426: 7568 7569 /* Line 1806 of yacc.c */ 7570 #line 1728 "parser.yy" 7573 7571 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7574 7572 break; 7575 7573 7576 case 42 6:7577 7578 /* Line 1806 of yacc.c */ 7579 #line 173 1"parser.yy"7574 case 427: 7575 7576 /* Line 1806 of yacc.c */ 7577 #line 1735 "parser.yy" 7580 7578 { (yyval.decl) = nullptr; } 7581 7579 break; 7582 7580 7583 case 43 0:7584 7585 /* Line 1806 of yacc.c */ 7586 #line 17 39"parser.yy"7581 case 431: 7582 7583 /* Line 1806 of yacc.c */ 7584 #line 1743 "parser.yy" 7587 7585 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7588 7586 break; 7589 7587 7590 case 43 1:7591 7592 /* Line 1806 of yacc.c */ 7593 #line 174 1"parser.yy"7588 case 432: 7589 7590 /* Line 1806 of yacc.c */ 7591 #line 1745 "parser.yy" 7594 7592 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7595 7593 break; 7596 7594 7597 case 43 2:7598 7599 /* Line 1806 of yacc.c */ 7600 #line 174 3"parser.yy"7595 case 433: 7596 7597 /* Line 1806 of yacc.c */ 7598 #line 1747 "parser.yy" 7601 7599 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7602 7600 break; 7603 7601 7604 case 43 4:7605 7606 /* Line 1806 of yacc.c */ 7607 #line 175 1"parser.yy"7602 case 435: 7603 7604 /* Line 1806 of yacc.c */ 7605 #line 1755 "parser.yy" 7608 7606 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7609 7607 break; 7610 7608 7611 case 43 5:7612 7613 /* Line 1806 of yacc.c */ 7614 #line 175 3"parser.yy"7609 case 436: 7610 7611 /* Line 1806 of yacc.c */ 7612 #line 1757 "parser.yy" 7615 7613 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7616 7614 break; 7617 7615 7618 case 43 6:7619 7620 /* Line 1806 of yacc.c */ 7621 #line 175 5"parser.yy"7616 case 437: 7617 7618 /* Line 1806 of yacc.c */ 7619 #line 1759 "parser.yy" 7622 7620 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7623 7621 break; 7624 7622 7625 case 43 8:7626 7627 /* Line 1806 of yacc.c */ 7628 #line 176 1"parser.yy"7623 case 439: 7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1765 "parser.yy" 7629 7627 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7630 7628 break; 7631 7629 7632 case 4 39:7633 7634 /* Line 1806 of yacc.c */ 7635 #line 17 66"parser.yy"7630 case 440: 7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1770 "parser.yy" 7636 7634 { (yyval.decl) = nullptr; } 7637 7635 break; 7638 7636 7639 case 44 2:7640 7641 /* Line 1806 of yacc.c */ 7642 #line 177 3"parser.yy"7637 case 443: 7638 7639 /* Line 1806 of yacc.c */ 7640 #line 1777 "parser.yy" 7643 7641 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7644 7642 break; 7645 7643 7646 case 44 5:7647 7648 /* Line 1806 of yacc.c */ 7649 #line 178 0"parser.yy"7644 case 446: 7645 7646 /* Line 1806 of yacc.c */ 7647 #line 1784 "parser.yy" 7650 7648 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7651 7649 break; 7652 7650 7653 case 44 6:7654 7655 /* Line 1806 of yacc.c */ 7656 #line 178 2"parser.yy"7651 case 447: 7652 7653 /* Line 1806 of yacc.c */ 7654 #line 1786 "parser.yy" 7657 7655 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7658 7656 break; 7659 7657 7660 case 44 8:7661 7662 /* Line 1806 of yacc.c */ 7663 #line 179 1"parser.yy"7658 case 449: 7659 7660 /* Line 1806 of yacc.c */ 7661 #line 1795 "parser.yy" 7664 7662 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7665 7663 break; 7666 7664 7667 case 4 49:7668 7669 /* Line 1806 of yacc.c */ 7670 #line 179 4"parser.yy"7665 case 450: 7666 7667 /* Line 1806 of yacc.c */ 7668 #line 1798 "parser.yy" 7671 7669 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7672 7670 break; 7673 7671 7674 case 45 0:7675 7676 /* Line 1806 of yacc.c */ 7677 #line 1 796"parser.yy"7672 case 451: 7673 7674 /* Line 1806 of yacc.c */ 7675 #line 1800 "parser.yy" 7678 7676 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7679 7677 break; 7680 7678 7681 case 45 5:7682 7683 /* Line 1806 of yacc.c */ 7684 #line 18 06"parser.yy"7679 case 456: 7680 7681 /* Line 1806 of yacc.c */ 7682 #line 1810 "parser.yy" 7685 7683 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7686 7684 break; 7687 7685 7688 case 45 7:7689 7690 /* Line 1806 of yacc.c */ 7691 #line 181 3"parser.yy"7686 case 458: 7687 7688 /* Line 1806 of yacc.c */ 7689 #line 1817 "parser.yy" 7692 7690 { 7693 7691 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7696 7694 break; 7697 7695 7698 case 45 8:7699 7700 /* Line 1806 of yacc.c */ 7701 #line 18 18"parser.yy"7696 case 459: 7697 7698 /* Line 1806 of yacc.c */ 7699 #line 1822 "parser.yy" 7702 7700 { 7703 7701 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7706 7704 break; 7707 7705 7708 case 4 59:7709 7710 /* Line 1806 of yacc.c */ 7711 #line 18 26"parser.yy"7706 case 460: 7707 7708 /* Line 1806 of yacc.c */ 7709 #line 1830 "parser.yy" 7712 7710 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].en) ? new InitializerNode( (yyvsp[(2) - (2)].en) ) : nullptr ); } 7713 7711 break; 7714 7712 7715 case 46 0:7716 7717 /* Line 1806 of yacc.c */ 7718 #line 18 28"parser.yy"7713 case 461: 7714 7715 /* Line 1806 of yacc.c */ 7716 #line 1832 "parser.yy" 7719 7717 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr ); } 7720 7718 break; 7721 7719 7722 case 46 1:7723 7724 /* Line 1806 of yacc.c */ 7725 #line 18 37"parser.yy"7720 case 462: 7721 7722 /* Line 1806 of yacc.c */ 7723 #line 1841 "parser.yy" 7726 7724 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7727 7725 break; 7728 7726 7729 case 46 2:7730 7731 /* Line 1806 of yacc.c */ 7732 #line 18 39"parser.yy"7727 case 463: 7728 7729 /* Line 1806 of yacc.c */ 7730 #line 1843 "parser.yy" 7733 7731 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7734 7732 break; 7735 7733 7736 case 47 4:7737 7738 /* Line 1806 of yacc.c */ 7739 #line 186 4"parser.yy"7734 case 475: 7735 7736 /* Line 1806 of yacc.c */ 7737 #line 1868 "parser.yy" 7740 7738 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7741 7739 break; 7742 7740 7743 case 47 7:7744 7745 /* Line 1806 of yacc.c */ 7746 #line 187 4"parser.yy"7741 case 478: 7742 7743 /* Line 1806 of yacc.c */ 7744 #line 1878 "parser.yy" 7747 7745 { (yyval.in) = nullptr; } 7748 7746 break; 7749 7747 7750 case 47 8:7751 7752 /* Line 1806 of yacc.c */ 7753 #line 18 76"parser.yy"7748 case 479: 7749 7750 /* Line 1806 of yacc.c */ 7751 #line 1880 "parser.yy" 7754 7752 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7755 7753 break; 7756 7754 7757 case 4 79:7758 7759 /* Line 1806 of yacc.c */ 7760 #line 18 78"parser.yy"7755 case 480: 7756 7757 /* Line 1806 of yacc.c */ 7758 #line 1882 "parser.yy" 7761 7759 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7762 7760 break; 7763 7761 7764 case 48 0:7765 7766 /* Line 1806 of yacc.c */ 7767 #line 188 2"parser.yy"7762 case 481: 7763 7764 /* Line 1806 of yacc.c */ 7765 #line 1886 "parser.yy" 7768 7766 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7769 7767 break; 7770 7768 7771 case 48 1:7772 7773 /* Line 1806 of yacc.c */ 7774 #line 188 3"parser.yy"7769 case 482: 7770 7771 /* Line 1806 of yacc.c */ 7772 #line 1887 "parser.yy" 7775 7773 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7776 7774 break; 7777 7775 7778 case 48 2:7779 7780 /* Line 1806 of yacc.c */ 7781 #line 18 88"parser.yy"7776 case 483: 7777 7778 /* Line 1806 of yacc.c */ 7779 #line 1892 "parser.yy" 7782 7780 { (yyval.in) = nullptr; } 7783 7781 break; 7784 7782 7785 case 48 4:7786 7787 /* Line 1806 of yacc.c */ 7788 #line 189 0"parser.yy"7783 case 485: 7784 7785 /* Line 1806 of yacc.c */ 7786 #line 1894 "parser.yy" 7789 7787 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7790 7788 break; 7791 7789 7792 case 48 5:7793 7794 /* Line 1806 of yacc.c */ 7795 #line 189 1"parser.yy"7790 case 486: 7791 7792 /* Line 1806 of yacc.c */ 7793 #line 1895 "parser.yy" 7796 7794 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7797 7795 break; 7798 7796 7799 case 48 6:7800 7801 /* Line 1806 of yacc.c */ 7802 #line 189 3"parser.yy"7797 case 487: 7798 7799 /* Line 1806 of yacc.c */ 7800 #line 1897 "parser.yy" 7803 7801 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7804 7802 break; 7805 7803 7806 case 48 8:7807 7808 /* Line 1806 of yacc.c */ 7809 #line 19 09"parser.yy"7804 case 489: 7805 7806 /* Line 1806 of yacc.c */ 7807 #line 1913 "parser.yy" 7810 7808 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7811 7809 break; 7812 7810 7813 case 49 0:7814 7815 /* Line 1806 of yacc.c */ 7816 #line 191 5"parser.yy"7811 case 491: 7812 7813 /* Line 1806 of yacc.c */ 7814 #line 1919 "parser.yy" 7817 7815 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7818 7816 break; 7819 7817 7820 case 49 1:7821 7822 /* Line 1806 of yacc.c */ 7823 #line 192 1"parser.yy"7818 case 492: 7819 7820 /* Line 1806 of yacc.c */ 7821 #line 1925 "parser.yy" 7824 7822 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7825 7823 break; 7826 7824 7827 case 49 2:7828 7829 /* Line 1806 of yacc.c */ 7830 #line 192 4"parser.yy"7825 case 493: 7826 7827 /* Line 1806 of yacc.c */ 7828 #line 1928 "parser.yy" 7831 7829 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7832 7830 break; 7833 7831 7834 case 49 3:7835 7836 /* Line 1806 of yacc.c */ 7837 #line 19 26"parser.yy"7832 case 494: 7833 7834 /* Line 1806 of yacc.c */ 7835 #line 1930 "parser.yy" 7838 7836 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7839 7837 break; 7840 7838 7841 case 49 4:7842 7843 /* Line 1806 of yacc.c */ 7844 #line 19 28"parser.yy"7839 case 495: 7840 7841 /* Line 1806 of yacc.c */ 7842 #line 1932 "parser.yy" 7845 7843 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7846 7844 break; 7847 7845 7848 case 49 5:7849 7850 /* Line 1806 of yacc.c */ 7851 #line 193 0"parser.yy"7846 case 496: 7847 7848 /* Line 1806 of yacc.c */ 7849 #line 1934 "parser.yy" 7852 7850 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7853 7851 break; 7854 7852 7855 case 49 7:7856 7857 /* Line 1806 of yacc.c */ 7858 #line 195 4"parser.yy"7853 case 498: 7854 7855 /* Line 1806 of yacc.c */ 7856 #line 1958 "parser.yy" 7859 7857 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7860 7858 break; 7861 7859 7862 case 49 8:7863 7864 /* Line 1806 of yacc.c */ 7865 #line 19 56"parser.yy"7860 case 499: 7861 7862 /* Line 1806 of yacc.c */ 7863 #line 1960 "parser.yy" 7866 7864 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7867 7865 break; 7868 7866 7869 case 499:7870 7871 /* Line 1806 of yacc.c */ 7872 #line 19 58"parser.yy"7867 case 500: 7868 7869 /* Line 1806 of yacc.c */ 7870 #line 1962 "parser.yy" 7873 7871 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7874 7872 break; 7875 7873 7876 case 50 1:7877 7878 /* Line 1806 of yacc.c */ 7879 #line 196 4"parser.yy"7874 case 502: 7875 7876 /* Line 1806 of yacc.c */ 7877 #line 1968 "parser.yy" 7880 7878 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7881 7879 break; 7882 7880 7883 case 50 2:7884 7885 /* Line 1806 of yacc.c */ 7886 #line 19 66"parser.yy"7881 case 503: 7882 7883 /* Line 1806 of yacc.c */ 7884 #line 1970 "parser.yy" 7887 7885 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7888 7886 break; 7889 7887 7890 case 50 3:7891 7892 /* Line 1806 of yacc.c */ 7893 #line 197 1"parser.yy"7888 case 504: 7889 7890 /* Line 1806 of yacc.c */ 7891 #line 1975 "parser.yy" 7894 7892 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7895 7893 break; 7896 7894 7897 case 50 5:7898 7899 /* Line 1806 of yacc.c */ 7900 #line 19 77"parser.yy"7895 case 506: 7896 7897 /* Line 1806 of yacc.c */ 7898 #line 1981 "parser.yy" 7901 7899 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7902 7900 break; 7903 7901 7904 case 50 6:7905 7906 /* Line 1806 of yacc.c */ 7907 #line 198 2"parser.yy"7902 case 507: 7903 7904 /* Line 1806 of yacc.c */ 7905 #line 1986 "parser.yy" 7908 7906 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7909 7907 break; 7910 7908 7911 case 50 7:7912 7913 /* Line 1806 of yacc.c */ 7914 #line 198 4"parser.yy"7909 case 508: 7910 7911 /* Line 1806 of yacc.c */ 7912 #line 1988 "parser.yy" 7915 7913 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7916 7914 break; 7917 7915 7918 case 5 09:7919 7920 /* Line 1806 of yacc.c */ 7921 #line 199 0"parser.yy"7916 case 510: 7917 7918 /* Line 1806 of yacc.c */ 7919 #line 1994 "parser.yy" 7922 7920 { (yyval.tclass) = DeclarationNode::Otype; } 7923 7921 break; 7924 7922 7925 case 51 0:7926 7927 /* Line 1806 of yacc.c */ 7928 #line 199 2"parser.yy"7923 case 511: 7924 7925 /* Line 1806 of yacc.c */ 7926 #line 1996 "parser.yy" 7929 7927 { (yyval.tclass) = DeclarationNode::Dtype; } 7930 7928 break; 7931 7929 7932 case 51 1:7933 7934 /* Line 1806 of yacc.c */ 7935 #line 199 4"parser.yy"7930 case 512: 7931 7932 /* Line 1806 of yacc.c */ 7933 #line 1998 "parser.yy" 7936 7934 { (yyval.tclass) = DeclarationNode::Ftype; } 7937 7935 break; 7938 7936 7939 case 51 2:7940 7941 /* Line 1806 of yacc.c */ 7942 #line 1996"parser.yy"7937 case 513: 7938 7939 /* Line 1806 of yacc.c */ 7940 #line 2000 "parser.yy" 7943 7941 { (yyval.tclass) = DeclarationNode::Ttype; } 7944 7942 break; 7945 7943 7946 case 51 3:7947 7948 /* Line 1806 of yacc.c */ 7949 #line 200 1"parser.yy"7944 case 514: 7945 7946 /* Line 1806 of yacc.c */ 7947 #line 2005 "parser.yy" 7950 7948 { (yyval.decl) = nullptr; } 7951 7949 break; 7952 7950 7953 case 51 4:7954 7955 /* Line 1806 of yacc.c */ 7956 #line 200 3"parser.yy"7951 case 515: 7952 7953 /* Line 1806 of yacc.c */ 7954 #line 2007 "parser.yy" 7957 7955 { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7958 7956 break; 7959 7957 7960 case 51 5:7961 7962 /* Line 1806 of yacc.c */ 7963 #line 20 08"parser.yy"7958 case 516: 7959 7960 /* Line 1806 of yacc.c */ 7961 #line 2012 "parser.yy" 7964 7962 { 7965 7963 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7968 7966 break; 7969 7967 7970 case 51 6:7971 7972 /* Line 1806 of yacc.c */ 7973 #line 201 3"parser.yy"7968 case 517: 7969 7970 /* Line 1806 of yacc.c */ 7971 #line 2017 "parser.yy" 7974 7972 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7975 7973 break; 7976 7974 7977 case 51 7:7978 7979 /* Line 1806 of yacc.c */ 7980 #line 201 5"parser.yy"7975 case 518: 7976 7977 /* Line 1806 of yacc.c */ 7978 #line 2019 "parser.yy" 7981 7979 { (yyval.decl) = nullptr; } 7982 7980 break; 7983 7981 7984 case 51 8:7985 7986 /* Line 1806 of yacc.c */ 7987 #line 202 0"parser.yy"7982 case 519: 7983 7984 /* Line 1806 of yacc.c */ 7985 #line 2024 "parser.yy" 7988 7986 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7989 7987 break; 7990 7988 7991 case 52 0:7992 7993 /* Line 1806 of yacc.c */ 7994 #line 202 3"parser.yy"7989 case 521: 7990 7991 /* Line 1806 of yacc.c */ 7992 #line 2027 "parser.yy" 7995 7993 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7996 7994 break; 7997 7995 7998 case 52 1:7999 8000 /* Line 1806 of yacc.c */ 8001 #line 202 5"parser.yy"7996 case 522: 7997 7998 /* Line 1806 of yacc.c */ 7999 #line 2029 "parser.yy" 8002 8000 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 8003 8001 break; 8004 8002 8005 case 52 2:8006 8007 /* Line 1806 of yacc.c */ 8008 #line 203 0"parser.yy"8003 case 523: 8004 8005 /* Line 1806 of yacc.c */ 8006 #line 2034 "parser.yy" 8009 8007 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 8010 8008 break; 8011 8009 8012 case 52 3:8013 8014 /* Line 1806 of yacc.c */ 8015 #line 203 2"parser.yy"8010 case 524: 8011 8012 /* Line 1806 of yacc.c */ 8013 #line 2036 "parser.yy" 8016 8014 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 8017 8015 break; 8018 8016 8019 case 524:8020 8021 /* Line 1806 of yacc.c */8022 #line 2034 "parser.yy"8023 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }8024 break;8025 8026 8017 case 525: 8027 8018 8028 8019 /* Line 1806 of yacc.c */ 8029 #line 2039 "parser.yy" 8020 #line 2038 "parser.yy" 8021 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copySpecifiers( (yyvsp[(1) - (3)].decl) ) ); } 8022 break; 8023 8024 case 526: 8025 8026 /* Line 1806 of yacc.c */ 8027 #line 2043 "parser.yy" 8030 8028 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 8031 8029 break; 8032 8030 8033 case 52 6:8034 8035 /* Line 1806 of yacc.c */ 8036 #line 204 1"parser.yy"8031 case 527: 8032 8033 /* Line 1806 of yacc.c */ 8034 #line 2045 "parser.yy" 8037 8035 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 8038 8036 break; 8039 8037 8040 case 52 7:8041 8042 /* Line 1806 of yacc.c */ 8043 #line 20 46"parser.yy"8038 case 528: 8039 8040 /* Line 1806 of yacc.c */ 8041 #line 2050 "parser.yy" 8044 8042 { 8045 8043 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 8048 8046 break; 8049 8047 8050 case 52 8:8051 8052 /* Line 1806 of yacc.c */ 8053 #line 205 1"parser.yy"8048 case 529: 8049 8050 /* Line 1806 of yacc.c */ 8051 #line 2055 "parser.yy" 8054 8052 { 8055 8053 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 8058 8056 break; 8059 8057 8060 case 5 29:8061 8062 /* Line 1806 of yacc.c */ 8063 #line 20 59"parser.yy"8058 case 530: 8059 8060 /* Line 1806 of yacc.c */ 8061 #line 2063 "parser.yy" 8064 8062 { 8065 8063 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 8068 8066 break; 8069 8067 8070 case 53 0:8071 8072 /* Line 1806 of yacc.c */ 8073 #line 206 4"parser.yy"8068 case 531: 8069 8070 /* Line 1806 of yacc.c */ 8071 #line 2068 "parser.yy" 8074 8072 { 8075 8073 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 8078 8076 break; 8079 8077 8080 case 53 1:8081 8082 /* Line 1806 of yacc.c */ 8083 #line 20 69"parser.yy"8078 case 532: 8079 8080 /* Line 1806 of yacc.c */ 8081 #line 2073 "parser.yy" 8084 8082 { 8085 8083 typedefTable.leaveTrait(); … … 8089 8087 break; 8090 8088 8091 case 53 3:8092 8093 /* Line 1806 of yacc.c */ 8094 #line 20 79"parser.yy"8089 case 534: 8090 8091 /* Line 1806 of yacc.c */ 8092 #line 2083 "parser.yy" 8095 8093 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 8096 8094 break; 8097 8095 8098 case 53 6:8099 8100 /* Line 1806 of yacc.c */ 8101 #line 20 89"parser.yy"8096 case 537: 8097 8098 /* Line 1806 of yacc.c */ 8099 #line 2093 "parser.yy" 8102 8100 { 8103 8101 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8106 8104 break; 8107 8105 8108 case 53 7:8109 8110 /* Line 1806 of yacc.c */ 8111 #line 209 4"parser.yy"8106 case 538: 8107 8108 /* Line 1806 of yacc.c */ 8109 #line 2098 "parser.yy" 8112 8110 { 8113 8111 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8116 8114 break; 8117 8115 8118 case 53 8:8119 8120 /* Line 1806 of yacc.c */ 8121 #line 2 099"parser.yy"8116 case 539: 8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2103 "parser.yy" 8122 8120 { 8123 8121 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 8126 8124 break; 8127 8125 8128 case 5 39:8129 8130 /* Line 1806 of yacc.c */ 8131 #line 21 07"parser.yy"8126 case 540: 8127 8128 /* Line 1806 of yacc.c */ 8129 #line 2111 "parser.yy" 8132 8130 { 8133 8131 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8136 8134 break; 8137 8135 8138 case 54 0:8139 8140 /* Line 1806 of yacc.c */ 8141 #line 211 2"parser.yy"8136 case 541: 8137 8138 /* Line 1806 of yacc.c */ 8139 #line 2116 "parser.yy" 8142 8140 { 8143 8141 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8146 8144 break; 8147 8145 8148 case 54 1:8149 8150 /* Line 1806 of yacc.c */ 8151 #line 212 2"parser.yy"8146 case 542: 8147 8148 /* Line 1806 of yacc.c */ 8149 #line 2126 "parser.yy" 8152 8150 {} 8153 8151 break; 8154 8152 8155 case 54 2:8156 8157 /* Line 1806 of yacc.c */ 8158 #line 212 4"parser.yy"8153 case 543: 8154 8155 /* Line 1806 of yacc.c */ 8156 #line 2128 "parser.yy" 8159 8157 { parseTree = parseTree ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 8160 8158 break; 8161 8159 8162 case 54 4:8163 8164 /* Line 1806 of yacc.c */ 8165 #line 213 0"parser.yy"8160 case 545: 8161 8162 /* Line 1806 of yacc.c */ 8163 #line 2134 "parser.yy" 8166 8164 { (yyval.decl) = (yyvsp[(1) - (3)].decl) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 8167 8165 break; 8168 8166 8169 case 54 5:8170 8171 /* Line 1806 of yacc.c */ 8172 #line 213 5"parser.yy"8167 case 546: 8168 8169 /* Line 1806 of yacc.c */ 8170 #line 2139 "parser.yy" 8173 8171 { (yyval.decl) = nullptr; } 8174 8172 break; 8175 8173 8176 case 5 49:8177 8178 /* Line 1806 of yacc.c */ 8179 #line 214 3"parser.yy"8174 case 550: 8175 8176 /* Line 1806 of yacc.c */ 8177 #line 2147 "parser.yy" 8180 8178 { 8181 8179 (yyval.decl) = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, (yyvsp[(3) - (5)].constant), 0 ) ) ); … … 8183 8181 break; 8184 8182 8185 case 55 0:8186 8187 /* Line 1806 of yacc.c */ 8188 #line 21 47"parser.yy"8183 case 551: 8184 8185 /* Line 1806 of yacc.c */ 8186 #line 2151 "parser.yy" 8189 8187 { 8190 8188 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 8193 8191 break; 8194 8192 8195 case 55 1:8196 8197 /* Line 1806 of yacc.c */ 8198 #line 215 2"parser.yy"8193 case 552: 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2156 "parser.yy" 8199 8197 { 8200 8198 linkage = linkageStack.top(); … … 8204 8202 break; 8205 8203 8206 case 55 2:8207 8208 /* Line 1806 of yacc.c */ 8209 #line 21 58"parser.yy"8204 case 553: 8205 8206 /* Line 1806 of yacc.c */ 8207 #line 2162 "parser.yy" 8210 8208 { 8211 8209 distExt( (yyvsp[(2) - (2)].decl) ); // mark all fields in list … … 8214 8212 break; 8215 8213 8216 case 55 4:8217 8218 /* Line 1806 of yacc.c */ 8219 #line 217 2"parser.yy"8214 case 555: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2176 "parser.yy" 8220 8218 { 8221 8219 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8225 8223 break; 8226 8224 8227 case 55 5:8228 8229 /* Line 1806 of yacc.c */ 8230 #line 21 78"parser.yy"8225 case 556: 8226 8227 /* Line 1806 of yacc.c */ 8228 #line 2182 "parser.yy" 8231 8229 { 8232 8230 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8236 8234 break; 8237 8235 8238 case 55 6:8239 8240 /* Line 1806 of yacc.c */ 8241 #line 21 87"parser.yy"8236 case 557: 8237 8238 /* Line 1806 of yacc.c */ 8239 #line 2191 "parser.yy" 8242 8240 { 8243 8241 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8247 8245 break; 8248 8246 8249 case 55 7:8250 8251 /* Line 1806 of yacc.c */ 8252 #line 219 3"parser.yy"8247 case 558: 8248 8249 /* Line 1806 of yacc.c */ 8250 #line 2197 "parser.yy" 8253 8251 { 8254 8252 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8258 8256 break; 8259 8257 8260 case 55 8:8261 8262 /* Line 1806 of yacc.c */ 8263 #line 2 199"parser.yy"8258 case 559: 8259 8260 /* Line 1806 of yacc.c */ 8261 #line 2203 "parser.yy" 8264 8262 { 8265 8263 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8269 8267 break; 8270 8268 8271 case 5 59:8272 8273 /* Line 1806 of yacc.c */ 8274 #line 220 5"parser.yy"8269 case 560: 8270 8271 /* Line 1806 of yacc.c */ 8272 #line 2209 "parser.yy" 8275 8273 { 8276 8274 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8280 8278 break; 8281 8279 8282 case 56 0:8283 8284 /* Line 1806 of yacc.c */ 8285 #line 221 1"parser.yy"8280 case 561: 8281 8282 /* Line 1806 of yacc.c */ 8283 #line 2215 "parser.yy" 8286 8284 { 8287 8285 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8291 8289 break; 8292 8290 8293 case 56 1:8294 8295 /* Line 1806 of yacc.c */ 8296 #line 22 19"parser.yy"8291 case 562: 8292 8293 /* Line 1806 of yacc.c */ 8294 #line 2223 "parser.yy" 8297 8295 { 8298 8296 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8302 8300 break; 8303 8301 8304 case 56 2:8305 8306 /* Line 1806 of yacc.c */ 8307 #line 222 5"parser.yy"8302 case 563: 8303 8304 /* Line 1806 of yacc.c */ 8305 #line 2229 "parser.yy" 8308 8306 { 8309 8307 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8313 8311 break; 8314 8312 8315 case 56 3:8316 8317 /* Line 1806 of yacc.c */ 8318 #line 223 3"parser.yy"8313 case 564: 8314 8315 /* Line 1806 of yacc.c */ 8316 #line 2237 "parser.yy" 8319 8317 { 8320 8318 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8324 8322 break; 8325 8323 8326 case 56 4:8327 8328 /* Line 1806 of yacc.c */ 8329 #line 22 39"parser.yy"8324 case 565: 8325 8326 /* Line 1806 of yacc.c */ 8327 #line 2243 "parser.yy" 8330 8328 { 8331 8329 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8335 8333 break; 8336 8334 8337 case 56 8:8338 8339 /* Line 1806 of yacc.c */ 8340 #line 225 4"parser.yy"8335 case 569: 8336 8337 /* Line 1806 of yacc.c */ 8338 #line 2258 "parser.yy" 8341 8339 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 8342 8340 break; 8343 8341 8344 case 5 69:8345 8346 /* Line 1806 of yacc.c */ 8347 #line 22 59"parser.yy"8342 case 570: 8343 8344 /* Line 1806 of yacc.c */ 8345 #line 2263 "parser.yy" 8348 8346 { (yyval.decl) = nullptr; } 8349 8347 break; 8350 8348 8351 case 57 0:8352 8353 /* Line 1806 of yacc.c */ 8354 #line 226 1"parser.yy"8349 case 571: 8350 8351 /* Line 1806 of yacc.c */ 8352 #line 2265 "parser.yy" 8355 8353 { 8356 8354 DeclarationNode * name = new DeclarationNode(); … … 8360 8358 break; 8361 8359 8362 case 57 1:8363 8364 /* Line 1806 of yacc.c */ 8365 #line 227 0"parser.yy"8360 case 572: 8361 8362 /* Line 1806 of yacc.c */ 8363 #line 2274 "parser.yy" 8366 8364 { (yyval.decl) = nullptr; } 8367 8365 break; 8368 8366 8369 case 57 4:8370 8371 /* Line 1806 of yacc.c */ 8372 #line 22 77"parser.yy"8367 case 575: 8368 8369 /* Line 1806 of yacc.c */ 8370 #line 2281 "parser.yy" 8373 8371 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8374 8372 break; 8375 8373 8376 case 57 5:8377 8378 /* Line 1806 of yacc.c */ 8379 #line 228 2"parser.yy"8374 case 576: 8375 8376 /* Line 1806 of yacc.c */ 8377 #line 2286 "parser.yy" 8380 8378 { (yyval.decl) = (yyvsp[(4) - (6)].decl); } 8381 8379 break; 8382 8380 8383 case 57 7:8384 8385 /* Line 1806 of yacc.c */ 8386 #line 22 88"parser.yy"8381 case 578: 8382 8383 /* Line 1806 of yacc.c */ 8384 #line 2292 "parser.yy" 8387 8385 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 8388 8386 break; 8389 8387 8390 case 57 8:8391 8392 /* Line 1806 of yacc.c */ 8393 #line 229 3"parser.yy"8388 case 579: 8389 8390 /* Line 1806 of yacc.c */ 8391 #line 2297 "parser.yy" 8394 8392 { (yyval.decl) = nullptr; } 8395 8393 break; 8396 8394 8397 case 5 79:8398 8399 /* Line 1806 of yacc.c */ 8400 #line 229 5"parser.yy"8395 case 580: 8396 8397 /* Line 1806 of yacc.c */ 8398 #line 2299 "parser.yy" 8401 8399 { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); } 8402 8400 break; 8403 8401 8404 case 58 0:8405 8406 /* Line 1806 of yacc.c */ 8407 #line 2 297"parser.yy"8402 case 581: 8403 8404 /* Line 1806 of yacc.c */ 8405 #line 2301 "parser.yy" 8408 8406 { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 8409 8407 break; 8410 8408 8411 case 58 4:8412 8413 /* Line 1806 of yacc.c */ 8414 #line 230 5"parser.yy"8409 case 585: 8410 8411 /* Line 1806 of yacc.c */ 8412 #line 2309 "parser.yy" 8415 8413 { (yyval.tok) = Token{ new string( "__const__" ) }; } 8416 8414 break; 8417 8415 8418 case 58 5:8419 8420 /* Line 1806 of yacc.c */ 8421 #line 234 0"parser.yy"8416 case 586: 8417 8418 /* Line 1806 of yacc.c */ 8419 #line 2344 "parser.yy" 8422 8420 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8423 8421 break; 8424 8422 8425 case 58 7:8426 8427 /* Line 1806 of yacc.c */ 8428 #line 234 3"parser.yy"8423 case 588: 8424 8425 /* Line 1806 of yacc.c */ 8426 #line 2347 "parser.yy" 8429 8427 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8430 8428 break; 8431 8429 8432 case 58 8:8433 8434 /* Line 1806 of yacc.c */ 8435 #line 234 5"parser.yy"8430 case 589: 8431 8432 /* Line 1806 of yacc.c */ 8433 #line 2349 "parser.yy" 8436 8434 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8437 8435 break; 8438 8436 8439 case 5 89:8440 8441 /* Line 1806 of yacc.c */ 8442 #line 235 0"parser.yy"8437 case 590: 8438 8439 /* Line 1806 of yacc.c */ 8440 #line 2354 "parser.yy" 8443 8441 { 8444 8442 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8447 8445 break; 8448 8446 8449 case 59 0:8450 8451 /* Line 1806 of yacc.c */ 8452 #line 235 5"parser.yy"8447 case 591: 8448 8449 /* Line 1806 of yacc.c */ 8450 #line 2359 "parser.yy" 8453 8451 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8454 8452 break; 8455 8453 8456 case 59 1:8457 8458 /* Line 1806 of yacc.c */ 8459 #line 236 0"parser.yy"8454 case 592: 8455 8456 /* Line 1806 of yacc.c */ 8457 #line 2364 "parser.yy" 8460 8458 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8461 8459 break; 8462 8460 8463 case 59 2:8464 8465 /* Line 1806 of yacc.c */ 8466 #line 236 2"parser.yy"8461 case 593: 8462 8463 /* Line 1806 of yacc.c */ 8464 #line 2366 "parser.yy" 8467 8465 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8468 8466 break; 8469 8467 8470 case 59 3:8471 8472 /* Line 1806 of yacc.c */ 8473 #line 236 4"parser.yy"8468 case 594: 8469 8470 /* Line 1806 of yacc.c */ 8471 #line 2368 "parser.yy" 8474 8472 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8475 8473 break; 8476 8474 8477 case 59 4:8478 8479 /* Line 1806 of yacc.c */ 8480 #line 23 69"parser.yy"8475 case 595: 8476 8477 /* Line 1806 of yacc.c */ 8478 #line 2373 "parser.yy" 8481 8479 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8482 8480 break; 8483 8481 8484 case 59 5:8485 8486 /* Line 1806 of yacc.c */ 8487 #line 237 1"parser.yy"8482 case 596: 8483 8484 /* Line 1806 of yacc.c */ 8485 #line 2375 "parser.yy" 8488 8486 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8489 8487 break; 8490 8488 8491 case 59 6:8492 8493 /* Line 1806 of yacc.c */ 8494 #line 237 3"parser.yy"8489 case 597: 8490 8491 /* Line 1806 of yacc.c */ 8492 #line 2377 "parser.yy" 8495 8493 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8496 8494 break; 8497 8495 8498 case 59 7:8499 8500 /* Line 1806 of yacc.c */ 8501 #line 237 5"parser.yy"8496 case 598: 8497 8498 /* Line 1806 of yacc.c */ 8499 #line 2379 "parser.yy" 8502 8500 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8503 8501 break; 8504 8502 8505 case 59 8:8506 8507 /* Line 1806 of yacc.c */ 8508 #line 238 0"parser.yy"8503 case 599: 8504 8505 /* Line 1806 of yacc.c */ 8506 #line 2384 "parser.yy" 8509 8507 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8510 8508 break; 8511 8509 8512 case 599:8513 8514 /* Line 1806 of yacc.c */ 8515 #line 238 2"parser.yy"8510 case 600: 8511 8512 /* Line 1806 of yacc.c */ 8513 #line 2386 "parser.yy" 8516 8514 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8517 8515 break; 8518 8516 8519 case 60 0:8520 8521 /* Line 1806 of yacc.c */ 8522 #line 239 1"parser.yy"8517 case 601: 8518 8519 /* Line 1806 of yacc.c */ 8520 #line 2395 "parser.yy" 8523 8521 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8524 8522 break; 8525 8523 8526 case 60 2:8527 8528 /* Line 1806 of yacc.c */ 8529 #line 239 4"parser.yy"8524 case 603: 8525 8526 /* Line 1806 of yacc.c */ 8527 #line 2398 "parser.yy" 8530 8528 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8531 8529 break; 8532 8530 8533 case 60 3:8534 8535 /* Line 1806 of yacc.c */ 8536 #line 2 399"parser.yy"8531 case 604: 8532 8533 /* Line 1806 of yacc.c */ 8534 #line 2403 "parser.yy" 8537 8535 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8538 8536 break; 8539 8537 8540 case 60 4:8541 8542 /* Line 1806 of yacc.c */ 8543 #line 240 1"parser.yy"8538 case 605: 8539 8540 /* Line 1806 of yacc.c */ 8541 #line 2405 "parser.yy" 8544 8542 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8545 8543 break; 8546 8544 8547 case 60 5:8548 8549 /* Line 1806 of yacc.c */ 8550 #line 240 3"parser.yy"8545 case 606: 8546 8547 /* Line 1806 of yacc.c */ 8548 #line 2407 "parser.yy" 8551 8549 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8552 8550 break; 8553 8551 8554 case 60 6:8555 8556 /* Line 1806 of yacc.c */ 8557 #line 24 08"parser.yy"8552 case 607: 8553 8554 /* Line 1806 of yacc.c */ 8555 #line 2412 "parser.yy" 8558 8556 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8559 8557 break; 8560 8558 8561 case 60 7:8562 8563 /* Line 1806 of yacc.c */ 8564 #line 241 0"parser.yy"8559 case 608: 8560 8561 /* Line 1806 of yacc.c */ 8562 #line 2414 "parser.yy" 8565 8563 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8566 8564 break; 8567 8565 8568 case 60 8:8569 8570 /* Line 1806 of yacc.c */ 8571 #line 241 2"parser.yy"8566 case 609: 8567 8568 /* Line 1806 of yacc.c */ 8569 #line 2416 "parser.yy" 8572 8570 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8573 8571 break; 8574 8572 8575 case 6 09:8576 8577 /* Line 1806 of yacc.c */ 8578 #line 24 17"parser.yy"8573 case 610: 8574 8575 /* Line 1806 of yacc.c */ 8576 #line 2421 "parser.yy" 8579 8577 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8580 8578 break; 8581 8579 8582 case 61 0:8583 8584 /* Line 1806 of yacc.c */ 8585 #line 24 19"parser.yy"8580 case 611: 8581 8582 /* Line 1806 of yacc.c */ 8583 #line 2423 "parser.yy" 8586 8584 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8587 8585 break; 8588 8586 8589 case 61 1:8590 8591 /* Line 1806 of yacc.c */ 8592 #line 242 1"parser.yy"8587 case 612: 8588 8589 /* Line 1806 of yacc.c */ 8590 #line 2425 "parser.yy" 8593 8591 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8594 8592 break; 8595 8593 8596 case 61 5:8597 8598 /* Line 1806 of yacc.c */ 8599 #line 24 39"parser.yy"8594 case 616: 8595 8596 /* Line 1806 of yacc.c */ 8597 #line 2443 "parser.yy" 8600 8598 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8601 8599 break; 8602 8600 8603 case 61 6:8604 8605 /* Line 1806 of yacc.c */ 8606 #line 244 1"parser.yy"8601 case 617: 8602 8603 /* Line 1806 of yacc.c */ 8604 #line 2445 "parser.yy" 8607 8605 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8608 8606 break; 8609 8607 8610 case 61 7:8611 8612 /* Line 1806 of yacc.c */ 8613 #line 244 3"parser.yy"8608 case 618: 8609 8610 /* Line 1806 of yacc.c */ 8611 #line 2447 "parser.yy" 8614 8612 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8615 8613 break; 8616 8614 8617 case 61 8:8618 8619 /* Line 1806 of yacc.c */ 8620 #line 24 48"parser.yy"8615 case 619: 8616 8617 /* Line 1806 of yacc.c */ 8618 #line 2452 "parser.yy" 8621 8619 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8622 8620 break; 8623 8621 8624 case 6 19:8625 8626 /* Line 1806 of yacc.c */ 8627 #line 245 0"parser.yy"8622 case 620: 8623 8624 /* Line 1806 of yacc.c */ 8625 #line 2454 "parser.yy" 8628 8626 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8629 8627 break; 8630 8628 8631 case 62 0:8632 8633 /* Line 1806 of yacc.c */ 8634 #line 245 2"parser.yy"8629 case 621: 8630 8631 /* Line 1806 of yacc.c */ 8632 #line 2456 "parser.yy" 8635 8633 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8636 8634 break; 8637 8635 8638 case 62 1:8639 8640 /* Line 1806 of yacc.c */ 8641 #line 24 57"parser.yy"8636 case 622: 8637 8638 /* Line 1806 of yacc.c */ 8639 #line 2461 "parser.yy" 8642 8640 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8643 8641 break; 8644 8642 8645 case 62 2:8646 8647 /* Line 1806 of yacc.c */ 8648 #line 24 59"parser.yy"8643 case 623: 8644 8645 /* Line 1806 of yacc.c */ 8646 #line 2463 "parser.yy" 8649 8647 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8650 8648 break; 8651 8649 8652 case 62 3:8653 8654 /* Line 1806 of yacc.c */ 8655 #line 246 1"parser.yy"8650 case 624: 8651 8652 /* Line 1806 of yacc.c */ 8653 #line 2465 "parser.yy" 8656 8654 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8657 8655 break; 8658 8656 8659 case 62 4:8660 8661 /* Line 1806 of yacc.c */ 8662 #line 24 76"parser.yy"8657 case 625: 8658 8659 /* Line 1806 of yacc.c */ 8660 #line 2480 "parser.yy" 8663 8661 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8664 8662 break; 8665 8663 8666 case 62 6:8667 8668 /* Line 1806 of yacc.c */ 8669 #line 24 79"parser.yy"8664 case 627: 8665 8666 /* Line 1806 of yacc.c */ 8667 #line 2483 "parser.yy" 8670 8668 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8671 8669 break; 8672 8670 8673 case 62 7:8674 8675 /* Line 1806 of yacc.c */ 8676 #line 248 1"parser.yy"8671 case 628: 8672 8673 /* Line 1806 of yacc.c */ 8674 #line 2485 "parser.yy" 8677 8675 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8678 8676 break; 8679 8677 8680 case 6 29:8681 8682 /* Line 1806 of yacc.c */ 8683 #line 24 87"parser.yy"8678 case 630: 8679 8680 /* Line 1806 of yacc.c */ 8681 #line 2491 "parser.yy" 8684 8682 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8685 8683 break; 8686 8684 8687 case 63 0:8688 8689 /* Line 1806 of yacc.c */ 8690 #line 249 2"parser.yy"8685 case 631: 8686 8687 /* Line 1806 of yacc.c */ 8688 #line 2496 "parser.yy" 8691 8689 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8692 8690 break; 8693 8691 8694 case 63 1:8695 8696 /* Line 1806 of yacc.c */ 8697 #line 249 4"parser.yy"8692 case 632: 8693 8694 /* Line 1806 of yacc.c */ 8695 #line 2498 "parser.yy" 8698 8696 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8699 8697 break; 8700 8698 8701 case 63 2:8702 8703 /* Line 1806 of yacc.c */ 8704 #line 2 496"parser.yy"8699 case 633: 8700 8701 /* Line 1806 of yacc.c */ 8702 #line 2500 "parser.yy" 8705 8703 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8706 8704 break; 8707 8705 8708 case 63 3:8709 8710 /* Line 1806 of yacc.c */ 8711 #line 250 1"parser.yy"8706 case 634: 8707 8708 /* Line 1806 of yacc.c */ 8709 #line 2505 "parser.yy" 8712 8710 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8713 8711 break; 8714 8712 8715 case 63 4:8716 8717 /* Line 1806 of yacc.c */ 8718 #line 250 3"parser.yy"8713 case 635: 8714 8715 /* Line 1806 of yacc.c */ 8716 #line 2507 "parser.yy" 8719 8717 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8720 8718 break; 8721 8719 8722 case 63 5:8723 8724 /* Line 1806 of yacc.c */ 8725 #line 250 5"parser.yy"8720 case 636: 8721 8722 /* Line 1806 of yacc.c */ 8723 #line 2509 "parser.yy" 8726 8724 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8727 8725 break; 8728 8726 8729 case 63 6:8730 8731 /* Line 1806 of yacc.c */ 8732 #line 25 07"parser.yy"8727 case 637: 8728 8729 /* Line 1806 of yacc.c */ 8730 #line 2511 "parser.yy" 8733 8731 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8734 8732 break; 8735 8733 8736 case 63 7:8737 8738 /* Line 1806 of yacc.c */ 8739 #line 251 2"parser.yy"8734 case 638: 8735 8736 /* Line 1806 of yacc.c */ 8737 #line 2516 "parser.yy" 8740 8738 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8741 8739 break; 8742 8740 8743 case 63 8:8744 8745 /* Line 1806 of yacc.c */ 8746 #line 251 4"parser.yy"8741 case 639: 8742 8743 /* Line 1806 of yacc.c */ 8744 #line 2518 "parser.yy" 8747 8745 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8748 8746 break; 8749 8747 8750 case 6 39:8751 8752 /* Line 1806 of yacc.c */ 8753 #line 25 16"parser.yy"8748 case 640: 8749 8750 /* Line 1806 of yacc.c */ 8751 #line 2520 "parser.yy" 8754 8752 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8755 8753 break; 8756 8754 8757 case 64 0:8758 8759 /* Line 1806 of yacc.c */ 8760 #line 25 26"parser.yy"8755 case 641: 8756 8757 /* Line 1806 of yacc.c */ 8758 #line 2530 "parser.yy" 8761 8759 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8762 8760 break; 8763 8761 8764 case 64 2:8765 8766 /* Line 1806 of yacc.c */ 8767 #line 25 29"parser.yy"8762 case 643: 8763 8764 /* Line 1806 of yacc.c */ 8765 #line 2533 "parser.yy" 8768 8766 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8769 8767 break; 8770 8768 8771 case 64 3:8772 8773 /* Line 1806 of yacc.c */ 8774 #line 253 1"parser.yy"8769 case 644: 8770 8771 /* Line 1806 of yacc.c */ 8772 #line 2535 "parser.yy" 8775 8773 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8776 8774 break; 8777 8775 8778 case 64 4:8779 8780 /* Line 1806 of yacc.c */ 8781 #line 25 36"parser.yy"8776 case 645: 8777 8778 /* Line 1806 of yacc.c */ 8779 #line 2540 "parser.yy" 8782 8780 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8783 8781 break; 8784 8782 8785 case 64 5:8786 8787 /* Line 1806 of yacc.c */ 8788 #line 25 38"parser.yy"8783 case 646: 8784 8785 /* Line 1806 of yacc.c */ 8786 #line 2542 "parser.yy" 8789 8787 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8790 8788 break; 8791 8789 8792 case 64 6:8793 8794 /* Line 1806 of yacc.c */ 8795 #line 254 0"parser.yy"8790 case 647: 8791 8792 /* Line 1806 of yacc.c */ 8793 #line 2544 "parser.yy" 8796 8794 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8797 8795 break; 8798 8796 8799 case 64 7:8800 8801 /* Line 1806 of yacc.c */ 8802 #line 254 5"parser.yy"8797 case 648: 8798 8799 /* Line 1806 of yacc.c */ 8800 #line 2549 "parser.yy" 8803 8801 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8804 8802 break; 8805 8803 8806 case 64 8:8807 8808 /* Line 1806 of yacc.c */ 8809 #line 25 47"parser.yy"8804 case 649: 8805 8806 /* Line 1806 of yacc.c */ 8807 #line 2551 "parser.yy" 8810 8808 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8811 8809 break; 8812 8810 8813 case 6 49:8814 8815 /* Line 1806 of yacc.c */ 8816 #line 25 49"parser.yy"8811 case 650: 8812 8813 /* Line 1806 of yacc.c */ 8814 #line 2553 "parser.yy" 8817 8815 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8818 8816 break; 8819 8817 8820 case 65 0:8821 8822 /* Line 1806 of yacc.c */ 8823 #line 255 1"parser.yy"8818 case 651: 8819 8820 /* Line 1806 of yacc.c */ 8821 #line 2555 "parser.yy" 8824 8822 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8825 8823 break; 8826 8824 8827 case 65 1:8828 8829 /* Line 1806 of yacc.c */ 8830 #line 25 56"parser.yy"8825 case 652: 8826 8827 /* Line 1806 of yacc.c */ 8828 #line 2560 "parser.yy" 8831 8829 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8832 8830 break; 8833 8831 8834 case 65 2:8835 8836 /* Line 1806 of yacc.c */ 8837 #line 25 58"parser.yy"8832 case 653: 8833 8834 /* Line 1806 of yacc.c */ 8835 #line 2562 "parser.yy" 8838 8836 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8839 8837 break; 8840 8838 8841 case 65 3:8842 8843 /* Line 1806 of yacc.c */ 8844 #line 256 0"parser.yy"8839 case 654: 8840 8841 /* Line 1806 of yacc.c */ 8842 #line 2564 "parser.yy" 8845 8843 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8846 8844 break; 8847 8845 8848 case 65 4:8849 8850 /* Line 1806 of yacc.c */ 8851 #line 257 3"parser.yy"8846 case 655: 8847 8848 /* Line 1806 of yacc.c */ 8849 #line 2577 "parser.yy" 8852 8850 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8853 8851 break; 8854 8852 8855 case 65 6:8856 8857 /* Line 1806 of yacc.c */ 8858 #line 25 76"parser.yy"8853 case 657: 8854 8855 /* Line 1806 of yacc.c */ 8856 #line 2580 "parser.yy" 8859 8857 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8860 8858 break; 8861 8859 8862 case 65 7:8863 8864 /* Line 1806 of yacc.c */ 8865 #line 25 78"parser.yy"8860 case 658: 8861 8862 /* Line 1806 of yacc.c */ 8863 #line 2582 "parser.yy" 8866 8864 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8867 8865 break; 8868 8866 8869 case 65 8:8870 8871 /* Line 1806 of yacc.c */ 8872 #line 258 3"parser.yy"8867 case 659: 8868 8869 /* Line 1806 of yacc.c */ 8870 #line 2587 "parser.yy" 8873 8871 { 8874 8872 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8877 8875 break; 8878 8876 8879 case 6 59:8880 8881 /* Line 1806 of yacc.c */ 8882 #line 25 88"parser.yy"8877 case 660: 8878 8879 /* Line 1806 of yacc.c */ 8880 #line 2592 "parser.yy" 8883 8881 { 8884 8882 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8887 8885 break; 8888 8886 8889 case 66 0:8890 8891 /* Line 1806 of yacc.c */ 8892 #line 2 596"parser.yy"8887 case 661: 8888 8889 /* Line 1806 of yacc.c */ 8890 #line 2600 "parser.yy" 8893 8891 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8894 8892 break; 8895 8893 8896 case 66 1:8897 8898 /* Line 1806 of yacc.c */ 8899 #line 2 598"parser.yy"8894 case 662: 8895 8896 /* Line 1806 of yacc.c */ 8897 #line 2602 "parser.yy" 8900 8898 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8901 8899 break; 8902 8900 8903 case 66 2:8904 8905 /* Line 1806 of yacc.c */ 8906 #line 260 0"parser.yy"8901 case 663: 8902 8903 /* Line 1806 of yacc.c */ 8904 #line 2604 "parser.yy" 8907 8905 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8908 8906 break; 8909 8907 8910 case 66 3:8911 8912 /* Line 1806 of yacc.c */ 8913 #line 260 5"parser.yy"8908 case 664: 8909 8910 /* Line 1806 of yacc.c */ 8911 #line 2609 "parser.yy" 8914 8912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8915 8913 break; 8916 8914 8917 case 66 4:8918 8919 /* Line 1806 of yacc.c */ 8920 #line 26 07"parser.yy"8915 case 665: 8916 8917 /* Line 1806 of yacc.c */ 8918 #line 2611 "parser.yy" 8921 8919 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8922 8920 break; 8923 8921 8924 case 66 5:8925 8926 /* Line 1806 of yacc.c */ 8927 #line 261 2"parser.yy"8922 case 666: 8923 8924 /* Line 1806 of yacc.c */ 8925 #line 2616 "parser.yy" 8928 8926 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8929 8927 break; 8930 8928 8931 case 66 6:8932 8933 /* Line 1806 of yacc.c */ 8934 #line 261 4"parser.yy"8929 case 667: 8930 8931 /* Line 1806 of yacc.c */ 8932 #line 2618 "parser.yy" 8935 8933 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8936 8934 break; 8937 8935 8938 case 66 8:8939 8940 /* Line 1806 of yacc.c */ 8941 #line 263 2"parser.yy"8936 case 669: 8937 8938 /* Line 1806 of yacc.c */ 8939 #line 2636 "parser.yy" 8942 8940 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8943 8941 break; 8944 8942 8945 case 6 69:8946 8947 /* Line 1806 of yacc.c */ 8948 #line 263 4"parser.yy"8943 case 670: 8944 8945 /* Line 1806 of yacc.c */ 8946 #line 2638 "parser.yy" 8949 8947 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8950 8948 break; 8951 8949 8952 case 67 0:8953 8954 /* Line 1806 of yacc.c */ 8955 #line 26 39"parser.yy"8950 case 671: 8951 8952 /* Line 1806 of yacc.c */ 8953 #line 2643 "parser.yy" 8956 8954 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8957 8955 break; 8958 8956 8959 case 67 1:8960 8961 /* Line 1806 of yacc.c */ 8962 #line 264 1"parser.yy"8957 case 672: 8958 8959 /* Line 1806 of yacc.c */ 8960 #line 2645 "parser.yy" 8963 8961 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8964 8962 break; 8965 8963 8966 case 67 2:8967 8968 /* Line 1806 of yacc.c */ 8969 #line 264 3"parser.yy"8964 case 673: 8965 8966 /* Line 1806 of yacc.c */ 8967 #line 2647 "parser.yy" 8970 8968 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8971 8969 break; 8972 8970 8973 case 67 3:8974 8975 /* Line 1806 of yacc.c */ 8976 #line 264 5"parser.yy"8971 case 674: 8972 8973 /* Line 1806 of yacc.c */ 8974 #line 2649 "parser.yy" 8977 8975 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8978 8976 break; 8979 8977 8980 case 67 4:8981 8982 /* Line 1806 of yacc.c */ 8983 #line 26 47"parser.yy"8978 case 675: 8979 8980 /* Line 1806 of yacc.c */ 8981 #line 2651 "parser.yy" 8984 8982 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8985 8983 break; 8986 8984 8987 case 67 6:8988 8989 /* Line 1806 of yacc.c */ 8990 #line 265 3"parser.yy"8985 case 677: 8986 8987 /* Line 1806 of yacc.c */ 8988 #line 2657 "parser.yy" 8991 8989 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8992 8990 break; 8993 8991 8994 case 67 7:8995 8996 /* Line 1806 of yacc.c */ 8997 #line 265 5"parser.yy"8992 case 678: 8993 8994 /* Line 1806 of yacc.c */ 8995 #line 2659 "parser.yy" 8998 8996 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8999 8997 break; 9000 8998 9001 case 67 8:9002 9003 /* Line 1806 of yacc.c */ 9004 #line 26 57"parser.yy"8999 case 679: 9000 9001 /* Line 1806 of yacc.c */ 9002 #line 2661 "parser.yy" 9005 9003 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9006 9004 break; 9007 9005 9008 case 6 79:9009 9010 /* Line 1806 of yacc.c */ 9011 #line 266 2"parser.yy"9006 case 680: 9007 9008 /* Line 1806 of yacc.c */ 9009 #line 2666 "parser.yy" 9012 9010 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 9013 9011 break; 9014 9012 9015 case 68 0:9016 9017 /* Line 1806 of yacc.c */ 9018 #line 266 4"parser.yy"9013 case 681: 9014 9015 /* Line 1806 of yacc.c */ 9016 #line 2668 "parser.yy" 9019 9017 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9020 9018 break; 9021 9019 9022 case 68 1:9023 9024 /* Line 1806 of yacc.c */ 9025 #line 26 66"parser.yy"9020 case 682: 9021 9022 /* Line 1806 of yacc.c */ 9023 #line 2670 "parser.yy" 9026 9024 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9027 9025 break; 9028 9026 9029 case 68 2:9030 9031 /* Line 1806 of yacc.c */ 9032 #line 267 2"parser.yy"9027 case 683: 9028 9029 /* Line 1806 of yacc.c */ 9030 #line 2676 "parser.yy" 9033 9031 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 9034 9032 break; 9035 9033 9036 case 68 3:9037 9038 /* Line 1806 of yacc.c */ 9039 #line 267 4"parser.yy"9034 case 684: 9035 9036 /* Line 1806 of yacc.c */ 9037 #line 2678 "parser.yy" 9040 9038 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 9041 9039 break; 9042 9040 9043 case 68 5:9044 9045 /* Line 1806 of yacc.c */ 9046 #line 268 0"parser.yy"9041 case 686: 9042 9043 /* Line 1806 of yacc.c */ 9044 #line 2684 "parser.yy" 9047 9045 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 9048 9046 break; 9049 9047 9050 case 68 6:9051 9052 /* Line 1806 of yacc.c */ 9053 #line 268 2"parser.yy"9048 case 687: 9049 9050 /* Line 1806 of yacc.c */ 9051 #line 2686 "parser.yy" 9054 9052 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 9055 9053 break; 9056 9054 9057 case 68 7:9058 9059 /* Line 1806 of yacc.c */ 9060 #line 268 4"parser.yy"9055 case 688: 9056 9057 /* Line 1806 of yacc.c */ 9058 #line 2688 "parser.yy" 9061 9059 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 9062 9060 break; 9063 9061 9064 case 68 8:9065 9066 /* Line 1806 of yacc.c */ 9067 #line 26 86"parser.yy"9062 case 689: 9063 9064 /* Line 1806 of yacc.c */ 9065 #line 2690 "parser.yy" 9068 9066 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 9069 9067 break; 9070 9068 9071 case 69 0:9072 9073 /* Line 1806 of yacc.c */ 9074 #line 272 1"parser.yy"9069 case 691: 9070 9071 /* Line 1806 of yacc.c */ 9072 #line 2725 "parser.yy" 9075 9073 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9076 9074 break; 9077 9075 9078 case 69 1:9079 9080 /* Line 1806 of yacc.c */ 9081 #line 272 3"parser.yy"9076 case 692: 9077 9078 /* Line 1806 of yacc.c */ 9079 #line 2727 "parser.yy" 9082 9080 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9083 9081 break; 9084 9082 9085 case 69 2:9086 9087 /* Line 1806 of yacc.c */ 9088 #line 27 28"parser.yy"9083 case 693: 9084 9085 /* Line 1806 of yacc.c */ 9086 #line 2732 "parser.yy" 9089 9087 { (yyval.decl) = DeclarationNode::newPointer( nullptr ); } 9090 9088 break; 9091 9089 9092 case 69 3:9093 9094 /* Line 1806 of yacc.c */ 9095 #line 273 0"parser.yy"9090 case 694: 9091 9092 /* Line 1806 of yacc.c */ 9093 #line 2734 "parser.yy" 9096 9094 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 9097 9095 break; 9098 9096 9099 case 69 4:9100 9101 /* Line 1806 of yacc.c */ 9102 #line 273 2"parser.yy"9097 case 695: 9098 9099 /* Line 1806 of yacc.c */ 9100 #line 2736 "parser.yy" 9103 9101 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( nullptr ) ); } 9104 9102 break; 9105 9103 9106 case 69 5:9107 9108 /* Line 1806 of yacc.c */ 9109 #line 273 4"parser.yy"9104 case 696: 9105 9106 /* Line 1806 of yacc.c */ 9107 #line 2738 "parser.yy" 9110 9108 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 9111 9109 break; 9112 9110 9113 case 69 6:9114 9115 /* Line 1806 of yacc.c */ 9116 #line 27 36"parser.yy"9111 case 697: 9112 9113 /* Line 1806 of yacc.c */ 9114 #line 2740 "parser.yy" 9117 9115 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 9118 9116 break; 9119 9117 9120 case 69 8:9121 9122 /* Line 1806 of yacc.c */ 9123 #line 274 2"parser.yy"9118 case 699: 9119 9120 /* Line 1806 of yacc.c */ 9121 #line 2746 "parser.yy" 9124 9122 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9125 9123 break; 9126 9124 9127 case 699:9128 9129 /* Line 1806 of yacc.c */ 9130 #line 274 4"parser.yy"9125 case 700: 9126 9127 /* Line 1806 of yacc.c */ 9128 #line 2748 "parser.yy" 9131 9129 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9132 9130 break; 9133 9131 9134 case 70 0:9135 9136 /* Line 1806 of yacc.c */ 9137 #line 27 46"parser.yy"9132 case 701: 9133 9134 /* Line 1806 of yacc.c */ 9135 #line 2750 "parser.yy" 9138 9136 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9139 9137 break; 9140 9138 9141 case 70 1:9142 9143 /* Line 1806 of yacc.c */ 9144 #line 275 1"parser.yy"9139 case 702: 9140 9141 /* Line 1806 of yacc.c */ 9142 #line 2755 "parser.yy" 9145 9143 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 9146 9144 break; 9147 9145 9148 case 70 2:9149 9150 /* Line 1806 of yacc.c */ 9151 #line 275 3"parser.yy"9146 case 703: 9147 9148 /* Line 1806 of yacc.c */ 9149 #line 2757 "parser.yy" 9152 9150 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9153 9151 break; 9154 9152 9155 case 70 3:9156 9157 /* Line 1806 of yacc.c */ 9158 #line 275 5"parser.yy"9153 case 704: 9154 9155 /* Line 1806 of yacc.c */ 9156 #line 2759 "parser.yy" 9159 9157 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9160 9158 break; 9161 9159 9162 case 70 5:9163 9164 /* Line 1806 of yacc.c */ 9165 #line 276 2"parser.yy"9160 case 706: 9161 9162 /* Line 1806 of yacc.c */ 9163 #line 2766 "parser.yy" 9166 9164 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 9167 9165 break; 9168 9166 9169 case 70 7:9170 9171 /* Line 1806 of yacc.c */ 9172 #line 277 3"parser.yy"9167 case 708: 9168 9169 /* Line 1806 of yacc.c */ 9170 #line 2777 "parser.yy" 9173 9171 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 9174 9172 break; 9175 9173 9176 case 70 8:9177 9178 /* Line 1806 of yacc.c */ 9179 #line 27 76"parser.yy"9174 case 709: 9175 9176 /* Line 1806 of yacc.c */ 9177 #line 2780 "parser.yy" 9180 9178 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9181 9179 break; 9182 9180 9183 case 7 09:9184 9185 /* Line 1806 of yacc.c */ 9186 #line 27 78"parser.yy"9181 case 710: 9182 9183 /* Line 1806 of yacc.c */ 9184 #line 2782 "parser.yy" 9187 9185 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 9188 9186 break; 9189 9187 9190 case 71 0:9191 9192 /* Line 1806 of yacc.c */ 9193 #line 278 1"parser.yy"9188 case 711: 9189 9190 /* Line 1806 of yacc.c */ 9191 #line 2785 "parser.yy" 9194 9192 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9195 9193 break; 9196 9194 9197 case 71 1:9198 9199 /* Line 1806 of yacc.c */ 9200 #line 278 3"parser.yy"9195 case 712: 9196 9197 /* Line 1806 of yacc.c */ 9198 #line 2787 "parser.yy" 9201 9199 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 9202 9200 break; 9203 9201 9204 case 71 2:9205 9206 /* Line 1806 of yacc.c */ 9207 #line 278 5"parser.yy"9202 case 713: 9203 9204 /* Line 1806 of yacc.c */ 9205 #line 2789 "parser.yy" 9208 9206 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 9209 9207 break; 9210 9208 9211 case 71 4:9212 9213 /* Line 1806 of yacc.c */ 9214 #line 280 0"parser.yy"9209 case 715: 9210 9211 /* Line 1806 of yacc.c */ 9212 #line 2804 "parser.yy" 9215 9213 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9216 9214 break; 9217 9215 9218 case 71 5:9219 9220 /* Line 1806 of yacc.c */ 9221 #line 280 2"parser.yy"9216 case 716: 9217 9218 /* Line 1806 of yacc.c */ 9219 #line 2806 "parser.yy" 9222 9220 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9223 9221 break; 9224 9222 9225 case 71 6:9226 9227 /* Line 1806 of yacc.c */ 9228 #line 28 07"parser.yy"9223 case 717: 9224 9225 /* Line 1806 of yacc.c */ 9226 #line 2811 "parser.yy" 9229 9227 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 9230 9228 break; 9231 9229 9232 case 71 7:9233 9234 /* Line 1806 of yacc.c */ 9235 #line 28 09"parser.yy"9230 case 718: 9231 9232 /* Line 1806 of yacc.c */ 9233 #line 2813 "parser.yy" 9236 9234 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 9237 9235 break; 9238 9236 9239 case 71 8:9240 9241 /* Line 1806 of yacc.c */ 9242 #line 281 1"parser.yy"9237 case 719: 9238 9239 /* Line 1806 of yacc.c */ 9240 #line 2815 "parser.yy" 9243 9241 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 9244 9242 break; 9245 9243 9246 case 7 19:9247 9248 /* Line 1806 of yacc.c */ 9249 #line 281 3"parser.yy"9244 case 720: 9245 9246 /* Line 1806 of yacc.c */ 9247 #line 2817 "parser.yy" 9250 9248 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 9251 9249 break; 9252 9250 9253 case 72 0:9254 9255 /* Line 1806 of yacc.c */ 9256 #line 281 5"parser.yy"9251 case 721: 9252 9253 /* Line 1806 of yacc.c */ 9254 #line 2819 "parser.yy" 9257 9255 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 9258 9256 break; 9259 9257 9260 case 72 2:9261 9262 /* Line 1806 of yacc.c */ 9263 #line 282 1"parser.yy"9258 case 723: 9259 9260 /* Line 1806 of yacc.c */ 9261 #line 2825 "parser.yy" 9264 9262 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9265 9263 break; 9266 9264 9267 case 72 3:9268 9269 /* Line 1806 of yacc.c */ 9270 #line 282 3"parser.yy"9265 case 724: 9266 9267 /* Line 1806 of yacc.c */ 9268 #line 2827 "parser.yy" 9271 9269 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9272 9270 break; 9273 9271 9274 case 72 4:9275 9276 /* Line 1806 of yacc.c */ 9277 #line 282 5"parser.yy"9272 case 725: 9273 9274 /* Line 1806 of yacc.c */ 9275 #line 2829 "parser.yy" 9278 9276 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9279 9277 break; 9280 9278 9281 case 72 5:9282 9283 /* Line 1806 of yacc.c */ 9284 #line 283 0"parser.yy"9279 case 726: 9280 9281 /* Line 1806 of yacc.c */ 9282 #line 2834 "parser.yy" 9285 9283 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9286 9284 break; 9287 9285 9288 case 72 6:9289 9290 /* Line 1806 of yacc.c */ 9291 #line 283 2"parser.yy"9286 case 727: 9287 9288 /* Line 1806 of yacc.c */ 9289 #line 2836 "parser.yy" 9292 9290 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9293 9291 break; 9294 9292 9295 case 7 29:9296 9297 /* Line 1806 of yacc.c */ 9298 #line 284 2"parser.yy"9293 case 730: 9294 9295 /* Line 1806 of yacc.c */ 9296 #line 2846 "parser.yy" 9299 9297 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9300 9298 break; 9301 9299 9302 case 732:9303 9304 /* Line 1806 of yacc.c */9305 #line 2853 "parser.yy"9306 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }9307 break;9308 9309 9300 case 733: 9310 9311 /* Line 1806 of yacc.c */9312 #line 2855 "parser.yy"9313 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9314 break;9315 9316 case 734:9317 9301 9318 9302 /* Line 1806 of yacc.c */ … … 9321 9305 break; 9322 9306 9323 case 73 5:9307 case 734: 9324 9308 9325 9309 /* Line 1806 of yacc.c */ … … 9328 9312 break; 9329 9313 9330 case 73 6:9314 case 735: 9331 9315 9332 9316 /* Line 1806 of yacc.c */ … … 9335 9319 break; 9336 9320 9337 case 73 7:9321 case 736: 9338 9322 9339 9323 /* Line 1806 of yacc.c */ … … 9342 9326 break; 9343 9327 9328 case 737: 9329 9330 /* Line 1806 of yacc.c */ 9331 #line 2865 "parser.yy" 9332 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9333 break; 9334 9344 9335 case 738: 9345 9336 9346 9337 /* Line 1806 of yacc.c */ 9347 #line 2870 "parser.yy" 9338 #line 2867 "parser.yy" 9339 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9340 break; 9341 9342 case 739: 9343 9344 /* Line 1806 of yacc.c */ 9345 #line 2874 "parser.yy" 9348 9346 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9349 9347 break; 9350 9348 9351 case 7 39:9352 9353 /* Line 1806 of yacc.c */ 9354 #line 287 2"parser.yy"9349 case 740: 9350 9351 /* Line 1806 of yacc.c */ 9352 #line 2876 "parser.yy" 9355 9353 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9356 9354 break; 9357 9355 9358 case 74 0:9359 9360 /* Line 1806 of yacc.c */ 9361 #line 287 4"parser.yy"9356 case 741: 9357 9358 /* Line 1806 of yacc.c */ 9359 #line 2878 "parser.yy" 9362 9360 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9363 9361 break; 9364 9362 9365 case 74 1:9366 9367 /* Line 1806 of yacc.c */ 9368 #line 28 76"parser.yy"9363 case 742: 9364 9365 /* Line 1806 of yacc.c */ 9366 #line 2880 "parser.yy" 9369 9367 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9370 9368 break; 9371 9369 9372 case 74 2:9373 9374 /* Line 1806 of yacc.c */ 9375 #line 28 78"parser.yy"9370 case 743: 9371 9372 /* Line 1806 of yacc.c */ 9373 #line 2882 "parser.yy" 9376 9374 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9377 9375 break; 9378 9376 9379 case 74 3:9380 9381 /* Line 1806 of yacc.c */ 9382 #line 288 1"parser.yy"9377 case 744: 9378 9379 /* Line 1806 of yacc.c */ 9380 #line 2885 "parser.yy" 9383 9381 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9384 9382 break; 9385 9383 9386 case 74 4:9387 9388 /* Line 1806 of yacc.c */ 9389 #line 288 3"parser.yy"9384 case 745: 9385 9386 /* Line 1806 of yacc.c */ 9387 #line 2887 "parser.yy" 9390 9388 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9391 9389 break; 9392 9390 9393 case 74 5:9394 9395 /* Line 1806 of yacc.c */ 9396 #line 288 5"parser.yy"9391 case 746: 9392 9393 /* Line 1806 of yacc.c */ 9394 #line 2889 "parser.yy" 9397 9395 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9398 9396 break; 9399 9397 9400 case 74 6:9401 9402 /* Line 1806 of yacc.c */ 9403 #line 28 87"parser.yy"9398 case 747: 9399 9400 /* Line 1806 of yacc.c */ 9401 #line 2891 "parser.yy" 9404 9402 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9405 9403 break; 9406 9404 9407 case 74 7:9408 9409 /* Line 1806 of yacc.c */ 9410 #line 28 89"parser.yy"9405 case 748: 9406 9407 /* Line 1806 of yacc.c */ 9408 #line 2893 "parser.yy" 9411 9409 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9412 9410 break; 9413 9411 9414 case 74 8:9415 9416 /* Line 1806 of yacc.c */ 9417 #line 289 4"parser.yy"9412 case 749: 9413 9414 /* Line 1806 of yacc.c */ 9415 #line 2898 "parser.yy" 9418 9416 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9419 9417 break; 9420 9418 9421 case 7 49:9422 9423 /* Line 1806 of yacc.c */ 9424 #line 2 896"parser.yy"9419 case 750: 9420 9421 /* Line 1806 of yacc.c */ 9422 #line 2900 "parser.yy" 9425 9423 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9426 9424 break; 9427 9425 9428 case 75 0:9429 9430 /* Line 1806 of yacc.c */ 9431 #line 290 1"parser.yy"9426 case 751: 9427 9428 /* Line 1806 of yacc.c */ 9429 #line 2905 "parser.yy" 9432 9430 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9433 9431 break; 9434 9432 9435 case 75 1:9436 9437 /* Line 1806 of yacc.c */ 9438 #line 290 3"parser.yy"9433 case 752: 9434 9435 /* Line 1806 of yacc.c */ 9436 #line 2907 "parser.yy" 9439 9437 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9440 9438 break; 9441 9439 9442 case 75 3:9443 9444 /* Line 1806 of yacc.c */ 9445 #line 293 0"parser.yy"9440 case 754: 9441 9442 /* Line 1806 of yacc.c */ 9443 #line 2934 "parser.yy" 9446 9444 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9447 9445 break; 9448 9446 9449 case 757:9450 9451 /* Line 1806 of yacc.c */9452 #line 2941 "parser.yy"9453 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }9454 break;9455 9456 9447 case 758: 9457 9458 /* Line 1806 of yacc.c */9459 #line 2943 "parser.yy"9460 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9461 break;9462 9463 case 759:9464 9448 9465 9449 /* Line 1806 of yacc.c */ … … 9468 9452 break; 9469 9453 9470 case 7 60:9454 case 759: 9471 9455 9472 9456 /* Line 1806 of yacc.c */ … … 9475 9459 break; 9476 9460 9477 case 76 1:9461 case 760: 9478 9462 9479 9463 /* Line 1806 of yacc.c */ … … 9482 9466 break; 9483 9467 9484 case 76 2:9468 case 761: 9485 9469 9486 9470 /* Line 1806 of yacc.c */ … … 9489 9473 break; 9490 9474 9475 case 762: 9476 9477 /* Line 1806 of yacc.c */ 9478 #line 2953 "parser.yy" 9479 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9480 break; 9481 9491 9482 case 763: 9492 9483 9493 9484 /* Line 1806 of yacc.c */ 9494 #line 2958 "parser.yy" 9485 #line 2955 "parser.yy" 9486 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9487 break; 9488 9489 case 764: 9490 9491 /* Line 1806 of yacc.c */ 9492 #line 2962 "parser.yy" 9495 9493 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9496 9494 break; 9497 9495 9498 case 76 4:9499 9500 /* Line 1806 of yacc.c */ 9501 #line 296 0"parser.yy"9496 case 765: 9497 9498 /* Line 1806 of yacc.c */ 9499 #line 2964 "parser.yy" 9502 9500 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9503 9501 break; 9504 9502 9505 case 76 5:9506 9507 /* Line 1806 of yacc.c */ 9508 #line 296 2"parser.yy"9503 case 766: 9504 9505 /* Line 1806 of yacc.c */ 9506 #line 2966 "parser.yy" 9509 9507 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9510 9508 break; 9511 9509 9512 case 76 6:9513 9514 /* Line 1806 of yacc.c */ 9515 #line 296 4"parser.yy"9510 case 767: 9511 9512 /* Line 1806 of yacc.c */ 9513 #line 2968 "parser.yy" 9516 9514 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9517 9515 break; 9518 9516 9519 case 76 7:9520 9521 /* Line 1806 of yacc.c */ 9522 #line 29 66"parser.yy"9517 case 768: 9518 9519 /* Line 1806 of yacc.c */ 9520 #line 2970 "parser.yy" 9523 9521 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9524 9522 break; 9525 9523 9526 case 76 8:9527 9528 /* Line 1806 of yacc.c */ 9529 #line 29 68"parser.yy"9524 case 769: 9525 9526 /* Line 1806 of yacc.c */ 9527 #line 2972 "parser.yy" 9530 9528 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9531 9529 break; 9532 9530 9533 case 7 69:9534 9535 /* Line 1806 of yacc.c */ 9536 #line 297 3"parser.yy"9531 case 770: 9532 9533 /* Line 1806 of yacc.c */ 9534 #line 2977 "parser.yy" 9537 9535 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9538 9536 break; 9539 9537 9540 case 77 0:9541 9542 /* Line 1806 of yacc.c */ 9543 #line 298 0"parser.yy"9538 case 771: 9539 9540 /* Line 1806 of yacc.c */ 9541 #line 2984 "parser.yy" 9544 9542 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9545 9543 break; 9546 9544 9547 case 77 1:9548 9549 /* Line 1806 of yacc.c */ 9550 #line 298 2"parser.yy"9545 case 772: 9546 9547 /* Line 1806 of yacc.c */ 9548 #line 2986 "parser.yy" 9551 9549 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9552 9550 break; 9553 9551 9554 case 77 4:9555 9556 /* Line 1806 of yacc.c */ 9557 #line 30 06"parser.yy"9552 case 775: 9553 9554 /* Line 1806 of yacc.c */ 9555 #line 3010 "parser.yy" 9558 9556 { (yyval.en) = nullptr; } 9559 9557 break; 9560 9558 9561 case 77 5:9562 9563 /* Line 1806 of yacc.c */ 9564 #line 30 08"parser.yy"9559 case 776: 9560 9561 /* Line 1806 of yacc.c */ 9562 #line 3012 "parser.yy" 9565 9563 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9566 9564 break; … … 9569 9567 9570 9568 /* Line 1806 of yacc.c */ 9571 #line 957 2"Parser/parser.cc"9569 #line 9570 "Parser/parser.cc" 9572 9570 default: break; 9573 9571 } … … 9800 9798 9801 9799 /* Line 2067 of yacc.c */ 9802 #line 301 1"parser.yy"9800 #line 3015 "parser.yy" 9803 9801 9804 9802 // ----end of grammar---- -
src/Parser/parser.h
r7fe2498 ra7c90d4 39 39 enum yytokentype { 40 40 TYPEDEF = 258, 41 AUTO = 259, 42 EXTERN = 260, 43 REGISTER = 261, 44 STATIC = 262, 45 INLINE = 263, 46 FORTRAN = 264, 47 CONST = 265, 48 VOLATILE = 266, 49 RESTRICT = 267, 50 FORALL = 268, 51 LVALUE = 269, 52 VOID = 270, 53 CHAR = 271, 54 SHORT = 272, 55 INT = 273, 56 LONG = 274, 57 FLOAT = 275, 58 DOUBLE = 276, 59 SIGNED = 277, 60 UNSIGNED = 278, 61 ZERO_T = 279, 62 ONE_T = 280, 63 VALIST = 281, 64 BOOL = 282, 65 COMPLEX = 283, 66 IMAGINARY = 284, 67 TYPEOF = 285, 68 LABEL = 286, 69 ENUM = 287, 70 STRUCT = 288, 71 UNION = 289, 72 OTYPE = 290, 73 FTYPE = 291, 74 DTYPE = 292, 75 TTYPE = 293, 76 TRAIT = 294, 77 SIZEOF = 295, 78 OFFSETOF = 296, 79 ATTRIBUTE = 297, 80 EXTENSION = 298, 81 IF = 299, 82 ELSE = 300, 83 SWITCH = 301, 84 CASE = 302, 85 DEFAULT = 303, 86 DO = 304, 87 WHILE = 305, 88 FOR = 306, 89 BREAK = 307, 90 CONTINUE = 308, 91 GOTO = 309, 92 RETURN = 310, 93 CHOOSE = 311, 94 DISABLE = 312, 95 ENABLE = 313, 96 FALLTHRU = 314, 97 TRY = 315, 98 CATCH = 316, 99 CATCHRESUME = 317, 100 FINALLY = 318, 101 THROW = 319, 102 THROWRESUME = 320, 103 AT = 321, 104 ASM = 322, 105 ALIGNAS = 323, 106 ALIGNOF = 324, 107 ATOMIC = 325, 108 GENERIC = 326, 109 NORETURN = 327, 110 STATICASSERT = 328, 111 THREADLOCAL = 329, 112 IDENTIFIER = 330, 113 QUOTED_IDENTIFIER = 331, 114 TYPEDEFname = 332, 115 TYPEGENname = 333, 116 ATTR_IDENTIFIER = 334, 117 ATTR_TYPEDEFname = 335, 118 ATTR_TYPEGENname = 336, 119 INTEGERconstant = 337, 120 CHARACTERconstant = 338, 121 STRINGliteral = 339, 122 REALDECIMALconstant = 340, 123 REALFRACTIONconstant = 341, 124 FLOATINGconstant = 342, 125 ZERO = 343, 126 ONE = 344, 127 ARROW = 345, 128 ICR = 346, 129 DECR = 347, 130 LS = 348, 131 RS = 349, 132 LE = 350, 133 GE = 351, 134 EQ = 352, 135 NE = 353, 136 ANDAND = 354, 137 OROR = 355, 138 ELLIPSIS = 356, 139 MULTassign = 357, 140 DIVassign = 358, 141 MODassign = 359, 142 PLUSassign = 360, 143 MINUSassign = 361, 144 LSassign = 362, 145 RSassign = 363, 146 ANDassign = 364, 147 ERassign = 365, 148 ORassign = 366, 149 ATassign = 367, 150 THEN = 368 41 EXTERN = 259, 42 STATIC = 260, 43 AUTO = 261, 44 REGISTER = 262, 45 THREADLOCAL = 263, 46 INLINE = 264, 47 FORTRAN = 265, 48 NORETURN = 266, 49 CONST = 267, 50 VOLATILE = 268, 51 RESTRICT = 269, 52 ATOMIC = 270, 53 FORALL = 271, 54 LVALUE = 272, 55 MUTEX = 273, 56 VOID = 274, 57 CHAR = 275, 58 SHORT = 276, 59 INT = 277, 60 LONG = 278, 61 FLOAT = 279, 62 DOUBLE = 280, 63 SIGNED = 281, 64 UNSIGNED = 282, 65 ZERO_T = 283, 66 ONE_T = 284, 67 VALIST = 285, 68 BOOL = 286, 69 COMPLEX = 287, 70 IMAGINARY = 288, 71 TYPEOF = 289, 72 LABEL = 290, 73 ENUM = 291, 74 STRUCT = 292, 75 UNION = 293, 76 OTYPE = 294, 77 FTYPE = 295, 78 DTYPE = 296, 79 TTYPE = 297, 80 TRAIT = 298, 81 SIZEOF = 299, 82 OFFSETOF = 300, 83 ATTRIBUTE = 301, 84 EXTENSION = 302, 85 IF = 303, 86 ELSE = 304, 87 SWITCH = 305, 88 CASE = 306, 89 DEFAULT = 307, 90 DO = 308, 91 WHILE = 309, 92 FOR = 310, 93 BREAK = 311, 94 CONTINUE = 312, 95 GOTO = 313, 96 RETURN = 314, 97 CHOOSE = 315, 98 DISABLE = 316, 99 ENABLE = 317, 100 FALLTHRU = 318, 101 TRY = 319, 102 CATCH = 320, 103 CATCHRESUME = 321, 104 FINALLY = 322, 105 THROW = 323, 106 THROWRESUME = 324, 107 AT = 325, 108 ASM = 326, 109 ALIGNAS = 327, 110 ALIGNOF = 328, 111 GENERIC = 329, 112 STATICASSERT = 330, 113 IDENTIFIER = 331, 114 QUOTED_IDENTIFIER = 332, 115 TYPEDEFname = 333, 116 TYPEGENname = 334, 117 ATTR_IDENTIFIER = 335, 118 ATTR_TYPEDEFname = 336, 119 ATTR_TYPEGENname = 337, 120 INTEGERconstant = 338, 121 CHARACTERconstant = 339, 122 STRINGliteral = 340, 123 REALDECIMALconstant = 341, 124 REALFRACTIONconstant = 342, 125 FLOATINGconstant = 343, 126 ZERO = 344, 127 ONE = 345, 128 ARROW = 346, 129 ICR = 347, 130 DECR = 348, 131 LS = 349, 132 RS = 350, 133 LE = 351, 134 GE = 352, 135 EQ = 353, 136 NE = 354, 137 ANDAND = 355, 138 OROR = 356, 139 ELLIPSIS = 357, 140 MULTassign = 358, 141 DIVassign = 359, 142 MODassign = 360, 143 PLUSassign = 361, 144 MINUSassign = 362, 145 LSassign = 363, 146 RSassign = 364, 147 ANDassign = 365, 148 ERassign = 366, 149 ORassign = 367, 150 ATassign = 368, 151 THEN = 369 151 152 }; 152 153 #endif 153 154 /* Tokens. */ 154 155 #define TYPEDEF 258 155 #define AUTO 259 156 #define EXTERN 260 157 #define REGISTER 261 158 #define STATIC 262 159 #define INLINE 263 160 #define FORTRAN 264 161 #define CONST 265 162 #define VOLATILE 266 163 #define RESTRICT 267 164 #define FORALL 268 165 #define LVALUE 269 166 #define VOID 270 167 #define CHAR 271 168 #define SHORT 272 169 #define INT 273 170 #define LONG 274 171 #define FLOAT 275 172 #define DOUBLE 276 173 #define SIGNED 277 174 #define UNSIGNED 278 175 #define ZERO_T 279 176 #define ONE_T 280 177 #define VALIST 281 178 #define BOOL 282 179 #define COMPLEX 283 180 #define IMAGINARY 284 181 #define TYPEOF 285 182 #define LABEL 286 183 #define ENUM 287 184 #define STRUCT 288 185 #define UNION 289 186 #define OTYPE 290 187 #define FTYPE 291 188 #define DTYPE 292 189 #define TTYPE 293 190 #define TRAIT 294 191 #define SIZEOF 295 192 #define OFFSETOF 296 193 #define ATTRIBUTE 297 194 #define EXTENSION 298 195 #define IF 299 196 #define ELSE 300 197 #define SWITCH 301 198 #define CASE 302 199 #define DEFAULT 303 200 #define DO 304 201 #define WHILE 305 202 #define FOR 306 203 #define BREAK 307 204 #define CONTINUE 308 205 #define GOTO 309 206 #define RETURN 310 207 #define CHOOSE 311 208 #define DISABLE 312 209 #define ENABLE 313 210 #define FALLTHRU 314 211 #define TRY 315 212 #define CATCH 316 213 #define CATCHRESUME 317 214 #define FINALLY 318 215 #define THROW 319 216 #define THROWRESUME 320 217 #define AT 321 218 #define ASM 322 219 #define ALIGNAS 323 220 #define ALIGNOF 324 221 #define ATOMIC 325 222 #define GENERIC 326 223 #define NORETURN 327 224 #define STATICASSERT 328 225 #define THREADLOCAL 329 226 #define IDENTIFIER 330 227 #define QUOTED_IDENTIFIER 331 228 #define TYPEDEFname 332 229 #define TYPEGENname 333 230 #define ATTR_IDENTIFIER 334 231 #define ATTR_TYPEDEFname 335 232 #define ATTR_TYPEGENname 336 233 #define INTEGERconstant 337 234 #define CHARACTERconstant 338 235 #define STRINGliteral 339 236 #define REALDECIMALconstant 340 237 #define REALFRACTIONconstant 341 238 #define FLOATINGconstant 342 239 #define ZERO 343 240 #define ONE 344 241 #define ARROW 345 242 #define ICR 346 243 #define DECR 347 244 #define LS 348 245 #define RS 349 246 #define LE 350 247 #define GE 351 248 #define EQ 352 249 #define NE 353 250 #define ANDAND 354 251 #define OROR 355 252 #define ELLIPSIS 356 253 #define MULTassign 357 254 #define DIVassign 358 255 #define MODassign 359 256 #define PLUSassign 360 257 #define MINUSassign 361 258 #define LSassign 362 259 #define RSassign 363 260 #define ANDassign 364 261 #define ERassign 365 262 #define ORassign 366 263 #define ATassign 367 264 #define THEN 368 156 #define EXTERN 259 157 #define STATIC 260 158 #define AUTO 261 159 #define REGISTER 262 160 #define THREADLOCAL 263 161 #define INLINE 264 162 #define FORTRAN 265 163 #define NORETURN 266 164 #define CONST 267 165 #define VOLATILE 268 166 #define RESTRICT 269 167 #define ATOMIC 270 168 #define FORALL 271 169 #define LVALUE 272 170 #define MUTEX 273 171 #define VOID 274 172 #define CHAR 275 173 #define SHORT 276 174 #define INT 277 175 #define LONG 278 176 #define FLOAT 279 177 #define DOUBLE 280 178 #define SIGNED 281 179 #define UNSIGNED 282 180 #define ZERO_T 283 181 #define ONE_T 284 182 #define VALIST 285 183 #define BOOL 286 184 #define COMPLEX 287 185 #define IMAGINARY 288 186 #define TYPEOF 289 187 #define LABEL 290 188 #define ENUM 291 189 #define STRUCT 292 190 #define UNION 293 191 #define OTYPE 294 192 #define FTYPE 295 193 #define DTYPE 296 194 #define TTYPE 297 195 #define TRAIT 298 196 #define SIZEOF 299 197 #define OFFSETOF 300 198 #define ATTRIBUTE 301 199 #define EXTENSION 302 200 #define IF 303 201 #define ELSE 304 202 #define SWITCH 305 203 #define CASE 306 204 #define DEFAULT 307 205 #define DO 308 206 #define WHILE 309 207 #define FOR 310 208 #define BREAK 311 209 #define CONTINUE 312 210 #define GOTO 313 211 #define RETURN 314 212 #define CHOOSE 315 213 #define DISABLE 316 214 #define ENABLE 317 215 #define FALLTHRU 318 216 #define TRY 319 217 #define CATCH 320 218 #define CATCHRESUME 321 219 #define FINALLY 322 220 #define THROW 323 221 #define THROWRESUME 324 222 #define AT 325 223 #define ASM 326 224 #define ALIGNAS 327 225 #define ALIGNOF 328 226 #define GENERIC 329 227 #define STATICASSERT 330 228 #define IDENTIFIER 331 229 #define QUOTED_IDENTIFIER 332 230 #define TYPEDEFname 333 231 #define TYPEGENname 334 232 #define ATTR_IDENTIFIER 335 233 #define ATTR_TYPEDEFname 336 234 #define ATTR_TYPEGENname 337 235 #define INTEGERconstant 338 236 #define CHARACTERconstant 339 237 #define STRINGliteral 340 238 #define REALDECIMALconstant 341 239 #define REALFRACTIONconstant 342 240 #define FLOATINGconstant 343 241 #define ZERO 344 242 #define ONE 345 243 #define ARROW 346 244 #define ICR 347 245 #define DECR 348 246 #define LS 349 247 #define RS 350 248 #define LE 351 249 #define GE 352 250 #define EQ 353 251 #define NE 354 252 #define ANDAND 355 253 #define OROR 356 254 #define ELLIPSIS 357 255 #define MULTassign 358 256 #define DIVassign 359 257 #define MODassign 360 258 #define PLUSassign 361 259 #define MINUSassign 362 260 #define LSassign 363 261 #define RSassign 364 262 #define ANDassign 365 263 #define ERassign 366 264 #define ORassign 367 265 #define ATassign 368 266 #define THEN 369 265 267 266 268 … … 272 274 273 275 /* Line 2068 of yacc.c */ 274 #line 1 39"parser.yy"276 #line 141 "parser.yy" 275 277 276 278 Token tok; … … 292 294 293 295 /* Line 2068 of yacc.c */ 294 #line 29 5"Parser/parser.h"296 #line 297 "Parser/parser.h" 295 297 } YYSTYPE; 296 298 # define YYSTYPE_IS_TRIVIAL 1 -
src/Parser/parser.yy
r7fe2498 ra7c90d4 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:35:28201713 // Update Count : 222 212 // Last Modified On : Sun Mar 5 15:48:24 2017 13 // Update Count : 2227 14 14 // 15 15 … … 91 91 // keywords 92 92 %token TYPEDEF 93 %token AUTO EXTERN REGISTER STATIC 94 %token INLINE // C99 95 %token FORTRAN // C99, extension ISO/IEC 9899:1999 Section J.5.9(1) 93 %token EXTERN STATIC AUTO REGISTER 94 %token THREADLOCAL // C11 95 %token INLINE FORTRAN // C99, extension ISO/IEC 9899:1999 Section J.5.9(1) 96 %token NORETURN // C11 96 97 %token CONST VOLATILE 97 98 %token RESTRICT // C99 98 %token FORALL LVALUE // CFA 99 %token ATOMIC // C11 100 %token FORALL LVALUE MUTEX // CFA 99 101 %token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED ZERO_T ONE_T 100 102 %token VALIST // GCC … … 102 104 %token TYPEOF LABEL // GCC 103 105 %token ENUM STRUCT UNION 104 %token OTYPE FTYPE DTYPE TTYPE TRAIT 106 %token OTYPE FTYPE DTYPE TTYPE TRAIT // CFA 105 107 %token SIZEOF OFFSETOF 106 108 %token ATTRIBUTE EXTENSION // GCC … … 108 110 %token CHOOSE DISABLE ENABLE FALLTHRU TRY CATCH CATCHRESUME FINALLY THROW THROWRESUME AT // CFA 109 111 %token ASM // C99, extension ISO/IEC 9899:1999 Section J.5.10(1) 110 %token ALIGNAS ALIGNOF ATOMIC GENERIC NORETURN STATICASSERT THREADLOCAL// C11112 %token ALIGNAS ALIGNOF GENERIC STATICASSERT // C11 111 113 112 114 // names and constants: lexer differentiates between identifier and typedef names … … 1407 1409 | LVALUE // CFA 1408 1410 { $$ = DeclarationNode::newTypeQualifier( DeclarationNode::Lvalue ); } 1411 | MUTEX 1412 { $$ = DeclarationNode::newTypeQualifier( DeclarationNode::Mutex ); } 1409 1413 | ATOMIC 1410 1414 { $$ = DeclarationNode::newTypeQualifier( DeclarationNode::Atomic ); } … … 2032 2036 { $$ = $3->addQualifiers( $1 ); } 2033 2037 | type_declaring_list ',' type_declarator 2034 { $$ = $1->appendList( $3->copyS torageClasses( $1 ) ); }2038 { $$ = $1->appendList( $3->copySpecifiers( $1 ) ); } 2035 2039 ; 2036 2040 -
src/ResolvExpr/Unify.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 12:27:10 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 2 17:37:05 201613 // Update Count : 3 712 // Last Modified On : Mon Mar 6 23:37:38 2017 13 // Update Count : 39 14 14 // 15 15 … … 541 541 flatten( dcl->get_type(), back_inserter( types ) ); 542 542 for ( Type * t : types ) { 543 dst.push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::C, nullptr, t, nullptr ) );543 dst.push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, t, nullptr ) ); 544 544 } 545 545 delete dcl; -
src/SymTab/Autogen.cc
r7fe2498 ra7c90d4 10 10 // Created On : Thu Mar 03 15:45:56 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 22:00:55201713 // Update Count : 3012 // Last Modified On : Tue Mar 7 07:42:44 2017 13 // Update Count : 51 14 14 // 15 15 … … 125 125 FunctionType * genDefaultType( Type * paramType ) { 126 126 FunctionType *ftype = new FunctionType( Type::Qualifiers(), false ); 127 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), paramType->clone() ), nullptr );127 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), paramType->clone() ), nullptr ); 128 128 ftype->get_parameters().push_back( dstParam ); 129 129 … … 134 134 FunctionType * genCopyType( Type * paramType ) { 135 135 FunctionType *ftype = genDefaultType( paramType ); 136 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr );136 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr ); 137 137 ftype->get_parameters().push_back( srcParam ); 138 138 return ftype; … … 142 142 FunctionType * genAssignType( Type * paramType ) { 143 143 FunctionType *ftype = genCopyType( paramType ); 144 ObjectDecl *returnVal = new ObjectDecl( "_ret", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr );144 ObjectDecl *returnVal = new ObjectDecl( "_ret", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType->clone(), nullptr ); 145 145 ftype->get_returnVals().push_back( returnVal ); 146 146 return ftype; … … 161 161 // Routines at global scope marked "static" to prevent multiple definitions in separate translation units 162 162 // because each unit generates copies of the default routines for each aggregate. 163 DeclarationNode::StorageClass sc = functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static; 163 // DeclarationNode::StorageClass sc = functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static; 164 DeclarationNode::StorageClasses scs = functionNesting > 0 ? DeclarationNode::StorageClasses() : DeclarationNode::StorageClasses( DeclarationNode::StaticClass ); 164 165 LinkageSpec::Spec spec = isIntrinsic ? LinkageSpec::Intrinsic : LinkageSpec::AutoGen; 165 FunctionDecl * decl = new FunctionDecl( fname, sc , spec, ftype, new CompoundStmt( noLabels ),166 std::list< Attribute * >(), DeclarationNode::FuncSpecifier ( DeclarationNode::InlineSpec ) );166 FunctionDecl * decl = new FunctionDecl( fname, scs, spec, ftype, new CompoundStmt( noLabels ), 167 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ); 167 168 decl->fixUniqueId(); 168 169 return decl; … … 459 460 continue; 460 461 } 461 memCtorType->get_parameters().push_back( new ObjectDecl( member->get_name(), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, member->get_type()->clone(), 0 ) );462 memCtorType->get_parameters().push_back( new ObjectDecl( member->get_name(), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, member->get_type()->clone(), 0 ) ); 462 463 FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting ); 463 464 makeStructFieldCtorBody( aggregateDecl->get_members().begin(), aggregateDecl->get_members().end(), ctor, isDynamicLayout ); … … 539 540 for ( Declaration * member : aggregateDecl->get_members() ) { 540 541 if ( DeclarationWithType * field = dynamic_cast< DeclarationWithType * >( member ) ) { 541 ObjectDecl * srcParam = new ObjectDecl( "src", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, field->get_type()->clone(), 0 );542 ObjectDecl * srcParam = new ObjectDecl( "src", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, field->get_type()->clone(), 0 ); 542 543 543 544 FunctionType * memCtorType = ctorType->clone(); … … 604 605 TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false ); 605 606 typeInst->set_baseType( typeDecl ); 606 ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, typeInst->clone(), nullptr );607 ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), typeInst->clone() ), nullptr );607 ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, typeInst->clone(), nullptr ); 608 ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new PointerType( Type::Qualifiers(), typeInst->clone() ), nullptr ); 608 609 609 610 std::list< Statement * > stmts; … … 617 618 } // if 618 619 FunctionType *type = new FunctionType( Type::Qualifiers(), false ); 619 type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );620 type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, typeInst, 0 ) ); 620 621 type->get_parameters().push_back( dst ); 621 622 type->get_parameters().push_back( src ); … … 716 717 if ( TypeInstType * ty = dynamic_cast< TypeInstType * >( t ) ) { 717 718 if ( ! done.count( ty->get_baseType() ) ) { 718 TypeDecl * newDecl = new TypeDecl( ty->get_baseType()->get_name(), DeclarationNode:: NoStorageClass, nullptr, TypeDecl::Any );719 TypeDecl * newDecl = new TypeDecl( ty->get_baseType()->get_name(), DeclarationNode::StorageClasses(), nullptr, TypeDecl::Any ); 719 720 TypeInstType * inst = new TypeInstType( Type::Qualifiers(), newDecl->get_name(), newDecl ); 720 newDecl->get_assertions().push_back( new FunctionDecl( "?=?", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, genAssignType( inst ), nullptr,721 std::list< Attribute * >(), DeclarationNode::FuncSpec ( DeclarationNode::InlineSpec ) ) );722 newDecl->get_assertions().push_back( new FunctionDecl( "?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, genDefaultType( inst ), nullptr,723 std::list< Attribute * >(), DeclarationNode::FuncSpec ( DeclarationNode::InlineSpec ) ) );724 newDecl->get_assertions().push_back( new FunctionDecl( "?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, genCopyType( inst ), nullptr,725 std::list< Attribute * >(), DeclarationNode::FuncSpec ( DeclarationNode::InlineSpec ) ) );726 newDecl->get_assertions().push_back( new FunctionDecl( "^?{}", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, genDefaultType( inst ), nullptr,727 std::list< Attribute * >(), DeclarationNode::FuncSpec ( DeclarationNode::InlineSpec ) ) );721 newDecl->get_assertions().push_back( new FunctionDecl( "?=?", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, genAssignType( inst ), nullptr, 722 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ) ); 723 newDecl->get_assertions().push_back( new FunctionDecl( "?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, genDefaultType( inst ), nullptr, 724 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ) ); 725 newDecl->get_assertions().push_back( new FunctionDecl( "?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, genCopyType( inst ), nullptr, 726 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ) ); 727 newDecl->get_assertions().push_back( new FunctionDecl( "^?{}", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, genDefaultType( inst ), nullptr, 728 std::list< Attribute * >(), DeclarationNode::FuncSpecifiers( DeclarationNode::InlineSpec ) ) ); 728 729 typeParams.push_back( newDecl ); 729 730 done.insert( ty->get_baseType() ); -
src/SymTab/Autogen.h
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 21:53:34 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 1 16:31:00201713 // Update Count : 212 // Last Modified On : Mon Mar 6 23:33:01 2017 13 // Update Count : 4 14 14 // 15 15 … … 102 102 } 103 103 104 ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), new SingleInit( begin, std::list<Expression*>() ) );104 ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::StorageClasses(), LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), new SingleInit( begin, std::list<Expression*>() ) ); 105 105 106 106 UntypedExpr *cond = new UntypedExpr( cmp ); -
src/SymTab/FixFunction.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 16:19:49 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 2 17:31:10 201613 // Update Count : 312 // Last Modified On : Mon Mar 6 23:36:59 2017 13 // Update Count : 6 14 14 // 15 15 … … 21 21 22 22 namespace SymTab { 23 FixFunction::FixFunction() : isVoid( false ) { 24 } 23 FixFunction::FixFunction() : isVoid( false ) {} 25 24 26 25 DeclarationWithType * FixFunction::mutate(FunctionDecl *functionDecl) { 27 ObjectDecl *pointer = new ObjectDecl( functionDecl->get_name(), functionDecl->get_storageClass (), functionDecl->get_linkage(), 0, new PointerType( Type::Qualifiers(), functionDecl->get_type()->clone() ), 0, functionDecl->get_attributes() );26 ObjectDecl *pointer = new ObjectDecl( functionDecl->get_name(), functionDecl->get_storageClasses(), functionDecl->get_linkage(), 0, new PointerType( Type::Qualifiers(), functionDecl->get_type()->clone() ), 0, functionDecl->get_attributes() ); 28 27 functionDecl->get_attributes().clear(); 29 28 delete functionDecl; -
src/SymTab/Indexer.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 21:37:33 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Feb 16 14:59:19201713 // Update Count : 1 312 // Last Modified On : Tue Mar 7 07:45:32 2017 13 // Update Count : 16 14 14 // 15 15 … … 738 738 ObjectDecl *newobj = dynamic_cast< ObjectDecl* >( added ); 739 739 ObjectDecl *oldobj = dynamic_cast< ObjectDecl* >( existing ); 740 if ( newobj->get_storageClass() != DeclarationNode::Extern && oldobj->get_storageClass() != DeclarationNode::Extern) {740 if ( ! newobj->get_storageClasses()[ DeclarationNode::Extern ] && ! oldobj->get_storageClasses()[ DeclarationNode::Extern ] ) { 741 741 throw SemanticError( "duplicate object definition for ", added ); 742 742 } // if -
src/SymTab/Validate.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 21:50:04 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:02:23201713 // Update Count : 3 3212 // Last Modified On : Tue Mar 7 07:51:36 2017 13 // Update Count : 349 14 14 // 15 15 … … 97 97 class ReturnTypeFixer final : public Visitor { 98 98 public: 99 100 99 typedef Visitor Parent; 101 100 using Parent::visit; … … 104 103 105 104 virtual void visit( FunctionDecl * functionDecl ); 106 107 105 virtual void visit( FunctionType * ftype ); 108 106 }; … … 161 159 private: 162 160 virtual void visit( FunctionDecl * functionDecl ); 163 164 161 virtual void visit( ReturnStmt * returnStmt ); 165 162 … … 211 208 212 209 class CompoundLiteral final : public GenPoly::DeclMutator { 213 DeclarationNode::StorageClass storageclass = DeclarationNode::NoStorageClass;210 DeclarationNode::StorageClasses storageClasses; 214 211 215 212 using GenPoly::DeclMutator::mutate; … … 694 691 if ( FunctionType *funtype = dynamic_cast<FunctionType *>( ret->get_type() ) ) { // function type? 695 692 // replace the current object declaration with a function declaration 696 FunctionDecl * newDecl = new FunctionDecl( ret->get_name(), ret->get_storageClass (), ret->get_linkage(), funtype, 0, objDecl->get_attributes(), ret->get_funcSpec() );693 FunctionDecl * newDecl = new FunctionDecl( ret->get_name(), ret->get_storageClasses(), ret->get_linkage(), funtype, 0, objDecl->get_attributes(), ret->get_funcSpec() ); 697 694 objDecl->get_attributes().clear(); 698 695 objDecl->set_type( nullptr ); … … 757 754 type = new EnumInstType( Type::Qualifiers(), newDeclEnumDecl->get_name() ); 758 755 } // if 759 TypedefDeclPtr tyDecl( new TypedefDecl( aggDecl->get_name(), DeclarationNode:: NoStorageClass, type ) );756 TypedefDeclPtr tyDecl( new TypedefDecl( aggDecl->get_name(), DeclarationNode::StorageClasses(), type ) ); 760 757 typedefNames[ aggDecl->get_name() ] = std::make_pair( std::move( tyDecl ), scopeLevel ); 761 758 } // if … … 811 808 812 809 DeclarationWithType * CompoundLiteral::mutate( ObjectDecl *objectDecl ) { 813 storage class = objectDecl->get_storageClass();810 storageClasses = objectDecl->get_storageClasses(); 814 811 DeclarationWithType * temp = Mutator::mutate( objectDecl ); 815 storageclass = DeclarationNode::NoStorageClass;816 812 return temp; 817 813 } … … 822 818 static UniqueName indexName( "_compLit" ); 823 819 824 ObjectDecl *tempvar = new ObjectDecl( indexName.newName(), storage class, LinkageSpec::C, 0, compLitExpr->get_type(), compLitExpr->get_initializer() );820 ObjectDecl *tempvar = new ObjectDecl( indexName.newName(), storageClasses, LinkageSpec::C, 0, compLitExpr->get_type(), compLitExpr->get_initializer() ); 825 821 compLitExpr->set_type( 0 ); 826 822 compLitExpr->set_initializer( 0 ); … … 861 857 TupleType * tupleType = safe_dynamic_cast< TupleType * >( ResolvExpr::extractResultType( ftype ) ); 862 858 // ensure return value is not destructed by explicitly creating an empty ListInit node wherein maybeConstruct is false. 863 ObjectDecl * newRet = new ObjectDecl( "", DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, 0, tupleType, new ListInit( std::list<Initializer*>(), noDesignators, false ) );859 ObjectDecl * newRet = new ObjectDecl( "", DeclarationNode::StorageClasses(), LinkageSpec::Cforall, 0, tupleType, new ListInit( std::list<Initializer*>(), noDesignators, false ) ); 864 860 deleteAll( retVals ); 865 861 retVals.clear(); -
src/SynTree/AggregateDecl.cc
r7fe2498 ra7c90d4 10 10 // Created On : Sun May 17 23:56:39 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 6 15:31:23201713 // Update Count : 1 712 // Last Modified On : Tue Mar 7 07:31:47 2017 13 // Update Count : 19 14 14 // 15 15 … … 20 20 21 21 22 AggregateDecl::AggregateDecl( const std::string &name, const std::list< Attribute * > & attributes ) : Parent( name, DeclarationNode:: NoStorageClass, LinkageSpec::Cforall ), body( false ), attributes( attributes ) {22 AggregateDecl::AggregateDecl( const std::string &name, const std::list< Attribute * > & attributes ) : Parent( name, DeclarationNode::StorageClasses(), LinkageSpec::Cforall ), body( false ), attributes( attributes ) { 23 23 } 24 24 -
src/SynTree/Declaration.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 1 20:11:57201713 // Update Count : 1712 // Last Modified On : Tue Mar 7 07:31:11 2017 13 // Update Count : 23 14 14 // 15 15 … … 27 27 static IdMapType idMap; 28 28 29 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage )30 : name( name ), storageClass ( sc), linkage( linkage ), uniqueId( 0 ) {29 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage ) 30 : name( name ), storageClasses( scs ), linkage( linkage ), uniqueId( 0 ) { 31 31 } 32 32 33 33 Declaration::Declaration( const Declaration &other ) 34 : name( other.name ), storageClass ( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {34 : name( other.name ), storageClasses( other.storageClasses ), linkage( other.linkage ), uniqueId( other.uniqueId ) { 35 35 } 36 36 … … 66 66 67 67 68 AsmDecl::AsmDecl( AsmStmt *stmt ) : Declaration( "", DeclarationNode:: NoStorageClass, LinkageSpec::C ), stmt( stmt ) {68 AsmDecl::AsmDecl( AsmStmt *stmt ) : Declaration( "", DeclarationNode::StorageClasses(), LinkageSpec::C ), stmt( stmt ) { 69 69 } 70 70 -
src/SynTree/Declaration.h
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 20:59:27201713 // Update Count : 9612 // Last Modified On : Tue Mar 7 07:40:42 2017 13 // Update Count : 113 14 14 // 15 15 … … 28 28 class Declaration : public BaseSyntaxNode { 29 29 public: 30 Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage );30 Declaration( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage ); 31 31 Declaration( const Declaration &other ); 32 32 virtual ~Declaration(); … … 34 34 const std::string &get_name() const { return name; } 35 35 void set_name( std::string newValue ) { name = newValue; } 36 DeclarationNode::StorageClass get_storageClass() const { return storageClass; } 37 void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; } 36 37 DeclarationNode::StorageClasses get_storageClasses() const { return storageClasses; } 38 38 39 LinkageSpec::Spec get_linkage() const { return linkage; } 39 40 void set_linkage( LinkageSpec::Spec newValue ) { linkage = newValue; } 41 40 42 UniqueId get_uniqueId() const { return uniqueId; } 43 41 44 bool get_extension() const { return extension; } 42 45 Declaration *set_extension( bool exten ) { extension = exten; return this; } … … 53 56 private: 54 57 std::string name; 55 DeclarationNode::StorageClass storageClass;58 DeclarationNode::StorageClasses storageClasses; 56 59 LinkageSpec::Spec linkage; 57 60 UniqueId uniqueId; … … 61 64 class DeclarationWithType : public Declaration { 62 65 public: 63 DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec());66 DeclarationWithType( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpecifiers fs ); 64 67 DeclarationWithType( const DeclarationWithType &other ); 65 68 virtual ~DeclarationWithType(); … … 79 82 const std::list< Attribute * >& get_attributes() const { return attributes; } 80 83 81 DeclarationNode::FuncSpec get_funcSpec() const { return fs; }82 void set_functionSpecifiers( DeclarationNode::FuncSpecnewValue ) { fs = newValue; }84 DeclarationNode::FuncSpecifiers get_funcSpec() const { return fs; } 85 //void set_functionSpecifiers( DeclarationNode::FuncSpecifiers newValue ) { fs = newValue; } 83 86 84 87 virtual DeclarationWithType *clone() const = 0; … … 95 98 ConstantExpr *asmName; 96 99 std::list< Attribute * > attributes; 97 DeclarationNode::FuncSpec fs;100 DeclarationNode::FuncSpecifiers fs; 98 101 }; 99 102 … … 101 104 typedef DeclarationWithType Parent; 102 105 public: 103 ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init,104 const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );106 ObjectDecl( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, 107 const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpecifiers fs = DeclarationNode::FuncSpecifiers() ); 105 108 ObjectDecl( const ObjectDecl &other ); 106 109 virtual ~ObjectDecl(); … … 129 132 typedef DeclarationWithType Parent; 130 133 public: 131 FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements,132 const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );134 FunctionDecl( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, 135 const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpecifiers fs = DeclarationNode::FuncSpecifiers() ); 133 136 FunctionDecl( const FunctionDecl &other ); 134 137 virtual ~FunctionDecl(); … … 155 158 typedef Declaration Parent; 156 159 public: 157 NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );160 NamedTypeDecl( const std::string &name, DeclarationNode::StorageClasses scs, Type *type ); 158 161 NamedTypeDecl( const NamedTypeDecl &other ); 159 162 virtual ~NamedTypeDecl(); … … 190 193 }; 191 194 192 TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );195 TypeDecl( const std::string &name, DeclarationNode::StorageClasses scs, Type *type, Kind kind ); 193 196 TypeDecl( const TypeDecl &other ); 194 197 … … 211 214 typedef NamedTypeDecl Parent; 212 215 public: 213 TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}216 TypedefDecl( const std::string &name, DeclarationNode::StorageClasses scs, Type *type ) : Parent( name, scs, type ) {} 214 217 TypedefDecl( const TypedefDecl &other ) : Parent( other ) {} 215 218 -
src/SynTree/DeclarationWithType.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 20:59:28201713 // Update Count : 1912 // Last Modified On : Tue Mar 7 07:32:14 2017 13 // Update Count : 23 14 14 // 15 15 … … 19 19 #include "Common/utility.h" 20 20 21 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpecfs )22 : Declaration( name, sc , linkage ), asmName( nullptr ), attributes( attributes ), fs( fs ) {21 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpecifiers fs ) 22 : Declaration( name, scs, linkage ), asmName( nullptr ), attributes( attributes ), fs( fs ) { 23 23 } 24 24 25 25 DeclarationWithType::DeclarationWithType( const DeclarationWithType &other ) 26 : Declaration( other ), mangleName( other.mangleName ), scopeLevel( other.scopeLevel ), fs( other.fs ) {26 : Declaration( other ), mangleName( other.mangleName ), scopeLevel( other.scopeLevel ), fs( other.fs ) { 27 27 cloneAll( other.attributes, attributes ); 28 28 asmName = maybeClone( other.asmName ); -
src/SynTree/FunctionDecl.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:29:41201713 // Update Count : 5512 // Last Modified On : Tue Mar 7 07:54:58 2017 13 // Update Count : 68 14 14 // 15 15 … … 26 26 extern bool translation_unit_nomain; 27 27 28 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, std::list< Attribute * > attributes, DeclarationNode::FuncSpec fs ) 29 : Parent( name, sc, linkage, attributes, fs ), type( type ), statements( statements ) { 30 set_functionSpecifiers( fs ); 31 28 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, std::list< Attribute * > attributes, DeclarationNode::FuncSpecifiers fs ) 29 : Parent( name, scs, linkage, attributes, fs ), type( type ), statements( statements ) { 32 30 // hack forcing the function "main" to have Cforall linkage to replace main even if it is inside an extern 33 31 if ( name == "main" ) { … … 37 35 38 36 FunctionDecl::FunctionDecl( const FunctionDecl &other ) 39 : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ) {37 : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ) { 40 38 } 41 39 … … 67 65 printAll( get_attributes(), os, indent ); 68 66 69 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 70 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 71 } // if 67 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 72 68 DeclarationNode::print_FuncSpec( os, get_funcSpec() ); 73 69 … … 95 91 // xxx - should printShort print attributes? 96 92 97 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 98 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 99 } // if 93 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 100 94 DeclarationNode::print_FuncSpec( os, get_funcSpec() ); 101 95 -
src/SynTree/NamedTypeDecl.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Feb 28 16:13:24201713 // Update Count : 412 // Last Modified On : Tue Mar 7 07:39:41 2017 13 // Update Count : 10 14 14 // 15 15 … … 18 18 #include "Common/utility.h" 19 19 20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base )21 : Parent( name, sc , LinkageSpec::Cforall ), base( base ) {}20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClasses scs, Type *base ) 21 : Parent( name, scs, LinkageSpec::Cforall ), base( base ) {} 22 22 23 23 NamedTypeDecl::NamedTypeDecl( const NamedTypeDecl &other ) … … 39 39 os << get_name() << ": "; 40 40 } // if 41 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 42 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 43 } // if 41 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 44 42 os << typeString(); 45 43 if ( base ) { … … 63 61 os << get_name() << ": "; 64 62 } // if 65 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 66 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 67 } // if 63 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 68 64 os << typeString(); 69 65 if ( base ) { -
src/SynTree/ObjectDecl.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 20:59:27201713 // Update Count : 4512 // Last Modified On : Tue Mar 7 07:55:24 2017 13 // Update Count : 54 14 14 // 15 15 … … 22 22 #include "Statement.h" 23 23 24 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes, DeclarationNode::FuncSpec fs ) 25 : Parent( name, sc, linkage, attributes, fs ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) { 26 set_functionSpecifiers( fs ); 24 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClasses scs, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes, DeclarationNode::FuncSpecifiers fs ) 25 : Parent( name, scs, linkage, attributes, fs ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) { 27 26 } 28 27 … … 48 47 printAll( get_attributes(), os, indent ); 49 48 50 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 51 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 52 } // if 49 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 53 50 54 51 if ( get_type() ) { … … 84 81 // xxx - should printShort print attributes? 85 82 86 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 87 os << DeclarationNode::storageClassNames[ get_storageClass() ] << ' '; 88 } // if 83 DeclarationNode::print_StorageClass( os, get_storageClasses() ); 89 84 90 85 if ( get_type() ) { -
src/SynTree/TypeDecl.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:14:35 201513 // Update Count : 212 // Last Modified On : Tue Mar 7 07:39:09 2017 13 // Update Count : 4 14 14 // 15 15 … … 18 18 #include "Common/utility.h" 19 19 20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ), sized( kind == Any || kind == Ttype ) {20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClasses scs, Type *type, Kind kind ) : Parent( name, scs, type ), kind( kind ), sized( kind == Any || kind == Ttype ) { 21 21 } 22 22 -
src/Tuples/TupleAssignment.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 1 16:40:16201713 // Update Count : 312 // Last Modified On : Mon Mar 6 23:40:14 2017 13 // Update Count : 5 14 14 // 15 15 … … 240 240 ObjectDecl * TupleAssignSpotter::Matcher::newObject( UniqueName & namer, Expression * expr ) { 241 241 assert( expr->has_result() && ! expr->get_result()->isVoid() ); 242 ObjectDecl * ret = new ObjectDecl( namer.newName(), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, expr->get_result()->clone(), new SingleInit( expr->clone() ) );242 ObjectDecl * ret = new ObjectDecl( namer.newName(), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, expr->get_result()->clone(), new SingleInit( expr->clone() ) ); 243 243 ConstructorInit * ctorInit = InitTweak::genCtorInit( ret ); 244 244 ret->set_init( ctorInit ); -
src/Tuples/TupleExpansion.cc
r7fe2498 ra7c90d4 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 1 16:40:40201713 // Update Count : 312 // Last Modified On : Tue Mar 7 07:43:56 2017 13 // Update Count : 12 14 14 // 15 15 … … 187 187 } 188 188 BasicType * boolType = new BasicType( Type::Qualifiers(), BasicType::Bool ); 189 ObjectDecl * finished = new ObjectDecl( toString( "_unq_expr_finished_", id ), DeclarationNode:: NoStorageClass, LinkageSpec::Cforall, nullptr, new BasicType( Type::Qualifiers(), BasicType::Bool ), new SingleInit( new ConstantExpr( Constant( boolType->clone(), "0" ) ), noDesignators ) );189 ObjectDecl * finished = new ObjectDecl( toString( "_unq_expr_finished_", id ), DeclarationNode::StorageClasses(), LinkageSpec::Cforall, nullptr, new BasicType( Type::Qualifiers(), BasicType::Bool ), new SingleInit( new ConstantExpr( Constant( boolType->clone(), "0" ) ), noDesignators ) ); 190 190 addDeclaration( finished ); 191 191 // (finished ? _unq_expr_N : (_unq_expr_N = <unqExpr->get_expr()>, finished = 1, _unq_expr_N)) … … 221 221 decl->set_body( true ); 222 222 for ( size_t i = 0; i < tupleSize; ++i ) { 223 TypeDecl * tyParam = new TypeDecl( toString( "tuple_param_", i), DeclarationNode::NoStorageClass, nullptr, TypeDecl::Any );224 decl->get_members().push_back( new ObjectDecl( toString("field_", i ), DeclarationNode::NoStorageClass, LinkageSpec::C, nullptr, new TypeInstType( Type::Qualifiers(), tyParam->get_name(), tyParam ), nullptr ) );223 TypeDecl * tyParam = new TypeDecl( toString( "tuple_param_", i ), DeclarationNode::StorageClasses(), nullptr, TypeDecl::Any ); 224 decl->get_members().push_back( new ObjectDecl( toString("field_", i ), DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, new TypeInstType( Type::Qualifiers(), tyParam->get_name(), tyParam ), nullptr ) ); 225 225 decl->get_parameters().push_back( tyParam ); 226 226 } 227 227 if ( tupleSize == 0 ) { 228 228 // empty structs are not standard C. Add a dummy field to empty tuples to silence warnings when a compound literal Tuple0 is created. 229 decl->get_members().push_back( new ObjectDecl( "dummy", DeclarationNode:: NoStorageClass, LinkageSpec::C, nullptr, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) );229 decl->get_members().push_back( new ObjectDecl( "dummy", DeclarationNode::StorageClasses(), LinkageSpec::C, nullptr, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), nullptr ) ); 230 230 } 231 231 typeMap[tupleSize] = decl;
Note: See TracChangeset
for help on using the changeset viewer.