Changeset 5972 for branches/2014/dev_r4650_UKMO14.5_SST_BIAS_CORRECTION/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.c
- Timestamp:
- 2015-12-02T09:52:20+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.5_SST_BIAS_CORRECTION/NEMOGCM/EXTERNAL/AGRIF/LIB/fortran.c
r5967 r5972 1 /* A Bison parser, made by GNU Bison 2.3. */ 2 3 /* Skeleton implementation for Bison's Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6 Free Software Foundation, Inc. 7 8 This program is free software; you can redistribute it and/or modify 1 /* A Bison parser, made by GNU Bison 2.7. */ 2 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 9 8 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation ; either version 2, or (at your option)11 any later version.12 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 13 12 This program is distributed in the hope that it will be useful, 14 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 15 GNU General Public License for more details. 17 16 18 17 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 Boston, MA 02110-1301, USA. */ 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 22 19 23 20 /* As a special exception, you may create a larger work that contains … … 30 27 Bison output files to be licensed under the GNU General Public 31 28 License without this special exception. 32 29 33 30 This special exception was added by the Free Software Foundation in 34 31 version 2.2 of Bison. */ … … 48 45 49 46 /* Bison version. */ 50 #define YYBISON_VERSION "2.3"51 47 52 48 /* Skeleton name. */ … … 56 52 #define YYPURE 0 57 53 58 /* Using locations. */ 59 #define YYLSP_NEEDED 0 54 /* Push parsers. */ 55 #define YYPUSH 0 56 57 /* Pull parsers. */ 58 #define YYPULL 1 59 60 60 61 61 /* Substitute the variable and function names. */ 62 #define yyparse fortranparse 63 #define yylex fortranlex 64 #define yyerror fortranerror 65 #define yylval fortranlval 66 #define yychar fortranchar 67 #define yydebug fortrandebug 68 #define yynerrs fortrannerrs 69 70 71 /* Tokens. */ 72 #ifndef YYTOKENTYPE 73 # define YYTOKENTYPE 74 /* Put the tokens into the symbol table, so that GDB and other debuggers 75 know about them. */ 76 enum yytokentype { 77 TOK_BINARY_OP = 258, 78 TOK_NEQV = 259, 79 TOK_EQV = 260, 80 TOK_XOR = 261, 81 TOK_OR = 262, 82 TOK_AND = 263, 83 TOK_NOT = 264, 84 TOK_NE = 265, 85 TOK_EQ = 266, 86 TOK_GE = 267, 87 TOK_LE = 268, 88 TOK_GT = 269, 89 TOK_LT = 270, 90 TOK_UNARY_OP = 271, 91 TOK_DSLASH = 272, 92 TOK_SLASH = 273, 93 TOK_DASTER = 274, 94 TOK_SEP = 275, 95 TOK_SEMICOLON = 276, 96 TOK_NEXTLINE = 277, 97 TOK_PARAMETER = 278, 98 TOK_RESULT = 279, 99 TOK_ONLY = 280, 100 TOK_INCLUDE = 281, 101 TOK_SUBROUTINE = 282, 102 TOK_PROGRAM = 283, 103 TOK_FUNCTION = 284, 104 TOK_OMP = 285, 105 TOK_DOLLAR = 286, 106 TOK_FORMAT = 287, 107 TOK_MAX = 288, 108 TOK_TANH = 289, 109 TOK_WHERE = 290, 110 TOK_ELSEWHERE = 291, 111 TOK_ENDWHERE = 292, 112 TOK_MAXVAL = 293, 113 TOK_TRIM = 294, 114 TOK_SUM = 295, 115 TOK_SQRT = 296, 116 TOK_CASE = 297, 117 TOK_SELECTCASE = 298, 118 TOK_FILE = 299, 119 TOK_END = 300, 120 TOK_ERR = 301, 121 TOK_DONOTTREAT = 302, 122 TOK_ENDDONOTTREAT = 303, 123 TOK_EXIST = 304, 124 TOK_MIN = 305, 125 TOK_FLOAT = 306, 126 TOK_EXP = 307, 127 TOK_COS = 308, 128 TOK_COSH = 309, 129 TOK_ACOS = 310, 130 TOK_NINT = 311, 131 TOK_CYCLE = 312, 132 TOK_SIN = 313, 133 TOK_SINH = 314, 134 TOK_ASIN = 315, 135 TOK_EQUIVALENCE = 316, 136 TOK_BACKSPACE = 317, 137 TOK_LOG = 318, 138 TOK_TAN = 319, 139 TOK_ATAN = 320, 140 TOK_RECURSIVE = 321, 141 TOK_ABS = 322, 142 TOK_MOD = 323, 143 TOK_SIGN = 324, 144 TOK_MINLOC = 325, 145 TOK_MAXLOC = 326, 146 TOK_EXIT = 327, 147 TOK_MINVAL = 328, 148 TOK_PUBLIC = 329, 149 TOK_PRIVATE = 330, 150 TOK_ALLOCATABLE = 331, 151 TOK_RETURN = 332, 152 TOK_THEN = 333, 153 TOK_ELSEIF = 334, 154 TOK_ELSE = 335, 155 TOK_ENDIF = 336, 156 TOK_PRINT = 337, 157 TOK_PLAINGOTO = 338, 158 TOK_CONSTRUCTID = 339, 159 TOK_LOGICALIF = 340, 160 TOK_PLAINDO = 341, 161 TOK_CONTAINS = 342, 162 TOK_ENDDO = 343, 163 TOK_MODULE = 344, 164 TOK_ENDMODULE = 345, 165 TOK_DOWHILE = 346, 166 TOK_ALLOCATE = 347, 167 TOK_OPEN = 348, 168 TOK_CLOSE = 349, 169 TOK_INQUIRE = 350, 170 TOK_WRITE = 351, 171 TOK_READ = 352, 172 TOK_REWIND = 353, 173 TOK_DEALLOCATE = 354, 174 TOK_NULLIFY = 355, 175 TOK_FIN = 356, 176 TOK_DEBUT = 357, 177 TOK_DIMENSION = 358, 178 TOK_ENDSELECT = 359, 179 TOK_EXTERNAL = 360, 180 TOK_INTENT = 361, 181 TOK_INTRINSIC = 362, 182 TOK_NAMELIST = 363, 183 TOK_CASEDEFAULT = 364, 184 TOK_OPTIONAL = 365, 185 TOK_POINTER = 366, 186 TOK_CONTINUE = 367, 187 TOK_SAVE = 368, 188 TOK_TARGET = 369, 189 TOK_QUOTE = 370, 190 TOK_IMPLICIT = 371, 191 TOK_NONE = 372, 192 TOK_CALL = 373, 193 TOK_STAT = 374, 194 TOK_POINT_TO = 375, 195 TOK_COMMON = 376, 196 TOK_GLOBAL = 377, 197 TOK_INTERFACE = 378, 198 TOK_ENDINTERFACE = 379, 199 TOK_LEFTAB = 380, 200 TOK_RIGHTAB = 381, 201 TOK_PAUSE = 382, 202 TOK_PROCEDURE = 383, 203 TOK_STOP = 384, 204 TOK_NAMEEQ = 385, 205 TOK_REAL8 = 386, 206 TOK_OUT = 387, 207 TOK_INOUT = 388, 208 TOK_IN = 389, 209 TOK_USE = 390, 210 TOK_TRUE = 391, 211 TOK_FALSE = 392, 212 TOK_LABEL = 393, 213 TOK_TYPE = 394, 214 TOK_TYPEPAR = 395, 215 TOK_ENDTYPE = 396, 216 TOK_REAL = 397, 217 TOK_INTEGER = 398, 218 TOK_LOGICAL = 399, 219 TOK_DOUBLEPRECISION = 400, 220 TOK_DOUBLEREAL = 401, 221 TOK_ENDSUBROUTINE = 402, 222 TOK_ENDFUNCTION = 403, 223 TOK_ENDPROGRAM = 404, 224 TOK_ENDUNIT = 405, 225 TOK_CHARACTER = 406, 226 TOK_CHAR_CONSTANT = 407, 227 TOK_CHAR_CUT = 408, 228 TOK_DATA = 409, 229 TOK_CHAR_INT = 410, 230 TOK_CHAR_MESSAGE = 411, 231 TOK_CSTREAL = 412, 232 TOK_CSTREALDP = 413, 233 TOK_CSTREALQP = 414, 234 TOK_SFREAL = 415, 235 TOK_COMPLEX = 416, 236 TOK_DOUBLECOMPLEX = 417, 237 TOK_NAME = 418, 238 TOK_NAME_CHAR = 419, 239 TOK_PROBTYPE = 420, 240 TOK_INTERPTYPE = 421, 241 TOK_VARTYPE = 422, 242 TOK_BC = 423, 243 TOK_OP = 424, 244 TOK_CSTINT = 425, 245 TOK_COMMENT = 426, 246 TOK_FILENAME = 427 247 }; 248 #endif 249 /* Tokens. */ 250 #define TOK_BINARY_OP 258 251 #define TOK_NEQV 259 252 #define TOK_EQV 260 253 #define TOK_XOR 261 254 #define TOK_OR 262 255 #define TOK_AND 263 256 #define TOK_NOT 264 257 #define TOK_NE 265 258 #define TOK_EQ 266 259 #define TOK_GE 267 260 #define TOK_LE 268 261 #define TOK_GT 269 262 #define TOK_LT 270 263 #define TOK_UNARY_OP 271 264 #define TOK_DSLASH 272 265 #define TOK_SLASH 273 266 #define TOK_DASTER 274 267 #define TOK_SEP 275 268 #define TOK_SEMICOLON 276 269 #define TOK_NEXTLINE 277 270 #define TOK_PARAMETER 278 271 #define TOK_RESULT 279 272 #define TOK_ONLY 280 273 #define TOK_INCLUDE 281 274 #define TOK_SUBROUTINE 282 275 #define TOK_PROGRAM 283 276 #define TOK_FUNCTION 284 277 #define TOK_OMP 285 278 #define TOK_DOLLAR 286 279 #define TOK_FORMAT 287 280 #define TOK_MAX 288 281 #define TOK_TANH 289 282 #define TOK_WHERE 290 283 #define TOK_ELSEWHERE 291 284 #define TOK_ENDWHERE 292 285 #define TOK_MAXVAL 293 286 #define TOK_TRIM 294 287 #define TOK_SUM 295 288 #define TOK_SQRT 296 289 #define TOK_CASE 297 290 #define TOK_SELECTCASE 298 291 #define TOK_FILE 299 292 #define TOK_END 300 293 #define TOK_ERR 301 294 #define TOK_DONOTTREAT 302 295 #define TOK_ENDDONOTTREAT 303 296 #define TOK_EXIST 304 297 #define TOK_MIN 305 298 #define TOK_FLOAT 306 299 #define TOK_EXP 307 300 #define TOK_COS 308 301 #define TOK_COSH 309 302 #define TOK_ACOS 310 303 #define TOK_NINT 311 304 #define TOK_CYCLE 312 305 #define TOK_SIN 313 306 #define TOK_SINH 314 307 #define TOK_ASIN 315 308 #define TOK_EQUIVALENCE 316 309 #define TOK_BACKSPACE 317 310 #define TOK_LOG 318 311 #define TOK_TAN 319 312 #define TOK_ATAN 320 313 #define TOK_RECURSIVE 321 314 #define TOK_ABS 322 315 #define TOK_MOD 323 316 #define TOK_SIGN 324 317 #define TOK_MINLOC 325 318 #define TOK_MAXLOC 326 319 #define TOK_EXIT 327 320 #define TOK_MINVAL 328 321 #define TOK_PUBLIC 329 322 #define TOK_PRIVATE 330 323 #define TOK_ALLOCATABLE 331 324 #define TOK_RETURN 332 325 #define TOK_THEN 333 326 #define TOK_ELSEIF 334 327 #define TOK_ELSE 335 328 #define TOK_ENDIF 336 329 #define TOK_PRINT 337 330 #define TOK_PLAINGOTO 338 331 #define TOK_CONSTRUCTID 339 332 #define TOK_LOGICALIF 340 333 #define TOK_PLAINDO 341 334 #define TOK_CONTAINS 342 335 #define TOK_ENDDO 343 336 #define TOK_MODULE 344 337 #define TOK_ENDMODULE 345 338 #define TOK_DOWHILE 346 339 #define TOK_ALLOCATE 347 340 #define TOK_OPEN 348 341 #define TOK_CLOSE 349 342 #define TOK_INQUIRE 350 343 #define TOK_WRITE 351 344 #define TOK_READ 352 345 #define TOK_REWIND 353 346 #define TOK_DEALLOCATE 354 347 #define TOK_NULLIFY 355 348 #define TOK_FIN 356 349 #define TOK_DEBUT 357 350 #define TOK_DIMENSION 358 351 #define TOK_ENDSELECT 359 352 #define TOK_EXTERNAL 360 353 #define TOK_INTENT 361 354 #define TOK_INTRINSIC 362 355 #define TOK_NAMELIST 363 356 #define TOK_CASEDEFAULT 364 357 #define TOK_OPTIONAL 365 358 #define TOK_POINTER 366 359 #define TOK_CONTINUE 367 360 #define TOK_SAVE 368 361 #define TOK_TARGET 369 362 #define TOK_QUOTE 370 363 #define TOK_IMPLICIT 371 364 #define TOK_NONE 372 365 #define TOK_CALL 373 366 #define TOK_STAT 374 367 #define TOK_POINT_TO 375 368 #define TOK_COMMON 376 369 #define TOK_GLOBAL 377 370 #define TOK_INTERFACE 378 371 #define TOK_ENDINTERFACE 379 372 #define TOK_LEFTAB 380 373 #define TOK_RIGHTAB 381 374 #define TOK_PAUSE 382 375 #define TOK_PROCEDURE 383 376 #define TOK_STOP 384 377 #define TOK_NAMEEQ 385 378 #define TOK_REAL8 386 379 #define TOK_OUT 387 380 #define TOK_INOUT 388 381 #define TOK_IN 389 382 #define TOK_USE 390 383 #define TOK_TRUE 391 384 #define TOK_FALSE 392 385 #define TOK_LABEL 393 386 #define TOK_TYPE 394 387 #define TOK_TYPEPAR 395 388 #define TOK_ENDTYPE 396 389 #define TOK_REAL 397 390 #define TOK_INTEGER 398 391 #define TOK_LOGICAL 399 392 #define TOK_DOUBLEPRECISION 400 393 #define TOK_DOUBLEREAL 401 394 #define TOK_ENDSUBROUTINE 402 395 #define TOK_ENDFUNCTION 403 396 #define TOK_ENDPROGRAM 404 397 #define TOK_ENDUNIT 405 398 #define TOK_CHARACTER 406 399 #define TOK_CHAR_CONSTANT 407 400 #define TOK_CHAR_CUT 408 401 #define TOK_DATA 409 402 #define TOK_CHAR_INT 410 403 #define TOK_CHAR_MESSAGE 411 404 #define TOK_CSTREAL 412 405 #define TOK_CSTREALDP 413 406 #define TOK_CSTREALQP 414 407 #define TOK_SFREAL 415 408 #define TOK_COMPLEX 416 409 #define TOK_DOUBLECOMPLEX 417 410 #define TOK_NAME 418 411 #define TOK_NAME_CHAR 419 412 #define TOK_PROBTYPE 420 413 #define TOK_INTERPTYPE 421 414 #define TOK_VARTYPE 422 415 #define TOK_BC 423 416 #define TOK_OP 424 417 #define TOK_CSTINT 425 418 #define TOK_COMMENT 426 419 #define TOK_FILENAME 427 420 421 422 62 #define yyparse fortran_parse 63 #define yylex fortran_lex 64 #define yyerror fortran_error 65 #define yylval fortran_lval 66 #define yychar fortran_char 67 #define yydebug fortran_debug 68 #define yynerrs fortran_nerrs 423 69 424 70 /* Copy the first part of user declarations. */ 71 /* Line 371 of yacc.c */ 425 72 #line 36 "fortran.y" 426 73 … … 430 77 #include <string.h> 431 78 #include "decl.h" 432 extern int line_num_fortran; 433 extern int line_num_fortran_common; 434 char *tmp; 435 char c_selectorname[LONG_C]; 436 char ligne[LONG_C]; 437 char truename[LONGNOM]; 438 char identcopy[LONG_C]; 79 80 extern int line_num_input; 81 extern char *fortran_text; 82 83 char c_selectorname[LONG_M]; 84 char ligne[LONG_M]; 85 char truename[LONG_VNAME]; 86 char identcopy[LONG_VNAME]; 439 87 int c_selectorgiven=0; 440 int incom;441 88 listvar *curlistvar; 442 89 typedim c_selectordim; 443 90 listcouple *coupletmp; 444 listdim *parcoursdim;445 91 int removeline=0; 446 92 listvar *test; 447 93 448 449 /* Enabling traces. */ 450 #ifndef YYDEBUG 451 # define YYDEBUG 0 452 #endif 94 int fortran_error(const char *s) 95 { 96 printf("%s line %d, file %s motclef = |%s|\n", s, line_num_input, cur_filename, fortran_text); 97 exit(1); 98 } 99 100 101 /* Line 371 of yacc.c */ 102 #line 104 "fortran.tab.c" 103 104 # ifndef YY_NULL 105 # if defined __cplusplus && 201103L <= __cplusplus 106 # define YY_NULL nullptr 107 # else 108 # define YY_NULL 0 109 # endif 110 # endif 453 111 454 112 /* Enabling verbose error messages. */ … … 460 118 #endif 461 119 462 /* Enabling the token table. */ 463 #ifndef YYTOKEN_TABLE 464 # define YYTOKEN_TABLE 0 120 121 /* Enabling traces. */ 122 #ifndef YYDEBUG 123 # define YYDEBUG 1 465 124 #endif 125 #if YYDEBUG 126 extern int fortran_debug; 127 #endif 128 129 /* Tokens. */ 130 #ifndef YYTOKENTYPE 131 # define YYTOKENTYPE 132 /* Put the tokens into the symbol table, so that GDB and other debuggers 133 know about them. */ 134 enum yytokentype { 135 TOK_NEQV = 258, 136 TOK_EQV = 259, 137 TOK_XOR = 260, 138 TOK_OR = 261, 139 TOK_AND = 262, 140 TOK_NOT = 263, 141 TOK_NE = 264, 142 TOK_EQ = 265, 143 TOK_GE = 266, 144 TOK_LE = 267, 145 TOK_GT = 268, 146 TOK_LT = 269, 147 TOK_DSLASH = 270, 148 TOK_SLASH = 271, 149 TOK_DASTER = 272, 150 TOK_SEMICOLON = 273, 151 TOK_PARAMETER = 274, 152 TOK_RESULT = 275, 153 TOK_ONLY = 276, 154 TOK_INCLUDE = 277, 155 TOK_SUBROUTINE = 278, 156 TOK_PROGRAM = 279, 157 TOK_FUNCTION = 280, 158 TOK_FORMAT = 281, 159 TOK_MAX = 282, 160 TOK_TANH = 283, 161 TOK_WHERE = 284, 162 TOK_ELSEWHEREPAR = 285, 163 TOK_ELSEWHERE = 286, 164 TOK_ENDWHERE = 287, 165 TOK_MAXVAL = 288, 166 TOK_TRIM = 289, 167 TOK_NULL_PTR = 290, 168 TOK_SUM = 291, 169 TOK_SQRT = 292, 170 TOK_CASE = 293, 171 TOK_SELECTCASE = 294, 172 TOK_FILE = 295, 173 TOK_UNIT = 296, 174 TOK_FMT = 297, 175 TOK_NML = 298, 176 TOK_END = 299, 177 TOK_EOR = 300, 178 TOK_ERR = 301, 179 TOK_EXIST = 302, 180 TOK_MIN = 303, 181 TOK_FLOAT = 304, 182 TOK_EXP = 305, 183 TOK_COS = 306, 184 TOK_COSH = 307, 185 TOK_ACOS = 308, 186 TOK_NINT = 309, 187 TOK_CYCLE = 310, 188 TOK_SIN = 311, 189 TOK_SINH = 312, 190 TOK_ASIN = 313, 191 TOK_EQUIVALENCE = 314, 192 TOK_BACKSPACE = 315, 193 TOK_LOG = 316, 194 TOK_TAN = 317, 195 TOK_ATAN = 318, 196 TOK_RECURSIVE = 319, 197 TOK_ABS = 320, 198 TOK_MOD = 321, 199 TOK_SIGN = 322, 200 TOK_MINLOC = 323, 201 TOK_MAXLOC = 324, 202 TOK_EXIT = 325, 203 TOK_MINVAL = 326, 204 TOK_PUBLIC = 327, 205 TOK_PRIVATE = 328, 206 TOK_ALLOCATABLE = 329, 207 TOK_RETURN = 330, 208 TOK_THEN = 331, 209 TOK_ELSEIF = 332, 210 TOK_ELSE = 333, 211 TOK_ENDIF = 334, 212 TOK_PRINT = 335, 213 TOK_PLAINGOTO = 336, 214 TOK_LOGICALIF = 337, 215 TOK_PLAINDO = 338, 216 TOK_CONTAINS = 339, 217 TOK_ENDDO = 340, 218 TOK_MODULE = 341, 219 TOK_ENDMODULE = 342, 220 TOK_WHILE = 343, 221 TOK_CONCURRENT = 344, 222 TOK_ALLOCATE = 345, 223 TOK_OPEN = 346, 224 TOK_CLOSE = 347, 225 TOK_INQUIRE = 348, 226 TOK_WRITE = 349, 227 TOK_FLUSH = 350, 228 TOK_READ = 351, 229 TOK_REWIND = 352, 230 TOK_DEALLOCATE = 353, 231 TOK_NULLIFY = 354, 232 TOK_DIMENSION = 355, 233 TOK_ENDSELECT = 356, 234 TOK_EXTERNAL = 357, 235 TOK_INTENT = 358, 236 TOK_INTRINSIC = 359, 237 TOK_NAMELIST = 360, 238 TOK_DEFAULT = 361, 239 TOK_OPTIONAL = 362, 240 TOK_POINTER = 363, 241 TOK_CONTINUE = 364, 242 TOK_SAVE = 365, 243 TOK_TARGET = 366, 244 TOK_IMPLICIT = 367, 245 TOK_NONE = 368, 246 TOK_CALL = 369, 247 TOK_STAT = 370, 248 TOK_POINT_TO = 371, 249 TOK_COMMON = 372, 250 TOK_GLOBAL = 373, 251 TOK_LEFTAB = 374, 252 TOK_RIGHTAB = 375, 253 TOK_PAUSE = 376, 254 TOK_PROCEDURE = 377, 255 TOK_STOP = 378, 256 TOK_REAL8 = 379, 257 TOK_FOURDOTS = 380, 258 TOK_HEXA = 381, 259 TOK_ASSIGNTYPE = 382, 260 TOK_OUT = 383, 261 TOK_INOUT = 384, 262 TOK_IN = 385, 263 TOK_USE = 386, 264 TOK_TRUE = 387, 265 TOK_FALSE = 388, 266 TOK_LABEL = 389, 267 TOK_TYPE = 390, 268 TOK_TYPEPAR = 391, 269 TOK_ENDTYPE = 392, 270 TOK_REAL = 393, 271 TOK_INTEGER = 394, 272 TOK_LOGICAL = 395, 273 TOK_DOUBLEPRECISION = 396, 274 TOK_ENDSUBROUTINE = 397, 275 TOK_ENDFUNCTION = 398, 276 TOK_ENDPROGRAM = 399, 277 TOK_ENDUNIT = 400, 278 TOK_CHARACTER = 401, 279 TOK_CHAR_CONSTANT = 402, 280 TOK_CHAR_CUT = 403, 281 TOK_DATA = 404, 282 TOK_CHAR_MESSAGE = 405, 283 TOK_CSTREAL = 406, 284 TOK_COMPLEX = 407, 285 TOK_DOUBLECOMPLEX = 408, 286 TOK_NAME = 409, 287 TOK_CSTINT = 410 288 }; 289 #endif 290 466 291 467 292 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 468 293 typedef union YYSTYPE 469 #line 59 "fortran.y"470 294 { 471 char nac[LONG_C]; 472 char na[LONGNOM]; 473 listdim *d; 474 listvar *l; 475 listnom *ln; 476 listcouple *lc; 477 listname *lnn; 478 typedim dim1; 479 variable *v; 480 } 481 /* Line 193 of yacc.c. */ 482 #line 483 "fortran.tab.c" 483 YYSTYPE; 295 /* Line 387 of yacc.c */ 296 #line 65 "fortran.y" 297 298 char na[LONG_M]; 299 listdim *d; 300 listvar *l; 301 listcouple *lc; 302 listname *lnn; 303 typedim dim1; 304 variable *v; 305 306 307 /* Line 387 of yacc.c */ 308 #line 310 "fortran.tab.c" 309 } YYSTYPE; 310 # define YYSTYPE_IS_TRIVIAL 1 484 311 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 485 312 # define YYSTYPE_IS_DECLARED 1 486 # define YYSTYPE_IS_TRIVIAL 1487 313 #endif 488 314 315 extern YYSTYPE fortran_lval; 316 317 #ifdef YYPARSE_PARAM 318 #if defined __STDC__ || defined __cplusplus 319 int fortran_parse (void *YYPARSE_PARAM); 320 #else 321 int fortran_parse (); 322 #endif 323 #else /* ! YYPARSE_PARAM */ 324 #if defined __STDC__ || defined __cplusplus 325 int fortran_parse (void); 326 #else 327 int fortran_parse (); 328 #endif 329 #endif /* ! YYPARSE_PARAM */ 330 489 331 490 332 491 333 /* Copy the second part of user declarations. */ 492 334 493 494 /* Line 216 of yacc.c. */ 495 #line 496 "fortran.tab.c" 335 /* Line 390 of yacc.c */ 336 #line 338 "fortran.tab.c" 496 337 497 338 #ifdef short … … 546 387 # if ENABLE_NLS 547 388 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 548 # define YY_( msgid) dgettext ("bison-runtime", msgid)389 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 549 390 # endif 550 391 # endif 551 392 # ifndef YY_ 552 # define YY_( msgid) msgid393 # define YY_(Msgid) Msgid 553 394 # endif 554 395 #endif … … 556 397 /* Suppress unused-variable warnings by "using" E. */ 557 398 #if ! defined lint || defined __GNUC__ 558 # define YYUSE( e) ((void) (e))399 # define YYUSE(E) ((void) (E)) 559 400 #else 560 # define YYUSE( e) /* empty */401 # define YYUSE(E) /* empty */ 561 402 #endif 562 403 563 404 /* Identity function, used to suppress warnings about constant conditions. */ 564 405 #ifndef lint 565 # define YYID( n) (n)406 # define YYID(N) (N) 566 407 #else 567 408 #if (defined __STDC__ || defined __C99__FUNC__ \ 568 409 || defined __cplusplus || defined _MSC_VER) 569 410 static int 570 YYID (int i)411 YYID (int yyi) 571 412 #else 572 413 static int 573 YYID ( i)574 int i;414 YYID (yyi) 415 int yyi; 575 416 #endif 576 417 { 577 return i;418 return yyi; 578 419 } 579 420 #endif … … 596 437 # else 597 438 # define YYSTACK_ALLOC alloca 598 # if ! defined _ALLOCA_H && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \439 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 599 440 || defined __cplusplus || defined _MSC_VER) 600 441 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 601 # ifndef _STDLIB_H 602 # define _STDLIB_H 1 442 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 443 # ifndef EXIT_SUCCESS 444 # define EXIT_SUCCESS 0 603 445 # endif 604 446 # endif … … 623 465 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 624 466 # endif 625 # if (defined __cplusplus && ! defined _STDLIB_H\467 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 626 468 && ! ((defined YYMALLOC || defined malloc) \ 627 469 && (defined YYFREE || defined free))) 628 470 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 629 # ifndef _STDLIB_H630 # define _STDLIB_H 1471 # ifndef EXIT_SUCCESS 472 # define EXIT_SUCCESS 0 631 473 # endif 632 474 # endif 633 475 # ifndef YYMALLOC 634 476 # define YYMALLOC malloc 635 # if ! defined malloc && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \477 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 636 478 || defined __cplusplus || defined _MSC_VER) 637 479 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ … … 640 482 # ifndef YYFREE 641 483 # define YYFREE free 642 # if ! defined free && ! defined _STDLIB_H&& (defined __STDC__ || defined __C99__FUNC__ \484 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 643 485 || defined __cplusplus || defined _MSC_VER) 644 486 void free (void *); /* INFRINGES ON USER NAME SPACE */ … … 656 498 union yyalloc 657 499 { 658 yytype_int16 yyss ;659 YYSTYPE yyvs ;660 500 yytype_int16 yyss_alloc; 501 YYSTYPE yyvs_alloc; 502 }; 661 503 662 504 /* The size of the maximum gap between one aligned stack and the next. */ … … 669 511 + YYSTACK_GAP_MAXIMUM) 670 512 671 /* Copy COUNT objects from FROM to TO. The source and destination do 672 not overlap. */ 673 # ifndef YYCOPY 674 # if defined __GNUC__ && 1 < __GNUC__ 675 # define YYCOPY(To, From, Count) \ 676 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 677 # else 678 # define YYCOPY(To, From, Count) \ 679 do \ 680 { \ 681 YYSIZE_T yyi; \ 682 for (yyi = 0; yyi < (Count); yyi++) \ 683 (To)[yyi] = (From)[yyi]; \ 684 } \ 685 while (YYID (0)) 686 # endif 687 # endif 513 # define YYCOPY_NEEDED 1 688 514 689 515 /* Relocate STACK from its old location to the new one. The … … 692 518 stack. Advance YYPTR to a properly aligned location for the next 693 519 stack. */ 694 # define YYSTACK_RELOCATE(Stack )\520 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 695 521 do \ 696 522 { \ 697 523 YYSIZE_T yynewbytes; \ 698 YYCOPY (&yyptr->Stack , Stack, yysize);\699 Stack = &yyptr->Stack ;\524 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 525 Stack = &yyptr->Stack_alloc; \ 700 526 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 701 527 yyptr += yynewbytes / sizeof (*yyptr); \ … … 705 531 #endif 706 532 533 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 534 /* Copy COUNT objects from SRC to DST. The source and destination do 535 not overlap. */ 536 # ifndef YYCOPY 537 # if defined __GNUC__ && 1 < __GNUC__ 538 # define YYCOPY(Dst, Src, Count) \ 539 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 540 # else 541 # define YYCOPY(Dst, Src, Count) \ 542 do \ 543 { \ 544 YYSIZE_T yyi; \ 545 for (yyi = 0; yyi < (Count); yyi++) \ 546 (Dst)[yyi] = (Src)[yyi]; \ 547 } \ 548 while (YYID (0)) 549 # endif 550 # endif 551 #endif /* !YYCOPY_NEEDED */ 552 707 553 /* YYFINAL -- State number of the termination state. */ 708 554 #define YYFINAL 2 709 555 /* YYLAST -- Last index in YYTABLE. */ 710 #define YYLAST 6 070556 #define YYLAST 6268 711 557 712 558 /* YYNTOKENS -- Number of terminals. */ 713 #define YYNTOKENS 1 90559 #define YYNTOKENS 169 714 560 /* YYNNTS -- Number of nonterminals. */ 715 #define YYNNTS 184561 #define YYNNTS 206 716 562 /* YYNRULES -- Number of rules. */ 717 #define YYNRULES 5 55563 #define YYNRULES 597 718 564 /* YYNRULES -- Number of states. */ 719 #define YYNSTATES 982565 #define YYNSTATES 1051 720 566 721 567 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 722 568 #define YYUNDEFTOK 2 723 #define YYMAXUTOK 4 27569 #define YYMAXUTOK 410 724 570 725 571 #define YYTRANSLATE(YYX) \ … … 730 576 { 731 577 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 732 1 87, 2, 2, 2, 2, 2, 2, 2, 2, 2,578 166, 2, 2, 2, 2, 2, 2, 2, 2, 2, 733 579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 734 2, 2, 2, 183, 2, 2, 2, 189, 2, 2,735 1 79, 180, 23, 21, 3, 22, 2, 188, 2, 2,580 2, 2, 2, 2, 2, 2, 2, 168, 2, 2, 581 162, 163, 21, 19, 3, 20, 2, 167, 2, 2, 736 582 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 737 1 85, 5, 186, 2, 2, 2, 2, 2, 2, 2,583 164, 5, 165, 2, 2, 2, 2, 2, 2, 2, 738 584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 739 585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 740 2, 181, 2, 182, 2, 184, 2, 2, 2, 2,586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 741 587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 742 588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 756 602 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, 757 603 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 758 18, 19, 20, 24, 25, 26, 27, 28, 29, 30,604 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 759 605 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 760 606 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, … … 770 616 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 771 617 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 772 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 773 171, 172, 173, 174, 175, 176, 177, 178 618 161 774 619 }; 775 620 … … 779 624 static const yytype_uint16 yyprhs[] = 780 625 { 781 0, 0, 3, 4, 7, 10, 13, 15, 19, 23, 782 25, 29, 32, 35, 39, 43, 46, 49, 52, 54, 783 56, 58, 60, 61, 62, 65, 66, 68, 69, 70, 784 72, 73, 78, 81, 88, 93, 96, 98, 99, 101, 785 103, 104, 107, 111, 112, 115, 119, 121, 125, 127, 786 129, 132, 137, 140, 143, 148, 151, 153, 155, 157, 787 159, 161, 163, 165, 167, 169, 171, 176, 180, 184, 788 187, 191, 192, 194, 196, 198, 200, 202, 204, 206, 789 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 790 228, 230, 232, 234, 236, 238, 240, 242, 244, 248, 791 252, 258, 260, 264, 268, 271, 276, 278, 282, 283, 792 286, 289, 293, 295, 297, 299, 304, 311, 316, 318, 793 322, 325, 329, 335, 339, 341, 342, 345, 347, 352, 794 356, 359, 363, 367, 371, 375, 376, 378, 381, 384, 795 388, 394, 398, 399, 402, 405, 407, 413, 419, 422, 796 426, 429, 433, 435, 439, 442, 446, 452, 454, 457, 797 459, 463, 466, 468, 472, 473, 475, 477, 481, 485, 798 488, 490, 494, 497, 500, 501, 508, 516, 517, 520, 799 523, 527, 531, 533, 534, 537, 542, 546, 550, 555, 800 558, 560, 562, 564, 566, 568, 570, 572, 574, 575, 801 578, 580, 584, 585, 588, 592, 594, 598, 601, 605, 802 607, 609, 611, 613, 614, 618, 619, 622, 627, 629, 803 633, 635, 637, 639, 642, 644, 649, 651, 653, 655, 804 657, 659, 661, 663, 665, 667, 669, 670, 674, 676, 805 680, 682, 684, 687, 690, 694, 696, 698, 700, 704, 806 706, 708, 712, 716, 721, 726, 730, 735, 740, 744, 807 749, 754, 759, 764, 769, 774, 779, 784, 789, 794, 808 799, 804, 809, 813, 818, 823, 828, 833, 835, 839, 809 841, 843, 845, 848, 851, 854, 856, 858, 861, 864, 810 867, 870, 873, 876, 879, 882, 885, 888, 891, 895, 811 898, 902, 905, 908, 911, 914, 917, 920, 923, 924, 812 926, 929, 932, 935, 937, 939, 941, 943, 944, 946, 813 949, 954, 960, 965, 969, 973, 975, 978, 980, 984, 814 986, 988, 992, 998, 1003, 1007, 1010, 1013, 1015, 1017, 815 1019, 1021, 1023, 1025, 1027, 1029, 1032, 1035, 1037, 1040, 816 1042, 1044, 1045, 1047, 1053, 1054, 1056, 1058, 1060, 1061, 817 1065, 1069, 1070, 1076, 1079, 1084, 1091, 1098, 1100, 1102, 818 1104, 1108, 1112, 1114, 1118, 1122, 1124, 1126, 1132, 1138, 819 1143, 1145, 1148, 1151, 1154, 1157, 1159, 1162, 1168, 1170, 820 1172, 1175, 1181, 1183, 1186, 1190, 1195, 1197, 1199, 1201, 821 1203, 1205, 1207, 1209, 1211, 1215, 1219, 1223, 1226, 1229, 822 1230, 1236, 1244, 1245, 1248, 1250, 1252, 1253, 1255, 1257, 823 1259, 1261, 1264, 1266, 1268, 1270, 1276, 1282, 1285, 1288, 824 1291, 1294, 1296, 1297, 1302, 1309, 1311, 1315, 1318, 1321, 825 1324, 1325, 1329, 1330, 1332, 1335, 1337, 1339, 1343, 1345, 826 1348, 1350, 1352, 1355, 1358, 1361, 1365, 1368, 1370, 1371, 827 1373, 1376, 1379, 1380, 1383, 1387, 1391, 1395, 1399, 1401, 828 1405, 1407, 1409, 1413, 1415, 1417, 1419, 1423, 1426, 1431, 829 1436, 1439, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1456, 830 1458, 1460, 1464, 1466, 1468, 1472, 1476, 1480, 1484, 1487, 831 1491, 1494, 1497, 1500, 1503, 1507, 1509, 1511, 1513, 1515, 832 1519, 1520, 1522, 1525, 1530, 1533, 1536, 1542, 1543, 1545, 833 1548, 1550, 1552, 1554, 1558, 1562, 1566, 1570, 1574, 1578, 834 1580, 1582, 1584, 1588, 1594, 1600, 1606, 1612, 1620, 1622, 835 1631, 1634, 1636, 1638, 1642, 1644, 1646, 1648, 1653, 1655, 836 1659, 1660, 1665, 1667, 1671, 1675 626 0, 0, 3, 4, 7, 9, 11, 14, 16, 19, 627 21, 25, 28, 31, 33, 37, 41, 44, 47, 51, 628 53, 54, 55, 57, 58, 61, 66, 69, 75, 78, 629 80, 83, 85, 87, 88, 91, 95, 96, 99, 103, 630 105, 109, 111, 113, 116, 121, 124, 127, 132, 135, 631 137, 139, 141, 143, 145, 147, 149, 151, 153, 158, 632 162, 166, 169, 172, 173, 175, 177, 179, 181, 183, 633 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 634 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 635 225, 229, 233, 239, 241, 245, 249, 252, 257, 259, 636 263, 264, 266, 269, 273, 275, 277, 280, 282, 286, 637 291, 296, 305, 307, 311, 314, 318, 324, 328, 330, 638 331, 334, 336, 341, 345, 348, 352, 356, 360, 364, 639 365, 367, 370, 374, 380, 384, 386, 392, 398, 401, 640 405, 408, 412, 414, 416, 420, 424, 427, 431, 437, 641 439, 442, 444, 448, 451, 453, 457, 458, 460, 462, 642 466, 470, 473, 475, 479, 482, 485, 491, 498, 499, 643 502, 505, 509, 513, 514, 517, 522, 526, 530, 535, 644 538, 540, 542, 544, 546, 548, 550, 552, 553, 556, 645 558, 562, 563, 566, 570, 572, 576, 579, 583, 585, 646 587, 589, 591, 593, 594, 598, 599, 601, 605, 607, 647 611, 613, 615, 617, 620, 622, 627, 629, 631, 633, 648 635, 637, 639, 641, 643, 645, 647, 648, 652, 654, 649 658, 660, 662, 665, 668, 672, 674, 676, 678, 680, 650 682, 686, 690, 694, 699, 704, 708, 713, 718, 722, 651 727, 732, 737, 742, 747, 752, 757, 762, 767, 772, 652 777, 782, 787, 791, 796, 800, 805, 810, 812, 816, 653 818, 820, 822, 825, 828, 831, 833, 835, 838, 841, 654 844, 847, 850, 853, 856, 859, 862, 866, 870, 873, 655 876, 879, 882, 885, 888, 891, 894, 897, 900, 901, 656 903, 906, 909, 912, 914, 916, 918, 920, 921, 923, 657 926, 931, 937, 942, 947, 951, 953, 956, 958, 962, 658 964, 966, 970, 976, 981, 985, 988, 991, 993, 995, 659 997, 999, 1001, 1003, 1005, 1007, 1010, 1013, 1015, 1018, 660 1020, 1022, 1023, 1025, 1031, 1032, 1034, 1036, 1038, 1039, 661 1042, 1045, 1051, 1054, 1059, 1066, 1073, 1075, 1077, 1081, 662 1085, 1087, 1091, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 663 1109, 1111, 1113, 1116, 1118, 1120, 1123, 1126, 1129, 1133, 664 1136, 1142, 1148, 1151, 1154, 1157, 1160, 1162, 1167, 1169, 665 1172, 1175, 1178, 1181, 1183, 1185, 1187, 1189, 1195, 1202, 666 1203, 1207, 1208, 1213, 1214, 1219, 1224, 1226, 1228, 1230, 667 1232, 1234, 1238, 1243, 1245, 1248, 1250, 1253, 1254, 1255, 668 1258, 1262, 1264, 1269, 1271, 1273, 1278, 1281, 1287, 1291, 669 1295, 1297, 1302, 1305, 1312, 1321, 1327, 1331, 1333, 1335, 670 1337, 1339, 1341, 1344, 1351, 1352, 1354, 1357, 1361, 1362, 671 1364, 1367, 1371, 1379, 1385, 1391, 1398, 1400, 1403, 1405, 672 1408, 1414, 1419, 1420, 1422, 1425, 1429, 1436, 1441, 1444, 673 1448, 1450, 1453, 1457, 1459, 1461, 1465, 1467, 1470, 1473, 674 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, 675 1496, 1501, 1509, 1511, 1515, 1518, 1521, 1524, 1525, 1529, 676 1530, 1532, 1535, 1538, 1540, 1542, 1546, 1548, 1551, 1553, 677 1555, 1556, 1558, 1561, 1564, 1565, 1568, 1572, 1576, 1580, 678 1582, 1586, 1588, 1590, 1594, 1596, 1598, 1600, 1604, 1610, 679 1615, 1618, 1621, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 680 1636, 1638, 1640, 1644, 1646, 1648, 1652, 1656, 1660, 1664, 681 1667, 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692, 1696, 682 1698, 1700, 1702, 1704, 1708, 1711, 1716, 1719, 1722, 1728, 683 1729, 1731, 1734, 1736, 1738, 1740, 1742, 1746, 1750, 1754, 684 1758, 1762, 1766, 1772, 1778, 1784, 1790, 1798, 1807, 1810, 685 1812, 1816, 1818, 1820, 1824, 1825, 1830, 1832 837 686 }; 838 687 … … 840 689 static const yytype_int16 yyrhs[] = 841 690 { 842 191, 0, -1, -1, 191, 192, -1, 187, 198, -1, 843 199, 193, -1, 177, -1, 197, 200, 205, -1, 1, 844 205, 201, -1, 194, -1, 193, 27, 194, -1, 203, 845 196, -1, 212, 196, -1, 206, 207, 196, -1, 315, 846 200, 205, -1, 195, 196, -1, 298, 4, -1, 198, 847 200, -1, 53, -1, 54, -1, 36, -1, 37, -1, 848 -1, -1, 144, 201, -1, -1, 177, -1, -1, -1, 849 72, -1, -1, 202, 33, 204, 208, -1, 34, 204, 850 -1, 202, 35, 204, 208, 30, 209, -1, 202, 35, 851 204, 208, -1, 95, 169, -1, 169, -1, -1, 32, 852 -1, 158, -1, -1, 179, 180, -1, 179, 210, 180, 853 -1, -1, 179, 180, -1, 179, 210, 180, -1, 211, 854 -1, 210, 3, 211, -1, 169, -1, 23, -1, 257, 855 222, -1, 145, 213, 221, 324, -1, 147, 324, -1, 856 117, 216, -1, 224, 179, 249, 180, -1, 224, 249, 857 -1, 243, -1, 228, -1, 253, -1, 239, -1, 241, 858 -1, 240, -1, 308, -1, 251, -1, 237, -1, 234, 859 -1, 68, 179, 280, 180, -1, 111, 221, 242, -1, 860 113, 221, 215, -1, 67, 217, -1, 225, 226, 187, 861 -1, -1, 275, -1, 46, -1, 40, -1, 44, -1, 862 56, -1, 79, -1, 45, -1, 47, -1, 62, -1, 863 57, -1, 58, -1, 59, -1, 60, -1, 61, -1, 864 64, -1, 65, -1, 66, -1, 69, -1, 70, -1, 865 71, -1, 74, -1, 75, -1, 76, -1, 77, -1, 866 169, -1, 214, -1, 215, 3, 214, -1, 179, 220, 867 180, -1, 216, 3, 179, 220, 180, -1, 218, -1, 868 217, 3, 218, -1, 179, 219, 180, -1, 298, 276, 869 -1, 219, 3, 298, 276, -1, 280, -1, 220, 3, 870 280, -1, -1, 4, 4, -1, 255, 256, -1, 223, 871 204, 208, -1, 35, -1, 29, -1, 160, -1, 169, 872 24, 227, 24, -1, 226, 248, 169, 24, 227, 24, 873 -1, 231, 24, 227, 24, -1, 232, -1, 232, 3, 874 227, -1, 229, 230, -1, 229, 247, 230, -1, 228, 875 248, 247, 248, 230, -1, 228, 3, 230, -1, 119, 876 -1, -1, 169, 276, -1, 169, -1, 169, 179, 280, 877 180, -1, 231, 3, 231, -1, 233, 299, -1, 232, 878 21, 232, -1, 232, 22, 232, -1, 232, 23, 232, 879 -1, 232, 188, 232, -1, -1, 284, -1, 235, 236, 880 -1, 114, 298, -1, 114, 247, 298, -1, 235, 248, 881 247, 248, 298, -1, 235, 3, 298, -1, -1, 129, 882 324, -1, 130, 324, -1, 109, -1, 238, 248, 169, 883 276, 264, -1, 239, 3, 169, 276, 264, -1, 81, 884 187, -1, 81, 221, 242, -1, 80, 187, -1, 80, 885 221, 242, -1, 169, -1, 242, 3, 169, -1, 244, 886 245, -1, 244, 247, 245, -1, 243, 248, 247, 248, 887 245, -1, 127, -1, 128, 127, -1, 246, -1, 245, 888 3, 246, -1, 169, 276, -1, 20, -1, 24, 169, 889 24, -1, -1, 3, -1, 250, -1, 249, 3, 250, 890 -1, 169, 5, 280, -1, 134, 252, -1, 169, -1, 891 252, 3, 169, -1, 122, 123, -1, 122, 137, -1, 892 -1, 271, 254, 169, 276, 264, 305, -1, 255, 3, 893 254, 169, 276, 264, 305, -1, -1, 262, 266, -1, 894 261, 259, -1, 263, 23, 176, -1, 258, 268, 180, 895 -1, 146, -1, -1, 23, 176, -1, 23, 179, 260, 896 180, -1, 179, 260, 180, -1, 169, 269, 270, -1, 897 169, 5, 269, 270, -1, 269, 270, -1, 157, -1, 898 263, -1, 149, -1, 148, -1, 167, -1, 151, -1, 899 168, -1, 150, -1, -1, 23, 265, -1, 280, -1, 900 179, 23, 180, -1, -1, 23, 267, -1, 179, 268, 901 180, -1, 280, -1, 179, 23, 180, -1, 169, 269, 902 -1, 169, 5, 269, -1, 169, -1, 176, -1, 280, 903 -1, 23, -1, -1, 3, 169, 269, -1, -1, 4, 904 4, -1, 3, 272, 4, 4, -1, 273, -1, 272, 905 3, 273, -1, 29, -1, 275, -1, 82, -1, 109, 906 276, -1, 111, -1, 112, 179, 274, 180, -1, 113, 907 -1, 116, -1, 117, -1, 119, -1, 120, -1, 140, 908 -1, 138, -1, 139, -1, 80, -1, 81, -1, -1, 909 179, 277, 180, -1, 278, -1, 277, 3, 278, -1, 910 279, -1, 4, -1, 280, 4, -1, 4, 280, -1, 911 280, 4, 279, -1, 23, -1, 280, -1, 283, -1, 912 179, 280, 180, -1, 307, -1, 281, -1, 46, 282, 913 180, -1, 39, 282, 180, -1, 40, 179, 282, 180, 914 -1, 44, 179, 282, 180, -1, 56, 282, 180, -1, 915 79, 179, 282, 180, -1, 45, 179, 280, 180, -1, 916 47, 280, 180, -1, 148, 179, 282, 180, -1, 62, 917 179, 280, 180, -1, 57, 179, 280, 180, -1, 58, 918 179, 280, 180, -1, 59, 179, 280, 180, -1, 60, 919 179, 280, 180, -1, 61, 179, 280, 180, -1, 64, 920 179, 280, 180, -1, 65, 179, 280, 180, -1, 66, 921 179, 280, 180, -1, 69, 179, 280, 180, -1, 70, 922 179, 280, 180, -1, 71, 179, 280, 180, -1, 73, 923 280, 180, -1, 74, 179, 282, 180, -1, 75, 179, 924 282, 180, -1, 76, 179, 282, 180, -1, 77, 179, 925 282, 180, -1, 280, -1, 282, 3, 280, -1, 288, 926 -1, 299, -1, 293, -1, 280, 285, -1, 284, 280, 927 -1, 12, 280, -1, 21, -1, 22, -1, 21, 280, 928 -1, 22, 280, -1, 23, 280, -1, 25, 280, -1, 929 14, 280, -1, 8, 280, -1, 17, 280, -1, 186, 930 280, -1, 18, 280, -1, 185, 280, -1, 15, 280, 931 -1, 186, 5, 280, -1, 16, 280, -1, 185, 5, 932 280, -1, 13, 280, -1, 7, 280, -1, 9, 280, 933 -1, 10, 280, -1, 11, 280, -1, 24, 286, -1, 934 5, 287, -1, -1, 280, -1, 5, 280, -1, 24, 935 280, -1, 5, 280, -1, 280, -1, 298, -1, 292, 936 -1, 290, -1, -1, 291, -1, 291, 302, -1, 292, 937 179, 294, 180, -1, 292, 179, 294, 180, 302, -1, 938 298, 179, 294, 180, -1, 288, 189, 288, -1, 131, 939 360, 132, -1, 289, -1, 289, 295, -1, 296, -1, 940 295, 3, 296, -1, 280, -1, 297, -1, 280, 4, 941 280, -1, 280, 4, 280, 4, 280, -1, 4, 280, 942 4, 280, -1, 4, 4, 280, -1, 4, 280, -1, 943 280, 4, -1, 4, -1, 169, -1, 142, -1, 143, 944 -1, 176, -1, 163, -1, 164, -1, 165, -1, 299, 945 169, -1, 300, 301, -1, 158, -1, 300, 158, -1, 946 162, -1, 159, -1, -1, 302, -1, 179, 303, 4, 947 303, 180, -1, -1, 280, -1, 187, -1, 280, -1, 948 -1, 306, 5, 280, -1, 306, 126, 280, -1, -1, 949 179, 283, 3, 283, 180, -1, 309, 310, -1, 309, 950 310, 3, 311, -1, 309, 310, 3, 31, 4, 187, 951 -1, 309, 310, 3, 31, 4, 313, -1, 141, -1, 952 169, -1, 312, -1, 311, 3, 312, -1, 169, 126, 953 169, -1, 314, -1, 313, 3, 314, -1, 169, 126, 954 169, -1, 169, -1, 328, -1, 98, 179, 366, 370, 955 180, -1, 105, 179, 369, 370, 180, -1, 106, 179, 956 371, 180, -1, 317, -1, 318, 324, -1, 316, 324, 957 -1, 319, 324, -1, 96, 324, -1, 321, -1, 372, 958 328, -1, 41, 179, 280, 180, 304, -1, 42, -1, 959 43, -1, 372, 84, -1, 85, 179, 280, 180, 84, 960 -1, 86, -1, 87, 324, -1, 48, 320, 180, -1, 961 49, 179, 280, 180, -1, 115, -1, 110, -1, 93, 962 -1, 153, -1, 156, -1, 155, -1, 154, -1, 280, 963 -1, 320, 3, 280, -1, 320, 4, 280, -1, 326, 964 323, 322, -1, 327, 280, -1, 94, 325, -1, -1, 965 373, 5, 280, 3, 280, -1, 373, 5, 280, 3, 966 280, 3, 280, -1, -1, 176, 248, -1, 187, -1, 967 169, -1, -1, 169, -1, 92, -1, 97, -1, 118, 968 -1, 330, 332, -1, 365, -1, 341, -1, 333, -1, 969 98, 179, 366, 370, 180, -1, 105, 179, 369, 370, 970 180, -1, 78, 303, -1, 83, 304, -1, 63, 304, 971 -1, 340, 304, -1, 331, -1, -1, 298, 329, 276, 972 276, -1, 330, 189, 298, 329, 276, 276, -1, 176, 973 -1, 331, 3, 176, -1, 5, 280, -1, 126, 280, 974 -1, 336, 334, -1, -1, 179, 335, 180, -1, -1, 975 338, -1, 337, 169, -1, 124, -1, 339, -1, 338, 976 3, 339, -1, 280, -1, 23, 364, -1, 133, -1, 977 135, -1, 349, 345, -1, 351, 343, -1, 352, 345, 978 -1, 352, 345, 360, -1, 104, 346, -1, 38, -1, 979 -1, 356, -1, 345, 342, -1, 350, 344, -1, -1, 980 3, 356, -1, 179, 347, 180, -1, 179, 353, 180, 981 -1, 179, 298, 180, -1, 179, 176, 180, -1, 176, 982 -1, 179, 283, 180, -1, 169, -1, 348, -1, 347, 983 3, 348, -1, 353, -1, 23, -1, 25, -1, 298, 984 280, 276, -1, 298, 280, -1, 298, 280, 189, 330, 985 -1, 298, 179, 297, 180, -1, 298, 23, -1, 298, 986 25, -1, 99, -1, 100, -1, 354, -1, 23, -1, 987 103, -1, 101, -1, 88, -1, 102, -1, 354, -1, 988 179, 353, 180, -1, 288, -1, 299, -1, 353, 355, 989 353, -1, 353, 23, 353, -1, 353, 24, 353, -1, 990 353, 25, 353, -1, 355, 353, -1, 353, 20, 353, 991 -1, 50, 280, -1, 55, 280, -1, 52, 280, -1, 992 51, 280, -1, 169, 5, 280, -1, 281, -1, 21, 993 -1, 22, -1, 358, -1, 356, 3, 358, -1, -1, 994 288, -1, 357, 359, -1, 179, 356, 180, 359, -1, 995 281, 359, -1, 299, 359, -1, 179, 356, 3, 363, 996 180, -1, -1, 285, -1, 359, 285, -1, 283, -1, 997 362, -1, 361, -1, 283, 3, 280, -1, 283, 3, 998 362, -1, 362, 3, 280, -1, 362, 3, 362, -1, 999 361, 3, 280, -1, 361, 3, 362, -1, 283, -1, 1000 281, -1, 307, -1, 179, 280, 180, -1, 179, 283, 1001 3, 363, 180, -1, 179, 362, 3, 363, 180, -1, 1002 179, 361, 3, 363, 180, -1, 169, 5, 280, 3, 1003 280, -1, 169, 5, 280, 3, 280, 3, 280, -1, 1004 176, -1, 89, 179, 280, 3, 280, 180, 3, 280, 1005 -1, 89, 364, -1, 367, -1, 330, -1, 366, 3, 1006 367, -1, 298, -1, 292, -1, 368, -1, 298, 179, 1007 295, 180, -1, 367, -1, 369, 3, 367, -1, -1, 1008 3, 125, 5, 298, -1, 298, -1, 371, 3, 298, 1009 -1, 91, 280, 180, -1, 298, -1 691 170, 0, -1, -1, 170, 171, -1, 172, -1, 173, 692 -1, 140, 173, -1, 1, -1, 166, 175, -1, 24, 693 -1, 172, 166, 175, -1, 172, 24, -1, 172, 140, 694 -1, 174, -1, 173, 24, 166, -1, 173, 24, 174, 695 -1, 178, 175, -1, 186, 175, -1, 28, 181, 175, 696 -1, 282, -1, -1, -1, 70, -1, -1, 26, 183, 697 -1, 176, 29, 180, 182, -1, 30, 180, -1, 176, 698 31, 180, 182, 177, -1, 92, 160, -1, 161, -1, 699 179, 161, -1, 160, -1, 153, -1, -1, 162, 163, 700 -1, 162, 184, 163, -1, -1, 162, 163, -1, 162, 701 184, 163, -1, 185, -1, 184, 3, 185, -1, 160, 702 -1, 21, -1, 228, 196, -1, 141, 187, 195, 336, 703 -1, 143, 336, -1, 114, 190, -1, 198, 162, 221, 704 163, -1, 198, 221, -1, 215, -1, 203, -1, 225, 705 -1, 211, -1, 213, -1, 212, -1, 276, -1, 223, 706 -1, 209, -1, 66, 162, 249, 163, -1, 108, 195, 707 214, -1, 110, 195, 189, -1, 65, 191, -1, 199, 708 166, -1, -1, 244, -1, 42, -1, 34, -1, 39, 709 -1, 54, -1, 77, -1, 40, -1, 43, -1, 60, 710 -1, 55, -1, 56, -1, 57, -1, 58, -1, 59, 711 -1, 62, -1, 63, -1, 64, -1, 67, -1, 68, 712 -1, 69, -1, 72, -1, 73, -1, 74, -1, 75, 713 -1, 160, -1, 188, -1, 189, 3, 188, -1, 162, 714 194, 163, -1, 190, 3, 162, 194, 163, -1, 192, 715 -1, 191, 3, 192, -1, 162, 193, 163, -1, 267, 716 245, -1, 193, 3, 267, 245, -1, 249, -1, 194, 717 3, 249, -1, -1, 131, -1, 226, 227, -1, 197, 718 180, 182, -1, 31, -1, 25, -1, 155, 200, -1, 719 201, -1, 200, 220, 201, -1, 160, 22, 202, 22, 720 -1, 206, 22, 202, 22, -1, 162, 257, 3, 368, 721 163, 22, 202, 22, -1, 207, -1, 207, 3, 202, 722 -1, 204, 205, -1, 204, 219, 205, -1, 203, 220, 723 219, 220, 205, -1, 203, 3, 205, -1, 116, -1, 724 -1, 160, 245, -1, 160, -1, 160, 162, 249, 163, 725 -1, 206, 3, 206, -1, 208, 268, -1, 207, 19, 726 207, -1, 207, 20, 207, -1, 207, 21, 207, -1, 727 207, 167, 207, -1, -1, 253, -1, 111, 267, -1, 728 111, 219, 267, -1, 209, 220, 219, 220, 267, -1, 729 209, 3, 267, -1, 106, -1, 210, 220, 160, 245, 730 233, -1, 211, 3, 160, 245, 233, -1, 79, 166, 731 -1, 79, 195, 214, -1, 78, 166, -1, 78, 195, 732 214, -1, 160, -1, 133, -1, 214, 3, 160, -1, 733 214, 3, 133, -1, 216, 217, -1, 216, 219, 217, 734 -1, 215, 220, 219, 220, 217, -1, 123, -1, 124, 735 123, -1, 218, -1, 217, 3, 218, -1, 160, 245, 736 -1, 18, -1, 22, 160, 22, -1, -1, 3, -1, 737 222, -1, 221, 3, 222, -1, 160, 5, 249, -1, 738 128, 224, -1, 160, -1, 224, 3, 160, -1, 118, 739 119, -1, 118, 130, -1, 240, 160, 245, 233, 274, 740 -1, 226, 3, 160, 245, 233, 274, -1, -1, 232, 741 235, -1, 231, 229, -1, 232, 21, 161, -1, 142, 742 237, 163, -1, -1, 21, 161, -1, 21, 162, 230, 743 163, -1, 162, 230, 163, -1, 160, 238, 239, -1, 744 160, 5, 238, 239, -1, 238, 239, -1, 152, -1, 745 145, -1, 146, -1, 144, -1, 158, -1, 159, -1, 746 147, -1, -1, 21, 234, -1, 249, -1, 162, 21, 747 163, -1, -1, 21, 236, -1, 162, 237, 163, -1, 748 249, -1, 162, 21, 163, -1, 160, 238, -1, 160, 749 5, 238, -1, 160, -1, 161, -1, 133, -1, 249, 750 -1, 21, -1, -1, 3, 160, 238, -1, -1, 131, 751 -1, 3, 241, 131, -1, 242, -1, 241, 3, 242, 752 -1, 25, -1, 244, -1, 80, -1, 106, 245, -1, 753 108, -1, 109, 162, 243, 163, -1, 110, -1, 113, 754 -1, 114, -1, 116, -1, 117, -1, 136, -1, 134, 755 -1, 135, -1, 78, -1, 79, -1, -1, 162, 246, 756 163, -1, 247, -1, 246, 3, 247, -1, 248, -1, 757 4, -1, 249, 4, -1, 4, 249, -1, 249, 4, 758 248, -1, 21, -1, 249, -1, 252, -1, 275, -1, 759 250, -1, 162, 249, 163, -1, 42, 251, 163, -1, 760 33, 251, 163, -1, 34, 162, 251, 163, -1, 39, 761 162, 251, 163, -1, 54, 251, 163, -1, 77, 162, 762 251, 163, -1, 40, 162, 249, 163, -1, 43, 249, 763 163, -1, 144, 162, 251, 163, -1, 60, 162, 249, 764 163, -1, 55, 162, 249, 163, -1, 56, 162, 249, 765 163, -1, 57, 162, 249, 163, -1, 58, 162, 249, 766 163, -1, 59, 162, 249, 163, -1, 62, 162, 249, 767 163, -1, 63, 162, 249, 163, -1, 64, 162, 249, 768 163, -1, 67, 162, 249, 163, -1, 68, 162, 249, 769 163, -1, 69, 162, 249, 163, -1, 71, 249, 163, 770 -1, 72, 162, 251, 163, -1, 73, 251, 163, -1, 771 74, 162, 251, 163, -1, 75, 162, 251, 163, -1, 772 249, -1, 251, 3, 249, -1, 257, -1, 268, -1, 773 262, -1, 249, 254, -1, 253, 249, -1, 11, 249, 774 -1, 19, -1, 20, -1, 19, 249, -1, 20, 249, 775 -1, 21, 249, -1, 23, 249, -1, 13, 249, -1, 776 7, 249, -1, 16, 249, -1, 165, 249, -1, 164, 777 249, -1, 165, 5, 249, -1, 164, 5, 249, -1, 778 17, 249, -1, 14, 249, -1, 15, 249, -1, 12, 779 249, -1, 6, 249, -1, 8, 249, -1, 9, 249, 780 -1, 10, 249, -1, 22, 255, -1, 5, 256, -1, 781 -1, 249, -1, 5, 249, -1, 22, 249, -1, 5, 782 249, -1, 249, -1, 267, -1, 261, -1, 259, -1, 783 -1, 260, -1, 260, 271, -1, 261, 162, 263, 163, 784 -1, 261, 162, 263, 163, 271, -1, 267, 162, 263, 785 163, -1, 257, 168, 356, 257, -1, 125, 366, 126, 786 -1, 258, -1, 258, 264, -1, 265, -1, 264, 3, 787 265, -1, 249, -1, 266, -1, 249, 4, 249, -1, 788 249, 4, 249, 4, 249, -1, 4, 249, 4, 249, 789 -1, 4, 4, 249, -1, 4, 249, -1, 249, 4, 790 -1, 4, -1, 160, -1, 138, -1, 139, -1, 41, 791 -1, 161, -1, 157, -1, 132, -1, 268, 160, -1, 792 269, 270, -1, 153, -1, 269, 153, -1, 156, -1, 793 154, -1, -1, 271, -1, 162, 272, 4, 272, 163, 794 -1, -1, 249, -1, 166, -1, 249, -1, -1, 5, 795 249, -1, 122, 249, -1, 162, 252, 3, 252, 163, 796 -1, 277, 160, -1, 277, 160, 3, 278, -1, 277, 797 160, 3, 27, 4, 166, -1, 277, 160, 3, 27, 798 4, 280, -1, 137, -1, 279, -1, 278, 3, 279, 799 -1, 160, 122, 160, -1, 281, -1, 280, 3, 281, 800 -1, 160, 122, 160, -1, 160, -1, 283, -1, 331, 801 -1, 284, -1, 300, -1, 320, -1, 310, -1, 287, 802 -1, 115, -1, 338, 340, -1, 369, -1, 341, -1, 803 357, 352, -1, 359, 350, -1, 100, 352, -1, 100, 804 352, 366, -1, 103, 353, -1, 96, 162, 370, 373, 805 163, -1, 104, 162, 372, 373, 163, -1, 76, 272, 806 -1, 81, 273, -1, 61, 273, -1, 348, 273, -1, 807 339, -1, 105, 162, 374, 163, -1, 333, -1, 334, 808 336, -1, 332, 336, -1, 335, 336, -1, 93, 336, 809 -1, 319, -1, 286, -1, 90, -1, 249, -1, 35, 810 162, 294, 163, 293, -1, 291, 172, 288, 289, 290, 811 297, -1, -1, 288, 292, 172, -1, -1, 289, 295, 812 172, 288, -1, -1, 290, 296, 172, 288, -1, 35, 813 162, 294, 163, -1, 293, -1, 286, -1, 287, -1, 814 285, -1, 249, -1, 36, 294, 163, -1, 36, 294, 815 163, 160, -1, 37, -1, 37, 160, -1, 38, -1, 816 38, 160, -1, -1, -1, 299, 282, -1, 299, 282, 817 172, -1, 301, -1, 302, 172, 307, 308, -1, 303, 818 -1, 304, -1, 160, 4, 89, 179, -1, 89, 179, 819 -1, 160, 4, 89, 179, 305, -1, 89, 179, 305, 820 -1, 160, 4, 89, -1, 89, -1, 160, 4, 89, 821 305, -1, 89, 305, -1, 220, 306, 5, 249, 3, 822 249, -1, 220, 306, 5, 249, 3, 249, 3, 249, 823 -1, 220, 94, 162, 249, 163, -1, 220, 95, 298, 824 -1, 267, -1, 299, -1, 309, -1, 330, -1, 91, 825 -1, 91, 160, -1, 315, 172, 299, 311, 313, 318, 826 -1, -1, 312, -1, 311, 312, -1, 316, 172, 299, 827 -1, -1, 314, -1, 313, 312, -1, 317, 172, 299, 828 -1, 160, 4, 88, 162, 249, 163, 82, -1, 88, 829 162, 249, 163, 82, -1, 83, 162, 249, 163, 82, 830 -1, 83, 162, 249, 163, 82, 160, -1, 84, -1, 831 84, 160, -1, 85, -1, 85, 160, -1, 88, 162, 832 249, 163, 284, -1, 323, 172, 321, 325, -1, -1, 833 322, -1, 321, 322, -1, 324, 172, 299, -1, 160, 834 4, 45, 162, 249, 163, -1, 45, 162, 249, 163, 835 -1, 44, 326, -1, 44, 326, 160, -1, 107, -1, 836 107, 160, -1, 162, 327, 163, -1, 112, -1, 328, 837 -1, 327, 3, 328, -1, 329, -1, 329, 4, -1, 838 4, 329, -1, 329, 4, 329, -1, 249, -1, 115, 839 -1, 32, -1, 148, -1, 151, -1, 150, -1, 149, 840 -1, 166, -1, 160, -1, -1, 267, 337, 245, 245, 841 -1, 338, 168, 356, 267, 337, 245, 245, -1, 161, 842 -1, 339, 3, 161, -1, 5, 249, -1, 122, 249, 843 -1, 344, 342, -1, -1, 162, 343, 163, -1, -1, 844 346, -1, 345, 101, -1, 345, 160, -1, 120, -1, 845 347, -1, 346, 3, 347, -1, 249, -1, 21, 161, 846 -1, 127, -1, 129, -1, -1, 363, -1, 352, 349, 847 -1, 358, 351, -1, -1, 3, 363, -1, 162, 354, 848 163, -1, 162, 267, 163, -1, 162, 161, 163, -1, 849 161, -1, 162, 252, 163, -1, 160, -1, 355, -1, 850 354, 3, 355, -1, 360, -1, 21, -1, 23, -1, 851 267, 249, 245, -1, 267, 249, 168, 356, 338, -1, 852 267, 162, 266, 163, -1, 267, 21, -1, 267, 23, 853 -1, -1, 97, -1, 98, -1, 101, -1, 361, -1, 854 21, -1, 102, -1, 99, -1, 86, -1, 361, -1, 855 162, 360, 163, -1, 257, -1, 268, -1, 360, 362, 856 360, -1, 360, 21, 360, -1, 360, 22, 360, -1, 857 360, 23, 360, -1, 362, 360, -1, 360, 18, 360, 858 -1, 46, 249, -1, 47, 249, -1, 49, 249, -1, 859 48, 249, -1, 53, 249, -1, 52, 249, -1, 50, 860 249, -1, 160, 5, 249, -1, 250, -1, 19, -1, 861 20, -1, 364, -1, 363, 3, 364, -1, 257, 365, 862 -1, 162, 363, 163, 365, -1, 250, 365, -1, 268, 863 365, -1, 162, 363, 3, 368, 163, -1, -1, 254, 864 -1, 365, 254, -1, 275, -1, 250, -1, 252, -1, 865 367, -1, 252, 3, 249, -1, 252, 3, 367, -1, 866 367, 3, 249, -1, 367, 3, 367, -1, 366, 3, 867 249, -1, 366, 3, 367, -1, 162, 252, 3, 368, 868 163, -1, 162, 366, 3, 368, 163, -1, 162, 367, 869 3, 368, 163, -1, 160, 5, 249, 3, 249, -1, 870 160, 5, 249, 3, 249, 3, 249, -1, 87, 162, 871 249, 3, 249, 163, 3, 249, -1, 87, 161, -1, 872 371, -1, 370, 3, 371, -1, 257, -1, 371, -1, 873 372, 3, 371, -1, -1, 3, 121, 5, 257, -1, 874 267, -1, 374, 3, 267, -1 1010 875 }; 1011 876 … … 1013 878 static const yytype_uint16 yyrline[] = 1014 879 { 1015 0, 336, 336, 337, 339, 340, 341, 342, 343, 346, 1016 347, 349, 350, 351, 360, 361, 363, 365, 367, 374, 1017 379, 380, 382, 384, 385, 387, 388, 394, 397, 398, 1018 401, 402, 430, 448, 481, 515, 532, 539, 541, 545, 1019 550, 553, 556, 561, 562, 563, 571, 582, 594, 595, 1020 597, 605, 613, 619, 620, 635, 648, 649, 655, 656, 1021 693, 706, 707, 708, 709, 710, 711, 712, 713, 714, 1022 715, 734, 735, 741, 742, 743, 744, 745, 746, 747, 1023 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 1024 758, 759, 760, 761, 762, 763, 764, 766, 767, 769, 1025 770, 772, 773, 775, 777, 778, 780, 781, 783, 784, 1026 786, 870, 907, 913, 918, 923, 937, 951, 966, 973, 1027 982, 983, 984, 985, 987, 992, 993, 998, 1002, 1007, 1028 1012, 1014, 1016, 1018, 1020, 1024, 1025, 1028, 1030, 1031, 1029 1032, 1033, 1035, 1037, 1042, 1047, 1053, 1069, 1086, 1087, 1030 1089, 1093, 1098, 1102, 1107, 1113, 1124, 1136, 1141, 1147, 1031 1152, 1156, 1166, 1175, 1185, 1186, 1188, 1192, 1197, 1220, 1032 1222, 1223, 1225, 1235, 1237, 1239, 1272, 1307, 1309, 1311, 1033 1315, 1320, 1326, 1334, 1335, 1337, 1338, 1340, 1341, 1342, 1034 1344, 1349, 1351, 1356, 1360, 1363, 1369, 1371, 1377, 1378, 1035 1380, 1381, 1383, 1384, 1385, 1387, 1388, 1390, 1391, 1400, 1036 1404, 1409, 1411, 1414, 1415, 1417, 1418, 1419, 1421, 1422, 1037 1424, 1428, 1429, 1431, 1436, 1438, 1440, 1441, 1442, 1443, 1038 1449, 1452, 1453, 1454, 1456, 1458, 1461, 1466, 1470, 1472, 1039 1476, 1481, 1485, 1490, 1495, 1503, 1504, 1506, 1507, 1509, 1040 1511, 1515, 1517, 1519, 1521, 1523, 1525, 1527, 1529, 1531, 1041 1533, 1535, 1537, 1539, 1541, 1543, 1545, 1547, 1549, 1551, 1042 1553, 1555, 1557, 1559, 1561, 1563, 1565, 1568, 1569, 1573, 1043 1574, 1576, 1578, 1580, 1582, 1585, 1586, 1588, 1590, 1592, 1044 1594, 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1045 1614, 1616, 1618, 1620, 1622, 1624, 1626, 1628, 1631, 1632, 1046 1634, 1636, 1639, 1641, 1645, 1650, 1655, 1661, 1673, 1678, 1047 1680, 1683, 1687, 1697, 1703, 1706, 1707, 1710, 1711, 1714, 1048 1715, 1717, 1719, 1722, 1724, 1725, 1726, 1727, 1729, 1787, 1049 1789, 1790, 1791, 1792, 1793, 1794, 1796, 1798, 1800, 1801, 1050 1803, 1806, 1807, 1809, 1812, 1813, 1815, 1816, 1818, 1819, 1051 1827, 1836, 1838, 1841, 1861, 1895, 1915, 1966, 1974, 1977, 1052 1981, 1991, 2002, 2006, 2016, 2028, 2037, 2038, 2044, 2050, 1053 2051, 2101, 2119, 2139, 2158, 2203, 2204, 2205, 2206, 2207, 1054 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2260, 1055 2270, 2279, 2288, 2297, 2298, 2299, 2301, 2302, 2303, 2305, 1056 2306, 2307, 2308, 2309, 2311, 2312, 2314, 2315, 2317, 2319, 1057 2326, 2327, 2328, 2329, 2330, 2331, 2337, 2343, 2344, 2345, 1058 2346, 2347, 2349, 2350, 2360, 2362, 2363, 2365, 2366, 2368, 1059 2396, 2397, 2399, 2400, 2402, 2432, 2434, 2435, 2438, 2452, 1060 2455, 2456, 2459, 2460, 2461, 2462, 2463, 2464, 2476, 2477, 1061 2479, 2480, 2485, 2486, 2488, 2489, 2491, 2492, 2493, 2494, 1062 2495, 2497, 2498, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 1063 2507, 2508, 2510, 2511, 2513, 2514, 2517, 2518, 2519, 2522, 1064 2525, 2526, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 1065 2536, 2537, 2538, 2539, 2540, 2541, 2543, 2544, 2546, 2547, 1066 2549, 2550, 2552, 2553, 2554, 2555, 2556, 2558, 2559, 2560, 1067 2562, 2563, 2564, 2566, 2568, 2570, 2572, 2574, 2576, 2578, 1068 2579, 2581, 2583, 2585, 2587, 2589, 2593, 2596, 2603, 2605, 1069 2606, 2608, 2609, 2610, 2612, 2614, 2615, 2617, 2624, 2625, 1070 2627, 2628, 2630, 2631, 2639, 2641 880 0, 313, 313, 314, 316, 317, 318, 319, 322, 323, 881 324, 325, 326, 329, 330, 331, 334, 335, 336, 344, 882 347, 350, 351, 354, 355, 358, 366, 375, 392, 411, 883 412, 415, 417, 419, 420, 421, 423, 424, 425, 427, 884 439, 451, 452, 454, 455, 456, 457, 458, 475, 492, 885 493, 498, 499, 536, 549, 550, 551, 552, 553, 554, 886 555, 556, 557, 570, 571, 578, 579, 580, 581, 582, 887 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 888 593, 594, 595, 596, 597, 598, 599, 600, 601, 604, 889 605, 608, 609, 612, 613, 615, 618, 619, 622, 623, 890 625, 626, 629, 695, 710, 712, 716, 719, 720, 723, 891 729, 734, 748, 749, 752, 753, 754, 755, 758, 760, 892 761, 764, 765, 766, 769, 770, 771, 772, 773, 775, 893 776, 779, 780, 781, 782, 785, 792, 802, 814, 815, 894 818, 819, 822, 823, 824, 825, 828, 834, 842, 852, 895 853, 856, 857, 860, 868, 874, 881, 882, 885, 886, 896 889, 905, 908, 909, 912, 921, 923, 945, 970, 972, 897 973, 974, 975, 977, 978, 979, 980, 983, 984, 985, 898 987, 990, 991, 992, 993, 994, 995, 997, 998, 1001, 899 1002, 1004, 1005, 1006, 1008, 1009, 1012, 1013, 1023, 1024, 900 1025, 1028, 1029, 1031, 1032, 1034, 1035, 1036, 1038, 1039, 901 1042, 1043, 1044, 1045, 1046, 1047, 1049, 1050, 1051, 1052, 902 1053, 1056, 1057, 1058, 1061, 1062, 1064, 1065, 1073, 1079, 903 1086, 1087, 1088, 1089, 1090, 1093, 1094, 1096, 1097, 1098, 904 1099, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 905 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 906 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1133, 907 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1145, 1146, 1147, 908 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 909 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1168, 910 1169, 1170, 1173, 1174, 1177, 1178, 1179, 1183, 1194, 1195, 911 1196, 1197, 1200, 1209, 1216, 1219, 1220, 1223, 1224, 1227, 912 1228, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1239, 1285, 913 1286, 1287, 1288, 1289, 1290, 1291, 1293, 1296, 1297, 1298, 914 1299, 1301, 1302, 1305, 1307, 1308, 1311, 1312, 1314, 1315, 915 1321, 1329, 1332, 1352, 1379, 1399, 1439, 1446, 1450, 1457, 916 1467, 1468, 1476, 1486, 1498, 1499, 1504, 1505, 1506, 1507, 917 1508, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 918 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1567, 919 1576, 1587, 1595, 1617, 1618, 1619, 1657, 1661, 1665, 1668, 920 1669, 1672, 1673, 1676, 1677, 1682, 1686, 1687, 1688, 1692, 921 1696, 1701, 1702, 1707, 1708, 1713, 1714, 1718, 1722, 1723, 922 1724, 1729, 1734, 1739, 1740, 1745, 1746, 1747, 1748, 1753, 923 1754, 1755, 1756, 1761, 1762, 1763, 1764, 1768, 1772, 1776, 924 1777, 1782, 1783, 1787, 1790, 1791, 1792, 1796, 1799, 1800, 925 1801, 1804, 1809, 1810, 1815, 1816, 1821, 1822, 1827, 1828, 926 1832, 1836, 1839, 1840, 1841, 1844, 1849, 1850, 1855, 1856, 927 1861, 1862, 1867, 1868, 1872, 1873, 1878, 1879, 1880, 1881, 928 1885, 1889, 1893, 1897, 1905, 1912, 1919, 1926, 1927, 1930, 929 1933, 1944, 1950, 1951, 1954, 1955, 1957, 1970, 1971, 1973, 930 1974, 1977, 1978, 2000, 2003, 2004, 2007, 2015, 2018, 2019, 931 2022, 2023, 2026, 2027, 2029, 2030, 2032, 2035, 2036, 2037, 932 2038, 2039, 2042, 2043, 2046, 2047, 2048, 2049, 2050, 2051, 933 2052, 2053, 2056, 2059, 2060, 2061, 2063, 2064, 2067, 2068, 934 2069, 2072, 2073, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 935 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 936 2094, 2095, 2097, 2098, 2104, 2105, 2106, 2107, 2108, 2110, 937 2111, 2112, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 938 2123, 2124, 2127, 2128, 2129, 2131, 2132, 2134, 2135, 2138, 939 2139, 2142, 2145, 2146, 2148, 2149, 2152, 2153 1071 940 }; 1072 941 #endif 1073 942 1074 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE943 #if YYDEBUG || YYERROR_VERBOSE || 0 1075 944 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 1076 945 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 1077 946 static const char *const yytname[] = 1078 947 { 1079 "$end", "error", "$undefined", "','", "':'", "'='", "TOK_BINARY_OP", 1080 "TOK_NEQV", "TOK_EQV", "TOK_XOR", "TOK_OR", "TOK_AND", "TOK_NOT", 1081 "TOK_NE", "TOK_EQ", "TOK_GE", "TOK_LE", "TOK_GT", "TOK_LT", 1082 "TOK_UNARY_OP", "TOK_DSLASH", "'+'", "'-'", "'*'", "TOK_SLASH", 1083 "TOK_DASTER", "TOK_SEP", "TOK_SEMICOLON", "TOK_NEXTLINE", 1084 "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", 1085 "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_OMP", "TOK_DOLLAR", 1086 "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", "TOK_ELSEWHERE", 1087 "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_SUM", "TOK_SQRT", 1088 "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_END", "TOK_ERR", 1089 "TOK_DONOTTREAT", "TOK_ENDDONOTTREAT", "TOK_EXIST", "TOK_MIN", 1090 "TOK_FLOAT", "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", 1091 "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", 1092 "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", 1093 "TOK_ABS", "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", 1094 "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", 1095 "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", 1096 "TOK_PRINT", "TOK_PLAINGOTO", "TOK_CONSTRUCTID", "TOK_LOGICALIF", 1097 "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", 1098 "TOK_ENDMODULE", "TOK_DOWHILE", "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", 1099 "TOK_INQUIRE", "TOK_WRITE", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", 1100 "TOK_NULLIFY", "TOK_FIN", "TOK_DEBUT", "TOK_DIMENSION", "TOK_ENDSELECT", 1101 "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", 1102 "TOK_CASEDEFAULT", "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", 1103 "TOK_SAVE", "TOK_TARGET", "TOK_QUOTE", "TOK_IMPLICIT", "TOK_NONE", 1104 "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", 1105 "TOK_INTERFACE", "TOK_ENDINTERFACE", "TOK_LEFTAB", "TOK_RIGHTAB", 1106 "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", "TOK_NAMEEQ", "TOK_REAL8", 948 "$end", "error", "$undefined", "','", "':'", "'='", "TOK_NEQV", 949 "TOK_EQV", "TOK_XOR", "TOK_OR", "TOK_AND", "TOK_NOT", "TOK_NE", "TOK_EQ", 950 "TOK_GE", "TOK_LE", "TOK_GT", "TOK_LT", "TOK_DSLASH", "'+'", "'-'", 951 "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", "TOK_PARAMETER", 952 "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", "TOK_SUBROUTINE", "TOK_PROGRAM", 953 "TOK_FUNCTION", "TOK_FORMAT", "TOK_MAX", "TOK_TANH", "TOK_WHERE", 954 "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", "TOK_ENDWHERE", "TOK_MAXVAL", 955 "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", "TOK_SQRT", "TOK_CASE", 956 "TOK_SELECTCASE", "TOK_FILE", "TOK_UNIT", "TOK_FMT", "TOK_NML", 957 "TOK_END", "TOK_EOR", "TOK_ERR", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", 958 "TOK_EXP", "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", 959 "TOK_SIN", "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", 960 "TOK_LOG", "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", 961 "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_MINVAL", 962 "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", "TOK_RETURN", "TOK_THEN", 963 "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", 964 "TOK_LOGICALIF", "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", 965 "TOK_MODULE", "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", 966 "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE", 967 "TOK_FLUSH", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", "TOK_NULLIFY", 968 "TOK_DIMENSION", "TOK_ENDSELECT", "TOK_EXTERNAL", "TOK_INTENT", 969 "TOK_INTRINSIC", "TOK_NAMELIST", "TOK_DEFAULT", "TOK_OPTIONAL", 970 "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", "TOK_IMPLICIT", 971 "TOK_NONE", "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", 972 "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", "TOK_PROCEDURE", 973 "TOK_STOP", "TOK_REAL8", "TOK_FOURDOTS", "TOK_HEXA", "TOK_ASSIGNTYPE", 1107 974 "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", "TOK_TRUE", "TOK_FALSE", 1108 975 "TOK_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_REAL", 1109 "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_DOUBLEREAL", 1110 "TOK_ENDSUBROUTINE", "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", 1111 "TOK_CHARACTER", "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", 1112 "TOK_CHAR_INT", "TOK_CHAR_MESSAGE", "TOK_CSTREAL", "TOK_CSTREALDP", 1113 "TOK_CSTREALQP", "TOK_SFREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", 1114 "TOK_NAME", "TOK_NAME_CHAR", "TOK_PROBTYPE", "TOK_INTERPTYPE", 1115 "TOK_VARTYPE", "TOK_BC", "TOK_OP", "TOK_CSTINT", "TOK_COMMENT", 1116 "TOK_FILENAME", "'('", "')'", "'['", "']'", "'!'", "'_'", "'<'", "'>'", 1117 "'\\n'", "'/'", "'%'", "$accept", "input", "line", "suite_line_list", 1118 "suite_line", "instr", "fin_line", "keyword", "position", "thislabel", 1119 "cmnt", "nulcurbuf", "opt_recursive", "entry", "name_routine", 1120 "writedeclar", "before_include", "filename", "arglist", "arglist1", 976 "TOK_INTEGER", "TOK_LOGICAL", "TOK_DOUBLEPRECISION", "TOK_ENDSUBROUTINE", 977 "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", 978 "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", 979 "TOK_CSTREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", "TOK_NAME", 980 "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", 981 "$accept", "input", "line", "line-break", "suite_line_list", 982 "suite_line", "fin_line", "opt_recursive", "opt_result", "entry", 983 "label", "name_routine", "filename", "arglist", "arglist_after_result", 1121 984 "args", "arg", "spec", "opt_spec", "name_intrinsic", 1122 985 "use_intrinsic_list", "list_couple", "list_expr_equi", "expr_equi", 1123 986 "list_expr_equi1", "list_expr", "opt_sep", "after_type", 1124 "before_function", "before_parameter", "before_data", "data", 1125 "datavallist", "save", "before_save", "varsave", "datanamelist", 1126 "expr_data", "opt_signe", "namelist", "namelist_action", 1127 "after_namelist", "interface", "before_dimension", "dimension", 1128 "private", "public", "use_name_list", "common", "before_common", 1129 "var_common_list", "var_common", "comblock", "opt_comma", "paramlist", 1130 "paramitem", "module_proc_stmt", "proc_name_list", "implicit", 1131 "opt_retour", "dcl", "nodimsgiven", "type", "before_typepar", 1132 "c_selector", "c_attribute", "before_character", "typespec", "typename", 1133 "lengspec", "proper_lengspec", "selector", "proper_selector", 1134 "attribute", "clause", "opt_clause", "options", "attr_spec_list", 1135 "attr_spec", "intent_spec", "access_spec", "dims", "dimlist", "dim", 1136 "ubound", "expr", "predefinedfunction", "minmaxlist", "uexpr", "signe", 1137 "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", 987 "before_function", "before_parameter", "data_stmt", "data_stmt_set_list", 988 "data_stmt_set", "data_stmt_value_list", "save", "before_save", 989 "varsave", "datanamelist", "expr_data", "opt_signe", "namelist", 990 "before_dimension", "dimension", "private", "public", "use_name_list", 991 "common", "before_common", "var_common_list", "var_common", "comblock", 992 "opt_comma", "paramlist", "paramitem", "module_proc_stmt", 993 "proc_name_list", "implicit", "dcl", "nodimsgiven", "type", "c_selector", 994 "c_attribute", "before_character", "typespec", "lengspec", 995 "proper_lengspec", "selector", "proper_selector", "attribute", "clause", 996 "opt_clause", "options", "attr_spec_list", "attr_spec", "intent_spec", 997 "access_spec", "dims", "dimlist", "dim", "ubound", "expr", 998 "predefinedfunction", "minmaxlist", "uexpr", "signe", "operation", 999 "after_slash", "after_equal", "lhs", "beforefunctionuse", 1138 1000 "array_ele_substring_func_ref", "begin_array", "structure_component", 1139 1001 "vec", "funarglist", "funargs", "funarg", "triplet", "ident", 1140 1002 "simple_const", "string_constant", "opt_substring", "substring", 1141 "optexpr", "opt_expr", "initial_value", "before_initial", 1142 "complex_const", "use_stat", "word_use", "module_name", "rename_list", 1143 "rename_name", "only_list", "only_name", "exec", "word_endsubroutine", 1144 "word_endunit", "word_endprogram", "word_endfunction", "caselist", 1145 "boucledo", "do_arg", "opt_int", "opt_name", "optname", "worddo", 1146 "wordwhile", "iffable", "before_dims", "ident_dims", "int_list", 1147 "after_ident_dims", "call", "opt_call", "opt_callarglist", "keywordcall", 1148 "before_call", "callarglist", "callarg", "stop", "io", "option_inlist", 1149 "option_read", "opt_inlist", "ioctl", "after_rewind", "ctllist", 1150 "ioclause", "iofctl", "infmt", "read", "write", "fexpr", "unpar_fexpr", 1151 "addop", "inlist", "opt_lhs", "inelt", "opt_operation", "outlist", 1152 "out2", "other", "dospec", "label", "goto", "allocation_list", 1153 "allocate_object", "array_element", "allocate_object_list", 1154 "opt_stat_spec", "pointer_name_list", "logif", "do_var", 0 1003 "optexpr", "opt_expr", "initial_value", "complex_const", "use_stat", 1004 "word_use", "rename_list", "rename_name", "only_list", "only_name", 1005 "execution-part-construct", "executable-construct", "action-stmt", 1006 "assignment-stmt", "where-stmt", "where-construct", 1007 "opt-where-body-construct", "opt-masked-elsewhere-construct", 1008 "opt-elsewhere-construct", "where-construct-stmt", 1009 "where-body-construct", "where-assignment-stmt", "mask-expr", 1010 "masked-elsewhere-stmt", "elsewhere-stmt", "end-where-stmt", 1011 "forall-header", "block", "do-construct", "block-do-construct", 1012 "do-stmt", "label-do-stmt", "nonlabel-do-stmt", "loop-control", 1013 "do-variable", "do-block", "end-do", "end-do-stmt", "if-construct", 1014 "opt-else-if-stmt-block", "else-if-stmt-block", "opt-else-stmt-block", 1015 "else-stmt-block", "if-then-stmt", "else-if-stmt", "else-stmt", 1016 "end-if-stmt", "if-stmt", "case-construct", "opt_case-stmt-block", 1017 "case-stmt-block", "select-case-stmt", "case-stmt", "end-select-stmt", 1018 "case-selector", "case-value-range-list", "case-value-range", 1019 "case-value", "continue-stmt", "format-stmt", "word_endsubroutine", 1020 "word_endunit", "word_endprogram", "word_endfunction", "opt_name", 1021 "before_dims", "ident_dims", "int_list", "after_ident_dims", "call", 1022 "opt_call", "opt_callarglist", "keywordcall", "before_call", 1023 "callarglist", "callarg", "stop", "option_inlist", "option_read", 1024 "opt_inlist", "ioctl", "after_rewind", "ctllist", "ioclause", 1025 "declare_after_percent", "iofctl", "infmt", "read", "fexpr", 1026 "unpar_fexpr", "addop", "inlist", "inelt", "opt_operation", "outlist", 1027 "other", "dospec", "goto", "allocation_list", "allocate_object", 1028 "allocate_object_list", "opt_stat_spec", "pointer_name_list", YY_NULL 1155 1029 }; 1156 1030 #endif … … 1162 1036 { 1163 1037 0, 256, 257, 44, 58, 61, 258, 259, 260, 261, 1164 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,1165 272, 43, 45, 42, 273, 274, 275, 276, 277, 278,1038 262, 263, 264, 265, 266, 267, 268, 269, 270, 43, 1039 45, 42, 271, 272, 273, 274, 275, 276, 277, 278, 1166 1040 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 1167 1041 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, … … 1177 1051 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 1178 1052 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 1179 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 1180 419, 420, 421, 422, 423, 424, 425, 426, 427, 40, 1181 41, 91, 93, 33, 95, 60, 62, 10, 47, 37 1053 409, 410, 40, 41, 60, 62, 10, 47, 37 1182 1054 }; 1183 1055 # endif … … 1186 1058 static const yytype_uint16 yyr1[] = 1187 1059 { 1188 0, 190, 191, 191, 192, 192, 192, 192, 192, 193, 1189 193, 194, 194, 194, 194, 194, 195, 196, 197, 197, 1190 197, 197, 198, 199, 199, 200, 200, 201, 202, 202, 1191 203, 203, 203, 203, 203, 203, 204, 205, 206, 207, 1192 208, 208, 208, 209, 209, 209, 210, 210, 211, 211, 1193 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 1194 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 1195 212, 213, 213, 214, 214, 214, 214, 214, 214, 214, 1196 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 1197 214, 214, 214, 214, 214, 214, 214, 215, 215, 216, 1060 0, 169, 170, 170, 171, 171, 171, 171, 172, 172, 1061 172, 172, 172, 173, 173, 173, 174, 174, 174, 174, 1062 175, 176, 176, 177, 177, 178, 178, 178, 178, 179, 1063 179, 180, 181, 182, 182, 182, 183, 183, 183, 184, 1064 184, 185, 185, 186, 186, 186, 186, 186, 186, 186, 1065 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 1066 186, 186, 186, 187, 187, 188, 188, 188, 188, 188, 1067 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 1068 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 1069 189, 190, 190, 191, 191, 192, 193, 193, 194, 194, 1070 195, 195, 196, 196, 197, 198, 199, 200, 200, 201, 1071 201, 201, 202, 202, 203, 203, 203, 203, 204, 205, 1072 205, 206, 206, 206, 207, 207, 207, 207, 207, 208, 1073 208, 209, 209, 209, 209, 210, 211, 211, 212, 212, 1074 213, 213, 214, 214, 214, 214, 215, 215, 215, 216, 1198 1075 216, 217, 217, 218, 219, 219, 220, 220, 221, 221, 1199 222, 222, 223, 224, 225, 226, 226, 226, 227, 227, 1200 228, 228, 228, 228, 229, 230, 230, 231, 231, 231, 1201 232, 232, 232, 232, 232, 233, 233, 234, 235, 235, 1202 235, 235, 236, 237, 237, 238, 239, 239, 240, 240, 1203 241, 241, 242, 242, 243, 243, 243, 244, 244, 245, 1204 245, 246, 247, 247, 248, 248, 249, 249, 250, 251, 1205 252, 252, 253, 253, 254, 255, 255, 256, 257, 257, 1206 257, 257, 258, 259, 259, 259, 259, 260, 260, 260, 1207 261, 262, 263, 263, 263, 263, 263, 263, 264, 264, 1208 265, 265, 266, 266, 266, 267, 267, 268, 268, 268, 1209 268, 269, 269, 270, 270, 271, 271, 271, 272, 272, 1210 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 1211 273, 274, 274, 274, 275, 275, 276, 276, 277, 277, 1212 278, 278, 278, 278, 278, 279, 279, 280, 280, 280, 1213 280, 281, 281, 281, 281, 281, 281, 281, 281, 281, 1214 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 1215 281, 281, 281, 281, 281, 281, 281, 282, 282, 283, 1216 283, 283, 283, 283, 283, 284, 284, 285, 285, 285, 1217 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 1218 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 1219 286, 286, 287, 287, 288, 288, 288, 289, 290, 290, 1220 290, 290, 291, 292, 293, 294, 294, 295, 295, 296, 1221 296, 297, 297, 297, 297, 297, 297, 297, 298, 299, 1222 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 1223 300, 301, 301, 302, 303, 303, 304, 304, 305, 305, 1224 305, 306, 307, 308, 308, 308, 308, 309, 310, 311, 1225 311, 312, 313, 313, 314, 314, 315, 315, 315, 315, 1226 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 1227 315, 315, 315, 315, 315, 315, 315, 315, 315, 316, 1228 317, 318, 319, 320, 320, 320, 321, 321, 321, 322, 1229 322, 322, 323, 323, 324, 324, 325, 325, 326, 327, 1230 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 1231 328, 328, 329, 330, 330, 331, 331, 332, 332, 333, 1232 334, 334, 335, 335, 336, 337, 338, 338, 339, 339, 1233 340, 340, 341, 341, 341, 341, 341, 341, 342, 342, 1234 343, 343, 344, 344, 345, 345, 346, 346, 346, 346, 1235 346, 347, 347, 348, 348, 348, 348, 348, 348, 348, 1236 348, 348, 349, 349, 350, 350, 351, 351, 351, 352, 1237 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, 1238 354, 354, 354, 354, 354, 354, 355, 355, 356, 356, 1239 357, 357, 358, 358, 358, 358, 358, 359, 359, 359, 1240 360, 360, 360, 361, 361, 361, 361, 361, 361, 361, 1241 361, 362, 362, 362, 362, 362, 363, 363, 364, 365, 1242 365, 366, 366, 366, 367, 367, 367, 368, 369, 369, 1243 370, 370, 371, 371, 372, 373 1076 222, 223, 224, 224, 225, 225, 226, 226, 227, 228, 1077 228, 228, 228, 229, 229, 229, 229, 230, 230, 230, 1078 231, 232, 232, 232, 232, 232, 232, 233, 233, 234, 1079 234, 235, 235, 235, 236, 236, 237, 237, 237, 237, 1080 237, 238, 238, 239, 239, 240, 240, 240, 241, 241, 1081 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 1082 242, 243, 243, 243, 244, 244, 245, 245, 246, 246, 1083 247, 247, 247, 247, 247, 248, 248, 249, 249, 249, 1084 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 1085 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 1086 250, 250, 250, 250, 250, 250, 250, 251, 251, 252, 1087 252, 252, 252, 252, 252, 253, 253, 254, 254, 254, 1088 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1089 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 1090 255, 255, 256, 256, 257, 257, 257, 258, 259, 259, 1091 259, 259, 260, 261, 262, 263, 263, 264, 264, 265, 1092 265, 266, 266, 266, 266, 266, 266, 266, 267, 268, 1093 268, 268, 268, 268, 268, 268, 268, 269, 269, 269, 1094 269, 270, 270, 271, 272, 272, 273, 273, 274, 274, 1095 274, 275, 276, 276, 276, 276, 277, 278, 278, 279, 1096 280, 280, 281, 281, 282, 282, 283, 283, 283, 283, 1097 283, 284, 284, 284, 284, 284, 284, 284, 284, 284, 1098 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 1099 284, 284, 284, 284, 284, 284, 285, 286, 287, 288, 1100 288, 289, 289, 290, 290, 291, 292, 292, 292, 293, 1101 294, 295, 295, 296, 296, 297, 297, 298, 299, 299, 1102 299, 300, 301, 302, 302, 303, 303, 303, 303, 304, 1103 304, 304, 304, 305, 305, 305, 305, 306, 307, 308, 1104 308, 309, 309, 310, 311, 311, 311, 312, 313, 313, 1105 313, 314, 315, 315, 316, 316, 317, 317, 318, 318, 1106 319, 320, 321, 321, 321, 322, 323, 323, 324, 324, 1107 325, 325, 326, 326, 327, 327, 328, 328, 328, 328, 1108 329, 330, 331, 332, 333, 334, 335, 336, 336, 337, 1109 338, 338, 339, 339, 340, 340, 341, 342, 342, 343, 1110 343, 344, 344, 345, 346, 346, 347, 347, 348, 348, 1111 349, 349, 350, 350, 351, 351, 352, 353, 353, 353, 1112 353, 353, 354, 354, 355, 355, 355, 355, 355, 355, 1113 355, 355, 356, 357, 357, 357, 358, 358, 359, 359, 1114 359, 360, 360, 361, 361, 361, 361, 361, 361, 361, 1115 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 1116 362, 362, 363, 363, 364, 364, 364, 364, 364, 365, 1117 365, 365, 366, 366, 366, 366, 366, 366, 366, 366, 1118 366, 366, 367, 367, 367, 368, 368, 369, 369, 370, 1119 370, 371, 372, 372, 373, 373, 374, 374 1244 1120 }; 1245 1121 … … 1247 1123 static const yytype_uint8 yyr2[] = 1248 1124 { 1249 0, 2, 0, 2, 2, 2, 1, 3, 3, 1, 1250 3, 2, 2, 3, 3, 2, 2, 2, 1, 1, 1251 1, 1, 0, 0, 2, 0, 1, 0, 0, 1, 1252 0, 4, 2, 6, 4, 2, 1, 0, 1, 1, 1253 0, 2, 3, 0, 2, 3, 1, 3, 1, 1, 1254 2, 4, 2, 2, 4, 2, 1, 1, 1, 1, 1255 1, 1, 1, 1, 1, 1, 4, 3, 3, 2, 1256 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1125 0, 2, 0, 2, 1, 1, 2, 1, 2, 1, 1126 3, 2, 2, 1, 3, 3, 2, 2, 3, 1, 1127 0, 0, 1, 0, 2, 4, 2, 5, 2, 1, 1128 2, 1, 1, 0, 2, 3, 0, 2, 3, 1, 1129 3, 1, 1, 2, 4, 2, 2, 4, 2, 1, 1130 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 1131 3, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1257 1132 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1258 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,1259 5, 1, 3, 3, 2, 4, 1, 3, 0, 2,1260 2, 3, 1, 1, 1, 4, 6, 4, 1, 3,1261 2, 3, 5, 3, 1, 0, 2, 1, 4, 3,1262 2, 3, 3, 3, 3, 0, 1, 2, 2, 3,1263 5, 3, 0, 2, 2, 1, 5, 5, 2, 3,1264 2, 3, 1, 3, 2, 3, 5, 1, 2, 1,1265 3, 2, 1, 3, 0, 1, 1, 3, 3, 2,1266 1, 3, 2, 2, 0, 6, 7, 0, 2, 2,1267 3, 3, 1, 0, 2, 4, 3, 3, 4, 2,1268 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,1269 1, 3, 0, 2, 3, 1, 3, 2, 3, 1,1270 1, 1, 1, 0, 3, 0, 2, 4, 1, 3,1133 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1134 3, 3, 5, 1, 3, 3, 2, 4, 1, 3, 1135 0, 1, 2, 3, 1, 1, 2, 1, 3, 4, 1136 4, 8, 1, 3, 2, 3, 5, 3, 1, 0, 1137 2, 1, 4, 3, 2, 3, 3, 3, 3, 0, 1138 1, 2, 3, 5, 3, 1, 5, 5, 2, 3, 1139 2, 3, 1, 1, 3, 3, 2, 3, 5, 1, 1140 2, 1, 3, 2, 1, 3, 0, 1, 1, 3, 1141 3, 2, 1, 3, 2, 2, 5, 6, 0, 2, 1142 2, 3, 3, 0, 2, 4, 3, 3, 4, 2, 1143 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1144 3, 0, 2, 3, 1, 3, 2, 3, 1, 1, 1145 1, 1, 1, 0, 3, 0, 1, 3, 1, 3, 1271 1146 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1272 1147 1, 1, 1, 1, 1, 1, 0, 3, 1, 3, 1273 1, 1, 2, 2, 3, 1, 1, 1, 3, 1,1274 1, 3, 3, 4, 4, 3, 4, 4, 3, 4,1148 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1149 3, 3, 3, 4, 4, 3, 4, 4, 3, 4, 1275 1150 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1276 4, 4, 3, 4, 4, 4, 4, 1, 3, 1,1151 4, 4, 3, 4, 3, 4, 4, 1, 3, 1, 1277 1152 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1278 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,1279 3, 2, 2, 2, 2, 2, 2, 2, 0, 1,1153 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 1154 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1280 1155 2, 2, 2, 1, 1, 1, 1, 0, 1, 2, 1281 4, 5, 4, 3, 3, 1, 2, 1, 3, 1,1156 4, 5, 4, 4, 3, 1, 2, 1, 3, 1, 1282 1157 1, 3, 5, 4, 3, 2, 2, 1, 1, 1, 1283 1158 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1284 1, 0, 1, 5, 0, 1, 1, 1, 0, 3, 1285 3, 0, 5, 2, 4, 6, 6, 1, 1, 1, 1286 3, 3, 1, 3, 3, 1, 1, 5, 5, 4, 1287 1, 2, 2, 2, 2, 1, 2, 5, 1, 1, 1288 2, 5, 1, 2, 3, 4, 1, 1, 1, 1, 1289 1, 1, 1, 1, 3, 3, 3, 2, 2, 0, 1290 5, 7, 0, 2, 1, 1, 0, 1, 1, 1, 1291 1, 2, 1, 1, 1, 5, 5, 2, 2, 2, 1292 2, 1, 0, 4, 6, 1, 3, 2, 2, 2, 1293 0, 3, 0, 1, 2, 1, 1, 3, 1, 2, 1294 1, 1, 2, 2, 2, 3, 2, 1, 0, 1, 1295 2, 2, 0, 2, 3, 3, 3, 3, 1, 3, 1296 1, 1, 3, 1, 1, 1, 3, 2, 4, 4, 1297 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1298 1, 3, 1, 1, 3, 3, 3, 3, 2, 3, 1299 2, 2, 2, 2, 3, 1, 1, 1, 1, 3, 1300 0, 1, 2, 4, 2, 2, 5, 0, 1, 2, 1301 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1302 1, 1, 3, 5, 5, 5, 5, 7, 1, 8, 1303 2, 1, 1, 3, 1, 1, 1, 4, 1, 3, 1304 0, 4, 1, 3, 3, 1 1159 1, 0, 1, 5, 0, 1, 1, 1, 0, 2, 1160 2, 5, 2, 4, 6, 6, 1, 1, 3, 3, 1161 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1162 1, 1, 2, 1, 1, 2, 2, 2, 3, 2, 1163 5, 5, 2, 2, 2, 2, 1, 4, 1, 2, 1164 2, 2, 2, 1, 1, 1, 1, 5, 6, 0, 1165 3, 0, 4, 0, 4, 4, 1, 1, 1, 1, 1166 1, 3, 4, 1, 2, 1, 2, 0, 0, 2, 1167 3, 1, 4, 1, 1, 4, 2, 5, 3, 3, 1168 1, 4, 2, 6, 8, 5, 3, 1, 1, 1, 1169 1, 1, 2, 6, 0, 1, 2, 3, 0, 1, 1170 2, 3, 7, 5, 5, 6, 1, 2, 1, 2, 1171 5, 4, 0, 1, 2, 3, 6, 4, 2, 3, 1172 1, 2, 3, 1, 1, 3, 1, 2, 2, 3, 1173 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1174 4, 7, 1, 3, 2, 2, 2, 0, 3, 0, 1175 1, 2, 2, 1, 1, 3, 1, 2, 1, 1, 1176 0, 1, 2, 2, 0, 2, 3, 3, 3, 1, 1177 3, 1, 1, 3, 1, 1, 1, 3, 5, 4, 1178 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1179 1, 1, 3, 1, 1, 3, 3, 3, 3, 2, 1180 3, 2, 2, 2, 2, 2, 2, 2, 3, 1, 1181 1, 1, 1, 3, 2, 4, 2, 2, 5, 0, 1182 1, 2, 1, 1, 1, 1, 3, 3, 3, 3, 1183 3, 3, 5, 5, 5, 5, 7, 8, 2, 1, 1184 3, 1, 1, 3, 0, 4, 1, 3 1305 1185 }; 1306 1186 1307 /* YYDEFACT[STATE-NAME] -- Default r ule to reduce with in state1308 STATE-NUMwhen YYTABLE doesn't specify something else to do. Zero1187 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 1188 Performed when YYTABLE doesn't specify something else to do. Zero 1309 1189 means the default is an error. */ 1310 1190 static const yytype_uint16 yydefact[] = 1311 1191 { 1312 2, 0, 1, 37, 20, 21, 18, 19, 27, 6, 1313 22, 3, 25, 30, 27, 24, 4, 26, 37, 113, 1314 38, 0, 457, 0, 388, 389, 0, 0, 0, 0, 1315 0, 29, 354, 108, 108, 0, 0, 392, 0, 488, 1316 0, 0, 418, 398, 416, 0, 0, 419, 0, 482, 1317 483, 487, 489, 486, 0, 0, 0, 145, 397, 108, 1318 108, 0, 396, 0, 420, 124, 0, 445, 157, 0, 1319 0, 0, 450, 0, 451, 367, 71, 182, 0, 193, 1320 192, 197, 195, 399, 402, 401, 400, 190, 114, 194, 1321 196, 338, 435, 5, 9, 22, 0, 22, 0, 22, 1322 0, 0, 57, 125, 65, 142, 64, 164, 59, 61, 1323 60, 56, 0, 63, 58, 215, 0, 183, 202, 191, 1324 432, 62, 0, 25, 0, 380, 0, 0, 385, 412, 1325 0, 376, 0, 431, 424, 440, 0, 0, 423, 0, 1326 0, 0, 422, 0, 8, 7, 36, 32, 0, 0, 1327 285, 286, 0, 0, 0, 0, 0, 0, 0, 0, 1328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1329 0, 0, 0, 0, 0, 0, 0, 0, 339, 340, 1330 0, 347, 350, 349, 342, 343, 344, 341, 0, 403, 1331 250, 247, 0, 279, 316, 318, 315, 281, 314, 280, 1332 351, 249, 0, 0, 356, 357, 429, 0, 69, 101, 1333 0, 355, 427, 0, 150, 0, 148, 0, 428, 0, 1334 415, 414, 393, 538, 0, 540, 0, 417, 408, 35, 1335 384, 0, 470, 468, 0, 456, 0, 0, 0, 0, 1336 162, 0, 0, 138, 0, 53, 172, 173, 158, 143, 1337 144, 170, 169, 234, 235, 108, 72, 52, 30, 15, 1338 25, 0, 0, 11, 39, 22, 12, 0, 0, 55, 1339 166, 127, 164, 0, 125, 0, 236, 120, 125, 165, 1340 137, 0, 165, 0, 0, 0, 236, 154, 159, 0, 1341 0, 0, 112, 50, 0, 177, 174, 209, 210, 0, 1342 0, 0, 179, 0, 0, 178, 0, 16, 236, 368, 1343 363, 37, 382, 381, 383, 164, 409, 407, 0, 0, 1344 0, 421, 0, 442, 439, 444, 430, 0, 452, 506, 1345 507, 485, 0, 0, 0, 0, 338, 0, 505, 492, 1346 493, 453, 458, 462, 0, 484, 0, 454, 390, 0, 1347 0, 432, 386, 0, 284, 277, 0, 0, 0, 0, 1192 2, 0, 1, 7, 9, 105, 0, 0, 482, 0, 1193 0, 0, 0, 0, 22, 344, 100, 100, 0, 540, 1194 0, 0, 156, 395, 0, 0, 0, 533, 534, 539, 1195 0, 535, 538, 0, 0, 0, 135, 100, 100, 0, 1196 0, 371, 118, 0, 503, 149, 0, 508, 0, 509, 1197 356, 21, 63, 0, 0, 183, 181, 182, 186, 483, 1198 486, 485, 484, 180, 0, 184, 185, 328, 492, 20, 1199 3, 4, 5, 13, 0, 20, 20, 0, 0, 50, 1200 119, 57, 156, 52, 54, 53, 49, 0, 56, 51, 1201 205, 173, 191, 489, 55, 0, 19, 364, 366, 394, 1202 370, 0, 367, 421, 0, 423, 424, 369, 0, 393, 1203 368, 0, 365, 0, 388, 0, 0, 0, 386, 374, 1204 497, 0, 0, 0, 0, 373, 32, 20, 31, 26, 1205 0, 0, 0, 275, 276, 0, 0, 0, 0, 331, 1348 1206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349 1207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1350 0, 0, 0, 530, 520, 249, 0, 522, 521, 0, 1351 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 1352 0, 0, 0, 0, 0, 0, 0, 308, 0, 0, 1353 0, 282, 283, 0, 354, 319, 317, 317, 345, 348, 1354 346, 352, 0, 0, 394, 0, 0, 236, 0, 0, 1355 109, 152, 151, 149, 0, 0, 554, 0, 545, 432, 1356 542, 550, 541, 546, 341, 247, 314, 544, 548, 550, 1357 552, 0, 67, 74, 75, 78, 73, 79, 76, 81, 1358 82, 83, 84, 85, 80, 86, 87, 88, 89, 90, 1359 91, 92, 93, 94, 95, 77, 96, 97, 68, 0, 1360 139, 0, 106, 0, 0, 0, 10, 17, 40, 40, 1361 13, 0, 0, 0, 135, 0, 70, 0, 0, 135, 1362 123, 164, 0, 126, 121, 141, 164, 236, 236, 164, 1363 161, 0, 155, 220, 222, 236, 224, 0, 226, 227, 1364 228, 229, 230, 0, 218, 221, 216, 40, 174, 110, 1365 0, 0, 212, 207, 211, 181, 184, 0, 338, 0, 1366 213, 0, 203, 205, 0, 180, 236, 0, 14, 413, 1367 555, 406, 0, 437, 438, 432, 436, 0, 448, 0, 1368 443, 446, 474, 475, 0, 314, 0, 471, 473, 490, 1369 500, 503, 502, 501, 0, 473, 510, 517, 511, 517, 1370 460, 459, 517, 508, 510, 461, 0, 0, 0, 0, 1371 0, 498, 455, 0, 0, 0, 0, 252, 0, 0, 1372 0, 251, 258, 255, 0, 0, 0, 0, 0, 0, 1373 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 1374 0, 0, 0, 247, 0, 0, 0, 324, 0, 0, 1375 0, 248, 0, 0, 313, 307, 302, 292, 303, 304, 1376 305, 301, 291, 297, 299, 293, 295, 287, 288, 289, 1377 0, 0, 309, 306, 290, 0, 296, 0, 294, 323, 1378 0, 325, 0, 0, 404, 405, 395, 0, 103, 104, 1379 102, 66, 0, 0, 0, 317, 0, 0, 467, 469, 1380 466, 0, 0, 0, 379, 0, 163, 0, 99, 0, 1381 171, 51, 0, 31, 34, 168, 54, 167, 0, 118, 1382 0, 136, 0, 0, 127, 129, 0, 125, 241, 245, 1383 0, 238, 240, 246, 0, 198, 198, 0, 160, 223, 1384 0, 0, 0, 111, 0, 236, 208, 0, 0, 213, 1385 186, 0, 189, 0, 204, 433, 0, 0, 364, 369, 1386 0, 236, 449, 441, 0, 0, 480, 481, 317, 236, 1387 0, 464, 465, 504, 465, 0, 518, 514, 515, 510, 1388 512, 463, 499, 495, 496, 497, 494, 550, 550, 387, 1389 278, 253, 254, 257, 261, 262, 263, 264, 265, 260, 1390 266, 267, 268, 269, 270, 271, 273, 274, 275, 276, 1391 256, 248, 0, 0, 0, 523, 524, 527, 528, 525, 1392 526, 259, 247, 312, 310, 311, 300, 298, 354, 337, 1393 329, 326, 327, 330, 320, 322, 236, 153, 391, 0, 1394 0, 0, 543, 377, 549, 378, 553, 98, 107, 0, 1395 49, 48, 41, 0, 46, 43, 115, 135, 135, 135, 1396 135, 135, 130, 128, 135, 117, 122, 243, 0, 237, 1397 242, 140, 0, 146, 147, 156, 232, 233, 231, 0, 1398 219, 217, 236, 198, 185, 213, 187, 0, 206, 0, 1399 0, 0, 0, 236, 447, 491, 0, 0, 0, 476, 1400 472, 473, 510, 517, 519, 509, 0, 0, 338, 0, 1401 0, 0, 362, 0, 0, 335, 336, 0, 321, 105, 1402 0, 547, 0, 100, 0, 42, 0, 33, 119, 131, 1403 132, 133, 134, 0, 239, 244, 246, 0, 199, 200, 1404 225, 198, 358, 188, 214, 375, 365, 366, 372, 371, 1405 370, 0, 434, 479, 478, 0, 513, 425, 426, 0, 1406 533, 535, 534, 353, 334, 0, 331, 328, 0, 551, 1407 47, 44, 0, 116, 0, 358, 175, 0, 0, 0, 1408 410, 516, 0, 333, 0, 539, 45, 201, 176, 0, 1409 0, 374, 373, 0, 0, 332, 359, 360, 411, 536, 1410 0, 537 1208 0, 0, 334, 329, 330, 0, 337, 340, 339, 333, 1209 328, 332, 0, 346, 347, 239, 237, 0, 269, 306, 1210 308, 305, 271, 304, 270, 341, 384, 238, 0, 61, 1211 93, 0, 345, 382, 101, 140, 0, 138, 0, 383, 1212 588, 0, 0, 157, 29, 156, 0, 432, 28, 488, 1213 487, 392, 0, 0, 377, 521, 519, 0, 379, 0, 1214 0, 0, 0, 154, 0, 0, 131, 0, 46, 164, 1215 165, 150, 162, 161, 6, 224, 225, 100, 64, 200, 1216 198, 199, 0, 45, 121, 0, 156, 107, 0, 0, 1217 8, 11, 12, 20, 21, 0, 0, 16, 17, 0, 1218 0, 48, 158, 62, 119, 0, 226, 114, 119, 157, 1219 0, 0, 0, 0, 226, 146, 151, 0, 0, 104, 1220 206, 43, 0, 168, 0, 0, 0, 170, 0, 0, 1221 169, 226, 352, 399, 418, 418, 462, 390, 389, 391, 1222 0, 0, 532, 372, 0, 499, 496, 501, 502, 385, 1223 375, 560, 561, 537, 0, 0, 0, 0, 0, 0, 1224 0, 328, 0, 559, 543, 544, 376, 510, 514, 0, 1225 536, 0, 18, 410, 0, 0, 274, 267, 0, 0, 1226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228 0, 0, 0, 0, 0, 573, 574, 572, 0, 575, 1229 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 1230 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 1231 0, 0, 272, 273, 532, 344, 309, 307, 307, 335, 1232 338, 336, 342, 0, 226, 0, 0, 143, 142, 141, 1233 139, 0, 0, 30, 428, 0, 417, 437, 0, 591, 1234 594, 589, 525, 526, 0, 304, 0, 522, 524, 541, 1235 378, 332, 237, 304, 592, 594, 596, 0, 59, 66, 1236 67, 70, 65, 71, 68, 73, 74, 75, 76, 77, 1237 72, 78, 79, 80, 81, 82, 83, 84, 85, 86, 1238 87, 69, 88, 89, 60, 0, 132, 0, 98, 0, 1239 0, 0, 0, 202, 196, 201, 172, 129, 0, 0, 1240 0, 0, 129, 0, 0, 156, 10, 14, 15, 33, 1241 33, 0, 0, 0, 117, 156, 0, 120, 115, 134, 1242 156, 226, 226, 156, 153, 0, 147, 210, 212, 226, 1243 214, 0, 216, 217, 218, 219, 220, 0, 208, 211, 1244 33, 0, 102, 226, 174, 0, 328, 0, 203, 332, 1245 0, 192, 194, 0, 226, 0, 401, 438, 0, 444, 1246 0, 0, 463, 0, 494, 495, 0, 493, 0, 506, 1247 0, 500, 504, 551, 552, 554, 553, 557, 556, 555, 1248 0, 524, 0, 569, 569, 569, 512, 511, 562, 0, 1249 513, 0, 0, 0, 0, 0, 549, 405, 467, 0, 1250 242, 0, 0, 0, 241, 248, 245, 0, 0, 0, 1251 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 1252 0, 264, 0, 0, 0, 237, 0, 0, 0, 0, 1253 314, 0, 0, 240, 0, 0, 303, 297, 292, 282, 1254 293, 294, 295, 291, 281, 289, 290, 283, 288, 277, 1255 278, 279, 0, 0, 299, 296, 280, 0, 285, 0, 1256 284, 0, 0, 315, 0, 0, 0, 95, 96, 94, 1257 58, 0, 0, 0, 0, 436, 0, 0, 0, 0, 1258 530, 531, 307, 226, 0, 516, 518, 520, 517, 0, 1259 0, 0, 387, 0, 155, 0, 91, 0, 163, 44, 1260 197, 0, 112, 0, 130, 0, 0, 108, 121, 123, 1261 0, 0, 0, 156, 431, 0, 25, 23, 160, 47, 1262 159, 119, 231, 235, 0, 228, 230, 236, 0, 187, 1263 187, 0, 152, 213, 0, 0, 207, 103, 226, 187, 1264 0, 0, 203, 176, 0, 179, 0, 193, 490, 0, 1265 0, 353, 357, 396, 409, 407, 408, 403, 0, 406, 1266 419, 441, 481, 422, 439, 440, 0, 448, 445, 0, 1267 473, 0, 468, 470, 464, 461, 418, 489, 507, 498, 1268 0, 558, 542, 0, 570, 566, 564, 567, 0, 515, 1269 550, 546, 547, 548, 545, 397, 268, 243, 244, 247, 1270 251, 252, 253, 254, 255, 250, 256, 257, 258, 259, 1271 260, 261, 263, 265, 266, 246, 0, 0, 0, 576, 1272 577, 580, 581, 578, 579, 249, 237, 302, 300, 301, 1273 287, 286, 313, 344, 327, 319, 316, 317, 320, 310, 1274 312, 226, 145, 144, 0, 0, 453, 0, 460, 0, 1275 0, 0, 590, 380, 0, 0, 532, 527, 523, 593, 1276 381, 597, 90, 99, 0, 109, 129, 129, 129, 129, 1277 129, 124, 122, 0, 0, 110, 0, 0, 427, 42, 1278 41, 34, 0, 39, 36, 27, 116, 233, 0, 227, 1279 232, 133, 0, 136, 137, 148, 222, 223, 221, 0, 1280 209, 187, 348, 175, 203, 177, 0, 195, 0, 0, 1281 0, 0, 0, 0, 400, 420, 442, 0, 456, 446, 1282 0, 449, 0, 418, 0, 480, 0, 474, 476, 469, 1283 471, 465, 226, 505, 0, 569, 571, 563, 328, 0, 1284 0, 0, 351, 0, 0, 325, 326, 0, 311, 97, 1285 0, 0, 0, 435, 0, 0, 529, 0, 92, 113, 1286 125, 126, 127, 128, 0, 0, 466, 0, 0, 35, 1287 0, 24, 229, 234, 236, 0, 188, 189, 215, 348, 1288 0, 0, 166, 178, 204, 363, 354, 355, 360, 359, 1289 358, 0, 413, 415, 0, 398, 399, 0, 457, 458, 1290 450, 443, 418, 447, 478, 0, 472, 477, 226, 0, 1291 565, 582, 583, 584, 343, 324, 0, 321, 318, 0, 1292 0, 0, 433, 595, 528, 0, 129, 452, 40, 37, 1293 0, 0, 167, 349, 350, 0, 0, 411, 414, 416, 1294 399, 402, 0, 459, 451, 475, 479, 491, 568, 323, 1295 0, 587, 0, 0, 0, 0, 0, 38, 190, 362, 1296 361, 412, 404, 454, 322, 434, 585, 111, 455, 0, 1297 586 1411 1298 }; 1412 1299 … … 1414 1301 static const yytype_int16 yydefgoto[] = 1415 1302 { 1416 -1, 1, 11, 93, 94, 95, 259, 12, 260, 13, 1417 18, 15, 96, 97, 147, 14, 98, 265, 693, 907, 1418 833, 834, 99, 255, 477, 478, 245, 208, 209, 426, 1419 481, 215, 293, 294, 100, 101, 272, 698, 102, 103, 1420 277, 273, 699, 700, 104, 105, 280, 106, 107, 108, 1421 109, 110, 432, 111, 112, 287, 288, 242, 275, 269, 1422 270, 113, 252, 114, 530, 295, 529, 115, 116, 302, 1423 539, 117, 118, 119, 853, 918, 305, 542, 299, 540, 1424 732, 296, 523, 524, 859, 525, 503, 710, 711, 712, 1425 355, 190, 356, 191, 192, 411, 653, 635, 193, 661, 1426 194, 195, 196, 197, 663, 811, 812, 813, 198, 199, 1427 200, 420, 415, 212, 206, 956, 957, 201, 121, 122, 1428 310, 738, 739, 927, 928, 123, 124, 125, 126, 127, 1429 202, 128, 551, 316, 222, 228, 129, 130, 131, 308, 1430 132, 133, 321, 134, 324, 559, 135, 136, 560, 561, 1431 137, 138, 580, 341, 585, 328, 235, 566, 567, 139, 1432 343, 140, 141, 344, 569, 346, 581, 582, 583, 757, 1433 386, 387, 388, 889, 225, 142, 441, 442, 443, 449, 1434 677, 451, 143, 552 1303 -1, 1, 70, 71, 72, 73, 250, 74, 865, 75, 1304 205, 129, 127, 696, 951, 862, 863, 76, 237, 463, 1305 464, 228, 189, 190, 403, 467, 196, 281, 282, 77, 1306 78, 246, 247, 681, 79, 80, 267, 248, 682, 683, 1307 81, 82, 83, 84, 85, 409, 86, 87, 275, 276, 1308 225, 206, 261, 262, 88, 233, 89, 283, 522, 90, 1309 287, 527, 91, 92, 873, 956, 290, 531, 242, 528, 1310 725, 284, 517, 518, 879, 519, 497, 704, 705, 706, 1311 337, 175, 338, 176, 177, 392, 635, 617, 178, 643, 1312 179, 180, 181, 182, 645, 816, 817, 818, 183, 184, 1313 185, 401, 396, 193, 186, 962, 187, 94, 95, 731, 1314 732, 967, 968, 740, 97, 98, 734, 99, 100, 536, 1315 737, 892, 101, 738, 739, 334, 893, 974, 975, 655, 1316 537, 102, 103, 104, 105, 106, 207, 418, 538, 743, 1317 744, 107, 747, 748, 900, 901, 108, 749, 902, 981, 1318 109, 110, 541, 542, 111, 543, 755, 752, 906, 907, 1319 908, 745, 112, 113, 114, 115, 116, 211, 291, 117, 1320 118, 303, 119, 306, 550, 120, 121, 551, 552, 122, 1321 566, 326, 570, 214, 218, 426, 427, 546, 123, 328, 1322 124, 428, 429, 331, 567, 568, 765, 368, 369, 854, 1323 125, 420, 421, 435, 658, 437 1435 1324 }; 1436 1325 1437 1326 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1438 1327 STATE-NUM. */ 1439 #define YYPACT_NINF - 7111328 #define YYPACT_NINF -845 1440 1329 static const yytype_int16 yypact[] = 1441 1330 { 1442 -711, 923, -711, -711, -711, -711, -711, -711, -711, -711, 1443 -711, -711, -98, 5724, -711, -711, -711, -711, -711, -711, 1444 -711, -51, -711, -47, -711, -711, 4731, 54, 2666, 70, 1445 115, -711, 4731, 34, 40, 2666, 117, -711, -63, -711, 1446 7, 4731, -711, -711, -39, 66, -63, -711, 137, -711, 1447 -711, -711, -711, -711, 184, 141, 170, -711, -711, 199, 1448 199, 155, -711, 175, -711, -711, 37, -711, -711, 92, 1449 -63, -63, -711, 129, -711, -711, 116, -711, -63, -711, 1450 -711, -711, -711, -711, -711, -711, -711, -711, -711, -711, 1451 -711, -711, -711, 217, -711, -711, 31, -711, 96, -711, 1452 -64, 187, 97, 156, -711, 149, -711, 384, 390, -711, 1453 -711, 395, 165, -711, -711, 91, -15, 80, 125, 372, 1454 416, -711, 253, -98, -63, -711, -63, -63, -711, 247, 1455 4731, -711, 24, 434, -711, 267, 278, 2666, -711, 270, 1456 5575, 270, -711, 2341, -711, -711, -711, -711, 4731, 4731, 1457 -711, -711, 4731, 276, 279, 280, 4731, 4731, 4731, 285, 1458 291, 292, 296, 299, 301, 309, 310, 313, 316, 317, 1459 318, 4731, 319, 325, 328, 329, 330, 4859, -711, -711, 1460 331, -711, -711, -711, -711, -711, -711, -711, 4731, 2530, 1461 -711, -711, 4731, 304, -711, 334, 342, -711, 343, 354, 1462 -33, -711, 43, 4731, -711, 2530, -711, 356, 528, -711, 1463 4731, 2530, -711, 534, -711, 376, -711, 376, -711, 4731, 1464 -711, -711, -711, -711, 4731, -711, 1494, -711, -711, -711, 1465 -711, 356, -711, -711, 4987, -711, 356, 356, 376, 2588, 1466 -711, 377, 356, -711, 4731, 544, -711, -711, -711, -711, 1467 -711, -711, 546, -711, -711, 199, -711, -711, 5724, -711, 1468 -98, -51, -51, -711, -711, -711, -711, 557, 394, 561, 1469 -711, 21, 33, 144, 397, 139, 388, -711, 397, 356, 1470 -711, 139, -711, 399, 402, 139, 388, 571, -711, 407, 1471 733, 575, -711, -711, -51, 572, -711, 3067, -711, 401, 1472 215, 3963, -711, 5115, -15, -711, 425, -711, 388, -711, 1473 601, -711, -711, -711, -711, 384, 356, 2530, 4731, 4731, 1474 356, -711, 429, 4091, -711, -711, -711, 5430, -711, -711, 1475 -711, -711, 4731, 4731, 4731, 4731, 610, 5430, -711, 304, 1476 354, -711, 1098, 616, 588, 618, 5621, 4859, -711, 441, 1477 443, -711, -711, 1515, 670, 2530, 27, 4731, 4731, 4731, 1478 36, 1550, 45, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 1479 4731, 4731, 4731, 4731, 4731, 1572, 4731, 4731, 4731, 4731, 1480 4731, 4859, 2530, 1594, 782, -711, 500, 630, 631, 4731, 1481 1615, 633, 3451, 4731, 4731, 4731, 4731, 4731, 4731, 4731, 1482 4731, 4731, 4731, 4731, 4731, 4731, 4731, 3195, 4731, 3579, 1483 3707, -711, 128, 356, 4731, -711, -711, -711, -711, -711, 1484 -711, -711, 4731, 4731, -711, 1637, 48, 388, 70, 1697, 1485 -711, -711, 641, 641, 1819, 1173, -711, 304, -24, -1, 1486 457, 647, -711, -711, 471, 472, 151, -1, -711, 650, 1487 -711, 62, 641, -711, -711, -711, -711, -711, -711, -711, 1488 -711, -711, -711, -711, -711, -711, -711, -711, -711, -711, 1489 -711, -711, -711, -711, -711, -711, -711, -711, 651, 634, 1490 -711, 71, 2530, 476, 488, -63, -711, -711, 480, 480, 1491 -711, 4731, 72, 394, 314, 4731, -711, 491, 495, 314, 1492 -711, 384, 2538, -711, -711, -711, 384, 388, 388, 384, 1493 -711, 407, 571, -711, -711, 388, -711, 486, -711, -711, 1494 -711, -711, -711, 358, -711, -711, -711, 480, -711, -711, 1495 497, 4219, -711, -711, 2530, -711, -711, 3963, 3323, 487, 1496 665, 4347, -711, 2530, 489, -711, 388, 23, -711, -711, 1497 -711, -711, 667, 2530, 2530, -711, -711, 498, 2530, 493, 1498 672, -711, -711, -711, 5621, 3835, 75, -711, 119, -711, 1499 2530, 2530, 2530, 2530, 4731, 530, 5850, 2530, 304, 1840, 1500 -711, 674, 2530, -711, 5850, -711, 5621, 5621, 5621, 5621, 1501 5621, 654, -711, 356, 356, 2666, 4731, -711, 84, 85, 1502 1879, -711, -711, -711, 1900, 1921, 1942, 1963, 2006, 2027, 1503 2145, 2209, 2230, 2251, 2272, 2293, -711, 86, 88, 89, 1504 90, 98, 2327, 678, 687, 693, 4859, -711, 4859, 4859, 1505 99, -711, 4731, 4731, 2530, -711, 710, 710, 569, 569, 1506 670, 814, 814, 814, 814, 814, 814, 133, 133, 128, 1507 4731, 4731, 2530, -711, 128, 4731, 814, 4731, 814, 304, 1508 695, 2811, 517, 520, 2530, 2530, -711, 356, -711, -711, 1509 -711, -711, 532, 619, 4731, 2811, -49, 526, -711, -711, 1510 -711, -49, 527, 356, -711, 2588, -711, 4731, -711, 4731, 1511 -711, -711, 67, -711, 681, 2530, -711, -711, 689, 50, 1512 716, -711, 2348, 691, 538, -711, 705, 397, 4731, -711, 1513 105, -711, -711, 1384, 356, 707, 707, 407, -711, -711, 1514 287, 733, 732, -711, 568, 388, -711, 558, 4219, 665, 1515 -711, 570, -711, 560, -711, -711, 738, 617, 741, -711, 1516 4731, 388, -711, -711, 4091, 536, -711, -711, 2811, 519, 1517 5430, -711, -711, 2530, 727, 106, -711, 2530, 2530, 5850, 1518 2530, 674, 574, 654, 654, 654, 406, 647, 650, -711, 1519 2530, -711, -711, -711, -711, -711, -711, -711, -711, -711, 1520 -711, -711, -711, -711, -711, -711, -711, -711, -711, -711, 1521 -711, -711, 5243, 5243, 5243, 2530, -711, 2530, -711, 2530, 1522 -711, -711, 573, 814, 814, 128, 814, 814, 4731, 2939, 1523 1406, 745, -711, -711, 334, -711, 388, -711, -711, 2475, 1524 107, 744, -711, -711, -711, -711, -711, -711, 2530, 109, 1525 -711, -711, -711, 110, -711, 577, -711, 314, 314, 314, 1526 314, 314, 354, -711, 314, -711, -711, 2530, 2538, -711, 1527 4475, -711, 5371, -711, -711, 571, -711, -711, -711, 579, 1528 -711, -711, 388, 707, -711, 665, -711, 4219, -711, -50, 1529 581, 582, 1196, 388, -711, -711, 1362, 580, 356, -711, 1530 -711, 588, 5891, 2530, -711, -711, 583, 584, 747, 585, 1531 590, 591, -711, 592, 4731, 1428, 4731, 2811, -711, -711, 1532 754, -711, 356, -711, 26, -711, 93, -711, -711, 29, 1533 29, 586, 113, 737, -711, -711, 2530, 4603, -711, 2530, 1534 -711, 707, 64, -711, -711, 649, -711, 770, -711, -711, 1535 -711, 4731, -711, -711, 457, 596, 2530, -711, -711, 4731, 1536 -711, -711, -711, -711, 2530, 4731, 1471, -711, 4731, -711, 1537 -711, -711, 111, -711, 597, 64, -711, 162, 609, 611, 1538 1282, -711, 1305, 2530, 4731, 2530, -711, -711, -711, 4731, 1539 4731, -711, -711, 4731, 4731, 2530, 2530, 2530, 2530, 1328, 1540 4731, 2530 1331 -845, 967, -845, -845, -845, -845, -22, 45, -845, 94, 1332 186, 3621, 199, 238, -845, 4658, 16, 36, 3621, -845, 1333 369, 256, 56, -845, 299, 280, 268, -845, -845, -845, 1334 306, -845, -845, 409, 311, 350, -845, 357, 357, 119, 1335 354, -845, -845, 53, -845, -845, 420, -845, 386, -845, 1336 -845, 5758, 363, 274, 280, -845, -845, -845, -845, -845, 1337 -845, -845, -845, -845, 237, -845, -845, 549, -845, -845, 1338 -845, 122, 563, -845, 440, -845, -845, 319, 433, 436, 1339 159, 495, 622, 624, -845, -845, 523, 329, -845, -845, 1340 398, 102, 163, -845, -845, 471, -845, -845, -845, -845, 1341 -845, 215, -845, -845, 215, -845, -845, -845, 215, -845, 1342 -845, 215, -845, 280, -845, 280, 280, 20, 630, -845, 1343 472, 44, 3621, 306, 5477, -845, -845, -845, -845, -845, 1344 4658, 4658, 4658, -845, -845, 4658, 473, 474, 477, -845, 1345 4658, 4658, 4658, 478, 484, 486, 487, 488, 494, 496, 1346 497, 498, 499, 500, 501, 4658, 505, 4658, 507, 508, 1347 511, 4767, -845, -845, -845, 512, -845, -845, -845, -845, 1348 -845, -845, 4658, -845, 2490, -845, -845, 4658, 470, -845, 1349 513, 515, -845, 516, 522, 270, -845, -845, 524, 654, 1350 -845, 4658, 2490, -845, -845, -845, 277, -845, 277, -845, 1351 -845, 4658, 4658, -845, -845, 110, 326, -845, -845, -845, 1352 -845, -845, 524, 5347, 4767, -845, -845, 4876, -845, 524, 1353 524, 277, 2573, -845, 527, 524, -845, 4658, 665, -845, 1354 -845, -845, -845, 680, 563, -845, -845, 357, -845, -845, 1355 2967, -845, 526, -845, 88, 524, 32, -845, 384, 82, 1356 -845, -845, -845, -845, 5621, 45, 45, -845, -845, 687, 1357 533, 691, -845, -845, 535, 442, 534, -845, 535, 524, 1358 442, 537, 539, 442, 534, 699, -845, 545, 847, -845, 1359 -845, -845, 45, 714, 564, 434, 3874, -845, 4985, 274, 1360 -845, 534, 727, 122, 122, 122, 258, -845, -845, -845, 1361 4658, 4658, -845, -845, 571, 3983, -845, -845, -845, -845, 1362 -845, -845, -845, -845, 4658, 4658, 4658, 4658, 4658, 4658, 1363 4658, 726, 5347, -845, 470, 522, -845, 1249, 730, 555, 1364 561, 5523, -845, 2490, 572, 1332, 875, 2490, 38, 4658, 1365 4658, 4658, 48, 1353, 61, 4658, 4658, 4658, 4658, 4658, 1366 4658, 4658, 4658, 4658, 4658, 4658, 4658, 1514, 4658, 68, 1367 4658, 4658, 4658, 4767, 2490, 1533, 753, 1552, 278, 731, 1368 4658, 1616, 733, 3294, 4658, 4658, 4658, 4658, 4658, 4658, 1369 4658, 4658, 4658, 4658, 4658, 4658, 4658, 4658, 3076, 4658, 1370 3403, 3512, -845, 185, -845, 4658, -845, -845, -845, -845, 1371 -845, -845, -845, 69, 534, 199, 1635, -845, -845, 734, 1372 734, 1129, 1713, -845, -845, 576, -845, -845, 736, 470, 1373 739, -845, -845, -845, 5523, 3765, 79, -845, 555, -845, 1374 740, 581, 582, 439, -845, 743, -845, 105, 734, -845, 1375 -845, -845, -845, -845, -845, -845, -845, -845, -845, -845, 1376 -845, -845, -845, -845, -845, -845, -845, -845, -845, -845, 1377 -845, -845, -845, -845, 744, 717, -845, 106, 2490, 588, 1378 591, 280, 4092, -845, -845, 2490, -845, 598, 4658, 31, 1379 237, 594, 598, 595, 602, 125, -845, -845, -845, 609, 1380 609, 4658, 109, 533, -845, 622, 2531, -845, -845, -845, 1381 622, 534, 534, 622, -845, 545, 699, -845, -845, 534, 1382 -845, 615, -845, -845, -845, -845, -845, 123, -845, -845, 1383 609, 618, -845, 534, -845, 3874, 3185, 585, 750, 34, 1384 4201, -845, 2490, 592, 534, 80, 4331, 5955, 78, 5879, 1385 13, 85, -845, 215, 2490, 2490, 524, -845, 619, 2490, 1386 616, 778, -845, 2490, 2490, 2490, 2490, 2490, 2490, 2490, 1387 4658, 337, 1249, 2490, 706, 1732, -845, 779, -845, 1249, 1388 -845, 5523, 5523, 5523, 5523, 5523, 760, 4658, -845, 4658, 1389 -845, 111, 115, 1751, -845, -845, -845, 1796, 1815, 1834, 1390 1912, 1931, 1995, 2014, 2033, 2092, 2111, 2130, 2194, -845, 1391 121, -845, 130, 136, 149, 781, 785, 786, 4767, 4767, 1392 -845, 4767, 150, -845, 4658, 4658, 2490, -845, 542, 542, 1393 806, 806, 875, 887, 887, 887, 887, 887, 887, 164, 1394 164, 185, 4658, 4658, 2490, -845, 185, 4658, 887, 4658, 1395 887, 524, 787, 2640, 627, 629, 524, -845, -845, -845, 1396 -845, 295, 4658, 6031, 4658, -845, 4658, 19, 631, 337, 1397 -845, -845, 2640, 83, 5347, -845, -845, -845, -845, 19, 1398 632, 524, -845, 2573, -845, 4658, -845, 4658, -845, -845, 1399 -845, 771, 42, 547, -845, 2213, 636, -845, 637, -845, 1400 776, 4658, 4658, 135, -845, 242, -845, 774, 2490, -845, 1401 -845, 535, 4658, -845, 151, -845, -845, 1253, 524, 780, 1402 780, 545, -845, -845, 476, 847, -845, -845, 534, 780, 1403 641, 4092, 750, -845, 645, -845, 644, -845, -845, 804, 1404 688, 809, -845, 2490, -845, -845, -845, 773, 215, -845, 1405 215, 653, -845, -845, -845, -845, 652, 536, -845, 215, 1406 -845, 2749, 655, 664, -845, -845, 122, -845, -845, -845, 1407 3983, 2490, -845, 152, -845, 2490, 2490, 2490, 1249, 779, 1408 570, 760, 760, 760, 593, -845, 2490, -845, -845, -845, 1409 -845, -845, -845, -845, -845, -845, -845, -845, -845, -845, 1410 -845, -845, -845, -845, -845, -845, 5094, 5094, 5094, 2490, 1411 -845, 2490, -845, 2490, -845, -845, 667, 887, 887, 185, 1412 887, 887, 470, 4658, 2858, 1415, 828, -845, -845, 513, 1413 -845, 534, -845, -845, 2291, 670, -845, 671, -845, 2310, 1414 1150, 829, -845, -845, 1233, 672, -845, -845, -845, -845, 1415 -845, -845, -845, 2490, 153, -845, 598, 598, 598, 598, 1416 598, 522, -845, 832, 676, -845, 2329, 2374, -845, -845, 1417 -845, -845, 154, -845, 678, -845, -845, 2490, 2531, -845, 1418 4440, -845, 5203, -845, -845, 699, -845, -845, -845, 679, 1419 -845, 780, 231, -845, 750, -845, 4092, -845, 291, 681, 1420 683, 4658, 586, 215, 122, 122, -845, 4658, 685, -845, 1421 454, -845, 215, 122, 4658, 2490, 155, -845, 842, -845, 1422 -845, 5955, 534, -845, 1831, 2490, -845, -845, 832, 684, 1423 686, 689, -845, 690, 4658, 1435, 4658, 2640, -845, -845, 1424 845, 4658, 4658, -845, 4658, 524, -845, 524, -845, -845, 1425 66, 66, 693, 143, 4658, 833, -845, 768, 60, -845, 1426 259, -845, -845, -845, 2490, 4549, -845, 2490, -845, 231, 1427 4658, 4658, -845, -845, -845, 729, -845, 851, -845, -845, 1428 -845, 695, 696, 702, 215, -845, 122, 2393, -845, 703, 1429 -845, -845, 122, 5955, -845, 2749, -845, 4658, 534, 701, 1430 2490, -845, -845, -845, -845, 2490, 4658, 1455, -845, 4658, 1431 704, 2412, 1171, 470, 697, 1192, 598, -845, -845, -845, 1432 157, 705, -845, 2490, 2490, 709, 713, 716, -845, -845, 1433 122, 4331, 784, -845, 5955, -845, -845, -845, -845, 2490, 1434 4658, 2490, 4658, 6107, 4658, 4658, 855, -845, -845, -845, 1435 -845, -845, 4331, 719, 2490, 2490, 1213, -845, -845, 4658, 1436 2490 1541 1437 }; 1542 1438 … … 1544 1440 static const yytype_int16 yypgoto[] = 1545 1441 { 1546 -711, -711, -711, -711, 523, -711, 30, -711, 774, -711, 1547 -66, 772, -711, -711, 65, 6, -711, -711, -430, -711, 1548 -118, -110, -711, -711, 123, -711, -711, -711, 373, -711, 1549 120, 1, -711, -711, -711, -711, -711, -480, -711, -711, 1550 -264, 312, -439, -711, -711, -711, -711, -711, -711, -711, 1551 -711, -711, -68, -711, -711, -276, 300, -35, -85, 548, 1552 324, -711, -711, -711, 274, -711, -711, -711, -711, -711, 1553 281, -711, -711, -711, -699, -711, -711, -711, 515, -290, 1554 -666, -711, -711, 100, -711, 749, -104, -711, -25, -17, 1555 -26, -136, 56, -176, -432, -497, -711, -711, -103, -711, 1556 -711, -711, -204, -711, 404, 159, -57, 95, -5, -70, 1557 -711, -711, -197, -398, -30, -108, -711, -166, -711, -711, 1558 -711, -711, -23, -711, -105, -711, -711, -711, -711, -711, 1559 -711, -711, -711, -711, -28, -711, -711, -711, 708, 302, 1560 -208, -711, -711, -711, -711, -711, -711, -711, -711, 118, 1561 -711, -711, -711, -711, -711, 277, -711, -711, 114, -711, 1562 -711, -711, -711, -306, 720, -263, -226, -711, -673, -554, 1563 514, 482, -326, -710, 308, -711, 273, -202, -711, 275, 1564 -416, -711, -711, -711 1442 -845, -845, -845, -96, 830, 628, -26, -845, -845, -845, 1443 399, 156, -845, -94, -845, -67, -63, -845, -845, 232, 1444 -845, -845, -845, 509, -845, 234, 30, -845, -845, -845, 1445 -845, -845, 444, -464, -845, -845, -238, 438, -242, -845, 1446 -845, -845, -845, -845, -845, -47, -845, -845, -263, 417, 1447 -27, -50, 668, 437, -845, -845, -845, -845, -845, -845, 1448 -845, 404, -845, -845, -671, -845, -845, -845, 642, -231, 1449 -656, -845, -845, 217, -845, 882, -236, -845, 67, 70, 1450 -11, -78, 55, -144, -458, -507, -845, -845, -97, -845, 1451 -845, -845, -845, -845, 540, -845, 9, 279, 1, -70, 1452 -845, -845, -182, -382, 365, -20, -128, -845, -845, -845, 1453 52, -845, -73, 43, -845, -630, -845, -515, -514, -844, 1454 -845, -845, -845, -845, -566, -718, -845, -845, -845, -845, 1455 -294, -845, -845, -845, -845, -845, -185, -845, -845, -845, 1456 -845, -845, -845, -663, -845, -845, -845, -845, -845, -845, 1457 -845, -845, -845, 405, -845, -845, -845, -845, -845, -40, 1458 -787, -845, -845, -845, -845, -845, -845, -38, 190, 11, 1459 -845, -845, -845, -845, -845, -845, -845, -845, 191, -845, 1460 -845, -845, -845, 506, -845, -845, 288, -384, -845, -845, 1461 -845, -39, 834, -250, -126, -699, -522, -140, -287, -465, 1462 -845, -845, -213, -845, 519, -845 1565 1463 }; 1566 1464 1567 1465 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1568 1466 positive, shift that token. If negative, reduce the rule which 1569 number is the opposite. If zero, do what YYDEFACT says. 1570 If YYTABLE_NINF, syntax error. */ 1571 #define YYTABLE_NINF -511 1467 number is the opposite. If YYTABLE_NINF, syntax error. */ 1468 #define YYTABLE_NINF -542 1572 1469 static const yytype_int16 yytable[] = 1573 1470 { 1574 189, 384, 205, 421, 338, 218, 211, 533, 120, 205, 1575 500, 385, 391, 512, 504, 226, 660, 854, 230, 706, 1576 281, 568, 283, 440, 145, 758, 285, 438, 760, 318, 1577 596, 575, 438, 682, 448, 217, 282, 339, 213, 596, 1578 591, 383, 249, 250, 213, 494, 422, 423, 596, 830, 1579 257, 667, 840, 837, 736, 625, 243, 311, 445, 694, 1580 238, 239, 701, 866, 261, 683, 262, 701, 278, -361, 1581 340, 838, 839, 840, 687, 493, 821, 289, 750, 17, 1582 756, 590, 756, 890, 891, 756, 885, 596, 596, 596, 1583 830, 596, 596, 596, 290, 291, 312, 723, 313, 314, 1584 274, 596, 596, 300, 317, 267, 220, 326, 848, 882, 1585 897, 205, 687, 904, 904, 268, 830, -164, 146, 925, 1586 91, -164, 353, 354, 221, 419, 292, 263, 437, 266, 1587 227, 361, 148, 437, 838, 839, 840, 926, 351, 586, 1588 329, 330, 587, 588, 589, 375, 414, 498, 303, 433, 1589 319, 382, 279, 408, 297, 416, 406, 407, 408, 240, 1590 246, 298, 390, 241, 922, -315, 412, 969, 499, -164, 1591 452, 384, 935, -164, 247, 240, 240, 425, 675, 241, 1592 241, 385, 510, 223, 429, 240, 224, 497, -314, 241, 1593 -361, 338, 737, 434, 487, 831, 253, 254, 435, 923, 1594 495, 338, 427, 213, 546, 623, 577, 597, 382, 885, 1595 338, 383, 360, 320, 362, 385, 601, 841, 482, 248, 1596 496, 214, 955, 424, 339, 603, 439, 216, 668, 446, 1597 549, 447, 450, 203, 339, 229, 831, 480, 841, 578, 1598 501, 726, 684, 339, 258, 383, 506, 832, 729, 207, 1599 509, 688, 696, 120, 264, 751, 485, 340, 745, 301, 1600 884, 884, 831, 884, 771, 772, 786, 340, 787, 788, 1601 789, 534, 579, 951, 505, 534, 340, 543, 790, 801, 1602 762, 763, 764, 765, 766, 849, 883, 901, 970, 903, 1603 905, 966, 553, 554, 210, 490, 219, 558, 251, 752, 1604 796, 841, 798, 800, 304, 590, 570, 571, 572, 573, 1605 659, 550, 590, 409, 410, 555, 231, 548, 409, 410, 1606 236, 382, 565, 669, 91, 276, 488, 489, 590, 936, 1607 417, 680, 565, 600, 286, 150, 151, 604, 605, 606, 1608 607, 608, 609, 610, 611, 612, 613, 614, 615, 237, 1609 755, 886, 887, 232, 244, 622, 271, 908, 761, 527, 1610 233, 721, 722, 234, 913, 391, 634, 636, 637, 638, 1611 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 1612 649, 652, 654, 656, 658, 440, 756, 282, 211, 438, 1613 438, 536, 448, 284, 537, 306, 664, 665, 282, 909, 1614 910, 911, 912, 715, 716, 701, 701, 701, 701, 701, 1615 893, 719, 701, 598, 599, -164, 707, 342, 347, -164, 1616 307, 714, 309, 315, 717, 856, 857, 858, 338, 587, 1617 588, 589, 617, 618, 619, 620, 621, 322, 865, 884, 1618 577, 855, 735, 846, 881, 630, 323, 325, 577, 327, 1619 338, 338, 338, 338, 338, 357, 802, 691, 358, 359, 1620 385, 339, 385, 385, 363, 695, 796, 798, 800, 702, 1621 364, 365, 438, 578, 822, 366, 713, 438, 367, 824, 1622 368, 578, 590, 339, 339, 339, 339, 339, 369, 370, 1623 437, 437, 371, 413, 340, 372, 373, 374, 376, 590, 1624 590, 590, 590, 590, 377, 534, 579, 378, 379, 380, 1625 389, 534, 534, 414, 579, 390, 340, 340, 340, 340, 1626 340, 416, 417, 418, 392, 91, 393, 394, 395, 396, 1627 397, 428, 398, 399, 400, 401, 402, 403, 430, 749, 1628 404, 405, 406, 407, 408, 431, 479, 483, 753, 484, 1629 586, 329, 330, 587, 588, 589, 586, 329, 330, 587, 1630 588, 589, 491, 267, 493, 769, 276, 502, 507, 205, 1631 770, 508, 391, 437, 511, 528, 286, 924, 437, 526, 1632 397, 535, 398, 399, 400, 401, 402, 403, 439, 447, 1633 404, 405, 406, 407, 408, 329, 330, 587, 588, 589, 1634 795, 545, 797, 799, 547, 556, 382, 803, 586, 329, 1635 330, 587, 588, 589, 338, 574, 802, 898, 590, 584, 1636 593, 863, 594, 577, 804, 805, 385, 385, 385, 806, 1637 842, 807, 627, 628, 629, 810, 632, 873, -490, -490, 1638 -490, -490, -490, -490, 672, 879, 320, 339, 819, 810, 1639 676, 678, 679, 681, 685, 689, 578, 690, 686, 692, 1640 703, 828, 816, 482, 704, 720, 725, 730, 731, 734, 1641 934, 447, 740, 743, 223, 744, 447, 759, 826, 589, 1642 340, 792, 847, 398, 399, 400, 401, 402, 403, 579, 1643 793, 404, 405, 406, 407, 408, 794, 814, 502, 808, 1644 815, 817, 534, 818, 409, 410, 823, 825, 878, 851, 1645 754, 835, 899, 836, 872, 844, 875, 495, 558, 395, 1646 396, 397, 876, 398, 399, 400, 401, 402, 403, 845, 1647 852, 404, 405, 406, 407, 408, 861, 862, 864, 867, 1648 868, 391, 869, 870, 871, 565, 577, -491, 897, 902, 1649 929, 737, 939, 892, 409, 410, 906, 948, 921, 920, 1650 933, 953, 513, 937, 938, 940, 795, 797, 799, 932, 1651 941, 942, 943, 959, 841, 958, 961, 967, 971, 578, 1652 925, 486, 211, 895, 16, 626, 144, -247, 952, -247, 1653 -247, -247, -247, -247, 950, -247, -247, -247, -247, -247, 1654 -247, 670, 724, -247, -247, -247, -247, -247, 827, 829, 1655 705, 718, 579, 253, 254, 514, 492, 697, 727, 544, 1656 662, 860, 713, 914, 916, 256, 919, -511, -511, -511, 1657 -511, -511, -511, 915, 820, 404, 405, 406, 407, 408, 1658 947, 534, 515, 877, 516, 517, 518, 968, 930, 519, 1659 520, 352, 521, 522, 972, 409, 410, 741, 178, 179, 1660 345, 592, 874, 624, 880, 742, 767, 0, 944, 768, 1661 946, 810, 0, 351, 181, 182, 0, 0, 183, 184, 1662 185, 186, 0, 0, 0, 0, 0, 0, 0, 0, 1663 0, 390, 187, 0, 0, 409, 410, 949, 0, 0, 1664 0, 0, 0, 0, 0, 960, 0, 0, 0, 0, 1665 0, 0, 0, 962, 0, 0, 0, 0, 0, 963, 1666 0, 0, 965, 2, 3, 0, 0, 0, 0, 0, 1667 0, 0, 0, 0, 0, 0, 0, 0, 975, 0, 1668 0, 0, 0, 976, 977, 0, 0, 978, 979, 0, 1669 -23, 0, -23, 0, 981, -23, -23, -23, -23, 4, 1670 5, -23, 0, 0, -23, -23, -23, -247, -247, 0, 1671 0, -23, -23, 0, 0, 0, 6, 7, 0, 0, 1672 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 1673 -23, -23, 0, 0, 0, -23, 0, 0, 0, 409, 1674 410, -23, 0, -23, -23, 0, -23, 0, -23, -23, 1675 -23, -23, -23, 0, -23, -23, -23, -23, -23, -23, 1676 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 1677 0, 0, -23, -23, -23, 0, -23, -23, -23, 0, 1678 -23, -23, -23, 0, 0, -23, 0, -23, 0, 0, 1679 -23, -23, -23, -23, 0, 0, -23, -23, -23, 0, 1680 0, 0, 0, 0, -23, 0, 0, 8, -23, -23, 1681 -23, -23, -23, -23, -23, 0, -23, -23, -23, -23, 1682 -23, 0, 0, -23, 0, 0, 0, 0, 0, 0, 1683 -23, -23, -23, 0, 0, 0, 0, 0, 0, -23, 1684 9, -510, 0, -510, 0, -510, -510, -510, -510, -510, 1685 10, -510, -510, -510, -510, -510, -510, 0, 0, -510, 1686 -510, -510, -510, -510, 0, 0, 0, 0, 0, 0, 1687 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 1688 0, 0, 154, 155, 156, 157, 0, 0, 0, 0, 1689 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, 1690 164, 0, 165, 166, 167, 0, 0, 168, 169, 170, 1691 0, 171, 172, 173, 174, 175, 674, 176, 392, 0, 1692 393, 394, 395, 396, 397, 0, 398, 399, 400, 401, 1693 402, 403, 0, 0, 404, 405, 406, 407, 408, 931, 1694 0, 392, 0, 393, 394, 395, 396, 397, 0, 398, 1695 399, 400, 401, 402, 403, 0, 0, 404, 405, 406, 1696 407, 408, 0, 0, 0, 0, 0, 0, 0, 0, 1471 174, 539, 93, 402, 192, 293, 434, 174, 294, 474, 1472 641, 775, 295, 642, 506, 296, 243, 366, 690, 684, 1473 414, 735, 736, 828, 684, 300, 494, 324, 372, 265, 1474 498, 270, 271, 367, 686, 203, 273, -171, 504, 874, 1475 226, 579, 766, 767, 96, 846, 323, 198, 882, 257, 1476 258, 579, 93, 268, 325, 534, 764, 764, 764, 203, 1477 277, 847, 848, 849, 579, -171, 885, 221, 222, 917, 1478 366, 579, 646, 432, 430, 297, 607, 298, 299, 575, 1479 -430, 859, 664, 365, 899, 329, 367, 849, 373, 374, 1480 375, 376, 377, 378, 96, 379, 380, 381, 382, 383, 1481 384, 332, 385, 386, 387, 388, 389, 729, 671, 675, 1482 477, 174, 493, 203, 579, 419, 324, 984, 579, 333, 1483 335, 336, 419, 285, 579, 750, 715, 483, 203, 540, 1484 343, 126, 1021, 579, -426, 323, 365, 223, 203, 579, 1485 831, 224, 301, 325, 357, 307, 251, 194, 479, -429, 1486 364, 410, 579, 579, 868, 914, 675, 948, 985, -425, 1487 948, 371, 847, 848, 849, -171, 393, 194, 648, 741, 1488 484, 485, 229, 971, 438, 751, 1042, 223, 575, 170, 1489 406, 224, 195, 230, 288, 387, 388, 389, 302, 404, 1490 411, 412, 753, 742, -171, 342, 480, 344, -106, 394, 1491 1026, 580, 197, 364, 308, 128, 364, 417, 389, 850, 1492 959, 584, 359, 1000, 425, 917, 468, 204, 433, 605, 1493 860, 436, -430, 606, 586, 324, 466, 486, 963, 475, 1494 564, 601, 647, 850, 324, 367, 960, 980, 495, 4, 1495 730, 680, 665, 500, 323, 496, 503, 390, 391, 563, 1496 478, 836, 325, 323, 716, 93, 130, 565, 916, 916, 1497 916, 325, 252, 859, 286, 709, 710, 471, 672, 676, 1498 499, 413, 699, 713, 777, 475, -426, 532, 778, 170, 1499 859, 609, 251, 561, 792, 365, 204, 719, 253, 544, 1500 545, -429, 576, 793, 549, 722, 413, 96, 728, 794, 1501 694, -425, 540, 553, 554, 555, 556, 557, 558, 559, 1502 850, 575, 795, 805, 869, 915, 938, 949, 986, 266, 1503 1037, 800, 802, 425, 804, 289, 575, 324, 390, 391, 1504 583, 919, 920, 921, 587, 588, 589, 590, 591, 592, 1505 593, 594, 595, 596, 597, 598, 323, 223, 131, 390, 1506 391, 224, 371, 961, 325, 571, 311, 312, 572, 573, 1507 574, 188, 616, 618, 619, 620, 621, 622, 623, 624, 1508 625, 626, 627, 628, 629, 630, 631, 634, 636, 638, 1509 640, 69, 939, 199, 192, 659, 372, 481, 684, 684, 1510 684, 684, 684, 990, 581, 582, 697, 244, 252, 245, 1511 191, 278, 860, 828, 610, 861, 482, 239, 764, 575, 1512 407, 489, 490, 600, 663, 602, 603, 604, 202, 860, 1513 415, 416, 1009, 400, 253, 612, 717, 837, 822, 279, 1514 212, 923, 395, 679, 240, 241, 763, 408, 520, 264, 1515 209, 235, 236, 769, 832, 701, 210, 756, 875, 989, 1516 708, 965, 937, 711, -156, 823, 839, 966, -156, 208, 1517 223, 475, 911, 866, 224, 564, 775, 685, 213, 255, 1518 806, 256, 564, 219, 324, 324, 324, 324, 324, 259, 1519 698, 260, 881, 916, 563, 707, 170, 309, 194, 274, 1520 884, 563, 565, 323, 323, 323, 323, 323, 269, 565, 1521 762, 325, 325, 325, 325, 325, 735, 736, 858, 800, 1522 802, 804, 220, -156, 475, 475, 227, -156, 372, 371, 1523 575, 575, 575, 575, 575, 733, 203, 735, 736, 280, 1524 200, 201, 770, 771, 772, 773, 774, 746, 93, 979, 1525 93, -156, 1036, 231, 812, -156, 232, 757, 684, 761, 1526 376, 377, 378, 249, 379, 380, 381, 382, 383, 384, 1527 419, 385, 386, 387, 388, 389, 733, 324, 776, 215, 1528 216, 217, 419, 571, 311, 312, 572, 573, 574, -541, 1529 -541, -541, -541, -541, -541, 929, 323, 254, 139, 311, 1530 312, 572, 573, 574, 325, 524, 525, 799, 801, 263, 1531 803, 398, 668, 364, 807, 940, 941, 942, 943, 983, 1532 876, 877, 878, 851, 572, 573, 574, 133, 134, 746, 1533 898, 808, 809, 972, 973, 203, 810, 272, 811, 310, 1534 327, 292, 815, 304, 305, 339, 340, 928, 394, 341, 1535 345, 824, 894, 829, 895, 830, 346, 821, 347, 348, 1536 349, 834, 806, 903, 93, 964, 350, 405, 351, 352, 1537 353, 354, 355, 356, 843, 425, 468, 358, 469, 360, 1538 361, 564, 841, 362, 370, 395, 988, 397, 398, 162, 1539 856, 857, 399, 470, 170, 163, 164, 465, 1024, 476, 1540 563, 867, 491, 259, 493, 266, 496, 501, 565, 502, 1541 166, 167, 505, 168, 169, 274, 390, 391, 171, 871, 1542 475, 373, 374, 375, 376, 377, 378, 521, 379, 380, 1543 381, 382, 383, 384, 523, 385, 386, 387, 388, 389, 1544 535, 560, 547, 569, 611, 577, 614, 651, 654, 674, 1545 905, 656, 657, 609, 666, 667, 669, 673, 723, 549, 1546 677, 678, 1027, 724, 688, 727, 608, 691, -237, -237, 1547 -237, -237, -237, -237, 692, -237, -237, -237, -237, -237, 1548 -237, 695, -237, -237, -237, -237, -237, 714, 718, 759, 1549 758, 760, 768, 574, 796, 799, 801, 803, 797, 798, 1550 819, 813, 820, 845, 833, 840, 853, 976, 855, 478, 1551 864, 872, 192, 925, 883, 886, 982, 887, 888, 891, 1552 889, 372, 890, 896, 897, 909, 378, 564, 379, 380, 1553 381, 382, 383, 384, 910, 385, 386, 387, 388, 389, 1554 922, 927, 931, 932, 935, 936, 563, 944, 1003, 945, 1555 950, 969, 958, 730, 565, 978, 987, 991, 999, 992, 1556 1007, 1015, 993, 994, 1016, 1006, 1018, 707, 1017, 954, 1557 850, 957, 1019, 1023, 1028, 302, 1043, 1032, 1038, 1039, 1558 390, 391, 507, 965, 394, 475, 1041, 1047, 1020, 1048, 1559 333, 234, 488, 1010, 693, 1008, 977, 379, 380, 381, 1560 382, 383, 384, 905, 385, 386, 387, 388, 389, -542, 1561 -542, -542, -542, -542, -542, 842, 385, 386, 387, 388, 1562 389, 844, 93, 995, 649, 997, 815, -237, -237, 689, 1563 333, 1001, 712, 1002, 687, 235, 236, 508, 492, 720, 1564 700, 533, 880, 1005, 238, 952, 998, 644, 93, 1012, 1565 953, 835, 970, 1040, 371, 1025, 754, 912, 1004, 1013, 1566 1014, 913, 838, 509, 670, 510, 511, 512, 330, 0, 1567 513, 514, 0, 515, 516, 0, 0, 2, 3, 0, 1568 390, 391, 0, 0, 905, 0, 905, 0, 0, 0, 1569 0, 0, 0, 0, 93, 1029, 0, 0, 1031, 0, 1570 0, 4, 5, 0, 0, 6, -21, 7, -21, 8, 1571 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 1572 733, 0, 10, 0, 0, 0, 0, 0, 0, 1044, 1573 0, 733, 0, 1045, 1046, 93, 0, 0, 11, 0, 1574 0, 733, 12, 13, 93, 0, 0, 14, 1050, 390, 1575 391, 0, 0, 15, 0, 16, 17, 0, 18, 0, 1576 0, 390, 391, 19, 20, 21, 22, 23, 0, 24, 1577 25, 0, 0, 26, 27, 28, 29, 30, 31, 32, 1578 33, 34, 35, 36, 0, 37, 0, 38, 39, 0, 1579 0, 40, 41, 42, 0, 43, 0, 44, 0, 0, 1580 45, 46, 0, 0, 47, 48, 49, 0, 0, 0, 1581 0, 0, 0, 0, 50, 0, 0, 51, 52, 53, 1582 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 1583 0, 0, 64, 0, 0, 65, 66, 67, 68, 0, 1584 0, 0, 652, 69, 373, 374, 375, 376, 377, 378, 1585 0, 379, 380, 381, 382, 383, 384, 0, 385, 386, 1586 387, 388, 389, 934, 0, 373, 374, 375, 376, 377, 1587 378, 0, 379, 380, 381, 382, 383, 384, 0, 385, 1588 386, 387, 388, 389, 1034, 0, 373, 374, 375, 376, 1589 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1590 385, 386, 387, 388, 389, 1035, 0, 373, 374, 375, 1591 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1592 0, 385, 386, 387, 388, 389, 1049, 0, 373, 374, 1593 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1594 384, 0, 385, 386, 387, 388, 389, 926, 373, 374, 1595 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1596 384, 0, 385, 386, 387, 388, 389, 870, 373, 374, 1597 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1598 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1599 0, 0, 135, 136, 0, 0, 0, 0, 137, 138, 1600 139, 140, 141, 390, 391, 0, 0, 0, 0, 0, 1601 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, 1602 0, 149, 150, 151, 390, 391, 152, 153, 154, 0, 1603 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1604 0, 0, 0, 0, 0, 390, 391, 373, 374, 375, 1605 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1606 0, 385, 386, 387, 388, 389, 390, 391, 373, 374, 1607 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1608 384, 0, 385, 386, 387, 388, 389, 390, 391, 0, 1609 0, 162, 0, 0, 0, 0, 0, 163, 164, 0, 1610 0, 0, 0, 165, 0, 0, 613, 390, 391, 0, 1611 0, 0, 166, 167, 0, 168, 169, 0, 0, 170, 1612 171, 562, 0, 0, 0, 0, 0, 390, 391, 926, 1613 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1614 382, 383, 384, 0, 385, 386, 387, 388, 389, 996, 1615 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1616 382, 383, 384, 0, 385, 386, 387, 388, 389, 1030, 1617 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1618 382, 383, 384, 0, 385, 386, 387, 388, 389, 0, 1697 1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1698 178, 179, 0, 0, 0, 0, 180, 0, 0, 0, 1699 0, 0, 0, 0, 0, 0, 181, 182, 0, 0, 1700 183, 184, 185, 186, 0, 0, 0, 91, 0, 0, 1701 0, 0, 0, 0, 187, 0, 0, 576, 0, 0, 1702 0, 0, 0, -510, -510, 973, 0, 392, 0, 393, 1703 394, 395, 396, 397, 0, 398, 399, 400, 401, 402, 1704 403, 0, 0, 404, 405, 406, 407, 408, 974, 0, 1705 392, 0, 393, 394, 395, 396, 397, 0, 398, 399, 1706 400, 401, 402, 403, 0, 0, 404, 405, 406, 407, 1707 408, 980, 0, 392, 0, 393, 394, 395, 396, 397, 1708 0, 398, 399, 400, 401, 402, 403, 0, 0, 404, 1709 405, 406, 407, 408, 0, 0, 0, 0, 409, 410, 1710 0, 0, 0, 0, 0, 0, 896, 392, 0, 393, 1711 394, 395, 396, 397, 0, 398, 399, 400, 401, 402, 1712 403, 409, 410, 404, 405, 406, 407, 408, 850, 392, 1713 0, 393, 394, 395, 396, 397, 0, 398, 399, 400, 1714 401, 402, 403, 0, 0, 404, 405, 406, 407, 408, 1715 896, 392, 0, 393, 394, 395, 396, 397, 0, 398, 1716 399, 400, 401, 402, 403, 0, 0, 404, 405, 406, 1717 407, 408, 945, 392, 0, 393, 394, 395, 396, 397, 1718 0, 398, 399, 400, 401, 402, 403, 0, 0, 404, 1719 405, 406, 407, 408, 0, 0, 0, 0, 0, 0, 1720 0, 0, 0, 0, 0, 0, 0, 409, 410, 0, 1721 0, 0, 0, 0, 0, 964, 392, 0, 393, 394, 1722 395, 396, 397, 0, 398, 399, 400, 401, 402, 403, 1723 409, 410, 404, 405, 406, 407, 408, 0, 0, 392, 1724 0, 393, 394, 395, 396, 397, 0, 398, 399, 400, 1725 401, 402, 403, 409, 410, 404, 405, 406, 407, 408, 1726 392, 0, 393, 394, 395, 396, 397, 0, 398, 399, 1727 400, 401, 402, 403, 0, 0, 404, 405, 406, 407, 1728 408, 0, 631, 0, 0, 0, 0, 409, 410, 0, 1729 0, 0, 0, 0, 0, 392, 0, 393, 394, 395, 1730 396, 397, 0, 398, 399, 400, 401, 402, 403, 409, 1731 410, 404, 405, 406, 407, 408, 0, 392, 0, 393, 1732 394, 395, 396, 397, 0, 398, 399, 400, 401, 402, 1733 403, 409, 410, 404, 405, 406, 407, 408, 0, -250, 1734 0, -250, -250, -250, -250, -250, 0, -250, -250, -250, 1735 -250, -250, -250, 409, 410, -250, -250, -250, -250, -250, 1736 392, 0, 393, 394, 395, 396, 397, 0, 398, 399, 1737 400, 401, 402, 403, 0, 0, 404, 405, 406, 407, 1738 408, 0, 392, 0, 393, 394, 395, 396, 397, 0, 1739 398, 399, 400, 401, 402, 403, 409, 410, 404, 405, 1740 406, 407, 408, 0, 0, 0, 0, 0, 0, 0, 1741 0, 0, 0, 0, 436, 0, 0, 0, 0, 409, 1742 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 1744 409, 410, 392, 0, 393, 394, 395, 396, 397, 0, 1745 398, 399, 400, 401, 402, 403, 0, 0, 404, 405, 1746 406, 407, 408, 0, 0, 0, 0, 0, 0, 0, 1747 602, 0, 0, 0, 0, 409, 410, 0, 0, 0, 1620 0, 0, 0, 0, 0, 578, 390, 391, 0, 0, 1748 1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749 0, 0, 616, 0, 0, 0, 0, 409, 410, 0, 1622 0, 0, 0, 0, 0, 0, 585, 390, 391, 373, 1623 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1624 383, 384, 0, 385, 386, 387, 388, 389, -239, -239, 1625 -239, -239, -239, -239, 0, -239, -239, -239, -239, -239, 1626 -239, 0, -239, -239, -239, -239, -239, -238, -238, -238, 1627 -238, -238, -238, 0, -238, -238, -238, -238, -238, -238, 1628 0, -238, -238, -238, -238, -238, 0, 0, 0, 390, 1629 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 1631 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 1633 391, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1634 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1635 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1636 382, 383, 384, 0, 385, 386, 387, 388, 389, 0, 1750 1637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1751 0, 0, 0, 0, -250, 0, 0, 0, 0, -250, 1752 -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1753 0, 0, 0, 0, 0, 631, 0, 0, 0, 0, 1754 409, 410, 0, 0, 0, 0, 0, 0, 0, 0, 1755 0, 0, 0, 0, 0, 0, 0, 666, 0, 0, 1756 0, 0, 409, 410, 392, 0, 393, 394, 395, 396, 1757 397, 0, 398, 399, 400, 401, 402, 403, 0, 0, 1758 404, 405, 406, 407, 408, 392, 0, 393, 394, 395, 1759 396, 397, 0, 398, 399, 400, 401, 402, 403, 0, 1760 0, 404, 405, 406, 407, 408, 0, 0, 0, 0, 1761 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 1762 0, 0, 409, 410, 392, 0, 393, 394, 395, 396, 1763 397, 0, 398, 399, 400, 401, 402, 403, 0, 0, 1764 404, 405, 406, 407, 408, 392, 0, 393, 394, 395, 1765 396, 397, 0, 398, 399, 400, 401, 402, 403, 0, 1766 0, 404, 405, 406, 407, 408, 392, 0, 393, 394, 1767 395, 396, 397, 0, 398, 399, 400, 401, 402, 403, 1768 0, 0, 404, 405, 406, 407, 408, 392, 0, 393, 1769 394, 395, 396, 397, 0, 398, 399, 400, 401, 402, 1770 403, 0, 0, 404, 405, 406, 407, 408, 392, 0, 1771 393, 394, 395, 396, 397, 0, 398, 399, 400, 401, 1772 402, 403, 0, 0, 404, 405, 406, 407, 408, 0, 1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 1774 0, 0, 0, 0, 409, 410, 0, 0, 0, 418, 1775 0, 392, 0, 393, 394, 395, 396, 397, 0, 398, 1776 399, 400, 401, 402, 403, 409, 410, 404, 405, 406, 1777 407, 408, 392, 0, 393, 394, 395, 396, 397, 0, 1778 398, 399, 400, 401, 402, 403, 0, 0, 404, 405, 1779 406, 407, 408, 0, 0, 0, 0, 0, 0, 773, 1780 0, 0, 0, 0, 409, 410, 0, 0, 0, 0, 1638 0, 0, 0, 0, 0, 0, 0, 599, 390, 391, 1781 1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1782 774, 0, 0, 0, 0, 409, 410, 0, 0, 0,1640 0, 0, 0, 0, 0, 0, -239, -239, -239, 0, 1783 1641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1784 0, 775, 0, 0, 0, 0, 409, 410, 0, 0, 1642 0, 0, 0, 0, 0, -238, -238, -238, 373, 374, 1643 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1644 384, 0, 385, 386, 387, 388, 389, 373, 374, 375, 1645 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1646 0, 385, 386, 387, 388, 389, 373, 374, 375, 376, 1647 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1648 385, 386, 387, 388, 389, 0, 0, 0, 0, 613, 1649 390, 391, 0, 0, 0, 0, 0, 0, 0, 0, 1650 0, 0, 0, 0, 0, 0, 0, 0, 650, 390, 1651 391, 373, 374, 375, 376, 377, 378, 0, 379, 380, 1652 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, 1653 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1654 382, 383, 384, 0, 385, 386, 387, 388, 389, 373, 1655 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1656 383, 384, 0, 385, 386, 387, 388, 389, 0, 0, 1657 0, 0, 0, 0, 135, 136, 0, 0, 0, 0, 1658 137, 138, 139, 140, 141, 0, 653, 390, 391, 0, 1659 0, 0, 0, 0, 0, 142, 143, 144, 145, 146, 1660 147, 148, 399, 149, 150, 151, 390, 391, 152, 153, 1661 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1662 0, 0, 0, 0, 779, 390, 391, 373, 374, 375, 1663 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1664 0, 385, 386, 387, 388, 389, 373, 374, 375, 376, 1665 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1666 385, 386, 387, 388, 389, 0, 0, 0, 0, 780, 1667 390, 391, 0, 162, 0, 0, 0, 0, 0, 163, 1668 164, 0, 0, 0, 0, 165, 0, 0, 781, 390, 1669 391, 0, 0, 0, 166, 167, 0, 168, 169, 0, 1670 0, 918, 171, 562, 0, 0, 0, 782, 390, 391, 1671 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, 1672 382, 383, 384, 0, 385, 386, 387, 388, 389, 373, 1673 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1674 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1675 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1676 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1785 1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1786 0, 0, 776, 0, 0, 0, 0, 409, 410, 0,1678 0, 0, 0, 0, 0, 783, 390, 391, 0, 0, 1787 1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788 0, 0, 0, 777, 0, 0, 0, 0, 409, 410, 1789 392, 0, 393, 394, 395, 396, 397, 0, 398, 399, 1790 400, 401, 402, 403, 0, 0, 404, 405, 406, 407, 1791 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1792 0, 0, 0, 0, 0, 0, 778, 0, 0, 0, 1793 0, 409, 410, 0, 0, 0, 0, 0, 0, 0, 1794 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, 1795 0, 0, 409, 410, 392, 0, 393, 394, 395, 396, 1796 397, 0, 398, 399, 400, 401, 402, 403, 0, 0, 1797 404, 405, 406, 407, 408, 392, 0, 393, 394, 395, 1798 396, 397, 0, 398, 399, 400, 401, 402, 403, 0, 1799 0, 404, 405, 406, 407, 408, 392, 0, 393, 394, 1800 395, 396, 397, 0, 398, 399, 400, 401, 402, 403, 1801 0, 0, 404, 405, 406, 407, 408, 392, 0, 393, 1802 394, 395, 396, 397, 0, 398, 399, 400, 401, 402, 1803 403, 0, 0, 404, 405, 406, 407, 408, 392, 0, 1804 393, 394, 395, 396, 397, 0, 398, 399, 400, 401, 1805 402, 403, 0, 0, 404, 405, 406, 407, 408, 0, 1806 0, 0, 0, 0, 0, 780, 0, 0, 0, 0, 1807 409, 410, 392, 0, 393, 394, 395, 396, 397, 0, 1808 398, 399, 400, 401, 402, 403, 0, 0, 404, 405, 1809 406, 407, 408, 392, 0, 393, 394, 395, 396, 397, 1810 0, 398, 399, 400, 401, 402, 403, 0, 0, 404, 1811 405, 406, 407, 408, 0, 0, 0, 0, 0, 22, 1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 1813 0, 0, 0, 0, 409, 410, 0, 0, 0, 0, 1814 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 1815 782, 0, 0, 0, 0, 409, 410, 0, 0, 32, 1816 0, 0, 0, 0, 35, 348, 0, 0, 0, 39, 1817 40, 783, 0, 0, 0, 0, 409, 410, 0, 349, 1818 49, 50, 51, 52, 53, 54, 350, 0, 0, 0, 1819 0, 0, 784, 0, 0, 0, 0, 409, 410, 64, 1820 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 1821 0, 0, 0, 785, 72, 0, 74, 0, 409, 410, 1822 392, 0, 393, 394, 395, 396, 397, 0, 398, 399, 1823 400, 401, 402, 403, 0, 0, 404, 405, 406, 407, 1824 408, 0, 0, 0, 0, 0, 0, 791, 0, 0, 1825 91, 0, 409, 410, 0, 0, 0, 92, 0, 0, 1826 0, 0, 0, 0, 0, 0, 0, 0, 843, 0, 1827 0, 0, 0, 409, 410, 392, 0, 393, 394, 395, 1828 396, 397, 708, 398, 399, 400, 401, 402, 403, 0, 1829 149, 404, 405, 406, 407, 408, 0, 0, 0, 150, 1830 151, 709, 0, 0, 0, 0, 0, 0, 0, 0, 1831 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 1832 0, 0, 154, 155, 156, 157, 0, 0, 0, 0, 1833 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, 1834 164, 0, 165, 166, 167, 0, 0, 168, 169, 170, 1835 0, 171, 172, 173, 174, 175, 0, 176, 0, 0, 1836 0, 0, 0, 0, 0, 0, 0, 0, 453, 0, 1837 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 1838 0, 0, 0, 0, 458, 459, 460, 461, 462, 463, 1839 464, 0, 465, 466, 467, 900, 0, 468, 469, 470, 1840 409, 410, 471, 472, 473, 474, 0, 475, 0, 177, 1841 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 1842 178, 179, 0, 0, 0, 0, 180, 150, 151, 0, 1843 0, 0, 0, 0, 0, 0, 181, 182, 0, 0, 1844 183, 184, 185, 186, 0, 152, 153, 91, 0, 0, 1845 154, 155, 156, 157, 187, 409, 410, 188, 0, 0, 1846 0, 0, 158, 159, 160, 161, 162, 163, 164, 0, 1847 165, 166, 167, 0, 0, 168, 169, 170, 0, 171, 1848 172, 173, 174, 175, 0, 176, 0, 0, 0, 0, 1849 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 1680 0, 0, 0, 0, 784, 390, 391, 373, 374, 375, 1681 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1682 0, 385, 386, 387, 388, 389, 373, 374, 375, 376, 1683 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1684 385, 386, 387, 388, 389, 373, 374, 375, 376, 377, 1685 378, 0, 379, 380, 381, 382, 383, 384, 0, 385, 1686 386, 387, 388, 389, 0, 0, 0, 0, 785, 390, 1687 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1688 0, 0, 0, 0, 0, 0, 0, 786, 390, 391, 1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1690 0, 0, 0, 0, 0, 0, 787, 390, 391, 373, 1691 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1692 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1693 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1694 384, 0, 385, 386, 387, 388, 389, 0, 0, 0, 1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1696 0, 0, 0, 0, 0, 788, 390, 391, 0, 0, 1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1698 0, 0, 0, 0, 789, 390, 391, 0, 0, 0, 1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1700 0, 0, 0, 790, 390, 391, 373, 374, 375, 376, 1701 377, 378, 0, 379, 380, 381, 382, 383, 384, 0, 1702 385, 386, 387, 388, 389, 373, 374, 375, 376, 377, 1703 378, 0, 379, 380, 381, 382, 383, 384, 0, 385, 1704 386, 387, 388, 389, 373, 374, 375, 376, 377, 378, 1705 0, 379, 380, 381, 382, 383, 384, 0, 385, 386, 1706 387, 388, 389, 0, 0, 0, 0, 791, 390, 391, 1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708 0, 0, 0, 0, 0, 0, 852, 390, 391, 373, 1709 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, 1710 383, 384, 0, 385, 386, 387, 388, 389, 373, 374, 1711 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, 1712 384, 0, 385, 386, 387, 388, 389, 373, 374, 375, 1713 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, 1714 0, 385, 386, 387, 388, 389, 0, 0, 0, 0, 1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716 0, 0, 0, 0, 930, 390, 391, 0, 0, 0, 1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718 0, 0, 0, 933, 390, 391, 0, 0, 0, 0, 1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720 0, 0, 946, 390, 391, 373, 374, 375, 376, 377, 1721 378, 0, 379, 380, 381, 382, 383, 384, 0, 385, 1722 386, 387, 388, 389, 0, 0, 0, 0, 0, 0, 1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724 0, 0, 0, 0, 0, 702, 0, 947, 390, 391, 1725 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 1726 133, 134, 703, 0, 0, 0, 1022, 390, 391, 0, 1727 0, 0, 0, 0, 135, 136, 0, 0, 0, 0, 1728 137, 138, 139, 140, 141, 1033, 390, 391, 0, 0, 1729 0, 0, 0, 0, 0, 142, 143, 144, 145, 146, 1730 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1731 154, 0, 155, 156, 157, 158, 159, 439, 160, 0, 1732 0, 0, 440, 441, 0, 442, 443, 0, 0, 0, 1733 0, 0, 0, 0, 0, 0, 0, 444, 445, 446, 1734 447, 448, 449, 450, 0, 451, 452, 453, 0, 0, 1735 454, 455, 456, 0, 814, 457, 458, 459, 460, 0, 1736 461, 132, 0, 0, 390, 391, 161, 0, 0, 133, 1737 134, 0, 0, 162, 0, 0, 0, 0, 0, 163, 1738 164, 0, 0, 135, 136, 165, 0, 0, 0, 137, 1739 138, 139, 140, 141, 166, 167, 0, 168, 169, 0, 1740 0, 170, 171, 172, 142, 143, 144, 145, 146, 147, 1741 148, 0, 149, 150, 151, 0, 0, 152, 153, 154, 1742 0, 155, 156, 157, 158, 159, 0, 160, 0, 0, 1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1744 0, 0, 0, 462, 0, 0, 0, 0, 0, 0, 1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746 0, 0, 0, 904, 0, 0, 0, 0, 0, 0, 1747 132, 0, 0, 0, 0, 161, 0, 0, 133, 134, 1748 0, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1749 0, 0, 135, 136, 165, 0, 0, 0, 137, 138, 1750 139, 140, 141, 166, 167, 0, 168, 169, 0, 0, 1751 170, 171, 172, 142, 143, 144, 145, 146, 147, 148, 1752 0, 149, 150, 151, 0, 0, 152, 153, 154, 0, 1753 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1850 1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1851 1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1852 1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 1854 0, 0, 0, 0, 0, 0, 0, 0, 178, 179, 1855 0, 0, 0, 0, 180, 809, 0, 0, 0, 0, 1856 0, 0, 0, 149, 181, 182, 0, 0, 183, 184, 1857 185, 186, 150, 151, 0, 91, 0, 0, 0, 0, 1858 0, 0, 187, 0, 0, 188, 0, 0, 0, 0, 1859 152, 153, 0, 204, 0, 154, 155, 156, 157, 0, 1860 0, 0, 0, 0, 0, 0, 0, 158, 159, 160, 1861 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 1862 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 1863 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1757 0, 0, 924, 0, 0, 0, 0, 0, 0, 132, 1758 0, 0, 0, 0, 161, 0, 0, 133, 134, 0, 1759 0, 162, 0, 0, 0, 0, 0, 163, 164, 0, 1760 0, 135, 136, 165, 0, 0, 0, 137, 138, 139, 1761 140, 141, 166, 167, 0, 168, 169, 0, 0, 170, 1762 171, 172, 142, 143, 144, 145, 146, 147, 148, 0, 1763 149, 150, 151, 0, 0, 152, 153, 154, 0, 155, 1764 156, 157, 158, 159, 0, 160, 0, 0, 0, 0, 1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768 0, 0, 472, 0, 0, 0, 0, 0, 132, 0, 1769 0, 0, 0, 161, 0, 0, 133, 134, 473, 0, 1770 162, 0, 0, 0, 0, 0, 163, 164, 0, 0, 1771 135, 136, 165, 0, 0, 0, 137, 138, 139, 140, 1772 141, 166, 167, 0, 168, 169, 0, 0, 170, 171, 1773 172, 142, 143, 144, 145, 146, 147, 148, 0, 149, 1774 150, 151, 0, 0, 152, 153, 154, 0, 155, 156, 1775 157, 158, 159, 0, 160, 0, 0, 0, 0, 0, 1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779 0, 632, 0, 0, 0, 0, 0, 132, 0, 0, 1780 0, 0, 161, 0, 0, 133, 134, 0, 633, 162, 1781 0, 0, 0, 0, 0, 163, 164, 0, 0, 135, 1782 136, 165, 0, 0, 0, 137, 138, 139, 140, 141, 1783 166, 167, 0, 168, 169, 0, 0, 170, 171, 172, 1784 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1785 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1786 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1790 721, 0, 0, 0, 0, 0, 132, 0, 0, 0, 1791 0, 161, 0, 0, 133, 134, 473, 0, 162, 0, 1792 0, 0, 0, 0, 163, 164, 0, 0, 135, 136, 1793 165, 0, 0, 0, 137, 138, 139, 140, 141, 166, 1794 167, 0, 168, 169, 0, 0, 170, 171, 172, 142, 1795 143, 144, 145, 146, 147, 148, 0, 149, 150, 151, 1796 0, 0, 152, 153, 154, 0, 155, 156, 157, 158, 1797 159, 0, 160, 0, 0, 0, 0, 0, 0, 0, 1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 615, 1801 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 1802 161, 0, 0, 133, 134, 0, 0, 162, 0, 0, 1803 0, 0, 0, 163, 164, 0, 0, 135, 136, 165, 1804 0, 0, 0, 137, 138, 139, 140, 141, 166, 167, 1805 0, 168, 169, 0, 0, 170, 171, 172, 142, 143, 1806 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1807 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1808 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811 0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 1812 0, 0, 0, 0, 132, 0, 0, 0, 0, 161, 1813 0, 0, 133, 134, 0, 0, 162, 0, 0, 0, 1814 0, 0, 163, 164, 0, 0, 135, 136, 165, 0, 1815 0, 0, 137, 138, 139, 140, 141, 166, 167, 0, 1816 168, 169, 0, 0, 170, 171, 172, 142, 143, 144, 1817 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1818 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1819 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1822 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, 1823 0, 0, 0, 132, 0, 0, 0, 0, 161, 0, 1824 0, 133, 134, 0, 0, 162, 0, 0, 0, 0, 1825 0, 163, 164, 0, 0, 135, 136, 165, 0, 0, 1826 0, 137, 138, 139, 140, 141, 166, 167, 0, 168, 1827 169, 0, 0, 170, 171, 172, 142, 143, 144, 145, 1828 146, 147, 148, 0, 149, 150, 151, 0, 0, 152, 1829 153, 154, 0, 155, 156, 157, 158, 159, 0, 160, 1864 1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1865 1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1866 1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1867 1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1868 0, 0, 177, 894, 0, 0, 0, 0, 0, 0, 1869 0, 149, 0, 178, 179, 0, 0, 0, 0, 180, 1870 150, 151, 0, 0, 0, 0, 0, 0, 0, 181, 1871 182, 0, 0, 183, 184, 185, 186, 0, 152, 153, 1872 91, 0, 0, 154, 155, 156, 157, 187, 0, 0, 1873 188, 0, 0, 0, 0, 158, 159, 160, 161, 162, 1874 163, 164, 0, 165, 166, 167, 0, 0, 168, 169, 1875 170, 0, 171, 172, 173, 174, 175, 0, 176, 0, 1834 0, 0, 132, 0, 0, 0, 0, 161, 0, 0, 1835 133, 134, 0, 0, 162, 0, 0, 0, 0, 0, 1836 163, 164, 0, 0, 135, 136, 165, 0, 0, 0, 1837 137, 138, 139, 140, 141, 166, 167, 0, 168, 169, 1838 0, 0, 170, 171, 172, 142, 143, 144, 145, 146, 1839 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1840 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1876 1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877 1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1878 1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1879 1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 1846 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 1847 164, 0, 0, 0, 0, 165, 0, 0, 0, 0, 1848 0, 0, 0, 0, 166, 167, 132, 168, 169, 0, 1849 0, 170, 171, 172, 133, 134, 660, 173, 661, 0, 1850 0, 0, 0, 0, 0, 0, 0, 0, 135, 136, 1851 0, 0, 0, 0, 137, 138, 139, 140, 141, 0, 1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 1853 143, 144, 145, 146, 147, 148, 0, 149, 150, 151, 1854 0, 0, 152, 153, 154, 0, 155, 156, 157, 158, 1855 159, 0, 160, 0, 0, 0, 0, 0, 0, 0, 1880 1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881 177, 0, 531, 0, 0, 0, 0, 0, 0, 149, 1882 0, 178, 179, 0, 0, 0, 0, 180, 150, 151, 1883 532, 0, 0, 0, 0, 0, 0, 181, 182, 0, 1884 0, 183, 184, 185, 186, 0, 152, 153, 91, 0, 1885 0, 154, 155, 156, 157, 187, 0, 0, 188, 0, 1886 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 1887 0, 165, 166, 167, 0, 0, 168, 169, 170, 0, 1888 171, 172, 173, 174, 175, 0, 176, 0, 0, 0, 1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1859 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 1860 161, 0, 0, 133, 134, 473, 0, 162, 0, 0, 1861 0, 0, 0, 163, 164, 0, 0, 135, 136, 165, 1862 0, 0, 0, 137, 138, 139, 140, 141, 166, 167, 1863 0, 168, 169, 0, 0, 170, 171, 662, 142, 143, 1864 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1865 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1866 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1870 0, 0, 0, 0, 132, 0, 0, 0, 0, 161, 1871 0, 0, 133, 134, 548, 0, 162, 0, 0, 0, 1872 0, 0, 163, 164, 0, 0, 135, 136, 165, 0, 1873 0, 0, 137, 138, 139, 140, 141, 166, 167, 0, 1874 168, 169, 0, 0, 526, 171, 172, 142, 143, 144, 1875 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1876 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1877 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881 0, 0, 0, 132, 0, 0, 0, 0, 161, 0, 1882 0, 133, 134, 473, 0, 162, 0, 0, 0, 0, 1883 0, 163, 164, 0, 0, 135, 136, 165, 0, 0, 1884 0, 137, 138, 139, 140, 141, 166, 167, 0, 168, 1885 169, 0, 0, 170, 171, 172, 142, 143, 144, 145, 1886 146, 147, 148, 0, 149, 150, 151, 0, 0, 152, 1887 153, 154, 0, 155, 156, 157, 158, 159, 0, 160, 1889 1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1890 1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1891 1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1892 1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1893 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 1894 650, 0, 0, 0, 0, 0, 0, 149, 0, 178, 1895 179, 0, 0, 0, 0, 180, 150, 151, 0, 651, 1896 0, 0, 0, 0, 0, 181, 182, 0, 0, 183, 1897 184, 185, 186, 0, 152, 153, 91, 0, 0, 154, 1898 155, 156, 157, 187, 0, 0, 188, 0, 0, 0, 1899 0, 158, 159, 160, 161, 162, 163, 164, 0, 165, 1900 166, 167, 0, 0, 168, 169, 170, 0, 171, 172, 1901 173, 174, 175, 0, 176, 0, 0, 0, 0, 0, 1892 0, 0, 132, 0, 0, 0, 0, 161, 0, 0, 1893 133, 134, 726, 0, 162, 0, 0, 0, 0, 0, 1894 163, 164, 0, 0, 135, 136, 165, 0, 0, 0, 1895 137, 138, 139, 140, 141, 166, 167, 0, 168, 169, 1896 0, 0, 170, 171, 172, 142, 143, 144, 145, 146, 1897 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1898 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1902 1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1903 1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904 1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905 1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1906 0, 0, 0, 0, 0, 0, 1 77, 0, 728, 0,1907 0, 0, 0, 0, 0, 149, 0, 178, 179, 0,1908 0, 0, 0, 180, 150, 151, 532, 0, 0, 0,1909 0, 0, 0, 181, 182, 0, 0, 183, 184, 185,1910 186, 0, 152, 153, 91, 0, 0, 154, 155, 156,1911 1 57, 187, 0, 0, 188, 0, 0, 0, 0, 158,1912 159, 160, 161, 162, 163, 164, 0, 165, 166, 167,1913 0, 0, 168, 169, 170, 0, 171, 172, 173, 174,1914 1 75, 0, 176, 0, 0, 0, 0, 0,0, 0,1903 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 1904 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 1905 164, 0, 132, 0, 0, 165, 0, 0, 0, 0, 1906 133, 134, 0, 0, 166, 167, 0, 168, 169, 0, 1907 0, 170, 171, 172, 135, 136, 9, 0, 0, 0, 1908 137, 138, 139, 140, 141, 0, 0, 0, 0, 0, 1909 0, 0, 0, 0, 0, 142, 143, 144, 145, 146, 1910 147, 148, 0, 149, 150, 151, 0, 0, 152, 153, 1911 154, 0, 155, 156, 157, 158, 159, 0, 160, 0, 1915 1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916 1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1917 1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1918 1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1919 0, 0, 0, 0, 177, 0, 633, 0, 0, 0, 1920 0, 0, 0, 149, 0, 178, 179, 0, 0, 0, 1921 0, 180, 150, 151, 0, 0, 0, 0, 0, 0, 1922 0, 181, 182, 0, 0, 183, 184, 185, 186, 0, 1923 152, 153, 91, 0, 0, 154, 155, 156, 157, 187, 1924 0, 0, 188, 0, 0, 0, 0, 158, 159, 160, 1925 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 1926 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 1927 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916 0, 132, 0, 0, 0, 0, 161, 0, 0, 133, 1917 134, 703, 0, 162, 0, 0, 0, 0, 0, 163, 1918 164, 0, 0, 135, 136, 165, 0, 0, 0, 137, 1919 138, 139, 140, 141, 166, 167, 0, 168, 169, 0, 1920 0, 170, 171, 172, 142, 143, 144, 145, 146, 147, 1921 148, 0, 149, 150, 151, 0, 0, 152, 153, 154, 1922 0, 155, 156, 157, 158, 159, 0, 160, 0, 0, 1928 1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1929 1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1930 1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931 1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1932 0, 0, 177, 0, 655, 0, 0, 0, 0, 0, 1933 0, 149, 0, 178, 179, 0, 0, 0, 0, 180, 1934 150, 151, 0, 0, 0, 0, 0, 0, 0, 181, 1935 182, 0, 0, 183, 184, 185, 186, 0, 152, 153, 1936 91, 0, 0, 154, 155, 156, 157, 187, 0, 0, 1937 188, 0, 0, 0, 0, 158, 159, 160, 161, 162, 1938 163, 164, 0, 165, 166, 167, 0, 0, 168, 169, 1939 170, 0, 171, 172, 173, 174, 175, 0, 176, 0, 1927 132, 0, 0, 0, 0, 161, 0, 0, 133, 134, 1928 1011, 0, 162, 0, 0, 0, 0, 0, 163, 164, 1929 0, 0, 135, 136, 165, 0, 0, 0, 137, 138, 1930 139, 140, 141, 166, 167, 0, 168, 169, 0, 0, 1931 170, 171, 172, 142, 143, 144, 145, 146, 147, 148, 1932 0, 149, 150, 151, 0, 0, 152, 153, 154, 0, 1933 155, 156, 157, 158, 159, 0, 160, 0, 0, 0, 1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 1938 0, 0, 0, 0, 161, 0, 0, 133, 134, 0, 1939 0, 162, 0, 0, 0, 0, 0, 163, 164, 0, 1940 0, 135, 136, 165, 0, 0, 0, 137, 138, 139, 1941 140, 141, 166, 167, 0, 168, 169, 0, 0, 170, 1942 171, 172, 142, 143, 144, 145, 146, 147, 148, 0, 1943 149, 150, 151, 0, 0, 152, 153, 154, 0, 155, 1944 156, 157, 158, 159, 0, 160, 0, 0, 0, 0, 1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1948 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 1949 0, 0, 0, 161, 0, 0, 133, 134, 0, 0, 1950 162, 0, 0, 0, 0, 0, 163, 164, 0, 0, 1951 135, 136, 165, 0, 0, 0, 137, 138, 139, 140, 1952 141, 166, 167, 0, 168, 169, 0, 0, 170, 171, 1953 172, 142, 143, 144, 145, 146, 147, 148, 0, 149, 1954 150, 151, 0, 0, 152, 153, 154, 0, 155, 156, 1955 157, 158, 159, 0, 160, 0, 0, 0, 0, 0, 1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1959 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 1960 0, 0, 161, 0, 0, 133, 134, 0, 0, 162, 1961 0, 0, 0, 0, 0, 163, 164, 0, 0, 135, 1962 136, 165, 0, 0, 0, 137, 138, 139, 140, 141, 1963 166, 167, 0, 168, 169, 0, 0, 170, 171, 363, 1964 142, 143, 144, 145, 146, 147, 148, 0, 149, 150, 1965 151, 0, 0, 152, 153, 154, 0, 155, 156, 157, 1966 158, 159, 0, 160, 0, 0, 0, 0, 0, 0, 1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1970 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 1971 0, 161, 0, 0, 133, 134, 0, 0, 162, 0, 1972 0, 0, 0, 0, 163, 164, 0, 0, 135, 136, 1973 165, 0, 0, 0, 137, 138, 139, 140, 141, 166, 1974 167, 0, 168, 169, 0, 0, 170, 431, 172, 142, 1975 143, 144, 145, 146, 147, 148, 0, 149, 150, 151, 1976 0, 0, 152, 153, 154, 0, 155, 156, 157, 158, 1977 159, 0, 160, 0, 0, 0, 0, 0, 0, 0, 1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1981 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 1982 161, 0, 0, 133, 134, 0, 0, 162, 0, 0, 1983 0, 0, 0, 163, 164, 0, 0, 135, 136, 165, 1984 0, 0, 0, 137, 138, 139, 140, 141, 166, 167, 1985 0, 168, 169, 0, 0, 170, 529, 530, 142, 143, 1986 144, 145, 146, 147, 148, 0, 149, 150, 151, 0, 1987 0, 152, 153, 154, 0, 155, 156, 157, 158, 159, 1988 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1992 0, 0, 0, 0, 132, 0, 0, 0, 0, 161, 1993 0, 0, 133, 134, 0, 0, 162, 0, 0, 0, 1994 0, 0, 163, 164, 0, 0, 135, 136, 165, 0, 1995 0, 0, 137, 138, 139, 140, 141, 166, 167, 0, 1996 168, 169, 0, 0, 918, 171, 363, 142, 143, 144, 1997 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 1998 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 1999 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 2004 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 2005 0, 163, 164, 0, 0, 0, 0, 165, 0, 0, 2006 0, 0, 0, 0, 0, 0, 166, 167, 0, 168, 2007 169, 0, 0, 170, 171, 955, 311, 312, 422, 0, 2008 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2009 135, 136, 0, 0, 0, 0, 137, 138, 139, 140, 2010 141, 0, 0, 314, 315, 316, 317, 318, 0, 319, 2011 320, 142, 143, 144, 145, 146, 147, 148, 0, 149, 2012 150, 151, 0, 0, 152, 153, 154, 0, 155, 156, 2013 157, 158, 159, 0, 160, 0, 0, 0, 0, 0, 1940 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941 2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1942 2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943 2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 2019 0, 0, 0, 0, 0, 163, 164, 0, 0, 0, 2020 0, 165, 0, 0, 0, 0, 311, 312, 313, 0, 2021 166, 167, 0, 168, 169, 0, 0, 321, 171, 424, 2022 135, 136, 0, 0, 0, 0, 137, 138, 139, 140, 2023 141, 0, 0, 314, 315, 316, 317, 318, 0, 319, 2024 320, 142, 143, 144, 145, 146, 147, 148, 0, 149, 2025 150, 151, 311, 312, 152, 153, 154, 0, 155, 156, 2026 157, 158, 159, 0, 160, 0, 135, 136, 0, 0, 2027 0, 0, 137, 138, 139, 140, 141, 0, 0, 314, 2028 315, 316, 317, 318, 0, 319, 320, 142, 143, 144, 2029 145, 146, 147, 148, 0, 149, 150, 151, 0, 0, 2030 152, 153, 154, 0, 155, 156, 157, 158, 159, 0, 2031 160, 0, 0, 0, 0, 0, 0, 0, 0, 162, 2032 0, 0, 0, 0, 0, 163, 164, 0, 0, 0, 2033 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 2034 166, 167, 0, 168, 169, 0, 0, 321, 171, 322, 2035 0, 0, 0, 0, 0, 0, 5, 0, 0, 6, 2036 0, 7, 0, 8, 0, 162, 9, 0, 0, 0, 2037 0, 163, 164, 0, 0, 0, 10, 165, 0, 0, 2038 0, 0, 0, 0, 0, 0, 166, 167, 0, 168, 2039 169, 0, 11, 321, 171, 424, 12, 13, 0, 0, 2040 0, 14, 0, 0, 0, 0, 0, 15, 0, 16, 2041 17, 0, 18, 0, 0, 0, 0, 19, 20, 21, 2042 22, 23, 0, 24, 25, 0, 0, 26, 27, 28, 2043 29, 30, 31, 32, 33, 34, 35, 36, 0, 37, 2044 0, 38, 39, 0, 0, 40, 41, 42, 0, 43, 2045 0, 44, 0, 0, 45, 46, 0, 0, 47, 48, 2046 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, 2047 0, 0, 52, 53, 54, 55, 56, 57, 58, 59, 2048 60, 61, 62, 63, 0, 0, 64, 0, 0, 65, 2049 66, 67, 68, 5, 0, 0, 6, 487, 7, 0, 2050 8, 0, 0, 9, 0, 0, 0, 0, 0, 0, 2051 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 2053 0, 0, 0, 12, 13, 0, 0, 0, 14, 0, 2054 0, 0, 0, 0, 15, 0, 16, 17, 0, 18, 2055 0, 0, 0, 0, 19, 20, 21, 22, 23, 0, 2056 24, 25, 0, 0, 26, 27, 28, 29, 30, 31, 2057 32, 33, 34, 35, 36, 0, 37, 0, 38, 39, 2058 0, 0, 40, 41, 42, 0, 43, 0, 44, 0, 2059 0, 45, 46, 0, 0, 47, 48, 49, 0, 0, 2060 0, 0, 0, 0, 0, 50, 0, 0, 0, 52, 2061 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 2062 63, 8, 0, 64, 9, 0, 65, 66, 67, 68, 2063 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1944 2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1945 177, 0, 657, 0, 0, 0, 0, 0, 0, 149, 1946 0, 178, 179, 0, 0, 0, 0, 180, 150, 151, 1947 0, 0, 0, 0, 0, 0, 0, 181, 182, 0, 1948 0, 183, 184, 185, 186, 0, 152, 153, 91, 0, 1949 0, 154, 155, 156, 157, 187, 0, 0, 188, 0, 1950 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 1951 0, 165, 166, 167, 0, 0, 168, 169, 170, 0, 1952 171, 172, 173, 174, 175, 0, 176, 0, 0, 0, 2065 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 2067 18, 0, 746, 0, 0, 19, 20, 21, 22, 23, 2068 0, 0, 25, 0, 0, 26, 27, 28, 29, 30, 2069 31, 32, 33, 34, 35, 0, 0, 8, 0, 0, 2070 9, 0, 0, 0, 41, 0, 0, 0, 0, 44, 2071 10, 0, 0, 0, 0, 0, 47, 0, 49, 0, 2072 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 2073 0, 0, 0, 0, 0, 0, 0, 59, 60, 61, 2074 62, 15, 0, 0, 0, 0, 18, 0, 0, 67, 2075 68, 19, 20, 21, 22, 23, 0, 0, 25, 0, 2076 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 2077 35, 0, 0, 0, 0, 0, 825, 0, 0, 0, 2078 41, 0, 0, 0, 0, 44, 0, 0, 0, 0, 2079 0, 0, 47, 0, 49, 0, 0, 0, 0, 0, 2080 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 2081 0, 0, 0, 59, 60, 61, 62, 15, 0, 0, 2082 0, 0, 18, 826, 0, 67, 68, 19, 20, 827, 2083 0, 23, 0, 0, 25, 0, 0, 26, 27, 28, 2084 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 2085 0, 0, 825, 0, 0, 0, 41, 0, 0, 0, 2086 0, 44, 0, 0, 0, 0, 0, 0, 47, 0, 2087 49, 0, 0, 0, 0, 0, 0, 0, 11, 0, 2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 2089 60, 61, 62, 15, 0, 0, 0, 0, 18, 0, 2090 0, 170, 68, 19, 20, 827, 0, 23, 0, 0, 2091 25, 0, 0, 26, 27, 28, 29, 30, 31, 32, 2092 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 2093 0, 0, 41, 0, 0, 0, 0, 44, 0, 0, 2094 0, 0, 0, 0, 47, 0, 49, 0, 0, 0, 1953 2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1957 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 1958 0, 0, 0, 0, 0, 0, 0, 149, 0, 178, 1959 179, 0, 0, 0, 0, 180, 150, 151, 746, 0, 1960 747, 0, 0, 0, 0, 181, 182, 0, 0, 183, 1961 184, 185, 186, 0, 152, 153, 91, 0, 0, 154, 1962 155, 156, 157, 187, 0, 0, 188, 0, 0, 0, 1963 0, 158, 159, 160, 161, 162, 163, 164, 0, 165, 1964 166, 167, 0, 0, 168, 169, 170, 0, 171, 172, 1965 173, 174, 175, 0, 176, 0, 0, 0, 0, 0, 1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1970 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 1971 0, 0, 0, 0, 0, 149, 0, 178, 179, 0, 1972 0, 0, 0, 180, 150, 151, 532, 0, 0, 0, 1973 0, 0, 0, 181, 182, 0, 0, 183, 184, 185, 1974 186, 0, 152, 153, 91, 0, 0, 154, 155, 156, 1975 157, 187, 0, 0, 748, 0, 0, 0, 0, 158, 1976 159, 160, 161, 162, 163, 164, 0, 165, 166, 167, 1977 0, 0, 168, 169, 170, 0, 171, 172, 173, 174, 1978 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1983 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 1984 0, 0, 0, 149, 0, 178, 179, 0, 0, 0, 1985 0, 180, 150, 151, 557, 0, 0, 0, 0, 0, 1986 0, 181, 182, 0, 0, 183, 184, 185, 186, 0, 1987 152, 153, 538, 0, 0, 154, 155, 156, 157, 187, 1988 0, 0, 188, 0, 0, 0, 0, 158, 159, 160, 1989 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 1990 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 1991 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1996 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 1997 0, 149, 0, 178, 179, 0, 0, 0, 0, 180, 1998 150, 151, 532, 0, 0, 0, 0, 0, 0, 181, 1999 182, 0, 0, 183, 184, 185, 186, 0, 152, 153, 2000 91, 0, 0, 154, 155, 156, 157, 187, 0, 0, 2001 188, 0, 0, 0, 0, 158, 159, 160, 161, 162, 2002 163, 164, 0, 165, 166, 167, 0, 0, 168, 169, 2003 170, 0, 171, 172, 173, 174, 175, 0, 176, 0, 2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2009 177, 0, 0, 0, 0, 0, 0, 0, 0, 149, 2010 0, 178, 179, 0, 0, 0, 0, 180, 150, 151, 2011 733, 0, 0, 0, 0, 0, 0, 181, 182, 0, 2012 0, 183, 184, 185, 186, 0, 152, 153, 91, 0, 2013 0, 154, 155, 156, 157, 187, 0, 0, 188, 0, 2014 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 2015 0, 165, 166, 167, 0, 0, 168, 169, 170, 0, 2016 171, 172, 173, 174, 175, 0, 176, 0, 0, 0, 2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2021 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 2022 0, 0, 0, 0, 0, 0, 0, 149, 0, 178, 2023 179, 0, 0, 0, 0, 180, 150, 151, 709, 0, 2024 0, 0, 0, 0, 0, 181, 182, 0, 0, 183, 2025 184, 185, 186, 0, 152, 153, 91, 0, 0, 154, 2026 155, 156, 157, 187, 0, 0, 188, 0, 0, 0, 2027 0, 158, 159, 160, 161, 162, 163, 164, 0, 165, 2028 166, 167, 0, 0, 168, 169, 170, 0, 171, 172, 2029 173, 174, 175, 0, 176, 0, 0, 0, 0, 0, 2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 2035 0, 0, 0, 0, 0, 149, 0, 178, 179, 0, 2036 0, 0, 0, 180, 150, 151, 954, 0, 0, 0, 2037 0, 0, 0, 181, 182, 0, 0, 183, 184, 185, 2038 186, 0, 152, 153, 91, 0, 0, 154, 155, 156, 2039 157, 187, 0, 0, 188, 0, 0, 0, 0, 158, 2040 159, 160, 161, 162, 163, 164, 0, 165, 166, 167, 2041 0, 0, 168, 169, 170, 0, 171, 172, 173, 174, 2042 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2047 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 2048 0, 0, 0, 149, 0, 178, 179, 0, 0, 0, 2049 0, 180, 150, 151, 0, 0, 0, 0, 0, 0, 2050 0, 181, 182, 0, 0, 183, 184, 185, 186, 0, 2051 152, 153, 91, 0, 0, 154, 155, 156, 157, 187, 2052 0, 0, 188, 0, 0, 0, 0, 158, 159, 160, 2053 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 2054 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 2055 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2060 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 2061 0, 149, 0, 178, 179, 0, 0, 0, 0, 180, 2062 150, 151, 0, 0, 0, 0, 0, 0, 0, 181, 2063 182, 0, 0, 183, 184, 185, 186, 0, 152, 153, 2064 91, 0, 0, 154, 155, 156, 157, 187, 0, 0, 2065 188, 0, 0, 0, 0, 158, 159, 160, 161, 162, 2066 163, 164, 0, 165, 166, 167, 0, 0, 168, 169, 2067 170, 0, 171, 172, 173, 174, 175, 0, 176, 0, 2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073 177, 0, 0, 0, 0, 0, 0, 0, 0, 149, 2074 0, 178, 179, 0, 0, 0, 0, 180, 150, 151, 2075 0, 0, 0, 0, 0, 0, 0, 181, 182, 0, 2076 0, 183, 184, 185, 186, 0, 152, 153, 91, 0, 2077 0, 154, 155, 156, 157, 187, 0, 0, 381, 0, 2078 0, 0, 0, 158, 159, 160, 161, 162, 163, 164, 2079 0, 165, 166, 167, 0, 0, 168, 169, 170, 0, 2080 171, 172, 173, 174, 175, 0, 176, 0, 0, 0, 2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 2086 0, 0, 0, 0, 0, 0, 0, 149, 0, 178, 2087 179, 0, 0, 0, 0, 180, 150, 151, 0, 0, 2088 0, 0, 0, 0, 0, 181, 182, 0, 0, 183, 2089 184, 185, 186, 0, 152, 153, 91, 0, 0, 154, 2090 155, 156, 157, 444, 0, 0, 188, 0, 0, 0, 2091 0, 158, 159, 160, 161, 162, 163, 164, 0, 165, 2092 166, 167, 0, 0, 168, 169, 170, 0, 171, 172, 2093 173, 174, 175, 0, 176, 0, 0, 0, 0, 0, 2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2098 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 2099 0, 0, 0, 0, 0, 149, 0, 178, 179, 0, 2100 0, 0, 0, 180, 150, 151, 0, 0, 0, 0, 2101 0, 0, 0, 181, 182, 0, 0, 183, 184, 185, 2102 186, 0, 152, 153, 91, 0, 0, 154, 155, 156, 2103 157, 187, 0, 0, 541, 0, 0, 0, 0, 158, 2104 159, 160, 161, 162, 163, 164, 0, 165, 166, 167, 2105 0, 0, 168, 169, 170, 0, 171, 172, 173, 174, 2106 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2111 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 2112 0, 0, 0, 149, 0, 178, 179, 0, 0, 0, 2113 0, 180, 150, 151, 0, 0, 0, 0, 0, 0, 2114 0, 181, 182, 0, 0, 183, 184, 185, 186, 0, 2115 152, 153, 888, 0, 0, 154, 155, 156, 157, 187, 2116 0, 0, 381, 0, 0, 0, 0, 158, 159, 160, 2117 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 2118 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 2119 176, 329, 330, 562, 0, 563, 0, 0, 0, 0, 2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 2121 153, 0, 0, 0, 154, 155, 156, 157, 0, 0, 2122 332, 333, 334, 0, 0, 335, 158, 159, 160, 161, 2123 162, 163, 164, 0, 165, 166, 167, 0, 0, 168, 2124 169, 170, 177, 171, 172, 173, 174, 175, 0, 176, 2125 0, 0, 0, 178, 179, 0, 0, 0, 0, 180, 2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 2127 182, 0, 0, 183, 184, 185, 186, 0, 0, 0, 2128 91, 0, 0, 0, 0, 0, 0, 187, 0, 0, 2129 917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2131 0, 0, 178, 179, 0, 0, 0, 0, 180, 0, 2132 0, 0, 0, 0, 0, 0, 0, 0, 181, 182, 2133 0, 0, 183, 184, 185, 186, 329, 330, 331, 336, 2134 0, 0, 0, 0, 0, 0, 187, 0, 0, 564, 2135 0, 0, 0, 0, 152, 153, 0, 0, 0, 154, 2136 155, 156, 157, 0, 0, 332, 333, 334, 0, 0, 2137 335, 158, 159, 160, 161, 162, 163, 164, 0, 165, 2138 166, 167, 329, 330, 168, 169, 170, 0, 171, 172, 2139 173, 174, 175, 0, 176, 0, 0, 0, 0, 0, 2140 152, 153, 0, 0, 0, 154, 155, 156, 157, 0, 2141 0, 332, 333, 334, 0, 0, 335, 158, 159, 160, 2142 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 2143 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 2144 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145 0, 0, 0, 0, 0, 0, 0, 178, 179, 0, 2146 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 2147 0, 0, 0, 181, 182, 0, 0, 183, 184, 185, 2148 186, 0, 0, 0, 336, 0, 0, 0, 0, 0, 2149 0, 187, 0, 19, 337, 0, 20, -28, 21, -28, 2150 0, 0, 22, 178, 179, 23, 24, 25, 0, 180, 2151 0, 0, 26, 27, 0, 0, 0, 0, 0, 181, 2152 182, 0, 0, 183, 184, 185, 186, 28, 0, 0, 2153 336, 29, 30, 0, 0, 0, 31, 187, 0, 0, 2154 564, 0, 32, 0, 33, 34, 0, 35, 0, 36, 2155 37, 38, 39, 40, 0, 41, 42, 43, 44, 45, 2156 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 2157 56, 0, 0, 57, 58, 59, 0, 60, 61, 62, 2158 0, 63, 64, 65, 0, 0, 66, 0, 67, 0, 2159 0, 68, 69, 70, 71, 0, 0, 72, 73, 74, 2160 0, 0, 0, 0, 0, 75, 0, 0, 0, 76, 2161 77, 78, 79, 80, 81, 82, 0, 83, 84, 85, 2162 86, 87, 0, 0, 88, 0, 0, 0, 0, 152, 2163 153, 89, 90, 91, 154, 155, 156, 157, 0, 0, 2164 92, 0, 0, 0, 0, 0, 158, 159, 160, 161, 2165 162, 163, 164, 0, 165, 166, 167, 0, 0, 168, 2166 169, 170, 0, 171, 172, 173, 174, 175, 0, 176, 2167 152, 153, 0, 0, 0, 154, 155, 156, 157, 0, 2168 0, 0, 0, 0, 0, 0, 0, 158, 159, 160, 2169 161, 162, 163, 164, 0, 165, 166, 167, 0, 0, 2170 168, 169, 170, 0, 171, 172, 173, 174, 175, 0, 2171 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2173 0, 0, 178, 179, 0, 0, 0, 0, 180, 0, 2174 0, 0, 0, 0, 0, 0, 0, 0, 181, 182, 2175 0, 0, 183, 184, 185, 186, 0, 0, 0, 91, 2176 0, 0, 0, 0, 0, 0, 187, 0, 0, 576, 2177 0, 0, 0, 178, 179, 0, 0, 0, 0, 180, 2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 2179 182, 0, 0, 183, 184, 185, 186, 0, 0, 0, 2180 888, 0, 0, 0, 0, 0, 0, 187, 0, 0, 2181 576 2096 0, 0, 0, 0, 0, 59, 60, 61, 62, 0, 2097 0, 0, 0, 0, 0, 0, 0, 170, 68 2182 2098 }; 2099 2100 #define yypact_value_is_default(Yystate) \ 2101 (!!((Yystate) == (-845))) 2102 2103 #define yytable_value_is_error(Yytable_value) \ 2104 (!!((Yytable_value) == (-542))) 2183 2105 2184 2106 static const yytype_int16 yycheck[] = 2185 2107 { 2186 26, 177, 28, 200, 140, 35, 32, 297, 13, 35, 2187 274, 177, 188, 289, 278, 41, 414, 716, 46, 499, 2188 105, 327, 107, 231, 18, 579, 111, 231, 582, 5, 2189 3, 337, 236, 449, 236, 34, 3, 140, 4, 3, 2190 346, 177, 70, 71, 4, 24, 3, 4, 3, 23, 2191 78, 3, 23, 3, 31, 381, 61, 123, 234, 489, 2192 59, 60, 494, 729, 33, 3, 35, 499, 103, 5, 2193 140, 21, 22, 23, 3, 3, 125, 112, 3, 177, 2194 577, 344, 579, 793, 794, 582, 759, 3, 3, 3, 2195 23, 3, 3, 3, 3, 4, 124, 527, 126, 127, 2196 3, 3, 3, 23, 130, 169, 169, 137, 3, 3, 2197 3, 137, 3, 3, 3, 179, 23, 20, 169, 169, 2198 169, 24, 148, 149, 187, 158, 35, 97, 231, 99, 2199 169, 157, 179, 236, 21, 22, 23, 187, 143, 20, 2200 21, 22, 23, 24, 25, 171, 179, 3, 23, 217, 2201 126, 177, 3, 25, 169, 179, 23, 24, 25, 20, 2202 123, 176, 188, 24, 863, 189, 192, 5, 24, 20, 2203 238, 347, 882, 24, 137, 20, 20, 203, 179, 24, 2204 24, 347, 286, 176, 210, 20, 179, 272, 189, 24, 2205 126, 327, 169, 219, 260, 169, 80, 81, 224, 865, 2206 179, 337, 207, 4, 308, 381, 342, 180, 234, 882, 2207 346, 347, 156, 189, 158, 381, 180, 188, 244, 127, 2208 187, 187, 921, 180, 327, 180, 231, 187, 180, 234, 2209 315, 236, 237, 179, 337, 169, 169, 242, 188, 342, 2210 275, 531, 180, 346, 27, 381, 281, 180, 538, 179, 2211 285, 180, 180, 258, 158, 180, 255, 327, 564, 179, 2212 757, 758, 169, 760, 180, 180, 180, 337, 180, 180, 2213 180, 297, 342, 180, 279, 301, 346, 303, 180, 180, 2214 586, 587, 588, 589, 590, 180, 180, 180, 126, 180, 2215 180, 180, 318, 319, 179, 265, 179, 323, 169, 180, 2216 626, 188, 628, 629, 179, 568, 332, 333, 334, 335, 2217 413, 316, 575, 185, 186, 320, 179, 311, 185, 186, 2218 179, 347, 327, 427, 169, 169, 261, 262, 591, 883, 2219 179, 180, 337, 359, 169, 21, 22, 363, 364, 365, 2220 366, 367, 368, 369, 370, 371, 372, 373, 374, 179, 2221 576, 767, 768, 169, 179, 381, 169, 837, 584, 294, 2222 176, 3, 4, 179, 844, 541, 392, 393, 394, 395, 2223 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 2224 406, 407, 408, 409, 410, 593, 883, 3, 414, 593, 2225 594, 176, 594, 3, 179, 23, 422, 423, 3, 838, 2226 839, 840, 841, 507, 508, 837, 838, 839, 840, 841, 2227 808, 515, 844, 357, 358, 20, 501, 140, 141, 24, 2228 4, 506, 169, 176, 509, 138, 139, 140, 564, 23, 2229 24, 25, 376, 377, 378, 379, 380, 3, 728, 936, 2230 576, 717, 546, 707, 750, 389, 179, 169, 584, 179, 2231 586, 587, 588, 589, 590, 179, 632, 485, 179, 179, 2232 626, 564, 628, 629, 179, 491, 792, 793, 794, 495, 2233 179, 179, 676, 576, 676, 179, 502, 681, 179, 681, 2234 179, 584, 745, 586, 587, 588, 589, 590, 179, 179, 2235 593, 594, 179, 189, 564, 179, 179, 179, 179, 762, 2236 763, 764, 765, 766, 179, 531, 576, 179, 179, 179, 2237 179, 537, 538, 179, 584, 541, 586, 587, 588, 589, 2238 590, 179, 179, 169, 5, 169, 7, 8, 9, 10, 2239 11, 3, 13, 14, 15, 16, 17, 18, 4, 565, 2240 21, 22, 23, 24, 25, 169, 169, 3, 574, 3, 2241 20, 21, 22, 23, 24, 25, 20, 21, 22, 23, 2242 24, 25, 5, 169, 3, 595, 169, 179, 169, 595, 2243 596, 169, 748, 676, 3, 3, 169, 867, 681, 4, 2244 11, 180, 13, 14, 15, 16, 17, 18, 593, 594, 2245 21, 22, 23, 24, 25, 21, 22, 23, 24, 25, 2246 626, 176, 628, 629, 3, 176, 632, 633, 20, 21, 2247 22, 23, 24, 25, 750, 5, 792, 814, 881, 3, 2248 179, 725, 179, 759, 650, 651, 792, 793, 794, 655, 2249 700, 657, 132, 3, 3, 661, 3, 741, 20, 21, 2250 22, 23, 24, 25, 3, 749, 189, 750, 674, 675, 2251 3, 180, 180, 3, 3, 179, 759, 169, 24, 179, 2252 169, 687, 667, 689, 169, 179, 169, 180, 3, 180, 2253 878, 676, 5, 180, 176, 3, 681, 3, 683, 25, 2254 750, 3, 708, 13, 14, 15, 16, 17, 18, 759, 2255 3, 21, 22, 23, 24, 25, 3, 180, 179, 4, 2256 180, 169, 728, 84, 185, 186, 180, 180, 189, 714, 2257 180, 30, 816, 24, 740, 24, 180, 179, 744, 9, 2258 10, 11, 748, 13, 14, 15, 16, 17, 18, 24, 2259 23, 21, 22, 23, 24, 25, 4, 169, 180, 169, 2260 180, 917, 4, 126, 3, 750, 882, 20, 3, 5, 2261 169, 169, 5, 180, 185, 186, 179, 3, 862, 180, 2262 180, 24, 29, 180, 180, 180, 792, 793, 794, 873, 2263 180, 180, 180, 3, 188, 126, 180, 180, 169, 882, 2264 169, 258, 808, 809, 10, 3, 14, 5, 906, 7, 2265 8, 9, 10, 11, 904, 13, 14, 15, 16, 17, 2266 18, 428, 528, 21, 22, 23, 24, 25, 685, 689, 2267 498, 511, 882, 80, 81, 82, 268, 493, 537, 304, 2268 416, 721, 848, 848, 850, 76, 852, 13, 14, 15, 2269 16, 17, 18, 850, 675, 21, 22, 23, 24, 25, 2270 897, 867, 109, 748, 111, 112, 113, 955, 871, 116, 2271 117, 143, 119, 120, 959, 185, 186, 555, 142, 143, 2272 140, 347, 744, 381, 750, 557, 593, -1, 894, 594, 2273 896, 897, -1, 878, 158, 159, -1, -1, 162, 163, 2108 11, 295, 1, 185, 15, 101, 219, 18, 104, 240, 2109 394, 577, 108, 395, 277, 111, 54, 161, 482, 477, 2110 205, 536, 536, 653, 482, 5, 264, 124, 172, 79, 2111 268, 81, 82, 161, 3, 3, 86, 3, 274, 710, 2112 39, 3, 564, 565, 1, 3, 124, 17, 719, 75, 2113 76, 3, 51, 80, 124, 291, 563, 564, 565, 3, 2114 87, 19, 20, 21, 3, 31, 722, 37, 38, 768, 2115 214, 3, 3, 217, 214, 113, 363, 115, 116, 329, 2116 24, 21, 3, 161, 747, 124, 214, 21, 5, 6, 2117 7, 8, 9, 10, 51, 12, 13, 14, 15, 16, 2118 17, 127, 19, 20, 21, 22, 23, 27, 3, 3, 2119 22, 122, 3, 3, 3, 212, 213, 904, 3, 130, 2120 131, 132, 219, 21, 3, 112, 3, 45, 3, 44, 2121 141, 153, 976, 3, 24, 213, 214, 18, 3, 3, 2122 121, 22, 122, 213, 155, 101, 24, 131, 245, 24, 2123 161, 198, 3, 3, 3, 3, 3, 3, 3, 24, 2124 3, 172, 19, 20, 21, 131, 177, 131, 404, 91, 2125 88, 89, 119, 891, 221, 162, 1020, 18, 428, 160, 2126 191, 22, 166, 130, 21, 21, 22, 23, 168, 188, 2127 201, 202, 107, 115, 160, 140, 246, 142, 166, 168, 2128 987, 163, 166, 214, 160, 160, 217, 206, 23, 167, 2129 881, 163, 157, 931, 213, 914, 227, 161, 217, 363, 2130 160, 220, 166, 363, 163, 322, 225, 253, 884, 240, 2131 327, 163, 163, 167, 331, 363, 5, 900, 265, 24, 2132 160, 472, 163, 270, 322, 162, 273, 164, 165, 327, 2133 162, 168, 322, 331, 131, 254, 162, 327, 765, 766, 2134 767, 331, 140, 21, 162, 501, 502, 237, 163, 163, 2135 269, 161, 163, 509, 163, 286, 166, 288, 163, 160, 2136 21, 3, 24, 322, 163, 363, 161, 523, 166, 300, 2137 301, 166, 331, 163, 305, 526, 161, 254, 534, 163, 2138 485, 166, 44, 314, 315, 316, 317, 318, 319, 320, 2139 167, 561, 163, 163, 163, 163, 163, 163, 163, 160, 2140 163, 608, 609, 322, 611, 162, 576, 424, 164, 165, 2141 341, 796, 797, 798, 345, 346, 347, 348, 349, 350, 2142 351, 352, 353, 354, 355, 356, 424, 18, 162, 164, 2143 165, 22, 363, 122, 424, 18, 19, 20, 21, 22, 2144 23, 162, 373, 374, 375, 376, 377, 378, 379, 380, 2145 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 2146 391, 166, 846, 18, 395, 424, 530, 3, 846, 847, 2147 848, 849, 850, 915, 339, 340, 490, 160, 140, 162, 2148 162, 3, 160, 1033, 126, 163, 22, 133, 915, 659, 2149 133, 255, 256, 358, 425, 360, 361, 362, 162, 160, 2150 94, 95, 163, 153, 166, 370, 520, 663, 133, 31, 2151 162, 813, 162, 471, 160, 161, 562, 160, 282, 3, 2152 160, 78, 79, 569, 657, 495, 166, 543, 711, 914, 2153 500, 160, 836, 503, 18, 160, 669, 166, 22, 160, 2154 18, 472, 756, 701, 22, 562, 1032, 478, 162, 29, 2155 614, 31, 569, 162, 571, 572, 573, 574, 575, 160, 2156 491, 162, 718, 990, 562, 496, 160, 122, 131, 160, 2157 721, 569, 562, 571, 572, 573, 574, 575, 3, 569, 2158 163, 571, 572, 573, 574, 575, 1021, 1021, 693, 796, 2159 797, 798, 162, 18, 525, 526, 162, 22, 662, 530, 2160 770, 771, 772, 773, 774, 536, 3, 1042, 1042, 131, 2161 161, 162, 571, 572, 573, 574, 575, 83, 537, 85, 2162 539, 18, 1006, 123, 641, 22, 160, 546, 1006, 560, 2163 8, 9, 10, 4, 12, 13, 14, 15, 16, 17, 2164 657, 19, 20, 21, 22, 23, 577, 664, 579, 160, 2165 161, 162, 669, 18, 19, 20, 21, 22, 23, 18, 2166 19, 20, 21, 22, 23, 821, 664, 24, 41, 19, 2167 20, 21, 22, 23, 664, 161, 162, 608, 609, 166, 2168 611, 162, 163, 614, 615, 847, 848, 849, 850, 903, 2169 134, 135, 136, 683, 21, 22, 23, 19, 20, 83, 2170 84, 632, 633, 37, 38, 3, 637, 3, 639, 123, 2171 124, 160, 643, 3, 162, 162, 162, 819, 168, 162, 2172 162, 652, 738, 654, 740, 656, 162, 646, 162, 162, 2173 162, 662, 796, 749, 653, 886, 162, 3, 162, 162, 2174 162, 162, 162, 162, 675, 664, 677, 162, 3, 162, 2175 162, 768, 671, 162, 162, 162, 912, 162, 162, 132, 2176 691, 692, 160, 3, 160, 138, 139, 160, 982, 163, 2177 768, 702, 5, 160, 3, 160, 162, 160, 768, 160, 2178 153, 154, 3, 156, 157, 160, 164, 165, 161, 708, 2179 721, 5, 6, 7, 8, 9, 10, 3, 12, 13, 2180 14, 15, 16, 17, 160, 19, 20, 21, 22, 23, 2181 3, 5, 161, 3, 3, 163, 3, 3, 162, 22, 2182 751, 5, 3, 3, 163, 163, 3, 3, 163, 760, 2183 162, 160, 988, 3, 160, 163, 3, 162, 5, 6, 2184 7, 8, 9, 10, 162, 12, 13, 14, 15, 16, 2185 17, 162, 19, 20, 21, 22, 23, 162, 160, 163, 2186 161, 3, 3, 23, 3, 796, 797, 798, 3, 3, 2187 163, 4, 163, 22, 163, 163, 160, 893, 22, 162, 2188 26, 21, 813, 814, 163, 160, 902, 163, 4, 36, 2189 122, 955, 3, 160, 162, 160, 10, 914, 12, 13, 2190 14, 15, 16, 17, 160, 19, 20, 21, 22, 23, 2191 163, 3, 162, 162, 5, 163, 914, 5, 935, 163, 2192 162, 160, 163, 160, 914, 160, 4, 163, 3, 163, 2193 82, 122, 163, 163, 3, 22, 160, 868, 163, 870, 2194 167, 872, 160, 160, 163, 168, 82, 163, 163, 160, 2195 164, 165, 25, 160, 168, 886, 160, 22, 974, 160, 2196 891, 51, 254, 950, 485, 948, 897, 12, 13, 14, 2197 15, 16, 17, 904, 19, 20, 21, 22, 23, 12, 2198 13, 14, 15, 16, 17, 673, 19, 20, 21, 22, 2199 23, 677, 911, 924, 405, 926, 927, 164, 165, 481, 2200 931, 932, 505, 934, 480, 78, 79, 80, 260, 525, 2201 493, 289, 715, 944, 52, 868, 927, 397, 937, 959, 2202 870, 662, 890, 1016, 955, 985, 541, 757, 937, 960, 2203 961, 760, 664, 106, 435, 108, 109, 110, 124, -1, 2204 113, 114, -1, 116, 117, -1, -1, 0, 1, -1, 2205 164, 165, -1, -1, 985, -1, 987, -1, -1, -1, 2206 -1, -1, -1, -1, 983, 996, -1, -1, 999, -1, 2207 -1, 24, 25, -1, -1, 28, 29, 30, 31, 32, 2208 -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, 2209 1021, -1, 45, -1, -1, -1, -1, -1, -1, 1030, 2210 -1, 1032, -1, 1034, 1035, 1024, -1, -1, 61, -1, 2211 -1, 1042, 65, 66, 1033, -1, -1, 70, 1049, 164, 2212 165, -1, -1, 76, -1, 78, 79, -1, 81, -1, 2213 -1, 164, 165, 86, 87, 88, 89, 90, -1, 92, 2214 93, -1, -1, 96, 97, 98, 99, 100, 101, 102, 2215 103, 104, 105, 106, -1, 108, -1, 110, 111, -1, 2216 -1, 114, 115, 116, -1, 118, -1, 120, -1, -1, 2217 123, 124, -1, -1, 127, 128, 129, -1, -1, -1, 2218 -1, -1, -1, -1, 137, -1, -1, 140, 141, 142, 2219 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 2220 -1, -1, 155, -1, -1, 158, 159, 160, 161, -1, 2221 -1, -1, 3, 166, 5, 6, 7, 8, 9, 10, 2222 -1, 12, 13, 14, 15, 16, 17, -1, 19, 20, 2223 21, 22, 23, 3, -1, 5, 6, 7, 8, 9, 2224 10, -1, 12, 13, 14, 15, 16, 17, -1, 19, 2225 20, 21, 22, 23, 3, -1, 5, 6, 7, 8, 2226 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2227 19, 20, 21, 22, 23, 3, -1, 5, 6, 7, 2228 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2229 -1, 19, 20, 21, 22, 23, 3, -1, 5, 6, 2230 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2231 17, -1, 19, 20, 21, 22, 23, 4, 5, 6, 2232 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2233 17, -1, 19, 20, 21, 22, 23, 4, 5, 6, 2234 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2235 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 2236 -1, -1, 33, 34, -1, -1, -1, -1, 39, 40, 2237 41, 42, 43, 164, 165, -1, -1, -1, -1, -1, 2238 -1, -1, -1, 54, 55, 56, 57, 58, 59, 60, 2239 -1, 62, 63, 64, 164, 165, 67, 68, 69, -1, 2240 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2241 -1, -1, -1, -1, -1, 164, 165, 5, 6, 7, 2242 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2243 -1, 19, 20, 21, 22, 23, 164, 165, 5, 6, 2244 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2245 17, -1, 19, 20, 21, 22, 23, 164, 165, -1, 2246 -1, 132, -1, -1, -1, -1, -1, 138, 139, -1, 2247 -1, -1, -1, 144, -1, -1, 163, 164, 165, -1, 2248 -1, -1, 153, 154, -1, 156, 157, -1, -1, 160, 2249 161, 162, -1, -1, -1, -1, -1, 164, 165, 4, 2250 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2251 15, 16, 17, -1, 19, 20, 21, 22, 23, 4, 2252 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2253 15, 16, 17, -1, 19, 20, 21, 22, 23, 4, 2254 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2255 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 2256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2257 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2258 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2259 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 2260 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 2261 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 2262 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2263 17, -1, 19, 20, 21, 22, 23, 5, 6, 7, 2264 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2265 -1, 19, 20, 21, 22, 23, -1, -1, -1, 164, 2266 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2267 -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, 2268 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2269 -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, 2270 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 2271 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 2272 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2273 15, 16, 17, -1, 19, 20, 21, 22, 23, -1, 2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2275 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 2276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2277 -1, -1, -1, -1, -1, -1, 163, 164, 165, -1, 2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2279 -1, -1, -1, -1, -1, 163, 164, 165, 5, 6, 2280 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2281 17, -1, 19, 20, 21, 22, 23, 5, 6, 7, 2282 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2283 -1, 19, 20, 21, 22, 23, 5, 6, 7, 8, 2284 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2285 19, 20, 21, 22, 23, -1, -1, -1, -1, 163, 2274 2286 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, 2275 -1, 917, 176, -1, -1, 185, 186, 902, -1, -1, 2276 -1, -1, -1, -1, -1, 931, -1, -1, -1, -1, 2277 -1, -1, -1, 939, -1, -1, -1, -1, -1, 945, 2278 -1, -1, 948, 0, 1, -1, -1, -1, -1, -1, 2279 -1, -1, -1, -1, -1, -1, -1, -1, 964, -1, 2280 -1, -1, -1, 969, 970, -1, -1, 973, 974, -1, 2281 27, -1, 29, -1, 980, 32, 33, 34, 35, 36, 2282 37, 38, -1, -1, 41, 42, 43, 185, 186, -1, 2283 -1, 48, 49, -1, -1, -1, 53, 54, -1, -1, 2284 -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, 2285 67, 68, -1, -1, -1, 72, -1, -1, -1, 185, 2286 186, 78, -1, 80, 81, -1, 83, -1, 85, 86, 2287 87, 88, 89, -1, 91, 92, 93, 94, 95, 96, 2288 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 2289 -1, -1, 109, 110, 111, -1, 113, 114, 115, -1, 2290 117, 118, 119, -1, -1, 122, -1, 124, -1, -1, 2291 127, 128, 129, 130, -1, -1, 133, 134, 135, -1, 2292 -1, -1, -1, -1, 141, -1, -1, 144, 145, 146, 2293 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 2294 157, -1, -1, 160, -1, -1, -1, -1, -1, -1, 2295 167, 168, 169, -1, -1, -1, -1, -1, -1, 176, 2296 177, 3, -1, 5, -1, 7, 8, 9, 10, 11, 2297 187, 13, 14, 15, 16, 17, 18, -1, -1, 21, 2298 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 2299 -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, 2300 -1, -1, 44, 45, 46, 47, -1, -1, -1, -1, 2301 -1, -1, -1, -1, 56, 57, 58, 59, 60, 61, 2302 62, -1, 64, 65, 66, -1, -1, 69, 70, 71, 2303 -1, 73, 74, 75, 76, 77, 3, 79, 5, -1, 2304 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 2305 17, 18, -1, -1, 21, 22, 23, 24, 25, 3, 2306 -1, 5, -1, 7, 8, 9, 10, 11, -1, 13, 2307 14, 15, 16, 17, 18, -1, -1, 21, 22, 23, 2308 24, 25, -1, -1, -1, -1, -1, -1, -1, -1, 2287 -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 2288 165, 5, 6, 7, 8, 9, 10, -1, 12, 13, 2289 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 2290 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2291 15, 16, 17, -1, 19, 20, 21, 22, 23, 5, 2292 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 2293 16, 17, -1, 19, 20, 21, 22, 23, -1, -1, 2294 -1, -1, -1, -1, 33, 34, -1, -1, -1, -1, 2295 39, 40, 41, 42, 43, -1, 163, 164, 165, -1, 2296 -1, -1, -1, -1, -1, 54, 55, 56, 57, 58, 2297 59, 60, 160, 62, 63, 64, 164, 165, 67, 68, 2298 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2299 -1, -1, -1, -1, 163, 164, 165, 5, 6, 7, 2300 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2301 -1, 19, 20, 21, 22, 23, 5, 6, 7, 8, 2302 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2303 19, 20, 21, 22, 23, -1, -1, -1, -1, 163, 2304 164, 165, -1, 132, -1, -1, -1, -1, -1, 138, 2305 139, -1, -1, -1, -1, 144, -1, -1, 163, 164, 2306 165, -1, -1, -1, 153, 154, -1, 156, 157, -1, 2307 -1, 160, 161, 162, -1, -1, -1, 163, 164, 165, 2308 5, 6, 7, 8, 9, 10, -1, 12, 13, 14, 2309 15, 16, 17, -1, 19, 20, 21, 22, 23, 5, 2310 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 2311 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 2312 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2313 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 2309 2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2310 142, 143, -1, -1, -1, -1, 148, -1, -1, -1, 2311 -1, -1, -1, -1, -1, -1, 158, 159, -1, -1, 2312 162, 163, 164, 165, -1, -1, -1, 169, -1, -1, 2313 -1, -1, -1, -1, 176, -1, -1, 179, -1, -1, 2314 -1, -1, -1, 185, 186, 3, -1, 5, -1, 7, 2315 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 2316 18, -1, -1, 21, 22, 23, 24, 25, 3, -1, 2317 5, -1, 7, 8, 9, 10, 11, -1, 13, 14, 2318 15, 16, 17, 18, -1, -1, 21, 22, 23, 24, 2319 25, 3, -1, 5, -1, 7, 8, 9, 10, 11, 2320 -1, 13, 14, 15, 16, 17, 18, -1, -1, 21, 2321 22, 23, 24, 25, -1, -1, -1, -1, 185, 186, 2322 -1, -1, -1, -1, -1, -1, 4, 5, -1, 7, 2323 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 2324 18, 185, 186, 21, 22, 23, 24, 25, 4, 5, 2325 -1, 7, 8, 9, 10, 11, -1, 13, 14, 15, 2326 16, 17, 18, -1, -1, 21, 22, 23, 24, 25, 2327 4, 5, -1, 7, 8, 9, 10, 11, -1, 13, 2328 14, 15, 16, 17, 18, -1, -1, 21, 22, 23, 2329 24, 25, 4, 5, -1, 7, 8, 9, 10, 11, 2330 -1, 13, 14, 15, 16, 17, 18, -1, -1, 21, 2331 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 2332 -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, 2333 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8, 2334 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 2335 185, 186, 21, 22, 23, 24, 25, -1, -1, 5, 2336 -1, 7, 8, 9, 10, 11, -1, 13, 14, 15, 2337 16, 17, 18, 185, 186, 21, 22, 23, 24, 25, 2338 5, -1, 7, 8, 9, 10, 11, -1, 13, 14, 2339 15, 16, 17, 18, -1, -1, 21, 22, 23, 24, 2340 25, -1, 180, -1, -1, -1, -1, 185, 186, -1, 2341 -1, -1, -1, -1, -1, 5, -1, 7, 8, 9, 2342 10, 11, -1, 13, 14, 15, 16, 17, 18, 185, 2343 186, 21, 22, 23, 24, 25, -1, 5, -1, 7, 2344 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 2345 18, 185, 186, 21, 22, 23, 24, 25, -1, 5, 2346 -1, 7, 8, 9, 10, 11, -1, 13, 14, 15, 2347 16, 17, 18, 185, 186, 21, 22, 23, 24, 25, 2348 5, -1, 7, 8, 9, 10, 11, -1, 13, 14, 2349 15, 16, 17, 18, -1, -1, 21, 22, 23, 24, 2350 25, -1, 5, -1, 7, 8, 9, 10, 11, -1, 2351 13, 14, 15, 16, 17, 18, 185, 186, 21, 22, 2352 23, 24, 25, -1, -1, -1, -1, -1, -1, -1, 2353 -1, -1, -1, -1, 180, -1, -1, -1, -1, 185, 2354 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2355 -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, 2356 185, 186, 5, -1, 7, 8, 9, 10, 11, -1, 2357 13, 14, 15, 16, 17, 18, -1, -1, 21, 22, 2358 23, 24, 25, -1, -1, -1, -1, -1, -1, -1, 2359 180, -1, -1, -1, -1, 185, 186, -1, -1, -1, 2315 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2360 2316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2361 -1, -1, 180, -1, -1, -1, -1, 185, 186, -1, 2317 -1, -1, -1, -1, 163, 164, 165, 5, 6, 7, 2318 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2319 -1, 19, 20, 21, 22, 23, 5, 6, 7, 8, 2320 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2321 19, 20, 21, 22, 23, 5, 6, 7, 8, 9, 2322 10, -1, 12, 13, 14, 15, 16, 17, -1, 19, 2323 20, 21, 22, 23, -1, -1, -1, -1, 163, 164, 2324 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2325 -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 2362 2326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2363 -1, -1, -1, -1, 180, -1, -1, -1, -1, 185, 2364 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2365 -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, 2366 185, 186, -1, -1, -1, -1, -1, -1, -1, -1, 2367 -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, 2368 -1, -1, 185, 186, 5, -1, 7, 8, 9, 10, 2369 11, -1, 13, 14, 15, 16, 17, 18, -1, -1, 2370 21, 22, 23, 24, 25, 5, -1, 7, 8, 9, 2371 10, 11, -1, 13, 14, 15, 16, 17, 18, -1, 2372 -1, 21, 22, 23, 24, 25, -1, -1, -1, -1, 2373 -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, 2374 -1, -1, 185, 186, 5, -1, 7, 8, 9, 10, 2375 11, -1, 13, 14, 15, 16, 17, 18, -1, -1, 2376 21, 22, 23, 24, 25, 5, -1, 7, 8, 9, 2377 10, 11, -1, 13, 14, 15, 16, 17, 18, -1, 2378 -1, 21, 22, 23, 24, 25, 5, -1, 7, 8, 2379 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 2380 -1, -1, 21, 22, 23, 24, 25, 5, -1, 7, 2381 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 2382 18, -1, -1, 21, 22, 23, 24, 25, 5, -1, 2383 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 2384 17, 18, -1, -1, 21, 22, 23, 24, 25, -1, 2385 -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, 2386 -1, -1, -1, -1, 185, 186, -1, -1, -1, 169, 2387 -1, 5, -1, 7, 8, 9, 10, 11, -1, 13, 2388 14, 15, 16, 17, 18, 185, 186, 21, 22, 23, 2389 24, 25, 5, -1, 7, 8, 9, 10, 11, -1, 2390 13, 14, 15, 16, 17, 18, -1, -1, 21, 22, 2391 23, 24, 25, -1, -1, -1, -1, -1, -1, 180, 2392 -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, 2327 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 2328 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 2329 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 2330 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2331 17, -1, 19, 20, 21, 22, 23, -1, -1, -1, 2393 2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2394 180, -1, -1, -1, -1, 185, 186, -1, -1, -1,2333 -1, -1, -1, -1, -1, 163, 164, 165, -1, -1, 2395 2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2396 -1, 180, -1, -1, -1, -1, 185, 186, -1, -1,2335 -1, -1, -1, -1, 163, 164, 165, -1, -1, -1, 2397 2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2398 -1, -1, 180, -1, -1, -1, -1, 185, 186, -1, 2337 -1, -1, -1, 163, 164, 165, 5, 6, 7, 8, 2338 9, 10, -1, 12, 13, 14, 15, 16, 17, -1, 2339 19, 20, 21, 22, 23, 5, 6, 7, 8, 9, 2340 10, -1, 12, 13, 14, 15, 16, 17, -1, 19, 2341 20, 21, 22, 23, 5, 6, 7, 8, 9, 10, 2342 -1, 12, 13, 14, 15, 16, 17, -1, 19, 20, 2343 21, 22, 23, -1, -1, -1, -1, 163, 164, 165, 2399 2344 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2400 -1, -1, -1, 180, -1, -1, -1, -1, 185, 186, 2401 5, -1, 7, 8, 9, 10, 11, -1, 13, 14, 2402 15, 16, 17, 18, -1, -1, 21, 22, 23, 24, 2403 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2404 -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, 2405 -1, 185, 186, -1, -1, -1, -1, -1, -1, -1, 2406 -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, 2407 -1, -1, 185, 186, 5, -1, 7, 8, 9, 10, 2408 11, -1, 13, 14, 15, 16, 17, 18, -1, -1, 2409 21, 22, 23, 24, 25, 5, -1, 7, 8, 9, 2410 10, 11, -1, 13, 14, 15, 16, 17, 18, -1, 2411 -1, 21, 22, 23, 24, 25, 5, -1, 7, 8, 2412 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 2413 -1, -1, 21, 22, 23, 24, 25, 5, -1, 7, 2414 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 2415 18, -1, -1, 21, 22, 23, 24, 25, 5, -1, 2416 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 2417 17, 18, -1, -1, 21, 22, 23, 24, 25, -1, 2418 -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, 2419 185, 186, 5, -1, 7, 8, 9, 10, 11, -1, 2420 13, 14, 15, 16, 17, 18, -1, -1, 21, 22, 2421 23, 24, 25, 5, -1, 7, 8, 9, 10, 11, 2422 -1, 13, 14, 15, 16, 17, 18, -1, -1, 21, 2423 22, 23, 24, 25, -1, -1, -1, -1, -1, 38, 2424 -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, 2425 -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, 2426 -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, 2427 180, -1, -1, -1, -1, 185, 186, -1, -1, 78, 2428 -1, -1, -1, -1, 83, 84, -1, -1, -1, 88, 2429 89, 180, -1, -1, -1, -1, 185, 186, -1, 98, 2430 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, 2431 -1, -1, 180, -1, -1, -1, -1, 185, 186, 118, 2432 -1, -1, -1, -1, -1, 124, -1, -1, -1, -1, 2433 -1, -1, -1, 180, 133, -1, 135, -1, 185, 186, 2434 5, -1, 7, 8, 9, 10, 11, -1, 13, 14, 2435 15, 16, 17, 18, -1, -1, 21, 22, 23, 24, 2436 25, -1, -1, -1, -1, -1, -1, 180, -1, -1, 2437 169, -1, 185, 186, -1, -1, -1, 176, -1, -1, 2438 -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, 2439 -1, -1, -1, 185, 186, 5, -1, 7, 8, 9, 2440 10, 11, 4, 13, 14, 15, 16, 17, 18, -1, 2441 12, 21, 22, 23, 24, 25, -1, -1, -1, 21, 2442 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, 2443 -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, 2444 -1, -1, 44, 45, 46, 47, -1, -1, -1, -1, 2445 -1, -1, -1, -1, 56, 57, 58, 59, 60, 61, 2446 62, -1, 64, 65, 66, -1, -1, 69, 70, 71, 2447 -1, 73, 74, 75, 76, 77, -1, 79, -1, -1, 2448 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, 2449 -1, -1, 44, 45, 46, 47, -1, -1, -1, -1, 2450 -1, -1, -1, -1, 56, 57, 58, 59, 60, 61, 2451 62, -1, 64, 65, 66, 180, -1, 69, 70, 71, 2452 185, 186, 74, 75, 76, 77, -1, 79, -1, 131, 2453 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, 2454 142, 143, -1, -1, -1, -1, 148, 21, 22, -1, 2455 -1, -1, -1, -1, -1, -1, 158, 159, -1, -1, 2456 162, 163, 164, 165, -1, 39, 40, 169, -1, -1, 2457 44, 45, 46, 47, 176, 185, 186, 179, -1, -1, 2458 -1, -1, 56, 57, 58, 59, 60, 61, 62, -1, 2459 64, 65, 66, -1, -1, 69, 70, 71, -1, 73, 2460 74, 75, 76, 77, -1, 79, -1, -1, -1, -1, 2461 -1, -1, -1, -1, -1, -1, -1, 169, -1, -1, 2345 -1, -1, -1, -1, -1, -1, 163, 164, 165, 5, 2346 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, 2347 16, 17, -1, 19, 20, 21, 22, 23, 5, 6, 2348 7, 8, 9, 10, -1, 12, 13, 14, 15, 16, 2349 17, -1, 19, 20, 21, 22, 23, 5, 6, 7, 2350 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 2351 -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, 2352 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2353 -1, -1, -1, -1, 163, 164, 165, -1, -1, -1, 2354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2355 -1, -1, -1, 163, 164, 165, -1, -1, -1, -1, 2356 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2357 -1, -1, 163, 164, 165, 5, 6, 7, 8, 9, 2358 10, -1, 12, 13, 14, 15, 16, 17, -1, 19, 2359 20, 21, 22, 23, -1, -1, -1, -1, -1, -1, 2360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2361 -1, -1, -1, -1, -1, 4, -1, 163, 164, 165, 2362 -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, 2363 19, 20, 21, -1, -1, -1, 163, 164, 165, -1, 2364 -1, -1, -1, -1, 33, 34, -1, -1, -1, -1, 2365 39, 40, 41, 42, 43, 163, 164, 165, -1, -1, 2366 -1, -1, -1, -1, -1, 54, 55, 56, 57, 58, 2367 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2368 69, -1, 71, 72, 73, 74, 75, 34, 77, -1, 2369 -1, -1, 39, 40, -1, 42, 43, -1, -1, -1, 2370 -1, -1, -1, -1, -1, -1, -1, 54, 55, 56, 2371 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2372 67, 68, 69, -1, 4, 72, 73, 74, 75, -1, 2373 77, 11, -1, -1, 164, 165, 125, -1, -1, 19, 2374 20, -1, -1, 132, -1, -1, -1, -1, -1, 138, 2375 139, -1, -1, 33, 34, 144, -1, -1, -1, 39, 2376 40, 41, 42, 43, 153, 154, -1, 156, 157, -1, 2377 -1, 160, 161, 162, 54, 55, 56, 57, 58, 59, 2378 60, -1, 62, 63, 64, -1, -1, 67, 68, 69, 2379 -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, 2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2381 -1, -1, -1, 160, -1, -1, -1, -1, -1, -1, 2382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2383 -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, 2384 11, -1, -1, -1, -1, 125, -1, -1, 19, 20, 2385 -1, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2386 -1, -1, 33, 34, 144, -1, -1, -1, 39, 40, 2387 41, 42, 43, 153, 154, -1, 156, 157, -1, -1, 2388 160, 161, 162, 54, 55, 56, 57, 58, 59, 60, 2389 -1, 62, 63, 64, -1, -1, 67, 68, 69, -1, 2390 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2462 2391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2463 2392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2464 2393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2465 -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, 2466 -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, 2467 -1, -1, -1, -1, 148, 4, -1, -1, -1, -1, 2468 -1, -1, -1, 12, 158, 159, -1, -1, 162, 163, 2469 164, 165, 21, 22, -1, 169, -1, -1, -1, -1, 2470 -1, -1, 176, -1, -1, 179, -1, -1, -1, -1, 2471 39, 40, -1, 187, -1, 44, 45, 46, 47, -1, 2472 -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 2473 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2474 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2475 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2394 -1, -1, 4, -1, -1, -1, -1, -1, -1, 11, 2395 -1, -1, -1, -1, 125, -1, -1, 19, 20, -1, 2396 -1, 132, -1, -1, -1, -1, -1, 138, 139, -1, 2397 -1, 33, 34, 144, -1, -1, -1, 39, 40, 41, 2398 42, 43, 153, 154, -1, 156, 157, -1, -1, 160, 2399 161, 162, 54, 55, 56, 57, 58, 59, 60, -1, 2400 62, 63, 64, -1, -1, 67, 68, 69, -1, 71, 2401 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 2402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2405 -1, -1, 5, -1, -1, -1, -1, -1, 11, -1, 2406 -1, -1, -1, 125, -1, -1, 19, 20, 21, -1, 2407 132, -1, -1, -1, -1, -1, 138, 139, -1, -1, 2408 33, 34, 144, -1, -1, -1, 39, 40, 41, 42, 2409 43, 153, 154, -1, 156, 157, -1, -1, 160, 161, 2410 162, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2411 63, 64, -1, -1, 67, 68, 69, -1, 71, 72, 2412 73, 74, 75, -1, 77, -1, -1, -1, -1, -1, 2413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2416 -1, 5, -1, -1, -1, -1, -1, 11, -1, -1, 2417 -1, -1, 125, -1, -1, 19, 20, -1, 22, 132, 2418 -1, -1, -1, -1, -1, 138, 139, -1, -1, 33, 2419 34, 144, -1, -1, -1, 39, 40, 41, 42, 43, 2420 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2421 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2422 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2423 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2424 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2425 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2426 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2427 5, -1, -1, -1, -1, -1, 11, -1, -1, -1, 2428 -1, 125, -1, -1, 19, 20, 21, -1, 132, -1, 2429 -1, -1, -1, -1, 138, 139, -1, -1, 33, 34, 2430 144, -1, -1, -1, 39, 40, 41, 42, 43, 153, 2431 154, -1, 156, 157, -1, -1, 160, 161, 162, 54, 2432 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 2433 -1, -1, 67, 68, 69, -1, 71, 72, 73, 74, 2434 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 2435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2436 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2437 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 2438 -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, 2439 125, -1, -1, 19, 20, -1, -1, 132, -1, -1, 2440 -1, -1, -1, 138, 139, -1, -1, 33, 34, 144, 2441 -1, -1, -1, 39, 40, 41, 42, 43, 153, 154, 2442 -1, 156, 157, -1, -1, 160, 161, 162, 54, 55, 2443 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2444 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2445 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2446 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2447 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2448 -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, 2449 -1, -1, -1, -1, 11, -1, -1, -1, -1, 125, 2450 -1, -1, 19, 20, -1, -1, 132, -1, -1, -1, 2451 -1, -1, 138, 139, -1, -1, 33, 34, 144, -1, 2452 -1, -1, 39, 40, 41, 42, 43, 153, 154, -1, 2453 156, 157, -1, -1, 160, 161, 162, 54, 55, 56, 2454 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2455 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2456 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2459 -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, 2460 -1, -1, -1, 11, -1, -1, -1, -1, 125, -1, 2461 -1, 19, 20, -1, -1, 132, -1, -1, -1, -1, 2462 -1, 138, 139, -1, -1, 33, 34, 144, -1, -1, 2463 -1, 39, 40, 41, 42, 43, 153, 154, -1, 156, 2464 157, -1, -1, 160, 161, 162, 54, 55, 56, 57, 2465 58, 59, 60, -1, 62, 63, 64, -1, -1, 67, 2466 68, 69, -1, 71, 72, 73, 74, 75, -1, 77, 2476 2467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2477 2468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2478 2469 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2479 2470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2480 -1, -1, 131, 4, -1, -1, -1, -1, -1, -1, 2481 -1, 12, -1, 142, 143, -1, -1, -1, -1, 148, 2482 21, 22, -1, -1, -1, -1, -1, -1, -1, 158, 2483 159, -1, -1, 162, 163, 164, 165, -1, 39, 40, 2484 169, -1, -1, 44, 45, 46, 47, 176, -1, -1, 2485 179, -1, -1, -1, -1, 56, 57, 58, 59, 60, 2486 61, 62, -1, 64, 65, 66, -1, -1, 69, 70, 2487 71, -1, 73, 74, 75, 76, 77, -1, 79, -1, 2471 -1, -1, 11, -1, -1, -1, -1, 125, -1, -1, 2472 19, 20, -1, -1, 132, -1, -1, -1, -1, -1, 2473 138, 139, -1, -1, 33, 34, 144, -1, -1, -1, 2474 39, 40, 41, 42, 43, 153, 154, -1, 156, 157, 2475 -1, -1, 160, 161, 162, 54, 55, 56, 57, 58, 2476 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2477 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2488 2478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2489 2479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2490 2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2491 2481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2482 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 2483 -1, -1, -1, 132, -1, -1, -1, -1, -1, 138, 2484 139, -1, -1, -1, -1, 144, -1, -1, -1, -1, 2485 -1, -1, -1, -1, 153, 154, 11, 156, 157, -1, 2486 -1, 160, 161, 162, 19, 20, 21, 166, 23, -1, 2487 -1, -1, -1, -1, -1, -1, -1, -1, 33, 34, 2488 -1, -1, -1, -1, 39, 40, 41, 42, 43, -1, 2489 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, 2490 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 2491 -1, -1, 67, 68, 69, -1, 71, 72, 73, 74, 2492 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 2492 2493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2493 131, -1, 5, -1, -1, -1, -1, -1, -1, 12, 2494 -1, 142, 143, -1, -1, -1, -1, 148, 21, 22, 2495 23, -1, -1, -1, -1, -1, -1, 158, 159, -1, 2496 -1, 162, 163, 164, 165, -1, 39, 40, 169, -1, 2497 -1, 44, 45, 46, 47, 176, -1, -1, 179, -1, 2498 -1, -1, -1, 56, 57, 58, 59, 60, 61, 62, 2499 -1, 64, 65, 66, -1, -1, 69, 70, 71, -1, 2500 73, 74, 75, 76, 77, -1, 79, -1, -1, -1, 2494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2496 -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, 2497 125, -1, -1, 19, 20, 21, -1, 132, -1, -1, 2498 -1, -1, -1, 138, 139, -1, -1, 33, 34, 144, 2499 -1, -1, -1, 39, 40, 41, 42, 43, 153, 154, 2500 -1, 156, 157, -1, -1, 160, 161, 162, 54, 55, 2501 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2502 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2503 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2507 -1, -1, -1, -1, 11, -1, -1, -1, -1, 125, 2508 -1, -1, 19, 20, 21, -1, 132, -1, -1, -1, 2509 -1, -1, 138, 139, -1, -1, 33, 34, 144, -1, 2510 -1, -1, 39, 40, 41, 42, 43, 153, 154, -1, 2511 156, 157, -1, -1, 160, 161, 162, 54, 55, 56, 2512 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2513 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2514 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2517 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2518 -1, -1, -1, 11, -1, -1, -1, -1, 125, -1, 2519 -1, 19, 20, 21, -1, 132, -1, -1, -1, -1, 2520 -1, 138, 139, -1, -1, 33, 34, 144, -1, -1, 2521 -1, 39, 40, 41, 42, 43, 153, 154, -1, 156, 2522 157, -1, -1, 160, 161, 162, 54, 55, 56, 57, 2523 58, 59, 60, -1, 62, 63, 64, -1, -1, 67, 2524 68, 69, -1, 71, 72, 73, 74, 75, -1, 77, 2501 2525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2502 2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2503 2527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2504 2528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2505 -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, 2506 5, -1, -1, -1, -1, -1, -1, 12, -1, 142, 2507 143, -1, -1, -1, -1, 148, 21, 22, -1, 24, 2508 -1, -1, -1, -1, -1, 158, 159, -1, -1, 162, 2509 163, 164, 165, -1, 39, 40, 169, -1, -1, 44, 2510 45, 46, 47, 176, -1, -1, 179, -1, -1, -1, 2511 -1, 56, 57, 58, 59, 60, 61, 62, -1, 64, 2512 65, 66, -1, -1, 69, 70, 71, -1, 73, 74, 2513 75, 76, 77, -1, 79, -1, -1, -1, -1, -1, 2529 -1, -1, 11, -1, -1, -1, -1, 125, -1, -1, 2530 19, 20, 21, -1, 132, -1, -1, -1, -1, -1, 2531 138, 139, -1, -1, 33, 34, 144, -1, -1, -1, 2532 39, 40, 41, 42, 43, 153, 154, -1, 156, 157, 2533 -1, -1, 160, 161, 162, 54, 55, 56, 57, 58, 2534 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2535 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2514 2536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2515 2537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2516 2538 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2517 2539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2518 -1, -1, -1, -1, -1, -1, 1 31, -1, 5, -1,2519 -1, -1, -1, -1, -1, 12, -1, 142, 143, -1,2520 -1, -1, -1, 148, 21, 22, 23, -1, -1, -1,2521 -1, -1, -1, 158, 159, -1, -1, 162, 163, 164,2522 165, -1, 39, 40, 169, -1, -1, 44, 45, 46,2523 47, 176, -1, -1, 179, -1, -1, -1, -1, 56,2524 57, 58, 59, 60, 61, 62, -1, 64, 65, 66,2525 -1, -1, 69, 70, 71, -1, 73, 74, 75, 76,2526 77, -1, 79, -1, -1, -1, -1, -1, -1, -1,2540 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, 2541 -1, -1, -1, 132, -1, -1, -1, -1, -1, 138, 2542 139, -1, 11, -1, -1, 144, -1, -1, -1, -1, 2543 19, 20, -1, -1, 153, 154, -1, 156, 157, -1, 2544 -1, 160, 161, 162, 33, 34, 35, -1, -1, -1, 2545 39, 40, 41, 42, 43, -1, -1, -1, -1, -1, 2546 -1, -1, -1, -1, -1, 54, 55, 56, 57, 58, 2547 59, 60, -1, 62, 63, 64, -1, -1, 67, 68, 2548 69, -1, 71, 72, 73, 74, 75, -1, 77, -1, 2527 2549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2528 2550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2529 2551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2530 2552 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2531 -1, -1, -1, -1, 131, -1, 5, -1, -1, -1, 2532 -1, -1, -1, 12, -1, 142, 143, -1, -1, -1, 2533 -1, 148, 21, 22, -1, -1, -1, -1, -1, -1, 2534 -1, 158, 159, -1, -1, 162, 163, 164, 165, -1, 2535 39, 40, 169, -1, -1, 44, 45, 46, 47, 176, 2536 -1, -1, 179, -1, -1, -1, -1, 56, 57, 58, 2537 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2538 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2539 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2553 -1, 11, -1, -1, -1, -1, 125, -1, -1, 19, 2554 20, 21, -1, 132, -1, -1, -1, -1, -1, 138, 2555 139, -1, -1, 33, 34, 144, -1, -1, -1, 39, 2556 40, 41, 42, 43, 153, 154, -1, 156, 157, -1, 2557 -1, 160, 161, 162, 54, 55, 56, 57, 58, 59, 2558 60, -1, 62, 63, 64, -1, -1, 67, 68, 69, 2559 -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, 2540 2560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2541 2561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2542 2562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2543 2563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2544 -1, -1, 131, -1, 5, -1, -1, -1, -1, -1, 2545 -1, 12, -1, 142, 143, -1, -1, -1, -1, 148, 2546 21, 22, -1, -1, -1, -1, -1, -1, -1, 158, 2547 159, -1, -1, 162, 163, 164, 165, -1, 39, 40, 2548 169, -1, -1, 44, 45, 46, 47, 176, -1, -1, 2549 179, -1, -1, -1, -1, 56, 57, 58, 59, 60, 2550 61, 62, -1, 64, 65, 66, -1, -1, 69, 70, 2551 71, -1, 73, 74, 75, 76, 77, -1, 79, -1, 2564 11, -1, -1, -1, -1, 125, -1, -1, 19, 20, 2565 21, -1, 132, -1, -1, -1, -1, -1, 138, 139, 2566 -1, -1, 33, 34, 144, -1, -1, -1, 39, 40, 2567 41, 42, 43, 153, 154, -1, 156, 157, -1, -1, 2568 160, 161, 162, 54, 55, 56, 57, 58, 59, 60, 2569 -1, 62, 63, 64, -1, -1, 67, 68, 69, -1, 2570 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 2571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2573 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2574 -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 2575 -1, -1, -1, -1, 125, -1, -1, 19, 20, -1, 2576 -1, 132, -1, -1, -1, -1, -1, 138, 139, -1, 2577 -1, 33, 34, 144, -1, -1, -1, 39, 40, 41, 2578 42, 43, 153, 154, -1, 156, 157, -1, -1, 160, 2579 161, 162, 54, 55, 56, 57, 58, 59, 60, -1, 2580 62, 63, 64, -1, -1, 67, 68, 69, -1, 71, 2581 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 2582 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2584 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2585 -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, 2586 -1, -1, -1, 125, -1, -1, 19, 20, -1, -1, 2587 132, -1, -1, -1, -1, -1, 138, 139, -1, -1, 2588 33, 34, 144, -1, -1, -1, 39, 40, 41, 42, 2589 43, 153, 154, -1, 156, 157, -1, -1, 160, 161, 2590 162, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2591 63, 64, -1, -1, 67, 68, 69, -1, 71, 72, 2592 73, 74, 75, -1, 77, -1, -1, -1, -1, -1, 2593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2596 -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, 2597 -1, -1, 125, -1, -1, 19, 20, -1, -1, 132, 2598 -1, -1, -1, -1, -1, 138, 139, -1, -1, 33, 2599 34, 144, -1, -1, -1, 39, 40, 41, 42, 43, 2600 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2601 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 2602 64, -1, -1, 67, 68, 69, -1, 71, 72, 73, 2603 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, 2604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2607 -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, 2608 -1, 125, -1, -1, 19, 20, -1, -1, 132, -1, 2609 -1, -1, -1, -1, 138, 139, -1, -1, 33, 34, 2610 144, -1, -1, -1, 39, 40, 41, 42, 43, 153, 2611 154, -1, 156, 157, -1, -1, 160, 161, 162, 54, 2612 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 2613 -1, -1, 67, 68, 69, -1, 71, 72, 73, 74, 2614 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, 2615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2616 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2618 -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, 2619 125, -1, -1, 19, 20, -1, -1, 132, -1, -1, 2620 -1, -1, -1, 138, 139, -1, -1, 33, 34, 144, 2621 -1, -1, -1, 39, 40, 41, 42, 43, 153, 154, 2622 -1, 156, 157, -1, -1, 160, 161, 162, 54, 55, 2623 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, 2624 -1, 67, 68, 69, -1, 71, 72, 73, 74, 75, 2625 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, 2626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2628 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2629 -1, -1, -1, -1, 11, -1, -1, -1, -1, 125, 2630 -1, -1, 19, 20, -1, -1, 132, -1, -1, -1, 2631 -1, -1, 138, 139, -1, -1, 33, 34, 144, -1, 2632 -1, -1, 39, 40, 41, 42, 43, 153, 154, -1, 2633 156, 157, -1, -1, 160, 161, 162, 54, 55, 56, 2634 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2635 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2636 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2639 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2640 -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, 2641 -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 2642 -1, 138, 139, -1, -1, -1, -1, 144, -1, -1, 2643 -1, -1, -1, -1, -1, -1, 153, 154, -1, 156, 2644 157, -1, -1, 160, 161, 162, 19, 20, 21, -1, 2645 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2646 33, 34, -1, -1, -1, -1, 39, 40, 41, 42, 2647 43, -1, -1, 46, 47, 48, 49, 50, -1, 52, 2648 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2649 63, 64, -1, -1, 67, 68, 69, -1, 71, 72, 2650 73, 74, 75, -1, 77, -1, -1, -1, -1, -1, 2552 2651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2553 2652 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2554 2653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2555 2654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2655 -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, 2656 -1, -1, -1, -1, -1, 138, 139, -1, -1, -1, 2657 -1, 144, -1, -1, -1, -1, 19, 20, 21, -1, 2658 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2659 33, 34, -1, -1, -1, -1, 39, 40, 41, 42, 2660 43, -1, -1, 46, 47, 48, 49, 50, -1, 52, 2661 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 2662 63, 64, 19, 20, 67, 68, 69, -1, 71, 72, 2663 73, 74, 75, -1, 77, -1, 33, 34, -1, -1, 2664 -1, -1, 39, 40, 41, 42, 43, -1, -1, 46, 2665 47, 48, 49, 50, -1, 52, 53, 54, 55, 56, 2666 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, 2667 67, 68, 69, -1, 71, 72, 73, 74, 75, -1, 2668 77, -1, -1, -1, -1, -1, -1, -1, -1, 132, 2669 -1, -1, -1, -1, -1, 138, 139, -1, -1, -1, 2670 -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, 2671 153, 154, -1, 156, 157, -1, -1, 160, 161, 162, 2672 -1, -1, -1, -1, -1, -1, 25, -1, -1, 28, 2673 -1, 30, -1, 32, -1, 132, 35, -1, -1, -1, 2674 -1, 138, 139, -1, -1, -1, 45, 144, -1, -1, 2675 -1, -1, -1, -1, -1, -1, 153, 154, -1, 156, 2676 157, -1, 61, 160, 161, 162, 65, 66, -1, -1, 2677 -1, 70, -1, -1, -1, -1, -1, 76, -1, 78, 2678 79, -1, 81, -1, -1, -1, -1, 86, 87, 88, 2679 89, 90, -1, 92, 93, -1, -1, 96, 97, 98, 2680 99, 100, 101, 102, 103, 104, 105, 106, -1, 108, 2681 -1, 110, 111, -1, -1, 114, 115, 116, -1, 118, 2682 -1, 120, -1, -1, 123, 124, -1, -1, 127, 128, 2683 129, -1, -1, -1, -1, -1, -1, -1, 137, -1, 2684 -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, 2685 149, 150, 151, 152, -1, -1, 155, -1, -1, 158, 2686 159, 160, 161, 25, -1, -1, 28, 166, 30, -1, 2687 32, -1, -1, 35, -1, -1, -1, -1, -1, -1, 2688 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, 2689 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 2690 -1, -1, -1, 65, 66, -1, -1, -1, 70, -1, 2691 -1, -1, -1, -1, 76, -1, 78, 79, -1, 81, 2692 -1, -1, -1, -1, 86, 87, 88, 89, 90, -1, 2693 92, 93, -1, -1, 96, 97, 98, 99, 100, 101, 2694 102, 103, 104, 105, 106, -1, 108, -1, 110, 111, 2695 -1, -1, 114, 115, 116, -1, 118, -1, 120, -1, 2696 -1, 123, 124, -1, -1, 127, 128, 129, -1, -1, 2697 -1, -1, -1, -1, -1, 137, -1, -1, -1, 141, 2698 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 2699 152, 32, -1, 155, 35, -1, 158, 159, 160, 161, 2700 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, 2556 2701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2557 131, -1, 5, -1, -1, -1, -1, -1, -1, 12, 2558 -1, 142, 143, -1, -1, -1, -1, 148, 21, 22, 2559 -1, -1, -1, -1, -1, -1, -1, 158, 159, -1, 2560 -1, 162, 163, 164, 165, -1, 39, 40, 169, -1, 2561 -1, 44, 45, 46, 47, 176, -1, -1, 179, -1, 2562 -1, -1, -1, 56, 57, 58, 59, 60, 61, 62, 2563 -1, 64, 65, 66, -1, -1, 69, 70, 71, -1, 2564 73, 74, 75, 76, 77, -1, 79, -1, -1, -1, 2702 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2703 -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, 2704 81, -1, 83, -1, -1, 86, 87, 88, 89, 90, 2705 -1, -1, 93, -1, -1, 96, 97, 98, 99, 100, 2706 101, 102, 103, 104, 105, -1, -1, 32, -1, -1, 2707 35, -1, -1, -1, 115, -1, -1, -1, -1, 120, 2708 45, -1, -1, -1, -1, -1, 127, -1, 129, -1, 2709 -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, 2710 -1, -1, -1, -1, -1, -1, -1, 148, 149, 150, 2711 151, 76, -1, -1, -1, -1, 81, -1, -1, 160, 2712 161, 86, 87, 88, 89, 90, -1, -1, 93, -1, 2713 -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 2714 105, -1, -1, -1, -1, -1, 35, -1, -1, -1, 2715 115, -1, -1, -1, -1, 120, -1, -1, -1, -1, 2716 -1, -1, 127, -1, 129, -1, -1, -1, -1, -1, 2717 -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, 2718 -1, -1, -1, 148, 149, 150, 151, 76, -1, -1, 2719 -1, -1, 81, 82, -1, 160, 161, 86, 87, 88, 2720 -1, 90, -1, -1, 93, -1, -1, 96, 97, 98, 2721 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, 2722 -1, -1, 35, -1, -1, -1, 115, -1, -1, -1, 2723 -1, 120, -1, -1, -1, -1, -1, -1, 127, -1, 2724 129, -1, -1, -1, -1, -1, -1, -1, 61, -1, 2725 -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, 2726 149, 150, 151, 76, -1, -1, -1, -1, 81, -1, 2727 -1, 160, 161, 86, 87, 88, -1, 90, -1, -1, 2728 93, -1, -1, 96, 97, 98, 99, 100, 101, 102, 2729 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, 2730 -1, -1, 115, -1, -1, -1, -1, 120, -1, -1, 2731 -1, -1, -1, -1, 127, -1, 129, -1, -1, -1, 2565 2732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2568 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2569 -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, 2570 -1, -1, -1, -1, -1, -1, -1, 12, -1, 142, 2571 143, -1, -1, -1, -1, 148, 21, 22, 23, -1, 2572 25, -1, -1, -1, -1, 158, 159, -1, -1, 162, 2573 163, 164, 165, -1, 39, 40, 169, -1, -1, 44, 2574 45, 46, 47, 176, -1, -1, 179, -1, -1, -1, 2575 -1, 56, 57, 58, 59, 60, 61, 62, -1, 64, 2576 65, 66, -1, -1, 69, 70, 71, -1, 73, 74, 2577 75, 76, 77, -1, 79, -1, -1, -1, -1, -1, 2578 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2579 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2582 -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 2583 -1, -1, -1, -1, -1, 12, -1, 142, 143, -1, 2584 -1, -1, -1, 148, 21, 22, 23, -1, -1, -1, 2585 -1, -1, -1, 158, 159, -1, -1, 162, 163, 164, 2586 165, -1, 39, 40, 169, -1, -1, 44, 45, 46, 2587 47, 176, -1, -1, 179, -1, -1, -1, -1, 56, 2588 57, 58, 59, 60, 61, 62, -1, 64, 65, 66, 2589 -1, -1, 69, 70, 71, -1, 73, 74, 75, 76, 2590 77, -1, 79, -1, -1, -1, -1, -1, -1, -1, 2591 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2595 -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, 2596 -1, -1, -1, 12, -1, 142, 143, -1, -1, -1, 2597 -1, 148, 21, 22, 23, -1, -1, -1, -1, -1, 2598 -1, 158, 159, -1, -1, 162, 163, 164, 165, -1, 2599 39, 40, 169, -1, -1, 44, 45, 46, 47, 176, 2600 -1, -1, 179, -1, -1, -1, -1, 56, 57, 58, 2601 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2602 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2603 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2607 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2608 -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, 2609 -1, 12, -1, 142, 143, -1, -1, -1, -1, 148, 2610 21, 22, 23, -1, -1, -1, -1, -1, -1, 158, 2611 159, -1, -1, 162, 163, 164, 165, -1, 39, 40, 2612 169, -1, -1, 44, 45, 46, 47, 176, -1, -1, 2613 179, -1, -1, -1, -1, 56, 57, 58, 59, 60, 2614 61, 62, -1, 64, 65, 66, -1, -1, 69, 70, 2615 71, -1, 73, 74, 75, 76, 77, -1, 79, -1, 2616 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2618 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2621 131, -1, -1, -1, -1, -1, -1, -1, -1, 12, 2622 -1, 142, 143, -1, -1, -1, -1, 148, 21, 22, 2623 23, -1, -1, -1, -1, -1, -1, 158, 159, -1, 2624 -1, 162, 163, 164, 165, -1, 39, 40, 169, -1, 2625 -1, 44, 45, 46, 47, 176, -1, -1, 179, -1, 2626 -1, -1, -1, 56, 57, 58, 59, 60, 61, 62, 2627 -1, 64, 65, 66, -1, -1, 69, 70, 71, -1, 2628 73, 74, 75, 76, 77, -1, 79, -1, -1, -1, 2629 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2630 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2633 -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, 2634 -1, -1, -1, -1, -1, -1, -1, 12, -1, 142, 2635 143, -1, -1, -1, -1, 148, 21, 22, 23, -1, 2636 -1, -1, -1, -1, -1, 158, 159, -1, -1, 162, 2637 163, 164, 165, -1, 39, 40, 169, -1, -1, 44, 2638 45, 46, 47, 176, -1, -1, 179, -1, -1, -1, 2639 -1, 56, 57, 58, 59, 60, 61, 62, -1, 64, 2640 65, 66, -1, -1, 69, 70, 71, -1, 73, 74, 2641 75, 76, 77, -1, 79, -1, -1, -1, -1, -1, 2642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2644 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2646 -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 2647 -1, -1, -1, -1, -1, 12, -1, 142, 143, -1, 2648 -1, -1, -1, 148, 21, 22, 23, -1, -1, -1, 2649 -1, -1, -1, 158, 159, -1, -1, 162, 163, 164, 2650 165, -1, 39, 40, 169, -1, -1, 44, 45, 46, 2651 47, 176, -1, -1, 179, -1, -1, -1, -1, 56, 2652 57, 58, 59, 60, 61, 62, -1, 64, 65, 66, 2653 -1, -1, 69, 70, 71, -1, 73, 74, 75, 76, 2654 77, -1, 79, -1, -1, -1, -1, -1, -1, -1, 2655 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2656 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2658 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2659 -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, 2660 -1, -1, -1, 12, -1, 142, 143, -1, -1, -1, 2661 -1, 148, 21, 22, -1, -1, -1, -1, -1, -1, 2662 -1, 158, 159, -1, -1, 162, 163, 164, 165, -1, 2663 39, 40, 169, -1, -1, 44, 45, 46, 47, 176, 2664 -1, -1, 179, -1, -1, -1, -1, 56, 57, 58, 2665 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2666 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2667 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2668 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2670 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2671 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2672 -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, 2673 -1, 12, -1, 142, 143, -1, -1, -1, -1, 148, 2674 21, 22, -1, -1, -1, -1, -1, -1, -1, 158, 2675 159, -1, -1, 162, 163, 164, 165, -1, 39, 40, 2676 169, -1, -1, 44, 45, 46, 47, 176, -1, -1, 2677 179, -1, -1, -1, -1, 56, 57, 58, 59, 60, 2678 61, 62, -1, 64, 65, 66, -1, -1, 69, 70, 2679 71, -1, 73, 74, 75, 76, 77, -1, 79, -1, 2680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2681 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2682 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2683 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2684 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2685 131, -1, -1, -1, -1, -1, -1, -1, -1, 12, 2686 -1, 142, 143, -1, -1, -1, -1, 148, 21, 22, 2687 -1, -1, -1, -1, -1, -1, -1, 158, 159, -1, 2688 -1, 162, 163, 164, 165, -1, 39, 40, 169, -1, 2689 -1, 44, 45, 46, 47, 176, -1, -1, 179, -1, 2690 -1, -1, -1, 56, 57, 58, 59, 60, 61, 62, 2691 -1, 64, 65, 66, -1, -1, 69, 70, 71, -1, 2692 73, 74, 75, 76, 77, -1, 79, -1, -1, -1, 2693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2695 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2697 -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, 2698 -1, -1, -1, -1, -1, -1, -1, 12, -1, 142, 2699 143, -1, -1, -1, -1, 148, 21, 22, -1, -1, 2700 -1, -1, -1, -1, -1, 158, 159, -1, -1, 162, 2701 163, 164, 165, -1, 39, 40, 169, -1, -1, 44, 2702 45, 46, 47, 176, -1, -1, 179, -1, -1, -1, 2703 -1, 56, 57, 58, 59, 60, 61, 62, -1, 64, 2704 65, 66, -1, -1, 69, 70, 71, -1, 73, 74, 2705 75, 76, 77, -1, 79, -1, -1, -1, -1, -1, 2706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2709 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2710 -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 2711 -1, -1, -1, -1, -1, 12, -1, 142, 143, -1, 2712 -1, -1, -1, 148, 21, 22, -1, -1, -1, -1, 2713 -1, -1, -1, 158, 159, -1, -1, 162, 163, 164, 2714 165, -1, 39, 40, 169, -1, -1, 44, 45, 46, 2715 47, 176, -1, -1, 179, -1, -1, -1, -1, 56, 2716 57, 58, 59, 60, 61, 62, -1, 64, 65, 66, 2717 -1, -1, 69, 70, 71, -1, 73, 74, 75, 76, 2718 77, -1, 79, -1, -1, -1, -1, -1, -1, -1, 2719 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2720 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2723 -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, 2724 -1, -1, -1, 12, -1, 142, 143, -1, -1, -1, 2725 -1, 148, 21, 22, -1, -1, -1, -1, -1, -1, 2726 -1, 158, 159, -1, -1, 162, 163, 164, 165, -1, 2727 39, 40, 169, -1, -1, 44, 45, 46, 47, 176, 2728 -1, -1, 179, -1, -1, -1, -1, 56, 57, 58, 2729 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2730 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2731 79, 21, 22, 23, -1, 25, -1, -1, -1, -1, 2732 -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, 2733 40, -1, -1, -1, 44, 45, 46, 47, -1, -1, 2734 50, 51, 52, -1, -1, 55, 56, 57, 58, 59, 2735 60, 61, 62, -1, 64, 65, 66, -1, -1, 69, 2736 70, 71, 131, 73, 74, 75, 76, 77, -1, 79, 2737 -1, -1, -1, 142, 143, -1, -1, -1, -1, 148, 2738 -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, 2739 159, -1, -1, 162, 163, 164, 165, -1, -1, -1, 2740 169, -1, -1, -1, -1, -1, -1, 176, -1, -1, 2741 179, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2743 -1, -1, 142, 143, -1, -1, -1, -1, 148, -1, 2744 -1, -1, -1, -1, -1, -1, -1, -1, 158, 159, 2745 -1, -1, 162, 163, 164, 165, 21, 22, 23, 169, 2746 -1, -1, -1, -1, -1, -1, 176, -1, -1, 179, 2747 -1, -1, -1, -1, 39, 40, -1, -1, -1, 44, 2748 45, 46, 47, -1, -1, 50, 51, 52, -1, -1, 2749 55, 56, 57, 58, 59, 60, 61, 62, -1, 64, 2750 65, 66, 21, 22, 69, 70, 71, -1, 73, 74, 2751 75, 76, 77, -1, 79, -1, -1, -1, -1, -1, 2752 39, 40, -1, -1, -1, 44, 45, 46, 47, -1, 2753 -1, 50, 51, 52, -1, -1, 55, 56, 57, 58, 2754 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2755 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2756 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2757 -1, -1, -1, -1, -1, -1, -1, 142, 143, -1, 2758 -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 2759 -1, -1, -1, 158, 159, -1, -1, 162, 163, 164, 2760 165, -1, -1, -1, 169, -1, -1, -1, -1, -1, 2761 -1, 176, -1, 29, 179, -1, 32, 33, 34, 35, 2762 -1, -1, 38, 142, 143, 41, 42, 43, -1, 148, 2763 -1, -1, 48, 49, -1, -1, -1, -1, -1, 158, 2764 159, -1, -1, 162, 163, 164, 165, 63, -1, -1, 2765 169, 67, 68, -1, -1, -1, 72, 176, -1, -1, 2766 179, -1, 78, -1, 80, 81, -1, 83, -1, 85, 2767 86, 87, 88, 89, -1, 91, 92, 93, 94, 95, 2768 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 2769 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 2770 -1, 117, 118, 119, -1, -1, 122, -1, 124, -1, 2771 -1, 127, 128, 129, 130, -1, -1, 133, 134, 135, 2772 -1, -1, -1, -1, -1, 141, -1, -1, -1, 145, 2773 146, 147, 148, 149, 150, 151, -1, 153, 154, 155, 2774 156, 157, -1, -1, 160, -1, -1, -1, -1, 39, 2775 40, 167, 168, 169, 44, 45, 46, 47, -1, -1, 2776 176, -1, -1, -1, -1, -1, 56, 57, 58, 59, 2777 60, 61, 62, -1, 64, 65, 66, -1, -1, 69, 2778 70, 71, -1, 73, 74, 75, 76, 77, -1, 79, 2779 39, 40, -1, -1, -1, 44, 45, 46, 47, -1, 2780 -1, -1, -1, -1, -1, -1, -1, 56, 57, 58, 2781 59, 60, 61, 62, -1, 64, 65, 66, -1, -1, 2782 69, 70, 71, -1, 73, 74, 75, 76, 77, -1, 2783 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2785 -1, -1, 142, 143, -1, -1, -1, -1, 148, -1, 2786 -1, -1, -1, -1, -1, -1, -1, -1, 158, 159, 2787 -1, -1, 162, 163, 164, 165, -1, -1, -1, 169, 2788 -1, -1, -1, -1, -1, -1, 176, -1, -1, 179, 2789 -1, -1, -1, 142, 143, -1, -1, -1, -1, 148, 2790 -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, 2791 159, -1, -1, 162, 163, 164, 165, -1, -1, -1, 2792 169, -1, -1, -1, -1, -1, -1, 176, -1, -1, 2793 179 2733 -1, -1, -1, -1, -1, 148, 149, 150, 151, -1, 2734 -1, -1, -1, -1, -1, -1, -1, 160, 161 2794 2735 }; 2795 2736 … … 2798 2739 static const yytype_uint16 yystos[] = 2799 2740 { 2800 0, 191, 0, 1, 36, 37, 53, 54, 144, 177, 2801 187, 192, 197, 199, 205, 201, 198, 177, 200, 29, 2802 32, 34, 38, 41, 42, 43, 48, 49, 63, 67, 2803 68, 72, 78, 80, 81, 83, 85, 86, 87, 88, 2804 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2805 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 2806 113, 114, 115, 117, 118, 119, 122, 124, 127, 128, 2807 129, 130, 133, 134, 135, 141, 145, 146, 147, 148, 2808 149, 150, 151, 153, 154, 155, 156, 157, 160, 167, 2809 168, 169, 176, 193, 194, 195, 202, 203, 206, 212, 2810 224, 225, 228, 229, 234, 235, 237, 238, 239, 240, 2811 241, 243, 244, 251, 253, 257, 258, 261, 262, 263, 2812 298, 308, 309, 315, 316, 317, 318, 319, 321, 326, 2813 327, 328, 330, 331, 333, 336, 337, 340, 341, 349, 2814 351, 352, 365, 372, 201, 205, 169, 204, 179, 12, 2815 21, 22, 39, 40, 44, 45, 46, 47, 56, 57, 2816 58, 59, 60, 61, 62, 64, 65, 66, 69, 70, 2817 71, 73, 74, 75, 76, 77, 79, 131, 142, 143, 2818 148, 158, 159, 162, 163, 164, 165, 176, 179, 280, 2819 281, 283, 284, 288, 290, 291, 292, 293, 298, 299, 2820 300, 307, 320, 179, 187, 280, 304, 179, 217, 218, 2821 179, 280, 303, 4, 187, 221, 187, 221, 304, 179, 2822 169, 187, 324, 176, 179, 364, 280, 169, 325, 169, 2823 324, 179, 169, 176, 179, 346, 179, 179, 221, 221, 2824 20, 24, 247, 298, 179, 216, 123, 137, 127, 324, 2825 324, 169, 252, 80, 81, 213, 275, 324, 27, 196, 2826 198, 33, 35, 196, 158, 207, 196, 169, 179, 249, 2827 250, 169, 226, 231, 3, 248, 169, 230, 247, 3, 2828 236, 248, 3, 248, 3, 248, 169, 245, 246, 247, 2829 3, 4, 35, 222, 223, 255, 271, 169, 176, 268, 2830 23, 179, 259, 23, 179, 266, 23, 4, 329, 169, 2831 310, 200, 324, 324, 324, 176, 323, 280, 5, 126, 2832 189, 332, 3, 179, 334, 169, 304, 179, 345, 21, 2833 22, 23, 50, 51, 52, 55, 169, 179, 281, 288, 2834 299, 343, 345, 350, 353, 354, 355, 345, 84, 98, 2835 105, 298, 328, 280, 280, 280, 282, 179, 179, 179, 2836 282, 280, 282, 179, 179, 179, 179, 179, 179, 179, 2837 179, 179, 179, 179, 179, 280, 179, 179, 179, 179, 2838 179, 179, 280, 281, 283, 307, 360, 361, 362, 179, 2839 280, 283, 5, 7, 8, 9, 10, 11, 13, 14, 2840 15, 16, 17, 18, 21, 22, 23, 24, 25, 185, 2841 186, 285, 280, 189, 179, 302, 179, 179, 169, 158, 2842 301, 302, 3, 4, 180, 280, 219, 298, 3, 280, 2843 4, 169, 242, 242, 280, 280, 180, 288, 292, 298, 2844 330, 366, 367, 368, 176, 283, 298, 298, 367, 369, 2845 298, 371, 242, 40, 44, 45, 46, 47, 56, 57, 2846 58, 59, 60, 61, 62, 64, 65, 66, 69, 70, 2847 71, 74, 75, 76, 77, 79, 169, 214, 215, 169, 2848 298, 220, 280, 3, 3, 221, 194, 200, 204, 204, 2849 196, 5, 249, 3, 24, 179, 187, 248, 3, 24, 2850 230, 247, 179, 276, 230, 298, 247, 169, 169, 247, 2851 276, 3, 245, 29, 82, 109, 111, 112, 113, 116, 2852 117, 119, 120, 272, 273, 275, 4, 204, 3, 256, 2853 254, 5, 23, 269, 280, 180, 176, 179, 169, 260, 2854 269, 179, 267, 280, 268, 176, 276, 3, 205, 248, 2855 298, 322, 373, 280, 280, 298, 176, 23, 280, 335, 2856 338, 339, 23, 25, 179, 298, 347, 348, 353, 354, 2857 280, 280, 280, 280, 5, 353, 179, 281, 288, 299, 2858 342, 356, 357, 358, 3, 344, 20, 23, 24, 25, 2859 355, 353, 360, 179, 179, 180, 3, 180, 282, 282, 2860 280, 180, 180, 180, 280, 280, 280, 280, 280, 280, 2861 280, 280, 280, 280, 280, 280, 180, 282, 282, 282, 2862 282, 282, 280, 283, 361, 362, 3, 132, 3, 3, 2863 282, 180, 3, 5, 280, 287, 280, 280, 280, 280, 2864 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 2865 5, 24, 280, 286, 280, 5, 280, 5, 280, 288, 2866 303, 289, 294, 294, 280, 280, 180, 3, 180, 276, 2867 218, 180, 3, 180, 3, 179, 3, 370, 180, 180, 2868 180, 3, 370, 3, 180, 3, 24, 3, 180, 179, 2869 169, 324, 179, 208, 208, 280, 180, 250, 227, 232, 2870 233, 284, 280, 169, 169, 231, 227, 248, 4, 23, 2871 277, 278, 279, 280, 248, 276, 276, 248, 246, 276, 2872 179, 3, 4, 208, 254, 169, 269, 260, 5, 269, 2873 180, 3, 270, 23, 180, 276, 31, 169, 311, 312, 2874 5, 329, 364, 180, 3, 353, 23, 25, 179, 280, 2875 3, 180, 180, 280, 180, 356, 285, 359, 359, 3, 2876 359, 356, 353, 353, 353, 353, 353, 366, 369, 304, 2877 280, 180, 180, 180, 180, 180, 180, 180, 180, 180, 2878 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 2879 180, 180, 3, 3, 3, 280, 362, 280, 362, 280, 2880 362, 180, 283, 280, 280, 280, 280, 280, 4, 4, 2881 280, 295, 296, 297, 180, 180, 298, 169, 84, 280, 2882 295, 125, 367, 180, 367, 180, 298, 214, 280, 220, 2883 23, 169, 180, 210, 211, 30, 24, 3, 21, 22, 2884 23, 188, 299, 180, 24, 24, 230, 280, 3, 180, 2885 4, 298, 23, 264, 264, 245, 138, 139, 140, 274, 2886 273, 4, 169, 276, 180, 269, 270, 169, 180, 4, 2887 126, 3, 280, 276, 339, 180, 280, 297, 189, 276, 2888 348, 353, 3, 180, 285, 358, 370, 370, 169, 363, 2889 363, 363, 180, 303, 4, 280, 4, 3, 302, 276, 2890 180, 180, 5, 180, 3, 180, 179, 209, 227, 232, 2891 232, 232, 232, 227, 278, 279, 280, 179, 265, 280, 2892 180, 276, 264, 270, 269, 169, 187, 313, 314, 169, 2893 312, 3, 276, 180, 330, 363, 359, 180, 180, 5, 2894 180, 180, 180, 180, 280, 4, 280, 296, 3, 298, 2895 211, 180, 210, 24, 23, 264, 305, 306, 126, 3, 2896 280, 180, 280, 280, 4, 280, 180, 180, 305, 5, 2897 126, 169, 314, 3, 3, 280, 280, 280, 280, 280, 2898 3, 280 2741 0, 170, 0, 1, 24, 25, 28, 30, 32, 35, 2742 45, 61, 65, 66, 70, 76, 78, 79, 81, 86, 2743 87, 88, 89, 90, 92, 93, 96, 97, 98, 99, 2744 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 2745 114, 115, 116, 118, 120, 123, 124, 127, 128, 129, 2746 137, 140, 141, 142, 143, 144, 145, 146, 147, 148, 2747 149, 150, 151, 152, 155, 158, 159, 160, 161, 166, 2748 171, 172, 173, 174, 176, 178, 186, 198, 199, 203, 2749 204, 209, 210, 211, 212, 213, 215, 216, 223, 225, 2750 228, 231, 232, 267, 276, 277, 282, 283, 284, 286, 2751 287, 291, 300, 301, 302, 303, 304, 310, 315, 319, 2752 320, 323, 331, 332, 333, 334, 335, 338, 339, 341, 2753 344, 345, 348, 357, 359, 369, 153, 181, 160, 180, 2754 162, 162, 11, 19, 20, 33, 34, 39, 40, 41, 2755 42, 43, 54, 55, 56, 57, 58, 59, 60, 62, 2756 63, 64, 67, 68, 69, 71, 72, 73, 74, 75, 2757 77, 125, 132, 138, 139, 144, 153, 154, 156, 157, 2758 160, 161, 162, 166, 249, 250, 252, 253, 257, 259, 2759 260, 261, 262, 267, 268, 269, 273, 275, 162, 191, 2760 192, 162, 249, 272, 131, 166, 195, 166, 195, 273, 2761 161, 162, 162, 3, 161, 179, 220, 305, 160, 160, 2762 166, 336, 162, 162, 352, 160, 161, 162, 353, 162, 2763 162, 195, 195, 18, 22, 219, 267, 162, 190, 119, 2764 130, 123, 160, 224, 173, 78, 79, 187, 244, 133, 2765 160, 161, 237, 336, 160, 162, 200, 201, 206, 4, 2766 175, 24, 140, 166, 24, 29, 31, 175, 175, 160, 2767 162, 221, 222, 166, 3, 220, 160, 205, 219, 3, 2768 220, 220, 3, 220, 160, 217, 218, 219, 3, 31, 2769 131, 196, 197, 226, 240, 21, 162, 229, 21, 162, 2770 235, 337, 160, 172, 172, 172, 172, 336, 336, 336, 2771 5, 122, 168, 340, 3, 162, 342, 101, 160, 273, 2772 352, 19, 20, 21, 46, 47, 48, 49, 50, 52, 2773 53, 160, 162, 250, 257, 268, 350, 352, 358, 360, 2774 361, 362, 175, 249, 294, 249, 249, 249, 251, 162, 2775 162, 162, 251, 249, 251, 162, 162, 162, 162, 162, 2776 162, 162, 162, 162, 162, 162, 162, 249, 162, 251, 2777 162, 162, 162, 162, 249, 250, 252, 275, 366, 367, 2778 162, 249, 252, 5, 6, 7, 8, 9, 10, 12, 2779 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 2780 164, 165, 254, 249, 168, 162, 271, 162, 162, 160, 2781 153, 270, 271, 193, 267, 3, 249, 133, 160, 214, 2782 214, 249, 249, 161, 305, 94, 95, 267, 306, 257, 2783 370, 371, 21, 23, 162, 267, 354, 355, 360, 361, 2784 366, 161, 252, 267, 371, 372, 267, 374, 214, 34, 2785 39, 40, 42, 43, 54, 55, 56, 57, 58, 59, 2786 60, 62, 63, 64, 67, 68, 69, 72, 73, 74, 2787 75, 77, 160, 188, 189, 160, 267, 194, 249, 3, 2788 3, 195, 5, 21, 238, 249, 163, 22, 162, 257, 2789 220, 3, 22, 45, 88, 89, 175, 166, 174, 180, 2790 180, 5, 221, 3, 205, 219, 162, 245, 205, 267, 2791 219, 160, 160, 219, 245, 3, 217, 25, 80, 106, 2792 108, 109, 110, 113, 114, 116, 117, 241, 242, 244, 2793 180, 3, 227, 160, 161, 162, 160, 230, 238, 161, 2794 162, 236, 249, 237, 245, 3, 288, 299, 307, 299, 2795 44, 321, 322, 324, 249, 249, 356, 161, 21, 249, 2796 343, 346, 347, 249, 249, 249, 249, 249, 249, 249, 2797 5, 360, 162, 250, 257, 268, 349, 363, 364, 3, 2798 351, 18, 21, 22, 23, 362, 360, 163, 163, 3, 2799 163, 251, 251, 249, 163, 163, 163, 249, 249, 249, 2800 249, 249, 249, 249, 249, 249, 249, 249, 249, 163, 2801 251, 163, 251, 251, 251, 252, 366, 367, 3, 3, 2802 126, 3, 251, 163, 3, 5, 249, 256, 249, 249, 2803 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 2804 249, 249, 5, 22, 249, 255, 249, 5, 249, 5, 2805 249, 356, 272, 258, 263, 263, 3, 163, 245, 192, 2806 163, 3, 3, 163, 162, 298, 5, 3, 373, 360, 2807 21, 23, 162, 249, 3, 163, 163, 163, 163, 3, 2808 373, 3, 163, 3, 22, 3, 163, 162, 160, 336, 2809 238, 202, 207, 208, 253, 249, 3, 201, 160, 206, 2810 202, 162, 162, 179, 305, 162, 182, 182, 249, 163, 2811 222, 220, 4, 21, 246, 247, 248, 249, 220, 245, 2812 245, 220, 218, 245, 162, 3, 131, 182, 160, 245, 2813 230, 5, 238, 163, 3, 239, 21, 163, 245, 27, 2814 160, 278, 279, 249, 285, 286, 287, 289, 292, 293, 2815 282, 91, 115, 308, 309, 330, 83, 311, 312, 316, 2816 112, 162, 326, 107, 322, 325, 172, 267, 161, 163, 2817 3, 249, 163, 363, 254, 365, 365, 365, 3, 363, 2818 360, 360, 360, 360, 360, 293, 249, 163, 163, 163, 2819 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 2820 163, 163, 163, 163, 163, 163, 3, 3, 3, 249, 2821 367, 249, 367, 249, 367, 163, 252, 249, 249, 249, 2822 249, 249, 257, 4, 4, 249, 264, 265, 266, 163, 2823 163, 267, 133, 160, 249, 35, 82, 88, 284, 249, 2824 249, 121, 371, 163, 249, 266, 168, 245, 355, 371, 2825 163, 267, 188, 249, 194, 22, 3, 19, 20, 21, 2826 167, 268, 163, 160, 368, 22, 249, 249, 305, 21, 2827 160, 163, 184, 185, 26, 177, 205, 249, 3, 163, 2828 4, 267, 21, 233, 233, 217, 134, 135, 136, 243, 2829 242, 245, 233, 163, 238, 239, 160, 163, 4, 122, 2830 3, 36, 290, 295, 172, 172, 160, 162, 84, 312, 2831 313, 314, 317, 172, 4, 249, 327, 328, 329, 160, 2832 160, 299, 337, 347, 3, 163, 254, 364, 160, 368, 2833 368, 368, 163, 272, 4, 249, 4, 3, 271, 245, 2834 163, 162, 162, 163, 3, 5, 163, 356, 163, 202, 2835 207, 207, 207, 207, 5, 163, 163, 163, 3, 163, 2836 162, 183, 247, 248, 249, 162, 234, 249, 163, 233, 2837 5, 122, 274, 239, 238, 160, 166, 280, 281, 160, 2838 279, 294, 37, 38, 296, 297, 172, 249, 160, 85, 2839 312, 318, 172, 299, 329, 3, 163, 4, 245, 368, 2840 365, 163, 163, 163, 163, 249, 4, 249, 265, 3, 2841 294, 249, 249, 257, 338, 249, 22, 82, 185, 163, 2842 184, 21, 274, 249, 249, 122, 3, 163, 160, 160, 2843 172, 288, 163, 160, 299, 328, 329, 245, 163, 249, 2844 4, 249, 163, 163, 3, 3, 202, 163, 163, 160, 2845 281, 160, 288, 82, 249, 249, 249, 22, 160, 3, 2846 249 2899 2847 }; 2900 2848 … … 2911 2859 /* Like YYERROR except do call yyerror. This remains here temporarily 2912 2860 to ease the transition to the new meaning of YYERROR, for GCC. 2913 Once GCC version 2 has supplanted version 1, this can go. */ 2861 Once GCC version 2 has supplanted version 1, this can go. However, 2862 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 2863 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 2864 discussed. */ 2914 2865 2915 2866 #define YYFAIL goto yyerrlab 2867 #if defined YYFAIL 2868 /* This is here to suppress warnings from the GCC cpp's 2869 -Wunused-macros. Normally we don't worry about that warning, but 2870 some users do, and we want to make it easy for users to remove 2871 YYFAIL uses, which will produce warnings from Bison 2.5. */ 2872 #endif 2916 2873 2917 2874 #define YYRECOVERING() (!!yyerrstatus) 2918 2875 2919 #define YYBACKUP(Token, Value) 2920 do 2921 if (yychar == YYEMPTY && yylen == 1)\2922 { 2923 yychar = (Token); 2924 yylval = (Value); 2925 yytoken = YYTRANSLATE (yychar);\2926 YYPOPSTACK (1);\2927 goto yybackup; 2928 } 2929 else 2930 { 2876 #define YYBACKUP(Token, Value) \ 2877 do \ 2878 if (yychar == YYEMPTY) \ 2879 { \ 2880 yychar = (Token); \ 2881 yylval = (Value); \ 2882 YYPOPSTACK (yylen); \ 2883 yystate = *yyssp; \ 2884 goto yybackup; \ 2885 } \ 2886 else \ 2887 { \ 2931 2888 yyerror (YY_("syntax error: cannot back up")); \ 2932 2889 YYERROR; \ … … 2934 2891 while (YYID (0)) 2935 2892 2936 2893 /* Error token number */ 2937 2894 #define YYTERROR 1 2938 2895 #define YYERRCODE 256 2939 2896 2940 2897 2941 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 2942 If N is 0, then set CURRENT to the empty location which ends 2943 the previous symbol: RHS[0] (always defined). */ 2944 2945 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 2946 #ifndef YYLLOC_DEFAULT 2947 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 2948 do \ 2949 if (YYID (N)) \ 2950 { \ 2951 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 2952 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 2953 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 2954 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 2955 } \ 2956 else \ 2957 { \ 2958 (Current).first_line = (Current).last_line = \ 2959 YYRHSLOC (Rhs, 0).last_line; \ 2960 (Current).first_column = (Current).last_column = \ 2961 YYRHSLOC (Rhs, 0).last_column; \ 2962 } \ 2963 while (YYID (0)) 2898 /* This macro is provided for backward compatibility. */ 2899 #ifndef YY_LOCATION_PRINT 2900 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 2964 2901 #endif 2965 2902 2966 2903 2967 /* YY_LOCATION_PRINT -- Print the location on the stream.2968 This macro was not mandated originally: define only if we know2969 we won't break user code: when these are the locations we know. */2970 2971 #ifndef YY_LOCATION_PRINT2972 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL2973 # define YY_LOCATION_PRINT(File, Loc) \2974 fprintf (File, "%d.%d-%d.%d", \2975 (Loc).first_line, (Loc).first_column, \2976 (Loc).last_line, (Loc).last_column)2977 # else2978 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)2979 # endif2980 #endif2981 2982 2983 2904 /* YYLEX -- calling `yylex' with the right arguments. */ 2984 2985 2905 #ifdef YYLEX_PARAM 2986 2906 # define YYLEX yylex (YYLEX_PARAM) … … 3032 2952 #endif 3033 2953 { 2954 FILE *yyo = yyoutput; 2955 YYUSE (yyo); 3034 2956 if (!yyvaluep) 3035 2957 return; … … 3043 2965 { 3044 2966 default: 3045 2967 break; 3046 2968 } 3047 2969 } … … 3081 3003 || defined __cplusplus || defined _MSC_VER) 3082 3004 static void 3083 yy_stack_print (yytype_int16 * bottom, yytype_int16 *top)3005 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 3084 3006 #else 3085 3007 static void 3086 yy_stack_print ( bottom,top)3087 yytype_int16 * bottom;3088 yytype_int16 * top;3008 yy_stack_print (yybottom, yytop) 3009 yytype_int16 *yybottom; 3010 yytype_int16 *yytop; 3089 3011 #endif 3090 3012 { 3091 3013 YYFPRINTF (stderr, "Stack now"); 3092 for (; bottom <= top; ++bottom) 3093 YYFPRINTF (stderr, " %d", *bottom); 3014 for (; yybottom <= yytop; yybottom++) 3015 { 3016 int yybot = *yybottom; 3017 YYFPRINTF (stderr, " %d", yybot); 3018 } 3094 3019 YYFPRINTF (stderr, "\n"); 3095 3020 } … … 3125 3050 for (yyi = 0; yyi < yynrhs; yyi++) 3126 3051 { 3127 fprintf(stderr, " $%d = ", yyi + 1);3052 YYFPRINTF (stderr, " $%d = ", yyi + 1); 3128 3053 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 3129 3054 &(yyvsp[(yyi + 1) - (yynrhs)]) 3130 3055 ); 3131 fprintf(stderr, "\n");3056 YYFPRINTF (stderr, "\n"); 3132 3057 } 3133 3058 } … … 3165 3090 # define YYMAXDEPTH 10000 3166 3091 #endif 3167 3168 3169 3092 3170 3093 … … 3270 3193 # endif 3271 3194 3272 /* Copy into YYRESULT an error message about the unexpected token 3273 YYCHAR while in state YYSTATE. Return the number of bytes copied, 3274 including the terminating null byte. If YYRESULT is null, do not 3275 copy anything; just return the number of bytes that would be 3276 copied. As a special case, return 0 if an ordinary "syntax error" 3277 message will do. Return YYSIZE_MAXIMUM if overflow occurs during 3278 size calculation. */ 3279 static YYSIZE_T 3280 yysyntax_error (char *yyresult, int yystate, int yychar) 3195 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 3196 about the unexpected token YYTOKEN for the state stack whose top is 3197 YYSSP. 3198 3199 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 3200 not large enough to hold the message. In that case, also set 3201 *YYMSG_ALLOC to the required number of bytes. Return 2 if the 3202 required number of bytes is too large to store. */ 3203 static int 3204 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 3205 yytype_int16 *yyssp, int yytoken) 3281 3206 { 3282 int yyn = yypact[yystate]; 3283 3284 if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 3285 return 0; 3286 else 3207 YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 3208 YYSIZE_T yysize = yysize0; 3209 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 3210 /* Internationalized format string. */ 3211 const char *yyformat = YY_NULL; 3212 /* Arguments of yyformat. */ 3213 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 3214 /* Number of reported tokens (one for the "unexpected", one per 3215 "expected"). */ 3216 int yycount = 0; 3217 3218 /* There are many possibilities here to consider: 3219 - Assume YYFAIL is not used. It's too flawed to consider. See 3220 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 3221 for details. YYERROR is fine as it does not invoke this 3222 function. 3223 - If this state is a consistent state with a default action, then 3224 the only way this function was invoked is if the default action 3225 is an error action. In that case, don't check for expected 3226 tokens because there are none. 3227 - The only way there can be no lookahead present (in yychar) is if 3228 this state is a consistent state with a default action. Thus, 3229 detecting the absence of a lookahead is sufficient to determine 3230 that there is no unexpected or expected token to report. In that 3231 case, just report a simple "syntax error". 3232 - Don't assume there isn't a lookahead just because this state is a 3233 consistent state with a default action. There might have been a 3234 previous inconsistent state, consistent state with a non-default 3235 action, or user semantic action that manipulated yychar. 3236 - Of course, the expected token list depends on states to have 3237 correct lookahead information, and it depends on the parser not 3238 to perform extra reductions after fetching a lookahead from the 3239 scanner and before detecting a syntax error. Thus, state merging 3240 (from LALR or IELR) and default reductions corrupt the expected 3241 token list. However, the list is correct for canonical LR with 3242 one exception: it will still contain any token that will not be 3243 accepted due to an error action in a later state. 3244 */ 3245 if (yytoken != YYEMPTY) 3287 3246 { 3288 int yytype = YYTRANSLATE (yychar); 3289 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 3290 YYSIZE_T yysize = yysize0; 3291 YYSIZE_T yysize1; 3292 int yysize_overflow = 0; 3293 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 3294 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 3295 int yyx; 3296 3297 # if 0 3298 /* This is so xgettext sees the translatable formats that are 3299 constructed on the fly. */ 3300 YY_("syntax error, unexpected %s"); 3301 YY_("syntax error, unexpected %s, expecting %s"); 3302 YY_("syntax error, unexpected %s, expecting %s or %s"); 3303 YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 3304 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 3305 # endif 3306 char *yyfmt; 3307 char const *yyf; 3308 static char const yyunexpected[] = "syntax error, unexpected %s"; 3309 static char const yyexpecting[] = ", expecting %s"; 3310 static char const yyor[] = " or %s"; 3311 char yyformat[sizeof yyunexpected 3312 + sizeof yyexpecting - 1 3313 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 3314 * (sizeof yyor - 1))]; 3315 char const *yyprefix = yyexpecting; 3316 3317 /* Start YYX at -YYN if negative to avoid negative indexes in 3318 YYCHECK. */ 3319 int yyxbegin = yyn < 0 ? -yyn : 0; 3320 3321 /* Stay within bounds of both yycheck and yytname. */ 3322 int yychecklim = YYLAST - yyn + 1; 3323 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 3324 int yycount = 1; 3325 3326 yyarg[0] = yytname[yytype]; 3327 yyfmt = yystpcpy (yyformat, yyunexpected); 3328 3329 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 3330 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 3331 { 3332 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 3333 { 3334 yycount = 1; 3335 yysize = yysize0; 3336 yyformat[sizeof yyunexpected - 1] = '\0'; 3337 break; 3338 } 3339 yyarg[yycount++] = yytname[yyx]; 3340 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 3341 yysize_overflow |= (yysize1 < yysize); 3342 yysize = yysize1; 3343 yyfmt = yystpcpy (yyfmt, yyprefix); 3344 yyprefix = yyor; 3345 } 3346 3347 yyf = YY_(yyformat); 3348 yysize1 = yysize + yystrlen (yyf); 3349 yysize_overflow |= (yysize1 < yysize); 3350 yysize = yysize1; 3351 3352 if (yysize_overflow) 3353 return YYSIZE_MAXIMUM; 3354 3355 if (yyresult) 3356 { 3357 /* Avoid sprintf, as that infringes on the user's name space. 3358 Don't have undefined behavior even if the translation 3359 produced a string with the wrong number of "%s"s. */ 3360 char *yyp = yyresult; 3361 int yyi = 0; 3362 while ((*yyp = *yyf) != '\0') 3363 { 3364 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 3365 { 3366 yyp += yytnamerr (yyp, yyarg[yyi++]); 3367 yyf += 2; 3368 } 3369 else 3370 { 3371 yyp++; 3372 yyf++; 3373 } 3374 } 3375 } 3376 return yysize; 3247 int yyn = yypact[*yyssp]; 3248 yyarg[yycount++] = yytname[yytoken]; 3249 if (!yypact_value_is_default (yyn)) 3250 { 3251 /* Start YYX at -YYN if negative to avoid negative indexes in 3252 YYCHECK. In other words, skip the first -YYN actions for 3253 this state because they are default actions. */ 3254 int yyxbegin = yyn < 0 ? -yyn : 0; 3255 /* Stay within bounds of both yycheck and yytname. */ 3256 int yychecklim = YYLAST - yyn + 1; 3257 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 3258 int yyx; 3259 3260 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 3261 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 3262 && !yytable_value_is_error (yytable[yyx + yyn])) 3263 { 3264 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 3265 { 3266 yycount = 1; 3267 yysize = yysize0; 3268 break; 3269 } 3270 yyarg[yycount++] = yytname[yyx]; 3271 { 3272 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 3273 if (! (yysize <= yysize1 3274 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 3275 return 2; 3276 yysize = yysize1; 3277 } 3278 } 3279 } 3377 3280 } 3281 3282 switch (yycount) 3283 { 3284 # define YYCASE_(N, S) \ 3285 case N: \ 3286 yyformat = S; \ 3287 break 3288 YYCASE_(0, YY_("syntax error")); 3289 YYCASE_(1, YY_("syntax error, unexpected %s")); 3290 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 3291 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 3292 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 3293 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 3294 # undef YYCASE_ 3295 } 3296 3297 { 3298 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 3299 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 3300 return 2; 3301 yysize = yysize1; 3302 } 3303 3304 if (*yymsg_alloc < yysize) 3305 { 3306 *yymsg_alloc = 2 * yysize; 3307 if (! (yysize <= *yymsg_alloc 3308 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 3309 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 3310 return 1; 3311 } 3312 3313 /* Avoid sprintf, as that infringes on the user's name space. 3314 Don't have undefined behavior even if the translation 3315 produced a string with the wrong number of "%s"s. */ 3316 { 3317 char *yyp = *yymsg; 3318 int yyi = 0; 3319 while ((*yyp = *yyformat) != '\0') 3320 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 3321 { 3322 yyp += yytnamerr (yyp, yyarg[yyi++]); 3323 yyformat += 2; 3324 } 3325 else 3326 { 3327 yyp++; 3328 yyformat++; 3329 } 3330 } 3331 return 0; 3378 3332 } 3379 3333 #endif /* YYERROR_VERBOSE */ 3380 3381 3382 3334 3383 3335 /*-----------------------------------------------. … … 3408 3360 3409 3361 default: 3410 3362 break; 3411 3363 } 3412 3364 } … … 3414 3366 3415 3367 3416 /* Prevent warnings from -Wmissing-prototypes. */ 3417 3418 #ifdef YYPARSE_PARAM 3419 #if defined __STDC__ || defined __cplusplus 3420 int yyparse (void *YYPARSE_PARAM); 3421 #else 3422 int yyparse (); 3368 3369 /* The lookahead symbol. */ 3370 int yychar; 3371 3372 3373 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3374 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3375 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 3423 3376 #endif 3424 #else /* ! YYPARSE_PARAM */ 3425 #if defined __STDC__ || defined __cplusplus 3426 int yyparse (void); 3427 #else 3428 int yyparse (); 3377 #ifndef YY_INITIAL_VALUE 3378 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 3429 3379 #endif 3430 #endif /* ! YYPARSE_PARAM */ 3431 3432 3433 3434 /* The look-ahead symbol. */ 3435 int yychar; 3436 3437 /* The semantic value of the look-ahead symbol. */ 3438 YYSTYPE yylval; 3380 3381 /* The semantic value of the lookahead symbol. */ 3382 YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 3439 3383 3440 3384 /* Number of syntax errors so far. */ 3441 3385 int yynerrs; 3442 3443 3386 3444 3387 … … 3469 3412 #endif 3470 3413 { 3471 3472 int yystate; 3414 int yystate; 3415 /* Number of tokens to shift before error messages enabled. */ 3416 int yyerrstatus; 3417 3418 /* The stacks and their tools: 3419 `yyss': related to states. 3420 `yyvs': related to semantic values. 3421 3422 Refer to the stacks through separate pointers, to allow yyoverflow 3423 to reallocate them elsewhere. */ 3424 3425 /* The state stack. */ 3426 yytype_int16 yyssa[YYINITDEPTH]; 3427 yytype_int16 *yyss; 3428 yytype_int16 *yyssp; 3429 3430 /* The semantic value stack. */ 3431 YYSTYPE yyvsa[YYINITDEPTH]; 3432 YYSTYPE *yyvs; 3433 YYSTYPE *yyvsp; 3434 3435 YYSIZE_T yystacksize; 3436 3473 3437 int yyn; 3474 3438 int yyresult; 3475 /* Number of tokens to shift before error messages enabled. */ 3476 int yyerrstatus; 3477 /* Look-ahead token as an internal (translated) token number. */ 3439 /* Lookahead token as an internal (translated) token number. */ 3478 3440 int yytoken = 0; 3441 /* The variables used to return semantic value and location from the 3442 action routines. */ 3443 YYSTYPE yyval; 3444 3479 3445 #if YYERROR_VERBOSE 3480 3446 /* Buffer for error messages, and its allocated size. */ … … 3484 3450 #endif 3485 3451 3486 /* Three stacks and their tools:3487 `yyss': related to states,3488 `yyvs': related to semantic values,3489 `yyls': related to locations.3490 3491 Refer to the stacks thru separate pointers, to allow yyoverflow3492 to reallocate them elsewhere. */3493 3494 /* The state stack. */3495 yytype_int16 yyssa[YYINITDEPTH];3496 yytype_int16 *yyss = yyssa;3497 yytype_int16 *yyssp;3498 3499 /* The semantic value stack. */3500 YYSTYPE yyvsa[YYINITDEPTH];3501 YYSTYPE *yyvs = yyvsa;3502 YYSTYPE *yyvsp;3503 3504 3505 3506 3452 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 3507 3508 YYSIZE_T yystacksize = YYINITDEPTH;3509 3510 /* The variables used to return semantic value and location from the3511 action routines. */3512 YYSTYPE yyval;3513 3514 3453 3515 3454 /* The number of symbols on the RHS of the reduced rule. … … 3517 3456 int yylen = 0; 3518 3457 3458 yyssp = yyss = yyssa; 3459 yyvsp = yyvs = yyvsa; 3460 yystacksize = YYINITDEPTH; 3461 3519 3462 YYDPRINTF ((stderr, "Starting parse\n")); 3520 3463 … … 3522 3465 yyerrstatus = 0; 3523 3466 yynerrs = 0; 3524 yychar = YYEMPTY; /* Cause a token to be read. */ 3525 3526 /* Initialize stack pointers. 3527 Waste one element of value and location stack 3528 so that they stay on the same level as the state stack. 3529 The wasted elements are never initialized. */ 3530 3531 yyssp = yyss; 3532 yyvsp = yyvs; 3533 3467 yychar = YYEMPTY; /* Cause a token to be read. */ 3534 3468 goto yysetstate; 3535 3469 … … 3558 3492 yytype_int16 *yyss1 = yyss; 3559 3493 3560 3561 3494 /* Each stack pointer address is followed by the size of the 3562 3495 data in use in that stack, in bytes. This used to be a … … 3566 3499 &yyss1, yysize * sizeof (*yyssp), 3567 3500 &yyvs1, yysize * sizeof (*yyvsp), 3568 3569 3501 &yystacksize); 3570 3502 … … 3589 3521 if (! yyptr) 3590 3522 goto yyexhaustedlab; 3591 YYSTACK_RELOCATE (yyss); 3592 YYSTACK_RELOCATE (yyvs); 3593 3523 YYSTACK_RELOCATE (yyss_alloc, yyss); 3524 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 3594 3525 # undef YYSTACK_RELOCATE 3595 3526 if (yyss1 != yyssa) … … 3602 3533 yyvsp = yyvs + yysize - 1; 3603 3534 3604 3605 3535 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 3606 3536 (unsigned long int) yystacksize)); … … 3611 3541 3612 3542 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 3543 3544 if (yystate == YYFINAL) 3545 YYACCEPT; 3613 3546 3614 3547 goto yybackup; … … 3620 3553 3621 3554 /* Do appropriate processing given the current state. Read a 3622 look -ahead token if we need one and don't already have one. */3623 3624 /* First try to decide what to do without reference to look -ahead token. */3555 lookahead token if we need one and don't already have one. */ 3556 3557 /* First try to decide what to do without reference to lookahead token. */ 3625 3558 yyn = yypact[yystate]; 3626 if (yy n == YYPACT_NINF)3559 if (yypact_value_is_default (yyn)) 3627 3560 goto yydefault; 3628 3561 3629 /* Not known => get a look -ahead token if don't already have one. */3630 3631 /* YYCHAR is either YYEMPTY or YYEOF or a valid look -ahead symbol. */3562 /* Not known => get a lookahead token if don't already have one. */ 3563 3564 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 3632 3565 if (yychar == YYEMPTY) 3633 3566 { … … 3655 3588 if (yyn <= 0) 3656 3589 { 3657 if (yy n == 0 || yyn == YYTABLE_NINF)3658 3590 if (yytable_value_is_error (yyn)) 3591 goto yyerrlab; 3659 3592 yyn = -yyn; 3660 3593 goto yyreduce; 3661 3594 } 3662 3663 if (yyn == YYFINAL)3664 YYACCEPT;3665 3595 3666 3596 /* Count tokens shifted since error; after three, turn off error … … 3669 3599 yyerrstatus--; 3670 3600 3671 /* Shift the look -ahead token. */3601 /* Shift the lookahead token. */ 3672 3602 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 3673 3603 3674 /* Discard the shifted token unless it is eof. */ 3675 if (yychar != YYEOF) 3676 yychar = YYEMPTY; 3604 /* Discard the shifted token. */ 3605 yychar = YYEMPTY; 3677 3606 3678 3607 yystate = yyn; 3608 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3679 3609 *++yyvsp = yylval; 3610 YY_IGNORE_MAYBE_UNINITIALIZED_END 3680 3611 3681 3612 goto yynewstate; … … 3713 3644 switch (yyn) 3714 3645 { 3715 case 8: 3716 #line 344 "fortran.y" 3717 {yyerrok;yyclearin;;} 3718 break; 3719 3720 case 13: 3721 #line 352 "fortran.y" 3646 case 7: 3647 /* Line 1807 of yacc.c */ 3648 #line 319 "fortran.y" 3649 {yyerrok;yyclearin;} 3650 break; 3651 3652 case 18: 3653 /* Line 1807 of yacc.c */ 3654 #line 337 "fortran.y" 3722 3655 { 3723 if (inmoduledeclare == 0 ) 3724 { 3725 pos_end = setposcur(); 3726 RemoveWordSET_0(fortranout,pos_curinclude, 3727 pos_end-pos_curinclude); 3728 } 3729 ;} 3730 break; 3731 3732 case 18: 3733 #line 368 "fortran.y" 3656 if (inmoduledeclare == 0 ) 3657 { 3658 pos_end = setposcur(); 3659 RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); 3660 } 3661 } 3662 break; 3663 3664 case 20: 3665 /* Line 1807 of yacc.c */ 3666 #line 347 "fortran.y" 3667 { pos_cur = setposcur(); } 3668 break; 3669 3670 case 21: 3671 /* Line 1807 of yacc.c */ 3672 #line 350 "fortran.y" 3673 { isrecursive = 0; } 3674 break; 3675 3676 case 22: 3677 /* Line 1807 of yacc.c */ 3678 #line 351 "fortran.y" 3679 { isrecursive = 1; } 3680 break; 3681 3682 case 23: 3683 /* Line 1807 of yacc.c */ 3684 #line 354 "fortran.y" 3685 { is_result_present = 0; } 3686 break; 3687 3688 case 24: 3689 /* Line 1807 of yacc.c */ 3690 #line 355 "fortran.y" 3691 { is_result_present = 1; } 3692 break; 3693 3694 case 25: 3695 /* Line 1807 of yacc.c */ 3696 #line 359 "fortran.y" 3734 3697 { 3735 /* we should ignore the declaration until the keyword */ 3736 /* TOK_ENDDONOTTREAT */ 3737 couldaddvariable = 0 ; 3738 RemoveWordCUR_0(fortranout,-20,20); 3739 ;} 3740 break; 3741 3742 case 19: 3743 #line 375 "fortran.y" 3698 insubroutinedeclare = 1; 3699 if ( firstpass ) 3700 Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 3701 else 3702 WriteBeginof_SubLoop(); 3703 } 3704 break; 3705 3706 case 26: 3707 /* Line 1807 of yacc.c */ 3708 #line 367 "fortran.y" 3744 3709 { 3745 couldaddvariable = 1 ; 3746 RemoveWordCUR_0(fortranout,-24,24); 3747 ;} 3748 break; 3749 3750 case 22: 3751 #line 382 "fortran.y" 3752 {pos_cur = setposcur();;} 3710 insubroutinedeclare = 1; 3711 inprogramdeclare = 1; 3712 /* in the second step we should write the head of */ 3713 /* the subroutine sub_loop_<subroutinename> */ 3714 if ( ! firstpass ) 3715 WriteBeginof_SubLoop(); 3716 } 3753 3717 break; 3754 3718 3755 3719 case 27: 3756 #line 394 "fortran.y" 3757 {if (incom !=1) {strcpy(curbuf,"");incom=0;};} 3720 /* Line 1807 of yacc.c */ 3721 #line 376 "fortran.y" 3722 { 3723 insubroutinedeclare = 1; 3724 strcpy(DeclType, ""); 3725 /* we should to list of the subroutine argument the */ 3726 /* name of the function which has to be defined */ 3727 if ( firstpass ) 3728 { 3729 Add_SubroutineArgument_Var_1((yyvsp[(4) - (5)].l)); 3730 if ( ! is_result_present ) 3731 Add_FunctionType_Var_1((yyvsp[(3) - (5)].na)); 3732 } 3733 else 3734 /* in the second step we should write the head of */ 3735 /* the subroutine sub_loop_<subroutinename> */ 3736 WriteBeginof_SubLoop(); 3737 } 3758 3738 break; 3759 3739 3760 3740 case 28: 3761 #line 397 "fortran.y" 3762 {isrecursive = 0;;} 3763 break; 3764 3765 case 29: 3766 #line 399 "fortran.y" 3767 {isrecursive = 1;;} 3741 /* Line 1807 of yacc.c */ 3742 #line 393 "fortran.y" 3743 { 3744 GlobalDeclaration = 0; 3745 strcpy(curmodulename,(yyvsp[(2) - (2)].na)); 3746 strcpy(subroutinename,""); 3747 Add_NameOfModule_1((yyvsp[(2) - (2)].na)); 3748 if ( inmoduledeclare == 0 ) 3749 { 3750 /* To know if there are in the module declaration */ 3751 inmoduledeclare = 1; 3752 /* to know if a module has been met */ 3753 inmodulemeet = 1; 3754 /* to know if we are after the keyword contains */ 3755 aftercontainsdeclare = 0 ; 3756 } 3757 } 3768 3758 break; 3769 3759 3770 3760 case 31: 3771 #line 403 "fortran.y" 3761 /* Line 1807 of yacc.c */ 3762 #line 415 "fortran.y" 3763 { strcpy((yyval.na), (yyvsp[(1) - (1)].na)); strcpy(subroutinename, (yyvsp[(1) - (1)].na)); } 3764 break; 3765 3766 case 32: 3767 /* Line 1807 of yacc.c */ 3768 #line 417 "fortran.y" 3769 { Add_Include_1((yyvsp[(1) - (1)].na)); } 3770 break; 3771 3772 case 33: 3773 /* Line 1807 of yacc.c */ 3774 #line 419 "fortran.y" 3775 { if ( firstpass ) (yyval.l)=NULL; } 3776 break; 3777 3778 case 34: 3779 /* Line 1807 of yacc.c */ 3780 #line 420 "fortran.y" 3781 { if ( firstpass ) (yyval.l)=NULL; } 3782 break; 3783 3784 case 35: 3785 /* Line 1807 of yacc.c */ 3786 #line 421 "fortran.y" 3787 { if ( firstpass ) (yyval.l)=(yyvsp[(2) - (3)].l); } 3788 break; 3789 3790 case 38: 3791 /* Line 1807 of yacc.c */ 3792 #line 425 "fortran.y" 3793 { if ( firstpass ) Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l)); } 3794 break; 3795 3796 case 39: 3797 /* Line 1807 of yacc.c */ 3798 #line 428 "fortran.y" 3772 3799 { 3773 if ( couldaddvariable == 1) 3774 { 3775 /* open param file */ 3776 if ( firstpass == 0 ) 3777 { 3778 sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (4)].nac)); 3779 paramout=fopen(ligne,"w"); 3780 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 3781 else fprintf(paramout,"C\n"); 3782 3783 } 3784 Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 3785 if ( inmodulemeet == 1 ) 3786 { 3787 insubroutinedeclare = 1; 3788 /* in the second step we should write the head of */ 3789 /* the subroutine sub_loop_<subroutinename> */ 3790 writeheadnewsub_0(1); 3791 } 3792 else 3793 { 3794 insubroutinedeclare = 1; 3795 writeheadnewsub_0(1); 3796 } 3797 } 3798 ;} 3799 break; 3800 3801 case 32: 3802 #line 431 "fortran.y" 3800 if ( firstpass == 1 ) 3801 { 3802 strcpy(nameinttypenameback,nameinttypename); 3803 strcpy(nameinttypename,""); 3804 curvar = createvar((yyvsp[(1) - (1)].na),NULL); 3805 strcpy(nameinttypename,nameinttypenameback); 3806 curlistvar = insertvar(NULL,curvar); 3807 (yyval.l) = settype("",curlistvar); 3808 } 3809 } 3810 break; 3811 3812 case 40: 3813 /* Line 1807 of yacc.c */ 3814 #line 440 "fortran.y" 3803 3815 { 3804 /* open param file */ 3805 if ( firstpass == 0 ) 3806 { 3807 sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (2)].nac)); 3808 paramout=fopen(ligne,"w"); 3809 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 3810 else fprintf(paramout,"C\n"); 3811 3812 } 3813 strcpy(subroutinename,(yyvsp[(2) - (2)].nac)); 3814 /* Common case */ 3815 insubroutinedeclare = 1; 3816 /* in the second step we should write the head of */ 3817 /* the subroutine sub_loop_<subroutinename> */ 3818 writeheadnewsub_0(1); 3819 ;} 3820 break; 3821 3822 case 33: 3823 #line 449 "fortran.y" 3816 if ( firstpass == 1 ) 3817 { 3818 strcpy(nameinttypenameback,nameinttypename); 3819 strcpy(nameinttypename,""); 3820 curvar = createvar((yyvsp[(3) - (3)].na),NULL); 3821 strcpy(nameinttypename,nameinttypenameback); 3822 (yyval.l) = insertvar((yyvsp[(1) - (3)].l),curvar); 3823 } 3824 } 3825 break; 3826 3827 case 41: 3828 /* Line 1807 of yacc.c */ 3829 #line 451 "fortran.y" 3830 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 3831 break; 3832 3833 case 42: 3834 /* Line 1807 of yacc.c */ 3835 #line 452 "fortran.y" 3836 { strcpy((yyval.na),"*"); } 3837 break; 3838 3839 case 44: 3840 /* Line 1807 of yacc.c */ 3841 #line 455 "fortran.y" 3842 { inside_type_declare = 1; } 3843 break; 3844 3845 case 45: 3846 /* Line 1807 of yacc.c */ 3847 #line 456 "fortran.y" 3848 { inside_type_declare = 0; } 3849 break; 3850 3851 case 47: 3852 /* Line 1807 of yacc.c */ 3853 #line 459 "fortran.y" 3824 3854 { 3825 /* open param file */ 3826 if ( firstpass == 0 ) 3827 { 3828 sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (6)].nac)); 3829 paramout=fopen(ligne,"w"); 3830 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 3831 else fprintf(paramout,"C\n"); 3832 } 3833 strcpy(subroutinename,(yyvsp[(3) - (6)].nac)); 3834 if ( inmodulemeet == 1 ) 3835 { 3836 insubroutinedeclare = 1; 3837 /* we should to list of the subroutine argument the */ 3838 /* name of the function which has to be defined */ 3839 Add_SubroutineArgument_Var_1((yyvsp[(4) - (6)].l)); 3840 strcpy(DeclType,""); 3841 /* in the second step we should write the head of */ 3842 /* the subroutine sub_loop_<subroutinename> */ 3843 writeheadnewsub_0(2); 3844 } 3845 else 3846 { 3847 insubroutinedeclare = 1; 3848 /* we should to list of the subroutine argument */ 3849 /* name of the function which has to be defined */ 3850 Add_SubroutineArgument_Var_1((yyvsp[(4) - (6)].l)); 3851 strcpy(DeclType,""); 3852 Add_FunctionType_Var_1((yyvsp[(3) - (6)].nac)); 3853 writeheadnewsub_0(2); 3854 } 3855 ;} 3856 break; 3857 3858 case 34: 3859 #line 482 "fortran.y" 3855 if ( ! inside_type_declare ) 3856 { 3857 if ( firstpass ) 3858 { 3859 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[(3) - (4)].l)); 3860 else Add_GlobalParameter_Var_1((yyvsp[(3) - (4)].l)); 3861 } 3862 else 3863 { 3864 pos_end = setposcur(); 3865 RemoveWordSET_0(fortran_out, pos_cur_decl, pos_end-pos_cur_decl); 3866 } 3867 } 3868 VariableIsParameter = 0 ; 3869 } 3870 break; 3871 3872 case 48: 3873 /* Line 1807 of yacc.c */ 3874 #line 476 "fortran.y" 3860 3875 { 3861 /* open param file */ 3862 if ( firstpass == 0 ) 3863 { 3864 sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(3) - (4)].nac)); 3865 paramout=fopen(ligne,"w"); 3866 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 3867 else fprintf(paramout,"C\n"); 3868 } 3869 strcpy(subroutinename,(yyvsp[(3) - (4)].nac)); 3870 if ( inmodulemeet == 1 ) 3871 { 3872 insubroutinedeclare = 1; 3873 /* we should to list of the subroutine argument the */ 3874 /* name of the function which has to be defined */ 3875 Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 3876 strcpy(DeclType,""); 3877 Add_FunctionType_Var_1((yyvsp[(3) - (4)].nac)); 3878 /* in the second step we should write the head of */ 3879 /* the subroutine sub_loop_<subroutinename> */ 3880 writeheadnewsub_0(2); 3881 } 3882 else 3883 { 3884 insubroutinedeclare = 1; 3885 /* we should to list of the subroutine argument */ 3886 /* name of the function which has to be defined */ 3887 Add_SubroutineArgument_Var_1((yyvsp[(4) - (4)].l)); 3888 strcpy(DeclType,""); 3889 Add_FunctionType_Var_1((yyvsp[(3) - (4)].nac)); 3890 writeheadnewsub_0(2); 3891 } 3892 ;} 3893 break; 3894 3895 case 35: 3896 #line 516 "fortran.y" 3876 if ( ! inside_type_declare ) 3877 { 3878 if ( firstpass ) 3879 { 3880 if ( insubroutinedeclare ) Add_Parameter_Var_1((yyvsp[(2) - (2)].l)); 3881 else Add_GlobalParameter_Var_1((yyvsp[(2) - (2)].l)); 3882 } 3883 else 3884 { 3885 pos_end = setposcur(); 3886 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 3887 } 3888 } 3889 VariableIsParameter = 0 ; 3890 } 3891 break; 3892 3893 case 50: 3894 /* Line 1807 of yacc.c */ 3895 #line 494 "fortran.y" 3897 3896 { 3898 GlobalDeclaration = 0; 3899 strcpy(curmodulename,(yyvsp[(2) - (2)].nac)); 3900 strcpy(subroutinename,""); 3901 Add_NameOfModule_1((yyvsp[(2) - (2)].nac)); 3902 if ( inmoduledeclare == 0 ) 3903 { 3904 /* To know if there are in the module declaration */ 3905 inmoduledeclare = 1; 3906 /* to know if a module has been met */ 3907 inmodulemeet = 1; 3908 /* to know if we are after the keyword contains */ 3909 aftercontainsdeclare = 0 ; 3910 } 3911 ;} 3912 break; 3913 3914 case 36: 3915 #line 533 "fortran.y" 3897 pos_end = setposcur(); 3898 RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); 3899 } 3900 break; 3901 3902 case 52: 3903 /* Line 1807 of yacc.c */ 3904 #line 500 "fortran.y" 3916 3905 { 3917 if ( couldaddvariable == 1 ) 3918 { 3919 strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));strcpy(subroutinename,(yyvsp[(1) - (1)].nac)); 3920 } 3921 ;} 3922 break; 3923 3924 case 38: 3925 #line 542 "fortran.y" 3906 /* if the variable is a parameter we can suppose that is */ 3907 /* value is the same on each grid. It is not useless to */ 3908 /* create a copy of it on each grid */ 3909 if ( ! inside_type_declare ) 3910 { 3911 if ( firstpass ) 3912 { 3913 Add_Globliste_1((yyvsp[(1) - (1)].l)); 3914 /* if variableparamlists has been declared in a subroutine */ 3915 if ( insubroutinedeclare ) Add_Dimension_Var_1((yyvsp[(1) - (1)].l)); 3916 } 3917 else 3918 { 3919 pos_end = setposcur(); 3920 RemoveWordSET_0(fortran_out,pos_curdimension,pos_end-pos_curdimension); 3921 } 3922 } 3923 PublicDeclare = 0; 3924 PrivateDeclare = 0; 3925 ExternalDeclare = 0; 3926 strcpy(NamePrecision,""); 3927 c_star = 0; 3928 InitialValueGiven = 0 ; 3929 strcpy(IntentSpec,""); 3930 VariableIsParameter = 0 ; 3931 Allocatabledeclare = 0 ; 3932 Targetdeclare = 0 ; 3933 SaveDeclare = 0; 3934 pointerdeclare = 0; 3935 optionaldeclare = 0 ; 3936 dimsgiven=0; 3937 c_selectorgiven=0; 3938 strcpy(nameinttypename,""); 3939 strcpy(c_selectorname,""); 3940 } 3941 break; 3942 3943 case 53: 3944 /* Line 1807 of yacc.c */ 3945 #line 537 "fortran.y" 3926 3946 { 3927 pos_curinclude = setposcur()-9; 3928 ;} 3929 break; 3930 3931 case 39: 3932 #line 546 "fortran.y" 3947 if (firstpass == 0) 3948 { 3949 if ((yyvsp[(1) - (1)].lnn)) 3950 { 3951 removeglobfromlist(&((yyvsp[(1) - (1)].lnn))); 3952 pos_end = setposcur(); 3953 RemoveWordSET_0(fortran_out,pos_cur,pos_end-pos_cur); 3954 writelistpublic((yyvsp[(1) - (1)].lnn)); 3955 } 3956 } 3957 } 3958 break; 3959 3960 case 62: 3961 /* Line 1807 of yacc.c */ 3962 #line 558 "fortran.y" 3933 3963 { 3934 if ( couldaddvariable == 1 ) Add_Include_1((yyvsp[(1) - (1)].nac)); 3935 ;} 3936 break; 3937 3938 case 40: 3939 #line 550 "fortran.y" 3964 /* we should remove the data declaration */ 3965 pos_end = setposcur(); 3966 RemoveWordSET_0(fortran_out,pos_curdata,pos_end-pos_curdata); 3967 3968 if ( aftercontainsdeclare == 1 && firstpass == 0 ) 3969 { 3970 ReWriteDataStatement_0(fortran_out); 3971 pos_end = setposcur(); 3972 } 3973 } 3974 break; 3975 3976 case 64: 3977 /* Line 1807 of yacc.c */ 3978 #line 572 "fortran.y" 3940 3979 { 3941 if ( firstpass == 1 && couldaddvariable == 1) (yyval.l)=NULL; 3942 ;} 3943 break; 3944 3945 case 41: 3946 #line 553 "fortran.y" 3980 PublicDeclare = 0 ; 3981 PrivateDeclare = 0 ; 3982 } 3983 break; 3984 3985 case 102: 3986 /* Line 1807 of yacc.c */ 3987 #line 630 "fortran.y" 3947 3988 { 3948 if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=NULL; 3949 ;} 3950 break; 3951 3952 case 42: 3953 #line 557 "fortran.y" 3989 /* if the variable is a parameter we can suppose that is*/ 3990 /* value is the same on each grid. It is not useless */ 3991 /* to create a copy of it on each grid */ 3992 if ( ! inside_type_declare ) 3993 { 3994 pos_end = setposcur(); 3995 RemoveWordSET_0(fortran_out,pos_cur_decl,pos_end-pos_cur_decl); 3996 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(1) - (2)].l)); 3997 pos_cur_decl = setposcur(); 3998 if ( firstpass == 0 && GlobalDeclaration == 0 3999 && insubroutinedeclare == 0 ) 4000 { 4001 fprintf(fortran_out,"\n#include \"Module_Declar_%s.h\"\n", curmodulename); 4002 sprintf(ligne, "Module_Declar_%s.h", curmodulename); 4003 module_declar = open_for_write(ligne); 4004 GlobalDeclaration = 1 ; 4005 pos_cur_decl = setposcur(); 4006 } 4007 (yyval.l) = (yyvsp[(1) - (2)].l); 4008 4009 if ( firstpass ) 4010 { 4011 Add_Globliste_1((yyvsp[(1) - (2)].l)); 4012 if ( insubroutinedeclare ) 4013 { 4014 if ( pointerdeclare ) Add_Pointer_Var_From_List_1((yyvsp[(1) - (2)].l)); 4015 Add_Parameter_Var_1((yyvsp[(1) - (2)].l)); 4016 } 4017 else 4018 Add_GlobalParameter_Var_1((yyvsp[(1) - (2)].l)); 4019 4020 /* If there's a SAVE declaration in module's subroutines we should */ 4021 /* remove it from the subroutines declaration and add it in the */ 4022 /* global declarations */ 4023 if ( aftercontainsdeclare && SaveDeclare ) 4024 { 4025 if ( inmodulemeet ) Add_SubroutineDeclarationSave_Var_1((yyvsp[(1) - (2)].l)); 4026 else Add_Save_Var_dcl_1((yyvsp[(1) - (2)].l)); 4027 } 4028 } 4029 } 4030 else 4031 { 4032 (yyval.l) = (listvar *) NULL; 4033 } 4034 PublicDeclare = 0; 4035 PrivateDeclare = 0; 4036 ExternalDeclare = 0; 4037 strcpy(NamePrecision,""); 4038 c_star = 0; 4039 InitialValueGiven = 0 ; 4040 strcpy(IntentSpec,""); 4041 VariableIsParameter = 0 ; 4042 Allocatabledeclare = 0 ; 4043 Targetdeclare = 0 ; 4044 SaveDeclare = 0; 4045 pointerdeclare = 0; 4046 optionaldeclare = 0 ; 4047 dimsgiven=0; 4048 c_selectorgiven=0; 4049 strcpy(nameinttypename,""); 4050 strcpy(c_selectorname,""); 4051 GlobalDeclarationType = 0; 4052 } 4053 break; 4054 4055 case 103: 4056 /* Line 1807 of yacc.c */ 4057 #line 696 "fortran.y" 3954 4058 { 3955 if ( firstpass == 1 && couldaddvariable == 1 ) (yyval.l)=(yyvsp[(2) - (3)].l); 3956 ;} 3957 break; 3958 3959 case 45: 3960 #line 564 "fortran.y" 4059 insubroutinedeclare = 1; 4060 4061 if ( firstpass ) 4062 { 4063 Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 4064 Add_FunctionType_Var_1((yyvsp[(2) - (3)].na)); 4065 } 4066 else 4067 WriteBeginof_SubLoop(); 4068 4069 strcpy(nameinttypename,""); 4070 } 4071 break; 4072 4073 case 104: 4074 /* Line 1807 of yacc.c */ 4075 #line 710 "fortran.y" 4076 { functiondeclarationisdone = 1; } 4077 break; 4078 4079 case 105: 4080 /* Line 1807 of yacc.c */ 4081 #line 712 "fortran.y" 4082 { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } 4083 break; 4084 4085 case 109: 4086 /* Line 1807 of yacc.c */ 4087 #line 724 "fortran.y" 3961 4088 { 3962 if ( couldaddvariable == 1 )3963 {3964 Add_SubroutineArgument_Var_1((yyvsp[(2) - (3)].l));3965 3966 ;}3967 break; 3968 3969 case 46: 3970 #line 571"fortran.y"4089 createstringfromlistname(ligne,(yyvsp[(3) - (4)].lnn)); 4090 if (firstpass == 1) Add_Data_Var_1(&List_Data_Var,(yyvsp[(1) - (4)].na),ligne); 4091 else Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(1) - (4)].na),ligne); 4092 } 4093 break; 4094 4095 case 110: 4096 /* Line 1807 of yacc.c */ 4097 #line 730 "fortran.y" 3971 4098 { 3972 if ( firstpass == 1 && couldaddvariable == 1) 3973 { 3974 strcpy(nameinttypenameback,nameinttypename); 3975 strcpy(nameinttypename,""); 3976 curvar=createvar((yyvsp[(1) - (1)].na),NULL); 3977 strcpy(nameinttypename,nameinttypenameback); 3978 curlistvar=insertvar(NULL,curvar); 3979 (yyval.l)=settype("",curlistvar); 3980 } 3981 ;} 3982 break; 3983 3984 case 47: 3985 #line 583 "fortran.y" 4099 if (firstpass == 1) Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 4100 else Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 4101 } 4102 break; 4103 4104 case 111: 4105 /* Line 1807 of yacc.c */ 4106 #line 735 "fortran.y" 3986 4107 { 3987 if ( firstpass == 1 && couldaddvariable == 1) 3988 { 3989 strcpy(nameinttypenameback,nameinttypename); 3990 strcpy(nameinttypename,""); 3991 curvar=createvar((yyvsp[(3) - (3)].na),NULL); 3992 strcpy(nameinttypename,nameinttypenameback); 3993 (yyval.l)=insertvar((yyvsp[(1) - (3)].l),curvar); 3994 } 3995 ;} 3996 break; 3997 3998 case 48: 3999 #line 594 "fortran.y" 4000 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 4001 break; 4002 4003 case 49: 4004 #line 595 "fortran.y" 4005 {if ( couldaddvariable == 1 ) strcpy((yyval.na),"*");;} 4006 break; 4007 4008 case 50: 4009 #line 598 "fortran.y" 4108 createstringfromlistname(ligne,(yyvsp[(7) - (8)].lnn)); 4109 printf("###################################################################################################################\n"); 4110 printf("## CONV Error : data_implied_do statements (R537) are not yet supported. Please complain to the proper authorities.\n"); 4111 printf("l.%4d -- data_stmt_set : ( lhs , dospec ) /data_stmt_value_list/ -- lhs=|%s| dospec=|%s| data_stmt_value_list=|%s|\n", 4112 line_num_input,(yyvsp[(2) - (8)].na),(yyvsp[(4) - (8)].na),ligne); 4113 printf("## But, are you SURE you NEED a DATA construct ?\n"); 4114 printf("###################################################################################################################\n"); 4115 exit(1); 4116 } 4117 break; 4118 4119 case 112: 4120 /* Line 1807 of yacc.c */ 4121 #line 748 "fortran.y" 4122 { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 4123 break; 4124 4125 case 113: 4126 /* Line 1807 of yacc.c */ 4127 #line 749 "fortran.y" 4128 { (yyval.lnn) = Insertname((yyvsp[(3) - (3)].lnn),(yyvsp[(1) - (3)].na),1); } 4129 break; 4130 4131 case 118: 4132 /* Line 1807 of yacc.c */ 4133 #line 758 "fortran.y" 4134 { pos_cursave = setposcur()-4; } 4135 break; 4136 4137 case 120: 4138 /* Line 1807 of yacc.c */ 4139 #line 761 "fortran.y" 4140 { if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].d)); } 4141 break; 4142 4143 case 121: 4144 /* Line 1807 of yacc.c */ 4145 #line 764 "fortran.y" 4146 { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 4147 break; 4148 4149 case 122: 4150 /* Line 1807 of yacc.c */ 4151 #line 765 "fortran.y" 4152 { printf("l.%4d -- INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n",line_num_input); exit(0); } 4153 break; 4154 4155 case 123: 4156 /* Line 1807 of yacc.c */ 4157 #line 766 "fortran.y" 4158 { (yyval.lnn) = concat_listname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].lnn)); } 4159 break; 4160 4161 case 124: 4162 /* Line 1807 of yacc.c */ 4163 #line 769 "fortran.y" 4164 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4165 break; 4166 4167 case 125: 4168 /* Line 1807 of yacc.c */ 4169 #line 770 "fortran.y" 4170 { sprintf((yyval.na),"%s+%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 4171 break; 4172 4173 case 126: 4174 /* Line 1807 of yacc.c */ 4175 #line 771 "fortran.y" 4176 { sprintf((yyval.na),"%s-%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 4177 break; 4178 4179 case 127: 4180 /* Line 1807 of yacc.c */ 4181 #line 772 "fortran.y" 4182 { sprintf((yyval.na),"%s*%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 4183 break; 4184 4185 case 128: 4186 /* Line 1807 of yacc.c */ 4187 #line 773 "fortran.y" 4188 { sprintf((yyval.na),"%s/%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 4189 break; 4190 4191 case 129: 4192 /* Line 1807 of yacc.c */ 4193 #line 775 "fortran.y" 4194 { strcpy((yyval.na),""); } 4195 break; 4196 4197 case 130: 4198 /* Line 1807 of yacc.c */ 4199 #line 776 "fortran.y" 4200 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4201 break; 4202 4203 case 135: 4204 /* Line 1807 of yacc.c */ 4205 #line 786 "fortran.y" 4010 4206 { 4011 if ( VarTypepar == 1 ) 4012 { 4013 couldaddvariable = 1 ; 4014 VarTypepar = 0; 4015 } 4016 ;} 4017 break; 4018 4019 case 51: 4020 #line 606 "fortran.y" 4207 positioninblock = 0; 4208 pos_curdimension = setposcur()-9; 4209 } 4210 break; 4211 4212 case 136: 4213 /* Line 1807 of yacc.c */ 4214 #line 793 "fortran.y" 4021 4215 { 4022 if ( couldaddvariable == 1 ) 4023 { 4024 VarType = 1; 4025 couldaddvariable = 0 ; 4026 } 4027 ;} 4028 break; 4029 4030 case 52: 4031 #line 614 "fortran.y" 4216 printf("l.%4d -- dimension : before_dimension opt_comma TOK_NAME = |%s| -- MHCHECK\n",line_num_input,(yyvsp[(3) - (5)].na)); 4217 if ( inside_type_declare ) break; 4218 curvar = createvar((yyvsp[(3) - (5)].na),(yyvsp[(4) - (5)].d)); 4219 CreateAndFillin_Curvar("", curvar); 4220 curlistvar=insertvar(NULL, curvar); 4221 (yyval.l) = settype("",curlistvar); 4222 strcpy(vallengspec,""); 4223 } 4224 break; 4225 4226 case 137: 4227 /* Line 1807 of yacc.c */ 4228 #line 803 "fortran.y" 4032 4229 { 4033 if ( VarType == 1 ) couldaddvariable = 1 ; 4034 VarType = 0; 4035 VarTypepar = 0; 4036 ;} 4037 break; 4038 4039 case 54: 4040 #line 621 "fortran.y" 4230 printf("l.%4d -- dimension : dimension ',' TOK_NAME dims lengspec = |%s| -- MHCHECK\n",line_num_input,(yyvsp[(3) - (5)].na)); 4231 if ( inside_type_declare ) break; 4232 curvar = createvar((yyvsp[(3) - (5)].na),(yyvsp[(4) - (5)].d)); 4233 CreateAndFillin_Curvar("", curvar); 4234 curlistvar = insertvar((yyvsp[(1) - (5)].l), curvar); 4235 (yyval.l) = curlistvar; 4236 strcpy(vallengspec,""); 4237 } 4238 break; 4239 4240 case 140: 4241 /* Line 1807 of yacc.c */ 4242 #line 818 "fortran.y" 4243 { (yyval.lnn) = (listname *) NULL; } 4244 break; 4245 4246 case 141: 4247 /* Line 1807 of yacc.c */ 4248 #line 819 "fortran.y" 4249 { (yyval.lnn) = (yyvsp[(3) - (3)].lnn); } 4250 break; 4251 4252 case 142: 4253 /* Line 1807 of yacc.c */ 4254 #line 822 "fortran.y" 4255 { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 4256 break; 4257 4258 case 143: 4259 /* Line 1807 of yacc.c */ 4260 #line 823 "fortran.y" 4261 { (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0); } 4262 break; 4263 4264 case 144: 4265 /* Line 1807 of yacc.c */ 4266 #line 824 "fortran.y" 4267 { (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),0); } 4268 break; 4269 4270 case 145: 4271 /* Line 1807 of yacc.c */ 4272 #line 825 "fortran.y" 4273 { (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].na),0); } 4274 break; 4275 4276 case 146: 4277 /* Line 1807 of yacc.c */ 4278 #line 829 "fortran.y" 4041 4279 { 4042 if ( couldaddvariable == 1 ) 4043 { 4044 if ( insubroutinedeclare == 0 ) 4045 { 4046 Add_GlobalParameter_Var_1((yyvsp[(3) - (4)].l)); 4047 } 4048 else Add_Parameter_Var_1((yyvsp[(3) - (4)].l)); 4049 pos_end = setposcur(); 4050 RemoveWordSET_0(fortranout,pos_cur_decl, 4051 pos_end-pos_cur_decl); 4052 } 4053 VariableIsParameter = 0 ; 4054 ;} 4055 break; 4056 4057 case 55: 4058 #line 636 "fortran.y" 4280 if ( inside_type_declare ) break; 4281 pos_end = setposcur(); 4282 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 4283 } 4284 break; 4285 4286 case 147: 4287 /* Line 1807 of yacc.c */ 4288 #line 835 "fortran.y" 4059 4289 { 4060 if ( couldaddvariable == 1 ) 4061 { 4062 if ( insubroutinedeclare == 0 ) 4063 Add_GlobalParameter_Var_1((yyvsp[(2) - (2)].l)); 4064 else Add_Parameter_Var_1((yyvsp[(2) - (2)].l)); 4065 pos_end = setposcur(); 4066 RemoveWordSET_0(fortranout,pos_cur_decl, 4067 pos_end-pos_cur_decl); 4068 } 4069 VariableIsParameter = 0 ; 4070 ;} 4071 break; 4072 4073 case 57: 4074 #line 650 "fortran.y" 4290 if ( inside_type_declare ) break; 4291 sprintf(charusemodule,"%s",(yyvsp[(2) - (3)].na)); 4292 Add_NameOfCommon_1((yyvsp[(2) - (3)].na),subroutinename); 4293 pos_end = setposcur(); 4294 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 4295 } 4296 break; 4297 4298 case 148: 4299 /* Line 1807 of yacc.c */ 4300 #line 843 "fortran.y" 4075 4301 { 4076 pos_end = setposcur(); 4077 RemoveWordSET_0(fortranout,pos_cursave, 4078 pos_end-pos_cursave); 4079 ;} 4080 break; 4081 4082 case 59: 4083 #line 657 "fortran.y" 4302 if ( inside_type_declare ) break; 4303 sprintf(charusemodule,"%s",(yyvsp[(3) - (5)].na)); 4304 Add_NameOfCommon_1((yyvsp[(3) - (5)].na),subroutinename); 4305 pos_end = setposcur(); 4306 RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); 4307 } 4308 break; 4309 4310 case 149: 4311 /* Line 1807 of yacc.c */ 4312 #line 852 "fortran.y" 4313 { positioninblock = 0; pos_curcommon = setposcur()-6; } 4314 break; 4315 4316 case 150: 4317 /* Line 1807 of yacc.c */ 4318 #line 853 "fortran.y" 4319 { positioninblock = 0; pos_curcommon = setposcur()-6-7; } 4320 break; 4321 4322 case 151: 4323 /* Line 1807 of yacc.c */ 4324 #line 856 "fortran.y" 4325 { if ( ! inside_type_declare ) Add_Common_var_1(); } 4326 break; 4327 4328 case 152: 4329 /* Line 1807 of yacc.c */ 4330 #line 857 "fortran.y" 4331 { if ( ! inside_type_declare ) Add_Common_var_1(); } 4332 break; 4333 4334 case 153: 4335 /* Line 1807 of yacc.c */ 4336 #line 861 "fortran.y" 4084 4337 { 4085 /* if the variable is a parameter we can suppose that is */ 4086 /* value is the same on each grid. It is not useless to */ 4087 /* create a copy of it on each grid */ 4088 if ( couldaddvariable == 1 ) 4089 { 4090 Add_Globliste_1((yyvsp[(1) - (1)].l)); 4091 /* if variableparamlists has been declared in a */ 4092 /* subroutine */ 4093 if ( insubroutinedeclare == 1 ) 4094 { 4095 Add_Dimension_Var_1((yyvsp[(1) - (1)].l)); 4096 } 4097 pos_end = setposcur(); 4098 RemoveWordSET_0(fortranout,pos_curdimension, 4099 pos_end-pos_curdimension); 4100 } 4101 /* */ 4102 PublicDeclare = 0; 4103 PrivateDeclare = 0; 4104 ExternalDeclare = 0; 4105 strcpy(NamePrecision,""); 4106 c_star = 0; 4107 strcpy(InitialValueGiven," "); 4108 strcpy(IntentSpec,""); 4109 VariableIsParameter = 0 ; 4110 Allocatabledeclare = 0 ; 4111 Targetdeclare = 0 ; 4112 SaveDeclare = 0; 4113 pointerdeclare = 0; 4114 optionaldeclare = 0 ; 4115 dimsgiven=0; 4116 c_selectorgiven=0; 4117 strcpy(nameinttypename,""); 4118 strcpy(c_selectorname,""); 4119 ;} 4120 break; 4121 4122 case 60: 4123 #line 694 "fortran.y" 4338 positioninblock = positioninblock + 1 ; 4339 strcpy(commonvar,(yyvsp[(1) - (2)].na)); 4340 commondim = (yyvsp[(2) - (2)].d); 4341 } 4342 break; 4343 4344 case 154: 4345 /* Line 1807 of yacc.c */ 4346 #line 869 "fortran.y" 4124 4347 { 4125 if (firstpass == 0) 4126 { 4127 if ((yyvsp[(1) - (1)].lnn)) 4128 { 4129 removeglobfromlist(&((yyvsp[(1) - (1)].lnn))); 4130 pos_end = setposcur(); 4131 RemoveWordSET_0(fortranout,pos_cur,pos_end-pos_cur); 4132 writelistpublic((yyvsp[(1) - (1)].lnn)); 4133 } 4134 } 4135 ;} 4136 break; 4137 4138 case 70: 4139 #line 716 "fortran.y" 4348 strcpy((yyval.na),""); 4349 positioninblock=0; 4350 strcpy(commonblockname,""); 4351 } 4352 break; 4353 4354 case 155: 4355 /* Line 1807 of yacc.c */ 4356 #line 875 "fortran.y" 4140 4357 { 4141 /* we should remove the data declaration */ 4142 if ( couldaddvariable == 1 && aftercontainsdeclare != 2 ) 4143 { 4144 pos_end = setposcur(); 4145 RemoveWordSET_0(fortranout,pos_curdata, 4146 pos_end-pos_curdata); 4147 } 4148 if ( couldaddvariable == 1 && aftercontainsdeclare == 1 ) 4149 { 4150 if (firstpass == 0) 4151 { 4152 ReWriteDataStatement_0(fortranout); 4153 pos_end = setposcur(); 4154 } 4155 } 4156 ;} 4157 break; 4158 4159 case 72: 4160 #line 736 "fortran.y" 4358 strcpy((yyval.na),(yyvsp[(2) - (3)].na)); 4359 positioninblock=0; 4360 strcpy(commonblockname,(yyvsp[(2) - (3)].na)); 4361 } 4362 break; 4363 4364 case 158: 4365 /* Line 1807 of yacc.c */ 4366 #line 885 "fortran.y" 4367 { (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); } 4368 break; 4369 4370 case 159: 4371 /* Line 1807 of yacc.c */ 4372 #line 886 "fortran.y" 4373 { (yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v)); } 4374 break; 4375 4376 case 160: 4377 /* Line 1807 of yacc.c */ 4378 #line 890 "fortran.y" 4161 4379 { 4162 PublicDeclare = 0 ; 4163 PrivateDeclare = 0 ; 4164 ;} 4165 break; 4166 4167 case 110: 4168 #line 787 "fortran.y" 4380 if ( inside_type_declare ) break; 4381 curvar=(variable *) calloc(1,sizeof(variable)); 4382 Init_Variable(curvar); 4383 curvar->v_VariableIsParameter = 1; 4384 strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].na)); 4385 strcpy(curvar->v_subroutinename,subroutinename); 4386 strcpy(curvar->v_modulename,curmodulename); 4387 strcpy(curvar->v_initialvalue,(yyvsp[(3) - (3)].na)); 4388 strcpy(curvar->v_commoninfile,cur_filename); 4389 Save_Length((yyvsp[(3) - (3)].na),14); 4390 (yyval.v) = curvar; 4391 } 4392 break; 4393 4394 case 164: 4395 /* Line 1807 of yacc.c */ 4396 #line 913 "fortran.y" 4169 4397 { 4170 /* if the variable is a parameter we can suppose that is*/ 4171 /* value is the same on each grid. It is not useless */ 4172 /* to create a copy of it on each grid */ 4173 if ( couldaddvariable == 1 ) 4174 { 4175 pos_end = setposcur(); 4176 /*if (insubroutinedeclare == 0) 4177 { */ 4178 RemoveWordSET_0(fortranout,pos_cur_decl, 4179 pos_end-pos_cur_decl); 4180 4181 /* } 4182 else 4183 {*/ 4184 ReWriteDeclarationAndAddTosubroutine_01((yyvsp[(1) - (2)].l)); 4185 pos_cur_decl = setposcur(); 4186 4187 /*}*/ 4188 if ( firstpass == 0 && 4189 GlobalDeclaration == 0 && 4190 insubroutinedeclare == 0 ) 4191 { 4192 4193 sprintf(ligne,"\n#include \"Module_Declar_%s.h\"\n" 4194 ,curmodulename); 4195 tofich(fortranout,ligne,1); 4196 sprintf (ligne, "Module_Declar_%s.h",curmodulename); 4197 module_declar = associate(ligne); 4198 sprintf (ligne, " "); 4199 tofich (module_declar, ligne,1); 4200 GlobalDeclaration = 1 ; 4201 pos_cur_decl = setposcur(); 4202 4203 } 4204 (yyval.l) = (yyvsp[(1) - (2)].l); 4205 Add_Globliste_1((yyvsp[(1) - (2)].l)); 4206 4207 if ( insubroutinedeclare == 0 ) 4208 Add_GlobalParameter_Var_1((yyvsp[(1) - (2)].l)); 4209 else 4210 { 4211 if ( pointerdeclare == 1 ) 4212 Add_Pointer_Var_From_List_1((yyvsp[(1) - (2)].l)); 4213 Add_Parameter_Var_1((yyvsp[(1) - (2)].l)); 4214 } 4215 4216 /* if variables has been declared in a subroutine */ 4217 if ( insubroutinedeclare == 1 ) 4218 { 4219 /* Add_SubroutineDeclaration_Var_1($1);*/ 4220 } 4221 /* If there are a SAVE declarations in module's */ 4222 /* subroutines we should remove it from the */ 4223 /* subroutines declaration and add it in the */ 4224 /* global declarations */ 4225 if ( aftercontainsdeclare == 1 && 4226 SaveDeclare == 1 && firstpass == 1 ) 4227 { 4228 if ( inmodulemeet == 0 ) Add_Save_Var_dcl_1((yyvsp[(1) - (2)].l)); 4229 else Add_SubroutineDeclarationSave_Var_1((yyvsp[(1) - (2)].l)); 4230 } 4231 } 4232 /* */ 4233 PublicDeclare = 0; 4234 PrivateDeclare = 0; 4235 ExternalDeclare = 0; 4236 strcpy(NamePrecision,""); 4237 c_star = 0; 4238 strcpy(InitialValueGiven," "); 4239 strcpy(IntentSpec,""); 4240 VariableIsParameter = 0 ; 4241 Allocatabledeclare = 0 ; 4242 Targetdeclare = 0 ; 4243 SaveDeclare = 0; 4244 pointerdeclare = 0; 4245 optionaldeclare = 0 ; 4246 dimsgiven=0; 4247 c_selectorgiven=0; 4248 strcpy(nameinttypename,""); 4249 strcpy(c_selectorname,""); 4250 GlobalDeclarationType = 0; 4251 ;} 4252 break; 4253 4254 case 111: 4255 #line 871 "fortran.y" 4256 { 4257 /* open param file */ 4258 if ( firstpass == 0 ) 4259 { 4260 sprintf(ligne,"%s/ParamFile%s.h",nomdir,(yyvsp[(2) - (3)].nac)); 4261 paramout=fopen(ligne,"w"); 4262 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 4263 else fprintf(paramout,"C\n"); 4264 } 4265 strcpy(subroutinename,(yyvsp[(2) - (3)].nac)); 4266 if ( inmodulemeet == 1 ) 4267 { 4268 insubroutinedeclare = 1; 4269 /* we should to list of the subroutine argument the */ 4270 /* name of the function which has to be defined */ 4271 Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 4272 Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 4273 /* in the second step we should write the head of */ 4274 /* the subroutine sub_loop_<subroutinename> */ 4275 writeheadnewsub_0(2); 4276 } 4277 else 4278 { 4279 insubroutinedeclare = 1; 4280 /* we should to list of the subroutine argument the */ 4281 /* name of the function which has to be defined */ 4282 Add_SubroutineArgument_Var_1((yyvsp[(3) - (3)].l)); 4283 Add_FunctionType_Var_1((yyvsp[(2) - (3)].nac)); 4284 /* in the second step we should write the head of */ 4285 /* the subroutine sub_loop_<subroutinename> */ 4286 writeheadnewsub_0(2); 4287 } 4288 strcpy(nameinttypename,""); 4289 4290 ;} 4291 break; 4292 4293 case 112: 4294 #line 908 "fortran.y" 4295 { 4296 functiondeclarationisdone = 1; 4297 ;} 4298 break; 4299 4300 case 113: 4301 #line 914 "fortran.y" 4302 { 4303 VariableIsParameter = 1; 4304 pos_curparameter = setposcur()-9; 4305 ;} 4306 break; 4307 4308 case 114: 4309 #line 919 "fortran.y" 4310 { 4311 pos_curdata = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 4312 Init_List_Data_Var(); 4313 ;} 4314 break; 4315 4316 case 115: 4398 if ( insubroutinedeclare == 1 ) 4399 { 4400 Add_ImplicitNoneSubroutine_1(); 4401 pos_end = setposcur(); 4402 RemoveWordSET_0(fortran_out,pos_end-13,13); 4403 } 4404 } 4405 break; 4406 4407 case 166: 4408 /* Line 1807 of yacc.c */ 4317 4409 #line 924 "fortran.y" 4318 4410 { 4319 if ( couldaddvariable == 1 ) 4320 { 4321 /* if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 4322 else */ 4323 /* sprintf(ligne,"%s",$3);*/ 4324 createstringfromlistname(ligne,(yyvsp[(3) - (4)].lnn)); 4325 if (firstpass == 1) 4326 Add_Data_Var_1(&List_Data_Var,(yyvsp[(1) - (4)].nac),ligne); 4327 else 4328 Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(1) - (4)].nac),ligne); 4329 } 4330 ;} 4331 break; 4332 4333 case 116: 4334 #line 938 "fortran.y" 4411 if ( ! inside_type_declare ) 4412 { 4413 if (dimsgiven == 1) curvar = createvar((yyvsp[(2) - (5)].na),curdim); 4414 else curvar = createvar((yyvsp[(2) - (5)].na),(yyvsp[(3) - (5)].d)); 4415 CreateAndFillin_Curvar(DeclType, curvar); 4416 curlistvar = insertvar(NULL, curvar); 4417 if (!strcasecmp(DeclType,"character")) 4418 { 4419 if (c_selectorgiven == 1) 4420 { 4421 strcpy(c_selectordim.first,"1"); 4422 strcpy(c_selectordim.last,c_selectorname); 4423 Save_Length(c_selectorname,1); 4424 change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 4425 } 4426 } 4427 (yyval.l)=settype(DeclType,curlistvar); 4428 } 4429 strcpy(vallengspec,""); 4430 } 4431 break; 4432 4433 case 167: 4434 /* Line 1807 of yacc.c */ 4435 #line 946 "fortran.y" 4335 4436 { 4336 if ( couldaddvariable == 1 ) 4337 { 4338 /*if ( aftercontainsdeclare == 1 ) strcpy(ligne,""); 4339 else */ 4340 /*sprintf(ligne,"%s",$5); */ 4341 createstringfromlistname(ligne,(yyvsp[(5) - (6)].lnn)); 4342 if (firstpass == 1) 4343 Add_Data_Var_1(&List_Data_Var,(yyvsp[(3) - (6)].nac),ligne); 4344 else 4345 Add_Data_Var_1(&List_Data_Var_Cur,(yyvsp[(3) - (6)].nac),ligne); 4346 } 4347 ;} 4348 break; 4349 4350 case 117: 4351 #line 952 "fortran.y" 4437 if ( ! inside_type_declare ) 4438 { 4439 if (dimsgiven == 1) curvar = createvar((yyvsp[(3) - (6)].na), curdim); 4440 else curvar = createvar((yyvsp[(3) - (6)].na), (yyvsp[(4) - (6)].d)); 4441 CreateAndFillin_Curvar((yyvsp[(1) - (6)].l)->var->v_typevar,curvar); 4442 strcpy(curvar->v_typevar, (yyvsp[(1) - (6)].l)->var->v_typevar); 4443 curvar->v_catvar = get_cat_var(curvar); 4444 curlistvar = insertvar((yyvsp[(1) - (6)].l), curvar); 4445 if (!strcasecmp(DeclType,"character")) 4446 { 4447 if (c_selectorgiven == 1) 4448 { 4449 strcpy(c_selectordim.first,"1"); 4450 strcpy(c_selectordim.last,c_selectorname); 4451 Save_Length(c_selectorname,1); 4452 change_dim_char(insertdim(NULL,c_selectordim),curlistvar); 4453 } 4454 } 4455 (yyval.l)=curlistvar; 4456 } 4457 strcpy(vallengspec,""); 4458 } 4459 break; 4460 4461 case 168: 4462 /* Line 1807 of yacc.c */ 4463 #line 970 "fortran.y" 4464 { dimsgiven = 0; } 4465 break; 4466 4467 case 169: 4468 /* Line 1807 of yacc.c */ 4469 #line 972 "fortran.y" 4470 { strcpy(DeclType,(yyvsp[(1) - (2)].na)); } 4471 break; 4472 4473 case 170: 4474 /* Line 1807 of yacc.c */ 4475 #line 973 "fortran.y" 4476 { strcpy(DeclType,"character"); } 4477 break; 4478 4479 case 171: 4480 /* Line 1807 of yacc.c */ 4481 #line 974 "fortran.y" 4482 { strcpy(DeclType,(yyvsp[(1) - (3)].na)); strcpy(nameinttypename,(yyvsp[(3) - (3)].na)); } 4483 break; 4484 4485 case 172: 4486 /* Line 1807 of yacc.c */ 4487 #line 975 "fortran.y" 4488 { strcpy(DeclType,"type"); GlobalDeclarationType = 1; } 4489 break; 4490 4491 case 174: 4492 /* Line 1807 of yacc.c */ 4493 #line 978 "fortran.y" 4494 { c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[(2) - (2)].na)); } 4495 break; 4496 4497 case 175: 4498 /* Line 1807 of yacc.c */ 4499 #line 979 "fortran.y" 4500 { c_star = 1;} 4501 break; 4502 4503 case 180: 4504 /* Line 1807 of yacc.c */ 4505 #line 987 "fortran.y" 4506 { pos_cur_decl = setposcur()-9; } 4507 break; 4508 4509 case 181: 4510 /* Line 1807 of yacc.c */ 4511 #line 990 "fortran.y" 4512 { strcpy((yyval.na),"integer"); pos_cur_decl = setposcur()-7; } 4513 break; 4514 4515 case 182: 4516 /* Line 1807 of yacc.c */ 4517 #line 991 "fortran.y" 4518 { strcpy((yyval.na),"logical"); pos_cur_decl = setposcur()-7; } 4519 break; 4520 4521 case 183: 4522 /* Line 1807 of yacc.c */ 4523 #line 992 "fortran.y" 4524 { strcpy((yyval.na),"real"); pos_cur_decl = setposcur()-4; } 4525 break; 4526 4527 case 184: 4528 /* Line 1807 of yacc.c */ 4529 #line 993 "fortran.y" 4530 { strcpy((yyval.na),"complex"); pos_cur_decl = setposcur()-7; } 4531 break; 4532 4533 case 185: 4534 /* Line 1807 of yacc.c */ 4535 #line 994 "fortran.y" 4536 { strcpy((yyval.na),"double complex"); pos_cur_decl = setposcur()-14; } 4537 break; 4538 4539 case 186: 4540 /* Line 1807 of yacc.c */ 4541 #line 995 "fortran.y" 4542 { pos_cur_decl = setposcur()-16; strcpy((yyval.na),"real"); strcpy(nameinttypename,"8"); } 4543 break; 4544 4545 case 188: 4546 /* Line 1807 of yacc.c */ 4547 #line 998 "fortran.y" 4548 {strcpy(vallengspec,(yyvsp[(2) - (2)].na));} 4549 break; 4550 4551 case 189: 4552 /* Line 1807 of yacc.c */ 4553 #line 1001 "fortran.y" 4554 { sprintf((yyval.na),"*%s",(yyvsp[(1) - (1)].na)); } 4555 break; 4556 4557 case 190: 4558 /* Line 1807 of yacc.c */ 4559 #line 1002 "fortran.y" 4560 { strcpy((yyval.na),"*(*)"); } 4561 break; 4562 4563 case 197: 4564 /* Line 1807 of yacc.c */ 4565 #line 1014 "fortran.y" 4352 4566 { 4353 /*******************************************************/ 4354 /*******************************************************/ 4355 /*******************************************************/ 4356 /*******************************************************/ 4357 /*******************************************************/ 4358 /*******************************************************/ 4359 /*******************************************************/ 4360 if (firstpass == 1) 4361 Add_Data_Var_Names_01(&List_Data_Var,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 4362 else 4363 Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[(1) - (4)].lnn),(yyvsp[(3) - (4)].lnn)); 4364 ;} 4365 break; 4366 4367 case 118: 4368 #line 967 "fortran.y" 4567 if ( strstr((yyvsp[(3) - (3)].na),"0.d0") ) 4568 { 4569 strcpy(nameinttypename,"8"); 4570 strcpy(NamePrecision,""); 4571 } 4572 else 4573 sprintf(NamePrecision,"%s = %s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 4574 } 4575 break; 4576 4577 case 198: 4578 /* Line 1807 of yacc.c */ 4579 #line 1023 "fortran.y" 4580 { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 4581 break; 4582 4583 case 199: 4584 /* Line 1807 of yacc.c */ 4585 #line 1024 "fortran.y" 4586 { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 4587 break; 4588 4589 case 200: 4590 /* Line 1807 of yacc.c */ 4591 #line 1025 "fortran.y" 4592 { strcpy(NamePrecision,(yyvsp[(1) - (1)].na)); } 4593 break; 4594 4595 case 201: 4596 /* Line 1807 of yacc.c */ 4597 #line 1028 "fortran.y" 4598 { strcpy(CharacterSize,(yyvsp[(1) - (1)].na)); strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4599 break; 4600 4601 case 202: 4602 /* Line 1807 of yacc.c */ 4603 #line 1029 "fortran.y" 4604 { strcpy(CharacterSize,"*"); strcpy((yyval.na),"*"); } 4605 break; 4606 4607 case 210: 4608 /* Line 1807 of yacc.c */ 4609 #line 1042 "fortran.y" 4610 { VariableIsParameter = 1; } 4611 break; 4612 4613 case 212: 4614 /* Line 1807 of yacc.c */ 4615 #line 1044 "fortran.y" 4616 { Allocatabledeclare = 1; } 4617 break; 4618 4619 case 213: 4620 /* Line 1807 of yacc.c */ 4621 #line 1045 "fortran.y" 4622 { dimsgiven = 1; curdim = (yyvsp[(2) - (2)].d); } 4623 break; 4624 4625 case 214: 4626 /* Line 1807 of yacc.c */ 4627 #line 1046 "fortran.y" 4628 { ExternalDeclare = 1; } 4629 break; 4630 4631 case 215: 4632 /* Line 1807 of yacc.c */ 4633 #line 1048 "fortran.y" 4634 { strcpy(IntentSpec,(yyvsp[(3) - (4)].na)); } 4635 break; 4636 4637 case 217: 4638 /* Line 1807 of yacc.c */ 4639 #line 1050 "fortran.y" 4640 { optionaldeclare = 1 ; } 4641 break; 4642 4643 case 218: 4644 /* Line 1807 of yacc.c */ 4645 #line 1051 "fortran.y" 4646 { pointerdeclare = 1 ; } 4647 break; 4648 4649 case 219: 4650 /* Line 1807 of yacc.c */ 4651 #line 1052 "fortran.y" 4652 { SaveDeclare = 1 ; } 4653 break; 4654 4655 case 220: 4656 /* Line 1807 of yacc.c */ 4657 #line 1053 "fortran.y" 4658 { Targetdeclare = 1; } 4659 break; 4660 4661 case 221: 4662 /* Line 1807 of yacc.c */ 4663 #line 1056 "fortran.y" 4664 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4665 break; 4666 4667 case 222: 4668 /* Line 1807 of yacc.c */ 4669 #line 1057 "fortran.y" 4670 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4671 break; 4672 4673 case 223: 4674 /* Line 1807 of yacc.c */ 4675 #line 1058 "fortran.y" 4676 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4677 break; 4678 4679 case 224: 4680 /* Line 1807 of yacc.c */ 4681 #line 1061 "fortran.y" 4682 { PublicDeclare = 1; } 4683 break; 4684 4685 case 225: 4686 /* Line 1807 of yacc.c */ 4687 #line 1062 "fortran.y" 4688 { PrivateDeclare = 1; } 4689 break; 4690 4691 case 226: 4692 /* Line 1807 of yacc.c */ 4693 #line 1064 "fortran.y" 4694 { (yyval.d) = (listdim*) NULL; } 4695 break; 4696 4697 case 227: 4698 /* Line 1807 of yacc.c */ 4699 #line 1066 "fortran.y" 4369 4700 { 4370 if ( couldaddvariable == 1 )4371 {4372 (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].na),0);4373 4374 ;}4375 break; 4376 4377 case 119: 4378 #line 974 "fortran.y"4701 (yyval.d) = (listdim*) NULL; 4702 if ( inside_type_declare ) break; 4703 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=(yyvsp[(2) - (3)].d); 4704 } 4705 break; 4706 4707 case 228: 4708 /* Line 1807 of yacc.c */ 4709 #line 1074 "fortran.y" 4379 4710 { 4380 if ( couldaddvariable == 1 )4381 {4382 (yyval.lnn) = Insertname((yyvsp[(3) - (3)].lnn),(yyvsp[(1) - (3)].na),1);4383 4384 ;}4385 break; 4386 4387 case 124: 4388 #line 988"fortran.y"4711 (yyval.d) = (listdim*) NULL; 4712 if ( inside_type_declare ) break; 4713 if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1)); 4714 } 4715 break; 4716 4717 case 229: 4718 /* Line 1807 of yacc.c */ 4719 #line 1080 "fortran.y" 4389 4720 { 4390 pos_cursave = setposcur()-4; 4391 ;} 4392 break; 4393 4394 case 126: 4395 #line 994 "fortran.y" 4721 (yyval.d) = (listdim*) NULL; 4722 if ( inside_type_declare ) break; 4723 if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1)); 4724 } 4725 break; 4726 4727 case 230: 4728 /* Line 1807 of yacc.c */ 4729 #line 1086 "fortran.y" 4730 { strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); Save_Length((yyvsp[(1) - (1)].na),1); } 4731 break; 4732 4733 case 231: 4734 /* Line 1807 of yacc.c */ 4735 #line 1087 "fortran.y" 4736 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } 4737 break; 4738 4739 case 232: 4740 /* Line 1807 of yacc.c */ 4741 #line 1088 "fortran.y" 4742 { strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na)); Save_Length((yyvsp[(1) - (2)].na),2); strcpy((yyval.dim1).last,""); } 4743 break; 4744 4745 case 233: 4746 /* Line 1807 of yacc.c */ 4747 #line 1089 "fortran.y" 4748 { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,(yyvsp[(2) - (2)].na)); Save_Length((yyvsp[(2) - (2)].na),1); } 4749 break; 4750 4751 case 234: 4752 /* Line 1807 of yacc.c */ 4753 #line 1090 "fortran.y" 4754 { strcpy((yyval.dim1).first,(yyvsp[(1) - (3)].na)); Save_Length((yyvsp[(1) - (3)].na),2); strcpy((yyval.dim1).last,(yyvsp[(3) - (3)].na)); Save_Length((yyvsp[(3) - (3)].na),1); } 4755 break; 4756 4757 case 235: 4758 /* Line 1807 of yacc.c */ 4759 #line 1093 "fortran.y" 4760 { strcpy((yyval.na),"*"); } 4761 break; 4762 4763 case 236: 4764 /* Line 1807 of yacc.c */ 4765 #line 1094 "fortran.y" 4766 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4767 break; 4768 4769 case 237: 4770 /* Line 1807 of yacc.c */ 4771 #line 1096 "fortran.y" 4772 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4773 break; 4774 4775 case 238: 4776 /* Line 1807 of yacc.c */ 4777 #line 1097 "fortran.y" 4778 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4779 break; 4780 4781 case 239: 4782 /* Line 1807 of yacc.c */ 4783 #line 1098 "fortran.y" 4784 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4785 break; 4786 4787 case 240: 4788 /* Line 1807 of yacc.c */ 4789 #line 1099 "fortran.y" 4790 { sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na)); } 4791 break; 4792 4793 case 241: 4794 /* Line 1807 of yacc.c */ 4795 #line 1103 "fortran.y" 4796 { sprintf((yyval.na),"SUM(%s)",(yyvsp[(2) - (3)].na));} 4797 break; 4798 4799 case 242: 4800 /* Line 1807 of yacc.c */ 4801 #line 1104 "fortran.y" 4802 { sprintf((yyval.na),"MAX(%s)",(yyvsp[(2) - (3)].na));} 4803 break; 4804 4805 case 243: 4806 /* Line 1807 of yacc.c */ 4807 #line 1105 "fortran.y" 4808 { sprintf((yyval.na),"TANH(%s)",(yyvsp[(3) - (4)].na));} 4809 break; 4810 4811 case 244: 4812 /* Line 1807 of yacc.c */ 4813 #line 1106 "fortran.y" 4814 { sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[(3) - (4)].na));} 4815 break; 4816 4817 case 245: 4818 /* Line 1807 of yacc.c */ 4819 #line 1107 "fortran.y" 4820 { sprintf((yyval.na),"MIN(%s)",(yyvsp[(2) - (3)].na));} 4821 break; 4822 4823 case 246: 4824 /* Line 1807 of yacc.c */ 4825 #line 1108 "fortran.y" 4826 { sprintf((yyval.na),"MINVAL(%s)",(yyvsp[(3) - (4)].na));} 4827 break; 4828 4829 case 247: 4830 /* Line 1807 of yacc.c */ 4831 #line 1109 "fortran.y" 4832 { sprintf((yyval.na),"TRIM(%s)",(yyvsp[(3) - (4)].na));} 4833 break; 4834 4835 case 248: 4836 /* Line 1807 of yacc.c */ 4837 #line 1110 "fortran.y" 4838 { sprintf((yyval.na),"SQRT(%s)",(yyvsp[(2) - (3)].na));} 4839 break; 4840 4841 case 249: 4842 /* Line 1807 of yacc.c */ 4843 #line 1111 "fortran.y" 4844 { sprintf((yyval.na),"REAL(%s)",(yyvsp[(3) - (4)].na));} 4845 break; 4846 4847 case 250: 4848 /* Line 1807 of yacc.c */ 4849 #line 1112 "fortran.y" 4850 { sprintf((yyval.na),"NINT(%s)",(yyvsp[(3) - (4)].na));} 4851 break; 4852 4853 case 251: 4854 /* Line 1807 of yacc.c */ 4855 #line 1113 "fortran.y" 4856 { sprintf((yyval.na),"FLOAT(%s)",(yyvsp[(3) - (4)].na));} 4857 break; 4858 4859 case 252: 4860 /* Line 1807 of yacc.c */ 4861 #line 1114 "fortran.y" 4862 { sprintf((yyval.na),"EXP(%s)",(yyvsp[(3) - (4)].na));} 4863 break; 4864 4865 case 253: 4866 /* Line 1807 of yacc.c */ 4867 #line 1115 "fortran.y" 4868 { sprintf((yyval.na),"COS(%s)",(yyvsp[(3) - (4)].na));} 4869 break; 4870 4871 case 254: 4872 /* Line 1807 of yacc.c */ 4873 #line 1116 "fortran.y" 4874 { sprintf((yyval.na),"COSH(%s)",(yyvsp[(3) - (4)].na));} 4875 break; 4876 4877 case 255: 4878 /* Line 1807 of yacc.c */ 4879 #line 1117 "fortran.y" 4880 { sprintf((yyval.na),"ACOS(%s)",(yyvsp[(3) - (4)].na));} 4881 break; 4882 4883 case 256: 4884 /* Line 1807 of yacc.c */ 4885 #line 1118 "fortran.y" 4886 { sprintf((yyval.na),"SIN(%s)",(yyvsp[(3) - (4)].na));} 4887 break; 4888 4889 case 257: 4890 /* Line 1807 of yacc.c */ 4891 #line 1119 "fortran.y" 4892 { sprintf((yyval.na),"SINH(%s)",(yyvsp[(3) - (4)].na));} 4893 break; 4894 4895 case 258: 4896 /* Line 1807 of yacc.c */ 4897 #line 1120 "fortran.y" 4898 { sprintf((yyval.na),"ASIN(%s)",(yyvsp[(3) - (4)].na));} 4899 break; 4900 4901 case 259: 4902 /* Line 1807 of yacc.c */ 4903 #line 1121 "fortran.y" 4904 { sprintf((yyval.na),"LOG(%s)",(yyvsp[(3) - (4)].na));} 4905 break; 4906 4907 case 260: 4908 /* Line 1807 of yacc.c */ 4909 #line 1122 "fortran.y" 4910 { sprintf((yyval.na),"TAN(%s)",(yyvsp[(3) - (4)].na));} 4911 break; 4912 4913 case 261: 4914 /* Line 1807 of yacc.c */ 4915 #line 1123 "fortran.y" 4916 { sprintf((yyval.na),"ATAN(%s)",(yyvsp[(3) - (4)].na));} 4917 break; 4918 4919 case 262: 4920 /* Line 1807 of yacc.c */ 4921 #line 1124 "fortran.y" 4922 { sprintf((yyval.na),"ABS(%s)",(yyvsp[(2) - (3)].na));} 4923 break; 4924 4925 case 263: 4926 /* Line 1807 of yacc.c */ 4927 #line 1125 "fortran.y" 4928 { sprintf((yyval.na),"MOD(%s)",(yyvsp[(3) - (4)].na));} 4929 break; 4930 4931 case 264: 4932 /* Line 1807 of yacc.c */ 4933 #line 1126 "fortran.y" 4934 { sprintf((yyval.na),"SIGN(%s)",(yyvsp[(2) - (3)].na));} 4935 break; 4936 4937 case 265: 4938 /* Line 1807 of yacc.c */ 4939 #line 1127 "fortran.y" 4940 { sprintf((yyval.na),"MINLOC(%s)",(yyvsp[(3) - (4)].na));} 4941 break; 4942 4943 case 266: 4944 /* Line 1807 of yacc.c */ 4945 #line 1128 "fortran.y" 4946 { sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[(3) - (4)].na));} 4947 break; 4948 4949 case 267: 4950 /* Line 1807 of yacc.c */ 4951 #line 1130 "fortran.y" 4952 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 4953 break; 4954 4955 case 268: 4956 /* Line 1807 of yacc.c */ 4957 #line 1131 "fortran.y" 4958 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 4959 break; 4960 4961 case 269: 4962 /* Line 1807 of yacc.c */ 4963 #line 1133 "fortran.y" 4964 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4965 break; 4966 4967 case 270: 4968 /* Line 1807 of yacc.c */ 4969 #line 1134 "fortran.y" 4970 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4971 break; 4972 4973 case 271: 4974 /* Line 1807 of yacc.c */ 4975 #line 1135 "fortran.y" 4976 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 4977 break; 4978 4979 case 272: 4980 /* Line 1807 of yacc.c */ 4981 #line 1136 "fortran.y" 4982 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4983 break; 4984 4985 case 273: 4986 /* Line 1807 of yacc.c */ 4987 #line 1137 "fortran.y" 4988 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4989 break; 4990 4991 case 274: 4992 /* Line 1807 of yacc.c */ 4993 #line 1138 "fortran.y" 4994 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 4995 break; 4996 4997 case 275: 4998 /* Line 1807 of yacc.c */ 4999 #line 1140 "fortran.y" 5000 { strcpy((yyval.na),"+"); } 5001 break; 5002 5003 case 276: 5004 /* Line 1807 of yacc.c */ 5005 #line 1141 "fortran.y" 5006 { strcpy((yyval.na),"-"); } 5007 break; 5008 5009 case 277: 5010 /* Line 1807 of yacc.c */ 5011 #line 1145 "fortran.y" 5012 { sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na)); } 5013 break; 5014 5015 case 278: 5016 /* Line 1807 of yacc.c */ 5017 #line 1146 "fortran.y" 5018 { sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na)); } 5019 break; 5020 5021 case 279: 5022 /* Line 1807 of yacc.c */ 5023 #line 1147 "fortran.y" 5024 { sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na)); } 5025 break; 5026 5027 case 280: 5028 /* Line 1807 of yacc.c */ 5029 #line 1148 "fortran.y" 5030 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5031 break; 5032 5033 case 281: 5034 /* Line 1807 of yacc.c */ 5035 #line 1149 "fortran.y" 5036 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5037 break; 5038 5039 case 282: 5040 /* Line 1807 of yacc.c */ 5041 #line 1150 "fortran.y" 5042 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5043 break; 5044 5045 case 283: 5046 /* Line 1807 of yacc.c */ 5047 #line 1151 "fortran.y" 5048 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5049 break; 5050 5051 case 284: 5052 /* Line 1807 of yacc.c */ 5053 #line 1152 "fortran.y" 5054 { sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na)); } 5055 break; 5056 5057 case 285: 5058 /* Line 1807 of yacc.c */ 5059 #line 1153 "fortran.y" 5060 { sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na)); } 5061 break; 5062 5063 case 286: 5064 /* Line 1807 of yacc.c */ 5065 #line 1154 "fortran.y" 5066 { sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na)); } 5067 break; 5068 5069 case 287: 5070 /* Line 1807 of yacc.c */ 5071 #line 1155 "fortran.y" 5072 { sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na)); } 5073 break; 5074 5075 case 288: 5076 /* Line 1807 of yacc.c */ 5077 #line 1156 "fortran.y" 5078 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5079 break; 5080 5081 case 289: 5082 /* Line 1807 of yacc.c */ 5083 #line 1157 "fortran.y" 5084 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5085 break; 5086 5087 case 290: 5088 /* Line 1807 of yacc.c */ 5089 #line 1158 "fortran.y" 5090 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5091 break; 5092 5093 case 291: 5094 /* Line 1807 of yacc.c */ 5095 #line 1159 "fortran.y" 5096 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5097 break; 5098 5099 case 292: 5100 /* Line 1807 of yacc.c */ 5101 #line 1160 "fortran.y" 5102 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5103 break; 5104 5105 case 293: 5106 /* Line 1807 of yacc.c */ 5107 #line 1161 "fortran.y" 5108 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5109 break; 5110 5111 case 294: 5112 /* Line 1807 of yacc.c */ 5113 #line 1162 "fortran.y" 5114 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5115 break; 5116 5117 case 295: 5118 /* Line 1807 of yacc.c */ 5119 #line 1163 "fortran.y" 5120 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5121 break; 5122 5123 case 296: 5124 /* Line 1807 of yacc.c */ 5125 #line 1164 "fortran.y" 5126 { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 5127 break; 5128 5129 case 297: 5130 /* Line 1807 of yacc.c */ 5131 #line 1165 "fortran.y" 5132 { sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na)); } 5133 break; 5134 5135 case 298: 5136 /* Line 1807 of yacc.c */ 5137 #line 1167 "fortran.y" 5138 { strcpy((yyval.na),""); } 5139 break; 5140 5141 case 299: 5142 /* Line 1807 of yacc.c */ 5143 #line 1168 "fortran.y" 5144 { sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na)); } 5145 break; 5146 5147 case 300: 5148 /* Line 1807 of yacc.c */ 5149 #line 1169 "fortran.y" 5150 { sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));} 5151 break; 5152 5153 case 301: 5154 /* Line 1807 of yacc.c */ 5155 #line 1170 "fortran.y" 5156 { sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na)); } 5157 break; 5158 5159 case 302: 5160 /* Line 1807 of yacc.c */ 5161 #line 1173 "fortran.y" 5162 { sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na)); } 5163 break; 5164 5165 case 303: 5166 /* Line 1807 of yacc.c */ 5167 #line 1174 "fortran.y" 5168 { sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na)); } 5169 break; 5170 5171 case 304: 5172 /* Line 1807 of yacc.c */ 5173 #line 1177 "fortran.y" 5174 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5175 break; 5176 5177 case 305: 5178 /* Line 1807 of yacc.c */ 5179 #line 1178 "fortran.y" 5180 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5181 break; 5182 5183 case 306: 5184 /* Line 1807 of yacc.c */ 5185 #line 1179 "fortran.y" 5186 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5187 break; 5188 5189 case 307: 5190 /* Line 1807 of yacc.c */ 5191 #line 1183 "fortran.y" 4396 5192 { 4397 if ( couldaddvariable == 1 ) Add_Save_Var_1((yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].d)); 4398 ;} 4399 break; 4400 4401 case 127: 4402 #line 999 "fortran.y" 5193 agrif_parentcall = 0; 5194 if ( !strcasecmp(identcopy, "Agrif_Parent") ) agrif_parentcall = 1; 5195 if ( Agrif_in_Tok_NAME(identcopy) ) 5196 { 5197 inagrifcallargument = 1; 5198 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 5199 } 5200 } 5201 break; 5202 5203 case 308: 5204 /* Line 1807 of yacc.c */ 5205 #line 1194 "fortran.y" 5206 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0; } 5207 break; 5208 5209 case 309: 5210 /* Line 1807 of yacc.c */ 5211 #line 1195 "fortran.y" 5212 { sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5213 break; 5214 5215 case 310: 5216 /* Line 1807 of yacc.c */ 5217 #line 1196 "fortran.y" 5218 { sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na)); } 5219 break; 5220 5221 case 311: 5222 /* Line 1807 of yacc.c */ 5223 #line 1197 "fortran.y" 5224 { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na)); } 5225 break; 5226 5227 case 312: 5228 /* Line 1807 of yacc.c */ 5229 #line 1201 "fortran.y" 4403 5230 { 4404 (yyval.lnn)=Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 4405 ;} 4406 break; 4407 4408 case 128: 4409 #line 1003 "fortran.y" 5231 if ( inside_type_declare ) break; 5232 sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na)); 5233 ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].na)); 5234 agrif_parentcall = 0; 5235 } 5236 break; 5237 5238 case 313: 5239 /* Line 1807 of yacc.c */ 5240 #line 1210 "fortran.y" 4410 5241 { 4411 printf("INSTRUCTION NON TRAITEE : INITIALISATION DE DATA AVEC EXPRESSION\n"); 4412 exit(0); 4413 ;} 4414 break; 4415 4416 case 129: 4417 #line 1008 "fortran.y" 4418 { 4419 (yyval.lnn) = concat_listname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].lnn)); 4420 ;} 4421 break; 4422 4423 case 130: 4424 #line 1013 "fortran.y" 4425 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 4426 break; 4427 4428 case 131: 4429 #line 1015 "fortran.y" 4430 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s+%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 4431 break; 4432 4433 case 132: 4434 #line 1017 "fortran.y" 4435 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s-%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 4436 break; 4437 4438 case 133: 4439 #line 1019 "fortran.y" 4440 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s*%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 4441 break; 4442 4443 case 134: 4444 #line 1021 "fortran.y" 4445 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s/%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 4446 break; 4447 4448 case 135: 4449 #line 1024 "fortran.y" 4450 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"");;} 4451 break; 4452 4453 case 136: 4454 #line 1026 "fortran.y" 4455 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 4456 break; 4457 4458 case 143: 4459 #line 1038 "fortran.y" 4460 { 4461 ininterfacedeclare = 1 ; 4462 printf("INTEFACE entree\n"); 4463 ;} 4464 break; 4465 4466 case 144: 4467 #line 1043 "fortran.y" 4468 { 4469 ininterfacedeclare = 0; 4470 ;} 4471 break; 4472 4473 case 145: 4474 #line 1048 "fortran.y" 4475 { 4476 positioninblock=0; 4477 pos_curdimension = setposcur()-9; 4478 ;} 4479 break; 4480 4481 case 146: 4482 #line 1054 "fortran.y" 4483 { 4484 if ( couldaddvariable == 1 ) 4485 { 4486 /* */ 4487 curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 4488 /* */ 4489 CreateAndFillin_Curvar("",curvar); 4490 /* */ 4491 curlistvar=insertvar(NULL,curvar); 4492 /* */ 4493 (yyval.l)=settype("",curlistvar); 4494 /* */ 4495 strcpy(vallengspec,""); 4496 } 4497 ;} 4498 break; 4499 4500 case 147: 4501 #line 1070 "fortran.y" 4502 { 4503 if ( couldaddvariable == 1 ) 4504 { 4505 /* */ 4506 curvar=createvar((yyvsp[(3) - (5)].nac),(yyvsp[(4) - (5)].d)); 4507 /* */ 4508 CreateAndFillin_Curvar("",curvar); 4509 /* */ 4510 curlistvar=insertvar((yyvsp[(1) - (5)].l),curvar); 4511 /* */ 4512 (yyval.l)=curlistvar; 4513 /* */ 4514 strcpy(vallengspec,""); 4515 } 4516 ;} 4517 break; 4518 4519 case 150: 4520 #line 1090 "fortran.y" 4521 { 4522 (yyval.lnn)=(listname *)NULL; 4523 ;} 4524 break; 4525 4526 case 151: 4527 #line 1094 "fortran.y" 4528 { 4529 (yyval.lnn)=(yyvsp[(3) - (3)].lnn); 4530 ;} 4531 break; 4532 4533 case 152: 4534 #line 1099 "fortran.y" 4535 { 4536 (yyval.lnn) = Insertname(NULL,(yyvsp[(1) - (1)].nac),0); 4537 ;} 4538 break; 4539 4540 case 153: 4541 #line 1103 "fortran.y" 4542 { 4543 (yyval.lnn) = Insertname((yyvsp[(1) - (3)].lnn),(yyvsp[(3) - (3)].nac),0); 4544 ;} 4545 break; 4546 4547 case 154: 4548 #line 1108 "fortran.y" 4549 { 4550 pos_end = setposcur(); 4551 RemoveWordSET_0(fortranout,pos_curcommon, 4552 pos_end-pos_curcommon); 4553 ;} 4554 break; 4555 4556 case 155: 4557 #line 1114 "fortran.y" 4558 { 4559 if ( couldaddvariable == 1 ) 4560 { 4561 sprintf(charusemodule,"%s",(yyvsp[(2) - (3)].nac)); 4562 Add_NameOfCommon_1((yyvsp[(2) - (3)].nac),subroutinename); 4563 pos_end = setposcur(); 4564 RemoveWordSET_0(fortranout,pos_curcommon, 4565 pos_end-pos_curcommon); 4566 } 4567 ;} 4568 break; 4569 4570 case 156: 4571 #line 1125 "fortran.y" 4572 { 4573 if ( couldaddvariable == 1 ) 4574 { 4575 sprintf(charusemodule,"%s",(yyvsp[(3) - (5)].nac)); 4576 Add_NameOfCommon_1((yyvsp[(3) - (5)].nac),subroutinename); 4577 pos_end = setposcur(); 4578 RemoveWordSET_0(fortranout,pos_curcommon, 4579 pos_end-pos_curcommon); 4580 } 4581 ;} 4582 break; 4583 4584 case 157: 4585 #line 1137 "fortran.y" 4586 { 4587 positioninblock=0; 4588 pos_curcommon = setposcur()-6; 4589 ;} 4590 break; 4591 4592 case 158: 4593 #line 1142 "fortran.y" 4594 { 4595 positioninblock=0; 4596 pos_curcommon = setposcur()-6-7; 4597 ;} 4598 break; 4599 4600 case 159: 4601 #line 1148 "fortran.y" 4602 { 4603 if ( couldaddvariable == 1 ) Add_Common_var_1(); 4604 ;} 4605 break; 4606 4607 case 160: 4608 #line 1153 "fortran.y" 4609 { 4610 if ( couldaddvariable == 1 ) Add_Common_var_1(); 4611 ;} 4612 break; 4613 4614 case 161: 4615 #line 1157 "fortran.y" 4616 { 4617 if ( couldaddvariable == 1 ) 4618 { 4619 positioninblock = positioninblock + 1 ; 4620 strcpy(commonvar,(yyvsp[(1) - (2)].nac)); 4621 commondim = (yyvsp[(2) - (2)].d); 4622 } 4623 ;} 4624 break; 4625 4626 case 162: 4627 #line 1167 "fortran.y" 4628 { 4629 if ( couldaddvariable == 1 ) 4630 { 4631 strcpy((yyval.nac),""); 4632 positioninblock=0; 4633 strcpy(commonblockname,""); 4634 } 4635 ;} 4636 break; 4637 4638 case 163: 4639 #line 1176 "fortran.y" 4640 { 4641 if ( couldaddvariable == 1 ) 4642 { 4643 strcpy((yyval.nac),(yyvsp[(2) - (3)].nac)); 4644 positioninblock=0; 4645 strcpy(commonblockname,(yyvsp[(2) - (3)].nac)); 4646 } 4647 ;} 4648 break; 4649 4650 case 166: 4651 #line 1189 "fortran.y" 4652 { 4653 if ( couldaddvariable == 1 ) (yyval.l)=insertvar(NULL,(yyvsp[(1) - (1)].v)); 4654 ;} 4655 break; 4656 4657 case 167: 4658 #line 1193 "fortran.y" 4659 { 4660 if ( couldaddvariable == 1 ) (yyval.l)=insertvar((yyvsp[(1) - (3)].l),(yyvsp[(3) - (3)].v)); 4661 ;} 4662 break; 4663 4664 case 168: 4665 #line 1198 "fortran.y" 4666 { 4667 if ( couldaddvariable == 1 ) 4668 { 4669 curvar=(variable *) malloc(sizeof(variable)); 4670 /* */ 4671 Init_Variable(curvar); 4672 /* */ 4673 curvar->v_VariableIsParameter=1; 4674 strcpy(curvar->v_nomvar,(yyvsp[(1) - (3)].nac)); 4675 Save_Length((yyvsp[(1) - (3)].nac),4); 4676 strcpy(curvar->v_subroutinename,subroutinename); 4677 Save_Length(subroutinename,11); 4678 strcpy(curvar->v_modulename,curmodulename); 4679 Save_Length(curmodulename,6); 4680 strcpy(curvar->v_initialvalue,(yyvsp[(3) - (3)].na)); 4681 Save_Length((yyvsp[(3) - (3)].na),14); 4682 strcpy(curvar->v_commoninfile,mainfile); 4683 Save_Length(mainfile,10); 4684 (yyval.v)=curvar; 4685 } 4686 ;} 4687 break; 4688 4689 case 172: 4690 #line 1226 "fortran.y" 4691 { 4692 if ( insubroutinedeclare == 1 ) 4693 { 4694 Add_ImplicitNoneSubroutine_1(); 4695 pos_end = setposcur(); 4696 RemoveWordSET_0(fortranout,pos_end-13, 4697 13); 4698 } 4699 ;} 4700 break; 4701 4702 case 175: 5242 sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (4)].na),(yyvsp[(4) - (4)].na)); 5243 if ( incalldeclare == 0 ) inagrifcallargument = 0; 5244 } 5245 break; 5246 5247 case 314: 5248 /* Line 1807 of yacc.c */ 5249 #line 1216 "fortran.y" 5250 { sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na)); } 5251 break; 5252 5253 case 315: 5254 /* Line 1807 of yacc.c */ 5255 #line 1219 "fortran.y" 5256 { strcpy((yyval.na)," "); } 5257 break; 5258 5259 case 316: 5260 /* Line 1807 of yacc.c */ 5261 #line 1220 "fortran.y" 5262 { strcpy((yyval.na),(yyvsp[(2) - (2)].na)); } 5263 break; 5264 5265 case 317: 5266 /* Line 1807 of yacc.c */ 5267 #line 1223 "fortran.y" 5268 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5269 break; 5270 5271 case 318: 5272 /* Line 1807 of yacc.c */ 5273 #line 1224 "fortran.y" 5274 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 5275 break; 5276 5277 case 319: 5278 /* Line 1807 of yacc.c */ 5279 #line 1227 "fortran.y" 5280 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5281 break; 5282 5283 case 320: 5284 /* Line 1807 of yacc.c */ 5285 #line 1228 "fortran.y" 5286 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5287 break; 5288 5289 case 321: 5290 /* Line 1807 of yacc.c */ 5291 #line 1231 "fortran.y" 5292 { sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));} 5293 break; 5294 5295 case 322: 5296 /* Line 1807 of yacc.c */ 5297 #line 1232 "fortran.y" 5298 { sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 5299 break; 5300 5301 case 323: 5302 /* Line 1807 of yacc.c */ 5303 #line 1233 "fortran.y" 5304 { sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));} 5305 break; 5306 5307 case 324: 5308 /* Line 1807 of yacc.c */ 5309 #line 1234 "fortran.y" 5310 { sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));} 5311 break; 5312 5313 case 325: 5314 /* Line 1807 of yacc.c */ 5315 #line 1235 "fortran.y" 5316 { sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));} 5317 break; 5318 5319 case 326: 5320 /* Line 1807 of yacc.c */ 5321 #line 1236 "fortran.y" 5322 { sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));} 5323 break; 5324 5325 case 327: 5326 /* Line 1807 of yacc.c */ 5327 #line 1237 "fortran.y" 5328 { sprintf((yyval.na),":");} 5329 break; 5330 5331 case 328: 5332 /* Line 1807 of yacc.c */ 4703 5333 #line 1240 "fortran.y" 4704 5334 { 4705 if ( couldaddvariable == 1 ) 4706 { 4707 /* */ 4708 if (dimsgiven == 1) 4709 { 4710 curvar=createvar((yyvsp[(3) - (6)].nac),curdim); 4711 GlobalDeclarationType == 0; 4712 } 4713 else 4714 { 4715 curvar=createvar((yyvsp[(3) - (6)].nac),(yyvsp[(4) - (6)].d)); 4716 } 4717 /* */ 4718 CreateAndFillin_Curvar(DeclType,curvar); 4719 /* */ 4720 curlistvar=insertvar(NULL,curvar); 4721 if (!strcasecmp(DeclType,"character")) 4722 { 4723 if (c_selectorgiven == 1) 5335 if ( afterpercent == 0 ) 5336 { 5337 if ( Agrif_in_Tok_NAME((yyvsp[(1) - (1)].na)) ) Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 5338 if ( !strcasecmp((yyvsp[(1) - (1)].na),"Agrif_Parent") ) agrif_parentcall = 1; 5339 if ( VariableIsFunction((yyvsp[(1) - (1)].na)) ) 5340 { 5341 if ( inagrifcallargument == 1 ) 5342 { 5343 if ( !strcasecmp((yyvsp[(1) - (1)].na),identcopy) ) 5344 { 5345 strcpy(sameagrifname,identcopy); 5346 sameagrifargument = 1; 5347 } 5348 } 5349 strcpy(identcopy,(yyvsp[(1) - (1)].na)); 5350 pointedvar = 0; 5351 5352 if (variscoupled_0((yyvsp[(1) - (1)].na))) strcpy(truename, getcoupledname_0((yyvsp[(1) - (1)].na))); 5353 else strcpy(truename, (yyvsp[(1) - (1)].na)); 5354 5355 if ( VarIsNonGridDepend(truename) == 0 && (! Variableshouldberemoved(truename)) ) 5356 { 5357 if ( inagrifcallargument == 1 || varispointer_0(truename) == 1 ) 5358 { 5359 if ( (IsinListe(List_UsedInSubroutine_Var,(yyvsp[(1) - (1)].na)) == 1) || (inagrifcallargument == 1) ) 4724 5360 { 4725 strcpy(c_selectordim.first,"1"); 4726 strcpy(c_selectordim.last,c_selectorname); 4727 Save_Length(c_selectorname,1); 4728 change_dim_char 4729 (insertdim(NULL,c_selectordim),curlistvar); 5361 if (varistyped_0(truename) == 0) ModifyTheVariableName_0(truename,strlen((yyvsp[(1) - (1)].na))); 4730 5362 } 4731 } 4732 (yyval.l)=settype(DeclType,curlistvar); 4733 } 4734 strcpy(vallengspec,""); 4735 ;} 4736 break; 4737 4738 case 176: 4739 #line 1273 "fortran.y" 4740 { 4741 if ( couldaddvariable == 1 ) 4742 { 4743 if (dimsgiven == 1) 4744 { 4745 curvar=createvar((yyvsp[(4) - (7)].nac),curdim); 4746 } 4747 else 4748 { 4749 curvar=createvar((yyvsp[(4) - (7)].nac),(yyvsp[(5) - (7)].d)); 4750 } 4751 /* */ 4752 CreateAndFillin_Curvar((yyvsp[(1) - (7)].l)->var->v_typevar,curvar); 4753 /* */ 4754 strcpy(curvar->v_typevar,((yyvsp[(1) - (7)].l)->var->v_typevar)); 4755 Save_Length((yyvsp[(1) - (7)].l)->var->v_typevar,3); 4756 /* */ 4757 curlistvar=insertvar((yyvsp[(1) - (7)].l),curvar); 4758 if (!strcasecmp(DeclType,"character")) 4759 { 4760 if (c_selectorgiven == 1) 4761 { 4762 strcpy(c_selectordim.first,"1"); 4763 strcpy(c_selectordim.last,c_selectorname); 4764 Save_Length(c_selectorname,1); 4765 change_dim_char 4766 (insertdim(NULL,c_selectordim),curlistvar); 4767 } 4768 } 4769 (yyval.l)=curlistvar; 4770 } 4771 strcpy(vallengspec,""); 4772 ;} 4773 break; 4774 4775 case 177: 5363 } 5364 if ( inagrifcallargument != 1 || sameagrifargument ==1 ) 5365 { 5366 Add_UsedInSubroutine_Var_1(truename); 5367 } 5368 } 5369 NotifyAgrifFunction_0(truename); 5370 } 5371 } 5372 else 5373 { 5374 afterpercent = 0; 5375 } 5376 } 5377 break; 5378 5379 case 329: 5380 /* Line 1807 of yacc.c */ 5381 #line 1285 "fortran.y" 5382 { strcpy((yyval.na),".TRUE.");} 5383 break; 5384 5385 case 330: 5386 /* Line 1807 of yacc.c */ 5387 #line 1286 "fortran.y" 5388 { strcpy((yyval.na),".FALSE.");} 5389 break; 5390 5391 case 331: 5392 /* Line 1807 of yacc.c */ 5393 #line 1287 "fortran.y" 5394 { strcpy((yyval.na),"NULL()"); } 5395 break; 5396 5397 case 332: 5398 /* Line 1807 of yacc.c */ 5399 #line 1288 "fortran.y" 5400 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5401 break; 5402 5403 case 333: 5404 /* Line 1807 of yacc.c */ 5405 #line 1289 "fortran.y" 5406 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5407 break; 5408 5409 case 334: 5410 /* Line 1807 of yacc.c */ 5411 #line 1290 "fortran.y" 5412 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 5413 break; 5414 5415 case 335: 5416 /* Line 1807 of yacc.c */ 5417 #line 1292 "fortran.y" 5418 { sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na)); } 5419 break; 5420 5421 case 337: 5422 /* Line 1807 of yacc.c */ 5423 #line 1296 "fortran.y" 5424 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5425 break; 5426 5427 case 339: 5428 /* Line 1807 of yacc.c */ 5429 #line 1298 "fortran.y" 5430 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5431 break; 5432 5433 case 340: 5434 /* Line 1807 of yacc.c */ 5435 #line 1299 "fortran.y" 5436 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5437 break; 5438 5439 case 341: 5440 /* Line 1807 of yacc.c */ 5441 #line 1301 "fortran.y" 5442 { strcpy((yyval.na)," ");} 5443 break; 5444 5445 case 342: 5446 /* Line 1807 of yacc.c */ 5447 #line 1302 "fortran.y" 5448 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5449 break; 5450 5451 case 343: 5452 /* Line 1807 of yacc.c */ 5453 #line 1305 "fortran.y" 5454 { sprintf((yyval.na),"(%s :%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));} 5455 break; 5456 5457 case 344: 5458 /* Line 1807 of yacc.c */ 4776 5459 #line 1307 "fortran.y" 4777 {dimsgiven=0;;} 4778 break; 4779 4780 case 178: 4781 #line 1310 "fortran.y" 4782 {strcpy(DeclType,(yyvsp[(1) - (2)].nac));;} 4783 break; 4784 4785 case 179: 5460 { strcpy((yyval.na)," ");} 5461 break; 5462 5463 case 345: 5464 /* Line 1807 of yacc.c */ 5465 #line 1308 "fortran.y" 5466 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5467 break; 5468 5469 case 346: 5470 /* Line 1807 of yacc.c */ 5471 #line 1311 "fortran.y" 5472 { strcpy((yyval.na)," ");} 5473 break; 5474 5475 case 347: 5476 /* Line 1807 of yacc.c */ 4786 5477 #line 1312 "fortran.y" 4787 { 4788 strcpy(DeclType,"CHARACTER"); 4789 ;} 4790 break; 4791 4792 case 180: 5478 { strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5479 break; 5480 5481 case 348: 5482 /* Line 1807 of yacc.c */ 5483 #line 1314 "fortran.y" 5484 { InitialValueGiven = 0; } 5485 break; 5486 5487 case 349: 5488 /* Line 1807 of yacc.c */ 4793 5489 #line 1316 "fortran.y" 4794 5490 { 4795 strcpy(DeclType,(yyvsp[(1) - (3)].nac)); 4796 strcpy(nameinttypename,(yyvsp[(3) - (3)].nac)); 4797 ;} 4798 break; 4799 4800 case 181: 4801 #line 1321 "fortran.y" 5491 if ( inside_type_declare ) break; 5492 strcpy(InitValue,(yyvsp[(2) - (2)].na)); 5493 InitialValueGiven = 1; 5494 } 5495 break; 5496 5497 case 350: 5498 /* Line 1807 of yacc.c */ 5499 #line 1322 "fortran.y" 4802 5500 { 4803 strcpy(DeclType,"TYPE"); 4804 GlobalDeclarationType = 1 4805 ;} 4806 break; 4807 4808 case 182: 4809 #line 1327 "fortran.y" 5501 if ( inside_type_declare ) break; 5502 strcpy(InitValue,(yyvsp[(2) - (2)].na)); 5503 InitialValueGiven = 2; 5504 } 5505 break; 5506 5507 case 351: 5508 /* Line 1807 of yacc.c */ 5509 #line 1329 "fortran.y" 5510 {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 5511 break; 5512 5513 case 352: 5514 /* Line 1807 of yacc.c */ 5515 #line 1333 "fortran.y" 4810 5516 { 4811 /* if ( couldaddvariable == 1 ) VarTypepar = 1 ; 4812 couldaddvariable = 0 ; 4813 pos_cur_decl = setposcur()-5;*/ 4814 pos_cur_decl = setposcur()-5; 4815 ;} 4816 break; 4817 4818 case 184: 4819 #line 1336 "fortran.y" 4820 {c_selectorgiven=1;strcpy(c_selectorname,(yyvsp[(2) - (2)].nac));;} 4821 break; 4822 4823 case 185: 4824 #line 1337 "fortran.y" 4825 {c_star = 1;;} 4826 break; 4827 4828 case 190: 4829 #line 1345 "fortran.y" 5517 /* if variables has been declared in a subroutine */ 5518 sprintf(charusemodule, "%s", (yyvsp[(2) - (2)].na)); 5519 if ( firstpass ) 5520 { 5521 Add_NameOfModuleUsed_1((yyvsp[(2) - (2)].na)); 5522 } 5523 else 5524 { 5525 if ( insubroutinedeclare ) 5526 copyuse_0((yyvsp[(2) - (2)].na)); 5527 5528 if ( inmoduledeclare == 0 ) 5529 { 5530 pos_end = setposcur(); 5531 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5532 } 5533 } 5534 } 5535 break; 5536 5537 case 353: 5538 /* Line 1807 of yacc.c */ 5539 #line 1353 "fortran.y" 4830 5540 { 4831 pos_cur_decl = setposcur()-9; 4832 ;} 4833 break; 4834 4835 case 191: 4836 #line 1349 "fortran.y" 4837 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 4838 break; 4839 4840 case 192: 4841 #line 1352 "fortran.y" 5541 if ( firstpass ) 5542 { 5543 if ( insubroutinedeclare ) 5544 { 5545 Add_CouplePointed_Var_1((yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].lc)); 5546 coupletmp = (yyvsp[(4) - (4)].lc); 5547 strcpy(ligne,""); 5548 while ( coupletmp ) 5549 { 5550 strcat(ligne, coupletmp->c_namevar); 5551 strcat(ligne, " => "); 5552 strcat(ligne, coupletmp->c_namepointedvar); 5553 coupletmp = coupletmp->suiv; 5554 if ( coupletmp ) strcat(ligne,","); 5555 } 5556 sprintf(charusemodule,"%s",(yyvsp[(2) - (4)].na)); 5557 } 5558 Add_NameOfModuleUsed_1((yyvsp[(2) - (4)].na)); 5559 } 5560 if ( inmoduledeclare == 0 ) 5561 { 5562 pos_end = setposcur(); 5563 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5564 } 5565 } 5566 break; 5567 5568 case 354: 5569 /* Line 1807 of yacc.c */ 5570 #line 1380 "fortran.y" 4842 5571 { 4843 strcpy((yyval.nac),"INTEGER"); 4844 pos_cur_decl = setposcur()-7; 4845 ;} 4846 break; 4847 4848 case 193: 4849 #line 1356 "fortran.y" 5572 /* if variables has been declared in a subroutine */ 5573 sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].na)); 5574 if ( firstpass ) 5575 { 5576 Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].na)); 5577 } 5578 else 5579 { 5580 if ( insubroutinedeclare ) 5581 copyuseonly_0((yyvsp[(2) - (6)].na)); 5582 5583 if ( inmoduledeclare == 0 ) 5584 { 5585 pos_end = setposcur(); 5586 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5587 } 5588 } 5589 } 5590 break; 5591 5592 case 355: 5593 /* Line 1807 of yacc.c */ 5594 #line 1400 "fortran.y" 4850 5595 { 4851 strcpy((yyval.nac),"REAL"); 4852 pos_cur_decl = setposcur()-4; 4853 ;} 4854 break; 4855 4856 case 194: 4857 #line 1361 "fortran.y" 4858 {strcpy((yyval.nac),"COMPLEX"); 4859 pos_cur_decl = setposcur()-7;;} 4860 break; 4861 4862 case 195: 4863 #line 1364 "fortran.y" 5596 /* if variables has been declared in a subroutine */ 5597 if ( firstpass ) 5598 { 5599 if ( insubroutinedeclare ) 5600 { 5601 Add_CouplePointed_Var_1((yyvsp[(2) - (6)].na),(yyvsp[(6) - (6)].lc)); 5602 coupletmp = (yyvsp[(6) - (6)].lc); 5603 strcpy(ligne,""); 5604 while ( coupletmp ) 5605 { 5606 strcat(ligne,coupletmp->c_namevar); 5607 if ( strcasecmp(coupletmp->c_namepointedvar,"") ) strcat(ligne," => "); 5608 strcat(ligne,coupletmp->c_namepointedvar); 5609 coupletmp = coupletmp->suiv; 5610 if ( coupletmp ) strcat(ligne,","); 5611 } 5612 sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].na)); 5613 } 5614 Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].na)); 5615 } 5616 else /* if ( firstpass == 0 ) */ 5617 { 5618 if ( inmoduledeclare == 0 ) 5619 { 5620 pos_end = setposcur(); 5621 RemoveWordSET_0(fortran_out,pos_curuse,pos_end-pos_curuse); 5622 if (oldfortran_out) variableisglobalinmodule((yyvsp[(6) - (6)].lc),(yyvsp[(2) - (6)].na),oldfortran_out,pos_curuseold); 5623 } 5624 else 5625 { 5626 /* if we are in the module declare and if the */ 5627 /* onlylist is a list of global variable */ 5628 variableisglobalinmodule((yyvsp[(6) - (6)].lc), (yyvsp[(2) - (6)].na), fortran_out,pos_curuse); 5629 } 5630 } 5631 } 5632 break; 5633 5634 case 356: 5635 /* Line 1807 of yacc.c */ 5636 #line 1440 "fortran.y" 4864 5637 { 4865 pos_cur_decl = setposcur()-16; 4866 strcpy((yyval.nac),"REAL"); 4867 strcpy(nameinttypename,"8"); 4868 ;} 4869 break; 4870 4871 case 196: 4872 #line 1370 "fortran.y" 4873 {strcpy((yyval.nac),"DOUBLE COMPLEX");;} 4874 break; 4875 4876 case 197: 4877 #line 1372 "fortran.y" 5638 pos_curuse = setposcur()-strlen((yyvsp[(1) - (1)].na)); 5639 if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out); 5640 } 5641 break; 5642 5643 case 357: 5644 /* Line 1807 of yacc.c */ 5645 #line 1447 "fortran.y" 4878 5646 { 4879 strcpy((yyval.nac),"LOGICAL"); 4880 pos_cur_decl = setposcur()-7; 4881 ;} 4882 break; 4883 4884 case 199: 4885 #line 1378 "fortran.y" 4886 {strcpy(vallengspec,(yyvsp[(2) - (2)].na));;} 4887 break; 4888 4889 case 200: 4890 #line 1380 "fortran.y" 4891 {sprintf((yyval.na),"*%s",(yyvsp[(1) - (1)].na));;} 4892 break; 4893 4894 case 201: 4895 #line 1381 "fortran.y" 4896 {strcpy((yyval.na),"*(*)");;} 4897 break; 4898 4899 case 208: 4900 #line 1392 "fortran.y" 5647 (yyval.lc) = (yyvsp[(1) - (1)].lc); 5648 } 5649 break; 5650 5651 case 358: 5652 /* Line 1807 of yacc.c */ 5653 #line 1451 "fortran.y" 4901 5654 { 4902 if ( strstr((yyvsp[(3) - (3)].na),"0.d0") ) 4903 { 4904 strcpy(nameinttypename,"8"); 4905 sprintf(NamePrecision,""); 4906 } 4907 else sprintf(NamePrecision,"%s = %s",(yyvsp[(1) - (3)].nac),(yyvsp[(3) - (3)].na)); 4908 ;} 4909 break; 4910 4911 case 209: 4912 #line 1401 "fortran.y" 5655 /* insert the variable in the list $1 */ 5656 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 5657 (yyval.lc) = (yyvsp[(3) - (3)].lc); 5658 } 5659 break; 5660 5661 case 359: 5662 /* Line 1807 of yacc.c */ 5663 #line 1458 "fortran.y" 4913 5664 { 4914 strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 4915 ;} 4916 break; 4917 4918 case 210: 4919 #line 1405 "fortran.y" 5665 coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); 5666 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].na)); 5667 strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].na)); 5668 coupletmp->suiv = NULL; 5669 (yyval.lc) = coupletmp; 5670 } 5671 break; 5672 5673 case 360: 5674 /* Line 1807 of yacc.c */ 5675 #line 1467 "fortran.y" 5676 { (yyval.lc) = (yyvsp[(1) - (1)].lc); } 5677 break; 5678 5679 case 361: 5680 /* Line 1807 of yacc.c */ 5681 #line 1469 "fortran.y" 4920 5682 { 4921 strcpy(NamePrecision,(yyvsp[(1) - (1)].nac)); 4922 ;} 4923 break; 4924 4925 case 211: 4926 #line 1409 "fortran.y" 4927 {strcpy(CharacterSize,(yyvsp[(1) - (1)].na)); 4928 strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 4929 break; 4930 4931 case 212: 4932 #line 1411 "fortran.y" 4933 {strcpy(CharacterSize,"*"); 4934 strcpy((yyval.na),"*");;} 4935 break; 4936 4937 case 220: 4938 #line 1425 "fortran.y" 5683 /* insert the variable in the list $1 */ 5684 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 5685 (yyval.lc) = (yyvsp[(3) - (3)].lc); 5686 } 5687 break; 5688 5689 case 362: 5690 /* Line 1807 of yacc.c */ 5691 #line 1477 "fortran.y" 4939 5692 { 4940 VariableIsParameter = 1; 4941 ;} 4942 break; 4943 4944 case 222: 4945 #line 1430 "fortran.y" 4946 {Allocatabledeclare = 1;;} 4947 break; 4948 4949 case 223: 4950 #line 1432 "fortran.y" 5693 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 5694 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].na)); 5695 strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].na)); 5696 coupletmp->suiv = NULL; 5697 (yyval.lc) = coupletmp; 5698 pointedvar = 1; 5699 Add_UsedInSubroutine_Var_1((yyvsp[(1) - (3)].na)); 5700 } 5701 break; 5702 5703 case 363: 5704 /* Line 1807 of yacc.c */ 5705 #line 1487 "fortran.y" 4951 5706 { 4952 dimsgiven=1; 4953 curdim=(yyvsp[(2) - (2)].d); 4954 ;} 4955 break; 4956 4957 case 224: 4958 #line 1437 "fortran.y" 4959 {ExternalDeclare = 1;;} 4960 break; 4961 4962 case 225: 4963 #line 1439 "fortran.y" 4964 {strcpy(IntentSpec,(yyvsp[(3) - (4)].nac));;} 4965 break; 4966 4967 case 227: 4968 #line 1441 "fortran.y" 4969 {optionaldeclare = 1 ;;} 4970 break; 4971 4972 case 228: 4973 #line 1442 "fortran.y" 4974 {pointerdeclare = 1 ;;} 4975 break; 4976 4977 case 229: 4978 #line 1443 "fortran.y" 5707 coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); 5708 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].na)); 5709 strcpy(coupletmp->c_namepointedvar,""); 5710 coupletmp->suiv = NULL; 5711 (yyval.lc) = coupletmp; 5712 } 5713 break; 5714 5715 case 380: 5716 /* Line 1807 of yacc.c */ 5717 #line 1522 "fortran.y" 5718 { inallocate = 0; } 5719 break; 5720 5721 case 381: 5722 /* Line 1807 of yacc.c */ 5723 #line 1523 "fortran.y" 5724 { inallocate = 0; } 5725 break; 5726 5727 case 388: 5728 /* Line 1807 of yacc.c */ 5729 #line 1531 "fortran.y" 4979 5730 { 4980 /* if ( inmodulemeet == 1 ) 4981 {*/ 4982 SaveDeclare = 1 ; 4983 /* }*/ 4984 ;} 4985 break; 4986 4987 case 230: 4988 #line 1450 "fortran.y" 4989 {Targetdeclare = 1;;} 4990 break; 4991 4992 case 231: 4993 #line 1452 "fortran.y" 4994 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 4995 break; 4996 4997 case 232: 4998 #line 1453 "fortran.y" 4999 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5000 break; 5001 5002 case 233: 5003 #line 1454 "fortran.y" 5004 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); ;} 5005 break; 5006 5007 case 234: 5008 #line 1457 "fortran.y" 5009 {PublicDeclare = 1;;} 5010 break; 5011 5012 case 235: 5013 #line 1459 "fortran.y" 5014 {PrivateDeclare = 1;;} 5015 break; 5016 5017 case 236: 5018 #line 1461 "fortran.y" 5019 {if ( created_dimensionlist == 1 ) 5020 { 5021 (yyval.d)=(listdim *)NULL; 5022 } 5023 ;} 5024 break; 5025 5026 case 237: 5027 #line 1467 "fortran.y" 5028 {if ( created_dimensionlist == 1 || 5029 agrif_parentcall == 1 ) (yyval.d)=(yyvsp[(2) - (3)].d);;} 5030 break; 5031 5032 case 238: 5033 #line 1470 "fortran.y" 5034 {if ( created_dimensionlist == 1 || 5035 agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[(1) - (1)].dim1));;} 5036 break; 5037 5038 case 239: 5039 #line 1473 "fortran.y" 5040 {if ( couldaddvariable == 1 ) 5041 if ( created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[(1) - (3)].d),(yyvsp[(3) - (3)].dim1));;} 5042 break; 5043 5044 case 240: 5045 #line 1476 "fortran.y" 5731 GlobalDeclaration = 0 ; 5732 if ( firstpass == 0 && strcasecmp(subroutinename,"") ) 5733 { 5734 if ( module_declar && insubroutinedeclare == 0 ) fclose(module_declar); 5735 } 5736 if ( strcasecmp(subroutinename,"") ) 5737 { 5738 if ( inmodulemeet == 1 ) 5739 { 5740 /* we are in a module */ 5741 if ( insubroutinedeclare == 1 ) 5742 { 5743 /* it is like an end subroutine <name> */ 5744 insubroutinedeclare = 0 ; 5745 pos_cur = setposcur(); 5746 closeandcallsubloopandincludeit_0(1); 5747 functiondeclarationisdone = 0; 5748 } 5749 else 5750 { 5751 /* it is like an end module <name> */ 5752 inmoduledeclare = 0 ; 5753 inmodulemeet = 0 ; 5754 } 5755 } 5756 else 5757 { 5758 insubroutinedeclare = 0; 5759 pos_cur = setposcur(); 5760 closeandcallsubloopandincludeit_0(2); 5761 functiondeclarationisdone = 0; 5762 } 5763 } 5764 strcpy(subroutinename,""); 5765 } 5766 break; 5767 5768 case 389: 5769 /* Line 1807 of yacc.c */ 5770 #line 1568 "fortran.y" 5046 5771 { 5047 strcpy((yyval.dim1).first,"1"); 5048 strcpy((yyval.dim1).last,(yyvsp[(1) - (1)].na)); 5049 Save_Length((yyvsp[(1) - (1)].na),1); 5050 ;} 5051 break; 5052 5053 case 241: 5054 #line 1481 "fortran.y" 5772 insubroutinedeclare = 0; 5773 inprogramdeclare = 0; 5774 pos_cur = setposcur(); 5775 closeandcallsubloopandincludeit_0(3); 5776 functiondeclarationisdone = 0; 5777 strcpy(subroutinename,""); 5778 } 5779 break; 5780 5781 case 390: 5782 /* Line 1807 of yacc.c */ 5783 #line 1577 "fortran.y" 5055 5784 { 5056 strcpy((yyval.dim1).first,""); 5057 strcpy((yyval.dim1).last,""); 5058 ;} 5059 break; 5060 5061 case 242: 5062 #line 1485 "fortran.y" 5785 if ( strcasecmp(subroutinename,"") ) 5786 { 5787 insubroutinedeclare = 0; 5788 pos_cur = setposcur(); 5789 closeandcallsubloopandincludeit_0(1); 5790 functiondeclarationisdone = 0; 5791 strcpy(subroutinename,""); 5792 } 5793 } 5794 break; 5795 5796 case 391: 5797 /* Line 1807 of yacc.c */ 5798 #line 1588 "fortran.y" 5063 5799 { 5064 strcpy((yyval.dim1).first,(yyvsp[(1) - (2)].na)); 5065 Save_Length((yyvsp[(1) - (2)].na),2); 5066 strcpy((yyval.dim1).last,""); 5067 ;} 5068 break; 5069 5070 case 243: 5071 #line 1490 "fortran.y" 5800 insubroutinedeclare = 0; 5801 pos_cur = setposcur(); 5802 closeandcallsubloopandincludeit_0(0); 5803 functiondeclarationisdone = 0; 5804 strcpy(subroutinename,""); 5805 } 5806 break; 5807 5808 case 392: 5809 /* Line 1807 of yacc.c */ 5810 #line 1596 "fortran.y" 5072 5811 { 5073 strcpy((yyval.dim1).first,""); 5074 strcpy((yyval.dim1).last,(yyvsp[(2) - (2)].na)); 5075 Save_Length((yyvsp[(2) - (2)].na),1); 5076 ;} 5077 break; 5078 5079 case 244: 5080 #line 1496 "fortran.y" 5812 /* if we never meet the contains keyword */ 5813 if ( firstpass == 0 ) 5814 { 5815 RemoveWordCUR_0(fortran_out, strlen((yyvsp[(2) - (2)].na))+11); // Remove word "end module" 5816 if ( inmoduledeclare && ! aftercontainsdeclare ) 5817 { 5818 Write_Closing_Module(1); 5819 } 5820 fprintf(fortran_out,"\n end module %s\n", curmodulename); 5821 if ( module_declar && insubroutinedeclare == 0 ) 5822 { 5823 fclose(module_declar); 5824 } 5825 } 5826 inmoduledeclare = 0 ; 5827 inmodulemeet = 0 ; 5828 aftercontainsdeclare = 1; 5829 strcpy(curmodulename, ""); 5830 GlobalDeclaration = 0 ; 5831 } 5832 break; 5833 5834 case 395: 5835 /* Line 1807 of yacc.c */ 5836 #line 1620 "fortran.y" 5081 5837 { 5082 strcpy((yyval.dim1).first,(yyvsp[(1) - (3)].na)); 5083 Save_Length((yyvsp[(1) - (3)].na),2); 5084 strcpy((yyval.dim1).last,(yyvsp[(3) - (3)].na)); 5085 Save_Length((yyvsp[(3) - (3)].na),1); 5086 ;} 5087 break; 5088 5089 case 245: 5090 #line 1503 "fortran.y" 5091 {strcpy((yyval.na),"*");;} 5092 break; 5093 5094 case 246: 5095 #line 1504 "fortran.y" 5096 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5097 break; 5098 5099 case 247: 5100 #line 1506 "fortran.y" 5101 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5102 break; 5103 5104 case 248: 5105 #line 1508 "fortran.y" 5106 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s)",(yyvsp[(2) - (3)].na));;} 5107 break; 5108 5109 case 249: 5110 #line 1510 "fortran.y" 5111 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5112 break; 5113 5114 case 250: 5115 #line 1512 "fortran.y" 5116 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5117 break; 5118 5119 case 251: 5120 #line 1516 "fortran.y" 5121 {sprintf((yyval.na),"SUM(%s)",(yyvsp[(2) - (3)].na));;} 5122 break; 5123 5124 case 252: 5125 #line 1518 "fortran.y" 5126 {sprintf((yyval.na),"MAX(%s)",(yyvsp[(2) - (3)].na));;} 5127 break; 5128 5129 case 253: 5130 #line 1520 "fortran.y" 5131 {sprintf((yyval.na),"TANH(%s)",(yyvsp[(3) - (4)].na));;} 5132 break; 5133 5134 case 254: 5135 #line 1522 "fortran.y" 5136 {sprintf((yyval.na),"MAXVAL(%s)",(yyvsp[(3) - (4)].na));;} 5137 break; 5138 5139 case 255: 5140 #line 1524 "fortran.y" 5141 {sprintf((yyval.na),"MIN(%s)",(yyvsp[(2) - (3)].na));;} 5142 break; 5143 5144 case 256: 5145 #line 1526 "fortran.y" 5146 {sprintf((yyval.na),"MINVAL(%s)",(yyvsp[(3) - (4)].na));;} 5147 break; 5148 5149 case 257: 5150 #line 1528 "fortran.y" 5151 {sprintf((yyval.na),"TRIM(%s)",(yyvsp[(3) - (4)].na));;} 5152 break; 5153 5154 case 258: 5155 #line 1530 "fortran.y" 5156 {sprintf((yyval.na),"SQRT(%s)",(yyvsp[(2) - (3)].na));;} 5157 break; 5158 5159 case 259: 5160 #line 1532 "fortran.y" 5161 {sprintf((yyval.na),"REAL(%s)",(yyvsp[(3) - (4)].na));;} 5162 break; 5163 5164 case 260: 5165 #line 1534 "fortran.y" 5166 {sprintf((yyval.na),"NINT(%s)",(yyvsp[(3) - (4)].na));;} 5167 break; 5168 5169 case 261: 5170 #line 1536 "fortran.y" 5171 {sprintf((yyval.na),"FLOAT(%s)",(yyvsp[(3) - (4)].na));;} 5172 break; 5173 5174 case 262: 5175 #line 1538 "fortran.y" 5176 {sprintf((yyval.na),"EXP(%s)",(yyvsp[(3) - (4)].na));;} 5177 break; 5178 5179 case 263: 5180 #line 1540 "fortran.y" 5181 {sprintf((yyval.na),"COS(%s)",(yyvsp[(3) - (4)].na));;} 5182 break; 5183 5184 case 264: 5185 #line 1542 "fortran.y" 5186 {sprintf((yyval.na),"COSH(%s)",(yyvsp[(3) - (4)].na));;} 5187 break; 5188 5189 case 265: 5190 #line 1544 "fortran.y" 5191 {sprintf((yyval.na),"ACOS(%s)",(yyvsp[(3) - (4)].na));;} 5192 break; 5193 5194 case 266: 5195 #line 1546 "fortran.y" 5196 {sprintf((yyval.na),"SIN(%s)",(yyvsp[(3) - (4)].na));;} 5197 break; 5198 5199 case 267: 5200 #line 1548 "fortran.y" 5201 {sprintf((yyval.na),"SINH(%s)",(yyvsp[(3) - (4)].na));;} 5202 break; 5203 5204 case 268: 5205 #line 1550 "fortran.y" 5206 {sprintf((yyval.na),"ASIN(%s)",(yyvsp[(3) - (4)].na));;} 5207 break; 5208 5209 case 269: 5210 #line 1552 "fortran.y" 5211 {sprintf((yyval.na),"LOG(%s)",(yyvsp[(3) - (4)].na));;} 5212 break; 5213 5214 case 270: 5215 #line 1554 "fortran.y" 5216 {sprintf((yyval.na),"TAN(%s)",(yyvsp[(3) - (4)].na));;} 5217 break; 5218 5219 case 271: 5220 #line 1556 "fortran.y" 5221 {sprintf((yyval.na),"ATAN(%s)",(yyvsp[(3) - (4)].na));;} 5222 break; 5223 5224 case 272: 5225 #line 1558 "fortran.y" 5226 {sprintf((yyval.na),"ABS(%s)",(yyvsp[(2) - (3)].na));;} 5227 break; 5228 5229 case 273: 5230 #line 1560 "fortran.y" 5231 {sprintf((yyval.na),"MOD(%s)",(yyvsp[(3) - (4)].na));;} 5232 break; 5233 5234 case 274: 5235 #line 1562 "fortran.y" 5236 {sprintf((yyval.na),"SIGN(%s)",(yyvsp[(3) - (4)].na));;} 5237 break; 5238 5239 case 275: 5240 #line 1564 "fortran.y" 5241 {sprintf((yyval.na),"MINLOC(%s)",(yyvsp[(3) - (4)].na));;} 5242 break; 5243 5244 case 276: 5245 #line 1566 "fortran.y" 5246 {sprintf((yyval.na),"MAXLOC(%s)",(yyvsp[(3) - (4)].na));;} 5247 break; 5248 5249 case 277: 5250 #line 1568 "fortran.y" 5251 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5252 break; 5253 5254 case 278: 5255 #line 1570 "fortran.y" 5256 {if ( couldaddvariable == 1 ) 5257 { strcpy((yyval.na),(yyvsp[(1) - (3)].na));strcat((yyval.na),",");strcat((yyval.na),(yyvsp[(3) - (3)].na));};} 5258 break; 5259 5260 case 279: 5261 #line 1573 "fortran.y" 5262 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5263 break; 5264 5265 case 280: 5266 #line 1575 "fortran.y" 5267 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].nac));;} 5268 break; 5269 5270 case 281: 5271 #line 1577 "fortran.y" 5272 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5273 break; 5274 5275 case 282: 5276 #line 1579 "fortran.y" 5277 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 5278 break; 5279 5280 case 283: 5281 #line 1581 "fortran.y" 5282 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5283 break; 5284 5285 case 284: 5286 #line 1583 "fortran.y" 5287 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5288 break; 5289 5290 case 285: 5291 #line 1585 "fortran.y" 5292 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"+");;} 5293 break; 5294 5295 case 286: 5296 #line 1586 "fortran.y" 5297 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),"-");;} 5298 break; 5299 5300 case 287: 5301 #line 1589 "fortran.y" 5302 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"+%s",(yyvsp[(2) - (2)].na));;} 5303 break; 5304 5305 case 288: 5306 #line 1591 "fortran.y" 5307 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"-%s",(yyvsp[(2) - (2)].na));;} 5308 break; 5309 5310 case 289: 5311 #line 1593 "fortran.y" 5312 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"*%s",(yyvsp[(2) - (2)].na));;} 5313 break; 5314 5315 case 290: 5316 #line 1595 "fortran.y" 5317 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5318 break; 5319 5320 case 291: 5321 #line 1597 "fortran.y" 5322 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5323 break; 5324 5325 case 292: 5326 #line 1599 "fortran.y" 5327 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5328 break; 5329 5330 case 293: 5331 #line 1601 "fortran.y" 5332 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5333 break; 5334 5335 case 294: 5336 #line 1603 "fortran.y" 5337 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," > %s",(yyvsp[(2) - (2)].na));;} 5338 break; 5339 5340 case 295: 5341 #line 1605 "fortran.y" 5342 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5343 break; 5344 5345 case 296: 5346 #line 1607 "fortran.y" 5347 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," < %s",(yyvsp[(2) - (2)].na));;} 5348 break; 5349 5350 case 297: 5351 #line 1609 "fortran.y" 5352 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5353 break; 5354 5355 case 298: 5356 #line 1611 "fortran.y" 5357 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," >= %s",(yyvsp[(3) - (3)].na));;} 5358 break; 5359 5360 case 299: 5361 #line 1613 "fortran.y" 5362 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5363 break; 5364 5365 case 300: 5366 #line 1615 "fortran.y" 5367 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," <= %s",(yyvsp[(3) - (3)].na));;} 5368 break; 5369 5370 case 301: 5371 #line 1617 "fortran.y" 5372 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5373 break; 5374 5375 case 302: 5376 #line 1619 "fortran.y" 5377 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5378 break; 5379 5380 case 303: 5381 #line 1621 "fortran.y" 5382 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5383 break; 5384 5385 case 304: 5386 #line 1623 "fortran.y" 5387 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5388 break; 5389 5390 case 305: 5391 #line 1625 "fortran.y" 5392 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].na));;} 5393 break; 5394 5395 case 306: 5396 #line 1627 "fortran.y" 5397 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 5398 break; 5399 5400 case 307: 5401 #line 1629 "fortran.y" 5402 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s",(yyvsp[(2) - (2)].na));;} 5403 break; 5404 5405 case 308: 5406 #line 1631 "fortran.y" 5407 {strcpy((yyval.na),"");;} 5408 break; 5409 5410 case 309: 5411 #line 1633 "fortran.y" 5412 {sprintf((yyval.na),"/%s",(yyvsp[(1) - (1)].na));;} 5413 break; 5414 5415 case 310: 5416 #line 1635 "fortran.y" 5417 {sprintf((yyval.na),"/= %s",(yyvsp[(2) - (2)].na));;} 5418 break; 5419 5420 case 311: 5421 #line 1637 "fortran.y" 5422 {sprintf((yyval.na),"//%s",(yyvsp[(2) - (2)].na));;} 5423 break; 5424 5425 case 312: 5426 #line 1640 "fortran.y" 5427 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"==%s",(yyvsp[(2) - (2)].na));;} 5428 break; 5429 5430 case 313: 5431 #line 1642 "fortran.y" 5432 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"= %s",(yyvsp[(1) - (1)].na));;} 5433 break; 5434 5435 case 314: 5436 #line 1645 "fortran.y" 5437 {if ( couldaddvariable == 1 ) 5438 { 5439 printf("ident = %s\n",(yyvsp[(1) - (1)].nac)); 5440 strcpy((yyval.na),(yyvsp[(1) - (1)].nac));} 5441 ;} 5442 break; 5443 5444 case 315: 5445 #line 1651 "fortran.y" 5446 {if ( couldaddvariable == 1 ) { 5447 printf("struct = %s\n",(yyvsp[(1) - (1)].na)); 5448 strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5449 ;} 5450 break; 5451 5452 case 316: 5453 #line 1656 "fortran.y" 5454 {if ( couldaddvariable == 1 ) { 5455 printf("arrayref = %s\n",(yyvsp[(1) - (1)].na)); 5456 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5457 };} 5458 break; 5459 5460 case 317: 5461 #line 1661 "fortran.y" 5838 if ( inside_type_declare ) break; 5839 if ( inmoduledeclare ) 5840 { 5841 if ( firstpass == 0 ) 5842 { 5843 RemoveWordCUR_0(fortran_out,9); // Remove word 'contains' 5844 Write_Closing_Module(0); 5845 } 5846 inmoduledeclare = 0 ; 5847 aftercontainsdeclare = 1; 5848 } 5849 else if ( insubroutinedeclare ) 5850 { 5851 incontainssubroutine = 1; 5852 insubroutinedeclare = 0; 5853 incontainssubroutine = 0; 5854 functiondeclarationisdone = 0; 5855 5856 if ( firstpass ) 5857 List_ContainsSubroutine = Addtolistnom(subroutinename, List_ContainsSubroutine, 0); 5858 else 5859 closeandcallsubloop_contains_0(); 5860 5861 strcpy(subroutinename, ""); 5862 } 5863 else printf("l.%4d -- TOK_CONTAINS -- MHCHECK\n",line_num_input); 5864 } 5865 break; 5866 5867 case 483: 5868 /* Line 1807 of yacc.c */ 5869 #line 1898 "fortran.y" 5462 5870 { 5463 agrif_parentcall =0; 5464 if (!strcasecmp(identcopy,"Agrif_Parent") ) 5465 agrif_parentcall =1; 5466 if ( Agrif_in_Tok_NAME(identcopy) == 1 ) 5467 { 5468 inagrifcallargument = 1; 5469 Add_SubroutineWhereAgrifUsed_1(subroutinename, 5470 curmodulename); 5471 } 5472 ;} 5473 break; 5474 5475 case 318: 5476 #line 1674 "fortran.y" 5871 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5872 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 5873 functiondeclarationisdone = 0; 5874 } 5875 break; 5876 5877 case 484: 5878 /* Line 1807 of yacc.c */ 5879 #line 1906 "fortran.y" 5477 5880 { 5478 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5479 if ( incalldeclare == 0 ) inagrifcallargument = 0; 5480 ;} 5481 break; 5482 5483 case 319: 5484 #line 1679 "fortran.y" 5485 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," %s %s ",(yyvsp[(1) - (2)].na),(yyvsp[(2) - (2)].na));;} 5486 break; 5487 5488 case 320: 5489 #line 1681 "fortran.y" 5490 {if ( couldaddvariable == 1 ) 5491 sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].na),(yyvsp[(3) - (4)].na));;} 5492 break; 5493 5494 case 321: 5495 #line 1684 "fortran.y" 5496 {if ( couldaddvariable == 1 ) 5497 sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 5498 break; 5499 5500 case 322: 5501 #line 1688 "fortran.y" 5881 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5882 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 5883 } 5884 break; 5885 5886 case 485: 5887 /* Line 1807 of yacc.c */ 5888 #line 1913 "fortran.y" 5502 5889 { 5503 if ( couldaddvariable == 1 ) 5504 { 5505 sprintf((yyval.na)," %s ( %s )",(yyvsp[(1) - (4)].nac),(yyvsp[(3) - (4)].na)); 5506 ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].na)); 5507 agrif_parentcall =0; 5508 } 5509 ;} 5510 break; 5511 5512 case 323: 5513 #line 1698 "fortran.y" 5890 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5891 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 5892 } 5893 break; 5894 5895 case 486: 5896 /* Line 1807 of yacc.c */ 5897 #line 1920 "fortran.y" 5514 5898 { 5515 sprintf((yyval.na)," %s %% %s ",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); 5516 if ( incalldeclare == 0 ) inagrifcallargument = 0; 5517 ;} 5518 break; 5519 5520 case 324: 5521 #line 1704 "fortran.y" 5522 {sprintf((yyval.na),"(/%s/)",(yyvsp[(2) - (3)].na));;} 5523 break; 5524 5525 case 325: 5526 #line 1706 "fortran.y" 5527 {strcpy((yyval.na)," ");;} 5528 break; 5529 5530 case 326: 5531 #line 1708 "fortran.y" 5532 {strcpy((yyval.na),(yyvsp[(2) - (2)].na));;} 5533 break; 5534 5535 case 327: 5536 #line 1710 "fortran.y" 5537 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5538 break; 5539 5540 case 328: 5541 #line 1712 "fortran.y" 5542 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 5543 break; 5544 5545 case 329: 5546 #line 1714 "fortran.y" 5547 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5548 break; 5549 5550 case 330: 5551 #line 1715 "fortran.y" 5552 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5553 break; 5554 5555 case 331: 5556 #line 1718 "fortran.y" 5557 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 5558 break; 5559 5560 case 332: 5561 #line 1720 "fortran.y" 5562 {if ( couldaddvariable == 1 ) 5563 sprintf((yyval.na),"%s :%s :%s",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 5564 break; 5565 5566 case 333: 5567 #line 1723 "fortran.y" 5568 {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s :%s",(yyvsp[(2) - (4)].na),(yyvsp[(4) - (4)].na));;} 5569 break; 5570 5571 case 334: 5572 #line 1724 "fortran.y" 5573 {if ( couldaddvariable == 1 ) sprintf((yyval.na),": : %s",(yyvsp[(3) - (3)].na));;} 5574 break; 5575 5576 case 335: 5577 #line 1725 "fortran.y" 5578 {if ( couldaddvariable == 1 ) sprintf((yyval.na),":%s",(yyvsp[(2) - (2)].na));;} 5579 break; 5580 5581 case 336: 5582 #line 1726 "fortran.y" 5583 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s :",(yyvsp[(1) - (2)].na));;} 5584 break; 5585 5586 case 337: 5587 #line 1727 "fortran.y" 5588 {if ( couldaddvariable == 1 ) sprintf((yyval.na),":");;} 5589 break; 5590 5591 case 338: 5592 #line 1729 "fortran.y" 5899 strcpy((yyval.na),(yyvsp[(1) - (1)].na)); 5900 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].na)); 5901 } 5902 break; 5903 5904 case 487: 5905 /* Line 1807 of yacc.c */ 5906 #line 1926 "fortran.y" 5907 {strcpy((yyval.na),"");} 5908 break; 5909 5910 case 488: 5911 /* Line 1807 of yacc.c */ 5912 #line 1927 "fortran.y" 5913 {strcpy((yyval.na),(yyvsp[(1) - (1)].na));} 5914 break; 5915 5916 case 489: 5917 /* Line 1807 of yacc.c */ 5918 #line 1930 "fortran.y" 5919 { created_dimensionlist = 0; } 5920 break; 5921 5922 case 490: 5923 /* Line 1807 of yacc.c */ 5924 #line 1934 "fortran.y" 5593 5925 { 5594 if ( couldaddvariable == 1 && afterpercent == 0) 5595 { 5596 if ( Vartonumber((yyvsp[(1) - (1)].nac)) == 1 ) 5597 { 5598 Add_SubroutineWhereAgrifUsed_1(subroutinename, 5599 curmodulename); 5600 } 5601 if (!strcasecmp((yyvsp[(1) - (1)].nac),"Agrif_Parent") ) 5602 agrif_parentcall =1; 5603 if ( VariableIsNotFunction((yyvsp[(1) - (1)].nac)) == 0 ) 5604 { 5605 printf("var = %s\n",(yyvsp[(1) - (1)].nac)); 5606 if ( inagrifcallargument == 1 ) 5607 { 5608 if ( !strcasecmp((yyvsp[(1) - (1)].nac),identcopy) ) 5609 { 5610 strcpy(sameagrifname,identcopy); 5611 sameagrifargument = 1; 5612 } 5613 } 5614 strcpy(identcopy,(yyvsp[(1) - (1)].nac)); 5615 pointedvar=0; 5616 strcpy(truename,(yyvsp[(1) - (1)].nac)); 5617 if (variscoupled_0((yyvsp[(1) - (1)].nac))) strcpy(truename,getcoupledname_0((yyvsp[(1) - (1)].nac))); 5618 5619 if ( VarIsNonGridDepend(truename) == 0 && 5620 Variableshouldberemove(truename) == 0 ) 5621 { 5622 if ( inagrifcallargument == 1 || 5623 varispointer_0(truename) == 1 ) 5624 { 5625 printf("var2 = %s\n",(yyvsp[(1) - (1)].nac)); 5626 if ((IsinListe(List_UsedInSubroutine_Var,(yyvsp[(1) - (1)].nac)) == 1) || (inagrifcallargument == 1)) 5627 { 5628 if (varistyped_0(truename) == 0) 5629 { 5630 ModifyTheVariableName_0(truename,strlen((yyvsp[(1) - (1)].nac))); 5631 } 5632 } 5633 } 5634 printf("ici3\n"); 5635 if ( inagrifcallargument != 1 || 5636 sameagrifargument ==1 ) 5637 { 5638 printf("ici5 %s\n",truename); 5639 Add_UsedInSubroutine_Var_1(truename); 5640 } 5641 } 5642 NotifyAgrifFunction_0(truename); 5643 } 5644 } 5645 else 5646 { 5647 afterpercent = 0; 5648 } 5649 ;} 5650 break; 5651 5652 case 339: 5653 #line 1788 "fortran.y" 5654 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".TRUE.");;} 5655 break; 5656 5657 case 340: 5658 #line 1789 "fortran.y" 5659 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),".FALSE.");;} 5660 break; 5661 5662 case 341: 5663 #line 1790 "fortran.y" 5664 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5665 break; 5666 5667 case 342: 5668 #line 1791 "fortran.y" 5669 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5670 break; 5671 5672 case 343: 5673 #line 1792 "fortran.y" 5674 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5675 break; 5676 5677 case 344: 5678 #line 1793 "fortran.y" 5679 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5680 break; 5681 5682 case 345: 5683 #line 1795 "fortran.y" 5684 {if ( couldaddvariable == 1 ) sprintf((yyval.nac),"%s%s",(yyvsp[(1) - (2)].nac),(yyvsp[(2) - (2)].nac));;} 5685 break; 5686 5687 case 347: 5688 #line 1799 "fortran.y" 5689 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5690 break; 5691 5692 case 349: 5693 #line 1802 "fortran.y" 5694 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5695 break; 5696 5697 case 350: 5698 #line 1804 "fortran.y" 5699 {if ( couldaddvariable == 1 ) strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5700 break; 5701 5702 case 351: 5703 #line 1806 "fortran.y" 5704 {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 5705 break; 5706 5707 case 352: 5708 #line 1807 "fortran.y" 5709 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5710 break; 5711 5712 case 353: 5713 #line 1810 "fortran.y" 5714 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s :%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 5715 break; 5716 5717 case 354: 5718 #line 1812 "fortran.y" 5719 {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 5720 break; 5721 5722 case 355: 5723 #line 1813 "fortran.y" 5724 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5725 break; 5726 5727 case 356: 5728 #line 1815 "fortran.y" 5729 {if ( couldaddvariable == 1 ) strcpy((yyval.na)," ");;} 5730 break; 5731 5732 case 357: 5733 #line 1816 "fortran.y" 5734 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 5735 break; 5736 5737 case 358: 5738 #line 1818 "fortran.y" 5739 { strcpy(InitialValueGiven," ");;} 5740 break; 5741 5742 case 359: 5743 #line 1820 "fortran.y" 5926 created_dimensionlist = 1; 5927 if ( ((yyvsp[(3) - (4)].d) == NULL) || ((yyvsp[(4) - (4)].d) == NULL) ) break; 5928 if ( agrif_parentcall == 1 ) 5929 { 5930 ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].d)->dim.last); 5931 agrif_parentcall = 0; 5932 fprintf(fortran_out," = "); 5933 } 5934 } 5935 break; 5936 5937 case 491: 5938 /* Line 1807 of yacc.c */ 5939 #line 1945 "fortran.y" 5744 5940 { 5745 if ( couldaddvariable == 1 ) 5746 { 5747 strcpy(InitValue,(yyvsp[(3) - (3)].na)); 5748 strcpy(InitialValueGiven,"="); 5749 } 5750 ;} 5751 break; 5752 5753 case 360: 5754 #line 1828 "fortran.y" 5941 created_dimensionlist = 1; 5942 } 5943 break; 5944 5945 case 496: 5946 /* Line 1807 of yacc.c */ 5947 #line 1958 "fortran.y" 5755 5948 { 5756 if ( couldaddvariable == 1 ) 5757 { 5758 strcpy(InitValue,(yyvsp[(3) - (3)].na)); 5759 strcpy(InitialValueGiven,"=>"); 5760 } 5761 ;} 5762 break; 5763 5764 case 361: 5765 #line 1836 "fortran.y" 5766 {pos_curinit = setposcur();;} 5767 break; 5768 5769 case 362: 5770 #line 1839 "fortran.y" 5771 {sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 5772 break; 5773 5774 case 363: 5775 #line 1842 "fortran.y" 5949 inagrifcallargument = 0 ; 5950 incalldeclare=0; 5951 if ( oldfortran_out && (callagrifinitgrids == 1) && (firstpass == 0) ) 5952 { 5953 pos_end = setposcur(); 5954 RemoveWordSET_0(fortran_out,pos_curcall,pos_end-pos_curcall); 5955 strcpy(subofagrifinitgrids,subroutinename); 5956 } 5957 Instanciation_0(sameagrifname); 5958 } 5959 break; 5960 5961 case 502: 5962 /* Line 1807 of yacc.c */ 5963 #line 1979 "fortran.y" 5776 5964 { 5777 if ( couldaddvariable == 1 ) 5778 { 5779 /* if variables has been declared in a subroutine */ 5780 if (insubroutinedeclare == 1) 5781 { 5782 copyuse_0((yyvsp[(2) - (2)].nac)); 5783 } 5784 sprintf(charusemodule,"%s",(yyvsp[(2) - (2)].nac)); 5785 Add_NameOfModuleUsed_1((yyvsp[(2) - (2)].nac)); 5786 5787 if ( inmoduledeclare == 0 ) 5788 { 5789 pos_end = setposcur(); 5790 RemoveWordSET_0(fortranout,pos_curuse, 5791 pos_end-pos_curuse); 5792 } 5793 } 5794 ;} 5795 break; 5796 5797 case 364: 5798 #line 1862 "fortran.y" 5965 if (!strcasecmp((yyvsp[(2) - (2)].na),"MPI_Init") ) callmpiinit = 1; 5966 else callmpiinit = 0; 5967 5968 if (!strcasecmp((yyvsp[(2) - (2)].na),"Agrif_Init_Grids") ) 5969 { 5970 callagrifinitgrids = 1; 5971 strcpy(meetagrifinitgrids,subroutinename); 5972 } 5973 else 5974 { 5975 callagrifinitgrids = 0; 5976 } 5977 if ( Vartonumber((yyvsp[(2) - (2)].na)) == 1 ) 5978 { 5979 incalldeclare = 1; 5980 inagrifcallargument = 1 ; 5981 Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); 5982 } 5983 } 5984 break; 5985 5986 case 503: 5987 /* Line 1807 of yacc.c */ 5988 #line 2000 "fortran.y" 5989 { pos_curcall=setposcur()-4; } 5990 break; 5991 5992 case 506: 5993 /* Line 1807 of yacc.c */ 5994 #line 2008 "fortran.y" 5799 5995 { 5800 if ( couldaddvariable == 1 ) 5801 { 5802 if (insubroutinedeclare == 1) 5803 { 5804 Add_CouplePointed_Var_1((yyvsp[(2) - (4)].nac),(yyvsp[(4) - (4)].lc)); 5805 } 5806 if ( firstpass == 1 ) 5807 { 5808 if ( insubroutinedeclare == 1 ) 5809 { 5810 coupletmp = (yyvsp[(4) - (4)].lc); 5811 strcpy(ligne,""); 5812 while ( coupletmp ) 5813 { 5814 strcat(ligne,coupletmp->c_namevar); 5815 strcat(ligne," => "); 5816 strcat(ligne,coupletmp->c_namepointedvar); 5817 coupletmp = coupletmp->suiv; 5818 if ( coupletmp ) strcat(ligne,","); 5819 } 5820 sprintf(charusemodule,"%s",(yyvsp[(2) - (4)].nac)); 5821 } 5822 Add_NameOfModuleUsed_1((yyvsp[(2) - (4)].nac)); 5823 } 5824 if ( inmoduledeclare == 0 ) 5825 { 5826 pos_end = setposcur(); 5827 RemoveWordSET_0(fortranout,pos_curuse, 5828 pos_end-pos_curuse); 5829 } 5830 } 5831 ;} 5832 break; 5833 5834 case 365: 5835 #line 1896 "fortran.y" 5836 { 5837 if ( couldaddvariable == 1 ) 5838 { 5839 /* if variables has been declared in a subroutine */ 5840 if (insubroutinedeclare == 1) 5841 { 5842 copyuseonly_0((yyvsp[(2) - (6)].nac)); 5843 } 5844 sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 5845 Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 5846 5847 if ( inmoduledeclare == 0 ) 5848 { 5849 pos_end = setposcur(); 5850 RemoveWordSET_0(fortranout,pos_curuse, 5851 pos_end-pos_curuse); 5852 } 5853 } 5854 ;} 5855 break; 5856 5857 case 366: 5858 #line 1916 "fortran.y" 5859 { 5860 if ( couldaddvariable == 1 ) 5861 { 5862 /* if variables has been declared in a subroutine */ 5863 if (insubroutinedeclare == 1) 5864 { 5865 Add_CouplePointed_Var_1((yyvsp[(2) - (6)].nac),(yyvsp[(6) - (6)].lc)); 5866 } 5867 if ( firstpass == 1 ) 5868 { 5869 if ( insubroutinedeclare == 1 ) 5870 { 5871 coupletmp = (yyvsp[(6) - (6)].lc); 5872 strcpy(ligne,""); 5873 while ( coupletmp ) 5874 { 5875 strcat(ligne,coupletmp->c_namevar); 5876 if ( strcasecmp(coupletmp->c_namepointedvar,"") ) 5877 strcat(ligne," => "); 5878 strcat(ligne,coupletmp->c_namepointedvar); 5879 coupletmp = coupletmp->suiv; 5880 if ( coupletmp ) strcat(ligne,","); 5881 } 5882 sprintf(charusemodule,"%s",(yyvsp[(2) - (6)].nac)); 5883 } 5884 Add_NameOfModuleUsed_1((yyvsp[(2) - (6)].nac)); 5885 } 5886 if ( firstpass == 0 ) 5887 { 5888 if ( inmoduledeclare == 0 ) 5889 { 5890 5891 pos_end = setposcur(); 5892 RemoveWordSET_0(fortranout,pos_curuse, 5893 pos_end-pos_curuse); 5894 if (oldfortranout) 5895 variableisglobalinmodule((yyvsp[(6) - (6)].lc),(yyvsp[(2) - (6)].nac),oldfortranout,pos_curuseold); 5896 5897 } 5898 else 5899 { 5900 5901 /* if we are in the module declare and if the */ 5902 /* onlylist is a list of global variable */ 5903 variableisglobalinmodule((yyvsp[(6) - (6)].lc), (yyvsp[(2) - (6)].nac), fortranout,pos_curuse); 5904 } 5905 } 5906 } 5907 ;} 5908 break; 5909 5910 case 367: 5911 #line 1967 "fortran.y" 5912 { 5913 pos_curuse = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 5914 if (firstpass == 0 && oldfortranout) { 5915 pos_curuseold = setposcurname(oldfortranout); 5916 } 5917 ;} 5918 break; 5919 5920 case 368: 5921 #line 1975 "fortran.y" 5922 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 5923 break; 5924 5925 case 369: 5926 #line 1978 "fortran.y" 5927 { 5928 if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 5929 ;} 5930 break; 5931 5932 case 370: 5933 #line 1982 "fortran.y" 5934 { 5935 if ( couldaddvariable == 1 ) 5936 { 5937 /* insert the variable in the list $1 */ 5938 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 5939 (yyval.lc) = (yyvsp[(3) - (3)].lc); 5940 } 5941 ;} 5942 break; 5943 5944 case 371: 5945 #line 1992 "fortran.y" 5946 { 5947 coupletmp =(listcouple *)malloc(sizeof(listcouple)); 5948 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 5949 Save_Length((yyvsp[(1) - (3)].nac),21); 5950 strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 5951 Save_Length((yyvsp[(3) - (3)].nac),22); 5952 coupletmp->suiv = NULL; 5953 (yyval.lc) = coupletmp; 5954 ;} 5955 break; 5956 5957 case 372: 5958 #line 2003 "fortran.y" 5959 { 5960 if ( couldaddvariable == 1 ) (yyval.lc) = (yyvsp[(1) - (1)].lc); 5961 ;} 5962 break; 5963 5964 case 373: 5965 #line 2007 "fortran.y" 5966 { 5967 if ( couldaddvariable == 1 ) 5968 { 5969 /* insert the variable in the list $1 */ 5970 (yyvsp[(3) - (3)].lc)->suiv = (yyvsp[(1) - (3)].lc); 5971 (yyval.lc) = (yyvsp[(3) - (3)].lc); 5972 } 5973 ;} 5974 break; 5975 5976 case 374: 5977 #line 2017 "fortran.y" 5978 { 5979 coupletmp =(listcouple *)malloc(sizeof(listcouple)); 5980 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (3)].nac)); 5981 Save_Length((yyvsp[(1) - (3)].nac),21); 5982 strcpy(coupletmp->c_namepointedvar,(yyvsp[(3) - (3)].nac)); 5983 Save_Length((yyvsp[(3) - (3)].nac),22); 5984 coupletmp->suiv = NULL; 5985 (yyval.lc) = coupletmp; 5986 pointedvar=1; 5987 Add_UsedInSubroutine_Var_1((yyvsp[(1) - (3)].nac)); 5988 ;} 5989 break; 5990 5991 case 375: 5992 #line 2028 "fortran.y" 5993 { 5994 coupletmp =(listcouple *)malloc(sizeof(listcouple)); 5995 strcpy(coupletmp->c_namevar,(yyvsp[(1) - (1)].nac)); 5996 Save_Length((yyvsp[(1) - (1)].nac),21); 5997 strcpy(coupletmp->c_namepointedvar,""); 5998 coupletmp->suiv = NULL; 5999 (yyval.lc) = coupletmp; 6000 ;} 6001 break; 6002 6003 case 377: 6004 #line 2039 "fortran.y" 6005 { 6006 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6007 curmodulename); 6008 inallocate = 0; 6009 ;} 6010 break; 6011 6012 case 378: 6013 #line 2045 "fortran.y" 6014 { 6015 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6016 curmodulename); 6017 inallocate = 0; 6018 ;} 6019 break; 6020 6021 case 380: 6022 #line 2052 "fortran.y" 6023 { 6024 GlobalDeclaration = 0 ; 6025 if ( firstpass == 0 && 6026 strcasecmp(subroutinename,"") ) 6027 { 6028 if ( module_declar && insubroutinedeclare == 0 ) 6029 { 6030 fclose(module_declar); 6031 } 6032 } 6033 if ( couldaddvariable == 1 && 6034 strcasecmp(subroutinename,"") ) 6035 { 6036 if ( inmodulemeet == 1 ) 6037 { 6038 /* we are in a module */ 6039 if ( insubroutinedeclare == 1 ) 6040 { 6041 /* it is like an end subroutine <name> */ 6042 insubroutinedeclare = 0 ; 6043 /* */ 6044 pos_cur = setposcur(); 6045 closeandcallsubloopandincludeit_0(1); 6046 functiondeclarationisdone = 0; 6047 } 6048 else 6049 { 6050 /* it is like an end module <name> */ 6051 inmoduledeclare = 0 ; 6052 inmodulemeet = 0 ; 6053 } 6054 } 6055 else 6056 { 6057 insubroutinedeclare = 0; 6058 /* */ 6059 pos_cur = setposcur(); 6060 closeandcallsubloopandincludeit_0(2); 6061 functiondeclarationisdone = 0; 6062 if ( firstpass == 0 ) 6063 { 6064 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 6065 else fprintf(paramout,"C\n"); 6066 fclose(paramout); 6067 } 6068 } 6069 } 6070 strcpy(subroutinename,""); 6071 ;} 6072 break; 6073 6074 case 381: 6075 #line 2102 "fortran.y" 6076 { 6077 if ( couldaddvariable == 1 ) 6078 { 6079 insubroutinedeclare = 0; 6080 /* */ 6081 pos_cur = setposcur(); 6082 closeandcallsubloopandincludeit_0(3); 6083 functiondeclarationisdone = 0; 6084 if ( firstpass == 0 ) 6085 { 6086 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 6087 else fprintf(paramout,"C\n"); 6088 fclose(paramout); 6089 } 6090 strcpy(subroutinename,""); 6091 } 6092 ;} 6093 break; 6094 6095 case 382: 5996 if ( callmpiinit == 1 ) 5997 { 5998 strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 5999 if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); 6000 } 6001 } 6002 break; 6003 6004 case 532: 6005 /* Line 1807 of yacc.c */ 6006 #line 2056 "fortran.y" 6007 { afterpercent = 1; } 6008 break; 6009 6010 case 572: 6011 /* Line 1807 of yacc.c */ 6012 #line 2115 "fortran.y" 6013 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 6014 break; 6015 6016 case 573: 6017 /* Line 1807 of yacc.c */ 6018 #line 2116 "fortran.y" 6019 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 6020 break; 6021 6022 case 574: 6023 /* Line 1807 of yacc.c */ 6024 #line 2117 "fortran.y" 6025 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 6026 break; 6027 6028 case 575: 6029 /* Line 1807 of yacc.c */ 6030 #line 2118 "fortran.y" 6031 { strcpy((yyval.na),(yyvsp[(1) - (1)].na)); } 6032 break; 6033 6034 case 576: 6035 /* Line 1807 of yacc.c */ 6036 #line 2119 "fortran.y" 6037 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6038 break; 6039 6040 case 577: 6041 /* Line 1807 of yacc.c */ 6096 6042 #line 2120 "fortran.y" 6097 { 6098 if ( couldaddvariable == 1 && 6099 strcasecmp(subroutinename,"") ) 6100 { 6101 insubroutinedeclare = 0; 6102 /* */ 6103 pos_cur = setposcur(); 6104 6105 closeandcallsubloopandincludeit_0(1); 6106 functiondeclarationisdone = 0; 6107 if ( firstpass == 0 ) 6108 { 6109 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 6110 else fprintf(paramout,"C\n"); 6111 fclose(paramout); 6112 } 6113 strcpy(subroutinename,""); 6114 } 6115 ;} 6116 break; 6117 6118 case 383: 6119 #line 2140 "fortran.y" 6120 { 6121 if ( couldaddvariable == 1 ) 6122 { 6123 insubroutinedeclare = 0; 6124 /* */ 6125 pos_cur = setposcur(); 6126 6127 closeandcallsubloopandincludeit_0(0); 6128 functiondeclarationisdone = 0; 6129 if ( firstpass == 0 ) 6130 { 6131 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 6132 else fprintf(paramout,"C\n"); 6133 fclose(paramout); 6134 } 6135 strcpy(subroutinename,""); 6136 } 6137 ;} 6138 break; 6139 6140 case 384: 6141 #line 2159 "fortran.y" 6142 { 6143 if ( couldaddvariable == 1 ) 6144 { 6145 /* if we never meet the contains keyword */ 6146 Remove_Word_end_module_0(strlen((yyvsp[(2) - (2)].nac))); 6147 if ( inmoduledeclare == 1 ) 6148 { 6149 if ( aftercontainsdeclare == 0 ) 6150 { 6151 Write_GlobalParameter_Declaration_0(); 6152 Write_NotGridDepend_Declaration_0(); 6153 Write_GlobalType_Declaration_0(); 6154 if ( module_declar_type ) 6155 { 6156 strcpy (ligne, "\n#include \"Module_DeclarType_"); 6157 strcat (ligne, curmodulename); 6158 strcat (ligne, ".h\"\n"); 6159 tofich(fortranout,ligne,1); 6160 } 6161 Write_Alloc_Subroutine_For_End_0(); 6162 } 6163 } 6164 6165 inmoduledeclare = 0 ; 6166 inmodulemeet = 0 ; 6167 6168 Write_Word_end_module_0(); 6169 strcpy(curmodulename,""); 6170 aftercontainsdeclare = 1; 6171 if ( firstpass == 0 ) 6172 { 6173 if ( module_declar && insubroutinedeclare == 0) 6174 { 6175 fclose(module_declar); 6176 } 6177 if ( module_declar_type && insubroutinedeclare == 0) 6178 { 6179 fclose(module_declar_type); 6180 module_declar_type = 0; 6181 } 6182 } 6183 GlobalDeclaration = 0 ; 6184 } 6185 ;} 6186 break; 6187 6188 case 398: 6189 #line 2217 "fortran.y" 6190 { 6191 if (inmoduledeclare == 1 ) 6192 { 6193 Remove_Word_Contains_0(); 6194 Write_GlobalParameter_Declaration_0(); 6195 Write_GlobalType_Declaration_0(); 6196 if ( module_declar_type) 6197 { 6198 strcpy (ligne, "\n#include \"Module_DeclarType_"); 6199 strcat (ligne, curmodulename); 6200 strcat (ligne, ".h\"\n"); 6201 tofich(fortranout,ligne,1); 6202 } 6203 Write_NotGridDepend_Declaration_0(); 6204 Write_Alloc_Subroutine_0(); 6205 inmoduledeclare = 0 ; 6206 aftercontainsdeclare = 1; 6207 } 6208 else 6209 { 6210 incontainssubroutine = 1; 6211 strcpy(previoussubroutinename,subroutinename); 6212 if ( couldaddvariable == 1 ) 6213 { 6214 if ( firstpass == 1 ) List_ContainsSubroutine = 6215 Addtolistnom(subroutinename, 6216 List_ContainsSubroutine,0); 6217 insubroutinedeclare = 0; 6218 /* */ 6219 6220 closeandcallsubloop_contains_0(); 6221 functiondeclarationisdone = 0; 6222 if ( firstpass == 0 ) 6223 { 6224 if ( retour77 == 0 ) fprintf(paramout,"!\n"); 6225 else fprintf(paramout,"C\n"); 6226 fclose(paramout); 6227 } 6228 } 6229 strcpy(subroutinename,""); 6230 } 6231 ;} 6232 break; 6233 6234 case 399: 6235 #line 2261 "fortran.y" 6236 { 6237 if ( couldaddvariable == 1 ) 6238 { 6239 strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 6240 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 6241 functiondeclarationisdone = 0; 6242 } 6243 ;} 6244 break; 6245 6246 case 400: 6247 #line 2271 "fortran.y" 6248 { 6249 if ( couldaddvariable == 1 ) 6250 { 6251 strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 6252 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 6253 } 6254 ;} 6255 break; 6256 6257 case 401: 6258 #line 2280 "fortran.y" 6259 { 6260 if ( couldaddvariable == 1 ) 6261 { 6262 strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 6263 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 6264 } 6265 ;} 6266 break; 6267 6268 case 402: 6269 #line 2289 "fortran.y" 6270 { 6271 if ( couldaddvariable == 1 ) 6272 { 6273 strcpy((yyval.nac),(yyvsp[(1) - (1)].nac)); 6274 pos_endsubroutine = setposcur()-strlen((yyvsp[(1) - (1)].nac)); 6275 } 6276 ;} 6277 break; 6278 6279 case 414: 6280 #line 2311 "fortran.y" 6281 {strcpy((yyval.nac),"");;} 6282 break; 6283 6284 case 415: 6285 #line 2312 "fortran.y" 6286 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 6287 break; 6288 6289 case 425: 6290 #line 2332 "fortran.y" 6291 { 6292 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6293 curmodulename); 6294 inallocate = 0; 6295 ;} 6296 break; 6297 6298 case 426: 6299 #line 2338 "fortran.y" 6300 { 6301 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6302 curmodulename); 6303 inallocate = 0; 6304 ;} 6305 break; 6306 6307 case 432: 6308 #line 2349 "fortran.y" 6309 {if ( couldaddvariable == 1 ) created_dimensionlist = 0;;} 6310 break; 6311 6312 case 433: 6313 #line 2351 "fortran.y" 6314 { 6315 created_dimensionlist = 1; 6316 if ( agrif_parentcall == 1 ) 6317 { 6318 ModifyTheAgrifFunction_0((yyvsp[(3) - (4)].d)->dim.last); 6319 agrif_parentcall =0; 6320 fprintf(fortranout," = "); 6321 } 6322 ;} 6323 break; 6324 6325 case 434: 6326 #line 2361 "fortran.y" 6327 {created_dimensionlist = 1;;} 6328 break; 6329 6330 case 439: 6331 #line 2369 "fortran.y" 6332 { 6333 inagrifcallargument = 0 ; 6334 incalldeclare=0; 6335 if ( oldfortranout && 6336 !strcasecmp(meetagrifinitgrids,subroutinename) && 6337 firstpass == 0 && 6338 callmpiinit == 1) 6339 { 6340 /* pos_end = setposcur(); 6341 RemoveWordSET_0(fortranout,pos_curcall, 6342 pos_end-pos_curcall); 6343 fprintf(oldfortranout," Call MPI_Init (%s) \n" 6344 ,mpiinitvar);*/ 6345 } 6346 if ( oldfortranout && 6347 callagrifinitgrids == 1 && 6348 firstpass == 0 ) 6349 { 6350 pos_end = setposcur(); 6351 RemoveWordSET_0(fortranout,pos_curcall, 6352 pos_end-pos_curcall); 6353 6354 strcpy(subofagrifinitgrids,subroutinename); 6355 } 6356 Instanciation_0(sameagrifname); 6357 ;} 6358 break; 6359 6360 case 444: 6361 #line 2403 "fortran.y" 6362 { 6363 if (!strcasecmp((yyvsp[(2) - (2)].nac),"MPI_Init") ) 6364 { 6365 callmpiinit = 1; 6366 } 6367 else 6368 { 6369 callmpiinit = 0; 6370 } 6371 if (!strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Init_Grids") ) 6372 { 6373 callagrifinitgrids = 1; 6374 strcpy(meetagrifinitgrids,subroutinename); 6375 } 6376 else callagrifinitgrids = 0; 6377 if ( !strcasecmp((yyvsp[(2) - (2)].nac),"Agrif_Open_File") ) 6378 { 6379 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6380 curmodulename); 6381 } 6382 if ( Vartonumber((yyvsp[(2) - (2)].nac)) == 1 ) 6383 { 6384 incalldeclare=1; 6385 inagrifcallargument = 1 ; 6386 Add_SubroutineWhereAgrifUsed_1(subroutinename, 6387 curmodulename); 6388 } 6389 ;} 6390 break; 6391 6392 case 445: 6393 #line 2433 "fortran.y" 6394 {pos_curcall=setposcur()-4;;} 6395 break; 6396 6397 case 448: 6398 #line 2438 "fortran.y" 6399 { 6400 if ( callmpiinit == 1 ) 6401 { 6402 strcpy(mpiinitvar,(yyvsp[(1) - (1)].na)); 6403 if ( firstpass == 1 ) 6404 { 6405 Add_UsedInSubroutine_Var_1 (mpiinitvar); 6406 /* curvar=createvar($1,NULL); 6407 curlistvar=insertvar(NULL,curvar); 6408 List_Subr outineArgument_Var = AddListvarToListvar 6409 (curlistvar,List_SubroutineAr gument_Var,1);*/ 6410 } 6411 } 6412 ;} 6413 break; 6414 6415 case 520: 6416 #line 2562 "fortran.y" 6417 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6418 break; 6419 6420 case 521: 6421 #line 2563 "fortran.y" 6422 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6423 break; 6424 6425 case 522: 6426 #line 2564 "fortran.y" 6427 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6428 break; 6429 6430 case 523: 6431 #line 2567 "fortran.y" 6432 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6433 break; 6434 6435 case 524: 6436 #line 2569 "fortran.y" 6437 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6438 break; 6439 6440 case 525: 6441 #line 2571 "fortran.y" 6442 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6443 break; 6444 6445 case 526: 6446 #line 2573 "fortran.y" 6447 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6448 break; 6449 6450 case 527: 6451 #line 2575 "fortran.y" 6452 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6453 break; 6454 6455 case 528: 6456 #line 2577 "fortran.y" 6457 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na));;} 6458 break; 6459 6460 case 529: 6461 #line 2578 "fortran.y" 6462 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6463 break; 6464 6465 case 530: 6466 #line 2579 "fortran.y" 6467 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6468 break; 6469 6470 case 531: 6471 #line 2582 "fortran.y" 6472 {if ( couldaddvariable == 1 ) strcpy((yyval.na),(yyvsp[(1) - (1)].na));;} 6473 break; 6474 6475 case 532: 6476 #line 2584 "fortran.y" 6477 {if ( couldaddvariable == 1 ) sprintf((yyval.na)," (%s)",(yyvsp[(2) - (3)].na));;} 6478 break; 6479 6480 case 533: 6481 #line 2586 "fortran.y" 6482 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 6483 break; 6484 6485 case 534: 6486 #line 2588 "fortran.y" 6487 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 6488 break; 6489 6490 case 535: 6491 #line 2590 "fortran.y" 6492 {if ( couldaddvariable == 1 ) sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na));;} 6493 break; 6494 6495 case 536: 6496 #line 2594 "fortran.y" 6497 {if ( couldaddvariable == 1 ) 6498 sprintf((yyval.na),"%s=%s,%s)",(yyvsp[(1) - (5)].nac),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));;} 6499 break; 6500 6501 case 537: 6502 #line 2597 "fortran.y" 6503 {if ( couldaddvariable == 1 ) 6504 sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[(1) - (7)].nac),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));;} 6505 break; 6506 6507 case 544: 6508 #line 2613 "fortran.y" 6509 {Add_Allocate_Var_1((yyvsp[(1) - (1)].nac),curmodulename);;} 6510 break; 6511 6512 case 547: 6513 #line 2618 "fortran.y" 6514 {Add_Allocate_Var_1((yyvsp[(1) - (4)].nac),curmodulename);;} 6515 break; 6516 6517 case 555: 6518 #line 2641 "fortran.y" 6519 {strcpy((yyval.nac),(yyvsp[(1) - (1)].nac));;} 6520 break; 6521 6522 6523 /* Line 1267 of yacc.c. */ 6524 #line 6522 "fortran.tab.c" 6043 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6044 break; 6045 6046 case 578: 6047 /* Line 1807 of yacc.c */ 6048 #line 2121 "fortran.y" 6049 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6050 break; 6051 6052 case 579: 6053 /* Line 1807 of yacc.c */ 6054 #line 2122 "fortran.y" 6055 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6056 break; 6057 6058 case 580: 6059 /* Line 1807 of yacc.c */ 6060 #line 2123 "fortran.y" 6061 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6062 break; 6063 6064 case 581: 6065 /* Line 1807 of yacc.c */ 6066 #line 2124 "fortran.y" 6067 { sprintf((yyval.na),"%s,%s",(yyvsp[(1) - (3)].na),(yyvsp[(3) - (3)].na)); } 6068 break; 6069 6070 case 582: 6071 /* Line 1807 of yacc.c */ 6072 #line 2127 "fortran.y" 6073 { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 6074 break; 6075 6076 case 583: 6077 /* Line 1807 of yacc.c */ 6078 #line 2128 "fortran.y" 6079 { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 6080 break; 6081 6082 case 584: 6083 /* Line 1807 of yacc.c */ 6084 #line 2129 "fortran.y" 6085 { sprintf((yyval.na),"(%s,%s)",(yyvsp[(2) - (5)].na),(yyvsp[(4) - (5)].na)); } 6086 break; 6087 6088 case 585: 6089 /* Line 1807 of yacc.c */ 6090 #line 2131 "fortran.y" 6091 { sprintf((yyval.na),"%s=%s,%s)",(yyvsp[(1) - (5)].na),(yyvsp[(3) - (5)].na),(yyvsp[(5) - (5)].na));} 6092 break; 6093 6094 case 586: 6095 /* Line 1807 of yacc.c */ 6096 #line 2132 "fortran.y" 6097 { sprintf((yyval.na),"%s=%s,%s,%s)",(yyvsp[(1) - (7)].na),(yyvsp[(3) - (7)].na),(yyvsp[(5) - (7)].na),(yyvsp[(7) - (7)].na));} 6098 break; 6099 6100 case 591: 6101 /* Line 1807 of yacc.c */ 6102 #line 2142 "fortran.y" 6103 { Add_Allocate_Var_1((yyvsp[(1) - (1)].na),curmodulename); } 6104 break; 6105 6106 6107 /* Line 1807 of yacc.c */ 6108 #line 6110 "fortran.tab.c" 6525 6109 default: break; 6526 6110 } 6111 /* User semantic actions sometimes alter yychar, and that requires 6112 that yytoken be updated with the new translation. We take the 6113 approach of translating immediately before every use of yytoken. 6114 One alternative is translating here after every semantic action, 6115 but that translation would be missed if the semantic action invokes 6116 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 6117 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 6118 incorrect destructor might then be invoked immediately. In the 6119 case of YYERROR or YYBACKUP, subsequent parser actions might lead 6120 to an incorrect destructor call or verbose syntax error message 6121 before the lookahead is translated. */ 6527 6122 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 6528 6123 … … 6532 6127 6533 6128 *++yyvsp = yyval; 6534 6535 6129 6536 6130 /* Now `shift' the result of the reduction. Determine what state … … 6553 6147 `------------------------------------*/ 6554 6148 yyerrlab: 6149 /* Make sure we have latest lookahead translation. See comments at 6150 user semantic actions for why this is necessary. */ 6151 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 6152 6555 6153 /* If not already recovering from an error, report this error. */ 6556 6154 if (!yyerrstatus) … … 6560 6158 yyerror (YY_("syntax error")); 6561 6159 #else 6160 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 6161 yyssp, yytoken) 6562 6162 { 6563 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 6564 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 6565 { 6566 YYSIZE_T yyalloc = 2 * yysize; 6567 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 6568 yyalloc = YYSTACK_ALLOC_MAXIMUM; 6569 if (yymsg != yymsgbuf) 6570 YYSTACK_FREE (yymsg); 6571 yymsg = (char *) YYSTACK_ALLOC (yyalloc); 6572 if (yymsg) 6573 yymsg_alloc = yyalloc; 6574 else 6575 { 6576 yymsg = yymsgbuf; 6577 yymsg_alloc = sizeof yymsgbuf; 6578 } 6579 } 6580 6581 if (0 < yysize && yysize <= yymsg_alloc) 6582 { 6583 (void) yysyntax_error (yymsg, yystate, yychar); 6584 yyerror (yymsg); 6585 } 6586 else 6587 { 6588 yyerror (YY_("syntax error")); 6589 if (yysize != 0) 6590 goto yyexhaustedlab; 6591 } 6163 char const *yymsgp = YY_("syntax error"); 6164 int yysyntax_error_status; 6165 yysyntax_error_status = YYSYNTAX_ERROR; 6166 if (yysyntax_error_status == 0) 6167 yymsgp = yymsg; 6168 else if (yysyntax_error_status == 1) 6169 { 6170 if (yymsg != yymsgbuf) 6171 YYSTACK_FREE (yymsg); 6172 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 6173 if (!yymsg) 6174 { 6175 yymsg = yymsgbuf; 6176 yymsg_alloc = sizeof yymsgbuf; 6177 yysyntax_error_status = 2; 6178 } 6179 else 6180 { 6181 yysyntax_error_status = YYSYNTAX_ERROR; 6182 yymsgp = yymsg; 6183 } 6184 } 6185 yyerror (yymsgp); 6186 if (yysyntax_error_status == 2) 6187 goto yyexhaustedlab; 6592 6188 } 6189 # undef YYSYNTAX_ERROR 6593 6190 #endif 6594 6191 } … … 6598 6195 if (yyerrstatus == 3) 6599 6196 { 6600 /* If just tried and failed to reuse look -ahead token after an6197 /* If just tried and failed to reuse lookahead token after an 6601 6198 error, discard it. */ 6602 6199 … … 6615 6212 } 6616 6213 6617 /* Else will try to reuse look -ahead token after shifting the error6214 /* Else will try to reuse lookahead token after shifting the error 6618 6215 token. */ 6619 6216 goto yyerrlab1; … … 6649 6246 { 6650 6247 yyn = yypact[yystate]; 6651 if ( yyn != YYPACT_NINF)6248 if (!yypact_value_is_default (yyn)) 6652 6249 { 6653 6250 yyn += YYTERROR; … … 6672 6269 } 6673 6270 6674 if (yyn == YYFINAL) 6675 YYACCEPT; 6676 6271 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 6677 6272 *++yyvsp = yylval; 6273 YY_IGNORE_MAYBE_UNINITIALIZED_END 6678 6274 6679 6275 … … 6699 6295 goto yyreturn; 6700 6296 6701 #if ndef yyoverflow6297 #if !defined yyoverflow || YYERROR_VERBOSE 6702 6298 /*-------------------------------------------------. 6703 6299 | yyexhaustedlab -- memory exhaustion comes here. | … … 6710 6306 6711 6307 yyreturn: 6712 if (yychar != YYEOF && yychar != YYEMPTY) 6713 yydestruct ("Cleanup: discarding lookahead", 6714 yytoken, &yylval); 6308 if (yychar != YYEMPTY) 6309 { 6310 /* Make sure we have latest lookahead translation. See comments at 6311 user semantic actions for why this is necessary. */ 6312 yytoken = YYTRANSLATE (yychar); 6313 yydestruct ("Cleanup: discarding lookahead", 6314 yytoken, &yylval); 6315 } 6715 6316 /* Do not reclaim the symbols of the rule which action triggered 6716 6317 this YYABORT or YYACCEPT. */ … … 6736 6337 6737 6338 6738 #line 2643 "fortran.y" 6739 6740 6741 void processfortran(char *fichier_entree) 6339 /* Line 2055 of yacc.c */ 6340 #line 2156 "fortran.y" 6341 6342 6343 void process_fortran(const char *input_file) 6742 6344 { 6743 extern FILE *fortranin; 6744 extern FILE *fortranout; 6745 char nomfile[LONG_C]; 6746 int c; 6747 int confirmyes; 6748 6749 /* fortrandebug = 1;*/ 6750 if ( mark == 1 ) printf("Firstpass == %d \n",firstpass); 6345 extern FILE *fortran_in; 6346 extern FILE *fortran_out; 6347 6348 char output_file[LONG_FNAME]; 6349 char input_fullpath[LONG_FNAME]; 6350 6351 if ( todebug == 1 ) printf("Firstpass == %d \n", firstpass); 6352 6353 yydebug=0; 6751 6354 /******************************************************************************/ 6752 /* 1- Open input and output files*/6355 /* 1- Open input file */ 6753 6356 /******************************************************************************/ 6754 strcpy(nomfile,commondirin); 6755 strcat(nomfile,"/"); 6756 strcat(nomfile,fichier_entree); 6757 fortranin=fopen( nomfile,"r"); 6758 if (! fortranin) 6759 { 6760 printf("Error : File %s does not exist\n",nomfile); 6761 exit(1); 6762 } 6763 6764 strcpy(curfile,nomfile); 6765 strcpy(nomfile,commondirout); 6766 strcat(nomfile,"/"); 6767 strcat(nomfile,fichier_entree); 6768 strcpy(nomfileoutput,nomfile); 6769 Save_Length(nomfileoutput,31); 6770 if (firstpass == 1) 6771 { 6772 if (checkexistcommon == 1) 6773 { 6774 if (fopen(nomfile,"r")) 6775 { 6776 printf("Warning : file %s already exist\n",nomfile); 6777 confirmyes = 0; 6778 while (confirmyes==0) 6779 { 6780 printf("Override file %s ? [Y/N]\n",nomfile); 6781 c=getchar(); 6782 getchar(); 6783 if (c==79 || c==110) 6784 { 6785 printf("We stop\n"); 6786 exit(1); 6787 } 6788 if (c==89 || c==121) 6789 { 6790 confirmyes=1; 6791 } 6792 } 6793 } 6794 } 6795 } 6357 6358 strcpy(cur_filename, input_file); 6359 sprintf(input_fullpath, "%s/%s", input_dir, input_file); 6360 6361 fortran_in = fopen(input_fullpath, "r"); 6362 if (! fortran_in) 6363 { 6364 printf("Error : File %s does not exist\n", input_fullpath); 6365 exit(1); 6366 } 6796 6367 6797 6368 /******************************************************************************/ … … 6799 6370 /******************************************************************************/ 6800 6371 6801 line_num_fortran_common=1; 6802 line_num_fortran=1; 6803 PublicDeclare = 0; 6804 PrivateDeclare = 0; 6805 ExternalDeclare = 0; 6806 SaveDeclare = 0; 6807 pointerdeclare = 0; 6808 optionaldeclare = 0; 6809 incalldeclare = 0; 6810 VarType = 0; 6811 VarTypepar = 0; 6812 Allocatabledeclare = 0 ; 6813 Targetdeclare = 0 ; 6814 strcpy(NamePrecision," "); 6815 VariableIsParameter = 0 ; 6816 strcpy(NamePrecision,""); 6817 c_star = 0 ; 6818 functiondeclarationisdone = 0; 6819 insubroutinedeclare = 0 ; 6820 ininterfacedeclare = 0 ; 6821 strcpy(subroutinename," "); 6822 isrecursive = 0; 6823 strcpy(InitialValueGiven," "); 6824 strcpy(EmptyChar," "); 6825 inmoduledeclare = 0; 6826 incontainssubroutine = 0; 6827 module_declar_type = 0; 6828 GlobalDeclarationType = 0; 6829 colnum=0; 6830 incom=0; 6831 couldaddvariable=1; 6832 afterpercent = 0; 6833 aftercontainsdeclare = 1; 6834 strcpy(nameinttypename,""); 6835 /* Name of the file without format */ 6836 tmp = strchr(fichier_entree, '.'); 6837 strncpy(curfilename,fichier_entree,strlen(fichier_entree)-strlen(tmp)); 6838 Save_Length(curfilename,30); 6372 line_num_input = 1; 6373 PublicDeclare = 0; 6374 PrivateDeclare = 0; 6375 ExternalDeclare = 0; 6376 SaveDeclare = 0; 6377 pointerdeclare = 0; 6378 optionaldeclare = 0; 6379 incalldeclare = 0; 6380 inside_type_declare = 0; 6381 Allocatabledeclare = 0 ; 6382 Targetdeclare = 0 ; 6383 VariableIsParameter = 0 ; 6384 strcpy(NamePrecision,""); 6385 c_star = 0 ; 6386 functiondeclarationisdone = 0; 6387 insubroutinedeclare = 0 ; 6388 strcpy(subroutinename," "); 6389 isrecursive = 0; 6390 InitialValueGiven = 0 ; 6391 GlobalDeclarationType = 0; 6392 inmoduledeclare = 0; 6393 incontainssubroutine = 0; 6394 afterpercent = 0; 6395 aftercontainsdeclare = 1; 6396 strcpy(nameinttypename,""); 6397 6839 6398 /******************************************************************************/ 6840 6399 /* 3- Parsing of the input file (1 time) */ 6841 6400 /******************************************************************************/ 6842 if (firstpass == 0 ) 6843 { 6844 fortranout=fopen(nomfileoutput,"w"); 6845 6846 /* NewModule_Creation_0();*/ 6847 } 6848 6849 fortranparse(); 6850 6851 if (firstpass == 0 ) 6852 { 6853 NewModule_Creation_0(); 6854 } 6855 6856 strcpy(curfile,mainfile); 6857 6858 if (firstpass == 0 ) 6859 { 6860 fclose(fortranout); 6861 } 6401 6402 sprintf(output_file, "%s/%s", output_dir, input_file); 6403 6404 if (firstpass == 0) fortran_out = fopen(output_file,"w"); 6405 6406 fortran_parse(); 6407 6408 if (firstpass == 0) NewModule_Creation_0(); 6409 if (firstpass == 0) fclose(fortran_out); 6862 6410 } 6863 6864 6411 #line 2 "fortran.yy.c" 6865 6412 … … 6870 6417 /* A lexical scanner generated by flex */ 6871 6418 6872 #define yy_create_buffer fortran_ create_buffer6873 #define yy_delete_buffer fortran_ delete_buffer6874 #define yy_flex_debug fortran_ flex_debug6875 #define yy_init_buffer fortran_ init_buffer6876 #define yy_flush_buffer fortran_ flush_buffer6877 #define yy_load_buffer_state fortran_ load_buffer_state6878 #define yy_switch_to_buffer fortran_ switch_to_buffer6879 #define yyin fortran in6880 #define yyleng fortran leng6881 #define yylex fortran lex6882 #define yylineno fortran lineno6883 #define yyout fortran out6884 #define yyrestart fortran restart6885 #define yytext fortran text6886 #define yywrap fortran wrap6887 #define yyalloc fortran alloc6888 #define yyrealloc fortran realloc6889 #define yyfree fortran free6419 #define yy_create_buffer fortran__create_buffer 6420 #define yy_delete_buffer fortran__delete_buffer 6421 #define yy_flex_debug fortran__flex_debug 6422 #define yy_init_buffer fortran__init_buffer 6423 #define yy_flush_buffer fortran__flush_buffer 6424 #define yy_load_buffer_state fortran__load_buffer_state 6425 #define yy_switch_to_buffer fortran__switch_to_buffer 6426 #define yyin fortran_in 6427 #define yyleng fortran_leng 6428 #define yylex fortran_lex 6429 #define yylineno fortran_lineno 6430 #define yyout fortran_out 6431 #define yyrestart fortran_restart 6432 #define yytext fortran_text 6433 #define yywrap fortran_wrap 6434 #define yyalloc fortran_alloc 6435 #define yyrealloc fortran_realloc 6436 #define yyfree fortran_free 6890 6437 6891 6438 #define FLEX_SCANNER … … 6930 6477 typedef int32_t flex_int32_t; 6931 6478 typedef uint32_t flex_uint32_t; 6479 typedef uint64_t flex_uint64_t; 6932 6480 #else 6933 6481 typedef signed char flex_int8_t; … … 7018 6566 7019 6567 /* Special action meaning "start processing a new file". */ 7020 #define YY_NEW_FILE fortran restart(fortranin )6568 #define YY_NEW_FILE fortran_restart(fortran_in ) 7021 6569 7022 6570 #define YY_END_OF_BUFFER_CHAR 0 … … 7041 6589 #endif 7042 6590 7043 extern yy_size_t fortran leng;7044 7045 extern FILE *fortran in, *fortranout;6591 extern yy_size_t fortran_leng; 6592 6593 extern FILE *fortran_in, *fortran_out; 7046 6594 7047 6595 #define EOB_ACT_CONTINUE_SCAN 0 … … 7055 6603 do \ 7056 6604 { \ 7057 /* Undo effects of setting up fortran text. */ \6605 /* Undo effects of setting up fortran_text. */ \ 7058 6606 int yyless_macro_arg = (n); \ 7059 6607 YY_LESS_LINENO(yyless_macro_arg);\ … … 7061 6609 YY_RESTORE_YY_MORE_OFFSET \ 7062 6610 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 7063 YY_DO_BEFORE_ACTION; /* set up fortran text again */ \6611 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ \ 7064 6612 } \ 7065 6613 while ( 0 ) … … 7124 6672 * 7125 6673 * When we actually see the EOF, we change the status to "new" 7126 * (via fortran restart()), so that the user can continue scanning by7127 * just pointing fortran in at a new input file.6674 * (via fortran_restart()), so that the user can continue scanning by 6675 * just pointing fortran_in at a new input file. 7128 6676 */ 7129 6677 #define YY_BUFFER_EOF_PENDING 2 … … 7152 6700 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 7153 6701 7154 /* yy_hold_char holds the character lost when fortran text is formed. */6702 /* yy_hold_char holds the character lost when fortran_text is formed. */ 7155 6703 static char yy_hold_char; 7156 6704 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ 7157 yy_size_t fortran leng;6705 yy_size_t fortran_leng; 7158 6706 7159 6707 /* Points to current character in buffer. */ … … 7162 6710 static int yy_start = 0; /* start state number */ 7163 6711 7164 /* Flag which is used to allow fortran wrap()'s to do buffer switches7165 * instead of setting up a fresh fortran in. A bit of a hack ...6712 /* Flag which is used to allow fortran_wrap()'s to do buffer switches 6713 * instead of setting up a fresh fortran_in. A bit of a hack ... 7166 6714 */ 7167 6715 static int yy_did_buffer_switch_on_eof; 7168 6716 7169 void fortran restart (FILE *input_file );7170 void fortran_ switch_to_buffer (YY_BUFFER_STATE new_buffer );7171 YY_BUFFER_STATE fortran_ create_buffer (FILE *file,int size );7172 void fortran_ delete_buffer (YY_BUFFER_STATE b );7173 void fortran_ flush_buffer (YY_BUFFER_STATE b );7174 void fortran push_buffer_state (YY_BUFFER_STATE new_buffer );7175 void fortran pop_buffer_state (void );7176 7177 static void fortran ensure_buffer_stack (void );7178 static void fortran_ load_buffer_state (void );7179 static void fortran_ init_buffer (YY_BUFFER_STATE b,FILE *file );7180 7181 #define YY_FLUSH_BUFFER fortran_ flush_buffer(YY_CURRENT_BUFFER )7182 7183 YY_BUFFER_STATE fortran_ scan_buffer (char *base,yy_size_t size );7184 YY_BUFFER_STATE fortran_ scan_string (yyconst char *yy_str );7185 YY_BUFFER_STATE fortran_ scan_bytes (yyconst char *bytes,yy_size_t len );7186 7187 void *fortran alloc (yy_size_t );7188 void *fortran realloc (void *,yy_size_t );7189 void fortran free (void * );7190 7191 #define yy_new_buffer fortran_ create_buffer6717 void fortran_restart (FILE *input_file ); 6718 void fortran__switch_to_buffer (YY_BUFFER_STATE new_buffer ); 6719 YY_BUFFER_STATE fortran__create_buffer (FILE *file,int size ); 6720 void fortran__delete_buffer (YY_BUFFER_STATE b ); 6721 void fortran__flush_buffer (YY_BUFFER_STATE b ); 6722 void fortran_push_buffer_state (YY_BUFFER_STATE new_buffer ); 6723 void fortran_pop_buffer_state (void ); 6724 6725 static void fortran_ensure_buffer_stack (void ); 6726 static void fortran__load_buffer_state (void ); 6727 static void fortran__init_buffer (YY_BUFFER_STATE b,FILE *file ); 6728 6729 #define YY_FLUSH_BUFFER fortran__flush_buffer(YY_CURRENT_BUFFER ) 6730 6731 YY_BUFFER_STATE fortran__scan_buffer (char *base,yy_size_t size ); 6732 YY_BUFFER_STATE fortran__scan_string (yyconst char *yy_str ); 6733 YY_BUFFER_STATE fortran__scan_bytes (yyconst char *bytes,yy_size_t len ); 6734 6735 void *fortran_alloc (yy_size_t ); 6736 void *fortran_realloc (void *,yy_size_t ); 6737 void fortran_free (void * ); 6738 6739 #define yy_new_buffer fortran__create_buffer 7192 6740 7193 6741 #define yy_set_interactive(is_interactive) \ 7194 6742 { \ 7195 6743 if ( ! YY_CURRENT_BUFFER ){ \ 7196 fortran ensure_buffer_stack (); \6744 fortran_ensure_buffer_stack (); \ 7197 6745 YY_CURRENT_BUFFER_LVALUE = \ 7198 fortran_ create_buffer(fortranin,YY_BUF_SIZE ); \6746 fortran__create_buffer(fortran_in,YY_BUF_SIZE ); \ 7199 6747 } \ 7200 6748 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ … … 7204 6752 { \ 7205 6753 if ( ! YY_CURRENT_BUFFER ){\ 7206 fortran ensure_buffer_stack (); \6754 fortran_ensure_buffer_stack (); \ 7207 6755 YY_CURRENT_BUFFER_LVALUE = \ 7208 fortran_ create_buffer(fortranin,YY_BUF_SIZE ); \6756 fortran__create_buffer(fortran_in,YY_BUF_SIZE ); \ 7209 6757 } \ 7210 6758 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ … … 7215 6763 /* Begin user sect3 */ 7216 6764 6765 #define fortran_wrap(n) 1 6766 #define YY_SKIP_YYWRAP 6767 7217 6768 typedef unsigned char YY_CHAR; 7218 6769 7219 FILE *fortran in = (FILE *) 0, *fortranout = (FILE *) 0;6770 FILE *fortran_in = (FILE *) 0, *fortran_out = (FILE *) 0; 7220 6771 7221 6772 typedef int yy_state_type; 7222 6773 7223 extern int fortran lineno;7224 7225 int fortran lineno = 1;7226 7227 extern char *fortran text;7228 #define yytext_ptr fortran text6774 extern int fortran_lineno; 6775 6776 int fortran_lineno = 1; 6777 6778 extern char *fortran_text; 6779 #define yytext_ptr fortran_text 7229 6780 7230 6781 static yy_state_type yy_get_previous_state (void ); … … 7234 6785 7235 6786 /* Done after the current pattern has been matched and before the 7236 * corresponding action - sets up fortran text.6787 * corresponding action - sets up fortran_text. 7237 6788 */ 7238 6789 #define YY_DO_BEFORE_ACTION \ 7239 6790 (yytext_ptr) = yy_bp; \ 7240 fortran leng = (size_t) (yy_cp - yy_bp); \6791 fortran_leng = (yy_size_t) (yy_cp - yy_bp); \ 7241 6792 (yy_hold_char) = *yy_cp; \ 7242 6793 *yy_cp = '\0'; \ … … 7252 6803 flex_int32_t yy_nxt; 7253 6804 }; 7254 static yyconst flex_int16_t yy_accept[11 62] =6805 static yyconst flex_int16_t yy_accept[1132] = 7255 6806 { 0, 7256 6807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7257 0, 0, 177, 176, 165, 161, 164, 175, 152, 151, 7258 155, 167, 152, 154, 154, 154, 157, 153, 137, 150, 7259 156, 159, 158, 160, 145, 145, 145, 145, 145, 145, 7260 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7261 145, 145, 165, 161, 164, 175, 150, 145, 145, 145, 7262 145, 145, 145, 176, 176, 173, 176, 176, 176, 161, 7263 161, 154, 145, 0, 0, 165, 0, 166, 0, 164, 7264 175, 175, 175, 0, 141, 0, 0, 167, 167, 167, 7265 167, 0, 0, 0, 140, 0, 0, 132, 26, 0, 7266 7267 146, 0, 0, 0, 0, 0, 0, 0, 133, 0, 7268 150, 25, 0, 145, 145, 145, 145, 145, 145, 145, 7269 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7270 43, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7271 145, 145, 145, 145, 85, 145, 145, 145, 145, 145, 7272 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7273 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7274 145, 145, 165, 163, 0, 163, 0, 0, 0, 0, 7275 0, 0, 166, 162, 163, 0, 175, 174, 175, 175, 7276 175, 163, 150, 4, 145, 145, 145, 145, 85, 145, 7277 7278 145, 0, 173, 0, 0, 0, 0, 0, 0, 0, 7279 169, 26, 0, 0, 4, 0, 145, 145, 145, 145, 7280 145, 145, 0, 0, 0, 175, 175, 0, 0, 167, 7281 167, 0, 0, 0, 0, 139, 0, 0, 0, 0, 7282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7283 0, 149, 146, 0, 0, 0, 142, 0, 145, 145, 7284 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 7285 145, 115, 145, 145, 145, 0, 145, 145, 145, 145, 7286 145, 16, 145, 145, 145, 114, 145, 145, 145, 145, 7287 145, 0, 145, 0, 96, 145, 145, 145, 145, 145, 7288 7289 121, 145, 145, 126, 145, 145, 145, 145, 145, 145, 7290 145, 89, 145, 145, 145, 145, 145, 145, 145, 145, 7291 145, 145, 145, 145, 145, 145, 118, 145, 145, 145, 7292 145, 145, 122, 145, 145, 145, 145, 145, 165, 163, 7293 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 7294 163, 0, 163, 175, 175, 175, 150, 4, 4, 4, 7295 4, 145, 145, 145, 145, 145, 145, 145, 0, 0, 7296 0, 0, 170, 0, 0, 169, 0, 0, 4, 4, 7297 4, 4, 142, 0, 145, 145, 0, 145, 145, 145, 7298 145, 0, 0, 0, 175, 175, 0, 0, 167, 167, 7299 7300 0, 0, 0, 0, 147, 0, 146, 0, 148, 0, 7301 28, 0, 30, 29, 32, 31, 34, 0, 0, 36, 7302 0, 146, 0, 147, 0, 146, 0, 148, 0, 142, 7303 0, 125, 117, 145, 145, 120, 123, 145, 145, 22, 7304 145, 145, 145, 145, 145, 116, 145, 145, 145, 0, 7305 145, 145, 145, 94, 0, 108, 145, 145, 145, 145, 7306 145, 145, 145, 145, 145, 0, 109, 145, 145, 145, 7307 145, 145, 145, 145, 0, 88, 145, 145, 145, 145, 7308 145, 145, 145, 0, 98, 145, 145, 0, 111, 145, 7309 145, 145, 145, 112, 21, 145, 60, 74, 145, 145, 7310 7311 145, 145, 145, 145, 145, 145, 79, 44, 145, 145, 7312 145, 145, 69, 145, 127, 119, 145, 72, 54, 145, 7313 0, 97, 99, 145, 92, 101, 145, 145, 165, 163, 7314 166, 0, 0, 0, 0, 0, 0, 0, 163, 0, 7315 163, 175, 175, 175, 150, 4, 4, 145, 145, 145, 7316 145, 145, 145, 18, 0, 0, 0, 0, 0, 170, 7317 0, 0, 4, 4, 0, 142, 0, 145, 145, 145, 7318 145, 0, 0, 0, 175, 175, 0, 0, 167, 167, 7319 0, 0, 38, 27, 0, 35, 37, 0, 142, 0, 7320 142, 145, 145, 145, 145, 145, 49, 145, 145, 145, 7321 7322 124, 145, 145, 0, 145, 145, 145, 0, 145, 145, 7323 0, 0, 0, 0, 0, 0, 0, 0, 42, 145, 7324 95, 145, 145, 145, 145, 145, 145, 145, 145, 76, 7325 76, 76, 76, 145, 0, 107, 113, 145, 145, 88, 7326 145, 145, 90, 145, 145, 145, 145, 145, 145, 145, 7327 145, 145, 145, 145, 145, 145, 145, 52, 145, 77, 7328 145, 145, 145, 0, 145, 145, 145, 145, 145, 102, 7329 145, 145, 55, 81, 165, 163, 166, 0, 0, 0, 7330 0, 0, 0, 163, 0, 163, 175, 175, 175, 150, 7331 4, 3, 0, 104, 145, 145, 86, 145, 145, 70, 7332 7333 71, 70, 0, 0, 0, 0, 4, 3, 0, 142, 7334 0, 142, 145, 49, 145, 124, 0, 23, 0, 175, 7335 23, 0, 23, 23, 167, 23, 0, 23, 23, 23, 7336 33, 145, 145, 23, 23, 23, 145, 145, 63, 145, 7337 145, 145, 145, 0, 145, 145, 138, 0, 0, 93, 7338 145, 42, 0, 95, 0, 0, 0, 0, 0, 0, 7339 145, 145, 145, 145, 145, 145, 145, 145, 0, 110, 7340 145, 145, 145, 145, 145, 145, 145, 66, 145, 145, 7341 129, 100, 128, 130, 39, 145, 145, 145, 145, 145, 7342 145, 145, 83, 0, 145, 11, 75, 19, 145, 145, 7343 7344 82, 165, 163, 166, 0, 0, 0, 0, 163, 175, 7345 175, 23, 4, 3, 3, 145, 145, 145, 145, 0, 7346 0, 0, 23, 4, 3, 3, 145, 23, 23, 23, 7347 24, 0, 168, 24, 24, 24, 24, 24, 24, 24, 7348 24, 24, 24, 145, 145, 145, 58, 145, 145, 145, 7349 0, 0, 145, 145, 40, 93, 0, 145, 0, 0, 7350 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 7351 73, 145, 145, 145, 0, 0, 145, 145, 17, 50, 7352 45, 145, 46, 0, 145, 145, 9, 145, 145, 67, 7353 84, 7, 0, 0, 145, 0, 145, 145, 0, 0, 7354 7355 0, 0, 175, 24, 4, 145, 145, 64, 145, 0, 7356 0, 24, 4, 24, 24, 24, 145, 8, 145, 145, 7357 87, 145, 145, 40, 0, 0, 145, 145, 0, 145, 7358 0, 0, 0, 0, 0, 73, 0, 145, 145, 145, 7359 145, 145, 56, 145, 65, 0, 0, 0, 0, 134, 7360 12, 20, 145, 0, 145, 80, 68, 145, 0, 145, 7361 0, 145, 145, 0, 0, 0, 175, 4, 145, 59, 7362 145, 0, 0, 4, 145, 131, 47, 145, 51, 0, 7363 0, 145, 145, 0, 57, 0, 0, 0, 0, 0, 7364 56, 145, 41, 145, 106, 145, 145, 0, 0, 0, 7365 7366 0, 0, 134, 91, 0, 145, 61, 0, 62, 0, 7367 145, 145, 0, 59, 0, 175, 4, 4, 145, 143, 7368 0, 0, 4, 4, 145, 10, 0, 0, 145, 145, 7369 57, 0, 41, 0, 106, 0, 145, 14, 145, 145, 7370 0, 0, 0, 145, 0, 0, 103, 6, 0, 143, 7371 175, 4, 4, 145, 0, 0, 4, 4, 48, 0, 7372 0, 145, 145, 0, 14, 0, 15, 145, 53, 0, 7373 0, 0, 145, 0, 103, 0, 175, 4, 2, 105, 7374 0, 0, 4, 2, 0, 0, 145, 145, 15, 0, 7375 145, 0, 0, 0, 145, 0, 105, 175, 4, 0, 7376 7377 0, 4, 0, 0, 136, 145, 0, 13, 0, 0, 7378 0, 145, 0, 175, 1, 0, 0, 144, 1, 136, 7379 0, 145, 13, 0, 0, 0, 0, 145, 0, 175, 7380 0, 0, 135, 0, 0, 0, 78, 5, 175, 0, 7381 135, 78, 175, 0, 175, 0, 175, 0, 175, 0, 7382 175, 0, 175, 171, 0, 0, 0, 0, 0, 172, 6808 0, 0, 177, 176, 166, 164, 175, 176, 155, 158, 6809 176, 176, 157, 157, 157, 160, 156, 144, 154, 157, 6810 159, 162, 161, 163, 151, 151, 151, 151, 151, 151, 6811 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6812 151, 151, 151, 151, 166, 164, 166, 175, 154, 151, 6813 151, 151, 151, 151, 151, 176, 176, 172, 176, 176, 6814 176, 157, 151, 0, 0, 166, 0, 0, 175, 175, 6815 175, 0, 148, 0, 0, 0, 168, 0, 0, 0, 6816 0, 0, 147, 0, 0, 141, 25, 0, 153, 0, 6817 6818 0, 0, 0, 0, 0, 0, 142, 0, 154, 0, 6819 140, 23, 151, 151, 151, 151, 151, 151, 151, 151, 6820 151, 151, 151, 151, 151, 151, 151, 151, 42, 151, 6821 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6822 151, 151, 100, 151, 89, 151, 151, 151, 151, 151, 6823 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6824 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6825 151, 151, 151, 151, 0, 166, 166, 0, 167, 0, 6826 0, 0, 0, 0, 0, 165, 166, 0, 175, 174, 6827 175, 175, 175, 167, 154, 0, 151, 151, 151, 151, 6828 6829 89, 151, 151, 0, 172, 0, 0, 0, 0, 0, 6830 0, 173, 25, 0, 0, 0, 151, 151, 151, 151, 6831 151, 0, 0, 0, 175, 175, 0, 0, 0, 0, 6832 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 6833 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 6834 0, 153, 151, 151, 151, 151, 151, 151, 151, 151, 6835 151, 151, 151, 151, 151, 151, 123, 151, 151, 151, 6836 151, 151, 151, 151, 14, 151, 151, 151, 151, 122, 6837 151, 151, 151, 151, 151, 151, 151, 0, 151, 151, 6838 151, 151, 151, 151, 129, 151, 151, 134, 151, 151, 6839 6840 151, 151, 151, 151, 151, 151, 93, 151, 151, 151, 6841 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 6842 151, 126, 151, 151, 151, 151, 151, 130, 151, 151, 6843 151, 151, 151, 151, 151, 0, 166, 166, 0, 0, 6844 0, 0, 0, 0, 0, 0, 0, 166, 0, 167, 6845 175, 175, 175, 154, 0, 151, 151, 151, 151, 151, 6846 151, 151, 0, 0, 0, 0, 173, 0, 0, 0, 6847 151, 151, 151, 151, 151, 0, 0, 0, 175, 175, 6848 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 6849 27, 0, 29, 28, 31, 30, 33, 0, 0, 35, 6850 6851 0, 0, 133, 125, 151, 151, 128, 151, 131, 151, 6852 151, 20, 151, 151, 151, 151, 151, 151, 124, 151, 6853 151, 151, 151, 151, 151, 98, 0, 115, 151, 151, 6854 151, 151, 151, 151, 151, 151, 0, 116, 151, 0, 6855 117, 151, 151, 151, 151, 151, 151, 0, 113, 151, 6856 151, 0, 92, 151, 151, 151, 151, 151, 151, 151, 6857 0, 102, 151, 151, 0, 119, 151, 151, 151, 151, 6858 120, 0, 114, 19, 151, 63, 77, 151, 151, 151, 6859 151, 151, 151, 151, 151, 82, 43, 151, 151, 151, 6860 151, 72, 151, 151, 127, 151, 76, 57, 151, 0, 6861 6862 101, 103, 151, 96, 105, 151, 151, 151, 151, 47, 6863 166, 166, 0, 0, 0, 0, 0, 0, 0, 166, 6864 0, 167, 175, 175, 175, 154, 0, 108, 151, 151, 6865 151, 151, 151, 16, 0, 0, 0, 0, 0, 0, 6866 151, 151, 151, 151, 0, 0, 0, 175, 175, 0, 6867 0, 0, 0, 0, 0, 37, 26, 0, 34, 36, 6868 151, 151, 151, 151, 151, 151, 52, 151, 151, 151, 6869 151, 132, 151, 151, 151, 151, 151, 0, 151, 151, 6870 0, 0, 0, 0, 0, 0, 0, 0, 41, 151, 6871 99, 151, 151, 151, 151, 151, 151, 151, 151, 79, 6872 6873 79, 151, 0, 111, 121, 85, 151, 151, 92, 151, 6874 151, 94, 151, 151, 151, 151, 151, 151, 151, 151, 6875 151, 151, 151, 0, 0, 151, 151, 151, 55, 151, 6876 80, 151, 151, 151, 0, 151, 151, 151, 151, 151, 6877 0, 135, 106, 151, 151, 0, 112, 58, 39, 84, 6878 166, 166, 108, 0, 0, 0, 0, 0, 166, 0, 6879 167, 175, 175, 175, 154, 0, 108, 151, 90, 151, 6880 151, 74, 73, 74, 0, 0, 0, 0, 0, 151, 6881 52, 151, 132, 0, 21, 0, 175, 21, 0, 21, 6882 21, 0, 21, 0, 21, 21, 21, 32, 151, 151, 6883 6884 151, 21, 151, 151, 66, 151, 151, 151, 151, 151, 6885 151, 151, 145, 0, 0, 97, 151, 41, 0, 99, 6886 0, 0, 0, 0, 0, 0, 151, 151, 151, 151, 6887 151, 151, 151, 151, 0, 118, 151, 151, 151, 151, 6888 151, 151, 151, 69, 151, 151, 137, 104, 136, 138, 6889 38, 151, 0, 6, 151, 151, 151, 151, 151, 151, 6890 87, 0, 151, 8, 78, 17, 151, 151, 86, 166, 6891 166, 0, 0, 0, 166, 175, 175, 21, 0, 151, 6892 151, 151, 0, 0, 0, 21, 0, 151, 21, 22, 6893 0, 169, 22, 22, 22, 22, 22, 22, 22, 22, 6894 6895 151, 151, 151, 151, 50, 151, 151, 151, 109, 151, 6896 0, 151, 151, 97, 0, 151, 0, 0, 0, 0, 6897 0, 0, 0, 151, 151, 151, 151, 151, 75, 151, 6898 151, 151, 0, 0, 151, 151, 15, 53, 44, 151, 6899 45, 0, 151, 151, 5, 151, 151, 70, 88, 3, 6900 0, 0, 151, 0, 151, 151, 0, 0, 0, 175, 6901 22, 0, 151, 67, 151, 0, 0, 22, 0, 22, 6902 151, 4, 151, 151, 151, 151, 91, 151, 151, 0, 6903 0, 151, 151, 0, 151, 0, 0, 0, 0, 0, 6904 75, 0, 151, 151, 151, 151, 151, 59, 151, 68, 6905 6906 0, 0, 0, 0, 143, 9, 18, 151, 0, 151, 6907 83, 71, 151, 0, 151, 0, 151, 151, 0, 0, 6908 175, 0, 62, 151, 0, 0, 0, 151, 151, 139, 6909 46, 151, 151, 54, 0, 0, 151, 151, 0, 61, 6910 0, 0, 0, 0, 0, 59, 151, 11, 151, 110, 6911 151, 151, 0, 0, 0, 0, 0, 143, 95, 0, 6912 151, 64, 0, 65, 0, 151, 151, 62, 0, 175, 6913 0, 149, 0, 0, 0, 151, 151, 40, 7, 0, 6914 0, 151, 151, 61, 0, 60, 0, 11, 0, 110, 6915 0, 151, 10, 151, 151, 0, 0, 0, 151, 0, 6916 6917 0, 107, 2, 149, 175, 0, 0, 0, 0, 51, 6918 0, 0, 0, 0, 151, 151, 0, 10, 0, 13, 6919 151, 56, 0, 0, 0, 151, 0, 107, 175, 0, 6920 0, 0, 0, 0, 0, 0, 0, 151, 151, 13, 6921 0, 151, 0, 0, 0, 151, 0, 175, 0, 0, 6922 0, 0, 0, 24, 0, 0, 49, 151, 0, 12, 6923 0, 0, 0, 151, 0, 175, 0, 0, 0, 150, 6924 0, 49, 0, 151, 12, 0, 0, 0, 0, 151, 6925 0, 175, 0, 0, 0, 0, 48, 0, 0, 0, 6926 81, 1, 175, 0, 0, 0, 48, 81, 175, 0, 6927 6928 0, 0, 175, 0, 0, 0, 175, 0, 0, 0, 6929 175, 0, 0, 0, 175, 0, 0, 0, 175, 170, 6930 0, 170, 0, 0, 170, 0, 0, 0, 0, 171, 7383 6931 0 7384 6932 } ; … … 7399 6947 68, 69, 70, 71, 72, 44, 73, 74, 75, 76, 7400 6948 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 7401 87, 88, 89, 89, 89, 1, 1, 1, 1, 1,6949 87, 88, 1, 89, 1, 1, 1, 1, 1, 1, 7402 6950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7403 6951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 7418 6966 static yyconst flex_int32_t yy_meta[90] = 7419 6967 { 0, 7420 1, 2, 3, 2, 1, 4, 1, 1, 1, 1,7421 1, 1, 1, 1, 1, 1, 1, 5, 1, 6,7422 6, 6, 6, 6, 6, 6, 6, 6, 6, 1,7423 1, 1, 1, 1, 7, 8, 8, 9, 9, 5,7424 10, 11, 8, 8, 8, 10, 10, 10, 7, 8,7425 9, 10, 10, 5, 10, 8, 12, 8, 8, 8,7426 1, 1, 8, 7, 8, 8, 9, 9, 5, 10,7427 1 1, 8, 8, 10, 10, 10, 7, 8, 9, 10,7428 10, 5, 10, 8, 12, 8, 8, 8, 46968 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 6969 1, 4, 1, 1, 1, 1, 1, 3, 1, 5, 6970 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 6971 1, 1, 1, 1, 6, 7, 7, 5, 5, 8, 6972 9, 10, 11, 11, 11, 9, 11, 9, 12, 11, 6973 13, 9, 9, 9, 9, 11, 11, 11, 11, 11, 6974 1, 1, 11, 6, 7, 7, 5, 5, 8, 9, 6975 10, 11, 11, 9, 11, 9, 12, 11, 13, 9, 6976 9, 9, 9, 11, 11, 11, 11, 11, 3 7429 6977 } ; 7430 6978 7431 static yyconst flex_int16_t yy_base[1 215] =6979 static yyconst flex_int16_t yy_base[1171] = 7432 6980 { 0, 7433 0, 88, 0, 0, 0, 0, 1215, 93, 1196, 91, 7434 0, 0, 1179, 64, 97, 117, 132, 87, 124, 98, 7435 99, 142, 173, 154, 108, 135, 134, 254, 172, 179, 7436 175, 178, 219, 180, 323, 388, 384, 318, 386, 319, 7437 186, 128, 250, 256, 392, 404, 438, 428, 204, 455, 7438 432, 465, 544, 120, 537, 548, 627, 624, 622, 544, 7439 644, 658, 251, 9159, 1175, 9159, 267, 99, 162, 569, 7440 572, 620, 745, 164, 107, 262, 307, 335, 376, 522, 7441 0, 167, 157, 1162, 9159, 278, 321, 1160, 1118, 372, 7442 304, 532, 593, 567, 9159, 633, 832, 9159, 9159, 911, 7443 7444 798, 318, 319, 450, 799, 552, 320, 354, 9159, 978, 7445 834, 9159, 865, 860, 862, 866, 914, 863, 973, 980, 7446 974, 1013, 1024, 1045, 869, 1049, 1075, 1095, 1098, 1101, 7447 1182, 1177, 1161, 1181, 1214, 1212, 1237, 1239, 1235, 1270, 7448 1290, 1316, 1325, 1293, 1346, 1323, 1366, 1368, 1391, 1399, 7449 1403, 1429, 1430, 1455, 1452, 1478, 1498, 1482, 1523, 1521, 7450 1554, 1548, 1579, 1586, 1606, 1629, 1649, 1675, 1681, 1698, 7451 1707, 1729, 871, 1114, 1109, 140, 1023, 187, 372, 403, 7452 553, 401, 1095, 565, 1792, 1818, 1083, 9159, 643, 669, 7453 589, 1844, 1870, 1580, 1865, 1867, 1868, 1905, 1926, 1922, 7454 7455 1925, 1078, 9159, 837, 437, 677, 249, 660, 1072, 712, 7456 9159, 1062, 844, 625, 1874, 1993, 2022, 1042, 864, 473, 7457 904, 621, 506, 651, 721, 798, 791, 890, 912, 936, 7458 907, 725, 1029, 1143, 729, 9159, 1114, 1179, 2097, 2112, 7459 2127, 229, 937, 1033, 1012, 1006, 994, 943, 883, 974, 7460 891, 9159, 1476, 2142, 2157, 2172, 2182, 2202, 2178, 2180, 7461 2200, 2203, 2223, 2243, 2246, 2244, 2276, 2269, 2299, 2307, 7462 2301, 2324, 2344, 2351, 2377, 901, 1018, 2374, 2394, 2397, 7463 2414, 2495, 2434, 2440, 2465, 2472, 2518, 2521, 2515, 2548, 7464 2556, 1138, 2564, 968, 9159, 2581, 2597, 2604, 2627, 2649, 7465 7466 2650, 2690, 2693, 2686, 2726, 2738, 2746, 2747, 2763, 2783, 7467 2799, 2800, 2803, 2820, 2840, 2843, 2870, 2891, 2895, 2903, 7468 2926, 2928, 2935, 2961, 2981, 2958, 2984, 2978, 3004, 3011, 7469 3027, 3052, 3048, 3059, 3085, 3068, 3105, 3111, 196, 203, 7470 976, 383, 974, 988, 1018, 1014, 1025, 1029, 1042, 253, 7471 3174, 3200, 3226, 1067, 1182, 1172, 3252, 0, 418, 288, 7472 1096, 3228, 3229, 3231, 3251, 3267, 3287, 3290, 1188, 1566, 7473 973, 740, 9159, 938, 866, 9159, 1268, 1178, 931, 1170, 7474 1241, 1299, 3354, 3381, 0, 903, 3408, 1148, 1116, 1177, 7475 1322, 1145, 410, 1415, 1235, 460, 1292, 1218, 1323, 1022, 7476 7477 963, 1520, 1662, 3418, 3430, 3440, 3450, 3460, 3470, 889, 7478 9159, 865, 9159, 9159, 9159, 9159, 9159, 1239, 853, 9159, 7479 846, 2472, 3480, 3490, 3500, 3510, 3520, 3530, 3545, 3555, 7480 3575, 9159, 3289, 3553, 3573, 3551, 3574, 3590, 3596, 3612, 7481 3628, 3634, 3635, 3655, 3671, 3651, 3687, 3688, 3696, 459, 7482 3728, 3736, 3740, 3784, 3868, 9159, 3780, 3776, 3807, 3811, 7483 3850, 3912, 3872, 3920, 3921, 1351, 9159, 3828, 4005, 4060, 7484 4095, 3904, 4063, 4069, 1258, 4096, 4104, 4126, 4134, 4156, 7485 4165, 4196, 4205, 1409, 9159, 4208, 4197, 1476, 9159, 4235, 7486 4241, 4257, 4261, 4273, 4284, 4293, 4305, 4309, 4332, 4336, 7487 7488 4353, 4316, 4359, 4362, 4384, 4407, 4385, 4416, 4423, 4448, 7489 4455, 4456, 4486, 4494, 4488, 4511, 4527, 4519, 4531, 4554, 7490 1498, 9159, 4552, 4575, 4584, 4587, 4607, 4610, 493, 529, 7491 551, 476, 1287, 816, 953, 1119, 1293, 841, 4678, 4704, 7492 4730, 1607, 1346, 1458, 4756, 1362, 1397, 4733, 4732, 4759, 7493 4627, 4768, 4817, 733, 1619, 1594, 1406, 728, 1537, 9159, 7494 1571, 1651, 1625, 1613, 4839, 4867, 4894, 1627, 1658, 1686, 7495 1714, 1394, 0, 1756, 1574, 0, 1668, 724, 1709, 724, 7496 1763, 1775, 9159, 9159, 708, 9159, 9159, 4904, 4916, 4926, 7497 4936, 4771, 4931, 5013, 4934, 5068, 5069, 5071, 5075, 5072, 7498 7499 5120, 5121, 5123, 1725, 5127, 5153, 5176, 1832, 5175, 5179, 7500 1458, 1493, 1739, 1516, 1519, 1873, 1592, 1739, 5201, 5224, 7501 5202, 5241, 5240, 5257, 5278, 5280, 5301, 5284, 5352, 9159, 7502 5351, 5346, 5349, 5353, 1802, 9159, 5355, 5385, 5401, 9159, 7503 5405, 5408, 5412, 5428, 5449, 5451, 5458, 5460, 5495, 5501, 7504 5531, 5527, 5539, 5571, 5564, 5575, 5591, 5602, 5623, 5614, 7505 5634, 5635, 5660, 693, 5666, 5667, 5692, 5703, 5715, 9159, 7506 5723, 5719, 5740, 5746, 846, 1103, 1234, 1788, 1768, 1386, 7507 1788, 1615, 1847, 1854, 236, 590, 1781, 1913, 715, 5809, 7508 1790, 1645, 2264, 9159, 5785, 5805, 1690, 5806, 5807, 2344, 7509 7510 9159, 1951, 1858, 1924, 2256, 679, 1930, 1879, 5870, 5880, 7511 5907, 5917, 1811, 658, 5946, 624, 0, 9159, 6034, 0, 7512 0, 613, 609, 9159, 604, 586, 2245, 2364, 2389, 9159, 7513 9159, 6063, 6118, 6139, 6138, 6134, 6135, 6141, 6161, 6173, 7514 6184, 6209, 6217, 1654, 6260, 6248, 6216, 1844, 1864, 6239, 7515 6280, 9159, 1689, 9159, 1930, 1750, 1763, 1934, 1933, 2077, 7516 6300, 6292, 6317, 6337, 6338, 6344, 6369, 6376, 2212, 9159, 7517 6360, 6413, 6392, 6412, 6424, 6433, 6456, 6435, 6465, 6476, 7518 6488, 6497, 6508, 6509, 6552, 6529, 6540, 6549, 6560, 6585, 7519 6593, 6605, 6628, 2392, 6636, 6637, 6648, 6659, 6694, 6685, 7520 7521 6686, 6775, 2286, 518, 2092, 2103, 1938, 2148, 2420, 2303, 7522 472, 442, 2196, 0, 1803, 6692, 6717, 6768, 6756, 2424, 7523 2334, 426, 422, 2432, 378, 1883, 6858, 6945, 6974, 337, 7524 9159, 1922, 9159, 0, 328, 9159, 314, 2481, 2510, 9159, 7525 6929, 6757, 7029, 7031, 7037, 7040, 7033, 7077, 7070, 7086, 7526 2264, 2842, 7093, 7097, 7118, 9159, 2372, 7129, 2384, 2060, 7527 2411, 2418, 2078, 2421, 2139, 7138, 7149, 7170, 7179, 7195, 7528 7201, 7227, 7234, 7236, 2483, 3160, 7259, 7257, 7279, 7280, 7529 7282, 7302, 7318, 2564, 7325, 7319, 7345, 7356, 7377, 7357, 7530 7368, 7388, 2513, 2467, 7400, 2603, 7389, 7425, 2468, 2371, 7531 7532 2235, 2479, 361, 296, 182, 7409, 7432, 2249, 7455, 622, 7533 2529, 227, 1008, 7505, 0, 207, 7482, 7503, 7505, 7514, 7534 7535, 7536, 7544, 9159, 2413, 2526, 7567, 7571, 2546, 7593, 7535 2547, 2562, 2567, 2526, 2575, 9159, 2526, 7587, 7625, 7594, 7536 7631, 7632, 7648, 7657, 7668, 3179, 3203, 2672, 3229, 3335, 7537 7684, 7688, 7709, 2597, 7705, 7725, 7732, 7736, 178, 7758, 7538 2596, 7775, 7769, 2619, 2617, 2641, 2696, 2668, 7795, 7801, 7539 7807, 2677, 2720, 3150, 7827, 7818, 7834, 7867, 7850, 2625, 7540 2685, 7870, 7890, 2688, 7859, 2699, 2731, 2741, 2661, 2665, 7541 9159, 7911, 7907, 7910, 7927, 7933, 7963, 2822, 3360, 3384, 7542 7543 3411, 4103, 4220, 7959, 2702, 7970, 7966, 2741, 7986, 2738, 7544 8003, 8019, 2758, 9159, 2765, 2781, 2809, 2818, 8030, 8026, 7545 2900, 2883, 2903, 2951, 8042, 8051, 2820, 2829, 8063, 8086, 7546 9159, 2838, 9159, 2846, 9159, 2846, 8088, 8090, 8113, 8134, 7547 3067, 4430, 2880, 8136, 175, 2911, 8125, 8156, 2877, 9159, 7548 1190, 2938, 2908, 8157, 3034, 3081, 3049, 3028, 8173, 2959, 7549 2985, 8189, 8182, 3029, 9159, 3039, 8205, 8212, 8214, 3241, 7550 4684, 3056, 8235, 3049, 9159, 3056, 3212, 3072, 0, 8237, 7551 1210, 3169, 3157, 144, 3103, 3103, 8257, 8260, 9159, 3110, 7552 8283, 3255, 4708, 3110, 8290, 123, 9159, 3235, 3207, 3329, 7553 7554 3387, 3558, 3232, 3256, 8306, 8313, 3278, 8315, 8396, 4870, 7555 3259, 8391, 3280, 3664, 0, 3349, 3414, 9159, 103, 9159, 7556 3346, 8392, 9159, 3745, 4900, 8473, 3347, 8450, 90, 1237, 7557 1328, 3570, 8470, 4973, 4977, 3380, 8471, 9159, 3676, 3645, 7558 9159, 9159, 3693, 3608, 3764, 3684, 3616, 1433, 3705, 3782, 7559 3810, 3774, 3875, 9159, 3852, 3697, 3910, 3892, 3896, 9159, 7560 9159, 8553, 8565, 8577, 8589, 8601, 8613, 8621, 8623, 8635, 7561 8647, 8659, 8671, 8678, 8687, 8699, 8711, 8723, 8735, 8747, 7562 8754, 8762, 8774, 8786, 8798, 8810, 8822, 8834, 8846, 8858, 7563 8870, 8882, 8894, 8906, 8918, 8930, 8942, 8954, 8966, 8978, 7564 7565 8990, 9002, 9014, 9026, 9038, 9050, 9062, 9074, 9086, 9098, 7566 9110, 9122, 9134, 9146 6981 0, 88, 0, 0, 0, 0, 984, 93, 0, 85, 6982 0, 0, 891, 64, 98, 103, 80, 129, 96, 99, 6983 134, 137, 145, 133, 168, 135, 249, 180, 318, 136, 6984 156, 172, 212, 239, 246, 297, 366, 341, 414, 461, 6985 247, 294, 398, 334, 407, 476, 506, 517, 459, 566, 6986 572, 522, 571, 367, 653, 226, 656, 658, 737, 638, 6987 785, 655, 698, 806, 652, 4012, 878, 4012, 241, 116, 6988 124, 455, 893, 59, 76, 229, 253, 256, 0, 122, 6989 127, 872, 4012, 157, 188, 869, 866, 327, 302, 349, 6990 740, 416, 4012, 768, 592, 4012, 4012, 981, 730, 147, 6991 6992 184, 438, 495, 328, 184, 190, 4012, 1048, 335, 969, 6993 4012, 4012, 0, 269, 315, 149, 319, 486, 462, 248, 6994 318, 325, 269, 426, 736, 336, 767, 470, 500, 518, 6995 512, 403, 516, 525, 535, 801, 544, 620, 565, 570, 6996 589, 768, 483, 589, 810, 592, 613, 638, 650, 664, 6997 678, 736, 737, 740, 741, 949, 736, 788, 646, 956, 6998 756, 999, 739, 753, 804, 749, 1043, 972, 962, 769, 6999 813, 963, 972, 969, 0, 1057, 0, 839, 238, 1044, 7000 986, 789, 956, 1030, 965, 429, 1109, 1136, 830, 4012, 7001 1061, 1087, 1091, 1162, 1188, 990, 1095, 1120, 1006, 1042, 7002 7003 1170, 1050, 1046, 823, 4012, 1201, 1099, 1115, 1190, 797, 7004 483, 4012, 790, 1167, 1100, 1194, 1269, 1358, 1255, 1254, 7005 1195, 1103, 1098, 625, 1148, 1163, 1217, 1237, 1222, 1238, 7006 1095, 1305, 1325, 1234, 4012, 1334, 1302, 1326, 1107, 1182, 7007 738, 735, 731, 730, 1244, 1166, 713, 1242, 4012, 1428, 7008 1374, 1389, 1419, 1244, 1252, 1261, 1263, 1192, 1266, 1301, 7009 1333, 1333, 1352, 1352, 1387, 1392, 1388, 1389, 1390, 1404, 7010 1401, 1405, 1407, 1404, 1506, 1471, 1417, 1476, 1430, 0, 7011 1422, 1437, 1442, 1432, 1484, 1440, 1454, 1497, 1444, 1448, 7012 1451, 1443, 1445, 1475, 1459, 1530, 1536, 1464, 1477, 1470, 7013 7014 1531, 1490, 1491, 1482, 1509, 1511, 0, 1526, 1513, 1519, 7015 1524, 1527, 1524, 1555, 1516, 1519, 1522, 1546, 1557, 1564, 7016 1558, 1565, 1555, 1557, 1562, 1561, 1615, 1573, 1575, 1573, 7017 1576, 1570, 1574, 1582, 1576, 719, 351, 666, 1572, 713, 7018 1580, 1587, 1584, 1593, 1589, 1596, 1608, 1658, 1684, 1710, 7019 1652, 1645, 1661, 1741, 1626, 1629, 1635, 1634, 1637, 1703, 7020 1653, 709, 1654, 1744, 707, 998, 4012, 1712, 1674, 1715, 7021 1664, 1708, 1725, 1738, 1749, 1622, 1684, 1379, 1672, 1735, 7022 1743, 1771, 1723, 1772, 1787, 1804, 1815, 1807, 1821, 656, 7023 4012, 646, 4012, 4012, 4012, 4012, 4012, 1735, 614, 4012, 7024 7025 613, 1849, 4012, 0, 1741, 1751, 0, 1796, 0, 1799, 7026 1799, 0, 1820, 1819, 1811, 1816, 1808, 1821, 0, 1826, 7027 1822, 1814, 1822, 1825, 1819, 1871, 1955, 4012, 1825, 1821, 7028 1837, 1830, 1829, 1850, 1823, 1844, 1899, 4012, 1836, 1909, 7029 4012, 1841, 2040, 1856, 1915, 1858, 1874, 1920, 4012, 1886, 7030 1872, 1878, 0, 1886, 1879, 1881, 1888, 1896, 1895, 1902, 7031 1967, 4012, 1897, 1906, 1971, 4012, 1900, 1912, 1906, 1915, 7032 0, 1980, 4012, 0, 1988, 0, 0, 1929, 1939, 1926, 7033 1933, 1936, 1946, 1939, 1953, 0, 602, 1949, 1958, 1955, 7034 1963, 0, 1960, 2063, 0, 598, 0, 0, 1985, 2064, 7035 7036 4012, 0, 1960, 0, 0, 2019, 2022, 2024, 2025, 4012, 7037 792, 880, 2030, 2023, 2043, 2043, 2041, 2042, 581, 2092, 7038 2118, 2144, 2079, 2080, 2084, 2170, 2045, 1005, 2060, 1022, 7039 2071, 2134, 2199, 574, 2082, 2174, 2108, 2147, 2148, 2101, 7040 2154, 2184, 2187, 2190, 2087, 0, 1422, 2144, 0, 2200, 7041 138, 2202, 571, 2221, 2233, 4012, 4012, 514, 4012, 4012, 7042 2174, 2192, 2051, 2289, 2080, 2193, 0, 2109, 2194, 2193, 7043 2199, 0, 2201, 2207, 2204, 2195, 2198, 2270, 2240, 2240, 7044 2215, 2229, 2246, 2239, 2258, 2275, 2258, 2276, 0, 2276, 7045 0, 2287, 2279, 2283, 2295, 2283, 2295, 2300, 2335, 4012, 7046 7047 0, 2293, 2342, 4012, 0, 0, 2294, 2293, 4012, 2316, 7048 2321, 0, 2297, 2323, 2312, 2319, 2335, 2334, 2327, 2337, 7049 2333, 2341, 2338, 197, 451, 2343, 2337, 2347, 0, 2348, 7050 0, 2335, 2355, 2355, 477, 2343, 2343, 2350, 2355, 2348, 7051 2275, 4012, 4012, 2349, 2351, 2404, 4012, 0, 0, 0, 7052 1140, 1249, 1797, 2376, 2082, 2379, 2366, 2432, 2263, 424, 7053 569, 2417, 2420, 499, 2486, 2384, 2087, 2385, 2427, 2389, 7054 2398, 2437, 4012, 2448, 2444, 2439, 2452, 479, 2451, 2431, 7055 2410, 2565, 2416, 0, 4012, 2653, 0, 0, 475, 445, 7056 4012, 441, 436, 2458, 2462, 2468, 4012, 4012, 2682, 2404, 7057 7058 2428, 0, 2441, 2444, 0, 2442, 2449, 2447, 2480, 2465, 7059 2479, 2553, 0, 2487, 2489, 0, 2493, 4012, 2486, 4012, 7060 2497, 2509, 2513, 2527, 2535, 2549, 2552, 2538, 2550, 2555, 7061 2548, 2562, 2552, 2559, 2604, 4012, 2572, 2480, 2561, 2568, 7062 2573, 2575, 2564, 0, 2569, 2578, 0, 0, 0, 0, 7063 2660, 2572, 508, 4012, 2583, 2594, 2591, 2650, 2664, 2658, 7064 0, 2536, 2663, 0, 0, 0, 2715, 2654, 0, 2539, 7065 2479, 2668, 2663, 2678, 2644, 2682, 426, 421, 2680, 2677, 7066 2540, 2686, 2701, 2720, 411, 365, 2721, 2790, 2691, 4012, 7067 2725, 4012, 0, 343, 4012, 307, 2753, 2755, 4012, 0, 7068 7069 2747, 2692, 2702, 2706, 0, 2707, 2709, 2719, 0, 2685, 7070 2776, 2708, 2732, 4012, 2748, 2737, 2773, 2763, 2773, 2780, 7071 2773, 2788, 2777, 2776, 2785, 2780, 2796, 2786, 0, 2797, 7072 2798, 2794, 2647, 2867, 2796, 2791, 0, 0, 0, 2795, 7073 0, 2845, 2798, 2801, 0, 2815, 2825, 0, 0, 0, 7074 2872, 2840, 2825, 2883, 2847, 2843, 2840, 2548, 2855, 827, 7075 303, 239, 2841, 2765, 2855, 1020, 2888, 288, 1687, 2861, 7076 2861, 0, 2851, 2861, 2850, 2855, 0, 2851, 2858, 2858, 7077 2856, 2863, 2873, 2862, 2878, 2870, 2882, 2880, 2881, 2888, 7078 4012, 2904, 2901, 2906, 2913, 2885, 2895, 0, 2903, 0, 7079 7080 2951, 2978, 2955, 2982, 2994, 0, 0, 2933, 2910, 2917, 7081 0, 0, 2923, 248, 2932, 2941, 2930, 2939, 2936, 2956, 7082 2998, 2964, 0, 2967, 3005, 3006, 3007, 2966, 2959, 0, 7083 0, 2960, 2979, 0, 2973, 2982, 2973, 2987, 2986, 3025, 7084 2983, 2989, 2995, 2978, 2978, 4012, 2985, 0, 2991, 0, 7085 2985, 3006, 3066, 3074, 3078, 3090, 3094, 3106, 0, 3009, 7086 3019, 0, 3041, 0, 3018, 3050, 3056, 4012, 3062, 3076, 7087 3056, 0, 3087, 3103, 3099, 3072, 3111, 0, 0, 3064, 7088 3080, 3075, 3079, 3124, 3125, 4012, 3082, 4012, 3085, 4012, 7089 3080, 3093, 0, 3096, 3104, 3152, 3171, 3113, 3118, 245, 7090 7091 3119, 0, 0, 4012, 1737, 184, 3142, 3141, 1922, 0, 7092 3181, 3186, 3115, 3122, 3127, 3111, 3122, 4012, 3128, 0, 7093 3129, 0, 3208, 3211, 3152, 3158, 3150, 4012, 3194, 3154, 7094 2097, 3179, 3201, 3224, 3231, 3169, 3153, 3159, 3179, 4012, 7095 3183, 3184, 3251, 3258, 3191, 3183, 207, 3229, 3207, 3237, 7096 194, 3233, 3261, 4012, 3209, 3200, 0, 3220, 3211, 0, 7097 3309, 3283, 3218, 3228, 3221, 3285, 3236, 3273, 142, 4012, 7098 3286, 4012, 3243, 3250, 4012, 3339, 3342, 3367, 3248, 3286, 7099 108, 2482, 40, 2606, 2838, 3273, 0, 3395, 3399, 3290, 7100 0, 4012, 3302, 3294, 3311, 3350, 4012, 4012, 3299, 3320, 7101 7102 3357, 3358, 3375, 3318, 3359, 3380, 3404, 3376, 3300, 3412, 7103 3362, 3363, 3370, 3415, 3418, 3423, 3420, 3426, 3433, 4012, 7104 3447, 4012, 3428, 3451, 4012, 3430, 3439, 3454, 3457, 4012, 7105 4012, 3521, 3534, 3547, 3560, 3573, 3586, 3595, 3608, 3621, 7106 3634, 3647, 3656, 3669, 3678, 3686, 3699, 3712, 3725, 3738, 7107 3751, 3764, 3777, 3790, 3803, 3816, 3829, 3842, 3855, 3868, 7108 3881, 3894, 3907, 3920, 3933, 3946, 3959, 3972, 3985, 3998 7567 7109 } ; 7568 7110 7569 static yyconst flex_int16_t yy_def[1 215] =7111 static yyconst flex_int16_t yy_def[1171] = 7570 7112 { 0, 7571 1161, 1, 1162, 1162, 1, 2, 1163, 1163, 1, 2, 7572 1, 2, 1161, 1161, 1161, 1161, 1161, 1164, 1165, 1161, 7573 1161, 1166, 1167, 1161, 1161, 1161, 1161, 1161, 1161, 1168, 7574 1161, 1161, 1161, 1161, 1169, 1169, 36, 36, 36, 36, 7575 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7576 36, 36, 1161, 1161, 53, 1170, 1161, 36, 36, 36, 7577 36, 36, 36, 1161, 1171, 1161, 1171, 1171, 1171, 1161, 7578 1161, 1172, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7579 1164, 1164, 1164, 1165, 1161, 1165, 1165, 1166, 1161, 1166, 7580 1166, 1167, 1173, 1167, 1161, 1167, 1167, 1161, 1161, 1161, 7581 7582 1174, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1175, 7583 1161, 1161, 1161, 36, 36, 36, 36, 36, 36, 36, 7584 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7585 1169, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7586 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7587 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7588 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7589 36, 36, 53, 173, 1176, 1161, 1161, 1161, 1161, 1161, 7590 1161, 1161, 173, 1161, 173, 1161, 1170, 1161, 1170, 1170, 7591 1170, 1161, 1161, 1177, 36, 36, 36, 36, 36, 36, 7592 7593 36, 1171, 1161, 1171, 1171, 1171, 1171, 1178, 1179, 1179, 7594 1161, 1179, 1179, 1179, 1180, 1179, 1161, 217, 217, 217, 7595 217, 217, 1161, 1161, 1161, 1164, 1164, 1165, 1165, 1166, 7596 1166, 1173, 1173, 1173, 1173, 1161, 1167, 1167, 1161, 1161, 7597 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7598 1161, 1161, 1181, 1161, 1161, 1161, 1161, 1161, 36, 36, 7599 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7600 36, 36, 36, 36, 36, 1182, 131, 36, 36, 36, 7601 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7602 36, 1161, 36, 1161, 1161, 36, 36, 36, 36, 36, 7603 7604 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7605 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7606 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7607 36, 36, 36, 36, 36, 36, 36, 36, 173, 173, 7608 1161, 173, 1176, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7609 185, 1161, 1161, 1170, 1170, 1170, 1161, 1177, 1177, 1177, 7610 1177, 36, 36, 36, 36, 36, 36, 36, 1171, 1171, 7611 1183, 1183, 1161, 1179, 1179, 1161, 1179, 1179, 1180, 1180, 7612 1180, 1180, 1179, 1179, 217, 217, 1179, 217, 217, 217, 7613 217, 1161, 1161, 1161, 1164, 1164, 1165, 1165, 1166, 1166, 7614 7615 1173, 1167, 1167, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7616 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7617 1161, 1181, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7618 1161, 1161, 36, 36, 36, 36, 36, 36, 36, 36, 7619 36, 36, 36, 36, 36, 36, 36, 36, 36, 1161, 7620 36, 36, 36, 36, 1161, 1161, 36, 36, 36, 36, 7621 36, 36, 36, 36, 36, 1161, 1161, 36, 1161, 36, 7622 36, 36, 36, 36, 1161, 36, 36, 36, 36, 36, 7623 36, 36, 36, 1161, 1161, 36, 36, 1161, 1161, 36, 7624 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7625 7626 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7627 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7628 1161, 1161, 36, 36, 36, 36, 36, 36, 173, 173, 7629 173, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 185, 1161, 7630 1161, 1170, 1170, 1170, 1161, 1177, 1177, 36, 36, 36, 7631 36, 36, 36, 1161, 1171, 1171, 1171, 1183, 1183, 1161, 7632 1179, 1179, 1180, 1180, 1179, 1179, 1179, 217, 217, 217, 7633 217, 1161, 1184, 1161, 1164, 1185, 1165, 1186, 1187, 1188, 7634 1189, 1190, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7635 1161, 36, 36, 1161, 36, 36, 36, 36, 36, 36, 7636 7637 36, 36, 36, 1161, 36, 36, 36, 1161, 36, 36, 7638 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 36, 36, 7639 36, 36, 36, 36, 36, 36, 36, 36, 36, 1161, 7640 1161, 36, 36, 36, 1161, 1161, 36, 36, 36, 1161, 7641 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7642 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7643 36, 36, 36, 1161, 36, 36, 36, 36, 36, 1161, 7644 36, 36, 36, 36, 173, 173, 173, 1161, 1161, 1161, 7645 1161, 1161, 1161, 173, 1161, 1161, 1170, 1170, 1191, 1161, 7646 1177, 1192, 1161, 1161, 36, 36, 1161, 36, 36, 1161, 7647 7648 1161, 1161, 1171, 1171, 1179, 1193, 1180, 1194, 1179, 1179, 7649 1179, 1179, 217, 217, 1161, 217, 1195, 1161, 1161, 1196, 7650 1197, 1198, 1199, 1161, 1200, 1201, 1202, 1203, 1203, 1161, 7651 1161, 1161, 36, 1161, 36, 36, 36, 36, 36, 36, 7652 36, 36, 36, 1161, 36, 36, 36, 1161, 1161, 36, 7653 36, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7654 36, 36, 36, 36, 36, 36, 36, 36, 1161, 1161, 7655 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7656 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7657 36, 36, 36, 1161, 36, 36, 36, 36, 36, 36, 7658 7659 36, 1161, 802, 802, 1161, 1161, 1161, 1161, 802, 1204, 7660 1205, 1204, 1206, 1207, 1207, 36, 36, 36, 36, 1208, 7661 1208, 1209, 1210, 1211, 1212, 1212, 1161, 1210, 1161, 829, 7662 1161, 1161, 1161, 1197, 1199, 1161, 1201, 1203, 1203, 1161, 7663 1161, 36, 36, 36, 36, 36, 36, 36, 36, 36, 7664 1161, 1161, 36, 36, 36, 1161, 1161, 36, 1161, 1161, 7665 1161, 1161, 1161, 1161, 1161, 36, 36, 36, 36, 36, 7666 36, 36, 36, 36, 1161, 1213, 36, 36, 36, 36, 7667 36, 36, 36, 1161, 36, 36, 36, 36, 36, 36, 7668 36, 36, 1161, 1161, 36, 1161, 36, 36, 1161, 1161, 7669 7670 1161, 1161, 1204, 1204, 1206, 36, 36, 1161, 36, 1208, 7671 1208, 1210, 1211, 1210, 829, 829, 36, 36, 36, 36, 7672 36, 36, 36, 1161, 1161, 1161, 36, 36, 1161, 36, 7673 1161, 1161, 1161, 1161, 1161, 1161, 1161, 36, 36, 36, 7674 36, 36, 36, 36, 36, 1213, 1213, 1161, 1214, 1213, 7675 36, 36, 36, 1161, 36, 36, 36, 36, 1161, 36, 7676 1161, 36, 36, 1161, 1161, 1161, 1204, 1206, 36, 36, 7677 36, 1208, 1208, 1211, 36, 36, 36, 36, 36, 1161, 7678 1161, 36, 36, 1161, 36, 1161, 1161, 1161, 1161, 1161, 7679 1161, 36, 36, 36, 36, 36, 36, 1161, 1214, 1214, 7680 7681 1213, 1214, 1214, 36, 1161, 36, 36, 1161, 36, 1161, 7682 36, 36, 1161, 1161, 1161, 1204, 1206, 1206, 36, 36, 7683 1208, 1208, 1211, 1211, 36, 36, 1161, 1161, 36, 36, 7684 1161, 1161, 1161, 1161, 1161, 1161, 36, 36, 36, 36, 7685 1161, 1213, 1161, 36, 1161, 1161, 36, 36, 1161, 1161, 7686 1204, 1206, 1206, 36, 1208, 1208, 1211, 1211, 36, 1161, 7687 1161, 36, 36, 1161, 1161, 1161, 36, 36, 36, 1161, 7688 1213, 1161, 36, 1161, 1161, 1161, 1204, 1206, 1206, 36, 7689 1208, 1208, 1211, 1211, 1161, 1161, 36, 36, 1161, 1161, 7690 36, 1161, 1213, 1161, 36, 1161, 1161, 1204, 1206, 1208, 7691 7692 1208, 1211, 1161, 1161, 36, 36, 1161, 36, 1161, 1213, 7693 1161, 36, 1161, 1204, 1206, 1208, 1208, 1161, 1211, 1161, 7694 1161, 36, 1161, 1161, 1213, 1213, 1161, 36, 1161, 1204, 7695 1208, 1161, 36, 1213, 1214, 1161, 36, 1161, 1204, 1208, 7696 1161, 1161, 1204, 1208, 1204, 1208, 1204, 1208, 1204, 1208, 7697 1204, 1208, 1204, 1161, 1208, 1208, 1208, 1208, 1208, 1161, 7698 0, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7699 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7700 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7701 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7702 7703 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 7704 1161, 1161, 1161, 1161 7113 1131, 1, 1132, 1132, 1, 2, 1133, 1133, 1, 2, 7114 1, 2, 1131, 1131, 1131, 1131, 1134, 1135, 1131, 1131, 7115 1136, 1137, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7116 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 7117 1138, 1138, 1138, 1138, 1138, 40, 1138, 1138, 1138, 1138, 7118 1138, 1138, 1138, 1138, 1131, 1131, 55, 1139, 1131, 37, 7119 1138, 1138, 1138, 1138, 1138, 1131, 1140, 1131, 1140, 1140, 7120 1140, 1141, 1131, 1131, 1131, 1131, 1131, 1131, 1134, 1134, 7121 1134, 1135, 1131, 1135, 1135, 1136, 1131, 1136, 1136, 1137, 7122 1142, 1137, 1131, 1137, 1137, 1131, 1131, 1131, 1143, 1131, 7123 7124 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 29, 1131, 7125 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7126 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7127 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7128 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7129 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7130 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7131 1138, 1138, 1138, 1138, 1145, 55, 176, 1146, 1131, 1131, 7132 1131, 1131, 1131, 1131, 1131, 1131, 176, 1131, 1139, 1131, 7133 1139, 1139, 1139, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 7134 7135 1138, 1138, 1138, 1140, 1131, 1140, 1140, 1140, 1140, 1147, 7136 1147, 1131, 1147, 1147, 1147, 1147, 1148, 1148, 218, 218, 7137 218, 1131, 1131, 1131, 1134, 1134, 1135, 1135, 1136, 1136, 7138 1142, 1142, 1142, 1142, 1131, 1137, 1137, 1131, 1131, 1131, 7139 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1144, 7140 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7141 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7142 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7143 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 7144 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7145 7146 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7147 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7148 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7149 1138, 1138, 1138, 1138, 1138, 1145, 176, 176, 1131, 1146, 7150 1131, 1131, 1131, 1131, 1131, 1131, 1131, 187, 1131, 1131, 7151 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 7152 1138, 1138, 1140, 1140, 1147, 1147, 1131, 1147, 1147, 1147, 7153 218, 218, 218, 218, 218, 1131, 1131, 1131, 1134, 1134, 7154 1135, 1135, 1136, 1136, 1142, 1137, 1137, 1131, 1131, 1131, 7155 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7156 7157 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7158 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7159 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 7160 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1131, 7161 1131, 1138, 1149, 1138, 1138, 1138, 1138, 1131, 1131, 1138, 7162 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7163 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 7164 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7165 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7166 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 7167 7168 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 7169 176, 176, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 187, 7170 1131, 1131, 1139, 1139, 1139, 1131, 1131, 1138, 1138, 1138, 7171 1138, 1138, 1138, 1131, 1140, 1140, 1140, 1147, 1147, 1147, 7172 218, 218, 218, 218, 1131, 1150, 1131, 1134, 1151, 1135, 7173 1152, 1136, 1153, 1137, 1154, 1131, 1131, 1131, 1131, 1131, 7174 1138, 1138, 1138, 1155, 1138, 1138, 1138, 1138, 1138, 1138, 7175 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 1138, 1138, 7176 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 7177 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 7178 7179 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1131, 1138, 7180 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7181 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 7182 1138, 1138, 1138, 1138, 1131, 1138, 1138, 1138, 1138, 1138, 7183 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 7184 176, 176, 1131, 1131, 1131, 1131, 1131, 1131, 176, 1131, 7185 1131, 1139, 1139, 1156, 1131, 1131, 1131, 1138, 1131, 1138, 7186 1138, 1131, 1131, 1131, 1140, 1140, 1147, 1157, 1147, 218, 7187 218, 1158, 218, 1159, 1131, 1131, 1160, 1134, 1161, 1135, 7188 1131, 1162, 1136, 1163, 1137, 1137, 1131, 1131, 1164, 1138, 7189 7190 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7191 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 7192 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 7193 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 7194 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7195 1138, 1138, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 7196 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 176, 7197 176, 1131, 1131, 1131, 176, 1139, 1165, 1139, 1131, 1138, 7198 1138, 1138, 1140, 1140, 1166, 1147, 1147, 1167, 218, 1131, 7199 1131, 1131, 1134, 1135, 1131, 1136, 1137, 1137, 1131, 1138, 7200 7201 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7202 1131, 1138, 1138, 1131, 1131, 1138, 1131, 1131, 1131, 1131, 7203 1131, 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7204 1138, 1138, 1131, 1168, 1138, 1138, 1138, 1138, 1138, 1138, 7205 1138, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7206 1131, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1131, 1139, 7207 1139, 1131, 1138, 1131, 1138, 1140, 1140, 1147, 1147, 218, 7208 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1131, 7209 1131, 1138, 1138, 1131, 1138, 1131, 1131, 1131, 1131, 1131, 7210 1131, 1131, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 7211 7212 1168, 1168, 1131, 1169, 1168, 1138, 1138, 1138, 1131, 1138, 7213 1138, 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 7214 1139, 1131, 1138, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 7215 1138, 1138, 1138, 1138, 1131, 1131, 1138, 1138, 1131, 1138, 7216 1131, 1131, 1131, 1131, 1131, 1131, 1138, 1138, 1138, 1138, 7217 1138, 1138, 1131, 1169, 1169, 1168, 1169, 1169, 1138, 1131, 7218 1138, 1138, 1131, 1138, 1131, 1138, 1138, 1131, 1131, 1139, 7219 1131, 1138, 1140, 1140, 1147, 1138, 1138, 1138, 1138, 1131, 7220 1131, 1138, 1138, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7221 1131, 1138, 1138, 1138, 1138, 1131, 1168, 1131, 1138, 1131, 7222 7223 1131, 1138, 1138, 1131, 1139, 1131, 1140, 1140, 1147, 1138, 7224 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1131, 1131, 1138, 7225 1138, 1138, 1131, 1168, 1131, 1138, 1131, 1131, 1139, 1131, 7226 1140, 1140, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 7227 1131, 1138, 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 7228 1170, 1147, 1131, 1131, 1131, 1131, 1138, 1138, 1131, 1138, 7229 1131, 1168, 1131, 1138, 1131, 1139, 1131, 1140, 1170, 1131, 7230 1147, 1131, 1131, 1138, 1131, 1131, 1168, 1168, 1131, 1138, 7231 1131, 1139, 1131, 1140, 1147, 1131, 1138, 1168, 1169, 1131, 7232 1138, 1131, 1139, 1131, 1140, 1147, 1131, 1131, 1139, 1131, 7233 7234 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 7235 1139, 1131, 1140, 1147, 1139, 1131, 1140, 1147, 1139, 1131, 7236 1131, 1131, 1140, 1147, 1131, 1140, 1140, 1140, 1140, 1131, 7237 0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7238 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7239 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7240 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131 7705 7241 } ; 7706 7242 7707 static yyconst flex_int16_t yy_nxt[ 9249] =7243 static yyconst flex_int16_t yy_nxt[4102] = 7708 7244 { 0, 7709 14, 15, 16, 1 7, 18, 19, 14, 20, 21, 22,7710 2 3, 24, 25, 26, 25, 27, 25, 28, 29, 30,7711 30, 30, 30, 30, 30, 30, 30, 30, 30, 25,7245 14, 15, 16, 15, 17, 18, 14, 19, 20, 21, 7246 22, 23, 24, 25, 24, 26, 24, 27, 28, 29, 7247 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 7712 7248 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 7713 7249 41, 42, 43, 42, 42, 44, 45, 46, 47, 48, 7714 42, 49, 50, 51, 42, 42, 52, 42, 42, 42,7715 2 5, 25, 42, 35, 36, 37, 38, 39, 40, 41,7250 42, 49, 50, 51, 52, 42, 53, 42, 42, 54, 7251 24, 24, 42, 35, 36, 37, 38, 39, 40, 41, 7716 7252 42, 43, 42, 44, 45, 46, 47, 48, 42, 49, 7717 50, 51, 42, 42, 52, 42, 42, 42, 14, 53, 7718 54, 55, 56, 71, 67, 66, 67, 68, 76, 77, 7719 7720 78, 203, 1138, 74, 72, 211, 206, 57, 57, 57, 7721 57, 57, 57, 57, 57, 57, 57, 75, 79, 77, 7722 79, 79, 77, 79, 58, 59, 82, 73, 60, 85, 7723 61, 69, 74, 78, 77, 80, 74, 74, 74, 1113, 7724 83, 62, 63, 176, 89, 75, 211, 74, 99, 176, 7725 75, 75, 75, 58, 59, 82, 73, 60, 224, 61, 7726 69, 75, 115, 86, 203, 74, 74, 74, 83, 62, 7727 63, 74, 98, 74, 74, 93, 74, 87, 75, 75, 7728 75, 90, 94, 95, 109, 75, 224, 75, 75, 75, 7729 1074, 115, 86, 74, 1008, 91, 110, 529, 223, 530, 7730 7731 74, 226, 74, 74, 531, 87, 530, 75, 227, 207, 7732 90, 74, 96, 75, 74, 75, 75, 74, 74, 74, 7733 115, 346, 74, 91, 387, 75, 97, 223, 75, 211, 7734 226, 75, 75, 75, 142, 75, 227, 207, 115, 176, 7735 74, 96, 161, 74, 968, 176, 74, 74, 74, 115, 7736 346, 203, 112, 75, 97, 100, 75, 100, 74, 75, 7737 75, 75, 142, 76, 77, 78, 410, 115, 204, 203, 7738 204, 161, 75, 101, 101, 101, 101, 101, 101, 101, 7739 101, 101, 101, 85, 115, 115, 370, 74, 102, 143, 7740 115, 538, 103, 74, 104, 410, 144, 145, 188, 105, 7741 7742 75, 106, 107, 201, 146, 205, 89, 75, 79, 77, 7743 79, 108, 228, 115, 115, 370, 89, 102, 143, 115, 7744 538, 103, 74, 104, 144, 145, 85, 105, 546, 106, 7745 107, 201, 146, 85, 205, 75, 78, 77, 78, 108, 7746 113, 228, 114, 114, 114, 114, 114, 114, 114, 114, 7747 114, 114, 115, 115, 387, 231, 129, 546, 116, 117, 7748 130, 138, 118, 188, 139, 242, 131, 140, 119, 243, 7749 132, 250, 229, 141, 89, 120, 121, 225, 77, 225, 7750 211, 115, 115, 231, 531, 129, 530, 116, 117, 130, 7751 138, 118, 139, 242, 131, 140, 119, 243, 132, 250, 7752 7753 229, 141, 251, 120, 121, 113, 230, 114, 114, 114, 7754 114, 114, 114, 114, 114, 114, 114, 347, 124, 359, 7755 115, 359, 122, 967, 211, 125, 147, 118, 211, 126, 7756 251, 133, 127, 134, 148, 230, 135, 136, 150, 203, 7757 149, 123, 128, 137, 188, 347, 151, 124, 573, 115, 7758 348, 122, 152, 350, 125, 147, 118, 126, 153, 133, 7759 127, 134, 157, 148, 135, 136, 168, 150, 149, 123, 7760 128, 137, 115, 169, 188, 151, 158, 573, 348, 159, 7761 152, 350, 160, 170, 207, 154, 153, 155, 244, 162, 7762 387, 157, 156, 163, 675, 168, 676, 164, 576, 115, 7763 7764 604, 115, 169, 245, 158, 165, 171, 159, 166, 167, 7765 160, 170, 207, 154, 678, 155, 172, 244, 162, 804, 7766 156, 389, 163, 78, 77, 80, 164, 576, 115, 604, 7767 677, 245, 676, 165, 93, 171, 166, 167, 183, 184, 7768 185, 94, 95, 678, 172, 173, 77, 174, 175, 389, 7769 188, 392, 677, 176, 676, 189, 186, 186, 186, 186, 7770 186, 186, 186, 186, 186, 186, 79, 77, 79, 93, 7771 79, 77, 79, 79, 77, 79, 94, 95, 115, 392, 7772 177, 178, 208, 74, 179, 208, 180, 190, 89, 198, 7773 248, 188, 142, 176, 233, 234, 233, 181, 182, 176, 7774 7775 249, 191, 235, 236, 224, 208, 89, 115, 208, 177, 7776 178, 349, 74, 179, 85, 180, 190, 198, 836, 248, 7777 142, 210, 211, 210, 203, 181, 182, 211, 249, 191, 7778 192, 194, 224, 212, 208, 93, 176, 208, 387, 349, 7779 356, 387, 94, 95, 110, 188, 193, 193, 193, 193, 7780 193, 193, 193, 193, 193, 193, 197, 391, 195, 213, 7781 129, 372, 373, 372, 130, 125, 74, 237, 356, 126, 7782 131, 188, 196, 214, 132, 387, 378, 354, 115, 203, 7783 75, 211, 128, 143, 972, 197, 391, 195, 213, 129, 7784 144, 199, 168, 130, 125, 74, 237, 126, 131, 169, 7785 7786 196, 214, 132, 355, 378, 393, 354, 115, 75, 170, 7787 128, 369, 143, 375, 376, 375, 200, 188, 144, 199, 7788 794, 168, 394, 77, 394, 731, 89, 234, 169, 724, 7789 373, 234, 355, 393, 401, 236, 554, 170, 401, 236, 7790 369, 559, 560, 559, 200, 209, 210, 211, 210, 209, 7791 209, 209, 215, 209, 209, 209, 209, 209, 209, 209, 7792 209, 209, 216, 209, 217, 217, 217, 217, 217, 217, 7793 217, 217, 217, 217, 209, 209, 209, 209, 209, 195, 7794 218, 218, 218, 218, 219, 218, 125, 218, 218, 218, 7795 220, 218, 218, 196, 218, 218, 218, 218, 221, 218, 7796 7797 218, 218, 218, 222, 218, 209, 209, 218, 195, 218, 7798 218, 218, 218, 219, 218, 125, 218, 218, 220, 218, 7799 218, 196, 218, 218, 218, 218, 221, 218, 218, 218, 7800 218, 222, 218, 209, 93, 239, 240, 246, 204, 203, 7801 204, 94, 95, 395, 554, 396, 211, 802, 241, 803, 7802 680, 110, 247, 111, 111, 111, 111, 111, 111, 111, 7803 111, 111, 111, 587, 239, 240, 246, 375, 376, 375, 7804 586, 395, 339, 396, 340, 205, 241, 258, 377, 680, 7805 247, 387, 584, 238, 257, 257, 257, 257, 257, 257, 7806 257, 257, 257, 257, 115, 85, 115, 261, 388, 115, 7807 7808 115, 115, 115, 268, 205, 115, 583, 377, 115, 89, 7809 1161, 238, 100, 115, 100, 115, 115, 85, 259, 115, 7810 387, 387, 115, 115, 341, 115, 261, 388, 115, 115, 7811 115, 115, 268, 211, 115, 397, 419, 115, 89, 1161, 7812 211, 115, 421, 115, 115, 102, 259, 115, 115, 103, 7813 115, 104, 341, 115, 411, 390, 105, 450, 106, 107, 7814 417, 400, 260, 397, 419, 234, 398, 115, 108, 294, 7815 421, 294, 401, 236, 102, 373, 188, 115, 103, 295, 7816 104, 399, 115, 390, 105, 450, 106, 107, 681, 400, 7817 260, 420, 412, 418, 398, 115, 108, 253, 253, 253, 7818 7819 253, 253, 253, 253, 253, 253, 253, 115, 264, 399, 7820 211, 416, 115, 115, 115, 254, 255, 681, 262, 115, 7821 412, 418, 263, 415, 89, 265, 115, 115, 256, 414, 7822 233, 234, 233, 115, 349, 258, 115, 264, 235, 236, 7823 532, 115, 115, 115, 254, 255, 262, 115, 115, 266, 7824 413, 263, 115, 265, 115, 115, 256, 344, 115, 387, 7825 580, 115, 349, 115, 211, 533, 115, 534, 532, 188, 7826 974, 345, 115, 535, 211, 265, 115, 115, 266, 115, 7827 203, 115, 536, 115, 115, 188, 344, 115, 115, 580, 7828 267, 537, 115, 533, 115, 534, 342, 269, 115, 345, 7829 7830 115, 535, 115, 265, 804, 115, 803, 542, 115, 115, 7831 536, 188, 115, 115, 115, 342, 93, 115, 267, 537, 7832 89, 270, 271, 94, 95, 269, 115, 272, 115, 115, 7833 115, 273, 274, 387, 115, 115, 542, 115, 115, 292, 7834 115, 292, 547, 115, 233, 234, 233, 275, 115, 270, 7835 271, 115, 235, 236, 115, 272, 115, 682, 115, 402, 7836 273, 274, 89, 115, 115, 387, 115, 85, 569, 115, 7837 547, 380, 211, 380, 188, 275, 115, 203, 1161, 115, 7838 211, 93, 115, 276, 188, 276, 682, 402, 94, 95, 7839 203, 475, 188, 568, 387, 115, 569, 572, 70, 113, 7840 7841 115, 277, 277, 277, 277, 277, 277, 277, 277, 277, 7842 277, 115, 203, 281, 115, 115, 115, 66, 282, 475, 7843 115, 568, 280, 85, 115, 572, 544, 543, 555, 115, 7844 115, 570, 562, 403, 115, 804, 278, 803, 279, 188, 7845 115, 281, 115, 211, 115, 115, 115, 282, 115, 115, 7846 280, 115, 1077, 115, 544, 543, 578, 555, 115, 570, 7847 562, 403, 115, 284, 278, 115, 279, 115, 283, 115, 7848 211, 115, 1100, 115, 115, 115, 115, 115, 115, 285, 7849 115, 563, 115, 289, 288, 578, 286, 575, 115, 1161, 7850 287, 284, 115, 115, 585, 115, 283, 85, 115, 1139, 7851 7852 115, 211, 115, 115, 115, 115, 640, 115, 285, 115, 7853 563, 289, 288, 561, 286, 575, 115, 292, 287, 292, 7854 115, 290, 585, 115, 115, 89, 294, 115, 294, 115, 7855 203, 683, 115, 115, 640, 1161, 295, 291, 115, 387, 7856 679, 561, 296, 115, 577, 564, 115, 1161, 188, 290, 7857 115, 115, 466, 115, 466, 115, 115, 115, 115, 261, 7858 683, 115, 115, 301, 115, 291, 1161, 571, 679, 293, 7859 296, 115, 577, 564, 115, 579, 115, 1161, 115, 115, 7860 115, 1161, 297, 467, 115, 115, 115, 697, 261, 697, 7861 1140, 115, 301, 115, 298, 571, 299, 293, 688, 300, 7862 7863 115, 1161, 115, 579, 115, 115, 115, 115, 203, 115, 7864 484, 297, 484, 691, 115, 303, 574, 77, 574, 115, 7865 485, 115, 298, 302, 299, 115, 688, 300, 304, 115, 7866 115, 115, 717, 115, 115, 203, 115, 115, 115, 1161, 7867 1161, 691, 115, 303, 115, 305, 692, 115, 1161, 115, 7868 306, 302, 115, 704, 115, 1161, 115, 304, 1161, 115, 7869 188, 717, 115, 115, 115, 1161, 115, 115, 115, 115, 7870 1161, 115, 115, 305, 692, 308, 307, 488, 306, 488, 7871 115, 704, 115, 115, 115, 1161, 115, 489, 1161, 115, 7872 310, 115, 115, 115, 115, 1150, 689, 115, 115, 521, 7873 7874 309, 521, 1161, 308, 307, 311, 752, 1161, 115, 522, 7875 115, 115, 115, 239, 240, 115, 115, 115, 115, 310, 7876 115, 115, 93, 115, 315, 689, 241, 1161, 309, 94, 7877 95, 312, 115, 311, 752, 115, 115, 115, 559, 560, 7878 559, 115, 239, 240, 1161, 115, 115, 753, 1161, 313, 7879 115, 115, 314, 315, 241, 115, 318, 115, 1161, 312, 7880 115, 115, 115, 115, 755, 316, 115, 556, 203, 556, 7881 756, 317, 581, 211, 115, 753, 115, 313, 1161, 115, 7882 314, 359, 115, 359, 115, 318, 115, 115, 319, 115, 7883 320, 115, 755, 115, 316, 556, 203, 556, 756, 317, 7884 7885 581, 115, 115, 324, 115, 1161, 321, 322, 557, 188, 7886 323, 115, 720, 115, 360, 211, 115, 319, 115, 320, 7887 115, 203, 115, 705, 325, 115, 326, 211, 361, 115, 7888 1161, 324, 115, 327, 321, 322, 557, 557, 323, 115, 7889 115, 720, 115, 360, 387, 115, 815, 115, 815, 115, 7890 759, 705, 325, 211, 115, 326, 361, 328, 687, 115, 7891 115, 327, 708, 329, 93, 557, 808, 115, 115, 115, 7892 703, 94, 95, 85, 115, 387, 707, 330, 759, 713, 7893 265, 1161, 115, 115, 331, 328, 687, 115, 115, 706, 7894 708, 697, 329, 697, 808, 332, 714, 115, 703, 851, 7895 7896 582, 1161, 115, 387, 707, 330, 722, 713, 265, 115, 7897 115, 89, 115, 331, 115, 115, 1161, 115, 706, 335, 7898 115, 1161, 333, 332, 715, 714, 334, 851, 115, 582, 7899 115, 387, 115, 1161, 115, 722, 859, 115, 115, 1161, 7900 336, 115, 1161, 115, 115, 337, 115, 725, 335, 115, 7901 333, 115, 716, 715, 334, 1161, 115, 719, 77, 719, 7902 115, 115, 115, 115, 859, 93, 115, 744, 115, 336, 7903 115, 338, 94, 95, 337, 115, 725, 93, 754, 115, 7904 760, 716, 115, 188, 729, 730, 1161, 1161, 115, 693, 7905 1161, 693, 115, 342, 184, 351, 744, 115, 861, 694, 7906 7907 338, 727, 806, 635, 815, 635, 815, 754, 862, 760, 7908 115, 352, 352, 352, 352, 352, 352, 352, 352, 352, 7909 352, 353, 807, 810, 1161, 805, 861, 176, 387, 1161, 7910 727, 806, 813, 608, 636, 608, 862, 352, 352, 352, 7911 352, 352, 352, 352, 352, 352, 352, 353, 700, 827, 7912 700, 807, 810, 176, 805, 804, 184, 809, 701, 1161, 7913 203, 813, 702, 352, 352, 352, 352, 352, 352, 352, 7914 352, 352, 352, 353, 748, 380, 211, 380, 827, 176, 7915 826, 211, 826, 856, 826, 211, 826, 110, 749, 357, 7916 357, 357, 357, 357, 357, 357, 357, 357, 357, 115, 7917 7918 820, 115, 115, 748, 115, 857, 115, 115, 381, 1161, 7919 267, 757, 856, 270, 363, 188, 749, 362, 115, 272, 7920 115, 364, 382, 832, 77, 832, 203, 758, 115, 820, 7921 115, 115, 211, 115, 857, 115, 115, 381, 267, 115, 7922 757, 270, 363, 1161, 115, 362, 115, 272, 115, 364, 7923 382, 811, 702, 365, 702, 758, 115, 1161, 115, 115, 7924 115, 115, 297, 368, 115, 115, 702, 860, 115, 863, 7925 1161, 367, 824, 115, 298, 115, 299, 821, 115, 366, 7926 811, 365, 864, 901, 1161, 115, 115, 1161, 115, 115, 7927 115, 297, 368, 115, 115, 211, 860, 1161, 863, 367, 7928 7929 1161, 824, 298, 115, 299, 821, 115, 366, 1161, 1161, 7930 864, 901, 383, 383, 383, 383, 383, 383, 383, 383, 7931 383, 383, 374, 374, 211, 374, 374, 374, 374, 374, 7932 374, 374, 374, 374, 374, 374, 374, 374, 374, 384, 7933 374, 385, 385, 385, 385, 385, 385, 385, 385, 385, 7934 385, 374, 374, 374, 374, 374, 386, 386, 386, 386, 7935 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 7936 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 7937 386, 386, 374, 374, 386, 386, 386, 386, 386, 386, 7938 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 7939 7940 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 7941 374, 404, 1161, 404, 932, 865, 405, 405, 405, 405, 7942 405, 405, 405, 405, 405, 405, 406, 1161, 406, 935, 7943 899, 407, 407, 407, 407, 407, 407, 407, 407, 407, 7944 407, 408, 932, 408, 865, 900, 409, 409, 409, 409, 7945 409, 409, 409, 409, 409, 409, 423, 935, 423, 899, 7946 1161, 424, 424, 424, 424, 424, 424, 424, 424, 424, 7947 424, 425, 1161, 425, 900, 1161, 426, 426, 426, 426, 7948 426, 426, 426, 426, 426, 426, 427, 902, 427, 432, 7949 937, 428, 428, 428, 428, 428, 428, 428, 428, 428, 7950 7951 428, 257, 257, 257, 257, 257, 257, 257, 257, 257, 7952 257, 1161, 115, 769, 115, 769, 902, 115, 937, 115, 7953 429, 430, 430, 430, 430, 430, 430, 430, 430, 430, 7954 430, 115, 433, 115, 115, 905, 908, 115, 908, 115, 7955 431, 115, 115, 115, 770, 434, 115, 93, 115, 429, 7956 908, 435, 908, 115, 839, 840, 115, 115, 211, 115, 7957 433, 115, 115, 115, 905, 693, 115, 693, 115, 431, 7958 436, 115, 1161, 434, 1161, 694, 115, 115, 115, 435, 7959 115, 115, 115, 115, 115, 115, 115, 804, 439, 803, 7960 437, 115, 1161, 1161, 822, 176, 115, 115, 436, 115, 7961 7962 438, 805, 924, 115, 115, 188, 115, 115, 115, 115, 7963 115, 115, 115, 1161, 115, 115, 439, 1161, 437, 1161, 7964 441, 440, 115, 822, 115, 115, 1161, 115, 438, 115, 7965 805, 924, 115, 115, 1161, 115, 203, 115, 115, 115, 7966 115, 115, 903, 1161, 115, 700, 115, 700, 441, 440, 7967 115, 442, 115, 443, 445, 701, 444, 115, 115, 702, 7968 115, 1161, 115, 115, 115, 446, 93, 115, 1161, 115, 7969 115, 903, 911, 94, 95, 115, 1161, 115, 115, 442, 7970 115, 443, 445, 115, 444, 115, 1161, 115, 115, 447, 7971 115, 93, 115, 893, 446, 893, 448, 115, 94, 95, 7972 7973 1161, 911, 1161, 894, 115, 115, 1161, 115, 115, 451, 7974 929, 115, 115, 115, 115, 449, 115, 447, 965, 115, 7975 931, 804, 184, 809, 448, 115, 203, 115, 115, 176, 7976 115, 453, 115, 115, 211, 452, 115, 115, 451, 929, 7977 115, 466, 115, 466, 449, 115, 965, 115, 115, 931, 7978 115, 933, 454, 115, 1161, 115, 934, 115, 115, 936, 7979 453, 980, 115, 910, 452, 115, 1161, 115, 115, 1161, 7980 1161, 913, 467, 115, 115, 115, 465, 115, 115, 115, 7981 933, 454, 115, 93, 875, 934, 875, 115, 936, 980, 7982 94, 95, 910, 115, 876, 115, 455, 115, 455, 115, 7983 7984 913, 959, 115, 115, 115, 465, 115, 964, 115, 239, 7985 240, 115, 93, 966, 893, 115, 893, 468, 469, 94, 7986 95, 115, 241, 1161, 894, 115, 1161, 456, 115, 115, 7987 959, 203, 457, 115, 458, 115, 964, 459, 239, 240, 7988 115, 460, 966, 1161, 461, 468, 469, 462, 463, 472, 7989 241, 464, 115, 115, 115, 115, 470, 115, 115, 471, 7990 115, 457, 989, 458, 991, 884, 459, 884, 115, 460, 7991 1161, 115, 461, 1161, 115, 462, 463, 981, 472, 464, 7992 973, 115, 115, 115, 115, 470, 115, 115, 471, 115, 7993 115, 989, 474, 991, 473, 115, 115, 984, 115, 115, 7994 7995 986, 115, 115, 115, 896, 981, 896, 987, 973, 115, 7996 1161, 115, 476, 954, 1161, 115, 115, 115, 988, 115, 7997 115, 474, 473, 990, 115, 984, 477, 115, 986, 115, 7998 1010, 115, 115, 1161, 115, 987, 115, 115, 115, 961, 7999 476, 954, 478, 115, 115, 115, 988, 1161, 1005, 115, 8000 115, 990, 1161, 1013, 477, 1161, 1161, 115, 479, 1010, 8001 115, 115, 115, 1161, 1161, 115, 115, 115, 961, 1014, 8002 478, 1027, 115, 998, 948, 998, 1005, 1015, 115, 203, 8003 115, 480, 1013, 115, 115, 115, 479, 481, 115, 115, 8004 115, 484, 483, 484, 488, 115, 488, 1014, 188, 1027, 8005 8006 482, 485, 115, 115, 489, 1017, 1015, 1018, 115, 480, 8007 1161, 1161, 115, 115, 1035, 1021, 481, 115, 115, 1036, 8008 115, 483, 203, 1028, 115, 115, 1031, 115, 482, 115, 8009 115, 115, 115, 1016, 1017, 486, 1018, 1161, 490, 115, 8010 492, 1032, 1035, 115, 1021, 487, 115, 1036, 491, 115, 8011 1043, 1161, 1028, 115, 115, 1031, 115, 1161, 115, 1022, 8012 115, 115, 1016, 486, 493, 115, 490, 115, 492, 1033, 8013 1032, 115, 115, 487, 115, 1034, 491, 115, 1043, 115, 8014 115, 115, 1045, 188, 495, 115, 115, 1161, 1022, 115, 8015 1046, 494, 496, 493, 115, 1161, 1161, 115, 1033, 115, 8016 8017 115, 115, 115, 1050, 1034, 1161, 115, 115, 1161, 115, 8018 115, 1045, 1049, 495, 115, 115, 115, 115, 1046, 494, 8019 496, 497, 115, 1041, 948, 1041, 115, 115, 115, 1051, 8020 498, 115, 1050, 115, 115, 1161, 115, 500, 115, 115, 8021 1049, 499, 115, 852, 115, 852, 115, 1052, 1161, 497, 8022 1161, 115, 115, 115, 115, 1161, 115, 1051, 498, 115, 8023 1053, 1161, 115, 115, 115, 1061, 500, 115, 115, 1060, 8024 499, 115, 501, 115, 115, 1161, 1052, 115, 925, 115, 8025 115, 115, 115, 115, 115, 203, 1064, 502, 115, 1053, 8026 503, 926, 1065, 115, 1061, 1161, 115, 1060, 504, 1066, 8027 8028 501, 115, 203, 115, 115, 211, 115, 925, 115, 115, 8029 505, 115, 1161, 1161, 1064, 502, 1072, 1056, 503, 926, 8030 1065, 115, 1076, 115, 115, 115, 504, 1066, 1161, 115, 8031 115, 1161, 507, 115, 115, 1161, 506, 115, 115, 505, 8032 508, 1057, 115, 1161, 115, 1072, 1056, 1055, 115, 1075, 8033 1076, 115, 1161, 211, 115, 1079, 115, 509, 115, 115, 8034 115, 507, 115, 115, 506, 115, 115, 115, 508, 115, 8035 1057, 115, 115, 1078, 115, 1055, 115, 512, 1075, 115, 8036 510, 115, 511, 1079, 115, 509, 1161, 1161, 115, 115, 8037 1161, 115, 115, 1058, 115, 115, 115, 115, 115, 513, 8038 8039 115, 1161, 1078, 115, 1085, 515, 512, 115, 510, 115, 8040 511, 115, 115, 1161, 115, 115, 115, 115, 115, 514, 8041 115, 115, 1058, 115, 115, 516, 115, 1086, 513, 115, 8042 211, 517, 1085, 515, 115, 1161, 203, 115, 115, 115, 8043 1161, 115, 115, 115, 115, 115, 115, 115, 514, 115, 8044 115, 211, 115, 521, 516, 521, 1086, 518, 1161, 517, 8045 519, 115, 115, 522, 115, 115, 115, 115, 1070, 948, 8046 1070, 1081, 115, 1161, 115, 1084, 1089, 1161, 520, 115, 8047 115, 1090, 115, 203, 1083, 518, 115, 115, 519, 523, 8048 115, 115, 115, 115, 1094, 115, 1161, 1096, 115, 524, 8049 8050 1081, 115, 115, 1084, 1089, 115, 520, 115, 115, 1097, 8051 1090, 115, 115, 1083, 526, 115, 115, 1082, 523, 115, 8052 115, 115, 115, 1094, 115, 1096, 1099, 115, 524, 115, 8053 1161, 115, 525, 115, 1161, 1161, 115, 1097, 115, 115, 8054 115, 1103, 526, 1161, 115, 115, 1082, 1111, 115, 115, 8055 115, 1161, 211, 115, 1099, 1104, 527, 1107, 115, 211, 8056 525, 947, 948, 947, 528, 1161, 115, 1161, 115, 949, 8057 1103, 203, 950, 115, 115, 531, 1111, 539, 1161, 115, 8058 947, 948, 947, 1104, 527, 1107, 115, 1023, 949, 1024, 8059 1161, 950, 528, 540, 540, 540, 540, 540, 540, 540, 8060 8061 540, 540, 540, 541, 947, 948, 947, 1101, 1161, 176, 8062 1161, 1102, 949, 1161, 188, 950, 1023, 1161, 1024, 540, 8063 540, 540, 540, 540, 540, 540, 540, 540, 540, 541, 8064 1000, 1001, 1000, 1161, 1161, 176, 1101, 188, 1002, 1102, 8065 1161, 1003, 1092, 948, 1092, 540, 540, 540, 540, 540, 8066 540, 540, 540, 540, 540, 541, 1109, 948, 1109, 1098, 8067 1115, 176, 115, 115, 1161, 550, 548, 115, 115, 110, 8068 115, 545, 545, 545, 545, 545, 545, 545, 545, 545, 8069 545, 115, 549, 1114, 115, 115, 551, 1098, 1115, 1120, 8070 115, 115, 115, 554, 550, 548, 115, 115, 1121, 115, 8071 8072 1161, 115, 1161, 1161, 115, 552, 115, 1161, 1161, 115, 8073 549, 1114, 115, 1127, 115, 551, 1123, 1120, 482, 115, 8074 115, 115, 1161, 115, 115, 553, 115, 1121, 115, 115, 8075 115, 203, 115, 1161, 552, 115, 947, 948, 947, 1129, 8076 115, 1127, 115, 115, 949, 1123, 482, 950, 115, 1161, 8077 115, 203, 115, 115, 553, 115, 211, 115, 115, 1161, 8078 1161, 1000, 1001, 1000, 1161, 1161, 1116, 1129, 115, 1002, 8079 115, 115, 1003, 383, 383, 383, 383, 383, 383, 383, 8080 383, 383, 383, 211, 1161, 1000, 1001, 1000, 1117, 1118, 8081 1117, 1161, 565, 1002, 1132, 1116, 1003, 1131, 1136, 1161, 8082 8083 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, 8084 211, 1161, 1042, 1001, 1042, 1117, 1118, 1117, 1142, 567, 8085 949, 565, 1132, 950, 1161, 1131, 1136, 383, 383, 383, 8086 383, 383, 383, 383, 383, 383, 383, 405, 405, 405, 8087 405, 405, 405, 405, 405, 405, 405, 1142, 567, 405, 8088 405, 405, 405, 405, 405, 405, 405, 405, 405, 407, 8089 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 8090 407, 407, 407, 407, 407, 407, 407, 407, 407, 409, 8091 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 8092 409, 409, 409, 409, 409, 409, 409, 409, 409, 424, 8093 8094 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 8095 424, 424, 424, 424, 424, 424, 424, 424, 424, 426, 8096 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 8097 426, 426, 426, 426, 426, 426, 426, 426, 426, 428, 8098 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 8099 428, 428, 428, 428, 428, 428, 428, 428, 428, 588, 8100 211, 588, 1161, 1161, 589, 589, 589, 589, 589, 589, 8101 589, 589, 589, 589, 430, 430, 430, 430, 430, 430, 8102 430, 430, 430, 430, 1161, 115, 1161, 115, 1161, 590, 8103 115, 590, 115, 429, 591, 591, 591, 591, 591, 591, 8104 8105 591, 591, 591, 591, 115, 592, 115, 115, 115, 593, 8106 203, 1119, 115, 115, 115, 1161, 115, 1141, 188, 115, 8107 1161, 115, 429, 1161, 115, 1161, 115, 115, 594, 115, 8108 115, 1161, 115, 592, 115, 115, 115, 115, 593, 1119, 8109 1161, 115, 115, 115, 1161, 1141, 115, 203, 595, 115, 8110 1149, 115, 1161, 115, 115, 115, 1146, 594, 115, 115, 8111 1161, 1161, 596, 1161, 115, 115, 188, 115, 115, 115, 8112 1161, 115, 597, 115, 115, 115, 595, 115, 188, 1149, 8113 115, 115, 1161, 598, 1146, 115, 203, 115, 115, 115, 8114 115, 596, 1144, 115, 115, 188, 115, 115, 115, 203, 8115 8116 599, 597, 115, 115, 115, 115, 1161, 188, 115, 115, 8117 115, 598, 1161, 600, 115, 115, 115, 1130, 115, 115, 8118 1144, 115, 115, 115, 115, 601, 115, 115, 599, 1143, 8119 115, 1157, 115, 602, 115, 115, 115, 1148, 1161, 115, 8120 115, 115, 600, 603, 1145, 1130, 1124, 948, 1124, 115, 8121 115, 115, 115, 1161, 601, 115, 115, 1143, 1151, 115, 8122 1157, 602, 115, 1161, 115, 1148, 188, 115, 115, 115, 8123 115, 603, 1145, 605, 115, 115, 203, 115, 606, 115, 8124 1161, 115, 1161, 1161, 203, 608, 1151, 608, 1161, 115, 8125 1161, 115, 607, 115, 1161, 1161, 115, 1161, 1161, 115, 8126 8127 1161, 605, 1147, 115, 115, 1161, 1161, 606, 115, 115, 8128 115, 1153, 1154, 1153, 115, 115, 1161, 115, 115, 115, 8129 607, 115, 1161, 115, 1161, 1155, 609, 1161, 619, 115, 8130 620, 1147, 1161, 115, 1161, 1152, 1161, 115, 1161, 115, 8131 610, 115, 1161, 115, 115, 115, 621, 115, 115, 1161, 8132 115, 1161, 115, 1155, 203, 609, 619, 115, 620, 622, 8133 115, 115, 115, 1152, 115, 115, 1161, 115, 610, 455, 8134 115, 455, 1161, 1161, 115, 621, 1153, 1154, 1153, 115, 8135 1161, 629, 1161, 1161, 115, 1161, 1161, 622, 115, 115, 8136 1156, 115, 115, 1159, 1160, 1159, 115, 1159, 1160, 1159, 8137 8138 456, 623, 1161, 115, 1161, 611, 115, 612, 1161, 629, 8139 613, 115, 203, 115, 614, 1161, 1161, 615, 115, 1156, 8140 616, 617, 1161, 1161, 618, 115, 1161, 1161, 1161, 623, 8141 626, 115, 1161, 1161, 611, 115, 612, 1161, 115, 613, 8142 115, 1161, 614, 115, 1161, 615, 115, 1161, 616, 617, 8143 624, 115, 618, 115, 115, 115, 1161, 637, 626, 115, 8144 115, 627, 1161, 1158, 1161, 115, 625, 115, 1161, 1161, 8145 1161, 1161, 115, 115, 115, 115, 628, 1161, 1161, 624, 8146 115, 1161, 1161, 115, 115, 637, 1161, 1161, 115, 115, 8147 627, 1158, 1161, 115, 625, 1161, 1161, 1161, 1161, 1161, 8148 8149 1161, 115, 115, 1161, 628, 630, 630, 630, 630, 630, 8150 630, 630, 630, 630, 630, 630, 1161, 630, 630, 630, 8151 630, 630, 631, 630, 632, 632, 632, 632, 632, 632, 8152 632, 632, 632, 632, 630, 630, 630, 630, 630, 633, 8153 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 8154 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 8155 633, 633, 633, 633, 633, 630, 630, 633, 633, 633, 8156 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 8157 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 8158 633, 633, 633, 630, 115, 1161, 635, 638, 635, 115, 8159 8160 1161, 1161, 115, 115, 1000, 1001, 1000, 1161, 115, 1161, 8161 1161, 634, 1002, 115, 1161, 1003, 115, 1161, 1161, 1161, 8162 1161, 1161, 639, 115, 1161, 1161, 638, 636, 115, 115, 8163 115, 115, 115, 1161, 115, 115, 1161, 115, 115, 634, 8164 1161, 115, 1161, 115, 115, 1161, 641, 1161, 115, 115, 8165 639, 1161, 1161, 1161, 1161, 1161, 1161, 115, 115, 115, 8166 115, 1161, 1161, 115, 115, 115, 1161, 115, 115, 1161, 8167 1161, 1161, 115, 115, 1161, 641, 115, 115, 1161, 115, 8168 642, 1161, 1161, 1161, 1161, 115, 1161, 643, 1161, 115, 8169 115, 1161, 1161, 1161, 115, 115, 1161, 115, 644, 115, 8170 8171 1161, 1161, 115, 1161, 115, 645, 1161, 115, 642, 115, 8172 1161, 1161, 646, 1161, 1161, 643, 1161, 1161, 115, 115, 8173 1161, 1000, 1001, 1000, 115, 1161, 1161, 644, 115, 1002, 8174 115, 650, 1003, 115, 645, 115, 115, 115, 647, 115, 8175 646, 648, 115, 1161, 115, 1161, 115, 115, 1161, 115, 8176 115, 1161, 1161, 1161, 1161, 1161, 649, 1161, 115, 115, 8177 650, 115, 1161, 1161, 115, 115, 1161, 647, 115, 115, 8178 648, 115, 1161, 115, 115, 652, 115, 115, 115, 1161, 8179 115, 1161, 1161, 651, 649, 1161, 115, 1161, 115, 115, 8180 1161, 115, 1161, 1161, 115, 115, 115, 1161, 115, 1161, 8181 8182 115, 1161, 653, 115, 652, 1161, 654, 115, 1161, 115, 8183 115, 651, 115, 1161, 115, 1161, 115, 1161, 115, 1161, 8184 115, 1161, 115, 115, 115, 115, 115, 115, 1161, 115, 8185 653, 1161, 115, 1161, 654, 655, 115, 115, 115, 115, 8186 1161, 115, 115, 115, 115, 1161, 115, 115, 115, 1161, 8187 115, 1161, 115, 1161, 115, 115, 115, 1161, 115, 1161, 8188 1161, 115, 115, 1161, 655, 115, 115, 1161, 115, 659, 8189 115, 115, 115, 115, 115, 115, 1161, 115, 1161, 115, 8190 656, 1161, 657, 1161, 115, 115, 115, 115, 1161, 115, 8191 115, 658, 115, 115, 1161, 115, 661, 659, 115, 115, 8192 8193 115, 115, 1161, 1161, 115, 1161, 115, 1161, 656, 1161, 8194 657, 1161, 660, 115, 1161, 115, 115, 115, 115, 115, 8195 658, 115, 115, 115, 115, 661, 1161, 115, 1161, 664, 8196 115, 1071, 948, 1071, 115, 662, 1161, 115, 115, 949, 8197 660, 115, 950, 115, 1161, 1161, 115, 115, 115, 663, 8198 115, 1161, 115, 115, 1161, 115, 1161, 115, 1161, 1161, 8199 115, 1161, 115, 662, 1161, 115, 115, 1161, 1161, 115, 8200 115, 1161, 1161, 1161, 665, 115, 115, 1161, 663, 115, 8201 1161, 1161, 115, 1161, 115, 1161, 115, 115, 115, 115, 8202 115, 115, 1161, 666, 115, 115, 1161, 115, 1161, 1161, 8203 8204 1161, 115, 665, 668, 115, 1161, 667, 1161, 115, 115, 8205 1161, 115, 1161, 1161, 1161, 1161, 115, 1161, 115, 115, 8206 115, 666, 115, 115, 115, 115, 1161, 115, 115, 115, 8207 669, 668, 1161, 115, 667, 1161, 115, 115, 670, 115, 8208 1161, 115, 1161, 1161, 1161, 115, 1161, 115, 1161, 115, 8209 115, 115, 1161, 115, 115, 1161, 115, 115, 115, 669, 8210 1161, 115, 115, 1161, 115, 115, 115, 115, 1161, 115, 8211 115, 1161, 115, 1161, 115, 115, 1161, 1161, 1161, 115, 8212 115, 1161, 115, 1161, 115, 1161, 115, 115, 115, 1161, 8213 115, 115, 115, 115, 115, 115, 1161, 1161, 1161, 115, 8214 8215 115, 1161, 671, 1161, 1161, 115, 1161, 115, 115, 115, 8216 1161, 1161, 115, 672, 115, 115, 1161, 115, 115, 1161, 8217 115, 115, 115, 115, 1161, 1161, 115, 1161, 115, 1161, 8218 671, 1161, 1161, 115, 1161, 115, 1161, 115, 115, 1161, 8219 115, 115, 672, 115, 115, 673, 115, 115, 674, 115, 8220 115, 1161, 115, 1161, 1161, 115, 115, 1161, 1161, 1161, 8221 115, 698, 1161, 115, 1161, 115, 115, 1161, 115, 1161, 8222 115, 1161, 1161, 115, 673, 115, 1161, 674, 115, 677, 8223 115, 684, 1161, 1161, 1161, 1093, 948, 1093, 115, 1161, 8224 698, 115, 1161, 949, 1161, 115, 950, 685, 685, 685, 8225 8226 685, 685, 685, 685, 685, 685, 685, 686, 115, 1110, 8227 948, 1110, 1161, 176, 1161, 1161, 1161, 949, 1161, 1161, 8228 950, 1161, 1161, 685, 685, 685, 685, 685, 685, 685, 8229 685, 685, 685, 686, 693, 1161, 693, 1161, 1161, 176, 8230 1161, 1161, 1161, 1161, 694, 1161, 1161, 1161, 1161, 685, 8231 685, 685, 685, 685, 685, 685, 685, 685, 685, 686, 8232 697, 1161, 697, 1161, 1161, 176, 696, 115, 1161, 1161, 8233 695, 115, 115, 110, 600, 690, 690, 690, 690, 690, 8234 690, 690, 690, 690, 690, 115, 115, 1161, 1161, 1161, 8235 1161, 1161, 1161, 115, 1161, 696, 115, 1161, 115, 695, 8236 8237 115, 115, 115, 600, 1161, 115, 1161, 115, 645, 732, 8238 115, 1161, 115, 115, 115, 646, 1161, 1161, 700, 699, 8239 700, 115, 115, 1161, 115, 1161, 1161, 115, 701, 1161, 8240 1161, 115, 702, 1161, 115, 1161, 115, 645, 732, 115, 8241 115, 211, 1161, 646, 1161, 1161, 1161, 699, 1161, 115, 8242 1161, 115, 115, 709, 1161, 709, 115, 1161, 710, 710, 8243 710, 710, 710, 710, 710, 710, 710, 710, 1161, 211, 8244 115, 1126, 948, 1126, 1161, 1161, 1161, 1161, 1161, 949, 8245 115, 1161, 950, 1161, 1161, 115, 566, 566, 566, 566, 8246 566, 566, 566, 566, 566, 566, 211, 1161, 115, 1161, 8247 8248 1161, 947, 948, 947, 1161, 565, 1161, 1161, 711, 949, 8249 711, 1161, 950, 712, 712, 712, 712, 712, 712, 712, 8250 712, 712, 712, 589, 589, 589, 589, 589, 589, 589, 8251 589, 589, 589, 1161, 565, 589, 589, 589, 589, 589, 8252 589, 589, 589, 589, 589, 591, 591, 591, 591, 591, 8253 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 8254 591, 591, 591, 591, 591, 733, 1161, 1161, 115, 1161, 8255 115, 1161, 1161, 115, 947, 948, 947, 1161, 1000, 1001, 8256 1000, 1161, 949, 737, 115, 950, 1002, 115, 1161, 1003, 8257 1161, 1161, 1161, 1161, 733, 1161, 1161, 115, 1161, 115, 8258 8259 1161, 1161, 115, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8260 1161, 737, 115, 718, 718, 115, 718, 718, 718, 718, 8261 718, 718, 718, 718, 718, 718, 718, 718, 718, 718, 8262 734, 718, 735, 735, 735, 735, 735, 735, 735, 735, 8263 735, 735, 718, 718, 718, 718, 718, 736, 736, 736, 8264 736, 736, 736, 736, 736, 736, 736, 736, 736, 736, 8265 736, 736, 736, 736, 736, 736, 736, 736, 736, 736, 8266 736, 736, 736, 718, 718, 736, 736, 736, 736, 736, 8267 736, 736, 736, 736, 736, 736, 736, 736, 736, 736, 8268 736, 736, 736, 736, 736, 736, 736, 736, 736, 736, 8269 8270 736, 718, 115, 115, 738, 115, 115, 115, 115, 115, 8271 115, 115, 1161, 740, 115, 1161, 1161, 1161, 739, 741, 8272 1161, 115, 115, 1161, 115, 115, 1161, 1161, 115, 1161, 8273 1161, 115, 115, 738, 115, 115, 115, 115, 115, 115, 8274 115, 1161, 740, 115, 1161, 1161, 739, 741, 1161, 115, 8275 115, 1161, 115, 115, 115, 115, 115, 115, 1161, 115, 8276 115, 115, 115, 1161, 1161, 745, 115, 1161, 1161, 742, 8277 1161, 1161, 1161, 115, 115, 743, 115, 1161, 1161, 1161, 8278 115, 1161, 1161, 115, 115, 1161, 115, 115, 115, 115, 8279 115, 115, 115, 1161, 745, 115, 1161, 742, 746, 1161, 8280 8281 1161, 115, 115, 743, 115, 1161, 115, 1161, 115, 115, 8282 115, 1161, 1161, 115, 750, 115, 115, 747, 115, 1161, 8283 751, 115, 1161, 1161, 1161, 1161, 746, 1161, 115, 115, 8284 1161, 1161, 115, 1161, 115, 115, 115, 1161, 115, 115, 8285 115, 115, 115, 750, 115, 1161, 747, 115, 1161, 751, 8286 1161, 1161, 1161, 1161, 115, 115, 115, 115, 115, 1161, 8287 115, 1161, 1161, 115, 115, 115, 1161, 1161, 1161, 115, 8288 115, 761, 1161, 1161, 115, 115, 1161, 115, 762, 115, 8289 115, 1161, 115, 115, 1161, 1161, 1161, 115, 763, 1161, 8290 1161, 115, 115, 115, 115, 1161, 115, 1161, 1161, 761, 8291 8292 1161, 1161, 764, 115, 115, 115, 1161, 762, 115, 115, 8293 115, 1161, 115, 765, 115, 1161, 763, 115, 768, 115, 8294 115, 115, 115, 115, 1161, 115, 1161, 1161, 1161, 766, 8295 764, 115, 1161, 115, 1161, 115, 1161, 115, 115, 767, 8296 115, 115, 765, 115, 1161, 1161, 115, 768, 115, 1161, 8297 1161, 1161, 115, 769, 115, 769, 1161, 766, 1161, 115, 8298 1161, 115, 1161, 258, 115, 115, 1161, 1161, 767, 115, 8299 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 8300 115, 1161, 115, 115, 770, 115, 115, 115, 115, 115, 8301 1161, 115, 115, 1161, 115, 1161, 1161, 1161, 1161, 115, 8302 8303 771, 1161, 115, 1161, 1161, 115, 115, 1161, 115, 115, 8304 1161, 1161, 115, 1161, 115, 115, 115, 115, 115, 115, 8305 115, 115, 1161, 115, 115, 1161, 1161, 115, 771, 1161, 8306 115, 1161, 1161, 115, 115, 115, 115, 1161, 772, 115, 8307 115, 774, 115, 773, 115, 775, 115, 115, 115, 1161, 8308 1161, 115, 1161, 115, 115, 1161, 1161, 1161, 115, 1161, 8309 1161, 115, 115, 1161, 115, 115, 772, 115, 115, 115, 8310 774, 115, 773, 115, 775, 115, 115, 1161, 1161, 776, 8311 115, 115, 115, 115, 1161, 115, 115, 777, 115, 115, 8312 115, 115, 115, 115, 780, 1161, 115, 115, 1161, 115, 8313 8314 1161, 1161, 115, 1161, 778, 779, 1161, 776, 1161, 115, 8315 1161, 115, 115, 115, 115, 1161, 777, 115, 1161, 115, 8316 1161, 115, 1161, 780, 1161, 1161, 115, 1161, 115, 115, 8317 115, 781, 778, 779, 115, 115, 1161, 1161, 1161, 115, 8318 115, 115, 1161, 1161, 1161, 1161, 782, 1161, 115, 1161, 8319 1161, 1161, 1161, 1161, 115, 1161, 1161, 1161, 115, 1161, 8320 781, 115, 1161, 115, 115, 115, 115, 783, 1161, 115, 8321 115, 1161, 784, 115, 782, 1161, 115, 785, 115, 1161, 8322 115, 1161, 115, 1161, 115, 1161, 1161, 1161, 1161, 1161, 8323 115, 1161, 115, 1161, 115, 115, 783, 1161, 115, 115, 8324 8325 784, 1161, 115, 787, 1161, 115, 785, 115, 115, 115, 8326 115, 1161, 115, 786, 115, 1161, 1161, 115, 1161, 1161, 8327 115, 1161, 788, 1161, 115, 115, 1161, 115, 115, 789, 8328 115, 1161, 787, 1161, 115, 1161, 115, 1161, 115, 115, 8329 1161, 115, 786, 115, 115, 115, 1161, 1161, 115, 1161, 8330 788, 1161, 115, 115, 115, 115, 115, 115, 789, 115, 8331 1161, 790, 115, 1161, 1161, 115, 1161, 115, 115, 792, 8332 115, 1161, 115, 115, 115, 1161, 115, 115, 1161, 1161, 8333 1161, 1161, 115, 115, 1161, 1161, 115, 791, 115, 1161, 8334 790, 115, 1161, 1161, 115, 115, 793, 115, 792, 115, 8335 8336 115, 115, 115, 115, 115, 115, 115, 1161, 1161, 1161, 8337 1161, 1161, 1161, 115, 1161, 791, 115, 1161, 795, 115, 8338 796, 1161, 1161, 115, 1161, 793, 115, 1161, 115, 115, 8339 115, 115, 1161, 1161, 115, 115, 1161, 115, 1161, 797, 8340 798, 115, 115, 1161, 1161, 115, 795, 115, 796, 115, 8341 1161, 1161, 1161, 115, 115, 115, 115, 115, 115, 1161, 8342 115, 1161, 115, 1161, 1161, 1161, 115, 797, 799, 798, 8343 1161, 115, 801, 115, 115, 1161, 115, 800, 115, 115, 8344 115, 1161, 115, 115, 115, 115, 115, 115, 1161, 1161, 8345 1161, 115, 1161, 115, 1161, 1161, 799, 1161, 1161, 115, 8346 8347 801, 1161, 1161, 115, 115, 800, 1161, 1161, 115, 115, 8348 1161, 1161, 176, 1161, 115, 1161, 1161, 1161, 176, 115, 8349 1161, 115, 1161, 816, 115, 1161, 110, 115, 111, 111, 8350 111, 111, 111, 111, 111, 111, 111, 111, 115, 115, 8351 115, 115, 1161, 1161, 115, 115, 819, 817, 115, 1161, 8352 1161, 818, 816, 115, 1161, 1161, 1161, 1161, 115, 115, 8353 115, 1161, 1161, 1161, 1161, 1161, 115, 1161, 115, 115, 8354 115, 1161, 211, 115, 115, 819, 817, 1161, 1161, 818, 8355 1161, 1161, 211, 1161, 1161, 1161, 115, 115, 115, 710, 8356 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 8357 8358 710, 710, 710, 710, 710, 710, 710, 710, 710, 211, 8359 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 211, 8360 1161, 1161, 1161, 1161, 1161, 1161, 712, 712, 712, 712, 8361 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, 8362 712, 712, 712, 712, 712, 712, 823, 823, 211, 823, 8363 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 8364 823, 823, 823, 828, 823, 829, 829, 829, 829, 829, 8365 829, 829, 829, 829, 829, 823, 823, 823, 823, 823, 8366 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 8367 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 8368 8369 830, 830, 830, 830, 830, 830, 823, 823, 830, 830, 8370 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 8371 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 8372 830, 830, 830, 830, 823, 832, 77, 832, 1161, 1161, 8373 833, 833, 1161, 833, 1161, 1161, 1161, 833, 833, 1161, 8374 1161, 833, 1161, 1161, 833, 833, 833, 833, 833, 833, 8375 833, 833, 833, 831, 831, 1161, 831, 831, 831, 831, 8376 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 8377 841, 831, 842, 842, 842, 842, 842, 842, 842, 842, 8378 842, 842, 831, 831, 831, 831, 831, 843, 843, 843, 8379 8380 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 8381 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 8382 843, 843, 843, 831, 831, 843, 843, 843, 843, 843, 8383 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 8384 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 8385 843, 831, 115, 1161, 1161, 258, 1161, 115, 257, 257, 8386 257, 257, 257, 257, 257, 257, 257, 257, 115, 845, 8387 1161, 844, 115, 115, 115, 115, 1161, 115, 1161, 1161, 8388 115, 115, 1161, 1161, 1161, 1161, 115, 115, 115, 1161, 8389 1161, 115, 1161, 1161, 846, 115, 1161, 115, 845, 844, 8390 8391 115, 115, 115, 115, 115, 1161, 115, 115, 1161, 115, 8392 1161, 1161, 115, 1161, 115, 115, 115, 1161, 115, 115, 8393 1161, 1161, 846, 115, 115, 1161, 115, 1161, 1161, 115, 8394 847, 1161, 1161, 1161, 1161, 1161, 115, 115, 848, 1161, 8395 1161, 115, 115, 115, 1161, 849, 1161, 115, 115, 1161, 8396 115, 115, 115, 1161, 115, 115, 115, 1161, 847, 850, 8397 1161, 852, 115, 852, 1161, 115, 848, 1161, 1161, 115, 8398 115, 1161, 115, 115, 849, 1161, 1161, 115, 115, 115, 8399 115, 1161, 115, 1161, 115, 115, 855, 115, 850, 1161, 8400 115, 1161, 115, 1161, 115, 1161, 853, 115, 115, 115, 8401 8402 1161, 115, 115, 1161, 1161, 1161, 1161, 115, 1161, 854, 8403 1161, 115, 1161, 115, 115, 855, 115, 1161, 858, 115, 8404 115, 1161, 1161, 115, 1161, 853, 115, 1161, 115, 115, 8405 1161, 115, 1161, 115, 115, 1161, 866, 854, 1161, 115, 8406 1161, 115, 1161, 115, 1161, 115, 867, 858, 115, 1161, 8407 1161, 115, 1161, 115, 1161, 115, 115, 868, 1161, 1161, 8408 115, 115, 1161, 115, 1161, 866, 1161, 1161, 115, 1161, 8409 115, 115, 115, 115, 867, 869, 115, 115, 115, 1161, 8410 115, 115, 871, 115, 1161, 115, 868, 1161, 1161, 870, 8411 115, 115, 1161, 1161, 874, 1161, 1161, 115, 115, 115, 8412 8413 115, 115, 1161, 115, 869, 115, 115, 115, 115, 1161, 8414 115, 871, 115, 115, 875, 115, 875, 870, 115, 115, 8415 872, 873, 115, 874, 876, 115, 115, 1161, 115, 115, 8416 1161, 115, 115, 1161, 1161, 1161, 1161, 115, 1161, 115, 8417 877, 115, 1161, 1161, 115, 115, 115, 115, 872, 873, 8418 115, 115, 115, 1161, 878, 115, 1161, 115, 115, 1161, 8419 115, 1161, 879, 115, 1161, 115, 115, 115, 877, 115, 8420 1161, 880, 115, 115, 115, 115, 115, 115, 1161, 1161, 8421 115, 115, 1161, 878, 1161, 1161, 115, 115, 115, 1161, 8422 115, 879, 115, 115, 115, 115, 115, 1161, 115, 115, 8423 8424 880, 115, 1161, 115, 115, 115, 1161, 881, 1161, 115, 8425 115, 1161, 1161, 1161, 115, 115, 115, 882, 115, 115, 8426 1161, 883, 115, 1161, 115, 1161, 1161, 115, 115, 115, 8427 1161, 115, 1161, 115, 1161, 881, 115, 115, 1161, 115, 8428 1161, 115, 115, 115, 115, 882, 115, 115, 115, 883, 8429 115, 115, 1161, 884, 1161, 884, 115, 115, 1161, 1161, 8430 115, 115, 115, 115, 1161, 115, 1161, 1161, 115, 115, 8431 1161, 115, 115, 1161, 115, 1161, 115, 115, 115, 115, 8432 1161, 886, 115, 888, 1161, 1161, 115, 1161, 115, 115, 8433 115, 115, 115, 115, 115, 1161, 1161, 115, 887, 115, 8434 8435 1161, 885, 115, 115, 1161, 115, 1161, 1161, 115, 886, 8436 115, 1161, 888, 889, 1161, 115, 1161, 115, 1161, 115, 8437 115, 115, 1161, 115, 115, 1161, 887, 115, 115, 885, 8438 115, 891, 115, 115, 1161, 1161, 890, 1161, 115, 115, 8439 1161, 889, 1161, 1161, 115, 1161, 115, 1161, 115, 1161, 8440 1161, 892, 1161, 115, 1161, 1161, 115, 1161, 115, 1161, 8441 891, 115, 115, 1161, 890, 1161, 115, 115, 115, 1161, 8442 115, 115, 1161, 115, 115, 115, 115, 1161, 895, 892, 8443 1161, 115, 115, 1161, 1161, 1161, 115, 115, 1161, 115, 8444 115, 115, 1161, 115, 1161, 896, 115, 896, 115, 115, 8445 8446 115, 115, 1161, 1161, 115, 115, 1161, 895, 1161, 115, 8447 1161, 115, 115, 1161, 1161, 1161, 115, 115, 115, 115, 8448 115, 1161, 115, 1161, 115, 115, 115, 115, 115, 115, 8449 897, 906, 1161, 115, 1161, 1161, 1161, 1161, 898, 115, 8450 115, 1161, 1161, 1161, 1161, 115, 1161, 115, 115, 115, 8451 1161, 115, 1161, 115, 115, 115, 115, 115, 1161, 897, 8452 906, 1161, 115, 1161, 907, 1161, 898, 115, 1161, 908, 8453 115, 908, 1161, 115, 258, 115, 802, 77, 804, 175, 8454 115, 1161, 1161, 1161, 1161, 115, 1161, 1161, 1161, 1161, 8455 909, 115, 907, 1161, 1161, 115, 115, 1161, 115, 1161, 8456 8457 1161, 1161, 115, 1161, 1161, 1161, 1161, 115, 1161, 115, 8458 115, 177, 178, 1161, 1161, 179, 1161, 180, 1161, 909, 8459 115, 115, 1161, 1161, 115, 115, 1161, 1161, 341, 182, 8460 1161, 115, 1161, 1161, 1161, 1161, 115, 115, 115, 1161, 8461 177, 178, 1161, 1161, 179, 1161, 180, 1161, 1161, 115, 8462 1161, 1161, 1161, 1161, 1161, 1161, 341, 182, 912, 912, 8463 211, 912, 912, 912, 912, 912, 912, 912, 912, 912, 8464 912, 912, 912, 912, 912, 914, 912, 915, 915, 915, 8465 915, 915, 915, 915, 915, 915, 915, 912, 912, 912, 8466 912, 912, 916, 916, 916, 916, 916, 916, 916, 916, 8467 8468 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 8469 916, 916, 916, 916, 916, 916, 916, 916, 912, 912, 8470 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 8471 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 8472 916, 916, 916, 916, 916, 916, 912, 211, 257, 257, 8473 257, 257, 257, 257, 257, 257, 257, 257, 1161, 1161, 8474 1161, 1161, 1161, 1161, 383, 383, 383, 383, 383, 383, 8475 383, 383, 383, 383, 374, 374, 211, 374, 374, 374, 8476 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 8477 374, 384, 374, 385, 385, 385, 385, 385, 385, 385, 8478 8479 385, 385, 385, 374, 374, 374, 374, 374, 386, 386, 8480 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 8481 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 8482 386, 386, 386, 386, 374, 374, 386, 386, 386, 386, 8483 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 8484 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 8485 386, 386, 374, 115, 1161, 917, 1161, 115, 115, 918, 8486 115, 115, 115, 919, 115, 1161, 115, 1161, 920, 115, 8487 1161, 1161, 115, 1161, 115, 1161, 115, 1161, 1161, 1161, 8488 115, 1161, 115, 115, 917, 1161, 115, 115, 918, 115, 8489 8490 115, 115, 919, 115, 922, 115, 1161, 920, 115, 115, 8491 115, 115, 115, 1161, 115, 921, 115, 1161, 115, 1161, 8492 115, 115, 1161, 115, 1161, 115, 1161, 115, 1161, 1161, 8493 115, 115, 115, 922, 923, 1161, 115, 1161, 115, 115, 8494 115, 927, 1161, 1161, 921, 115, 115, 1161, 928, 115, 8495 115, 115, 115, 1161, 115, 1161, 115, 115, 115, 1161, 8496 115, 115, 923, 115, 1161, 115, 1161, 115, 115, 927, 8497 1161, 115, 115, 1161, 115, 1161, 928, 115, 115, 1161, 8498 930, 115, 115, 115, 1161, 1161, 115, 1161, 115, 1161, 8499 1161, 938, 115, 1161, 939, 1161, 1161, 115, 1161, 115, 8500 8501 1161, 115, 115, 1161, 115, 1161, 115, 1161, 930, 115, 8502 115, 1161, 115, 115, 1161, 941, 1161, 115, 115, 938, 8503 1161, 940, 939, 115, 1161, 1161, 1161, 1161, 1161, 115, 8504 115, 1161, 115, 115, 115, 115, 1161, 1161, 115, 1161, 8505 115, 1161, 115, 942, 941, 1161, 1161, 115, 115, 940, 8506 1161, 115, 1161, 1161, 115, 1161, 1161, 1161, 115, 1161, 8507 115, 115, 1161, 115, 115, 943, 115, 1161, 115, 115, 8508 115, 942, 944, 115, 1161, 115, 115, 1161, 1161, 1161, 8509 115, 945, 115, 1161, 1161, 1161, 1161, 115, 1161, 115, 8510 115, 115, 1161, 115, 943, 115, 115, 115, 115, 115, 8511 8512 1161, 944, 115, 1161, 115, 1161, 951, 1161, 115, 945, 8513 952, 1161, 115, 115, 115, 115, 115, 115, 115, 115, 8514 115, 115, 115, 1161, 1161, 115, 1161, 115, 1161, 1161, 8515 1161, 1161, 115, 115, 951, 115, 115, 1161, 952, 1161, 8516 115, 115, 115, 115, 953, 115, 1161, 115, 115, 1161, 8517 115, 1161, 115, 115, 1161, 115, 1161, 115, 115, 115, 8518 115, 115, 1161, 115, 115, 115, 1161, 1161, 1161, 1161, 8519 115, 115, 956, 953, 1161, 1161, 955, 1161, 115, 115, 8520 1161, 115, 115, 115, 115, 1161, 115, 115, 115, 1161, 8521 115, 115, 1161, 115, 1161, 115, 115, 1161, 115, 115, 8522 8523 956, 957, 115, 1161, 955, 1161, 115, 115, 115, 115, 8524 115, 115, 1161, 115, 1161, 958, 115, 1161, 1161, 115, 8525 115, 115, 115, 962, 115, 115, 115, 115, 115, 957, 8526 115, 115, 1161, 1161, 115, 1161, 115, 115, 115, 115, 8527 115, 115, 115, 969, 958, 115, 1161, 1161, 115, 115, 8528 1161, 115, 962, 115, 1161, 960, 115, 115, 115, 115, 8529 1161, 1161, 115, 115, 115, 1161, 115, 963, 115, 115, 8530 115, 115, 969, 1161, 1161, 1161, 1161, 115, 115, 1161, 8531 1161, 115, 1161, 960, 970, 115, 1161, 1161, 115, 115, 8532 115, 971, 1161, 115, 115, 115, 963, 1161, 1161, 1161, 8533 8534 115, 1161, 1161, 1161, 1161, 1161, 115, 211, 115, 1161, 8535 1161, 1161, 970, 115, 1161, 1161, 115, 975, 115, 1161, 8536 971, 115, 1161, 115, 383, 383, 383, 383, 383, 383, 8537 383, 383, 383, 383, 1161, 115, 115, 115, 1161, 115, 8538 1161, 1161, 115, 976, 115, 115, 975, 1161, 115, 1161, 8539 115, 1161, 1161, 115, 1161, 1161, 115, 1161, 115, 1161, 8540 1161, 1161, 1161, 115, 1161, 977, 115, 115, 115, 115, 8541 115, 115, 976, 115, 115, 115, 1161, 115, 115, 1161, 8542 1161, 1161, 115, 115, 115, 1161, 115, 1161, 115, 978, 8543 1161, 979, 1161, 977, 1161, 115, 1161, 115, 115, 115, 8544 8545 1161, 115, 1161, 115, 115, 115, 115, 115, 1161, 983, 8546 115, 1161, 115, 982, 1161, 1161, 115, 978, 1161, 979, 8547 115, 115, 1161, 1161, 115, 115, 115, 115, 994, 992, 8548 115, 985, 115, 115, 115, 115, 1161, 1161, 983, 115, 8549 115, 982, 1161, 1161, 1161, 1161, 115, 115, 115, 1161, 8550 115, 1161, 115, 1161, 1161, 115, 115, 994, 992, 115, 8551 985, 115, 115, 993, 115, 115, 115, 1161, 115, 1161, 8552 115, 115, 1161, 1161, 115, 115, 1161, 1161, 115, 1161, 8553 1161, 1161, 115, 1161, 995, 115, 996, 115, 115, 1161, 8554 1161, 115, 993, 115, 115, 115, 115, 1161, 1161, 115, 8555 8556 115, 115, 115, 1161, 997, 1161, 115, 115, 1161, 1161, 8557 115, 115, 995, 115, 996, 1161, 115, 1161, 115, 1161, 8558 115, 115, 115, 115, 1161, 115, 1161, 115, 1161, 115, 8559 1161, 115, 997, 1161, 1161, 1161, 115, 115, 115, 115, 8560 1161, 115, 1161, 115, 115, 1004, 1161, 115, 115, 115, 8561 1161, 115, 115, 1006, 1161, 1161, 115, 1161, 115, 115, 8562 1161, 1161, 115, 1161, 115, 115, 115, 1161, 115, 115, 8563 115, 115, 115, 115, 1004, 115, 1161, 115, 115, 1161, 8564 1161, 1006, 1161, 1161, 1161, 115, 115, 1007, 115, 115, 8565 115, 1161, 115, 115, 1161, 115, 1009, 115, 1161, 115, 8566 8567 115, 1161, 1161, 115, 115, 1161, 115, 1161, 115, 115, 8568 1161, 115, 1161, 115, 115, 1007, 1012, 115, 1161, 1161, 8569 1161, 115, 115, 1161, 1161, 1009, 115, 1011, 115, 115, 8570 1161, 1161, 115, 1161, 115, 115, 1161, 115, 115, 115, 8571 115, 115, 1161, 115, 1012, 1020, 115, 1161, 115, 1019, 8572 115, 1161, 115, 1161, 115, 1011, 115, 115, 115, 1161, 8573 115, 115, 1161, 115, 115, 1161, 115, 1161, 115, 115, 8574 115, 115, 1025, 115, 1020, 115, 115, 1019, 1161, 1161, 8575 115, 115, 115, 1161, 115, 1161, 115, 115, 115, 115, 8576 115, 1161, 1161, 115, 1161, 115, 1161, 115, 115, 115, 8577 8578 1025, 115, 115, 115, 115, 1026, 115, 1161, 115, 115, 8579 1161, 1161, 115, 115, 1161, 115, 1161, 1161, 115, 1029, 8580 115, 1161, 115, 115, 115, 1161, 1030, 115, 1161, 115, 8581 115, 115, 1161, 115, 1026, 115, 1161, 1161, 115, 1161, 8582 115, 115, 1161, 115, 115, 115, 115, 1029, 115, 115, 8583 115, 115, 1161, 115, 1161, 1030, 1038, 1161, 115, 1037, 8584 115, 115, 1161, 115, 115, 1161, 115, 115, 1161, 1161, 8585 115, 115, 115, 115, 115, 115, 1161, 1161, 115, 115, 8586 115, 1161, 1161, 1161, 1038, 1161, 1039, 1037, 115, 1161, 8587 115, 115, 115, 115, 1161, 115, 115, 115, 115, 1040, 8588 8589 115, 115, 115, 1161, 115, 115, 1044, 1161, 115, 115, 8590 1161, 1161, 115, 1161, 1039, 1161, 115, 1161, 1161, 115, 8591 115, 1161, 115, 115, 1161, 115, 115, 115, 1040, 115, 8592 1161, 115, 1161, 115, 115, 1044, 1161, 115, 115, 115, 8593 115, 1047, 115, 1161, 115, 1161, 1161, 115, 1161, 115, 8594 1161, 115, 1161, 115, 115, 1161, 115, 1048, 115, 1161, 8595 115, 1161, 1161, 1161, 115, 115, 115, 115, 1161, 115, 8596 1047, 115, 115, 1161, 1161, 1054, 115, 1161, 1161, 115, 8597 1059, 115, 115, 115, 115, 115, 1048, 115, 1161, 115, 8598 115, 1161, 1161, 115, 115, 115, 1161, 115, 115, 1161, 8599 8600 115, 1161, 115, 1054, 115, 115, 1161, 115, 1062, 1059, 8601 115, 115, 1161, 1161, 115, 1161, 115, 1161, 1161, 115, 8602 115, 1161, 115, 115, 115, 115, 115, 115, 1063, 115, 8603 1161, 115, 115, 1161, 1161, 1067, 1062, 1161, 1161, 115, 8604 1161, 115, 1161, 115, 115, 1161, 1161, 115, 1161, 115, 8605 1161, 115, 115, 115, 115, 1068, 115, 1063, 115, 115, 8606 1161, 1161, 1161, 1067, 115, 1161, 115, 115, 115, 115, 8607 115, 115, 1069, 115, 1073, 115, 115, 1161, 115, 1161, 8608 1161, 115, 1161, 1161, 1068, 1161, 1161, 115, 115, 115, 8609 115, 115, 1161, 115, 115, 115, 115, 115, 1161, 115, 8610 8611 1161, 1069, 115, 1073, 115, 1161, 115, 115, 1161, 115, 8612 1080, 1161, 115, 1161, 1161, 115, 115, 115, 1161, 115, 8613 115, 115, 1161, 115, 115, 115, 115, 1087, 115, 1161, 8614 1161, 1161, 1161, 1161, 1088, 115, 115, 115, 1080, 115, 8615 1161, 115, 115, 1161, 115, 115, 115, 1161, 115, 1161, 8616 115, 115, 115, 115, 115, 1161, 1087, 115, 115, 1091, 8617 1161, 1161, 1088, 115, 1161, 115, 1161, 115, 115, 115, 8618 115, 115, 1095, 115, 115, 115, 115, 115, 1161, 1161, 8619 115, 1161, 115, 1161, 1161, 1161, 115, 1091, 115, 1161, 8620 115, 115, 1161, 115, 115, 115, 115, 1161, 115, 115, 8621 8622 115, 1095, 1106, 115, 1161, 115, 1161, 1161, 1161, 1161, 8623 115, 1161, 1161, 115, 1105, 1161, 115, 115, 115, 1161, 8624 115, 1108, 115, 115, 115, 115, 1161, 1161, 115, 115, 8625 1161, 1106, 1161, 1161, 1161, 1161, 115, 1161, 115, 1161, 8626 115, 115, 1105, 115, 1112, 115, 115, 115, 1161, 115, 8627 1108, 115, 115, 115, 115, 1161, 1161, 1161, 115, 115, 8628 1161, 1122, 1161, 1161, 115, 1161, 115, 1161, 115, 115, 8629 1161, 115, 1112, 1161, 115, 1161, 115, 1161, 115, 1161, 8630 1161, 115, 1161, 115, 1161, 1161, 1161, 115, 1161, 1122, 8631 1161, 1161, 1161, 1161, 115, 1161, 115, 1124, 948, 1124, 8632 8633 1161, 1161, 1125, 1125, 1161, 1125, 1161, 1161, 1161, 1125, 8634 1125, 1161, 1161, 1125, 1161, 1161, 1125, 1125, 1125, 1125, 8635 1125, 1125, 1125, 1125, 1125, 115, 115, 1161, 1161, 1161, 8636 115, 115, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1133, 8637 1161, 1161, 1128, 1161, 115, 115, 1161, 1161, 1161, 1161, 8638 1161, 1161, 1161, 1161, 115, 115, 1161, 1161, 1161, 115, 8639 115, 1161, 1161, 1161, 1161, 1161, 1161, 1133, 1161, 1161, 8640 1128, 1161, 115, 115, 947, 948, 947, 1161, 1161, 1134, 8641 1134, 1161, 1135, 1161, 115, 950, 1134, 1134, 1137, 115, 8642 1134, 1161, 1161, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 8643 8644 1134, 1134, 1161, 115, 115, 115, 1161, 1161, 1161, 115, 8645 115, 1161, 1161, 115, 1161, 1161, 1161, 1137, 115, 1161, 8646 1161, 1161, 1161, 115, 115, 1161, 1161, 1161, 1161, 1161, 8647 1161, 115, 1161, 115, 115, 1161, 1161, 1161, 115, 115, 8648 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8649 1161, 115, 115, 64, 64, 64, 64, 64, 64, 64, 8650 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 8651 65, 65, 65, 65, 65, 65, 65, 81, 81, 1161, 8652 81, 81, 81, 81, 81, 81, 81, 81, 81, 84, 8653 84, 1161, 84, 84, 84, 84, 84, 84, 84, 84, 8654 8655 84, 88, 88, 88, 88, 88, 88, 88, 88, 88, 8656 88, 88, 88, 92, 92, 92, 92, 92, 92, 92, 8657 92, 92, 92, 92, 92, 111, 111, 115, 115, 115, 8658 115, 115, 115, 115, 115, 187, 187, 187, 187, 187, 8659 187, 187, 187, 187, 187, 187, 187, 202, 202, 202, 8660 202, 202, 202, 202, 202, 202, 202, 202, 202, 209, 8661 209, 209, 209, 209, 209, 1161, 209, 209, 209, 1161, 8662 209, 232, 232, 232, 232, 232, 232, 232, 232, 232, 8663 232, 232, 232, 101, 1161, 1161, 101, 252, 252, 252, 8664 1161, 1161, 252, 1161, 252, 252, 1161, 252, 252, 343, 8665 8666 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 8667 343, 358, 358, 1161, 358, 358, 358, 358, 358, 358, 8668 358, 358, 358, 371, 371, 371, 371, 371, 371, 1161, 8669 371, 371, 371, 1161, 371, 374, 374, 374, 374, 374, 8670 374, 374, 374, 374, 374, 374, 374, 379, 379, 379, 8671 379, 379, 379, 379, 379, 379, 379, 379, 379, 422, 8672 1161, 1161, 422, 276, 1161, 1161, 1161, 276, 1161, 1161, 8673 1161, 1161, 1161, 276, 558, 558, 558, 558, 558, 558, 8674 558, 558, 558, 558, 558, 558, 718, 718, 1161, 718, 8675 718, 718, 718, 718, 718, 718, 718, 718, 721, 721, 8676 8677 1161, 721, 721, 721, 721, 721, 721, 721, 721, 721, 8678 723, 723, 1161, 723, 723, 723, 723, 723, 723, 723, 8679 723, 723, 88, 88, 88, 88, 88, 88, 88, 88, 8680 88, 88, 88, 88, 726, 726, 726, 726, 726, 726, 8681 726, 726, 726, 726, 726, 726, 92, 92, 92, 92, 8682 92, 92, 92, 92, 92, 92, 92, 92, 728, 728, 8683 728, 728, 728, 728, 728, 728, 728, 728, 728, 728, 8684 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, 8685 812, 812, 814, 814, 1161, 814, 814, 814, 814, 814, 8686 814, 814, 814, 814, 823, 823, 823, 823, 823, 823, 8687 8688 823, 823, 823, 823, 823, 823, 825, 825, 825, 825, 8689 825, 825, 825, 825, 825, 825, 825, 825, 831, 831, 8690 1161, 831, 831, 831, 831, 831, 831, 831, 831, 831, 8691 834, 834, 1161, 834, 834, 834, 834, 834, 834, 834, 8692 834, 834, 81, 81, 1161, 81, 81, 81, 81, 81, 8693 81, 81, 81, 81, 835, 835, 1161, 835, 835, 835, 8694 835, 835, 835, 835, 835, 835, 84, 84, 1161, 84, 8695 84, 84, 84, 84, 84, 84, 84, 84, 837, 837, 8696 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 8697 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 8698 8699 88, 88, 838, 838, 838, 838, 838, 838, 838, 838, 8700 838, 838, 838, 838, 92, 92, 92, 92, 92, 92, 8701 92, 92, 92, 92, 92, 92, 187, 187, 187, 187, 8702 187, 187, 187, 187, 187, 187, 187, 187, 904, 904, 8703 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 8704 358, 358, 1161, 358, 358, 358, 358, 358, 358, 358, 8705 358, 358, 814, 814, 1161, 814, 814, 814, 814, 814, 8706 814, 814, 814, 814, 202, 202, 202, 202, 202, 202, 8707 202, 202, 202, 202, 202, 202, 912, 912, 912, 912, 8708 912, 912, 912, 912, 912, 912, 912, 912, 374, 374, 8709 8710 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 8711 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 8712 379, 379, 825, 825, 825, 825, 825, 825, 825, 825, 8713 825, 825, 825, 825, 946, 946, 946, 946, 946, 946, 8714 946, 946, 946, 946, 946, 946, 999, 999, 999, 999, 8715 999, 999, 999, 999, 999, 999, 999, 999, 13, 1161, 8716 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8717 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8718 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8719 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8720 8721 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8722 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8723 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8724 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8725 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161 7253 50, 51, 52, 42, 53, 42, 42, 54, 14, 55, 7254 56, 57, 58, 222, 69, 68, 69, 70, 72, 76, 7255 7256 77, 76, 1094, 74, 78, 77, 78, 59, 59, 59, 7257 59, 59, 59, 59, 59, 59, 59, 75, 205, 80, 7258 1092, 73, 222, 208, 60, 61, 205, 223, 62, 70, 7259 63, 71, 74, 81, 83, 74, 87, 74, 74, 91, 7260 82, 64, 65, 691, 1070, 75, 92, 93, 80, 75, 7261 73, 75, 75, 60, 61, 223, 225, 62, 70, 63, 7262 71, 81, 83, 96, 74, 111, 74, 74, 84, 64, 7263 65, 209, 74, 88, 74, 74, 94, 75, 226, 75, 7264 75, 97, 85, 255, 74, 225, 75, 89, 75, 75, 7265 95, 227, 107, 83, 239, 74, 1070, 84, 75, 209, 7266 7267 624, 74, 88, 74, 74, 94, 226, 74, 625, 75, 7268 85, 74, 255, 74, 75, 89, 75, 75, 95, 74, 7269 227, 75, 239, 1065, 74, 75, 75, 78, 77, 78, 7270 76, 77, 76, 75, 240, 247, 74, 75, 248, 228, 7271 74, 179, 206, 205, 206, 112, 1030, 179, 74, 75, 7272 98, 74, 98, 75, 78, 77, 78, 224, 77, 224, 7273 1027, 75, 240, 247, 963, 75, 248, 228, 99, 99, 7274 99, 99, 99, 99, 99, 99, 99, 99, 74, 207, 7275 74, 114, 115, 100, 261, 116, 116, 101, 74, 102, 7276 212, 117, 75, 75, 103, 142, 104, 105, 118, 119, 7277 7278 121, 922, 75, 263, 87, 190, 106, 74, 207, 87, 7279 114, 115, 100, 261, 116, 116, 101, 74, 102, 117, 7280 75, 253, 103, 142, 104, 105, 118, 119, 121, 87, 7281 75, 120, 263, 116, 106, 108, 116, 109, 109, 109, 7282 109, 109, 109, 109, 109, 109, 109, 121, 83, 253, 7283 121, 91, 511, 230, 512, 110, 110, 74, 92, 93, 7284 120, 229, 116, 254, 256, 116, 245, 212, 110, 260, 7285 262, 75, 268, 116, 1131, 121, 246, 175, 121, 127, 7286 116, 230, 146, 128, 110, 110, 74, 121, 1131, 129, 7287 229, 254, 256, 130, 121, 245, 110, 260, 262, 75, 7288 7289 122, 268, 116, 1131, 246, 116, 116, 123, 127, 116, 7290 146, 124, 128, 212, 125, 121, 1131, 129, 91, 121, 7291 121, 130, 121, 190, 126, 92, 93, 179, 190, 122, 7292 78, 77, 78, 179, 116, 116, 123, 143, 87, 124, 7293 275, 147, 125, 87, 144, 145, 116, 121, 121, 148, 7294 83, 121, 126, 116, 753, 149, 211, 212, 211, 131, 7295 121, 132, 133, 754, 134, 135, 143, 121, 213, 275, 7296 147, 136, 144, 145, 264, 116, 241, 82, 148, 121, 7297 795, 212, 116, 149, 366, 367, 366, 131, 121, 132, 7298 133, 242, 134, 135, 214, 121, 259, 162, 116, 136, 7299 7300 116, 190, 264, 137, 762, 241, 138, 139, 215, 140, 7301 150, 753, 121, 260, 121, 141, 271, 255, 151, 242, 7302 754, 113, 152, 214, 153, 259, 162, 116, 257, 116, 7303 154, 698, 137, 243, 138, 139, 215, 140, 258, 150, 7304 121, 260, 121, 141, 271, 116, 255, 151, 244, 113, 7305 152, 158, 153, 155, 272, 156, 116, 257, 154, 121, 7306 157, 116, 243, 273, 274, 159, 258, 276, 160, 172, 7307 121, 161, 179, 87, 116, 121, 244, 534, 179, 277, 7308 158, 155, 272, 156, 534, 116, 278, 121, 157, 282, 7309 116, 273, 274, 159, 91, 276, 160, 172, 121, 161, 7310 7311 163, 92, 93, 121, 164, 116, 169, 277, 165, 643, 7312 116, 116, 173, 170, 278, 635, 166, 282, 285, 167, 7313 168, 286, 174, 171, 121, 121, 378, 77, 378, 163, 7314 560, 559, 295, 164, 116, 169, 287, 165, 290, 116, 7315 116, 173, 170, 237, 166, 196, 285, 167, 168, 286, 7316 174, 171, 121, 121, 176, 77, 177, 178, 186, 187, 7317 190, 295, 179, 557, 287, 191, 290, 511, 283, 512, 7318 296, 237, 197, 556, 284, 188, 188, 188, 188, 188, 7319 188, 188, 188, 188, 188, 297, 198, 298, 310, 180, 7320 181, 116, 74, 182, 116, 183, 283, 192, 296, 172, 7321 7322 200, 197, 284, 142, 203, 121, 184, 185, 121, 212, 7323 299, 193, 534, 297, 198, 190, 298, 310, 180, 181, 7324 116, 74, 182, 116, 183, 300, 192, 172, 200, 510, 7325 400, 142, 203, 121, 184, 185, 121, 143, 299, 193, 7326 194, 232, 233, 232, 144, 201, 179, 396, 395, 234, 7327 235, 121, 394, 300, 108, 393, 195, 195, 195, 195, 7328 195, 195, 195, 195, 195, 195, 143, 238, 238, 288, 7329 91, 288, 144, 201, 110, 110, 74, 92, 93, 121, 7330 238, 301, 265, 266, 302, 303, 304, 110, 267, 307, 7331 75, 313, 212, 651, 319, 652, 238, 238, 320, 212, 7332 7333 323, 269, 236, 110, 110, 74, 270, 330, 238, 301, 7334 265, 266, 302, 303, 304, 110, 267, 307, 75, 199, 7335 313, 289, 319, 127, 116, 205, 320, 128, 323, 190, 7336 269, 236, 190, 129, 344, 270, 330, 130, 121, 308, 7337 169, 190, 309, 279, 321, 116, 291, 170, 199, 289, 7338 280, 322, 127, 116, 281, 331, 128, 171, 292, 121, 7339 293, 129, 344, 294, 202, 130, 121, 308, 87, 169, 7340 309, 87, 279, 321, 116, 291, 170, 83, 280, 322, 7341 205, 651, 281, 652, 331, 171, 292, 121, 293, 921, 7342 1131, 294, 202, 210, 211, 212, 211, 210, 210, 210, 7343 7344 216, 210, 210, 210, 210, 210, 210, 210, 210, 210, 7345 210, 210, 217, 217, 217, 217, 217, 217, 217, 217, 7346 217, 217, 210, 210, 210, 210, 210, 197, 217, 217, 7347 217, 217, 218, 217, 123, 217, 217, 217, 219, 217, 7348 217, 198, 217, 217, 217, 217, 220, 217, 217, 217, 7349 217, 221, 217, 210, 210, 217, 197, 217, 217, 217, 7350 217, 218, 217, 123, 217, 217, 219, 217, 217, 198, 7351 217, 217, 217, 217, 220, 217, 217, 217, 217, 221, 7352 217, 210, 98, 251, 98, 251, 68, 305, 252, 252, 7353 252, 252, 252, 252, 252, 252, 252, 252, 311, 366, 7354 7355 367, 366, 306, 345, 312, 332, 667, 326, 667, 328, 7356 333, 335, 1131, 329, 334, 100, 305, 347, 327, 101, 7357 343, 102, 205, 669, 355, 669, 103, 311, 104, 105, 7358 306, 345, 312, 314, 332, 315, 326, 328, 106, 333, 7359 335, 329, 1131, 334, 100, 347, 327, 1131, 101, 343, 7360 102, 316, 317, 355, 103, 318, 104, 105, 337, 358, 7361 338, 1131, 314, 190, 315, 1131, 106, 250, 250, 250, 7362 250, 250, 250, 250, 250, 250, 250, 324, 341, 316, 7363 317, 223, 925, 318, 362, 110, 110, 358, 346, 190, 7364 359, 325, 342, 190, 260, 351, 1131, 233, 110, 361, 7365 7366 1131, 205, 212, 1131, 385, 235, 324, 341, 1131, 223, 7367 339, 186, 348, 362, 110, 110, 346, 205, 359, 325, 7368 342, 352, 260, 1131, 351, 1131, 110, 361, 349, 349, 7369 349, 349, 349, 349, 349, 349, 349, 349, 339, 350, 7370 262, 770, 353, 771, 390, 179, 209, 356, 376, 363, 7371 352, 369, 377, 1131, 1131, 349, 349, 349, 349, 349, 7372 349, 349, 349, 349, 349, 350, 265, 357, 262, 212, 7373 353, 179, 267, 390, 209, 356, 376, 1131, 363, 369, 7374 377, 349, 349, 349, 349, 349, 349, 349, 349, 349, 7375 349, 350, 205, 379, 265, 357, 212, 179, 1131, 391, 7376 7377 267, 368, 206, 205, 206, 108, 291, 354, 354, 354, 7378 354, 354, 354, 354, 354, 354, 354, 380, 292, 399, 7379 293, 379, 83, 360, 87, 110, 110, 364, 370, 371, 7380 368, 375, 1131, 1131, 408, 291, 233, 392, 110, 207, 7381 87, 1131, 83, 385, 235, 380, 292, 399, 293, 1131, 7382 770, 360, 771, 1131, 110, 110, 364, 370, 371, 1131, 7383 375, 397, 381, 408, 1131, 392, 110, 383, 207, 365, 7384 365, 212, 365, 365, 365, 365, 365, 365, 365, 365, 7385 365, 365, 365, 365, 365, 365, 365, 365, 371, 371, 7386 381, 382, 384, 401, 398, 383, 404, 405, 365, 365, 7387 7388 365, 365, 365, 373, 91, 374, 232, 233, 232, 406, 7389 407, 92, 93, 409, 234, 235, 1131, 371, 371, 382, 7390 384, 401, 398, 1131, 404, 405, 232, 233, 232, 365, 7391 365, 373, 1131, 374, 234, 235, 91, 406, 407, 1131, 7392 388, 409, 388, 92, 93, 389, 389, 389, 389, 389, 7393 389, 389, 389, 389, 389, 410, 387, 365, 365, 365, 7394 212, 365, 365, 365, 365, 365, 365, 365, 365, 365, 7395 365, 365, 365, 365, 365, 365, 365, 411, 412, 386, 7396 547, 77, 547, 410, 387, 1131, 1131, 365, 365, 365, 7397 365, 365, 372, 252, 252, 252, 252, 252, 252, 252, 7398 7399 252, 252, 252, 413, 414, 411, 412, 386, 252, 252, 7400 252, 252, 252, 252, 252, 252, 252, 252, 365, 365, 7401 402, 372, 402, 686, 77, 686, 1131, 1131, 417, 419, 7402 403, 413, 414, 415, 420, 421, 416, 1131, 422, 423, 7403 424, 425, 426, 1131, 1131, 418, 365, 250, 250, 250, 7404 250, 250, 250, 250, 250, 250, 250, 417, 419, 439, 7405 444, 415, 420, 421, 416, 238, 238, 422, 423, 424, 7406 425, 426, 437, 418, 437, 445, 446, 440, 238, 440, 7407 1131, 1131, 442, 443, 447, 448, 450, 448, 439, 444, 7408 451, 1131, 453, 454, 238, 238, 455, 456, 288, 457, 7409 7410 288, 460, 1131, 438, 445, 446, 238, 427, 441, 427, 7411 442, 443, 447, 458, 450, 470, 449, 1131, 469, 451, 7412 453, 454, 1131, 471, 455, 456, 459, 457, 474, 1131, 7413 460, 461, 472, 461, 472, 1131, 475, 465, 428, 465, 7414 476, 462, 458, 429, 470, 430, 469, 466, 431, 1131, 7415 452, 471, 432, 478, 459, 433, 477, 474, 434, 435, 7416 479, 1131, 436, 473, 475, 480, 481, 484, 476, 485, 7417 488, 482, 429, 489, 430, 463, 490, 431, 452, 483, 7418 432, 467, 478, 433, 477, 464, 434, 435, 491, 479, 7419 436, 468, 486, 480, 481, 492, 484, 485, 488, 482, 7420 7421 487, 489, 493, 463, 490, 494, 495, 483, 496, 467, 7422 497, 498, 499, 464, 502, 503, 500, 491, 500, 468, 7423 504, 486, 505, 506, 492, 507, 501, 508, 487, 509, 7424 346, 493, 513, 494, 514, 495, 496, 515, 497, 498, 7425 499, 516, 517, 502, 503, 518, 519, 190, 504, 1131, 7426 505, 506, 1131, 507, 190, 508, 205, 509, 346, 511, 7427 513, 520, 514, 190, 1131, 515, 527, 528, 530, 516, 7428 517, 417, 531, 518, 545, 519, 212, 521, 521, 521, 7429 521, 521, 521, 521, 521, 521, 521, 522, 529, 212, 7430 524, 533, 523, 179, 535, 527, 528, 530, 371, 1131, 7431 7432 417, 531, 545, 521, 521, 521, 521, 521, 521, 521, 7433 521, 521, 521, 522, 212, 525, 529, 212, 524, 179, 7434 533, 523, 546, 535, 548, 87, 1131, 371, 539, 521, 7435 521, 521, 521, 521, 521, 521, 521, 521, 521, 190, 7436 1131, 532, 371, 525, 522, 536, 205, 536, 83, 927, 7437 179, 546, 548, 541, 459, 540, 539, 538, 108, 371, 7438 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 7439 532, 371, 371, 549, 87, 552, 83, 542, 110, 110, 7440 1131, 541, 459, 371, 540, 538, 537, 562, 371, 233, 7441 558, 110, 543, 561, 544, 550, 385, 235, 667, 1029, 7442 7443 667, 371, 549, 552, 1131, 542, 91, 110, 110, 551, 7444 553, 1131, 371, 92, 93, 537, 562, 91, 558, 110, 7445 543, 561, 544, 550, 92, 93, 389, 389, 389, 389, 7446 389, 389, 389, 389, 389, 389, 563, 564, 551, 553, 7447 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 7448 402, 565, 402, 555, 566, 1131, 554, 567, 1131, 568, 7449 403, 569, 570, 571, 572, 563, 564, 573, 574, 575, 7450 576, 577, 578, 589, 578, 590, 591, 1131, 592, 565, 7451 593, 596, 555, 566, 554, 597, 567, 568, 594, 569, 7452 570, 598, 571, 572, 599, 573, 574, 575, 576, 577, 7453 7454 437, 589, 437, 590, 595, 591, 592, 602, 593, 596, 7455 440, 605, 440, 579, 597, 606, 603, 594, 603, 598, 7456 607, 448, 599, 448, 212, 608, 609, 580, 610, 1131, 7457 613, 438, 595, 611, 612, 602, 614, 616, 617, 605, 7458 619, 441, 579, 615, 606, 618, 621, 604, 620, 607, 7459 1131, 622, 449, 608, 609, 580, 427, 610, 427, 613, 7460 623, 611, 612, 1131, 629, 614, 616, 617, 461, 619, 7461 461, 615, 465, 618, 465, 621, 620, 627, 462, 622, 7462 632, 472, 466, 472, 1033, 628, 630, 428, 623, 631, 7463 633, 624, 581, 629, 582, 634, 640, 583, 645, 625, 7464 7465 636, 584, 1131, 637, 585, 627, 638, 586, 587, 632, 7466 639, 588, 473, 628, 630, 1131, 1131, 631, 633, 1131, 7467 646, 581, 646, 582, 634, 640, 583, 645, 636, 584, 7468 626, 637, 585, 644, 638, 586, 587, 1131, 639, 588, 7469 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 7470 600, 647, 600, 600, 600, 600, 600, 600, 600, 626, 7471 648, 644, 649, 650, 641, 500, 641, 500, 653, 600, 7472 600, 600, 600, 600, 642, 501, 654, 655, 656, 657, 7473 658, 190, 190, 669, 205, 669, 190, 1131, 667, 648, 7474 667, 649, 650, 651, 668, 659, 666, 653, 701, 205, 7475 7476 600, 600, 571, 212, 654, 670, 655, 656, 657, 658, 7477 205, 660, 660, 660, 660, 660, 660, 660, 660, 660, 7478 660, 661, 664, 668, 666, 684, 701, 179, 600, 703, 7479 662, 571, 663, 675, 670, 1131, 1131, 660, 660, 660, 7480 660, 660, 660, 660, 660, 660, 660, 661, 1131, 212, 7481 212, 664, 679, 179, 684, 676, 705, 703, 662, 1050, 7482 663, 675, 1131, 660, 660, 660, 660, 660, 660, 660, 7483 660, 660, 660, 661, 614, 536, 205, 536, 1131, 179, 7484 679, 615, 687, 676, 705, 671, 678, 108, 371, 665, 7485 665, 665, 665, 665, 665, 665, 665, 665, 665, 677, 7486 7487 672, 1131, 672, 614, 87, 83, 680, 110, 110, 615, 7488 673, 687, 699, 671, 674, 678, 537, 371, 371, 1131, 7489 110, 371, 681, 91, 371, 682, 700, 677, 683, 704, 7490 92, 93, 706, 712, 680, 91, 110, 110, 689, 713, 7491 692, 699, 696, 697, 707, 537, 708, 371, 110, 709, 7492 371, 681, 710, 371, 682, 700, 711, 683, 704, 694, 7493 1131, 706, 712, 718, 770, 186, 775, 689, 713, 692, 7494 1131, 578, 707, 578, 708, 1131, 641, 709, 641, 716, 7495 710, 717, 1131, 719, 711, 720, 642, 721, 694, 685, 7496 685, 718, 685, 685, 685, 685, 685, 685, 685, 685, 7497 7498 685, 685, 685, 685, 685, 685, 685, 685, 716, 722, 7499 717, 719, 714, 723, 720, 721, 725, 726, 685, 685, 7500 685, 685, 685, 727, 728, 1131, 715, 729, 730, 724, 7501 731, 1131, 732, 733, 734, 739, 735, 722, 735, 1131, 7502 737, 714, 723, 603, 725, 603, 726, 738, 742, 685, 7503 685, 727, 740, 728, 715, 729, 730, 724, 741, 731, 7504 732, 743, 733, 734, 739, 744, 745, 736, 737, 746, 7505 747, 1131, 748, 749, 604, 738, 742, 685, 750, 751, 7506 752, 740, 755, 1131, 756, 757, 758, 741, 759, 760, 7507 743, 761, 766, 744, 745, 763, 764, 765, 746, 747, 7508 7509 748, 767, 749, 768, 769, 646, 750, 646, 751, 752, 7510 772, 755, 756, 773, 757, 758, 759, 774, 760, 190, 7511 761, 766, 190, 763, 764, 765, 779, 780, 669, 767, 7512 669, 768, 769, 672, 781, 672, 647, 782, 672, 772, 7513 672, 205, 773, 673, 371, 774, 205, 674, 673, 674, 7514 371, 674, 674, 212, 212, 779, 780, 801, 777, 776, 7515 91, 1131, 781, 674, 91, 371, 782, 798, 799, 788, 7516 91, 92, 93, 371, 802, 803, 1131, 92, 93, 371, 7517 770, 833, 771, 833, 190, 801, 783, 777, 776, 179, 7518 785, 834, 784, 787, 371, 179, 1131, 804, 788, 805, 7519 7520 806, 807, 802, 108, 803, 109, 109, 109, 109, 109, 7521 109, 109, 109, 109, 109, 783, 808, 1131, 809, 785, 7522 784, 810, 787, 110, 110, 804, 814, 805, 806, 807, 7523 815, 816, 1131, 817, 818, 1131, 110, 851, 1131, 851, 7524 770, 864, 770, 864, 1093, 808, 809, 852, 1131, 864, 7525 810, 864, 110, 110, 811, 814, 811, 819, 820, 815, 7526 816, 817, 821, 818, 110, 786, 786, 212, 786, 786, 7527 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 7528 786, 786, 786, 786, 822, 819, 820, 823, 824, 812, 7529 826, 821, 825, 827, 786, 786, 786, 786, 786, 828, 7530 7531 829, 1131, 813, 830, 831, 735, 832, 735, 205, 835, 7532 836, 837, 822, 838, 1131, 839, 823, 824, 812, 826, 7533 825, 840, 827, 841, 844, 786, 786, 828, 846, 829, 7534 813, 830, 831, 1131, 1131, 832, 736, 835, 1131, 836, 7535 837, 845, 838, 839, 847, 770, 186, 775, 833, 840, 7536 833, 841, 844, 786, 791, 77, 791, 846, 834, 792, 7537 792, 842, 792, 842, 1131, 1131, 792, 792, 1095, 845, 7538 792, 1131, 847, 792, 792, 792, 792, 792, 792, 792, 7539 792, 792, 790, 790, 190, 790, 790, 790, 790, 790, 7540 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 7541 7542 790, 848, 849, 205, 850, 853, 1131, 856, 858, 843, 7543 857, 790, 790, 790, 790, 790, 854, 859, 854, 862, 7544 865, 860, 205, 212, 863, 371, 791, 77, 791, 848, 7545 873, 849, 850, 879, 853, 856, 858, 843, 874, 857, 7546 866, 1131, 790, 790, 875, 876, 859, 877, 862, 865, 7547 860, 855, 863, 878, 371, 91, 882, 91, 867, 873, 7548 869, 879, 92, 93, 92, 93, 864, 874, 864, 866, 7549 790, 1131, 1131, 875, 876, 1131, 877, 811, 1131, 811, 7550 855, 871, 878, 883, 882, 872, 884, 867, 885, 869, 7551 868, 868, 212, 868, 868, 868, 868, 868, 868, 868, 7552 7553 868, 868, 868, 868, 868, 868, 868, 868, 868, 886, 7554 871, 883, 880, 888, 872, 884, 885, 887, 889, 868, 7555 868, 868, 868, 868, 890, 881, 891, 1131, 892, 893, 7556 894, 895, 896, 1131, 897, 898, 899, 908, 886, 900, 7557 212, 880, 888, 906, 907, 887, 842, 889, 842, 910, 7558 868, 868, 890, 881, 911, 891, 892, 893, 894, 895, 7559 912, 896, 897, 913, 898, 899, 908, 900, 902, 903, 7560 902, 906, 907, 851, 914, 851, 904, 910, 868, 905, 7561 915, 917, 911, 852, 854, 918, 854, 919, 912, 920, 7562 205, 924, 913, 923, 909, 371, 928, 1131, 929, 930, 7563 7564 1096, 931, 932, 914, 933, 934, 935, 936, 915, 937, 7565 917, 938, 1131, 939, 918, 919, 940, 944, 920, 916, 7566 924, 923, 909, 941, 371, 928, 929, 942, 930, 931, 7567 932, 943, 933, 934, 935, 936, 945, 937, 950, 926, 7568 938, 939, 946, 947, 948, 940, 944, 949, 916, 951, 7569 952, 941, 902, 903, 902, 942, 953, 903, 953, 943, 7570 904, 960, 1131, 905, 945, 961, 950, 926, 1131, 959, 7571 964, 946, 947, 948, 962, 965, 949, 951, 952, 902, 7572 903, 902, 966, 955, 956, 955, 967, 904, 968, 960, 7573 905, 957, 969, 961, 958, 902, 903, 902, 959, 964, 7574 7575 190, 971, 962, 904, 965, 972, 905, 205, 205, 212, 7576 966, 976, 977, 978, 967, 1131, 968, 979, 1131, 980, 7577 981, 969, 982, 983, 984, 987, 985, 988, 985, 989, 7578 971, 990, 991, 992, 972, 970, 986, 993, 994, 976, 7579 977, 978, 995, 973, 975, 974, 979, 980, 1131, 981, 7580 982, 1131, 983, 984, 987, 999, 988, 998, 989, 990, 7581 991, 992, 1131, 1131, 970, 993, 994, 996, 903, 996, 7582 1001, 995, 973, 975, 974, 955, 956, 955, 190, 955, 7583 956, 955, 1000, 957, 999, 998, 958, 957, 1002, 205, 7584 958, 997, 956, 997, 1003, 955, 956, 955, 1001, 904, 7585 7586 1004, 212, 905, 957, 1006, 205, 958, 955, 956, 955, 7587 1010, 1000, 1011, 1013, 1011, 957, 1014, 1002, 958, 1131, 7588 1015, 1016, 1012, 1003, 1005, 985, 985, 985, 985, 1004, 7589 1017, 1018, 1006, 1019, 1007, 986, 986, 1008, 1021, 1010, 7590 1020, 1013, 1022, 205, 205, 1014, 1131, 1009, 1015, 1025, 7591 1016, 1131, 1005, 1023, 903, 1023, 1026, 1028, 1017, 1018, 7592 1036, 1019, 1007, 1039, 1037, 1038, 1008, 1021, 1020, 1040, 7593 1041, 1022, 1024, 903, 1024, 1009, 1042, 1032, 1025, 1031, 7594 904, 205, 1011, 905, 1011, 1026, 1028, 1034, 1036, 1034, 7595 1045, 1039, 1012, 1037, 1038, 1046, 190, 1040, 1047, 1041, 7596 7597 1035, 1049, 1035, 212, 1042, 1056, 1032, 1055, 1031, 1043, 7598 903, 1043, 1044, 903, 1044, 1131, 1057, 1051, 1035, 1045, 7599 904, 1058, 1060, 905, 1046, 1034, 1047, 1034, 1063, 1049, 7600 1059, 190, 1053, 1056, 1053, 212, 1055, 1064, 1035, 205, 7601 1035, 1048, 1073, 1054, 1057, 1035, 1051, 1035, 1052, 1075, 7602 1058, 1060, 1061, 903, 1061, 1067, 1035, 1063, 1059, 1062, 7603 903, 1062, 1053, 1035, 1053, 1064, 1072, 904, 1074, 1048, 7604 905, 1073, 1079, 1054, 1068, 205, 1052, 1066, 1075, 1080, 7605 1081, 1071, 1131, 1067, 1078, 903, 1078, 190, 212, 1083, 7606 1131, 1086, 904, 1131, 1072, 905, 1074, 1087, 1131, 1090, 7607 7608 1079, 190, 205, 1068, 190, 1066, 1131, 1080, 1081, 1071, 7609 1076, 903, 1076, 205, 1131, 1077, 1077, 1083, 1077, 1086, 7610 1097, 1084, 1077, 1077, 1091, 1087, 1077, 1090, 1098, 1077, 7611 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1082, 1085, 7612 1076, 903, 1076, 902, 903, 902, 1131, 1100, 1097, 1084, 7613 1103, 904, 212, 1091, 905, 1099, 1108, 1098, 1101, 205, 7614 212, 205, 1113, 1131, 190, 1131, 1082, 1085, 902, 903, 7615 902, 1104, 205, 1088, 1088, 1100, 1089, 190, 1103, 905, 7616 1088, 1088, 212, 1099, 1088, 1108, 1101, 1088, 1088, 1088, 7617 1088, 1088, 1088, 1088, 1088, 1088, 902, 903, 902, 1104, 7618 7619 955, 956, 955, 1102, 904, 1105, 190, 905, 957, 1106, 7620 1112, 958, 1109, 1107, 212, 1115, 1116, 212, 1110, 1119, 7621 1120, 1119, 205, 1117, 1121, 1122, 1121, 1124, 1125, 1124, 7622 205, 1102, 205, 1105, 1119, 1120, 1119, 1106, 1111, 1112, 7623 1109, 205, 1107, 1115, 1116, 1131, 1114, 1110, 1121, 1122, 7624 1121, 1117, 1124, 1125, 1124, 1129, 1130, 1129, 1129, 1130, 7625 1129, 1131, 1131, 1131, 1127, 1131, 1126, 1111, 1118, 1131, 7626 1131, 1123, 1131, 1131, 1131, 1114, 1131, 1131, 1131, 1131, 7627 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7628 1131, 1131, 1128, 1127, 1131, 1126, 1118, 1131, 1131, 1123, 7629 7630 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7631 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7632 1128, 66, 66, 66, 66, 66, 66, 66, 66, 66, 7633 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 7634 67, 67, 67, 67, 67, 67, 67, 79, 1131, 79, 7635 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 7636 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 7637 82, 82, 82, 86, 86, 86, 86, 86, 86, 86, 7638 86, 86, 86, 86, 86, 86, 90, 90, 90, 90, 7639 90, 90, 90, 90, 90, 90, 90, 90, 90, 113, 7640 7641 113, 113, 113, 113, 113, 113, 113, 113, 189, 189, 7642 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 7643 189, 204, 204, 204, 204, 204, 204, 204, 204, 204, 7644 204, 204, 204, 204, 210, 210, 210, 210, 210, 1131, 7645 210, 210, 210, 1131, 210, 1131, 210, 231, 231, 231, 7646 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 7647 99, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 99, 249, 7648 249, 1131, 249, 249, 1131, 249, 1131, 1131, 249, 249, 7649 1131, 249, 336, 336, 336, 336, 340, 340, 340, 340, 7650 340, 340, 340, 340, 340, 340, 340, 340, 340, 365, 7651 7652 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 7653 365, 365, 371, 371, 371, 371, 371, 371, 371, 371, 7654 371, 371, 371, 371, 371, 601, 601, 601, 1131, 601, 7655 601, 601, 601, 601, 601, 601, 601, 601, 685, 1131, 7656 685, 685, 685, 685, 685, 685, 685, 685, 685, 685, 7657 685, 688, 1131, 688, 688, 688, 688, 688, 688, 688, 7658 688, 688, 688, 688, 690, 690, 690, 690, 690, 690, 7659 690, 690, 690, 690, 690, 690, 690, 693, 693, 693, 7660 693, 693, 693, 693, 693, 693, 693, 693, 693, 693, 7661 695, 695, 695, 695, 695, 695, 695, 695, 695, 695, 7662 7663 695, 695, 695, 702, 1131, 702, 702, 702, 702, 702, 7664 702, 702, 702, 702, 702, 702, 778, 778, 778, 778, 7665 778, 778, 778, 778, 778, 778, 778, 778, 778, 786, 7666 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, 7667 786, 786, 789, 789, 789, 789, 789, 789, 789, 789, 7668 789, 789, 789, 789, 789, 790, 1131, 790, 790, 790, 7669 790, 790, 790, 790, 790, 790, 790, 790, 793, 1131, 7670 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 7671 793, 794, 794, 794, 794, 794, 794, 794, 794, 794, 7672 794, 794, 794, 794, 796, 796, 796, 796, 796, 796, 7673 7674 796, 796, 796, 796, 796, 796, 796, 797, 797, 797, 7675 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 7676 800, 1131, 800, 800, 800, 800, 800, 800, 800, 800, 7677 800, 800, 800, 861, 861, 861, 861, 861, 861, 861, 7678 861, 861, 861, 861, 861, 861, 868, 868, 868, 868, 7679 868, 868, 868, 868, 868, 868, 868, 868, 868, 870, 7680 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 7681 870, 870, 901, 901, 901, 901, 901, 901, 901, 901, 7682 901, 901, 901, 901, 901, 954, 954, 954, 954, 954, 7683 954, 954, 954, 954, 954, 954, 954, 954, 1069, 1069, 7684 7685 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 7686 1069, 13, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7687 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7688 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7689 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7690 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7691 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7692 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7693 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7694 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 7695 7696 1131 8726 7697 } ; 8727 7698 8728 static yyconst flex_int16_t yy_chk[ 9249] =7699 static yyconst flex_int16_t yy_chk[4102] = 8729 7700 { 0, 8730 7701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 8737 7708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8738 7709 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 8739 2, 2, 2, 10, 8, 8, 8, 8, 15, 15, 8740 8741 15, 68, 1129, 14, 10, 1119, 68, 2, 2, 2, 8742 2, 2, 2, 2, 2, 2, 2, 14, 16, 16, 8743 16, 54, 54, 54, 2, 2, 18, 10, 2, 19, 8744 2, 8, 14, 17, 17, 17, 15, 20, 21, 1096, 8745 18, 2, 2, 176, 22, 14, 1084, 25, 26, 176, 8746 15, 20, 21, 2, 2, 18, 10, 2, 75, 2, 8747 8, 25, 42, 19, 69, 15, 20, 21, 18, 2, 8748 2, 17, 24, 27, 26, 23, 25, 19, 15, 20, 8749 21, 22, 23, 23, 29, 17, 75, 27, 26, 25, 8750 1045, 42, 19, 24, 959, 22, 30, 339, 74, 339, 8751 8752 17, 82, 27, 26, 340, 19, 340, 24, 83, 69, 8753 22, 29, 23, 17, 31, 27, 26, 32, 30, 34, 8754 41, 178, 24, 22, 916, 29, 23, 74, 31, 912, 8755 82, 32, 30, 34, 41, 24, 83, 69, 49, 685, 8756 29, 23, 49, 31, 905, 685, 32, 30, 34, 41, 8757 178, 207, 33, 29, 23, 28, 31, 28, 33, 32, 8758 30, 34, 41, 76, 76, 76, 242, 49, 67, 67, 8759 67, 49, 33, 28, 28, 28, 28, 28, 28, 28, 8760 28, 28, 28, 86, 43, 63, 207, 33, 28, 43, 8761 44, 350, 28, 28, 28, 242, 43, 43, 904, 28, 8762 8763 33, 28, 28, 63, 44, 67, 91, 28, 77, 77, 8764 77, 28, 86, 43, 63, 207, 837, 28, 43, 44, 8765 350, 28, 28, 28, 43, 43, 87, 28, 360, 28, 8766 28, 63, 44, 835, 67, 28, 78, 78, 78, 28, 8767 35, 86, 35, 35, 35, 35, 35, 35, 35, 35, 8768 35, 35, 38, 40, 830, 91, 38, 360, 35, 35, 8769 38, 40, 35, 903, 40, 102, 38, 40, 35, 103, 8770 38, 107, 87, 40, 90, 35, 35, 79, 79, 79, 8771 825, 38, 40, 91, 342, 38, 342, 35, 35, 38, 8772 40, 35, 40, 102, 38, 40, 35, 103, 38, 107, 8773 8774 87, 40, 108, 35, 35, 36, 90, 36, 36, 36, 8775 36, 36, 36, 36, 36, 36, 36, 179, 37, 359, 8776 39, 359, 36, 903, 823, 37, 45, 36, 822, 37, 8777 108, 39, 37, 39, 45, 90, 39, 39, 46, 205, 8778 45, 36, 37, 39, 812, 179, 46, 37, 393, 39, 8779 180, 36, 46, 182, 37, 45, 36, 37, 46, 39, 8780 37, 39, 48, 45, 39, 39, 51, 46, 45, 36, 8781 37, 39, 47, 51, 811, 46, 48, 393, 180, 48, 8782 46, 182, 48, 51, 205, 47, 46, 47, 104, 50, 8783 220, 48, 47, 50, 529, 51, 529, 50, 396, 52, 8784 8785 450, 47, 51, 104, 48, 50, 52, 48, 50, 50, 8786 48, 51, 205, 47, 532, 47, 52, 104, 50, 804, 8787 47, 220, 50, 80, 80, 80, 50, 396, 52, 450, 8788 530, 104, 530, 50, 92, 52, 50, 50, 55, 55, 8789 55, 92, 92, 532, 52, 53, 53, 53, 53, 220, 8790 56, 223, 531, 53, 531, 56, 55, 55, 55, 55, 8791 55, 55, 55, 55, 55, 55, 184, 184, 184, 94, 8792 70, 70, 70, 71, 71, 71, 94, 94, 60, 223, 8793 53, 53, 70, 53, 53, 71, 53, 56, 726, 60, 8794 106, 191, 60, 686, 93, 93, 93, 53, 53, 686, 8795 8796 106, 56, 93, 93, 181, 70, 725, 60, 71, 53, 8797 53, 181, 53, 53, 723, 53, 56, 60, 722, 106, 8798 60, 72, 72, 72, 910, 53, 53, 214, 106, 56, 8799 57, 58, 181, 72, 70, 96, 57, 71, 222, 181, 8800 191, 716, 96, 96, 57, 189, 57, 57, 57, 57, 8801 57, 57, 57, 57, 57, 57, 59, 222, 58, 72, 8802 59, 208, 208, 208, 59, 58, 57, 96, 191, 58, 8803 59, 190, 58, 72, 59, 714, 214, 189, 61, 206, 8804 57, 706, 58, 61, 910, 59, 222, 58, 72, 59, 8805 61, 61, 62, 59, 58, 57, 96, 58, 59, 62, 8806 8807 58, 72, 59, 190, 214, 224, 189, 61, 57, 62, 8808 58, 206, 61, 210, 210, 210, 62, 689, 61, 61, 8809 664, 62, 225, 225, 225, 585, 580, 232, 62, 578, 8810 558, 235, 190, 224, 232, 232, 554, 62, 235, 235, 8811 206, 372, 372, 372, 62, 73, 73, 73, 73, 73, 7710 2, 2, 2, 74, 8, 8, 8, 8, 10, 15, 7711 7712 15, 15, 1083, 14, 16, 16, 16, 2, 2, 2, 7713 2, 2, 2, 2, 2, 2, 2, 14, 70, 17, 7714 1081, 10, 74, 70, 2, 2, 71, 75, 2, 8, 7715 2, 8, 14, 17, 18, 19, 21, 15, 20, 22, 7716 551, 2, 2, 551, 1069, 14, 22, 22, 17, 19, 7717 10, 15, 20, 2, 2, 75, 80, 2, 8, 2, 7718 8, 17, 84, 23, 19, 30, 15, 20, 18, 2, 7719 2, 71, 24, 21, 26, 30, 22, 19, 81, 15, 7720 20, 25, 18, 116, 23, 80, 24, 21, 26, 30, 7721 22, 84, 28, 85, 100, 31, 1051, 18, 23, 71, 7722 7723 624, 24, 21, 26, 30, 22, 81, 25, 624, 31, 7724 18, 32, 116, 23, 24, 21, 26, 30, 22, 28, 7725 84, 25, 100, 1047, 31, 32, 23, 56, 56, 56, 7726 76, 76, 76, 28, 101, 105, 25, 31, 106, 85, 7727 32, 179, 69, 69, 69, 33, 1006, 179, 28, 25, 7728 27, 33, 27, 32, 77, 77, 77, 78, 78, 78, 7729 1000, 28, 101, 105, 914, 33, 106, 85, 27, 27, 7730 27, 27, 27, 27, 27, 27, 27, 27, 34, 69, 7731 33, 35, 35, 27, 120, 35, 41, 27, 27, 27, 7732 868, 35, 34, 33, 27, 41, 27, 27, 35, 35, 7733 7734 41, 862, 27, 123, 89, 861, 27, 34, 69, 796, 7735 35, 35, 27, 120, 35, 41, 27, 27, 27, 35, 7736 34, 114, 27, 41, 27, 27, 35, 35, 41, 88, 7737 27, 36, 123, 42, 27, 29, 36, 29, 29, 29, 7738 29, 29, 29, 29, 29, 29, 29, 42, 794, 114, 7739 36, 90, 337, 89, 337, 29, 29, 29, 90, 90, 7740 36, 88, 42, 115, 117, 36, 104, 786, 29, 121, 7741 122, 29, 126, 44, 109, 42, 104, 54, 36, 38, 7742 38, 89, 44, 38, 29, 29, 29, 44, 109, 38, 7743 88, 115, 117, 38, 38, 104, 29, 121, 122, 29, 7744 7745 37, 126, 44, 109, 104, 37, 54, 37, 38, 38, 7746 44, 37, 38, 785, 37, 44, 109, 38, 92, 37, 7747 54, 38, 38, 778, 37, 92, 92, 660, 777, 37, 7748 186, 186, 186, 660, 37, 54, 37, 43, 693, 37, 7749 132, 45, 37, 692, 43, 43, 45, 37, 54, 45, 7750 690, 43, 37, 39, 625, 45, 72, 72, 72, 39, 7751 45, 39, 39, 625, 39, 39, 43, 39, 72, 132, 7752 45, 39, 43, 43, 124, 45, 102, 689, 45, 43, 7753 689, 678, 39, 45, 211, 211, 211, 39, 45, 39, 7754 39, 102, 39, 39, 72, 39, 119, 49, 49, 39, 7755 7756 40, 664, 124, 40, 635, 102, 40, 40, 72, 40, 7757 46, 753, 49, 119, 40, 40, 128, 143, 46, 102, 7758 753, 46, 46, 72, 46, 119, 49, 49, 118, 40, 7759 46, 558, 40, 103, 40, 40, 72, 40, 118, 46, 7760 49, 119, 40, 40, 128, 47, 143, 46, 103, 46, 7761 46, 48, 46, 47, 129, 47, 48, 118, 46, 47, 7762 47, 52, 103, 130, 131, 48, 118, 133, 48, 52, 7763 48, 48, 661, 553, 47, 52, 103, 534, 661, 134, 7764 48, 47, 129, 47, 519, 48, 135, 47, 47, 137, 7765 52, 130, 131, 48, 95, 133, 48, 52, 48, 48, 7766 7767 50, 95, 95, 52, 50, 50, 51, 134, 50, 496, 7768 53, 51, 53, 51, 135, 487, 50, 137, 139, 50, 7769 50, 140, 53, 51, 53, 51, 224, 224, 224, 50, 7770 401, 399, 146, 50, 50, 51, 141, 50, 144, 53, 7771 51, 53, 51, 95, 50, 60, 139, 50, 50, 140, 7772 53, 51, 53, 51, 55, 55, 55, 55, 57, 57, 7773 58, 146, 55, 392, 141, 58, 144, 338, 138, 338, 7774 147, 95, 60, 390, 138, 57, 57, 57, 57, 57, 7775 57, 57, 57, 57, 57, 148, 60, 149, 159, 55, 7776 55, 65, 55, 55, 62, 55, 138, 58, 147, 65, 7777 7778 62, 60, 138, 62, 65, 65, 55, 55, 62, 365, 7779 150, 58, 362, 148, 60, 340, 149, 159, 55, 55, 7780 65, 55, 55, 62, 55, 151, 58, 65, 62, 336, 7781 247, 62, 65, 65, 55, 55, 62, 63, 150, 58, 7782 59, 91, 91, 91, 63, 63, 59, 244, 243, 91, 7783 91, 63, 242, 151, 59, 241, 59, 59, 59, 59, 7784 59, 59, 59, 59, 59, 59, 63, 99, 99, 142, 7785 94, 142, 63, 63, 59, 59, 59, 94, 94, 63, 7786 99, 152, 125, 125, 153, 154, 155, 59, 125, 157, 7787 59, 161, 213, 511, 163, 511, 99, 99, 164, 210, 7788 7789 166, 127, 94, 59, 59, 59, 127, 170, 99, 152, 7790 125, 125, 153, 154, 155, 59, 125, 157, 59, 61, 7791 161, 142, 163, 61, 61, 204, 164, 61, 166, 860, 7792 127, 94, 189, 61, 182, 127, 170, 61, 61, 158, 7793 64, 178, 158, 136, 165, 64, 145, 64, 61, 142, 7794 136, 165, 61, 61, 136, 171, 61, 64, 145, 64, 7795 145, 61, 182, 145, 64, 61, 61, 158, 87, 64, 7796 158, 86, 136, 165, 64, 145, 64, 82, 136, 165, 7797 67, 512, 136, 512, 171, 64, 145, 64, 145, 860, 7798 13, 145, 64, 73, 73, 73, 73, 73, 73, 73, 7799 8812 7800 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8813 7801 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, … … 8815 7803 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8816 7804 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8817 8818 7805 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8819 7806 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8820 7807 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 8821 73, 73, 73, 73, 97, 101, 101, 105, 204, 204, 8822 204, 97, 97, 226, 538, 227, 213, 675, 101, 675, 8823 534, 111, 105, 111, 111, 111, 111, 111, 111, 111, 8824 111, 111, 111, 421, 101, 101, 105, 375, 375, 375, 8825 419, 226, 173, 227, 173, 204, 101, 114, 213, 534, 8826 105, 219, 412, 97, 113, 113, 113, 113, 113, 113, 8827 113, 113, 113, 113, 114, 228, 115, 118, 219, 114, 8828 8829 116, 115, 118, 125, 204, 116, 410, 213, 125, 231, 8830 173, 97, 100, 114, 100, 115, 118, 229, 116, 116, 8831 386, 221, 125, 114, 173, 115, 118, 219, 114, 116, 8832 115, 118, 125, 379, 116, 228, 249, 125, 230, 173, 8833 374, 114, 251, 115, 118, 100, 116, 116, 117, 100, 8834 125, 100, 173, 117, 243, 221, 100, 276, 100, 100, 8835 248, 231, 117, 228, 249, 401, 229, 117, 100, 294, 8836 251, 294, 401, 401, 100, 371, 343, 117, 100, 294, 8837 100, 230, 117, 221, 100, 276, 100, 100, 535, 231, 8838 117, 250, 243, 248, 229, 117, 100, 110, 110, 110, 8839 8840 110, 110, 110, 110, 110, 110, 110, 119, 121, 230, 8841 913, 247, 119, 121, 120, 110, 110, 535, 119, 120, 8842 243, 248, 120, 246, 400, 121, 119, 121, 110, 245, 8843 233, 233, 233, 120, 341, 277, 119, 121, 233, 233, 8844 344, 119, 121, 120, 110, 110, 119, 122, 120, 122, 8845 244, 120, 122, 121, 119, 121, 110, 177, 123, 218, 8846 400, 120, 341, 123, 212, 345, 122, 346, 344, 354, 8847 913, 177, 277, 347, 209, 123, 122, 123, 122, 124, 8848 202, 122, 348, 126, 124, 187, 177, 123, 126, 400, 8849 124, 349, 123, 345, 122, 346, 183, 126, 124, 177, 8850 8851 277, 347, 126, 123, 676, 123, 676, 354, 124, 127, 8852 348, 175, 126, 124, 127, 174, 237, 126, 124, 349, 8853 89, 127, 127, 237, 237, 126, 124, 127, 127, 128, 8854 126, 128, 129, 389, 128, 130, 354, 129, 127, 292, 8855 130, 292, 361, 127, 234, 234, 234, 130, 128, 127, 8856 127, 129, 234, 234, 130, 127, 127, 536, 128, 237, 8857 128, 129, 88, 128, 130, 388, 129, 84, 389, 130, 8858 361, 380, 380, 380, 356, 130, 128, 65, 13, 129, 8859 378, 238, 130, 131, 355, 131, 536, 237, 238, 238, 8860 369, 292, 1051, 388, 390, 133, 389, 392, 9, 131, 8861 8862 133, 131, 131, 131, 131, 131, 131, 131, 131, 131, 8863 131, 132, 1081, 133, 133, 134, 132, 7, 134, 292, 8864 134, 388, 132, 398, 133, 392, 356, 355, 369, 133, 8865 132, 390, 378, 238, 134, 677, 131, 677, 131, 1130, 8866 132, 133, 133, 381, 134, 132, 136, 134, 135, 134, 8867 132, 136, 1051, 135, 356, 355, 398, 369, 132, 390, 8868 378, 238, 134, 136, 131, 136, 131, 135, 135, 139, 8869 377, 137, 1081, 138, 139, 136, 137, 135, 138, 137, 8870 136, 381, 135, 139, 138, 398, 137, 395, 139, 0, 8871 137, 136, 138, 136, 418, 135, 135, 397, 139, 1130, 8872 8873 137, 382, 138, 139, 140, 137, 475, 138, 137, 140, 8874 381, 139, 138, 377, 137, 395, 139, 142, 137, 142, 8875 138, 140, 418, 140, 141, 399, 143, 144, 143, 141, 8876 1131, 537, 144, 140, 475, 0, 143, 141, 140, 391, 8877 533, 377, 144, 141, 397, 382, 144, 0, 543, 140, 8878 142, 140, 466, 141, 466, 142, 144, 146, 141, 143, 8879 537, 144, 146, 146, 143, 141, 0, 391, 533, 142, 8880 144, 141, 397, 382, 144, 399, 146, 0, 143, 142, 8881 145, 0, 145, 466, 142, 145, 146, 680, 143, 680, 8882 1131, 146, 146, 143, 145, 391, 145, 142, 543, 145, 8883 8884 147, 0, 148, 399, 146, 147, 143, 148, 557, 145, 8885 484, 145, 484, 546, 145, 148, 394, 394, 394, 147, 8886 484, 148, 145, 147, 145, 149, 543, 145, 149, 147, 8887 149, 148, 572, 150, 147, 1148, 148, 151, 150, 0, 8888 0, 546, 151, 148, 149, 150, 547, 147, 0, 148, 8889 151, 147, 150, 557, 149, 0, 151, 149, 0, 149, 8890 544, 572, 150, 152, 153, 0, 151, 150, 152, 153, 8891 0, 151, 149, 150, 547, 153, 152, 488, 151, 488, 8892 150, 557, 152, 153, 151, 0, 155, 488, 0, 154, 8893 155, 155, 152, 153, 154, 1148, 544, 152, 153, 521, 8894 8895 154, 521, 0, 153, 152, 155, 611, 0, 154, 521, 8896 152, 153, 156, 253, 253, 155, 158, 156, 154, 155, 8897 155, 158, 402, 154, 158, 544, 253, 0, 154, 402, 8898 402, 156, 157, 155, 611, 158, 154, 157, 559, 559, 8899 559, 156, 253, 253, 0, 158, 156, 612, 0, 157, 8900 158, 157, 157, 158, 253, 160, 160, 159, 0, 156, 8901 160, 157, 159, 158, 614, 159, 157, 370, 370, 370, 8902 615, 159, 402, 561, 160, 612, 159, 157, 0, 157, 8903 157, 194, 162, 194, 160, 160, 159, 162, 161, 160, 8904 161, 159, 614, 161, 159, 556, 556, 556, 615, 159, 8905 8906 402, 162, 160, 162, 159, 0, 161, 161, 370, 542, 8907 161, 162, 575, 163, 194, 564, 162, 161, 163, 161, 8908 164, 555, 161, 561, 163, 164, 164, 563, 194, 162, 8909 0, 162, 163, 164, 161, 161, 556, 370, 161, 164, 8910 165, 575, 163, 194, 568, 165, 692, 163, 692, 164, 8911 617, 561, 163, 562, 164, 164, 194, 165, 542, 165, 8912 163, 164, 564, 166, 403, 556, 682, 164, 166, 165, 8913 555, 403, 403, 577, 165, 569, 563, 166, 617, 568, 8914 166, 0, 166, 167, 167, 165, 542, 165, 167, 562, 8915 564, 697, 166, 697, 682, 167, 569, 166, 555, 744, 8916 8917 403, 0, 167, 570, 563, 166, 577, 568, 166, 168, 8918 166, 579, 167, 167, 168, 169, 0, 167, 562, 169, 8919 169, 0, 168, 167, 570, 569, 168, 744, 168, 403, 8920 167, 571, 170, 0, 169, 577, 753, 170, 168, 0, 8921 170, 171, 0, 168, 169, 171, 171, 579, 169, 169, 8922 168, 170, 571, 570, 168, 0, 168, 574, 574, 574, 8923 171, 170, 169, 172, 753, 581, 170, 604, 172, 170, 8924 171, 172, 581, 581, 171, 171, 579, 582, 613, 170, 8925 618, 571, 172, 687, 582, 582, 0, 0, 171, 678, 8926 0, 678, 172, 185, 185, 185, 604, 172, 756, 678, 8927 8928 172, 581, 679, 635, 815, 635, 815, 613, 757, 618, 8929 172, 185, 185, 185, 185, 185, 185, 185, 185, 185, 8930 185, 186, 681, 687, 0, 678, 756, 186, 713, 0, 8931 581, 679, 691, 608, 635, 608, 757, 186, 186, 186, 8932 186, 186, 186, 186, 186, 186, 186, 192, 683, 713, 8933 683, 681, 687, 192, 678, 684, 684, 684, 683, 0, 8934 703, 691, 683, 192, 192, 192, 192, 192, 192, 192, 8935 192, 192, 192, 193, 608, 215, 215, 215, 713, 193, 8936 708, 708, 708, 748, 826, 826, 826, 193, 608, 193, 8937 193, 193, 193, 193, 193, 193, 193, 193, 193, 195, 8938 8939 703, 196, 197, 608, 195, 749, 196, 197, 215, 0, 8940 195, 616, 748, 196, 196, 688, 608, 195, 195, 196, 8941 196, 197, 215, 832, 832, 832, 704, 616, 195, 703, 8942 196, 197, 707, 195, 749, 196, 197, 215, 195, 198, 8943 616, 196, 196, 0, 198, 195, 195, 196, 196, 197, 8944 215, 688, 702, 198, 702, 616, 200, 0, 198, 201, 8945 199, 200, 199, 201, 201, 199, 702, 755, 198, 758, 8946 0, 200, 707, 198, 199, 200, 199, 704, 201, 199, 8947 688, 198, 759, 807, 0, 200, 198, 0, 201, 199, 8948 200, 199, 201, 201, 199, 216, 755, 0, 758, 200, 8949 8950 0, 707, 199, 200, 199, 704, 201, 199, 0, 0, 8951 759, 807, 216, 216, 216, 216, 216, 216, 216, 216, 8952 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, 7808 73, 73, 98, 110, 98, 110, 7, 156, 110, 110, 7809 110, 110, 110, 110, 110, 110, 110, 110, 160, 366, 7810 7811 366, 366, 156, 183, 160, 172, 528, 168, 528, 169, 7812 173, 174, 0, 169, 173, 98, 156, 185, 168, 98, 7813 181, 98, 866, 530, 196, 530, 98, 160, 98, 98, 7814 156, 183, 160, 162, 172, 162, 168, 169, 98, 173, 7815 174, 169, 0, 173, 98, 185, 168, 0, 98, 181, 7816 98, 162, 162, 196, 98, 162, 98, 98, 176, 199, 7817 176, 0, 162, 191, 162, 0, 98, 108, 108, 108, 7818 108, 108, 108, 108, 108, 108, 108, 167, 180, 162, 7819 162, 184, 866, 162, 203, 108, 108, 199, 184, 192, 7820 200, 167, 180, 193, 167, 191, 176, 231, 108, 202, 7821 7822 0, 207, 215, 0, 231, 231, 167, 180, 0, 184, 7823 176, 187, 187, 203, 108, 108, 184, 208, 200, 167, 7824 180, 192, 167, 0, 191, 176, 108, 202, 187, 187, 7825 187, 187, 187, 187, 187, 187, 187, 187, 176, 188, 7826 197, 651, 193, 651, 239, 188, 207, 197, 222, 208, 7827 192, 215, 223, 0, 0, 188, 188, 188, 188, 188, 7828 188, 188, 188, 188, 188, 194, 198, 198, 197, 214, 7829 193, 194, 198, 239, 207, 197, 222, 0, 208, 215, 7830 223, 194, 194, 194, 194, 194, 194, 194, 194, 194, 7831 194, 195, 209, 225, 198, 198, 216, 195, 0, 240, 7832 7833 198, 214, 206, 206, 206, 195, 201, 195, 195, 195, 7834 195, 195, 195, 195, 195, 195, 195, 226, 201, 246, 7835 201, 225, 227, 201, 229, 195, 195, 209, 216, 221, 7836 214, 221, 0, 0, 258, 201, 234, 240, 195, 206, 7837 230, 0, 228, 234, 234, 226, 201, 246, 201, 0, 7838 652, 201, 652, 0, 195, 195, 209, 216, 221, 0, 7839 221, 245, 227, 258, 0, 240, 195, 229, 206, 217, 8953 7840 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8954 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8955 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8956 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8957 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8958 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8959 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8960 8961 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 8962 217, 239, 0, 239, 860, 760, 239, 239, 239, 239, 8963 239, 239, 239, 239, 239, 239, 240, 0, 240, 863, 8964 805, 240, 240, 240, 240, 240, 240, 240, 240, 240, 8965 240, 241, 860, 241, 760, 806, 241, 241, 241, 241, 8966 241, 241, 241, 241, 241, 241, 254, 863, 254, 805, 8967 0, 254, 254, 254, 254, 254, 254, 254, 254, 254, 8968 254, 255, 0, 255, 806, 0, 255, 255, 255, 255, 8969 255, 255, 255, 255, 255, 255, 256, 808, 256, 259, 8970 865, 256, 256, 256, 256, 256, 256, 256, 256, 256, 8971 8972 256, 257, 257, 257, 257, 257, 257, 257, 257, 257, 8973 257, 0, 259, 769, 260, 769, 808, 259, 865, 260, 8974 257, 258, 258, 258, 258, 258, 258, 258, 258, 258, 8975 258, 259, 260, 260, 261, 813, 901, 262, 901, 261, 8976 258, 259, 262, 260, 769, 261, 259, 727, 260, 257, 8977 908, 262, 908, 261, 727, 727, 262, 263, 705, 259, 8978 260, 260, 263, 261, 813, 693, 262, 693, 261, 258, 8979 263, 262, 0, 261, 0, 693, 263, 264, 266, 262, 8980 265, 261, 264, 266, 262, 265, 263, 803, 266, 803, 8981 264, 263, 0, 0, 705, 803, 264, 266, 263, 265, 8982 8983 265, 693, 851, 268, 263, 810, 264, 266, 268, 265, 8984 267, 264, 266, 0, 265, 267, 266, 0, 264, 0, 8985 268, 267, 268, 705, 264, 266, 0, 265, 265, 267, 8986 693, 851, 268, 269, 0, 271, 821, 268, 269, 267, 8987 271, 270, 810, 0, 267, 700, 270, 700, 268, 267, 8988 268, 269, 269, 270, 271, 700, 270, 267, 272, 700, 8989 270, 0, 269, 272, 271, 272, 728, 269, 0, 271, 8990 270, 810, 821, 728, 728, 270, 0, 272, 273, 269, 8991 269, 270, 271, 273, 270, 274, 0, 272, 270, 273, 8992 274, 729, 272, 794, 272, 794, 274, 273, 729, 729, 8993 8994 0, 821, 0, 794, 274, 272, 0, 273, 278, 278, 8995 857, 275, 273, 278, 274, 275, 275, 273, 900, 274, 8996 859, 809, 809, 809, 274, 273, 820, 278, 279, 809, 8997 275, 280, 274, 279, 824, 279, 280, 278, 278, 857, 8998 275, 284, 278, 284, 275, 275, 900, 279, 281, 859, 8999 280, 861, 281, 281, 0, 278, 862, 279, 275, 864, 9000 280, 925, 279, 820, 279, 280, 0, 281, 283, 0, 9001 0, 824, 284, 283, 284, 279, 283, 281, 280, 284, 9002 861, 281, 281, 838, 875, 862, 875, 283, 864, 925, 9003 838, 838, 820, 284, 875, 281, 282, 283, 282, 285, 9004 9005 824, 894, 283, 284, 285, 283, 286, 899, 284, 422, 9006 422, 286, 839, 902, 893, 283, 893, 285, 285, 839, 9007 839, 284, 422, 0, 893, 286, 0, 282, 285, 282, 9008 894, 911, 282, 285, 282, 286, 899, 282, 422, 422, 9009 286, 282, 902, 0, 282, 285, 285, 282, 282, 289, 9010 422, 282, 287, 286, 289, 288, 287, 287, 282, 288, 9011 288, 282, 934, 282, 937, 884, 282, 884, 289, 282, 9012 0, 287, 282, 0, 288, 282, 282, 926, 289, 282, 9013 911, 287, 290, 289, 288, 287, 287, 290, 288, 288, 9014 291, 934, 291, 937, 290, 291, 289, 929, 293, 287, 9015 9016 931, 290, 288, 293, 896, 926, 896, 932, 911, 291, 9017 0, 290, 293, 884, 0, 296, 290, 293, 933, 291, 9018 296, 291, 290, 935, 291, 929, 296, 293, 931, 290, 9019 961, 297, 293, 0, 296, 932, 297, 291, 298, 896, 9020 293, 884, 297, 298, 296, 293, 933, 0, 954, 296, 9021 297, 935, 0, 964, 296, 0, 0, 298, 298, 961, 9022 297, 299, 296, 0, 0, 297, 299, 298, 896, 965, 9023 297, 980, 298, 948, 948, 948, 954, 966, 297, 972, 9024 299, 299, 964, 300, 301, 298, 298, 300, 300, 301, 9025 299, 302, 301, 302, 303, 299, 303, 965, 967, 980, 9026 9027 300, 302, 300, 301, 303, 968, 966, 968, 299, 299, 9028 0, 0, 300, 301, 989, 972, 300, 300, 301, 990, 9029 304, 301, 973, 981, 302, 304, 984, 303, 300, 302, 9030 300, 301, 303, 967, 968, 302, 968, 0, 303, 304, 9031 304, 986, 989, 302, 972, 302, 303, 990, 303, 304, 9032 1005, 0, 981, 302, 304, 984, 303, 0, 302, 973, 9033 305, 303, 967, 302, 305, 305, 303, 304, 304, 987, 9034 986, 302, 306, 302, 303, 988, 303, 306, 1005, 305, 9035 307, 308, 1008, 1016, 307, 307, 308, 0, 973, 305, 9036 1010, 306, 308, 305, 305, 0, 0, 309, 987, 307, 9037 9038 308, 306, 309, 1015, 988, 0, 306, 305, 0, 307, 9039 308, 1008, 1013, 307, 307, 308, 309, 310, 1010, 306, 9040 308, 309, 310, 998, 998, 998, 309, 307, 308, 1016, 9041 310, 309, 1015, 311, 312, 0, 310, 313, 311, 312, 9042 1013, 311, 313, 852, 309, 852, 310, 1017, 0, 309, 9043 0, 310, 311, 312, 314, 0, 313, 1016, 310, 314, 9044 1018, 0, 311, 312, 310, 1028, 313, 311, 312, 1027, 9045 311, 313, 314, 314, 315, 0, 1017, 316, 852, 315, 9046 311, 312, 316, 314, 313, 1022, 1032, 315, 314, 1018, 9047 316, 852, 1034, 315, 1028, 0, 316, 1027, 316, 1036, 9048 9049 314, 314, 1021, 315, 317, 1023, 316, 852, 315, 317, 9050 317, 316, 0, 0, 1032, 315, 1043, 1022, 316, 852, 9051 1034, 315, 1049, 317, 316, 318, 316, 1036, 0, 319, 9052 318, 0, 319, 317, 319, 0, 318, 320, 317, 317, 9053 319, 1023, 320, 0, 318, 1043, 1022, 1021, 319, 1046, 9054 1049, 317, 0, 1024, 318, 1053, 320, 320, 319, 318, 9055 321, 319, 322, 319, 318, 321, 320, 322, 319, 323, 9056 1023, 320, 318, 1052, 323, 1021, 319, 323, 1046, 321, 9057 321, 322, 322, 1053, 320, 320, 0, 0, 323, 321, 9058 0, 322, 326, 1024, 321, 324, 322, 326, 323, 324, 9059 9060 324, 0, 1052, 323, 1060, 326, 323, 321, 321, 322, 9061 322, 326, 328, 0, 324, 325, 323, 328, 327, 325, 9062 325, 326, 1024, 327, 324, 327, 326, 1061, 324, 324, 9063 1058, 328, 1060, 326, 325, 0, 1055, 327, 329, 326, 9064 0, 328, 324, 329, 325, 330, 328, 327, 325, 325, 9065 330, 1057, 327, 332, 327, 332, 1061, 329, 0, 328, 9066 330, 331, 325, 332, 330, 327, 331, 329, 1041, 1041, 9067 1041, 1055, 329, 0, 330, 1058, 1064, 0, 331, 330, 9068 331, 1066, 333, 1056, 1057, 329, 332, 333, 330, 333, 9069 331, 332, 330, 334, 1072, 331, 0, 1074, 334, 334, 9070 9071 1055, 333, 336, 1058, 1064, 332, 331, 336, 331, 1076, 9072 1066, 333, 334, 1057, 336, 332, 333, 1056, 333, 335, 9073 332, 336, 334, 1072, 335, 1074, 1078, 334, 334, 333, 9074 0, 336, 335, 332, 0, 0, 336, 1076, 335, 337, 9075 334, 1085, 336, 0, 337, 338, 1056, 1094, 335, 336, 9076 338, 0, 974, 335, 1078, 1086, 337, 1090, 337, 1083, 9077 335, 876, 876, 876, 338, 0, 335, 0, 337, 876, 9078 1085, 1082, 876, 337, 338, 351, 1094, 351, 0, 338, 9079 946, 946, 946, 1086, 337, 1090, 337, 974, 946, 974, 9080 0, 946, 338, 351, 351, 351, 351, 351, 351, 351, 9081 9082 351, 351, 351, 352, 947, 947, 947, 1082, 0, 352, 9083 0, 1083, 947, 0, 1077, 947, 974, 0, 974, 352, 9084 352, 352, 352, 352, 352, 352, 352, 352, 352, 353, 9085 949, 949, 949, 0, 0, 353, 1082, 1098, 949, 1083, 9086 0, 949, 1070, 1070, 1070, 353, 353, 353, 353, 353, 9087 353, 353, 353, 353, 353, 357, 1092, 1092, 1092, 1077, 9088 1099, 357, 362, 363, 0, 364, 362, 362, 363, 357, 9089 364, 357, 357, 357, 357, 357, 357, 357, 357, 357, 9090 357, 362, 363, 1098, 364, 365, 365, 1077, 1099, 1103, 9091 365, 362, 363, 368, 364, 362, 362, 363, 1104, 364, 9092 9093 0, 366, 0, 0, 365, 366, 366, 0, 0, 362, 9094 363, 1098, 364, 1111, 365, 365, 1107, 1103, 366, 365, 9095 366, 367, 0, 433, 368, 367, 367, 1104, 433, 368, 9096 366, 1100, 365, 0, 366, 366, 950, 950, 950, 1113, 9097 367, 1111, 433, 368, 950, 1107, 366, 950, 366, 0, 9098 367, 1116, 433, 368, 367, 367, 383, 433, 368, 0, 9099 0, 999, 999, 999, 0, 0, 1100, 1113, 367, 999, 9100 433, 368, 999, 383, 383, 383, 383, 383, 383, 383, 9101 383, 383, 383, 384, 0, 1000, 1000, 1000, 1101, 1101, 9102 1101, 0, 383, 1000, 1121, 1100, 1000, 1116, 1127, 0, 9103 9104 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 9105 387, 0, 1001, 1001, 1001, 1117, 1117, 1117, 1136, 384, 9106 1001, 383, 1121, 1001, 0, 1116, 1127, 387, 387, 387, 9107 387, 387, 387, 387, 387, 387, 387, 404, 404, 404, 9108 404, 404, 404, 404, 404, 404, 404, 1136, 384, 405, 9109 405, 405, 405, 405, 405, 405, 405, 405, 405, 406, 9110 406, 406, 406, 406, 406, 406, 406, 406, 406, 407, 9111 407, 407, 407, 407, 407, 407, 407, 407, 407, 408, 9112 408, 408, 408, 408, 408, 408, 408, 408, 408, 409, 9113 409, 409, 409, 409, 409, 409, 409, 409, 409, 423, 9114 9115 423, 423, 423, 423, 423, 423, 423, 423, 423, 424, 9116 424, 424, 424, 424, 424, 424, 424, 424, 424, 425, 9117 425, 425, 425, 425, 425, 425, 425, 425, 425, 426, 9118 426, 426, 426, 426, 426, 426, 426, 426, 426, 427, 9119 427, 427, 427, 427, 427, 427, 427, 427, 427, 428, 9120 428, 428, 428, 428, 428, 428, 428, 428, 428, 429, 9121 1102, 429, 0, 0, 429, 429, 429, 429, 429, 429, 9122 429, 429, 429, 429, 430, 430, 430, 430, 430, 430, 9123 430, 430, 430, 430, 0, 436, 0, 434, 0, 431, 9124 436, 431, 434, 430, 431, 431, 431, 431, 431, 431, 9125 9126 431, 431, 431, 431, 436, 434, 434, 435, 437, 435, 9127 1144, 1102, 435, 437, 436, 0, 434, 1132, 1147, 436, 9128 0, 434, 430, 0, 438, 0, 435, 437, 438, 438, 9129 439, 0, 436, 434, 434, 439, 435, 437, 435, 1102, 9130 0, 435, 437, 438, 0, 1132, 440, 1140, 439, 439, 9131 1147, 440, 0, 438, 435, 437, 1144, 438, 438, 439, 9132 0, 0, 441, 0, 439, 440, 1114, 441, 442, 443, 9133 0, 438, 442, 442, 443, 440, 439, 439, 1139, 1147, 9134 440, 441, 0, 443, 1144, 446, 1146, 442, 443, 444, 9135 446, 441, 1140, 440, 444, 1143, 441, 442, 443, 1156, 9136 9137 444, 442, 442, 443, 446, 445, 0, 1149, 444, 441, 9138 445, 443, 0, 445, 446, 442, 443, 1114, 444, 446, 9139 1140, 447, 448, 444, 445, 447, 447, 448, 444, 1139, 9140 449, 1156, 446, 448, 445, 449, 444, 1146, 0, 445, 9141 447, 448, 445, 449, 1143, 1114, 1124, 1124, 1124, 449, 9142 447, 448, 445, 0, 447, 447, 448, 1139, 1149, 449, 9143 1156, 448, 451, 0, 449, 1146, 1145, 451, 447, 448, 9144 452, 449, 1143, 451, 453, 452, 1152, 449, 452, 453, 9145 0, 451, 0, 0, 1150, 454, 1149, 454, 0, 452, 9146 0, 451, 453, 453, 0, 0, 451, 0, 0, 452, 9147 9148 0, 451, 1145, 453, 452, 0, 0, 452, 453, 451, 9149 458, 1151, 1151, 1151, 457, 458, 0, 452, 454, 457, 9150 453, 453, 0, 454, 0, 1152, 454, 0, 457, 458, 9151 458, 1145, 0, 457, 0, 1150, 0, 454, 0, 458, 9152 454, 459, 0, 457, 458, 460, 459, 454, 457, 0, 9153 460, 0, 454, 1152, 1155, 454, 457, 458, 458, 460, 9154 459, 457, 468, 1150, 460, 454, 0, 468, 454, 455, 9155 459, 455, 0, 0, 460, 459, 1153, 1153, 1153, 460, 9156 0, 468, 0, 0, 461, 0, 0, 460, 459, 461, 9157 1155, 468, 460, 1158, 1158, 1158, 468, 1159, 1159, 1159, 9158 9159 455, 461, 0, 461, 0, 455, 463, 455, 0, 468, 9160 455, 463, 1157, 461, 455, 0, 0, 455, 461, 1155, 9161 455, 455, 0, 0, 455, 463, 0, 0, 0, 461, 9162 463, 461, 0, 0, 455, 463, 455, 0, 472, 455, 9163 463, 0, 455, 472, 0, 455, 462, 0, 455, 455, 9164 462, 462, 455, 463, 464, 465, 0, 472, 463, 464, 9165 465, 464, 0, 1157, 0, 462, 462, 472, 0, 0, 9166 0, 0, 472, 464, 465, 462, 465, 0, 0, 462, 9167 462, 0, 0, 464, 465, 472, 0, 0, 464, 465, 9168 464, 1157, 0, 462, 462, 0, 0, 0, 0, 0, 9169 9170 0, 464, 465, 0, 465, 469, 469, 469, 469, 469, 9171 469, 469, 469, 469, 469, 469, 0, 469, 469, 469, 9172 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9173 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9174 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9175 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9176 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9177 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9178 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 9179 469, 469, 469, 469, 470, 0, 471, 473, 471, 470, 9180 9181 0, 0, 473, 474, 1002, 1002, 1002, 0, 474, 0, 9182 0, 470, 1002, 470, 0, 1002, 473, 0, 0, 0, 9183 0, 0, 474, 470, 0, 0, 473, 471, 470, 471, 9184 476, 473, 474, 0, 471, 476, 0, 474, 477, 470, 9185 0, 470, 0, 477, 473, 0, 477, 0, 471, 476, 9186 474, 0, 0, 0, 0, 0, 0, 477, 471, 476, 9187 478, 0, 0, 471, 476, 478, 0, 477, 479, 0, 9188 0, 0, 477, 479, 0, 477, 471, 476, 0, 478, 9189 478, 0, 0, 0, 0, 477, 0, 479, 0, 478, 9190 480, 0, 0, 0, 478, 480, 0, 479, 480, 481, 9191 9192 0, 0, 479, 0, 481, 481, 0, 478, 478, 480, 9193 0, 0, 481, 0, 0, 479, 0, 0, 481, 480, 9194 0, 1003, 1003, 1003, 480, 0, 0, 480, 481, 1003, 9195 482, 487, 1003, 481, 481, 482, 487, 480, 482, 483, 9196 481, 483, 486, 0, 483, 0, 481, 486, 0, 482, 9197 487, 0, 0, 0, 0, 0, 486, 0, 483, 482, 9198 487, 486, 0, 0, 482, 487, 0, 482, 483, 490, 9199 483, 486, 0, 483, 490, 491, 486, 482, 487, 0, 9200 491, 0, 0, 490, 486, 0, 483, 0, 490, 486, 9201 0, 492, 0, 0, 491, 493, 492, 0, 490, 0, 9202 9203 493, 0, 492, 490, 491, 0, 493, 494, 0, 491, 9204 492, 490, 494, 0, 493, 0, 490, 0, 495, 0, 9205 492, 0, 491, 495, 493, 492, 494, 496, 0, 493, 9206 492, 0, 496, 0, 493, 496, 494, 495, 492, 497, 9207 0, 494, 493, 498, 497, 0, 496, 495, 498, 0, 9208 502, 0, 495, 0, 494, 502, 496, 0, 497, 0, 9209 0, 496, 498, 0, 496, 495, 499, 0, 497, 502, 9210 500, 499, 498, 497, 496, 500, 0, 498, 0, 502, 9211 499, 0, 500, 0, 502, 499, 497, 501, 0, 500, 9212 498, 501, 501, 503, 0, 499, 504, 502, 503, 500, 9213 9214 499, 504, 0, 0, 500, 0, 501, 0, 499, 0, 9215 500, 0, 503, 499, 0, 504, 501, 500, 505, 507, 9216 501, 501, 503, 505, 507, 504, 0, 503, 0, 508, 9217 504, 1042, 1042, 1042, 501, 505, 0, 505, 507, 1042, 9218 503, 506, 1042, 504, 0, 0, 506, 505, 507, 506, 9219 508, 0, 505, 507, 0, 508, 0, 509, 0, 0, 9220 506, 0, 509, 505, 0, 505, 507, 0, 0, 508, 9221 506, 0, 0, 0, 509, 506, 509, 0, 506, 508, 9222 0, 0, 510, 0, 508, 0, 509, 510, 506, 511, 9223 512, 509, 0, 510, 511, 512, 0, 508, 0, 0, 9224 9225 0, 510, 509, 512, 509, 0, 511, 0, 511, 512, 9226 0, 510, 0, 0, 0, 0, 510, 0, 511, 512, 9227 513, 510, 515, 511, 512, 513, 0, 515, 514, 510, 9228 514, 512, 0, 514, 511, 0, 511, 512, 517, 513, 9229 0, 515, 0, 0, 0, 516, 0, 514, 0, 513, 9230 516, 515, 0, 518, 513, 0, 515, 514, 518, 514, 9231 0, 517, 514, 0, 516, 519, 517, 513, 0, 515, 9232 519, 0, 518, 0, 516, 514, 0, 0, 0, 516, 9233 517, 0, 518, 0, 519, 0, 523, 518, 520, 0, 9234 517, 523, 516, 520, 519, 517, 0, 0, 0, 519, 9235 9236 518, 0, 520, 0, 0, 523, 0, 520, 517, 524, 9237 0, 0, 519, 524, 524, 523, 0, 520, 525, 0, 9238 523, 526, 520, 525, 0, 0, 526, 0, 524, 0, 9239 520, 0, 0, 523, 0, 520, 0, 525, 524, 0, 9240 526, 527, 524, 524, 528, 527, 527, 525, 528, 528, 9241 526, 0, 525, 0, 0, 526, 524, 0, 0, 0, 9242 527, 551, 0, 528, 0, 525, 551, 0, 526, 0, 9243 527, 0, 0, 528, 527, 527, 0, 528, 528, 539, 9244 551, 539, 0, 0, 0, 1071, 1071, 1071, 527, 0, 9245 551, 528, 0, 1071, 0, 551, 1071, 539, 539, 539, 9246 9247 539, 539, 539, 539, 539, 539, 539, 540, 551, 1093, 9248 1093, 1093, 0, 540, 0, 0, 0, 1093, 0, 0, 9249 1093, 0, 0, 540, 540, 540, 540, 540, 540, 540, 9250 540, 540, 540, 541, 548, 0, 548, 0, 0, 541, 9251 0, 0, 0, 0, 548, 0, 0, 0, 0, 541, 9252 541, 541, 541, 541, 541, 541, 541, 541, 541, 545, 9253 550, 0, 550, 0, 0, 545, 549, 548, 0, 0, 9254 548, 549, 548, 545, 549, 545, 545, 545, 545, 545, 9255 545, 545, 545, 545, 545, 549, 548, 0, 0, 0, 9256 0, 0, 0, 550, 0, 549, 548, 0, 550, 548, 9257 9258 549, 548, 552, 549, 0, 592, 0, 552, 552, 592, 9259 592, 0, 550, 549, 548, 552, 0, 0, 553, 552, 9260 553, 552, 550, 0, 592, 0, 0, 550, 553, 0, 9261 0, 552, 553, 0, 592, 0, 552, 552, 592, 592, 9262 550, 565, 0, 552, 0, 0, 0, 552, 0, 552, 9263 0, 553, 592, 565, 0, 565, 553, 0, 565, 565, 9264 565, 565, 565, 565, 565, 565, 565, 565, 0, 566, 9265 553, 1110, 1110, 1110, 0, 0, 0, 0, 0, 1110, 9266 553, 0, 1110, 0, 0, 553, 566, 566, 566, 566, 9267 566, 566, 566, 566, 566, 566, 567, 0, 553, 0, 9268 9269 0, 1125, 1125, 1125, 0, 566, 0, 0, 567, 1125, 9270 567, 0, 1125, 567, 567, 567, 567, 567, 567, 567, 9271 567, 567, 567, 588, 588, 588, 588, 588, 588, 588, 9272 588, 588, 588, 0, 566, 589, 589, 589, 589, 589, 9273 589, 589, 589, 589, 589, 590, 590, 590, 590, 590, 9274 590, 590, 590, 590, 590, 591, 591, 591, 591, 591, 9275 591, 591, 591, 591, 591, 593, 0, 0, 595, 0, 9276 593, 0, 0, 595, 1134, 1134, 1134, 0, 1135, 1135, 9277 1135, 0, 1134, 595, 593, 1134, 1135, 595, 0, 1135, 9278 0, 0, 0, 0, 593, 0, 0, 595, 0, 593, 9279 9280 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 9281 0, 595, 593, 594, 594, 595, 594, 594, 594, 594, 9282 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9283 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9284 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9285 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9286 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9287 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9288 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9289 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 9290 9291 594, 594, 596, 597, 596, 598, 600, 596, 597, 599, 9292 598, 600, 0, 599, 599, 0, 0, 0, 598, 600, 9293 0, 596, 597, 0, 598, 600, 0, 0, 599, 0, 9294 0, 596, 597, 596, 598, 600, 596, 597, 599, 598, 9295 600, 0, 599, 599, 0, 0, 598, 600, 0, 596, 9296 597, 0, 598, 600, 601, 602, 599, 603, 0, 601, 9297 602, 605, 603, 0, 0, 605, 605, 0, 0, 602, 9298 0, 0, 0, 601, 602, 603, 603, 0, 0, 0, 9299 605, 0, 0, 601, 602, 0, 603, 606, 601, 602, 9300 605, 603, 606, 0, 605, 605, 0, 602, 606, 0, 9301 9302 0, 601, 602, 603, 603, 0, 606, 0, 605, 609, 9303 607, 0, 0, 610, 609, 607, 606, 607, 610, 0, 9304 610, 606, 0, 0, 0, 0, 606, 0, 609, 607, 9305 0, 0, 610, 0, 606, 619, 621, 0, 609, 607, 9306 619, 621, 610, 609, 607, 0, 607, 610, 0, 610, 9307 0, 0, 0, 0, 619, 621, 609, 607, 620, 0, 9308 610, 0, 0, 620, 619, 621, 0, 0, 0, 619, 9309 621, 620, 0, 0, 623, 622, 0, 620, 622, 623, 9310 622, 0, 619, 621, 0, 0, 0, 620, 623, 0, 9311 0, 624, 620, 623, 622, 0, 624, 0, 0, 620, 9312 9313 0, 0, 624, 623, 622, 620, 0, 622, 623, 622, 9314 624, 0, 625, 625, 626, 0, 623, 625, 628, 626, 9315 624, 623, 622, 628, 0, 624, 0, 0, 0, 626, 9316 624, 625, 0, 626, 0, 627, 0, 628, 624, 627, 9317 627, 625, 625, 626, 0, 0, 625, 628, 626, 0, 9318 0, 0, 628, 629, 627, 629, 0, 626, 0, 625, 9319 0, 626, 0, 632, 627, 628, 0, 0, 627, 627, 9320 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 9321 632, 0, 627, 633, 629, 632, 629, 634, 633, 637, 9322 0, 629, 634, 0, 637, 0, 0, 0, 0, 632, 9323 9324 634, 0, 633, 0, 0, 629, 634, 0, 637, 632, 9325 0, 0, 633, 0, 632, 629, 634, 633, 637, 638, 9326 629, 634, 0, 637, 638, 0, 0, 632, 634, 0, 9327 633, 0, 0, 629, 634, 639, 637, 0, 638, 641, 9328 639, 641, 642, 639, 641, 642, 643, 642, 638, 0, 9329 0, 643, 0, 638, 639, 0, 0, 0, 641, 0, 9330 0, 642, 644, 0, 639, 643, 638, 644, 641, 639, 9331 641, 642, 639, 641, 642, 643, 642, 0, 0, 644, 9332 643, 644, 639, 645, 0, 646, 641, 645, 645, 642, 9333 646, 644, 647, 643, 648, 0, 644, 647, 0, 648, 9334 9335 0, 0, 645, 0, 646, 647, 0, 644, 0, 644, 9336 0, 647, 645, 648, 646, 0, 645, 645, 0, 646, 9337 0, 647, 0, 648, 0, 0, 647, 0, 648, 649, 9338 645, 649, 646, 647, 649, 650, 0, 0, 0, 647, 9339 650, 648, 0, 0, 0, 0, 650, 0, 649, 0, 9340 0, 0, 0, 0, 650, 0, 0, 0, 649, 0, 9341 649, 652, 0, 649, 650, 651, 652, 651, 0, 650, 9342 651, 0, 652, 653, 650, 0, 649, 653, 653, 0, 9343 652, 0, 650, 0, 651, 0, 0, 0, 0, 0, 9344 652, 0, 653, 0, 651, 652, 651, 0, 655, 651, 9345 9346 652, 0, 653, 655, 0, 654, 653, 653, 652, 656, 9347 654, 0, 651, 654, 656, 0, 0, 655, 0, 0, 9348 653, 0, 656, 0, 654, 657, 0, 655, 656, 657, 9349 657, 0, 655, 0, 654, 0, 658, 0, 656, 654, 9350 0, 658, 654, 656, 657, 655, 0, 0, 660, 0, 9351 656, 0, 654, 660, 657, 658, 656, 659, 657, 657, 9352 0, 659, 659, 0, 0, 658, 0, 660, 661, 662, 9353 658, 0, 657, 661, 662, 0, 659, 660, 0, 0, 9354 0, 0, 660, 658, 0, 0, 659, 661, 662, 0, 9355 659, 659, 0, 0, 663, 660, 663, 661, 662, 663, 9356 9357 665, 666, 661, 662, 659, 665, 666, 0, 0, 0, 9358 0, 0, 0, 663, 0, 661, 662, 0, 665, 665, 9359 666, 0, 0, 663, 0, 663, 667, 0, 663, 665, 9360 666, 667, 0, 0, 665, 666, 0, 668, 0, 667, 9361 668, 663, 668, 0, 0, 667, 665, 665, 666, 669, 9362 0, 0, 0, 672, 669, 667, 668, 671, 672, 0, 9363 667, 0, 671, 0, 0, 0, 668, 667, 669, 668, 9364 0, 668, 672, 667, 673, 0, 671, 671, 669, 673, 9365 674, 0, 672, 669, 668, 674, 671, 672, 0, 0, 9366 0, 671, 0, 673, 0, 0, 669, 0, 0, 674, 9367 9368 672, 0, 0, 673, 671, 671, 0, 0, 673, 674, 9369 0, 0, 690, 0, 674, 0, 0, 0, 690, 695, 9370 0, 673, 0, 695, 695, 0, 690, 674, 690, 690, 9371 690, 690, 690, 690, 690, 690, 690, 690, 695, 696, 9372 698, 699, 0, 0, 696, 698, 699, 696, 695, 0, 9373 0, 698, 695, 695, 0, 0, 0, 0, 696, 698, 9374 699, 0, 0, 0, 0, 0, 695, 0, 696, 698, 9375 699, 0, 709, 696, 698, 699, 696, 0, 0, 698, 9376 0, 0, 710, 0, 0, 0, 696, 698, 699, 709, 9377 709, 709, 709, 709, 709, 709, 709, 709, 709, 710, 9378 9379 710, 710, 710, 710, 710, 710, 710, 710, 710, 711, 9380 0, 0, 0, 0, 0, 0, 0, 0, 0, 712, 9381 0, 0, 0, 0, 0, 0, 711, 711, 711, 711, 9382 711, 711, 711, 711, 711, 711, 712, 712, 712, 712, 9383 712, 712, 712, 712, 712, 712, 715, 715, 715, 715, 9384 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9385 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9386 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9387 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9388 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9389 9390 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9391 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9392 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 9393 715, 715, 715, 715, 715, 719, 719, 719, 0, 0, 9394 719, 719, 0, 719, 0, 0, 0, 719, 719, 0, 9395 0, 719, 0, 0, 719, 719, 719, 719, 719, 719, 9396 719, 719, 719, 732, 732, 0, 732, 732, 732, 732, 9397 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9398 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9399 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9400 9401 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9402 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9403 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9404 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9405 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 9406 732, 732, 733, 0, 0, 735, 0, 733, 734, 734, 9407 734, 734, 734, 734, 734, 734, 734, 734, 736, 737, 9408 0, 733, 735, 736, 737, 738, 0, 735, 0, 0, 9409 738, 733, 0, 0, 0, 0, 733, 736, 737, 0, 9410 0, 735, 0, 0, 738, 739, 0, 736, 737, 733, 9411 9412 739, 735, 736, 737, 738, 0, 735, 740, 0, 738, 9413 0, 0, 740, 0, 739, 736, 737, 0, 741, 735, 9414 0, 0, 738, 741, 739, 0, 740, 0, 0, 739, 9415 740, 0, 0, 0, 0, 0, 740, 741, 741, 0, 9416 0, 740, 739, 742, 0, 742, 0, 741, 742, 0, 9417 747, 743, 741, 0, 740, 747, 743, 0, 740, 743, 9418 0, 745, 742, 745, 0, 741, 741, 0, 0, 747, 9419 743, 0, 742, 750, 742, 0, 0, 742, 750, 747, 9420 743, 0, 746, 0, 747, 743, 746, 746, 743, 0, 9421 742, 0, 750, 0, 745, 0, 745, 747, 743, 745, 9422 9423 0, 746, 750, 0, 0, 0, 0, 750, 0, 745, 9424 0, 746, 0, 745, 751, 746, 746, 0, 751, 751, 9425 750, 0, 0, 745, 0, 745, 762, 0, 745, 746, 9426 0, 762, 0, 751, 761, 0, 761, 745, 0, 761, 9427 0, 745, 0, 751, 0, 762, 762, 751, 751, 0, 9428 0, 763, 0, 761, 0, 762, 763, 763, 0, 0, 9429 762, 751, 0, 761, 0, 761, 0, 0, 761, 0, 9430 763, 764, 765, 762, 762, 764, 764, 765, 766, 0, 9431 763, 761, 766, 766, 0, 763, 763, 0, 0, 765, 9432 764, 765, 0, 0, 771, 0, 0, 766, 763, 771, 9433 9434 764, 765, 0, 767, 764, 764, 765, 766, 767, 0, 9435 768, 766, 766, 771, 772, 768, 772, 765, 764, 765, 9436 767, 768, 767, 771, 772, 766, 773, 0, 771, 768, 9437 0, 773, 767, 0, 0, 0, 0, 767, 0, 768, 9438 773, 771, 0, 0, 768, 773, 774, 772, 767, 768, 9439 767, 774, 772, 0, 774, 773, 0, 768, 775, 0, 9440 773, 0, 775, 775, 0, 774, 772, 776, 773, 778, 9441 0, 776, 776, 773, 778, 774, 772, 775, 0, 0, 9442 774, 772, 0, 774, 0, 0, 776, 775, 778, 0, 9443 777, 775, 775, 774, 772, 777, 776, 0, 778, 779, 9444 9445 776, 776, 0, 778, 779, 775, 0, 777, 0, 777, 9446 780, 0, 0, 0, 776, 780, 778, 779, 779, 777, 9447 0, 780, 781, 0, 777, 0, 0, 781, 779, 780, 9448 0, 782, 0, 779, 0, 777, 782, 777, 0, 780, 9449 0, 781, 783, 784, 780, 779, 779, 783, 784, 780, 9450 782, 781, 0, 785, 0, 785, 781, 780, 0, 0, 9451 782, 783, 784, 786, 0, 782, 0, 0, 786, 781, 9452 0, 783, 784, 0, 787, 0, 783, 784, 782, 787, 9453 0, 786, 786, 788, 0, 0, 785, 0, 788, 783, 9454 784, 785, 786, 787, 789, 0, 0, 786, 787, 789, 9455 9456 0, 785, 788, 787, 0, 785, 0, 0, 787, 786, 9457 786, 0, 788, 789, 0, 785, 0, 788, 0, 790, 9458 785, 787, 0, 789, 790, 0, 787, 791, 789, 785, 9459 788, 791, 791, 785, 0, 0, 790, 0, 790, 792, 9460 0, 789, 0, 0, 792, 0, 791, 0, 790, 0, 9461 0, 792, 0, 790, 0, 0, 791, 0, 792, 0, 9462 791, 791, 793, 0, 790, 0, 790, 793, 792, 0, 9463 795, 796, 0, 792, 791, 795, 796, 0, 795, 792, 9464 0, 793, 797, 0, 0, 0, 792, 797, 0, 795, 9465 796, 793, 0, 798, 0, 799, 793, 799, 798, 795, 9466 9467 796, 797, 0, 0, 795, 796, 0, 795, 0, 793, 9468 0, 797, 798, 0, 0, 0, 797, 795, 796, 800, 9469 801, 0, 798, 0, 800, 801, 816, 798, 799, 797, 9470 799, 816, 0, 799, 0, 0, 0, 0, 800, 801, 9471 798, 0, 0, 0, 0, 816, 0, 799, 800, 801, 9472 0, 817, 0, 800, 801, 816, 817, 799, 0, 799, 9473 816, 0, 799, 0, 817, 0, 800, 801, 0, 818, 9474 817, 818, 0, 816, 842, 799, 802, 802, 802, 802, 9475 817, 0, 0, 0, 0, 817, 0, 0, 0, 0, 9476 819, 842, 817, 0, 0, 819, 842, 0, 817, 0, 9477 9478 0, 0, 818, 0, 0, 0, 0, 818, 0, 819, 9479 842, 802, 802, 0, 0, 802, 0, 802, 0, 819, 9480 842, 818, 0, 0, 819, 842, 0, 0, 802, 802, 9481 0, 818, 0, 0, 0, 0, 818, 819, 842, 0, 9482 802, 802, 0, 0, 802, 0, 802, 0, 0, 818, 9483 0, 0, 0, 0, 0, 0, 802, 802, 827, 827, 9484 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9485 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9486 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9487 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9488 9489 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9490 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9491 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9492 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, 9493 827, 827, 827, 827, 827, 827, 827, 828, 841, 841, 9494 841, 841, 841, 841, 841, 841, 841, 841, 0, 0, 9495 0, 0, 0, 0, 828, 828, 828, 828, 828, 828, 9496 828, 828, 828, 828, 829, 829, 829, 829, 829, 829, 9497 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9498 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9499 9500 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9501 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9502 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9503 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9504 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9505 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 9506 829, 829, 829, 843, 0, 844, 0, 847, 843, 844, 9507 844, 845, 847, 845, 846, 0, 845, 0, 846, 846, 9508 0, 0, 843, 0, 844, 0, 847, 0, 0, 0, 9509 845, 0, 843, 846, 844, 0, 847, 843, 844, 844, 9510 9511 845, 847, 845, 846, 849, 845, 0, 846, 846, 849, 9512 843, 848, 844, 0, 847, 848, 848, 0, 845, 0, 9513 850, 846, 0, 849, 0, 850, 0, 853, 0, 0, 9514 848, 854, 853, 849, 850, 0, 854, 0, 849, 850, 9515 848, 853, 0, 0, 848, 848, 853, 0, 854, 850, 9516 854, 849, 855, 0, 850, 0, 853, 855, 848, 0, 9517 854, 853, 850, 858, 0, 854, 0, 850, 858, 853, 9518 0, 855, 866, 0, 853, 0, 854, 866, 854, 0, 9519 858, 855, 858, 867, 0, 0, 855, 0, 867, 0, 9520 0, 866, 858, 0, 867, 0, 0, 858, 0, 855, 9521 9522 0, 866, 867, 0, 868, 0, 866, 0, 858, 868, 9523 858, 0, 867, 869, 0, 869, 0, 867, 869, 866, 9524 0, 868, 867, 868, 0, 0, 0, 0, 0, 870, 9525 867, 0, 869, 868, 870, 871, 0, 0, 868, 0, 9526 871, 0, 869, 870, 869, 0, 0, 869, 870, 868, 9527 0, 868, 0, 0, 871, 0, 0, 0, 870, 0, 9528 869, 872, 0, 870, 871, 872, 872, 0, 873, 871, 9529 874, 870, 873, 873, 0, 874, 870, 0, 0, 0, 9530 872, 874, 871, 0, 0, 0, 0, 873, 0, 874, 9531 872, 878, 0, 877, 872, 872, 878, 873, 877, 874, 9532 9533 0, 873, 873, 0, 874, 0, 877, 0, 872, 874, 9534 878, 0, 877, 879, 880, 873, 881, 874, 879, 880, 9535 878, 881, 877, 0, 0, 878, 0, 877, 0, 0, 9536 0, 0, 879, 880, 877, 881, 882, 0, 878, 0, 9537 877, 882, 879, 880, 882, 881, 0, 879, 880, 0, 9538 881, 0, 883, 886, 0, 882, 0, 883, 886, 885, 9539 879, 880, 0, 881, 885, 882, 0, 0, 0, 0, 9540 882, 883, 886, 882, 0, 0, 885, 0, 885, 887, 9541 0, 883, 886, 882, 887, 0, 883, 886, 885, 0, 9542 888, 890, 0, 885, 0, 888, 890, 0, 887, 883, 9543 9544 886, 888, 891, 0, 885, 0, 885, 891, 887, 888, 9545 890, 889, 0, 887, 0, 889, 889, 0, 0, 888, 9546 890, 891, 892, 897, 888, 890, 887, 892, 897, 888, 9547 889, 891, 0, 0, 895, 0, 891, 888, 890, 895, 9548 889, 892, 897, 906, 889, 889, 0, 0, 906, 891, 9549 0, 892, 897, 895, 0, 895, 892, 897, 889, 898, 9550 0, 0, 906, 895, 898, 0, 907, 898, 895, 892, 9551 897, 907, 906, 0, 0, 0, 0, 906, 898, 0, 9552 0, 895, 0, 895, 907, 907, 0, 0, 898, 909, 9553 906, 909, 0, 898, 909, 907, 898, 0, 0, 0, 9554 9555 907, 0, 0, 0, 0, 0, 898, 914, 909, 0, 9556 0, 0, 907, 907, 0, 0, 917, 917, 909, 0, 9557 909, 917, 0, 909, 914, 914, 914, 914, 914, 914, 9558 914, 914, 914, 914, 0, 917, 909, 918, 0, 919, 9559 0, 0, 918, 919, 919, 917, 917, 0, 920, 0, 9560 917, 0, 0, 920, 0, 0, 918, 0, 919, 0, 9561 0, 0, 0, 917, 0, 920, 918, 920, 919, 921, 9562 922, 918, 919, 919, 921, 922, 0, 920, 923, 0, 9563 0, 0, 920, 923, 918, 0, 919, 0, 921, 922, 9564 0, 923, 0, 920, 0, 920, 0, 923, 921, 922, 9565 9566 0, 927, 0, 921, 922, 928, 927, 923, 0, 928, 9567 928, 0, 923, 927, 0, 0, 921, 922, 0, 923, 9568 927, 938, 0, 0, 928, 923, 938, 930, 940, 938, 9569 927, 930, 930, 940, 928, 927, 0, 0, 928, 928, 9570 938, 927, 0, 0, 0, 0, 930, 940, 927, 0, 9571 938, 0, 928, 0, 0, 938, 930, 940, 938, 939, 9572 930, 930, 940, 939, 939, 941, 942, 0, 938, 0, 9573 941, 942, 0, 0, 930, 940, 0, 0, 939, 0, 9574 0, 0, 943, 0, 941, 942, 942, 943, 939, 0, 9575 0, 944, 939, 939, 941, 942, 944, 0, 0, 941, 9576 9577 942, 943, 945, 0, 944, 0, 939, 945, 0, 0, 9578 944, 943, 941, 942, 942, 0, 943, 0, 951, 0, 9579 944, 945, 952, 951, 0, 944, 0, 952, 0, 943, 9580 0, 945, 944, 0, 0, 0, 945, 951, 944, 955, 9581 0, 952, 0, 953, 955, 953, 0, 951, 953, 945, 9582 0, 952, 951, 955, 0, 0, 952, 0, 955, 956, 9583 0, 0, 953, 0, 956, 951, 957, 0, 955, 952, 9584 958, 957, 953, 955, 953, 958, 0, 953, 956, 0, 9585 0, 955, 0, 0, 0, 957, 955, 958, 956, 958, 9586 953, 0, 960, 956, 0, 957, 960, 960, 0, 958, 9587 9588 957, 0, 0, 963, 958, 0, 956, 0, 963, 962, 9589 0, 960, 0, 957, 962, 958, 963, 958, 0, 0, 9590 0, 960, 963, 0, 0, 960, 960, 962, 962, 969, 9591 0, 0, 963, 0, 969, 970, 0, 963, 962, 960, 9592 970, 971, 0, 962, 963, 971, 971, 0, 969, 969, 9593 963, 0, 976, 0, 970, 962, 962, 976, 969, 0, 9594 971, 975, 0, 969, 970, 0, 975, 0, 977, 970, 9595 971, 976, 975, 977, 971, 971, 969, 969, 0, 0, 9596 975, 976, 970, 0, 979, 0, 976, 977, 971, 979, 9597 975, 0, 0, 985, 0, 975, 0, 977, 985, 976, 9598 9599 975, 978, 977, 979, 982, 978, 978, 0, 975, 982, 9600 0, 0, 985, 979, 0, 977, 0, 0, 979, 982, 9601 978, 0, 985, 982, 983, 0, 983, 985, 0, 983, 9602 978, 979, 0, 982, 978, 978, 0, 0, 982, 0, 9603 985, 993, 0, 983, 994, 992, 993, 982, 978, 994, 9604 992, 982, 0, 983, 0, 983, 994, 0, 983, 992, 9605 993, 995, 0, 994, 992, 0, 995, 996, 0, 0, 9606 993, 983, 996, 994, 992, 993, 0, 0, 994, 992, 9607 995, 0, 0, 0, 994, 0, 996, 992, 993, 0, 9608 995, 994, 992, 1004, 0, 995, 996, 997, 1004, 997, 9609 9610 1007, 996, 997, 0, 1006, 1007, 1006, 0, 995, 1006, 9611 0, 0, 1004, 0, 996, 0, 997, 0, 0, 1007, 9612 1009, 0, 1004, 1006, 0, 1009, 997, 1004, 997, 1007, 9613 0, 997, 0, 1006, 1007, 1006, 0, 1011, 1006, 1009, 9614 1004, 1011, 1011, 0, 997, 0, 0, 1007, 0, 1009, 9615 0, 1006, 0, 1012, 1009, 0, 1011, 1012, 1012, 0, 9616 1020, 0, 0, 0, 1019, 1020, 1011, 1009, 0, 1019, 9617 1011, 1011, 1012, 0, 0, 1019, 1025, 0, 0, 1020, 9618 1025, 1025, 1012, 1019, 1011, 1026, 1012, 1012, 0, 1020, 9619 1026, 0, 0, 1019, 1020, 1025, 0, 1029, 1019, 0, 9620 9621 1012, 0, 1029, 1019, 1026, 1025, 0, 1020, 1029, 1025, 9622 1025, 1019, 0, 0, 1026, 0, 1029, 0, 0, 1026, 9623 1030, 0, 1037, 1025, 1038, 1030, 1029, 1037, 1030, 1038, 9624 0, 1029, 1026, 0, 0, 1037, 1029, 0, 0, 1030, 9625 0, 1037, 0, 1038, 1029, 0, 0, 1039, 0, 1030, 9626 0, 1037, 1039, 1038, 1030, 1039, 1037, 1030, 1038, 1047, 9627 0, 0, 0, 1037, 1047, 0, 1039, 1030, 1040, 1037, 9628 1044, 1038, 1040, 1040, 1044, 1044, 1039, 0, 1047, 0, 9629 0, 1039, 0, 0, 1039, 0, 0, 1040, 1047, 1044, 9630 1048, 1054, 0, 1047, 1039, 1048, 1054, 1040, 0, 1044, 9631 9632 0, 1040, 1040, 1044, 1044, 0, 1047, 1059, 0, 1048, 9633 1054, 0, 1059, 0, 0, 1040, 1063, 1044, 0, 1048, 9634 1054, 1063, 0, 1062, 1048, 1054, 1059, 1062, 1062, 0, 9635 0, 0, 0, 0, 1063, 1063, 1059, 1048, 1054, 1067, 9636 0, 1059, 1062, 0, 1067, 1063, 1068, 0, 1069, 0, 9637 1063, 1068, 1062, 1069, 1059, 0, 1062, 1062, 1067, 1068, 9638 0, 0, 1063, 1063, 0, 1068, 0, 1069, 1067, 1073, 9639 1062, 1080, 1073, 1067, 1073, 1068, 1080, 1069, 0, 0, 9640 1068, 0, 1069, 0, 0, 0, 1067, 1068, 1073, 0, 9641 1080, 1087, 0, 1068, 1088, 1069, 1087, 0, 1073, 1088, 9642 9643 1080, 1073, 1088, 1073, 0, 1080, 0, 0, 0, 0, 9644 1087, 0, 0, 1088, 1087, 0, 1073, 1091, 1080, 0, 9645 1087, 1091, 1091, 1088, 1095, 1087, 0, 0, 1088, 1095, 9646 0, 1088, 0, 0, 0, 0, 1091, 0, 1087, 0, 9647 1105, 1088, 1087, 1095, 1095, 1105, 1091, 1106, 0, 1108, 9648 1091, 1091, 1106, 1095, 1108, 0, 0, 0, 1095, 1105, 9649 0, 1106, 0, 0, 1091, 0, 1106, 0, 1108, 1105, 9650 0, 1095, 1095, 0, 1105, 0, 1106, 0, 1108, 0, 9651 0, 1106, 0, 1108, 0, 0, 0, 1105, 0, 1106, 9652 0, 0, 0, 0, 1106, 0, 1108, 1109, 1109, 1109, 9653 9654 0, 0, 1109, 1109, 0, 1109, 0, 0, 0, 1109, 9655 1109, 0, 0, 1109, 0, 0, 1109, 1109, 1109, 1109, 9656 1109, 1109, 1109, 1109, 1109, 1112, 1122, 0, 0, 0, 9657 1112, 1122, 0, 0, 0, 0, 0, 0, 0, 1122, 9658 0, 0, 1112, 0, 1112, 1122, 0, 0, 0, 0, 9659 0, 0, 0, 0, 1112, 1122, 0, 0, 0, 1112, 9660 1122, 0, 0, 0, 0, 0, 0, 1122, 0, 0, 9661 1112, 0, 1112, 1122, 1126, 1126, 1126, 0, 0, 1126, 9662 1126, 0, 1126, 0, 1128, 1126, 1126, 1126, 1128, 1128, 9663 1126, 0, 0, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 9664 9665 1126, 1126, 0, 1128, 1133, 1137, 0, 0, 0, 1133, 9666 1137, 0, 0, 1128, 0, 0, 0, 1128, 1128, 0, 9667 0, 0, 0, 1133, 1137, 0, 0, 0, 0, 0, 9668 0, 1128, 0, 1133, 1137, 0, 0, 0, 1133, 1137, 7841 217, 217, 217, 217, 217, 217, 217, 217, 220, 219, 7842 227, 228, 230, 248, 245, 229, 254, 255, 217, 217, 7843 7844 217, 217, 217, 219, 237, 220, 232, 232, 232, 256, 7845 257, 237, 237, 259, 232, 232, 0, 220, 219, 228, 7846 230, 248, 245, 0, 254, 255, 233, 233, 233, 217, 7847 217, 219, 0, 220, 233, 233, 236, 256, 257, 0, 7848 238, 259, 238, 236, 236, 238, 238, 238, 238, 238, 7849 238, 238, 238, 238, 238, 260, 237, 217, 218, 218, 7850 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 7851 218, 218, 218, 218, 218, 218, 218, 261, 262, 236, 7852 378, 378, 378, 260, 237, 0, 0, 218, 218, 218, 7853 218, 218, 218, 251, 251, 251, 251, 251, 251, 251, 7854 7855 251, 251, 251, 263, 264, 261, 262, 236, 252, 252, 7856 252, 252, 252, 252, 252, 252, 252, 252, 218, 218, 7857 253, 218, 253, 547, 547, 547, 0, 0, 266, 267, 7858 253, 263, 264, 265, 268, 269, 265, 0, 270, 271, 7859 272, 273, 274, 0, 0, 266, 218, 250, 250, 250, 7860 250, 250, 250, 250, 250, 250, 250, 266, 267, 277, 7861 281, 265, 268, 269, 265, 250, 250, 270, 271, 272, 7862 273, 274, 276, 266, 276, 282, 283, 278, 250, 278, 7863 0, 0, 279, 279, 284, 285, 286, 285, 277, 281, 7864 287, 0, 289, 290, 250, 250, 291, 292, 288, 293, 7865 7866 288, 295, 0, 276, 282, 283, 250, 275, 278, 275, 7867 279, 279, 284, 294, 286, 299, 285, 0, 298, 287, 7868 289, 290, 0, 300, 291, 292, 294, 293, 302, 0, 7869 295, 296, 301, 296, 301, 0, 303, 297, 275, 297, 7870 304, 296, 294, 275, 299, 275, 298, 297, 275, 0, 7871 288, 300, 275, 306, 294, 275, 305, 302, 275, 275, 7872 308, 0, 275, 301, 303, 309, 310, 312, 304, 313, 7873 315, 311, 275, 316, 275, 296, 317, 275, 288, 311, 7874 275, 297, 306, 275, 305, 296, 275, 275, 318, 308, 7875 275, 297, 314, 309, 310, 319, 312, 313, 315, 311, 7876 7877 314, 316, 320, 296, 317, 321, 322, 311, 323, 297, 7878 324, 325, 326, 296, 328, 329, 327, 318, 327, 297, 7879 330, 314, 331, 332, 319, 333, 327, 334, 314, 335, 7880 339, 320, 341, 321, 342, 322, 323, 343, 324, 325, 7881 326, 344, 345, 328, 329, 346, 347, 352, 330, 0, 7882 331, 332, 0, 333, 351, 334, 363, 335, 339, 348, 7883 341, 348, 342, 353, 0, 343, 355, 356, 358, 344, 7884 345, 357, 359, 346, 376, 347, 369, 348, 348, 348, 7885 348, 348, 348, 348, 348, 348, 348, 349, 357, 869, 7886 352, 361, 351, 349, 363, 355, 356, 358, 371, 0, 7887 7888 357, 359, 376, 349, 349, 349, 349, 349, 349, 349, 7889 349, 349, 349, 350, 368, 353, 357, 370, 352, 350, 7890 361, 351, 377, 363, 379, 383, 0, 371, 369, 350, 7891 350, 350, 350, 350, 350, 350, 350, 350, 350, 1005, 7892 0, 360, 372, 353, 354, 364, 364, 364, 381, 869, 7893 354, 377, 379, 372, 360, 370, 369, 368, 354, 373, 7894 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 7895 360, 372, 374, 380, 384, 383, 382, 373, 354, 354, 7896 0, 372, 360, 375, 370, 368, 364, 406, 373, 385, 7897 398, 354, 374, 405, 375, 381, 385, 385, 653, 1005, 7898 7899 653, 374, 380, 383, 0, 373, 386, 354, 354, 382, 7900 384, 0, 375, 386, 386, 364, 406, 387, 398, 354, 7901 374, 405, 375, 381, 387, 387, 388, 388, 388, 388, 7902 388, 388, 388, 388, 388, 388, 408, 410, 382, 384, 7903 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 7904 402, 411, 402, 387, 413, 0, 386, 414, 0, 415, 7905 402, 416, 417, 418, 420, 408, 410, 421, 422, 423, 7906 424, 425, 426, 429, 426, 430, 431, 0, 432, 411, 7907 433, 435, 387, 413, 386, 436, 414, 415, 434, 416, 7908 417, 439, 418, 420, 442, 421, 422, 423, 424, 425, 7909 7910 437, 429, 437, 430, 434, 431, 432, 444, 433, 435, 7911 440, 446, 440, 426, 436, 447, 445, 434, 445, 439, 7912 450, 448, 442, 448, 1009, 451, 452, 426, 454, 0, 7913 457, 437, 434, 455, 456, 444, 458, 459, 460, 446, 7914 464, 440, 426, 458, 447, 463, 468, 445, 467, 450, 7915 0, 469, 448, 451, 452, 426, 427, 454, 427, 457, 7916 470, 455, 456, 0, 480, 458, 459, 460, 461, 464, 7917 461, 458, 465, 463, 465, 468, 467, 478, 461, 469, 7918 483, 472, 465, 472, 1009, 479, 481, 427, 470, 482, 7919 484, 475, 427, 480, 427, 485, 493, 427, 503, 475, 7920 7921 488, 427, 0, 489, 427, 478, 490, 427, 427, 483, 7922 491, 427, 472, 479, 481, 0, 0, 482, 484, 0, 7923 506, 427, 506, 427, 485, 493, 427, 503, 488, 427, 7924 475, 489, 427, 499, 490, 427, 427, 0, 491, 427, 7925 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 7926 443, 506, 443, 443, 443, 443, 443, 443, 443, 475, 7927 507, 499, 508, 509, 494, 500, 494, 500, 513, 443, 7928 443, 443, 443, 443, 494, 500, 514, 515, 516, 517, 7929 518, 523, 524, 655, 535, 655, 525, 0, 667, 507, 7930 667, 508, 509, 520, 529, 520, 527, 513, 563, 1031, 7931 7932 443, 443, 529, 540, 514, 531, 515, 516, 517, 518, 7933 537, 520, 520, 520, 520, 520, 520, 520, 520, 520, 7934 520, 521, 525, 529, 527, 545, 563, 521, 443, 565, 7935 523, 529, 524, 535, 531, 0, 0, 521, 521, 521, 7936 521, 521, 521, 521, 521, 521, 521, 522, 0, 538, 7937 539, 525, 540, 522, 545, 537, 568, 565, 523, 1031, 7938 524, 535, 0, 522, 522, 522, 522, 522, 522, 522, 7939 522, 522, 522, 526, 532, 536, 536, 536, 0, 526, 7940 540, 532, 548, 537, 568, 532, 539, 526, 541, 526, 7941 526, 526, 526, 526, 526, 526, 526, 526, 526, 538, 7942 7943 533, 0, 533, 532, 552, 550, 541, 526, 526, 532, 7944 533, 548, 561, 532, 533, 539, 536, 541, 542, 0, 7945 526, 543, 542, 554, 544, 543, 562, 538, 544, 566, 7946 554, 554, 569, 576, 541, 555, 526, 526, 550, 577, 7947 552, 561, 555, 555, 570, 536, 571, 542, 526, 573, 7948 543, 542, 574, 544, 543, 562, 575, 544, 566, 554, 7949 0, 569, 576, 581, 659, 659, 659, 550, 577, 552, 7950 0, 578, 570, 578, 571, 0, 641, 573, 641, 579, 7951 574, 580, 0, 582, 575, 583, 641, 584, 554, 564, 7952 564, 581, 564, 564, 564, 564, 564, 564, 564, 564, 7953 7954 564, 564, 564, 564, 564, 564, 564, 564, 579, 585, 7955 580, 582, 578, 586, 583, 584, 587, 588, 564, 564, 7956 564, 564, 564, 590, 592, 0, 578, 593, 594, 586, 7957 595, 0, 596, 597, 598, 608, 599, 585, 599, 0, 7958 602, 578, 586, 603, 587, 603, 588, 607, 613, 564, 7959 564, 590, 610, 592, 578, 593, 594, 586, 611, 595, 7960 596, 614, 597, 598, 608, 615, 616, 599, 602, 617, 7961 618, 0, 619, 620, 603, 607, 613, 564, 621, 622, 7962 623, 610, 626, 0, 627, 628, 630, 611, 632, 633, 7963 614, 634, 639, 615, 616, 636, 637, 638, 617, 618, 7964 7965 619, 640, 620, 644, 645, 646, 621, 646, 622, 623, 7966 654, 626, 627, 656, 628, 630, 632, 657, 633, 662, 7967 634, 639, 663, 636, 637, 638, 666, 668, 669, 640, 7968 669, 644, 645, 658, 670, 658, 646, 671, 672, 654, 7969 672, 676, 656, 658, 681, 657, 675, 658, 672, 674, 7970 683, 674, 672, 679, 677, 666, 668, 700, 663, 662, 7971 694, 0, 670, 674, 695, 680, 671, 694, 694, 680, 7972 696, 695, 695, 681, 701, 703, 0, 696, 696, 683, 7973 771, 738, 771, 738, 1082, 700, 675, 663, 662, 665, 7974 677, 738, 676, 679, 680, 665, 0, 704, 680, 706, 7975 7976 707, 708, 701, 665, 703, 665, 665, 665, 665, 665, 7977 665, 665, 665, 665, 665, 675, 709, 0, 710, 677, 7978 676, 711, 679, 665, 665, 704, 714, 706, 707, 708, 7979 715, 717, 0, 719, 721, 0, 665, 762, 0, 762, 7980 770, 781, 770, 781, 1082, 709, 710, 762, 770, 858, 7981 711, 858, 665, 665, 712, 714, 712, 722, 723, 715, 7982 717, 719, 724, 721, 665, 682, 682, 682, 682, 682, 7983 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 7984 682, 682, 682, 682, 725, 722, 723, 726, 727, 712, 7985 729, 724, 728, 730, 682, 682, 682, 682, 682, 731, 7986 7987 732, 0, 712, 733, 734, 735, 737, 735, 1084, 739, 7988 740, 741, 725, 742, 0, 743, 726, 727, 712, 729, 7989 728, 745, 730, 746, 752, 682, 682, 731, 756, 732, 7990 712, 733, 734, 0, 0, 737, 735, 739, 0, 740, 7991 741, 755, 742, 743, 757, 775, 775, 775, 833, 745, 7992 833, 746, 752, 682, 686, 686, 686, 756, 833, 686, 7993 686, 751, 686, 751, 0, 0, 686, 686, 1084, 755, 7994 686, 0, 757, 686, 686, 686, 686, 686, 686, 686, 7995 686, 686, 699, 699, 776, 699, 699, 699, 699, 699, 7996 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 7997 7998 699, 758, 759, 783, 760, 763, 0, 768, 773, 751, 7999 772, 699, 699, 699, 699, 699, 767, 774, 767, 779, 8000 782, 776, 784, 787, 780, 789, 791, 791, 791, 758, 8001 802, 759, 760, 810, 763, 768, 773, 751, 803, 772, 8002 783, 0, 699, 699, 804, 806, 774, 807, 779, 782, 8003 776, 767, 780, 808, 789, 797, 812, 798, 784, 802, 8004 787, 810, 797, 797, 798, 798, 864, 803, 864, 783, 8005 699, 0, 0, 804, 806, 0, 807, 811, 0, 811, 8006 767, 801, 808, 813, 812, 801, 815, 784, 816, 787, 8007 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 8008 8009 788, 788, 788, 788, 788, 788, 788, 788, 788, 817, 8010 801, 813, 811, 819, 801, 815, 816, 818, 820, 788, 8011 788, 788, 788, 788, 821, 811, 822, 0, 823, 824, 8012 825, 826, 827, 0, 828, 830, 831, 840, 817, 832, 8013 1085, 811, 819, 835, 836, 818, 842, 820, 842, 843, 8014 788, 788, 821, 811, 844, 822, 823, 824, 825, 826, 8015 846, 827, 828, 847, 830, 831, 840, 832, 834, 834, 8016 834, 835, 836, 851, 852, 851, 834, 843, 788, 834, 8017 853, 855, 844, 851, 854, 856, 854, 857, 846, 859, 8018 867, 865, 847, 863, 842, 870, 871, 0, 873, 874, 8019 8020 1085, 875, 876, 852, 878, 879, 880, 881, 853, 882, 8021 855, 883, 0, 884, 856, 857, 885, 889, 859, 854, 8022 865, 863, 842, 886, 870, 871, 873, 887, 874, 875, 8023 876, 888, 878, 879, 880, 881, 890, 882, 896, 867, 8024 883, 884, 892, 893, 894, 885, 889, 895, 854, 897, 8025 899, 886, 901, 901, 901, 887, 903, 903, 903, 888, 8026 901, 909, 0, 901, 890, 910, 896, 867, 0, 908, 8027 915, 892, 893, 894, 913, 916, 895, 897, 899, 902, 8028 902, 902, 917, 904, 904, 904, 918, 902, 919, 909, 8029 902, 904, 920, 910, 904, 905, 905, 905, 908, 915, 8030 8031 921, 922, 913, 905, 916, 924, 905, 925, 926, 927, 8032 917, 928, 929, 932, 918, 0, 919, 933, 0, 935, 8033 936, 920, 937, 938, 939, 941, 940, 942, 940, 943, 8034 922, 944, 945, 947, 924, 921, 940, 949, 951, 928, 8035 929, 932, 952, 925, 927, 926, 933, 935, 0, 936, 8036 937, 0, 938, 939, 941, 961, 942, 960, 943, 944, 8037 945, 947, 0, 0, 921, 949, 951, 953, 953, 953, 8038 965, 952, 925, 927, 926, 954, 954, 954, 970, 955, 8039 955, 955, 963, 954, 961, 960, 954, 955, 966, 973, 8040 955, 956, 956, 956, 967, 957, 957, 957, 965, 956, 8041 8042 969, 975, 956, 957, 971, 974, 957, 958, 958, 958, 8043 976, 963, 977, 980, 977, 958, 981, 966, 958, 0, 8044 982, 983, 977, 967, 970, 984, 985, 984, 985, 969, 8045 987, 989, 971, 991, 973, 984, 985, 974, 994, 976, 8046 992, 980, 995, 1008, 1007, 981, 0, 975, 982, 998, 8047 983, 0, 970, 996, 996, 996, 999, 1001, 987, 989, 8048 1013, 991, 973, 1016, 1014, 1015, 974, 994, 992, 1017, 8049 1019, 995, 997, 997, 997, 975, 1021, 1008, 998, 1007, 8050 997, 1032, 1011, 997, 1011, 999, 1001, 1012, 1013, 1012, 8051 1025, 1016, 1011, 1014, 1015, 1026, 1029, 1017, 1027, 1019, 8052 8053 1012, 1030, 1012, 1033, 1021, 1037, 1008, 1036, 1007, 1023, 8054 1023, 1023, 1024, 1024, 1024, 0, 1038, 1032, 1012, 1025, 8055 1024, 1039, 1042, 1024, 1026, 1034, 1027, 1034, 1045, 1030, 8056 1041, 1048, 1035, 1037, 1035, 1052, 1036, 1046, 1034, 1050, 8057 1034, 1029, 1056, 1035, 1038, 1035, 1032, 1035, 1033, 1059, 8058 1039, 1042, 1043, 1043, 1043, 1049, 1034, 1045, 1041, 1044, 8059 1044, 1044, 1053, 1035, 1053, 1046, 1055, 1044, 1058, 1029, 8060 1044, 1056, 1063, 1053, 1050, 1068, 1033, 1048, 1059, 1064, 8061 1065, 1052, 0, 1049, 1062, 1062, 1062, 1066, 1071, 1067, 8062 0, 1073, 1062, 0, 1055, 1062, 1058, 1074, 0, 1079, 8063 8064 1063, 1099, 1109, 1050, 1093, 1048, 0, 1064, 1065, 1052, 8065 1061, 1061, 1061, 1095, 0, 1061, 1061, 1067, 1061, 1073, 8066 1086, 1068, 1061, 1061, 1080, 1074, 1061, 1079, 1090, 1061, 8067 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1066, 1071, 8068 1076, 1076, 1076, 1077, 1077, 1077, 0, 1094, 1086, 1068, 8069 1099, 1077, 1096, 1080, 1077, 1093, 1104, 1090, 1095, 1101, 8070 1102, 1105, 1109, 0, 1111, 0, 1066, 1071, 1078, 1078, 8071 1078, 1100, 1113, 1078, 1078, 1094, 1078, 1103, 1099, 1078, 8072 1078, 1078, 1106, 1093, 1078, 1104, 1095, 1078, 1078, 1078, 8073 1078, 1078, 1078, 1078, 1078, 1078, 1088, 1088, 1088, 1100, 8074 8075 1089, 1089, 1089, 1096, 1088, 1101, 1107, 1088, 1089, 1102, 8076 1108, 1089, 1105, 1103, 1110, 1111, 1112, 1114, 1106, 1115, 8077 1115, 1115, 1117, 1113, 1116, 1116, 1116, 1118, 1118, 1118, 8078 1123, 1096, 1126, 1101, 1119, 1119, 1119, 1102, 1107, 1108, 8079 1105, 1127, 1103, 1111, 1112, 0, 1110, 1106, 1121, 1121, 8080 1121, 1113, 1124, 1124, 1124, 1128, 1128, 1128, 1129, 1129, 8081 1129, 0, 0, 0, 1126, 0, 1123, 1107, 1114, 0, 8082 0, 1117, 0, 0, 0, 1110, 0, 0, 0, 0, 9669 8083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9670 0, 1133, 1137, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 9671 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 9672 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164, 0, 9673 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 9674 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 9675 9676 1165, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 9677 1166, 1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 9678 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169, 1169, 9679 1169, 1169, 1169, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 9680 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 1171, 9681 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172, 9682 1172, 1172, 1172, 1172, 1172, 0, 1172, 1172, 1172, 0, 9683 1172, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 9684 1173, 1173, 1173, 1174, 0, 0, 1174, 1175, 1175, 1175, 9685 0, 0, 1175, 0, 1175, 1175, 0, 1175, 1175, 1176, 9686 9687 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 9688 1176, 1177, 1177, 0, 1177, 1177, 1177, 1177, 1177, 1177, 9689 1177, 1177, 1177, 1178, 1178, 1178, 1178, 1178, 1178, 0, 9690 1178, 1178, 1178, 0, 1178, 1179, 1179, 1179, 1179, 1179, 9691 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1180, 9692 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 9693 0, 0, 1181, 1182, 0, 0, 0, 1182, 0, 0, 9694 0, 0, 0, 1182, 1183, 1183, 1183, 1183, 1183, 1183, 9695 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 0, 1184, 9696 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185, 9697 9698 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 9699 1186, 1186, 0, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 9700 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 9701 1187, 1187, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1188, 9702 1188, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1189, 9703 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 9704 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 9705 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 9706 1191, 1191, 1192, 1192, 0, 1192, 1192, 1192, 1192, 1192, 9707 1192, 1192, 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 9708 9709 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194, 1194, 9710 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1195, 9711 0, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 9712 1196, 1196, 0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 9713 1196, 1196, 1197, 1197, 0, 1197, 1197, 1197, 1197, 1197, 9714 1197, 1197, 1197, 1197, 1198, 1198, 0, 1198, 1198, 1198, 9715 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 0, 1199, 9716 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 9717 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 9718 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 9719 9720 1201, 1201, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 9721 1202, 1202, 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 9722 1203, 1203, 1203, 1203, 1203, 1203, 1204, 1204, 1204, 1204, 9723 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1205, 1205, 9724 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 9725 1206, 1206, 0, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 9726 1206, 1206, 1207, 1207, 0, 1207, 1207, 1207, 1207, 1207, 9727 1207, 1207, 1207, 1207, 1208, 1208, 1208, 1208, 1208, 1208, 9728 1208, 1208, 1208, 1208, 1208, 1208, 1209, 1209, 1209, 1209, 9729 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210, 9730 9731 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 9732 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 9733 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 9734 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1213, 1213, 9735 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 9736 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1161, 1161, 9737 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9738 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9739 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9740 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9741 9742 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9743 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9744 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9745 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 9746 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161 8084 0, 0, 1127, 1126, 0, 1123, 1114, 0, 0, 1117, 8085 8086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8088 1127, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 8089 1132, 1132, 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 8090 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 0, 1134, 8091 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 8092 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 8093 1135, 1135, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 8094 1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1137, 1137, 8095 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 8096 8097 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 8098 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 8099 1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 8100 1140, 1140, 1140, 1140, 1141, 1141, 1141, 1141, 1141, 0, 8101 1141, 1141, 1141, 0, 1141, 0, 1141, 1142, 1142, 1142, 8102 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 8103 1143, 0, 0, 0, 0, 0, 0, 0, 1143, 1144, 8104 1144, 0, 1144, 1144, 0, 1144, 0, 0, 1144, 1144, 8105 0, 1144, 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 8106 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 8107 8108 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 8109 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 8110 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149, 0, 1149, 8111 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 0, 8112 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 8113 1150, 1151, 0, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 8114 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, 8115 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 8116 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 8117 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 8118 8119 1154, 1154, 1154, 1155, 0, 1155, 1155, 1155, 1155, 1155, 8120 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 1156, 1156, 8121 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 8122 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 8123 1157, 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 8124 1158, 1158, 1158, 1158, 1158, 1159, 0, 1159, 1159, 1159, 8125 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1160, 0, 8126 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 8127 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 8128 1161, 1161, 1161, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 8129 8130 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 8131 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 8132 1164, 0, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 8133 1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 8134 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 1166, 1166, 8135 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 8136 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 8137 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 8138 1168, 1168, 1168, 1168, 1168, 1169, 1169, 1169, 1169, 1169, 8139 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 8140 8141 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 8142 1170, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8143 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8144 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8145 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8146 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8147 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8148 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8149 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8150 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 8151 8152 1131 9747 8153 } ; 9748 8154 … … 9750 8156 static char *yy_last_accepting_cpos; 9751 8157 9752 extern int fortran_ flex_debug;9753 int fortran_ flex_debug = 0;8158 extern int fortran__flex_debug; 8159 int fortran__flex_debug = 0; 9754 8160 9755 8161 /* The intent behind this definition is that it'll catch … … 9760 8166 #define YY_MORE_ADJ 0 9761 8167 #define YY_RESTORE_YY_MORE_OFFSET 9762 char *fortran text;8168 char *fortran_text; 9763 8169 #line 1 "fortran.lex" 9764 8170 /******************************************************************************/ … … 9801 8207 9802 8208 9803 #line 4 1"fortran.lex"8209 #line 44 "fortran.lex" 9804 8210 #include <math.h> 9805 8211 #include <stdlib.h> 9806 8212 #include <string.h> 9807 extern FILE * fortran in;8213 extern FILE * fortran_in; 9808 8214 #define MAX_INCLUDE_DEPTH 30 9809 #define tabsize 69810 8215 YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; 9811 int line_num_fortran=1; 9812 int line_num_fortran_common=1; 8216 int line_num_input = 1; 9813 8217 int newlinef90 = 0; 9814 char *tmp;9815 8218 char tmpc; 8219 #define PRINT_LINE_NUM() // { fprintf(stderr,"== Parsing l.%4d...\n", line_num_input); } 8220 #define INCREMENT_LINE_NUM() { line_num_input++; PRINT_LINE_NUM(); } 8221 9816 8222 /******************************************************************************/ 9817 8223 /**************PETITS PB NON PREVUS *******************************************/ … … 9823 8229 /* Normalement NEXTLINEF77 \n+[ ]{5}[^ ] */ 9824 8230 /******************************************************************************/ 9825 #define YY_USER_ACTION \ 9826 {\ 9827 if (firstpass == 0) \ 9828 {\ 9829 strcat(curbuf,fortrantext); \ 9830 Save_Length(curbuf,38); \ 9831 strcpy(motparse,fortrantext);\ 9832 Save_Length(motparse,32); \ 9833 colnum = colnum + strlen(motparse);\ 9834 ECHO; \ 9835 }\ 9836 strcpy(motparse1,fortrantext);\ 9837 /* printf("fortrantext = %s\n",fortrantext);*/\ 9838 /*if ( firstpass == 1 ) 9839 printf("fortrantext = %s %d\n",fortrantext,strlen(fortrantext));*/\ 9840 } 9841 #line 2979 "fortran.yy.c" 8231 #define YY_USER_ACTION if (firstpass == 0) ECHO; 8232 8233 void out_of_donottreat(void); 8234 8235 #line 1826 "fortran.yy.c" 9842 8236 9843 8237 #define INITIAL 0 … … 9865 8259 These are made visible to non-reentrant scanners for convenience. */ 9866 8260 9867 int fortran lex_destroy (void );9868 9869 int fortran get_debug (void );9870 9871 void fortran set_debug (int debug_flag );9872 9873 YY_EXTRA_TYPE fortran get_extra (void );9874 9875 void fortran set_extra (YY_EXTRA_TYPE user_defined );9876 9877 FILE *fortran get_in (void );9878 9879 void fortran set_in (FILE * in_str );9880 9881 FILE *fortran get_out (void );9882 9883 void fortran set_out (FILE * out_str );9884 9885 yy_size_t fortran get_leng (void );9886 9887 char *fortran get_text (void );9888 9889 int fortran get_lineno (void );9890 9891 void fortran set_lineno (int line_number );8261 int fortran_lex_destroy (void ); 8262 8263 int fortran_get_debug (void ); 8264 8265 void fortran_set_debug (int debug_flag ); 8266 8267 YY_EXTRA_TYPE fortran_get_extra (void ); 8268 8269 void fortran_set_extra (YY_EXTRA_TYPE user_defined ); 8270 8271 FILE *fortran_get_in (void ); 8272 8273 void fortran_set_in (FILE * in_str ); 8274 8275 FILE *fortran_get_out (void ); 8276 8277 void fortran_set_out (FILE * out_str ); 8278 8279 yy_size_t fortran_get_leng (void ); 8280 8281 char *fortran_get_text (void ); 8282 8283 int fortran_get_lineno (void ); 8284 8285 void fortran_set_lineno (int line_number ); 9892 8286 9893 8287 /* Macros after this point can all be overridden by user definitions in … … 9897 8291 #ifndef YY_SKIP_YYWRAP 9898 8292 #ifdef __cplusplus 9899 extern "C" int fortran wrap (void );8293 extern "C" int fortran_wrap (void ); 9900 8294 #else 9901 extern int fortran wrap (void );8295 extern int fortran_wrap (void ); 9902 8296 #endif 9903 8297 #endif … … 9933 8327 * we now use fwrite(). 9934 8328 */ 9935 #define ECHO fwrite( fortran text, fortranleng, 1, fortranout )8329 #define ECHO fwrite( fortran_text, fortran_leng, 1, fortran_out ) 9936 8330 #endif 9937 8331 … … 9946 8340 yy_size_t n; \ 9947 8341 for ( n = 0; n < max_size && \ 9948 (c = getc( fortran in )) != EOF && c != '\n'; ++n ) \8342 (c = getc( fortran_in )) != EOF && c != '\n'; ++n ) \ 9949 8343 buf[n] = (char) c; \ 9950 8344 if ( c == '\n' ) \ 9951 8345 buf[n++] = (char) c; \ 9952 if ( c == EOF && ferror( fortran in ) ) \8346 if ( c == EOF && ferror( fortran_in ) ) \ 9953 8347 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 9954 8348 result = n; \ … … 9957 8351 { \ 9958 8352 errno=0; \ 9959 while ( (result = fread(buf, 1, max_size, fortran in))==0 && ferror(fortranin)) \8353 while ( (result = fread(buf, 1, max_size, fortran_in))==0 && ferror(fortran_in)) \ 9960 8354 { \ 9961 8355 if( errno != EINTR) \ … … 9965 8359 } \ 9966 8360 errno=0; \ 9967 clearerr(fortran in); \8361 clearerr(fortran_in); \ 9968 8362 } \ 9969 8363 }\ … … 9998 8392 #define YY_DECL_IS_OURS 1 9999 8393 10000 extern int fortran lex (void);10001 10002 #define YY_DECL int fortran lex (void)8394 extern int fortran_lex (void); 8395 8396 #define YY_DECL int fortran_lex (void) 10003 8397 #endif /* !YY_DECL */ 10004 8398 10005 /* Code executed at the beginning of each rule, after fortran text and fortranleng8399 /* Code executed at the beginning of each rule, after fortran_text and fortran_leng 10006 8400 * have been set up. 10007 8401 */ … … 10016 8410 10017 8411 #define YY_RULE_SETUP \ 10018 if ( fortran leng > 0 ) \8412 if ( fortran_leng > 0 ) \ 10019 8413 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 10020 (fortran text[fortranleng - 1] == '\n'); \8414 (fortran_text[fortran_leng - 1] == '\n'); \ 10021 8415 YY_USER_ACTION 10022 8416 … … 10029 8423 register int yy_act; 10030 8424 10031 #line 107 "fortran.lex"8425 #line 97 "fortran.lex" 10032 8426 10033 8427 if (infixed) BEGIN(fortran77style) ; 10034 if (infree) BEGIN(fortran90style);10035 10036 #line 3174"fortran.yy.c"8428 if (infree) BEGIN(fortran90style) ; 8429 8430 #line 2021 "fortran.yy.c" 10037 8431 10038 8432 if ( !(yy_init) ) … … 10047 8441 (yy_start) = 1; /* first start state */ 10048 8442 10049 if ( ! fortran in )10050 fortran in = stdin;10051 10052 if ( ! fortran out )10053 fortran out = stdout;8443 if ( ! fortran_in ) 8444 fortran_in = stdin; 8445 8446 if ( ! fortran_out ) 8447 fortran_out = stdout; 10054 8448 10055 8449 if ( ! YY_CURRENT_BUFFER ) { 10056 fortran ensure_buffer_stack ();8450 fortran_ensure_buffer_stack (); 10057 8451 YY_CURRENT_BUFFER_LVALUE = 10058 fortran_ create_buffer(fortranin,YY_BUF_SIZE );8452 fortran__create_buffer(fortran_in,YY_BUF_SIZE ); 10059 8453 } 10060 8454 10061 fortran_ load_buffer_state( );8455 fortran__load_buffer_state( ); 10062 8456 } 10063 8457 … … 10066 8460 yy_cp = (yy_c_buf_p); 10067 8461 10068 /* Support of fortran text. */8462 /* Support of fortran_text. */ 10069 8463 *yy_cp = (yy_hold_char); 10070 8464 … … 10088 8482 { 10089 8483 yy_current_state = (int) yy_def[yy_current_state]; 10090 if ( yy_current_state >= 11 62 )8484 if ( yy_current_state >= 1132 ) 10091 8485 yy_c = yy_meta[(unsigned int) yy_c]; 10092 8486 } … … 10094 8488 ++yy_cp; 10095 8489 } 10096 while ( yy_base[yy_current_state] != 9159);8490 while ( yy_base[yy_current_state] != 4012 ); 10097 8491 10098 8492 yy_find_action: … … 10120 8514 case 1: 10121 8515 YY_RULE_SETUP 8516 #line 101 "fortran.lex" 8517 { return TOK_REAL8; } 8518 YY_BREAK 8519 case 2: 8520 YY_RULE_SETUP 8521 #line 102 "fortran.lex" 8522 { return TOK_SUBROUTINE; } 8523 YY_BREAK 8524 case 3: 8525 YY_RULE_SETUP 8526 #line 103 "fortran.lex" 8527 { return TOK_PROGRAM; } 8528 YY_BREAK 8529 case 4: 8530 YY_RULE_SETUP 8531 #line 104 "fortran.lex" 8532 { inallocate = 1; return TOK_ALLOCATE; } 8533 YY_BREAK 8534 case 5: 8535 YY_RULE_SETUP 8536 #line 105 "fortran.lex" 8537 { return TOK_NULLIFY; } 8538 YY_BREAK 8539 case 6: 8540 YY_RULE_SETUP 8541 #line 106 "fortran.lex" 8542 { return TOK_NULL_PTR; } 8543 YY_BREAK 8544 case 7: 8545 YY_RULE_SETUP 8546 #line 107 "fortran.lex" 8547 { inallocate = 1; return TOK_DEALLOCATE; } 8548 YY_BREAK 8549 case 8: 8550 YY_RULE_SETUP 8551 #line 108 "fortran.lex" 8552 { return TOK_RESULT; } 8553 YY_BREAK 8554 case 9: 8555 YY_RULE_SETUP 8556 #line 109 "fortran.lex" 8557 { return TOK_FUNCTION; } 8558 YY_BREAK 8559 case 10: 8560 YY_RULE_SETUP 8561 #line 110 "fortran.lex" 8562 { strcpy(yylval.na,fortran_text); return TOK_ENDPROGRAM;} 8563 YY_BREAK 8564 case 11: 8565 YY_RULE_SETUP 10122 8566 #line 111 "fortran.lex" 10123 return TOK_DEBUT; 10124 YY_BREAK 10125 case 2:8567 { strcpy(yylval.na,fortran_text); return TOK_ENDMODULE; } 8568 YY_BREAK 8569 case 12: 10126 8570 YY_RULE_SETUP 10127 8571 #line 112 "fortran.lex" 10128 return TOK_FIN; 10129 YY_BREAK 10130 case 3:8572 { strcpy(yylval.na,fortran_text); return TOK_ENDSUBROUTINE;} 8573 YY_BREAK 8574 case 13: 10131 8575 YY_RULE_SETUP 10132 8576 #line 113 "fortran.lex" 10133 return TOK_OMP; 10134 YY_BREAK 10135 case 4:8577 { strcpy(yylval.na,fortran_text); return TOK_ENDFUNCTION;} 8578 YY_BREAK 8579 case 14: 10136 8580 YY_RULE_SETUP 10137 8581 #line 114 "fortran.lex" 10138 return TOK_DOLLAR; 10139 YY_BREAK 10140 case 5: 8582 { strcpy(yylval.na,fortran_text); return TOK_ENDUNIT;} 8583 YY_BREAK 8584 case 15: 8585 YY_RULE_SETUP 8586 #line 115 "fortran.lex" 8587 { pos_curinclude = setposcur()-9; return TOK_INCLUDE;} 8588 YY_BREAK 8589 case 16: 10141 8590 YY_RULE_SETUP 10142 8591 #line 116 "fortran.lex" 10143 {return TOK_REAL8;} 10144 YY_BREAK 10145 case 6: 10146 YY_RULE_SETUP 10147 #line 117 "fortran.lex" 10148 {return TOK_SUBROUTINE;} 10149 YY_BREAK 10150 case 7: 10151 YY_RULE_SETUP 10152 #line 118 "fortran.lex" 10153 {return TOK_PROGRAM;} 10154 YY_BREAK 10155 case 8: 10156 YY_RULE_SETUP 10157 #line 119 "fortran.lex" 10158 {inallocate = 1; return TOK_ALLOCATE;} 10159 YY_BREAK 10160 case 9: 10161 YY_RULE_SETUP 10162 #line 120 "fortran.lex" 10163 {return TOK_NULLIFY;} 10164 YY_BREAK 10165 case 10: 10166 YY_RULE_SETUP 10167 #line 121 "fortran.lex" 10168 {inallocate = 1; return TOK_DEALLOCATE;} 10169 YY_BREAK 10170 case 11: 8592 { strcpy(yylval.na,fortran_text); 8593 tmpc = (char) input(); unput(tmpc); 8594 if ( ( tmpc >= 'a' && tmpc <= 'z' ) || 8595 ( tmpc >= 'A' && tmpc <= 'Z' ) ) return TOK_USE; 8596 else return TOK_NAME; 8597 } 8598 YY_BREAK 8599 case 17: 10171 8600 YY_RULE_SETUP 10172 8601 #line 122 "fortran.lex" 10173 { return TOK_RESULT;}10174 YY_BREAK 10175 case 1 2:8602 { return TOK_REWIND; } 8603 YY_BREAK 8604 case 18: 10176 8605 YY_RULE_SETUP 10177 8606 #line 123 "fortran.lex" 10178 { return TOK_FUNCTION;}10179 YY_BREAK 10180 case 1 3:8607 { return TOK_IMPLICIT; } 8608 YY_BREAK 8609 case 19: 10181 8610 YY_RULE_SETUP 10182 8611 #line 124 "fortran.lex" 10183 { strcpy(yylval.na,fortrantext);return TOK_ENDSUBROUTINE;}10184 YY_BREAK 10185 case 14:8612 { return TOK_NONE; } 8613 YY_BREAK 8614 case 20: 10186 8615 YY_RULE_SETUP 10187 8616 #line 125 "fortran.lex" 10188 { strcpy(yylval.na,fortrantext);return TOK_ENDPROGRAM;}10189 YY_BREAK 10190 case 15:8617 { return TOK_CALL; } 8618 YY_BREAK 8619 case 21: 10191 8620 YY_RULE_SETUP 10192 8621 #line 126 "fortran.lex" 10193 { strcpy(yylval.na,fortrantext);return TOK_ENDFUNCTION;}10194 YY_BREAK 10195 case 16:8622 { return TOK_TRUE; } 8623 YY_BREAK 8624 case 22: 10196 8625 YY_RULE_SETUP 10197 8626 #line 127 "fortran.lex" 10198 { strcpy(yylval.na,fortrantext);return TOK_ENDUNIT;}10199 YY_BREAK 10200 case 17:8627 { return TOK_FALSE; } 8628 YY_BREAK 8629 case 23: 10201 8630 YY_RULE_SETUP 10202 8631 #line 128 "fortran.lex" 10203 return TOK_INCLUDE; 10204 YY_BREAK 10205 case 18:8632 { return TOK_POINT_TO; } 8633 YY_BREAK 8634 case 24: 10206 8635 YY_RULE_SETUP 10207 8636 #line 129 "fortran.lex" 8637 { strcpy(yylval.na,fortran_text); return TOK_ASSIGNTYPE;} 8638 YY_BREAK 8639 case 25: 8640 YY_RULE_SETUP 8641 #line 130 "fortran.lex" 8642 { strcpy(yylval.na,fortran_text); return TOK_DASTER; } 8643 YY_BREAK 8644 case 26: 8645 YY_RULE_SETUP 8646 #line 131 "fortran.lex" 8647 { strcpy(yylval.na,fortran_text); return TOK_EQV; } 8648 YY_BREAK 8649 case 27: 8650 YY_RULE_SETUP 8651 #line 132 "fortran.lex" 8652 { strcpy(yylval.na,fortran_text); return TOK_EQ; } 8653 YY_BREAK 8654 case 28: 8655 YY_RULE_SETUP 8656 #line 133 "fortran.lex" 8657 { strcpy(yylval.na,fortran_text); return TOK_GT; } 8658 YY_BREAK 8659 case 29: 8660 YY_RULE_SETUP 8661 #line 134 "fortran.lex" 8662 { strcpy(yylval.na,fortran_text); return TOK_GE; } 8663 YY_BREAK 8664 case 30: 8665 YY_RULE_SETUP 8666 #line 135 "fortran.lex" 8667 { strcpy(yylval.na,fortran_text); return TOK_LT; } 8668 YY_BREAK 8669 case 31: 8670 YY_RULE_SETUP 8671 #line 136 "fortran.lex" 8672 { strcpy(yylval.na,fortran_text); return TOK_LE; } 8673 YY_BREAK 8674 case 32: 8675 YY_RULE_SETUP 8676 #line 137 "fortran.lex" 8677 { strcpy(yylval.na,fortran_text); return TOK_NEQV;} 8678 YY_BREAK 8679 case 33: 8680 YY_RULE_SETUP 8681 #line 138 "fortran.lex" 8682 { strcpy(yylval.na,fortran_text); return TOK_NE; } 8683 YY_BREAK 8684 case 34: 8685 YY_RULE_SETUP 8686 #line 139 "fortran.lex" 8687 { strcpy(yylval.na,fortran_text); return TOK_NOT; } 8688 YY_BREAK 8689 case 35: 8690 YY_RULE_SETUP 8691 #line 140 "fortran.lex" 8692 { strcpy(yylval.na,fortran_text); return TOK_OR; } 8693 YY_BREAK 8694 case 36: 8695 YY_RULE_SETUP 8696 #line 141 "fortran.lex" 8697 { strcpy(yylval.na,fortran_text); return TOK_XOR; } 8698 YY_BREAK 8699 case 37: 8700 YY_RULE_SETUP 8701 #line 142 "fortran.lex" 8702 { strcpy(yylval.na,fortran_text); return TOK_AND; } 8703 YY_BREAK 8704 case 38: 8705 YY_RULE_SETUP 8706 #line 143 "fortran.lex" 8707 { return TOK_MODULE; } 8708 YY_BREAK 8709 case 39: 8710 YY_RULE_SETUP 8711 #line 144 "fortran.lex" 8712 { return TOK_WHILE; } 8713 YY_BREAK 8714 case 40: 8715 YY_RULE_SETUP 8716 #line 145 "fortran.lex" 8717 { return TOK_CONCURRENT; } 8718 YY_BREAK 8719 case 41: 8720 YY_RULE_SETUP 8721 #line 146 "fortran.lex" 8722 { return TOK_ENDDO; } 8723 YY_BREAK 8724 case 42: 8725 YY_RULE_SETUP 8726 #line 147 "fortran.lex" 8727 { return TOK_PLAINDO;} 8728 YY_BREAK 8729 case 43: 8730 YY_RULE_SETUP 8731 #line 148 "fortran.lex" 8732 { strcpy(yylval.na,fortran_text); return TOK_REAL; } 8733 YY_BREAK 8734 case 44: 8735 YY_RULE_SETUP 8736 #line 149 "fortran.lex" 8737 { strcpy(yylval.na,fortran_text); return TOK_INTEGER; } 8738 YY_BREAK 8739 case 45: 8740 YY_RULE_SETUP 8741 #line 150 "fortran.lex" 8742 { strcpy(yylval.na,fortran_text); return TOK_LOGICAL; } 8743 YY_BREAK 8744 case 46: 8745 YY_RULE_SETUP 8746 #line 151 "fortran.lex" 8747 { strcpy(yylval.na,fortran_text); return TOK_CHARACTER; } 8748 YY_BREAK 8749 case 47: 8750 YY_RULE_SETUP 8751 #line 152 "fortran.lex" 8752 { strcpy(yylval.na,fortran_text); return TOK_HEXA;} 8753 YY_BREAK 8754 case 48: 8755 YY_RULE_SETUP 8756 #line 153 "fortran.lex" 8757 { strcpy(yylval.na,fortran_text); return TOK_DOUBLEPRECISION; } 8758 YY_BREAK 8759 case 49: 8760 YY_RULE_SETUP 8761 #line 154 "fortran.lex" 8762 { strcpy(yylval.na,fortran_text); return TOK_DOUBLECOMPLEX; } 8763 YY_BREAK 8764 case 50: 8765 YY_RULE_SETUP 8766 #line 155 "fortran.lex" 8767 { return TOK_COMPLEX; } 8768 YY_BREAK 8769 case 51: 8770 YY_RULE_SETUP 8771 #line 156 "fortran.lex" 8772 { return TOK_ALLOCATABLE; } 8773 YY_BREAK 8774 case 52: 8775 YY_RULE_SETUP 8776 #line 157 "fortran.lex" 8777 { return TOK_CLOSE; } 8778 YY_BREAK 8779 case 53: 8780 YY_RULE_SETUP 8781 #line 158 "fortran.lex" 8782 { return TOK_INQUIRE; } 8783 YY_BREAK 8784 case 54: 8785 YY_RULE_SETUP 8786 #line 159 "fortran.lex" 8787 { return TOK_DIMENSION; } 8788 YY_BREAK 8789 case 55: 8790 YY_RULE_SETUP 8791 #line 160 "fortran.lex" 8792 { return TOK_PAUSE; } 8793 YY_BREAK 8794 case 56: 8795 YY_RULE_SETUP 8796 #line 161 "fortran.lex" 8797 { return TOK_EQUIVALENCE; } 8798 YY_BREAK 8799 case 57: 8800 YY_RULE_SETUP 8801 #line 162 "fortran.lex" 8802 { return TOK_STOP; } 8803 YY_BREAK 8804 case 58: 8805 YY_RULE_SETUP 8806 #line 163 "fortran.lex" 8807 { return TOK_WHERE; } 8808 YY_BREAK 8809 case 59: 8810 YY_RULE_SETUP 8811 #line 164 "fortran.lex" 8812 { return TOK_ENDWHERE; } 8813 YY_BREAK 8814 case 60: 8815 YY_RULE_SETUP 8816 #line 165 "fortran.lex" 8817 { return TOK_ELSEWHEREPAR; } 8818 YY_BREAK 8819 case 61: 8820 YY_RULE_SETUP 8821 #line 166 "fortran.lex" 8822 { return TOK_ELSEWHERE; } 8823 YY_BREAK 8824 case 62: 8825 YY_RULE_SETUP 8826 #line 167 "fortran.lex" 8827 { return TOK_CONTAINS; } 8828 YY_BREAK 8829 case 63: 8830 YY_RULE_SETUP 8831 #line 168 "fortran.lex" 8832 { return TOK_ONLY; } 8833 YY_BREAK 8834 case 64: 8835 YY_RULE_SETUP 8836 #line 169 "fortran.lex" 8837 { return TOK_PARAMETER; } 8838 YY_BREAK 8839 case 65: 8840 YY_RULE_SETUP 8841 #line 170 "fortran.lex" 8842 { return TOK_RECURSIVE; } 8843 YY_BREAK 8844 case 66: 8845 YY_RULE_SETUP 8846 #line 171 "fortran.lex" 8847 { return TOK_COMMON; } 8848 YY_BREAK 8849 case 67: 8850 YY_RULE_SETUP 8851 #line 172 "fortran.lex" 8852 { return TOK_GLOBAL; } 8853 YY_BREAK 8854 case 68: 8855 YY_RULE_SETUP 8856 #line 173 "fortran.lex" 8857 { return TOK_EXTERNAL; } 8858 YY_BREAK 8859 case 69: 8860 YY_RULE_SETUP 8861 #line 174 "fortran.lex" 8862 { return TOK_INTENT; } 8863 YY_BREAK 8864 case 70: 8865 YY_RULE_SETUP 8866 #line 175 "fortran.lex" 8867 { return TOK_POINTER; } 8868 YY_BREAK 8869 case 71: 8870 YY_RULE_SETUP 8871 #line 176 "fortran.lex" 8872 { return TOK_OPTIONAL; } 8873 YY_BREAK 8874 case 72: 8875 YY_RULE_SETUP 8876 #line 177 "fortran.lex" 8877 { return TOK_SAVE; } 8878 YY_BREAK 8879 case 73: 8880 YY_RULE_SETUP 8881 #line 178 "fortran.lex" 8882 { pos_cur_decl = setposcur()-5; return TOK_TYPEPAR; } 8883 YY_BREAK 8884 case 74: 8885 YY_RULE_SETUP 8886 #line 179 "fortran.lex" 8887 { return TOK_TYPE; } 8888 YY_BREAK 8889 case 75: 8890 YY_RULE_SETUP 8891 #line 180 "fortran.lex" 8892 { return TOK_ENDTYPE; } 8893 YY_BREAK 8894 case 76: 8895 YY_RULE_SETUP 8896 #line 181 "fortran.lex" 8897 { if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } 8898 YY_BREAK 8899 case 77: 8900 YY_RULE_SETUP 8901 #line 182 "fortran.lex" 8902 { return TOK_OPEN; } 8903 YY_BREAK 8904 case 78: 8905 YY_RULE_SETUP 8906 #line 183 "fortran.lex" 8907 { return TOK_RETURN; } 8908 YY_BREAK 8909 case 79: 8910 /* rule 79 can match eol */ 8911 YY_RULE_SETUP 8912 #line 184 "fortran.lex" 8913 { return TOK_EXIT; } 8914 YY_BREAK 8915 case 80: 8916 YY_RULE_SETUP 8917 #line 185 "fortran.lex" 8918 { return TOK_PRINT; } 8919 YY_BREAK 8920 case 81: 8921 YY_RULE_SETUP 8922 #line 186 "fortran.lex" 8923 { return TOK_PROCEDURE; } 8924 YY_BREAK 8925 case 82: 8926 YY_RULE_SETUP 8927 #line 187 "fortran.lex" 8928 { return TOK_READ; } 8929 YY_BREAK 8930 case 83: 8931 YY_RULE_SETUP 8932 #line 188 "fortran.lex" 8933 { return TOK_NAMELIST; } 8934 YY_BREAK 8935 case 84: 8936 YY_RULE_SETUP 8937 #line 189 "fortran.lex" 8938 { return TOK_WRITE; } 8939 YY_BREAK 8940 case 85: 8941 YY_RULE_SETUP 8942 #line 190 "fortran.lex" 8943 { return TOK_FLUSH; } 8944 YY_BREAK 8945 case 86: 8946 YY_RULE_SETUP 8947 #line 191 "fortran.lex" 8948 { return TOK_TARGET; } 8949 YY_BREAK 8950 case 87: 8951 YY_RULE_SETUP 8952 #line 192 "fortran.lex" 8953 { return TOK_PUBLIC; } 8954 YY_BREAK 8955 case 88: 8956 YY_RULE_SETUP 8957 #line 193 "fortran.lex" 8958 { return TOK_PRIVATE; } 8959 YY_BREAK 8960 case 89: 8961 YY_RULE_SETUP 8962 #line 194 "fortran.lex" 8963 { strcpy(yylval.na,fortran_text); return TOK_IN; } 8964 YY_BREAK 8965 case 90: 8966 YY_RULE_SETUP 8967 #line 195 "fortran.lex" 8968 { pos_curdata = setposcur()-strlen(fortran_text); Init_List_Data_Var(); return TOK_DATA; } 8969 YY_BREAK 8970 case 91: 8971 YY_RULE_SETUP 8972 #line 196 "fortran.lex" 8973 { return TOK_CONTINUE; } 8974 YY_BREAK 8975 case 92: 8976 YY_RULE_SETUP 8977 #line 197 "fortran.lex" 8978 { return TOK_PLAINGOTO; } 8979 YY_BREAK 8980 case 93: 8981 YY_RULE_SETUP 8982 #line 198 "fortran.lex" 8983 { strcpy(yylval.na,fortran_text); return TOK_OUT; } 8984 YY_BREAK 8985 case 94: 8986 YY_RULE_SETUP 8987 #line 199 "fortran.lex" 8988 { strcpy(yylval.na,fortran_text); return TOK_INOUT; } 8989 YY_BREAK 8990 case 95: 8991 YY_RULE_SETUP 8992 #line 200 "fortran.lex" 8993 { return TOK_INTRINSIC; } 8994 YY_BREAK 8995 case 96: 8996 YY_RULE_SETUP 8997 #line 201 "fortran.lex" 8998 { return TOK_THEN; } 8999 YY_BREAK 9000 case 97: 9001 YY_RULE_SETUP 9002 #line 202 "fortran.lex" 9003 { return TOK_ELSEIF; } 9004 YY_BREAK 9005 case 98: 9006 YY_RULE_SETUP 9007 #line 203 "fortran.lex" 9008 { return TOK_ELSE; } 9009 YY_BREAK 9010 case 99: 9011 YY_RULE_SETUP 9012 #line 204 "fortran.lex" 9013 { return TOK_ENDIF; } 9014 YY_BREAK 9015 case 100: 9016 YY_RULE_SETUP 9017 #line 205 "fortran.lex" 9018 { return TOK_LOGICALIF; } 9019 YY_BREAK 9020 case 101: 9021 YY_RULE_SETUP 9022 #line 206 "fortran.lex" 9023 { return TOK_SUM; } 9024 YY_BREAK 9025 case 102: 9026 YY_RULE_SETUP 9027 #line 207 "fortran.lex" 9028 { return TOK_MAX; } 9029 YY_BREAK 9030 case 103: 9031 YY_RULE_SETUP 9032 #line 208 "fortran.lex" 9033 { return TOK_TANH; } 9034 YY_BREAK 9035 case 104: 9036 YY_RULE_SETUP 9037 #line 209 "fortran.lex" 9038 { return TOK_MAXVAL; } 9039 YY_BREAK 9040 case 105: 9041 YY_RULE_SETUP 9042 #line 210 "fortran.lex" 9043 { return TOK_TRIM; } 9044 YY_BREAK 9045 case 106: 9046 YY_RULE_SETUP 9047 #line 211 "fortran.lex" 9048 { return TOK_SQRT; } 9049 YY_BREAK 9050 case 107: 9051 YY_RULE_SETUP 9052 #line 212 "fortran.lex" 9053 { return TOK_SELECTCASE; } 9054 YY_BREAK 9055 case 108: 9056 YY_RULE_SETUP 9057 #line 213 "fortran.lex" 9058 { return TOK_CASE; } 9059 YY_BREAK 9060 case 109: 9061 YY_RULE_SETUP 9062 #line 214 "fortran.lex" 9063 { return TOK_DEFAULT; } 9064 YY_BREAK 9065 case 110: 9066 YY_RULE_SETUP 9067 #line 215 "fortran.lex" 9068 { return TOK_ENDSELECT; } 9069 YY_BREAK 9070 case 111: 9071 YY_RULE_SETUP 9072 #line 216 "fortran.lex" 9073 { return TOK_FILE; } 9074 YY_BREAK 9075 case 112: 9076 YY_RULE_SETUP 9077 #line 217 "fortran.lex" 9078 { return TOK_UNIT; } 9079 YY_BREAK 9080 case 113: 9081 YY_RULE_SETUP 9082 #line 218 "fortran.lex" 9083 { return TOK_FMT; } 9084 YY_BREAK 9085 case 114: 9086 YY_RULE_SETUP 9087 #line 219 "fortran.lex" 9088 { return TOK_NML; } 9089 YY_BREAK 9090 case 115: 9091 YY_RULE_SETUP 9092 #line 220 "fortran.lex" 9093 { return TOK_END; } 9094 YY_BREAK 9095 case 116: 9096 YY_RULE_SETUP 9097 #line 221 "fortran.lex" 9098 { return TOK_EOR; } 9099 YY_BREAK 9100 case 117: 9101 YY_RULE_SETUP 9102 #line 222 "fortran.lex" 9103 { return TOK_ERR; } 9104 YY_BREAK 9105 case 118: 9106 YY_RULE_SETUP 9107 #line 223 "fortran.lex" 9108 { return TOK_EXIST; } 9109 YY_BREAK 9110 case 119: 9111 YY_RULE_SETUP 9112 #line 224 "fortran.lex" 9113 { return TOK_MIN; } 9114 YY_BREAK 9115 case 120: 9116 YY_RULE_SETUP 9117 #line 225 "fortran.lex" 9118 { return TOK_NINT; } 9119 YY_BREAK 9120 case 121: 9121 YY_RULE_SETUP 9122 #line 226 "fortran.lex" 9123 { return TOK_FLOAT; } 9124 YY_BREAK 9125 case 122: 9126 YY_RULE_SETUP 9127 #line 227 "fortran.lex" 9128 { return TOK_EXP; } 9129 YY_BREAK 9130 case 123: 9131 YY_RULE_SETUP 9132 #line 228 "fortran.lex" 9133 { return TOK_COS; } 9134 YY_BREAK 9135 case 124: 9136 YY_RULE_SETUP 9137 #line 229 "fortran.lex" 9138 { return TOK_COSH; } 9139 YY_BREAK 9140 case 125: 9141 YY_RULE_SETUP 9142 #line 230 "fortran.lex" 9143 { return TOK_ACOS; } 9144 YY_BREAK 9145 case 126: 9146 YY_RULE_SETUP 9147 #line 231 "fortran.lex" 9148 { return TOK_SIN; } 9149 YY_BREAK 9150 case 127: 9151 YY_RULE_SETUP 9152 #line 232 "fortran.lex" 9153 { return TOK_SINH; } 9154 YY_BREAK 9155 case 128: 9156 YY_RULE_SETUP 9157 #line 233 "fortran.lex" 9158 { return TOK_ASIN; } 9159 YY_BREAK 9160 case 129: 9161 YY_RULE_SETUP 9162 #line 234 "fortran.lex" 9163 { return TOK_LOG; } 9164 YY_BREAK 9165 case 130: 9166 YY_RULE_SETUP 9167 #line 235 "fortran.lex" 9168 { return TOK_TAN; } 9169 YY_BREAK 9170 case 131: 9171 YY_RULE_SETUP 9172 #line 236 "fortran.lex" 9173 { return TOK_ATAN; } 9174 YY_BREAK 9175 case 132: 9176 YY_RULE_SETUP 9177 #line 237 "fortran.lex" 9178 { return TOK_CYCLE; } 9179 YY_BREAK 9180 case 133: 9181 YY_RULE_SETUP 9182 #line 238 "fortran.lex" 9183 { return TOK_ABS; } 9184 YY_BREAK 9185 case 134: 9186 YY_RULE_SETUP 9187 #line 239 "fortran.lex" 9188 { return TOK_MOD; } 9189 YY_BREAK 9190 case 135: 9191 YY_RULE_SETUP 9192 #line 240 "fortran.lex" 9193 { return TOK_SIGN; } 9194 YY_BREAK 9195 case 136: 9196 YY_RULE_SETUP 9197 #line 241 "fortran.lex" 9198 { return TOK_MINLOC; } 9199 YY_BREAK 9200 case 137: 9201 YY_RULE_SETUP 9202 #line 242 "fortran.lex" 9203 { return TOK_MAXLOC; } 9204 YY_BREAK 9205 case 138: 9206 YY_RULE_SETUP 9207 #line 243 "fortran.lex" 9208 { return TOK_MINVAL; } 9209 YY_BREAK 9210 case 139: 9211 YY_RULE_SETUP 9212 #line 244 "fortran.lex" 9213 { return TOK_BACKSPACE; } 9214 YY_BREAK 9215 case 140: 9216 YY_RULE_SETUP 9217 #line 245 "fortran.lex" 9218 { return TOK_FOURDOTS; } 9219 YY_BREAK 9220 case 141: 9221 YY_RULE_SETUP 9222 #line 246 "fortran.lex" 9223 { return TOK_LEFTAB; } 9224 YY_BREAK 9225 case 142: 9226 YY_RULE_SETUP 9227 #line 247 "fortran.lex" 9228 { return TOK_RIGHTAB; } 9229 YY_BREAK 9230 case 143: 9231 /* rule 143 can match eol */ 9232 YY_RULE_SETUP 9233 #line 248 "fortran.lex" 10208 9234 { 10209 strcpy(yylval.na,fortrantext); 10210 tmpc = input(); 10211 unput(tmpc); 10212 if ( ( 10213 tmpc >= 'a' && tmpc <= 'z' 10214 ) || ( 10215 tmpc >= 'A' && tmpc <= 'Z' 10216 ) ) 10217 { 10218 return TOK_USE; 10219 } 10220 else 10221 { 10222 return TOK_NAME; 10223 } 10224 } 10225 YY_BREAK 10226 case 19: 10227 YY_RULE_SETUP 10228 #line 146 "fortran.lex" 10229 {return TOK_REWIND;} 10230 YY_BREAK 10231 case 20: 10232 YY_RULE_SETUP 10233 #line 147 "fortran.lex" 10234 return TOK_IMPLICIT; 10235 YY_BREAK 10236 case 21: 10237 YY_RULE_SETUP 10238 #line 148 "fortran.lex" 10239 return TOK_NONE; 10240 YY_BREAK 10241 case 22: 10242 YY_RULE_SETUP 10243 #line 149 "fortran.lex" 10244 return TOK_CALL; 10245 YY_BREAK 10246 case 23: 10247 YY_RULE_SETUP 10248 #line 150 "fortran.lex" 10249 return TOK_TRUE; 10250 YY_BREAK 10251 case 24: 10252 YY_RULE_SETUP 10253 #line 151 "fortran.lex" 10254 return TOK_FALSE; 10255 YY_BREAK 10256 case 25: 10257 YY_RULE_SETUP 10258 #line 152 "fortran.lex" 10259 {return TOK_POINT_TO;} 10260 YY_BREAK 10261 case 26: 10262 YY_RULE_SETUP 10263 #line 153 "fortran.lex" 10264 {strcpy(yylval.na,fortrantext);return TOK_DASTER;} 10265 YY_BREAK 10266 case 27: 10267 YY_RULE_SETUP 10268 #line 154 "fortran.lex" 10269 {strcpy(yylval.na,fortrantext);return TOK_EQV;} 10270 YY_BREAK 10271 case 28: 10272 YY_RULE_SETUP 10273 #line 155 "fortran.lex" 10274 {strcpy(yylval.na,fortrantext);return TOK_EQ;} 10275 YY_BREAK 10276 case 29: 10277 YY_RULE_SETUP 10278 #line 156 "fortran.lex" 10279 {strcpy(yylval.na,fortrantext);return TOK_GT;} 10280 YY_BREAK 10281 case 30: 10282 YY_RULE_SETUP 10283 #line 157 "fortran.lex" 10284 {strcpy(yylval.na,fortrantext);return TOK_GE;} 10285 YY_BREAK 10286 case 31: 10287 YY_RULE_SETUP 10288 #line 158 "fortran.lex" 10289 {strcpy(yylval.na,fortrantext);return TOK_LT;} 10290 YY_BREAK 10291 case 32: 10292 YY_RULE_SETUP 10293 #line 159 "fortran.lex" 10294 {strcpy(yylval.na,fortrantext);return TOK_LE;} 10295 YY_BREAK 10296 case 33: 10297 YY_RULE_SETUP 10298 #line 160 "fortran.lex" 10299 {strcpy(yylval.na,fortrantext);return TOK_NEQV;} 10300 YY_BREAK 10301 case 34: 10302 YY_RULE_SETUP 10303 #line 161 "fortran.lex" 10304 {strcpy(yylval.na,fortrantext);return TOK_NE;} 10305 YY_BREAK 10306 case 35: 10307 YY_RULE_SETUP 10308 #line 162 "fortran.lex" 10309 {strcpy(yylval.na,fortrantext);return TOK_NOT;} 10310 YY_BREAK 10311 case 36: 10312 YY_RULE_SETUP 10313 #line 163 "fortran.lex" 10314 {strcpy(yylval.na,fortrantext);return TOK_OR;} 10315 YY_BREAK 10316 case 37: 10317 YY_RULE_SETUP 10318 #line 164 "fortran.lex" 10319 {strcpy(yylval.na,fortrantext);return TOK_XOR;} 10320 YY_BREAK 10321 case 38: 10322 YY_RULE_SETUP 10323 #line 165 "fortran.lex" 10324 {strcpy(yylval.na,fortrantext);return TOK_AND;} 10325 YY_BREAK 10326 case 39: 10327 YY_RULE_SETUP 10328 #line 166 "fortran.lex" 10329 {return TOK_MODULE;} 10330 YY_BREAK 10331 case 40: 10332 YY_RULE_SETUP 10333 #line 167 "fortran.lex" 10334 {return TOK_DOWHILE;} 10335 YY_BREAK 10336 case 41: 10337 YY_RULE_SETUP 10338 #line 168 "fortran.lex" 10339 return TOK_ENDMODULE; 10340 YY_BREAK 10341 case 42: 10342 YY_RULE_SETUP 10343 #line 169 "fortran.lex" 10344 return TOK_ENDDO; 10345 YY_BREAK 10346 case 43: 10347 YY_RULE_SETUP 10348 #line 170 "fortran.lex" 10349 {return TOK_PLAINDO;} 10350 YY_BREAK 10351 case 44: 10352 YY_RULE_SETUP 10353 #line 171 "fortran.lex" 10354 {strcpy(yylval.na,fortrantext);return TOK_REAL;} 10355 YY_BREAK 10356 case 45: 10357 YY_RULE_SETUP 10358 #line 172 "fortran.lex" 10359 {strcpy(yylval.na,fortrantext);return TOK_INTEGER;} 10360 YY_BREAK 10361 case 46: 10362 YY_RULE_SETUP 10363 #line 173 "fortran.lex" 10364 {strcpy(yylval.na,fortrantext);return TOK_LOGICAL;} 10365 YY_BREAK 10366 case 47: 10367 YY_RULE_SETUP 10368 #line 174 "fortran.lex" 10369 {strcpy(yylval.na,fortrantext);return TOK_CHARACTER;} 10370 YY_BREAK 10371 case 48: 10372 YY_RULE_SETUP 10373 #line 175 "fortran.lex" 10374 {return TOK_ALLOCATABLE;} 10375 YY_BREAK 10376 case 49: 10377 YY_RULE_SETUP 10378 #line 176 "fortran.lex" 10379 return TOK_CLOSE; 10380 YY_BREAK 10381 case 50: 10382 YY_RULE_SETUP 10383 #line 177 "fortran.lex" 10384 return TOK_INQUIRE; 10385 YY_BREAK 10386 case 51: 10387 YY_RULE_SETUP 10388 #line 178 "fortran.lex" 10389 {return TOK_DIMENSION;} 10390 YY_BREAK 10391 case 52: 10392 YY_RULE_SETUP 10393 #line 179 "fortran.lex" 10394 return TOK_PAUSE; 10395 YY_BREAK 10396 case 53: 10397 YY_RULE_SETUP 10398 #line 180 "fortran.lex" 10399 return TOK_EQUIVALENCE; 10400 YY_BREAK 10401 case 54: 10402 YY_RULE_SETUP 10403 #line 181 "fortran.lex" 10404 return TOK_STOP; 10405 YY_BREAK 10406 case 55: 10407 YY_RULE_SETUP 10408 #line 182 "fortran.lex" 10409 return TOK_WHERE; 10410 YY_BREAK 10411 case 56: 10412 YY_RULE_SETUP 10413 #line 183 "fortran.lex" 10414 return TOK_ENDWHERE; 10415 YY_BREAK 10416 case 57: 10417 YY_RULE_SETUP 10418 #line 184 "fortran.lex" 10419 return TOK_ELSEWHERE; 10420 YY_BREAK 10421 case 58: 10422 YY_RULE_SETUP 10423 #line 185 "fortran.lex" 10424 {return TOK_COMPLEX;} 10425 YY_BREAK 10426 case 59: 10427 YY_RULE_SETUP 10428 #line 186 "fortran.lex" 10429 {return TOK_CONTAINS;} 10430 YY_BREAK 10431 case 60: 10432 YY_RULE_SETUP 10433 #line 187 "fortran.lex" 10434 {return TOK_ONLY;} 10435 YY_BREAK 10436 case 61: 10437 YY_RULE_SETUP 10438 #line 188 "fortran.lex" 10439 {return TOK_PARAMETER;} 10440 YY_BREAK 10441 case 62: 10442 YY_RULE_SETUP 10443 #line 189 "fortran.lex" 10444 {return TOK_RECURSIVE;} 10445 YY_BREAK 10446 case 63: 10447 YY_RULE_SETUP 10448 #line 190 "fortran.lex" 10449 {return TOK_COMMON;} 10450 YY_BREAK 10451 case 64: 10452 YY_RULE_SETUP 10453 #line 191 "fortran.lex" 10454 {return TOK_GLOBAL;} 10455 YY_BREAK 10456 case 65: 10457 YY_RULE_SETUP 10458 #line 192 "fortran.lex" 10459 {return TOK_EXTERNAL;} 10460 YY_BREAK 10461 case 66: 10462 YY_RULE_SETUP 10463 #line 193 "fortran.lex" 10464 {return TOK_INTENT;} 10465 YY_BREAK 10466 case 67: 10467 YY_RULE_SETUP 10468 #line 194 "fortran.lex" 10469 {return TOK_POINTER;} 10470 YY_BREAK 10471 case 68: 10472 YY_RULE_SETUP 10473 #line 195 "fortran.lex" 10474 {return TOK_OPTIONAL;} 10475 YY_BREAK 10476 case 69: 10477 YY_RULE_SETUP 10478 #line 196 "fortran.lex" 10479 {return TOK_SAVE;} 10480 YY_BREAK 10481 case 70: 10482 YY_RULE_SETUP 10483 #line 197 "fortran.lex" 10484 {return TOK_TYPE;} 10485 YY_BREAK 10486 case 71: 10487 YY_RULE_SETUP 10488 #line 198 "fortran.lex" 10489 {return TOK_TYPEPAR;} 10490 YY_BREAK 10491 case 72: 10492 YY_RULE_SETUP 10493 #line 199 "fortran.lex" 10494 {if (inallocate == 1) return TOK_STAT; else {strcpy(yylval.na,fortrantext);return TOK_NAME;}} 10495 YY_BREAK 10496 case 73: 10497 YY_RULE_SETUP 10498 #line 200 "fortran.lex" 10499 {return TOK_ENDTYPE;} 10500 YY_BREAK 10501 case 74: 10502 YY_RULE_SETUP 10503 #line 201 "fortran.lex" 10504 return TOK_OPEN; 10505 YY_BREAK 10506 case 75: 10507 YY_RULE_SETUP 10508 #line 202 "fortran.lex" 10509 return TOK_RETURN; 10510 YY_BREAK 10511 case 76: 10512 /* rule 76 can match eol */ 10513 YY_RULE_SETUP 10514 #line 203 "fortran.lex" 10515 return TOK_EXIT; 10516 YY_BREAK 10517 case 77: 10518 YY_RULE_SETUP 10519 #line 204 "fortran.lex" 10520 return TOK_PRINT; 10521 YY_BREAK 10522 case 78: 10523 YY_RULE_SETUP 10524 #line 205 "fortran.lex" 10525 {return TOK_PROCEDURE;} 10526 YY_BREAK 10527 case 79: 10528 YY_RULE_SETUP 10529 #line 206 "fortran.lex" 10530 {return TOK_READ;} 10531 YY_BREAK 10532 case 80: 10533 YY_RULE_SETUP 10534 #line 207 "fortran.lex" 10535 {return TOK_NAMELIST;} 10536 YY_BREAK 10537 case 81: 10538 YY_RULE_SETUP 10539 #line 208 "fortran.lex" 10540 {return TOK_WRITE;} 10541 YY_BREAK 10542 case 82: 10543 YY_RULE_SETUP 10544 #line 209 "fortran.lex" 10545 {return TOK_TARGET;} 10546 YY_BREAK 10547 case 83: 10548 YY_RULE_SETUP 10549 #line 210 "fortran.lex" 10550 {return TOK_PUBLIC;} 10551 YY_BREAK 10552 case 84: 10553 YY_RULE_SETUP 10554 #line 211 "fortran.lex" 10555 {return TOK_PRIVATE;} 10556 YY_BREAK 10557 case 85: 10558 YY_RULE_SETUP 10559 #line 212 "fortran.lex" 10560 {strcpy(yylval.nac,fortrantext);return TOK_IN;} 10561 YY_BREAK 10562 case 86: 10563 YY_RULE_SETUP 10564 #line 213 "fortran.lex" 10565 {strcpy(yylval.na,fortrantext);return TOK_DATA;} 10566 YY_BREAK 10567 case 87: 10568 YY_RULE_SETUP 10569 #line 214 "fortran.lex" 10570 return TOK_CONTINUE; 10571 YY_BREAK 10572 case 88: 10573 YY_RULE_SETUP 10574 #line 215 "fortran.lex" 10575 {return TOK_PLAINGOTO;} 10576 YY_BREAK 10577 case 89: 10578 YY_RULE_SETUP 10579 #line 216 "fortran.lex" 10580 {strcpy(yylval.nac,fortrantext);return TOK_OUT;} 10581 YY_BREAK 10582 case 90: 10583 YY_RULE_SETUP 10584 #line 217 "fortran.lex" 10585 {strcpy(yylval.nac,fortrantext);return TOK_INOUT;} 10586 YY_BREAK 10587 case 91: 10588 YY_RULE_SETUP 10589 #line 218 "fortran.lex" 10590 {return TOK_INTRINSIC;} 10591 YY_BREAK 10592 case 92: 10593 YY_RULE_SETUP 10594 #line 219 "fortran.lex" 10595 {return TOK_THEN;} 10596 YY_BREAK 10597 case 93: 10598 YY_RULE_SETUP 10599 #line 220 "fortran.lex" 10600 {return TOK_ELSEIF;} 10601 YY_BREAK 10602 case 94: 10603 YY_RULE_SETUP 10604 #line 221 "fortran.lex" 10605 {return TOK_ELSE;} 10606 YY_BREAK 10607 case 95: 10608 YY_RULE_SETUP 10609 #line 222 "fortran.lex" 10610 {return TOK_ENDIF;} 10611 YY_BREAK 10612 case 96: 10613 YY_RULE_SETUP 10614 #line 223 "fortran.lex" 10615 {return TOK_LOGICALIF;} 10616 YY_BREAK 10617 case 97: 10618 YY_RULE_SETUP 10619 #line 224 "fortran.lex" 10620 {return TOK_SUM;} 10621 YY_BREAK 10622 case 98: 10623 YY_RULE_SETUP 10624 #line 225 "fortran.lex" 10625 {return TOK_MAX;} 10626 YY_BREAK 10627 case 99: 10628 YY_RULE_SETUP 10629 #line 226 "fortran.lex" 10630 {return TOK_TANH;} 10631 YY_BREAK 10632 case 100: 10633 YY_RULE_SETUP 10634 #line 227 "fortran.lex" 10635 {return TOK_MAXVAL;} 10636 YY_BREAK 10637 case 101: 10638 YY_RULE_SETUP 10639 #line 228 "fortran.lex" 10640 {return TOK_TRIM;} 10641 YY_BREAK 10642 case 102: 10643 YY_RULE_SETUP 10644 #line 229 "fortran.lex" 10645 {return TOK_SQRT;} 10646 YY_BREAK 10647 case 103: 10648 YY_RULE_SETUP 10649 #line 230 "fortran.lex" 10650 {return TOK_SELECTCASE;} 10651 YY_BREAK 10652 case 104: 10653 YY_RULE_SETUP 10654 #line 231 "fortran.lex" 10655 {return TOK_CASE;} 10656 YY_BREAK 10657 case 105: 10658 YY_RULE_SETUP 10659 #line 232 "fortran.lex" 10660 {return TOK_CASEDEFAULT;} 10661 YY_BREAK 10662 case 106: 10663 YY_RULE_SETUP 10664 #line 233 "fortran.lex" 10665 {return TOK_ENDSELECT;} 10666 YY_BREAK 10667 case 107: 10668 YY_RULE_SETUP 10669 #line 234 "fortran.lex" 10670 {return TOK_FILE;} 10671 YY_BREAK 10672 case 108: 10673 YY_RULE_SETUP 10674 #line 235 "fortran.lex" 10675 {return TOK_END;} 10676 YY_BREAK 10677 case 109: 10678 YY_RULE_SETUP 10679 #line 236 "fortran.lex" 10680 {return TOK_ERR;} 10681 YY_BREAK 10682 case 110: 10683 YY_RULE_SETUP 10684 #line 237 "fortran.lex" 10685 {return TOK_EXIST;} 10686 YY_BREAK 10687 case 111: 10688 YY_RULE_SETUP 10689 #line 238 "fortran.lex" 10690 {return TOK_MIN;} 10691 YY_BREAK 10692 case 112: 10693 YY_RULE_SETUP 10694 #line 239 "fortran.lex" 10695 {return TOK_NINT;} 10696 YY_BREAK 10697 case 113: 10698 YY_RULE_SETUP 10699 #line 240 "fortran.lex" 10700 {return TOK_FLOAT;} 10701 YY_BREAK 10702 case 114: 10703 YY_RULE_SETUP 10704 #line 241 "fortran.lex" 10705 {return TOK_EXP;} 10706 YY_BREAK 10707 case 115: 10708 YY_RULE_SETUP 10709 #line 242 "fortran.lex" 10710 {return TOK_COS;} 10711 YY_BREAK 10712 case 116: 10713 YY_RULE_SETUP 10714 #line 243 "fortran.lex" 10715 {return TOK_COSH;} 10716 YY_BREAK 10717 case 117: 10718 YY_RULE_SETUP 10719 #line 244 "fortran.lex" 10720 {return TOK_ACOS;} 10721 YY_BREAK 10722 case 118: 10723 YY_RULE_SETUP 10724 #line 245 "fortran.lex" 10725 {return TOK_SIN;} 10726 YY_BREAK 10727 case 119: 10728 YY_RULE_SETUP 10729 #line 246 "fortran.lex" 10730 {return TOK_SINH;} 10731 YY_BREAK 10732 case 120: 10733 YY_RULE_SETUP 10734 #line 247 "fortran.lex" 10735 {return TOK_ASIN;} 10736 YY_BREAK 10737 case 121: 10738 YY_RULE_SETUP 10739 #line 248 "fortran.lex" 10740 {return TOK_LOG;} 10741 YY_BREAK 10742 case 122: 10743 YY_RULE_SETUP 10744 #line 249 "fortran.lex" 10745 {return TOK_TAN;} 10746 YY_BREAK 10747 case 123: 9235 return TOK_FORMAT; } 9236 YY_BREAK 9237 case 144: 10748 9238 YY_RULE_SETUP 10749 9239 #line 250 "fortran.lex" 10750 { return TOK_ATAN;}10751 YY_BREAK 10752 case 1 24:9240 { strcpy(yylval.na,fortran_text); return TOK_SLASH; } 9241 YY_BREAK 9242 case 145: 10753 9243 YY_RULE_SETUP 10754 9244 #line 251 "fortran.lex" 10755 {return TOK_CYCLE;} 10756 YY_BREAK 10757 case 125: 9245 { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } 9246 YY_BREAK 9247 case 146: 9248 /* rule 146 can match eol */ 10758 9249 YY_RULE_SETUP 10759 9250 #line 252 "fortran.lex" 10760 {return TOK_ABS;} 10761 YY_BREAK 10762 case 126: 10763 YY_RULE_SETUP 10764 #line 253 "fortran.lex" 10765 {return TOK_MOD;} 10766 YY_BREAK 10767 case 127: 9251 { 9252 strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } 9253 YY_BREAK 9254 case 147: 9255 /* rule 147 can match eol */ 10768 9256 YY_RULE_SETUP 10769 9257 #line 254 "fortran.lex" 10770 {return TOK_SIGN;} 10771 YY_BREAK 10772 case 128: 9258 { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } 9259 YY_BREAK 9260 case 148: 9261 /* rule 148 can match eol */ 10773 9262 YY_RULE_SETUP 10774 9263 #line 255 "fortran.lex" 10775 { return TOK_MINLOC;}10776 YY_BREAK 10777 case 1 29:9264 { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } 9265 YY_BREAK 9266 case 149: 10778 9267 YY_RULE_SETUP 10779 9268 #line 256 "fortran.lex" 10780 {return TOK_MAXLOC;} 10781 YY_BREAK 10782 case 130: 9269 { BEGIN(donottreat); } 9270 YY_BREAK 9271 case 150: 9272 /* rule 150 can match eol */ 10783 9273 YY_RULE_SETUP 10784 9274 #line 257 "fortran.lex" 10785 { return TOK_MINVAL;}10786 YY_BREAK 10787 case 1 31:9275 { out_of_donottreat(); return '\n'; } 9276 YY_BREAK 9277 case 151: 10788 9278 YY_RULE_SETUP 10789 9279 #line 258 "fortran.lex" 10790 {return TOK_BACKSPACE;} 10791 YY_BREAK 10792 case 132: 9280 { strcpy(yylval.na,fortran_text); return TOK_NAME; } 9281 YY_BREAK 9282 case 152: 9283 /* rule 152 can match eol */ 9284 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 9285 (yy_c_buf_p) = yy_cp -= 1; 9286 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 10793 9287 YY_RULE_SETUP 10794 9288 #line 259 "fortran.lex" 10795 {return TOK_LEFTAB;} 10796 YY_BREAK 10797 case 133: 10798 YY_RULE_SETUP 10799 #line 260 "fortran.lex" 10800 {return TOK_RIGHTAB;} 10801 YY_BREAK 10802 case 134: 10803 /* rule 134 can match eol */ 9289 { // REAL1 9290 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 9291 YY_BREAK 9292 case 153: 10804 9293 YY_RULE_SETUP 10805 9294 #line 261 "fortran.lex" 10806 {return TOK_FORMAT;} 10807 YY_BREAK 10808 case 135: 10809 YY_RULE_SETUP 10810 #line 262 "fortran.lex" 10811 {strcpy(yylval.na,fortrantext);return TOK_DOUBLEPRECISION;} 10812 YY_BREAK 10813 case 136: 9295 { // REAL2 9296 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } 9297 YY_BREAK 9298 case 154: 10814 9299 YY_RULE_SETUP 10815 9300 #line 263 "fortran.lex" 10816 { strcpy(yylval.na,fortrantext);return TOK_DOUBLECOMPLEX;}10817 YY_BREAK 10818 case 1 37:9301 { strcpy(yylval.na,fortran_text); return TOK_CSTINT; } 9302 YY_BREAK 9303 case 155: 10819 9304 YY_RULE_SETUP 10820 9305 #line 264 "fortran.lex" 10821 { strcpy(yylval.na,fortrantext);return TOK_SLASH;}10822 YY_BREAK 10823 case 1 38:9306 {} 9307 YY_BREAK 9308 case 156: 10824 9309 YY_RULE_SETUP 10825 9310 #line 265 "fortran.lex" 10826 {strcpy(yylval.na,fortrantext);return TOK_DSLASH;} 10827 YY_BREAK 10828 case 139: 10829 /* rule 139 can match eol */ 9311 {} 9312 YY_BREAK 9313 case 157: 10830 9314 YY_RULE_SETUP 10831 9315 #line 266 "fortran.lex" 10832 { strcpy(yylval.na,fortrantext);return TOK_CHAR_CUT;}10833 YY_BREAK 10834 case 1 40:9316 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 9317 YY_BREAK 9318 case 158: 10835 9319 YY_RULE_SETUP 10836 9320 #line 267 "fortran.lex" 10837 { strcpy(yylval.na,fortrantext);return TOK_CHAR_CONSTANT;}10838 YY_BREAK 10839 case 1 41:9321 { strcpy(yylval.na,fortran_text); return (int) *fortran_text; } 9322 YY_BREAK 9323 case 159: 10840 9324 YY_RULE_SETUP 10841 9325 #line 268 "fortran.lex" 10842 { strcpy(yylval.na,fortrantext);return TOK_CHAR_MESSAGE;}10843 YY_BREAK 10844 case 1 42:9326 { return TOK_SEMICOLON; } 9327 YY_BREAK 9328 case 160: 10845 9329 YY_RULE_SETUP 10846 9330 #line 269 "fortran.lex" 10847 { strcpy(yylval.na,fortrantext);return TOK_CHAR_INT;}10848 YY_BREAK 10849 case 1 43:9331 { return (int) *fortran_text; } 9332 YY_BREAK 9333 case 161: 10850 9334 YY_RULE_SETUP 10851 9335 #line 270 "fortran.lex" 10852 {printf("debug interfacer\n");BEGIN(donottreat);} 10853 YY_BREAK 10854 case 144: 10855 /* rule 144 can match eol */ 9336 { return (int) *fortran_text; } 9337 YY_BREAK 9338 case 162: 10856 9339 YY_RULE_SETUP 10857 9340 #line 271 "fortran.lex" 10858 { 10859 BEGIN(INITIAL); 10860 if (infixed) BEGIN(fortran77style) ; 10861 if (infree) BEGIN(fortran90style) ; 10862 line_num_fortran++;line_num_fortran_common++; 10863 return '\n'; 10864 } 10865 YY_BREAK 10866 case 145: 10867 YY_RULE_SETUP 10868 #line 278 "fortran.lex" 10869 {strcpy(yylval.na,fortrantext);return TOK_NAME;} 10870 YY_BREAK 10871 case 146: 10872 YY_RULE_SETUP 10873 #line 279 "fortran.lex" 10874 {strcpy(yylval.na,fortrantext);return TOK_CSTREAL;} 10875 YY_BREAK 10876 case 147: 10877 YY_RULE_SETUP 10878 #line 280 "fortran.lex" 10879 {strcpy(yylval.na,fortrantext);return TOK_CSTREALDP;} 10880 YY_BREAK 10881 case 148: 10882 YY_RULE_SETUP 10883 #line 281 "fortran.lex" 10884 {strcpy(yylval.na,fortrantext);return TOK_CSTREALQP;} 10885 YY_BREAK 10886 case 149: 10887 /* rule 149 can match eol */ 10888 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */ 9341 { return (int) *fortran_text; } 9342 YY_BREAK 9343 case 163: 9344 YY_RULE_SETUP 9345 #line 272 "fortran.lex" 9346 { return (int) *fortran_text; } 9347 YY_BREAK 9348 case 164: 9349 /* rule 164 can match eol */ 9350 YY_RULE_SETUP 9351 #line 273 "fortran.lex" 9352 { INCREMENT_LINE_NUM() ; return '\n'; } 9353 YY_BREAK 9354 case 165: 9355 *yy_cp = (yy_hold_char); /* undo effects of setting up fortran_text */ 10889 9356 (yy_c_buf_p) = yy_cp -= 1; 10890 YY_DO_BEFORE_ACTION; /* set up fortrantext again */ 10891 YY_RULE_SETUP 10892 #line 282 "fortran.lex" 10893 {strcpy(yylval.na,fortrantext);return TOK_CSTREAL;} 10894 YY_BREAK 10895 case 150: 10896 YY_RULE_SETUP 10897 #line 283 "fortran.lex" 10898 {strcpy(yylval.na,fortrantext);return TOK_CSTINT;} 10899 YY_BREAK 10900 case 151: 10901 YY_RULE_SETUP 10902 #line 284 "fortran.lex" 9357 YY_DO_BEFORE_ACTION; /* set up fortran_text again */ 9358 YY_RULE_SETUP 9359 #line 274 "fortran.lex" 10903 9360 {} 10904 9361 YY_BREAK 10905 case 152: 10906 YY_RULE_SETUP 10907 #line 285 "fortran.lex" 10908 {return TOK_QUOTE;} 10909 YY_BREAK 10910 case 153: 10911 YY_RULE_SETUP 10912 #line 286 "fortran.lex" 9362 case 166: 9363 YY_RULE_SETUP 9364 #line 275 "fortran.lex" 10913 9365 {} 10914 9366 YY_BREAK 10915 case 154:10916 YY_RULE_SETUP10917 #line 287 "fortran.lex"10918 {strcpy(yylval.na,fortrantext);return (int) *fortrantext;}10919 YY_BREAK10920 case 155:10921 YY_RULE_SETUP10922 #line 288 "fortran.lex"10923 {afterpercent = 1; strcpy(yylval.na,fortrantext);return (int) *fortrantext;}10924 YY_BREAK10925 case 156:10926 YY_RULE_SETUP10927 #line 289 "fortran.lex"10928 {return TOK_SEMICOLON;}10929 YY_BREAK10930 case 157:10931 YY_RULE_SETUP10932 #line 290 "fortran.lex"10933 {return (int) *fortrantext;}10934 YY_BREAK10935 case 158:10936 YY_RULE_SETUP10937 #line 291 "fortran.lex"10938 {return (int) *fortrantext;}10939 YY_BREAK10940 case 159:10941 YY_RULE_SETUP10942 #line 292 "fortran.lex"10943 {return (int) *fortrantext;}10944 YY_BREAK10945 case 160:10946 YY_RULE_SETUP10947 #line 293 "fortran.lex"10948 {return (int) *fortrantext;}10949 YY_BREAK10950 case 161:10951 /* rule 161 can match eol */10952 YY_RULE_SETUP10953 #line 294 "fortran.lex"10954 {colnum=0;line_num_fortran++;line_num_fortran_common++; return (int) *fortrantext;}10955 YY_BREAK10956 case 162:10957 *yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */10958 (yy_c_buf_p) = yy_cp -= 1;10959 YY_DO_BEFORE_ACTION; /* set up fortrantext again */10960 YY_RULE_SETUP10961 #line 295 "fortran.lex"10962 10963 YY_BREAK10964 case 163:10965 YY_RULE_SETUP10966 #line 296 "fortran.lex"10967 {if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0;}10968 YY_BREAK10969 case 164:10970 YY_RULE_SETUP10971 #line 297 "fortran.lex"10972 10973 YY_BREAK10974 case 165:10975 YY_RULE_SETUP10976 #line 298 "fortran.lex"10977 {colnum=colnum-1+tabsize;}10978 YY_BREAK10979 case 166:10980 YY_RULE_SETUP10981 #line 299 "fortran.lex"10982 ;10983 YY_BREAK10984 9367 case 167: 10985 /* rule 167 can match eol */ 10986 YY_RULE_SETUP 10987 #line 300 "fortran.lex" 10988 {line_num_fortran++;line_num_fortran_common++;newlinef90=1;colnum=0;} 9368 YY_RULE_SETUP 9369 #line 276 "fortran.lex" 9370 { if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0; } 10989 9371 YY_BREAK 10990 9372 case 168: 10991 9373 /* rule 168 can match eol */ 10992 9374 YY_RULE_SETUP 10993 #line 301"fortran.lex"10994 { line_num_fortran++;line_num_fortran_common++;colnum=0;}9375 #line 277 "fortran.lex" 9376 { INCREMENT_LINE_NUM() ; newlinef90=1; } 10995 9377 YY_BREAK 10996 9378 case 169: 10997 9379 /* rule 169 can match eol */ 10998 9380 YY_RULE_SETUP 10999 #line 302 "fortran.lex" 11000 { 11001 convert2lower(motparse1); 11002 if ( strncasecmp(motparse1,"contains",8) == 0 ) 11003 { 11004 return TOK_CONTAINS; 11005 } 11006 else 11007 { 11008 /* colnum=0;line_num_fortran++;line_num_fortran_common++;*/ 11009 if ( !strcasecmp(motparse1,"C$AGRIF_DO_NOT_TREAT\n")) 11010 return TOK_DONOTTREAT; 11011 if ( !strcasecmp(motparse1,"C$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 11012 unput('\n'); 11013 } 11014 } 9381 #line 278 "fortran.lex" 9382 { INCREMENT_LINE_NUM() ; } 11015 9383 YY_BREAK 11016 9384 case 170: 11017 9385 /* rule 170 can match eol */ 11018 9386 YY_RULE_SETUP 11019 #line 317 "fortran.lex" 11020 { 11021 convert2lower(&motparse1[1]); 11022 if ( strncasecmp(&motparse1[1],"contains",8) == 0 ) 11023 { 11024 return TOK_CONTAINS; 11025 } 11026 else 11027 { 11028 /* colnum=0;line_num_fortran++;line_num_fortran_common++;*/ 11029 if ( !strcasecmp(&motparse1[1],"C$AGRIF_DO_NOT_TREAT\n")) 11030 return TOK_DONOTTREAT; 11031 if ( !strcasecmp(&motparse1[1],"C$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 11032 unput('\n'); 11033 } 11034 } 9387 #line 280 "fortran.lex" 9388 { INCREMENT_LINE_NUM() ; BEGIN(donottreat); } 11035 9389 YY_BREAK 11036 9390 case 171: 11037 9391 /* rule 171 can match eol */ 11038 9392 YY_RULE_SETUP 11039 #line 332 "fortran.lex" 11040 { 11041 BEGIN(donottreat); 11042 } 9393 #line 281 "fortran.lex" 9394 { out_of_donottreat(); return '\n'; } 11043 9395 YY_BREAK 11044 9396 case 172: 11045 9397 /* rule 172 can match eol */ 11046 9398 YY_RULE_SETUP 11047 #line 335 "fortran.lex" 11048 { 11049 BEGIN(INITIAL); 11050 if (infixed) BEGIN(fortran77style) ; 11051 if (infree) BEGIN(fortran90style) ; 11052 line_num_fortran++;line_num_fortran_common++; 11053 return '\n'; 11054 } 9399 #line 282 "fortran.lex" 9400 { INCREMENT_LINE_NUM() ; } 11055 9401 YY_BREAK 11056 9402 case 173: 11057 9403 /* rule 173 can match eol */ 11058 9404 YY_RULE_SETUP 11059 #line 342"fortran.lex"11060 { line_num_fortran++;line_num_fortran_common++;}9405 #line 283 "fortran.lex" 9406 { INCREMENT_LINE_NUM() ; } 11061 9407 YY_BREAK 11062 9408 case 174: 11063 9409 /* rule 174 can match eol */ 11064 9410 YY_RULE_SETUP 11065 #line 343 "fortran.lex" 11066 { 11067 colnum = 0; 11068 if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT; 11069 if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 11070 } 9411 #line 284 "fortran.lex" 9412 { INCREMENT_LINE_NUM() ; } 11071 9413 YY_BREAK 11072 9414 case 175: 11073 9415 YY_RULE_SETUP 11074 #line 348 "fortran.lex" 11075 { 11076 colnum = 0; 11077 if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT; 11078 if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT; 11079 } 9416 #line 285 "fortran.lex" 9417 {} 11080 9418 YY_BREAK 11081 9419 case 176: 11082 9420 YY_RULE_SETUP 11083 #line 353"fortran.lex"9421 #line 286 "fortran.lex" 11084 9422 ECHO; 11085 9423 YY_BREAK 11086 #line 4224"fortran.yy.c"9424 #line 3015 "fortran.yy.c" 11087 9425 case YY_STATE_EOF(INITIAL): 11088 9426 case YY_STATE_EOF(parameter): … … 11106 9444 /* We're scanning a new file or input source. It's 11107 9445 * possible that this happened because the user 11108 * just pointed fortran in at a new source and called11109 * fortran lex(). If so, then we have to assure9446 * just pointed fortran_in at a new source and called 9447 * fortran_lex(). If so, then we have to assure 11110 9448 * consistency between YY_CURRENT_BUFFER and our 11111 9449 * globals. Here is the right place to do so, because … … 11114 9452 */ 11115 9453 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 11116 YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortran in;9454 YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortran_in; 11117 9455 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 11118 9456 } … … 11167 9505 (yy_did_buffer_switch_on_eof) = 0; 11168 9506 11169 if ( fortran wrap( ) )9507 if ( fortran_wrap( ) ) 11170 9508 { 11171 9509 /* Note: because we've taken care in 11172 9510 * yy_get_next_buffer() to have set up 11173 * fortran text, we can now set up9511 * fortran_text, we can now set up 11174 9512 * yy_c_buf_p so that if some total 11175 9513 * hoser (like flex itself) wants to … … 11220 9558 } /* end of action switch */ 11221 9559 } /* end of scanning one token */ 11222 } /* end of fortran lex */9560 } /* end of fortran_lex */ 11223 9561 11224 9562 /* yy_get_next_buffer - try to read in a new buffer … … 11298 9636 b->yy_ch_buf = (char *) 11299 9637 /* Include room in for 2 EOB chars. */ 11300 fortran realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );9638 fortran_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 11301 9639 } 11302 9640 else … … 11330 9668 { 11331 9669 ret_val = EOB_ACT_END_OF_FILE; 11332 fortran restart(fortranin );9670 fortran_restart(fortran_in ); 11333 9671 } 11334 9672 … … 11347 9685 /* Extend the array by 50%, plus the number we really need. */ 11348 9686 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 11349 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) fortran realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );9687 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) fortran_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 11350 9688 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 11351 9689 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); … … 11382 9720 { 11383 9721 yy_current_state = (int) yy_def[yy_current_state]; 11384 if ( yy_current_state >= 11 62 )9722 if ( yy_current_state >= 1132 ) 11385 9723 yy_c = yy_meta[(unsigned int) yy_c]; 11386 9724 } … … 11410 9748 { 11411 9749 yy_current_state = (int) yy_def[yy_current_state]; 11412 if ( yy_current_state >= 11 62 )9750 if ( yy_current_state >= 1132 ) 11413 9751 yy_c = yy_meta[(unsigned int) yy_c]; 11414 9752 } 11415 9753 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 11416 yy_is_jam = (yy_current_state == 11 61);9754 yy_is_jam = (yy_current_state == 1131); 11417 9755 11418 9756 return yy_is_jam ? 0 : yy_current_state; … … 11425 9763 yy_cp = (yy_c_buf_p); 11426 9764 11427 /* undo effects of setting up fortran text */9765 /* undo effects of setting up fortran_text */ 11428 9766 *yy_cp = (yy_hold_char); 11429 9767 … … 11497 9835 11498 9836 /* Reset buffer status. */ 11499 fortran restart(fortranin );9837 fortran_restart(fortran_in ); 11500 9838 11501 9839 /*FALLTHROUGH*/ … … 11503 9841 case EOB_ACT_END_OF_FILE: 11504 9842 { 11505 if ( fortran wrap( ) )9843 if ( fortran_wrap( ) ) 11506 9844 return 0; 11507 9845 … … 11523 9861 11524 9862 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 11525 *(yy_c_buf_p) = '\0'; /* preserve fortran text */9863 *(yy_c_buf_p) = '\0'; /* preserve fortran_text */ 11526 9864 (yy_hold_char) = *++(yy_c_buf_p); 11527 9865 … … 11537 9875 * @note This function does not reset the start condition to @c INITIAL . 11538 9876 */ 11539 void fortran restart (FILE * input_file )9877 void fortran_restart (FILE * input_file ) 11540 9878 { 11541 9879 11542 9880 if ( ! YY_CURRENT_BUFFER ){ 11543 fortran ensure_buffer_stack ();9881 fortran_ensure_buffer_stack (); 11544 9882 YY_CURRENT_BUFFER_LVALUE = 11545 fortran_ create_buffer(fortranin,YY_BUF_SIZE );9883 fortran__create_buffer(fortran_in,YY_BUF_SIZE ); 11546 9884 } 11547 9885 11548 fortran_ init_buffer(YY_CURRENT_BUFFER,input_file );11549 fortran_ load_buffer_state( );9886 fortran__init_buffer(YY_CURRENT_BUFFER,input_file ); 9887 fortran__load_buffer_state( ); 11550 9888 } 11551 9889 … … 11554 9892 * 11555 9893 */ 11556 void fortran_ switch_to_buffer (YY_BUFFER_STATE new_buffer )9894 void fortran__switch_to_buffer (YY_BUFFER_STATE new_buffer ) 11557 9895 { 11558 9896 11559 9897 /* TODO. We should be able to replace this entire function body 11560 9898 * with 11561 * fortran pop_buffer_state();11562 * fortran push_buffer_state(new_buffer);9899 * fortran_pop_buffer_state(); 9900 * fortran_push_buffer_state(new_buffer); 11563 9901 */ 11564 fortran ensure_buffer_stack ();9902 fortran_ensure_buffer_stack (); 11565 9903 if ( YY_CURRENT_BUFFER == new_buffer ) 11566 9904 return; … … 11575 9913 11576 9914 YY_CURRENT_BUFFER_LVALUE = new_buffer; 11577 fortran_ load_buffer_state( );9915 fortran__load_buffer_state( ); 11578 9916 11579 9917 /* We don't actually know whether we did this switch during 11580 * EOF (fortran wrap()) processing, but the only time this flag11581 * is looked at is after fortran wrap() is called, so it's safe9918 * EOF (fortran_wrap()) processing, but the only time this flag 9919 * is looked at is after fortran_wrap() is called, so it's safe 11582 9920 * to go ahead and always set it. 11583 9921 */ … … 11585 9923 } 11586 9924 11587 static void fortran_ load_buffer_state (void)9925 static void fortran__load_buffer_state (void) 11588 9926 { 11589 9927 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 11590 9928 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 11591 fortran in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;9929 fortran_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 11592 9930 (yy_hold_char) = *(yy_c_buf_p); 11593 9931 } … … 11599 9937 * @return the allocated buffer state. 11600 9938 */ 11601 YY_BUFFER_STATE fortran_ create_buffer (FILE * file, int size )9939 YY_BUFFER_STATE fortran__create_buffer (FILE * file, int size ) 11602 9940 { 11603 9941 YY_BUFFER_STATE b; 11604 9942 11605 b = (YY_BUFFER_STATE) fortran alloc(sizeof( struct yy_buffer_state ) );9943 b = (YY_BUFFER_STATE) fortran_alloc(sizeof( struct yy_buffer_state ) ); 11606 9944 if ( ! b ) 11607 YY_FATAL_ERROR( "out of dynamic memory in fortran_ create_buffer()" );9945 YY_FATAL_ERROR( "out of dynamic memory in fortran__create_buffer()" ); 11608 9946 11609 9947 b->yy_buf_size = size; … … 11612 9950 * we need to put in 2 end-of-buffer characters. 11613 9951 */ 11614 b->yy_ch_buf = (char *) fortran alloc(b->yy_buf_size + 2 );9952 b->yy_ch_buf = (char *) fortran_alloc(b->yy_buf_size + 2 ); 11615 9953 if ( ! b->yy_ch_buf ) 11616 YY_FATAL_ERROR( "out of dynamic memory in fortran_ create_buffer()" );9954 YY_FATAL_ERROR( "out of dynamic memory in fortran__create_buffer()" ); 11617 9955 11618 9956 b->yy_is_our_buffer = 1; 11619 9957 11620 fortran_ init_buffer(b,file );9958 fortran__init_buffer(b,file ); 11621 9959 11622 9960 return b; … … 11624 9962 11625 9963 /** Destroy the buffer. 11626 * @param b a buffer created with fortran_ create_buffer()9964 * @param b a buffer created with fortran__create_buffer() 11627 9965 * 11628 9966 */ 11629 void fortran_ delete_buffer (YY_BUFFER_STATE b )9967 void fortran__delete_buffer (YY_BUFFER_STATE b ) 11630 9968 { 11631 9969 … … 11637 9975 11638 9976 if ( b->yy_is_our_buffer ) 11639 fortran free((void *) b->yy_ch_buf );11640 11641 fortran free((void *) b );9977 fortran_free((void *) b->yy_ch_buf ); 9978 9979 fortran_free((void *) b ); 11642 9980 } 11643 9981 … … 11648 9986 /* Initializes or reinitializes a buffer. 11649 9987 * This function is sometimes called more than once on the same buffer, 11650 * such as during a fortran restart() or at EOF.9988 * such as during a fortran_restart() or at EOF. 11651 9989 */ 11652 static void fortran_ init_buffer (YY_BUFFER_STATE b, FILE * file )9990 static void fortran__init_buffer (YY_BUFFER_STATE b, FILE * file ) 11653 9991 11654 9992 { 11655 9993 int oerrno = errno; 11656 9994 11657 fortran_ flush_buffer(b );9995 fortran__flush_buffer(b ); 11658 9996 11659 9997 b->yy_input_file = file; 11660 9998 b->yy_fill_buffer = 1; 11661 9999 11662 /* If b is the current buffer, then fortran_ init_buffer was _probably_11663 * called from fortran restart() or through yy_get_next_buffer.10000 /* If b is the current buffer, then fortran__init_buffer was _probably_ 10001 * called from fortran_restart() or through yy_get_next_buffer. 11664 10002 * In that case, we don't want to reset the lineno or column. 11665 10003 */ … … 11678 10016 * 11679 10017 */ 11680 void fortran_ flush_buffer (YY_BUFFER_STATE b )10018 void fortran__flush_buffer (YY_BUFFER_STATE b ) 11681 10019 { 11682 10020 if ( ! b ) … … 11698 10036 11699 10037 if ( b == YY_CURRENT_BUFFER ) 11700 fortran_ load_buffer_state( );10038 fortran__load_buffer_state( ); 11701 10039 } 11702 10040 … … 11707 10045 * 11708 10046 */ 11709 void fortran push_buffer_state (YY_BUFFER_STATE new_buffer )10047 void fortran_push_buffer_state (YY_BUFFER_STATE new_buffer ) 11710 10048 { 11711 10049 if (new_buffer == NULL) 11712 10050 return; 11713 10051 11714 fortran ensure_buffer_stack();11715 11716 /* This block is copied from fortran_ switch_to_buffer. */10052 fortran_ensure_buffer_stack(); 10053 10054 /* This block is copied from fortran__switch_to_buffer. */ 11717 10055 if ( YY_CURRENT_BUFFER ) 11718 10056 { … … 11728 10066 YY_CURRENT_BUFFER_LVALUE = new_buffer; 11729 10067 11730 /* copied from fortran_ switch_to_buffer. */11731 fortran_ load_buffer_state( );10068 /* copied from fortran__switch_to_buffer. */ 10069 fortran__load_buffer_state( ); 11732 10070 (yy_did_buffer_switch_on_eof) = 1; 11733 10071 } … … 11737 10075 * 11738 10076 */ 11739 void fortran pop_buffer_state (void)10077 void fortran_pop_buffer_state (void) 11740 10078 { 11741 10079 if (!YY_CURRENT_BUFFER) 11742 10080 return; 11743 10081 11744 fortran_ delete_buffer(YY_CURRENT_BUFFER );10082 fortran__delete_buffer(YY_CURRENT_BUFFER ); 11745 10083 YY_CURRENT_BUFFER_LVALUE = NULL; 11746 10084 if ((yy_buffer_stack_top) > 0) … … 11748 10086 11749 10087 if (YY_CURRENT_BUFFER) { 11750 fortran_ load_buffer_state( );10088 fortran__load_buffer_state( ); 11751 10089 (yy_did_buffer_switch_on_eof) = 1; 11752 10090 } … … 11756 10094 * Guarantees space for at least one push. 11757 10095 */ 11758 static void fortran ensure_buffer_stack (void)10096 static void fortran_ensure_buffer_stack (void) 11759 10097 { 11760 10098 yy_size_t num_to_alloc; … … 11767 10105 */ 11768 10106 num_to_alloc = 1; 11769 (yy_buffer_stack) = (struct yy_buffer_state**)fortran alloc10107 (yy_buffer_stack) = (struct yy_buffer_state**)fortran_alloc 11770 10108 (num_to_alloc * sizeof(struct yy_buffer_state*) 11771 10109 ); 11772 10110 if ( ! (yy_buffer_stack) ) 11773 YY_FATAL_ERROR( "out of dynamic memory in fortran ensure_buffer_stack()" );10111 YY_FATAL_ERROR( "out of dynamic memory in fortran_ensure_buffer_stack()" ); 11774 10112 11775 10113 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); … … 11786 10124 11787 10125 num_to_alloc = (yy_buffer_stack_max) + grow_size; 11788 (yy_buffer_stack) = (struct yy_buffer_state**)fortran realloc10126 (yy_buffer_stack) = (struct yy_buffer_state**)fortran_realloc 11789 10127 ((yy_buffer_stack), 11790 10128 num_to_alloc * sizeof(struct yy_buffer_state*) 11791 10129 ); 11792 10130 if ( ! (yy_buffer_stack) ) 11793 YY_FATAL_ERROR( "out of dynamic memory in fortran ensure_buffer_stack()" );10131 YY_FATAL_ERROR( "out of dynamic memory in fortran_ensure_buffer_stack()" ); 11794 10132 11795 10133 /* zero only the new slots.*/ … … 11805 10143 * @return the newly allocated buffer state object. 11806 10144 */ 11807 YY_BUFFER_STATE fortran_ scan_buffer (char * base, yy_size_t size )10145 YY_BUFFER_STATE fortran__scan_buffer (char * base, yy_size_t size ) 11808 10146 { 11809 10147 YY_BUFFER_STATE b; … … 11815 10153 return 0; 11816 10154 11817 b = (YY_BUFFER_STATE) fortran alloc(sizeof( struct yy_buffer_state ) );10155 b = (YY_BUFFER_STATE) fortran_alloc(sizeof( struct yy_buffer_state ) ); 11818 10156 if ( ! b ) 11819 YY_FATAL_ERROR( "out of dynamic memory in fortran_ scan_buffer()" );10157 YY_FATAL_ERROR( "out of dynamic memory in fortran__scan_buffer()" ); 11820 10158 11821 10159 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ … … 11829 10167 b->yy_buffer_status = YY_BUFFER_NEW; 11830 10168 11831 fortran_ switch_to_buffer(b );10169 fortran__switch_to_buffer(b ); 11832 10170 11833 10171 return b; 11834 10172 } 11835 10173 11836 /** Setup the input buffer state to scan a string. The next call to fortran lex() will10174 /** Setup the input buffer state to scan a string. The next call to fortran_lex() will 11837 10175 * scan from a @e copy of @a str. 11838 10176 * @param yystr a NUL-terminated string to scan … … 11840 10178 * @return the newly allocated buffer state object. 11841 10179 * @note If you want to scan bytes that may contain NUL values, then use 11842 * fortran_ scan_bytes() instead.10180 * fortran__scan_bytes() instead. 11843 10181 */ 11844 YY_BUFFER_STATE fortran_ scan_string (yyconst char * yystr )10182 YY_BUFFER_STATE fortran__scan_string (yyconst char * yystr ) 11845 10183 { 11846 10184 11847 return fortran_ scan_bytes(yystr,strlen(yystr) );10185 return fortran__scan_bytes(yystr,strlen(yystr) ); 11848 10186 } 11849 10187 11850 /** Setup the input buffer state to scan the given bytes. The next call to fortran lex() will10188 /** Setup the input buffer state to scan the given bytes. The next call to fortran_lex() will 11851 10189 * scan from a @e copy of @a bytes. 11852 10190 * @param bytes the byte buffer to scan … … 11855 10193 * @return the newly allocated buffer state object. 11856 10194 */ 11857 YY_BUFFER_STATE fortran_ scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )10195 YY_BUFFER_STATE fortran__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) 11858 10196 { 11859 10197 YY_BUFFER_STATE b; … … 11863 10201 /* Get memory for full buffer, including space for trailing EOB's. */ 11864 10202 n = _yybytes_len + 2; 11865 buf = (char *) fortran alloc(n );10203 buf = (char *) fortran_alloc(n ); 11866 10204 if ( ! buf ) 11867 YY_FATAL_ERROR( "out of dynamic memory in fortran_ scan_bytes()" );10205 YY_FATAL_ERROR( "out of dynamic memory in fortran__scan_bytes()" ); 11868 10206 11869 10207 for ( i = 0; i < _yybytes_len; ++i ) … … 11872 10210 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 11873 10211 11874 b = fortran_ scan_buffer(buf,n );10212 b = fortran__scan_buffer(buf,n ); 11875 10213 if ( ! b ) 11876 YY_FATAL_ERROR( "bad buffer in fortran_ scan_bytes()" );10214 YY_FATAL_ERROR( "bad buffer in fortran__scan_bytes()" ); 11877 10215 11878 10216 /* It's okay to grow etc. this buffer, and we should throw it … … 11900 10238 do \ 11901 10239 { \ 11902 /* Undo effects of setting up fortran text. */ \10240 /* Undo effects of setting up fortran_text. */ \ 11903 10241 int yyless_macro_arg = (n); \ 11904 10242 YY_LESS_LINENO(yyless_macro_arg);\ 11905 fortran text[fortranleng] = (yy_hold_char); \11906 (yy_c_buf_p) = fortran text + yyless_macro_arg; \10243 fortran_text[fortran_leng] = (yy_hold_char); \ 10244 (yy_c_buf_p) = fortran_text + yyless_macro_arg; \ 11907 10245 (yy_hold_char) = *(yy_c_buf_p); \ 11908 10246 *(yy_c_buf_p) = '\0'; \ 11909 fortran leng = yyless_macro_arg; \10247 fortran_leng = yyless_macro_arg; \ 11910 10248 } \ 11911 10249 while ( 0 ) … … 11916 10254 * 11917 10255 */ 11918 int fortran get_lineno (void)10256 int fortran_get_lineno (void) 11919 10257 { 11920 10258 11921 return fortran lineno;10259 return fortran_lineno; 11922 10260 } 11923 10261 … … 11925 10263 * 11926 10264 */ 11927 FILE *fortran get_in (void)10265 FILE *fortran_get_in (void) 11928 10266 { 11929 return fortran in;10267 return fortran_in; 11930 10268 } 11931 10269 … … 11933 10271 * 11934 10272 */ 11935 FILE *fortran get_out (void)10273 FILE *fortran_get_out (void) 11936 10274 { 11937 return fortran out;10275 return fortran_out; 11938 10276 } 11939 10277 … … 11941 10279 * 11942 10280 */ 11943 yy_size_t fortran get_leng (void)10281 yy_size_t fortran_get_leng (void) 11944 10282 { 11945 return fortran leng;10283 return fortran_leng; 11946 10284 } 11947 10285 … … 11950 10288 */ 11951 10289 11952 char *fortran get_text (void)10290 char *fortran_get_text (void) 11953 10291 { 11954 return fortran text;10292 return fortran_text; 11955 10293 } 11956 10294 … … 11959 10297 * 11960 10298 */ 11961 void fortran set_lineno (int line_number )10299 void fortran_set_lineno (int line_number ) 11962 10300 { 11963 10301 11964 fortran lineno = line_number;10302 fortran_lineno = line_number; 11965 10303 } 11966 10304 … … 11969 10307 * @param in_str A readable stream. 11970 10308 * 11971 * @see fortran_ switch_to_buffer10309 * @see fortran__switch_to_buffer 11972 10310 */ 11973 void fortran set_in (FILE * in_str )10311 void fortran_set_in (FILE * in_str ) 11974 10312 { 11975 fortran in = in_str ;10313 fortran_in = in_str ; 11976 10314 } 11977 10315 11978 void fortran set_out (FILE * out_str )10316 void fortran_set_out (FILE * out_str ) 11979 10317 { 11980 fortran out = out_str ;10318 fortran_out = out_str ; 11981 10319 } 11982 10320 11983 int fortran get_debug (void)10321 int fortran_get_debug (void) 11984 10322 { 11985 return fortran_ flex_debug;10323 return fortran__flex_debug; 11986 10324 } 11987 10325 11988 void fortran set_debug (int bdebug )10326 void fortran_set_debug (int bdebug ) 11989 10327 { 11990 fortran_ flex_debug = bdebug ;10328 fortran__flex_debug = bdebug ; 11991 10329 } 11992 10330 … … 11994 10332 { 11995 10333 /* Initialization is the same as for the non-reentrant scanner. 11996 * This function is called from fortran lex_destroy(), so don't allocate here.10334 * This function is called from fortran_lex_destroy(), so don't allocate here. 11997 10335 */ 11998 10336 … … 12006 10344 /* Defined in main.c */ 12007 10345 #ifdef YY_STDINIT 12008 fortran in = stdin;12009 fortran out = stdout;10346 fortran_in = stdin; 10347 fortran_out = stdout; 12010 10348 #else 12011 fortran in = (FILE *) 0;12012 fortran out = (FILE *) 0;10349 fortran_in = (FILE *) 0; 10350 fortran_out = (FILE *) 0; 12013 10351 #endif 12014 10352 12015 10353 /* For future reference: Set errno on error, since we are called by 12016 * fortran lex_init()10354 * fortran_lex_init() 12017 10355 */ 12018 10356 return 0; 12019 10357 } 12020 10358 12021 /* fortran lex_destroy is for both reentrant and non-reentrant scanners. */12022 int fortran lex_destroy (void)10359 /* fortran_lex_destroy is for both reentrant and non-reentrant scanners. */ 10360 int fortran_lex_destroy (void) 12023 10361 { 12024 10362 12025 10363 /* Pop the buffer stack, destroying each element. */ 12026 10364 while(YY_CURRENT_BUFFER){ 12027 fortran_ delete_buffer(YY_CURRENT_BUFFER );10365 fortran__delete_buffer(YY_CURRENT_BUFFER ); 12028 10366 YY_CURRENT_BUFFER_LVALUE = NULL; 12029 fortran pop_buffer_state();10367 fortran_pop_buffer_state(); 12030 10368 } 12031 10369 12032 10370 /* Destroy the stack itself. */ 12033 fortran free((yy_buffer_stack) );10371 fortran_free((yy_buffer_stack) ); 12034 10372 (yy_buffer_stack) = NULL; 12035 10373 12036 10374 /* Reset the globals. This is important in a non-reentrant scanner so the next time 12037 * fortran lex() is called, initialization will occur. */10375 * fortran_lex() is called, initialization will occur. */ 12038 10376 yy_init_globals( ); 12039 10377 … … 12065 10403 #endif 12066 10404 12067 void *fortran alloc (yy_size_t size )10405 void *fortran_alloc (yy_size_t size ) 12068 10406 { 12069 10407 return (void *) malloc( size ); 12070 10408 } 12071 10409 12072 void *fortran realloc (void * ptr, yy_size_t size )10410 void *fortran_realloc (void * ptr, yy_size_t size ) 12073 10411 { 12074 10412 /* The cast to (char *) in the following accommodates both … … 12082 10420 } 12083 10421 12084 void fortran free (void * ptr )10422 void fortran_free (void * ptr ) 12085 10423 { 12086 free( (char *) ptr ); /* see fortran realloc() for (char *) cast */10424 free( (char *) ptr ); /* see fortran_realloc() for (char *) cast */ 12087 10425 } 12088 10426 12089 10427 #define YYTABLES_NAME "yytables" 12090 10428 12091 #line 353"fortran.lex"12092 12093 12094 12095 fortranerror(char *s)10429 #line 286 "fortran.lex" 10430 10431 10432 10433 void out_of_donottreat ( void ) 12096 10434 { 12097 if (!strcasecmp(curfile,mainfile)) 12098 { 12099 printf("%s line %d, file %s motclef = %s\n",s,line_num_fortran,curfile,fortrantext); 12100 } 12101 else 12102 { 12103 printf("%s line %d, file %s motclef = %s curbuf = %s\n",s,line_num_fortran_common,curfile,fortrantext,curbuf); 12104 } 12105 /* exit(0);*/ 10435 BEGIN(INITIAL); 10436 if (infixed) BEGIN(fortran77style) ; 10437 if (infree) BEGIN(fortran90style) ; 10438 INCREMENT_LINE_NUM() ; 12106 10439 } 12107 10440 12108 int fortranwrap()12109 {12110 }12111
Note: See TracChangeset
for help on using the changeset viewer.