diff --git a/ext/AGRIF/LEX/Makefile.lex b/ext/AGRIF/LEX/Makefile.lex index 119e67cd6f139400e197fec389f63a10e40a09eb..9f8d489a542d93440a41dd90d7ed0c60bf0b1625 100644 --- a/ext/AGRIF/LEX/Makefile.lex +++ b/ext/AGRIF/LEX/Makefile.lex @@ -1,5 +1,5 @@ -LEX = flex -i -YACC = /usr/bin/bison -t -v -g --graph +LEX = flex -i +YACC = bison -t -v -g --graph #YACC = byacc -t -v all: main.c fortran.c diff --git a/ext/AGRIF/LEX/fortran.lex b/ext/AGRIF/LEX/fortran.lex index e411e00ae3a72e1b8cf2abbb7aa821628af7824c..c6b00d6dd84a3784562c1a6e7711ed349bba9f5a 100644 --- a/ext/AGRIF/LEX/fortran.lex +++ b/ext/AGRIF/LEX/fortran.lex @@ -178,6 +178,9 @@ else[ \t]*where { return TOK_ELSEWHERE; } only { return TOK_ONLY; } parameter { return TOK_PARAMETER; } recursive { return TOK_RECURSIVE; } +pure { return TOK_PURE; } +impure { return TOK_IMPURE; } +elemental { return TOK_ELEMENTAL; } common { return TOK_COMMON; } ^[ \t]*global[ \t]+ { return TOK_GLOBAL; } external { return TOK_EXTERNAL; } diff --git a/ext/AGRIF/LEX/fortran.y b/ext/AGRIF/LEX/fortran.y index bdc2c469e0ecf4131aa10903c77b9e391410bea7..8405430228bcf87f1af1522e5ceb3ad5667c153f 100644 --- a/ext/AGRIF/LEX/fortran.y +++ b/ext/AGRIF/LEX/fortran.y @@ -175,6 +175,9 @@ int fortran_error(const char *s) %token TOK_TAN %token TOK_ATAN %token TOK_RECURSIVE +%token TOK_PURE +%token TOK_IMPURE +%token TOK_ELEMENTAL %token TOK_ABS %token TOK_MOD %token TOK_SIGN @@ -576,6 +579,18 @@ opt_recursive : { isrecursive = 0; } | TOK_RECURSIVE { isrecursive = 1; } ; +opt_pure : { ispure = 0; } + | TOK_PURE { ispure = 1; } + ; + +opt_impure : { isimpure = 0; } + | TOK_IMPURE { isimpure = 1; } + ; + +opt_elemental : { iselemental = 0; } + | TOK_ELEMENTAL { iselemental = 1; } + ; + opt_result : { is_result_present = 0; } | TOK_RESULT arglist_after_result { is_result_present = 1; } ; @@ -4379,7 +4394,7 @@ actual-arg: expr | ident ; -opt-prefix: {isrecursive = 0;} +opt-prefix: {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0;} | prefix ; @@ -4390,11 +4405,17 @@ prefix: prefix-spec /* R1226 prefix-spec */ prefix-spec: declaration-type-spec - {isrecursive = 0; functiondeclarationisdone = 1;} + {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0; functiondeclarationisdone = 1;} | TOK_MODULE - {isrecursive = 0;} + {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0;} | TOK_RECURSIVE {isrecursive = 1;} + | TOK_PURE + {ispure = 1;} + | TOK_IMPURE + {isimpure = 1;} + | TOK_ELEMENTAL + {iselemental = 1;} ; /*R1227 : function-subprogram */ @@ -4941,6 +4962,9 @@ void process_fortran(const char *input_file) insubroutinedeclare = 0 ; strcpy(subroutinename," "); isrecursive = 0; + ispure = 0; + isimpure = 0; + iselemental = 0; InitialValueGiven = 0 ; GlobalDeclarationType = 0; inmoduledeclare = 0; diff --git a/ext/AGRIF/LIB/SubLoopCreation.c b/ext/AGRIF/LIB/SubLoopCreation.c index 2a5f6abb40de403956af8a5f947d95175b49eec2..2943281367f8bc9246c35ca0335b3a56184db719 100644 --- a/ext/AGRIF/LIB/SubLoopCreation.c +++ b/ext/AGRIF/LIB/SubLoopCreation.c @@ -77,7 +77,8 @@ void WriteBeginof_SubLoop() writesub_loopdeclaration_scalar(List_UsedInSubroutine_Var,fortran_out); writesub_loopdeclaration_tab(List_UsedInSubroutine_Var,fortran_out); WriteArgumentDeclaration_Sort(fortran_out); - WriteFunctionDeclaration(fortran_out, 1); + /* Here we are in the subloop, we need intent attribute for function name */ + WriteFunctionDeclaration(fortran_out, 1, 1); } else { @@ -89,7 +90,8 @@ void WriteBeginof_SubLoop() WriteLocalParamDeclaration(fortran_out); WriteArgumentDeclaration_beforecall(); if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); - if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 1); + /* Here we are in the function itself, no need for intent attribute for function name */ + if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 1, 0); /* writesub_loopdeclaration_scalar(List_SubroutineArgument_Var,fortran_out); writesub_loopdeclaration_tab(List_SubroutineArgument_Var,fortran_out);*/ } @@ -306,8 +308,12 @@ void WriteHeadofSubroutineLoop() sprintf(ligne,"Sub_Loop_%s.h",subroutinename); subloop = open_for_write(ligne); /* */ - if (isrecursive) sprintf(ligne,"recursive subroutine Sub_Loop_%s(",subroutinename); - else sprintf(ligne,"subroutine Sub_Loop_%s(",subroutinename); + strcpy(ligne, ""); + if (isrecursive) strcat(ligne, "recursive "); + if ( ispure) strcat(ligne, "pure "); + if ( isimpure) strcat(ligne, "impure "); + if (iselemental) strcat(ligne, "elemental "); + sprintf(ligne,"%s subroutine Sub_Loop_%s(", ligne, subroutinename); /* */ if (todebug == 1) fprintf(subloop," !DEBUG: Avant WriteVariablelist_subloop\n"); @@ -371,7 +377,8 @@ void closeandcallsubloopandincludeit_0(int suborfun) WriteArgumentDeclaration_beforecall(); if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); - if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); + /* we are in the function */ + if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0, 0); if ( !strcasecmp(subofagrifinitgrids,subroutinename) ) fprintf(fortran_out," call Agrif_Init_Grids()\n"); /* Now we add the call af the new subroutine */ @@ -424,7 +431,8 @@ void closeandcallsubloop_contains_0() printf("ICI3\n"); WriteArgumentDeclaration_beforecall(); if (todebug == 1) fprintf(fortran_out," !DEBUG: Avant WriteFunctionDeclaration\n"); - if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0); + /* not totally sure here, this routine is never called */ + if ( functiondeclarationisdone == 0 ) WriteFunctionDeclaration(fortran_out, 0, 0); /* WriteSubroutineDeclaration(0);*/ if ( !strcasecmp(subofagrifinitgrids,subroutinename) ) fprintf(fortran_out," call Agrif_Init_Grids()\n"); diff --git a/ext/AGRIF/LIB/WorkWithlistvarindoloop.c b/ext/AGRIF/LIB/WorkWithlistvarindoloop.c index a321e9de3b84a5a6baa878bb3e9bedd0b5187e9f..2cd0d4e6b25855a5505ac5c8d3f85244e0e3e31a 100644 --- a/ext/AGRIF/LIB/WorkWithlistvarindoloop.c +++ b/ext/AGRIF/LIB/WorkWithlistvarindoloop.c @@ -33,8 +33,8 @@ /* version 1.7 */ /******************************************************************************/ #include <stdio.h> -//#include <stdlib.h> -//#include <string.h> +#include <stdlib.h> +#include <string.h> #include "decl.h" diff --git a/ext/AGRIF/LIB/Writedeclarations.c b/ext/AGRIF/LIB/Writedeclarations.c index e9396ebca0b57a000ab8ae8b11f8a2a98b4c8b14..ad77274b213944f162262765be7d9f697478c5dd 100644 --- a/ext/AGRIF/LIB/Writedeclarations.c +++ b/ext/AGRIF/LIB/Writedeclarations.c @@ -235,7 +235,7 @@ void WriteLocalParamDeclaration(FILE* tofile) } } -void WriteFunctionDeclaration(FILE* tofile, int value) +void WriteFunctionDeclaration(FILE* tofile, int value, int insubloop ) { listvar *parcours; @@ -252,7 +252,18 @@ void WriteFunctionDeclaration(FILE* tofile, int value) if ( !strcasecmp(parcours->var->v_subroutinename, subroutinename) && strcasecmp(parcours->var->v_typevar, "") ) { + if (insubloop == 1 && iselemental == 1) + { + strcpy(parcours->var->v_IntentSpec, "OUT"); + } + WriteVarDeclaration(parcours->var, tofile, value, 1); + + /* le test sur out doit suffire ici en fait*/ + if ( insubloop == 1 && iselemental == 1 && !strcasecmp(parcours->var->v_IntentSpec,"OUT") ) + { + strcpy(parcours->var->v_IntentSpec, ""); + } } parcours = parcours -> suiv; } @@ -330,8 +341,12 @@ void WriteArgumentDeclaration_beforecall() if ( IsTabvarsUseInArgument_0() && (inmodulemeet == 0) && (inprogramdeclare == 0) ) { fprintf(paramtoamr, " interface\n"); - if (isrecursive) sprintf(ligne," recursive subroutine Sub_Loop_%s(", subroutinename); - else sprintf(ligne," subroutine Sub_Loop_%s(", subroutinename); + strcpy(ligne, ""); + if (isrecursive) strcat(ligne, "recursive "); + if ( ispure) strcat(ligne, "pure "); + if ( isimpure) strcat(ligne, "impure "); + if (iselemental) strcat(ligne, "elemental "); + sprintf(ligne,"%s subroutine Sub_Loop_%s(", ligne, subroutinename); WriteVariablelist_subloop(&ligne,&line_length); WriteVariablelist_subloop_Def(&ligne,&line_length); strcat(ligne,")"); @@ -353,7 +368,7 @@ void WriteArgumentDeclaration_beforecall() writesub_loopdeclaration_scalar(List_UsedInSubroutine_Var, paramtoamr); writesub_loopdeclaration_tab(List_UsedInSubroutine_Var, paramtoamr); WriteArgumentDeclaration_Sort(paramtoamr); - WriteFunctionDeclaration(paramtoamr, 1); + WriteFunctionDeclaration(paramtoamr, 1, 1); sprintf(ligne," end subroutine Sub_Loop_%s\n", subroutinename); tofich(paramtoamr, ligne, 1); @@ -589,6 +604,10 @@ void writesub_loopdeclaration_scalar (listvar * deb_common, FILE *fileout) (newvar->var->v_pointerdeclare >= 0 || !strcasecmp(newvar->var->v_typevar,"type")) ) { v = newvar->var; + if (iselemental) + { + strcpy(v->v_IntentSpec, "in"); + } WriteBeginDeclaration(v,ligne,1); WriteScalarDeclaration(v,ligne); tofich (fileout, ligne,1); @@ -621,6 +640,11 @@ void writesub_loopdeclaration_tab (listvar * deb_common, FILE *fileout) while (newvar) { v = newvar->var; + if (iselemental) + { + strcpy(v->v_IntentSpec, "in"); + } + // printf("newvar = %s %d %s\n",newvar->var->v_nomvar,newvar->var->v_pointerdeclare,newvar->var->v_typevar); if ( (v->v_nbdim != 0) && !strcasecmp(v->v_subroutinename, subroutinename) && (v->v_pointerdeclare >= 0 || !strcasecmp(v->v_typevar,"type")) ) diff --git a/ext/AGRIF/LIB/decl.h b/ext/AGRIF/LIB/decl.h index 0a93bd297d64bd9e6d61a94d557871b8d4d04c4c..3783c45434de877666a5948cfc746bfffc4b7418 100644 --- a/ext/AGRIF/LIB/decl.h +++ b/ext/AGRIF/LIB/decl.h @@ -294,6 +294,9 @@ typedef struct listindice char CharacterSize[LONG_VNAME]; char vallengspec[LONG_VNAME]; int isrecursive; + int ispure; + int isimpure; + int iselemental; int is_result_present; /******************************************************************************/ @@ -663,7 +666,7 @@ extern void WriteScalarDeclaration(variable *v,char ligne[LONG_M]); extern void WriteTableDeclaration(variable * v,char ligne[LONG_M],int tmpok); extern void WriteVarDeclaration( variable *v, FILE *fileout, int value, int visibility ); extern void WriteLocalParamDeclaration(FILE* tofile); -extern void WriteFunctionDeclaration(FILE* tofile, int value); +extern void WriteFunctionDeclaration(FILE* tofile, int value, int inloop); extern void WriteSubroutineDeclaration(int value); extern void WriteArgumentDeclaration_beforecall(); extern void WriteArgumentDeclaration_Sort(FILE* tofile); diff --git a/ext/AGRIF/LIB/fortran.c b/ext/AGRIF/LIB/fortran.c index 3e8a77bf726cbf1076cfb5b92a01ff5f29538ab6..280c133d7abbf99596d40e079ad5266210b8182f 100644 --- a/ext/AGRIF/LIB/fortran.c +++ b/ext/AGRIF/LIB/fortran.c @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.5.1. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program. If not, see <https://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -34,6 +34,10 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -41,14 +45,11 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ -/* Undocumented macros, especially those whose name start with YY_, - are private implementation details. Do not rely on them. */ - -/* Identify Bison output. */ -#define YYBISON 1 +/* Identify Bison output, and Bison version. */ +#define YYBISON 30802 -/* Bison version. */ -#define YYBISON_VERSION "3.5.1" +/* Bison version string. */ +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -128,7 +129,7 @@ int fortran_error(const char *s) } -#line 132 "fortran.tab.c" +#line 133 "fortran.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -151,14 +152,6 @@ int fortran_error(const char *s) # endif # endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - /* Debug traces. */ #ifndef YYDEBUG @@ -168,197 +161,205 @@ int fortran_error(const char *s) extern int fortran_debug; #endif -/* Token type. */ +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { - TOK_EQV = 258, - TOK_NEQV = 259, - TOK_OR = 260, - TOK_XOR = 261, - TOK_AND = 262, - TOK_NOT = 263, - TOK_LT = 264, - TOK_GT = 265, - TOK_LE = 266, - TOK_GE = 267, - TOK_EQ = 268, - TOK_NE = 269, - TOK_DSLASH = 270, - TOK_SLASH = 271, - TOK_DASTER = 272, - TOK_SEMICOLON = 273, - TOK_PARAMETER = 274, - TOK_RESULT = 275, - TOK_ONLY = 276, - TOK_INCLUDE = 277, - TOK_SUBROUTINE = 278, - TOK_PROGRAM = 279, - TOK_FUNCTION = 280, - TOK_LABEL_FORMAT = 281, - TOK_LABEL_CONTINUE = 282, - TOK_LABEL_END_DO = 283, - TOK_MAX = 284, - TOK_TANH = 285, - TOK_COMMENT = 286, - TOK_WHERE = 287, - TOK_ELSEWHEREPAR = 288, - TOK_ELSEWHERE = 289, - TOK_ENDWHERE = 290, - TOK_MAXVAL = 291, - TOK_TRIM = 292, - TOK_NULL_PTR = 293, - TOK_SUM = 294, - TOK_SQRT = 295, - TOK_CASE = 296, - TOK_SELECTCASE = 297, - TOK_FILE = 298, - TOK_REC = 299, - TOK_NAME_EQ = 300, - TOK_IOLENGTH = 301, - TOK_ACCESS = 302, - TOK_ACTION = 303, - TOK_FORM = 304, - TOK_RECL = 305, - TOK_STATUS = 306, - TOK_UNIT = 307, - TOK_OPENED = 308, - TOK_FMT = 309, - TOK_NML = 310, - TOK_END = 311, - TOK_EOR = 312, - TOK_EOF = 313, - TOK_ERR = 314, - TOK_POSITION = 315, - TOK_IOSTAT = 316, - TOK_IOMSG = 317, - TOK_EXIST = 318, - TOK_MIN = 319, - TOK_FLOAT = 320, - TOK_EXP = 321, - TOK_LEN = 322, - TOK_COS = 323, - TOK_COSH = 324, - TOK_ACOS = 325, - TOK_NINT = 326, - TOK_CYCLE = 327, - TOK_SIN = 328, - TOK_SINH = 329, - TOK_ASIN = 330, - TOK_EQUIVALENCE = 331, - TOK_BACKSPACE = 332, - TOK_LOG = 333, - TOK_TAN = 334, - TOK_ATAN = 335, - TOK_RECURSIVE = 336, - TOK_ABS = 337, - TOK_MOD = 338, - TOK_SIGN = 339, - TOK_MINLOC = 340, - TOK_MAXLOC = 341, - TOK_EXIT = 342, - TOK_KIND = 343, - TOK_MOLD = 344, - TOK_SOURCE = 345, - TOK_ERRMSG = 346, - TOK_MINVAL = 347, - TOK_PUBLIC = 348, - TOK_PRIVATE = 349, - TOK_ALLOCATABLE = 350, - TOK_CONTIGUOUS = 351, - TOK_RETURN = 352, - TOK_THEN = 353, - TOK_ELSEIF = 354, - TOK_ELSE = 355, - TOK_ENDIF = 356, - TOK_PRINT = 357, - TOK_PLAINGOTO = 358, - TOK_LOGICALIF = 359, - TOK_LOGICALIF_PAR = 360, - TOK_PLAINDO = 361, - TOK_CONTAINS = 362, - TOK_ENDDO = 363, - TOK_MODULE = 364, - TOK_ENDMODULE = 365, - TOK_WHILE = 366, - TOK_CONCURRENT = 367, - TOK_ALLOCATE = 368, - TOK_OPEN = 369, - TOK_CLOSE = 370, - TOK_INQUIRE = 371, - TOK_WRITE_PAR = 372, - TOK_WRITE = 373, - TOK_FLUSH = 374, - TOK_READ_PAR = 375, - TOK_READ = 376, - TOK_REWIND = 377, - TOK_DEALLOCATE = 378, - TOK_NULLIFY = 379, - TOK_DIMENSION = 380, - TOK_ENDSELECT = 381, - TOK_EXTERNAL = 382, - TOK_INTENT = 383, - TOK_INTRINSIC = 384, - TOK_NAMELIST = 385, - TOK_DEFAULT = 386, - TOK_OPTIONAL = 387, - TOK_POINTER = 388, - TOK_CONTINUE = 389, - TOK_SAVE = 390, - TOK_TARGET = 391, - TOK_IMPLICIT = 392, - TOK_NONE = 393, - TOK_CALL = 394, - TOK_STAT = 395, - TOK_POINT_TO = 396, - TOK_COMMON = 397, - TOK_GLOBAL = 398, - TOK_LEFTAB = 399, - TOK_RIGHTAB = 400, - TOK_PAUSE = 401, - TOK_PROCEDURE = 402, - TOK_STOP = 403, - TOK_FOURDOTS = 404, - TOK_HEXA = 405, - TOK_ASSIGNTYPE = 406, - TOK_OUT = 407, - TOK_INOUT = 408, - TOK_IN = 409, - TOK_USE = 410, - TOK_EQUALEQUAL = 411, - TOK_SLASHEQUAL = 412, - TOK_INFEQUAL = 413, - TOK_SUPEQUAL = 414, - TOK_TRUE = 415, - TOK_FALSE = 416, - TOK_LABEL = 417, - TOK_LABEL_DJVIEW = 418, - TOK_PLAINDO_LABEL_DJVIEW = 419, - TOK_PLAINDO_LABEL = 420, - TOK_TYPE = 421, - TOK_TYPEPAR = 422, - TOK_ENDTYPE = 423, - TOK_COMMACOMPLEX = 424, - TOK_REAL = 425, - TOK_INTEGER = 426, - TOK_LOGICAL = 427, - TOK_DOUBLEPRECISION = 428, - TOK_ENDSUBROUTINE = 429, - TOK_ENDFUNCTION = 430, - TOK_ENDPROGRAM = 431, - TOK_ENDUNIT = 432, - TOK_CHARACTER = 433, - TOK_CHAR_CONSTANT = 434, - TOK_CHAR_CUT = 435, - TOK_DATA = 436, - TOK_CHAR_MESSAGE = 437, - TOK_CSTREAL = 438, - TOK_COMPLEX = 439, - TOK_DOUBLECOMPLEX = 440, - TOK_NAME = 441, - TOK_CSTINT = 442 + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + TOK_SEMICOLON = 258, /* TOK_SEMICOLON */ + TOK_PARAMETER = 259, /* TOK_PARAMETER */ + TOK_RESULT = 260, /* TOK_RESULT */ + TOK_ONLY = 261, /* TOK_ONLY */ + TOK_INCLUDE = 262, /* TOK_INCLUDE */ + TOK_SUBROUTINE = 263, /* TOK_SUBROUTINE */ + TOK_PROGRAM = 264, /* TOK_PROGRAM */ + TOK_FUNCTION = 265, /* TOK_FUNCTION */ + TOK_LABEL_FORMAT = 266, /* TOK_LABEL_FORMAT */ + TOK_LABEL_CONTINUE = 267, /* TOK_LABEL_CONTINUE */ + TOK_LABEL_END_DO = 268, /* TOK_LABEL_END_DO */ + TOK_MAX = 269, /* TOK_MAX */ + TOK_TANH = 270, /* TOK_TANH */ + TOK_COMMENT = 271, /* TOK_COMMENT */ + TOK_WHERE = 272, /* TOK_WHERE */ + TOK_ELSEWHEREPAR = 273, /* TOK_ELSEWHEREPAR */ + TOK_ELSEWHERE = 274, /* TOK_ELSEWHERE */ + TOK_ENDWHERE = 275, /* TOK_ENDWHERE */ + TOK_MAXVAL = 276, /* TOK_MAXVAL */ + TOK_TRIM = 277, /* TOK_TRIM */ + TOK_NULL_PTR = 278, /* TOK_NULL_PTR */ + TOK_SUM = 279, /* TOK_SUM */ + TOK_SQRT = 280, /* TOK_SQRT */ + TOK_CASE = 281, /* TOK_CASE */ + TOK_SELECTCASE = 282, /* TOK_SELECTCASE */ + TOK_FILE = 283, /* TOK_FILE */ + TOK_REC = 284, /* TOK_REC */ + TOK_NAME_EQ = 285, /* TOK_NAME_EQ */ + TOK_IOLENGTH = 286, /* TOK_IOLENGTH */ + TOK_ACCESS = 287, /* TOK_ACCESS */ + TOK_ACTION = 288, /* TOK_ACTION */ + TOK_FORM = 289, /* TOK_FORM */ + TOK_RECL = 290, /* TOK_RECL */ + TOK_STATUS = 291, /* TOK_STATUS */ + TOK_UNIT = 292, /* TOK_UNIT */ + TOK_OPENED = 293, /* TOK_OPENED */ + TOK_FMT = 294, /* TOK_FMT */ + TOK_NML = 295, /* TOK_NML */ + TOK_END = 296, /* TOK_END */ + TOK_EOR = 297, /* TOK_EOR */ + TOK_EOF = 298, /* TOK_EOF */ + TOK_ERR = 299, /* TOK_ERR */ + TOK_POSITION = 300, /* TOK_POSITION */ + TOK_IOSTAT = 301, /* TOK_IOSTAT */ + TOK_IOMSG = 302, /* TOK_IOMSG */ + TOK_EXIST = 303, /* TOK_EXIST */ + TOK_MIN = 304, /* TOK_MIN */ + TOK_FLOAT = 305, /* TOK_FLOAT */ + TOK_EXP = 306, /* TOK_EXP */ + TOK_LEN = 307, /* TOK_LEN */ + TOK_COS = 308, /* TOK_COS */ + TOK_COSH = 309, /* TOK_COSH */ + TOK_ACOS = 310, /* TOK_ACOS */ + TOK_NINT = 311, /* TOK_NINT */ + TOK_CYCLE = 312, /* TOK_CYCLE */ + TOK_SIN = 313, /* TOK_SIN */ + TOK_SINH = 314, /* TOK_SINH */ + TOK_ASIN = 315, /* TOK_ASIN */ + TOK_EQUIVALENCE = 316, /* TOK_EQUIVALENCE */ + TOK_BACKSPACE = 317, /* TOK_BACKSPACE */ + TOK_LOG = 318, /* TOK_LOG */ + TOK_TAN = 319, /* TOK_TAN */ + TOK_ATAN = 320, /* TOK_ATAN */ + TOK_RECURSIVE = 321, /* TOK_RECURSIVE */ + TOK_PURE = 322, /* TOK_PURE */ + TOK_IMPURE = 323, /* TOK_IMPURE */ + TOK_ELEMENTAL = 324, /* TOK_ELEMENTAL */ + TOK_ABS = 325, /* TOK_ABS */ + TOK_MOD = 326, /* TOK_MOD */ + TOK_SIGN = 327, /* TOK_SIGN */ + TOK_MINLOC = 328, /* TOK_MINLOC */ + TOK_MAXLOC = 329, /* TOK_MAXLOC */ + TOK_EXIT = 330, /* TOK_EXIT */ + TOK_KIND = 331, /* TOK_KIND */ + TOK_MOLD = 332, /* TOK_MOLD */ + TOK_SOURCE = 333, /* TOK_SOURCE */ + TOK_ERRMSG = 334, /* TOK_ERRMSG */ + TOK_MINVAL = 335, /* TOK_MINVAL */ + TOK_PUBLIC = 336, /* TOK_PUBLIC */ + TOK_PRIVATE = 337, /* TOK_PRIVATE */ + TOK_ALLOCATABLE = 338, /* TOK_ALLOCATABLE */ + TOK_CONTIGUOUS = 339, /* TOK_CONTIGUOUS */ + TOK_RETURN = 340, /* TOK_RETURN */ + TOK_THEN = 341, /* TOK_THEN */ + TOK_ELSEIF = 342, /* TOK_ELSEIF */ + TOK_ELSE = 343, /* TOK_ELSE */ + TOK_ENDIF = 344, /* TOK_ENDIF */ + TOK_PRINT = 345, /* TOK_PRINT */ + TOK_PLAINGOTO = 346, /* TOK_PLAINGOTO */ + TOK_LOGICALIF = 347, /* TOK_LOGICALIF */ + TOK_LOGICALIF_PAR = 348, /* TOK_LOGICALIF_PAR */ + TOK_PLAINDO = 349, /* TOK_PLAINDO */ + TOK_CONTAINS = 350, /* TOK_CONTAINS */ + TOK_ENDDO = 351, /* TOK_ENDDO */ + TOK_MODULE = 352, /* TOK_MODULE */ + TOK_ENDMODULE = 353, /* TOK_ENDMODULE */ + TOK_WHILE = 354, /* TOK_WHILE */ + TOK_CONCURRENT = 355, /* TOK_CONCURRENT */ + TOK_ALLOCATE = 356, /* TOK_ALLOCATE */ + TOK_OPEN = 357, /* TOK_OPEN */ + TOK_CLOSE = 358, /* TOK_CLOSE */ + TOK_INQUIRE = 359, /* TOK_INQUIRE */ + TOK_WRITE_PAR = 360, /* TOK_WRITE_PAR */ + TOK_WRITE = 361, /* TOK_WRITE */ + TOK_FLUSH = 362, /* TOK_FLUSH */ + TOK_READ_PAR = 363, /* TOK_READ_PAR */ + TOK_READ = 364, /* TOK_READ */ + TOK_REWIND = 365, /* TOK_REWIND */ + TOK_DEALLOCATE = 366, /* TOK_DEALLOCATE */ + TOK_NULLIFY = 367, /* TOK_NULLIFY */ + TOK_DIMENSION = 368, /* TOK_DIMENSION */ + TOK_ENDSELECT = 369, /* TOK_ENDSELECT */ + TOK_EXTERNAL = 370, /* TOK_EXTERNAL */ + TOK_INTENT = 371, /* TOK_INTENT */ + TOK_INTRINSIC = 372, /* TOK_INTRINSIC */ + TOK_NAMELIST = 373, /* TOK_NAMELIST */ + TOK_DEFAULT = 374, /* TOK_DEFAULT */ + TOK_OPTIONAL = 375, /* TOK_OPTIONAL */ + TOK_POINTER = 376, /* TOK_POINTER */ + TOK_CONTINUE = 377, /* TOK_CONTINUE */ + TOK_SAVE = 378, /* TOK_SAVE */ + TOK_TARGET = 379, /* TOK_TARGET */ + TOK_IMPLICIT = 380, /* TOK_IMPLICIT */ + TOK_NONE = 381, /* TOK_NONE */ + TOK_CALL = 382, /* TOK_CALL */ + TOK_STAT = 383, /* TOK_STAT */ + TOK_POINT_TO = 384, /* TOK_POINT_TO */ + TOK_COMMON = 385, /* TOK_COMMON */ + TOK_GLOBAL = 386, /* TOK_GLOBAL */ + TOK_LEFTAB = 387, /* TOK_LEFTAB */ + TOK_RIGHTAB = 388, /* TOK_RIGHTAB */ + TOK_PAUSE = 389, /* TOK_PAUSE */ + TOK_PROCEDURE = 390, /* TOK_PROCEDURE */ + TOK_STOP = 391, /* TOK_STOP */ + TOK_FOURDOTS = 392, /* TOK_FOURDOTS */ + TOK_HEXA = 393, /* TOK_HEXA */ + TOK_ASSIGNTYPE = 394, /* TOK_ASSIGNTYPE */ + TOK_OUT = 395, /* TOK_OUT */ + TOK_INOUT = 396, /* TOK_INOUT */ + TOK_IN = 397, /* TOK_IN */ + TOK_USE = 398, /* TOK_USE */ + TOK_DSLASH = 399, /* TOK_DSLASH */ + TOK_DASTER = 400, /* TOK_DASTER */ + TOK_EQ = 401, /* TOK_EQ */ + TOK_EQV = 402, /* TOK_EQV */ + TOK_GT = 403, /* TOK_GT */ + TOK_LT = 404, /* TOK_LT */ + TOK_GE = 405, /* TOK_GE */ + TOK_NE = 406, /* TOK_NE */ + TOK_NEQV = 407, /* TOK_NEQV */ + TOK_LE = 408, /* TOK_LE */ + TOK_OR = 409, /* TOK_OR */ + TOK_XOR = 410, /* TOK_XOR */ + TOK_NOT = 411, /* TOK_NOT */ + TOK_AND = 412, /* TOK_AND */ + TOK_EQUALEQUAL = 413, /* TOK_EQUALEQUAL */ + TOK_SLASHEQUAL = 414, /* TOK_SLASHEQUAL */ + TOK_INFEQUAL = 415, /* TOK_INFEQUAL */ + TOK_SUPEQUAL = 416, /* TOK_SUPEQUAL */ + TOK_TRUE = 417, /* TOK_TRUE */ + TOK_FALSE = 418, /* TOK_FALSE */ + TOK_LABEL = 419, /* TOK_LABEL */ + TOK_LABEL_DJVIEW = 420, /* TOK_LABEL_DJVIEW */ + TOK_PLAINDO_LABEL_DJVIEW = 421, /* TOK_PLAINDO_LABEL_DJVIEW */ + TOK_PLAINDO_LABEL = 422, /* TOK_PLAINDO_LABEL */ + TOK_TYPE = 423, /* TOK_TYPE */ + TOK_TYPEPAR = 424, /* TOK_TYPEPAR */ + TOK_ENDTYPE = 425, /* TOK_ENDTYPE */ + TOK_COMMACOMPLEX = 426, /* TOK_COMMACOMPLEX */ + TOK_REAL = 427, /* TOK_REAL */ + TOK_INTEGER = 428, /* TOK_INTEGER */ + TOK_LOGICAL = 429, /* TOK_LOGICAL */ + TOK_DOUBLEPRECISION = 430, /* TOK_DOUBLEPRECISION */ + TOK_ENDSUBROUTINE = 431, /* TOK_ENDSUBROUTINE */ + TOK_ENDFUNCTION = 432, /* TOK_ENDFUNCTION */ + TOK_ENDPROGRAM = 433, /* TOK_ENDPROGRAM */ + TOK_ENDUNIT = 434, /* TOK_ENDUNIT */ + TOK_CHARACTER = 435, /* TOK_CHARACTER */ + TOK_CHAR_CONSTANT = 436, /* TOK_CHAR_CONSTANT */ + TOK_CHAR_CUT = 437, /* TOK_CHAR_CUT */ + TOK_DATA = 438, /* TOK_DATA */ + TOK_CHAR_MESSAGE = 439, /* TOK_CHAR_MESSAGE */ + TOK_CSTREAL = 440, /* TOK_CSTREAL */ + TOK_COMPLEX = 441, /* TOK_COMPLEX */ + TOK_DOUBLECOMPLEX = 442, /* TOK_DOUBLECOMPLEX */ + TOK_NAME = 443, /* TOK_NAME */ + TOK_SLASH = 444, /* TOK_SLASH */ + TOK_CSTINT = 445 /* TOK_CSTINT */ }; + typedef enum yytokentype yytoken_kind_t; #endif /* Value type. */ @@ -375,7 +376,7 @@ union YYSTYPE typedim dim1; variable *v; -#line 379 "fortran.tab.c" +#line 380 "fortran.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -386,10 +387,750 @@ typedef union YYSTYPE YYSTYPE; extern YYSTYPE fortran_lval; + int fortran_parse (void); +/* Symbol kind. */ +enum yysymbol_kind_t +{ + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_3_ = 3, /* '=' */ + YYSYMBOL_4_ = 4, /* '+' */ + YYSYMBOL_5_ = 5, /* '-' */ + YYSYMBOL_6_ = 6, /* '*' */ + YYSYMBOL_TOK_SEMICOLON = 7, /* TOK_SEMICOLON */ + YYSYMBOL_TOK_PARAMETER = 8, /* TOK_PARAMETER */ + YYSYMBOL_TOK_RESULT = 9, /* TOK_RESULT */ + YYSYMBOL_TOK_ONLY = 10, /* TOK_ONLY */ + YYSYMBOL_TOK_INCLUDE = 11, /* TOK_INCLUDE */ + YYSYMBOL_TOK_SUBROUTINE = 12, /* TOK_SUBROUTINE */ + YYSYMBOL_TOK_PROGRAM = 13, /* TOK_PROGRAM */ + YYSYMBOL_TOK_FUNCTION = 14, /* TOK_FUNCTION */ + YYSYMBOL_TOK_LABEL_FORMAT = 15, /* TOK_LABEL_FORMAT */ + YYSYMBOL_TOK_LABEL_CONTINUE = 16, /* TOK_LABEL_CONTINUE */ + YYSYMBOL_TOK_LABEL_END_DO = 17, /* TOK_LABEL_END_DO */ + YYSYMBOL_TOK_MAX = 18, /* TOK_MAX */ + YYSYMBOL_TOK_TANH = 19, /* TOK_TANH */ + YYSYMBOL_TOK_COMMENT = 20, /* TOK_COMMENT */ + YYSYMBOL_TOK_WHERE = 21, /* TOK_WHERE */ + YYSYMBOL_TOK_ELSEWHEREPAR = 22, /* TOK_ELSEWHEREPAR */ + YYSYMBOL_TOK_ELSEWHERE = 23, /* TOK_ELSEWHERE */ + YYSYMBOL_TOK_ENDWHERE = 24, /* TOK_ENDWHERE */ + YYSYMBOL_TOK_MAXVAL = 25, /* TOK_MAXVAL */ + YYSYMBOL_TOK_TRIM = 26, /* TOK_TRIM */ + YYSYMBOL_TOK_NULL_PTR = 27, /* TOK_NULL_PTR */ + YYSYMBOL_TOK_SUM = 28, /* TOK_SUM */ + YYSYMBOL_TOK_SQRT = 29, /* TOK_SQRT */ + YYSYMBOL_TOK_CASE = 30, /* TOK_CASE */ + YYSYMBOL_TOK_SELECTCASE = 31, /* TOK_SELECTCASE */ + YYSYMBOL_TOK_FILE = 32, /* TOK_FILE */ + YYSYMBOL_TOK_REC = 33, /* TOK_REC */ + YYSYMBOL_TOK_NAME_EQ = 34, /* TOK_NAME_EQ */ + YYSYMBOL_TOK_IOLENGTH = 35, /* TOK_IOLENGTH */ + YYSYMBOL_TOK_ACCESS = 36, /* TOK_ACCESS */ + YYSYMBOL_TOK_ACTION = 37, /* TOK_ACTION */ + YYSYMBOL_TOK_FORM = 38, /* TOK_FORM */ + YYSYMBOL_TOK_RECL = 39, /* TOK_RECL */ + YYSYMBOL_TOK_STATUS = 40, /* TOK_STATUS */ + YYSYMBOL_TOK_UNIT = 41, /* TOK_UNIT */ + YYSYMBOL_TOK_OPENED = 42, /* TOK_OPENED */ + YYSYMBOL_TOK_FMT = 43, /* TOK_FMT */ + YYSYMBOL_TOK_NML = 44, /* TOK_NML */ + YYSYMBOL_TOK_END = 45, /* TOK_END */ + YYSYMBOL_TOK_EOR = 46, /* TOK_EOR */ + YYSYMBOL_TOK_EOF = 47, /* TOK_EOF */ + YYSYMBOL_TOK_ERR = 48, /* TOK_ERR */ + YYSYMBOL_TOK_POSITION = 49, /* TOK_POSITION */ + YYSYMBOL_TOK_IOSTAT = 50, /* TOK_IOSTAT */ + YYSYMBOL_TOK_IOMSG = 51, /* TOK_IOMSG */ + YYSYMBOL_TOK_EXIST = 52, /* TOK_EXIST */ + YYSYMBOL_TOK_MIN = 53, /* TOK_MIN */ + YYSYMBOL_TOK_FLOAT = 54, /* TOK_FLOAT */ + YYSYMBOL_TOK_EXP = 55, /* TOK_EXP */ + YYSYMBOL_TOK_LEN = 56, /* TOK_LEN */ + YYSYMBOL_TOK_COS = 57, /* TOK_COS */ + YYSYMBOL_TOK_COSH = 58, /* TOK_COSH */ + YYSYMBOL_TOK_ACOS = 59, /* TOK_ACOS */ + YYSYMBOL_TOK_NINT = 60, /* TOK_NINT */ + YYSYMBOL_TOK_CYCLE = 61, /* TOK_CYCLE */ + YYSYMBOL_TOK_SIN = 62, /* TOK_SIN */ + YYSYMBOL_TOK_SINH = 63, /* TOK_SINH */ + YYSYMBOL_TOK_ASIN = 64, /* TOK_ASIN */ + YYSYMBOL_TOK_EQUIVALENCE = 65, /* TOK_EQUIVALENCE */ + YYSYMBOL_TOK_BACKSPACE = 66, /* TOK_BACKSPACE */ + YYSYMBOL_TOK_LOG = 67, /* TOK_LOG */ + YYSYMBOL_TOK_TAN = 68, /* TOK_TAN */ + YYSYMBOL_TOK_ATAN = 69, /* TOK_ATAN */ + YYSYMBOL_TOK_RECURSIVE = 70, /* TOK_RECURSIVE */ + YYSYMBOL_TOK_PURE = 71, /* TOK_PURE */ + YYSYMBOL_TOK_IMPURE = 72, /* TOK_IMPURE */ + YYSYMBOL_TOK_ELEMENTAL = 73, /* TOK_ELEMENTAL */ + YYSYMBOL_TOK_ABS = 74, /* TOK_ABS */ + YYSYMBOL_TOK_MOD = 75, /* TOK_MOD */ + YYSYMBOL_TOK_SIGN = 76, /* TOK_SIGN */ + YYSYMBOL_TOK_MINLOC = 77, /* TOK_MINLOC */ + YYSYMBOL_TOK_MAXLOC = 78, /* TOK_MAXLOC */ + YYSYMBOL_TOK_EXIT = 79, /* TOK_EXIT */ + YYSYMBOL_TOK_KIND = 80, /* TOK_KIND */ + YYSYMBOL_TOK_MOLD = 81, /* TOK_MOLD */ + YYSYMBOL_TOK_SOURCE = 82, /* TOK_SOURCE */ + YYSYMBOL_TOK_ERRMSG = 83, /* TOK_ERRMSG */ + YYSYMBOL_TOK_MINVAL = 84, /* TOK_MINVAL */ + YYSYMBOL_TOK_PUBLIC = 85, /* TOK_PUBLIC */ + YYSYMBOL_TOK_PRIVATE = 86, /* TOK_PRIVATE */ + YYSYMBOL_TOK_ALLOCATABLE = 87, /* TOK_ALLOCATABLE */ + YYSYMBOL_TOK_CONTIGUOUS = 88, /* TOK_CONTIGUOUS */ + YYSYMBOL_TOK_RETURN = 89, /* TOK_RETURN */ + YYSYMBOL_TOK_THEN = 90, /* TOK_THEN */ + YYSYMBOL_TOK_ELSEIF = 91, /* TOK_ELSEIF */ + YYSYMBOL_TOK_ELSE = 92, /* TOK_ELSE */ + YYSYMBOL_TOK_ENDIF = 93, /* TOK_ENDIF */ + YYSYMBOL_TOK_PRINT = 94, /* TOK_PRINT */ + YYSYMBOL_TOK_PLAINGOTO = 95, /* TOK_PLAINGOTO */ + YYSYMBOL_TOK_LOGICALIF = 96, /* TOK_LOGICALIF */ + YYSYMBOL_TOK_LOGICALIF_PAR = 97, /* TOK_LOGICALIF_PAR */ + YYSYMBOL_TOK_PLAINDO = 98, /* TOK_PLAINDO */ + YYSYMBOL_TOK_CONTAINS = 99, /* TOK_CONTAINS */ + YYSYMBOL_TOK_ENDDO = 100, /* TOK_ENDDO */ + YYSYMBOL_TOK_MODULE = 101, /* TOK_MODULE */ + YYSYMBOL_TOK_ENDMODULE = 102, /* TOK_ENDMODULE */ + YYSYMBOL_TOK_WHILE = 103, /* TOK_WHILE */ + YYSYMBOL_TOK_CONCURRENT = 104, /* TOK_CONCURRENT */ + YYSYMBOL_TOK_ALLOCATE = 105, /* TOK_ALLOCATE */ + YYSYMBOL_TOK_OPEN = 106, /* TOK_OPEN */ + YYSYMBOL_TOK_CLOSE = 107, /* TOK_CLOSE */ + YYSYMBOL_TOK_INQUIRE = 108, /* TOK_INQUIRE */ + YYSYMBOL_TOK_WRITE_PAR = 109, /* TOK_WRITE_PAR */ + YYSYMBOL_TOK_WRITE = 110, /* TOK_WRITE */ + YYSYMBOL_TOK_FLUSH = 111, /* TOK_FLUSH */ + YYSYMBOL_TOK_READ_PAR = 112, /* TOK_READ_PAR */ + YYSYMBOL_TOK_READ = 113, /* TOK_READ */ + YYSYMBOL_TOK_REWIND = 114, /* TOK_REWIND */ + YYSYMBOL_TOK_DEALLOCATE = 115, /* TOK_DEALLOCATE */ + YYSYMBOL_TOK_NULLIFY = 116, /* TOK_NULLIFY */ + YYSYMBOL_TOK_DIMENSION = 117, /* TOK_DIMENSION */ + YYSYMBOL_TOK_ENDSELECT = 118, /* TOK_ENDSELECT */ + YYSYMBOL_TOK_EXTERNAL = 119, /* TOK_EXTERNAL */ + YYSYMBOL_TOK_INTENT = 120, /* TOK_INTENT */ + YYSYMBOL_TOK_INTRINSIC = 121, /* TOK_INTRINSIC */ + YYSYMBOL_TOK_NAMELIST = 122, /* TOK_NAMELIST */ + YYSYMBOL_TOK_DEFAULT = 123, /* TOK_DEFAULT */ + YYSYMBOL_TOK_OPTIONAL = 124, /* TOK_OPTIONAL */ + YYSYMBOL_TOK_POINTER = 125, /* TOK_POINTER */ + YYSYMBOL_TOK_CONTINUE = 126, /* TOK_CONTINUE */ + YYSYMBOL_TOK_SAVE = 127, /* TOK_SAVE */ + YYSYMBOL_TOK_TARGET = 128, /* TOK_TARGET */ + YYSYMBOL_TOK_IMPLICIT = 129, /* TOK_IMPLICIT */ + YYSYMBOL_TOK_NONE = 130, /* TOK_NONE */ + YYSYMBOL_TOK_CALL = 131, /* TOK_CALL */ + YYSYMBOL_TOK_STAT = 132, /* TOK_STAT */ + YYSYMBOL_TOK_POINT_TO = 133, /* TOK_POINT_TO */ + YYSYMBOL_TOK_COMMON = 134, /* TOK_COMMON */ + YYSYMBOL_TOK_GLOBAL = 135, /* TOK_GLOBAL */ + YYSYMBOL_TOK_LEFTAB = 136, /* TOK_LEFTAB */ + YYSYMBOL_TOK_RIGHTAB = 137, /* TOK_RIGHTAB */ + YYSYMBOL_TOK_PAUSE = 138, /* TOK_PAUSE */ + YYSYMBOL_TOK_PROCEDURE = 139, /* TOK_PROCEDURE */ + YYSYMBOL_TOK_STOP = 140, /* TOK_STOP */ + YYSYMBOL_TOK_FOURDOTS = 141, /* TOK_FOURDOTS */ + YYSYMBOL_TOK_HEXA = 142, /* TOK_HEXA */ + YYSYMBOL_TOK_ASSIGNTYPE = 143, /* TOK_ASSIGNTYPE */ + YYSYMBOL_TOK_OUT = 144, /* TOK_OUT */ + YYSYMBOL_TOK_INOUT = 145, /* TOK_INOUT */ + YYSYMBOL_TOK_IN = 146, /* TOK_IN */ + YYSYMBOL_TOK_USE = 147, /* TOK_USE */ + YYSYMBOL_TOK_DSLASH = 148, /* TOK_DSLASH */ + YYSYMBOL_TOK_DASTER = 149, /* TOK_DASTER */ + YYSYMBOL_TOK_EQ = 150, /* TOK_EQ */ + YYSYMBOL_TOK_EQV = 151, /* TOK_EQV */ + YYSYMBOL_TOK_GT = 152, /* TOK_GT */ + YYSYMBOL_TOK_LT = 153, /* TOK_LT */ + YYSYMBOL_TOK_GE = 154, /* TOK_GE */ + YYSYMBOL_TOK_NE = 155, /* TOK_NE */ + YYSYMBOL_TOK_NEQV = 156, /* TOK_NEQV */ + YYSYMBOL_TOK_LE = 157, /* TOK_LE */ + YYSYMBOL_TOK_OR = 158, /* TOK_OR */ + YYSYMBOL_TOK_XOR = 159, /* TOK_XOR */ + YYSYMBOL_TOK_NOT = 160, /* TOK_NOT */ + YYSYMBOL_TOK_AND = 161, /* TOK_AND */ + YYSYMBOL_TOK_EQUALEQUAL = 162, /* TOK_EQUALEQUAL */ + YYSYMBOL_TOK_SLASHEQUAL = 163, /* TOK_SLASHEQUAL */ + YYSYMBOL_TOK_INFEQUAL = 164, /* TOK_INFEQUAL */ + YYSYMBOL_TOK_SUPEQUAL = 165, /* TOK_SUPEQUAL */ + YYSYMBOL_TOK_TRUE = 166, /* TOK_TRUE */ + YYSYMBOL_TOK_FALSE = 167, /* TOK_FALSE */ + YYSYMBOL_TOK_LABEL = 168, /* TOK_LABEL */ + YYSYMBOL_TOK_LABEL_DJVIEW = 169, /* TOK_LABEL_DJVIEW */ + YYSYMBOL_TOK_PLAINDO_LABEL_DJVIEW = 170, /* TOK_PLAINDO_LABEL_DJVIEW */ + YYSYMBOL_TOK_PLAINDO_LABEL = 171, /* TOK_PLAINDO_LABEL */ + YYSYMBOL_TOK_TYPE = 172, /* TOK_TYPE */ + YYSYMBOL_TOK_TYPEPAR = 173, /* TOK_TYPEPAR */ + YYSYMBOL_TOK_ENDTYPE = 174, /* TOK_ENDTYPE */ + YYSYMBOL_TOK_COMMACOMPLEX = 175, /* TOK_COMMACOMPLEX */ + YYSYMBOL_TOK_REAL = 176, /* TOK_REAL */ + YYSYMBOL_TOK_INTEGER = 177, /* TOK_INTEGER */ + YYSYMBOL_TOK_LOGICAL = 178, /* TOK_LOGICAL */ + YYSYMBOL_TOK_DOUBLEPRECISION = 179, /* TOK_DOUBLEPRECISION */ + YYSYMBOL_TOK_ENDSUBROUTINE = 180, /* TOK_ENDSUBROUTINE */ + YYSYMBOL_TOK_ENDFUNCTION = 181, /* TOK_ENDFUNCTION */ + YYSYMBOL_TOK_ENDPROGRAM = 182, /* TOK_ENDPROGRAM */ + YYSYMBOL_TOK_ENDUNIT = 183, /* TOK_ENDUNIT */ + YYSYMBOL_TOK_CHARACTER = 184, /* TOK_CHARACTER */ + YYSYMBOL_TOK_CHAR_CONSTANT = 185, /* TOK_CHAR_CONSTANT */ + YYSYMBOL_TOK_CHAR_CUT = 186, /* TOK_CHAR_CUT */ + YYSYMBOL_TOK_DATA = 187, /* TOK_DATA */ + YYSYMBOL_TOK_CHAR_MESSAGE = 188, /* TOK_CHAR_MESSAGE */ + YYSYMBOL_TOK_CSTREAL = 189, /* TOK_CSTREAL */ + YYSYMBOL_TOK_COMPLEX = 190, /* TOK_COMPLEX */ + YYSYMBOL_TOK_DOUBLECOMPLEX = 191, /* TOK_DOUBLECOMPLEX */ + YYSYMBOL_TOK_NAME = 192, /* TOK_NAME */ + YYSYMBOL_TOK_SLASH = 193, /* TOK_SLASH */ + YYSYMBOL_TOK_CSTINT = 194, /* TOK_CSTINT */ + YYSYMBOL_195_ = 195, /* ',' */ + YYSYMBOL_196_ = 196, /* ':' */ + YYSYMBOL_197_ = 197, /* '(' */ + YYSYMBOL_198_ = 198, /* ')' */ + YYSYMBOL_199_ = 199, /* '<' */ + YYSYMBOL_200_ = 200, /* '>' */ + YYSYMBOL_201_n_ = 201, /* '\n' */ + YYSYMBOL_202_ = 202, /* '/' */ + YYSYMBOL_203_ = 203, /* '%' */ + YYSYMBOL_204___ = 204, /* '_' */ + YYSYMBOL_205_ = 205, /* '[' */ + YYSYMBOL_206_ = 206, /* ']' */ + YYSYMBOL_YYACCEPT = 207, /* $accept */ + YYSYMBOL_input = 208, /* input */ + YYSYMBOL_line = 209, /* line */ + YYSYMBOL_210_line_break = 210, /* line-break */ + YYSYMBOL_suite_line_list = 211, /* suite_line_list */ + YYSYMBOL_suite_line = 212, /* suite_line */ + YYSYMBOL_fin_line = 213, /* fin_line */ + YYSYMBOL_214_program_unit = 214, /* program-unit */ + YYSYMBOL_215_external_subprogram = 215, /* external-subprogram */ + YYSYMBOL_filename = 216, /* filename */ + YYSYMBOL_opt_comma = 217, /* opt_comma */ + YYSYMBOL_uexpr = 218, /* uexpr */ + YYSYMBOL_signe = 219, /* signe */ + YYSYMBOL_operation = 220, /* operation */ + YYSYMBOL_after_slash = 221, /* after_slash */ + YYSYMBOL_after_equal = 222, /* after_equal */ + YYSYMBOL_lhs = 223, /* lhs */ + YYSYMBOL_beforefunctionuse = 224, /* beforefunctionuse */ + YYSYMBOL_array_ele_substring_func_ref = 225, /* array_ele_substring_func_ref */ + YYSYMBOL_226_4 = 226, /* $@4 */ + YYSYMBOL_227_5 = 227, /* $@5 */ + YYSYMBOL_begin_array = 228, /* begin_array */ + YYSYMBOL_229_6 = 229, /* $@6 */ + YYSYMBOL_structure_component = 230, /* structure_component */ + YYSYMBOL_funarglist = 231, /* funarglist */ + YYSYMBOL_funargs = 232, /* funargs */ + YYSYMBOL_funarg = 233, /* funarg */ + YYSYMBOL_triplet = 234, /* triplet */ + YYSYMBOL_ident = 235, /* ident */ + YYSYMBOL_simple_const = 236, /* simple_const */ + YYSYMBOL_string_constant = 237, /* string_constant */ + YYSYMBOL_opt_substring = 238, /* opt_substring */ + YYSYMBOL_opt_expr = 239, /* opt_expr */ + YYSYMBOL_240_specification_part = 240, /* specification-part */ + YYSYMBOL_241_opt_use_stmt_list = 241, /* opt-use-stmt-list */ + YYSYMBOL_242_opt_declaration_construct_list = 242, /* opt-declaration-construct-list */ + YYSYMBOL_243_declaration_construct_list = 243, /* declaration-construct-list */ + YYSYMBOL_244_declaration_construct = 244, /* declaration-construct */ + YYSYMBOL_245_opt_execution_part = 245, /* opt-execution-part */ + YYSYMBOL_246_execution_part = 246, /* execution-part */ + YYSYMBOL_247_opt_execution_part_construct_list = 247, /* opt-execution-part-construct-list */ + YYSYMBOL_248_execution_part_construct_list = 248, /* execution-part-construct-list */ + YYSYMBOL_249_execution_part_construct = 249, /* execution-part-construct */ + YYSYMBOL_250_opt_internal_subprogram_part = 250, /* opt-internal-subprogram-part */ + YYSYMBOL_251_internal_subprogram_part = 251, /* internal-subprogram-part */ + YYSYMBOL_252_opt_internal_subprogram = 252, /* opt-internal-subprogram */ + YYSYMBOL_253_internal_subprogram_list = 253, /* internal-subprogram-list */ + YYSYMBOL_254_internal_subprogram = 254, /* internal-subprogram */ + YYSYMBOL_255_other_specification_stmt = 255, /* other-specification-stmt */ + YYSYMBOL_256_executable_construct = 256, /* executable-construct */ + YYSYMBOL_257_action_stmt = 257, /* action-stmt */ + YYSYMBOL_keyword = 258, /* keyword */ + YYSYMBOL_259_scalar_constant = 259, /* scalar-constant */ + YYSYMBOL_constant = 260, /* constant */ + YYSYMBOL_261_literal_constant = 261, /* literal-constant */ + YYSYMBOL_262_named_constant = 262, /* named-constant */ + YYSYMBOL_263_opt_label = 263, /* opt-label */ + YYSYMBOL_label = 264, /* label */ + YYSYMBOL_265_opt_label_djview = 265, /* opt-label-djview */ + YYSYMBOL_266_label_djview = 266, /* label-djview */ + YYSYMBOL_267_type_param_value = 267, /* type-param-value */ + YYSYMBOL_268_declaration_type_spec = 268, /* declaration-type-spec */ + YYSYMBOL_269_7 = 269, /* $@7 */ + YYSYMBOL_270_intrinsic_type_spec = 270, /* intrinsic-type-spec */ + YYSYMBOL_271_8 = 271, /* $@8 */ + YYSYMBOL_272_9 = 272, /* $@9 */ + YYSYMBOL_273_10 = 273, /* $@10 */ + YYSYMBOL_274_11 = 274, /* $@11 */ + YYSYMBOL_275_12 = 275, /* $@12 */ + YYSYMBOL_276_13 = 276, /* $@13 */ + YYSYMBOL_277_opt_kind_selector = 277, /* opt-kind-selector */ + YYSYMBOL_278_kind_selector = 278, /* kind-selector */ + YYSYMBOL_279_signed_int_literal_constant = 279, /* signed-int-literal-constant */ + YYSYMBOL_280_int_literal_constant = 280, /* int-literal-constant */ + YYSYMBOL_281_kind_param = 281, /* kind-param */ + YYSYMBOL_282_signed_real_literal_constant = 282, /* signed-real-literal-constant */ + YYSYMBOL_283_real_literal_constant = 283, /* real-literal-constant */ + YYSYMBOL_284_complex_literal_constant = 284, /* complex-literal-constant */ + YYSYMBOL_285_real_part = 285, /* real-part */ + YYSYMBOL_286_imag_part = 286, /* imag-part */ + YYSYMBOL_287_opt_char_length_star = 287, /* opt-char_length-star */ + YYSYMBOL_288_opt_char_selector = 288, /* opt-char-selector */ + YYSYMBOL_289_char_selector = 289, /* char-selector */ + YYSYMBOL_290_length_selector = 290, /* length-selector */ + YYSYMBOL_291_char_length = 291, /* char-length */ + YYSYMBOL_292_char_literal_constant = 292, /* char-literal-constant */ + YYSYMBOL_293_logical_literal_constant = 293, /* logical-literal-constant */ + YYSYMBOL_294_derived_type_def = 294, /* derived-type-def */ + YYSYMBOL_295_14 = 295, /* $@14 */ + YYSYMBOL_296_derived_type_stmt = 296, /* derived-type-stmt */ + YYSYMBOL_297_opt_type_attr_spec_list_comma_fourdots = 297, /* opt-type-attr-spec-list-comma-fourdots */ + YYSYMBOL_298_opt_type_attr_spec_list_comma = 298, /* opt-type-attr-spec-list-comma */ + YYSYMBOL_299_type_attr_spec_list = 299, /* type-attr-spec-list */ + YYSYMBOL_300_type_attr_spec = 300, /* type-attr-spec */ + YYSYMBOL_301_type_param_name_list = 301, /* type-param-name-list */ + YYSYMBOL_302_type_param_name = 302, /* type-param-name */ + YYSYMBOL_303_end_type_stmt = 303, /* end-type-stmt */ + YYSYMBOL_304_opt_component_part = 304, /* opt-component-part */ + YYSYMBOL_305_component_part = 305, /* component-part */ + YYSYMBOL_306_component_def_stmt = 306, /* component-def-stmt */ + YYSYMBOL_307_data_component_def_stmt = 307, /* data-component-def-stmt */ + YYSYMBOL_308_opt_component_attr_spec_list_comma_2points = 308, /* opt-component-attr-spec-list-comma-2points */ + YYSYMBOL_309_component_attr_spec_list = 309, /* component-attr-spec-list */ + YYSYMBOL_310_component_attr_spec = 310, /* component-attr-spec */ + YYSYMBOL_311_15 = 311, /* $@15 */ + YYSYMBOL_312_component_decl_list = 312, /* component-decl-list */ + YYSYMBOL_313_component_decl = 313, /* component-decl */ + YYSYMBOL_314_opt_component_array_spec = 314, /* opt-component-array-spec */ + YYSYMBOL_315_component_array_spec = 315, /* component-array-spec */ + YYSYMBOL_316_opt_component_initialization = 316, /* opt-component-initialization */ + YYSYMBOL_317_component_initialization = 317, /* component-initialization */ + YYSYMBOL_318_initial_data_target = 318, /* initial-data-target */ + YYSYMBOL_319_derived_type_spec = 319, /* derived-type-spec */ + YYSYMBOL_320_type_param_spec_list = 320, /* type-param-spec-list */ + YYSYMBOL_321_type_param_spec = 321, /* type-param-spec */ + YYSYMBOL_322_structure_constructor = 322, /* structure-constructor */ + YYSYMBOL_323_component_spec_list = 323, /* component-spec-list */ + YYSYMBOL_324_component_spec = 324, /* component-spec */ + YYSYMBOL_325_component_data_source = 325, /* component-data-source */ + YYSYMBOL_326_array_constructor = 326, /* array-constructor */ + YYSYMBOL_327_ac_spec = 327, /* ac-spec */ + YYSYMBOL_lbracket = 328, /* lbracket */ + YYSYMBOL_rbracket = 329, /* rbracket */ + YYSYMBOL_330_ac_value_list = 330, /* ac-value-list */ + YYSYMBOL_331_ac_value = 331, /* ac-value */ + YYSYMBOL_332_ac_implied_do = 332, /* ac-implied-do */ + YYSYMBOL_333_ac_implied_do_control = 333, /* ac-implied-do-control */ + YYSYMBOL_334_ac_do_variable = 334, /* ac-do-variable */ + YYSYMBOL_335_type_declaration_stmt = 335, /* type-declaration-stmt */ + YYSYMBOL_336_16 = 336, /* $@16 */ + YYSYMBOL_337_17 = 337, /* $@17 */ + YYSYMBOL_338_opt_attr_spec_construct = 338, /* opt-attr-spec-construct */ + YYSYMBOL_339_opt_attr_spec_comma_list = 339, /* opt-attr-spec-comma-list */ + YYSYMBOL_340_attr_spec_comma_list = 340, /* attr-spec-comma-list */ + YYSYMBOL_341_attr_spec = 341, /* attr-spec */ + YYSYMBOL_342_18 = 342, /* $@18 */ + YYSYMBOL_343_19 = 343, /* $@19 */ + YYSYMBOL_344_entity_decl_list = 344, /* entity-decl-list */ + YYSYMBOL_345_entity_decl = 345, /* entity-decl */ + YYSYMBOL_346_object_name = 346, /* object-name */ + YYSYMBOL_347_object_name_noident = 347, /* object-name-noident */ + YYSYMBOL_348_opt_initialization = 348, /* opt-initialization */ + YYSYMBOL_initialization = 349, /* initialization */ + YYSYMBOL_350_null_init = 350, /* null-init */ + YYSYMBOL_351_access_spec = 351, /* access-spec */ + YYSYMBOL_352_opt_array_spec_par = 352, /* opt-array-spec-par */ + YYSYMBOL_353_20 = 353, /* $@20 */ + YYSYMBOL_354_array_spec = 354, /* array-spec */ + YYSYMBOL_355_explicit_shape_spec_list = 355, /* explicit-shape-spec-list */ + YYSYMBOL_356_explicit_shape_spec = 356, /* explicit-shape-spec */ + YYSYMBOL_357_lower_bound = 357, /* lower-bound */ + YYSYMBOL_358_upper_bound = 358, /* upper-bound */ + YYSYMBOL_359_assumed_shape_spec_list = 359, /* assumed-shape-spec-list */ + YYSYMBOL_360_assumed_shape_spec = 360, /* assumed-shape-spec */ + YYSYMBOL_361_deferred_shape_spec_list = 361, /* deferred-shape-spec-list */ + YYSYMBOL_362_deferred_shape_spec = 362, /* deferred-shape-spec */ + YYSYMBOL_363_assumed_size_spec = 363, /* assumed-size-spec */ + YYSYMBOL_364_opt_explicit_shape_spec_list_comma = 364, /* opt-explicit-shape-spec-list-comma */ + YYSYMBOL_365_opt_lower_bound_2points = 365, /* opt-lower-bound-2points */ + YYSYMBOL_366_implied_shape_spec_list = 366, /* implied-shape-spec-list */ + YYSYMBOL_367_implied_shape_spec = 367, /* implied-shape-spec */ + YYSYMBOL_368_intent_spec = 368, /* intent-spec */ + YYSYMBOL_369_access_stmt = 369, /* access-stmt */ + YYSYMBOL_370_21 = 370, /* $@21 */ + YYSYMBOL_371_opt_access_id_list = 371, /* opt-access-id-list */ + YYSYMBOL_372_access_id_list = 372, /* access-id-list */ + YYSYMBOL_373_access_id = 373, /* access-id */ + YYSYMBOL_374_data_stmt = 374, /* data-stmt */ + YYSYMBOL_375_22 = 375, /* $@22 */ + YYSYMBOL_376_opt_data_stmt_set_nlist = 376, /* opt-data-stmt-set-nlist */ + YYSYMBOL_377_data_stmt_set_nlist = 377, /* data-stmt-set-nlist */ + YYSYMBOL_378_data_stmt_set = 378, /* data-stmt-set */ + YYSYMBOL_379_data_stmt_object_list = 379, /* data-stmt-object-list */ + YYSYMBOL_380_data_stmt_value_list = 380, /* data-stmt-value-list */ + YYSYMBOL_381_data_stmt_object = 381, /* data-stmt-object */ + YYSYMBOL_382_data_implied_do = 382, /* data-implied-do */ + YYSYMBOL_383_data_i_do_object_list = 383, /* data-i-do-object-list */ + YYSYMBOL_384_data_i_do_object = 384, /* data-i-do-object */ + YYSYMBOL_385_data_i_do_variable = 385, /* data-i-do-variable */ + YYSYMBOL_386_data_stmt_value = 386, /* data-stmt-value */ + YYSYMBOL_387_opt_data_stmt_star = 387, /* opt-data-stmt-star */ + YYSYMBOL_388_data_stmt_constant = 388, /* data-stmt-constant */ + YYSYMBOL_389_scalar_constant_subobject = 389, /* scalar-constant-subobject */ + YYSYMBOL_390_constant_subobject = 390, /* constant-subobject */ + YYSYMBOL_391_dimension_stmt = 391, /* dimension-stmt */ + YYSYMBOL_392_23 = 392, /* $@23 */ + YYSYMBOL_393_24 = 393, /* $@24 */ + YYSYMBOL_394_array_name_spec_list = 394, /* array-name-spec-list */ + YYSYMBOL_395_25 = 395, /* $@25 */ + YYSYMBOL_396_26 = 396, /* $@26 */ + YYSYMBOL_397_parameter_stmt = 397, /* parameter-stmt */ + YYSYMBOL_398_27 = 398, /* $@27 */ + YYSYMBOL_399_28 = 399, /* $@28 */ + YYSYMBOL_400_named_constant_def_list = 400, /* named-constant-def-list */ + YYSYMBOL_401_named_constant_def = 401, /* named-constant-def */ + YYSYMBOL_402_save_stmt = 402, /* save-stmt */ + YYSYMBOL_403_29 = 403, /* $@29 */ + YYSYMBOL_404_30 = 404, /* $@30 */ + YYSYMBOL_405_opt_TOK_FOURDOTS = 405, /* opt-TOK_FOURDOTS */ + YYSYMBOL_406_opt_saved_entity_list = 406, /* opt-saved-entity-list */ + YYSYMBOL_407_saved_entity_list = 407, /* saved-entity-list */ + YYSYMBOL_408_saved_entity = 408, /* saved-entity */ + YYSYMBOL_409_proc_pointer_name = 409, /* proc-pointer-name */ + YYSYMBOL_get_my_position = 410, /* get_my_position */ + YYSYMBOL_411_implicit_stmt = 411, /* implicit-stmt */ + YYSYMBOL_412_31 = 412, /* $@31 */ + YYSYMBOL_413_implicit_spec_list = 413, /* implicit-spec-list */ + YYSYMBOL_414_implicit_spec = 414, /* implicit-spec */ + YYSYMBOL_415_letter_spec_list = 415, /* letter-spec-list */ + YYSYMBOL_416_letter_spec = 416, /* letter-spec */ + YYSYMBOL_417_namelist_stmt = 417, /* namelist-stmt */ + YYSYMBOL_418_opt_namelist_other = 418, /* opt-namelist-other */ + YYSYMBOL_419_namelist_group_object_list = 419, /* namelist-group-object-list */ + YYSYMBOL_420_namelist_group_object = 420, /* namelist-group-object */ + YYSYMBOL_421_equivalence_stmt = 421, /* equivalence-stmt */ + YYSYMBOL_422_equivalence_set_list = 422, /* equivalence-set-list */ + YYSYMBOL_423_equivalence_set = 423, /* equivalence-set */ + YYSYMBOL_424_32 = 424, /* $@32 */ + YYSYMBOL_425_equivalence_object_list = 425, /* equivalence-object-list */ + YYSYMBOL_426_equivalence_object = 426, /* equivalence-object */ + YYSYMBOL_427_common_stmt = 427, /* common-stmt */ + YYSYMBOL_428_33 = 428, /* $@33 */ + YYSYMBOL_429_34 = 429, /* $@34 */ + YYSYMBOL_430_opt_common_block_name = 430, /* opt-common-block-name */ + YYSYMBOL_431_common_block_name = 431, /* common-block-name */ + YYSYMBOL_432_opt_comma = 432, /* opt-comma */ + YYSYMBOL_433_opt_common_block_list = 433, /* opt-common-block-list */ + YYSYMBOL_434_35 = 434, /* $@35 */ + YYSYMBOL_435_common_block_object_list = 435, /* common-block-object-list */ + YYSYMBOL_436_common_block_object = 436, /* common-block-object */ + YYSYMBOL_437_36 = 437, /* $@36 */ + YYSYMBOL_designator = 438, /* designator */ + YYSYMBOL_439_scalar_variable = 439, /* scalar-variable */ + YYSYMBOL_variable = 440, /* variable */ + YYSYMBOL_441_variable_name = 441, /* variable-name */ + YYSYMBOL_442_scalar_logical_variable = 442, /* scalar-logical-variable */ + YYSYMBOL_443_logical_variable = 443, /* logical-variable */ + YYSYMBOL_444_char_variable = 444, /* char-variable */ + YYSYMBOL_445_scalar_default_char_variable = 445, /* scalar-default-char-variable */ + YYSYMBOL_446_default_char_variable = 446, /* default-char-variable */ + YYSYMBOL_447_scalar_int_variable = 447, /* scalar-int-variable */ + YYSYMBOL_448_int_variable = 448, /* int-variable */ + YYSYMBOL_substring = 449, /* substring */ + YYSYMBOL_450_substring_range = 450, /* substring-range */ + YYSYMBOL_451_data_ref = 451, /* data-ref */ + YYSYMBOL_452_opt_part_ref = 452, /* opt-part-ref */ + YYSYMBOL_453_part_ref = 453, /* part-ref */ + YYSYMBOL_454_37 = 454, /* $@37 */ + YYSYMBOL_455_scalar_structure_component = 455, /* scalar-structure-component */ + YYSYMBOL_456_structure_component = 456, /* structure-component */ + YYSYMBOL_457_array_element = 457, /* array-element */ + YYSYMBOL_458_array_section = 458, /* array-section */ + YYSYMBOL_459_section_subscript_list = 459, /* section-subscript-list */ + YYSYMBOL_460_section_subscript = 460, /* section-subscript */ + YYSYMBOL_section_subscript_ambiguous = 461, /* section_subscript_ambiguous */ + YYSYMBOL_462_vector_subscript = 462, /* vector-subscript */ + YYSYMBOL_463_allocate_stmt = 463, /* allocate-stmt */ + YYSYMBOL_464_38 = 464, /* $@38 */ + YYSYMBOL_465_39 = 465, /* $@39 */ + YYSYMBOL_466_opt_alloc_opt_list_comma = 466, /* opt-alloc-opt-list-comma */ + YYSYMBOL_467_alloc_opt_list = 467, /* alloc-opt-list */ + YYSYMBOL_468_alloc_opt = 468, /* alloc-opt */ + YYSYMBOL_469_stat_variable = 469, /* stat-variable */ + YYSYMBOL_470_errmsg_variable = 470, /* errmsg-variable */ + YYSYMBOL_471_allocation_list = 471, /* allocation-list */ + YYSYMBOL_allocation = 472, /* allocation */ + YYSYMBOL_473_allocate_object = 473, /* allocate-object */ + YYSYMBOL_474_opt_allocate_shape_spec_list_par = 474, /* opt-allocate-shape-spec-list-par */ + YYSYMBOL_475_allocate_shape_spec_list = 475, /* allocate-shape-spec-list */ + YYSYMBOL_476_allocate_shape_spec = 476, /* allocate-shape-spec */ + YYSYMBOL_477_opt_lower_bound_expr = 477, /* opt-lower-bound-expr */ + YYSYMBOL_478_lower_bound_expr = 478, /* lower-bound-expr */ + YYSYMBOL_479_upper_bound_expr = 479, /* upper-bound-expr */ + YYSYMBOL_480_deallocate_stmt = 480, /* deallocate-stmt */ + YYSYMBOL_481_40 = 481, /* $@40 */ + YYSYMBOL_482_41 = 482, /* $@41 */ + YYSYMBOL_483_allocate_object_list = 483, /* allocate-object-list */ + YYSYMBOL_484_opt_dealloc_opt_list_comma = 484, /* opt-dealloc-opt-list-comma */ + YYSYMBOL_485_dealloc_opt_list = 485, /* dealloc-opt-list */ + YYSYMBOL_486_dealloc_opt = 486, /* dealloc-opt */ + YYSYMBOL_primary = 487, /* primary */ + YYSYMBOL_488_level_1_expr = 488, /* level-1-expr */ + YYSYMBOL_489_mult_operand = 489, /* mult-operand */ + YYSYMBOL_490_add_operand = 490, /* add-operand */ + YYSYMBOL_491_level_2_expr = 491, /* level-2-expr */ + YYSYMBOL_492_power_op = 492, /* power-op */ + YYSYMBOL_493_mult_op = 493, /* mult-op */ + YYSYMBOL_494_add_op = 494, /* add-op */ + YYSYMBOL_495_level_3_expr = 495, /* level-3-expr */ + YYSYMBOL_496_concat_op = 496, /* concat-op */ + YYSYMBOL_497_level_4_expr = 497, /* level-4-expr */ + YYSYMBOL_498_rel_op = 498, /* rel-op */ + YYSYMBOL_499_and_operand = 499, /* and-operand */ + YYSYMBOL_500_or_operand = 500, /* or-operand */ + YYSYMBOL_501_equiv_operand = 501, /* equiv-operand */ + YYSYMBOL_502_level_5_expr = 502, /* level-5-expr */ + YYSYMBOL_503_not_op = 503, /* not-op */ + YYSYMBOL_504_and_op = 504, /* and-op */ + YYSYMBOL_505_or_op = 505, /* or-op */ + YYSYMBOL_506_equiv_op = 506, /* equiv-op */ + YYSYMBOL_expr = 507, /* expr */ + YYSYMBOL_508_scalar_default_char_expr = 508, /* scalar-default-char-expr */ + YYSYMBOL_509_default_char_expr = 509, /* default-char-expr */ + YYSYMBOL_510_int_expr = 510, /* int-expr */ + YYSYMBOL_511_opt_scalar_int_expr = 511, /* opt-scalar-int-expr */ + YYSYMBOL_512_scalar_int_expr = 512, /* scalar-int-expr */ + YYSYMBOL_513_specification_expr = 513, /* specification-expr */ + YYSYMBOL_514_constant_expr = 514, /* constant-expr */ + YYSYMBOL_515_scalar_default_char_constant_expr = 515, /* scalar-default-char-constant-expr */ + YYSYMBOL_516_default_char_constant_expr = 516, /* default-char-constant-expr */ + YYSYMBOL_517_scalar_int_constant_expr = 517, /* scalar-int-constant-expr */ + YYSYMBOL_518_int_constant_expr = 518, /* int-constant-expr */ + YYSYMBOL_519_assignment_stmt = 519, /* assignment-stmt */ + YYSYMBOL_520_pointer_assignment_stmt = 520, /* pointer-assignment-stmt */ + YYSYMBOL_521_opt_bounds_spec_list_par = 521, /* opt-bounds-spec-list-par */ + YYSYMBOL_522_bounds_spec_list = 522, /* bounds-spec-list */ + YYSYMBOL_523_bounds_remapping_list = 523, /* bounds-remapping-list */ + YYSYMBOL_524_bounds_spec = 524, /* bounds-spec */ + YYSYMBOL_525_bounds_remapping = 525, /* bounds-remapping */ + YYSYMBOL_526_data_target = 526, /* data-target */ + YYSYMBOL_527_procedure_component_name = 527, /* procedure-component-name */ + YYSYMBOL_528_proc_component_ref = 528, /* proc-component-ref */ + YYSYMBOL_529_proc_target = 529, /* proc-target */ + YYSYMBOL_530_where_stmt = 530, /* where-stmt */ + YYSYMBOL_531_where_construct = 531, /* where-construct */ + YYSYMBOL_532_opt_where_body_construct = 532, /* opt-where-body-construct */ + YYSYMBOL_533_opt_masked_elsewhere_construct = 533, /* opt-masked-elsewhere-construct */ + YYSYMBOL_534_opt_elsewhere_construct = 534, /* opt-elsewhere-construct */ + YYSYMBOL_535_where_construct_stmt = 535, /* where-construct-stmt */ + YYSYMBOL_536_where_body_construct = 536, /* where-body-construct */ + YYSYMBOL_537_where_assignment_stmt = 537, /* where-assignment-stmt */ + YYSYMBOL_538_mask_expr = 538, /* mask-expr */ + YYSYMBOL_539_masked_elsewhere_stmt = 539, /* masked-elsewhere-stmt */ + YYSYMBOL_540_elsewhere_stmt = 540, /* elsewhere-stmt */ + YYSYMBOL_541_end_where_stmt = 541, /* end-where-stmt */ + YYSYMBOL_542_forall_header = 542, /* forall-header */ + YYSYMBOL_block = 543, /* block */ + YYSYMBOL_544_opt_execution_part_construct = 544, /* opt-execution-part-construct */ + YYSYMBOL_545_do_construct = 545, /* do-construct */ + YYSYMBOL_546_block_do_construct = 546, /* block-do-construct */ + YYSYMBOL_547_label_do_stmt = 547, /* label-do-stmt */ + YYSYMBOL_548_label_do_stmt_djview = 548, /* label-do-stmt-djview */ + YYSYMBOL_549_nonlabel_do_stmt = 549, /* nonlabel-do-stmt */ + YYSYMBOL_550_loop_control = 550, /* loop-control */ + YYSYMBOL_551_do_variable = 551, /* do-variable */ + YYSYMBOL_552_do_block = 552, /* do-block */ + YYSYMBOL_553_end_do = 553, /* end-do */ + YYSYMBOL_554_end_do_stmt = 554, /* end-do-stmt */ + YYSYMBOL_555_nonblock_do_construct = 555, /* nonblock-do-construct */ + YYSYMBOL_556_action_term_do_construct = 556, /* action-term-do-construct */ + YYSYMBOL_557_do_term_action_stmt = 557, /* do-term-action-stmt */ + YYSYMBOL_558_do_term_action_stmt_special = 558, /* do-term-action-stmt-special */ + YYSYMBOL_559_outer_shared_do_construct = 559, /* outer-shared-do-construct */ + YYSYMBOL_560_label_do_stmt_djview_do_block_list = 560, /* label-do-stmt-djview-do-block-list */ + YYSYMBOL_561_inner_shared_do_construct = 561, /* inner-shared-do-construct */ + YYSYMBOL_562_do_term_shared_stmt = 562, /* do-term-shared-stmt */ + YYSYMBOL_563_opt_do_construct_name = 563, /* opt-do-construct-name */ + YYSYMBOL_564_cycle_stmt = 564, /* cycle-stmt */ + YYSYMBOL_565_if_construct = 565, /* if-construct */ + YYSYMBOL_566_opt_else_if_stmt_block = 566, /* opt-else-if-stmt-block */ + YYSYMBOL_567_else_if_stmt_block = 567, /* else-if-stmt-block */ + YYSYMBOL_568_opt_else_stmt_block = 568, /* opt-else-stmt-block */ + YYSYMBOL_569_else_stmt_block = 569, /* else-stmt-block */ + YYSYMBOL_570_if_then_stmt = 570, /* if-then-stmt */ + YYSYMBOL_571_else_if_stmt = 571, /* else-if-stmt */ + YYSYMBOL_572_else_stmt = 572, /* else-stmt */ + YYSYMBOL_573_end_if_stmt = 573, /* end-if-stmt */ + YYSYMBOL_574_if_stmt = 574, /* if-stmt */ + YYSYMBOL_575_case_construct = 575, /* case-construct */ + YYSYMBOL_576_opt_case_stmt_block = 576, /* opt_case-stmt-block */ + YYSYMBOL_577_case_stmt_block = 577, /* case-stmt-block */ + YYSYMBOL_578_select_case_stmt = 578, /* select-case-stmt */ + YYSYMBOL_579_42 = 579, /* $@42 */ + YYSYMBOL_580_43 = 580, /* $@43 */ + YYSYMBOL_581_case_stmt = 581, /* case-stmt */ + YYSYMBOL_582_end_select_stmt = 582, /* end-select-stmt */ + YYSYMBOL_583_44 = 583, /* $@44 */ + YYSYMBOL_584_45 = 584, /* $@45 */ + YYSYMBOL_585_case_selector = 585, /* case-selector */ + YYSYMBOL_586_46 = 586, /* $@46 */ + YYSYMBOL_587_case_value_range_list = 587, /* case-value-range-list */ + YYSYMBOL_588_case_value_range = 588, /* case-value-range */ + YYSYMBOL_589_case_value = 589, /* case-value */ + YYSYMBOL_590_exit_stmt = 590, /* exit-stmt */ + YYSYMBOL_591_goto_stmt = 591, /* goto-stmt */ + YYSYMBOL_592_arithmetic_if_stmt = 592, /* arithmetic-if-stmt */ + YYSYMBOL_593_continue_stmt = 593, /* continue-stmt */ + YYSYMBOL_594_stop_stmt = 594, /* stop-stmt */ + YYSYMBOL_595_stop_code = 595, /* stop-code */ + YYSYMBOL_596_io_unit = 596, /* io-unit */ + YYSYMBOL_597_file_unit_number = 597, /* file-unit-number */ + YYSYMBOL_598_internal_file_variable = 598, /* internal-file-variable */ + YYSYMBOL_599_open_stmt = 599, /* open-stmt */ + YYSYMBOL_600_47 = 600, /* $@47 */ + YYSYMBOL_601_48 = 601, /* $@48 */ + YYSYMBOL_602_connect_spec_list = 602, /* connect-spec-list */ + YYSYMBOL_603_connect_spec = 603, /* connect-spec */ + YYSYMBOL_604_file_name_expr = 604, /* file-name-expr */ + YYSYMBOL_605_iomsg_variable = 605, /* iomsg-variable */ + YYSYMBOL_606_close_stmt = 606, /* close-stmt */ + YYSYMBOL_607_49 = 607, /* $@49 */ + YYSYMBOL_608_close_spec_list = 608, /* close-spec-list */ + YYSYMBOL_609_close_spec = 609, /* close-spec */ + YYSYMBOL_610_read_stmt = 610, /* read-stmt */ + YYSYMBOL_611_50 = 611, /* $@50 */ + YYSYMBOL_612_51 = 612, /* $@51 */ + YYSYMBOL_613_write_stmt = 613, /* write-stmt */ + YYSYMBOL_614_52 = 614, /* $@52 */ + YYSYMBOL_615_53 = 615, /* $@53 */ + YYSYMBOL_616_print_stmt = 616, /* print-stmt */ + YYSYMBOL_617_io_control_spec_list = 617, /* io-control-spec-list */ + YYSYMBOL_618_namelist_group_name = 618, /* namelist-group-name */ + YYSYMBOL_619_io_control_spec = 619, /* io-control-spec */ + YYSYMBOL_format = 620, /* format */ + YYSYMBOL_621_input_item_list = 621, /* input-item-list */ + YYSYMBOL_622_input_item = 622, /* input-item */ + YYSYMBOL_623_output_item_list = 623, /* output-item-list */ + YYSYMBOL_624_output_item = 624, /* output-item */ + YYSYMBOL_625_io_implied_do = 625, /* io-implied-do */ + YYSYMBOL_626_io_implied_do_object_list = 626, /* io-implied-do-object-list */ + YYSYMBOL_627_io_implied_do_object = 627, /* io-implied-do-object */ + YYSYMBOL_628_io_implied_do_control = 628, /* io-implied-do-control */ + YYSYMBOL_629_rewind_stmt = 629, /* rewind-stmt */ + YYSYMBOL_630_position_spec_list = 630, /* position-spec-list */ + YYSYMBOL_631_position_spec = 631, /* position-spec */ + YYSYMBOL_632_flush_stmt = 632, /* flush-stmt */ + YYSYMBOL_633_flush_spec_list = 633, /* flush-spec-list */ + YYSYMBOL_634_flush_spec = 634, /* flush-spec */ + YYSYMBOL_635_inquire_stmt = 635, /* inquire-stmt */ + YYSYMBOL_636_54 = 636, /* $@54 */ + YYSYMBOL_637_55 = 637, /* $@55 */ + YYSYMBOL_set_in_inquire = 638, /* set_in_inquire */ + YYSYMBOL_639_inquire_spec_list = 639, /* inquire-spec-list */ + YYSYMBOL_640_inquire_spec = 640, /* inquire-spec */ + YYSYMBOL_641_format_stmt = 641, /* format-stmt */ + YYSYMBOL_module = 642, /* module */ + YYSYMBOL_643_56 = 643, /* $@56 */ + YYSYMBOL_644_opt_module_subprogram_part = 644, /* opt-module-subprogram-part */ + YYSYMBOL_645_module_stmt = 645, /* module-stmt */ + YYSYMBOL_646_57 = 646, /* $@57 */ + YYSYMBOL_647_end_module_stmt = 647, /* end-module-stmt */ + YYSYMBOL_648_58 = 648, /* $@58 */ + YYSYMBOL_649_opt_tok_module = 649, /* opt-tok-module */ + YYSYMBOL_650_opt_ident = 650, /* opt-ident */ + YYSYMBOL_651_module_subprogram_part = 651, /* module-subprogram-part */ + YYSYMBOL_652_opt_module_subprogram_list = 652, /* opt-module-subprogram-list */ + YYSYMBOL_653_module_subprogram_list = 653, /* module-subprogram-list */ + YYSYMBOL_654_module_subprogram = 654, /* module-subprogram */ + YYSYMBOL_655_use_stmt_list = 655, /* use-stmt-list */ + YYSYMBOL_save_olduse = 656, /* save_olduse */ + YYSYMBOL_657_use_stmt = 657, /* use-stmt */ + YYSYMBOL_658_59 = 658, /* $@59 */ + YYSYMBOL_659_60 = 659, /* $@60 */ + YYSYMBOL_660_opt_module_nature_2points = 660, /* opt-module-nature-2points */ + YYSYMBOL_661_opt_only_list = 661, /* opt-only-list */ + YYSYMBOL_662_main_program = 662, /* main-program */ + YYSYMBOL_663_opt_specification_part = 663, /* opt-specification-part */ + YYSYMBOL_664_program_stmt = 664, /* program-stmt */ + YYSYMBOL_665_61 = 665, /* $@61 */ + YYSYMBOL_666_end_program_stmt = 666, /* end-program-stmt */ + YYSYMBOL_667_62 = 667, /* $@62 */ + YYSYMBOL_668_63 = 668, /* $@63 */ + YYSYMBOL_669_opt_tok_program = 669, /* opt-tok-program */ + YYSYMBOL_670_opt_tok_name = 670, /* opt-tok-name */ + YYSYMBOL_671_module_nature = 671, /* module-nature */ + YYSYMBOL_672_opt_rename_list = 672, /* opt-rename-list */ + YYSYMBOL_673_rename_list = 673, /* rename-list */ + YYSYMBOL_rename = 674, /* rename */ + YYSYMBOL_675_only_list = 675, /* only-list */ + YYSYMBOL_only = 676, /* only */ + YYSYMBOL_677_only_use_name = 677, /* only-use-name */ + YYSYMBOL_678_generic_spec = 678, /* generic-spec */ + YYSYMBOL_679_external_stmt = 679, /* external-stmt */ + YYSYMBOL_680_external_name_list = 680, /* external-name-list */ + YYSYMBOL_681_external_name = 681, /* external-name */ + YYSYMBOL_682_intrinsic_stmt = 682, /* intrinsic-stmt */ + YYSYMBOL_683_intrinsic_procedure_name_list = 683, /* intrinsic-procedure-name-list */ + YYSYMBOL_684_intrinsic_procedure_name = 684, /* intrinsic-procedure-name */ + YYSYMBOL_685_function_reference = 685, /* function-reference */ + YYSYMBOL_686_64 = 686, /* $@64 */ + YYSYMBOL_687_call_stmt = 687, /* call-stmt */ + YYSYMBOL_688_65 = 688, /* $@65 */ + YYSYMBOL_689_66 = 689, /* $@66 */ + YYSYMBOL_690_67 = 690, /* $@67 */ + YYSYMBOL_691_68 = 691, /* $@68 */ + YYSYMBOL_692_before_call_stmt = 692, /* before-call-stmt */ + YYSYMBOL_693_69 = 693, /* $@69 */ + YYSYMBOL_694_procedure_designator = 694, /* procedure-designator */ + YYSYMBOL_695_actual_arg_spec_list = 695, /* actual-arg-spec-list */ + YYSYMBOL_696_actual_arg_spec = 696, /* actual-arg-spec */ + YYSYMBOL_697_actual_arg = 697, /* actual-arg */ + YYSYMBOL_698_opt_prefix = 698, /* opt-prefix */ + YYSYMBOL_prefix = 699, /* prefix */ + YYSYMBOL_700_prefix_spec = 700, /* prefix-spec */ + YYSYMBOL_701_function_subprogram = 701, /* function-subprogram */ + YYSYMBOL_702_function_stmt = 702, /* function-stmt */ + YYSYMBOL_703_70 = 703, /* $@70 */ + YYSYMBOL_704_71 = 704, /* $@71 */ + YYSYMBOL_705_function_name = 705, /* function-name */ + YYSYMBOL_706_dummy_arg_name = 706, /* dummy-arg-name */ + YYSYMBOL_707_opt_suffix = 707, /* opt-suffix */ + YYSYMBOL_suffix = 708, /* suffix */ + YYSYMBOL_709_end_function_stmt = 709, /* end-function-stmt */ + YYSYMBOL_710_72 = 710, /* $@72 */ + YYSYMBOL_711_opt_tok_function = 711, /* opt-tok-function */ + YYSYMBOL_712_subroutine_subprogram = 712, /* subroutine-subprogram */ + YYSYMBOL_713_subroutine_stmt = 713, /* subroutine-stmt */ + YYSYMBOL_714_73 = 714, /* $@73 */ + YYSYMBOL_715_subroutine_name = 715, /* subroutine-name */ + YYSYMBOL_716_end_subroutine_stmt = 716, /* end-subroutine-stmt */ + YYSYMBOL_close_subroutine = 717, /* close_subroutine */ + YYSYMBOL_718_opt_tok_subroutine = 718, /* opt-tok-subroutine */ + YYSYMBOL_719_opt_dummy_arg_list_par = 719, /* opt-dummy-arg-list-par */ + YYSYMBOL_720_74 = 720, /* $@74 */ + YYSYMBOL_721_opt_dummy_arg_list = 721, /* opt-dummy-arg-list */ + YYSYMBOL_722_dummy_arg_list = 722, /* dummy-arg-list */ + YYSYMBOL_723_dummy_arg = 723, /* dummy-arg */ + YYSYMBOL_724_return_stmt = 724, /* return-stmt */ + YYSYMBOL_725_contains_stmt = 725, /* contains-stmt */ + YYSYMBOL_726_75 = 726, /* $@75 */ + YYSYMBOL_opt_name = 727, /* opt_name */ + YYSYMBOL_after_rewind = 728, /* after_rewind */ + YYSYMBOL_declare_after_percent = 729, /* declare_after_percent */ + YYSYMBOL_pointer_name_list = 730 /* pointer_name_list */ +}; +typedef enum yysymbol_kind_t yysymbol_kind_t; + + #ifdef short @@ -429,6 +1170,18 @@ typedef int_least16_t yytype_int16; typedef short yytype_int16; #endif +/* Work around bug in HP-UX 11.23, which defines these macros + incorrectly for preprocessor constants. This workaround can likely + be removed in 2023, as HPE has promised support for HP-UX 11.23 + (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of + <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ +#ifdef __hpux +# undef UINT_LEAST8_MAX +# undef UINT_LEAST16_MAX +# define UINT_LEAST8_MAX 255 +# define UINT_LEAST16_MAX 65535 +#endif + #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ @@ -488,6 +1241,7 @@ typedef int yytype_uint16; #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + /* Stored state numbers (used for stacks). */ typedef yytype_int16 yy_state_t; @@ -506,6 +1260,7 @@ typedef int yy_state_fast_t; # endif #endif + #ifndef YY_ATTRIBUTE_PURE # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) @@ -524,17 +1279,23 @@ typedef int yy_state_fast_t; /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) +# define YY_USE(E) ((void) (E)) #else -# define YYUSE(E) /* empty */ +# define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# endif # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else @@ -563,7 +1324,7 @@ typedef int yy_state_fast_t; #define YY_ASSERT(E) ((void) (0 && (E))) -#if ! defined yyoverflow || YYERROR_VERBOSE +#if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -628,8 +1389,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - +#endif /* !defined yyoverflow */ #if (! defined yyoverflow \ && (! defined __cplusplus \ @@ -694,40 +1454,42 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4842 +#define YYLAST 4732 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 204 +#define YYNTOKENS 207 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 524 /* YYNRULES -- Number of rules. */ -#define YYNRULES 1076 +#define YYNRULES 1079 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1744 +#define YYNSTATES 1747 -#define YYUNDEFTOK 2 -#define YYMAXUTOK 442 +/* YYMAXUTOK -- Last valid token kind. */ +#define YYMAXUTOK 445 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ -#define YYTRANSLATE(YYX) \ - (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 198, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 201, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 200, 2, 2, - 194, 195, 21, 19, 3, 20, 2, 199, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, - 196, 5, 197, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 203, 2, 2, + 197, 198, 6, 4, 195, 5, 2, 202, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 196, 2, + 199, 3, 200, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 202, 2, 203, 2, 201, 2, 2, 2, 2, + 2, 205, 2, 206, 2, 204, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -743,181 +1505,189 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193 + 2, 2, 2, 2, 2, 2, 1, 2, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194 }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 515, 515, 516, 518, 519, 520, 522, 524, 525, - 526, 527, 530, 531, 532, 534, 535, 543, 561, 565, - 566, 567, 571, 572, 585, 853, 854, 1107, 1108, 1109, - 1110, 1111, 1113, 1114, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1146, - 1147, 1150, 1151, 1152, 1156, 1167, 1168, 1169, 1169, 1170, - 1170, 1172, 1173, 1173, 1182, 1194, 1195, 1198, 1199, 1202, - 1203, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 1269, 1272, 1273, 1274, - 1275, 1277, 1278, 1288, 1289, 1341, 1344, 1345, 1370, 1371, - 1375, 1376, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 1404, 1405, 1409, 1412, 1413, - 1417, 1418, 1422, 1423, 1426, 1427, 1431, 1435, 1436, 1439, - 1440, 1444, 1445, 1449, 1450, 1451, 1452, 1453, 1454, 1455, - 1456, 1457, 1462, 1463, 1464, 1465, 1466, 1474, 1475, 1476, - 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, - 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1518, 1519, 1523, 1526, 1531, 1532, 1536, 1537, 1538, 1539, - 1541, 1545, 1564, 1565, 1569, 1570, 1574, 1575, 1579, 1583, - 1584, 1585, 1596, 1596, 1598, 1599, 1604, 1604, 1606, 1606, - 1608, 1608, 1610, 1610, 1612, 1612, 1614, 1614, 1619, 1620, - 1626, 1628, 1630, 1637, 1638, 1643, 1644, 1649, 1650, 1666, - 1667, 1672, 1673, 1680, 1686, 1687, 1688, 1692, 1693, 1694, - 1697, 1698, 1703, 1704, 1709, 1710, 1711, 1712, 1713, 1717, - 1719, 1721, 1722, 1726, 1728, 1733, 1734, 1735, 1739, 1740, - 1744, 1744, 1749, 1750, 1753, 1754, 1757, 1758, 1761, 1762, - 1766, 1769, 1770, 1773, 1777, 1778, 1781, 1782, 1786, 1787, - 1791, 1795, 1798, 1799, 1800, 1803, 1804, 1808, 1809, 1810, - 1811, 1811, 1812, 1815, 1816, 1820, 1844, 1845, 1849, 1850, - 1853, 1854, 1858, 1859, 1860, 1864, 1869, 1871, 1874, 1875, - 1879, 1880, 1884, 1885, 1888, 1889, 1893, 1894, 1898, 1899, - 1900, 1904, 1906, 1921, 1925, 1929, 1933, 1934, 1939, 1940, - 1944, 1949, 1951, 1956, 1960, 1961, 1960, 2029, 2030, 2033, - 2034, 2038, 2039, 2043, 2044, 2046, 2048, 2048, 2050, 2052, - 2052, 2054, 2055, 2057, 2059, 2061, 2063, 2068, 2070, 2075, - 2109, 2112, 2115, 2116, 2120, 2126, 2132, 2141, 2145, 2147, - 2152, 2153, 2153, 2158, 2160, 2162, 2164, 2166, 2170, 2176, - 2185, 2187, 2192, 2197, 2201, 2207, 2216, 2218, 2223, 2229, - 2238, 2243, 2266, 2267, 2286, 2287, 2291, 2292, 2296, 2300, - 2302, 2304, 2310, 2309, 2328, 2329, 2333, 2335, 2340, 2341, - 2346, 2345, 2360, 2361, 2364, 2365, 2369, 2379, 2381, 2387, - 2389, 2394, 2395, 2399, 2405, 2412, 2414, 2419, 2420, 2424, - 2428, 2433, 2435, 2437, 2439, 2440, 2441, 2442, 2443, 2447, - 2448, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2476, 2484, - 2489, 2491, 2489, 2537, 2537, 2546, 2546, 2559, 2560, 2559, - 2579, 2581, 2586, 2603, 2604, 2603, 2611, 2612, 2615, 2616, - 2619, 2620, 2624, 2626, 2627, 2631, 2635, 2639, 2641, 2640, - 2652, 2653, 2657, 2660, 2661, 2665, 2666, 2670, 2673, 2674, - 2676, 2677, 2681, 2685, 2688, 2689, 2693, 2693, 2696, 2697, - 2701, 2702, 2703, 2708, 2709, 2708, 2718, 2719, 2727, 2733, - 2741, 2742, 2745, 2747, 2746, 2756, 2758, 2766, 2772, 2772, - 2781, 2782, 2783, 2784, 2793, 2796, 2809, 2812, 2816, 2820, - 2823, 2827, 2830, 2833, 2837, 2838, 2840, 2855, 2860, 2865, - 2866, 2871, 2873, 2873, 2885, 2889, 2894, 2899, 2901, 2908, - 2909, 2911, 2933, 2935, 2937, 2939, 2941, 2943, 2945, 2946, - 2948, 2950, 2954, 2956, 2958, 2960, 2962, 2965, 2979, 2983, - 2984, 2983, 2992, 2993, 2997, 2998, 3002, 3003, 3007, 3011, - 3015, 3016, 3020, 3024, 3025, 3028, 3029, 3033, 3034, 3038, - 3041, 3042, 3046, 3050, 3054, 3055, 3054, 3060, 3061, 3064, - 3065, 3069, 3070, 3074, 3075, 3084, 3094, 3095, 3096, 3097, - 3102, 3107, 3108, 3112, 3113, 3120, 3121, 3123, 3125, 3126, - 3131, 3135, 3137, 3141, 3143, 3148, 3149, 3154, 3157, 3158, - 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3173, - 3174, 3176, 3181, 3182, 3188, 3189, 3195, 3196, 3201, 3202, - 3207, 3211, 3215, 3219, 3220, 3224, 3227, 3231, 3235, 3239, - 3240, 3243, 3247, 3254, 3258, 3262, 3265, 3269, 3275, 3276, - 3288, 3289, 3290, 3298, 3299, 3303, 3304, 3308, 3309, 3313, - 3317, 3321, 3324, 3333, 3337, 3338, 3339, 3343, 3347, 3350, - 3351, 3354, 3355, 3358, 3359, 3363, 3367, 3368, 3369, 3373, - 3377, 3381, 3382, 3386, 3387, 3392, 3393, 3397, 3401, 3404, - 3405, 3410, 3411, 3415, 3420, 3421, 3432, 3433, 3434, 3435, - 3438, 3439, 3440, 3441, 3445, 3446, 3447, 3448, 3453, 3454, - 3455, 3456, 3460, 3464, 3473, 3474, 3478, 3479, 3490, 3491, - 3497, 3507, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, - 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3538, - 3539, 3542, 3543, 3554, 3559, 3562, 3563, 3567, 3571, 3574, - 3575, 3576, 3579, 3582, 3583, 3584, 3587, 3591, 3592, 3593, - 3597, 3598, 3602, 3603, 3607, 3608, 3612, 3616, 3619, 3620, - 3621, 3624, 3628, 3628, 3629, 3629, 3633, 3634, 3638, 3638, - 3639, 3639, 3644, 3644, 3645, 3649, 3650, 3655, 3656, 3657, - 3658, 3662, 3666, 3667, 3671, 3675, 3679, 3683, 3684, 3688, - 3689, 3693, 3694, 3695, 3699, 3703, 3707, 3707, 3707, 3710, - 3711, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, - 3724, 3725, 3726, 3730, 3734, 3738, 3738, 3742, 3743, 3747, - 3748, 3749, 3750, 3751, 3752, 3757, 3756, 3762, 3761, 3766, - 3767, 3772, 3771, 3777, 3776, 3784, 3785, 3787, 3788, 3791, - 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, - 3805, 3806, 3810, 3811, 3812, 3815, 3816, 3819, 3820, 3824, - 3825, 3829, 3830, 3834, 3837, 3838, 3848, 3852, 3853, 3857, - 3858, 3862, 3863, 3867, 3868, 3869, 3870, 3871, 3875, 3876, - 3880, 3881, 3885, 3886, 3887, 3888, 3889, 3895, 3894, 3898, - 3897, 3902, 3906, 3907, 3911, 3912, 3913, 3914, 3915, 3916, - 3917, 3918, 3919, 3920, 3921, 3922, 3926, 3930, 3930, 3933, - 3934, 3939, 3938, 3959, 3958, 3983, 3984, 3987, 3988, 3991, - 3994, 3995, 3998, 3999, 4002, 4003, 4006, 4007, 4011, 4016, - 4015, 4054, 4053, 4105, 4106, 4107, 4111, 4112, 4117, 4120, - 4121, 4124, 4125, 4130, 4129, 4143, 4144, 4143, 4155, 4156, - 4158, 4159, 4162, 4166, 4169, 4175, 4179, 4188, 4198, 4200, - 4209, 4217, 4225, 4233, 4237, 4241, 4242, 4245, 4246, 4249, - 4253, 4257, 4258, 4261, 4265, 4266, 4266, 4273, 4272, 4286, - 4285, 4298, 4299, 4298, 4313, 4313, 4337, 4338, 4339, 4343, - 4344, 4349, 4357, 4368, 4369, 4379, 4382, 4383, 4387, 4388, - 4392, 4394, 4396, 4401, 4406, 4407, 4405, 4431, 4456, 4461, - 4462, 4466, 4483, 4482, 4487, 4488, 4492, 4497, 4496, 4511, - 4528, 4533, 4577, 4578, 4582, 4583, 4583, 4588, 4589, 4594, - 4606, 4620, 4622, 4627, 4628, 4633, 4632, 4668, 4669, 4776, - 4777, 4778, 4779, 4780, 4797, 4890, 4891 + 0, 518, 518, 519, 521, 522, 523, 525, 527, 528, + 529, 530, 533, 534, 535, 537, 538, 546, 564, 568, + 569, 570, 574, 575, 600, 868, 869, 1122, 1123, 1124, + 1125, 1126, 1128, 1129, 1133, 1134, 1135, 1136, 1137, 1138, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1152, 1153, 1155, 1156, 1157, 1158, 1161, + 1162, 1165, 1166, 1167, 1171, 1182, 1183, 1184, 1184, 1185, + 1185, 1187, 1188, 1188, 1197, 1209, 1210, 1213, 1214, 1217, + 1218, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1229, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1284, 1287, 1288, 1289, + 1290, 1292, 1293, 1303, 1304, 1356, 1359, 1360, 1385, 1386, + 1390, 1391, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 1412, 1413, 1414, 1415, 1416, 1419, 1420, 1424, 1427, 1428, + 1432, 1433, 1437, 1438, 1441, 1442, 1446, 1450, 1451, 1454, + 1455, 1459, 1460, 1464, 1465, 1466, 1467, 1468, 1469, 1470, + 1471, 1472, 1477, 1478, 1479, 1480, 1481, 1489, 1490, 1491, + 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, + 1533, 1534, 1538, 1541, 1546, 1547, 1551, 1552, 1553, 1554, + 1556, 1560, 1579, 1580, 1584, 1585, 1589, 1590, 1594, 1598, + 1599, 1600, 1611, 1611, 1613, 1614, 1619, 1619, 1621, 1621, + 1623, 1623, 1625, 1625, 1627, 1627, 1629, 1629, 1634, 1635, + 1641, 1643, 1645, 1652, 1653, 1658, 1659, 1664, 1665, 1681, + 1682, 1687, 1688, 1695, 1701, 1702, 1703, 1707, 1708, 1709, + 1712, 1713, 1718, 1719, 1724, 1725, 1726, 1727, 1728, 1732, + 1734, 1736, 1737, 1741, 1743, 1748, 1749, 1750, 1754, 1755, + 1759, 1759, 1764, 1765, 1768, 1769, 1772, 1773, 1776, 1777, + 1781, 1784, 1785, 1788, 1792, 1793, 1796, 1797, 1801, 1802, + 1806, 1810, 1813, 1814, 1815, 1818, 1819, 1823, 1824, 1825, + 1826, 1826, 1827, 1830, 1831, 1835, 1859, 1860, 1864, 1865, + 1868, 1869, 1873, 1874, 1875, 1879, 1884, 1886, 1889, 1890, + 1894, 1895, 1899, 1900, 1903, 1904, 1908, 1909, 1913, 1914, + 1915, 1919, 1921, 1936, 1940, 1944, 1948, 1949, 1954, 1955, + 1959, 1964, 1966, 1971, 1975, 1976, 1975, 2044, 2045, 2048, + 2049, 2053, 2054, 2058, 2059, 2061, 2063, 2063, 2065, 2067, + 2067, 2069, 2070, 2072, 2074, 2076, 2078, 2083, 2085, 2090, + 2124, 2127, 2130, 2131, 2135, 2141, 2147, 2156, 2160, 2162, + 2167, 2168, 2168, 2173, 2175, 2177, 2179, 2181, 2185, 2191, + 2200, 2202, 2207, 2212, 2216, 2222, 2231, 2233, 2238, 2244, + 2253, 2258, 2281, 2282, 2301, 2302, 2306, 2307, 2311, 2315, + 2317, 2319, 2325, 2324, 2343, 2344, 2348, 2350, 2355, 2356, + 2361, 2360, 2375, 2376, 2379, 2380, 2384, 2394, 2396, 2402, + 2404, 2409, 2410, 2414, 2420, 2427, 2429, 2434, 2435, 2439, + 2443, 2448, 2450, 2452, 2454, 2455, 2456, 2457, 2458, 2462, + 2463, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2491, 2499, + 2504, 2506, 2504, 2552, 2552, 2561, 2561, 2574, 2575, 2574, + 2594, 2596, 2601, 2618, 2619, 2618, 2626, 2627, 2630, 2631, + 2634, 2635, 2639, 2641, 2642, 2646, 2650, 2654, 2656, 2655, + 2667, 2668, 2672, 2675, 2676, 2680, 2681, 2685, 2688, 2689, + 2691, 2692, 2696, 2700, 2703, 2704, 2708, 2708, 2711, 2712, + 2716, 2717, 2718, 2723, 2724, 2723, 2733, 2734, 2742, 2748, + 2756, 2757, 2760, 2762, 2761, 2771, 2773, 2781, 2787, 2787, + 2796, 2797, 2798, 2799, 2808, 2811, 2824, 2827, 2831, 2835, + 2838, 2842, 2845, 2848, 2852, 2853, 2855, 2870, 2875, 2880, + 2881, 2886, 2888, 2888, 2900, 2904, 2909, 2914, 2916, 2923, + 2924, 2926, 2948, 2950, 2952, 2954, 2956, 2958, 2960, 2961, + 2963, 2965, 2969, 2971, 2973, 2975, 2977, 2980, 2994, 2998, + 2999, 2998, 3007, 3008, 3012, 3013, 3017, 3018, 3022, 3026, + 3030, 3031, 3035, 3039, 3040, 3043, 3044, 3048, 3049, 3053, + 3056, 3057, 3061, 3065, 3069, 3070, 3069, 3075, 3076, 3079, + 3080, 3084, 3085, 3089, 3090, 3099, 3109, 3110, 3111, 3112, + 3117, 3122, 3123, 3127, 3128, 3135, 3136, 3138, 3140, 3141, + 3146, 3150, 3152, 3156, 3158, 3163, 3164, 3169, 3172, 3173, + 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3188, + 3189, 3191, 3196, 3197, 3203, 3204, 3210, 3211, 3216, 3217, + 3222, 3226, 3230, 3234, 3235, 3239, 3242, 3246, 3250, 3254, + 3255, 3258, 3262, 3269, 3273, 3277, 3280, 3284, 3290, 3291, + 3303, 3304, 3305, 3313, 3314, 3318, 3319, 3323, 3324, 3328, + 3332, 3336, 3339, 3348, 3352, 3353, 3354, 3358, 3362, 3365, + 3366, 3369, 3370, 3373, 3374, 3378, 3382, 3383, 3384, 3388, + 3392, 3396, 3397, 3401, 3402, 3407, 3408, 3412, 3416, 3419, + 3420, 3425, 3426, 3430, 3435, 3436, 3447, 3448, 3449, 3450, + 3453, 3454, 3455, 3456, 3460, 3461, 3462, 3463, 3468, 3469, + 3470, 3471, 3475, 3479, 3488, 3489, 3493, 3494, 3505, 3506, + 3512, 3522, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, + 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3553, + 3554, 3557, 3558, 3569, 3574, 3577, 3578, 3582, 3586, 3589, + 3590, 3591, 3594, 3597, 3598, 3599, 3602, 3606, 3607, 3608, + 3612, 3613, 3617, 3618, 3622, 3623, 3627, 3631, 3634, 3635, + 3636, 3639, 3643, 3643, 3644, 3644, 3648, 3649, 3653, 3653, + 3654, 3654, 3659, 3659, 3660, 3664, 3665, 3670, 3671, 3672, + 3673, 3677, 3681, 3682, 3686, 3690, 3694, 3698, 3699, 3703, + 3704, 3708, 3709, 3710, 3714, 3718, 3722, 3722, 3722, 3725, + 3726, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, + 3739, 3740, 3741, 3745, 3749, 3753, 3753, 3757, 3758, 3762, + 3763, 3764, 3765, 3766, 3767, 3772, 3771, 3777, 3776, 3781, + 3782, 3787, 3786, 3792, 3791, 3799, 3800, 3802, 3803, 3806, + 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, + 3820, 3821, 3825, 3826, 3827, 3830, 3831, 3834, 3835, 3839, + 3840, 3844, 3845, 3849, 3852, 3853, 3863, 3867, 3868, 3872, + 3873, 3877, 3878, 3882, 3883, 3884, 3885, 3886, 3890, 3891, + 3895, 3896, 3900, 3901, 3902, 3903, 3904, 3910, 3909, 3913, + 3912, 3917, 3921, 3922, 3926, 3927, 3928, 3929, 3930, 3931, + 3932, 3933, 3934, 3935, 3936, 3937, 3941, 3945, 3945, 3948, + 3949, 3954, 3953, 3974, 3973, 3998, 3999, 4002, 4003, 4006, + 4009, 4010, 4013, 4014, 4017, 4018, 4021, 4022, 4026, 4031, + 4030, 4069, 4068, 4120, 4121, 4122, 4126, 4127, 4132, 4135, + 4136, 4139, 4140, 4145, 4144, 4158, 4159, 4158, 4170, 4171, + 4173, 4174, 4177, 4181, 4184, 4190, 4194, 4203, 4213, 4215, + 4224, 4232, 4240, 4248, 4252, 4256, 4257, 4260, 4261, 4264, + 4268, 4272, 4273, 4276, 4280, 4281, 4281, 4288, 4287, 4301, + 4300, 4313, 4314, 4313, 4328, 4328, 4352, 4353, 4354, 4358, + 4359, 4364, 4372, 4383, 4384, 4394, 4397, 4398, 4402, 4403, + 4407, 4409, 4411, 4413, 4415, 4417, 4422, 4427, 4428, 4426, + 4452, 4477, 4482, 4483, 4487, 4504, 4503, 4508, 4509, 4513, + 4518, 4517, 4532, 4549, 4554, 4598, 4599, 4603, 4604, 4604, + 4609, 4610, 4615, 4627, 4641, 4643, 4648, 4649, 4654, 4653, + 4689, 4690, 4797, 4798, 4799, 4800, 4801, 4818, 4911, 4912 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if YYDEBUG || 0 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "','", "':'", "'='", "TOK_EQV", - "TOK_NEQV", "TOK_OR", "TOK_XOR", "TOK_AND", "TOK_NOT", "TOK_LT", - "TOK_GT", "TOK_LE", "TOK_GE", "TOK_EQ", "TOK_NE", "TOK_DSLASH", "'+'", - "'-'", "'*'", "TOK_SLASH", "TOK_DASTER", "TOK_SEMICOLON", - "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", "TOK_INCLUDE", - "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", "TOK_LABEL_FORMAT", - "TOK_LABEL_CONTINUE", "TOK_LABEL_END_DO", "TOK_MAX", "TOK_TANH", - "TOK_COMMENT", "TOK_WHERE", "TOK_ELSEWHEREPAR", "TOK_ELSEWHERE", - "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", "TOK_NULL_PTR", "TOK_SUM", - "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", "TOK_FILE", "TOK_REC", - "TOK_NAME_EQ", "TOK_IOLENGTH", "TOK_ACCESS", "TOK_ACTION", "TOK_FORM", - "TOK_RECL", "TOK_STATUS", "TOK_UNIT", "TOK_OPENED", "TOK_FMT", "TOK_NML", - "TOK_END", "TOK_EOR", "TOK_EOF", "TOK_ERR", "TOK_POSITION", "TOK_IOSTAT", - "TOK_IOMSG", "TOK_EXIST", "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_LEN", - "TOK_COS", "TOK_COSH", "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", "TOK_SIN", - "TOK_SINH", "TOK_ASIN", "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", - "TOK_TAN", "TOK_ATAN", "TOK_RECURSIVE", "TOK_ABS", "TOK_MOD", "TOK_SIGN", - "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", "TOK_KIND", "TOK_MOLD", - "TOK_SOURCE", "TOK_ERRMSG", "TOK_MINVAL", "TOK_PUBLIC", "TOK_PRIVATE", - "TOK_ALLOCATABLE", "TOK_CONTIGUOUS", "TOK_RETURN", "TOK_THEN", - "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", "TOK_PRINT", "TOK_PLAINGOTO", - "TOK_LOGICALIF", "TOK_LOGICALIF_PAR", "TOK_PLAINDO", "TOK_CONTAINS", - "TOK_ENDDO", "TOK_MODULE", "TOK_ENDMODULE", "TOK_WHILE", - "TOK_CONCURRENT", "TOK_ALLOCATE", "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", - "TOK_WRITE_PAR", "TOK_WRITE", "TOK_FLUSH", "TOK_READ_PAR", "TOK_READ", - "TOK_REWIND", "TOK_DEALLOCATE", "TOK_NULLIFY", "TOK_DIMENSION", - "TOK_ENDSELECT", "TOK_EXTERNAL", "TOK_INTENT", "TOK_INTRINSIC", - "TOK_NAMELIST", "TOK_DEFAULT", "TOK_OPTIONAL", "TOK_POINTER", - "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", "TOK_IMPLICIT", "TOK_NONE", - "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", "TOK_COMMON", "TOK_GLOBAL", - "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", "TOK_PROCEDURE", "TOK_STOP", - "TOK_FOURDOTS", "TOK_HEXA", "TOK_ASSIGNTYPE", "TOK_OUT", "TOK_INOUT", - "TOK_IN", "TOK_USE", "TOK_EQUALEQUAL", "TOK_SLASHEQUAL", "TOK_INFEQUAL", + "\"end of file\"", "error", "\"invalid token\"", "'='", "'+'", "'-'", + "'*'", "TOK_SEMICOLON", "TOK_PARAMETER", "TOK_RESULT", "TOK_ONLY", + "TOK_INCLUDE", "TOK_SUBROUTINE", "TOK_PROGRAM", "TOK_FUNCTION", + "TOK_LABEL_FORMAT", "TOK_LABEL_CONTINUE", "TOK_LABEL_END_DO", "TOK_MAX", + "TOK_TANH", "TOK_COMMENT", "TOK_WHERE", "TOK_ELSEWHEREPAR", + "TOK_ELSEWHERE", "TOK_ENDWHERE", "TOK_MAXVAL", "TOK_TRIM", + "TOK_NULL_PTR", "TOK_SUM", "TOK_SQRT", "TOK_CASE", "TOK_SELECTCASE", + "TOK_FILE", "TOK_REC", "TOK_NAME_EQ", "TOK_IOLENGTH", "TOK_ACCESS", + "TOK_ACTION", "TOK_FORM", "TOK_RECL", "TOK_STATUS", "TOK_UNIT", + "TOK_OPENED", "TOK_FMT", "TOK_NML", "TOK_END", "TOK_EOR", "TOK_EOF", + "TOK_ERR", "TOK_POSITION", "TOK_IOSTAT", "TOK_IOMSG", "TOK_EXIST", + "TOK_MIN", "TOK_FLOAT", "TOK_EXP", "TOK_LEN", "TOK_COS", "TOK_COSH", + "TOK_ACOS", "TOK_NINT", "TOK_CYCLE", "TOK_SIN", "TOK_SINH", "TOK_ASIN", + "TOK_EQUIVALENCE", "TOK_BACKSPACE", "TOK_LOG", "TOK_TAN", "TOK_ATAN", + "TOK_RECURSIVE", "TOK_PURE", "TOK_IMPURE", "TOK_ELEMENTAL", "TOK_ABS", + "TOK_MOD", "TOK_SIGN", "TOK_MINLOC", "TOK_MAXLOC", "TOK_EXIT", + "TOK_KIND", "TOK_MOLD", "TOK_SOURCE", "TOK_ERRMSG", "TOK_MINVAL", + "TOK_PUBLIC", "TOK_PRIVATE", "TOK_ALLOCATABLE", "TOK_CONTIGUOUS", + "TOK_RETURN", "TOK_THEN", "TOK_ELSEIF", "TOK_ELSE", "TOK_ENDIF", + "TOK_PRINT", "TOK_PLAINGOTO", "TOK_LOGICALIF", "TOK_LOGICALIF_PAR", + "TOK_PLAINDO", "TOK_CONTAINS", "TOK_ENDDO", "TOK_MODULE", + "TOK_ENDMODULE", "TOK_WHILE", "TOK_CONCURRENT", "TOK_ALLOCATE", + "TOK_OPEN", "TOK_CLOSE", "TOK_INQUIRE", "TOK_WRITE_PAR", "TOK_WRITE", + "TOK_FLUSH", "TOK_READ_PAR", "TOK_READ", "TOK_REWIND", "TOK_DEALLOCATE", + "TOK_NULLIFY", "TOK_DIMENSION", "TOK_ENDSELECT", "TOK_EXTERNAL", + "TOK_INTENT", "TOK_INTRINSIC", "TOK_NAMELIST", "TOK_DEFAULT", + "TOK_OPTIONAL", "TOK_POINTER", "TOK_CONTINUE", "TOK_SAVE", "TOK_TARGET", + "TOK_IMPLICIT", "TOK_NONE", "TOK_CALL", "TOK_STAT", "TOK_POINT_TO", + "TOK_COMMON", "TOK_GLOBAL", "TOK_LEFTAB", "TOK_RIGHTAB", "TOK_PAUSE", + "TOK_PROCEDURE", "TOK_STOP", "TOK_FOURDOTS", "TOK_HEXA", + "TOK_ASSIGNTYPE", "TOK_OUT", "TOK_INOUT", "TOK_IN", "TOK_USE", + "TOK_DSLASH", "TOK_DASTER", "TOK_EQ", "TOK_EQV", "TOK_GT", "TOK_LT", + "TOK_GE", "TOK_NE", "TOK_NEQV", "TOK_LE", "TOK_OR", "TOK_XOR", "TOK_NOT", + "TOK_AND", "TOK_EQUALEQUAL", "TOK_SLASHEQUAL", "TOK_INFEQUAL", "TOK_SUPEQUAL", "TOK_TRUE", "TOK_FALSE", "TOK_LABEL", "TOK_LABEL_DJVIEW", "TOK_PLAINDO_LABEL_DJVIEW", "TOK_PLAINDO_LABEL", "TOK_TYPE", "TOK_TYPEPAR", "TOK_ENDTYPE", "TOK_COMMACOMPLEX", "TOK_REAL", @@ -925,15 +1695,15 @@ static const char *const yytname[] = "TOK_ENDFUNCTION", "TOK_ENDPROGRAM", "TOK_ENDUNIT", "TOK_CHARACTER", "TOK_CHAR_CONSTANT", "TOK_CHAR_CUT", "TOK_DATA", "TOK_CHAR_MESSAGE", "TOK_CSTREAL", "TOK_COMPLEX", "TOK_DOUBLECOMPLEX", "TOK_NAME", - "TOK_CSTINT", "'('", "')'", "'<'", "'>'", "'\\n'", "'/'", "'%'", "'_'", - "'['", "']'", "$accept", "input", "line", "line-break", - "suite_line_list", "suite_line", "fin_line", "program-unit", - "external-subprogram", "filename", "opt_comma", "uexpr", "signe", - "operation", "after_slash", "after_equal", "lhs", "beforefunctionuse", - "array_ele_substring_func_ref", "$@4", "$@5", "begin_array", "$@6", - "structure_component", "funarglist", "funargs", "funarg", "triplet", - "ident", "simple_const", "string_constant", "opt_substring", "opt_expr", - "specification-part", "opt-use-stmt-list", + "TOK_SLASH", "TOK_CSTINT", "','", "':'", "'('", "')'", "'<'", "'>'", + "'\\n'", "'/'", "'%'", "'_'", "'['", "']'", "$accept", "input", "line", + "line-break", "suite_line_list", "suite_line", "fin_line", + "program-unit", "external-subprogram", "filename", "opt_comma", "uexpr", + "signe", "operation", "after_slash", "after_equal", "lhs", + "beforefunctionuse", "array_ele_substring_func_ref", "$@4", "$@5", + "begin_array", "$@6", "structure_component", "funarglist", "funargs", + "funarg", "triplet", "ident", "simple_const", "string_constant", + "opt_substring", "opt_expr", "specification-part", "opt-use-stmt-list", "opt-declaration-construct-list", "declaration-construct-list", "declaration-construct", "opt-execution-part", "execution-part", "opt-execution-part-construct-list", "execution-part-construct-list", @@ -1074,38 +1844,15 @@ static const char *const yytname[] = "contains-stmt", "$@75", "opt_name", "after_rewind", "declare_after_percent", "pointer_name_list", YY_NULLPTR }; -#endif -# ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_int16 yytoknum[] = +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) { - 0, 256, 257, 44, 58, 61, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 43, - 45, 42, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 40, 41, 60, 62, 10, 47, - 37, 95, 91, 93 -}; -# endif + return yytname[yysymbol]; +} +#endif -#define YYPACT_NINF (-1417) +#define YYPACT_NINF (-1440) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -1115,1761 +1862,1739 @@ static const yytype_int16 yytoknum[] = #define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { - -1417, 1551, -1417, -1417, -1417, -21, 26, -1417, -1417, -1417, - 36, 734, -1417, -1417, 81, 230, -1417, -1417, -1417, -1417, - 801, -1417, 252, -1417, 252, 338, 602, -1417, -1417, 252, - -1417, 252, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, 231, 263, 294, -1417, -1417, -1417, 810, - -1417, -1417, 4236, 373, 252, -1417, 523, 4536, 385, 401, - -1417, -1417, 4536, 4536, -1417, 188, 188, 80, 80, 80, - 80, 147, 80, 1612, -1417, -1417, -1417, -1417, -1417, -1417, - 188, 412, -1417, -1417, 94, 316, 481, 619, -1417, -1417, - 94, 112, -1417, -1417, 910, -1417, 645, -1417, 460, -1417, - 4236, -1417, -1417, 515, 922, 490, -1417, -1417, -1417, 526, - 360, -1417, -1417, -1417, 587, -1417, -1417, 604, 615, -1417, - -1417, -1417, -1417, 370, 763, -1417, 612, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - 685, -1417, -1417, -1417, 873, 616, 633, 3106, 222, 494, - -44, 660, 662, -1417, 3951, 3996, 674, 678, 3732, 800, - 700, -1417, 4423, -1417, 1168, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, 830, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, 691, -1417, -1417, 693, -1417, 694, 700, 700, - 81, 81, 686, 3806, -1417, -1417, -1417, -1417, -1417, 319, - 1072, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, 4007, -1417, -1417, -1417, 688, 705, 4062, -1417, 93, - 896, -1417, -1417, -1417, 732, -1417, -1417, 490, -1417, 105, - -1417, -1417, 4007, -1417, -1417, 885, -1417, 598, 240, 1001, - 878, -1417, -1417, 905, 908, 701, 472, -1417, -1417, -1417, - -1417, 728, 737, 81, -1417, 103, -1417, -1417, 81, 450, - 188, 747, -1417, 117, -1417, -1417, 751, 752, 664, 81, - 188, 625, 753, 480, 394, 121, 525, -1417, -1417, -1417, - -1417, 323, -1417, -1417, 3732, 3772, 4062, 188, 944, 945, - 4062, 560, 221, -1417, 759, 481, 481, 224, 4086, 4062, - 805, 4062, 4062, 754, -1417, 4338, 238, 787, 852, 262, - -1417, -1417, -1417, 911, -1417, -1417, -1417, 4062, 4062, 313, - 460, -1417, -1417, 188, 188, 81, 188, -1417, -1417, -1417, - -1417, -1417, 765, 3006, -1417, 188, 3682, 188, -1417, 774, - 81, -1417, -1417, -1417, -1417, -1417, -1417, -1417, 188, 411, - 188, -1417, -1417, -1417, 4451, -1417, -1417, -1417, 4062, 779, - 3400, 3400, 3772, -1417, 804, 5, 89, -1417, -1417, 775, - 188, -1417, -1417, -1417, -1417, -1417, -1417, 970, 786, 1612, - -1417, -1417, 979, 982, 109, 4007, 842, 991, -1417, -1417, - -1417, 586, 586, 518, 826, -1417, 832, 835, 1001, 817, - 1612, 1612, -1417, 802, -1417, 1001, -1417, -1417, 1001, -1417, - -1417, 1001, 840, 598, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, 472, 472, -1417, - 4062, -1417, 4062, -1417, -1417, 4062, -1417, 824, 838, 927, - 412, 81, 833, -1417, -1417, 1028, 81, 117, 747, 81, - -1417, 122, -1417, 1012, -1417, 844, 845, -1417, 81, 1035, - -1417, -1417, 188, -1417, 851, -1417, 1044, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 125, 910, 910, 584, 4062, 94, - 94, 1581, 81, 188, -1417, 111, -1417, -1417, -1417, 131, - 854, 81, 939, 4062, 868, 1061, -1417, 266, 892, 609, - -1417, -1417, 1222, 880, 915, 1070, 188, -1417, 1074, -1417, - -1417, 887, 244, -1417, 891, 159, -1417, -1417, 107, 881, - -1417, -1417, -1417, -1417, 188, 1082, -1417, 123, 127, -1417, - -1417, 927, 188, 893, 774, -1417, -1417, 94, 1083, 985, - 1850, -1417, -1417, -1417, -1417, -10, -1417, 432, -1417, 909, - 716, -1417, -1417, 974, -1417, 913, 188, 934, -1417, -1417, - -1417, 929, 930, 81, 81, 81, 774, 3542, 3095, 4062, - 494, 927, 927, 817, -1417, 129, -1417, 81, 4062, 494, - 927, 927, -1417, 130, -1417, 81, 774, -1417, 136, 81, - 936, 563, -1417, 949, -1417, 946, -1417, -1417, 1137, 3843, - 3772, 954, 494, 494, 494, 927, 927, -1417, -1417, -1417, - -1417, -1417, -1417, 137, -1417, -1417, -1417, 141, 167, 382, - 927, -1417, -1417, -1417, 1110, -1417, -1417, -1417, -1417, 363, - 962, -1417, -1417, -1417, -1417, 4062, 81, 223, 188, 223, - 972, -1417, 981, -1417, 4062, -1417, 975, 1612, 4062, 4062, - -1417, 1162, 817, -1417, 4007, -1417, -1417, -1417, -1417, 84, - 994, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, 598, - 240, 1153, -1417, 905, 908, -1417, 4062, 1167, 144, -1417, - 452, 1171, -1417, -1417, 984, -1417, -1417, 4062, -1417, 4062, - 81, -1417, 751, 81, 774, 1158, 988, 1185, -1417, 625, - 81, 999, 394, 188, 910, -1417, -1417, 998, -1417, 1175, - -1417, -1417, 215, -1417, 1004, -1417, -1417, 692, -1417, 1175, - -1417, 1178, 542, -1417, 1005, 81, 188, 81, 188, 1741, - 494, 4062, 116, 154, -1417, -1417, 115, -1417, 81, 4115, - 81, 1097, 4062, 188, -1417, 4062, 958, -1417, 774, 404, - -1417, -1417, -1417, -1417, -1417, 1008, -1417, 1010, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, 1202, -1417, 1013, -1417, - 1222, 81, 759, 1015, 1203, -1417, -1417, -1417, 1207, -1417, - -1417, -1417, 188, 1019, 526, 81, 1020, 81, 4062, 4062, - -1417, 4062, 1068, -1417, 188, 81, -1417, -1417, 81, 188, - 1046, 418, 1024, 4145, 1027, 1036, 927, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 787, -1417, -1417, 1084, 4062, 442, - -1417, 649, -1417, -1417, -1417, -1417, 1071, 1224, 81, 1113, - 603, -1417, -1417, -1417, -1417, 1227, -1417, 1031, 4062, 4062, - 4062, 4062, 4062, 1226, 4062, 494, 4062, 927, 927, -1417, - 166, -1417, 4062, 1228, 927, 927, 927, 927, 4062, 927, - 494, 927, 927, 927, -1417, 169, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, 3006, 188, -1417, -1417, - -1417, -1417, 3682, 188, -1417, 1229, 774, -1417, 4062, -1417, - 938, -1417, -1417, -1417, 1204, 4564, 2184, 4062, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, 3400, 4115, - 943, 943, 81, -1417, -1417, 4062, 783, -1417, 1827, 188, - 81, -1417, 188, 188, 93, 1230, -1417, -1417, 171, -1417, - -1417, -1417, -1417, -1417, 1041, 1234, -1417, 81, 1045, 1211, - 1214, 1049, -1417, 175, 176, 1050, 4007, -1417, -1417, -1417, - -1417, -1417, 1051, 189, 4062, 838, -1417, 927, 4062, 1055, - 1248, -1417, -1417, 1249, -1417, -1417, -1417, -1417, 845, 670, - -1417, -1417, 195, -1417, 132, -1417, 1250, -1417, 81, -1417, - 1612, 534, -1417, -1417, 3502, 584, -1417, -1417, -1417, -1417, - 1152, 81, 81, 4062, 1255, -1417, -1417, 3872, 1581, -1417, - 1873, 4062, -1417, 4115, -1417, 185, -1417, -1417, 188, 1075, - 81, -1417, -1417, -1417, 1073, -1417, 269, -1417, -1417, 1078, - 187, -1417, 188, 81, -1417, -1417, 880, 188, -1417, 1252, - -1417, -1417, -1417, 1077, 188, 188, 244, 81, 1258, 198, - -1417, -1417, -1417, -1417, -1417, -1417, 1271, -1417, 1279, -1417, - 927, 81, 81, 94, 188, 81, 4062, 3336, 3039, 3645, - -1417, 774, 4062, 4649, -1417, 787, 1090, 188, 81, 445, - -1417, -1417, -1417, -1417, 96, -1417, -1417, 1094, 81, -1417, - 188, 350, 1098, 4062, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, 4062, -1417, -1417, -1417, -1417, -1417, 3542, -1417, - -1417, 927, 1101, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 3592, -1417, -1417, 81, -1417, 81, - 419, 1102, -1417, 1103, -1417, -1417, 1100, -1417, 1365, 258, - 1285, 4062, 494, 927, 927, -1417, 201, -1417, -1417, -1417, - 188, 1296, 4115, -1417, 188, 1297, -1417, -1417, 191, 1107, - 471, 506, -1417, -1417, 804, 4062, -1417, 203, -1417, 1299, - 81, 188, 81, 81, 4062, 4062, -1417, -1417, 223, 1278, - -1417, 1094, -1417, 1094, -1417, 1212, -1417, 1232, -1417, -1417, - 132, 1112, 1304, -1417, -1417, -1417, -1417, -1417, -1417, 188, - 205, -1417, 1116, -1417, 4062, 774, 193, 2068, -1417, 188, - 664, 999, 188, 4062, 84, 521, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, 1307, 207, - -1417, -1417, 1115, -1417, -1417, -1417, -1417, 188, -1417, 4062, - 494, -1417, -1417, 4062, 1312, -1417, 817, -1417, 1317, -1417, - 4115, 81, 81, 1223, -1417, 958, -1417, 2169, 1252, 774, - 81, 81, 2068, 634, -1417, 81, 2068, 319, 124, 2068, - 1132, 81, 81, -1417, 1136, 1019, -1417, -1417, 4062, 188, - 81, 188, 81, 1135, 4062, -1417, -1417, -1417, -1417, -1417, - 558, 571, 776, 828, 876, 537, 610, 1138, 4062, 1134, - -1417, 927, 1141, 476, 1140, 948, 1676, 210, 1142, -1417, - 1236, 81, 188, 81, 1332, 1194, 1340, -1417, 188, -1417, - -1417, 81, 927, 1341, 1342, -1417, -1417, -1417, 211, -1417, - 4062, 1345, -1417, -1417, 188, -1417, 4115, -1417, 188, 927, - 1346, -1417, 1347, -1417, -1417, -1417, -1417, -1417, 4062, 494, - 4062, -1417, -1417, -1417, -1417, 2184, 188, 81, 188, 81, - 943, 188, 81, 545, 188, 81, 188, 81, 804, -1417, - 1827, -1417, 4062, 81, 460, -1417, -1417, 188, -1417, 1165, - -1417, -1417, -1417, -1417, 1357, 1360, -1417, 4062, 81, 927, - -1417, -1417, 1349, -1417, 81, 1344, -1417, 1172, 1369, -1417, - 1370, -1417, 1373, -1417, 1376, -1417, -1417, 4062, 1352, 1377, - -1417, -1417, 1379, 81, -1417, -1417, 81, 1378, -1417, -1417, - 4086, 4086, -1417, 81, -1417, -1417, -1417, 4062, 4115, -1417, - 188, 2169, -1417, -1417, 1189, 1383, 1384, 1376, 228, -1417, - 1192, -1417, -1417, -1417, 1195, 1196, -1417, 4062, 640, -1417, - -1417, 1198, -1417, -1417, -1417, 81, 81, 735, -1417, -1417, - -1417, -1417, -1417, -1417, 984, -1417, 261, -1417, -1417, 1200, - -1417, -1417, 2694, 4062, 4062, 4062, 4062, 4062, 4062, 4062, - 4062, 4062, 4062, 4062, 4062, 4062, 4062, 2635, 4062, 2760, - 2919, -1417, -1417, 4649, 589, 81, 1197, 1208, 1209, 81, - 188, -1417, -1417, 927, 19, 188, 4062, -1417, -1417, -1417, - 81, 1296, 81, -1417, 927, 25, 188, 188, 188, 1201, - 1392, -1417, -1417, 81, 81, -1417, 81, 188, 81, 81, - 81, -1417, -1417, 81, 1213, 188, -1417, 188, 4062, 1612, - 1400, -1417, 4062, 1215, -1417, 4062, 3922, 2318, 1402, 1404, - 1389, -1417, -1417, 4062, 845, 4062, -1417, -1417, -1417, 1399, - -1417, 1216, 81, 1217, -1417, 4062, 4062, 4062, 640, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, 2068, - 28, -1417, -1417, -1417, 4062, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, 4062, 4062, -1417, -1417, -1417, 4062, -1417, 4062, -1417, - 188, 81, 1194, -1417, -1417, 1410, -1417, -1417, -1417, -1417, - -1417, 81, -1417, -1417, -1417, 81, -1417, 188, -1417, -1417, - 81, 81, 81, 4649, 494, 81, 1219, 81, 188, 81, - 1220, 1221, 4062, -1417, 1395, -1417, -1417, -1417, -1417, 1414, - -1417, -1417, -1417, -1417, -1417, 1185, 216, 4062, -1417, -1417, - -1417, -1417, -1417, 1233, 1134, 1235, 2355, 1237, 1238, 1239, - -1417, -1417, -1417, -1417, -1417, 81, 188, 1197, 81, 188, - -1417, 81, -1417, -1417, 1416, 774, -1417, 4062, -1417, 1417, - -1417, -1417, 2410, 1418, -1417, -1417, 1419, -1417, 927, -1417, - 81, -1417, 81, 4062, -1417, 1240, 4062, 4062, 1420, 2355, - 4062, -1417, -1417, -1417, 1437, -1417, 4062, -1417, 1438, 4062, - -1417, 4062, -1417, -1417 + -1440, 2775, -1440, -1440, -1440, -55, -33, -1440, -1440, -1440, + -1440, -1440, -1440, -4, 648, -1440, -1440, 84, 162, -1440, + -1440, -1440, -1440, 884, -1440, 251, -1440, 251, 597, 722, + -1440, -1440, 251, -1440, 251, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, 68, 294, 301, -1440, + -1440, -1440, 1467, -1440, -1440, 4104, 280, 251, -1440, 362, + 4442, 317, 328, -1440, -1440, 4442, 4442, -1440, 101, 101, + 147, 147, 147, 147, 152, 147, 2386, -1440, -1440, -1440, + -1440, -1440, -1440, 101, 390, -1440, -1440, 80, -2, 484, + 360, -1440, -1440, 80, -15, -1440, -1440, 704, -1440, 440, + -1440, 494, -1440, 4104, -1440, -1440, 508, 516, 510, -1440, + -1440, -1440, 467, -1, -1440, -1440, -1440, 612, -1440, -1440, + 614, 608, -1440, -1440, -1440, -1440, -29, 749, -1440, 572, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, 683, -1440, -1440, -1440, 1033, 605, 607, + 3128, 103, -59, 315, 611, 619, -1440, 3707, 3750, 632, + 650, 3198, 645, 756, -1440, 4322, -1440, 860, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + 840, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, 675, -1440, -1440, 682, -1440, + 696, 756, 756, 84, 84, 693, 578, -1440, -1440, -1440, + -1440, -1440, 465, 2880, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, 3783, -1440, -1440, -1440, -1440, 700, 707, -1440, + 3816, -1440, 118, 874, -1440, -1440, -1440, 740, -1440, -1440, + 510, -1440, 476, -1440, -1440, 3783, -1440, -1440, 789, -1440, + 179, 96, 2032, 1765, -1440, -1440, 790, 786, 487, 1848, + -1440, -1440, -1440, -1440, 755, 759, 84, -1440, 110, -1440, + -1440, 84, 33, 101, 769, -1440, 117, -1440, -1440, 778, + 791, 365, 84, 101, 443, 792, 295, 458, 136, 219, + -1440, -1440, -1440, -1440, 318, -1440, -1440, 3198, 3032, 3816, + 101, 801, 982, 3816, 525, 76, -1440, 812, 484, 484, + 403, 3859, 3816, 878, 3816, 3816, 804, -1440, 4224, 496, + 847, 928, 263, -1440, -1440, -1440, 1096, -1440, -1440, -1440, + 3816, 3816, 127, 494, -1440, -1440, 101, 101, 84, 101, + -1440, -1440, -1440, -1440, -1440, 823, 2894, -1440, 101, 2962, + 101, -1440, 831, 84, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, 101, 464, 101, -1440, -1440, -1440, 4344, -1440, -1440, + -1440, 3816, 828, 2250, 2250, 3032, -1440, 445, -18, 77, + -1440, -1440, 829, 101, -1440, -1440, -1440, -1440, -1440, -1440, + 1023, 836, 2386, -1440, -1440, 1035, 1037, 497, 3783, 899, + 846, -1440, -1440, -1440, 481, 481, -53, 867, -1440, 871, + 879, 2032, 855, 2386, 2386, -1440, 850, -1440, 2032, -1440, + -1440, 2032, -1440, -1440, 2032, 882, 179, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + 1848, 1848, -1440, 3816, -1440, 3816, -1440, -1440, 3816, -1440, + 861, 866, 774, 390, 84, 869, -1440, -1440, 1061, 84, + 117, 769, 84, -1440, 145, -1440, 883, -1440, 885, 887, + -1440, 84, 876, -1440, -1440, 101, -1440, 890, -1440, 880, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, 160, 704, 534, + 704, 3816, 80, 80, 2715, 84, 101, -1440, 99, -1440, + -1440, -1440, 163, 886, 84, 984, 3816, 893, 896, -1440, + 302, 920, 559, -1440, -1440, 1172, 905, 957, 916, 101, + -1440, 917, -1440, -1440, 921, 386, -1440, 918, 164, -1440, + -1440, 424, 911, -1440, -1440, -1440, -1440, 101, 923, -1440, + 526, 548, -1440, -1440, 774, 101, 919, 831, -1440, -1440, + 80, 930, 1024, 1449, -1440, -1440, -1440, -1440, 299, -1440, + 19, -1440, 931, 669, -1440, -1440, -1440, 1016, 939, 101, + 961, -1440, -1440, -1440, 942, 947, 84, 84, 84, 831, + 1902, 1834, 3816, -59, 774, 774, 855, -1440, 570, -1440, + 84, 3816, -59, 774, 774, -1440, 581, -1440, 84, 831, + -1440, 593, 84, 950, 187, -1440, 966, -1440, 956, -1440, + -1440, 1152, 2371, 3032, 965, -59, -59, -59, 774, 774, + -1440, -1440, -1440, -1440, -1440, -1440, 615, -1440, -1440, -1440, + 633, 174, 213, 774, -1440, -1440, -1440, 1137, -1440, -1440, + -1440, -1440, 135, 970, -1440, -1440, -1440, -1440, 3816, 84, + 209, 101, 209, 980, -1440, 981, -1440, 3816, -1440, 967, + 2386, 3816, 3816, -1440, 979, 855, -1440, 3783, -1440, -1440, + -1440, -1440, 429, 1003, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, 179, 96, 1034, -1440, 790, 786, -1440, 3816, + 1185, 644, -1440, 183, 994, -1440, -1440, 993, -1440, -1440, + 3816, -1440, 3816, 84, -1440, 778, 84, 831, 1007, 1004, + 1014, -1440, 443, 84, 1018, 458, 101, 704, -1440, 1021, + -1440, 1218, -1440, -1440, 156, -1440, 1030, -1440, -1440, 532, + -1440, 1218, -1440, 1229, 463, -1440, -1440, 1038, 84, 101, + 84, 101, -59, 3816, 1167, 129, 666, -1440, -1440, -23, + -1440, 84, 3901, 84, 1150, 3816, 101, -1440, 3816, -1440, + 630, 831, 165, -1440, -1440, -1440, -1440, -1440, 1046, -1440, + 1047, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, 1050, + -1440, 1049, -1440, 1172, 84, 812, 1051, 1052, -1440, -1440, + -1440, 1056, -1440, -1440, -1440, 101, 1060, 467, 84, 1063, + 84, 3816, 3816, -1440, 3816, 1123, -1440, 101, 84, -1440, + -1440, 84, 101, 1091, 199, 1073, 3916, 1074, 809, 774, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, 847, -1440, -1440, + 1146, 3816, 201, -1440, 680, -1440, -1440, -1440, -1440, 1132, + 1079, 84, 1174, 131, -1440, -1440, -1440, -1440, 1081, -1440, + 1086, 3816, 3816, 3816, 3816, 3816, 1282, 3816, -59, 3816, + 774, 774, -1440, 673, -1440, 3816, 1283, 774, 774, 774, + 774, 3816, 774, -59, 774, 774, 774, -1440, 690, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, 2894, + 101, -1440, -1440, -1440, -1440, 2962, 101, -1440, 1095, 831, + -1440, 3816, -1440, 1121, -1440, -1440, -1440, 1285, 4386, 2729, + 3816, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, 2250, 3901, 751, 751, 84, -1440, -1440, 3816, 754, + -1440, 1801, 101, 84, -1440, 101, 101, 118, 1292, -1440, + -1440, 699, -1440, -1440, -1440, -1440, -1440, 1104, 1110, -1440, + 84, 1108, 1293, 1296, 1111, -1440, 714, 715, 1113, 3783, + -1440, -1440, -1440, -1440, -1440, 1114, 725, 3816, 866, -1440, + 774, 3816, 1115, 1120, -1440, -1440, 1125, -1440, -1440, -1440, + -1440, 887, 278, -1440, -1440, 736, -1440, 142, -1440, 1313, + -1440, 84, -1440, 2386, 475, -1440, -1440, 3242, -1440, 534, + -1440, -1440, -1440, 1231, 84, 84, -1440, -1440, 3816, 1126, + 3401, 2715, -1440, 3816, 3415, -1440, 3901, -1440, 202, -1440, + -1440, 101, 1128, 84, -1440, -1440, -1440, 1127, -1440, 316, + -1440, -1440, 1131, 222, -1440, 101, 84, -1440, -1440, 905, + 101, -1440, 1317, -1440, -1440, -1440, 1138, 101, 101, 386, + 84, 1327, 747, -1440, -1440, -1440, -1440, -1440, -1440, 1139, + -1440, 1140, -1440, 774, 84, 84, 80, 101, 84, 3816, + 4010, 3992, 1045, -1440, 831, 3816, 4538, -1440, 847, 1142, + 101, 84, 207, -1440, -1440, -1440, -1440, 176, -1440, -1440, + 1145, 84, -1440, 101, 28, 1143, 3816, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, 3816, -1440, -1440, -1440, -1440, + -1440, 1902, -1440, -1440, 774, 1147, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, 2491, -1440, -1440, + 84, -1440, 84, 31, 1148, -1440, 1151, -1440, -1440, 1158, + -1440, 976, 668, 1348, 3816, -59, 774, 774, -1440, 773, + -1440, -1440, -1440, 101, 1162, 3901, -1440, 101, 1165, -1440, + -1440, 227, 1164, 229, 399, -1440, -1440, 445, 3816, -1440, + 779, -1440, 1169, 84, 101, 84, 84, 3816, 3816, -1440, + -1440, 209, 1357, -1440, 1145, -1440, 1145, -1440, 1287, -1440, + 1318, -1440, -1440, 142, 1175, 1373, -1440, -1440, -1440, -1440, + -1440, -1440, 101, 783, -1440, 1181, -1440, 3816, 831, 282, + 3472, -1440, 101, 365, 1018, 101, 3816, 429, 370, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, 1377, 794, -1440, -1440, 1178, -1440, -1440, -1440, -1440, + 101, -1440, 3816, -59, -1440, -1440, -1440, 3816, 1187, 855, + -1440, 1189, -1440, 3901, 84, 84, 1297, -1440, -1440, 630, + 3486, 1317, 831, 84, 84, 3472, 781, -1440, 84, 3472, + 465, 91, 3472, 1191, 84, 84, -1440, 1194, 1060, -1440, + -1440, 3816, 101, 84, 101, 84, 1192, -1440, -1440, -1440, + -1440, -1440, 3816, 412, 414, 845, 944, 1040, 478, 486, + 1193, 3816, 1186, -1440, 774, 1196, 451, 1202, 802, 1261, + 798, 1197, -1440, 1306, 84, 101, 84, 1204, 1268, 1208, + -1440, 101, -1440, -1440, 84, 774, 1401, 1210, -1440, -1440, + -1440, 803, -1440, 3816, 1211, -1440, -1440, 101, -1440, 3901, + -1440, 101, 774, 1403, -1440, 1213, -1440, -1440, -1440, -1440, + -1440, 3816, -59, 3816, -1440, -1440, -1440, -1440, 2729, 101, + 84, 101, 84, 751, 101, 84, 400, 101, 84, 101, + 84, 445, -1440, 1801, -1440, 3816, 84, 494, -1440, -1440, + 101, -1440, 1224, -1440, -1440, -1440, -1440, 1420, 1421, -1440, + 3816, 84, 774, -1440, -1440, 1233, -1440, 84, 1236, -1440, + 1234, 1238, -1440, 1239, -1440, 1245, -1440, 1247, -1440, -1440, + 3816, 1428, 1248, -1440, -1440, 1250, 84, -1440, -1440, 84, + 1249, -1440, -1440, 3859, 3859, -1440, 84, -1440, -1440, -1440, + 3816, 3901, -1440, 101, 3486, -1440, -1440, 1251, 1252, 1255, + 1247, 100, -1440, 1257, -1440, -1440, -1440, 1258, 1260, -1440, + 3816, 320, -1440, -1440, 1264, -1440, -1440, -1440, 84, 84, + 613, -1440, -1440, -1440, -1440, -1440, -1440, 993, -1440, 249, + -1440, -1440, 1256, -1440, -1440, 1496, 3816, 3816, 3816, 3816, + 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, + 3816, 1010, 1569, 1615, -1440, -1440, 4538, 402, 84, 1272, + 1275, 1276, 84, 101, -1440, -1440, 774, 72, 101, 3816, + -1440, -1440, -1440, 84, 1162, 84, -1440, 774, 300, 101, + 101, 101, 1271, 1253, -1440, -1440, 84, 84, -1440, 84, + 101, 84, 84, 84, -1440, -1440, 84, 1281, 101, -1440, + 101, 3816, 2386, 1279, -1440, 3816, 1284, -1440, 3816, 3529, + 3609, 1288, 1290, 1469, -1440, -1440, 3816, 887, 3816, -1440, + -1440, -1440, 1474, -1440, 1291, 84, 1294, -1440, 3816, 3816, + 3816, 320, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, 3472, 27, -1440, -1440, -1440, 3816, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, 3816, 3816, -1440, -1440, 3816, + -1440, 3816, -1440, 101, 84, 1268, -1440, -1440, 1299, -1440, + -1440, -1440, -1440, -1440, 84, -1440, -1440, -1440, 84, -1440, + 101, -1440, -1440, 84, 84, 84, 4538, -59, 84, 1307, + 84, 101, 84, 1308, 1309, 3816, -1440, 1295, -1440, -1440, + -1440, -1440, 1312, -1440, -1440, -1440, -1440, -1440, 1014, 814, + 3816, -1440, -1440, -1440, -1440, -1440, 1311, 1186, 1286, 3650, + 1315, 1316, 1320, -1440, -1440, -1440, -1440, -1440, 84, 101, + 1272, 84, 101, -1440, 84, -1440, -1440, 1300, 831, -1440, + 3816, -1440, 1324, -1440, -1440, 3693, 1325, -1440, -1440, 1314, + -1440, 774, -1440, 84, -1440, 84, 3816, -1440, 1323, 3816, + 3816, 1319, 3650, 3816, -1440, -1440, -1440, 1329, -1440, 3816, + -1440, 1326, 3816, -1440, 3816, -1440, -1440 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_int16 yydefact[] = { 2, 0, 1, 6, 8, 0, 0, 17, 9, 1032, - 1031, 0, 18, 3, 4, 5, 12, 15, 20, 1030, - 0, 21, 106, 19, 106, 0, 202, 1028, 22, 106, - 23, 106, 24, 18, 973, 941, 208, 206, 216, 210, - 214, 212, 88, 306, 0, 0, 7, 11, 18, 202, - 203, 970, 108, 0, 107, 956, 192, 192, 0, 0, - 1031, 1029, 192, 192, 16, 0, 0, 218, 218, 218, - 218, 242, 218, 0, 204, 205, 10, 13, 14, 457, - 0, 0, 368, 369, 25, 0, 466, 0, 503, 194, - 25, 264, 255, 257, 0, 256, 88, 195, 541, 105, - 109, 110, 116, 0, 193, 0, 112, 260, 117, 202, - 404, 143, 145, 146, 0, 113, 151, 0, 0, 115, - 150, 147, 144, 525, 0, 523, 534, 539, 522, 520, - 521, 118, 119, 120, 711, 709, 709, 712, 738, 739, - 121, 709, 122, 124, 114, 148, 149, 123, 958, 957, - 0, 193, 937, 940, 202, 0, 0, 103, 0, 0, - 0, 0, 0, 921, 0, 0, 0, 0, 0, 88, - 134, 126, 192, 152, 0, 157, 163, 158, 173, 179, - 156, 689, 153, 162, 155, 170, 154, 788, 165, 164, - 181, 161, 178, 172, 160, 175, 180, 174, 177, 166, - 171, 159, 1007, 176, 1049, 1054, 1037, 0, 134, 134, - 974, 942, 0, 0, 209, 219, 207, 217, 211, 0, - 0, 215, 243, 244, 213, 201, 650, 623, 624, 200, - 1017, 0, 258, 259, 1018, 231, 225, 0, 324, 541, - 0, 606, 310, 618, 186, 187, 189, 190, 188, 0, - 308, 607, 0, 605, 610, 611, 613, 615, 625, 0, - 628, 642, 644, 646, 648, 655, 0, 658, 661, 199, - 608, 0, 0, 936, 496, 0, 494, 26, 725, 0, - 0, 0, 999, 0, 997, 467, 0, 0, 506, 717, - 0, 0, 0, 0, 0, 510, 0, 417, 422, 525, - 421, 0, 542, 111, 0, 0, 0, 0, 88, 0, - 659, 202, 337, 402, 0, 466, 466, 202, 0, 0, - 0, 0, 659, 538, 733, 192, 196, 196, 769, 963, - 1065, 476, 949, 202, 952, 954, 955, 0, 0, 88, - 541, 167, 104, 0, 0, 812, 0, 1068, 1067, 169, - 569, 826, 0, 0, 824, 0, 0, 0, 594, 0, - 817, 657, 665, 667, 819, 664, 820, 666, 0, 0, - 0, 975, 135, 127, 192, 130, 132, 133, 0, 0, - 0, 0, 0, 1014, 691, 0, 0, 789, 709, 1011, - 0, 1055, 1047, 1034, 476, 476, 222, 0, 0, 0, - 254, 251, 0, 0, 0, 0, 0, 323, 326, 329, - 328, 0, 0, 541, 618, 235, 187, 0, 0, 0, - 0, 0, 307, 0, 620, 0, 621, 622, 0, 619, - 223, 0, 186, 616, 632, 634, 633, 635, 630, 631, - 627, 636, 637, 639, 641, 638, 640, 0, 0, 651, - 0, 652, 0, 653, 654, 0, 643, 1005, 0, 0, - 0, 493, 0, 707, 732, 0, 727, 0, 0, 995, - 1003, 0, 1001, 0, 508, 0, 0, 507, 719, 267, - 268, 270, 0, 265, 0, 429, 0, 425, 545, 428, - 544, 427, 511, 410, 510, 0, 0, 0, 0, 25, - 25, 549, 1063, 0, 884, 225, 883, 657, 882, 0, - 0, 816, 0, 0, 0, 0, 660, 282, 0, 202, - 278, 280, 0, 0, 0, 340, 0, 408, 405, 406, - 409, 0, 468, 478, 0, 0, 480, 88, 605, 0, - 524, 684, 685, 686, 0, 0, 592, 0, 0, 675, - 677, 0, 0, 0, 0, 710, 198, 25, 0, 0, - 192, 709, 714, 734, 740, 0, 760, 192, 715, 0, - 773, 770, 709, 0, 964, 0, 0, 0, 938, 953, - 700, 0, 0, 767, 813, 814, 0, 0, 0, 0, - 0, 0, 0, 658, 912, 0, 910, 908, 0, 0, - 0, 0, 903, 0, 901, 899, 0, 1075, 0, 818, - 0, 202, 968, 0, 131, 0, 845, 822, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 88, 529, 825, - 870, 821, 823, 0, 873, 867, 872, 0, 0, 0, - 0, 699, 697, 698, 693, 690, 696, 804, 802, 0, - 798, 790, 787, 791, 1009, 0, 1008, 1057, 0, 1057, - 0, 1033, 0, 1046, 0, 220, 0, 0, 0, 0, - 249, 0, 328, 321, 0, 228, 227, 232, 226, 0, - 187, 609, 311, 309, 325, 322, 186, 612, 614, 617, - 626, 629, 645, 647, 649, 1004, 0, 0, 0, 460, - 526, 0, 500, 502, 534, 501, 495, 0, 731, 0, - 996, 998, 0, 1000, 0, 0, 517, 512, 515, 0, - 262, 0, 0, 0, 0, 414, 418, 541, 434, 223, - 435, 229, 439, 437, 0, 438, 436, 0, 419, 439, - 448, 305, 0, 367, 0, 724, 0, 716, 0, 553, - 0, 0, 541, 0, 550, 558, 567, 568, 1064, 0, - 865, 0, 0, 0, 536, 659, 0, 283, 0, 0, - 261, 279, 353, 344, 345, 0, 348, 0, 351, 352, - 354, 355, 356, 341, 343, 361, 335, 357, 370, 338, - 0, 403, 0, 0, 451, 360, 472, 464, 469, 470, - 473, 474, 0, 0, 202, 477, 0, 672, 679, 0, - 674, 0, 0, 681, 0, 668, 535, 540, 721, 0, - 0, 0, 0, 0, 0, 0, 193, 742, 746, 743, - 757, 741, 751, 748, 735, 753, 745, 755, 758, 754, - 756, 747, 752, 744, 761, 709, 759, 0, 0, 0, - 771, 0, 774, 709, 772, 982, 0, 983, 1066, 945, - 0, 794, 583, 545, 584, 572, 580, 585, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 831, - 0, 829, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 924, 0, 922, 913, 916, 533, - 914, 532, 531, 844, 530, 915, 0, 0, 904, 907, - 906, 905, 0, 0, 597, 599, 0, 168, 0, 136, - 202, 139, 141, 142, 978, 192, 0, 0, 822, 871, - 875, 869, 874, 876, 877, 878, 880, 879, 0, 861, - 855, 0, 859, 1016, 1015, 0, 0, 689, 0, 0, - 796, 800, 0, 0, 541, 0, 1024, 1023, 0, 1019, - 1021, 1062, 1038, 1061, 0, 1058, 1059, 1048, 0, 1044, - 1052, 0, 253, 0, 0, 0, 0, 327, 191, 239, - 237, 238, 0, 0, 0, 0, 458, 0, 659, 0, - 0, 1002, 526, 488, 490, 492, 509, 518, 0, 504, - 269, 273, 0, 271, 541, 426, 0, 430, 411, 415, - 542, 0, 432, 433, 0, 0, 416, 431, 224, 230, - 0, 726, 718, 0, 554, 561, 557, 0, 0, 543, - 562, 0, 552, 0, 891, 0, 889, 892, 0, 0, - 669, 537, 288, 289, 0, 292, 0, 285, 287, 296, - 0, 293, 0, 274, 346, 349, 0, 0, 371, 240, - 342, 407, 453, 0, 0, 0, 0, 479, 485, 0, - 483, 481, 682, 683, 680, 593, 0, 676, 0, 678, - 0, 670, 723, 25, 0, 736, 0, 1073, 1071, 0, - 749, 0, 0, 192, 763, 762, 0, 0, 782, 0, - 775, 768, 776, 965, 0, 959, 946, 947, 695, 687, - 0, 0, 0, 0, 582, 843, 656, 836, 833, 834, - 837, 841, 0, 832, 835, 840, 839, 838, 0, 827, - 926, 0, 0, 927, 928, 935, 925, 528, 934, 527, - 929, 932, 931, 930, 0, 917, 911, 909, 902, 900, - 0, 0, 1076, 0, 140, 979, 980, 786, 0, 193, - 0, 0, 0, 0, 0, 849, 0, 847, 881, 868, - 0, 863, 0, 887, 0, 857, 885, 888, 0, 0, - 0, 0, 689, 688, 692, 0, 811, 0, 805, 807, - 797, 0, 799, 1010, 0, 0, 1012, 1056, 0, 1039, - 1045, 947, 1053, 947, 221, 0, 250, 0, 247, 246, - 541, 0, 0, 333, 233, 1006, 663, 462, 461, 0, - 0, 498, 0, 730, 0, 0, 510, 392, 516, 0, - 0, 0, 0, 0, 0, 191, 441, 183, 184, 185, - 443, 444, 446, 447, 445, 440, 442, 312, 0, 0, - 314, 316, 681, 318, 319, 320, 420, 0, 555, 0, - 0, 559, 551, 0, 563, 566, 891, 896, 0, 894, - 0, 866, 779, 0, 290, 0, 284, 0, 240, 0, - 281, 275, 392, 0, 358, 336, 392, 0, 362, 392, - 0, 452, 465, 471, 0, 0, 482, 679, 0, 0, - 720, 0, 737, 0, 0, 32, 33, 91, 71, 94, - 258, 259, 255, 257, 256, 231, 225, 0, 0, 27, - 63, 65, 62, 541, 28, 101, 658, 0, 0, 764, - 0, 783, 0, 784, 0, 0, 984, 985, 0, 948, - 943, 795, 0, 0, 573, 574, 581, 570, 0, 587, - 0, 0, 842, 830, 0, 933, 0, 923, 0, 0, - 0, 598, 600, 601, 595, 792, 981, 976, 0, 0, - 0, 850, 853, 852, 851, 0, 0, 862, 0, 856, - 0, 0, 860, 0, 0, 703, 0, 705, 694, 809, - 0, 803, 808, 801, 541, 1022, 1020, 0, 1060, 0, - 1035, 1040, 1051, 1051, 0, 0, 330, 0, 459, 0, - 497, 535, 728, 491, 487, 0, 386, 0, 373, 378, - 0, 381, 374, 384, 375, 388, 376, 394, 0, 377, - 396, 662, 383, 505, 513, 272, 263, 0, 236, 234, - 0, 0, 313, 777, 556, 560, 564, 0, 0, 890, - 0, 0, 286, 390, 0, 298, 0, 299, 300, 294, - 0, 400, 401, 399, 0, 0, 241, 0, 0, 359, - 363, 0, 455, 486, 484, 671, 722, 0, 31, 1070, - 1072, 30, 1074, 66, 534, 67, 72, 1069, 95, 98, - 96, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, - 0, 29, 750, 192, 0, 785, 966, 0, 0, 960, - 0, 579, 576, 0, 0, 0, 0, 586, 589, 591, - 828, 919, 918, 603, 0, 0, 0, 0, 0, 0, - 0, 854, 848, 846, 864, 886, 858, 0, 701, 704, - 706, 806, 810, 1013, 0, 0, 1042, 0, 0, 0, - 0, 499, 0, 0, 519, 393, 387, 0, 0, 0, - 0, 382, 398, 394, 0, 0, 317, 315, 565, 0, - 895, 0, 778, 0, 297, 0, 0, 0, 0, 295, - 301, 347, 350, 372, 364, 366, 365, 305, 454, 392, - 0, 64, 64, 64, 0, 54, 60, 39, 49, 51, - 50, 52, 45, 40, 47, 46, 38, 48, 34, 35, - 36, 0, 0, 53, 56, 37, 0, 42, 0, 41, - 0, 780, 993, 961, 992, 967, 988, 991, 990, 987, - 986, 944, 578, 577, 575, 571, 588, 0, 604, 602, - 596, 793, 977, 192, 0, 702, 0, 1036, 0, 1050, - 0, 0, 0, 729, 0, 379, 380, 383, 386, 0, - 385, 389, 395, 391, 397, 514, 0, 0, 893, 291, - 302, 304, 303, 0, 74, 61, 75, 0, 0, 0, - 59, 57, 58, 44, 43, 781, 0, 0, 920, 0, - 1041, 1043, 245, 248, 331, 0, 387, 0, 423, 0, - 456, 72, 87, 76, 77, 80, 79, 68, 0, 73, - 962, 989, 815, 0, 489, 0, 0, 0, 85, 0, - 86, 70, 332, 424, 897, 84, 0, 78, 81, 0, - 83, 0, 898, 82 + 1033, 1034, 1035, 1031, 0, 18, 3, 4, 5, 12, + 15, 20, 1030, 0, 21, 106, 19, 106, 0, 202, + 1028, 22, 106, 23, 106, 24, 18, 973, 941, 208, + 206, 216, 210, 214, 212, 88, 306, 0, 0, 7, + 11, 18, 202, 203, 970, 108, 0, 107, 956, 192, + 192, 0, 0, 1031, 1029, 192, 192, 16, 0, 0, + 218, 218, 218, 218, 242, 218, 0, 204, 205, 10, + 13, 14, 457, 0, 0, 368, 369, 25, 0, 466, + 0, 503, 194, 25, 264, 255, 257, 0, 256, 88, + 195, 541, 105, 109, 110, 116, 0, 193, 0, 112, + 260, 117, 202, 404, 143, 145, 146, 0, 113, 151, + 0, 0, 115, 150, 147, 144, 525, 0, 523, 534, + 539, 522, 520, 521, 118, 119, 120, 711, 709, 709, + 712, 738, 739, 121, 709, 122, 124, 114, 148, 149, + 123, 958, 957, 0, 193, 937, 940, 202, 0, 0, + 103, 0, 0, 0, 0, 0, 921, 0, 0, 0, + 0, 0, 88, 134, 126, 192, 152, 0, 157, 163, + 158, 173, 179, 156, 689, 153, 162, 155, 170, 154, + 788, 165, 164, 181, 161, 178, 172, 160, 175, 180, + 174, 177, 166, 171, 159, 1007, 176, 1052, 1057, 1040, + 0, 134, 134, 974, 942, 0, 0, 209, 219, 207, + 217, 211, 0, 0, 215, 243, 244, 213, 623, 624, + 200, 1017, 0, 650, 258, 259, 1018, 231, 225, 201, + 0, 324, 541, 0, 606, 310, 618, 186, 187, 189, + 190, 188, 0, 308, 607, 0, 605, 610, 611, 613, + 615, 625, 0, 628, 642, 644, 646, 648, 655, 0, + 658, 661, 199, 608, 0, 0, 936, 496, 0, 494, + 26, 725, 0, 0, 0, 999, 0, 997, 467, 0, + 0, 506, 717, 0, 0, 0, 0, 0, 510, 0, + 417, 422, 525, 421, 0, 542, 111, 0, 0, 0, + 0, 88, 0, 659, 202, 337, 402, 0, 466, 466, + 202, 0, 0, 0, 0, 659, 538, 733, 192, 196, + 196, 769, 963, 1068, 476, 949, 202, 952, 954, 955, + 0, 0, 88, 541, 167, 104, 0, 0, 812, 0, + 1071, 1070, 169, 569, 826, 0, 0, 824, 0, 0, + 0, 594, 0, 817, 657, 665, 667, 819, 664, 820, + 666, 0, 0, 0, 975, 135, 127, 192, 130, 132, + 133, 0, 0, 0, 0, 0, 1014, 691, 0, 0, + 789, 709, 1011, 0, 1058, 1050, 1037, 476, 476, 222, + 0, 0, 0, 254, 251, 0, 0, 0, 0, 0, + 323, 326, 329, 328, 0, 0, 541, 618, 235, 187, + 0, 0, 0, 0, 0, 307, 0, 620, 0, 621, + 622, 0, 619, 223, 0, 186, 616, 627, 630, 634, + 632, 635, 631, 633, 636, 637, 639, 641, 638, 640, + 0, 0, 651, 0, 652, 0, 653, 654, 0, 643, + 1005, 0, 0, 0, 493, 0, 707, 732, 0, 727, + 0, 0, 995, 1003, 0, 1001, 0, 508, 0, 0, + 507, 719, 267, 268, 270, 0, 265, 0, 429, 0, + 425, 545, 428, 544, 427, 511, 410, 510, 0, 0, + 0, 0, 25, 25, 549, 1066, 0, 884, 225, 883, + 657, 882, 0, 0, 816, 0, 0, 0, 0, 660, + 282, 0, 202, 278, 280, 0, 0, 0, 340, 0, + 408, 405, 406, 409, 0, 468, 478, 0, 0, 480, + 88, 605, 0, 524, 684, 685, 686, 0, 0, 592, + 0, 0, 675, 677, 0, 0, 0, 0, 710, 198, + 25, 0, 0, 192, 709, 714, 734, 740, 0, 760, + 192, 715, 0, 773, 770, 709, 964, 0, 0, 0, + 0, 938, 953, 700, 0, 0, 767, 813, 814, 0, + 0, 0, 0, 0, 0, 0, 658, 912, 0, 910, + 908, 0, 0, 0, 0, 903, 0, 901, 899, 0, + 1078, 0, 818, 0, 202, 968, 0, 131, 0, 845, + 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 88, 529, 825, 870, 821, 823, 0, 873, 867, 872, + 0, 0, 0, 0, 699, 697, 698, 693, 690, 696, + 804, 802, 0, 798, 790, 787, 791, 1009, 0, 1008, + 1060, 0, 1060, 0, 1036, 0, 1049, 0, 220, 0, + 0, 0, 0, 249, 0, 328, 321, 0, 228, 227, + 232, 226, 0, 187, 609, 311, 309, 325, 322, 186, + 612, 614, 617, 626, 629, 645, 647, 649, 1004, 0, + 0, 0, 460, 526, 0, 500, 502, 534, 501, 495, + 0, 731, 0, 996, 998, 0, 1000, 0, 0, 517, + 512, 515, 0, 262, 0, 0, 0, 0, 414, 541, + 434, 223, 435, 229, 439, 437, 0, 438, 436, 0, + 419, 439, 448, 305, 0, 367, 418, 0, 724, 0, + 716, 0, 0, 0, 553, 541, 0, 550, 558, 567, + 568, 1067, 0, 865, 0, 0, 0, 536, 659, 283, + 0, 0, 0, 261, 279, 353, 344, 345, 0, 348, + 0, 351, 352, 354, 355, 356, 341, 343, 361, 335, + 357, 370, 338, 0, 403, 0, 0, 451, 360, 472, + 464, 469, 470, 473, 474, 0, 0, 202, 477, 0, + 672, 679, 0, 674, 0, 0, 681, 0, 668, 535, + 540, 721, 0, 0, 0, 0, 0, 0, 0, 193, + 742, 746, 743, 757, 741, 751, 748, 735, 753, 745, + 755, 758, 754, 756, 747, 752, 744, 761, 709, 759, + 0, 0, 0, 771, 0, 774, 709, 772, 982, 0, + 983, 1069, 945, 0, 794, 583, 545, 584, 572, 580, + 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 831, 0, 829, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 924, 0, 922, + 913, 916, 533, 914, 532, 531, 844, 530, 915, 0, + 0, 904, 907, 906, 905, 0, 0, 597, 599, 0, + 168, 0, 136, 202, 139, 141, 142, 978, 192, 0, + 0, 822, 871, 875, 869, 874, 876, 877, 878, 880, + 879, 0, 861, 855, 0, 859, 1016, 1015, 0, 0, + 689, 0, 0, 796, 800, 0, 0, 541, 0, 1024, + 1023, 0, 1019, 1021, 1065, 1041, 1064, 0, 1061, 1062, + 1051, 0, 1047, 1055, 0, 253, 0, 0, 0, 0, + 327, 191, 239, 237, 238, 0, 0, 0, 0, 458, + 0, 659, 0, 0, 1002, 526, 488, 490, 492, 509, + 518, 0, 504, 269, 273, 0, 271, 541, 426, 0, + 430, 411, 415, 542, 0, 432, 433, 0, 416, 0, + 431, 224, 230, 0, 726, 718, 561, 557, 0, 554, + 0, 0, 543, 0, 562, 552, 0, 891, 0, 889, + 892, 0, 0, 669, 537, 288, 289, 0, 292, 0, + 285, 287, 296, 0, 293, 0, 274, 346, 349, 0, + 0, 371, 240, 342, 407, 453, 0, 0, 0, 0, + 479, 485, 0, 483, 481, 682, 683, 680, 593, 0, + 676, 0, 678, 0, 670, 723, 25, 0, 736, 0, + 1076, 1074, 0, 749, 0, 0, 192, 763, 762, 0, + 0, 782, 0, 775, 768, 776, 965, 0, 959, 946, + 947, 695, 687, 0, 0, 0, 0, 582, 843, 656, + 836, 833, 834, 837, 841, 0, 832, 835, 840, 839, + 838, 0, 827, 926, 0, 0, 927, 928, 935, 925, + 528, 934, 527, 929, 932, 931, 930, 0, 917, 911, + 909, 902, 900, 0, 0, 1079, 0, 140, 979, 980, + 786, 0, 193, 0, 0, 0, 0, 0, 849, 0, + 847, 881, 868, 0, 863, 0, 887, 0, 857, 885, + 888, 0, 0, 0, 0, 689, 688, 692, 0, 811, + 0, 805, 807, 797, 0, 799, 1010, 0, 0, 1012, + 1059, 0, 1042, 1048, 947, 1056, 947, 221, 0, 250, + 0, 247, 246, 541, 0, 0, 333, 233, 1006, 663, + 462, 461, 0, 0, 498, 0, 730, 0, 0, 510, + 392, 516, 0, 0, 0, 0, 0, 0, 191, 441, + 183, 184, 185, 443, 444, 446, 447, 445, 440, 442, + 312, 0, 0, 314, 316, 681, 318, 319, 320, 420, + 0, 555, 0, 0, 559, 551, 566, 0, 563, 891, + 896, 0, 894, 0, 866, 779, 0, 290, 284, 0, + 0, 240, 0, 281, 275, 392, 0, 358, 336, 392, + 0, 362, 392, 0, 452, 465, 471, 0, 0, 482, + 679, 0, 0, 720, 0, 737, 0, 32, 33, 91, + 71, 94, 0, 258, 259, 255, 257, 256, 231, 225, + 0, 0, 27, 63, 65, 62, 541, 28, 101, 658, + 0, 0, 764, 0, 783, 0, 784, 0, 0, 984, + 985, 0, 948, 943, 795, 0, 0, 573, 574, 581, + 570, 0, 587, 0, 0, 842, 830, 0, 933, 0, + 923, 0, 0, 0, 598, 600, 601, 595, 792, 981, + 976, 0, 0, 0, 850, 853, 852, 851, 0, 0, + 862, 0, 856, 0, 0, 860, 0, 0, 703, 0, + 705, 694, 809, 0, 803, 808, 801, 541, 1022, 1020, + 0, 1063, 0, 1038, 1043, 1054, 1054, 0, 0, 330, + 0, 459, 0, 497, 535, 728, 491, 487, 0, 386, + 0, 373, 378, 0, 381, 374, 384, 375, 388, 376, + 394, 0, 377, 396, 662, 383, 505, 513, 272, 263, + 0, 236, 234, 0, 0, 313, 777, 556, 560, 564, + 0, 0, 890, 0, 0, 286, 390, 0, 298, 0, + 299, 300, 294, 0, 400, 401, 399, 0, 0, 241, + 0, 0, 359, 363, 0, 455, 486, 484, 671, 722, + 0, 31, 1073, 1075, 30, 1077, 66, 534, 67, 72, + 1072, 95, 98, 96, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 55, 0, 0, 29, 750, 192, 0, 785, 966, + 0, 0, 960, 0, 579, 576, 0, 0, 0, 0, + 586, 589, 591, 828, 919, 918, 603, 0, 0, 0, + 0, 0, 0, 0, 854, 848, 846, 864, 886, 858, + 0, 701, 704, 706, 806, 810, 1013, 0, 0, 1045, + 0, 0, 0, 0, 499, 0, 0, 519, 393, 387, + 0, 0, 0, 0, 382, 398, 394, 0, 0, 317, + 315, 565, 0, 895, 0, 778, 0, 297, 0, 0, + 0, 0, 295, 301, 347, 350, 372, 364, 366, 365, + 305, 454, 392, 0, 64, 64, 64, 0, 54, 60, + 34, 35, 36, 37, 38, 39, 40, 45, 46, 48, + 49, 47, 51, 50, 52, 0, 0, 53, 56, 0, + 42, 0, 41, 0, 780, 993, 961, 992, 967, 988, + 991, 990, 987, 986, 944, 578, 577, 575, 571, 588, + 0, 604, 602, 596, 793, 977, 192, 0, 702, 0, + 1039, 0, 1053, 0, 0, 0, 729, 0, 379, 380, + 383, 386, 0, 385, 389, 395, 391, 397, 514, 0, + 0, 893, 291, 302, 304, 303, 0, 74, 61, 75, + 0, 0, 0, 59, 57, 58, 44, 43, 781, 0, + 0, 920, 0, 1044, 1046, 245, 248, 331, 0, 387, + 0, 423, 0, 456, 72, 87, 76, 77, 80, 79, + 68, 0, 73, 962, 989, 815, 0, 489, 0, 0, + 0, 85, 0, 86, 70, 332, 424, 897, 84, 0, + 78, 81, 0, 83, 0, 898, 82 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1417, -1417, -1417, 1095, -1417, 1394, 642, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -178, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -769, -1417, -285, -1417, -11, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, 1348, 798, -1417, - -1417, -1417, 152, 655, -1417, -1417, -1417, 527, -1417, -85, - -906, -632, -1417, -1417, 435, 438, -42, 57, -1417, 544, - -215, -74, -1417, 1431, -1417, -1417, -1417, -1417, -1417, -1417, - 866, -1417, -203, -186, 1042, -432, -180, -1417, -1417, -1417, - 177, -1417, -1417, -1417, 172, -41, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, 739, -1417, 225, -1417, -1417, -1417, 941, - -1417, -1417, -1417, 178, -1417, -1417, 182, -1417, 11, -1417, - -1417, -980, 1453, -1417, 1048, 456, -1417, 29, 34, -1417, - 1231, -1417, -1417, 1076, -626, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 687, -1417, -1417, -1417, 422, -1417, - -1417, -1417, -1417, -967, -266, -1417, -1417, -1187, -1166, -1186, - -1193, -1135, -1417, -92, -1160, -89, -1417, -1417, 53, -1417, - -86, -1417, -1417, -1417, -1417, -1417, 697, -1417, -1417, -1417, - -1417, -416, -1417, -1417, 1003, -249, -1417, 762, -1417, 479, - -576, -1417, 484, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 516, -1417, -1417, -1417, -20, -1417, - -1417, 434, -1417, 9, -1417, -1417, -1417, 702, -1417, 212, - -1417, -1417, -197, 284, -1417, -1417, 1053, -1417, -1417, -931, - -1417, -1417, -1417, -1417, -281, -467, -1417, -1417, -63, 517, - -1417, 1225, -1417, 2143, -451, 621, -1417, -1417, -815, -1417, - -531, -1417, -456, -286, -293, -1417, 964, -1417, -1417, -252, - -282, -1417, -1417, 491, -1417, -1417, 960, -1417, -1417, -1417, - -1417, -3, -9, 163, -1417, 413, -577, -1417, -1417, 0, - -1417, -270, 179, 967, -1417, -1417, -1417, -1417, -1417, -7, - -1417, -1417, 339, -30, 1085, -1417, -1417, -78, 1087, -1417, - 1265, -1417, 1086, 1081, 1089, -1417, -1417, -1417, -1417, -1417, - 1819, -794, -83, -166, 772, -69, -995, -1108, -1417, -1417, - -204, -1417, -46, 100, -1417, -1417, -1417, 729, 731, -514, - 733, -1417, 1241, -367, -364, -861, -1417, -1417, -1417, -1417, - -832, -838, -1417, -1417, -1417, -1417, -98, -1417, 295, -1417, - -1417, 980, -1417, -77, -696, -104, 1242, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, 983, -1417, -1417, -1417, 326, -1417, - -496, -1417, -1417, -1417, -1417, -1417, -1417, 986, -1417, -1417, - 1154, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1417, - -1417, 164, -1089, -1417, 989, -1417, -22, -1417, -1417, 937, - -126, -1417, 993, -1417, -1417, -1417, 427, 675, -534, 1000, - -1417, -1417, 183, 1007, -1417, -1417, 1011, -1417, -1417, -12, - 1180, 942, 626, -239, 624, 192, -889, -965, -860, -1417, - 120, -1417, 1014, -1417, 661, 1016, -1417, 672, 1023, -1417, - -1417, -1417, -1417, 440, 397, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -404, -1417, -1417, -1417, 1253, -1417, -1417, - 1533, -1417, -1417, -1417, -1417, -1417, 720, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -1417, -1417, -1013, -1417, -107, - -1417, -1416, -1417, 1310, 1128, -1417, -1417, 895, -482, -1417, - 1037, -1417, -1417, -1417, -1417, -1417, -1417, 971, 907, 423, - 420, -1417, -1417, 1587, -136, -1417, -1417, -1417, -1417, -1417, - -1417, -1417, -1417, -1417, -1417, -130, -1417, -1417, -1417, -1417, - 214, -1417, -1417, -1417, 961, -1417, 421, 505, -1417, -1417, - -1417, -1417, -1417, 531 + -1440, -1440, -1440, 1092, -1440, 1439, 231, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -92, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -809, -1440, -206, -1440, -14, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, 1422, 746, -1440, + -1440, -1440, -212, 610, -1440, -1440, -1440, 604, -1440, -76, + -900, -635, -1440, -1440, 515, 517, -45, 54, -1440, 504, + -218, -77, -1440, 1505, -1440, -1440, -1440, -1440, -1440, -1440, + 678, -1440, -128, -189, 1117, -442, -112, -1440, -1440, -1440, + 252, -1440, -1440, -1440, 245, -44, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, 820, -1440, 311, -1440, -1440, -1440, 1026, + -1440, -1440, -1440, 257, -1440, -1440, 264, -1440, 97, -1440, + -1440, -983, 1538, -1440, 1129, 542, -1440, 114, 116, -1440, + 1321, -1440, -1440, 1153, -629, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, 776, -1440, -1440, -1440, 512, -1440, + -1440, -1440, -1440, -971, -269, -1440, -1440, -1207, -1182, -1439, + -1192, -1413, -1440, -3, -1062, 4, -1440, -1440, 148, -1440, + 3, -1440, -1440, -1440, -1440, -1440, 785, -1440, -1440, -1440, + -1440, -419, -1440, -1440, 1082, -257, -1440, 856, -1440, 564, + -299, -1440, 571, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, 596, -1440, -1440, -1440, -27, -1440, + -1440, 518, -1440, 22, -1440, -1440, -1440, 784, -1440, 288, + -1440, -1440, -120, 364, -1440, -1440, 1133, -1440, -1440, -934, + -1440, -1440, -1440, -1440, -278, -470, -1440, -1440, 13, 599, + -1440, 1222, -1440, 2100, -454, 701, -1440, -1440, -793, -1440, + -513, -1440, -459, -291, -296, -1440, 1044, -1440, -1440, -255, + -285, -1440, -1440, 579, -1440, -1440, 1039, -1440, -1440, -1440, + -1440, 87, 66, 253, -1440, 499, -565, -1440, -1440, 93, + -1440, -277, 270, 1053, -1440, -1440, -1440, -1440, -1440, 88, + -1440, -1440, 281, -170, 1177, -1440, -1440, -86, 1173, -1440, + 1356, -1440, 1176, 1183, 1170, -1440, -1440, -1440, -1440, -1440, + 1998, -805, -106, -169, 863, -72, -883, -1368, -1440, -1440, + -207, -1440, -49, 86, -1440, -1440, -1440, 821, 822, -517, + 835, -1440, 1328, -370, -367, -879, -1440, -1440, -1440, -1440, + -834, -828, -1440, -1440, -1440, -1440, -125, -1440, 356, -1440, + -1440, 1077, -1440, -78, -693, -113, 1330, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, 1078, -1440, -1440, -1440, 439, -1440, + -507, -1440, -1440, -1440, -1440, -1440, -1440, 1085, -1440, -1440, + 1262, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1440, + -1440, 260, -1108, -1440, 1087, -1440, -6, -1440, -1440, 1036, + -129, -1440, 1098, -1440, -1440, -1440, 524, 780, -574, 1101, + -1440, -1440, 289, 1103, -1440, -1440, 1106, -1440, -1440, -19, + 1289, 1054, 718, -238, 730, 292, -892, -975, -868, -1440, + 225, -1440, 1116, -1440, 768, 1124, -1440, 777, 1134, -1440, + -1440, -1440, -1440, 544, 468, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -417, -1440, -1440, -1440, 1353, -1440, -1440, + 1635, -1440, -1440, -1440, -1440, -1440, 514, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -1440, -1440, -1047, -1440, -5, + -1440, -1321, -1440, 1412, 1227, -1440, -1440, 985, -492, -1440, + 1136, -1440, -1440, -1440, -1440, -1440, -1440, 1062, 1009, 505, + 509, -1440, -1440, 1673, -139, -1440, -1440, -1440, -1440, -1440, + -1440, -1440, -1440, -1440, -1440, -133, -1440, -1440, -1440, -1440, + 303, -1440, -1440, -1440, 1055, -1440, 511, 471, -1440, -1440, + -1440, -1440, -1440, 620 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 13, 14, 15, 16, 46, 17, 18, 33, - 279, 1317, 1318, 1511, 1623, 1605, 1319, 1686, 1320, 1601, - 1602, 1321, 1603, 1322, 1687, 1713, 1714, 1715, 340, 1324, - 1325, 1490, 341, 51, 52, 99, 100, 101, 170, 171, - 373, 374, 375, 371, 372, 919, 920, 921, 102, 172, - 173, 240, 1236, 1237, 241, 979, 174, 104, 559, 1093, - 242, 19, 20, 44, 68, 67, 70, 72, 71, 69, - 214, 215, 243, 244, 677, 415, 245, 246, 417, 982, - 1288, 221, 222, 223, 401, 247, 248, 106, 311, 107, - 292, 293, 479, 480, 1002, 1003, 770, 518, 519, 520, - 521, 768, 1046, 1047, 1451, 1050, 1051, 1278, 1454, 1589, - 1590, 733, 734, 249, 250, 735, 1249, 1250, 1251, 251, - 406, 252, 685, 407, 408, 409, 1211, 1212, 108, 109, - 1057, 523, 524, 525, 783, 1282, 1283, 786, 787, 796, - 788, 1469, 1470, 736, 110, 1059, 1286, 1417, 1418, 1419, - 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, - 1430, 1464, 111, 526, 313, 528, 529, 112, 723, 493, - 494, 295, 296, 737, 297, 298, 486, 487, 1006, 738, - 1012, 1245, 739, 740, 113, 114, 1064, 794, 1289, 1599, - 115, 272, 1219, 698, 699, 116, 117, 1065, 286, 797, - 798, 799, 800, 53, 119, 802, 535, 536, 1069, 1070, - 120, 1226, 993, 994, 121, 275, 276, 459, 1220, 701, - 122, 288, 1229, 476, 801, 495, 999, 1574, 717, 718, - 1227, 253, 539, 124, 862, 1138, 1139, 629, 903, 904, - 1642, 901, 125, 514, 126, 323, 127, 501, 489, 128, - 129, 130, 753, 754, 1032, 755, 175, 586, 1525, 1112, - 1344, 1345, 1643, 1522, 865, 866, 867, 1114, 1348, 1349, - 1350, 1351, 1074, 176, 606, 1536, 915, 1151, 1362, 1363, - 254, 255, 256, 257, 258, 425, 428, 259, 260, 447, - 261, 448, 262, 263, 264, 265, 266, 450, 452, 455, - 267, 1115, 1116, 268, 515, 354, 1432, 1217, 364, 365, - 366, 367, 177, 178, 320, 547, 548, 549, 550, 1254, - 542, 543, 1255, 179, 180, 384, 644, 946, 181, 645, - 646, 581, 947, 1182, 1183, 708, 324, 325, 182, 134, - 135, 561, 136, 280, 465, 326, 562, 563, 137, 138, - 564, 831, 139, 565, 566, 1094, 343, 183, 184, 570, - 571, 851, 852, 141, 572, 853, 1101, 185, 186, 386, - 387, 187, 1537, 1110, 388, 652, 952, 1191, 649, 948, - 1187, 1188, 1189, 188, 189, 190, 191, 192, 368, 630, - 631, 632, 193, 587, 1354, 880, 881, 1117, 905, 194, - 926, 1166, 1167, 195, 1174, 1381, 196, 1170, 1378, 197, - 633, 634, 635, 636, 1175, 1176, 1035, 1036, 1037, 1268, - 1269, 1581, 198, 603, 604, 199, 595, 596, 200, 1358, - 1647, 352, 895, 896, 377, 21, 331, 152, 22, 66, - 578, 1520, 1107, 1340, 153, 332, 333, 334, 54, 329, - 55, 1338, 1696, 575, 1633, 23, 56, 24, 65, 612, - 613, 1538, 1156, 1367, 856, 1105, 1336, 1634, 1635, 1636, - 1637, 530, 145, 283, 284, 146, 471, 472, 270, 696, - 201, 390, 953, 655, 1397, 202, 639, 271, 958, 959, - 960, 25, 26, 27, 28, 29, 659, 1555, 207, 963, - 1400, 1401, 661, 1658, 1201, 30, 31, 658, 205, 663, - 1556, 1203, 392, 657, 964, 965, 966, 203, 154, 576, - 349, 1090, 1600, 608 + 0, 1, 16, 17, 18, 19, 49, 20, 21, 36, + 282, 1320, 1321, 1514, 1627, 1608, 1322, 1689, 1323, 1604, + 1605, 1324, 1606, 1325, 1690, 1716, 1717, 1718, 343, 1327, + 1328, 1493, 344, 54, 55, 102, 103, 104, 173, 174, + 376, 377, 378, 374, 375, 922, 923, 924, 105, 175, + 176, 243, 1239, 1240, 244, 982, 177, 107, 562, 1096, + 245, 22, 23, 47, 71, 70, 73, 75, 74, 72, + 217, 218, 246, 247, 680, 418, 248, 249, 420, 985, + 1291, 224, 225, 226, 404, 250, 251, 109, 314, 110, + 295, 296, 482, 483, 1005, 1006, 773, 521, 522, 523, + 524, 771, 1049, 1050, 1454, 1053, 1054, 1281, 1457, 1592, + 1593, 735, 736, 252, 253, 737, 1252, 1253, 1254, 254, + 409, 255, 688, 410, 411, 412, 1214, 1215, 111, 112, + 1060, 526, 527, 528, 786, 1285, 1286, 789, 790, 799, + 791, 1472, 1473, 738, 113, 1062, 1289, 1420, 1421, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1467, 114, 529, 316, 531, 532, 115, 726, 496, + 497, 298, 299, 739, 300, 301, 489, 490, 1009, 740, + 1015, 1248, 741, 742, 116, 117, 1067, 797, 1292, 1602, + 118, 275, 1222, 701, 702, 119, 120, 1068, 289, 800, + 801, 802, 803, 56, 122, 805, 538, 539, 1072, 1073, + 123, 1229, 996, 997, 124, 278, 279, 462, 1223, 704, + 125, 291, 1232, 479, 804, 498, 1002, 1577, 720, 721, + 1230, 256, 542, 127, 865, 1141, 1142, 632, 906, 907, + 1645, 904, 128, 517, 129, 326, 130, 504, 492, 131, + 132, 133, 756, 757, 1035, 758, 178, 589, 1528, 1115, + 1347, 1348, 1646, 1525, 868, 869, 870, 1117, 1351, 1352, + 1353, 1354, 1077, 179, 609, 1539, 918, 1154, 1365, 1366, + 257, 258, 259, 260, 261, 428, 431, 262, 263, 450, + 264, 451, 265, 266, 267, 268, 269, 453, 455, 458, + 270, 1118, 1119, 271, 518, 357, 1435, 1220, 367, 368, + 369, 370, 180, 181, 323, 550, 551, 552, 553, 1257, + 545, 546, 1258, 182, 183, 387, 647, 949, 184, 648, + 649, 584, 950, 1185, 1186, 711, 327, 328, 185, 137, + 138, 564, 139, 283, 468, 329, 565, 566, 140, 141, + 567, 834, 142, 568, 569, 1097, 346, 186, 187, 573, + 574, 854, 855, 144, 575, 856, 1104, 188, 189, 389, + 390, 190, 1540, 1113, 391, 655, 955, 1194, 652, 951, + 1190, 1191, 1192, 191, 192, 193, 194, 195, 371, 633, + 634, 635, 196, 590, 1357, 883, 884, 1120, 908, 197, + 929, 1169, 1170, 198, 1177, 1384, 199, 1173, 1381, 200, + 636, 637, 638, 639, 1178, 1179, 1038, 1039, 1040, 1271, + 1272, 1584, 201, 606, 607, 202, 598, 599, 203, 1361, + 1650, 355, 898, 899, 380, 24, 334, 155, 25, 69, + 581, 1523, 1110, 1343, 156, 335, 336, 337, 57, 332, + 58, 1341, 1699, 578, 1636, 26, 59, 27, 68, 615, + 616, 1541, 1159, 1370, 859, 1108, 1339, 1637, 1638, 1639, + 1640, 533, 148, 286, 287, 149, 474, 475, 273, 699, + 204, 393, 956, 658, 1400, 205, 642, 274, 961, 962, + 963, 28, 29, 30, 31, 32, 662, 1558, 210, 966, + 1403, 1404, 664, 1661, 1204, 33, 34, 661, 208, 666, + 1559, 1206, 395, 660, 967, 968, 969, 206, 157, 579, + 352, 1093, 1603, 611 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 43, 488, 363, 703, 269, 404, 131, 477, 702, 398, - 103, 105, 491, 290, 150, 743, 105, 642, 335, 1157, - 643, 105, 105, 955, 336, 481, 1007, 724, 1109, 914, - 142, 1242, 327, 400, 414, 312, 553, 814, 355, 357, - 143, 98, 490, 328, 1244, 485, 98, 363, 977, 545, - 1171, 98, 98, 105, 131, 429, 1221, 416, 103, 105, - 900, 118, 239, 105, 955, 730, 509, 911, 1267, 910, - 1133, 1134, 430, 432, 850, 1118, 1119, 1120, 142, 725, - 1177, 1177, 1125, 98, 1456, 362, 1184, 376, 143, 98, - 314, 1337, 937, 98, 936, 1460, 1389, 277, -182, 1465, - 1638, 212, 1471, 227, 228, 47, 460, 1179, 421, 118, - -525, 1455, 669, 151, -195, 291, 1342, 1457, 4, 1030, - 468, 1027, 1359, 1334, 492, 712, 809, 4, 492, 1467, - 811, 105, 906, 912, 759, -195, 385, -732, 1308, 916, - 938, 4, 647, 638, 938, -412, 4, 985, 347, -413, - 414, 269, 132, 414, 348, 4, 1013, 1028, 8, 418, - 557, 98, 804, 1017, 32, 1343, 704, 8, 219, 1128, - 941, 1360, 1144, 416, 1195, -195, 416, 705, 1205, 1207, - 431, 8, 558, 4, 666, -412, 8, 1329, 1270, -413, - 1279, 4, 1195, 830, 1380, 8, 492, 335, 1231, 648, - 132, 1295, 414, 336, 1375, 682, 1390, 1267, 1409, 4, - 1441, 4, 4, 916, 1526, 4, 346, 4, 34, 1707, - 42, 650, 508, 8, 522, 416, 413, 594, 35, 433, - 602, 8, 432, 1587, 1569, 503, 1011, 517, 680, 686, - 376, 516, 686, 534, 961, 432, 4, 981, 1303, 8, - 546, 8, 8, 516, 49, 8, 784, 8, 1456, 227, - 228, 1369, 474, 995, -542, 573, 475, -266, 464, 766, - 1031, 1468, 1275, 235, 213, 418, 42, 236, 418, 48, - 1213, 1638, -542, 98, 105, 1455, 8, 302, 1335, 376, - 653, 1457, 12, 863, 728, 531, 532, 508, 508, 508, - 422, 12, -525, 1552, 670, 1449, -195, -525, 1009, -195, - 302, 729, 412, 863, 98, 12, 1355, 731, 810, -412, - 12, 1388, 812, -413, 907, 913, 302, 418, 1352, 12, - 269, 917, 939, 105, 864, 757, 940, -766, 641, 986, - 577, 220, 413, 105, 1127, 413, 1126, 133, 607, 1029, - 977, 269, 269, 1132, 864, 1100, 1135, 12, 1142, 1594, - 1141, 1129, 506, 98, 1145, 12, 1196, 58, 533, 59, - 1206, 1208, 1456, 98, 1669, 1588, -339, -766, 140, 1665, - 1569, 930, 1248, 12, 1215, 12, 12, 4, 433, 12, - 1232, 12, 1456, 1296, 413, 133, 1376, 11, 1391, 1665, - 1410, 689, 1442, 660, 662, 1512, 1527, 556, 557, 310, - 239, 1708, 1683, -476, 344, 962, -542, 574, 105, 742, - 12, 767, 746, 748, 1276, 73, 140, 8, 4, 488, - 558, 1666, 1571, 236, 498, 499, 42, 506, 506, 506, - 491, 640, 4, 92, 93, 517, 95, 1342, 700, 144, - 42, 1666, 973, 481, 105, 105, 732, 844, 74, 610, - 971, 879, 894, 897, 974, 975, 4, 1531, 8, 4, - 490, 281, 908, 485, 854, 922, 980, 555, 1561, 1680, - 819, 923, 8, 1267, 98, 98, 727, 429, 1595, 75, - 752, 227, 228, 430, 500, 4, 1343, 144, 363, 731, - 1048, 1596, 363, 363, 430, 1640, 8, 230, 282, 8, - 105, -766, 236, 399, 829, 285, 1359, 318, 825, 105, - 1177, 795, 498, 499, 784, 847, 614, 1521, 496, 743, - 4, 703, 1230, 743, 148, 8, 702, 508, 834, 1076, - 98, 1078, 42, 98, 1521, 834, -197, 497, 839, 98, - 105, 105, -466, 227, 228, 949, 1018, 147, 234, 105, - 105, 12, 1019, 955, 319, 1360, 1299, 462, 463, 4, - 8, 1667, 1571, 1361, 42, 700, 1541, 204, 1571, 1241, - 98, 98, 500, 730, 105, 105, 42, 47, 294, 98, - 98, 1667, -1026, 206, -1026, 700, 1052, 230, 269, 105, - 89, 742, 12, 227, 228, 147, 274, 1157, 1681, 8, - 1084, 42, 431, 4, 98, 98, 12, 826, 304, 426, - 427, 1682, 231, 305, 151, 97, 306, 4, 943, 98, - 1374, -1027, 1373, -1027, 1097, 483, 285, 1332, 232, 233, - 12, 287, 42, 12, 954, 1109, 302, 898, 234, 301, - 9, -236, -541, 8, 302, 307, 909, 92, 93, 230, - 95, 235, 89, 1384, 42, 236, 237, 8, 978, 12, - 1486, 1487, 484, 492, 238, 64, -61, 506, 60, 933, - 934, 935, 474, 105, 310, 954, 475, 97, -510, 9, - 76, 89, -510, -236, 704, 1015, 516, 357, 1386, 11, - 232, 233, 1222, 992, 12, 705, -939, 453, 454, 230, - 234, 1004, 302, 98, 1016, 1010, 97, 60, 315, 92, - 93, -541, 95, 235, 82, 83, 42, 236, 1234, -93, - 534, 235, -93, 11, -276, 236, 11, 1547, 411, 1075, - 546, 1095, 546, 12, 57, 316, -137, 1157, 1123, 62, - -89, 63, 1579, -89, 569, 1102, 1099, 1049, 317, 1415, - 234, 48, 1136, -90, 687, 230, -90, 688, 321, 92, - 93, 89, 95, 235, 995, 11, 42, 236, 675, 676, - 594, 1630, 11, -277, 922, 105, 602, 12, 92, 93, - 923, 95, 1461, 1462, 1463, 42, 97, 1402, 330, 1403, - 1165, 12, -92, 1121, 369, 1479, 322, 1025, 1240, 1248, - 337, 412, 728, 370, 641, 98, 234, 642, 863, 105, - 643, 569, 849, 1180, 1181, 92, 93, 338, 95, 729, - 414, 416, 42, 1688, 1689, 731, 105, 105, 5, -1026, - 6, -1026, 155, 105, 105, 105, 105, 7, 105, 98, - 105, 105, 105, 416, 350, 508, 351, 863, 1168, 864, - 208, 209, 757, 394, 395, 1483, 98, 98, 358, 1491, - 560, 567, 359, 98, 98, 98, 98, 385, 98, 396, - 98, 98, 98, 1158, 105, 389, 414, 391, 393, 411, - 434, 435, 436, 437, 438, 439, 440, 9, 864, 105, - 105, 420, -1026, 89, -1026, 1152, 412, -223, 424, 416, - 36, 37, 38, 39, 98, 449, 451, 640, 40, 516, - 92, 93, 457, 95, 41, 10, 42, 42, 97, 98, - 98, 458, 1124, 742, 216, 217, 218, 742, 224, 282, - -1026, 269, -1026, 470, 473, 482, 105, 1140, 512, 1434, - 513, 527, 551, 703, 554, 418, 556, 569, 702, 588, - 9, -97, -97, 602, -97, 1210, 42, -1026, -97, -1026, - 654, -97, 89, 616, 732, 664, 700, 36, 37, 38, - 39, 665, 1159, 11, 667, 40, 743, 668, 60, 92, - 93, 41, 95, 673, 674, 506, 42, 97, 9, 239, - 1235, -234, 879, 239, 727, 684, 1301, -229, 77, 1048, - 679, 418, 681, -100, -100, -224, -100, 752, 894, 695, - -100, 642, 413, -100, 643, 9, 60, 707, 1484, 1437, - 697, 1439, 1484, 709, 714, 1371, 715, 716, 719, 105, - 441, 442, 443, 444, 546, 721, 11, 722, 430, 761, - 762, 1158, 105, 60, 731, 795, -950, 82, 83, 1042, - 1043, -99, -99, 764, -99, 765, 769, 363, -99, 98, - 789, -99, 785, 790, 445, 446, 225, 792, 1323, 793, - 607, 806, 98, 226, 11, 803, 808, 820, 816, 1044, - 105, 227, 228, 229, -951, 92, 93, 1045, 95, 821, - 700, 400, 42, 848, 294, 857, 743, 92, 93, 855, - 95, 11, 92, 93, 308, 95, 704, 859, 105, 42, - 98, -138, 105, 105, 860, 861, 230, 705, 92, 93, - 918, 95, 924, 1489, 93, 42, 95, 1172, 641, 700, - 42, 925, 927, 105, 305, 402, 931, 1092, 98, 945, - 826, 231, 98, 98, 951, 969, 742, 379, 1431, 380, - 210, 211, 381, 382, 970, 976, 403, 232, 233, -230, - 972, 440, 984, 98, 987, 273, 307, 234, 988, 278, - 996, 383, 997, 1394, 954, 289, 92, 93, 998, 95, - 235, 1001, 1010, 42, 236, 237, 1011, 230, 1014, -449, - 1020, 1038, 1054, 238, 1055, 1056, 1063, 1058, 1431, 1062, - 1066, 1068, 1072, 1431, 992, 1080, 1083, 1431, 1086, 1372, - 1431, 1091, 231, 1438, 307, 1113, 1103, 1104, 1106, 1075, - 1111, 1122, 1150, 1131, 1155, 1194, 1197, 1198, 232, 233, - 1199, 640, 1200, 1202, 1204, 1209, 1214, 772, 234, 1165, - 1223, 1224, 1225, 345, 995, 1233, 1257, 92, 93, 1259, - 95, 235, 1731, 360, 42, 236, 237, 1274, 1049, 1290, - 1273, 304, 1277, 1287, 238, 1297, 305, 123, 1294, 378, - 105, 1075, 123, 1298, 105, 1330, 1339, 123, 123, 379, - 1370, 380, 1366, 1347, 381, 382, 1356, 1364, 1365, 1270, - 1380, 105, 1383, 1392, 1399, 1405, 1404, 1406, 307, 1407, - 98, 1411, 1440, 383, 98, -524, 1447, 1445, 105, 299, - 1448, 82, 83, 773, 774, 123, 1472, 1450, 1473, 299, - 1477, 98, 1488, 1480, 1482, 1485, 1516, 1513, 1560, 105, - 1514, 1517, 641, 1518, 1661, 1524, 1523, 105, 98, 1529, - 1535, 1534, 1562, 775, 1660, 776, 777, 778, 1431, 1554, - 779, 780, 1558, 781, 782, 1559, 1563, 1564, 105, 98, - 461, 1676, 1565, 1572, 1566, 466, 1567, 98, 469, 1568, - 1573, 1575, 1431, -382, 1584, 478, 1585, 1591, 1586, 1632, - 1592, 1593, 363, 1598, -255, 1654, 1653, 123, 700, 502, - 1639, 1335, 511, 1662, 1677, 1656, 1453, 1664, 1672, 363, - 1673, 1678, 1679, 1697, 1700, 1702, 1703, 1705, 1706, 1723, - 1726, 1729, 1684, 1730, 1736, 1484, 1540, 105, 1710, 1711, - 239, 641, 1717, 1718, 1719, 1733, 105, 1210, 583, 584, - 1739, 585, 1741, 78, 1737, 640, 1238, 1154, 303, 1239, - 597, 50, 605, 1452, 678, 1458, 1435, 546, 1000, 1466, - 771, 1459, 1583, 609, 45, 611, 98, 1243, 304, 683, - 1577, 1158, 105, 305, 1576, 1670, 1368, 1060, 1284, 1671, - 1570, 671, 105, 423, 1005, 656, 379, 1674, 380, 1061, - 269, 381, 382, 105, 1256, 1246, 1431, 1431, 1431, 726, - 1293, 1218, 98, 1725, 1431, 307, 1071, 1474, 1724, 1413, - 383, 1675, 98, 706, 1143, 1228, 1431, 1431, 817, 1262, - 827, 1644, 1533, 98, 1346, 1648, 1646, 828, 1649, 1528, - 1431, 456, 690, 693, 640, 691, 692, 1041, 1077, 1073, - 651, 363, 1079, 538, 694, 845, 832, 105, 846, 833, - 123, 2, 3, 835, 1551, 1353, 929, 1130, 1542, 544, - 836, 637, 710, 932, 1169, 1178, 713, 837, 1580, 568, - 826, 838, 1545, 1148, 840, 4, 841, 720, 1146, 5, - -1026, 6, -1026, 842, 1357, 749, 579, 149, 7, 1685, - 1721, 467, 226, 1704, 745, 747, 711, 843, 758, 123, - 227, 228, 750, 983, 760, 538, 538, 991, 1709, 299, - 944, 1158, 105, 61, 1395, 8, 225, 1557, 1396, 1398, - 968, 791, 1327, 226, 0, 0, 0, 0, 0, 0, - 805, 227, 228, 229, 0, 0, 0, 0, 9, 807, - 0, 0, 98, 0, 0, 0, 0, 815, 0, 0, - 0, 0, 818, 0, 1732, 0, 0, 1734, 0, 0, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 1742, 858, 0, 0, 0, 0, 0, 105, 0, 0, - 0, 1492, 1493, 1494, 1495, 1496, 1497, 0, 1498, 1499, - 1500, 1501, 1502, 1503, 992, 1504, 1505, 1506, 1507, 1508, - 0, 0, 0, 0, 0, 0, 230, 98, 0, 0, - 1159, 1699, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 299, 741, 0, 11, 0, 0, -202, -202, -202, - -202, 231, 0, 942, 0, -202, 751, 230, 0, 0, - 0, -202, 0, 0, 950, 1023, 0, 232, 233, 12, - 0, 0, 226, 967, 0, 0, 0, 234, 0, 0, - 227, 228, 231, 0, 0, 0, 92, 93, 0, 95, - 235, 0, 0, 42, 236, 237, 299, 0, 232, 233, - 0, 0, 0, 238, 0, 299, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 0, 0, 42, 236, 237, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 299, 299, 1008, 0, - 0, 0, 0, 0, 0, 299, 299, 0, 0, 0, - 0, 1185, 0, 0, 0, 0, 0, 0, 226, 0, - 0, 1021, 0, 1022, 538, 0, 227, 228, 0, 0, - 299, 299, 0, 0, 0, 0, 0, 0, 1040, 0, - 0, 0, 0, 0, 1053, 299, 230, 0, 0, 0, - 0, 681, 1509, 1510, 0, 0, 0, 1263, 0, 0, - 538, 0, 0, 0, 226, 0, 0, 0, 822, 0, - 0, 231, 227, 228, 0, 0, 0, 1067, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 232, 233, 1081, - 0, 0, 0, 0, 1082, 0, 1085, 234, 0, 0, - 0, 538, 0, 0, 0, 0, 92, 93, 0, 95, - 235, 0, 0, 42, 236, 237, 0, 0, 0, 0, - 0, 0, 0, 238, 1098, 0, 0, 0, 0, 299, - 0, 0, 230, 0, 0, 1108, 0, 0, 0, 159, - 0, 0, 0, 0, -197, 0, 0, 0, 0, 161, - 162, 0, 163, 0, 0, 164, 342, 231, 823, 166, - 824, 0, 0, 0, 0, 0, 0, 361, 0, 0, - 0, 0, 0, 232, 233, 0, 0, 0, 230, 0, - 0, 0, 1147, 234, 0, 0, 0, 0, 1149, 0, - 0, 0, 92, 93, 0, 95, 235, 0, 89, 42, - 236, 237, 0, 231, 0, 0, 0, 0, 0, 238, - 0, 0, 0, 0, 0, 92, 93, 0, 95, 232, - 233, 0, 42, 97, 1190, 0, 0, 1192, 1193, 234, - 410, 299, 0, 0, 0, 0, 419, 0, 92, 93, - 0, 95, 235, 0, 0, 42, 236, 237, 0, 0, - 0, 410, 1416, 0, 0, 238, 0, 0, 0, 226, - 0, 0, 0, 0, 0, 299, 0, 227, 228, 0, + 46, 491, 366, 706, 272, 407, 134, 745, 705, 401, + 106, 108, 494, 480, 153, 293, 108, 645, 338, 331, + 646, 108, 108, 958, 339, 484, 330, 727, 1160, 1112, + 914, 1245, 1010, 403, 556, 315, 146, 817, 358, 360, + 488, 101, 493, 1247, 917, 548, 101, 366, 980, 145, + 1174, 101, 101, 108, 134, 940, 1224, 732, 106, 108, + 1340, 1270, 242, 108, 958, 365, 853, 1121, 1122, 1123, + 512, 1187, 433, 435, 1128, 1180, 1180, 121, 1463, 728, + 1392, 903, 1468, 101, 146, 1474, 317, 4, 1459, 101, + 913, 50, 436, 101, 1470, 1136, 1137, 145, 1458, 379, + 228, 229, 1597, 1590, 321, 650, -195, 388, 4, 92, + 4, 1345, 417, 154, 1362, 939, 558, 4, 1033, -197, + 1182, -182, -236, 1310, 4, 121, -266, 8, 419, 1668, + 35, 108, 1030, 432, -766, 100, 465, 466, 4, 284, + 288, 135, 4, -412, 305, -732, -195, 641, 8, 1668, + 8, 272, 4, 215, 421, 1345, 1669, 8, 222, 37, + 1346, 101, 1014, 1363, 8, 617, 707, -413, 322, 52, + 4, 4, 4, 1034, -766, 434, 1669, 708, 8, 651, + 294, 4, 8, -412, 669, 429, 1337, 92, 38, 135, + 285, -466, 8, 833, 50, 653, 1332, 338, 1641, -1026, + 1270, -1026, 511, 339, 1346, 685, 4, -413, 4, 4, + 8, 8, 8, 100, 4, 964, 349, -339, 1460, 45, + 45, 8, 1683, 45, 1471, 45, 416, 597, 417, 4, + 605, 417, 435, 1591, 4, 506, 4, 520, 1572, 689, + 984, 519, 689, 537, 419, 435, 8, 419, 8, 8, + 549, 436, 379, 519, 8, -542, 787, 9, 10, 11, + 12, 1306, 1459, 998, 692, 76, 656, 67, 467, 8, + 421, 525, 1458, 421, 8, 280, 8, 511, 511, 511, + 417, 15, 79, 101, 108, 51, 1216, 1555, 63, 4, + 238, 534, 535, 866, -195, 347, 419, -195, 1452, 92, + -195, 379, 15, 415, 15, 463, 1391, 1130, 1012, 683, + 731, 15, 471, 866, 101, 305, 95, 96, 15, 98, + 1355, 1145, 421, 45, 231, 100, 305, 952, -766, 8, + 272, 495, 15, 108, 867, 760, 15, -412, 644, 305, + 715, 1358, 416, 108, 216, 416, 15, 1103, 610, 223, + 980, 272, 272, 313, 867, 495, 580, 1055, 762, 807, + 14, -413, 509, 101, 15, 15, 15, 1129, 1338, 944, + -137, 730, 430, 101, 1135, 15, 1459, 1138, 1672, 1641, + 305, 1144, 1251, 1362, 1572, 933, -541, 733, 51, 236, + -542, 1087, 1460, 1100, 416, 1686, 1459, 1273, -476, 1335, + 15, 965, 15, 15, 576, 45, 4, 4, 15, 4, + 242, 136, 499, 744, 500, 501, 502, 1282, 108, 663, + 665, 1387, 1383, 15, 749, 751, -510, 151, 15, 491, + 15, 231, 1363, 228, 229, 1016, 486, 509, 509, 509, + 494, 643, 1020, 769, -542, 520, 8, 8, 703, 8, + 857, 847, 976, 484, 108, 734, 108, 1278, 577, 136, + 974, 882, 897, 900, 977, 978, 158, 1534, 488, 560, + 493, -510, 911, 495, 1643, 925, 1270, 495, 1564, 228, + 229, 926, 822, 15, 101, 729, 101, 487, 1598, 503, + 755, 561, 77, 433, 143, 613, 236, 770, 366, 78, + 1599, 1051, 366, 366, 433, 95, 96, 350, 98, 207, + 108, 1279, 45, 477, 832, 1180, 351, 511, 828, 108, + 209, 798, 745, 147, 787, 850, 150, 745, 85, 86, + 92, 706, 1233, 536, 477, 1079, 705, 1081, 228, 229, + 101, 60, 143, 101, 842, -939, 65, 1574, 66, 101, + 108, 108, 1524, 290, 983, 1021, 100, 837, 478, 108, + 108, 501, 502, 958, 837, 432, 1302, 1013, 1544, 1524, + 733, 147, 1244, -541, 150, 703, 14, 732, 45, 478, + 101, 101, 228, 229, 108, 108, 231, 277, 1364, 101, + 101, 1389, 1550, 1377, 1633, 703, 744, 307, 272, 108, + 15, 15, 308, 15, -89, 309, -90, 434, 1684, 61, + -89, 62, -90, 92, 101, 101, 1160, 829, 237, -525, + 1685, 45, -525, 238, 154, 288, -236, -525, 946, 101, + 95, 96, 1022, 98, 310, 503, 304, 45, 456, 100, + 14, 234, 235, 457, 957, 231, 1112, 901, 1489, 1490, + 45, 236, 237, 1376, -61, 297, 912, 238, 400, 238, + 95, 96, 402, 98, 237, 559, 560, 45, 981, 238, + -93, 424, 1237, 678, 425, 679, -93, 509, -92, 936, + 937, 938, 414, 108, 1482, 957, 1670, 1574, 561, 231, + 415, 305, 672, 1574, 707, 673, 519, 360, 14, -276, + 1225, 95, 96, 995, 98, 708, 1670, 313, 311, 690, + 236, 1007, 691, 101, 232, 85, 86, 1045, 1046, 95, + 96, 812, 98, 237, 813, 1018, 45, 1019, 238, 318, + 537, 1105, 14, -277, -1027, 1098, -1027, 320, 233, 1078, + 549, 319, 549, 814, 234, 235, 815, 1047, 1126, 219, + 220, 221, 324, 227, 236, 1048, 1160, 1052, 1582, 1418, + 572, 852, 1139, 95, 96, 909, 98, 237, 910, 325, + 45, 572, 238, 1102, 998, 240, 915, 1183, 1184, 916, + 597, 92, 333, 241, 925, 108, 605, 1405, 919, 1406, + 926, 920, 9, 10, 11, 12, 1691, 1692, 95, 96, + 1168, 98, 340, 1124, 341, 45, 1026, 100, 353, 1251, + 941, 211, 212, 942, 644, 101, 354, 645, 866, 108, + 646, 397, 398, 63, 39, 40, 41, 42, 941, 361, + 731, 943, 43, 563, 570, 511, 108, 108, 44, 988, + 45, 372, 989, 108, 108, 108, 108, 362, 108, 101, + 108, 108, 108, 95, 96, 373, 98, 866, 1171, 867, + 45, 1031, 760, 1372, 1032, 1486, 101, 101, 1131, 1494, + 388, 1132, 392, 101, 101, 101, 101, 423, 101, 394, + 101, 101, 101, 1161, 108, 1147, 1243, 399, 1148, 95, + 96, 730, 98, 396, 1198, 14, 45, 1199, 867, 108, + 108, 297, 419, 308, 414, 1155, 1095, 733, 417, 1208, + 1210, 415, 1209, 1211, 101, -223, 382, 643, 383, 519, + 1198, 384, 385, 1218, 419, 1464, 1465, 1466, 744, 101, + 101, 1234, 1127, 744, 1235, 310, 95, 96, 427, 98, + 386, 272, 1298, 45, 454, 1299, 108, 1143, 1175, 307, + 421, 452, 460, 706, 308, 1437, 461, 381, 705, 95, + 96, 285, 98, 605, 417, 1213, 45, 382, 1378, 383, + 473, 1379, 384, 385, 1393, 734, 703, 1394, 1412, 745, + 419, 1413, 1162, 476, 485, 516, 310, 1492, 96, 1444, + 98, 386, 1445, 919, 45, 509, 1515, 515, 1529, 242, + 1238, 1530, 882, 242, 530, 729, 421, 557, 1304, 1710, + 1051, 554, 1711, 1625, 228, 229, 559, 755, 897, 572, + 591, 645, 416, 45, 646, 619, 667, 657, 1487, 1440, + -97, -97, 1487, -97, 668, 1374, 676, -97, 670, 108, + 671, 677, -234, -97, 549, -1026, -229, -1026, 433, 1307, + 1308, 1161, 108, 684, 682, 798, 687, -224, 700, 698, + 39, 40, 41, 42, 712, 307, 710, 366, 43, 101, + 308, 722, 1309, 1371, 44, 725, 717, 718, 1326, 719, + 610, 765, 101, 382, 764, 383, 601, 724, 384, 385, + 108, 767, 768, 602, 772, 603, 604, 788, 792, 745, + 703, 403, 310, 9, 10, 11, 12, 386, -1026, 1442, + -1026, 793, 795, 796, 809, 806, 707, 819, 108, 811, + 101, 231, 108, 108, 824, 733, 823, 708, 851, -100, + -100, 860, -100, -1026, 63, -1026, -100, 858, 644, 703, + 863, 1310, -100, 108, 862, 864, 232, 921, 101, 927, + 829, 744, 101, 101, 928, 930, 231, 934, 1434, 948, + 213, 214, 954, 972, 973, 975, 9, 10, 11, 12, + 233, 228, 229, 101, 979, 276, 234, 235, -230, 281, + 775, 232, 437, 1397, 957, 292, 236, 1311, 987, 990, + 991, 9, 10, 11, 12, 95, 96, 63, 98, 237, + 999, 1000, 45, 1626, 238, 1312, 14, 240, 1434, 1001, + 1004, 1313, 1314, 1434, 995, 241, -950, 1434, 1013, 1375, + 1434, 236, 63, 1441, 1014, -99, -99, 1017, -99, 1078, + 1315, 1316, -99, 1317, 1318, -449, 1023, 45, -99, 1319, + 1041, 643, 240, 1057, 1058, 1059, 1061, 1066, 1065, 1168, + 241, 1069, 1071, 348, 998, 1075, 1083, 85, 86, 776, + 777, 1086, 1734, 363, 1495, 1496, 1497, 1498, 1052, 14, + 1089, 1094, 310, 1106, 1107, 1109, 1114, 126, 231, -951, + 108, 1078, 126, 1116, 108, 1125, 1134, 126, 126, 778, + 1153, 779, 780, 781, 14, 1197, 782, 783, 1158, 784, + 785, 108, 1200, 232, -138, 1201, 1202, 1203, 1205, 1207, + 101, 1212, 1217, 1226, 101, 1227, 1236, 1448, 108, 302, + 1228, 1260, 1262, 1290, 1277, 126, 1276, 233, 1280, 302, + 1293, 101, 1297, 234, 235, 1300, 1301, 1342, 1563, 108, + 1333, 1350, 644, 236, 1664, 1359, 1367, 108, 101, 1368, + 1369, 1373, 95, 96, 1663, 98, 237, 1273, 1434, 45, + 1383, 238, 1386, 1028, 240, 1395, 1402, 1407, 108, 101, + 464, 1679, 241, 1409, 1408, 469, 1410, 101, 472, 1414, + 1443, -524, 1434, 1450, 1451, 481, 1476, 1453, 1475, 1485, + 1480, 1483, 366, 1488, 1491, 1516, 1517, 126, 703, 505, + 1519, 1520, 514, 1521, 1526, 1527, 1537, 1532, 1538, 366, + 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, + 1509, 1557, 1510, 1561, 1562, 1487, 1543, 108, 1565, 1566, + 242, 644, 1567, 1568, 1575, 1569, 108, 1213, 586, 587, + 1570, 588, 1571, 1576, 1578, 643, -382, 1588, 1657, 1587, + 600, 1589, 608, -255, 1511, 1594, 1595, 549, 1596, 684, + 1512, 1513, 1601, 612, 1635, 614, 101, 1642, 1338, 1656, + 825, 1161, 108, 1659, 1665, 1676, 1667, 1680, 5, -1026, + 6, -1026, 108, 1714, 1456, 659, 1675, 7, 1708, 1681, + 272, 81, 1682, 108, 1700, 1726, 1434, 1434, 1434, 1607, + 228, 229, 101, 1728, 1434, 1703, 1705, 1706, 1709, 1713, + 1733, 1687, 101, 1720, 1721, 1739, 1434, 1434, 1722, 1729, + 1732, 1736, 1744, 101, 1742, 306, 1740, 1157, 53, 1241, + 1434, 1242, 681, 1461, 643, 1469, 1455, 9, 10, 11, + 12, 366, 1003, 541, 162, 1438, 1462, 108, 774, -197, + 126, 1586, 48, 686, 164, 165, 1246, 166, 1580, 1579, + 167, 674, 713, 826, 169, 827, 716, 1673, 13, 1063, + 829, 1287, 1629, 228, 229, 1674, 426, 723, 1573, 1677, + 1064, 1008, 746, 1259, 1221, 1249, 1477, 1296, 1727, 1688, + 1678, 1074, 1416, 1707, 748, 750, 709, 1146, 761, 126, + 1231, 820, 830, 1651, 763, 541, 541, 231, 1712, 302, + 1265, 1161, 108, 1349, 1647, 1536, 831, 92, 1631, 228, + 229, 794, 1649, 1531, 694, 459, 1652, 693, 697, 695, + 808, 1044, 232, 1080, 95, 96, 1082, 98, 696, 810, + 14, 45, 101, 100, 1076, 848, 849, 818, 835, 547, + 836, 654, 821, 1554, 1735, 1356, 233, 1737, 932, 1172, + 571, 838, 234, 235, 839, 1133, 840, 1545, 80, 841, + 1745, 861, 236, 640, 1181, 1548, 1583, 108, 935, 843, + 231, 95, 96, 1151, 98, 237, 1149, 844, 45, 582, + 238, 1360, 152, 240, 995, 1724, 470, 845, 714, 846, + 994, 241, 64, 1399, 947, 232, 1398, 101, 986, 1560, + 1162, 1702, 1401, 0, 1330, 0, 0, 971, 0, 0, + 302, 743, 302, 0, 0, 0, 231, 0, 0, 233, + 0, 0, 0, 945, 0, 234, 235, 0, 0, 0, + 0, 0, 0, 0, 953, 236, 0, 0, 0, 0, + 0, 232, 0, 970, 95, 96, 0, 98, 237, 0, + 0, 45, 0, 238, 0, 0, 240, 0, 0, 0, + 0, 0, 0, 0, 241, 233, 302, 0, 0, 0, + 0, 234, 235, 0, 0, 302, 0, 0, 0, 0, + 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 96, 0, 98, 237, 228, 229, 45, 0, 238, + 0, 0, 240, 0, 0, 0, 302, 302, 1011, 0, + 241, 0, 0, 0, 0, 302, 302, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, + 0, 1024, 0, 1025, 541, 0, 0, 0, 0, 0, + 302, 302, 228, 229, 0, 0, 0, 0, 1043, 0, + 0, 0, 0, 0, 1056, 302, 885, 0, 886, 887, + 888, 889, 0, 890, 0, 891, 892, 0, 0, 0, + 541, 0, 893, 0, 894, 895, 896, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1070, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 229, 0, 1084, + 0, 0, 231, 437, 1085, 438, 1088, 439, 440, 441, + 442, 541, 443, 0, 0, 0, 0, 444, 445, 446, + 447, 0, 0, 0, 871, 0, 0, 232, 872, 873, + 874, 875, 876, 877, 1101, 231, 0, 0, 0, 302, + 878, 879, 880, 881, 0, 1111, 0, 0, 0, 231, + 0, 233, 0, 0, 448, 449, 0, 234, 235, 0, + 232, 0, 0, 0, 0, 0, 0, 236, 0, 0, + 0, 0, 0, 0, 232, 0, 95, 96, 0, 98, + 237, 0, 0, 45, 233, 238, 0, 1188, 240, 0, + 234, 235, 1150, 0, 0, 0, 241, 0, 1152, 0, + 236, 0, 0, 231, 234, 235, 0, 0, 0, 95, + 96, 0, 98, 237, 236, 0, 45, 0, 238, 0, + 0, 240, 0, 95, 96, 0, 98, 237, 232, 241, + 45, 0, 238, 0, 1193, 240, 0, 1195, 1196, 0, + 0, 302, 0, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 233, 0, 0, 0, 0, 0, 234, 235, + 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 302, 0, 95, 96, 0, + 98, 237, 0, 0, 45, 0, 238, 0, 0, 240, + 0, 0, 302, 302, 0, 0, 0, 241, 0, 302, + 302, 302, 302, 0, 302, 0, 302, 302, 302, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1274, 0, 0, 1275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 231, 0, 1283, 0, 1284, 0, 0, + 126, 0, 1288, 0, 0, 0, 0, 0, 345, 1294, + 1295, 0, 0, 541, 0, 302, 302, 0, 232, 364, + 0, 0, 0, 0, 0, 0, 0, 0, 1303, 1305, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1334, 0, 1336, 0, 0, 303, 234, 235, + 0, 0, 0, 0, 0, 1344, 0, 312, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 95, 96, 0, + 98, 237, 0, 0, 45, 0, 238, 0, 0, 240, + 413, 0, 0, 0, 0, 0, 743, 241, 422, 541, + 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 413, 228, 229, 620, 0, 0, 0, + 0, 0, 0, 0, 0, 1380, 0, 0, 0, 1382, + 0, 0, 0, 1385, 0, 1388, 1390, 0, 0, 0, + 0, 0, 0, 621, 0, 0, 1396, 0, 0, 0, + 0, 622, 0, 623, 624, 625, 626, 0, 627, 0, + 628, 629, 0, 0, 0, 302, 510, 513, 0, 0, + 0, 0, 0, 0, 1411, 0, 0, 0, 126, 544, + 0, 1417, 555, 0, 1436, 0, 0, 1439, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 583, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 299, 0, 0, 0, 0, 0, 299, - 299, 299, 299, 0, 299, 0, 299, 299, 299, 0, - 0, 0, 0, 0, 507, 510, 0, 0, 0, 0, - 1271, 0, 0, 1272, 0, 0, 0, 541, 0, 0, - 552, 0, 0, 0, 0, 1280, 0, 1281, 0, 0, - 123, 0, 1285, 0, 0, 0, 580, 582, 0, 1291, - 1292, 0, 0, 538, 0, 299, 299, 0, 0, 0, - 0, 0, 593, 1453, 0, 593, 0, 0, 1300, 1302, - 226, 0, 0, 0, 0, 0, 0, 0, 227, 228, - 0, 0, 1331, 230, 1333, 226, 0, 615, 0, 361, - 361, 507, 0, 227, 228, 1341, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 0, 0, 0, 672, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 232, 233, 741, 300, 0, 538, - 741, 1160, 1161, 0, 234, 0, 0, 309, 0, 1162, - 0, 1163, 1164, 92, 93, 0, 95, 235, 0, 0, - 42, 236, 237, 0, 0, 1377, 0, 0, 0, 1379, - 238, 0, 0, 1382, 0, 1385, 1387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1393, 0, 0, 0, - 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 0, 0, 0, 230, - 0, 0, 0, 0, 1408, 0, 0, 744, 123, 231, - 756, 1414, 1668, 0, 1433, 0, 0, 1436, 0, 226, - 0, 0, 763, 0, 231, 232, 233, 227, 228, 0, - 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, - 232, 233, 1443, 0, 92, 93, 299, 95, 235, 1712, - 234, 42, 236, 237, 0, 0, 226, 0, 0, 92, - 93, 238, 95, 235, 227, 228, 42, 236, 237, 0, - 0, 0, 0, 0, 299, 0, 238, 0, 299, 299, - 0, 0, 0, 0, 1475, 0, 1476, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 0, 0, 0, 0, 1727, 0, 0, 0, 0, 538, - 538, 226, 0, 0, 0, 0, 0, 1515, 0, 227, - 228, 0, 0, 1519, 0, 0, 0, 0, 0, 507, - 0, 0, 0, 230, 0, 0, 0, 0, 0, 1530, - 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, - 0, 540, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 1543, 0, 1544, 957, 0, 1546, 0, 1548, 1549, - 230, 1550, 0, 0, 232, 233, 0, 0, 0, 0, - 0, 0, 1553, 410, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 93, 231, 95, 235, 0, 0, - 42, 236, 237, 0, 0, 957, 0, 0, 0, 0, - 238, 232, 233, 628, 628, 0, 989, 0, 990, 0, - 0, 234, 0, 0, 0, 230, 0, 0, 0, 0, - 92, 93, 0, 95, 235, 1582, 0, 42, 236, 237, - 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, - 231, 0, 0, 0, 0, 0, 0, 299, 1024, 0, - 1026, 0, 0, 0, 0, 0, 232, 233, 1034, 0, - 0, 1039, 0, 0, 299, 0, 234, 0, 0, 0, - 0, 0, 0, 0, 0, 92, 93, 0, 95, 235, - 0, 0, 42, 236, 237, 299, 0, 0, 0, 1631, - 0, 0, 238, 299, 0, 1641, 0, 0, 0, 0, - 1645, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1650, 1651, 1652, 0, 0, 0, 0, 300, 300, - 1621, 0, 1655, 0, 0, 0, 226, 0, 0, 0, - 1657, 0, 1659, 0, 227, 228, 0, 1622, 0, 0, - 0, 0, 0, 0, 0, 538, 538, 1096, 0, 0, + 0, 0, 1446, 0, 596, 0, 302, 596, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 229, 931, 0, 618, + 0, 364, 364, 510, 302, 0, 232, 0, 302, 302, + 228, 229, 230, 0, 1478, 0, 1479, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 675, 0, 0, 302, + 233, 0, 0, 0, 0, 0, 234, 235, 92, 541, + 541, 543, 0, 0, 0, 0, 236, 1518, 0, 0, + 0, 0, 0, 1522, 0, 95, 96, 0, 98, 237, + 0, 0, 630, 0, 508, 0, 0, 240, 0, 1533, + 0, 0, 0, 1535, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 507, 507, 507, - 507, 0, 0, 1597, 813, 507, 0, 0, 0, 1604, - 0, 507, 299, 0, 0, 226, 0, 0, 0, 0, - 0, 0, 0, 227, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 0, 0, 0, 0, - 0, 0, 0, 0, 899, 902, 0, 1153, 123, 0, - 0, 0, 1698, 899, 902, 0, 0, 0, 299, 0, - 0, 0, 0, 1701, 0, 0, 0, 361, 1034, 299, - 230, 0, 628, 0, 580, 1626, 0, 1186, 899, 902, - 0, 226, 0, 0, 0, 0, 0, 0, 0, 227, - 228, 0, 0, 309, 0, 231, 0, 0, 0, 0, - 0, 1720, 0, 0, 1722, 410, 0, 0, 956, 0, - 0, 232, 233, 1216, 0, 0, 0, 0, 0, 0, - 0, 234, 0, 1597, 0, 0, 0, 0, 0, 230, - 92, 93, 0, 95, 235, 0, 0, 42, 236, 237, - 0, 0, 0, 1253, 0, 0, 0, 238, 0, 956, - 0, 0, 1258, 0, 231, 0, 1261, 756, 0, 1264, - 1265, 0, 1266, 0, 0, 0, 0, 0, 0, 0, - 232, 233, 0, 0, 0, 0, 0, 300, 0, 0, - 234, 0, 0, 0, 0, 0, 0, 0, 123, 92, - 93, 0, 95, 235, 0, 230, 42, 236, 237, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 0, 0, - 0, 0, 0, 0, 0, 580, 0, 0, 1326, 0, - 231, 1328, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1628, 0, 232, 233, 0, 0, - 226, 0, 0, 0, 0, 0, 234, 0, 227, 228, - 0, 507, 0, 0, 0, 92, 93, 0, 95, 235, - 0, 0, 42, 236, 237, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 0, 0, 0, 0, 309, + 0, 1546, 0, 1547, 0, 0, 1549, 0, 1551, 1552, + 0, 1553, 231, 631, 631, 0, 0, 0, 0, 0, + 0, 0, 1556, 0, 0, 228, 229, 231, 0, 747, + 0, 0, 759, 0, 0, 0, 0, 232, 0, 0, + 0, 0, 0, 0, 766, 0, 0, 0, 0, 0, + 0, 0, 232, 885, 0, 886, 0, 888, 889, 0, + 890, 233, 891, 892, 0, 0, 0, 234, 235, 893, + 0, 894, 895, 896, 0, 1585, 233, 236, 0, 0, + 0, 0, 234, 235, 0, 0, 95, 96, 0, 98, + 237, 0, 236, 45, 0, 238, 0, 302, 240, 0, + 0, 95, 96, 0, 98, 237, 241, 0, 45, 0, + 238, 0, 239, 240, 302, 0, 0, 0, 0, 0, + 0, 241, 0, 0, 0, 0, 0, 0, 303, 0, + 303, 0, 231, 0, 0, 302, 0, 0, 0, 1634, + 0, 0, 0, 302, 0, 1644, 0, 0, 0, 0, + 1648, 510, 0, 0, 0, 0, 0, 232, 0, 0, + 0, 1653, 1654, 1655, 0, 0, 0, 0, 0, 0, + 0, 0, 1658, 0, 0, 0, 0, 0, 0, 0, + 1660, 233, 1662, 0, 816, 0, 960, 234, 235, 0, + 0, 0, 0, 0, 0, 541, 541, 236, 0, 0, + 0, 0, 0, 0, 0, 413, 95, 96, 0, 98, + 237, 0, 0, 45, 0, 238, 0, 0, 240, 0, + 0, 0, 0, 1600, 902, 905, 241, 960, 0, 0, + 0, 0, 302, 902, 905, 0, 0, 0, 992, 0, + 993, 0, 0, 0, 0, 0, 0, 0, 0, 228, + 229, 752, 631, 0, 0, 1698, 0, 0, 902, 905, + 0, 0, 0, 228, 229, 0, 0, 0, 126, 0, + 0, 0, 1701, 312, 0, 0, 0, 0, 302, 0, + 0, 1027, 1029, 1704, 0, 0, 0, 0, 959, 302, + 1037, 0, 0, 1042, 0, 0, 0, 0, 0, 1163, + 1164, 0, 0, 0, 0, 2, 3, 1165, 0, 1166, + 1167, 0, 4, 0, 0, 0, 5, -1026, 6, -1026, + 0, 1723, 0, 0, 1725, 7, 0, 0, 0, 959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1600, 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 231, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1034, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, - 0, 0, 0, 957, 957, 0, 0, 226, 0, 0, - 899, 902, 0, 0, 0, 227, 228, 899, 902, 902, - 899, 0, 1137, 0, 899, 902, 1137, 0, 0, 0, - 0, 0, 0, 1412, 230, -225, -225, -225, 0, -225, - 0, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, 589, 0, 0, 0, 0, 231, - 0, 590, 0, 591, 592, 0, 0, 0, 1444, 0, - 0, 628, 1446, 1173, 1173, 232, 233, 0, 0, 1034, - 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, - 0, 0, 0, -225, 92, 93, 226, 95, 235, 0, - 0, 42, 236, 237, 227, 228, 0, 226, 0, 0, - 0, 238, 0, 1478, 0, 227, 228, 0, 0, 0, - -765, 230, 0, 0, 0, 0, 0, 1481, 0, 0, - 0, 0, 0, 0, 882, 0, 883, 884, 885, 886, - 0, 887, 0, 888, 889, 0, 231, 1252, 0, 0, - 890, 0, 891, 892, 893, 0, 0, 0, 0, 0, - -765, 0, 232, 233, 0, 1034, 0, 0, 0, 0, - 0, 0, 234, 0, 0, 0, 0, 1539, 0, 507, - 0, 92, 93, 0, 95, 235, 0, 0, 42, 236, - 237, -225, -225, -225, -225, 0, 0, 0, 238, 1186, - 0, 1186, 0, 0, 0, 0, 0, 0, 0, 0, - 230, 0, 0, 813, 0, 0, 0, 0, 0, 0, - 0, 230, -225, 0, 0, -225, -225, -225, 0, 0, - 412, 0, 0, 0, 0, 231, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 0, 0, 1253, - 1253, 232, 233, 0, 0, 0, 1578, 1034, 0, 0, - 0, 234, 232, 233, 902, 0, 0, 0, 0, 0, - 92, 93, 234, 95, 235, 0, 1216, 42, 236, 237, - 0, 92, 93, 0, 95, 235, 0, 238, 339, 236, - 237, 0, 309, 0, -765, 0, 899, 902, 238, 0, - 0, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, - 1615, 1616, 1617, 1618, 1619, 1620, 1624, 1625, 1627, 1629, - 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, - 0, 0, -88, -88, -88, 0, -88, 0, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 231, 0, 0, 0, 0, 9, 10, 11, 12, 1099, + 0, 232, 0, 0, 0, 0, 753, 0, 0, 0, + 0, 0, 0, 0, 0, 232, 0, 0, 0, 510, + 510, 510, 510, 0, 0, 233, 13, 510, 126, 0, + 0, 234, 235, 510, 228, 229, 230, 0, 0, 233, + 0, 236, 0, 0, 0, 234, 235, 0, 228, 229, + 95, 96, 0, 98, 237, 236, 0, 45, 0, 238, + 0, 754, 240, 0, 95, 96, 0, 98, 237, 1156, + 241, 45, 0, 238, 0, 0, 240, 0, 0, 312, + 0, 0, 0, 0, 241, 592, 405, 0, 0, 364, + 1037, 0, 593, 0, 594, 595, 583, 0, 14, 1189, + 0, -202, -202, -202, -202, 0, 0, 0, 0, -202, + 406, 0, 0, 0, 0, -202, 228, 229, 0, 0, + 0, 0, 0, 0, 0, 0, 15, 413, 0, 0, + 902, 905, 0, 0, 0, 1219, 0, 902, 905, 905, + 902, 231, 1140, 0, 902, 905, 1140, 0, 0, 0, + 0, 0, 0, 601, 0, 231, 0, 0, 0, 0, + 602, 0, 603, 604, 0, 1256, 232, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1261, 0, 1264, 759, + 232, 1266, 1268, 0, 1269, 0, 228, 229, 507, 0, + 233, 631, 0, 1176, 1176, 0, 234, 235, 0, 0, + 0, 0, 0, 0, 233, 0, 236, 0, 0, 0, + 234, 235, 0, 0, 0, 95, 96, 0, 98, 237, + 236, 0, 45, 231, 238, 0, 239, 240, 0, 95, + 96, 0, 98, 237, 0, 241, 45, 583, 238, 0, + 1329, 240, 0, 1331, 0, 0, 0, 0, 232, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1663, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1255, 0, 0, + 0, 0, 233, 510, 0, 0, 0, 0, 234, 235, + 0, 0, 228, 229, 0, -765, 0, 0, 236, 0, + 0, 0, 0, 231, 0, 0, 0, 95, 96, 0, + 98, 237, 0, 0, 45, 0, 238, 0, 0, 240, + 0, 0, 0, 0, 0, 0, 0, 241, 232, 0, + 0, 0, 0, 1037, 0, -765, 0, 0, 0, 0, + 0, 0, 0, 816, 0, 0, 1189, 0, 0, 0, + 0, 0, 233, 0, 0, 960, 960, 0, 234, 235, + 92, 0, 228, 229, 0, 4, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 95, 96, 0, + 98, 237, 0, 0, 45, 1415, 508, 0, 0, 240, + 0, 0, 0, 0, 905, 0, 0, 241, 0, 231, + 0, 0, 0, 0, 0, 8, 228, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -88, 0, 0, 0, 0, 0, 1216, 0, 0, 0, - 0, 226, 0, 0, 0, 0, 0, 0, 0, 227, - 228, 617, 0, 1690, 0, 0, 0, 0, 0, 0, + 1447, 0, 312, 0, 232, 1449, 902, 905, 0, 0, + 0, 1037, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, + 0, 0, 0, 0, 234, 235, 0, 959, 959, 0, + 0, 0, 0, 0, 236, 0, 0, 0, 0, 231, + 1481, 0, 0, 95, 96, 0, 98, 237, 0, 1484, + 342, 0, 238, 0, 0, 240, 0, 0, 0, -765, + 0, 0, 0, 241, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1691, 1692, 0, 0, 0, 1693, 0, 1694, 0, 0, - 618, 0, 0, 0, 0, 0, 0, 0, 619, 0, - 620, 621, 622, 623, 0, 624, 0, 625, 626, 0, + 0, 0, 0, 231, 0, 0, 0, 1037, 233, 0, + 0, 0, 0, 0, 234, 235, 0, 0, 0, 1542, + 0, 510, 0, 0, 236, 0, 0, 0, 232, 0, + 0, 0, 0, 95, 96, 0, 98, 237, 0, 0, + 45, 1189, 238, 1189, 0, 240, 0, 0, 0, 15, + 0, 0, 233, 241, 0, 228, 229, 1263, 234, 235, + 0, 0, 0, 0, 0, 0, 0, 0, 236, 228, + 229, 0, 0, 0, 0, 0, 0, 95, 96, 0, + 98, 237, 0, 0, 540, 0, 238, 0, 0, 240, + 1250, 1256, 1256, 0, 0, 905, 0, 241, 1581, 1037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -88, -88, - -88, -88, 902, 0, 0, 1716, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, - 0, 227, 228, 1173, 0, 230, 0, 0, 0, -88, - -88, 1728, -88, -88, -88, 0, -88, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1735, 0, 1716, 1738, - 231, 0, 0, 226, 0, 1740, 0, 0, 0, 0, - 1743, 227, 228, 0, 0, 0, 232, 233, 89, 0, - 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, - 0, 0, 0, 1252, 1252, 92, 93, 0, 95, 235, - 0, 868, 627, 505, 237, 869, 870, 871, 872, 873, - 874, 0, 238, 226, 0, 0, 0, 875, 876, 877, - 878, 227, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 0, 0, 905, 0, 0, 0, 0, 0, 1219, 0, + 0, 0, 0, 0, 0, 0, 228, 229, 0, 0, + 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, + 228, 229, 0, 1609, 1610, 1611, 1612, 1613, 1614, 1615, + 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1628, + 1630, 1632, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 228, 229, -395, 0, 232, 0, 0, + 0, 0, 0, 1255, 1255, 0, 0, 0, 0, 0, + 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 233, 0, 1666, 0, 0, 0, 234, 235, 0, + 0, 0, 0, 0, 0, 233, 0, 236, 0, 0, + 0, 234, 235, 231, 0, 0, 95, 96, 1219, 98, + 237, 236, 0, 45, 0, 238, 0, 231, 240, 0, + 95, 96, 0, 98, 237, 1693, 241, 45, 232, 238, + 0, 1267, 240, 228, 229, 0, 0, 0, 0, 0, + 241, 0, 232, 1694, 1695, 0, 902, 1696, 0, 1697, + 0, 0, 233, 0, 0, 0, 0, 902, 234, 235, + 231, 0, 0, 0, 0, 0, 233, 0, 236, 0, + 0, 0, 234, 235, 228, 229, 0, 95, 96, 0, + 98, 237, 236, 0, 45, 232, 238, 0, 1419, 240, + 0, 95, 96, 0, 98, 237, 0, 241, 45, 0, + 238, 0, 1456, 240, 0, 0, 0, 1719, 0, 233, + 0, 241, 0, 0, 0, 234, 235, 228, 229, 0, + 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, + 0, 228, 229, 1731, 95, 96, 0, 98, 237, 0, + 231, 45, 0, 238, 0, 0, 240, 0, 1738, 0, + 1719, 1741, 0, 0, 241, 0, 0, 1743, 0, 0, + 0, 0, 1746, 0, 0, 232, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 229, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 233, + 0, 0, 0, 0, 0, 234, 235, 0, 0, 0, + 0, 0, 0, 0, 0, 236, 232, 228, 229, 0, + 0, 0, 0, 0, 95, 96, 0, 98, 237, 0, + 0, 45, 0, 238, 231, 1671, 240, 0, 0, 0, + 233, 0, 0, 0, 241, 0, 234, 235, 231, 0, + 228, 229, 0, 0, 0, 0, 236, 0, 0, 232, + 0, 0, 0, 0, 0, 95, 96, 0, 98, 237, + 0, 0, 45, 232, 238, 0, 1715, 240, 0, 0, + 0, 0, 0, 233, 0, 241, 0, 0, 0, 234, + 235, 231, 0, 228, 229, 0, 0, 233, 0, 236, + 0, 0, 0, 234, 235, 0, 0, 0, 95, 96, + 0, 98, 237, 236, 0, 45, 232, 238, 0, 1730, + 240, 0, 95, 96, 231, 98, 237, 0, 241, 45, + 0, 238, 0, 0, 356, 228, 229, 0, 0, 0, + 233, 0, 241, 0, 0, 0, 234, 235, 0, 232, + 228, 229, 0, 0, 0, 0, 236, 231, 0, 0, + 0, 0, 0, 0, 0, 95, 96, 0, 98, 237, + 0, 0, 45, 233, 238, 0, 0, 359, 0, 234, + 235, 0, 232, 0, 0, 241, 0, 0, 0, 236, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 96, + 231, 98, 237, 0, 0, 45, 233, 238, 0, 0, + 408, 0, 234, 235, 0, 0, 0, 0, 241, 0, + 0, 0, 236, 0, 0, 232, -225, -225, -225, -225, + 0, 95, 96, 0, 98, 237, 0, 0, 45, 0, + 238, 0, 231, 240, -88, -88, -88, -88, 0, 233, + 0, 241, 0, 0, 0, 234, 235, 231, 0, 0, + 0, 0, 0, 0, 0, 236, 0, 232, 0, -225, + 0, 0, 0, 0, 95, 96, 0, 98, 237, 0, + 0, 540, 232, 238, 0, 0, 240, -88, 0, 0, + 0, 233, 0, 0, 241, 0, 0, 234, 235, 0, + 0, 0, 0, 0, 0, 0, 233, 236, 0, 0, + 0, 0, 234, 235, 0, 0, 95, 96, 0, 98, + 237, 0, 236, 45, 0, 238, 0, 0, 1036, 0, + 0, 95, 96, 0, 98, 237, 241, 0, 1090, 0, + 1091, 0, 82, 1092, 0, 0, 0, 0, 0, 83, + 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 883, 0, 885, 886, 0, 887, 0, - 888, 889, 231, 0, 0, 0, 1304, 890, 0, 891, - 892, 893, 0, 0, 1305, 1306, 899, 230, 232, 233, - 0, 0, 0, 0, 0, 0, 0, 899, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 93, 1307, - 95, 235, 231, 226, 537, 236, 237, 1247, 0, 0, - 0, 227, 228, 598, 238, 0, 0, 0, 232, 233, - 599, 0, 600, 601, 0, 0, 0, 230, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 0, 0, 42, 236, 237, 0, 0, 0, - 598, 0, 231, 226, 238, 0, 0, 599, 0, 600, - 601, 227, 228, 0, 0, 1308, 4, 0, 232, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, - 230, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 0, 226, 42, 236, 237, 0, 0, 0, - 0, 227, 228, 504, 238, 231, 8, 0, 0, 0, - 0, 1309, 0, 0, 0, 0, 0, 230, 0, 0, - 0, 1310, 1311, 0, 0, 0, 0, 226, 0, 0, - 0, 234, 0, 0, 0, 227, 228, 0, 0, 0, - 1312, 1313, 231, 1314, 1315, 0, 0, 42, 1316, 237, - 0, 0, 0, 0, 0, 0, 0, 238, 232, 233, - 0, 0, 0, 0, 226, 0, 0, 230, 234, 0, - 0, 0, 227, 228, 928, 0, 0, 92, 93, 0, - 95, 235, 0, 0, 42, 236, 237, 0, 0, 0, - 0, 0, 231, 226, 238, 0, 0, 0, 0, 0, - 0, 227, 228, 1260, 0, 0, 0, 230, 232, 233, - 397, 0, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 231, 0, 42, 236, 237, 0, 0, 0, - 12, 230, 0, 226, 238, 0, 0, 0, 232, 233, - 89, 227, 228, -395, 0, 0, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 231, 92, 93, 0, - 95, 235, 226, 0, 42, 505, 237, 0, 230, 0, - 227, 228, 232, 233, 238, 0, 0, 0, 0, 0, - 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 93, 231, 95, 235, 0, 230, 42, 236, - 237, 0, 0, 0, 0, 0, 0, 226, 238, 232, - 233, 0, 0, 0, 0, 227, 228, 0, 226, 234, - 0, 0, 231, 0, 0, 0, 227, 228, 92, 93, - 0, 95, 235, 0, 0, 42, 236, 237, 232, 233, - 0, 0, 0, 0, 0, 238, 0, 230, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 0, 0, 42, 236, 237, 0, 0, 0, - 0, 0, 231, 226, 238, 0, 230, 0, 0, 0, - 0, 227, 228, 0, 0, 0, 0, 0, 232, 233, - 0, 0, 0, 0, 0, 0, 0, 226, 234, 0, - 0, 231, 0, 0, 0, 227, 228, 92, 93, 0, - 95, 235, 0, 0, 42, 236, 237, 232, 233, 0, - 0, 230, 0, 0, 238, 0, 226, 234, 0, 0, - 0, 0, 230, 0, 227, 228, 92, 93, 0, 95, - 235, 0, 0, 42, 236, 353, 231, 0, 0, 0, - 0, 0, 0, 238, 0, 0, 226, 231, 0, 0, - 0, 0, 232, 233, 227, 228, 0, 0, 0, 0, - 0, 0, 234, 232, 233, 0, 0, 0, 0, 0, - 0, 92, 93, 234, 95, 235, 0, 230, 42, 236, - 356, 0, 92, 93, 0, 95, 235, 0, 238, 42, - 236, 405, 0, 0, 0, 0, 0, 0, 0, 238, - 0, 230, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, - 0, 0, 0, 0, 0, 0, 231, 0, 234, 0, - 230, 0, 0, 0, 0, 0, 0, 92, 93, 0, - 95, 235, 232, 233, 42, 236, 237, 0, 0, 0, - 0, 79, 234, 0, 238, 231, 0, 0, 80, 0, - 230, 92, 93, 0, 95, 235, 0, 0, 537, 236, - 237, 232, 233, 0, 0, 0, 0, 0, 238, 0, - 0, 234, 0, 0, 0, 231, 0, 0, 0, 0, - 92, 93, 0, 95, 235, 0, 0, 42, 236, 1033, - 0, 232, 233, 0, 0, 0, 0, 238, 81, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 93, 0, 95, 235, 82, 83, 1087, 1088, 1089, - 0, 0, 0, 0, 0, 0, 0, 238, 84, 0, + -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, + -225, 0, 0, -225, -225, -225, -225, -225, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, -88, 84, + 0, -88, -88, -88, -88, -88, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -225, -225, 0, 0, 85, + 86, -225, -225, -225, 0, 0, 415, 0, 0, 0, + 0, 0, 87, -88, -88, 0, 0, -88, 0, -88, + -88, -88, 0, -88, 0, 0, 0, 0, 0, 0, + 0, -450, 0, 88, 0, 89, 90, 0, 0, 0, + 0, -463, 0, -476, 0, 0, 0, 0, 91, 83, + 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, + 0, 0, 0, 0, -708, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -450, 0, 85, - 80, 86, 87, 0, 0, 0, 155, -463, 0, -476, - 0, 0, 0, 0, 88, -708, 156, 0, 0, 0, + 0, 0, 92, 0, 0, 93, 94, -334, 0, 0, + -334, -334, -334, -334, 0, 160, 0, 0, -334, 95, + 96, 97, 98, 0, -334, 0, 99, 0, 100, 0, + 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -708, -708, -708, 0, 162, + 0, 0, 87, 0, -708, 0, 163, 0, 0, 164, + 165, 0, 166, 0, 0, 167, 0, 83, 168, 169, + 170, 0, -708, 158, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 0, 0, 0, 83, + 0, 0, 0, 0, 171, 158, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, + 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, + 0, 0, 92, -708, -708, 93, 0, 0, 0, 0, + 0, 161, 0, 0, 0, 160, 0, 825, 0, 95, + 96, 0, 98, 0, 0, 0, 172, 162, 100, 0, + 87, -128, 0, 161, 163, 0, 0, 164, 165, 0, + 166, 0, 0, 167, 0, 0, 168, 169, 170, 162, + 0, 0, 87, -129, 0, 0, 163, 160, 0, 164, + 165, 0, 166, 0, 0, 167, 0, 0, 168, 169, + 170, 0, 171, 158, 0, 161, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 1041, 0, 0, 0, + 0, 162, 0, 0, 171, 0, 0, 0, 163, 0, + 92, 164, 165, 93, 166, 0, 0, 167, 0, 0, + 168, 169, 170, 160, 0, -128, 0, 95, 96, 0, + 98, 0, 92, 0, 172, 93, 100, 0, 0, 0, + 0, 161, 0, 0, 0, 0, 171, -129, 0, 95, + 96, 0, 98, 0, 0, 0, 172, 162, 100, 0, + 87, -125, 0, 0, 163, 0, 0, 164, 165, 0, + 166, 0, 0, 167, 92, 0, 168, 169, 170, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, 0, 90, 91, -334, - 0, 0, -334, -334, -334, -334, 157, 0, 0, 0, - -334, 92, 93, 94, 95, 0, -334, 0, 96, 97, - 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -708, -708, -708, 0, 159, 0, 0, - 84, 0, -708, 0, 160, 80, 0, 161, 162, 0, - 163, 155, 0, 164, 0, 0, 165, 166, 167, 0, - -708, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 0, 0, 0, 0, 0, 155, - 0, 0, 168, 0, 0, 0, 0, 0, 0, 156, - 0, 157, 0, 0, 0, 0, 89, -708, -708, 90, - 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, - 0, 0, 0, 92, 93, 0, 95, 0, 0, 157, - 169, 97, 159, 0, 0, 84, -128, 0, 0, 160, - 0, 0, 161, 162, 158, 163, 0, 0, 164, 0, - 0, 165, 166, 167, 0, 0, 0, 0, 0, 0, - 159, 0, 0, 84, -129, 0, 0, 160, 0, 0, - 161, 162, 0, 163, 155, 0, 164, 168, 0, 165, - 166, 167, 0, 0, 156, 0, 0, 0, 0, 0, - 0, 89, 0, 0, 90, 0, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 168, -128, 0, 92, 93, - 0, 95, 0, 0, 157, 169, 97, 0, 0, 89, - 0, 0, 90, 0, 0, 0, 0, 0, 0, 158, - 0, 0, 0, 0, -129, 0, 92, 93, 0, 95, - 0, 0, 157, 169, 97, 159, 0, 0, 84, -125, - 0, 0, 160, 0, 0, 161, 162, 158, 163, 0, - 0, 164, 0, 0, 165, 166, 167, 0, 1038, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 161, 162, 0, 163, 822, 0, 164, - 168, 0, 165, 166, 167, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, 0, 90, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 168, -125, - 0, 92, 93, 0, 95, 0, 0, 157, 169, 97, - 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 0, 0, 0, 0, 0, 0, 92, - 93, 0, 95, 0, 0, 0, 42, 97, 159, 0, - 0, 0, 0, 0, 0, 160, 0, 0, 161, 162, - 0, 163, 0, 0, 164, 0, 0, 165, 166, 167, + 0, 95, 96, 0, 98, 0, 0, 0, 45, 0, + 100, 0, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 93, 0, 0, 0, 161, 0, 0, + 0, 0, 0, 0, 0, -125, 0, 95, 96, 0, + 98, 0, 0, 162, 172, 0, 100, 0, 0, 0, + 163, 0, 0, 164, 165, 0, 166, 0, 0, 167, + 0, 0, 168, 169, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 93, 0, 95, 0, 0, - 0, 42, 97 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 95, 96, 0, 98, 0, 0, 0, + 45, 0, 100 }; static const yytype_int16 yycheck[] = { - 11, 294, 168, 459, 73, 220, 52, 288, 459, 213, - 52, 52, 294, 90, 56, 497, 57, 384, 154, 925, - 384, 62, 63, 655, 154, 291, 722, 494, 860, 606, - 52, 1011, 136, 219, 237, 109, 322, 551, 164, 165, - 52, 52, 294, 141, 1011, 294, 57, 213, 674, 319, - 939, 62, 63, 94, 100, 258, 987, 237, 100, 100, - 591, 52, 73, 104, 696, 497, 305, 601, 1033, 600, - 885, 886, 258, 259, 570, 869, 870, 871, 100, 495, - 940, 941, 876, 94, 1277, 168, 947, 172, 100, 100, - 110, 1104, 626, 104, 625, 1282, 1185, 3, 5, 1286, - 1516, 21, 1289, 19, 20, 24, 3, 945, 3, 100, - 3, 1277, 3, 56, 3, 3, 97, 1277, 24, 4, - 3, 5, 97, 27, 3, 3, 3, 24, 3, 5, - 3, 172, 3, 3, 3, 24, 47, 5, 110, 3, - 3, 24, 137, 382, 3, 24, 24, 3, 192, 24, - 353, 220, 52, 356, 198, 24, 732, 3, 64, 237, - 170, 172, 3, 739, 185, 146, 459, 64, 21, 3, - 3, 146, 3, 353, 3, 64, 356, 459, 3, 3, - 258, 64, 192, 24, 399, 64, 64, 1093, 3, 64, - 3, 24, 3, 560, 3, 64, 3, 333, 3, 194, - 100, 3, 405, 333, 3, 420, 3, 1172, 3, 24, - 3, 24, 24, 3, 3, 24, 159, 24, 192, 3, - 192, 132, 305, 64, 3, 405, 237, 353, 192, 259, - 356, 64, 418, 5, 1427, 304, 21, 311, 418, 425, - 325, 310, 428, 317, 21, 431, 24, 679, 1086, 64, - 319, 64, 64, 322, 24, 64, 522, 64, 1451, 19, - 20, 3, 18, 714, 3, 3, 22, 155, 279, 3, - 155, 147, 3, 189, 194, 353, 192, 193, 356, 198, - 976, 1697, 21, 294, 325, 1451, 64, 194, 192, 374, - 388, 1451, 198, 586, 497, 315, 316, 380, 381, 382, - 195, 198, 195, 1392, 195, 1270, 195, 200, 724, 198, - 194, 497, 201, 606, 325, 198, 1131, 497, 195, 198, - 198, 1182, 195, 198, 195, 195, 194, 405, 1122, 198, - 399, 195, 195, 374, 586, 501, 195, 24, 384, 195, - 331, 194, 353, 384, 878, 356, 877, 52, 359, 195, - 976, 420, 421, 884, 606, 851, 887, 198, 892, 1467, - 891, 195, 305, 374, 195, 198, 195, 29, 144, 31, - 195, 195, 1565, 384, 1567, 147, 155, 64, 52, 1565, - 1573, 620, 1014, 198, 195, 198, 198, 24, 418, 198, - 195, 198, 1585, 195, 405, 100, 195, 173, 195, 1585, - 195, 431, 195, 394, 395, 195, 195, 169, 170, 194, - 421, 195, 1599, 161, 192, 192, 155, 155, 459, 497, - 198, 155, 499, 500, 155, 194, 100, 64, 24, 722, - 192, 1566, 1427, 193, 111, 112, 192, 380, 381, 382, - 722, 384, 24, 185, 186, 519, 188, 97, 459, 52, - 192, 1586, 667, 719, 495, 496, 497, 561, 195, 48, - 664, 587, 588, 589, 668, 669, 24, 1356, 64, 24, - 722, 155, 598, 722, 572, 611, 679, 325, 1409, 1587, - 557, 611, 64, 1448, 495, 496, 497, 690, 1468, 195, - 501, 19, 20, 679, 171, 24, 146, 100, 664, 679, - 766, 1468, 668, 669, 690, 1518, 64, 125, 192, 64, - 551, 198, 193, 194, 560, 155, 97, 147, 560, 560, - 1380, 532, 111, 112, 790, 567, 374, 1342, 3, 1011, - 24, 987, 999, 1015, 161, 64, 987, 620, 560, 809, - 551, 811, 192, 554, 1359, 567, 114, 22, 560, 560, - 591, 592, 192, 19, 20, 192, 742, 52, 176, 600, - 601, 198, 742, 1195, 194, 146, 1080, 117, 118, 24, - 64, 1566, 1567, 1150, 192, 586, 1370, 192, 1573, 1011, - 591, 592, 171, 1015, 625, 626, 192, 24, 194, 600, - 601, 1586, 29, 192, 31, 606, 192, 125, 667, 640, - 168, 679, 198, 19, 20, 100, 194, 1513, 1588, 64, - 192, 192, 690, 24, 625, 626, 198, 560, 103, 21, - 22, 1588, 150, 108, 567, 193, 111, 24, 639, 640, - 1164, 29, 1163, 31, 192, 155, 155, 192, 166, 167, - 198, 22, 192, 198, 655, 1477, 194, 590, 176, 4, - 87, 175, 200, 64, 194, 140, 599, 185, 186, 125, - 188, 189, 168, 192, 192, 193, 194, 64, 679, 198, - 194, 195, 192, 3, 202, 33, 200, 620, 115, 622, - 623, 624, 18, 724, 194, 696, 22, 193, 18, 87, - 48, 168, 22, 175, 987, 3, 765, 823, 192, 173, - 166, 167, 988, 714, 198, 987, 183, 6, 7, 125, - 176, 722, 194, 724, 22, 194, 193, 115, 131, 185, - 186, 200, 188, 189, 99, 100, 192, 193, 194, 192, - 804, 189, 195, 173, 174, 193, 173, 192, 201, 808, - 809, 845, 811, 198, 24, 141, 183, 1653, 874, 29, - 192, 31, 1448, 195, 105, 853, 107, 768, 143, 1226, - 176, 198, 888, 192, 425, 125, 195, 428, 5, 185, - 186, 168, 188, 189, 1225, 173, 192, 193, 192, 193, - 906, 192, 173, 174, 920, 826, 912, 198, 185, 186, - 920, 188, 158, 159, 160, 192, 193, 1201, 113, 1203, - 926, 198, 192, 872, 4, 195, 194, 750, 1011, 1441, - 194, 201, 1015, 113, 860, 826, 176, 1184, 1111, 860, - 1184, 105, 106, 40, 41, 185, 186, 194, 188, 1015, - 1033, 1011, 192, 1602, 1603, 1015, 877, 878, 28, 29, - 30, 31, 38, 884, 885, 886, 887, 37, 889, 860, - 891, 892, 893, 1033, 194, 938, 194, 1150, 927, 1111, - 62, 63, 1028, 208, 209, 1321, 877, 878, 194, 1325, - 326, 327, 194, 884, 885, 886, 887, 47, 889, 193, - 891, 892, 893, 925, 925, 194, 1089, 194, 194, 201, - 12, 13, 14, 15, 16, 17, 18, 87, 1150, 940, - 941, 5, 29, 168, 31, 916, 201, 175, 23, 1089, - 176, 177, 178, 179, 925, 10, 8, 860, 184, 988, - 185, 186, 194, 188, 190, 115, 192, 192, 193, 940, - 941, 194, 875, 1011, 68, 69, 70, 1015, 72, 192, - 29, 1010, 31, 192, 192, 192, 987, 890, 4, 1230, - 5, 192, 147, 1409, 200, 1033, 169, 105, 1409, 194, - 87, 185, 186, 1089, 188, 976, 192, 29, 192, 31, - 195, 195, 168, 194, 1015, 5, 987, 176, 177, 178, - 179, 195, 925, 173, 5, 184, 1468, 5, 115, 185, - 186, 190, 188, 151, 3, 938, 192, 193, 87, 1010, - 1011, 175, 1128, 1014, 1015, 203, 1083, 175, 198, 1275, - 175, 1089, 195, 185, 186, 175, 188, 1028, 1144, 195, - 192, 1388, 1033, 195, 1388, 87, 115, 194, 1321, 1233, - 192, 1234, 1325, 5, 22, 1161, 192, 192, 3, 1080, - 162, 163, 164, 165, 1113, 194, 173, 3, 1234, 195, - 111, 1093, 1093, 115, 1234, 1066, 183, 99, 100, 101, - 102, 185, 186, 195, 188, 4, 174, 1233, 192, 1080, - 155, 195, 192, 3, 196, 197, 4, 3, 1089, 192, - 1091, 200, 1093, 11, 173, 194, 4, 4, 195, 131, - 1131, 19, 20, 21, 183, 185, 186, 139, 188, 114, - 1111, 1287, 192, 194, 194, 192, 1588, 185, 186, 135, - 188, 173, 185, 186, 192, 188, 1409, 183, 1159, 192, - 1131, 183, 1163, 1164, 195, 195, 125, 1409, 185, 186, - 194, 188, 183, 185, 186, 192, 188, 194, 1184, 1150, - 192, 195, 5, 1184, 108, 73, 192, 111, 1159, 39, - 1093, 150, 1163, 1164, 192, 183, 1234, 121, 1227, 123, - 65, 66, 126, 127, 183, 3, 94, 166, 167, 175, - 195, 18, 5, 1184, 3, 80, 140, 176, 194, 84, - 22, 145, 194, 1194, 1195, 90, 185, 186, 3, 188, - 189, 192, 194, 192, 193, 194, 21, 125, 194, 21, - 195, 104, 194, 202, 194, 3, 3, 194, 1277, 194, - 3, 192, 192, 1282, 1225, 147, 170, 1286, 194, 1162, - 1289, 194, 150, 1234, 140, 194, 155, 3, 115, 1298, - 3, 5, 3, 5, 30, 5, 195, 3, 166, 167, - 195, 1184, 31, 29, 195, 195, 195, 25, 176, 1375, - 195, 3, 3, 158, 1705, 5, 104, 185, 186, 4, - 188, 189, 1718, 168, 192, 193, 194, 194, 1279, 192, - 195, 103, 194, 21, 202, 4, 108, 52, 20, 111, - 1321, 1350, 57, 4, 1325, 195, 192, 62, 63, 121, - 5, 123, 192, 195, 126, 127, 195, 195, 195, 3, - 3, 1342, 195, 4, 26, 73, 94, 195, 140, 5, - 1321, 195, 5, 145, 1325, 200, 4, 1260, 1359, 94, - 3, 99, 100, 101, 102, 100, 194, 104, 192, 104, - 195, 1342, 192, 195, 200, 194, 4, 195, 1407, 1380, - 104, 147, 1388, 3, 1559, 3, 5, 1388, 1359, 4, - 3, 5, 3, 131, 1558, 133, 134, 135, 1427, 194, - 138, 139, 5, 141, 142, 5, 22, 195, 1409, 1380, - 275, 1575, 3, 21, 4, 280, 3, 1388, 283, 3, - 3, 3, 1451, 4, 195, 290, 3, 195, 4, 192, - 195, 195, 1558, 195, 194, 3, 195, 172, 1409, 304, - 192, 192, 307, 3, 5, 192, 4, 192, 4, 1575, - 21, 195, 195, 3, 195, 195, 195, 22, 4, 3, - 3, 3, 1600, 4, 4, 1718, 1369, 1468, 195, 194, - 1441, 1477, 195, 195, 195, 195, 1477, 1448, 343, 344, - 3, 346, 4, 49, 1729, 1388, 1011, 920, 100, 1011, - 355, 20, 357, 1275, 412, 1278, 1231, 1526, 719, 1287, - 519, 1279, 1451, 368, 11, 370, 1477, 1011, 103, 421, - 1441, 1513, 1513, 108, 1440, 1567, 111, 790, 1056, 1568, - 1427, 405, 1523, 252, 722, 390, 121, 1573, 123, 792, - 1559, 126, 127, 1534, 1015, 1011, 1565, 1566, 1567, 496, - 1066, 985, 1513, 1707, 1573, 140, 804, 1295, 1705, 1225, - 145, 1574, 1523, 460, 893, 998, 1585, 1586, 554, 1028, - 560, 1524, 1359, 1534, 1111, 1534, 1526, 560, 1535, 1350, - 1599, 266, 447, 452, 1477, 448, 450, 765, 809, 806, - 386, 1707, 811, 318, 455, 565, 560, 1588, 565, 560, - 325, 0, 1, 560, 1390, 1128, 619, 882, 1375, 318, - 560, 381, 467, 621, 938, 941, 471, 560, 1448, 327, - 1513, 560, 1380, 912, 560, 24, 560, 482, 906, 28, - 29, 30, 31, 560, 1144, 4, 333, 54, 37, 1600, - 1697, 281, 11, 1662, 499, 500, 468, 560, 503, 374, - 19, 20, 21, 696, 509, 380, 381, 712, 1677, 384, - 639, 1653, 1653, 26, 1194, 64, 4, 1403, 1195, 1198, - 659, 526, 1091, 11, -1, -1, -1, -1, -1, -1, - 535, 19, 20, 21, -1, -1, -1, -1, 87, 544, - -1, -1, 1653, -1, -1, -1, -1, 552, -1, -1, - -1, -1, 557, -1, 1723, -1, -1, 1726, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, - 1739, 576, -1, -1, -1, -1, -1, 1718, -1, -1, - -1, 5, 6, 7, 8, 9, 10, -1, 12, 13, - 14, 15, 16, 17, 1705, 19, 20, 21, 22, 23, - -1, -1, -1, -1, -1, -1, 125, 1718, -1, -1, - 1653, 1654, -1, -1, -1, -1, -1, -1, -1, -1, - 495, 496, 497, -1, 173, -1, -1, 176, 177, 178, - 179, 150, -1, 638, -1, 184, 155, 125, -1, -1, - -1, 190, -1, -1, 649, 4, -1, 166, 167, 198, - -1, -1, 11, 658, -1, -1, -1, 176, -1, -1, - 19, 20, 150, -1, -1, -1, 185, 186, -1, 188, - 189, -1, -1, 192, 193, 194, 551, -1, 166, 167, - -1, -1, -1, 202, -1, 560, -1, -1, 176, -1, + 14, 297, 171, 462, 76, 223, 55, 499, 462, 216, + 55, 55, 297, 291, 59, 93, 60, 387, 157, 144, + 387, 65, 66, 658, 157, 294, 139, 497, 928, 863, + 604, 1014, 725, 222, 325, 112, 55, 554, 167, 168, + 297, 55, 297, 1014, 609, 322, 60, 216, 677, 55, + 942, 65, 66, 97, 103, 629, 990, 499, 103, 103, + 1107, 1036, 76, 107, 699, 171, 573, 872, 873, 874, + 308, 950, 261, 262, 879, 943, 944, 55, 1285, 498, + 1188, 594, 1289, 97, 103, 1292, 113, 7, 1280, 103, + 603, 7, 262, 107, 3, 888, 889, 103, 1280, 175, + 4, 5, 1470, 3, 133, 123, 7, 30, 7, 168, + 7, 83, 240, 59, 83, 628, 328, 7, 141, 100, + 948, 3, 175, 96, 7, 103, 141, 47, 240, 1568, + 185, 175, 3, 261, 7, 194, 103, 104, 7, 141, + 141, 55, 7, 7, 197, 3, 47, 385, 47, 1588, + 47, 223, 7, 6, 240, 83, 1569, 47, 6, 192, + 132, 175, 6, 132, 47, 377, 462, 7, 197, 7, + 7, 7, 7, 196, 47, 261, 1589, 462, 47, 197, + 195, 7, 47, 47, 402, 6, 10, 168, 192, 103, + 192, 192, 47, 563, 7, 118, 1096, 336, 1519, 12, + 1175, 14, 308, 336, 132, 423, 7, 47, 7, 7, + 47, 47, 47, 194, 7, 6, 162, 141, 1280, 192, + 192, 47, 1590, 192, 133, 192, 240, 356, 356, 7, + 359, 359, 421, 133, 7, 307, 7, 314, 1430, 428, + 682, 313, 431, 320, 356, 434, 47, 359, 47, 47, + 322, 421, 328, 325, 47, 6, 525, 70, 71, 72, + 73, 1089, 1454, 717, 434, 197, 391, 36, 282, 47, + 356, 195, 1454, 359, 47, 195, 47, 383, 384, 385, + 408, 201, 51, 297, 328, 201, 979, 1395, 101, 7, + 194, 318, 319, 589, 195, 192, 408, 198, 1273, 168, + 201, 377, 201, 204, 201, 195, 1185, 881, 727, 421, + 499, 201, 195, 609, 328, 197, 185, 186, 201, 188, + 1125, 895, 408, 192, 111, 194, 197, 192, 201, 47, + 402, 195, 201, 377, 589, 504, 201, 201, 387, 197, + 195, 1134, 356, 387, 197, 359, 201, 854, 362, 197, + 979, 423, 424, 197, 609, 195, 334, 192, 195, 195, + 173, 201, 308, 377, 201, 201, 201, 880, 192, 195, + 183, 499, 193, 387, 887, 201, 1568, 890, 1570, 1700, + 197, 894, 1017, 83, 1576, 623, 203, 499, 201, 176, + 141, 192, 1454, 192, 408, 1602, 1588, 195, 147, 192, + 201, 192, 201, 201, 141, 192, 7, 7, 201, 7, + 424, 55, 193, 499, 195, 97, 98, 195, 462, 397, + 398, 192, 195, 201, 502, 503, 148, 147, 201, 725, + 201, 111, 132, 4, 5, 734, 141, 383, 384, 385, + 725, 387, 741, 141, 195, 522, 47, 47, 462, 47, + 575, 564, 670, 722, 498, 499, 500, 141, 195, 103, + 667, 590, 591, 592, 671, 672, 21, 1359, 725, 170, + 725, 193, 601, 195, 1521, 614, 1451, 195, 1412, 4, + 5, 614, 560, 201, 498, 499, 500, 192, 1471, 171, + 504, 192, 198, 682, 55, 31, 176, 195, 667, 198, + 1471, 770, 671, 672, 693, 185, 186, 192, 188, 192, + 554, 195, 192, 148, 563, 1383, 201, 623, 563, 563, + 192, 535, 1014, 55, 793, 570, 55, 1019, 85, 86, + 168, 990, 1002, 130, 148, 812, 990, 814, 4, 5, + 554, 27, 103, 557, 563, 183, 32, 1430, 34, 563, + 594, 595, 1345, 193, 682, 744, 194, 563, 193, 603, + 604, 97, 98, 1198, 570, 693, 1083, 197, 1373, 1362, + 682, 103, 1014, 203, 103, 589, 173, 1019, 192, 193, + 594, 595, 4, 5, 628, 629, 111, 197, 1153, 603, + 604, 192, 192, 1167, 192, 609, 682, 89, 670, 643, + 201, 201, 94, 201, 192, 97, 192, 693, 1591, 12, + 198, 14, 198, 168, 628, 629, 1516, 563, 189, 195, + 1591, 192, 198, 194, 570, 141, 175, 203, 642, 643, + 185, 186, 744, 188, 126, 171, 196, 192, 151, 194, + 173, 166, 167, 156, 658, 111, 1480, 593, 197, 198, + 192, 176, 189, 1166, 203, 197, 602, 194, 80, 194, + 185, 186, 197, 188, 189, 169, 170, 192, 682, 194, + 192, 195, 197, 192, 198, 194, 198, 623, 192, 625, + 626, 627, 204, 727, 198, 699, 1569, 1570, 192, 111, + 204, 197, 195, 1576, 990, 198, 768, 826, 173, 174, + 991, 185, 186, 717, 188, 990, 1589, 197, 192, 428, + 176, 725, 431, 727, 136, 85, 86, 87, 88, 185, + 186, 195, 188, 189, 198, 193, 192, 195, 194, 117, + 807, 856, 173, 174, 12, 848, 14, 129, 160, 811, + 812, 127, 814, 195, 166, 167, 198, 117, 877, 71, + 72, 73, 3, 75, 176, 125, 1656, 771, 1451, 1229, + 91, 92, 891, 185, 186, 195, 188, 189, 198, 197, + 192, 91, 194, 93, 1228, 197, 195, 23, 24, 198, + 909, 168, 99, 205, 923, 829, 915, 1204, 195, 1206, + 923, 198, 70, 71, 72, 73, 1605, 1606, 185, 186, + 929, 188, 197, 875, 197, 192, 752, 194, 197, 1444, + 195, 65, 66, 198, 863, 829, 197, 1187, 1114, 863, + 1187, 211, 212, 101, 176, 177, 178, 179, 195, 197, + 1019, 198, 184, 329, 330, 941, 880, 881, 190, 195, + 192, 196, 198, 887, 888, 889, 890, 197, 892, 863, + 894, 895, 896, 185, 186, 99, 188, 1153, 930, 1114, + 192, 195, 1031, 195, 198, 1324, 880, 881, 195, 1328, + 30, 198, 197, 887, 888, 889, 890, 3, 892, 197, + 894, 895, 896, 928, 928, 195, 1014, 194, 198, 185, + 186, 1019, 188, 197, 195, 173, 192, 198, 1153, 943, + 944, 197, 1014, 94, 204, 919, 97, 1019, 1036, 195, + 195, 204, 198, 198, 928, 175, 107, 863, 109, 991, + 195, 112, 113, 198, 1036, 144, 145, 146, 1014, 943, + 944, 195, 878, 1019, 198, 126, 185, 186, 149, 188, + 131, 1013, 195, 192, 158, 198, 990, 893, 197, 89, + 1036, 161, 197, 1412, 94, 1233, 197, 97, 1412, 185, + 186, 192, 188, 1092, 1092, 979, 192, 107, 195, 109, + 192, 198, 112, 113, 195, 1019, 990, 198, 195, 1471, + 1092, 198, 928, 192, 192, 3, 126, 185, 186, 195, + 188, 131, 198, 195, 192, 941, 198, 196, 195, 1013, + 1014, 198, 1131, 1017, 192, 1019, 1092, 203, 1086, 195, + 1279, 133, 198, 3, 4, 5, 169, 1031, 1147, 91, + 197, 1391, 1036, 192, 1391, 197, 3, 198, 1324, 1236, + 185, 186, 1328, 188, 198, 1164, 137, 192, 3, 1083, + 3, 195, 175, 198, 1116, 12, 175, 14, 1237, 4, + 5, 1096, 1096, 198, 175, 1069, 206, 175, 192, 198, + 176, 177, 178, 179, 3, 89, 197, 1236, 184, 1083, + 94, 195, 27, 97, 190, 195, 193, 192, 1092, 192, + 1094, 97, 1096, 107, 198, 109, 41, 197, 112, 113, + 1134, 198, 196, 48, 174, 50, 51, 192, 141, 1591, + 1114, 1290, 126, 70, 71, 72, 73, 131, 12, 1237, + 14, 195, 195, 192, 203, 197, 1412, 198, 1162, 196, + 1134, 111, 1166, 1167, 100, 1237, 196, 1412, 197, 185, + 186, 192, 188, 12, 101, 14, 192, 121, 1187, 1153, + 198, 96, 198, 1187, 183, 198, 136, 197, 1162, 183, + 1096, 1237, 1166, 1167, 198, 3, 111, 192, 1230, 22, + 68, 69, 192, 183, 183, 198, 70, 71, 72, 73, + 160, 4, 5, 1187, 195, 83, 166, 167, 175, 87, + 8, 136, 148, 1197, 1198, 93, 176, 142, 3, 195, + 197, 70, 71, 72, 73, 185, 186, 101, 188, 189, + 193, 197, 192, 193, 194, 160, 173, 197, 1280, 195, + 192, 166, 167, 1285, 1228, 205, 183, 1289, 197, 1165, + 1292, 176, 101, 1237, 6, 185, 186, 197, 188, 1301, + 185, 186, 192, 188, 189, 6, 198, 192, 198, 194, + 90, 1187, 197, 197, 197, 195, 197, 195, 197, 1378, + 205, 195, 192, 161, 1708, 192, 133, 85, 86, 87, + 88, 170, 1721, 171, 3, 4, 5, 6, 1282, 173, + 197, 197, 126, 141, 195, 101, 195, 55, 111, 183, + 1324, 1353, 60, 197, 1328, 3, 3, 65, 66, 117, + 195, 119, 120, 121, 173, 3, 124, 125, 13, 127, + 128, 1345, 198, 136, 183, 195, 198, 14, 12, 198, + 1324, 198, 198, 198, 1328, 195, 3, 1263, 1362, 97, + 195, 90, 196, 6, 197, 103, 198, 160, 197, 107, + 192, 1345, 5, 166, 167, 196, 196, 192, 1410, 1383, + 198, 198, 1391, 176, 1562, 198, 198, 1391, 1362, 198, + 192, 3, 185, 186, 1561, 188, 189, 195, 1430, 192, + 195, 194, 198, 196, 197, 196, 9, 80, 1412, 1383, + 278, 1578, 205, 198, 56, 283, 3, 1391, 286, 198, + 3, 203, 1454, 196, 195, 293, 192, 90, 197, 203, + 198, 198, 1561, 197, 192, 198, 90, 175, 1412, 307, + 196, 133, 310, 195, 3, 195, 3, 196, 195, 1578, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 197, 161, 3, 3, 1721, 1372, 1471, 195, 193, + 1444, 1480, 198, 195, 6, 196, 1480, 1451, 346, 347, + 195, 349, 195, 195, 195, 1391, 196, 195, 195, 198, + 358, 196, 360, 197, 193, 198, 198, 1529, 198, 198, + 199, 200, 198, 371, 192, 373, 1480, 192, 192, 198, + 21, 1516, 1516, 192, 195, 6, 192, 3, 11, 12, + 13, 14, 1526, 197, 196, 393, 196, 20, 193, 198, + 1562, 52, 198, 1537, 195, 195, 1568, 1569, 1570, 3, + 4, 5, 1516, 1710, 1576, 198, 198, 198, 196, 198, + 196, 1603, 1526, 198, 198, 196, 1588, 1589, 198, 195, + 195, 198, 196, 1537, 195, 103, 1732, 923, 23, 1014, + 1602, 1014, 415, 1281, 1480, 1290, 1279, 70, 71, 72, + 73, 1710, 722, 321, 95, 1234, 1282, 1591, 522, 100, + 328, 1454, 14, 424, 105, 106, 1014, 108, 1444, 1443, + 111, 408, 470, 114, 115, 116, 474, 1570, 101, 793, + 1516, 1059, 3, 4, 5, 1571, 255, 485, 1430, 1576, + 795, 725, 500, 1019, 988, 1014, 1298, 1069, 1708, 1603, + 1577, 807, 1228, 1665, 502, 503, 463, 896, 506, 377, + 1001, 557, 563, 1537, 512, 383, 384, 111, 1680, 387, + 1031, 1656, 1656, 1114, 1527, 1362, 563, 168, 3, 4, + 5, 529, 1529, 1353, 451, 269, 1538, 450, 458, 453, + 538, 768, 136, 812, 185, 186, 814, 188, 455, 547, + 173, 192, 1656, 194, 809, 568, 568, 555, 563, 321, + 563, 389, 560, 1393, 1726, 1131, 160, 1729, 622, 941, + 330, 563, 166, 167, 563, 885, 563, 1378, 201, 563, + 1742, 579, 176, 384, 944, 1383, 1451, 1721, 624, 563, + 111, 185, 186, 915, 188, 189, 909, 563, 192, 336, + 194, 1147, 57, 197, 1708, 1700, 284, 563, 471, 563, + 715, 205, 29, 1198, 642, 136, 1197, 1721, 699, 1406, + 1656, 1657, 1201, -1, 1094, -1, -1, 662, -1, -1, + 498, 499, 500, -1, -1, -1, 111, -1, -1, 160, + -1, -1, -1, 641, -1, 166, 167, -1, -1, -1, + -1, -1, -1, -1, 652, 176, -1, -1, -1, -1, + -1, 136, -1, 661, 185, 186, -1, 188, 189, -1, + -1, 192, -1, 194, -1, -1, 197, -1, -1, -1, + -1, -1, -1, -1, 205, 160, 554, -1, -1, -1, + -1, 166, 167, -1, -1, 563, -1, -1, -1, -1, + -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, + 185, 186, -1, 188, 189, 4, 5, 192, -1, 194, + -1, -1, 197, -1, -1, -1, 594, 595, 726, -1, + 205, -1, -1, -1, -1, 603, 604, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, + -1, 749, -1, 751, 622, -1, -1, -1, -1, -1, + 628, 629, 4, 5, -1, -1, -1, -1, 766, -1, + -1, -1, -1, -1, 772, 643, 32, -1, 34, 35, + 36, 37, -1, 39, -1, 41, 42, -1, -1, -1, + 658, -1, 48, -1, 50, 51, 52, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 805, -1, -1, + -1, -1, -1, -1, -1, -1, 4, 5, -1, 817, + -1, -1, 111, 148, 822, 150, 824, 152, 153, 154, + 155, 699, 157, -1, -1, -1, -1, 162, 163, 164, + 165, -1, -1, -1, 32, -1, -1, 136, 36, 37, + 38, 39, 40, 41, 852, 111, -1, -1, -1, 727, + 48, 49, 50, 51, -1, 863, -1, -1, -1, 111, + -1, 160, -1, -1, 199, 200, -1, 166, 167, -1, + 136, -1, -1, -1, -1, -1, -1, 176, -1, -1, + -1, -1, -1, -1, 136, -1, 185, 186, -1, 188, + 189, -1, -1, 192, 160, 194, -1, 196, 197, -1, + 166, 167, 910, -1, -1, -1, 205, -1, 916, -1, + 176, -1, -1, 111, 166, 167, -1, -1, -1, 185, + 186, -1, 188, 189, 176, -1, 192, -1, 194, -1, + -1, 197, -1, 185, 186, -1, 188, 189, 136, 205, + 192, -1, 194, -1, 952, 197, -1, 955, 956, -1, + -1, 829, -1, 205, -1, -1, -1, -1, -1, -1, + -1, -1, 160, -1, -1, -1, -1, -1, 166, 167, + -1, -1, -1, -1, -1, -1, -1, -1, 176, -1, + -1, -1, -1, -1, -1, 863, -1, 185, 186, -1, + 188, 189, -1, -1, 192, -1, 194, -1, -1, 197, + -1, -1, 880, 881, -1, -1, -1, 205, -1, 887, + 888, 889, 890, -1, 892, -1, 894, 895, 896, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1038, -1, -1, 1041, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 111, -1, 1053, -1, 1055, -1, -1, + 928, -1, 1060, -1, -1, -1, -1, -1, 160, 1067, + 1068, -1, -1, 941, -1, 943, 944, -1, 136, 171, + -1, -1, -1, -1, -1, -1, -1, -1, 1086, 1087, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1100, -1, 1102, -1, -1, 97, 166, 167, + -1, -1, -1, -1, -1, 1113, -1, 107, 176, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, -1, -1, 192, 193, 194, -1, -1, -1, - -1, -1, -1, -1, 202, -1, 591, 592, 723, -1, - -1, -1, -1, -1, -1, 600, 601, -1, -1, -1, - -1, 4, -1, -1, -1, -1, -1, -1, 11, -1, - -1, 746, -1, 748, 619, -1, 19, 20, -1, -1, - 625, 626, -1, -1, -1, -1, -1, -1, 763, -1, - -1, -1, -1, -1, 769, 640, 125, -1, -1, -1, - -1, 195, 196, 197, -1, -1, -1, 4, -1, -1, - 655, -1, -1, -1, 11, -1, -1, -1, 38, -1, - -1, 150, 19, 20, -1, -1, -1, 802, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 166, 167, 814, - -1, -1, -1, -1, 819, -1, 821, 176, -1, -1, - -1, 696, -1, -1, -1, -1, 185, 186, -1, 188, - 189, -1, -1, 192, 193, 194, -1, -1, -1, -1, - -1, -1, -1, 202, 849, -1, -1, -1, -1, 724, - -1, -1, 125, -1, -1, 860, -1, -1, -1, 109, - -1, -1, -1, -1, 114, -1, -1, -1, -1, 119, - 120, -1, 122, -1, -1, 125, 157, 150, 128, 129, - 130, -1, -1, -1, -1, -1, -1, 168, -1, -1, - -1, -1, -1, 166, 167, -1, -1, -1, 125, -1, - -1, -1, 907, 176, -1, -1, -1, -1, 913, -1, - -1, -1, 185, 186, -1, 188, 189, -1, 168, 192, - 193, 194, -1, 150, -1, -1, -1, -1, -1, 202, - -1, -1, -1, -1, -1, 185, 186, -1, 188, 166, - 167, -1, 192, 193, 949, -1, -1, 952, 953, 176, - 231, 826, -1, -1, -1, -1, 237, -1, 185, 186, - -1, 188, 189, -1, -1, 192, 193, 194, -1, -1, - -1, 252, 4, -1, -1, 202, -1, -1, -1, 11, - -1, -1, -1, -1, -1, 860, -1, 19, 20, -1, + 188, 189, -1, -1, 192, -1, 194, -1, -1, 197, + 232, -1, -1, -1, -1, -1, 1014, 205, 240, 1017, + -1, 1019, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 255, 4, 5, 6, -1, -1, -1, + -1, -1, -1, -1, -1, 1173, -1, -1, -1, 1177, + -1, -1, -1, 1181, -1, 1183, 1184, -1, -1, -1, + -1, -1, -1, 33, -1, -1, 1194, -1, -1, -1, + -1, 41, -1, 43, 44, 45, 46, -1, 48, -1, + 50, 51, -1, -1, -1, 1083, 308, 309, -1, -1, + -1, -1, -1, -1, 1222, -1, -1, -1, 1096, 321, + -1, 1229, 324, -1, 1232, -1, -1, 1235, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 340, 341, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 877, 878, -1, -1, -1, -1, -1, 884, - 885, 886, 887, -1, 889, -1, 891, 892, 893, -1, - -1, -1, -1, -1, 305, 306, -1, -1, -1, -1, - 1035, -1, -1, 1038, -1, -1, -1, 318, -1, -1, - 321, -1, -1, -1, -1, 1050, -1, 1052, -1, -1, - 925, -1, 1057, -1, -1, -1, 337, 338, -1, 1064, - 1065, -1, -1, 938, -1, 940, 941, -1, -1, -1, - -1, -1, 353, 4, -1, 356, -1, -1, 1083, 1084, - 11, -1, -1, -1, -1, -1, -1, -1, 19, 20, - -1, -1, 1097, 125, 1099, 11, -1, 378, -1, 380, - 381, 382, -1, 19, 20, 1110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 150, -1, - -1, -1, -1, -1, 405, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 166, 167, 1011, 94, -1, 1014, - 1015, 57, 58, -1, 176, -1, -1, 104, -1, 65, - -1, 67, 68, 185, 186, -1, 188, 189, -1, -1, - 192, 193, 194, -1, -1, 1170, -1, -1, -1, 1174, - 202, -1, -1, 1178, -1, 1180, 1181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1191, -1, -1, -1, - -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1080, -1, -1, -1, 125, - -1, -1, -1, -1, 1219, -1, -1, 498, 1093, 150, - 501, 1226, 4, -1, 1229, -1, -1, 1232, -1, 11, - -1, -1, 513, -1, 150, 166, 167, 19, 20, -1, - -1, -1, -1, -1, -1, 176, -1, -1, -1, -1, - 166, 167, 1257, -1, 185, 186, 1131, 188, 189, 4, - 176, 192, 193, 194, -1, -1, 11, -1, -1, 185, - 186, 202, 188, 189, 19, 20, 192, 193, 194, -1, - -1, -1, -1, -1, 1159, -1, 202, -1, 1163, 1164, - -1, -1, -1, -1, 1299, -1, 1301, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1184, - -1, -1, -1, -1, 4, -1, -1, -1, -1, 1194, - 1195, 11, -1, -1, -1, -1, -1, 1332, -1, 19, - 20, -1, -1, 1338, -1, -1, -1, -1, -1, 620, - -1, -1, -1, 125, -1, -1, -1, -1, -1, 1354, - -1, -1, -1, 1358, -1, -1, -1, -1, -1, -1, - -1, 318, -1, -1, -1, -1, -1, -1, 150, -1, - -1, 1376, -1, 1378, 655, -1, 1381, -1, 1383, 1384, - 125, 1386, -1, -1, 166, 167, -1, -1, -1, -1, - -1, -1, 1397, 674, 176, -1, -1, -1, -1, -1, - -1, -1, -1, 185, 186, 150, 188, 189, -1, -1, - 192, 193, 194, -1, -1, 696, -1, -1, -1, -1, - 202, 166, 167, 380, 381, -1, 707, -1, 709, -1, - -1, 176, -1, -1, -1, 125, -1, -1, -1, -1, - 185, 186, -1, 188, 189, 1450, -1, 192, 193, 194, - -1, -1, -1, -1, -1, -1, -1, 202, -1, -1, - 150, -1, -1, -1, -1, -1, -1, 1342, 749, -1, - 751, -1, -1, -1, -1, -1, 166, 167, 759, -1, - -1, 762, -1, -1, 1359, -1, 176, -1, -1, -1, - -1, -1, -1, -1, -1, 185, 186, -1, 188, 189, - -1, -1, 192, 193, 194, 1380, -1, -1, -1, 1514, - -1, -1, 202, 1388, -1, 1520, -1, -1, -1, -1, - 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1536, 1537, 1538, -1, -1, -1, -1, 495, 496, - 5, -1, 1547, -1, -1, -1, 11, -1, -1, -1, - 1555, -1, 1557, -1, 19, 20, -1, 22, -1, -1, - -1, -1, -1, -1, -1, 1440, 1441, 848, -1, -1, + -1, -1, 1260, -1, 356, -1, 1134, 359, -1, -1, + -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4, 5, 6, -1, 381, + -1, 383, 384, 385, 1162, -1, 136, -1, 1166, 1167, + 4, 5, 6, -1, 1302, -1, 1304, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 408, -1, -1, 1187, + 160, -1, -1, -1, -1, -1, 166, 167, 168, 1197, + 1198, 321, -1, -1, -1, -1, 176, 1335, -1, -1, + -1, -1, -1, 1341, -1, 185, 186, -1, 188, 189, + -1, -1, 192, -1, 194, -1, -1, 197, -1, 1357, + -1, -1, -1, 1361, -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 868, 869, 870, - 871, -1, -1, 1468, 551, 876, -1, -1, -1, 5, - -1, 882, 1477, -1, -1, 11, -1, -1, -1, -1, - -1, -1, -1, 19, 20, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1630, -1, -1, -1, -1, - -1, -1, -1, -1, 591, 592, -1, 918, 1513, -1, - -1, -1, 1647, 600, 601, -1, -1, -1, 1523, -1, - -1, -1, -1, 1658, -1, -1, -1, 938, 939, 1534, - 125, -1, 619, -1, 945, 5, -1, 948, 625, 626, - -1, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 20, -1, -1, 640, -1, 150, -1, -1, -1, -1, - -1, 1696, -1, -1, 1699, 976, -1, -1, 655, -1, - -1, 166, 167, 984, -1, -1, -1, -1, -1, -1, - -1, 176, -1, 1588, -1, -1, -1, -1, -1, 125, - 185, 186, -1, 188, 189, -1, -1, 192, 193, 194, - -1, -1, -1, 1014, -1, -1, -1, 202, -1, 696, - -1, -1, 1023, -1, 150, -1, 1027, 1028, -1, 1030, - 1031, -1, 1033, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, -1, -1, -1, -1, 724, -1, -1, - 176, -1, -1, -1, -1, -1, -1, -1, 1653, 185, - 186, -1, 188, 189, -1, 125, 192, 193, 194, -1, - -1, -1, -1, -1, -1, -1, 202, -1, -1, -1, - -1, -1, -1, -1, -1, 1086, -1, -1, 1089, -1, - 150, 1092, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5, -1, 166, 167, -1, -1, - 11, -1, -1, -1, -1, -1, 176, -1, 19, 20, - -1, 1122, -1, -1, -1, 185, 186, -1, 188, 189, - -1, -1, 192, 193, 194, -1, -1, -1, -1, -1, - -1, -1, 202, -1, -1, -1, -1, -1, -1, 826, + -1, 1379, -1, 1381, -1, -1, 1384, -1, 1386, 1387, + -1, 1389, 111, 383, 384, -1, -1, -1, -1, -1, + -1, -1, 1400, -1, -1, 4, 5, 111, -1, 501, + -1, -1, 504, -1, -1, -1, -1, 136, -1, -1, + -1, -1, -1, -1, 516, -1, -1, -1, -1, -1, + -1, -1, 136, 32, -1, 34, -1, 36, 37, -1, + 39, 160, 41, 42, -1, -1, -1, 166, 167, 48, + -1, 50, 51, 52, -1, 1453, 160, 176, -1, -1, + -1, -1, 166, 167, -1, -1, 185, 186, -1, 188, + 189, -1, 176, 192, -1, 194, -1, 1345, 197, -1, + -1, 185, 186, -1, 188, 189, 205, -1, 192, -1, + 194, -1, 196, 197, 1362, -1, -1, -1, -1, -1, + -1, 205, -1, -1, -1, -1, -1, -1, 498, -1, + 500, -1, 111, -1, -1, 1383, -1, -1, -1, 1517, + -1, -1, -1, 1391, -1, 1523, -1, -1, -1, -1, + 1528, 623, -1, -1, -1, -1, -1, 136, -1, -1, + -1, 1539, 1540, 1541, -1, -1, -1, -1, -1, -1, + -1, -1, 1550, -1, -1, -1, -1, -1, -1, -1, + 1558, 160, 1560, -1, 554, -1, 658, 166, 167, -1, + -1, -1, -1, -1, -1, 1443, 1444, 176, -1, -1, + -1, -1, -1, -1, -1, 677, 185, 186, -1, 188, + 189, -1, -1, 192, -1, 194, -1, -1, 197, -1, + -1, -1, -1, 1471, 594, 595, 205, 699, -1, -1, + -1, -1, 1480, 603, 604, -1, -1, -1, 710, -1, + 712, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, 622, -1, -1, 1633, -1, -1, 628, 629, + -1, -1, -1, 4, 5, -1, -1, -1, 1516, -1, + -1, -1, 1650, 643, -1, -1, -1, -1, 1526, -1, + -1, 753, 754, 1661, -1, -1, -1, -1, 658, 1537, + 762, -1, -1, 765, -1, -1, -1, -1, -1, 40, + 41, -1, -1, -1, -1, 0, 1, 48, -1, 50, + 51, -1, 7, -1, -1, -1, 11, 12, 13, 14, + -1, 1699, -1, -1, 1702, 20, -1, -1, -1, 699, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1591, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, -1, -1, 111, 727, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1172, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1185, -1, -1, -1, -1, -1, - -1, -1, -1, 1194, 1195, -1, -1, 11, -1, -1, - 877, 878, -1, -1, -1, 19, 20, 884, 885, 886, - 887, -1, 889, -1, 891, 892, 893, -1, -1, -1, - -1, -1, -1, 1224, 125, 6, 7, 8, -1, 10, - -1, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 58, -1, -1, -1, -1, 150, - -1, 65, -1, 67, 68, -1, -1, -1, 1259, -1, - -1, 938, 1263, 940, 941, 166, 167, -1, -1, 1270, - -1, -1, -1, -1, -1, 176, -1, -1, -1, -1, - -1, -1, -1, 64, 185, 186, 11, 188, 189, -1, - -1, 192, 193, 194, 19, 20, -1, 11, -1, -1, - -1, 202, -1, 1304, -1, 19, 20, -1, -1, -1, - 24, 125, -1, -1, -1, -1, -1, 1318, -1, -1, - -1, -1, -1, -1, 49, -1, 51, 52, 53, 54, - -1, 56, -1, 58, 59, -1, 150, 1014, -1, -1, - 65, -1, 67, 68, 69, -1, -1, -1, -1, -1, - 64, -1, 166, 167, -1, 1356, -1, -1, -1, -1, - -1, -1, 176, -1, -1, -1, -1, 1368, -1, 1370, - -1, 185, 186, -1, 188, 189, -1, -1, 192, 193, - 194, 162, 163, 164, 165, -1, -1, -1, 202, 1390, - -1, 1392, -1, -1, -1, -1, -1, -1, -1, -1, - 125, -1, -1, 1080, -1, -1, -1, -1, -1, -1, - -1, 125, 193, -1, -1, 196, 197, 198, -1, -1, - 201, -1, -1, -1, -1, 150, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 150, -1, -1, 1440, - 1441, 166, 167, -1, -1, -1, 1447, 1448, -1, -1, - -1, 176, 166, 167, 1131, -1, -1, -1, -1, -1, - 185, 186, 176, 188, 189, -1, 1467, 192, 193, 194, - -1, 185, 186, -1, 188, 189, -1, 202, 192, 193, - 194, -1, 1159, -1, 198, -1, 1163, 1164, 202, -1, - -1, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, - 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, - -1, -1, -1, -1, -1, -1, -1, 1194, 1195, -1, - -1, -1, 6, 7, 8, -1, 10, -1, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 111, -1, -1, -1, -1, 70, 71, 72, 73, 851, + -1, 136, -1, -1, -1, -1, 141, -1, -1, -1, + -1, -1, -1, -1, -1, 136, -1, -1, -1, 871, + 872, 873, 874, -1, -1, 160, 101, 879, 1656, -1, + -1, 166, 167, 885, 4, 5, 6, -1, -1, 160, + -1, 176, -1, -1, -1, 166, 167, -1, 4, 5, + 185, 186, -1, 188, 189, 176, -1, 192, -1, 194, + -1, 196, 197, -1, 185, 186, -1, 188, 189, 921, + 205, 192, -1, 194, -1, -1, 197, -1, -1, 829, + -1, -1, -1, -1, 205, 41, 56, -1, -1, 941, + 942, -1, 48, -1, 50, 51, 948, -1, 173, 951, + -1, 176, 177, 178, 179, -1, -1, -1, -1, 184, + 80, -1, -1, -1, -1, 190, 4, 5, -1, -1, + -1, -1, -1, -1, -1, -1, 201, 979, -1, -1, + 880, 881, -1, -1, -1, 987, -1, 887, 888, 889, + 890, 111, 892, -1, 894, 895, 896, -1, -1, -1, + -1, -1, -1, 41, -1, 111, -1, -1, -1, -1, + 48, -1, 50, 51, -1, 1017, 136, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1028, -1, 1030, 1031, + 136, 1033, 1034, -1, 1036, -1, 4, 5, 6, -1, + 160, 941, -1, 943, 944, -1, 166, 167, -1, -1, + -1, -1, -1, -1, 160, -1, 176, -1, -1, -1, + 166, 167, -1, -1, -1, 185, 186, -1, 188, 189, + 176, -1, 192, 111, 194, -1, 196, 197, -1, 185, + 186, -1, 188, 189, -1, 205, 192, 1089, 194, -1, + 1092, 197, -1, 1095, -1, -1, -1, -1, 136, 205, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1017, -1, -1, + -1, -1, 160, 1125, -1, -1, -1, -1, 166, 167, + -1, -1, 4, 5, -1, 7, -1, -1, 176, -1, + -1, -1, -1, 111, -1, -1, -1, 185, 186, -1, + 188, 189, -1, -1, 192, -1, 194, -1, -1, 197, + -1, -1, -1, -1, -1, -1, -1, 205, 136, -1, + -1, -1, -1, 1175, -1, 47, -1, -1, -1, -1, + -1, -1, -1, 1083, -1, -1, 1188, -1, -1, -1, + -1, -1, 160, -1, -1, 1197, 1198, -1, 166, 167, + 168, -1, 4, 5, -1, 7, -1, -1, 176, -1, + -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, + 188, 189, -1, -1, 192, 1227, 194, -1, -1, 197, + -1, -1, -1, -1, 1134, -1, -1, 205, -1, 111, + -1, -1, -1, -1, -1, 47, 4, 5, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1262, -1, 1162, -1, 136, 1267, 1166, 1167, -1, -1, + -1, 1273, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 160, -1, + -1, -1, -1, -1, 166, 167, -1, 1197, 1198, -1, + -1, -1, -1, -1, 176, -1, -1, -1, -1, 111, + 1312, -1, -1, 185, 186, -1, 188, 189, -1, 1321, + 192, -1, 194, -1, -1, 197, -1, -1, -1, 201, + -1, -1, -1, 205, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1562, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 111, -1, -1, -1, 1359, 160, -1, + -1, -1, -1, -1, 166, 167, -1, -1, -1, 1371, + -1, 1373, -1, -1, 176, -1, -1, -1, 136, -1, + -1, -1, -1, 185, 186, -1, 188, 189, -1, -1, + 192, 1393, 194, 1395, -1, 197, -1, -1, -1, 201, + -1, -1, 160, 205, -1, 4, 5, 6, 166, 167, + -1, -1, -1, -1, -1, -1, -1, -1, 176, 4, + 5, -1, -1, -1, -1, -1, -1, 185, 186, -1, + 188, 189, -1, -1, 192, -1, 194, -1, -1, 197, + 198, 1443, 1444, -1, -1, 1345, -1, 205, 1450, 1451, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 64, -1, -1, -1, -1, -1, 1587, -1, -1, -1, - -1, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 20, 21, -1, 1604, -1, -1, -1, -1, -1, -1, + -1, -1, 1362, -1, -1, -1, -1, -1, 1470, -1, + -1, -1, -1, -1, -1, -1, 4, 5, -1, -1, + -1, -1, -1, 1383, -1, -1, -1, -1, -1, -1, + 4, 5, -1, 1495, 1496, 1497, 1498, 1499, 1500, 1501, + 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, + 1512, 1513, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, + -1, -1, -1, 4, 5, 6, -1, 136, -1, -1, + -1, -1, -1, 1443, 1444, -1, -1, -1, -1, -1, + -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 160, -1, 1565, -1, -1, -1, 166, 167, -1, + -1, -1, -1, -1, -1, 160, -1, 176, -1, -1, + -1, 166, 167, 111, -1, -1, 185, 186, 1590, 188, + 189, 176, -1, 192, -1, 194, -1, 111, 197, -1, + 185, 186, -1, 188, 189, 1607, 205, 192, 136, 194, + -1, 196, 197, 4, 5, -1, -1, -1, -1, -1, + 205, -1, 136, 1625, 1626, -1, 1526, 1629, -1, 1631, + -1, -1, 160, -1, -1, -1, -1, 1537, 166, 167, + 111, -1, -1, -1, -1, -1, 160, -1, 176, -1, + -1, -1, 166, 167, 4, 5, -1, 185, 186, -1, + 188, 189, 176, -1, 192, 136, 194, -1, 196, 197, + -1, 185, 186, -1, 188, 189, -1, 205, 192, -1, + 194, -1, 196, 197, -1, -1, -1, 1689, -1, 160, + -1, 205, -1, -1, -1, 166, 167, 4, 5, -1, + -1, -1, -1, -1, -1, 176, -1, -1, -1, -1, + -1, 4, 5, 1715, 185, 186, -1, 188, 189, -1, + 111, 192, -1, 194, -1, -1, 197, -1, 1730, -1, + 1732, 1733, -1, -1, 205, -1, -1, 1739, -1, -1, + -1, -1, 1744, -1, -1, 136, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, -1, -1, -1, -1, + -1, 111, -1, -1, -1, -1, -1, -1, -1, 160, + -1, -1, -1, -1, -1, 166, 167, -1, -1, -1, + -1, -1, -1, -1, -1, 176, 136, 4, 5, -1, + -1, -1, -1, -1, 185, 186, -1, 188, 189, -1, + -1, 192, -1, 194, 111, 196, 197, -1, -1, -1, + 160, -1, -1, -1, 205, -1, 166, 167, 111, -1, + 4, 5, -1, -1, -1, -1, 176, -1, -1, 136, + -1, -1, -1, -1, -1, 185, 186, -1, 188, 189, + -1, -1, 192, 136, 194, -1, 196, 197, -1, -1, + -1, -1, -1, 160, -1, 205, -1, -1, -1, 166, + 167, 111, -1, 4, 5, -1, -1, 160, -1, 176, + -1, -1, -1, 166, 167, -1, -1, -1, 185, 186, + -1, 188, 189, 176, -1, 192, 136, 194, -1, 196, + 197, -1, 185, 186, 111, 188, 189, -1, 205, 192, + -1, 194, -1, -1, 197, 4, 5, -1, -1, -1, + 160, -1, 205, -1, -1, -1, 166, 167, -1, 136, + 4, 5, -1, -1, -1, -1, 176, 111, -1, -1, + -1, -1, -1, -1, -1, 185, 186, -1, 188, 189, + -1, -1, 192, 160, 194, -1, -1, 197, -1, 166, + 167, -1, 136, -1, -1, 205, -1, -1, -1, 176, + -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, + 111, 188, 189, -1, -1, 192, 160, 194, -1, -1, + 197, -1, 166, 167, -1, -1, -1, -1, 205, -1, + -1, -1, 176, -1, -1, 136, 4, 5, 6, 7, + -1, 185, 186, -1, 188, 189, -1, -1, 192, -1, + 194, -1, 111, 197, 4, 5, 6, 7, -1, 160, + -1, 205, -1, -1, -1, 166, 167, 111, -1, -1, + -1, -1, -1, -1, -1, 176, -1, 136, -1, 47, + -1, -1, -1, -1, 185, 186, -1, 188, 189, -1, + -1, 192, 136, 194, -1, -1, 197, 47, -1, -1, + -1, 160, -1, -1, 205, -1, -1, 166, 167, -1, + -1, -1, -1, -1, -1, -1, 160, 176, -1, -1, + -1, -1, 166, 167, -1, -1, 185, 186, -1, 188, + 189, -1, 176, 192, -1, 194, -1, -1, 197, -1, + -1, 185, 186, -1, 188, 189, 205, -1, 192, -1, + 194, -1, 8, 197, -1, -1, -1, -1, -1, 15, + -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1621, 1622, -1, -1, -1, 1626, -1, 1628, -1, -1, - 50, -1, -1, -1, -1, -1, -1, -1, 58, -1, - 60, 61, 62, 63, -1, 65, -1, 67, 68, -1, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, -1, -1, 161, 162, 163, 164, 165, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 65, + -1, 161, 162, 163, 164, 165, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 193, 194, -1, -1, 85, + 86, 199, 200, 201, -1, -1, 204, -1, -1, -1, + -1, -1, 98, 193, 194, -1, -1, 197, -1, 199, + 200, 201, -1, 203, -1, -1, -1, -1, -1, -1, + -1, 117, -1, 119, -1, 121, 122, -1, -1, -1, + -1, 127, -1, 129, -1, -1, -1, -1, 134, 15, + -1, -1, -1, -1, -1, 21, -1, -1, -1, -1, + -1, -1, -1, -1, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1342, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 162, 163, - 164, 165, 1359, -1, -1, 1686, -1, -1, -1, -1, - -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, - -1, 19, 20, 1380, -1, 125, -1, -1, -1, 193, - 194, 1712, 196, 197, 198, -1, 200, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1727, -1, 1729, 1730, - 150, -1, -1, 11, -1, 1736, -1, -1, -1, -1, - 1741, 19, 20, -1, -1, -1, 166, 167, 168, -1, - -1, -1, -1, -1, -1, -1, 176, -1, -1, -1, - -1, -1, -1, 1440, 1441, 185, 186, -1, 188, 189, - -1, 49, 192, 193, 194, 53, 54, 55, 56, 57, - 58, -1, 202, 11, -1, -1, -1, 65, 66, 67, - 68, 19, 20, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 125, -1, -1, + -1, -1, 168, -1, -1, 171, 172, 173, -1, -1, + 176, 177, 178, 179, -1, 61, -1, -1, 184, 185, + 186, 187, 188, -1, 190, -1, 192, -1, 194, -1, + -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, 92, 93, -1, 95, + -1, -1, 98, -1, 100, -1, 102, -1, -1, 105, + 106, -1, 108, -1, -1, 111, -1, 15, 114, 115, + 116, -1, 118, 21, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 31, -1, -1, -1, -1, -1, 15, + -1, -1, -1, -1, 140, 21, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, + -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, + -1, -1, 168, 169, 170, 171, -1, -1, -1, -1, + -1, 79, -1, -1, -1, 61, -1, 21, -1, 185, + 186, -1, 188, -1, -1, -1, 192, 95, 194, -1, + 98, 99, -1, 79, 102, -1, -1, 105, 106, -1, + 108, -1, -1, 111, -1, -1, 114, 115, 116, 95, + -1, -1, 98, 99, -1, -1, 102, 61, -1, 105, + 106, -1, 108, -1, -1, 111, -1, -1, 114, 115, + 116, -1, 140, 21, -1, 79, -1, -1, -1, -1, + -1, -1, -1, 31, -1, -1, 90, -1, -1, -1, + -1, 95, -1, -1, 140, -1, -1, -1, 102, -1, + 168, 105, 106, 171, 108, -1, -1, 111, -1, -1, + 114, 115, 116, 61, -1, 183, -1, 185, 186, -1, + 188, -1, 168, -1, 192, 171, 194, -1, -1, -1, + -1, 79, -1, -1, -1, -1, 140, 183, -1, 185, + 186, -1, 188, -1, -1, -1, 192, 95, 194, -1, + 98, 99, -1, -1, 102, -1, -1, 105, 106, -1, + 108, -1, -1, 111, 168, -1, 114, 115, 116, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, -1, 51, -1, 53, 54, -1, 56, -1, - 58, 59, 150, -1, -1, -1, 11, 65, -1, 67, - 68, 69, -1, -1, 19, 20, 1523, 125, 166, 167, - -1, -1, -1, -1, -1, -1, -1, 1534, 176, -1, - -1, -1, -1, -1, -1, -1, -1, 185, 186, 44, - 188, 189, 150, 11, 192, 193, 194, 195, -1, -1, - -1, 19, 20, 58, 202, -1, -1, -1, 166, 167, - 65, -1, 67, 68, -1, -1, -1, 125, 176, -1, - -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, -1, -1, 192, 193, 194, -1, -1, -1, - 58, -1, 150, 11, 202, -1, -1, 65, -1, 67, - 68, 19, 20, -1, -1, 110, 24, -1, 166, 167, - -1, -1, -1, -1, -1, -1, -1, -1, 176, -1, - 125, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, -1, 11, 192, 193, 194, -1, -1, -1, - -1, 19, 20, 21, 202, 150, 64, -1, -1, -1, - -1, 156, -1, -1, -1, -1, -1, 125, -1, -1, - -1, 166, 167, -1, -1, -1, -1, 11, -1, -1, - -1, 176, -1, -1, -1, 19, 20, -1, -1, -1, - 185, 186, 150, 188, 189, -1, -1, 192, 193, 194, - -1, -1, -1, -1, -1, -1, -1, 202, 166, 167, - -1, -1, -1, -1, 11, -1, -1, 125, 176, -1, - -1, -1, 19, 20, 21, -1, -1, 185, 186, -1, - 188, 189, -1, -1, 192, 193, 194, -1, -1, -1, - -1, -1, 150, 11, 202, -1, -1, -1, -1, -1, - -1, 19, 20, 21, -1, -1, -1, 125, 166, 167, - 94, -1, -1, -1, -1, -1, -1, -1, 176, -1, - -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, 150, -1, 192, 193, 194, -1, -1, -1, - 198, 125, -1, 11, 202, -1, -1, -1, 166, 167, - 168, 19, 20, 21, -1, -1, -1, -1, 176, -1, - -1, -1, -1, -1, -1, -1, 150, 185, 186, -1, - 188, 189, 11, -1, 192, 193, 194, -1, 125, -1, - 19, 20, 166, 167, 202, -1, -1, -1, -1, -1, - -1, -1, 176, -1, -1, -1, -1, -1, -1, -1, - -1, 185, 186, 150, 188, 189, -1, 125, 192, 193, - 194, -1, -1, -1, -1, -1, -1, 11, 202, 166, - 167, -1, -1, -1, -1, 19, 20, -1, 11, 176, - -1, -1, 150, -1, -1, -1, 19, 20, 185, 186, - -1, 188, 189, -1, -1, 192, 193, 194, 166, 167, - -1, -1, -1, -1, -1, 202, -1, 125, 176, -1, - -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, -1, -1, 192, 193, 194, -1, -1, -1, - -1, -1, 150, 11, 202, -1, 125, -1, -1, -1, - -1, 19, 20, -1, -1, -1, -1, -1, 166, 167, - -1, -1, -1, -1, -1, -1, -1, 11, 176, -1, - -1, 150, -1, -1, -1, 19, 20, 185, 186, -1, - 188, 189, -1, -1, 192, 193, 194, 166, 167, -1, - -1, 125, -1, -1, 202, -1, 11, 176, -1, -1, - -1, -1, 125, -1, 19, 20, 185, 186, -1, 188, - 189, -1, -1, 192, 193, 194, 150, -1, -1, -1, - -1, -1, -1, 202, -1, -1, 11, 150, -1, -1, - -1, -1, 166, 167, 19, 20, -1, -1, -1, -1, - -1, -1, 176, 166, 167, -1, -1, -1, -1, -1, - -1, 185, 186, 176, 188, 189, -1, 125, 192, 193, - 194, -1, 185, 186, -1, 188, 189, -1, 202, 192, - 193, 194, -1, -1, -1, -1, -1, -1, -1, 202, - -1, 125, 150, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 166, 167, - -1, -1, -1, -1, -1, -1, 150, -1, 176, -1, - 125, -1, -1, -1, -1, -1, -1, 185, 186, -1, - 188, 189, 166, 167, 192, 193, 194, -1, -1, -1, - -1, 25, 176, -1, 202, 150, -1, -1, 32, -1, - 125, 185, 186, -1, 188, 189, -1, -1, 192, 193, - 194, 166, 167, -1, -1, -1, -1, -1, 202, -1, - -1, 176, -1, -1, -1, 150, -1, -1, -1, -1, - 185, 186, -1, 188, 189, -1, -1, 192, 193, 194, - -1, 166, 167, -1, -1, -1, -1, 202, 82, -1, - -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, - 185, 186, -1, 188, 189, 99, 100, 192, 193, 194, - -1, -1, -1, -1, -1, -1, -1, 202, 112, -1, + -1, 185, 186, -1, 188, -1, -1, -1, 192, -1, + 194, -1, 140, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 131, -1, 133, - 32, 135, 136, -1, -1, -1, 38, 141, -1, 143, - -1, -1, -1, -1, 148, 47, 48, -1, -1, -1, + 168, -1, -1, 171, -1, -1, -1, 79, -1, -1, + -1, -1, -1, -1, -1, 183, -1, 185, 186, -1, + 188, -1, -1, 95, 192, -1, 194, -1, -1, -1, + 102, -1, -1, 105, 106, -1, 108, -1, -1, 111, + -1, -1, 114, 115, 116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 168, -1, -1, 171, 172, 173, - -1, -1, 176, 177, 178, 179, 78, -1, -1, -1, - 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, - -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 105, 106, 107, -1, 109, -1, -1, - 112, -1, 114, -1, 116, 32, -1, 119, 120, -1, - 122, 38, -1, 125, -1, -1, 128, 129, 130, -1, - 132, 48, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 32, -1, -1, -1, -1, -1, 38, - -1, -1, 154, -1, -1, -1, -1, -1, -1, 48, - -1, 78, -1, -1, -1, -1, 168, 169, 170, 171, - -1, -1, -1, -1, -1, -1, 93, -1, -1, -1, - -1, -1, -1, 185, 186, -1, 188, -1, -1, 78, - 192, 193, 109, -1, -1, 112, 113, -1, -1, 116, - -1, -1, 119, 120, 93, 122, -1, -1, 125, -1, - -1, 128, 129, 130, -1, -1, -1, -1, -1, -1, - 109, -1, -1, 112, 113, -1, -1, 116, -1, -1, - 119, 120, -1, 122, 38, -1, 125, 154, -1, 128, - 129, 130, -1, -1, 48, -1, -1, -1, -1, -1, - -1, 168, -1, -1, 171, -1, -1, -1, -1, -1, - -1, -1, 38, -1, -1, 154, 183, -1, 185, 186, - -1, 188, -1, -1, 78, 192, 193, -1, -1, 168, - -1, -1, 171, -1, -1, -1, -1, -1, -1, 93, - -1, -1, -1, -1, 183, -1, 185, 186, -1, 188, - -1, -1, 78, 192, 193, 109, -1, -1, 112, 113, - -1, -1, 116, -1, -1, 119, 120, 93, 122, -1, - -1, 125, -1, -1, 128, 129, 130, -1, 104, -1, - -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, - 116, -1, -1, 119, 120, -1, 122, 38, -1, 125, - 154, -1, 128, 129, 130, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 168, -1, -1, 171, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 154, 183, - -1, 185, 186, -1, 188, -1, -1, 78, 192, 193, - -1, -1, 168, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 93, -1, -1, -1, -1, -1, -1, 185, - 186, -1, 188, -1, -1, -1, 192, 193, 109, -1, - -1, -1, -1, -1, -1, 116, -1, -1, 119, 120, - -1, 122, -1, -1, 125, -1, -1, 128, 129, 130, + -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 154, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, + -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 185, 186, -1, 188, -1, -1, - -1, 192, 193 + -1, -1, -1, 185, 186, -1, 188, -1, -1, -1, + 192, -1, 194 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 205, 0, 1, 24, 28, 30, 37, 64, 87, - 115, 173, 198, 206, 207, 208, 209, 211, 212, 265, - 266, 639, 642, 659, 661, 695, 696, 697, 698, 699, - 709, 710, 185, 213, 192, 192, 176, 177, 178, 179, - 184, 190, 192, 232, 267, 316, 210, 24, 198, 24, - 267, 237, 238, 407, 652, 654, 660, 660, 29, 31, - 115, 697, 660, 660, 210, 662, 643, 269, 268, 273, - 270, 272, 271, 194, 195, 195, 210, 198, 209, 25, - 32, 82, 99, 100, 112, 133, 135, 136, 148, 168, - 171, 172, 185, 186, 187, 188, 192, 193, 232, 239, - 240, 241, 252, 260, 261, 289, 291, 293, 332, 333, - 348, 366, 371, 388, 389, 394, 399, 400, 407, 408, - 414, 418, 424, 435, 437, 446, 448, 450, 453, 454, - 455, 516, 517, 542, 543, 544, 546, 552, 553, 556, - 562, 567, 590, 613, 638, 676, 679, 721, 161, 654, - 260, 261, 641, 648, 722, 38, 48, 78, 93, 109, - 116, 119, 120, 122, 125, 128, 129, 130, 154, 192, - 242, 243, 253, 254, 260, 460, 477, 516, 517, 527, - 528, 532, 542, 561, 562, 571, 572, 575, 587, 588, - 589, 590, 591, 596, 603, 607, 610, 613, 626, 629, - 632, 684, 689, 721, 192, 712, 192, 702, 242, 242, - 207, 207, 21, 194, 274, 275, 274, 274, 274, 21, - 194, 285, 286, 287, 274, 4, 11, 19, 20, 21, - 125, 150, 166, 167, 176, 189, 193, 194, 202, 232, - 255, 258, 264, 276, 277, 280, 281, 289, 290, 317, - 318, 323, 325, 435, 484, 485, 486, 487, 488, 491, - 492, 494, 496, 497, 498, 499, 500, 504, 507, 509, - 682, 691, 395, 207, 194, 419, 420, 3, 207, 214, - 547, 155, 192, 677, 678, 155, 402, 22, 425, 207, - 547, 3, 294, 295, 194, 375, 376, 378, 379, 435, - 437, 4, 194, 241, 103, 108, 111, 140, 192, 437, - 194, 292, 265, 368, 402, 131, 141, 143, 147, 194, - 518, 5, 194, 449, 540, 541, 549, 549, 540, 653, - 113, 640, 649, 650, 651, 698, 709, 194, 194, 192, - 232, 236, 504, 560, 192, 207, 261, 192, 198, 724, - 194, 194, 635, 194, 509, 594, 194, 594, 194, 194, - 207, 504, 506, 507, 512, 513, 514, 515, 592, 4, - 113, 247, 248, 244, 245, 246, 253, 638, 111, 121, - 123, 126, 127, 145, 529, 47, 573, 574, 578, 194, - 685, 194, 716, 194, 247, 247, 193, 94, 514, 194, - 277, 288, 73, 94, 264, 194, 324, 327, 328, 329, - 504, 201, 201, 232, 276, 279, 280, 282, 491, 504, - 5, 3, 195, 324, 23, 489, 21, 22, 490, 276, - 277, 491, 277, 487, 12, 13, 14, 15, 16, 17, - 18, 162, 163, 164, 165, 196, 197, 493, 495, 10, - 501, 8, 502, 6, 7, 503, 494, 194, 194, 421, - 3, 207, 117, 118, 232, 548, 207, 677, 3, 207, - 192, 680, 681, 192, 18, 22, 427, 428, 207, 296, - 297, 348, 192, 155, 192, 379, 380, 381, 448, 452, - 453, 454, 3, 373, 374, 429, 3, 22, 111, 112, - 171, 451, 207, 509, 21, 193, 261, 504, 506, 617, - 504, 207, 4, 5, 447, 508, 509, 265, 301, 302, - 303, 304, 3, 335, 336, 337, 367, 192, 369, 370, - 675, 402, 402, 144, 265, 410, 411, 192, 435, 436, - 437, 504, 524, 525, 526, 475, 509, 519, 520, 521, - 522, 147, 504, 447, 200, 246, 169, 170, 192, 262, - 263, 545, 550, 551, 554, 557, 558, 263, 550, 105, - 563, 564, 568, 3, 155, 657, 723, 407, 644, 651, - 504, 535, 504, 207, 207, 207, 461, 597, 194, 58, - 65, 67, 68, 504, 594, 630, 631, 207, 58, 65, - 67, 68, 594, 627, 628, 207, 478, 232, 727, 207, - 48, 207, 663, 664, 246, 504, 194, 21, 50, 58, - 60, 61, 62, 63, 65, 67, 68, 192, 437, 441, - 593, 594, 595, 614, 615, 616, 617, 614, 617, 690, - 261, 516, 527, 528, 530, 533, 534, 137, 194, 582, - 132, 574, 579, 540, 195, 687, 207, 717, 711, 700, - 407, 706, 407, 713, 5, 195, 264, 5, 5, 3, - 195, 327, 504, 151, 3, 192, 193, 278, 278, 175, - 280, 195, 264, 318, 203, 326, 277, 486, 486, 487, - 488, 492, 496, 497, 498, 195, 683, 192, 397, 398, - 232, 423, 438, 446, 448, 454, 420, 194, 539, 5, - 207, 678, 3, 207, 22, 192, 192, 432, 433, 3, - 207, 194, 3, 372, 429, 375, 378, 232, 276, 277, - 279, 280, 289, 315, 316, 319, 347, 377, 383, 386, - 387, 435, 491, 682, 504, 207, 547, 207, 547, 4, - 21, 155, 232, 456, 457, 459, 504, 507, 207, 3, - 207, 195, 111, 504, 195, 4, 3, 155, 305, 174, - 300, 303, 25, 101, 102, 131, 133, 134, 135, 138, - 139, 141, 142, 338, 348, 192, 341, 342, 344, 155, - 3, 207, 3, 192, 391, 232, 343, 403, 404, 405, - 406, 428, 409, 194, 3, 207, 200, 207, 4, 3, - 195, 3, 195, 437, 523, 207, 195, 450, 207, 547, - 4, 114, 38, 128, 130, 260, 261, 460, 477, 516, - 527, 555, 571, 588, 590, 596, 603, 607, 610, 613, - 626, 629, 632, 684, 549, 545, 558, 260, 194, 106, - 564, 565, 566, 569, 540, 135, 668, 192, 207, 183, - 195, 195, 438, 448, 453, 468, 469, 470, 49, 53, - 54, 55, 56, 57, 58, 65, 66, 67, 68, 594, - 599, 600, 49, 51, 52, 53, 54, 56, 58, 59, - 65, 67, 68, 69, 594, 636, 637, 594, 261, 437, - 444, 445, 437, 442, 443, 602, 3, 195, 594, 261, - 444, 602, 3, 195, 470, 480, 3, 195, 194, 249, - 250, 251, 698, 709, 183, 195, 604, 5, 21, 593, - 617, 192, 615, 261, 261, 261, 444, 602, 3, 195, - 195, 3, 207, 232, 691, 39, 531, 536, 583, 192, - 207, 192, 580, 686, 232, 255, 437, 504, 692, 693, - 694, 21, 192, 703, 718, 719, 720, 207, 718, 183, - 183, 514, 195, 264, 514, 514, 3, 328, 232, 259, - 276, 279, 283, 692, 5, 3, 195, 3, 194, 504, - 504, 681, 232, 416, 417, 438, 22, 194, 3, 430, - 297, 192, 298, 299, 232, 381, 382, 548, 207, 375, - 194, 21, 384, 384, 194, 3, 22, 384, 277, 280, - 195, 207, 207, 4, 504, 261, 504, 5, 3, 195, - 4, 155, 458, 194, 504, 620, 621, 622, 104, 504, - 207, 508, 101, 102, 131, 139, 306, 307, 348, 232, - 309, 310, 192, 207, 194, 194, 3, 334, 194, 349, - 338, 370, 194, 3, 390, 401, 3, 207, 192, 412, - 413, 411, 192, 524, 476, 509, 475, 521, 475, 522, - 147, 207, 207, 170, 192, 207, 194, 192, 193, 194, - 725, 194, 111, 263, 559, 549, 504, 192, 207, 107, - 564, 570, 540, 155, 3, 669, 115, 646, 207, 534, - 577, 3, 463, 194, 471, 505, 506, 601, 505, 505, - 505, 509, 5, 594, 261, 505, 444, 602, 3, 195, - 601, 5, 444, 442, 442, 444, 594, 437, 439, 440, - 261, 444, 602, 439, 3, 195, 631, 207, 628, 207, - 3, 481, 232, 504, 251, 30, 666, 254, 260, 261, - 57, 58, 65, 67, 68, 594, 605, 606, 509, 616, - 611, 620, 194, 437, 608, 618, 619, 622, 618, 535, - 40, 41, 537, 538, 529, 4, 504, 584, 585, 586, - 207, 581, 207, 207, 5, 3, 195, 195, 3, 195, - 31, 708, 29, 715, 195, 3, 195, 3, 195, 195, - 232, 330, 331, 548, 195, 195, 504, 511, 398, 396, - 422, 423, 447, 195, 3, 3, 415, 434, 433, 426, - 429, 3, 195, 5, 194, 232, 256, 257, 258, 259, - 276, 279, 315, 319, 347, 385, 386, 195, 255, 320, - 321, 322, 437, 504, 523, 526, 383, 104, 504, 4, - 21, 504, 457, 4, 504, 504, 504, 621, 623, 624, - 3, 207, 207, 195, 194, 3, 155, 194, 311, 3, - 207, 207, 339, 340, 342, 207, 350, 21, 284, 392, - 192, 207, 207, 405, 20, 3, 195, 4, 4, 523, - 207, 547, 207, 535, 11, 19, 20, 44, 110, 156, - 166, 167, 185, 186, 188, 189, 193, 215, 216, 220, - 222, 225, 227, 232, 233, 234, 504, 727, 504, 254, - 195, 207, 192, 207, 27, 192, 670, 671, 655, 192, - 647, 207, 97, 146, 464, 465, 469, 195, 472, 473, - 474, 475, 505, 600, 598, 442, 195, 637, 633, 97, - 146, 470, 482, 483, 195, 195, 192, 667, 111, 3, - 5, 594, 261, 444, 602, 3, 195, 207, 612, 207, - 3, 609, 207, 195, 192, 207, 192, 207, 529, 586, - 3, 195, 4, 207, 232, 694, 693, 688, 720, 26, - 704, 705, 647, 647, 94, 73, 195, 5, 207, 3, - 195, 195, 504, 417, 207, 429, 4, 351, 352, 353, + 0, 208, 0, 1, 7, 11, 13, 20, 47, 70, + 71, 72, 73, 101, 173, 201, 209, 210, 211, 212, + 214, 215, 268, 269, 642, 645, 662, 664, 698, 699, + 700, 701, 702, 712, 713, 185, 216, 192, 192, 176, + 177, 178, 179, 184, 190, 192, 235, 270, 319, 213, + 7, 201, 7, 270, 240, 241, 410, 655, 657, 663, + 663, 12, 14, 101, 700, 663, 663, 213, 665, 646, + 272, 271, 276, 273, 275, 274, 197, 198, 198, 213, + 201, 212, 8, 15, 65, 85, 86, 98, 119, 121, + 122, 134, 168, 171, 172, 185, 186, 187, 188, 192, + 194, 235, 242, 243, 244, 255, 263, 264, 292, 294, + 296, 335, 336, 351, 369, 374, 391, 392, 397, 402, + 403, 410, 411, 417, 421, 427, 438, 440, 449, 451, + 453, 456, 457, 458, 519, 520, 545, 546, 547, 549, + 555, 556, 559, 565, 570, 593, 616, 641, 679, 682, + 724, 147, 657, 263, 264, 644, 651, 725, 21, 31, + 61, 79, 95, 102, 105, 106, 108, 111, 114, 115, + 116, 140, 192, 245, 246, 256, 257, 263, 463, 480, + 519, 520, 530, 531, 535, 545, 564, 565, 574, 575, + 578, 590, 591, 592, 593, 594, 599, 606, 610, 613, + 616, 629, 632, 635, 687, 692, 724, 192, 715, 192, + 705, 245, 245, 210, 210, 6, 197, 277, 278, 277, + 277, 277, 6, 197, 288, 289, 290, 277, 4, 5, + 6, 111, 136, 160, 166, 167, 176, 189, 194, 196, + 197, 205, 235, 258, 261, 267, 279, 280, 283, 284, + 292, 293, 320, 321, 326, 328, 438, 487, 488, 489, + 490, 491, 494, 495, 497, 499, 500, 501, 502, 503, + 507, 510, 512, 685, 694, 398, 210, 197, 422, 423, + 195, 210, 217, 550, 141, 192, 680, 681, 141, 405, + 193, 428, 210, 550, 195, 297, 298, 197, 378, 379, + 381, 382, 438, 440, 196, 197, 244, 89, 94, 97, + 126, 192, 440, 197, 295, 268, 371, 405, 117, 127, + 129, 133, 197, 521, 3, 197, 452, 543, 544, 552, + 552, 543, 656, 99, 643, 652, 653, 654, 701, 712, + 197, 197, 192, 235, 239, 507, 563, 192, 210, 264, + 192, 201, 727, 197, 197, 638, 197, 512, 597, 197, + 597, 197, 197, 210, 507, 509, 510, 515, 516, 517, + 518, 595, 196, 99, 250, 251, 247, 248, 249, 256, + 641, 97, 107, 109, 112, 113, 131, 532, 30, 576, + 577, 581, 197, 688, 197, 719, 197, 250, 250, 194, + 80, 517, 197, 280, 291, 56, 80, 267, 197, 327, + 330, 331, 332, 507, 204, 204, 235, 279, 282, 283, + 285, 494, 507, 3, 195, 198, 327, 149, 492, 6, + 193, 493, 279, 280, 494, 280, 490, 148, 150, 152, + 153, 154, 155, 157, 162, 163, 164, 165, 199, 200, + 496, 498, 161, 504, 158, 505, 151, 156, 506, 497, + 197, 197, 424, 195, 210, 103, 104, 235, 551, 210, + 680, 195, 210, 192, 683, 684, 192, 148, 193, 430, + 431, 210, 299, 300, 351, 192, 141, 192, 382, 383, + 384, 451, 455, 456, 457, 195, 376, 377, 432, 193, + 195, 97, 98, 171, 454, 210, 512, 6, 194, 264, + 507, 509, 620, 507, 210, 196, 3, 450, 511, 512, + 268, 304, 305, 306, 307, 195, 338, 339, 340, 370, + 192, 372, 373, 678, 405, 405, 130, 268, 413, 414, + 192, 438, 439, 440, 507, 527, 528, 529, 478, 512, + 522, 523, 524, 525, 133, 507, 450, 203, 249, 169, + 170, 192, 265, 266, 548, 553, 554, 557, 560, 561, + 266, 553, 91, 566, 567, 571, 141, 195, 660, 726, + 410, 647, 654, 507, 538, 507, 210, 210, 210, 464, + 600, 197, 41, 48, 50, 51, 507, 597, 633, 634, + 210, 41, 48, 50, 51, 597, 630, 631, 210, 481, + 235, 730, 210, 31, 210, 666, 667, 249, 507, 197, + 6, 33, 41, 43, 44, 45, 46, 48, 50, 51, + 192, 440, 444, 596, 597, 598, 617, 618, 619, 620, + 617, 620, 693, 264, 519, 530, 531, 533, 536, 537, + 123, 197, 585, 118, 577, 582, 543, 198, 690, 210, + 720, 714, 703, 410, 709, 410, 716, 3, 198, 267, + 3, 3, 195, 198, 330, 507, 137, 195, 192, 194, + 281, 281, 175, 283, 198, 267, 321, 206, 329, 280, + 489, 489, 490, 491, 495, 499, 500, 501, 198, 686, + 192, 400, 401, 235, 426, 441, 449, 451, 457, 423, + 197, 542, 3, 210, 681, 195, 210, 193, 192, 192, + 435, 436, 195, 210, 197, 195, 375, 432, 378, 235, + 279, 280, 282, 283, 292, 318, 319, 322, 350, 380, + 386, 389, 390, 438, 494, 685, 381, 507, 210, 550, + 210, 550, 6, 141, 196, 235, 459, 460, 462, 507, + 510, 210, 195, 210, 198, 97, 507, 198, 196, 141, + 195, 308, 174, 303, 306, 8, 87, 88, 117, 119, + 120, 121, 124, 125, 127, 128, 341, 351, 192, 344, + 345, 347, 141, 195, 210, 195, 192, 394, 235, 346, + 406, 407, 408, 409, 431, 412, 197, 195, 210, 203, + 210, 196, 195, 198, 195, 198, 440, 526, 210, 198, + 453, 210, 550, 196, 100, 21, 114, 116, 263, 264, + 463, 480, 519, 530, 558, 574, 591, 593, 599, 606, + 610, 613, 616, 629, 632, 635, 687, 552, 548, 561, + 263, 197, 92, 567, 568, 569, 572, 543, 121, 671, + 192, 210, 183, 198, 198, 441, 451, 456, 471, 472, + 473, 32, 36, 37, 38, 39, 40, 41, 48, 49, + 50, 51, 597, 602, 603, 32, 34, 35, 36, 37, + 39, 41, 42, 48, 50, 51, 52, 597, 639, 640, + 597, 264, 440, 447, 448, 440, 445, 446, 605, 195, + 198, 597, 264, 447, 605, 195, 198, 473, 483, 195, + 198, 197, 252, 253, 254, 701, 712, 183, 198, 607, + 3, 6, 596, 620, 192, 618, 264, 264, 264, 447, + 605, 195, 198, 198, 195, 210, 235, 694, 22, 534, + 539, 586, 192, 210, 192, 583, 689, 235, 258, 440, + 507, 695, 696, 697, 6, 192, 706, 721, 722, 723, + 210, 721, 183, 183, 517, 198, 267, 517, 517, 195, + 331, 235, 262, 279, 282, 286, 695, 3, 195, 198, + 195, 197, 507, 507, 684, 235, 419, 420, 441, 193, + 197, 195, 433, 300, 192, 301, 302, 235, 384, 385, + 551, 210, 378, 197, 6, 387, 387, 197, 193, 195, + 387, 280, 283, 198, 210, 210, 264, 507, 196, 507, + 3, 195, 198, 141, 196, 461, 197, 507, 623, 624, + 625, 90, 507, 210, 511, 87, 88, 117, 125, 309, + 310, 351, 235, 312, 313, 192, 210, 197, 197, 195, + 337, 197, 352, 341, 373, 197, 195, 393, 404, 195, + 210, 192, 415, 416, 414, 192, 527, 479, 512, 478, + 524, 478, 525, 133, 210, 210, 170, 192, 210, 197, + 192, 194, 197, 728, 197, 97, 266, 562, 552, 507, + 192, 210, 93, 567, 573, 543, 141, 195, 672, 101, + 649, 210, 537, 580, 195, 466, 197, 474, 508, 509, + 604, 508, 508, 508, 512, 3, 597, 264, 508, 447, + 605, 195, 198, 604, 3, 447, 445, 445, 447, 597, + 440, 442, 443, 264, 447, 605, 442, 195, 198, 634, + 210, 631, 210, 195, 484, 235, 507, 254, 13, 669, + 257, 263, 264, 40, 41, 48, 50, 51, 597, 608, + 609, 512, 619, 614, 623, 197, 440, 611, 621, 622, + 625, 621, 538, 23, 24, 540, 541, 532, 196, 507, + 587, 588, 589, 210, 584, 210, 210, 3, 195, 198, + 198, 195, 198, 14, 711, 12, 718, 198, 195, 198, + 195, 198, 198, 235, 333, 334, 551, 198, 198, 507, + 514, 401, 399, 425, 426, 450, 198, 195, 195, 418, + 437, 436, 429, 432, 195, 198, 3, 197, 235, 259, + 260, 261, 262, 279, 282, 318, 322, 350, 388, 389, + 198, 258, 323, 324, 325, 440, 507, 526, 529, 386, + 90, 507, 196, 6, 507, 460, 507, 196, 507, 507, + 624, 626, 627, 195, 210, 210, 198, 197, 141, 195, + 197, 314, 195, 210, 210, 342, 343, 345, 210, 353, + 6, 287, 395, 192, 210, 210, 408, 5, 195, 198, + 196, 196, 526, 210, 550, 210, 538, 4, 5, 27, + 96, 142, 160, 166, 167, 185, 186, 188, 189, 194, + 218, 219, 223, 225, 228, 230, 235, 236, 237, 507, + 730, 507, 257, 198, 210, 192, 210, 10, 192, 673, + 674, 658, 192, 650, 210, 83, 132, 467, 468, 472, + 198, 475, 476, 477, 478, 508, 603, 601, 445, 198, + 640, 636, 83, 132, 473, 485, 486, 198, 198, 192, + 670, 97, 195, 3, 597, 264, 447, 605, 195, 198, + 210, 615, 210, 195, 612, 210, 198, 192, 210, 192, + 210, 532, 589, 195, 198, 196, 210, 235, 697, 696, + 691, 723, 9, 707, 708, 650, 650, 80, 56, 198, + 3, 210, 195, 198, 198, 507, 420, 210, 432, 196, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 509, 510, 207, 428, 299, 207, 514, 232, 276, - 5, 3, 195, 207, 504, 261, 504, 4, 3, 621, - 104, 308, 307, 4, 312, 352, 354, 358, 284, 310, - 351, 158, 159, 160, 365, 351, 288, 5, 147, 345, - 346, 351, 194, 192, 413, 207, 207, 195, 504, 195, - 195, 504, 200, 446, 448, 194, 194, 195, 192, 185, - 235, 446, 5, 6, 7, 8, 9, 10, 12, 13, - 14, 15, 16, 17, 19, 20, 21, 22, 23, 196, - 197, 217, 195, 195, 104, 207, 4, 147, 3, 207, - 645, 442, 467, 5, 3, 462, 3, 195, 476, 4, - 207, 620, 207, 467, 5, 3, 479, 576, 665, 504, - 261, 505, 606, 207, 207, 619, 207, 192, 207, 207, - 207, 585, 586, 207, 194, 701, 714, 714, 5, 5, - 509, 423, 3, 22, 195, 3, 4, 3, 3, 354, - 362, 510, 21, 3, 431, 3, 322, 321, 504, 548, - 624, 625, 207, 312, 195, 3, 4, 5, 147, 313, - 314, 195, 195, 195, 511, 315, 347, 435, 195, 393, - 726, 223, 224, 226, 5, 219, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 5, 22, 218, 504, 504, 5, 504, 5, 504, - 192, 207, 192, 658, 671, 672, 673, 674, 675, 192, - 671, 207, 444, 466, 465, 207, 473, 634, 466, 483, - 207, 207, 207, 195, 3, 207, 192, 207, 707, 207, - 514, 264, 3, 504, 192, 353, 355, 510, 4, 354, - 357, 359, 4, 21, 364, 432, 514, 5, 195, 195, - 511, 315, 347, 351, 220, 232, 221, 228, 228, 228, - 504, 504, 504, 504, 504, 207, 656, 3, 207, 261, - 195, 207, 195, 195, 509, 22, 4, 3, 195, 509, - 195, 194, 4, 229, 230, 231, 504, 195, 195, 195, - 207, 673, 207, 3, 416, 514, 3, 4, 504, 3, - 4, 446, 509, 195, 509, 504, 4, 230, 504, 3, - 504, 4, 509, 504 + 364, 365, 366, 367, 512, 513, 210, 431, 302, 210, + 517, 235, 279, 3, 195, 198, 210, 507, 264, 507, + 196, 195, 624, 90, 311, 310, 196, 315, 355, 357, + 361, 287, 313, 354, 144, 145, 146, 368, 354, 291, + 3, 133, 348, 349, 354, 197, 192, 416, 210, 210, + 198, 507, 198, 198, 507, 203, 449, 451, 197, 197, + 198, 192, 185, 238, 449, 3, 4, 5, 6, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 161, 193, 199, 200, 220, 198, 198, 90, 210, 196, + 133, 195, 210, 648, 445, 470, 3, 195, 465, 195, + 198, 479, 196, 210, 623, 210, 470, 3, 195, 482, + 579, 668, 507, 264, 508, 609, 210, 210, 622, 210, + 192, 210, 210, 210, 588, 589, 210, 197, 704, 717, + 717, 3, 3, 512, 426, 195, 193, 198, 195, 196, + 195, 195, 357, 365, 513, 6, 195, 434, 195, 325, + 324, 507, 551, 627, 628, 210, 315, 198, 195, 196, + 3, 133, 316, 317, 198, 198, 198, 514, 318, 350, + 438, 198, 396, 729, 226, 227, 229, 3, 222, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 3, 193, 221, 507, 3, + 507, 3, 507, 192, 210, 192, 661, 674, 675, 676, + 677, 678, 192, 674, 210, 447, 469, 468, 210, 476, + 637, 469, 486, 210, 210, 210, 198, 195, 210, 192, + 210, 710, 210, 517, 267, 195, 507, 192, 356, 358, + 513, 196, 357, 360, 362, 196, 6, 367, 435, 517, + 3, 198, 198, 514, 318, 350, 354, 223, 235, 224, + 231, 231, 231, 507, 507, 507, 507, 507, 210, 659, + 195, 210, 264, 198, 210, 198, 198, 512, 193, 196, + 195, 198, 512, 198, 197, 196, 232, 233, 234, 507, + 198, 198, 198, 210, 676, 210, 195, 419, 517, 195, + 196, 507, 195, 196, 449, 512, 198, 512, 507, 196, + 233, 507, 195, 507, 196, 512, 507 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 204, 205, 205, 206, 206, 206, 207, 207, 207, - 207, 207, 208, 208, 208, 209, 209, 209, 210, 211, - 211, 211, 212, 212, 213, 214, 214, 215, 215, 215, - 215, 215, 216, 216, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 218, 218, 218, 218, 219, - 219, 220, 220, 220, 221, 222, 222, 223, 222, 224, - 222, 225, 226, 225, 227, 228, 228, 229, 229, 230, - 230, 231, 231, 231, 231, 231, 231, 231, 232, 233, - 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, - 234, 235, 235, 236, 236, 237, 238, 238, 239, 239, - 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 242, 242, 243, 244, 244, - 245, 245, 246, 246, 247, 247, 248, 249, 249, 250, - 250, 251, 251, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 253, 253, 253, 253, 253, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 255, 256, 257, 257, 258, 258, 258, 258, - 258, 259, 260, 260, 261, 261, 262, 262, 263, 264, - 264, 264, 266, 265, 265, 265, 268, 267, 269, 267, - 270, 267, 271, 267, 272, 267, 273, 267, 274, 274, - 275, 275, 275, 276, 276, 277, 277, 278, 278, 279, - 279, 280, 280, 281, 282, 282, 282, 283, 283, 283, - 284, 284, 285, 285, 286, 286, 286, 286, 286, 287, - 287, 287, 287, 288, 288, 289, 289, 289, 290, 290, - 292, 291, 293, 293, 294, 294, 295, 295, 296, 296, - 297, 298, 298, 299, 300, 300, 301, 301, 302, 302, - 303, 304, 305, 305, 305, 306, 306, 307, 307, 307, - 308, 307, 307, 309, 309, 310, 311, 311, 312, 312, - 313, 313, 314, 314, 314, 315, 316, 316, 317, 317, - 318, 318, 319, 319, 320, 320, 321, 321, 322, 322, - 322, 323, 323, 324, 325, 326, 327, 327, 328, 328, - 329, 330, 330, 331, 333, 334, 332, 335, 335, 336, - 336, 337, 337, 338, 338, 338, 339, 338, 338, 340, - 338, 338, 338, 338, 338, 338, 338, 341, 341, 342, - 343, 344, 345, 345, 346, 346, 346, 347, 348, 348, - 349, 350, 349, 351, 351, 351, 351, 351, 352, 352, - 353, 353, 354, 355, 356, 356, 357, 357, 358, 358, - 359, 360, 361, 361, 362, 362, 363, 363, 364, 365, - 365, 365, 367, 366, 368, 368, 369, 369, 370, 370, - 372, 371, 373, 373, 374, 374, 375, 376, 376, 377, - 377, 378, 378, 379, 379, 380, 380, 381, 381, 381, - 382, 383, 383, 383, 383, 383, 383, 383, 383, 384, - 384, 385, 385, 385, 385, 385, 385, 385, 386, 387, - 389, 390, 388, 392, 391, 393, 391, 395, 396, 394, - 397, 397, 398, 400, 401, 399, 402, 402, 403, 403, - 404, 404, 405, 405, 405, 406, 407, 408, 409, 408, - 410, 410, 411, 412, 412, 413, 413, 414, 415, 415, - 416, 416, 417, 418, 419, 419, 421, 420, 422, 422, - 423, 423, 423, 425, 426, 424, 427, 427, 428, 428, - 429, 429, 430, 431, 430, 432, 432, 433, 434, 433, - 435, 435, 435, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 446, 446, 447, 448, 449, - 449, 450, 451, 450, 452, 453, 454, 455, 455, 456, - 456, 456, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 458, 458, 458, 458, 458, 458, 459, 461, - 462, 460, 463, 463, 464, 464, 465, 465, 466, 467, - 468, 468, 469, 470, 470, 471, 471, 472, 472, 473, - 474, 474, 475, 476, 478, 479, 477, 480, 480, 481, - 481, 482, 482, 483, 483, 484, 484, 484, 484, 484, - 485, 486, 486, 487, 487, 488, 488, 488, 488, 488, - 489, 490, 490, 491, 491, 492, 492, 493, 494, 494, - 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, - 495, 495, 496, 496, 497, 497, 498, 498, 499, 499, - 500, 501, 502, 503, 503, 504, 505, 506, 507, 508, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 516, - 517, 517, 517, 518, 518, 519, 519, 520, 520, 521, - 522, 523, 524, 525, 526, 526, 526, 527, 528, 529, - 529, 530, 530, 531, 531, 532, 533, 533, 533, 534, - 535, 536, 536, 537, 537, 538, 538, 539, 540, 541, - 541, 542, 542, 542, 543, 543, 544, 544, 544, 544, - 545, 545, 545, 545, 546, 546, 546, 546, 547, 547, - 547, 547, 548, 549, 550, 550, 551, 551, 552, 552, - 553, 554, 555, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 555, 555, 555, 555, 555, 556, - 556, 557, 557, 558, 559, 560, 560, 561, 562, 563, - 563, 563, 564, 565, 565, 565, 566, 567, 567, 567, - 568, 568, 569, 569, 570, 570, 571, 572, 573, 573, - 573, 574, 576, 575, 577, 575, 578, 578, 580, 579, - 581, 579, 583, 582, 582, 584, 584, 585, 585, 585, - 585, 586, 587, 587, 588, 589, 590, 591, 591, 592, - 592, 593, 593, 593, 594, 595, 597, 598, 596, 599, - 599, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 601, 602, 604, 603, 605, 605, 606, - 606, 606, 606, 606, 606, 608, 607, 609, 607, 607, - 607, 611, 610, 612, 610, 613, 613, 614, 614, 615, - 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, - 616, 616, 617, 617, 617, 618, 618, 619, 619, 620, - 620, 621, 621, 622, 623, 623, 624, 625, 625, 626, - 626, 627, 627, 628, 628, 628, 628, 628, 629, 629, - 630, 630, 631, 631, 631, 631, 631, 633, 632, 634, - 632, 635, 636, 636, 637, 637, 637, 637, 637, 637, - 637, 637, 637, 637, 637, 637, 638, 640, 639, 641, - 641, 643, 642, 645, 644, 646, 646, 647, 647, 648, - 649, 649, 650, 650, 651, 651, 652, 652, 653, 655, - 654, 656, 654, 657, 657, 657, 658, 658, 659, 660, - 660, 242, 242, 662, 661, 664, 665, 663, 666, 666, - 667, 667, 668, 669, 669, 670, 670, 671, 672, 672, - 673, 673, 673, 674, 675, 676, 676, 677, 677, 678, - 679, 680, 680, 681, 682, 683, 682, 685, 684, 686, - 684, 687, 688, 684, 690, 689, 691, 691, 691, 692, - 692, 693, 693, 694, 694, 694, 695, 695, 696, 696, - 697, 697, 697, 698, 700, 701, 699, 702, 703, 704, - 704, 705, 707, 706, 708, 708, 709, 711, 710, 712, - 713, 714, 715, 715, 716, 717, 716, 718, 718, 719, - 719, 720, 720, 721, 721, 723, 722, 724, 724, 725, - 725, 725, 725, 725, 726, 727, 727 + 0, 207, 208, 208, 209, 209, 209, 210, 210, 210, + 210, 210, 211, 211, 211, 212, 212, 212, 213, 214, + 214, 214, 215, 215, 216, 217, 217, 218, 218, 218, + 218, 218, 219, 219, 220, 220, 220, 220, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 220, 220, 220, 220, 220, 221, 221, 221, 221, 222, + 222, 223, 223, 223, 224, 225, 225, 226, 225, 227, + 225, 228, 229, 228, 230, 231, 231, 232, 232, 233, + 233, 234, 234, 234, 234, 234, 234, 234, 235, 236, + 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, + 237, 238, 238, 239, 239, 240, 241, 241, 242, 242, + 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 245, 245, 246, 247, 247, + 248, 248, 249, 249, 250, 250, 251, 252, 252, 253, + 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 256, 256, 256, 256, 256, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 258, 259, 260, 260, 261, 261, 261, 261, + 261, 262, 263, 263, 264, 264, 265, 265, 266, 267, + 267, 267, 269, 268, 268, 268, 271, 270, 272, 270, + 273, 270, 274, 270, 275, 270, 276, 270, 277, 277, + 278, 278, 278, 279, 279, 280, 280, 281, 281, 282, + 282, 283, 283, 284, 285, 285, 285, 286, 286, 286, + 287, 287, 288, 288, 289, 289, 289, 289, 289, 290, + 290, 290, 290, 291, 291, 292, 292, 292, 293, 293, + 295, 294, 296, 296, 297, 297, 298, 298, 299, 299, + 300, 301, 301, 302, 303, 303, 304, 304, 305, 305, + 306, 307, 308, 308, 308, 309, 309, 310, 310, 310, + 311, 310, 310, 312, 312, 313, 314, 314, 315, 315, + 316, 316, 317, 317, 317, 318, 319, 319, 320, 320, + 321, 321, 322, 322, 323, 323, 324, 324, 325, 325, + 325, 326, 326, 327, 328, 329, 330, 330, 331, 331, + 332, 333, 333, 334, 336, 337, 335, 338, 338, 339, + 339, 340, 340, 341, 341, 341, 342, 341, 341, 343, + 341, 341, 341, 341, 341, 341, 341, 344, 344, 345, + 346, 347, 348, 348, 349, 349, 349, 350, 351, 351, + 352, 353, 352, 354, 354, 354, 354, 354, 355, 355, + 356, 356, 357, 358, 359, 359, 360, 360, 361, 361, + 362, 363, 364, 364, 365, 365, 366, 366, 367, 368, + 368, 368, 370, 369, 371, 371, 372, 372, 373, 373, + 375, 374, 376, 376, 377, 377, 378, 379, 379, 380, + 380, 381, 381, 382, 382, 383, 383, 384, 384, 384, + 385, 386, 386, 386, 386, 386, 386, 386, 386, 387, + 387, 388, 388, 388, 388, 388, 388, 388, 389, 390, + 392, 393, 391, 395, 394, 396, 394, 398, 399, 397, + 400, 400, 401, 403, 404, 402, 405, 405, 406, 406, + 407, 407, 408, 408, 408, 409, 410, 411, 412, 411, + 413, 413, 414, 415, 415, 416, 416, 417, 418, 418, + 419, 419, 420, 421, 422, 422, 424, 423, 425, 425, + 426, 426, 426, 428, 429, 427, 430, 430, 431, 431, + 432, 432, 433, 434, 433, 435, 435, 436, 437, 436, + 438, 438, 438, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 449, 449, 450, 451, 452, + 452, 453, 454, 453, 455, 456, 457, 458, 458, 459, + 459, 459, 460, 460, 460, 460, 460, 460, 460, 460, + 460, 460, 461, 461, 461, 461, 461, 461, 462, 464, + 465, 463, 466, 466, 467, 467, 468, 468, 469, 470, + 471, 471, 472, 473, 473, 474, 474, 475, 475, 476, + 477, 477, 478, 479, 481, 482, 480, 483, 483, 484, + 484, 485, 485, 486, 486, 487, 487, 487, 487, 487, + 488, 489, 489, 490, 490, 491, 491, 491, 491, 491, + 492, 493, 493, 494, 494, 495, 495, 496, 497, 497, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 499, 499, 500, 500, 501, 501, 502, 502, + 503, 504, 505, 506, 506, 507, 508, 509, 510, 511, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 519, + 520, 520, 520, 521, 521, 522, 522, 523, 523, 524, + 525, 526, 527, 528, 529, 529, 529, 530, 531, 532, + 532, 533, 533, 534, 534, 535, 536, 536, 536, 537, + 538, 539, 539, 540, 540, 541, 541, 542, 543, 544, + 544, 545, 545, 545, 546, 546, 547, 547, 547, 547, + 548, 548, 548, 548, 549, 549, 549, 549, 550, 550, + 550, 550, 551, 552, 553, 553, 554, 554, 555, 555, + 556, 557, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 559, + 559, 560, 560, 561, 562, 563, 563, 564, 565, 566, + 566, 566, 567, 568, 568, 568, 569, 570, 570, 570, + 571, 571, 572, 572, 573, 573, 574, 575, 576, 576, + 576, 577, 579, 578, 580, 578, 581, 581, 583, 582, + 584, 582, 586, 585, 585, 587, 587, 588, 588, 588, + 588, 589, 590, 590, 591, 592, 593, 594, 594, 595, + 595, 596, 596, 596, 597, 598, 600, 601, 599, 602, + 602, 603, 603, 603, 603, 603, 603, 603, 603, 603, + 603, 603, 603, 604, 605, 607, 606, 608, 608, 609, + 609, 609, 609, 609, 609, 611, 610, 612, 610, 610, + 610, 614, 613, 615, 613, 616, 616, 617, 617, 618, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 620, 620, 620, 621, 621, 622, 622, 623, + 623, 624, 624, 625, 626, 626, 627, 628, 628, 629, + 629, 630, 630, 631, 631, 631, 631, 631, 632, 632, + 633, 633, 634, 634, 634, 634, 634, 636, 635, 637, + 635, 638, 639, 639, 640, 640, 640, 640, 640, 640, + 640, 640, 640, 640, 640, 640, 641, 643, 642, 644, + 644, 646, 645, 648, 647, 649, 649, 650, 650, 651, + 652, 652, 653, 653, 654, 654, 655, 655, 656, 658, + 657, 659, 657, 660, 660, 660, 661, 661, 662, 663, + 663, 245, 245, 665, 664, 667, 668, 666, 669, 669, + 670, 670, 671, 672, 672, 673, 673, 674, 675, 675, + 676, 676, 676, 677, 678, 679, 679, 680, 680, 681, + 682, 683, 683, 684, 685, 686, 685, 688, 687, 689, + 687, 690, 691, 687, 693, 692, 694, 694, 694, 695, + 695, 696, 696, 697, 697, 697, 698, 698, 699, 699, + 700, 700, 700, 700, 700, 700, 701, 703, 704, 702, + 705, 706, 707, 707, 708, 710, 709, 711, 711, 712, + 714, 713, 715, 716, 717, 718, 718, 719, 720, 719, + 721, 721, 722, 722, 723, 723, 724, 724, 726, 725, + 727, 727, 728, 728, 728, 728, 728, 729, 730, 730 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 2, 1, 1, 1, 2, 1, 1, @@ -2975,22 +3700,23 @@ static const yytype_int8 yyr2[] = 4, 1, 3, 1, 3, 0, 5, 0, 3, 0, 5, 0, 0, 7, 0, 4, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 0, 1, 1, 2, - 1, 1, 1, 5, 0, 0, 10, 1, 1, 0, - 1, 4, 0, 7, 0, 1, 5, 0, 6, 1, - 6, 0, 0, 1, 0, 0, 4, 0, 1, 1, - 3, 1, 1, 3, 4, 0, 4, 1, 1, 3, - 3, 1, 3, 1, 0, 1, 3 + 1, 1, 1, 1, 1, 1, 5, 0, 0, 10, + 1, 1, 0, 1, 4, 0, 7, 0, 1, 5, + 0, 6, 1, 6, 0, 0, 1, 0, 0, 4, + 0, 1, 1, 3, 1, 1, 3, 4, 0, 4, + 1, 1, 3, 3, 1, 3, 1, 0, 1, 3 }; +enum { YYENOMEM = -2 }; + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) @@ -3012,10 +3738,9 @@ static const yytype_int8 yyr2[] = } \ while (0) -/* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 - +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF /* Enable debugging if requested. */ @@ -3032,19 +3757,16 @@ do { \ YYFPRINTF Args; \ } while (0) -/* This macro is provided for backward compatibility. */ -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ + +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Type, Value); \ + Kind, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) @@ -3055,18 +3777,15 @@ do { \ `-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { FILE *yyoutput = yyo; - YYUSE (yyoutput); + YY_USE (yyoutput); if (!yyvaluep) return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyo, yytoknum[yytype], *yyvaluep); -# endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -3076,12 +3795,13 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) `---------------------------*/ static void -yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { YYFPRINTF (yyo, "%s %s (", - yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - yy_symbol_value_print (yyo, yytype, yyvaluep); + yy_symbol_value_print (yyo, yykind, yyvaluep); YYFPRINTF (yyo, ")"); } @@ -3114,7 +3834,8 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, + int yyrule) { int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; @@ -3126,9 +3847,8 @@ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - yystos[+yyssp[yyi + 1 - yynrhs]], - &yyvsp[(yyi + 1) - (yynrhs)] - ); + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)]); YYFPRINTF (stderr, "\n"); } } @@ -3143,8 +3863,8 @@ do { \ multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -3167,259 +3887,30 @@ int yydebug; #endif -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) -# else -/* Return the length of YYSTR. */ -static YYPTRDIFF_T -yystrlen (const char *yystr) -{ - YYPTRDIFF_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -yystpcpy (char *yydest, const char *yysrc) -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYPTRDIFF_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYPTRDIFF_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - else - goto append; - - append: - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (yyres) - return yystpcpy (yyres, yystr) - yyres; - else - return yystrlen (yystr); -} -# endif - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, - yy_state_t *yyssp, int yytoken) -{ - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat: reported tokens (one for the "unexpected", - one per "expected"). */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Actual size of YYARG. */ - int yycount = 0; - /* Cumulated lengths of YYARG. */ - YYPTRDIFF_T yysize = 0; - - /* There are many possibilities here to consider: - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[+*yyssp]; - YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); - yysize = yysize0; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYPTRDIFF_T yysize1 - = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - } - } - } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - default: /* Avoid compiler warnings. */ - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - { - /* Don't count the "%s"s in the final size, but reserve room for - the terminator. */ - YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1; - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - ++yyp; - ++yyformat; - } - } - return 0; -} -#endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep) { - YYUSE (yyvaluep); + YY_USE (yyvaluep); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } - - -/* The lookahead symbol. */ +/* Lookahead token kind. */ int yychar; /* The semantic value of the lookahead symbol. */ @@ -3428,6 +3919,8 @@ YYSTYPE yylval; int yynerrs; + + /*----------. | yyparse. | `----------*/ @@ -3435,43 +3928,36 @@ int yynerrs; int yyparse (void) { - yy_state_fast_t yystate; + yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - - /* The stacks and their tools: - 'yyss': related to states. - 'yyvs': related to semantic values. + int yyerrstatus = 0; - Refer to the stacks through separate pointers, to allow yyoverflow + /* Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ + /* Their size. */ + YYPTRDIFF_T yystacksize = YYINITDEPTH; + + /* The state stack: array, bottom, top. */ yy_state_t yyssa[YYINITDEPTH]; - yy_state_t *yyss; - yy_state_t *yyssp; + yy_state_t *yyss = yyssa; + yy_state_t *yyssp = yyss; - /* The semantic value stack. */ + /* The semantic value stack: array, bottom, top. */ YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - - YYPTRDIFF_T yystacksize; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp = yyvs; int yyn; + /* The return value of yyparse. */ int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; + /* Lookahead symbol kind. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; -#endif + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) @@ -3479,16 +3965,10 @@ yyparse (void) Keep to zero when no symbol should be popped. */ int yylen = 0; - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yystacksize = YYINITDEPTH; - YYDPRINTF ((stderr, "Starting parse\n")); - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; @@ -3510,10 +3990,11 @@ yysetstate: YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE - goto yyexhaustedlab; + YYNOMEM; #else { /* Get the current used size of the three stacks, in elements. */ @@ -3541,7 +4022,7 @@ yysetstate: # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; @@ -3552,10 +4033,10 @@ yysetstate: YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -3574,6 +4055,7 @@ yysetstate: } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + if (yystate == YYFINAL) YYACCEPT; @@ -3594,18 +4076,29 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); + YYDPRINTF ((stderr, "Reading a token\n")); yychar = yylex (); } if (yychar <= YYEOF) { - yychar = yytoken = YYEOF; + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -3674,20 +4167,20 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 6: -#line 520 "fortran.y" + case 6: /* line: error */ +#line 523 "fortran.y" {yyerrok;yyclearin;} -#line 3681 "fortran.tab.c" +#line 4174 "fortran.tab.c" break; - case 7: -#line 523 "fortran.y" + case 7: /* line-break: '\n' fin_line */ +#line 526 "fortran.y" {token_since_endofstmt = 0; increment_nbtokens = 0;} -#line 3687 "fortran.tab.c" +#line 4180 "fortran.tab.c" break; - case 16: -#line 536 "fortran.y" + case 16: /* suite_line: TOK_INCLUDE filename fin_line */ +#line 539 "fortran.y" { if (inmoduledeclare == 0 ) { @@ -3695,245 +4188,245 @@ yyreduce: RemoveWordSET_0(fortran_out,pos_curinclude,pos_end-pos_curinclude); } } -#line 3699 "fortran.tab.c" +#line 4192 "fortran.tab.c" break; - case 18: -#line 561 "fortran.y" + case 18: /* fin_line: %empty */ +#line 564 "fortran.y" { pos_cur = setposcur(); } -#line 3705 "fortran.tab.c" +#line 4198 "fortran.tab.c" break; - case 24: -#line 585 "fortran.y" + case 24: /* filename: TOK_CHAR_CONSTANT */ +#line 600 "fortran.y" { Add_Include_1((yyvsp[0].na)); } -#line 3711 "fortran.tab.c" +#line 4204 "fortran.tab.c" break; - case 27: -#line 1107 "fortran.y" + case 27: /* uexpr: lhs */ +#line 1122 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 3717 "fortran.tab.c" +#line 4210 "fortran.tab.c" break; - case 28: -#line 1108 "fortran.y" + case 28: /* uexpr: simple_const */ +#line 1123 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 3723 "fortran.tab.c" +#line 4216 "fortran.tab.c" break; - case 29: -#line 1109 "fortran.y" + case 29: /* uexpr: expr operation */ +#line 1124 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3729 "fortran.tab.c" +#line 4222 "fortran.tab.c" break; - case 30: -#line 1110 "fortran.y" + case 30: /* uexpr: signe expr */ +#line 1125 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3735 "fortran.tab.c" +#line 4228 "fortran.tab.c" break; - case 31: -#line 1111 "fortran.y" + case 31: /* uexpr: TOK_NOT expr */ +#line 1126 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3741 "fortran.tab.c" +#line 4234 "fortran.tab.c" break; - case 32: -#line 1113 "fortran.y" + case 32: /* signe: '+' */ +#line 1128 "fortran.y" { strcpy((yyval.na),"+"); } -#line 3747 "fortran.tab.c" +#line 4240 "fortran.tab.c" break; - case 33: -#line 1114 "fortran.y" + case 33: /* signe: '-' */ +#line 1129 "fortran.y" { strcpy((yyval.na),"-"); } -#line 3753 "fortran.tab.c" +#line 4246 "fortran.tab.c" break; - case 34: -#line 1118 "fortran.y" + case 34: /* operation: '+' expr */ +#line 1133 "fortran.y" { sprintf((yyval.na),"+%s",(yyvsp[0].na)); } -#line 3759 "fortran.tab.c" +#line 4252 "fortran.tab.c" break; - case 35: -#line 1119 "fortran.y" + case 35: /* operation: '-' expr */ +#line 1134 "fortran.y" { sprintf((yyval.na),"-%s",(yyvsp[0].na)); } -#line 3765 "fortran.tab.c" +#line 4258 "fortran.tab.c" break; - case 36: -#line 1120 "fortran.y" + case 36: /* operation: '*' expr */ +#line 1135 "fortran.y" { sprintf((yyval.na),"*%s",(yyvsp[0].na)); } -#line 3771 "fortran.tab.c" +#line 4264 "fortran.tab.c" break; - case 37: -#line 1121 "fortran.y" + case 37: /* operation: TOK_DASTER expr */ +#line 1136 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3777 "fortran.tab.c" +#line 4270 "fortran.tab.c" break; - case 38: -#line 1122 "fortran.y" + case 38: /* operation: TOK_EQ expr */ +#line 1137 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3783 "fortran.tab.c" +#line 4276 "fortran.tab.c" break; - case 39: -#line 1123 "fortran.y" + case 39: /* operation: TOK_EQV expr */ +#line 1138 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3789 "fortran.tab.c" +#line 4282 "fortran.tab.c" break; - case 40: -#line 1124 "fortran.y" + case 40: /* operation: TOK_GT expr */ +#line 1139 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3795 "fortran.tab.c" +#line 4288 "fortran.tab.c" break; - case 41: -#line 1125 "fortran.y" + case 41: /* operation: '>' expr */ +#line 1140 "fortran.y" { sprintf((yyval.na)," > %s",(yyvsp[0].na)); } -#line 3801 "fortran.tab.c" +#line 4294 "fortran.tab.c" break; - case 42: -#line 1126 "fortran.y" + case 42: /* operation: '<' expr */ +#line 1141 "fortran.y" { sprintf((yyval.na)," < %s",(yyvsp[0].na)); } -#line 3807 "fortran.tab.c" +#line 4300 "fortran.tab.c" break; - case 43: -#line 1127 "fortran.y" + case 43: /* operation: '>' '=' expr */ +#line 1142 "fortran.y" { sprintf((yyval.na)," >= %s",(yyvsp[0].na)); } -#line 3813 "fortran.tab.c" +#line 4306 "fortran.tab.c" break; - case 44: -#line 1128 "fortran.y" + case 44: /* operation: '<' '=' expr */ +#line 1143 "fortran.y" { sprintf((yyval.na)," <= %s",(yyvsp[0].na)); } -#line 3819 "fortran.tab.c" +#line 4312 "fortran.tab.c" break; - case 45: -#line 1129 "fortran.y" + case 45: /* operation: TOK_LT expr */ +#line 1144 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3825 "fortran.tab.c" +#line 4318 "fortran.tab.c" break; - case 46: -#line 1130 "fortran.y" + case 46: /* operation: TOK_GE expr */ +#line 1145 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3831 "fortran.tab.c" +#line 4324 "fortran.tab.c" break; - case 47: -#line 1131 "fortran.y" + case 47: /* operation: TOK_LE expr */ +#line 1146 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3837 "fortran.tab.c" +#line 4330 "fortran.tab.c" break; - case 48: -#line 1132 "fortran.y" + case 48: /* operation: TOK_NE expr */ +#line 1147 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3843 "fortran.tab.c" +#line 4336 "fortran.tab.c" break; - case 49: -#line 1133 "fortran.y" + case 49: /* operation: TOK_NEQV expr */ +#line 1148 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3849 "fortran.tab.c" +#line 4342 "fortran.tab.c" break; - case 50: -#line 1134 "fortran.y" + case 50: /* operation: TOK_XOR expr */ +#line 1149 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3855 "fortran.tab.c" +#line 4348 "fortran.tab.c" break; - case 51: -#line 1135 "fortran.y" + case 51: /* operation: TOK_OR expr */ +#line 1150 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3861 "fortran.tab.c" +#line 4354 "fortran.tab.c" break; - case 52: -#line 1136 "fortran.y" + case 52: /* operation: TOK_AND expr */ +#line 1151 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3867 "fortran.tab.c" +#line 4360 "fortran.tab.c" break; - case 53: -#line 1137 "fortran.y" + case 53: /* operation: TOK_SLASH after_slash */ +#line 1152 "fortran.y" { sprintf((yyval.na),"%s",(yyvsp[0].na)); } -#line 3873 "fortran.tab.c" +#line 4366 "fortran.tab.c" break; - case 54: -#line 1138 "fortran.y" + case 54: /* operation: '=' after_equal */ +#line 1153 "fortran.y" { sprintf((yyval.na),"%s",(yyvsp[0].na)); } -#line 3879 "fortran.tab.c" +#line 4372 "fortran.tab.c" break; - case 55: -#line 1140 "fortran.y" + case 55: /* after_slash: %empty */ +#line 1155 "fortran.y" { strcpy((yyval.na),""); } -#line 3885 "fortran.tab.c" +#line 4378 "fortran.tab.c" break; - case 56: -#line 1141 "fortran.y" + case 56: /* after_slash: expr */ +#line 1156 "fortran.y" { sprintf((yyval.na),"/%s",(yyvsp[0].na)); } -#line 3891 "fortran.tab.c" +#line 4384 "fortran.tab.c" break; - case 57: -#line 1142 "fortran.y" + case 57: /* after_slash: '=' expr */ +#line 1157 "fortran.y" { sprintf((yyval.na),"/= %s",(yyvsp[0].na));} -#line 3897 "fortran.tab.c" +#line 4390 "fortran.tab.c" break; - case 58: -#line 1143 "fortran.y" + case 58: /* after_slash: TOK_SLASH expr */ +#line 1158 "fortran.y" { sprintf((yyval.na),"//%s",(yyvsp[0].na)); } -#line 3903 "fortran.tab.c" +#line 4396 "fortran.tab.c" break; - case 59: -#line 1146 "fortran.y" + case 59: /* after_equal: '=' expr */ +#line 1161 "fortran.y" { sprintf((yyval.na),"==%s",(yyvsp[0].na)); } -#line 3909 "fortran.tab.c" +#line 4402 "fortran.tab.c" break; - case 60: -#line 1147 "fortran.y" + case 60: /* after_equal: expr */ +#line 1162 "fortran.y" { sprintf((yyval.na),"= %s",(yyvsp[0].na)); } -#line 3915 "fortran.tab.c" +#line 4408 "fortran.tab.c" break; - case 61: -#line 1150 "fortran.y" + case 61: /* lhs: ident */ +#line 1165 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 3921 "fortran.tab.c" +#line 4414 "fortran.tab.c" break; - case 62: -#line 1151 "fortran.y" + case 62: /* lhs: structure_component */ +#line 1166 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 3927 "fortran.tab.c" +#line 4420 "fortran.tab.c" break; - case 63: -#line 1152 "fortran.y" + case 63: /* lhs: array_ele_substring_func_ref */ +#line 1167 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 3933 "fortran.tab.c" +#line 4426 "fortran.tab.c" break; - case 64: -#line 1156 "fortran.y" + case 64: /* beforefunctionuse: %empty */ +#line 1171 "fortran.y" { agrif_parentcall = 0; if ( !strcasecmp(identcopy, "Agrif_Parent") ) agrif_parentcall = 1; @@ -3943,151 +4436,151 @@ yyreduce: Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); } } -#line 3947 "fortran.tab.c" +#line 4440 "fortran.tab.c" break; - case 65: -#line 1167 "fortran.y" + case 65: /* array_ele_substring_func_ref: begin_array */ +#line 1182 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0; } -#line 3953 "fortran.tab.c" +#line 4446 "fortran.tab.c" break; - case 66: -#line 1168 "fortran.y" + case 66: /* array_ele_substring_func_ref: begin_array substring */ +#line 1183 "fortran.y" { sprintf((yyval.na)," %s %s ",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 3959 "fortran.tab.c" +#line 4452 "fortran.tab.c" break; - case 67: -#line 1169 "fortran.y" + case 67: /* $@4: %empty */ +#line 1184 "fortran.y" {in_complex_literal=0;} -#line 3965 "fortran.tab.c" +#line 4458 "fortran.tab.c" break; - case 68: -#line 1169 "fortran.y" + case 68: /* array_ele_substring_func_ref: structure_component '(' $@4 funarglist ')' */ +#line 1184 "fortran.y" { sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); } -#line 3971 "fortran.tab.c" +#line 4464 "fortran.tab.c" break; - case 69: -#line 1170 "fortran.y" + case 69: /* $@5: %empty */ +#line 1185 "fortran.y" {in_complex_literal=0;} -#line 3977 "fortran.tab.c" +#line 4470 "fortran.tab.c" break; - case 70: -#line 1170 "fortran.y" + case 70: /* array_ele_substring_func_ref: structure_component '(' $@5 funarglist ')' substring */ +#line 1185 "fortran.y" { sprintf((yyval.na)," %s ( %s ) %s ",(yyvsp[-5].na),(yyvsp[-2].na),(yyvsp[0].na)); } -#line 3983 "fortran.tab.c" +#line 4476 "fortran.tab.c" break; - case 72: -#line 1173 "fortran.y" + case 72: /* $@6: %empty */ +#line 1188 "fortran.y" {in_complex_literal=0;} -#line 3989 "fortran.tab.c" +#line 4482 "fortran.tab.c" break; - case 73: -#line 1174 "fortran.y" + case 73: /* begin_array: ident '(' $@6 funarglist ')' */ +#line 1189 "fortran.y" { if ( inside_type_declare ) break; sprintf((yyval.na)," %s ( %s )",(yyvsp[-4].na),(yyvsp[-1].na)); ModifyTheAgrifFunction_0((yyvsp[-1].na)); agrif_parentcall = 0; } -#line 4000 "fortran.tab.c" +#line 4493 "fortran.tab.c" break; - case 74: -#line 1183 "fortran.y" + case 74: /* structure_component: lhs '%' declare_after_percent lhs */ +#line 1198 "fortran.y" { sprintf((yyval.na)," %s %% %s ",(yyvsp[-3].na),(yyvsp[0].na)); if ( incalldeclare == 0 ) inagrifcallargument = 0; } -#line 4009 "fortran.tab.c" +#line 4502 "fortran.tab.c" break; - case 75: -#line 1194 "fortran.y" + case 75: /* funarglist: beforefunctionuse */ +#line 1209 "fortran.y" { strcpy((yyval.na)," "); } -#line 4015 "fortran.tab.c" +#line 4508 "fortran.tab.c" break; - case 76: -#line 1195 "fortran.y" + case 76: /* funarglist: beforefunctionuse funargs */ +#line 1210 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4021 "fortran.tab.c" +#line 4514 "fortran.tab.c" break; - case 77: -#line 1198 "fortran.y" + case 77: /* funargs: funarg */ +#line 1213 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4027 "fortran.tab.c" +#line 4520 "fortran.tab.c" break; - case 78: -#line 1199 "fortran.y" + case 78: /* funargs: funargs ',' funarg */ +#line 1214 "fortran.y" { sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na)); } -#line 4033 "fortran.tab.c" +#line 4526 "fortran.tab.c" break; - case 79: -#line 1202 "fortran.y" + case 79: /* funarg: expr */ +#line 1217 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4039 "fortran.tab.c" +#line 4532 "fortran.tab.c" break; - case 80: -#line 1203 "fortran.y" + case 80: /* funarg: triplet */ +#line 1218 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4045 "fortran.tab.c" +#line 4538 "fortran.tab.c" break; - case 81: -#line 1206 "fortran.y" + case 81: /* triplet: expr ':' expr */ +#line 1221 "fortran.y" { sprintf((yyval.na),"%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 4051 "fortran.tab.c" +#line 4544 "fortran.tab.c" break; - case 82: -#line 1207 "fortran.y" + case 82: /* triplet: expr ':' expr ':' expr */ +#line 1222 "fortran.y" { sprintf((yyval.na),"%s :%s :%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} -#line 4057 "fortran.tab.c" +#line 4550 "fortran.tab.c" break; - case 83: -#line 1208 "fortran.y" + case 83: /* triplet: ':' expr ':' expr */ +#line 1223 "fortran.y" { sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 4063 "fortran.tab.c" +#line 4556 "fortran.tab.c" break; - case 84: -#line 1209 "fortran.y" + case 84: /* triplet: ':' ':' expr */ +#line 1224 "fortran.y" { sprintf((yyval.na),": : %s",(yyvsp[0].na));} -#line 4069 "fortran.tab.c" +#line 4562 "fortran.tab.c" break; - case 85: -#line 1210 "fortran.y" + case 85: /* triplet: ':' expr */ +#line 1225 "fortran.y" { sprintf((yyval.na),":%s",(yyvsp[0].na));} -#line 4075 "fortran.tab.c" +#line 4568 "fortran.tab.c" break; - case 86: -#line 1211 "fortran.y" + case 86: /* triplet: expr ':' */ +#line 1226 "fortran.y" { sprintf((yyval.na),"%s :",(yyvsp[-1].na));} -#line 4081 "fortran.tab.c" +#line 4574 "fortran.tab.c" break; - case 87: -#line 1212 "fortran.y" + case 87: /* triplet: ':' */ +#line 1227 "fortran.y" { sprintf((yyval.na),":");} -#line 4087 "fortran.tab.c" +#line 4580 "fortran.tab.c" break; - case 88: -#line 1215 "fortran.y" + case 88: /* ident: TOK_NAME */ +#line 1230 "fortran.y" { // if (indeclaration == 1) break; if ( afterpercent == 0 ) @@ -4132,95 +4625,95 @@ yyreduce: afterpercent = 0; } } -#line 4136 "fortran.tab.c" +#line 4629 "fortran.tab.c" break; - case 89: -#line 1261 "fortran.y" + case 89: /* simple_const: TOK_TRUE */ +#line 1276 "fortran.y" { strcpy((yyval.na),".TRUE.");} -#line 4142 "fortran.tab.c" +#line 4635 "fortran.tab.c" break; - case 90: -#line 1262 "fortran.y" + case 90: /* simple_const: TOK_FALSE */ +#line 1277 "fortran.y" { strcpy((yyval.na),".FALSE.");} -#line 4148 "fortran.tab.c" +#line 4641 "fortran.tab.c" break; - case 91: -#line 1263 "fortran.y" + case 91: /* simple_const: TOK_NULL_PTR */ +#line 1278 "fortran.y" { strcpy((yyval.na),"NULL()"); } -#line 4154 "fortran.tab.c" +#line 4647 "fortran.tab.c" break; - case 92: -#line 1264 "fortran.y" + case 92: /* simple_const: TOK_CSTINT */ +#line 1279 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4160 "fortran.tab.c" +#line 4653 "fortran.tab.c" break; - case 93: -#line 1265 "fortran.y" + case 93: /* simple_const: TOK_CSTREAL */ +#line 1280 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4166 "fortran.tab.c" +#line 4659 "fortran.tab.c" break; - case 94: -#line 1266 "fortran.y" + case 94: /* simple_const: TOK_HEXA */ +#line 1281 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4172 "fortran.tab.c" +#line 4665 "fortran.tab.c" break; - case 95: -#line 1268 "fortran.y" + case 95: /* simple_const: simple_const TOK_NAME */ +#line 1283 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 4178 "fortran.tab.c" +#line 4671 "fortran.tab.c" break; - case 97: -#line 1272 "fortran.y" + case 97: /* string_constant: TOK_CHAR_CONSTANT */ +#line 1287 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na));} -#line 4184 "fortran.tab.c" +#line 4677 "fortran.tab.c" break; - case 99: -#line 1274 "fortran.y" + case 99: /* string_constant: TOK_CHAR_MESSAGE */ +#line 1289 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na));} -#line 4190 "fortran.tab.c" +#line 4683 "fortran.tab.c" break; - case 100: -#line 1275 "fortran.y" + case 100: /* string_constant: TOK_CHAR_CUT */ +#line 1290 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na));} -#line 4196 "fortran.tab.c" +#line 4689 "fortran.tab.c" break; - case 101: -#line 1277 "fortran.y" + case 101: /* opt_substring: %empty */ +#line 1292 "fortran.y" { strcpy((yyval.na)," ");} -#line 4202 "fortran.tab.c" +#line 4695 "fortran.tab.c" break; - case 102: -#line 1278 "fortran.y" + case 102: /* opt_substring: substring */ +#line 1293 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na));} -#line 4208 "fortran.tab.c" +#line 4701 "fortran.tab.c" break; - case 103: -#line 1288 "fortran.y" + case 103: /* opt_expr: %empty */ +#line 1303 "fortran.y" { strcpy((yyval.na)," ");} -#line 4214 "fortran.tab.c" +#line 4707 "fortran.tab.c" break; - case 104: -#line 1289 "fortran.y" + case 104: /* opt_expr: expr */ +#line 1304 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na));} -#line 4220 "fortran.tab.c" +#line 4713 "fortran.tab.c" break; - case 169: -#line 1487 "fortran.y" + case 169: /* action-stmt: TOK_ENDMODULE opt_name */ +#line 1502 "fortran.y" { /* if we never meet the contains keyword */ if ( firstpass == 0 ) @@ -4242,245 +4735,245 @@ yyreduce: strcpy(curmodulename, ""); GlobalDeclaration = 0 ; } -#line 4246 "fortran.tab.c" +#line 4739 "fortran.tab.c" break; - case 189: -#line 1540 "fortran.y" + case 189: /* literal-constant: complex-literal-constant */ +#line 1555 "fortran.y" {in_complex_literal=0;} -#line 4252 "fortran.tab.c" +#line 4745 "fortran.tab.c" break; - case 192: -#line 1564 "fortran.y" + case 192: /* opt-label: %empty */ +#line 1579 "fortran.y" {strcpy((yyval.na),"");} -#line 4258 "fortran.tab.c" +#line 4751 "fortran.tab.c" break; - case 196: -#line 1574 "fortran.y" + case 196: /* opt-label-djview: %empty */ +#line 1589 "fortran.y" {strcpy((yyval.na),"");} -#line 4264 "fortran.tab.c" +#line 4757 "fortran.tab.c" break; - case 197: -#line 1576 "fortran.y" + case 197: /* opt-label-djview: label-djview */ +#line 1591 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4270 "fortran.tab.c" +#line 4763 "fortran.tab.c" break; - case 202: -#line 1596 "fortran.y" + case 202: /* $@7: %empty */ +#line 1611 "fortran.y" {pos_cur_decl=my_position_before;} -#line 4276 "fortran.tab.c" +#line 4769 "fortran.tab.c" break; - case 203: -#line 1597 "fortran.y" + case 203: /* declaration-type-spec: $@7 intrinsic-type-spec */ +#line 1612 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4282 "fortran.tab.c" +#line 4775 "fortran.tab.c" break; - case 205: -#line 1600 "fortran.y" + case 205: /* declaration-type-spec: TOK_TYPEPAR derived-type-spec ')' */ +#line 1615 "fortran.y" {strcpy(DeclType,"type"); GlobalDeclarationType = 1; } -#line 4288 "fortran.tab.c" +#line 4781 "fortran.tab.c" break; - case 206: -#line 1604 "fortran.y" + case 206: /* $@8: %empty */ +#line 1619 "fortran.y" {in_kind_selector = 1;} -#line 4294 "fortran.tab.c" +#line 4787 "fortran.tab.c" break; - case 207: -#line 1605 "fortran.y" + case 207: /* intrinsic-type-spec: TOK_INTEGER $@8 opt-kind-selector */ +#line 1620 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na)); in_kind_selector =0;} -#line 4300 "fortran.tab.c" +#line 4793 "fortran.tab.c" break; - case 208: -#line 1606 "fortran.y" + case 208: /* $@9: %empty */ +#line 1621 "fortran.y" {in_kind_selector = 1;} -#line 4306 "fortran.tab.c" +#line 4799 "fortran.tab.c" break; - case 209: -#line 1607 "fortran.y" + case 209: /* intrinsic-type-spec: TOK_REAL $@9 opt-kind-selector */ +#line 1622 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} -#line 4312 "fortran.tab.c" +#line 4805 "fortran.tab.c" break; - case 210: -#line 1608 "fortran.y" + case 210: /* $@10: %empty */ +#line 1623 "fortran.y" {in_kind_selector = 1;} -#line 4318 "fortran.tab.c" +#line 4811 "fortran.tab.c" break; - case 211: -#line 1609 "fortran.y" + case 211: /* intrinsic-type-spec: TOK_DOUBLEPRECISION $@10 opt-kind-selector */ +#line 1624 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,"real"); strcpy(NamePrecision,"8");in_kind_selector =0;} -#line 4324 "fortran.tab.c" +#line 4817 "fortran.tab.c" break; - case 212: -#line 1610 "fortran.y" + case 212: /* $@11: %empty */ +#line 1625 "fortran.y" {in_kind_selector = 1;} -#line 4330 "fortran.tab.c" +#line 4823 "fortran.tab.c" break; - case 213: -#line 1611 "fortran.y" + case 213: /* intrinsic-type-spec: TOK_COMPLEX $@11 opt-kind-selector */ +#line 1626 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} -#line 4336 "fortran.tab.c" +#line 4829 "fortran.tab.c" break; - case 214: -#line 1612 "fortran.y" + case 214: /* $@12: %empty */ +#line 1627 "fortran.y" {in_char_selector = 1;} -#line 4342 "fortran.tab.c" +#line 4835 "fortran.tab.c" break; - case 215: -#line 1613 "fortran.y" + case 215: /* intrinsic-type-spec: TOK_CHARACTER $@12 opt-char-selector */ +#line 1628 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_char_selector = 0;} -#line 4348 "fortran.tab.c" +#line 4841 "fortran.tab.c" break; - case 216: -#line 1614 "fortran.y" + case 216: /* $@13: %empty */ +#line 1629 "fortran.y" {in_kind_selector = 1;} -#line 4354 "fortran.tab.c" +#line 4847 "fortran.tab.c" break; - case 217: -#line 1615 "fortran.y" + case 217: /* intrinsic-type-spec: TOK_LOGICAL $@13 opt-kind-selector */ +#line 1630 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-2].na),(yyvsp[0].na));strcpy(DeclType,(yyvsp[-2].na));in_kind_selector =0;} -#line 4360 "fortran.tab.c" +#line 4853 "fortran.tab.c" break; - case 218: -#line 1619 "fortran.y" + case 218: /* opt-kind-selector: %empty */ +#line 1634 "fortran.y" {strcpy((yyval.na),"");strcpy(NamePrecision,"");} -#line 4366 "fortran.tab.c" +#line 4859 "fortran.tab.c" break; - case 219: -#line 1621 "fortran.y" + case 219: /* opt-kind-selector: kind-selector */ +#line 1636 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4372 "fortran.tab.c" +#line 4865 "fortran.tab.c" break; - case 220: -#line 1627 "fortran.y" + case 220: /* kind-selector: '(' scalar-int-constant-expr ')' */ +#line 1642 "fortran.y" {sprintf((yyval.na),"(%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} -#line 4378 "fortran.tab.c" +#line 4871 "fortran.tab.c" break; - case 221: -#line 1629 "fortran.y" + case 221: /* kind-selector: '(' TOK_KIND '=' scalar-int-constant-expr ')' */ +#line 1644 "fortran.y" {sprintf((yyval.na),"(KIND=%s)",(yyvsp[-1].na)); strcpy(NamePrecision,(yyvsp[-1].na));} -#line 4384 "fortran.tab.c" +#line 4877 "fortran.tab.c" break; - case 222: -#line 1631 "fortran.y" + case 222: /* kind-selector: '*' TOK_CSTINT */ +#line 1646 "fortran.y" {sprintf((yyval.na),"*%s",(yyvsp[0].na));strcpy(NamePrecision,(yyvsp[0].na));} -#line 4390 "fortran.tab.c" +#line 4883 "fortran.tab.c" break; - case 224: -#line 1639 "fortran.y" + case 224: /* signed-int-literal-constant: add-op int-literal-constant */ +#line 1654 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 4396 "fortran.tab.c" +#line 4889 "fortran.tab.c" break; - case 226: -#line 1645 "fortran.y" + case 226: /* int-literal-constant: TOK_CSTINT '_' kind-param */ +#line 1660 "fortran.y" {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 4402 "fortran.tab.c" +#line 4895 "fortran.tab.c" break; - case 230: -#line 1668 "fortran.y" + case 230: /* signed-real-literal-constant: add-op real-literal-constant */ +#line 1683 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 4408 "fortran.tab.c" +#line 4901 "fortran.tab.c" break; - case 232: -#line 1674 "fortran.y" + case 232: /* real-literal-constant: TOK_CSTREAL '_' kind-param */ +#line 1689 "fortran.y" {sprintf((yyval.na),"%s_%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 4414 "fortran.tab.c" +#line 4907 "fortran.tab.c" break; - case 233: -#line 1681 "fortran.y" + case 233: /* complex-literal-constant: '(' real-part TOK_COMMACOMPLEX imag-part ')' */ +#line 1696 "fortran.y" {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} -#line 4420 "fortran.tab.c" +#line 4913 "fortran.tab.c" break; - case 241: -#line 1699 "fortran.y" + case 241: /* opt-char_length-star: '*' char-length */ +#line 1714 "fortran.y" {char_length_toreset = 1;} -#line 4426 "fortran.tab.c" +#line 4919 "fortran.tab.c" break; - case 242: -#line 1703 "fortran.y" + case 242: /* opt-char-selector: %empty */ +#line 1718 "fortran.y" {strcpy((yyval.na),"");} -#line 4432 "fortran.tab.c" +#line 4925 "fortran.tab.c" break; - case 243: -#line 1705 "fortran.y" + case 243: /* opt-char-selector: char-selector */ +#line 1720 "fortran.y" {strcpy((yyval.na),"");} -#line 4438 "fortran.tab.c" +#line 4931 "fortran.tab.c" break; - case 249: -#line 1718 "fortran.y" + case 249: /* length-selector: '(' type-param-value ')' */ +#line 1733 "fortran.y" {strcpy(CharacterSize,(yyvsp[-1].na));} -#line 4444 "fortran.tab.c" +#line 4937 "fortran.tab.c" break; - case 250: -#line 1720 "fortran.y" + case 250: /* length-selector: '(' TOK_LEN '=' type-param-value ')' */ +#line 1735 "fortran.y" {strcpy(CharacterSize,(yyvsp[-1].na));} -#line 4450 "fortran.tab.c" +#line 4943 "fortran.tab.c" break; - case 253: -#line 1727 "fortran.y" + case 253: /* char-length: '(' type-param-value ')' */ +#line 1742 "fortran.y" {c_star=1; strcpy(CharacterSize,(yyvsp[-1].na));} -#line 4456 "fortran.tab.c" +#line 4949 "fortran.tab.c" break; - case 254: -#line 1729 "fortran.y" + case 254: /* char-length: int-literal-constant */ +#line 1744 "fortran.y" {c_selectorgiven = 1; strcpy(c_selectorname,(yyvsp[0].na));} -#line 4462 "fortran.tab.c" +#line 4955 "fortran.tab.c" break; - case 260: -#line 1744 "fortran.y" + case 260: /* $@14: %empty */ +#line 1759 "fortran.y" { inside_type_declare = 1;} -#line 4468 "fortran.tab.c" +#line 4961 "fortran.tab.c" break; - case 261: -#line 1745 "fortran.y" + case 261: /* derived-type-def: derived-type-stmt $@14 opt-component-part end-type-stmt */ +#line 1760 "fortran.y" { inside_type_declare = 0;} -#line 4474 "fortran.tab.c" +#line 4967 "fortran.tab.c" break; - case 290: -#line 1811 "fortran.y" + case 290: /* $@15: %empty */ +#line 1826 "fortran.y" {in_complex_literal=0;} -#line 4480 "fortran.tab.c" +#line 4973 "fortran.tab.c" break; - case 295: -#line 1821 "fortran.y" + case 295: /* component-decl: ident opt-component-array-spec opt-char_length-star opt-component-initialization */ +#line 1836 "fortran.y" { PublicDeclare = 0; PrivateDeclare = 0; @@ -4502,65 +4995,65 @@ yyreduce: strcpy(c_selectorname,""); GlobalDeclarationType = 0; } -#line 4506 "fortran.tab.c" +#line 4999 "fortran.tab.c" break; - case 305: -#line 1865 "fortran.y" + case 305: /* initial-data-target: designator */ +#line 1880 "fortran.y" {strcpy(my_dim.last,"");} -#line 4512 "fortran.tab.c" +#line 5005 "fortran.tab.c" break; - case 306: -#line 1870 "fortran.y" + case 306: /* derived-type-spec: ident */ +#line 1885 "fortran.y" {strcpy(NamePrecision,(yyvsp[0].na));} -#line 4518 "fortran.tab.c" +#line 5011 "fortran.tab.c" break; - case 321: -#line 1905 "fortran.y" + case 321: /* array-constructor: TOK_LEFTAB ac-spec TOK_RIGHTAB */ +#line 1920 "fortran.y" { sprintf((yyval.na),"(/%s/)",(yyvsp[-1].na));} -#line 4524 "fortran.tab.c" +#line 5017 "fortran.tab.c" break; - case 322: -#line 1907 "fortran.y" + case 322: /* array-constructor: lbracket ac-spec rbracket */ +#line 1922 "fortran.y" { sprintf((yyval.na),"[%s]",(yyvsp[-1].na)); } -#line 4530 "fortran.tab.c" +#line 5023 "fortran.tab.c" break; - case 327: -#line 1935 "fortran.y" + case 327: /* ac-value-list: ac-value-list ',' ac-value */ +#line 1950 "fortran.y" {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 4536 "fortran.tab.c" +#line 5029 "fortran.tab.c" break; - case 330: -#line 1945 "fortran.y" + case 330: /* ac-implied-do: '(' ac-value-list ',' ac-implied-do-control ')' */ +#line 1960 "fortran.y" {sprintf((yyval.na),"(%s,%s)",(yyvsp[-3].na),(yyvsp[-1].na));} -#line 4542 "fortran.tab.c" +#line 5035 "fortran.tab.c" break; - case 331: -#line 1950 "fortran.y" + case 331: /* ac-implied-do-control: ac-do-variable '=' scalar-int-expr ',' scalar-int-expr */ +#line 1965 "fortran.y" {sprintf((yyval.na),"%s=%s,%s",(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} -#line 4548 "fortran.tab.c" +#line 5041 "fortran.tab.c" break; - case 332: -#line 1952 "fortran.y" + case 332: /* ac-implied-do-control: ac-do-variable '=' scalar-int-expr ',' scalar-int-expr ',' scalar-int-expr */ +#line 1967 "fortran.y" {sprintf((yyval.na),"%s=%s,%s,%s",(yyvsp[-6].na),(yyvsp[-4].na),(yyvsp[-2].na),(yyvsp[0].na));} -#line 4554 "fortran.tab.c" +#line 5047 "fortran.tab.c" break; - case 334: -#line 1960 "fortran.y" + case 334: /* $@16: %empty */ +#line 1975 "fortran.y" {indeclaration=1;} -#line 4560 "fortran.tab.c" +#line 5053 "fortran.tab.c" break; - case 335: -#line 1961 "fortran.y" + case 335: /* $@17: %empty */ +#line 1976 "fortran.y" { /* if the variable is a parameter we can suppose that is*/ /* value is the same on each grid. It is not useless */ @@ -4626,95 +5119,95 @@ yyreduce: strcpy(DeclType,""); GlobalDeclarationType = 0; } -#line 4630 "fortran.tab.c" +#line 5123 "fortran.tab.c" break; - case 344: -#line 2045 "fortran.y" + case 344: /* attr-spec: TOK_ALLOCATABLE */ +#line 2060 "fortran.y" { Allocatabledeclare = 1; } -#line 4636 "fortran.tab.c" +#line 5129 "fortran.tab.c" break; - case 345: -#line 2047 "fortran.y" + case 345: /* attr-spec: TOK_CONTIGUOUS */ +#line 2062 "fortran.y" { contiguousdeclare = 1 ; } -#line 4642 "fortran.tab.c" +#line 5135 "fortran.tab.c" break; - case 346: -#line 2048 "fortran.y" + case 346: /* $@18: %empty */ +#line 2063 "fortran.y" {in_complex_literal=0;} -#line 4648 "fortran.tab.c" +#line 5141 "fortran.tab.c" break; - case 347: -#line 2049 "fortran.y" + case 347: /* attr-spec: TOK_DIMENSION '(' $@18 array-spec ')' */ +#line 2064 "fortran.y" { dimsgiven = 1; curdim = (yyvsp[-1].d); } -#line 4654 "fortran.tab.c" +#line 5147 "fortran.tab.c" break; - case 348: -#line 2051 "fortran.y" + case 348: /* attr-spec: TOK_EXTERNAL */ +#line 2066 "fortran.y" { ExternalDeclare = 1; } -#line 4660 "fortran.tab.c" +#line 5153 "fortran.tab.c" break; - case 349: -#line 2052 "fortran.y" + case 349: /* $@19: %empty */ +#line 2067 "fortran.y" {in_complex_literal=0;} -#line 4666 "fortran.tab.c" +#line 5159 "fortran.tab.c" break; - case 350: -#line 2053 "fortran.y" + case 350: /* attr-spec: TOK_INTENT '(' $@19 intent-spec ')' */ +#line 2068 "fortran.y" { strcpy(IntentSpec,(yyvsp[-1].na)); } -#line 4672 "fortran.tab.c" +#line 5165 "fortran.tab.c" break; - case 352: -#line 2056 "fortran.y" + case 352: /* attr-spec: TOK_OPTIONAL */ +#line 2071 "fortran.y" { optionaldeclare = 1 ; } -#line 4678 "fortran.tab.c" +#line 5171 "fortran.tab.c" break; - case 353: -#line 2058 "fortran.y" + case 353: /* attr-spec: TOK_PARAMETER */ +#line 2073 "fortran.y" {VariableIsParameter = 1; } -#line 4684 "fortran.tab.c" +#line 5177 "fortran.tab.c" break; - case 354: -#line 2060 "fortran.y" + case 354: /* attr-spec: TOK_POINTER */ +#line 2075 "fortran.y" { pointerdeclare = 1 ; } -#line 4690 "fortran.tab.c" +#line 5183 "fortran.tab.c" break; - case 355: -#line 2062 "fortran.y" + case 355: /* attr-spec: TOK_SAVE */ +#line 2077 "fortran.y" { SaveDeclare = 1 ; } -#line 4696 "fortran.tab.c" +#line 5189 "fortran.tab.c" break; - case 356: -#line 2064 "fortran.y" + case 356: /* attr-spec: TOK_TARGET */ +#line 2079 "fortran.y" { Targetdeclare = 1; } -#line 4702 "fortran.tab.c" +#line 5195 "fortran.tab.c" break; - case 357: -#line 2069 "fortran.y" + case 357: /* entity-decl-list: entity-decl */ +#line 2084 "fortran.y" {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} -#line 4708 "fortran.tab.c" +#line 5201 "fortran.tab.c" break; - case 358: -#line 2071 "fortran.y" + case 358: /* entity-decl-list: entity-decl-list ',' entity-decl */ +#line 2086 "fortran.y" {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} -#line 4714 "fortran.tab.c" +#line 5207 "fortran.tab.c" break; - case 359: -#line 2076 "fortran.y" + case 359: /* entity-decl: object-name-noident opt-array-spec-par opt-char_length-star opt-initialization */ +#line 2091 "fortran.y" { if ( ! inside_type_declare ) { @@ -4744,203 +5237,203 @@ yyreduce: } (yyval.v)=curvar; } -#line 4748 "fortran.tab.c" +#line 5241 "fortran.tab.c" break; - case 362: -#line 2115 "fortran.y" + case 362: /* opt-initialization: %empty */ +#line 2130 "fortran.y" {InitialValueGiven = 0; } -#line 4754 "fortran.tab.c" +#line 5247 "fortran.tab.c" break; - case 364: -#line 2121 "fortran.y" + case 364: /* initialization: '=' constant-expr */ +#line 2136 "fortran.y" { if ( inside_type_declare ) break; strcpy(InitValue,(yyvsp[0].na)); InitialValueGiven = 1; } -#line 4764 "fortran.tab.c" +#line 5257 "fortran.tab.c" break; - case 365: -#line 2127 "fortran.y" + case 365: /* initialization: TOK_POINT_TO null-init */ +#line 2142 "fortran.y" { if ( inside_type_declare ) break; strcpy(InitValue,(yyvsp[0].na)); InitialValueGiven = 2; } -#line 4774 "fortran.tab.c" +#line 5267 "fortran.tab.c" break; - case 366: -#line 2133 "fortran.y" + case 366: /* initialization: TOK_POINT_TO initial-data-target */ +#line 2148 "fortran.y" { if ( inside_type_declare ) break; strcpy(InitValue,(yyvsp[0].na)); InitialValueGiven = 2; } -#line 4784 "fortran.tab.c" +#line 5277 "fortran.tab.c" break; - case 368: -#line 2146 "fortran.y" + case 368: /* access-spec: TOK_PUBLIC */ +#line 2161 "fortran.y" {PublicDeclare = 1; } -#line 4790 "fortran.tab.c" +#line 5283 "fortran.tab.c" break; - case 369: -#line 2148 "fortran.y" + case 369: /* access-spec: TOK_PRIVATE */ +#line 2163 "fortran.y" {PrivateDeclare = 1; } -#line 4796 "fortran.tab.c" +#line 5289 "fortran.tab.c" break; - case 370: -#line 2152 "fortran.y" + case 370: /* opt-array-spec-par: %empty */ +#line 2167 "fortran.y" {(yyval.d)=NULL;} -#line 4802 "fortran.tab.c" +#line 5295 "fortran.tab.c" break; - case 371: -#line 2153 "fortran.y" + case 371: /* $@20: %empty */ +#line 2168 "fortran.y" {in_complex_literal=0;} -#line 4808 "fortran.tab.c" +#line 5301 "fortran.tab.c" break; - case 372: -#line 2154 "fortran.y" + case 372: /* opt-array-spec-par: '(' $@20 array-spec ')' */ +#line 2169 "fortran.y" {(yyval.d)=(yyvsp[-1].d);} -#line 4814 "fortran.tab.c" +#line 5307 "fortran.tab.c" break; - case 373: -#line 2159 "fortran.y" + case 373: /* array-spec: explicit-shape-spec-list */ +#line 2174 "fortran.y" {(yyval.d)=(yyvsp[0].d);} -#line 4820 "fortran.tab.c" +#line 5313 "fortran.tab.c" break; - case 374: -#line 2161 "fortran.y" + case 374: /* array-spec: assumed-shape-spec-list */ +#line 2176 "fortran.y" {(yyval.d)=(yyvsp[0].d);} -#line 4826 "fortran.tab.c" +#line 5319 "fortran.tab.c" break; - case 375: -#line 2163 "fortran.y" + case 375: /* array-spec: deferred-shape-spec-list */ +#line 2178 "fortran.y" {(yyval.d)=(yyvsp[0].d);} -#line 4832 "fortran.tab.c" +#line 5325 "fortran.tab.c" break; - case 376: -#line 2165 "fortran.y" + case 376: /* array-spec: assumed-size-spec */ +#line 2180 "fortran.y" {(yyval.d)=(yyvsp[0].d);} -#line 4838 "fortran.tab.c" +#line 5331 "fortran.tab.c" break; - case 377: -#line 2167 "fortran.y" + case 377: /* array-spec: implied-shape-spec-list */ +#line 2182 "fortran.y" {(yyval.d)=(yyvsp[0].d);} -#line 4844 "fortran.tab.c" +#line 5337 "fortran.tab.c" break; - case 378: -#line 2171 "fortran.y" + case 378: /* explicit-shape-spec-list: explicit-shape-spec */ +#line 2186 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); } -#line 4854 "fortran.tab.c" +#line 5347 "fortran.tab.c" break; - case 379: -#line 2177 "fortran.y" + case 379: /* explicit-shape-spec-list: explicit-shape-spec-list ',' explicit-shape-spec */ +#line 2192 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); } -#line 4864 "fortran.tab.c" +#line 5357 "fortran.tab.c" break; - case 380: -#line 2186 "fortran.y" + case 380: /* explicit-shape-spec: lower-bound ':' upper-bound */ +#line 2201 "fortran.y" {strcpy((yyval.dim1).first,(yyvsp[-2].na)); Save_Length((yyvsp[-2].na),2); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1); } -#line 4870 "fortran.tab.c" +#line 5363 "fortran.tab.c" break; - case 381: -#line 2188 "fortran.y" + case 381: /* explicit-shape-spec: upper-bound */ +#line 2203 "fortran.y" {strcpy((yyval.dim1).first,"1"); strcpy((yyval.dim1).last,(yyvsp[0].na)); Save_Length((yyvsp[0].na),1);} -#line 4876 "fortran.tab.c" +#line 5369 "fortran.tab.c" break; - case 382: -#line 2193 "fortran.y" + case 382: /* lower-bound: specification-expr */ +#line 2208 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 4882 "fortran.tab.c" +#line 5375 "fortran.tab.c" break; - case 384: -#line 2202 "fortran.y" + case 384: /* assumed-shape-spec-list: assumed-shape-spec */ +#line 2217 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); } -#line 4892 "fortran.tab.c" +#line 5385 "fortran.tab.c" break; - case 385: -#line 2208 "fortran.y" + case 385: /* assumed-shape-spec-list: assumed-shape-spec-list ',' assumed-shape-spec */ +#line 2223 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); } -#line 4902 "fortran.tab.c" +#line 5395 "fortran.tab.c" break; - case 386: -#line 2217 "fortran.y" + case 386: /* assumed-shape-spec: ':' */ +#line 2232 "fortran.y" { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } -#line 4908 "fortran.tab.c" +#line 5401 "fortran.tab.c" break; - case 387: -#line 2219 "fortran.y" + case 387: /* assumed-shape-spec: lower-bound ':' */ +#line 2234 "fortran.y" { strcpy((yyval.dim1).first,(yyvsp[-1].na)); Save_Length((yyvsp[-1].na),2); strcpy((yyval.dim1).last,""); } -#line 4914 "fortran.tab.c" +#line 5407 "fortran.tab.c" break; - case 388: -#line 2224 "fortran.y" + case 388: /* deferred-shape-spec-list: deferred-shape-spec */ +#line 2239 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( created_dimensionlist == 1 || agrif_parentcall == 1 ) (yyval.d)=insertdim(NULL,(yyvsp[0].dim1)); } -#line 4924 "fortran.tab.c" +#line 5417 "fortran.tab.c" break; - case 389: -#line 2230 "fortran.y" + case 389: /* deferred-shape-spec-list: deferred-shape-spec-list ',' deferred-shape-spec */ +#line 2245 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; if ( (!inside_type_declare) && created_dimensionlist == 1 ) (yyval.d)=insertdim((yyvsp[-2].d),(yyvsp[0].dim1)); } -#line 4934 "fortran.tab.c" +#line 5427 "fortran.tab.c" break; - case 390: -#line 2239 "fortran.y" + case 390: /* deferred-shape-spec: ':' */ +#line 2254 "fortran.y" { strcpy((yyval.dim1).first,""); strcpy((yyval.dim1).last,""); } -#line 4940 "fortran.tab.c" +#line 5433 "fortran.tab.c" break; - case 391: -#line 2244 "fortran.y" + case 391: /* assumed-size-spec: opt-explicit-shape-spec-list-comma opt-lower-bound-2points '*' */ +#line 2259 "fortran.y" { (yyval.d) = (listdim*) NULL; if ( inside_type_declare ) break; @@ -4960,53 +5453,53 @@ yyreduce: strcpy(my_dim.last,""); } } -#line 4964 "fortran.tab.c" +#line 5457 "fortran.tab.c" break; - case 392: -#line 2266 "fortran.y" + case 392: /* opt-explicit-shape-spec-list-comma: %empty */ +#line 2281 "fortran.y" {(yyval.d) = (listdim *) NULL;} -#line 4970 "fortran.tab.c" +#line 5463 "fortran.tab.c" break; - case 393: -#line 2268 "fortran.y" + case 393: /* opt-explicit-shape-spec-list-comma: explicit-shape-spec-list ',' */ +#line 2283 "fortran.y" {(yyval.d) = (yyvsp[-1].d);} -#line 4976 "fortran.tab.c" +#line 5469 "fortran.tab.c" break; - case 394: -#line 2286 "fortran.y" + case 394: /* opt-lower-bound-2points: %empty */ +#line 2301 "fortran.y" {strcpy((yyval.na),"");} -#line 4982 "fortran.tab.c" +#line 5475 "fortran.tab.c" break; - case 395: -#line 2288 "fortran.y" + case 395: /* opt-lower-bound-2points: lower-bound ':' */ +#line 2303 "fortran.y" {strcpy((yyval.na),(yyvsp[-1].na));} -#line 4988 "fortran.tab.c" +#line 5481 "fortran.tab.c" break; - case 399: -#line 2301 "fortran.y" + case 399: /* intent-spec: TOK_IN */ +#line 2316 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 4994 "fortran.tab.c" +#line 5487 "fortran.tab.c" break; - case 400: -#line 2303 "fortran.y" + case 400: /* intent-spec: TOK_OUT */ +#line 2318 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 5000 "fortran.tab.c" +#line 5493 "fortran.tab.c" break; - case 401: -#line 2305 "fortran.y" + case 401: /* intent-spec: TOK_INOUT */ +#line 2320 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 5006 "fortran.tab.c" +#line 5499 "fortran.tab.c" break; - case 402: -#line 2310 "fortran.y" + case 402: /* $@21: %empty */ +#line 2325 "fortran.y" { if ((firstpass == 0) && (PublicDeclare == 1)) { @@ -5021,35 +5514,35 @@ yyreduce: PublicDeclare = 0; PrivateDeclare = 0; } -#line 5025 "fortran.tab.c" +#line 5518 "fortran.tab.c" break; - case 404: -#line 2328 "fortran.y" + case 404: /* opt-access-id-list: %empty */ +#line 2343 "fortran.y" {(yyval.lnn)=(listname *)NULL;} -#line 5031 "fortran.tab.c" +#line 5524 "fortran.tab.c" break; - case 405: -#line 2330 "fortran.y" + case 405: /* opt-access-id-list: opt-TOK_FOURDOTS access-id-list */ +#line 2345 "fortran.y" {(yyval.lnn)=(yyvsp[0].lnn);} -#line 5037 "fortran.tab.c" +#line 5530 "fortran.tab.c" break; - case 406: -#line 2334 "fortran.y" + case 406: /* access-id-list: access-id */ +#line 2349 "fortran.y" {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} -#line 5043 "fortran.tab.c" +#line 5536 "fortran.tab.c" break; - case 407: -#line 2336 "fortran.y" + case 407: /* access-id-list: access-id-list ',' access-id */ +#line 2351 "fortran.y" {(yyval.lnn)=Insertname((yyvsp[-2].lnn),(yyvsp[0].na),0);} -#line 5049 "fortran.tab.c" +#line 5542 "fortran.tab.c" break; - case 410: -#line 2346 "fortran.y" + case 410: /* $@22: %empty */ +#line 2361 "fortran.y" { /* we should remove the data declaration */ pos_end = setposcur(); @@ -5061,11 +5554,11 @@ yyreduce: } Init_List_Data_Var(); } -#line 5065 "fortran.tab.c" +#line 5558 "fortran.tab.c" break; - case 416: -#line 2370 "fortran.y" + case 416: /* data-stmt-set: data-stmt-object-list TOK_SLASH data-stmt-value-list TOK_SLASH */ +#line 2385 "fortran.y" { if (firstpass == 1) { @@ -5073,118 +5566,118 @@ yyreduce: } else Add_Data_Var_Names_01(&List_Data_Var_Cur,(yyvsp[-3].l),(yyvsp[-1].lnn)); } -#line 5077 "fortran.tab.c" +#line 5570 "fortran.tab.c" break; - case 417: -#line 2380 "fortran.y" + case 417: /* data-stmt-object-list: data-stmt-object */ +#line 2395 "fortran.y" { (yyval.l)=insertvar(NULL,(yyvsp[0].v)); } -#line 5083 "fortran.tab.c" +#line 5576 "fortran.tab.c" break; - case 418: -#line 2382 "fortran.y" + case 418: /* data-stmt-object-list: data-stmt-object-list ',' data-stmt-object */ +#line 2397 "fortran.y" { (yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v)); } -#line 5091 "fortran.tab.c" +#line 5584 "fortran.tab.c" break; - case 419: -#line 2388 "fortran.y" + case 419: /* data-stmt-value-list: data-stmt-value */ +#line 2403 "fortran.y" {(yyval.lnn)=Insertname(NULL,(yyvsp[0].na),0);} -#line 5097 "fortran.tab.c" +#line 5590 "fortran.tab.c" break; - case 420: -#line 2390 "fortran.y" + case 420: /* data-stmt-value-list: data-stmt-value-list ',' data-stmt-value */ +#line 2405 "fortran.y" {(yyval.lnn) = Insertname((yyvsp[-2].lnn),(yyvsp[0].na),1); } -#line 5103 "fortran.tab.c" +#line 5596 "fortran.tab.c" break; - case 423: -#line 2400 "fortran.y" + case 423: /* data-implied-do: '(' data-i-do-object-list ',' data-i-do-variable '=' scalar-int-constant-expr ',' scalar-int-constant-expr ')' */ +#line 2415 "fortran.y" {printf("DOVARIABLE = %s %s %s\n",(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); printf("AUTRE = %s %s\n",(yyvsp[-7].l)->var->v_nomvar,(yyvsp[-7].l)->var->v_initialvalue_array); Insertdoloop((yyvsp[-7].l)->var,(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na),""); (yyval.v)=(yyvsp[-7].l)->var; } -#line 5113 "fortran.tab.c" +#line 5606 "fortran.tab.c" break; - case 424: -#line 2406 "fortran.y" + case 424: /* data-implied-do: '(' data-i-do-object-list ',' data-i-do-variable '=' scalar-int-constant-expr ',' scalar-int-constant-expr ',' scalar-int-constant-expr ')' */ +#line 2421 "fortran.y" { Insertdoloop((yyvsp[-9].l)->var,(yyvsp[-7].na),(yyvsp[-5].na),(yyvsp[-3].na),(yyvsp[-1].na)); (yyval.v)=(yyvsp[-9].l)->var; } -#line 5122 "fortran.tab.c" +#line 5615 "fortran.tab.c" break; - case 425: -#line 2413 "fortran.y" + case 425: /* data-i-do-object-list: data-i-do-object */ +#line 2428 "fortran.y" {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} -#line 5128 "fortran.tab.c" +#line 5621 "fortran.tab.c" break; - case 426: -#line 2415 "fortran.y" + case 426: /* data-i-do-object-list: data-i-do-object-list ',' data-i-do-object */ +#line 2430 "fortran.y" {(yyval.l) = insertvar((yyvsp[-2].l),(yyvsp[0].v));} -#line 5134 "fortran.tab.c" +#line 5627 "fortran.tab.c" break; - case 428: -#line 2421 "fortran.y" + case 428: /* data-i-do-object: scalar-structure-component */ +#line 2436 "fortran.y" {(yyval.v)->v_initialvalue_array=Insertname((yyval.v)->v_initialvalue_array,my_dim.last,0); strcpy(my_dim.last,""); } -#line 5142 "fortran.tab.c" +#line 5635 "fortran.tab.c" break; - case 431: -#line 2434 "fortran.y" + case 431: /* data-stmt-value: scalar-constant-subobject opt-data-stmt-star */ +#line 2449 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 5148 "fortran.tab.c" +#line 5641 "fortran.tab.c" break; - case 432: -#line 2436 "fortran.y" + case 432: /* data-stmt-value: int-literal-constant opt-data-stmt-star */ +#line 2451 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 5154 "fortran.tab.c" +#line 5647 "fortran.tab.c" break; - case 433: -#line 2438 "fortran.y" + case 433: /* data-stmt-value: char-literal-constant opt-data-stmt-star */ +#line 2453 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 5160 "fortran.tab.c" +#line 5653 "fortran.tab.c" break; - case 439: -#line 2447 "fortran.y" + case 439: /* opt-data-stmt-star: %empty */ +#line 2462 "fortran.y" {strcpy((yyval.na),"");} -#line 5166 "fortran.tab.c" +#line 5659 "fortran.tab.c" break; - case 440: -#line 2449 "fortran.y" + case 440: /* opt-data-stmt-star: '*' data-stmt-constant */ +#line 2464 "fortran.y" {sprintf((yyval.na),"*%s",(yyvsp[0].na));} -#line 5172 "fortran.tab.c" +#line 5665 "fortran.tab.c" break; - case 449: -#line 2485 "fortran.y" + case 449: /* constant-subobject: designator */ +#line 2500 "fortran.y" {strcpy(my_dim.last,"");} -#line 5178 "fortran.tab.c" +#line 5671 "fortran.tab.c" break; - case 450: -#line 2489 "fortran.y" + case 450: /* $@23: %empty */ +#line 2504 "fortran.y" {positioninblock = 0; pos_curdimension = my_position_before;} -#line 5184 "fortran.tab.c" +#line 5677 "fortran.tab.c" break; - case 451: -#line 2491 "fortran.y" + case 451: /* $@24: %empty */ +#line 2506 "fortran.y" { /* if the variable is a parameter we can suppose that is */ /* value is the same on each grid. It is not useless to */ @@ -5228,17 +5721,17 @@ yyreduce: strcpy(nameinttypename,""); strcpy(c_selectorname,""); } -#line 5232 "fortran.tab.c" +#line 5725 "fortran.tab.c" break; - case 453: -#line 2537 "fortran.y" + case 453: /* $@25: %empty */ +#line 2552 "fortran.y" {in_complex_literal = 0;} -#line 5238 "fortran.tab.c" +#line 5731 "fortran.tab.c" break; - case 454: -#line 2538 "fortran.y" + case 454: /* array-name-spec-list: TOK_NAME '(' $@25 array-spec ')' */ +#line 2553 "fortran.y" { if ( inside_type_declare ) break; curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); @@ -5247,17 +5740,17 @@ yyreduce: (yyval.l) = settype("",curlistvar); strcpy(vallengspec,""); } -#line 5251 "fortran.tab.c" +#line 5744 "fortran.tab.c" break; - case 455: -#line 2546 "fortran.y" + case 455: /* $@26: %empty */ +#line 2561 "fortran.y" {in_complex_literal = 0;} -#line 5257 "fortran.tab.c" +#line 5750 "fortran.tab.c" break; - case 456: -#line 2547 "fortran.y" + case 456: /* array-name-spec-list: array-name-spec-list ',' TOK_NAME '(' $@26 array-spec ')' */ +#line 2562 "fortran.y" { if ( inside_type_declare ) break; curvar = createvar((yyvsp[-4].na),(yyvsp[-1].d)); @@ -5266,17 +5759,17 @@ yyreduce: (yyval.l) = curlistvar; strcpy(vallengspec,""); } -#line 5270 "fortran.tab.c" +#line 5763 "fortran.tab.c" break; - case 457: -#line 2559 "fortran.y" + case 457: /* $@27: %empty */ +#line 2574 "fortran.y" { VariableIsParameter = 1; pos_curparameter = setposcur()-9; } -#line 5276 "fortran.tab.c" +#line 5769 "fortran.tab.c" break; - case 458: -#line 2560 "fortran.y" + case 458: /* $@28: %empty */ +#line 2575 "fortran.y" { if ( ! inside_type_declare ) { @@ -5293,23 +5786,23 @@ yyreduce: } VariableIsParameter = 0 ; } -#line 5297 "fortran.tab.c" +#line 5790 "fortran.tab.c" break; - case 460: -#line 2580 "fortran.y" + case 460: /* named-constant-def-list: named-constant-def */ +#line 2595 "fortran.y" {(yyval.l)=insertvar(NULL,(yyvsp[0].v));} -#line 5303 "fortran.tab.c" +#line 5796 "fortran.tab.c" break; - case 461: -#line 2582 "fortran.y" + case 461: /* named-constant-def-list: named-constant-def-list ',' named-constant-def */ +#line 2597 "fortran.y" {(yyval.l)=insertvar((yyvsp[-2].l),(yyvsp[0].v));} -#line 5309 "fortran.tab.c" +#line 5802 "fortran.tab.c" break; - case 462: -#line 2587 "fortran.y" + case 462: /* named-constant-def: TOK_NAME '=' constant-expr */ +#line 2602 "fortran.y" { if ( inside_type_declare ) break; curvar=(variable *) calloc(1,sizeof(variable)); @@ -5323,38 +5816,38 @@ yyreduce: Save_Length((yyvsp[0].na),14); (yyval.v) = curvar; } -#line 5327 "fortran.tab.c" +#line 5820 "fortran.tab.c" break; - case 463: -#line 2603 "fortran.y" + case 463: /* $@29: %empty */ +#line 2618 "fortran.y" {pos_cursave = my_position_before;} -#line 5333 "fortran.tab.c" +#line 5826 "fortran.tab.c" break; - case 464: -#line 2604 "fortran.y" + case 464: /* $@30: %empty */ +#line 2619 "fortran.y" { pos_end = setposcur(); RemoveWordSET_0(fortran_out,pos_cursave,pos_end-pos_cursave); } -#line 5342 "fortran.tab.c" +#line 5835 "fortran.tab.c" break; - case 472: -#line 2625 "fortran.y" + case 472: /* saved-entity: object-name */ +#line 2640 "fortran.y" {if ( ! inside_type_declare ) Add_Save_Var_1((yyvsp[0].na),(listdim*) NULL); } -#line 5348 "fortran.tab.c" +#line 5841 "fortran.tab.c" break; - case 476: -#line 2635 "fortran.y" + case 476: /* get_my_position: %empty */ +#line 2650 "fortran.y" {my_position = my_position_before;} -#line 5354 "fortran.tab.c" +#line 5847 "fortran.tab.c" break; - case 478: -#line 2641 "fortran.y" + case 478: /* $@31: %empty */ +#line 2656 "fortran.y" { if ( insubroutinedeclare == 1 ) { @@ -5363,339 +5856,339 @@ yyreduce: RemoveWordSET_0(fortran_out,my_position,pos_end-my_position); } } -#line 5367 "fortran.tab.c" +#line 5860 "fortran.tab.c" break; - case 496: -#line 2693 "fortran.y" + case 496: /* $@32: %empty */ +#line 2708 "fortran.y" {in_complex_literal=0;} -#line 5373 "fortran.tab.c" +#line 5866 "fortran.tab.c" break; - case 503: -#line 2708 "fortran.y" + case 503: /* $@33: %empty */ +#line 2723 "fortran.y" { positioninblock = 0; pos_curcommon = my_position_before; indeclaration=1;} -#line 5379 "fortran.tab.c" +#line 5872 "fortran.tab.c" break; - case 504: -#line 2709 "fortran.y" + case 504: /* $@34: %empty */ +#line 2724 "fortran.y" { indeclaration = 0; if ( inside_type_declare ) break; pos_end = setposcur(); RemoveWordSET_0(fortran_out,pos_curcommon,pos_end-pos_curcommon); } -#line 5390 "fortran.tab.c" +#line 5883 "fortran.tab.c" break; - case 507: -#line 2720 "fortran.y" + case 507: /* opt-common-block-name: common-block-name */ +#line 2735 "fortran.y" { if ( inside_type_declare ) break; sprintf(charusemodule,"%s",(yyvsp[0].na)); Add_NameOfCommon_1((yyvsp[0].na),subroutinename); } -#line 5400 "fortran.tab.c" +#line 5893 "fortran.tab.c" break; - case 508: -#line 2728 "fortran.y" + case 508: /* common-block-name: TOK_DSLASH */ +#line 2743 "fortran.y" { strcpy((yyval.na),""); positioninblock=0; strcpy(commonblockname,""); } -#line 5410 "fortran.tab.c" +#line 5903 "fortran.tab.c" break; - case 509: -#line 2734 "fortran.y" + case 509: /* common-block-name: TOK_SLASH TOK_NAME TOK_SLASH */ +#line 2749 "fortran.y" { strcpy((yyval.na),(yyvsp[-1].na)); positioninblock=0; strcpy(commonblockname,(yyvsp[-1].na)); } -#line 5420 "fortran.tab.c" +#line 5913 "fortran.tab.c" break; - case 513: -#line 2747 "fortran.y" + case 513: /* $@35: %empty */ +#line 2762 "fortran.y" { if ( inside_type_declare ) break; sprintf(charusemodule,"%s",(yyvsp[0].na)); Add_NameOfCommon_1((yyvsp[0].na),subroutinename); } -#line 5430 "fortran.tab.c" +#line 5923 "fortran.tab.c" break; - case 515: -#line 2757 "fortran.y" + case 515: /* common-block-object-list: common-block-object */ +#line 2772 "fortran.y" {if ( ! inside_type_declare ) Add_Common_var_1(); } -#line 5436 "fortran.tab.c" +#line 5929 "fortran.tab.c" break; - case 516: -#line 2759 "fortran.y" + case 516: /* common-block-object-list: common-block-object-list ',' common-block-object */ +#line 2774 "fortran.y" {if ( ! inside_type_declare ) Add_Common_var_1(); } -#line 5442 "fortran.tab.c" +#line 5935 "fortran.tab.c" break; - case 517: -#line 2767 "fortran.y" + case 517: /* common-block-object: TOK_NAME */ +#line 2782 "fortran.y" { positioninblock = positioninblock + 1 ; strcpy(commonvar,(yyvsp[0].na)); commondim = (listdim*) NULL; } -#line 5452 "fortran.tab.c" +#line 5945 "fortran.tab.c" break; - case 518: -#line 2772 "fortran.y" + case 518: /* $@36: %empty */ +#line 2787 "fortran.y" {in_complex_literal=0;} -#line 5458 "fortran.tab.c" +#line 5951 "fortran.tab.c" break; - case 519: -#line 2773 "fortran.y" + case 519: /* common-block-object: TOK_NAME '(' $@36 array-spec ')' */ +#line 2788 "fortran.y" { positioninblock = positioninblock + 1 ; strcpy(commonvar,(yyvsp[-4].na)); commondim = (yyvsp[-1].d); } -#line 5468 "fortran.tab.c" +#line 5961 "fortran.tab.c" break; - case 523: -#line 2785 "fortran.y" + case 523: /* designator: substring */ +#line 2800 "fortran.y" {(yyval.v)=createvar((yyvsp[0].na),NULL);} -#line 5474 "fortran.tab.c" +#line 5967 "fortran.tab.c" break; - case 525: -#line 2797 "fortran.y" + case 525: /* variable: designator */ +#line 2812 "fortran.y" {if (strcmp(my_dim.last,"")) { (yyval.v)->v_initialvalue_array=Insertname(NULL,my_dim.last,0); } strcpy(my_dim.last,""); } -#line 5485 "fortran.tab.c" +#line 5978 "fortran.tab.c" break; - case 535: -#line 2839 "fortran.y" + case 535: /* substring: data-ref '(' substring-range ')' */ +#line 2854 "fortran.y" {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} -#line 5491 "fortran.tab.c" +#line 5984 "fortran.tab.c" break; - case 536: -#line 2841 "fortran.y" + case 536: /* substring: char-literal-constant '(' substring-range ')' */ +#line 2856 "fortran.y" {sprintf((yyval.na),"%s(%s)",(yyvsp[-3].na),(yyvsp[-1].na));} -#line 5497 "fortran.tab.c" +#line 5990 "fortran.tab.c" break; - case 537: -#line 2856 "fortran.y" + case 537: /* substring-range: opt-scalar-int-expr ':' opt-scalar-int-expr */ +#line 2871 "fortran.y" {sprintf((yyval.na),"%s:%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5503 "fortran.tab.c" +#line 5996 "fortran.tab.c" break; - case 538: -#line 2861 "fortran.y" + case 538: /* data-ref: part-ref opt-part-ref */ +#line 2876 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].v)->v_nomvar,(yyvsp[0].na));} -#line 5509 "fortran.tab.c" +#line 6002 "fortran.tab.c" break; - case 539: -#line 2865 "fortran.y" + case 539: /* opt-part-ref: %empty */ +#line 2880 "fortran.y" {strcpy((yyval.na),"");} -#line 5515 "fortran.tab.c" +#line 6008 "fortran.tab.c" break; - case 540: -#line 2867 "fortran.y" + case 540: /* opt-part-ref: opt-part-ref '%' part-ref */ +#line 2882 "fortran.y" {sprintf((yyval.na),"%s%%%s",(yyvsp[-2].na),(yyvsp[0].v)->v_nomvar);} -#line 5521 "fortran.tab.c" +#line 6014 "fortran.tab.c" break; - case 541: -#line 2872 "fortran.y" + case 541: /* part-ref: ident */ +#line 2887 "fortran.y" {(yyval.v)=createvar((yyvsp[0].na),NULL);} -#line 5527 "fortran.tab.c" +#line 6020 "fortran.tab.c" break; - case 542: -#line 2873 "fortran.y" + case 542: /* $@37: %empty */ +#line 2888 "fortran.y" {in_complex_literal=0;} -#line 5533 "fortran.tab.c" +#line 6026 "fortran.tab.c" break; - case 543: -#line 2874 "fortran.y" + case 543: /* part-ref: ident '(' $@37 section-subscript-list ')' */ +#line 2889 "fortran.y" {sprintf(ligne,"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));(yyval.v)=createvar((yyvsp[-4].na),NULL);strcpy(my_dim.last,(yyvsp[-1].na));} -#line 5539 "fortran.tab.c" +#line 6032 "fortran.tab.c" break; - case 545: -#line 2890 "fortran.y" + case 545: /* structure-component: data-ref */ +#line 2905 "fortran.y" {strcpy(my_dim.last,"");} -#line 5545 "fortran.tab.c" +#line 6038 "fortran.tab.c" break; - case 546: -#line 2895 "fortran.y" + case 546: /* array-element: data-ref */ +#line 2910 "fortran.y" {strcpy(my_dim.last,"");} -#line 5551 "fortran.tab.c" +#line 6044 "fortran.tab.c" break; - case 547: -#line 2900 "fortran.y" + case 547: /* array-section: data-ref */ +#line 2915 "fortran.y" {strcpy(my_dim.last,"");} -#line 5557 "fortran.tab.c" +#line 6050 "fortran.tab.c" break; - case 548: -#line 2902 "fortran.y" + case 548: /* array-section: data-ref '(' substring-range ')' */ +#line 2917 "fortran.y" {strcpy(my_dim.last,"");} -#line 5563 "fortran.tab.c" +#line 6056 "fortran.tab.c" break; - case 549: -#line 2908 "fortran.y" + case 549: /* section-subscript-list: %empty */ +#line 2923 "fortran.y" {strcpy((yyval.na),"");} -#line 5569 "fortran.tab.c" +#line 6062 "fortran.tab.c" break; - case 550: -#line 2910 "fortran.y" + case 550: /* section-subscript-list: section-subscript */ +#line 2925 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 5575 "fortran.tab.c" +#line 6068 "fortran.tab.c" break; - case 551: -#line 2912 "fortran.y" + case 551: /* section-subscript-list: section-subscript-list ',' section-subscript */ +#line 2927 "fortran.y" {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5581 "fortran.tab.c" +#line 6074 "fortran.tab.c" break; - case 552: -#line 2934 "fortran.y" + case 552: /* section-subscript: expr section_subscript_ambiguous */ +#line 2949 "fortran.y" {sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na));} -#line 5587 "fortran.tab.c" +#line 6080 "fortran.tab.c" break; - case 553: -#line 2936 "fortran.y" + case 553: /* section-subscript: ':' */ +#line 2951 "fortran.y" {strcpy((yyval.na),":");} -#line 5593 "fortran.tab.c" +#line 6086 "fortran.tab.c" break; - case 554: -#line 2938 "fortran.y" + case 554: /* section-subscript: ':' expr */ +#line 2953 "fortran.y" {sprintf((yyval.na),":%s",(yyvsp[0].na));} -#line 5599 "fortran.tab.c" +#line 6092 "fortran.tab.c" break; - case 555: -#line 2940 "fortran.y" + case 555: /* section-subscript: ':' ':' expr */ +#line 2955 "fortran.y" {sprintf((yyval.na),": :%s",(yyvsp[0].na));} -#line 5605 "fortran.tab.c" +#line 6098 "fortran.tab.c" break; - case 556: -#line 2942 "fortran.y" + case 556: /* section-subscript: ':' expr ':' expr */ +#line 2957 "fortran.y" {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5611 "fortran.tab.c" +#line 6104 "fortran.tab.c" break; - case 557: -#line 2944 "fortran.y" + case 557: /* section-subscript: TOK_FOURDOTS expr */ +#line 2959 "fortran.y" {sprintf((yyval.na),"::%s",(yyvsp[0].na));} -#line 5617 "fortran.tab.c" +#line 6110 "fortran.tab.c" break; - case 559: -#line 2947 "fortran.y" + case 559: /* section-subscript: ident '=' expr */ +#line 2962 "fortran.y" {sprintf((yyval.na),"%s=%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5623 "fortran.tab.c" +#line 6116 "fortran.tab.c" break; - case 560: -#line 2949 "fortran.y" + case 560: /* section-subscript: ident '=' '*' label */ +#line 2964 "fortran.y" {sprintf((yyval.na),"%s=*%s",(yyvsp[-3].na),(yyvsp[0].na));} -#line 5629 "fortran.tab.c" +#line 6122 "fortran.tab.c" break; - case 561: -#line 2951 "fortran.y" + case 561: /* section-subscript: '*' label */ +#line 2966 "fortran.y" {sprintf((yyval.na),"*%s",(yyvsp[0].na));} -#line 5635 "fortran.tab.c" +#line 6128 "fortran.tab.c" break; - case 562: -#line 2955 "fortran.y" + case 562: /* section_subscript_ambiguous: ':' */ +#line 2970 "fortran.y" {strcpy((yyval.na),":");} -#line 5641 "fortran.tab.c" +#line 6134 "fortran.tab.c" break; - case 563: -#line 2957 "fortran.y" + case 563: /* section_subscript_ambiguous: ':' expr */ +#line 2972 "fortran.y" {sprintf((yyval.na),":%s",(yyvsp[0].na));} -#line 5647 "fortran.tab.c" +#line 6140 "fortran.tab.c" break; - case 564: -#line 2959 "fortran.y" + case 564: /* section_subscript_ambiguous: ':' ':' expr */ +#line 2974 "fortran.y" {sprintf((yyval.na),": :%s",(yyvsp[0].na));} -#line 5653 "fortran.tab.c" +#line 6146 "fortran.tab.c" break; - case 565: -#line 2961 "fortran.y" + case 565: /* section_subscript_ambiguous: ':' expr ':' expr */ +#line 2976 "fortran.y" {sprintf((yyval.na),":%s :%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5659 "fortran.tab.c" +#line 6152 "fortran.tab.c" break; - case 566: -#line 2963 "fortran.y" + case 566: /* section_subscript_ambiguous: TOK_FOURDOTS expr */ +#line 2978 "fortran.y" {sprintf((yyval.na),"::%s",(yyvsp[0].na));} -#line 5665 "fortran.tab.c" +#line 6158 "fortran.tab.c" break; - case 567: -#line 2965 "fortran.y" + case 567: /* section_subscript_ambiguous: %empty */ +#line 2980 "fortran.y" {strcpy((yyval.na),"");} -#line 5671 "fortran.tab.c" +#line 6164 "fortran.tab.c" break; - case 569: -#line 2983 "fortran.y" + case 569: /* $@38: %empty */ +#line 2998 "fortran.y" {in_complex_literal=0;} -#line 5677 "fortran.tab.c" +#line 6170 "fortran.tab.c" break; - case 570: -#line 2984 "fortran.y" + case 570: /* $@39: %empty */ +#line 2999 "fortran.y" {inallocate = 0;} -#line 5683 "fortran.tab.c" +#line 6176 "fortran.tab.c" break; - case 594: -#line 3054 "fortran.y" + case 594: /* $@40: %empty */ +#line 3069 "fortran.y" {in_complex_literal=0;} -#line 5689 "fortran.tab.c" +#line 6182 "fortran.tab.c" break; - case 595: -#line 3055 "fortran.y" + case 595: /* $@41: %empty */ +#line 3070 "fortran.y" {inallocate = 0;} -#line 5695 "fortran.tab.c" +#line 6188 "fortran.tab.c" break; - case 605: -#line 3085 "fortran.y" + case 605: /* primary: designator */ +#line 3100 "fortran.y" { strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); if (strcasecmp(my_dim.last,"")) @@ -5705,249 +6198,249 @@ yyreduce: strcat((yyval.na),")"); } } -#line 5709 "fortran.tab.c" +#line 6202 "fortran.tab.c" break; - case 609: -#line 3098 "fortran.y" + case 609: /* primary: '(' expr ')' */ +#line 3113 "fortran.y" { sprintf((yyval.na),"(%s)",(yyvsp[-1].na));} -#line 5715 "fortran.tab.c" +#line 6208 "fortran.tab.c" break; - case 610: -#line 3103 "fortran.y" + case 610: /* level-1-expr: primary */ +#line 3118 "fortran.y" {strcpy(my_dim.last,"");} -#line 5721 "fortran.tab.c" +#line 6214 "fortran.tab.c" break; - case 612: -#line 3109 "fortran.y" + case 612: /* mult-operand: level-1-expr power-op mult-operand */ +#line 3124 "fortran.y" {sprintf((yyval.na),"%s**%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 5727 "fortran.tab.c" +#line 6220 "fortran.tab.c" break; - case 614: -#line 3114 "fortran.y" + case 614: /* add-operand: add-operand mult-op mult-operand */ +#line 3129 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5733 "fortran.tab.c" +#line 6226 "fortran.tab.c" break; - case 616: -#line 3122 "fortran.y" + case 616: /* level-2-expr: add-op add-operand */ +#line 3137 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5739 "fortran.tab.c" +#line 6232 "fortran.tab.c" break; - case 617: -#line 3124 "fortran.y" + case 617: /* level-2-expr: level-2-expr add-op add-operand */ +#line 3139 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5745 "fortran.tab.c" +#line 6238 "fortran.tab.c" break; - case 619: -#line 3127 "fortran.y" + case 619: /* level-2-expr: level-2-expr signed-int-literal-constant */ +#line 3142 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5751 "fortran.tab.c" +#line 6244 "fortran.tab.c" break; - case 621: -#line 3136 "fortran.y" + case 621: /* mult-op: '*' */ +#line 3151 "fortran.y" {strcpy((yyval.na),"*");} -#line 5757 "fortran.tab.c" +#line 6250 "fortran.tab.c" break; - case 623: -#line 3142 "fortran.y" + case 623: /* add-op: '+' */ +#line 3157 "fortran.y" {strcpy((yyval.na),"+");} -#line 5763 "fortran.tab.c" +#line 6256 "fortran.tab.c" break; - case 624: -#line 3144 "fortran.y" + case 624: /* add-op: '-' */ +#line 3159 "fortran.y" {strcpy((yyval.na),"-");} -#line 5769 "fortran.tab.c" +#line 6262 "fortran.tab.c" break; - case 626: -#line 3150 "fortran.y" + case 626: /* level-3-expr: level-3-expr concat-op level-2-expr */ +#line 3165 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5775 "fortran.tab.c" +#line 6268 "fortran.tab.c" break; - case 629: -#line 3159 "fortran.y" + case 629: /* level-4-expr: level-3-expr rel-op level-3-expr */ +#line 3174 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5781 "fortran.tab.c" +#line 6274 "fortran.tab.c" break; - case 638: -#line 3172 "fortran.y" + case 638: /* rel-op: '<' */ +#line 3187 "fortran.y" {strcpy((yyval.na),"<");} -#line 5787 "fortran.tab.c" +#line 6280 "fortran.tab.c" break; - case 640: -#line 3175 "fortran.y" + case 640: /* rel-op: '>' */ +#line 3190 "fortran.y" {strcpy((yyval.na),">");} -#line 5793 "fortran.tab.c" +#line 6286 "fortran.tab.c" break; - case 643: -#line 3183 "fortran.y" + case 643: /* and-operand: not-op level-4-expr */ +#line 3198 "fortran.y" { sprintf((yyval.na),"%s%s",(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5799 "fortran.tab.c" +#line 6292 "fortran.tab.c" break; - case 645: -#line 3190 "fortran.y" + case 645: /* or-operand: or-operand and-op and-operand */ +#line 3205 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5805 "fortran.tab.c" +#line 6298 "fortran.tab.c" break; - case 647: -#line 3197 "fortran.y" + case 647: /* equiv-operand: equiv-operand or-op or-operand */ +#line 3212 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5811 "fortran.tab.c" +#line 6304 "fortran.tab.c" break; - case 649: -#line 3203 "fortran.y" + case 649: /* level-5-expr: level-5-expr equiv-op equiv-operand */ +#line 3218 "fortran.y" { sprintf((yyval.na),"%s%s%s",(yyvsp[-2].na),(yyvsp[-1].na),(yyvsp[0].na)); } -#line 5817 "fortran.tab.c" +#line 6310 "fortran.tab.c" break; - case 659: -#line 3239 "fortran.y" + case 659: /* opt-scalar-int-expr: %empty */ +#line 3254 "fortran.y" {strcpy((yyval.na),"");} -#line 5823 "fortran.tab.c" +#line 6316 "fortran.tab.c" break; - case 662: -#line 3248 "fortran.y" + case 662: /* specification-expr: scalar-int-expr */ +#line 3263 "fortran.y" { strcpy((yyval.na),(yyvsp[0].na)); } -#line 5831 "fortran.tab.c" +#line 6324 "fortran.tab.c" break; - case 663: -#line 3255 "fortran.y" + case 663: /* constant-expr: expr */ +#line 3270 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 5837 "fortran.tab.c" +#line 6330 "fortran.tab.c" break; - case 792: -#line 3628 "fortran.y" + case 792: /* $@42: %empty */ +#line 3643 "fortran.y" {in_select_case_stmt++;} -#line 5843 "fortran.tab.c" +#line 6336 "fortran.tab.c" break; - case 794: -#line 3629 "fortran.y" + case 794: /* $@43: %empty */ +#line 3644 "fortran.y" {in_select_case_stmt++;} -#line 5849 "fortran.tab.c" +#line 6342 "fortran.tab.c" break; - case 798: -#line 3638 "fortran.y" + case 798: /* $@44: %empty */ +#line 3653 "fortran.y" {in_select_case_stmt--;} -#line 5855 "fortran.tab.c" +#line 6348 "fortran.tab.c" break; - case 800: -#line 3639 "fortran.y" + case 800: /* $@45: %empty */ +#line 3654 "fortran.y" {in_select_case_stmt--;} -#line 5861 "fortran.tab.c" +#line 6354 "fortran.tab.c" break; - case 802: -#line 3644 "fortran.y" + case 802: /* $@46: %empty */ +#line 3659 "fortran.y" {in_complex_literal=0;} -#line 5867 "fortran.tab.c" +#line 6360 "fortran.tab.c" break; - case 826: -#line 3707 "fortran.y" + case 826: /* $@47: %empty */ +#line 3722 "fortran.y" {close_or_connect = 1;} -#line 5873 "fortran.tab.c" +#line 6366 "fortran.tab.c" break; - case 827: -#line 3707 "fortran.y" + case 827: /* $@48: %empty */ +#line 3722 "fortran.y" {close_or_connect = 0;} -#line 5879 "fortran.tab.c" +#line 6372 "fortran.tab.c" break; - case 845: -#line 3738 "fortran.y" + case 845: /* $@49: %empty */ +#line 3753 "fortran.y" {close_or_connect = 1;} -#line 5885 "fortran.tab.c" +#line 6378 "fortran.tab.c" break; - case 846: -#line 3739 "fortran.y" + case 846: /* close-stmt: opt-label TOK_CLOSE '(' $@49 close-spec-list ')' line-break */ +#line 3754 "fortran.y" {close_or_connect = 0;} -#line 5891 "fortran.tab.c" +#line 6384 "fortran.tab.c" break; - case 855: -#line 3757 "fortran.y" + case 855: /* $@50: %empty */ +#line 3772 "fortran.y" { in_io_control_spec = 0; } -#line 5899 "fortran.tab.c" +#line 6392 "fortran.tab.c" break; - case 857: -#line 3762 "fortran.y" + case 857: /* $@51: %empty */ +#line 3777 "fortran.y" { in_io_control_spec = 0; } -#line 5907 "fortran.tab.c" +#line 6400 "fortran.tab.c" break; - case 861: -#line 3772 "fortran.y" + case 861: /* $@52: %empty */ +#line 3787 "fortran.y" { in_io_control_spec = 0; } -#line 5915 "fortran.tab.c" +#line 6408 "fortran.tab.c" break; - case 863: -#line 3777 "fortran.y" + case 863: /* $@53: %empty */ +#line 3792 "fortran.y" { in_io_control_spec = 0; } -#line 5923 "fortran.tab.c" +#line 6416 "fortran.tab.c" break; - case 917: -#line 3895 "fortran.y" + case 917: /* $@54: %empty */ +#line 3910 "fortran.y" {in_inquire=0;} -#line 5929 "fortran.tab.c" +#line 6422 "fortran.tab.c" break; - case 919: -#line 3898 "fortran.y" + case 919: /* $@55: %empty */ +#line 3913 "fortran.y" {in_inquire=0;} -#line 5935 "fortran.tab.c" +#line 6428 "fortran.tab.c" break; - case 921: -#line 3902 "fortran.y" + case 921: /* set_in_inquire: %empty */ +#line 3917 "fortran.y" {in_inquire=1;} -#line 5941 "fortran.tab.c" +#line 6434 "fortran.tab.c" break; - case 937: -#line 3930 "fortran.y" + case 937: /* $@56: %empty */ +#line 3945 "fortran.y" {pos_endsubroutine=setposcur();} -#line 5947 "fortran.tab.c" +#line 6440 "fortran.tab.c" break; - case 941: -#line 3939 "fortran.y" + case 941: /* $@57: %empty */ +#line 3954 "fortran.y" { GlobalDeclaration = 0; strcpy(curmodulename,(yyvsp[0].na)); @@ -5963,11 +6456,11 @@ yyreduce: aftercontainsdeclare = 0 ; } } -#line 5967 "fortran.tab.c" +#line 6460 "fortran.tab.c" break; - case 943: -#line 3959 "fortran.y" + case 943: /* $@58: %empty */ +#line 3974 "fortran.y" { /* if we never meet the contains keyword */ if ( firstpass == 0 ) @@ -5989,17 +6482,17 @@ yyreduce: strcpy(curmodulename, ""); GlobalDeclaration = 0 ; } -#line 5993 "fortran.tab.c" +#line 6486 "fortran.tab.c" break; - case 958: -#line 4011 "fortran.y" + case 958: /* save_olduse: %empty */ +#line 4026 "fortran.y" {if (firstpass == 0 && oldfortran_out) pos_curuseold = setposcurname(oldfortran_out);} -#line 5999 "fortran.tab.c" +#line 6492 "fortran.tab.c" break; - case 959: -#line 4016 "fortran.y" + case 959: /* $@59: %empty */ +#line 4031 "fortran.y" { if ( firstpass ) { @@ -6036,11 +6529,11 @@ yyreduce: } } } -#line 6040 "fortran.tab.c" +#line 6533 "fortran.tab.c" break; - case 961: -#line 4054 "fortran.y" + case 961: /* $@60: %empty */ +#line 4069 "fortran.y" { if ( firstpass ) { @@ -6089,23 +6582,23 @@ yyreduce: } } } -#line 6093 "fortran.tab.c" +#line 6586 "fortran.tab.c" break; - case 966: -#line 4111 "fortran.y" + case 966: /* opt-only-list: %empty */ +#line 4126 "fortran.y" {(yyval.lc)=NULL;} -#line 6099 "fortran.tab.c" +#line 6592 "fortran.tab.c" break; - case 967: -#line 4113 "fortran.y" + case 967: /* opt-only-list: only-list */ +#line 4128 "fortran.y" {(yyval.lc)=(yyvsp[0].lc);} -#line 6105 "fortran.tab.c" +#line 6598 "fortran.tab.c" break; - case 973: -#line 4130 "fortran.y" + case 973: /* $@61: %empty */ +#line 4145 "fortran.y" { strcpy(subroutinename,(yyvsp[0].na)); insubroutinedeclare = 1; @@ -6115,17 +6608,17 @@ yyreduce: if ( ! firstpass ) WriteBeginof_SubLoop(); } -#line 6119 "fortran.tab.c" +#line 6612 "fortran.tab.c" break; - case 975: -#line 4143 "fortran.y" + case 975: /* $@62: %empty */ +#line 4158 "fortran.y" {pos_endsubroutine=my_position_before;} -#line 6125 "fortran.tab.c" +#line 6618 "fortran.tab.c" break; - case 976: -#line 4144 "fortran.y" + case 976: /* $@63: %empty */ +#line 4159 "fortran.y" { insubroutinedeclare = 0; inprogramdeclare = 0; @@ -6134,45 +6627,45 @@ yyreduce: functiondeclarationisdone = 0; strcpy(subroutinename,""); } -#line 6138 "fortran.tab.c" +#line 6631 "fortran.tab.c" break; - case 983: -#line 4166 "fortran.y" + case 983: /* opt-rename-list: %empty */ +#line 4181 "fortran.y" { (yyval.lc)=NULL; } -#line 6146 "fortran.tab.c" +#line 6639 "fortran.tab.c" break; - case 984: -#line 4170 "fortran.y" + case 984: /* opt-rename-list: ',' rename-list */ +#line 4185 "fortran.y" { (yyval.lc)=(yyvsp[0].lc); } -#line 6154 "fortran.tab.c" +#line 6647 "fortran.tab.c" break; - case 985: -#line 4176 "fortran.y" + case 985: /* rename-list: rename */ +#line 4191 "fortran.y" { (yyval.lc)=(yyvsp[0].lc); } -#line 6162 "fortran.tab.c" +#line 6655 "fortran.tab.c" break; - case 986: -#line 4180 "fortran.y" + case 986: /* rename-list: rename-list ',' rename */ +#line 4195 "fortran.y" { /* insert the variable in the list $1 */ (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); (yyval.lc)=(yyvsp[0].lc); } -#line 6172 "fortran.tab.c" +#line 6665 "fortran.tab.c" break; - case 987: -#line 4189 "fortran.y" + case 987: /* rename: TOK_NAME TOK_POINT_TO TOK_NAME */ +#line 4204 "fortran.y" { coupletmp = (listcouple *) calloc(1,sizeof(listcouple)); strcpy(coupletmp->c_namevar,(yyvsp[-2].na)); @@ -6180,27 +6673,27 @@ yyreduce: coupletmp->suiv = NULL; (yyval.lc) = coupletmp; } -#line 6184 "fortran.tab.c" +#line 6677 "fortran.tab.c" break; - case 988: -#line 4199 "fortran.y" + case 988: /* only-list: only */ +#line 4214 "fortran.y" {(yyval.lc)=(yyvsp[0].lc);} -#line 6190 "fortran.tab.c" +#line 6683 "fortran.tab.c" break; - case 989: -#line 4201 "fortran.y" + case 989: /* only-list: only-list ',' only */ +#line 4216 "fortran.y" { /* insert the variable in the list $1 */ (yyvsp[0].lc)->suiv = (yyvsp[-2].lc); (yyval.lc) = (yyvsp[0].lc); } -#line 6200 "fortran.tab.c" +#line 6693 "fortran.tab.c" break; - case 990: -#line 4210 "fortran.y" + case 990: /* only: generic-spec */ +#line 4225 "fortran.y" { coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); strcpy(coupletmp->c_namevar,(yyvsp[0].na)); @@ -6208,11 +6701,11 @@ yyreduce: coupletmp->suiv = NULL; (yyval.lc) = coupletmp; } -#line 6212 "fortran.tab.c" +#line 6705 "fortran.tab.c" break; - case 991: -#line 4218 "fortran.y" + case 991: /* only: only-use-name */ +#line 4233 "fortran.y" { coupletmp = (listcouple *)calloc(1,sizeof(listcouple)); strcpy(coupletmp->c_namevar,(yyvsp[0].na)); @@ -6220,33 +6713,33 @@ yyreduce: coupletmp->suiv = NULL; (yyval.lc) = coupletmp; } -#line 6224 "fortran.tab.c" +#line 6717 "fortran.tab.c" break; - case 992: -#line 4226 "fortran.y" + case 992: /* only: rename */ +#line 4241 "fortran.y" { (yyval.lc)=(yyvsp[0].lc); pointedvar = 1; Add_UsedInSubroutine_Var_1((yyvsp[0].lc)->c_namevar); } -#line 6234 "fortran.tab.c" +#line 6727 "fortran.tab.c" break; - case 1005: -#line 4266 "fortran.y" + case 1005: /* $@64: %empty */ +#line 4281 "fortran.y" {in_complex_literal=0;} -#line 6240 "fortran.tab.c" +#line 6733 "fortran.tab.c" break; - case 1006: -#line 4267 "fortran.y" + case 1006: /* function-reference: procedure-designator '(' $@64 actual-arg-spec-list ')' */ +#line 4282 "fortran.y" {sprintf((yyval.na),"%s(%s)",(yyvsp[-4].na),(yyvsp[-1].na));} -#line 6246 "fortran.tab.c" +#line 6739 "fortran.tab.c" break; - case 1007: -#line 4273 "fortran.y" + case 1007: /* $@65: %empty */ +#line 4288 "fortran.y" { inagrifcallargument = 0 ; incalldeclare=0; @@ -6258,11 +6751,11 @@ yyreduce: } Instanciation_0(sameagrifname); } -#line 6262 "fortran.tab.c" +#line 6755 "fortran.tab.c" break; - case 1009: -#line 4286 "fortran.y" + case 1009: /* $@66: %empty */ +#line 4301 "fortran.y" { inagrifcallargument = 0 ; incalldeclare=0; @@ -6274,17 +6767,17 @@ yyreduce: } Instanciation_0(sameagrifname); } -#line 6278 "fortran.tab.c" +#line 6771 "fortran.tab.c" break; - case 1011: -#line 4298 "fortran.y" + case 1011: /* $@67: %empty */ +#line 4313 "fortran.y" {in_complex_literal=0;} -#line 6284 "fortran.tab.c" +#line 6777 "fortran.tab.c" break; - case 1012: -#line 4299 "fortran.y" + case 1012: /* $@68: %empty */ +#line 4314 "fortran.y" { inagrifcallargument = 0 ; incalldeclare=0; @@ -6296,17 +6789,17 @@ yyreduce: } Instanciation_0(sameagrifname); } -#line 6300 "fortran.tab.c" +#line 6793 "fortran.tab.c" break; - case 1014: -#line 4313 "fortran.y" + case 1014: /* $@69: %empty */ +#line 4328 "fortran.y" {pos_curcall=my_position_before-strlen((yyvsp[-1].na))-4;} -#line 6306 "fortran.tab.c" +#line 6799 "fortran.tab.c" break; - case 1015: -#line 4314 "fortran.y" + case 1015: /* before-call-stmt: opt-label TOK_CALL $@69 procedure-designator */ +#line 4329 "fortran.y" { if (!strcasecmp((yyvsp[0].na),"MPI_Init") ) callmpiinit = 1; else callmpiinit = 0; @@ -6327,17 +6820,17 @@ yyreduce: Add_SubroutineWhereAgrifUsed_1(subroutinename, curmodulename); } } -#line 6331 "fortran.tab.c" +#line 6824 "fortran.tab.c" break; - case 1020: -#line 4345 "fortran.y" + case 1020: /* actual-arg-spec-list: actual-arg-spec-list ',' actual-arg-spec */ +#line 4360 "fortran.y" {sprintf((yyval.na),"%s,%s",(yyvsp[-2].na),(yyvsp[0].na));} -#line 6337 "fortran.tab.c" +#line 6830 "fortran.tab.c" break; - case 1021: -#line 4350 "fortran.y" + case 1021: /* actual-arg-spec: actual-arg */ +#line 4365 "fortran.y" { if ( callmpiinit == 1 ) { @@ -6345,11 +6838,11 @@ yyreduce: if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); } } -#line 6349 "fortran.tab.c" +#line 6842 "fortran.tab.c" break; - case 1022: -#line 4358 "fortran.y" + case 1022: /* actual-arg-spec: keyword '=' actual-arg */ +#line 4373 "fortran.y" {sprintf((yyval.na),"%s = %s",(yyvsp[-2].na),(yyvsp[0].na)); if ( callmpiinit == 1 ) { @@ -6357,11 +6850,11 @@ yyreduce: if ( firstpass == 1 ) Add_UsedInSubroutine_Var_1 (mpiinitvar); } } -#line 6361 "fortran.tab.c" +#line 6854 "fortran.tab.c" break; - case 1024: -#line 4370 "fortran.y" + case 1024: /* actual-arg: variable */ +#line 4385 "fortran.y" { strcpy((yyval.na),(yyvsp[0].v)->v_nomvar); if ((yyvsp[0].v)->v_initialvalue_array) @@ -6371,41 +6864,59 @@ yyreduce: strcat((yyval.na),")"); } } -#line 6375 "fortran.tab.c" +#line 6868 "fortran.tab.c" break; - case 1026: -#line 4382 "fortran.y" - {isrecursive = 0;} -#line 6381 "fortran.tab.c" + case 1026: /* opt-prefix: %empty */ +#line 4397 "fortran.y" + {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0;} +#line 6874 "fortran.tab.c" break; - case 1030: -#line 4393 "fortran.y" - {isrecursive = 0; functiondeclarationisdone = 1;} -#line 6387 "fortran.tab.c" + case 1030: /* prefix-spec: declaration-type-spec */ +#line 4408 "fortran.y" + {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0; functiondeclarationisdone = 1;} +#line 6880 "fortran.tab.c" break; - case 1031: -#line 4395 "fortran.y" - {isrecursive = 0;} -#line 6393 "fortran.tab.c" + case 1031: /* prefix-spec: TOK_MODULE */ +#line 4410 "fortran.y" + {isrecursive = 0; ispure = 0; isimpure = 0; iselemental = 0;} +#line 6886 "fortran.tab.c" break; - case 1032: -#line 4397 "fortran.y" + case 1032: /* prefix-spec: TOK_RECURSIVE */ +#line 4412 "fortran.y" {isrecursive = 1;} -#line 6399 "fortran.tab.c" +#line 6892 "fortran.tab.c" + break; + + case 1033: /* prefix-spec: TOK_PURE */ +#line 4414 "fortran.y" + {ispure = 1;} +#line 6898 "fortran.tab.c" + break; + + case 1034: /* prefix-spec: TOK_IMPURE */ +#line 4416 "fortran.y" + {isimpure = 1;} +#line 6904 "fortran.tab.c" + break; + + case 1035: /* prefix-spec: TOK_ELEMENTAL */ +#line 4418 "fortran.y" + {iselemental = 1;} +#line 6910 "fortran.tab.c" break; - case 1034: -#line 4406 "fortran.y" + case 1037: /* $@70: %empty */ +#line 4427 "fortran.y" {in_complex_literal=0;} -#line 6405 "fortran.tab.c" +#line 6916 "fortran.tab.c" break; - case 1035: -#line 4407 "fortran.y" + case 1038: /* $@71: %empty */ +#line 4428 "fortran.y" { insubroutinedeclare = 1; suborfun = 0; @@ -6427,11 +6938,11 @@ yyreduce: } strcpy(NamePrecision,""); } -#line 6431 "fortran.tab.c" +#line 6942 "fortran.tab.c" break; - case 1037: -#line 4432 "fortran.y" + case 1040: /* function-name: TOK_NAME */ +#line 4453 "fortran.y" { if (strcmp(subroutinename,"")) { @@ -6444,23 +6955,23 @@ yyreduce: } strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); } -#line 6448 "fortran.tab.c" +#line 6959 "fortran.tab.c" break; - case 1038: -#line 4457 "fortran.y" + case 1041: /* dummy-arg-name: TOK_NAME */ +#line 4478 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 6454 "fortran.tab.c" +#line 6965 "fortran.tab.c" break; - case 1039: -#line 4461 "fortran.y" + case 1042: /* opt-suffix: %empty */ +#line 4482 "fortran.y" {is_result_present = 0; } -#line 6460 "fortran.tab.c" +#line 6971 "fortran.tab.c" break; - case 1041: -#line 4467 "fortran.y" + case 1044: /* suffix: TOK_RESULT '(' TOK_NAME ')' */ +#line 4488 "fortran.y" {is_result_present = 1; if ( firstpass == 1 ) { @@ -6473,17 +6984,17 @@ yyreduce: Add_SubroutineArgument_Var_1(curlistvar); } } -#line 6477 "fortran.tab.c" +#line 6988 "fortran.tab.c" break; - case 1042: -#line 4483 "fortran.y" + case 1045: /* $@72: %empty */ +#line 4504 "fortran.y" {strcpy(DeclType, "");} -#line 6483 "fortran.tab.c" +#line 6994 "fortran.tab.c" break; - case 1047: -#line 4497 "fortran.y" + case 1050: /* $@73: %empty */ +#line 4518 "fortran.y" { insubroutinedeclare = 1; suborfun = 1; @@ -6494,11 +7005,11 @@ yyreduce: WriteBeginof_SubLoop(); } } -#line 6498 "fortran.tab.c" +#line 7009 "fortran.tab.c" break; - case 1049: -#line 4512 "fortran.y" + case 1052: /* subroutine-name: TOK_NAME */ +#line 4533 "fortran.y" { if (strcmp(subroutinename,"")) { @@ -6511,11 +7022,11 @@ yyreduce: } strcpy((yyval.na),(yyvsp[0].na));strcpy(subroutinename,(yyvsp[0].na)); } -#line 6515 "fortran.tab.c" +#line 7026 "fortran.tab.c" break; - case 1051: -#line 4533 "fortran.y" + case 1054: /* close_subroutine: %empty */ +#line 4554 "fortran.y" {pos_endsubroutine = my_position; GlobalDeclaration = 0 ; if ( firstpass == 0 && strcasecmp(subroutinename,"") ) @@ -6559,41 +7070,41 @@ yyreduce: insubroutinedeclare=1; } } -#line 6563 "fortran.tab.c" +#line 7074 "fortran.tab.c" break; - case 1054: -#line 4582 "fortran.y" + case 1057: /* opt-dummy-arg-list-par: %empty */ +#line 4603 "fortran.y" {if (firstpass) (yyval.l)=NULL;} -#line 6569 "fortran.tab.c" +#line 7080 "fortran.tab.c" break; - case 1055: -#line 4583 "fortran.y" + case 1058: /* $@74: %empty */ +#line 4604 "fortran.y" {in_complex_literal=0;} -#line 6575 "fortran.tab.c" +#line 7086 "fortran.tab.c" break; - case 1056: -#line 4584 "fortran.y" + case 1059: /* opt-dummy-arg-list-par: '(' $@74 opt-dummy-arg-list ')' */ +#line 4605 "fortran.y" {if (firstpass) (yyval.l)=(yyvsp[-1].l);} -#line 6581 "fortran.tab.c" +#line 7092 "fortran.tab.c" break; - case 1057: -#line 4588 "fortran.y" + case 1060: /* opt-dummy-arg-list: %empty */ +#line 4609 "fortran.y" {if (firstpass) (yyval.l)=NULL;} -#line 6587 "fortran.tab.c" +#line 7098 "fortran.tab.c" break; - case 1058: -#line 4590 "fortran.y" + case 1061: /* opt-dummy-arg-list: dummy-arg-list */ +#line 4611 "fortran.y" {if (firstpass) (yyval.l)=(yyvsp[0].l);} -#line 6593 "fortran.tab.c" +#line 7104 "fortran.tab.c" break; - case 1059: -#line 4595 "fortran.y" + case 1062: /* dummy-arg-list: dummy-arg */ +#line 4616 "fortran.y" { if ( firstpass == 1 ) { @@ -6605,11 +7116,11 @@ yyreduce: (yyval.l) = settype("",curlistvar); } } -#line 6609 "fortran.tab.c" +#line 7120 "fortran.tab.c" break; - case 1060: -#line 4607 "fortran.y" + case 1063: /* dummy-arg-list: dummy-arg-list ',' dummy-arg */ +#line 4628 "fortran.y" { if ( firstpass == 1 ) { @@ -6620,23 +7131,23 @@ yyreduce: (yyval.l) = insertvar((yyvsp[-2].l),curvar); } } -#line 6624 "fortran.tab.c" +#line 7135 "fortran.tab.c" break; - case 1061: -#line 4621 "fortran.y" + case 1064: /* dummy-arg: dummy-arg-name */ +#line 4642 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 6630 "fortran.tab.c" +#line 7141 "fortran.tab.c" break; - case 1062: -#line 4623 "fortran.y" + case 1065: /* dummy-arg: '*' */ +#line 4644 "fortran.y" {strcpy((yyval.na),"*");} -#line 6636 "fortran.tab.c" +#line 7147 "fortran.tab.c" break; - case 1065: -#line 4633 "fortran.y" + case 1068: /* $@75: %empty */ +#line 4654 "fortran.y" { if ( inside_type_declare ) break; if ( inmoduledeclare ) @@ -6665,29 +7176,29 @@ yyreduce: } else printf("l.%4d -- TOK_CONTAINS -- MHCHECK\n",line_num_input); } -#line 6669 "fortran.tab.c" +#line 7180 "fortran.tab.c" break; - case 1067: -#line 4668 "fortran.y" + case 1070: /* opt_name: '\n' */ +#line 4689 "fortran.y" {strcpy((yyval.na),"");} -#line 6675 "fortran.tab.c" +#line 7186 "fortran.tab.c" break; - case 1068: -#line 4669 "fortran.y" + case 1071: /* opt_name: TOK_NAME */ +#line 4690 "fortran.y" {strcpy((yyval.na),(yyvsp[0].na));} -#line 6681 "fortran.tab.c" +#line 7192 "fortran.tab.c" break; - case 1074: -#line 4797 "fortran.y" + case 1077: /* declare_after_percent: %empty */ +#line 4818 "fortran.y" { afterpercent = 1; } -#line 6687 "fortran.tab.c" +#line 7198 "fortran.tab.c" break; -#line 6691 "fortran.tab.c" +#line 7202 "fortran.tab.c" default: break; } @@ -6702,11 +7213,10 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; @@ -6730,50 +7240,14 @@ yyreduce: yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); -#else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) - { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; - } -# undef YYSYNTAX_ERROR -#endif } - - if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -6806,6 +7280,7 @@ yyerrorlab: label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -6822,13 +7297,14 @@ yyerrorlab: yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ + /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) { yyn = yytable[yyn]; if (0 < yyn) @@ -6842,7 +7318,7 @@ yyerrlab1: yydestruct ("Error: popping", - yystos[yystate], yyvsp); + YY_ACCESSING_SYMBOL (yystate), yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -6854,7 +7330,7 @@ yyerrlab1: /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -6865,7 +7341,7 @@ yyerrlab1: `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; /*-----------------------------------. @@ -6873,24 +7349,22 @@ yyacceptlab: `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; - /* Fall through. */ -#endif + goto yyreturnlab; -/*-----------------------------------------------------. -| yyreturn -- parsing is finished, return the result. | -`-----------------------------------------------------*/ -yyreturn: +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -6906,20 +7380,18 @@ yyreturn: while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[+*yyssp], yyvsp); + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif + return yyresult; } -#line 4894 "fortran.y" + +#line 4915 "fortran.y" void process_fortran(const char *input_file) @@ -6970,6 +7442,9 @@ void process_fortran(const char *input_file) insubroutinedeclare = 0 ; strcpy(subroutinename," "); isrecursive = 0; + ispure = 0; + isimpure = 0; + iselemental = 0; InitialValueGiven = 0 ; GlobalDeclarationType = 0; inmoduledeclare = 0; @@ -6991,9 +7466,9 @@ void process_fortran(const char *input_file) if (firstpass == 0) NewModule_Creation_0(); if (firstpass == 0) fclose(fortran_out); } -#line 2 "fortran.yy.c" +#line 1 "fortran.yy.c" -#line 4 "fortran.yy.c" +#line 3 "fortran.yy.c" #define YY_INT_ALIGNED short int @@ -7607,8 +8082,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 179 -#define YY_END_OF_BUFFER 180 +#define YY_NUM_RULES 182 +#define YY_END_OF_BUFFER 183 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -7616,188 +8091,191 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_acclist[1606] = +static const flex_int16_t yy_acclist[1636] = { 0, - 144, 144, 180, 179, 168, 179, 167, 179, 178, 179, - 179, 157, 179, 161, 179, 171, 179, 179, 160, 179, - 160, 179, 160, 179, 163, 179, 158, 179, 141, 179, - 156, 179, 160, 179, 162, 179, 165, 179, 164, 179, - 166, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 168, 179, 167, 177, 179, 178, - 179, 152, 179, 152, 179, 152, 179, 152, 179, 152, - - 179, 179, 179, 175, 179, 179, 179, 150, 179, 179, - 179, 144, 179, 145, 179, 179, 167, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 152, 179, 152, 179, 152, 179, 152, 179, 152, 179, - 167, 177, 179, 168, 179, 160, 179, 156, 179, 152, - 179, 152, 179, 152, 179, 152, 179, 152, 179, 168, - 179, 156, 179, 168, 178, 178, 178, 147, 171, 146, - 139, 20, 155, 140, 138, 34, 156, 137, 35, 33, - - 18, 36, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 42, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 92, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 168, 177, 178, 178, 178, 178, 152, 152, - 152, 152, 92, 152, 152, 175, 150, 144, 143, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 42, 152, 152, 152, 152, 152, 152, - - 152, 152, 152, 152, 152, 152, 152, 152, 152, 92, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 177, - 168, 168, 176, 20, 156, 176, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 92, 152, 152, 168, - 156, 178, 178, 142, 146, 154, 153, 154, 155, 155, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 9, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - - 152, 152, 104,16486, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 95, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 11, 152, 152, - 152, 152, 178, 178, 178, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 9, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 95, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 11, 152, 152, 152, - 152, 168, 168, 156, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 178, 178, 155, - 22, 24, 23, 26, 25, 28, 30, 152, 152, 152, - 152, 152, 152, 152, 15, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 41, 41, 152, 152, - 100, 152, 117, 152, 152, 152, 152, 152, 118, 152, - - 127, 152, 152, 80, 152, 152, 152, 152, 115, 152, - 152, 94, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 119, 152, 152, 152, 152, 116, 14, - 152, 152, 64, 152, 78, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 84, 152, 43, 152, 131, - 152, 152, 152, 152, 152, 73, 152, 152, 152, 77, - 152, 58, 152, 152, 152, 98, 152, 152, 152, 152, - 152, 47, 178, 178, 178, 106, 152, 152, 152, 152, - 152, 152,16459, 152, 152, 152, 152, 152, 152, 152, - 15, 152, 152, 152, 152, 152, 152, 152, 152, 152, - - 152, 152, 41, 152, 152, 100, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 80, 152, 152, 152, 152, - 152, 152, 94, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 14, 152, - 152, 64, 152, 78, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 84, 152, 43, 152, 152, 152, - 152, 152, 152, 73, 152, 152, 152, 77, 152, 58, - 152, 152, 152, 98, 152, 152, 152, 152, 152, 168, - 156, 15, 152, 106, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152,16459, 178, - - 178, 159, 32, 21, 29, 31, 152, 152, 152, 152, - 152, 152, 152, 152, 53, 152, 152, 152, 152, 152, - 135, 152, 152, 152, 152, 152, 152, 152, 40, 152, - 101, 152, 152, 152, 152, 152, 152, 152, 152, 109, - 88, 152, 128, 152, 94, 103, 152, 152, 96, 152, - 152, 152, 152, 152, 152, 152, 152, 120, 152, 152, - 122, 129, 152, 152, 152, 152, 152, 56, 152, 152, - 152, 81, 152, 152, 152, 152, 83, 130, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 113, 59, 152, - 38, 152, 87, 152, 106,16459, 178, 178, 178, 106, - - 152, 93, 152, 152, 8267, 74, 8267, 152, 152, 152, - 152, 152, 152, 152, 152, 53, 152, 152, 152, 152, - 152, 135, 152, 152, 152, 152, 152, 152, 152, 40, - 152, 101, 152, 152, 152, 152, 152, 152, 152, 152, - 88, 152, 152, 152, 152, 96, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 56, 152, 152, 152, 81, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 59, - 152, 38, 152, 87, 152, 168, 156, 106, 152, 152, - 53, 152, 152, 152, 152, 152, 152, 152, 135, 152, - - 152, 152, 16, 178, 16, 178, 16, 16, 147, 16, - 16, 16, 146, 16, 16, 16, 16, 16, 16, 27, - 152, 152, 152, 152, 152, 16, 152, 152, 152, 67, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 99, - 152, 152, 40, 101, 152, 152, 152, 152, 152, 134, - 152, 152, 103, 8294, 103, 152, 152, 152, 152, 70, - 152, 152, 152, 125, 152, 152, 37, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 90, 152, 152, - 7, 152, 79, 152, 12, 152, 152, 152, 133, 152, - 152, 89, 152, 86, 178, 178, 16, 178, 152, 152, - - 152, 152, 152, 152, 152, 152, 16, 152, 152, 152, - 67, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 99, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 70, 152, 152, 152, 152, 152, - 37, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 90, 152, 152, 7, 152, 79, 152, 12, 152, - 152, 152, 133, 152, 152, 89, 152, 16, 152, 152, - 67, 152, 152, 152, 152, 152, 152, 16, 152, 152, - 152, 17, 17, 178, 17, 17, 147, 17, 17, 17, - 146, 17, 17, 17, 17, 17, 17, 110, 111, 17, - - 152, 152, 152, 152, 152, 50, 152, 152, 152, 152, - 152, 107, 152, 152, 152, 152, 99, 152, 152, 76, - 152, 152, 152, 121, 152, 152, 8294, 152, 10, 152, - 54, 152, 44, 152, 152, 152, 126, 45, 152, 152, - 152, 5, 152, 114, 152, 152, 71, 152, 152, 91, - 152, 2, 152, 152, 152, 123, 132, 152, 178, 17, - 178, 152, 68, 152, 172, 17, 152, 152, 152, 152, - 152, 50, 152, 152, 152, 152, 152, 107, 152, 152, - 152, 152, 152, 152, 76, 152, 152, 152, 152, 152, - 152, 10, 152, 54, 152, 44, 152, 152, 152, 45, - - 152, 152, 152, 5, 152, 152, 152, 71, 152, 152, - 91, 152, 2, 152, 152, 152, 152, 172, 17, 17, - 152, 152, 50, 152, 152, 152, 152, 152, 152, 152, - 3, 152, 152, 152, 152, 152, 152, 4, 152, 152, - 152, 152, 152, 152, 76, 152, 60, 152, 152, 69, - 152, 8, 152, 13, 152, 152, 152, 152, 85, 152, - 72, 152, 152, 152, 152, 152, 152, 178, 63, 152, - 152, 152, 3, 152, 152, 152, 152, 152, 152, 4, - 152, 152, 152, 152, 152, 152, 152, 60, 152, 152, - 69, 152, 8, 152, 13, 152, 152, 152, 152, 85, - - 152, 72, 152, 152, 152, 152, 152, 152, 152, 152, - 63, 152, 152, 4, 152, 152, 138, 152, 152, 136, - 152, 46, 152, 152, 152, 152, 55, 152, 152, 152, - 62, 152, 60, 108, 152, 152, 97, 152, 112, 152, - 65, 152, 124, 66, 152, 152, 152, 63, 178, 148, - 152, 151, 152, 152, 136, 152, 46, 152, 152, 152, - 152, 55, 152, 152, 152, 62, 152, 108, 152, 152, - 97, 152, 152, 65, 152, 66, 152, 152, 152, 46, - 152, 152, 152, 148, 152, 170, 138, 152, 152, 39, - 152, 52, 152, 6, 152, 152, 152, 62, 61, 108, - - 152, 152, 105, 152, 1, 152, 148, 178, 152, 152, - 39, 152, 52, 152, 6, 152, 152, 152, 152, 152, - 105, 152, 1, 152, 169, 39, 152, 52, 152, 51, - 152, 152, 152, 57, 152, 152, 105, 178, 51, 152, - 152, 152, 57, 152, 152, 170, 152, 152, 152, 178, - 152, 152, 152, 169, 19, 49, 152, 152, 152, 178, - 149, 150, 49, 152, 152, 152, 169, 169, 49, 152, - 152, 178, 152, 152, 48, 152, 82, 152, 178, 48, - 152, 82, 152, 169, 48, 82, 178, 178, 178, 178, - 178, 178, 173, 178, 173, 173, 176, 173, 177, 178, - - 176, 174, 175, 174, 175 + 147, 147, 183, 182, 171, 182, 170, 182, 181, 182, + 182, 160, 182, 164, 182, 174, 182, 182, 163, 182, + 163, 182, 163, 182, 166, 182, 161, 182, 144, 182, + 159, 182, 163, 182, 165, 182, 168, 182, 167, 182, + 169, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 171, 182, 170, 180, 182, 181, + 182, 155, 182, 155, 182, 155, 182, 155, 182, 155, + + 182, 182, 182, 178, 182, 182, 182, 153, 182, 182, + 182, 147, 182, 148, 182, 182, 170, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 155, 182, 155, 182, 155, 182, 155, 182, 155, 182, + 170, 180, 182, 171, 182, 163, 182, 159, 182, 155, + 182, 155, 182, 155, 182, 155, 182, 155, 182, 171, + 182, 159, 182, 171, 181, 181, 181, 150, 174, 149, + 142, 20, 158, 143, 141, 34, 159, 140, 35, 33, + + 18, 36, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 42, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 95, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 171, 180, 181, 181, 181, 181, 155, 155, + 155, 155, 95, 155, 155, 178, 153, 147, 146, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 42, 155, 155, 155, 155, 155, 155, + + 155, 155, 155, 155, 155, 155, 155, 155, 155, 95, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 180, + 171, 171, 179, 20, 159, 179, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 95, 155, 155, 171, + 159, 181, 181, 145, 149, 157, 156, 157, 158, 158, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 9, 155, 155, 155, 155, 155, 155, 155, 155, 155, + + 155, 155, 155, 107,16489, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 98, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 11, + 155, 155, 155, 155, 181, 181, 181, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 9, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 98, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 11, 155, 155, 155, 155, 171, 171, 159, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 181, 181, 158, 22, 24, 23, 26, 25, 28, + 30, 155, 155, 155, 155, 155, 155, 155, 15, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 41, 41, 155, 155, 155, 103, 155, 120, 155, 155, + + 155, 155, 155, 121, 155, 130, 155, 155, 83, 155, + 155, 155, 155, 118, 155, 155, 97, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 122, + 155, 155, 155, 155, 119, 14, 155, 155, 64, 155, + 81, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 67, 155, 87, 155, 43, 155, 134, 155, 155, + 155, 155, 155, 76, 155, 155, 155, 80, 155, 58, + 155, 155, 155, 101, 155, 155, 155, 155, 155, 47, + 181, 181, 181, 109, 155, 155, 155, 155, 155, 155, + 16462, 155, 155, 155, 155, 155, 155, 155, 15, 155, + + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 41, 155, 155, 155, 103, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 83, 155, 155, 155, 155, 155, + 155, 97, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 14, 155, + 155, 64, 155, 81, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 67, 155, 87, 155, 43, 155, + 155, 155, 155, 155, 155, 76, 155, 155, 155, 80, + 155, 58, 155, 155, 155, 101, 155, 155, 155, 155, + 155, 171, 159, 15, 155, 109, 155, 155, 155, 155, + + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 16462, 181, 181, 162, 32, 21, 29, 31, 155, 155, + 155, 155, 155, 155, 155, 155, 53, 155, 155, 155, + 155, 155, 138, 155, 155, 155, 155, 155, 155, 155, + 155, 40, 155, 104, 155, 155, 155, 155, 155, 155, + 155, 155, 112, 91, 155, 131, 155, 97, 106, 155, + 155, 155, 99, 155, 155, 155, 155, 155, 155, 155, + 155, 123, 155, 155, 125, 132, 155, 155, 155, 155, + 155, 56, 155, 155, 155, 84, 155, 155, 155, 155, + 86, 133, 155, 155, 155, 155, 155, 155, 155, 155, + + 155, 116, 59, 155, 38, 155, 90, 155, 109,16462, + 181, 181, 181, 109, 155, 96, 155, 155, 8270, 77, + 8270, 155, 155, 155, 155, 155, 155, 155, 155, 53, + 155, 155, 155, 155, 155, 138, 155, 155, 155, 155, + 155, 155, 155, 155, 40, 155, 104, 155, 155, 155, + 155, 155, 155, 155, 155, 91, 155, 155, 155, 155, + 155, 99, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 56, 155, 155, + 155, 84, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 59, 155, 38, 155, 90, + + 155, 171, 159, 109, 155, 155, 53, 155, 155, 155, + 155, 155, 155, 155, 138, 155, 155, 155, 16, 181, + 16, 181, 16, 16, 150, 16, 16, 16, 149, 16, + 16, 16, 16, 16, 16, 27, 155, 155, 155, 155, + 155, 16, 155, 155, 155, 70, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 102, 155, 155, 40, + 104, 155, 155, 155, 155, 155, 137, 155, 155, 106, + 8297, 106, 155, 68, 155, 155, 155, 155, 73, 155, + 155, 155, 128, 155, 155, 37, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 93, 155, 155, 7, + + 155, 82, 155, 12, 155, 155, 155, 136, 155, 155, + 92, 155, 89, 181, 181, 16, 181, 155, 155, 155, + 155, 155, 155, 155, 155, 16, 155, 155, 155, 70, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 102, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 68, 155, 155, 155, 155, 73, 155, 155, 155, + 155, 155, 37, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 93, 155, 155, 7, 155, 82, 155, + 12, 155, 155, 155, 136, 155, 155, 92, 155, 16, + 155, 155, 70, 155, 155, 155, 155, 155, 155, 16, + + 155, 155, 155, 17, 17, 181, 17, 17, 150, 17, + 17, 17, 149, 17, 17, 17, 17, 17, 17, 113, + 114, 17, 155, 155, 155, 155, 155, 50, 155, 155, + 155, 155, 155, 110, 155, 155, 155, 155, 155, 102, + 155, 155, 79, 155, 155, 155, 124, 155, 155, 8297, + 155, 10, 155, 54, 155, 44, 155, 155, 155, 129, + 45, 155, 155, 155, 5, 155, 117, 155, 155, 74, + 155, 155, 94, 155, 2, 155, 155, 155, 126, 135, + 155, 181, 17, 181, 155, 71, 155, 175, 17, 155, + 155, 155, 155, 155, 50, 155, 155, 155, 155, 155, + + 110, 155, 155, 155, 155, 155, 155, 155, 79, 155, + 155, 155, 155, 155, 155, 10, 155, 54, 155, 44, + 155, 155, 155, 45, 155, 155, 155, 5, 155, 155, + 155, 74, 155, 155, 94, 155, 2, 155, 155, 155, + 155, 175, 17, 17, 155, 155, 50, 155, 155, 155, + 155, 155, 155, 155, 3, 155, 155, 155, 155, 155, + 155, 4, 155, 155, 155, 155, 155, 155, 155, 79, + 155, 60, 155, 155, 72, 155, 8, 155, 13, 155, + 155, 155, 155, 88, 155, 75, 155, 155, 155, 155, + 155, 155, 181, 63, 155, 155, 155, 3, 155, 155, + + 155, 155, 155, 155, 4, 155, 155, 155, 155, 155, + 155, 155, 155, 60, 155, 155, 72, 155, 8, 155, + 13, 155, 155, 155, 155, 88, 155, 75, 155, 155, + 155, 155, 155, 155, 155, 155, 63, 155, 155, 4, + 155, 155, 141, 155, 155, 139, 155, 46, 155, 155, + 155, 155, 55, 155, 155, 155, 69, 155, 62, 155, + 60, 111, 155, 155, 100, 155, 115, 155, 65, 155, + 127, 66, 155, 155, 155, 63, 181, 151, 155, 154, + 155, 155, 139, 155, 46, 155, 155, 155, 155, 55, + 155, 155, 155, 69, 155, 62, 155, 111, 155, 155, + + 100, 155, 155, 65, 155, 66, 155, 155, 155, 46, + 155, 155, 155, 151, 155, 173, 141, 155, 155, 39, + 155, 52, 155, 6, 155, 155, 155, 62, 61, 111, + 155, 155, 108, 155, 1, 155, 151, 181, 155, 155, + 39, 155, 52, 155, 6, 155, 155, 155, 155, 155, + 108, 155, 1, 155, 172, 39, 155, 52, 155, 51, + 155, 155, 155, 57, 155, 155, 108, 181, 51, 155, + 155, 155, 57, 155, 155, 173, 155, 155, 155, 181, + 155, 155, 155, 172, 19, 49, 155, 155, 155, 181, + 152, 153, 49, 155, 155, 155, 172, 172, 49, 155, + + 155, 181, 155, 155, 48, 155, 85, 155, 181, 48, + 155, 85, 155, 172, 48, 85, 181, 181, 181, 181, + 181, 181, 176, 181, 176, 176, 179, 176, 180, 181, + 179, 177, 178, 177, 178 } ; -static const flex_int16_t yy_accept[1899] = +static const flex_int16_t yy_accept[1923] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 4, 5, 7, @@ -7844,170 +8322,173 @@ static const flex_int16_t yy_accept[1899] = 366, 366, 366, 367, 370, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 387, 388, 389, 390, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 402, 403, - 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 385, 386, 387, 387, 388, 389, 390, 391, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 403, + 404, 404, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, + 424, 425, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 450, 451, 452, 453, 453, 453, - 453, 453, 453, 453, 453, 453, 453, 454, 455, 456, - 456, 457, 458, 459, 460, 461, 462, 462, 462, 462, + 445, 446, 447, 448, 449, 450, 452, 453, 454, 455, + 455, 455, 455, 455, 455, 455, 455, 455, 455, 456, + 457, 458, 458, 459, 460, 461, 462, 463, 464, 464, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 463, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, + 515, 516, 517, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 539, 540, 541, 542, 542, 542, 542, 542, - 543, 543, 544, 544, 544, 544, 544, 544, 544, 545, - - 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 558, 558, 558, 558, 559, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 561, 561, - 561, 562, 562, 563, 564, 565, 566, 566, 567, 567, - 567, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 569, 570, 571, 572, 573, 574, 575, - 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, - 587, 588, 590, 591, 593, 593, 594, 595, 596, 597, - 598, 599, 599, 600, 601, 601, 602, 603, 604, 606, - - 607, 608, 609, 609, 610, 611, 612, 612, 614, 614, - 614, 614, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 624, 625, 626, 627, 628, 629, 629, - 630, 632, 633, 635, 637, 638, 639, 640, 641, 642, - 643, 644, 645, 646, 648, 650, 650, 651, 652, 653, - 654, 655, 656, 658, 659, 660, 662, 664, 665, 666, - 668, 669, 670, 671, 672, 673, 673, 673, 673, 673, - 673, 673, 674, 675, 676, 676, 678, 679, 680, 681, - 682, 684, 684, 684, 684, 684, 684, 684, 684, 684, - 684, 685, 686, 687, 688, 689, 690, 691, 693, 694, - - 695, 696, 697, 698, 699, 700, 701, 702, 703, 705, - 706, 708, 709, 710, 711, 712, 713, 714, 715, 716, - 718, 719, 720, 721, 722, 723, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 741, 742, 744, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 757, 759, 760, 761, 762, 763, - 764, 766, 767, 768, 770, 772, 773, 774, 776, 777, - 778, 779, 780, 780, 780, 780, 781, 781, 781, 781, - 781, 781, 782, 782, 784, 786, 787, 788, 789, 790, - 791, 792, 793, 794, 795, 796, 797, 798, 800, 800, - - 800, 800, 801, 802, 802, 802, 802, 802, 802, 803, - 803, 803, 803, 803, 803, 803, 804, 805, 805, 806, - 807, 807, 807, 807, 807, 807, 807, 808, 809, 810, - 811, 812, 813, 814, 815, 817, 818, 819, 820, 821, - 823, 824, 825, 826, 827, 827, 828, 829, 829, 829, - 829, 829, 829, 831, 833, 834, 835, 836, 837, 838, - 839, 840, 840, 841, 843, 843, 844, 845, 846, 846, - 846, 846, 847, 848, 849, 851, 852, 853, 854, 855, - 856, 857, 858, 858, 859, 860, 861, 861, 862, 862, - 863, 864, 865, 866, 867, 868, 870, 871, 872, 874, - - 875, 876, 877, 877, 878, 878, 879, 880, 881, 882, - 883, 884, 885, 886, 887, 888, 888, 889, 891, 893, - 895, 896, 896, 896, 896, 896, 897, 898, 899, 900, - 900, 901, 902, 903, 904, 905, 906, 907, 908, 908, - 908, 908, 908, 908, 908, 909, 910, 911, 912, 913, - 914, 915, 916, 918, 919, 920, 921, 922, 924, 925, - 926, 927, 928, 929, 930, 932, 934, 935, 936, 937, - 938, 939, 940, 941, 943, 944, 945, 946, 948, 949, - 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 964, 965, 966, 968, 969, 970, 971, - - 972, 973, 974, 975, 976, 977, 978, 979, 980, 982, - 984, 986, 986, 986, 986, 987, 987, 987, 987, 987, - 987, 988, 988, 989, 990, 991, 993, 994, 995, 996, - 997, 998, 999, 1001, 1002, 1003, 1003, 1003, 1004, 1005, - 1007, 1007, 1008, 1010, 1010, 1011, 1012, 1014, 1014, 1014, - 1014, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1021, - 1021, 1021, 1021, 1022, 1023, 1024, 1025, 1026, 1028, 1029, - 1030, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - 1040, 1040, 1042, 1043, 1044, 1045, 1045, 1045, 1045, 1046, - 1047, 1048, 1049, 1050, 1050, 1051, 1052, 1053, 1053, 1054, - - 1054, 1054, 1054, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1062, 1063, 1064, 1064, 1065, 1066, 1067, 1069, 1070, 1071, - 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1081, 1083, - 1085, 1087, 1088, 1089, 1091, 1092, 1094, 1094, 1095, 1095, - 1095, 1095, 1096, 1097, 1099, 1099, 1100, 1101, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1103, 1104, 1105, 1106, 1107, - 1109, 1110, 1111, 1113, 1114, 1115, 1116, 1117, 1118, 1119, - 1120, 1121, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1137, 1138, 1139, 1140, 1141, - 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, - - 1154, 1155, 1157, 1159, 1161, 1162, 1163, 1165, 1166, 1168, - 1168, 1168, 1168, 1168, 1169, 1169, 1170, 1171, 1173, 1174, - 1175, 1176, 1177, 1178, 1180, 1181, 1182, 1182, 1183, 1185, - 1186, 1188, 1189, 1190, 1192, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1200, - 1202, 1203, 1204, 1205, 1206, 1208, 1209, 1210, 1211, 1212, - 1214, 1215, 1215, 1216, 1217, 1218, 1218, 1219, 1219, 1219, - 1219, 1220, 1222, 1223, 1224, 1224, 1225, 1226, 1227, 1228, - 1228, 1228, 1229, 1231, 1233, 1235, 1236, 1237, 1237, 1238, - 1240, 1240, 1241, 1242, 1244, 1244, 1245, 1246, 1247, 1249, - - 1250, 1252, 1254, 1255, 1255, 1256, 1256, 1257, 1257, 1258, - 1259, 1259, 1259, 1259, 1260, 1262, 1262, 1263, 1264, 1265, - 1265, 1265, 1265, 1266, 1266, 1266, 1268, 1269, 1270, 1271, - 1272, 1274, 1275, 1276, 1277, 1278, 1280, 1281, 1282, 1283, - 1284, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1294, 1296, - 1298, 1299, 1300, 1302, 1303, 1304, 1306, 1307, 1308, 1310, - 1311, 1313, 1315, 1316, 1317, 1318, 1318, 1319, 1319, 1320, - 1320, 1322, 1323, 1325, 1326, 1327, 1328, 1329, 1330, 1330, - 1330, 1330, 1330, 1330, 1331, 1333, 1334, 1335, 1336, 1337, - 1338, 1340, 1341, 1342, 1342, 1342, 1343, 1344, 1344, 1345, - - 1345, 1346, 1346, 1347, 1349, 1350, 1352, 1354, 1354, 1356, - 1357, 1358, 1358, 1359, 1361, 1363, 1364, 1365, 1366, 1366, - 1367, 1368, 1368, 1368, 1369, 1369, 1371, 1372, 1372, 1372, - 1372, 1372, 1372, 1373, 1375, 1376, 1377, 1378, 1379, 1380, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1390, 1391, 1393, - 1395, 1397, 1398, 1399, 1400, 1402, 1404, 1405, 1406, 1407, - 1408, 1409, 1409, 1409, 1409, 1410, 1411, 1413, 1414, 1416, - 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1418, 1419, - 1420, 1422, 1424, 1425, 1426, 1427, 1429, 1429, 1429, 1430, - 1431, 1431, 1433, 1433, 1434, 1436, 1437, 1439, 1439, 1440, - - 1440, 1441, 1443, 1443, 1444, 1446, 1446, 1447, 1448, 1449, - 1449, 1450, 1450, 1452, 1452, 1452, 1452, 1453, 1454, 1455, - 1457, 1459, 1460, 1461, 1462, 1464, 1465, 1466, 1468, 1470, - 1471, 1473, 1474, 1476, 1478, 1479, 1480, 1480, 1480, 1480, - 1482, 1483, 1484, 1486, 1486, 1486, 1487, 1487, 1487, 1487, - 1488, 1489, 1490, 1492, 1494, 1496, 1496, 1496, 1497, 1498, - 1499, 1499, 1500, 1501, 1502, 1502, 1503, 1503, 1505, 1507, - 1508, 1509, 1509, 1509, 1509, 1510, 1511, 1513, 1515, 1517, - 1518, 1519, 1520, 1521, 1523, 1525, 1525, 1525, 1525, 1526, - 1526, 1528, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1532, - - 1532, 1532, 1532, 1532, 1533, 1534, 1536, 1536, 1537, 1538, - 1539, 1539, 1539, 1539, 1541, 1542, 1543, 1545, 1546, 1546, - 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, - 1547, 1547, 1547, 1547, 1547, 1548, 1549, 1549, 1550, 1551, - 1551, 1551, 1551, 1552, 1553, 1554, 1554, 1554, 1554, 1554, - 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555, 1555, - 1555, 1555, 1555, 1556, 1556, 1556, 1558, 1559, 1559, 1560, - 1561, 1561, 1561, 1561, 1563, 1565, 1566, 1567, 1567, 1567, - 1567, 1567, 1567, 1567, 1568, 1568, 1568, 1568, 1569, 1569, - 1569, 1569, 1569, 1570, 1570, 1571, 1571, 1572, 1573, 1573, - - 1573, 1574, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, - 1575, 1575, 1575, 1575, 1577, 1577, 1579, 1580, 1580, 1580, - 1582, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1585, 1585, - 1586, 1587, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, - 1588, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, - 1590, 1590, 1590, 1590, 1590, 1591, 1591, 1591, 1591, 1592, - 1592, 1592, 1592, 1593, 1594, 1595, 1595, 1596, 1596, 1596, - 1596, 1598, 1598, 1598, 1600, 1600, 1601, 1601, 1601, 1601, - 1601, 1601, 1601, 1602, 1602, 1602, 1602, 1602, 1604, 1604, - 1604, 1605, 1605, 1605, 1606, 1606, 1606, 1606 - + 536, 537, 538, 539, 540, 541, 543, 544, 545, 546, + 546, 546, 546, 546, 547, 547, 548, 548, 548, 548, + + 548, 548, 548, 549, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 562, 562, + 562, 562, 563, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 565, 565, 565, 566, 566, 567, 568, 569, + 570, 570, 571, 571, 571, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 573, 574, 575, + 576, 577, 578, 579, 581, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 594, 595, 596, 598, + 598, 599, 600, 601, 602, 603, 604, 604, 605, 606, + + 606, 607, 608, 609, 611, 612, 613, 614, 614, 615, + 616, 617, 617, 619, 619, 619, 619, 619, 620, 621, + 622, 623, 624, 625, 626, 627, 628, 629, 630, 630, + 631, 632, 633, 634, 635, 635, 636, 638, 639, 641, + 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, + 654, 656, 658, 658, 659, 660, 661, 662, 663, 664, + 666, 667, 668, 670, 672, 673, 674, 676, 677, 678, + 679, 680, 681, 681, 681, 681, 681, 681, 681, 682, + 683, 684, 684, 686, 687, 688, 689, 690, 692, 692, + 692, 692, 692, 692, 692, 692, 692, 692, 693, 694, + + 695, 696, 697, 698, 699, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 713, 714, 715, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 727, 728, + 729, 730, 731, 732, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 751, 752, 754, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 767, 769, 771, 772, 773, 774, 775, + 776, 778, 779, 780, 782, 784, 785, 786, 788, 789, + 790, 791, 792, 792, 792, 792, 793, 793, 793, 793, + 793, 793, 794, 794, 796, 798, 799, 800, 801, 802, + + 803, 804, 805, 806, 807, 808, 809, 810, 812, 812, + 812, 812, 813, 814, 814, 814, 814, 814, 814, 815, + 815, 815, 815, 815, 815, 815, 816, 817, 817, 818, + 819, 819, 819, 819, 819, 819, 819, 820, 821, 822, + 823, 824, 825, 826, 827, 829, 830, 831, 832, 833, + 835, 836, 837, 838, 839, 840, 840, 841, 842, 842, + 842, 842, 842, 842, 844, 846, 847, 848, 849, 850, + 851, 852, 853, 853, 854, 856, 856, 857, 858, 859, + 859, 859, 859, 860, 861, 862, 863, 865, 866, 867, + 868, 869, 870, 871, 872, 872, 873, 874, 875, 875, + + 876, 876, 877, 878, 879, 880, 881, 882, 884, 885, + 886, 888, 889, 890, 891, 891, 892, 892, 893, 894, + 895, 896, 897, 898, 899, 900, 901, 902, 902, 903, + 905, 907, 909, 910, 910, 910, 910, 910, 911, 912, + 913, 914, 914, 915, 916, 917, 918, 919, 920, 921, + 922, 922, 922, 922, 922, 922, 922, 923, 924, 925, + 926, 927, 928, 929, 930, 932, 933, 934, 935, 936, + 938, 939, 940, 941, 942, 943, 944, 945, 947, 949, + 950, 951, 952, 953, 954, 955, 956, 958, 959, 960, + 961, 962, 964, 965, 966, 967, 968, 969, 970, 971, + + 972, 973, 974, 975, 976, 977, 978, 980, 981, 982, + 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 998, 1000, 1002, 1002, 1002, 1002, 1003, + 1003, 1003, 1003, 1003, 1003, 1004, 1004, 1005, 1006, 1007, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1017, 1018, 1019, + 1019, 1019, 1020, 1021, 1023, 1023, 1024, 1026, 1026, 1027, + 1028, 1030, 1030, 1030, 1030, 1030, 1031, 1032, 1033, 1034, + 1035, 1036, 1037, 1037, 1037, 1037, 1037, 1038, 1039, 1040, + 1041, 1042, 1044, 1045, 1046, 1048, 1049, 1050, 1051, 1052, + 1053, 1054, 1055, 1056, 1057, 1057, 1057, 1059, 1060, 1061, + + 1062, 1062, 1062, 1062, 1063, 1064, 1065, 1066, 1067, 1067, + 1068, 1069, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1072, + 1073, 1074, 1076, 1077, 1078, 1079, 1081, 1082, 1083, 1083, + 1084, 1085, 1086, 1088, 1089, 1090, 1091, 1092, 1093, 1094, + 1095, 1096, 1097, 1099, 1100, 1102, 1104, 1106, 1107, 1108, + 1110, 1111, 1113, 1113, 1114, 1114, 1114, 1114, 1115, 1116, + 1118, 1118, 1119, 1120, 1121, 1121, 1121, 1121, 1121, 1121, + 1121, 1122, 1123, 1124, 1125, 1126, 1128, 1129, 1130, 1132, + 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1143, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154, + + 1155, 1156, 1157, 1159, 1160, 1161, 1162, 1163, 1165, 1166, + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1177, + 1179, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1190, 1190, + 1190, 1190, 1191, 1191, 1192, 1193, 1195, 1196, 1197, 1198, + 1199, 1200, 1202, 1203, 1204, 1204, 1205, 1207, 1208, 1210, + 1211, 1212, 1214, 1214, 1215, 1216, 1217, 1218, 1219, 1220, + 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1222, 1224, 1225, + 1226, 1227, 1228, 1230, 1231, 1232, 1233, 1234, 1236, 1237, + 1237, 1238, 1239, 1240, 1241, 1241, 1242, 1242, 1242, 1242, + 1243, 1245, 1246, 1247, 1247, 1248, 1249, 1250, 1251, 1251, + + 1251, 1252, 1254, 1256, 1258, 1259, 1260, 1260, 1261, 1263, + 1263, 1264, 1265, 1267, 1267, 1268, 1269, 1270, 1272, 1273, + 1275, 1277, 1278, 1278, 1279, 1279, 1280, 1280, 1281, 1282, + 1282, 1282, 1282, 1283, 1285, 1285, 1286, 1287, 1288, 1288, + 1288, 1288, 1289, 1289, 1289, 1291, 1292, 1293, 1294, 1295, + 1297, 1298, 1299, 1300, 1301, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1311, 1312, 1313, 1314, 1315, 1316, 1318, 1320, + 1322, 1323, 1324, 1326, 1327, 1328, 1330, 1331, 1332, 1334, + 1335, 1337, 1339, 1340, 1341, 1342, 1342, 1343, 1343, 1344, + 1344, 1346, 1347, 1349, 1350, 1351, 1352, 1353, 1354, 1354, + + 1354, 1354, 1354, 1354, 1355, 1357, 1358, 1359, 1360, 1361, + 1362, 1364, 1365, 1366, 1366, 1366, 1367, 1368, 1369, 1369, + 1370, 1370, 1371, 1371, 1372, 1374, 1375, 1377, 1379, 1379, + 1381, 1382, 1383, 1383, 1384, 1386, 1388, 1389, 1390, 1391, + 1391, 1392, 1393, 1393, 1393, 1394, 1394, 1396, 1397, 1397, + 1397, 1397, 1397, 1397, 1398, 1400, 1401, 1402, 1403, 1404, + 1405, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416, + 1417, 1419, 1421, 1423, 1424, 1425, 1426, 1428, 1430, 1431, + 1432, 1433, 1434, 1435, 1435, 1435, 1435, 1436, 1437, 1439, + 1440, 1442, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, + + 1444, 1445, 1446, 1448, 1450, 1451, 1452, 1453, 1455, 1455, + 1455, 1456, 1457, 1459, 1459, 1461, 1461, 1462, 1464, 1465, + 1467, 1467, 1468, 1468, 1469, 1471, 1471, 1472, 1474, 1474, + 1475, 1476, 1477, 1477, 1478, 1478, 1480, 1480, 1480, 1480, + 1481, 1482, 1483, 1485, 1487, 1488, 1489, 1490, 1492, 1493, + 1494, 1496, 1498, 1500, 1501, 1503, 1504, 1506, 1508, 1509, + 1510, 1510, 1510, 1510, 1512, 1513, 1514, 1516, 1516, 1516, + 1517, 1517, 1517, 1517, 1518, 1519, 1520, 1522, 1524, 1526, + 1526, 1526, 1527, 1528, 1529, 1529, 1530, 1531, 1532, 1532, + 1533, 1533, 1535, 1537, 1538, 1539, 1539, 1539, 1539, 1540, + + 1541, 1543, 1545, 1547, 1548, 1549, 1550, 1551, 1553, 1555, + 1555, 1555, 1555, 1556, 1556, 1558, 1560, 1560, 1560, 1560, + 1560, 1560, 1560, 1562, 1562, 1562, 1562, 1562, 1563, 1564, + 1566, 1566, 1567, 1568, 1569, 1569, 1569, 1569, 1571, 1572, + 1573, 1575, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, + 1576, 1576, 1576, 1576, 1577, 1577, 1577, 1577, 1577, 1578, + 1579, 1579, 1580, 1581, 1581, 1581, 1581, 1582, 1583, 1584, + 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, + 1584, 1585, 1585, 1585, 1585, 1585, 1585, 1586, 1586, 1586, + 1588, 1589, 1589, 1590, 1591, 1591, 1591, 1591, 1593, 1595, + + 1596, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, + 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1600, 1600, 1601, + 1601, 1602, 1603, 1603, 1603, 1604, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1607, 1607, + 1609, 1610, 1610, 1610, 1612, 1614, 1614, 1614, 1614, 1614, + 1614, 1614, 1615, 1615, 1616, 1617, 1618, 1618, 1618, 1618, + 1618, 1618, 1618, 1618, 1618, 1619, 1619, 1619, 1619, 1619, + 1619, 1619, 1619, 1619, 1620, 1620, 1620, 1620, 1620, 1621, + 1621, 1621, 1621, 1622, 1622, 1622, 1622, 1623, 1624, 1625, + 1625, 1626, 1626, 1626, 1626, 1628, 1628, 1628, 1630, 1630, + + 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1632, 1632, 1632, + 1632, 1632, 1634, 1634, 1634, 1635, 1635, 1635, 1636, 1636, + 1636, 1636 } ; static const YY_CHAR yy_ec[256] = @@ -8054,599 +8535,603 @@ static const YY_CHAR yy_meta[81] = 16, 16, 16, 16, 17, 17, 17, 17, 17, 5 } ; -static const flex_int16_t yy_base[2066] = +static const flex_int16_t yy_base[2090] = { 0, - 0, 79, 0, 0, 0, 151, 2917, 82, 2913, 86, - 89, 92, 224, 303, 0, 375, 2898, 70, 102, 9640, + 0, 79, 0, 0, 0, 151, 3420, 82, 3412, 86, + 89, 92, 224, 303, 0, 375, 3409, 70, 102, 9684, 78, 113, 86, 90, 308, 311, 355, 129, 147, 137, 447, 386, 440, 145, 146, 285, 302, 361, 444, 356, 499, 497, 547, 594, 382, 352, 535, 495, 503, 582, 618, 630, 639, 657, 688, 667, 692, 708, 445, 780, - 123, 538, 583, 760, 756, 811, 813, 9640, 2882, 9640, - 94, 2872, 9640, 491, 102, 110, 9640, 2860, 862, 852, + 123, 538, 583, 760, 756, 811, 813, 9684, 3405, 9684, + 94, 3401, 9684, 491, 102, 110, 9684, 3319, 862, 852, 772, 923, 871, 972, 921, 154, 729, 854, 384, 870, 873, 992, 1022, 926, 989, 1039, 1073, 126, 1072, 968, 1122, 316, 1056, 347, 1179, 94, 1107, 90, 1234, 433, - 437, 161, 128, 130, 0, 289, 281, 2862, 2857, 448, - 322, 459, 2855, 542, 1149, 594, 2825, 626, 735, 631, - 740, 9640, 1260, 1277, 1302, 9640, 1303, 1051, 302, 321, - 676, 917, 736, 355, 362, 1152, 1321, 1334, 9640, 9640, - 9640, 1271, 1330, 323, 9640, 9640, 9640, 9640, 9640, 0, + 437, 161, 128, 130, 0, 289, 281, 3319, 3294, 448, + 322, 459, 3278, 542, 1149, 594, 3244, 626, 735, 631, + 740, 9684, 1260, 1277, 1302, 9684, 1303, 1051, 302, 321, + 676, 917, 736, 355, 362, 1152, 1321, 1334, 9684, 9684, + 9684, 1271, 1330, 323, 9684, 9684, 9684, 9684, 9684, 0, 638, 299, 446, 447, 480, 366, 545, 590, 553, 821, - 613, 922, 581, 971, 636, 614, 653, 680, 726, 1085, - 734, 761, 781, 791, 831, 1001, 1261, 854, 1326, 1320, - 876, 879, 731, 1025, 899, 905, 969, 1013, 1027, 1331, - - 1027, 1068, 1321, 1306, 791, 1353, 1093, 1112, 1224, 1369, - 825, 1239, 876, 894, 915, 1357, 964, 0, 1372, 1431, - 2800, 1387, 978, 1246, 1276, 1368, 1445, 2797, 1449, 1402, - 1404, 1372, 1112, 1419, 1422, 1393, 1401, 1430, 1421, 2784, - 9640, 1418, 2727, 9640, 1474, 1428, 1305, 199, 2712, 2707, - 1118, 1478, 1159, 2710, 2707, 1506, 1476, 1500, 1468, 1519, - 1525, 1534, 1473, 1543, 1557, 1561, 1565, 1566, 1609, 1605, - 1613, 1600, 1618, 1608, 1639, 1649, 1669, 1662, 1672, 1676, - 1680, 1702, 1732, 1736, 1711, 1743, 1729, 1751, 1775, 1778, - 1799, 1793, 1789, 1813, 1832, 1837, 1833, 1742, 1855, 1851, - - 1859, 1890, 1893, 1897, 1923, 1928, 1936, 1930, 1949, 1954, - 1955, 1980, 1987, 1995, 1622, 2031, 2052, 2702, 1495, 144, - 1570, 2648, 9640, 2644, 1526, 1516, 2012, 2045, 2060, 2079, - 1593, 2136, 2216, 2048, 2060, 1803, 2057, 2091, 2136, 2137, - 2138, 2139, 2214, 1691, 2067, 2183, 2243, 1634, 1428, 1428, - 1485, 1491, 2629, 1521, 1609, 2618, 1258, 2106, 2166, 1610, - 2598, 2594, 2241, 2246, 1851, 1761, 2246, 2273, 2538, 2303, - 2306, 1610, 1347, 1916, 1503, 2307, 2532, 2523, 2443, 2434, - 2313, 1643, 2433, 1672, 1993, 2330, 2170, 2445, 2444, 2343, - 2362, 2403, 9640, 2355, 2371, 2323, 1774, 1850, 1707, 1714, - - 1857, 1751, 1809, 1844, 1868, 1871, 2229, 2343, 2001, 2005, - 1904, 1919, 2357, 2359, 1934, 1989, 2431, 1084, 2043, 2312, - 2297, 2141, 2156, 2007, 2280, 2025, 2208, 2347, 2218, 2201, - 2325, 2253, 2336, 2343, 2347, 2356, 2300, 2350, 2350, 2345, - 2394, 2371, 2362, 2380, 2380, 2422, 2381, 2391, 2379, 2392, - 2378, 0, 2411, 2398, 2404, 2410, 2411, 2413, 2412, 2425, - 2478, 2407, 2417, 2430, 2437, 2438, 2429, 2439, 2444, 2445, - 2437, 2453, 2450, 0, 2456, 2464, 2460, 2328, 2456, 2326, - 2464, 2470, 2465, 2471, 2469, 2476, 2515, 2484, 2516, 2490, - 2495, 2512, 2500, 2503, 2501, 2502, 2532, 2563, 2301, 2566, - - 2573, 2291, 2277, 2577, 2584, 2590, 2276, 2273, 2543, 2550, - 2571, 2560, 2577, 2545, 2580, 2593, 2596, 2598, 2607, 2604, - 2600, 2601, 2617, 2603, 2611, 2619, 2620, 2683, 2650, 2626, - 2678, 2624, 2660, 2661, 2654, 2690, 2668, 2631, 2615, 2692, - 2696, 2675, 2697, 2705, 2706, 2698, 2700, 2708, 2736, 2719, - 2701, 2721, 2722, 2765, 2748, 2751, 2712, 2755, 2729, 2251, - 2769, 2771, 2774, 2777, 2780, 2788, 2781, 2794, 2802, 2782, - 2783, 2798, 2795, 2805, 2799, 2793, 2796, 2807, 2830, 2806, - 2827, 2243, 2831, 2814, 2841, 2878, 2885, 2196, 2890, 2946, - 2488, 330, 1951, 2895, 2866, 2850, 2903, 2907, 2940, 2874, - - 3019, 3099, 2871, 2882, 2893, 2902, 3017, 2926, 2880, 2961, - 2857, 2943, 2954, 2753, 2919, 2922, 2924, 2945, 2929, 2995, - 3067, 1819, 2187, 2181, 3047, 3124, 3044, 3049, 3126, 3078, - 2977, 2110, 3143, 3146, 3050, 3061, 2171, 2101, 2093, 3138, - 9640, 2082, 9640, 9640, 9640, 9640, 3151, 9640, 3002, 2081, - 9640, 2049, 2917, 3081, 2058, 2038, 3188, 3199, 3218, 2028, - 2027, 3228, 3016, 3097, 3105, 2948, 3064, 3101, 3113, 0, - 3112, 3140, 3128, 3141, 3136, 3154, 3165, 3147, 3140, 3169, - 1985, 1947, 3174, 3238, 3313, 9640, 3176, 3188, 3195, 3179, - 3193, 3170, 9640, 3187, 3239, 9640, 3201, 3201, 0, 3206, - - 3256, 3202, 3257, 9640, 3263, 3205, 3211, 0, 3263, 1939, - 1932, 3280, 3235, 3222, 3226, 3255, 3268, 3256, 3246, 3259, - 3268, 3301, 3304, 9640, 3274, 3251, 3308, 3322, 3332, 9640, - 0, 3275, 0, 3281, 3281, 3284, 3303, 3282, 3294, 3296, - 3317, 3302, 3314, 3169, 0, 3350, 9640, 3364, 3308, 3316, - 3320, 3325, 0, 3337, 3342, 3329, 0, 3338, 3350, 0, - 3380, 3353, 3360, 3363, 9640, 3365, 3352, 3372, 3373, 3371, - 3372, 3393, 3402, 3404, 3367, 219, 3382, 577, 3385, 3389, - 3431, 3410, 3455, 3412, 3437, 3463, 3467, 3471, 1937, 1931, - 3411, 3414, 3441, 3420, 3417, 3458, 3459, 1904, 3467, 3477, - - 3481, 3463, 3483, 3489, 3484, 3488, 3487, 3491, 326, 3495, - 3493, 3498, 3503, 3496, 3501, 3502, 3499, 3506, 3509, 1900, - 3505, 3568, 3534, 3581, 3517, 1873, 3539, 3513, 3536, 3541, - 3562, 3565, 3574, 3583, 3577, 3614, 3586, 3585, 3622, 3631, - 1816, 3597, 1809, 3590, 3605, 3592, 3607, 3594, 3603, 3608, - 3616, 3604, 3648, 3660, 1804, 3675, 3609, 3624, 3651, 3618, - 1789, 3656, 3662, 3666, 1755, 3653, 3667, 1752, 3684, 3671, - 3680, 3688, 3700, 3712, 3476, 3746, 3705, 3725, 3732, 3689, - 3725, 3740, 3729, 3819, 3899, 3739, 3733, 3860, 3777, 3810, - 3793, 3923, 3924, 3928, 3846, 3750, 3928, 3849, 3657, 3481, - - 0, 3708, 0, 3756, 532, 3926, 2614, 3853, 9640, 3946, - 3978, 1730, 3785, 3972, 4032, 9640, 9640, 1713, 9640, 9640, - 3854, 3872, 3876, 3936, 1725, 4001, 3721, 3729, 3743, 3828, - 3751, 4112, 3819, 3835, 0, 3829, 3839, 3890, 4027, 0, - 3894, 3898, 3898, 3913, 4026, 3913, 3932, 3907, 3937, 3951, - 3934, 3960, 0, 0, 3970, 4021, 4033, 4038, 4035, 3696, - 4030, 4071, 9640, 0, 4074, 9640, 4036, 9640, 4136, 4137, - 4154, 4160, 4043, 4043, 0, 4034, 4049, 4036, 4043, 4071, - 4144, 4038, 4172, 9640, 4089, 4129, 4177, 9640, 4178, 9640, - 4128, 4139, 4154, 4146, 4156, 0, 4159, 4156, 0, 4148, - - 4168, 4167, 3885, 9640, 4196, 9640, 4153, 4158, 4165, 4177, - 4160, 4177, 4165, 4164, 4166, 4224, 9640, 0, 0, 4012, - 1172, 4188, 1284, 4196, 4184, 4240, 4226, 4227, 1721, 4207, - 2022, 4211, 2071, 4210, 4218, 4260, 9640, 4261, 4250, 4243, - 3880, 3889, 4102, 4264, 4247, 4251, 4255, 4268, 4264, 4331, - 4256, 4270, 1706, 4290, 4292, 4317, 4355, 1702, 4321, 4325, - 4323, 4356, 4360, 4363, 1698, 1695, 4327, 4362, 4367, 4372, - 4368, 4297, 4365, 1665, 4371, 4373, 4370, 1658, 4366, 4376, - 4369, 4374, 4375, 4378, 4405, 4407, 4409, 4390, 4414, 4415, - 4382, 4416, 1653, 4435, 4420, 1646, 4437, 4440, 4444, 4445, - - 4448, 4449, 4455, 4452, 4456, 4454, 4453, 4457, 1639, 1606, - 4015, 4302, 4306, 4249, 4529, 2129, 4459, 4475, 4461, 1592, - 4535, 4466, 4501, 4605, 4685, 4255, 4457, 4479, 4513, 4512, - 4515, 4765, 4494, 4508, 4565, 4497, 0, 9640, 0, 0, - 582, 1572, 1548, 3998, 4539, 4556, 1540, 4629, 4630, 4634, - 4845, 4579, 4637, 4651, 4657, 4658, 1497, 9640, 4595, 4599, - 4712, 4716, 4642, 4721, 4925, 4435, 4599, 0, 4536, 4595, - 0, 4602, 4613, 4678, 4681, 4700, 4685, 4698, 4917, 4702, - 4701, 0, 4726, 9640, 9640, 4699, 4750, 4762, 4763, 4764, - 4753, 4760, 4796, 4802, 9640, 4773, 4761, 4871, 4736, 4872, - - 4820, 4669, 1499, 4889, 4951, 4768, 4773, 4775, 4765, 0, - 4766, 4766, 4879, 9640, 4955, 4775, 4839, 4770, 4827, 4958, - 4852, 4837, 4847, 4854, 4894, 4890, 0, 4921, 0, 0, - 0, 4963, 4968, 4969, 4916, 0, 4143, 9640, 4946, 4939, - 4950, 4980, 1502, 1483, 4954, 4948, 2200, 4962, 4987, 4991, - 2295, 2810, 4739, 4907, 4995, 4998, 5050, 5003, 5004, 1482, - 5023, 5032, 1476, 5030, 5038, 5034, 5036, 5083, 5040, 5080, - 5087, 1468, 5089, 5090, 5091, 5041, 5092, 5021, 5096, 5084, - 5097, 5095, 5103, 5093, 1465, 5094, 5043, 5143, 5098, 5166, - 5114, 5115, 5170, 5129, 5131, 5134, 5138, 5123, 5158, 1461, - - 5156, 1420, 1411, 1379, 5185, 5177, 5196, 5172, 1364, 4912, - 5025, 4977, 1344, 1325, 5180, 5245, 5325, 5405, 4959, 5152, - 5158, 5156, 5157, 0, 4576, 5182, 5165, 9640, 0, 1321, - 1315, 4736, 5211, 1298, 4746, 4811, 5224, 5269, 5270, 5291, - 1270, 3085, 3091, 5273, 5298, 5280, 9640, 5292, 9640, 0, - 5325, 5112, 5187, 5206, 0, 5251, 5251, 5322, 5327, 0, - 5317, 5397, 5318, 5316, 9640, 5324, 5317, 5331, 5332, 5321, - 5337, 0, 5336, 5337, 5369, 9640, 5332, 5333, 5429, 5419, - 5447, 5329, 0, 0, 0, 5341, 5406, 5443, 9640, 0, - 5433, 5398, 5403, 0, 5459, 9640, 5415, 5425, 0, 5426, - - 0, 0, 5423, 5473, 5452, 5484, 9640, 5487, 9640, 5447, - 5433, 4019, 5461, 671, 1282, 1218, 5446, 4805, 5464, 777, - 5453, 5310, 9640, 5214, 5225, 1263, 5502, 5476, 5491, 5492, - 1175, 5501, 5494, 5509, 5500, 1170, 5510, 5512, 5511, 5520, - 5514, 1166, 5517, 5526, 5522, 5530, 5534, 1162, 1154, 1128, - 5533, 5537, 1094, 5538, 5541, 1074, 5535, 5543, 1053, 5550, - 1031, 1021, 5546, 5540, 5571, 5608, 1017, 5519, 990, 807, - 0, 5535, 0, 5545, 5544, 5550, 5547, 5580, 5618, 5316, - 5621, 5639, 5643, 5571, 0, 5562, 5573, 5583, 5589, 5587, - 0, 5590, 5597, 5598, 5596, 5612, 5621, 5612, 5622, 5629, - - 9640, 5629, 5620, 0, 5629, 0, 0, 5685, 0, 5642, - 5667, 5630, 5635, 0, 0, 5633, 5670, 5647, 5653, 5638, - 5645, 5641, 5662, 5689, 5666, 0, 5667, 5702, 5704, 5712, - 5718, 0, 5712, 947, 5718, 5708, 5726, 5724, 5725, 937, - 5727, 5731, 5722, 5728, 5743, 5730, 905, 5737, 879, 845, - 833, 5738, 5750, 5739, 827, 819, 5734, 5790, 5752, 5740, - 5741, 5746, 5811, 5780, 5719, 5739, 0, 5743, 0, 5798, - 5814, 859, 5817, 5823, 5827, 5831, 5849, 5845, 5759, 5794, - 0, 0, 5798, 5800, 5751, 0, 5807, 5806, 5815, 5812, - 5828, 5858, 5816, 9640, 0, 5835, 0, 5872, 9640, 5826, - - 5847, 0, 5875, 9640, 0, 5834, 5850, 5851, 9640, 5852, - 5880, 5845, 0, 5883, 5888, 5893, 0, 5887, 5885, 810, - 785, 5890, 5897, 5898, 774, 5899, 5904, 5913, 770, 5905, - 769, 5909, 764, 755, 5915, 5916, 5919, 3005, 5902, 0, - 5881, 5883, 747, 997, 5974, 1409, 5978, 5987, 5990, 717, - 5906, 5947, 0, 0, 0, 5898, 5916, 5934, 5922, 5999, - 6000, 9640, 9640, 5956, 5968, 5968, 5975, 0, 0, 9640, - 1348, 661, 6004, 6007, 6010, 6014, 706, 698, 686, 6005, - 6011, 6016, 6017, 650, 627, 6018, 6049, 6055, 6019, 1521, - 0, 0, 6076, 6080, 6084, 6097, 6107, 623, 0, 6037, - - 6116, 6001, 6009, 6014, 6023, 0, 6066, 6069, 9640, 6052, - 6065, 1545, 6085, 603, 6100, 6102, 597, 6105, 6134, 6147, - 6143, 596, 591, 6152, 6166, 6174, 6119, 6175, 6187, 6192, - 6194, 6197, 6083, 6109, 6154, 6080, 6108, 6160, 6179, 6167, - 6164, 544, 6180, 6205, 6169, 6222, 6228, 519, 477, 6246, - 6250, 6267, 6263, 6271, 6272, 6284, 6280, 6255, 6296, 6300, - 6305, 5230, 9640, 6164, 6182, 0, 6197, 6245, 6249, 6276, - 6251, 6308, 463, 9640, 462, 6311, 6309, 6323, 6327, 6331, - 6351, 6327, 6355, 6359, 6360, 6379, 6384, 6364, 6396, 6400, - 6382, 6372, 9640, 6277, 6283, 6295, 6187, 1707, 391, 1795, - - 6387, 6388, 6417, 6425, 6429, 6446, 6458, 6462, 6467, 6479, - 6475, 1834, 6304, 0, 6208, 0, 6413, 6351, 6434, 441, - 437, 6046, 6519, 6492, 6504, 6490, 6543, 6524, 6466, 9640, - 9640, 6495, 6369, 6375, 6508, 6547, 6599, 6565, 6551, 6512, - 6555, 6393, 6562, 6572, 6577, 6581, 6583, 6623, 6559, 6595, - 6461, 2353, 6627, 6616, 6589, 6380, 6594, 6603, 6641, 6652, - 6635, 6656, 6661, 6670, 416, 6678, 6682, 405, 6638, 6686, - 6690, 370, 6696, 6700, 352, 316, 6705, 6709, 212, 6713, - 6693, 208, 6718, 201, 6721, 6723, 6727, 6731, 178, 6735, - 6739, 119, 115, 6747, 83, 6751, 9640, 6794, 6812, 6830, - - 6848, 6866, 6884, 6901, 6905, 6923, 6941, 6959, 6977, 6993, - 7011, 7029, 7047, 7065, 7083, 7101, 7118, 7135, 7140, 84, - 7158, 7176, 7194, 7212, 7230, 7248, 7266, 7284, 7302, 7320, - 7338, 7356, 7374, 7392, 7410, 7428, 7445, 7461, 7466, 7483, - 7501, 7519, 7537, 7542, 7560, 7573, 7588, 7606, 7624, 7642, - 7660, 7678, 7696, 7714, 7732, 7748, 7766, 7784, 7802, 7820, - 7838, 7856, 7874, 7892, 7909, 7925, 7942, 7960, 7978, 7996, - 8014, 8019, 8037, 8055, 8073, 8091, 8109, 8127, 8145, 8163, - 8181, 8199, 8217, 8235, 8253, 8271, 8289, 8307, 8325, 8342, - 8347, 8363, 8380, 8398, 8416, 8434, 8452, 8470, 8488, 8506, - - 8524, 8542, 8560, 8578, 8596, 8614, 8632, 8650, 8668, 8686, - 8704, 8722, 8740, 8758, 8776, 8794, 8811, 8829, 8846, 8862, - 8867, 8884, 8902, 8920, 8938, 8956, 8974, 8992, 9010, 9028, - 9045, 9062, 9080, 9098, 9116, 9134, 9152, 9170, 9188, 9205, - 9222, 9238, 9243, 9259, 9275, 9292, 9297, 9315, 9333, 9351, - 9369, 9387, 9405, 9423, 9441, 9459, 9477, 9495, 9513, 9531, - 9549, 9567, 9585, 9603, 9621 + 613, 922, 581, 971, 898, 614, 637, 650, 683, 1085, + 732, 725, 762, 783, 795, 1001, 1261, 829, 1326, 1320, + 856, 876, 731, 1025, 880, 900, 969, 1013, 1027, 1331, + + 1027, 1068, 1321, 1306, 1352, 1377, 1093, 1112, 1224, 1371, + 791, 1239, 822, 872, 915, 1347, 964, 0, 1356, 1415, + 3241, 1372, 978, 1246, 1276, 1359, 1441, 3178, 1452, 1410, + 1412, 1364, 1112, 1387, 1409, 1302, 1323, 1432, 1392, 3138, + 9684, 1425, 3134, 9684, 1460, 1455, 1463, 199, 3118, 3115, + 1118, 1479, 1159, 3082, 3074, 1483, 1475, 1499, 1500, 1523, + 1451, 1504, 1489, 1526, 1524, 1550, 1548, 1525, 1575, 1572, + 1580, 1583, 1605, 1615, 1619, 1616, 1640, 1653, 1638, 1594, + 1651, 1676, 1678, 1726, 1691, 1689, 1728, 1722, 1730, 1760, + 1778, 1725, 1774, 1781, 1785, 1800, 1804, 1796, 1836, 1840, + + 1838, 1843, 1876, 1870, 1897, 1890, 1929, 1923, 1916, 1947, + 1948, 1953, 1973, 1980, 1466, 2036, 1697, 3070, 1935, 144, + 1705, 3063, 9684, 3044, 1586, 1606, 1963, 2011, 2015, 2056, + 1713, 2113, 2193, 2025, 2039, 2035, 2102, 2105, 2115, 2105, + 2116, 2191, 2193, 1776, 2220, 2050, 2252, 2023, 1436, 1457, + 1527, 1528, 2961, 1739, 1738, 2942, 1258, 2085, 2265, 1488, + 2930, 2896, 2268, 2217, 1892, 1812, 2282, 2283, 2879, 2288, + 2311, 1582, 1474, 1872, 1500, 2291, 2843, 2840, 2826, 2779, + 2312, 1669, 2764, 1684, 1924, 2341, 1936, 2773, 2769, 2316, + 2358, 2712, 9684, 2329, 2689, 2683, 1616, 1657, 1753, 1812, + + 1812, 1816, 1855, 1893, 1889, 1927, 2113, 2319, 1951, 1990, + 1850, 1926, 2328, 2330, 2021, 1990, 2127, 2414, 1084, 2129, + 2376, 2279, 2183, 2193, 2103, 1284, 2115, 2198, 2377, 2115, + 2097, 2371, 2356, 2123, 2179, 2183, 2361, 2230, 2205, 2283, + 2259, 2393, 2307, 2293, 2361, 2364, 2403, 2366, 2369, 2358, + 2370, 2376, 0, 2385, 2369, 2385, 2392, 2406, 2396, 2396, + 2401, 2417, 2447, 2389, 2418, 2413, 2426, 2435, 2424, 2423, + 2428, 2427, 2442, 2439, 2434, 0, 2437, 2446, 2443, 2691, + 2439, 2686, 2447, 2460, 2455, 2461, 2457, 2463, 2502, 2506, + 2507, 2481, 2485, 2492, 2492, 2495, 2493, 2495, 2523, 2536, + + 2638, 2239, 2554, 2637, 2631, 2564, 2572, 2578, 2628, 2610, + 2530, 2528, 2542, 2538, 2554, 2521, 2558, 2582, 2547, 2543, + 2570, 2569, 2590, 2593, 2595, 2598, 2600, 2606, 2599, 2602, + 2672, 2664, 2589, 2667, 2609, 2613, 2621, 2635, 2690, 2645, + 2607, 2657, 2653, 2622, 2638, 2675, 2683, 2692, 2660, 2674, + 2695, 2734, 2697, 2682, 2705, 2720, 2737, 2740, 2743, 2707, + 2726, 2749, 2545, 2752, 2756, 2759, 2761, 2763, 2764, 2766, + 2774, 2784, 2813, 2765, 2772, 2771, 2789, 2806, 2786, 2778, + 2791, 2798, 2803, 2788, 2811, 2532, 2819, 2817, 2840, 2868, + 2872, 2511, 2889, 2945, 2800, 330, 2843, 2877, 2849, 2850, + + 2896, 2900, 2924, 2877, 3018, 3098, 2875, 2880, 2871, 2927, + 2942, 2939, 2899, 2863, 2932, 3008, 2903, 2827, 2840, 2844, + 2902, 2908, 2925, 2919, 2986, 2095, 3043, 2455, 3046, 3065, + 2769, 3046, 3076, 3123, 3129, 2993, 3136, 3142, 2064, 3056, + 2424, 2409, 2394, 3130, 9684, 2371, 9684, 9684, 9684, 9684, + 3151, 9684, 2942, 2322, 9684, 2289, 2917, 3060, 2294, 2293, + 3163, 3181, 3200, 2271, 2244, 3210, 3000, 3019, 3025, 2943, + 2943, 2948, 3091, 0, 2955, 3022, 3096, 3105, 3101, 3125, + 3157, 3124, 3125, 3140, 2219, 2215, 3156, 3164, 3220, 3295, + 9684, 3157, 3167, 3176, 3161, 3184, 3224, 9684, 3183, 3229, + + 9684, 3188, 3189, 0, 3193, 3239, 3185, 3247, 9684, 3248, + 3192, 3202, 0, 3254, 2219, 2178, 3274, 3206, 3202, 3210, + 3229, 3225, 3243, 3227, 3240, 3248, 3259, 3291, 3299, 9684, + 3264, 3257, 3304, 3309, 3314, 9684, 0, 3271, 0, 3282, + 3277, 3282, 3296, 3286, 3287, 3290, 3301, 3293, 3303, 0, + 3080, 0, 3345, 9684, 3348, 3299, 3314, 3314, 3322, 0, + 3316, 3334, 3319, 0, 3335, 3346, 0, 3376, 3347, 3351, + 3352, 9684, 3353, 3341, 3358, 3360, 3358, 3360, 3389, 3391, + 3392, 3353, 219, 3373, 577, 3371, 3386, 3429, 3395, 3440, + 3398, 3444, 3450, 3454, 3465, 2187, 2182, 3417, 3424, 3418, + + 3465, 3468, 3469, 3436, 2168, 3470, 3472, 3437, 3473, 3475, + 3478, 3476, 3479, 3480, 3481, 326, 3482, 3483, 3530, 3484, + 3506, 3515, 3501, 3494, 3492, 3511, 3485, 2161, 3514, 3557, + 3520, 3566, 3498, 2155, 3512, 3533, 3559, 3547, 3560, 3569, + 3562, 3570, 3581, 3574, 3595, 3583, 3584, 3614, 3624, 2142, + 3588, 2109, 3585, 3592, 3586, 3604, 3600, 3609, 3611, 3632, + 3607, 3628, 2105, 3662, 2099, 3666, 3636, 3638, 3640, 3654, + 2089, 3643, 3644, 3650, 2083, 3652, 3656, 2064, 3695, 3664, + 3674, 3678, 3723, 3727, 3359, 3736, 3172, 3714, 3740, 3703, + 3692, 3759, 3707, 3829, 3909, 3710, 3800, 3753, 3788, 3812, + + 3811, 3874, 3934, 3937, 1667, 3732, 3937, 3858, 3647, 3481, + 0, 3646, 0, 3746, 532, 3940, 3800, 3782, 9684, 3940, + 3953, 2027, 3804, 3961, 4020, 9684, 9684, 2016, 9684, 9684, + 3744, 3817, 3861, 3884, 2006, 4047, 3823, 3829, 3650, 3662, + 3830, 4104, 3832, 3715, 0, 3868, 3732, 3903, 3917, 0, + 3907, 3917, 3915, 3739, 3933, 4014, 3844, 3935, 3943, 3954, + 3958, 3945, 3957, 0, 0, 4016, 4013, 4017, 4029, 4024, + 4056, 4020, 4065, 9684, 0, 4128, 9684, 4029, 9684, 4129, + 4134, 4157, 4151, 4036, 4035, 4039, 0, 4027, 4048, 4026, + 4057, 4116, 4141, 4089, 4169, 9684, 4124, 4137, 4174, 9684, + + 4178, 9684, 4149, 4155, 4158, 4146, 4158, 0, 4159, 4156, + 0, 4147, 4168, 4167, 4001, 9684, 4197, 9684, 4153, 4155, + 4165, 4176, 4162, 4180, 4164, 4176, 4181, 4225, 9684, 0, + 0, 4236, 1172, 4204, 1508, 4207, 4198, 4240, 4240, 4242, + 1988, 4212, 1514, 4213, 1806, 4214, 4222, 4269, 9684, 4262, + 4252, 4254, 3888, 4135, 4263, 4287, 4260, 4255, 4257, 4274, + 4267, 4334, 4285, 4305, 1987, 4321, 4360, 4318, 4361, 1950, + 4327, 4362, 4322, 4366, 4365, 4370, 4369, 1943, 1920, 4368, + 4367, 4376, 4371, 4377, 4293, 4372, 1919, 4378, 4388, 4404, + 4389, 1864, 4380, 4407, 4375, 4382, 4381, 4307, 4379, 4414, + + 4426, 4412, 4440, 4441, 4447, 4450, 1857, 4451, 4454, 1856, + 4452, 4456, 4455, 4457, 4458, 4459, 4461, 4462, 4464, 4469, + 4470, 4473, 1853, 1852, 4316, 4534, 4545, 4246, 4549, 2020, + 4502, 4526, 4465, 1841, 4569, 4471, 3821, 4639, 4719, 4451, + 4517, 4463, 4533, 4538, 4536, 4799, 4464, 4555, 4557, 4514, + 0, 9684, 0, 0, 582, 1834, 1780, 3888, 3999, 4092, + 1766, 4611, 4612, 4617, 4879, 4563, 4664, 4685, 4691, 4692, + 1727, 9684, 4631, 4668, 4680, 4746, 4673, 4676, 4959, 4442, + 4489, 0, 4574, 4497, 0, 4514, 4631, 4630, 4640, 4577, + 4643, 4574, 4791, 4707, 4607, 4720, 0, 4724, 9684, 9684, + + 4720, 4717, 4725, 4729, 4730, 4719, 4726, 4773, 4823, 9684, + 4741, 4724, 4826, 4825, 4842, 4841, 4766, 1728, 4911, 4858, + 4799, 0, 4804, 4805, 4723, 0, 4726, 4863, 4905, 9684, + 4915, 4875, 4916, 4872, 4875, 4984, 4819, 4882, 4887, 4894, + 4920, 4949, 0, 4955, 0, 0, 0, 4988, 4993, 4996, + 4948, 0, 4865, 9684, 4960, 4959, 4968, 4998, 1737, 1734, + 4971, 4965, 2642, 4979, 5004, 5000, 2786, 3010, 4713, 4941, + 5023, 5038, 5064, 5011, 5052, 1702, 5088, 5047, 1654, 5045, + 5050, 5049, 5051, 5096, 5057, 5093, 5101, 5095, 1628, 5098, + 5103, 5104, 5105, 5108, 5135, 5106, 5107, 5097, 1601, 5147, + + 5148, 5109, 1591, 5110, 5138, 5162, 5132, 5185, 5123, 5143, + 5188, 5146, 5168, 5171, 5176, 5178, 5181, 1522, 5193, 1506, + 1475, 1438, 5196, 5201, 5226, 5191, 1379, 5229, 5255, 4983, + 1348, 1331, 5207, 5267, 5347, 5427, 4984, 5172, 5178, 5172, + 5174, 0, 4945, 5284, 5178, 9684, 0, 1322, 1321, 4826, + 5033, 1310, 5291, 5047, 5292, 5313, 5320, 5326, 1289, 3084, + 4084, 5295, 5374, 5299, 9684, 5371, 9684, 0, 5282, 5276, + 5288, 5351, 0, 5352, 5195, 5353, 5359, 0, 5347, 5419, + 5348, 5346, 5364, 9684, 5366, 5351, 5367, 5394, 5411, 5427, + 0, 5426, 5427, 5457, 9684, 5425, 5424, 5485, 5389, 5491, + + 5419, 0, 0, 0, 5433, 5435, 5497, 9684, 0, 5469, + 5434, 5438, 0, 5510, 9684, 5476, 5486, 0, 5479, 0, + 0, 5472, 5520, 5494, 5526, 9684, 5527, 9684, 5489, 5486, + 4303, 5500, 671, 1287, 1231, 5488, 4874, 5499, 777, 5514, + 5403, 9684, 4950, 5309, 1269, 5532, 5533, 5536, 5537, 1263, + 5539, 5534, 5540, 5556, 1175, 5541, 5563, 5530, 5558, 5551, + 5569, 1170, 5565, 5575, 5573, 5576, 5572, 1166, 1162, 1154, + 5585, 5587, 1128, 5580, 5583, 1094, 5577, 5603, 1074, 5586, + 1053, 1031, 5597, 5604, 5601, 5663, 1021, 5563, 1017, 807, + 0, 5582, 0, 5588, 5583, 5589, 5591, 5643, 5671, 5470, + + 5674, 5677, 5687, 5605, 0, 5619, 5610, 5617, 5631, 5628, + 0, 5640, 5655, 5655, 5656, 5663, 5673, 5668, 5664, 5678, + 5681, 9684, 5680, 5667, 0, 5675, 0, 0, 5732, 0, + 5687, 5717, 5675, 5680, 0, 0, 5681, 5726, 5695, 5700, + 5687, 5704, 5707, 5725, 5755, 5728, 0, 5730, 5758, 5759, + 5761, 5765, 0, 5765, 990, 5761, 5771, 5772, 5769, 5770, + 947, 5773, 5775, 5782, 5774, 5788, 5780, 5777, 937, 5784, + 905, 879, 845, 5778, 5852, 5791, 833, 827, 5794, 5858, + 5799, 5796, 5802, 5868, 5791, 5823, 5753, 5799, 0, 5801, + 0, 5804, 5875, 859, 5881, 5399, 5886, 5890, 5908, 5904, + + 5830, 5829, 0, 0, 5852, 5854, 5768, 0, 5863, 5819, + 5862, 5871, 0, 5874, 5918, 5870, 9684, 0, 5888, 0, + 5915, 9684, 5881, 5896, 0, 5930, 9684, 0, 5891, 5906, + 5907, 9684, 5908, 5937, 5901, 0, 5939, 5944, 5946, 0, + 5943, 5941, 819, 810, 5949, 5952, 5953, 785, 5954, 5956, + 774, 5969, 770, 5959, 769, 5961, 764, 755, 5958, 5971, + 5956, 5252, 5979, 0, 5930, 5932, 747, 997, 6023, 1606, + 5988, 6035, 6038, 717, 5970, 6047, 0, 0, 0, 5991, + 5974, 5997, 5981, 6051, 6054, 9684, 9684, 5991, 6007, 6015, + 6016, 0, 0, 9684, 1582, 661, 6049, 6058, 6062, 6065, + + 706, 698, 686, 6067, 6068, 6069, 6070, 650, 627, 6077, + 6080, 6093, 6078, 1771, 0, 0, 6107, 6120, 6131, 6143, + 6147, 623, 0, 6114, 6152, 6077, 6042, 6105, 6083, 0, + 6106, 6110, 9684, 6135, 6104, 1975, 6155, 603, 6156, 6116, + 597, 6160, 6168, 6177, 6188, 596, 591, 6193, 6207, 6174, + 6180, 6213, 6226, 6230, 6242, 6248, 6148, 6150, 6150, 6174, + 6184, 6179, 6229, 6205, 6238, 544, 6221, 6245, 6235, 6272, + 6278, 519, 477, 6282, 6297, 6310, 6265, 6314, 6316, 6328, + 6332, 6248, 6345, 6357, 6333, 5330, 9684, 6213, 6226, 0, + 6253, 6248, 6263, 6334, 6283, 6300, 463, 9684, 462, 6336, + + 6301, 6361, 6369, 6378, 6382, 6386, 6398, 6402, 6403, 6415, + 6420, 6418, 6432, 6436, 6441, 6387, 9684, 6329, 6359, 6384, + 6334, 3699, 391, 3804, 6444, 6445, 6373, 6454, 6463, 6475, + 6487, 6503, 6471, 6516, 6499, 4152, 6431, 0, 6423, 0, + 6449, 6426, 6484, 441, 437, 5323, 6560, 6530, 6534, 6539, + 6584, 6543, 6522, 9684, 9684, 6507, 6443, 6525, 6553, 6596, + 6640, 6613, 6617, 6565, 6500, 6465, 6551, 6600, 6664, 6618, + 6619, 6668, 6589, 6607, 6515, 5003, 6685, 6656, 6631, 6530, + 6634, 6635, 6681, 6697, 6604, 6710, 6714, 6719, 416, 6723, + 6727, 405, 6703, 6732, 6736, 370, 6740, 6744, 352, 316, + + 6748, 6752, 212, 6756, 6760, 208, 6762, 201, 6765, 6767, + 6771, 6775, 178, 6779, 6785, 119, 115, 6789, 83, 6793, + 9684, 6838, 6856, 6874, 6892, 6910, 6928, 6945, 6949, 6967, + 6985, 7003, 7021, 7037, 7055, 7073, 7091, 7109, 7127, 7145, + 7162, 7179, 7184, 84, 7202, 7220, 7238, 7256, 7274, 7292, + 7310, 7328, 7346, 7364, 7382, 7400, 7418, 7436, 7454, 7472, + 7489, 7505, 7510, 7527, 7545, 7563, 7581, 7586, 7604, 7617, + 7632, 7650, 7668, 7686, 7704, 7722, 7740, 7758, 7776, 7792, + 7810, 7828, 7846, 7864, 7882, 7900, 7918, 7936, 7953, 7969, + 7986, 8004, 8022, 8040, 8058, 8063, 8081, 8099, 8117, 8135, + + 8153, 8171, 8189, 8207, 8225, 8243, 8261, 8279, 8297, 8315, + 8333, 8351, 8369, 8386, 8391, 8407, 8424, 8442, 8460, 8478, + 8496, 8514, 8532, 8550, 8568, 8586, 8604, 8622, 8640, 8658, + 8676, 8694, 8712, 8730, 8748, 8766, 8784, 8802, 8820, 8838, + 8855, 8873, 8890, 8906, 8911, 8928, 8946, 8964, 8982, 9000, + 9018, 9036, 9054, 9072, 9089, 9106, 9124, 9142, 9160, 9178, + 9196, 9214, 9232, 9249, 9266, 9282, 9287, 9303, 9319, 9336, + 9341, 9359, 9377, 9395, 9413, 9431, 9449, 9467, 9485, 9503, + 9521, 9539, 9557, 9575, 9593, 9611, 9629, 9647, 9665 } ; -static const flex_int16_t yy_def[2066] = +static const flex_int16_t yy_def[2090] = { 0, - 1897, 1, 1898, 1898, 1, 1, 1899, 1899, 1900, 1900, - 1898, 1898, 1897, 13, 1, 1, 1897, 1897, 1897, 1897, - 1901, 1902, 1897, 1897, 1897, 1903, 1904, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1905, 1905, - 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - 1905, 1905, 51, 1905, 1905, 1905, 1905, 1905, 1905, 1897, - 1897, 1906, 41, 1905, 1905, 1905, 1905, 1897, 1907, 1897, - 1907, 1908, 1897, 1908, 1908, 1897, 1897, 1909, 1897, 1910, - 1910, 1910, 1910, 83, 83, 83, 1910, 1910, 83, 83, - 83, 83, 1910, 92, 83, 83, 1910, 93, 1910, 1910, - - 1897, 60, 1911, 33, 1897, 83, 83, 88, 82, 60, - 33, 1897, 1897, 1897, 1912, 1912, 1912, 1913, 1897, 1913, - 1913, 1897, 1914, 1915, 1916, 1915, 1897, 1915, 1915, 1917, - 1917, 1897, 1917, 1917, 1917, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1918, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1919, - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, - - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, - 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1920, 60, 1897, - 1921, 1897, 1897, 1897, 1897, 1897, 1897, 1922, 1897, 1922, - 1922, 1922, 1897, 1919, 1919, 1919, 1919, 1919, 1919, 1923, - 1897, 1923, 1924, 1897, 1924, 1924, 1924, 1897, 1925, 1897, - 1897, 1897, 1897, 1926, 1927, 1897, 88, 88, 258, 258, + 1921, 1, 1922, 1922, 1, 1, 1923, 1923, 1924, 1924, + 1922, 1922, 1921, 13, 1, 1, 1921, 1921, 1921, 1921, + 1925, 1926, 1921, 1921, 1921, 1927, 1928, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1929, 1929, + 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, + 1929, 1929, 51, 1929, 1929, 1929, 1929, 1929, 1929, 1921, + 1921, 1930, 41, 1929, 1929, 1929, 1929, 1921, 1931, 1921, + 1931, 1932, 1921, 1932, 1932, 1921, 1921, 1933, 1921, 1934, + 1934, 1934, 1934, 83, 83, 83, 1934, 1934, 83, 83, + 83, 83, 1934, 92, 83, 83, 1934, 93, 1934, 1934, + + 1921, 60, 1935, 33, 1921, 83, 83, 88, 82, 60, + 33, 1921, 1921, 1921, 1936, 1936, 1936, 1937, 1921, 1937, + 1937, 1921, 1938, 1939, 1940, 1939, 1921, 1939, 1939, 1941, + 1941, 1921, 1941, 1941, 1941, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1942, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1943, + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, + + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1943, + 1943, 1943, 1943, 1943, 1943, 1943, 1943, 1944, 60, 1921, + 1945, 1921, 1921, 1921, 1921, 1921, 1921, 1946, 1921, 1946, + 1946, 1946, 1921, 1943, 1943, 1943, 1943, 1943, 1943, 1947, + 1921, 1947, 1948, 1921, 1948, 1948, 1948, 1921, 1949, 1921, + 1921, 1921, 1921, 1950, 1951, 1921, 88, 88, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 1897, 1897, 1897, 1928, 219, 319, - 1897, 1929, 1897, 1929, 1929, 1929, 1897, 1897, 1897, 1897, - 1929, 1930, 1930, 333, 333, 333, 333, 333, 333, 258, - 258, 258, 258, 219, 1897, 1897, 1897, 1897, 1897, 1897, - 1931, 1931, 1932, 1932, 1932, 1933, 1934, 1934, 1934, 1934, - 1897, 1935, 1936, 1936, 1897, 1937, 1897, 1938, 1939, 1938, - 1938, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1940, 1941, 1897, - 1897, 1942, 1897, 1943, 1897, 1897, 1944, 1944, 1944, 1944, - - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1897, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1897, 1944, 1897, - 1945, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1944, - 1944, 1944, 1944, 1944, 1944, 1944, 1944, 1946, 1897, 1947, - 1897, 1897, 1897, 1897, 1897, 1897, 1948, 1948, 1948, 1897, - 1944, 1944, 1944, 1944, 1944, 1944, 1949, 1950, 1951, 1897, - - 1897, 1952, 1953, 1897, 1897, 1897, 1954, 1955, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1897, 1897, 1957, 1897, 1897, - 1897, 590, 1897, 1897, 1958, 1958, 1897, 1897, 1897, 1958, - - 1959, 1959, 602, 602, 602, 602, 602, 602, 602, 1956, - 1956, 1956, 1956, 1897, 1897, 1897, 1897, 1960, 1960, 1961, - 1961, 1962, 1963, 1964, 1963, 1963, 1965, 1965, 1965, 1897, - 1897, 1966, 1967, 1967, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1968, 1969, 1897, 1897, 1897, 1970, - 1971, 1897, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1897, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1972, 1972, - 1972, 1897, 1897, 1972, 1897, 1897, 1972, 1972, 1972, 1972, + 258, 258, 258, 258, 1921, 1921, 1921, 1952, 219, 319, + 1921, 1953, 1921, 1953, 1953, 1953, 1921, 1921, 1921, 1921, + 1953, 1954, 1954, 333, 333, 333, 333, 333, 333, 258, + 258, 258, 258, 219, 1921, 1921, 1921, 1921, 1921, 1921, + 1955, 1955, 1956, 1956, 1956, 1957, 1958, 1958, 1958, 1958, + 1921, 1959, 1960, 1960, 1921, 1961, 1921, 1962, 1963, 1962, + 1962, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1964, 1965, 1921, + 1921, 1966, 1921, 1967, 1921, 1921, 1968, 1968, 1968, 1968, - 1972, 1972, 1897, 1897, 1972, 1972, 1897, 1972, 1973, 1974, - 1975, 1973, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1897, 1897, 1972, 1972, 1972, 1972, 1897, 1897, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1976, 1976, 1976, 1897, 1972, 1972, 1972, 1972, 1972, - 1972, 1977, 1978, 1978, 1897, 1897, 1897, 1897, 1979, 1980, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1921, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1921, 1968, + 1921, 1969, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1970, + 1921, 1971, 1921, 1921, 1921, 1921, 1921, 1921, 1972, 1972, + 1972, 1921, 1968, 1968, 1968, 1968, 1968, 1968, 1973, 1974, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1981, - 1981, 1897, 1981, 1982, 1982, 885, 885, 885, 885, 885, - 885, 885, 885, 885, 1956, 1956, 1956, 1956, 1897, 1897, - - 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1897, 1897, 1897, - 1990, 1991, 1992, 1993, 1994, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1995, 1897, 1972, 1972, 1972, 1972, - 1972, 1996, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1897, 1972, 1972, 1897, 1897, 1897, - 1897, 1897, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1897, 1897, 1972, 1897, 1897, 1972, 1897, 1997, 1998, - 1999, 2000, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1897, 1897, 1972, 1972, 1897, 1897, 1897, 1897, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, + 1975, 1921, 1921, 1976, 1977, 1921, 1921, 1921, 1978, 1979, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1921, + 1921, 1981, 1921, 1921, 1921, 594, 1921, 1921, 1982, 1982, - 1972, 1972, 1897, 1897, 1897, 1897, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1972, - 1897, 1897, 1897, 1897, 1897, 1897, 2001, 2001, 2002, 1897, - 1897, 1972, 1897, 1972, 1972, 1897, 1897, 1897, 2003, 2004, - 1897, 1897, 1897, 1897, 1956, 1956, 1956, 1956, 1956, 2005, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1921, 1921, 1921, 1982, 1983, 1983, 606, 606, 606, 606, + 606, 606, 606, 1980, 1980, 1980, 1980, 1921, 1921, 1921, + 1921, 1984, 1984, 1985, 1985, 1986, 1987, 1988, 1987, 1987, + 1989, 1989, 1989, 1921, 1921, 1990, 1991, 1991, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1992, 1993, + 1921, 1921, 1921, 1994, 1995, 1921, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1921, 1996, 1996, 1996, 1996, 1921, + 1921, 1996, 1996, 1996, 1996, 1996, 1921, 1921, 1996, 1921, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 2006, 2007, - 1897, 2006, 2006, 2008, 2008, 1125, 1125, 1125, 1125, 1125, - 1125, 2009, 1125, 1956, 1956, 1897, 2010, 1897, 2011, 2012, - 2013, 2014, 1897, 2015, 2016, 2016, 1897, 1897, 1897, 2017, - 2018, 1897, 2019, 1897, 2020, 2020, 2021, 1897, 1897, 1897, - 1897, 1897, 1972, 1972, 2022, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1897, - 1897, 1972, 1972, 1897, 1897, 1897, 1897, 1897, 1972, 1972, - 1972, 1972, 1972, 1897, 1897, 1972, 1972, 2023, 2023, 2024, - - 2025, 2026, 2025, 2026, 2026, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1897, 1897, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1897, 1897, - 1897, 2027, 2028, 2027, 1897, 1972, 1972, 1972, 2029, 2030, - 1897, 2031, 1897, 1897, 1956, 1956, 2032, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1921, 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, 1996, + 1996, 1921, 1996, 1997, 1998, 1999, 1997, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, + 1996, 1996, 1996, 1996, 1921, 1921, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1921, 1921, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 2000, 2000, + 2000, 1921, 1996, 1996, 1996, 1996, 1996, 1996, 2001, 2002, + 2002, 1921, 1921, 1921, 1921, 2003, 2004, 1980, 1980, 1980, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1897, - 2031, 1897, 2033, 2034, 2034, 2035, 2036, 2036, 1318, 1318, - 1318, 1318, 1318, 1318, 1956, 1956, 1897, 1897, 2037, 2038, - 1897, 2039, 2039, 1897, 2040, 1897, 2041, 1897, 2042, 2042, - 2043, 1897, 2044, 1897, 1897, 1897, 1897, 1897, 1897, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1897, 1972, 1972, 1897, 1897, 1972, 1897, 1897, 1897, - 1972, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 2025, 2025, - 2026, 1972, 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1972, - 1897, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1972, 1972, - - 1972, 1972, 1972, 1897, 1972, 1897, 1897, 1897, 1897, 1972, - 1897, 1897, 1897, 2027, 2027, 1897, 1972, 1897, 1972, 2029, - 2030, 1897, 1897, 1897, 2045, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1897, 2046, 1897, 2034, 2034, - 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1956, 1897, 1897, - 1897, 1897, 2044, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1897, 1972, 1897, - - 1897, 1897, 1972, 1972, 1972, 1972, 1972, 2025, 1972, 1972, - 1972, 1897, 1972, 1972, 1972, 1972, 1972, 1972, 1897, 1972, - 1972, 1897, 1897, 2027, 1897, 1972, 1972, 2029, 2030, 1897, - 1897, 2047, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1897, 1897, 2034, 1318, 1318, 1318, 1318, 1318, 1956, - 1897, 2048, 1897, 1897, 1897, 2049, 1897, 1897, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1972, 1972, - 1897, 1972, 1897, 1897, 1972, 1972, 1972, 1897, 1897, 1897, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 2005, + 2005, 1921, 2005, 2006, 2006, 895, 895, 895, 895, 895, + + 895, 895, 895, 895, 1980, 1980, 1980, 1980, 1921, 1921, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 1921, 1921, 1921, + 2014, 2015, 2016, 2017, 2018, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 2019, 1921, 1996, 1996, 1996, 1996, + 1996, 2020, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1921, 1996, 1996, 1921, 1921, + 1921, 1921, 1921, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1921, 1921, 1996, 1921, 1921, 1996, 1921, 2021, + 2022, 2023, 2024, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1921, 1921, 1996, 1996, 1921, 1921, + + 1921, 1921, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1921, 1921, 1921, 1921, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, 1996, + 1996, 1996, 1921, 1921, 1921, 1921, 1921, 1921, 2025, 2025, + 2026, 1921, 1921, 1996, 1921, 1996, 1996, 1921, 1921, 1921, + 2027, 2028, 1921, 1921, 1921, 1921, 1980, 1980, 1980, 1980, + 1980, 2029, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1972, 1972, 1897, 1897, 1972, 1897, 1972, 1972, 1897, 1897, - 2027, 1897, 1972, 2029, 2030, 1897, 2047, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 1956, 1897, 2050, 2034, 1318, - 1318, 1318, 1956, 2048, 2048, 2048, 1897, 2049, 2049, 2049, - 1972, 1972, 1972, 1972, 1972, 1897, 1897, 1972, 1972, 1897, - 1897, 1897, 1897, 1972, 1897, 1972, 1897, 1972, 1972, 1897, - 2027, 1897, 2029, 2030, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1956, 2050, 1897, 2050, 2050, 2034, - 1318, 1318, 2048, 2048, 2051, 2049, 1897, 2049, 1972, 1897, - - 1897, 1897, 1897, 1972, 1972, 1972, 1897, 1972, 1897, 2027, - 1897, 2029, 2030, 1956, 1956, 1956, 1956, 1956, 1897, 1897, - 1897, 2052, 2053, 2050, 2050, 2054, 2034, 2051, 2051, 2051, - 1897, 1897, 1897, 1897, 1972, 1972, 1897, 1972, 2027, 1897, - 2029, 2055, 1956, 1956, 1956, 1897, 1897, 2052, 2053, 2050, - 2050, 2050, 2056, 2057, 2054, 2054, 2054, 2034, 2051, 2048, - 2051, 1897, 1897, 1897, 1897, 1972, 1972, 1897, 1972, 2027, - 1897, 2029, 2055, 1897, 1956, 1956, 1956, 1897, 1897, 2050, - 2050, 2056, 2056, 2056, 2057, 1897, 2057, 2057, 2054, 2050, - 2054, 2034, 1897, 1897, 1972, 1897, 1972, 2027, 1897, 2029, - - 1956, 1956, 1897, 1897, 2050, 2050, 2056, 2050, 2056, 2057, - 2058, 2034, 1897, 1972, 1897, 1972, 2027, 1897, 2029, 1956, - 1956, 1897, 2050, 2050, 2050, 2058, 2058, 2058, 2034, 1897, - 1897, 2027, 1897, 2029, 1897, 2050, 2059, 2058, 2058, 2034, - 2027, 1897, 2029, 1897, 2050, 2054, 2050, 2050, 2034, 2027, - 1897, 2029, 2050, 2034, 2027, 1897, 2029, 2034, 2027, 1897, - 2029, 2034, 2027, 1897, 2060, 1897, 1897, 2061, 2029, 2034, - 1897, 2062, 1897, 1897, 2063, 2060, 1897, 1897, 2061, 1897, - 2029, 2062, 1897, 2063, 2029, 2029, 2029, 1897, 2064, 1897, - 1897, 2065, 2064, 1897, 2065, 1897, 0, 1897, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897 - } ; + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 2030, 2031, 1921, 2030, 2030, 2032, 2032, 1139, + 1139, 1139, 1139, 1139, 1139, 2033, 1139, 1980, 1980, 1921, + 2034, 1921, 2035, 2036, 2037, 2038, 1921, 2039, 2040, 2040, + 1921, 1921, 1921, 2041, 2042, 1921, 2043, 1921, 2044, 2044, + 2045, 1921, 1921, 1921, 1921, 1921, 1996, 1996, 2046, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1921, 1921, 1996, 1996, 1921, 1921, -static const flex_int16_t yy_nxt[9721] = - { 0, - 18, 19, 20, 19, 21, 22, 18, 23, 24, 25, - 26, 27, 28, 29, 28, 30, 28, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 46, 48, 49, 50, 51, 52, - 53, 46, 54, 55, 56, 57, 46, 58, 46, 46, - 59, 28, 28, 28, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 46, - 54, 55, 56, 57, 46, 58, 46, 46, 59, 18, - 60, 61, 60, 62, 70, 1896, 71, 74, 73, 74, - 76, 77, 76, 76, 77, 76, 241, 478, 478, 78, + 1921, 1921, 1921, 1996, 1996, 1996, 1996, 1996, 1921, 1921, + 1996, 1996, 2047, 2047, 2048, 2049, 2050, 2049, 2050, 2050, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1921, 1921, 1921, 1921, 1921, 2051, 2052, 2051, + 1921, 1996, 1996, 1996, 2053, 2054, 1921, 2055, 1921, 1921, + 1980, 1980, 2056, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 112, 242, 78, 114, 244, 114, 63, 64, 116, 71, - 65, 248, 66, 248, 113, 75, 112, 1894, 119, 340, - 112, 1896, 117, 67, 227, 220, 227, 221, 342, 112, - 113, 114, 112, 114, 113, 63, 64, 116, 71, 65, - 247, 66, 113, 120, 75, 112, 113, 592, 340, 112, - 117, 67, 60, 61, 60, 62, 342, 121, 113, 112, - 136, 112, 113, 593, 311, 155, 257, 112, 247, 312, - 350, 257, 120, 113, 113, 112, 112, 112, 63, 64, - 1894, 113, 65, 257, 66, 121, 349, 257, 112, 113, - 113, 113, 311, 283, 257, 67, 112, 312, 350, 257, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1921, 2055, 1921, + 2057, 2058, 2058, 2059, 2060, 2060, 1336, 1336, 1336, 1336, + 1336, 1336, 1980, 1980, 1921, 1921, 2061, 2062, 1921, 2063, + 2063, 1921, 2064, 1921, 2065, 1921, 2066, 2066, 2067, 1921, + 2068, 1921, 1921, 1921, 1921, 1921, 1921, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1921, + 1996, 1996, 1996, 1921, 1921, 1996, 1921, 1921, 1921, 1996, + 1996, 1996, 1996, 1921, 1921, 1996, 1996, 2049, 2049, 2050, + + 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, 1996, 1921, + 1996, 1996, 1996, 1921, 1921, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1921, 1996, 1921, 1921, 1921, 1921, 1996, 1921, + 1921, 1921, 2051, 2051, 1921, 1996, 1921, 1996, 2053, 2054, + 1921, 1921, 1921, 2069, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1921, 2070, 1921, 2058, 2058, + 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1980, 1921, 1921, + + 1921, 1921, 2068, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1921, 1921, 1996, 1996, 1996, 1921, 1996, + 1921, 1921, 1921, 1996, 1996, 1996, 1996, 1996, 2049, 1996, + 1996, 1996, 1921, 1996, 1996, 1996, 1996, 1996, 1996, 1921, + 1996, 1996, 1921, 1921, 2051, 1921, 1996, 1996, 2053, 2054, + 1921, 1921, 2071, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1921, 1921, 2058, 1336, 1336, 1336, 1336, + 1336, 1980, 1921, 2072, 1921, 1921, 1921, 2073, 1921, 1921, - 248, 113, 248, 1877, 112, 112, 112, 63, 64, 113, - 1883, 65, 257, 66, 1880, 349, 257, 113, 113, 113, - 1031, 283, 1031, 67, 18, 19, 79, 19, 21, 22, - 18, 23, 24, 25, 26, 27, 28, 29, 28, 30, - 28, 31, 32, 33, 34, 35, 36, 37, 38, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 87, 89, - 90, 91, 92, 93, 94, 87, 95, 96, 97, 98, + 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1921, 1921, + 1996, 1996, 1996, 1921, 1996, 1921, 1921, 1996, 1996, 1996, + 1921, 1921, 1921, 1996, 1996, 1921, 1921, 1996, 1921, 1996, + 1996, 1921, 1921, 2051, 1921, 1996, 2053, 2054, 1921, 2071, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1921, 2074, 2058, 1336, 1336, 1336, 1980, 2072, 2072, 2072, + 1921, 2073, 2073, 2073, 1996, 1996, 1996, 1996, 1996, 1921, + 1921, 1996, 1996, 1921, 1921, 1921, 1921, 1996, 1921, 1996, + 1921, 1996, 1996, 1921, 2051, 1921, 2053, 2054, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 2074, + 1921, 2074, 2074, 2058, 1336, 1336, 2072, 2072, 2075, 2073, + 1921, 2073, 1996, 1921, 1921, 1921, 1921, 1996, 1996, 1996, + 1921, 1996, 1921, 2051, 1921, 2053, 2054, 1980, 1980, 1980, + 1980, 1980, 1921, 1921, 1921, 2076, 2077, 2074, 2074, 2078, + 2058, 2075, 2075, 2075, 1921, 1921, 1921, 1921, 1996, 1996, + 1921, 1996, 2051, 1921, 2053, 2079, 1980, 1980, 1980, 1921, + 1921, 2076, 2077, 2074, 2074, 2074, 2080, 2081, 2078, 2078, + 2078, 2058, 2075, 2072, 2075, 1921, 1921, 1921, 1921, 1996, + 1996, 1921, 1996, 2051, 1921, 2053, 2079, 1921, 1980, 1980, + + 1980, 1921, 1921, 2074, 2074, 2080, 2080, 2080, 2081, 1921, + 2081, 2081, 2078, 2074, 2078, 2058, 1921, 1921, 1996, 1921, + 1996, 2051, 1921, 2053, 1980, 1980, 1921, 1921, 2074, 2074, + 2080, 2074, 2080, 2081, 2082, 2058, 1921, 1996, 1921, 1996, + 2051, 1921, 2053, 1980, 1980, 1921, 2074, 2074, 2074, 2082, + 2082, 2082, 2058, 1921, 1921, 2051, 1921, 2053, 1921, 2074, + 2083, 2082, 2082, 2058, 2051, 1921, 2053, 1921, 2074, 2078, + 2074, 2074, 2058, 2051, 1921, 2053, 2074, 2058, 2051, 1921, + 2053, 2058, 2051, 1921, 2053, 2058, 2051, 1921, 2084, 1921, + 1921, 2085, 2053, 2058, 1921, 2086, 1921, 1921, 2087, 2084, + + 1921, 1921, 2085, 1921, 2053, 2086, 1921, 2087, 2053, 2053, + 2053, 1921, 2088, 1921, 1921, 2089, 2088, 1921, 2089, 1921, + 0, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921 + } ; + +static const flex_int16_t yy_nxt[9765] = + { 0, + 18, 19, 20, 19, 21, 22, 18, 23, 24, 25, + 26, 27, 28, 29, 28, 30, 28, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 46, 48, 49, 50, 51, 52, + 53, 46, 54, 55, 56, 57, 46, 58, 46, 46, + 59, 28, 28, 28, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 46, + 54, 55, 56, 57, 46, 58, 46, 46, 59, 18, + 60, 61, 60, 62, 70, 1920, 71, 74, 73, 74, + 76, 77, 76, 76, 77, 76, 241, 480, 480, 78, + + 112, 242, 78, 114, 244, 114, 63, 64, 116, 71, + 65, 248, 66, 248, 113, 75, 112, 1918, 119, 340, + 112, 1920, 117, 67, 227, 220, 227, 221, 342, 112, + 113, 114, 112, 114, 113, 63, 64, 116, 71, 65, + 247, 66, 113, 120, 75, 112, 113, 596, 340, 112, + 117, 67, 60, 61, 60, 62, 342, 121, 113, 112, + 136, 112, 113, 597, 311, 155, 257, 112, 247, 312, + 350, 257, 120, 113, 113, 112, 112, 112, 63, 64, + 1918, 113, 65, 257, 66, 121, 349, 257, 112, 113, + 113, 113, 311, 283, 257, 67, 112, 312, 350, 257, + + 248, 113, 248, 1901, 112, 112, 112, 63, 64, 113, + 1907, 65, 257, 66, 1904, 349, 257, 113, 113, 113, + 1043, 283, 1043, 67, 18, 19, 79, 19, 21, 22, + 18, 23, 24, 25, 26, 27, 28, 29, 28, 30, + 28, 31, 32, 33, 34, 35, 36, 37, 38, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 87, 89, + 90, 91, 92, 93, 94, 87, 95, 96, 97, 98, 87, 99, 87, 87, 100, 28, 28, 28, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 87, 95, 96, 97, 98, 87, 99, 87, 87, 100, 18, 60, 101, 102, 62, 156, 122, - 122, 122, 123, 125, 351, 112, 103, 319, 1877, 320, + 122, 122, 123, 125, 351, 112, 103, 319, 1901, 320, 126, 127, 104, 352, 399, 157, 158, 119, 256, 113, - 105, 106, 112, 876, 107, 321, 108, 395, 112, 395, - 375, 128, 396, 351, 112, 809, 113, 109, 327, 877, - 328, 352, 113, 399, 1877, 129, 130, 113, 130, 105, + 105, 106, 112, 886, 107, 321, 108, 395, 112, 395, + 375, 128, 396, 351, 112, 816, 113, 109, 327, 887, + 328, 352, 113, 399, 1901, 129, 130, 113, 130, 105, 106, 112, 376, 107, 355, 108, 329, 112, 375, 131, - 128, 131, 1883, 132, 113, 109, 110, 61, 110, 62, + 128, 131, 1907, 132, 113, 109, 110, 61, 110, 62, 113, 166, 162, 129, 159, 134, 162, 146, 147, 146, 376, 112, 355, 403, 111, 148, 165, 383, 149, 135, - 165, 384, 63, 64, 150, 113, 65, 1880, 66, 151, - 166, 162, 162, 257, 134, 162, 112, 288, 1877, 67, + 165, 384, 63, 64, 150, 113, 65, 1904, 66, 151, + 166, 162, 162, 257, 134, 162, 112, 288, 1901, 67, 112, 186, 403, 257, 165, 383, 165, 135, 165, 384, 113, 63, 64, 113, 344, 65, 344, 66, 346, 256, - 346, 162, 257, 256, 1818, 112, 288, 67, 137, 186, + 346, 162, 257, 256, 1842, 112, 288, 67, 137, 186, 137, 257, 345, 119, 165, 218, 347, 152, 113, 153, - 122, 122, 122, 123, 256, 1774, 138, 348, 154, 154, - 112, 161, 139, 354, 162, 162, 140, 112, 141, 1720, + 122, 122, 122, 123, 256, 1798, 138, 348, 154, 154, + 112, 161, 139, 354, 162, 162, 140, 112, 141, 1744, 163, 154, 400, 142, 113, 143, 144, 164, 165, 165, 401, 113, 245, 244, 245, 145, 348, 154, 154, 112, 161, 139, 354, 162, 162, 140, 112, 141, 163, 154, 400, 142, 113, 143, 144, 164, 165, 165, 401, 113, - 246, 1720, 402, 145, 167, 162, 172, 162, 191, 162, - 173, 168, 192, 162, 118, 169, 174, 1143, 170, 165, - 229, 165, 193, 165, 125, 230, 1774, 165, 171, 246, + 246, 1744, 402, 145, 167, 162, 172, 162, 191, 162, + 173, 168, 192, 162, 118, 169, 174, 1157, 170, 165, + 229, 165, 193, 165, 125, 230, 1798, 165, 171, 246, 402, 126, 127, 167, 162, 172, 162, 191, 162, 173, 168, 192, 162, 169, 174, 187, 170, 165, 231, 165, - 193, 165, 188, 189, 190, 165, 171, 162, 1033, 165, - 1033, 404, 232, 175, 118, 176, 177, 1331, 178, 179, - 233, 165, 406, 1720, 187, 180, 125, 231, 1720, 256, + 193, 165, 188, 189, 190, 165, 171, 162, 1045, 165, + 1045, 404, 232, 175, 118, 176, 177, 1349, 178, 179, + 233, 165, 406, 1744, 187, 180, 125, 231, 1744, 256, 188, 189, 190, 126, 127, 256, 162, 165, 234, 404, 232, 175, 162, 176, 177, 405, 178, 179, 412, 165, - 406, 194, 235, 180, 162, 662, 165, 181, 125, 256, + 406, 194, 235, 180, 162, 666, 165, 181, 125, 256, 182, 183, 130, 184, 130, 126, 127, 234, 165, 185, - 409, 162, 417, 195, 405, 131, 412, 131, 162, 194, + 409, 162, 418, 195, 405, 131, 412, 131, 162, 194, 235, 363, 256, 162, 165, 196, 181, 197, 182, 183, 162, 184, 165, 198, 202, 397, 165, 185, 199, 409, - 200, 417, 195, 229, 165, 201, 160, 162, 203, 416, + 200, 418, 195, 229, 165, 201, 160, 162, 203, 419, 363, 204, 398, 196, 205, 197, 206, 162, 256, 162, - 165, 198, 212, 202, 397, 418, 199, 162, 200, 213, + 165, 198, 212, 202, 397, 420, 199, 162, 200, 213, - 256, 165, 165, 201, 160, 377, 203, 416, 256, 204, - 398, 165, 205, 207, 1711, 206, 162, 208, 162, 662, - 378, 212, 162, 418, 1524, 419, 162, 209, 213, 165, + 256, 165, 165, 201, 160, 377, 203, 419, 256, 204, + 398, 165, 205, 207, 1735, 206, 162, 208, 162, 666, + 378, 212, 162, 420, 1545, 421, 162, 209, 213, 165, 214, 256, 210, 211, 377, 215, 165, 125, 162, 165, - 216, 1897, 207, 1897, 126, 127, 208, 162, 378, 256, - 217, 162, 165, 419, 1897, 209, 1897, 256, 214, 259, - 210, 211, 442, 215, 165, 381, 256, 162, 420, 216, - 423, 256, 256, 262, 256, 382, 256, 364, 217, 241, + 216, 1921, 207, 1921, 126, 127, 208, 162, 378, 256, + 217, 162, 165, 421, 1921, 209, 1921, 256, 214, 259, + 210, 211, 443, 215, 165, 381, 256, 162, 424, 216, + 425, 256, 256, 262, 256, 382, 256, 364, 217, 241, 165, 219, 220, 219, 221, 236, 162, 256, 259, 172, - 162, 442, 237, 173, 381, 186, 420, 263, 423, 174, - - 165, 262, 259, 382, 165, 364, 424, 222, 223, 323, - 112, 224, 256, 225, 236, 162, 262, 459, 172, 162, - 237, 256, 173, 186, 226, 425, 263, 174, 165, 256, - 1528, 259, 165, 426, 424, 256, 222, 223, 212, 112, - 224, 187, 225, 162, 262, 213, 459, 256, 188, 238, - 190, 470, 226, 425, 256, 165, 256, 165, 407, 408, - 1564, 426, 239, 251, 252, 253, 254, 212, 1645, 427, - 187, 1646, 162, 256, 213, 255, 188, 238, 190, 258, - 470, 256, 259, 165, 284, 165, 407, 408, 260, 255, - 239, 285, 286, 287, 432, 261, 262, 427, 262, 289, - - 269, 259, 257, 257, 270, 472, 257, 256, 258, 290, - 271, 259, 291, 284, 440, 262, 260, 441, 255, 285, - 286, 287, 432, 261, 262, 256, 262, 473, 289, 269, - 259, 257, 257, 270, 472, 257, 445, 290, 271, 256, - 291, 446, 440, 262, 474, 441, 379, 410, 264, 256, - 257, 299, 411, 259, 278, 265, 473, 279, 280, 266, - 281, 380, 267, 257, 445, 300, 282, 262, 301, 446, - 256, 302, 268, 474, 413, 379, 410, 264, 218, 257, + 162, 443, 237, 173, 381, 186, 424, 263, 425, 174, + + 165, 262, 259, 382, 165, 364, 426, 222, 223, 323, + 112, 224, 256, 225, 236, 162, 262, 472, 172, 162, + 237, 256, 173, 186, 226, 427, 263, 174, 165, 256, + 1549, 259, 165, 428, 426, 256, 222, 223, 212, 112, + 224, 187, 225, 162, 262, 213, 472, 256, 188, 238, + 190, 474, 226, 427, 256, 165, 256, 165, 407, 408, + 1586, 428, 239, 251, 252, 253, 254, 212, 1669, 433, + 187, 1670, 162, 256, 213, 255, 188, 238, 190, 258, + 474, 256, 259, 165, 284, 165, 407, 408, 260, 255, + 239, 285, 286, 287, 441, 261, 262, 433, 262, 289, + + 269, 259, 257, 257, 270, 475, 257, 256, 258, 290, + 271, 259, 291, 284, 442, 262, 260, 446, 255, 285, + 286, 287, 441, 261, 262, 256, 262, 416, 289, 269, + 259, 257, 257, 270, 475, 257, 447, 290, 271, 256, + 291, 417, 442, 262, 476, 446, 379, 410, 264, 256, + 257, 299, 411, 259, 278, 265, 416, 279, 280, 266, + 281, 380, 267, 257, 447, 300, 282, 262, 301, 417, + 256, 302, 268, 476, 413, 379, 410, 264, 218, 257, 299, 411, 259, 278, 265, 279, 280, 266, 281, 380, - 267, 257, 323, 300, 282, 262, 301, 477, 259, 302, - - 268, 257, 428, 483, 428, 257, 1645, 447, 272, 1646, - 273, 274, 262, 275, 276, 414, 415, 292, 303, 229, - 277, 257, 257, 256, 256, 257, 477, 259, 257, 293, - 257, 294, 483, 256, 257, 447, 272, 295, 273, 274, - 262, 275, 276, 414, 415, 429, 292, 303, 277, 448, - 257, 257, 259, 443, 257, 256, 257, 293, 323, 294, - 296, 444, 297, 449, 304, 295, 262, 298, 305, 324, - 138, 452, 257, 429, 256, 256, 256, 448, 306, 374, - 374, 259, 443, 307, 308, 692, 325, 692, 296, 444, - 297, 449, 374, 304, 262, 298, 256, 305, 309, 452, - - 326, 257, 259, 259, 313, 310, 306, 693, 374, 374, - 453, 307, 308, 454, 314, 325, 262, 262, 421, 500, - 374, 500, 254, 315, 316, 317, 318, 309, 326, 422, - 256, 259, 259, 313, 310, 255, 257, 490, 453, 465, - 257, 454, 314, 341, 262, 262, 283, 421, 466, 255, - 358, 359, 358, 146, 147, 146, 256, 422, 360, 361, - 500, 148, 501, 254, 256, 257, 490, 465, 256, 257, - 150, 341, 256, 1031, 283, 1031, 466, 256, 255, 322, + 267, 257, 256, 300, 282, 262, 301, 479, 259, 302, + + 268, 257, 429, 485, 429, 257, 1669, 448, 272, 1670, + 273, 274, 262, 275, 276, 414, 415, 292, 303, 323, + 277, 257, 257, 229, 256, 257, 479, 259, 257, 293, + 257, 294, 485, 256, 257, 448, 272, 295, 273, 274, + 262, 275, 276, 414, 415, 430, 292, 303, 277, 449, + 257, 257, 259, 444, 257, 256, 257, 293, 323, 294, + 296, 445, 297, 450, 304, 295, 262, 298, 305, 324, + 138, 453, 257, 430, 256, 256, 256, 449, 306, 374, + 374, 259, 444, 307, 308, 697, 325, 697, 296, 445, + 297, 450, 374, 304, 262, 298, 256, 305, 309, 453, + + 326, 257, 259, 259, 313, 310, 306, 698, 374, 374, + 454, 307, 308, 455, 314, 325, 262, 262, 422, 502, + 374, 502, 254, 315, 316, 317, 318, 309, 326, 423, + 256, 259, 259, 313, 310, 255, 257, 492, 454, 467, + 257, 455, 314, 341, 262, 262, 283, 422, 468, 255, + 358, 359, 358, 146, 147, 146, 256, 423, 360, 361, + 502, 148, 503, 254, 256, 257, 492, 467, 256, 257, + 150, 341, 256, 1043, 283, 1043, 468, 256, 255, 322, 322, 330, 322, 322, 322, 322, 331, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 332, 322, @@ -8656,940 +9141,945 @@ static const flex_int16_t yy_nxt[9721] = 322, 322, 332, 333, 332, 332, 332, 332, 334, 332, 335, 332, 332, 336, 332, 332, 337, 332, 332, 332, 332, 338, 332, 332, 332, 332, 339, 332, 322, 309, - 359, 365, 430, 365, 430, 256, 310, 622, 361, 467, - 257, 1525, 431, 257, 1897, 366, 1897, 367, 365, 368, - 365, 471, 484, 343, 229, 1033, 399, 1033, 309, 631, - 394, 1897, 366, 1897, 367, 310, 368, 467, 257, 154, - - 154, 257, 370, 365, 137, 365, 137, 244, 362, 471, - 484, 343, 154, 369, 485, 399, 1897, 366, 1897, 367, - 353, 368, 385, 386, 387, 388, 119, 323, 154, 154, - 369, 370, 372, 498, 389, 390, 391, 390, 392, 457, - 154, 373, 485, 148, 371, 458, 323, 152, 389, 153, - 229, 145, 150, 433, 455, 369, 437, 438, 154, 154, - 450, 372, 498, 439, 456, 434, 256, 435, 457, 373, - 436, 154, 371, 458, 229, 451, 636, 389, 460, 145, - 461, 256, 433, 455, 437, 438, 475, 154, 154, 450, - 476, 439, 456, 434, 468, 435, 462, 463, 436, 154, - - 464, 1710, 1897, 451, 229, 636, 229, 460, 469, 461, - 350, 402, 481, 256, 489, 475, 479, 486, 1645, 476, - 241, 1646, 256, 468, 462, 463, 482, 487, 464, 488, - 244, 1897, 227, 220, 227, 221, 469, 493, 350, 402, - 494, 481, 489, 497, 479, 486, 227, 220, 227, 221, - 227, 220, 227, 221, 482, 404, 487, 433, 488, 407, - 492, 496, 491, 256, 616, 493, 247, 256, 494, 434, - 256, 435, 497, 617, 495, 245, 244, 245, 256, 251, - 252, 253, 254, 404, 256, 229, 433, 407, 492, 496, - 491, 255, 616, 511, 247, 257, 590, 434, 590, 435, - - 515, 617, 495, 246, 229, 255, 257, 504, 505, 506, - 507, 1379, 257, 257, 257, 257, 631, 257, 323, 508, - 257, 618, 511, 323, 257, 591, 119, 509, 323, 515, - 257, 639, 246, 508, 255, 257, 619, 257, 257, 257, - 257, 257, 257, 257, 510, 257, 257, 241, 257, 618, - 362, 595, 257, 353, 591, 512, 509, 620, 596, 257, - 639, 257, 508, 257, 619, 257, 257, 257, 513, 257, - 257, 327, 510, 594, 1727, 257, 514, 119, 257, 516, - 595, 257, 517, 512, 257, 620, 596, 257, 257, 593, - 257, 257, 257, 521, 323, 323, 513, 257, 1741, 257, - - 518, 257, 519, 520, 514, 257, 257, 516, 256, 257, - 257, 517, 359, 257, 119, 257, 413, 257, 600, 622, - 361, 257, 521, 586, 220, 586, 318, 257, 518, 257, - 519, 520, 257, 257, 522, 257, 257, 257, 257, 523, - 257, 256, 524, 527, 257, 257, 528, 600, 256, 257, - 529, 635, 257, 257, 621, 256, 257, 525, 526, 349, - 256, 257, 257, 522, 257, 257, 257, 256, 523, 257, - 524, 527, 257, 615, 257, 528, 257, 257, 529, 635, - 257, 257, 621, 257, 530, 525, 526, 650, 349, 257, - 257, 531, 344, 257, 344, 257, 257, 256, 534, 257, - - 256, 615, 532, 257, 256, 257, 257, 257, 256, 229, - 345, 257, 530, 533, 652, 650, 257, 535, 257, 531, - 536, 257, 537, 229, 257, 257, 534, 926, 257, 257, - 1158, 532, 257, 428, 257, 428, 257, 430, 257, 430, - 538, 533, 652, 665, 257, 535, 257, 431, 536, 1149, - 537, 540, 257, 666, 256, 257, 257, 256, 257, 257, - 1817, 511, 627, 257, 627, 545, 546, 257, 538, 257, - 541, 665, 547, 257, 257, 628, 539, 628, 257, 540, - 257, 666, 542, 257, 543, 257, 560, 544, 257, 548, - 511, 256, 257, 545, 546, 257, 668, 241, 257, 541, - - 547, 257, 257, 663, 539, 257, 256, 257, 257, 550, - 542, 256, 543, 549, 560, 544, 257, 548, 256, 257, - 257, 359, 257, 257, 668, 554, 257, 551, 622, 361, - 553, 257, 663, 257, 257, 552, 323, 257, 550, 332, - 257, 549, 605, 257, 669, 257, 332, 257, 1819, 257, - 257, 555, 365, 554, 365, 257, 551, 257, 553, 257, - 257, 257, 558, 552, 257, 257, 366, 332, 556, 257, - 605, 257, 669, 557, 332, 256, 257, 559, 257, 555, - 670, 257, 257, 664, 563, 257, 257, 1829, 257, 257, - 667, 558, 565, 257, 564, 257, 556, 561, 566, 257, - - 562, 557, 256, 257, 257, 559, 256, 257, 670, 257, - 671, 257, 664, 563, 672, 257, 567, 257, 568, 667, - 569, 565, 564, 257, 257, 561, 566, 257, 562, 679, - 637, 257, 637, 505, 257, 638, 570, 571, 671, 505, - 572, 257, 672, 573, 970, 567, 257, 568, 680, 569, - 257, 969, 327, 257, 878, 257, 578, 257, 679, 574, - 683, 576, 257, 257, 570, 571, 682, 257, 572, 257, - 877, 573, 257, 575, 257, 577, 257, 680, 514, 257, - 257, 257, 257, 580, 257, 578, 257, 574, 581, 683, - 576, 579, 257, 257, 653, 257, 653, 388, 257, 257, - - 257, 575, 257, 577, 681, 257, 514, 257, 257, 582, - 257, 257, 580, 597, 257, 597, 583, 581, 684, 579, - 584, 257, 257, 1031, 257, 1031, 257, 257, 585, 662, - 926, 257, 315, 316, 317, 318, 257, 677, 582, 257, - 386, 678, 591, 257, 255, 583, 597, 684, 598, 584, - 702, 257, 257, 586, 220, 587, 318, 585, 255, 257, - 386, 327, 705, 594, 593, 677, 920, 257, 346, 678, - 346, 591, 1033, 603, 1033, 591, 694, 152, 702, 599, - 504, 505, 506, 507, 332, 604, 345, 255, 154, 154, - 705, 332, 508, 332, 606, 607, 332, 614, 919, 917, - - 332, 154, 603, 332, 591, 694, 508, 358, 359, 358, - 916, 365, 332, 365, 604, 360, 361, 154, 154, 332, - 638, 332, 606, 607, 332, 366, 614, 332, 332, 154, - 327, 332, 327, 608, 332, 508, 322, 322, 330, 322, + 359, 365, 431, 365, 431, 256, 310, 626, 361, 469, + 257, 256, 432, 257, 1921, 366, 1921, 367, 365, 368, + 365, 473, 486, 343, 1546, 708, 399, 708, 309, 229, + 394, 1921, 366, 1921, 367, 310, 368, 469, 257, 154, + + 154, 257, 370, 365, 137, 365, 137, 709, 635, 473, + 486, 343, 154, 369, 487, 399, 1921, 366, 1921, 367, + 362, 368, 385, 386, 387, 388, 353, 119, 154, 154, + 369, 370, 372, 323, 389, 390, 391, 390, 392, 458, + 154, 373, 487, 148, 371, 459, 495, 152, 389, 153, + 323, 145, 150, 434, 456, 369, 438, 439, 154, 154, + 451, 372, 496, 440, 457, 435, 229, 436, 458, 373, + 437, 154, 371, 459, 495, 452, 477, 389, 460, 145, + 478, 256, 434, 456, 438, 439, 1921, 154, 154, 451, + 496, 440, 457, 435, 461, 436, 470, 483, 437, 154, + + 481, 350, 462, 452, 463, 477, 491, 460, 488, 478, + 471, 484, 229, 402, 229, 1921, 227, 220, 227, 221, + 464, 465, 461, 404, 466, 470, 483, 241, 481, 350, + 493, 462, 498, 463, 491, 489, 488, 490, 471, 484, + 256, 402, 227, 220, 227, 221, 407, 494, 464, 465, + 499, 404, 466, 227, 220, 227, 221, 244, 493, 434, + 498, 245, 244, 245, 489, 244, 490, 590, 220, 590, + 318, 435, 620, 436, 407, 494, 497, 256, 257, 499, + 251, 252, 253, 254, 506, 507, 508, 509, 434, 246, + 359, 500, 255, 247, 515, 257, 510, 626, 361, 435, + + 620, 436, 621, 640, 497, 257, 255, 257, 256, 1045, + 510, 1045, 257, 257, 257, 1043, 517, 1043, 246, 257, + 500, 247, 515, 257, 256, 513, 511, 257, 643, 257, + 621, 257, 640, 257, 257, 255, 257, 257, 257, 510, + 257, 257, 257, 512, 257, 517, 516, 257, 257, 519, + 257, 257, 523, 257, 513, 511, 257, 643, 257, 514, + 257, 257, 518, 622, 257, 257, 257, 257, 257, 257, + 257, 512, 257, 623, 516, 257, 257, 257, 519, 257, + 257, 523, 257, 413, 229, 521, 522, 514, 323, 520, + 518, 622, 257, 256, 257, 257, 257, 257, 257, 257, + + 524, 623, 257, 256, 257, 525, 257, 257, 323, 526, + 257, 599, 529, 521, 522, 1669, 257, 520, 1670, 257, + 257, 257, 257, 639, 527, 528, 530, 257, 257, 524, + 256, 257, 257, 531, 525, 1734, 257, 526, 539, 257, + 599, 529, 257, 257, 257, 667, 257, 257, 600, 257, + 257, 639, 527, 528, 530, 257, 256, 532, 534, 257, + 257, 257, 531, 257, 533, 257, 539, 257, 1045, 256, + 1045, 257, 257, 535, 667, 257, 600, 257, 257, 429, + 257, 429, 257, 538, 536, 532, 534, 257, 257, 537, + 668, 257, 533, 540, 257, 257, 257, 257, 590, 220, + + 591, 318, 535, 257, 256, 257, 327, 257, 598, 257, + 257, 538, 536, 654, 541, 323, 544, 537, 257, 668, + 257, 540, 542, 257, 597, 257, 656, 431, 545, 431, + 546, 543, 257, 547, 257, 257, 229, 432, 604, 229, + 1398, 654, 541, 119, 119, 544, 635, 257, 257, 257, + 542, 513, 257, 257, 656, 257, 545, 257, 546, 543, + 551, 547, 556, 257, 548, 549, 257, 604, 552, 257, + 257, 550, 257, 323, 257, 624, 362, 344, 257, 344, + 513, 257, 257, 625, 257, 353, 257, 257, 551, 669, + 556, 553, 548, 549, 257, 345, 552, 257, 257, 550, + + 257, 257, 257, 624, 257, 257, 554, 1045, 257, 1045, + 557, 625, 257, 631, 555, 631, 257, 669, 257, 558, + 553, 559, 257, 257, 1751, 257, 632, 257, 632, 257, + 257, 257, 257, 561, 257, 554, 560, 257, 557, 119, + 563, 257, 555, 323, 257, 671, 257, 558, 562, 559, + 257, 670, 257, 257, 256, 256, 257, 257, 256, 256, + 257, 672, 561, 257, 560, 257, 256, 257, 563, 570, + 257, 568, 257, 566, 671, 683, 562, 569, 564, 670, + 257, 565, 257, 567, 257, 571, 641, 257, 641, 672, + 673, 642, 257, 365, 257, 365, 257, 257, 570, 257, + + 568, 572, 566, 573, 683, 569, 564, 366, 257, 565, + 257, 567, 257, 571, 257, 257, 577, 257, 673, 574, + 575, 256, 256, 576, 257, 657, 257, 657, 388, 674, + 572, 675, 573, 578, 257, 579, 594, 657, 594, 658, + 388, 257, 257, 257, 577, 256, 257, 574, 575, 582, + 257, 576, 256, 257, 580, 684, 257, 674, 583, 675, + 257, 578, 257, 579, 601, 595, 601, 257, 581, 257, + 676, 516, 257, 257, 257, 257, 584, 241, 582, 257, + 257, 585, 586, 580, 684, 257, 583, 681, 257, 256, + 229, 257, 257, 595, 595, 257, 581, 257, 676, 516, + + 257, 257, 587, 257, 257, 584, 588, 257, 936, 257, + 585, 586, 601, 589, 602, 681, 327, 257, 598, 257, + 257, 327, 595, 327, 257, 257, 682, 688, 1765, 257, + 597, 587, 152, 1172, 603, 588, 257, 315, 316, 317, + 318, 595, 589, 154, 154, 257, 1163, 687, 349, 255, + 607, 346, 257, 346, 682, 688, 154, 506, 507, 508, + 509, 332, 619, 255, 608, 644, 256, 644, 332, 510, + 595, 332, 154, 154, 609, 332, 687, 349, 332, 607, + 618, 645, 332, 510, 154, 256, 358, 359, 358, 332, + 619, 256, 255, 608, 360, 361, 332, 359, 431, 332, + + 431, 256, 609, 332, 626, 361, 332, 256, 432, 618, + 332, 256, 510, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 332, 322, 322, 322, 322, - 322, 608, 332, 609, 257, 257, 541, 358, 359, 358, - 700, 653, 332, 654, 388, 360, 361, 611, 542, 332, - 543, 610, 257, 612, 346, 701, 346, 322, 322, 125, - 638, 127, 609, 257, 257, 541, 126, 127, 589, 700, - - 332, 1418, 430, 1418, 430, 611, 542, 332, 543, 610, - 257, 612, 431, 614, 701, 322, 322, 322, 330, 322, + 322, 322, 257, 322, 322, 322, 322, 322, 332, 610, + 611, 332, 613, 257, 256, 332, 707, 612, 332, 614, + 677, 332, 710, 678, 713, 615, 689, 256, 332, 720, + 257, 257, 699, 256, 322, 322, 332, 610, 611, 332, + 256, 613, 257, 332, 707, 612, 332, 614, 677, 332, + 710, 678, 713, 615, 507, 689, 332, 720, 257, 507, + 981, 699, 322, 322, 322, 330, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 706, 322, 322, 322, 322, - 322, 257, 614, 125, 346, 256, 346, 365, 125, 365, - 126, 127, 601, 256, 613, 126, 127, 708, 257, 602, - 152, 366, 347, 367, 706, 630, 673, 322, 322, 674, - 257, 154, 154, 614, 365, 505, 365, 625, 505, 252, - 601, 703, 613, 703, 154, 708, 257, 602, 366, 713, - 367, 626, 368, 252, 673, 322, 1422, 674, 1422, 369, - - 154, 154, 614, 704, 365, 625, 365, 365, 640, 365, - 640, 250, 154, 695, 647, 695, 647, 713, 366, 626, - 367, 366, 368, 367, 641, 368, 369, 710, 229, 719, - 648, 385, 386, 387, 388, 696, 711, 712, 765, 633, - 698, 699, 396, 389, 390, 391, 390, 392, 428, 697, - 428, 634, 148, 642, 649, 241, 369, 389, 719, 369, - 413, 150, 413, 657, 658, 659, 660, 633, 698, 699, - 675, 148, 714, 722, 394, 389, 681, 697, 682, 634, - 150, 642, 649, 374, 374, 717, 389, 676, 715, 389, - 396, 707, 716, 720, 721, 723, 374, 723, 718, 675, - - 714, 413, 722, 414, 725, 662, 1857, 726, 727, 728, - 731, 735, 374, 374, 717, 676, 715, 724, 389, 707, - 716, 720, 721, 729, 374, 729, 718, 732, 733, 413, - 734, 414, 685, 725, 685, 726, 736, 727, 728, 731, - 735, 737, 738, 739, 742, 730, 386, 386, 743, 740, - 651, 646, 750, 744, 686, 732, 733, 741, 734, 687, - 645, 745, 751, 752, 688, 736, 753, 754, 759, 737, - 738, 755, 739, 742, 689, 690, 743, 740, 691, 746, - 750, 746, 744, 756, 757, 741, 229, 758, 687, 745, - 751, 760, 752, 688, 761, 753, 754, 759, 762, 755, - - 763, 747, 689, 690, 764, 486, 691, 766, 767, 768, - 769, 756, 757, 770, 748, 758, 771, 229, 229, 760, - 773, 775, 761, 749, 776, 778, 762, 875, 763, 779, - 780, 781, 764, 486, 241, 766, 767, 768, 769, 675, - 644, 770, 748, 718, 771, 256, 772, 256, 773, 643, - 775, 749, 256, 776, 778, 875, 777, 631, 779, 780, - 781, 774, 256, 782, 783, 244, 783, 785, 675, 785, - 254, 718, 791, 256, 785, 772, 786, 254, 787, 256, - 787, 507, 256, 792, 777, 504, 505, 506, 507, 774, - 796, 787, 782, 788, 507, 256, 784, 508, 256, 794, - - 256, 791, 256, 256, 127, 256, 256, 793, 623, 256, - 795, 508, 792, 256, 413, 797, 125, 256, 796, 256, - 122, 256, 256, 1146, 1147, 784, 256, 794, 256, 798, - 809, 803, 808, 256, 119, 793, 805, 806, 799, 795, - 508, 800, 807, 797, 801, 810, 323, 802, 804, 811, - 323, 692, 256, 692, 826, 525, 256, 798, 825, 817, - 803, 808, 256, 256, 805, 806, 799, 819, 820, 800, - 256, 807, 801, 693, 810, 802, 804, 256, 811, 695, - 256, 695, 826, 525, 685, 256, 685, 825, 817, 821, - 822, 703, 256, 703, 256, 819, 820, 823, 256, 256, - - 256, 696, 256, 256, 589, 824, 686, 256, 256, 252, - 256, 812, 252, 704, 256, 818, 813, 499, 821, 822, - 829, 256, 250, 256, 256, 823, 814, 815, 827, 244, - 816, 256, 828, 824, 831, 833, 836, 723, 256, 723, - 812, 834, 830, 818, 835, 813, 838, 832, 829, 839, - 256, 840, 837, 256, 814, 815, 827, 256, 816, 724, - 828, 843, 845, 831, 833, 836, 729, 256, 729, 834, - 830, 256, 835, 256, 838, 832, 256, 841, 839, 256, - 840, 837, 256, 256, 256, 256, 241, 842, 730, 843, - 256, 845, 615, 844, 846, 256, 256, 256, 256, 229, - - 256, 256, 229, 746, 256, 746, 841, 256, 256, 256, - 849, 1422, 848, 1422, 847, 842, 256, 853, 850, 852, - 615, 844, 854, 846, 861, 747, 851, 858, 859, 256, - 855, 860, 256, 256, 862, 362, 865, 864, 856, 849, - 848, 863, 847, 256, 868, 853, 850, 857, 852, 866, - 871, 854, 323, 861, 851, 858, 859, 122, 855, 256, - 860, 867, 353, 862, 865, 864, 856, 119, 323, 863, - 250, 869, 868, 870, 244, 857, 323, 866, 871, 873, - 220, 873, 318, 896, 241, 872, 873, 220, 874, 318, - 867, 315, 316, 317, 318, 881, 597, 1897, 879, 869, - - 332, 870, 880, 255, 597, 883, 597, 886, 597, 332, - 879, 332, 896, 872, 877, 73, 894, 255, 921, 70, - 921, 388, 332, 881, 887, 591, 877, 1897, 1897, 332, - 880, 332, 1897, 591, 883, 886, 888, 591, 332, 889, - 332, 327, 890, 878, 894, 256, 255, 590, 220, 590, - 221, 332, 887, 901, 591, 332, 256, 152, 903, 882, - 332, 899, 591, 256, 888, 900, 591, 889, 154, 154, - 890, 893, 897, 222, 223, 930, 591, 224, 365, 225, - 365, 154, 901, 898, 332, 832, 895, 903, 902, 899, - 479, 1897, 366, 900, 1897, 1897, 631, 154, 154, 893, - - 119, 897, 222, 223, 930, 591, 224, 1687, 225, 154, - 1897, 1897, 898, 832, 1688, 895, 902, 1689, 479, 322, + 322, 322, 705, 322, 322, 322, 322, 322, 544, 125, + 257, 346, 706, 346, 721, 711, 126, 127, 722, 605, + 545, 980, 546, 617, 686, 616, 606, 257, 685, 345, + 792, 705, 792, 254, 322, 322, 666, 544, 726, 257, + 618, 706, 721, 346, 711, 346, 722, 605, 545, 725, + 546, 617, 630, 616, 606, 257, 358, 359, 358, 152, + 125, 347, 322, 936, 360, 361, 726, 126, 127, 618, + 154, 154, 618, 365, 365, 365, 365, 728, 725, 365, + 630, 365, 644, 154, 644, 386, 386, 366, 366, 367, + + 367, 634, 368, 366, 629, 367, 930, 368, 645, 154, + 154, 618, 365, 651, 365, 651, 728, 390, 391, 390, + 392, 154, 703, 704, 637, 148, 366, 727, 367, 652, + 368, 413, 629, 413, 150, 369, 369, 646, 732, 929, + 731, 369, 385, 386, 387, 388, 679, 685, 394, 686, + 703, 704, 637, 653, 389, 727, 638, 374, 374, 661, + 662, 663, 664, 680, 369, 646, 732, 148, 389, 731, + 374, 389, 413, 715, 414, 679, 150, 700, 429, 700, + 429, 653, 716, 717, 638, 389, 374, 374, 927, 733, + 723, 680, 718, 734, 729, 737, 729, 389, 374, 701, + + 413, 719, 414, 724, 735, 738, 735, 739, 740, 741, + 742, 926, 743, 702, 389, 690, 730, 690, 733, 723, + 718, 712, 734, 744, 737, 745, 736, 748, 642, 719, + 750, 724, 749, 738, 757, 739, 740, 691, 741, 742, + 743, 702, 692, 642, 746, 751, 759, 693, 753, 712, + 753, 744, 747, 752, 745, 760, 748, 694, 695, 750, + 749, 696, 757, 758, 761, 127, 762, 763, 764, 765, + 754, 692, 746, 766, 751, 759, 693, 767, 768, 769, + 747, 752, 770, 755, 760, 694, 695, 771, 488, 696, + 773, 758, 756, 761, 762, 763, 764, 765, 774, 775, + + 776, 777, 766, 778, 229, 767, 768, 769, 229, 229, + 770, 755, 782, 593, 783, 771, 488, 785, 773, 679, + 756, 786, 787, 256, 788, 241, 774, 775, 776, 777, + 256, 778, 256, 779, 256, 724, 784, 790, 244, 790, + 256, 782, 780, 783, 256, 256, 785, 256, 679, 256, + 786, 787, 781, 788, 789, 792, 256, 793, 254, 798, + 256, 799, 779, 724, 784, 794, 803, 794, 509, 791, + 780, 256, 256, 506, 507, 508, 509, 801, 800, 794, + 781, 795, 509, 789, 256, 510, 807, 802, 798, 806, + 799, 256, 256, 804, 803, 256, 810, 256, 791, 510, + + 256, 256, 256, 413, 256, 801, 800, 808, 256, 256, + 809, 256, 507, 811, 807, 256, 802, 806, 805, 816, + 814, 804, 825, 256, 256, 810, 812, 815, 510, 813, + 507, 819, 817, 252, 833, 808, 818, 256, 809, 252, + 256, 811, 829, 1437, 527, 1437, 805, 256, 250, 814, + 830, 825, 827, 828, 812, 256, 815, 813, 837, 256, + 819, 817, 256, 833, 818, 697, 256, 697, 700, 256, + 700, 829, 527, 690, 256, 690, 256, 256, 831, 830, + 827, 828, 832, 838, 256, 256, 837, 698, 229, 835, + 701, 708, 256, 708, 256, 691, 834, 256, 836, 256, + + 820, 772, 396, 843, 826, 821, 831, 256, 396, 256, + 832, 838, 840, 709, 666, 822, 823, 835, 844, 824, + 839, 842, 256, 845, 834, 841, 836, 847, 256, 820, + 846, 843, 826, 848, 821, 729, 256, 729, 735, 256, + 735, 840, 256, 822, 823, 256, 844, 824, 839, 849, + 842, 256, 845, 841, 256, 847, 852, 730, 256, 846, + 736, 256, 848, 256, 853, 256, 256, 256, 256, 850, + 631, 386, 631, 256, 256, 386, 256, 855, 849, 851, + 256, 655, 854, 632, 852, 632, 256, 1441, 256, 1441, + 256, 256, 853, 256, 858, 861, 650, 857, 850, 856, + + 256, 859, 862, 863, 870, 256, 855, 851, 256, 860, + 868, 854, 864, 256, 753, 256, 753, 869, 871, 256, + 865, 256, 874, 858, 861, 857, 878, 856, 873, 859, + 862, 875, 863, 870, 877, 872, 754, 860, 868, 885, + 876, 864, 256, 649, 327, 869, 888, 871, 865, 866, + 874, 323, 323, 881, 878, 879, 873, 648, 867, 875, + 647, 880, 887, 877, 872, 256, 619, 885, 876, 883, + 220, 883, 318, 883, 220, 884, 318, 866, 601, 323, + 889, 881, 909, 879, 882, 890, 867, 910, 905, 880, + 315, 316, 317, 318, 619, 891, 887, 601, 635, 601, + + 332, 601, 255, 889, 332, 256, 127, 595, 893, 332, + 909, 896, 882, 890, 898, 910, 255, 905, 931, 887, + 931, 388, 897, 891, 119, 327, 595, 888, 332, 332, + 595, 911, 908, 332, 256, 904, 595, 893, 332, 896, + 627, 152, 898, 892, 122, 255, 594, 220, 594, 221, + 897, 912, 154, 154, 913, 595, 332, 332, 906, 595, + 911, 908, 914, 904, 899, 154, 119, 900, 332, 901, + 940, 332, 222, 223, 941, 595, 224, 942, 225, 912, + 944, 154, 154, 913, 903, 332, 902, 906, 928, 481, + 914, 119, 899, 154, 365, 900, 365, 332, 901, 940, + + 332, 222, 223, 941, 595, 224, 942, 225, 366, 944, + 256, 1441, 903, 1441, 902, 915, 928, 481, 322, 322, + 330, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 907, 322, 322, + 322, 322, 322, 937, 915, 125, 323, 1921, 125, 1921, + 841, 945, 126, 127, 894, 126, 127, 651, 938, 651, + 1921, 931, 1921, 932, 388, 323, 907, 125, 939, 322, + 322, 937, 593, 652, 126, 127, 252, 918, 841, 918, + 945, 1015, 894, 1015, 252, 1500, 938, 1500, 919, 916, + 1921, 1016, 1921, 920, 917, 921, 939, 322, 322, 322, + + 330, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 916, 322, 322, + 322, 322, 322, 917, 365, 501, 365, 895, 250, 922, + 365, 644, 365, 644, 943, 946, 244, 365, 366, 365, + 241, 947, 634, 365, 366, 365, 948, 645, 635, 322, + 322, 366, 651, 367, 651, 368, 895, 366, 949, 367, + 951, 368, 943, 946, 933, 391, 933, 664, 652, 947, + 952, 925, 148, 327, 948, 1131, 369, 322, 953, 924, + 229, 150, 661, 662, 663, 664, 950, 949, 951, 369, + 148, 1130, 954, 955, 389, 369, 964, 965, 952, 150, + + 925, 933, 391, 934, 664, 966, 953, 924, 389, 148, + 967, 390, 391, 390, 392, 950, 968, 975, 150, 148, + 954, 956, 955, 956, 964, 697, 965, 697, 150, 969, + 700, 970, 700, 971, 966, 972, 978, 389, 967, 984, + 973, 979, 973, 229, 985, 968, 975, 698, 708, 976, + 708, 976, 701, 957, 362, 986, 715, 969, 988, 970, + 991, 971, 974, 972, 978, 716, 717, 958, 984, 979, + 709, 977, 985, 987, 989, 982, 715, 982, 992, 993, + 122, 990, 957, 986, 994, 716, 717, 988, 983, 991, + 983, 997, 995, 998, 995, 958, 690, 983, 690, 353, + + 729, 987, 729, 989, 1004, 999, 992, 999, 993, 990, + 1001, 1005, 1001, 994, 996, 735, 1006, 735, 691, 1007, + 997, 998, 730, 959, 119, 1008, 1012, 1000, 960, 250, + 1009, 1010, 1002, 1004, 1011, 1013, 1014, 736, 961, 962, + 1005, 1019, 963, 1023, 1006, 1003, 753, 1007, 753, 1017, + 1020, 1017, 959, 983, 1008, 1012, 1021, 960, 1009, 1010, + 1022, 1024, 1011, 1013, 1025, 1014, 961, 962, 754, 1019, + 963, 1018, 1023, 1003, 1026, 1027, 1030, 1028, 1020, 1028, + 1031, 1032, 1033, 1035, 1021, 1034, 1036, 1037, 1022, 1038, + 1024, 229, 1025, 229, 229, 1042, 1046, 241, 1044, 1029, + + 244, 1128, 1026, 244, 1027, 1030, 949, 241, 1921, 1031, + 1032, 1033, 1035, 1034, 73, 1036, 1037, 989, 1038, 256, + 256, 1041, 70, 1042, 990, 1046, 256, 1044, 1047, 1128, + 1048, 1039, 1048, 1921, 1040, 949, 1052, 1051, 256, 256, + 1049, 790, 244, 790, 1050, 1053, 989, 1053, 254, 1050, + 1041, 1053, 990, 1054, 254, 1055, 1047, 1055, 509, 1039, + 1057, 1059, 1040, 1058, 1052, 1051, 1055, 256, 1056, 509, + 256, 256, 256, 791, 256, 256, 1066, 256, 256, 1063, + 256, 256, 256, 256, 256, 256, 256, 256, 1057, 1059, + 1921, 1058, 1060, 1921, 256, 1064, 256, 1921, 1062, 1061, + + 256, 1065, 791, 256, 1066, 1070, 1921, 1063, 256, 1067, + 1151, 1069, 1075, 256, 256, 1071, 256, 256, 1074, 1073, + 1068, 1060, 256, 1078, 1064, 1072, 1082, 1062, 1061, 1085, + 1065, 956, 256, 956, 1070, 256, 1079, 1067, 1083, 1151, + 1069, 1075, 1088, 1071, 1080, 1089, 1074, 1073, 1068, 256, + 1081, 1078, 1087, 1072, 1084, 1082, 1086, 1085, 973, 256, + 973, 256, 256, 1076, 256, 1079, 1083, 976, 256, 976, + 1088, 256, 256, 1080, 1089, 1090, 256, 1077, 1081, 1921, + 974, 1087, 1084, 256, 1086, 256, 256, 256, 256, 977, + 256, 1092, 1076, 1093, 256, 1096, 995, 256, 995, 1099, + + 1094, 1921, 256, 1090, 1091, 1077, 256, 1095, 1097, 256, + 1100, 256, 1098, 256, 1104, 999, 256, 999, 996, 1092, + 1101, 1103, 1093, 1106, 1096, 1001, 256, 1001, 1099, 1094, + 256, 1105, 1091, 1107, 256, 1095, 1097, 1000, 256, 1100, + 256, 1098, 256, 1104, 1108, 256, 256, 1002, 1101, 1112, + 1103, 1106, 256, 1109, 256, 1110, 256, 1111, 256, 1105, + 1102, 1113, 1107, 1015, 256, 1015, 256, 1017, 256, 1017, + 1118, 1119, 1108, 1016, 1115, 1153, 256, 1112, 1114, 1179, + 256, 1109, 1116, 1110, 1150, 1122, 1111, 1180, 1102, 1018, + 1113, 1121, 1117, 1123, 323, 1120, 1028, 256, 1028, 1118, + + 1119, 229, 1115, 1124, 1153, 323, 1114, 1125, 1179, 323, + 1116, 322, 1150, 322, 1122, 601, 1180, 1132, 1029, 1121, + 1117, 1134, 1123, 1120, 1126, 220, 1126, 318, 1126, 220, + 1127, 318, 1124, 1130, 256, 1921, 1125, 594, 220, 1129, + 221, 601, 1184, 1132, 595, 1173, 1133, 1173, 388, 1136, + 1134, 119, 1841, 1138, 322, 1130, 322, 1148, 1921, 1130, + 327, 1186, 1131, 222, 223, 1921, 595, 224, 1193, 225, + 595, 1184, 1921, 595, 1133, 1155, 152, 1136, 1135, 1921, + 481, 1138, 1140, 918, 1921, 918, 1148, 154, 154, 322, + 1186, 322, 222, 223, 919, 595, 224, 1193, 225, 595, + + 154, 322, 125, 322, 1155, 365, 241, 365, 481, 1160, + 1161, 1140, 322, 322, 322, 322, 154, 154, 1173, 366, + 1174, 388, 1137, 323, 1137, 1139, 1921, 1141, 154, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 904, 322, - 322, 322, 322, 322, 891, 627, 332, 627, 918, 125, - 1897, 640, 1897, 640, 1897, 884, 126, 127, 628, 927, - 628, 892, 647, 1897, 647, 1897, 904, 641, 1897, 1897, - 322, 322, 119, 891, 1897, 332, 918, 1897, 648, 365, - 1897, 365, 921, 884, 922, 388, 1480, 927, 1480, 892, - 906, 1897, 1480, 366, 1480, 931, 905, 630, 322, 322, - + 322, 322, 322, 322, 322, 322, 322, 322, 1142, 322, + 322, 322, 322, 322, 1139, 1141, 1143, 1843, 1921, 1048, + 256, 1048, 1175, 391, 1175, 664, 1177, 1178, 1181, 1049, + 148, 1921, 1183, 1050, 1197, 322, 1142, 322, 1050, 150, + 322, 322, 1921, 1921, 1143, 1175, 391, 1176, 664, 1267, + 125, 1267, 254, 148, 1177, 1178, 1181, 1351, 1352, 1144, + + 1183, 1921, 150, 1197, 1921, 1921, 1185, 1145, 322, 322, + 1137, 330, 1137, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 1144, 322, + 322, 322, 322, 322, 1185, 322, 1145, 322, 322, 256, + 322, 918, 125, 918, 1921, 1187, 1190, 1921, 1188, 126, + 127, 1921, 919, 1191, 918, 1189, 918, 920, 1192, 1162, + 322, 322, 365, 1146, 365, 919, 1147, 1198, 1094, 1158, + 920, 1194, 921, 1187, 1190, 1095, 366, 1188, 367, 1149, + 368, 1191, 1199, 1189, 1200, 1921, 1192, 1201, 322, 1203, + 1165, 1921, 1146, 922, 1202, 1147, 1198, 1094, 1158, 1194, + + 1921, 125, 1015, 1095, 1015, 1921, 922, 1149, 126, 127, + 1199, 1921, 1016, 1200, 369, 956, 1201, 956, 1203, 1165, + 1152, 1166, 1202, 1166, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1167, 1152, 1168, 1152, 1169, + 1152, 1152, 1152, 1152, 1152, 1921, 1206, 1195, 661, 662, + 663, 664, 1204, 1205, 1207, 1208, 148, 1209, 1211, 1209, + 389, 1196, 1212, 1221, 1222, 150, 973, 1223, 973, 1224, + 1226, 1152, 1152, 1171, 389, 1206, 1195, 1225, 1921, 1210, + 1204, 1205, 1921, 1207, 1208, 1500, 1211, 1500, 974, 1196, + 1921, 1212, 1221, 1222, 125, 1227, 1223, 1224, 1226, 1152, + + 1921, 126, 127, 389, 1152, 1152, 1225, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1227, 1152, 1152, 1152, 1152, 1152, 976, + 1213, 976, 1213, 1231, 1921, 1215, 1267, 1215, 1268, 254, + 1921, 980, 1229, 1214, 1229, 1214, 981, 1228, 1216, 1232, + 1216, 977, 1214, 715, 323, 1152, 1152, 1216, 982, 715, + 982, 1231, 1218, 1219, 1230, 1220, 1233, 1220, 716, 717, + 995, 983, 995, 983, 1220, 999, 1228, 999, 1232, 1001, + 983, 1001, 1234, 1152, 1237, 1235, 1236, 1238, 1239, 1240, + 1921, 1241, 996, 1242, 1243, 1233, 1244, 1000, 1017, 1245, + + 1017, 1002, 1921, 1246, 1247, 1853, 1248, 1250, 1214, 1249, + 1921, 1234, 1237, 1216, 1235, 1236, 1238, 1239, 1240, 1241, + 1018, 1251, 1242, 1243, 1244, 1252, 1028, 1245, 1028, 1255, + 1220, 1246, 1256, 1247, 1248, 1250, 983, 1253, 1249, 1253, + 1257, 1048, 229, 1048, 229, 1261, 1262, 1254, 1029, 1251, + 1263, 1049, 1264, 1252, 241, 1050, 244, 256, 1255, 256, + 1050, 1256, 256, 1050, 1269, 1050, 1269, 509, 1257, 256, + 1048, 1259, 1048, 1258, 1261, 1262, 256, 1050, 1263, 1921, + 1049, 1264, 1050, 1330, 1050, 1265, 1273, 256, 1269, 1050, + 1270, 509, 1921, 1272, 1209, 256, 1209, 1921, 1266, 1274, + + 1259, 1921, 1258, 1271, 1437, 1275, 1437, 256, 1229, 256, + 1229, 1330, 1921, 1921, 1265, 1273, 1210, 1253, 256, 1253, + 256, 1272, 1921, 256, 256, 1277, 1266, 1254, 1274, 256, + 1230, 1271, 1278, 1275, 1152, 1152, 256, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1277, 1152, 1152, 1152, 1152, 1152, 1279, + 1281, 1278, 256, 256, 256, 1286, 1284, 256, 256, 256, + 256, 256, 256, 256, 256, 1921, 1921, 256, 256, 256, + 256, 256, 256, 256, 256, 1152, 1152, 1279, 1281, 1280, + 256, 256, 1282, 1286, 1284, 1287, 1294, 1921, 1285, 1283, + + 1289, 1290, 1921, 1288, 1291, 1293, 256, 1292, 1295, 256, + 1296, 1297, 1305, 1152, 256, 1298, 256, 1300, 1280, 1303, + 1304, 1282, 1301, 1306, 1287, 1294, 1285, 1283, 256, 1289, + 1290, 1288, 1291, 1299, 1293, 1292, 1302, 1295, 1296, 1307, + 1297, 1305, 256, 256, 1298, 1309, 1300, 1303, 1304, 256, + 1301, 1306, 256, 256, 256, 1308, 256, 256, 256, 256, + 256, 256, 1299, 256, 256, 1302, 256, 323, 1307, 1311, + 1310, 256, 256, 323, 1309, 256, 1921, 1921, 332, 1313, + 1314, 1317, 1318, 1921, 1308, 1312, 1369, 1315, 1921, 1322, + 332, 332, 1337, 1324, 1331, 1921, 1316, 1321, 1311, 1310, + + 1319, 1921, 1320, 601, 1333, 601, 1323, 332, 1313, 1314, + 1317, 1318, 1325, 1312, 1369, 1326, 1315, 1327, 1322, 332, + 332, 1337, 1324, 1331, 1316, 1321, 1370, 601, 1319, 601, + 1320, 1921, 595, 1333, 1323, 1328, 220, 1328, 318, 1345, + 1325, 1372, 1921, 1326, 332, 1327, 1328, 220, 1329, 318, + 594, 220, 594, 221, 1370, 1336, 595, 256, 1921, 256, + 332, 595, 1373, 332, 365, 332, 365, 1340, 1345, 1372, + 327, 1339, 327, 332, 1341, 1338, 222, 223, 366, 595, + 224, 1921, 225, 1336, 1921, 595, 152, 1344, 153, 332, + 1373, 1343, 332, 481, 332, 1921, 1340, 154, 154, 1371, + + 1339, 1921, 1341, 1338, 1377, 222, 223, 1379, 595, 224, + 154, 225, 918, 918, 918, 918, 1344, 1921, 918, 1343, + 918, 481, 1921, 919, 919, 1921, 154, 154, 1371, 919, + 1162, 1163, 1360, 1377, 1360, 388, 1379, 1384, 154, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 906, 322, - 322, 322, 322, 322, 931, 905, 125, 908, 885, 908, - 932, 369, 1897, 126, 127, 1897, 928, 934, 909, 640, - 1897, 640, 1897, 910, 365, 911, 365, 365, 929, 365, - 322, 322, 647, 907, 647, 641, 933, 885, 366, 932, - 367, 366, 368, 367, 928, 368, 934, 936, 648, 935, - 1003, 692, 1003, 692, 1897, 915, 929, 937, 322, 912, - 1004, 938, 907, 941, 933, 942, 914, 939, 1897, 923, - 391, 923, 660, 693, 940, 936, 369, 148, 935, 369, - - 657, 658, 659, 660, 915, 937, 150, 943, 148, 938, - 944, 941, 389, 942, 914, 953, 939, 150, 954, 923, - 391, 924, 660, 940, 955, 957, 389, 148, 956, 390, - 391, 390, 392, 958, 964, 943, 150, 148, 944, 945, - 695, 945, 695, 953, 959, 960, 150, 954, 961, 967, - 968, 1897, 1897, 955, 957, 389, 956, 962, 703, 962, - 703, 958, 696, 964, 965, 710, 965, 974, 973, 1897, - 975, 946, 959, 960, 711, 712, 961, 967, 968, 963, - 704, 971, 710, 971, 980, 947, 966, 986, 976, 979, - 981, 711, 712, 982, 972, 974, 972, 973, 975, 977, - - 946, 985, 983, 972, 983, 723, 978, 723, 992, 987, - 993, 987, 980, 947, 685, 986, 685, 976, 979, 981, - 994, 995, 982, 989, 984, 989, 997, 724, 977, 1897, - 985, 988, 996, 729, 978, 729, 686, 992, 998, 993, - 999, 948, 1000, 1897, 1001, 990, 949, 1002, 994, 995, - 1007, 746, 1008, 746, 997, 730, 950, 951, 991, 972, - 952, 996, 1009, 1010, 1011, 1005, 998, 1005, 999, 1012, - 948, 1000, 1001, 747, 1013, 949, 1002, 1014, 1007, 1015, - 1008, 1016, 1018, 1016, 950, 951, 991, 1006, 952, 1019, - 1009, 1010, 1020, 1011, 1021, 229, 1022, 1023, 1012, 1024, - - 1025, 1026, 1013, 1017, 229, 1014, 229, 1032, 1015, 1030, - 1034, 1018, 241, 256, 244, 939, 256, 1897, 1019, 256, - 977, 1020, 256, 1021, 1022, 1897, 1023, 978, 1024, 1025, - 1026, 1035, 1036, 1029, 1036, 1027, 1032, 1030, 1041, 1034, - 1041, 254, 1037, 256, 939, 1028, 1038, 1048, 1049, 977, - 1040, 1038, 1039, 1046, 1045, 978, 783, 244, 783, 1035, - 256, 256, 1029, 1027, 1041, 256, 1042, 254, 1043, 256, - 1043, 507, 1043, 1028, 1044, 507, 1048, 1049, 1040, 256, - 1039, 1046, 1045, 256, 1047, 256, 256, 1050, 784, 256, - 256, 256, 1052, 256, 945, 256, 945, 256, 256, 1055, - - 256, 256, 1051, 256, 256, 256, 1053, 256, 256, 1897, - 1137, 256, 1047, 1058, 1897, 256, 1050, 784, 1114, 256, - 1054, 1052, 1057, 1897, 1059, 1067, 1063, 1055, 1056, 1061, - 1051, 1062, 1060, 1066, 1069, 1053, 256, 1065, 256, 1137, - 1064, 256, 1058, 256, 1897, 1070, 1114, 1073, 1054, 1071, - 1068, 1057, 1059, 1072, 1067, 1063, 1056, 1061, 1077, 1062, - 1060, 1075, 1066, 1069, 256, 1065, 1074, 256, 1064, 962, - 256, 962, 1076, 1070, 1079, 1073, 256, 1071, 1068, 256, - 1078, 1072, 965, 256, 965, 256, 1077, 256, 256, 1075, - 1897, 963, 256, 1080, 256, 1074, 256, 1897, 1082, 256, - - 1081, 1076, 1085, 1079, 966, 256, 256, 256, 1078, 256, - 256, 256, 1083, 1086, 1084, 983, 256, 983, 256, 1090, - 256, 1087, 1080, 987, 256, 987, 256, 1082, 1081, 1092, - 1089, 1085, 989, 256, 989, 1897, 1093, 984, 1094, 1897, - 1083, 1097, 1086, 1084, 1091, 988, 1098, 1095, 1090, 1087, - 256, 1100, 1096, 256, 990, 256, 1103, 1092, 256, 1089, - 1101, 1003, 256, 1003, 256, 1093, 1094, 1088, 256, 256, - 1097, 1004, 1091, 256, 1098, 1095, 1005, 256, 1005, 1100, - 1096, 1099, 256, 1104, 1103, 1016, 256, 1016, 1101, 1105, - 256, 323, 1107, 1102, 1136, 1088, 1108, 1194, 1006, 1194, - - 1109, 1112, 220, 1112, 318, 1897, 327, 1017, 1117, 1110, - 1099, 1106, 1104, 1112, 220, 1113, 318, 1111, 1105, 1195, - 1107, 1102, 1136, 1897, 1116, 1108, 597, 323, 1118, 1109, - 1897, 323, 1119, 597, 322, 1118, 322, 1139, 1110, 1106, - 322, 327, 322, 1117, 1116, 1897, 1111, 590, 220, 1115, - 221, 1116, 256, 1897, 1120, 591, 1897, 152, 1125, 1121, - 1119, 119, 591, 1897, 1163, 1116, 1139, 1164, 154, 154, - 1897, 1122, 1165, 222, 223, 1134, 591, 224, 322, 225, - 322, 154, 1124, 1120, 591, 1141, 365, 1125, 365, 1167, - 479, 591, 1163, 1897, 322, 1164, 322, 154, 154, 1122, - - 366, 1165, 222, 223, 1134, 591, 224, 1897, 225, 154, - 1124, 322, 1897, 322, 1141, 1897, 1127, 1167, 479, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 1921, 322, + 322, 322, 322, 322, 922, 631, 1384, 631, 1334, 1360, + 1921, 1361, 388, 1374, 1364, 1375, 1364, 1366, 632, 1366, + 632, 1362, 391, 1362, 664, 1376, 365, 1378, 365, 148, + 322, 322, 365, 365, 365, 365, 1365, 1334, 150, 1367, + + 366, 1374, 367, 1375, 634, 1921, 366, 366, 367, 367, + 368, 368, 1921, 1376, 1443, 1378, 1443, 509, 322, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 1129, 322, - 322, 322, 322, 322, 1127, 1897, 1128, 1033, 256, 1033, - 1036, 256, 1036, 1166, 908, 1159, 908, 1159, 388, 1169, - 1037, 322, 1170, 322, 1038, 909, 1129, 1171, 1172, 1038, - 322, 322, 1897, 1159, 1128, 1160, 388, 1161, 391, 1161, - 660, 1251, 1166, 1251, 254, 148, 1003, 1169, 1003, 1126, - 1251, 1170, 1252, 254, 150, 1171, 1004, 1172, 322, 322, - - 1123, 330, 1123, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 1126, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 125, 322, - 256, 322, 1173, 1176, 1177, 126, 127, 1161, 391, 1162, - 660, 1178, 1179, 1182, 1897, 148, 1184, 908, 1130, 908, - 322, 322, 1897, 1132, 150, 1144, 1131, 1133, 909, 1080, - 1173, 1176, 1177, 910, 1183, 1148, 1081, 1185, 1897, 1178, - 1135, 1179, 1182, 365, 1184, 365, 1897, 1130, 322, 908, - 1186, 908, 1132, 1187, 1144, 1131, 1133, 366, 1080, 367, - 909, 368, 1188, 1183, 1081, 910, 1185, 911, 1135, 912, - - 125, 1151, 657, 658, 659, 660, 1189, 1333, 1334, 1186, - 148, 1187, 1897, 1237, 389, 1237, 1237, 256, 1237, 150, - 1418, 1188, 1418, 1238, 1897, 369, 1238, 945, 389, 945, - 1151, 912, 1138, 1152, 1189, 1152, 1138, 1138, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1153, 1138, 1154, - 1138, 1155, 1138, 1138, 1138, 1138, 1138, 389, 1174, 1180, - 1897, 1190, 1191, 1192, 1897, 1175, 1193, 1897, 1196, 1197, - 1206, 1207, 962, 1181, 962, 965, 1208, 965, 1209, 1897, - 1210, 1211, 1215, 1138, 1138, 1157, 1897, 1174, 1180, 1190, - 1897, 1191, 1192, 1175, 963, 1193, 1196, 966, 1197, 1206, - - 1207, 1181, 1212, 1253, 1208, 1253, 507, 1209, 1210, 1211, - 1215, 1138, 1138, 1138, 1216, 1138, 1138, 1138, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, - 1138, 1212, 1138, 1138, 1138, 1138, 1138, 1198, 1200, 1198, - 1200, 1897, 1897, 1216, 1237, 1213, 1237, 1213, 969, 970, - 1199, 1201, 1199, 1201, 1238, 971, 710, 971, 1217, 1199, - 1201, 1218, 710, 1138, 1138, 711, 712, 1214, 972, 1219, - 972, 1203, 1204, 983, 1205, 983, 1205, 972, 987, 989, - 987, 989, 1220, 1205, 1221, 1222, 1897, 1217, 1223, 1224, - 1218, 1138, 1225, 1226, 1227, 984, 1228, 1005, 1219, 1005, - - 988, 990, 1229, 1230, 1232, 1231, 1233, 1897, 1234, 1235, - 1236, 1220, 1221, 1239, 1222, 1199, 1201, 1223, 1224, 1006, - 1225, 1240, 1226, 1227, 1228, 1016, 1241, 1016, 229, 229, - 1229, 1230, 1232, 972, 1231, 1233, 1234, 1235, 1236, 1205, - 1245, 1036, 1239, 1036, 1246, 244, 1247, 1017, 1248, 256, - 1240, 1037, 241, 256, 1241, 1038, 1243, 256, 256, 1242, - 1038, 1036, 1038, 1036, 1038, 1253, 256, 1254, 507, 1245, - 256, 1037, 256, 1246, 1247, 1038, 1038, 1248, 1897, 1897, - 1038, 1038, 332, 1249, 1257, 1243, 1312, 1250, 1242, 1256, - 1255, 1897, 256, 1258, 256, 1897, 1261, 1262, 1194, 256, - - 1194, 1897, 1259, 1310, 220, 1310, 318, 1310, 220, 1311, - 318, 332, 1249, 1257, 1312, 1250, 1897, 1256, 1255, 256, - 1195, 1264, 1258, 256, 1261, 256, 1262, 256, 1263, 256, - 1259, 1138, 1138, 256, 1138, 1138, 1138, 1138, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, - 1264, 1138, 1138, 1138, 1138, 1138, 1263, 256, 256, 1265, - 1268, 1269, 256, 1274, 256, 256, 1270, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 1213, - 256, 1213, 1138, 1138, 256, 1271, 1266, 1265, 1268, 1269, - 1272, 1274, 256, 1267, 1270, 1273, 1276, 1277, 1282, 1278, - - 1281, 1214, 1275, 1279, 1280, 1284, 1287, 256, 1283, 256, - 1138, 256, 1286, 1285, 1271, 1266, 256, 256, 256, 1272, - 1294, 1267, 256, 1291, 1273, 1276, 1277, 1282, 1278, 1281, - 1275, 1279, 1289, 1280, 1284, 1287, 1283, 256, 1290, 256, - 1286, 1285, 256, 1293, 1292, 1295, 256, 256, 1294, 1288, - 256, 256, 1291, 1297, 256, 256, 256, 256, 256, 256, - 597, 1289, 597, 323, 1296, 1299, 1897, 1290, 323, 1897, - 1897, 1300, 1293, 1292, 1295, 1897, 597, 1288, 597, 1351, - 1897, 1298, 1297, 1304, 332, 1306, 1897, 1303, 1301, 591, - 1313, 1897, 1302, 1296, 1299, 1318, 1305, 1307, 1308, 1315, - - 1300, 1309, 1123, 323, 1123, 591, 332, 1351, 1319, 1298, - 256, 1897, 1304, 332, 1306, 1303, 1301, 1897, 591, 1313, - 1302, 332, 1327, 1318, 1305, 1307, 1308, 1897, 1315, 1309, - 590, 220, 590, 221, 591, 332, 327, 1319, 327, 332, - 332, 125, 332, 1897, 1325, 1321, 1322, 1897, 126, 127, - 332, 1327, 152, 1323, 153, 1320, 222, 223, 125, 591, - 224, 1353, 225, 154, 154, 126, 127, 256, 332, 332, - 1897, 332, 1325, 479, 1321, 1322, 154, 1418, 256, 1418, - 365, 1323, 365, 1320, 1897, 222, 223, 1897, 591, 224, - 1353, 225, 154, 154, 366, 1326, 1342, 1897, 1342, 388, - - 1342, 479, 1343, 388, 154, 322, 322, 330, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 1326, 322, 322, 322, 322, 322, - 908, 908, 908, 908, 1316, 908, 1352, 908, 627, 1354, - 627, 909, 909, 1346, 1897, 1346, 909, 1897, 1148, 1149, - 1355, 628, 365, 628, 365, 1356, 322, 322, 365, 365, - 365, 365, 1897, 1316, 1352, 1347, 366, 1354, 367, 1897, - 630, 710, 366, 366, 367, 367, 368, 368, 1355, 1897, - 1203, 1204, 912, 1356, 322, 322, 322, 330, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 369, 322, + 322, 322, 322, 322, 369, 369, 1335, 1362, 391, 1363, + 664, 1383, 1385, 1386, 1389, 148, 1387, 1388, 1390, 1391, + 1921, 1392, 1393, 1397, 150, 1404, 1396, 1921, 715, 1405, + 322, 322, 1921, 1921, 1394, 1335, 1394, 1218, 1219, 1383, + 1921, 1385, 1386, 1389, 1387, 1388, 1921, 1390, 1391, 1392, + 1393, 1397, 1380, 1404, 1380, 1396, 1395, 1405, 322, 1332, + + 1332, 330, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1381, 1332, + 1332, 1332, 1332, 1332, 1209, 1921, 1209, 1213, 125, 1213, + 1921, 1382, 1401, 1402, 1403, 126, 127, 980, 980, 1214, + 1214, 1214, 1214, 1215, 1416, 1215, 1210, 1381, 1214, 1214, + 1332, 1332, 1921, 1398, 981, 1399, 1216, 1399, 1216, 1382, + 715, 1401, 1402, 1403, 1399, 1216, 1253, 1921, 1253, 1218, + 1219, 1921, 1220, 1416, 1220, 1437, 1254, 1437, 1332, 1346, + 1354, 1220, 1354, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1355, 1346, 1356, 1346, 1357, 1346, + + 1346, 1346, 1346, 1346, 1214, 1214, 1229, 1406, 1229, 1921, + 1921, 1409, 1400, 715, 1400, 1412, 1407, 1410, 1407, 1410, + 1399, 1216, 1218, 1219, 1413, 1220, 1417, 1220, 1230, 1418, + 1346, 1346, 1359, 1419, 1220, 1406, 1921, 1220, 1408, 1409, + 1921, 1921, 1443, 1412, 1444, 509, 1437, 256, 1437, 1420, + 1921, 1552, 1413, 1552, 1417, 1921, 1411, 1418, 1346, 1346, + 1346, 1419, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1420, 1346, + 1346, 1346, 1346, 1346, 1411, 1414, 1421, 1414, 1422, 1423, + 1220, 1423, 1429, 1430, 1425, 1431, 1425, 1427, 1432, 1427, + + 229, 1435, 244, 1436, 1438, 241, 241, 1415, 1488, 1921, + 1346, 1346, 1921, 256, 1421, 1424, 1426, 1422, 1921, 1428, + 1429, 1921, 1430, 1431, 1364, 256, 1364, 1432, 1433, 1440, + 1435, 1436, 1493, 1438, 1439, 125, 1921, 1488, 1346, 1366, + 256, 1366, 126, 127, 1424, 1921, 1365, 256, 365, 256, + 365, 256, 256, 256, 256, 1446, 1881, 1433, 1440, 256, + 1493, 1367, 366, 1439, 1346, 1346, 256, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1446, 1346, 1346, 1346, 1346, 1346, 1447, + 256, 1449, 1451, 1450, 1452, 256, 1453, 256, 256, 256, + + 256, 1455, 1380, 256, 1380, 256, 256, 256, 256, 256, + 256, 256, 256, 1448, 1921, 1346, 1346, 1447, 1921, 1449, + 1451, 1450, 1452, 1454, 1453, 256, 1456, 1460, 1457, 1455, + 1467, 1465, 1461, 1462, 256, 1921, 1394, 256, 1394, 1459, + 256, 1458, 1448, 1346, 1464, 256, 1466, 1463, 256, 256, + 256, 1470, 1454, 1471, 1921, 1456, 1460, 1457, 1395, 1467, + 1465, 1461, 1462, 1407, 256, 1407, 1475, 1459, 1473, 1458, + 256, 1477, 1464, 256, 1466, 1463, 1468, 1469, 256, 1470, + 256, 1471, 1472, 256, 1921, 1408, 1410, 256, 1410, 1414, + 256, 1414, 1476, 256, 1475, 256, 1473, 1423, 256, 1423, + + 1477, 1921, 1425, 256, 1425, 1468, 1469, 1481, 1921, 323, + 1472, 1415, 1478, 1479, 1494, 1480, 1495, 1496, 1482, 1497, + 1476, 1921, 1499, 1484, 1426, 1474, 1483, 1427, 256, 1427, + 1486, 220, 1486, 221, 1510, 1485, 1481, 1490, 1921, 1921, + 1478, 1479, 1494, 1480, 1495, 1496, 1482, 1497, 1921, 1428, + 1499, 1921, 1484, 1474, 1711, 1483, 1486, 220, 1486, 1487, + 1921, 1712, 1510, 1485, 1713, 1921, 1490, 1489, 1489, 330, + 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, + 1489, 1489, 1489, 1489, 1489, 1489, 256, 1489, 1489, 1489, + 1489, 1489, 918, 631, 918, 631, 1502, 391, 1502, 664, + + 1364, 1921, 1364, 919, 148, 1506, 632, 1504, 632, 1498, + 1552, 1505, 1552, 150, 365, 1507, 365, 1921, 1489, 1489, + 1921, 365, 1365, 365, 1859, 1921, 1859, 365, 366, 365, + 367, 1786, 634, 1786, 1506, 366, 1504, 367, 1498, 368, + 1505, 366, 1787, 367, 1507, 368, 1489, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - - 322, 322, 322, 322, 369, 322, 322, 322, 322, 322, - 369, 369, 1317, 1344, 391, 1344, 660, 1344, 391, 1345, - 660, 148, 1348, 1357, 1348, 148, 1358, 1359, 1897, 1360, - 150, 1361, 1365, 1366, 150, 1368, 322, 322, 125, 1897, - 1424, 1317, 1424, 507, 1349, 126, 127, 908, 969, 908, - 1199, 1357, 1199, 1897, 1358, 1367, 1359, 1360, 909, 1199, - 1361, 1365, 1366, 1368, 322, 1314, 1314, 330, 1314, 1314, - 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, - 1314, 1314, 1314, 1314, 1367, 1314, 1314, 1314, 1314, 1314, - 1369, 1370, 1371, 1372, 1897, 1373, 1374, 1375, 1377, 1375, - - 1378, 1382, 1383, 1194, 1384, 1194, 1418, 1385, 1418, 1386, - 1387, 1390, 365, 1393, 365, 1199, 1314, 1314, 1369, 1376, - 1370, 1371, 1372, 1373, 1374, 1195, 366, 1377, 1378, 1897, - 1382, 1383, 1379, 1384, 1380, 1385, 1380, 1386, 1387, 1390, - 1391, 1393, 1391, 1380, 1314, 1328, 1336, 1897, 1336, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - 1337, 1328, 1338, 1328, 1339, 1328, 1328, 1328, 1328, 1328, - 1897, 1897, 1198, 1200, 1198, 1200, 1394, 1397, 1897, 1392, - 1213, 1398, 1213, 969, 970, 1199, 1201, 1199, 1201, 1399, - 1381, 710, 1381, 1400, 1199, 1201, 1328, 1328, 1341, 1380, - - 1203, 1204, 1214, 1205, 1394, 1205, 1397, 1392, 1424, 1398, - 1425, 507, 1205, 1466, 220, 1466, 221, 1399, 1362, 1897, - 1362, 1400, 1897, 1401, 1328, 1328, 1328, 1402, 1328, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - 1328, 1328, 1328, 1328, 1363, 1328, 1328, 1328, 1328, 1328, - 1199, 1201, 1401, 710, 1403, 1402, 1388, 1364, 1388, 1395, - 1410, 1395, 1203, 1204, 1404, 1205, 1404, 1205, 1205, 1406, - 1408, 1406, 1408, 1363, 1205, 1412, 1328, 1328, 1389, 1411, - 1413, 1396, 229, 1403, 1416, 1364, 1417, 1419, 1410, 241, - 1405, 1407, 1409, 244, 1897, 1897, 1346, 256, 1346, 1348, - - 256, 1348, 1468, 1412, 1328, 256, 256, 1473, 1411, 1413, - 1414, 1897, 1897, 1416, 1417, 1897, 1419, 1420, 1347, 1405, - 1421, 1349, 1375, 256, 1375, 256, 1466, 220, 1466, 1467, - 1205, 1468, 256, 1897, 256, 1473, 256, 1897, 256, 1414, - 256, 1428, 256, 256, 1376, 256, 1420, 1427, 1429, 1421, - 1328, 1328, 256, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1428, - 1328, 1328, 1328, 1328, 1328, 1427, 1430, 1429, 1431, 1433, - 1432, 1434, 256, 1443, 1436, 256, 256, 1452, 1362, 256, - 1362, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - 256, 1328, 1328, 1897, 1430, 256, 1431, 1433, 1432, 1434, - 1435, 1443, 1436, 1437, 1438, 1452, 256, 256, 1440, 1441, - 1442, 1445, 1897, 1446, 1448, 256, 1897, 1439, 1444, 1328, - 1447, 256, 1449, 256, 1453, 1450, 256, 1451, 1897, 1435, - 256, 1486, 1437, 1438, 1388, 256, 1388, 1440, 1441, 1442, - 1445, 1446, 1461, 1448, 1457, 1439, 1444, 1455, 256, 1447, - 256, 1449, 1453, 1450, 1456, 1451, 1389, 1391, 256, 1391, - 1486, 1395, 256, 1395, 256, 1458, 1459, 1460, 1406, 256, - 1406, 1461, 323, 1457, 256, 1455, 1404, 256, 1404, 1463, - 1897, 1897, 1456, 1396, 1474, 1462, 1475, 1408, 256, 1408, - - 1407, 1476, 1477, 1458, 1459, 1460, 1454, 1478, 1897, 1479, - 1470, 1897, 1464, 125, 1487, 1531, 1465, 1531, 1463, 1409, - 126, 127, 1474, 1462, 1475, 627, 1531, 627, 1531, 1476, - 1477, 1762, 1897, 1762, 1454, 1488, 1478, 1479, 628, 1470, - 628, 1464, 1763, 1487, 1465, 1469, 1469, 330, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1488, 1469, 1469, 1469, 1469, 1469, - 365, 365, 365, 365, 1482, 391, 1482, 660, 1897, 1897, - 1489, 1346, 148, 1346, 366, 366, 367, 367, 630, 368, - 1490, 150, 365, 1348, 365, 1348, 1469, 1469, 1897, 1482, - - 391, 1483, 660, 1347, 1897, 1897, 366, 148, 367, 1489, - 368, 1530, 1897, 1530, 254, 1349, 150, 1573, 1490, 1573, - 388, 1897, 369, 369, 1469, 322, 322, 330, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 369, 322, 322, 322, 322, 322, - 1484, 1491, 1492, 1498, 1485, 1897, 1493, 1496, 1497, 1499, - 1500, 1501, 1897, 1502, 1503, 1504, 1505, 1897, 1506, 1472, - 1375, 1507, 1375, 1509, 1510, 1897, 322, 322, 1897, 1484, - 1491, 1492, 1498, 1485, 1493, 1496, 1497, 1499, 1897, 1500, - 1501, 1502, 1376, 1503, 1504, 1505, 1506, 1472, 1362, 1507, - - 1362, 1509, 1897, 1510, 322, 322, 322, 330, 322, 322, + 322, 322, 322, 322, 322, 322, 369, 322, 322, 322, + 322, 322, 1366, 369, 1366, 1502, 391, 1503, 664, 369, + 1508, 1509, 1511, 148, 1512, 1921, 1513, 1516, 1517, 1518, + 1921, 1492, 150, 1520, 1367, 1519, 1521, 1921, 322, 322, + + 1596, 1398, 1596, 1399, 1551, 1399, 1551, 254, 1921, 1508, + 1509, 1511, 1399, 1512, 1513, 1516, 1517, 150, 1518, 1492, + 1380, 1520, 1380, 1522, 1519, 1521, 322, 322, 322, 330, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 1494, 322, 322, 322, 322, 322, - 1508, 1379, 1508, 1380, 1391, 1380, 1391, 1495, 1511, 1897, - 1513, 1379, 1380, 1380, 1388, 1380, 1388, 1514, 1381, 710, - 1381, 1515, 1380, 1494, 1516, 244, 322, 322, 1203, 1204, - 1395, 1205, 1395, 1205, 1517, 1495, 1389, 1511, 1513, 1518, - 1205, 1522, 1897, 1512, 1404, 1514, 1404, 1520, 256, 1515, - 1521, 1897, 1396, 1516, 322, 1406, 1523, 1406, 1408, 1526, - 1408, 1527, 1517, 256, 256, 1529, 256, 1518, 1380, 1522, - - 1519, 1512, 256, 256, 256, 1535, 1520, 1407, 1380, 1521, - 1409, 256, 256, 256, 256, 1523, 256, 1526, 1536, 256, - 1527, 1537, 256, 1529, 256, 1541, 1205, 1533, 256, 1519, - 1538, 1534, 256, 1539, 1535, 256, 256, 256, 1540, 256, - 256, 1546, 256, 256, 1897, 256, 1547, 1536, 256, 1542, - 1537, 1543, 256, 1544, 1541, 1548, 1533, 1897, 1549, 1538, - 1534, 1539, 1545, 1563, 1565, 1560, 1552, 1540, 1550, 1553, - 1546, 1556, 1557, 256, 1566, 1547, 1569, 1542, 1551, 1543, - 1554, 1544, 256, 1897, 1548, 1555, 1549, 1567, 1558, 1568, - 1545, 1563, 1559, 1565, 1560, 1552, 1550, 1579, 1553, 1556, - - 1580, 1557, 1581, 1566, 1561, 1569, 1551, 1570, 1554, 1562, - 220, 1562, 318, 1555, 1897, 1567, 1558, 1568, 1897, 1571, - 1559, 1571, 1574, 147, 1574, 1582, 1579, 1583, 1580, 1572, - 148, 1581, 1584, 1561, 1585, 1586, 1570, 1587, 1588, 150, - 1575, 391, 1575, 392, 1575, 391, 1575, 1576, 148, 1589, - 1590, 1592, 1577, 1582, 1591, 1583, 1593, 150, 1594, 1897, - 1584, 1578, 1585, 1586, 1595, 1587, 1588, 1596, 1598, 1597, - 1598, 1603, 1600, 1603, 1601, 1602, 1605, 1589, 1606, 1590, - 1592, 1607, 1591, 1608, 1609, 1593, 1508, 1594, 1508, 1610, - 1599, 229, 1595, 1604, 1612, 1596, 1613, 1379, 1597, 1380, - - 1600, 1380, 1601, 1602, 241, 1605, 244, 1606, 1380, 1607, - 256, 1608, 1609, 1530, 256, 1530, 254, 1611, 1610, 1616, - 256, 1616, 507, 1612, 256, 1613, 256, 256, 256, 256, - 256, 1614, 256, 256, 1615, 1897, 256, 1620, 1618, 256, - 256, 256, 256, 256, 1897, 256, 1611, 1562, 220, 1562, - 318, 1598, 256, 1598, 256, 1897, 1619, 1627, 1897, 1626, - 1614, 1640, 1622, 1615, 1380, 1631, 1620, 1618, 1621, 1625, - 1623, 1624, 1628, 1599, 1629, 1630, 1633, 1641, 1632, 1636, - 1655, 1634, 323, 1635, 1619, 1897, 1627, 1626, 1642, 1640, - 1622, 1603, 256, 1603, 1631, 1651, 1621, 1625, 1623, 1624, - - 256, 1628, 1629, 1630, 1633, 1641, 1632, 1636, 1639, 1655, - 1634, 1635, 1637, 1604, 1637, 1571, 1642, 1571, 1573, 1897, - 1573, 388, 1638, 1651, 1574, 1572, 1574, 1643, 1647, 391, - 1647, 660, 1648, 391, 1648, 1657, 148, 1639, 1652, 1659, - 1649, 150, 1653, 1654, 1656, 150, 1574, 147, 1574, 1650, - 390, 391, 390, 392, 148, 1658, 1643, 1660, 148, 1661, - 1663, 1661, 1664, 150, 1657, 1665, 1652, 150, 1659, 1662, - 1653, 1654, 1656, 1598, 1666, 1598, 1603, 1667, 1603, 1668, - 1669, 1670, 229, 1658, 1672, 241, 1660, 256, 1663, 256, - 244, 1664, 256, 1665, 1616, 1599, 1616, 507, 1604, 256, - - 256, 256, 1897, 1666, 323, 1667, 256, 256, 1668, 1669, - 1670, 256, 1672, 1674, 1661, 256, 1661, 256, 256, 1671, - 1637, 1673, 1637, 1675, 1662, 1691, 1692, 1679, 1897, 1676, - 1638, 1681, 1682, 1897, 1677, 1699, 1683, 1897, 1702, 1680, - 1678, 1690, 1674, 1703, 1684, 1685, 1897, 1671, 1700, 1673, - 1700, 1675, 1897, 1691, 1692, 1705, 1679, 1676, 1701, 1897, - 1681, 1682, 1677, 1897, 1699, 1683, 1702, 1680, 1678, 1690, - 1704, 1897, 1703, 1684, 1685, 1693, 1694, 1693, 1695, 1647, - 391, 1647, 660, 1645, 1705, 1706, 1646, 148, 1648, 662, - 1648, 1696, 1697, 1696, 1698, 1707, 150, 1708, 1704, 1649, - - 1661, 1661, 1661, 1661, 1709, 1650, 241, 256, 1650, 244, - 1662, 1662, 256, 256, 1706, 1700, 256, 1700, 256, 256, - 1687, 1687, 1897, 1897, 1707, 1701, 1708, 1688, 1688, 1897, - 1689, 1689, 1712, 1709, 1713, 1897, 1897, 1733, 1700, 1714, - 1700, 1715, 1734, 1735, 1716, 1717, 1718, 1835, 1701, 1835, - 1719, 1720, 1721, 1722, 229, 1897, 1724, 1725, 1724, 1726, - 1897, 1712, 1723, 1713, 1688, 1733, 1736, 1689, 1714, 1715, - 1897, 1734, 1735, 1716, 1717, 1718, 1723, 1693, 1694, 1693, - 1695, 1693, 1694, 1693, 1695, 1645, 1694, 244, 1646, 1645, - 1739, 1897, 1646, 1729, 1736, 1737, 1730, 1738, 1696, 1697, - - 1696, 1698, 256, 1740, 256, 1723, 1649, 256, 657, 658, - 659, 660, 1764, 1767, 1742, 1650, 148, 1731, 1739, 1731, - 389, 323, 1897, 1897, 1737, 150, 1738, 1897, 1897, 1743, - 1732, 1740, 1732, 1745, 389, 1746, 1768, 1746, 1722, 1732, - 1897, 1764, 1767, 1742, 1746, 1744, 1747, 1722, 1719, 1720, - 1721, 1722, 1765, 1724, 1725, 1724, 1726, 1758, 1743, 1897, - 1723, 1688, 1745, 389, 1689, 1768, 241, 1750, 1751, 1752, - 1753, 256, 1897, 1744, 1723, 1688, 1725, 1694, 1689, 1754, - 1765, 229, 256, 1756, 1729, 1758, 1757, 1730, 1759, 1760, - 1759, 1761, 1772, 1754, 1694, 1731, 1729, 1731, 1762, 1730, - - 1762, 1729, 1766, 1723, 1730, 1769, 1771, 256, 1732, 1763, - 1732, 1732, 1793, 1732, 1777, 1794, 1816, 1732, 1770, 1897, - 1732, 1772, 1754, 1778, 1897, 1778, 1722, 1897, 1775, 1778, - 1766, 1779, 1722, 1769, 1771, 1897, 1795, 1831, 1776, 1897, - 1793, 1897, 1777, 1897, 1794, 1816, 1770, 1780, 1725, 1780, - 1753, 1750, 1751, 1752, 1753, 1688, 1775, 323, 1689, 1688, - 1897, 1897, 1689, 1754, 1795, 1751, 1831, 1776, 1780, 1725, - 1781, 1753, 1783, 1786, 1725, 1784, 1688, 1754, 229, 1689, - 1787, 1756, 1725, 1788, 1757, 1789, 1790, 1789, 1791, 1756, - 1796, 1797, 1757, 1756, 1792, 1799, 1757, 1759, 1760, 1759, - - 1761, 1693, 1694, 1693, 1695, 1729, 1754, 1694, 1730, 1645, - 241, 256, 1646, 256, 1729, 1897, 1813, 1730, 1796, 1797, - 1798, 1814, 1792, 1799, 1803, 1897, 1803, 1722, 1803, 1751, - 1804, 1722, 1805, 1725, 1805, 1753, 1783, 1815, 1897, 1784, - 1688, 1897, 1830, 1689, 1813, 1897, 1897, 1800, 1798, 1814, - 1801, 1802, 1805, 1725, 1806, 1753, 1807, 1808, 1807, 1809, - 1688, 1751, 1786, 1689, 1783, 1815, 1786, 1784, 1783, 1787, - 1830, 1784, 1788, 1787, 323, 1800, 1788, 241, 1801, 1802, - 1719, 1720, 1721, 1722, 1725, 1810, 1751, 1810, 1811, 256, - 256, 1756, 1723, 1787, 1757, 1833, 1788, 1789, 1790, 1789, - - 1791, 1750, 1751, 1752, 1753, 1756, 1723, 1897, 1757, 1688, - 1897, 1842, 1689, 1754, 1843, 229, 1812, 1821, 1822, 1897, - 1822, 1722, 1851, 1833, 1860, 1820, 1822, 1754, 1823, 1722, - 1824, 1725, 1824, 1753, 1897, 1723, 241, 1897, 1688, 1842, - 1897, 1689, 1843, 1897, 1812, 1897, 1821, 1824, 1725, 1825, - 1753, 1851, 1860, 1820, 1897, 1688, 1754, 1832, 1689, 1807, - 1808, 1807, 1809, 1750, 1751, 1752, 1753, 1783, 323, 1751, - 1784, 1688, 1834, 1897, 1689, 1754, 1783, 1751, 1897, 1784, - 1810, 1751, 1810, 1811, 1827, 1832, 1856, 1828, 1787, 1754, - 1897, 1788, 1751, 1836, 1725, 1836, 1753, 229, 1897, 1827, - - 1834, 1688, 1828, 1897, 1689, 1836, 1725, 1837, 1753, 1844, - 1840, 1844, 1722, 1688, 323, 1856, 1689, 1897, 1754, 1897, - 1835, 1897, 1835, 1897, 1897, 1897, 1751, 1897, 1897, 1897, - 1897, 1897, 1897, 1827, 1897, 1897, 1828, 1841, 1840, 1897, - 1897, 1897, 1897, 1897, 1838, 1808, 1838, 1839, 1845, 1725, - 1845, 1726, 1827, 1751, 1849, 1828, 1688, 229, 1897, 1689, - 1827, 323, 1897, 1828, 241, 1841, 1838, 1808, 1838, 1839, - 1897, 1897, 1897, 1844, 1827, 1844, 1722, 1828, 1853, 1725, - 1853, 1753, 1849, 1725, 1850, 1687, 1688, 1897, 1854, 1689, - 1756, 229, 1688, 1757, 1897, 1689, 241, 229, 1897, 1686, - - 1845, 1725, 1845, 1846, 1686, 323, 1852, 1686, 1848, 1686, - 1686, 1689, 1897, 1850, 1686, 1686, 1897, 1854, 323, 1686, - 1855, 1686, 1686, 1686, 1724, 1725, 1724, 1726, 1853, 1725, - 1853, 1753, 1688, 1859, 1852, 1689, 1688, 241, 1861, 1689, - 241, 1858, 1863, 1864, 1863, 1865, 1897, 1862, 1897, 1855, - 1686, 1686, 1686, 1866, 1867, 1866, 1868, 1870, 1871, 1870, - 1872, 1859, 1863, 1864, 1863, 1865, 1861, 1881, 1897, 1897, - 1858, 1873, 1874, 1873, 1875, 1862, 1897, 1869, 1686, 1866, - 1867, 1866, 1868, 1878, 1867, 1878, 1868, 1870, 1871, 1870, - 1872, 1878, 1867, 1878, 1868, 241, 1881, 1873, 1874, 1873, - - 1875, 1873, 1874, 1873, 1875, 1869, 1873, 1874, 1873, 1875, - 1878, 1867, 1878, 1868, 1878, 1867, 1878, 1868, 1885, 1878, - 1867, 1878, 1868, 241, 1887, 1888, 1887, 1889, 1887, 1888, - 1887, 1889, 1890, 1891, 1890, 1892, 1890, 1891, 1890, 1892, - 1890, 1891, 1890, 1892, 1897, 1897, 1897, 1885, 1890, 1891, - 1890, 1892, 1890, 1891, 1890, 1892, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1886, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1886, 68, 68, 68, 68, 68, 68, - + 322, 322, 322, 322, 322, 322, 1514, 322, 322, 322, + 322, 322, 1522, 1523, 1524, 1525, 1526, 1921, 1394, 1515, + 1394, 1527, 1528, 1530, 1921, 1921, 1531, 1532, 1399, 1921, + 1410, 1595, 1410, 1595, 388, 1514, 1534, 1921, 322, 322, + 1395, 1523, 1535, 1524, 1525, 1526, 1529, 1515, 1529, 1527, + 1528, 1530, 1400, 715, 1400, 1531, 1532, 1398, 1407, 1399, + + 1407, 1399, 1218, 1219, 1534, 1220, 322, 1220, 1399, 1533, + 1535, 1414, 1536, 1414, 1220, 1537, 244, 1538, 1539, 1541, + 1408, 1423, 1542, 1423, 1543, 1544, 1548, 1425, 1427, 1425, + 1427, 1547, 256, 1415, 256, 256, 256, 1533, 256, 256, + 1536, 256, 256, 256, 1537, 1538, 1539, 1540, 1541, 1426, + 1428, 1542, 1543, 256, 1544, 1548, 1550, 1554, 256, 1547, + 256, 1555, 1556, 1557, 1399, 256, 1558, 256, 1559, 1561, + 1220, 256, 1565, 1560, 256, 256, 1540, 256, 256, 256, + 1563, 1562, 256, 1566, 1550, 256, 1554, 256, 256, 256, + 1555, 1556, 1557, 1567, 1569, 1558, 1568, 1559, 1561, 256, + + 1565, 1560, 1564, 256, 1570, 256, 256, 1585, 1563, 1571, + 1562, 1587, 1566, 1578, 1572, 1921, 1573, 1588, 1574, 1575, + 1591, 1567, 1576, 1569, 1580, 1568, 1589, 1577, 1590, 1582, + 1564, 1601, 1579, 1570, 1583, 1585, 1921, 1571, 1921, 1603, + 1587, 1578, 1572, 1581, 1573, 256, 1588, 1574, 1575, 1591, + 1576, 1921, 1580, 1921, 1589, 1577, 1590, 1602, 1582, 1604, + 1601, 1579, 1921, 1583, 1584, 220, 1584, 318, 1603, 1605, + 1592, 1581, 1593, 1606, 1593, 1596, 147, 1596, 1597, 391, + 1597, 392, 1594, 148, 1607, 1602, 148, 1604, 1597, 391, + 1597, 1598, 150, 1608, 1609, 150, 1599, 1605, 1610, 1592, + + 1611, 1606, 1612, 1921, 1613, 1600, 1614, 1615, 1616, 1617, + 1921, 1618, 1607, 1619, 1620, 1921, 1921, 1623, 1621, 1624, + 1621, 1608, 1609, 1625, 1628, 1629, 1610, 1626, 1611, 1626, + 1630, 1612, 1613, 1529, 1614, 1529, 1615, 1616, 1617, 1618, + 1622, 1619, 1631, 1620, 1398, 1623, 1399, 1624, 1399, 1627, + 1632, 1625, 1633, 1628, 1629, 1399, 1635, 229, 1630, 1636, + 241, 244, 1551, 256, 1551, 254, 1639, 256, 1639, 509, + 1631, 256, 256, 256, 256, 256, 256, 256, 1632, 256, + 256, 1633, 256, 1634, 256, 1635, 256, 1637, 1636, 1638, + 256, 1641, 1661, 256, 1661, 1664, 256, 1679, 256, 1642, + + 1643, 256, 1662, 1650, 256, 1655, 256, 1645, 1921, 1652, + 1921, 1399, 1634, 1648, 1644, 1646, 1637, 1647, 1638, 1649, + 1641, 1653, 1654, 1664, 1651, 323, 1679, 1642, 1658, 1643, + 1656, 1921, 1650, 1667, 1655, 1645, 1657, 1665, 1652, 1659, + 1660, 1648, 1644, 1646, 1921, 1647, 1666, 1649, 1681, 1653, + 1654, 1663, 1651, 1621, 256, 1621, 1921, 1658, 1656, 1626, + 256, 1626, 1667, 1921, 1657, 1665, 1675, 1659, 1660, 1584, + 220, 1584, 318, 1676, 1666, 1622, 1593, 1681, 1593, 1921, + 1663, 1627, 1595, 1921, 1595, 388, 1594, 1671, 391, 1671, + 664, 1672, 391, 1672, 1675, 148, 1677, 1678, 1683, 1673, + + 1680, 1676, 1682, 1684, 150, 1596, 147, 1596, 1674, 390, + 391, 390, 392, 148, 1687, 1688, 1621, 148, 1621, 1685, + 1689, 1685, 150, 1690, 1677, 1678, 150, 1683, 1680, 1686, + 1682, 1626, 1684, 1626, 1691, 1692, 1693, 1694, 1622, 229, + 1696, 241, 1687, 256, 1688, 256, 244, 1639, 1689, 1639, + 509, 256, 1690, 1627, 256, 256, 256, 1661, 256, 1661, + 256, 256, 1691, 256, 1692, 1693, 1694, 1662, 1696, 1698, + 1685, 256, 1685, 256, 1715, 1716, 1695, 1697, 1921, 1699, + 1686, 323, 1703, 1705, 1921, 1700, 1706, 1708, 1707, 1671, + 391, 1671, 664, 1701, 1704, 1702, 1921, 148, 1698, 1723, + + 1709, 1727, 1715, 1716, 1695, 1697, 150, 1699, 1921, 1921, + 1921, 1703, 1705, 1700, 1729, 1706, 1708, 1707, 1714, 1921, + 1730, 1701, 1704, 1702, 1717, 1718, 1717, 1719, 1723, 1709, + 1727, 1726, 1669, 1728, 1731, 1670, 1672, 666, 1672, 1720, + 1721, 1720, 1722, 1729, 1732, 1733, 1714, 1673, 1724, 1730, + 1724, 241, 1685, 1674, 1685, 1685, 1674, 1685, 1725, 1726, + 244, 1728, 1686, 1731, 256, 1686, 1724, 256, 1724, 256, + 256, 256, 256, 1732, 1733, 1758, 1725, 1736, 1921, 1711, + 1711, 1743, 1744, 1745, 1746, 1737, 1712, 1712, 1921, 1713, + 1713, 1738, 1921, 1747, 1748, 1749, 1748, 1750, 1741, 1742, + + 1921, 1740, 1712, 1739, 1758, 1713, 1736, 1747, 1717, 1718, + 1717, 1719, 1921, 1757, 1737, 1724, 1669, 1724, 256, 1670, + 1738, 1717, 1718, 1717, 1719, 1725, 1760, 1741, 1742, 1669, + 1740, 1739, 1670, 1718, 1759, 1761, 1747, 229, 1762, 1921, + 1753, 1757, 1764, 1754, 1720, 1721, 1720, 1722, 661, 662, + 663, 664, 1673, 1755, 1760, 1755, 148, 244, 256, 1768, + 389, 1674, 256, 1759, 1761, 150, 1756, 1762, 1756, 1770, + 1764, 1770, 1746, 1763, 389, 1756, 1749, 1788, 1743, 1744, + 1745, 1746, 323, 1780, 1766, 1767, 1781, 1768, 1769, 1770, + 1747, 1771, 1746, 1789, 1748, 1749, 1748, 1750, 1790, 1921, + + 1921, 1763, 1712, 389, 1747, 1713, 1788, 1791, 1774, 1775, + 1776, 1777, 1792, 1766, 1767, 1718, 1712, 1769, 1782, 1713, + 1778, 1789, 1753, 256, 1793, 1754, 1790, 1783, 1784, 1783, + 1785, 229, 1718, 1747, 1778, 1753, 1791, 256, 1754, 1753, + 241, 1792, 1754, 1755, 1795, 1755, 1782, 256, 1921, 1786, + 323, 1786, 1793, 1921, 1921, 1921, 1756, 1921, 1756, 1818, + 1787, 1817, 1756, 1778, 1756, 1756, 1796, 1775, 1794, 1799, + 1921, 1756, 1795, 1802, 1807, 1802, 1746, 1808, 1800, 1802, + 1801, 1803, 1746, 1804, 1749, 1804, 1777, 1816, 1818, 1817, + 1921, 1712, 1819, 1820, 1713, 1796, 1794, 1799, 1774, 1775, + + 1776, 1777, 241, 256, 1921, 1821, 1712, 1800, 1801, 1713, + 1778, 1804, 1749, 1805, 1777, 1816, 1810, 1921, 1749, 1712, + 1819, 1820, 1713, 1811, 1778, 1780, 1812, 1823, 1781, 1813, + 1814, 1813, 1815, 1821, 1749, 1718, 229, 1780, 256, 1824, + 1781, 1780, 1753, 1826, 1781, 1754, 1783, 1784, 1783, 1785, + 1921, 1921, 1921, 1778, 1753, 1823, 1921, 1754, 1717, 1718, + 1717, 1719, 1827, 1840, 1827, 1746, 1669, 1824, 1837, 1670, + 1827, 1826, 1828, 1746, 1846, 1825, 1846, 1746, 1822, 1829, + 1749, 1829, 1777, 1829, 1749, 1830, 1777, 1712, 1775, 323, + 1713, 1712, 1840, 1921, 1713, 1807, 1837, 1838, 1808, 1831, + + 1832, 1831, 1833, 1825, 1775, 1810, 1822, 1807, 1921, 1921, + 1808, 1807, 1811, 1921, 1808, 1812, 1743, 1744, 1745, 1746, + 1810, 1834, 1775, 1834, 1835, 1838, 1839, 1811, 1747, 1811, + 1812, 1836, 1812, 1813, 1814, 1813, 1815, 1774, 1775, 1776, + 1777, 1780, 1747, 1749, 1781, 1712, 256, 256, 1713, 1778, + 1780, 229, 1855, 1781, 1839, 1846, 1921, 1847, 1746, 1836, + 1921, 1921, 1921, 1778, 1848, 1749, 1848, 1777, 1921, 1854, + 1857, 1747, 1712, 1775, 1845, 1713, 1848, 1749, 1849, 1777, + 1807, 1855, 1844, 1808, 1712, 1866, 241, 1713, 1831, 1832, + 1831, 1833, 1778, 1856, 1875, 1921, 1807, 1854, 1857, 1808, + + 1921, 1775, 229, 1845, 1774, 1775, 1776, 1777, 1851, 229, + 1844, 1852, 1712, 1866, 1921, 1713, 1778, 1834, 1775, 1834, + 1835, 1856, 1858, 1875, 323, 1811, 1921, 241, 1812, 1874, + 1778, 1860, 1749, 1860, 1777, 1860, 1749, 1861, 1777, 1712, + 1880, 1775, 1713, 1712, 1921, 1775, 1713, 1921, 1851, 1865, + 1858, 1852, 1851, 241, 1868, 1852, 1868, 1746, 1874, 1778, + 1921, 1859, 1921, 1859, 1867, 1921, 1864, 323, 1921, 1880, + 1921, 1921, 1921, 1921, 1884, 1921, 1921, 1865, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1862, 1832, 1862, 1863, 1921, + 1921, 323, 1867, 1851, 1864, 1876, 1852, 1869, 1749, 1869, + + 1750, 1868, 1884, 1868, 1746, 1712, 241, 1873, 1713, 229, + 1921, 1921, 1921, 1921, 1862, 1832, 1862, 1863, 1878, 1775, + 1749, 1711, 1851, 1876, 1921, 1852, 1851, 1780, 1712, 1852, + 1781, 1713, 1879, 229, 1921, 1873, 241, 323, 1921, 1921, + 1710, 1869, 1749, 1869, 1870, 1710, 1893, 1878, 1710, 1872, + 1710, 1710, 1713, 1921, 1921, 1710, 1710, 1921, 323, 1921, + 1710, 1879, 1710, 1710, 1710, 1877, 1749, 1877, 1777, 1748, + 1749, 1748, 1750, 1712, 1893, 1883, 1713, 1712, 1885, 1886, + 1713, 1882, 1887, 1888, 1887, 1889, 1877, 1749, 1877, 1777, + 1921, 1710, 1710, 1710, 1712, 1921, 1921, 1713, 1890, 1891, + + 1890, 1892, 1921, 1883, 1921, 241, 1885, 1886, 1921, 1921, + 1882, 1894, 1895, 1894, 1896, 1887, 1888, 1887, 1889, 1710, + 1897, 1898, 1897, 1899, 1890, 1891, 1890, 1892, 1902, 1891, + 1902, 1892, 1905, 1894, 1895, 1894, 1896, 1902, 1891, 1902, + 1892, 1897, 1898, 1897, 1899, 1897, 1898, 1897, 1899, 1897, + 1898, 1897, 1899, 1902, 1891, 1902, 1892, 1902, 1891, 1902, + 1892, 1905, 241, 1902, 1891, 1902, 1892, 241, 1911, 1912, + 1911, 1913, 1911, 1912, 1911, 1913, 1914, 1915, 1914, 1916, + 1914, 1915, 1914, 1916, 1921, 1909, 1914, 1915, 1914, 1916, + 1914, 1915, 1914, 1916, 1914, 1915, 1914, 1916, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1910, + 1921, 1921, 1921, 1921, 1909, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1910, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, + 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 115, 115, - 1897, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 118, 118, 118, 118, + 72, 72, 115, 115, 1921, 115, 115, 115, 115, 115, + + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 124, 124, 124, 124, 124, 124, + 118, 118, 118, 118, 118, 118, 118, 118, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - - 124, 124, 133, 1897, 1897, 1897, 1897, 1897, 1897, 133, - 1897, 133, 1897, 133, 133, 133, 133, 133, 160, 160, - 160, 160, 160, 228, 228, 228, 228, 228, 228, 228, + 124, 124, 124, 124, 124, 124, 133, 1921, 1921, 1921, + 1921, 1921, 1921, 133, 1921, 133, 1921, 133, 133, 133, + 133, 133, 160, 160, 160, 160, 160, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 243, + 228, 228, 228, 228, 228, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + + 240, 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 257, 1897, 1897, 1897, 1897, + 243, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 257, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 257, 257, 257, 257, 257, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 115, 115, 1921, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 1897, 1897, 1897, 1897, 1897, 1897, 257, 257, 257, 257, - 257, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 115, - 115, 1897, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 356, 356, 356, 356, 356, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, - 356, 356, 356, 124, 124, 124, 124, 124, 124, 124, + 356, 356, 356, 356, 356, 356, 356, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 357, 357, 357, 357, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, + 357, 357, 357, 133, 1921, 1921, 1921, 1921, 1921, 1921, + 133, 1921, 133, 1921, 1921, 133, 133, 133, 133, 393, + 393, 393, 393, 1921, 393, 393, 393, 393, 393, 393, + 1921, 393, 393, 1921, 1921, 393, 393, 160, 160, 160, - 124, 357, 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, 357, 133, - 1897, 1897, 1897, 1897, 1897, 1897, 133, 1897, 133, 1897, - 1897, 133, 133, 133, 133, 393, 393, 393, 393, 1897, - 393, 393, 393, 393, 393, 393, 1897, 393, 393, 1897, - 1897, 393, 393, 160, 160, 160, 160, 160, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 228, 228, 228, 228, + 160, 160, 482, 482, 482, 482, 482, 482, 482, 482, + 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 240, 240, 240, 240, 240, 240, - + 228, 228, 228, 228, 228, 228, 228, 228, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, + 240, 240, 240, 240, 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 502, 502, - 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 502, 502, 502, 502, 502, 502, 503, 503, 503, 503, - 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, - 503, 503, 503, 503, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - - 588, 588, 322, 322, 322, 322, 322, 322, 322, 322, + 249, 249, 504, 504, 504, 504, 504, 504, 504, 504, + + 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 115, 115, - 1897, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 118, 118, 118, 118, + 332, 332, 115, 115, 1921, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 356, 356, 356, 356, 356, 356, + 118, 118, 118, 118, 118, 118, 118, 118, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, - 356, 356, 357, 357, 357, 357, 357, 357, 357, 357, - + 356, 356, 356, 356, 356, 356, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 124, 124, + 357, 357, 357, 357, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 629, 1897, 1897, 1897, - 1897, 1897, 1897, 629, 1897, 629, 1897, 1897, 629, 629, - 629, 629, 133, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 133, 1897, 133, 1897, 133, 133, 133, 133, 133, 632, - 632, 632, 632, 655, 655, 655, 655, 655, 655, 655, - 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, - - 655, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 393, 393, 393, - 393, 1897, 393, 393, 393, 393, 393, 393, 1897, 393, - 393, 1897, 1897, 393, 393, 160, 160, 160, 160, 160, - 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, - 709, 709, 709, 709, 709, 709, 709, 709, 478, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 478, 478, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - - 480, 480, 480, 480, 480, 480, 228, 228, 228, 228, + 633, 1921, 1921, 1921, 1921, 1921, 1921, 633, 1921, 633, + + 1921, 1921, 633, 633, 633, 633, 133, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 133, 1921, 133, 1921, 133, 133, + 133, 133, 133, 636, 636, 636, 636, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 393, 393, 393, 393, 1921, 393, 393, 393, 393, + 393, 393, 1921, 393, 393, 1921, 1921, 393, 393, 160, + + 160, 160, 160, 160, 714, 714, 714, 714, 714, 714, + 714, 714, 714, 714, 714, 714, 714, 714, 714, 714, + 714, 714, 480, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 480, 480, 482, 482, 482, 482, 482, 482, 482, 482, + 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 240, 240, 240, 240, 240, 240, + 228, 228, 228, 228, 228, 228, 228, 228, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, + 240, 240, 240, 240, 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + + 243, 243, 243, 243, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 502, 502, - 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 502, 502, 502, 502, 502, 502, 503, 503, 503, 503, - - 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, - 503, 503, 503, 503, 789, 789, 789, 789, 789, 789, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, - 789, 789, 790, 790, 790, 790, 790, 790, 790, 790, - 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, - 257, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 257, 257, 257, 257, 257, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 322, 322, 322, 322, 322, 322, + 249, 249, 504, 504, 504, 504, 504, 504, 504, 504, + 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 257, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 257, 257, 257, 257, 257, + 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, + 592, 592, 592, 592, 592, 592, 592, 592, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - - 322, 322, 332, 332, 332, 332, 332, 332, 332, 332, + 322, 322, 322, 322, 322, 322, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 115, 115, 1897, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 118, 118, + 332, 332, 332, 332, 115, 115, 1921, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 357, 357, 357, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 124, 124, 124, 124, 124, 124, + 357, 357, 357, 357, 357, 357, 357, 357, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 624, 624, 624, 624, 624, 624, 624, 624, - - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 629, 1897, 1897, 1897, 1897, 1897, 1897, 629, 1897, 629, - 1897, 1897, 629, 629, 629, 629, 913, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 913, 1897, 1897, 1897, 913, 913, - 913, 913, 913, 133, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 133, 1897, 133, 1897, 133, 133, 133, 133, 133, - 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, - 655, 655, 655, 655, 655, 655, 655, 655, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 925, 925, 925, 925, - - 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, - 925, 925, 925, 925, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 160, 160, 160, 160, 160, 709, 709, 709, - 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, - 709, 709, 709, 709, 709, 710, 710, 710, 710, 710, - 710, 1897, 710, 710, 710, 710, 710, 710, 710, 710, - 710, 710, 710, 711, 711, 1897, 711, 711, 711, 711, - 711, 711, 711, 711, 711, 711, 711, 711, 711, 711, - 711, 228, 228, 228, 228, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 228, 228, 228, 228, 228, 240, + 124, 124, 124, 124, 124, 124, 628, 628, 628, 628, + 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, + 628, 628, 628, 628, 633, 1921, 1921, 1921, 1921, 1921, + 1921, 633, 1921, 633, 1921, 1921, 633, 633, 633, 633, + 923, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 923, 1921, + 1921, 1921, 923, 923, 923, 923, 923, 133, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 133, 1921, 133, 1921, 133, + + 133, 133, 133, 133, 659, 659, 659, 659, 659, 659, + 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, + 659, 659, 660, 660, 660, 660, 660, 660, 660, 660, + 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, + 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, + 935, 935, 935, 935, 935, 935, 935, 935, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 160, 160, 160, 160, + 160, 714, 714, 714, 714, 714, 714, 714, 714, 714, + 714, 714, 714, 714, 714, 714, 714, 714, 714, 715, + + 715, 715, 715, 715, 715, 1921, 715, 715, 715, 715, + 715, 715, 715, 715, 715, 715, 715, 716, 716, 1921, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 789, 789, 789, 789, 789, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, - 789, 789, 789, 790, 790, 790, 790, 790, 790, 790, - 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, - 790, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 322, 322, 322, 332, + 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 796, + 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 1138, 1138, 1897, - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, - 1138, 1138, 1138, 1138, 1138, 115, 115, 1897, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 1140, 1140, 1897, 1140, 1140, 1140, 1140, - 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, - 1140, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 1142, - 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 332, 1152, 1152, 1921, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 115, + 115, 1921, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 1154, 1154, 1921, - 1142, 1142, 1142, 1142, 1142, 1142, 1142, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 1145, 1145, 1145, 1145, 1145, - 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1145, 1145, 629, 1897, 1897, 1897, 1897, 1897, 629, - 1897, 1897, 1897, 629, 1897, 629, 629, 629, 629, 629, - 1150, 1150, 1150, 1150, 913, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 913, 1897, 1897, 1897, 913, 913, 913, 913, - 913, 133, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 133, - 1897, 133, 1897, 133, 133, 133, 133, 133, 1156, 1156, - - 1897, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, - 1156, 1156, 1156, 1156, 1156, 1156, 925, 925, 925, 925, - 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, - 925, 925, 925, 925, 1168, 1168, 1897, 1168, 1168, 1168, - 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, - 1168, 1168, 710, 710, 710, 710, 710, 710, 1897, 710, - 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, - 711, 711, 1897, 711, 711, 711, 711, 711, 711, 711, - 711, 711, 711, 711, 711, 711, 711, 711, 709, 709, - 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, - - 709, 709, 709, 709, 709, 709, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 228, 228, 228, 228, 228, 228, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1154, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 1156, 1156, 1156, 1156, 1156, 1156, 1156, + 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, + 1156, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 1159, + 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, + 1159, 1159, 1159, 1159, 1159, 1159, 1159, 633, 1921, 1921, + 1921, 1921, 1921, 633, 1921, 1921, 1921, 633, 1921, 633, + + 633, 633, 633, 633, 1164, 1164, 1164, 1164, 923, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 923, 1921, 1921, 1921, + 923, 923, 923, 923, 923, 133, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 133, 1921, 133, 1921, 133, 133, 133, + 133, 133, 1170, 1170, 1921, 1170, 1170, 1170, 1170, 1170, + 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, + 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, + 935, 935, 935, 935, 935, 935, 935, 935, 1182, 1182, + 1921, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, + 1182, 1182, 1182, 1182, 1182, 1182, 715, 715, 715, 715, + + 715, 715, 1921, 715, 715, 715, 715, 715, 715, 715, + 715, 715, 715, 715, 716, 716, 1921, 716, 716, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 714, 714, 714, 714, 714, 714, 714, 714, + 714, 714, 714, 714, 714, 714, 714, 714, 714, 714, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, - 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, + 228, 228, 228, 228, 228, 228, 1260, 1260, 1260, 1260, + 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, + + 1260, 1260, 1260, 1260, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 243, 243, + 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 1260, 1260, 1260, 1260, - - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 322, 322, 322, 322, 322, 322, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, - 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, + 322, 322, 322, 322, 322, 322, 1332, 1332, 1332, 1332, + 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + 1332, 1332, 1332, 1332, 332, 332, 332, 332, 332, 332, + 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 1324, 1324, - 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, - 1324, 1324, 1324, 1324, 1324, 1324, 1328, 1328, 1897, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - - 1328, 1328, 1328, 1328, 1329, 1329, 1897, 1329, 1329, 1329, - 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, - 1329, 1329, 115, 115, 1897, 115, 115, 115, 115, 115, + 332, 332, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, + 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, + 1346, 1346, 1921, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1347, 1347, + 1921, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, + 1347, 1347, 1347, 1347, 1347, 1347, 115, 115, 1921, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 1332, 1332, 1332, 1332, - 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - 1332, 1332, 1332, 1332, 124, 124, 124, 124, 124, 124, + 115, 115, 115, 115, 1348, 1348, 1348, 1348, 1348, 1348, + 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 1335, 1897, 1897, 1897, 1897, 1897, 1335, 1897, - 1897, 1897, 1897, 1897, 1335, 1335, 1335, 1335, 1335, 1340, - 1340, 1897, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, - 1340, 1340, 1340, 1340, 1340, 1340, 1340, 629, 1897, 1897, - 1897, 1897, 1897, 1897, 629, 1897, 629, 1897, 1897, 629, - 629, 629, 629, 133, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 133, 1897, 133, 1897, 133, 133, 133, 133, 133, - 632, 632, 632, 632, 1350, 1350, 1897, 1350, 1350, 1350, + 1348, 1348, 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - - 1350, 1350, 710, 710, 710, 710, 710, 710, 1897, 710, - 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, - 711, 711, 1897, 711, 711, 711, 711, 711, 711, 711, - 711, 711, 711, 711, 711, 711, 711, 711, 1203, 1203, - 1897, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, - 1203, 1203, 1203, 1203, 1203, 1203, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 228, 228, 228, 228, 228, 228, + 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 1353, 1921, 1921, 1921, + 1921, 1921, 1353, 1921, 1921, 1921, 1921, 1921, 1353, 1353, + 1353, 1353, 1353, 1358, 1358, 1921, 1358, 1358, 1358, 1358, + 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, + 1358, 633, 1921, 1921, 1921, 1921, 1921, 1921, 633, 1921, + + 633, 1921, 1921, 633, 633, 633, 633, 133, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 133, 1921, 133, 1921, 133, + 133, 133, 133, 133, 636, 636, 636, 636, 1368, 1368, + 1921, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, + 1368, 1368, 1368, 1368, 1368, 1368, 715, 715, 715, 715, + 715, 715, 1921, 715, 715, 715, 715, 715, 715, 715, + 715, 715, 715, 715, 716, 716, 1921, 716, 716, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 1218, 1218, 1921, 1218, 1218, 1218, 1218, 1218, + 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, - - 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, + 228, 228, 228, 228, 228, 228, 1434, 1434, 1434, 1434, + 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, + 1434, 1434, 1434, 1434, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 243, 243, + 240, 240, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 1423, 1897, 1423, 1897, - 1897, 1897, 1897, 1423, 1897, 1897, 1423, 1423, 1423, 1423, - 1423, 1423, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, - 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 322, 322, + 1442, 1921, 1442, 1921, 1921, 1921, 1921, 1442, 1921, 1921, + 1442, 1442, 1442, 1442, 1442, 1442, 1445, 1445, 1445, 1445, + 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, + 1445, 1445, 1445, 1445, 1489, 1489, 1489, 1489, 1489, 1489, + 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, + 1489, 1489, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1471, 332, 332, 332, 332, 332, 332, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, + 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 115, 115, 1897, 115, 115, 115, 115, 115, + 332, 332, 332, 332, 332, 332, 115, 115, 1921, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 124, 124, + 118, 118, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 1353, 1921, 1921, 1921, 1921, 1921, 1353, 1921, 1921, 1921, + 1921, 1921, 1353, 1353, 1353, 1353, 1353, 633, 1921, 1921, + 1921, 1921, 1921, 1921, 633, 1921, 633, 1921, 1921, 633, + 633, 633, 633, 133, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 133, 1921, 133, 1921, 133, 133, 133, 133, 133, + + 636, 636, 636, 636, 1501, 1921, 1501, 1921, 1921, 1921, + 1921, 1501, 1921, 1921, 1501, 1501, 1501, 1501, 1501, 1501, + 1553, 1921, 1553, 1921, 1921, 1921, 1921, 1553, 1921, 1921, + 1553, 1553, 1553, 1553, 1553, 1553, 482, 482, 482, 482, + 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, + 482, 482, 482, 482, 1640, 1640, 1640, 1640, 1640, 1668, + 1668, 1921, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, + 1668, 1668, 1668, 1668, 1668, 1668, 1668, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 1710, 1710, 1710, 1710, 1710, + + 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, + 1710, 1710, 1710, 1752, 1752, 1752, 1752, 1752, 1752, 1752, + 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, + 1752, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, + 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1797, 1797, 1797, 1797, 1797, + 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, + + 1797, 1797, 1797, 1806, 1806, 1806, 1806, 1806, 1806, 1806, + 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, + 1806, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, + 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1850, + 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, + 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1871, 1871, 1871, + 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 1871, 1871, 1871, 1871, 1900, 1900, 1900, 1900, 1900, + 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, + 1900, 1900, 1900, 1903, 1903, 1903, 1903, 1903, 1903, 1903, + + 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, + 1903, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, + 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1908, + 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, + 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1919, 1919, 1919, 1919, 1919, + 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, + 1919, 1919, 1919, 17, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 124, 124, 124, 124, 124, 124, 1335, 1897, 1897, 1897, - 1897, 1897, 1335, 1897, 1897, 1897, 1897, 1897, 1335, 1335, - 1335, 1335, 1335, 629, 1897, 1897, 1897, 1897, 1897, 1897, - 629, 1897, 629, 1897, 1897, 629, 629, 629, 629, 133, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 133, 1897, 133, - 1897, 133, 133, 133, 133, 133, 632, 632, 632, 632, - 1481, 1897, 1481, 1897, 1897, 1897, 1897, 1481, 1897, 1897, - 1481, 1481, 1481, 1481, 1481, 1481, 1532, 1897, 1532, 1897, - 1897, 1897, 1897, 1532, 1897, 1897, 1532, 1532, 1532, 1532, - 1532, 1532, 480, 480, 480, 480, 480, 480, 480, 480, - - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 1617, 1617, 1617, 1617, 1617, 1644, 1644, 1897, 1644, 1644, - 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, - 1644, 1644, 1644, 661, 661, 661, 661, 661, 661, 661, - 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, - 661, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, - 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1728, - 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, - 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1748, 1748, 1748, - 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, - - 1748, 1748, 1748, 1748, 1748, 1749, 1749, 1749, 1749, 1749, - 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, - 1749, 1749, 1749, 1755, 1755, 1755, 1755, 1755, 1755, 1755, - 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, - 1755, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, - 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1782, - 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, - 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1785, 1785, 1785, - 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, - 1785, 1785, 1785, 1785, 1785, 1826, 1826, 1826, 1826, 1826, - - 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, - 1826, 1826, 1826, 1847, 1847, 1847, 1847, 1847, 1847, 1847, - 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, - 1847, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, - 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1879, - 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, - 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1882, 1882, 1882, - 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, - 1882, 1882, 1882, 1882, 1882, 1884, 1884, 1884, 1884, 1884, - 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, - - 1884, 1884, 1884, 1893, 1893, 1893, 1893, 1893, 1893, 1893, - 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, 1893, - 1893, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, - 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 17, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897 + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921 } ; -static const flex_int16_t yy_chk[9721] = +static const flex_int16_t yy_chk[9765] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -9599,23 +10089,23 @@ static const flex_int16_t yy_chk[9721] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 8, 1895, 8, 10, 10, 10, - 11, 11, 11, 12, 12, 12, 71, 1920, 1920, 11, + 2, 2, 2, 2, 8, 1919, 8, 10, 10, 10, + 11, 11, 11, 12, 12, 12, 71, 1944, 1944, 11, 18, 71, 12, 19, 75, 19, 2, 2, 21, 8, - 2, 76, 2, 76, 18, 10, 23, 1893, 22, 106, - 24, 1892, 21, 2, 61, 61, 61, 61, 108, 18, + 2, 76, 2, 76, 18, 10, 23, 1917, 22, 106, + 24, 1916, 21, 2, 61, 61, 61, 61, 108, 18, 23, 114, 19, 114, 24, 2, 2, 21, 8, 2, 75, 2, 18, 22, 10, 23, 19, 320, 106, 24, 21, 2, 6, 6, 6, 6, 108, 22, 23, 28, 29, 19, 24, 320, 98, 34, 98, 30, 75, 98, 113, 98, 22, 28, 19, 34, 35, 29, 6, 6, - 1889, 30, 6, 86, 6, 22, 112, 86, 28, 34, + 1913, 30, 6, 86, 6, 22, 112, 86, 28, 34, 35, 29, 98, 86, 98, 6, 30, 98, 113, 98, - 248, 28, 248, 1884, 34, 35, 29, 6, 6, 30, - 1882, 6, 86, 6, 1879, 112, 86, 34, 35, 29, - 776, 86, 776, 6, 13, 13, 13, 13, 13, 13, + 248, 28, 248, 1908, 34, 35, 29, 6, 6, 30, + 1906, 6, 86, 6, 1903, 112, 86, 34, 35, 29, + 783, 86, 783, 6, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -9625,101 +10115,101 @@ static const flex_int16_t yy_chk[9721] = 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 36, 25, - 25, 25, 25, 26, 116, 36, 14, 102, 1876, 102, - 26, 26, 14, 117, 162, 37, 37, 121, 809, 36, - 14, 14, 37, 592, 14, 102, 14, 154, 25, 154, - 139, 26, 154, 116, 36, 809, 37, 14, 104, 592, - 104, 117, 25, 162, 1875, 26, 27, 36, 27, 14, + 25, 25, 25, 26, 116, 36, 14, 102, 1900, 102, + 26, 26, 14, 117, 162, 37, 37, 121, 816, 36, + 14, 14, 37, 596, 14, 102, 14, 154, 25, 154, + 139, 26, 154, 116, 36, 816, 37, 14, 104, 596, + 104, 117, 25, 162, 1899, 26, 27, 36, 27, 14, 14, 37, 140, 14, 121, 14, 104, 25, 139, 27, - 26, 27, 1872, 27, 37, 14, 16, 16, 16, 16, + 26, 27, 1896, 27, 37, 14, 16, 16, 16, 16, 25, 40, 46, 26, 38, 27, 40, 32, 32, 32, 140, 38, 121, 166, 16, 32, 46, 144, 32, 27, - 40, 145, 16, 16, 32, 38, 16, 1868, 16, 32, - 40, 46, 45, 89, 27, 40, 32, 89, 1865, 16, + 40, 145, 16, 16, 32, 38, 16, 1892, 16, 32, + 40, 46, 45, 89, 27, 40, 32, 89, 1889, 16, 38, 45, 166, 89, 46, 144, 45, 27, 40, 145, - 32, 16, 16, 38, 110, 16, 110, 16, 111, 1821, - 111, 45, 89, 1820, 1799, 32, 89, 16, 31, 45, + 32, 16, 16, 38, 110, 16, 110, 16, 111, 1845, + 111, 45, 89, 1844, 1823, 32, 89, 16, 31, 45, 31, 89, 110, 120, 45, 59, 111, 33, 32, 33, - 122, 122, 122, 122, 1775, 1773, 31, 111, 33, 33, - 33, 39, 31, 120, 39, 59, 31, 31, 31, 1749, + 122, 122, 122, 122, 1799, 1797, 31, 111, 33, 33, + 33, 39, 31, 120, 39, 59, 31, 31, 31, 1773, 39, 33, 163, 31, 33, 31, 31, 39, 39, 59, 164, 31, 74, 74, 74, 31, 111, 33, 33, 33, 39, 31, 120, 39, 59, 31, 31, 31, 39, 33, 163, 31, 33, 31, 31, 39, 39, 59, 164, 31, - 74, 1748, 165, 31, 41, 48, 42, 42, 48, 41, - 42, 41, 49, 49, 905, 41, 42, 905, 41, 48, - 62, 42, 49, 41, 124, 62, 1742, 49, 41, 74, + 74, 1772, 165, 31, 41, 48, 42, 42, 48, 41, + 42, 41, 49, 49, 915, 41, 42, 915, 41, 48, + 62, 42, 49, 41, 124, 62, 1766, 49, 41, 74, 165, 124, 124, 41, 48, 42, 42, 48, 41, 42, 41, 49, 49, 41, 42, 47, 41, 48, 62, 42, - 49, 41, 47, 47, 47, 49, 41, 43, 778, 47, - 778, 167, 62, 43, 1141, 43, 43, 1141, 43, 43, - 63, 43, 169, 1723, 47, 43, 126, 62, 1722, 1717, + 49, 41, 47, 47, 47, 49, 41, 43, 785, 47, + 785, 167, 62, 43, 1155, 43, 43, 1155, 43, 43, + 63, 43, 169, 1747, 47, 43, 126, 62, 1746, 1741, - 47, 47, 47, 126, 126, 1714, 43, 47, 63, 167, + 47, 47, 47, 126, 126, 1738, 43, 47, 63, 167, 62, 43, 50, 43, 43, 168, 43, 43, 173, 43, - 169, 50, 63, 43, 44, 1698, 50, 44, 128, 1685, + 169, 50, 63, 43, 44, 1722, 50, 44, 128, 1709, 44, 44, 130, 44, 130, 128, 128, 63, 44, 44, 171, 50, 176, 51, 168, 130, 173, 130, 51, 50, - 63, 128, 1684, 44, 50, 51, 44, 51, 44, 44, + 63, 128, 1708, 44, 50, 51, 44, 51, 44, 44, 52, 44, 51, 51, 53, 161, 44, 44, 52, 171, - 52, 176, 51, 1414, 52, 52, 53, 51, 53, 175, - 128, 53, 161, 51, 53, 51, 54, 54, 1679, 52, - 51, 51, 56, 53, 161, 177, 52, 56, 52, 56, + 52, 176, 51, 1433, 52, 52, 53, 51, 53, 177, + 128, 53, 161, 51, 53, 51, 54, 54, 1703, 52, + 51, 51, 56, 53, 161, 178, 52, 56, 52, 56, - 1678, 54, 52, 52, 53, 141, 53, 175, 1677, 53, - 161, 56, 53, 55, 1672, 54, 54, 55, 55, 1650, - 141, 56, 57, 177, 1414, 178, 56, 55, 56, 54, + 1702, 54, 52, 52, 53, 141, 53, 177, 1701, 53, + 161, 56, 53, 55, 1696, 54, 54, 55, 55, 1674, + 141, 56, 57, 178, 1433, 179, 56, 55, 56, 54, 57, 87, 55, 55, 141, 57, 57, 129, 58, 56, - 58, 131, 55, 131, 129, 129, 55, 55, 141, 1643, - 58, 57, 58, 178, 131, 55, 131, 1634, 57, 87, - 55, 55, 193, 57, 57, 143, 1633, 58, 179, 58, - 181, 1631, 1629, 87, 81, 143, 1625, 129, 58, 1420, - 58, 60, 60, 60, 60, 64, 65, 1621, 87, 64, - 64, 193, 65, 64, 143, 65, 179, 81, 181, 64, - - 65, 87, 81, 143, 64, 129, 182, 60, 60, 1470, - 60, 60, 1620, 60, 64, 65, 81, 205, 64, 64, - 65, 1556, 64, 65, 60, 183, 81, 64, 65, 1555, - 1420, 81, 64, 184, 182, 1551, 60, 60, 67, 60, - 60, 66, 60, 67, 81, 67, 205, 1550, 66, 66, - 66, 211, 60, 183, 80, 66, 88, 67, 170, 170, - 1470, 184, 67, 79, 79, 79, 79, 67, 1572, 185, - 66, 1572, 67, 83, 67, 79, 66, 66, 66, 80, - 211, 1549, 80, 66, 88, 67, 170, 170, 80, 79, - 67, 88, 88, 88, 188, 80, 80, 185, 88, 90, - - 83, 83, 91, 90, 83, 213, 91, 1547, 80, 90, - 83, 80, 91, 88, 191, 83, 80, 192, 79, 88, - 88, 88, 188, 80, 80, 82, 88, 214, 90, 83, - 83, 91, 90, 83, 213, 91, 195, 90, 83, 1540, - 91, 196, 191, 83, 215, 192, 142, 172, 82, 1534, - 85, 94, 172, 82, 85, 82, 214, 85, 85, 82, - 85, 142, 82, 94, 195, 94, 85, 82, 94, 196, + 58, 131, 55, 131, 129, 129, 55, 55, 141, 1667, + 58, 57, 58, 179, 131, 55, 131, 1658, 57, 87, + 55, 55, 193, 57, 57, 143, 1657, 58, 181, 58, + 182, 1655, 1653, 87, 81, 143, 1651, 129, 58, 1439, + 58, 60, 60, 60, 60, 64, 65, 1648, 87, 64, + 64, 193, 65, 64, 143, 65, 181, 81, 182, 64, + + 65, 87, 81, 143, 64, 129, 183, 60, 60, 1490, + 60, 60, 1644, 60, 64, 65, 81, 211, 64, 64, + 65, 1643, 64, 65, 60, 184, 81, 64, 65, 1578, + 1439, 81, 64, 185, 183, 1577, 60, 60, 67, 60, + 60, 66, 60, 67, 81, 67, 211, 1573, 66, 66, + 66, 213, 60, 184, 80, 66, 88, 67, 170, 170, + 1490, 185, 67, 79, 79, 79, 79, 67, 1594, 188, + 66, 1594, 67, 83, 67, 79, 66, 66, 66, 80, + 213, 1572, 80, 66, 88, 67, 170, 170, 80, 79, + 67, 88, 88, 88, 191, 80, 80, 188, 88, 90, + + 83, 83, 91, 90, 83, 214, 91, 1571, 80, 90, + 83, 80, 91, 88, 192, 83, 80, 195, 79, 88, + 88, 88, 191, 80, 80, 82, 88, 175, 90, 83, + 83, 91, 90, 83, 214, 91, 196, 90, 83, 1569, + 91, 175, 192, 83, 215, 195, 142, 172, 82, 1561, + 85, 94, 172, 82, 85, 82, 175, 85, 85, 82, + 85, 142, 82, 94, 196, 94, 85, 82, 94, 175, 100, 94, 82, 215, 174, 142, 172, 82, 100, 85, 94, 172, 82, 85, 82, 85, 85, 82, 85, 142, - 82, 94, 1469, 94, 85, 82, 94, 217, 100, 94, + 82, 94, 1555, 94, 85, 82, 94, 217, 100, 94, - 82, 84, 186, 223, 186, 84, 1644, 197, 84, 1644, - 84, 84, 100, 84, 84, 174, 174, 92, 95, 1467, - 84, 92, 95, 1462, 93, 92, 217, 100, 95, 92, - 84, 92, 223, 1461, 84, 197, 84, 92, 84, 84, + 82, 84, 186, 223, 186, 84, 1668, 197, 84, 1668, + 84, 84, 100, 84, 84, 174, 174, 92, 95, 1489, + 84, 92, 95, 1487, 93, 92, 217, 100, 95, 92, + 84, 92, 223, 1482, 84, 197, 84, 92, 84, 84, 100, 84, 84, 174, 174, 186, 92, 95, 84, 198, - 92, 95, 93, 194, 92, 1459, 95, 92, 103, 92, + 92, 95, 93, 194, 92, 1481, 95, 92, 103, 92, 93, 194, 93, 199, 96, 92, 93, 93, 96, 103, - 138, 201, 96, 186, 99, 97, 1456, 198, 96, 138, - 138, 93, 194, 96, 96, 418, 103, 418, 93, 194, - 93, 199, 138, 96, 93, 93, 1453, 96, 97, 201, + 138, 201, 96, 186, 99, 97, 1479, 198, 96, 138, + 138, 93, 194, 96, 96, 419, 103, 419, 93, 194, + 93, 199, 138, 96, 93, 93, 1476, 96, 97, 201, - 103, 96, 99, 97, 99, 97, 96, 418, 138, 138, + 103, 96, 99, 97, 99, 97, 96, 419, 138, 138, 202, 96, 96, 202, 99, 103, 99, 97, 180, 251, 138, 251, 251, 101, 101, 101, 101, 97, 103, 180, - 1450, 99, 97, 99, 97, 101, 107, 233, 202, 207, + 1473, 99, 97, 99, 97, 101, 107, 233, 202, 207, 107, 202, 99, 107, 99, 97, 107, 180, 208, 101, - 125, 125, 125, 146, 146, 146, 1449, 180, 125, 125, - 253, 146, 253, 253, 1448, 107, 233, 207, 1442, 107, - 146, 107, 1436, 1021, 107, 1021, 208, 1431, 101, 105, + 125, 125, 125, 146, 146, 146, 1470, 180, 125, 125, + 253, 146, 253, 253, 1469, 107, 233, 207, 1468, 107, + 146, 107, 1462, 1033, 107, 1033, 208, 1455, 101, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, @@ -9729,937 +10219,942 @@ static const flex_int16_t yy_chk[9721] = 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 109, - 357, 133, 187, 133, 187, 1426, 109, 357, 357, 209, - 109, 1416, 187, 109, 133, 133, 133, 133, 134, 133, - 134, 212, 224, 109, 1415, 1023, 187, 1023, 109, 1341, + 357, 133, 187, 133, 187, 1450, 109, 357, 357, 209, + 109, 1445, 187, 109, 133, 133, 133, 133, 134, 133, + 134, 212, 224, 109, 1435, 426, 187, 426, 109, 1434, 152, 134, 134, 134, 134, 109, 134, 209, 109, 152, - 152, 109, 134, 135, 137, 135, 137, 247, 1334, 212, + 152, 109, 134, 135, 137, 135, 137, 426, 1359, 212, 224, 109, 152, 133, 225, 187, 135, 135, 135, 135, - 1331, 135, 147, 147, 147, 147, 1330, 1314, 152, 152, - 134, 134, 137, 247, 147, 148, 148, 148, 148, 204, - 152, 137, 225, 148, 135, 204, 1313, 153, 147, 153, - 1671, 137, 148, 189, 203, 135, 190, 190, 153, 153, - 200, 137, 247, 190, 203, 189, 1309, 189, 204, 137, - 189, 153, 135, 204, 232, 200, 373, 147, 206, 137, - 206, 1304, 189, 203, 190, 190, 216, 153, 153, 200, - 216, 190, 203, 189, 210, 189, 206, 206, 189, 153, - - 206, 1671, 219, 200, 230, 373, 231, 206, 210, 206, - 226, 210, 222, 1303, 232, 216, 219, 226, 1646, 216, - 242, 1646, 1302, 210, 206, 206, 222, 230, 206, 231, - 246, 219, 220, 220, 220, 220, 210, 236, 226, 210, - 237, 222, 232, 242, 219, 226, 227, 227, 227, 227, - 229, 229, 229, 229, 222, 234, 230, 238, 231, 235, - 235, 239, 234, 1300, 349, 236, 246, 1285, 237, 238, - 1272, 238, 242, 350, 238, 245, 245, 245, 1263, 252, - 252, 252, 252, 234, 1260, 1244, 238, 235, 235, 239, - 234, 252, 349, 259, 246, 259, 319, 238, 319, 238, - - 263, 350, 238, 245, 1243, 252, 257, 256, 256, 256, - 256, 1203, 259, 257, 257, 257, 1157, 263, 326, 256, - 257, 351, 259, 1690, 259, 319, 354, 258, 325, 263, - 258, 375, 245, 256, 252, 257, 352, 258, 258, 258, - 259, 257, 257, 257, 258, 263, 260, 1712, 257, 351, - 1147, 325, 261, 1143, 319, 260, 258, 354, 326, 258, - 375, 262, 256, 260, 352, 258, 258, 258, 261, 261, - 264, 321, 258, 321, 1690, 260, 262, 1142, 262, 264, - 325, 261, 265, 260, 265, 354, 326, 264, 266, 321, - 262, 260, 267, 268, 1120, 331, 261, 261, 1712, 264, - - 266, 265, 267, 267, 262, 266, 262, 264, 1110, 267, - 268, 265, 360, 265, 355, 264, 271, 266, 331, 360, - 360, 267, 268, 315, 315, 315, 315, 272, 266, 265, - 267, 267, 270, 266, 269, 274, 269, 267, 268, 269, - 271, 1109, 270, 272, 272, 273, 273, 331, 1096, 270, - 274, 372, 274, 269, 355, 1093, 272, 271, 271, 348, - 1078, 270, 273, 269, 274, 269, 275, 1074, 269, 271, - 270, 272, 272, 348, 273, 273, 276, 270, 274, 372, - 274, 269, 355, 275, 275, 271, 271, 382, 348, 278, - 273, 276, 344, 276, 344, 275, 277, 1066, 278, 279, - - 1065, 348, 277, 280, 1058, 276, 278, 281, 1053, 1798, - 344, 275, 275, 277, 384, 382, 279, 279, 278, 276, - 280, 276, 281, 1029, 281, 277, 278, 925, 279, 282, - 918, 277, 280, 283, 278, 283, 281, 284, 285, 284, - 282, 277, 384, 399, 279, 279, 282, 284, 280, 912, - 281, 285, 281, 400, 868, 285, 287, 865, 282, 283, - 1798, 284, 366, 284, 366, 287, 287, 285, 282, 298, - 286, 399, 287, 287, 282, 366, 283, 366, 288, 285, - 284, 400, 286, 285, 286, 287, 298, 286, 283, 288, - 284, 861, 284, 287, 287, 288, 402, 1800, 298, 286, - - 287, 287, 289, 397, 283, 290, 855, 288, 284, 290, - 286, 843, 286, 289, 298, 286, 293, 288, 841, 289, - 292, 622, 290, 288, 402, 293, 291, 291, 622, 622, - 292, 289, 397, 293, 290, 291, 1812, 292, 290, 336, - 294, 289, 336, 291, 403, 293, 336, 289, 1800, 292, - 290, 294, 365, 293, 365, 291, 291, 294, 292, 295, - 297, 293, 297, 291, 296, 292, 365, 336, 295, 294, - 336, 291, 403, 296, 336, 826, 295, 297, 300, 294, - 404, 296, 299, 398, 300, 294, 301, 1812, 295, 297, - 401, 297, 301, 296, 300, 300, 295, 299, 301, 299, - - 299, 296, 820, 301, 295, 297, 798, 300, 404, 296, - 405, 299, 398, 300, 406, 301, 302, 302, 303, 401, - 303, 301, 300, 300, 304, 299, 301, 299, 299, 411, - 374, 301, 374, 790, 302, 374, 303, 303, 405, 789, - 303, 304, 406, 304, 711, 302, 302, 303, 412, 303, - 305, 710, 593, 304, 593, 306, 308, 308, 411, 305, - 415, 307, 302, 307, 303, 303, 682, 305, 303, 304, - 593, 304, 306, 306, 308, 307, 309, 412, 307, 305, - 307, 310, 311, 310, 306, 308, 308, 305, 311, 415, - 307, 309, 307, 309, 385, 305, 385, 385, 310, 311, - - 306, 306, 308, 307, 681, 309, 307, 312, 307, 312, - 310, 311, 310, 327, 313, 327, 313, 311, 416, 309, - 313, 309, 314, 1031, 312, 1031, 310, 311, 314, 661, - 660, 313, 316, 316, 316, 316, 312, 409, 312, 314, - 656, 410, 327, 313, 316, 313, 328, 416, 328, 313, - 424, 314, 312, 317, 317, 317, 317, 314, 316, 313, - 655, 329, 426, 329, 328, 409, 652, 314, 345, 410, - 345, 327, 1033, 334, 1033, 328, 419, 329, 424, 329, - 330, 330, 330, 330, 334, 335, 345, 316, 329, 329, - 426, 334, 330, 337, 337, 337, 335, 345, 650, 642, - - 337, 329, 334, 335, 328, 419, 330, 358, 358, 358, - 639, 632, 334, 632, 335, 358, 358, 329, 329, 334, - 638, 337, 337, 337, 335, 632, 345, 338, 337, 329, - 1116, 335, 1116, 338, 338, 330, 332, 332, 332, 332, + 1352, 135, 147, 147, 147, 147, 1349, 1348, 152, 152, + 134, 134, 137, 1332, 147, 148, 148, 148, 148, 204, + 152, 137, 225, 148, 135, 204, 236, 153, 147, 153, + 1331, 137, 148, 189, 203, 135, 190, 190, 153, 153, + 200, 137, 237, 190, 203, 189, 232, 189, 204, 137, + 189, 153, 135, 204, 236, 200, 216, 147, 205, 137, + 216, 1327, 189, 203, 190, 190, 219, 153, 153, 200, + 237, 190, 203, 189, 205, 189, 210, 222, 189, 153, + + 219, 226, 206, 200, 206, 216, 232, 205, 226, 216, + 210, 222, 230, 210, 231, 219, 220, 220, 220, 220, + 206, 206, 205, 234, 206, 210, 222, 242, 219, 226, + 234, 206, 239, 206, 232, 230, 226, 231, 210, 222, + 1322, 210, 227, 227, 227, 227, 235, 235, 206, 206, + 242, 234, 206, 229, 229, 229, 229, 246, 234, 238, + 239, 245, 245, 245, 230, 247, 231, 315, 315, 315, + 315, 238, 349, 238, 235, 235, 238, 1321, 261, 242, + 252, 252, 252, 252, 256, 256, 256, 256, 238, 245, + 360, 247, 252, 246, 261, 261, 256, 360, 360, 238, + + 349, 238, 350, 373, 238, 257, 252, 261, 1320, 1035, + 256, 1035, 257, 257, 257, 1043, 263, 1043, 245, 257, + 247, 246, 261, 261, 1318, 259, 258, 259, 375, 258, + 350, 262, 373, 263, 257, 252, 258, 258, 258, 256, + 257, 257, 257, 258, 259, 263, 262, 257, 262, 265, + 260, 265, 268, 264, 259, 258, 259, 375, 258, 260, + 262, 263, 264, 351, 258, 258, 258, 260, 265, 268, + 264, 258, 259, 352, 262, 267, 262, 266, 265, 260, + 265, 268, 264, 271, 1695, 267, 267, 260, 325, 266, + 264, 351, 267, 1303, 266, 260, 265, 268, 264, 270, + + 269, 352, 269, 1299, 267, 269, 266, 271, 326, 270, + 272, 325, 272, 267, 267, 1670, 270, 266, 1670, 269, + 267, 280, 266, 372, 271, 271, 272, 272, 270, 269, + 1289, 269, 273, 273, 269, 1695, 271, 270, 280, 272, + 325, 272, 274, 276, 270, 397, 275, 269, 326, 273, + 280, 372, 271, 271, 272, 272, 1279, 274, 276, 274, + 276, 273, 273, 275, 275, 279, 280, 277, 905, 905, + 905, 274, 276, 277, 397, 275, 326, 273, 281, 283, + 278, 283, 279, 279, 277, 274, 276, 274, 276, 278, + 398, 275, 275, 281, 279, 281, 277, 278, 317, 317, + + 317, 317, 277, 282, 1276, 283, 321, 281, 321, 278, + 279, 279, 277, 382, 282, 331, 286, 278, 285, 398, + 282, 281, 283, 281, 321, 278, 384, 284, 286, 284, + 286, 285, 282, 286, 283, 285, 1260, 284, 331, 1259, + 1218, 382, 282, 355, 354, 286, 1171, 285, 282, 288, + 283, 284, 292, 284, 384, 287, 286, 289, 286, 285, + 288, 286, 292, 285, 287, 287, 288, 331, 289, 292, + 284, 287, 287, 1714, 289, 354, 1161, 344, 288, 344, + 284, 292, 284, 355, 287, 1157, 289, 290, 288, 399, + 292, 290, 287, 287, 288, 344, 289, 292, 284, 287, + + 287, 293, 289, 354, 290, 291, 291, 1045, 294, 1045, + 293, 355, 295, 366, 291, 366, 290, 399, 293, 294, + 290, 295, 291, 298, 1714, 294, 366, 296, 366, 295, + 293, 297, 290, 297, 291, 291, 296, 294, 293, 1156, + 298, 295, 291, 1134, 296, 401, 293, 294, 297, 295, + 291, 400, 298, 294, 1124, 1123, 296, 295, 1110, 1107, + 297, 402, 297, 299, 296, 301, 1092, 300, 298, 302, + 302, 301, 296, 300, 401, 411, 297, 301, 299, 400, + 299, 299, 301, 300, 300, 302, 374, 302, 374, 402, + 403, 374, 299, 365, 301, 365, 300, 304, 302, 302, + + 301, 303, 300, 303, 411, 301, 299, 365, 299, 299, + 301, 300, 300, 302, 304, 302, 304, 306, 403, 303, + 303, 1087, 1079, 303, 305, 385, 304, 385, 385, 404, + 303, 405, 303, 305, 306, 306, 319, 387, 319, 387, + 387, 305, 304, 309, 304, 1078, 306, 303, 303, 308, + 308, 303, 1070, 305, 307, 412, 307, 404, 309, 405, + 309, 305, 306, 306, 327, 319, 327, 308, 307, 305, + 406, 307, 309, 307, 310, 311, 310, 1736, 308, 308, + 312, 311, 312, 307, 412, 307, 309, 409, 309, 1065, + 1041, 310, 311, 327, 319, 308, 307, 312, 406, 307, + + 313, 307, 313, 310, 311, 310, 313, 314, 935, 312, + 311, 312, 328, 314, 328, 409, 329, 313, 329, 310, + 311, 1130, 327, 1130, 314, 312, 410, 416, 1736, 313, + 328, 313, 329, 928, 329, 313, 314, 316, 316, 316, + 316, 328, 314, 329, 329, 313, 922, 415, 348, 316, + 334, 346, 314, 346, 410, 416, 329, 330, 330, 330, + 330, 334, 348, 316, 335, 639, 878, 639, 334, 330, + 328, 336, 329, 329, 336, 335, 415, 348, 336, 334, + 346, 639, 335, 330, 329, 875, 358, 358, 358, 334, + 348, 871, 316, 335, 358, 358, 334, 626, 431, 336, + + 431, 865, 336, 335, 626, 626, 336, 863, 431, 346, + 335, 852, 330, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 338, 332, 332, 332, 332, - 332, 338, 338, 339, 340, 341, 342, 359, 359, 359, - 422, 387, 339, 387, 387, 359, 359, 341, 342, 339, - 342, 340, 341, 342, 346, 423, 346, 332, 332, 623, - 637, 624, 339, 340, 341, 342, 623, 623, 588, 422, - - 339, 1247, 430, 1247, 430, 341, 342, 339, 342, 340, - 341, 342, 430, 346, 423, 332, 333, 333, 333, 333, + 332, 332, 340, 332, 332, 332, 332, 332, 337, 337, + 337, 338, 339, 341, 850, 337, 425, 338, 338, 340, + 407, 339, 427, 407, 430, 341, 417, 834, 339, 434, + 341, 340, 420, 828, 332, 332, 337, 337, 337, 338, + 805, 339, 341, 337, 425, 338, 338, 340, 407, 339, + 427, 407, 430, 341, 797, 417, 339, 434, 341, 796, + 716, 420, 332, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, - 333, 333, 333, 333, 333, 427, 333, 333, 333, 333, - 333, 343, 346, 363, 347, 582, 347, 367, 364, 367, - 363, 363, 333, 560, 343, 364, 364, 429, 343, 333, - 347, 367, 347, 367, 427, 367, 407, 333, 333, 407, - 343, 347, 347, 347, 368, 508, 368, 363, 507, 503, - 333, 425, 343, 425, 347, 429, 343, 333, 368, 432, - 368, 364, 368, 502, 407, 333, 1251, 407, 1251, 367, - - 347, 347, 347, 425, 370, 363, 370, 371, 376, 371, - 376, 499, 347, 420, 381, 420, 381, 432, 370, 364, - 370, 371, 370, 371, 376, 371, 368, 431, 480, 437, - 381, 386, 386, 386, 386, 420, 431, 431, 478, 370, - 421, 421, 396, 386, 390, 390, 390, 390, 428, 420, - 428, 371, 390, 376, 381, 1852, 370, 386, 437, 371, - 413, 390, 414, 391, 391, 391, 391, 370, 421, 421, - 408, 391, 433, 440, 394, 391, 413, 420, 414, 371, - 391, 376, 381, 394, 394, 436, 386, 408, 434, 391, - 395, 428, 435, 438, 439, 441, 394, 441, 436, 408, - - 433, 413, 440, 414, 442, 392, 1852, 443, 444, 445, - 447, 451, 394, 394, 436, 408, 434, 441, 391, 428, - 435, 438, 439, 446, 394, 446, 436, 448, 449, 413, - 450, 414, 417, 442, 417, 443, 453, 444, 445, 447, - 451, 454, 455, 456, 458, 446, 389, 388, 459, 457, - 383, 380, 462, 460, 417, 448, 449, 457, 450, 417, - 379, 460, 463, 464, 417, 453, 465, 466, 471, 454, - 455, 467, 456, 458, 417, 417, 459, 457, 417, 461, - 462, 461, 460, 468, 469, 457, 488, 470, 417, 460, - 463, 472, 464, 417, 473, 465, 466, 471, 475, 467, - - 476, 461, 417, 417, 477, 479, 417, 481, 482, 483, - 484, 468, 469, 485, 461, 470, 486, 487, 489, 472, - 488, 490, 473, 461, 491, 493, 475, 591, 476, 494, - 495, 496, 477, 479, 497, 481, 482, 483, 484, 492, - 378, 485, 461, 495, 486, 509, 487, 514, 488, 377, - 490, 461, 510, 491, 493, 591, 492, 369, 494, 495, - 496, 489, 512, 497, 498, 498, 498, 500, 492, 500, - 500, 495, 509, 511, 501, 487, 501, 501, 504, 513, - 504, 504, 515, 510, 492, 505, 505, 505, 505, 489, - 514, 506, 497, 506, 506, 516, 498, 505, 517, 512, - - 518, 509, 521, 522, 362, 524, 520, 511, 361, 519, - 513, 505, 510, 525, 525, 515, 907, 539, 514, 523, - 356, 526, 527, 907, 907, 498, 532, 512, 530, 516, - 525, 520, 524, 538, 353, 511, 521, 522, 517, 513, - 505, 518, 523, 515, 519, 526, 324, 519, 520, 527, - 322, 529, 529, 529, 539, 525, 535, 516, 538, 530, - 520, 524, 533, 534, 521, 522, 517, 532, 532, 518, - 537, 523, 519, 529, 526, 519, 520, 542, 527, 531, - 531, 531, 539, 525, 528, 528, 528, 538, 530, 533, - 534, 536, 536, 536, 540, 532, 532, 535, 541, 543, - - 546, 531, 547, 551, 318, 537, 528, 544, 545, 255, - 548, 528, 254, 536, 557, 531, 528, 250, 533, 534, - 542, 550, 249, 552, 553, 535, 528, 528, 540, 243, - 528, 559, 541, 537, 544, 545, 548, 549, 549, 549, - 528, 546, 543, 531, 547, 528, 551, 544, 542, 552, - 555, 553, 550, 556, 528, 528, 540, 558, 528, 549, - 541, 557, 559, 544, 545, 548, 554, 554, 554, 546, - 543, 561, 547, 562, 551, 544, 563, 555, 552, 564, - 553, 550, 565, 567, 570, 571, 240, 556, 554, 557, - 566, 559, 614, 558, 561, 576, 568, 573, 577, 228, - - 572, 575, 221, 569, 569, 569, 555, 574, 580, 578, - 564, 1252, 563, 1252, 562, 556, 584, 567, 565, 566, - 614, 558, 568, 561, 573, 569, 565, 570, 571, 581, - 568, 572, 579, 583, 574, 127, 577, 576, 569, 564, - 563, 575, 562, 585, 580, 567, 565, 569, 566, 578, - 584, 568, 596, 573, 565, 570, 571, 123, 568, 611, - 572, 579, 119, 574, 577, 576, 569, 118, 595, 575, - 78, 581, 580, 583, 72, 569, 600, 578, 584, 586, - 586, 586, 586, 611, 69, 585, 587, 587, 587, 587, - 579, 589, 589, 589, 589, 596, 594, 17, 594, 581, - - 603, 583, 595, 589, 597, 600, 597, 603, 598, 609, - 598, 604, 611, 585, 594, 9, 609, 589, 653, 7, - 653, 653, 605, 596, 604, 594, 598, 0, 0, 603, - 595, 606, 0, 597, 600, 603, 605, 598, 609, 606, - 604, 599, 606, 599, 609, 612, 589, 590, 590, 590, - 590, 605, 604, 617, 594, 608, 613, 599, 619, 599, - 606, 615, 597, 610, 605, 616, 598, 606, 599, 599, - 606, 608, 612, 590, 590, 666, 590, 590, 631, 590, - 631, 599, 617, 613, 608, 612, 610, 619, 618, 615, - 590, 0, 631, 616, 0, 0, 631, 599, 599, 608, - - 620, 612, 590, 590, 666, 590, 590, 1638, 590, 599, - 0, 0, 613, 612, 1638, 610, 618, 1638, 590, 601, - 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, - 601, 601, 601, 601, 601, 601, 601, 601, 620, 601, - 601, 601, 601, 601, 607, 627, 607, 627, 649, 625, - 628, 635, 628, 635, 0, 601, 625, 625, 627, 663, - 627, 607, 636, 628, 636, 628, 620, 635, 0, 0, - 601, 601, 621, 607, 0, 607, 649, 0, 636, 630, - 0, 630, 654, 601, 654, 654, 1342, 663, 1342, 607, - 625, 0, 1343, 630, 1343, 667, 621, 630, 601, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 625, 602, - 602, 602, 602, 602, 667, 621, 626, 629, 602, 629, - 668, 630, 0, 626, 626, 0, 664, 671, 629, 640, - 629, 640, 629, 629, 633, 629, 633, 634, 665, 634, - 602, 602, 647, 626, 647, 640, 669, 602, 633, 668, - 633, 634, 633, 634, 664, 634, 671, 673, 647, 672, - 744, 692, 744, 692, 0, 634, 665, 674, 602, 629, - 744, 675, 626, 678, 669, 679, 633, 676, 0, 657, - 657, 657, 657, 692, 677, 673, 633, 657, 672, 634, - - 658, 658, 658, 658, 634, 674, 657, 680, 658, 675, - 683, 678, 658, 679, 633, 687, 676, 658, 688, 659, - 659, 659, 659, 677, 689, 691, 658, 659, 690, 662, - 662, 662, 662, 694, 702, 680, 659, 662, 683, 684, - 695, 684, 695, 687, 697, 698, 662, 688, 700, 706, - 707, 0, 0, 689, 691, 658, 690, 701, 703, 701, - 703, 694, 695, 702, 705, 709, 705, 714, 713, 0, - 715, 684, 697, 698, 709, 709, 700, 706, 707, 701, - 703, 712, 712, 712, 719, 684, 705, 726, 716, 718, - 720, 712, 712, 721, 712, 714, 712, 713, 715, 717, - - 684, 725, 722, 712, 722, 723, 717, 723, 732, 727, - 734, 727, 719, 684, 685, 726, 685, 716, 718, 720, - 735, 736, 721, 728, 722, 728, 738, 723, 717, 0, - 725, 727, 737, 729, 717, 729, 685, 732, 739, 734, - 740, 685, 741, 0, 742, 728, 685, 743, 735, 736, - 749, 746, 750, 746, 738, 729, 685, 685, 728, 712, - 685, 737, 751, 752, 754, 748, 739, 748, 740, 755, - 685, 741, 742, 746, 756, 685, 743, 758, 749, 759, - 750, 761, 762, 761, 685, 685, 728, 748, 685, 763, - 751, 752, 764, 754, 766, 772, 767, 768, 755, 769, - - 770, 771, 756, 761, 773, 758, 774, 777, 759, 775, - 779, 762, 782, 791, 784, 777, 792, 0, 763, 795, - 780, 764, 794, 766, 767, 0, 768, 780, 769, 770, - 771, 780, 781, 774, 781, 772, 777, 775, 785, 779, - 785, 785, 781, 793, 777, 773, 781, 794, 795, 780, - 784, 781, 782, 792, 791, 780, 783, 783, 783, 780, - 796, 797, 774, 772, 786, 802, 786, 786, 787, 799, - 787, 787, 788, 773, 788, 788, 794, 795, 784, 800, - 782, 792, 791, 801, 793, 803, 805, 796, 783, 807, - 806, 804, 799, 808, 811, 811, 811, 810, 814, 802, - - 812, 817, 797, 815, 816, 813, 800, 821, 818, 0, - 900, 819, 793, 805, 0, 828, 796, 783, 875, 825, - 801, 799, 804, 0, 806, 814, 811, 802, 803, 808, - 797, 810, 807, 813, 816, 800, 823, 812, 829, 900, - 811, 827, 805, 830, 0, 817, 875, 821, 801, 818, - 815, 804, 806, 819, 814, 811, 803, 808, 828, 810, - 807, 825, 813, 816, 831, 812, 823, 832, 811, 822, - 822, 822, 827, 817, 830, 821, 833, 818, 815, 835, - 829, 819, 824, 824, 824, 834, 828, 838, 837, 825, - 0, 822, 844, 831, 846, 823, 848, 0, 832, 842, - - 831, 827, 835, 830, 824, 849, 852, 845, 829, 847, - 850, 857, 833, 837, 834, 836, 836, 836, 851, 844, - 860, 838, 831, 839, 839, 839, 858, 832, 831, 846, - 842, 835, 840, 840, 840, 0, 847, 836, 848, 0, - 833, 851, 837, 834, 845, 839, 852, 849, 844, 838, - 853, 857, 850, 859, 840, 866, 860, 846, 862, 842, - 858, 854, 854, 854, 863, 847, 848, 840, 864, 867, - 851, 854, 845, 870, 852, 849, 856, 856, 856, 857, - 850, 853, 871, 862, 860, 869, 869, 869, 858, 863, - 872, 880, 866, 859, 899, 840, 867, 960, 856, 960, - - 870, 873, 873, 873, 873, 0, 877, 869, 877, 871, - 853, 864, 862, 874, 874, 874, 874, 872, 863, 960, - 866, 859, 899, 0, 877, 867, 878, 881, 878, 870, - 0, 883, 880, 879, 887, 879, 887, 902, 871, 864, - 886, 882, 886, 882, 878, 0, 872, 876, 876, 876, - 876, 879, 896, 0, 881, 878, 0, 882, 887, 882, - 880, 904, 879, 0, 927, 876, 902, 928, 882, 882, - 0, 883, 929, 876, 876, 896, 876, 876, 889, 876, - 889, 882, 886, 881, 878, 904, 913, 887, 913, 931, - 876, 879, 927, 0, 891, 928, 891, 882, 882, 883, - - 913, 929, 876, 876, 896, 876, 876, 0, 876, 882, - 886, 890, 0, 890, 904, 0, 889, 931, 876, 884, - 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, - 884, 884, 884, 884, 884, 884, 884, 884, 891, 884, - 884, 884, 884, 884, 889, 0, 890, 895, 895, 895, - 898, 898, 898, 930, 908, 921, 908, 921, 921, 933, - 898, 888, 934, 888, 898, 908, 891, 936, 937, 898, - 884, 884, 0, 922, 890, 922, 922, 923, 923, 923, - 923, 1041, 930, 1041, 1041, 923, 1003, 933, 1003, 888, - 1042, 934, 1042, 1042, 923, 936, 1003, 937, 884, 885, - - 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, - 885, 885, 885, 885, 885, 885, 885, 885, 888, 885, - 885, 885, 885, 885, 892, 893, 892, 893, 906, 894, - 897, 894, 938, 941, 942, 906, 906, 924, 924, 924, - 924, 943, 944, 946, 0, 924, 948, 910, 892, 910, - 885, 885, 0, 893, 924, 906, 892, 894, 910, 897, - 938, 941, 942, 910, 947, 910, 897, 949, 0, 943, - 897, 944, 946, 914, 948, 914, 0, 892, 885, 911, - 950, 911, 893, 951, 906, 892, 894, 914, 897, 914, - 911, 914, 952, 947, 897, 911, 949, 911, 897, 910, - - 1144, 914, 926, 926, 926, 926, 955, 1144, 1144, 950, - 926, 951, 0, 1020, 926, 1020, 1111, 1111, 1111, 926, - 1412, 952, 1412, 1020, 0, 914, 1111, 945, 926, 945, - 914, 911, 915, 915, 955, 915, 915, 915, 915, 915, - 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, - 915, 915, 915, 915, 915, 915, 915, 926, 939, 945, - 0, 956, 957, 958, 0, 939, 959, 0, 961, 967, - 973, 974, 962, 945, 962, 965, 976, 965, 977, 0, - 978, 979, 982, 915, 915, 915, 0, 939, 945, 956, - 0, 957, 958, 939, 962, 959, 961, 965, 967, 973, - - 974, 945, 980, 1043, 976, 1043, 1043, 977, 978, 979, - 982, 915, 932, 932, 985, 932, 932, 932, 932, 932, - 932, 932, 932, 932, 932, 932, 932, 932, 932, 932, - 932, 980, 932, 932, 932, 932, 932, 969, 970, 969, - 970, 0, 0, 985, 1237, 981, 1237, 981, 969, 970, - 969, 970, 969, 970, 1237, 971, 971, 971, 986, 969, - 970, 991, 972, 932, 932, 971, 971, 981, 971, 992, - 971, 972, 972, 983, 972, 983, 972, 971, 987, 989, - 987, 989, 993, 972, 994, 995, 0, 986, 997, 998, - 991, 932, 1000, 1001, 1002, 983, 1007, 1005, 992, 1005, - - 987, 989, 1008, 1009, 1011, 1010, 1012, 0, 1013, 1014, - 1015, 993, 994, 1022, 995, 969, 970, 997, 998, 1005, - 1000, 1024, 1001, 1002, 1007, 1016, 1025, 1016, 1027, 1028, - 1008, 1009, 1011, 971, 1010, 1012, 1013, 1014, 1015, 972, - 1030, 1026, 1022, 1026, 1032, 1040, 1034, 1016, 1035, 1045, - 1024, 1026, 1039, 1046, 1025, 1026, 1028, 1047, 1051, 1027, - 1026, 1036, 1038, 1036, 1038, 1044, 1049, 1044, 1044, 1030, - 1048, 1036, 1052, 1032, 1034, 1036, 1038, 1035, 0, 0, - 1036, 1038, 1126, 1039, 1047, 1028, 1114, 1040, 1027, 1046, - 1045, 0, 1054, 1048, 1055, 0, 1051, 1052, 1072, 1072, - - 1072, 0, 1049, 1112, 1112, 1112, 1112, 1113, 1113, 1113, - 1113, 1126, 1039, 1047, 1114, 1040, 0, 1046, 1045, 1056, - 1072, 1055, 1048, 1059, 1051, 1061, 1052, 1060, 1054, 1067, - 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, - 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, - 1055, 1050, 1050, 1050, 1050, 1050, 1054, 1057, 1062, 1056, - 1059, 1060, 1063, 1067, 1068, 1064, 1061, 1073, 1079, 1069, - 1071, 1081, 1077, 1075, 1070, 1076, 1082, 1083, 1080, 1084, - 1084, 1084, 1050, 1050, 1091, 1062, 1057, 1056, 1059, 1060, - 1063, 1067, 1088, 1057, 1061, 1064, 1069, 1070, 1077, 1071, - - 1076, 1084, 1068, 1073, 1075, 1080, 1083, 1085, 1079, 1086, - 1050, 1087, 1082, 1081, 1062, 1057, 1089, 1090, 1092, 1063, - 1091, 1057, 1095, 1088, 1064, 1069, 1070, 1077, 1071, 1076, - 1068, 1073, 1086, 1075, 1080, 1083, 1079, 1094, 1087, 1097, - 1082, 1081, 1098, 1090, 1089, 1092, 1099, 1100, 1091, 1085, - 1101, 1102, 1088, 1095, 1104, 1107, 1106, 1103, 1105, 1108, - 1117, 1086, 1117, 1119, 1094, 1098, 0, 1087, 1122, 0, - 0, 1099, 1090, 1089, 1092, 0, 1118, 1085, 1118, 1166, - 0, 1097, 1095, 1103, 1127, 1105, 0, 1102, 1100, 1117, - 1119, 0, 1101, 1094, 1098, 1127, 1104, 1106, 1107, 1122, - - 1099, 1108, 1123, 1123, 1123, 1118, 1128, 1166, 1128, 1097, - 1134, 0, 1103, 1127, 1105, 1102, 1100, 0, 1117, 1119, - 1101, 1133, 1136, 1127, 1104, 1106, 1107, 0, 1122, 1108, - 1115, 1115, 1115, 1115, 1118, 1128, 1121, 1128, 1121, 1130, - 1129, 1145, 1131, 0, 1134, 1130, 1131, 0, 1145, 1145, - 1133, 1136, 1121, 1131, 1121, 1129, 1115, 1115, 1146, 1115, - 1115, 1169, 1115, 1121, 1121, 1146, 1146, 1135, 1130, 1129, - 0, 1131, 1134, 1115, 1130, 1131, 1121, 1325, 1325, 1325, - 1152, 1131, 1152, 1129, 0, 1115, 1115, 0, 1115, 1115, - 1169, 1115, 1121, 1121, 1152, 1135, 1159, 0, 1159, 1159, - - 1160, 1115, 1160, 1160, 1121, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1135, 1124, 1124, 1124, 1124, 1124, - 1148, 1149, 1148, 1149, 1124, 1150, 1167, 1150, 1153, 1170, - 1153, 1148, 1149, 1163, 0, 1163, 1150, 0, 1148, 1149, - 1172, 1153, 1154, 1153, 1154, 1173, 1124, 1124, 1155, 1156, - 1155, 1156, 0, 1124, 1167, 1163, 1154, 1170, 1154, 0, - 1154, 1202, 1155, 1156, 1155, 1156, 1155, 1156, 1172, 0, - 1202, 1202, 1148, 1173, 1124, 1125, 1125, 1125, 1125, 1125, - 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - - 1125, 1125, 1125, 1125, 1154, 1125, 1125, 1125, 1125, 1125, - 1155, 1156, 1125, 1161, 1161, 1161, 1161, 1162, 1162, 1162, - 1162, 1161, 1164, 1174, 1164, 1162, 1175, 1176, 0, 1177, - 1161, 1178, 1180, 1181, 1162, 1186, 1125, 1125, 1332, 0, - 1253, 1125, 1253, 1253, 1164, 1332, 1332, 1335, 1199, 1335, - 1199, 1174, 1199, 0, 1175, 1183, 1176, 1177, 1335, 1199, - 1178, 1180, 1181, 1186, 1125, 1132, 1132, 1132, 1132, 1132, - 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, - 1132, 1132, 1132, 1132, 1183, 1132, 1132, 1132, 1132, 1132, - 1187, 1188, 1189, 1190, 0, 1191, 1192, 1193, 1196, 1193, - - 1197, 1206, 1207, 1194, 1208, 1194, 1418, 1209, 1418, 1211, - 1212, 1216, 1336, 1218, 1336, 1199, 1132, 1132, 1187, 1193, - 1188, 1189, 1190, 1191, 1192, 1194, 1336, 1196, 1197, 0, - 1206, 1207, 1201, 1208, 1201, 1209, 1201, 1211, 1212, 1216, - 1217, 1218, 1217, 1201, 1132, 1151, 1151, 0, 1151, 1151, - 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, - 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, - 0, 0, 1198, 1200, 1198, 1200, 1219, 1221, 0, 1217, - 1213, 1222, 1213, 1198, 1200, 1198, 1200, 1198, 1200, 1223, - 1204, 1204, 1204, 1224, 1198, 1200, 1151, 1151, 1151, 1201, - - 1204, 1204, 1213, 1204, 1219, 1204, 1221, 1217, 1254, 1222, - 1254, 1254, 1204, 1310, 1310, 1310, 1310, 1223, 1179, 0, - 1179, 1224, 0, 1225, 1151, 1165, 1165, 1226, 1165, 1165, + 333, 333, 423, 333, 333, 333, 333, 333, 342, 364, + 343, 345, 424, 345, 435, 428, 364, 364, 436, 333, + 342, 715, 342, 343, 686, 342, 333, 343, 685, 345, + 502, 423, 502, 502, 333, 333, 665, 342, 439, 343, + 345, 424, 435, 347, 428, 347, 436, 333, 342, 438, + 342, 343, 364, 342, 333, 343, 359, 359, 359, 347, + 363, 347, 333, 664, 359, 359, 439, 363, 363, 345, + 347, 347, 347, 367, 368, 367, 368, 441, 438, 370, + 364, 370, 376, 347, 376, 660, 659, 367, 368, 367, + + 368, 367, 368, 370, 363, 370, 656, 370, 376, 347, + 347, 347, 371, 381, 371, 381, 441, 390, 390, 390, + 390, 347, 422, 422, 370, 390, 371, 440, 371, 381, + 371, 413, 363, 414, 390, 367, 368, 376, 444, 654, + 443, 370, 386, 386, 386, 386, 408, 413, 394, 414, + 422, 422, 370, 381, 386, 440, 371, 394, 394, 391, + 391, 391, 391, 408, 371, 376, 444, 391, 386, 443, + 394, 391, 413, 432, 414, 408, 391, 421, 429, 421, + 429, 381, 432, 432, 371, 391, 394, 394, 646, 445, + 437, 408, 433, 446, 442, 448, 442, 386, 394, 421, + + 413, 433, 414, 437, 447, 449, 447, 450, 451, 452, + 454, 643, 455, 421, 391, 418, 442, 418, 445, 437, + 433, 429, 446, 456, 448, 457, 447, 459, 642, 433, + 461, 437, 460, 449, 464, 450, 451, 418, 452, 454, + 455, 421, 418, 641, 458, 462, 466, 418, 463, 429, + 463, 456, 458, 462, 457, 467, 459, 418, 418, 461, + 460, 418, 464, 465, 468, 628, 469, 470, 471, 472, + 463, 418, 458, 473, 462, 466, 418, 474, 475, 477, + 458, 462, 478, 463, 467, 418, 418, 479, 481, 418, + 483, 465, 463, 468, 469, 470, 471, 472, 484, 485, + + 486, 487, 473, 488, 489, 474, 475, 477, 490, 491, + 478, 463, 492, 592, 493, 479, 481, 495, 483, 494, + 463, 496, 497, 516, 498, 499, 484, 485, 486, 487, + 512, 488, 511, 489, 586, 497, 494, 500, 500, 500, + 514, 492, 490, 493, 513, 520, 495, 563, 494, 519, + 496, 497, 491, 498, 499, 503, 515, 503, 503, 511, + 517, 512, 489, 497, 494, 506, 516, 506, 506, 500, + 490, 522, 521, 507, 507, 507, 507, 514, 513, 508, + 491, 508, 508, 499, 518, 507, 520, 515, 511, 519, + 512, 533, 523, 517, 516, 524, 522, 525, 500, 507, + + 526, 529, 527, 527, 530, 514, 513, 521, 528, 541, + 521, 535, 510, 522, 520, 536, 515, 519, 518, 527, + 525, 517, 533, 537, 544, 522, 523, 526, 507, 524, + 509, 530, 528, 505, 541, 521, 529, 538, 521, 504, + 545, 522, 536, 1263, 527, 1263, 518, 540, 501, 525, + 537, 533, 535, 535, 523, 543, 526, 524, 544, 542, + 530, 528, 549, 541, 529, 532, 532, 532, 534, 534, + 534, 536, 527, 531, 531, 531, 550, 546, 538, 537, + 535, 535, 540, 545, 554, 547, 544, 532, 482, 543, + 534, 539, 539, 539, 548, 531, 542, 551, 543, 553, + + 531, 480, 396, 549, 534, 531, 538, 555, 395, 560, + 540, 545, 547, 539, 392, 531, 531, 543, 550, 531, + 546, 548, 556, 551, 542, 547, 543, 554, 561, 531, + 553, 549, 534, 555, 531, 552, 552, 552, 557, 557, + 557, 547, 558, 531, 531, 559, 550, 531, 546, 556, + 548, 562, 551, 547, 564, 554, 560, 552, 565, 553, + 557, 566, 555, 567, 561, 568, 569, 574, 570, 558, + 631, 389, 631, 576, 575, 388, 571, 564, 556, 559, + 580, 383, 562, 631, 560, 631, 572, 1267, 579, 1267, + 584, 577, 561, 581, 567, 569, 380, 566, 558, 565, + + 582, 568, 570, 571, 576, 583, 564, 559, 578, 568, + 574, 562, 572, 585, 573, 573, 573, 575, 577, 588, + 572, 587, 580, 567, 569, 566, 584, 565, 579, 568, + 570, 581, 571, 576, 583, 578, 573, 568, 574, 595, + 582, 572, 589, 379, 597, 575, 597, 577, 572, 573, + 580, 599, 600, 588, 584, 585, 579, 378, 573, 581, + 377, 587, 597, 583, 578, 614, 618, 595, 582, 590, + 590, 590, 590, 591, 591, 591, 591, 573, 598, 604, + 598, 588, 619, 585, 589, 599, 573, 620, 614, 587, + 593, 593, 593, 593, 618, 600, 598, 601, 369, 601, + + 609, 602, 593, 602, 607, 617, 362, 598, 604, 608, + 619, 607, 589, 599, 609, 620, 593, 614, 657, 602, + 657, 657, 608, 600, 624, 603, 601, 603, 613, 609, + 602, 621, 617, 607, 615, 613, 598, 604, 608, 607, + 361, 603, 609, 603, 356, 593, 594, 594, 594, 594, + 608, 622, 603, 603, 623, 601, 610, 613, 615, 602, + 621, 617, 624, 613, 610, 603, 353, 610, 612, 611, + 670, 611, 594, 594, 671, 594, 594, 672, 594, 622, + 675, 603, 603, 623, 612, 610, 611, 615, 653, 594, + 624, 625, 610, 603, 636, 610, 636, 612, 611, 670, + + 611, 594, 594, 671, 594, 594, 672, 594, 636, 675, + 616, 1268, 612, 1268, 611, 625, 653, 594, 605, 605, + 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, + 605, 605, 605, 605, 605, 605, 605, 616, 605, 605, + 605, 605, 605, 667, 625, 627, 324, 632, 629, 632, + 616, 676, 627, 627, 605, 629, 629, 640, 668, 640, + 632, 658, 632, 658, 658, 322, 616, 630, 669, 605, + 605, 667, 318, 640, 630, 630, 255, 633, 616, 633, + 676, 751, 605, 751, 254, 1360, 668, 1360, 633, 629, + 633, 751, 633, 633, 630, 633, 669, 605, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 629, 606, 606, + 606, 606, 606, 630, 634, 250, 634, 606, 249, 633, + 635, 644, 635, 644, 673, 677, 243, 637, 634, 637, + 240, 678, 634, 638, 635, 638, 679, 644, 635, 606, + 606, 637, 651, 637, 651, 637, 606, 638, 680, 638, + 682, 638, 673, 677, 661, 661, 661, 661, 651, 678, + 683, 638, 661, 887, 679, 887, 634, 606, 684, 637, + 228, 661, 662, 662, 662, 662, 681, 680, 682, 637, + 662, 887, 687, 688, 662, 638, 692, 693, 683, 662, + + 638, 663, 663, 663, 663, 694, 684, 637, 662, 663, + 695, 666, 666, 666, 666, 681, 696, 707, 663, 666, + 687, 689, 688, 689, 692, 697, 693, 697, 666, 699, + 700, 702, 700, 703, 694, 705, 711, 662, 695, 718, + 706, 712, 706, 221, 719, 696, 707, 697, 708, 710, + 708, 710, 700, 689, 127, 720, 714, 699, 722, 702, + 724, 703, 706, 705, 711, 714, 714, 689, 718, 712, + 708, 710, 719, 721, 723, 717, 717, 717, 725, 726, + 123, 723, 689, 720, 727, 717, 717, 722, 717, 724, + 717, 731, 728, 732, 728, 689, 690, 717, 690, 119, + + 729, 721, 729, 723, 738, 733, 725, 733, 726, 723, + 734, 740, 734, 727, 728, 735, 741, 735, 690, 742, + 731, 732, 729, 690, 118, 743, 747, 733, 690, 78, + 744, 745, 734, 738, 746, 748, 749, 735, 690, 690, + 740, 756, 690, 761, 741, 734, 753, 742, 753, 755, + 757, 755, 690, 717, 743, 747, 758, 690, 744, 745, + 759, 762, 746, 748, 763, 749, 690, 690, 753, 756, + 690, 755, 761, 734, 765, 766, 769, 768, 757, 768, + 770, 771, 773, 775, 758, 774, 776, 777, 759, 778, + 762, 779, 763, 780, 781, 782, 786, 789, 784, 768, + + 791, 885, 765, 72, 766, 769, 784, 69, 17, 770, + 771, 773, 775, 774, 9, 776, 777, 787, 778, 798, + 800, 781, 7, 782, 787, 786, 799, 784, 787, 885, + 788, 779, 788, 0, 780, 784, 791, 789, 804, 808, + 788, 790, 790, 790, 788, 792, 787, 792, 792, 788, + 781, 793, 787, 793, 793, 794, 787, 794, 794, 779, + 798, 800, 780, 799, 791, 789, 795, 801, 795, 795, + 802, 803, 806, 790, 807, 809, 808, 810, 812, 804, + 811, 813, 814, 815, 817, 818, 820, 827, 798, 800, + 0, 799, 801, 0, 825, 806, 824, 0, 803, 802, + + 833, 807, 790, 823, 808, 812, 0, 804, 821, 809, + 910, 811, 818, 826, 835, 813, 829, 822, 817, 815, + 810, 801, 831, 820, 806, 814, 824, 803, 802, 827, + 807, 819, 819, 819, 812, 836, 821, 809, 825, 910, + 811, 818, 833, 813, 822, 835, 817, 815, 810, 838, + 823, 820, 831, 814, 826, 824, 829, 827, 830, 830, + 830, 837, 839, 819, 841, 821, 825, 832, 832, 832, + 833, 840, 842, 822, 835, 836, 844, 819, 823, 0, + 830, 831, 826, 843, 829, 846, 847, 853, 855, 832, + 851, 838, 819, 839, 854, 841, 845, 845, 845, 844, + + 840, 0, 857, 836, 837, 819, 856, 840, 842, 861, + 846, 858, 843, 859, 853, 848, 848, 848, 845, 838, + 847, 851, 839, 855, 841, 849, 849, 849, 844, 840, + 862, 854, 837, 856, 860, 840, 842, 848, 867, 846, + 868, 843, 869, 853, 857, 872, 873, 849, 847, 861, + 851, 855, 874, 858, 876, 859, 870, 860, 877, 854, + 849, 862, 856, 864, 864, 864, 880, 866, 866, 866, + 872, 873, 857, 864, 868, 912, 881, 861, 867, 939, + 882, 858, 869, 859, 909, 877, 860, 940, 849, 866, + 862, 876, 870, 880, 891, 874, 879, 879, 879, 872, + + 873, 1822, 868, 881, 912, 890, 867, 882, 939, 893, + 869, 896, 909, 896, 877, 888, 940, 888, 879, 876, + 870, 891, 880, 874, 883, 883, 883, 883, 884, 884, + 884, 884, 881, 888, 906, 0, 882, 886, 886, 886, + 886, 889, 944, 889, 888, 931, 890, 931, 931, 893, + 891, 914, 1822, 896, 898, 886, 898, 906, 0, 889, + 892, 947, 892, 886, 886, 0, 886, 886, 954, 886, + 889, 944, 0, 888, 890, 914, 892, 893, 892, 0, + 886, 896, 898, 918, 0, 918, 906, 892, 892, 899, + 947, 899, 886, 886, 918, 886, 886, 954, 886, 889, + + 892, 897, 917, 897, 914, 923, 1824, 923, 886, 917, + 917, 898, 901, 900, 901, 900, 892, 892, 932, 923, + 932, 932, 1137, 1137, 1137, 897, 0, 899, 892, 894, + 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, + 894, 894, 894, 894, 894, 894, 894, 894, 900, 894, + 894, 894, 894, 894, 897, 899, 901, 1824, 0, 908, + 908, 908, 933, 933, 933, 933, 937, 938, 941, 908, + 933, 0, 943, 908, 957, 902, 900, 902, 908, 933, + 894, 894, 0, 0, 901, 934, 934, 934, 934, 1053, + 1158, 1053, 1053, 934, 937, 938, 941, 1158, 1158, 902, + + 943, 0, 934, 957, 0, 0, 946, 902, 894, 895, + 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, + 895, 895, 895, 895, 895, 895, 895, 895, 902, 895, + 895, 895, 895, 895, 946, 903, 902, 903, 904, 907, + 904, 920, 916, 920, 0, 948, 951, 0, 949, 916, + 916, 0, 920, 952, 921, 949, 921, 920, 953, 920, + 895, 895, 924, 903, 924, 921, 904, 958, 907, 916, + 921, 955, 921, 948, 951, 907, 924, 949, 924, 907, + 924, 952, 959, 949, 960, 0, 953, 961, 895, 963, + 924, 0, 903, 920, 962, 904, 958, 907, 916, 955, + + 0, 1159, 1015, 907, 1015, 0, 921, 907, 1159, 1159, + 959, 0, 1015, 960, 924, 956, 961, 956, 963, 924, + 925, 925, 962, 925, 925, 925, 925, 925, 925, 925, + 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, + 925, 925, 925, 925, 925, 0, 968, 956, 936, 936, + 936, 936, 966, 967, 969, 970, 936, 971, 972, 971, + 936, 956, 978, 984, 985, 936, 973, 986, 973, 988, + 990, 925, 925, 925, 936, 968, 956, 989, 0, 971, + 966, 967, 0, 969, 970, 1361, 972, 1361, 973, 956, + 0, 978, 984, 985, 1160, 991, 986, 988, 990, 925, + + 0, 1160, 1160, 936, 942, 942, 989, 942, 942, 942, + 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, + 942, 942, 942, 991, 942, 942, 942, 942, 942, 976, + 980, 976, 980, 994, 0, 981, 1054, 981, 1054, 1054, + 0, 980, 993, 980, 993, 980, 981, 992, 981, 997, + 981, 976, 980, 983, 1836, 942, 942, 981, 982, 982, + 982, 994, 983, 983, 993, 983, 998, 983, 982, 982, + 995, 982, 995, 982, 983, 999, 992, 999, 997, 1001, + 982, 1001, 1003, 942, 1006, 1004, 1005, 1007, 1009, 1010, + 0, 1012, 995, 1013, 1014, 998, 1019, 999, 1017, 1020, + + 1017, 1001, 0, 1021, 1022, 1836, 1023, 1025, 980, 1024, + 0, 1003, 1006, 981, 1004, 1005, 1007, 1009, 1010, 1012, + 1017, 1026, 1013, 1014, 1019, 1027, 1028, 1020, 1028, 1034, + 983, 1021, 1036, 1022, 1023, 1025, 982, 1032, 1024, 1032, + 1037, 1038, 1039, 1038, 1040, 1042, 1044, 1032, 1028, 1026, + 1046, 1038, 1047, 1027, 1051, 1038, 1052, 1058, 1034, 1059, + 1038, 1036, 1057, 1050, 1055, 1050, 1055, 1055, 1037, 1061, + 1048, 1040, 1048, 1039, 1042, 1044, 1060, 1050, 1046, 0, + 1048, 1047, 1050, 1128, 1048, 1051, 1059, 1063, 1056, 1048, + 1056, 1056, 0, 1058, 1085, 1085, 1085, 0, 1052, 1060, + + 1040, 0, 1039, 1057, 1431, 1061, 1431, 1064, 1098, 1098, + 1098, 1128, 0, 0, 1051, 1059, 1085, 1125, 1125, 1125, + 1068, 1058, 0, 1066, 1073, 1063, 1052, 1125, 1060, 1071, + 1098, 1057, 1064, 1061, 1062, 1062, 1062, 1062, 1062, 1062, + 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, + 1062, 1062, 1062, 1063, 1062, 1062, 1062, 1062, 1062, 1066, + 1068, 1064, 1067, 1069, 1072, 1073, 1071, 1075, 1074, 1081, + 1080, 1077, 1076, 1083, 1086, 0, 0, 1095, 1082, 1084, + 1088, 1099, 1093, 1097, 1096, 1062, 1062, 1066, 1068, 1067, + 1089, 1091, 1069, 1073, 1071, 1074, 1083, 0, 1072, 1069, + + 1076, 1077, 0, 1075, 1080, 1082, 1090, 1081, 1084, 1094, + 1086, 1088, 1097, 1062, 1102, 1089, 1100, 1091, 1067, 1095, + 1096, 1069, 1093, 1099, 1074, 1083, 1072, 1069, 1101, 1076, + 1077, 1075, 1080, 1090, 1082, 1081, 1094, 1084, 1086, 1100, + 1088, 1097, 1103, 1104, 1089, 1102, 1091, 1095, 1096, 1105, + 1093, 1099, 1106, 1108, 1111, 1101, 1109, 1113, 1112, 1114, + 1115, 1116, 1090, 1117, 1118, 1094, 1119, 1133, 1100, 1104, + 1103, 1120, 1121, 1136, 1102, 1122, 0, 0, 1140, 1106, + 1108, 1112, 1113, 0, 1101, 1105, 1180, 1109, 0, 1117, + 1142, 1147, 1142, 1119, 1133, 0, 1111, 1116, 1104, 1103, + + 1114, 0, 1115, 1131, 1136, 1131, 1118, 1140, 1106, 1108, + 1112, 1113, 1120, 1105, 1180, 1121, 1109, 1122, 1117, 1142, + 1147, 1142, 1119, 1133, 1111, 1116, 1181, 1132, 1114, 1132, + 1115, 0, 1131, 1136, 1118, 1126, 1126, 1126, 1126, 1150, + 1120, 1184, 0, 1121, 1141, 1122, 1127, 1127, 1127, 1127, + 1129, 1129, 1129, 1129, 1181, 1141, 1132, 1148, 0, 1149, + 1143, 1131, 1186, 1145, 1166, 1144, 1166, 1145, 1150, 1184, + 1135, 1144, 1135, 1141, 1145, 1143, 1129, 1129, 1166, 1129, + 1129, 0, 1129, 1141, 0, 1132, 1135, 1149, 1135, 1143, + 1186, 1148, 1145, 1129, 1144, 0, 1145, 1135, 1135, 1183, + + 1144, 0, 1145, 1143, 1190, 1129, 1129, 1192, 1129, 1129, + 1135, 1129, 1162, 1163, 1162, 1163, 1149, 0, 1164, 1148, + 1164, 1129, 0, 1162, 1163, 0, 1135, 1135, 1183, 1164, + 1162, 1163, 1173, 1190, 1173, 1173, 1192, 1195, 1135, 1138, + 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, + 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 0, 1138, + 1138, 1138, 1138, 1138, 1162, 1167, 1195, 1167, 1138, 1174, + 0, 1174, 1174, 1187, 1177, 1188, 1177, 1178, 1167, 1178, + 1167, 1175, 1175, 1175, 1175, 1189, 1168, 1191, 1168, 1175, + 1138, 1138, 1169, 1170, 1169, 1170, 1177, 1138, 1175, 1178, + + 1168, 1187, 1168, 1188, 1168, 0, 1169, 1170, 1169, 1170, + 1169, 1170, 0, 1189, 1269, 1191, 1269, 1269, 1138, 1139, + 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, + 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1168, 1139, + 1139, 1139, 1139, 1139, 1169, 1170, 1139, 1176, 1176, 1176, + 1176, 1194, 1196, 1198, 1203, 1176, 1201, 1202, 1204, 1205, + 0, 1206, 1207, 1212, 1176, 1225, 1211, 0, 1217, 1227, + 1139, 1139, 0, 0, 1208, 1139, 1208, 1217, 1217, 1194, + 0, 1196, 1198, 1203, 1201, 1202, 0, 1204, 1205, 1206, + 1207, 1212, 1193, 1225, 1193, 1211, 1208, 1227, 1139, 1146, + + 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, + 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1193, 1146, + 1146, 1146, 1146, 1146, 1209, 0, 1209, 1213, 1350, 1213, + 0, 1193, 1221, 1223, 1224, 1350, 1350, 1214, 1213, 1214, + 1213, 1214, 1213, 1215, 1237, 1215, 1209, 1193, 1214, 1213, + 1146, 1146, 0, 1216, 1215, 1216, 1215, 1216, 1215, 1193, + 1220, 1221, 1223, 1224, 1216, 1215, 1253, 0, 1253, 1220, + 1220, 0, 1220, 1237, 1220, 1437, 1253, 1437, 1146, 1165, + 1165, 1220, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, - 1165, 1165, 1165, 1165, 1179, 1165, 1165, 1165, 1165, 1165, - 1198, 1200, 1225, 1205, 1228, 1226, 1215, 1179, 1215, 1220, - 1235, 1220, 1205, 1205, 1232, 1205, 1232, 1205, 1204, 1233, - 1234, 1233, 1234, 1179, 1205, 1240, 1165, 1165, 1215, 1239, - 1241, 1220, 1242, 1228, 1245, 1179, 1246, 1248, 1235, 1249, - 1232, 1233, 1234, 1250, 0, 0, 1255, 1255, 1255, 1256, - - 1256, 1256, 1312, 1240, 1165, 1258, 1259, 1319, 1239, 1241, - 1242, 0, 0, 1245, 1246, 0, 1248, 1249, 1255, 1232, - 1250, 1256, 1278, 1278, 1278, 1261, 1311, 1311, 1311, 1311, - 1205, 1312, 1264, 0, 1262, 1319, 1266, 0, 1267, 1242, - 1265, 1259, 1269, 1276, 1278, 1287, 1249, 1258, 1261, 1250, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1259, - 1257, 1257, 1257, 1257, 1257, 1258, 1262, 1261, 1264, 1266, - 1265, 1267, 1270, 1276, 1269, 1268, 1280, 1287, 1271, 1271, - 1271, 1273, 1274, 1275, 1277, 1284, 1286, 1282, 1279, 1281, - - 1289, 1257, 1257, 0, 1262, 1283, 1264, 1266, 1265, 1267, - 1268, 1276, 1269, 1270, 1271, 1287, 1291, 1292, 1273, 1274, - 1275, 1279, 0, 1280, 1282, 1298, 0, 1271, 1277, 1257, - 1281, 1294, 1283, 1295, 1289, 1284, 1296, 1286, 0, 1268, - 1297, 1352, 1270, 1271, 1288, 1288, 1288, 1273, 1274, 1275, - 1279, 1280, 1298, 1282, 1294, 1271, 1277, 1291, 1301, 1281, - 1299, 1283, 1289, 1284, 1292, 1286, 1288, 1290, 1290, 1290, - 1352, 1293, 1293, 1293, 1308, 1295, 1296, 1297, 1306, 1306, - 1306, 1298, 1315, 1294, 1326, 1291, 1305, 1305, 1305, 1301, - 0, 0, 1292, 1293, 1320, 1299, 1321, 1307, 1307, 1307, - - 1306, 1322, 1323, 1295, 1296, 1297, 1290, 1326, 0, 1327, - 1315, 0, 1305, 1333, 1353, 1424, 1308, 1424, 1301, 1307, - 1333, 1333, 1320, 1299, 1321, 1337, 1425, 1337, 1425, 1322, - 1323, 1762, 0, 1762, 1290, 1354, 1326, 1327, 1337, 1315, - 1337, 1305, 1762, 1353, 1308, 1316, 1316, 1316, 1316, 1316, - 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, - 1316, 1316, 1316, 1316, 1354, 1316, 1316, 1316, 1316, 1316, - 1338, 1339, 1338, 1339, 1344, 1344, 1344, 1344, 0, 0, - 1356, 1346, 1344, 1346, 1338, 1339, 1338, 1339, 1338, 1339, - 1357, 1344, 1340, 1348, 1340, 1348, 1316, 1316, 0, 1345, - - 1345, 1345, 1345, 1346, 0, 0, 1340, 1345, 1340, 1356, - 1340, 1422, 0, 1422, 1422, 1348, 1345, 1480, 1357, 1480, - 1480, 0, 1338, 1339, 1316, 1317, 1317, 1317, 1317, 1317, - 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, - 1317, 1317, 1317, 1317, 1340, 1317, 1317, 1317, 1317, 1317, - 1351, 1358, 1359, 1366, 1351, 0, 1361, 1363, 1364, 1367, - 1368, 1369, 0, 1370, 1371, 1373, 1374, 0, 1377, 1317, - 1375, 1378, 1375, 1382, 1386, 0, 1317, 1317, 0, 1351, - 1358, 1359, 1366, 1351, 1361, 1363, 1364, 1367, 0, 1368, - 1369, 1370, 1375, 1371, 1373, 1374, 1377, 1317, 1362, 1378, - - 1362, 1382, 0, 1386, 1317, 1318, 1318, 1318, 1318, 1318, - 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, - 1318, 1318, 1318, 1318, 1362, 1318, 1318, 1318, 1318, 1318, - 1379, 1380, 1379, 1380, 1391, 1380, 1391, 1362, 1387, 0, - 1392, 1379, 1380, 1379, 1388, 1379, 1388, 1393, 1381, 1381, - 1381, 1397, 1379, 1362, 1398, 1421, 1318, 1318, 1381, 1381, - 1395, 1381, 1395, 1381, 1400, 1362, 1388, 1387, 1392, 1403, - 1381, 1411, 0, 1391, 1404, 1393, 1404, 1405, 1428, 1397, - 1410, 0, 1395, 1398, 1318, 1406, 1413, 1406, 1408, 1417, - 1408, 1419, 1400, 1429, 1430, 1421, 1433, 1403, 1380, 1411, - - 1404, 1391, 1435, 1432, 1427, 1428, 1405, 1406, 1379, 1410, - 1408, 1434, 1437, 1439, 1438, 1413, 1441, 1417, 1429, 1443, - 1419, 1430, 1440, 1421, 1445, 1435, 1381, 1427, 1444, 1404, - 1432, 1427, 1446, 1433, 1428, 1451, 1447, 1457, 1434, 1452, - 1454, 1441, 1464, 1455, 0, 1458, 1443, 1429, 1463, 1437, - 1430, 1438, 1460, 1439, 1435, 1444, 1427, 0, 1445, 1432, - 1427, 1433, 1440, 1468, 1472, 1464, 1451, 1434, 1446, 1452, - 1441, 1457, 1458, 1465, 1474, 1443, 1477, 1437, 1447, 1438, - 1454, 1439, 1478, 0, 1444, 1455, 1445, 1475, 1460, 1476, - 1440, 1468, 1463, 1472, 1464, 1451, 1446, 1484, 1452, 1457, - - 1486, 1458, 1487, 1474, 1465, 1477, 1447, 1478, 1454, 1466, - 1466, 1466, 1466, 1455, 0, 1475, 1460, 1476, 0, 1479, - 1463, 1479, 1481, 1481, 1481, 1488, 1484, 1489, 1486, 1479, - 1481, 1487, 1490, 1465, 1492, 1493, 1478, 1494, 1495, 1481, - 1482, 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1482, 1496, - 1497, 1499, 1483, 1488, 1498, 1489, 1500, 1482, 1502, 0, - 1490, 1483, 1492, 1493, 1503, 1494, 1495, 1505, 1511, 1510, - 1511, 1517, 1512, 1517, 1513, 1516, 1518, 1496, 1519, 1497, - 1499, 1520, 1498, 1521, 1522, 1500, 1508, 1502, 1508, 1523, - 1511, 1524, 1503, 1517, 1525, 1505, 1527, 1508, 1510, 1508, - - 1512, 1508, 1513, 1516, 1528, 1518, 1529, 1519, 1508, 1520, - 1536, 1521, 1522, 1530, 1533, 1530, 1530, 1524, 1523, 1531, - 1535, 1531, 1531, 1525, 1543, 1527, 1538, 1539, 1537, 1541, - 1544, 1528, 1546, 1542, 1529, 0, 1557, 1536, 1533, 1548, - 1552, 1554, 1560, 1561, 0, 1545, 1524, 1562, 1562, 1562, - 1562, 1553, 1553, 1553, 1559, 0, 1535, 1544, 0, 1543, - 1528, 1565, 1538, 1529, 1508, 1552, 1536, 1533, 1537, 1542, - 1539, 1541, 1545, 1553, 1546, 1548, 1557, 1566, 1554, 1561, - 1585, 1559, 1564, 1560, 1535, 0, 1544, 1543, 1568, 1565, - 1538, 1558, 1558, 1558, 1552, 1579, 1537, 1542, 1539, 1541, - - 1570, 1545, 1546, 1548, 1557, 1566, 1554, 1561, 1564, 1585, - 1559, 1560, 1563, 1558, 1563, 1571, 1568, 1571, 1573, 0, - 1573, 1573, 1563, 1579, 1574, 1571, 1574, 1570, 1575, 1575, - 1575, 1575, 1576, 1576, 1576, 1588, 1575, 1564, 1580, 1590, - 1576, 1574, 1583, 1584, 1587, 1575, 1578, 1578, 1578, 1576, - 1577, 1577, 1577, 1577, 1578, 1589, 1570, 1591, 1577, 1592, - 1593, 1592, 1596, 1578, 1588, 1600, 1580, 1577, 1590, 1592, - 1583, 1584, 1587, 1598, 1601, 1598, 1603, 1606, 1603, 1607, - 1608, 1610, 1611, 1589, 1612, 1614, 1591, 1619, 1593, 1618, - 1615, 1596, 1622, 1600, 1616, 1598, 1616, 1616, 1603, 1623, - - 1624, 1626, 0, 1601, 1639, 1606, 1627, 1630, 1607, 1608, - 1610, 1632, 1612, 1615, 1628, 1628, 1628, 1635, 1636, 1611, - 1637, 1614, 1637, 1618, 1628, 1641, 1642, 1624, 0, 1619, - 1637, 1627, 1630, 0, 1622, 1651, 1632, 0, 1656, 1626, - 1623, 1639, 1615, 1657, 1635, 1636, 0, 1611, 1652, 1614, - 1652, 1618, 0, 1641, 1642, 1659, 1624, 1619, 1652, 0, - 1627, 1630, 1622, 0, 1651, 1632, 1656, 1626, 1623, 1639, - 1658, 0, 1657, 1635, 1636, 1645, 1645, 1645, 1645, 1647, - 1647, 1647, 1647, 1645, 1659, 1664, 1645, 1647, 1648, 1648, - 1648, 1649, 1649, 1649, 1649, 1665, 1647, 1666, 1658, 1649, - - 1660, 1661, 1660, 1661, 1667, 1648, 1673, 1680, 1649, 1674, - 1660, 1661, 1675, 1681, 1664, 1676, 1676, 1676, 1682, 1683, - 1686, 1689, 0, 0, 1665, 1676, 1666, 1686, 1689, 0, - 1686, 1689, 1673, 1667, 1674, 0, 0, 1702, 1700, 1675, - 1700, 1680, 1703, 1704, 1681, 1682, 1683, 1822, 1700, 1822, - 1687, 1687, 1687, 1687, 1710, 0, 1688, 1688, 1688, 1688, - 0, 1673, 1687, 1674, 1688, 1702, 1705, 1688, 1675, 1680, - 0, 1703, 1704, 1681, 1682, 1683, 1687, 1693, 1693, 1693, - 1693, 1694, 1694, 1694, 1694, 1693, 1695, 1713, 1693, 1694, - 1710, 0, 1694, 1695, 1705, 1707, 1695, 1708, 1696, 1696, - - 1696, 1696, 1715, 1711, 1716, 1687, 1696, 1718, 1697, 1697, - 1697, 1697, 1733, 1736, 1713, 1696, 1697, 1701, 1710, 1701, - 1697, 1727, 0, 0, 1707, 1697, 1708, 0, 0, 1715, - 1701, 1711, 1701, 1718, 1697, 1719, 1737, 1719, 1719, 1701, - 0, 1733, 1736, 1713, 1721, 1716, 1721, 1721, 1720, 1720, - 1720, 1720, 1734, 1724, 1724, 1724, 1724, 1727, 1715, 0, - 1720, 1724, 1718, 1697, 1724, 1737, 1741, 1725, 1725, 1725, - 1725, 1745, 0, 1716, 1720, 1725, 1726, 1728, 1725, 1725, - 1734, 1739, 1743, 1726, 1728, 1727, 1726, 1728, 1729, 1729, - 1729, 1729, 1741, 1725, 1730, 1731, 1729, 1731, 1732, 1729, - - 1732, 1730, 1735, 1720, 1730, 1738, 1740, 1744, 1731, 1732, - 1731, 1732, 1764, 1732, 1745, 1765, 1797, 1731, 1739, 0, - 1732, 1741, 1725, 1746, 0, 1746, 1746, 0, 1743, 1747, - 1735, 1747, 1747, 1738, 1740, 0, 1767, 1815, 1744, 0, - 1764, 0, 1745, 0, 1765, 1797, 1739, 1750, 1750, 1750, - 1750, 1751, 1751, 1751, 1751, 1750, 1743, 1758, 1750, 1751, - 0, 0, 1751, 1751, 1767, 1753, 1815, 1744, 1752, 1752, - 1752, 1752, 1753, 1754, 1755, 1753, 1752, 1751, 1770, 1752, - 1754, 1755, 1757, 1754, 1755, 1756, 1756, 1756, 1756, 1757, - 1768, 1769, 1757, 1756, 1758, 1771, 1756, 1759, 1759, 1759, - - 1759, 1760, 1760, 1760, 1760, 1759, 1751, 1761, 1759, 1760, - 1772, 1777, 1760, 1776, 1761, 0, 1794, 1761, 1768, 1769, - 1770, 1795, 1758, 1771, 1778, 0, 1778, 1778, 1779, 1782, - 1779, 1779, 1780, 1780, 1780, 1780, 1782, 1796, 0, 1782, - 1780, 0, 1813, 1780, 1794, 0, 0, 1772, 1770, 1795, - 1776, 1777, 1781, 1781, 1781, 1781, 1783, 1783, 1783, 1783, - 1781, 1784, 1785, 1781, 1783, 1796, 1788, 1783, 1784, 1785, - 1813, 1784, 1785, 1788, 1792, 1772, 1788, 1834, 1776, 1777, - 1786, 1786, 1786, 1786, 1791, 1787, 1787, 1787, 1787, 1801, - 1802, 1791, 1786, 1787, 1791, 1818, 1787, 1789, 1789, 1789, - - 1789, 1790, 1790, 1790, 1790, 1789, 1786, 0, 1789, 1790, - 0, 1833, 1790, 1790, 1834, 1817, 1792, 1802, 1803, 0, - 1803, 1803, 1842, 1818, 1856, 1801, 1804, 1790, 1804, 1804, - 1805, 1805, 1805, 1805, 0, 1786, 1819, 0, 1805, 1833, - 0, 1805, 1834, 0, 1792, 0, 1802, 1806, 1806, 1806, - 1806, 1842, 1856, 1801, 0, 1806, 1790, 1817, 1806, 1807, - 1807, 1807, 1807, 1808, 1808, 1808, 1808, 1807, 1829, 1809, - 1807, 1808, 1819, 0, 1808, 1808, 1809, 1811, 0, 1809, - 1810, 1810, 1810, 1810, 1811, 1817, 1851, 1811, 1810, 1808, - 0, 1810, 1826, 1824, 1824, 1824, 1824, 1832, 0, 1826, - - 1819, 1824, 1826, 0, 1824, 1825, 1825, 1825, 1825, 1835, - 1829, 1835, 1835, 1825, 1840, 1851, 1825, 0, 1808, 1823, - 1823, 1823, 1823, 0, 1823, 0, 1828, 1823, 0, 1823, - 1823, 1823, 0, 1828, 1823, 1823, 1828, 1832, 1829, 1823, - 0, 1823, 1823, 1823, 1827, 1827, 1827, 1827, 1836, 1836, - 1836, 1836, 1827, 1839, 1840, 1827, 1836, 1841, 0, 1836, - 1839, 1849, 0, 1839, 1843, 1832, 1838, 1838, 1838, 1838, - 1823, 1823, 1823, 1844, 1838, 1844, 1844, 1838, 1845, 1845, - 1845, 1845, 1840, 1846, 1841, 1847, 1845, 0, 1849, 1845, - 1846, 1855, 1847, 1846, 0, 1847, 1857, 1850, 1823, 1837, - - 1837, 1837, 1837, 1837, 1837, 1858, 1843, 1837, 1837, 1837, - 1837, 1837, 0, 1841, 1837, 1837, 0, 1849, 1854, 1837, - 1850, 1837, 1837, 1837, 1848, 1848, 1848, 1848, 1853, 1853, - 1853, 1853, 1848, 1855, 1843, 1848, 1853, 1861, 1857, 1853, - 1869, 1854, 1859, 1859, 1859, 1859, 0, 1858, 0, 1850, - 1837, 1837, 1837, 1860, 1860, 1860, 1860, 1862, 1862, 1862, - 1862, 1855, 1863, 1863, 1863, 1863, 1857, 1869, 0, 0, - 1854, 1864, 1864, 1864, 1864, 1858, 0, 1861, 1837, 1866, - 1866, 1866, 1866, 1867, 1867, 1867, 1867, 1870, 1870, 1870, - 1870, 1871, 1871, 1871, 1871, 1881, 1869, 1873, 1873, 1873, - - 1873, 1874, 1874, 1874, 1874, 1861, 1877, 1877, 1877, 1877, - 1878, 1878, 1878, 1878, 1880, 1880, 1880, 1880, 1881, 1883, - 1883, 1883, 1883, 1885, 1886, 1886, 1886, 1886, 1887, 1887, - 1887, 1887, 1888, 1888, 1888, 1888, 1890, 1890, 1890, 1890, - 1891, 1891, 1891, 1891, 0, 0, 0, 1881, 1894, 1894, - 1894, 1894, 1896, 1896, 1896, 1896, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1885, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1885, 1898, 1898, 1898, 1898, 1898, 1898, - - 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1898, - 1898, 1898, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, - 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1901, 1901, - 0, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, - 1901, 1901, 1901, 1901, 1901, 1901, 1902, 1902, 1902, 1902, - 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, - 1902, 1902, 1902, 1902, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1904, 0, 0, 0, 0, 0, 0, 1904, - 0, 1904, 0, 1904, 1904, 1904, 1904, 1904, 1905, 1905, - 1905, 1905, 1905, 1906, 1906, 1906, 1906, 1906, 1906, 1906, - 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, - 1906, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1908, - 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, - 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1909, 1909, 1909, - 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, - 1909, 1909, 1909, 1909, 1909, 1910, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 1910, 1910, 1910, 1910, - 1910, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, - 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1912, - 1912, 0, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, - 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1913, 1913, 1913, - 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, 1913, - 1913, 1913, 1913, 1913, 1913, 1914, 1914, 1914, 1914, 1914, - 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, - 1914, 1914, 1914, 1915, 1915, 1915, 1915, 1915, 1915, 1915, - 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, - - 1915, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, - 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1917, - 0, 0, 0, 0, 0, 0, 1917, 0, 1917, 0, - 0, 1917, 1917, 1917, 1917, 1918, 1918, 1918, 1918, 0, - 1918, 1918, 1918, 1918, 1918, 1918, 0, 1918, 1918, 0, - 0, 1918, 1918, 1919, 1919, 1919, 1919, 1919, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1922, 1922, 1922, 1922, + 1165, 1165, 1165, 1165, 1214, 1213, 1229, 1228, 1229, 0, + 0, 1232, 1219, 1219, 1219, 1234, 1231, 1233, 1231, 1233, + 1216, 1215, 1219, 1219, 1235, 1219, 1238, 1219, 1229, 1239, + 1165, 1165, 1165, 1240, 1219, 1228, 0, 1220, 1231, 1232, + 0, 0, 1270, 1234, 1270, 1270, 1343, 1343, 1343, 1241, + 0, 1443, 1235, 1443, 1238, 0, 1233, 1239, 1165, 1179, + 1179, 1240, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1241, 1179, + 1179, 1179, 1179, 1179, 1233, 1236, 1242, 1236, 1244, 1248, + 1219, 1248, 1251, 1255, 1249, 1256, 1249, 1250, 1257, 1250, + + 1258, 1261, 1266, 1262, 1264, 1876, 1265, 1236, 1330, 0, + 1179, 1179, 0, 1274, 1242, 1248, 1249, 1244, 0, 1250, + 1251, 0, 1255, 1256, 1271, 1271, 1271, 1257, 1258, 1266, + 1261, 1262, 1337, 1264, 1265, 1351, 0, 1330, 1179, 1272, + 1272, 1272, 1351, 1351, 1248, 0, 1271, 1280, 1354, 1278, + 1354, 1282, 1281, 1283, 1275, 1274, 1876, 1258, 1266, 1285, + 1337, 1272, 1354, 1265, 1273, 1273, 1273, 1273, 1273, 1273, + 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, + 1273, 1273, 1273, 1274, 1273, 1273, 1273, 1273, 1273, 1275, + 1277, 1278, 1281, 1280, 1282, 1286, 1283, 1288, 1284, 1298, + + 1290, 1285, 1287, 1287, 1287, 1291, 1292, 1293, 1296, 1297, + 1294, 1302, 1304, 1277, 0, 1273, 1273, 1275, 0, 1278, + 1281, 1280, 1282, 1284, 1283, 1309, 1286, 1290, 1287, 1285, + 1298, 1296, 1291, 1292, 1307, 0, 1295, 1295, 1295, 1288, + 1305, 1287, 1277, 1273, 1294, 1310, 1297, 1293, 1312, 1300, + 1301, 1302, 1284, 1304, 0, 1286, 1290, 1287, 1295, 1298, + 1296, 1291, 1292, 1306, 1306, 1306, 1309, 1288, 1307, 1287, + 1313, 1312, 1294, 1314, 1297, 1293, 1300, 1301, 1315, 1302, + 1316, 1304, 1305, 1317, 0, 1306, 1308, 1308, 1308, 1311, + 1311, 1311, 1310, 1326, 1309, 1319, 1307, 1323, 1323, 1323, + + 1312, 0, 1324, 1324, 1324, 1300, 1301, 1316, 0, 1333, + 1305, 1311, 1313, 1314, 1338, 1315, 1339, 1340, 1317, 1341, + 1310, 0, 1345, 1323, 1324, 1308, 1319, 1325, 1325, 1325, + 1328, 1328, 1328, 1328, 1375, 1326, 1316, 1333, 0, 0, + 1313, 1314, 1338, 1315, 1339, 1340, 1317, 1341, 0, 1325, + 1345, 0, 1323, 1308, 1662, 1319, 1329, 1329, 1329, 1329, + 0, 1662, 1375, 1326, 1662, 0, 1333, 1334, 1334, 1334, + 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, + 1334, 1334, 1334, 1334, 1334, 1334, 1344, 1334, 1334, 1334, + 1334, 1334, 1353, 1355, 1353, 1355, 1362, 1362, 1362, 1362, + + 1364, 0, 1364, 1353, 1362, 1370, 1355, 1369, 1355, 1344, + 1444, 1369, 1444, 1362, 1356, 1371, 1356, 0, 1334, 1334, + 0, 1357, 1364, 1357, 1846, 0, 1846, 1358, 1356, 1358, + 1356, 1786, 1356, 1786, 1370, 1357, 1369, 1357, 1344, 1357, + 1369, 1358, 1786, 1358, 1371, 1358, 1334, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1356, 1335, 1335, 1335, + 1335, 1335, 1366, 1357, 1366, 1363, 1363, 1363, 1363, 1358, + 1372, 1374, 1376, 1363, 1377, 0, 1379, 1381, 1382, 1383, + 0, 1335, 1363, 1386, 1366, 1385, 1387, 0, 1335, 1335, + + 1596, 1399, 1596, 1399, 1441, 1399, 1441, 1441, 0, 1372, + 1374, 1376, 1399, 1377, 1379, 1381, 1382, 1596, 1383, 1335, + 1380, 1386, 1380, 1388, 1385, 1387, 1335, 1336, 1336, 1336, + 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, + 1336, 1336, 1336, 1336, 1336, 1336, 1380, 1336, 1336, 1336, + 1336, 1336, 1388, 1389, 1390, 1392, 1393, 0, 1394, 1380, + 1394, 1396, 1397, 1401, 0, 0, 1405, 1406, 1399, 0, + 1410, 1500, 1410, 1500, 1500, 1380, 1411, 0, 1336, 1336, + 1394, 1389, 1412, 1390, 1392, 1393, 1398, 1380, 1398, 1396, + 1397, 1401, 1400, 1400, 1400, 1405, 1406, 1398, 1407, 1398, + + 1407, 1398, 1400, 1400, 1411, 1400, 1336, 1400, 1398, 1410, + 1412, 1414, 1416, 1414, 1400, 1417, 1440, 1419, 1422, 1424, + 1407, 1423, 1429, 1423, 1430, 1432, 1438, 1425, 1427, 1425, + 1427, 1436, 1458, 1414, 1446, 1447, 1452, 1410, 1448, 1449, + 1416, 1451, 1453, 1456, 1417, 1419, 1422, 1423, 1424, 1425, + 1427, 1429, 1430, 1460, 1432, 1438, 1440, 1446, 1454, 1436, + 1459, 1446, 1447, 1448, 1398, 1457, 1449, 1463, 1451, 1453, + 1400, 1461, 1458, 1452, 1467, 1465, 1423, 1464, 1466, 1477, + 1456, 1454, 1474, 1459, 1440, 1475, 1446, 1471, 1480, 1472, + 1446, 1447, 1448, 1460, 1463, 1449, 1461, 1451, 1453, 1483, + + 1458, 1452, 1457, 1485, 1464, 1478, 1484, 1488, 1456, 1465, + 1454, 1492, 1459, 1477, 1466, 0, 1467, 1494, 1471, 1472, + 1497, 1460, 1474, 1463, 1480, 1461, 1495, 1475, 1496, 1484, + 1457, 1504, 1478, 1464, 1485, 1488, 0, 1465, 0, 1507, + 1492, 1477, 1466, 1483, 1467, 1498, 1494, 1471, 1472, 1497, + 1474, 0, 1480, 0, 1495, 1475, 1496, 1506, 1484, 1508, + 1504, 1478, 0, 1485, 1486, 1486, 1486, 1486, 1507, 1509, + 1498, 1483, 1499, 1510, 1499, 1501, 1501, 1501, 1502, 1502, + 1502, 1502, 1499, 1501, 1512, 1506, 1502, 1508, 1503, 1503, + 1503, 1503, 1501, 1513, 1514, 1502, 1503, 1509, 1515, 1498, + + 1516, 1510, 1517, 0, 1518, 1503, 1519, 1520, 1521, 1523, + 0, 1524, 1512, 1526, 1531, 0, 0, 1533, 1532, 1534, + 1532, 1513, 1514, 1537, 1539, 1540, 1515, 1538, 1516, 1538, + 1541, 1517, 1518, 1529, 1519, 1529, 1520, 1521, 1523, 1524, + 1532, 1526, 1542, 1531, 1529, 1533, 1529, 1534, 1529, 1538, + 1543, 1537, 1544, 1539, 1540, 1529, 1546, 1545, 1541, 1548, + 1549, 1550, 1551, 1556, 1551, 1551, 1552, 1554, 1552, 1552, + 1542, 1559, 1560, 1557, 1558, 1562, 1565, 1563, 1543, 1568, + 1574, 1544, 1567, 1545, 1564, 1546, 1570, 1549, 1548, 1550, + 1566, 1554, 1585, 1576, 1585, 1587, 1579, 1607, 1582, 1556, + + 1557, 1581, 1585, 1565, 1583, 1574, 1592, 1559, 0, 1567, + 0, 1529, 1545, 1563, 1558, 1560, 1549, 1562, 1550, 1564, + 1554, 1568, 1570, 1587, 1566, 1586, 1607, 1556, 1581, 1557, + 1576, 0, 1565, 1592, 1574, 1559, 1579, 1588, 1567, 1582, + 1583, 1563, 1558, 1560, 0, 1562, 1590, 1564, 1610, 1568, + 1570, 1586, 1566, 1575, 1575, 1575, 0, 1581, 1576, 1580, + 1580, 1580, 1592, 0, 1579, 1588, 1601, 1582, 1583, 1584, + 1584, 1584, 1584, 1602, 1590, 1575, 1593, 1610, 1593, 0, + 1586, 1580, 1595, 0, 1595, 1595, 1593, 1597, 1597, 1597, + 1597, 1598, 1598, 1598, 1601, 1597, 1605, 1606, 1612, 1598, + + 1609, 1602, 1611, 1614, 1597, 1600, 1600, 1600, 1598, 1599, + 1599, 1599, 1599, 1600, 1616, 1619, 1621, 1599, 1621, 1615, + 1623, 1615, 1600, 1624, 1605, 1606, 1599, 1612, 1609, 1615, + 1611, 1626, 1614, 1626, 1629, 1630, 1631, 1633, 1621, 1634, + 1635, 1637, 1616, 1642, 1619, 1641, 1638, 1639, 1623, 1639, + 1639, 1645, 1624, 1626, 1646, 1647, 1649, 1661, 1650, 1661, + 1659, 1654, 1629, 1656, 1630, 1631, 1633, 1661, 1635, 1638, + 1652, 1652, 1652, 1660, 1665, 1666, 1634, 1637, 0, 1641, + 1652, 1663, 1647, 1650, 0, 1642, 1654, 1659, 1656, 1671, + 1671, 1671, 1671, 1645, 1649, 1646, 0, 1671, 1638, 1675, + + 1660, 1681, 1665, 1666, 1634, 1637, 1671, 1641, 0, 0, + 0, 1647, 1650, 1642, 1683, 1654, 1659, 1656, 1663, 0, + 1688, 1645, 1649, 1646, 1669, 1669, 1669, 1669, 1675, 1660, + 1681, 1680, 1669, 1682, 1689, 1669, 1672, 1672, 1672, 1673, + 1673, 1673, 1673, 1683, 1690, 1691, 1663, 1673, 1676, 1688, + 1676, 1697, 1684, 1672, 1684, 1685, 1673, 1685, 1676, 1680, + 1698, 1682, 1684, 1689, 1699, 1685, 1700, 1700, 1700, 1704, + 1705, 1706, 1707, 1690, 1691, 1727, 1700, 1697, 0, 1710, + 1713, 1711, 1711, 1711, 1711, 1698, 1710, 1713, 0, 1710, + 1713, 1699, 0, 1711, 1712, 1712, 1712, 1712, 1706, 1707, + + 0, 1705, 1712, 1704, 1727, 1712, 1697, 1711, 1717, 1717, + 1717, 1717, 0, 1726, 1698, 1724, 1717, 1724, 1740, 1717, + 1699, 1718, 1718, 1718, 1718, 1724, 1729, 1706, 1707, 1718, + 1705, 1704, 1718, 1719, 1728, 1731, 1711, 1734, 1732, 0, + 1719, 1726, 1735, 1719, 1720, 1720, 1720, 1720, 1721, 1721, + 1721, 1721, 1720, 1725, 1729, 1725, 1721, 1737, 1739, 1740, + 1721, 1720, 1742, 1728, 1731, 1721, 1725, 1732, 1725, 1743, + 1735, 1743, 1743, 1734, 1721, 1725, 1750, 1757, 1744, 1744, + 1744, 1744, 1751, 1750, 1737, 1739, 1750, 1740, 1742, 1745, + 1744, 1745, 1745, 1758, 1748, 1748, 1748, 1748, 1759, 0, + + 0, 1734, 1748, 1721, 1744, 1748, 1757, 1760, 1749, 1749, + 1749, 1749, 1761, 1737, 1739, 1752, 1749, 1742, 1751, 1749, + 1749, 1758, 1752, 1767, 1762, 1752, 1759, 1753, 1753, 1753, + 1753, 1763, 1754, 1744, 1749, 1753, 1760, 1769, 1753, 1754, + 1765, 1761, 1754, 1755, 1764, 1755, 1751, 1768, 0, 1756, + 1782, 1756, 1762, 0, 0, 0, 1755, 0, 1755, 1789, + 1756, 1788, 1756, 1749, 1756, 1755, 1765, 1777, 1763, 1767, + 0, 1756, 1764, 1770, 1777, 1770, 1770, 1777, 1768, 1771, + 1769, 1771, 1771, 1774, 1774, 1774, 1774, 1782, 1789, 1788, + 0, 1774, 1791, 1792, 1774, 1765, 1763, 1767, 1775, 1775, + + 1775, 1775, 1796, 1801, 0, 1793, 1775, 1768, 1769, 1775, + 1775, 1776, 1776, 1776, 1776, 1782, 1778, 0, 1779, 1776, + 1791, 1792, 1776, 1778, 1775, 1779, 1778, 1795, 1779, 1780, + 1780, 1780, 1780, 1793, 1781, 1785, 1794, 1780, 1800, 1796, + 1780, 1781, 1785, 1801, 1781, 1785, 1783, 1783, 1783, 1783, + 0, 0, 0, 1775, 1783, 1795, 0, 1783, 1784, 1784, + 1784, 1784, 1802, 1821, 1802, 1802, 1784, 1796, 1818, 1784, + 1803, 1801, 1803, 1803, 1827, 1800, 1827, 1827, 1794, 1804, + 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1804, 1806, 1816, + 1804, 1805, 1821, 0, 1805, 1806, 1818, 1819, 1806, 1807, + + 1807, 1807, 1807, 1800, 1808, 1809, 1794, 1807, 0, 0, + 1807, 1808, 1809, 0, 1808, 1809, 1810, 1810, 1810, 1810, + 1812, 1811, 1811, 1811, 1811, 1819, 1820, 1812, 1810, 1811, + 1812, 1816, 1811, 1813, 1813, 1813, 1813, 1814, 1814, 1814, + 1814, 1813, 1810, 1815, 1813, 1814, 1825, 1826, 1814, 1814, + 1815, 1841, 1839, 1815, 1820, 1828, 0, 1828, 1828, 1816, + 0, 0, 0, 1814, 1829, 1829, 1829, 1829, 0, 1837, + 1842, 1810, 1829, 1833, 1826, 1829, 1830, 1830, 1830, 1830, + 1833, 1839, 1825, 1833, 1830, 1857, 1843, 1830, 1831, 1831, + 1831, 1831, 1814, 1841, 1866, 0, 1831, 1837, 1842, 1831, + + 0, 1835, 1865, 1826, 1832, 1832, 1832, 1832, 1835, 1856, + 1825, 1835, 1832, 1857, 0, 1832, 1832, 1834, 1834, 1834, + 1834, 1841, 1843, 1866, 1853, 1834, 0, 1858, 1834, 1865, + 1832, 1848, 1848, 1848, 1848, 1849, 1849, 1849, 1849, 1848, + 1875, 1850, 1848, 1849, 0, 1852, 1849, 0, 1850, 1856, + 1843, 1850, 1852, 1867, 1859, 1852, 1859, 1859, 1865, 1832, + 1847, 1847, 1847, 1847, 1858, 1847, 1853, 1864, 1847, 1875, + 1847, 1847, 1847, 0, 1880, 1847, 1847, 1856, 0, 0, + 1847, 0, 1847, 1847, 1847, 1851, 1851, 1851, 1851, 0, + 0, 1873, 1858, 1851, 1853, 1867, 1851, 1860, 1860, 1860, + + 1860, 1868, 1880, 1868, 1868, 1860, 1885, 1864, 1860, 1874, + 0, 1847, 1847, 1847, 1862, 1862, 1862, 1862, 1873, 1863, + 1870, 1871, 1862, 1867, 0, 1862, 1863, 1870, 1871, 1863, + 1870, 1871, 1874, 1879, 0, 1864, 1881, 1882, 0, 1847, + 1861, 1861, 1861, 1861, 1861, 1861, 1885, 1873, 1861, 1861, + 1861, 1861, 1861, 0, 0, 1861, 1861, 0, 1878, 0, + 1861, 1874, 1861, 1861, 1861, 1869, 1869, 1869, 1869, 1872, + 1872, 1872, 1872, 1869, 1885, 1879, 1869, 1872, 1881, 1882, + 1872, 1878, 1883, 1883, 1883, 1883, 1877, 1877, 1877, 1877, + 0, 1861, 1861, 1861, 1877, 0, 0, 1877, 1884, 1884, + + 1884, 1884, 0, 1879, 0, 1893, 1881, 1882, 0, 0, + 1878, 1886, 1886, 1886, 1886, 1887, 1887, 1887, 1887, 1861, + 1888, 1888, 1888, 1888, 1890, 1890, 1890, 1890, 1891, 1891, + 1891, 1891, 1893, 1894, 1894, 1894, 1894, 1895, 1895, 1895, + 1895, 1897, 1897, 1897, 1897, 1898, 1898, 1898, 1898, 1901, + 1901, 1901, 1901, 1902, 1902, 1902, 1902, 1904, 1904, 1904, + 1904, 1893, 1905, 1907, 1907, 1907, 1907, 1909, 1910, 1910, + 1910, 1910, 1911, 1911, 1911, 1911, 1912, 1912, 1912, 1912, + 1914, 1914, 1914, 1914, 0, 1905, 1915, 1915, 1915, 1915, + 1918, 1918, 1918, 1918, 1920, 1920, 1920, 1920, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1909, + 0, 0, 0, 0, 1905, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1909, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1923, 1923, 1923, 1923, 1923, 1923, - + 1922, 1922, 1922, 1922, 1922, 1922, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, - 1923, 1923, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, + 1923, 1923, 1923, 1923, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, + 1924, 1924, 1925, 1925, 0, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, - 1926, 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 1927, + 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, - 1927, 1927, 1927, 1927, 1928, 1928, 1928, 1928, 1928, 1928, - 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, - - 1928, 1928, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, - 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, 1929, + 1927, 1927, 1927, 1927, 1927, 1927, 1928, 0, 0, 0, + 0, 0, 0, 1928, 0, 1928, 0, 1928, 1928, 1928, + 1928, 1928, 1929, 1929, 1929, 1929, 1929, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, - 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1931, 1931, - 0, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, - 1931, 1931, 1931, 1931, 1931, 1931, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1933, 1933, 1933, 1933, 1933, 1933, - 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, - 1933, 1933, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1930, 1930, 1930, 1930, 1930, 1931, 1931, 1931, 1931, 1931, + 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1931, 1931, 1931, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, + 1932, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, + 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1934, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1934, 1934, 1934, 1934, 1934, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, - 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1936, 1936, + 1935, 1935, 1935, 1936, 1936, 0, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1937, 0, 0, 0, - 0, 0, 0, 1937, 0, 1937, 0, 0, 1937, 1937, - 1937, 1937, 1938, 0, 0, 0, 0, 0, 0, 0, - 1938, 0, 1938, 0, 1938, 1938, 1938, 1938, 1938, 1939, - 1939, 1939, 1939, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, + + 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1939, 1939, 1939, + 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, + 1939, 1939, 1939, 1939, 1939, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + 1940, 1940, 1940, 1941, 0, 0, 0, 0, 0, 0, + 1941, 0, 1941, 0, 0, 1941, 1941, 1941, 1941, 1942, + 1942, 1942, 1942, 0, 1942, 1942, 1942, 1942, 1942, 1942, + 0, 1942, 1942, 0, 0, 1942, 1942, 1943, 1943, 1943, - 1940, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1942, - 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, - 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1943, 1943, 1943, - 1943, 0, 1943, 1943, 1943, 1943, 1943, 1943, 0, 1943, - 1943, 0, 0, 1943, 1943, 1944, 1944, 1944, 1944, 1944, + 1943, 1943, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, - 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1946, 0, - 0, 0, 0, 0, 0, 0, 1946, 1946, 1947, 1947, + 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, + 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1953, 1953, 1953, 1953, - 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, - 1954, 1954, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, + 1954, 1954, 1955, 1955, 0, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1956, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1956, 1956, 1956, 1956, 1956, 1957, 1957, 1957, 1957, + + 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, 1958, + 1957, 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, - - 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, + 1958, 1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, - 1960, 1960, 0, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1962, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, + 1959, 1959, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, + 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, + 1961, 0, 0, 0, 0, 0, 0, 1961, 0, 1961, + 0, 0, 1961, 1961, 1961, 1961, 1962, 0, 0, 0, + 0, 0, 0, 0, 1962, 0, 1962, 0, 1962, 1962, + 1962, 1962, 1962, 1963, 1963, 1963, 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, - 1965, 0, 0, 0, 0, 0, 0, 1965, 0, 1965, - 0, 0, 1965, 1965, 1965, 1965, 1966, 0, 0, 0, - 0, 0, 0, 0, 1966, 0, 0, 0, 1966, 1966, - 1966, 1966, 1966, 1967, 0, 0, 0, 0, 0, 0, - 0, 1967, 0, 1967, 0, 1967, 1967, 1967, 1967, 1967, - 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1969, 1969, + 1964, 1964, 1964, 1964, 1964, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1966, 1967, 1967, 1967, 1967, 0, 1967, 1967, 1967, 1967, + 1967, 1967, 0, 1967, 1967, 0, 0, 1967, 1967, 1968, + + 1968, 1968, 1968, 1968, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, - 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, - - 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, - 1970, 1970, 1970, 1970, 1971, 1971, 1971, 1971, 1971, 1971, + 1969, 1969, 1970, 0, 0, 0, 0, 0, 0, 0, + 1970, 1970, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, - 1971, 1971, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, + 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, + 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, - 1973, 1973, 1973, 1973, 1973, 1974, 1974, 1974, 1974, 1974, - 1974, 0, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1974, 1974, 1974, 1975, 1975, 0, 1975, 1975, 1975, 1975, - 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, - 1975, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1973, 1973, 1973, 1973, 1973, 1973, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1977, + 1974, 1974, 1974, 1974, 1975, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, - 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1978, 1978, 1978, + 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - 1978, 1978, 1978, 1978, 1978, 1979, 1979, 1979, 1979, 1979, + 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, - 1979, 1979, 1979, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, - 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1982, + 1979, 1979, 1979, 1979, 1980, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1980, 1980, 1980, 1980, 1980, + 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, + 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, - 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 0, + 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1984, 1984, 0, 1984, 1984, + 1983, 1983, 1983, 1983, 1984, 1984, 0, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, - 1984, 1984, 1984, 1985, 1985, 0, 1985, 1985, 1985, 1985, + 1984, 1984, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, - 1985, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, - 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1987, - 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, - 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1988, 1988, 1988, + 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, + 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, - 1988, 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989, 1989, - 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, - 1989, 1989, 1989, 1990, 0, 0, 0, 0, 0, 1990, - 0, 0, 0, 1990, 0, 1990, 1990, 1990, 1990, 1990, - 1991, 1991, 1991, 1991, 1992, 0, 0, 0, 0, 0, - 0, 0, 1992, 0, 0, 0, 1992, 1992, 1992, 1992, - 1992, 1993, 0, 0, 0, 0, 0, 0, 0, 1993, - 0, 1993, 0, 1993, 1993, 1993, 1993, 1993, 1994, 1994, - - 0, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, - 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 1995, 1995, + 1988, 1988, 1988, 1988, 1989, 0, 0, 0, 0, 0, + 0, 1989, 0, 1989, 0, 0, 1989, 1989, 1989, 1989, + 1990, 0, 0, 0, 0, 0, 0, 0, 1990, 0, + 0, 0, 1990, 1990, 1990, 1990, 1990, 1991, 0, 0, + 0, 0, 0, 0, 0, 1991, 0, 1991, 0, 1991, + + 1991, 1991, 1991, 1991, 1992, 1992, 1992, 1992, 1992, 1992, + 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, + 1992, 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, + 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, + 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, + 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, - 1995, 1995, 1995, 1995, 1996, 1996, 0, 1996, 1996, 1996, - 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, - 1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 0, 1997, - 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - 1998, 1998, 0, 1998, 1998, 1998, 1998, 1998, 1998, 1998, - 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, - 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, + 1995, 1995, 1995, 1995, 1995, 1995, 1996, 1996, 1996, 1996, + 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, + 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998, - 1999, 1999, 1999, 1999, 1999, 1999, 2000, 2000, 2000, 2000, + 1998, 1998, 1998, 1998, 1998, 0, 1998, 1998, 1998, 1998, + 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 0, + 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, 1999, + 1999, 1999, 1999, 1999, 1999, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, - 2000, 2000, 2000, 2000, 2001, 2001, 2001, 2001, 2001, 2001, + 2000, 2000, 2000, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, - 2001, 2001, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2001, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, - 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2004, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2005, 2005, 2005, 2005, + 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2004, 2004, 2004, + 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, + 2004, 2004, 2004, 2004, 2004, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2005, 2005, 2005, 2005, 2006, 2006, 2006, 2006, 2006, 2006, + 2005, 2005, 2005, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, - 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, - 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, - 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, + 2006, 2007, 2007, 0, 2007, 2007, 2007, 2007, 2007, 2007, + 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, + 2008, 0, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, + 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 0, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 0, 2010, + 2009, 2009, 2009, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, - - 2010, 2010, 2010, 2010, 2011, 2011, 0, 2011, 2011, 2011, + 2010, 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, - 2011, 2011, 2012, 2012, 0, 2012, 2012, 2012, 2012, 2012, - 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, + 2011, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, + 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 2014, - 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, - 2014, 2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, - 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - 2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016, 2016, 2016, - - 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, - 2016, 2016, 2017, 0, 0, 0, 0, 0, 2017, 0, - 0, 0, 0, 0, 2017, 2017, 2017, 2017, 2017, 2018, - 2018, 0, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, - 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019, 0, 0, - 0, 0, 0, 0, 2019, 0, 2019, 0, 0, 2019, - 2019, 2019, 2019, 2020, 0, 0, 0, 0, 0, 0, - 0, 2020, 0, 2020, 0, 2020, 2020, 2020, 2020, 2020, + 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 0, 0, + 0, 0, 0, 2014, 0, 0, 0, 2014, 0, 2014, + + 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 2016, 0, + 0, 0, 0, 0, 0, 0, 2016, 0, 0, 0, + 2016, 2016, 2016, 2016, 2016, 2017, 0, 0, 0, 0, + 0, 0, 0, 2017, 0, 2017, 0, 2017, 2017, 2017, + 2017, 2017, 2018, 2018, 0, 2018, 2018, 2018, 2018, 2018, + 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, + 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2020, 2020, + 0, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + 2020, 2020, 2020, 2020, 2020, 2020, 2021, 2021, 2021, 2021, + + 2021, 2021, 0, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2022, 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, - - 2022, 2022, 2023, 2023, 2023, 2023, 2023, 2023, 0, 2023, + 2022, 2022, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, - 2024, 2024, 0, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2025, 2025, - 0, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, + 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, + 2026, 2026, 2026, 2026, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, - 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, 2030, - 2030, 2030, 2030, 2030, 2030, 2030, 2031, 0, 2031, 0, - 0, 0, 0, 2031, 0, 0, 2031, 2031, 2031, 2031, - 2031, 2031, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, + 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031, + 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, + 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032, 2032, + 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, + 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, - 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2034, 2034, - - 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, - 2034, 2034, 2034, 2034, 2034, 2034, 2035, 2035, 2035, 2035, - 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, - 2035, 2035, 2035, 2035, 2036, 2036, 2036, 2036, 2036, 2036, + 2034, 2034, 0, 2034, 2034, 2034, 2034, 2034, 2034, 2034, + 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2035, 2035, + 0, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, + 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 0, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, - 2036, 2036, 2037, 2037, 0, 2037, 2037, 2037, 2037, 2037, + 2036, 2036, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, + + 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, - 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, - - 2039, 2039, 2039, 2039, 2039, 2039, 2040, 0, 0, 0, - 0, 0, 2040, 0, 0, 0, 0, 0, 2040, 2040, - 2040, 2040, 2040, 2041, 0, 0, 0, 0, 0, 0, - 2041, 0, 2041, 0, 0, 2041, 2041, 2041, 2041, 2042, - 0, 0, 0, 0, 0, 0, 0, 2042, 0, 2042, - 0, 2042, 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, - 2044, 0, 2044, 0, 0, 0, 0, 2044, 0, 0, - 2044, 2044, 2044, 2044, 2044, 2044, 2045, 0, 2045, 0, - 0, 0, 0, 2045, 0, 0, 2045, 2045, 2045, 2045, - 2045, 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, - - 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, - 2047, 2047, 2047, 2047, 2047, 2048, 2048, 0, 2048, 2048, + 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, + 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, + 2040, 2040, 2040, 2040, 2040, 2040, 2041, 0, 0, 0, + 0, 0, 2041, 0, 0, 0, 0, 0, 2041, 2041, + 2041, 2041, 2041, 2042, 2042, 0, 2042, 2042, 2042, 2042, + 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, + 2042, 2043, 0, 0, 0, 0, 0, 0, 2043, 0, + + 2043, 0, 0, 2043, 2043, 2043, 2043, 2044, 0, 0, + 0, 0, 0, 0, 0, 2044, 0, 2044, 0, 2044, + 2044, 2044, 2044, 2044, 2045, 2045, 2045, 2045, 2046, 2046, + 0, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, + 2046, 2046, 2046, 2046, 2046, 2046, 2047, 2047, 2047, 2047, + 2047, 2047, 0, 2047, 2047, 2047, 2047, 2047, 2047, 2047, + 2047, 2047, 2047, 2047, 2048, 2048, 0, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, - 2048, 2048, 2048, 2049, 2049, 2049, 2049, 2049, 2049, 2049, + 2048, 2048, 2049, 2049, 0, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, - 2049, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, - 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2051, + + 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, + 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2051, - 2051, 2051, 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, + 2051, 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, - - 2052, 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, + 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, - 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054, + 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, - 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, - 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2056, + 2055, 0, 2055, 0, 0, 0, 0, 2055, 0, 0, + + 2055, 2055, 2055, 2055, 2055, 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, - 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2057, 2057, 2057, + 2056, 2056, 2056, 2056, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, - 2057, 2057, 2057, 2057, 2057, 2058, 2058, 2058, 2058, 2058, - + 2057, 2057, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, - 2058, 2058, 2058, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, - 2059, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, - 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2061, + 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, + 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2060, + 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 0, 2061, + 2061, 2061, 2061, 2061, 2061, 2061, 2061, 2061, 2061, 2061, - 2061, 2061, 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, + 2061, 2061, 2061, 2061, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062, - 2062, 2062, 2062, 2062, 2062, 2063, 2063, 2063, 2063, 2063, + 2062, 2062, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, + 2064, 0, 0, 0, 0, 0, 2064, 0, 0, 0, + 0, 0, 2064, 2064, 2064, 2064, 2064, 2065, 0, 0, + 0, 0, 0, 0, 2065, 0, 2065, 0, 0, 2065, + 2065, 2065, 2065, 2066, 0, 0, 0, 0, 0, 0, + 0, 2066, 0, 2066, 0, 2066, 2066, 2066, 2066, 2066, + + 2067, 2067, 2067, 2067, 2068, 0, 2068, 0, 0, 0, + 0, 2068, 0, 0, 2068, 2068, 2068, 2068, 2068, 2068, + 2069, 0, 2069, 0, 0, 0, 0, 2069, 0, 0, + 2069, 2069, 2069, 2069, 2069, 2069, 2070, 2070, 2070, 2070, + 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, + 2070, 2070, 2070, 2070, 2071, 2071, 2071, 2071, 2071, 2072, + 2072, 0, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, + 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2073, 2073, 2073, + 2073, 2073, 2073, 2073, 2073, 2073, 2073, 2073, 2073, 2073, + 2073, 2073, 2073, 2073, 2073, 2074, 2074, 2074, 2074, 2074, + + 2074, 2074, 2074, 2074, 2074, 2074, 2074, 2074, 2074, 2074, + 2074, 2074, 2074, 2075, 2075, 2075, 2075, 2075, 2075, 2075, + 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075, + 2075, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, + 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2077, + 2077, 2077, 2077, 2077, 2077, 2077, 2077, 2077, 2077, 2077, + 2077, 2077, 2077, 2077, 2077, 2077, 2077, 2078, 2078, 2078, + 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, + 2078, 2078, 2078, 2078, 2078, 2079, 2079, 2079, 2079, 2079, + 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, + + 2079, 2079, 2079, 2080, 2080, 2080, 2080, 2080, 2080, 2080, + 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, + 2080, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, + 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2082, + 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2082, + 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2083, 2083, 2083, + 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, + 2083, 2083, 2083, 2083, 2083, 2084, 2084, 2084, 2084, 2084, + 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, 2084, + 2084, 2084, 2084, 2085, 2085, 2085, 2085, 2085, 2085, 2085, + + 2085, 2085, 2085, 2085, 2085, 2085, 2085, 2085, 2085, 2085, + 2085, 2086, 2086, 2086, 2086, 2086, 2086, 2086, 2086, 2086, + 2086, 2086, 2086, 2086, 2086, 2086, 2086, 2086, 2086, 2087, + 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, + 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, + 2088, 2088, 2088, 2088, 2088, 2089, 2089, 2089, 2089, 2089, + 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, + 2089, 2089, 2089, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 2063, 2063, 2063, 2064, 2064, 2064, 2064, 2064, 2064, 2064, - 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, - 2064, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, - 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897 + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921 } ; extern int yy_flex_debug; @@ -10763,8 +11258,8 @@ int count_newlines(const char* str_in) void out_of_donottreat(void); -#line 3774 "fortran.yy.c" -#line 3775 "fortran.yy.c" +#line 3793 "fortran.yy.c" +#line 3794 "fortran.yy.c" #define INITIAL 0 #define parameter 1 @@ -11003,7 +11498,7 @@ YY_DECL if (infixed) BEGIN(fortran77style) ; if (infree) BEGIN(fortran90style) ; -#line 4014 "fortran.yy.c" +#line 4033 "fortran.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -11030,14 +11525,14 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_base[yy_current_state] != 9640 ); + while ( yy_base[yy_current_state] != 9684 ); yy_find_action: yy_current_state = *--(yy_state_ptr); @@ -11427,131 +11922,146 @@ YY_RULE_SETUP case 67: YY_RULE_SETUP #line 182 "fortran.lex" -{ return TOK_COMMON; } +{ return TOK_PURE; } YY_BREAK case 68: YY_RULE_SETUP #line 183 "fortran.lex" -{ return TOK_GLOBAL; } +{ return TOK_IMPURE; } YY_BREAK case 69: YY_RULE_SETUP #line 184 "fortran.lex" -{ return TOK_EXTERNAL; } +{ return TOK_ELEMENTAL; } YY_BREAK case 70: YY_RULE_SETUP #line 185 "fortran.lex" -{ intent_spec = 1; return TOK_INTENT; } +{ return TOK_COMMON; } YY_BREAK case 71: YY_RULE_SETUP #line 186 "fortran.lex" -{ return TOK_POINTER; } +{ return TOK_GLOBAL; } YY_BREAK case 72: YY_RULE_SETUP #line 187 "fortran.lex" -{ return TOK_OPTIONAL; } +{ return TOK_EXTERNAL; } YY_BREAK case 73: YY_RULE_SETUP #line 188 "fortran.lex" -{ return TOK_SAVE; } +{ intent_spec = 1; return TOK_INTENT; } YY_BREAK case 74: YY_RULE_SETUP #line 189 "fortran.lex" -{ pos_cur_decl = setposcur()-strlen(fortran_text); return TOK_TYPEPAR; } +{ return TOK_POINTER; } YY_BREAK case 75: YY_RULE_SETUP #line 190 "fortran.lex" -{ return TOK_TYPE; } +{ return TOK_OPTIONAL; } YY_BREAK case 76: YY_RULE_SETUP #line 191 "fortran.lex" -{ return TOK_ENDTYPE; } +{ return TOK_SAVE; } YY_BREAK case 77: YY_RULE_SETUP #line 192 "fortran.lex" -{ if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } +{ pos_cur_decl = setposcur()-strlen(fortran_text); return TOK_TYPEPAR; } YY_BREAK case 78: YY_RULE_SETUP #line 193 "fortran.lex" -{ return TOK_OPEN; } +{ return TOK_TYPE; } YY_BREAK case 79: YY_RULE_SETUP #line 194 "fortran.lex" -{ return TOK_RETURN; } +{ return TOK_ENDTYPE; } YY_BREAK case 80: YY_RULE_SETUP #line 195 "fortran.lex" -{ return TOK_EXIT; } +{ if (inallocate == 1) return TOK_STAT; else { strcpy(yylval.na,fortran_text); return TOK_NAME; } } YY_BREAK case 81: YY_RULE_SETUP #line 196 "fortran.lex" -{ return TOK_PRINT; } +{ return TOK_OPEN; } YY_BREAK case 82: YY_RULE_SETUP #line 197 "fortran.lex" -{ return TOK_PROCEDURE; } +{ return TOK_RETURN; } YY_BREAK case 83: YY_RULE_SETUP #line 198 "fortran.lex" -{ in_io_control_spec = 1; return TOK_READ_PAR; } +{ return TOK_EXIT; } YY_BREAK case 84: YY_RULE_SETUP #line 199 "fortran.lex" -{ return TOK_READ; } +{ return TOK_PRINT; } YY_BREAK case 85: YY_RULE_SETUP #line 200 "fortran.lex" -{ return TOK_NAMELIST; } +{ return TOK_PROCEDURE; } YY_BREAK case 86: YY_RULE_SETUP #line 201 "fortran.lex" -{ in_io_control_spec = 1; return TOK_WRITE_PAR; } +{ in_io_control_spec = 1; return TOK_READ_PAR; } YY_BREAK case 87: YY_RULE_SETUP #line 202 "fortran.lex" -{ return TOK_WRITE; } +{ return TOK_READ; } YY_BREAK case 88: YY_RULE_SETUP #line 203 "fortran.lex" -{ strcpy(yylval.na,fortran_text); return TOK_FLUSH; } +{ return TOK_NAMELIST; } YY_BREAK case 89: YY_RULE_SETUP #line 204 "fortran.lex" -{ return TOK_TARGET; } +{ in_io_control_spec = 1; return TOK_WRITE_PAR; } YY_BREAK case 90: YY_RULE_SETUP #line 205 "fortran.lex" -{ return TOK_PUBLIC; } +{ return TOK_WRITE; } YY_BREAK case 91: YY_RULE_SETUP #line 206 "fortran.lex" -{ return TOK_PRIVATE; } +{ strcpy(yylval.na,fortran_text); return TOK_FLUSH; } YY_BREAK case 92: YY_RULE_SETUP #line 207 "fortran.lex" +{ return TOK_TARGET; } + YY_BREAK +case 93: +YY_RULE_SETUP +#line 208 "fortran.lex" +{ return TOK_PUBLIC; } + YY_BREAK +case 94: +YY_RULE_SETUP +#line 209 "fortran.lex" +{ return TOK_PRIVATE; } + YY_BREAK +case 95: +YY_RULE_SETUP +#line 210 "fortran.lex" { strcpy(yylval.na,fortran_text); if (intent_spec==1) {return TOK_IN; } @@ -11561,19 +12071,19 @@ YY_RULE_SETUP } } YY_BREAK -case 93: +case 96: YY_RULE_SETUP -#line 215 "fortran.lex" +#line 218 "fortran.lex" { pos_curdata = setposcur()-strlen(fortran_text); /*Init_List_Data_Var();*/ return TOK_DATA; } YY_BREAK -case 94: +case 97: YY_RULE_SETUP -#line 216 "fortran.lex" +#line 219 "fortran.lex" { return TOK_PLAINGOTO; } YY_BREAK -case 95: +case 98: YY_RULE_SETUP -#line 217 "fortran.lex" +#line 220 "fortran.lex" { strcpy(yylval.na,fortran_text); if (intent_spec==1) {return TOK_OUT; } @@ -11583,9 +12093,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 99: YY_RULE_SETUP -#line 225 "fortran.lex" +#line 228 "fortran.lex" { strcpy(yylval.na,fortran_text); if (intent_spec==1) {return TOK_IN; } @@ -11595,133 +12105,133 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 100: YY_RULE_SETUP -#line 233 "fortran.lex" +#line 236 "fortran.lex" { return TOK_INTRINSIC; } YY_BREAK -case 98: +case 101: YY_RULE_SETUP -#line 234 "fortran.lex" +#line 237 "fortran.lex" { return TOK_THEN; } YY_BREAK -case 99: +case 102: YY_RULE_SETUP -#line 235 "fortran.lex" +#line 238 "fortran.lex" { return TOK_ELSEIF; } YY_BREAK -case 100: +case 103: YY_RULE_SETUP -#line 236 "fortran.lex" +#line 239 "fortran.lex" { return TOK_ELSE; } YY_BREAK -case 101: +case 104: YY_RULE_SETUP -#line 237 "fortran.lex" +#line 240 "fortran.lex" { return TOK_ENDIF; } YY_BREAK -case 102: +case 105: YY_RULE_SETUP -#line 238 "fortran.lex" +#line 241 "fortran.lex" {strcpy(yylval.na,fortran_text); return TOK_LOGICALIF_PAR; } YY_BREAK -case 103: -/* rule 103 can match eol */ +case 106: +/* rule 106 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_bp + 2); (yy_c_buf_p) = yy_cp = yy_bp + 2; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 241 "fortran.lex" +#line 244 "fortran.lex" {strcpy(yylval.na,fortran_text); return TOK_NAME; } YY_BREAK -case 104: +case 107: YY_RULE_SETUP -#line 244 "fortran.lex" +#line 247 "fortran.lex" {strcpy(yylval.na,fortran_text); return TOK_LOGICALIF_PAR; } YY_BREAK -case 105: -YY_RULE_SETUP -#line 247 "fortran.lex" -{ return TOK_SELECTCASE; } - YY_BREAK -case 106: -YY_RULE_SETUP -#line 248 "fortran.lex" -{ if (in_select_case_stmt > 0) return TOK_CASE ; else return TOK_NAME;} - YY_BREAK -case 107: -YY_RULE_SETUP -#line 249 "fortran.lex" -{ return TOK_DEFAULT; } - YY_BREAK case 108: YY_RULE_SETUP #line 250 "fortran.lex" -{ return TOK_ENDSELECT; } +{ return TOK_SELECTCASE; } YY_BREAK case 109: YY_RULE_SETUP #line 251 "fortran.lex" -{ return TOK_FILE; } +{ if (in_select_case_stmt > 0) return TOK_CASE ; else return TOK_NAME;} YY_BREAK case 110: YY_RULE_SETUP #line 252 "fortran.lex" -{ return TOK_ACCESS; } +{ return TOK_DEFAULT; } YY_BREAK case 111: YY_RULE_SETUP #line 253 "fortran.lex" -{ return TOK_ACTION; } +{ return TOK_ENDSELECT; } YY_BREAK case 112: YY_RULE_SETUP #line 254 "fortran.lex" -{ return TOK_IOLENGTH; } +{ return TOK_FILE; } YY_BREAK case 113: YY_RULE_SETUP #line 255 "fortran.lex" -{ return TOK_UNIT; } +{ return TOK_ACCESS; } YY_BREAK case 114: YY_RULE_SETUP #line 256 "fortran.lex" -{ return TOK_OPENED; } +{ return TOK_ACTION; } YY_BREAK case 115: YY_RULE_SETUP #line 257 "fortran.lex" -{ return TOK_FMT; } +{ return TOK_IOLENGTH; } YY_BREAK case 116: YY_RULE_SETUP #line 258 "fortran.lex" -{ return TOK_NML; } +{ return TOK_UNIT; } YY_BREAK case 117: YY_RULE_SETUP #line 259 "fortran.lex" -{ return TOK_END; } +{ return TOK_OPENED; } YY_BREAK case 118: YY_RULE_SETUP #line 260 "fortran.lex" -{ return TOK_EOR; } +{ return TOK_FMT; } YY_BREAK case 119: +YY_RULE_SETUP +#line 261 "fortran.lex" +{ return TOK_NML; } + YY_BREAK +case 120: +YY_RULE_SETUP +#line 262 "fortran.lex" +{ return TOK_END; } + YY_BREAK +case 121: +YY_RULE_SETUP +#line 263 "fortran.lex" +{ return TOK_EOR; } + YY_BREAK +case 122: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 261 "fortran.lex" +#line 264 "fortran.lex" { if (in_char_selector ==1) return TOK_LEN; @@ -11731,12 +12241,12 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 123: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 269 "fortran.lex" +#line 272 "fortran.lex" { if ((in_char_selector==1) || (in_kind_selector == 1)) return TOK_KIND; @@ -11746,52 +12256,52 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 124: YY_RULE_SETUP -#line 277 "fortran.lex" +#line 280 "fortran.lex" { return TOK_ERRMSG; } YY_BREAK -case 122: +case 125: YY_RULE_SETUP -#line 278 "fortran.lex" +#line 281 "fortran.lex" { return TOK_MOLD; } YY_BREAK -case 123: +case 126: YY_RULE_SETUP -#line 279 "fortran.lex" +#line 282 "fortran.lex" { return TOK_SOURCE; } YY_BREAK -case 124: +case 127: YY_RULE_SETUP -#line 280 "fortran.lex" +#line 283 "fortran.lex" { return TOK_POSITION; } YY_BREAK -case 125: +case 128: YY_RULE_SETUP -#line 281 "fortran.lex" +#line 284 "fortran.lex" { return TOK_IOMSG; } YY_BREAK -case 126: +case 129: YY_RULE_SETUP -#line 282 "fortran.lex" +#line 285 "fortran.lex" { return TOK_IOSTAT; } YY_BREAK -case 127: +case 130: YY_RULE_SETUP -#line 283 "fortran.lex" +#line 286 "fortran.lex" { return TOK_ERR; } YY_BREAK -case 128: +case 131: YY_RULE_SETUP -#line 284 "fortran.lex" +#line 287 "fortran.lex" { return TOK_FORM; } YY_BREAK -case 129: +case 132: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 285 "fortran.lex" +#line 288 "fortran.lex" { if (in_inquire==1) return TOK_NAME_EQ; @@ -11801,17 +12311,17 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 133: YY_RULE_SETUP -#line 293 "fortran.lex" +#line 296 "fortran.lex" { return TOK_RECL; } YY_BREAK -case 131: +case 134: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 294 "fortran.lex" +#line 297 "fortran.lex" { if (in_io_control_spec == 1) return TOK_REC; else @@ -11820,12 +12330,12 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 135: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 301 "fortran.lex" +#line 304 "fortran.lex" { if (close_or_connect == 1) return TOK_STATUS; else @@ -11834,74 +12344,74 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 136: YY_RULE_SETUP -#line 308 "fortran.lex" +#line 311 "fortran.lex" { strcpy(yylval.na,fortran_text); return TOK_NAME;} YY_BREAK -case 134: +case 137: YY_RULE_SETUP -#line 309 "fortran.lex" +#line 312 "fortran.lex" { return TOK_EXIST; } YY_BREAK -case 135: +case 138: YY_RULE_SETUP -#line 310 "fortran.lex" +#line 313 "fortran.lex" { return TOK_CYCLE; } YY_BREAK -case 136: +case 139: YY_RULE_SETUP -#line 311 "fortran.lex" +#line 314 "fortran.lex" { return TOK_BACKSPACE; } YY_BREAK -case 137: +case 140: YY_RULE_SETUP -#line 312 "fortran.lex" +#line 315 "fortran.lex" { return TOK_FOURDOTS; } YY_BREAK -case 138: -/* rule 138 can match eol */ +case 141: +/* rule 141 can match eol */ YY_RULE_SETUP -#line 313 "fortran.lex" +#line 316 "fortran.lex" { strcpy(yylval.na,fortran_text); return TOK_DSLASH; } YY_BREAK -case 139: +case 142: YY_RULE_SETUP -#line 314 "fortran.lex" +#line 317 "fortran.lex" { return TOK_LEFTAB; } YY_BREAK -case 140: +case 143: YY_RULE_SETUP -#line 315 "fortran.lex" +#line 318 "fortran.lex" { return TOK_RIGHTAB; } YY_BREAK -case 141: +case 144: YY_RULE_SETUP -#line 316 "fortran.lex" +#line 319 "fortran.lex" { strcpy(yylval.na,fortran_text); return TOK_SLASH; } YY_BREAK -case 142: -/* rule 142 can match eol */ +case 145: +/* rule 145 can match eol */ YY_RULE_SETUP -#line 317 "fortran.lex" +#line 320 "fortran.lex" { INCREMENT_LINE_NUM() ; strcpy(yylval.na,fortran_text); return TOK_CHAR_CUT; } YY_BREAK -case 143: -/* rule 143 can match eol */ +case 146: +/* rule 146 can match eol */ YY_RULE_SETUP -#line 319 "fortran.lex" +#line 322 "fortran.lex" {Add_Include_1(fortran_text);} YY_BREAK -case 144: +case 147: YY_RULE_SETUP -#line 320 "fortran.lex" +#line 323 "fortran.lex" {} YY_BREAK -case 145: -/* rule 145 can match eol */ +case 148: +/* rule 148 can match eol */ YY_RULE_SETUP -#line 321 "fortran.lex" +#line 324 "fortran.lex" { if (inmoduledeclare == 0 ) { @@ -11911,72 +12421,72 @@ YY_RULE_SETUP out_of_donottreat(); } YY_BREAK -case 146: -/* rule 146 can match eol */ +case 149: +/* rule 149 can match eol */ YY_RULE_SETUP -#line 329 "fortran.lex" +#line 332 "fortran.lex" { strcpy(yylval.na,fortran_text);return TOK_CHAR_CONSTANT; } YY_BREAK -case 147: -/* rule 147 can match eol */ +case 150: +/* rule 150 can match eol */ YY_RULE_SETUP -#line 330 "fortran.lex" +#line 333 "fortran.lex" { strcpy(yylval.na,fortran_text);return TOK_CHAR_MESSAGE; } YY_BREAK -case 148: +case 151: YY_RULE_SETUP -#line 331 "fortran.lex" +#line 334 "fortran.lex" { BEGIN(donottreat_interface); } YY_BREAK -case 149: -/* rule 149 can match eol */ +case 152: +/* rule 152 can match eol */ YY_RULE_SETUP -#line 332 "fortran.lex" +#line 335 "fortran.lex" { out_of_donottreat(); return '\n'; } YY_BREAK -case 150: -/* rule 150 can match eol */ +case 153: +/* rule 153 can match eol */ YY_RULE_SETUP -#line 333 "fortran.lex" +#line 336 "fortran.lex" {INCREMENT_LINE_NUM() ; } YY_BREAK -case 151: -/* rule 151 can match eol */ +case 154: +/* rule 154 can match eol */ YY_RULE_SETUP -#line 334 "fortran.lex" +#line 337 "fortran.lex" {strcpy(yylval.na,fortran_text); removenewline(yylval.na); return TOK_NAME; } YY_BREAK -case 152: +case 155: YY_RULE_SETUP -#line 336 "fortran.lex" +#line 339 "fortran.lex" { strcpy(yylval.na,fortran_text); return TOK_NAME; } YY_BREAK -case 153: +case 156: YY_RULE_SETUP -#line 337 "fortran.lex" +#line 340 "fortran.lex" {strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } YY_BREAK -case 154: -/* rule 154 can match eol */ +case 157: +/* rule 157 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 338 "fortran.lex" +#line 341 "fortran.lex" { // REAL1 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } YY_BREAK -case 155: +case 158: YY_RULE_SETUP -#line 340 "fortran.lex" +#line 343 "fortran.lex" { // REAL2 strcpy(yylval.na,fortran_text); return TOK_CSTREAL; } YY_BREAK -case 156: +case 159: YY_RULE_SETUP -#line 342 "fortran.lex" +#line 345 "fortran.lex" { strcpy(yylval.na,fortran_text); if (lastwasendofstmt == 0) return TOK_CSTINT; @@ -11992,131 +12502,131 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 160: YY_RULE_SETUP -#line 356 "fortran.lex" +#line 359 "fortran.lex" {} YY_BREAK -case 158: +case 161: YY_RULE_SETUP -#line 357 "fortran.lex" +#line 360 "fortran.lex" {} YY_BREAK -case 159: +case 162: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 358 "fortran.lex" +#line 361 "fortran.lex" { in_complex_literal = -1; return (int) *fortran_text; } YY_BREAK -case 160: -YY_RULE_SETUP -#line 362 "fortran.lex" -{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } - YY_BREAK -case 161: -YY_RULE_SETUP -#line 363 "fortran.lex" -{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } - YY_BREAK -case 162: -YY_RULE_SETUP -#line 364 "fortran.lex" -{ lastwasendofstmt=1; token_since_endofstmt = 0; return TOK_SEMICOLON; } - YY_BREAK case 163: YY_RULE_SETUP #line 365 "fortran.lex" -{ if (in_complex_literal==-1) {return TOK_COMMACOMPLEX; in_complex_literal=0;} else; return (int) *fortran_text; } +{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } YY_BREAK case 164: YY_RULE_SETUP #line 366 "fortran.lex" -{ return (int) *fortran_text; } +{ strcpy(yylval.na,fortran_text); return (int) *fortran_text; } YY_BREAK case 165: YY_RULE_SETUP #line 367 "fortran.lex" -{ return (int) *fortran_text; } +{ lastwasendofstmt=1; token_since_endofstmt = 0; return TOK_SEMICOLON; } YY_BREAK case 166: YY_RULE_SETUP #line 368 "fortran.lex" -{ return (int) *fortran_text; } +{ if (in_complex_literal==-1) {return TOK_COMMACOMPLEX; in_complex_literal=0;} else; return (int) *fortran_text; } YY_BREAK case 167: -/* rule 167 can match eol */ YY_RULE_SETUP #line 369 "fortran.lex" -{ INCREMENT_LINE_NUM() ; lastwasendofstmt=1; token_since_endofstmt = 0; increment_nbtokens = 0; return '\n'; } +{ return (int) *fortran_text; } YY_BREAK case 168: YY_RULE_SETUP #line 370 "fortran.lex" -{increment_nbtokens = 0;} +{ return (int) *fortran_text; } YY_BREAK case 169: -/* rule 169 can match eol */ YY_RULE_SETUP #line 371 "fortran.lex" -{ - return TOK_LABEL_FORMAT; } +{ return (int) *fortran_text; } YY_BREAK case 170: /* rule 170 can match eol */ YY_RULE_SETUP -#line 373 "fortran.lex" -{return TOK_LABEL_FORMAT; } +#line 372 "fortran.lex" +{ INCREMENT_LINE_NUM() ; lastwasendofstmt=1; token_since_endofstmt = 0; increment_nbtokens = 0; return '\n'; } YY_BREAK case 171: -/* rule 171 can match eol */ YY_RULE_SETUP -#line 374 "fortran.lex" -{ INCREMENT_LINE_NUM() ; newlinef90=1; } +#line 373 "fortran.lex" +{increment_nbtokens = 0;} YY_BREAK case 172: /* rule 172 can match eol */ YY_RULE_SETUP -#line 375 "fortran.lex" -{ INCREMENT_LINE_NUM() ;} +#line 374 "fortran.lex" +{ + return TOK_LABEL_FORMAT; } YY_BREAK case 173: /* rule 173 can match eol */ YY_RULE_SETUP -#line 377 "fortran.lex" -{INCREMENT_LINE_NUM() ; BEGIN(donottreat); } +#line 376 "fortran.lex" +{return TOK_LABEL_FORMAT; } YY_BREAK case 174: /* rule 174 can match eol */ YY_RULE_SETUP -#line 378 "fortran.lex" -{out_of_donottreat(); return '\n'; } +#line 377 "fortran.lex" +{ INCREMENT_LINE_NUM() ; newlinef90=1; } YY_BREAK case 175: /* rule 175 can match eol */ YY_RULE_SETUP -#line 379 "fortran.lex" -{INCREMENT_LINE_NUM() ; } +#line 378 "fortran.lex" +{ INCREMENT_LINE_NUM() ;} YY_BREAK case 176: /* rule 176 can match eol */ YY_RULE_SETUP #line 380 "fortran.lex" -{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} +{INCREMENT_LINE_NUM() ; BEGIN(donottreat); } YY_BREAK case 177: /* rule 177 can match eol */ YY_RULE_SETUP #line 381 "fortran.lex" -{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} +{out_of_donottreat(); return '\n'; } YY_BREAK case 178: +/* rule 178 can match eol */ YY_RULE_SETUP #line 382 "fortran.lex" +{INCREMENT_LINE_NUM() ; } + YY_BREAK +case 179: +/* rule 179 can match eol */ +YY_RULE_SETUP +#line 383 "fortran.lex" +{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} + YY_BREAK +case 180: +/* rule 180 can match eol */ +YY_RULE_SETUP +#line 384 "fortran.lex" +{INCREMENT_LINE_NUM() ; increment_nbtokens = 0;} + YY_BREAK +case 181: +YY_RULE_SETUP +#line 385 "fortran.lex" {increment_nbtokens = 0;} YY_BREAK case YY_STATE_EOF(INITIAL): @@ -12127,15 +12637,15 @@ case YY_STATE_EOF(donottreat_interface): case YY_STATE_EOF(includestate): case YY_STATE_EOF(fortran77style): case YY_STATE_EOF(fortran90style): -#line 383 "fortran.lex" +#line 386 "fortran.lex" {endoffile = 1; yyterminate();} YY_BREAK -case 179: +case 182: YY_RULE_SETUP -#line 384 "fortran.lex" +#line 387 "fortran.lex" ECHO; YY_BREAK -#line 5146 "fortran.yy.c" +#line 5180 "fortran.yy.c" case YY_END_OF_BUFFER: { @@ -12399,7 +12909,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -12422,11 +12932,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1897); + yy_is_jam = (yy_current_state == 1921); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; @@ -13114,7 +13624,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 384 "fortran.lex" +#line 387 "fortran.lex" void out_of_donottreat ( void ) diff --git a/ext/AGRIF/LIB/main.c b/ext/AGRIF/LIB/main.c index 5792faa96e538ee4672c8ba1b154df122f600601..8ae0cf752e11b1bb5ed3ebb3d1c633dc375e22d5 100644 --- a/ext/AGRIF/LIB/main.c +++ b/ext/AGRIF/LIB/main.c @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.5.1. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program. If not, see <https://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -34,6 +34,10 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -41,14 +45,11 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ -/* Undocumented macros, especially those whose name start with YY_, - are private implementation details. Do not rely on them. */ - -/* Identify Bison output. */ -#define YYBISON 1 +/* Identify Bison output, and Bison version. */ +#define YYBISON 30802 -/* Bison version. */ -#define YYBISON_VERSION "3.5.1" +/* Bison version string. */ +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -90,7 +91,7 @@ int convert_error(const char *s) } -#line 94 "convert.tab.c" +#line 95 "convert.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -113,14 +114,6 @@ int convert_error(const char *s) # endif # endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - /* Debug traces. */ #ifndef YYDEBUG @@ -130,22 +123,27 @@ int convert_error(const char *s) extern int convert_debug; #endif -/* Token type. */ +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { - TOK_SEP = 258, - TOK_KIND = 259, - TOK_EQUAL = 260, - TOK_USE = 261, - TOK_MODULEMAIN = 262, - TOK_NOTGRIDDEP = 263, - TOK_USEITEM = 264, - TOK_NAME = 265, - TOK_CSTINT = 266, - TOK_PROBTYPE = 267 + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + TOK_SEP = 258, /* TOK_SEP */ + TOK_KIND = 259, /* TOK_KIND */ + TOK_EQUAL = 260, /* TOK_EQUAL */ + TOK_USE = 261, /* TOK_USE */ + TOK_MODULEMAIN = 262, /* TOK_MODULEMAIN */ + TOK_NOTGRIDDEP = 263, /* TOK_NOTGRIDDEP */ + TOK_USEITEM = 264, /* TOK_USEITEM */ + TOK_NAME = 265, /* TOK_NAME */ + TOK_CSTINT = 266, /* TOK_CSTINT */ + TOK_PROBTYPE = 267 /* TOK_PROBTYPE */ }; + typedef enum yytokentype yytoken_kind_t; #endif /* Value type. */ @@ -156,7 +154,7 @@ union YYSTYPE char na[LONG_M]; -#line 160 "convert.tab.c" +#line 158 "convert.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -167,10 +165,38 @@ typedef union YYSTYPE YYSTYPE; extern YYSTYPE convert_lval; + int convert_parse (void); +/* Symbol kind. */ +enum yysymbol_kind_t +{ + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_TOK_SEP = 3, /* TOK_SEP */ + YYSYMBOL_TOK_KIND = 4, /* TOK_KIND */ + YYSYMBOL_TOK_EQUAL = 5, /* TOK_EQUAL */ + YYSYMBOL_TOK_USE = 6, /* TOK_USE */ + YYSYMBOL_TOK_MODULEMAIN = 7, /* TOK_MODULEMAIN */ + YYSYMBOL_TOK_NOTGRIDDEP = 8, /* TOK_NOTGRIDDEP */ + YYSYMBOL_TOK_USEITEM = 9, /* TOK_USEITEM */ + YYSYMBOL_TOK_NAME = 10, /* TOK_NAME */ + YYSYMBOL_TOK_CSTINT = 11, /* TOK_CSTINT */ + YYSYMBOL_TOK_PROBTYPE = 12, /* TOK_PROBTYPE */ + YYSYMBOL_13_ = 13, /* ',' */ + YYSYMBOL_14_ = 14, /* ';' */ + YYSYMBOL_15_n_ = 15, /* '\n' */ + YYSYMBOL_YYACCEPT = 16, /* $accept */ + YYSYMBOL_input = 17, /* input */ + YYSYMBOL_line = 18 /* line */ +}; +typedef enum yysymbol_kind_t yysymbol_kind_t; + + #ifdef short @@ -210,6 +236,18 @@ typedef int_least16_t yytype_int16; typedef short yytype_int16; #endif +/* Work around bug in HP-UX 11.23, which defines these macros + incorrectly for preprocessor constants. This workaround can likely + be removed in 2023, as HPE has promised support for HP-UX 11.23 + (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of + <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ +#ifdef __hpux +# undef UINT_LEAST8_MAX +# undef UINT_LEAST16_MAX +# define UINT_LEAST8_MAX 255 +# define UINT_LEAST16_MAX 65535 +#endif + #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ @@ -269,6 +307,7 @@ typedef int yytype_uint16; #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + /* Stored state numbers (used for stacks). */ typedef yytype_int8 yy_state_t; @@ -287,6 +326,7 @@ typedef int yy_state_fast_t; # endif #endif + #ifndef YY_ATTRIBUTE_PURE # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) @@ -305,17 +345,23 @@ typedef int yy_state_fast_t; /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) +# define YY_USE(E) ((void) (E)) #else -# define YYUSE(E) /* empty */ +# define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# endif # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else @@ -344,7 +390,7 @@ typedef int yy_state_fast_t; #define YY_ASSERT(E) ((void) (0 && (E))) -#if ! defined yyoverflow || YYERROR_VERBOSE +#if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -409,8 +455,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - +#endif /* !defined yyoverflow */ #if (! defined yyoverflow \ && (! defined __cplusplus \ @@ -486,14 +531,16 @@ union yyalloc /* YYNSTATES -- Number of states. */ #define YYNSTATES 29 -#define YYUNDEFTOK 2 +/* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 267 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ -#define YYTRANSLATE(YYX) \ - (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ @@ -529,7 +576,7 @@ static const yytype_int8 yytranslate[] = }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int8 yyrline[] = { 0, 71, 71, 72, 75, 76, 77, 78, 79, 84, @@ -537,27 +584,30 @@ static const yytype_int8 yyrline[] = }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if YYDEBUG || 0 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "TOK_SEP", "TOK_KIND", "TOK_EQUAL", - "TOK_USE", "TOK_MODULEMAIN", "TOK_NOTGRIDDEP", "TOK_USEITEM", "TOK_NAME", - "TOK_CSTINT", "TOK_PROBTYPE", "','", "';'", "'\\n'", "$accept", "input", - "line", YY_NULLPTR + "\"end of file\"", "error", "\"invalid token\"", "TOK_SEP", "TOK_KIND", + "TOK_EQUAL", "TOK_USE", "TOK_MODULEMAIN", "TOK_NOTGRIDDEP", + "TOK_USEITEM", "TOK_NAME", "TOK_CSTINT", "TOK_PROBTYPE", "','", "';'", + "'\\n'", "$accept", "input", "line", YY_NULLPTR }; -#endif -# ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_int16 yytoknum[] = +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) { - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 44, 59, 10 -}; -# endif + return yytname[yysymbol]; +} +#endif #define YYPACT_NINF (-13) @@ -569,8 +619,8 @@ static const yytype_int16 yytoknum[] = #define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int8 yypact[] = { -13, 0, -13, -7, 2, -5, 10, 4, -13, -13, @@ -578,9 +628,9 @@ static const yytype_int8 yypact[] = -13, 13, -13, -4, -13, 14, -13, 15, -13 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_int8 yydefact[] = { 2, 0, 1, 0, 0, 0, 0, 0, 4, 3, @@ -588,21 +638,21 @@ static const yytype_int8 yydefact[] = 5, 0, 10, 0, 9, 0, 6, 0, 7 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -13, -13, -13 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 1, 9 + 0, 1, 9 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int8 yytable[] = { 2, 19, 20, 10, 3, 12, 4, 5, 6, 25, @@ -617,8 +667,8 @@ static const yytype_int8 yycheck[] = 11, 14, 10, -1, 10, -1, -1, 14, -1, 14 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_int8 yystos[] = { 0, 17, 0, 4, 6, 7, 8, 12, 15, 18, @@ -626,14 +676,14 @@ static const yytype_int8 yystos[] = 14, 11, 14, 10, 14, 13, 14, 10, 14 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int8 yyr1[] = { 0, 16, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 2, 1, 3, 5, 7, 3, 5, @@ -641,14 +691,15 @@ static const yytype_int8 yyr2[] = }; +enum { YYENOMEM = -2 }; + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) @@ -670,10 +721,9 @@ static const yytype_int8 yyr2[] = } \ while (0) -/* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 - +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF /* Enable debugging if requested. */ @@ -690,19 +740,16 @@ do { \ YYFPRINTF Args; \ } while (0) -/* This macro is provided for backward compatibility. */ -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ + +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Type, Value); \ + Kind, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) @@ -713,18 +760,15 @@ do { \ `-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { FILE *yyoutput = yyo; - YYUSE (yyoutput); + YY_USE (yyoutput); if (!yyvaluep) return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyo, yytoknum[yytype], *yyvaluep); -# endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -734,12 +778,13 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) `---------------------------*/ static void -yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { YYFPRINTF (yyo, "%s %s (", - yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - yy_symbol_value_print (yyo, yytype, yyvaluep); + yy_symbol_value_print (yyo, yykind, yyvaluep); YYFPRINTF (yyo, ")"); } @@ -772,7 +817,8 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, + int yyrule) { int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; @@ -784,9 +830,8 @@ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - yystos[+yyssp[yyi + 1 - yynrhs]], - &yyvsp[(yyi + 1) - (yynrhs)] - ); + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)]); YYFPRINTF (stderr, "\n"); } } @@ -801,8 +846,8 @@ do { \ multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -825,259 +870,30 @@ int yydebug; #endif -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) -# else -/* Return the length of YYSTR. */ -static YYPTRDIFF_T -yystrlen (const char *yystr) -{ - YYPTRDIFF_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -yystpcpy (char *yydest, const char *yysrc) -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYPTRDIFF_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYPTRDIFF_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - else - goto append; - - append: - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (yyres) - return yystpcpy (yyres, yystr) - yyres; - else - return yystrlen (yystr); -} -# endif - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, - yy_state_t *yyssp, int yytoken) -{ - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat: reported tokens (one for the "unexpected", - one per "expected"). */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Actual size of YYARG. */ - int yycount = 0; - /* Cumulated lengths of YYARG. */ - YYPTRDIFF_T yysize = 0; - - /* There are many possibilities here to consider: - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[+*yyssp]; - YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); - yysize = yysize0; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYPTRDIFF_T yysize1 - = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - } - } - } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - default: /* Avoid compiler warnings. */ - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - { - /* Don't count the "%s"s in the final size, but reserve room for - the terminator. */ - YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1; - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - ++yyp; - ++yyformat; - } - } - return 0; -} -#endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep) { - YYUSE (yyvaluep); + YY_USE (yyvaluep); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } - - -/* The lookahead symbol. */ +/* Lookahead token kind. */ int yychar; /* The semantic value of the lookahead symbol. */ @@ -1086,6 +902,8 @@ YYSTYPE yylval; int yynerrs; + + /*----------. | yyparse. | `----------*/ @@ -1093,43 +911,36 @@ int yynerrs; int yyparse (void) { - yy_state_fast_t yystate; + yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; + int yyerrstatus = 0; - /* The stacks and their tools: - 'yyss': related to states. - 'yyvs': related to semantic values. - - Refer to the stacks through separate pointers, to allow yyoverflow + /* Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ + /* Their size. */ + YYPTRDIFF_T yystacksize = YYINITDEPTH; + + /* The state stack: array, bottom, top. */ yy_state_t yyssa[YYINITDEPTH]; - yy_state_t *yyss; - yy_state_t *yyssp; + yy_state_t *yyss = yyssa; + yy_state_t *yyssp = yyss; - /* The semantic value stack. */ + /* The semantic value stack: array, bottom, top. */ YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - - YYPTRDIFF_T yystacksize; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp = yyvs; int yyn; + /* The return value of yyparse. */ int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; + /* Lookahead symbol kind. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; -#endif + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) @@ -1137,16 +948,10 @@ yyparse (void) Keep to zero when no symbol should be popped. */ int yylen = 0; - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yystacksize = YYINITDEPTH; - YYDPRINTF ((stderr, "Starting parse\n")); - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; @@ -1168,10 +973,11 @@ yysetstate: YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE - goto yyexhaustedlab; + YYNOMEM; #else { /* Get the current used size of the three stacks, in elements. */ @@ -1199,7 +1005,7 @@ yysetstate: # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; @@ -1210,10 +1016,10 @@ yysetstate: YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -1232,6 +1038,7 @@ yysetstate: } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + if (yystate == YYFINAL) YYACCEPT; @@ -1252,18 +1059,29 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); + YYDPRINTF ((stderr, "Reading a token\n")); yychar = yylex (); } if (yychar <= YYEOF) { - yychar = yytoken = YYEOF; + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -1332,34 +1150,34 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 5: + case 5: /* line: TOK_PROBTYPE TOK_NAME ';' */ #line 76 "convert.y" { initdimprob(1,(yyvsp[-1].na),"0","0"); } -#line 1339 "convert.tab.c" +#line 1157 "convert.tab.c" break; - case 6: + case 6: /* line: TOK_PROBTYPE TOK_NAME ',' TOK_NAME ';' */ #line 77 "convert.y" { initdimprob(2,(yyvsp[-3].na), (yyvsp[-1].na),"0"); } -#line 1345 "convert.tab.c" +#line 1163 "convert.tab.c" break; - case 7: + case 7: /* line: TOK_PROBTYPE TOK_NAME ',' TOK_NAME ',' TOK_NAME ';' */ #line 78 "convert.y" { initdimprob(3,(yyvsp[-5].na), (yyvsp[-3].na), (yyvsp[-1].na)); } -#line 1351 "convert.tab.c" +#line 1169 "convert.tab.c" break; - case 8: + case 8: /* line: TOK_MODULEMAIN TOK_NAME ';' */ #line 80 "convert.y" { listofmodules = Addtolistnom((yyvsp[-1].na),listofmodules,0); Addmoduletothelist((yyvsp[-1].na)); } -#line 1360 "convert.tab.c" +#line 1178 "convert.tab.c" break; - case 9: + case 9: /* line: TOK_KIND TOK_NAME TOK_EQUAL TOK_CSTINT ';' */ #line 85 "convert.y" { if (!strcasecmp((yyvsp[-1].na),"4")) @@ -1376,28 +1194,28 @@ yyreduce: exit(0); } } -#line 1380 "convert.tab.c" +#line 1198 "convert.tab.c" break; - case 10: + case 10: /* line: TOK_NOTGRIDDEP TOK_SEP TOK_NAME ';' */ #line 101 "convert.y" { Add_NotGridDepend_Var_1((yyvsp[-1].na)); } -#line 1388 "convert.tab.c" +#line 1206 "convert.tab.c" break; - case 11: + case 11: /* line: TOK_USE TOK_USEITEM ';' */ #line 105 "convert.y" { if (!strcasecmp((yyvsp[-1].na),"FIXED_GRIDS")) fixedgrids = 1; if (!strcasecmp((yyvsp[-1].na),"ONLY_FIXED_GRIDS")) onlyfixedgrids = 1; } -#line 1397 "convert.tab.c" +#line 1215 "convert.tab.c" break; -#line 1401 "convert.tab.c" +#line 1219 "convert.tab.c" default: break; } @@ -1412,11 +1230,10 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; @@ -1440,50 +1257,14 @@ yyreduce: yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); -#else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) - { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; - } -# undef YYSYNTAX_ERROR -#endif } - - if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -1516,6 +1297,7 @@ yyerrorlab: label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -1532,13 +1314,14 @@ yyerrorlab: yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ + /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) { yyn = yytable[yyn]; if (0 < yyn) @@ -1552,7 +1335,7 @@ yyerrlab1: yydestruct ("Error: popping", - yystos[yystate], yyvsp); + YY_ACCESSING_SYMBOL (yystate), yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -1564,7 +1347,7 @@ yyerrlab1: /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -1575,7 +1358,7 @@ yyerrlab1: `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; /*-----------------------------------. @@ -1583,24 +1366,22 @@ yyacceptlab: `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; - /* Fall through. */ -#endif + goto yyreturnlab; -/*-----------------------------------------------------. -| yyreturn -- parsing is finished, return the result. | -`-----------------------------------------------------*/ -yyreturn: +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -1616,19 +1397,17 @@ yyreturn: while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[+*yyssp], yyvsp); + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif + return yyresult; } + #line 110 "convert.y" @@ -1981,9 +1760,9 @@ int main(int argc,char *argv[]) if ( todebug == 1 ) printf("Out of CONV \n"); return 0; } -#line 2 "convert.yy.c" +#line 1 "convert.yy.c" -#line 4 "convert.yy.c" +#line 3 "convert.yy.c" #define YY_INT_ALIGNED short int @@ -2805,8 +2584,8 @@ char *yytext; #include <string.h> #define YY_NO_INPUT +#line 825 "convert.yy.c" #line 826 "convert.yy.c" -#line 827 "convert.yy.c" #define INITIAL 0 #define character 1 @@ -3026,7 +2805,7 @@ YY_DECL { #line 54 "convert.lex" -#line 1047 "convert.yy.c" +#line 1046 "convert.yy.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3159,7 +2938,7 @@ YY_RULE_SETUP #line 69 "convert.lex" ECHO; YY_BREAK -#line 1180 "convert.yy.c" +#line 1179 "convert.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(character): yyterminate(); diff --git a/src/ICE/icedyn_rhg_eap.F90 b/src/ICE/icedyn_rhg_eap.F90 index 1363541b8bbad19743d73972101294dc5388ae01..8f5560ec120df79de4380b6b5b5d866b5d49d290 100644 --- a/src/ICE/icedyn_rhg_eap.F90 +++ b/src/ICE/icedyn_rhg_eap.F90 @@ -1548,7 +1548,7 @@ CONTAINS END SUBROUTINE rhg_eap_rst - FUNCTION w1(pa) + ELEMENTAL FUNCTION w1(pa) !!------------------------------------------------------------------- !! Function : w1 (see Gaussian function psi in Tsamados et al 2013) !!------------------------------------------------------------------- @@ -1568,7 +1568,7 @@ CONTAINS END FUNCTION w1 - FUNCTION w2(pa) + ELEMENTAL FUNCTION w2(pa) !!------------------------------------------------------------------- !! Function : w2 (see Gaussian function psi in Tsamados et al 2013) !!------------------------------------------------------------------- diff --git a/src/OCE/SBC/sbc_phy.F90 b/src/OCE/SBC/sbc_phy.F90 index 2a845e3a54f0850b3457f4ddee4e039fd1ac4d27..a6c56ac10cb3f19167d3de9ab92d8ce822662816 100644 --- a/src/OCE/SBC/sbc_phy.F90 +++ b/src/OCE/SBC/sbc_phy.F90 @@ -196,7 +196,7 @@ MODULE sbc_phy CONTAINS - FUNCTION virt_temp_sclr( pta, pqa ) + ELEMENTAL FUNCTION virt_temp_sclr( pta, pqa ) !!------------------------------------------------------------------------ !! !! Compute the (absolute/potential) VIRTUAL temperature, based on the @@ -232,7 +232,7 @@ CONTAINS END FUNCTION virt_temp_vctr - FUNCTION pres_temp_sclr( pqspe, pslp, pz, ptpot, pta, l_ice ) + impure ELEMENTAL FUNCTION pres_temp_sclr( pqspe, pslp, pz, ptpot, pta, l_ice ) !!------------------------------------------------------------------------------- !! *** FUNCTION pres_temp *** @@ -249,10 +249,12 @@ CONTAINS REAL(wp), INTENT(in ) , OPTIONAL :: ptpot ! air potential temperature [K] REAL(wp), INTENT(inout), OPTIONAL :: pta ! air absolute temperature [K] REAL(wp) :: ztpot, zta, zpa, zxm, zmask, zqsat - INTEGER :: it, niter = 3 ! iteration indice and number + INTEGER :: it, niter ! iteration indice and number LOGICAL , INTENT(in) , OPTIONAL :: l_ice ! sea-ice presence LOGICAL :: lice ! sea-ice presence + niter = 3 + IF( PRESENT(ptpot) ) THEN zmask = 1._wp ztpot = ptpot @@ -316,7 +318,7 @@ CONTAINS END FUNCTION pres_temp_vctr - FUNCTION theta_exner_sclr( pta, ppa ) + ELEMENTAL FUNCTION theta_exner_sclr( pta, ppa ) !!------------------------------------------------------------------------------- !! *** FUNCTION theta_exner *** @@ -374,7 +376,7 @@ CONTAINS END FUNCTION rho_air_vctr - FUNCTION rho_air_sclr( ptak, pqa, ppa ) + ELEMENTAL FUNCTION rho_air_sclr( ptak, pqa, ppa ) !!------------------------------------------------------------------------------- !! *** FUNCTION rho_air_sclr *** !! @@ -392,7 +394,7 @@ CONTAINS END FUNCTION rho_air_sclr - FUNCTION visc_air_sclr(ptak) + ELEMENTAL FUNCTION visc_air_sclr(ptak) !!---------------------------------------------------------------------------------- !! Air kinetic viscosity (m^2/s) given from air temperature in Kelvin !! @@ -439,7 +441,7 @@ CONTAINS ! END FUNCTION L_vap_vctr - FUNCTION L_vap_sclr( psst ) + ELEMENTAL FUNCTION L_vap_sclr( psst ) !!--------------------------------------------------------------------------------- !! *** FUNCTION L_vap_sclr *** !! @@ -472,7 +474,7 @@ CONTAINS END FUNCTION cp_air_vctr - FUNCTION cp_air_sclr( pqa ) + ELEMENTAL FUNCTION cp_air_sclr( pqa ) !!------------------------------------------------------------------------------- !! *** FUNCTION cp_air_sclr *** !! @@ -489,7 +491,7 @@ CONTAINS END FUNCTION cp_air_sclr - FUNCTION gamma_moist_sclr( ptak, pqa ) + ELEMENTAL FUNCTION gamma_moist_sclr( ptak, pqa ) !!---------------------------------------------------------------------------------- !! ** Purpose : Compute the moist adiabatic lapse-rate. !! => http://glossary.ametsoc.org/wiki/Moist-adiabatic_lapse_rate @@ -564,7 +566,7 @@ CONTAINS END FUNCTION One_on_L - FUNCTION Ri_bulk_sclr( pz, psst, ptha, pssq, pqa, pub, pta_layer, pqa_layer ) + ELEMENTAL FUNCTION Ri_bulk_sclr( pz, psst, ptha, pssq, pqa, pub, pta_layer, pqa_layer ) !!---------------------------------------------------------------------------------- !! Bulk Richardson number according to "wide-spread equation"... !! @@ -582,11 +584,9 @@ CONTAINS REAL(wp), INTENT(in), OPTIONAL :: pta_layer ! when possible, a better guess of absolute temperature WITHIN the layer [K] REAL(wp), INTENT(in), OPTIONAL :: pqa_layer ! when possible, a better guess of specific humidity WITHIN the layer [kg/kg] !! - LOGICAL :: l_ptqa_l_prvd = .FALSE. REAL(wp) :: zqa, zta, zgamma, zdthv, ztv, zsstv ! local scalars REAL(wp) :: ztptv !!------------------------------------------------------------------- - IF( PRESENT(pta_layer) .AND. PRESENT(pqa_layer) ) l_ptqa_l_prvd = .TRUE. ! zsstv = virt_temp_sclr( psst, pssq ) ! virtual potential SST ztptv = virt_temp_sclr( ptha, pqa ) ! virtual potential air temperature @@ -608,9 +608,10 @@ CONTAINS REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pta_layer ! when possible, a better guess of absolute temperature WITHIN the layer [K] REAL(wp), DIMENSION(A2D(0)), INTENT(in), OPTIONAL :: pqa_layer ! when possible, a better guess of specific humidity WITHIN the layer [kg/kg] !! - LOGICAL :: l_ptqa_l_prvd = .FALSE. + LOGICAL :: l_ptqa_l_prvd INTEGER :: ji, jj + l_ptqa_l_prvd = .FALSE. IF( PRESENT(pta_layer) .AND. PRESENT(pqa_layer) ) l_ptqa_l_prvd = .TRUE. IF( l_ptqa_l_prvd ) THEN DO_2D( 0, 0, 0, 0 ) @@ -626,7 +627,7 @@ CONTAINS END FUNCTION Ri_bulk_vctr - FUNCTION e_sat_sclr( ptak ) + ELEMENTAL FUNCTION e_sat_sclr( ptak ) !!---------------------------------------------------------------------------------- !! *** FUNCTION e_sat_sclr *** !! < SCALAR argument version > @@ -661,7 +662,7 @@ CONTAINS END FUNCTION e_sat_vctr - FUNCTION e_sat_ice_sclr(ptak) + ELEMENTAL FUNCTION e_sat_ice_sclr(ptak) !!--------------------------------------------------------------------------------- !! Same as "e_sat" but over ice rather than water! !!--------------------------------------------------------------------------------- @@ -692,7 +693,7 @@ CONTAINS END FUNCTION e_sat_ice_vctr - FUNCTION de_sat_dt_ice_sclr(ptak) + ELEMENTAL FUNCTION de_sat_dt_ice_sclr(ptak) !!--------------------------------------------------------------------------------- !! d [ e_sat_ice ] / dT (derivative / temperature) !! Analytical exact formulation: double checked!!! @@ -723,7 +724,7 @@ CONTAINS END FUNCTION de_sat_dt_ice_vctr - FUNCTION q_sat_sclr( pta, ppa, l_ice ) + ELEMENTAL FUNCTION q_sat_sclr( pta, ppa, l_ice ) !!--------------------------------------------------------------------------------- !! *** FUNCTION q_sat_sclr *** !! @@ -767,7 +768,7 @@ CONTAINS END FUNCTION q_sat_vctr - FUNCTION dq_sat_dt_ice_sclr( pta, ppa ) + ELEMENTAL FUNCTION dq_sat_dt_ice_sclr( pta, ppa ) !!--------------------------------------------------------------------------------- !! *** FUNCTION dq_sat_dt_ice_sclr *** !! => d [ q_sat_ice(T) ] / dT @@ -879,7 +880,7 @@ CONTAINS END SUBROUTINE UPDATE_QNSOL_TAU - SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, & + ELEMENTAL SUBROUTINE BULK_FORMULA_SCLR( pzu, pTs, pqs, pTa, pqa, & & pCd, pCh, pCe, & & pwnd, pUb, ppa, prhoa, & & pTau, pQsen, pQlat, & @@ -984,7 +985,7 @@ CONTAINS END FUNCTION alpha_sw_vctr - FUNCTION alpha_sw_sclr( psst ) + ELEMENTAL FUNCTION alpha_sw_sclr( psst ) !!--------------------------------------------------------------------------------- !! *** FUNCTION alpha_sw_sclr *** !! @@ -1000,7 +1001,7 @@ CONTAINS END FUNCTION alpha_sw_sclr - FUNCTION qlw_net_sclr( pdwlw, pts, l_ice ) + ELEMENTAL FUNCTION qlw_net_sclr( pdwlw, pts, l_ice ) !!--------------------------------------------------------------------------------- !! *** FUNCTION qlw_net_sclr *** !! @@ -1086,7 +1087,7 @@ CONTAINS END FUNCTION Cd_from_z0 - FUNCTION f_m_louis_sclr( pzu, pRib, pCdn, pz0 ) + ELEMENTAL FUNCTION f_m_louis_sclr( pzu, pRib, pCdn, pz0 ) !!---------------------------------------------------------------------------------- !! Stability correction function for MOMENTUM !! Louis (1979) @@ -1125,7 +1126,7 @@ CONTAINS END FUNCTION f_m_louis_vctr - FUNCTION f_h_louis_sclr( pzu, pRib, pChn, pz0 ) + ELEMENTAL FUNCTION f_h_louis_sclr( pzu, pRib, pChn, pz0 ) !!---------------------------------------------------------------------------------- !! Stability correction function for HEAT !! Louis (1979) diff --git a/src/OCE/SBC/sbcblk_skin_coare.F90 b/src/OCE/SBC/sbcblk_skin_coare.F90 index ddd6af7f2d0f7ad4f70a3679e7ed8e455bd6cb2e..3d8b9e1f35c9c71edc14040582a35c44ed800824 100644 --- a/src/OCE/SBC/sbcblk_skin_coare.F90 +++ b/src/OCE/SBC/sbcblk_skin_coare.F90 @@ -73,7 +73,7 @@ CONTAINS !!------------------------------------------------------------------ !! !! ** INPUT: - !! *pQsw* surface net solar radiation into the ocean [W/m^2] => >= 0 ! + !! *pQsw* surface net solar radiation into the ocean [W/m^2] => >= 0 ! !! *pQnsol* surface net non-solar heat flux into the ocean [W/m^2] => normally < 0 ! !! *pustar* friction velocity u* [m/s] !! *pSST* bulk SST (taken at depth gdept_1d(1)) [K] @@ -258,7 +258,7 @@ CONTAINS - FUNCTION delta_skin_layer( palpha, pQd, pQlat, pustar_a ) + ELEMENTAL FUNCTION delta_skin_layer( palpha, pQd, pQlat, pustar_a ) !!--------------------------------------------------------------------- !! Computes the thickness (m) of the viscous skin layer. !! Based on Fairall et al., 1996 @@ -297,7 +297,7 @@ CONTAINS END FUNCTION delta_skin_layer - FUNCTION frac_solar_abs( pHwl ) + ELEMENTAL FUNCTION frac_solar_abs( pHwl ) !!--------------------------------------------------------------------- !! Fraction of solar heat flux absorbed inside warm layer !!--------------------------------------------------------------------- diff --git a/src/OCE/SBC/sbcblk_skin_ecmwf.F90 b/src/OCE/SBC/sbcblk_skin_ecmwf.F90 index e38437168acc696a864ce3c681c677ae731cd891..3b5b6532937c1902514ae5fe5766a8c401d2f8a8 100644 --- a/src/OCE/SBC/sbcblk_skin_ecmwf.F90 +++ b/src/OCE/SBC/sbcblk_skin_ecmwf.F90 @@ -252,7 +252,7 @@ CONTAINS END SUBROUTINE WL_ECMWF - FUNCTION delta_skin_layer( palpha, pQd, pustar_a ) + ELEMENTAL FUNCTION delta_skin_layer( palpha, pQd, pustar_a ) !!--------------------------------------------------------------------- !! Computes the thickness (m) of the viscous skin layer. !! Based on Fairall et al., 1996 @@ -287,7 +287,7 @@ CONTAINS END FUNCTION delta_skin_layer - FUNCTION PHI( pzeta) + ELEMENTAL FUNCTION PHI( pzeta) !!--------------------------------------------------------------------- !! !! Takaya et al., 2010 diff --git a/src/OCE/SBC/sbcdcy.F90 b/src/OCE/SBC/sbcdcy.F90 index 5ccd7ec71b85dc87adbc38976692badd07c73b6e..c117fe4411ce94a7921f7a365e98b5f1c2dd301e 100644 --- a/src/OCE/SBC/sbcdcy.F90 +++ b/src/OCE/SBC/sbcdcy.F90 @@ -258,7 +258,7 @@ CONTAINS END SUBROUTINE sbc_dcy_param - FUNCTION fintegral( pt1, pt2, paaa, pbbb, pccc ) + ELEMENTAL FUNCTION fintegral( pt1, pt2, paaa, pbbb, pccc ) REAL(wp), INTENT(in) :: pt1, pt2, paaa, pbbb, pccc REAL(wp) :: fintegral fintegral = paaa * pt2 + 1._wp/(2._wp*rpi) * pbbb * SIN(pccc + 2._wp*rpi*pt2) & diff --git a/src/OCE/SBC/sbcssr.F90 b/src/OCE/SBC/sbcssr.F90 index 1cfc838b585424fc4cbea5bb39d66de1bb654d46..7c366b85a9fc59587954c6138f2b338d9d63c4cc 100644 --- a/src/OCE/SBC/sbcssr.F90 +++ b/src/OCE/SBC/sbcssr.F90 @@ -249,7 +249,7 @@ CONTAINS IF( sbc_ssr_alloc /= 0 ) CALL ctl_warn('sbc_ssr_alloc: failed to allocate arrays.') ! ENDIF - END FUNCTION + END FUNCTION sbc_ssr_alloc !!====================================================================== END MODULE sbcssr diff --git a/src/OCE/lib_fortran.F90 b/src/OCE/lib_fortran.F90 index ed6c8eea3ad8cf423b92195977540d8054cfeed5..259b56ba60e8b6ff560d496aabf91dfb0fd721ea 100644 --- a/src/OCE/lib_fortran.F90 +++ b/src/OCE/lib_fortran.F90 @@ -64,9 +64,7 @@ MODULE lib_fortran #if defined key_nosignedzero INTERFACE SIGN - MODULE PROCEDURE SIGN_SCALAR, SIGN_ARRAY_1D, SIGN_ARRAY_2D, SIGN_ARRAY_3D, & - & SIGN_ARRAY_1D_A, SIGN_ARRAY_2D_A, SIGN_ARRAY_3D_A, & - & SIGN_ARRAY_1D_B, SIGN_ARRAY_2D_B, SIGN_ARRAY_3D_B + MODULE PROCEDURE SIGN_SCALAR END INTERFACE #endif @@ -215,7 +213,7 @@ CONTAINS END SUBROUTINE sum3x3_3d - SUBROUTINE DDPDD( ydda, yddb ) + ELEMENTAL SUBROUTINE DDPDD( ydda, yddb ) !!---------------------------------------------------------------------- !! *** ROUTINE DDPDD *** !! @@ -254,153 +252,20 @@ CONTAINS !! 'key_nosignedzero' F90 SIGN !!---------------------------------------------------------------------- - FUNCTION SIGN_SCALAR( pa, pb ) + ELEMENTAL FUNCTION SIGN_SCALAR( pa, pb ) !!----------------------------------------------------------------------- !! *** FUNCTION SIGN_SCALAR *** !! !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function !!----------------------------------------------------------------------- - REAL(wp) :: pa,pb ! input - REAL(wp) :: SIGN_SCALAR ! result + REAL(wp), INTENT(in) :: pa,pb ! input + REAL(wp) :: SIGN_SCALAR ! result !!----------------------------------------------------------------------- - IF ( pb >= 0.e0) THEN ; SIGN_SCALAR = ABS(pa) - ELSE ; SIGN_SCALAR =-ABS(pa) + IF ( pb >= 0._wp ) THEN ; SIGN_SCALAR = ABS(pa) + ELSE ; SIGN_SCALAR = -ABS(pa) ENDIF END FUNCTION SIGN_SCALAR - - FUNCTION SIGN_ARRAY_1D( pa, pb ) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_1D *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa,pb(:) ! input - REAL(wp) :: SIGN_ARRAY_1D(SIZE(pb,1)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_1D = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_1D =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_1D - - - FUNCTION SIGN_ARRAY_2D(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_2D *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa,pb(:,:) ! input - REAL(wp) :: SIGN_ARRAY_2D(SIZE(pb,1),SIZE(pb,2)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_2D = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_2D =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_2D - - FUNCTION SIGN_ARRAY_3D(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_3D *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa,pb(:,:,:) ! input - REAL(wp) :: SIGN_ARRAY_3D(SIZE(pb,1),SIZE(pb,2),SIZE(pb,3)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_3D = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_3D =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_3D - - - FUNCTION SIGN_ARRAY_1D_A(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_1D_A *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:),pb(:) ! input - REAL(wp) :: SIGN_ARRAY_1D_A(SIZE(pb,1)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_1D_A = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_1D_A =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_1D_A - - - FUNCTION SIGN_ARRAY_2D_A(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_2D_A *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:,:),pb(:,:) ! input - REAL(wp) :: SIGN_ARRAY_2D_A(SIZE(pb,1),SIZE(pb,2)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_2D_A = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_2D_A =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_2D_A - - - FUNCTION SIGN_ARRAY_3D_A(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_3D_A *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:,:,:),pb(:,:,:) ! input - REAL(wp) :: SIGN_ARRAY_3D_A(SIZE(pb,1),SIZE(pb,2),SIZE(pb,3)) ! result - !!----------------------------------------------------------------------- - WHERE ( pb >= 0.e0 ) ; SIGN_ARRAY_3D_A = ABS(pa) - ELSEWHERE ; SIGN_ARRAY_3D_A =-ABS(pa) - END WHERE - END FUNCTION SIGN_ARRAY_3D_A - - - FUNCTION SIGN_ARRAY_1D_B(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_1D_B *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:),pb ! input - REAL(wp) :: SIGN_ARRAY_1D_B(SIZE(pa,1)) ! result - !!----------------------------------------------------------------------- - IF( pb >= 0.e0 ) THEN ; SIGN_ARRAY_1D_B = ABS(pa) - ELSE ; SIGN_ARRAY_1D_B =-ABS(pa) - ENDIF - END FUNCTION SIGN_ARRAY_1D_B - - - FUNCTION SIGN_ARRAY_2D_B(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_2D_B *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:,:),pb ! input - REAL(wp) :: SIGN_ARRAY_2D_B(SIZE(pa,1),SIZE(pa,2)) ! result - !!----------------------------------------------------------------------- - IF( pb >= 0.e0 ) THEN ; SIGN_ARRAY_2D_B = ABS(pa) - ELSE ; SIGN_ARRAY_2D_B =-ABS(pa) - ENDIF - END FUNCTION SIGN_ARRAY_2D_B - - - FUNCTION SIGN_ARRAY_3D_B(pa,pb) - !!----------------------------------------------------------------------- - !! *** FUNCTION SIGN_ARRAY_3D_B *** - !! - !! ** Purpose : overwrite f95 behaviour of intrinsinc sign function - !!----------------------------------------------------------------------- - REAL(wp) :: pa(:,:,:),pb ! input - REAL(wp) :: SIGN_ARRAY_3D_B(SIZE(pa,1),SIZE(pa,2),SIZE(pa,3)) ! result - !!----------------------------------------------------------------------- - IF( pb >= 0.e0 ) THEN ; SIGN_ARRAY_3D_B = ABS(pa) - ELSE ; SIGN_ARRAY_3D_B =-ABS(pa) - ENDIF - END FUNCTION SIGN_ARRAY_3D_B #endif !!====================================================================== diff --git a/src/TOP/PISCES/P4Z/p4zpoc.F90 b/src/TOP/PISCES/P4Z/p4zpoc.F90 index 59863b3174600d53c6d68d278917ed08a4d3b7a3..ee937666583709cb7b595ce01e2373080fff2cfd 100644 --- a/src/TOP/PISCES/P4Z/p4zpoc.F90 +++ b/src/TOP/PISCES/P4Z/p4zpoc.F90 @@ -488,7 +488,7 @@ CONTAINS !! ** input : Namelist nampispoc !!---------------------------------------------------------------------- INTEGER :: jn ! dummy loop index - INTEGER :: ios, ifault ! Local integer + INTEGER :: ios ! Local integer REAL(wp):: remindelta, reminup, remindown !! NAMELIST/nampispoc/ jcpoc , rshape, & @@ -533,18 +533,18 @@ CONTAINS ! fortran 95, they have been coded as functions in this module (gamain) ! --------------------------------------------------------------------- ! - alphan(1) = gamain(reminup, rshape, ifault) - reminp(1) = gamain(reminup, rshape+1.0, ifault) * xremipc / alphan(1) + alphan(1) = gamain(reminup, rshape) + reminp(1) = gamain(reminup, rshape+1.0) * xremipc / alphan(1) DO jn = 2, jcpoc-1 reminup = 1./ 400. * EXP( REAL(jn, wp) * remindelta) remindown = 1. / 400. * EXP( REAL(jn-1, wp) * remindelta) - alphan(jn) = gamain(reminup, rshape, ifault) - gamain(remindown, rshape, ifault) - reminp(jn) = gamain(reminup, rshape+1.0, ifault) - gamain(remindown, rshape+1.0, ifault) + alphan(jn) = gamain(reminup, rshape) - gamain(remindown, rshape) + reminp(jn) = gamain(reminup, rshape+1.0) - gamain(remindown, rshape+1.0) reminp(jn) = reminp(jn) * xremipc / alphan(jn) END DO remindown = 1. / 400. * EXP( REAL(jcpoc-1, wp) * remindelta) - alphan(jcpoc) = 1.0 - gamain(remindown, rshape, ifault) - reminp(jcpoc) = 1.0 - gamain(remindown, rshape+1.0, ifault) + alphan(jcpoc) = 1.0 - gamain(remindown, rshape) + reminp(jcpoc) = 1.0 - gamain(remindown, rshape+1.0) reminp(jcpoc) = reminp(jcpoc) * xremipc / alphan(jcpoc) ELSE ! Only one lability class is used @@ -567,7 +567,7 @@ CONTAINS END SUBROUTINE p4z_poc_init - REAL FUNCTION alngam( xvalue, ifault ) + ELEMENTAL FUNCTION alngam( xvalue ) !*****************************************************************************80 ! !! ALNGAM computes the logarithm of the gamma function. @@ -587,18 +587,15 @@ CONTAINS ! ! Input, real ( kind = 8 ) XVALUE, the argument of the Gamma function. ! - ! Output, integer ( kind = 4 ) IFAULT, error flag. ! 0, no error occurred. ! 1, XVALUE is less than or equal to 0. ! 2, XVALUE is too big. ! ! Output, real ( kind = 8 ) ALNGAM, the logarithm of the gamma function of X. !*****************************************************************************80 - implicit none - + REAL(wp) alngam real(wp), parameter :: alr2pi = 0.918938533204673E+00 - integer:: ifault - real(wp), dimension ( 9 ) :: r1 = (/ & + real(wp), parameter, dimension ( 9 ) :: r1 = (/ & -2.66685511495E+00, & -24.4387534237E+00, & -21.9698958928E+00, & @@ -608,7 +605,7 @@ CONTAINS 11.9400905721E+00, & 31.4690115749E+00, & 15.2346874070E+00 /) - real(wp), dimension ( 9 ) :: r2 = (/ & + real(wp), parameter, dimension ( 9 ) :: r2 = (/ & -78.3359299449E+00, & -142.046296688E+00, & 137.519416416E+00, & @@ -618,7 +615,7 @@ CONTAINS 313.399215894E+00, & 263.505074721E+00, & 43.3400022514E+00 /) - real(wp), dimension ( 9 ) :: r3 = (/ & + real(wp), parameter, dimension ( 9 ) :: r3 = (/ & -2.12159572323E+05, & 2.30661510616E+05, & 2.74647644705E+04, & @@ -628,7 +625,7 @@ CONTAINS -1.46025937511E+05, & -2.42357409629E+04, & -5.70691009324E+02 /) - real(wp), dimension ( 5 ) :: r4 = (/ & + real(wp), parameter, dimension ( 5 ) :: r4 = (/ & 0.279195317918525E+00, & 0.4917317610505968E+00, & 0.0692910599291889E+00, & @@ -639,7 +636,7 @@ CONTAINS real (wp) :: x2 real (wp), parameter :: xlge = 5.10E+05 real (wp), parameter :: xlgst = 1.0E+30 - real (wp) :: xvalue + REAL (wp), INTENT(in) :: xvalue real (wp) :: y x = xvalue @@ -648,15 +645,12 @@ CONTAINS ! Check the input. ! if ( xlgst <= x ) then - ifault = 2 return end if if ( x <= 0.0E+00 ) then - ifault = 1 return end if - ifault = 0 ! ! Calculation for 0 < X < 0.5 and 0.5 <= X < 1.5 combined. ! @@ -756,7 +750,7 @@ CONTAINS END FUNCTION alngam - REAL FUNCTION gamain( x, p, ifault ) + ELEMENTAL FUNCTION gamain( x, p ) !*****************************************************************************80 ! !! GAMAIN computes the incomplete gamma ratio. @@ -788,7 +782,6 @@ CONTAINS ! Input, real ( kind = 8 ) X, P, the parameters of the incomplete ! gamma ratio. 0 <= X, and 0 < P. ! -! Output, integer ( kind = 4 ) IFAULT, error flag. ! 0, no errors. ! 1, P <= 0. ! 2, X < 0. @@ -798,8 +791,8 @@ CONTAINS ! Output, real ( kind = 8 ) GAMAIN, the value of the incomplete ! gamma ratio. ! - implicit none + real (wp) gamain real (wp) a real (wp), parameter :: acu = 1.0E-08 real (wp) an @@ -810,52 +803,40 @@ CONTAINS real (wp) g real (wp) gin integer i - integer ifault real (wp), parameter :: oflo = 1.0E+37 - real (wp) p + REAL (wp), INTENT(in) :: p real (wp) pn(6) real (wp) rn real (wp) term real (wp), parameter :: uflo = 1.0E-37 - real (wp) x + REAL (wp), intent(in) :: x ! ! Check the input. ! if ( p <= 0.0E+00 ) then - ifault = 1 gamain = 0.0E+00 return end if if ( x < 0.0E+00 ) then - ifault = 2 gamain = 0.0E+00 return end if if ( x == 0.0E+00 ) then - ifault = 0 gamain = 0.0E+00 return end if - g = alngam ( p, ifault ) - - if ( ifault /= 0 ) then - ifault = 4 - gamain = 0.0E+00 - return - end if + g = alngam ( p ) arg = p * log ( x ) - x - g if ( arg < log ( uflo ) ) then - ifault = 3 gamain = 0.0E+00 return end if - ifault = 0 factor = exp ( arg ) ! ! Calculation by series expansion.