"Fossies" - the Fresh Open Source Software Archive

Member "abiword-3.0.2/plugins/mathview/itex2mml/y.tab.c" (21 Oct 2016, 221052 Bytes) of package /linux/misc/abiword-3.0.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "y.tab.c": 3.0.1_vs_3.0.2.

    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 /* Substitute the variable and function names.  */
   63 #define yyparse         itex2MML_yyparse
   64 #define yylex           itex2MML_yylex
   65 #define yyerror         itex2MML_yyerror
   66 #define yydebug         itex2MML_yydebug
   67 #define yynerrs         itex2MML_yynerrs
   68 
   69 #define yylval          itex2MML_yylval
   70 #define yychar          itex2MML_yychar
   71 
   72 /* Copy the first part of user declarations.  */
   73 #line 7 "itex2MML.y" /* yacc.c:339  */
   74 
   75 #include <stdio.h>
   76 #include <string.h>
   77 #include <stdlib.h>
   78 
   79 #include "itex2MML.h"
   80 
   81 #define YYSTYPE char *
   82 #define YYPARSE_PARAM_TYPE char **
   83 #define YYPARSE_PARAM ret_str
   84 
   85 #define yytext itex2MML_yytext
   86 
   87  extern int yylex ();
   88 
   89  extern char * yytext;
   90 
   91  static void itex2MML_default_error (const char * msg)
   92    {
   93      if (msg)
   94        fprintf(stderr, "Line: %d Error: %s\n", itex2MML_lineno, msg);
   95    }
   96 
   97  void (*itex2MML_error) (const char * msg) = itex2MML_default_error;
   98 
   99  static void yyerror (char **ret_str, char * s)
  100    {
  101      char * msg = itex2MML_copy3 (s, " at token ", yytext);
  102      if (itex2MML_error)
  103        (*itex2MML_error) (msg);
  104      itex2MML_free_string (msg);
  105    }
  106 
  107  /* Note: If length is 0, then buffer is treated like a string; otherwise only length bytes are written.
  108   */
  109  static void itex2MML_default_write (const char * buffer, unsigned long length)
  110    {
  111      if (buffer)
  112        {
  113      if (length)
  114        fwrite (buffer, 1, length, stdout);
  115      else
  116        fputs (buffer, stdout);
  117        }
  118    }
  119 
  120  static void itex2MML_default_write_mathml (const char * mathml)
  121    {
  122      if (itex2MML_write)
  123        (*itex2MML_write) (mathml, 0);
  124    }
  125 
  126 #ifdef itex2MML_CAPTURE
  127     static char * itex2MML_output_string = "" ;
  128 
  129     const char * itex2MML_output ()
  130     {
  131         char * copy = (char *) malloc((itex2MML_output_string ? strlen(itex2MML_output_string) : 0) + 1);
  132         if (copy)
  133           {
  134            if (itex2MML_output_string)
  135              {
  136                strcpy(copy, itex2MML_output_string);
  137                if (*itex2MML_output_string != '\0')
  138                    free(itex2MML_output_string);
  139              }
  140            else
  141              copy[0] = 0;
  142            itex2MML_output_string = "";
  143           }
  144         return copy;
  145     }
  146 
  147  static void itex2MML_capture (const char * buffer, unsigned long length)
  148     {
  149      if (buffer)
  150        {
  151          if (length)
  152            {
  153               unsigned long first_length = itex2MML_output_string ? strlen(itex2MML_output_string) : 0;
  154               char * copy  = (char *) malloc(first_length + length + 1);
  155               if (copy)
  156                 {
  157                   if (itex2MML_output_string)
  158                     {
  159                        strcpy(copy, itex2MML_output_string);
  160                        if (*itex2MML_output_string != '\0')
  161                           free(itex2MML_output_string);
  162                     }
  163                   else
  164                      copy[0] = 0;
  165                   strncat(copy, buffer, length);
  166                   itex2MML_output_string = copy;
  167                  }
  168             }
  169          else
  170             {
  171               char * copy = itex2MML_copy2(itex2MML_output_string, buffer);
  172               if (*itex2MML_output_string != '\0')
  173                  free(itex2MML_output_string);
  174               itex2MML_output_string = copy;
  175             }
  176         }
  177     }
  178 
  179     static void itex2MML_capture_mathml (const char * buffer)
  180     {
  181        char * temp = itex2MML_copy2(itex2MML_output_string, buffer);
  182        if (*itex2MML_output_string != '\0')
  183          free(itex2MML_output_string);
  184        itex2MML_output_string = temp;
  185     }
  186     void (*itex2MML_write) (const char * buffer, unsigned long length) = itex2MML_capture;
  187     void (*itex2MML_write_mathml) (const char * mathml) = itex2MML_capture_mathml;
  188 #else
  189     void (*itex2MML_write) (const char * buffer, unsigned long length) = itex2MML_default_write;
  190     void (*itex2MML_write_mathml) (const char * mathml) = itex2MML_default_write_mathml;
  191 #endif
  192 
  193  char * itex2MML_empty_string = "";
  194 
  195  /* Create a copy of a string, adding space for extra chars
  196   */
  197  char * itex2MML_copy_string_extra (const char * str, unsigned extra)
  198    {
  199      char * copy = (char *) malloc(extra + (str ? strlen (str) : 0) + 1);
  200      if (copy)
  201        {
  202      if (str)
  203        strcpy(copy, str);
  204      else
  205        copy[0] = 0;
  206        }
  207      return copy ? copy : itex2MML_empty_string;
  208    }
  209 
  210  /* Create a copy of a string, appending two strings
  211   */
  212  char * itex2MML_copy3 (const char * first, const char * second, const char * third)
  213    {
  214      int  first_length =  first ? strlen( first) : 0;
  215      int second_length = second ? strlen(second) : 0;
  216      int  third_length =  third ? strlen( third) : 0;
  217 
  218      char * copy = (char *) malloc(first_length + second_length + third_length + 1);
  219 
  220      if (copy)
  221        {
  222      if (first)
  223        strcpy(copy, first);
  224      else
  225        copy[0] = 0;
  226 
  227      if (second) strcat(copy, second);
  228      if ( third) strcat(copy,  third);
  229        }
  230      return copy ? copy : itex2MML_empty_string;
  231    }
  232 
  233  /* Create a copy of a string, appending a second string
  234   */
  235  char * itex2MML_copy2 (const char * first, const char * second)
  236    {
  237      return itex2MML_copy3(first, second, 0);
  238    }
  239 
  240  /* Create a copy of a string
  241   */
  242  char * itex2MML_copy_string (const char * str)
  243    {
  244      return itex2MML_copy3(str, 0, 0);
  245    }
  246 
  247  /* Create a copy of a string, escaping unsafe characters for XML
  248   */
  249  char * itex2MML_copy_escaped (const char * str)
  250    {
  251      unsigned long length = 0;
  252 
  253      const char * ptr1 = str;
  254 
  255      char * ptr2 = 0;
  256      char * copy = 0;
  257 
  258      if ( str == 0) return itex2MML_empty_string;
  259      if (*str == 0) return itex2MML_empty_string;
  260 
  261      while (*ptr1)
  262        {
  263      switch (*ptr1)
  264        {
  265        case '<':  /* &lt;   */
  266        case '>':  /* &gt;   */
  267          length += 4;
  268          break;
  269        case '&':  /* &amp;  */
  270          length += 5;
  271          break;
  272        case '\'': /* &apos; */
  273        case '"':  /* &quot; */
  274        case '-':  /* &#x2d; */
  275          length += 6;
  276          break;
  277        default:
  278          length += 1;
  279          break;
  280        }
  281      ++ptr1;
  282        }
  283 
  284      copy = (char *) malloc (length + 1);
  285 
  286      if (copy)
  287        {
  288      ptr1 = str;
  289      ptr2 = copy;
  290 
  291      while (*ptr1)
  292        {
  293          switch (*ptr1)
  294            {
  295            case '<':
  296          strcpy (ptr2, "&lt;");
  297          ptr2 += 4;
  298          break;
  299            case '>':
  300          strcpy (ptr2, "&gt;");
  301          ptr2 += 4;
  302          break;
  303            case '&':  /* &amp;  */
  304          strcpy (ptr2, "&amp;");
  305          ptr2 += 5;
  306          break;
  307            case '\'': /* &apos; */
  308          strcpy (ptr2, "&apos;");
  309          ptr2 += 6;
  310          break;
  311            case '"':  /* &quot; */
  312          strcpy (ptr2, "&quot;");
  313          ptr2 += 6;
  314          break;
  315            case '-':  /* &#x2d; */
  316          strcpy (ptr2, "&#x2d;");
  317          ptr2 += 6;
  318          break;
  319            default:
  320          *ptr2++ = *ptr1;
  321          break;
  322            }
  323          ++ptr1;
  324        }
  325      *ptr2 = 0;
  326        }
  327      return copy ? copy : itex2MML_empty_string;
  328    }
  329 
  330  /* Create a hex character reference string corresponding to code
  331   */
  332  char * itex2MML_character_reference (unsigned long int code)
  333    {
  334 #define ENTITY_LENGTH 10
  335      char * entity = (char *) malloc(ENTITY_LENGTH);
  336      sprintf(entity, "&#x%05lx;", code);
  337      return entity;
  338    }
  339 
  340  void itex2MML_free_string (char * str)
  341    {
  342      if (str && str != itex2MML_empty_string)
  343        free(str);
  344    }
  345 
  346 
  347 #line 348 "y.tab.c" /* yacc.c:339  */
  348 
  349 # ifndef YY_NULLPTR
  350 #  if defined __cplusplus && 201103L <= __cplusplus
  351 #   define YY_NULLPTR nullptr
  352 #  else
  353 #   define YY_NULLPTR 0
  354 #  endif
  355 # endif
  356 
  357 /* Enabling verbose error messages.  */
  358 #ifdef YYERROR_VERBOSE
  359 # undef YYERROR_VERBOSE
  360 # define YYERROR_VERBOSE 1
  361 #else
  362 # define YYERROR_VERBOSE 0
  363 #endif
  364 
  365 /* In a future release of Bison, this section will be replaced
  366    by #include "y.tab.h".  */
  367 #ifndef YY_ITEX2MML_YY_Y_TAB_H_INCLUDED
  368 # define YY_ITEX2MML_YY_Y_TAB_H_INCLUDED
  369 /* Debug traces.  */
  370 #ifndef YYDEBUG
  371 # define YYDEBUG 0
  372 #endif
  373 #if YYDEBUG
  374 extern int itex2MML_yydebug;
  375 #endif
  376 
  377 /* Token type.  */
  378 #ifndef YYTOKENTYPE
  379 # define YYTOKENTYPE
  380   enum yytokentype
  381   {
  382     TEXOVER = 258,
  383     TEXATOP = 259,
  384     CHAR = 260,
  385     STARTMATH = 261,
  386     STARTDMATH = 262,
  387     ENDMATH = 263,
  388     MI = 264,
  389     MIB = 265,
  390     MN = 266,
  391     MO = 267,
  392     SUP = 268,
  393     SUB = 269,
  394     MROWOPEN = 270,
  395     MROWCLOSE = 271,
  396     LEFT = 272,
  397     RIGHT = 273,
  398     BIG = 274,
  399     BBIG = 275,
  400     BIGG = 276,
  401     BBIGG = 277,
  402     BIGL = 278,
  403     BBIGL = 279,
  404     BIGGL = 280,
  405     BBIGGL = 281,
  406     FRAC = 282,
  407     TFRAC = 283,
  408     OPERATORNAME = 284,
  409     MATHOP = 285,
  410     MATHBIN = 286,
  411     MATHREL = 287,
  412     MOP = 288,
  413     MOL = 289,
  414     MOLL = 290,
  415     MOF = 291,
  416     MOR = 292,
  417     PERIODDELIM = 293,
  418     OTHERDELIM = 294,
  419     LEFTDELIM = 295,
  420     RIGHTDELIM = 296,
  421     MOS = 297,
  422     MOB = 298,
  423     SQRT = 299,
  424     ROOT = 300,
  425     BINOM = 301,
  426     TBINOM = 302,
  427     UNDER = 303,
  428     OVER = 304,
  429     OVERBRACE = 305,
  430     UNDERLINE = 306,
  431     UNDERBRACE = 307,
  432     UNDEROVER = 308,
  433     TENSOR = 309,
  434     MULTI = 310,
  435     ARRAYALIGN = 311,
  436     COLUMNALIGN = 312,
  437     ARRAY = 313,
  438     COLSEP = 314,
  439     ROWSEP = 315,
  440     ARRAYOPTS = 316,
  441     COLLAYOUT = 317,
  442     COLALIGN = 318,
  443     ROWALIGN = 319,
  444     ALIGN = 320,
  445     EQROWS = 321,
  446     EQCOLS = 322,
  447     ROWLINES = 323,
  448     COLLINES = 324,
  449     FRAME = 325,
  450     PADDING = 326,
  451     ATTRLIST = 327,
  452     ITALICS = 328,
  453     BOLD = 329,
  454     BOXED = 330,
  455     SLASHED = 331,
  456     RM = 332,
  457     BB = 333,
  458     ST = 334,
  459     END = 335,
  460     BBLOWERCHAR = 336,
  461     BBUPPERCHAR = 337,
  462     BBDIGIT = 338,
  463     CALCHAR = 339,
  464     FRAKCHAR = 340,
  465     CAL = 341,
  466     FRAK = 342,
  467     CLAP = 343,
  468     LLAP = 344,
  469     RLAP = 345,
  470     ROWOPTS = 346,
  471     TEXTSIZE = 347,
  472     SCSIZE = 348,
  473     SCSCSIZE = 349,
  474     DISPLAY = 350,
  475     TEXTSTY = 351,
  476     TEXTBOX = 352,
  477     TEXTSTRING = 353,
  478     XMLSTRING = 354,
  479     CELLOPTS = 355,
  480     ROWSPAN = 356,
  481     COLSPAN = 357,
  482     THINSPACE = 358,
  483     MEDSPACE = 359,
  484     THICKSPACE = 360,
  485     QUAD = 361,
  486     QQUAD = 362,
  487     NEGSPACE = 363,
  488     PHANTOM = 364,
  489     HREF = 365,
  490     UNKNOWNCHAR = 366,
  491     EMPTYMROW = 367,
  492     STATLINE = 368,
  493     TOOLTIP = 369,
  494     TOGGLE = 370,
  495     FGHIGHLIGHT = 371,
  496     BGHIGHLIGHT = 372,
  497     SPACE = 373,
  498     INTONE = 374,
  499     INTTWO = 375,
  500     INTTHREE = 376,
  501     BAR = 377,
  502     WIDEBAR = 378,
  503     VEC = 379,
  504     WIDEVEC = 380,
  505     HAT = 381,
  506     WIDEHAT = 382,
  507     CHECK = 383,
  508     WIDECHECK = 384,
  509     TILDE = 385,
  510     WIDETILDE = 386,
  511     DOT = 387,
  512     DDOT = 388,
  513     DDDOT = 389,
  514     DDDDOT = 390,
  515     UNARYMINUS = 391,
  516     UNARYPLUS = 392,
  517     BEGINENV = 393,
  518     ENDENV = 394,
  519     MATRIX = 395,
  520     PMATRIX = 396,
  521     BMATRIX = 397,
  522     BBMATRIX = 398,
  523     VMATRIX = 399,
  524     VVMATRIX = 400,
  525     SVG = 401,
  526     ENDSVG = 402,
  527     SMALLMATRIX = 403,
  528     CASES = 404,
  529     ALIGNED = 405,
  530     GATHERED = 406,
  531     SUBSTACK = 407,
  532     PMOD = 408,
  533     RMCHAR = 409,
  534     COLOR = 410,
  535     BGCOLOR = 411,
  536     XARROW = 412,
  537     OPTARGOPEN = 413,
  538     OPTARGCLOSE = 414,
  539     ITEXNUM = 415,
  540     RAISEBOX = 416,
  541     NEG = 417
  542   };
  543 #endif
  544 /* Tokens.  */
  545 #define TEXOVER 258
  546 #define TEXATOP 259
  547 #define CHAR 260
  548 #define STARTMATH 261
  549 #define STARTDMATH 262
  550 #define ENDMATH 263
  551 #define MI 264
  552 #define MIB 265
  553 #define MN 266
  554 #define MO 267
  555 #define SUP 268
  556 #define SUB 269
  557 #define MROWOPEN 270
  558 #define MROWCLOSE 271
  559 #define LEFT 272
  560 #define RIGHT 273
  561 #define BIG 274
  562 #define BBIG 275
  563 #define BIGG 276
  564 #define BBIGG 277
  565 #define BIGL 278
  566 #define BBIGL 279
  567 #define BIGGL 280
  568 #define BBIGGL 281
  569 #define FRAC 282
  570 #define TFRAC 283
  571 #define OPERATORNAME 284
  572 #define MATHOP 285
  573 #define MATHBIN 286
  574 #define MATHREL 287
  575 #define MOP 288
  576 #define MOL 289
  577 #define MOLL 290
  578 #define MOF 291
  579 #define MOR 292
  580 #define PERIODDELIM 293
  581 #define OTHERDELIM 294
  582 #define LEFTDELIM 295
  583 #define RIGHTDELIM 296
  584 #define MOS 297
  585 #define MOB 298
  586 #define SQRT 299
  587 #define ROOT 300
  588 #define BINOM 301
  589 #define TBINOM 302
  590 #define UNDER 303
  591 #define OVER 304
  592 #define OVERBRACE 305
  593 #define UNDERLINE 306
  594 #define UNDERBRACE 307
  595 #define UNDEROVER 308
  596 #define TENSOR 309
  597 #define MULTI 310
  598 #define ARRAYALIGN 311
  599 #define COLUMNALIGN 312
  600 #define ARRAY 313
  601 #define COLSEP 314
  602 #define ROWSEP 315
  603 #define ARRAYOPTS 316
  604 #define COLLAYOUT 317
  605 #define COLALIGN 318
  606 #define ROWALIGN 319
  607 #define ALIGN 320
  608 #define EQROWS 321
  609 #define EQCOLS 322
  610 #define ROWLINES 323
  611 #define COLLINES 324
  612 #define FRAME 325
  613 #define PADDING 326
  614 #define ATTRLIST 327
  615 #define ITALICS 328
  616 #define BOLD 329
  617 #define BOXED 330
  618 #define SLASHED 331
  619 #define RM 332
  620 #define BB 333
  621 #define ST 334
  622 #define END 335
  623 #define BBLOWERCHAR 336
  624 #define BBUPPERCHAR 337
  625 #define BBDIGIT 338
  626 #define CALCHAR 339
  627 #define FRAKCHAR 340
  628 #define CAL 341
  629 #define FRAK 342
  630 #define CLAP 343
  631 #define LLAP 344
  632 #define RLAP 345
  633 #define ROWOPTS 346
  634 #define TEXTSIZE 347
  635 #define SCSIZE 348
  636 #define SCSCSIZE 349
  637 #define DISPLAY 350
  638 #define TEXTSTY 351
  639 #define TEXTBOX 352
  640 #define TEXTSTRING 353
  641 #define XMLSTRING 354
  642 #define CELLOPTS 355
  643 #define ROWSPAN 356
  644 #define COLSPAN 357
  645 #define THINSPACE 358
  646 #define MEDSPACE 359
  647 #define THICKSPACE 360
  648 #define QUAD 361
  649 #define QQUAD 362
  650 #define NEGSPACE 363
  651 #define PHANTOM 364
  652 #define HREF 365
  653 #define UNKNOWNCHAR 366
  654 #define EMPTYMROW 367
  655 #define STATLINE 368
  656 #define TOOLTIP 369
  657 #define TOGGLE 370
  658 #define FGHIGHLIGHT 371
  659 #define BGHIGHLIGHT 372
  660 #define SPACE 373
  661 #define INTONE 374
  662 #define INTTWO 375
  663 #define INTTHREE 376
  664 #define BAR 377
  665 #define WIDEBAR 378
  666 #define VEC 379
  667 #define WIDEVEC 380
  668 #define HAT 381
  669 #define WIDEHAT 382
  670 #define CHECK 383
  671 #define WIDECHECK 384
  672 #define TILDE 385
  673 #define WIDETILDE 386
  674 #define DOT 387
  675 #define DDOT 388
  676 #define DDDOT 389
  677 #define DDDDOT 390
  678 #define UNARYMINUS 391
  679 #define UNARYPLUS 392
  680 #define BEGINENV 393
  681 #define ENDENV 394
  682 #define MATRIX 395
  683 #define PMATRIX 396
  684 #define BMATRIX 397
  685 #define BBMATRIX 398
  686 #define VMATRIX 399
  687 #define VVMATRIX 400
  688 #define SVG 401
  689 #define ENDSVG 402
  690 #define SMALLMATRIX 403
  691 #define CASES 404
  692 #define ALIGNED 405
  693 #define GATHERED 406
  694 #define SUBSTACK 407
  695 #define PMOD 408
  696 #define RMCHAR 409
  697 #define COLOR 410
  698 #define BGCOLOR 411
  699 #define XARROW 412
  700 #define OPTARGOPEN 413
  701 #define OPTARGCLOSE 414
  702 #define ITEXNUM 415
  703 #define RAISEBOX 416
  704 #define NEG 417
  705 
  706 /* Value type.  */
  707 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
  708 typedef int YYSTYPE;
  709 # define YYSTYPE_IS_TRIVIAL 1
  710 # define YYSTYPE_IS_DECLARED 1
  711 #endif
  712 
  713 
  714 extern YYSTYPE itex2MML_yylval;
  715 
  716 int itex2MML_yyparse (char **ret_str);
  717 
  718 #endif /* !YY_ITEX2MML_YY_Y_TAB_H_INCLUDED  */
  719 
  720 /* Copy the second part of user declarations.  */
  721 
  722 #line 723 "y.tab.c" /* yacc.c:358  */
  723 
  724 #ifdef short
  725 # undef short
  726 #endif
  727 
  728 #ifdef YYTYPE_UINT8
  729 typedef YYTYPE_UINT8 yytype_uint8;
  730 #else
  731 typedef unsigned char yytype_uint8;
  732 #endif
  733 
  734 #ifdef YYTYPE_INT8
  735 typedef YYTYPE_INT8 yytype_int8;
  736 #else
  737 typedef signed char yytype_int8;
  738 #endif
  739 
  740 #ifdef YYTYPE_UINT16
  741 typedef YYTYPE_UINT16 yytype_uint16;
  742 #else
  743 typedef unsigned short int yytype_uint16;
  744 #endif
  745 
  746 #ifdef YYTYPE_INT16
  747 typedef YYTYPE_INT16 yytype_int16;
  748 #else
  749 typedef short int yytype_int16;
  750 #endif
  751 
  752 #ifndef YYSIZE_T
  753 # ifdef __SIZE_TYPE__
  754 #  define YYSIZE_T __SIZE_TYPE__
  755 # elif defined size_t
  756 #  define YYSIZE_T size_t
  757 # elif ! defined YYSIZE_T
  758 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
  759 #  define YYSIZE_T size_t
  760 # else
  761 #  define YYSIZE_T unsigned int
  762 # endif
  763 #endif
  764 
  765 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
  766 
  767 #ifndef YY_
  768 # if defined YYENABLE_NLS && YYENABLE_NLS
  769 #  if ENABLE_NLS
  770 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
  771 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
  772 #  endif
  773 # endif
  774 # ifndef YY_
  775 #  define YY_(Msgid) Msgid
  776 # endif
  777 #endif
  778 
  779 #ifndef YY_ATTRIBUTE
  780 # if (defined __GNUC__                                               \
  781       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
  782      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
  783 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
  784 # else
  785 #  define YY_ATTRIBUTE(Spec) /* empty */
  786 # endif
  787 #endif
  788 
  789 #ifndef YY_ATTRIBUTE_PURE
  790 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
  791 #endif
  792 
  793 #ifndef YY_ATTRIBUTE_UNUSED
  794 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
  795 #endif
  796 
  797 #if !defined _Noreturn \
  798      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
  799 # if defined _MSC_VER && 1200 <= _MSC_VER
  800 #  define _Noreturn __declspec (noreturn)
  801 # else
  802 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
  803 # endif
  804 #endif
  805 
  806 /* Suppress unused-variable warnings by "using" E.  */
  807 #if ! defined lint || defined __GNUC__
  808 # define YYUSE(E) ((void) (E))
  809 #else
  810 # define YYUSE(E) /* empty */
  811 #endif
  812 
  813 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
  814 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
  815 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
  816     _Pragma ("GCC diagnostic push") \
  817     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
  818     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
  819 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
  820     _Pragma ("GCC diagnostic pop")
  821 #else
  822 # define YY_INITIAL_VALUE(Value) Value
  823 #endif
  824 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
  825 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
  826 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
  827 #endif
  828 #ifndef YY_INITIAL_VALUE
  829 # define YY_INITIAL_VALUE(Value) /* Nothing. */
  830 #endif
  831 
  832 
  833 #if ! defined yyoverflow || YYERROR_VERBOSE
  834 
  835 /* The parser invokes alloca or malloc; define the necessary symbols.  */
  836 
  837 # ifdef YYSTACK_USE_ALLOCA
  838 #  if YYSTACK_USE_ALLOCA
  839 #   ifdef __GNUC__
  840 #    define YYSTACK_ALLOC __builtin_alloca
  841 #   elif defined __BUILTIN_VA_ARG_INCR
  842 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
  843 #   elif defined _AIX
  844 #    define YYSTACK_ALLOC __alloca
  845 #   elif defined _MSC_VER
  846 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
  847 #    define alloca _alloca
  848 #   else
  849 #    define YYSTACK_ALLOC alloca
  850 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
  851 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
  852       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
  853 #     ifndef EXIT_SUCCESS
  854 #      define EXIT_SUCCESS 0
  855 #     endif
  856 #    endif
  857 #   endif
  858 #  endif
  859 # endif
  860 
  861 # ifdef YYSTACK_ALLOC
  862    /* Pacify GCC's 'empty if-body' warning.  */
  863 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
  864 #  ifndef YYSTACK_ALLOC_MAXIMUM
  865     /* The OS might guarantee only one guard page at the bottom of the stack,
  866        and a page size can be as small as 4096 bytes.  So we cannot safely
  867        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
  868        to allow for a few compiler-allocated temporary stack slots.  */
  869 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
  870 #  endif
  871 # else
  872 #  define YYSTACK_ALLOC YYMALLOC
  873 #  define YYSTACK_FREE YYFREE
  874 #  ifndef YYSTACK_ALLOC_MAXIMUM
  875 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
  876 #  endif
  877 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
  878        && ! ((defined YYMALLOC || defined malloc) \
  879              && (defined YYFREE || defined free)))
  880 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
  881 #   ifndef EXIT_SUCCESS
  882 #    define EXIT_SUCCESS 0
  883 #   endif
  884 #  endif
  885 #  ifndef YYMALLOC
  886 #   define YYMALLOC malloc
  887 #   if ! defined malloc && ! defined EXIT_SUCCESS
  888 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
  889 #   endif
  890 #  endif
  891 #  ifndef YYFREE
  892 #   define YYFREE free
  893 #   if ! defined free && ! defined EXIT_SUCCESS
  894 void free (void *); /* INFRINGES ON USER NAME SPACE */
  895 #   endif
  896 #  endif
  897 # endif
  898 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
  899 
  900 
  901 #if (! defined yyoverflow \
  902      && (! defined __cplusplus \
  903          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
  904 
  905 /* A type that is properly aligned for any stack member.  */
  906 union yyalloc
  907 {
  908   yytype_int16 yyss_alloc;
  909   YYSTYPE yyvs_alloc;
  910 };
  911 
  912 /* The size of the maximum gap between one aligned stack and the next.  */
  913 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
  914 
  915 /* The size of an array large to enough to hold all stacks, each with
  916    N elements.  */
  917 # define YYSTACK_BYTES(N) \
  918      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
  919       + YYSTACK_GAP_MAXIMUM)
  920 
  921 # define YYCOPY_NEEDED 1
  922 
  923 /* Relocate STACK from its old location to the new one.  The
  924    local variables YYSIZE and YYSTACKSIZE give the old and new number of
  925    elements in the stack, and YYPTR gives the new location of the
  926    stack.  Advance YYPTR to a properly aligned location for the next
  927    stack.  */
  928 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
  929     do                                                                  \
  930       {                                                                 \
  931         YYSIZE_T yynewbytes;                                            \
  932         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
  933         Stack = &yyptr->Stack_alloc;                                    \
  934         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
  935         yyptr += yynewbytes / sizeof (*yyptr);                          \
  936       }                                                                 \
  937     while (0)
  938 
  939 #endif
  940 
  941 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
  942 /* Copy COUNT objects from SRC to DST.  The source and destination do
  943    not overlap.  */
  944 # ifndef YYCOPY
  945 #  if defined __GNUC__ && 1 < __GNUC__
  946 #   define YYCOPY(Dst, Src, Count) \
  947       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
  948 #  else
  949 #   define YYCOPY(Dst, Src, Count)              \
  950       do                                        \
  951         {                                       \
  952           YYSIZE_T yyi;                         \
  953           for (yyi = 0; yyi < (Count); yyi++)   \
  954             (Dst)[yyi] = (Src)[yyi];            \
  955         }                                       \
  956       while (0)
  957 #  endif
  958 # endif
  959 #endif /* !YYCOPY_NEEDED */
  960 
  961 /* YYFINAL -- State number of the termination state.  */
  962 #define YYFINAL  190
  963 /* YYLAST -- Last index in YYTABLE.  */
  964 #define YYLAST   4668
  965 
  966 /* YYNTOKENS -- Number of terminals.  */
  967 #define YYNTOKENS  163
  968 /* YYNNTS -- Number of nonterminals.  */
  969 #define YYNNTS  113
  970 /* YYNRULES -- Number of rules.  */
  971 #define YYNRULES  314
  972 /* YYNSTATES -- Number of states.  */
  973 #define YYNSTATES  561
  974 
  975 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
  976    by yylex, with out-of-bounds checking.  */
  977 #define YYUNDEFTOK  2
  978 #define YYMAXUTOK   417
  979 
  980 #define YYTRANSLATE(YYX)                                                \
  981   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
  982 
  983 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
  984    as returned by yylex, without out-of-bounds checking.  */
  985 static const yytype_uint8 yytranslate[] =
  986 {
  987        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  988        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  989        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  990        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  991        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  992        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  993        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  994        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  995        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  996        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  997        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  998        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  999        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1000        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1001        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1002        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1003        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1004        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1005        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1006        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1007        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1008        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1009        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1010        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1011        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 1012        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 1013        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 1014       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 1015       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1016       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1017       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 1018       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 1019       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 1020       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 1021       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 1022       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1023      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 1024      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
 1025      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 1026      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
 1027      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
 1028      155,   156,   157,   158,   159,   160,   161,   162
 1029 };
 1030 
 1031 #if YYDEBUG
 1032   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 1033 static const yytype_uint16 yyrline[] =
 1034 {
 1035        0,   286,   286,   289,   290,   291,   292,   293,   295,   297,
 1036      298,   299,   312,   326,   330,   336,   355,   369,   388,   402,
 1037      421,   435,   454,   468,   478,   488,   495,   502,   506,   510,
 1038      515,   516,   517,   518,   519,   523,   527,   528,   529,   530,
 1039      531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
 1040      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
 1041      551,   552,   553,   554,   555,   556,   557,   558,   559,   560,
 1042      561,   562,   563,   564,   565,   566,   567,   568,   569,   570,
 1043      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
 1044      581,   582,   583,   584,   585,   586,   590,   594,   602,   603,
 1045      604,   605,   607,   612,   617,   623,   627,   631,   636,   641,
 1046      645,   649,   654,   658,   662,   667,   671,   675,   680,   684,
 1047      688,   693,   698,   703,   708,   713,   718,   723,   729,   733,
 1048      737,   741,   743,   749,   750,   756,   762,   763,   764,   769,
 1049      774,   779,   783,   788,   792,   796,   800,   805,   810,   815,
 1050      820,   825,   830,   836,   847,   855,   863,   871,   879,   887,
 1051      894,   902,   907,   912,   917,   922,   927,   932,   937,   942,
 1052      947,   952,   957,   962,   967,   972,   976,   982,   987,   991,
 1053      997,  1001,  1005,  1013,  1018,  1022,  1028,  1033,  1038,  1042,
 1054     1048,  1053,  1057,  1061,  1065,  1069,  1073,  1077,  1082,  1092,
 1055     1099,  1107,  1117,  1126,  1134,  1138,  1144,  1149,  1153,  1157,
 1056     1162,  1169,  1177,  1182,  1189,  1203,  1210,  1224,  1231,  1239,
 1057     1244,  1249,  1254,  1258,  1263,  1267,  1272,  1277,  1282,  1287,
 1058     1292,  1296,  1301,  1305,  1310,  1314,  1319,  1324,  1331,  1339,
 1059     1352,  1365,  1375,  1387,  1396,  1406,  1413,  1421,  1428,  1436,
 1060     1446,  1455,  1459,  1463,  1467,  1471,  1475,  1479,  1483,  1487,
 1061     1491,  1495,  1499,  1509,  1516,  1520,  1524,  1529,  1534,  1539,
 1062     1543,  1551,  1555,  1561,  1565,  1569,  1573,  1577,  1581,  1585,
 1063     1589,  1593,  1597,  1602,  1607,  1612,  1617,  1622,  1627,  1632,
 1064     1637,  1642,  1647,  1654,  1658,  1664,  1668,  1673,  1677,  1683,
 1065     1691,  1695,  1701,  1705,  1710,  1713,  1717,  1725,  1729,  1735,
 1066     1739,  1743,  1747,  1752,  1757
 1067 };
 1068 #endif
 1069 
 1070 #if YYDEBUG || YYERROR_VERBOSE || 0
 1071 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 1072    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 1073 static const char *const yytname[] =
 1074 {
 1075   "$end", "error", "$undefined", "TEXOVER", "TEXATOP", "CHAR",
 1076   "STARTMATH", "STARTDMATH", "ENDMATH", "MI", "MIB", "MN", "MO", "SUP",
 1077   "SUB", "MROWOPEN", "MROWCLOSE", "LEFT", "RIGHT", "BIG", "BBIG", "BIGG",
 1078   "BBIGG", "BIGL", "BBIGL", "BIGGL", "BBIGGL", "FRAC", "TFRAC",
 1079   "OPERATORNAME", "MATHOP", "MATHBIN", "MATHREL", "MOP", "MOL", "MOLL",
 1080   "MOF", "MOR", "PERIODDELIM", "OTHERDELIM", "LEFTDELIM", "RIGHTDELIM",
 1081   "MOS", "MOB", "SQRT", "ROOT", "BINOM", "TBINOM", "UNDER", "OVER",
 1082   "OVERBRACE", "UNDERLINE", "UNDERBRACE", "UNDEROVER", "TENSOR", "MULTI",
 1083   "ARRAYALIGN", "COLUMNALIGN", "ARRAY", "COLSEP", "ROWSEP", "ARRAYOPTS",
 1084   "COLLAYOUT", "COLALIGN", "ROWALIGN", "ALIGN", "EQROWS", "EQCOLS",
 1085   "ROWLINES", "COLLINES", "FRAME", "PADDING", "ATTRLIST", "ITALICS",
 1086   "BOLD", "BOXED", "SLASHED", "RM", "BB", "ST", "END", "BBLOWERCHAR",
 1087   "BBUPPERCHAR", "BBDIGIT", "CALCHAR", "FRAKCHAR", "CAL", "FRAK", "CLAP",
 1088   "LLAP", "RLAP", "ROWOPTS", "TEXTSIZE", "SCSIZE", "SCSCSIZE", "DISPLAY",
 1089   "TEXTSTY", "TEXTBOX", "TEXTSTRING", "XMLSTRING", "CELLOPTS", "ROWSPAN",
 1090   "COLSPAN", "THINSPACE", "MEDSPACE", "THICKSPACE", "QUAD", "QQUAD",
 1091   "NEGSPACE", "PHANTOM", "HREF", "UNKNOWNCHAR", "EMPTYMROW", "STATLINE",
 1092   "TOOLTIP", "TOGGLE", "FGHIGHLIGHT", "BGHIGHLIGHT", "SPACE", "INTONE",
 1093   "INTTWO", "INTTHREE", "BAR", "WIDEBAR", "VEC", "WIDEVEC", "HAT",
 1094   "WIDEHAT", "CHECK", "WIDECHECK", "TILDE", "WIDETILDE", "DOT", "DDOT",
 1095   "DDDOT", "DDDDOT", "UNARYMINUS", "UNARYPLUS", "BEGINENV", "ENDENV",
 1096   "MATRIX", "PMATRIX", "BMATRIX", "BBMATRIX", "VMATRIX", "VVMATRIX", "SVG",
 1097   "ENDSVG", "SMALLMATRIX", "CASES", "ALIGNED", "GATHERED", "SUBSTACK",
 1098   "PMOD", "RMCHAR", "COLOR", "BGCOLOR", "XARROW", "OPTARGOPEN",
 1099   "OPTARGCLOSE", "ITEXNUM", "RAISEBOX", "NEG", "$accept", "doc",
 1100   "xmlmmlTermList", "char", "expression", "compoundTermList",
 1101   "compoundTerm", "closedTerm", "left", "right", "bigdelim",
 1102   "unrecognized", "unaryminus", "unaryplus", "mi", "mib", "mn", "mob",
 1103   "mo", "space", "statusline", "tooltip", "toggle", "fghighlight",
 1104   "bghighlight", "color", "mathrlap", "mathllap", "mathclap", "textstring",
 1105   "displaystyle", "textstyle", "textsize", "scriptsize",
 1106   "scriptscriptsize", "italics", "slashed", "boxed", "bold", "roman",
 1107   "rmchars", "bbold", "bbchars", "bbchar", "frak", "frakletters",
 1108   "frakletter", "cal", "calletters", "calletter", "thinspace", "medspace",
 1109   "thickspace", "quad", "qquad", "negspace", "phantom", "href", "tensor",
 1110   "multi", "subsupList", "subsupTerm", "mfrac", "pmod", "texover",
 1111   "texatop", "binom", "munderbrace", "munderline", "moverbrace", "bar",
 1112   "vec", "dot", "ddot", "dddot", "ddddot", "tilde", "check", "hat",
 1113   "msqrt", "mroot", "raisebox", "munder", "mover", "munderover",
 1114   "emptymrow", "mathenv", "columnAlignList", "substack", "array",
 1115   "arrayopts", "anarrayopt", "collayout", "colalign", "rowalign", "align",
 1116   "eqrows", "eqcols", "rowlines", "collines", "frame", "padding",
 1117   "tableRowList", "tableRow", "simpleTableRow", "optsTableRow", "rowopts",
 1118   "arowopt", "tableCell", "cellopts", "acellopt", "rowspan", "colspan", YY_NULLPTR
 1119 };
 1120 #endif
 1121 
 1122 # ifdef YYPRINT
 1123 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
 1124    (internal) symbol number NUM (which must be that of a token).  */
 1125 static const yytype_uint16 yytoknum[] =
 1126 {
 1127        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 1128      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 1129      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 1130      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 1131      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 1132      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 1133      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 1134      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 1135      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 1136      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 1137      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 1138      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
 1139      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
 1140      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
 1141      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
 1142      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
 1143      415,   416,   417
 1144 };
 1145 # endif
 1146 
 1147 #define YYPACT_NINF -396
 1148 
 1149 #define yypact_value_is_default(Yystate) \
 1150   (!!((Yystate) == (-396)))
 1151 
 1152 #define YYTABLE_NINF -1
 1153 
 1154 #define yytable_value_is_error(Yytable_value) \
 1155   0
 1156 
 1157   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 1158      STATE-NUM.  */
 1159 static const yytype_int16 yypact[] =
 1160 {
 1161      203,  -396,  1291,  1445,    27,   203,  -396,  -396,  -396,  -396,
 1162     -396,  -396,  -396,  4354,  4354,  3130,   173,   180,   189,   192,
 1163      195,    22,    92,   107,   141,  4354,  4354,   -20,   -18,    -9,
 1164        3,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1165     -396,  -396,  3283,  4354,  4354,  4354,  4354,  4354,  4354,  4354,
 1166     4354,  4354,  4354,   -13,    39,  4354,  4354,  4354,  4354,    14,
 1167       58,    72,    76,  4354,  4354,  4354,  3130,  3130,  3130,  3130,
 1168     3130,    70,  -396,  -396,  -396,  -396,  -396,  -396,  4354,    90,
 1169     -396,  -396,   100,   104,  4354,    24,    38,   127,  4354,  4354,
 1170     4354,  4354,  4354,  4354,  4354,  4354,  4354,  4354,  4354,  4354,
 1171     4354,  4354,  -396,  -396,   -25,    67,  4354,  -396,   122,   150,
 1172     3436,   148,   -64,  1599,  -396,    35,  3130,  -396,  -396,  -396,
 1173     -396,  -396,   171,  -396,   211,  -396,  -396,  -396,  -396,  -396,
 1174     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1175     -396,  -396,  -396,  -396,  -396,  -396,  -396,    97,  -396,  -396,
 1176     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1177     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1178     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1179     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  1753,
 1180     -396,  -396,  -396,  -396,  -396,  -396,  -396,   982,    31,  -396,
 1181     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1182     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1183     -396,  -396,  4354,  4354,  -396,  -396,  -396,  -396,  3130,  -396,
 1184     4354,  4354,  4354,  4354,  4354,  -396,  -396,  -396,  4354,   224,
 1185      231,  4354,  1906,  -396,  -396,  -396,  -396,   103,   160,   174,
 1186      175,  -396,  -396,  -396,  3130,  3130,  3130,  3130,  3130,  -396,
 1187     -396,  4354,  4354,  4354,  4354,  4354,  4354,   140,  -396,  -396,
 1188     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1189     -396,  -396,   -16,  2059,  2059,  2059,  2059,  2059,  2059,   -87,
 1190     2059,  2059,  2059,  2059,  2059,  -396,  3130,  3130,  3130,  -396,
 1191     -396,  3589,   163,  -396,  -396,  4354,  4354,  1137,  4354,  4354,
 1192     4354,  4354,  -396,  -396,  3130,  3130,  -396,  -396,  -396,  -396,
 1193     2212,  -396,  -396,  -396,  -396,  -396,  4354,  4354,  3742,   231,
 1194      231,  -396,   114,   248,   251,   253,   254,  3130,    10,  -396,
 1195      212,  -396,  -396,   -60,  -396,  -396,  -396,   110,  -396,  -396,
 1196      -38,  -396,  -396,   -44,  -396,  -396,  -396,  -396,  -396,  -396,
 1197     -396,   193,   196,   215,   -56,   -52,   -31,   -30,   -17,   -10,
 1198      129,  -396,    -5,    -4,    -3,    -1,    12,  3130,  3130,  2365,
 1199     3895,  -396,  4048,   263,   265,  3130,  3130,   115,  -396,   279,
 1200      266,   284,   286,  2518,  2671,  4354,  -396,  -396,  4354,   287,
 1201      183,  -396,  4354,   231,   108,   184,    81,  -396,  2059,  2824,
 1202     -396,  -396,  -396,  -396,  -396,  -396,  -396,   223,   215,  -396,
 1203        1,   164,   162,   165,   166,   167,   161,  -396,   168,   159,
 1204      169,   170,  -396,  4507,  4354,  -396,  4201,  -396,  4354,  4354,
 1205     2977,  2977,  -396,  -396,  -396,  4354,  4354,  4354,  4354,  -396,
 1206     -396,  -396,  -396,  4354,  -396,   -12,   187,   238,   242,   245,
 1207      250,   252,   264,   268,   269,   270,   271,    96,  -396,  -396,
 1208     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1209     -396,    21,  -396,   272,   273,  -396,  -396,   -11,  -396,  -396,
 1210     -396,  -396,  -396,   200,    17,  -396,  2059,  -396,  -396,  -396,
 1211     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1212     4354,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1213     -396,   231,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1214     -396,  -396,  -396,  -396,  2059,  -396,  2824,  -396,  -396,  -396,
 1215     3130,  -396,   243,  2059,     9,  -396,   191,    19,   212,  3130,
 1216      246,    11,   288,  -396,  -396,   205,   289,  -396,   275,  -396,
 1217     -396
 1218 };
 1219 
 1220   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
 1221      Performed when YYTABLE does not specify something else to do.  Zero
 1222      means the default is an error.  */
 1223 static const yytype_uint16 yydefact[] =
 1224 {
 1225        3,     8,     0,     0,     0,     2,     4,     5,     9,   131,
 1226      132,   133,   138,     0,     0,     0,     0,     0,     0,     0,
 1227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1228        0,   147,   139,   140,   144,   148,   145,   143,   142,   141,
 1229      146,   135,     0,     0,     0,     0,     0,     0,     0,     0,
 1230        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1231        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1232        0,     0,   191,   192,   193,   194,   195,   196,     0,     0,
 1233      128,   251,     0,     0,     0,     0,     0,     0,     0,     0,
 1234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1235        0,     0,   129,   130,     0,     0,     0,   175,     0,     0,
 1236        0,     0,     0,     0,    13,    29,     0,   137,   101,    31,
 1237       32,    34,    33,    35,   136,    36,    77,    87,    88,    89,
 1238       90,    91,    92,    62,    61,    60,    78,    63,    64,    65,
 1239       66,    67,    68,    74,    75,    69,    70,    71,    72,    73,
 1240       76,    79,    80,    81,    82,    83,    84,    85,    86,    37,
 1241       38,    39,   100,    93,    94,    40,    56,    57,    55,    46,
 1242       47,    49,    50,    51,    52,    54,    53,    48,    41,    42,
 1243       43,    44,    45,    58,    59,    98,    99,    30,    10,     0,
 1244        1,     6,     7,    28,    33,   136,    27,     0,    29,   104,
 1245      103,   102,   110,   108,   109,   113,   111,   112,   116,   114,
 1246      115,   119,   117,   118,   121,   120,   123,   122,   125,   124,
 1247      127,   126,     0,     0,   149,   150,   151,   152,     0,   236,
 1248        0,     0,     0,     0,     0,   221,   220,   219,     0,     0,
 1249        0,     0,   304,   170,   173,   172,   171,     0,     0,     0,
 1250        0,   163,   162,   161,   167,   168,   169,   165,   166,   164,
 1251      197,     0,     0,     0,     0,     0,     0,     0,   222,   223,
 1252      224,   225,   234,   235,   232,   233,   230,   231,   226,   227,
 1253      228,   229,     0,   304,   304,   304,   304,   304,   304,     0,
 1254      304,   304,   304,   304,   304,   212,     0,     0,     0,   247,
 1255      134,     0,     0,    11,    14,     0,     0,     0,     0,     0,
 1256        0,     0,   176,    12,     0,     0,    96,    95,   210,   211,
 1257        0,   238,   217,   218,   246,   248,     0,     0,     0,     0,
 1258      200,   204,     0,     0,     0,     0,     0,   305,     0,   293,
 1259      295,   296,   297,     0,   180,   181,   182,     0,   178,   190,
 1260        0,   188,   186,     0,   184,   198,   154,   155,   156,   157,
 1261      158,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1262        0,   265,     0,     0,     0,     0,     0,   159,   160,     0,
 1263        0,   243,     0,    26,    25,     0,     0,     0,    97,    22,
 1264       20,    18,    16,     0,     0,     0,   250,   208,     0,   207,
 1265        0,   205,     0,     0,     0,     0,     0,   269,   304,   304,
 1266      174,   177,   179,   187,   189,   183,   185,     0,     0,   267,
 1267        0,     0,     0,     0,     0,     0,     0,   264,     0,     0,
 1268        0,     0,   268,     0,     0,   241,     0,   244,     0,     0,
 1269        0,     0,   107,   106,   105,     0,     0,     0,     0,   213,
 1270      215,   237,   209,     0,   199,     0,     0,     0,     0,     0,
 1271        0,     0,     0,     0,     0,     0,     0,     0,   271,   273,
 1272      274,   275,   276,   277,   278,   279,   280,   281,   282,   302,
 1273      303,     0,   300,     0,     0,   309,   310,     0,   307,   311,
 1274      312,   294,   298,     0,     0,   266,   304,   252,   254,   255,
 1275      257,   256,   258,   259,   260,   261,   253,   245,   249,   239,
 1276        0,   242,    24,    23,   214,   216,    21,    19,    17,    15,
 1277      206,     0,   202,   203,   283,   284,   285,   286,   287,   288,
 1278      289,   290,   291,   292,   304,   272,   304,   301,   313,   314,
 1279        0,   308,     0,   304,     0,   240,     0,     0,   299,   306,
 1280        0,     0,     0,   201,   270,     0,     0,   263,     0,   262,
 1281      153
 1282 };
 1283 
 1284   /* YYPGOTO[NTERM-NUM].  */
 1285 static const yytype_int16 yypgoto[] =
 1286 {
 1287     -396,  -396,  -396,   343,   344,    36,   -40,   536,  -396,  -191,
 1288     -396,  -396,  -396,  -396,  -396,    -2,  -396,    73,  -396,  -396,
 1289     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1290     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1291      105,  -396,  -396,    15,  -396,  -396,    20,  -396,  -396,    18,
 1292     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1293     -234,  -323,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1294     -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
 1295     -396,  -396,  -396,  -396,  -396,  -396,  -396,   -46,  -396,  -396,
 1296     -396,   -93,  -396,  -395,  -374,  -396,  -396,  -396,  -396,  -396,
 1297     -396,  -396,  -269,   -29,  -158,  -396,  -396,  -100,   -27,  -396,
 1298     -102,  -396,  -396
 1299 };
 1300 
 1301   /* YYDEFGOTO[NTERM-NUM].  */
 1302 static const yytype_int16 yydefgoto[] =
 1303 {
 1304       -1,     4,     5,     6,     7,   337,   114,   115,   116,   388,
 1305      117,   118,   119,   120,   121,   194,   123,   195,   125,   126,
 1306      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
 1307      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
 1308      147,   148,   347,   348,   149,   353,   354,   150,   350,   351,
 1309      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
 1310      330,   331,   161,   162,   163,   164,   165,   166,   167,   168,
 1311      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
 1312      179,   180,   181,   182,   183,   184,   185,   420,   186,   187,
 1313      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
 1314      477,   478,   338,   339,   340,   341,   481,   482,   342,   487,
 1315      488,   489,   490
 1316 };
 1317 
 1318   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
 1319      positive, shift that token.  If negative, reduce the rule whose
 1320      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 1321 static const yytype_uint16 yytable[] =
 1322 {
 1323      122,   122,   240,   521,   408,   540,   332,   401,   408,   401,
 1324      479,   485,   370,   122,   364,   365,   366,   367,   368,   369,
 1325      410,   372,   373,   374,   375,   376,   407,   190,   432,   408,
 1326      408,   480,   486,   282,   301,   554,   415,   536,   113,   189,
 1327      362,   352,   413,   408,   305,   306,   349,   317,   305,   306,
 1328      408,   197,   458,   459,   242,   408,   408,   408,   495,   408,
 1329      371,   214,   215,   363,   122,   122,   122,   122,   122,   408,
 1330      408,   408,   408,   304,   495,   124,   124,   401,   224,   408,
 1331      225,   496,   294,   421,   458,   459,   479,   422,   124,   226,
 1332      483,   484,   485,   247,   312,   400,   265,   543,   302,   241,
 1333      522,   227,   254,   255,   256,   257,   258,   480,   423,   424,
 1334      266,   122,   534,   486,   122,   283,   284,   285,   286,   287,
 1335      288,   289,   425,   290,   291,   292,   293,   327,   328,   426,
 1336      402,   216,   217,   401,   428,   429,   430,   248,   431,   124,
 1337      124,   124,   124,   124,   458,   459,   218,   219,   552,   304,
 1338      556,   249,   307,   442,   443,   250,   444,   304,   457,   458,
 1339      459,   460,   461,   462,   463,   464,   465,   466,   259,   456,
 1340      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
 1341      220,   221,   483,   484,   308,   309,   124,   122,   261,   124,
 1342      411,   344,   345,   346,   296,   122,   327,   328,   262,   454,
 1343      327,   328,   263,   523,   327,   328,   267,   553,     1,     2,
 1344        3,   199,   200,   201,   304,   304,   304,   304,   304,   202,
 1345      203,   204,   297,   401,   310,   311,   122,   544,   205,   206,
 1346      207,   208,   209,   210,   211,   212,   213,   327,   328,   329,
 1347      122,   344,   345,   346,   327,   328,   300,   458,   459,   514,
 1348      515,   312,   122,   122,   122,   122,   122,   107,   349,   361,
 1349      352,   382,   124,   403,   320,   547,   404,   304,   405,   406,
 1350      124,   409,   419,   417,   551,   418,   427,   438,   439,   446,
 1351      304,   122,   122,   122,   122,   122,   122,   546,   122,   122,
 1352      122,   122,   122,   445,   122,   122,   122,   304,   447,   448,
 1353      453,   124,   493,   498,   497,   122,   502,   499,   504,   500,
 1354      524,   501,   122,   122,   525,   124,   503,   526,   122,   505,
 1355      542,   506,   527,   550,   528,   555,   558,   124,   124,   124,
 1356      124,   124,   377,   378,   379,   122,   529,   304,   304,   304,
 1357      530,   531,   532,   533,   538,   539,   557,   559,   191,   192,
 1358      393,   394,   343,   304,   304,   560,   124,   124,   124,   124,
 1359      124,   124,   412,   124,   124,   124,   124,   124,   414,   124,
 1360      124,   124,   494,   416,   535,   122,   122,   122,   548,   491,
 1361      124,   537,   492,   122,   122,   541,     0,   124,   124,     0,
 1362        0,   122,   122,   124,     0,     0,     0,     0,     0,     0,
 1363      304,   304,     0,     0,     0,     0,   122,   122,     0,     0,
 1364      124,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1365        0,   440,   441,     0,     0,     0,     0,     0,     0,     0,
 1366        0,     0,     0,     0,     0,     0,     0,     0,   122,   122,
 1367        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1368      124,   124,   124,     0,     0,     0,     0,     0,   124,   124,
 1369        0,     0,     0,     0,     0,     0,   124,   124,     0,     0,
 1370        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1371        0,   124,   124,     0,     0,     0,     0,     0,     0,     0,
 1372        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
 1373        0,     0,     0,     0,     0,     0,     0,     0,     0,   304,
 1374        0,     0,     0,   124,   124,     0,     0,     0,     0,     0,
 1375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1376        0,     0,   122,     0,   122,     0,     0,     0,   122,     0,
 1377        0,   122,     0,     0,     0,     0,     0,   122,     0,   193,
 1378      196,   198,     0,     0,     0,     0,     0,     0,     0,     0,
 1379        0,   222,   223,     0,     0,     0,     0,     0,     0,   124,
 1380        0,     0,     0,     0,     0,     0,   549,     0,   229,   230,
 1381      231,   232,   233,   234,   235,   236,   237,   238,   239,     0,
 1382        0,   243,   244,   245,   246,     0,     0,     0,     0,   251,
 1383      252,   253,     0,     0,     0,     0,     0,   124,     0,   124,
 1384        0,     0,     0,   124,   260,     0,   124,     0,     0,     0,
 1385      264,     0,   124,     0,   268,   269,   270,   271,   272,   273,
 1386      274,   275,   276,   277,   278,   279,   280,   281,     0,     0,
 1387        0,     0,   295,     0,     0,     0,   299,     0,     0,     0,
 1388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1389        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1390        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1398        0,     0,     0,     0,     0,     0,     0,     0,   318,   319,
 1399        0,     0,     0,     0,     0,     0,   321,   322,   323,   324,
 1400      325,     0,     0,     0,   326,     0,     0,   333,     0,     0,
 1401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1402        0,     0,     0,     0,     0,     0,     0,   355,   356,   357,
 1403      358,   359,   360,     0,     0,     0,     0,     0,     0,     0,
 1404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1406        0,     0,     0,     0,     0,     0,     0,   381,     0,     0,
 1407        0,   383,   384,     0,   389,   390,   391,   392,     0,     0,
 1408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1409        0,     0,   396,   397,   399,     0,     0,     0,     0,     0,
 1410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1414        0,     0,     0,     0,     0,     0,   435,     0,   437,     0,
 1415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1416        0,   451,     0,     0,   452,     0,     0,     0,   455,     0,
 1417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1419        0,     0,     0,     0,     0,     0,     0,     0,     0,   508,
 1420      509,     0,   511,     0,   512,   513,     0,     0,     0,     0,
 1421        0,   516,   517,   518,   519,   314,   315,     0,     0,   520,
 1422        0,     9,    10,    11,    12,    13,    14,    15,   316,    16,
 1423        0,    17,    18,    19,    20,    21,    22,    23,    24,    25,
 1424       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 1425       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 1426       46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
 1427       54,     0,     0,     0,     0,     0,   545,     0,     0,     0,
 1428        0,     0,     0,     0,     0,    55,    56,    57,    58,    59,
 1429       60,     0,     0,     0,     0,     0,     0,     0,    61,    62,
 1430       63,    64,    65,     0,    66,    67,    68,    69,    70,    71,
 1431        0,     0,     0,     0,     0,    72,    73,    74,    75,    76,
 1432       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
 1433       87,     0,     0,     0,    88,    89,    90,    91,    92,    93,
 1434       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
 1435      104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1436        0,     0,     0,     0,   105,   106,   107,   108,   109,   110,
 1437      385,   386,   111,   112,     0,     0,     9,    10,    11,    12,
 1438       13,    14,    15,     0,    16,   387,    17,    18,    19,    20,
 1439       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 1440       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 1441       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 1442       51,    52,    53,     0,     0,    54,     0,     0,     0,     0,
 1443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1444       55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
 1445        0,     0,     0,    61,    62,    63,    64,    65,     0,    66,
 1446       67,    68,    69,    70,    71,     0,     0,     0,     0,     0,
 1447       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
 1448       82,    83,    84,    85,    86,    87,     0,     0,     0,    88,
 1449       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
 1450       99,   100,   101,   102,   103,   104,     0,     0,     0,     0,
 1451        0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
 1452      106,   107,   108,   109,   110,     0,     0,   111,   112,     8,
 1453        9,    10,    11,    12,    13,    14,    15,     0,    16,     0,
 1454       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 1455       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
 1456       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 1457       47,    48,    49,    50,    51,    52,    53,     0,     0,    54,
 1458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1459        0,     0,     0,     0,    55,    56,    57,    58,    59,    60,
 1460        0,     0,     0,     0,     0,     0,     0,    61,    62,    63,
 1461       64,    65,     0,    66,    67,    68,    69,    70,    71,     0,
 1462        0,     0,     0,     0,    72,    73,    74,    75,    76,    77,
 1463       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
 1464        0,     0,     0,    88,    89,    90,    91,    92,    93,    94,
 1465       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1467        0,     0,     0,   105,   106,   107,   108,   109,   110,     0,
 1468        0,   111,   112,   188,     9,    10,    11,    12,    13,    14,
 1469       15,     0,    16,     0,    17,    18,    19,    20,    21,    22,
 1470       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 1471       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 1472       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 1473       53,     0,     0,    54,     0,     0,     0,     0,     0,     0,
 1474        0,     0,     0,     0,     0,     0,     0,     0,    55,    56,
 1475       57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
 1476        0,    61,    62,    63,    64,    65,     0,    66,    67,    68,
 1477       69,    70,    71,     0,     0,     0,     0,     0,    72,    73,
 1478       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
 1479       84,    85,    86,    87,     0,     0,     0,    88,    89,    90,
 1480       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
 1481      101,   102,   103,   104,     0,     0,     0,     0,     0,     0,
 1482        0,     0,     0,     0,     0,     0,     0,   105,   106,   107,
 1483      108,   109,   110,     0,     0,   111,   112,   303,     9,    10,
 1484       11,    12,    13,    14,    15,     0,    16,     0,    17,    18,
 1485       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 1486       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 1487       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 1488       49,    50,    51,    52,    53,     0,     0,    54,     0,     0,
 1489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1490        0,     0,    55,    56,    57,    58,    59,    60,     0,     0,
 1491        0,     0,     0,     0,     0,    61,    62,    63,    64,    65,
 1492        0,    66,    67,    68,    69,    70,    71,     0,     0,     0,
 1493        0,     0,    72,    73,    74,    75,    76,    77,    78,    79,
 1494       80,    81,    82,    83,    84,    85,    86,    87,     0,     0,
 1495        0,    88,    89,    90,    91,    92,    93,    94,    95,    96,
 1496       97,    98,    99,   100,   101,   102,   103,   104,     0,     0,
 1497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1498        0,   105,   106,   107,   108,   109,   110,     0,     0,   111,
 1499      112,   313,     9,    10,    11,    12,    13,    14,    15,     0,
 1500       16,     0,    17,    18,    19,    20,    21,    22,    23,    24,
 1501       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1502       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1503       45,    46,    47,    48,    49,    50,    51,    52,    53,     0,
 1504        0,    54,     0,     0,     0,     0,     0,     0,     0,     0,
 1505        0,     0,     0,     0,     0,     0,    55,    56,    57,    58,
 1506       59,    60,     0,     0,     0,     0,     0,     0,     0,    61,
 1507       62,    63,    64,    65,     0,    66,    67,    68,    69,    70,
 1508       71,     0,     0,     0,     0,     0,    72,    73,    74,    75,
 1509       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
 1510       86,    87,     0,     0,     0,    88,    89,    90,    91,    92,
 1511       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
 1512      103,   104,     0,     0,     0,     0,     0,     0,     0,     0,
 1513        0,     0,     0,     0,     0,   105,   106,   107,   108,   109,
 1514      110,     0,     0,   111,   112,     9,    10,    11,    12,    13,
 1515       14,    15,     0,    16,     0,    17,    18,    19,    20,    21,
 1516       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 1517       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
 1518       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 1519       52,    53,     0,     0,    54,     0,     0,   334,     0,     0,
 1520        0,     0,     0,     0,     0,     0,     0,     0,     0,    55,
 1521       56,    57,    58,    59,    60,     0,     0,     0,     0,     0,
 1522        0,     0,    61,    62,    63,    64,    65,   335,    66,    67,
 1523       68,    69,    70,    71,     0,     0,   336,     0,     0,    72,
 1524       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
 1525       83,    84,    85,    86,    87,     0,     0,     0,    88,    89,
 1526       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
 1527      100,   101,   102,   103,   104,     0,     0,     0,     0,     0,
 1528        0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
 1529      107,   108,   109,   110,     0,     0,   111,   112,     9,    10,
 1530       11,    12,    13,    14,    15,     0,    16,     0,    17,    18,
 1531       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 1532       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 1533       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 1534       49,    50,    51,    52,    53,     0,     0,    54,     0,     0,
 1535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1536        0,     0,    55,    56,    57,    58,    59,    60,     0,     0,
 1537        0,     0,     0,     0,     0,    61,    62,    63,    64,    65,
 1538      335,    66,    67,    68,    69,    70,    71,     0,     0,   336,
 1539        0,     0,    72,    73,    74,    75,    76,    77,    78,    79,
 1540       80,    81,    82,    83,    84,    85,    86,    87,     0,     0,
 1541        0,    88,    89,    90,    91,    92,    93,    94,    95,    96,
 1542       97,    98,    99,   100,   101,   102,   103,   104,     0,     0,
 1543        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1544        0,   105,   106,   107,   108,   109,   110,     0,     0,   111,
 1545      112,     9,    10,    11,    12,    13,    14,    15,     0,    16,
 1546        0,    17,    18,    19,    20,    21,    22,    23,    24,    25,
 1547       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 1548       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 1549       46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
 1550       54,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1551        0,     0,     0,     0,     0,    55,    56,    57,    58,    59,
 1552       60,     0,     0,     0,     0,     0,     0,     0,    61,    62,
 1553       63,    64,    65,     0,    66,    67,    68,    69,    70,    71,
 1554        0,     0,     0,     0,     0,    72,    73,    74,    75,    76,
 1555       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
 1556       87,     0,     0,     0,    88,    89,    90,    91,    92,    93,
 1557       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
 1558      104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1559        0,     0,     0,     0,   105,   106,   107,   108,   109,   110,
 1560        0,   395,   111,   112,     9,    10,    11,    12,    13,    14,
 1561       15,     0,    16,     0,    17,    18,    19,    20,    21,    22,
 1562       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 1563       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 1564       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 1565       53,     0,     0,    54,     0,     0,     0,     0,     0,     0,
 1566        0,     0,     0,     0,     0,     0,     0,     0,    55,    56,
 1567       57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
 1568        0,    61,    62,    63,    64,    65,     0,    66,    67,    68,
 1569       69,    70,    71,     0,     0,     0,     0,     0,    72,    73,
 1570       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
 1571       84,    85,    86,    87,     0,     0,     0,    88,    89,    90,
 1572       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
 1573      101,   102,   103,   104,     0,     0,     0,     0,     0,     0,
 1574        0,     0,     0,     0,     0,     0,     0,   105,   106,   107,
 1575      108,   109,   110,     0,   433,   111,   112,     9,    10,    11,
 1576       12,    13,    14,    15,   449,    16,     0,    17,    18,    19,
 1577       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 1578       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
 1579       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 1580       50,    51,    52,    53,     0,     0,    54,     0,     0,     0,
 1581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1582        0,    55,    56,    57,    58,    59,    60,     0,     0,     0,
 1583        0,     0,     0,     0,    61,    62,    63,    64,    65,     0,
 1584       66,    67,    68,    69,    70,    71,     0,     0,     0,     0,
 1585        0,    72,    73,    74,    75,    76,    77,    78,    79,    80,
 1586       81,    82,    83,    84,    85,    86,    87,     0,     0,     0,
 1587       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
 1588       98,    99,   100,   101,   102,   103,   104,     0,     0,     0,
 1589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1590      105,   106,   107,   108,   109,   110,     0,     0,   111,   112,
 1591        9,    10,    11,    12,    13,    14,    15,   450,    16,     0,
 1592       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 1593       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
 1594       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 1595       47,    48,    49,    50,    51,    52,    53,     0,     0,    54,
 1596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1597        0,     0,     0,     0,    55,    56,    57,    58,    59,    60,
 1598        0,     0,     0,     0,     0,     0,     0,    61,    62,    63,
 1599       64,    65,     0,    66,    67,    68,    69,    70,    71,     0,
 1600        0,     0,     0,     0,    72,    73,    74,    75,    76,    77,
 1601       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
 1602        0,     0,     0,    88,    89,    90,    91,    92,    93,    94,
 1603       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1604        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1605        0,     0,     0,   105,   106,   107,   108,   109,   110,     0,
 1606        0,   111,   112,     9,    10,    11,    12,    13,    14,    15,
 1607        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
 1608       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 1609       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
 1610       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 1611        0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
 1612        0,     0,     0,     0,     0,     0,     0,    55,    56,    57,
 1613       58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 1614       61,    62,    63,    64,    65,     0,    66,    67,    68,    69,
 1615       70,    71,     0,     0,   336,     0,     0,    72,    73,    74,
 1616       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 1617       85,    86,    87,     0,     0,     0,    88,    89,    90,    91,
 1618       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
 1619      102,   103,   104,     0,     0,     0,     0,     0,     0,     0,
 1620        0,     0,     0,     0,     0,     0,   105,   106,   107,   108,
 1621      109,   110,     0,     0,   111,   112,     9,    10,    11,    12,
 1622       13,    14,    15,     0,    16,   387,    17,    18,    19,    20,
 1623       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 1624       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 1625       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 1626       51,    52,    53,     0,     0,    54,     0,     0,     0,     0,
 1627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1628       55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
 1629        0,     0,     0,    61,    62,    63,    64,    65,     0,    66,
 1630       67,    68,    69,    70,    71,     0,     0,     0,     0,     0,
 1631       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
 1632       82,    83,    84,    85,    86,    87,     0,     0,     0,    88,
 1633       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
 1634       99,   100,   101,   102,   103,   104,     0,     0,     0,     0,
 1635        0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
 1636      106,   107,   108,   109,   110,     0,     0,   111,   112,     9,
 1637       10,    11,    12,    13,    14,    15,     0,    16,     0,    17,
 1638       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 1639       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
 1640       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
 1641       48,    49,    50,    51,    52,    53,     0,     0,    54,     0,
 1642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1643        0,     0,     0,    55,    56,    57,    58,    59,    60,     0,
 1644        0,     0,     0,     0,     0,     0,    61,    62,    63,    64,
 1645       65,     0,    66,    67,    68,    69,    70,    71,     0,     0,
 1646        0,     0,     0,    72,    73,    74,    75,    76,    77,    78,
 1647       79,    80,    81,    82,    83,    84,    85,    86,    87,     0,
 1648        0,     0,    88,    89,    90,    91,    92,    93,    94,    95,
 1649       96,    97,    98,    99,   100,   101,   102,   103,   104,     0,
 1650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1651        0,     0,   105,   106,   107,   108,   109,   110,     0,     0,
 1652      111,   112,     9,    10,    11,    12,     0,     0,    15,     0,
 1653       16,     0,    17,    18,    19,    20,    21,    22,    23,    24,
 1654       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1655       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1656       45,    46,    47,    48,    49,    50,    51,    52,    53,     0,
 1657        0,    54,     0,     0,     0,     0,     0,     0,     0,     0,
 1658        0,     0,     0,     0,     0,     0,    55,    56,    57,    58,
 1659       59,    60,     0,     0,     0,     0,     0,     0,     0,    61,
 1660       62,    63,    64,    65,     0,    66,    67,    68,    69,    70,
 1661       71,     0,     0,     0,     0,     0,    72,    73,    74,    75,
 1662       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
 1663       86,    87,     0,     0,     0,    88,    89,    90,    91,    92,
 1664       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
 1665      103,   104,     0,     0,     0,     0,     0,     0,     0,     0,
 1666        0,     0,     0,     0,     0,   105,   106,   107,   108,   109,
 1667      110,   228,     0,   111,   112,     9,    10,    11,    12,     0,
 1668        0,    15,     0,    16,     0,    17,    18,    19,    20,    21,
 1669       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 1670       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
 1671       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 1672       52,    53,     0,     0,    54,     0,     0,     0,     0,     0,
 1673        0,     0,     0,     0,     0,     0,     0,     0,     0,    55,
 1674       56,    57,    58,    59,    60,     0,     0,     0,     0,     0,
 1675        0,     0,    61,    62,    63,    64,    65,     0,    66,    67,
 1676       68,    69,    70,    71,     0,     0,     0,     0,     0,    72,
 1677       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
 1678       83,    84,    85,    86,    87,     0,     0,     0,    88,    89,
 1679       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
 1680      100,   101,   102,   103,   104,     0,     0,     0,     0,     0,
 1681        0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
 1682      107,   108,   109,   110,   298,     0,   111,   112,     9,    10,
 1683       11,    12,     0,     0,    15,     0,    16,     0,    17,    18,
 1684       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 1685       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 1686       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 1687       49,    50,    51,    52,    53,     0,     0,    54,     0,     0,
 1688        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1689        0,     0,    55,    56,    57,    58,    59,    60,     0,     0,
 1690        0,     0,     0,     0,     0,    61,    62,    63,    64,    65,
 1691        0,    66,    67,    68,    69,    70,    71,   380,     0,     0,
 1692        0,     0,    72,    73,    74,    75,    76,    77,    78,    79,
 1693       80,    81,    82,    83,    84,    85,    86,    87,     0,     0,
 1694        0,    88,    89,    90,    91,    92,    93,    94,    95,    96,
 1695       97,    98,    99,   100,   101,   102,   103,   104,     0,     0,
 1696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1697        0,   105,   106,   107,   108,   109,   110,     0,     0,   111,
 1698      112,     9,    10,    11,    12,   398,     0,    15,     0,    16,
 1699        0,    17,    18,    19,    20,    21,    22,    23,    24,    25,
 1700       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 1701       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 1702       46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
 1703       54,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1704        0,     0,     0,     0,     0,    55,    56,    57,    58,    59,
 1705       60,     0,     0,     0,     0,     0,     0,     0,    61,    62,
 1706       63,    64,    65,     0,    66,    67,    68,    69,    70,    71,
 1707        0,     0,     0,     0,     0,    72,    73,    74,    75,    76,
 1708       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
 1709       87,     0,     0,     0,    88,    89,    90,    91,    92,    93,
 1710       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
 1711      104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1712        0,     0,     0,     0,   105,   106,   107,   108,   109,   110,
 1713        0,     0,   111,   112,     9,    10,    11,    12,     0,     0,
 1714       15,     0,    16,     0,    17,    18,    19,    20,    21,    22,
 1715       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 1716       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 1717       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 1718       53,     0,     0,    54,     0,     0,     0,     0,     0,     0,
 1719        0,     0,     0,     0,     0,     0,     0,     0,    55,    56,
 1720       57,    58,    59,    60,     0,     0,     0,     0,     0,     0,
 1721        0,    61,    62,    63,    64,    65,     0,    66,    67,    68,
 1722       69,    70,    71,   434,     0,     0,     0,     0,    72,    73,
 1723       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
 1724       84,    85,    86,    87,     0,     0,     0,    88,    89,    90,
 1725       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
 1726      101,   102,   103,   104,     0,     0,     0,     0,     0,     0,
 1727        0,     0,     0,     0,     0,     0,     0,   105,   106,   107,
 1728      108,   109,   110,     0,     0,   111,   112,     9,    10,    11,
 1729       12,     0,     0,    15,     0,    16,     0,    17,    18,    19,
 1730       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 1731       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
 1732       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 1733       50,    51,    52,    53,     0,     0,    54,     0,     0,     0,
 1734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1735        0,    55,    56,    57,    58,    59,    60,     0,     0,     0,
 1736        0,     0,     0,     0,    61,    62,    63,    64,    65,     0,
 1737       66,    67,    68,    69,    70,    71,   436,     0,     0,     0,
 1738        0,    72,    73,    74,    75,    76,    77,    78,    79,    80,
 1739       81,    82,    83,    84,    85,    86,    87,     0,     0,     0,
 1740       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
 1741       98,    99,   100,   101,   102,   103,   104,     0,     0,     0,
 1742        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1743      105,   106,   107,   108,   109,   110,     0,     0,   111,   112,
 1744        9,    10,    11,    12,     0,     0,    15,     0,    16,     0,
 1745       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 1746       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
 1747       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 1748       47,    48,    49,    50,    51,    52,    53,     0,     0,    54,
 1749        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1750        0,     0,     0,     0,    55,    56,    57,    58,    59,    60,
 1751        0,     0,     0,     0,     0,     0,     0,    61,    62,    63,
 1752       64,    65,     0,    66,    67,    68,    69,    70,    71,   510,
 1753        0,     0,     0,     0,    72,    73,    74,    75,    76,    77,
 1754       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
 1755        0,     0,     0,    88,    89,    90,    91,    92,    93,    94,
 1756       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1758        0,     0,     0,   105,   106,   107,   108,   109,   110,     0,
 1759        0,   111,   112,     9,    10,    11,    12,     0,     0,    15,
 1760        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
 1761       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 1762       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
 1763       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 1764        0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
 1765        0,     0,     0,     0,     0,     0,     0,    55,    56,    57,
 1766       58,    59,    60,     0,     0,     0,     0,     0,     0,     0,
 1767       61,    62,    63,    64,    65,     0,    66,    67,    68,    69,
 1768       70,    71,     0,     0,     0,     0,     0,    72,    73,    74,
 1769       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 1770       85,    86,    87,     0,     0,     0,    88,    89,    90,    91,
 1771       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
 1772      102,   103,   104,     0,     0,     0,     0,     0,     0,     0,
 1773        0,     0,     0,     0,     0,     0,   105,   106,   107,   108,
 1774      109,   110,     0,     0,   111,   112,     9,    10,    11,    12,
 1775        0,     0,    15,     0,    16,     0,    17,    18,    19,    20,
 1776       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 1777       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 1778       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 1779       51,    52,    53,     0,     0,    54,     0,     0,     0,     0,
 1780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1781       55,    56,    57,    58,    59,    60,     0,     0,     0,     0,
 1782        0,     0,     0,    61,    62,    63,    64,    65,     0,    66,
 1783       67,    68,    69,    70,    71,     0,     0,     0,     0,     0,
 1784       72,    73,    74,    75,    76,    77,    78,    79,    80,   507,
 1785       82,    83,    84,    85,    86,    87,     0,     0,     0,    88,
 1786       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
 1787       99,   100,   101,   102,   103,   104,     0,     0,     0,     0,
 1788        0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
 1789      106,   107,   108,   109,   110,     0,     0,   111,   112
 1790 };
 1791 
 1792 static const yytype_int16 yycheck[] =
 1793 {
 1794        2,     3,    15,    15,    60,    16,   240,   330,    60,   332,
 1795      405,   406,    99,    15,   283,   284,   285,   286,   287,   288,
 1796       80,   290,   291,   292,   293,   294,    16,     0,    16,    60,
 1797       60,   405,   406,    58,    98,    16,    80,    16,     2,     3,
 1798       56,    85,    80,    60,    13,    14,    84,    16,    13,    14,
 1799       60,    15,    63,    64,    15,    60,    60,    60,    57,    60,
 1800      147,    39,    40,    79,    66,    67,    68,    69,    70,    60,
 1801       60,    60,    60,   113,    57,     2,     3,   400,    98,    60,
 1802       98,    80,    15,   139,    63,    64,   481,   139,    15,    98,
 1803      101,   102,   487,    79,   154,   329,    72,    80,   162,   112,
 1804      112,    98,    66,    67,    68,    69,    70,   481,   139,   139,
 1805       72,   113,    16,   487,   116,   140,   141,   142,   143,   144,
 1806      145,   146,   139,   148,   149,   150,   151,    13,    14,   139,
 1807       16,    39,    40,   456,   139,   139,   139,    79,   139,    66,
 1808       67,    68,    69,    70,    63,    64,    39,    40,   139,   189,
 1809      139,    79,   116,    38,    39,    79,    41,   197,    62,    63,
 1810       64,    65,    66,    67,    68,    69,    70,    71,    98,   403,
 1811       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
 1812       39,    40,   101,   102,    13,    14,   113,   189,    98,   116,
 1813       80,    81,    82,    83,    72,   197,    13,    14,    98,    16,
 1814       13,    14,    98,    16,    13,    14,    79,    16,     5,     6,
 1815        7,    38,    39,    40,   254,   255,   256,   257,   258,    39,
 1816       40,    41,    72,   546,    13,    14,   228,   496,    39,    40,
 1817       41,    39,    40,    41,    39,    40,    41,    13,    14,    15,
 1818      242,    81,    82,    83,    13,    14,    98,    63,    64,   440,
 1819      441,   154,   254,   255,   256,   257,   258,   154,    84,   119,
 1820       85,    98,   189,    15,   228,   534,    15,   307,    15,    15,
 1821      197,    59,    57,    80,   543,    79,   147,    14,    13,    13,
 1822      320,   283,   284,   285,   286,   287,   288,   521,   290,   291,
 1823      292,   293,   294,    14,   296,   297,   298,   337,    14,    13,
 1824       13,   228,    79,   141,   140,   307,   145,   142,   149,   143,
 1825       72,   144,   314,   315,    72,   242,   148,    72,   320,   150,
 1826      120,   151,    72,    80,    72,    79,   121,   254,   255,   256,
 1827      257,   258,   296,   297,   298,   337,    72,   377,   378,   379,
 1828       72,    72,    72,    72,    72,    72,    58,    58,     5,     5,
 1829      314,   315,   247,   393,   394,    80,   283,   284,   285,   286,
 1830      287,   288,   347,   290,   291,   292,   293,   294,   350,   296,
 1831      297,   298,   418,   353,   467,   377,   378,   379,   536,   408,
 1832      307,   481,   409,   385,   386,   487,    -1,   314,   315,    -1,
 1833       -1,   393,   394,   320,    -1,    -1,    -1,    -1,    -1,    -1,
 1834      440,   441,    -1,    -1,    -1,    -1,   408,   409,    -1,    -1,
 1835      337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1836       -1,   385,   386,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   440,   441,
 1838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1839      377,   378,   379,    -1,    -1,    -1,    -1,    -1,   385,   386,
 1840       -1,    -1,    -1,    -1,    -1,    -1,   393,   394,    -1,    -1,
 1841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1842       -1,   408,   409,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1843       -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,    -1,    -1,
 1844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   549,
 1845       -1,    -1,    -1,   440,   441,    -1,    -1,    -1,    -1,    -1,
 1846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1847       -1,    -1,   534,    -1,   536,    -1,    -1,    -1,   540,    -1,
 1848       -1,   543,    -1,    -1,    -1,    -1,    -1,   549,    -1,    13,
 1849       14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1850       -1,    25,    26,    -1,    -1,    -1,    -1,    -1,    -1,   496,
 1851       -1,    -1,    -1,    -1,    -1,    -1,   540,    -1,    42,    43,
 1852       44,    45,    46,    47,    48,    49,    50,    51,    52,    -1,
 1853       -1,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
 1854       64,    65,    -1,    -1,    -1,    -1,    -1,   534,    -1,   536,
 1855       -1,    -1,    -1,   540,    78,    -1,   543,    -1,    -1,    -1,
 1856       84,    -1,   549,    -1,    88,    89,    90,    91,    92,    93,
 1857       94,    95,    96,    97,    98,    99,   100,   101,    -1,    -1,
 1858       -1,    -1,   106,    -1,    -1,    -1,   110,    -1,    -1,    -1,
 1859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   222,   223,
 1870       -1,    -1,    -1,    -1,    -1,    -1,   230,   231,   232,   233,
 1871      234,    -1,    -1,    -1,   238,    -1,    -1,   241,    -1,    -1,
 1872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1873       -1,    -1,    -1,    -1,    -1,    -1,    -1,   261,   262,   263,
 1874      264,   265,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1877       -1,    -1,    -1,    -1,    -1,    -1,    -1,   301,    -1,    -1,
 1878       -1,   305,   306,    -1,   308,   309,   310,   311,    -1,    -1,
 1879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1880       -1,    -1,   326,   327,   328,    -1,    -1,    -1,    -1,    -1,
 1881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1885       -1,    -1,    -1,    -1,    -1,    -1,   380,    -1,   382,    -1,
 1886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1887       -1,   395,    -1,    -1,   398,    -1,    -1,    -1,   402,    -1,
 1888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,
 1891      434,    -1,   436,    -1,   438,   439,    -1,    -1,    -1,    -1,
 1892       -1,   445,   446,   447,   448,     3,     4,    -1,    -1,   453,
 1893       -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
 1894       -1,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 1895       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
 1896       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
 1897       48,    49,    50,    51,    52,    53,    54,    55,    -1,    -1,
 1898       58,    -1,    -1,    -1,    -1,    -1,   510,    -1,    -1,    -1,
 1899       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,
 1900       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
 1901       88,    89,    90,    -1,    92,    93,    94,    95,    96,    97,
 1902       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
 1903      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
 1904      118,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
 1905      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
 1906      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1907       -1,    -1,    -1,    -1,   152,   153,   154,   155,   156,   157,
 1908        3,     4,   160,   161,    -1,    -1,     9,    10,    11,    12,
 1909       13,    14,    15,    -1,    17,    18,    19,    20,    21,    22,
 1910       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 1911       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 1912       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 1913       53,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,
 1914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1915       73,    74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,
 1916       -1,    -1,    -1,    86,    87,    88,    89,    90,    -1,    92,
 1917       93,    94,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
 1918      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
 1919      113,   114,   115,   116,   117,   118,    -1,    -1,    -1,   122,
 1920      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
 1921      133,   134,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
 1922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,
 1923      153,   154,   155,   156,   157,    -1,    -1,   160,   161,     8,
 1924        9,    10,    11,    12,    13,    14,    15,    -1,    17,    -1,
 1925       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 1926       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 1927       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 1928       49,    50,    51,    52,    53,    54,    55,    -1,    -1,    58,
 1929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1930       -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
 1931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 1932       89,    90,    -1,    92,    93,    94,    95,    96,    97,    -1,
 1933       -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
 1934      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
 1935       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,   128,
 1936      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
 1937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1938       -1,    -1,    -1,   152,   153,   154,   155,   156,   157,    -1,
 1939       -1,   160,   161,     8,     9,    10,    11,    12,    13,    14,
 1940       15,    -1,    17,    -1,    19,    20,    21,    22,    23,    24,
 1941       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1942       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1943       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 1944       55,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
 1945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
 1946       75,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 1947       -1,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
 1948       95,    96,    97,    -1,    -1,    -1,    -1,    -1,   103,   104,
 1949      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 1950      115,   116,   117,   118,    -1,    -1,    -1,   122,   123,   124,
 1951      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 1952      135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,
 1953       -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,   153,   154,
 1954      155,   156,   157,    -1,    -1,   160,   161,     8,     9,    10,
 1955       11,    12,    13,    14,    15,    -1,    17,    -1,    19,    20,
 1956       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 1957       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 1958       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 1959       51,    52,    53,    54,    55,    -1,    -1,    58,    -1,    -1,
 1960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1961       -1,    -1,    73,    74,    75,    76,    77,    78,    -1,    -1,
 1962       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 1963       -1,    92,    93,    94,    95,    96,    97,    -1,    -1,    -1,
 1964       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
 1965      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
 1966       -1,   122,   123,   124,   125,   126,   127,   128,   129,   130,
 1967      131,   132,   133,   134,   135,   136,   137,   138,    -1,    -1,
 1968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1969       -1,   152,   153,   154,   155,   156,   157,    -1,    -1,   160,
 1970      161,     8,     9,    10,    11,    12,    13,    14,    15,    -1,
 1971       17,    -1,    19,    20,    21,    22,    23,    24,    25,    26,
 1972       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
 1973       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 1974       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
 1975       -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1976       -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    76,
 1977       77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 1978       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
 1979       97,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,
 1980      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
 1981      117,   118,    -1,    -1,    -1,   122,   123,   124,   125,   126,
 1982      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
 1983      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 1984       -1,    -1,    -1,    -1,    -1,   152,   153,   154,   155,   156,
 1985      157,    -1,    -1,   160,   161,     9,    10,    11,    12,    13,
 1986       14,    15,    -1,    17,    -1,    19,    20,    21,    22,    23,
 1987       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 1988       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
 1989       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 1990       54,    55,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
 1991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
 1992       74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
 1993       -1,    -1,    86,    87,    88,    89,    90,    91,    92,    93,
 1994       94,    95,    96,    97,    -1,    -1,   100,    -1,    -1,   103,
 1995      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
 1996      114,   115,   116,   117,   118,    -1,    -1,    -1,   122,   123,
 1997      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
 1998      134,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
 1999       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,   153,
 2000      154,   155,   156,   157,    -1,    -1,   160,   161,     9,    10,
 2001       11,    12,    13,    14,    15,    -1,    17,    -1,    19,    20,
 2002       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 2003       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 2004       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 2005       51,    52,    53,    54,    55,    -1,    -1,    58,    -1,    -1,
 2006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2007       -1,    -1,    73,    74,    75,    76,    77,    78,    -1,    -1,
 2008       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 2009       91,    92,    93,    94,    95,    96,    97,    -1,    -1,   100,
 2010       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
 2011      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
 2012       -1,   122,   123,   124,   125,   126,   127,   128,   129,   130,
 2013      131,   132,   133,   134,   135,   136,   137,   138,    -1,    -1,
 2014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2015       -1,   152,   153,   154,   155,   156,   157,    -1,    -1,   160,
 2016      161,     9,    10,    11,    12,    13,    14,    15,    -1,    17,
 2017       -1,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 2018       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
 2019       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
 2020       48,    49,    50,    51,    52,    53,    54,    55,    -1,    -1,
 2021       58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2022       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,
 2023       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
 2024       88,    89,    90,    -1,    92,    93,    94,    95,    96,    97,
 2025       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
 2026      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
 2027      118,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
 2028      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
 2029      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2030       -1,    -1,    -1,    -1,   152,   153,   154,   155,   156,   157,
 2031       -1,   159,   160,   161,     9,    10,    11,    12,    13,    14,
 2032       15,    -1,    17,    -1,    19,    20,    21,    22,    23,    24,
 2033       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 2034       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 2035       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 2036       55,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
 2037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
 2038       75,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 2039       -1,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
 2040       95,    96,    97,    -1,    -1,    -1,    -1,    -1,   103,   104,
 2041      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 2042      115,   116,   117,   118,    -1,    -1,    -1,   122,   123,   124,
 2043      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 2044      135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,
 2045       -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,   153,   154,
 2046      155,   156,   157,    -1,   159,   160,   161,     9,    10,    11,
 2047       12,    13,    14,    15,    16,    17,    -1,    19,    20,    21,
 2048       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 2049       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
 2050       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 2051       52,    53,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,
 2052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2053       -1,    73,    74,    75,    76,    77,    78,    -1,    -1,    -1,
 2054       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    -1,
 2055       92,    93,    94,    95,    96,    97,    -1,    -1,    -1,    -1,
 2056       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
 2057      112,   113,   114,   115,   116,   117,   118,    -1,    -1,    -1,
 2058      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
 2059      132,   133,   134,   135,   136,   137,   138,    -1,    -1,    -1,
 2060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2061      152,   153,   154,   155,   156,   157,    -1,    -1,   160,   161,
 2062        9,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
 2063       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 2064       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 2065       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 2066       49,    50,    51,    52,    53,    54,    55,    -1,    -1,    58,
 2067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2068       -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
 2069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 2070       89,    90,    -1,    92,    93,    94,    95,    96,    97,    -1,
 2071       -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
 2072      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
 2073       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,   128,
 2074      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
 2075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2076       -1,    -1,    -1,   152,   153,   154,   155,   156,   157,    -1,
 2077       -1,   160,   161,     9,    10,    11,    12,    13,    14,    15,
 2078       -1,    17,    -1,    19,    20,    21,    22,    23,    24,    25,
 2079       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 2080       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 2081       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 2082       -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
 2084       76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2085       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
 2086       96,    97,    -1,    -1,   100,    -1,    -1,   103,   104,   105,
 2087      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
 2088      116,   117,   118,    -1,    -1,    -1,   122,   123,   124,   125,
 2089      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
 2090      136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2091       -1,    -1,    -1,    -1,    -1,    -1,   152,   153,   154,   155,
 2092      156,   157,    -1,    -1,   160,   161,     9,    10,    11,    12,
 2093       13,    14,    15,    -1,    17,    18,    19,    20,    21,    22,
 2094       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 2095       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 2096       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 2097       53,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,
 2098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2099       73,    74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,
 2100       -1,    -1,    -1,    86,    87,    88,    89,    90,    -1,    92,
 2101       93,    94,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
 2102      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
 2103      113,   114,   115,   116,   117,   118,    -1,    -1,    -1,   122,
 2104      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
 2105      133,   134,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
 2106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,
 2107      153,   154,   155,   156,   157,    -1,    -1,   160,   161,     9,
 2108       10,    11,    12,    13,    14,    15,    -1,    17,    -1,    19,
 2109       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 2110       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
 2111       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 2112       50,    51,    52,    53,    54,    55,    -1,    -1,    58,    -1,
 2113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2114       -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    -1,
 2115       -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,
 2116       90,    -1,    92,    93,    94,    95,    96,    97,    -1,    -1,
 2117       -1,    -1,    -1,   103,   104,   105,   106,   107,   108,   109,
 2118      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
 2119       -1,    -1,   122,   123,   124,   125,   126,   127,   128,   129,
 2120      130,   131,   132,   133,   134,   135,   136,   137,   138,    -1,
 2121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2122       -1,    -1,   152,   153,   154,   155,   156,   157,    -1,    -1,
 2123      160,   161,     9,    10,    11,    12,    -1,    -1,    15,    -1,
 2124       17,    -1,    19,    20,    21,    22,    23,    24,    25,    26,
 2125       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
 2126       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 2127       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
 2128       -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2129       -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    76,
 2130       77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
 2131       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
 2132       97,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,
 2133      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
 2134      117,   118,    -1,    -1,    -1,   122,   123,   124,   125,   126,
 2135      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
 2136      137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2137       -1,    -1,    -1,    -1,    -1,   152,   153,   154,   155,   156,
 2138      157,   158,    -1,   160,   161,     9,    10,    11,    12,    -1,
 2139       -1,    15,    -1,    17,    -1,    19,    20,    21,    22,    23,
 2140       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
 2141       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
 2142       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 2143       54,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
 2144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
 2145       74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
 2146       -1,    -1,    86,    87,    88,    89,    90,    -1,    92,    93,
 2147       94,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,   103,
 2148      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
 2149      114,   115,   116,   117,   118,    -1,    -1,    -1,   122,   123,
 2150      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
 2151      134,   135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,
 2152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,   153,
 2153      154,   155,   156,   157,   158,    -1,   160,   161,     9,    10,
 2154       11,    12,    -1,    -1,    15,    -1,    17,    -1,    19,    20,
 2155       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 2156       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
 2157       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 2158       51,    52,    53,    54,    55,    -1,    -1,    58,    -1,    -1,
 2159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2160       -1,    -1,    73,    74,    75,    76,    77,    78,    -1,    -1,
 2161       -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
 2162       -1,    92,    93,    94,    95,    96,    97,    98,    -1,    -1,
 2163       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
 2164      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
 2165       -1,   122,   123,   124,   125,   126,   127,   128,   129,   130,
 2166      131,   132,   133,   134,   135,   136,   137,   138,    -1,    -1,
 2167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2168       -1,   152,   153,   154,   155,   156,   157,    -1,    -1,   160,
 2169      161,     9,    10,    11,    12,    13,    -1,    15,    -1,    17,
 2170       -1,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 2171       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
 2172       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
 2173       48,    49,    50,    51,    52,    53,    54,    55,    -1,    -1,
 2174       58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2175       -1,    -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,
 2176       78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
 2177       88,    89,    90,    -1,    92,    93,    94,    95,    96,    97,
 2178       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
 2179      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
 2180      118,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
 2181      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
 2182      138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2183       -1,    -1,    -1,    -1,   152,   153,   154,   155,   156,   157,
 2184       -1,    -1,   160,   161,     9,    10,    11,    12,    -1,    -1,
 2185       15,    -1,    17,    -1,    19,    20,    21,    22,    23,    24,
 2186       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 2187       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 2188       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 2189       55,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
 2190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
 2191       75,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,
 2192       -1,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
 2193       95,    96,    97,    98,    -1,    -1,    -1,    -1,   103,   104,
 2194      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 2195      115,   116,   117,   118,    -1,    -1,    -1,   122,   123,   124,
 2196      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 2197      135,   136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,
 2198       -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,   153,   154,
 2199      155,   156,   157,    -1,    -1,   160,   161,     9,    10,    11,
 2200       12,    -1,    -1,    15,    -1,    17,    -1,    19,    20,    21,
 2201       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 2202       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
 2203       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 2204       52,    53,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,
 2205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2206       -1,    73,    74,    75,    76,    77,    78,    -1,    -1,    -1,
 2207       -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    -1,
 2208       92,    93,    94,    95,    96,    97,    98,    -1,    -1,    -1,
 2209       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
 2210      112,   113,   114,   115,   116,   117,   118,    -1,    -1,    -1,
 2211      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
 2212      132,   133,   134,   135,   136,   137,   138,    -1,    -1,    -1,
 2213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2214      152,   153,   154,   155,   156,   157,    -1,    -1,   160,   161,
 2215        9,    10,    11,    12,    -1,    -1,    15,    -1,    17,    -1,
 2216       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 2217       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
 2218       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 2219       49,    50,    51,    52,    53,    54,    55,    -1,    -1,    58,
 2220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2221       -1,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
 2222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
 2223       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
 2224       -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
 2225      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
 2226       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,   128,
 2227      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
 2228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2229       -1,    -1,    -1,   152,   153,   154,   155,   156,   157,    -1,
 2230       -1,   160,   161,     9,    10,    11,    12,    -1,    -1,    15,
 2231       -1,    17,    -1,    19,    20,    21,    22,    23,    24,    25,
 2232       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 2233       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
 2234       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
 2235       -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
 2237       76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2238       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
 2239       96,    97,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
 2240      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
 2241      116,   117,   118,    -1,    -1,    -1,   122,   123,   124,   125,
 2242      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
 2243      136,   137,   138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2244       -1,    -1,    -1,    -1,    -1,    -1,   152,   153,   154,   155,
 2245      156,   157,    -1,    -1,   160,   161,     9,    10,    11,    12,
 2246       -1,    -1,    15,    -1,    17,    -1,    19,    20,    21,    22,
 2247       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 2248       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 2249       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 2250       53,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,
 2251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 2252       73,    74,    75,    76,    77,    78,    -1,    -1,    -1,    -1,
 2253       -1,    -1,    -1,    86,    87,    88,    89,    90,    -1,    92,
 2254       93,    94,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
 2255      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
 2256      113,   114,   115,   116,   117,   118,    -1,    -1,    -1,   122,
 2257      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
 2258      133,   134,   135,   136,   137,   138,    -1,    -1,    -1,    -1,
 2259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,
 2260      153,   154,   155,   156,   157,    -1,    -1,   160,   161
 2261 };
 2262 
 2263   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
 2264      symbol of state STATE-NUM.  */
 2265 static const yytype_uint16 yystos[] =
 2266 {
 2267        0,     5,     6,     7,   164,   165,   166,   167,     8,     9,
 2268       10,    11,    12,    13,    14,    15,    17,    19,    20,    21,
 2269       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 2270       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
 2271       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 2272       52,    53,    54,    55,    58,    73,    74,    75,    76,    77,
 2273       78,    86,    87,    88,    89,    90,    92,    93,    94,    95,
 2274       96,    97,   103,   104,   105,   106,   107,   108,   109,   110,
 2275      111,   112,   113,   114,   115,   116,   117,   118,   122,   123,
 2276      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
 2277      134,   135,   136,   137,   138,   152,   153,   154,   155,   156,
 2278      157,   160,   161,   168,   169,   170,   171,   173,   174,   175,
 2279      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
 2280      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
 2281      196,   197,   198,   199,   200,   201,   202,   203,   204,   207,
 2282      210,   213,   214,   215,   216,   217,   218,   219,   220,   221,
 2283      222,   225,   226,   227,   228,   229,   230,   231,   232,   233,
 2284      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
 2285      244,   245,   246,   247,   248,   249,   251,   252,     8,   168,
 2286        0,   166,   167,   170,   178,   180,   170,   168,   170,    38,
 2287       39,    40,    39,    40,    41,    39,    40,    41,    39,    40,
 2288       41,    39,    40,    41,    39,    40,    39,    40,    39,    40,
 2289       39,    40,   170,   170,    98,    98,    98,    98,   158,   170,
 2290      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
 2291       15,   112,    15,   170,   170,   170,   170,    79,    79,    79,
 2292       79,   170,   170,   170,   168,   168,   168,   168,   168,    98,
 2293      170,    98,    98,    98,   170,    72,    72,    79,   170,   170,
 2294      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
 2295      170,   170,    58,   140,   141,   142,   143,   144,   145,   146,
 2296      148,   149,   150,   151,    15,   170,    72,    72,   158,   170,
 2297       98,    98,   162,     8,   169,    13,    14,   168,    13,    14,
 2298       13,    14,   154,     8,     3,     4,    16,    16,   170,   170,
 2299      168,   170,   170,   170,   170,   170,   170,    13,    14,    15,
 2300      223,   224,   223,   170,    61,    91,   100,   168,   265,   266,
 2301      267,   268,   271,   203,    81,    82,    83,   205,   206,    84,
 2302      211,   212,    85,   208,   209,   170,   170,   170,   170,   170,
 2303      170,   119,    56,    79,   265,   265,   265,   265,   265,   265,
 2304       99,   147,   265,   265,   265,   265,   265,   168,   168,   168,
 2305       98,   170,    98,   170,   170,     3,     4,    18,   172,   170,
 2306      170,   170,   170,   168,   168,   159,   170,   170,    13,   170,
 2307      223,   224,    16,    15,    15,    15,    15,    16,    60,    59,
 2308       80,    80,   206,    80,   212,    80,   209,    80,    79,    57,
 2309      250,   139,   139,   139,   139,   139,   139,   147,   139,   139,
 2310      139,   139,    16,   159,    98,   170,    98,   170,    14,    13,
 2311      168,   168,    38,    39,    41,    14,    13,    14,    13,    16,
 2312       16,   170,   170,    13,    16,   170,   223,    62,    63,    64,
 2313       65,    66,    67,    68,    69,    70,    71,   253,   254,   255,
 2314      256,   257,   258,   259,   260,   261,   262,   263,   264,   256,
 2315      257,   269,   270,   101,   102,