File:  [local] / rpl / rplawk / y.tab.c
Revision 1.4: download - view: text, annotated - select for diffs - revision graph
Mon May 29 09:51:09 2017 UTC (6 years, 10 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_35, rpl-4_1_34, rpl-4_1_33, rpl-4_1_32, rpl-4_1_31, rpl-4_1_30, rpl-4_1_29, rpl-4_1_28, rpl-4_1_27, rpl-4_1_26, HEAD
Mise à jour de Motif et d'OpenSSL.

    1: /* A Bison parser, made by GNU Bison 3.0.4.  */
    2: 
    3: /* Bison implementation for Yacc-like parsers in C
    4: 
    5:    Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
    6: 
    7:    This program is free software: you can redistribute it and/or modify
    8:    it under the terms of the GNU General Public License as published by
    9:    the Free Software Foundation, either version 3 of the License, or
   10:    (at your option) any later version.
   11: 
   12:    This program is distributed in the hope that it will be useful,
   13:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   14:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   15:    GNU General Public License for more details.
   16: 
   17:    You should have received a copy of the GNU General Public License
   18:    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
   19: 
   20: /* As a special exception, you may create a larger work that contains
   21:    part or all of the Bison parser skeleton and distribute that work
   22:    under terms of your choice, so long as that work isn't itself a
   23:    parser generator using the skeleton or a modified version thereof
   24:    as a parser skeleton.  Alternatively, if you modify or redistribute
   25:    the parser skeleton itself, you may (at your option) remove this
   26:    special exception, which will cause the skeleton and the resulting
   27:    Bison output files to be licensed under the GNU General Public
   28:    License without this special exception.
   29: 
   30:    This special exception was added by the Free Software Foundation in
   31:    version 2.2 of Bison.  */
   32: 
   33: /* C LALR(1) parser skeleton written by Richard Stallman, by
   34:    simplifying the original so-called "semantic" parser.  */
   35: 
   36: /* All symbols defined below should begin with yy or YY, to avoid
   37:    infringing on user name space.  This should be done even for local
   38:    variables, as they might otherwise be expanded by user macros.
   39:    There are some unavoidable exceptions within include files to
   40:    define necessary library symbols; they are noted "INFRINGES ON
   41:    USER NAME SPACE" below.  */
   42: 
   43: /* Identify Bison output.  */
   44: #define YYBISON 1
   45: 
   46: /* Bison version.  */
   47: #define YYBISON_VERSION "3.0.4"
   48: 
   49: /* Skeleton name.  */
   50: #define YYSKELETON_NAME "yacc.c"
   51: 
   52: /* Pure parsers.  */
   53: #define YYPURE 0
   54: 
   55: /* Push parsers.  */
   56: #define YYPUSH 0
   57: 
   58: /* Pull parsers.  */
   59: #define YYPULL 1
   60: 
   61: 
   62: 
   63: 
   64: /* Copy the first part of user declarations.  */
   65: #line 25 "awkgram.y" /* yacc.c:339  */
   66: 
   67: #include <stdio.h>
   68: #include <string.h>
   69: #include "awk.h"
   70: 
   71: void checkdup(Node *list, Cell *item);
   72: int yywrap(void) { return(1); }
   73: 
   74: Node    *beginloc = 0;
   75: Node    *endloc = 0;
   76: int infunc  = 0;    /* = 1 if in arglist or body of func */
   77: int inloop  = 0;    /* = 1 if in while, for, do */
   78: char    *curfname = 0;  /* current function name */
   79: Node    *arglist = 0;   /* list of args for current function */
   80: 
   81: #line 82 "y.tab.c" /* yacc.c:339  */
   82: 
   83: # ifndef YY_NULLPTR
   84: #  if defined __cplusplus && 201103L <= __cplusplus
   85: #   define YY_NULLPTR nullptr
   86: #  else
   87: #   define YY_NULLPTR 0
   88: #  endif
   89: # endif
   90: 
   91: /* Enabling verbose error messages.  */
   92: #ifdef YYERROR_VERBOSE
   93: # undef YYERROR_VERBOSE
   94: # define YYERROR_VERBOSE 1
   95: #else
   96: # define YYERROR_VERBOSE 0
   97: #endif
   98: 
   99: /* In a future release of Bison, this section will be replaced
  100:    by #include "y.tab.h".  */
  101: #ifndef YY_YY_Y_TAB_H_INCLUDED
  102: # define YY_YY_Y_TAB_H_INCLUDED
  103: /* Debug traces.  */
  104: #ifndef YYDEBUG
  105: # define YYDEBUG 0
  106: #endif
  107: #if YYDEBUG
  108: extern int yydebug;
  109: #endif
  110: 
  111: /* Token type.  */
  112: #ifndef YYTOKENTYPE
  113: # define YYTOKENTYPE
  114:   enum yytokentype
  115:   {
  116:     FIRSTTOKEN = 258,
  117:     PROGRAM = 259,
  118:     PASTAT = 260,
  119:     PASTAT2 = 261,
  120:     XBEGIN = 262,
  121:     XEND = 263,
  122:     NL = 264,
  123:     ARRAY = 265,
  124:     MATCH = 266,
  125:     NOTMATCH = 267,
  126:     MATCHOP = 268,
  127:     FINAL = 269,
  128:     DOT = 270,
  129:     ALL = 271,
  130:     CCL = 272,
  131:     NCCL = 273,
  132:     CHAR = 274,
  133:     OR = 275,
  134:     STAR = 276,
  135:     QUEST = 277,
  136:     PLUS = 278,
  137:     EMPTYRE = 279,
  138:     AND = 280,
  139:     BOR = 281,
  140:     APPEND = 282,
  141:     EQ = 283,
  142:     GE = 284,
  143:     GT = 285,
  144:     LE = 286,
  145:     LT = 287,
  146:     NE = 288,
  147:     IN = 289,
  148:     ARG = 290,
  149:     BLTIN = 291,
  150:     BREAK = 292,
  151:     CLOSE = 293,
  152:     CONTINUE = 294,
  153:     DELETE = 295,
  154:     DO = 296,
  155:     EXIT = 297,
  156:     FOR = 298,
  157:     FUNC = 299,
  158:     SUB = 300,
  159:     GSUB = 301,
  160:     IF = 302,
  161:     INDEX = 303,
  162:     LSUBSTR = 304,
  163:     MATCHFCN = 305,
  164:     NEXT = 306,
  165:     NEXTFILE = 307,
  166:     ADD = 308,
  167:     MINUS = 309,
  168:     MULT = 310,
  169:     DIVIDE = 311,
  170:     MOD = 312,
  171:     ASSIGN = 313,
  172:     ASGNOP = 314,
  173:     ADDEQ = 315,
  174:     SUBEQ = 316,
  175:     MULTEQ = 317,
  176:     DIVEQ = 318,
  177:     MODEQ = 319,
  178:     POWEQ = 320,
  179:     PRINT = 321,
  180:     PRINTF = 322,
  181:     SPRINTF = 323,
  182:     ELSE = 324,
  183:     INTEST = 325,
  184:     CONDEXPR = 326,
  185:     POSTINCR = 327,
  186:     PREINCR = 328,
  187:     POSTDECR = 329,
  188:     PREDECR = 330,
  189:     VAR = 331,
  190:     IVAR = 332,
  191:     VARNF = 333,
  192:     CALL = 334,
  193:     NUMBER = 335,
  194:     STRING = 336,
  195:     REGEXPR = 337,
  196:     GETLINE = 338,
  197:     RETURN = 339,
  198:     SPLIT = 340,
  199:     SUBSTR = 341,
  200:     WHILE = 342,
  201:     CAT = 343,
  202:     NOT = 344,
  203:     UMINUS = 345,
  204:     POWER = 346,
  205:     DECR = 347,
  206:     INCR = 348,
  207:     INDIRECT = 349,
  208:     LASTTOKEN = 350
  209:   };
  210: #endif
  211: /* Tokens.  */
  212: #define FIRSTTOKEN 258
  213: #define PROGRAM 259
  214: #define PASTAT 260
  215: #define PASTAT2 261
  216: #define XBEGIN 262
  217: #define XEND 263
  218: #define NL 264
  219: #define ARRAY 265
  220: #define MATCH 266
  221: #define NOTMATCH 267
  222: #define MATCHOP 268
  223: #define FINAL 269
  224: #define DOT 270
  225: #define ALL 271
  226: #define CCL 272
  227: #define NCCL 273
  228: #define CHAR 274
  229: #define OR 275
  230: #define STAR 276
  231: #define QUEST 277
  232: #define PLUS 278
  233: #define EMPTYRE 279
  234: #define AND 280
  235: #define BOR 281
  236: #define APPEND 282
  237: #define EQ 283
  238: #define GE 284
  239: #define GT 285
  240: #define LE 286
  241: #define LT 287
  242: #define NE 288
  243: #define IN 289
  244: #define ARG 290
  245: #define BLTIN 291
  246: #define BREAK 292
  247: #define CLOSE 293
  248: #define CONTINUE 294
  249: #define DELETE 295
  250: #define DO 296
  251: #define EXIT 297
  252: #define FOR 298
  253: #define FUNC 299
  254: #define SUB 300
  255: #define GSUB 301
  256: #define IF 302
  257: #define INDEX 303
  258: #define LSUBSTR 304
  259: #define MATCHFCN 305
  260: #define NEXT 306
  261: #define NEXTFILE 307
  262: #define ADD 308
  263: #define MINUS 309
  264: #define MULT 310
  265: #define DIVIDE 311
  266: #define MOD 312
  267: #define ASSIGN 313
  268: #define ASGNOP 314
  269: #define ADDEQ 315
  270: #define SUBEQ 316
  271: #define MULTEQ 317
  272: #define DIVEQ 318
  273: #define MODEQ 319
  274: #define POWEQ 320
  275: #define PRINT 321
  276: #define PRINTF 322
  277: #define SPRINTF 323
  278: #define ELSE 324
  279: #define INTEST 325
  280: #define CONDEXPR 326
  281: #define POSTINCR 327
  282: #define PREINCR 328
  283: #define POSTDECR 329
  284: #define PREDECR 330
  285: #define VAR 331
  286: #define IVAR 332
  287: #define VARNF 333
  288: #define CALL 334
  289: #define NUMBER 335
  290: #define STRING 336
  291: #define REGEXPR 337
  292: #define GETLINE 338
  293: #define RETURN 339
  294: #define SPLIT 340
  295: #define SUBSTR 341
  296: #define WHILE 342
  297: #define CAT 343
  298: #define NOT 344
  299: #define UMINUS 345
  300: #define POWER 346
  301: #define DECR 347
  302: #define INCR 348
  303: #define INDIRECT 349
  304: #define LASTTOKEN 350
  305: 
  306: /* Value type.  */
  307: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
  308: 
  309: union YYSTYPE
  310: {
  311: #line 41 "awkgram.y" /* yacc.c:355  */
  312: 
  313:     Node    *p;
  314:     Cell    *cp;
  315:     int i;
  316:     char    *s;
  317: 
  318: #line 319 "y.tab.c" /* yacc.c:355  */
  319: };
  320: 
  321: typedef union YYSTYPE YYSTYPE;
  322: # define YYSTYPE_IS_TRIVIAL 1
  323: # define YYSTYPE_IS_DECLARED 1
  324: #endif
  325: 
  326: 
  327: extern YYSTYPE yylval;
  328: 
  329: int yyparse (void);
  330: 
  331: #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
  332: 
  333: /* Copy the second part of user declarations.  */
  334: 
  335: #line 336 "y.tab.c" /* yacc.c:358  */
  336: 
  337: #ifdef short
  338: # undef short
  339: #endif
  340: 
  341: #ifdef YYTYPE_UINT8
  342: typedef YYTYPE_UINT8 yytype_uint8;
  343: #else
  344: typedef unsigned char yytype_uint8;
  345: #endif
  346: 
  347: #ifdef YYTYPE_INT8
  348: typedef YYTYPE_INT8 yytype_int8;
  349: #else
  350: typedef signed char yytype_int8;
  351: #endif
  352: 
  353: #ifdef YYTYPE_UINT16
  354: typedef YYTYPE_UINT16 yytype_uint16;
  355: #else
  356: typedef unsigned short int yytype_uint16;
  357: #endif
  358: 
  359: #ifdef YYTYPE_INT16
  360: typedef YYTYPE_INT16 yytype_int16;
  361: #else
  362: typedef short int yytype_int16;
  363: #endif
  364: 
  365: #ifndef YYSIZE_T
  366: # ifdef __SIZE_TYPE__
  367: #  define YYSIZE_T __SIZE_TYPE__
  368: # elif defined size_t
  369: #  define YYSIZE_T size_t
  370: # elif ! defined YYSIZE_T
  371: #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
  372: #  define YYSIZE_T size_t
  373: # else
  374: #  define YYSIZE_T unsigned int
  375: # endif
  376: #endif
  377: 
  378: #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
  379: 
  380: #ifndef YY_
  381: # if defined YYENABLE_NLS && YYENABLE_NLS
  382: #  if ENABLE_NLS
  383: #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
  384: #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
  385: #  endif
  386: # endif
  387: # ifndef YY_
  388: #  define YY_(Msgid) Msgid
  389: # endif
  390: #endif
  391: 
  392: #ifndef YY_ATTRIBUTE
  393: # if (defined __GNUC__                                               \
  394:       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
  395:      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
  396: #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
  397: # else
  398: #  define YY_ATTRIBUTE(Spec) /* empty */
  399: # endif
  400: #endif
  401: 
  402: #ifndef YY_ATTRIBUTE_PURE
  403: # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
  404: #endif
  405: 
  406: #ifndef YY_ATTRIBUTE_UNUSED
  407: # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
  408: #endif
  409: 
  410: #if !defined _Noreturn \
  411:      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
  412: # if defined _MSC_VER && 1200 <= _MSC_VER
  413: #  define _Noreturn __declspec (noreturn)
  414: # else
  415: #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
  416: # endif
  417: #endif
  418: 
  419: /* Suppress unused-variable warnings by "using" E.  */
  420: #if ! defined lint || defined __GNUC__
  421: # define YYUSE(E) ((void) (E))
  422: #else
  423: # define YYUSE(E) /* empty */
  424: #endif
  425: 
  426: #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
  427: /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
  428: # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
  429:     _Pragma ("GCC diagnostic push") \
  430:     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
  431:     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
  432: # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
  433:     _Pragma ("GCC diagnostic pop")
  434: #else
  435: # define YY_INITIAL_VALUE(Value) Value
  436: #endif
  437: #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
  438: # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
  439: # define YY_IGNORE_MAYBE_UNINITIALIZED_END
  440: #endif
  441: #ifndef YY_INITIAL_VALUE
  442: # define YY_INITIAL_VALUE(Value) /* Nothing. */
  443: #endif
  444: 
  445: 
  446: #if ! defined yyoverflow || YYERROR_VERBOSE
  447: 
  448: /* The parser invokes alloca or malloc; define the necessary symbols.  */
  449: 
  450: # ifdef YYSTACK_USE_ALLOCA
  451: #  if YYSTACK_USE_ALLOCA
  452: #   ifdef __GNUC__
  453: #    define YYSTACK_ALLOC __builtin_alloca
  454: #   elif defined __BUILTIN_VA_ARG_INCR
  455: #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
  456: #   elif defined _AIX
  457: #    define YYSTACK_ALLOC __alloca
  458: #   elif defined _MSC_VER
  459: #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
  460: #    define alloca _alloca
  461: #   else
  462: #    define YYSTACK_ALLOC alloca
  463: #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
  464: #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
  465:       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
  466: #     ifndef EXIT_SUCCESS
  467: #      define EXIT_SUCCESS 0
  468: #     endif
  469: #    endif
  470: #   endif
  471: #  endif
  472: # endif
  473: 
  474: # ifdef YYSTACK_ALLOC
  475:    /* Pacify GCC's 'empty if-body' warning.  */
  476: #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
  477: #  ifndef YYSTACK_ALLOC_MAXIMUM
  478:     /* The OS might guarantee only one guard page at the bottom of the stack,
  479:        and a page size can be as small as 4096 bytes.  So we cannot safely
  480:        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
  481:        to allow for a few compiler-allocated temporary stack slots.  */
  482: #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
  483: #  endif
  484: # else
  485: #  define YYSTACK_ALLOC YYMALLOC
  486: #  define YYSTACK_FREE YYFREE
  487: #  ifndef YYSTACK_ALLOC_MAXIMUM
  488: #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
  489: #  endif
  490: #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
  491:        && ! ((defined YYMALLOC || defined malloc) \
  492:              && (defined YYFREE || defined free)))
  493: #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
  494: #   ifndef EXIT_SUCCESS
  495: #    define EXIT_SUCCESS 0
  496: #   endif
  497: #  endif
  498: #  ifndef YYMALLOC
  499: #   define YYMALLOC malloc
  500: #   if ! defined malloc && ! defined EXIT_SUCCESS
  501: void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
  502: #   endif
  503: #  endif
  504: #  ifndef YYFREE
  505: #   define YYFREE free
  506: #   if ! defined free && ! defined EXIT_SUCCESS
  507: void free (void *); /* INFRINGES ON USER NAME SPACE */
  508: #   endif
  509: #  endif
  510: # endif
  511: #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
  512: 
  513: 
  514: #if (! defined yyoverflow \
  515:      && (! defined __cplusplus \
  516:          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
  517: 
  518: /* A type that is properly aligned for any stack member.  */
  519: union yyalloc
  520: {
  521:   yytype_int16 yyss_alloc;
  522:   YYSTYPE yyvs_alloc;
  523: };
  524: 
  525: /* The size of the maximum gap between one aligned stack and the next.  */
  526: # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
  527: 
  528: /* The size of an array large to enough to hold all stacks, each with
  529:    N elements.  */
  530: # define YYSTACK_BYTES(N) \
  531:      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
  532:       + YYSTACK_GAP_MAXIMUM)
  533: 
  534: # define YYCOPY_NEEDED 1
  535: 
  536: /* Relocate STACK from its old location to the new one.  The
  537:    local variables YYSIZE and YYSTACKSIZE give the old and new number of
  538:    elements in the stack, and YYPTR gives the new location of the
  539:    stack.  Advance YYPTR to a properly aligned location for the next
  540:    stack.  */
  541: # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
  542:     do                                                                  \
  543:       {                                                                 \
  544:         YYSIZE_T yynewbytes;                                            \
  545:         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
  546:         Stack = &yyptr->Stack_alloc;                                    \
  547:         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
  548:         yyptr += yynewbytes / sizeof (*yyptr);                          \
  549:       }                                                                 \
  550:     while (0)
  551: 
  552: #endif
  553: 
  554: #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
  555: /* Copy COUNT objects from SRC to DST.  The source and destination do
  556:    not overlap.  */
  557: # ifndef YYCOPY
  558: #  if defined __GNUC__ && 1 < __GNUC__
  559: #   define YYCOPY(Dst, Src, Count) \
  560:       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
  561: #  else
  562: #   define YYCOPY(Dst, Src, Count)              \
  563:       do                                        \
  564:         {                                       \
  565:           YYSIZE_T yyi;                         \
  566:           for (yyi = 0; yyi < (Count); yyi++)   \
  567:             (Dst)[yyi] = (Src)[yyi];            \
  568:         }                                       \
  569:       while (0)
  570: #  endif
  571: # endif
  572: #endif /* !YYCOPY_NEEDED */
  573: 
  574: /* YYFINAL -- State number of the termination state.  */
  575: #define YYFINAL  8
  576: /* YYLAST -- Last index in YYTABLE.  */
  577: #define YYLAST   4659
  578: 
  579: /* YYNTOKENS -- Number of terminals.  */
  580: #define YYNTOKENS  112
  581: /* YYNNTS -- Number of nonterminals.  */
  582: #define YYNNTS  49
  583: /* YYNRULES -- Number of rules.  */
  584: #define YYNRULES  185
  585: /* YYNSTATES -- Number of states.  */
  586: #define YYNSTATES  368
  587: 
  588: /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
  589:    by yylex, with out-of-bounds checking.  */
  590: #define YYUNDEFTOK  2
  591: #define YYMAXUTOK   350
  592: 
  593: #define YYTRANSLATE(YYX)                                                \
  594:   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
  595: 
  596: /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
  597:    as returned by yylex, without out-of-bounds checking.  */
  598: static const yytype_uint8 yytranslate[] =
  599: {
  600:        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  601:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  602:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  603:        2,     2,     2,     2,     2,     2,     2,   104,     2,     2,
  604:       12,    16,   103,   101,    10,   102,     2,    15,     2,     2,
  605:        2,     2,     2,     2,     2,     2,     2,     2,    94,    14,
  606:        2,     2,     2,    93,     2,     2,     2,     2,     2,     2,
  607:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  608:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  609:        2,    18,     2,    19,     2,     2,     2,     2,     2,     2,
  610:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  611:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  612:        2,     2,     2,    11,    13,    17,     2,     2,     2,     2,
  613:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  614:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  615:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  616:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  617:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  618:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  619:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  620:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  621:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  622:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  623:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  624:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  625:        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
  626:        5,     6,     7,     8,     9,    20,    21,    22,    23,    24,
  627:       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
  628:       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
  629:       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
  630:       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
  631:       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
  632:       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
  633:       85,    86,    87,    88,    89,    90,    91,    92,    95,    96,
  634:       97,    98,    99,   100,   105,   106,   107,   108,   109,   110,
  635:      111
  636: };
  637: 
  638: #if YYDEBUG
  639:   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
  640: static const yytype_uint16 yyrline[] =
  641: {
  642:        0,    98,    98,   100,   104,   104,   108,   108,   112,   112,
  643:      116,   116,   120,   120,   124,   124,   126,   126,   128,   128,
  644:      133,   134,   138,   142,   142,   146,   146,   150,   151,   155,
  645:      156,   161,   162,   166,   167,   171,   175,   176,   177,   178,
  646:      179,   180,   182,   184,   184,   189,   190,   194,   195,   199,
  647:      200,   202,   204,   206,   207,   212,   213,   214,   215,   216,
  648:      220,   221,   223,   225,   227,   228,   229,   230,   231,   232,
  649:      233,   234,   239,   240,   241,   244,   247,   248,   249,   253,
  650:      254,   258,   259,   263,   264,   265,   269,   269,   273,   273,
  651:      273,   273,   277,   277,   281,   283,   287,   287,   291,   291,
  652:      295,   298,   301,   304,   305,   306,   307,   308,   312,   313,
  653:      317,   319,   321,   321,   321,   323,   324,   325,   326,   327,
  654:      328,   329,   332,   335,   336,   337,   338,   338,   339,   343,
  655:      344,   348,   348,   352,   353,   354,   355,   356,   357,   358,
  656:      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
  657:      369,   370,   371,   372,   373,   374,   375,   376,   378,   381,
  658:      382,   384,   389,   390,   392,   394,   396,   397,   398,   400,
  659:      405,   407,   412,   414,   416,   420,   421,   422,   423,   427,
  660:      428,   429,   435,   436,   437,   442
  661: };
  662: #endif
  663: 
  664: #if YYDEBUG || YYERROR_VERBOSE || 0
  665: /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
  666:    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
  667: static const char *const yytname[] =
  668: {
  669:   "$end", "error", "$undefined", "FIRSTTOKEN", "PROGRAM", "PASTAT",
  670:   "PASTAT2", "XBEGIN", "XEND", "NL", "','", "'{'", "'('", "'|'", "';'",
  671:   "'/'", "')'", "'}'", "'['", "']'", "ARRAY", "MATCH", "NOTMATCH",
  672:   "MATCHOP", "FINAL", "DOT", "ALL", "CCL", "NCCL", "CHAR", "OR", "STAR",
  673:   "QUEST", "PLUS", "EMPTYRE", "AND", "BOR", "APPEND", "EQ", "GE", "GT",
  674:   "LE", "LT", "NE", "IN", "ARG", "BLTIN", "BREAK", "CLOSE", "CONTINUE",
  675:   "DELETE", "DO", "EXIT", "FOR", "FUNC", "SUB", "GSUB", "IF", "INDEX",
  676:   "LSUBSTR", "MATCHFCN", "NEXT", "NEXTFILE", "ADD", "MINUS", "MULT",
  677:   "DIVIDE", "MOD", "ASSIGN", "ASGNOP", "ADDEQ", "SUBEQ", "MULTEQ", "DIVEQ",
  678:   "MODEQ", "POWEQ", "PRINT", "PRINTF", "SPRINTF", "ELSE", "INTEST",
  679:   "CONDEXPR", "POSTINCR", "PREINCR", "POSTDECR", "PREDECR", "VAR", "IVAR",
  680:   "VARNF", "CALL", "NUMBER", "STRING", "REGEXPR", "'?'", "':'", "GETLINE",
  681:   "RETURN", "SPLIT", "SUBSTR", "WHILE", "CAT", "'+'", "'-'", "'*'", "'%'",
  682:   "NOT", "UMINUS", "POWER", "DECR", "INCR", "INDIRECT", "LASTTOKEN",
  683:   "$accept", "program", "and", "bor", "comma", "do", "else", "for", "$@1",
  684:   "$@2", "$@3", "funcname", "if", "lbrace", "nl", "opt_nl", "opt_pst",
  685:   "opt_simple_stmt", "pas", "pa_pat", "pa_stat", "$@4", "pa_stats",
  686:   "patlist", "ppattern", "pattern", "plist", "pplist", "prarg", "print",
  687:   "pst", "rbrace", "re", "reg_expr", "$@5", "rparen", "simple_stmt", "st",
  688:   "stmt", "$@6", "$@7", "$@8", "stmtlist", "subop", "term", "var",
  689:   "varlist", "varname", "while", YY_NULLPTR
  690: };
  691: #endif
  692: 
  693: # ifdef YYPRINT
  694: /* YYTOKNUM[NUM] -- (External) token number corresponding to the
  695:    (internal) symbol number NUM (which must be that of a token).  */
  696: static const yytype_uint16 yytoknum[] =
  697: {
  698:        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
  699:       44,   123,    40,   124,    59,    47,    41,   125,    91,    93,
  700:      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
  701:      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
  702:      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
  703:      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
  704:      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
  705:      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
  706:      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
  707:      335,   336,   337,    63,    58,   338,   339,   340,   341,   342,
  708:      343,    43,    45,    42,    37,   344,   345,   346,   347,   348,
  709:      349,   350
  710: };
  711: # endif
  712: 
  713: #define YYPACT_NINF -308
  714: 
  715: #define yypact_value_is_default(Yystate) \
  716:   (!!((Yystate) == (-308)))
  717: 
  718: #define YYTABLE_NINF -32
  719: 
  720: #define yytable_value_is_error(Yytable_value) \
  721:   (!!((Yytable_value) == (-32)))
  722: 
  723:   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
  724:      STATE-NUM.  */
  725: static const yytype_int16 yypact[] =
  726: {
  727:      681,  -308,  -308,  -308,    77,  1585,  -308,    86,  -308,    50,
  728:       50,  -308,  4223,  -308,  -308,    66,  4549,   -56,  -308,  -308,
  729:       76,    90,    92,  -308,  -308,  -308,    93,  -308,  -308,   212,
  730:      104,   113,  4549,  4549,  4281,   248,   248,  4549,   812,    34,
  731:     -308,   132,  3509,  -308,  -308,   121,   -11,   -44,   117,  -308,
  732:     -308,   812,   812,  2194,    38,    57,  4038,  4223,  4549,   -11,
  733:       44,  -308,  -308,   130,  4223,  4223,  4223,  4096,  4549,   115,
  734:     4223,  4223,    51,    51,  -308,    51,  -308,  -308,  -308,  -308,
  735:     -308,   151,   141,   141,   -31,  -308,  1745,   149,   153,   141,
  736:      141,  -308,  -308,  1745,   160,   154,  -308,  1426,   812,  3509,
  737:     4339,   141,  -308,   880,  -308,   151,   812,  1585,    82,  4223,
  738:     -308,  -308,  4223,  4223,  4223,  4223,  4223,  4223,   -31,  4223,
  739:     1803,  1861,   -11,  4223,  4397,  4549,  4549,  4549,  4549,  4549,
  740:     4223,  -308,  -308,  4223,   948,  1016,  -308,  -308,  1919,   140,
  741:     1919,   171,  -308,    65,  3509,  2682,   102,  2591,  2591,    69,
  742:     -308,   107,   -11,  4549,  2591,  2591,  -308,   182,  -308,   151,
  743:      182,  -308,  -308,   176,  1687,  -308,  1493,  4223,  -308,  -308,
  744:     1687,  -308,  4223,  -308,  1426,   133,  1084,  4223,  3911,   201,
  745:       10,  -308,   -11,    -2,  -308,  -308,  -308,  1426,  4223,  1152,
  746:     -308,   248,  3760,  -308,  3760,  3760,  3760,  3760,  3760,  3760,
  747:     -308,  2773,  -308,  3680,  -308,  3600,  2591,   201,  4549,    51,
  748:       -6,    -6,    51,    51,    51,  3509,    21,  -308,  -308,  -308,
  749:     3509,   -31,  3509,  -308,  -308,  1919,  -308,   108,  1919,  1919,
  750:     -308,  -308,   -11,     1,  1919,  -308,  -308,  4223,  -308,   200,
  751:     -308,    18,  2864,  -308,  2864,  -308,  -308,  1222,  -308,   208,
  752:      110,  4455,   -31,  4455,  1977,  2035,   -11,  2093,  4549,  4549,
  753:     4549,  4455,  -308,    50,  -308,  -308,  4223,  1919,  1919,   -11,
  754:     -308,  -308,  3509,  -308,    13,   209,  2955,   204,  3046,   211,
  755:      111,  2295,    24,   142,   -31,   209,   209,   125,  -308,  -308,
  756:     -308,   189,  4223,  4524,  -308,  -308,  3831,  4165,  3980,  3911,
  757:      -11,   -11,   -11,  3911,   812,  3509,  2396,  2497,  -308,  -308,
  758:       50,  -308,  -308,  -308,  -308,  -308,  1919,  -308,  1919,  -308,
  759:      151,  4223,   218,   224,   -31,   120,  4455,  1290,  -308,   187,
  760:     -308,   187,   812,  3137,   232,  3228,  1560,  3327,   209,  4223,
  761:     -308,   189,  3911,  -308,   233,   234,  1358,  -308,  -308,  -308,
  762:      218,   151,  1426,  3418,  -308,  -308,  -308,   209,  1560,  -308,
  763:      141,  1426,   218,  -308,  -308,   209,  1426,  -308
  764: };
  765: 
  766:   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
  767:      Performed when YYTABLE does not specify something else to do.  Zero
  768:      means the default is an error.  */
  769: static const yytype_uint8 yydefact[] =
  770: {
  771:        0,     3,    88,    89,     0,    33,     2,    30,     1,     0,
  772:        0,    23,     0,    96,   183,   145,     0,     0,   131,   132,
  773:        0,     0,     0,   182,   177,   184,     0,   162,   167,   156,
  774:        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
  775:       45,    29,    35,    77,    94,     0,    78,   174,   175,    90,
  776:       91,     0,     0,     0,     0,     0,     0,     0,     0,   148,
  777:      174,    20,    21,     0,     0,     0,     0,     0,     0,   155,
  778:        0,     0,   141,   140,    95,   142,   149,   150,   178,   107,
  779:       24,    27,     0,     0,     0,    10,     0,     0,     0,     0,
  780:        0,    86,    87,     0,     0,   112,   117,     0,     0,   106,
  781:       83,     0,   129,     0,   126,    27,     0,    34,     0,     0,
  782:        4,     6,     0,     0,     0,     0,     0,     0,     0,     0,
  783:        0,     0,    76,     0,     0,     0,     0,     0,     0,     0,
  784:        0,   151,   152,     0,     0,     0,     8,   159,     0,     0,
  785:        0,     0,   143,     0,    47,     0,   179,     0,     0,     0,
  786:      146,     0,   154,     0,     0,     0,    25,    28,   128,    27,
  787:      108,   110,   111,   105,     0,   116,     0,     0,   121,   122,
  788:        0,   124,     0,    11,     0,   119,     0,     0,    81,    84,
  789:      103,    58,    59,   174,   125,    40,   130,     0,     0,     0,
  790:       46,    75,    71,    70,    64,    65,    66,    67,    68,    69,
  791:       72,     0,     5,    63,     7,    62,     0,    94,     0,   137,
  792:      134,   135,   136,   138,   139,    60,     0,    41,    42,     9,
  793:       79,     0,    80,    97,   144,     0,   180,     0,     0,     0,
  794:      166,   147,   153,     0,     0,    26,   109,     0,   115,     0,
  795:       32,   175,     0,   123,     0,   113,    12,     0,    92,   120,
  796:        0,     0,     0,     0,     0,     0,    57,     0,     0,     0,
  797:        0,     0,   127,    38,    37,    74,     0,     0,     0,   133,
  798:      176,    73,    48,    98,     0,    43,     0,    94,     0,    94,
  799:        0,     0,     0,    27,     0,    22,   185,     0,    13,   118,
  800:       93,    85,     0,    54,    53,    55,     0,    52,    51,    82,
  801:      100,   101,   102,    49,     0,    61,     0,     0,   181,    99,
  802:        0,   157,   158,   161,   160,   165,     0,   173,     0,   104,
  803:       27,     0,     0,     0,     0,     0,     0,     0,   169,     0,
  804:      168,     0,     0,     0,    94,     0,     0,     0,    18,     0,
  805:       56,     0,    50,    39,     0,     0,     0,   163,   164,   172,
  806:        0,    27,     0,     0,   171,   170,    44,    16,     0,    19,
  807:        0,     0,     0,   114,    17,    14,     0,    15
  808: };
  809: 
  810:   /* YYPGOTO[NTERM-NUM].  */
  811: static const yytype_int16 yypgoto[] =
  812: {
  813:     -308,  -308,  -129,   -96,    61,  -308,  -308,  -308,  -308,  -308,
  814:     -308,  -308,  -308,    -4,   -73,   -90,   210,  -307,  -308,    64,
  815:      148,  -308,  -308,   -39,  -181,   527,  -170,  -308,  -308,  -308,
  816:     -308,  -308,   -32,   -85,  -308,  -203,  -163,   -30,   310,  -308,
  817:     -308,  -308,   -40,  -308,   270,   -16,  -308,    87,  -308
  818: };
  819: 
  820:   /* YYDEFGOTO[NTERM-NUM].  */
  821: static const yytype_int16 yydefgoto[] =
  822: {
  823:       -1,     4,   120,   121,   225,    95,   247,    96,   366,   361,
  824:      352,    63,    97,    98,   160,   158,     5,   239,     6,    39,
  825:       40,   310,    41,   143,   178,    99,    54,   179,   180,   100,
  826:        7,   249,    43,    44,    55,   275,   101,   161,   102,   174,
  827:      287,   187,   103,    45,    46,    47,   227,    48,   104
  828: };
  829: 
  830:   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
  831:      positive, shift that token.  If negative, reduce the rule whose
  832:      number is the opposite.  If YYTABLE_NINF, syntax error.  */
  833: static const yytype_int16 yytable[] =
  834: {
  835:       60,    38,    74,   240,   124,    51,    52,   250,   157,   124,
  836:      219,   134,   135,    69,    14,   188,    60,    60,    60,    76,
  837:       77,    60,   219,   258,   193,   130,    60,   149,   151,   350,
  838:       61,   136,   157,    62,   136,   106,   133,    60,   207,   285,
  839:      270,   286,    60,   319,   105,    11,    14,   259,   136,   254,
  840:      260,   362,    60,   162,   139,    23,   165,    25,   176,   168,
  841:      169,    11,   284,   171,   131,   132,   189,   261,   181,   236,
  842:      293,   184,   296,   297,   298,   136,   299,     8,    56,   136,
  843:      303,   224,   255,    60,   183,   230,   157,    23,    64,    25,
  844:      125,   126,   127,   128,   216,    49,   129,   127,   128,   308,
  845:       50,   129,    65,    38,    66,    67,   131,   132,    60,    60,
  846:       60,    60,    60,    60,   138,   140,    70,   136,   136,   338,
  847:      136,   136,   325,   231,   273,    71,   291,   315,    60,    60,
  848:      136,    60,    60,   123,   238,   133,   341,    60,    60,    60,
  849:      243,     2,   146,   277,   279,   342,     3,   357,    60,   141,
  850:      156,   156,   131,   132,    60,   159,   320,   153,   129,   365,
  851:      156,   166,    60,   173,   254,   167,   294,   254,   254,   254,
  852:      254,   163,   172,   240,   254,   265,    60,   191,    60,    60,
  853:       60,    60,    60,    60,   221,    60,   223,    60,   226,    60,
  854:       60,   235,    60,   321,   237,   240,   219,   255,   282,    60,
  855:      255,   255,   255,   255,    60,   200,    60,   255,   228,   229,
  856:      157,   136,   246,   254,   283,   233,   234,   290,   309,   181,
  857:      312,   181,   181,   181,   323,   181,    60,   314,    60,   181,
  858:      336,   334,    14,   324,   273,   183,   339,   183,   183,   183,
  859:      257,   183,    60,    60,    60,   183,   255,   157,   348,   354,
  860:      355,   107,   263,   241,    68,   190,    60,    14,     0,   304,
  861:       60,   358,    60,     0,   327,    60,     0,   267,   268,     0,
  862:        0,     0,     0,    23,    24,    25,     0,    60,   157,     0,
  863:       60,    60,    60,    60,     0,     0,    59,    60,   274,    60,
  864:       60,    60,   346,    14,   181,     0,     0,    37,    23,    24,
  865:       25,     0,    72,    73,    75,     0,   332,    78,   271,     0,
  866:      183,   140,   122,   344,     0,   345,     0,    60,     0,    60,
  867:      280,    60,    37,   122,     0,     0,    60,     0,    75,     0,
  868:      363,     0,     0,     0,    23,    24,    25,    60,   152,   295,
  869:        0,   316,   318,     0,     0,     0,     0,     0,     0,     0,
  870:        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
  871:        0,     0,     0,     0,     0,     0,     0,   329,   331,   122,
  872:      182,   322,     0,     0,     0,     0,     0,     0,     0,     0,
  873:        0,     0,     0,     0,     0,     0,   140,     0,     0,     0,
  874:        0,     0,     0,     0,   209,   210,   211,   212,   213,   214,
  875:        0,     0,     0,     0,     0,     0,     0,   175,     0,     0,
  876:        0,   340,     0,   186,   122,   122,     0,   122,   122,     0,
  877:        0,     0,     0,   232,   122,   122,     0,     0,     0,     0,
  878:        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
  879:      122,     0,     0,     0,   186,   186,     0,     0,   256,     0,
  880:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  881:        0,     0,   122,     0,   122,   122,   122,   122,   122,   122,
  882:        0,   122,     0,   122,     0,   122,   122,     0,   269,     0,
  883:        0,     0,     0,     0,   245,   122,   186,     0,     0,     0,
  884:      122,     0,   122,     0,     0,     0,     0,   262,     0,   186,
  885:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  886:        0,     0,   122,     0,   122,     0,     0,     0,     0,     0,
  887:        0,   182,     0,   182,   182,   182,     0,   182,   300,   301,
  888:      302,   182,    42,     0,     0,     0,     0,     0,     0,    53,
  889:        0,     0,   122,     0,     0,     0,   122,     0,   122,     0,
  890:        0,   122,     0,     0,     0,     0,     0,   289,     0,     0,
  891:        0,     0,     0,   256,     0,     0,   256,   256,   256,   256,
  892:        0,     0,     0,   256,     0,   122,   122,   122,     0,     0,
  893:        0,     0,     0,   144,   145,     0,     0,     0,     0,     0,
  894:        0,   147,   148,   144,   144,     0,   182,   154,   155,     0,
  895:        0,     0,     0,   122,     0,   122,     0,   122,     0,     0,
  896:        0,     0,   256,   164,     0,     0,     0,     0,     0,     0,
  897:      170,     0,     0,   122,     0,     0,     0,     0,     0,     0,
  898:        0,     0,     0,     0,    42,     0,   192,   186,     0,   194,
  899:      195,   196,   197,   198,   199,     0,   201,   203,   205,     0,
  900:      206,     0,     0,     0,     0,     0,   186,   215,     0,     0,
  901:      144,     0,   359,     0,     0,   220,     0,   222,     0,     0,
  902:        0,   364,     0,     0,     0,     0,   367,     0,     0,     0,
  903:        0,   -29,     1,     0,     0,     0,     0,     0,   -29,   -29,
  904:        2,     0,   -29,   -29,   242,     3,   -29,     0,     0,   244,
  905:        0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
  906:        0,     0,     0,     0,     0,    42,     0,     0,     0,     0,
  907:        0,     0,     0,     0,     0,     0,   -29,   -29,     0,   -29,
  908:        0,     0,     0,     0,     0,   -29,   -29,   -29,     0,   -29,
  909:        0,   -29,     0,     0,     0,     0,     0,     0,     0,     0,
  910:        0,     0,   272,     0,     0,   276,   278,     0,     0,   -29,
  911:        0,   281,     0,     0,   144,     0,     0,   -29,   -29,   -29,
  912:      -29,   -29,   -29,     0,     0,     0,   -29,     0,   -29,   -29,
  913:        0,     0,   -29,   -29,     0,     0,   -29,     0,     0,   -29,
  914:      -29,   -29,     0,   305,   306,   307,     0,     0,     0,     0,
  915:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  916:        0,     0,     0,    79,     0,     0,     0,     0,     0,    53,
  917:        0,    80,     0,    11,    12,     0,    81,    13,     0,     0,
  918:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  919:        0,     0,     0,   333,     0,   335,     0,     0,   337,     0,
  920:        0,     0,     0,     0,     0,     0,     0,    14,    15,    82,
  921:       16,    83,    84,    85,    86,    87,   353,    18,    19,    88,
  922:       20,     0,    21,    89,    90,     0,     0,     0,     0,     0,
  923:        0,    79,     0,     0,     0,     0,     0,     0,    91,    92,
  924:       22,    11,    12,     0,    81,    13,     0,   185,    23,    24,
  925:       25,    26,    27,    28,     0,     0,     0,    29,    93,    30,
  926:       31,    94,     0,    32,    33,     0,     0,    34,     0,     0,
  927:       35,    36,    37,     0,     0,    14,    15,    82,    16,    83,
  928:       84,    85,    86,    87,     0,    18,    19,    88,    20,     0,
  929:       21,    89,    90,     0,     0,     0,     0,     0,     0,    79,
  930:        0,     0,     0,     0,     0,     0,    91,    92,    22,    11,
  931:       12,     0,    81,    13,     0,   217,    23,    24,    25,    26,
  932:       27,    28,     0,     0,     0,    29,    93,    30,    31,    94,
  933:        0,    32,    33,     0,     0,    34,     0,     0,    35,    36,
  934:       37,     0,     0,    14,    15,    82,    16,    83,    84,    85,
  935:       86,    87,     0,    18,    19,    88,    20,     0,    21,    89,
  936:       90,     0,     0,     0,     0,     0,     0,    79,     0,     0,
  937:        0,     0,     0,     0,    91,    92,    22,    11,    12,     0,
  938:       81,    13,     0,   218,    23,    24,    25,    26,    27,    28,
  939:        0,     0,     0,    29,    93,    30,    31,    94,     0,    32,
  940:       33,     0,     0,    34,     0,     0,    35,    36,    37,     0,
  941:        0,    14,    15,    82,    16,    83,    84,    85,    86,    87,
  942:        0,    18,    19,    88,    20,     0,    21,    89,    90,     0,
  943:        0,     0,     0,     0,     0,    79,     0,     0,     0,     0,
  944:        0,     0,    91,    92,    22,    11,    12,     0,    81,    13,
  945:        0,   248,    23,    24,    25,    26,    27,    28,     0,     0,
  946:        0,    29,    93,    30,    31,    94,     0,    32,    33,     0,
  947:        0,    34,     0,     0,    35,    36,    37,     0,     0,    14,
  948:       15,    82,    16,    83,    84,    85,    86,    87,     0,    18,
  949:       19,    88,    20,     0,    21,    89,    90,     0,     0,     0,
  950:        0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
  951:       91,    92,    22,    11,    12,     0,    81,    13,     0,   264,
  952:       23,    24,    25,    26,    27,    28,     0,     0,     0,    29,
  953:       93,    30,    31,    94,     0,    32,    33,     0,     0,    34,
  954:        0,     0,    35,    36,    37,     0,     0,    14,    15,    82,
  955:       16,    83,    84,    85,    86,    87,     0,    18,    19,    88,
  956:       20,     0,    21,    89,    90,     0,     0,     0,     0,     0,
  957:        0,     0,     0,    79,     0,     0,     0,     0,    91,    92,
  958:       22,   288,     0,    11,    12,     0,    81,    13,    23,    24,
  959:       25,    26,    27,    28,     0,     0,     0,    29,    93,    30,
  960:       31,    94,     0,    32,    33,     0,     0,    34,     0,     0,
  961:       35,    36,    37,     0,     0,     0,     0,    14,    15,    82,
  962:       16,    83,    84,    85,    86,    87,     0,    18,    19,    88,
  963:       20,     0,    21,    89,    90,     0,     0,     0,     0,     0,
  964:        0,    79,     0,     0,     0,     0,     0,     0,    91,    92,
  965:       22,    11,    12,     0,    81,    13,     0,   343,    23,    24,
  966:       25,    26,    27,    28,     0,     0,     0,    29,    93,    30,
  967:       31,    94,     0,    32,    33,     0,     0,    34,     0,     0,
  968:       35,    36,    37,     0,     0,    14,    15,    82,    16,    83,
  969:       84,    85,    86,    87,     0,    18,    19,    88,    20,     0,
  970:       21,    89,    90,     0,     0,     0,     0,     0,     0,    79,
  971:        0,     0,     0,     0,     0,     0,    91,    92,    22,    11,
  972:       12,     0,    81,    13,     0,   356,    23,    24,    25,    26,
  973:       27,    28,     0,     0,     0,    29,    93,    30,    31,    94,
  974:        0,    32,    33,     0,     0,    34,     0,     0,    35,    36,
  975:       37,     0,     0,    14,    15,    82,    16,    83,    84,    85,
  976:       86,    87,     0,    18,    19,    88,    20,     0,    21,    89,
  977:       90,     0,     0,     0,     0,     0,     0,    79,     0,     0,
  978:        0,     0,     0,     0,    91,    92,    22,    11,    12,     0,
  979:       81,    13,     0,     0,    23,    24,    25,    26,    27,    28,
  980:        0,     0,     0,    29,    93,    30,    31,    94,     0,    32,
  981:       33,     0,     0,    34,     0,     0,    35,    36,    37,     0,
  982:        0,    14,    15,    82,    16,    83,    84,    85,    86,    87,
  983:        0,    18,    19,    88,    20,     0,    21,    89,    90,     0,
  984:        0,     0,     0,     0,    79,     0,     0,     0,     0,     0,
  985:        0,     0,    91,    92,    22,    12,     0,   -31,    13,     0,
  986:        0,     0,    23,    24,    25,    26,    27,    28,     0,     0,
  987:        0,    29,    93,    30,    31,    94,     0,    32,    33,     0,
  988:        0,    34,     0,     0,    35,    36,    37,     0,    14,    15,
  989:        0,    16,     0,    84,     0,     0,     0,     0,    18,    19,
  990:        0,    20,     0,    21,     0,     0,     0,     0,     0,     0,
  991:        0,    79,     0,     0,     0,     0,     0,     0,     0,    91,
  992:       92,    22,    12,     0,     0,    13,   -31,     0,     0,    23,
  993:       24,    25,    26,    27,    28,     0,     0,     0,    29,     0,
  994:       30,    31,     9,    10,    32,    33,    11,    12,    34,     0,
  995:       13,    35,    36,    37,     0,    14,    15,     0,    16,     0,
  996:       84,     0,     0,     0,     0,    18,    19,     0,    20,     0,
  997:       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  998:       14,    15,     0,    16,     0,     0,    91,    92,    22,    17,
  999:       18,    19,     0,    20,     0,    21,    23,    24,    25,    26,
 1000:       27,    28,     0,     0,     0,    29,     0,    30,    31,     0,
 1001:        0,    32,    33,    22,     0,    34,     0,     0,    35,    36,
 1002:       37,    23,    24,    25,    26,    27,    28,     0,     0,     0,
 1003:       29,     0,    30,    31,     0,     0,    32,    33,     0,     0,
 1004:       34,     0,     0,    35,    36,    37,   156,     0,     0,    57,
 1005:      108,   159,     0,     0,     0,     0,     0,     0,     0,     0,
 1006:      109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1007:        0,     0,   110,   111,     0,   112,   113,   114,   115,   116,
 1008:      117,   118,    14,    15,     0,    16,     0,     0,     0,     0,
 1009:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1010:        0,     0,     0,     0,   156,     0,     0,    12,     0,   159,
 1011:       13,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1012:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1013:      119,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1014:       14,    15,    58,    16,     0,    35,    36,    37,     0,     0,
 1015:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1016:        0,     0,   202,     0,     0,    12,     0,     0,    13,     0,
 1017:        0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
 1018:        0,    23,    24,    25,    26,    27,    28,     0,     0,     0,
 1019:       29,     0,    30,    31,     0,     0,    32,    33,    14,    15,
 1020:       34,    16,     0,    35,    36,    37,     0,     0,    18,    19,
 1021:        0,    20,     0,    21,     0,     0,     0,     0,     0,     0,
 1022:      204,     0,     0,    12,     0,     0,    13,     0,     0,     0,
 1023:        0,    22,     0,     0,     0,     0,     0,     0,     0,    23,
 1024:       24,    25,    26,    27,    28,     0,     0,     0,    29,     0,
 1025:       30,    31,     0,     0,    32,    33,    14,    15,    34,    16,
 1026:        0,    35,    36,    37,     0,     0,    18,    19,     0,    20,
 1027:        0,    21,     0,     0,     0,     0,     0,     0,   219,     0,
 1028:        0,    12,     0,     0,    13,     0,     0,     0,     0,    22,
 1029:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
 1030:       26,    27,    28,     0,     0,     0,    29,     0,    30,    31,
 1031:        0,     0,    32,    33,    14,    15,    34,    16,     0,    35,
 1032:       36,    37,     0,     0,    18,    19,     0,    20,     0,    21,
 1033:        0,     0,     0,     0,     0,     0,   202,     0,     0,   292,
 1034:        0,     0,    13,     0,     0,     0,     0,    22,     0,     0,
 1035:        0,     0,     0,     0,     0,    23,    24,    25,    26,    27,
 1036:       28,     0,     0,     0,    29,     0,    30,    31,     0,     0,
 1037:       32,    33,    14,    15,    34,    16,     0,    35,    36,    37,
 1038:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1039:        0,     0,     0,     0,   204,     0,     0,   292,     0,     0,
 1040:       13,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1041:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1042:        0,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1043:       14,    15,    34,    16,     0,    35,    36,    37,     0,     0,
 1044:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1045:        0,     0,   219,     0,     0,   292,     0,     0,    13,     0,
 1046:        0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
 1047:        0,    23,    24,    25,    26,    27,    28,     0,     0,     0,
 1048:       29,     0,    30,    31,     0,     0,    32,    33,    14,    15,
 1049:       34,    16,     0,    35,    36,    37,     0,     0,    18,    19,
 1050:        0,    20,     0,    21,     0,     0,     0,     0,     0,     0,
 1051:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1052:        0,    22,     0,     0,     0,     0,     0,     0,     0,    23,
 1053:       24,    25,    26,    27,    28,     0,     0,     0,    29,     0,
 1054:       30,    31,     0,     0,    32,    33,     0,     0,    34,     0,
 1055:        0,    35,    36,    37,   136,     0,    57,   108,     0,     0,
 1056:      137,     0,     0,     0,     0,     0,     0,   109,     0,     0,
 1057:        0,     0,     0,     0,     0,     0,     0,     0,     0,   110,
 1058:      111,     0,   112,   113,   114,   115,   116,   117,   118,    14,
 1059:       15,     0,    16,     0,     0,     0,     0,     0,     0,    18,
 1060:       19,     0,    20,     0,    21,     0,     0,     0,     0,     0,
 1061:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1062:        0,     0,    22,     0,     0,     0,     0,     0,     0,     0,
 1063:       23,    24,    25,    26,    27,    28,     0,   119,     0,    29,
 1064:        0,    30,    31,     0,     0,    32,    33,     0,     0,    58,
 1065:        0,     0,    35,    36,    37,   136,     0,    57,   108,     0,
 1066:        0,   317,     0,     0,     0,     0,     0,     0,   109,     0,
 1067:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1068:      110,   111,     0,   112,   113,   114,   115,   116,   117,   118,
 1069:       14,    15,     0,    16,     0,     0,     0,     0,     0,     0,
 1070:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1071:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1072:        0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
 1073:        0,    23,    24,    25,    26,    27,    28,     0,   119,     0,
 1074:       29,     0,    30,    31,     0,     0,    32,    33,     0,     0,
 1075:       58,     0,     0,    35,    36,    37,   136,     0,    57,   108,
 1076:        0,     0,   328,     0,     0,     0,     0,     0,     0,   109,
 1077:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1078:        0,   110,   111,     0,   112,   113,   114,   115,   116,   117,
 1079:      118,    14,    15,     0,    16,     0,     0,     0,     0,     0,
 1080:        0,    18,    19,     0,    20,     0,    21,     0,     0,     0,
 1081:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1082:        0,     0,     0,     0,    22,     0,     0,     0,     0,     0,
 1083:        0,     0,    23,    24,    25,    26,    27,    28,     0,   119,
 1084:        0,    29,     0,    30,    31,     0,     0,    32,    33,     0,
 1085:        0,    58,     0,     0,    35,    36,    37,   136,     0,    57,
 1086:      108,     0,     0,   330,     0,     0,     0,     0,     0,     0,
 1087:      109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1088:        0,     0,   110,   111,     0,   112,   113,   114,   115,   116,
 1089:      117,   118,    14,    15,     0,    16,     0,     0,     0,     0,
 1090:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1091:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1092:        0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1093:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1094:      119,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1095:        0,   136,    58,    57,   108,    35,    36,    37,     0,     0,
 1096:        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
 1097:        0,     0,     0,     0,     0,     0,   110,   111,     0,   112,
 1098:      113,   114,   115,   116,   117,   118,    14,    15,     0,    16,
 1099:        0,     0,     0,     0,     0,     0,    18,    19,     0,    20,
 1100:        0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
 1101:        0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
 1102:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
 1103:       26,    27,    28,     0,   119,     0,    29,     0,    30,    31,
 1104:        0,     0,    32,    33,    57,   108,    58,     0,   137,    35,
 1105:       36,    37,     0,     0,     0,   109,     0,     0,     0,     0,
 1106:        0,     0,     0,     0,     0,     0,     0,   110,   111,     0,
 1107:      112,   113,   114,   115,   116,   117,   118,    14,    15,     0,
 1108:       16,     0,     0,     0,     0,     0,     0,    18,    19,     0,
 1109:       20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
 1110:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1111:       22,     0,     0,     0,     0,     0,     0,     0,    23,    24,
 1112:       25,    26,    27,    28,     0,   119,     0,    29,     0,    30,
 1113:       31,     0,     0,    32,    33,    57,   108,    58,     0,     0,
 1114:       35,    36,    37,     0,     0,     0,   109,     0,     0,     0,
 1115:        0,     0,     0,     0,     0,     0,     0,     0,   110,   111,
 1116:        0,   112,   113,   114,   115,   116,   117,   118,    14,    15,
 1117:        0,    16,     0,     0,     0,     0,     0,     0,    18,    19,
 1118:        0,    20,     0,    21,     0,     0,     0,     0,     0,     0,
 1119:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1120:        0,    22,     0,     0,     0,     0,     0,     0,     0,    23,
 1121:       24,    25,    26,    27,    28,     0,   119,   266,    29,     0,
 1122:       30,    31,     0,     0,    32,    33,    57,   108,    58,     0,
 1123:      273,    35,    36,    37,     0,     0,     0,   109,     0,     0,
 1124:        0,     0,     0,     0,     0,     0,     0,     0,     0,   110,
 1125:      111,     0,   112,   113,   114,   115,   116,   117,   118,    14,
 1126:       15,     0,    16,     0,     0,     0,     0,     0,     0,    18,
 1127:       19,     0,    20,     0,    21,     0,     0,     0,     0,     0,
 1128:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1129:        0,     0,    22,     0,     0,     0,     0,     0,     0,     0,
 1130:       23,    24,    25,    26,    27,    28,     0,   119,     0,    29,
 1131:        0,    30,    31,     0,     0,    32,    33,    57,   108,    58,
 1132:        0,   311,    35,    36,    37,     0,     0,     0,   109,     0,
 1133:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1134:      110,   111,     0,   112,   113,   114,   115,   116,   117,   118,
 1135:       14,    15,     0,    16,     0,     0,     0,     0,     0,     0,
 1136:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1137:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1138:        0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
 1139:        0,    23,    24,    25,    26,    27,    28,     0,   119,     0,
 1140:       29,     0,    30,    31,     0,     0,    32,    33,    57,   108,
 1141:       58,     0,   313,    35,    36,    37,     0,     0,     0,   109,
 1142:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1143:        0,   110,   111,     0,   112,   113,   114,   115,   116,   117,
 1144:      118,    14,    15,     0,    16,     0,     0,     0,     0,     0,
 1145:        0,    18,    19,     0,    20,     0,    21,     0,     0,     0,
 1146:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1147:        0,     0,     0,     0,    22,     0,     0,     0,     0,     0,
 1148:        0,     0,    23,    24,    25,    26,    27,    28,     0,   119,
 1149:        0,    29,     0,    30,    31,     0,     0,    32,    33,    57,
 1150:      108,    58,     0,   347,    35,    36,    37,     0,     0,     0,
 1151:      109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1152:        0,     0,   110,   111,     0,   112,   113,   114,   115,   116,
 1153:      117,   118,    14,    15,     0,    16,     0,     0,     0,     0,
 1154:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1155:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1156:        0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1157:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1158:      119,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1159:       57,   108,    58,     0,   349,    35,    36,    37,     0,     0,
 1160:        0,   109,     0,     0,     0,     0,     0,     0,     0,     0,
 1161:        0,     0,     0,   110,   111,     0,   112,   113,   114,   115,
 1162:      116,   117,   118,    14,    15,     0,    16,     0,     0,     0,
 1163:        0,     0,     0,    18,    19,     0,    20,     0,    21,     0,
 1164:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1165:        0,     0,     0,     0,     0,     0,    22,     0,     0,     0,
 1166:        0,     0,     0,     0,    23,    24,    25,    26,    27,    28,
 1167:        0,   119,     0,    29,     0,    30,    31,     0,     0,    32,
 1168:       33,     0,     0,    58,     0,     0,    35,    36,    37,    57,
 1169:      108,   351,     0,     0,     0,     0,     0,     0,     0,     0,
 1170:      109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1171:        0,     0,   110,   111,     0,   112,   113,   114,   115,   116,
 1172:      117,   118,    14,    15,     0,    16,     0,     0,     0,     0,
 1173:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1174:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1175:        0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1176:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1177:      119,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1178:       57,   108,    58,     0,   360,    35,    36,    37,     0,     0,
 1179:        0,   109,     0,     0,     0,     0,     0,     0,     0,     0,
 1180:        0,     0,     0,   110,   111,     0,   112,   113,   114,   115,
 1181:      116,   117,   118,    14,    15,     0,    16,     0,     0,     0,
 1182:        0,     0,     0,    18,    19,     0,    20,     0,    21,     0,
 1183:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1184:        0,     0,     0,     0,     0,     0,    22,     0,     0,     0,
 1185:        0,     0,     0,     0,    23,    24,    25,    26,    27,    28,
 1186:        0,   119,     0,    29,     0,    30,    31,     0,     0,    32,
 1187:       33,    57,   108,    58,     0,     0,    35,    36,    37,     0,
 1188:        0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
 1189:        0,     0,     0,     0,   110,   111,     0,   112,   113,   114,
 1190:      115,   116,   117,   118,    14,    15,     0,    16,     0,     0,
 1191:        0,     0,     0,     0,    18,    19,     0,    20,     0,    21,
 1192:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1193:        0,     0,     0,     0,     0,     0,     0,    22,     0,     0,
 1194:        0,     0,     0,     0,     0,    23,    24,    25,    26,    27,
 1195:       28,     0,   119,     0,    29,     0,    30,    31,     0,     0,
 1196:       32,    33,    57,   108,    58,     0,     0,    35,    36,    37,
 1197:        0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
 1198:        0,     0,     0,     0,     0,   110,     0,     0,   112,   113,
 1199:      114,   115,   116,   117,   118,    14,    15,     0,    16,     0,
 1200:        0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
 1201:       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1202:        0,     0,     0,     0,     0,     0,     0,     0,    22,     0,
 1203:        0,     0,     0,     0,     0,     0,    23,    24,    25,    26,
 1204:       27,    28,    57,   108,     0,    29,     0,    30,    31,     0,
 1205:        0,    32,    33,   109,     0,    58,     0,     0,    35,    36,
 1206:       37,     0,     0,     0,     0,     0,     0,     0,   112,   113,
 1207:      114,   115,   116,   117,   118,    14,    15,     0,    16,     0,
 1208:        0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
 1209:       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1210:        0,     0,     0,     0,     0,     0,     0,     0,    22,     0,
 1211:        0,     0,     0,     0,     0,     0,    23,    24,    25,    26,
 1212:       27,    28,    57,   -32,     0,    29,     0,    30,    31,     0,
 1213:        0,    32,    33,   -32,     0,    58,     0,     0,    35,    36,
 1214:       37,     0,     0,     0,     0,     0,     0,     0,   -32,   -32,
 1215:      -32,   -32,   -32,   -32,   -32,    14,    15,     0,    16,     0,
 1216:        0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
 1217:       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1218:        0,     0,     0,     0,     0,     0,     0,     0,    22,     0,
 1219:        0,     0,     0,    57,     0,     0,    23,    24,    25,    26,
 1220:       27,    28,     0,     0,   251,     0,     0,    30,    31,     0,
 1221:        0,    32,    33,     0,     0,    58,   110,   111,    35,    36,
 1222:       37,     0,     0,     0,     0,   252,    14,    15,     0,    16,
 1223:        0,     0,     0,     0,     0,     0,    18,    19,     0,    20,
 1224:        0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
 1225:        0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
 1226:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
 1227:       26,    27,    28,    57,   253,   326,    29,     0,    30,    31,
 1228:        0,     0,    32,    33,   251,     0,    58,     0,     0,    35,
 1229:       36,    37,     0,     0,     0,     0,   110,   111,     0,     0,
 1230:        0,     0,     0,     0,     0,   252,    14,    15,     0,    16,
 1231:        0,     0,     0,     0,     0,     0,    18,    19,     0,    20,
 1232:        0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
 1233:        0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
 1234:        0,     0,    57,     0,     0,     0,     0,    23,    24,    25,
 1235:       26,    27,    28,   251,   253,     0,    29,     0,    30,    31,
 1236:        0,     0,    32,    33,     0,   110,    58,     0,     0,    35,
 1237:       36,    37,     0,     0,   252,    14,    15,     0,    16,     0,
 1238:        0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
 1239:       21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1240:       12,     0,     0,    13,   142,     0,     0,     0,    22,     0,
 1241:        0,     0,     0,     0,     0,     0,    23,    24,    25,    26,
 1242:       27,    28,     0,     0,     0,    29,     0,    30,    31,     0,
 1243:        0,    32,    33,    14,    15,    58,    16,     0,    35,    36,
 1244:       37,     0,     0,    18,    19,     0,    20,     0,    21,     0,
 1245:        0,     0,     0,     0,     0,     0,     0,     0,    12,     0,
 1246:        0,    13,   150,     0,     0,     0,    22,     0,     0,     0,
 1247:        0,     0,     0,     0,    23,    24,    25,    26,    27,    28,
 1248:        0,     0,     0,    29,     0,    30,    31,     0,     0,    32,
 1249:       33,    14,    15,    34,    16,     0,    35,    36,    37,     0,
 1250:        0,    18,    19,     0,    20,     0,    21,     0,     0,     0,
 1251:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1252:        0,     0,     0,     0,    22,     0,     0,    57,     0,     0,
 1253:        0,     0,    23,    24,    25,    26,    27,    28,   251,     0,
 1254:        0,    29,     0,    30,    31,     0,     0,    32,    33,     0,
 1255:        0,    34,     0,     0,    35,    36,    37,     0,     0,   252,
 1256:       14,    15,     0,    16,     0,     0,     0,     0,     0,     0,
 1257:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1258:        0,     0,     0,     0,     0,    12,     0,     0,    13,     0,
 1259:        0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
 1260:        0,    23,    24,    25,    26,    27,    28,     0,     0,     0,
 1261:       29,     0,    30,    31,     0,     0,    32,    33,    14,    15,
 1262:       58,    16,     0,    35,    36,    37,     0,     0,    18,    19,
 1263:        0,    20,     0,    21,     0,     0,     0,     0,     0,     0,
 1264:        0,     0,     0,    57,     0,     0,    13,     0,     0,     0,
 1265:        0,    22,     0,     0,     0,     0,     0,     0,     0,    23,
 1266:       24,    25,    26,    27,    28,     0,     0,     0,    29,     0,
 1267:       30,    31,     0,     0,    32,    33,    14,    15,    34,    16,
 1268:        0,    35,    36,    37,     0,     0,    18,    19,     0,    20,
 1269:        0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
 1270:        0,   177,     0,     0,    13,     0,     0,     0,     0,    22,
 1271:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
 1272:       26,    27,    28,     0,     0,     0,    29,     0,    30,    31,
 1273:        0,     0,    32,    33,    14,    15,    34,    16,     0,    35,
 1274:       36,    37,     0,     0,    18,    19,     0,    20,     0,    21,
 1275:        0,     0,     0,     0,     0,     0,     0,     0,     0,    57,
 1276:        0,     0,     0,     0,     0,     0,     0,    22,     0,     0,
 1277:        0,     0,     0,     0,     0,    23,    24,    25,    26,    27,
 1278:       28,     0,     0,     0,    29,     0,    30,    31,     0,     0,
 1279:       32,    33,    14,    15,    34,    16,     0,    35,    36,    37,
 1280:        0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 1281:        0,     0,     0,     0,     0,     0,   208,   292,     0,     0,
 1282:       13,     0,     0,     0,     0,    22,     0,     0,     0,     0,
 1283:        0,     0,     0,    23,    24,    25,    26,    27,    28,     0,
 1284:        0,     0,    29,     0,    30,    31,     0,     0,    32,    33,
 1285:       14,    15,    58,    16,     0,    35,    36,    37,     0,     0,
 1286:       18,    19,     0,    20,     0,    21,     0,     0,     0,     0,
 1287:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1288:        0,     0,     0,    22,     0,     0,    57,     0,     0,     0,
 1289:        0,    23,    24,    25,    26,    27,    28,   -32,     0,     0,
 1290:       29,     0,    30,    31,     0,     0,    32,    33,     0,     0,
 1291:       34,    57,     0,    35,    36,    37,     0,     0,   -32,    14,
 1292:       15,     0,    16,     0,     0,     0,     0,     0,     0,    18,
 1293:       19,     0,    20,     0,    21,     0,     0,     0,     0,     0,
 1294:        0,     0,     0,     0,    14,    15,     0,    16,     0,     0,
 1295:        0,     0,    22,     0,    18,    19,     0,    20,     0,    21,
 1296:       23,    24,    25,    26,    27,    28,     0,     0,     0,     0,
 1297:        0,    30,    31,     0,     0,    32,    33,    22,     0,    58,
 1298:        0,     0,    35,    36,    37,    23,    24,    25,    26,    27,
 1299:       28,     0,     0,     0,    29,     0,    30,    31,     0,     0,
 1300:       32,    33,     0,     0,    58,     0,     0,    35,    36,    37
 1301: };
 1302: 
 1303: static const yytype_int16 yycheck[] =
 1304: {
 1305:       16,     5,    34,   166,    15,     9,    10,   177,    81,    15,
 1306:        9,    51,    52,    29,    45,   105,    32,    33,    34,    35,
 1307:       36,    37,     9,    13,   109,    69,    42,    66,    67,   336,
 1308:       86,    10,   105,    89,    10,    39,    18,    53,   123,   242,
 1309:       19,   244,    58,    19,    10,    11,    45,    37,    10,   178,
 1310:       40,   358,    68,    83,    16,    86,    86,    88,    98,    89,
 1311:       90,    11,    44,    93,   108,   109,   106,    69,   100,   159,
 1312:      251,   101,   253,   254,   255,    10,   257,     0,    12,    10,
 1313:      261,    16,   178,    99,   100,    16,   159,    86,    12,    88,
 1314:      101,   102,   103,   104,   133,     9,   107,   103,   104,    86,
 1315:       14,   107,    12,   107,    12,    12,   108,   109,   124,   125,
 1316:      126,   127,   128,   129,    53,    54,    12,    10,    10,   322,
 1317:       10,    10,   292,    16,    16,    12,    16,    16,   144,   145,
 1318:       10,   147,   148,    12,   164,    18,    16,   153,   154,   155,
 1319:      170,     9,    12,   228,   229,   326,    14,   350,   164,    92,
 1320:        9,     9,   108,   109,   170,    14,    14,    42,   107,   362,
 1321:        9,    12,   178,     9,   293,    12,   251,   296,   297,   298,
 1322:      299,    84,    12,   336,   303,   191,   192,    95,   194,   195,
 1323:      196,   197,   198,   199,    44,   201,    15,   203,    86,   205,
 1324:      206,     9,   208,   283,    18,   358,     9,   293,   237,   215,
 1325:      296,   297,   298,   299,   220,   118,   222,   303,   147,   148,
 1326:      283,    10,    79,   342,    14,   154,   155,     9,     9,   251,
 1327:       16,   253,   254,   255,    99,   257,   242,    16,   244,   261,
 1328:      320,   316,    45,    44,    16,   251,    12,   253,   254,   255,
 1329:      179,   257,   258,   259,   260,   261,   342,   320,    16,    16,
 1330:       16,    41,   188,   166,    42,   107,   272,    45,    -1,   263,
 1331:      276,   351,   278,    -1,   304,   281,    -1,   206,   207,    -1,
 1332:       -1,    -1,    -1,    86,    87,    88,    -1,   293,   351,    -1,
 1333:      296,   297,   298,   299,    -1,    -1,    16,   303,   227,   305,
 1334:      306,   307,   332,    45,   326,    -1,    -1,   110,    86,    87,
 1335:       88,    -1,    32,    33,    34,    -1,   310,    37,   221,    -1,
 1336:      326,   250,    42,   329,    -1,   331,    -1,   333,    -1,   335,
 1337:      233,   337,   110,    53,    -1,    -1,   342,    -1,    58,    -1,
 1338:      360,    -1,    -1,    -1,    86,    87,    88,   353,    68,   252,
 1339:       -1,   280,   281,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1340:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,
 1341:       -1,    -1,    -1,    -1,    -1,    -1,    -1,   306,   307,    99,
 1342:      100,   284,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1343:       -1,    -1,    -1,    -1,    -1,    -1,   325,    -1,    -1,    -1,
 1344:       -1,    -1,    -1,    -1,   124,   125,   126,   127,   128,   129,
 1345:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    -1,
 1346:       -1,   324,    -1,   103,   144,   145,    -1,   147,   148,    -1,
 1347:       -1,    -1,    -1,   153,   154,   155,    -1,    -1,    -1,    -1,
 1348:       -1,    -1,    -1,    -1,   164,    -1,    -1,    -1,    -1,    -1,
 1349:      170,    -1,    -1,    -1,   134,   135,    -1,    -1,   178,    -1,
 1350:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1351:       -1,    -1,   192,    -1,   194,   195,   196,   197,   198,   199,
 1352:       -1,   201,    -1,   203,    -1,   205,   206,    -1,   208,    -1,
 1353:       -1,    -1,    -1,    -1,   174,   215,   176,    -1,    -1,    -1,
 1354:      220,    -1,   222,    -1,    -1,    -1,    -1,   187,    -1,   189,
 1355:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1356:       -1,    -1,   242,    -1,   244,    -1,    -1,    -1,    -1,    -1,
 1357:       -1,   251,    -1,   253,   254,   255,    -1,   257,   258,   259,
 1358:      260,   261,     5,    -1,    -1,    -1,    -1,    -1,    -1,    12,
 1359:       -1,    -1,   272,    -1,    -1,    -1,   276,    -1,   278,    -1,
 1360:       -1,   281,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
 1361:       -1,    -1,    -1,   293,    -1,    -1,   296,   297,   298,   299,
 1362:       -1,    -1,    -1,   303,    -1,   305,   306,   307,    -1,    -1,
 1363:       -1,    -1,    -1,    56,    57,    -1,    -1,    -1,    -1,    -1,
 1364:       -1,    64,    65,    66,    67,    -1,   326,    70,    71,    -1,
 1365:       -1,    -1,    -1,   333,    -1,   335,    -1,   337,    -1,    -1,
 1366:       -1,    -1,   342,    86,    -1,    -1,    -1,    -1,    -1,    -1,
 1367:       93,    -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,
 1368:       -1,    -1,    -1,    -1,   107,    -1,   109,   327,    -1,   112,
 1369:      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
 1370:      123,    -1,    -1,    -1,    -1,    -1,   346,   130,    -1,    -1,
 1371:      133,    -1,   352,    -1,    -1,   138,    -1,   140,    -1,    -1,
 1372:       -1,   361,    -1,    -1,    -1,    -1,   366,    -1,    -1,    -1,
 1373:       -1,     0,     1,    -1,    -1,    -1,    -1,    -1,     7,     8,
 1374:        9,    -1,    11,    12,   167,    14,    15,    -1,    -1,   172,
 1375:       -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,
 1376:       -1,    -1,    -1,    -1,    -1,   188,    -1,    -1,    -1,    -1,
 1377:       -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,    48,
 1378:       -1,    -1,    -1,    -1,    -1,    54,    55,    56,    -1,    58,
 1379:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1380:       -1,    -1,   225,    -1,    -1,   228,   229,    -1,    -1,    78,
 1381:       -1,   234,    -1,    -1,   237,    -1,    -1,    86,    87,    88,
 1382:       89,    90,    91,    -1,    -1,    -1,    95,    -1,    97,    98,
 1383:       -1,    -1,   101,   102,    -1,    -1,   105,    -1,    -1,   108,
 1384:      109,   110,    -1,   266,   267,   268,    -1,    -1,    -1,    -1,
 1385:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1386:       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,   292,
 1387:       -1,     9,    -1,    11,    12,    -1,    14,    15,    -1,    -1,
 1388:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1389:       -1,    -1,    -1,   316,    -1,   318,    -1,    -1,   321,    -1,
 1390:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
 1391:       48,    49,    50,    51,    52,    53,   339,    55,    56,    57,
 1392:       58,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
 1393:       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
 1394:       78,    11,    12,    -1,    14,    15,    -1,    17,    86,    87,
 1395:       88,    89,    90,    91,    -1,    -1,    -1,    95,    96,    97,
 1396:       98,    99,    -1,   101,   102,    -1,    -1,   105,    -1,    -1,
 1397:      108,   109,   110,    -1,    -1,    45,    46,    47,    48,    49,
 1398:       50,    51,    52,    53,    -1,    55,    56,    57,    58,    -1,
 1399:       60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,     1,
 1400:       -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    11,
 1401:       12,    -1,    14,    15,    -1,    17,    86,    87,    88,    89,
 1402:       90,    91,    -1,    -1,    -1,    95,    96,    97,    98,    99,
 1403:       -1,   101,   102,    -1,    -1,   105,    -1,    -1,   108,   109,
 1404:      110,    -1,    -1,    45,    46,    47,    48,    49,    50,    51,
 1405:       52,    53,    -1,    55,    56,    57,    58,    -1,    60,    61,
 1406:       62,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
 1407:       -1,    -1,    -1,    -1,    76,    77,    78,    11,    12,    -1,
 1408:       14,    15,    -1,    17,    86,    87,    88,    89,    90,    91,
 1409:       -1,    -1,    -1,    95,    96,    97,    98,    99,    -1,   101,
 1410:      102,    -1,    -1,   105,    -1,    -1,   108,   109,   110,    -1,
 1411:       -1,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 1412:       -1,    55,    56,    57,    58,    -1,    60,    61,    62,    -1,
 1413:       -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
 1414:       -1,    -1,    76,    77,    78,    11,    12,    -1,    14,    15,
 1415:       -1,    17,    86,    87,    88,    89,    90,    91,    -1,    -1,
 1416:       -1,    95,    96,    97,    98,    99,    -1,   101,   102,    -1,
 1417:       -1,   105,    -1,    -1,   108,   109,   110,    -1,    -1,    45,
 1418:       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
 1419:       56,    57,    58,    -1,    60,    61,    62,    -1,    -1,    -1,
 1420:       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,
 1421:       76,    77,    78,    11,    12,    -1,    14,    15,    -1,    17,
 1422:       86,    87,    88,    89,    90,    91,    -1,    -1,    -1,    95,
 1423:       96,    97,    98,    99,    -1,   101,   102,    -1,    -1,   105,
 1424:       -1,    -1,   108,   109,   110,    -1,    -1,    45,    46,    47,
 1425:       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
 1426:       58,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
 1427:       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    76,    77,
 1428:       78,     9,    -1,    11,    12,    -1,    14,    15,    86,    87,
 1429:       88,    89,    90,    91,    -1,    -1,    -1,    95,    96,    97,
 1430:       98,    99,    -1,   101,   102,    -1,    -1,   105,    -1,    -1,
 1431:      108,   109,   110,    -1,    -1,    -1,    -1,    45,    46,    47,
 1432:       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
 1433:       58,    -1,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
 1434:       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
 1435:       78,    11,    12,    -1,    14,    15,    -1,    17,    86,    87,
 1436:       88,    89,    90,    91,    -1,    -1,    -1,    95,    96,    97,
 1437:       98,    99,    -1,   101,   102,    -1,    -1,   105,    -1,    -1,
 1438:      108,   109,   110,    -1,    -1,    45,    46,    47,    48,    49,
 1439:       50,    51,    52,    53,    -1,    55,    56,    57,    58,    -1,
 1440:       60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,     1,
 1441:       -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    11,
 1442:       12,    -1,    14,    15,    -1,    17,    86,    87,    88,    89,
 1443:       90,    91,    -1,    -1,    -1,    95,    96,    97,    98,    99,
 1444:       -1,   101,   102,    -1,    -1,   105,    -1,    -1,   108,   109,
 1445:      110,    -1,    -1,    45,    46,    47,    48,    49,    50,    51,
 1446:       52,    53,    -1,    55,    56,    57,    58,    -1,    60,    61,
 1447:       62,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
 1448:       -1,    -1,    -1,    -1,    76,    77,    78,    11,    12,    -1,
 1449:       14,    15,    -1,    -1,    86,    87,    88,    89,    90,    91,
 1450:       -1,    -1,    -1,    95,    96,    97,    98,    99,    -1,   101,
 1451:      102,    -1,    -1,   105,    -1,    -1,   108,   109,   110,    -1,
 1452:       -1,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 1453:       -1,    55,    56,    57,    58,    -1,    60,    61,    62,    -1,
 1454:       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,
 1455:       -1,    -1,    76,    77,    78,    12,    -1,    14,    15,    -1,
 1456:       -1,    -1,    86,    87,    88,    89,    90,    91,    -1,    -1,
 1457:       -1,    95,    96,    97,    98,    99,    -1,   101,   102,    -1,
 1458:       -1,   105,    -1,    -1,   108,   109,   110,    -1,    45,    46,
 1459:       -1,    48,    -1,    50,    -1,    -1,    -1,    -1,    55,    56,
 1460:       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
 1461:       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
 1462:       77,    78,    12,    -1,    -1,    15,    16,    -1,    -1,    86,
 1463:       87,    88,    89,    90,    91,    -1,    -1,    -1,    95,    -1,
 1464:       97,    98,     7,     8,   101,   102,    11,    12,   105,    -1,
 1465:       15,   108,   109,   110,    -1,    45,    46,    -1,    48,    -1,
 1466:       50,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,
 1467:       60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1468:       45,    46,    -1,    48,    -1,    -1,    76,    77,    78,    54,
 1469:       55,    56,    -1,    58,    -1,    60,    86,    87,    88,    89,
 1470:       90,    91,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,
 1471:       -1,   101,   102,    78,    -1,   105,    -1,    -1,   108,   109,
 1472:      110,    86,    87,    88,    89,    90,    91,    -1,    -1,    -1,
 1473:       95,    -1,    97,    98,    -1,    -1,   101,   102,    -1,    -1,
 1474:      105,    -1,    -1,   108,   109,   110,     9,    -1,    -1,    12,
 1475:       13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1476:       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1477:       -1,    -1,    35,    36,    -1,    38,    39,    40,    41,    42,
 1478:       43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,
 1479:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1480:       -1,    -1,    -1,    -1,     9,    -1,    -1,    12,    -1,    14,
 1481:       15,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1482:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1483:       93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1484:       45,    46,   105,    48,    -1,   108,   109,   110,    -1,    -1,
 1485:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1486:       -1,    -1,     9,    -1,    -1,    12,    -1,    -1,    15,    -1,
 1487:       -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1488:       -1,    86,    87,    88,    89,    90,    91,    -1,    -1,    -1,
 1489:       95,    -1,    97,    98,    -1,    -1,   101,   102,    45,    46,
 1490:      105,    48,    -1,   108,   109,   110,    -1,    -1,    55,    56,
 1491:       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
 1492:        9,    -1,    -1,    12,    -1,    -1,    15,    -1,    -1,    -1,
 1493:       -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 1494:       87,    88,    89,    90,    91,    -1,    -1,    -1,    95,    -1,
 1495:       97,    98,    -1,    -1,   101,   102,    45,    46,   105,    48,
 1496:       -1,   108,   109,   110,    -1,    -1,    55,    56,    -1,    58,
 1497:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,     9,    -1,
 1498:       -1,    12,    -1,    -1,    15,    -1,    -1,    -1,    -1,    78,
 1499:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 1500:       89,    90,    91,    -1,    -1,    -1,    95,    -1,    97,    98,
 1501:       -1,    -1,   101,   102,    45,    46,   105,    48,    -1,   108,
 1502:      109,   110,    -1,    -1,    55,    56,    -1,    58,    -1,    60,
 1503:       -1,    -1,    -1,    -1,    -1,    -1,     9,    -1,    -1,    12,
 1504:       -1,    -1,    15,    -1,    -1,    -1,    -1,    78,    -1,    -1,
 1505:       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 1506:       91,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,    -1,
 1507:      101,   102,    45,    46,   105,    48,    -1,   108,   109,   110,
 1508:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1509:       -1,    -1,    -1,    -1,     9,    -1,    -1,    12,    -1,    -1,
 1510:       15,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1511:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1512:       -1,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1513:       45,    46,   105,    48,    -1,   108,   109,   110,    -1,    -1,
 1514:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1515:       -1,    -1,     9,    -1,    -1,    12,    -1,    -1,    15,    -1,
 1516:       -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1517:       -1,    86,    87,    88,    89,    90,    91,    -1,    -1,    -1,
 1518:       95,    -1,    97,    98,    -1,    -1,   101,   102,    45,    46,
 1519:      105,    48,    -1,   108,   109,   110,    -1,    -1,    55,    56,
 1520:       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
 1521:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1522:       -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 1523:       87,    88,    89,    90,    91,    -1,    -1,    -1,    95,    -1,
 1524:       97,    98,    -1,    -1,   101,   102,    -1,    -1,   105,    -1,
 1525:       -1,   108,   109,   110,    10,    -1,    12,    13,    -1,    -1,
 1526:       16,    -1,    -1,    -1,    -1,    -1,    -1,    23,    -1,    -1,
 1527:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
 1528:       36,    -1,    38,    39,    40,    41,    42,    43,    44,    45,
 1529:       46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    55,
 1530:       56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,
 1531:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1532:       -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1533:       86,    87,    88,    89,    90,    91,    -1,    93,    -1,    95,
 1534:       -1,    97,    98,    -1,    -1,   101,   102,    -1,    -1,   105,
 1535:       -1,    -1,   108,   109,   110,    10,    -1,    12,    13,    -1,
 1536:       -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    23,    -1,
 1537:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1538:       35,    36,    -1,    38,    39,    40,    41,    42,    43,    44,
 1539:       45,    46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,
 1540:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1541:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1542:       -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1543:       -1,    86,    87,    88,    89,    90,    91,    -1,    93,    -1,
 1544:       95,    -1,    97,    98,    -1,    -1,   101,   102,    -1,    -1,
 1545:      105,    -1,    -1,   108,   109,   110,    10,    -1,    12,    13,
 1546:       -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    23,
 1547:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1548:       -1,    35,    36,    -1,    38,    39,    40,    41,    42,    43,
 1549:       44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,    -1,
 1550:       -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,
 1551:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1552:       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
 1553:       -1,    -1,    86,    87,    88,    89,    90,    91,    -1,    93,
 1554:       -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,    -1,
 1555:       -1,   105,    -1,    -1,   108,   109,   110,    10,    -1,    12,
 1556:       13,    -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,
 1557:       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1558:       -1,    -1,    35,    36,    -1,    38,    39,    40,    41,    42,
 1559:       43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,
 1560:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1561:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1562:       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1563:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1564:       93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1565:       -1,    10,   105,    12,    13,   108,   109,   110,    -1,    -1,
 1566:       -1,    -1,    -1,    -1,    23,    -1,    -1,    -1,    -1,    -1,
 1567:       -1,    -1,    -1,    -1,    -1,    -1,    35,    36,    -1,    38,
 1568:       39,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
 1569:       -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,
 1570:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1571:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
 1572:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 1573:       89,    90,    91,    -1,    93,    -1,    95,    -1,    97,    98,
 1574:       -1,    -1,   101,   102,    12,    13,   105,    -1,    16,   108,
 1575:      109,   110,    -1,    -1,    -1,    23,    -1,    -1,    -1,    -1,
 1576:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,    -1,
 1577:       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
 1578:       48,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,
 1579:       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1580:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1581:       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
 1582:       88,    89,    90,    91,    -1,    93,    -1,    95,    -1,    97,
 1583:       98,    -1,    -1,   101,   102,    12,    13,   105,    -1,    -1,
 1584:      108,   109,   110,    -1,    -1,    -1,    23,    -1,    -1,    -1,
 1585:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,
 1586:       -1,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 1587:       -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    55,    56,
 1588:       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
 1589:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1590:       -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 1591:       87,    88,    89,    90,    91,    -1,    93,    94,    95,    -1,
 1592:       97,    98,    -1,    -1,   101,   102,    12,    13,   105,    -1,
 1593:       16,   108,   109,   110,    -1,    -1,    -1,    23,    -1,    -1,
 1594:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
 1595:       36,    -1,    38,    39,    40,    41,    42,    43,    44,    45,
 1596:       46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    55,
 1597:       56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,
 1598:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1599:       -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1600:       86,    87,    88,    89,    90,    91,    -1,    93,    -1,    95,
 1601:       -1,    97,    98,    -1,    -1,   101,   102,    12,    13,   105,
 1602:       -1,    16,   108,   109,   110,    -1,    -1,    -1,    23,    -1,
 1603:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1604:       35,    36,    -1,    38,    39,    40,    41,    42,    43,    44,
 1605:       45,    46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,
 1606:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1607:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1608:       -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1609:       -1,    86,    87,    88,    89,    90,    91,    -1,    93,    -1,
 1610:       95,    -1,    97,    98,    -1,    -1,   101,   102,    12,    13,
 1611:      105,    -1,    16,   108,   109,   110,    -1,    -1,    -1,    23,
 1612:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1613:       -1,    35,    36,    -1,    38,    39,    40,    41,    42,    43,
 1614:       44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,    -1,
 1615:       -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,
 1616:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1617:       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
 1618:       -1,    -1,    86,    87,    88,    89,    90,    91,    -1,    93,
 1619:       -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,    12,
 1620:       13,   105,    -1,    16,   108,   109,   110,    -1,    -1,    -1,
 1621:       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1622:       -1,    -1,    35,    36,    -1,    38,    39,    40,    41,    42,
 1623:       43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,
 1624:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1625:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1626:       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1627:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1628:       93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1629:       12,    13,   105,    -1,    16,   108,   109,   110,    -1,    -1,
 1630:       -1,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1631:       -1,    -1,    -1,    35,    36,    -1,    38,    39,    40,    41,
 1632:       42,    43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,
 1633:       -1,    -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,
 1634:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1635:       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
 1636:       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
 1637:       -1,    93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,
 1638:      102,    -1,    -1,   105,    -1,    -1,   108,   109,   110,    12,
 1639:       13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1640:       23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1641:       -1,    -1,    35,    36,    -1,    38,    39,    40,    41,    42,
 1642:       43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,
 1643:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1644:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1645:       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1646:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1647:       93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1648:       12,    13,   105,    -1,    16,   108,   109,   110,    -1,    -1,
 1649:       -1,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1650:       -1,    -1,    -1,    35,    36,    -1,    38,    39,    40,    41,
 1651:       42,    43,    44,    45,    46,    -1,    48,    -1,    -1,    -1,
 1652:       -1,    -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,
 1653:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1654:       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
 1655:       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
 1656:       -1,    93,    -1,    95,    -1,    97,    98,    -1,    -1,   101,
 1657:      102,    12,    13,   105,    -1,    -1,   108,   109,   110,    -1,
 1658:       -1,    -1,    23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1659:       -1,    -1,    -1,    -1,    35,    36,    -1,    38,    39,    40,
 1660:       41,    42,    43,    44,    45,    46,    -1,    48,    -1,    -1,
 1661:       -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,    60,
 1662:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1663:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
 1664:       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 1665:       91,    -1,    93,    -1,    95,    -1,    97,    98,    -1,    -1,
 1666:      101,   102,    12,    13,   105,    -1,    -1,   108,   109,   110,
 1667:       -1,    -1,    -1,    23,    -1,    -1,    -1,    -1,    -1,    -1,
 1668:       -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    38,    39,
 1669:       40,    41,    42,    43,    44,    45,    46,    -1,    48,    -1,
 1670:       -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,
 1671:       60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1672:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
 1673:       -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,
 1674:       90,    91,    12,    13,    -1,    95,    -1,    97,    98,    -1,
 1675:       -1,   101,   102,    23,    -1,   105,    -1,    -1,   108,   109,
 1676:      110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
 1677:       40,    41,    42,    43,    44,    45,    46,    -1,    48,    -1,
 1678:       -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,
 1679:       60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1680:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
 1681:       -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,
 1682:       90,    91,    12,    13,    -1,    95,    -1,    97,    98,    -1,
 1683:       -1,   101,   102,    23,    -1,   105,    -1,    -1,   108,   109,
 1684:      110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
 1685:       40,    41,    42,    43,    44,    45,    46,    -1,    48,    -1,
 1686:       -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,
 1687:       60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1688:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
 1689:       -1,    -1,    -1,    12,    -1,    -1,    86,    87,    88,    89,
 1690:       90,    91,    -1,    -1,    23,    -1,    -1,    97,    98,    -1,
 1691:       -1,   101,   102,    -1,    -1,   105,    35,    36,   108,   109,
 1692:      110,    -1,    -1,    -1,    -1,    44,    45,    46,    -1,    48,
 1693:       -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,
 1694:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1695:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
 1696:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 1697:       89,    90,    91,    12,    93,    94,    95,    -1,    97,    98,
 1698:       -1,    -1,   101,   102,    23,    -1,   105,    -1,    -1,   108,
 1699:      109,   110,    -1,    -1,    -1,    -1,    35,    36,    -1,    -1,
 1700:       -1,    -1,    -1,    -1,    -1,    44,    45,    46,    -1,    48,
 1701:       -1,    -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,
 1702:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1703:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
 1704:       -1,    -1,    12,    -1,    -1,    -1,    -1,    86,    87,    88,
 1705:       89,    90,    91,    23,    93,    -1,    95,    -1,    97,    98,
 1706:       -1,    -1,   101,   102,    -1,    35,   105,    -1,    -1,   108,
 1707:      109,   110,    -1,    -1,    44,    45,    46,    -1,    48,    -1,
 1708:       -1,    -1,    -1,    -1,    -1,    55,    56,    -1,    58,    -1,
 1709:       60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1710:       12,    -1,    -1,    15,    16,    -1,    -1,    -1,    78,    -1,
 1711:       -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,
 1712:       90,    91,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,
 1713:       -1,   101,   102,    45,    46,   105,    48,    -1,   108,   109,
 1714:      110,    -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,
 1715:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,
 1716:       -1,    15,    16,    -1,    -1,    -1,    78,    -1,    -1,    -1,
 1717:       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    91,
 1718:       -1,    -1,    -1,    95,    -1,    97,    98,    -1,    -1,   101,
 1719:      102,    45,    46,   105,    48,    -1,   108,   109,   110,    -1,
 1720:       -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,
 1721:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1722:       -1,    -1,    -1,    -1,    78,    -1,    -1,    12,    -1,    -1,
 1723:       -1,    -1,    86,    87,    88,    89,    90,    91,    23,    -1,
 1724:       -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,    -1,
 1725:       -1,   105,    -1,    -1,   108,   109,   110,    -1,    -1,    44,
 1726:       45,    46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,
 1727:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1728:       -1,    -1,    -1,    -1,    -1,    12,    -1,    -1,    15,    -1,
 1729:       -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1730:       -1,    86,    87,    88,    89,    90,    91,    -1,    -1,    -1,
 1731:       95,    -1,    97,    98,    -1,    -1,   101,   102,    45,    46,
 1732:      105,    48,    -1,   108,   109,   110,    -1,    -1,    55,    56,
 1733:       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
 1734:       -1,    -1,    -1,    12,    -1,    -1,    15,    -1,    -1,    -1,
 1735:       -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 1736:       87,    88,    89,    90,    91,    -1,    -1,    -1,    95,    -1,
 1737:       97,    98,    -1,    -1,   101,   102,    45,    46,   105,    48,
 1738:       -1,   108,   109,   110,    -1,    -1,    55,    56,    -1,    58,
 1739:       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1740:       -1,    12,    -1,    -1,    15,    -1,    -1,    -1,    -1,    78,
 1741:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 1742:       89,    90,    91,    -1,    -1,    -1,    95,    -1,    97,    98,
 1743:       -1,    -1,   101,   102,    45,    46,   105,    48,    -1,   108,
 1744:      109,   110,    -1,    -1,    55,    56,    -1,    58,    -1,    60,
 1745:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,
 1746:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
 1747:       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 1748:       91,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,    -1,
 1749:      101,   102,    45,    46,   105,    48,    -1,   108,   109,   110,
 1750:       -1,    -1,    55,    56,    -1,    58,    -1,    60,    -1,    -1,
 1751:       -1,    -1,    -1,    -1,    -1,    -1,    69,    12,    -1,    -1,
 1752:       15,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
 1753:       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
 1754:       -1,    -1,    95,    -1,    97,    98,    -1,    -1,   101,   102,
 1755:       45,    46,   105,    48,    -1,   108,   109,   110,    -1,    -1,
 1756:       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
 1757:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1758:       -1,    -1,    -1,    78,    -1,    -1,    12,    -1,    -1,    -1,
 1759:       -1,    86,    87,    88,    89,    90,    91,    23,    -1,    -1,
 1760:       95,    -1,    97,    98,    -1,    -1,   101,   102,    -1,    -1,
 1761:      105,    12,    -1,   108,   109,   110,    -1,    -1,    44,    45,
 1762:       46,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    55,
 1763:       56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,
 1764:       -1,    -1,    -1,    -1,    45,    46,    -1,    48,    -1,    -1,
 1765:       -1,    -1,    78,    -1,    55,    56,    -1,    58,    -1,    60,
 1766:       86,    87,    88,    89,    90,    91,    -1,    -1,    -1,    -1,
 1767:       -1,    97,    98,    -1,    -1,   101,   102,    78,    -1,   105,
 1768:       -1,    -1,   108,   109,   110,    86,    87,    88,    89,    90,
 1769:       91,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,    -1,
 1770:      101,   102,    -1,    -1,   105,    -1,    -1,   108,   109,   110
 1771: };
 1772: 
 1773:   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
 1774:      symbol of state STATE-NUM.  */
 1775: static const yytype_uint8 yystos[] =
 1776: {
 1777:        0,     1,     9,    14,   113,   128,   130,   142,     0,     7,
 1778:        8,    11,    12,    15,    45,    46,    48,    54,    55,    56,
 1779:       58,    60,    78,    86,    87,    88,    89,    90,    91,    95,
 1780:       97,    98,   101,   102,   105,   108,   109,   110,   125,   131,
 1781:      132,   134,   137,   144,   145,   155,   156,   157,   159,     9,
 1782:       14,   125,   125,   137,   138,   146,    12,    12,   105,   156,
 1783:      157,    86,    89,   123,    12,    12,    12,    12,    42,   157,
 1784:       12,    12,   156,   156,   144,   156,   157,   157,   156,     1,
 1785:        9,    14,    47,    49,    50,    51,    52,    53,    57,    61,
 1786:       62,    76,    77,    96,    99,   117,   119,   124,   125,   137,
 1787:      141,   148,   150,   154,   160,    10,   125,   128,    13,    23,
 1788:       35,    36,    38,    39,    40,    41,    42,    43,    44,    93,
 1789:      114,   115,   156,    12,    15,   101,   102,   103,   104,   107,
 1790:       69,   108,   109,    18,   154,   154,    10,    16,   116,    16,
 1791:      116,    92,    16,   135,   137,   137,    12,   137,   137,   135,
 1792:       16,   135,   156,    42,   137,   137,     9,   126,   127,    14,
 1793:      126,   149,   149,   159,   137,   149,    12,    12,   149,   149,
 1794:      137,   149,    12,     9,   151,   150,   154,    12,   136,   139,
 1795:      140,   144,   156,   157,   149,    17,   150,   153,   127,   154,
 1796:      132,    95,   137,   145,   137,   137,   137,   137,   137,   137,
 1797:      159,   137,     9,   137,     9,   137,   137,   145,    69,   156,
 1798:      156,   156,   156,   156,   156,   137,   135,    17,    17,     9,
 1799:      137,    44,   137,    15,    16,   116,    86,   158,   116,   116,
 1800:       16,    16,   156,   116,   116,     9,   127,    18,   149,   129,
 1801:      148,   159,   137,   149,   137,   150,    79,   118,    17,   143,
 1802:      138,    23,    44,    93,   114,   115,   156,   116,    13,    37,
 1803:       40,    69,   150,   131,    17,   157,    94,   116,   116,   156,
 1804:       19,   159,   137,    16,   116,   147,   137,   145,   137,   145,
 1805:      159,   137,   135,    14,    44,   147,   147,   152,     9,   150,
 1806:        9,    16,    12,   136,   145,   159,   136,   136,   136,   136,
 1807:      156,   156,   156,   136,   125,   137,   137,   137,    86,     9,
 1808:      133,    16,    16,    16,    16,    16,   116,    16,   116,    19,
 1809:       14,   127,   159,    99,    44,   138,    94,   154,    16,   116,
 1810:       16,   116,   125,   137,   145,   137,   127,   137,   147,    12,
 1811:      159,    16,   136,    17,   157,   157,   154,    16,    16,    16,
 1812:      129,    14,   122,   137,    16,    16,    17,   147,   127,   150,
 1813:       16,   121,   129,   149,   150,   147,   120,   150
 1814: };
 1815: 
 1816:   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 1817: static const yytype_uint8 yyr1[] =
 1818: {
 1819:        0,   112,   113,   113,   114,   114,   115,   115,   116,   116,
 1820:      117,   117,   118,   118,   120,   119,   121,   119,   122,   119,
 1821:      123,   123,   124,   125,   125,   126,   126,   127,   127,   128,
 1822:      128,   129,   129,   130,   130,   131,   132,   132,   132,   132,
 1823:      132,   132,   132,   133,   132,   134,   134,   135,   135,   136,
 1824:      136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
 1825:      137,   137,   137,   137,   137,   137,   137,   137,   137,   137,
 1826:      137,   137,   137,   137,   137,   137,   137,   137,   137,   138,
 1827:      138,   139,   139,   140,   140,   140,   141,   141,   142,   142,
 1828:      142,   142,   143,   143,   144,   144,   146,   145,   147,   147,
 1829:      148,   148,   148,   148,   148,   148,   148,   148,   149,   149,
 1830:      150,   150,   151,   152,   150,   150,   150,   150,   150,   150,
 1831:      150,   150,   150,   150,   150,   150,   153,   150,   150,   154,
 1832:      154,   155,   155,   156,   156,   156,   156,   156,   156,   156,
 1833:      156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
 1834:      156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
 1835:      156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
 1836:      156,   156,   156,   156,   156,   157,   157,   157,   157,   158,
 1837:      158,   158,   159,   159,   159,   160
 1838: };
 1839: 
 1840:   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
 1841: static const yytype_uint8 yyr2[] =
 1842: {
 1843:        0,     2,     1,     1,     1,     2,     1,     2,     1,     2,
 1844:        1,     2,     1,     2,     0,    12,     0,    10,     0,     8,
 1845:        1,     1,     4,     1,     2,     1,     2,     0,     1,     0,
 1846:        1,     0,     1,     1,     3,     1,     1,     4,     4,     7,
 1847:        3,     4,     4,     0,     9,     1,     3,     1,     3,     3,
 1848:        5,     3,     3,     3,     3,     3,     5,     2,     1,     1,
 1849:        3,     5,     3,     3,     3,     3,     3,     3,     3,     3,
 1850:        3,     3,     3,     5,     4,     3,     2,     1,     1,     3,
 1851:        3,     1,     3,     0,     1,     3,     1,     1,     1,     1,
 1852:        2,     2,     1,     2,     1,     2,     0,     4,     1,     2,
 1853:        4,     4,     4,     2,     5,     2,     1,     1,     1,     2,
 1854:        2,     2,     0,     0,     9,     3,     2,     1,     4,     2,
 1855:        3,     2,     2,     3,     2,     2,     0,     3,     2,     1,
 1856:        2,     1,     1,     4,     3,     3,     3,     3,     3,     3,
 1857:        2,     2,     2,     3,     4,     1,     3,     4,     2,     2,
 1858:        2,     2,     2,     4,     3,     2,     1,     6,     6,     3,
 1859:        6,     6,     1,     8,     8,     6,     4,     1,     6,     6,
 1860:        8,     8,     8,     6,     1,     1,     4,     1,     2,     0,
 1861:        1,     3,     1,     1,     1,     4
 1862: };
 1863: 
 1864: 
 1865: #define yyerrok         (yyerrstatus = 0)
 1866: #define yyclearin       (yychar = YYEMPTY)
 1867: #define YYEMPTY         (-2)
 1868: #define YYEOF           0
 1869: 
 1870: #define YYACCEPT        goto yyacceptlab
 1871: #define YYABORT         goto yyabortlab
 1872: #define YYERROR         goto yyerrorlab
 1873: 
 1874: 
 1875: #define YYRECOVERING()  (!!yyerrstatus)
 1876: 
 1877: #define YYBACKUP(Token, Value)                                  \
 1878: do                                                              \
 1879:   if (yychar == YYEMPTY)                                        \
 1880:     {                                                           \
 1881:       yychar = (Token);                                         \
 1882:       yylval = (Value);                                         \
 1883:       YYPOPSTACK (yylen);                                       \
 1884:       yystate = *yyssp;                                         \
 1885:       goto yybackup;                                            \
 1886:     }                                                           \
 1887:   else                                                          \
 1888:     {                                                           \
 1889:       yyerror (YY_("syntax error: cannot back up")); \
 1890:       YYERROR;                                                  \
 1891:     }                                                           \
 1892: while (0)
 1893: 
 1894: /* Error token number */
 1895: #define YYTERROR        1
 1896: #define YYERRCODE       256
 1897: 
 1898: 
 1899: 
 1900: /* Enable debugging if requested.  */
 1901: #if YYDEBUG
 1902: 
 1903: # ifndef YYFPRINTF
 1904: #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
 1905: #  define YYFPRINTF fprintf
 1906: # endif
 1907: 
 1908: # define YYDPRINTF(Args)                        \
 1909: do {                                            \
 1910:   if (yydebug)                                  \
 1911:     YYFPRINTF Args;                             \
 1912: } while (0)
 1913: 
 1914: /* This macro is provided for backward compatibility. */
 1915: #ifndef YY_LOCATION_PRINT
 1916: # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 1917: #endif
 1918: 
 1919: 
 1920: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
 1921: do {                                                                      \
 1922:   if (yydebug)                                                            \
 1923:     {                                                                     \
 1924:       YYFPRINTF (stderr, "%s ", Title);                                   \
 1925:       yy_symbol_print (stderr,                                            \
 1926:                   Type, Value); \
 1927:       YYFPRINTF (stderr, "\n");                                           \
 1928:     }                                                                     \
 1929: } while (0)
 1930: 
 1931: 
 1932: /*----------------------------------------.
 1933: | Print this symbol's value on YYOUTPUT.  |
 1934: `----------------------------------------*/
 1935: 
 1936: static void
 1937: yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 1938: {
 1939:   FILE *yyo = yyoutput;
 1940:   YYUSE (yyo);
 1941:   if (!yyvaluep)
 1942:     return;
 1943: # ifdef YYPRINT
 1944:   if (yytype < YYNTOKENS)
 1945:     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
 1946: # endif
 1947:   YYUSE (yytype);
 1948: }
 1949: 
 1950: 
 1951: /*--------------------------------.
 1952: | Print this symbol on YYOUTPUT.  |
 1953: `--------------------------------*/
 1954: 
 1955: static void
 1956: yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
 1957: {
 1958:   YYFPRINTF (yyoutput, "%s %s (",
 1959:              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 1960: 
 1961:   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
 1962:   YYFPRINTF (yyoutput, ")");
 1963: }
 1964: 
 1965: /*------------------------------------------------------------------.
 1966: | yy_stack_print -- Print the state stack from its BOTTOM up to its |
 1967: | TOP (included).                                                   |
 1968: `------------------------------------------------------------------*/
 1969: 
 1970: static void
 1971: yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
 1972: {
 1973:   YYFPRINTF (stderr, "Stack now");
 1974:   for (; yybottom <= yytop; yybottom++)
 1975:     {
 1976:       int yybot = *yybottom;
 1977:       YYFPRINTF (stderr, " %d", yybot);
 1978:     }
 1979:   YYFPRINTF (stderr, "\n");
 1980: }
 1981: 
 1982: # define YY_STACK_PRINT(Bottom, Top)                            \
 1983: do {                                                            \
 1984:   if (yydebug)                                                  \
 1985:     yy_stack_print ((Bottom), (Top));                           \
 1986: } while (0)
 1987: 
 1988: 
 1989: /*------------------------------------------------.
 1990: | Report that the YYRULE is going to be reduced.  |
 1991: `------------------------------------------------*/
 1992: 
 1993: static void
 1994: yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
 1995: {
 1996:   unsigned long int yylno = yyrline[yyrule];
 1997:   int yynrhs = yyr2[yyrule];
 1998:   int yyi;
 1999:   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
 2000:              yyrule - 1, yylno);
 2001:   /* The symbols being reduced.  */
 2002:   for (yyi = 0; yyi < yynrhs; yyi++)
 2003:     {
 2004:       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
 2005:       yy_symbol_print (stderr,
 2006:                        yystos[yyssp[yyi + 1 - yynrhs]],
 2007:                        &(yyvsp[(yyi + 1) - (yynrhs)])
 2008:                                               );
 2009:       YYFPRINTF (stderr, "\n");
 2010:     }
 2011: }
 2012: 
 2013: # define YY_REDUCE_PRINT(Rule)          \
 2014: do {                                    \
 2015:   if (yydebug)                          \
 2016:     yy_reduce_print (yyssp, yyvsp, Rule); \
 2017: } while (0)
 2018: 
 2019: /* Nonzero means print parse trace.  It is left uninitialized so that
 2020:    multiple parsers can coexist.  */
 2021: int yydebug;
 2022: #else /* !YYDEBUG */
 2023: # define YYDPRINTF(Args)
 2024: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 2025: # define YY_STACK_PRINT(Bottom, Top)
 2026: # define YY_REDUCE_PRINT(Rule)
 2027: #endif /* !YYDEBUG */
 2028: 
 2029: 
 2030: /* YYINITDEPTH -- initial size of the parser's stacks.  */
 2031: #ifndef YYINITDEPTH
 2032: # define YYINITDEPTH 200
 2033: #endif
 2034: 
 2035: /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
 2036:    if the built-in stack extension method is used).
 2037: 
 2038:    Do not make this value too large; the results are undefined if
 2039:    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
 2040:    evaluated with infinite-precision integer arithmetic.  */
 2041: 
 2042: #ifndef YYMAXDEPTH
 2043: # define YYMAXDEPTH 10000
 2044: #endif
 2045: 
 2046: 
 2047: #if YYERROR_VERBOSE
 2048: 
 2049: # ifndef yystrlen
 2050: #  if defined __GLIBC__ && defined _STRING_H
 2051: #   define yystrlen strlen
 2052: #  else
 2053: /* Return the length of YYSTR.  */
 2054: static YYSIZE_T
 2055: yystrlen (const char *yystr)
 2056: {
 2057:   YYSIZE_T yylen;
 2058:   for (yylen = 0; yystr[yylen]; yylen++)
 2059:     continue;
 2060:   return yylen;
 2061: }
 2062: #  endif
 2063: # endif
 2064: 
 2065: # ifndef yystpcpy
 2066: #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
 2067: #   define yystpcpy stpcpy
 2068: #  else
 2069: /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
 2070:    YYDEST.  */
 2071: static char *
 2072: yystpcpy (char *yydest, const char *yysrc)
 2073: {
 2074:   char *yyd = yydest;
 2075:   const char *yys = yysrc;
 2076: 
 2077:   while ((*yyd++ = *yys++) != '\0')
 2078:     continue;
 2079: 
 2080:   return yyd - 1;
 2081: }
 2082: #  endif
 2083: # endif
 2084: 
 2085: # ifndef yytnamerr
 2086: /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
 2087:    quotes and backslashes, so that it's suitable for yyerror.  The
 2088:    heuristic is that double-quoting is unnecessary unless the string
 2089:    contains an apostrophe, a comma, or backslash (other than
 2090:    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
 2091:    null, do not copy; instead, return the length of what the result
 2092:    would have been.  */
 2093: static YYSIZE_T
 2094: yytnamerr (char *yyres, const char *yystr)
 2095: {
 2096:   if (*yystr == '"')
 2097:     {
 2098:       YYSIZE_T yyn = 0;
 2099:       char const *yyp = yystr;
 2100: 
 2101:       for (;;)
 2102:         switch (*++yyp)
 2103:           {
 2104:           case '\'':
 2105:           case ',':
 2106:             goto do_not_strip_quotes;
 2107: 
 2108:           case '\\':
 2109:             if (*++yyp != '\\')
 2110:               goto do_not_strip_quotes;
 2111:             /* Fall through.  */
 2112:           default:
 2113:             if (yyres)
 2114:               yyres[yyn] = *yyp;
 2115:             yyn++;
 2116:             break;
 2117: 
 2118:           case '"':
 2119:             if (yyres)
 2120:               yyres[yyn] = '\0';
 2121:             return yyn;
 2122:           }
 2123:     do_not_strip_quotes: ;
 2124:     }
 2125: 
 2126:   if (! yyres)
 2127:     return yystrlen (yystr);
 2128: 
 2129:   return yystpcpy (yyres, yystr) - yyres;
 2130: }
 2131: # endif
 2132: 
 2133: /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
 2134:    about the unexpected token YYTOKEN for the state stack whose top is
 2135:    YYSSP.
 2136: 
 2137:    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
 2138:    not large enough to hold the message.  In that case, also set
 2139:    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
 2140:    required number of bytes is too large to store.  */
 2141: static int
 2142: yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 2143:                 yytype_int16 *yyssp, int yytoken)
 2144: {
 2145:   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
 2146:   YYSIZE_T yysize = yysize0;
 2147:   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
 2148:   /* Internationalized format string. */
 2149:   const char *yyformat = YY_NULLPTR;
 2150:   /* Arguments of yyformat. */
 2151:   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
 2152:   /* Number of reported tokens (one for the "unexpected", one per
 2153:      "expected"). */
 2154:   int yycount = 0;
 2155: 
 2156:   /* There are many possibilities here to consider:
 2157:      - If this state is a consistent state with a default action, then
 2158:        the only way this function was invoked is if the default action
 2159:        is an error action.  In that case, don't check for expected
 2160:        tokens because there are none.
 2161:      - The only way there can be no lookahead present (in yychar) is if
 2162:        this state is a consistent state with a default action.  Thus,
 2163:        detecting the absence of a lookahead is sufficient to determine
 2164:        that there is no unexpected or expected token to report.  In that
 2165:        case, just report a simple "syntax error".
 2166:      - Don't assume there isn't a lookahead just because this state is a
 2167:        consistent state with a default action.  There might have been a
 2168:        previous inconsistent state, consistent state with a non-default
 2169:        action, or user semantic action that manipulated yychar.
 2170:      - Of course, the expected token list depends on states to have
 2171:        correct lookahead information, and it depends on the parser not
 2172:        to perform extra reductions after fetching a lookahead from the
 2173:        scanner and before detecting a syntax error.  Thus, state merging
 2174:        (from LALR or IELR) and default reductions corrupt the expected
 2175:        token list.  However, the list is correct for canonical LR with
 2176:        one exception: it will still contain any token that will not be
 2177:        accepted due to an error action in a later state.
 2178:   */
 2179:   if (yytoken != YYEMPTY)
 2180:     {
 2181:       int yyn = yypact[*yyssp];
 2182:       yyarg[yycount++] = yytname[yytoken];
 2183:       if (!yypact_value_is_default (yyn))
 2184:         {
 2185:           /* Start YYX at -YYN if negative to avoid negative indexes in
 2186:              YYCHECK.  In other words, skip the first -YYN actions for
 2187:              this state because they are default actions.  */
 2188:           int yyxbegin = yyn < 0 ? -yyn : 0;
 2189:           /* Stay within bounds of both yycheck and yytname.  */
 2190:           int yychecklim = YYLAST - yyn + 1;
 2191:           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
 2192:           int yyx;
 2193: 
 2194:           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
 2195:             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
 2196:                 && !yytable_value_is_error (yytable[yyx + yyn]))
 2197:               {
 2198:                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
 2199:                   {
 2200:                     yycount = 1;
 2201:                     yysize = yysize0;
 2202:                     break;
 2203:                   }
 2204:                 yyarg[yycount++] = yytname[yyx];
 2205:                 {
 2206:                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
 2207:                   if (! (yysize <= yysize1
 2208:                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
 2209:                     return 2;
 2210:                   yysize = yysize1;
 2211:                 }
 2212:               }
 2213:         }
 2214:     }
 2215: 
 2216:   switch (yycount)
 2217:     {
 2218: # define YYCASE_(N, S)                      \
 2219:       case N:                               \
 2220:         yyformat = S;                       \
 2221:       break
 2222:       YYCASE_(0, YY_("syntax error"));
 2223:       YYCASE_(1, YY_("syntax error, unexpected %s"));
 2224:       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
 2225:       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
 2226:       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
 2227:       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
 2228: # undef YYCASE_
 2229:     }
 2230: 
 2231:   {
 2232:     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
 2233:     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
 2234:       return 2;
 2235:     yysize = yysize1;
 2236:   }
 2237: 
 2238:   if (*yymsg_alloc < yysize)
 2239:     {
 2240:       *yymsg_alloc = 2 * yysize;
 2241:       if (! (yysize <= *yymsg_alloc
 2242:              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
 2243:         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
 2244:       return 1;
 2245:     }
 2246: 
 2247:   /* Avoid sprintf, as that infringes on the user's name space.
 2248:      Don't have undefined behavior even if the translation
 2249:      produced a string with the wrong number of "%s"s.  */
 2250:   {
 2251:     char *yyp = *yymsg;
 2252:     int yyi = 0;
 2253:     while ((*yyp = *yyformat) != '\0')
 2254:       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
 2255:         {
 2256:           yyp += yytnamerr (yyp, yyarg[yyi++]);
 2257:           yyformat += 2;
 2258:         }
 2259:       else
 2260:         {
 2261:           yyp++;
 2262:           yyformat++;
 2263:         }
 2264:   }
 2265:   return 0;
 2266: }
 2267: #endif /* YYERROR_VERBOSE */
 2268: 
 2269: /*-----------------------------------------------.
 2270: | Release the memory associated to this symbol.  |
 2271: `-----------------------------------------------*/
 2272: 
 2273: static void
 2274: yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 2275: {
 2276:   YYUSE (yyvaluep);
 2277:   if (!yymsg)
 2278:     yymsg = "Deleting";
 2279:   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 2280: 
 2281:   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 2282:   YYUSE (yytype);
 2283:   YY_IGNORE_MAYBE_UNINITIALIZED_END
 2284: }
 2285: 
 2286: 
 2287: 
 2288: 
 2289: /* The lookahead symbol.  */
 2290: int yychar;
 2291: 
 2292: /* The semantic value of the lookahead symbol.  */
 2293: YYSTYPE yylval;
 2294: /* Number of syntax errors so far.  */
 2295: int yynerrs;
 2296: 
 2297: 
 2298: /*----------.
 2299: | yyparse.  |
 2300: `----------*/
 2301: 
 2302: int
 2303: yyparse (void)
 2304: {
 2305:     int yystate;
 2306:     /* Number of tokens to shift before error messages enabled.  */
 2307:     int yyerrstatus;
 2308: 
 2309:     /* The stacks and their tools:
 2310:        'yyss': related to states.
 2311:        'yyvs': related to semantic values.
 2312: 
 2313:        Refer to the stacks through separate pointers, to allow yyoverflow
 2314:        to reallocate them elsewhere.  */
 2315: 
 2316:     /* The state stack.  */
 2317:     yytype_int16 yyssa[YYINITDEPTH];
 2318:     yytype_int16 *yyss;
 2319:     yytype_int16 *yyssp;
 2320: 
 2321:     /* The semantic value stack.  */
 2322:     YYSTYPE yyvsa[YYINITDEPTH];
 2323:     YYSTYPE *yyvs;
 2324:     YYSTYPE *yyvsp;
 2325: 
 2326:     YYSIZE_T yystacksize;
 2327: 
 2328:   int yyn;
 2329:   int yyresult;
 2330:   /* Lookahead token as an internal (translated) token number.  */
 2331:   int yytoken = 0;
 2332:   /* The variables used to return semantic value and location from the
 2333:      action routines.  */
 2334:   YYSTYPE yyval;
 2335: 
 2336: #if YYERROR_VERBOSE
 2337:   /* Buffer for error messages, and its allocated size.  */
 2338:   char yymsgbuf[128];
 2339:   char *yymsg = yymsgbuf;
 2340:   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
 2341: #endif
 2342: 
 2343: #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 2344: 
 2345:   /* The number of symbols on the RHS of the reduced rule.
 2346:      Keep to zero when no symbol should be popped.  */
 2347:   int yylen = 0;
 2348: 
 2349:   yyssp = yyss = yyssa;
 2350:   yyvsp = yyvs = yyvsa;
 2351:   yystacksize = YYINITDEPTH;
 2352: 
 2353:   YYDPRINTF ((stderr, "Starting parse\n"));
 2354: 
 2355:   yystate = 0;
 2356:   yyerrstatus = 0;
 2357:   yynerrs = 0;
 2358:   yychar = YYEMPTY; /* Cause a token to be read.  */
 2359:   goto yysetstate;
 2360: 
 2361: /*------------------------------------------------------------.
 2362: | yynewstate -- Push a new state, which is found in yystate.  |
 2363: `------------------------------------------------------------*/
 2364:  yynewstate:
 2365:   /* In all cases, when you get here, the value and location stacks
 2366:      have just been pushed.  So pushing a state here evens the stacks.  */
 2367:   yyssp++;
 2368: 
 2369:  yysetstate:
 2370:   *yyssp = yystate;
 2371: 
 2372:   if (yyss + yystacksize - 1 <= yyssp)
 2373:     {
 2374:       /* Get the current used size of the three stacks, in elements.  */
 2375:       YYSIZE_T yysize = yyssp - yyss + 1;
 2376: 
 2377: #ifdef yyoverflow
 2378:       {
 2379:         /* Give user a chance to reallocate the stack.  Use copies of
 2380:            these so that the &'s don't force the real ones into
 2381:            memory.  */
 2382:         YYSTYPE *yyvs1 = yyvs;
 2383:         yytype_int16 *yyss1 = yyss;
 2384: 
 2385:         /* Each stack pointer address is followed by the size of the
 2386:            data in use in that stack, in bytes.  This used to be a
 2387:            conditional around just the two extra args, but that might
 2388:            be undefined if yyoverflow is a macro.  */
 2389:         yyoverflow (YY_("memory exhausted"),
 2390:                     &yyss1, yysize * sizeof (*yyssp),
 2391:                     &yyvs1, yysize * sizeof (*yyvsp),
 2392:                     &yystacksize);
 2393: 
 2394:         yyss = yyss1;
 2395:         yyvs = yyvs1;
 2396:       }
 2397: #else /* no yyoverflow */
 2398: # ifndef YYSTACK_RELOCATE
 2399:       goto yyexhaustedlab;
 2400: # else
 2401:       /* Extend the stack our own way.  */
 2402:       if (YYMAXDEPTH <= yystacksize)
 2403:         goto yyexhaustedlab;
 2404:       yystacksize *= 2;
 2405:       if (YYMAXDEPTH < yystacksize)
 2406:         yystacksize = YYMAXDEPTH;
 2407: 
 2408:       {
 2409:         yytype_int16 *yyss1 = yyss;
 2410:         union yyalloc *yyptr =
 2411:           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 2412:         if (! yyptr)
 2413:           goto yyexhaustedlab;
 2414:         YYSTACK_RELOCATE (yyss_alloc, yyss);
 2415:         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
 2416: #  undef YYSTACK_RELOCATE
 2417:         if (yyss1 != yyssa)
 2418:           YYSTACK_FREE (yyss1);
 2419:       }
 2420: # endif
 2421: #endif /* no yyoverflow */
 2422: 
 2423:       yyssp = yyss + yysize - 1;
 2424:       yyvsp = yyvs + yysize - 1;
 2425: 
 2426:       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
 2427:                   (unsigned long int) yystacksize));
 2428: 
 2429:       if (yyss + yystacksize - 1 <= yyssp)
 2430:         YYABORT;
 2431:     }
 2432: 
 2433:   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 2434: 
 2435:   if (yystate == YYFINAL)
 2436:     YYACCEPT;
 2437: 
 2438:   goto yybackup;
 2439: 
 2440: /*-----------.
 2441: | yybackup.  |
 2442: `-----------*/
 2443: yybackup:
 2444: 
 2445:   /* Do appropriate processing given the current state.  Read a
 2446:      lookahead token if we need one and don't already have one.  */
 2447: 
 2448:   /* First try to decide what to do without reference to lookahead token.  */
 2449:   yyn = yypact[yystate];
 2450:   if (yypact_value_is_default (yyn))
 2451:     goto yydefault;
 2452: 
 2453:   /* Not known => get a lookahead token if don't already have one.  */
 2454: 
 2455:   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
 2456:   if (yychar == YYEMPTY)
 2457:     {
 2458:       YYDPRINTF ((stderr, "Reading a token: "));
 2459:       yychar = yylex ();
 2460:     }
 2461: 
 2462:   if (yychar <= YYEOF)
 2463:     {
 2464:       yychar = yytoken = YYEOF;
 2465:       YYDPRINTF ((stderr, "Now at end of input.\n"));
 2466:     }
 2467:   else
 2468:     {
 2469:       yytoken = YYTRANSLATE (yychar);
 2470:       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
 2471:     }
 2472: 
 2473:   /* If the proper action on seeing token YYTOKEN is to reduce or to
 2474:      detect an error, take that action.  */
 2475:   yyn += yytoken;
 2476:   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
 2477:     goto yydefault;
 2478:   yyn = yytable[yyn];
 2479:   if (yyn <= 0)
 2480:     {
 2481:       if (yytable_value_is_error (yyn))
 2482:         goto yyerrlab;
 2483:       yyn = -yyn;
 2484:       goto yyreduce;
 2485:     }
 2486: 
 2487:   /* Count tokens shifted since error; after three, turn off error
 2488:      status.  */
 2489:   if (yyerrstatus)
 2490:     yyerrstatus--;
 2491: 
 2492:   /* Shift the lookahead token.  */
 2493:   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 2494: 
 2495:   /* Discard the shifted token.  */
 2496:   yychar = YYEMPTY;
 2497: 
 2498:   yystate = yyn;
 2499:   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 2500:   *++yyvsp = yylval;
 2501:   YY_IGNORE_MAYBE_UNINITIALIZED_END
 2502: 
 2503:   goto yynewstate;
 2504: 
 2505: 
 2506: /*-----------------------------------------------------------.
 2507: | yydefault -- do the default action for the current state.  |
 2508: `-----------------------------------------------------------*/
 2509: yydefault:
 2510:   yyn = yydefact[yystate];
 2511:   if (yyn == 0)
 2512:     goto yyerrlab;
 2513:   goto yyreduce;
 2514: 
 2515: 
 2516: /*-----------------------------.
 2517: | yyreduce -- Do a reduction.  |
 2518: `-----------------------------*/
 2519: yyreduce:
 2520:   /* yyn is the number of a rule to reduce with.  */
 2521:   yylen = yyr2[yyn];
 2522: 
 2523:   /* If YYLEN is nonzero, implement the default value of the action:
 2524:      '$$ = $1'.
 2525: 
 2526:      Otherwise, the following line sets YYVAL to garbage.
 2527:      This behavior is undocumented and Bison
 2528:      users should not rely upon it.  Assigning to YYVAL
 2529:      unconditionally makes the parser a bit smaller, and it avoids a
 2530:      GCC warning that YYVAL may be used uninitialized.  */
 2531:   yyval = yyvsp[1-yylen];
 2532: 
 2533: 
 2534:   YY_REDUCE_PRINT (yyn);
 2535:   switch (yyn)
 2536:     {
 2537:         case 2:
 2538: #line 98 "awkgram.y" /* yacc.c:1646  */
 2539:     { if (errorflag==0)
 2540:             winner = (Node *)stat3(PROGRAM, beginloc, (yyvsp[0].p), endloc); }
 2541: #line 2542 "y.tab.c" /* yacc.c:1646  */
 2542:     break;
 2543: 
 2544:   case 3:
 2545: #line 100 "awkgram.y" /* yacc.c:1646  */
 2546:     { yyclearin; bracecheck(); SYNTAX("bailing out"); }
 2547: #line 2548 "y.tab.c" /* yacc.c:1646  */
 2548:     break;
 2549: 
 2550:   case 14:
 2551: #line 124 "awkgram.y" /* yacc.c:1646  */
 2552:     {inloop++;}
 2553: #line 2554 "y.tab.c" /* yacc.c:1646  */
 2554:     break;
 2555: 
 2556:   case 15:
 2557: #line 125 "awkgram.y" /* yacc.c:1646  */
 2558:     { --inloop; (yyval.p) = stat4(FOR, (yyvsp[-9].p), notnull((yyvsp[-6].p)), (yyvsp[-3].p), (yyvsp[0].p)); }
 2559: #line 2560 "y.tab.c" /* yacc.c:1646  */
 2560:     break;
 2561: 
 2562:   case 16:
 2563: #line 126 "awkgram.y" /* yacc.c:1646  */
 2564:     {inloop++;}
 2565: #line 2566 "y.tab.c" /* yacc.c:1646  */
 2566:     break;
 2567: 
 2568:   case 17:
 2569: #line 127 "awkgram.y" /* yacc.c:1646  */
 2570:     { --inloop; (yyval.p) = stat4(FOR, (yyvsp[-7].p), NIL, (yyvsp[-3].p), (yyvsp[0].p)); }
 2571: #line 2572 "y.tab.c" /* yacc.c:1646  */
 2572:     break;
 2573: 
 2574:   case 18:
 2575: #line 128 "awkgram.y" /* yacc.c:1646  */
 2576:     {inloop++;}
 2577: #line 2578 "y.tab.c" /* yacc.c:1646  */
 2578:     break;
 2579: 
 2580:   case 19:
 2581: #line 129 "awkgram.y" /* yacc.c:1646  */
 2582:     { --inloop; (yyval.p) = stat3(IN, (yyvsp[-5].p), makearr((yyvsp[-3].p)), (yyvsp[0].p)); }
 2583: #line 2584 "y.tab.c" /* yacc.c:1646  */
 2584:     break;
 2585: 
 2586:   case 20:
 2587: #line 133 "awkgram.y" /* yacc.c:1646  */
 2588:     { setfname((yyvsp[0].cp)); }
 2589: #line 2590 "y.tab.c" /* yacc.c:1646  */
 2590:     break;
 2591: 
 2592:   case 21:
 2593: #line 134 "awkgram.y" /* yacc.c:1646  */
 2594:     { setfname((yyvsp[0].cp)); }
 2595: #line 2596 "y.tab.c" /* yacc.c:1646  */
 2596:     break;
 2597: 
 2598:   case 22:
 2599: #line 138 "awkgram.y" /* yacc.c:1646  */
 2600:     { (yyval.p) = notnull((yyvsp[-1].p)); }
 2601: #line 2602 "y.tab.c" /* yacc.c:1646  */
 2602:     break;
 2603: 
 2604:   case 27:
 2605: #line 150 "awkgram.y" /* yacc.c:1646  */
 2606:     { (yyval.i) = 0; }
 2607: #line 2608 "y.tab.c" /* yacc.c:1646  */
 2608:     break;
 2609: 
 2610:   case 29:
 2611: #line 155 "awkgram.y" /* yacc.c:1646  */
 2612:     { (yyval.i) = 0; }
 2613: #line 2614 "y.tab.c" /* yacc.c:1646  */
 2614:     break;
 2615: 
 2616:   case 31:
 2617: #line 161 "awkgram.y" /* yacc.c:1646  */
 2618:     { (yyval.p) = 0; }
 2619: #line 2620 "y.tab.c" /* yacc.c:1646  */
 2620:     break;
 2621: 
 2622:   case 33:
 2623: #line 166 "awkgram.y" /* yacc.c:1646  */
 2624:     { (yyval.p) = 0; }
 2625: #line 2626 "y.tab.c" /* yacc.c:1646  */
 2626:     break;
 2627: 
 2628:   case 34:
 2629: #line 167 "awkgram.y" /* yacc.c:1646  */
 2630:     { (yyval.p) = (yyvsp[-1].p); }
 2631: #line 2632 "y.tab.c" /* yacc.c:1646  */
 2632:     break;
 2633: 
 2634:   case 35:
 2635: #line 171 "awkgram.y" /* yacc.c:1646  */
 2636:     { (yyval.p) = notnull((yyvsp[0].p)); }
 2637: #line 2638 "y.tab.c" /* yacc.c:1646  */
 2638:     break;
 2639: 
 2640:   case 36:
 2641: #line 175 "awkgram.y" /* yacc.c:1646  */
 2642:     { (yyval.p) = stat2(PASTAT, (yyvsp[0].p), stat2(PRINT, rectonode(), NIL)); }
 2643: #line 2644 "y.tab.c" /* yacc.c:1646  */
 2644:     break;
 2645: 
 2646:   case 37:
 2647: #line 176 "awkgram.y" /* yacc.c:1646  */
 2648:     { (yyval.p) = stat2(PASTAT, (yyvsp[-3].p), (yyvsp[-1].p)); }
 2649: #line 2650 "y.tab.c" /* yacc.c:1646  */
 2650:     break;
 2651: 
 2652:   case 38:
 2653: #line 177 "awkgram.y" /* yacc.c:1646  */
 2654:     { (yyval.p) = pa2stat((yyvsp[-3].p), (yyvsp[0].p), stat2(PRINT, rectonode(), NIL)); }
 2655: #line 2656 "y.tab.c" /* yacc.c:1646  */
 2656:     break;
 2657: 
 2658:   case 39:
 2659: #line 178 "awkgram.y" /* yacc.c:1646  */
 2660:     { (yyval.p) = pa2stat((yyvsp[-6].p), (yyvsp[-3].p), (yyvsp[-1].p)); }
 2661: #line 2662 "y.tab.c" /* yacc.c:1646  */
 2662:     break;
 2663: 
 2664:   case 40:
 2665: #line 179 "awkgram.y" /* yacc.c:1646  */
 2666:     { (yyval.p) = stat2(PASTAT, NIL, (yyvsp[-1].p)); }
 2667: #line 2668 "y.tab.c" /* yacc.c:1646  */
 2668:     break;
 2669: 
 2670:   case 41:
 2671: #line 181 "awkgram.y" /* yacc.c:1646  */
 2672:     { beginloc = linkum(beginloc, (yyvsp[-1].p)); (yyval.p) = 0; }
 2673: #line 2674 "y.tab.c" /* yacc.c:1646  */
 2674:     break;
 2675: 
 2676:   case 42:
 2677: #line 183 "awkgram.y" /* yacc.c:1646  */
 2678:     { endloc = linkum(endloc, (yyvsp[-1].p)); (yyval.p) = 0; }
 2679: #line 2680 "y.tab.c" /* yacc.c:1646  */
 2680:     break;
 2681: 
 2682:   case 43:
 2683: #line 184 "awkgram.y" /* yacc.c:1646  */
 2684:     {infunc++;}
 2685: #line 2686 "y.tab.c" /* yacc.c:1646  */
 2686:     break;
 2687: 
 2688:   case 44:
 2689: #line 185 "awkgram.y" /* yacc.c:1646  */
 2690:     { infunc--; curfname=0; defn((Cell *)(yyvsp[-7].p), (yyvsp[-5].p), (yyvsp[-1].p)); (yyval.p) = 0; }
 2691: #line 2692 "y.tab.c" /* yacc.c:1646  */
 2692:     break;
 2693: 
 2694:   case 46:
 2695: #line 190 "awkgram.y" /* yacc.c:1646  */
 2696:     { (yyval.p) = linkum((yyvsp[-2].p), (yyvsp[0].p)); }
 2697: #line 2698 "y.tab.c" /* yacc.c:1646  */
 2698:     break;
 2699: 
 2700:   case 48:
 2701: #line 195 "awkgram.y" /* yacc.c:1646  */
 2702:     { (yyval.p) = linkum((yyvsp[-2].p), (yyvsp[0].p)); }
 2703: #line 2704 "y.tab.c" /* yacc.c:1646  */
 2704:     break;
 2705: 
 2706:   case 49:
 2707: #line 199 "awkgram.y" /* yacc.c:1646  */
 2708:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2709: #line 2710 "y.tab.c" /* yacc.c:1646  */
 2710:     break;
 2711: 
 2712:   case 50:
 2713: #line 201 "awkgram.y" /* yacc.c:1646  */
 2714:     { (yyval.p) = op3(CONDEXPR, notnull((yyvsp[-4].p)), (yyvsp[-2].p), (yyvsp[0].p)); }
 2715: #line 2716 "y.tab.c" /* yacc.c:1646  */
 2716:     break;
 2717: 
 2718:   case 51:
 2719: #line 203 "awkgram.y" /* yacc.c:1646  */
 2720:     { (yyval.p) = op2(BOR, notnull((yyvsp[-2].p)), notnull((yyvsp[0].p))); }
 2721: #line 2722 "y.tab.c" /* yacc.c:1646  */
 2722:     break;
 2723: 
 2724:   case 52:
 2725: #line 205 "awkgram.y" /* yacc.c:1646  */
 2726:     { (yyval.p) = op2(AND, notnull((yyvsp[-2].p)), notnull((yyvsp[0].p))); }
 2727: #line 2728 "y.tab.c" /* yacc.c:1646  */
 2728:     break;
 2729: 
 2730:   case 53:
 2731: #line 206 "awkgram.y" /* yacc.c:1646  */
 2732:     { (yyval.p) = op3((yyvsp[-1].i), NIL, (yyvsp[-2].p), (Node*)makedfa((yyvsp[0].s), 0)); }
 2733: #line 2734 "y.tab.c" /* yacc.c:1646  */
 2734:     break;
 2735: 
 2736:   case 54:
 2737: #line 208 "awkgram.y" /* yacc.c:1646  */
 2738:     { if (constnode((yyvsp[0].p)))
 2739:             (yyval.p) = op3((yyvsp[-1].i), NIL, (yyvsp[-2].p), (Node*)makedfa(strnode((yyvsp[0].p)), 0));
 2740:           else
 2741:             (yyval.p) = op3((yyvsp[-1].i), (Node *)1, (yyvsp[-2].p), (yyvsp[0].p)); }
 2742: #line 2743 "y.tab.c" /* yacc.c:1646  */
 2743:     break;
 2744: 
 2745:   case 55:
 2746: #line 212 "awkgram.y" /* yacc.c:1646  */
 2747:     { (yyval.p) = op2(INTEST, (yyvsp[-2].p), makearr((yyvsp[0].p))); }
 2748: #line 2749 "y.tab.c" /* yacc.c:1646  */
 2749:     break;
 2750: 
 2751:   case 56:
 2752: #line 213 "awkgram.y" /* yacc.c:1646  */
 2753:     { (yyval.p) = op2(INTEST, (yyvsp[-3].p), makearr((yyvsp[0].p))); }
 2754: #line 2755 "y.tab.c" /* yacc.c:1646  */
 2755:     break;
 2756: 
 2757:   case 57:
 2758: #line 214 "awkgram.y" /* yacc.c:1646  */
 2759:     { (yyval.p) = op2(CAT, (yyvsp[-1].p), (yyvsp[0].p)); }
 2760: #line 2761 "y.tab.c" /* yacc.c:1646  */
 2761:     break;
 2762: 
 2763:   case 60:
 2764: #line 220 "awkgram.y" /* yacc.c:1646  */
 2765:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2766: #line 2767 "y.tab.c" /* yacc.c:1646  */
 2767:     break;
 2768: 
 2769:   case 61:
 2770: #line 222 "awkgram.y" /* yacc.c:1646  */
 2771:     { (yyval.p) = op3(CONDEXPR, notnull((yyvsp[-4].p)), (yyvsp[-2].p), (yyvsp[0].p)); }
 2772: #line 2773 "y.tab.c" /* yacc.c:1646  */
 2773:     break;
 2774: 
 2775:   case 62:
 2776: #line 224 "awkgram.y" /* yacc.c:1646  */
 2777:     { (yyval.p) = op2(BOR, notnull((yyvsp[-2].p)), notnull((yyvsp[0].p))); }
 2778: #line 2779 "y.tab.c" /* yacc.c:1646  */
 2779:     break;
 2780: 
 2781:   case 63:
 2782: #line 226 "awkgram.y" /* yacc.c:1646  */
 2783:     { (yyval.p) = op2(AND, notnull((yyvsp[-2].p)), notnull((yyvsp[0].p))); }
 2784: #line 2785 "y.tab.c" /* yacc.c:1646  */
 2785:     break;
 2786: 
 2787:   case 64:
 2788: #line 227 "awkgram.y" /* yacc.c:1646  */
 2789:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2790: #line 2791 "y.tab.c" /* yacc.c:1646  */
 2791:     break;
 2792: 
 2793:   case 65:
 2794: #line 228 "awkgram.y" /* yacc.c:1646  */
 2795:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2796: #line 2797 "y.tab.c" /* yacc.c:1646  */
 2797:     break;
 2798: 
 2799:   case 66:
 2800: #line 229 "awkgram.y" /* yacc.c:1646  */
 2801:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2802: #line 2803 "y.tab.c" /* yacc.c:1646  */
 2803:     break;
 2804: 
 2805:   case 67:
 2806: #line 230 "awkgram.y" /* yacc.c:1646  */
 2807:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2808: #line 2809 "y.tab.c" /* yacc.c:1646  */
 2809:     break;
 2810: 
 2811:   case 68:
 2812: #line 231 "awkgram.y" /* yacc.c:1646  */
 2813:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2814: #line 2815 "y.tab.c" /* yacc.c:1646  */
 2815:     break;
 2816: 
 2817:   case 69:
 2818: #line 232 "awkgram.y" /* yacc.c:1646  */
 2819:     { (yyval.p) = op2((yyvsp[-1].i), (yyvsp[-2].p), (yyvsp[0].p)); }
 2820: #line 2821 "y.tab.c" /* yacc.c:1646  */
 2821:     break;
 2822: 
 2823:   case 70:
 2824: #line 233 "awkgram.y" /* yacc.c:1646  */
 2825:     { (yyval.p) = op3((yyvsp[-1].i), NIL, (yyvsp[-2].p), (Node*)makedfa((yyvsp[0].s), 0)); }
 2826: #line 2827 "y.tab.c" /* yacc.c:1646  */
 2827:     break;
 2828: 
 2829:   case 71:
 2830: #line 235 "awkgram.y" /* yacc.c:1646  */
 2831:     { if (constnode((yyvsp[0].p)))
 2832:             (yyval.p) = op3((yyvsp[-1].i), NIL, (yyvsp[-2].p), (Node*)makedfa(strnode((yyvsp[0].p)), 0));
 2833:           else
 2834:             (yyval.p) = op3((yyvsp[-1].i), (Node *)1, (yyvsp[-2].p), (yyvsp[0].p)); }
 2835: #line 2836 "y.tab.c" /* yacc.c:1646  */
 2836:     break;
 2837: 
 2838:   case 72:
 2839: #line 239 "awkgram.y" /* yacc.c:1646  */
 2840:     { (yyval.p) = op2(INTEST, (yyvsp[-2].p), makearr((yyvsp[0].p))); }
 2841: #line 2842 "y.tab.c" /* yacc.c:1646  */
 2842:     break;
 2843: 
 2844:   case 73:
 2845: #line 240 "awkgram.y" /* yacc.c:1646  */
 2846:     { (yyval.p) = op2(INTEST, (yyvsp[-3].p), makearr((yyvsp[0].p))); }
 2847: #line 2848 "y.tab.c" /* yacc.c:1646  */
 2848:     break;
 2849: 
 2850:   case 74:
 2851: #line 241 "awkgram.y" /* yacc.c:1646  */
 2852:     { 
 2853:             if (safe) SYNTAX("cmd | getline is unsafe");
 2854:             else (yyval.p) = op3(GETLINE, (yyvsp[0].p), itonp((yyvsp[-2].i)), (yyvsp[-3].p)); }
 2855: #line 2856 "y.tab.c" /* yacc.c:1646  */
 2856:     break;
 2857: 
 2858:   case 75:
 2859: #line 244 "awkgram.y" /* yacc.c:1646  */
 2860:     { 
 2861:             if (safe) SYNTAX("cmd | getline is unsafe");
 2862:             else (yyval.p) = op3(GETLINE, (Node*)0, itonp((yyvsp[-1].i)), (yyvsp[-2].p)); }
 2863: #line 2864 "y.tab.c" /* yacc.c:1646  */
 2864:     break;
 2865: 
 2866:   case 76:
 2867: #line 247 "awkgram.y" /* yacc.c:1646  */
 2868:     { (yyval.p) = op2(CAT, (yyvsp[-1].p), (yyvsp[0].p)); }
 2869: #line 2870 "y.tab.c" /* yacc.c:1646  */
 2870:     break;
 2871: 
 2872:   case 79:
 2873: #line 253 "awkgram.y" /* yacc.c:1646  */
 2874:     { (yyval.p) = linkum((yyvsp[-2].p), (yyvsp[0].p)); }
 2875: #line 2876 "y.tab.c" /* yacc.c:1646  */
 2876:     break;
 2877: 
 2878:   case 80:
 2879: #line 254 "awkgram.y" /* yacc.c:1646  */
 2880:     { (yyval.p) = linkum((yyvsp[-2].p), (yyvsp[0].p)); }
 2881: #line 2882 "y.tab.c" /* yacc.c:1646  */
 2882:     break;
 2883: 
 2884:   case 82:
 2885: #line 259 "awkgram.y" /* yacc.c:1646  */
 2886:     { (yyval.p) = linkum((yyvsp[-2].p), (yyvsp[0].p)); }
 2887: #line 2888 "y.tab.c" /* yacc.c:1646  */
 2888:     break;
 2889: 
 2890:   case 83:
 2891: #line 263 "awkgram.y" /* yacc.c:1646  */
 2892:     { (yyval.p) = rectonode(); }
 2893: #line 2894 "y.tab.c" /* yacc.c:1646  */
 2894:     break;
 2895: 
 2896:   case 85:
 2897: #line 265 "awkgram.y" /* yacc.c:1646  */
 2898:     { (yyval.p) = (yyvsp[-1].p); }
 2899: #line 2900 "y.tab.c" /* yacc.c:1646  */
 2900:     break;
 2901: 
 2902:   case 94:
 2903: #line 282 "awkgram.y" /* yacc.c:1646  */
 2904:     { (yyval.p) = op3(MATCH, NIL, rectonode(), (Node*)makedfa((yyvsp[0].s), 0)); }
 2905: #line 2906 "y.tab.c" /* yacc.c:1646  */
 2906:     break;
 2907: 
 2908:   case 95:
 2909: #line 283 "awkgram.y" /* yacc.c:1646  */
 2910:     { (yyval.p) = op1(NOT, notnull((yyvsp[0].p))); }
 2911: #line 2912 "y.tab.c" /* yacc.c:1646  */
 2912:     break;
 2913: 
 2914:   case 96:
 2915: #line 287 "awkgram.y" /* yacc.c:1646  */
 2916:     {startreg();}
 2917: #line 2918 "y.tab.c" /* yacc.c:1646  */
 2918:     break;
 2919: 
 2920:   case 97:
 2921: #line 287 "awkgram.y" /* yacc.c:1646  */
 2922:     { (yyval.s) = (yyvsp[-1].s); }
 2923: #line 2924 "y.tab.c" /* yacc.c:1646  */
 2924:     break;
 2925: 
 2926:   case 100:
 2927: #line 295 "awkgram.y" /* yacc.c:1646  */
 2928:     { 
 2929:             if (safe) SYNTAX("print | is unsafe");
 2930:             else (yyval.p) = stat3((yyvsp[-3].i), (yyvsp[-2].p), itonp((yyvsp[-1].i)), (yyvsp[0].p)); }
 2931: #line 2932 "y.tab.c" /* yacc.c:1646  */
 2932:     break;
 2933: 
 2934:   case 101:
 2935: #line 298 "awkgram.y" /* yacc.c:1646  */
 2936:     {
 2937:             if (safe) SYNTAX("print >> is unsafe");
 2938:             else (yyval.p) = stat3((yyvsp[-3].i), (yyvsp[-2].p), itonp((yyvsp[-1].i)), (yyvsp[0].p)); }
 2939: #line 2940 "y.tab.c" /* yacc.c:1646  */
 2940:     break;
 2941: 
 2942:   case 102:
 2943: #line 301 "awkgram.y" /* yacc.c:1646  */
 2944:     {
 2945:             if (safe) SYNTAX("print > is unsafe");
 2946:             else (yyval.p) = stat3((yyvsp[-3].i), (yyvsp[-2].p), itonp((yyvsp[-1].i)), (yyvsp[0].p)); }
 2947: #line 2948 "y.tab.c" /* yacc.c:1646  */
 2948:     break;
 2949: 
 2950:   case 103:
 2951: #line 304 "awkgram.y" /* yacc.c:1646  */
 2952:     { (yyval.p) = stat3((yyvsp[-1].i), (yyvsp[0].p), NIL, NIL); }
 2953: #line 2954 "y.tab.c" /* yacc.c:1646  */
 2954:     break;
 2955: 
 2956:   case 104:
 2957: #line 305 "awkgram.y" /* yacc.c:1646  */
 2958:     { (yyval.p) = stat2(DELETE, makearr((yyvsp[-3].p)), (yyvsp[-1].p)); }
 2959: #line 2960 "y.tab.c" /* yacc.c:1646  */
 2960:     break;
 2961: 
 2962:   case 105:
 2963: #line 306 "awkgram.y" /* yacc.c:1646  */
 2964:     { (yyval.p) = stat2(DELETE, makearr((yyvsp[0].p)), 0); }
 2965: #line 2966 "y.tab.c" /* yacc.c:1646  */
 2966:     break;
 2967: 
 2968:   case 106:
 2969: #line 307 "awkgram.y" /* yacc.c:1646  */
 2970:     { (yyval.p) = exptostat((yyvsp[0].p)); }
 2971: #line 2972 "y.tab.c" /* yacc.c:1646  */
 2972:     break;
 2973: 
 2974:   case 107:
 2975: #line 308 "awkgram.y" /* yacc.c:1646  */
 2976:     { yyclearin; SYNTAX("illegal statement"); }
 2977: #line 2978 "y.tab.c" /* yacc.c:1646  */
 2978:     break;
 2979: 
 2980:   case 110:
 2981: #line 317 "awkgram.y" /* yacc.c:1646  */
 2982:     { if (!inloop) SYNTAX("break illegal outside of loops");
 2983:                   (yyval.p) = stat1(BREAK, NIL); }
 2984: #line 2985 "y.tab.c" /* yacc.c:1646  */
 2985:     break;
 2986: 
 2987:   case 111:
 2988: #line 319 "awkgram.y" /* yacc.c:1646  */
 2989:     {  if (!inloop) SYNTAX("continue illegal outside of loops");
 2990:                   (yyval.p) = stat1(CONTINUE, NIL); }
 2991: #line 2992 "y.tab.c" /* yacc.c:1646  */
 2992:     break;
 2993: 
 2994:   case 112:
 2995: #line 321 "awkgram.y" /* yacc.c:1646  */
 2996:     {inloop++;}
 2997: #line 2998 "y.tab.c" /* yacc.c:1646  */
 2998:     break;
 2999: 
 3000:   case 113:
 3001: #line 321 "awkgram.y" /* yacc.c:1646  */
 3002:     {--inloop;}
 3003: #line 3004 "y.tab.c" /* yacc.c:1646  */
 3004:     break;
 3005: 
 3006:   case 114:
 3007: #line 322 "awkgram.y" /* yacc.c:1646  */
 3008:     { (yyval.p) = stat2(DO, (yyvsp[-6].p), notnull((yyvsp[-2].p))); }
 3009: #line 3010 "y.tab.c" /* yacc.c:1646  */
 3010:     break;
 3011: 
 3012:   case 115:
 3013: #line 323 "awkgram.y" /* yacc.c:1646  */
 3014:     { (yyval.p) = stat1(EXIT, (yyvsp[-1].p)); }
 3015: #line 3016 "y.tab.c" /* yacc.c:1646  */
 3016:     break;
 3017: 
 3018:   case 116:
 3019: #line 324 "awkgram.y" /* yacc.c:1646  */
 3020:     { (yyval.p) = stat1(EXIT, NIL); }
 3021: #line 3022 "y.tab.c" /* yacc.c:1646  */
 3022:     break;
 3023: 
 3024:   case 118:
 3025: #line 326 "awkgram.y" /* yacc.c:1646  */
 3026:     { (yyval.p) = stat3(IF, (yyvsp[-3].p), (yyvsp[-2].p), (yyvsp[0].p)); }
 3027: #line 3028 "y.tab.c" /* yacc.c:1646  */
 3028:     break;
 3029: 
 3030:   case 119:
 3031: #line 327 "awkgram.y" /* yacc.c:1646  */
 3032:     { (yyval.p) = stat3(IF, (yyvsp[-1].p), (yyvsp[0].p), NIL); }
 3033: #line 3034 "y.tab.c" /* yacc.c:1646  */
 3034:     break;
 3035: 
 3036:   case 120:
 3037: #line 328 "awkgram.y" /* yacc.c:1646  */
 3038:     { (yyval.p) = (yyvsp[-1].p); }
 3039: #line 3040 "y.tab.c" /* yacc.c:1646  */
 3040:     break;
 3041: 
 3042:   case 121:
 3043: #line 329 "awkgram.y" /* yacc.c:1646  */
 3044:     { if (infunc)
 3045:                 SYNTAX("next is illegal inside a function");
 3046:               (yyval.p) = stat1(NEXT, NIL); }
 3047: #line 3048 "y.tab.c" /* yacc.c:1646  */
 3048:     break;
 3049: 
 3050:   case 122:
 3051: #line 332 "awkgram.y" /* yacc.c:1646  */
 3052:     { if (infunc)
 3053:                 SYNTAX("nextfile is illegal inside a function");
 3054:               (yyval.p) = stat1(NEXTFILE, NIL); }
 3055: #line 3056 "y.tab.c" /* yacc.c:1646  */
 3056:     break;
 3057: 
 3058:   case 123:
 3059: #line 335 "awkgram.y" /* yacc.c:1646  */
 3060:     { (yyval.p) = stat1(RETURN, (yyvsp[-1].p)); }
 3061: #line 3062 "y.tab.c" /* yacc.c:1646  */
 3062:     break;
 3063: 
 3064:   case 124:
 3065: #line 336 "awkgram.y" /* yacc.c:1646  */
 3066:     { (yyval.p) = stat1(RETURN, NIL); }
 3067: #line 3068 "y.tab.c" /* yacc.c:1646  */
 3068:     break;
 3069: 
 3070:   case 126:
 3071: #line 338 "awkgram.y" /* yacc.c:1646  */
 3072:     {inloop++;}
 3073: #line 3074 "y.tab.c" /* yacc.c:1646  */
 3074:     break;
 3075: 
 3076:   case 127:
 3077: #line 338 "awkgram.y" /* yacc.c:1646  */
 3078:     { --inloop; (yyval.p) = stat2(WHILE, (yyvsp[-2].p), (yyvsp[0].p)); }
 3079: #line 3080 "y.tab.c" /* yacc.c:1646  */
 3080:     break;
 3081: 
 3082:   case 128:
 3083: #line 339 "awkgram.y" /* yacc.c:1646  */
 3084:     { (yyval.p) = 0; }
 3085: #line 3086 "y.tab.c" /* yacc.c:1646  */
 3086:     break;
 3087: 
 3088:   case 130:
 3089: #line 344 "awkgram.y" /* yacc.c:1646  */
 3090:     { (yyval.p) = linkum((yyvsp[-1].p), (yyvsp[0].p)); }
 3091: #line 3092 "y.tab.c" /* yacc.c:1646  */
 3092:     break;
 3093: 
 3094:   case 133:
 3095: #line 352 "awkgram.y" /* yacc.c:1646  */
 3096:     { (yyval.p) = op2(DIVEQ, (yyvsp[-3].p), (yyvsp[0].p)); }
 3097: #line 3098 "y.tab.c" /* yacc.c:1646  */
 3098:     break;
 3099: 
 3100:   case 134:
 3101: #line 353 "awkgram.y" /* yacc.c:1646  */
 3102:     { (yyval.p) = op2(ADD, (yyvsp[-2].p), (yyvsp[0].p)); }
 3103: #line 3104 "y.tab.c" /* yacc.c:1646  */
 3104:     break;
 3105: 
 3106:   case 135:
 3107: #line 354 "awkgram.y" /* yacc.c:1646  */
 3108:     { (yyval.p) = op2(MINUS, (yyvsp[-2].p), (yyvsp[0].p)); }
 3109: #line 3110 "y.tab.c" /* yacc.c:1646  */
 3110:     break;
 3111: 
 3112:   case 136:
 3113: #line 355 "awkgram.y" /* yacc.c:1646  */
 3114:     { (yyval.p) = op2(MULT, (yyvsp[-2].p), (yyvsp[0].p)); }
 3115: #line 3116 "y.tab.c" /* yacc.c:1646  */
 3116:     break;
 3117: 
 3118:   case 137:
 3119: #line 356 "awkgram.y" /* yacc.c:1646  */
 3120:     { (yyval.p) = op2(DIVIDE, (yyvsp[-2].p), (yyvsp[0].p)); }
 3121: #line 3122 "y.tab.c" /* yacc.c:1646  */
 3122:     break;
 3123: 
 3124:   case 138:
 3125: #line 357 "awkgram.y" /* yacc.c:1646  */
 3126:     { (yyval.p) = op2(MOD, (yyvsp[-2].p), (yyvsp[0].p)); }
 3127: #line 3128 "y.tab.c" /* yacc.c:1646  */
 3128:     break;
 3129: 
 3130:   case 139:
 3131: #line 358 "awkgram.y" /* yacc.c:1646  */
 3132:     { (yyval.p) = op2(POWER, (yyvsp[-2].p), (yyvsp[0].p)); }
 3133: #line 3134 "y.tab.c" /* yacc.c:1646  */
 3134:     break;
 3135: 
 3136:   case 140:
 3137: #line 359 "awkgram.y" /* yacc.c:1646  */
 3138:     { (yyval.p) = op1(UMINUS, (yyvsp[0].p)); }
 3139: #line 3140 "y.tab.c" /* yacc.c:1646  */
 3140:     break;
 3141: 
 3142:   case 141:
 3143: #line 360 "awkgram.y" /* yacc.c:1646  */
 3144:     { (yyval.p) = (yyvsp[0].p); }
 3145: #line 3146 "y.tab.c" /* yacc.c:1646  */
 3146:     break;
 3147: 
 3148:   case 142:
 3149: #line 361 "awkgram.y" /* yacc.c:1646  */
 3150:     { (yyval.p) = op1(NOT, notnull((yyvsp[0].p))); }
 3151: #line 3152 "y.tab.c" /* yacc.c:1646  */
 3152:     break;
 3153: 
 3154:   case 143:
 3155: #line 362 "awkgram.y" /* yacc.c:1646  */
 3156:     { (yyval.p) = op2(BLTIN, itonp((yyvsp[-2].i)), rectonode()); }
 3157: #line 3158 "y.tab.c" /* yacc.c:1646  */
 3158:     break;
 3159: 
 3160:   case 144:
 3161: #line 363 "awkgram.y" /* yacc.c:1646  */
 3162:     { (yyval.p) = op2(BLTIN, itonp((yyvsp[-3].i)), (yyvsp[-1].p)); }
 3163: #line 3164 "y.tab.c" /* yacc.c:1646  */
 3164:     break;
 3165: 
 3166:   case 145:
 3167: #line 364 "awkgram.y" /* yacc.c:1646  */
 3168:     { (yyval.p) = op2(BLTIN, itonp((yyvsp[0].i)), rectonode()); }
 3169: #line 3170 "y.tab.c" /* yacc.c:1646  */
 3170:     break;
 3171: 
 3172:   case 146:
 3173: #line 365 "awkgram.y" /* yacc.c:1646  */
 3174:     { (yyval.p) = op2(CALL, celltonode((yyvsp[-2].cp),CVAR), NIL); }
 3175: #line 3176 "y.tab.c" /* yacc.c:1646  */
 3176:     break;
 3177: 
 3178:   case 147:
 3179: #line 366 "awkgram.y" /* yacc.c:1646  */
 3180:     { (yyval.p) = op2(CALL, celltonode((yyvsp[-3].cp),CVAR), (yyvsp[-1].p)); }
 3181: #line 3182 "y.tab.c" /* yacc.c:1646  */
 3182:     break;
 3183: 
 3184:   case 148:
 3185: #line 367 "awkgram.y" /* yacc.c:1646  */
 3186:     { (yyval.p) = op1(CLOSE, (yyvsp[0].p)); }
 3187: #line 3188 "y.tab.c" /* yacc.c:1646  */
 3188:     break;
 3189: 
 3190:   case 149:
 3191: #line 368 "awkgram.y" /* yacc.c:1646  */
 3192:     { (yyval.p) = op1(PREDECR, (yyvsp[0].p)); }
 3193: #line 3194 "y.tab.c" /* yacc.c:1646  */
 3194:     break;
 3195: 
 3196:   case 150:
 3197: #line 369 "awkgram.y" /* yacc.c:1646  */
 3198:     { (yyval.p) = op1(PREINCR, (yyvsp[0].p)); }
 3199: #line 3200 "y.tab.c" /* yacc.c:1646  */
 3200:     break;
 3201: 
 3202:   case 151:
 3203: #line 370 "awkgram.y" /* yacc.c:1646  */
 3204:     { (yyval.p) = op1(POSTDECR, (yyvsp[-1].p)); }
 3205: #line 3206 "y.tab.c" /* yacc.c:1646  */
 3206:     break;
 3207: 
 3208:   case 152:
 3209: #line 371 "awkgram.y" /* yacc.c:1646  */
 3210:     { (yyval.p) = op1(POSTINCR, (yyvsp[-1].p)); }
 3211: #line 3212 "y.tab.c" /* yacc.c:1646  */
 3212:     break;
 3213: 
 3214:   case 153:
 3215: #line 372 "awkgram.y" /* yacc.c:1646  */
 3216:     { (yyval.p) = op3(GETLINE, (yyvsp[-2].p), itonp((yyvsp[-1].i)), (yyvsp[0].p)); }
 3217: #line 3218 "y.tab.c" /* yacc.c:1646  */
 3218:     break;
 3219: 
 3220:   case 154:
 3221: #line 373 "awkgram.y" /* yacc.c:1646  */
 3222:     { (yyval.p) = op3(GETLINE, NIL, itonp((yyvsp[-1].i)), (yyvsp[0].p)); }
 3223: #line 3224 "y.tab.c" /* yacc.c:1646  */
 3224:     break;
 3225: 
 3226:   case 155:
 3227: #line 374 "awkgram.y" /* yacc.c:1646  */
 3228:     { (yyval.p) = op3(GETLINE, (yyvsp[0].p), NIL, NIL); }
 3229: #line 3230 "y.tab.c" /* yacc.c:1646  */
 3230:     break;
 3231: 
 3232:   case 156:
 3233: #line 375 "awkgram.y" /* yacc.c:1646  */
 3234:     { (yyval.p) = op3(GETLINE, NIL, NIL, NIL); }
 3235: #line 3236 "y.tab.c" /* yacc.c:1646  */
 3236:     break;
 3237: 
 3238:   case 157:
 3239: #line 377 "awkgram.y" /* yacc.c:1646  */
 3240:     { (yyval.p) = op2(INDEX, (yyvsp[-3].p), (yyvsp[-1].p)); }
 3241: #line 3242 "y.tab.c" /* yacc.c:1646  */
 3242:     break;
 3243: 
 3244:   case 158:
 3245: #line 379 "awkgram.y" /* yacc.c:1646  */
 3246:     { SYNTAX("index() doesn't permit regular expressions");
 3247:           (yyval.p) = op2(INDEX, (yyvsp[-3].p), (Node*)(yyvsp[-1].s)); }
 3248: #line 3249 "y.tab.c" /* yacc.c:1646  */
 3249:     break;
 3250: 
 3251:   case 159:
 3252: #line 381 "awkgram.y" /* yacc.c:1646  */
 3253:     { (yyval.p) = (yyvsp[-1].p); }
 3254: #line 3255 "y.tab.c" /* yacc.c:1646  */
 3255:     break;
 3256: 
 3257:   case 160:
 3258: #line 383 "awkgram.y" /* yacc.c:1646  */
 3259:     { (yyval.p) = op3(MATCHFCN, NIL, (yyvsp[-3].p), (Node*)makedfa((yyvsp[-1].s), 1)); }
 3260: #line 3261 "y.tab.c" /* yacc.c:1646  */
 3261:     break;
 3262: 
 3263:   case 161:
 3264: #line 385 "awkgram.y" /* yacc.c:1646  */
 3265:     { if (constnode((yyvsp[-1].p)))
 3266:             (yyval.p) = op3(MATCHFCN, NIL, (yyvsp[-3].p), (Node*)makedfa(strnode((yyvsp[-1].p)), 1));
 3267:           else
 3268:             (yyval.p) = op3(MATCHFCN, (Node *)1, (yyvsp[-3].p), (yyvsp[-1].p)); }
 3269: #line 3270 "y.tab.c" /* yacc.c:1646  */
 3270:     break;
 3271: 
 3272:   case 162:
 3273: #line 389 "awkgram.y" /* yacc.c:1646  */
 3274:     { (yyval.p) = celltonode((yyvsp[0].cp), CCON); }
 3275: #line 3276 "y.tab.c" /* yacc.c:1646  */
 3276:     break;
 3277: 
 3278:   case 163:
 3279: #line 391 "awkgram.y" /* yacc.c:1646  */
 3280:     { (yyval.p) = op4(SPLIT, (yyvsp[-5].p), makearr((yyvsp[-3].p)), (yyvsp[-1].p), (Node*)STRING); }
 3281: #line 3282 "y.tab.c" /* yacc.c:1646  */
 3282:     break;
 3283: 
 3284:   case 164:
 3285: #line 393 "awkgram.y" /* yacc.c:1646  */
 3286:     { (yyval.p) = op4(SPLIT, (yyvsp[-5].p), makearr((yyvsp[-3].p)), (Node*)makedfa((yyvsp[-1].s), 1), (Node *)REGEXPR); }
 3287: #line 3288 "y.tab.c" /* yacc.c:1646  */
 3288:     break;
 3289: 
 3290:   case 165:
 3291: #line 395 "awkgram.y" /* yacc.c:1646  */
 3292:     { (yyval.p) = op4(SPLIT, (yyvsp[-3].p), makearr((yyvsp[-1].p)), NIL, (Node*)STRING); }
 3293: #line 3294 "y.tab.c" /* yacc.c:1646  */
 3294:     break;
 3295: 
 3296:   case 166:
 3297: #line 396 "awkgram.y" /* yacc.c:1646  */
 3298:     { (yyval.p) = op1((yyvsp[-3].i), (yyvsp[-1].p)); }
 3299: #line 3300 "y.tab.c" /* yacc.c:1646  */
 3300:     break;
 3301: 
 3302:   case 167:
 3303: #line 397 "awkgram.y" /* yacc.c:1646  */
 3304:     { (yyval.p) = celltonode((yyvsp[0].cp), CCON); }
 3305: #line 3306 "y.tab.c" /* yacc.c:1646  */
 3306:     break;
 3307: 
 3308:   case 168:
 3309: #line 399 "awkgram.y" /* yacc.c:1646  */
 3310:     { (yyval.p) = op4((yyvsp[-5].i), NIL, (Node*)makedfa((yyvsp[-3].s), 1), (yyvsp[-1].p), rectonode()); }
 3311: #line 3312 "y.tab.c" /* yacc.c:1646  */
 3312:     break;
 3313: 
 3314:   case 169:
 3315: #line 401 "awkgram.y" /* yacc.c:1646  */
 3316:     { if (constnode((yyvsp[-3].p)))
 3317:             (yyval.p) = op4((yyvsp[-5].i), NIL, (Node*)makedfa(strnode((yyvsp[-3].p)), 1), (yyvsp[-1].p), rectonode());
 3318:           else
 3319:             (yyval.p) = op4((yyvsp[-5].i), (Node *)1, (yyvsp[-3].p), (yyvsp[-1].p), rectonode()); }
 3320: #line 3321 "y.tab.c" /* yacc.c:1646  */
 3321:     break;
 3322: 
 3323:   case 170:
 3324: #line 406 "awkgram.y" /* yacc.c:1646  */
 3325:     { (yyval.p) = op4((yyvsp[-7].i), NIL, (Node*)makedfa((yyvsp[-5].s), 1), (yyvsp[-3].p), (yyvsp[-1].p)); }
 3326: #line 3327 "y.tab.c" /* yacc.c:1646  */
 3327:     break;
 3328: 
 3329:   case 171:
 3330: #line 408 "awkgram.y" /* yacc.c:1646  */
 3331:     { if (constnode((yyvsp[-5].p)))
 3332:             (yyval.p) = op4((yyvsp[-7].i), NIL, (Node*)makedfa(strnode((yyvsp[-5].p)), 1), (yyvsp[-3].p), (yyvsp[-1].p));
 3333:           else
 3334:             (yyval.p) = op4((yyvsp[-7].i), (Node *)1, (yyvsp[-5].p), (yyvsp[-3].p), (yyvsp[-1].p)); }
 3335: #line 3336 "y.tab.c" /* yacc.c:1646  */
 3336:     break;
 3337: 
 3338:   case 172:
 3339: #line 413 "awkgram.y" /* yacc.c:1646  */
 3340:     { (yyval.p) = op3(SUBSTR, (yyvsp[-5].p), (yyvsp[-3].p), (yyvsp[-1].p)); }
 3341: #line 3342 "y.tab.c" /* yacc.c:1646  */
 3342:     break;
 3343: 
 3344:   case 173:
 3345: #line 415 "awkgram.y" /* yacc.c:1646  */
 3346:     { (yyval.p) = op3(SUBSTR, (yyvsp[-3].p), (yyvsp[-1].p), NIL); }
 3347: #line 3348 "y.tab.c" /* yacc.c:1646  */
 3348:     break;
 3349: 
 3350:   case 176:
 3351: #line 421 "awkgram.y" /* yacc.c:1646  */
 3352:     { (yyval.p) = op2(ARRAY, makearr((yyvsp[-3].p)), (yyvsp[-1].p)); }
 3353: #line 3354 "y.tab.c" /* yacc.c:1646  */
 3354:     break;
 3355: 
 3356:   case 177:
 3357: #line 422 "awkgram.y" /* yacc.c:1646  */
 3358:     { (yyval.p) = op1(INDIRECT, celltonode((yyvsp[0].cp), CVAR)); }
 3359: #line 3360 "y.tab.c" /* yacc.c:1646  */
 3360:     break;
 3361: 
 3362:   case 178:
 3363: #line 423 "awkgram.y" /* yacc.c:1646  */
 3364:     { (yyval.p) = op1(INDIRECT, (yyvsp[0].p)); }
 3365: #line 3366 "y.tab.c" /* yacc.c:1646  */
 3366:     break;
 3367: 
 3368:   case 179:
 3369: #line 427 "awkgram.y" /* yacc.c:1646  */
 3370:     { arglist = (yyval.p) = 0; }
 3371: #line 3372 "y.tab.c" /* yacc.c:1646  */
 3372:     break;
 3373: 
 3374:   case 180:
 3375: #line 428 "awkgram.y" /* yacc.c:1646  */
 3376:     { arglist = (yyval.p) = celltonode((yyvsp[0].cp),CVAR); }
 3377: #line 3378 "y.tab.c" /* yacc.c:1646  */
 3378:     break;
 3379: 
 3380:   case 181:
 3381: #line 429 "awkgram.y" /* yacc.c:1646  */
 3382:     {
 3383:             checkdup((yyvsp[-2].p), (yyvsp[0].cp));
 3384:             arglist = (yyval.p) = linkum((yyvsp[-2].p),celltonode((yyvsp[0].cp),CVAR)); }
 3385: #line 3386 "y.tab.c" /* yacc.c:1646  */
 3386:     break;
 3387: 
 3388:   case 182:
 3389: #line 435 "awkgram.y" /* yacc.c:1646  */
 3390:     { (yyval.p) = celltonode((yyvsp[0].cp), CVAR); }
 3391: #line 3392 "y.tab.c" /* yacc.c:1646  */
 3392:     break;
 3393: 
 3394:   case 183:
 3395: #line 436 "awkgram.y" /* yacc.c:1646  */
 3396:     { (yyval.p) = op1(ARG, itonp((yyvsp[0].i))); }
 3397: #line 3398 "y.tab.c" /* yacc.c:1646  */
 3398:     break;
 3399: 
 3400:   case 184:
 3401: #line 437 "awkgram.y" /* yacc.c:1646  */
 3402:     { (yyval.p) = op1(VARNF, (Node *) (yyvsp[0].cp)); }
 3403: #line 3404 "y.tab.c" /* yacc.c:1646  */
 3404:     break;
 3405: 
 3406:   case 185:
 3407: #line 442 "awkgram.y" /* yacc.c:1646  */
 3408:     { (yyval.p) = notnull((yyvsp[-1].p)); }
 3409: #line 3410 "y.tab.c" /* yacc.c:1646  */
 3410:     break;
 3411: 
 3412: 
 3413: #line 3414 "y.tab.c" /* yacc.c:1646  */
 3414:       default: break;
 3415:     }
 3416:   /* User semantic actions sometimes alter yychar, and that requires
 3417:      that yytoken be updated with the new translation.  We take the
 3418:      approach of translating immediately before every use of yytoken.
 3419:      One alternative is translating here after every semantic action,
 3420:      but that translation would be missed if the semantic action invokes
 3421:      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
 3422:      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
 3423:      incorrect destructor might then be invoked immediately.  In the
 3424:      case of YYERROR or YYBACKUP, subsequent parser actions might lead
 3425:      to an incorrect destructor call or verbose syntax error message
 3426:      before the lookahead is translated.  */
 3427:   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 3428: 
 3429:   YYPOPSTACK (yylen);
 3430:   yylen = 0;
 3431:   YY_STACK_PRINT (yyss, yyssp);
 3432: 
 3433:   *++yyvsp = yyval;
 3434: 
 3435:   /* Now 'shift' the result of the reduction.  Determine what state
 3436:      that goes to, based on the state we popped back to and the rule
 3437:      number reduced by.  */
 3438: 
 3439:   yyn = yyr1[yyn];
 3440: 
 3441:   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
 3442:   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
 3443:     yystate = yytable[yystate];
 3444:   else
 3445:     yystate = yydefgoto[yyn - YYNTOKENS];
 3446: 
 3447:   goto yynewstate;
 3448: 
 3449: 
 3450: /*--------------------------------------.
 3451: | yyerrlab -- here on detecting error.  |
 3452: `--------------------------------------*/
 3453: yyerrlab:
 3454:   /* Make sure we have latest lookahead translation.  See comments at
 3455:      user semantic actions for why this is necessary.  */
 3456:   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
 3457: 
 3458:   /* If not already recovering from an error, report this error.  */
 3459:   if (!yyerrstatus)
 3460:     {
 3461:       ++yynerrs;
 3462: #if ! YYERROR_VERBOSE
 3463:       yyerror (YY_("syntax error"));
 3464: #else
 3465: # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
 3466:                                         yyssp, yytoken)
 3467:       {
 3468:         char const *yymsgp = YY_("syntax error");
 3469:         int yysyntax_error_status;
 3470:         yysyntax_error_status = YYSYNTAX_ERROR;
 3471:         if (yysyntax_error_status == 0)
 3472:           yymsgp = yymsg;
 3473:         else if (yysyntax_error_status == 1)
 3474:           {
 3475:             if (yymsg != yymsgbuf)
 3476:               YYSTACK_FREE (yymsg);
 3477:             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
 3478:             if (!yymsg)
 3479:               {
 3480:                 yymsg = yymsgbuf;
 3481:                 yymsg_alloc = sizeof yymsgbuf;
 3482:                 yysyntax_error_status = 2;
 3483:               }
 3484:             else
 3485:               {
 3486:                 yysyntax_error_status = YYSYNTAX_ERROR;
 3487:                 yymsgp = yymsg;
 3488:               }
 3489:           }
 3490:         yyerror (yymsgp);
 3491:         if (yysyntax_error_status == 2)
 3492:           goto yyexhaustedlab;
 3493:       }
 3494: # undef YYSYNTAX_ERROR
 3495: #endif
 3496:     }
 3497: 
 3498: 
 3499: 
 3500:   if (yyerrstatus == 3)
 3501:     {
 3502:       /* If just tried and failed to reuse lookahead token after an
 3503:          error, discard it.  */
 3504: 
 3505:       if (yychar <= YYEOF)
 3506:         {
 3507:           /* Return failure if at end of input.  */
 3508:           if (yychar == YYEOF)
 3509:             YYABORT;
 3510:         }
 3511:       else
 3512:         {
 3513:           yydestruct ("Error: discarding",
 3514:                       yytoken, &yylval);
 3515:           yychar = YYEMPTY;
 3516:         }
 3517:     }
 3518: 
 3519:   /* Else will try to reuse lookahead token after shifting the error
 3520:      token.  */
 3521:   goto yyerrlab1;
 3522: 
 3523: 
 3524: /*---------------------------------------------------.
 3525: | yyerrorlab -- error raised explicitly by YYERROR.  |
 3526: `---------------------------------------------------*/
 3527: yyerrorlab:
 3528: 
 3529:   /* Pacify compilers like GCC when the user code never invokes
 3530:      YYERROR and the label yyerrorlab therefore never appears in user
 3531:      code.  */
 3532:   if (/*CONSTCOND*/ 0)
 3533:      goto yyerrorlab;
 3534: 
 3535:   /* Do not reclaim the symbols of the rule whose action triggered
 3536:      this YYERROR.  */
 3537:   YYPOPSTACK (yylen);
 3538:   yylen = 0;
 3539:   YY_STACK_PRINT (yyss, yyssp);
 3540:   yystate = *yyssp;
 3541:   goto yyerrlab1;
 3542: 
 3543: 
 3544: /*-------------------------------------------------------------.
 3545: | yyerrlab1 -- common code for both syntax error and YYERROR.  |
 3546: `-------------------------------------------------------------*/
 3547: yyerrlab1:
 3548:   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 3549: 
 3550:   for (;;)
 3551:     {
 3552:       yyn = yypact[yystate];
 3553:       if (!yypact_value_is_default (yyn))
 3554:         {
 3555:           yyn += YYTERROR;
 3556:           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
 3557:             {
 3558:               yyn = yytable[yyn];
 3559:               if (0 < yyn)
 3560:                 break;
 3561:             }
 3562:         }
 3563: 
 3564:       /* Pop the current state because it cannot handle the error token.  */
 3565:       if (yyssp == yyss)
 3566:         YYABORT;
 3567: 
 3568: 
 3569:       yydestruct ("Error: popping",
 3570:                   yystos[yystate], yyvsp);
 3571:       YYPOPSTACK (1);
 3572:       yystate = *yyssp;
 3573:       YY_STACK_PRINT (yyss, yyssp);
 3574:     }
 3575: 
 3576:   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 3577:   *++yyvsp = yylval;
 3578:   YY_IGNORE_MAYBE_UNINITIALIZED_END
 3579: 
 3580: 
 3581:   /* Shift the error token.  */
 3582:   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 3583: 
 3584:   yystate = yyn;
 3585:   goto yynewstate;
 3586: 
 3587: 
 3588: /*-------------------------------------.
 3589: | yyacceptlab -- YYACCEPT comes here.  |
 3590: `-------------------------------------*/
 3591: yyacceptlab:
 3592:   yyresult = 0;
 3593:   goto yyreturn;
 3594: 
 3595: /*-----------------------------------.
 3596: | yyabortlab -- YYABORT comes here.  |
 3597: `-----------------------------------*/
 3598: yyabortlab:
 3599:   yyresult = 1;
 3600:   goto yyreturn;
 3601: 
 3602: #if !defined yyoverflow || YYERROR_VERBOSE
 3603: /*-------------------------------------------------.
 3604: | yyexhaustedlab -- memory exhaustion comes here.  |
 3605: `-------------------------------------------------*/
 3606: yyexhaustedlab:
 3607:   yyerror (YY_("memory exhausted"));
 3608:   yyresult = 2;
 3609:   /* Fall through.  */
 3610: #endif
 3611: 
 3612: yyreturn:
 3613:   if (yychar != YYEMPTY)
 3614:     {
 3615:       /* Make sure we have latest lookahead translation.  See comments at
 3616:          user semantic actions for why this is necessary.  */
 3617:       yytoken = YYTRANSLATE (yychar);
 3618:       yydestruct ("Cleanup: discarding lookahead",
 3619:                   yytoken, &yylval);
 3620:     }
 3621:   /* Do not reclaim the symbols of the rule whose action triggered
 3622:      this YYABORT or YYACCEPT.  */
 3623:   YYPOPSTACK (yylen);
 3624:   YY_STACK_PRINT (yyss, yyssp);
 3625:   while (yyssp != yyss)
 3626:     {
 3627:       yydestruct ("Cleanup: popping",
 3628:                   yystos[*yyssp], yyvsp);
 3629:       YYPOPSTACK (1);
 3630:     }
 3631: #ifndef yyoverflow
 3632:   if (yyss != yyssa)
 3633:     YYSTACK_FREE (yyss);
 3634: #endif
 3635: #if YYERROR_VERBOSE
 3636:   if (yymsg != yymsgbuf)
 3637:     YYSTACK_FREE (yymsg);
 3638: #endif
 3639:   return yyresult;
 3640: }
 3641: #line 445 "awkgram.y" /* yacc.c:1906  */
 3642: 
 3643: 
 3644: void setfname(Cell *p)
 3645: {
 3646:     if (isarr(p))
 3647:         SYNTAX("%s is an array, not a function", p->nval);
 3648:     else if (isfcn(p))
 3649:         SYNTAX("you can't define function %s more than once", p->nval);
 3650:     curfname = p->nval;
 3651: }
 3652: 
 3653: int constnode(Node *p)
 3654: {
 3655:     return isvalue(p) && ((Cell *) (p->narg[0]))->csub == CCON;
 3656: }
 3657: 
 3658: char *strnode(Node *p)
 3659: {
 3660:     return ((Cell *)(p->narg[0]))->sval;
 3661: }
 3662: 
 3663: Node *notnull(Node *n)
 3664: {
 3665:     switch (n->nobj) {
 3666:     case LE: case LT: case EQ: case NE: case GT: case GE:
 3667:     case BOR: case AND: case NOT:
 3668:         return n;
 3669:     default:
 3670:         return op2(NE, n, nullnode);
 3671:     }
 3672: }
 3673: 
 3674: void checkdup(Node *vl, Cell *cp)   /* check if name already in list */
 3675: {
 3676:     char *s = cp->nval;
 3677:     for ( ; vl; vl = vl->nnext) {
 3678:         if (strcmp(s, ((Cell *)(vl->narg[0]))->nval) == 0) {
 3679:             SYNTAX("duplicate argument %s", s);
 3680:             break;
 3681:         }
 3682:     }
 3683: }

CVSweb interface <joel.bertrand@systella.fr>