Changeset 413f7f8
- Timestamp:
- Jul 7, 2015, 1:49:58 PM (10 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 82dd287
- Parents:
- e0ff3e6 (diff), 8686f31 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 10 added
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
include/bfd.h
re0ff3e6 r413f7f8 10 10 // Created On : Thu Jan 8 15:50:56 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 07:54:59201513 // Update Count : 512 // Last Modified On : Sun Jun 28 09:07:14 2015 13 // Update Count : 7 14 14 15 15 // This include file uses the CFA keyword "type" as a field name of a structure. 16 16 // The name is changed only for the include file. 17 17 18 #ifndef type // nesting ? 18 19 #define type `type` 19 #include_next <math.h> 20 #define __CFA_BFD_H__ 21 #endif // type 22 #include_next <bfd.h> 23 #ifdef __CFA_BFD_H__ 20 24 #undef type 25 #endif // __CFA_BFD_H__ 21 26 22 27 // Local Variables: // -
include/math.h
re0ff3e6 r413f7f8 10 10 // Created On : Mon Nov 10 23:41:29 2014 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 07:55:52 201513 // Update Count : 312 // Last Modified On : Sun Jun 28 09:05:22 2015 13 // Update Count : 6 14 14 15 15 // This include file uses the CFA keyword "type" as a field name of a structure. 16 16 // The name is changed only for the include file. 17 17 18 #ifndef type // nesting ? 18 19 #define type `type` 20 #define __CFA_MATH_H__ 21 #endif // type 19 22 #include_next <math.h> 23 #ifdef __CFA_MATH_H__ 20 24 #undef type 25 #endif // __CFA_MATH_H__ 21 26 22 27 // Local Variables: // -
src/CodeGen/CodeGenerator.cc
re0ff3e6 r413f7f8 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jun 24 16:11:41201513 // Update Count : 14 311 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jun 26 16:52:58 2015 13 // Update Count : 144 14 14 // 15 15 … … 269 269 270 270 case OT_CONSTANT: 271 // there are no intrinsic definitions of 0 or 1 as functions 271 case OT_LABELADDRESS: 272 // there are no intrinsic definitions of 0/1 or label addresses as functions 272 273 assert( false ); 273 274 } -
src/Common/utility.h
re0ff3e6 r413f7f8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 14:43:54201513 // Update Count : 1 312 // Last Modified On : Thu Jul 2 18:04:41 2015 13 // Update Count : 16 14 14 // 15 15 … … 86 86 } 87 87 88 static inline std::string assign_strptr( std::string *str ) {88 static inline std::string assign_strptr( const std::string *str ) { 89 89 if ( str == 0 ) { 90 90 return ""; … … 97 97 } 98 98 99 template< class T, typename ResultType, ResultType (T::* memfunc)() >99 template< class T, typename ResultType, ResultType( T::* memfunc )() > 100 100 ResultType dispatch( T *pT ) { 101 101 return (pT->*memfunc)(); -
src/ControlStruct/LabelFixer.h
re0ff3e6 r413f7f8 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Jun 23 15:47:25201513 // Update Count : 2 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 29 17:24:39 2015 13 // Update Count : 29 14 14 // 15 15 … … 94 94 } 95 95 96 void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), usage.end() ); }96 void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), other.usage.end() ); } 97 97 private: 98 98 Label label; -
src/ControlStruct/MLEMutator.cc
re0ff3e6 r413f7f8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Jun 04 15:12:33201513 // Update Count : 17 312 // Last Modified On : Sat Jun 27 10:56:14 2015 13 // Update Count : 174 14 14 // 15 15 … … 143 143 if ( enclosingLoops.empty() ) { 144 144 throw SemanticError( "'continue' outside a loop" ); 145 } else if ( std::find( enclosingLoops.begin(), enclosingLoops.end(), (*targetTable)[branchStmt->get_target()] ) == enclosingLoops.end() ) {145 } else if ( branchStmt->get_target() != "" && std::find( enclosingLoops.begin(), enclosingLoops.end(), (*targetTable)[branchStmt->get_target()] ) == enclosingLoops.end() ) { 146 146 throw SemanticError( "'continue' target label must be an enclosing loop: " + originalTarget ); 147 147 } -
src/GenPoly/Box.cc
re0ff3e6 r413f7f8 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jun 13 09:12:19201513 // Update Count : 411 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:19:07 2015 13 // Update Count : 10 14 14 // 15 15 … … 366 366 } else { 367 367 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 ); 368 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); 368 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); // TODO: is this right??? 369 369 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 370 370 UntypedExpr *assign = new UntypedExpr( new NameExpr( "?=?" ) ); -
src/MakeLibCfa.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 10:33:33 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 10:40:44201513 // Update Count : 1 312 // Last Modified On : Fri Jun 26 16:52:59 2015 13 // Update Count : 14 14 14 // 15 15 … … 78 78 } 79 79 case CodeGen::OT_CONSTANT: 80 case CodeGen::OT_LABELADDRESS: 81 // there are no intrinsic definitions of 0/1 or label addresses as functions 80 82 assert( false ); 81 83 } // switch -
src/Parser/DeclarationNode.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 24 15:29:19201513 // Update Count : 8612 // Last Modified On : Fri Jul 3 12:35:02 2015 13 // Update Count : 108 14 14 // 15 15 … … 173 173 } 174 174 175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, const std::string *name, ExpressionNode *actuals, DeclarationNode *fields ) { 176 176 DeclarationNode *newnode = new DeclarationNode; 177 177 newnode->type = new TypeData( TypeData::Aggregate ); 178 178 newnode->type->aggregate->kind = kind; 179 179 newnode->type->aggregate->name = assign_strptr( name ); 180 if ( newnode->type->aggregate->name == "" ) { 180 if ( newnode->type->aggregate->name == "" ) { // anonymous aggregate ? 181 181 newnode->type->aggregate->name = DeclarationNode::anonymous.newName(); 182 } // if 183 184 // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by 185 // "struct" 186 typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD ); 187 DeclarationNode *typedf = new DeclarationNode; 188 typedf->name = newnode->type->aggregate->name; 189 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 190 191 newnode->type->aggregate->params = formals; 182 } else { 183 // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified 184 // by "struct" 185 typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD ); 186 DeclarationNode *typedf = new DeclarationNode; 187 typedf->name = newnode->type->aggregate->name; 188 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 189 } // if 192 190 newnode->type->aggregate->actuals = actuals; 193 newnode->type->aggregate-> members = fields;191 newnode->type->aggregate->fields = fields; 194 192 return newnode; 195 193 } … … 200 198 newnode->type = new TypeData( TypeData::Enum ); 201 199 newnode->type->enumeration->name = newnode->name; 202 if ( newnode->type->enumeration->name == "" ) { 200 if ( newnode->type->enumeration->name == "" ) { // anonymous enumeration ? 203 201 newnode->type->enumeration->name = DeclarationNode::anonymous.newName(); 204 } // if 205 206 // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified 207 // by "enum" 208 typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD ); 209 DeclarationNode *typedf = new DeclarationNode; 210 typedf->name = newnode->type->enumeration->name; 211 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 212 202 } else { 203 // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be 204 // qualified by "enum" 205 typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD ); 206 DeclarationNode *typedf = new DeclarationNode; 207 typedf->name = newnode->type->enumeration->name; 208 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 209 } // if 213 210 newnode->type->enumeration->constants = constants; 214 211 return newnode; … … 251 248 newnode->type->aggregate->kind = Context; 252 249 newnode->type->aggregate->params = params; 253 newnode->type->aggregate-> members = asserts;250 newnode->type->aggregate->fields = asserts; 254 251 newnode->type->aggregate->name = assign_strptr( name ); 255 252 return newnode; … … 371 368 if ( type->kind == TypeData::Aggregate ) { 372 369 type->aggregate->params = q->type->forall; 370 // change implicit typedef from TYPEDEFname to TYPEGENname 371 typedefTable.changeKind( type->aggregate->name, TypedefTable::TG ); 373 372 } else { 374 373 type->forall = q->type->forall; … … 407 406 src = 0; 408 407 break; 409 410 408 case TypeData::Basic: 411 409 dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers ); … … 416 414 } // if 417 415 break; 418 419 416 default: 420 417 switch ( src->kind ) { … … 429 426 src = 0; 430 427 break; 431 432 428 default: 433 429 if ( dst->forall ) { … … 684 680 } else { 685 681 assert( newnode->type->aggInst->aggregate->kind == TypeData::Aggregate ); 686 delete newnode->type->aggInst->aggregate->aggregate-> members;687 newnode->type->aggInst->aggregate->aggregate-> members = 0;682 delete newnode->type->aggInst->aggregate->aggregate->fields; 683 newnode->type->aggInst->aggregate->aggregate->fields = 0; 688 684 } // if 689 685 } // if … … 710 706 } else { 711 707 assert( newType->aggInst->aggregate->kind == TypeData::Aggregate ); 712 delete newType->aggInst->aggregate->aggregate-> members;713 newType->aggInst->aggregate->aggregate-> members = 0;708 delete newType->aggInst->aggregate->aggregate->fields; 709 newType->aggInst->aggregate->aggregate->fields = 0; 714 710 } // if 715 711 } // if -
src/Parser/ParseNode.h
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 24 14:09:51201513 // Update Count : 8 112 // Last Modified On : Thu Jul 2 17:57:05 2015 13 // Update Count : 84 14 14 // 15 15 … … 287 287 static DeclarationNode *newForall( DeclarationNode *); 288 288 static DeclarationNode *newFromTypedef( std::string *); 289 static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );289 static DeclarationNode *newAggregate( Aggregate kind, const std::string *name, ExpressionNode *actuals, DeclarationNode *fields ); 290 290 static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants ); 291 291 static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant ); -
src/Parser/TypeData.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 18 22:06:23201513 // Update Count : 2 112 // Last Modified On : Fri Jun 26 07:30:06 2015 13 // Update Count : 26 14 14 // 15 15 … … 53 53 aggregate->params = 0; 54 54 aggregate->actuals = 0; 55 aggregate-> members = 0;55 aggregate->fields = 0; 56 56 break; 57 57 case AggregateInst: … … 119 119 delete aggregate->params; 120 120 delete aggregate->actuals; 121 delete aggregate-> members;121 delete aggregate->fields; 122 122 delete aggregate; 123 123 break; … … 190 190 newtype->aggregate->params = maybeClone( aggregate->params ); 191 191 newtype->aggregate->actuals = maybeClone( aggregate->actuals ); 192 newtype->aggregate-> members = maybeClone( aggregate->members );192 newtype->aggregate->fields = maybeClone( aggregate->fields ); 193 193 newtype->aggregate->name = aggregate->name; 194 194 newtype->aggregate->kind = aggregate->kind; … … 237 237 if ( forall ) { 238 238 os << "forall " << endl; 239 forall->printList( os, indent +4 );239 forall->printList( os, indent + 4 ); 240 240 } // if 241 241 … … 277 277 os << "function" << endl; 278 278 if ( function->params ) { 279 os << string( indent +2, ' ' ) << "with parameters " << endl;280 function->params->printList( os, indent +4 );279 os << string( indent + 2, ' ' ) << "with parameters " << endl; 280 function->params->printList( os, indent + 4 ); 281 281 } else { 282 os << string( indent +2, ' ' ) << "with no parameters " << endl;282 os << string( indent + 2, ' ' ) << "with no parameters " << endl; 283 283 } // if 284 284 if ( function->idList ) { 285 os << string( indent +2, ' ' ) << "with old-style identifier list " << endl;286 function->idList->printList( os, indent +4 );285 os << string( indent + 2, ' ' ) << "with old-style identifier list " << endl; 286 function->idList->printList( os, indent + 4 ); 287 287 } // if 288 288 if ( function->oldDeclList ) { 289 os << string( indent +2, ' ' ) << "with old-style declaration list " << endl;290 function->oldDeclList->printList( os, indent +4 );291 } // if 292 os << string( indent +2, ' ' ) << "returning ";289 os << string( indent + 2, ' ' ) << "with old-style declaration list " << endl; 290 function->oldDeclList->printList( os, indent + 4 ); 291 } // if 292 os << string( indent + 2, ' ' ) << "returning "; 293 293 if ( base ) { 294 base->print( os, indent +4 );294 base->print( os, indent + 4 ); 295 295 } else { 296 296 os << "nothing "; … … 298 298 os << endl; 299 299 if ( function->hasBody ) { 300 os << string( indent +2, ' ' ) << "with body " << endl;300 os << string( indent + 2, ' ' ) << "with body " << endl; 301 301 } // if 302 302 if ( function->body ) { 303 function->body->printList( os, indent +2 );303 function->body->printList( os, indent + 2 ); 304 304 } // if 305 305 break; … … 307 307 os << DeclarationNode::aggregateName[ aggregate->kind ] << ' ' << aggregate->name << endl; 308 308 if ( aggregate->params ) { 309 os << string( indent +2, ' ' ) << "with type parameters " << endl;310 aggregate->params->printList( os, indent +4 );309 os << string( indent + 2, ' ' ) << "with type parameters " << endl; 310 aggregate->params->printList( os, indent + 4 ); 311 311 } // if 312 312 if ( aggregate->actuals ) { 313 os << string( indent +2, ' ' ) << "instantiated with actual parameters " << endl;314 aggregate->actuals->printList( os, indent +4 );315 } // if 316 if ( aggregate-> members ) {317 os << string( indent +2, ' ' ) << "with members " << endl;318 aggregate-> members->printList( os, indent+4 );313 os << string( indent + 2, ' ' ) << "instantiated with actual parameters " << endl; 314 aggregate->actuals->printList( os, indent + 4 ); 315 } // if 316 if ( aggregate->fields ) { 317 os << string( indent + 2, ' ' ) << "with members " << endl; 318 aggregate->fields->printList( os, indent + 4 ); 319 319 /// } else { 320 /// os << string( indent +2, ' ' ) << "with no members " << endl;320 /// os << string( indent + 2, ' ' ) << "with no members " << endl; 321 321 } // if 322 322 break; … … 329 329 } // if 330 330 if ( aggInst->params ) { 331 os << string( indent +2, ' ' ) << "with parameters " << endl;332 aggInst->params->printList( os, indent +2 );331 os << string( indent + 2, ' ' ) << "with parameters " << endl; 332 aggInst->params->printList( os, indent + 2 ); 333 333 } // if 334 334 break; … … 337 337 if ( enumeration->constants ) { 338 338 os << "with constants" << endl; 339 enumeration->constants->printList( os, indent +2 );339 enumeration->constants->printList( os, indent + 2 ); 340 340 } // if 341 341 break; … … 354 354 } // if 355 355 if ( symbolic->params ) { 356 os << endl << string( indent +2, ' ' ) << "with parameters" << endl;356 os << endl << string( indent + 2, ' ' ) << "with parameters" << endl; 357 357 symbolic->params->printList( os, indent + 2 ); 358 358 } // if 359 359 if ( symbolic->assertions ) { 360 os << endl << string( indent +2, ' ' ) << "with assertions" << endl;360 os << endl << string( indent + 2, ' ' ) << "with assertions" << endl; 361 361 symbolic->assertions->printList( os, indent + 4 ); 362 os << string( indent +2, ' ' );362 os << string( indent + 2, ' ' ); 363 363 } // if 364 364 if ( base ) { … … 370 370 os << DeclarationNode::typeClassName[ variable->tyClass ] << " variable "; 371 371 if ( variable->assertions ) { 372 os << endl << string( indent +2, ' ' ) << "with assertions" << endl;372 os << endl << string( indent + 2, ' ' ) << "with assertions" << endl; 373 373 variable->assertions->printList( os, indent + 4 ); 374 os << string( indent +2, ' ' );374 os << string( indent + 2, ' ' ); 375 375 } // if 376 376 break; … … 405 405 switch ( kind ) { 406 406 case Aggregate: 407 if ( ! toplevel && aggregate-> members ) {407 if ( ! toplevel && aggregate->fields ) { 408 408 ret = clone(); 409 409 ret->qualifiers.clear(); … … 515 515 assert( false ); 516 516 } // switch 517 518 517 return 0; 519 518 } … … 815 814 } // switch 816 815 buildList( aggregate->params, at->get_parameters() ); 817 buildList( aggregate-> members, at->get_members() );816 buildList( aggregate->fields, at->get_members() ); 818 817 819 818 return at; -
src/Parser/TypeData.h
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 18 21:03:18201513 // Update Count : 712 // Last Modified On : Fri Jun 26 23:39:03 2015 13 // Update Count : 16 14 14 // 15 15 … … 47 47 std::string name; 48 48 DeclarationNode *params; 49 ExpressionNode *actuals; // holds actual parameters later applied to AggInst50 DeclarationNode * members;49 ExpressionNode *actuals; // holds actual parameters later applied to AggInst 50 DeclarationNode *fields; 51 51 }; 52 52 … … 78 78 struct Symbolic_t { 79 79 std::string name; 80 bool isTypedef; 80 bool isTypedef; // false => TYPEGENname, true => TYPEDEFname 81 81 DeclarationNode *params; 82 82 ExpressionNode *actuals; -
src/Parser/TypedefTable.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 15:20:13 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 21 11:46:15201513 // Update Count : 712 // Last Modified On : Fri Jun 26 07:30:16 2015 13 // Update Count : 19 14 14 // 15 15 … … 22 22 #if 0 23 23 #include <iostream> 24 #define debugPrint( x ) cerr << x24 #define debugPrint( x ) cerr << x 25 25 #else 26 26 #define debugPrint( x ) … … 28 28 29 29 TypedefTable::TypedefTable() : currentScope( 0 ) {} 30 31 void TypedefTable::changeKind( const string &identifier, kind_t kind ) { 32 tableType::iterator id_pos = table.find( identifier ); 33 if ( id_pos == table.end() ) { 34 return; 35 } else { 36 (*((*id_pos ).second.begin())).kind = kind; 37 return; 38 } // if 39 } 30 40 31 41 bool TypedefTable::isKind( const string &identifier, kind_t kind ) const { … … 55 65 contexts[currentContext].push_back( entry ); 56 66 } else { 57 debugPrint( "Adding " << identifier << " as type" << kind << " scope " << scope << " from scope " << currentScope << endl );67 debugPrint( "Adding " << identifier << " as kind " << kind << " scope " << scope << " from scope " << currentScope << endl ); 58 68 Entry newEntry = { scope, kind }; 59 69 tableType::iterator curPos = table.find( identifier ); … … 122 132 debugPrint( "Leaving scope " << currentScope << endl ); 123 133 for ( tableType::iterator i = table.begin(); i != table.end(); ) { 124 list<Entry> &declList = (*i 134 list<Entry> &declList = (*i).second; 125 135 while ( ! declList.empty() && declList.front().scope == currentScope ) { 126 136 declList.pop_front(); 127 137 } 128 if ( declList.empty() ) { // standard idom for erasing during traversal138 if ( declList.empty() ) { // standard idom for erasing during traversal 129 139 table.erase( i++ ); 130 } else ++i; 140 } else 141 ++i; 131 142 } // for 132 143 currentScope -= 1; 133 for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++ ) {144 for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++ ) { 134 145 addToCurrentScope( i->identifier, i->kind ); 135 146 } // for … … 151 162 for ( tableType::const_iterator i = table.begin(); i != table.end(); i++) { 152 163 debugPrint( (*i ).first << ": " ); 153 list<Entry> declList = (*i 164 list<Entry> declList = (*i).second; 154 165 for ( list<Entry>::const_iterator j = declList.begin(); j != declList.end(); j++ ) { 155 debugPrint( "(" << (*j 166 debugPrint( "(" << (*j).scope << " " << (*j).kind << ") " ); 156 167 } 157 168 debugPrint( endl ); -
src/Parser/TypedefTable.h
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 15:24:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 18 21:03:17201513 // Update Count : 712 // Last Modified On : Thu Jun 25 22:52:15 2015 13 // Update Count : 11 14 14 // 15 15 … … 57 57 bool isTypedef( const std::string &identifier ) const; 58 58 bool isTypegen( const std::string &identifier ) const; 59 60 void changeKind( const std::string &identifier, kind_t kind ); 59 61 60 62 // "addToCurrentScope" adds the identifier/type pair to the current scope. This does less than you think it does, 61 63 // since each declaration is within its own scope. Mostly useful for type parameters. 62 64 void addToCurrentScope( const std::string &identifier, kind_t kind ); 63 void addToCurrentScope( kind_t kind ); // use nextIdentifiers.top()65 void addToCurrentScope( kind_t kind ); // use nextIdentifiers.top() 64 66 65 67 // "addToEnclosingScope" adds the identifier/type pair to the scope that encloses the current one. This is the -
src/Parser/parser.cc
re0ff3e6 r413f7f8 568 568 569 569 /* YYFINAL -- State number of the termination state. */ 570 #define YYFINAL 24 0570 #define YYFINAL 246 571 571 /* YYLAST -- Last index in YYTABLE. */ 572 #define YYLAST 1 2266572 #define YYLAST 11363 573 573 574 574 /* YYNTOKENS -- Number of terminals. */ 575 575 #define YYNTOKENS 125 576 576 /* YYNNTS -- Number of nonterminals. */ 577 #define YYNNTS 23 5577 #define YYNNTS 236 578 578 /* YYNRULES -- Number of rules. */ 579 #define YYNRULES 73 5579 #define YYNRULES 732 580 580 /* YYNRULES -- Number of states. */ 581 #define YYNSTATES 15 55581 #define YYNSTATES 1505 582 582 583 583 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ … … 644 644 270, 274, 278, 282, 286, 288, 292, 296, 298, 302, 645 645 304, 308, 310, 314, 316, 320, 322, 326, 328, 334, 646 339, 345, 347, 349, 353, 357, 360, 361, 363, 36 8,647 37 4, 381, 389, 391, 395, 397, 399, 401, 403, 405,648 40 7, 409, 411, 413, 415, 417, 421, 422, 424, 426,649 42 8, 430, 432, 434, 436, 438, 440, 445, 448, 456,650 45 8, 462, 464, 467, 469, 472, 474, 477, 480, 486,651 49 4, 500, 510, 516, 526, 528, 532, 534, 536, 540,652 54 4, 547, 549, 552, 555, 556, 558, 561, 565, 566,653 56 8, 571, 575, 579, 584, 585, 587, 589, 592, 598,654 60 6, 613, 620, 625, 629, 634, 637, 641, 644, 648,655 65 2, 656, 659, 663, 667, 672, 674, 680, 687, 697,656 70 8, 711, 713, 716, 719, 722, 724, 731, 740, 751,657 76 4, 765, 767, 769, 773, 778, 780, 784, 786, 788,658 7 90, 794, 796, 798, 800, 804, 805, 807, 811, 816,659 81 8, 822, 824, 826, 830, 834, 838, 842, 846, 849,660 85 3, 860, 864, 868, 873, 875, 878, 881, 885, 891,661 902, 913, 921, 929, 935, 945, 948, 951, 957, 961,662 9 67, 972, 976, 981, 986, 994, 998, 1002, 1006, 1010,663 10 15, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038,664 10 39, 1041, 1043, 1046, 1048, 1050, 1052, 1054, 1056, 1058,665 10 60, 1061, 1067, 1069, 1072, 1076, 1078, 1081, 1083, 1085,666 10 87, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105,667 1 107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125,668 11 28, 1131, 1135, 1139, 1141, 1145, 1147, 1150, 1153, 1156,669 11 61, 1166, 1171, 1176, 1178, 1181, 1184, 1188, 1190, 1193,670 11 96, 1198, 1201, 1204, 1208, 1210, 1213, 1216, 1218, 1220,671 12 25, 1228, 1234, 1244, 1252, 1263, 1276, 1282, 1290, 1304,672 1 307, 1310, 1312, 1315, 1318, 1322, 1325, 1329, 1331, 1334,673 1 338, 1341, 1344, 1349, 1350, 1352, 1355, 1358, 1360, 1361,674 13 63, 1366, 1369, 1375, 1382, 1385, 1388, 1393, 1394, 1397,675 13 98, 1400, 1402, 1404, 1410, 1416, 1422, 1424, 1430, 1436,676 1 446, 1448, 1454, 1455, 1457, 1459, 1465, 1467, 1469, 1475,677 14 81, 1483, 1487, 1491, 1496, 1498, 1500, 1502, 1504, 1507,678 1 509, 1513, 1517, 1519, 1522, 1524, 1528, 1530, 1532, 1534,679 1 536, 1538, 1540, 1542, 1544, 1546, 1548, 1551, 1553, 1555,680 1 557, 1560, 1561, 1564, 1566, 1571, 1573, 1576, 1580, 1585,681 15 88, 1591, 1593, 1596, 1599, 1605, 1611, 1619, 1626, 1628,682 1 631, 1634, 1638, 1643, 1649, 1652, 1655, 1660, 1661, 1666,683 16 69, 1671, 1673, 1675, 1676, 1679, 1685, 1691, 1705, 1707,684 1 709, 1713, 1717, 1720, 1724, 1728, 1731, 1736, 1738, 1745,685 17 55, 1756, 1768, 1770, 1774, 1778, 1782, 1784, 1786, 1792,686 17 95, 1801, 1802, 1804, 1806, 1810, 1811, 1813, 1815, 1817,687 1 819, 1820, 1827, 1830, 1832, 1835, 1840, 1843, 1847, 1851,688 18 55, 1860, 1866, 1872, 1878, 1885, 1887, 1889, 1891, 1895,689 18 96, 1902, 1903, 1905, 1907, 1910, 1917, 1919, 1923, 1924,690 1 926, 1931, 1933, 1935, 1937, 1939, 1942, 1944, 1947, 1950,691 1 952, 1956, 1959, 1963, 1967, 1970, 1975, 1980, 1984, 1993,692 19 97, 2000, 2002, 2005, 2012, 2021, 2025, 2028, 2032, 2036,693 2041, 2046, 2050, 2052, 2054, 2056, 2061, 2068, 2072, 2075,694 20 79, 2083, 2088, 2093, 2097, 2100, 2102, 2105, 2108, 2110,695 2 114, 2117, 2121, 2125, 2128, 2133, 2138, 2142, 2149, 2158,696 21 62, 2165, 2167, 2170, 2173, 2176, 2180, 2184, 2187, 2192,697 21 97, 2201, 2208, 2217, 2221, 2224, 2226, 2229, 2232, 2234,698 2 237, 2241, 2245, 2248, 2253, 2260, 2269, 2271, 2274, 2277,699 22 79, 2282, 2285, 2289, 2293, 2295, 2300, 2305, 2309, 2315,700 2 324, 2328, 2333, 2339, 2341, 2347, 2353, 2360, 2367, 2369,701 23 72, 2375, 2377, 2380, 2383, 2387, 2391, 2393, 2398, 2403,702 2 407, 2413, 2422, 2426, 2428, 2431, 2433, 2438, 2445, 2451,703 2 458, 2466, 2474, 2476, 2479, 2482, 2484, 2487, 2490, 2494,704 24 98, 2500, 2505, 2510, 2514, 2523, 2527, 2529, 2531, 2534,705 2 536, 2538, 2541, 2545, 2548, 2552, 2555, 2559, 2565, 2568,706 25 75, 2579, 2582, 2588, 2591, 2598, 2602, 2605, 2612, 2619,707 2 626, 2634, 2636, 2639, 2641, 2643, 2645, 2648, 2652, 2655,708 2 659, 2662, 2666, 2672, 2679, 2682, 2688, 2695, 2698, 2704,709 2 712, 2719, 2726, 2727, 2729, 2730646 339, 345, 347, 349, 353, 357, 360, 361, 363, 366, 647 372, 379, 387, 389, 393, 395, 397, 399, 401, 403, 648 405, 407, 409, 411, 413, 415, 419, 420, 422, 424, 649 426, 428, 430, 432, 434, 436, 438, 443, 446, 454, 650 456, 460, 462, 465, 467, 470, 472, 475, 478, 484, 651 492, 498, 508, 514, 524, 526, 530, 532, 534, 538, 652 542, 545, 547, 550, 553, 554, 556, 559, 563, 564, 653 566, 569, 573, 577, 582, 583, 585, 587, 590, 596, 654 604, 611, 618, 623, 627, 632, 635, 639, 642, 646, 655 650, 654, 657, 661, 665, 670, 672, 678, 685, 695, 656 706, 709, 711, 714, 717, 720, 722, 729, 738, 749, 657 762, 763, 765, 767, 771, 776, 778, 782, 784, 786, 658 788, 792, 794, 796, 798, 802, 803, 805, 809, 814, 659 816, 820, 822, 824, 828, 832, 836, 840, 844, 847, 660 851, 858, 862, 866, 871, 873, 876, 879, 883, 889, 661 898, 906, 914, 920, 930, 933, 936, 942, 946, 952, 662 957, 961, 966, 971, 979, 983, 987, 991, 995, 1000, 663 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1024, 664 1026, 1028, 1031, 1033, 1035, 1037, 1039, 1041, 1043, 1045, 665 1046, 1052, 1054, 1057, 1061, 1063, 1066, 1068, 1070, 1072, 666 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 667 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1113, 668 1116, 1120, 1124, 1126, 1130, 1132, 1135, 1138, 1141, 1146, 669 1151, 1156, 1161, 1163, 1166, 1169, 1173, 1175, 1178, 1181, 670 1183, 1186, 1189, 1193, 1195, 1198, 1201, 1203, 1205, 1210, 671 1213, 1219, 1227, 1230, 1233, 1236, 1238, 1241, 1244, 1248, 672 1251, 1255, 1257, 1260, 1264, 1267, 1270, 1275, 1276, 1278, 673 1281, 1284, 1286, 1287, 1289, 1292, 1295, 1301, 1308, 1311, 674 1314, 1319, 1320, 1323, 1324, 1326, 1328, 1330, 1336, 1342, 675 1348, 1350, 1356, 1362, 1372, 1374, 1380, 1381, 1383, 1385, 676 1391, 1393, 1395, 1401, 1407, 1409, 1413, 1417, 1422, 1424, 677 1426, 1428, 1430, 1433, 1435, 1439, 1443, 1445, 1448, 1450, 678 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 679 1474, 1476, 1479, 1481, 1483, 1485, 1488, 1489, 1492, 1494, 680 1499, 1501, 1504, 1508, 1513, 1516, 1519, 1521, 1524, 1527, 681 1533, 1539, 1547, 1554, 1556, 1559, 1562, 1566, 1568, 1571, 682 1574, 1579, 1582, 1587, 1588, 1593, 1596, 1598, 1600, 1602, 683 1603, 1606, 1612, 1618, 1632, 1634, 1636, 1640, 1644, 1647, 684 1651, 1655, 1658, 1663, 1665, 1672, 1682, 1683, 1695, 1697, 685 1701, 1705, 1709, 1711, 1713, 1719, 1722, 1728, 1729, 1731, 686 1733, 1737, 1738, 1740, 1742, 1744, 1746, 1747, 1754, 1757, 687 1759, 1762, 1767, 1770, 1774, 1778, 1782, 1787, 1793, 1799, 688 1805, 1812, 1814, 1816, 1818, 1822, 1823, 1829, 1830, 1832, 689 1834, 1837, 1844, 1846, 1850, 1851, 1853, 1858, 1860, 1862, 690 1864, 1866, 1869, 1871, 1874, 1877, 1879, 1883, 1886, 1890, 691 1894, 1897, 1902, 1907, 1911, 1920, 1924, 1927, 1929, 1932, 692 1939, 1948, 1952, 1955, 1959, 1963, 1968, 1973, 1977, 1979, 693 1981, 1983, 1988, 1995, 1999, 2002, 2006, 2010, 2015, 2020, 694 2024, 2027, 2029, 2032, 2035, 2037, 2041, 2044, 2048, 2052, 695 2055, 2060, 2065, 2069, 2076, 2085, 2089, 2092, 2094, 2097, 696 2100, 2103, 2107, 2111, 2114, 2119, 2124, 2128, 2135, 2144, 697 2148, 2151, 2153, 2156, 2159, 2161, 2163, 2166, 2170, 2174, 698 2177, 2182, 2189, 2198, 2200, 2203, 2206, 2208, 2211, 2214, 699 2218, 2222, 2224, 2229, 2234, 2238, 2244, 2253, 2257, 2260, 700 2264, 2266, 2272, 2278, 2285, 2292, 2294, 2297, 2300, 2302, 701 2305, 2308, 2312, 2316, 2318, 2323, 2328, 2332, 2338, 2347, 702 2351, 2353, 2356, 2358, 2361, 2368, 2374, 2381, 2389, 2397, 703 2399, 2402, 2405, 2407, 2410, 2413, 2417, 2421, 2423, 2428, 704 2433, 2437, 2446, 2450, 2452, 2454, 2457, 2459, 2461, 2464, 705 2468, 2471, 2475, 2478, 2482, 2486, 2489, 2494, 2498, 2501, 706 2505, 2508, 2513, 2517, 2520, 2527, 2534, 2541, 2549, 2551, 707 2554, 2556, 2558, 2560, 2563, 2567, 2570, 2574, 2577, 2581, 708 2585, 2590, 2593, 2597, 2602, 2605, 2611, 2617, 2624, 2631, 709 2632, 2634, 2635 710 710 }; 711 711 … … 713 713 static const yytype_int16 yyrhs[] = 714 714 { 715 28 8, 0, -1, -1, -1, 72, -1, 73, -1, 74,715 289, 0, -1, -1, -1, 72, -1, 73, -1, 74, 716 716 -1, 65, -1, 69, -1, 132, -1, 65, -1, 69, 717 717 -1, 65, -1, 76, -1, 77, -1, 75, -1, 133, … … 722 722 138, 127, 104, -1, 135, 78, 131, -1, 135, 78, 723 723 103, 126, 138, 127, 104, -1, 135, 79, -1, 135, 724 80, -1, 101, 262, 102, 106, 266, 35 8, 107, -1,724 80, -1, 101, 262, 102, 106, 266, 359, 107, -1, 725 725 137, -1, 136, 108, 137, -1, -1, 155, -1, 131, 726 726 109, 155, -1, 103, 126, 155, 127, 104, 109, 155, … … 748 748 160, 109, 153, -1, 152, 122, 109, 153, -1, 152, 749 749 122, 160, 109, 157, -1, 153, -1, 153, -1, 140, 750 123, 155, -1, 140, 159, 155, -1, 157, 359, -1, 751 -1, 155, -1, 103, 126, 127, 104, -1, 103, 126, 752 155, 127, 104, -1, 103, 126, 108, 158, 127, 104, 753 -1, 103, 126, 155, 108, 158, 127, 104, -1, 156, 754 -1, 158, 108, 156, -1, 90, -1, 91, -1, 92, 755 -1, 93, -1, 94, -1, 95, -1, 96, -1, 97, 756 -1, 98, -1, 99, -1, 155, -1, 160, 108, 155, 757 -1, -1, 160, -1, 163, -1, 164, -1, 168, -1, 758 169, -1, 181, -1, 183, -1, 184, -1, 189, -1, 759 131, 109, 298, 162, -1, 106, 107, -1, 106, 126, 760 126, 198, 165, 127, 107, -1, 166, -1, 165, 126, 761 166, -1, 201, -1, 38, 201, -1, 294, -1, 162, 762 127, -1, 162, -1, 167, 162, -1, 161, 124, -1, 763 39, 101, 160, 102, 162, -1, 39, 101, 160, 102, 764 162, 40, 162, -1, 41, 101, 160, 102, 174, -1, 765 41, 101, 160, 102, 106, 126, 194, 175, 107, -1, 766 51, 101, 160, 102, 174, -1, 51, 101, 160, 102, 767 106, 126, 194, 177, 107, -1, 154, -1, 154, 89, 768 154, -1, 296, -1, 170, -1, 171, 108, 170, -1, 769 42, 171, 109, -1, 43, 109, -1, 172, -1, 173, 770 172, -1, 173, 162, -1, -1, 176, -1, 173, 167, 771 -1, 176, 173, 167, -1, -1, 178, -1, 173, 180, 772 -1, 173, 167, 179, -1, 178, 173, 180, -1, 178, 773 173, 167, 179, -1, -1, 180, -1, 52, -1, 52, 774 124, -1, 45, 101, 160, 102, 162, -1, 44, 162, 775 45, 101, 160, 102, 124, -1, 46, 101, 126, 182, 776 102, 162, -1, 161, 127, 124, 161, 124, 161, -1, 777 201, 161, 124, 161, -1, 49, 131, 124, -1, 49, 778 111, 160, 124, -1, 48, 124, -1, 48, 131, 124, 779 -1, 47, 124, -1, 47, 131, 124, -1, 50, 161, 780 124, -1, 56, 155, 124, -1, 56, 124, -1, 53, 781 164, 185, -1, 53, 164, 187, -1, 53, 164, 185, 782 187, -1, 186, -1, 54, 101, 89, 102, 164, -1, 783 186, 54, 101, 89, 102, 164, -1, 54, 101, 126, 784 126, 188, 127, 102, 164, 127, -1, 186, 54, 101, 785 126, 126, 188, 127, 102, 164, 127, -1, 55, 164, 786 -1, 214, -1, 214, 295, -1, 214, 343, -1, 352, 787 131, -1, 352, -1, 57, 215, 101, 154, 102, 124, 788 -1, 57, 215, 101, 154, 109, 190, 102, 124, -1, 789 57, 215, 101, 154, 109, 190, 109, 190, 102, 124, 790 -1, 57, 215, 101, 154, 109, 190, 109, 190, 109, 791 193, 102, 124, -1, -1, 191, -1, 192, -1, 191, 792 108, 192, -1, 75, 101, 154, 102, -1, 75, -1, 793 193, 108, 75, -1, 127, -1, 195, -1, 201, -1, 794 195, 126, 201, -1, 127, -1, 197, -1, 211, -1, 795 197, 126, 211, -1, -1, 199, -1, 28, 200, 124, 796 -1, 199, 28, 200, 124, -1, 261, -1, 200, 108, 797 261, -1, 202, -1, 211, -1, 203, 127, 124, -1, 798 208, 127, 124, -1, 205, 127, 124, -1, 279, 127, 799 124, -1, 282, 127, 124, -1, 204, 264, -1, 220, 800 204, 264, -1, 203, 127, 108, 126, 259, 264, -1, 801 353, 259, 297, -1, 356, 259, 297, -1, 216, 356, 802 259, 297, -1, 206, -1, 216, 206, -1, 220, 206, 803 -1, 220, 216, 206, -1, 205, 127, 108, 126, 259, 804 -1, 103, 126, 127, 104, 129, 101, 126, 247, 127, 805 102, -1, 103, 126, 127, 104, 67, 101, 126, 247, 806 127, 102, -1, 356, 259, 101, 126, 247, 127, 102, 807 -1, 207, 259, 101, 126, 247, 127, 102, -1, 103, 808 126, 249, 127, 104, -1, 103, 126, 249, 127, 108, 809 126, 250, 127, 104, -1, 3, 204, -1, 3, 206, 810 -1, 208, 127, 108, 126, 131, -1, 3, 214, 295, 811 -1, 209, 127, 108, 126, 295, -1, 216, 3, 214, 812 295, -1, 214, 3, 295, -1, 214, 3, 216, 295, 813 -1, 3, 131, 123, 155, -1, 210, 127, 108, 126, 814 131, 123, 155, -1, 212, 127, 124, -1, 209, 127, 815 124, -1, 210, 127, 124, -1, 229, 127, 124, -1, 816 213, 295, 297, 264, -1, 212, 108, 298, 295, 297, 817 264, -1, 225, -1, 229, -1, 231, -1, 270, -1, 818 226, -1, 230, -1, 232, -1, 271, -1, -1, 216, 819 -1, 217, -1, 216, 217, -1, 218, -1, 300, -1, 820 10, -1, 12, -1, 11, -1, 14, -1, 60, -1, 821 -1, 13, 101, 219, 272, 102, -1, 221, -1, 216, 822 221, -1, 220, 216, 221, -1, 222, -1, 221, 222, 823 -1, 223, -1, 5, -1, 7, -1, 4, -1, 6, 824 -1, 8, -1, 9, -1, 62, -1, 64, -1, 16, 825 -1, 21, -1, 20, -1, 18, -1, 19, -1, 17, 826 -1, 22, -1, 23, -1, 15, -1, 24, -1, 25, 827 -1, 26, -1, 226, -1, 220, 226, -1, 225, 222, 828 -1, 225, 222, 216, -1, 225, 222, 226, -1, 227, 829 -1, 215, 228, 215, -1, 224, -1, 216, 224, -1, 830 227, 217, -1, 227, 224, -1, 27, 101, 263, 102, 831 -1, 27, 101, 160, 102, -1, 71, 101, 263, 102, 832 -1, 71, 101, 160, 102, -1, 230, -1, 220, 230, 833 -1, 229, 222, -1, 229, 222, 216, -1, 233, -1, 834 216, 233, -1, 230, 217, -1, 232, -1, 220, 232, 835 -1, 231, 222, -1, 231, 222, 216, -1, 67, -1, 836 216, 67, -1, 232, 217, -1, 234, -1, 244, -1, 837 235, 106, 236, 107, -1, 235, 261, -1, 235, 261, 838 106, 236, 107, -1, 235, 101, 126, 272, 127, 102, 839 106, 236, 107, -1, 235, 101, 126, 272, 127, 102, 840 261, -1, 235, 101, 126, 272, 127, 102, 261, 106, 841 236, 107, -1, 235, 101, 126, 272, 127, 102, 101, 842 278, 102, 106, 236, 107, -1, 235, 68, 101, 278, 843 102, -1, 235, 101, 126, 278, 127, 102, 261, -1, 844 235, 101, 126, 272, 127, 102, 101, 278, 102, 261, 845 106, 236, 107, -1, 30, 298, -1, 31, 298, -1, 846 237, -1, 236, 237, -1, 238, 124, -1, 38, 238, 847 124, -1, 239, 124, -1, 38, 239, 124, -1, 352, 848 -1, 352, 261, -1, 238, 108, 261, -1, 238, 108, 849 -1, 214, 240, -1, 239, 108, 298, 240, -1, -1, 850 242, -1, 304, 241, -1, 317, 241, -1, 343, -1, 851 -1, 242, -1, 109, 154, -1, 29, 298, -1, 243, 852 106, 245, 358, 107, -1, 243, 261, 106, 245, 358, 853 107, -1, 243, 261, -1, 261, 246, -1, 245, 108, 854 261, 246, -1, -1, 123, 154, -1, -1, 248, -1, 855 250, -1, 249, -1, 249, 127, 108, 126, 250, -1, 856 250, 127, 108, 126, 89, -1, 249, 127, 108, 126, 857 89, -1, 254, -1, 250, 127, 108, 126, 254, -1, 858 249, 127, 108, 126, 254, -1, 249, 127, 108, 126, 859 250, 127, 108, 126, 254, -1, 255, -1, 250, 127, 860 108, 126, 255, -1, -1, 252, -1, 253, -1, 253, 861 127, 108, 126, 89, -1, 257, -1, 256, -1, 253, 862 127, 108, 126, 257, -1, 253, 127, 108, 126, 256, 863 -1, 256, -1, 348, 259, 359, -1, 356, 259, 359, 864 -1, 216, 356, 259, 359, -1, 206, -1, 257, -1, 865 348, -1, 356, -1, 216, 356, -1, 357, -1, 213, 866 322, 359, -1, 213, 326, 359, -1, 213, -1, 213, 867 337, -1, 131, -1, 258, 108, 131, -1, 129, -1, 868 67, -1, 68, -1, 130, -1, 67, -1, 68, -1, 869 131, -1, 67, -1, 352, -1, 214, -1, 214, 343, 870 -1, 352, -1, 357, -1, 214, -1, 214, 331, -1, 871 -1, 123, 265, -1, 155, -1, 106, 266, 358, 107, 872 -1, 265, -1, 267, 265, -1, 266, 108, 265, -1, 873 266, 108, 267, 265, -1, 268, 109, -1, 261, 109, 874 -1, 269, -1, 268, 269, -1, 105, 261, -1, 103, 875 126, 155, 127, 104, -1, 103, 126, 296, 127, 104, 876 -1, 103, 126, 154, 89, 154, 127, 104, -1, 105, 877 103, 126, 138, 127, 104, -1, 271, -1, 220, 271, 878 -1, 270, 222, -1, 270, 222, 216, -1, 68, 101, 879 278, 102, -1, 216, 68, 101, 278, 102, -1, 271, 880 217, -1, 273, 359, -1, 272, 108, 273, 359, -1, 881 -1, 275, 261, 274, 276, -1, 214, 322, -1, 32, 882 -1, 34, -1, 33, -1, -1, 276, 277, -1, 121, 883 261, 101, 278, 102, -1, 121, 106, 126, 284, 107, 884 -1, 121, 101, 126, 272, 127, 102, 106, 126, 284, 885 107, 101, 278, 102, -1, 263, -1, 155, -1, 278, 886 108, 263, -1, 278, 108, 155, -1, 32, 280, -1, 887 221, 32, 280, -1, 279, 108, 280, -1, 281, 276, 888 -1, 281, 276, 123, 263, -1, 261, -1, 260, 101, 889 126, 272, 127, 102, -1, 35, 261, 101, 126, 272, 890 127, 102, 106, 107, -1, -1, 35, 261, 101, 126, 891 272, 127, 102, 106, 283, 284, 107, -1, 285, -1, 892 284, 126, 285, -1, 286, 127, 124, -1, 287, 127, 893 124, -1, 204, -1, 206, -1, 286, 127, 108, 126, 894 259, -1, 214, 295, -1, 287, 127, 108, 126, 295, 895 -1, -1, 289, -1, 291, -1, 289, 126, 291, -1, 896 -1, 289, -1, 201, -1, 293, -1, 189, -1, -1, 897 5, 75, 292, 106, 290, 107, -1, 38, 291, -1, 898 294, -1, 309, 164, -1, 313, 126, 196, 164, -1, 899 205, 164, -1, 213, 309, 164, -1, 216, 309, 164, 900 -1, 220, 309, 164, -1, 220, 216, 309, 164, -1, 901 213, 313, 126, 196, 164, -1, 216, 313, 126, 196, 902 164, -1, 220, 313, 126, 196, 164, -1, 220, 216, 903 313, 126, 196, 164, -1, 304, -1, 309, -1, 317, 904 -1, 154, 115, 154, -1, -1, 57, 101, 133, 102, 905 298, -1, -1, 299, -1, 300, -1, 299, 300, -1, 906 37, 101, 101, 301, 102, 102, -1, 302, -1, 301, 907 108, 302, -1, -1, 303, -1, 303, 101, 161, 102, 908 -1, 259, -1, 223, -1, 224, -1, 217, -1, 305, 909 298, -1, 306, -1, 307, 298, -1, 308, 298, -1, 910 129, -1, 101, 305, 102, -1, 111, 304, -1, 111, 911 216, 304, -1, 101, 306, 102, -1, 305, 335, -1, 912 101, 306, 102, 335, -1, 101, 307, 102, 336, -1, 913 101, 307, 102, -1, 101, 306, 102, 101, 126, 251, 914 127, 102, -1, 101, 308, 102, -1, 310, 298, -1, 915 311, -1, 312, 298, -1, 305, 101, 126, 251, 127, 916 102, -1, 101, 311, 102, 101, 126, 251, 127, 102, 917 -1, 101, 310, 102, -1, 111, 309, -1, 111, 216, 918 309, -1, 101, 311, 102, -1, 101, 311, 102, 335, 919 -1, 101, 312, 102, 336, -1, 101, 312, 102, -1, 920 314, -1, 315, -1, 316, -1, 305, 101, 258, 102, 921 -1, 101, 315, 102, 101, 258, 102, -1, 101, 314, 922 102, -1, 111, 313, -1, 111, 216, 313, -1, 101, 923 315, 102, -1, 101, 315, 102, 335, -1, 101, 316, 924 102, 336, -1, 101, 316, 102, -1, 318, 298, -1, 925 319, -1, 320, 298, -1, 321, 298, -1, 67, -1, 926 101, 318, 102, -1, 111, 317, -1, 111, 216, 317, 927 -1, 101, 319, 102, -1, 318, 335, -1, 101, 319, 928 102, 335, -1, 101, 320, 102, 336, -1, 101, 320, 929 102, -1, 318, 101, 126, 251, 127, 102, -1, 101, 930 319, 102, 101, 126, 251, 127, 102, -1, 101, 321, 931 102, -1, 305, 298, -1, 323, -1, 324, 298, -1, 932 325, 298, -1, 111, 322, -1, 111, 216, 322, -1, 933 101, 323, 102, -1, 305, 341, -1, 101, 323, 102, 934 335, -1, 101, 324, 102, 336, -1, 101, 324, 102, 935 -1, 305, 101, 126, 251, 127, 102, -1, 101, 323, 936 102, 101, 126, 251, 127, 102, -1, 101, 325, 102, 937 -1, 327, 298, -1, 328, -1, 329, 298, -1, 330, 938 298, -1, 67, -1, 111, 326, -1, 111, 216, 326, 939 -1, 101, 328, 102, -1, 327, 341, -1, 101, 328, 940 102, 341, -1, 327, 101, 126, 251, 127, 102, -1, 941 101, 328, 102, 101, 126, 251, 127, 102, -1, 332, 942 -1, 333, 298, -1, 334, 298, -1, 111, -1, 111, 943 216, -1, 111, 331, -1, 111, 216, 331, -1, 101, 944 332, 102, -1, 335, -1, 101, 332, 102, 335, -1, 945 101, 333, 102, 336, -1, 101, 333, 102, -1, 101, 946 126, 251, 127, 102, -1, 101, 332, 102, 101, 126, 947 251, 127, 102, -1, 101, 334, 102, -1, 103, 126, 948 127, 104, -1, 103, 126, 127, 104, 336, -1, 336, 949 -1, 103, 126, 155, 127, 104, -1, 103, 126, 111, 950 127, 104, -1, 336, 103, 126, 155, 127, 104, -1, 951 336, 103, 126, 111, 127, 104, -1, 338, -1, 339, 952 298, -1, 340, 298, -1, 111, -1, 111, 216, -1, 953 111, 337, -1, 111, 216, 337, -1, 101, 338, 102, 954 -1, 341, -1, 101, 338, 102, 341, -1, 101, 339, 955 102, 336, -1, 101, 339, 102, -1, 101, 126, 251, 956 127, 102, -1, 101, 338, 102, 101, 126, 251, 127, 957 102, -1, 101, 340, 102, -1, 342, -1, 342, 336, 958 -1, 336, -1, 103, 126, 127, 104, -1, 103, 126, 959 216, 111, 127, 104, -1, 103, 126, 216, 127, 104, 960 -1, 103, 126, 216, 155, 127, 104, -1, 103, 126, 961 7, 215, 155, 127, 104, -1, 103, 126, 216, 7, 962 155, 127, 104, -1, 344, -1, 345, 298, -1, 346, 963 298, -1, 111, -1, 111, 216, -1, 111, 343, -1, 964 111, 216, 343, -1, 101, 344, 102, -1, 335, -1, 965 101, 344, 102, 335, -1, 101, 345, 102, 336, -1, 966 101, 345, 102, -1, 101, 344, 102, 101, 126, 251, 967 127, 102, -1, 101, 346, 102, -1, 348, -1, 356, 968 -1, 216, 356, -1, 349, -1, 350, -1, 111, 214, 969 -1, 216, 111, 214, -1, 111, 357, -1, 216, 111, 970 357, -1, 111, 347, -1, 216, 111, 347, -1, 103, 971 126, 127, 104, 214, -1, 351, 214, -1, 103, 126, 972 127, 104, 336, 214, -1, 351, 336, 214, -1, 336, 973 214, -1, 103, 126, 127, 104, 349, -1, 351, 349, 974 -1, 103, 126, 127, 104, 336, 349, -1, 351, 336, 975 349, -1, 336, 349, -1, 103, 126, 216, 111, 127, 976 104, -1, 103, 126, 216, 155, 127, 104, -1, 103, 977 126, 220, 155, 127, 104, -1, 103, 126, 220, 216, 978 155, 127, 104, -1, 356, -1, 216, 356, -1, 353, 979 -1, 354, -1, 355, -1, 111, 214, -1, 216, 111, 980 214, -1, 111, 357, -1, 216, 111, 357, -1, 111, 981 352, -1, 216, 111, 352, -1, 103, 126, 127, 104, 982 214, -1, 103, 126, 127, 104, 336, 214, -1, 336, 983 214, -1, 103, 126, 127, 104, 354, -1, 103, 126, 984 127, 104, 336, 354, -1, 336, 354, -1, 103, 126, 985 250, 127, 104, -1, 103, 126, 127, 104, 101, 247, 986 102, -1, 356, 101, 126, 247, 127, 102, -1, 207, 987 101, 126, 247, 127, 102, -1, -1, 108, -1, -1, 988 123, 155, -1 750 123, 155, -1, 140, 159, 155, -1, 157, 360, -1, 751 -1, 155, -1, 103, 104, -1, 103, 126, 155, 127, 752 104, -1, 103, 126, 108, 158, 127, 104, -1, 103, 753 126, 155, 108, 158, 127, 104, -1, 156, -1, 158, 754 108, 156, -1, 90, -1, 91, -1, 92, -1, 93, 755 -1, 94, -1, 95, -1, 96, -1, 97, -1, 98, 756 -1, 99, -1, 155, -1, 160, 108, 155, -1, -1, 757 160, -1, 163, -1, 164, -1, 168, -1, 169, -1, 758 181, -1, 183, -1, 184, -1, 189, -1, 131, 109, 759 299, 162, -1, 106, 107, -1, 106, 126, 126, 198, 760 165, 127, 107, -1, 166, -1, 165, 126, 166, -1, 761 201, -1, 38, 201, -1, 295, -1, 162, 127, -1, 762 162, -1, 167, 162, -1, 161, 124, -1, 39, 101, 763 160, 102, 162, -1, 39, 101, 160, 102, 162, 40, 764 162, -1, 41, 101, 160, 102, 174, -1, 41, 101, 765 160, 102, 106, 126, 194, 175, 107, -1, 51, 101, 766 160, 102, 174, -1, 51, 101, 160, 102, 106, 126, 767 194, 177, 107, -1, 154, -1, 154, 89, 154, -1, 768 297, -1, 170, -1, 171, 108, 170, -1, 42, 171, 769 109, -1, 43, 109, -1, 172, -1, 173, 172, -1, 770 173, 162, -1, -1, 176, -1, 173, 167, -1, 176, 771 173, 167, -1, -1, 178, -1, 173, 180, -1, 173, 772 167, 179, -1, 178, 173, 180, -1, 178, 173, 167, 773 179, -1, -1, 180, -1, 52, -1, 52, 124, -1, 774 45, 101, 160, 102, 162, -1, 44, 162, 45, 101, 775 160, 102, 124, -1, 46, 101, 126, 182, 102, 162, 776 -1, 161, 127, 124, 161, 124, 161, -1, 201, 161, 777 124, 161, -1, 49, 131, 124, -1, 49, 111, 160, 778 124, -1, 48, 124, -1, 48, 131, 124, -1, 47, 779 124, -1, 47, 131, 124, -1, 50, 161, 124, -1, 780 56, 155, 124, -1, 56, 124, -1, 53, 164, 185, 781 -1, 53, 164, 187, -1, 53, 164, 185, 187, -1, 782 186, -1, 54, 101, 89, 102, 164, -1, 186, 54, 783 101, 89, 102, 164, -1, 54, 101, 126, 126, 188, 784 127, 102, 164, 127, -1, 186, 54, 101, 126, 126, 785 188, 127, 102, 164, 127, -1, 55, 164, -1, 214, 786 -1, 214, 296, -1, 214, 344, -1, 353, 131, -1, 787 353, -1, 57, 215, 101, 154, 102, 124, -1, 57, 788 215, 101, 154, 109, 190, 102, 124, -1, 57, 215, 789 101, 154, 109, 190, 109, 190, 102, 124, -1, 57, 790 215, 101, 154, 109, 190, 109, 190, 109, 193, 102, 791 124, -1, -1, 191, -1, 192, -1, 191, 108, 192, 792 -1, 75, 101, 154, 102, -1, 75, -1, 193, 108, 793 75, -1, 127, -1, 195, -1, 201, -1, 195, 126, 794 201, -1, 127, -1, 197, -1, 211, -1, 197, 126, 795 211, -1, -1, 199, -1, 28, 200, 124, -1, 199, 796 28, 200, 124, -1, 261, -1, 200, 108, 261, -1, 797 202, -1, 211, -1, 203, 127, 124, -1, 208, 127, 798 124, -1, 205, 127, 124, -1, 280, 127, 124, -1, 799 283, 127, 124, -1, 204, 264, -1, 220, 204, 264, 800 -1, 203, 127, 108, 126, 259, 264, -1, 354, 259, 801 298, -1, 357, 259, 298, -1, 216, 357, 259, 298, 802 -1, 206, -1, 216, 206, -1, 220, 206, -1, 220, 803 216, 206, -1, 205, 127, 108, 126, 259, -1, 103, 804 104, 259, 101, 126, 247, 127, 102, -1, 357, 259, 805 101, 126, 247, 127, 102, -1, 207, 259, 101, 126, 806 247, 127, 102, -1, 103, 126, 249, 127, 104, -1, 807 103, 126, 249, 127, 108, 126, 250, 127, 104, -1, 808 3, 204, -1, 3, 206, -1, 208, 127, 108, 126, 809 131, -1, 3, 214, 296, -1, 209, 127, 108, 126, 810 296, -1, 216, 3, 214, 296, -1, 214, 3, 296, 811 -1, 214, 3, 216, 296, -1, 3, 131, 123, 155, 812 -1, 210, 127, 108, 126, 131, 123, 155, -1, 212, 813 127, 124, -1, 209, 127, 124, -1, 210, 127, 124, 814 -1, 229, 127, 124, -1, 213, 296, 298, 264, -1, 815 212, 108, 299, 296, 298, 264, -1, 225, -1, 229, 816 -1, 231, -1, 270, -1, 226, -1, 230, -1, 232, 817 -1, 271, -1, -1, 216, -1, 217, -1, 216, 217, 818 -1, 218, -1, 301, -1, 10, -1, 12, -1, 11, 819 -1, 14, -1, 60, -1, -1, 13, 101, 219, 273, 820 102, -1, 221, -1, 216, 221, -1, 220, 216, 221, 821 -1, 222, -1, 221, 222, -1, 223, -1, 5, -1, 822 7, -1, 4, -1, 6, -1, 8, -1, 9, -1, 823 62, -1, 64, -1, 16, -1, 21, -1, 20, -1, 824 18, -1, 19, -1, 17, -1, 22, -1, 23, -1, 825 15, -1, 24, -1, 25, -1, 26, -1, 226, -1, 826 220, 226, -1, 225, 222, -1, 225, 222, 216, -1, 827 225, 222, 226, -1, 227, -1, 215, 228, 215, -1, 828 224, -1, 216, 224, -1, 227, 217, -1, 227, 224, 829 -1, 27, 101, 263, 102, -1, 27, 101, 160, 102, 830 -1, 71, 101, 263, 102, -1, 71, 101, 160, 102, 831 -1, 230, -1, 220, 230, -1, 229, 222, -1, 229, 832 222, 216, -1, 233, -1, 216, 233, -1, 230, 217, 833 -1, 232, -1, 220, 232, -1, 231, 222, -1, 231, 834 222, 216, -1, 67, -1, 216, 67, -1, 232, 217, 835 -1, 234, -1, 244, -1, 235, 106, 236, 107, -1, 836 235, 261, -1, 235, 261, 106, 236, 107, -1, 235, 837 101, 279, 102, 106, 236, 107, -1, 235, 272, -1, 838 30, 299, -1, 31, 299, -1, 237, -1, 236, 237, 839 -1, 238, 124, -1, 38, 238, 124, -1, 239, 124, 840 -1, 38, 239, 124, -1, 353, -1, 353, 261, -1, 841 238, 108, 261, -1, 238, 108, -1, 214, 240, -1, 842 239, 108, 299, 240, -1, -1, 242, -1, 305, 241, 843 -1, 318, 241, -1, 344, -1, -1, 242, -1, 109, 844 154, -1, 29, 299, -1, 243, 106, 245, 359, 107, 845 -1, 243, 261, 106, 245, 359, 107, -1, 243, 261, 846 -1, 261, 246, -1, 245, 108, 261, 246, -1, -1, 847 123, 154, -1, -1, 248, -1, 250, -1, 249, -1, 848 249, 127, 108, 126, 250, -1, 250, 127, 108, 126, 849 89, -1, 249, 127, 108, 126, 89, -1, 254, -1, 850 250, 127, 108, 126, 254, -1, 249, 127, 108, 126, 851 254, -1, 249, 127, 108, 126, 250, 127, 108, 126, 852 254, -1, 255, -1, 250, 127, 108, 126, 255, -1, 853 -1, 252, -1, 253, -1, 253, 127, 108, 126, 89, 854 -1, 257, -1, 256, -1, 253, 127, 108, 126, 257, 855 -1, 253, 127, 108, 126, 256, -1, 256, -1, 349, 856 259, 360, -1, 357, 259, 360, -1, 216, 357, 259, 857 360, -1, 206, -1, 257, -1, 349, -1, 357, -1, 858 216, 357, -1, 358, -1, 213, 323, 360, -1, 213, 859 327, 360, -1, 213, -1, 213, 338, -1, 131, -1, 860 258, 108, 131, -1, 129, -1, 67, -1, 68, -1, 861 130, -1, 67, -1, 68, -1, 131, -1, 67, -1, 862 68, -1, 353, -1, 214, -1, 214, 344, -1, 353, 863 -1, 358, -1, 214, -1, 214, 332, -1, -1, 123, 864 265, -1, 155, -1, 106, 266, 359, 107, -1, 265, 865 -1, 267, 265, -1, 266, 108, 265, -1, 266, 108, 866 267, 265, -1, 268, 109, -1, 261, 109, -1, 269, 867 -1, 268, 269, -1, 105, 261, -1, 103, 126, 155, 868 127, 104, -1, 103, 126, 297, 127, 104, -1, 103, 869 126, 154, 89, 154, 127, 104, -1, 105, 103, 126, 870 138, 127, 104, -1, 271, -1, 220, 271, -1, 270, 871 222, -1, 270, 222, 216, -1, 272, -1, 216, 272, 872 -1, 271, 217, -1, 68, 101, 279, 102, -1, 274, 873 360, -1, 273, 108, 274, 360, -1, -1, 276, 261, 874 275, 277, -1, 214, 323, -1, 32, -1, 34, -1, 875 33, -1, -1, 277, 278, -1, 121, 261, 101, 279, 876 102, -1, 121, 106, 126, 285, 107, -1, 121, 101, 877 126, 273, 127, 102, 106, 126, 285, 107, 101, 279, 878 102, -1, 263, -1, 155, -1, 279, 108, 263, -1, 879 279, 108, 155, -1, 32, 281, -1, 221, 32, 281, 880 -1, 280, 108, 281, -1, 282, 277, -1, 282, 277, 881 123, 263, -1, 261, -1, 260, 101, 126, 273, 127, 882 102, -1, 35, 261, 101, 126, 273, 127, 102, 106, 883 107, -1, -1, 35, 261, 101, 126, 273, 127, 102, 884 106, 284, 285, 107, -1, 286, -1, 285, 126, 286, 885 -1, 287, 127, 124, -1, 288, 127, 124, -1, 204, 886 -1, 206, -1, 287, 127, 108, 126, 259, -1, 214, 887 296, -1, 288, 127, 108, 126, 296, -1, -1, 290, 888 -1, 292, -1, 290, 126, 292, -1, -1, 290, -1, 889 201, -1, 294, -1, 189, -1, -1, 5, 75, 293, 890 106, 291, 107, -1, 38, 292, -1, 295, -1, 310, 891 164, -1, 314, 126, 196, 164, -1, 205, 164, -1, 892 213, 310, 164, -1, 216, 310, 164, -1, 220, 310, 893 164, -1, 220, 216, 310, 164, -1, 213, 314, 126, 894 196, 164, -1, 216, 314, 126, 196, 164, -1, 220, 895 314, 126, 196, 164, -1, 220, 216, 314, 126, 196, 896 164, -1, 305, -1, 310, -1, 318, -1, 154, 115, 897 154, -1, -1, 57, 101, 133, 102, 299, -1, -1, 898 300, -1, 301, -1, 300, 301, -1, 37, 101, 101, 899 302, 102, 102, -1, 303, -1, 302, 108, 303, -1, 900 -1, 304, -1, 304, 101, 161, 102, -1, 259, -1, 901 223, -1, 224, -1, 217, -1, 306, 299, -1, 307, 902 -1, 308, 299, -1, 309, 299, -1, 129, -1, 101, 903 306, 102, -1, 111, 305, -1, 111, 216, 305, -1, 904 101, 307, 102, -1, 306, 336, -1, 101, 307, 102, 905 336, -1, 101, 308, 102, 337, -1, 101, 308, 102, 906 -1, 101, 307, 102, 101, 126, 251, 127, 102, -1, 907 101, 309, 102, -1, 311, 299, -1, 312, -1, 313, 908 299, -1, 306, 101, 126, 251, 127, 102, -1, 101, 909 312, 102, 101, 126, 251, 127, 102, -1, 101, 311, 910 102, -1, 111, 310, -1, 111, 216, 310, -1, 101, 911 312, 102, -1, 101, 312, 102, 336, -1, 101, 313, 912 102, 337, -1, 101, 313, 102, -1, 315, -1, 316, 913 -1, 317, -1, 306, 101, 258, 102, -1, 101, 316, 914 102, 101, 258, 102, -1, 101, 315, 102, -1, 111, 915 314, -1, 111, 216, 314, -1, 101, 316, 102, -1, 916 101, 316, 102, 336, -1, 101, 317, 102, 337, -1, 917 101, 317, 102, -1, 319, 299, -1, 320, -1, 321, 918 299, -1, 322, 299, -1, 328, -1, 101, 319, 102, 919 -1, 111, 318, -1, 111, 216, 318, -1, 101, 320, 920 102, -1, 319, 336, -1, 101, 320, 102, 336, -1, 921 101, 321, 102, 337, -1, 101, 321, 102, -1, 319, 922 101, 126, 251, 127, 102, -1, 101, 320, 102, 101, 923 126, 251, 127, 102, -1, 101, 322, 102, -1, 306, 924 299, -1, 324, -1, 325, 299, -1, 326, 299, -1, 925 111, 323, -1, 111, 216, 323, -1, 101, 324, 102, 926 -1, 306, 342, -1, 101, 324, 102, 336, -1, 101, 927 325, 102, 337, -1, 101, 325, 102, -1, 306, 101, 928 126, 251, 127, 102, -1, 101, 324, 102, 101, 126, 929 251, 127, 102, -1, 101, 326, 102, -1, 328, 299, 930 -1, 329, -1, 330, 299, -1, 331, 299, -1, 67, 931 -1, 68, -1, 111, 327, -1, 111, 216, 327, -1, 932 101, 329, 102, -1, 328, 342, -1, 101, 329, 102, 933 342, -1, 328, 101, 126, 251, 127, 102, -1, 101, 934 329, 102, 101, 126, 251, 127, 102, -1, 333, -1, 935 334, 299, -1, 335, 299, -1, 111, -1, 111, 216, 936 -1, 111, 332, -1, 111, 216, 332, -1, 101, 333, 937 102, -1, 336, -1, 101, 333, 102, 336, -1, 101, 938 334, 102, 337, -1, 101, 334, 102, -1, 101, 126, 939 251, 127, 102, -1, 101, 333, 102, 101, 126, 251, 940 127, 102, -1, 101, 335, 102, -1, 103, 104, -1, 941 103, 104, 337, -1, 337, -1, 103, 126, 155, 127, 942 104, -1, 103, 126, 111, 127, 104, -1, 337, 103, 943 126, 155, 127, 104, -1, 337, 103, 126, 111, 127, 944 104, -1, 339, -1, 340, 299, -1, 341, 299, -1, 945 111, -1, 111, 216, -1, 111, 338, -1, 111, 216, 946 338, -1, 101, 339, 102, -1, 342, -1, 101, 339, 947 102, 342, -1, 101, 340, 102, 337, -1, 101, 340, 948 102, -1, 101, 126, 251, 127, 102, -1, 101, 339, 949 102, 101, 126, 251, 127, 102, -1, 101, 341, 102, 950 -1, 343, -1, 343, 337, -1, 337, -1, 103, 104, 951 -1, 103, 126, 216, 111, 127, 104, -1, 103, 126, 952 216, 127, 104, -1, 103, 126, 216, 155, 127, 104, 953 -1, 103, 126, 7, 215, 155, 127, 104, -1, 103, 954 126, 216, 7, 155, 127, 104, -1, 345, -1, 346, 955 299, -1, 347, 299, -1, 111, -1, 111, 216, -1, 956 111, 344, -1, 111, 216, 344, -1, 101, 345, 102, 957 -1, 336, -1, 101, 345, 102, 336, -1, 101, 346, 958 102, 337, -1, 101, 346, 102, -1, 101, 345, 102, 959 101, 126, 251, 127, 102, -1, 101, 347, 102, -1, 960 349, -1, 357, -1, 216, 357, -1, 350, -1, 351, 961 -1, 111, 214, -1, 216, 111, 214, -1, 111, 358, 962 -1, 216, 111, 358, -1, 111, 348, -1, 216, 111, 963 348, -1, 103, 104, 214, -1, 352, 214, -1, 103, 964 104, 337, 214, -1, 352, 337, 214, -1, 337, 214, 965 -1, 103, 104, 350, -1, 352, 350, -1, 103, 104, 966 337, 350, -1, 352, 337, 350, -1, 337, 350, -1, 967 103, 126, 216, 111, 127, 104, -1, 103, 126, 216, 968 155, 127, 104, -1, 103, 126, 220, 155, 127, 104, 969 -1, 103, 126, 220, 216, 155, 127, 104, -1, 357, 970 -1, 216, 357, -1, 354, -1, 355, -1, 356, -1, 971 111, 214, -1, 216, 111, 214, -1, 111, 358, -1, 972 216, 111, 358, -1, 111, 353, -1, 216, 111, 353, 973 -1, 103, 104, 214, -1, 103, 104, 337, 214, -1, 974 337, 214, -1, 103, 104, 355, -1, 103, 104, 337, 975 355, -1, 337, 355, -1, 103, 126, 250, 127, 104, 976 -1, 103, 104, 101, 247, 102, -1, 357, 101, 126, 977 247, 127, 102, -1, 207, 101, 126, 247, 127, 102, 978 -1, -1, 108, -1, -1, 123, 155, -1 989 979 }; 990 980 … … 1017 1007 927, 931, 932, 947, 948, 949, 950, 951, 955, 960, 1018 1008 967, 977, 982, 987, 995, 1000, 1005, 1010, 1015, 1023, 1019 10 28, 1040, 1045, 1052, 1054, 1061, 1066, 1071, 1082, 1087,1020 1 092, 1097, 1102, 1110, 1115, 1123, 1124, 1125, 1126, 1132,1021 11 37, 1145, 1146, 1147, 1148, 1152, 1153, 1154, 1155, 1160,1022 11 61, 1170, 1171, 1176, 1177, 1182, 1184, 1186, 1188, 1190,1023 119 3, 1192, 1204, 1205, 1207, 1217, 1218, 1223, 1227, 1229,1024 123 1, 1233, 1235, 1237, 1239, 1241, 1246, 1248, 1250, 1252,1025 12 54, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1274, 1275,1026 12 77, 1279, 1281, 1286, 1287, 1293, 1294, 1296, 1298, 1303,1027 13 05, 1307, 1309, 1314, 1315, 1317, 1319, 1324, 1325, 1327,1028 133 2, 1333, 1335, 1337, 1342, 1344, 1346, 1351, 1352, 1356,1029 13 58, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1375, 1380,1030 13 82, 1387, 1389, 1394, 1395, 1397, 1398, 1403, 1404, 1406,1031 14 08, 1413, 1415, 1421, 1422, 1424, 1427, 1430, 1435, 1436,1032 14 41, 1446, 1450, 1452, 1454, 1459, 1461, 1467, 1468, 1476,1033 14 77, 1481, 1482, 1483, 1485, 1487, 1494, 1495, 1497, 1499,1034 15 04, 1505, 1511, 1512, 1516, 1517, 1522, 1523, 1524, 1526,1035 15 34, 1535, 1537, 1540, 1542, 1546, 1547, 1548, 1550, 1552,1036 15 56, 1561, 1569, 1570, 1579, 1581, 1586, 1587, 1588, 1592,1037 1 593, 1594, 1598, 1599, 1604, 1605, 1606, 1611, 1612, 1613,1038 16 14, 1620, 1621, 1625, 1626, 1630, 1631, 1632, 1633, 1648,1039 16 49, 1654, 1655, 1660, 1662, 1665, 1667, 1669, 1692, 1693,1040 1 695, 1697, 1702, 1704, 1706, 1711, 1712, 1718, 1717, 1721,1041 17 25, 1727, 1729, 1735, 1736, 1741, 1746, 1748, 1753, 1755,1042 17 56, 1758, 1763, 1765, 1767, 1772, 1774, 1779, 1784, 1792,1043 1 798, 1797, 1811, 1812, 1817, 1818, 1822, 1827, 1832, 1840,1044 18 45, 1856, 1857, 1868, 1869, 1875, 1876, 1880, 1881, 1882,1045 1 885, 1884, 1895, 1900, 1906, 1912, 1921, 1927, 1933, 1939,1046 19 45, 1953, 1959, 1967, 1973, 1982, 1983, 1984, 1988, 1992,1047 1994, 1997, 1999, 2003, 2004, 2008, 2012, 2013, 2016, 2018,1048 20 19, 2023, 2024, 2025, 2026, 2060, 2061, 2062, 2063, 2067,1049 20 72, 2077, 2079, 2081, 2086, 2088, 2090, 2092, 2097, 2099,1050 21 09, 2110, 2111, 2115, 2117, 2119, 2124, 2126, 2128, 2133,1051 21 35, 2137, 2146, 2147, 2148, 2152, 2154, 2156, 2161, 2163,1052 21 65, 2170, 2172, 2174, 2189, 2190, 2191, 2192, 2196, 2201,1053 22 06, 2208, 2210, 2215, 2217, 2219, 2221, 2226, 2228, 2230,1054 224 0, 2241, 2242, 2243, 2247, 2249, 2251, 2256, 2258, 2260,1055 22 62, 2267, 2269, 2271, 2302, 2303, 2304, 2305, 2309, 2317,1056 23 19, 2321, 2326, 2328, 2333, 2335, 2349, 2350, 2351, 2355,1057 23 57, 2359, 2361, 2363, 2368, 2369, 2371, 2373, 2378, 2380,1058 23 82, 2388, 2390, 2392, 2396, 2398, 2400, 2402, 2416, 2417,1059 24 18, 2422, 2424, 2426, 2428, 2430, 2435, 2436, 2438, 2440,1060 24 45, 2447, 2449, 2455, 2456, 2458, 2467, 2470, 2472, 2475,1061 24 77, 2479, 2492, 2493, 2494, 2498, 2500, 2502, 2504, 2506,1062 251 1, 2512, 2514, 2516, 2521, 2523, 2531, 2532, 2533, 2538,1063 25 39, 2543, 2545, 2547, 2549, 2551, 2553, 2560, 2562, 2564,1064 25 66, 2568, 2570, 2572, 2574, 2576, 2578, 2583, 2585, 2587,1065 2 592, 2618, 2619, 2621, 2625, 2626, 2630, 2632, 2634, 2636,1066 26 38, 2640, 2647, 2649, 2651, 2653, 2655, 2657, 2662, 2667,1067 26 69, 2671, 2689, 2691, 2696, 26971009 1045, 1050, 1057, 1059, 1066, 1071, 1076, 1087, 1092, 1097, 1010 1102, 1107, 1116, 1121, 1129, 1130, 1131, 1132, 1138, 1143, 1011 1151, 1152, 1153, 1154, 1158, 1159, 1160, 1161, 1166, 1167, 1012 1176, 1177, 1182, 1183, 1188, 1190, 1192, 1194, 1196, 1199, 1013 1198, 1210, 1211, 1213, 1223, 1224, 1229, 1233, 1235, 1237, 1014 1239, 1241, 1243, 1245, 1247, 1252, 1254, 1256, 1258, 1260, 1015 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1280, 1281, 1283, 1016 1285, 1287, 1292, 1293, 1299, 1300, 1302, 1304, 1309, 1311, 1017 1313, 1315, 1320, 1321, 1323, 1325, 1330, 1331, 1333, 1338, 1018 1339, 1341, 1343, 1348, 1350, 1352, 1357, 1358, 1362, 1364, 1019 1366, 1368, 1370, 1375, 1377, 1382, 1384, 1389, 1390, 1392, 1020 1393, 1398, 1399, 1401, 1403, 1408, 1410, 1416, 1417, 1419, 1021 1422, 1425, 1430, 1431, 1436, 1441, 1445, 1447, 1449, 1454, 1022 1456, 1462, 1463, 1471, 1472, 1476, 1477, 1478, 1480, 1482, 1023 1489, 1490, 1492, 1494, 1499, 1500, 1506, 1507, 1511, 1512, 1024 1517, 1518, 1519, 1521, 1529, 1530, 1532, 1535, 1537, 1541, 1025 1542, 1543, 1545, 1547, 1551, 1556, 1564, 1565, 1574, 1576, 1026 1581, 1582, 1583, 1587, 1588, 1589, 1593, 1594, 1595, 1599, 1027 1600, 1601, 1606, 1607, 1608, 1609, 1615, 1616, 1621, 1622, 1028 1626, 1627, 1628, 1629, 1644, 1645, 1650, 1651, 1657, 1659, 1029 1662, 1664, 1666, 1689, 1690, 1692, 1694, 1699, 1700, 1702, 1030 1707, 1712, 1713, 1719, 1718, 1722, 1726, 1728, 1730, 1736, 1031 1737, 1742, 1747, 1749, 1754, 1756, 1757, 1759, 1764, 1766, 1032 1768, 1773, 1775, 1780, 1785, 1793, 1799, 1798, 1812, 1813, 1033 1818, 1819, 1823, 1828, 1833, 1841, 1846, 1857, 1858, 1869, 1034 1870, 1876, 1877, 1881, 1882, 1883, 1886, 1885, 1896, 1901, 1035 1906, 1912, 1921, 1927, 1933, 1939, 1945, 1953, 1959, 1967, 1036 1973, 1982, 1983, 1984, 1988, 1992, 1994, 1997, 1999, 2003, 1037 2004, 2008, 2012, 2013, 2016, 2018, 2019, 2023, 2024, 2025, 1038 2026, 2060, 2061, 2062, 2063, 2067, 2072, 2077, 2079, 2081, 1039 2086, 2088, 2090, 2092, 2097, 2099, 2109, 2110, 2111, 2115, 1040 2117, 2119, 2124, 2126, 2128, 2133, 2135, 2137, 2146, 2147, 1041 2148, 2152, 2154, 2156, 2161, 2163, 2165, 2170, 2172, 2174, 1042 2189, 2190, 2191, 2192, 2196, 2197, 2202, 2204, 2206, 2211, 1043 2213, 2215, 2217, 2222, 2224, 2226, 2236, 2237, 2238, 2239, 1044 2243, 2245, 2247, 2252, 2254, 2256, 2258, 2263, 2265, 2267, 1045 2298, 2299, 2300, 2301, 2305, 2310, 2318, 2320, 2322, 2327, 1046 2329, 2334, 2336, 2350, 2351, 2352, 2356, 2358, 2360, 2362, 1047 2364, 2369, 2370, 2372, 2374, 2379, 2381, 2383, 2389, 2391, 1048 2393, 2397, 2399, 2401, 2403, 2417, 2418, 2419, 2423, 2425, 1049 2427, 2429, 2431, 2436, 2437, 2439, 2441, 2446, 2448, 2450, 1050 2456, 2457, 2459, 2468, 2471, 2473, 2476, 2478, 2480, 2493, 1051 2494, 2495, 2499, 2501, 2503, 2505, 2507, 2512, 2513, 2515, 1052 2517, 2522, 2524, 2532, 2533, 2534, 2539, 2540, 2544, 2546, 1053 2548, 2550, 2552, 2554, 2561, 2563, 2565, 2567, 2569, 2571, 1054 2573, 2575, 2577, 2579, 2584, 2586, 2588, 2593, 2619, 2620, 1055 2622, 2626, 2627, 2631, 2633, 2635, 2637, 2639, 2641, 2648, 1056 2650, 2652, 2654, 2656, 2658, 2663, 2668, 2670, 2672, 2690, 1057 2692, 2697, 2698 1068 1058 }; 1069 1059 #endif … … 1139 1129 "new_abstract_parameter_declaration", "parameter_declaration", 1140 1130 "abstract_parameter_declaration", "identifier_list", 1141 "identifier_or_type def_name", "no_01_identifier_or_typedef_name",1142 "no_attr_identifier_or_type def_name", "type_name_no_function",1143 " type_name", "initializer_opt", "initializer", "initializer_list",1144 "designat ion", "designator_list", "designator",1145 "typegen_ declaration_specifier", "typegen_type_specifier",1146 "type_parameter _list", "type_parameter", "$@2", "type_class",1147 " assertion_list_opt", "assertion", "type_name_list",1148 "type_declar ing_list", "type_declarator", "type_declarator_name",1149 "context_ specifier", "$@3", "context_declaration_list",1150 " context_declaration", "new_context_declaring_list",1151 " context_declaring_list", "translation_unit", "external_definition_list",1131 "identifier_or_type_name", "no_01_identifier_or_type_name", 1132 "no_attr_identifier_or_type_name", "type_name_no_function", "type_name", 1133 "initializer_opt", "initializer", "initializer_list", "designation", 1134 "designator_list", "designator", "typegen_declaration_specifier", 1135 "typegen_type_specifier", "typegen_name", "type_parameter_list", 1136 "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion", 1137 "type_name_list", "type_declaring_list", "type_declarator", 1138 "type_declarator_name", "context_specifier", "$@3", 1139 "context_declaration_list", "context_declaration", 1140 "new_context_declaring_list", "context_declaring_list", 1141 "translation_unit", "external_definition_list", 1152 1142 "external_definition_list_opt", "external_definition", "$@4", 1153 1143 "external_function_definition", "function_definition", "declarator", … … 1158 1148 "function_no_ptr", "function_ptr", "function_array", 1159 1149 "old_function_declarator", "old_function_no_ptr", "old_function_ptr", 1160 "old_function_array", "type def_redeclarator", "paren_typedef",1161 "type def_ptr", "typedef_array", "typedef_function",1162 "identifier_parameter_ declarator", "identifier_parameter_ptr",1163 "identifier_parameter_ array", "identifier_parameter_function",1164 "typedef _parameter_redeclarator", "typedef", "typedef_parameter_ptr",1165 "type def_parameter_array", "typedef_parameter_function",1166 "abstract_ declarator", "abstract_ptr", "abstract_array",1167 " abstract_function", "array_dimension", "multi_array_dimension",1168 "abstract_parameter_ declarator", "abstract_parameter_ptr",1169 "abstract_parameter_ array", "abstract_parameter_function",1170 "array_parameter_ dimension", "array_parameter_1st_dimension",1171 "variable_abstract_ declarator", "variable_abstract_ptr",1172 "variable_abstract_ array", "variable_abstract_function",1150 "old_function_array", "type_redeclarator", "paren_type", "type_ptr", 1151 "type_array", "type_function", "identifier_parameter_declarator", 1152 "identifier_parameter_ptr", "identifier_parameter_array", 1153 "identifier_parameter_function", "type_parameter_redeclarator", 1154 "typedef", "type_parameter_ptr", "type_parameter_array", 1155 "type_parameter_function", "abstract_declarator", "abstract_ptr", 1156 "abstract_array", "abstract_function", "array_dimension", 1157 "multi_array_dimension", "abstract_parameter_declarator", 1158 "abstract_parameter_ptr", "abstract_parameter_array", 1159 "abstract_parameter_function", "array_parameter_dimension", 1160 "array_parameter_1st_dimension", "variable_abstract_declarator", 1161 "variable_abstract_ptr", "variable_abstract_array", 1162 "variable_abstract_function", 1173 1163 "new_identifier_parameter_declarator_tuple", 1174 1164 "new_identifier_parameter_declarator_no_tuple", … … 1230 1220 200, 201, 201, 202, 202, 202, 202, 202, 203, 203, 1231 1221 203, 204, 204, 204, 205, 205, 205, 205, 205, 206, 1232 206, 206, 20 6, 207, 207, 208, 208, 208, 209, 209,1233 209, 209, 2 09, 210, 210, 211, 211, 211, 211, 212,1234 21 2, 213, 213, 213, 213, 214, 214, 214, 214, 215,1235 21 5, 216, 216, 217, 217, 218, 218, 218, 218, 218,1236 21 9, 218, 220, 220, 220, 221, 221, 222, 223, 223,1237 223, 223, 223, 223, 223, 22 3, 224, 224, 224, 224,1238 224, 224, 224, 224, 224, 224, 224, 22 4, 225, 225,1239 225, 225, 22 5, 226, 226, 227, 227, 227, 227, 228,1240 228, 228, 22 8, 229, 229, 229, 229, 230, 230, 230,1241 231, 231, 231, 23 1, 232, 232, 232, 233, 233, 234,1242 234, 234, 234, 23 4, 234, 234, 234, 234, 234, 235,1243 23 5, 236, 236, 237, 237, 237, 237, 238, 238, 238,1244 2 38, 239, 239, 240, 240, 240, 240, 240, 241, 241,1245 24 2, 243, 244, 244, 244, 245, 245, 246, 246, 247,1246 24 7, 248, 248, 248, 248, 248, 249, 249, 249, 249,1247 25 0, 250, 251, 251, 252, 252, 253, 253, 253, 253,1248 25 4, 254, 254, 254, 254, 255, 255, 255, 255, 255,1249 25 6, 256, 257, 257, 258, 258, 259, 259, 259, 260,1250 26 0, 260, 261, 261, 262, 262, 262, 263, 263, 263,1251 26 3, 264, 264, 265, 265, 266, 266, 266, 266, 267,1252 26 7, 268, 268, 269, 269, 269, 269, 269, 270, 270,1253 27 0, 270, 271, 271, 271, 272, 272, 274, 273, 273,1254 27 5, 275, 275, 276, 276, 277, 277, 277, 278, 278,1255 2 78, 278, 279, 279, 279, 280, 280, 281, 281, 282,1256 28 3, 282, 284, 284, 285, 285, 286, 286, 286, 287,1257 2 87, 288, 288, 289, 289, 290, 290, 291, 291, 291,1258 29 2, 291, 291, 293, 293, 293, 294, 294, 294, 294,1259 29 4, 294, 294, 294, 294, 295, 295, 295, 296, 297,1260 297, 298, 298, 299, 299, 300, 301, 301, 302, 302,1261 30 2, 303, 303, 303, 303, 304, 304, 304, 304, 305,1262 30 5, 306, 306, 306, 307, 307, 307, 307, 308, 308,1263 3 09, 309, 309, 310, 310, 310, 311, 311, 311, 312,1264 31 2, 312, 313, 313, 313, 314, 314, 314, 315, 315,1265 31 5, 316, 316, 316, 317, 317, 317, 317, 318, 318,1266 3 19, 319, 319, 320, 320, 320, 320, 321, 321, 321,1267 32 2, 322, 322, 322, 323, 323, 323, 324, 324, 324,1268 32 4, 325, 325, 325, 326, 326, 326, 326, 327, 328,1269 3 28, 328, 329, 329, 330, 330, 331, 331, 331, 332,1270 33 2, 332, 332, 332, 333, 333, 333, 333, 334, 334,1271 33 4, 335, 335, 335, 336, 336, 336, 336, 337, 337,1272 33 7, 338, 338, 338, 338, 338, 339, 339, 339, 339,1273 34 0, 340, 340, 341, 341, 341, 342, 342, 342, 342,1274 34 2, 342, 343, 343, 343, 344, 344, 344, 344, 344,1275 34 5, 345, 345, 345, 346, 346, 347, 347, 347, 348,1276 3 48, 349, 349, 349, 349, 349, 349, 350, 350, 350,1277 35 0, 350, 350, 350, 350, 350, 350, 351, 351, 351,1278 35 1, 352, 352, 352, 353, 353, 354, 354, 354, 354,1279 35 4, 354, 355, 355, 355, 355, 355, 355, 356, 357,1280 35 7, 357, 358, 358, 359, 3591222 206, 206, 207, 207, 208, 208, 208, 209, 209, 209, 1223 209, 209, 210, 210, 211, 211, 211, 211, 212, 212, 1224 213, 213, 213, 213, 214, 214, 214, 214, 215, 215, 1225 216, 216, 217, 217, 218, 218, 218, 218, 218, 219, 1226 218, 220, 220, 220, 221, 221, 222, 223, 223, 223, 1227 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 1228 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 1229 225, 225, 226, 226, 227, 227, 227, 227, 228, 228, 1230 228, 228, 229, 229, 229, 229, 230, 230, 230, 231, 1231 231, 231, 231, 232, 232, 232, 233, 233, 234, 234, 1232 234, 234, 234, 235, 235, 236, 236, 237, 237, 237, 1233 237, 238, 238, 238, 238, 239, 239, 240, 240, 240, 1234 240, 240, 241, 241, 242, 243, 244, 244, 244, 245, 1235 245, 246, 246, 247, 247, 248, 248, 248, 248, 248, 1236 249, 249, 249, 249, 250, 250, 251, 251, 252, 252, 1237 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 1238 255, 255, 255, 255, 256, 256, 257, 257, 258, 258, 1239 259, 259, 259, 260, 260, 260, 261, 261, 261, 262, 1240 262, 262, 263, 263, 263, 263, 264, 264, 265, 265, 1241 266, 266, 266, 266, 267, 267, 268, 268, 269, 269, 1242 269, 269, 269, 270, 270, 270, 270, 271, 271, 271, 1243 272, 273, 273, 275, 274, 274, 276, 276, 276, 277, 1244 277, 278, 278, 278, 279, 279, 279, 279, 280, 280, 1245 280, 281, 281, 282, 282, 283, 284, 283, 285, 285, 1246 286, 286, 287, 287, 287, 288, 288, 289, 289, 290, 1247 290, 291, 291, 292, 292, 292, 293, 292, 292, 294, 1248 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, 1249 295, 296, 296, 296, 297, 298, 298, 299, 299, 300, 1250 300, 301, 302, 302, 303, 303, 303, 304, 304, 304, 1251 304, 305, 305, 305, 305, 306, 306, 307, 307, 307, 1252 308, 308, 308, 308, 309, 309, 310, 310, 310, 311, 1253 311, 311, 312, 312, 312, 313, 313, 313, 314, 314, 1254 314, 315, 315, 315, 316, 316, 316, 317, 317, 317, 1255 318, 318, 318, 318, 319, 319, 320, 320, 320, 321, 1256 321, 321, 321, 322, 322, 322, 323, 323, 323, 323, 1257 324, 324, 324, 325, 325, 325, 325, 326, 326, 326, 1258 327, 327, 327, 327, 328, 328, 329, 329, 329, 330, 1259 330, 331, 331, 332, 332, 332, 333, 333, 333, 333, 1260 333, 334, 334, 334, 334, 335, 335, 335, 336, 336, 1261 336, 337, 337, 337, 337, 338, 338, 338, 339, 339, 1262 339, 339, 339, 340, 340, 340, 340, 341, 341, 341, 1263 342, 342, 342, 343, 343, 343, 343, 343, 343, 344, 1264 344, 344, 345, 345, 345, 345, 345, 346, 346, 346, 1265 346, 347, 347, 348, 348, 348, 349, 349, 350, 350, 1266 350, 350, 350, 350, 351, 351, 351, 351, 351, 351, 1267 351, 351, 351, 351, 352, 352, 352, 352, 353, 353, 1268 353, 354, 354, 355, 355, 355, 355, 355, 355, 356, 1269 356, 356, 356, 356, 356, 357, 358, 358, 358, 359, 1270 359, 360, 360 1281 1271 }; 1282 1272 … … 1294 1284 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 1295 1285 3, 1, 3, 1, 3, 1, 3, 1, 5, 4, 1296 5, 1, 1, 3, 3, 2, 0, 1, 4, 5,1286 5, 1, 1, 3, 3, 2, 0, 1, 2, 5, 1297 1287 6, 7, 1, 3, 1, 1, 1, 1, 1, 1, 1298 1288 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, … … 1308 1298 3, 1, 1, 1, 3, 0, 1, 3, 4, 1, 1309 1299 3, 1, 1, 3, 3, 3, 3, 3, 2, 3, 1310 6, 3, 3, 4, 1, 2, 2, 3, 5, 10,1311 10, 7, 7, 5, 9, 2, 2, 5, 3, 5,1312 4, 3, 4, 4, 7, 3, 3, 3, 3, 4,1313 6, 1, 1, 1, 1, 1, 1, 1, 1, 0,1314 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,1315 0, 5, 1, 2, 3, 1, 2, 1, 1, 1,1300 6, 3, 3, 4, 1, 2, 2, 3, 5, 8, 1301 7, 7, 5, 9, 2, 2, 5, 3, 5, 4, 1302 3, 4, 4, 7, 3, 3, 3, 3, 4, 6, 1303 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1304 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1305 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1316 1306 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1317 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1318 2, 3, 3, 1, 3, 1, 2, 2, 2, 4, 1319 4, 4, 4, 1, 2, 2, 3, 1, 2, 2, 1320 1, 2, 2, 3, 1, 2, 2, 1, 1, 4, 1321 2, 5, 9, 7, 10, 12, 5, 7, 13, 2, 1322 2, 1, 2, 2, 3, 2, 3, 1, 2, 3, 1323 2, 2, 4, 0, 1, 2, 2, 1, 0, 1, 1324 2, 2, 5, 6, 2, 2, 4, 0, 2, 0, 1325 1, 1, 1, 5, 5, 5, 1, 5, 5, 9, 1326 1, 5, 0, 1, 1, 5, 1, 1, 5, 5, 1327 1, 3, 3, 4, 1, 1, 1, 1, 2, 1, 1328 3, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1329 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1330 2, 0, 2, 1, 4, 1, 2, 3, 4, 2, 1331 2, 1, 2, 2, 5, 5, 7, 6, 1, 2, 1332 2, 3, 4, 5, 2, 2, 4, 0, 4, 2, 1333 1, 1, 1, 0, 2, 5, 5, 13, 1, 1, 1334 3, 3, 2, 3, 3, 2, 4, 1, 6, 9, 1335 0, 11, 1, 3, 3, 3, 1, 1, 5, 2, 1336 5, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1337 0, 6, 2, 1, 2, 4, 2, 3, 3, 3, 1338 4, 5, 5, 5, 6, 1, 1, 1, 3, 0, 1339 5, 0, 1, 1, 2, 6, 1, 3, 0, 1, 1340 4, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1341 3, 2, 3, 3, 2, 4, 4, 3, 8, 3, 1342 2, 1, 2, 6, 8, 3, 2, 3, 3, 4, 1343 4, 3, 1, 1, 1, 4, 6, 3, 2, 3, 1344 3, 4, 4, 3, 2, 1, 2, 2, 1, 3, 1307 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1308 3, 3, 1, 3, 1, 2, 2, 2, 4, 4, 1309 4, 4, 1, 2, 2, 3, 1, 2, 2, 1, 1310 2, 2, 3, 1, 2, 2, 1, 1, 4, 2, 1311 5, 7, 2, 2, 2, 1, 2, 2, 3, 2, 1312 3, 1, 2, 3, 2, 2, 4, 0, 1, 2, 1313 2, 1, 0, 1, 2, 2, 5, 6, 2, 2, 1314 4, 0, 2, 0, 1, 1, 1, 5, 5, 5, 1315 1, 5, 5, 9, 1, 5, 0, 1, 1, 5, 1316 1, 1, 5, 5, 1, 3, 3, 4, 1, 1, 1317 1, 1, 2, 1, 3, 3, 1, 2, 1, 3, 1318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1319 1, 2, 1, 1, 1, 2, 0, 2, 1, 4, 1320 1, 2, 3, 4, 2, 2, 1, 2, 2, 5, 1321 5, 7, 6, 1, 2, 2, 3, 1, 2, 2, 1322 4, 2, 4, 0, 4, 2, 1, 1, 1, 0, 1323 2, 5, 5, 13, 1, 1, 3, 3, 2, 3, 1324 3, 2, 4, 1, 6, 9, 0, 11, 1, 3, 1325 3, 3, 1, 1, 5, 2, 5, 0, 1, 1, 1326 3, 0, 1, 1, 1, 1, 0, 6, 2, 1, 1327 2, 4, 2, 3, 3, 3, 4, 5, 5, 5, 1328 6, 1, 1, 1, 3, 0, 5, 0, 1, 1, 1329 2, 6, 1, 3, 0, 1, 4, 1, 1, 1, 1330 1, 2, 1, 2, 2, 1, 3, 2, 3, 3, 1331 2, 4, 4, 3, 8, 3, 2, 1, 2, 6, 1332 8, 3, 2, 3, 3, 4, 4, 3, 1, 1, 1333 1, 4, 6, 3, 2, 3, 3, 4, 4, 3, 1334 2, 1, 2, 2, 1, 3, 2, 3, 3, 2, 1335 4, 4, 3, 6, 8, 3, 2, 1, 2, 2, 1345 1336 2, 3, 3, 2, 4, 4, 3, 6, 8, 3, 1346 2, 1, 2, 2, 2, 3, 3, 2, 4, 4, 1347 3, 6, 8, 3, 2, 1, 2, 2, 1, 2, 1348 3, 3, 2, 4, 6, 8, 1, 2, 2, 1, 1349 2, 2, 3, 3, 1, 4, 4, 3, 5, 8, 1350 3, 4, 5, 1, 5, 5, 6, 6, 1, 2, 1351 2, 1, 2, 2, 3, 3, 1, 4, 4, 3, 1352 5, 8, 3, 1, 2, 1, 4, 6, 5, 6, 1353 7, 7, 1, 2, 2, 1, 2, 2, 3, 3, 1354 1, 4, 4, 3, 8, 3, 1, 1, 2, 1, 1355 1, 2, 3, 2, 3, 2, 3, 5, 2, 6, 1356 3, 2, 5, 2, 6, 3, 2, 6, 6, 6, 1357 7, 1, 2, 1, 1, 1, 2, 3, 2, 3, 1358 2, 3, 5, 6, 2, 5, 6, 2, 5, 7, 1359 6, 6, 0, 1, 0, 2 1337 2, 1, 2, 2, 1, 1, 2, 3, 3, 2, 1338 4, 6, 8, 1, 2, 2, 1, 2, 2, 3, 1339 3, 1, 4, 4, 3, 5, 8, 3, 2, 3, 1340 1, 5, 5, 6, 6, 1, 2, 2, 1, 2, 1341 2, 3, 3, 1, 4, 4, 3, 5, 8, 3, 1342 1, 2, 1, 2, 6, 5, 6, 7, 7, 1, 1343 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 1344 3, 8, 3, 1, 1, 2, 1, 1, 2, 3, 1345 2, 3, 2, 3, 3, 2, 4, 3, 2, 3, 1346 2, 4, 3, 2, 6, 6, 6, 7, 1, 2, 1347 1, 1, 1, 2, 3, 2, 3, 2, 3, 3, 1348 4, 2, 3, 4, 2, 5, 5, 6, 6, 0, 1349 1, 0, 2 1360 1350 }; 1361 1351 … … 1365 1355 static const yytype_uint16 yydefact[] = 1366 1356 { 1367 279, 279, 300, 298, 301, 299, 302, 303, 285, 287, 1368 286, 0, 288, 314, 306, 311, 309, 310, 308, 307, 1369 312, 313, 315, 316, 317, 531, 531, 531, 0, 0, 1370 0, 279, 279, 289, 304, 305, 7, 344, 0, 8, 1371 13, 14, 0, 2, 279, 549, 9, 509, 507, 231, 1372 3, 441, 3, 244, 0, 3, 3, 3, 232, 3, 1373 0, 0, 0, 280, 281, 283, 279, 292, 295, 297, 1374 325, 271, 318, 323, 272, 333, 273, 340, 337, 347, 1375 0, 0, 348, 274, 458, 3, 3, 0, 2, 503, 1376 508, 513, 284, 0, 0, 531, 561, 531, 2, 572, 1377 573, 574, 279, 0, 714, 715, 0, 12, 279, 0, 1378 255, 256, 0, 280, 275, 276, 277, 278, 510, 290, 1379 381, 532, 533, 359, 360, 12, 433, 431, 11, 429, 1380 432, 0, 487, 482, 473, 433, 0, 0, 512, 0, 1381 280, 279, 0, 0, 0, 0, 0, 0, 0, 0, 1382 279, 2, 0, 716, 280, 566, 578, 720, 713, 711, 1383 718, 0, 0, 238, 2, 0, 516, 427, 428, 426, 1384 0, 0, 0, 0, 531, 0, 588, 0, 0, 529, 1385 525, 531, 546, 531, 531, 526, 2, 527, 531, 585, 1386 531, 531, 0, 0, 0, 279, 279, 298, 345, 0, 1387 2, 279, 245, 282, 293, 326, 338, 0, 2, 0, 1388 441, 246, 280, 319, 334, 341, 459, 0, 2, 0, 1389 296, 320, 327, 328, 0, 335, 339, 342, 346, 0, 1390 2, 279, 350, 0, 384, 460, 464, 0, 0, 0, 1391 1, 279, 2, 514, 560, 562, 279, 2, 724, 280, 1392 727, 529, 529, 280, 0, 0, 0, 258, 531, 526, 1393 2, 279, 0, 0, 279, 534, 2, 485, 2, 538, 1394 0, 0, 0, 0, 17, 56, 4, 5, 6, 15, 1395 0, 0, 0, 279, 2, 0, 279, 62, 63, 64, 1396 65, 19, 18, 20, 23, 47, 66, 0, 69, 73, 1397 76, 79, 84, 87, 89, 91, 93, 95, 97, 102, 1398 479, 734, 439, 478, 0, 437, 438, 0, 550, 565, 1399 568, 571, 577, 580, 583, 2, 279, 0, 3, 414, 1400 0, 422, 280, 279, 292, 318, 272, 333, 340, 3, 1401 3, 396, 400, 410, 415, 458, 279, 416, 689, 690, 1402 279, 417, 419, 279, 2, 567, 579, 712, 2, 2, 1403 233, 2, 0, 0, 443, 442, 137, 2, 2, 235, 1404 2, 2, 234, 2, 266, 2, 267, 0, 265, 0, 1405 0, 0, 0, 0, 0, 0, 0, 0, 551, 590, 1406 0, 441, 2, 545, 554, 643, 547, 548, 517, 279, 1407 2, 584, 593, 586, 587, 0, 261, 279, 279, 324, 1408 0, 280, 279, 279, 717, 721, 719, 518, 279, 529, 1409 239, 247, 294, 0, 2, 519, 279, 483, 321, 322, 1410 268, 336, 343, 279, 279, 279, 2, 373, 279, 361, 1411 0, 0, 367, 711, 279, 732, 387, 0, 461, 484, 1412 236, 237, 504, 279, 424, 0, 279, 221, 0, 2, 1413 223, 0, 280, 0, 241, 2, 242, 263, 0, 0, 1414 2, 279, 529, 279, 470, 472, 471, 0, 0, 734, 1415 0, 279, 0, 279, 474, 279, 544, 542, 543, 541, 1416 0, 536, 539, 66, 101, 0, 279, 54, 50, 279, 1417 59, 279, 279, 48, 49, 61, 2, 124, 0, 0, 1418 435, 0, 434, 279, 52, 53, 16, 0, 30, 31, 1419 35, 2, 0, 114, 115, 116, 117, 118, 119, 120, 1420 121, 122, 123, 0, 0, 51, 0, 0, 0, 0, 1357 278, 278, 299, 297, 300, 298, 301, 302, 284, 286, 1358 285, 0, 287, 313, 305, 310, 308, 309, 307, 306, 1359 311, 312, 314, 315, 316, 527, 527, 527, 0, 0, 1360 0, 278, 278, 288, 303, 304, 7, 343, 0, 8, 1361 13, 14, 0, 2, 278, 545, 9, 505, 503, 231, 1362 3, 436, 3, 244, 0, 3, 3, 3, 232, 3, 1363 0, 0, 0, 279, 280, 282, 278, 291, 294, 296, 1364 324, 270, 317, 322, 271, 332, 272, 339, 336, 346, 1365 0, 0, 347, 273, 453, 457, 3, 3, 0, 2, 1366 499, 504, 509, 283, 0, 0, 527, 557, 527, 2, 1367 568, 569, 570, 278, 0, 711, 712, 0, 12, 278, 1368 0, 254, 255, 0, 279, 274, 275, 276, 277, 506, 1369 289, 375, 528, 529, 353, 354, 12, 427, 428, 11, 1370 423, 426, 0, 483, 478, 469, 427, 428, 0, 0, 1371 508, 0, 279, 278, 0, 0, 0, 0, 0, 0, 1372 0, 0, 278, 278, 2, 0, 713, 279, 562, 574, 1373 717, 710, 708, 715, 0, 0, 238, 2, 0, 512, 1374 421, 422, 420, 0, 0, 0, 0, 527, 0, 614, 1375 615, 0, 0, 525, 521, 527, 542, 527, 527, 522, 1376 2, 523, 527, 581, 527, 527, 584, 0, 0, 0, 1377 278, 278, 297, 344, 2, 278, 245, 281, 292, 325, 1378 337, 458, 0, 2, 0, 436, 246, 279, 318, 333, 1379 340, 454, 0, 2, 0, 295, 319, 326, 327, 0, 1380 334, 338, 341, 345, 428, 278, 278, 349, 352, 0, 1381 378, 455, 459, 0, 0, 0, 1, 278, 2, 510, 1382 556, 558, 278, 2, 721, 279, 724, 525, 525, 279, 1383 0, 0, 0, 257, 527, 522, 2, 278, 0, 0, 1384 278, 530, 2, 481, 2, 534, 0, 0, 0, 0, 1385 17, 56, 4, 5, 6, 15, 0, 0, 0, 278, 1386 2, 0, 278, 62, 63, 64, 65, 19, 18, 20, 1387 23, 47, 66, 0, 69, 73, 76, 79, 84, 87, 1388 89, 91, 93, 95, 97, 102, 475, 731, 434, 474, 1389 0, 432, 433, 0, 546, 561, 564, 567, 573, 576, 1390 579, 343, 0, 2, 719, 0, 278, 722, 2, 278, 1391 3, 408, 0, 416, 279, 278, 291, 317, 271, 332, 1392 339, 3, 3, 390, 394, 404, 409, 453, 278, 410, 1393 686, 687, 278, 411, 413, 278, 2, 563, 575, 709, 1394 2, 2, 233, 2, 0, 0, 438, 437, 137, 2, 1395 2, 235, 2, 2, 234, 2, 265, 2, 266, 0, 1396 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1397 547, 586, 0, 436, 2, 541, 550, 640, 543, 544, 1398 513, 278, 2, 580, 589, 582, 583, 0, 260, 278, 1399 278, 323, 0, 279, 0, 278, 714, 718, 716, 514, 1400 278, 525, 239, 247, 293, 0, 2, 515, 278, 479, 1401 320, 321, 267, 335, 342, 0, 278, 2, 367, 278, 1402 355, 0, 0, 361, 708, 278, 729, 381, 0, 456, 1403 480, 236, 237, 500, 278, 418, 0, 278, 221, 0, 1404 2, 223, 0, 279, 0, 241, 2, 242, 262, 0, 1405 0, 2, 278, 525, 278, 466, 468, 467, 0, 0, 1406 731, 0, 278, 0, 278, 470, 278, 540, 538, 539, 1407 537, 0, 532, 535, 66, 101, 0, 278, 54, 50, 1408 278, 59, 278, 278, 48, 49, 61, 2, 124, 0, 1409 0, 430, 0, 429, 108, 278, 52, 53, 16, 0, 1410 30, 31, 35, 2, 0, 114, 115, 116, 117, 118, 1411 119, 120, 121, 122, 123, 0, 0, 51, 0, 0, 1421 1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422 0, 0, 0, 0, 0, 0, 105, 2, 629, 440, 1423 626, 531, 531, 634, 462, 279, 2, 569, 2, 570, 1424 0, 581, 582, 279, 2, 279, 0, 691, 280, 695, 1425 686, 687, 693, 279, 0, 618, 2, 2, 651, 531, 1426 734, 601, 531, 531, 734, 531, 615, 531, 531, 665, 1427 423, 648, 531, 531, 656, 663, 279, 418, 280, 0, 1428 0, 279, 701, 280, 706, 734, 698, 279, 703, 734, 1429 0, 279, 279, 0, 3, 17, 2, 0, 0, 445, 1430 732, 0, 0, 451, 225, 0, 279, 0, 0, 0, 1431 529, 553, 557, 559, 589, 592, 596, 599, 552, 591, 1432 0, 269, 3, 0, 279, 262, 0, 0, 0, 0, 1433 260, 0, 2, 0, 0, 243, 520, 279, 0, 0, 1434 439, 3, 3, 0, 0, 279, 0, 0, 675, 371, 1435 374, 378, 531, 378, 680, 377, 672, 531, 531, 349, 1436 362, 370, 363, 531, 365, 368, 279, 733, 0, 0, 1437 385, 732, 280, 3, 403, 3, 407, 406, 575, 0, 1438 515, 279, 3, 3, 279, 422, 280, 3, 416, 417, 1439 2, 0, 0, 0, 469, 291, 279, 465, 467, 3, 1440 2, 2, 0, 486, 3, 0, 538, 126, 0, 210, 1441 0, 0, 2, 0, 0, 36, 0, 0, 279, 21, 1442 0, 22, 0, 675, 436, 0, 106, 0, 3, 2, 1443 28, 2, 0, 33, 0, 2, 26, 103, 104, 70, 1444 71, 72, 74, 75, 77, 78, 82, 83, 80, 81, 1445 85, 86, 88, 90, 92, 94, 96, 0, 0, 735, 1446 279, 0, 0, 0, 630, 631, 627, 628, 481, 480, 1447 279, 0, 0, 0, 280, 279, 279, 645, 688, 344, 1448 0, 722, 279, 725, 644, 2, 279, 0, 0, 0, 1449 0, 0, 0, 0, 0, 3, 652, 604, 619, 653, 1450 2, 600, 607, 420, 602, 603, 421, 2, 614, 622, 1451 616, 617, 649, 650, 664, 692, 696, 694, 734, 253, 1452 2, 728, 2, 411, 700, 705, 412, 279, 3, 390, 1453 3, 3, 3, 441, 0, 3, 3, 2, 453, 450, 1454 733, 0, 446, 2, 449, 452, 0, 279, 226, 248, 1455 3, 257, 259, 0, 441, 2, 555, 556, 2, 594, 1456 595, 0, 3, 0, 521, 3, 330, 329, 332, 331, 1457 463, 279, 0, 522, 0, 523, 356, 2, 629, 0, 1458 0, 364, 366, 2, 0, 0, 0, 0, 0, 380, 1459 676, 677, 375, 379, 376, 673, 674, 369, 373, 351, 1460 387, 382, 388, 0, 0, 0, 425, 224, 0, 0, 1461 3, 2, 651, 418, 0, 511, 0, 734, 473, 0, 1462 279, 279, 279, 0, 535, 537, 127, 0, 206, 0, 1463 0, 211, 212, 55, 60, 279, 0, 58, 57, 0, 1464 0, 125, 676, 0, 67, 68, 107, 112, 3, 108, 1465 106, 0, 0, 3, 25, 35, 3, 0, 99, 0, 1466 3, 633, 637, 640, 632, 3, 576, 108, 2, 279, 1467 3, 3, 280, 0, 2, 2, 723, 726, 0, 3, 1468 606, 610, 613, 621, 655, 659, 662, 279, 0, 3, 1469 605, 620, 654, 279, 279, 413, 279, 279, 279, 0, 1470 0, 0, 0, 240, 108, 0, 101, 0, 3, 3, 1471 0, 447, 0, 444, 0, 0, 229, 279, 0, 0, 1472 126, 0, 0, 0, 0, 0, 126, 0, 0, 0, 1473 2, 0, 0, 3, 128, 129, 2, 139, 130, 131, 1474 132, 133, 134, 135, 141, 143, 0, 0, 0, 270, 1475 279, 279, 531, 641, 0, 0, 0, 524, 630, 0, 1476 0, 279, 279, 679, 683, 685, 678, 372, 386, 383, 1477 563, 2, 647, 646, 0, 652, 2, 466, 468, 488, 1478 3, 496, 497, 0, 2, 492, 3, 3, 0, 0, 1479 540, 0, 0, 210, 0, 3, 37, 108, 732, 106, 1480 0, 3, 644, 42, 3, 40, 3, 34, 0, 3, 1481 98, 100, 0, 2, 635, 636, 0, 697, 279, 702, 1482 279, 0, 0, 0, 3, 279, 279, 279, 621, 0, 1483 2, 608, 609, 2, 623, 2, 657, 658, 0, 666, 1484 0, 3, 0, 3, 3, 3, 3, 398, 397, 401, 1485 0, 731, 2, 2, 730, 109, 0, 0, 0, 0, 1486 3, 448, 3, 0, 227, 142, 3, 280, 279, 0, 1487 0, 0, 0, 2, 187, 0, 185, 0, 0, 0, 1488 0, 0, 0, 191, 0, 279, 531, 147, 144, 279, 1489 0, 0, 252, 264, 3, 3, 530, 642, 597, 279, 1490 279, 279, 353, 357, 0, 2, 681, 682, 279, 251, 1491 279, 0, 499, 476, 279, 0, 0, 475, 490, 0, 1492 207, 0, 213, 106, 0, 0, 113, 110, 0, 0, 1493 0, 0, 0, 0, 24, 0, 638, 279, 564, 699, 1494 704, 707, 708, 709, 0, 3, 3, 660, 279, 279, 1495 279, 3, 3, 0, 668, 0, 0, 0, 0, 729, 1496 279, 279, 3, 528, 109, 455, 0, 0, 230, 280, 1497 0, 0, 0, 0, 279, 188, 186, 0, 183, 189, 1498 0, 0, 0, 192, 195, 193, 190, 0, 126, 140, 1499 138, 228, 0, 0, 0, 279, 279, 108, 279, 405, 1500 409, 408, 0, 493, 2, 494, 2, 495, 489, 279, 1501 214, 0, 0, 3, 644, 32, 111, 2, 45, 2, 1502 43, 41, 29, 109, 27, 3, 710, 0, 0, 3, 1503 3, 3, 0, 0, 667, 669, 611, 624, 254, 2, 1504 395, 3, 394, 0, 457, 454, 126, 0, 0, 126, 1505 3, 0, 126, 184, 0, 2, 200, 194, 0, 108, 1506 136, 558, 598, 0, 352, 279, 3, 2, 0, 0, 1507 2, 208, 215, 0, 0, 0, 0, 0, 0, 250, 1508 249, 0, 0, 0, 670, 671, 279, 0, 456, 148, 1509 0, 0, 2, 161, 126, 150, 0, 178, 0, 126, 1510 0, 2, 152, 0, 2, 2, 279, 0, 354, 0, 1511 279, 498, 500, 491, 0, 0, 111, 38, 3, 3, 1512 639, 612, 625, 661, 399, 126, 154, 157, 0, 156, 1513 160, 3, 163, 162, 0, 126, 180, 126, 3, 0, 1514 279, 0, 2, 279, 279, 684, 2, 209, 216, 0, 1515 0, 0, 149, 0, 0, 159, 217, 164, 2, 219, 1516 179, 0, 182, 168, 196, 3, 201, 205, 0, 279, 1517 355, 279, 0, 39, 46, 44, 155, 158, 126, 0, 1518 165, 279, 126, 126, 0, 169, 0, 0, 675, 202, 1519 203, 204, 197, 3, 358, 279, 145, 166, 151, 126, 1520 220, 181, 176, 174, 170, 153, 126, 0, 676, 0, 1413 0, 0, 0, 0, 0, 0, 0, 0, 105, 2, 1414 626, 435, 623, 527, 527, 631, 460, 278, 2, 565, 1415 566, 0, 577, 578, 0, 2, 720, 723, 108, 278, 1416 2, 278, 0, 688, 279, 692, 683, 684, 690, 0, 1417 2, 2, 648, 527, 731, 597, 527, 527, 731, 527, 1418 611, 527, 527, 662, 417, 645, 527, 527, 653, 660, 1419 278, 412, 279, 0, 0, 278, 698, 279, 703, 731, 1420 695, 278, 700, 731, 278, 278, 278, 0, 108, 0, 1421 17, 2, 0, 0, 440, 729, 0, 0, 446, 225, 1422 0, 278, 0, 0, 0, 525, 549, 553, 555, 585, 1423 588, 592, 595, 548, 587, 0, 268, 638, 0, 278, 1424 261, 0, 0, 0, 0, 259, 2, 0, 243, 516, 1425 278, 0, 0, 0, 0, 278, 278, 0, 0, 672, 1426 365, 368, 372, 527, 372, 677, 371, 669, 527, 527, 1427 348, 356, 364, 357, 527, 359, 362, 278, 730, 0, 1428 0, 379, 729, 279, 3, 397, 3, 401, 400, 571, 1429 0, 511, 278, 3, 3, 278, 416, 279, 3, 410, 1430 411, 2, 0, 0, 0, 465, 290, 278, 461, 463, 1431 3, 2, 2, 0, 482, 3, 0, 534, 126, 0, 1432 210, 0, 0, 2, 0, 0, 36, 0, 0, 108, 1433 278, 21, 0, 22, 0, 672, 431, 0, 106, 3, 1434 2, 28, 2, 0, 33, 0, 2, 26, 103, 104, 1435 70, 71, 72, 74, 75, 77, 78, 82, 83, 80, 1436 81, 85, 86, 88, 90, 92, 94, 96, 0, 0, 1437 732, 278, 0, 0, 0, 627, 628, 624, 625, 477, 1438 476, 278, 0, 3, 278, 694, 278, 699, 279, 278, 1439 278, 278, 642, 685, 641, 2, 278, 0, 0, 0, 1440 0, 0, 0, 0, 0, 663, 0, 649, 600, 616, 1441 650, 2, 596, 603, 414, 598, 599, 415, 2, 610, 1442 619, 612, 613, 646, 647, 661, 689, 693, 691, 731, 1443 252, 2, 725, 2, 405, 697, 702, 406, 0, 384, 1444 3, 3, 3, 3, 436, 3, 0, 2, 448, 445, 1445 730, 0, 441, 2, 444, 447, 0, 278, 226, 248, 1446 3, 256, 258, 0, 436, 2, 551, 552, 2, 590, 1447 591, 0, 639, 517, 3, 329, 328, 331, 330, 278, 1448 518, 0, 519, 278, 358, 360, 2, 0, 0, 0, 1449 0, 374, 673, 674, 369, 373, 370, 670, 671, 363, 1450 367, 350, 381, 376, 382, 0, 0, 0, 419, 224, 1451 0, 0, 3, 2, 648, 412, 0, 507, 0, 731, 1452 469, 0, 278, 278, 278, 0, 531, 533, 127, 0, 1453 206, 0, 0, 211, 212, 55, 60, 278, 0, 58, 1454 57, 0, 125, 673, 0, 67, 68, 107, 112, 3, 1455 106, 0, 0, 0, 25, 35, 3, 0, 99, 0, 1456 3, 630, 634, 637, 629, 3, 572, 3, 696, 701, 1457 2, 278, 3, 3, 279, 0, 3, 602, 606, 609, 1458 618, 652, 656, 659, 278, 3, 601, 617, 651, 278, 1459 278, 407, 278, 278, 726, 0, 0, 0, 0, 240, 1460 0, 101, 0, 3, 3, 0, 442, 0, 439, 0, 1461 0, 229, 278, 0, 0, 126, 0, 0, 0, 0, 1462 0, 126, 0, 0, 0, 2, 0, 0, 3, 128, 1463 129, 2, 139, 130, 131, 132, 133, 134, 135, 141, 1464 143, 0, 0, 0, 269, 278, 278, 527, 0, 520, 1465 278, 108, 676, 680, 682, 675, 366, 380, 377, 559, 1466 2, 644, 643, 0, 649, 2, 462, 464, 484, 3, 1467 492, 493, 0, 2, 488, 3, 3, 0, 0, 536, 1468 0, 0, 210, 0, 3, 37, 729, 106, 0, 3, 1469 641, 42, 3, 40, 3, 34, 0, 3, 98, 100, 1470 0, 2, 632, 633, 0, 0, 278, 0, 0, 0, 1471 3, 618, 0, 2, 604, 605, 2, 620, 2, 654, 1472 655, 0, 0, 3, 0, 3, 3, 3, 3, 392, 1473 391, 395, 2, 2, 728, 727, 109, 0, 0, 0, 1474 0, 3, 443, 3, 0, 227, 142, 3, 279, 278, 1475 0, 0, 0, 0, 2, 187, 0, 185, 0, 0, 1476 0, 0, 0, 0, 191, 0, 108, 527, 147, 144, 1477 278, 0, 0, 251, 263, 3, 3, 526, 593, 351, 1478 2, 678, 679, 278, 250, 278, 0, 495, 472, 278, 1479 0, 0, 471, 486, 0, 207, 0, 213, 106, 0, 1480 0, 113, 110, 0, 0, 0, 0, 0, 0, 24, 1481 0, 635, 278, 560, 249, 704, 705, 706, 0, 657, 1482 278, 278, 278, 3, 3, 0, 665, 0, 0, 0, 1483 0, 278, 278, 3, 524, 109, 450, 0, 0, 230, 1484 279, 0, 0, 0, 0, 278, 188, 186, 0, 183, 1485 189, 0, 0, 0, 192, 195, 193, 190, 126, 140, 1486 138, 228, 0, 0, 278, 399, 403, 402, 0, 489, 1487 2, 490, 2, 491, 485, 278, 214, 0, 0, 3, 1488 641, 32, 111, 2, 45, 2, 43, 41, 29, 109, 1489 27, 3, 707, 3, 3, 3, 0, 0, 664, 666, 1490 607, 621, 253, 2, 389, 3, 388, 0, 452, 449, 1491 126, 0, 0, 126, 3, 0, 126, 184, 0, 2, 1492 200, 194, 0, 136, 554, 594, 3, 2, 0, 0, 1493 2, 208, 215, 0, 0, 0, 0, 0, 0, 0, 1494 0, 0, 667, 668, 278, 0, 451, 148, 0, 0, 1495 2, 161, 126, 150, 0, 178, 0, 126, 0, 2, 1496 152, 0, 2, 2, 0, 278, 494, 496, 487, 0, 1497 0, 111, 38, 3, 3, 636, 608, 622, 658, 393, 1498 126, 154, 157, 0, 156, 160, 3, 163, 162, 0, 1499 126, 180, 126, 3, 0, 278, 0, 2, 681, 2, 1500 209, 216, 0, 0, 0, 149, 0, 0, 159, 217, 1501 164, 2, 219, 179, 0, 182, 168, 196, 3, 201, 1502 205, 0, 278, 0, 39, 46, 44, 155, 158, 126, 1503 0, 165, 278, 126, 126, 0, 169, 0, 0, 672, 1504 202, 203, 204, 197, 3, 278, 145, 166, 151, 126, 1505 220, 181, 176, 174, 170, 153, 126, 0, 673, 0, 1521 1506 0, 146, 167, 177, 171, 175, 174, 172, 3, 0, 1522 47 7, 173, 198, 3, 1991507 473, 173, 198, 3, 199 1523 1508 }; 1524 1509 … … 1526 1511 static const yytype_int16 yydefgoto[] = 1527 1512 { 1528 -1, 8 16, 457, 291, 45, 129, 130, 292, 293, 294,1529 295, 762, 744, 1134, 1135, 296, 297, 298, 299, 300,1530 30 1, 302, 303, 304, 305, 306, 307, 308, 309, 1037,1531 5 07, 977, 311, 978, 534, 956, 1062, 1526, 1064, 1065,1532 106 6, 1067, 1527, 1068, 1069, 1457, 1458, 1423, 1424, 1425,1533 1 509, 1510, 1514, 1515, 1544, 1545, 1070, 1381, 1071, 1072,1534 1 313, 1314, 1315, 1495, 1073, 960, 961, 962, 1403, 1487,1535 14 88, 458, 459, 877, 878, 1045, 48, 49, 50, 51,1536 52, 3 29, 152, 55, 56, 57, 58, 59, 331, 61,1537 62, 25 3, 64, 65, 264, 333, 334, 68, 69, 70,1538 71, 11 4, 73, 195, 336, 115, 76, 116, 78, 79,1539 80, 4 38, 439, 440, 441, 679, 922, 680, 81, 82,1540 4 45, 700, 858, 859, 339, 340, 703, 704, 705, 341,1541 3 42, 343, 344, 455, 170, 131, 132, 511, 313, 163,1542 6 29, 630, 631, 632, 633, 83, 117, 478, 479, 948,1543 480, 267, 484, 314, 85, 133, 134, 86, 1339, 1114,1544 11 15, 1116, 1117, 87, 88, 721, 89, 263, 90, 91,1545 179, 1039, 665, 393, 121, 92, 490, 491, 492, 180,1546 258, 182, 183, 184, 259, 95, 96, 97, 98, 99,1547 100, 101, 1 87, 188, 189, 190, 191, 827, 591, 592,1548 593, 594, 595, 596, 597, 598, 559, 560, 561, 562,1549 684, 102, 600, 601, 602, 603, 604, 605, 921, 686,1550 6 87, 688, 579, 347, 348, 349, 350, 442, 158, 104,1551 105, 351, 352, 698, 5561513 -1, 826, 468, 297, 45, 130, 131, 298, 299, 300, 1514 301, 773, 755, 1122, 1123, 302, 303, 304, 305, 306, 1515 307, 308, 309, 310, 311, 312, 313, 314, 315, 1032, 1516 518, 978, 317, 979, 546, 958, 1057, 1476, 1059, 1060, 1517 1061, 1062, 1477, 1063, 1064, 1412, 1413, 1381, 1382, 1383, 1518 1460, 1461, 1465, 1466, 1494, 1495, 1065, 1345, 1066, 1067, 1519 1284, 1285, 1286, 1448, 1068, 962, 963, 964, 1363, 1440, 1520 1441, 469, 470, 887, 888, 1040, 48, 49, 50, 51, 1521 52, 341, 155, 55, 56, 57, 58, 59, 343, 61, 1522 62, 259, 64, 65, 270, 345, 346, 68, 69, 70, 1523 71, 115, 73, 200, 348, 116, 76, 117, 78, 79, 1524 80, 449, 450, 451, 452, 690, 924, 691, 81, 82, 1525 456, 711, 868, 869, 351, 352, 714, 715, 716, 353, 1526 354, 355, 356, 466, 335, 132, 133, 522, 319, 166, 1527 644, 645, 646, 647, 648, 83, 118, 85, 489, 490, 1528 950, 491, 273, 495, 320, 86, 134, 135, 87, 1305, 1529 1103, 1104, 1105, 1106, 88, 89, 732, 90, 269, 91, 1530 92, 183, 1034, 678, 405, 122, 93, 501, 502, 503, 1531 184, 264, 186, 187, 188, 265, 96, 97, 98, 99, 1532 100, 101, 102, 191, 192, 193, 194, 195, 838, 605, 1533 606, 607, 608, 196, 610, 611, 612, 571, 572, 573, 1534 574, 695, 103, 614, 615, 616, 617, 618, 619, 923, 1535 697, 698, 699, 595, 359, 360, 361, 362, 321, 161, 1536 105, 106, 107, 364, 709, 568 1552 1537 }; 1553 1538 1554 1539 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1555 1540 STATE-NUM. */ 1556 #define YYPACT_NINF -12 971541 #define YYPACT_NINF -1269 1557 1542 static const yytype_int16 yypact[] = 1558 1543 { 1559 5063, 10209, -1297, 115, -1297, -1297, -1297, -1297, -1297, -1297, 1560 -1297, 109, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, 1561 -1297, -1297, -1297, -1297, -1297, 252, 252, 252, 866, 397, 1562 123, 7705, 771, -1297, -1297, -1297, -1297, -1297, 225, -1297, 1563 -1297, -1297, 776, -1297, 9574, -1297, -1297, -1297, -1297, -1297, 1564 -1297, 208, 239, -1297, 1099, -1297, -1297, -1297, -1297, 242, 1565 505, 360, 130, 7814, -1297, -1297, 9642, 626, -1297, -1297, 1566 -1297, 693, 365, 5846, 163, 733, 693, 1021, -1297, -1297, 1567 289, 218, -1297, 693, 1254, 275, -1297, 401, 413, -1297, 1568 -1297, -1297, -1297, 327, 239, 252, -1297, 252, -1297, -1297, 1569 -1297, -1297, 10445, 1099, -1297, -1297, 1099, -1297, 10504, 344, 1570 -1297, -1297, 638, 10563, -1297, 771, 771, 771, -1297, -1297, 1571 -1297, 252, -1297, -1297, -1297, 380, 384, -1297, -1297, -1297, 1572 -1297, 400, -1297, -1297, -1297, -1297, 457, 466, -1297, 486, 1573 771, 9150, 2777, 75, 495, 519, 568, 584, 594, 602, 1574 3892, -1297, 608, -1297, 9710, -1297, -1297, -1297, -1297, 617, 1575 -1297, 206, 4815, -1297, 643, 243, -1297, -1297, -1297, -1297, 1576 639, 325, 326, 385, 252, 663, -1297, 505, 1914, 735, 1577 -1297, 84, -1297, 252, 252, 239, -1297, -1297, 105, -1297, 1578 252, 252, 2563, 705, 742, 771, 11342, -1297, -1297, 746, 1579 -1297, 9574, -1297, -1297, 693, -1297, -1297, 239, -1297, 1099, 1580 208, -1297, 3694, -1297, 771, 771, 771, 239, -1297, 866, 1581 -1297, 3561, -1297, -1297, 691, 771, -1297, 771, -1297, 769, 1582 -1297, 10268, 768, 397, 795, 771, -1297, 866, 782, 789, 1583 -1297, 7705, 852, -1297, -1297, -1297, 3826, -1297, -1297, 11035, 1584 -1297, 735, 121, 10563, 6255, 638, 2563, -1297, 136, -1297, 1585 -1297, 10504, 1099, 814, 12170, -1297, -1297, 422, -1297, 11905, 1586 11622, 11679, 11622, 11736, -1297, 824, -1297, -1297, -1297, -1297, 1587 11793, 11793, 852, 8832, -1297, 11622, 9256, -1297, -1297, -1297, 1588 -1297, -1297, -1297, 872, -1297, 996, 2005, 11622, -1297, 482, 1589 140, 497, 633, 675, 843, 844, 870, 901, 28, -1297, 1590 -1297, 884, 516, -1297, 314, -1297, -1297, 2777, -1297, -1297, 1591 551, 911, -1297, 588, 911, -1297, 8938, 933, -1297, -1297, 1592 1002, 1428, 8472, 11342, 693, -1297, 693, 771, 771, -1297, 1593 -1297, -1297, -1297, -1297, -1297, 771, 10622, 1099, -1297, -1297, 1594 10681, 1019, -1297, 3892, -1297, -1297, -1297, -1297, -1297, -1297, 1595 -1297, -1297, 4608, 11622, -1297, -1297, -1297, -1297, -1297, -1297, 1596 -1297, -1297, -1297, -1297, -1297, -1297, -1297, 638, -1297, 839, 1597 916, 938, 940, 867, 949, 963, 970, 1914, -1297, -1297, 1598 979, 208, -1297, -1297, -1297, 980, -1297, -1297, -1297, 3826, 1599 -1297, -1297, -1297, -1297, -1297, 2563, -1297, 9150, 9150, -1297, 1600 638, 12198, 9150, 8124, -1297, -1297, -1297, -1297, 3826, 121, 1601 -1297, -1297, 693, 239, -1297, -1297, 3826, -1297, 4002, -1297, 1602 -1297, 771, 771, 9150, 8726, 10740, -1297, 377, 4504, -1297, 1603 388, 402, 397, -1297, 10268, 981, 975, 397, 771, -1297, 1604 -1297, -1297, -1297, 11159, -1297, 339, 8392, -1297, 239, 994, 1605 -1297, 638, 11980, 6754, -1297, -1297, -1297, -1297, 926, 2563, 1606 -1297, 8537, 735, 6493, -1297, -1297, -1297, 944, 540, 884, 1607 397, 12170, 276, 10504, -1297, 12170, -1297, -1297, -1297, -1297, 1608 571, -1297, 1009, -1297, -1297, 18, 8832, -1297, -1297, 8832, 1609 -1297, 9044, 8832, -1297, -1297, -1297, -1297, -1297, 604, 1010, 1610 581, 1012, -1297, 7016, -1297, -1297, -1297, 147, -1297, -1297, 1611 6903, -1297, 152, -1297, -1297, -1297, -1297, -1297, -1297, -1297, 1612 -1297, -1297, -1297, 6255, 6255, -1297, 11622, 11622, 11622, 11622, 1613 11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622, 1614 11622, 11622, 11622, 11622, 5083, 6255, -1297, 516, 886, -1297, 1615 -1297, 252, 252, -1297, -1297, 9150, -1297, -1297, -1297, 980, 1616 852, -1297, 980, 7016, -1297, 9362, 1015, -1297, 10799, -1297, 1617 -1297, 617, -1297, 9846, 1017, -1297, 804, -1297, 1782, 146, 1618 884, -1297, 252, 252, 884, 236, -1297, 252, 252, 980, 1619 -1297, -1297, 252, 252, -1297, 911, 10858, 1099, 12111, 198, 1620 427, 10858, -1297, 11094, -1297, 884, -1297, 10622, -1297, 14, 1621 1020, 8189, 8189, 1099, 5252, 1014, -1297, 210, 1022, -1297, 1622 1025, 4815, 367, -1297, 1106, 1099, 8189, 852, 638, 852, 1623 735, 737, 911, -1297, -1297, 753, 911, -1297, -1297, -1297, 1624 1060, -1297, 11565, 239, 11159, -1297, 629, 1035, 670, 1036, 1625 -1297, 699, -1297, 1037, 239, -1297, -1297, 3826, 239, 701, 1626 889, 1032, 1034, 405, 425, 7368, 1486, 11622, 2366, -1297, 1627 -1297, 1039, 125, 1039, -1297, -1297, -1297, 252, 252, -1297, 1628 -1297, 397, -1297, 252, -1297, -1297, 9914, 397, 1038, 11622, 1629 -1297, 981, 12111, -1297, -1297, 1047, -1297, -1297, -1297, 852, 1630 -1297, 12046, 11622, -1297, 8189, 610, 8472, -1297, -1297, 617, 1631 1048, 1050, 944, 2999, -1297, -1297, 12170, -1297, -1297, 1032, 1632 -1297, -1297, 1053, -1297, 1032, 1056, 11905, 6255, 1045, 1085, 1633 1059, 1061, -1297, 1062, 1068, -1297, 1075, 1077, 7128, -1297, 1634 6255, -1297, 581, 1714, -1297, 5360, 6255, 1076, 1078, -1297, 1635 -1297, -1297, 711, -1297, 6255, -1297, -1297, -1297, -1297, -1297, 1636 -1297, -1297, 482, 482, 140, 140, 497, 497, 497, 497, 1637 633, 633, 675, 843, 844, 870, 901, 11622, 667, -1297, 1638 11159, 1081, 1082, 1083, 886, -1297, -1297, -1297, -1297, -1297, 1639 11159, 11565, 714, 1084, 7480, 9468, 3892, -1297, -1297, 1086, 1640 1088, -1297, 10445, -1297, -1297, 804, 11159, 945, 1089, 1090, 1641 1093, 1094, 1095, 1096, 1100, 4041, 1782, -1297, -1297, -1297, 1642 -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, 1643 -1297, -1297, -1297, -1297, 980, -1297, -1297, -1297, 884, -1297, 1644 -1297, -1297, -1297, -1297, -1297, -1297, -1297, 10327, -1297, -1297, 1645 1103, 1105, -1297, 208, 1104, 1078, 5252, -1297, -1297, -1297, 1646 4608, 1114, -1297, -1297, -1297, -1297, 397, 6608, 1162, -1297, 1647 -1297, -1297, -1297, 1087, 208, -1297, -1297, 980, -1297, -1297, 1648 980, 203, 11622, 1109, -1297, -1297, -1297, -1297, -1297, -1297, 1649 -1297, 3892, 721, -1297, 239, -1297, -1297, 889, 2623, 1120, 1650 1124, -1297, -1297, -1297, 1123, 848, 1128, 1130, 1132, -1297, 1651 2366, -1297, -1297, -1297, -1297, -1297, -1297, -1297, 377, -1297, 1652 975, -1297, -1297, 1133, 1135, 1127, -1297, -1297, 1139, 1140, 1653 -1297, 610, 1909, -1297, 496, -1297, 2999, 884, -1297, 1137, 1654 12170, 10917, 9150, 1144, -1297, -1297, 1141, 1145, -1297, 1147, 1655 301, 1148, -1297, 1146, 1146, 7016, 6255, -1297, -1297, 1146, 1656 1149, -1297, 1714, 4608, -1297, -1297, -1297, -1297, 1153, 5205, 1657 6255, 1158, 852, 5252, -1297, 6903, -1297, 852, -1297, 6255, 1658 -1297, 788, 911, -1297, -1297, -1297, -1297, 5490, -1297, 8938, 1659 -1297, -1297, 7592, 1159, -1297, -1297, -1297, -1297, 1167, -1297, 1660 877, 911, -1297, 882, 907, 911, -1297, 771, 1168, 4314, 1661 -1297, -1297, -1297, 11159, 11159, -1297, 8602, 8602, 8189, 1171, 1662 1169, 1170, 1177, -1297, -1297, 1176, 557, 37, 1078, -1297, 1663 852, -1297, 4815, -1297, 6255, 444, -1297, 6884, 1180, 1181, 1664 11508, 1189, 1191, 15, 96, 38, 6255, 1193, 239, 4178, 1665 -1297, 1187, 1173, -1297, -1297, -1297, 1192, -1297, -1297, -1297, 1666 -1297, -1297, -1297, -1297, -1297, -1297, 397, 1198, 6255, -1297, 1667 11159, 11159, 252, 911, 1200, 1201, 1086, -1297, 2623, 331, 1668 397, 7016, 10976, 914, 911, -1297, -1297, -1297, -1297, -1297, 1669 -1297, -1297, -1297, -1297, 1205, 1909, -1297, -1297, 1188, -1297, 1670 1032, -1297, -1297, 638, 1203, -1297, -1297, -1297, 722, 1202, 1671 -1297, 11622, 1194, 1085, 1085, 1207, -1297, 6185, 1025, 6255, 1672 1212, 1153, 307, 288, 1211, -1297, 1207, -1297, 1216, 1211, 1673 -1297, -1297, 1209, -1297, -1297, 980, 1219, -1297, 10622, -1297, 1674 7241, 1222, 1223, 1224, -1297, 10386, 8189, 8189, -1297, 1221, 1675 -1297, -1297, 980, -1297, -1297, -1297, -1297, 980, 6255, -1297, 1676 6255, 11622, 1228, -1297, -1297, -1297, -1297, -1297, -1297, -1297, 1677 1231, -1297, -1297, -1297, -1297, -1297, 11622, 11622, 1230, 1234, 1678 1211, -1297, -1297, 397, -1297, -1297, -1297, 8059, 10917, 6255, 1679 6255, 1294, 6255, -1297, -1297, 1217, -1297, 1218, 6255, 1220, 1680 1226, 6255, 831, -1297, 1232, 7016, 252, -1297, -1297, 6608, 1681 1233, 452, -1297, -1297, -1297, -1297, -1297, 980, -1297, 9778, 1682 9150, 10268, 1237, -1297, 1243, -1297, -1297, 980, 11314, -1297, 1683 8537, 1246, -1297, -1297, 10917, 467, 542, -1297, 1251, 1260, 1684 -1297, 359, -1297, 6255, 1263, 1261, -1297, -1297, 1265, 245, 1685 257, 852, 1267, 1269, -1297, 1270, -1297, 11159, -1297, -1297, 1686 -1297, -1297, -1297, -1297, 1272, -1297, -1297, -1297, 11159, 11159, 1687 11159, -1297, -1297, 1276, -1297, 1277, 1280, 1281, 619, -1297, 1688 8256, 8364, -1297, -1297, 625, -1297, 1283, 1284, -1297, 8667, 1689 727, 731, 1288, 740, 6735, -1297, -1297, 543, -1297, -1297, 1690 756, 1289, 239, 1329, 1338, -1297, -1297, 1290, 11508, -1297, 1691 -1297, -1297, 1291, 1293, 780, 9973, 10268, 6075, 11159, -1297, 1692 -1297, -1297, 1292, -1297, -1297, -1297, -1297, -1297, -1297, 10917, 1693 -1297, 1275, 1327, 1153, 537, -1297, -1297, -1297, -1297, -1297, 1694 -1297, -1297, -1297, 1295, -1297, -1297, -1297, 1301, 1305, -1297, 1695 -1297, -1297, 1306, 1308, -1297, -1297, -1297, -1297, -1297, -1297, 1696 -1297, 1307, -1297, 1309, -1297, -1297, 11508, 90, 6255, 11508, 1697 -1297, 1313, 6255, -1297, 187, 1328, -1297, -1297, 1315, 5778, 1698 -1297, -1297, -1297, 332, -1297, 10032, -1297, -1297, 1099, 638, 1699 1311, -1297, -1297, 800, 1317, 6255, 852, 852, 1320, -1297, 1700 -1297, 1322, 1323, 1324, -1297, -1297, 8602, 1321, -1297, 1379, 1701 11622, 1325, -1297, -1297, 11428, -1297, 810, -1297, 1312, 11508, 1702 1318, -1297, -1297, 1333, -1297, 1341, 10268, 1335, -1297, 1343, 1703 10917, -1297, -1297, -1297, 1319, 1356, 1339, -1297, 1211, 1211, 1704 -1297, -1297, -1297, -1297, -1297, 11508, 270, -1297, 951, -1297, 1705 -1297, 7923, -1297, -1297, 1326, 6255, -1297, 6255, 7923, 239, 1706 10740, 1345, -1297, 10091, 10268, -1297, 1342, -1297, -1297, 6255, 1707 1347, 1348, -1297, 11622, 11622, -1297, -1297, 952, 237, -1297, 1708 -1297, 1331, -1297, 952, -1297, -1297, 1642, 852, 239, 10740, 1709 -1297, 10150, 1355, -1297, -1297, -1297, -1297, -1297, 11428, 1353, 1710 952, 7992, 6255, 11348, 1354, 952, 1360, 1642, 2460, -1297, 1711 -1297, -1297, -1297, -1297, -1297, 9150, -1297, 11193, -1297, 11428, 1712 -1297, -1297, 1340, 4905, -1297, -1297, 11348, 239, 2460, 1361, 1713 819, -1297, 11193, -1297, -1297, -1297, 4905, -1297, -1297, 239, 1714 -1297, -1297, -1297, -1297, -1297 1544 5632, 9056, -1269, 25, -1269, -1269, -1269, -1269, -1269, -1269, 1545 -1269, 17, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1546 -1269, -1269, -1269, -1269, -1269, 113, 113, 113, 803, 791, 1547 56, 6940, 839, -1269, -1269, -1269, -1269, -1269, 59, -1269, 1548 -1269, -1269, 628, 90, 8532, -1269, -1269, -1269, -1269, -1269, 1549 -1269, 88, 155, -1269, 911, -1269, -1269, -1269, -1269, 140, 1550 1450, 287, 96, 4240, -1269, -1269, 8601, 1048, -1269, -1269, 1551 -1269, 1246, 329, 6299, 1010, 880, 1246, 1728, -1269, -1269, 1552 332, 328, -1269, 1246, 1769, -1269, 227, -1269, 369, 379, 1553 -1269, -1269, -1269, -1269, 256, 155, 113, -1269, 113, -1269, 1554 -1269, -1269, -1269, 9292, 911, -1269, -1269, 911, -1269, 9351, 1555 266, -1269, -1269, 1507, 9410, -1269, 839, 839, 839, -1269, 1556 -1269, -1269, 113, -1269, -1269, -1269, 291, 341, 348, -1269, 1557 -1269, -1269, 361, -1269, -1269, -1269, -1269, -1269, 391, 401, 1558 -1269, 469, 839, 8040, 1076, 326, 352, 486, 522, 542, 1559 576, 588, 8805, 6382, 474, 482, -1269, 8669, -1269, -1269, 1560 -1269, -1269, 571, -1269, 47, 5492, -1269, 596, 239, -1269, 1561 -1269, -1269, -1269, 597, 315, 324, 359, 113, 614, -1269, 1562 -1269, 1450, 2466, 659, -1269, 128, -1269, 113, 113, 155, 1563 -1269, -1269, 131, -1269, 113, 113, -1269, 3629, 647, 656, 1564 839, 10211, -1269, -1269, 665, 8532, -1269, -1269, 1246, -1269, 1565 -1269, -1269, 155, -1269, 911, 88, -1269, 7183, -1269, 839, 1566 839, 839, 155, -1269, 803, -1269, 6072, -1269, -1269, 652, 1567 839, -1269, 839, -1269, 59, 8040, 9115, 675, -1269, 791, 1568 684, 839, -1269, 803, 674, 681, -1269, 6940, 744, -1269, 1569 -1269, -1269, 8471, -1269, -1269, 5138, -1269, 659, 73, 9410, 1570 10491, 1507, 3629, -1269, 138, -1269, -1269, 9351, 911, 708, 1571 11267, -1269, -1269, 713, -1269, 11002, 10719, 10776, 10719, 10833, 1572 -1269, 737, -1269, -1269, -1269, -1269, 10890, 10890, 744, 4439, 1573 751, 10719, 8146, -1269, -1269, -1269, -1269, -1269, -1269, 766, 1574 -1269, 828, 1924, 10719, -1269, 465, 544, 763, 389, 621, 1575 755, 754, 759, 813, 65, -1269, -1269, 782, 510, -1269, 1576 307, -1269, -1269, 1076, -1269, -1269, 774, 807, -1269, 784, 1577 807, 815, 59, -1269, -1269, 821, 9292, -1269, 826, 7828, 1578 -1269, -1269, 715, 2130, 7574, 10211, 1246, -1269, 1246, 839, 1579 839, -1269, -1269, -1269, -1269, -1269, -1269, 839, 9469, 911, 1580 -1269, -1269, 9528, 1378, -1269, 9174, -1269, -1269, -1269, -1269, 1581 -1269, -1269, -1269, 831, 4897, 10719, -1269, -1269, -1269, -1269, 1582 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1507, 1583 -1269, 728, 842, 859, 891, 817, 925, 926, 927, 2466, 1584 -1269, -1269, 865, 88, 869, -1269, -1269, 928, -1269, -1269, 1585 -1269, 8471, -1269, -1269, -1269, -1269, -1269, 3629, -1269, 8040, 1586 8040, -1269, 1507, 11295, 911, 7639, -1269, -1269, -1269, -1269, 1587 8471, 73, -1269, -1269, 1246, 155, -1269, -1269, 8471, -1269, 1588 6187, -1269, -1269, 839, 839, 339, 9587, 909, 1932, 2385, 1589 -1269, 377, 414, 791, -1269, 9115, 924, 912, 791, 839, 1590 -1269, -1269, -1269, -1269, 9947, -1269, 512, 7494, -1269, 155, 1591 930, -1269, 1507, 11077, 10548, -1269, -1269, -1269, -1269, 824, 1592 3629, -1269, 7704, 659, 6831, -1269, -1269, -1269, 746, 592, 1593 782, 791, 11267, 530, 9351, -1269, 11267, -1269, -1269, -1269, 1594 -1269, 613, -1269, 932, -1269, -1269, 12, 4439, -1269, -1269, 1595 4439, -1269, 7934, 4439, -1269, -1269, -1269, 933, -1269, 625, 1596 936, 545, 939, -1269, 8873, 5389, -1269, -1269, -1269, 67, 1597 -1269, -1269, 10605, -1269, 249, -1269, -1269, -1269, -1269, -1269, 1598 -1269, -1269, -1269, -1269, -1269, 10491, 10491, -1269, 10719, 10719, 1599 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 1600 10719, 10719, 10719, 10719, 10719, 10719, 4719, 10491, -1269, 510, 1601 1578, -1269, -1269, 113, 113, -1269, -1269, 8040, -1269, -1269, 1602 928, 744, -1269, 928, 10662, -1269, -1269, -1269, 4020, 5389, 1603 938, 8252, 941, -1269, 9646, -1269, -1269, 571, -1269, 942, 1604 1657, 947, 1802, 198, 782, -1269, 113, 113, 782, 245, 1605 -1269, 113, 113, 928, -1269, -1269, 113, 113, -1269, 807, 1606 9705, 911, 11208, 419, 426, 9705, -1269, 9882, -1269, 782, 1607 -1269, 9469, -1269, 144, 7291, 7291, 7291, 911, -1269, 10434, 1608 934, 831, 353, 949, -1269, 951, 5492, 583, -1269, 1032, 1609 911, 7291, 744, 1507, 744, 659, 795, 807, -1269, -1269, 1610 800, 807, -1269, -1269, -1269, 986, -1269, 807, 155, 9947, 1611 -1269, 635, 960, 638, 961, -1269, 962, 155, -1269, -1269, 1612 8471, 155, 958, 436, 443, 9764, 6494, 2437, 10719, 2673, 1613 -1269, -1269, 956, 32, 956, -1269, -1269, -1269, 113, 113, 1614 -1269, -1269, 791, -1269, 113, -1269, -1269, 2798, 791, 968, 1615 10719, -1269, 924, 11208, -1269, -1269, 967, -1269, -1269, -1269, 1616 744, -1269, 11143, 10719, -1269, 7291, 584, 7574, -1269, -1269, 1617 571, 969, 972, 746, 2082, -1269, -1269, 11267, -1269, -1269, 1618 965, -1269, -1269, 984, -1269, 965, 989, 11002, 10491, 944, 1619 1017, 991, 992, 751, 987, 996, -1269, 997, 1000, 2971, 1620 6158, -1269, 10491, -1269, 545, 1808, -1269, 5683, 10491, 998, 1621 -1269, -1269, 831, 639, -1269, 10491, -1269, -1269, -1269, -1269, 1622 -1269, -1269, -1269, 465, 465, 544, 544, 763, 763, 763, 1623 763, 389, 389, 621, 755, 754, 759, 813, 10719, 616, 1624 -1269, 9947, 1005, 1006, 1007, 1578, -1269, -1269, -1269, -1269, 1625 -1269, 9947, 643, 10719, 7291, -1269, 9469, -1269, 6606, 8358, 1626 9233, 6382, -1269, -1269, -1269, 1657, 9947, 846, 1012, 1013, 1627 1015, 1019, 1020, 1023, 1024, -1269, 3182, 1802, -1269, -1269, 1628 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1629 -1269, -1269, -1269, -1269, -1269, 928, -1269, -1269, -1269, 782, 1630 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1025, -1269, 1631 1026, 1029, -1269, -1269, 88, 998, 10434, -1269, -1269, -1269, 1632 4897, 1028, -1269, -1269, -1269, -1269, 791, 5798, 1104, -1269, 1633 -1269, -1269, -1269, 1027, 88, -1269, -1269, 928, -1269, -1269, 1634 928, 142, 928, -1269, -1269, -1269, -1269, -1269, -1269, 8737, 1635 -1269, 155, -1269, 9115, -1269, -1269, 1034, 761, 1031, 1038, 1636 1041, -1269, 2673, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1637 1932, -1269, 912, -1269, -1269, 1044, 1046, 1047, -1269, -1269, 1638 1042, 1050, -1269, 584, 1953, -1269, 534, -1269, 2082, 782, 1639 -1269, 1054, 11267, 9823, 8040, 1055, -1269, -1269, 1051, 1056, 1640 -1269, 1059, 169, 1057, -1269, 1058, 1058, 5389, 10491, -1269, 1641 -1269, 1058, -1269, 1808, 4897, -1269, -1269, -1269, -1269, 1060, 1642 10491, 1062, 744, 10434, -1269, 10605, -1269, 744, -1269, 10491, 1643 -1269, 840, 807, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1644 831, 7828, -1269, -1269, 6718, 1067, -1269, 864, 807, -1269, 1645 871, 882, 807, -1269, 839, 3327, -1269, -1269, -1269, 9947, 1646 9947, -1269, 7639, 7639, -1269, 1063, 1064, 1068, 1071, -1269, 1647 1074, 541, 48, 998, -1269, 744, -1269, 5492, -1269, 10491, 1648 455, -1269, 6043, 1080, 1081, 10377, 1083, 1084, 55, 173, 1649 23, 10491, 1085, 155, 4287, 1089, 1086, 1065, -1269, -1269, 1650 -1269, 1087, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1651 -1269, 791, 1094, 10491, -1269, 9947, 9947, 113, 1095, -1269, 1652 8997, 8935, 889, 807, -1269, -1269, -1269, -1269, -1269, -1269, 1653 -1269, -1269, -1269, 1098, 1953, -1269, -1269, 1082, -1269, 965, 1654 -1269, -1269, 1507, 1097, -1269, -1269, -1269, 650, 1096, -1269, 1655 10719, 1077, 1017, 1017, 1102, -1269, 951, 10491, 1111, 1060, 1656 559, 61, 1108, -1269, 1102, -1269, 1113, 1108, -1269, -1269, 1657 1118, -1269, -1269, 928, 1120, 1121, 6270, 1123, 1124, 1125, 1658 -1269, -1269, 1122, -1269, -1269, 928, -1269, -1269, -1269, -1269, 1659 928, 10491, 10491, 10719, 1127, -1269, -1269, -1269, -1269, -1269, 1660 -1269, -1269, -1269, -1269, -1269, -1269, -1269, 10719, 10719, 1128, 1661 1133, 1108, -1269, -1269, 791, -1269, -1269, -1269, 7118, 9823, 1662 10491, 10491, 1180, 10491, -1269, -1269, 1114, -1269, 1117, 10491, 1663 1135, 1137, 10491, 901, -1269, 1138, 8499, 113, -1269, -1269, 1664 5798, 1140, 467, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1665 -1269, -1269, 928, 10183, -1269, 7704, 1147, -1269, -1269, 9823, 1666 476, 481, -1269, 1157, 1165, -1269, 201, -1269, 10491, 1166, 1667 1167, -1269, -1269, 1168, 257, 313, 744, 1169, 1171, -1269, 1668 1172, -1269, 9947, -1269, -1269, -1269, -1269, -1269, 1174, -1269, 1669 9947, 9947, 9947, -1269, -1269, 1175, -1269, 1179, 1182, 1183, 1670 573, 7358, 7466, -1269, -1269, 609, -1269, 1184, 1185, -1269, 1671 7769, 651, 662, 1141, 664, 5921, -1269, -1269, 508, -1269, 1672 -1269, 687, 1189, 155, 1237, 1240, -1269, -1269, 10377, -1269, 1673 -1269, -1269, 1193, 1197, 9947, -1269, -1269, -1269, 1196, -1269, 1674 -1269, -1269, -1269, -1269, -1269, 9823, -1269, 1190, 1231, 1060, 1675 253, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1204, 1676 -1269, -1269, -1269, -1269, -1269, -1269, 1211, 1215, -1269, -1269, 1677 -1269, -1269, -1269, -1269, -1269, 1219, -1269, 1218, -1269, -1269, 1678 10377, 147, 10491, 10377, -1269, 1225, 10491, -1269, 264, 1239, 1679 -1269, -1269, 1229, -1269, -1269, -1269, -1269, -1269, 911, 1507, 1680 1233, -1269, -1269, 704, 1228, 10491, 744, 744, 1248, 1249, 1681 1250, 1251, -1269, -1269, 7639, 1256, -1269, 1301, 10719, 1259, 1682 -1269, -1269, 10297, -1269, 716, -1269, 1224, 10377, 1235, -1269, 1683 -1269, 1268, -1269, 1282, 1270, 9823, -1269, -1269, -1269, 1252, 1684 1302, 1273, -1269, 1108, 1108, -1269, -1269, -1269, -1269, -1269, 1685 10377, 54, -1269, 897, -1269, -1269, 7049, -1269, -1269, 1255, 1686 10491, -1269, 10491, 7049, 155, 9587, 1283, -1269, -1269, 1280, 1687 -1269, -1269, 10491, 1284, 1285, -1269, 10719, 10719, -1269, -1269, 1688 966, 99, -1269, -1269, 1266, -1269, 966, -1269, -1269, 2561, 1689 744, 155, 9587, 1290, -1269, -1269, -1269, -1269, -1269, 10297, 1690 1286, 966, 3510, 10491, 10217, 1287, 966, 1294, 2561, 3047, 1691 -1269, -1269, -1269, -1269, -1269, 8040, -1269, 10062, -1269, 10297, 1692 -1269, -1269, 1274, 9981, -1269, -1269, 10217, 155, 3047, 1297, 1693 717, -1269, 10062, -1269, -1269, -1269, 9981, -1269, -1269, 155, 1694 -1269, -1269, -1269, -1269, -1269 1715 1695 }; 1716 1696 … … 1718 1698 static const yytype_int16 yypgoto[] = 1719 1699 { 1720 -12 97, 4539, 3474, -1297, 22, -1297, -1, 2, 817, -1297,1721 -12 97, -1297, -495, -902, -132, 5887, -1297, 1449, 523, 552,1722 430, 558, 919, 920, 921, 922, 924, -1297, 150, -242,1723 5319, 346, -694, -917, -1297, 87, -701, 234, -1297, 157,1724 -12 97, 254, -1077, -1297, -1297, -6, -1297, -1273, -892, 95,1725 -12 97, -1297, -1297, -1297, -60, -1267, -1297, -1297, -1297, -1297,1726 -12 97, -1297, 168, -11, 51, 368, -1297, 375, -1297, 33,1727 -12 97, -295, -1297, -1297, -1297, 432, -848, -1297, -1297, 6,1728 -9 70, 26, 2983, -1297, -1297, -1297, -117, -1297, 66, 718,1729 -1 4, 1458, 4231, -1297, -1297, 55, 134, 124, -247, 1805,1730 -12 97, 1752, -1297, -1297, 135, 2146, -1297, 2351, 1577, -1297,1731 -12 97, -431, -435, 1074, 1079, 582, 830, 342, -1297, -1297,1732 1070, 585, -481, -1297, -462, -65, -412, -1297, -1297, -973,1733 -968, 783, 1252, 948, 156, -1297, 83, 233, -297, -199,1734 -14 8, 548, 655, -1297, 904, -1297, 2844, -402, 807, -1297,1735 -12 97, 590, -1297, -393, -1297, 101, -1297, -1297, -1297, -1251,1736 299, -1297, -1297, -1297, 1071, -1297, 63, -1297, -1297, -839,1737 - 111, -1296, -104, 2118, -1297, 3091, -1297, 811, -1297, -172,1738 1440, -168, -165, -162, 4, -37, -34, -32, 611, 36,1739 67, 71, -161, -156, -154, -153, -138, -284, -490, -488,1740 - 486, -538, -1297, -480, -1297, -1297, -524, -520, -505, -499,1741 1640, 5025, -528, -541, -515, -512, -459, -1297, -388, -645,1742 -6 34, -633, -576, -124, -277, -1297, -1297, 710, 153, -86,1743 -1297, 361, 821, -610, -3041700 -1269, 3902, 2604, -1269, 354, -1269, -1, 2, 742, -1269, 1701 -1269, -1269, -489, -961, -282, 4749, -1269, 570, 459, 468, 1702 357, 464, 844, 848, 849, 847, 850, -1269, -229, -231, 1703 4555, 296, -694, -919, -1269, 166, -721, 143, -1269, 86, 1704 -1269, 216, -1143, -1269, -1269, -17, -1269, -1146, -1036, 71, 1705 -1269, -1269, -1269, -1269, -75, -1160, -1269, -1269, -1269, -1269, 1706 -1269, -1269, 141, -26, 21, 316, -1269, 320, -1269, 13, 1707 -1269, -294, -1269, -1269, -1269, 364, -829, -1269, -1269, 11, 1708 -963, 125, 1704, -1269, -1269, -1269, -72, -1269, 82, 49, 1709 -18, 1039, 3754, -1269, -1269, 81, 133, 536, -256, 1629, 1710 -1269, 1307, -1269, -1269, 224, 1625, -1269, 1893, 1163, -1269, 1711 -1269, -426, -421, 993, 994, 507, 747, 306, -1269, -1269, 1712 980, 516, -433, -1269, -199, 75, 591, -1269, -1269, -894, 1713 -1000, 6, 910, 861, 176, -1269, 721, 158, -317, -210, 1714 -149, 478, 577, -1269, 809, -1269, 2211, 740, -443, 722, 1715 -1269, -1269, 511, -1269, -232, -1269, -46, -1269, -1269, -1269, 1716 -1268, 243, -1269, -1269, -1269, 981, -1269, -7, -1269, -1269, 1717 -827, -35, -1227, -161, 1978, -1269, 3527, -1269, 719, -1269, 1718 -157, 41, -172, -170, -163, 4, -41, -36, -34, 777, 1719 24, 33, 45, -143, -151, -150, -145, -139, -288, -529, 1720 -505, -476, -564, -323, -560, -1269, -1269, -516, 899, 906, 1721 915, 1643, 4256, -522, -566, -549, -514, -546, -1269, -372, 1722 -680, -674, -672, -603, -208, -186, -1269, -1269, 64, 293, 1723 -93, -1269, 3162, 208, -613, -396 1744 1724 }; 1745 1725 … … 1747 1727 positive, shift that token. If negative, reduce the rule which 1748 1728 number is the opposite. If YYTABLE_NINF, syntax error. */ 1749 #define YYTABLE_NINF -50 71729 #define YYTABLE_NINF -503 1750 1730 static const yytype_int16 yytable[] = 1751 1731 { 1752 109, 257, 46, 690, 94, 144, 388, 110, 145, 380, 1753 146, 420, 381, 696, 365, 382, 250, 389, 139, 661, 1754 871, 383, 487, 384, 385, 763, 53, 111, 495, 1074, 1755 846, 916, 671, 46, 795, 94, 957, 791, 1075, 386, 1756 669, 672, 917, 918, 46, 822, 46, 590, 155, 685, 1757 828, 47, 792, 1177, 1178, 66, 46, 53, 793, 1179, 1758 829, 975, 46, 1131, 185, 46, 60, 207, 46, 614, 1759 217, 823, 210, 618, 824, 391, 169, 1196, 147, 729, 1760 107, 406, 47, 734, 388, 1139, 66, 380, 1400, 202, 1761 381, 933, 211, 382, 138, 389, 818, 60, 819, 383, 1762 820, 384, 385, 107, 653, 46, 821, 916, 46, 148, 1763 657, 659, 136, 149, 46, 465, 553, 386, 917, 918, 1764 738, 30, 754, 664, 1459, 169, 1186, 739, 169, 460, 1765 832, 668, 1420, 1421, 67, 74, 839, 555, 1190, 1204, 1766 144, 862, 30, 145, 46, 146, 155, 464, 466, 1208, 1767 554, 1463, 1187, 103, 103, 880, 46, 193, 355, 860, 1768 860, 107, 30, 232, 234, 67, 74, 2, 197, 4, 1769 5, 6, 7, 30, 860, 727, 242, 318, 390, 46, 1770 46, 409, 155, 30, 103, 242, 733, 392, 1459, 1476, 1771 118, 220, 651, 724, 46, 221, 1422, 204, 225, 1195, 1772 227, 194, 580, 46, 746, 155, 400, 235, 392, 166, 1773 119, 46, 107, 147, 46, 648, 423, 107, 144, 103, 1774 1206, 145, 465, 146, 137, 34, 649, 35, 392, 1420, 1775 1421, 169, 818, 940, 819, 1463, 820, 470, 421, 392, 1776 1463, 454, 895, 46, 148, 94, 1534, 830, 149, 587, 1777 759, 243, 860, 539, 540, 765, 1463, 46, 46, 251, 1778 155, 690, 252, 1463, 46, 681, 640, 53, 799, 1547, 1779 994, 46, 1179, 30, 822, 107, 683, 135, 516, -218, 1780 -218, 505, 460, 107, 169, 135, 833, -3, 1021, 30, 1781 836, 169, 47, 1431, 655, 1141, 66, 648, 1022, 660, 1782 823, 460, 849, 824, 452, 1082, 850, 60, 649, 460, 1783 107, 853, 461, 867, 359, 856, 446, 1177, 1178, 46, 1784 427, 355, 107, 1179, 233, 818, 141, 819, 220, 820, 1785 360, 162, 46, 46, 1196, 1008, 1343, 837, 449, 587, 1786 855, 107, 398, 135, -218, 164, 422, 718, 1347, 46, 1787 174, 368, 169, 46, 107, 1210, 135, 229, 832, 1483, 1788 1349, 106, 106, 192, 417, 419, 1259, 369, -275, 169, 1789 508, 1074, 904, 169, 425, 67, 74, 730, 990, 46, 1790 1075, 74, 731, 237, 795, 1187, 724, 791, 995, 46, 1791 230, 355, 106, 1260, 103, 231, 107, 107, 135, 135, 1792 822, 240, 792, 1122, 1009, 159, 717, 46, 793, -109, 1793 1123, -109, 46, -502, 829, -109, 564, 818, 472, 819, 1794 494, 820, 565, 846, 209, 489, 823, 106, 242, 824, 1795 -109, -109, 1230, 371, 373, 919, 1533, 1231, 1436, 46, 1796 509, 708, 36, 1454, 176, 628, 39, 709, 1179, 372, 1797 374, 580, 1542, 40, 41, 109, 1382, 932, 220, 1546, 1798 225, 1341, 107, 46, 135, 461, 204, 254, 1342, 159, 1799 873, 46, 627, 355, 262, 46, 874, 94, 676, 46, 1800 392, -10, 580, 872, 461, -430, 677, 580, 678, 487, 1801 1137, 1196, 461, 375, 656, 658, 691, 813, 1196, 53, 1802 743, 266, 159, 615, 1448, 1449, 388, 619, 380, 376, 1803 693, 381, 692, 691, 382, 357, 760, 389, 1255, 743, 1804 383, 766, 384, 385, 47, 695, 694, 882, 66, 911, 1805 446, 851, 1096, 693, 74, 852, 884, 715, 386, 60, 1806 685, 1196, 1020, 482, 1025, 483, 220, 1180, 1110, 912, 1807 460, 718, 1193, 74, 1164, 1166, 861, 861, 268, 1118, 1808 1193, 74, 159, 728, 994, 732, 860, 269, 1194, 454, 1809 36, 861, 176, 209, 39, 1334, 1321, 1022, 541, 542, 1810 666, 40, 41, 508, 1096, 46, 508, 270, 46, 508, 1811 46, 1335, 443, 536, 937, 1508, 204, 319, 537, 538, 1812 851, 1513, 106, 1380, 1106, 810, 177, 67, 74, 46, 1813 717, 1174, 1175, 1489, 357, 710, 178, 557, 1529, 392, 1814 1489, 320, 159, 1536, 718, 46, 103, 558, 805, 169, 1815 2, 197, 4, 5, 6, 7, 881, 46, 883, -109, 1816 46, 788, 725, 1107, 443, 169, 1405, 159, 726, 861, 1817 1336, 750, 566, 509, 392, 156, 509, 169, 219, 509, 1818 -109, -102, 1020, 1530, 1033, -102, 1337, 1383, 1224, 1225, 1819 321, 186, 46, 735, 208, 1275, 1276, 218, 46, 736, 1820 46, 1430, 752, 717, 392, 1079, 322, 581, 34, 570, 1821 35, 392, 753, 607, 860, 860, 323, 2, 197, 4, 1822 5, 6, 7, 36, 324, 176, 749, 39, 936, 354, 1823 868, 941, 750, 587, 40, 41, 543, 544, 358, 112, 1824 1149, 942, 1041, 1368, 46, 46, 1007, 1369, -454, 740, 1825 -454, 896, 741, 461, -454, 747, -276, 750, 46, 255, 1826 370, 715, 422, 8, 9, 10, 11, 12, 648, 256, 1827 366, 545, 546, 156, 157, 34, 681, 35, 169, 649, 1828 547, 548, 153, 848, 1491, 356, 1492, 683, 159, 159, 1829 30, 813, 898, 159, 927, 750, 989, 461, 750, 863, 1830 930, 8, 9, 10, 11, 12, 36, 378, 1086, 156, 1831 39, 879, 390, 33, 159, 159, 443, 40, 41, 443, 1832 1325, 900, 74, 906, 1020, 443, 407, 565, 30, 565, 1833 894, 1531, 156, 984, 715, 430, 996, 46, 157, 985, 1834 248, 903, 709, 424, 1247, 905, 153, 494, 46, 1376, 1835 565, 33, 719, 1377, 106, 750, 204, 1324, 885, 750, 1836 392, 36, 1379, 408, 159, 39, 74, 412, 750, 494, 1837 204, 315, 40, 41, 888, 1355, 392, 443, 1384, 312, 1838 443, 805, 159, 443, 750, 160, 1359, 1360, 1361, 36, 1839 433, 1270, 916, 39, 444, 580, 1061, 42, 1149, 1249, 1840 40, 41, 1393, 917, 918, 1311, 1312, 142, 565, 1143, 1841 690, 392, 489, 813, 1191, 1395, 8, 9, 10, 11, 1842 12, 447, 1444, 53, 46, 815, 450, 587, 1445, 46, 1843 46, 415, 1464, 451, 410, 588, 1396, 107, 750, 414, 1844 473, 1550, 46, 30, 810, 501, 159, 565, 356, 160, 1845 46, 125, 66, 126, 127, 128, 581, 988, 204, 808, 1846 242, 318, 392, 60, 1292, 1293, 33, 516, 46, 437, 1847 318, 392, 1149, 628, 36, 549, 805, 1111, 39, 1046, 1848 690, 1176, 316, 861, 550, 40, 41, 581, 400, 644, 1849 392, 415, 581, 776, 777, 778, 779, 1112, 1160, 414, 1850 392, 1133, 477, 1163, 743, 587, 1133, 557, 552, 392, 1851 907, 551, 392, 512, 1420, 1421, 157, 558, 356, 46, 1852 908, 510, 1242, 1168, 153, 1473, 813, 555, 1165, 36, 1853 587, 67, 74, 39, 568, 1235, 1036, 392, 641, 810, 1854 40, 41, 416, 923, -277, 923, 718, 470, 318, 392, 1855 103, 8, 9, 10, 11, 12, 719, 583, 690, 1133, 1856 642, 813, 643, 1501, 577, 722, 830, 318, 587, 1061, 1857 1149, 645, 1205, 1207, 1209, 723, 628, 443, 30, 1484, 1858 1485, 1087, 772, 773, 612, 646, 690, 36, 616, 167, 1859 168, 39, 647, 53, 517, 518, 519, 943, 40, 41, 1860 650, 33, 416, 247, 36, 717, 167, 168, 39, 697, 1861 46, 861, 861, 774, 775, 40, 41, 520, 699, 521, 1862 -222, 522, 1198, 354, 103, 780, 781, 160, 1520, 719, 1863 737, 1063, 751, 461, 755, 46, 718, 315, 315, 807, 1864 358, 814, 315, -12, 857, 312, 312, 1348, 1350, 1351, 1865 312, 869, 1540, 870, 876, 279, 422, 897, 899, 1140, 1866 726, 902, 565, 315, 315, 931, 805, 582, 677, -404, 1867 1096, 312, 670, 437, 952, -506, 437, 945, 954, 1046, 1868 959, 963, 437, 964, 36, 607, 167, 168, 39, 958, 1869 967, 966, 1232, 1233, 112, 40, 41, 968, 1456, 969, 1870 979, 67, 74, 991, 992, 993, 980, 1004, 997, 1005, 1871 1076, 1010, 1011, 315, 1036, 1012, 1013, 1014, 1015, 477, 1872 103, 312, 1016, 477, 210, -392, 512, -391, 1034, 512, 1873 1078, 315, 512, 1083, 510, 1212, 715, 510, 1061, 312, 1874 510, 1043, 1089, 202, 211, 1371, 1090, 1092, 316, 316, 1875 1093, 46, 1094, 316, 1095, 1101, 706, 1100, 106, 1109, 1876 1099, 1506, 1456, 1102, 1103, 53, 1119, 1120, 1121, 750, 1877 1111, 810, 973, 1127, 316, 316, 1124, -278, 1133, 1133, 1878 1133, 1129, 1132, 1155, 8, 9, 10, 11, 12, 1158, 1879 1112, 494, 1169, 1181, 66, 315, 1298, 1182, 1183, 1184, 1880 1185, 1199, 1200, 312, 1201, 60, 1300, 1301, 1442, 1303, 1881 1202, 30, 1203, 577, 1211, 1307, 1216, 1217, 1310, -3, 1882 1222, 811, 1228, 813, 316, 1229, 715, 1239, 1248, 482, 1883 1243, 1266, 106, 159, 33, 1253, 1257, 1061, 1250, 1261, 1884 1264, 1268, 316, 1277, 845, 421, 1271, 1272, 1273, 577, 1885 53, 204, 1284, 1289, 1294, 854, 494, 494, 1295, 1302, 1886 1320, 1305, 1306, 1326, 1308, 1111, 388, 1327, 1332, 380, 1887 1309, 103, 381, 67, 74, 382, 1316, 389, 1338, 1198, 1888 581, 383, 1340, 384, 385, 1112, 648, 1344, 1345, 1346, 1889 461, 1352, 103, 1353, 1354, 1061, 1356, 649, 1061, 386, 1890 1364, 1365, 1366, 1367, 1312, 1519, 316, 1374, 1375, 1378, 1891 1385, 46, 1388, 1391, 1389, 1392, 582, 103, 1397, 1401, 1892 46, 46, 1402, 1409, 1405, 1133, 1133, 1410, 106, -393, 1893 1414, 810, 1415, 1418, 437, 1429, 1435, 1433, 1443, 1455, 1894 169, 1446, 1450, 1061, 1451, 1452, 1453, 847, 1061, 1369, 1895 1471, 1478, 582, 422, 1460, 1469, 1465, 706, 67, 74, 1896 93, 1474, 1467, 1477, 477, 1475, 1111, 1498, 1479, 1502, 1897 1490, 1504, 1505, 1063, 1061, 1512, 1525, 103, 63, 113, 1898 1528, 1535, 1537, 1549, 1543, 1426, 1112, 891, 782, 1386, 1899 783, 93, 784, 1319, 785, 1256, 1437, 786, 1507, 1432, 1900 144, 1387, 143, 145, 93, 146, 1551, 53, 1523, 63, 1901 140, 1251, 103, 36, 53, 585, 1521, 39, 46, 1252, 1902 181, 1493, 154, 93, 40, 41, 93, 1061, 1221, 673, 1903 1097, 719, 1061, 924, 674, 1098, 1198, 701, 802, 46, 1904 46, 1128, 155, 1198, 212, 1042, 1061, 461, 1061, 586, 1905 1006, 587, 1061, 947, 461, 1061, 875, 53, 1108, 588, 1906 46, 1061, 355, 1333, 720, 1061, 0, 955, 0, 0, 1907 0, 36, 1390, 176, 1441, 39, 0, 0, 209, 106, 1908 249, 0, 40, 41, 0, 0, 1198, 0, 0, 0, 1909 494, 0, 0, 706, 0, 811, 0, 461, 0, 0, 1910 106, 0, 93, 706, 0, 0, 0, 676, 0, 392, 1911 0, 159, 443, 103, 93, 67, 74, 678, 0, 706, 1912 317, 719, 67, 74, 0, 106, 0, 0, 332, 0, 1913 1419, 0, 0, 1427, 103, 0, 0, 379, 181, 0, 1914 0, 103, 0, 0, 0, 0, 1494, 0, 0, 0, 1915 0, 0, 0, 494, 494, 0, 387, 0, 0, 0, 1916 206, 93, 0, 0, 0, 67, 74, 0, 0, 0, 1917 405, 0, 93, 140, 411, 1522, 0, 0, 1462, 154, 1918 209, 0, 315, 1466, 103, 106, 0, 0, 477, 1113, 1919 312, 0, 0, 0, 0, 0, 0, 0, 0, 428, 1920 0, 93, 0, 431, 0, 432, 443, 443, 0, 1482, 1921 206, 0, 0, 448, 1548, 468, 0, 811, 0, 63, 1922 106, 0, 0, 0, 462, 707, 1553, 36, 0, 176, 1923 0, 39, 0, 0, 469, 1147, 0, 845, 40, 41, 1924 0, 498, 411, 0, 8, 9, 10, 11, 12, 0, 1925 0, 206, 0, 0, 514, 515, 0, 0, 0, 0, 1926 0, 0, 0, 1517, 0, 392, 535, 0, 0, 0, 1927 0, 30, 72, 1518, 0, 0, 443, 93, 0, 0, 1928 0, 1541, 0, 0, 0, 0, 0, 1541, 0, 0, 1929 0, 589, 0, 316, 33, 515, 1541, 0, 0, 0, 1930 1541, 0, 0, 72, 578, 0, 0, 0, 0, 206, 1931 0, 608, 8, 9, 10, 11, 12, 443, 0, 0, 1932 0, 106, 0, 0, 613, 0, 706, 706, 613, 0, 1933 811, 332, 515, 0, 0, 752, 0, 392, 213, 30, 1934 847, 394, 106, 0, 0, 753, 206, 181, 402, 106, 1935 206, 443, 0, 0, 443, 443, 0, 0, 0, 0, 1936 0, 0, 33, 0, 0, 811, 0, 36, 0, 585, 1937 0, 39, 0, 0, 0, 0, 0, 462, 40, 41, 1938 443, 0, 443, 706, 706, 0, 1269, 0, 205, 0, 1939 0, 332, 106, 1147, 0, 0, 462, 682, 223, 0, 1940 0, 0, 0, 586, 462, 587, 159, 0, 0, 0, 1941 0, 0, 0, 588, 0, 0, 0, 0, 394, 0, 1942 0, 0, 335, 0, 0, 0, 707, 0, 0, 206, 1943 0, 702, 0, 93, 411, 0, 0, 589, 205, 8, 1944 9, 10, 11, 12, 8, 9, 10, 11, 12, 716, 1945 0, 63, 0, 0, 0, 0, 0, 0, 0, 411, 1946 315, 0, 0, 411, 0, 0, 30, 1147, 312, 437, 1947 0, 30, 563, 0, 0, 0, 0, 0, 0, 205, 1948 567, 0, 1113, 571, 0, 0, 0, 0, 0, 33, 1949 0, 332, 0, 429, 33, 0, 0, 0, 0, 36, 1950 0, 176, 0, 39, 0, 769, 770, 771, 206, 0, 1951 40, 41, 0, 72, 0, 0, 0, 0, 72, 0, 1732 110, 146, 46, 445, 95, 432, 147, 918, 148, 392, 1733 256, 393, 111, 919, 141, 920, 377, 857, 394, 498, 1734 609, 47, 403, 1161, 140, 400, 1127, 959, 701, 707, 1735 395, 396, 881, 46, 832, 95, 397, 1360, 839, 401, 1736 831, 94, 398, 774, 46, 506, 46, 505, 158, 740, 1737 113, 833, 47, 745, 806, 604, 46, 843, 1069, 337, 1738 1070, 1119, 46, 850, 189, 46, 149, 212, 46, 30, 1739 222, 828, 94, 976, 1171, 150, 696, 215, 263, 1177, 1740 840, 66, 60, 145, 918, 94, 834, 151, 108, 392, 1741 919, 393, 920, 156, 738, 829, 475, 477, 394, 935, 1742 119, 185, 672, 674, 94, 400, 46, 94, 160, 46, 1743 395, 396, 66, 60, 749, 46, 397, 668, 120, 401, 1744 108, 750, 398, 198, 830, 53, 112, 1429, 1159, 1160, 1745 402, 596, 108, 67, 1189, 404, 677, 1167, 169, 1234, 1746 146, -218, -218, 1436, 681, 147, 46, 148, 158, 766, 1747 30, 1414, 254, 565, 46, 371, 53, 139, 156, 46, 1748 143, 367, 418, 1168, 67, 30, 1235, 199, 30, 1168, 1749 770, 372, 628, 160, 476, 30, 632, 744, 439, 1185, 1750 471, 249, 421, 46, 46, 94, 158, 566, 206, 1378, 1751 1379, 216, 318, 666, 152, 757, 208, 460, 94, 46, 1752 735, 334, 872, 873, 828, 149, -218, 46, 844, 158, 1753 1414, 165, 847, 1176, 150, 1161, 46, 528, 890, 46, 1754 146, 435, 391, 185, 74, 147, 151, 148, 829, 248, 1755 173, 404, 412, 864, 404, 30, 1418, 867, 108, 481, 1756 463, 404, 663, 587, 1077, 476, 94, 465, 177, 46, 1757 422, 95, 163, 1380, 426, 74, 664, 830, 94, 832, 1758 810, 167, 1161, 46, 46, 1005, 158, 567, 47, 427, 1759 46, 1111, 337, 1017, 729, 410, 833, 46, 1112, 609, 1760 257, 843, 30, 258, 318, 448, 701, 516, 94, 994, 1761 197, 692, 942, 104, 104, 1129, 828, 1187, 429, 841, 1762 453, 601, 479, 1307, 1484, 694, 1378, 1379, 437, 1309, 1763 1308, 834, 1177, 1418, 108, 1018, 426, 163, 1418, 488, 1764 829, 1483, 108, 663, 104, 46, 1497, 367, 66, 60, 1765 1191, 427, -274, 1418, 472, 243, 1492, 664, 521, 471, 1766 1418, 156, 433, 1496, 46, 46, 848, 380, 601, 830, 1767 434, 322, 776, 523, 655, -109, 160, 248, 471, 104, 1768 1313, 46, 1365, 381, 94, 46, 471, 1159, 1160, 246, 1769 1389, 1069, 53, 1070, 1161, 520, -109, 832, 108, -498, 1770 67, 997, 670, 596, 603, 586, 911, 675, 593, 260, 1771 431, 46, -10, 108, 833, 136, 137, 108, 857, 136, 1772 234, 46, 817, 367, 1459, 1403, 1404, 626, 172, 576, 1773 1464, 630, 596, 428, 334, 577, 1315, 596, 108, 46, 1774 136, 137, 840, 383, 46, 1479, 46, 248, 324, 834, 1775 1486, 337, 385, 235, 239, 870, 870, 870, 236, 384, 1776 185, 682, -424, 322, 483, 866, 1346, 577, 386, -425, 1777 46, 500, 870, 1177, 325, 519, 877, 921, 172, 505, 1778 1177, 172, 272, 1021, 1147, 1149, 110, 387, 318, 318, 1779 717, 74, 555, 556, 46, 428, 74, 208, 729, 934, 1780 1409, 505, 46, 388, 367, 702, 46, 1080, 95, 693, 1781 46, 498, 274, 472, 894, 448, 1125, 882, 448, 1177, 1782 163, 703, 275, 1230, 448, 47, 172, 557, 558, 1099, 1783 453, 754, 472, 453, 609, 392, 113, 393, 173, 453, 1784 472, 679, 704, 860, 394, 94, 870, 861, 771, 603, 1785 862, 754, 400, 777, 863, 629, 395, 396, 705, 633, 1786 104, 488, 397, 318, 702, 488, 401, 598, 398, 1016, 1787 1085, 704, 729, 1096, 1344, 721, 521, 728, 696, 521, 1788 914, 318, 521, 1174, 726, 66, 60, 915, 172, 988, 1789 276, 523, 1018, 334, 523, 1174, 548, 523, 365, 1175, 1790 465, 549, 550, 366, 1300, 671, 673, 1442, 326, 1302, 1791 46, 1291, 337, 520, 1442, 108, 520, 136, 137, 520, 1792 1301, 1085, 46, 225, 46, 1303, 208, 226, 471, 53, 1793 230, 569, 232, 404, 719, 870, 762, 67, 892, 241, 1794 720, 570, 172, 46, 327, 1388, 318, 322, 322, 172, 1795 999, 741, 1347, 1480, 817, 74, 742, 815, 862, 46, 1796 593, 827, 1095, 603, 328, -102, 764, 1031, 404, -102, 1797 939, 891, 46, 893, 74, 46, 765, 551, 552, 701, 1798 1016, -109, 74, -109, 1029, 751, 337, -109, 752, 856, 1799 819, 758, 370, 519, 593, 717, 519, 1332, 329, 519, 1800 865, 1333, -109, -109, 1074, 943, 883, 601, 642, 46, 1801 330, 46, 884, 36, 736, 944, 172, 39, 382, 1444, 1802 737, 1445, 322, 378, 40, 41, 559, 560, 74, 871, 1803 871, 871, -449, 172, -449, 746, 402, 172, -449, 938, 1804 322, 747, 1107, 817, 762, 989, 871, 761, 917, 42, 1805 693, 1036, 799, 762, 334, 46, 46, 905, 390, 144, 1806 907, 984, 1481, 762, 225, 996, 762, 985, 419, 46, 1807 138, 720, 1222, 1340, 903, 434, 448, 420, 577, 762, 1808 1128, 728, 472, 910, 1341, 663, 1343, 912, 726, 424, 1809 762, 453, 762, 692, 827, 603, 442, 104, 172, 664, 1810 36, 455, 170, 171, 39, 322, 488, 694, 918, 1348, 1811 458, 40, 41, 596, 919, 762, 920, 859, 461, 598, 1812 871, 237, 240, 211, 472, 462, 1399, 717, 334, 108, 1813 1031, 36, 1400, 874, 484, 39, 366, 717, 1419, 1500, 1814 238, 159, 40, 41, 762, 577, 889, 46, 858, 248, 1815 324, 404, 717, 598, 493, 728, 494, 190, 512, 46, 1816 213, 528, 726, 223, 553, 554, 208, 733, 509, 8, 1817 9, 10, 11, 12, 211, 524, 108, 734, 136, 137, 1818 208, 526, 527, 324, 404, 998, 827, 561, 126, 815, 1819 127, 128, 129, 547, 562, 578, 30, 404, 603, 1224, 1820 563, 505, 225, -275, 230, 581, 1056, 404, 1172, 871, 1821 8, 9, 10, 11, 12, 817, 895, 211, 404, 33, 1822 564, 898, 819, 404, 74, 567, 529, 530, 531, 527, 1823 333, 46, 787, 788, 789, 790, -421, 30, 412, 659, 1824 404, 159, 585, 500, 46, 481, 324, 404, 729, 532, 1825 588, 533, 46, 534, 368, 638, 1263, 1264, 505, 505, 1826 33, 1131, 172, 404, 656, 527, 74, 841, 324, 601, 1827 46, 208, 1314, 1316, 1317, 1282, 1283, 211, 815, 159, 1828 457, 657, 448, 693, 1100, 1143, 665, 404, 66, 60, 1829 225, 693, 1146, 667, 601, 172, 36, 453, 170, 171, 1830 39, 1121, 159, 1148, 754, 601, 1121, 40, 41, 603, 1831 1210, 172, 404, 658, 436, 211, 1151, 1079, 925, 211, 1832 925, 488, 1102, 318, 172, 1437, 1438, 729, 1378, 1379, 1833 783, 784, 53, 685, 2, 202, 4, 5, 6, 7, 1834 67, 785, 786, 791, 792, 717, 717, 660, 661, 662, 1835 1058, 253, 708, 748, 1121, 710, -222, 759, 763, 63, 1836 114, 767, 820, -12, 1056, 822, 824, 1186, 1188, 1190, 1837 856, 835, 2, 202, 4, 5, 6, 7, 879, 880, 1838 886, 285, 906, 908, 913, 688, 909, 1217, 960, -398, 1839 63, 142, 34, 737, 35, 933, -502, 1471, 1101, 947, 1840 224, 717, 717, 157, 211, 954, 8, 9, 10, 11, 1841 12, 956, 961, 965, 966, 643, 968, 1158, 969, 970, 1842 368, 172, 971, 337, 46, 217, 980, 991, 992, 993, 1843 34, 74, 35, 30, 1007, 1008, 1085, 1009, 780, 781, 1844 782, 1010, 1011, 1179, 472, 1012, 1013, 1024, -386, 448, 1845 815, -385, 1071, 1082, -3, 1038, 33, 434, 1081, 1193, 1846 1083, 36, 255, 1084, 453, 39, 1091, 1411, 1089, 505, 1847 1073, 1088, 40, 41, 1092, 1090, 1098, 1108, 1109, 762, 1848 1110, 527, 322, 211, 974, 1113, 1120, 53, 1117, 1141, 1849 1164, 1162, 1163, 1165, 706, 67, 368, 42, 1166, 457, 1850 104, 1180, 1181, 323, 1183, 1184, 1192, 144, 1182, 1198, 1851 215, 255, 344, 1196, -3, 1197, 1203, 1208, 46, 1056, 1852 1214, 1225, 1223, 493, 1218, 1457, 1411, 505, 505, 858, 1853 1228, 728, 739, 211, 743, 1232, 1236, 1239, 726, 1296, 1854 1241, 399, 1243, 1244, 1249, 1273, 210, 1245, 1246, 1247, 1855 1100, 1256, 1265, 1121, 1121, 1121, 417, 1266, 1276, 142, 1856 423, 1277, 1342, 1490, 157, 334, 104, 1290, 717, 1298, 1857 2, 202, 4, 5, 6, 7, 717, 717, 717, 1279, 1858 904, 1280, 1287, 172, 1304, 440, 74, 1306, 1102, 443, 1859 1310, 444, 1312, 1318, 1311, 1319, 1320, 210, 1322, 1328, 1860 459, 66, 60, 1329, 1330, 1331, 63, 1056, 1338, 1339, 1861 1349, 473, 1283, 527, 1352, 1354, 392, 726, 393, 1355, 1862 717, 480, 1357, 206, 216, 394, 1362, 72, 34, 423, 1863 35, 208, 400, 1365, 1361, 1372, 1100, 395, 396, 1373, 1864 210, -387, 1376, 397, 1397, 53, 401, 1387, 1391, 398, 1865 1393, 663, 1401, 67, 211, 104, 1335, 975, 72, 1056, 1866 1398, 1410, 1056, 1058, 1101, 664, 1271, 1272, 1420, 1274, 1867 1405, 1406, 1407, 1408, 1102, 1278, 1179, 472, 1281, 1422, 1868 46, 46, 211, 878, 1333, 1121, 1121, 211, 1415, 1350, 1869 1424, 1426, 1428, 218, 718, 255, 1430, 1431, 594, 1443, 1870 210, 1056, 1432, 527, 622, 1451, 1056, 1453, 1455, 1456, 1871 1463, 1475, 990, 1478, 1485, 433, 1487, 627, 1493, 1499, 1872 53, 627, 995, 434, 255, 793, 1100, 901, 67, 1056, 1873 794, 796, 795, 1231, 1470, 797, 1289, 1006, 210, 1390, 1874 1458, 1501, 210, 929, 74, 1351, 1474, 146, 1226, 932, 1875 1101, 1353, 147, 1227, 148, 1202, 1446, 1086, 712, 683, 1876 684, 926, 812, 36, 1102, 170, 171, 39, 1087, 1472, 1877 473, 46, 1116, 211, 40, 41, 885, 1037, 1056, 949, 1878 347, 1097, 1299, 1056, 344, 731, 957, 211, 802, 473, 1879 46, 46, 104, 158, 1449, 803, 1056, 473, 1056, 370, 1880 0, 0, 1056, 1377, 804, 1056, 1385, 0, 0, 1450, 1881 46, 1056, 367, 104, 0, 1056, 0, 1179, 472, 74, 1882 0, 1449, 0, 713, 1179, 472, 423, 210, 1384, 479, 1883 1447, 0, 104, 0, 0, 36, 1450, 179, 180, 39, 1884 1101, 727, 0, 63, 318, 1417, 40, 41, 0, 0, 1885 1421, 423, 0, 441, 1396, 423, 0, 1473, 0, 0, 1886 0, 53, 0, 1179, 472, 0, 0, 0, 53, 67, 1887 172, 181, 0, 1435, 72, 0, 67, 0, 211, 72, 1888 0, 182, 0, 255, 344, 0, 0, 0, 104, 0, 1889 0, 527, 36, 1498, 179, 180, 39, 0, 0, 718, 1890 0, 0, 0, 40, 41, 1503, 210, 53, 8, 9, 1891 10, 11, 12, 0, 0, 67, 0, 0, 104, 0, 1892 0, 643, 0, 0, 0, 0, 0, 1041, 261, 805, 1893 1156, 1157, 509, 0, 0, 30, 0, 0, 262, 0, 1894 1491, 0, 0, 0, 0, 75, 1491, 627, 818, 0, 1895 594, 0, 0, 0, 0, 1491, 210, 0, 33, 1491, 1896 74, 837, 0, 0, 0, 0, 0, 74, 0, 0, 1897 0, 0, 218, 0, 0, 0, 75, 0, 0, 594, 1898 0, 0, 0, 0, 594, 0, 1205, 1206, 0, 0, 1899 627, 0, 0, 344, 344, 344, 0, 0, 0, 569, 1900 0, 404, 0, 322, 0, 0, 74, 0, 104, 570, 1901 344, 219, 209, 0, 0, 643, 0, 0, 0, 0, 1902 0, 0, 228, 0, 54, 54, 0, 0, 713, 104, 1903 0, 718, 172, 0, 0, 0, 104, 0, 72, 473, 1904 0, 718, 36, 527, 255, 727, 39, 0, 922, 0, 1905 0, -276, 347, 40, 41, 54, 718, 72, 8, 9, 1906 10, 11, 12, 209, 211, 72, 0, 0, 0, 0, 1907 0, 0, 0, 0, 0, 104, 0, 210, 825, 0, 1908 601, 473, 0, 0, 344, 30, 0, 54, 602, 0, 1909 54, 347, -277, 948, 0, 0, 423, 0, 349, 8, 1910 9, 10, 11, 12, 0, 210, 209, 0, 33, 347, 1911 210, 72, 1041, 0, 0, 0, 0, 0, 255, 727, 1912 0, 0, 0, 0, 973, 0, 30, 0, 0, 0, 1913 0, 0, 8, 9, 10, 11, 12, 0, 8, 9, 1914 10, 11, 12, 0, 0, 0, 0, 0, 406, 33, 1915 0, 0, 347, 1321, 0, 414, 0, 0, 0, 30, 1916 713, 1323, 1324, 1325, 0, 30, 209, 0, 0, 0, 1917 713, 0, 0, 344, 0, 627, 0, 342, 1004, 627, 1918 818, 0, 33, 0, 0, 713, 0, 36, 33, 179, 1919 180, 39, 75, 0, 0, 1015, 210, 75, 40, 41, 1920 0, 0, 0, 0, 209, 1356, 0, 0, 209, 0, 1921 210, 0, 0, 77, 0, 1269, 347, 0, 0, 0, 1922 0, 0, 0, 600, 499, 601, 0, 406, 0, 764, 1923 0, 404, 0, 602, 0, 0, 0, 0, 211, 765, 1924 0, 54, 0, 0, 77, 0, 63, 0, 0, 718, 1925 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1926 0, 347, 347, 347, 0, 0, 0, 0, 627, 0, 1927 0, 54, 0, 0, 0, 0, 0, 0, 347, 220, 1928 0, 575, 0, 8, 9, 10, 11, 12, 0, 579, 1929 219, 0, 582, 209, 0, 0, 347, 0, 0, 0, 1930 0, 210, 0, 1094, 0, 718, 718, 72, 0, 0, 1931 30, 423, 114, 347, 0, 0, 0, 36, 0, 179, 1932 180, 39, 0, 121, 124, 125, 344, 0, 40, 41, 1933 211, 0, 0, 33, 535, 536, 537, 538, 539, 540, 1934 541, 542, 543, 544, 0, 0, 0, 0, 0, 72, 1935 0, 0, 347, 687, 406, 404, 75, 0, 414, 0, 1936 594, 688, 0, 689, 0, 0, 350, 545, 0, 0, 1937 349, 0, 209, 142, 943, 75, 601, 0, 713, 713, 1938 0, 344, 344, 75, 944, 0, 0, 347, 0, 209, 1939 0, 0, 0, 0, 250, 0, 251, 0, 0, 0, 1940 0, 1178, 0, 0, 0, 0, 0, 0, 0, 349, 1941 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 1942 0, 0, 209, 0, 0, 0, 0, 349, 347, 75, 1943 0, 0, 0, 0, 713, 713, 0, 0, 347, 30, 1944 627, 347, 406, 1297, 0, 0, 218, 0, 347, 342, 1945 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 1946 77, 0, 33, 0, 0, 77, 0, 36, 0, 0, 1947 349, 39, 718, 0, 0, 389, 0, 0, 40, 41, 1948 718, 718, 718, 0, 0, 408, 409, 210, 0, 0, 1949 413, 0, 415, 416, 0, 727, 0, 0, 0, 0, 1950 0, 0, 0, 733, 0, 0, 0, 0, 54, 0, 1951 0, 0, 0, 734, 72, 36, 0, 179, 180, 39, 1952 0, 0, 0, 0, 718, 0, 40, 41, 0, 0, 1953 0, 84, 575, 575, 349, 0, 0, 0, 1270, 0, 1954 0, 0, 0, 209, 0, 0, 0, 0, 0, 342, 1955 0, 600, 0, 601, 0, 255, 0, 0, 220, 63, 1956 0, 602, 84, 0, 0, 0, 0, 0, 0, 0, 1957 0, 209, 713, 0, 727, 0, 209, 0, 114, 349, 1958 349, 349, 0, 0, 0, 0, 0, 0, 0, 0, 1959 0, 0, 0, 0, 347, 0, 349, 221, 0, 0, 1960 0, 713, 0, 0, 0, 0, 0, 0, 0, 713, 1961 713, 713, 0, 342, 349, 0, 0, 0, 0, 896, 1962 344, 344, 0, 899, 77, 75, 0, 0, 0, 0, 1963 0, 349, 0, 0, 1178, 0, 0, 0, 350, 0, 1964 0, 0, 0, 77, 0, 0, 347, 347, 0, 347, 1965 347, 77, 0, 713, 0, 0, 406, 0, 342, 342, 1966 342, 210, 209, 0, 114, 0, 0, 75, 0, 72, 1967 349, 0, 0, 0, 0, 342, 209, 350, 0, 0, 1968 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 1969 0, 0, 0, 0, 0, 350, 499, 77, 0, 0, 1970 0, 0, 347, 347, 0, 349, 0, 0, 0, 0, 1971 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 1972 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1973 23, 24, 0, 344, 25, 26, 27, 0, 350, 0, 1974 0, 0, 30, 446, 0, 0, 349, 0, 0, 342, 1975 0, 0, 0, 210, 114, 0, 349, 0, 0, 349, 1976 0, 0, 0, 347, 219, 33, 349, 209, 575, 0, 1977 0, 349, 37, 38, 0, 1178, 0, 0, 84, 0, 1978 0, 0, 1178, 84, 0, 0, 0, 0, 0, 0, 1979 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 1980 12, 0, 350, 0, 0, 0, 218, 0, 447, 0, 1981 0, 0, 700, 0, 0, 0, 109, 0, 0, 0, 1982 0, 1178, 36, 30, 179, 180, 39, 72, 1488, 0, 1983 0, 0, 75, 40, 41, 0, 0, 0, 342, 0, 1984 347, 0, 347, 0, 0, 342, 33, 350, 350, 350, 1985 0, 36, 0, 179, 180, 39, 0, 0, 687, 0, 1986 404, 0, 40, 41, 350, 0, 0, 0, 689, 347, 1987 0, 807, 808, 0, 0, 0, 221, 347, 347, 347, 1988 406, 0, 350, 0, 0, 0, 0, 181, 347, 347, 1989 0, 0, 0, 77, 0, 0, 0, 182, 0, 350, 1990 0, 842, 72, 0, 845, 846, 0, 849, 0, 851, 1991 852, 54, 349, 0, 853, 854, 0, 0, 0, 0, 1992 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 1993 0, 0, 0, 0, 0, 77, 0, 0, 350, 0, 1994 0, 0, 84, 0, 0, 0, 36, 0, 179, 180, 1995 39, 0, 0, 209, 1132, 0, 357, 40, 41, 0, 1996 0, 84, 0, 0, 349, 349, 0, 349, 349, 84, 1997 1144, 0, 0, 350, 164, 0, 168, 54, 0, 174, 1998 175, 176, 1468, 178, 404, 0, 0, 75, 0, 0, 1999 0, 342, 1469, 0, 0, 357, 927, 928, 229, 0, 2000 0, 347, 930, 8, 9, 10, 11, 12, 0, 0, 2001 244, 245, 0, 357, 350, 84, 0, 0, 0, 0, 2002 349, 349, 0, 0, 350, 0, 0, 350, 0, 0, 2003 30, 0, 220, 0, 350, 0, 0, 0, 0, 350, 2004 0, 0, 0, 72, 0, 1211, 342, 342, 0, 0, 2005 72, 0, 0, 33, 0, 0, 357, 0, 36, 0, 2006 179, 180, 39, 0, 0, 0, 54, 0, 0, 40, 2007 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008 0, 349, 0, 0, 0, 0, 0, 0, 0, 72, 2009 0, 0, 0, 0, 687, 0, 404, 0, 0, 0, 2010 77, 0, 0, 0, 689, 0, 0, 0, 0, 0, 1952 2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953 941, 0, 587, 0, 0, 177, 794, 205, 0, 394, 1954 942, 1330, 0, 402, 515, 178, 817, 0, 589, 0, 1955 0, 804, 0, 578, 0, 0, 0, 0, 0, 206, 1956 0, 249, 707, 437, 437, 1147, 826, 0, 0, 0, 1957 706, 316, 707, 0, 205, 0, 0, 1113, 205, 0, 1958 0, 706, 706, 706, 578, 0, 0, 0, 707, 578, 1959 0, 0, 0, 0, 488, 613, 0, 0, 0, 332, 1960 332, 0, 0, 0, 0, 213, 0, 0, 0, 0, 1961 0, 0, 0, 0, 332, 523, 524, 525, 526, 527, 1962 528, 529, 530, 531, 532, 335, 0, 811, 394, 0, 1963 589, 706, 702, 437, 0, 0, 915, 0, 682, 0, 1964 0, 0, 0, 0, 0, 462, 0, 0, 533, 0, 1965 0, 0, 0, 716, 0, 0, 920, 205, 0, 0, 1966 0, 0, 0, 120, 123, 124, 75, 0, 0, 0, 1967 0, 72, 0, 0, 437, 206, 0, 0, 1113, 0, 1968 0, 515, 817, 589, 0, 335, 0, 0, 0, 462, 1969 72, 0, 332, 0, 0, 0, 0, 75, 72, 0, 1970 1497, 946, 0, 0, 411, 206, 0, 0, 1496, 0, 1971 206, 437, 437, 0, 0, 0, 0, 563, 563, 0, 1972 0, 0, 0, 0, 974, 335, 716, 0, 0, 1497, 1973 0, 972, 214, 244, 0, 245, 205, 1496, 0, 437, 1974 0, 0, 0, 335, 0, 72, 0, 0, 0, 0, 1975 0, 0, 0, 205, 0, 315, 0, 0, 0, 0, 1976 0, 0, 0, 312, 0, 0, 0, 0, 702, 0, 1977 0, 0, 0, 0, 0, 817, 0, 0, 702, 0, 1978 0, 0, 0, 1002, 804, 335, 589, 205, 0, 0, 1979 249, 0, 0, 0, 702, 707, 707, 0, 0, 206, 1980 0, 886, 0, 1019, 0, 889, 0, 0, 0, 0, 1981 0, 0, 377, 206, 0, 0, 337, 0, 0, 0, 1982 0, 396, 397, 0, 0, 0, 401, 0, 403, 404, 1983 563, 0, 0, 0, 0, 249, 0, 0, 0, 0, 1984 0, 0, 394, 0, 0, 335, 0, 0, 0, 0, 1985 0, 0, 707, 707, 0, 63, 0, 0, 0, 0, 1986 0, 515, 0, 0, 0, 0, 316, 817, 589, 0, 1987 0, 77, 0, 0, 0, 0, 0, 0, 0, 804, 1988 682, 0, 0, 0, 0, 0, 1088, 0, 682, 0, 1989 0, 0, 0, 335, 335, 0, 8, 9, 10, 11, 1990 12, 206, 77, 205, 0, 0, 589, 75, 335, 0, 1991 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 1992 1105, 0, 0, 30, 0, 0, 335, 0, 411, 113, 1993 0, 0, 0, 205, 0, 0, 0, 215, 205, 72, 1994 0, 0, 0, 332, 0, 0, 33, 335, 0, 0, 1995 0, 36, 0, 176, 563, 39, 0, 249, 0, 0, 1996 0, 0, 40, 41, 0, 0, 0, 0, 515, 0, 1997 0, 0, 0, 0, 0, 613, 0, 578, 0, 0, 1998 0, 0, 0, 72, 0, 0, 335, 676, 0, 392, 1999 8, 9, 10, 11, 12, 140, 0, 678, 0, 214, 2000 0, 702, 702, 0, 332, 332, 332, 0, 0, 0, 2001 1331, 0, 0, 0, 0, 0, 498, 30, 0, 337, 2002 335, 338, 0, 0, 0, 1197, 0, 205, 0, 0, 2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 707, 2004 33, 205, 0, 0, 0, 36, 0, 176, 589, 39, 2005 707, 707, 707, 0, 0, 0, 40, 41, 702, 702, 2006 0, 488, 335, 0, 0, 75, 0, 563, 563, 804, 2007 249, 0, 335, 0, 0, 394, 0, 213, 335, 337, 2008 0, 1517, 0, 392, 75, 0, 0, 0, 335, 0, 2009 0, 1518, 75, 8, 9, 10, 11, 12, 0, 206, 2010 707, 0, 0, 0, 0, 249, 0, 0, 0, 0, 2011 0, 0, 77, 0, 0, 0, 0, 77, 0, 337, 2012 30, 0, 0, 0, 0, 0, 613, 0, 716, 205, 2013 0, 0, 0, 613, 332, 332, 0, 337, 0, 75, 2014 515, 0, 0, 33, 0, 0, 0, 0, 36, 72, 2015 176, 1144, 39, 8, 9, 10, 11, 12, 0, 40, 2016 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2017 1161, 0, 0, 335, 0, 0, 1299, 0, 0, 337, 2018 30, 0, 0, 0, 255, 0, 0, 0, 0, 0, 2019 0, 0, 0, 332, 256, 0, 0, 63, 0, 796, 2020 797, 0, 0, 33, 215, 0, 0, 613, 36, 0, 2021 0, 0, 39, 0, 0, 0, 702, 0, 716, 40, 2022 41, 0, 113, 0, 338, 0, 0, 831, 0, 0, 2023 834, 835, 0, 838, 0, 840, 841, 335, 0, 337, 2024 842, 843, 0, 0, 907, 702, 392, 0, 563, 0, 2025 0, 0, 0, 1236, 908, 0, 702, 702, 702, 0, 2026 0, 0, 0, 0, 0, 0, 0, 0, 332, 332, 2027 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2028 0, 0, 1197, 0, 338, 0, 0, 337, 337, 77, 2029 0, 0, 0, 0, 206, 335, 335, 77, 335, 335, 2030 335, 0, 337, 0, 0, 613, 702, 8, 9, 10, 2031 11, 12, 0, 0, 0, 0, 0, 113, 0, 72, 2032 337, 0, 0, 0, 338, 925, 926, 205, 0, 0, 2033 0, 928, 0, 75, 30, 0, 0, 0, 0, 0, 2034 0, 337, 338, 0, 77, 0, 0, 0, 0, 0, 2035 0, 0, 335, 335, 0, 0, 0, 33, 0, 0, 2036 0, 0, 36, 335, 84, 0, 39, 249, 0, 0, 2037 0, 0, 0, 40, 41, 0, 0, 75, 0, 0, 2038 337, 0, 0, 0, 338, 0, 0, 0, 0, 0, 2039 0, 0, 0, 0, 332, 84, 206, 0, 42, 0, 2040 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 2041 0, 0, 0, 0, 337, 0, 0, 0, 113, 0, 2042 0, 0, 335, 0, 0, 0, 0, 0, 335, 335, 2043 216, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 2044 0, 0, 0, 0, 338, 0, 1197, 0, 0, 0, 2045 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 2046 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 2047 213, 214, 337, 0, 0, 0, 0, 468, 0, 0, 2048 0, 0, 337, 0, 0, 0, 0, 335, 0, 1197, 2049 0, 72, 338, 338, 0, 0, 1538, 0, 0, 0, 2050 0, 0, 0, 54, 54, 0, 0, 338, 0, 0, 2051 335, 0, 335, 0, 345, 0, 0, 0, 0, 0, 2052 0, 0, 205, 0, 0, 338, 0, 0, 0, 8, 2053 9, 10, 11, 12, 54, 0, 0, 0, 77, 335, 2054 0, 0, 0, 75, 0, 0, 338, 0, 0, 0, 2055 335, 335, 335, 0, 0, 0, 30, 0, 0, 0, 2056 0, 0, 335, 335, 0, 0, 54, 337, 0, 54, 2057 0, 0, 0, 0, 0, 0, 72, 0, 0, 33, 2058 0, 0, 77, 0, 36, 338, 0, 0, 39, 0, 2059 0, 0, 0, 0, 0, 40, 41, 0, 0, 0, 2060 335, 0, 0, 0, 0, 84, 0, 0, 0, 0, 2061 84, 0, 0, 0, 0, 0, 0, 0, 0, 338, 2062 722, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2063 723, 337, 0, 0, 0, 0, 122, 122, 122, 0, 2012 357, 0, 0, 0, 219, 0, 0, 209, 8, 9, 2013 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2014 20, 21, 22, 23, 24, 75, 0, 25, 26, 27, 2015 0, 0, 0, 0, 0, 30, 446, 0, 349, 0, 2016 349, 0, 0, 0, 0, 357, 357, 357, 0, 0, 2017 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2018 350, 0, 357, 0, 0, 37, 38, 349, 0, 0, 2019 0, 0, 0, 0, 0, 349, 349, 349, 0, 0, 2020 357, 0, 54, 54, 0, 0, 349, 349, 0, 0, 2021 0, 84, 0, 0, 0, 0, 0, 357, 0, 209, 2022 75, 447, 0, 0, 54, 931, 0, 0, 0, 109, 2023 0, 0, 350, 350, 0, 350, 350, 0, 0, 349, 2024 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 2025 0, 0, 0, 84, 0, 77, 357, 0, 0, 0, 2026 0, 0, 0, 592, 599, 0, 0, 0, 0, 0, 2027 0, 0, 0, 0, 0, 623, 624, 0, 0, 0, 2028 0, 0, 0, 0, 0, 342, 342, 0, 350, 350, 2029 0, 357, 0, 0, 54, 0, 0, 0, 0, 54, 2030 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2031 17, 18, 19, 20, 21, 22, 23, 24, -278, 349, 2032 25, 26, 27, 0, 0, 0, 0, 0, 30, 54, 2033 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 2034 0, 0, 357, 0, 0, 357, 0, 0, 0, 350, 2035 221, 33, 357, 0, 0, 0, 0, 357, 37, 38, 2036 0, 75, -278, 0, 0, 0, 0, 0, 75, 0, 2037 0, 0, 0, 0, 0, 1207, 0, 8, 9, 10, 2038 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 2039 0, 0, 220, 0, 333, 0, 0, 0, 342, 0, 2040 0, 0, 109, 0, 30, 0, 0, 75, 0, 0, 2041 0, 0, 0, 77, 0, 0, 0, 0, 84, 54, 2042 0, 0, 0, 0, 0, 0, 350, 33, 350, 0, 2043 0, 0, 36, 0, 179, 180, 39, 0, 0, 0, 2044 54, 0, 0, 40, 41, 0, 0, 54, 0, 0, 2045 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 2046 0, 0, 0, 350, 350, 350, 0, 0, 1468, 0, 2047 404, 0, 0, 0, 350, 350, 0, 0, 1469, 0, 2048 0, 0, 0, 0, 0, 0, 54, 0, 77, 0, 2049 0, 0, 0, 0, 0, 1288, 0, 0, 357, 0, 2050 0, 0, 0, 0, 0, 0, 0, 350, 0, 1014, 2051 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2052 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 2053 0, 0, 0, 0, 0, 0, 0, 0, 277, 30, 2054 278, 0, 0, 0, 0, 214, 0, 0, 0, 0, 2055 357, 357, 0, 357, 357, 0, 0, 0, 0, 0, 2056 0, 279, 33, 0, 0, 0, 0, 280, 0, 0, 2057 0, 281, 0, 84, 282, 283, 284, 285, 40, 41, 2058 0, 286, 287, 0, 0, 0, 0, 350, 0, 288, 2059 0, 162, 0, 0, 0, 0, 268, 0, 0, 0, 2060 0, 0, 0, 289, 0, 373, 357, 357, 0, 0, 2061 0, 0, 291, 813, 293, 294, 295, 296, 0, 0, 2062 0, 0, 0, 0, 0, 162, 0, 0, 0, 77, 2063 0, 0, 0, 0, 0, 363, 77, 0, 936, 369, 2064 937, 0, 0, 0, 0, 0, 0, 940, 941, 0, 2065 0, 0, 946, 0, 1152, 0, 0, 8, 9, 10, 2066 11, 12, 0, 0, 951, 0, 0, 357, 0, 955, 2067 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2068 0, 0, 0, 277, 30, 278, 0, 162, 0, 0, 2069 0, 0, 0, 981, 0, 0, 0, 0, 0, 214, 2070 0, 0, 0, 0, 0, 0, 279, 33, 0, 0, 2071 221, 0, 280, 0, 0, 0, 281, 162, 454, 282, 2072 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2073 0, 84, 0, 0, 288, 0, 0, 592, 0, 0, 2074 0, 369, 0, 0, 357, 0, 357, 0, 289, 162, 2075 373, 0, 0, 0, 0, 0, 0, 291, 1153, 293, 2076 294, 295, 296, 0, 0, 0, 0, 0, 0, 0, 2077 0, 454, 0, 357, 162, 0, 0, 0, 0, 0, 2078 0, 357, 357, 357, 0, 0, 0, 0, 0, 0, 2079 0, 0, 357, 357, 1025, 1026, 1027, 1028, 0, 1030, 2080 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 2081 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 2082 0, 597, 0, 0, 0, 357, 621, 0, 1078, 0, 2083 0, 0, 0, 1, 2, 202, 4, 5, 6, 7, 2084 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2085 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2086 26, 27, 28, 0, 0, 29, 1093, 30, 0, 0, 2087 0, 0, 123, 123, 123, 0, 0, 0, 0, 0, 2064 2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 2066 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 2067 0, 338, 0, 0, 0, 0, 215, 338, 0, 0, 2068 0, 0, 0, 0, 0, 0, 0, 338, 335, 337, 2069 337, 0, 337, 337, 337, 0, 0, 216, 0, 0, 2070 0, 0, 0, 0, 0, 0, 122, 0, 122, 0, 2071 0, 0, 0, 75, 0, 54, 0, 345, 0, 0, 2072 1226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073 0, 0, 265, 72, 0, 0, 0, 0, 0, 0, 2074 72, 0, 0, 0, 54, 0, 337, 337, 77, 0, 2075 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 2076 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 2077 0, 0, 338, 0, 0, 0, 0, 345, 0, 0, 2078 0, 0, 84, 72, 0, 122, 0, 0, 0, 0, 2079 84, 0, 122, 0, 122, 122, 0, 0, 0, 122, 2080 0, 122, 122, 0, 0, 0, 0, 0, 0, 0, 2081 0, 0, 0, 0, 0, 0, 337, 345, 0, 0, 2082 0, 0, 337, 337, 0, 0, 0, 0, 0, 0, 2083 0, 0, 0, 0, 0, 345, 338, 84, 0, 0, 2089 33, 0, 34, 0, 35, 0, 0, 37, 38, 0, 2090 0, 162, 162, 1118, 0, 357, 0, 363, 0, 0, 2091 1126, 0, 0, 0, 1130, 0, 0, 0, 0, 1134, 2092 0, 1135, 0, 0, 0, 1137, 1138, 1139, 454, 0, 2093 1142, 454, 0, 43, 0, 0, 0, 454, 0, 1154, 2094 0, 109, 0, 123, 0, 123, 0, 84, 0, 0, 2095 0, 0, 0, 0, 84, 0, 0, 1169, 1170, 8, 2096 9, 10, 11, 12, 730, 0, 0, 0, 0, 271, 2097 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 2098 0, 0, 1199, 0, 0, 1201, 30, 0, 0, 454, 2099 0, 0, 454, 84, 162, 454, 0, 0, 0, 0, 2100 0, 0, 0, 0, 0, 0, 0, 363, 0, 33, 2101 0, 0, 0, 0, 36, 0, 179, 180, 39, 0, 2102 0, 0, 0, 1216, 123, 40, 41, 0, 0, 1220, 2103 1221, 0, 123, 0, 123, 123, 0, 0, 1229, 123, 2104 0, 123, 123, 1233, 0, 0, 1237, 0, 1238, 0, 2105 261, 1240, 0, 0, 0, 0, 0, 0, 0, 162, 2106 262, 0, 0, 0, 1248, 0, 0, 0, 0, 0, 2107 0, 363, 0, 597, 0, 0, 823, 1255, 0, 1257, 2108 1258, 1259, 1260, 0, 0, 0, 0, 0, 0, 0, 2109 0, 0, 0, 0, 0, 1267, 0, 1268, 0, 0, 2110 0, 168, 597, 0, 0, 0, 0, 597, 0, 0, 2111 0, 123, 0, 0, 0, 0, 363, 363, 363, 0, 2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 2113 1293, 0, 0, 363, 0, 0, 0, 207, 0, 0, 2114 0, 0, 0, 0, 0, 0, 0, 227, 0, 231, 2115 0, 233, 0, 0, 0, 0, 0, 0, 242, 0, 2116 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 2117 0, 0, 0, 0, 0, 0, 0, 1326, 1327, 0, 2118 0, 0, 0, 0, 0, 0, 0, 1337, 207, 454, 2119 231, 233, 242, 0, 0, 0, 0, 0, 0, 0, 2120 0, 0, 0, 0, 0, 0, 0, 363, 0, 945, 2121 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 2084 2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085 0, 0, 0, 0, 1318, 0, 330, 0, 0, 0, 2086 0, 0, 0, 0, 214, 0, 0, 0, 0, 122, 2087 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 2088 0, 337, 0, 0, 0, 75, 0, 0, 0, 0, 2089 0, 0, 0, 0, 338, 338, 0, 338, 338, 338, 2090 0, 0, 0, 0, 337, 0, 337, 0, 0, 0, 2091 0, 0, 0, 0, 0, 0, 330, 0, 77, 0, 2123 0, 207, 0, 1364, 0, 0, 0, 0, 0, 0, 2124 0, 0, 730, 0, 0, 1368, 0, 1369, 1370, 1371, 2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 1375, 2126 0, 0, 0, 0, 0, 153, 0, 0, 1386, 0, 2092 2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093 0, 0, 0, 337, 0, 0, 0, 345, 0, 0, 2094 0, 0, 0, 0, 337, 337, 337, 0, 0, 0, 2095 0, 338, 338, 0, 0, 0, 337, 337, 0, 0, 2096 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 2097 75, 0, 0, 0, 0, 0, 54, 0, 0, 0, 2098 0, 0, 0, 0, 0, 345, 345, 0, 0, 0, 2099 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 2100 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2101 0, 0, 0, 0, 0, 0, 330, 0, 345, 0, 2102 0, 338, 0, 0, 0, 0, 0, 338, 338, 0, 2103 0, 84, 0, 0, 0, 0, 0, 0, 0, 345, 2104 0, 0, 0, 0, 161, 0, 165, 0, 0, 171, 2105 172, 173, 0, 175, 0, 0, 0, 0, 0, 0, 2106 0, 0, 0, 0, 0, 0, 0, 0, 224, 215, 2107 0, 0, 0, 0, 0, 84, 330, 0, 345, 238, 2108 239, 0, 337, 0, 0, 0, 338, 0, 0, 0, 2109 77, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2110 17, 18, 19, 20, 21, 22, 23, 24, -279, 338, 2111 0, 338, 345, 0, 0, 0, 0, 0, 30, 0, 2112 0, 0, 0, 0, 330, 330, 0, 75, 0, 0, 2113 0, 0, 0, 0, 75, 0, 0, 0, 338, 330, 2114 0, 33, 0, 0, 327, 0, 0, 0, 0, 338, 2115 338, 338, -279, 0, 345, 0, 0, 0, 0, 0, 2116 0, 338, 338, 0, 345, 0, 0, 0, 0, 216, 2117 345, 0, 122, 122, 0, 77, 0, 75, 0, 0, 2118 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 2120 122, 0, 0, 122, 122, 0, 122, 0, 122, 122, 2121 0, 0, 0, 122, 122, 0, 0, 330, 2, 197, 2128 1394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129 0, 207, 0, 231, 233, 242, 363, 0, 0, 0, 2130 621, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2131 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 2132 0, 252, 0, 0, 0, 0, 0, 1433, 1434, 207, 2133 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 2134 1439, 0, 0, 0, 0, 0, 0, 1439, 0, 497, 2135 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2136 18, 19, 20, 21, 22, 23, 24, -278, 0, 25, 2137 26, 27, 1467, 0, 0, 0, 153, 30, 0, 0, 2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 2139 0, 0, 0, 0, 0, 454, 0, 207, 1489, 0, 2140 33, 0, 0, 0, 0, 36, 0, 331, 332, 39, 2141 0, -278, 411, 0, 0, 0, 40, 41, 207, 0, 2142 123, 123, 1502, 231, 233, 0, 425, 1504, 0, 0, 2143 0, 242, 0, 0, 0, 430, 162, 0, 0, 0, 2144 0, 634, 0, 333, 0, 438, 0, 0, 0, 363, 2145 123, 625, 0, 123, 123, 0, 123, 0, 123, 123, 2146 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 2147 464, 0, 0, 207, 0, 474, 0, 0, 0, 0, 2148 0, 0, 0, 597, 0, 0, 0, 0, 482, 0, 2149 0, 207, 0, 0, 492, 0, 496, 207, 0, 0, 2150 0, 0, 0, 0, 363, 363, 0, 0, 0, 0, 2151 0, 0, 525, 0, 207, 0, 0, 207, 207, 0, 2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2153 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 2154 123, 0, 0, 0, 0, 123, 123, 207, 0, 0, 2155 0, 123, 0, 0, 207, 584, 0, 0, 0, 0, 2156 589, 0, 454, 201, 2, 202, 4, 5, 6, 7, 2157 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2158 18, 19, 20, 21, 22, 23, 24, 0, 635, 25, 2159 26, 27, 636, 637, 0, 639, 0, 30, 0, 0, 2160 0, 649, 650, 0, 651, 652, 0, 653, 0, 654, 2161 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 2162 33, 0, 34, 0, 35, 36, 584, 203, 38, 39, 2163 0, 0, 0, 0, 669, 0, 40, 41, 0, 0, 2164 0, 0, 0, 277, 0, 278, 0, 0, 0, 0, 2165 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 2166 214, 42, 0, 204, 0, 0, 279, 0, 207, 686, 2167 0, 205, 280, 0, 0, 0, 281, 0, 0, 282, 2168 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2169 0, 0, 722, 0, 288, 0, 207, 730, 725, 0, 2170 0, 207, 0, 464, 0, 0, 0, 0, 289, 0, 2171 373, 0, 0, 0, 0, 0, 0, 291, 375, 293, 2172 294, 295, 296, 0, 0, 0, 0, 0, 336, 358, 2173 0, 1194, 0, 0, 0, 0, 0, 0, 0, 760, 2174 0, 0, 0, 363, 363, 0, 0, 0, 0, 0, 2175 0, 0, 214, 0, 0, 775, 0, 0, 0, 0, 2176 0, 407, 0, 0, 0, 0, 0, 0, 407, 8, 2177 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2178 19, 20, 21, 22, 23, 24, 0, 207, 25, 26, 2179 27, 801, 0, 0, 0, 277, 30, 278, 0, 0, 2180 811, 207, 0, 0, 0, 0, 0, 814, 0, 0, 2181 0, 0, 821, 0, 0, 0, 0, 0, 279, 33, 2182 0, 497, 0, 836, 280, 0, 37, 38, 281, 0, 2183 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2184 407, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2185 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 2186 289, 0, 517, 876, 0, 167, 0, 0, 0, 291, 2187 292, 293, 294, 295, 296, 0, 0, 0, 0, 207, 2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2189 0, 0, 207, 0, 407, 0, 0, 0, 821, 0, 2190 0, 0, 407, 580, 0, 407, 583, 454, 0, 0, 2191 0, 207, 0, 0, 0, 358, 0, 0, 0, 613, 2192 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 2193 0, 0, 0, 0, 454, 0, 0, 0, 631, 0, 2194 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 2195 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 2196 0, 0, 0, 952, 953, 0, 0, 407, 0, 0, 2197 0, 407, 0, 0, 0, 967, 0, 0, 0, 0, 2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2199 0, 0, 982, 0, 983, 0, 207, 0, 987, 0, 2200 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 2201 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, 2202 0, 0, 207, 0, 407, 0, 0, 0, 340, 0, 2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2204 376, 0, 0, 0, 123, 0, 0, 207, 0, 0, 2205 0, 0, 0, 0, 0, 407, 0, 0, 358, 0, 2206 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 2207 1020, 0, 0, 0, 0, 277, 0, 278, 207, 0, 2208 0, 0, 0, 1022, 0, 1023, 0, 0, 0, 207, 2209 0, 0, 0, 0, 0, 0, 0, 407, 279, 1035, 2210 336, 358, 0, 0, 280, 1039, 0, 0, 281, 0, 2211 316, 282, 283, 284, 285, 40, 41, 1075, 286, 287, 2212 1076, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2213 0, 0, 0, 0, 0, 478, 0, 0, 589, 0, 2214 289, 0, 373, 0, 0, 407, 407, 0, 798, 291, 2215 375, 293, 294, 295, 296, 0, 0, 0, 0, 0, 2216 0, 0, 0, 0, 816, 358, 0, 358, 207, 0, 2217 0, 0, 0, 0, 0, 0, 613, 0, 613, 613, 2218 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 2219 0, 0, 0, 0, 0, 855, 358, 0, 0, 0, 2220 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 2221 358, 358, 358, 0, 0, 0, 0, 0, 0, 0, 2222 0, 0, 1136, 0, 0, 0, 0, 358, 0, 0, 2223 0, 0, 407, 897, 0, 0, 407, 900, 0, 0, 2224 0, 0, 0, 902, 0, 0, 0, 0, 0, 376, 2225 0, 0, 207, 277, 0, 278, 0, 0, 0, 0, 2226 0, 336, 358, 407, 0, 407, 0, 0, 0, 407, 2227 0, 0, 0, 0, 0, 0, 279, 525, 0, 0, 2228 0, 0, 640, 1200, 136, 137, 281, 0, 0, 282, 2229 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2230 0, 358, 613, 0, 288, 0, 0, 0, 0, 0, 2231 0, 0, 1213, 0, 0, 0, 0, 1215, 289, 0, 2232 641, 0, 642, 374, 0, 1219, 0, 291, 375, 293, 2233 294, 295, 296, 0, 0, 336, 358, 0, 0, 0, 2234 407, 407, 0, 0, 207, 504, 508, 504, 511, 724, 2235 0, 0, 0, 1242, 0, 514, 515, 0, 0, 0, 2236 504, 504, 0, 0, 0, 1250, 0, 0, 1251, 0, 2237 1252, 0, 504, 0, 0, 0, 0, 0, 0, 0, 2238 0, 407, 0, 0, 1261, 1262, 0, 756, 0, 0, 2239 358, 0, 0, 0, 0, 0, 816, 358, 0, 0, 2240 769, 613, 0, 613, 0, 0, 1275, 756, 504, 0, 2241 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 2242 778, 779, 0, 0, 0, 0, 0, 0, 0, 0, 2243 0, 0, 1294, 0, 0, 0, 0, 0, 0, 0, 2244 0, 0, 800, 0, 504, 0, 0, 0, 0, 0, 2245 0, 0, 809, 0, 0, 0, 0, 0, 0, 340, 2246 0, 0, 0, 0, 769, 0, 0, 0, 8, 9, 2247 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2248 20, 21, 22, 23, 24, 816, 0, 25, 26, 27, 2249 0, 0, 0, 407, 0, 30, 0, 0, 407, 0, 2250 0, 0, 0, 0, 0, 0, 407, 0, 0, 0, 2251 0, 0, 0, 0, 875, 0, 0, 0, 33, 613, 2252 613, 376, 1358, 0, 1359, 203, 38, 0, 0, 0, 2253 0, 0, 0, 0, 0, 1366, 0, 1367, 0, 0, 2254 0, 0, 0, 358, 0, 0, 0, 0, 0, 407, 2255 0, 0, 0, 0, 0, 1374, 0, 0, 0, 0, 2256 0, 340, 207, 0, 0, 0, 0, 407, 1133, 267, 2257 0, 1392, 0, 0, 0, 0, 0, 358, 0, 1395, 2258 0, 0, 1219, 407, 1145, 0, 613, 613, 1150, 0, 2259 0, 0, 0, 0, 0, 0, 0, 0, 358, 358, 2260 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 2261 0, 1423, 0, 0, 1425, 1427, 0, 504, 504, 504, 2262 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 2263 504, 504, 504, 504, 504, 769, 0, 972, 0, 0, 2264 0, 0, 0, 977, 0, 0, 0, 0, 0, 1452, 2265 986, 1219, 0, 0, 0, 0, 0, 816, 407, 1212, 2266 504, 0, 0, 1462, 0, 0, 0, 0, 0, 0, 2267 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2269 0, 0, 0, 1002, 1003, 0, 340, 0, 0, 0, 2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2271 0, 340, 358, 2, 202, 4, 5, 6, 7, 8, 2272 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2273 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2274 27, 0, 0, 0, 0, 277, 30, 278, 0, 0, 2275 0, 1033, 0, 0, 0, 376, 0, 504, 0, 0, 2276 0, 0, 0, 0, 0, 0, 0, 0, 279, 33, 2277 0, 34, 336, 35, 280, 0, 37, 38, 281, 504, 2278 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2279 0, 358, 504, 0, 0, 0, 288, 0, 0, 0, 2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2281 289, 0, 338, 0, 0, 0, 0, 768, 0, 291, 2282 339, 293, 294, 295, 296, 0, 0, 0, 0, 316, 2283 0, 0, 0, 0, 0, 0, 504, 358, 358, 0, 2284 0, 0, 1114, 1115, 0, 0, 0, 0, 277, 376, 2285 278, 0, 0, 0, 0, 977, 0, 0, 1124, 0, 2286 756, 0, 0, 0, 0, 0, 0, 504, 0, 0, 2287 0, 279, 0, 0, 0, 0, 0, 280, 0, 1140, 2288 0, 281, 504, 0, 282, 283, 284, 285, 40, 41, 2289 1155, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291 0, 0, 376, 289, 1173, 373, 0, 0, 374, 0, 2292 0, 0, 291, 375, 293, 294, 295, 296, 0, 1195, 2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 0, 0, 1204, 0, 2295 358, 0, -497, 0, 0, 1, 2, 3, 4, 5, 2296 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2297 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2298 0, 25, 26, 27, 28, 0, 0, 29, 0, 30, 2299 31, 0, 977, 0, 0, 0, 0, 0, 0, 0, 2300 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 2301 0, 875, 33, 0, 34, 0, 35, 36, 0, 37, 2302 38, 39, 0, 0, 0, 407, 1253, 1254, 40, 41, 2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 2304 0, 278, 0, 0, 407, 407, 0, 0, 0, 0, 2305 0, 0, 0, 42, 0, 43, 0, 0, 504, 0, 2306 0, 0, 279, 44, 407, 0, 0, 0, 280, 0, 2307 504, 0, 281, 0, 0, 282, 283, 284, 285, 40, 2308 41, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2309 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310 0, 0, 0, 977, 289, 0, 373, 0, 0, 974, 2311 0, 504, 0, 291, 375, 293, 294, 295, 296, 0, 2312 0, 1, 2, 202, 4, 5, 6, 7, 8, 9, 2313 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2314 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2315 28, 0, 0, 29, 277, 30, 1042, 1043, 0, 1044, 2316 0, 0, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 2317 0, 1053, 0, 0, 1054, 32, 0, 279, 33, 504, 2318 34, 0, 35, 640, 0, 37, 38, 281, 0, 0, 2319 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2320 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2322 0, 1055, 504, 0, 167, 0, 0, 0, 291, 292, 2323 293, 294, 295, 296, 0, 0, 504, 504, 0, 0, 2324 1402, 0, -126, 0, 1, 2, 202, 4, 5, 6, 2325 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2326 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2327 25, 26, 27, 28, 0, 0, 29, 277, 30, 278, 2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2330 279, 33, 0, 34, 0, 35, 280, 1454, 37, 38, 2331 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2332 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334 0, 0, 289, 0, 1055, 0, 0, 0, 0, 0, 2335 316, 291, 292, 293, 294, 295, 296, 0, 0, 0, 2336 0, 0, 0, 0, 0, -126, 1, 2, 202, 4, 2337 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2338 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2339 0, 0, 25, 26, 27, 28, 0, 0, 29, 277, 2340 30, 278, 8, 9, 10, 11, 12, 13, 14, 15, 2341 16, 17, 18, 19, 20, 21, 22, 23, 24, -278, 2342 0, 0, 279, 33, 0, 34, 0, 35, 280, 30, 2343 37, 38, 281, 0, 0, 282, 283, 284, 285, 40, 2344 41, 0, 286, 287, 0, 0, 0, 504, 0, 0, 2345 288, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2346 0, 0, 0, -278, 289, 0, 43, 0, 0, 0, 2347 0, 0, 0, 291, 292, 293, 294, 295, 296, 0, 2348 0, 0, 2, 202, 4, 5, 6, 7, 8, 9, 2349 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2350 20, 21, 22, 23, 24, 504, 504, 25, 26, 27, 2351 0, 0, 0, 0, 277, 30, 278, 8, 9, 10, 2352 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2353 21, 22, 23, 24, -279, 0, 0, 279, 33, 0, 2354 34, 0, 35, 280, 30, 37, 38, 281, 0, 0, 2355 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2356 0, 0, 0, 0, 0, 288, 0, 33, 0, 0, 2357 0, 0, 0, 0, 0, 0, 0, 0, -279, 289, 2358 0, 916, 0, 0, 0, 0, 768, 0, 291, 339, 2359 293, 294, 295, 296, 2, 202, 4, 5, 6, 7, 2360 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2361 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2362 26, 27, 0, 0, 0, 0, 277, 30, 278, 8, 2363 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2364 19, 20, 21, 22, 23, 24, 0, 0, 0, 279, 2365 33, 0, 34, 0, 35, 280, 30, 37, 38, 281, 2366 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2367 287, 0, 0, 0, 0, 0, 0, 288, 0, 33, 2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2369 0, 289, 0, 916, 0, 0, 0, 0, 768, 0, 2370 291, 591, 293, 294, 295, 296, 2, 202, 4, 5, 2371 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2372 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2373 0, 25, 26, 27, 0, 0, 0, 0, 277, 30, 2374 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376 0, 279, 33, 0, 34, 0, 35, 280, 0, 37, 2377 38, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2378 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 0, 0, 289, 0, 338, 0, 0, 0, 0, 2381 0, 0, 291, 339, 293, 294, 295, 296, 2, 202, 2122 2382 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2123 2383 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2124 24, 84, 0, 25, 26, 27, 0, 0, 0, 0, 2125 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2126 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 2127 0, 0, 0, 0, 33, 0, 34, 0, 35, 36, 2128 0, 198, 199, 39, 0, 0, 0, 338, 0, 0, 2129 40, 41, 0, 122, 0, 0, 0, 0, 122, 122, 2130 0, 0, 0, 0, 122, 0, 0, 0, 0, 330, 2131 0, 0, 0, 0, 0, 42, 0, 200, 0, 0, 2132 576, 0, 584, 0, 0, 201, 0, 0, 0, 345, 2133 0, 0, 77, 609, 610, 0, 0, 0, 0, 77, 2134 0, 0, 0, 0, 0, 0, 0, 620, 0, 456, 2135 2, 197, 4, 5, 6, 7, 8, 9, 10, 11, 2384 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2385 277, 30, 278, 0, 0, 0, 0, 0, 0, 0, 2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2387 0, 0, 0, 279, 33, 0, 34, 0, 35, 280, 2388 0, 37, 38, 281, 0, 0, 282, 283, 284, 285, 2389 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2390 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2391 0, 0, 0, 0, 0, 289, 0, 916, 0, 0, 2392 0, 0, 0, 0, 291, 339, 293, 294, 295, 296, 2393 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 2136 2394 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2137 2395 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2138 54, 0, 77, 30, 0, 0, 0, 345, 345, 0, 2139 345, 345, 345, 0, 0, 0, 0, 0, 0, 0, 2140 0, 0, 0, 0, 330, 0, 33, 663, 34, 0, 2141 35, 84, 0, 37, 38, 0, 2, 197, 4, 5, 2142 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2143 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2144 0, 25, 26, 27, 345, 345, 0, 0, 271, 30, 2145 272, 0, -3, 0, 54, 345, 0, 0, 0, 0, 2146 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 2147 0, 273, 33, 0, 34, 0, 35, 274, 0, 37, 2148 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2149 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2150 0, 0, 0, 0, 0, 0, 0, 757, 0, 0, 2151 0, 0, 0, 283, 345, 325, -3, 0, 0, 0, 2152 345, 345, 285, 326, 287, 288, 289, 290, 0, 330, 2153 330, 330, 8, 9, 10, 11, 12, 13, 14, 15, 2154 16, 17, 18, 19, 20, 21, 22, 23, 24, -280, 2155 54, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2156 0, 0, 216, 0, 0, 0, 0, 803, 1017, 0, 2157 0, 8, 9, 10, 11, 12, 0, 0, 0, 345, 2158 0, 0, 33, 84, 0, 0, 0, 0, 0, 0, 2159 0, 0, 0, -280, 330, 0, 0, 271, 30, 272, 2160 0, 0, 345, 0, 345, 0, 0, 0, 0, 0, 2161 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 2162 273, 33, 0, 0, 0, 0, 274, 0, 0, 0, 2163 275, 345, 0, 276, 277, 278, 279, 40, 41, 0, 2164 280, 281, 345, 345, 345, 0, 893, 0, 282, 0, 2165 0, 0, 0, 0, 345, 345, 0, 0, 0, 330, 2166 330, 0, 283, 0, 361, 909, 910, 0, 84, 914, 2167 0, 285, 892, 287, 288, 289, 290, 0, 0, 0, 2396 0, 0, 277, 30, 278, 0, 0, 0, 0, 0, 2168 2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2169 0, 0, 345, 122, 0, 0, 0, 934, 0, 935, 2170 54, 54, 0, 0, 0, 0, 938, 939, 0, 0, 2171 0, 944, 0, 0, 0, 0, 0, 0, 330, 0, 2172 0, 0, 54, 949, 0, 0, 0, 0, 953, 0, 2173 0, 0, 0, 0, 271, 0, 272, 0, 0, 0, 2174 0, 0, 970, 0, 0, 0, 0, 54, 0, 0, 2175 0, 0, 981, 0, 0, 0, 0, 273, 0, 0, 2176 0, 0, 0, 274, 0, 0, 0, 275, 0, 0, 2177 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2178 345, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2179 0, 0, 0, 330, 330, 0, 0, 0, 0, 283, 2180 1003, 361, 54, 0, 0, 0, 0, 54, 285, 363, 2181 287, 288, 289, 290, 203, 0, 0, 0, 0, 1018, 2182 0, 0, 1213, 0, 222, 84, 226, 122, 228, 0, 2183 0, 0, 84, 0, 0, 236, 0, 0, 0, 0, 2184 0, 1170, 54, 0, 8, 9, 10, 11, 12, 0, 2185 0, 0, 1029, 0, 1030, 1031, 1032, 0, 0, 1035, 2186 864, 0, 0, 0, 203, 0, 226, 228, 236, 0, 2187 271, 30, 272, 0, 1077, 84, 0, 0, 0, 0, 2188 0, 0, 0, 0, 0, 0, 576, 0, 0, 1084, 2189 0, 203, 0, 273, 33, 1085, 0, 0, 0, 274, 2190 0, 0, 0, 275, 0, 203, 276, 277, 278, 279, 2191 40, 41, 0, 280, 281, 0, 0, 0, 0, 330, 2192 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 2193 0, 0, 0, 0, 1104, 283, 0, 361, 0, 0, 2194 0, 0, 0, 54, 285, 1171, 287, 288, 289, 290, 2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 757, 2196 0, 0, 0, 203, 54, 226, 228, 236, 0, 0, 2197 0, 54, 1130, 0, 0, 0, 0, 864, 0, 0, 2198 1138, 0, 0, 0, 1142, 0, 0, 0, 0, 1146, 2199 0, 0, 0, 1151, 1152, 1153, 0, 0, 0, 0, 2200 203, 0, 0, 1159, 203, 0, 0, 0, 0, 0, 2201 0, 0, 0, 1172, 54, 0, 0, 0, 0, 0, 2202 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2203 0, 0, 1188, 1189, 8, 9, 10, 11, 12, 13, 2204 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2205 24, 0, 0, 25, 26, 27, 0, 1218, 0, 0, 2206 1220, 30, 435, 0, 0, 0, 0, 0, 203, 0, 2398 0, 0, 0, 0, 0, 279, 33, 0, 34, 0, 2399 35, 280, 0, 203, 38, 281, 0, 0, 282, 283, 2400 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2401 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 2402 0, 0, 0, 0, 0, 0, 0, 289, 0, 1000, 2403 0, 0, 0, 0, 0, 0, 291, 1001, 293, 294, 2404 295, 296, 2, 202, 4, 5, 6, 7, 8, 9, 2405 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2406 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2407 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2207 2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2208 0, 0, 0, 203, 33, 1234, 0, 0, 226, 228, 2209 0, 37, 38, 0, 0, 0, 236, 0, 0, 0, 2210 0, 0, 150, 0, 1241, 0, 0, 0, 0, 0, 2211 1245, 1246, 0, 0, 0, 0, 0, 0, 0, 1254, 2212 0, 0, 0, 0, 0, 1258, 0, 436, 1262, 0, 2213 1263, 689, 0, 1265, 0, 108, 0, 0, 203, 0, 2214 0, 0, 0, 0, 864, 0, 0, 241, 1274, 0, 2215 0, 0, 0, 0, 0, 0, 203, 246, 0, 0, 2216 0, 0, 203, 0, 271, 1283, 272, 1285, 1286, 1287, 2217 1288, 0, 0, 0, 0, 0, 0, 0, 0, 203, 2218 0, 0, 203, 203, 1296, 0, 1297, 273, 0, 0, 2219 165, 0, 0, 625, 0, 135, 0, 275, 0, 203, 2220 276, 277, 278, 279, 40, 41, 0, 280, 281, 1317, 2221 353, 0, 0, 203, 0, 282, 0, 0, 1322, 1323, 2222 203, 0, 0, 367, 0, 0, 0, 0, 0, 283, 2223 0, 626, 0, 627, 362, 0, 0, 0, 285, 363, 2224 287, 288, 289, 290, 0, 399, 0, 0, 0, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 2226 0, 0, 0, 0, 0, 0, 0, 418, 0, 1357, 2227 1358, 0, 0, 0, 0, 1362, 1363, 426, 0, 0, 2228 0, 0, 0, 0, 0, 0, 1373, 0, 0, 434, 2409 0, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2410 34, 0, 35, 280, 0, 203, 38, 281, 0, 0, 2411 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2412 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2414 0, 373, 0, 0, 0, 0, 0, 0, 291, 375, 2415 293, 294, 295, 296, 1, 2, 3, 4, 5, 6, 2416 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2417 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2418 25, 26, 27, 28, 0, 0, 29, 0, 30, 31, 2229 2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2230 0, 453, 0, 0, 0, 0, 463, 0, 0, 0, 2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 2232 0, 0, 0, 0, 0, 481, 0, 485, 0, 203, 2233 0, 0, 0, 0, 0, 0, 0, 1404, 0, 0, 2234 0, 0, 0, 513, 0, 0, 0, 0, 0, 1408, 2235 0, 0, 0, 1411, 1412, 1413, 0, 0, 0, 203, 2236 0, 0, 0, 0, 203, 1417, 0, 0, 0, 0, 2237 0, 271, 0, 272, 1428, 0, 0, 0, 0, 0, 2238 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 2239 1439, 0, 0, 0, 273, 0, 0, 0, 0, 0, 2240 274, 0, 0, 0, 275, 0, 0, 276, 277, 278, 2241 279, 40, 41, 621, 280, 281, 0, 622, 623, 0, 2242 624, 0, 282, 0, 0, 0, 634, 635, 0, 636, 2243 637, 0, 638, 0, 639, 0, 283, 0, 361, 0, 2244 0, 362, 1480, 1481, 0, 285, 363, 287, 288, 289, 2245 290, 652, 0, 203, 0, 1486, 0, 0, 0, 654, 2246 0, 271, 1486, 272, 1048, 0, 1049, 203, 0, 1050, 2247 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1532, 1058, 0, 2248 0, 1059, 32, 667, 273, 0, 0, 486, 0, 1516, 2249 625, 0, 0, 0, 275, 675, 0, 276, 277, 278, 2250 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2251 0, 0, 282, 0, 0, 0, 0, 1539, 711, 0, 2252 0, 0, 0, 0, 714, 0, 283, 0, 361, 453, 2253 0, 164, 0, 0, 0, 285, 363, 287, 288, 289, 2254 290, 0, 1552, 0, 0, 203, 0, 1554, 0, -126, 2255 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 2256 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 2257 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 2258 764, 0, 0, -501, 0, 0, 1, 2, 3, 4, 2420 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 2421 0, 33, 0, 34, 0, 35, 36, 0, 37, 38, 2422 39, 0, 0, 0, 0, 0, 0, 40, 41, 0, 2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2425 0, 0, 42, 0, 43, 0, 0, 0, -501, 0, 2426 0, 0, 44, 1, 2, 3, 4, 5, 6, 7, 2427 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2428 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2429 26, 27, 28, 0, 0, 29, 0, 30, 31, 0, 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 2432 33, 0, 34, 0, 35, 36, 0, 37, 38, 39, 2433 0, 0, 0, 0, 0, 0, 40, 41, 0, 0, 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2436 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 2437 0, 44, 1, 2, 202, 4, 5, 6, 7, 8, 2438 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2439 19, 20, 21, 22, 23, 24, -278, 0, 25, 26, 2440 27, 28, 0, 0, 29, 0, 30, 0, 0, 0, 2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2443 0, 34, 0, 35, 0, 0, 37, 38, 0, 0, 2444 -278, 201, 2, 202, 4, 5, 6, 7, 8, 9, 2445 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2446 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2447 0, 0, 43, 0, 0, 30, 0, 0, 0, 0, 2448 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2450 34, 0, 35, 0, 0, 203, 38, 2, 202, 4, 2259 2451 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2260 2452 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2261 0, 0, 25, 26, 27, 28, 790, 0, 29, 0, 2262 30, 31, 0, 0, 0, 800, 0, 801, 0, 0, 2263 0, 0, 0, 806, 0, 0, 0, 0, 0, 271, 2264 32, 272, 0, 33, 0, 34, 825, 35, 36, 0, 2265 37, 38, 39, 0, 0, 0, 0, 0, 0, 40, 2266 41, 0, 273, 0, 0, 0, 0, 0, 274, 0, 2267 0, 203, 275, 0, 0, 276, 277, 278, 279, 40, 2268 41, 0, 280, 281, 42, 866, 43, 0, 0, 0, 2269 282, 0, 0, 0, 44, 346, 0, 203, 0, 0, 2270 0, 0, 0, 0, 283, 0, 361, 0, 0, 0, 2271 0, 0, 787, 285, 363, 287, 288, 289, 290, 0, 2272 0, 901, 0, 203, 0, 0, 395, 0, 0, 0, 2273 0, 0, 0, 395, 0, 8, 9, 10, 11, 12, 2274 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2275 23, 24, -279, 203, 25, 26, 27, 0, 0, 0, 2276 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 2277 203, 0, 0, 0, 0, 0, 0, 0, 0, 241, 2278 0, 0, 0, 0, 0, 33, 0, 0, 0, 950, 2279 951, 0, 37, 38, 0, 0, -279, 0, 0, 0, 2280 0, 965, 0, 395, 0, 0, 0, 0, 271, 0, 2281 272, 0, 0, 0, 0, 0, 0, 0, 982, 0, 2282 983, 0, 0, 0, 987, 0, 1028, 0, 568, 0, 2283 0, 273, 0, 0, 0, 0, 108, 274, 0, 203, 2284 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2285 0, 280, 281, 0, 0, 0, 203, 395, 0, 282, 2286 0, 0, 0, 0, 0, 395, 569, 0, 395, 572, 2287 0, 346, 0, 283, 0, 361, 599, 0, 0, 0, 2288 756, 0, 285, 363, 287, 288, 289, 290, 0, 1023, 2289 0, 0, 0, 0, 0, 617, 1024, 0, 346, 0, 2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 1026, 2291 0, 1027, 0, 0, 0, 0, 271, 0, 272, 0, 2292 0, 0, 0, 0, 395, 0, 1040, 0, 395, 0, 2293 0, 0, 1044, 0, 0, 0, 0, 0, 0, 273, 2294 0, 0, 0, 0, 1080, 274, 0, 1081, 203, 275, 2295 0, 0, 276, 277, 278, 279, 40, 41, 346, 280, 2296 281, 0, 0, 0, 0, 0, 790, 282, 0, 0, 2297 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 2298 310, 283, 395, 361, 0, 0, 973, 0, 0, 328, 2299 285, 363, 287, 288, 289, 290, 0, 0, 0, 0, 2300 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 2301 0, 0, 0, 395, 0, 0, 346, 0, 0, 0, 2302 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2303 18, 19, 20, 21, 22, 23, 24, -279, 0, 25, 2304 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2305 203, 0, 0, 0, 0, 395, 0, 1150, 346, 0, 2306 0, 0, 0, 1156, 1157, 0, 0, 0, 0, 0, 2307 33, 0, 0, 0, 0, 36, 0, 809, 38, 39, 2308 0, -279, 0, 0, 0, 0, 40, 41, 0, 0, 2309 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 2310 0, 0, 395, 395, 0, 0, 0, 0, 0, 0, 2311 0, 1028, 0, 568, 0, 0, 0, 0, 346, 1215, 2312 346, 611, 0, 0, 0, 1219, 0, 0, 812, 0, 2313 0, 599, 0, 599, 599, 0, 0, 0, 0, 0, 2314 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2315 844, 346, 0, 0, 0, 0, 346, 0, 0, 0, 2316 1238, 0, 0, 0, 0, 1240, 346, 346, 0, 0, 2317 0, 0, 0, 1244, 0, 0, 0, 0, 0, 0, 2318 0, 346, 0, 0, 0, 0, 395, 887, 0, 0, 2319 395, 890, 328, 0, 0, 0, 0, 0, 0, 0, 2320 0, 364, 1267, 0, 0, 0, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 395, 0, 0, 0, 1278, 2322 346, 395, 1279, 395, 1280, 0, 0, 395, 0, 0, 2453 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2454 30, 204, 0, 0, 0, 0, 0, 0, 0, 267, 2323 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2324 0, 1290, 1291, 0, 0, 0, 0, 0, 0, 0, 2325 0, 310, 0, 0, 0, 0, 0, 0, 0, 346, 2326 599, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 2327 0, 0, 310, 310, 0, 0, 0, 0, 0, 0, 2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 2329 0, 0, 0, 346, 1328, 0, 0, 395, 395, 0, 2330 0, 0, 713, 0, 0, 0, 0, 0, 8, 9, 2331 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2332 20, 21, 22, 23, 24, -279, 0, 25, 26, 27, 2333 0, 0, 0, 0, 0, 30, 0, 0, 0, 395, 2334 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335 0, 346, 758, 0, 0, 0, 0, 0, 33, 745, 2336 599, 0, 599, 36, 0, 809, 38, 39, 0, -279, 2337 0, 599, 767, 768, 40, 41, 8, 9, 10, 11, 2338 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2339 22, 23, 24, 1398, 789, 1399, 0, 0, 0, 0, 2340 0, 568, 812, 30, 798, 0, 1406, 0, 1407, 108, 2341 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 0, 33, 0, 1416, 0, 2456 0, 0, 0, 33, 0, 34, 0, 35, 36, 0, 2457 203, 38, 39, 0, 0, 0, 0, 0, 0, 40, 2458 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2343 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2344 0, 0, 0, 0, 1434, 0, 346, 0, 0, 0, 2345 0, 0, 395, 395, 0, 0, 1440, 0, 0, 1244, 2346 395, 0, 0, 865, 0, 395, 0, 0, 0, 0, 2347 364, 0, 0, 395, 0, 0, 0, 0, 0, 0, 2348 0, 1461, 0, 0, 0, 0, 599, 599, 0, 0, 2349 1468, 328, 0, 1470, 1472, 0, 0, 0, 0, 0, 2460 0, 0, 0, 0, 42, 0, 204, 0, 0, 0, 2461 0, 0, 0, 0, 205, 2, 202, 4, 5, 6, 2462 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2463 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2464 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2350 2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2351 346, 0, 0, 0, 328, 0, 0, 395, 0, 0,2352 0, 0, 0, 0, 812, 0, 0, 0, 0, 0,2353 0, 1499, 0, 0, 0, 1244, 395, 1145, 0, 0,2354 0, 0, 1148, 0, 346, 0, 0, 1511, 0, 0,2355 0, 0, 0, 0, 0, 395, 1162, 0, 599, 599,2356 1167, 0, 0, 0, 0, 0, 0, 0, 0, 0,2357 0, 346, 346, 346, 0, 0, 0, 0, 0, 0,2358 0, 0, 0, 0, 0, 0, 0, 758, 0, 971,2359 0, 0, 0, 0, 0, 976, 0, 0, 0, 0,2360 0, 0, 0, 986, 0, 8, 9, 10, 11, 12,2361 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,2362 23, 24, -279, 0, 25, 26, 27, 0, 1227, 0,2363 0, 0, 30, 395, 0, 0, 346, 812, 395, 1237,2364 328, 0, 0, 1000, 1001, 328, 0, 0, 0, 0,2365 599, 0, 0, 0, 0, 33, 0, 0, 0, 0,2366 0, 0, 37, 38, 328, 0, -279, 0, 0, 0,2367 0, 0, 812, 0, 0, 0, 0, 493, 497, 493,2368 500, 0, 0, 0, 0, 0, 0, 503, 504, 0,2369 0, 0, 493, 493, 0, 346, 1028, 0, 568, 0,2370 1148, 346, 346, 0, 493, 1038, 611, 0, 0, 364,2371 0, 0, 0, 0, 0, 8, 9, 10, 11, 12,2372 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,2373 23, 24, -279, 493, 25, 26, 27, 0, 0, 0,2374 328, 0, 30, 0, 0, 0, 0, 0, 0, 0,2375 2466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376 346, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2377 493, 0, 37, 38, 1148, 0, -279, 0, 0, 0, 2378 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 2379 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 0, 0, 0, 1125, 1126, 0, 0, 568, 0, 2381 0, 271, 364, 272, 0, 0, 108, 0, 0, 976, 2382 0, 0, 1136, 0, 745, 0, 0, 0, 0, 0, 2383 0, 0, 0, 0, 273, 346, 346, 0, 0, 0, 2384 274, 1154, 0, 0, 275, 0, 0, 276, 277, 278, 2385 279, 40, 41, 0, 280, 281, 0, 0, 1173, 0, 2386 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2387 0, 0, 1148, 0, 0, 0, 283, 0, 361, 0, 2388 0, 364, 0, 1192, 0, 285, 363, 287, 288, 289, 2389 290, 0, 0, 0, 0, 0, 0, 0, 1214, 0, 2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2391 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 758, 0, 0, 0, 812, 0, 0, 0, 0, 0, 2394 0, 0, 0, 493, 493, 493, 493, 493, 493, 493, 2395 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 2396 493, 346, 0, 0, 0, 0, 0, 0, 976, 0, 2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2398 0, 0, 493, 0, 0, 0, 0, 0, 0, 865, 2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2400 0, 0, 0, 0, 0, 0, 0, 1281, 0, 1282, 2401 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 2402 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2403 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2404 0, 395, 25, 26, 27, 28, 0, 0, 29, 0, 2405 30, 31, 0, 0, 758, 0, 0, 0, 0, 0, 2406 0, 0, 395, 395, 0, 0, 0, 0, 0, 310, 2407 32, 0, 0, 33, 0, 34, 0, 35, 36, 0, 2408 37, 38, 39, 395, 493, 0, 0, 0, 0, 40, 2409 41, 0, 976, 0, 0, 0, 0, 0, 0, 0, 2410 0, 0, 0, 0, 0, 0, 493, 0, 0, 0, 2411 0, 0, 0, 0, 42, 0, 43, 0, 0, 493, 2412 -505, 0, 0, 0, 44, 0, 0, 0, 0, 0, 2413 0, 1, 2, 197, 4, 5, 6, 7, 8, 9, 2467 0, 33, 0, 34, 0, 35, 0, 0, 37, 38, 2468 0, 0, 2, 202, 4, 5, 6, 7, 8, 9, 2414 2469 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2415 2470 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2416 28, 0, 493, 29, 271, 30, 1047, 1048, 0, 1049, 2417 0, 0, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 2418 0, 1058, 0, 0, 1059, 32, 0, 273, 33, 0, 2419 34, 0, 35, 625, 493, 37, 38, 275, 0, 0, 2420 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2421 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2423 0, 1060, 0, 0, 164, 0, 0, 0, 285, 286, 2424 287, 288, 289, 290, 1447, 0, 0, 0, 0, 0, 2425 0, 0, -126, 0, 0, 0, 0, 0, 1, 2, 2426 197, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2427 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2428 23, 24, 0, 0, 25, 26, 27, 28, 0, 0, 2429 29, 271, 30, 272, 0, 0, 0, 0, 0, 493, 2471 0, 0, 0, -383, 676, 30, 0, 0, 0, 0, 2472 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 2473 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2474 34, 0, 35, 0, 0, 37, 38, 0, 0, 0, 2430 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431 271, 0, 272, 0, 273, 33, 0, 34, 1503, 35, 2432 274, 0, 37, 38, 275, 0, 0, 276, 277, 278, 2433 279, 40, 41, 273, 280, 281, 0, 0, 0, 274, 2434 0, 0, 282, 275, 0, 0, 276, 277, 278, 279, 2435 40, 41, 0, 280, 281, 0, 283, 0, 1060, 0, 2436 0, 282, 0, 0, 310, 285, 286, 287, 288, 289, 2437 290, 0, 0, 0, 0, 283, 0, 361, 0, -126, 2438 0, 0, 0, 0, 285, 712, 287, 288, 289, 290, 2439 0, 0, 0, 0, 0, 0, 493, 0, 0, 0, 2440 0, 0, 0, 0, 0, 0, 493, 1, 2, 197, 2441 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2442 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2443 24, 0, 0, 25, 26, 27, 28, 0, 0, 29, 2444 271, 30, 272, 0, 0, 0, 0, 0, 0, 0, 2445 0, 0, 0, 0, 493, 0, 0, 0, 0, 271, 2446 0, 272, 0, 273, 33, 0, 34, 0, 35, 274, 2447 0, 37, 38, 275, 0, 0, 276, 277, 278, 279, 2448 40, 41, 273, 280, 281, 0, 0, 0, 625, 0, 2449 0, 282, 275, 0, 0, 276, 277, 278, 279, 40, 2450 41, 0, 280, 281, 0, 283, 0, 43, 0, 0, 2451 282, 0, 0, 0, 285, 286, 287, 288, 289, 290, 2452 0, 0, 0, 0, 283, 0, 761, 0, 493, 0, 2453 0, 0, 0, 285, 363, 287, 288, 289, 290, 0, 2454 2, 197, 4, 5, 6, 7, 8, 9, 10, 11, 2476 0, 0, 0, 0, 0, 0, 0, 1334, 0, 0, 2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2478 0, 676, 0, 0, 0, 0, 0, 0, 0, 625, 2479 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 2455 2480 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2456 2481 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2457 0, 0, 271, 30, 272, 0, 0, 0, 493, 0, 2482 0, 0, 0, 30, 8, 9, 10, 11, 12, 13, 2483 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2484 24, 0, 0, 25, 26, 27, 33, 0, 34, 0, 2485 35, 30, 0, 37, 38, 0, 0, 0, 0, 0, 2458 2486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459 0, 0, 0, 493, 493, 273, 33, 0, 34, 0, 2460 35, 274, 0, 37, 38, 275, 0, 0, 276, 277, 2461 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2462 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2463 0, 0, 0, 0, 0, 0, 0, 283, 0, 325, 2464 -3, 0, 0, 0, 756, 0, 285, 326, 287, 288, 2465 289, 290, 2, 197, 4, 5, 6, 7, 8, 9, 2466 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2467 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2468 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2471 34, 0, 35, 274, 0, 37, 38, 275, 0, 0, 2472 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2473 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2474 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2475 0, 913, -3, 0, 0, 0, 756, 0, 285, 326, 2476 287, 288, 289, 290, 0, 2, 197, 4, 5, 6, 2477 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2478 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2479 25, 26, 27, 0, 0, 0, 0, 271, 30, 272, 2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482 273, 33, 0, 34, 0, 35, 274, 493, 37, 38, 2483 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2484 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2486 0, 0, 283, 0, 913, -3, 0, 0, 0, 756, 2487 0, 285, 575, 287, 288, 289, 290, 0, 0, 0, 2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489 493, 493, 2, 197, 4, 5, 6, 7, 8, 9, 2490 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2491 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2492 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2495 34, 0, 35, 274, 0, 37, 38, 275, 0, 0, 2496 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2497 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2498 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2499 0, 913, -3, 0, 0, 0, 0, 0, 285, 326, 2500 287, 288, 289, 290, 2, 197, 4, 5, 6, 7, 2501 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2502 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2503 26, 27, 0, 0, 0, 0, 271, 30, 272, 0, 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 2506 33, 0, 34, 0, 35, 274, 0, 198, 199, 275, 2507 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2508 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510 0, 283, 0, 998, 0, 0, 0, 0, 0, 0, 2511 285, 999, 287, 288, 289, 290, 2, 197, 4, 5, 2512 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2513 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2514 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2515 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517 0, 273, 33, 0, 34, 0, 35, 274, 0, 198, 2518 199, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2519 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521 0, 0, 0, 283, 0, 361, 0, 0, 0, 0, 2522 0, 0, 285, 363, 287, 288, 289, 290, 1, 2, 2523 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2524 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2525 23, 24, 0, 0, 25, 26, 27, 28, 0, 0, 2526 29, 0, 30, 31, 0, 0, 0, 0, 0, 0, 2527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2528 0, 0, 32, 0, 0, 33, 0, 34, 0, 35, 2529 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 2530 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, 2531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532 0, 0, 0, 0, 0, 0, 42, 0, 43, 0, 2533 0, 0, 0, 0, 0, 0, 44, 196, 2, 197, 2487 0, 0, 0, 0, 33, 1336, 0, 0, 0, 108, 2488 0, 37, 38, 0, 0, 0, 0, 0, 0, 676, 2489 0, 0, 0, 0, 0, 0, 0, 625, 2, 202, 2534 2490 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2535 2491 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 2537 2493 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2538 2494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2539 0, 0, 0, 0, 33, 0, 34, 0, 35, 36, 2540 0, 198, 199, 39, 0, 0, 0, 0, 0, 0, 2541 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2543 0, 0, 0, 0, 0, 42, 0, 200, 0, 0, 2544 0, 0, 0, 0, 0, 201, 1, 2, 197, 4, 2545 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2546 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2547 -279, 0, 25, 26, 27, 28, 0, 0, 29, 0, 2548 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550 0, 0, 0, 33, 0, 34, 0, 35, 0, 0, 2551 37, 38, 0, 0, -279, 1, 2, 197, 4, 5, 2552 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2553 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2554 0, 25, 26, 27, 28, 0, 43, 29, 0, 30, 2555 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2558 38, 0, 196, 2, 197, 4, 5, 6, 7, 8, 2495 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2496 0, 203, 38, 2, 202, 4, 5, 6, 7, 8, 2559 2497 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2560 2498 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2561 27, 0, 0, 0, 0, 43, 30, 0, 0, 0,2562 0, 0, 0, 108, 0,0, 0, 0, 0, 0,2499 27, 0, 0, 0, 0, 0, 30, 266, 0, 0, 2500 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 2563 2501 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2564 0, 34, 0, 35, 0, 0, 198, 199, 2, 197,2502 0, 34, 0, 35, 0, 0, 37, 38, 2, 202, 2565 2503 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2566 2504 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2567 2505 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2568 0, 30, 200, 0, 0, 0, 0, 0, 0, 0,2569 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,2506 0, 30, 676, 0, 0, 0, 0, 0, 0, 0, 2507 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2570 2508 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2571 0, 37, 38, 2, 197, 4, 5, 6, 7, 8,2509 0, 37, 38, 2, 202, 4, 5, 6, 7, 8, 2572 2510 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2573 2511 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2574 27, 0, 0, 0, 0, 0, 30, 662, -3, 0,2575 0, 0, 0, 0, 0, 6 11, 0, 0, 0, 0,2512 27, 0, 0, 0, 0, 0, 30, 590, 0, 0, 2513 0, 0, 0, 0, 0, 625, 0, 0, 0, 0, 2576 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2577 0, 34, 0, 35, 0, 0, 37, 38, 0, 0, 2578 2, 197, 4, 5, 6, 7, 8, 9, 10, 11, 2515 0, 34, 0, 35, 0, 0, 203, 38, 8, 9, 2516 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2517 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2518 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2519 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 2520 267, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2521 0, 0, 0, 280, 0, 37, 38, 281, 0, 0, 2522 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2523 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2524 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2525 0, 590, -3, 0, 0, 0, 0, 0, 291, 591, 2526 293, 294, 295, 296, 8, 9, 10, 11, 12, 13, 2527 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2528 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2529 277, 30, 278, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531 0, 0, 0, 279, 33, 0, 0, 0, 0, 640, 2532 0, 37, 38, 281, 0, 0, 282, 283, 284, 285, 2533 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2534 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2535 0, 0, 0, 0, 0, 289, -35, 753, 0, 0, 2536 0, 0, 0, 0, 291, 292, 293, 294, 295, 296, 2537 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2538 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2539 26, 27, 0, 0, 0, 0, 277, 30, 278, 0, 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 2542 33, 0, 0, 0, 0, 280, 0, 37, 38, 281, 2543 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2544 287, 0, 0, 0, 0, 0, 0, 288, 0, 0, 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546 0, 289, 0, 290, 0, 0, 0, 0, 0, 0, 2547 291, 292, 293, 294, 295, 296, 8, 9, 10, 11, 2579 2548 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2580 2549 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2581 0, -389, 662, 30, 0, 0, 0, 0, 0, 0, 2582 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2584 35, 0, 0, 37, 38, 0, 0, 0, 0, 0, 2550 0, 0, 277, 30, 278, 0, 0, 0, 0, 0, 2585 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2586 0, 0, 0, 0, 0, 1370, 0, 0, 0, 0,2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 662,2588 0, 0, 0, 0, 0, 0, 0, 611, 2, 197,2589 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,2590 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,2591 24, 0, 0, 25, 26, 27, 0, 0, 0, 0,2592 0, 30, 8, 9, 10, 11, 12, 13, 14, 15,2552 0, 0, 0, 0, 0, 279, 33, 0, 0, 0, 2553 0, 280, 0, 37, 38, 281, 0, 0, 282, 283, 2554 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2555 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 2556 0, 0, 0, 0, 0, 0, 0, 289, 0, 154, 2557 0, 0, 0, 0, 0, 0, 291, 292, 293, 294, 2558 295, 296, 8, 9, 10, 11, 12, 13, 14, 15, 2593 2559 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2594 0, 25, 26, 27, 33, 0, 34, 0, 35, 30,2595 0, 37, 38, 0, 0, 0, 0, 0, 0, 0,2560 0, 25, 26, 27, 0, 0, 0, 0, 277, 30, 2561 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596 2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597 0, 0, 33, 1372, 0, 0, 0, 107, 0, 37, 2598 38, 0, 0, 0, 0, 0, 0, 662, 0, 0, 2599 0, 0, 0, 0, 0, 611, 2, 197, 4, 5, 2600 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2601 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2602 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2563 0, 279, 33, 0, 0, 0, 0, 280, 0, 37, 2564 38, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2565 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2603 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2567 0, 0, 0, 289, 0, 590, 0, 0, 0, 0, 2568 0, 0, 291, 591, 293, 294, 295, 296, 8, 9, 2569 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2570 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2571 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2604 2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605 0, 0, 33, 0, 34, 0, 35, 0, 0, 198, 2606 199, 2, 197, 4, 5, 6, 7, 8, 9, 10, 2573 0, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2574 0, 0, 0, 280, 0, 37, 38, 281, 0, 0, 2575 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2576 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2578 0, 373, 0, 0, 0, 0, 0, 0, 291, 375, 2579 293, 294, 295, 296, 467, 2, 202, 4, 5, 6, 2580 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2581 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2582 25, 26, 27, 0, 0, 0, 0, 0, 30, 8, 2583 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2584 19, 20, 21, 22, 23, 24, -278, 0, 25, 26, 2585 27, 33, 0, 34, 0, 35, 30, 0, 37, 38, 2586 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2587 16, 17, 18, 19, 20, 21, 22, 23, 24, 33, 2588 0, 25, 26, 27, 36, 0, 331, 332, 39, 30, 2589 -278, 0, 0, 0, 0, 40, 41, -3, 0, 0, 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 33, 0, 0, 0, 0, 36, 0, 37, 2592 38, 39, 333, 0, 0, 0, 0, 0, 40, 41, 2593 109, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2594 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2595 25, 26, 27, 42, 0, 154, 0, 0, 30, 0, 2596 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2598 0, 33, 0, 0, 0, 0, 36, 0, 37, 38, 2599 39, 0, 0, 0, 0, 0, 0, 40, 41, 8, 2600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2601 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2602 27, 0, 42, 0, 43, 0, 30, 0, 0, 0, 2603 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2605 0, 0, 0, 0, 36, 0, 203, 38, 39, 0, 2606 0, 0, 0, 0, 0, 40, 41, 8, 9, 10, 2607 2607 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2608 2608 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2609 0, 0, 0, 0, 30, 260, 0, 0, 0, 0,2610 0, 0, 0, 606, 0, 0, 0, 0, 0, 0,2611 0, 0, 0, 0, 0, 0, 0, 33, 0, 34,2612 0, 35, 0, 0, 37, 38, 2, 197, 4, 5,2613 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,2614 1 6, 17, 18, 19, 20, 21, 22, 23, 24, 0,2615 0, 25, 26, 27, 0, 0, 0, 0, 0, 30,2616 574, 0, 0, 0, 0, 0, 0, 0, 611, 0,2609 42, 0, 266, 0, 30, 0, 0, 0, 0, 0, 2610 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2611 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2612 0, 0, 36, 0, 331, 332, 39, 0, 0, 0, 2613 0, 0, 0, 40, 41, 8, 9, 10, 11, 12, 2614 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2615 23, 24, 0, 0, 25, 26, 27, 0, 634, 0, 2616 333, 0, 30, 0, 0, 0, 0, 0, 625, 0, 2617 2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2618 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2619 38, 2, 197, 4, 5, 6, 7, 8, 9, 10, 2618 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2619 36, 0, 331, 332, 39, 0, 0, 0, 0, 0, 2620 0, 40, 41, 8, 9, 10, 11, 12, 13, 14, 2621 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2622 -278, 0, 25, 26, 27, 0, 0, 0, 333, 0, 2623 30, 0, 0, 0, 0, 0, 109, 0, 0, 0, 2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2626 37, 38, 0, 0, -278, 8, 9, 10, 11, 12, 2627 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2628 23, 24, -278, 0, 25, 26, 27, 0, 0, 0, 2629 0, 0, 30, 0, 634, 0, 333, 0, 0, 0, 2630 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 2631 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2632 0, 0, 37, 38, 0, 0, -278, 8, 9, 10, 2620 2633 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2621 2634 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2622 0, 0, 0, 0, 30, 662, 0, 0, 0, 0, 2623 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 2624 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2625 0, 35, 0, 0, 198, 199, 8, 9, 10, 11, 2626 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2627 22, 23, 24, 0, 0, 25, 26, 27, 474, 475, 2628 476, 0, 271, 30, 272, 0, 0, 0, 0, 0, 2629 200, 0, 0, 0, 0, 0, 0, 0, 261, 0, 2630 0, 0, 0, 0, 0, 273, 33, 0, 0, 0, 2631 0, 274, 0, 37, 38, 275, 0, 0, 276, 277, 2632 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2633 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2634 0, 0, 0, 0, 0, 0, 0, 283, 0, 284, 2635 0, 0, 0, 0, 0, 0, 285, 286, 287, 288, 2636 289, 290, 8, 9, 10, 11, 12, 13, 14, 15, 2637 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2638 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2639 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2641 0, 273, 33, 0, 0, 0, 0, 274, 0, 37, 2642 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2643 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 283, 0, 506, 0, 0, 164, 0, 2646 0, 0, 285, 286, 287, 288, 289, 290, 8, 9, 2647 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2648 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2649 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2651 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2652 0, 0, 0, 274, 0, 37, 38, 275, 0, 0, 2653 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2654 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2656 0, 574, -3, 0, 0, 0, 0, 0, 285, 575, 2657 287, 288, 289, 290, 8, 9, 10, 11, 12, 13, 2658 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2659 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2660 271, 30, 272, 0, 0, 0, 0, 0, 0, 0, 2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2662 0, 0, 0, 273, 33, 0, 0, 0, 0, 625, 2663 0, 37, 38, 275, 0, 0, 276, 277, 278, 279, 2664 40, 41, 0, 280, 281, 0, 0, 0, 0, 0, 2665 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 0, 283, -35, 742, 0, 0, 2667 0, 0, 0, 0, 285, 286, 287, 288, 289, 290, 2668 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2669 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2670 26, 27, 0, 0, 0, 0, 271, 30, 272, 0, 2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 2673 33, 0, 0, 0, 0, 274, 0, 37, 38, 275, 2674 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2675 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2677 0, 283, 0, 284, 0, 0, 0, 0, 0, 0, 2678 285, 286, 287, 288, 289, 290, 8, 9, 10, 11, 2679 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2680 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2681 0, 0, 271, 30, 272, 0, 0, 0, 0, 0, 2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2683 0, 0, 0, 0, 0, 273, 33, 0, 0, 0, 2684 0, 274, 0, 37, 38, 275, 0, 0, 276, 277, 2685 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2686 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2687 0, 0, 0, 0, 0, 0, 0, 283, 0, 151, 2688 0, 0, 0, 0, 0, 0, 285, 286, 287, 288, 2689 289, 290, 8, 9, 10, 11, 12, 13, 14, 15, 2690 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2691 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2692 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2694 0, 273, 33, 0, 0, 0, 0, 274, 0, 37, 2695 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2696 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698 0, 0, 0, 283, 0, 574, 0, 0, 0, 0, 2699 0, 0, 285, 575, 287, 288, 289, 290, 8, 9, 2700 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2701 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2702 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2705 0, 0, 0, 274, 0, 37, 38, 275, 0, 0, 2706 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2707 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2709 0, 361, 0, 0, 0, 0, 0, 0, 285, 363, 2710 287, 288, 289, 290, 8, 9, 10, 11, 12, 13, 2711 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2712 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2713 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2715 0, 0, 0, 0, 33, 0, 0, 0, 0, 36, 2716 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 2717 40, 41, 8, 9, 10, 11, 12, 13, 14, 15, 2718 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2719 0, 25, 26, 27, 0, 42, 0, 151, 0, 30, 2720 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2722 0, 0, 33, 0, 0, 0, 0, 36, 0, 37, 2723 38, 39, 0, 0, 0, 0, 0, 0, 40, 41, 2724 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2725 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2726 26, 27, 0, 42, 0, 43, 0, 30, 0, 0, 2727 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729 33, 0, 0, 0, 0, 36, 0, 198, 199, 39, 2730 0, 0, 0, 0, 0, 0, 40, 41, 8, 9, 2731 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2732 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2733 0, 42, 0, 260, 0, 30, 0, 0, 0, 0, 2734 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 2735 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2736 0, 0, 0, 36, 0, 809, 38, 39, 0, 0, 2737 0, 0, 0, 0, 40, 41, 8, 9, 10, 11, 2738 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2739 22, 23, 24, 0, 0, 25, 26, 27, 0, 1028, 2740 0, 568, 0, 30, 0, 0, 0, 0, 0, 611, 2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2742 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2743 0, 36, 0, 809, 38, 39, 0, 0, 0, 0, 2744 0, 0, 40, 41, 8, 9, 10, 11, 12, 13, 2745 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2746 24, 0, 0, 25, 26, 27, 0, 0, 0, 568, 2747 0, 30, 435, 0, 0, 0, 0, 108, 0, 0, 2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2749 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2750 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2751 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2752 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2753 30, 435, 0, 0, 0, 0, 0, 436, 0, 0, 2754 0, 929, 0, 0, 0, 108, 0, 0, 0, 0, 2755 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2756 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2757 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2758 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2759 435, 0, 0, 0, 0, 0, 436, 0, 0, 0, 2760 1394, 0, 0, 0, 108, 0, 0, 0, 0, 0, 2761 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2762 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2763 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2764 25, 26, 27, 0, 0, 0, 0, 0, 30, 435, 2765 0, 0, 0, 0, 0, 436, 0, 0, 0, 1438, 2766 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 2767 0, 33, 0, 0, 0, 0, 0, 0, 37, 38, 2768 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2769 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2770 26, 27, 0, 0, 0, 0, 0, 30, 435, 0, 2771 0, 0, 0, 0, 436, 0, 0, 0, 1500, 0, 2772 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 2773 33, 0, 0, 0, 0, 0, 0, 37, 38, 8, 2774 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2775 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2776 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2777 0, 0, 0, 436, 0, 0, 0, 1524, 0, 0, 2778 0, 108, 0, 0, 0, 0, 0, 0, 0, 33, 2779 0, 0, 0, 0, 107, 0, 37, 38, 8, 9, 2780 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2781 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2782 0, 0, 0, 0, 0, 30, 435, 0, 0, 0, 2783 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 2784 108, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2785 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2786 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2787 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2788 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2789 0, 436, 0, 0, 0, 0, 0, 0, 0, 108, 2790 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2791 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, 2792 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2793 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2794 0, 0, 0, 30, 0, 0, 0, 0, 1028, 0, 2795 568, 0, 0, 0, 0, 0, 0, 0, 108, 0, 2796 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2797 0, 0, 0, 37, 38, 8, 9, 10, 11, 12, 2798 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2799 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2800 0, 0, 30, 0, 0, 0, 0, 1028, 0, 568, 2801 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 2802 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2803 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2804 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2805 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2806 0, 30, 0, 0, 0, 0, 0, 0, 247, 0, 2807 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 2808 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2809 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2810 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2811 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2812 30, 0, 0, 0, 0, 0, 0, 151, 0, 0, 2813 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 2814 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2815 198, 199, 8, 9, 10, 11, 12, 13, 14, 15, 2816 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2817 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2818 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 2819 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 2820 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2821 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2822 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2823 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2824 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 2825 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 2826 0, 33, 0, 0, 0, 0, 0, 0, 37, 38, 2827 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2828 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2829 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2830 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, 2831 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 2832 33, 0, 0, 0, 0, 0, 0, 37, 38, 8, 2833 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2834 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2835 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2836 0, 0, 0, 436, 0, 0, 0, 0, 0, 0, 2837 0, 108, 0, 0, 0, 0, 0, 0, 0, 33, 2838 0, 0, 0, 0, 0, 0, 198, 199, 8, 9, 2839 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2840 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2841 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2842 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 2843 606, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2844 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2845 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2846 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2847 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2848 0, 574, 0, 0, 0, 0, 0, 0, 0, 611, 2635 0, 0, 0, 0, 30, 446, 634, 0, 333, 0, 2636 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, 2849 2637 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2850 2638 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, … … 2852 2640 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2853 2641 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2854 43, 0, 0, 0, 0, 0, 0, 0, 108, 0,2642 447, 0, 0, 0, 1209, 0, 0, 0, 109, 0, 2855 2643 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2856 0, 0, 0, 37, 38, 8, 9, 10, 11, 12,2644 0, 108, 0, 37, 38, 8, 9, 10, 11, 12, 2857 2645 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2858 2646 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2859 0, 0, 30, 0, 0, 0, 0, 0, 0, 568,2860 0, 0, 0, 0, 0, 0, 0, 10 8, 0, 0,2647 0, 0, 30, 446, 0, 0, 0, 0, 0, 43, 2648 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 2861 2649 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2862 0, 0, 198, 199, 8, 9, 10, 11, 12, 13,2650 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2863 2651 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2864 2652 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2865 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,2866 0, 0, 0, 0, 0, 0, 261, 0, 0, 0,2653 0, 30, 0, 0, 0, 0, 0, 0, 447, 0, 2654 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 2867 2655 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2868 0, 198, 199, 2, 197, 4, 5, 6, 7, 8, 2656 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2657 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2658 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2659 30, 0, 0, 0, 0, 634, 0, 333, 0, 0, 2660 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 2661 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2662 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2663 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2664 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2665 0, 0, 0, 0, 634, 0, 333, 0, 0, 0, 2666 0, 0, 0, 0, 625, 0, 0, 0, 0, 0, 2667 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2668 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2669 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2670 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2671 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 2672 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 2673 0, 33, 0, 0, 0, 0, 0, 0, 37, 38, 2674 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2675 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2676 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2677 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 2678 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 2679 33, 0, 0, 0, 0, 0, 0, 203, 38, 8, 2869 2680 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2870 2681 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2871 2682 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2872 0, 0, 0, 0, 0, 606, 0, 0, 0, 0, 2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2874 0, 34, 0, 35, 0, 0, 37, 38, 0, 271, 2875 0, 272, 1048, 0, 1049, 0, 0, 1050, 1051, 1052, 2876 1053, 1054, 1055, 1056, 1057, 0, 1058, 0, 0, 1059, 2877 32, 0, 273, 0, 0, 0, 0, 0, 625, 0, 2878 0, -402, 275, 0, 0, 276, 277, 278, 279, 40, 2879 41, 0, 280, 281, 0, 0, 0, 0, 0, 0, 2880 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2881 0, 0, 0, 0, 283, 0, 361, 0, 0, 164, 2882 0, 0, 0, 285, 363, 287, 288, 289, 290, 0, 2883 0, 0, 0, 0, 0, 0, 0, -126, 2, 197, 2884 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2885 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2886 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2887 0, 30, 8, 9, 10, 11, 12, 13, 14, 15, 2888 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2889 0, 25, 26, 27, 33, 0, 34, 0, 35, 30, 2890 0, 37, 38, 0, 271, 0, 272, 1048, 0, 1049, 2891 1420, 1421, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 2892 1532, 1058, 33, 1329, 1059, 32, 0, 273, 0, 37, 2893 38, 0, 0, 625, 0, 0, 0, 275, 0, 0, 2894 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2895 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2897 0, 361, 0, 0, 164, 0, 0, 0, 285, 363, 2898 287, 288, 289, 290, 271, 0, 272, 1048, 0, 1049, 2899 1420, 1421, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 2900 0, 1058, 0, 0, 1059, 32, 0, 273, 0, 0, 2901 0, 0, 0, 625, 0, 0, 0, 275, 0, 0, 2902 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2903 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2905 0, 361, 0, 0, 164, 0, 0, 0, 285, 363, 2906 287, 288, 289, 290, 271, 0, 272, 1048, 0, 1049, 2907 0, 0, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 2908 0, 1058, 0, 0, 1059, 32, 0, 273, 0, 0, 2909 0, 0, 0, 625, 0, 0, 0, 275, 0, 0, 2910 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2911 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2912 0, 271, 0, 272, 0, 0, 0, 0, 0, 283, 2913 0, 361, 0, 0, 164, 0, 0, 0, 285, 363, 2914 287, 288, 289, 290, 273, 0, 0, 0, 0, 0, 2915 274, 0, 0, 0, 275, 0, 0, 276, 277, 278, 2916 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2917 0, 0, 282, 0, 0, 0, 0, 0, 271, 0, 2918 272, 0, 0, 0, 0, 0, 283, 0, 361, 0, 2919 0, 0, 0, 0, 0, 285, 892, 287, 288, 289, 2920 290, 273, 0, 0, 0, 0, 0, 274, 0, 0, 2921 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2922 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2923 0, 0, 0, 0, 0, 271, 0, 272, 0, 0, 2924 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 2925 0, 0, 285, 363, 287, 288, 289, 290, 273, 0, 2926 0, 0, 0, 0, 274, 0, 0, 0, 275, 0, 2927 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2928 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2929 0, 0, 271, 0, 272, 0, 0, 0, 0, 0, 2930 496, 0, 0, 0, 0, 0, 0, 0, 0, 285, 2931 363, 287, 288, 289, 290, 273, 0, 0, 0, 0, 2932 0, 274, 0, 0, 0, 275, 0, 0, 276, 277, 2933 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2934 0, 0, 0, 282, 0, 0, 0, 0, 0, 271, 2935 0, 272, 0, 0, 0, 0, 0, 499, 0, 0, 2936 0, 0, 0, 0, 0, 0, 285, 363, 287, 288, 2937 289, 290, 273, 0, 0, 0, 0, 0, 274, 0, 2938 0, 0, 275, 0, 0, 276, 277, 278, 279, 40, 2939 41, 0, 280, 281, 0, 0, 0, 0, 0, 0, 2940 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2941 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, 2942 0, 0, 0, 285, 363, 287, 288, 289, 290, 2, 2943 197, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2944 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2945 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 2946 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 2947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948 0, 0, 0, 0, 0, 33, 0, 34, 0, 35, 2949 36, 0, 167, 168, 39, 0, 0, 0, 0, 0, 2950 0, 40, 41, 196, 2, 197, 4, 5, 6, 7, 2951 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2952 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2953 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2956 33, 0, 34, 0, 35, 0, 0, 198, 199, 456, 2957 2, 197, 4, 5, 6, 7, 8, 9, 10, 11, 2683 0, 0, 0, 266, 0, 0, 0, 0, 0, 0, 2684 0, 267, 0, 0, 0, 0, 0, 0, 0, 33, 2685 0, 0, 0, 0, 0, 0, 37, 38, 8, 9, 2686 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2687 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2688 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2689 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 2690 625, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2691 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2692 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2693 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2694 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2695 0, 333, 0, 0, 0, 0, 0, 0, 0, 625, 2696 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2697 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, 2958 2698 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2959 2699 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2960 2700 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2701 447, 0, 0, 0, 0, 0, 0, 0, 109, 0, 2702 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2703 0, 0, 0, 203, 38, 8, 9, 10, 11, 12, 2704 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2705 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2706 0, 0, 30, 0, 0, 0, 0, 0, 0, 266, 2707 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 2708 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2709 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2710 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2711 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2712 0, 30, 0, 0, 0, 0, 0, 0, 590, 0, 2713 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, 2714 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2715 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2716 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2717 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2718 30, 0, 0, 0, 0, 0, 0, 333, 0, 0, 2719 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 2720 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2721 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2722 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2723 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2724 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 2725 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 2726 0, 0, 33, 0, 0, 0, 0, 0, 0, 203, 2727 38, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2728 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2729 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2730 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2731 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, 2732 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2733 0, 35, 0, 0, 37, 38, 0, 277, 0, 278, 2734 1043, 0, 1044, 0, 0, 1045, 1046, 1047, 1048, 1049, 2735 1050, 1051, 1052, 1482, 1053, 0, 0, 1054, 32, 0, 2736 279, 0, 0, 0, 0, 0, 640, 0, 0, -396, 2737 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2738 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2961 2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2962 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2963 35, 0, 0, 37, 38, 2, 197, 4, 5, 6, 2964 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2740 0, 0, 289, 0, 373, 0, 0, 167, 0, 0, 2741 0, 291, 375, 293, 294, 295, 296, 0, 277, 0, 2742 278, 1043, 0, 1044, 0, -126, 1045, 1046, 1047, 1048, 2743 1049, 1050, 1051, 1052, 0, 1053, 0, 0, 1054, 32, 2744 0, 279, 0, 0, 0, 0, 0, 640, 0, 0, 2745 0, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2746 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2748 0, 0, 0, 289, 0, 373, 0, 0, 167, 0, 2749 0, 0, 291, 375, 293, 294, 295, 296, 0, 0, 2750 0, 0, 0, 0, 0, 0, -126, 2, 202, 4, 2751 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2752 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2753 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2754 30, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2965 2755 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2966 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2756 25, 26, 27, 33, 0, 34, 0, 35, 30, 0, 2757 37, 38, 0, 277, 0, 278, 1043, 0, 1044, 1378, 2758 1379, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1482, 2759 1053, 33, 1295, 1054, 32, 0, 279, 0, 37, 38, 2760 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2761 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2762 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2763 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 2764 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2765 294, 295, 296, 277, 0, 278, 1043, 0, 1044, 1378, 2766 1379, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 2767 1053, 0, 0, 1054, 32, 0, 279, 0, 0, 0, 2768 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2769 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2770 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2771 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 2772 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2773 294, 295, 296, 277, 0, 278, 1043, 0, 1044, 0, 2774 0, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 2775 1053, 0, 0, 1054, 32, 0, 279, 0, 0, 0, 2776 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2777 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2778 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2779 277, 0, 278, 0, 0, 0, 0, 0, 289, 0, 2780 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2781 294, 295, 296, 279, 0, 0, 0, 0, 0, 280, 2782 0, 0, 0, 281, 0, 0, 282, 283, 284, 285, 2783 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2784 0, 288, 0, 0, 0, 0, 0, 277, 0, 278, 2785 0, 0, 0, 0, 0, 289, 0, 373, 0, 0, 2786 0, 0, 768, 0, 291, 375, 293, 294, 295, 296, 2787 279, 0, 0, 0, 0, 0, 280, 0, 0, 0, 2788 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2789 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2790 0, 0, 0, 0, 277, 0, 278, 0, 0, 0, 2791 0, 0, 289, 0, 373, 0, 0, 0, 0, 0, 2792 0, 291, 375, 293, 294, 295, 296, 279, 0, 0, 2793 0, 0, 0, 280, 0, 0, 0, 281, 0, 0, 2794 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2795 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2796 0, 277, 0, 278, 0, 0, 0, 0, 0, 289, 2797 0, 373, 0, 0, 0, 0, 0, 0, 291, 723, 2798 293, 294, 295, 296, 279, 0, 0, 0, 0, 0, 2799 640, 0, 0, 0, 281, 0, 0, 282, 283, 284, 2800 285, 40, 41, 0, 286, 287, 0, 0, 0, 0, 2801 0, 0, 288, 0, 0, 0, 0, 0, 277, 0, 2802 278, 0, 0, 0, 0, 0, 289, 0, 772, 0, 2803 0, 0, 0, 0, 0, 291, 375, 293, 294, 295, 2804 296, 279, 0, 0, 0, 0, 0, 280, 0, 0, 2805 0, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2806 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2807 0, 0, 0, 0, 0, 277, 0, 278, 0, 0, 2808 0, 0, 0, 289, 0, 373, 0, 0, 0, 0, 2809 0, 0, 291, 813, 293, 294, 295, 296, 279, 0, 2810 0, 0, 0, 0, 280, 0, 0, 0, 281, 0, 2811 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2812 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2813 0, 0, 277, 0, 278, 0, 0, 0, 0, 0, 2814 289, 0, 0, 0, 0, 0, 0, 0, 0, 291, 2815 375, 293, 294, 295, 296, 279, 0, 0, 0, 0, 2816 0, 280, 0, 0, 0, 281, 0, 0, 282, 283, 2817 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2818 0, 0, 0, 288, 0, 0, 0, 0, 0, 277, 2819 0, 278, 0, 0, 0, 0, 0, 507, 0, 0, 2820 0, 0, 0, 0, 0, 0, 291, 375, 293, 294, 2821 295, 296, 279, 0, 0, 0, 0, 0, 280, 0, 2822 0, 0, 281, 0, 0, 282, 283, 284, 285, 40, 2823 41, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2824 288, 0, 0, 0, 0, 0, 277, 0, 278, 0, 2825 0, 0, 0, 0, 510, 0, 0, 0, 0, 0, 2826 0, 0, 0, 291, 375, 293, 294, 295, 296, 279, 2827 0, 0, 0, 0, 0, 280, 0, 0, 0, 281, 2828 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2829 287, 0, 0, 0, 0, 0, 0, 288, 0, 0, 2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 2832 291, 375, 293, 294, 295, 296, 2, 202, 4, 5, 2833 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2834 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2967 2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2968 2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2969 0, 33, 0, 34, 0, 35, 0, 0, 198, 199, 2970 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2971 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2972 26, 27, 474, 475, 476, 0, 0, 30, 8, 9, 2838 0, 0, 33, 0, 34, 0, 35, 36, 0, 170, 2839 171, 39, 0, 0, 0, 0, 0, 0, 40, 41, 2840 201, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2841 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2842 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2843 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2845 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2846 0, 35, 0, 0, 203, 38, 467, 2, 202, 4, 2847 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2848 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2849 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2850 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2852 0, 0, 0, 33, 0, 34, 0, 35, 0, 0, 2853 37, 38, 2, 202, 4, 5, 6, 7, 8, 9, 2973 2854 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2974 2855 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2975 33, 0, 0, 0, 0, 30, 0, 37, 38, 0,2856 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2976 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2977 2858 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2978 0, 0, 0, 0, 0, 198, 199 2859 34, 0, 35, 0, 0, 203, 38, 8, 9, 10, 2860 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2861 21, 22, 23, 24, 0, 0, 25, 26, 27, 485, 2862 486, 487, 0, 0, 30, 8, 9, 10, 11, 12, 2863 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2864 23, 24, 0, 0, 25, 26, 27, 33, 0, 0, 2865 0, 0, 30, 0, 37, 38, 0, 0, 0, 0, 2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2868 0, 0, 203, 38 2979 2869 }; 2980 2870 2981 2871 #define yypact_value_is_default(yystate) \ 2982 ((yystate) == (-12 97))2872 ((yystate) == (-1269)) 2983 2873 2984 2874 #define yytable_value_is_error(yytable_value) \ … … 2987 2877 static const yytype_int16 yycheck[] = 2988 2878 { 2989 1, 112, 0, 438, 0, 42, 178, 1, 42, 177, 2990 42, 210, 177, 444, 162, 177, 102, 178, 32, 412, 2991 630, 177, 269, 177, 177, 520, 0, 1, 270, 877, 2992 606, 676, 434, 31, 558, 31, 737, 557, 877, 177, 2993 433, 434, 676, 676, 42, 586, 44, 331, 44, 437, 2994 588, 0, 557, 1026, 1027, 0, 54, 31, 557, 1027, 2995 588, 755, 60, 980, 60, 63, 0, 63, 66, 346, 2996 66, 586, 66, 350, 586, 179, 54, 1047, 42, 481, 2997 65, 192, 31, 485, 256, 987, 31, 255, 1339, 63, 2998 255, 701, 66, 255, 31, 256, 586, 31, 586, 255, 2999 586, 255, 255, 65, 399, 103, 586, 752, 106, 42, 3000 407, 408, 29, 42, 112, 101, 88, 255, 752, 752, 3001 102, 37, 510, 418, 1420, 103, 89, 109, 106, 246, 3002 589, 426, 42, 43, 0, 0, 595, 123, 1040, 124, 3003 177, 622, 37, 177, 142, 177, 142, 251, 252, 111, 3004 122, 1424, 115, 0, 1, 636, 154, 27, 154, 621, 3005 622, 65, 37, 80, 81, 31, 31, 4, 5, 6, 3006 7, 8, 9, 37, 636, 479, 101, 102, 57, 177, 3007 178, 195, 178, 37, 31, 101, 483, 103, 1484, 1440, 3008 75, 67, 391, 477, 192, 71, 106, 63, 74, 1047, 3009 76, 71, 326, 201, 501, 201, 101, 83, 103, 52, 3010 101, 209, 65, 177, 212, 387, 212, 65, 255, 66, 3011 124, 255, 101, 255, 101, 62, 387, 64, 103, 42, 3012 43, 209, 722, 714, 722, 1508, 722, 101, 212, 103, 3013 1513, 242, 654, 241, 177, 241, 1513, 101, 177, 103, 3014 103, 94, 714, 113, 114, 103, 1529, 255, 256, 103, 3015 256, 696, 106, 1536, 262, 437, 377, 241, 565, 1536, 3016 794, 269, 1240, 37, 815, 65, 437, 67, 75, 42, 3017 43, 282, 399, 65, 262, 67, 590, 124, 826, 37, 3018 594, 269, 241, 106, 405, 989, 241, 469, 826, 410, 3019 815, 418, 104, 815, 241, 102, 108, 241, 469, 426, 3020 65, 615, 246, 103, 108, 619, 233, 1290, 1291, 317, 3021 219, 317, 65, 1291, 106, 815, 101, 815, 204, 815, 3022 124, 123, 330, 331, 1304, 815, 1253, 101, 237, 103, 3023 617, 65, 185, 67, 107, 106, 212, 471, 103, 347, 3024 108, 108, 330, 351, 65, 1056, 67, 68, 817, 89, 3025 103, 0, 1, 3, 207, 209, 78, 124, 3, 347, 3026 283, 1219, 667, 351, 217, 241, 241, 101, 790, 377, 3027 1219, 246, 106, 108, 908, 115, 670, 907, 800, 387, 3028 101, 387, 31, 105, 241, 106, 65, 65, 67, 67, 3029 941, 0, 907, 102, 816, 44, 471, 405, 907, 102, 3030 109, 104, 410, 0, 942, 108, 102, 907, 262, 907, 3031 270, 907, 108, 999, 63, 269, 941, 66, 101, 941, 3032 123, 124, 101, 108, 108, 677, 1513, 106, 106, 437, 3033 283, 102, 65, 1416, 67, 362, 69, 108, 1416, 124, 3034 124, 575, 1529, 76, 77, 456, 1304, 699, 334, 1536, 3035 336, 102, 65, 461, 67, 399, 332, 123, 109, 108, 3036 103, 469, 105, 469, 113, 473, 109, 473, 101, 477, 3037 103, 101, 606, 631, 418, 101, 109, 611, 111, 736, 3038 985, 1461, 426, 108, 407, 408, 108, 583, 1468, 473, 3039 501, 101, 141, 347, 1406, 1407, 678, 351, 676, 124, 3040 108, 676, 124, 108, 676, 154, 517, 678, 1128, 520, 3041 676, 522, 676, 676, 473, 442, 124, 638, 473, 124, 3042 447, 104, 920, 108, 399, 108, 640, 471, 676, 473, 3043 928, 1511, 826, 121, 848, 123, 422, 1028, 950, 124, 3044 667, 675, 108, 418, 1013, 1014, 621, 622, 101, 952, 3045 108, 426, 201, 480, 1088, 482, 1028, 101, 124, 570, 3046 65, 636, 67, 212, 69, 108, 124, 1105, 81, 82, 3047 423, 76, 77, 496, 972, 583, 499, 101, 586, 502, 3048 588, 124, 231, 111, 711, 1487, 462, 102, 116, 117, 3049 104, 1493, 241, 1304, 108, 583, 101, 473, 473, 607, 3050 675, 1023, 1024, 1461, 253, 458, 111, 101, 1510, 103, 3051 1468, 102, 261, 1515, 748, 623, 473, 111, 573, 607, 3052 4, 5, 6, 7, 8, 9, 637, 635, 639, 102, 3053 638, 554, 102, 947, 283, 623, 109, 286, 108, 714, 3054 108, 108, 101, 496, 103, 44, 499, 635, 32, 502, 3055 123, 104, 946, 1511, 863, 108, 124, 124, 1080, 1081, 3056 102, 60, 670, 102, 63, 1156, 1157, 66, 676, 108, 3057 678, 1382, 101, 748, 103, 884, 102, 326, 62, 101, 3058 64, 103, 111, 332, 1156, 1157, 102, 4, 5, 6, 3059 7, 8, 9, 65, 102, 67, 102, 69, 709, 101, 3060 627, 101, 108, 103, 76, 77, 83, 84, 101, 1, 3061 997, 111, 870, 104, 722, 723, 812, 108, 103, 496, 3062 105, 102, 499, 667, 109, 502, 3, 108, 736, 101, 3063 101, 675, 608, 10, 11, 12, 13, 14, 920, 111, 3064 107, 118, 119, 142, 44, 62, 928, 64, 736, 920, 3065 85, 86, 44, 607, 1465, 154, 1467, 928, 407, 408, 3066 37, 857, 102, 412, 691, 108, 109, 711, 108, 623, 3067 697, 10, 11, 12, 13, 14, 65, 124, 67, 178, 3068 69, 635, 57, 60, 433, 434, 435, 76, 77, 438, 3069 1231, 102, 667, 102, 1088, 444, 101, 108, 37, 108, 3070 653, 1512, 201, 102, 748, 124, 102, 815, 108, 108, 3071 102, 664, 108, 212, 102, 668, 108, 677, 826, 102, 3072 108, 60, 471, 102, 473, 108, 702, 1230, 101, 108, 3073 103, 65, 102, 101, 483, 69, 711, 101, 108, 699, 3074 716, 141, 76, 77, 101, 1267, 103, 496, 102, 141, 3075 499, 806, 501, 502, 108, 44, 1278, 1279, 1280, 65, 3076 101, 1148, 1517, 69, 106, 999, 877, 101, 1155, 1121, 3077 76, 77, 102, 1517, 1517, 54, 55, 111, 108, 101, 3078 1325, 103, 736, 979, 1042, 1326, 10, 11, 12, 13, 3079 14, 106, 102, 877, 902, 101, 124, 103, 108, 907, 3080 908, 201, 102, 124, 196, 111, 1328, 65, 108, 201, 3081 106, 102, 920, 37, 902, 101, 565, 108, 317, 108, 3082 928, 65, 877, 67, 68, 69, 575, 787, 804, 578, 3083 101, 102, 103, 877, 1186, 1187, 60, 75, 946, 231, 3084 102, 103, 1229, 870, 65, 112, 901, 951, 69, 876, 3085 1395, 1026, 141, 1028, 120, 76, 77, 606, 101, 102, 3086 103, 261, 611, 543, 544, 545, 546, 951, 101, 261, 3087 103, 982, 264, 101, 985, 103, 987, 101, 87, 103, 3088 101, 121, 103, 283, 42, 43, 286, 111, 387, 997, 3089 111, 283, 1113, 1017, 286, 1436, 1092, 123, 101, 65, 3090 103, 877, 877, 69, 103, 101, 866, 103, 102, 997, 3091 76, 77, 201, 681, 3, 683, 1150, 101, 102, 103, 3092 877, 10, 11, 12, 13, 14, 675, 104, 1473, 1040, 3093 102, 1127, 102, 1474, 326, 101, 101, 102, 103, 1050, 3094 1327, 102, 1053, 1054, 1055, 111, 973, 696, 37, 108, 3095 109, 904, 539, 540, 346, 102, 1501, 65, 350, 67, 3096 68, 69, 102, 1047, 78, 79, 80, 716, 76, 77, 3097 101, 60, 261, 103, 65, 1150, 67, 68, 69, 108, 3098 1088, 1156, 1157, 541, 542, 76, 77, 101, 123, 103, 3099 106, 105, 1047, 101, 951, 547, 548, 286, 1496, 748, 3100 101, 877, 102, 1047, 102, 1113, 1240, 407, 408, 104, 3101 101, 104, 412, 109, 104, 407, 408, 1259, 1260, 1261, 3102 412, 109, 1525, 108, 28, 75, 1002, 102, 102, 989, 3103 108, 104, 108, 433, 434, 107, 1091, 326, 109, 102, 3104 1538, 433, 434, 435, 101, 107, 438, 107, 102, 1076, 3105 75, 102, 444, 102, 65, 804, 67, 68, 69, 124, 3106 102, 109, 1089, 1090, 456, 76, 77, 102, 1420, 102, 3107 104, 1047, 1047, 102, 102, 102, 108, 101, 104, 101, 3108 28, 102, 102, 483, 1044, 102, 102, 102, 102, 481, 3109 1047, 483, 102, 485, 1198, 102, 496, 102, 104, 499, 3110 123, 501, 502, 104, 496, 1058, 1150, 499, 1219, 501, 3111 502, 107, 102, 1197, 1198, 1290, 102, 104, 407, 408, 3112 102, 1229, 102, 412, 102, 108, 453, 102, 877, 102, 3113 107, 1483, 1484, 104, 104, 1219, 102, 102, 101, 108, 3114 1244, 1229, 106, 104, 433, 434, 108, 3, 1259, 1260, 3115 1261, 108, 104, 104, 10, 11, 12, 13, 14, 102, 3116 1244, 1121, 104, 102, 1219, 565, 1193, 108, 108, 102, 3117 104, 101, 101, 565, 1050, 1219, 1199, 1200, 1399, 1202, 3118 101, 37, 101, 575, 101, 1208, 109, 124, 1211, 107, 3119 102, 583, 102, 1389, 483, 104, 1240, 102, 106, 121, 3120 107, 102, 951, 952, 60, 108, 104, 1318, 124, 108, 3121 104, 102, 501, 102, 606, 1299, 104, 104, 104, 611, 3122 1304, 1197, 104, 102, 104, 617, 1186, 1187, 104, 45, 3123 107, 124, 124, 106, 124, 1339, 1518, 104, 102, 1517, 3124 124, 1198, 1517, 1219, 1219, 1517, 124, 1518, 107, 1304, 3125 999, 1517, 102, 1517, 1517, 1339, 1538, 104, 107, 104, 3126 1304, 104, 1219, 104, 104, 1376, 104, 1538, 1379, 1517, 3127 104, 104, 102, 102, 55, 1496, 565, 104, 104, 101, 3128 101, 1389, 54, 102, 104, 102, 575, 1244, 106, 124, 3129 1398, 1399, 75, 102, 109, 1406, 1407, 102, 1047, 102, 3130 104, 1389, 104, 104, 696, 102, 101, 89, 107, 40, 3131 1398, 104, 102, 1424, 102, 102, 102, 606, 1429, 108, 3132 89, 75, 611, 1299, 109, 102, 124, 654, 1304, 1304, 3133 0, 106, 124, 124, 726, 102, 1440, 102, 109, 107, 3134 124, 104, 104, 1219, 1455, 124, 101, 1304, 0, 1, 3135 107, 107, 102, 102, 124, 1378, 1440, 650, 549, 1312, 3136 550, 31, 551, 1219, 552, 1129, 1393, 553, 1484, 1384, 3137 1517, 1313, 42, 1517, 44, 1517, 1546, 1461, 1499, 31, 3138 32, 1123, 1339, 65, 1468, 67, 1497, 69, 1496, 1124, 3139 60, 1468, 44, 63, 76, 77, 66, 1508, 1076, 435, 3140 928, 1150, 1513, 683, 435, 930, 1461, 447, 570, 1517, 3141 1518, 973, 1518, 1468, 66, 870, 1527, 1461, 1529, 101, 3142 812, 103, 1533, 726, 1468, 1536, 632, 1511, 948, 111, 3143 1538, 1542, 1538, 1244, 473, 1546, -1, 736, -1, -1, 3144 -1, 65, 1318, 67, 1398, 69, -1, -1, 1197, 1198, 3145 102, -1, 76, 77, -1, -1, 1511, -1, -1, -1, 3146 1420, -1, -1, 790, -1, 857, -1, 1511, -1, -1, 3147 1219, -1, 142, 800, -1, -1, -1, 101, -1, 103, 3148 -1, 1230, 1231, 1440, 154, 1461, 1461, 111, -1, 816, 3149 142, 1240, 1468, 1468, -1, 1244, -1, -1, 150, -1, 3150 1376, -1, -1, 1379, 1461, -1, -1, 177, 178, -1, 3151 -1, 1468, -1, -1, -1, -1, 1469, -1, -1, -1, 3152 -1, -1, -1, 1483, 1484, -1, 178, -1, -1, -1, 3153 63, 201, -1, -1, -1, 1511, 1511, -1, -1, -1, 3154 192, -1, 212, 195, 196, 1498, -1, -1, 1424, 201, 3155 1299, -1, 952, 1429, 1511, 1304, -1, -1, 950, 951, 3156 952, -1, -1, -1, -1, -1, -1, -1, -1, 221, 3157 -1, 241, -1, 225, -1, 227, 1325, 1326, -1, 1455, 3158 113, -1, -1, 235, 1537, 255, -1, 979, -1, 241, 3159 1339, -1, -1, -1, 246, 453, 1549, 65, -1, 67, 3160 -1, 69, -1, -1, 256, 997, -1, 999, 76, 77, 3161 -1, 272, 264, -1, 10, 11, 12, 13, 14, -1, 3162 -1, 154, -1, -1, 285, 286, -1, -1, -1, -1, 3163 -1, -1, -1, 101, -1, 103, 297, -1, -1, -1, 3164 -1, 37, 0, 111, -1, -1, 1395, 317, -1, -1, 3165 -1, 1527, -1, -1, -1, -1, -1, 1533, -1, -1, 3166 -1, 331, -1, 952, 60, 326, 1542, -1, -1, -1, 3167 1546, -1, -1, 31, 326, -1, -1, -1, -1, 212, 3168 -1, 333, 10, 11, 12, 13, 14, 1436, -1, -1, 3169 -1, 1440, -1, -1, 346, -1, 1023, 1024, 350, -1, 3170 1092, 353, 363, -1, -1, 101, -1, 103, 66, 37, 3171 999, 181, 1461, -1, -1, 111, 249, 387, 188, 1468, 3172 253, 1470, -1, -1, 1473, 1474, -1, -1, -1, -1, 3173 -1, -1, 60, -1, -1, 1127, -1, 65, -1, 67, 3174 -1, 69, -1, -1, -1, -1, -1, 399, 76, 77, 3175 1499, -1, 1501, 1080, 1081, -1, 1148, -1, 63, -1, 3176 -1, 413, 1511, 1155, -1, -1, 418, 437, 73, -1, 3177 -1, -1, -1, 101, 426, 103, 1525, -1, -1, -1, 3178 -1, -1, -1, 111, -1, -1, -1, -1, 258, -1, 3179 -1, -1, 150, -1, -1, -1, 654, -1, -1, 332, 3180 -1, 453, -1, 473, 456, -1, -1, 477, 113, 10, 3181 11, 12, 13, 14, 10, 11, 12, 13, 14, 471, 3182 -1, 473, -1, -1, -1, -1, -1, -1, -1, 481, 3183 1230, -1, -1, 485, -1, -1, 37, 1229, 1230, 1231, 3184 -1, 37, 312, -1, -1, -1, -1, -1, -1, 154, 3185 320, -1, 1244, 323, -1, -1, -1, -1, -1, 60, 3186 -1, 513, -1, 221, 60, -1, -1, -1, -1, 65, 3187 -1, 67, -1, 69, -1, 536, 537, 538, 411, -1, 3188 76, 77, -1, 241, -1, -1, -1, -1, 246, -1, 2879 1, 42, 0, 235, 0, 215, 42, 687, 42, 181, 2880 103, 181, 1, 687, 32, 687, 165, 620, 181, 275, 2881 343, 0, 183, 1023, 31, 182, 987, 748, 449, 455, 2882 181, 181, 645, 31, 600, 31, 181, 1305, 602, 182, 2883 600, 0, 181, 532, 42, 276, 44, 276, 44, 492, 2884 1, 600, 31, 496, 570, 343, 54, 603, 887, 152, 2885 887, 980, 60, 609, 60, 63, 42, 63, 66, 37, 2886 66, 600, 31, 767, 1035, 42, 448, 66, 113, 1042, 2887 602, 0, 0, 42, 764, 44, 600, 42, 65, 261, 2888 764, 261, 764, 44, 490, 600, 257, 258, 261, 712, 2889 75, 60, 419, 420, 63, 262, 104, 66, 44, 107, 2890 261, 261, 31, 31, 102, 113, 261, 411, 101, 262, 2891 65, 109, 261, 27, 600, 0, 1, 1395, 1022, 1023, 2892 57, 339, 65, 0, 111, 103, 430, 89, 52, 78, 2893 181, 42, 43, 89, 438, 181, 144, 181, 144, 521, 2894 37, 1378, 103, 88, 152, 108, 31, 101, 109, 157, 2895 101, 157, 197, 115, 31, 37, 105, 71, 37, 115, 2896 103, 124, 358, 109, 101, 37, 362, 494, 224, 124, 2897 252, 95, 200, 181, 182, 144, 182, 122, 63, 42, 2898 43, 66, 143, 403, 104, 512, 63, 243, 157, 197, 2899 488, 152, 635, 636, 733, 181, 107, 205, 604, 205, 2900 1437, 123, 608, 1042, 181, 1215, 214, 75, 651, 217, 2901 261, 217, 181, 182, 0, 261, 181, 261, 733, 101, 2902 54, 103, 101, 629, 103, 37, 1382, 633, 65, 101, 2903 247, 103, 399, 336, 102, 101, 205, 248, 108, 247, 2904 201, 247, 44, 106, 205, 31, 399, 733, 217, 825, 2905 577, 106, 1262, 261, 262, 825, 262, 123, 247, 205, 2906 268, 102, 365, 837, 482, 189, 825, 275, 109, 602, 2907 104, 827, 37, 107, 235, 236, 707, 288, 247, 805, 2908 3, 448, 725, 0, 1, 989, 825, 124, 212, 101, 2909 236, 103, 261, 102, 1464, 448, 42, 43, 222, 1228, 2910 109, 825, 1275, 1459, 65, 837, 267, 109, 1464, 270, 2911 825, 1464, 65, 480, 31, 323, 1486, 323, 247, 247, 2912 1051, 267, 3, 1479, 252, 108, 1479, 480, 289, 411, 2913 1486, 292, 217, 1486, 342, 343, 101, 108, 103, 825, 2914 217, 143, 103, 289, 389, 102, 292, 101, 430, 66, 2915 103, 359, 109, 124, 323, 363, 438, 1261, 1262, 0, 2916 106, 1200, 247, 1200, 1374, 289, 123, 943, 65, 0, 2917 247, 814, 417, 591, 343, 336, 680, 422, 339, 123, 2918 214, 389, 101, 65, 943, 67, 68, 65, 1001, 67, 2919 68, 399, 588, 399, 1440, 1366, 1367, 358, 54, 102, 2920 1446, 362, 620, 205, 365, 108, 103, 625, 65, 417, 2921 67, 68, 944, 108, 422, 1461, 424, 101, 102, 943, 2922 1466, 524, 108, 101, 106, 634, 635, 636, 106, 124, 2923 399, 102, 101, 235, 268, 631, 1275, 108, 124, 101, 2924 448, 275, 651, 1416, 102, 289, 103, 688, 104, 688, 2925 1423, 107, 101, 859, 1010, 1011, 467, 108, 419, 420, 2926 464, 247, 83, 84, 472, 267, 252, 344, 686, 710, 2927 1374, 710, 480, 124, 480, 108, 484, 913, 484, 448, 2928 488, 747, 101, 411, 655, 446, 985, 646, 449, 1462, 2929 292, 124, 101, 1116, 455, 484, 152, 118, 119, 952, 2930 446, 512, 430, 449, 837, 687, 467, 687, 342, 455, 2931 438, 435, 108, 104, 687, 484, 725, 108, 529, 488, 2932 104, 532, 689, 534, 108, 359, 687, 687, 124, 363, 2933 247, 492, 687, 494, 108, 496, 689, 339, 687, 837, 2934 922, 108, 760, 949, 1275, 469, 507, 482, 930, 510, 2935 124, 512, 513, 108, 482, 484, 484, 124, 214, 798, 2936 101, 507, 1094, 524, 510, 108, 111, 513, 104, 124, 2937 581, 116, 117, 101, 108, 419, 420, 1416, 102, 108, 2938 588, 124, 685, 507, 1423, 65, 510, 67, 68, 513, 2939 124, 973, 600, 67, 602, 124, 473, 71, 680, 484, 2940 74, 101, 76, 103, 102, 814, 108, 484, 653, 83, 2941 108, 111, 268, 621, 102, 1346, 577, 419, 420, 275, 2942 816, 101, 124, 1462, 820, 411, 106, 588, 104, 637, 2943 591, 600, 108, 602, 102, 104, 101, 876, 103, 108, 2944 722, 652, 650, 654, 430, 653, 111, 113, 114, 1080, 2945 948, 102, 438, 104, 874, 507, 759, 108, 510, 620, 2946 589, 513, 101, 507, 625, 669, 510, 104, 102, 513, 2947 631, 108, 123, 124, 894, 101, 103, 103, 105, 687, 2948 102, 689, 109, 65, 102, 111, 342, 69, 101, 1420, 2949 108, 1422, 494, 107, 76, 77, 85, 86, 484, 634, 2950 635, 636, 103, 359, 105, 102, 57, 363, 109, 720, 2951 512, 108, 954, 909, 108, 109, 651, 102, 687, 101, 2952 689, 880, 566, 108, 685, 733, 734, 102, 124, 111, 2953 102, 102, 1463, 108, 208, 102, 108, 108, 101, 747, 2954 29, 108, 102, 102, 668, 622, 707, 101, 108, 108, 2955 989, 686, 680, 677, 102, 922, 102, 681, 686, 104, 2956 108, 707, 108, 930, 733, 734, 124, 484, 424, 922, 2957 65, 106, 67, 68, 69, 577, 737, 930, 1468, 102, 2958 106, 76, 77, 1001, 1468, 108, 1468, 621, 124, 591, 2959 725, 80, 81, 63, 722, 124, 102, 801, 759, 65, 2960 1039, 65, 108, 637, 106, 69, 101, 811, 102, 102, 2961 80, 44, 76, 77, 108, 108, 650, 825, 620, 101, 2962 102, 103, 826, 625, 121, 760, 123, 60, 101, 837, 2963 63, 75, 760, 66, 81, 82, 713, 101, 278, 10, 2964 11, 12, 13, 14, 114, 104, 65, 111, 67, 68, 2965 727, 291, 292, 102, 103, 816, 825, 112, 65, 820, 2966 67, 68, 69, 303, 120, 101, 37, 103, 837, 1110, 2967 121, 1110, 346, 3, 348, 101, 887, 103, 1037, 814, 2968 10, 11, 12, 13, 14, 1081, 101, 157, 103, 60, 2969 87, 101, 821, 103, 680, 123, 78, 79, 80, 339, 2970 103, 909, 555, 556, 557, 558, 101, 37, 101, 102, 2971 103, 144, 101, 747, 922, 101, 102, 103, 1136, 101, 2972 104, 103, 930, 105, 157, 104, 1167, 1168, 1167, 1168, 2973 60, 101, 588, 103, 102, 375, 722, 101, 102, 103, 2974 948, 818, 1234, 1235, 1236, 54, 55, 217, 909, 182, 2975 239, 102, 913, 922, 953, 101, 101, 103, 887, 887, 2976 434, 930, 101, 104, 103, 621, 65, 913, 67, 68, 2977 69, 982, 205, 101, 985, 103, 987, 76, 77, 948, 2978 101, 637, 103, 102, 217, 255, 1014, 911, 692, 259, 2979 694, 952, 953, 954, 650, 108, 109, 1215, 42, 43, 2980 551, 552, 887, 104, 4, 5, 6, 7, 8, 9, 2981 887, 553, 554, 559, 560, 1019, 1020, 102, 102, 102, 2982 887, 103, 108, 101, 1035, 123, 106, 104, 102, 0, 2983 1, 102, 104, 109, 1045, 104, 104, 1048, 1049, 1050, 2984 1001, 104, 4, 5, 6, 7, 8, 9, 109, 108, 2985 28, 75, 102, 102, 106, 109, 104, 1102, 124, 102, 2986 31, 32, 62, 108, 64, 107, 107, 1449, 953, 107, 2987 32, 1075, 1076, 44, 344, 101, 10, 11, 12, 13, 2988 14, 102, 75, 102, 102, 374, 109, 1022, 102, 102, 2989 323, 747, 102, 1196, 1102, 66, 108, 102, 102, 102, 2990 62, 887, 64, 37, 102, 102, 1488, 102, 548, 549, 2991 550, 102, 102, 1042, 1042, 102, 102, 102, 102, 1080, 2992 1081, 102, 28, 102, 124, 107, 60, 1004, 104, 1053, 2993 102, 65, 103, 102, 1080, 69, 104, 1378, 102, 1378, 2994 123, 107, 76, 77, 104, 108, 102, 102, 102, 108, 2995 101, 591, 954, 423, 106, 108, 104, 1042, 108, 102, 2996 102, 108, 108, 102, 453, 1042, 399, 101, 104, 458, 2997 887, 101, 101, 144, 101, 101, 101, 111, 1045, 124, 2998 1179, 152, 153, 104, 107, 109, 102, 102, 1196, 1200, 2999 102, 124, 106, 121, 107, 1436, 1437, 1436, 1437, 1001, 3000 108, 1136, 491, 473, 493, 104, 108, 104, 1136, 1213, 3001 102, 182, 102, 102, 102, 45, 63, 104, 104, 104, 3002 1219, 104, 104, 1234, 1235, 1236, 197, 104, 124, 200, 3003 201, 124, 101, 1475, 205, 1196, 953, 107, 1242, 102, 3004 4, 5, 6, 7, 8, 9, 1250, 1251, 1252, 124, 3005 669, 124, 124, 909, 107, 226, 1042, 102, 1219, 230, 3006 104, 232, 104, 104, 107, 104, 104, 114, 104, 104, 3007 241, 1200, 1200, 104, 102, 102, 247, 1288, 104, 104, 3008 101, 252, 55, 723, 54, 102, 1468, 1215, 1468, 102, 3009 1294, 262, 106, 1178, 1179, 1468, 75, 0, 62, 270, 3010 64, 1178, 1469, 109, 124, 104, 1305, 1468, 1468, 104, 3011 157, 102, 104, 1468, 1359, 1200, 1469, 102, 89, 1468, 3012 101, 1488, 104, 1200, 594, 1042, 1261, 767, 31, 1340, 3013 107, 40, 1343, 1200, 1219, 1488, 1180, 1181, 124, 1183, 3014 102, 102, 102, 102, 1305, 1189, 1275, 1275, 1192, 124, 3015 1358, 1359, 622, 642, 108, 1366, 1367, 627, 109, 1283, 3016 102, 89, 102, 66, 464, 336, 124, 75, 339, 124, 3017 217, 1382, 109, 813, 345, 102, 1387, 107, 104, 104, 3018 124, 101, 801, 107, 107, 1270, 102, 358, 124, 102, 3019 1275, 362, 811, 1270, 365, 561, 1395, 665, 1275, 1410, 3020 562, 564, 563, 1117, 1449, 565, 1200, 826, 255, 1348, 3021 1437, 1496, 259, 702, 1200, 1284, 1452, 1468, 1112, 708, 3022 1305, 1288, 1468, 1113, 1468, 1071, 1423, 930, 458, 446, 3023 446, 694, 581, 65, 1395, 67, 68, 69, 932, 1450, 3024 411, 1449, 974, 713, 76, 77, 647, 880, 1459, 737, 3025 153, 950, 1219, 1464, 425, 484, 747, 727, 569, 430, 3026 1468, 1469, 1179, 1469, 1425, 569, 1477, 438, 1479, 101, 3027 -1, -1, 1483, 1340, 569, 1486, 1343, -1, -1, 1425, 3028 1488, 1492, 1488, 1200, -1, 1496, -1, 1416, 1416, 1275, 3029 -1, 1452, -1, 464, 1423, 1423, 467, 344, 1342, 1468, 3030 1424, -1, 1219, -1, -1, 65, 1452, 67, 68, 69, 3031 1395, 482, -1, 484, 1475, 1382, 76, 77, -1, -1, 3032 1387, 492, -1, 226, 1358, 496, -1, 1451, -1, -1, 3033 -1, 1416, -1, 1462, 1462, -1, -1, -1, 1423, 1416, 3034 1196, 101, -1, 1410, 247, -1, 1423, -1, 818, 252, 3035 -1, 111, -1, 524, 525, -1, -1, -1, 1275, -1, 3036 -1, 1001, 65, 1487, 67, 68, 69, -1, -1, 669, 3037 -1, -1, -1, 76, 77, 1499, 423, 1462, 10, 11, 3038 12, 13, 14, -1, -1, 1462, -1, -1, 1305, -1, 3039 -1, 880, -1, -1, -1, -1, -1, 886, 101, 570, 3040 1019, 1020, 1042, -1, -1, 37, -1, -1, 111, -1, 3041 1477, -1, -1, -1, -1, 0, 1483, 588, 589, -1, 3042 591, -1, -1, -1, -1, 1492, 473, -1, 60, 1496, 3043 1416, 602, -1, -1, -1, -1, -1, 1423, -1, -1, 3044 -1, -1, 345, -1, -1, -1, 31, -1, -1, 620, 3045 -1, -1, -1, -1, 625, -1, 1075, 1076, -1, -1, 3046 631, -1, -1, 634, 635, 636, -1, -1, -1, 101, 3047 -1, 103, -1, 1475, -1, -1, 1462, -1, 1395, 111, 3048 651, 66, 63, -1, -1, 974, -1, -1, -1, -1, 3049 -1, -1, 73, -1, 0, 1, -1, -1, 669, 1416, 3050 -1, 801, 1358, -1, -1, -1, 1423, -1, 411, 680, 3051 -1, 811, 65, 1153, 685, 686, 69, -1, 689, -1, 3052 -1, 3, 425, 76, 77, 31, 826, 430, 10, 11, 3053 12, 13, 14, 114, 1004, 438, -1, -1, -1, -1, 3054 -1, -1, -1, -1, -1, 1462, -1, 594, 101, -1, 3055 103, 722, -1, -1, 725, 37, -1, 63, 111, -1, 3056 66, 464, 3, 734, -1, -1, 737, -1, 153, 10, 3057 11, 12, 13, 14, -1, 622, 157, -1, 60, 482, 3058 627, 484, 1071, -1, -1, -1, -1, -1, 759, 760, 3059 -1, -1, -1, -1, 765, -1, 37, -1, -1, -1, 3060 -1, -1, 10, 11, 12, 13, 14, -1, 10, 11, 3061 12, 13, 14, -1, -1, -1, -1, -1, 185, 60, 3062 -1, -1, 525, 1242, -1, 192, -1, -1, -1, 37, 3063 801, 1250, 1251, 1252, -1, 37, 217, -1, -1, -1, 3064 811, -1, -1, 814, -1, 816, -1, 153, 819, 820, 3065 821, -1, 60, -1, -1, 826, -1, 65, 60, 67, 3066 68, 69, 247, -1, -1, 836, 713, 252, 76, 77, 3067 -1, -1, -1, -1, 255, 1294, -1, -1, 259, -1, 3068 727, -1, -1, 0, -1, 1174, 589, -1, -1, -1, 3069 -1, -1, -1, 101, 275, 103, -1, 264, -1, 101, 3070 -1, 103, -1, 111, -1, -1, -1, -1, 1178, 111, 3071 -1, 217, -1, -1, 31, -1, 887, -1, -1, 1019, 3072 1020, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3073 -1, 634, 635, 636, -1, -1, -1, -1, 909, -1, 3074 -1, 247, -1, -1, -1, -1, -1, -1, 651, 66, 3075 -1, 318, -1, 10, 11, 12, 13, 14, -1, 326, 3076 345, -1, 329, 344, -1, -1, 669, -1, -1, -1, 3077 -1, 818, -1, 944, -1, 1075, 1076, 680, -1, -1, 3078 37, 952, 953, 686, -1, -1, -1, 65, -1, 67, 3079 68, 69, -1, 25, 26, 27, 967, -1, 76, 77, 3080 1270, -1, -1, 60, 90, 91, 92, 93, 94, 95, 3081 96, 97, 98, 99, -1, -1, -1, -1, -1, 722, 3082 -1, -1, 725, 101, 391, 103, 411, -1, 395, -1, 3083 1001, 109, -1, 111, -1, -1, 153, 123, -1, -1, 3084 425, -1, 423, 1014, 101, 430, 103, -1, 1019, 1020, 3085 -1, 1022, 1023, 438, 111, -1, -1, 760, -1, 440, 3086 -1, -1, -1, -1, 96, -1, 98, -1, -1, -1, 3087 -1, 1042, -1, -1, -1, -1, -1, -1, -1, 464, 3088 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3089 -1, -1, 473, -1, -1, -1, -1, 482, 801, 484, 3090 -1, -1, -1, -1, 1075, 1076, -1, -1, 811, 37, 3091 1081, 814, 479, 1213, -1, -1, 819, -1, 821, 425, 3092 -1, -1, -1, 826, -1, -1, -1, -1, -1, -1, 3093 247, -1, 60, -1, -1, 252, -1, 65, -1, -1, 3094 525, 69, 1242, -1, -1, 177, -1, -1, 76, 77, 3095 1250, 1251, 1252, -1, -1, 187, 188, 1004, -1, -1, 3096 192, -1, 194, 195, -1, 1136, -1, -1, -1, -1, 3097 -1, -1, -1, 101, -1, -1, -1, -1, 484, -1, 3098 -1, -1, -1, 111, 887, 65, -1, 67, 68, 69, 3099 -1, -1, -1, -1, 1294, -1, 76, 77, -1, -1, 3100 -1, 0, 569, 570, 589, -1, -1, -1, 1179, -1, 3101 -1, -1, -1, 594, -1, -1, -1, -1, -1, 525, 3102 -1, 101, -1, 103, -1, 1196, -1, -1, 345, 1200, 3103 -1, 111, 31, -1, -1, -1, -1, -1, -1, -1, 3104 -1, 622, 1213, -1, 1215, -1, 627, -1, 1219, 634, 3105 635, 636, -1, -1, -1, -1, -1, -1, -1, -1, 3106 -1, -1, -1, -1, 967, -1, 651, 66, -1, -1, 3107 -1, 1242, -1, -1, -1, -1, -1, -1, -1, 1250, 3108 1251, 1252, -1, 589, 669, -1, -1, -1, -1, 656, 3109 1261, 1262, -1, 660, 411, 680, -1, -1, -1, -1, 3110 -1, 686, -1, -1, 1275, -1, -1, -1, 425, -1, 3111 -1, -1, -1, 430, -1, -1, 1019, 1020, -1, 1022, 3112 1023, 438, -1, 1294, -1, -1, 693, -1, 634, 635, 3113 636, 1178, 713, -1, 1305, -1, -1, 722, -1, 1042, 3114 725, -1, -1, -1, -1, 651, 727, 464, -1, -1, 3115 -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, 3116 -1, -1, -1, -1, -1, 482, 747, 484, -1, -1, 3117 -1, -1, 1075, 1076, -1, 760, -1, -1, -1, -1, 3118 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3119 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3120 25, 26, -1, 1374, 29, 30, 31, -1, 525, -1, 3121 -1, -1, 37, 38, -1, -1, 801, -1, -1, 725, 3122 -1, -1, -1, 1270, 1395, -1, 811, -1, -1, 814, 3123 -1, -1, -1, 1136, 819, 60, 821, 818, 805, -1, 3124 -1, 826, 67, 68, -1, 1416, -1, -1, 247, -1, 3125 -1, -1, 1423, 252, -1, -1, -1, -1, -1, -1, 3126 -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 3127 14, -1, 589, -1, -1, -1, 1179, -1, 103, -1, 3128 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1, 3129 -1, 1462, 65, 37, 67, 68, 69, 1200, 1469, -1, 3130 -1, -1, 887, 76, 77, -1, -1, -1, 814, -1, 3131 1213, -1, 1215, -1, -1, 821, 60, 634, 635, 636, 3132 -1, 65, -1, 67, 68, 69, -1, -1, 101, -1, 3133 103, -1, 76, 77, 651, -1, -1, -1, 111, 1242, 3134 -1, 573, 574, -1, -1, -1, 345, 1250, 1251, 1252, 3135 917, -1, 669, -1, -1, -1, -1, 101, 1261, 1262, 3136 -1, -1, -1, 680, -1, -1, -1, 111, -1, 686, 3137 -1, 603, 1275, -1, 606, 607, -1, 609, -1, 611, 3138 612, 887, 967, -1, 616, 617, -1, -1, -1, -1, 3139 -1, 1294, -1, -1, -1, -1, -1, -1, -1, -1, 3140 -1, -1, -1, -1, -1, 722, -1, -1, 725, -1, 3141 -1, -1, 411, -1, -1, -1, 65, -1, 67, 68, 3142 69, -1, -1, 1004, 991, -1, 425, 76, 77, -1, 3143 -1, 430, -1, -1, 1019, 1020, -1, 1022, 1023, 438, 3144 1007, -1, -1, 760, 50, -1, 52, 953, -1, 55, 3145 56, 57, 101, 59, 103, -1, -1, 1042, -1, -1, 3146 -1, 967, 111, -1, -1, 464, 698, 699, 74, -1, 3147 -1, 1374, 704, 10, 11, 12, 13, 14, -1, -1, 3148 86, 87, -1, 482, 801, 484, -1, -1, -1, -1, 3149 1075, 1076, -1, -1, 811, -1, -1, 814, -1, -1, 3150 37, -1, 819, -1, 821, -1, -1, -1, -1, 826, 3151 -1, -1, -1, 1416, -1, 1082, 1022, 1023, -1, -1, 3152 1423, -1, -1, 60, -1, -1, 525, -1, 65, -1, 3153 67, 68, 69, -1, -1, -1, 1042, -1, -1, 76, 3154 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3155 -1, 1136, -1, -1, -1, -1, -1, -1, -1, 1462, 3156 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3157 887, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3189 3158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3190 101, -1, 103, -1, -1, 101, 558, 212, -1, 379, 3191 111, 1238, -1, 383, 575, 111, 586, -1, 588, -1, 3192 -1, 573, -1, 575, -1, -1, -1, -1, -1, 462, 3193 -1, 583, 790, 1325, 1326, 1327, 588, -1, -1, -1, 3194 1267, 1230, 800, -1, 249, -1, -1, 1339, 253, -1, 3195 -1, 1278, 1279, 1280, 606, -1, -1, -1, 816, 611, 3196 -1, -1, -1, -1, 269, 617, -1, -1, -1, 621, 3197 622, -1, -1, -1, -1, 333, -1, -1, -1, -1, 3198 -1, -1, -1, -1, 636, 90, 91, 92, 93, 94, 3199 95, 96, 97, 98, 99, 353, -1, 1389, 468, -1, 3200 670, 1328, 654, 1395, -1, -1, 676, -1, 678, -1, 3201 -1, -1, -1, -1, -1, 667, -1, -1, 123, -1, 3202 -1, -1, -1, 675, -1, -1, 678, 332, -1, -1, 3203 -1, -1, -1, 25, 26, 27, 0, -1, -1, -1, 3204 -1, 399, -1, -1, 1436, 578, -1, -1, 1440, -1, 3205 -1, 712, 722, 723, -1, 413, -1, -1, -1, 711, 3206 418, -1, 714, -1, -1, -1, -1, 31, 426, -1, 3207 1470, 723, -1, -1, 726, 608, -1, -1, 1470, -1, 3208 613, 1473, 1474, -1, -1, -1, -1, 557, 558, -1, 3209 -1, -1, -1, -1, 755, 453, 748, -1, -1, 1499, 3210 -1, 753, 66, 95, -1, 97, 411, 1499, -1, 1501, 3211 -1, -1, -1, 471, -1, 473, -1, -1, -1, -1, 3212 -1, -1, -1, 428, -1, 1525, -1, -1, -1, -1, 3213 -1, -1, -1, 1525, -1, -1, -1, -1, 790, -1, 3214 -1, -1, -1, -1, -1, 815, -1, -1, 800, -1, 3215 -1, -1, -1, 805, 806, 513, 826, 462, -1, -1, 3216 812, -1, -1, -1, 816, 1023, 1024, -1, -1, 702, 3217 -1, 641, -1, 825, -1, 645, -1, -1, -1, -1, 3218 -1, -1, 174, 716, -1, -1, 150, -1, -1, -1, 3219 -1, 183, 184, -1, -1, -1, 188, -1, 190, 191, 3220 670, -1, -1, -1, -1, 857, -1, -1, -1, -1, 3221 -1, -1, 682, -1, -1, 573, -1, -1, -1, -1, 3222 -1, -1, 1080, 1081, -1, 877, -1, -1, -1, -1, 3223 -1, 892, -1, -1, -1, -1, 1525, 907, 908, -1, 3224 -1, 0, -1, -1, -1, -1, -1, -1, -1, 901, 3225 920, -1, -1, -1, -1, -1, 908, -1, 928, -1, 3226 -1, -1, -1, 621, 622, -1, 10, 11, 12, 13, 3227 14, 804, 31, 578, -1, -1, 946, 241, 636, -1, 3228 -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, 3229 942, -1, -1, 37, -1, -1, 654, -1, 950, 951, 3230 -1, -1, -1, 608, -1, -1, -1, 66, 613, 667, 3231 -1, -1, -1, 965, -1, -1, 60, 675, -1, -1, 3232 -1, 65, -1, 67, 794, 69, -1, 979, -1, -1, 3233 -1, -1, 76, 77, -1, -1, -1, -1, 999, -1, 3234 -1, -1, -1, -1, -1, 997, -1, 999, -1, -1, 3235 -1, -1, -1, 711, -1, -1, 714, 101, -1, 103, 3236 10, 11, 12, 13, 14, 1017, -1, 111, -1, 333, 3237 -1, 1023, 1024, -1, 1026, 1027, 1028, -1, -1, -1, 3238 1238, -1, -1, -1, -1, -1, 1047, 37, -1, 353, 3239 748, 150, -1, -1, -1, 1047, -1, 702, -1, -1, 3240 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1267, 3241 60, 716, -1, -1, -1, 65, -1, 67, 1088, 69, 3242 1278, 1279, 1280, -1, -1, -1, 76, 77, 1080, 1081, 3243 -1, 736, 790, -1, -1, 399, -1, 907, 908, 1091, 3244 1092, -1, 800, -1, -1, 915, -1, 805, 806, 413, 3245 -1, 101, -1, 103, 418, -1, -1, -1, 816, -1, 3246 -1, 111, 426, 10, 11, 12, 13, 14, -1, 1002, 3247 1328, -1, -1, -1, -1, 1127, -1, -1, -1, -1, 3248 -1, -1, 241, -1, -1, -1, -1, 246, -1, 453, 3249 37, -1, -1, -1, -1, -1, 1148, -1, 1150, 804, 3250 -1, -1, -1, 1155, 1156, 1157, -1, 471, -1, 473, 3251 1171, -1, -1, 60, -1, -1, -1, -1, 65, 877, 3252 67, 991, 69, 10, 11, 12, 13, 14, -1, 76, 3253 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3254 1010, -1, -1, 901, -1, -1, 1198, -1, -1, 513, 3255 37, -1, -1, -1, 101, -1, -1, -1, -1, -1, 3256 -1, -1, -1, 1215, 111, -1, -1, 1219, -1, 561, 3257 562, -1, -1, 60, 333, -1, -1, 1229, 65, -1, 3258 -1, -1, 69, -1, -1, -1, 1238, -1, 1240, 76, 3259 77, -1, 1244, -1, 353, -1, -1, 589, -1, -1, 3260 592, 593, -1, 595, -1, 597, 598, 965, -1, 573, 3261 602, 603, -1, -1, 101, 1267, 103, -1, 1088, -1, 3262 -1, -1, -1, 1093, 111, -1, 1278, 1279, 1280, -1, 3263 -1, -1, -1, -1, -1, -1, -1, -1, 1290, 1291, 3264 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3265 -1, -1, 1304, -1, 413, -1, -1, 621, 622, 418, 3266 -1, -1, -1, -1, 1197, 1023, 1024, 426, 1026, 1027, 3267 1028, -1, 636, -1, -1, 1327, 1328, 10, 11, 12, 3268 13, 14, -1, -1, -1, -1, -1, 1339, -1, 1047, 3269 654, -1, -1, -1, 453, 687, 688, 1002, -1, -1, 3270 -1, 693, -1, 667, 37, -1, -1, -1, -1, -1, 3271 -1, 675, 471, -1, 473, -1, -1, -1, -1, -1, 3272 -1, -1, 1080, 1081, -1, -1, -1, 60, -1, -1, 3273 -1, -1, 65, 1091, 0, -1, 69, 1389, -1, -1, 3274 -1, -1, -1, 76, 77, -1, -1, 711, -1, -1, 3275 714, -1, -1, -1, 513, -1, -1, -1, -1, -1, 3276 -1, -1, -1, -1, 1416, 31, 1299, -1, 101, -1, 3277 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3278 -1, -1, -1, -1, 748, -1, -1, -1, 1440, -1, 3279 -1, -1, 1150, -1, -1, -1, -1, -1, 1156, 1157, 3280 66, -1, -1, -1, -1, -1, -1, -1, -1, 1461, 3281 -1, -1, -1, -1, 573, -1, 1468, -1, -1, -1, 3282 -1, -1, -1, -1, -1, -1, 790, -1, -1, -1, 3283 -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, 3284 1198, 805, 806, -1, -1, -1, -1, 1517, -1, -1, 3285 -1, -1, 816, -1, -1, -1, -1, 1215, -1, 1511, 3286 -1, 1219, 621, 622, -1, -1, 1518, -1, -1, -1, 3287 -1, -1, -1, 0, 1, -1, -1, 636, -1, -1, 3288 1238, -1, 1240, -1, 150, -1, -1, -1, -1, -1, 3289 -1, -1, 1197, -1, -1, 654, -1, -1, -1, 10, 3290 11, 12, 13, 14, 31, -1, -1, -1, 667, 1267, 3291 -1, -1, -1, 877, -1, -1, 675, -1, -1, -1, 3292 1278, 1279, 1280, -1, -1, -1, 37, -1, -1, -1, 3293 -1, -1, 1290, 1291, -1, -1, 63, 901, -1, 66, 3294 -1, -1, -1, -1, -1, -1, 1304, -1, -1, 60, 3295 -1, -1, 711, -1, 65, 714, -1, -1, 69, -1, 3296 -1, -1, -1, -1, -1, 76, 77, -1, -1, -1, 3297 1328, -1, -1, -1, -1, 241, -1, -1, -1, -1, 3298 246, -1, -1, -1, -1, -1, -1, -1, -1, 748, 3299 101, -1, -1, -1, 1299, -1, -1, -1, -1, -1, 3300 111, 965, -1, -1, -1, -1, 25, 26, 27, -1, 3159 589, -1, -1, -1, 1179, -1, -1, 1178, 10, 11, 3160 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3161 22, 23, 24, 25, 26, 1200, -1, 29, 30, 31, 3162 -1, -1, -1, -1, -1, 37, 38, -1, 1213, -1, 3163 1215, -1, -1, -1, -1, 634, 635, 636, -1, -1, 3164 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3165 967, -1, 651, -1, -1, 67, 68, 1242, -1, -1, 3166 -1, -1, -1, -1, -1, 1250, 1251, 1252, -1, -1, 3167 669, -1, 1178, 1179, -1, -1, 1261, 1262, -1, -1, 3168 -1, 680, -1, -1, -1, -1, -1, 686, -1, 1270, 3169 1275, 103, -1, -1, 1200, 107, -1, -1, -1, 111, 3170 -1, -1, 1019, 1020, -1, 1022, 1023, -1, -1, 1294, 3171 -1, -1, -1, 1219, -1, -1, -1, -1, -1, -1, 3172 -1, -1, -1, 722, -1, 1042, 725, -1, -1, -1, 3173 -1, -1, -1, 339, 340, -1, -1, -1, -1, -1, 3174 -1, -1, -1, -1, -1, 351, 352, -1, -1, -1, 3175 -1, -1, -1, -1, -1, 1261, 1262, -1, 1075, 1076, 3176 -1, 760, -1, -1, 1270, -1, -1, -1, -1, 1275, 3177 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3178 19, 20, 21, 22, 23, 24, 25, 26, 27, 1374, 3179 29, 30, 31, -1, -1, -1, -1, -1, 37, 1305, 3180 -1, -1, 801, -1, -1, -1, -1, -1, -1, -1, 3181 -1, -1, 811, -1, -1, 814, -1, -1, -1, 1136, 3182 819, 60, 821, -1, -1, -1, -1, 826, 67, 68, 3183 -1, 1416, 71, -1, -1, -1, -1, -1, 1423, -1, 3184 -1, -1, -1, -1, -1, 1077, -1, 10, 11, 12, 3185 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, 3186 -1, -1, 1179, -1, 103, -1, -1, -1, 1374, -1, 3187 -1, -1, 111, -1, 37, -1, -1, 1462, -1, -1, 3188 -1, -1, -1, 1200, -1, -1, -1, -1, 887, 1395, 3189 -1, -1, -1, -1, -1, -1, 1213, 60, 1215, -1, 3190 -1, -1, 65, -1, 67, 68, 69, -1, -1, -1, 3191 1416, -1, -1, 76, 77, -1, -1, 1423, -1, -1, 3192 -1, -1, -1, -1, -1, 1242, -1, -1, -1, -1, 3193 -1, -1, -1, 1250, 1251, 1252, -1, -1, 101, -1, 3194 103, -1, -1, -1, 1261, 1262, -1, -1, 111, -1, 3195 -1, -1, -1, -1, -1, -1, 1462, -1, 1275, -1, 3196 -1, -1, -1, -1, -1, 1197, -1, -1, 967, -1, 3197 -1, -1, -1, -1, -1, -1, -1, 1294, -1, 7, 3198 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3199 -1, -1, -1, -1, -1, -1, 44, -1, -1, -1, 3200 -1, -1, -1, -1, -1, -1, -1, -1, 36, 37, 3201 38, -1, -1, -1, -1, 63, -1, -1, -1, -1, 3202 1019, 1020, -1, 1022, 1023, -1, -1, -1, -1, -1, 3203 -1, 59, 60, -1, -1, -1, -1, 65, -1, -1, 3204 -1, 69, -1, 1042, 72, 73, 74, 75, 76, 77, 3205 -1, 79, 80, -1, -1, -1, -1, 1374, -1, 87, 3206 -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, 3207 -1, -1, -1, 101, -1, 103, 1075, 1076, -1, -1, 3208 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1, 3209 -1, -1, -1, -1, -1, 143, -1, -1, -1, 1416, 3210 -1, -1, -1, -1, -1, 153, 1423, -1, 714, 157, 3211 716, -1, -1, -1, -1, -1, -1, 723, 724, -1, 3212 -1, -1, 728, -1, 7, -1, -1, 10, 11, 12, 3213 13, 14, -1, -1, 740, -1, -1, 1136, -1, 745, 3214 -1, -1, -1, -1, -1, 1462, -1, -1, -1, -1, 3215 -1, -1, -1, 36, 37, 38, -1, 205, -1, -1, 3216 -1, -1, -1, 769, -1, -1, -1, -1, -1, 217, 3217 -1, -1, -1, -1, -1, -1, 59, 60, -1, -1, 3218 1179, -1, 65, -1, -1, -1, 69, 235, 236, 72, 3219 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3220 -1, 1200, -1, -1, 87, -1, -1, 813, -1, -1, 3221 -1, 259, -1, -1, 1213, -1, 1215, -1, 101, 267, 3222 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 3223 113, 114, 115, -1, -1, -1, -1, -1, -1, -1, 3224 -1, 289, -1, 1242, 292, -1, -1, -1, -1, -1, 3225 -1, 1250, 1251, 1252, -1, -1, -1, -1, -1, -1, 3226 -1, -1, 1261, 1262, 870, 871, 872, 873, -1, 875, 3227 -1, -1, -1, -1, -1, -1, 1275, -1, -1, -1, 3228 -1, -1, -1, -1, 890, -1, -1, -1, -1, -1, 3229 -1, 339, -1, -1, -1, 1294, 344, -1, 904, -1, 3230 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3231 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3232 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3233 30, 31, 32, -1, -1, 35, 942, 37, -1, -1, 3234 -1, -1, 25, 26, 27, -1, -1, -1, -1, -1, 3301 3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3302 -1, -1, -1, 150, -1, -1, -1, -1, -1, -1, 3303 -1, 790, -1, -1, -1, -1, -1, -1, -1, -1, 3304 -1, 800, -1, -1, -1, -1, 805, 806, -1, -1, 3305 -1, -1, -1, -1, -1, -1, -1, 816, 1416, 1023, 3306 1024, -1, 1026, 1027, 1028, -1, -1, 333, -1, -1, 3307 -1, -1, -1, -1, -1, -1, 95, -1, 97, -1, 3308 -1, -1, -1, 1047, -1, 212, -1, 353, -1, -1, 3309 1082, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3310 -1, -1, 121, 1461, -1, -1, -1, -1, -1, -1, 3311 1468, -1, -1, -1, 241, -1, 1080, 1081, 877, -1, 3312 -1, -1, -1, -1, -1, -1, -1, 1091, -1, -1, 3313 -1, -1, -1, 399, -1, -1, -1, -1, -1, -1, 3314 -1, -1, 901, -1, -1, -1, -1, 413, -1, -1, 3315 -1, -1, 418, 1511, -1, 174, -1, -1, -1, -1, 3316 426, -1, 181, -1, 183, 184, -1, -1, -1, 188, 3317 -1, 190, 191, -1, -1, -1, -1, -1, -1, -1, 3318 -1, -1, -1, -1, -1, -1, 1150, 453, -1, -1, 3319 -1, -1, 1156, 1157, -1, -1, -1, -1, -1, -1, 3320 -1, -1, -1, -1, -1, 471, 965, 473, -1, -1, 3236 60, -1, 62, -1, 64, -1, -1, 67, 68, -1, 3237 -1, 419, 420, 979, -1, 1374, -1, 425, -1, -1, 3238 986, -1, -1, -1, 990, -1, -1, -1, -1, 995, 3239 -1, 997, -1, -1, -1, 1001, 1002, 1003, 446, -1, 3240 1006, 449, -1, 103, -1, -1, -1, 455, -1, 1015, 3241 -1, 111, -1, 96, -1, 98, -1, 1416, -1, -1, 3242 -1, -1, -1, -1, 1423, -1, -1, 1033, 1034, 10, 3243 11, 12, 13, 14, 482, -1, -1, -1, -1, 122, 3244 -1, -1, -1, -1, -1, -1, 494, -1, -1, -1, 3245 -1, -1, 1058, -1, -1, 1061, 37, -1, -1, 507, 3246 -1, -1, 510, 1462, 512, 513, -1, -1, -1, -1, 3247 -1, -1, -1, -1, -1, -1, -1, 525, -1, 60, 3248 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3249 -1, -1, -1, 1099, 177, 76, 77, -1, -1, 1105, 3250 1106, -1, 185, -1, 187, 188, -1, -1, 1114, 192, 3251 -1, 194, 195, 1119, -1, -1, 1122, -1, 1124, -1, 3252 101, 1127, -1, -1, -1, -1, -1, -1, -1, 577, 3253 111, -1, -1, -1, 1140, -1, -1, -1, -1, -1, 3254 -1, 589, -1, 591, -1, -1, 594, 1153, -1, 1155, 3255 1156, 1157, 1158, -1, -1, -1, -1, -1, -1, -1, 3256 -1, -1, -1, -1, -1, 1171, -1, 1173, -1, -1, 3257 -1, 1177, 620, -1, -1, -1, -1, 625, -1, -1, 3258 -1, 264, -1, -1, -1, -1, 634, 635, 636, -1, 3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1205, 3260 1206, -1, -1, 651, -1, -1, -1, 63, -1, -1, 3261 -1, -1, -1, -1, -1, -1, -1, 73, -1, 75, 3262 -1, 77, -1, -1, -1, -1, -1, -1, 84, -1, 3263 -1, -1, -1, -1, -1, -1, -1, -1, 686, -1, 3264 -1, -1, -1, -1, -1, -1, -1, 1253, 1254, -1, 3265 -1, -1, -1, -1, -1, -1, -1, 1263, 114, 707, 3266 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3267 -1, -1, -1, -1, -1, -1, -1, 725, -1, 727, 3268 -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, 3321 3269 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3322 -1, -1, -1, -1, 1216, -1, 353, -1, -1, -1, 3323 -1, -1, -1, -1, 1198, -1, -1, -1, -1, 258, 3324 -1, -1, -1, -1, -1, -1, -1, 513, -1, -1, 3325 -1, 1215, -1, -1, -1, 1219, -1, -1, -1, -1, 3326 -1, -1, -1, -1, 1023, 1024, -1, 1026, 1027, 1028, 3327 -1, -1, -1, -1, 1238, -1, 1240, -1, -1, -1, 3328 -1, -1, -1, -1, -1, -1, 413, -1, 1047, -1, 3270 -1, 157, -1, 1309, -1, -1, -1, -1, -1, -1, 3271 -1, -1, 760, -1, -1, 1321, -1, 1323, 1324, 1325, 3272 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1335, 3273 -1, -1, -1, -1, -1, 43, -1, -1, 1344, -1, 3329 3274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3330 -1, -1, -1, 1267, -1, -1, -1, 573, -1, -1, 3331 -1, -1, -1, -1, 1278, 1279, 1280, -1, -1, -1, 3332 -1, 1080, 1081, -1, -1, -1, 1290, 1291, -1, -1, 3333 -1, -1, 1091, -1, -1, -1, -1, -1, -1, -1, 3334 1304, -1, -1, -1, -1, -1, 473, -1, -1, -1, 3335 -1, -1, -1, -1, -1, 621, 622, -1, -1, -1, 3336 -1, -1, -1, -1, 1328, -1, -1, -1, -1, -1, 3337 636, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3338 -1, -1, -1, -1, -1, -1, 513, -1, 654, -1, 3339 -1, 1150, -1, -1, -1, -1, -1, 1156, 1157, -1, 3340 -1, 667, -1, -1, -1, -1, -1, -1, -1, 675, 3341 -1, -1, -1, -1, 50, -1, 52, -1, -1, 55, 3342 56, 57, -1, 59, -1, -1, -1, -1, -1, -1, 3343 -1, -1, -1, -1, -1, -1, -1, -1, 74, 1198, 3344 -1, -1, -1, -1, -1, 711, 573, -1, 714, 85, 3345 86, -1, 1416, -1, -1, -1, 1215, -1, -1, -1, 3346 1219, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3347 19, 20, 21, 22, 23, 24, 25, 26, 27, 1238, 3348 -1, 1240, 748, -1, -1, -1, -1, -1, 37, -1, 3349 -1, -1, -1, -1, 621, 622, -1, 1461, -1, -1, 3350 -1, -1, -1, -1, 1468, -1, -1, -1, 1267, 636, 3351 -1, 60, -1, -1, 150, -1, -1, -1, -1, 1278, 3352 1279, 1280, 71, -1, 790, -1, -1, -1, -1, -1, 3353 -1, 1290, 1291, -1, 800, -1, -1, -1, -1, 805, 3354 806, -1, 561, 562, -1, 1304, -1, 1511, -1, -1, 3355 816, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3356 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1328, 3357 589, -1, -1, 592, 593, -1, 595, -1, 597, 598, 3358 -1, -1, -1, 602, 603, -1, -1, 714, 4, 5, 3359 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3360 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3361 26, 877, -1, 29, 30, 31, -1, -1, -1, -1, 3362 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, -1, 901, -1, -1, -1, -1, 3364 -1, -1, -1, -1, 60, -1, 62, -1, 64, 65, 3365 -1, 67, 68, 69, -1, -1, -1, 1416, -1, -1, 3366 76, 77, -1, 682, -1, -1, -1, -1, 687, 688, 3367 -1, -1, -1, -1, 693, -1, -1, -1, -1, 806, 3368 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3369 326, -1, 328, -1, -1, 111, -1, -1, -1, 965, 3370 -1, -1, 1461, 339, 340, -1, -1, -1, -1, 1468, 3371 -1, -1, -1, -1, -1, -1, -1, 353, -1, 3, 3372 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3373 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3374 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3375 877, -1, 1511, 37, -1, -1, -1, 1023, 1024, -1, 3376 1026, 1027, 1028, -1, -1, -1, -1, -1, -1, -1, 3377 -1, -1, -1, -1, 901, -1, 60, 413, 62, -1, 3378 64, 1047, -1, 67, 68, -1, 4, 5, 6, 7, 3275 1356, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3276 -1, 217, -1, 219, 220, 221, 814, -1, -1, -1, 3277 818, -1, -1, 821, -1, -1, -1, -1, -1, -1, 3278 -1, 89, -1, -1, -1, -1, -1, -1, -1, -1, 3279 -1, 99, -1, -1, -1, -1, -1, 1403, 1404, 255, 3280 -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, 3281 1416, -1, -1, -1, -1, -1, -1, 1423, -1, 275, 3282 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3283 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 3284 30, 31, 1448, -1, -1, -1, 154, 37, -1, -1, 3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 3286 -1, -1, -1, -1, -1, 913, -1, 323, 1474, -1, 3287 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3288 -1, 71, 190, -1, -1, -1, 76, 77, 344, -1, 3289 573, 574, 1498, 349, 350, -1, 204, 1503, -1, -1, 3290 -1, 357, -1, -1, -1, 213, 954, -1, -1, -1, 3291 -1, 101, -1, 103, -1, 223, -1, -1, -1, 967, 3292 603, 111, -1, 606, 607, -1, 609, -1, 611, 612, 3293 -1, -1, -1, 616, 617, -1, -1, -1, -1, -1, 3294 248, -1, -1, 399, -1, 253, -1, -1, -1, -1, 3295 -1, -1, -1, 1001, -1, -1, -1, -1, 266, -1, 3296 -1, 417, -1, -1, 272, -1, 274, 423, -1, -1, 3297 -1, -1, -1, -1, 1022, 1023, -1, -1, -1, -1, 3298 -1, -1, 290, -1, 440, -1, -1, 443, 444, -1, 3299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3300 -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, 3301 693, -1, -1, -1, -1, 698, 699, 473, -1, -1, 3302 -1, 704, -1, -1, 480, 333, -1, -1, -1, -1, 3303 338, -1, 1080, 3, 4, 5, 6, 7, 8, 9, 3304 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3305 20, 21, 22, 23, 24, 25, 26, -1, 366, 29, 3306 30, 31, 370, 371, -1, 373, -1, 37, -1, -1, 3307 -1, 379, 380, -1, 382, 383, -1, 385, -1, 387, 3308 -1, -1, -1, -1, -1, -1, -1, -1, 1136, -1, 3309 60, -1, 62, -1, 64, 65, 404, 67, 68, 69, 3310 -1, -1, -1, -1, 412, -1, 76, 77, -1, -1, 3311 -1, -1, -1, 36, -1, 38, -1, -1, -1, -1, 3312 -1, -1, -1, -1, -1, -1, -1, -1, 436, -1, 3313 1178, 101, -1, 103, -1, -1, 59, -1, 594, 447, 3314 -1, 111, 65, -1, -1, -1, 69, -1, -1, 72, 3315 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3316 -1, -1, 470, -1, 87, -1, 622, 1215, 476, -1, 3317 -1, 627, -1, 481, -1, -1, -1, -1, 101, -1, 3318 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 3319 113, 114, 115, -1, -1, -1, -1, -1, 152, 153, 3320 -1, 124, -1, -1, -1, -1, -1, -1, -1, 517, 3321 -1, -1, -1, 1261, 1262, -1, -1, -1, -1, -1, 3322 -1, -1, 1270, -1, -1, 533, -1, -1, -1, -1, 3323 -1, 185, -1, -1, -1, -1, -1, -1, 192, 10, 3324 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3325 21, 22, 23, 24, 25, 26, -1, 713, 29, 30, 3326 31, 569, -1, -1, -1, 36, 37, 38, -1, -1, 3327 578, 727, -1, -1, -1, -1, -1, 585, -1, -1, 3328 -1, -1, 590, -1, -1, -1, -1, -1, 59, 60, 3329 -1, 747, -1, 601, 65, -1, 67, 68, 69, -1, 3330 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3331 264, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3332 -1, -1, -1, -1, -1, -1, 1374, -1, -1, -1, 3333 101, -1, 103, 641, -1, 106, -1, -1, -1, 110, 3334 111, 112, 113, 114, 115, -1, -1, -1, -1, 805, 3335 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3336 -1, -1, 818, -1, 318, -1, -1, -1, 676, -1, 3337 -1, -1, 326, 327, -1, 329, 330, 1425, -1, -1, 3338 -1, 837, -1, -1, -1, 339, -1, -1, -1, 343, 3339 -1, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 3340 -1, -1, -1, -1, 1452, -1, -1, -1, 362, -1, 3341 -1, 365, -1, -1, -1, -1, -1, -1, -1, -1, 3342 -1, -1, -1, 731, -1, -1, -1, 1475, -1, -1, 3343 -1, -1, -1, 741, 742, -1, -1, 391, -1, -1, 3344 -1, 395, -1, -1, -1, 753, -1, -1, -1, -1, 3345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3346 -1, -1, 770, -1, 772, -1, 922, -1, 776, -1, 3347 -1, 425, -1, -1, -1, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 3349 -1, -1, 948, -1, 448, -1, -1, -1, 153, -1, 3350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3351 165, -1, -1, -1, 1197, -1, -1, 973, -1, -1, 3352 -1, -1, -1, -1, -1, 479, -1, -1, 482, -1, 3353 -1, -1, -1, 841, -1, -1, -1, -1, -1, -1, 3354 848, -1, -1, -1, -1, 36, -1, 38, 1004, -1, 3355 -1, -1, -1, 861, -1, 863, -1, -1, -1, 1015, 3356 -1, -1, -1, -1, -1, -1, -1, 521, 59, 877, 3357 524, 525, -1, -1, 65, 883, -1, -1, 69, -1, 3358 235, 72, 73, 74, 75, 76, 77, 895, 79, 80, 3359 898, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3360 -1, -1, -1, -1, -1, 260, -1, -1, 916, -1, 3361 101, -1, 103, -1, -1, 569, 570, -1, 109, 110, 3362 111, 112, 113, 114, 115, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, 588, 589, -1, 591, 1094, -1, 3364 -1, -1, -1, -1, -1, -1, 600, -1, 602, 603, 3365 -1, -1, -1, -1, -1, 609, -1, -1, -1, -1, 3366 -1, -1, -1, -1, -1, 619, 620, -1, -1, -1, 3367 -1, 625, -1, -1, -1, -1, -1, -1, -1, -1, 3368 634, 635, 636, -1, -1, -1, -1, -1, -1, -1, 3369 -1, -1, 1000, -1, -1, -1, -1, 651, -1, -1, 3370 -1, -1, 656, 657, -1, -1, 660, 661, -1, -1, 3371 -1, -1, -1, 667, -1, -1, -1, -1, -1, 374, 3372 -1, -1, 1178, 36, -1, 38, -1, -1, -1, -1, 3373 -1, 685, 686, 687, -1, 689, -1, -1, -1, 693, 3374 -1, -1, -1, -1, -1, -1, 59, 1055, -1, -1, 3375 -1, -1, 65, 1061, 67, 68, 69, -1, -1, 72, 3376 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3377 -1, 725, 726, -1, 87, -1, -1, -1, -1, -1, 3378 -1, -1, 1090, -1, -1, -1, -1, 1095, 101, -1, 3379 103, -1, 105, 106, -1, 1103, -1, 110, 111, 112, 3380 113, 114, 115, -1, -1, 759, 760, -1, -1, -1, 3381 764, 765, -1, -1, 1270, 276, 277, 278, 279, 474, 3382 -1, -1, -1, 1131, -1, 286, 287, -1, -1, -1, 3383 291, 292, -1, -1, -1, 1143, -1, -1, 1146, -1, 3384 1148, -1, 303, -1, -1, -1, -1, -1, -1, -1, 3385 -1, 805, -1, -1, 1162, 1163, -1, 512, -1, -1, 3386 814, -1, -1, -1, -1, -1, 820, 821, -1, -1, 3387 525, 825, -1, 827, -1, -1, 1184, 532, 339, -1, 3388 -1, -1, -1, 837, -1, -1, -1, -1, -1, -1, 3389 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, 3390 -1, -1, 1210, -1, -1, -1, -1, -1, -1, -1, 3391 -1, -1, 567, -1, 375, -1, -1, -1, -1, -1, 3392 -1, -1, 577, -1, -1, -1, -1, -1, -1, 584, 3393 -1, -1, -1, -1, 589, -1, -1, -1, 10, 11, 3394 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3395 22, 23, 24, 25, 26, 909, -1, 29, 30, 31, 3396 -1, -1, -1, 917, -1, 37, -1, -1, 922, -1, 3397 -1, -1, -1, -1, -1, -1, 930, -1, -1, -1, 3398 -1, -1, -1, -1, 639, -1, -1, -1, 60, 943, 3399 944, 646, 1300, -1, 1302, 67, 68, -1, -1, -1, 3400 -1, -1, -1, -1, -1, 1313, -1, 1315, -1, -1, 3401 -1, -1, -1, 967, -1, -1, -1, -1, -1, 973, 3402 -1, -1, -1, -1, -1, 1333, -1, -1, -1, -1, 3403 -1, 686, 1488, -1, -1, -1, -1, 991, 992, 111, 3404 -1, 1349, -1, -1, -1, -1, -1, 1001, -1, 1357, 3405 -1, -1, 1360, 1007, 1008, -1, 1010, 1011, 1012, -1, 3406 -1, -1, -1, -1, -1, -1, -1, -1, 1022, 1023, 3407 -1, -1, 1380, -1, -1, -1, -1, -1, -1, -1, 3408 -1, 1389, -1, -1, 1392, 1393, -1, 548, 549, 550, 3409 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 3410 561, 562, 563, 564, 565, 760, -1, 762, -1, -1, 3411 -1, -1, -1, 768, -1, -1, -1, -1, -1, 1427, 3412 775, 1429, -1, -1, -1, -1, -1, 1081, 1082, 1083, 3413 591, -1, -1, 1441, -1, -1, -1, -1, -1, -1, 3414 1094, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3416 -1, -1, -1, 818, 819, -1, 821, -1, -1, -1, 3417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3418 -1, 836, 1136, 4, 5, 6, 7, 8, 9, 10, 3419 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3420 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3421 31, -1, -1, -1, -1, 36, 37, 38, -1, -1, 3422 -1, 876, -1, -1, -1, 880, -1, 688, -1, -1, 3423 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3424 -1, 62, 1196, 64, 65, -1, 67, 68, 69, 710, 3425 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3426 -1, 1215, 723, -1, -1, -1, 87, -1, -1, -1, 3427 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3428 101, -1, 103, -1, -1, -1, -1, 108, -1, 110, 3429 111, 112, 113, 114, 115, -1, -1, -1, -1, 954, 3430 -1, -1, -1, -1, -1, -1, 767, 1261, 1262, -1, 3431 -1, -1, 967, 968, -1, -1, -1, -1, 36, 974, 3432 38, -1, -1, -1, -1, 980, -1, -1, 983, -1, 3433 985, -1, -1, -1, -1, -1, -1, 798, -1, -1, 3434 -1, 59, -1, -1, -1, -1, -1, 65, -1, 1004, 3435 -1, 69, 813, -1, 72, 73, 74, 75, 76, 77, 3436 1015, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3438 -1, -1, 1037, 101, 1039, 103, -1, -1, 106, -1, 3439 -1, -1, 110, 111, 112, 113, 114, 115, -1, 1054, 3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3441 -1, -1, -1, -1, -1, -1, -1, -1, 1073, -1, 3442 1374, -1, 0, -1, -1, 3, 4, 5, 6, 7, 3379 3443 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3380 3444 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3381 -1, 29, 30, 31, 1080, 1081, -1, -1, 36, 37, 3382 38, -1, 106, -1, 951, 1091, -1, -1, -1, -1, 3383 -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, 3384 -1, 59, 60, -1, 62, -1, 64, 65, -1, 67, 3385 68, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3386 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3387 -1, -1, -1, -1, -1, -1, -1, 513, -1, -1, 3388 -1, -1, -1, 101, 1150, 103, 104, -1, -1, -1, 3389 1156, 1157, 110, 111, 112, 113, 114, 115, -1, 1026, 3390 1027, 1028, 10, 11, 12, 13, 14, 15, 16, 17, 3391 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3392 1047, -1, -1, -1, -1, -1, -1, -1, -1, 37, 3393 -1, -1, 1198, -1, -1, -1, -1, 573, 7, -1, 3394 -1, 10, 11, 12, 13, 14, -1, -1, -1, 1215, 3395 -1, -1, 60, 1219, -1, -1, -1, -1, -1, -1, 3396 -1, -1, -1, 71, 1091, -1, -1, 36, 37, 38, 3397 -1, -1, 1238, -1, 1240, -1, -1, -1, -1, -1, 3398 -1, -1, -1, -1, -1, -1, -1, -1, 624, -1, 3399 59, 60, -1, -1, -1, -1, 65, -1, -1, -1, 3400 69, 1267, -1, 72, 73, 74, 75, 76, 77, -1, 3401 79, 80, 1278, 1279, 1280, -1, 652, -1, 87, -1, 3402 -1, -1, -1, -1, 1290, 1291, -1, -1, -1, 1156, 3403 1157, -1, 101, -1, 103, 671, 672, -1, 1304, 675, 3404 -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, 3405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3406 -1, -1, 1328, 1082, -1, -1, -1, 703, -1, 705, 3407 1197, 1198, -1, -1, -1, -1, 712, 713, -1, -1, 3408 -1, 717, -1, -1, -1, -1, -1, -1, 1215, -1, 3409 -1, -1, 1219, 729, -1, -1, -1, -1, 734, -1, 3410 -1, -1, -1, -1, 36, -1, 38, -1, -1, -1, 3411 -1, -1, 748, -1, -1, -1, -1, 1244, -1, -1, 3412 -1, -1, 758, -1, -1, -1, -1, 59, -1, -1, 3413 -1, -1, -1, 65, -1, -1, -1, 69, -1, -1, 3414 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3415 1416, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3416 -1, -1, -1, 1290, 1291, -1, -1, -1, -1, 101, 3417 806, 103, 1299, -1, -1, -1, -1, 1304, 110, 111, 3418 112, 113, 114, 115, 63, -1, -1, -1, -1, 825, 3419 -1, -1, 124, -1, 73, 1461, 75, 1216, 77, -1, 3420 -1, -1, 1468, -1, -1, 84, -1, -1, -1, -1, 3421 -1, 7, 1339, -1, 10, 11, 12, 13, 14, -1, 3422 -1, -1, 858, -1, 860, 861, 862, -1, -1, 865, 3423 866, -1, -1, -1, 113, -1, 115, 116, 117, -1, 3424 36, 37, 38, -1, 880, 1511, -1, -1, -1, -1, 3425 -1, -1, -1, -1, -1, -1, 892, -1, -1, 895, 3426 -1, 140, -1, 59, 60, 901, -1, -1, -1, 65, 3427 -1, -1, -1, 69, -1, 154, 72, 73, 74, 75, 3428 76, 77, -1, 79, 80, -1, -1, -1, -1, 1416, 3429 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3430 -1, -1, -1, -1, 940, 101, -1, 103, -1, -1, 3431 -1, -1, -1, 1440, 110, 111, 112, 113, 114, 115, 3432 -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, 3433 -1, -1, -1, 212, 1461, 214, 215, 216, -1, -1, 3434 -1, 1468, 978, -1, -1, -1, -1, 983, -1, -1, 3435 986, -1, -1, -1, 990, -1, -1, -1, -1, 995, 3436 -1, -1, -1, 999, 1000, 1001, -1, -1, -1, -1, 3437 249, -1, -1, 1009, 253, -1, -1, -1, -1, -1, 3438 -1, -1, -1, 1019, 1511, -1, -1, -1, -1, -1, 3439 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3440 -1, -1, 1038, 1039, 10, 11, 12, 13, 14, 15, 3441 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3442 26, -1, -1, 29, 30, 31, -1, 1063, -1, -1, 3443 1066, 37, 38, -1, -1, -1, -1, -1, 317, -1, 3444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3445 -1, -1, -1, 332, 60, 1091, -1, -1, 337, 338, 3446 -1, 67, 68, -1, -1, -1, 345, -1, -1, -1, 3447 -1, -1, 43, -1, 1110, -1, -1, -1, -1, -1, 3448 1116, 1117, -1, -1, -1, -1, -1, -1, -1, 1125, 3449 -1, -1, -1, -1, -1, 1131, -1, 103, 1134, -1, 3450 1136, 107, -1, 1139, -1, 111, -1, -1, 387, -1, 3451 -1, -1, -1, -1, 1150, -1, -1, 88, 1154, -1, 3452 -1, -1, -1, -1, -1, -1, 405, 98, -1, -1, 3453 -1, -1, 411, -1, 36, 1171, 38, 1173, 1174, 1175, 3454 1176, -1, -1, -1, -1, -1, -1, -1, -1, 428, 3455 -1, -1, 431, 432, 1190, -1, 1192, 59, -1, -1, 3456 1196, -1, -1, 65, -1, 67, -1, 69, -1, 448, 3457 72, 73, 74, 75, 76, 77, -1, 79, 80, 1215, 3458 151, -1, -1, 462, -1, 87, -1, -1, 1224, 1225, 3459 469, -1, -1, 164, -1, -1, -1, -1, -1, 101, 3460 -1, 103, -1, 105, 106, -1, -1, -1, 110, 111, 3461 112, 113, 114, 115, -1, 186, -1, -1, -1, -1, 3462 -1, -1, -1, -1, -1, -1, -1, -1, -1, 200, 3463 -1, -1, -1, -1, -1, -1, -1, 208, -1, 1275, 3464 1276, -1, -1, -1, -1, 1281, 1282, 218, -1, -1, 3465 -1, -1, -1, -1, -1, -1, 1292, -1, -1, 230, 3466 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3467 -1, 242, -1, -1, -1, -1, 247, -1, -1, -1, 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, 3469 -1, -1, -1, -1, -1, 266, -1, 268, -1, 578, 3470 -1, -1, -1, -1, -1, -1, -1, 1343, -1, -1, 3471 -1, -1, -1, 284, -1, -1, -1, -1, -1, 1355, 3472 -1, -1, -1, 1359, 1360, 1361, -1, -1, -1, 608, 3473 -1, -1, -1, -1, 613, 1371, -1, -1, -1, -1, 3474 -1, 36, -1, 38, 1380, -1, -1, -1, -1, -1, 3475 -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, 3476 1396, -1, -1, -1, 59, -1, -1, -1, -1, -1, 3477 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, 3478 75, 76, 77, 354, 79, 80, -1, 358, 359, -1, 3479 361, -1, 87, -1, -1, -1, 367, 368, -1, 370, 3480 371, -1, 373, -1, 375, -1, 101, -1, 103, -1, 3481 -1, 106, 1448, 1449, -1, 110, 111, 112, 113, 114, 3482 115, 392, -1, 702, -1, 1461, -1, -1, -1, 400, 3483 -1, 36, 1468, 38, 39, -1, 41, 716, -1, 44, 3484 45, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3485 -1, 56, 57, 424, 59, -1, -1, 736, -1, 1495, 3486 65, -1, -1, -1, 69, 436, -1, 72, 73, 74, 3487 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3488 -1, -1, 87, -1, -1, -1, -1, 1523, 459, -1, 3489 -1, -1, -1, -1, 465, -1, 101, -1, 103, 470, 3490 -1, 106, -1, -1, -1, 110, 111, 112, 113, 114, 3491 115, -1, 1548, -1, -1, 794, -1, 1553, -1, 124, 3492 -1, -1, -1, -1, -1, 804, -1, -1, -1, -1, 3493 -1, -1, -1, -1, -1, 506, -1, -1, -1, -1, 3494 -1, -1, -1, -1, -1, -1, -1, 826, -1, -1, 3495 521, -1, -1, 0, -1, -1, 3, 4, 5, 6, 3496 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3497 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3498 -1, -1, 29, 30, 31, 32, 557, -1, 35, -1, 3499 37, 38, -1, -1, -1, 566, -1, 568, -1, -1, 3500 -1, -1, -1, 574, -1, -1, -1, -1, -1, 36, 3501 57, 38, -1, 60, -1, 62, 587, 64, 65, -1, 3502 67, 68, 69, -1, -1, -1, -1, -1, -1, 76, 3503 77, -1, 59, -1, -1, -1, -1, -1, 65, -1, 3504 -1, 920, 69, -1, -1, 72, 73, 74, 75, 76, 3505 77, -1, 79, 80, 101, 626, 103, -1, -1, -1, 3506 87, -1, -1, -1, 111, 150, -1, 946, -1, -1, 3507 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3508 -1, -1, 109, 110, 111, 112, 113, 114, 115, -1, 3509 -1, 662, -1, 972, -1, -1, 181, -1, -1, -1, 3510 -1, -1, -1, 188, -1, 10, 11, 12, 13, 14, 3511 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3512 25, 26, 27, 1002, 29, 30, 31, -1, -1, -1, 3513 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, 3514 1019, -1, -1, -1, -1, -1, -1, -1, -1, 720, 3515 -1, -1, -1, -1, -1, 60, -1, -1, -1, 730, 3516 731, -1, 67, 68, -1, -1, 71, -1, -1, -1, 3517 -1, 742, -1, 258, -1, -1, -1, -1, 36, -1, 3518 38, -1, -1, -1, -1, -1, -1, -1, 759, -1, 3519 761, -1, -1, -1, 765, -1, 101, -1, 103, -1, 3520 -1, 59, -1, -1, -1, -1, 111, 65, -1, 1088, 3521 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3522 -1, 79, 80, -1, -1, -1, 1105, 312, -1, 87, 3523 -1, -1, -1, -1, -1, 320, 321, -1, 323, 324, 3524 -1, 326, -1, 101, -1, 103, 331, -1, -1, -1, 3525 108, -1, 110, 111, 112, 113, 114, 115, -1, 830, 3526 -1, -1, -1, -1, -1, 350, 837, -1, 353, -1, 3527 -1, -1, -1, -1, -1, -1, -1, -1, -1, 850, 3528 -1, 852, -1, -1, -1, -1, 36, -1, 38, -1, 3529 -1, -1, -1, -1, 379, -1, 867, -1, 383, -1, 3530 -1, -1, 873, -1, -1, -1, -1, -1, -1, 59, 3531 -1, -1, -1, -1, 885, 65, -1, 888, 1197, 69, 3532 -1, -1, 72, 73, 74, 75, 76, 77, 413, 79, 3533 80, -1, -1, -1, -1, -1, 907, 87, -1, -1, 3534 -1, -1, 913, -1, -1, -1, -1, -1, -1, -1, 3535 141, 101, 437, 103, -1, -1, 106, -1, -1, 150, 3536 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 3537 -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, 3538 -1, -1, -1, 468, -1, -1, 471, -1, -1, -1, 3539 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3540 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 3541 30, 31, -1, -1, -1, -1, -1, 37, -1, -1, 3542 1299, -1, -1, -1, -1, 510, -1, 998, 513, -1, 3543 -1, -1, -1, 1004, 1005, -1, -1, -1, -1, -1, 3544 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3545 -1, 71, -1, -1, -1, -1, 76, 77, -1, -1, 3546 -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, 3547 -1, -1, 557, 558, -1, -1, -1, -1, -1, -1, 3548 -1, 101, -1, 103, -1, -1, -1, -1, 573, 1060, 3549 575, 111, -1, -1, -1, 1066, -1, -1, 583, -1, 3550 -1, 586, -1, 588, 589, -1, -1, -1, -1, -1, 3551 595, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3552 605, 606, -1, -1, -1, -1, 611, -1, -1, -1, 3553 1101, -1, -1, -1, -1, 1106, 621, 622, -1, -1, 3554 -1, -1, -1, 1114, -1, -1, -1, -1, -1, -1, 3555 -1, 636, -1, -1, -1, -1, 641, 642, -1, -1, 3556 645, 646, 353, -1, -1, -1, -1, -1, -1, -1, 3557 -1, 362, 1143, -1, -1, -1, -1, -1, -1, -1, 3558 -1, -1, -1, -1, -1, 670, -1, -1, -1, 1160, 3559 675, 676, 1163, 678, 1165, -1, -1, 682, -1, -1, 3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3561 -1, 1182, 1183, -1, -1, -1, -1, -1, -1, -1, 3562 -1, 412, -1, -1, -1, -1, -1, -1, -1, 714, 3563 715, -1, 1203, -1, -1, -1, -1, -1, -1, -1, 3564 -1, -1, 433, 434, -1, -1, -1, -1, -1, -1, 3565 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1538, 3566 -1, -1, -1, 748, 1235, -1, -1, 752, 753, -1, 3567 -1, -1, 463, -1, -1, -1, -1, -1, 10, 11, 3568 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3569 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 3570 -1, -1, -1, -1, -1, 37, -1, -1, -1, 794, 3571 501, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3572 -1, 806, 513, -1, -1, -1, -1, -1, 60, 520, 3573 815, -1, 817, 65, -1, 67, 68, 69, -1, 71, 3574 -1, 826, 533, 534, 76, 77, 10, 11, 12, 13, 3575 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3576 24, 25, 26, 1334, 555, 1336, -1, -1, -1, -1, 3577 -1, 103, 857, 37, 565, -1, 1347, -1, 1349, 111, 3578 -1, -1, 573, -1, -1, -1, -1, -1, -1, -1, 3579 -1, -1, -1, -1, -1, -1, 60, -1, 1369, -1, 3580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3581 -1, -1, -1, -1, 1385, -1, 901, -1, -1, -1, 3582 -1, -1, 907, 908, -1, -1, 1397, -1, -1, 1400, 3583 915, -1, -1, 624, -1, 920, -1, -1, -1, -1, 3584 631, -1, -1, 928, -1, -1, -1, -1, -1, -1, 3585 -1, 1422, -1, -1, -1, -1, 941, 942, -1, -1, 3586 1431, 652, -1, 1434, 1435, -1, -1, -1, -1, -1, 3587 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3588 965, -1, -1, -1, 675, -1, -1, 972, -1, -1, 3589 -1, -1, -1, -1, 979, -1, -1, -1, -1, -1, 3590 -1, 1472, -1, -1, -1, 1476, 991, 992, -1, -1, 3591 -1, -1, 997, -1, 999, -1, -1, 1488, -1, -1, 3592 -1, -1, -1, -1, -1, 1010, 1011, -1, 1013, 1014, 3593 1015, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3594 -1, 1026, 1027, 1028, -1, -1, -1, -1, -1, -1, 3595 -1, -1, -1, -1, -1, -1, -1, 748, -1, 750, 3596 -1, -1, -1, -1, -1, 756, -1, -1, -1, -1, 3597 -1, -1, -1, 764, -1, 10, 11, 12, 13, 14, 3598 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3599 25, 26, 27, -1, 29, 30, 31, -1, 1083, -1, 3600 -1, -1, 37, 1088, -1, -1, 1091, 1092, 1093, 1094, 3601 801, -1, -1, 804, 805, 806, -1, -1, -1, -1, 3602 1105, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3603 -1, -1, 67, 68, 825, -1, 71, -1, -1, -1, 3604 -1, -1, 1127, -1, -1, -1, -1, 270, 271, 272, 3605 273, -1, -1, -1, -1, -1, -1, 280, 281, -1, 3606 -1, -1, 285, 286, -1, 1150, 101, -1, 103, -1, 3607 1155, 1156, 1157, -1, 297, 866, 111, -1, -1, 870, 3608 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3609 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3610 25, 26, 27, 326, 29, 30, 31, -1, -1, -1, 3611 901, -1, 37, -1, -1, -1, -1, -1, -1, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3613 1215, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3614 363, -1, 67, 68, 1229, -1, 71, -1, -1, -1, 3615 -1, -1, -1, -1, -1, 1240, -1, -1, -1, -1, 3616 -1, 952, -1, -1, -1, -1, -1, -1, -1, -1, 3617 -1, -1, -1, -1, 965, 966, -1, -1, 103, -1, 3618 -1, 36, 973, 38, -1, -1, 111, -1, -1, 980, 3619 -1, -1, 983, -1, 985, -1, -1, -1, -1, -1, 3620 -1, -1, -1, -1, 59, 1290, 1291, -1, -1, -1, 3621 65, 1002, -1, -1, 69, -1, -1, 72, 73, 74, 3622 75, 76, 77, -1, 79, 80, -1, -1, 1019, -1, 3623 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3624 -1, -1, 1327, -1, -1, -1, 101, -1, 103, -1, 3625 -1, 1042, -1, 1044, -1, 110, 111, 112, 113, 114, 3626 115, -1, -1, -1, -1, -1, -1, -1, 1059, -1, 3627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3628 -1, -1, -1, -1, -1, -1, -1, 1078, -1, -1, 3629 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3630 1091, -1, -1, -1, 1389, -1, -1, -1, -1, -1, 3631 -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 3632 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 3633 553, 1416, -1, -1, -1, -1, -1, -1, 1129, -1, 3634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3635 -1, -1, 575, -1, -1, -1, -1, -1, -1, 1150, 3636 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3637 -1, -1, -1, -1, -1, -1, -1, 1168, -1, 1170, 3638 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 3639 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3640 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3641 -1, 1496, 29, 30, 31, 32, -1, -1, 35, -1, 3642 37, 38, -1, -1, 1215, -1, -1, -1, -1, -1, 3643 -1, -1, 1517, 1518, -1, -1, -1, -1, -1, 1230, 3644 57, -1, -1, 60, -1, 62, -1, 64, 65, -1, 3645 67, 68, 69, 1538, 677, -1, -1, -1, -1, 76, 3646 77, -1, 1253, -1, -1, -1, -1, -1, -1, -1, 3647 -1, -1, -1, -1, -1, -1, 699, -1, -1, -1, 3648 -1, -1, -1, -1, 101, -1, 103, -1, -1, 712, 3649 107, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3445 -1, 29, 30, 31, 32, -1, -1, 35, -1, 37, 3446 38, -1, 1117, -1, -1, -1, -1, -1, -1, -1, 3447 -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, 3448 -1, 1136, 60, -1, 62, -1, 64, 65, -1, 67, 3449 68, 69, -1, -1, -1, 1449, 1151, 1152, 76, 77, 3450 -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, 3451 -1, 38, -1, -1, 1468, 1469, -1, -1, -1, -1, 3452 -1, -1, -1, 101, -1, 103, -1, -1, 989, -1, 3453 -1, -1, 59, 111, 1488, -1, -1, -1, 65, -1, 3454 1001, -1, 69, -1, -1, 72, 73, 74, 75, 76, 3455 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3456 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3457 -1, -1, -1, 1228, 101, -1, 103, -1, -1, 106, 3458 -1, 1042, -1, 110, 111, 112, 113, 114, 115, -1, 3650 3459 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3651 3460 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3652 3461 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3653 32, -1, 755, 35, 36, 37, 38, 39, -1, 41,3462 32, -1, -1, 35, 36, 37, 38, 39, -1, 41, 3654 3463 -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 3655 -1, 53, -1, -1, 56, 57, -1, 59, 60, -1, 3656 62, -1, 64, 65, 787, 67, 68, 69, -1, -1, 3657 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3658 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3659 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3660 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 3661 112, 113, 114, 115, 1405, -1, -1, -1, -1, -1, 3662 -1, -1, 124, -1, -1, -1, -1, -1, 3, 4, 3663 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3664 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3665 25, 26, -1, -1, 29, 30, 31, 32, -1, -1, 3666 35, 36, 37, 38, -1, -1, -1, -1, -1, 892, 3667 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3668 36, -1, 38, -1, 59, 60, -1, 62, 1479, 64, 3669 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3670 75, 76, 77, 59, 79, 80, -1, -1, -1, 65, 3671 -1, -1, 87, 69, -1, -1, 72, 73, 74, 75, 3672 76, 77, -1, 79, 80, -1, 101, -1, 103, -1, 3673 -1, 87, -1, -1, 1525, 110, 111, 112, 113, 114, 3674 115, -1, -1, -1, -1, 101, -1, 103, -1, 124, 3675 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3676 -1, -1, -1, -1, -1, -1, 989, -1, -1, -1, 3677 -1, -1, -1, -1, -1, -1, 999, 3, 4, 5, 3678 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3679 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3680 26, -1, -1, 29, 30, 31, 32, -1, -1, 35, 3681 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3682 -1, -1, -1, -1, 1047, -1, -1, -1, -1, 36, 3683 -1, 38, -1, 59, 60, -1, 62, -1, 64, 65, 3684 -1, 67, 68, 69, -1, -1, 72, 73, 74, 75, 3685 76, 77, 59, 79, 80, -1, -1, -1, 65, -1, 3686 -1, 87, 69, -1, -1, 72, 73, 74, 75, 76, 3687 77, -1, 79, 80, -1, 101, -1, 103, -1, -1, 3688 87, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3689 -1, -1, -1, -1, 101, -1, 103, -1, 1121, -1, 3690 -1, -1, -1, 110, 111, 112, 113, 114, 115, -1, 3691 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3692 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3693 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3694 -1, -1, 36, 37, 38, -1, -1, -1, 1171, -1, 3695 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3696 -1, -1, -1, 1186, 1187, 59, 60, -1, 62, -1, 3697 64, 65, -1, 67, 68, 69, -1, -1, 72, 73, 3698 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3699 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 3700 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3701 104, -1, -1, -1, 108, -1, 110, 111, 112, 113, 3702 114, 115, 4, 5, 6, 7, 8, 9, 10, 11, 3703 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3704 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3705 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3707 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3464 -1, 53, -1, -1, 56, 57, -1, 59, 60, 1110, 3708 3465 62, -1, 64, 65, -1, 67, 68, 69, -1, -1, 3709 3466 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3710 3467 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3711 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3712 -1, 103, 104, -1, -1, -1, 108, -1, 110, 111, 3713 112, 113, 114, 115, -1, 4, 5, 6, 7, 8, 3469 -1, 103, 1153, -1, 106, -1, -1, -1, 110, 111, 3470 112, 113, 114, 115, -1, -1, 1167, 1168, -1, -1, 3471 1365, -1, 124, -1, 3, 4, 5, 6, 7, 8, 3714 3472 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3715 3473 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3716 29, 30, 31, -1, -1, -1, -1, 36, 37, 38,3474 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, 3717 3475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3718 3476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3719 59, 60, -1, 62, -1, 64, 65, 14 20, 67, 68,3477 59, 60, -1, 62, -1, 64, 65, 1432, 67, 68, 3720 3478 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3721 3479 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3722 3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723 -1, -1, 101, -1, 103, 104, -1, -1, -1, 108, 3724 -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, 3725 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3726 1483, 1484, 4, 5, 6, 7, 8, 9, 10, 11, 3481 -1, -1, 101, -1, 103, -1, -1, -1, -1, -1, 3482 1475, 110, 111, 112, 113, 114, 115, -1, -1, -1, 3483 -1, -1, -1, -1, -1, 124, 3, 4, 5, 6, 3484 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3485 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3486 -1, -1, 29, 30, 31, 32, -1, -1, 35, 36, 3487 37, 38, 10, 11, 12, 13, 14, 15, 16, 17, 3488 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3489 -1, -1, 59, 60, -1, 62, -1, 64, 65, 37, 3490 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3491 77, -1, 79, 80, -1, -1, -1, 1378, -1, -1, 3492 87, -1, 60, -1, -1, -1, -1, -1, -1, -1, 3493 -1, -1, -1, 71, 101, -1, 103, -1, -1, -1, 3494 -1, -1, -1, 110, 111, 112, 113, 114, 115, -1, 3495 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 3727 3496 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3728 22, 23, 24, 25, 26, -1, -1, 29, 30, 31,3729 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1,3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3731 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1,3732 62, -1, 64, 65, -1, 67, 68, 69, -1, -1,3497 22, 23, 24, 25, 26, 1436, 1437, 29, 30, 31, 3498 -1, -1, -1, -1, 36, 37, 38, 10, 11, 12, 3499 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3500 23, 24, 25, 26, 27, -1, -1, 59, 60, -1, 3501 62, -1, 64, 65, 37, 67, 68, 69, -1, -1, 3733 3502 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3734 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1,3735 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,3736 -1, 103, 104, -1, -1, -1, -1, -1, 110, 111,3503 -1, -1, -1, -1, -1, 87, -1, 60, -1, -1, 3504 -1, -1, -1, -1, -1, -1, -1, -1, 71, 101, 3505 -1, 103, -1, -1, -1, -1, 108, -1, 110, 111, 3737 3506 112, 113, 114, 115, 4, 5, 6, 7, 8, 9, 3738 3507 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3739 3508 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3740 30, 31, -1, -1, -1, -1, 36, 37, 38, -1, 3509 30, 31, -1, -1, -1, -1, 36, 37, 38, 10, 3510 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3511 21, 22, 23, 24, 25, 26, -1, -1, -1, 59, 3512 60, -1, 62, -1, 64, 65, 37, 67, 68, 69, 3513 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3514 80, -1, -1, -1, -1, -1, -1, 87, -1, 60, 3741 3515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 3743 60, -1, 62, -1, 64, 65, -1, 67, 68, 69, 3744 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3745 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3747 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1, 3516 -1, 101, -1, 103, -1, -1, -1, -1, 108, -1, 3748 3517 110, 111, 112, 113, 114, 115, 4, 5, 6, 7, 3749 3518 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, … … 3757 3526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3758 3527 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1, 3759 -1, -1, 110, 111, 112, 113, 114, 115, 3, 4,3760 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,3761 1 5, 16, 17, 18, 19, 20, 21, 22, 23, 24,3762 2 5, 26, -1, -1, 29, 30, 31, 32, -1, -1,3763 3 5, -1, 37, 38, -1, -1, -1, -1, -1, -1,3528 -1, -1, 110, 111, 112, 113, 114, 115, 4, 5, 3529 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3530 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3531 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3532 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3764 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3765 -1, -1, 57, -1, -1, 60, -1, 62, -1, 64, 3766 65, -1, 67, 68, 69, -1, -1, -1, -1, -1, 3767 -1, 76, 77, -1, -1, -1, -1, -1, -1, -1, 3534 -1, -1, -1, 59, 60, -1, 62, -1, 64, 65, 3535 -1, 67, 68, 69, -1, -1, 72, 73, 74, 75, 3536 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3537 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3538 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3539 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3540 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3541 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3542 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3543 -1, -1, 36, 37, 38, -1, -1, -1, -1, -1, 3768 3544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3769 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3770 -1, -1, -1, -1, -1, -1, 111, 3, 4, 5, 3545 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, 3546 64, 65, -1, 67, 68, 69, -1, -1, 72, 73, 3547 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3548 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3550 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3551 114, 115, 4, 5, 6, 7, 8, 9, 10, 11, 3552 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3553 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3554 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3556 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3557 62, -1, 64, 65, -1, 67, 68, 69, -1, -1, 3558 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3559 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3561 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3562 112, 113, 114, 115, 3, 4, 5, 6, 7, 8, 3563 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3564 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3565 29, 30, 31, 32, -1, -1, 35, -1, 37, 38, 3566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3567 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, 3568 -1, 60, -1, 62, -1, 64, 65, -1, 67, 68, 3569 69, -1, -1, -1, -1, -1, -1, 76, 77, -1, 3570 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3572 -1, -1, 101, -1, 103, -1, -1, -1, 107, -1, 3573 -1, -1, 111, 3, 4, 5, 6, 7, 8, 9, 3574 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3575 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3576 30, 31, 32, -1, -1, 35, -1, 37, 38, -1, 3577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3578 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, 3579 60, -1, 62, -1, 64, 65, -1, 67, 68, 69, 3580 -1, -1, -1, -1, -1, -1, 76, 77, -1, -1, 3581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3582 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3583 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1, 3584 -1, 111, 3, 4, 5, 6, 7, 8, 9, 10, 3585 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3586 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 3587 31, 32, -1, -1, 35, -1, 37, -1, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3590 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3591 71, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3592 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3593 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3594 -1, -1, 103, -1, -1, 37, -1, -1, -1, -1, 3595 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3596 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3597 62, -1, 64, -1, -1, 67, 68, 4, 5, 6, 3598 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3599 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3600 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3601 37, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3603 -1, -1, -1, 60, -1, 62, -1, 64, 65, -1, 3604 67, 68, 69, -1, -1, -1, -1, -1, -1, 76, 3605 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3607 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3608 -1, -1, -1, -1, 111, 4, 5, 6, 7, 8, 3609 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3610 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3611 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3613 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3614 -1, 60, -1, 62, -1, 64, -1, -1, 67, 68, 3615 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 3616 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3617 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3618 -1, -1, -1, 102, 103, 37, -1, -1, -1, -1, 3619 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3620 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3621 62, -1, 64, -1, -1, 67, 68, -1, -1, -1, 3622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3623 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1, 3624 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3625 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3626 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3627 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3628 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3629 -1, -1, -1, 37, 10, 11, 12, 13, 14, 15, 3630 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3631 26, -1, -1, 29, 30, 31, 60, -1, 62, -1, 3632 64, 37, -1, 67, 68, -1, -1, -1, -1, -1, 3633 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3634 -1, -1, -1, -1, 60, 89, -1, -1, -1, 65, 3635 -1, 67, 68, -1, -1, -1, -1, -1, -1, 103, 3636 -1, -1, -1, -1, -1, -1, -1, 111, 4, 5, 3771 3637 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3772 3638 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, … … 3774 3640 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 3775 3641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3776 -1, -1, -1, -1, 60, -1, 62, -1, 64, 65, 3777 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1, 3778 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, 3779 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3780 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3781 -1, -1, -1, -1, -1, 111, 3, 4, 5, 6, 3782 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3783 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3784 27, -1, 29, 30, 31, 32, -1, -1, 35, -1, 3785 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3787 -1, -1, -1, 60, -1, 62, -1, 64, -1, -1, 3788 67, 68, -1, -1, 71, 3, 4, 5, 6, 7, 3789 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3790 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3791 -1, 29, 30, 31, 32, -1, 103, 35, -1, 37, 3792 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3794 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3795 68, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3642 -1, -1, -1, -1, 60, -1, 62, -1, 64, -1, 3643 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 3796 3644 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3797 3645 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3798 31, -1, -1, -1, -1, 103, 37, -1, -1, -1,3799 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,3646 31, -1, -1, -1, -1, -1, 37, 103, -1, -1, 3647 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3800 3648 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3801 3649 -1, 62, -1, 64, -1, -1, 67, 68, 4, 5, … … 3809 3657 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3810 3658 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3811 31, -1, -1, -1, -1, -1, 37, 103, 104, -1,3659 31, -1, -1, -1, -1, -1, 37, 103, -1, -1, 3812 3660 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3813 3661 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3814 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3815 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3816 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3817 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3818 -1, 102, 103, 37, -1, -1, -1, -1, -1, -1, 3819 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3820 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 3821 64, -1, -1, 67, 68, -1, -1, -1, -1, -1, 3822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3823 -1, -1, -1, -1, -1, 89, -1, -1, -1, -1, 3824 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 3825 -1, -1, -1, -1, -1, -1, -1, 111, 4, 5, 3826 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3827 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3828 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3829 -1, 37, 10, 11, 12, 13, 14, 15, 16, 17, 3830 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3831 -1, 29, 30, 31, 60, -1, 62, -1, 64, 37, 3832 -1, 67, 68, -1, -1, -1, -1, -1, -1, -1, 3833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3834 -1, -1, 60, 89, -1, -1, -1, 65, -1, 67, 3835 68, -1, -1, -1, -1, -1, -1, 103, -1, -1, 3836 -1, -1, -1, -1, -1, 111, 4, 5, 6, 7, 3837 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3838 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3839 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3842 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3843 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3844 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3845 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3846 -1, -1, -1, -1, 37, 103, -1, -1, -1, -1, 3847 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3848 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3849 -1, 64, -1, -1, 67, 68, 4, 5, 6, 7, 3850 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3851 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3852 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3853 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3855 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3856 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3857 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3858 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3859 -1, -1, -1, -1, 37, 103, -1, -1, -1, -1, 3860 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3861 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3862 -1, 64, -1, -1, 67, 68, 10, 11, 12, 13, 3863 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3864 24, 25, 26, -1, -1, 29, 30, 31, 32, 33, 3865 34, -1, 36, 37, 38, -1, -1, -1, -1, -1, 3866 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3867 -1, -1, -1, -1, -1, 59, 60, -1, -1, -1, 3868 -1, 65, -1, 67, 68, 69, -1, -1, 72, 73, 3869 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3870 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 3871 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3872 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3873 114, 115, 10, 11, 12, 13, 14, 15, 16, 17, 3874 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3875 -1, 29, 30, 31, -1, -1, -1, -1, 36, 37, 3876 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3878 -1, 59, 60, -1, -1, -1, -1, 65, -1, 67, 3879 68, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3880 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3882 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 3883 -1, -1, 110, 111, 112, 113, 114, 115, 10, 11, 3662 -1, 62, -1, 64, -1, -1, 67, 68, 10, 11, 3884 3663 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3885 3664 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3886 3665 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3888 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1,3666 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, 3667 111, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3889 3668 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3890 3669 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, … … 3945 3724 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3946 3725 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3947 112, 113, 114, 115, 10, 11, 12, 13, 14, 15,3948 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,3949 26, -1, -1, 29, 30, 31, -1, -1, -1, -1,3950 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,3951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3952 -1, -1, -1, -1, 60, -1, -1, -1, -1, 65,3953 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1,3954 76, 77, 10, 11, 12, 13, 14, 15, 16, 17,3955 18, 19, 20, 21, 22, 23, 24, 25, 26, -1,3956 -1, 29, 30, 31, -1, 101, -1, 103, -1, 37,3957 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1,3726 112, 113, 114, 115, 3, 4, 5, 6, 7, 8, 3727 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3728 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3729 29, 30, 31, -1, -1, -1, -1, -1, 37, 10, 3730 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3731 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 3732 31, 60, -1, 62, -1, 64, 37, -1, 67, 68, 3733 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3734 18, 19, 20, 21, 22, 23, 24, 25, 26, 60, 3735 -1, 29, 30, 31, 65, -1, 67, 68, 69, 37, 3736 71, -1, -1, -1, -1, 76, 77, 106, -1, -1, 3958 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3959 3738 -1, -1, 60, -1, -1, -1, -1, 65, -1, 67, 3960 68, 69, -1, -1, -1, -1, -1, -1, 76, 77,3961 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,3962 20, 21, 22, 23, 24, 25, 26, -1, -1, 29,3963 30, 31, -1, 101, -1, 103, -1, 37, -1, -1,3739 68, 69, 103, -1, -1, -1, -1, -1, 76, 77, 3740 111, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3741 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3742 29, 30, 31, 101, -1, 103, -1, -1, 37, -1, 3964 3743 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3965 3744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3966 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3967 -1, -1, -1, -1, -1, -1, 76, 77, 10, 11, 3968 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3969 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3970 -1, 101, -1, 103, -1, 37, -1, -1, -1, -1, 3971 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, 3972 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3973 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3974 -1, -1, -1, -1, 76, 77, 10, 11, 12, 13, 3975 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3976 24, 25, 26, -1, -1, 29, 30, 31, -1, 101, 3977 -1, 103, -1, 37, -1, -1, -1, -1, -1, 111, 3978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3979 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3980 -1, 65, -1, 67, 68, 69, -1, -1, -1, -1, 3981 -1, -1, 76, 77, 10, 11, 12, 13, 14, 15, 3982 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3983 26, -1, -1, 29, 30, 31, -1, -1, -1, 103, 3984 -1, 37, 38, -1, -1, -1, -1, 111, -1, -1, 3985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3986 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3987 -1, 67, 68, 10, 11, 12, 13, 14, 15, 16, 3988 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3989 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3990 37, 38, -1, -1, -1, -1, -1, 103, -1, -1, 3991 -1, 107, -1, -1, -1, 111, -1, -1, -1, -1, 3992 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3993 67, 68, 10, 11, 12, 13, 14, 15, 16, 17, 3994 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3995 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3996 38, -1, -1, -1, -1, -1, 103, -1, -1, -1, 3997 107, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3998 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3999 68, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4000 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 4001 29, 30, 31, -1, -1, -1, -1, -1, 37, 38, 4002 -1, -1, -1, -1, -1, 103, -1, -1, -1, 107, 4003 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 4004 -1, 60, -1, -1, -1, -1, -1, -1, 67, 68, 4005 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4006 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 4007 30, 31, -1, -1, -1, -1, -1, 37, 38, -1, 4008 -1, -1, -1, -1, 103, -1, -1, -1, 107, -1, 4009 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 4010 60, -1, -1, -1, -1, -1, -1, 67, 68, 10, 3745 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3746 69, -1, -1, -1, -1, -1, -1, 76, 77, 10, 4011 3747 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4012 3748 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 4013 31, -1, -1, -1, -1, -1, 37, -1, -1, -1, 4014 -1, -1, -1, 103, -1, -1, -1, 107, -1, -1, 4015 -1, 111, -1, -1, -1, -1, -1, -1, -1, 60, 4016 -1, -1, -1, -1, 65, -1, 67, 68, 10, 11, 4017 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4018 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4019 -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, 4020 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, 4021 111, -1, -1, -1, -1, -1, -1, -1, 60, -1, 4022 -1, -1, -1, -1, -1, 67, 68, 10, 11, 12, 3749 31, -1, 101, -1, 103, -1, 37, -1, -1, -1, 3750 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3752 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3753 -1, -1, -1, -1, -1, 76, 77, 10, 11, 12, 4023 3754 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4024 3755 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 4025 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 4026 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3756 101, -1, 103, -1, 37, -1, -1, -1, -1, -1, 3757 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3758 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 3759 -1, -1, 65, -1, 67, 68, 69, -1, -1, -1, 3760 -1, -1, -1, 76, 77, 10, 11, 12, 13, 14, 3761 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3762 25, 26, -1, -1, 29, 30, 31, -1, 101, -1, 3763 103, -1, 37, -1, -1, -1, -1, -1, 111, -1, 3764 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3765 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3766 65, -1, 67, 68, 69, -1, -1, -1, -1, -1, 3767 -1, 76, 77, 10, 11, 12, 13, 14, 15, 16, 3768 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3769 27, -1, 29, 30, 31, -1, -1, -1, 103, -1, 3770 37, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3772 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3773 67, 68, -1, -1, 71, 10, 11, 12, 13, 14, 3774 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3775 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 3776 -1, -1, 37, -1, 101, -1, 103, -1, -1, -1, 3777 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3778 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3779 -1, -1, 67, 68, -1, -1, 71, 10, 11, 12, 3780 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3781 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3782 -1, -1, -1, -1, 37, 38, 101, -1, 103, -1, 3783 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 4027 3784 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 4028 3785 -1, -1, -1, -1, 67, 68, 10, 11, 12, 13, 4029 3786 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4030 3787 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 4031 -1, -1, -1, 37, -1, -1, -1, -1, 101, -1,4032 103, -1, -1, -1, -1, -1, -1, -1, 111, -1,3788 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3789 103, -1, -1, -1, 107, -1, -1, -1, 111, -1, 4033 3790 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 4034 -1, -1, -1, 67, 68, 10, 11, 12, 13, 14,3791 -1, 65, -1, 67, 68, 10, 11, 12, 13, 14, 4035 3792 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4036 3793 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 4037 -1, -1, 37, -1, -1, -1, -1, 101, -1, 103,3794 -1, -1, 37, 38, -1, -1, -1, -1, -1, 103, 4038 3795 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 4039 3796 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, … … 4047 3804 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4048 3805 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 4049 37, -1, -1, -1, -1, -1, -1, 103, -1, -1,3806 37, -1, -1, -1, -1, 101, -1, 103, -1, -1, 4050 3807 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 4051 3808 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, … … 4053 3810 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 4054 3811 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 4055 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1,3812 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 4056 3813 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 4057 3814 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, … … 4100 3857 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4101 3858 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 4102 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,3859 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1, 4103 3860 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 4104 3861 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 4105 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10,4106 1 1, 12, 13, 14, 15, 16, 17, 18, 19, 20,4107 21, 22, 23, 24, 25, 26, -1, -1, 29, 30,4108 3 1, -1, -1, -1, -1, -1, 37, -1, -1, -1,3862 -1, 67, 68, 10, 11, 12, 13, 14, 15, 16, 3863 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3864 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3865 37, -1, -1, -1, -1, -1, -1, 103, -1, -1, 4109 3866 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 4110 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 4111 -1, 62, -1, 64, -1, -1, 67, 68, -1, 36, 4112 -1, 38, 39, -1, 41, -1, -1, 44, 45, 46, 4113 47, 48, 49, 50, 51, -1, 53, -1, -1, 56, 4114 57, -1, 59, -1, -1, -1, -1, -1, 65, -1, 4115 -1, 102, 69, -1, -1, 72, 73, 74, 75, 76, 4116 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 4117 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4118 -1, -1, -1, -1, 101, -1, 103, -1, -1, 106, 4119 -1, -1, -1, 110, 111, 112, 113, 114, 115, -1, 4120 -1, -1, -1, -1, -1, -1, -1, 124, 4, 5, 4121 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4122 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4123 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 4124 -1, 37, 10, 11, 12, 13, 14, 15, 16, 17, 3867 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3868 67, 68, 10, 11, 12, 13, 14, 15, 16, 17, 4125 3869 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 4126 -1, 29, 30, 31, 60, -1, 62, -1, 64, 37, 4127 -1, 67, 68, -1, 36, -1, 38, 39, -1, 41, 4128 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 4129 52, 53, 60, 89, 56, 57, -1, 59, -1, 67, 4130 68, -1, -1, 65, -1, -1, -1, 69, -1, -1, 4131 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 4132 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 4133 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 4134 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 4135 112, 113, 114, 115, 36, -1, 38, 39, -1, 41, 4136 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 4137 -1, 53, -1, -1, 56, 57, -1, 59, -1, -1, 4138 -1, -1, -1, 65, -1, -1, -1, 69, -1, -1, 4139 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 4140 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 4141 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 4142 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 4143 112, 113, 114, 115, 36, -1, 38, 39, -1, 41, 4144 -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 4145 -1, 53, -1, -1, 56, 57, -1, 59, -1, -1, 3870 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3871 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, 3872 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3873 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3874 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3875 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3876 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3877 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 3878 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3879 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3880 -1, 64, -1, -1, 67, 68, -1, 36, -1, 38, 3881 39, -1, 41, -1, -1, 44, 45, 46, 47, 48, 3882 49, 50, 51, 52, 53, -1, -1, 56, 57, -1, 3883 59, -1, -1, -1, -1, -1, 65, -1, -1, 102, 3884 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3885 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3887 -1, -1, 101, -1, 103, -1, -1, 106, -1, -1, 3888 -1, 110, 111, 112, 113, 114, 115, -1, 36, -1, 3889 38, 39, -1, 41, -1, 124, 44, 45, 46, 47, 3890 48, 49, 50, 51, -1, 53, -1, -1, 56, 57, 3891 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, 3892 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3893 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3895 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 3896 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1, 3897 -1, -1, -1, -1, -1, -1, 124, 4, 5, 6, 3898 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3899 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3900 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3901 37, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3902 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3903 29, 30, 31, 60, -1, 62, -1, 64, 37, -1, 3904 67, 68, -1, 36, -1, 38, 39, -1, 41, 42, 3905 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 3906 53, 60, 89, 56, 57, -1, 59, -1, 67, 68, 3907 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3908 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3909 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3910 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3911 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 3912 113, 114, 115, 36, -1, 38, 39, -1, 41, 42, 3913 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 3914 53, -1, -1, 56, 57, -1, 59, -1, -1, -1, 3915 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3916 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3917 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3918 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3919 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 3920 113, 114, 115, 36, -1, 38, 39, -1, 41, -1, 3921 -1, 44, 45, 46, 47, 48, 49, 50, 51, -1, 3922 53, -1, -1, 56, 57, -1, 59, -1, -1, -1, 3923 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3924 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3925 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3926 36, -1, 38, -1, -1, -1, -1, -1, 101, -1, 3927 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 3928 113, 114, 115, 59, -1, -1, -1, -1, -1, 65, 3929 -1, -1, -1, 69, -1, -1, 72, 73, 74, 75, 3930 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3931 -1, 87, -1, -1, -1, -1, -1, 36, -1, 38, 3932 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3933 -1, -1, 108, -1, 110, 111, 112, 113, 114, 115, 3934 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, 3935 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3936 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3937 -1, -1, -1, -1, 36, -1, 38, -1, -1, -1, 3938 -1, -1, 101, -1, 103, -1, -1, -1, -1, -1, 3939 -1, 110, 111, 112, 113, 114, 115, 59, -1, -1, 4146 3940 -1, -1, -1, 65, -1, -1, -1, 69, -1, -1, 4147 3941 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 4148 3942 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 4149 3943 -1, 36, -1, 38, -1, -1, -1, -1, -1, 101, 4150 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111,3944 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 4151 3945 112, 113, 114, 115, 59, -1, -1, -1, -1, -1, 4152 3946 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, … … 4159 3953 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 4160 3954 -1, -1, -1, -1, -1, 36, -1, 38, -1, -1, 4161 -1, -1, -1, 101, -1, -1, -1, -1, -1, -1,3955 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1, 4162 3956 -1, -1, 110, 111, 112, 113, 114, 115, 59, -1, 4163 3957 -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, … … 4175 3969 -1, -1, 69, -1, -1, 72, 73, 74, 75, 76, 4176 3970 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 4177 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,3971 87, -1, -1, -1, -1, -1, 36, -1, 38, -1, 4178 3972 -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 4179 -1, -1, -1, 110, 111, 112, 113, 114, 115, 4, 4180 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4181 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4182 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, 4183 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, 3973 -1, -1, -1, 110, 111, 112, 113, 114, 115, 59, 3974 -1, -1, -1, -1, -1, 65, -1, -1, -1, 69, 3975 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3976 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 4184 3977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4185 -1, -1, -1, -1, -1, 60, -1, 62, -1, 64, 4186 65, -1, 67, 68, 69, -1, -1, -1, -1, -1, 4187 -1, 76, 77, 3, 4, 5, 6, 7, 8, 9, 4188 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4189 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 4190 30, 31, -1, -1, -1, -1, -1, 37, -1, -1, 3978 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, 3979 110, 111, 112, 113, 114, 115, 4, 5, 6, 7, 3980 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3981 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 4191 3983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4192 3984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4193 60, -1, 62, -1, 64, -1, -1, 67, 68, 3, 4194 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4195 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4196 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 4197 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3985 -1, -1, 60, -1, 62, -1, 64, 65, -1, 67, 3986 68, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3987 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3988 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3989 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3990 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 4198 3991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4199 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 4200 64, -1, -1, 67, 68, 4, 5, 6, 7, 8, 4201 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4202 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 4203 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 3992 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3993 -1, 64, -1, -1, 67, 68, 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 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3997 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4204 3998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4206 -1, 60, -1, 62, -1, 64, -1, -1, 67, 68, 4207 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4208 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 4209 30, 31, 32, 33, 34, -1, -1, 37, 10, 11, 3999 -1, -1, -1, 60, -1, 62, -1, 64, -1, -1, 4000 67, 68, 4, 5, 6, 7, 8, 9, 10, 11, 4210 4001 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4211 4002 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4212 60, -1, -1, -1, -1, 37, -1, 67, 68, -1,4003 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, 4213 4004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4214 4005 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 4215 -1, -1, -1, -1, -1, 67, 68 4006 62, -1, 64, -1, -1, 67, 68, 10, 11, 12, 4007 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4008 23, 24, 25, 26, -1, -1, 29, 30, 31, 32, 4009 33, 34, -1, -1, 37, 10, 11, 12, 13, 14, 4010 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4011 25, 26, -1, -1, 29, 30, 31, 60, -1, -1, 4012 -1, -1, 37, -1, 67, 68, -1, -1, -1, -1, 4013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4014 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 4015 -1, -1, 67, 68 4216 4016 }; 4217 4017 … … 4228 4028 213, 214, 215, 216, 217, 218, 220, 221, 222, 223, 4229 4029 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 4230 235, 243, 244, 270, 271, 27 9, 282, 288, 289, 291,4231 29 3, 294, 300, 305, 309, 310, 311, 312, 313, 314,4232 315, 316, 3 36, 353, 354, 355, 356, 65, 111, 131,4233 204, 206, 214, 216, 226, 230, 232, 271, 75, 101,4234 298, 299, 300, 298, 298, 65, 67, 68, 69, 130,4235 13 1, 260, 261, 280, 281, 67, 261, 101, 291, 215,4236 2 16, 101, 111, 305, 310, 311, 312, 314, 315, 316,4237 126, 103, 207, 214, 216, 309, 313, 352, 353, 356,4238 35 7, 127, 123, 264, 106, 127, 164, 67, 68, 129,4239 259, 127, 127, 127, 108, 127, 67, 101, 111, 295,4240 304, 305, 306, 307, 308, 309, 313, 317, 318, 319,4241 3 20, 321, 3, 27, 71, 228, 3, 5, 67, 68,4242 103, 111, 206, 217, 221, 224, 233, 309, 313, 356,4243 2 04, 206, 216, 226, 230, 232, 271, 309, 313, 32,4244 2 22, 222, 217, 224, 127, 222, 217, 222, 217, 68,4245 101, 106, 261, 106, 261, 222, 217, 108, 127, 127,4246 0, 126, 101, 164, 298, 298, 126, 103, 214, 216,4247 354, 259, 259, 216, 123, 101, 111, 295, 305, 309,4248 1 03, 111, 356, 292, 219, 300, 101, 276, 101, 101,4249 101, 36, 38, 59, 65, 69, 72, 73, 74, 75,4250 79, 80, 87, 101, 103, 110, 111, 112, 113, 114,4251 1 15, 128, 132, 133, 134, 135, 140, 141, 142, 143,4252 1 44, 145, 146, 147, 148, 149, 150, 151, 152, 153,4253 1 55, 157, 214, 263, 278, 352, 357, 216, 102, 102,4254 102, 102, 102, 102, 102, 103, 111, 127, 155, 206,4255 207, 213, 216, 220, 221, 226, 229, 230, 232, 249,4256 250, 254, 255, 256, 257, 271, 336, 348, 349, 350,4257 351, 356, 357, 126, 101, 309, 313, 356, 101, 108,4258 124, 103, 106, 111, 155, 265, 107, 126, 108, 124,4259 101, 108, 124, 10 8, 124, 108, 124, 298, 124, 305,4260 306, 307, 308, 318, 319, 320, 321, 216, 304, 317,4261 57, 297, 103, 298, 335, 336, 298, 298, 164, 126,4262 101, 298, 335, 298, 298, 216, 295, 101, 101, 215,4263 214, 216, 101, 126, 214, 352, 357, 164, 126, 259,4264 264, 206, 221, 309, 313, 164, 126, 280, 216, 226,4265 12 4, 216, 216, 101, 126, 38, 103, 214, 236, 237,4266 2 38, 239, 352, 356, 106, 245, 261, 106, 216, 280,4267 124, 124, 291, 126, 131, 258, 3, 127, 196, 197,4268 2 11, 213, 216, 126, 297, 101, 297, 155, 305, 216,4269 1 01, 126, 259, 106, 32, 33, 34, 214, 272, 273,4270 2 75, 126, 121, 123, 277, 126, 217, 223, 224, 259,4271 301, 302, 303, 140, 153, 154, 101, 140, 142, 101,4272 140, 101, 101, 140, 140, 131, 103, 155, 160, 164,4273 214, 262, 352, 126, 142, 142, 75, 78, 79, 80,4274 1 01, 103, 105, 90, 91, 92, 93, 94, 95, 96,4275 97, 98, 99, 123, 159, 142, 111, 116, 117, 113,4276 114, 81, 82, 83, 84, 118, 119, 85, 86, 112,4277 1 20, 121, 87, 88, 122, 123, 359, 101, 111, 331,4278 332, 333, 334, 335, 102, 108, 101, 335, 103, 336,4279 1 01, 335, 336, 126, 103, 111, 127, 214, 216, 347,4280 3 48, 356, 357, 104, 127, 67, 101, 103, 111, 305,4281 322, 323, 324, 325, 326, 327, 328, 329, 330, 336,4282 337, 338, 339, 340, 341, 342, 111, 356, 216, 127,4283 127, 111, 214, 216, 349, 259, 214, 336, 349, 259,4284 1 27, 126, 126, 126, 126, 65, 103, 105, 261, 265,4285 2 66, 267, 268, 269, 126, 126, 126, 126, 126, 126,4286 295, 102, 102, 102, 102, 102, 102, 102, 304, 317,4287 1 01, 264, 126, 196, 126, 295, 160, 263, 160, 263,4288 295, 278, 103, 127, 196, 297, 164, 126, 196, 278,4289 2 14, 272, 278, 238, 239, 126, 101, 109, 111, 240,4290 242, 304, 305, 317, 335, 343, 344, 345, 346, 107,4291 2 37, 108, 124, 108, 124, 261, 236, 108, 358, 123,4292 246, 245, 216, 251, 252, 253, 256, 257, 102, 108,4293 1 64, 126, 111, 155, 126, 213, 216, 250, 348, 356,4294 289, 290, 101, 111, 322, 102, 108, 359, 261, 272,4295 101, 106, 261, 263, 272, 102, 108, 101, 102, 109,4296 2 62, 262, 103, 131, 137, 155, 263, 262, 126, 102,4297 10 8, 102, 101, 111, 343, 102, 108, 127, 155, 103,4298 1 31, 103, 136, 137, 126, 103, 131, 155, 155, 142,4299 1 42, 142, 143, 143, 144, 144, 145, 145, 145, 145,4300 14 6, 146, 147, 148, 149, 150, 151, 109, 160, 155,4301 1 26, 332, 333, 334, 216, 331, 298, 298, 155, 263,4302 1 26, 126, 258, 127, 216, 220, 126, 104, 356, 67,4303 129, 214, 336, 354, 104, 101, 126, 305, 323, 324,4304 325, 328, 338, 339, 340, 126, 216, 322, 326, 337,4305 101, 298, 341, 359, 298, 298, 359, 101, 298, 341,4306 298, 298, 298, 298, 336, 214, 347, 357, 259, 104,4307 108, 104, 108, 359, 214, 349, 359, 104, 247, 248,4308 249, 250, 247, 259, 127, 155, 126, 103, 261, 109,4309 108, 358, 265, 103, 109, 269, 28, 198, 199, 259,4310 247, 131, 295, 131, 297, 101, 335, 336, 101, 335,4311 336, 133, 111, 127, 164, 251, 102, 102, 102, 102,4312 102, 126, 104, 164, 196, 164, 102, 101, 111, 127,4313 1 27, 124, 124, 103, 127, 305, 344, 345, 346, 154,4314 216, 343, 241, 242, 241, 298, 298, 261, 298, 107,4315 2 61, 107, 154, 358, 127, 127, 131, 211, 127, 127,4316 247, 101, 111, 356, 127, 107, 216, 273, 274, 127,4317 126, 126, 101, 127, 102, 302, 160, 161, 124, 75,4318 1 90, 191, 192, 102, 102, 126, 109, 102, 102, 102,4319 1 27, 155, 216, 106, 142, 157, 155, 156, 158, 104,4030 235, 243, 244, 270, 271, 272, 280, 283, 289, 290, 4031 292, 294, 295, 301, 306, 310, 311, 312, 313, 314, 4032 315, 316, 317, 337, 354, 355, 356, 357, 65, 111, 4033 131, 204, 206, 214, 216, 226, 230, 232, 271, 75, 4034 101, 299, 300, 301, 299, 299, 65, 67, 68, 69, 4035 130, 131, 260, 261, 281, 282, 67, 68, 261, 101, 4036 292, 215, 216, 101, 111, 306, 311, 312, 313, 315, 4037 316, 317, 104, 126, 103, 207, 214, 216, 310, 314, 4038 353, 354, 357, 358, 127, 123, 264, 106, 127, 164, 4039 67, 68, 129, 259, 127, 127, 127, 108, 127, 67, 4040 68, 101, 111, 296, 305, 306, 307, 308, 309, 310, 4041 314, 318, 319, 320, 321, 322, 328, 3, 27, 71, 4042 228, 3, 5, 67, 103, 111, 206, 217, 221, 224, 4043 233, 272, 310, 314, 357, 204, 206, 216, 226, 230, 4044 232, 271, 310, 314, 32, 222, 222, 217, 224, 127, 4045 222, 217, 222, 217, 68, 101, 106, 261, 272, 106, 4046 261, 222, 217, 108, 127, 127, 0, 126, 101, 164, 4047 299, 299, 126, 103, 214, 216, 355, 259, 259, 216, 4048 123, 101, 111, 296, 306, 310, 103, 111, 357, 293, 4049 219, 301, 101, 277, 101, 101, 101, 36, 38, 59, 4050 65, 69, 72, 73, 74, 75, 79, 80, 87, 101, 4051 103, 110, 111, 112, 113, 114, 115, 128, 132, 133, 4052 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 4053 148, 149, 150, 151, 152, 153, 155, 157, 214, 263, 4054 279, 353, 358, 216, 102, 102, 102, 102, 102, 102, 4055 102, 67, 68, 103, 214, 259, 337, 355, 103, 111, 4056 155, 206, 207, 213, 216, 220, 221, 226, 229, 230, 4057 232, 249, 250, 254, 255, 256, 257, 271, 337, 349, 4058 350, 351, 352, 357, 358, 104, 101, 310, 314, 357, 4059 101, 108, 124, 103, 106, 111, 155, 265, 107, 126, 4060 108, 124, 101, 108, 124, 108, 124, 108, 124, 299, 4061 124, 306, 307, 308, 309, 319, 320, 321, 322, 216, 4062 305, 318, 57, 298, 103, 299, 336, 337, 299, 299, 4063 164, 126, 101, 299, 336, 299, 299, 216, 296, 101, 4064 101, 215, 214, 216, 104, 126, 214, 353, 358, 164, 4065 126, 259, 264, 206, 221, 310, 314, 164, 126, 281, 4066 216, 226, 124, 216, 216, 279, 38, 103, 214, 236, 4067 237, 238, 239, 353, 357, 106, 245, 261, 106, 216, 4068 281, 124, 124, 292, 126, 131, 258, 3, 127, 196, 4069 197, 211, 213, 216, 126, 298, 101, 298, 155, 306, 4070 216, 101, 126, 259, 106, 32, 33, 34, 214, 273, 4071 274, 276, 126, 121, 123, 278, 126, 217, 223, 224, 4072 259, 302, 303, 304, 140, 153, 154, 101, 140, 142, 4073 101, 140, 101, 101, 140, 140, 131, 103, 155, 160, 4074 164, 214, 262, 353, 104, 126, 142, 142, 75, 78, 4075 79, 80, 101, 103, 105, 90, 91, 92, 93, 94, 4076 95, 96, 97, 98, 99, 123, 159, 142, 111, 116, 4077 117, 113, 114, 81, 82, 83, 84, 118, 119, 85, 4078 86, 112, 120, 121, 87, 88, 122, 123, 360, 101, 4079 111, 332, 333, 334, 335, 336, 102, 108, 101, 336, 4080 337, 101, 336, 337, 126, 101, 214, 355, 104, 126, 4081 103, 111, 127, 214, 216, 348, 349, 357, 358, 127, 4082 101, 103, 111, 306, 323, 324, 325, 326, 327, 328, 4083 329, 330, 331, 337, 338, 339, 340, 341, 342, 343, 4084 111, 357, 216, 127, 127, 111, 214, 216, 350, 259, 4085 214, 337, 350, 259, 101, 126, 126, 126, 104, 126, 4086 65, 103, 105, 261, 265, 266, 267, 268, 269, 126, 4087 126, 126, 126, 126, 126, 296, 102, 102, 102, 102, 4088 102, 102, 102, 305, 318, 101, 264, 104, 196, 126, 4089 296, 160, 263, 160, 263, 296, 103, 196, 298, 164, 4090 126, 196, 102, 238, 239, 104, 126, 101, 109, 111, 4091 240, 242, 305, 306, 318, 336, 344, 345, 346, 347, 4092 107, 237, 108, 124, 108, 124, 261, 236, 108, 359, 4093 123, 246, 245, 216, 251, 252, 253, 256, 257, 102, 4094 108, 164, 126, 111, 155, 126, 213, 216, 250, 349, 4095 357, 290, 291, 101, 111, 323, 102, 108, 360, 261, 4096 273, 101, 106, 261, 263, 273, 102, 108, 101, 102, 4097 109, 262, 262, 103, 131, 137, 155, 263, 262, 104, 4098 126, 102, 108, 102, 101, 111, 344, 102, 108, 155, 4099 103, 131, 103, 136, 137, 126, 103, 131, 155, 155, 4100 142, 142, 142, 143, 143, 144, 144, 145, 145, 145, 4101 145, 146, 146, 147, 148, 149, 150, 151, 109, 160, 4102 155, 126, 333, 334, 335, 216, 332, 299, 299, 155, 4103 263, 126, 258, 111, 126, 214, 337, 350, 216, 220, 4104 104, 126, 104, 357, 104, 101, 126, 306, 324, 325, 4105 326, 329, 339, 340, 341, 104, 126, 216, 323, 327, 4106 338, 101, 299, 342, 360, 299, 299, 360, 101, 299, 4107 342, 299, 299, 299, 299, 337, 214, 348, 358, 259, 4108 104, 108, 104, 108, 360, 214, 350, 360, 247, 248, 4109 249, 250, 247, 247, 259, 155, 126, 103, 261, 109, 4110 108, 359, 265, 103, 109, 269, 28, 198, 199, 259, 4111 247, 131, 296, 131, 298, 101, 336, 337, 101, 336, 4112 337, 133, 337, 164, 251, 102, 102, 102, 102, 104, 4113 164, 196, 164, 106, 124, 124, 103, 306, 345, 346, 4114 347, 154, 216, 344, 241, 242, 241, 299, 299, 261, 4115 299, 107, 261, 107, 154, 359, 127, 127, 131, 211, 4116 127, 127, 247, 101, 111, 357, 127, 107, 216, 274, 4117 275, 127, 126, 126, 101, 127, 102, 303, 160, 161, 4118 124, 75, 190, 191, 192, 102, 102, 126, 109, 102, 4119 102, 102, 155, 216, 106, 142, 157, 155, 156, 158, 4320 4120 108, 127, 126, 126, 102, 108, 155, 126, 153, 109, 4321 251, 102, 102, 102, 331, 251, 102, 104, 103, 111, 4322 155, 155, 216, 127, 101, 101, 214, 354, 328, 251, 4323 102, 102, 102, 102, 102, 102, 102, 7, 127, 216, 4324 322, 326, 337, 126, 126, 359, 126, 126, 101, 127, 4325 127, 127, 127, 264, 104, 127, 153, 154, 155, 296, 4326 126, 265, 267, 107, 126, 200, 261, 38, 39, 41, 4327 44, 45, 46, 47, 48, 49, 50, 51, 53, 56, 4328 103, 131, 161, 162, 163, 164, 165, 166, 168, 169, 4329 181, 183, 184, 189, 201, 294, 28, 127, 123, 264, 4330 126, 126, 102, 104, 127, 127, 67, 164, 216, 102, 4331 102, 126, 104, 102, 102, 102, 343, 240, 246, 107, 4332 102, 108, 104, 104, 127, 216, 108, 359, 276, 102, 4333 272, 204, 206, 214, 284, 285, 286, 287, 278, 102, 4334 102, 101, 102, 109, 108, 155, 155, 104, 266, 108, 4335 127, 158, 104, 131, 138, 139, 155, 137, 127, 138, 4336 153, 157, 127, 101, 335, 336, 127, 214, 336, 349, 4337 126, 127, 127, 127, 155, 104, 126, 126, 102, 127, 4338 101, 335, 336, 101, 341, 101, 341, 336, 215, 104, 4339 7, 111, 127, 155, 251, 251, 250, 254, 254, 255, 4340 247, 102, 108, 108, 102, 104, 89, 115, 127, 127, 4341 138, 265, 155, 108, 124, 201, 205, 216, 220, 101, 4342 101, 162, 101, 101, 124, 131, 124, 131, 111, 131, 4343 161, 101, 164, 124, 155, 126, 109, 124, 127, 126, 4344 127, 200, 102, 155, 251, 251, 298, 336, 102, 104, 4345 101, 106, 261, 261, 127, 101, 335, 336, 126, 102, 4346 126, 127, 295, 107, 126, 127, 127, 102, 106, 154, 4347 124, 190, 192, 108, 127, 358, 156, 104, 127, 78, 4348 105, 108, 127, 127, 104, 127, 102, 126, 102, 214, 4349 349, 104, 104, 104, 127, 247, 247, 102, 126, 126, 4350 126, 155, 155, 127, 104, 127, 127, 127, 127, 102, 4351 126, 126, 154, 154, 104, 104, 127, 127, 261, 216, 4352 160, 160, 45, 160, 126, 124, 124, 160, 124, 124, 4353 160, 54, 55, 185, 186, 187, 124, 127, 298, 166, 4354 107, 124, 127, 127, 278, 236, 106, 104, 126, 89, 4355 256, 257, 102, 285, 108, 124, 108, 124, 107, 283, 4356 102, 102, 109, 158, 104, 107, 104, 103, 139, 103, 4357 139, 139, 104, 104, 104, 251, 104, 127, 127, 251, 4358 251, 251, 127, 127, 104, 104, 102, 102, 104, 108, 4359 89, 250, 89, 127, 104, 104, 102, 102, 101, 102, 4360 161, 182, 201, 124, 102, 101, 164, 187, 54, 104, 4361 162, 102, 102, 102, 107, 236, 251, 106, 126, 126, 4362 284, 124, 75, 193, 127, 109, 126, 126, 127, 102, 4363 102, 127, 127, 127, 104, 104, 126, 127, 104, 162, 4364 42, 43, 106, 172, 173, 174, 160, 162, 127, 102, 4365 161, 106, 174, 89, 126, 101, 106, 261, 107, 127, 4366 126, 259, 295, 107, 102, 108, 104, 155, 138, 138, 4367 102, 102, 102, 102, 254, 40, 154, 170, 171, 296, 4368 109, 126, 162, 172, 102, 124, 162, 124, 126, 102, 4369 126, 89, 126, 236, 106, 102, 284, 124, 75, 109, 4370 127, 127, 162, 89, 108, 109, 127, 194, 195, 201, 4371 124, 161, 161, 194, 164, 188, 214, 352, 102, 126, 4372 107, 236, 107, 155, 104, 104, 154, 170, 173, 175, 4373 176, 126, 124, 173, 177, 178, 127, 101, 111, 295, 4374 343, 131, 164, 188, 107, 101, 162, 167, 107, 173, 4121 251, 102, 102, 102, 332, 251, 102, 247, 214, 350, 4122 103, 111, 155, 155, 216, 329, 251, 102, 102, 102, 4123 102, 102, 102, 102, 7, 216, 323, 327, 338, 126, 4124 126, 360, 126, 126, 102, 127, 127, 127, 127, 264, 4125 127, 153, 154, 155, 297, 126, 265, 267, 107, 126, 4126 200, 261, 38, 39, 41, 44, 45, 46, 47, 48, 4127 49, 50, 51, 53, 56, 103, 131, 161, 162, 163, 4128 164, 165, 166, 168, 169, 181, 183, 184, 189, 201, 4129 295, 28, 127, 123, 264, 126, 126, 102, 127, 164, 4130 236, 104, 102, 102, 102, 344, 240, 246, 107, 102, 4131 108, 104, 104, 127, 216, 108, 360, 277, 102, 273, 4132 204, 206, 214, 285, 286, 287, 288, 279, 102, 102, 4133 101, 102, 109, 108, 155, 155, 266, 108, 127, 158, 4134 104, 131, 138, 139, 155, 137, 127, 138, 153, 157, 4135 127, 101, 336, 337, 127, 127, 126, 127, 127, 127, 4136 155, 102, 127, 101, 336, 337, 101, 342, 101, 342, 4137 337, 215, 7, 111, 127, 155, 251, 251, 250, 254, 4138 254, 255, 108, 108, 102, 102, 104, 89, 115, 127, 4139 127, 138, 265, 155, 108, 124, 201, 205, 216, 220, 4140 101, 101, 162, 101, 101, 124, 131, 124, 131, 111, 4141 131, 161, 101, 164, 124, 155, 104, 109, 124, 127, 4142 126, 127, 200, 102, 155, 251, 251, 299, 102, 107, 4143 101, 336, 337, 126, 102, 126, 127, 296, 107, 126, 4144 127, 127, 102, 106, 154, 124, 190, 192, 108, 127, 4145 359, 156, 104, 127, 78, 105, 108, 127, 127, 104, 4146 127, 102, 126, 102, 102, 104, 104, 104, 127, 102, 4147 126, 126, 126, 155, 155, 127, 104, 127, 127, 127, 4148 127, 126, 126, 154, 154, 104, 104, 127, 127, 261, 4149 216, 160, 160, 45, 160, 126, 124, 124, 160, 124, 4150 124, 160, 54, 55, 185, 186, 187, 124, 299, 166, 4151 107, 124, 127, 127, 126, 89, 256, 257, 102, 286, 4152 108, 124, 108, 124, 107, 284, 102, 102, 109, 158, 4153 104, 107, 104, 103, 139, 103, 139, 139, 104, 104, 4154 104, 251, 104, 251, 251, 251, 127, 127, 104, 104, 4155 102, 102, 104, 108, 89, 250, 89, 127, 104, 104, 4156 102, 102, 101, 102, 161, 182, 201, 124, 102, 101, 4157 164, 187, 54, 162, 102, 102, 251, 106, 126, 126, 4158 285, 124, 75, 193, 127, 109, 126, 126, 127, 127, 4159 127, 127, 104, 104, 126, 127, 104, 162, 42, 43, 4160 106, 172, 173, 174, 160, 162, 127, 102, 161, 106, 4161 174, 89, 126, 101, 127, 126, 259, 296, 107, 102, 4162 108, 104, 155, 138, 138, 102, 102, 102, 102, 254, 4163 40, 154, 170, 171, 297, 109, 126, 162, 172, 102, 4164 124, 162, 124, 126, 102, 126, 89, 126, 102, 285, 4165 124, 75, 109, 127, 127, 162, 89, 108, 109, 127, 4166 194, 195, 201, 124, 161, 161, 194, 164, 188, 214, 4167 353, 102, 126, 107, 155, 104, 104, 154, 170, 173, 4168 175, 176, 126, 124, 173, 177, 178, 127, 101, 111, 4169 296, 344, 131, 164, 188, 101, 162, 167, 107, 173, 4375 4170 201, 161, 52, 167, 180, 107, 173, 102, 216, 127, 4376 27 8, 162, 167, 124, 179, 180, 167, 180, 164, 102,4171 279, 162, 167, 124, 179, 180, 167, 180, 164, 102, 4377 4172 102, 179, 127, 164, 127 4378 4173 }; … … 6488 6283 #line 1024 "parser.yy" 6489 6284 { 6490 typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) ); 6491 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true ); 6285 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 6492 6286 } 6493 6287 break; … … 6496 6290 6497 6291 /* Line 1806 of yacc.c */ 6498 #line 1029 "parser.yy" 6499 { 6500 typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) ); 6501 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true ); 6502 } 6503 break; 6504 6505 case 251: 6506 6507 /* Line 1806 of yacc.c */ 6508 #line 1042 "parser.yy" 6292 #line 1047 "parser.yy" 6509 6293 { 6510 6294 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6512 6296 break; 6513 6297 6514 case 25 2:6515 6516 /* Line 1806 of yacc.c */ 6517 #line 10 46"parser.yy"6298 case 251: 6299 6300 /* Line 1806 of yacc.c */ 6301 #line 1051 "parser.yy" 6518 6302 { 6519 6303 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6521 6305 break; 6522 6306 6307 case 252: 6308 6309 /* Line 1806 of yacc.c */ 6310 #line 1058 "parser.yy" 6311 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6312 break; 6313 6523 6314 case 253: 6524 6315 6525 6316 /* Line 1806 of yacc.c */ 6526 #line 10 53"parser.yy"6527 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - ( 5)].decl) ); }6317 #line 1062 "parser.yy" 6318 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6528 6319 break; 6529 6320 6530 6321 case 254: 6531 6532 /* Line 1806 of yacc.c */6533 #line 1057 "parser.yy"6534 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }6535 break;6536 6537 case 255:6538 6539 /* Line 1806 of yacc.c */6540 #line 1062 "parser.yy"6541 {6542 typedefTable.addToEnclosingScope( TypedefTable::TD );6543 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef();6544 }6545 break;6546 6547 case 256:6548 6322 6549 6323 /* Line 1806 of yacc.c */ … … 6555 6329 break; 6556 6330 6557 case 25 7:6331 case 255: 6558 6332 6559 6333 /* Line 1806 of yacc.c */ 6560 6334 #line 1072 "parser.yy" 6335 { 6336 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6337 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 6338 } 6339 break; 6340 6341 case 256: 6342 6343 /* Line 1806 of yacc.c */ 6344 #line 1077 "parser.yy" 6561 6345 { 6562 6346 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6565 6349 break; 6566 6350 6567 case 25 8:6568 6569 /* Line 1806 of yacc.c */ 6570 #line 108 3"parser.yy"6351 case 257: 6352 6353 /* Line 1806 of yacc.c */ 6354 #line 1088 "parser.yy" 6571 6355 { 6572 6356 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6575 6359 break; 6576 6360 6577 case 25 9:6578 6579 /* Line 1806 of yacc.c */ 6580 #line 10 88"parser.yy"6361 case 258: 6362 6363 /* Line 1806 of yacc.c */ 6364 #line 1093 "parser.yy" 6581 6365 { 6582 6366 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6585 6369 break; 6586 6370 6587 case 2 60:6588 6589 /* Line 1806 of yacc.c */ 6590 #line 109 3"parser.yy"6371 case 259: 6372 6373 /* Line 1806 of yacc.c */ 6374 #line 1098 "parser.yy" 6591 6375 { 6592 6376 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6595 6379 break; 6596 6380 6597 case 26 1:6598 6599 /* Line 1806 of yacc.c */ 6600 #line 1 098"parser.yy"6381 case 260: 6382 6383 /* Line 1806 of yacc.c */ 6384 #line 1103 "parser.yy" 6601 6385 { 6602 6386 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6605 6389 break; 6606 6390 6607 case 26 2:6608 6609 /* Line 1806 of yacc.c */ 6610 #line 110 3"parser.yy"6391 case 261: 6392 6393 /* Line 1806 of yacc.c */ 6394 #line 1108 "parser.yy" 6611 6395 { 6612 6396 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6615 6399 break; 6616 6400 6617 case 26 3:6618 6619 /* Line 1806 of yacc.c */ 6620 #line 111 1"parser.yy"6401 case 262: 6402 6403 /* Line 1806 of yacc.c */ 6404 #line 1117 "parser.yy" 6621 6405 { 6622 6406 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6625 6409 break; 6626 6410 6627 case 26 4:6628 6629 /* Line 1806 of yacc.c */ 6630 #line 11 16"parser.yy"6411 case 263: 6412 6413 /* Line 1806 of yacc.c */ 6414 #line 1122 "parser.yy" 6631 6415 { 6632 6416 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6635 6419 break; 6636 6420 6637 case 26 9:6638 6639 /* Line 1806 of yacc.c */ 6640 #line 113 3"parser.yy"6421 case 268: 6422 6423 /* Line 1806 of yacc.c */ 6424 #line 1139 "parser.yy" 6641 6425 { 6642 6426 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6645 6429 break; 6646 6430 6647 case 2 70:6648 6649 /* Line 1806 of yacc.c */ 6650 #line 11 38"parser.yy"6431 case 269: 6432 6433 /* Line 1806 of yacc.c */ 6434 #line 1144 "parser.yy" 6651 6435 { 6652 6436 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6655 6439 break; 6656 6440 6657 case 27 9:6658 6659 /* Line 1806 of yacc.c */ 6660 #line 116 0"parser.yy"6441 case 278: 6442 6443 /* Line 1806 of yacc.c */ 6444 #line 1166 "parser.yy" 6661 6445 { (yyval.decl) = 0; } 6662 6446 break; 6663 6447 6664 case 28 2:6665 6666 /* Line 1806 of yacc.c */ 6667 #line 117 2"parser.yy"6448 case 281: 6449 6450 /* Line 1806 of yacc.c */ 6451 #line 1178 "parser.yy" 6668 6452 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6669 6453 break; 6670 6454 6455 case 283: 6456 6457 /* Line 1806 of yacc.c */ 6458 #line 1184 "parser.yy" 6459 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 6460 break; 6461 6671 6462 case 284: 6672 6463 6673 6464 /* Line 1806 of yacc.c */ 6674 #line 11 78"parser.yy"6675 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Attribute); }6465 #line 1189 "parser.yy" 6466 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6676 6467 break; 6677 6468 … … 6679 6470 6680 6471 /* Line 1806 of yacc.c */ 6681 #line 11 83"parser.yy"6682 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Const ); }6472 #line 1191 "parser.yy" 6473 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6683 6474 break; 6684 6475 … … 6686 6477 6687 6478 /* Line 1806 of yacc.c */ 6688 #line 11 85"parser.yy"6689 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Restrict); }6479 #line 1193 "parser.yy" 6480 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6690 6481 break; 6691 6482 … … 6693 6484 6694 6485 /* Line 1806 of yacc.c */ 6695 #line 11 87"parser.yy"6696 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Volatile ); }6486 #line 1195 "parser.yy" 6487 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6697 6488 break; 6698 6489 … … 6700 6491 6701 6492 /* Line 1806 of yacc.c */ 6702 #line 11 89"parser.yy"6703 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Lvalue); }6493 #line 1197 "parser.yy" 6494 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6704 6495 break; 6705 6496 … … 6707 6498 6708 6499 /* Line 1806 of yacc.c */ 6709 #line 1191 "parser.yy" 6710 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6711 break; 6712 6713 case 290: 6714 6715 /* Line 1806 of yacc.c */ 6716 #line 1193 "parser.yy" 6500 #line 1199 "parser.yy" 6717 6501 { 6718 6502 typedefTable.enterScope(); … … 6720 6504 break; 6721 6505 6722 case 29 1:6723 6724 /* Line 1806 of yacc.c */ 6725 #line 1 197"parser.yy"6506 case 290: 6507 6508 /* Line 1806 of yacc.c */ 6509 #line 1203 "parser.yy" 6726 6510 { 6727 6511 typedefTable.leaveScope(); … … 6730 6514 break; 6731 6515 6516 case 292: 6517 6518 /* Line 1806 of yacc.c */ 6519 #line 1212 "parser.yy" 6520 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6521 break; 6522 6732 6523 case 293: 6733 6524 6734 6525 /* Line 1806 of yacc.c */ 6735 #line 1206 "parser.yy" 6526 #line 1214 "parser.yy" 6527 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6528 break; 6529 6530 case 295: 6531 6532 /* Line 1806 of yacc.c */ 6533 #line 1225 "parser.yy" 6736 6534 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6737 6535 break; 6738 6536 6739 case 294: 6740 6741 /* Line 1806 of yacc.c */ 6742 #line 1208 "parser.yy" 6537 case 297: 6538 6539 /* Line 1806 of yacc.c */ 6540 #line 1234 "parser.yy" 6541 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6542 break; 6543 6544 case 298: 6545 6546 /* Line 1806 of yacc.c */ 6547 #line 1236 "parser.yy" 6548 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6549 break; 6550 6551 case 299: 6552 6553 /* Line 1806 of yacc.c */ 6554 #line 1238 "parser.yy" 6555 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6556 break; 6557 6558 case 300: 6559 6560 /* Line 1806 of yacc.c */ 6561 #line 1240 "parser.yy" 6562 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6563 break; 6564 6565 case 301: 6566 6567 /* Line 1806 of yacc.c */ 6568 #line 1242 "parser.yy" 6569 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6570 break; 6571 6572 case 302: 6573 6574 /* Line 1806 of yacc.c */ 6575 #line 1244 "parser.yy" 6576 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6577 break; 6578 6579 case 303: 6580 6581 /* Line 1806 of yacc.c */ 6582 #line 1246 "parser.yy" 6583 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6584 break; 6585 6586 case 304: 6587 6588 /* Line 1806 of yacc.c */ 6589 #line 1248 "parser.yy" 6590 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6591 break; 6592 6593 case 305: 6594 6595 /* Line 1806 of yacc.c */ 6596 #line 1253 "parser.yy" 6597 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6598 break; 6599 6600 case 306: 6601 6602 /* Line 1806 of yacc.c */ 6603 #line 1255 "parser.yy" 6604 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6605 break; 6606 6607 case 307: 6608 6609 /* Line 1806 of yacc.c */ 6610 #line 1257 "parser.yy" 6611 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6612 break; 6613 6614 case 308: 6615 6616 /* Line 1806 of yacc.c */ 6617 #line 1259 "parser.yy" 6618 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6619 break; 6620 6621 case 309: 6622 6623 /* Line 1806 of yacc.c */ 6624 #line 1261 "parser.yy" 6625 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6626 break; 6627 6628 case 310: 6629 6630 /* Line 1806 of yacc.c */ 6631 #line 1263 "parser.yy" 6632 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6633 break; 6634 6635 case 311: 6636 6637 /* Line 1806 of yacc.c */ 6638 #line 1265 "parser.yy" 6639 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6640 break; 6641 6642 case 312: 6643 6644 /* Line 1806 of yacc.c */ 6645 #line 1267 "parser.yy" 6646 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6647 break; 6648 6649 case 313: 6650 6651 /* Line 1806 of yacc.c */ 6652 #line 1269 "parser.yy" 6653 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6654 break; 6655 6656 case 314: 6657 6658 /* Line 1806 of yacc.c */ 6659 #line 1271 "parser.yy" 6660 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6661 break; 6662 6663 case 315: 6664 6665 /* Line 1806 of yacc.c */ 6666 #line 1273 "parser.yy" 6667 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6668 break; 6669 6670 case 316: 6671 6672 /* Line 1806 of yacc.c */ 6673 #line 1275 "parser.yy" 6674 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6675 break; 6676 6677 case 318: 6678 6679 /* Line 1806 of yacc.c */ 6680 #line 1282 "parser.yy" 6681 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6682 break; 6683 6684 case 319: 6685 6686 /* Line 1806 of yacc.c */ 6687 #line 1284 "parser.yy" 6688 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6689 break; 6690 6691 case 320: 6692 6693 /* Line 1806 of yacc.c */ 6694 #line 1286 "parser.yy" 6743 6695 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6744 6696 break; 6745 6697 6746 case 296: 6747 6748 /* Line 1806 of yacc.c */ 6749 #line 1219 "parser.yy" 6698 case 321: 6699 6700 /* Line 1806 of yacc.c */ 6701 #line 1288 "parser.yy" 6702 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6703 break; 6704 6705 case 323: 6706 6707 /* Line 1806 of yacc.c */ 6708 #line 1294 "parser.yy" 6709 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6710 break; 6711 6712 case 325: 6713 6714 /* Line 1806 of yacc.c */ 6715 #line 1301 "parser.yy" 6716 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6717 break; 6718 6719 case 326: 6720 6721 /* Line 1806 of yacc.c */ 6722 #line 1303 "parser.yy" 6750 6723 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6751 6724 break; 6752 6725 6753 case 298: 6754 6755 /* Line 1806 of yacc.c */ 6756 #line 1228 "parser.yy" 6757 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6758 break; 6759 6760 case 299: 6761 6762 /* Line 1806 of yacc.c */ 6763 #line 1230 "parser.yy" 6764 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6765 break; 6766 6767 case 300: 6768 6769 /* Line 1806 of yacc.c */ 6770 #line 1232 "parser.yy" 6771 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6772 break; 6773 6774 case 301: 6775 6776 /* Line 1806 of yacc.c */ 6777 #line 1234 "parser.yy" 6778 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6779 break; 6780 6781 case 302: 6782 6783 /* Line 1806 of yacc.c */ 6784 #line 1236 "parser.yy" 6785 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6786 break; 6787 6788 case 303: 6789 6790 /* Line 1806 of yacc.c */ 6791 #line 1238 "parser.yy" 6792 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6793 break; 6794 6795 case 304: 6796 6797 /* Line 1806 of yacc.c */ 6798 #line 1240 "parser.yy" 6799 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6800 break; 6801 6802 case 305: 6803 6804 /* Line 1806 of yacc.c */ 6805 #line 1242 "parser.yy" 6806 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6807 break; 6808 6809 case 306: 6810 6811 /* Line 1806 of yacc.c */ 6812 #line 1247 "parser.yy" 6813 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6814 break; 6815 6816 case 307: 6817 6818 /* Line 1806 of yacc.c */ 6819 #line 1249 "parser.yy" 6820 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6821 break; 6822 6823 case 308: 6824 6825 /* Line 1806 of yacc.c */ 6826 #line 1251 "parser.yy" 6827 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6828 break; 6829 6830 case 309: 6831 6832 /* Line 1806 of yacc.c */ 6833 #line 1253 "parser.yy" 6834 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6835 break; 6836 6837 case 310: 6838 6839 /* Line 1806 of yacc.c */ 6840 #line 1255 "parser.yy" 6841 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6842 break; 6843 6844 case 311: 6845 6846 /* Line 1806 of yacc.c */ 6847 #line 1257 "parser.yy" 6848 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6849 break; 6850 6851 case 312: 6852 6853 /* Line 1806 of yacc.c */ 6854 #line 1259 "parser.yy" 6855 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6856 break; 6857 6858 case 313: 6859 6860 /* Line 1806 of yacc.c */ 6861 #line 1261 "parser.yy" 6862 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6863 break; 6864 6865 case 314: 6866 6867 /* Line 1806 of yacc.c */ 6868 #line 1263 "parser.yy" 6869 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6870 break; 6871 6872 case 315: 6873 6874 /* Line 1806 of yacc.c */ 6875 #line 1265 "parser.yy" 6876 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6877 break; 6878 6879 case 316: 6880 6881 /* Line 1806 of yacc.c */ 6882 #line 1267 "parser.yy" 6883 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6884 break; 6885 6886 case 317: 6887 6888 /* Line 1806 of yacc.c */ 6889 #line 1269 "parser.yy" 6890 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6891 break; 6892 6893 case 319: 6894 6895 /* Line 1806 of yacc.c */ 6896 #line 1276 "parser.yy" 6726 case 327: 6727 6728 /* Line 1806 of yacc.c */ 6729 #line 1305 "parser.yy" 6730 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6731 break; 6732 6733 case 328: 6734 6735 /* Line 1806 of yacc.c */ 6736 #line 1310 "parser.yy" 6737 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6738 break; 6739 6740 case 329: 6741 6742 /* Line 1806 of yacc.c */ 6743 #line 1312 "parser.yy" 6744 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6745 break; 6746 6747 case 330: 6748 6749 /* Line 1806 of yacc.c */ 6750 #line 1314 "parser.yy" 6751 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6752 break; 6753 6754 case 331: 6755 6756 /* Line 1806 of yacc.c */ 6757 #line 1316 "parser.yy" 6758 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6759 break; 6760 6761 case 333: 6762 6763 /* Line 1806 of yacc.c */ 6764 #line 1322 "parser.yy" 6897 6765 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6898 6766 break; 6899 6767 6900 case 3 20:6901 6902 /* Line 1806 of yacc.c */ 6903 #line 1 278"parser.yy"6768 case 334: 6769 6770 /* Line 1806 of yacc.c */ 6771 #line 1324 "parser.yy" 6904 6772 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6905 6773 break; 6906 6774 6907 case 3 21:6908 6909 /* Line 1806 of yacc.c */ 6910 #line 1 280"parser.yy"6775 case 335: 6776 6777 /* Line 1806 of yacc.c */ 6778 #line 1326 "parser.yy" 6911 6779 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6912 6780 break; 6913 6781 6914 case 322: 6915 6916 /* Line 1806 of yacc.c */ 6917 #line 1282 "parser.yy" 6918 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6919 break; 6920 6921 case 324: 6922 6923 /* Line 1806 of yacc.c */ 6924 #line 1288 "parser.yy" 6925 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6926 break; 6927 6928 case 326: 6929 6930 /* Line 1806 of yacc.c */ 6931 #line 1295 "parser.yy" 6782 case 337: 6783 6784 /* Line 1806 of yacc.c */ 6785 #line 1332 "parser.yy" 6932 6786 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6933 6787 break; 6934 6788 6935 case 3 27:6936 6937 /* Line 1806 of yacc.c */ 6938 #line 1 297"parser.yy"6789 case 338: 6790 6791 /* Line 1806 of yacc.c */ 6792 #line 1334 "parser.yy" 6939 6793 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6940 6794 break; 6941 6795 6942 case 328: 6943 6944 /* Line 1806 of yacc.c */ 6945 #line 1299 "parser.yy" 6946 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6947 break; 6948 6949 case 329: 6950 6951 /* Line 1806 of yacc.c */ 6952 #line 1304 "parser.yy" 6953 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6954 break; 6955 6956 case 330: 6957 6958 /* Line 1806 of yacc.c */ 6959 #line 1306 "parser.yy" 6960 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6961 break; 6962 6963 case 331: 6964 6965 /* Line 1806 of yacc.c */ 6966 #line 1308 "parser.yy" 6967 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6968 break; 6969 6970 case 332: 6971 6972 /* Line 1806 of yacc.c */ 6973 #line 1310 "parser.yy" 6974 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6975 break; 6976 6977 case 334: 6978 6979 /* Line 1806 of yacc.c */ 6980 #line 1316 "parser.yy" 6796 case 340: 6797 6798 /* Line 1806 of yacc.c */ 6799 #line 1340 "parser.yy" 6981 6800 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6982 6801 break; 6983 6802 6984 case 3 35:6985 6986 /* Line 1806 of yacc.c */ 6987 #line 13 18"parser.yy"6803 case 341: 6804 6805 /* Line 1806 of yacc.c */ 6806 #line 1342 "parser.yy" 6988 6807 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6989 6808 break; 6990 6809 6991 case 3 36:6992 6993 /* Line 1806 of yacc.c */ 6994 #line 13 20"parser.yy"6810 case 342: 6811 6812 /* Line 1806 of yacc.c */ 6813 #line 1344 "parser.yy" 6995 6814 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6996 6815 break; 6997 6816 6998 case 338: 6999 7000 /* Line 1806 of yacc.c */ 7001 #line 1326 "parser.yy" 6817 case 343: 6818 6819 /* Line 1806 of yacc.c */ 6820 #line 1349 "parser.yy" 6821 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6822 break; 6823 6824 case 344: 6825 6826 /* Line 1806 of yacc.c */ 6827 #line 1351 "parser.yy" 6828 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6829 break; 6830 6831 case 345: 6832 6833 /* Line 1806 of yacc.c */ 6834 #line 1353 "parser.yy" 6835 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6836 break; 6837 6838 case 348: 6839 6840 /* Line 1806 of yacc.c */ 6841 #line 1363 "parser.yy" 6842 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); } 6843 break; 6844 6845 case 349: 6846 6847 /* Line 1806 of yacc.c */ 6848 #line 1365 "parser.yy" 6849 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); } 6850 break; 6851 6852 case 350: 6853 6854 /* Line 1806 of yacc.c */ 6855 #line 1367 "parser.yy" 6856 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); } 6857 break; 6858 6859 case 351: 6860 6861 /* Line 1806 of yacc.c */ 6862 #line 1369 "parser.yy" 6863 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); } 6864 break; 6865 6866 case 352: 6867 6868 /* Line 1806 of yacc.c */ 6869 #line 1371 "parser.yy" 6870 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6871 break; 6872 6873 case 353: 6874 6875 /* Line 1806 of yacc.c */ 6876 #line 1376 "parser.yy" 6877 { (yyval.aggKey) = DeclarationNode::Struct; } 6878 break; 6879 6880 case 354: 6881 6882 /* Line 1806 of yacc.c */ 6883 #line 1378 "parser.yy" 6884 { (yyval.aggKey) = DeclarationNode::Union; } 6885 break; 6886 6887 case 355: 6888 6889 /* Line 1806 of yacc.c */ 6890 #line 1383 "parser.yy" 6891 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 6892 break; 6893 6894 case 356: 6895 6896 /* Line 1806 of yacc.c */ 6897 #line 1385 "parser.yy" 6898 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 6899 break; 6900 6901 case 358: 6902 6903 /* Line 1806 of yacc.c */ 6904 #line 1391 "parser.yy" 6905 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6906 break; 6907 6908 case 360: 6909 6910 /* Line 1806 of yacc.c */ 6911 #line 1394 "parser.yy" 6912 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6913 break; 6914 6915 case 362: 6916 6917 /* Line 1806 of yacc.c */ 6918 #line 1400 "parser.yy" 6919 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6920 break; 6921 6922 case 363: 6923 6924 /* Line 1806 of yacc.c */ 6925 #line 1402 "parser.yy" 6926 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6927 break; 6928 6929 case 364: 6930 6931 /* Line 1806 of yacc.c */ 6932 #line 1404 "parser.yy" 6933 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6934 break; 6935 6936 case 365: 6937 6938 /* Line 1806 of yacc.c */ 6939 #line 1409 "parser.yy" 6940 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6941 break; 6942 6943 case 366: 6944 6945 /* Line 1806 of yacc.c */ 6946 #line 1411 "parser.yy" 6947 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6948 break; 6949 6950 case 367: 6951 6952 /* Line 1806 of yacc.c */ 6953 #line 1416 "parser.yy" 6954 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6955 break; 6956 6957 case 368: 6958 6959 /* Line 1806 of yacc.c */ 6960 #line 1418 "parser.yy" 6961 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6962 break; 6963 6964 case 369: 6965 6966 /* Line 1806 of yacc.c */ 6967 #line 1421 "parser.yy" 6968 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6969 break; 6970 6971 case 370: 6972 6973 /* Line 1806 of yacc.c */ 6974 #line 1424 "parser.yy" 6975 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6976 break; 6977 6978 case 372: 6979 6980 /* Line 1806 of yacc.c */ 6981 #line 1430 "parser.yy" 6982 { (yyval.en) = 0; } 6983 break; 6984 6985 case 373: 6986 6987 /* Line 1806 of yacc.c */ 6988 #line 1432 "parser.yy" 6989 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6990 break; 6991 6992 case 374: 6993 6994 /* Line 1806 of yacc.c */ 6995 #line 1437 "parser.yy" 6996 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6997 break; 6998 6999 case 376: 7000 7001 /* Line 1806 of yacc.c */ 7002 #line 1446 "parser.yy" 7003 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7004 break; 7005 7006 case 377: 7007 7008 /* Line 1806 of yacc.c */ 7009 #line 1448 "parser.yy" 7010 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7011 break; 7012 7013 case 378: 7014 7015 /* Line 1806 of yacc.c */ 7016 #line 1450 "parser.yy" 7017 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7018 break; 7019 7020 case 379: 7021 7022 /* Line 1806 of yacc.c */ 7023 #line 1455 "parser.yy" 7024 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7025 break; 7026 7027 case 380: 7028 7029 /* Line 1806 of yacc.c */ 7030 #line 1457 "parser.yy" 7031 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7032 break; 7033 7034 case 381: 7035 7036 /* Line 1806 of yacc.c */ 7037 #line 1462 "parser.yy" 7038 { (yyval.en) = 0; } 7039 break; 7040 7041 case 382: 7042 7043 /* Line 1806 of yacc.c */ 7044 #line 1464 "parser.yy" 7045 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7046 break; 7047 7048 case 383: 7049 7050 /* Line 1806 of yacc.c */ 7051 #line 1471 "parser.yy" 7052 { (yyval.decl) = 0; } 7053 break; 7054 7055 case 387: 7056 7057 /* Line 1806 of yacc.c */ 7058 #line 1479 "parser.yy" 7059 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7060 break; 7061 7062 case 388: 7063 7064 /* Line 1806 of yacc.c */ 7065 #line 1481 "parser.yy" 7066 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7067 break; 7068 7069 case 389: 7070 7071 /* Line 1806 of yacc.c */ 7072 #line 1483 "parser.yy" 7073 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7074 break; 7075 7076 case 391: 7077 7078 /* Line 1806 of yacc.c */ 7079 #line 1491 "parser.yy" 7080 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7081 break; 7082 7083 case 392: 7084 7085 /* Line 1806 of yacc.c */ 7086 #line 1493 "parser.yy" 7087 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7088 break; 7089 7090 case 393: 7091 7092 /* Line 1806 of yacc.c */ 7093 #line 1495 "parser.yy" 7094 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7095 break; 7096 7097 case 395: 7098 7099 /* Line 1806 of yacc.c */ 7100 #line 1501 "parser.yy" 7101 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7102 break; 7103 7104 case 396: 7105 7106 /* Line 1806 of yacc.c */ 7107 #line 1506 "parser.yy" 7108 { (yyval.decl) = 0; } 7109 break; 7110 7111 case 399: 7112 7113 /* Line 1806 of yacc.c */ 7114 #line 1513 "parser.yy" 7115 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7116 break; 7117 7118 case 402: 7119 7120 /* Line 1806 of yacc.c */ 7121 #line 1520 "parser.yy" 7122 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7123 break; 7124 7125 case 403: 7126 7127 /* Line 1806 of yacc.c */ 7128 #line 1522 "parser.yy" 7129 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7130 break; 7131 7132 case 405: 7133 7134 /* Line 1806 of yacc.c */ 7135 #line 1531 "parser.yy" 7136 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7137 break; 7138 7139 case 406: 7140 7141 /* Line 1806 of yacc.c */ 7142 #line 1534 "parser.yy" 7143 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7144 break; 7145 7146 case 407: 7147 7148 /* Line 1806 of yacc.c */ 7149 #line 1536 "parser.yy" 7150 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7151 break; 7152 7153 case 412: 7154 7155 /* Line 1806 of yacc.c */ 7156 #line 1546 "parser.yy" 7002 7157 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7003 7158 break; 7004 7159 7005 case 339: 7006 7007 /* Line 1806 of yacc.c */ 7008 #line 1328 "parser.yy" 7009 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7010 break; 7011 7012 case 341: 7013 7014 /* Line 1806 of yacc.c */ 7015 #line 1334 "parser.yy" 7016 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7017 break; 7018 7019 case 342: 7020 7021 /* Line 1806 of yacc.c */ 7022 #line 1336 "parser.yy" 7023 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7024 break; 7025 7026 case 343: 7027 7028 /* Line 1806 of yacc.c */ 7029 #line 1338 "parser.yy" 7030 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7031 break; 7032 7033 case 344: 7034 7035 /* Line 1806 of yacc.c */ 7036 #line 1343 "parser.yy" 7037 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7038 break; 7039 7040 case 345: 7041 7042 /* Line 1806 of yacc.c */ 7043 #line 1345 "parser.yy" 7044 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7045 break; 7046 7047 case 346: 7048 7049 /* Line 1806 of yacc.c */ 7050 #line 1347 "parser.yy" 7051 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7052 break; 7053 7054 case 349: 7055 7056 /* Line 1806 of yacc.c */ 7057 #line 1357 "parser.yy" 7058 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, 0, (yyvsp[(3) - (4)].decl) ); } 7059 break; 7060 7061 case 350: 7062 7063 /* Line 1806 of yacc.c */ 7064 #line 1359 "parser.yy" 7065 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, 0 ); } 7066 break; 7067 7068 case 351: 7069 7070 /* Line 1806 of yacc.c */ 7071 #line 1361 "parser.yy" 7072 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, 0, (yyvsp[(4) - (5)].decl) ); } 7073 break; 7074 7075 case 352: 7076 7077 /* Line 1806 of yacc.c */ 7078 #line 1363 "parser.yy" 7079 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (9)].aggKey), 0, (yyvsp[(4) - (9)].decl), 0, (yyvsp[(8) - (9)].decl) ); } 7080 break; 7081 7082 case 353: 7083 7084 /* Line 1806 of yacc.c */ 7085 #line 1365 "parser.yy" 7086 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), (yyvsp[(4) - (7)].decl), 0, 0 ); } 7087 break; 7088 7089 case 354: 7090 7091 /* Line 1806 of yacc.c */ 7092 #line 1367 "parser.yy" 7093 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (10)].aggKey), (yyvsp[(7) - (10)].tok), (yyvsp[(4) - (10)].decl), 0, (yyvsp[(9) - (10)].decl) ); } 7094 break; 7095 7096 case 355: 7097 7098 /* Line 1806 of yacc.c */ 7099 #line 1369 "parser.yy" 7100 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (12)].aggKey), 0, (yyvsp[(4) - (12)].decl), (yyvsp[(8) - (12)].en), (yyvsp[(11) - (12)].decl) ); } 7101 break; 7102 7103 case 356: 7104 7105 /* Line 1806 of yacc.c */ 7106 #line 1371 "parser.yy" 7107 {} 7108 break; 7109 7110 case 357: 7111 7112 /* Line 1806 of yacc.c */ 7113 #line 1374 "parser.yy" 7114 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), 0, (yyvsp[(4) - (7)].en), 0 ); } 7115 break; 7116 7117 case 358: 7118 7119 /* Line 1806 of yacc.c */ 7120 #line 1376 "parser.yy" 7121 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (13)].aggKey), (yyvsp[(10) - (13)].tok), (yyvsp[(4) - (13)].decl), (yyvsp[(8) - (13)].en), (yyvsp[(12) - (13)].decl) ); } 7122 break; 7123 7124 case 359: 7125 7126 /* Line 1806 of yacc.c */ 7127 #line 1381 "parser.yy" 7128 { (yyval.aggKey) = DeclarationNode::Struct; } 7129 break; 7130 7131 case 360: 7132 7133 /* Line 1806 of yacc.c */ 7134 #line 1383 "parser.yy" 7135 { (yyval.aggKey) = DeclarationNode::Union; } 7136 break; 7137 7138 case 361: 7139 7140 /* Line 1806 of yacc.c */ 7141 #line 1388 "parser.yy" 7142 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7143 break; 7144 7145 case 362: 7146 7147 /* Line 1806 of yacc.c */ 7148 #line 1390 "parser.yy" 7149 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7150 break; 7151 7152 case 364: 7153 7154 /* Line 1806 of yacc.c */ 7155 #line 1396 "parser.yy" 7156 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7157 break; 7158 7159 case 366: 7160 7161 /* Line 1806 of yacc.c */ 7162 #line 1399 "parser.yy" 7163 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7164 break; 7165 7166 case 368: 7167 7168 /* Line 1806 of yacc.c */ 7169 #line 1405 "parser.yy" 7170 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7171 break; 7172 7173 case 369: 7174 7175 /* Line 1806 of yacc.c */ 7176 #line 1407 "parser.yy" 7177 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7178 break; 7179 7180 case 370: 7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1409 "parser.yy" 7184 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7185 break; 7186 7187 case 371: 7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1414 "parser.yy" 7191 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7192 break; 7193 7194 case 372: 7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1416 "parser.yy" 7198 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7199 break; 7200 7201 case 373: 7202 7203 /* Line 1806 of yacc.c */ 7204 #line 1421 "parser.yy" 7205 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7206 break; 7207 7208 case 374: 7209 7210 /* Line 1806 of yacc.c */ 7211 #line 1423 "parser.yy" 7212 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7213 break; 7214 7215 case 375: 7216 7217 /* Line 1806 of yacc.c */ 7218 #line 1426 "parser.yy" 7219 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7220 break; 7221 7222 case 376: 7223 7224 /* Line 1806 of yacc.c */ 7225 #line 1429 "parser.yy" 7226 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7227 break; 7228 7229 case 378: 7230 7231 /* Line 1806 of yacc.c */ 7232 #line 1435 "parser.yy" 7233 { (yyval.en) = 0; } 7234 break; 7235 7236 case 379: 7237 7238 /* Line 1806 of yacc.c */ 7239 #line 1437 "parser.yy" 7240 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7241 break; 7242 7243 case 380: 7244 7245 /* Line 1806 of yacc.c */ 7246 #line 1442 "parser.yy" 7247 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7248 break; 7249 7250 case 382: 7251 7252 /* Line 1806 of yacc.c */ 7253 #line 1451 "parser.yy" 7254 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7255 break; 7256 7257 case 383: 7258 7259 /* Line 1806 of yacc.c */ 7260 #line 1453 "parser.yy" 7261 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7262 break; 7263 7264 case 384: 7265 7266 /* Line 1806 of yacc.c */ 7267 #line 1455 "parser.yy" 7268 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7269 break; 7270 7271 case 385: 7272 7273 /* Line 1806 of yacc.c */ 7274 #line 1460 "parser.yy" 7275 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7276 break; 7277 7278 case 386: 7279 7280 /* Line 1806 of yacc.c */ 7281 #line 1462 "parser.yy" 7282 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7283 break; 7284 7285 case 387: 7286 7287 /* Line 1806 of yacc.c */ 7288 #line 1467 "parser.yy" 7289 { (yyval.en) = 0; } 7290 break; 7291 7292 case 388: 7293 7294 /* Line 1806 of yacc.c */ 7295 #line 1469 "parser.yy" 7296 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7297 break; 7298 7299 case 389: 7300 7301 /* Line 1806 of yacc.c */ 7302 #line 1476 "parser.yy" 7303 { (yyval.decl) = 0; } 7304 break; 7305 7306 case 393: 7307 7308 /* Line 1806 of yacc.c */ 7309 #line 1484 "parser.yy" 7310 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7311 break; 7312 7313 case 394: 7314 7315 /* Line 1806 of yacc.c */ 7316 #line 1486 "parser.yy" 7317 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7318 break; 7319 7320 case 395: 7321 7322 /* Line 1806 of yacc.c */ 7323 #line 1488 "parser.yy" 7324 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7325 break; 7326 7327 case 397: 7328 7329 /* Line 1806 of yacc.c */ 7330 #line 1496 "parser.yy" 7331 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7332 break; 7333 7334 case 398: 7335 7336 /* Line 1806 of yacc.c */ 7337 #line 1498 "parser.yy" 7338 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7339 break; 7340 7341 case 399: 7342 7343 /* Line 1806 of yacc.c */ 7344 #line 1500 "parser.yy" 7345 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7346 break; 7347 7348 case 401: 7349 7350 /* Line 1806 of yacc.c */ 7351 #line 1506 "parser.yy" 7352 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7353 break; 7354 7355 case 402: 7356 7357 /* Line 1806 of yacc.c */ 7358 #line 1511 "parser.yy" 7359 { (yyval.decl) = 0; } 7360 break; 7361 7362 case 405: 7363 7364 /* Line 1806 of yacc.c */ 7365 #line 1518 "parser.yy" 7366 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7367 break; 7368 7369 case 408: 7370 7371 /* Line 1806 of yacc.c */ 7372 #line 1525 "parser.yy" 7373 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7374 break; 7375 7376 case 409: 7377 7378 /* Line 1806 of yacc.c */ 7379 #line 1527 "parser.yy" 7380 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7381 break; 7382 7383 case 411: 7384 7385 /* Line 1806 of yacc.c */ 7386 #line 1536 "parser.yy" 7387 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7388 break; 7389 7390 case 412: 7391 7392 /* Line 1806 of yacc.c */ 7393 #line 1539 "parser.yy" 7394 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7395 break; 7396 7397 case 413: 7398 7399 /* Line 1806 of yacc.c */ 7400 #line 1541 "parser.yy" 7401 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7402 break; 7403 7404 case 418: 7405 7406 /* Line 1806 of yacc.c */ 7407 #line 1551 "parser.yy" 7408 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7409 break; 7410 7411 case 420: 7160 case 414: 7161 7162 /* Line 1806 of yacc.c */ 7163 #line 1552 "parser.yy" 7164 { 7165 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7166 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7167 } 7168 break; 7169 7170 case 415: 7412 7171 7413 7172 /* Line 1806 of yacc.c */ … … 7419 7178 break; 7420 7179 7421 case 421: 7422 7423 /* Line 1806 of yacc.c */ 7424 #line 1562 "parser.yy" 7180 case 417: 7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1566 "parser.yy" 7184 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7185 break; 7186 7187 case 418: 7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1575 "parser.yy" 7191 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7192 break; 7193 7194 case 419: 7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1577 "parser.yy" 7198 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7199 break; 7200 7201 case 431: 7202 7203 /* Line 1806 of yacc.c */ 7204 #line 1602 "parser.yy" 7205 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7206 break; 7207 7208 case 435: 7209 7210 /* Line 1806 of yacc.c */ 7211 #line 1610 "parser.yy" 7212 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7213 break; 7214 7215 case 436: 7216 7217 /* Line 1806 of yacc.c */ 7218 #line 1615 "parser.yy" 7219 { (yyval.in) = 0; } 7220 break; 7221 7222 case 437: 7223 7224 /* Line 1806 of yacc.c */ 7225 #line 1617 "parser.yy" 7226 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7227 break; 7228 7229 case 438: 7230 7231 /* Line 1806 of yacc.c */ 7232 #line 1621 "parser.yy" 7233 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7234 break; 7235 7236 case 439: 7237 7238 /* Line 1806 of yacc.c */ 7239 #line 1622 "parser.yy" 7240 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7241 break; 7242 7243 case 441: 7244 7245 /* Line 1806 of yacc.c */ 7246 #line 1627 "parser.yy" 7247 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7248 break; 7249 7250 case 442: 7251 7252 /* Line 1806 of yacc.c */ 7253 #line 1628 "parser.yy" 7254 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7255 break; 7256 7257 case 443: 7258 7259 /* Line 1806 of yacc.c */ 7260 #line 1630 "parser.yy" 7261 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7262 break; 7263 7264 case 445: 7265 7266 /* Line 1806 of yacc.c */ 7267 #line 1646 "parser.yy" 7268 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7269 break; 7270 7271 case 447: 7272 7273 /* Line 1806 of yacc.c */ 7274 #line 1652 "parser.yy" 7275 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7276 break; 7277 7278 case 448: 7279 7280 /* Line 1806 of yacc.c */ 7281 #line 1658 "parser.yy" 7282 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7283 break; 7284 7285 case 449: 7286 7287 /* Line 1806 of yacc.c */ 7288 #line 1661 "parser.yy" 7289 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7290 break; 7291 7292 case 450: 7293 7294 /* Line 1806 of yacc.c */ 7295 #line 1663 "parser.yy" 7296 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7297 break; 7298 7299 case 451: 7300 7301 /* Line 1806 of yacc.c */ 7302 #line 1665 "parser.yy" 7303 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); } 7304 break; 7305 7306 case 452: 7307 7308 /* Line 1806 of yacc.c */ 7309 #line 1667 "parser.yy" 7310 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7311 break; 7312 7313 case 454: 7314 7315 /* Line 1806 of yacc.c */ 7316 #line 1691 "parser.yy" 7317 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7318 break; 7319 7320 case 455: 7321 7322 /* Line 1806 of yacc.c */ 7323 #line 1693 "parser.yy" 7324 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7325 break; 7326 7327 case 456: 7328 7329 /* Line 1806 of yacc.c */ 7330 #line 1695 "parser.yy" 7331 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7332 break; 7333 7334 case 458: 7335 7336 /* Line 1806 of yacc.c */ 7337 #line 1701 "parser.yy" 7338 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7339 break; 7340 7341 case 459: 7342 7343 /* Line 1806 of yacc.c */ 7344 #line 1703 "parser.yy" 7345 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7346 break; 7347 7348 case 460: 7349 7350 /* Line 1806 of yacc.c */ 7351 #line 1708 "parser.yy" 7352 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7353 break; 7354 7355 case 462: 7356 7357 /* Line 1806 of yacc.c */ 7358 #line 1714 "parser.yy" 7359 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7360 break; 7361 7362 case 463: 7363 7364 /* Line 1806 of yacc.c */ 7365 #line 1719 "parser.yy" 7366 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7367 break; 7368 7369 case 464: 7370 7371 /* Line 1806 of yacc.c */ 7372 #line 1721 "parser.yy" 7373 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7374 break; 7375 7376 case 466: 7377 7378 /* Line 1806 of yacc.c */ 7379 #line 1727 "parser.yy" 7380 { (yyval.tclass) = DeclarationNode::Type; } 7381 break; 7382 7383 case 467: 7384 7385 /* Line 1806 of yacc.c */ 7386 #line 1729 "parser.yy" 7387 { (yyval.tclass) = DeclarationNode::Ftype; } 7388 break; 7389 7390 case 468: 7391 7392 /* Line 1806 of yacc.c */ 7393 #line 1731 "parser.yy" 7394 { (yyval.tclass) = DeclarationNode::Dtype; } 7395 break; 7396 7397 case 469: 7398 7399 /* Line 1806 of yacc.c */ 7400 #line 1736 "parser.yy" 7401 { (yyval.decl) = 0; } 7402 break; 7403 7404 case 470: 7405 7406 /* Line 1806 of yacc.c */ 7407 #line 1738 "parser.yy" 7408 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7409 break; 7410 7411 case 471: 7412 7413 /* Line 1806 of yacc.c */ 7414 #line 1743 "parser.yy" 7425 7415 { 7426 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7427 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7428 } 7429 break; 7430 7431 case 423: 7432 7433 /* Line 1806 of yacc.c */ 7434 #line 1571 "parser.yy" 7435 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7436 break; 7437 7438 case 424: 7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1580 "parser.yy" 7442 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7443 break; 7444 7445 case 425: 7446 7447 /* Line 1806 of yacc.c */ 7448 #line 1582 "parser.yy" 7449 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7450 break; 7451 7452 case 436: 7453 7454 /* Line 1806 of yacc.c */ 7455 #line 1607 "parser.yy" 7456 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7457 break; 7458 7459 case 440: 7460 7461 /* Line 1806 of yacc.c */ 7462 #line 1615 "parser.yy" 7463 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7464 break; 7465 7466 case 441: 7467 7468 /* Line 1806 of yacc.c */ 7469 #line 1620 "parser.yy" 7470 { (yyval.in) = 0; } 7471 break; 7472 7473 case 442: 7474 7475 /* Line 1806 of yacc.c */ 7476 #line 1621 "parser.yy" 7477 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7478 break; 7479 7480 case 443: 7481 7482 /* Line 1806 of yacc.c */ 7483 #line 1625 "parser.yy" 7484 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7485 break; 7486 7487 case 444: 7488 7489 /* Line 1806 of yacc.c */ 7490 #line 1626 "parser.yy" 7491 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7492 break; 7493 7494 case 446: 7495 7496 /* Line 1806 of yacc.c */ 7497 #line 1631 "parser.yy" 7498 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7499 break; 7500 7501 case 447: 7502 7503 /* Line 1806 of yacc.c */ 7504 #line 1632 "parser.yy" 7505 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7506 break; 7507 7508 case 448: 7509 7510 /* Line 1806 of yacc.c */ 7511 #line 1634 "parser.yy" 7512 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7513 break; 7514 7515 case 450: 7516 7517 /* Line 1806 of yacc.c */ 7518 #line 1650 "parser.yy" 7519 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7520 break; 7521 7522 case 452: 7523 7524 /* Line 1806 of yacc.c */ 7525 #line 1655 "parser.yy" 7526 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7527 break; 7528 7529 case 453: 7530 7531 /* Line 1806 of yacc.c */ 7532 #line 1661 "parser.yy" 7533 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7534 break; 7535 7536 case 454: 7537 7538 /* Line 1806 of yacc.c */ 7539 #line 1664 "parser.yy" 7540 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7541 break; 7542 7543 case 455: 7544 7545 /* Line 1806 of yacc.c */ 7546 #line 1666 "parser.yy" 7547 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7548 break; 7549 7550 case 456: 7551 7552 /* Line 1806 of yacc.c */ 7553 #line 1668 "parser.yy" 7554 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); } 7555 break; 7556 7557 case 457: 7558 7559 /* Line 1806 of yacc.c */ 7560 #line 1670 "parser.yy" 7561 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7562 break; 7563 7564 case 459: 7565 7566 /* Line 1806 of yacc.c */ 7567 #line 1694 "parser.yy" 7568 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7569 break; 7570 7571 case 460: 7572 7573 /* Line 1806 of yacc.c */ 7574 #line 1696 "parser.yy" 7575 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7576 break; 7577 7578 case 461: 7579 7580 /* Line 1806 of yacc.c */ 7581 #line 1698 "parser.yy" 7582 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7583 break; 7584 7585 case 462: 7586 7587 /* Line 1806 of yacc.c */ 7588 #line 1703 "parser.yy" 7589 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7590 break; 7591 7592 case 463: 7593 7594 /* Line 1806 of yacc.c */ 7595 #line 1705 "parser.yy" 7596 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); } 7597 break; 7598 7599 case 464: 7600 7601 /* Line 1806 of yacc.c */ 7602 #line 1707 "parser.yy" 7603 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7604 break; 7605 7606 case 466: 7607 7608 /* Line 1806 of yacc.c */ 7609 #line 1713 "parser.yy" 7610 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7611 break; 7612 7613 case 467: 7614 7615 /* Line 1806 of yacc.c */ 7616 #line 1718 "parser.yy" 7617 { typedefTable.addToEnclosingScope(*( (yyvsp[(2) - (2)].tok) ), TypedefTable::TD ); } 7618 break; 7619 7620 case 468: 7621 7622 /* Line 1806 of yacc.c */ 7623 #line 1720 "parser.yy" 7624 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7625 break; 7626 7627 case 470: 7628 7629 /* Line 1806 of yacc.c */ 7630 #line 1726 "parser.yy" 7631 { (yyval.tclass) = DeclarationNode::Type; } 7632 break; 7633 7634 case 471: 7635 7636 /* Line 1806 of yacc.c */ 7637 #line 1728 "parser.yy" 7638 { (yyval.tclass) = DeclarationNode::Ftype; } 7639 break; 7640 7641 case 472: 7642 7643 /* Line 1806 of yacc.c */ 7644 #line 1730 "parser.yy" 7645 { (yyval.tclass) = DeclarationNode::Dtype; } 7646 break; 7647 7648 case 473: 7649 7650 /* Line 1806 of yacc.c */ 7651 #line 1735 "parser.yy" 7652 { (yyval.decl) = 0; } 7653 break; 7654 7655 case 474: 7656 7657 /* Line 1806 of yacc.c */ 7658 #line 1737 "parser.yy" 7659 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7660 break; 7661 7662 case 475: 7663 7664 /* Line 1806 of yacc.c */ 7665 #line 1742 "parser.yy" 7666 { 7667 typedefTable.openContext( *( (yyvsp[(2) - (5)].tok) ) ); 7416 typedefTable.openContext( *(yyvsp[(2) - (5)].tok) ); 7668 7417 (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 7669 7418 } 7670 7419 break; 7671 7420 7421 case 472: 7422 7423 /* Line 1806 of yacc.c */ 7424 #line 1748 "parser.yy" 7425 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7426 break; 7427 7428 case 473: 7429 7430 /* Line 1806 of yacc.c */ 7431 #line 1750 "parser.yy" 7432 { (yyval.decl) = 0; } 7433 break; 7434 7435 case 474: 7436 7437 /* Line 1806 of yacc.c */ 7438 #line 1755 "parser.yy" 7439 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7440 break; 7441 7672 7442 case 476: 7673 7443 7674 7444 /* Line 1806 of yacc.c */ 7675 #line 17 47"parser.yy"7676 { (yyval. decl) = (yyvsp[(4) - (5)].decl); }7445 #line 1758 "parser.yy" 7446 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7677 7447 break; 7678 7448 … … 7680 7450 7681 7451 /* Line 1806 of yacc.c */ 7682 #line 17 49"parser.yy"7683 { (yyval. decl) = 0; }7452 #line 1760 "parser.yy" 7453 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7684 7454 break; 7685 7455 … … 7687 7457 7688 7458 /* Line 1806 of yacc.c */ 7689 #line 1754 "parser.yy" 7690 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7459 #line 1765 "parser.yy" 7460 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7461 break; 7462 7463 case 479: 7464 7465 /* Line 1806 of yacc.c */ 7466 #line 1767 "parser.yy" 7467 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7691 7468 break; 7692 7469 … … 7694 7471 7695 7472 /* Line 1806 of yacc.c */ 7696 #line 17 57"parser.yy"7697 { (yyval. en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }7473 #line 1769 "parser.yy" 7474 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7698 7475 break; 7699 7476 … … 7701 7478 7702 7479 /* Line 1806 of yacc.c */ 7703 #line 17 59"parser.yy"7704 { (yyval. en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }7480 #line 1774 "parser.yy" 7481 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7705 7482 break; 7706 7483 … … 7708 7485 7709 7486 /* Line 1806 of yacc.c */ 7710 #line 17 64"parser.yy"7711 { (yyval.decl) = (yyvsp[( 2) - (2)].decl); }7487 #line 1776 "parser.yy" 7488 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7712 7489 break; 7713 7490 … … 7715 7492 7716 7493 /* Line 1806 of yacc.c */ 7717 #line 1766 "parser.yy" 7718 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7719 break; 7720 7721 case 484: 7722 7723 /* Line 1806 of yacc.c */ 7724 #line 1768 "parser.yy" 7725 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7726 break; 7727 7728 case 485: 7729 7730 /* Line 1806 of yacc.c */ 7731 #line 1773 "parser.yy" 7732 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7733 break; 7734 7735 case 486: 7736 7737 /* Line 1806 of yacc.c */ 7738 #line 1775 "parser.yy" 7739 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7740 break; 7741 7742 case 487: 7743 7744 /* Line 1806 of yacc.c */ 7745 #line 1780 "parser.yy" 7494 #line 1781 "parser.yy" 7746 7495 { 7747 7496 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7750 7499 break; 7751 7500 7752 case 48 8:7753 7754 /* Line 1806 of yacc.c */ 7755 #line 178 5"parser.yy"7501 case 484: 7502 7503 /* Line 1806 of yacc.c */ 7504 #line 1786 "parser.yy" 7756 7505 { 7757 7506 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7760 7509 break; 7761 7510 7762 case 48 9:7763 7764 /* Line 1806 of yacc.c */ 7765 #line 179 3"parser.yy"7511 case 485: 7512 7513 /* Line 1806 of yacc.c */ 7514 #line 1794 "parser.yy" 7766 7515 { 7767 7516 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7770 7519 break; 7771 7520 7772 case 4 90:7773 7774 /* Line 1806 of yacc.c */ 7775 #line 179 8"parser.yy"7521 case 486: 7522 7523 /* Line 1806 of yacc.c */ 7524 #line 1799 "parser.yy" 7776 7525 { 7777 7526 typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) ); … … 7780 7529 break; 7781 7530 7782 case 4 91:7783 7784 /* Line 1806 of yacc.c */ 7785 #line 180 3"parser.yy"7531 case 487: 7532 7533 /* Line 1806 of yacc.c */ 7534 #line 1804 "parser.yy" 7786 7535 { 7787 7536 typedefTable.leaveContext(); … … 7791 7540 break; 7792 7541 7793 case 4 93:7794 7795 /* Line 1806 of yacc.c */ 7796 #line 181 3"parser.yy"7542 case 489: 7543 7544 /* Line 1806 of yacc.c */ 7545 #line 1814 "parser.yy" 7797 7546 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7798 7547 break; 7799 7548 7800 case 49 6:7801 7802 /* Line 1806 of yacc.c */ 7803 #line 182 3"parser.yy"7549 case 492: 7550 7551 /* Line 1806 of yacc.c */ 7552 #line 1824 "parser.yy" 7804 7553 { 7805 7554 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7808 7557 break; 7809 7558 7810 case 49 7:7811 7812 /* Line 1806 of yacc.c */ 7813 #line 182 8"parser.yy"7559 case 493: 7560 7561 /* Line 1806 of yacc.c */ 7562 #line 1829 "parser.yy" 7814 7563 { 7815 7564 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7818 7567 break; 7819 7568 7820 case 49 8:7821 7822 /* Line 1806 of yacc.c */ 7823 #line 183 3"parser.yy"7569 case 494: 7570 7571 /* Line 1806 of yacc.c */ 7572 #line 1834 "parser.yy" 7824 7573 { 7825 7574 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7828 7577 break; 7829 7578 7830 case 49 9:7831 7832 /* Line 1806 of yacc.c */ 7833 #line 184 1"parser.yy"7579 case 495: 7580 7581 /* Line 1806 of yacc.c */ 7582 #line 1842 "parser.yy" 7834 7583 { 7835 7584 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7838 7587 break; 7839 7588 7840 case 500:7841 7842 /* Line 1806 of yacc.c */ 7843 #line 184 6"parser.yy"7589 case 496: 7590 7591 /* Line 1806 of yacc.c */ 7592 #line 1847 "parser.yy" 7844 7593 { 7845 7594 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7848 7597 break; 7849 7598 7850 case 501:7851 7852 /* Line 1806 of yacc.c */ 7853 #line 185 6"parser.yy"7599 case 497: 7600 7601 /* Line 1806 of yacc.c */ 7602 #line 1857 "parser.yy" 7854 7603 {} 7855 7604 break; 7856 7605 7857 case 502:7858 7859 /* Line 1806 of yacc.c */ 7860 #line 185 8"parser.yy"7606 case 498: 7607 7608 /* Line 1806 of yacc.c */ 7609 #line 1859 "parser.yy" 7861 7610 { 7862 7611 if ( theTree ) { … … 7868 7617 break; 7869 7618 7870 case 50 4:7871 7872 /* Line 1806 of yacc.c */ 7873 #line 187 0"parser.yy"7619 case 500: 7620 7621 /* Line 1806 of yacc.c */ 7622 #line 1871 "parser.yy" 7874 7623 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7875 7624 break; 7876 7625 7626 case 501: 7627 7628 /* Line 1806 of yacc.c */ 7629 #line 1876 "parser.yy" 7630 { (yyval.decl) = 0; } 7631 break; 7632 7877 7633 case 505: 7878 7634 7879 7635 /* Line 1806 of yacc.c */ 7880 #line 1875 "parser.yy" 7881 { (yyval.decl) = 0; } 7882 break; 7883 7884 case 509: 7885 7886 /* Line 1806 of yacc.c */ 7887 #line 1883 "parser.yy" 7636 #line 1884 "parser.yy" 7888 7637 {} 7889 7638 break; 7890 7639 7891 case 5 10:7892 7893 /* Line 1806 of yacc.c */ 7894 #line 188 5"parser.yy"7640 case 506: 7641 7642 /* Line 1806 of yacc.c */ 7643 #line 1886 "parser.yy" 7895 7644 { 7896 7645 linkageStack.push( linkage ); … … 7899 7648 break; 7900 7649 7901 case 5 11:7902 7903 /* Line 1806 of yacc.c */ 7904 #line 189 0"parser.yy"7650 case 507: 7651 7652 /* Line 1806 of yacc.c */ 7653 #line 1891 "parser.yy" 7905 7654 { 7906 7655 linkage = linkageStack.top(); … … 7910 7659 break; 7911 7660 7912 case 5 12:7913 7914 /* Line 1806 of yacc.c */ 7915 #line 189 6"parser.yy"7661 case 508: 7662 7663 /* Line 1806 of yacc.c */ 7664 #line 1897 "parser.yy" 7916 7665 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7917 7666 break; 7918 7667 7919 case 51 4:7668 case 510: 7920 7669 7921 7670 /* Line 1806 of yacc.c */ … … 7928 7677 break; 7929 7678 7930 case 51 5:7679 case 511: 7931 7680 7932 7681 /* Line 1806 of yacc.c */ … … 7939 7688 break; 7940 7689 7941 case 51 6:7690 case 512: 7942 7691 7943 7692 /* Line 1806 of yacc.c */ … … 7950 7699 break; 7951 7700 7952 case 51 7:7701 case 513: 7953 7702 7954 7703 /* Line 1806 of yacc.c */ … … 7961 7710 break; 7962 7711 7963 case 51 8:7712 case 514: 7964 7713 7965 7714 /* Line 1806 of yacc.c */ … … 7972 7721 break; 7973 7722 7974 case 51 9:7723 case 515: 7975 7724 7976 7725 /* Line 1806 of yacc.c */ … … 7983 7732 break; 7984 7733 7985 case 5 20:7734 case 516: 7986 7735 7987 7736 /* Line 1806 of yacc.c */ … … 7994 7743 break; 7995 7744 7996 case 5 21:7745 case 517: 7997 7746 7998 7747 /* Line 1806 of yacc.c */ … … 8005 7754 break; 8006 7755 8007 case 5 22:7756 case 518: 8008 7757 8009 7758 /* Line 1806 of yacc.c */ … … 8016 7765 break; 8017 7766 8018 case 5 23:7767 case 519: 8019 7768 8020 7769 /* Line 1806 of yacc.c */ … … 8027 7776 break; 8028 7777 8029 case 52 4:7778 case 520: 8030 7779 8031 7780 /* Line 1806 of yacc.c */ … … 8038 7787 break; 8039 7788 8040 case 52 8:7789 case 524: 8041 7790 8042 7791 /* Line 1806 of yacc.c */ … … 8045 7794 break; 8046 7795 8047 case 5 41:7796 case 537: 8048 7797 8049 7798 /* Line 1806 of yacc.c */ … … 8052 7801 break; 8053 7802 8054 case 5 42:7803 case 538: 8055 7804 8056 7805 /* Line 1806 of yacc.c */ … … 8059 7808 break; 8060 7809 8061 case 5 43:7810 case 539: 8062 7811 8063 7812 /* Line 1806 of yacc.c */ … … 8066 7815 break; 8067 7816 8068 case 54 4:7817 case 540: 8069 7818 8070 7819 /* Line 1806 of yacc.c */ … … 8073 7822 break; 8074 7823 8075 case 54 9:7824 case 545: 8076 7825 8077 7826 /* Line 1806 of yacc.c */ … … 8083 7832 break; 8084 7833 8085 case 5 50:7834 case 546: 8086 7835 8087 7836 /* Line 1806 of yacc.c */ … … 8090 7839 break; 8091 7840 8092 case 5 51:7841 case 547: 8093 7842 8094 7843 /* Line 1806 of yacc.c */ … … 8097 7846 break; 8098 7847 8099 case 5 52:7848 case 548: 8100 7849 8101 7850 /* Line 1806 of yacc.c */ … … 8104 7853 break; 8105 7854 8106 case 5 53:7855 case 549: 8107 7856 8108 7857 /* Line 1806 of yacc.c */ … … 8111 7860 break; 8112 7861 8113 case 55 4:7862 case 550: 8114 7863 8115 7864 /* Line 1806 of yacc.c */ … … 8118 7867 break; 8119 7868 8120 case 55 5:7869 case 551: 8121 7870 8122 7871 /* Line 1806 of yacc.c */ … … 8125 7874 break; 8126 7875 8127 case 55 6:7876 case 552: 8128 7877 8129 7878 /* Line 1806 of yacc.c */ … … 8132 7881 break; 8133 7882 8134 case 55 7:7883 case 553: 8135 7884 8136 7885 /* Line 1806 of yacc.c */ … … 8139 7888 break; 8140 7889 8141 case 55 8:7890 case 554: 8142 7891 8143 7892 /* Line 1806 of yacc.c */ … … 8146 7895 break; 8147 7896 8148 case 55 9:7897 case 555: 8149 7898 8150 7899 /* Line 1806 of yacc.c */ … … 8153 7902 break; 8154 7903 8155 case 5 63:7904 case 559: 8156 7905 8157 7906 /* Line 1806 of yacc.c */ … … 8160 7909 break; 8161 7910 8162 case 56 4:7911 case 560: 8163 7912 8164 7913 /* Line 1806 of yacc.c */ … … 8167 7916 break; 8168 7917 8169 case 56 5:7918 case 561: 8170 7919 8171 7920 /* Line 1806 of yacc.c */ … … 8174 7923 break; 8175 7924 8176 case 56 6:7925 case 562: 8177 7926 8178 7927 /* Line 1806 of yacc.c */ … … 8181 7930 break; 8182 7931 8183 case 56 7:7932 case 563: 8184 7933 8185 7934 /* Line 1806 of yacc.c */ … … 8188 7937 break; 8189 7938 8190 case 56 8:7939 case 564: 8191 7940 8192 7941 /* Line 1806 of yacc.c */ … … 8195 7944 break; 8196 7945 8197 case 56 9:7946 case 565: 8198 7947 8199 7948 /* Line 1806 of yacc.c */ … … 8202 7951 break; 8203 7952 8204 case 5 70:7953 case 566: 8205 7954 8206 7955 /* Line 1806 of yacc.c */ … … 8209 7958 break; 8210 7959 8211 case 5 71:7960 case 567: 8212 7961 8213 7962 /* Line 1806 of yacc.c */ … … 8216 7965 break; 8217 7966 8218 case 57 5:7967 case 571: 8219 7968 8220 7969 /* Line 1806 of yacc.c */ … … 8223 7972 break; 8224 7973 8225 case 57 6:7974 case 572: 8226 7975 8227 7976 /* Line 1806 of yacc.c */ … … 8230 7979 break; 8231 7980 8232 case 57 7:7981 case 573: 8233 7982 8234 7983 /* Line 1806 of yacc.c */ … … 8237 7986 break; 8238 7987 8239 case 57 8:7988 case 574: 8240 7989 8241 7990 /* Line 1806 of yacc.c */ … … 8244 7993 break; 8245 7994 8246 case 57 9:7995 case 575: 8247 7996 8248 7997 /* Line 1806 of yacc.c */ … … 8251 8000 break; 8252 8001 8253 case 5 80:8002 case 576: 8254 8003 8255 8004 /* Line 1806 of yacc.c */ … … 8258 8007 break; 8259 8008 8260 case 5 81:8009 case 577: 8261 8010 8262 8011 /* Line 1806 of yacc.c */ … … 8265 8014 break; 8266 8015 8267 case 5 82:8016 case 578: 8268 8017 8269 8018 /* Line 1806 of yacc.c */ … … 8272 8021 break; 8273 8022 8274 case 5 83:8023 case 579: 8275 8024 8276 8025 /* Line 1806 of yacc.c */ … … 8279 8028 break; 8280 8029 8030 case 585: 8031 8032 /* Line 1806 of yacc.c */ 8033 #line 2198 "parser.yy" 8034 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8035 break; 8036 8037 case 586: 8038 8039 /* Line 1806 of yacc.c */ 8040 #line 2203 "parser.yy" 8041 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8042 break; 8043 8044 case 587: 8045 8046 /* Line 1806 of yacc.c */ 8047 #line 2205 "parser.yy" 8048 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8049 break; 8050 8281 8051 case 588: 8282 8052 8283 8053 /* Line 1806 of yacc.c */ 8284 #line 2197 "parser.yy" 8285 { 8286 typedefTable.setNextIdentifier( *( (yyvsp[(1) - (1)].tok) ) ); 8287 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 8288 } 8054 #line 2207 "parser.yy" 8055 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8289 8056 break; 8290 8057 … … 8292 8059 8293 8060 /* Line 1806 of yacc.c */ 8294 #line 2202 "parser.yy" 8061 #line 2212 "parser.yy" 8062 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8063 break; 8064 8065 case 590: 8066 8067 /* Line 1806 of yacc.c */ 8068 #line 2214 "parser.yy" 8069 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8070 break; 8071 8072 case 591: 8073 8074 /* Line 1806 of yacc.c */ 8075 #line 2216 "parser.yy" 8076 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8077 break; 8078 8079 case 592: 8080 8081 /* Line 1806 of yacc.c */ 8082 #line 2218 "parser.yy" 8295 8083 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8296 8084 break; 8297 8085 8298 case 590: 8299 8300 /* Line 1806 of yacc.c */ 8301 #line 2207 "parser.yy" 8086 case 593: 8087 8088 /* Line 1806 of yacc.c */ 8089 #line 2223 "parser.yy" 8090 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8091 break; 8092 8093 case 594: 8094 8095 /* Line 1806 of yacc.c */ 8096 #line 2225 "parser.yy" 8097 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8098 break; 8099 8100 case 595: 8101 8102 /* Line 1806 of yacc.c */ 8103 #line 2227 "parser.yy" 8104 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8105 break; 8106 8107 case 600: 8108 8109 /* Line 1806 of yacc.c */ 8110 #line 2244 "parser.yy" 8302 8111 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8303 8112 break; 8304 8113 8305 case 591:8306 8307 /* Line 1806 of yacc.c */ 8308 #line 22 09"parser.yy"8114 case 601: 8115 8116 /* Line 1806 of yacc.c */ 8117 #line 2246 "parser.yy" 8309 8118 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8310 8119 break; 8311 8120 8312 case 592:8313 8314 /* Line 1806 of yacc.c */ 8315 #line 22 11"parser.yy"8121 case 602: 8122 8123 /* Line 1806 of yacc.c */ 8124 #line 2248 "parser.yy" 8316 8125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8317 8126 break; 8318 8127 8319 case 593:8320 8321 /* Line 1806 of yacc.c */ 8322 #line 22 16"parser.yy"8128 case 603: 8129 8130 /* Line 1806 of yacc.c */ 8131 #line 2253 "parser.yy" 8323 8132 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8324 8133 break; 8325 8134 8326 case 594:8327 8328 /* Line 1806 of yacc.c */ 8329 #line 22 18"parser.yy"8135 case 604: 8136 8137 /* Line 1806 of yacc.c */ 8138 #line 2255 "parser.yy" 8330 8139 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8331 8140 break; 8332 8141 8333 case 595:8334 8335 /* Line 1806 of yacc.c */ 8336 #line 22 20"parser.yy"8142 case 605: 8143 8144 /* Line 1806 of yacc.c */ 8145 #line 2257 "parser.yy" 8337 8146 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8338 8147 break; 8339 8148 8340 case 596:8341 8342 /* Line 1806 of yacc.c */ 8343 #line 22 22"parser.yy"8149 case 606: 8150 8151 /* Line 1806 of yacc.c */ 8152 #line 2259 "parser.yy" 8344 8153 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8345 8154 break; 8346 8155 8347 case 597:8348 8349 /* Line 1806 of yacc.c */ 8350 #line 22 27"parser.yy"8156 case 607: 8157 8158 /* Line 1806 of yacc.c */ 8159 #line 2264 "parser.yy" 8351 8160 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8352 8161 break; 8353 8162 8354 case 598:8355 8356 /* Line 1806 of yacc.c */ 8357 #line 22 29"parser.yy"8163 case 608: 8164 8165 /* Line 1806 of yacc.c */ 8166 #line 2266 "parser.yy" 8358 8167 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8359 8168 break; 8360 8169 8361 case 599:8362 8363 /* Line 1806 of yacc.c */ 8364 #line 22 31"parser.yy"8170 case 609: 8171 8172 /* Line 1806 of yacc.c */ 8173 #line 2268 "parser.yy" 8365 8174 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8366 8175 break; 8367 8176 8368 case 604: 8369 8370 /* Line 1806 of yacc.c */ 8371 #line 2248 "parser.yy" 8372 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8373 break; 8374 8375 case 605: 8376 8377 /* Line 1806 of yacc.c */ 8378 #line 2250 "parser.yy" 8379 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8380 break; 8381 8382 case 606: 8383 8384 /* Line 1806 of yacc.c */ 8385 #line 2252 "parser.yy" 8386 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8387 break; 8388 8389 case 607: 8390 8391 /* Line 1806 of yacc.c */ 8392 #line 2257 "parser.yy" 8393 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8394 break; 8395 8396 case 608: 8397 8398 /* Line 1806 of yacc.c */ 8399 #line 2259 "parser.yy" 8400 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8401 break; 8402 8403 case 609: 8404 8405 /* Line 1806 of yacc.c */ 8406 #line 2261 "parser.yy" 8407 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8408 break; 8409 8410 case 610: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2263 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8415 break; 8416 8417 case 611: 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2268 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8422 break; 8423 8424 case 612: 8425 8426 /* Line 1806 of yacc.c */ 8427 #line 2270 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8429 break; 8430 8431 case 613: 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2272 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8436 break; 8437 8438 case 618: 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2310 "parser.yy" 8177 case 614: 8178 8179 /* Line 1806 of yacc.c */ 8180 #line 2306 "parser.yy" 8442 8181 { 8443 8182 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8446 8185 break; 8447 8186 8187 case 615: 8188 8189 /* Line 1806 of yacc.c */ 8190 #line 2311 "parser.yy" 8191 { 8192 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8193 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 8194 } 8195 break; 8196 8197 case 616: 8198 8199 /* Line 1806 of yacc.c */ 8200 #line 2319 "parser.yy" 8201 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8202 break; 8203 8204 case 617: 8205 8206 /* Line 1806 of yacc.c */ 8207 #line 2321 "parser.yy" 8208 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8209 break; 8210 8211 case 618: 8212 8213 /* Line 1806 of yacc.c */ 8214 #line 2323 "parser.yy" 8215 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8216 break; 8217 8448 8218 case 619: 8449 8219 8450 8220 /* Line 1806 of yacc.c */ 8451 #line 2318 "parser.yy" 8221 #line 2328 "parser.yy" 8222 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8223 break; 8224 8225 case 620: 8226 8227 /* Line 1806 of yacc.c */ 8228 #line 2330 "parser.yy" 8229 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8230 break; 8231 8232 case 621: 8233 8234 /* Line 1806 of yacc.c */ 8235 #line 2335 "parser.yy" 8236 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8237 break; 8238 8239 case 622: 8240 8241 /* Line 1806 of yacc.c */ 8242 #line 2337 "parser.yy" 8243 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8244 break; 8245 8246 case 626: 8247 8248 /* Line 1806 of yacc.c */ 8249 #line 2357 "parser.yy" 8250 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8251 break; 8252 8253 case 627: 8254 8255 /* Line 1806 of yacc.c */ 8256 #line 2359 "parser.yy" 8257 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8258 break; 8259 8260 case 628: 8261 8262 /* Line 1806 of yacc.c */ 8263 #line 2361 "parser.yy" 8452 8264 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8453 8265 break; 8454 8266 8455 case 62 0:8456 8457 /* Line 1806 of yacc.c */ 8458 #line 23 20"parser.yy"8267 case 629: 8268 8269 /* Line 1806 of yacc.c */ 8270 #line 2363 "parser.yy" 8459 8271 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8460 8272 break; 8461 8273 8462 case 6 21:8463 8464 /* Line 1806 of yacc.c */ 8465 #line 23 22"parser.yy"8274 case 630: 8275 8276 /* Line 1806 of yacc.c */ 8277 #line 2365 "parser.yy" 8466 8278 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8467 8279 break; 8468 8280 8469 case 622: 8470 8471 /* Line 1806 of yacc.c */ 8472 #line 2327 "parser.yy" 8281 case 632: 8282 8283 /* Line 1806 of yacc.c */ 8284 #line 2371 "parser.yy" 8285 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8286 break; 8287 8288 case 633: 8289 8290 /* Line 1806 of yacc.c */ 8291 #line 2373 "parser.yy" 8292 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8293 break; 8294 8295 case 634: 8296 8297 /* Line 1806 of yacc.c */ 8298 #line 2375 "parser.yy" 8299 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8300 break; 8301 8302 case 635: 8303 8304 /* Line 1806 of yacc.c */ 8305 #line 2380 "parser.yy" 8306 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8307 break; 8308 8309 case 636: 8310 8311 /* Line 1806 of yacc.c */ 8312 #line 2382 "parser.yy" 8313 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8314 break; 8315 8316 case 637: 8317 8318 /* Line 1806 of yacc.c */ 8319 #line 2384 "parser.yy" 8320 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8321 break; 8322 8323 case 638: 8324 8325 /* Line 1806 of yacc.c */ 8326 #line 2390 "parser.yy" 8327 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8328 break; 8329 8330 case 639: 8331 8332 /* Line 1806 of yacc.c */ 8333 #line 2392 "parser.yy" 8334 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8335 break; 8336 8337 case 641: 8338 8339 /* Line 1806 of yacc.c */ 8340 #line 2398 "parser.yy" 8341 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8342 break; 8343 8344 case 642: 8345 8346 /* Line 1806 of yacc.c */ 8347 #line 2400 "parser.yy" 8348 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8349 break; 8350 8351 case 643: 8352 8353 /* Line 1806 of yacc.c */ 8354 #line 2402 "parser.yy" 8355 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8356 break; 8357 8358 case 644: 8359 8360 /* Line 1806 of yacc.c */ 8361 #line 2404 "parser.yy" 8362 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8363 break; 8364 8365 case 648: 8366 8367 /* Line 1806 of yacc.c */ 8368 #line 2424 "parser.yy" 8369 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8370 break; 8371 8372 case 649: 8373 8374 /* Line 1806 of yacc.c */ 8375 #line 2426 "parser.yy" 8376 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8377 break; 8378 8379 case 650: 8380 8381 /* Line 1806 of yacc.c */ 8382 #line 2428 "parser.yy" 8383 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8384 break; 8385 8386 case 651: 8387 8388 /* Line 1806 of yacc.c */ 8389 #line 2430 "parser.yy" 8390 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8391 break; 8392 8393 case 652: 8394 8395 /* Line 1806 of yacc.c */ 8396 #line 2432 "parser.yy" 8397 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8398 break; 8399 8400 case 654: 8401 8402 /* Line 1806 of yacc.c */ 8403 #line 2438 "parser.yy" 8404 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8405 break; 8406 8407 case 655: 8408 8409 /* Line 1806 of yacc.c */ 8410 #line 2440 "parser.yy" 8411 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8412 break; 8413 8414 case 656: 8415 8416 /* Line 1806 of yacc.c */ 8417 #line 2442 "parser.yy" 8418 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8419 break; 8420 8421 case 657: 8422 8423 /* Line 1806 of yacc.c */ 8424 #line 2447 "parser.yy" 8425 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8426 break; 8427 8428 case 658: 8429 8430 /* Line 1806 of yacc.c */ 8431 #line 2449 "parser.yy" 8432 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8433 break; 8434 8435 case 659: 8436 8437 /* Line 1806 of yacc.c */ 8438 #line 2451 "parser.yy" 8439 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8440 break; 8441 8442 case 661: 8443 8444 /* Line 1806 of yacc.c */ 8445 #line 2458 "parser.yy" 8473 8446 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8474 8447 break; 8475 8448 8476 case 623: 8477 8478 /* Line 1806 of yacc.c */ 8479 #line 2329 "parser.yy" 8449 case 663: 8450 8451 /* Line 1806 of yacc.c */ 8452 #line 2469 "parser.yy" 8453 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8454 break; 8455 8456 case 664: 8457 8458 /* Line 1806 of yacc.c */ 8459 #line 2472 "parser.yy" 8460 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8461 break; 8462 8463 case 665: 8464 8465 /* Line 1806 of yacc.c */ 8466 #line 2474 "parser.yy" 8467 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8468 break; 8469 8470 case 666: 8471 8472 /* Line 1806 of yacc.c */ 8473 #line 2477 "parser.yy" 8474 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8475 break; 8476 8477 case 667: 8478 8479 /* Line 1806 of yacc.c */ 8480 #line 2479 "parser.yy" 8481 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8482 break; 8483 8484 case 668: 8485 8486 /* Line 1806 of yacc.c */ 8487 #line 2481 "parser.yy" 8488 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8489 break; 8490 8491 case 672: 8492 8493 /* Line 1806 of yacc.c */ 8494 #line 2500 "parser.yy" 8495 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8496 break; 8497 8498 case 673: 8499 8500 /* Line 1806 of yacc.c */ 8501 #line 2502 "parser.yy" 8502 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8503 break; 8504 8505 case 674: 8506 8507 /* Line 1806 of yacc.c */ 8508 #line 2504 "parser.yy" 8509 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8510 break; 8511 8512 case 675: 8513 8514 /* Line 1806 of yacc.c */ 8515 #line 2506 "parser.yy" 8516 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8517 break; 8518 8519 case 676: 8520 8521 /* Line 1806 of yacc.c */ 8522 #line 2508 "parser.yy" 8523 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8524 break; 8525 8526 case 678: 8527 8528 /* Line 1806 of yacc.c */ 8529 #line 2514 "parser.yy" 8480 8530 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8481 8531 break; 8482 8532 8483 case 624: 8484 8485 /* Line 1806 of yacc.c */ 8486 #line 2334 "parser.yy" 8487 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8488 break; 8489 8490 case 625: 8491 8492 /* Line 1806 of yacc.c */ 8493 #line 2336 "parser.yy" 8533 case 679: 8534 8535 /* Line 1806 of yacc.c */ 8536 #line 2516 "parser.yy" 8537 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8538 break; 8539 8540 case 680: 8541 8542 /* Line 1806 of yacc.c */ 8543 #line 2518 "parser.yy" 8544 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8545 break; 8546 8547 case 681: 8548 8549 /* Line 1806 of yacc.c */ 8550 #line 2523 "parser.yy" 8494 8551 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8495 8552 break; 8496 8553 8497 case 629: 8498 8499 /* Line 1806 of yacc.c */ 8500 #line 2356 "parser.yy" 8501 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8502 break; 8503 8504 case 630: 8505 8506 /* Line 1806 of yacc.c */ 8507 #line 2358 "parser.yy" 8508 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8509 break; 8510 8511 case 631: 8512 8513 /* Line 1806 of yacc.c */ 8514 #line 2360 "parser.yy" 8515 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8516 break; 8517 8518 case 632: 8519 8520 /* Line 1806 of yacc.c */ 8521 #line 2362 "parser.yy" 8522 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8523 break; 8524 8525 case 633: 8526 8527 /* Line 1806 of yacc.c */ 8528 #line 2364 "parser.yy" 8554 case 682: 8555 8556 /* Line 1806 of yacc.c */ 8557 #line 2525 "parser.yy" 8529 8558 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8530 8559 break; 8531 8560 8532 case 635: 8533 8534 /* Line 1806 of yacc.c */ 8535 #line 2370 "parser.yy" 8536 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8537 break; 8538 8539 case 636: 8540 8541 /* Line 1806 of yacc.c */ 8542 #line 2372 "parser.yy" 8543 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8544 break; 8545 8546 case 637: 8547 8548 /* Line 1806 of yacc.c */ 8549 #line 2374 "parser.yy" 8550 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8551 break; 8552 8553 case 638: 8554 8555 /* Line 1806 of yacc.c */ 8556 #line 2379 "parser.yy" 8557 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8558 break; 8559 8560 case 639: 8561 8562 /* Line 1806 of yacc.c */ 8563 #line 2381 "parser.yy" 8564 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8565 break; 8566 8567 case 640: 8568 8569 /* Line 1806 of yacc.c */ 8570 #line 2383 "parser.yy" 8571 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8572 break; 8573 8574 case 641: 8575 8576 /* Line 1806 of yacc.c */ 8577 #line 2389 "parser.yy" 8578 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8579 break; 8580 8581 case 642: 8582 8583 /* Line 1806 of yacc.c */ 8584 #line 2391 "parser.yy" 8585 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); } 8586 break; 8587 8588 case 644: 8589 8590 /* Line 1806 of yacc.c */ 8591 #line 2397 "parser.yy" 8592 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8593 break; 8594 8595 case 645: 8596 8597 /* Line 1806 of yacc.c */ 8598 #line 2399 "parser.yy" 8599 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8600 break; 8601 8602 case 646: 8603 8604 /* Line 1806 of yacc.c */ 8605 #line 2401 "parser.yy" 8606 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8607 break; 8608 8609 case 647: 8610 8611 /* Line 1806 of yacc.c */ 8612 #line 2403 "parser.yy" 8613 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8614 break; 8615 8616 case 651: 8617 8618 /* Line 1806 of yacc.c */ 8619 #line 2423 "parser.yy" 8620 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8621 break; 8622 8623 case 652: 8624 8625 /* Line 1806 of yacc.c */ 8626 #line 2425 "parser.yy" 8627 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8628 break; 8629 8630 case 653: 8631 8632 /* Line 1806 of yacc.c */ 8633 #line 2427 "parser.yy" 8634 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8635 break; 8636 8637 case 654: 8638 8639 /* Line 1806 of yacc.c */ 8640 #line 2429 "parser.yy" 8641 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8642 break; 8643 8644 case 655: 8645 8646 /* Line 1806 of yacc.c */ 8647 #line 2431 "parser.yy" 8648 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8649 break; 8650 8651 case 657: 8652 8653 /* Line 1806 of yacc.c */ 8654 #line 2437 "parser.yy" 8655 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8656 break; 8657 8658 case 658: 8659 8660 /* Line 1806 of yacc.c */ 8661 #line 2439 "parser.yy" 8662 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8663 break; 8664 8665 case 659: 8666 8667 /* Line 1806 of yacc.c */ 8668 #line 2441 "parser.yy" 8669 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8670 break; 8671 8672 case 660: 8673 8674 /* Line 1806 of yacc.c */ 8675 #line 2446 "parser.yy" 8676 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8677 break; 8678 8679 case 661: 8680 8681 /* Line 1806 of yacc.c */ 8682 #line 2448 "parser.yy" 8683 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8684 break; 8685 8686 case 662: 8687 8688 /* Line 1806 of yacc.c */ 8689 #line 2450 "parser.yy" 8690 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8691 break; 8692 8693 case 664: 8694 8695 /* Line 1806 of yacc.c */ 8696 #line 2457 "parser.yy" 8697 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8698 break; 8699 8700 case 666: 8701 8702 /* Line 1806 of yacc.c */ 8703 #line 2468 "parser.yy" 8704 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8705 break; 8706 8707 case 667: 8708 8709 /* Line 1806 of yacc.c */ 8710 #line 2471 "parser.yy" 8561 case 685: 8562 8563 /* Line 1806 of yacc.c */ 8564 #line 2535 "parser.yy" 8565 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8566 break; 8567 8568 case 688: 8569 8570 /* Line 1806 of yacc.c */ 8571 #line 2545 "parser.yy" 8572 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8573 break; 8574 8575 case 689: 8576 8577 /* Line 1806 of yacc.c */ 8578 #line 2547 "parser.yy" 8579 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8580 break; 8581 8582 case 690: 8583 8584 /* Line 1806 of yacc.c */ 8585 #line 2549 "parser.yy" 8586 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8587 break; 8588 8589 case 691: 8590 8591 /* Line 1806 of yacc.c */ 8592 #line 2551 "parser.yy" 8593 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8594 break; 8595 8596 case 692: 8597 8598 /* Line 1806 of yacc.c */ 8599 #line 2553 "parser.yy" 8600 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8601 break; 8602 8603 case 693: 8604 8605 /* Line 1806 of yacc.c */ 8606 #line 2555 "parser.yy" 8607 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8608 break; 8609 8610 case 694: 8611 8612 /* Line 1806 of yacc.c */ 8613 #line 2562 "parser.yy" 8614 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8615 break; 8616 8617 case 695: 8618 8619 /* Line 1806 of yacc.c */ 8620 #line 2564 "parser.yy" 8621 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8622 break; 8623 8624 case 696: 8625 8626 /* Line 1806 of yacc.c */ 8627 #line 2566 "parser.yy" 8628 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8629 break; 8630 8631 case 697: 8632 8633 /* Line 1806 of yacc.c */ 8634 #line 2568 "parser.yy" 8635 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8636 break; 8637 8638 case 698: 8639 8640 /* Line 1806 of yacc.c */ 8641 #line 2570 "parser.yy" 8642 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8643 break; 8644 8645 case 699: 8646 8647 /* Line 1806 of yacc.c */ 8648 #line 2572 "parser.yy" 8649 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8650 break; 8651 8652 case 700: 8653 8654 /* Line 1806 of yacc.c */ 8655 #line 2574 "parser.yy" 8656 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8657 break; 8658 8659 case 701: 8660 8661 /* Line 1806 of yacc.c */ 8662 #line 2576 "parser.yy" 8663 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8664 break; 8665 8666 case 702: 8667 8668 /* Line 1806 of yacc.c */ 8669 #line 2578 "parser.yy" 8670 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8671 break; 8672 8673 case 703: 8674 8675 /* Line 1806 of yacc.c */ 8676 #line 2580 "parser.yy" 8677 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8678 break; 8679 8680 case 704: 8681 8682 /* Line 1806 of yacc.c */ 8683 #line 2585 "parser.yy" 8711 8684 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8712 8685 break; 8713 8686 8714 case 668: 8715 8716 /* Line 1806 of yacc.c */ 8717 #line 2473 "parser.yy" 8718 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8719 break; 8720 8721 case 669: 8722 8723 /* Line 1806 of yacc.c */ 8724 #line 2476 "parser.yy" 8687 case 705: 8688 8689 /* Line 1806 of yacc.c */ 8690 #line 2587 "parser.yy" 8725 8691 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8726 8692 break; 8727 8693 8728 case 670: 8729 8730 /* Line 1806 of yacc.c */ 8731 #line 2478 "parser.yy" 8732 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8733 break; 8734 8735 case 671: 8736 8737 /* Line 1806 of yacc.c */ 8738 #line 2480 "parser.yy" 8739 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8740 break; 8741 8742 case 675: 8743 8744 /* Line 1806 of yacc.c */ 8745 #line 2499 "parser.yy" 8746 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8747 break; 8748 8749 case 676: 8750 8751 /* Line 1806 of yacc.c */ 8752 #line 2501 "parser.yy" 8753 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8754 break; 8755 8756 case 677: 8757 8758 /* Line 1806 of yacc.c */ 8759 #line 2503 "parser.yy" 8760 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8761 break; 8762 8763 case 678: 8764 8765 /* Line 1806 of yacc.c */ 8766 #line 2505 "parser.yy" 8767 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8768 break; 8769 8770 case 679: 8771 8772 /* Line 1806 of yacc.c */ 8773 #line 2507 "parser.yy" 8774 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8775 break; 8776 8777 case 681: 8778 8779 /* Line 1806 of yacc.c */ 8780 #line 2513 "parser.yy" 8781 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8782 break; 8783 8784 case 682: 8785 8786 /* Line 1806 of yacc.c */ 8787 #line 2515 "parser.yy" 8788 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8789 break; 8790 8791 case 683: 8792 8793 /* Line 1806 of yacc.c */ 8794 #line 2517 "parser.yy" 8795 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8796 break; 8797 8798 case 684: 8799 8800 /* Line 1806 of yacc.c */ 8801 #line 2522 "parser.yy" 8802 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8803 break; 8804 8805 case 685: 8806 8807 /* Line 1806 of yacc.c */ 8808 #line 2524 "parser.yy" 8809 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8810 break; 8811 8812 case 688: 8813 8814 /* Line 1806 of yacc.c */ 8815 #line 2534 "parser.yy" 8694 case 706: 8695 8696 /* Line 1806 of yacc.c */ 8697 #line 2592 "parser.yy" 8698 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8699 break; 8700 8701 case 707: 8702 8703 /* Line 1806 of yacc.c */ 8704 #line 2594 "parser.yy" 8705 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8706 break; 8707 8708 case 709: 8709 8710 /* Line 1806 of yacc.c */ 8711 #line 2621 "parser.yy" 8816 8712 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8817 8713 break; 8818 8714 8819 case 691:8820 8821 /* Line 1806 of yacc.c */ 8822 #line 2 544"parser.yy"8715 case 713: 8716 8717 /* Line 1806 of yacc.c */ 8718 #line 2632 "parser.yy" 8823 8719 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8824 8720 break; 8825 8721 8826 case 692:8827 8828 /* Line 1806 of yacc.c */ 8829 #line 2 546"parser.yy"8722 case 714: 8723 8724 /* Line 1806 of yacc.c */ 8725 #line 2634 "parser.yy" 8830 8726 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8831 8727 break; 8832 8728 8833 case 693:8834 8835 /* Line 1806 of yacc.c */ 8836 #line 2 548"parser.yy"8729 case 715: 8730 8731 /* Line 1806 of yacc.c */ 8732 #line 2636 "parser.yy" 8837 8733 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8838 8734 break; 8839 8735 8840 case 694:8841 8842 /* Line 1806 of yacc.c */ 8843 #line 2 550"parser.yy"8736 case 716: 8737 8738 /* Line 1806 of yacc.c */ 8739 #line 2638 "parser.yy" 8844 8740 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8845 8741 break; 8846 8742 8847 case 695:8848 8849 /* Line 1806 of yacc.c */ 8850 #line 2 552"parser.yy"8743 case 717: 8744 8745 /* Line 1806 of yacc.c */ 8746 #line 2640 "parser.yy" 8851 8747 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8852 8748 break; 8853 8749 8854 case 696:8855 8856 /* Line 1806 of yacc.c */ 8857 #line 2 554"parser.yy"8750 case 718: 8751 8752 /* Line 1806 of yacc.c */ 8753 #line 2642 "parser.yy" 8858 8754 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8859 8755 break; 8860 8756 8861 case 697: 8862 8863 /* Line 1806 of yacc.c */ 8864 #line 2561 "parser.yy" 8865 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8866 break; 8867 8868 case 698: 8869 8870 /* Line 1806 of yacc.c */ 8871 #line 2563 "parser.yy" 8757 case 719: 8758 8759 /* Line 1806 of yacc.c */ 8760 #line 2649 "parser.yy" 8761 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8762 break; 8763 8764 case 720: 8765 8766 /* Line 1806 of yacc.c */ 8767 #line 2651 "parser.yy" 8768 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8769 break; 8770 8771 case 721: 8772 8773 /* Line 1806 of yacc.c */ 8774 #line 2653 "parser.yy" 8872 8775 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8873 8776 break; 8874 8777 8875 case 699:8876 8877 /* Line 1806 of yacc.c */ 8878 #line 2 565 "parser.yy"8879 { (yyval.decl) = (yyvsp[( 6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl))->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8880 break; 8881 8882 case 7 00:8883 8884 /* Line 1806 of yacc.c */ 8885 #line 2 567 "parser.yy"8886 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8887 break; 8888 8889 case 7 01:8890 8891 /* Line 1806 of yacc.c */ 8892 #line 2 569 "parser.yy"8778 case 722: 8779 8780 /* Line 1806 of yacc.c */ 8781 #line 2655 "parser.yy" 8782 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8783 break; 8784 8785 case 723: 8786 8787 /* Line 1806 of yacc.c */ 8788 #line 2657 "parser.yy" 8789 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8790 break; 8791 8792 case 724: 8793 8794 /* Line 1806 of yacc.c */ 8795 #line 2659 "parser.yy" 8893 8796 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8894 8797 break; 8895 8798 8896 case 702:8897 8898 /* Line 1806 of yacc.c */8899 #line 2571 "parser.yy"8900 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8901 break;8902 8903 case 703:8904 8905 /* Line 1806 of yacc.c */8906 #line 2573 "parser.yy"8907 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8908 break;8909 8910 case 704:8911 8912 /* Line 1806 of yacc.c */8913 #line 2575 "parser.yy"8914 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8915 break;8916 8917 case 705:8918 8919 /* Line 1806 of yacc.c */8920 #line 2577 "parser.yy"8921 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8922 break;8923 8924 case 706:8925 8926 /* Line 1806 of yacc.c */8927 #line 2579 "parser.yy"8928 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8929 break;8930 8931 case 707:8932 8933 /* Line 1806 of yacc.c */8934 #line 2584 "parser.yy"8935 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }8936 break;8937 8938 case 708:8939 8940 /* Line 1806 of yacc.c */8941 #line 2586 "parser.yy"8942 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }8943 break;8944 8945 case 709:8946 8947 /* Line 1806 of yacc.c */8948 #line 2591 "parser.yy"8949 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }8950 break;8951 8952 case 710:8953 8954 /* Line 1806 of yacc.c */8955 #line 2593 "parser.yy"8956 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }8957 break;8958 8959 case 712:8960 8961 /* Line 1806 of yacc.c */8962 #line 2620 "parser.yy"8963 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }8964 break;8965 8966 case 716:8967 8968 /* Line 1806 of yacc.c */8969 #line 2631 "parser.yy"8970 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8971 break;8972 8973 case 717:8974 8975 /* Line 1806 of yacc.c */8976 #line 2633 "parser.yy"8977 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8978 break;8979 8980 case 718:8981 8982 /* Line 1806 of yacc.c */8983 #line 2635 "parser.yy"8984 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8985 break;8986 8987 case 719:8988 8989 /* Line 1806 of yacc.c */8990 #line 2637 "parser.yy"8991 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8992 break;8993 8994 case 720:8995 8996 /* Line 1806 of yacc.c */8997 #line 2639 "parser.yy"8998 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8999 break;9000 9001 case 721:9002 9003 /* Line 1806 of yacc.c */9004 #line 2641 "parser.yy"9005 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }9006 break;9007 9008 case 722:9009 9010 /* Line 1806 of yacc.c */9011 #line 2648 "parser.yy"9012 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9013 break;9014 9015 case 723:9016 9017 /* Line 1806 of yacc.c */9018 #line 2650 "parser.yy"9019 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9020 break;9021 9022 case 724:9023 9024 /* Line 1806 of yacc.c */9025 #line 2652 "parser.yy"9026 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9027 break;9028 9029 8799 case 725: 9030 8800 9031 8801 /* Line 1806 of yacc.c */ 9032 #line 26 54 "parser.yy"9033 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false) ); }8802 #line 2664 "parser.yy" 8803 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9034 8804 break; 9035 8805 … … 9037 8807 9038 8808 /* Line 1806 of yacc.c */ 9039 #line 26 56"parser.yy"9040 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false )); }8809 #line 2669 "parser.yy" 8810 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9041 8811 break; 9042 8812 … … 9044 8814 9045 8815 /* Line 1806 of yacc.c */ 9046 #line 26 58"parser.yy"9047 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl)); }8816 #line 2671 "parser.yy" 8817 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9048 8818 break; 9049 8819 … … 9051 8821 9052 8822 /* Line 1806 of yacc.c */ 9053 #line 2663 "parser.yy" 9054 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9055 break; 9056 9057 case 729: 9058 9059 /* Line 1806 of yacc.c */ 9060 #line 2668 "parser.yy" 9061 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); } 9062 break; 9063 9064 case 730: 9065 9066 /* Line 1806 of yacc.c */ 9067 #line 2670 "parser.yy" 8823 #line 2673 "parser.yy" 9068 8824 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9069 8825 break; … … 9072 8828 9073 8829 /* Line 1806 of yacc.c */ 9074 #line 2672 "parser.yy" 9075 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9076 break; 9077 9078 case 734: 9079 9080 /* Line 1806 of yacc.c */ 9081 #line 2696 "parser.yy" 8830 #line 2697 "parser.yy" 9082 8831 { (yyval.en) = 0; } 9083 8832 break; 9084 8833 9085 case 73 5:9086 9087 /* Line 1806 of yacc.c */ 9088 #line 269 8"parser.yy"8834 case 732: 8835 8836 /* Line 1806 of yacc.c */ 8837 #line 2699 "parser.yy" 9089 8838 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9090 8839 break; … … 9093 8842 9094 8843 /* Line 1806 of yacc.c */ 9095 #line 9096"Parser/parser.cc"8844 #line 8845 "Parser/parser.cc" 9096 8845 default: break; 9097 8846 } … … 9324 9073 9325 9074 /* Line 2067 of yacc.c */ 9326 #line 270 1"parser.yy"9075 #line 2702 "parser.yy" 9327 9076 9328 9077 // ----end of grammar---- -
src/Parser/parser.yy
re0ff3e6 r413f7f8 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 22 15:19:44201513 // Update Count : 1 08212 // Last Modified On : Fri Jul 3 13:53:45 2015 13 // Update Count : 1220 14 14 // 15 15 … … 118 118 119 119 %type<tok> zero_one identifier no_attr_identifier no_01_identifier 120 %type<tok> identifier_or_type def_name no_attr_identifier_or_typedef_name no_01_identifier_or_typedef_name120 %type<tok> identifier_or_type_name no_attr_identifier_or_type_name no_01_identifier_or_type_name 121 121 %type<constant> string_literal_list 122 122 … … 204 204 %type<decl> parameter_type_list_opt 205 205 206 %type<decl> paren_identifier paren_type def206 %type<decl> paren_identifier paren_type 207 207 208 208 %type<decl> storage_class storage_class_name storage_class_list … … 213 213 %type<decl> type_declarator type_declarator_name type_declaring_list 214 214 215 %type<decl> typedef type def_array typedef_declaration typedef_declaration_specifier typedef_expression216 %type<decl> type def_function typedef_parameter_array typedef_parameter_function typedef_parameter_ptr217 %type<decl> type def_parameter_redeclarator typedef_ptr typedef_redeclarator typedef_type_specifier218 %type<decl> typegen_declaration_specifier typegen_type_specifier 215 %type<decl> typedef type_array typedef_declaration typedef_declaration_specifier typedef_expression 216 %type<decl> type_function type_parameter_array type_parameter_function type_parameter_ptr 217 %type<decl> type_parameter_redeclarator type_ptr type_redeclarator typedef_type_specifier 218 %type<decl> typegen_declaration_specifier typegen_type_specifier typegen_name 219 219 220 220 %type<decl> type_name type_name_no_function … … 376 376 | no_attr_identifier ':' assignment_expression 377 377 { $$ = $3->set_asArgName( $1 ); } 378 // Only a list of no_attr_identifier_or_type def_name is allowed in this context. However, there is insufficient378 // Only a list of no_attr_identifier_or_type_name is allowed in this context. However, there is insufficient 379 379 // look ahead to distinguish between this list of parameter names and a tuple, so the tuple form must be used 380 380 // with an appropriate semantic check. … … 564 564 // CFA, one assignment_expression is factored out of comma_expression to eliminate a shift/reduce conflict with 565 565 // comma_expression in new_identifier_parameter_array and new_abstract_array 566 '[' push pop']'566 '[' ']' 567 567 { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); } 568 568 | '[' push assignment_expression pop ']' … … 924 924 925 925 label_list: // GCC, local label 926 no_attr_identifier_or_type def_name {}927 | label_list ',' no_attr_identifier_or_type def_name {}926 no_attr_identifier_or_type_name {} 927 | label_list ',' no_attr_identifier_or_type_name {} 928 928 ; 929 929 … … 965 965 $$ = $2->addQualifiers( $1 ); 966 966 } 967 | new_variable_declaration pop ',' push identifier_or_type def_name initializer_opt967 | new_variable_declaration pop ',' push identifier_or_type_name initializer_opt 968 968 { 969 969 typedefTable.addToEnclosingScope( *$5, TypedefTable::ID ); … … 975 975 // A semantic check is required to ensure asm_name only appears on declarations with implicit or explicit static 976 976 // storage-class 977 new_abstract_declarator_no_tuple identifier_or_type def_name asm_name_opt977 new_abstract_declarator_no_tuple identifier_or_type_name asm_name_opt 978 978 { 979 979 typedefTable.setNextIdentifier( *$2 ); 980 980 $$ = $1->addName( $2 ); 981 981 } 982 | new_abstract_tuple identifier_or_type def_name asm_name_opt982 | new_abstract_tuple identifier_or_type_name asm_name_opt 983 983 { 984 984 typedefTable.setNextIdentifier( *$2 ); 985 985 $$ = $1->addName( $2 ); 986 986 } 987 | type_qualifier_list new_abstract_tuple identifier_or_type def_name asm_name_opt987 | type_qualifier_list new_abstract_tuple identifier_or_type_name asm_name_opt 988 988 { 989 989 typedefTable.setNextIdentifier( *$3 ); … … 1013 1013 $$ = $3->addQualifiers( $1 )->addQualifiers( $2 ); 1014 1014 } 1015 | new_function_declaration pop ',' push identifier_or_type def_name1015 | new_function_declaration pop ',' push identifier_or_type_name 1016 1016 { 1017 1017 typedefTable.addToEnclosingScope( *$5, TypedefTable::ID ); … … 1021 1021 1022 1022 new_function_specifier: // CFA 1023 '[' push pop ']' identifier '(' push new_parameter_type_list_opt pop ')' 1024 { 1025 typedefTable.setNextIdentifier( *( $5 ) ); 1026 $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1027 } 1028 | '[' push pop ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')' 1029 { 1030 typedefTable.setNextIdentifier( *( $5 ) ); 1031 $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1032 } 1033 // identifier_or_typedef_name must be broken apart because of the sequence: 1023 '[' ']' identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' // S/R conflict 1024 { 1025 $$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true ); 1026 } 1027 // '[' ']' identifier '(' push new_parameter_type_list_opt pop ')' 1028 // { 1029 // typedefTable.setNextIdentifier( *$5 ); 1030 // $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1031 // } 1032 // | '[' ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')' 1033 // { 1034 // typedefTable.setNextIdentifier( *$5 ); 1035 // $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1036 // } 1037 // | '[' ']' typegen_name 1038 // identifier_or_type_name must be broken apart because of the sequence: 1034 1039 // 1035 // '[' ']' identifier_or_type def_name '(' new_parameter_type_list_opt ')'1040 // '[' ']' identifier_or_type_name '(' new_parameter_type_list_opt ')' 1036 1041 // '[' ']' type_specifier 1037 1042 // 1038 // type_specifier can resolve to just TYPEDEFname (e.g. typedef int T; int f( T );). Therefore this must be1039 // flattened to allow lookahead to the '(' without having to reduce identifier_or_type def_name.1040 | new_abstract_tuple identifier_or_type def_name '(' push new_parameter_type_list_opt pop ')'1043 // type_specifier can resolve to just TYPEDEFname (e.g., typedef int T; int f( T );). Therefore this must be 1044 // flattened to allow lookahead to the '(' without having to reduce identifier_or_type_name. 1045 | new_abstract_tuple identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' 1041 1046 // To obtain LR(1 ), this rule must be factored out from function return type (see new_abstract_declarator). 1042 1047 { 1043 1048 $$ = DeclarationNode::newFunction( $2, $1, $5, 0, true ); 1044 1049 } 1045 | new_function_return identifier_or_type def_name '(' push new_parameter_type_list_opt pop ')'1050 | new_function_return identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' 1046 1051 { 1047 1052 $$ = DeclarationNode::newFunction( $2, $1, $5, 0, true ); … … 1107 1112 ; 1108 1113 1109 typedef_expression: // GCC, naming expression type 1114 typedef_expression: 1115 // GCC, naming expression type: typedef name = exp; gives a name to the type of an expression 1110 1116 TYPEDEF no_attr_identifier '=' assignment_expression 1111 1117 { … … 1355 1361 aggregate_name: 1356 1362 aggregate_key '{' field_declaration_list '}' 1357 { $$ = DeclarationNode::newAggregate( $1, 0, 0, 0, $3 ); } 1358 | aggregate_key no_attr_identifier_or_typedef_name 1359 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, 0 ); } 1360 | aggregate_key no_attr_identifier_or_typedef_name '{' field_declaration_list '}' 1361 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0, $4 ); } 1362 | aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA 1363 { $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); } 1364 | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA 1365 { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); } 1366 | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA 1367 { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); } 1368 | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA 1369 { $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); } 1370 | aggregate_key TYPEGENname '(' type_name_list ')' // CFA 1371 {} 1372 | aggregate_key '(' push type_name_list pop ')' no_attr_identifier_or_typedef_name // CFA 1373 // push and pop are only to prevent S/R conflicts 1374 { $$ = DeclarationNode::newAggregate( $1, $7, 0, $4, 0 ); } 1375 | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA 1376 { $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); } 1363 { $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); } 1364 | aggregate_key no_attr_identifier_or_type_name 1365 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); } 1366 | aggregate_key no_attr_identifier_or_type_name '{' field_declaration_list '}' 1367 { $$ = DeclarationNode::newAggregate( $1, $2, 0, $4 ); } 1368 | aggregate_key '(' type_name_list ')' '{' field_declaration_list '}' // CFA 1369 { $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); } 1370 | aggregate_key typegen_name // CFA, S/R conflict 1371 { $$ = $2; } 1377 1372 ; 1378 1373 … … 1402 1397 new_field_declaring_list: // CFA, new style field declaration 1403 1398 new_abstract_declarator_tuple // CFA, no field name 1404 | new_abstract_declarator_tuple no_attr_identifier_or_type def_name1399 | new_abstract_declarator_tuple no_attr_identifier_or_type_name 1405 1400 { $$ = $1->addName( $2 ); } 1406 | new_field_declaring_list ',' no_attr_identifier_or_type def_name1401 | new_field_declaring_list ',' no_attr_identifier_or_type_name 1407 1402 { $$ = $1->appendList( $1->cloneType( $3 ) ); } 1408 1403 | new_field_declaring_list ',' // CFA, no field name … … 1425 1420 // A semantic check is required to ensure bit_subrange only appears on base type int. 1426 1421 { $$ = $1->addBitfield( $2 ); } 1427 | type def_redeclarator bit_subrange_size_opt1422 | type_redeclarator bit_subrange_size_opt 1428 1423 // A semantic check is required to ensure bit_subrange only appears on base type int. 1429 1424 { $$ = $1->addBitfield( $2 ); } … … 1450 1445 enum_key '{' enumerator_list comma_opt '}' 1451 1446 { $$ = DeclarationNode::newEnum( 0, $3 ); } 1452 | enum_key no_attr_identifier_or_type def_name '{' enumerator_list comma_opt '}'1447 | enum_key no_attr_identifier_or_type_name '{' enumerator_list comma_opt '}' 1453 1448 { $$ = DeclarationNode::newEnum( $2, $4 ); } 1454 | enum_key no_attr_identifier_or_type def_name1449 | enum_key no_attr_identifier_or_type_name 1455 1450 { $$ = DeclarationNode::newEnum( $2, 0 ); } 1456 1451 ; 1457 1452 1458 1453 enumerator_list: 1459 no_attr_identifier_or_type def_name enumerator_value_opt1454 no_attr_identifier_or_type_name enumerator_value_opt 1460 1455 { $$ = DeclarationNode::newEnumConstant( $1, $2 ); } 1461 | enumerator_list ',' no_attr_identifier_or_type def_name enumerator_value_opt1456 | enumerator_list ',' no_attr_identifier_or_type_name enumerator_value_opt 1462 1457 { $$ = $1->appendList( DeclarationNode::newEnumConstant( $3, $4 ) ); } 1463 1458 ; … … 1529 1524 1530 1525 // Provides optional identifier names (abstract_declarator/variable_declarator), no initialization, different semantics 1531 // for typedef name by using type def_parameter_redeclarator instead of typedef_redeclarator, and function prototypes.1526 // for typedef name by using type_parameter_redeclarator instead of typedef_redeclarator, and function prototypes. 1532 1527 1533 1528 new_parameter_declaration: // CFA, new & old style parameter declaration 1534 1529 parameter_declaration 1535 | new_identifier_parameter_declarator_no_tuple identifier_or_type def_name assignment_opt1530 | new_identifier_parameter_declarator_no_tuple identifier_or_type_name assignment_opt 1536 1531 { $$ = $1->addName( $2 ); } 1537 | new_abstract_tuple identifier_or_type def_name assignment_opt1532 | new_abstract_tuple identifier_or_type_name assignment_opt 1538 1533 // To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator). 1539 1534 { $$ = $1->addName( $2 ); } 1540 | type_qualifier_list new_abstract_tuple identifier_or_type def_name assignment_opt1535 | type_qualifier_list new_abstract_tuple identifier_or_type_name assignment_opt 1541 1536 { $$ = $2->addName( $3 )->addQualifiers( $1 ); } 1542 1537 | new_function_specifier … … 1559 1554 $$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) ); 1560 1555 } 1561 | declaration_specifier type def_parameter_redeclarator assignment_opt1556 | declaration_specifier type_parameter_redeclarator assignment_opt 1562 1557 { 1563 1558 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 1583 1578 ; 1584 1579 1585 identifier_or_type def_name:1580 identifier_or_type_name: 1586 1581 identifier 1587 1582 | TYPEDEFname … … 1589 1584 ; 1590 1585 1591 no_01_identifier_or_type def_name:1586 no_01_identifier_or_type_name: 1592 1587 no_01_identifier 1593 1588 | TYPEDEFname … … 1595 1590 ; 1596 1591 1597 no_attr_identifier_or_type def_name:1592 no_attr_identifier_or_type_name: 1598 1593 no_attr_identifier 1599 1594 | TYPEDEFname 1600 //| TYPEGENname1595 | TYPEGENname 1601 1596 ; 1602 1597 … … 1619 1614 // empty 1620 1615 { $$ = 0; } 1621 | '=' initializer { $$ = $2; } 1616 | '=' initializer 1617 { $$ = $2; } 1622 1618 ; 1623 1619 … … 1647 1643 designation: 1648 1644 designator_list ':' // C99, CFA uses ":" instead of "=" 1649 | no_attr_identifier_or_type def_name ':'// GCC, field name1650 1645 | no_attr_identifier_or_type_name ':' // GCC, field name 1646 { $$ = new VarRefNode( $1 ); } 1651 1647 ; 1652 1648 1653 1649 designator_list: // C99 1654 1650 designator 1655 | designator_list designator { $$ = (ExpressionNode *)( $1->set_link( $2 )); } 1651 | designator_list designator 1652 { $$ = (ExpressionNode *)( $1->set_link( $2 )); } 1656 1653 //| designator_list designator { $$ = new CompositeExprNode( $1, $2 ); } 1657 1654 ; 1658 1655 1659 1656 designator: 1660 '.' no_attr_identifier_or_type def_name// C99, field name1657 '.' no_attr_identifier_or_type_name // C99, field name 1661 1658 { $$ = new VarRefNode( $2 ); } 1662 1659 | '[' push assignment_expression pop ']' // C99, single array element … … 1700 1697 1701 1698 typegen_type_specifier: // CFA 1699 typegen_name 1700 | type_qualifier_list typegen_name 1701 { $$ = $2->addQualifiers( $1 ); } 1702 | typegen_type_specifier type_qualifier 1703 { $$ = $1->addQualifiers( $2 ); } 1704 ; 1705 1706 typegen_name: // CFA 1702 1707 TYPEGENname '(' type_name_list ')' 1703 1708 { $$ = DeclarationNode::newFromTypeGen( $1, $3 ); } 1704 | type_qualifier_list TYPEGENname '(' type_name_list ')'1705 { $$ = DeclarationNode::newFromTypeGen( $2, $4 )->addQualifiers( $1 ); }1706 | typegen_type_specifier type_qualifier1707 { $$ = $1->addQualifiers( $2 ); }1708 1709 ; 1709 1710 … … 1715 1716 1716 1717 type_parameter: // CFA 1717 type_class no_attr_identifier_or_type def_name1718 { typedefTable.addToEnclosingScope( *( $2 ), TypedefTable::TD ); }1718 type_class no_attr_identifier_or_type_name 1719 { typedefTable.addToEnclosingScope( *$2, TypedefTable::TD ); } 1719 1720 assertion_list_opt 1720 1721 { $$ = DeclarationNode::newTypeParam( $1, $2 )->addAssertions( $4 ); } … … 1739 1740 1740 1741 assertion: // CFA 1741 '|' no_attr_identifier_or_type def_name '(' type_name_list ')'1742 { 1743 typedefTable.openContext( * ( $2 ));1742 '|' no_attr_identifier_or_type_name '(' type_name_list ')' 1743 { 1744 typedefTable.openContext( *$2 ); 1744 1745 $$ = DeclarationNode::newContextUse( $2, $4 ); 1745 1746 } … … 1777 1778 1778 1779 type_declarator_name: // CFA 1779 no_attr_identifier_or_type def_name1780 no_attr_identifier_or_type_name 1780 1781 { 1781 1782 typedefTable.addToEnclosingScope( *$1, TypedefTable::TD ); 1782 1783 $$ = DeclarationNode::newTypeDecl( $1, 0 ); 1783 1784 } 1784 | no_01_identifier_or_type def_name '(' push type_parameter_list pop ')'1785 | no_01_identifier_or_type_name '(' push type_parameter_list pop ')' 1785 1786 { 1786 1787 typedefTable.addToEnclosingScope( *$1, TypedefTable::TG ); … … 1790 1791 1791 1792 context_specifier: // CFA 1792 CONTEXT no_attr_identifier_or_type def_name '(' push type_parameter_list pop ')' '{' '}'1793 CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}' 1793 1794 { 1794 1795 typedefTable.addToEnclosingScope( *$2, TypedefTable::ID ); 1795 1796 $$ = DeclarationNode::newContext( $2, $5, 0 ); 1796 1797 } 1797 | CONTEXT no_attr_identifier_or_type def_name '(' push type_parameter_list pop ')' '{'1798 | CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' 1798 1799 { 1799 1800 typedefTable.enterContext( *$2 ); … … 1830 1831 $$ = $1; 1831 1832 } 1832 | new_context_declaring_list pop ',' push identifier_or_type def_name1833 | new_context_declaring_list pop ',' push identifier_or_type_name 1833 1834 { 1834 1835 typedefTable.addToEnclosingScope2( *$5, TypedefTable::ID ); … … 1899 1900 external_function_definition: 1900 1901 function_definition 1901 1902 1902 // These rules are a concession to the "implicit int" type_specifier because there is a significant amount of 1903 1903 // code with functions missing a type-specifier on the return type. Parsing is possible because … … 1982 1982 variable_declarator 1983 1983 | function_declarator 1984 | type def_redeclarator1984 | type_redeclarator 1985 1985 ; 1986 1986 … … 2021 2021 2022 2022 any_word: // GCC 2023 identifier_or_type def_name {}2023 identifier_or_type_name {} 2024 2024 | storage_class_name {} 2025 2025 | basic_type_name {} … … 2103 2103 // This pattern parses a function declarator that is not redefining a typedef name. Because functions cannot be nested, 2104 2104 // there is no context where a function definition can redefine a typedef name. To allow nested functions requires 2105 // further separation of variable and function declarators in type def_redeclarator. The pattern precludes returning2105 // further separation of variable and function declarators in type_redeclarator. The pattern precludes returning 2106 2106 // arrays and functions versus pointers to arrays and functions. 2107 2107 … … 2176 2176 ; 2177 2177 2178 // This pattern parses a declaration for a variable or function prototype that redefines a type defname, e.g.:2178 // This pattern parses a declaration for a variable or function prototype that redefines a type name, e.g.: 2179 2179 // 2180 2180 // typedef int foo; … … 2186 2186 // and functions versus pointers to arrays and functions. 2187 2187 2188 typedef_redeclarator: 2189 paren_typedef attribute_list_opt 2190 | typedef_ptr 2191 | typedef_array attribute_list_opt 2192 | typedef_function attribute_list_opt 2193 ; 2194 2195 paren_typedef: 2196 TYPEDEFname 2197 { 2198 typedefTable.setNextIdentifier( *( $1 ) ); 2199 $$ = DeclarationNode::newName( $1 ); 2200 } 2201 | '(' paren_typedef ')' 2202 { $$ = $2; } 2203 ; 2204 2205 typedef_ptr: 2206 '*' typedef_redeclarator 2188 type_redeclarator: 2189 paren_type attribute_list_opt 2190 | type_ptr 2191 | type_array attribute_list_opt 2192 | type_function attribute_list_opt 2193 ; 2194 2195 paren_type: 2196 typedef 2197 | '(' paren_type ')' 2198 { $$ = $2; } 2199 ; 2200 2201 type_ptr: 2202 '*' type_redeclarator 2207 2203 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); } 2208 | '*' type_qualifier_list type def_redeclarator2204 | '*' type_qualifier_list type_redeclarator 2209 2205 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); } 2210 | '(' type def_ptr ')'2211 { $$ = $2; } 2212 ; 2213 2214 type def_array:2215 paren_type defarray_dimension2206 | '(' type_ptr ')' 2207 { $$ = $2; } 2208 ; 2209 2210 type_array: 2211 paren_type array_dimension 2216 2212 { $$ = $1->addArray( $2 ); } 2217 | '(' type def_ptr ')' array_dimension2213 | '(' type_ptr ')' array_dimension 2218 2214 { $$ = $2->addArray( $4 ); } 2219 | '(' type def_array ')' multi_array_dimension// redundant parenthesis2215 | '(' type_array ')' multi_array_dimension // redundant parenthesis 2220 2216 { $$ = $2->addArray( $4 ); } 2221 | '(' type def_array ')' // redundant parenthesis2222 { $$ = $2; } 2223 ; 2224 2225 type def_function:2226 paren_type def'(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2217 | '(' type_array ')' // redundant parenthesis 2218 { $$ = $2; } 2219 ; 2220 2221 type_function: 2222 paren_type '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2227 2223 { $$ = $1->addParamList( $4 ); } 2228 | '(' type def_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2224 | '(' type_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2229 2225 { $$ = $2->addParamList( $6 ); } 2230 | '(' type def_function ')'// redundant parenthesis2226 | '(' type_function ')' // redundant parenthesis 2231 2227 { $$ = $2; } 2232 2228 ; … … 2299 2295 // functions. 2300 2296 2301 type def_parameter_redeclarator:2297 type_parameter_redeclarator: 2302 2298 typedef attribute_list_opt 2303 | type def_parameter_ptr2304 | type def_parameter_array attribute_list_opt2305 | type def_parameter_function attribute_list_opt2299 | type_parameter_ptr 2300 | type_parameter_array attribute_list_opt 2301 | type_parameter_function attribute_list_opt 2306 2302 ; 2307 2303 … … 2312 2308 $$ = DeclarationNode::newName( $1 ); 2313 2309 } 2314 ; 2315 2316 typedef_parameter_ptr: 2317 '*' typedef_parameter_redeclarator 2310 | TYPEGENname 2311 { 2312 typedefTable.setNextIdentifier( *$1 ); 2313 $$ = DeclarationNode::newName( $1 ); 2314 } 2315 ; 2316 2317 type_parameter_ptr: 2318 '*' type_parameter_redeclarator 2318 2319 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); } 2319 | '*' type_qualifier_list type def_parameter_redeclarator2320 | '*' type_qualifier_list type_parameter_redeclarator 2320 2321 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); } 2321 | '(' type def_parameter_ptr ')'2322 { $$ = $2; } 2323 ; 2324 2325 type def_parameter_array:2322 | '(' type_parameter_ptr ')' 2323 { $$ = $2; } 2324 ; 2325 2326 type_parameter_array: 2326 2327 typedef array_parameter_dimension 2327 2328 { $$ = $1->addArray( $2 ); } 2328 | '(' type def_parameter_ptr ')' array_parameter_dimension2329 | '(' type_parameter_ptr ')' array_parameter_dimension 2329 2330 { $$ = $2->addArray( $4 ); } 2330 2331 ; 2331 2332 2332 type def_parameter_function:2333 type_parameter_function: 2333 2334 typedef '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2334 2335 { $$ = $1->addParamList( $4 ); } 2335 | '(' type def_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2336 | '(' type_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2336 2337 { $$ = $2->addParamList( $6 ); } 2337 2338 ; … … 2386 2387 array_dimension: 2387 2388 // Only the first dimension can be empty. 2388 '[' push pop']'2389 '[' ']' 2389 2390 { $$ = DeclarationNode::newArray( 0, 0, false ); } 2390 | '[' push pop']' multi_array_dimension2391 { $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $ 5); }2391 | '[' ']' multi_array_dimension 2392 { $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $3 ); } 2392 2393 | multi_array_dimension 2393 2394 ; … … 2465 2466 2466 2467 array_parameter_1st_dimension: 2467 '[' push pop']'2468 '[' ']' 2468 2469 { $$ = DeclarationNode::newArray( 0, 0, false ); } 2469 2470 // multi_array_dimension handles the '[' '*' ']' case … … 2558 2559 // Only the first dimension can be empty or have qualifiers. Empty dimension must be factored out due to 2559 2560 // shift/reduce conflict with new-style empty (void) function return type. 2560 '[' push pop']' type_specifier2561 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2561 '[' ']' type_specifier 2562 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2562 2563 | new_array_parameter_1st_dimension type_specifier 2563 2564 { $$ = $2->addNewArray( $1 ); } 2564 | '[' push pop']' multi_array_dimension type_specifier2565 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2565 | '[' ']' multi_array_dimension type_specifier 2566 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2566 2567 | new_array_parameter_1st_dimension multi_array_dimension type_specifier 2567 2568 { $$ = $3->addNewArray( $2 )->addNewArray( $1 ); } 2568 2569 | multi_array_dimension type_specifier 2569 2570 { $$ = $2->addNewArray( $1 ); } 2570 | '[' push pop']' new_identifier_parameter_ptr2571 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2571 | '[' ']' new_identifier_parameter_ptr 2572 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2572 2573 | new_array_parameter_1st_dimension new_identifier_parameter_ptr 2573 2574 { $$ = $2->addNewArray( $1 ); } 2574 | '[' push pop']' multi_array_dimension new_identifier_parameter_ptr2575 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2575 | '[' ']' multi_array_dimension new_identifier_parameter_ptr 2576 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2576 2577 | new_array_parameter_1st_dimension multi_array_dimension new_identifier_parameter_ptr 2577 2578 { $$ = $3->addNewArray( $2 )->addNewArray( $1 ); } … … 2602 2603 // These rules need LR(3): 2603 2604 // 2604 // new_abstract_tuple identifier_or_type def_name2605 // '[' new_parameter_list ']' identifier_or_type def_name '(' new_parameter_type_list_opt ')'2605 // new_abstract_tuple identifier_or_type_name 2606 // '[' new_parameter_list ']' identifier_or_type_name '(' new_parameter_type_list_opt ')' 2606 2607 // 2607 2608 // since a function return type can be syntactically identical to a tuple type: … … 2610 2611 // [int, int] f( int ); 2611 2612 // 2612 // Therefore, it is necessary to look at the token after identifier_or_type def_name to know when to reduce2613 // Therefore, it is necessary to look at the token after identifier_or_type_name to know when to reduce 2613 2614 // new_abstract_tuple. To make this LR(1), several rules have to be flattened (lengthened) to allow the necessary 2614 2615 // lookahead. To accomplish this, new_abstract_declarator has an entry point without tuple, and tuple declarations are … … 2645 2646 // Only the first dimension can be empty. Empty dimension must be factored out due to shift/reduce conflict with 2646 2647 // empty (void) function return type. 2647 '[' push pop']' type_specifier2648 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2649 | '[' push pop']' multi_array_dimension type_specifier2650 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2648 '[' ']' type_specifier 2649 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2650 | '[' ']' multi_array_dimension type_specifier 2651 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2651 2652 | multi_array_dimension type_specifier 2652 2653 { $$ = $2->addNewArray( $1 ); } 2653 | '[' push pop']' new_abstract_ptr2654 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2655 | '[' push pop']' multi_array_dimension new_abstract_ptr2656 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2654 | '[' ']' new_abstract_ptr 2655 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2656 | '[' ']' multi_array_dimension new_abstract_ptr 2657 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2657 2658 | multi_array_dimension new_abstract_ptr 2658 2659 { $$ = $2->addNewArray( $1 ); } … … 2665 2666 2666 2667 new_abstract_function: // CFA 2667 '[' push pop']' '(' new_parameter_type_list_opt ')'2668 { $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $ 6, 0 ); }2668 '[' ']' '(' new_parameter_type_list_opt ')' 2669 { $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $4, 0 ); } 2669 2670 | new_abstract_tuple '(' push new_parameter_type_list_opt pop ')' 2670 2671 { $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); } -
src/ResolvExpr/AlternativeFinder.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sat May 16 23:52:08 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 22 17:19:54201513 // Update Count : 1712 // Last Modified On : Fri Jul 3 17:58:39 2015 13 // Update Count : 22 14 14 // 15 15 … … 543 543 544 544 AlternativeFinder funcFinder( indexer, env ); { 545 NameExpr *fname ;545 NameExpr *fname = 0;; 546 546 if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function())) 547 547 && ( fname->get_name() == std::string("&&")) ) { 548 alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) ); 548 VoidType v = Type::Qualifiers(); // resolve to type void * 549 PointerType pt( Type::Qualifiers(), v.clone() ); 550 UntypedExpr *vexpr = untypedExpr->clone(); 551 vexpr->get_results().push_front( pt.clone() ); 552 alternatives.push_back( Alternative( vexpr, env, Cost()) ); 549 553 return; 550 554 } -
src/ResolvExpr/Resolver.cc
re0ff3e6 r413f7f8 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jun 24 16:20:35201513 // Update Count : 15 611 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 3 16:18:20 2015 13 // Update Count : 159 14 14 // 15 15 … … 274 274 // must resolve the argument for a computed goto 275 275 if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement 276 if ( NameExpr * arg = dynamic_cast< NameExpr * >( branchStmt->get_computedTarget()) ) {276 if ( Expression * arg = branchStmt->get_computedTarget() ) { 277 277 VoidType v = Type::Qualifiers(); // cast to void * for the alternative finder 278 278 PointerType pt( Type::Qualifiers(), v.clone() ); -
src/ResolvExpr/Unify.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sun May 17 12:27:10 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 17 13:08:48201513 // Update Count : 612 // Last Modified On : Fri Jun 26 14:57:05 2015 13 // Update Count : 7 14 14 // 15 15 -
src/SymTab/Validate.cc
re0ff3e6 r413f7f8 10 10 // Created On : Sun May 17 21:50:04 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Jun 24 16:20:50201513 // Update Count : 3012 // Last Modified On : Tue Jul 07 10:41:23 2015 13 // Update Count : 136 14 14 // 15 15 … … 52 52 #include "UniqueName.h" 53 53 #include "AddVisit.h" 54 #include "MakeLibCfa.h" 54 55 55 56 … … 126 127 std::list< Declaration * > &get_declsToAdd() { return declsToAdd; } 127 128 129 virtual void visit( EnumDecl *enumDecl ); 128 130 virtual void visit( StructDecl *structDecl ); 129 131 virtual void visit( UnionDecl *structDecl ); … … 291 293 292 294 for ( std::list< Declaration * >::iterator i = enumDecl->get_members().begin(); i != enumDecl->get_members().end(); ++i ) { 293 ObjectDecl * obj = dynamic_cast< ObjectDecl * >( *i );295 ObjectDecl * obj = dynamic_cast< ObjectDecl * >( *i ); 294 296 assert( obj ); 295 obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false, false ), enumDecl->get_name() ) ); 297 // obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false, false ), enumDecl->get_name() ) ); 298 BasicType * enumType = new BasicType( Type::Qualifiers(), BasicType::SignedInt ); 299 obj->set_type( enumType ) ; 296 300 } // for 297 301 Parent::visit( enumDecl ); … … 543 547 } 544 548 549 //E ?=?(E volatile*, int), 550 // ?=?(E _Atomic volatile*, int); 551 void makeEnumAssignment( EnumDecl *enumDecl, EnumInstType *refType, unsigned int functionNesting, std::list< Declaration * > &declsToAdd ) { 552 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 553 554 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 555 assignType->get_returnVals().push_back( returnVal ); 556 557 // need two assignment operators with different types 558 FunctionType * assignType2 = assignType->clone(); 559 560 // E ?=?(E volatile *, E) 561 Type *etype = refType->clone(); 562 // etype->get_qualifiers() += Type::Qualifiers(false, true, false, false, false, false); 563 564 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), etype ), 0 ); 565 assignType->get_parameters().push_back( dstParam ); 566 567 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, etype->clone(), 0 ); 568 assignType->get_parameters().push_back( srcParam ); 569 570 // E ?=?(E volatile *, int) 571 assignType2->get_parameters().push_back( dstParam->clone() ); 572 BasicType * paramType = new BasicType(Type::Qualifiers(), BasicType::SignedInt); 573 ObjectDecl *srcParam2 = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, paramType, 0 ); 574 assignType2->get_parameters().push_back( srcParam2 ); 575 576 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 577 // because each unit generates copies of the default routines for each aggregate. 578 579 // since there is no definition, these should not be inline 580 // make these intrinsic so that the code generator does not make use of them 581 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::Intrinsic, assignType, 0, false, false ); 582 assignDecl->fixUniqueId(); 583 FunctionDecl *assignDecl2 = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::Intrinsic, assignType2, 0, false, false ); 584 assignDecl2->fixUniqueId(); 585 586 std::list< Declaration * > assigns; 587 assigns.push_back( assignDecl ); 588 assigns.push_back( assignDecl2 ); 589 590 LibCfa::makeLibCfa( assigns ); 591 592 // need to remove the prototypes, since these can appear nested in a routine 593 for (int start = 0, end = assigns.size()/2; start < end; start++) { 594 delete assigns.front(); 595 assigns.pop_front(); 596 } 597 598 declsToAdd.insert( declsToAdd.begin(), assigns.begin(), assigns.end() ); 599 600 // return assignDecl; 601 } 602 603 545 604 Declaration *makeStructAssignment( StructDecl *aggregateDecl, StructInstType *refType, unsigned int functionNesting ) { 546 605 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); … … 612 671 613 672 return assignDecl; 673 } 674 675 void AddStructAssignment::visit( EnumDecl *enumDecl ) { 676 if ( ! enumDecl->get_members().empty() ) { 677 EnumInstType *enumInst = new EnumInstType( Type::Qualifiers(), enumDecl->get_name() ); 678 // enumInst->set_baseEnum( enumDecl ); 679 // declsToAdd.push_back( 680 makeEnumAssignment( enumDecl, enumInst, functionNesting, declsToAdd ); 681 } 614 682 } 615 683 -
src/SynTree/Statement.cc
re0ff3e6 r413f7f8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 23 11:42:09201513 // Update Count : 2 112 // Last Modified On : Mon Jun 29 17:37:10 2015 13 // Update Count : 22 14 14 // 15 15 … … 28 28 using std::endl; 29 29 30 Statement::Statement( std::list<Label> _labels ) : labels( _labels ) {}30 Statement::Statement( std::list<Label> _labels ) : labels( _labels ) {} 31 31 32 32 void Statement::print( std::ostream &, int indent ) const {} … … 34 34 Statement::~Statement() {} 35 35 36 ExprStmt::ExprStmt( std::list<Label> _labels, Expression *_expr ) : Statement( _labels ), expr(_expr ) {}36 ExprStmt::ExprStmt( std::list<Label> _labels, Expression *_expr ) : Statement( _labels ), expr( _expr ) {} 37 37 38 38 ExprStmt::~ExprStmt() {} … … 46 46 47 47 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) : 48 Statement( labels ), originalTarget( _target ), target(_target ), type(_type ) {48 Statement( labels ), originalTarget( _target ), target( _target ), computedTarget( NULL ), type( _type ) { 49 49 //actually this is a syntactic error signaled by the parser 50 50 if ( type == BranchStmt::Goto && target.size() == 0 ) … … 53 53 54 54 BranchStmt::BranchStmt( std::list<Label> labels, Expression *_computedTarget, Type _type ) throw ( SemanticError ) : 55 Statement( labels ), computedTarget( _computedTarget ), type(_type ) {55 Statement( labels ), computedTarget( _computedTarget ), type( _type ) { 56 56 if ( type != BranchStmt::Goto || computedTarget == 0 ) 57 57 throw SemanticError("Computed target not valid in branch statement"); … … 75 75 76 76 IfStmt::IfStmt( std::list<Label> _labels, Expression *_condition, Statement *_thenPart, Statement *_elsePart ): 77 Statement( _labels ), condition(_condition ), thenPart(_thenPart ), elsePart(_elsePart ) {}77 Statement( _labels ), condition( _condition ), thenPart( _thenPart ), elsePart( _elsePart ) {} 78 78 79 79 IfStmt::~IfStmt() {} … … 93 93 94 94 SwitchStmt::SwitchStmt( std::list<Label> _labels, Expression * _condition, std::list<Statement *> &_branches ): 95 Statement( _labels ), condition(_condition ), branches(_branches ) {95 Statement( _labels ), condition( _condition ), branches( _branches ) { 96 96 } 97 97 … … 117 117 118 118 CaseStmt::CaseStmt( std::list<Label> _labels, Expression *_condition, std::list<Statement *> &_statements, bool deflt ) throw ( SemanticError ) : 119 Statement( _labels ), condition(_condition ), stmts(_statements ), _isDefault( deflt ) {119 Statement( _labels ), condition( _condition ), stmts( _statements ), _isDefault( deflt ) { 120 120 if ( isDefault() && condition != 0 ) 121 121 throw SemanticError("default with conditions"); … … 149 149 //ChooseStmt::ChooseStmt( std::list<Label> labels, Expression *condition, Statement *body ) {} 150 150 ChooseStmt::ChooseStmt( std::list<Label> _labels, Expression * _condition, std::list<Statement *> &_branches ): 151 Statement( _labels ), condition(_condition ), branches(_branches ) {151 Statement( _labels ), condition( _condition ), branches( _branches ) { 152 152 } 153 153 -
src/SynTree/Type.h
re0ff3e6 r413f7f8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 21:50:38201513 // Update Count : 1 212 // Last Modified On : Fri Jun 26 16:47:54 2015 13 // Update Count : 13 14 14 // 15 15 … … 57 57 bool get_isAttribute() { return tq.isAttribute; } 58 58 void set_isConst( bool newValue ) { tq.isConst = newValue; } 59 void set_i isVolatile( bool newValue ) { tq.isVolatile = newValue; }59 void set_isVolatile( bool newValue ) { tq.isVolatile = newValue; } 60 60 void set_isRestrict( bool newValue ) { tq.isRestrict = newValue; } 61 61 void set_isLvalue( bool newValue ) { tq.isLvalue = newValue; } -
src/Tests/LabelledExit.c
re0ff3e6 r413f7f8 1 1 int main() { 2 3 2 int i; 3 int x, y; 4 4 5 5 x = 0; y = 0; 6 6 7 // block, labelled exits7 // block, labelled exits 8 8 9 9 Block: { 10 if ( x == y ) {11 12 y += 1;13 if ( y < 10 ) break Block;14 15 }16 10 if ( x == y ) { 11 for ( ; i < y; ) { 12 y += 1; 13 if ( y < 10 ) break Block; 14 } 15 } 16 } 17 17 18 // loops, labelled exits18 // loops, labelled exits 19 19 20 20 w1: while ( y == 10 ); 21 21 22 22 w2: while ( x < 10 ) { 23 24 25 26 27 }23 while (y < 5 ) { 24 if ( y == 3 ) break w2; 25 } 26 x += 1; 27 } 28 28 29 29 A: for ( i = 0; i < 10; i += 1 ) { 30 B: for ( i = 0; i < 10; i += 1 ) {31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 }30 B: for ( i = 0; i < 10; i += 1 ) { 31 C: for ( i = 0; i < 10; i += 1 ) { 32 goto A; 33 goto B; 34 goto C; 35 continue A; 36 continue B; 37 continue C; 38 continue; 39 break A; 40 break B; 41 break C; 42 break; 43 } 44 } 45 } 46 46 47 47 D: for ( ;; ) { 48 49 50 }48 break D; 49 continue D; 50 } 51 51 52 53 52 Z : i += 1; 53 goto Z; 54 54 X: Y: for ( ;; ) { 55 56 57 58 59 60 }55 i += 1; 56 if ( i > 5 ) continue X; 57 if ( i < 5 ) break X; 58 if ( i < 5 ) break Y; 59 break; 60 } 61 61 XX: for ( ;; ) { 62 YY: for ( ;; ) {63 64 65 66 67 68 69 70 71 72 73 74 }62 YY: for ( ;; ) { 63 ZZ: for ( ;; ) { 64 i += 1; 65 if ( i > 5 ) continue XX; 66 if ( i < 5 ) continue YY; 67 if ( i < 5 ) continue ZZ; 68 if ( i > 5 ) break XX; 69 if ( i < 5 ) break YY; 70 if ( i < 5 ) break ZZ; 71 break; 72 } 73 } 74 } 75 75 76 77 78 79 76 for ( ;; ) ; 77 for ( int i = 0 ;; ) ; 78 for ( ; i < 0; ) ; 79 for ( ; ; i += 1 ) ; 80 80 L0: L1: L2: L3: L4: L5: L6: L7: L8: L9: 81 81 L10: L11: L12: L13: L14: L15: L16: L17: L18: L19: 82 82 L20: L21: L22: L23: L24: L25: L26: L27: L28: L29: 83 83 L31: L32: L33: L34: 84 85 break L0;86 84 for ( ;; ) { 85 break L0; 86 } 87 87 88 // switch/choose, labelled exits88 // switch/choose, labelled exits 89 89 90 90 Switch: switch ( i ) { 91 default:92 93 case 0:94 95 96 case 1:97 98 99 100 101 102 103 }91 default: 92 i += 1; 93 case 0: 94 i += 1; 95 break Switch; 96 case 1: 97 switch ( i ) { 98 case 0: 99 break Switch; 100 default: 101 ; break; 102 } 103 } 104 104 105 105 Choose: choose ( i ) { 106 default: 107 i += 1; 108 case 0: 109 i += 1; 110 break Choose; 111 case 1: 112 choose ( i ) { 113 case 0: 114 break; 115 default: 116 break Choose; 117 } 118 fallthru; 119 case 2: 120 i += 1; 121 } 122 #if 0 123 // computed goto 106 default: 107 i += 1; 108 case 0: 109 i += 1; 110 break Choose; 111 case 1: 112 choose ( i ) { 113 case 0: 114 break; 115 default: 116 break Choose; 117 } 118 fallthru; 119 case 2: 120 i += 1; 121 } 124 122 125 { 126 static void *array[] = { &&foo, &&bar, &&hack }; 123 // computed goto 124 { 125 void *array[] = { &&foo, &&bar, &&hack }; 126 foo: bar: hack: 127 &&foo; 128 &&bar; 129 goto *array[i]; 130 } 127 131 128 foo: bar: hack:129 goto *array[i];130 }131 #endif132 132 #if 0 133 133 Q: if ( i > 5 ) { 134 135 136 137 134 i += 1; 135 break Q; 136 } else 137 i += 1; 138 138 #endif 139 139 } 140 141 // Local Variables: // 142 // tab-width: 4 // 143 // compile-command: "cfa LabelledExit.c" // 144 // End: // -
src/examples/includes.c
re0ff3e6 r413f7f8 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 15:54:17201513 // Update Count : 712 // Last Modified On : Fri Jun 26 15:04:33 2015 13 // Update Count : 14 14 14 // 15 15 16 #if 116 #if 0 17 17 //#include <aio.h> // FAILS -- includes locale.h 18 18 #include <aliases.h> … … 20 20 #include <ansidecl.h> 21 21 #include <ar.h> 22 //#include <argp.h> // FAILS -- includes locale.h23 //#include <argz.h> // FAILS -- includes locale.h22 #include <argp.h> // FAILS -- includes locale.h 23 #include <argz.h> // FAILS -- includes locale.h 24 24 #include <assert.h> 25 25 #include <bfd.h> // contains structure field "type" 26 26 #include <complex.h> 27 //#include <ctype.h> // FAILS -- includes locale.h27 #include <ctype.h> // FAILS -- includes locale.h 28 28 #include <errno.h> 29 29 #include <fenv.h> … … 32 32 #include <iso646.h> 33 33 #include <limits.h> 34 //#include <locale.h> // FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."34 #include <locale.h> // FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..." 35 35 #include <math.h> // contains structure field "type" 36 36 #include <setjmp.h> … … 41 41 #include <stdlib.h> 42 42 #include <stdio.h> 43 //#include <string.h> // FAILS -- includes locale.h43 #include <string.h> // FAILS -- includes locale.h 44 44 #include <tgmath.h> 45 //#include <time.h> // FAILS -- includes locale.h45 #include <time.h> // FAILS -- includes locale.h 46 46 #include <unistd.h> 47 //#include <wchar.h> // FAILS -- includes locale.h48 //#include <wctype.h> // FAILS -- includes locale.h47 #include <wchar.h> // FAILS -- includes locale.h 48 #include <wctype.h> // FAILS -- includes locale.h 49 49 #include <curses.h> 50 50 #else 51 #include < curses.h>51 #include <aio.h> // FAILS -- includes locale.h 52 52 #endif // 0 53 53 -
src/main.cc
re0ff3e6 r413f7f8 9 9 // Author : Richard C. Bilson 10 10 // Created On : Fri May 15 23:12:02 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon Ju n 22 17:02:11201513 // Update Count : 7 311 // Last Modified By : Rob Schluntz 12 // Last Modified On : Mon Jul 06 15:01:26 2015 13 // Update Count : 79 14 14 // 15 15 … … 277 277 GenPoly::box( translationUnit ); 278 278 279 // print thetree right before code generation279 // print tree right before code generation 280 280 if ( codegenp ) { 281 281 printAll( translationUnit, std::cout ); … … 283 283 } // if 284 284 285 CodeGen::generate( translationUnit, *output, protop );285 CodeGen::generate( translationUnit, *output, true ); //protop ); 286 286 287 287 if ( output != &std::cout ) {
Note:
See TracChangeset
for help on using the changeset viewer.