/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 826 by schoenebeck, Sun Jan 8 20:19:49 2006 UTC revision 1026 by schoenebeck, Sun Jan 14 17:10:59 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 2.1.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 18  Line 20 
20     Foundation, Inc., 51 Franklin Street, Fifth Floor,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02110-1301, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23  /* As a special exception, when this file is copied by Bison into a  /* As a special exception, you may create a larger work that contains
24     Bison output file, you may use that output file without restriction.     part or all of the Bison parser skeleton and distribute that work
25     This special exception was added by the Free Software Foundation     under terms of your choice, so long as that work isn't itself a
26     in version 1.24 of Bison.  */     parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33       This special exception was added by the Free Software Foundation in
34       version 2.2 of Bison.  */
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 37  Line 47 
47  #define YYBISON 1  #define YYBISON 1
48    
49  /* Bison version.  */  /* Bison version.  */
50  #define YYBISON_VERSION "2.1"  #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
# Line 55  Line 65 
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 113  int yylex(YYSTYPE* yylval) { Line 123  int yylex(YYSTYPE* yylval) {
123  # define YYTOKEN_TABLE 0  # define YYTOKEN_TABLE 0
124  #endif  #endif
125    
126  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 125  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 219 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 130 "y.tab.c"  #line 140 "y.tab.c"
140    
141  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #ifdef short
142  # define YYSIZE_T __SIZE_TYPE__  # undef short
143  #endif  #endif
144  #if ! defined (YYSIZE_T) && defined (size_t)  
145  # define YYSIZE_T size_t  #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158  #endif  #endif
159  #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))  
160  # include <stddef.h> /* INFRINGES ON USER NAME SPACE */  #ifdef YYTYPE_UINT16
161  # define YYSIZE_T size_t  typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164  #endif  #endif
165  #if ! defined (YYSIZE_T)  
166  # define YYSIZE_T unsigned int  #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170  #endif  #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183    # endif
184    #endif
185    
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188  #ifndef YY_  #ifndef YY_
189  # if YYENABLE_NLS  # if YYENABLE_NLS
190  #  if ENABLE_NLS  #  if ENABLE_NLS
# Line 154  typedef int YYSTYPE; Line 197  typedef int YYSTYPE;
197  # endif  # endif
198  #endif  #endif
199    
200  #if ! defined (yyoverflow) || YYERROR_VERBOSE  /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
# Line 162  typedef int YYSTYPE; Line 230  typedef int YYSTYPE;
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240  #   else  #   else
241  #    define YYSTACK_ALLOC alloca  #    define YYSTACK_ALLOC alloca
242  #    if defined (__STDC__) || defined (__cplusplus)  #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244  #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245  #     define YYINCLUDED_STDLIB_H  #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248  #    endif  #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  #  ifndef YYSTACK_ALLOC_MAXIMUM  #  ifndef YYSTACK_ALLOC_MAXIMUM
257      /* The OS might guarantee only one guard page at the bottom of the stack,      /* The OS might guarantee only one guard page at the bottom of the stack,
258         and a page size can be as small as 4096 bytes.  So we cannot safely         and a page size can be as small as 4096 bytes.  So we cannot safely
259         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260         to allow for a few compiler-allocated temporary stack slots.  */         to allow for a few compiler-allocated temporary stack slots.  */
261  #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */  #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263  # else  # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266  #  ifndef YYSTACK_ALLOC_MAXIMUM  #  ifndef YYSTACK_ALLOC_MAXIMUM
267  #   define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)  #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268  #  endif  #  endif
269  #  ifdef __cplusplus  #  if (defined __cplusplus && ! defined _STDLIB_H \
270  extern "C" {         && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276  #  endif  #  endif
277  #  ifndef YYMALLOC  #  ifndef YYMALLOC
278  #   define YYMALLOC malloc  #   define YYMALLOC malloc
279  #   if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \  #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280          && (defined (__STDC__) || defined (__cplusplus)))       || defined __cplusplus || defined _MSC_VER)
281  void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */  void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282  #   endif  #   endif
283  #  endif  #  endif
284  #  ifndef YYFREE  #  ifndef YYFREE
285  #   define YYFREE free  #   define YYFREE free
286  #   if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \  #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287          && (defined (__STDC__) || defined (__cplusplus)))       || defined __cplusplus || defined _MSC_VER)
288  void free (void *); /* INFRINGES ON USER NAME SPACE */  void free (void *); /* INFRINGES ON USER NAME SPACE */
289  #   endif  #   endif
290  #  endif  #  endif
 #  ifdef __cplusplus  
 }  
 #  endif  
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 229  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
# Line 246  union yyalloc Line 326  union yyalloc
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 264  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
348    
349  #endif  #endif
350    
351  #if defined (__STDC__) || defined (__cplusplus)  /* YYFINAL -- State number of the termination state.  */
352     typedef signed char yysigned_char;  #define YYFINAL  46
 #else  
    typedef short int yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  40  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4080  #define YYLAST   4801
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  99  #define YYNNTS  139
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  436  #define YYNRULES  528
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1235  #define YYNSTATES  1668
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 296  union yyalloc Line 370  union yyalloc
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
# Line 329  static const unsigned char yytranslate[] Line 403  static const unsigned char yytranslate[]
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       113,   115,   117,   119,   125,   133,   143,   145,   151,   159,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       169,   171,   173,   179,   185,   193,   203,   211,   221,   223,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       229,   237,   243,   249,   255,   259,   261,   263,   271,   281,       157,   159,   161,   163,   179,   197,   215,   235,   243,   247,
415       289,   299,   303,   307,   313,   317,   323,   327,   331,   335,       251,   255,   257,   259,   265,   273,   283,   285,   291,   299,
416       339,   343,   349,   357,   363,   373,   379,   385,   391,   397,       309,   311,   313,   319,   325,   333,   343,   351,   361,   363,
417       403,   409,   415,   419,   425,   427,   429,   431,   433,   435,       369,   377,   383,   389,   395,   399,   401,   403,   407,   411,
418       437,   439,   441,   447,   455,   459,   461,   463,   465,   467,       421,   423,   429,   433,   441,   443,   451,   461,   469,   479,
419       469,   471,   473,   475,   477,   479,   481,   483,   485,   487,       483,   491,   503,   513,   523,   527,   531,   537,   541,   547,
420       491,   493,   495,   497,   499,   501,   503,   505,   508,   512,       551,   557,   565,   569,   573,   577,   581,   585,   591,   595,
421       517,   522,   524,   527,   529,   531,   533,   535,   537,   539,       599,   605,   613,   619,   629,   635,   641,   647,   653,   659,
422       541,   543,   545,   547,   549,   552,   555,   558,   561,   564,       665,   671,   677,   683,   689,   693,   699,   701,   703,   705,
423       567,   570,   573,   576,   578,   580,   582,   584,   586,   588,       707,   709,   711,   713,   715,   719,   723,   725,   729,   735,
424       590,   592,   594,   596,   598,   600,   602,   604,   606,   608,       743,   747,   749,   751,   753,   755,   757,   759,   761,   763,
425       610,   612,   614,   616,   618,   620,   622,   624,   626,   628,       765,   767,   769,   771,   773,   775,   777,   779,   781,   783,
426       630,   632,   634,   636,   638,   640,   642,   644,   646,   648,       785,   787,   789,   791,   793,   795,   797,   801,   803,   805,
427       650,   652,   654,   656,   658,   660,   662,   664,   666,   668,       807,   809,   811,   813,   815,   818,   822,   827,   832,   834,
428       670,   672,   674,   676,   678,   680,   682,   684,   686,   688,       837,   839,   841,   843,   845,   847,   849,   851,   853,   855,
429       690,   692,   694,   696,   698,   700,   702,   704,   706,   708,       857,   859,   862,   865,   868,   871,   874,   877,   880,   883,
430       710,   712,   714,   716,   718,   720,   722,   724,   726,   728,       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,
431       730,   732,   734,   736,   738,   740,   742,   744,   746,   748,       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,
432       750,   752,   754,   756,   758,   760,   762,   764,   766,   768,       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,
433       770,   772,   774,   776,   778,   780,   782,   784,   786,   788,       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,
434       790,   792,   794,   796,   798,   800,   802,   804,   806,   808,       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,
435       810,   812,   814,   816,   818,   820,   822,   824,   826,   828,       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,
436       830,   832,   834,   836,   838,   840,   842,   844,   846,   848,      1006,  1008,  1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,
437       850,   852,   854,   856,   858,   860,   862,   864,   866,   868,      1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,
438       870,   872,   874,   876,   878,   880,   882,   884,   886,   888,      1046,  1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,
439       890,   892,   894,   896,   898,   900,   902,   904,   906,   908,      1066,  1068,  1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,
440       910,   912,   914,   916,   918,   920,   922,   924,   926,   928,      1086,  1088,  1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,
441       930,   932,   934,   936,   938,   940,   942,   944,   946,   948,      1106,  1108,  1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,
442       950,   952,   954,   956,   958,   960,   962,   964,   966,   968,      1126,  1128,  1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,
443       970,   972,   974,   976,   978,   980,   982,   984,   986,   988,      1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,
444       990,   992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,      1166,  1168,  1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,
445      1010,  1012,  1014,  1016,  1018,  1021,  1024,  1028,  1032,  1034,      1186,  1188,  1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,
446      1036,  1038,  1042,  1046,  1053,  1061,  1066,  1071,  1075,  1085,      1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,
447      1092,  1096,  1106,  1118,  1125,  1133,  1151,  1182,  1191,  1196,      1226,  1228,  1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,
448      1210,  1223,  1235,  1248,  1260,  1278,  1300,  1311,  1318,  1348,      1246,  1248,  1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,
449      1369,  1389,  1419,  1439,  1470,  1491,  1509,  1538,  1566,  1592,      1266,  1268,  1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,
450      1611,  1629,  1657,  1675,  1691,  1710,  1726,  1737,  1744,  1751,      1286,  1288,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
451      1756,  1761,  1767,  1778,  1784,  1798,  1803      1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
452        1326,  1328,  1331,  1334,  1338,  1342,  1344,  1346,  1348,  1352,
453        1356,  1360,  1366,  1372,  1379,  1387,  1392,  1397,  1401,  1406,
454        1414,  1424,  1431,  1435,  1445,  1457,  1464,  1472,  1490,  1521,
455        1530,  1535,  1561,  1586,  1610,  1633,  1659,  1684,  1706,  1727,
456        1741,  1754,  1766,  1779,  1791,  1809,  1831,  1842,  1849,  1859,
457        1874,  1885,  1915,  1936,  1956,  1986,  2006,  2037,  2058,  2076,
458        2105,  2133,  2159,  2178,  2196,  2224,  2240,  2257,  2277,  2298,
459        2316,  2332,  2351,  2367,  2378,  2394,  2402,  2411,  2418,  2425,
460        2431,  2436,  2441,  2447,  2458,  2464,  2478,  2483,  2488
461  };  };
462    
463  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
464  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
465  {  {
466       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   283,    -1,   229,   284,   283,    -1,
467        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
468         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   282,    -1,   230,   278,    -1,   230,   274,
469        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   285,   282,   232,    -1,   287,   282,   235,    -1,   288,
470       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       282,   236,    -1,   286,   282,   238,    -1,   290,   282,   240,
471        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   291,   282,   243,    -1,   292,   282,   248,    -1,   293,
472        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       282,   244,    -1,   298,   282,   237,    -1,   299,   282,   239,
473       267,   233,    -1,   282,   267,   265,    -1,   322,   267,   283,        -1,   300,   282,   233,    -1,   301,   282,   234,    -1,   302,
474       267,   252,    -1,   322,    -1,   325,    -1,   288,    -1,   292,       282,   280,    -1,   361,   282,   241,    -1,   289,   282,   242,
475        -1,   291,    -1,   290,    -1,   289,    -1,   323,    -1,   293,        -1,   361,    -1,   365,    -1,   303,    -1,   344,    -1,   344,
476        -1,   288,    -1,   292,    -1,   291,    -1,   290,    -1,   289,       282,   268,    -1,   308,    -1,   309,    -1,   310,    -1,   311,
477        -1,   323,    -1,   293,    -1,   284,    -1,   305,    -1,   311,        -1,   316,    -1,   320,    -1,   319,    -1,   318,    -1,   317,
478       267,   287,   267,   259,    -1,   310,   267,   287,   267,   259,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   362,
479       267,   259,    -1,   310,   267,   287,   267,   259,   267,   259,        -1,   321,    -1,   308,    -1,   309,    -1,   310,    -1,   311,
480       267,   240,    -1,   285,    -1,   301,   267,   287,   267,   259,        -1,   316,    -1,   320,    -1,   319,    -1,   318,    -1,   317,
481        -1,   300,   267,   287,   267,   259,   267,   259,    -1,   300,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   362,
482       267,   287,   267,   259,   267,   259,   267,   240,    -1,   298,        -1,   321,    -1,   342,   282,   258,   282,   259,   282,   260,
483        -1,   308,    -1,   299,   267,   287,   267,   263,    -1,   309,       282,   266,   282,   267,   282,   264,   282,   262,    -1,   342,
484       267,   287,   267,   263,    -1,   312,   267,   287,   267,   263,       282,   258,   282,   259,   282,   260,   282,   266,   282,   267,
485       267,   263,    -1,   307,   267,   287,   267,   263,   267,   263,       282,   264,   282,   262,   282,   251,    -1,   342,   282,   258,
486       267,   259,    -1,   303,   267,   287,   267,   263,   267,   263,       282,   259,   282,   260,   282,   266,   282,   267,   282,   264,
487        -1,   302,   267,   287,   267,   263,   267,   263,   267,   259,       282,   262,   282,   269,    -1,   342,   282,   258,   282,   259,
488        -1,   286,    -1,   283,   267,   287,   267,   252,    -1,   283,       282,   260,   282,   266,   282,   267,   282,   264,   282,   262,
489       267,   290,   267,   241,   267,   252,    -1,   283,   267,   291,       282,   251,   282,   269,    -1,   342,   282,   258,   282,   259,
490       267,   252,    -1,   283,   267,   292,   267,   252,    -1,   296,       282,   260,    -1,   303,   282,   263,    -1,   344,   282,   258,
491       267,   287,   267,   254,    -1,   316,   267,   287,    -1,   293,        -1,   344,   282,   294,    -1,   304,    -1,   336,    -1,   346,
492        -1,   294,    -1,   297,   267,   263,   267,   259,     4,   256,       282,   307,   282,   274,    -1,   341,   282,   307,   282,   274,
493        -1,   302,   267,   263,   267,   263,   267,   259,     4,   256,       282,   274,    -1,   341,   282,   307,   282,   274,   282,   274,
494        -1,   306,   267,   263,   267,   259,     4,   256,    -1,   307,       282,   246,    -1,   305,    -1,   332,   282,   307,   282,   274,
495       267,   263,   267,   263,   267,   259,     4,   256,    -1,   283,        -1,   331,   282,   307,   282,   274,   282,   274,    -1,   331,
496       267,   239,    -1,   324,   267,   258,    -1,   299,   267,   259,       282,   307,   282,   274,   282,   274,   282,   246,    -1,   329,
497       267,   240,    -1,   299,   267,   259,    -1,   309,   267,   259,        -1,   339,    -1,   330,   282,   307,   282,   278,    -1,   340,
498       267,   240,    -1,   309,   267,   259,    -1,   299,   267,   263,       282,   307,   282,   278,    -1,   347,   282,   307,   282,   278,
499        -1,   309,   267,   263,    -1,   295,   267,   243,    -1,   296,       282,   278,    -1,   338,   282,   307,   282,   278,   282,   278,
500       267,   244,    -1,   299,   267,   252,   267,   245,    -1,   303,       282,   274,    -1,   334,   282,   307,   282,   278,   282,   278,
501       267,   252,   267,   246,   267,   246,    -1,   304,   267,   252,        -1,   333,   282,   307,   282,   278,   282,   278,   282,   274,
502       267,   247,    -1,   315,   267,   252,   267,   245,   267,   248,        -1,   306,    -1,   303,   282,   307,   282,   263,    -1,   303,
503       267,   249,    -1,   309,   267,   252,   267,   245,    -1,   312,       282,   318,   282,   247,   282,   263,    -1,   303,   282,   319,
504       267,   252,   267,   248,    -1,   313,   267,   252,   267,   249,       282,   263,    -1,   303,   282,   320,   282,   263,    -1,   324,
505        -1,   314,   267,   252,   267,   250,    -1,   317,   267,   252,       282,   307,   282,   266,    -1,   354,   282,   307,    -1,   321,
506       267,   251,    -1,   318,   267,   252,   267,   258,    -1,   319,        -1,   322,    -1,   343,   282,   258,    -1,   343,   282,   294,
507       267,   252,   267,   258,    -1,   259,     4,   256,    -1,   240,        -1,   342,   282,   307,   282,   258,   282,   259,   282,   260,
508       267,   259,     4,   256,    -1,   320,    -1,   321,    -1,   298,        -1,   345,    -1,   344,   282,   307,   282,   258,    -1,   353,
509        -1,   308,    -1,   286,    -1,   284,    -1,   305,    -1,   285,       282,   263,    -1,   352,   282,   307,   282,   263,   282,   265,
510        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,        -1,   355,    -1,   328,   282,   278,   282,   274,     4,   271,
511       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,        -1,   333,   282,   278,   282,   278,   282,   274,     4,   271,
512        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,        -1,   337,   282,   278,   282,   274,     4,   271,    -1,   338,
513        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,       282,   278,   282,   278,   282,   274,     4,   271,    -1,   303,
514        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       282,   245,    -1,   344,   282,   363,   282,   258,   282,   268,
515        -1,   259,    -1,   266,    -1,   263,    -1,   260,    -1,   263,        -1,   352,   282,   334,   282,   263,   282,   265,   282,   253,
516        -1,   259,    -1,   264,    -1,   259,   264,    -1,   261,     6,       282,   253,    -1,   352,   282,   351,   282,   263,   282,   265,
517       261,    -1,     7,   261,     6,   261,    -1,     8,   261,     6,       282,   261,    -1,   352,   282,   356,   282,   263,   282,   265,
518       261,    -1,   262,    -1,   261,   262,    -1,     9,    -1,    10,       282,   262,    -1,   364,   282,   273,    -1,   355,   282,   262,
519          -1,   330,   282,   274,   282,   246,    -1,   330,   282,   274,
520          -1,   340,   282,   274,   282,   246,    -1,   340,   282,   274,
521          -1,   352,   282,   263,   282,   261,    -1,   352,   282,   263,
522         282,   261,   282,   270,    -1,   303,   282,   263,    -1,   343,
523         282,   258,    -1,   343,   282,   294,    -1,   330,   282,   278,
524          -1,   340,   282,   278,    -1,   352,   282,   263,   282,   265,
525          -1,   323,   282,   249,    -1,   324,   282,   250,    -1,   330,
526         282,   263,   282,   252,    -1,   334,   282,   263,   282,   253,
527         282,   253,    -1,   335,   282,   263,   282,   254,    -1,   350,
528         282,   263,   282,   252,   282,   255,   282,   256,    -1,   340,
529         282,   263,   282,   252,    -1,   347,   282,   263,   282,   255,
530          -1,   348,   282,   263,   282,   256,    -1,   349,   282,   263,
531         282,   257,    -1,   355,   282,   263,   282,   262,    -1,   357,
532         282,   263,   282,   273,    -1,   358,   282,   263,   282,   273,
533          -1,   344,   282,   263,   282,   258,    -1,   344,   282,   263,
534         282,   295,    -1,   344,   282,   263,   282,   296,    -1,   274,
535           4,   271,    -1,   246,   282,   274,     4,   271,    -1,   359,
536          -1,   360,    -1,   329,    -1,   339,    -1,   306,    -1,   304,
537          -1,   336,    -1,   305,    -1,   343,   282,   258,    -1,   343,
538         282,   294,    -1,   345,    -1,   353,   282,   263,    -1,   267,
539         282,   264,   282,   263,    -1,   297,   282,   267,   282,   264,
540         282,   263,    -1,   266,   282,   263,    -1,   325,    -1,   326,
541          -1,   327,    -1,   278,    -1,   278,    -1,   274,    -1,   278,
542          -1,   278,    -1,   294,    -1,   274,    -1,   278,    -1,   278,
543          -1,   278,    -1,   278,    -1,   275,    -1,   278,    -1,   278,
544          -1,   278,    -1,   278,    -1,   274,    -1,   281,    -1,   281,
545          -1,   281,    -1,   281,    -1,   272,    -1,   271,     5,   272,
546          -1,   274,    -1,   281,    -1,   278,    -1,   275,    -1,   278,
547          -1,   274,    -1,   279,    -1,   274,   279,    -1,   276,     6,
548         276,    -1,     7,   276,     6,   276,    -1,     8,   276,     6,
549         276,    -1,   277,    -1,   276,   277,    -1,     9,    -1,    10,
550        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
551        -1,    16,    -1,    17,    -1,    18,    -1,   262,    -1,    10,        -1,    16,    -1,    17,    -1,    18,    -1,   277,    -1,    10,
552       261,    -1,    11,   261,    -1,    12,   261,    -1,    13,   261,       276,    -1,    11,   276,    -1,    12,   276,    -1,    13,   276,
553        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,        -1,    14,   276,    -1,    15,   276,    -1,    16,   276,    -1,
554        17,   261,    -1,    18,   261,    -1,    19,    -1,    20,    -1,        17,   276,    -1,    18,   276,    -1,    19,    -1,    20,    -1,
555        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
556        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
557        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
# Line 481  static const short int yyrhs[] = Line 595  static const short int yyrhs[] =
595       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
596       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
597       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
598       220,    -1,   221,    -1,   267,    -1,   259,    -1,   265,   267,       220,    -1,   221,    -1,   282,    -1,   274,    -1,   280,   282,
599        -1,   265,   259,    -1,   222,   265,   222,    -1,   223,   265,        -1,   280,   274,    -1,   222,   280,   222,    -1,   223,   280,
600       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
601        22,    -1,    25,    23,    38,    -1,    21,    36,    23,    19,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
602        38,    23,    -1,    22,    23,    37,    38,    36,    33,    43,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
603        -1,    30,    27,    37,    38,    -1,    30,    33,    19,    22,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
604        -1,    19,    30,    30,    -1,    32,    33,    32,    89,    31,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
605        33,    22,    19,    30,    -1,    36,    23,    31,    33,    40,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
606        23,    -1,    37,    23,    38,    -1,    37,    39,    20,    37,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
607        21,    36,    27,    20,    23,    -1,    39,    32,    37,    39,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
608        20,    37,    21,    36,    27,    20,    23,    -1,    37,    23,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
609        30,    23,    21,    38,    -1,    21,    26,    19,    32,    32,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
610        23,    30,    -1,    19,    40,    19,    27,    30,    19,    20,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
611        30,    23,    89,    23,    32,    25,    27,    32,    23,    37,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
612        -1,    19,    40,    19,    27,    30,    19,    20,    30,    23,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
613        89,    19,    39,    22,    27,    33,    89,    33,    39,    38,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
614        34,    39,    38,    89,    22,    36,    27,    40,    23,    36,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
615        37,    -1,    21,    26,    19,    32,    32,    23,    30,    37,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
       -1,    27,    32,    24,    33,    -1,    21,    26,    19,    32,  
       32,    23,    30,    89,    21,    33,    39,    32,    38,    -1,  
       21,    26,    19,    32,    32,    23,    30,    89,    27,    32,  
       24,    33,    -1,    20,    39,    24,    24,    23,    36,    89,  
       24,    27,    30,    30,    -1,    37,    38,    36,    23,    19,  
       31,    89,    21,    33,    39,    32,    38,    -1,    40,    33,  
       27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,  
       38,    33,    38,    19,    30,    89,    40,    33,    27,    21,  
       23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,  
       38,    19,    30,    89,    40,    33,    27,    21,    23,    89,  
       21,    33,    39,    32,    38,    89,    31,    19,    42,    -1,  
       27,    32,    37,    38,    36,    39,    31,    23,    32,    38,  
       -1,    23,    32,    25,    27,    32,    23,    -1,    19,    39,  
       22,    27,    33,    89,    33,    39,    38,    34,    39,    38,  
       89,    22,    23,    40,    27,    21,    23,    89,    34,    19,  
       36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,  
       22,    27,    33,    89,    33,    39,    38,    34,    39,    38,  
       89,    22,    23,    40,    27,    21,    23,    37,    -1,    19,  
       39,    22,    27,    33,    89,    33,    39,    38,    34,    39,  
       38,    89,    22,    23,    40,    27,    21,    23,    -1,    19,  
       39,    22,    27,    33,    89,    33,    39,    38,    34,    39,  
       38,    89,    22,    36,    27,    40,    23,    36,    89,    34,  
       19,    36,    19,    31,    23,    38,    23,    36,    -1,    19,  
       39,    22,    27,    33,    89,    33,    39,    38,    34,    39,  
       38,    89,    22,    36,    27,    40,    23,    36,    -1,    19,  
       39,    22,    27,    33,    89,    33,    39,    38,    34,    39,  
       38,    89,    21,    26,    19,    32,    32,    23,    30,    89,  
       34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,  
616        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
617        39,    38,    89,    21,    26,    19,    32,    32,    23,    30,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
618          -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
619          27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
620          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
621          40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
622        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
623        34,    39,    38,    89,    38,    43,    34,    23,    -1,    19,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
624        40,    19,    27,    30,    19,    20,    30,    23,    89,    31,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
625          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
626          27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
627          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
628          89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
629          24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
630          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
631          19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
632          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
633          31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
634          32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
635          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
636          21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
637          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
638          38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
639          32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
640          -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
641          32,    24,    33,    -1,    20,    39,    24,    24,    23,    36,
642          89,    24,    27,    30,    30,    -1,    37,    38,    36,    23,
643          19,    31,    89,    21,    33,    39,    32,    38,    -1,    40,
644          33,    27,    21,    23,    89,    21,    33,    39,    32,    38,
645          -1,    38,    33,    38,    19,    30,    89,    40,    33,    27,
646          21,    23,    89,    21,    33,    39,    32,    38,    -1,    38,
647          33,    38,    19,    30,    89,    40,    33,    27,    21,    23,
648          89,    21,    33,    39,    32,    38,    89,    31,    19,    42,
649          -1,    27,    32,    37,    38,    36,    39,    31,    23,    32,
650          38,    -1,    23,    32,    25,    27,    32,    23,    -1,    33,
651          32,    89,    22,    23,    31,    19,    32,    22,    -1,    33,
652          32,    89,    22,    23,    31,    19,    32,    22,    89,    26,
653          33,    30,    22,    -1,    34,    23,    36,    37,    27,    37,
654          38,    23,    32,    38,    -1,    19,    39,    22,    27,    33,
655          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
656          40,    27,    21,    23,    89,    34,    19,    36,    19,    31,
657          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
658          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
659          40,    27,    21,    23,    37,    -1,    19,    39,    22,    27,
660          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
661          23,    40,    27,    21,    23,    -1,    19,    39,    22,    27,
662          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
663          36,    27,    40,    23,    36,    89,    34,    19,    36,    19,
664          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
665          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
666          36,    27,    40,    23,    36,    -1,    19,    39,    22,    27,
667          33,    89,    33,    39,    38,    34,    39,    38,    89,    21,
668          26,    19,    32,    32,    23,    30,    89,    34,    19,    36,
669          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
670          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
671          21,    26,    19,    32,    32,    23,    30,    -1,    19,    39,
672          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
673          89,    38,    43,    34,    23,    -1,    19,    40,    19,    27,
674          30,    19,    20,    30,    23,    89,    31,    27,    22,    27,
675          89,    27,    32,    34,    39,    38,    89,    22,    36,    27,
676          40,    23,    36,    37,    -1,    31,    27,    22,    27,    89,
677          27,    32,    34,    39,    38,    89,    22,    23,    40,    27,
678          21,    23,    89,    34,    19,    36,    19,    31,    23,    38,
679          23,    36,    -1,    31,    27,    22,    27,    89,    27,    32,
680          34,    39,    38,    89,    34,    33,    36,    38,    89,    34,
681          19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
682        27,    22,    27,    89,    27,    32,    34,    39,    38,    89,        27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
683        22,    36,    27,    40,    23,    36,    37,    -1,    31,    27,        22,    23,    40,    27,    21,    23,    37,    -1,    31,    27,
684          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
685          23,    40,    27,    21,    23,    -1,    31,    27,    22,    27,
686          89,    27,    32,    34,    39,    38,    89,    22,    36,    27,
687          40,    23,    36,    89,    34,    19,    36,    19,    31,    23,
688          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
689          32,    37,    38,    36,    39,    31,    23,    32,    38,    -1,
690          31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
691          39,    31,    23,    32,    38,    37,    -1,    31,    27,    22,
692          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
693          32,    38,    89,    31,    19,    34,    -1,    31,    27,    22,
694          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
695          32,    38,    89,    31,    19,    34,    37,    -1,    31,    27,
696        22,    27,    89,    27,    32,    34,    39,    38,    89,    22,        22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
697        23,    40,    27,    21,    23,    89,    34,    19,    36,    19,        36,    27,    40,    23,    36,    -1,    31,    27,    22,    27,
       31,    23,    38,    23,    36,    -1,    31,    27,    22,    27,  
698        89,    27,    32,    34,    39,    38,    89,    34,    33,    36,        89,    27,    32,    34,    39,    38,    89,    34,    33,    36,
699        38,    89,    34,    19,    36,    19,    31,    23,    38,    23,        38,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
700        36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,        39,    38,    89,    21,    26,    19,    32,    32,    23,    30,
       39,    38,    89,    22,    23,    40,    27,    21,    23,    37,  
       -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,  
       38,    89,    22,    23,    40,    27,    21,    23,    -1,    31,  
       27,    22,    27,    89,    27,    32,    34,    39,    38,    89,  
       22,    36,    27,    40,    23,    36,    89,    34,    19,    36,  
       19,    31,    23,    38,    23,    36,    -1,    31,    27,    22,  
       27,    89,    27,    32,    34,    39,    38,    89,    22,    36,  
       27,    40,    23,    36,    -1,    31,    27,    22,    27,    89,  
       27,    32,    34,    39,    38,    89,    34,    33,    36,    38,  
701        -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,        -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
702        38,    89,    21,    26,    19,    32,    32,    23,    30,    -1,        38,    89,    38,    43,    34,    23,    -1,    31,    27,    22,
703        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,        27,    89,    27,    32,    34,    39,    38,    -1,    31,    27,
704        89,    38,    43,    34,    23,    -1,    31,    27,    22,    27,        22,    27,    89,    21,    33,    32,    38,    36,    33,    30,
705        89,    27,    32,    34,    39,    38,    -1,    37,    23,    36,        30,    23,    36,    -1,    24,    42,    89,    37,    23,    32,
706        40,    23,    36,    -1,    40,    33,    30,    39,    31,    23,        22,    -1,    24,    42,    89,    37,    23,    32,    22,    37,
707          -1,    37,    23,    36,    40,    23,    36,    -1,    40,    33,
708          30,    39,    31,    23,    -1,    30,    23,    40,    23,    30,
709        -1,    31,    39,    38,    23,    -1,    37,    33,    30,    33,        -1,    31,    39,    38,    23,    -1,    37,    33,    30,    33,
710        -1,    20,    43,    38,    23,    37,    -1,    34,    23,    36,        -1,    20,    43,    38,    23,    37,    -1,    34,    23,    36,
711        21,    23,    32,    38,    19,    25,    23,    -1,    36,    23,        21,    23,    32,    38,    19,    25,    23,    -1,    36,    23,
712        37,    23,    38,    -1,    31,    27,    37,    21,    23,    30,        37,    23,    38,    -1,    31,    27,    37,    21,    23,    30,
713        30,    19,    32,    23,    33,    39,    37,    -1,    23,    21,        30,    19,    32,    23,    33,    39,    37,    -1,    32,    19,
714        26,    33,    -1,    35,    39,    27,    38,    -1        31,    23,    -1,    23,    21,    26,    33,    -1,    35,    39,
715          27,    38,    -1
716  };  };
717    
718  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
719  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
720  {  {
721         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,         0,    96,    96,    97,   100,   101,   102,   103,   106,   107,
722       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,       108,   109,   110,   113,   114,   115,   116,   117,   118,   119,
723       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
724       126,   127,   128,   129,   132,   133,   134,   135,   136,   137,       132,   133,   134,   137,   138,   139,   140,   141,   142,   143,
725       138,   141,   142,   143,   144,   145,   146,   147,   148,   149,       144,   145,   146,   147,   148,   149,   150,   151,   154,   155,
726       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
727       160,   161,   162,   163,   164,   165,   166,   169,   170,   171,       166,   167,   168,   171,   172,   173,   174,   177,   180,   181,
728       172,   173,   174,   177,   178,   179,   180,   183,   184,   187,       182,   185,   186,   187,   188,   189,   190,   191,   192,   193,
729       188,   191,   192,   193,   194,   195,   196,   197,   198,   199,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
730       200,   201,   204,   205,   208,   209,   212,   213,   214,   215,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
731       216,   217,   220,   221,   224,   227,   230,   233,   236,   239,       214,   215,   216,   217,   218,   221,   222,   223,   224,   225,
732       240,   243,   246,   247,   250,   253,   256,   259,   262,   263,       226,   227,   228,   229,   230,   231,   234,   235,   236,   237,
733       266,   267,   268,   269,   277,   278,   281,   282,   285,   286,       238,   239,   242,   245,   246,   249,   250,   251,   254,   255,
734       287,   291,   292,   295,   296,   297,   298,   299,   300,   301,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
735       302,   303,   304,   307,   308,   309,   310,   311,   312,   313,       268,   269,   270,   271,   274,   275,   278,   279,   282,   283,
736       314,   315,   316,   318,   318,   318,   318,   318,   318,   318,       284,   285,   286,   287,   288,   289,   290,   291,   294,   295,
737       318,   318,   318,   318,   318,   318,   318,   318,   318,   318,       298,   301,   302,   303,   306,   309,   312,   315,   318,   319,
738       318,   318,   318,   318,   318,   318,   318,   318,   318,   319,       322,   325,   328,   331,   334,   337,   338,   341,   344,   347,
739       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       350,   353,   356,   359,   362,   365,   366,   369,   370,   371,
740       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       372,   380,   381,   384,   385,   388,   389,   390,   394,   395,
741       319,   319,   319,   319,   319,   320,   320,   320,   320,   320,       398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
742       320,   320,   320,   320,   320,   321,   321,   321,   321,   321,       410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
743       321,   321,   321,   321,   321,   321,   321,   321,   322,   322,       421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
744       322,   322,   322,   322,   322,   323,   323,   323,   323,   323,       421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
745       324,   324,   324,   324,   325,   325,   325,   326,   326,   326,       421,   421,   421,   421,   421,   421,   422,   422,   422,   422,
746       327,   327,   327,   328,   328,   328,   329,   329,   329,   330,       422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
747       330,   330,   331,   331,   331,   332,   332,   332,   333,   333,       422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
748       333,   334,   334,   334,   335,   335,   335,   336,   336,   336,       422,   422,   423,   423,   423,   423,   423,   423,   423,   423,
749       337,   337,   337,   338,   338,   338,   339,   339,   339,   340,       423,   423,   424,   424,   424,   424,   424,   424,   424,   424,
750       340,   340,   341,   341,   341,   342,   342,   342,   343,   343,       424,   424,   424,   424,   424,   425,   425,   425,   425,   425,
751       343,   344,   344,   344,   345,   345,   345,   346,   346,   346,       425,   425,   426,   426,   426,   426,   426,   427,   427,   427,
752       347,   347,   347,   348,   348,   348,   349,   349,   349,   350,       427,   428,   428,   428,   429,   429,   429,   430,   430,   430,
753       350,   350,   351,   351,   351,   352,   352,   352,   353,   353,       431,   431,   431,   432,   432,   432,   433,   433,   433,   434,
754       353,   354,   354,   354,   355,   355,   355,   356,   356,   356,       434,   434,   435,   435,   435,   436,   436,   436,   437,   437,
755       357,   357,   357,   358,   358,   358,   359,   359,   359,   360,       437,   438,   438,   438,   439,   439,   439,   440,   440,   440,
756       360,   360,   361,   361,   361,   362,   362,   362,   363,   363,       441,   441,   441,   442,   442,   442,   443,   443,   443,   444,
757       363,   364,   364,   364,   365,   365,   365,   366,   366,   366,       444,   444,   445,   445,   445,   446,   446,   446,   447,   447,
758       367,   367,   370,   371,   372,   373,   376,   377,   383,   386,       447,   448,   448,   448,   449,   449,   449,   450,   450,   450,
759       389,   392,   395,   398,   401,   404,   407,   410,   413,   416,       451,   451,   451,   452,   452,   452,   453,   453,   453,   454,
760       419,   422,   425,   428,   431,   434,   437,   440,   443,   446,       454,   454,   455,   455,   455,   456,   456,   456,   457,   457,
761       449,   452,   455,   458,   461,   464,   467,   470,   473,   476,       457,   458,   458,   458,   459,   459,   459,   460,   460,   460,
762       479,   482,   485,   488,   491,   494,   497,   500,   503,   506,       461,   461,   461,   462,   462,   462,   463,   463,   463,   464,
763       509,   512,   515,   518,   521,   524,   527,   530,   533,   536,       464,   464,   465,   465,   465,   466,   466,   466,   467,   467,
764       539,   542,   545,   548,   551,   554,   557       467,   468,   468,   468,   469,   469,   469,   470,   470,   473,
765         474,   475,   476,   479,   480,   486,   489,   492,   495,   498,
766         501,   504,   507,   510,   513,   516,   519,   522,   525,   528,
767         531,   534,   537,   540,   543,   546,   549,   552,   555,   558,
768         561,   564,   567,   570,   573,   576,   579,   582,   585,   588,
769         591,   594,   597,   600,   603,   606,   609,   612,   615,   618,
770         621,   624,   627,   630,   633,   636,   639,   642,   645,   648,
771         651,   654,   657,   660,   663,   666,   669,   672,   675,   678,
772         681,   684,   687,   690,   693,   696,   699,   702,   705,   708,
773         711,   714,   717,   720,   723,   726,   729,   732,   735
774  };  };
775  #endif  #endif
776    
777  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
778  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
779     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
780  static const char *const yytname[] =  static const char *const yytname[] =
781  {  {
782    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
# Line 650  static const char *const yytname[] = Line 811  static const char *const yytname[] =
811    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
812    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
813    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
814    "command", "subscribe_event", "unsubscribe_event", "get_instruction",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
815    "set_instruction", "create_instruction", "destroy_instruction",    "map_instruction", "unmap_instruction", "remove_instruction",
816      "get_instruction", "set_instruction", "create_instruction",
817      "reset_instruction", "clear_instruction", "destroy_instruction",
818    "load_instruction", "set_chan_instruction", "key_val_list",    "load_instruction", "set_chan_instruction", "key_val_list",
819    "buffer_size_type", "list_instruction", "load_instr_args",    "buffer_size_type", "list_instruction", "load_instr_args",
820    "load_engine_args", "device_index", "audio_channel_index",    "load_engine_args", "instr_load_mode", "device_index",
821    "audio_output_type_name", "midi_input_port_index",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
822    "midi_input_channel_index", "midi_input_type_name", "volume_value",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
823    "sampler_channel", "instrument_index", "engine_name", "filename",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
824    "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",    "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
825    "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",    "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
826    "GET", "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE",    "string", "dotnum", "digits", "digit", "number", "char", "text",
827    "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
828    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",    "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
829    "INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT",    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
830    "VOICE_COUNT", "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX",    "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
831    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "CHANNELS", "INFO", "AUDIO_OUTPUT_DEVICE_COUNT",
832      "AUDIO_OUTPUT_DEVICE_INFO", "MIDI_INPUT_DEVICE_COUNT",
833      "MIDI_INPUT_DEVICE_INFO", "MIDI_INSTRUMENT_MAP_COUNT",
834      "MIDI_INSTRUMENT_MAP_INFO", "MIDI_INSTRUMENT_COUNT",
835      "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "BUFFER_FILL",
836      "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
837      "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE", "ON_DEMAND",
838      "ON_DEMAND_HOLD", "PERSISTENT", "AUDIO_OUTPUT_DEVICE_PARAMETER",
839    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",
840    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",
841    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",
842    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",
843    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",
844    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",
845    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS", "MIDI_INSTRUMENT_MAP",
846    "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "MUTE", "SOLO",    "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
847    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "MIDI_CONTROLLER",
848      "FX_SEND", "FX_SENDS", "SERVER", "VOLUME", "LEVEL", "MUTE", "SOLO",
849      "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
850  };  };
851  #endif  #endif
852    
853  # ifdef YYPRINT  # ifdef YYPRINT
854  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
855     token YYLEX-NUM.  */     token YYLEX-NUM.  */
856  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
857  {  {
858         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
859        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
# Line 710  static const unsigned short int yytoknum Line 882  static const unsigned short int yytoknum
882  # endif  # endif
883    
884  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
885  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
886  {  {
887         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
888       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
889       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
890       232,   232,   232,   232,   233,   233,   233,   233,   233,   233,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
891       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   233,   233,   233,   233,   233,   233,   233,   234,   234,
892       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
893       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,       234,   234,   234,   235,   235,   235,   235,   236,   237,   237,
894       235,   235,   235,   236,   236,   236,   236,   237,   237,   238,       237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
895       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
896       239,   239,   240,   240,   241,   241,   242,   242,   242,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
897       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,       238,   238,   238,   238,   238,   239,   239,   239,   239,   239,
898       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,       239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
899       257,   257,   257,   257,   258,   258,   259,   259,   260,   260,       240,   240,   241,   242,   242,   243,   243,   243,   244,   244,
900       260,   261,   261,   262,   262,   262,   262,   262,   262,   262,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
901       262,   262,   262,   263,   263,   263,   263,   263,   263,   263,       245,   245,   245,   245,   246,   246,   247,   247,   248,   248,
902       263,   263,   263,   264,   264,   264,   264,   264,   264,   264,       248,   248,   248,   248,   248,   248,   248,   248,   249,   249,
903       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       250,   251,   251,   251,   252,   253,   254,   255,   256,   256,
904       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       257,   258,   259,   260,   261,   262,   262,   263,   264,   265,
905       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       266,   267,   268,   269,   270,   271,   271,   272,   272,   272,
906       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       272,   273,   273,   274,   274,   275,   275,   275,   276,   276,
907       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
908       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       278,   278,   278,   278,   278,   278,   278,   278,   278,   278,
909       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
910       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
911       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
912       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
913       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
914       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
915       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
916       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
917       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
918       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
919       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
920       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
921       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
922       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
923       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
924       264,   264,   265,   265,   265,   265,   266,   266,   267,   268,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
925       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
926       279,   280,   281,   282,   283,   284,   285,   286,   287,   288,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
927       289,   290,   291,   292,   293,   294,   295,   296,   297,   298,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
928       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
929       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
930       319,   320,   321,   322,   323,   324,   325       279,   279,   279,   279,   279,   279,   279,   279,   279,   280,
931         280,   280,   280,   281,   281,   282,   283,   284,   285,   286,
932         287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
933         297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
934         307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
935         317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
936         327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
937         337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
938         347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
939         357,   358,   359,   360,   361,   362,   363,   364,   365
940  };  };
941    
942  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
943  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
944  {  {
945         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
946         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
947         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
948           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
949         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
950         1,     1,     1,     5,     7,     9,     1,     5,     7,     9,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
951           1,     1,     1,    15,    17,    17,    19,     7,     3,     3,
952           3,     1,     1,     5,     7,     9,     1,     5,     7,     9,
953         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,
954         7,     5,     5,     5,     3,     1,     1,     7,     9,     7,         7,     5,     5,     5,     3,     1,     1,     3,     3,     9,
955         9,     3,     3,     5,     3,     5,     3,     3,     3,     3,         1,     5,     3,     7,     1,     7,     9,     7,     9,     3,
956         3,     5,     7,     5,     9,     5,     5,     5,     5,     5,         7,    11,     9,     9,     3,     3,     5,     3,     5,     3,
957         5,     5,     3,     5,     1,     1,     1,     1,     1,     1,         5,     7,     3,     3,     3,     3,     3,     5,     3,     3,
958         1,     1,     5,     7,     3,     1,     1,     1,     1,     1,         5,     7,     5,     9,     5,     5,     5,     5,     5,     5,
959         1,     1,     1,     1,     1,     1,     1,     1,     1,     3,         5,     5,     5,     5,     3,     5,     1,     1,     1,     1,
960         1,     1,     1,     1,     1,     1,     1,     2,     3,     4,         1,     1,     1,     1,     3,     3,     1,     3,     5,     7,
961         4,     1,     2,     1,     1,     1,     1,     1,     1,     1,         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
962         1,     1,     1,     1,     2,     2,     2,     2,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
963         2,     2,     2,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     3,     1,     1,     1,
964           1,     1,     1,     1,     2,     3,     4,     4,     1,     2,
965           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
966           1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
968         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
969         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
970         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 798  static const unsigned char yyr2[] = Line 986  static const unsigned char yyr2[] =
986         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
987         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
988         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
989         1,     1,     1,     1,     2,     2,     3,     3,     1,     1,         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,
990         1,     3,     3,     6,     7,     4,     4,     3,     9,     6,         3,     5,     5,     6,     7,     4,     4,     3,     4,     7,
991         3,     9,    11,     6,     7,    17,    30,     8,     4,    13,         9,     6,     3,     9,    11,     6,     7,    17,    30,     8,
992        12,    11,    12,    11,    17,    21,    10,     6,    29,    20,         4,    25,    24,    23,    22,    25,    24,    21,    20,    13,
993        19,    29,    19,    30,    20,    17,    28,    27,    25,    18,        12,    11,    12,    11,    17,    21,    10,     6,     9,    14,
994        17,    27,    17,    15,    18,    15,    10,     6,     6,     4,        10,    29,    20,    19,    29,    19,    30,    20,    17,    28,
995         4,     5,    10,     5,    13,     4,     4        27,    25,    18,    17,    27,    15,    16,    19,    20,    17,
996          15,    18,    15,    10,    15,     7,     8,     6,     6,     5,
997           4,     4,     5,    10,     5,    13,     4,     4,     4
998  };  };
999    
1000  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1001     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1002     means the default is an error.  */     means the default is an error.  */
1003  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1004  {  {
1005         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1006         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    25,    26,     0,  
1007         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1008         1,   379,   380,     2,     0,     9,   231,   226,   225,   223,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1009       224,   133,   134,   135,   136,   137,   138,   139,   140,   141,         0,     0,     0,     0,     0,     0,     1,   446,   447,     2,
1010       142,   153,   154,   155,   156,   157,   158,   159,   160,   161,         0,     9,   298,   293,   292,   290,   291,   200,   201,   202,
1011       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       203,   204,   205,   206,   207,   208,   209,   220,   221,   222,
1012       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1013       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1014       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1015       202,   203,   204,   215,   217,   218,   219,   220,   221,   222,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1016       227,   228,   229,   230,   232,   233,   234,   235,   236,   237,       263,   264,   265,   266,   267,   268,   269,   270,   271,   282,
1017       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       284,   285,   286,   287,   288,   289,   294,   295,   296,   297,
1018       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
1019       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
1020       268,   269,   270,   271,   272,   273,   274,   275,   276,   277,       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1021       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1022       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1023       298,   299,   300,   301,   302,   303,   304,   305,   306,   307,       349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
1024       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,       359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
1025       318,   319,   320,   321,   322,   323,   324,   325,   326,   327,       369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
1026       328,   329,   330,   331,   332,   333,   334,   335,   336,   337,       379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
1027       338,   339,   340,   341,   342,   343,   344,   345,   346,   347,       389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1028       348,   349,   350,   351,   352,   353,   354,   355,   356,   357,       399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
1029       358,   359,   360,   361,   362,   363,   364,   365,   366,   367,       409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
1030       368,   369,   370,   371,   378,    12,   143,    11,   126,    10,       419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1031         429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1032         445,    12,   210,    11,   193,    10,     0,     0,     0,     0,
1033           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1034           0,   448,     0,     0,     0,   449,     0,     0,   450,     0,
1035           0,     0,     0,   462,     0,     0,     0,     3,   200,   201,
1036         202,   203,   204,   205,   206,   207,   208,   209,   211,   198,
1037         212,   213,   214,   215,   216,   217,   218,   219,   283,   272,
1038         273,   274,   275,   276,   277,   278,   279,   280,   281,   194,
1039           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1040           0,     0,     0,    16,     0,    71,    76,    88,    95,    96,
1041           0,    80,     0,     0,     0,     0,     0,    72,     0,    81,
1042           0,     0,     0,     0,     0,   100,     0,     0,     0,     0,
1043           0,   104,     0,    14,     0,    15,     0,     0,    27,     0,
1044           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1045           0,     0,     0,     0,     0,    19,   151,   153,   150,   148,
1046         152,   149,     0,   156,     0,     0,    20,     0,     0,    21,
1047           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1048           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049           0,     0,    23,    33,    34,    35,    36,    42,    43,    44,
1050          45,    37,    41,    40,    39,    38,    47,    46,    24,    48,
1051          49,    50,    51,    57,    58,    59,    60,    52,    56,    55,
1052          54,    53,    62,    61,   440,    25,   439,    26,     0,     0,
1053           0,     0,   455,   456,   528,     0,     0,     0,     0,     0,
1054           0,   199,     0,     0,     0,     0,     0,     0,     0,     0,
1055           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1056           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1058           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1059           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1061           0,     0,     0,     0,     0,     0,   442,   441,     0,   452,
1062           0,     0,     0,   524,     0,     0,   451,     0,     0,     0,
1063           0,     0,    32,   182,     0,     0,     0,     0,     0,     0,
1064           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1065           0,     0,     0,     0,     0,     0,     0,     0,   201,   202,
1066         203,   204,   205,   206,   207,   208,   209,     0,    97,   171,
1067          98,     0,     0,     0,     0,   102,   177,    94,     0,     0,
1068           0,     0,   123,   124,     0,     0,     0,   117,   119,     0,
1069         125,   126,     0,     0,     0,     0,     0,   154,   155,   157,
1070           0,     0,   128,     0,   181,     0,   129,     0,   180,    68,
1071          69,    70,     0,     0,     0,     0,     0,     0,   109,     0,
1072         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   381,     0,     0,   382,     0,     0,     0,     0,  
        0,     0,   390,     0,     0,     3,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   144,   131,   145,   146,  
      147,   148,   149,   150,   151,   152,   216,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   127,     0,    13,  
        0,     0,     0,     0,     0,     0,    14,     0,    41,    46,  
       58,    65,    66,     0,    50,     0,     0,     0,     0,     0,  
       42,     0,    51,     0,     0,     0,     0,     0,     0,     0,  
       15,     0,     0,    16,     0,     0,     0,     0,     0,    17,  
       99,   101,    98,    96,   100,    97,     0,    18,     0,     0,  
        0,     0,     0,     0,    20,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,    21,    27,    31,  
       30,    29,    28,    33,    32,    22,    34,    38,    37,    36,  
       35,    40,    39,   373,    23,   372,     0,     0,     0,   385,  
      386,   436,     0,     0,     0,     0,     0,   132,     0,     0,  
1073         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1074           0,     0,     0,     0,     0,   115,   175,     0,   198,   176,
1075         114,   192,   191,     0,     0,     0,     0,     0,     0,     0,
1076           0,   122,   453,     0,   461,   465,     0,     0,     0,     0,
1077         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1079         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   375,   374,     0,  
        0,     0,     0,   433,     0,     0,     0,     0,     0,     0,  
1080         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1081         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1082         0,    64,     0,     0,    74,    76,   134,   135,   136,   137,         0,     0,   527,     0,     0,     0,     0,     0,     0,     0,
      138,   139,   140,   141,   142,    77,    78,     0,     0,     0,  
        0,     0,     0,     0,    79,     0,   117,     0,    80,     0,  
      116,    19,   114,     0,     0,     0,     0,     0,     0,     0,  
       71,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    72,   125,   124,     0,  
        0,     0,     0,     0,     0,    24,   383,     0,   389,   393,  
1083         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1084         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1085         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086           0,     0,     0,   454,     0,     0,     0,     0,   443,   444,
1087         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1088         0,   435,     0,     0,     0,     0,     0,     0,     0,     0,        89,     0,     0,     0,   146,   147,    91,    92,    93,    82,
1089           0,    77,     0,     0,     0,    83,     0,     0,   457,   101,
1090          73,     0,     0,     0,     0,   172,     0,     0,     0,     0,
1091           0,   116,     0,   118,   120,   174,   127,   179,     0,     0,
1092           0,     0,     0,     0,     0,   178,     0,   160,     0,     0,
1093         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   384,  
1094         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    59,     0,     0,     0,    94,    95,    61,    62,    63,  
       52,     0,    47,     0,     0,     0,    53,     0,    43,     0,  
        0,     0,    73,     0,    75,     0,     0,     0,     0,     0,  
      376,   377,     0,   115,     0,   104,     0,     0,     0,     0,  
1095         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1096         195,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1097           0,     0,     0,     0,     0,     0,   487,     0,     0,   517,
1098           0,   518,   470,     0,     0,     0,     0,     0,     0,     0,
1099         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1100         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1101       407,     0,   427,     0,   398,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   520,   521,     0,     0,
1102         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1103         0,     0,     0,     0,     0,     0,     0,     0,     0,   429,         0,     0,     0,     0,   526,     0,     0,     0,     0,     0,
1104       430,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,   196,   197,     0,     0,     0,     0,     0,     0,
1105           0,     0,   463,     0,   466,     0,     0,     0,   466,   515,
1106           0,     0,     0,     0,    90,    78,     0,    86,     0,    74,
1107           0,    84,   103,     0,     0,   173,    67,     0,     0,   515,
1108           0,     0,   290,   291,   144,   185,   187,   190,   189,   188,
1109         121,   184,     0,     0,     0,     0,     0,     0,   158,     0,
1110           0,     0,     0,     0,   130,   164,     0,   165,   132,   166,
1111         134,     0,     0,   141,   142,   143,   135,   167,   136,   168,
1112         169,   137,   170,     0,   138,   139,   140,   105,     0,   107,
1113           0,   110,     0,   519,     0,     0,     0,     0,     0,     0,
1114         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1115         0,     0,     0,   391,     0,   394,     0,     0,   394,     0,       469,   516,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    60,    48,     0,    56,     0,    44,    54,  
        0,     0,     0,   223,   224,    92,   118,   120,   123,     0,  
      131,   122,   121,     0,     0,     0,     0,     0,   102,     0,  
        0,     0,     0,     0,     0,    81,   105,     0,   106,    83,  
      107,    85,    86,   108,     0,    87,   109,   110,    88,   111,  
        0,     0,     0,    89,   112,   113,    90,    91,    67,     0,  
       69,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,   397,     0,     0,     0,     0,     0,     0,     0,     0,  
1116         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   428,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   392,     0,  
        0,     0,     0,   431,     0,    49,    57,    55,    45,     0,  
        0,    93,     0,     0,   119,   128,     0,     0,     0,     0,  
      103,     0,     0,     0,     0,    82,   387,     0,    68,    70,  
1117         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   129,   130,     0,     0,   406,     0,  
1118         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119           0,     0,     0,     0,     0,     0,     0,     0,     0,   464,
1120           0,     0,     0,     0,     0,     0,   522,     0,    79,    87,
1121          85,    75,    99,     0,     0,     0,     0,     0,   145,   186,
1122           0,     0,     0,     0,     0,   159,     0,     0,     0,     0,
1123         131,     0,     0,     0,   106,   108,     0,     0,     0,   112,
1124         113,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1125         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1126         0,     0,     0,   388,     0,     0,     0,     0,    84,   401,         0,     0,     0,     0,     0,     0,   486,     0,     0,     0,
1127         0,     0,     0,     0,     0,   403,     0,     0,     0,     0,         0,     0,     0,   458,     0,     0,     0,     0,     0,     0,
1128         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   426,     0,   400,     0,   402,     0,     0,     0,  
1129         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1130         0,     0,     0,     0,     0,     0,   399,   434,     0,     0,         0,     0,     0,     0,     0,   460,     0,     0,     0,     0,
1131         0,     0,     0,     0,     0,     0,     0,     0,   432,     0,         0,   133,     0,     0,   111,     0,   481,     0,     0,     0,
1132           0,     0,     0,     0,   483,     0,     0,     0,     0,     0,
1133         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1134           0,     0,     0,     0,     0,     0,     0,   513,     0,     0,
1135           0,     0,     0,   480,     0,     0,     0,   482,     0,     0,
1136         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      423,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1137         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1138           0,     0,     0,   459,     0,     0,     0,   479,     0,     0,
1139         525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1140           0,     0,     0,   523,     0,     0,     0,     0,     0,     0,
1141         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1142         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143         0,     0,   395,     0,   420,   422,     0,   404,     0,   420,         0,     0,     0,     0,     0,   510,   505,     0,   505,    63,
        0,     0,     0,     0,     0,     0,     0,     0,   423,   425,  
      404,     0,     0,     0,     0,     0,   419,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   410,  
      412,     0,     0,     0,     0,     0,   410,     0,     0,     0,  
        0,     0,   415,     0,   414,   409,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   424,     0,     0,     0,  
        0,     0,     0,   405,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,   414,     0,     0,     0,     0,  
1144         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   418,     0,     0,  
1145         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1146         0,   421,     0,   417,     0,     0,     0,   416,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1147       411,     0,   408,   413,   396       506,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149           0,     0,     0,     0,     0,     0,     0,   467,     0,   503,
1150         509,     0,     0,   484,     0,     0,    64,    65,   183,   161,
1151         162,   163,     0,   503,     0,     0,     0,     0,     0,     0,
1152           0,     0,     0,   510,   512,   514,     0,     0,     0,     0,
1153           0,   484,     0,     0,     0,     0,     0,     0,   502,     0,
1154           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156         507,     0,   493,   495,     0,     0,     0,     0,   507,     0,
1157           0,     0,    66,   493,     0,     0,     0,     0,     0,     0,
1158         498,     0,     0,     0,     0,     0,     0,     0,   497,   492,
1159           0,     0,     0,     0,     0,   508,     0,     0,     0,     0,
1160           0,     0,     0,   511,     0,     0,     0,     0,   478,     0,
1161           0,     0,     0,     0,     0,     0,   485,     0,     0,     0,
1162           0,     0,     0,     0,     0,     0,   477,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,   497,
1164           0,     0,     0,   474,     0,     0,     0,     0,     0,     0,
1165           0,     0,     0,     0,     0,     0,     0,     0,   473,     0,
1166           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167           0,     0,   472,     0,   476,     0,     0,     0,     0,     0,
1168         501,   488,     0,     0,     0,   471,   475,     0,     0,     0,
1169           0,     0,     0,   490,     0,     0,     0,     0,     0,     0,
1170         504,     0,     0,   500,     0,     0,     0,   499,     0,     0,
1171           0,   494,     0,     0,   491,   496,   468,   489
1172  };  };
1173    
1174  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1175  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1176  {  {
1177        -1,    12,    13,    14,    15,   397,   405,   336,   384,   360,        -1,    13,    14,    15,    16,   342,   442,   458,   383,   385,
1178       363,   377,   550,   682,   664,   369,   534,   538,   825,   827,       419,   353,   425,   393,   477,   388,   397,   416,   668,   861,
1179       829,   832,   835,   838,   843,   541,   692,   539,   535,   805,       833,   405,   652,   656,  1456,  1054,  1056,  1058,  1066,  1068,
1180       806,   566,   807,   808,   809,   266,   542,   268,   414,   812,      1071,   618,   854,  1024,   864,   695,   625,   874,   866,   657,
1181       746,    43,    44,    16,    17,    18,    19,    20,    21,   837,       653,   582,  1457,  1040,  1034,  1035,   700,  1036,  1037,   697,
1182       537,    22,    23,    24,    25,    26,   329,   338,   339,   340,       272,   626,   274,   475,  1039,   951,    49,    50,    17,    18,
1183       496,   398,   399,   400,   401,   402,   341,   342,   378,   343,        19,    20,    21,    22,    23,    24,    25,  1070,  1064,  1065,
1184       386,   344,   345,   346,   347,   348,   349,   553,   350,   388,       655,    26,    27,    28,    29,    30,   343,   355,   356,   357,
1185       351,   352,   353,   354,   355,   356,   556,   557,   558,   357,       594,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1186       559,   560,   561,   665,   666,    27,   404,   390,    28       452,   453,   454,   455,   358,   359,   417,   360,  1459,  1460,
1187        1461,   427,   361,   362,   363,   364,   365,   366,   671,   367,
1188         429,   368,   369,   370,   371,   372,   373,   344,   375,   376,
1189         377,   675,   676,   677,   691,   378,   379,   380,   381,   692,
1190         679,   680,   834,   835,    31,   457,   686,   434,    32
1191  };  };
1192    
1193  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1194     STATE-NUM.  */     STATE-NUM.  */
1195  #define YYPACT_NINF -748  #define YYPACT_NINF -1068
1196  static const short int yypact[] =  static const yytype_int16 yypact[] =
1197  {  {
1198        56,  -748,  -748,    63,    29,    92,    99,   112,   108,   162,        68, -1068, -1068,    89,   175,    79,   103,   203,    55,   102,
1199        37,   146,   222,  -193,  1661,  -748,    25,    25,    25,    25,       127,    69,    59,   157,    80,  2382, -1068,   -23,   -23,   -23,
1200        25,    25,    25,    25,    25,    25,    25,    25,  -748,   228,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
1201       230,   214,   216,   215,   236,   232,   109,    26,   237,   219,       -23,   -23, -1068,   188,   211,   234,   227,   224,   232,   268,
1202      -748,  -748,  -748,  -748,    38,  -748,  -748,  -748,  -748,  -748,       239,   262,   165,   174,   275,   202, -1068, -1068, -1068, -1068,
1203      -748,  -748,   274,   274,   274,   274,   274,   274,   274,   274,       110, -1068, -1068, -1068, -1068, -1068, -1068, -1068,   377,   377,
1204       274,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,       377,   377,   377,   377,   377,   377,   377, -1068, -1068, -1068,
1205      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1206      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1207      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1208      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1209      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1210      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1211      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1212      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1213      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1214      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1215      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1216      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1217      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1218      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1219      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1220      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1221      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1222      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1223      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1224      -748,  -748,  -748,  -748,  -748,  2326,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1225       241,    82,    69,    69,    90,     8,   241,    87,    59,    59,     -1068,  3047, -1068, -1068, -1068, -1068,    52,    57,   269,   269,
1226      1883,   241,  -748,   245,   227,  -748,   233,   244,   234,   235,       307,   166,   166,   162,   228,    52,   114,   111,   111,  2604,
1227       247,   250,  -748,   238,   239,  -748,  -748,  -748,  -748,  -748,       311, -1068,   325,   327,   316, -1068,   322,   346, -1068,   332,
1228      -748,  -748,  -748,  -748,  -748,  -748,   274,  -748,   274,   274,       339,   352,   359, -1068,   364,   385,   357, -1068, -1068, -1068,
1229       274,   274,   274,   274,   274,   274,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,   377, -1068,
1230      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,   248,  -748,       377,   377,   377,   377,   377,   377,   377,   377, -1068, -1068,
1231        23,   251,   261,   240,   256,   262,  -748,    25,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1232      -748,  -748,  -748,    25,  -748,    25,    25,    25,    25,    25,       407,   409, -1068, -1068,   -23,   297,   412,   405,   397,   414,
1233      -748,    25,  -748,    25,    25,    25,    25,    25,   255,   253,       430,   421,   422, -1068,   -23, -1068, -1068, -1068, -1068, -1068,
1234      -748,    25,    25,  -748,    25,    25,    43,   271,   289,  -748,       -23, -1068,   -23,   -23,   -23,   -23,   -23, -1068,   -23, -1068,
1235      -748,  -748,  -748,  -748,  -748,  -748,   285,  -748,    25,    25,       -23,   -23,   -23,   -23,   -23, -1068,   -23,   -23,   -23,   -23,
1236        25,   279,   298,   293,  -748,    25,    25,    25,    25,    25,       -23, -1068,   429, -1068,   -23, -1068,   -23,   431, -1068,   -23,
1237        25,   282,   296,   301,   286,   290,   292,  -748,  -748,  -748,       420,   419,   435, -1068,   -23,   -23,   -23, -1068,   -23,   -23,
1238      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,       -23,   301,   439,   424,   441, -1068, -1068, -1068, -1068, -1068,
1239      -748,  -748,  -748,  2326,  1883,  -748,    25,   291,   294,  -748,     -1068, -1068,   -23, -1068,   -23,   437, -1068,   -23,   -23, -1068,
1240      -748,  -748,   287,   295,   310,   318,   321,  -748,   328,   326,       -23,   -23,   432,   449,   445, -1068,   -23,   -23,   -23,   -23,
1241       330,   333,   331,   335,   319,   320,    67,   332,   332,   332,       -23,   -23,   -23,   -23,   -23,   436,   448,   447,   461,   451,
1242       332,   332,   332,   332,   332,   332,   332,   332,   332,   338,       457,   458, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1243       339,  2326,  2326,   297,   297,   340,   344,   343,   329,    -9,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1244      2326,   297,   348,   345,   351,    21,   297,   297,   297,   297,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1245      2545,   356,   353,   346,   349,   352,   354,  2326,  -748,   297,     -1068, -1068, -1068, -1068,  3047,  2604, -1068, -1068,   -23,   456,
1246       359,   355,   361,  -748,   357,   358,   360,   364,   362,   365,       455,   459, -1068, -1068, -1068,   454,   460,   475,   476,   465,
1247       366,   372,   373,   347,   367,   369,    25,    25,    25,    25,       480, -1068,   483,   481,   120,   482,   486,   487,   488,   418,
1248        25,    25,    25,    25,    25,    25,    25,    25,    25,    25,       492,   479,   478,   491,   116,   490,   490,   490,   490,   490,
1249        25,  -748,   375,   379,  1883,  1883,   274,   274,   274,   274,       490,   490,   490,   490,   490,   209,   490,   490,   490,   490,
1250       274,   274,   274,   274,   274,  -748,  -748,   380,   376,   382,       411,   490,   500,   411,   411,   501,   209,   502,   438,   503,
1251       374,   377,  1883,  1883,  -748,    25,  -748,    25,  -748,    25,      3047,  3047,   411,   411,   411,   411,   506,   499,   440,   508,
1252      2326,  -748,  -748,   384,   381,   386,   378,    85,   383,   385,       209,   411,   494,    -6,  3047,   411,   209,   511,   509,   512,
1253      -748,    25,    25,    25,    25,    25,    25,    25,    25,    25,       115,   411,   411,   411,   411,   504,   128,   310,  3266,   519,
1254        25,    25,    25,    25,    25,    25,  -748,  2326,  -748,   391,       518,   526,    42,   510,   513,   520,  3047, -1068,   411, -1068,
1255       387,   370,   397,   402,   401,  -748,  -748,   388,  -748,  -748,       525,   516,   527, -1068,   514,   517, -1068,   521,   522,   528,
1256       396,   403,   393,   394,   363,   398,   400,   337,   405,   399,      2604,  2604, -1068, -1068,   529,   530,   531,   532,   523,   534,
1257       409,   297,    64,   297,   297,  2326,   297,  2326,  2326,   297,       524,   543,   533,   535,   -23,   -23,   -23,   -23,   -23,   -23,
1258       297,   297,   297,  2326,  2326,   297,   404,   368,  2326,  2326,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   377,   377,
1259       408,   406,   371,   407,   410,  1217,  1439,   297,   -59,   297,       377,   377,   377,   377,   377,   377,   377,   538, -1068, -1068,
1260       411,  -748,   389,   412,   413,   420,   415,   416,   297,   297,     -1068,   -23,   -23,   -23,   -23, -1068, -1068, -1068,   542,   -23,
1261       297,   297,   297,   297,   297,   297,   297,   297,   297,  2326,       -23,   544, -1068, -1068,   546,   537,   548,  2604,  2604,   -23,
1262       297,  2326,   297,   424,   417,   425,   431,   421,   436,  -748,     -1068, -1068,   -23,   549,   545,   541,   566, -1068, -1068, -1068,
1263       441,   426,   440,   390,   445,   442,   443,   444,   432,   392,       556,   572, -1068,   -23, -1068,   -23, -1068,   -23,  3047, -1068,
1264       434,  -748,   427,   446,    25,  -748,  -748,  -748,  -748,  -748,     -1068, -1068,   583,   578,   586,   573,   160,   584, -1068,   -23,
1265      -748,  1883,  2326,    25,    25,    25,  -748,  1883,  2326,    25,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
1266       395,   447,    25,  2764,    25,   428,   449,   448,   437,   429,       -23,   -23,   -23,   -23,   -23,   551,   -23,   577,   595,   592,
1267      -748,  -748,    25,  -748,    25,  -748,   430,   450,   453,   455,       -23,   -23,   -23,   377,   377, -1068, -1068,   298,    35, -1068,
1268       460,   467,   462,    25,    25,    25,    25,    25,    25,    25,     -1068,  3047, -1068,   593,   601,   594,   602,   607,   608,   611,
1269        25,    25,    25,    25,  2983,    25,  3202,    25,   466,   482,       612, -1068, -1068,   589, -1068, -1068,   609,   613,   603,   550,
1270       485,   489,   438,   468,   493,   496,   495,   506,   509,   525,      1938,  2160,   604,   622,   621,   638,   618,   590,   649,   643,
1271      -748,   524,  -748,   433,  -748,   520,   523,   297,  2326,   297,       647,   650,   411,    48,   411,   411,  3047,   411,  3047,  3047,
1272       297,   297,  2326,   297,   527,   529,  2326,  2105,   530,   532,       411,   411,   411,   411,  3047,   411,   652,   411,  3047,   411,
1273       534,   533,   536,   297,   297,   535,   537,   538,   481,  -748,       411,   596,   411,   411,   597,   651,   660,   598,  3047,  3047,
1274      -748,   541,   297,   297,  2326,   297,   297,   229,  2326,   297,       411,   411,   655,   657,   667,   605,   656,   659,   411,   120,
1275       189,  2545,  2545,  2105,  2326,  2105,  2326,   484,   544,   545,       411,   662, -1068,   610,   671,   675,   663,   668,   411,   411,
1276       487,   539,   556,  -748,   558,  -748,   542,   550,   546,   555,       411,   411,   411,   411,   411,   411,   411,   411,   411,   411,
1277       551,   567,   571,  -748,  1883,    25,  -748,    25,  1883,  -748,      3047,   411,  3047,   411,   669,   411,   680,   664,   681,   411,
1278       554,   560,  3421,   274,   274,   590,  -748,  2326,  -748,   117,       411,   411,   434,   468,   377,   674,   685,   677,   623,   687,
1279        -1,  -748,  -748,   557,   546,   563,   575,   566,  -748,    25,       692,   683,   691, -1068,   695,   682,   693,   690, -1068, -1068,
1280       561,   568,   512,   579,   584,  -748,  -748,    25,  -748,  -748,       630,   701,   698,   699,   702,   697,   689,   641,   713,   704,
1281      2326,  -748,  -748,  -748,   578,  -748,  -748,  -748,  -748,  2326,     -1068,   700,   717,   -23, -1068, -1068, -1068, -1068, -1068, -1068,
1282        25,   274,   274,  -748,  -748,  -748,  -748,  -748,   590,  3640,      2604,  3047,   -23,   -23,   -23, -1068,  2604,   -23, -1068, -1068,
1283       590,  3859,   585,   521,   592,   591,   580,   581,   593,   577,      3047,   -23,   -23,   714,   -23, -1068,   -23,   715,   661,   712,
1284       594,  -748,   582,   595,   583,   596,  2326,  2326,  2326,  2326,       718,   -23,  3485,   -23,   -23, -1068, -1068, -1068,   666,   725,
1285       586,   588,  2105,   156,   177,  2105,   274,   587,   597,   599,       719,   722,   720,   672,   -23, -1068,   -23, -1068,   673,   726,
1286       414,   297,   600,   598,   601,   603,  -748,   297,   602,   297,       729,   730,   735,   727,   -23,   -23,   -23,   -23,   -23,   -23,
1287      2105,  2105,   606,   154,   607,   608,   613,   604,  -748,   589,       -23,   -23,   -23,   -23,   -23,   -23,  3704,   -23,  3923,   -23,
1288       540,   609,   621,  -748,   612,    25,  2326,  2326,    25,   611,       740,   -23,   737,   742,   739,   -23,   -23,   -23,   377,   377,
1289       610,   590,   274,   274,  -748,   274,   615,   614,   616,   627,       377,   678,   716,   745,   743,   741,   738,   684,   686,   749,
1290      -748,   617,   618,   619,   623,  -748,  -748,    25,   590,   590,       747,   746,   748,   750,   758,   752, -1068,   762,   754, -1068,
1291       620,   622,   629,   636,   626,   646,   637,   631,   118,   625,       753, -1068, -1068,   751,   756,   411,  3047,   411,   411,   411,
1292       648,   634,   635,   628,   274,   274,   638,   630,  -748,   643,      3047,   411,   411,   411,   755,   411,   411,   763,   757,   766,
1293       639,   632,   641,   645,   229,   650,   647,   651,   649,   644,       764,  3047,  2826,   120,   761,   767,   776,   768,   770,   771,
1294       662,   652,   653,   664,   655,   661,   114,   633,   670,   667,       411,   411,   772,   774,   775,   710, -1068, -1068,   411,   411,
1295       685,   671,   686,  -748,   672,   116,   677,   674,  -748,  -748,      3047,   411,   107,   411,   209,  3047,   411,   310,  3266,  3266,
1296       683,   687,   679,   678,   642,  -748,   654,   701,   699,   706,      2826,  3047,  2826,  3047, -1068,   120,   777,   773,   723,   411,
1297        18,   697,   711,   709,   656,   712,   657,   713,   658,   715,       411,   411,   377,   377,   778,   724,   779,   782,   785,   728,
1298       708,   700,   665,   704,  -748,   707,  -748,   729,   155,   735,       781,   783, -1068,   787, -1068,   786,   780,   792,   789,   793,
1299       739,   740,   728,   742,   734,   738,   749,   751,   736,   752,        75,   791,   810,   795, -1068,  2604,   -23, -1068,   -23,  2604,
1300       741,   187,   745,   743,   737,    17,  -748,  -748,   747,   756,       -23, -1068, -1068,   797,   -23, -1068, -1068,   798,   799, -1068,
1301        66,   755,   746,   702,   762,   750,   754,   757,  -748,   772,       806,  4142,   377,   377,   837, -1068,  3047, -1068, -1068, -1068,
1302       770,   775,   773,   777,   781,   778,   768,   718,   783,   779,     -1068, -1068,   804,   789,   793,   229,   821,   812, -1068,   -23,
1303       776,   774,   792,   782,   794,   744,   800,   797,   804,   803,       807,   231,   759,   820, -1068, -1068,   -23, -1068, -1068,  3047,
1304       748,   795,   788,   809,   796,   813,   816,   798,   818,   748,     -1068,   827,   818, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1305        15,   822,   806,   810,   811,   814,   820,   805,   815,   812,     -1068, -1068,  3047,   -23, -1068, -1068, -1068,   837,  4361,   837,
1306       819,   827,   817,   823,   821,   825,   831,   833,   845,   837,      4580, -1068,   765, -1068,   831,   -23,   -23,   -23,   814,   832,
1307       843,   848,   846,   835,   842,   841,   861,   847,   854,   866,       769,   254,   836,   839,   824,   829,   840,   826,   828,   842,
1308       865,   850,  -748,   857,   855,   807,   874,   808,   873,  -748,     -1068, -1068,   844,   830,   854,   848,   864,  3047,  3047,  3047,
1309       877,   855,   863,   878,   824,   881,   867,   872,  -748,  -748,      3047,   411,   850,  3047,   851,   855,   858,  2826,  2826,   856,
1310      -748,   883,   884,   875,   870,   871,  -748,   880,   876,   886,       859,   862,   835,   879,   411,   866,   863,   880,   882,   411,
1311       892,   895,   896,   897,   887,   890,   900,   901,   879,   888,       891,   884,   411,  2826,  2826,   885,   886,   411,   411,   310,
1312       839,   898,   891,   911,   912,   914,  -748,   888,   906,   849,       883,   890,   214,   881,   888,   898,   889,   906,   895, -1068,
1313       918,   907,  -748,   913,   852,  -748,   908,   905,   860,   910,       899,   902,   852,   901,   904,   916, -1068,   910,   -23,  3047,
1314       919,   576,   852,   917,   916,   932,  -748,   922,   938,   923,      3047,   -23, -1068,   907,   -23,   908,   911,   912,   837, -1068,
1315       940,   941,   944,  -748,   945,   949,   933,   950,   934,   885,       914,   913,   917,   918,   930, -1068,   927,   929,   931,   296,
1316       937,   948,   942,   939,   951,  -748,   952,   957,   959,   958,     -1068,   933,   946,   -23,   837,   837,   934,   940,   -23, -1068,
1317       961,   963,   968,   967,   973,   962,   960,   954,   964,   965,     -1068,   944,   949,   941,   948,   943,   947,   959,   945,   964,
1318       966,   969,   972,   975,   977,   976,   982,  -748,   983,   985,       954,   950,   951,   169,   903,   955,   965,   957,   958,   120,
1319       986,   974,   955,   979,   981,   980,   984,   987,   988,   990,       960,   963,   909,   967,   919,   968, -1068,   966,   971,   922,
1320       989,  -748,   996,  -748,   998,   991,   992,  -748,   993,   994,       974,   975,   976, -1068,   209,   978,   979,   411,   982,   983,
1321      -748,   995,  -748,  -748,  -748       984,   969,   935,   986,   989,   996,  1006,   992,   956,   993,
1322         994,  1000,  1008,   172,  1005,   953,  1018,  1007,   -23,  1012,
1323        1001,  1022,  1009,  1023,  1015, -1068,  1010,   173,  1016,  1011,
1324        1021, -1068,  1019,  1020, -1068,  1014, -1068,  1025,  1026,  1033,
1325        1029,  1027,  1030,   972, -1068,  1041,   980,  1043,  1042,  1051,
1326         153,  1045,  1052,  1053,  1054,  1057,   411,  1058,   995,  1059,
1327         997,  1062,  1064,   999,  1066,  1060,  1055,  1002,  1061,  1056,
1328        1063,  1003,  1067, -1068,  1075,  1077,  1065, -1068,  1069,  1074,
1329         345,  1080,  1081,  1082,  1070,  1084,  1076,  1085,  1068,  1090,
1330        1089,   -23,  1095,  1092,  1088,  1094,  1091,  1097,   356,  1093,
1331        1086,  1096,   106, -1068,  1098,  1100,  1110, -1068,  1099,  1103,
1332       -1068,  1104,  1102,  1112,   155,  1108,  1111,  1071,  1117,  1105,
1333        1109,  1113,  1107, -1068,  1114,   310,  1115,  1125,  1123,  1131,
1334        1128,  1118,  1132,  1134,  1135,  1121,  1072,  1137,  1133,  1122,
1335        1078,  1139,  1141,  1143,  1136,  1138,  1083,  1152,  1140,  1148,
1336        1087,  1155,  1154,  1158,  1159,  1101,     7,  1151, -1068,   -23,
1337        1147,  1145,  1165,  1149,  1166,    21,  1169,  1162,  1170,  1101,
1338          63,  1173,  1167,  1171,  1183,  1184,  1168,  1185,  1120,  1179,
1339        1181,  1182,  1188,  1178,  1186,  1187,  1189,  1197,  1190,  1191,
1340       -1068,  1192,  1193,    26,  1195,  1204,  1201,  1206,  1199,  1205,
1341        1209,  1215,  1213,  1198,  1210,  1207,  1220,  1211,  1219,  1225,
1342         182,  1212,  1230,  1221,  1231,  1228,  1217, -1068,  1223,  1222,
1343        1172,  1239,  1241,  1174,  1232,  1244,   -23, -1068, -1068, -1068,
1344       -1068, -1068,  1247, -1068,  1248,  1222,  1243,  1238,  1252,  1194,
1345        1255,  1242,  1245, -1068, -1068, -1068,  1259,  1196,  1251,  1249,
1346        1270, -1068,  1256,  1268,  1269,  1257,  1258,  1260, -1068,  1261,
1347        1262,  1263,  1271,  1214,  1264,   120,  1278,  1281,  1273,  1282,
1348        1285,  1275,  1279,  1287,  1289,  1290,   216,  1276,  1292,  1280,
1349       -1068,  1288,  1283,  1233,  1291,  1286,  1298,  1300,  1293,  1307,
1350        1272,  1294, -1068, -1068,  1283,  1293,  1297,  1240,  1309,  1301,
1351       -1068,  1302,  1246,  1303,  1305,  1306,  1310,  1250,  1253, -1068,
1352        1311,  1295,  1265,  1304,  1313, -1068,  1308,  1323,  1320,  1253,
1353        1314,  1315,  1326, -1068,   217,  1316,  1328,  1318, -1068,   225,
1354        1319,  1338,  1321,  1336,  1341,  1339, -1068,  1330,  1327,  1344,
1355        1346,  1337,  1333,  1340,  1343,  1335, -1068,  1345,  1347,  1350,
1356        1334,  1284,  1348,  1349,  1352,  1357,  1353,  1356,  1351, -1068,
1357        1332,  1359,  1355, -1068,  1342,  1361,  1358,  1367,  1373,  1369,
1358        1354,  1374,  1366,  1376,  1381,  1378,  1370,  1371, -1068,  1375,
1359        1372,  1384,  1377,  1379,  1380,  1368,  1382,  1387,  1385,  1383,
1360        1386,  1388, -1068,  1389, -1068,  1390,  1393,  1392,  1399,  1400,
1361       -1068,  1322,  1391,  1402,  1405, -1068, -1068,  1407,  1395,  1394,
1362        1401,  1403,  1409, -1068,  1404,  1410,  1411,  1408,  1415,  1406,
1363       -1068,  1412,  1425, -1068,  1427,  1416,  1417, -1068,  1421,  1418,
1364        1419, -1068,  1420,  1436, -1068, -1068, -1068, -1068
1365  };  };
1366    
1367  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1368  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1369  {  {
1370      -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1371      -748,  -748,  -748,  -608,  -748,  -748,  -748,  -748,  -554,   113,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,  -734,
1372      -748,   121,    68,  -748,  -748,  -477,   269,   439,   418,  -747,     -1068, -1068, -1068, -1068, -1068,  -899, -1067, -1068,   278,   189,
1373       149,  -555,   350,   263,    14,   -10,   -14,   300,  -314,  -438,     -1068,  -505,  -696,  -903,   274,  -957,  -503,  -934,  -876,  -713,
1374       -11,   997,  -748,  -748,  -748,  -748,  -748,  -748,  -748,  -748,      -745,   474,   -35, -1068,  -919,   344,  -571,   496,  -535,   -13,
1375      -748,  -748,  -748,  -748,  -748,  -748,  -247,   761,   763,   764,       585,   -14,   425,  -171,  -477,   -15,  1413, -1068, -1068, -1068,
1376      -211,   760,   765,  -257,  -254,  -252,   -58,  -748,  -748,   767,     -1068, -1068, -1068, -1068, -1068, -1068, -1068,  -440, -1068, -1068,
1377      -748,   766,  -255,  -748,  -748,   769,   605,  -748,   771,  -748,     -1068, -1068, -1068, -1068, -1068, -1068,  -106,  1200,  1202,  1203,
1378       780,   784,  -253,  -748,  -748,   624,  -748,  -748,  -748,  -748,      -344,  1176,  1177,  1180,  1208,  1216,  1218,  1224,  1226,  1227,
1379      -748,  -748,  -748,  -748,  -748,  -748,   785,  -748,  -748      1229,  -234,  -233,  -232,   143, -1068, -1068,  1234, -1068, -1068,
1380       -1068, -1068,  1236,  -251, -1068, -1068,  1235,  -300, -1068,  1237,
1381       -1068,  1254,  1266,  -248, -1068,   156,    51,  -249,  1267, -1068,
1382         920, -1068, -1068, -1068, -1068,   -28,  1274, -1068,  -247, -1068,
1383       -1068, -1068, -1068, -1068, -1068,  1299, -1068, -1068, -1068
1384  };  };
1385    
1386  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1387     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1388     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1389     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1390  #define YYTABLE_NINF -144  #define YYTABLE_NINF -211
1391  static const short int yytable[] =  static const yytype_int16 yytable[] =
1392  {  {
1393       267,   684,   575,   269,  -143,   270,   271,   272,   273,   274,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1394       275,   276,   277,   278,   279,   280,   281,   361,   364,   362,       284,   285,   286,   287,   288,   289,   290,   583,   629,   630,
1395       365,   536,   408,   531,   337,   409,   848,   410,   850,   380,      1074,   632,   696,   838,   876,   863,   651,  1049,   374,   639,
1396       385,   332,    41,    42,   416,   376,  1092,  1039,  1048,   995,       394,   398,   642,   395,   399,   647,   421,   431,   649,   433,
1397       546,  1012,   307,   307,   307,   307,   307,   307,   307,   307,      -210,   660,   659,  1026,  1420,   318,   320,   321,   322,   323,
1398       307,  1049,   547,  1093,  1013,  1050,   291,     1,   548,     2,       324,   325,   326,   327,   469,   470,   471,   856,  1420,  1454,
1399        37,   549,   429,   430,   292,    30,   306,   308,   309,   310,      1455,  1077,  1180,  1079,   706,   711,   654,  1022,   831,     1,
1400       311,   312,   313,   314,   315,     3,    38,     4,     5,   391,      1188,     2,  1060,   340,    40,   620,   345,  1073,   346,   707,
1401       392,     6,   455,   430,   662,    29,     7,   391,   358,  1053,       347,   348,   832,   341,  1432,  1357,   633,     3,   349,     4,
1402       393,     8,     9,    10,   495,    11,   394,   395,   663,   396,         5,    45,    43,     6,   350,   351,  1421,   352,     7,     8,
1403       359,   330,  1054,   331,   394,   332,   381,   396,   328,   366,       648,  1433,    36,     9,    10,    11,   661,    12,    44,  1102,
1404       382,   367,   624,   333,   661,    31,   667,   668,   383,   334,      1428,    33,  1103,  1085,  1086,  1087,   308,   608,   609,   610,
1405       335,   368,    32,   876,   625,   911,   296,   297,   298,   299,       611,   612,   613,   614,   615,   616,    37,  1367,  1289,  1061,
1406       300,   301,   302,   303,   304,   305,   990,   963,   999,    33,       435,   436,   437,   422,   665,   340,   436,   423,   391,  1062,
1407       289,   964,   695,   928,   929,    34,   290,    35,   991,   965,      1368,    41,   438,   593,  1369,   424,   666,   687,   439,   440,
1408      1000,   703,   704,   705,   706,   707,   708,   709,   710,   711,        42,   441,   667,   439,   352,   352,   441,    46,   688,   689,
1409       712,   713,   912,   532,   533,   296,   297,   298,   299,   300,      1264,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1410       301,   302,   303,   304,   305,   931,  1029,  1030,    39,   497,       607,   354,   621,   622,   623,   624,  1314,   627,  1378,   420,
1411       536,   932,   498,   913,   499,    36,   296,   297,   298,   299,       426,   401,  1190,   402,   478,   390,   403,   775,  1240,  1315,
1412       300,   301,   302,   303,   304,   305,   841,   842,   296,   516,       391,  1379,  1241,   404,  1280,  1294,   300,   392,  1168,   776,
1413       517,   518,   519,   520,   521,   522,   523,   524,  1043,  1044,      1242,   270,   301,  1478,   302,    34,  1281,  1295,  1162,  1479,
1414       551,   831,   554,   532,   533,   840,   846,   847,   615,   616,       291,    35,   303,  1480,  1184,  1185,   580,   581,   308,   608,
1415       403,   411,    40,  -143,  -143,  -143,   500,   501,   502,   503,       609,   610,   611,   612,   613,   614,   615,   616,   617,   830,
1416       504,   505,   506,   507,   508,   509,   510,   511,   296,   516,        38,   836,   837,   305,   292,  1193,    39,  1533,  1572,   306,
1417       517,   518,   519,   520,   521,   522,   523,   524,   834,   264,       847,  1194,   849,  1534,  1573,  1020,  1577,   852,   580,   581,
1418       282,   284,   286,   283,   285,   287,   294,   293,   905,   288,       670,   347,  1578,   396,   400,   415,   690,   293,   432,  -210,
1419       793,   908,   328,    41,   417,   418,   420,   433,   422,   415,      -210,  -210,   295,  1120,   294,  1126,  1121,   877,  1097,   296,
1420       423,   419,   421,   424,   428,   425,   818,   431,   426,   434,       595,   596,   597,   298,   476,   884,   885,   886,   887,   888,
1421       450,    -4,    -4,   296,   297,   298,   299,   300,   301,   302,       889,   890,   891,   892,   893,   894,   895,   297,  1143,   299,
1422       303,   304,   305,   432,   449,   435,   427,   456,   427,   427,       901,  1144,   654,    -4,    -4,   304,   905,   906,   907,   669,
1423       427,   427,   427,   427,   427,   427,   296,   516,   517,   518,       382,   673,   672,   678,   804,    47,    48,   308,   309,   310,
1424       519,   520,   521,   522,   523,   524,   457,   458,   462,   463,       311,   312,   313,   314,   315,   316,   317,   693,   694,   308,
1425       464,   471,   472,   475,   474,   476,   436,   482,   473,   480,       608,   609,   610,   611,   612,   613,   614,   615,   616,   494,
1426       481,   484,   437,   483,   438,   439,   440,   441,   442,   485,      1221,   389,   340,  1097,   412,    47,   495,   496,   387,   504,
1427       443,   486,   444,   445,   446,   447,   448,   487,   488,   489,       536,   496,   580,   581,   479,   505,   480,   506,   507,   508,
1428       451,   452,   490,   453,   454,   493,   491,   492,   494,   495,       509,   510,  1321,   511,   481,   512,   513,   514,   515,   516,
1429       512,   513,   527,   528,   265,   529,   530,   459,   460,   461,       482,   517,   518,   519,   520,   521,  1343,  1344,   483,   523,
1430       543,   544,   570,   545,   465,   466,   467,   468,   469,   470,       484,   524,   485,  1158,   526,   486,  1161,  1362,  1363,   530,
1431       569,   574,   576,   571,   578,   572,   589,   588,   577,   583,       531,   532,   487,   533,   534,   535,   308,   309,   310,   311,
1432       573,   645,   584,   654,   580,   579,   582,   581,   585,   586,       312,   313,   314,   315,   316,   317,   490,   540,  1389,   541,
1433       587,   590,   606,   478,   920,   479,   607,   610,   611,   612,      1164,   488,   543,   544,   489,   545,   546,  1075,  1076,   720,
1434       614,   620,   613,   622,   621,   643,   626,   623,   627,   644,       721,   550,   551,   552,   553,   554,   555,   556,   557,   558,
1435       646,   647,   648,   650,   651,   652,   657,   653,   658,   659,       308,   608,   609,   610,   611,   612,   613,   614,   615,   616,
1436       655,   649,   656,   660,   698,   699,   919,   680,   686,   525,       456,   472,  1014,   492,   384,   386,   493,   498,   497,   499,
1437       526,   685,   689,   688,   696,   701,   702,   718,   720,   719,       908,   500,   696,   308,   309,   310,   311,   312,   313,   314,
1438       721,   722,   562,   563,   564,   565,   568,   681,   700,   723,       315,   316,   317,   501,   502,   503,   522,  1048,   525,   527,
1439       687,   724,   725,   726,   728,   729,   730,   734,   732,   736,       567,   528,   529,   568,  1248,   537,   538,  1063,   539,   542,
1440       735,   731,   749,   790,   745,   750,   751,   756,   697,   727,       548,   547,   549,   561,   909,   559,  1041,   308,   309,   310,
1441       757,   733,   758,   759,   744,   591,   592,   593,   594,   595,       311,   312,   313,   314,   315,   316,   317,   560,   562,   563,
1442       596,   597,   598,   599,   600,   601,   602,   603,   604,   605,       564,   565,   569,   570,   572,   571,   574,   575,   573,   576,
1443       760,   761,   777,   608,   609,   778,   307,   307,   307,   307,       577,   619,   578,   579,   584,   585,   586,   588,   583,   619,
1444       307,   307,   307,   307,   307,   779,   783,   748,   752,   755,       619,   271,   619,   587,   589,   590,   591,   593,   644,   640,
1445       780,   415,   415,   784,   617,   785,   618,   781,   619,   787,       641,   592,   628,   631,   634,   636,   619,   635,   643,   645,
1446       306,   308,   309,   310,   311,   312,   313,   314,   315,   786,       646,   650,   619,   662,   664,   663,   685,   681,   682,   683,
1447       628,   629,   630,   631,   632,   633,   634,   635,   636,   637,       684,   703,   704,   699,   702,   705,   708,   710,   712,   713,
1448       638,   639,   640,   641,   642,   788,   789,   782,   791,   792,       714,   709,   715,   716,   718,   719,   722,   723,   717,   725,
1449       800,   801,   814,   813,   816,   327,   815,   817,   820,   821,       726,   727,   729,   724,   728,   476,   476,   731,   746,   751,
1450       823,   822,   824,   852,   853,   854,   855,   857,   858,   856,       794,   754,   730,   755,   756,   757,   762,   763,   764,   732,
1451       860,   859,   670,   861,   863,   673,   674,   675,   676,   862,       733,   734,   735,   736,   737,   738,   739,   740,   741,   742,
1452       864,   679,   865,   870,   871,   875,   877,   878,   879,   880,       743,   744,   745,   765,   766,   318,   320,   321,   322,   323,
1453       882,   884,   883,   693,   478,   478,   885,   886,   888,   892,       324,   325,   326,   327,   696,   767,   747,   748,   749,   750,
1454       893,   894,   895,   896,   897,   899,   898,   900,  1173,   904,       771,   772,   774,   773,   752,   753,   796,   777,   797,   798,
1455       903,   901,   902,   937,   909,   916,   715,   910,   717,   938,       805,  1175,   758,   759,   760,   806,   807,   761,   809,   808,
1456       413,   918,   926,   930,   923,   924,   917,   922,   921,   933,       811,   810,   813,   812,   815,   816,   814,   820,   768,   817,
1457       935,   934,   940,   936,   941,   942,   949,   939,   943,   946,       769,   824,   770,   319,   319,   319,   319,   319,   319,   319,
1458       955,   950,   947,   737,   948,   956,   951,   953,   952,   958,       319,   319,   821,   822,   778,   779,   780,   781,   782,   783,
1459       738,   957,   739,   740,   741,   959,   742,   960,   743,   961,       784,   785,   786,   787,   788,   789,   790,   791,   792,   793,
1460       962,   967,   968,   973,   969,   981,   983,   971,   974,   976,       823,   795,   826,   827,   829,   799,   800,   801,   828,   825,
1461       979,   753,   982,   754,   977,   984,   980,   988,   989,   993,       802,   803,   848,   859,   858,   853,   857,   860,   868,   869,
1462       985,   986,   762,   763,   764,   765,   766,   767,   768,   769,       870,   873,   872,   880,   871,   878,   339,   881,   883,   879,
1463       770,   771,   772,   987,   774,   994,   776,   995,   997,   996,       900,   882,   902,   904,   903,   567,   567,   911,   912,   913,
1464       998,  1001,  1002,   327,   966,  1003,  1006,   970,  1005,   972,       915,   916,   914,   917,   918,   919,   921,   922,   920,   923,
1465      1004,   975,   992,  1009,  1010,   795,   796,   797,  1011,   799,       924,   925,   926,   839,   928,   929,   842,   843,   844,   845,
1466      1014,  1007,  1015,   811,  1016,  1018,  1020,   810,  1022,  1024,       930,   619,   654,   619,   927,   851,   931,   932,   855,   855,
1467       693,  1023,  1026,  1008,  1027,  1017,  1019,  1021,   826,   828,       934,   944,   947,   933,   949,   950,   865,   867,   955,   957,
1468      1028,   826,   833,   836,  1025,   826,   845,   568,   568,   811,       948,   956,   995,   963,   875,   954,   964,   965,   966,   958,
1469       810,   811,  1031,   810,   477,   810,  1032,  1033,  1034,  1035,       967,   959,   962,   984,   986,   987,   988,   994,   996,   999,
1470      1036,  1037,  1038,  1039,  1041,  1047,  1040,   327,  1056,  1046,       997,   998,  1002,  1000,  1003,  1001,  1004,   897,  1007,   899,
1471      1051,  1042,  1052,   866,   867,  1045,   868,   869,  1055,  1058,      1005,   619,  1008,  1006,  1009,   474,  1010,  1023,  1029,  1012,
1472      1059,  1057,  1060,   307,   307,  1062,  1061,  1063,  1064,   427,      1028,   910,  1013,  1011,  1042,  1027,  1030,  1043,  1044,  1053,
1473      1065,   514,   515,  1066,  1067,  1068,  1069,  1070,   881,  1071,      1045,  1046,  1047,  1083,  1095,  1050,  1051,  1096,  1052,  1090,
1474       540,  1075,  1072,  1074,   327,   327,   887,   873,   874,  1073,      1082,  1088,  1084,  1089,  1091,  1092,  1106,  1093,   935,  1098,
1475       567,  1077,  1076,  1079,  1080,  1081,  1082,  1084,  1085,   889,       696,  1094,  1099,  1097,  1104,   936,  1100,   937,   938,   939,
1476      1086,   307,   307,  1078,  1088,  1089,  1087,  1083,  1090,  1091,      1101,   940,   941,  1105,  1112,  1114,   942,   943,  1115,   945,
1477       327,  1094,  1095,  1097,  1096,  1100,  1098,  1099,  1101,  1102,      1116,   946,  1118,  1119,  1122,  1123,  1125,  1128,  1127,   953,
1478      1104,  1103,  1108,  1105,  1109,   873,   874,  1106,   811,  1107,      1130,  1131,  1136,  1140,  1135,  1145,  1141,  1147,  1142,   960,
1479      1110,   811,   810,   427,   427,   810,   307,   327,  1111,  1112,      1146,   961,  1148,  1149,  1150,  1152,  1151,  1173,  1154,   968,
1480      1113,  1114,  1115,   828,  1117,   833,   811,   811,  1116,  1118,       969,   970,   971,   972,   973,   974,   975,   976,   977,   978,
1481       810,   810,   413,   413,  1119,  1120,  1121,  1122,  1123,  1124,       979,  1155,   981,  1153,   983,  1156,   985,  1157,  1163,  1165,
1482       915,  1125,  1126,  1128,  1130,  1132,  1127,  1129,  1131,  1133,       989,   990,   991,  1166,  1170,   992,   993,  1167,  1171,   339,
1483      1135,  1136,   307,   307,  1137,   427,  1138,  1139,  1141,  1154,      1172,  1174,  1177,   491,  1176,   491,   491,   491,   491,   491,
1484      1142,  1140,  1144,  1134,  1143,  1146,   954,  1145,  1147,  1148,       491,   491,   491,  1178,  1179,  1181,  1182,  1192,  1186,  1187,
1485      1149,  1150,  1151,  1152,  1153,  1155,   944,   945,  1156,  1158,      1195,  1191,  1198,  1016,  1017,  1018,  1196,   855,  1021,   867,
1486      1159,  1160,  1157,  1161,   427,   427,  1162,  1164,  1163,  1165,      1197,  1025,  1025,  1199,  1200,  1201,  1202,  1206,  1038,  1204,
1487       836,  1167,  1168,  1166,  1169,   540,  1171,   671,   672,  1170,      1205,  1203,  1207,  1208,  1210,  1211,  1458,   875,  1213,  1217,
1488      1172,  1174,  1175,   677,   678,  1176,  1177,  1178,   683,   683,      1212,  1214,  1222,  1215,  1055,  1057,  1216,  1055,   619,  1067,
1489      1181,  1179,  1180,  1185,  1183,   477,   477,  1182,  1184,  1186,      1069,  1218,  1055,   699,   702,   702,  1038,  1219,  1038,  1223,
1490      1187,   327,   327,  1189,  1188,  1192,  1195,   327,   327,  1190,      1220,   566,  1226,  1225,  1230,   867,   867,   867,  1228,  1229,
1491      1191,  1196,  1193,   327,  1198,  1197,  1199,  1200,  1194,   714,      1231,  1232,  1234,  1233,  1235,  1236,  1237,  1275,  1245,  1238,
1492      1201,   716,  1202,  1203,  1205,  1219,  1204,  1208,  1211,  1213,      1239,   339,  1243,  1268,  1244,  1246,  1255,  1247,  1251,  1249,
1493       925,  1207,  1206,  1210,  1212,  1214,  1215,  1209,  1216,  1217,      1107,  1108,  1250,  1109,  1110,  1111,  1252,  1254,  1253,  1113,
1494       927,  1225,  1218,  1226,   327,  1220,   327,  1221,  1222,  1228,      1256,  1257,  1258,  1266,  1259,  1260,  1262,  1263,  1458,   802,
1495      1223,  1229,   978,   819,   914,  1224,  1227,  1230,  1231,  1232,       803,  1265,  1271,  1267,  1269,  1270,   637,   638,  1272,  1273,
1496      1233,     0,  1234,   844,   669,   370,   694,   371,   372,   406,      1274,  1276,  1278,  1277,  1124,  1279,  1282,  1284,  1285,  1288,
1497       373,   295,   379,     0,   407,   374,   387,     0,     0,     0,       658,  1129,  1283,  1287,  1289,  1291,  1292,  1290,  1293,  1297,
1498         0,     0,     0,     0,     0,     0,     0,   389,   375,     0,      1296,  1298,  1301,  1299,   701,  1304,  1300,  1302,  1132,  1303,
1499         0,     0,     0,     0,   412,     0,     0,     0,     0,     0,      1305,  1308,   339,   339,  1309,  1311,  1306,  1312,  1307,  1310,
1500       552,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1137,  1138,  1139,  1313,  1318,  1317,   474,   474,  1316,  1319,
1501         0,     0,     0,     0,     0,     0,     0,     0,   794,   555,      1320,  1322,  1324,   339,  1323,  1326,  1325,  1327,  1328,  1329,
1502         0,     0,   798,     0,   327,     0,   802,     0,   327,     0,      1341,  1332,  1336,  1330,  1331,  1334,  1335,  1025,  1338,  1333,
1503         0,     0,   327,     0,     0,     0,     0,   327,     0,     0,      1339,  1352,  1340,  1038,  1038,  1337,  1342,  1345,  1346,  1347,
1504         0,     0,     0,     0,   830,     0,     0,     0,   839,     0,      1348,  1349,  1350,  1353,  1357,  1057,  1359,  1351,  1067,  1038,
1505         0,   567,   567,     0,   849,     0,   851,     0,     0,     0,      1038,  1354,  1365,  1057,   865,   699,   339,  1356,  1358,  1361,
1506       327,     0,     0,     0,     0,     0,     0,     0,     0,   327,      1371,  1360,  1372,  1364,  1366,  1374,  1370,  1375,  1377,  1373,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,   327,      1376,  1380,   698,  1381,  1383,  1384,  1387,  1385,  1391,  1209,
1508         0,   327,     0,     0,     0,     0,     0,     0,     0,     0,      1392,  1386,  1388,  1390,  1393,  1394,  1395,  1397,  1396,  1399,
1509         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1382,  1400,  1398,  1401,  1406,  1403,  1402,  1404,  1224,  1405,
1510         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1407,  1411,  1410,  1227,  1408,  1413,  1414,  1409,  1415,  1417,
1511         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1412,  1416,  1418,  1422,  1420,  1424,  1425,  1427,  1429,  1426,
1512         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1419,  1431,  1434,   319,   319,   319,   319,   319,   319,   319,
1513         0,     0,     0,     0,     0,     0,   327,   327,     0,     0,       319,   319,  1430,  1435,  1432,  1436,  1439,  1437,  1438,  1440,
1514         0,     0,     0,     0,     0,     0,   683,   906,   907,   683,      1069,  1441,  1442,  1057,  1443,  1444,   566,   566,  1445,  1446,
1515       316,    46,    47,    48,    49,    50,   317,   318,   319,   320,      1449,  1448,  1462,  1452,  1447,  1451,  1450,  1463,  1464,  1465,
1516       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,      1466,  1453,   658,  1286,   840,   841,  1468,  1467,  1469,  1470,
1517        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       846,  1471,  1472,  1474,   850,  1473,  1476,  1475,  1477,  1482,
1518        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,      1481,  1485,  1484,  1483,   862,   862,  1486,  1487,  1490,  1488,
1519        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1491,  1489,  1498,  1492,  1493,   339,   339,  1494,  1496,  1497,
1520        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1499,   339,   875,  1500,  1502,   339,  1503,  1504,   319,   319,
1521       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,      1505,  1508,   491,  1501,  1507,  1506,   896,   339,   898,  1509,
1522       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,      1510,  1511,  1512,  1513,  1547,  1516,  1514,  1518,  1517,  1515,
1523       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1521,  1523,  1519,  1520,  1524,  1526,  1355,  1525,  1527,  1528,
1524       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,      1530,  1529,  1531,  1532,  1537,  1535,  1536,  1543,  1538,  1544,
1525       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,      1539,   339,  1540,   339,  1542,  1541,  1546,  1549,  1551,  1550,
1526       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,      1545,  1548,  1553,  1552,  1562,  1554,  1555,  1556,  1557,  1559,
1527       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,      1564,   699,  1560,  1558,  1565,  1561,  1567,  1568,  1569,  1571,
1528       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,      1566,  1570,  1575,  1579,  1563,  1574,  1576,  1580,  1582,  1581,
1529       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,      1583,  1585,  1584,  1587,  1586,  1588,  1590,  1589,  1593,  1596,
1530       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,      1597,  1606,  1591,  1598,  1423,  1592,  1602,  1615,  1594,  1595,
1531       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,      1600,  1609,  1605,  1607,  1599,  1610,  1612,   491,   491,   319,
1532       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,      1601,  1603,  1604,  1608,  1611,  1613,  1614,  1616,  1617,  1618,
1533       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,      1619,  1620,  1621,  1625,  1622,  1624,  1629,  1623,  1626,  1631,
1534       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,      1183,  1642,  1189,  1261,  1633,  1627,  1638,  1632,  1630,  1639,
1535       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,      1628,  1637,  1640,  1641,  1634,  1644,  1635,  1636,  1645,  1643,
1536       255,   256,   257,   258,   259,   260,   261,   262,   263,   690,      1646,  1655,  1015,  1647,  1648,  1651,  1019,  1649,  1656,  1650,
1537         0,   264,   316,    46,    47,    48,    49,    50,   317,   318,       339,  1495,  1652,  1657,   339,  1658,  1653,  1031,  1659,  1654,
1538       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,      1660,  1663,  1661,  1662,  1664,  1665,   339,  1666,  1667,  1081,
1539        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,      1522,   339,  1169,   307,   459,   460,  1059,     0,   461,     0,
1540        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       674,  1072,     0,     0,   701,   701,     0,  1078,     0,  1080,
1541        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,         0,     0,     0,   406,   339,   407,   408,     0,     0,     0,
1542        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,         0,     0,     0,   319,   319,   491,   462,   339,     0,     0,
1543       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,         0,     0,     0,   339,   463,   339,   464,     0,     0,     0,
1544       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,         0,     0,   465,     0,   466,   467,     0,   468,   418,   409,
1545       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,       410,   428,     0,     0,     0,     0,     0,     0,     0,     0,
1546       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,         0,     0,     0,     0,     0,     0,     0,   698,     0,     0,
1547       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       430,     0,     0,     0,     0,     0,     0,     0,     0,   411,
1548       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       413,     0,     0,     0,     0,     0,     0,   414,     0,     0,
1549       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,         0,     0,   698,     0,     0,   698,     0,   698,     0,     0,
1550       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,         0,     0,     0,     0,     0,     0,     0,   491,   491,     0,
1551       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,         0,     0,     0,     0,   339,   339,     0,   473,     0,     0,
1552       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1553       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,         0,     0,     0,   862,  1159,  1160,   862,     0,     0,   658,
1554       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,         0,     0,     0,     0,     0,     0,     0,   319,   319,     0,
1555       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1556       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1557       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1558       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1559       263,     0,   691,   264,    45,    46,    47,    48,    49,    50,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1560        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1561        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1562           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1563           0,     0,   698,   698,     0,     0,     0,     0,     0,     0,
1564           0,     0,     0,     0,     0,     0,     0,     0,   698,   698,
1565           0,     0,     0,     0,   698,     0,     0,     0,     0,     0,
1566           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1567           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1568           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1569           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1571           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1572           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1573           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1574           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1577           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1578           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1579           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1580           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1581           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1582           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1583           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1584           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1585           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1586           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1587         698,   328,    52,    53,    54,    55,    56,   329,   330,   331,
1588         332,   333,   334,   335,   336,   337,   338,    67,    68,    69,
1589          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1590          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1591          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1592         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1593         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1594         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1595         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1596         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1597         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1598         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1599         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1600         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1601         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1602         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1603         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1604         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1605         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1606         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1607         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1608         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1609         818,     0,   270,   328,    52,    53,    54,    55,    56,   329,
1610         330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1611          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1612          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1613          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1614          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1615         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1616         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1617         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1618         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1619         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1620         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1621         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1622         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1623         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1624         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1625         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1626         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1627         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1628         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1629         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1630         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1631         268,   269,     0,   819,   270,    51,    52,    53,    54,    55,
1632          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1633          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1634          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1635          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1636          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1637         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1638         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1639         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1640         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1641         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1642         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1643         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1644         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1645         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1646         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1647         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1648         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1649         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1650         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1651         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1652         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1653         266,   267,   268,   269,     0,     0,   270,   328,    52,    53,
1654          54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1655         336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1656          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1657          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1658          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1659         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1660         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1661         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1662         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1663         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1664         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1665         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1666         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1667         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1668         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1669         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1670         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1671         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1672         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1673         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1674         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1675         264,   265,   266,   267,   268,   269,     0,     0,   270,   328,
1676          52,    53,    54,  1032,  1033,    57,    58,    59,    60,    61,
1677          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1678          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1679          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1680          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1681         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1682         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1683         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1684         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1685         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1686         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1687         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1688         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1689         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1690         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1691         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1692         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1693         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1694         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1695         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1696         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1697         262,   263,   264,   265,   266,   267,   268,   269,   580,   581,
1698         328,    52,    53,    54,    55,    56,   329,   330,   331,   332,
1699         333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
1700        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1701        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1702        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1294  static const short int yytable[] = Line 1716  static const short int yytable[] =
1716       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1717       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1718       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1719       261,   262,   263,     0,     0,   264,   316,    46,    47,    48,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1720        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1721       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1722        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1723        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1724        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1725        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1726       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1727       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1728       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1729       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1730       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1731       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1732       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1733       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1734       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1735       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1736       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1737       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1738       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1739       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1740       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1741       259,   260,   261,   262,   263,     0,     0,   264,   316,    46,       262,   263,   264,   265,   266,   267,   268,   269,   328,   952,
1742        47,    48,   803,   804,    51,    52,    53,    54,    55,    56,        53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1743        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,       335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1744        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1745        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1746        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1747        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1748       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1749       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1750       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1751       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1752       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1753       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1754       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1755       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1756       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1757       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1758       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1759       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1760       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1761       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1762       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1763       257,   258,   259,   260,   261,   262,   263,   532,   533,   316,       263,   264,   265,   266,   267,   268,   269,   328,   980,    53,
1764        46,    47,    48,    49,    50,   317,   318,   319,   320,   321,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1765       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1766        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1767          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1768          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1769         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1770         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1771         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1772         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1773         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1774         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1775         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1776         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1777         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1778         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1779         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1780         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1781         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1782         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1783         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1784         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1785         264,   265,   266,   267,   268,   269,   328,   982,    53,    54,
1786          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1787         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1788          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1789          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1790          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1791         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1792         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1793         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1794         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1795         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1796         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1797         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1798         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1799         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1800         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1801         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1802         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1803         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1804         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1805         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1806         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1807         265,   266,   267,   268,   269,   328,  1117,    53,    54,    55,
1808          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1809         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1810        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1811        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1812        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1360  static const short int yytable[] = Line 1825  static const short int yytable[] =
1825       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1826       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1827       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1828       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1829        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,       266,   267,   268,   269,   328,  1133,    53,    54,    55,    56,
1830        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1831        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1832        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1833        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
# Line 1382  static const short int yytable[] = Line 1847  static const short int yytable[] =
1847       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1848       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1849       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1850       257,   258,   259,   260,   261,   262,   263,   316,   747,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1851        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       267,   268,   269,   328,  1134,    53,    54,    55,    56,   329,
1852       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1853        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1854        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1855        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1404  static const short int yytable[] = Line 1869  static const short int yytable[] =
1869       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1870       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1871       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1872       258,   259,   260,   261,   262,   263,   316,   773,    47,    48,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1873        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       268,   269
1874       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,  };
1875        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,  
1876        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,  static const yytype_int16 yycheck[] =
1877        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,  {
1878        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1879       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,        25,    26,    27,    28,    29,    30,    31,   494,   523,   524,
1880       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       977,   526,   557,   736,   769,   759,    32,   961,   277,   532,
1881       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       281,   282,   535,   281,   282,   540,   285,   286,   541,   286,
1882       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,         5,   546,   545,   946,    37,    58,    59,    60,    61,    62,
1883       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,        63,    64,    65,    66,   288,   288,   288,   753,    37,    33,
1884       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,        34,   980,  1129,   982,    22,   568,   543,   943,    20,     1,
1885       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,      1137,     3,   971,    21,    19,   515,    19,   976,    21,    37,
1886       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,        23,    24,    34,    31,    21,    22,   526,    19,    31,    21,
1887       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,        22,    32,    23,    25,    37,    38,    89,    40,    30,    31,
1888       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       540,    38,    23,    35,    36,    37,   546,    39,    39,    34,
1889       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,        89,    22,    37,   989,   990,   991,     9,    10,    11,    12,
1890       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,        13,    14,    15,    16,    17,    18,    23,    21,    22,    22,
1891       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,        19,    20,    21,    19,    19,    21,    20,    23,    24,    32,
1892       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,        34,    39,    31,    27,    38,    31,    31,    19,    37,    38,
1893       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,        23,    40,    37,    37,    40,    40,    40,     0,    30,    31,
1894       259,   260,   261,   262,   263,   316,   775,    47,    48,    49,      1227,   505,   506,   507,   508,   509,   510,   511,   512,   513,
1895        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,       514,   277,   516,   517,   518,   519,    23,   521,    23,   285,
1896       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,       286,    19,  1139,    21,   290,    19,    24,    27,    19,    36,
1897        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        24,    36,    23,    31,    22,    22,    31,    31,  1117,    39,
1898        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        31,   224,    37,    21,    30,    30,    34,    34,  1111,    27,
1899        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        22,    36,    38,    31,  1133,  1134,   222,   223,     9,    10,
1900       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        11,    12,    13,    14,    15,    16,    17,    18,    19,   732,
1901       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,        27,   734,   735,    31,    23,    21,    33,    21,    21,    37,
1902       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       745,    27,   747,    27,    27,   941,    21,   750,   222,   223,
1903       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       550,    23,    27,   281,   282,    27,   556,    23,   286,   224,
1904       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       225,   226,    38,    34,    37,    34,    37,   770,    37,    37,
1905       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       504,   504,   504,    34,   289,   778,   779,   780,   781,   782,
1906       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       783,   784,   785,   786,   787,   788,   789,    19,    34,    27,
1907       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       795,    37,   769,   225,   226,    20,   799,   800,   801,   550,
1908       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,        31,   550,   550,   550,     6,   225,   226,     9,    10,    11,
1909       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,        12,    13,    14,    15,    16,    17,    18,     7,     8,     9,
1910       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,        10,    11,    12,    13,    14,    15,    16,    17,    18,   344,
1911       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,        34,   280,    21,    37,   283,   225,    39,    40,    31,   354,
1912       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,        39,    40,   222,   223,    19,   360,    19,   362,   363,   364,
1913       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       365,   366,  1286,   368,    38,   370,   371,   372,   373,   374,
1914       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,        38,   376,   377,   378,   379,   380,    21,    22,    22,   384,
1915       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,        38,   386,    33,  1107,   389,    23,  1110,    21,    22,   394,
1916       260,   261,   262,   263,   316,   872,    47,    48,    49,    50,       395,   396,    23,   398,   399,   400,     9,    10,    11,    12,
1917       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,        13,    14,    15,    16,    17,    18,    39,   412,  1355,   414,
1918        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,      1113,    37,   417,   418,    19,   420,   421,   978,   979,   580,
1919        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,       581,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1920        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1921        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,       287,   288,   935,    26,   278,   279,    27,    32,    26,    42,
1922       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,         6,    27,   977,     9,    10,    11,    12,    13,    14,    15,
1923       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,        16,    17,    18,    23,    33,    33,    27,   960,    27,    39,
1924       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       475,    42,    27,   478,  1209,    26,    42,   972,    27,    32,
1925       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,        21,    39,    27,    26,     6,    39,   953,     9,    10,    11,
1926       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,        12,    13,    14,    15,    16,    17,    18,    39,    27,    38,
1927       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,        33,    33,    36,    38,    40,    36,    21,    21,    38,    34,
1928       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,        20,   515,    19,    22,    22,    19,    19,    89,   985,   523,
1929       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       524,    15,   526,    25,    22,    36,    38,    27,    19,   533,
1930       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       534,    30,    22,    22,    22,    22,   540,    89,    22,    89,
1931       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,        22,    37,   546,    22,    22,    26,    32,   551,   552,   553,
1932       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       554,    22,    24,   557,   558,    19,    36,    27,    23,    33,
1933       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,        23,    38,    38,    36,    32,    27,    27,    27,    37,    27,
1934       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,        37,    27,    19,    32,    40,   580,   581,    32,    30,    27,
1935       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,        19,    27,    39,    27,    37,    27,    27,    32,    37,   594,
1936       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1937       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       605,   606,   607,    27,    38,   608,   609,   610,   611,   612,
1938       261,   262,   263,   316,   890,    47,    48,    49,    50,   317,       613,   614,   615,   616,  1139,    33,   621,   622,   623,   624,
1939       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,        27,    33,    39,    27,   629,   630,    39,    33,    23,    27,
1940          27,  1124,   637,   638,   639,    24,    32,   642,    21,    27,
1941          19,    23,    43,    21,    21,    32,    27,    33,   653,    89,
1942         655,    23,   657,    58,    59,    60,    61,    62,    63,    64,
1943          65,    66,    30,    32,   669,   670,   671,   672,   673,   674,
1944         675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1945          32,   686,    23,    30,    24,   690,   691,   692,    31,    89,
1946         693,   694,    30,    23,    33,    89,    89,    89,    33,    32,
1947          23,    32,    36,    22,    89,    33,   271,    22,    30,    89,
1948          31,    38,    22,    22,    40,   720,   721,    33,    23,    32,
1949          23,    19,    89,    30,    23,    20,    23,    27,    36,    89,
1950          19,    23,    23,   737,    27,    36,   740,   741,   742,   743,
1951          89,   745,  1209,   747,    32,   749,    23,    33,   752,   753,
1952          23,    27,    27,    43,    32,    27,   760,   761,    23,    27,
1953          89,    32,    36,    27,   768,    89,    27,    27,    23,    39,
1954          33,    89,    89,    23,    27,    23,    27,    89,    23,    31,
1955          27,    30,    23,    89,    27,    89,    30,   791,    20,   793,
1956          32,   795,    30,    33,    22,   289,    32,    32,    22,    38,
1957          33,   804,    36,    40,    33,    32,    32,    30,    22,    89,
1958          32,    31,    31,    30,    21,    33,    32,    20,    33,    30,
1959          33,    33,    89,    89,    32,    30,    21,    89,   833,    39,
1960        1355,    40,    30,    37,    33,   840,    37,   842,   843,   844,
1961          37,   846,   847,    23,    37,    37,   851,   852,    39,   854,
1962          34,   856,     5,    39,    23,    33,    39,    27,    89,   864,
1963          23,    33,    21,    39,    89,    19,    24,    33,    89,   874,
1964          21,   876,    33,    23,    38,    23,    38,    32,    38,   884,
1965         885,   886,   887,   888,   889,   890,   891,   892,   893,   894,
1966         895,    27,   897,    39,   899,    37,   901,    23,    38,    38,
1967         905,   906,   907,    38,    38,   908,   909,    39,    39,   474,
1968          38,    22,    39,   318,    38,   320,   321,   322,   323,   324,
1969         325,   326,   327,    33,    32,    24,    32,    27,    33,    33,
1970          39,    38,    33,   937,   938,   939,    38,   941,   942,   943,
1971          32,   945,   946,    27,    39,    36,    34,    21,   952,    38,
1972          36,    89,    32,    36,    36,    34,  1423,   961,    34,    19,
1973          38,    38,    19,    36,   968,   969,    38,   971,   972,   973,
1974         974,    34,   976,   977,   978,   979,   980,    38,   982,    23,
1975          39,   475,    32,    39,    33,   989,   990,   991,    34,    30,
1976          32,    38,    23,    36,    39,    21,    32,    31,    23,    39,
1977          39,   566,    89,    24,    39,    38,    30,    39,    89,    39,
1978        1015,  1016,    39,  1018,  1019,  1020,    39,    39,    89,  1024,
1979          39,    89,    38,    30,    39,    39,    38,    38,  1495,  1032,
1980        1033,    39,    33,    39,    89,    39,   530,   531,    32,    23,
1981          38,    38,    32,    39,  1049,    27,    31,    19,    31,    38,
1982         544,  1056,    89,    31,    22,    22,    31,    38,    38,    38,
1983          34,    30,    38,    34,   558,    22,    36,    32,  1073,    33,
1984          31,    89,   637,   638,    23,    22,    39,    25,    38,    89,
1985        1085,  1086,  1087,    22,    21,    23,   580,   581,    33,    25,
1986          23,    23,    23,   658,    89,    23,    89,    23,    89,    23,
1987          21,    89,    89,    33,    39,    39,    33,  1111,    23,    38,
1988          23,    33,    37,  1117,  1118,    38,    32,    27,    27,    27,
1989          40,    27,    36,    23,    22,  1129,    22,    32,  1132,  1133,
1990        1134,    32,    36,  1137,  1138,  1139,   701,    32,    40,    32,
1991          30,    40,    22,    40,    38,    32,    38,    33,    26,    40,
1992          38,    33,   557,    32,    27,    40,    39,    38,    23,  1164,
1993          27,    38,    38,    38,    23,    27,    38,    23,    26,    38,
1994          89,    89,    27,    26,    23,    43,    33,    89,  1183,    30,
1995          27,    19,    89,  1188,    38,    27,    89,    39,    23,    21,
1996          40,    27,    23,    32,    37,    40,    21,    21,    19,    40,
1997          89,    21,    19,   608,   609,   610,   611,   612,   613,   614,
1998         615,   616,    40,    36,    21,    34,    21,    23,    40,    89,
1999        1224,    32,    31,  1227,    32,    27,   720,   721,    40,    33,
2000          23,    32,    27,    31,    37,    34,    36,    23,    27,    23,
2001          31,    38,   736,  1248,   738,   739,    27,    32,    23,    26,
2002         744,    43,    32,    23,   748,    38,    27,    36,    23,    19,
2003          38,    23,    21,    32,   758,   759,    39,    34,    19,    37,
2004          19,    89,    19,    89,    32,   840,   841,    23,    21,    21,
2005          32,   846,  1286,    21,    19,   850,    34,    32,   693,   694,
2006          21,    32,   697,    89,    33,    89,   790,   862,   792,    19,
2007          34,    23,    23,    36,    22,    34,    38,    34,    36,    39,
2008          36,    23,    31,    89,    23,    23,  1321,    34,    23,    34,
2009          23,    32,    23,    23,    34,    39,    24,    19,    30,    19,
2010          37,   896,    89,   898,    38,    34,    19,    30,    19,    89,
2011          37,    37,    30,    32,    39,    89,    33,    32,    32,    89,
2012          36,  1355,    89,    33,    31,    34,    23,    27,    34,    23,
2013          42,    36,    24,    34,    89,    39,    38,    19,    22,    38,
2014          19,    31,    23,    19,    37,    19,    33,    30,    33,    19,
2015          36,    39,    32,    89,  1389,    32,    19,    23,    33,    32,
2016          31,    39,    31,    24,    36,    24,    19,   802,   803,   804,
2017          38,    38,    36,    38,    36,    22,    27,    23,    32,    23,
2018          19,    23,    32,    19,    33,    33,    38,    32,    31,    22,
2019        1132,    89,  1138,  1224,    31,    36,    23,    32,    36,    27,
2020          40,    31,    23,    23,    38,    23,    38,    38,    23,    38,
2021          23,    23,   936,    38,    40,    26,   940,    36,    23,    36,
2022        1015,  1456,    38,    37,  1019,    33,    36,   951,    23,    38,
2023          23,    30,    36,    36,    36,    36,  1031,    37,    22,   985,
2024        1495,  1036,  1118,    50,   288,   288,   970,    -1,   288,    -1,
2025         550,   975,    -1,    -1,   978,   979,    -1,   981,    -1,   983,
2026          -1,    -1,    -1,   283,  1059,   283,   283,    -1,    -1,    -1,
2027          -1,    -1,    -1,   908,   909,   910,   288,  1072,    -1,    -1,
2028          -1,    -1,    -1,  1078,   288,  1080,   288,    -1,    -1,    -1,
2029          -1,    -1,   288,    -1,   288,   288,    -1,   288,   284,   283,
2030         283,   286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2031          -1,    -1,    -1,    -1,    -1,    -1,    -1,   952,    -1,    -1,
2032         286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,
2033         283,    -1,    -1,    -1,    -1,    -1,    -1,   283,    -1,    -1,
2034          -1,    -1,   977,    -1,    -1,   980,    -1,   982,    -1,    -1,
2035          -1,    -1,    -1,    -1,    -1,    -1,    -1,   992,   993,    -1,
2036          -1,    -1,    -1,    -1,  1159,  1160,    -1,   288,    -1,    -1,
2037          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2038          -1,    -1,    -1,  1107,  1108,  1109,  1110,    -1,    -1,  1113,
2039          -1,    -1,    -1,    -1,    -1,    -1,    -1,  1032,  1033,    -1,
2040          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2041          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2042          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2043          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2044          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2045          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2046          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2047          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2048          -1,    -1,  1117,  1118,    -1,    -1,    -1,    -1,    -1,    -1,
2049          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1133,  1134,
2050          -1,    -1,    -1,    -1,  1139,    -1,    -1,    -1,    -1,    -1,
2051          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2052          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2053          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2054          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2055          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2056          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2057          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2058          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2059          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2060          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2061          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2062          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2063          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2064          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2065          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2066          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2067          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2068          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2069          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2070          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2071          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2072        1355,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2073          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2074          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2075          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2076          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2077          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2078        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2079        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2080        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
# Line 1488  static const short int yytable[] = Line 2091  static const short int yytable[] =
2091       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2092       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2093       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2094       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       222,    -1,   224,     3,     4,     5,     6,     7,     8,     9,
2095       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2096       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2097       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2098       262,   263,   316,   891,    47,    48,    49,    50,   317,   318,        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2099       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2100        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2101        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2102        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2103        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2104       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2105       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2106       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2107       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2108       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2109       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2110       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2111       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2112       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2113       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2114       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2115       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2116       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,       220,   221,    -1,   223,   224,     3,     4,     5,     6,     7,
2117       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2118       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2119       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2120       263        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2121  };        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2122          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2123  static const short int yycheck[] =        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2124  {        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2125        14,   609,   479,    14,     5,    16,    17,    18,    19,    20,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2126        21,    22,    23,    24,    25,    26,    27,   272,   273,   272,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2127       273,   459,   279,    32,   271,   279,   773,   279,   775,   276,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2128       277,    23,   225,   226,   281,    27,    21,    22,    21,    22,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2129        19,    23,    52,    53,    54,    55,    56,    57,    58,    59,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2130        60,    34,    31,    38,    36,    38,    30,     1,    37,     3,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2131        23,    40,    39,    40,    38,    36,    52,    53,    54,    55,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2132        56,    57,    58,    59,    60,    19,    39,    21,    22,    20,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2133        21,    25,    39,    40,    20,    22,    30,    20,    19,    23,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2134        31,    35,    36,    37,    27,    39,    37,    38,    34,    40,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2135        31,    19,    36,    21,    37,    23,    19,    40,    21,    19,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2136        23,    21,    27,    31,   591,    23,   593,   594,    31,    37,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2137        38,    31,    23,     6,    39,   872,     9,    10,    11,    12,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2138        13,    14,    15,    16,    17,    18,    22,    19,    22,    27,       218,   219,   220,   221,    -1,    -1,   224,     3,     4,     5,
2139        31,    23,   619,   890,   891,    33,    37,    39,    34,    31,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2140        34,   628,   629,   630,   631,   632,   633,   634,   635,   636,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2141       637,   638,     6,   222,   223,     9,    10,    11,    12,    13,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2142        14,    15,    16,    17,    18,    21,    21,    22,    32,   436,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2143       618,    27,   436,     6,   436,    23,     9,    10,    11,    12,        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2144        13,    14,    15,    16,    17,    18,     7,     8,     9,    10,        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2145        11,    12,    13,    14,    15,    16,    17,    18,    21,    22,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2146       465,   765,   465,   222,   223,   769,   771,   772,   532,   533,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2147       278,   279,     0,   224,   225,   226,   437,   438,   439,   440,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2148       441,   442,   443,   444,   445,   446,   447,   448,     9,    10,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2149        11,    12,    13,    14,    15,    16,    17,    18,    19,   224,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2150        22,    37,    37,    23,    38,    19,    37,    20,   866,    27,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2151       737,   869,    21,   225,    19,    38,    22,    27,    33,   280,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2152        23,    38,    38,    23,    26,    37,   753,    26,    39,    23,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2153        27,   225,   226,     9,    10,    11,    12,    13,    14,    15,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2154        16,    17,    18,    32,    39,    33,   306,    26,   308,   309,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2155       310,   311,   312,   313,   314,   315,     9,    10,    11,    12,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2156        13,    14,    15,    16,    17,    18,    27,    32,    39,    21,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2157        27,    39,    26,    33,    38,    33,   337,    40,    27,    38,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2158        36,    21,   343,    38,   345,   346,   347,   348,   349,    21,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2159       351,    20,   353,   354,   355,   356,   357,    19,    22,    19,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2160       361,   362,    19,   364,   365,    36,    25,    22,    38,    27,       216,   217,   218,   219,   220,   221,    -1,    -1,   224,     3,
2161        22,    22,    22,    19,    14,    22,    37,   378,   379,   380,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2162        22,    26,    19,    22,   385,   386,   387,   388,   389,   390,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2163        24,    27,    23,    37,    23,    36,    19,    40,    33,    27,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2164        38,    21,    27,    30,    36,    38,    32,    37,    32,    27,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2165        27,    32,    27,   414,   881,   416,    27,    27,    32,    27,        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2166        33,    27,    38,    27,    33,    24,    33,    39,    33,    32,        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2167        23,    19,    21,    27,    21,    32,    89,    33,    23,    30,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2168        32,    43,    32,    24,    22,    22,    22,    33,    32,   453,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2169       454,    33,    32,    36,    33,    30,    30,    23,    23,    32,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2170        19,    30,   466,   467,   468,   469,   470,    89,    38,    23,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2171        89,    20,    36,    23,    19,    23,    23,    33,    36,    23,       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2172        43,    27,    23,    40,    27,    27,    39,    27,    89,    89,       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2173        27,    89,    27,    23,    89,   496,   497,   498,   499,   500,       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2174       501,   502,   503,   504,   505,   506,   507,   508,   509,   510,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2175        33,    39,    36,   514,   515,    23,   516,   517,   518,   519,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2176       520,   521,   522,   523,   524,    30,    23,    89,    89,    89,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2177        31,   532,   533,    27,   535,    30,   537,    89,   539,    20,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2178       516,   517,   518,   519,   520,   521,   522,   523,   524,    33,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2179       551,   552,   553,   554,   555,   556,   557,   558,   559,   560,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2180       561,   562,   563,   564,   565,    30,    32,    89,    38,    36,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2181        33,    32,    30,    33,    31,   265,    32,    31,    33,    32,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2182        89,    33,    31,    89,    30,    30,    89,    21,    20,    40,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
       30,    39,   596,    37,    33,   599,   600,   601,   602,    34,  
       23,   605,    21,    39,    34,     5,    39,    34,    23,    33,  
       39,    89,    34,   617,   615,   616,    27,    23,    30,    24,  
       89,    19,    21,    33,    33,    38,    23,    23,    42,    23,  
       37,    39,    27,    34,    38,    38,   640,    39,   642,    89,  
      280,    32,    30,    27,    33,    32,    39,    39,    38,    32,  
       27,    33,    21,    39,    32,    34,    19,    38,    38,    34,  
       30,    34,    38,   664,    38,    33,    38,    34,    39,    23,  
      671,    32,   673,   674,   675,    39,   677,    21,   679,    32,  
       39,    23,    38,    30,    39,    24,    32,    39,    39,    38,  
       30,   692,    33,   694,    39,    23,    39,    32,    27,    19,  
       38,    38,   703,   704,   705,   706,   707,   708,   709,   710,  
      711,   712,   713,    39,   715,    38,   717,    22,    22,    38,  
       38,    34,    38,   413,    89,    32,    38,    89,    39,    89,  
       33,    89,    89,    22,    25,   739,   740,   741,    22,   743,  
       33,    89,    21,   747,    25,    23,    23,   747,    23,    39,  
      754,    33,    38,    89,    37,    89,    89,    89,   762,   763,  
       21,   765,   766,   767,    89,   769,   770,   771,   772,   773,  
      770,   775,    27,   773,   414,   775,    27,    27,    40,    27,  
       36,    33,    23,    22,    22,    38,    40,   477,    32,    36,  
       33,    40,    26,   794,   795,    40,   797,   798,    33,    27,  
       40,    89,    38,   803,   804,    23,    39,    27,    23,   809,  
       27,   451,   452,    26,    23,    27,    38,    89,   819,    26,  
      460,    19,    33,    39,   514,   515,   827,   803,   804,    43,  
      470,    27,    40,    23,    27,    21,    23,    32,    40,   840,  
       21,   841,   842,    89,    21,    19,    40,    89,    40,    21,  
      540,    19,    36,    32,    34,    40,    32,    27,    33,    37,  
       23,    32,    27,    36,    23,   841,   842,    34,   872,    38,  
       27,   875,   872,   873,   874,   875,   876,   567,    23,    32,  
       27,    23,    26,   887,    32,   889,   890,   891,    43,    38,  
      890,   891,   532,   533,    23,    38,    32,    21,    23,    39,  
      876,    34,    37,    19,    21,    32,    89,    89,    21,    21,  
       19,    34,   912,   913,    32,   915,    23,    23,    38,    30,  
       39,    36,    36,    89,    34,    23,   927,    31,    23,    23,  
       23,    34,    32,    23,    23,    37,   912,   913,    89,    38,  
       19,    19,    34,    19,   944,   945,    30,    19,    89,    32,  
      954,    89,    34,    30,    39,   595,    36,   597,   598,    89,  
       31,    34,    36,   603,   604,    23,    34,    19,   608,   609,  
       19,    38,    22,    30,    19,   615,   616,    23,    19,    19,  
       36,   671,   672,    36,    89,    36,    19,   677,   678,    31,  
       38,    22,    31,   683,    23,    27,    23,    19,    36,   639,  
       23,   641,    19,    31,    40,    40,    36,    31,    23,    23,  
      887,    36,    38,    31,    27,    23,    23,    38,    23,    23,  
      889,    23,    38,    23,   714,    36,   716,    36,    38,    23,  
       36,    23,   954,   754,   875,    38,    37,    36,    36,    36,  
       36,    -1,    37,   770,   595,   274,   618,   274,   274,   279,  
      274,    44,   275,    -1,   279,   274,   277,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,   277,   274,    -1,  
       -1,    -1,    -1,    -1,   279,    -1,    -1,    -1,    -1,    -1,  
      465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   738,   465,  
       -1,    -1,   742,    -1,   794,    -1,   746,    -1,   798,    -1,  
       -1,    -1,   802,    -1,    -1,    -1,    -1,   807,    -1,    -1,  
       -1,    -1,    -1,    -1,   764,    -1,    -1,    -1,   768,    -1,  
       -1,   771,   772,    -1,   774,    -1,   776,    -1,    -1,    -1,  
      830,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   839,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   849,  
       -1,   851,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,   906,   907,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,   866,   867,   868,   869,  
2183         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2184        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2185        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
# Line 1662  static const short int yycheck[] = Line 2201  static const short int yycheck[] =
2201       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2202       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2203       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2204       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
       -1,   224,     3,     4,     5,     6,     7,     8,     9,    10,  
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,  
       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,  
       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,  
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,  
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,  
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,  
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,    -1,   223,   224,     3,     4,     5,     6,     7,     8,  
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,  
       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,  
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,  
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,  
       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,  
       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,  
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,  
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,  
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,  
      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,  
      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,  
      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,  
      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,  
      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,  
      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,  
      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,  
      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,  
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,  
      219,   220,   221,    -1,    -1,   224,     3,     4,     5,     6,  
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,  
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,  
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,  
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,  
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,  
       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,  
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,  
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,  
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,  
      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,  
      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,  
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,  
      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,  
      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,  
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,  
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,  
      217,   218,   219,   220,   221,    -1,    -1,   224,     3,     4,  
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,  
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,  
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,  
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,  
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,     3,  
2205         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2206        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2207        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1905  static const short int yycheck[] = Line 2355  static const short int yycheck[] =
2355       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2356       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2357       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2358       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,       220,   221
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,  
       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,  
       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,  
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,  
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,  
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,  
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221  
2359  };  };
2360    
2361  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2362     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2363  static const unsigned short int yystos[] =  static const yytype_uint16 yystos[] =
2364  {  {
2365         0,     1,     3,    19,    21,    22,    25,    30,    35,    36,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2366        37,    39,   228,   229,   230,   231,   270,   271,   272,   273,        36,    37,    39,   228,   229,   230,   231,   285,   286,   287,
2367       274,   275,   278,   279,   280,   281,   282,   322,   325,    22,       288,   289,   290,   291,   292,   293,   298,   299,   300,   301,
2368        36,    23,    23,    27,    33,    39,    23,    23,    39,    32,       302,   361,   365,    22,    30,    36,    23,    23,    27,    33,
2369         0,   225,   226,   268,   269,     3,     4,     5,     6,     7,        19,    39,    23,    23,    39,    32,     0,   225,   226,   283,
2370         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,       284,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2371        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2372        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2373        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2374        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2375        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2376        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2377        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2378        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2379        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2380       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2381       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2382       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2383       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2384       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2385       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2386       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2387       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2388       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2389       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2390       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2391       218,   219,   220,   221,   224,   259,   262,   263,   264,   267,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2392       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       224,   274,   277,   278,   279,   282,   282,   282,   282,   282,
2393       267,   267,    22,    23,    37,    38,    37,    19,    27,    31,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2394        37,    30,    38,    20,    37,   268,     9,    10,    11,    12,       282,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2395        13,    14,    15,    16,    17,    18,   261,   262,   261,   261,        31,    37,    30,    38,    20,    31,    37,   283,     9,    10,
2396       261,   261,   261,   261,   261,   261,     3,     9,    10,    11,        11,    12,    13,    14,    15,    16,    17,    18,   276,   277,
2397        12,    13,    14,    15,    16,    17,    18,   264,    21,   283,       276,   276,   276,   276,   276,   276,   276,   276,     3,     9,
2398        19,    21,    23,    31,    37,    38,   234,   283,   284,   285,        10,    11,    12,    13,    14,    15,    16,    17,    18,   279,
2399       286,   293,   294,   296,   298,   299,   300,   301,   302,   303,        21,    31,   232,   303,   344,    19,    21,    23,    24,    31,
2400       305,   307,   308,   309,   310,   311,   312,   316,    19,    31,        37,    38,    40,   238,   303,   304,   305,   306,   321,   322,
2401       236,   299,   309,   237,   299,   309,    19,    21,    31,   242,       324,   329,   330,   331,   332,   333,   334,   336,   338,   339,
2402       284,   285,   286,   298,   305,   308,    27,   238,   295,   296,       340,   341,   342,   343,   344,   345,   346,   347,   352,   353,
2403       283,    19,    23,    31,   235,   283,   297,   302,   306,   307,       354,   355,    31,   235,   342,   236,   342,    31,   242,   343,
2404       324,    20,    21,    31,    37,    38,    40,   232,   288,   289,        19,    24,    31,   240,   330,   340,   352,   243,   330,   340,
2405       290,   291,   292,   293,   323,   233,   288,   289,   290,   291,       352,    19,    21,    24,    31,   248,   304,   305,   306,   329,
2406       292,   293,   323,   259,   265,   267,   283,    19,    38,    38,       336,   339,   343,   345,   353,    27,   244,   323,   324,   237,
2407        22,    38,    33,    23,    23,    37,    39,   262,    26,    39,       303,   344,    19,    23,    31,   239,   303,   328,   333,   337,
2408        40,    26,    32,    27,    23,    33,   267,   267,   267,   267,       338,   344,   352,   355,   364,    19,    20,    21,    31,    37,
2409       267,   267,   267,   267,   267,   267,   267,   267,   267,    39,        38,    40,   233,   308,   309,   310,   311,   312,   313,   314,
2410        27,   267,   267,   267,   267,    39,    26,    27,    32,   267,       315,   316,   317,   318,   319,   320,   321,   362,   234,   308,
2411       267,   267,    39,    21,    27,   267,   267,   267,   267,   267,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
2412       267,    39,    26,    27,    38,    33,    33,   259,   267,   267,       319,   320,   321,   362,   274,   280,   282,   241,   303,    19,
2413        38,    36,    40,    38,    21,    21,    20,    19,    22,    19,        19,    38,    38,    22,    38,    33,    23,    23,    37,    19,
2414        19,    25,    22,    36,    38,    27,   287,   290,   291,   292,        39,   277,    26,    27,   282,    39,    40,    26,    32,    42,
2415       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,        27,    23,    33,    33,   282,   282,   282,   282,   282,   282,
2416       287,   287,    22,    22,   259,   259,    10,    11,    12,    13,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2417        14,    15,    16,    17,    18,   263,   263,    22,    19,    22,       282,   282,    27,   282,   282,    27,   282,    39,    42,    27,
2418        37,    32,   222,   223,   243,   255,   266,   277,   244,   254,       282,   282,   282,   282,   282,   282,    39,    26,    42,    27,
2419       259,   252,   263,    22,    26,    22,    19,    31,    37,    40,       282,   282,    32,   282,   282,   282,   282,    39,    21,    27,
2420       239,   299,   303,   304,   309,   312,   313,   314,   315,   317,       282,   282,   282,   282,   282,   282,   282,   282,   282,    39,
2421       318,   319,   263,   263,   263,   263,   258,   259,   263,    24,        39,    26,    27,    38,    33,    33,   274,   282,   282,    36,
2422        19,    37,    36,    38,    27,   252,    23,    33,    23,    38,        38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2423        36,    37,    32,    27,    27,    32,    27,    27,    40,    19,       222,   223,   268,   281,    22,    19,    19,    25,    89,    22,
2424        32,   267,   267,   267,   267,   267,   267,   267,   267,   267,        36,    38,    30,    27,   307,   318,   319,   320,   307,   307,
2425       267,   267,   267,   267,   267,   267,    27,    27,   267,   267,       307,   307,   307,   307,   307,   307,   307,   307,    10,    11,
2426        27,    32,    27,    38,    33,   265,   265,   267,   267,   267,        12,    13,    14,    15,    16,    17,    18,    19,   258,   278,
2427        27,    33,    27,    39,    27,    39,    33,    33,   267,   267,       294,   307,   307,   307,   307,   263,   278,   307,    22,   258,
2428       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       258,    22,   258,   294,    22,    89,    22,   274,   274,   263,
2429       267,   267,   267,    24,    32,    21,    23,    19,    21,    43,       278,   278,   263,    22,    19,    89,    22,   258,   294,   263,
2430        27,    21,    32,    33,    30,    32,    32,    89,    23,    30,        37,    32,   249,   267,   281,   297,   250,   266,   274,   263,
2431        24,   252,    20,    34,   241,   320,   321,   252,   252,   254,       258,   294,    22,    26,    22,    19,    31,    37,   245,   330,
2432       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       334,   335,   340,   344,   347,   348,   349,   350,   355,   357,
2433        33,    89,   240,   259,   240,    33,    32,    89,    36,    32,       358,   278,   278,   278,   278,    32,   363,    19,    30,    31,
2434       222,   223,   253,   263,   255,   252,    33,    89,    22,    22,       334,   351,   356,     7,     8,   262,   275,   276,   277,   278,
2435        38,    30,    30,   252,   252,   252,   252,   252,   252,   252,       273,   274,   278,    22,    24,    19,    22,    37,    36,    38,
2436       252,   252,   252,   252,   259,   263,   259,   263,    23,    32,        27,   263,    23,    33,    23,    38,    36,    37,    32,    27,
2437        23,    19,    30,    23,    20,    36,    23,    89,    19,    23,       280,   280,    27,    27,    32,    27,    37,    27,    40,    19,
2438        23,    27,    36,    89,    33,    43,    23,   267,   267,   267,        39,    32,   282,   282,   282,   282,   282,   282,   282,   282,
2439       267,   267,   267,   267,    89,    27,   267,     4,    89,    23,       282,   282,   282,   282,   282,   282,    30,   282,   282,   282,
2440        27,    39,    89,   267,   267,    89,    27,    27,    27,    23,       282,    27,   282,   282,    27,    27,    37,    27,   282,   282,
2441        33,    39,   267,   267,   267,   267,   267,   267,   267,   267,       282,   282,    27,    32,    37,    27,    38,    33,   282,   282,
2442       267,   267,   267,     4,   267,     4,   267,    36,    23,    30,       282,    27,    33,    27,    39,    27,    39,    33,   282,   282,
2443        31,    89,    89,    23,    27,    30,    33,    20,    30,    32,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2444        40,    38,    36,   252,   259,   263,   263,   263,   259,   263,       282,   282,   282,   282,    19,   282,    39,    23,    27,   282,
2445        33,    32,   259,     7,     8,   256,   257,   259,   260,   261,       282,   282,   276,   276,     6,    27,    24,    32,    27,    21,
2446       262,   263,   266,    33,    30,    32,    31,    31,   252,   253,        23,    19,    21,    43,    27,    21,    32,    89,   222,   223,
2447        33,    32,    33,    89,    31,   245,   263,   246,   263,   247,        33,    30,    32,    32,    23,    89,    23,    30,    31,    24,
2448       259,   245,   248,   263,    19,   249,   263,   276,   250,   259,       263,    20,    34,   247,   359,   360,   263,   263,   266,   278,
2449       245,     7,     8,   251,   260,   263,   258,   258,   256,   259,       274,   274,   278,   278,   278,   278,   274,   258,    30,   258,
2450       256,   259,    89,    30,    30,    89,    40,    21,    20,    39,       274,   278,   263,    89,   259,   278,   259,    89,    33,    23,
2451        30,    37,    34,    33,    23,    21,   267,   267,   267,   267,        89,   246,   274,   246,   261,   278,   265,   278,    33,    32,
2452        39,    34,     4,   261,   261,     5,     6,    39,    34,    23,        23,    89,    36,    32,   264,   278,   267,   263,    33,    89,
2453        33,   267,    39,    34,    89,    27,    23,   267,    30,   267,        22,    22,    38,    30,   263,   263,   263,   263,   263,   263,
2454         4,     4,    24,    89,    19,    21,    33,    33,    23,    38,       263,   263,   263,   263,   263,   263,   274,   278,   274,   278,
2455        23,    39,    27,    37,    23,   240,   259,   259,   240,    38,        31,   258,    22,    40,    22,   263,   263,   263,     6,     6,
2456        39,   256,     6,     6,   257,   261,    38,    39,    32,    22,       276,    33,    23,    32,    89,    23,    19,    30,    23,    20,
2457       252,    38,    39,    33,    32,   246,    30,   248,   256,   256,        36,    23,    27,    89,    19,    23,    23,    32,    27,    36,
2458        27,    21,    27,    32,    33,    27,    39,    34,    89,    38,        89,    23,    33,    43,    23,   282,   282,   282,   282,   282,
2459        21,    32,    34,    38,   261,   261,    34,    38,    38,    19,       282,   282,   282,   282,    27,   282,   282,    27,    89,    32,
2460        34,    38,    39,    34,   267,    30,    33,    32,    23,    39,        27,   282,     4,   282,    89,    23,    32,    27,    39,    89,
2461        21,    32,    39,    19,    23,    31,    89,    23,    38,    39,       282,   282,    89,    27,    27,    27,    23,    33,   282,   282,
2462        89,    39,    89,    30,    39,    89,    38,    39,   249,    30,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2463        39,    24,    33,    32,    23,    38,    38,    39,    32,    27,         4,   282,     4,   282,    23,   282,    27,    23,    27,   282,
2464        22,    34,    89,    19,    38,    22,    38,    22,    38,    22,       282,   282,   276,   276,    89,    36,    23,    27,    30,    31,
2465        34,    34,    38,    32,    33,    39,    38,    89,    89,    22,        89,    89,    23,    27,    30,    32,    33,    20,    30,    22,
2466        25,    22,    23,    36,    33,    21,    25,    89,    23,    89,        32,    40,    38,    36,   263,   274,   278,   278,   278,   274,
2467        23,    89,    23,    33,    39,    89,    38,    37,    21,    21,       259,   278,   265,    32,   260,   278,   260,    32,    33,    22,
2468        22,    27,    27,    27,    40,    27,    36,    33,    23,    22,        32,   274,     7,     8,   271,   272,   274,   275,   278,   281,
2469        40,    22,    40,    21,    22,    40,    36,    38,    21,    34,       270,   281,    33,    30,    22,    32,    31,    31,   263,   264,
2470        38,    33,    26,    23,    36,    33,    32,    89,    27,    40,        33,    32,    33,    89,   252,   278,   253,   278,   254,   274,
2471        38,    39,    23,    27,    23,    27,    26,    23,    27,    38,       252,    22,    32,   258,   295,   296,   255,   278,   256,   278,
2472        89,    26,    33,    43,    39,    19,    40,    27,    89,    23,       294,   257,   274,   252,   262,   273,   273,   271,   274,   271,
2473        27,    21,    23,    89,    32,    40,    21,    40,    21,    19,       274,   268,    33,    30,    89,   265,   265,   265,    33,    89,
2474        40,    21,    21,    38,    19,    36,    34,    32,    32,    27,        30,    32,    30,    89,    40,    21,    20,    37,    39,    30,
2475        40,    33,    37,    32,    23,    36,    34,    38,    27,    23,        37,    37,    34,    37,    33,    23,    21,   282,   282,   282,
2476        27,    23,    32,    27,    23,    26,    43,    32,    38,    23,       282,   282,    37,   282,    37,    39,    34,     4,     5,    39,
2477        38,    32,    21,    23,    39,    34,    37,    89,    19,    89,        34,    37,    23,    33,   282,    39,    34,    89,    27,   282,
2478        21,    21,    32,    21,    89,    19,    34,    32,    23,    23,        23,    33,   282,     4,     4,    89,    21,   282,   282,   282,
2479        36,    38,    39,    34,    36,    31,    23,    23,    23,    23,        39,    24,    89,    34,    37,    19,    21,    33,    33,    23,
2480        34,    32,    23,    23,    30,    37,    89,    34,    38,    19,        38,    38,    23,    39,    38,    27,    37,    23,   246,   274,
2481        19,    19,    30,    89,    19,    32,    30,    89,    34,    39,       274,   246,   260,    38,   266,    38,    38,    39,   271,   272,
2482        89,    36,    31,    42,    34,    36,    23,    34,    19,    38,        38,    39,    38,    32,    22,   263,    38,    39,    33,    32,
2483        22,    19,    23,    19,    19,    30,    19,    36,    89,    36,       253,    24,    32,   255,   271,   271,    33,    33,   253,   261,
2484        31,    38,    36,    31,    36,    19,    22,    27,    23,    23,       262,    38,    27,    21,    27,    39,    38,    32,    33,    27,
2485        19,    23,    19,    31,    36,    40,    38,    36,    31,    38,        39,    36,    34,    89,    38,    36,    21,    32,    36,   282,
2486        31,    23,    27,    23,    23,    23,    23,    23,    38,    40,        36,    34,    38,    34,    38,    36,    38,    19,    34,    38,
2487        36,    36,    38,    36,    38,    23,    23,    37,    23,    23,        39,    34,    19,    23,   282,    39,    32,   282,    34,    30,
2488        36,    36,    36,    36,    37        33,    32,    38,    36,    23,    39,    21,    32,    39,    39,
2489          19,    23,    31,    89,    39,    23,    38,    39,   267,    39,
2490          39,    89,    39,    89,    39,    30,    39,    89,    38,    39,
2491          39,   256,    38,    38,   253,    39,    30,    39,    24,    89,
2492          39,    33,    32,    23,    38,    31,    38,    39,    32,    27,
2493          22,    34,    31,    89,    19,    31,   282,    31,    38,    22,
2494          38,    22,    31,    38,    22,    34,    34,    38,    30,    34,
2495          36,    38,    32,    33,    22,    31,    39,    38,    89,    23,
2496          89,    22,    25,    22,    23,    36,    33,    23,    21,    25,
2497          23,   264,    23,    89,    23,    89,    23,    23,    89,    23,
2498          33,    39,    89,    38,    39,    33,    89,    38,    23,    23,
2499          37,    21,    32,    21,    22,    27,    27,    27,    40,    27,
2500          36,    32,    33,    23,    32,   282,    32,    22,    40,    22,
2501          40,    32,    21,    22,    40,    36,    38,    21,    34,    38,
2502          38,    30,    22,    40,    32,    33,    38,    26,    23,    36,
2503          33,    32,    89,    27,    40,    38,    38,    39,    38,   262,
2504          38,    23,    27,    23,    27,    38,    26,    23,    27,    38,
2505          89,    26,    33,    43,    89,    30,    23,    27,    38,    39,
2506          89,    19,    40,    27,    89,    23,    27,    21,    23,    89,
2507          37,    89,    32,   282,    40,    21,    40,    21,    89,    19,
2508          40,    21,    21,    38,    19,    36,    34,    23,    40,    21,
2509          89,    32,    31,    32,    27,    40,    33,    37,    32,    23,
2510          36,    34,    31,    38,    33,    34,   251,   269,   281,   325,
2511         326,   327,    27,    23,    27,    23,    31,    32,    27,    23,
2512          26,    43,    32,    38,    23,    36,    27,    23,    21,    27,
2513          31,    38,    19,    32,    21,    23,    39,    34,    37,    89,
2514          19,    19,    89,    32,    23,   282,    21,    21,    19,    32,
2515          21,    89,    19,    34,    32,    21,    89,    33,    32,    19,
2516          34,    23,    23,    36,    38,    39,    34,    36,    34,    31,
2517          89,    36,   269,    23,    23,    34,    23,    23,    34,    32,
2518          23,    23,    23,    21,    27,    39,    24,    34,    30,    37,
2519          89,    34,    38,    19,    19,    37,    19,    22,    37,    30,
2520          89,    19,    32,    30,    89,    33,    32,    32,    33,    89,
2521          89,    34,    39,    89,    36,    31,    42,    23,    27,    34,
2522          36,    23,    21,    27,    39,    24,    38,    21,    27,    34,
2523          19,    38,    22,    19,    23,    31,    37,    19,    19,    30,
2524          33,    32,    32,    33,    33,    32,    19,    36,    89,    36,
2525          31,    38,    19,    38,    36,    31,    39,    24,    38,    39,
2526          24,    36,    19,    22,    27,    23,    23,    32,    23,    19,
2527          23,    32,    33,    32,    33,    19,    31,    36,    40,    38,
2528          36,    22,    32,    31,    38,    38,    38,    31,    23,    27,
2529          23,    23,    89,    38,    23,    23,    23,    38,    40,    36,
2530          36,    26,    38,    36,    38,    23,    23,    37,    33,    23,
2531          23,    36,    36,    30,    36,    36,    37,    22
2532  };  };
2533    
2534  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
# Line 2085  do                                                             \ Line 2556  do                                                             \
2556        yychar = (Token);                                         \        yychar = (Token);                                         \
2557        yylval = (Value);                                         \        yylval = (Value);                                         \
2558        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2559        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2560        goto yybackup;                                            \        goto yybackup;                                            \
2561      }                                                           \      }                                                           \
2562    else                                                          \    else                                                          \
# Line 2093  do                                                             \ Line 2564  do                                                             \
2564        yyerror (YY_("syntax error: cannot back up")); \        yyerror (YY_("syntax error: cannot back up")); \
2565        YYERROR;                                                  \        YYERROR;                                                  \
2566      }                                                           \      }                                                           \
2567  while (0)  while (YYID (0))
2568    
2569    
2570  #define YYTERROR        1  #define YYTERROR        1
# Line 2108  while (0) Line 2579  while (0)
2579  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2580  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2581      do                                                                  \      do                                                                  \
2582        if (N)                                                            \        if (YYID (N))                                                    \
2583          {                                                               \          {                                                               \
2584            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2585            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
# Line 2122  while (0) Line 2593  while (0)
2593            (Current).first_column = (Current).last_column =              \            (Current).first_column = (Current).last_column =              \
2594              YYRHSLOC (Rhs, 0).last_column;                              \              YYRHSLOC (Rhs, 0).last_column;                              \
2595          }                                                               \          }                                                               \
2596      while (0)      while (YYID (0))
2597  #endif  #endif
2598    
2599    
# Line 2134  while (0) Line 2605  while (0)
2605  # if YYLTYPE_IS_TRIVIAL  # if YYLTYPE_IS_TRIVIAL
2606  #  define YY_LOCATION_PRINT(File, Loc)                  \  #  define YY_LOCATION_PRINT(File, Loc)                  \
2607       fprintf (File, "%d.%d-%d.%d",                      \       fprintf (File, "%d.%d-%d.%d",                      \
2608                (Loc).first_line, (Loc).first_column,     \                (Loc).first_line, (Loc).first_column,     \
2609                (Loc).last_line,  (Loc).last_column)                (Loc).last_line,  (Loc).last_column)
2610  # else  # else
2611  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2612  # endif  # endif
# Line 2162  while (0) Line 2633  while (0)
2633  do {                                            \  do {                                            \
2634    if (yydebug)                                  \    if (yydebug)                                  \
2635      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2636  } while (0)  } while (YYID (0))
2637    
2638  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)          \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2639  do {                                                            \  do {                                                                      \
2640    if (yydebug)                                                  \    if (yydebug)                                                            \
2641      {                                                           \      {                                                                     \
2642        YYFPRINTF (stderr, "%s ", Title);                         \        YYFPRINTF (stderr, "%s ", Title);                                   \
2643        yysymprint (stderr,                                       \        yy_symbol_print (stderr,                                            \
2644                    Type, Value); \                    Type, Value); \
2645        YYFPRINTF (stderr, "\n");                                 \        YYFPRINTF (stderr, "\n");                                           \
2646      }                                                           \      }                                                                     \
2647  } while (0)  } while (YYID (0))
2648    
2649    
2650    /*--------------------------------.
2651    | Print this symbol on YYOUTPUT.  |
2652    `--------------------------------*/
2653    
2654    /*ARGSUSED*/
2655    #if (defined __STDC__ || defined __C99__FUNC__ \
2656         || defined __cplusplus || defined _MSC_VER)
2657    static void
2658    yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2659    #else
2660    static void
2661    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2662        FILE *yyoutput;
2663        int yytype;
2664        YYSTYPE const * const yyvaluep;
2665    #endif
2666    {
2667      if (!yyvaluep)
2668        return;
2669    # ifdef YYPRINT
2670      if (yytype < YYNTOKENS)
2671        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2672    # else
2673      YYUSE (yyoutput);
2674    # endif
2675      switch (yytype)
2676        {
2677          default:
2678            break;
2679        }
2680    }
2681    
2682    
2683    /*--------------------------------.
2684    | Print this symbol on YYOUTPUT.  |
2685    `--------------------------------*/
2686    
2687    #if (defined __STDC__ || defined __C99__FUNC__ \
2688         || defined __cplusplus || defined _MSC_VER)
2689    static void
2690    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2691    #else
2692    static void
2693    yy_symbol_print (yyoutput, yytype, yyvaluep)
2694        FILE *yyoutput;
2695        int yytype;
2696        YYSTYPE const * const yyvaluep;
2697    #endif
2698    {
2699      if (yytype < YYNTOKENS)
2700        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2701      else
2702        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2703    
2704      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2705      YYFPRINTF (yyoutput, ")");
2706    }
2707    
2708  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2709  | yy_stack_print -- Print the state stack from its BOTTOM up to its |  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2710  | TOP (included).                                                   |  | TOP (included).                                                   |
2711  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2712    
2713  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2714         || defined __cplusplus || defined _MSC_VER)
2715  static void  static void
2716  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2717  #else  #else
2718  static void  static void
2719  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2720      short int *bottom;      yytype_int16 *bottom;
2721      short int *top;      yytype_int16 *top;
2722  #endif  #endif
2723  {  {
2724    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2725    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2726      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2727    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2728  }  }
# Line 2200  yy_stack_print (bottom, top) Line 2731  yy_stack_print (bottom, top)
2731  do {                                                            \  do {                                                            \
2732    if (yydebug)                                                  \    if (yydebug)                                                  \
2733      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2734  } while (0)  } while (YYID (0))
2735    
2736    
2737  /*------------------------------------------------.  /*------------------------------------------------.
2738  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2739  `------------------------------------------------*/  `------------------------------------------------*/
2740    
2741  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2742         || defined __cplusplus || defined _MSC_VER)
2743  static void  static void
2744  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2745  #else  #else
2746  static void  static void
2747  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2748        YYSTYPE *yyvsp;
2749      int yyrule;      int yyrule;
2750  #endif  #endif
2751  {  {
2752      int yynrhs = yyr2[yyrule];
2753    int yyi;    int yyi;
2754    unsigned long int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2755    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2756               yyrule - 1, yylno);               yyrule - 1, yylno);
2757    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2758    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2759      YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);      {
2760    YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2761          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2762                           &(yyvsp[(yyi + 1) - (yynrhs)])
2763                                           );
2764          fprintf (stderr, "\n");
2765        }
2766  }  }
2767    
2768  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2769  do {                                    \  do {                                    \
2770    if (yydebug)                          \    if (yydebug)                          \
2771      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2772  } while (0)  } while (YYID (0))
2773    
2774  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2775     multiple parsers can coexist.  */     multiple parsers can coexist.  */
# Line 2264  int yydebug; Line 2803  int yydebug;
2803  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2804    
2805  # ifndef yystrlen  # ifndef yystrlen
2806  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2807  #   define yystrlen strlen  #   define yystrlen strlen
2808  #  else  #  else
2809  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2810    #if (defined __STDC__ || defined __C99__FUNC__ \
2811         || defined __cplusplus || defined _MSC_VER)
2812  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2813  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2814  #   else  #else
2815    static YYSIZE_T
2816  yystrlen (yystr)  yystrlen (yystr)
2817       const char *yystr;      const char *yystr;
2818  #   endif  #endif
2819  {  {
2820    const char *yys = yystr;    YYSIZE_T yylen;
2821      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2822      continue;      continue;
2823      return yylen;
   return yys - yystr - 1;  
2824  }  }
2825  #  endif  #  endif
2826  # endif  # endif
2827    
2828  # ifndef yystpcpy  # ifndef yystpcpy
2829  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2830  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2831  #  else  #  else
2832  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2833     YYDEST.  */     YYDEST.  */
2834    #if (defined __STDC__ || defined __C99__FUNC__ \
2835         || defined __cplusplus || defined _MSC_VER)
2836  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2837  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2838  #   else  #else
2839    static char *
2840  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2841       char *yydest;      char *yydest;
2842       const char *yysrc;      const char *yysrc;
2843  #   endif  #endif
2844  {  {
2845    char *yyd = yydest;    char *yyd = yydest;
2846    const char *yys = yysrc;    const char *yys = yysrc;
# Line 2325  yytnamerr (char *yyres, const char *yyst Line 2866  yytnamerr (char *yyres, const char *yyst
2866  {  {
2867    if (*yystr == '"')    if (*yystr == '"')
2868      {      {
2869        size_t yyn = 0;        YYSIZE_T yyn = 0;
2870        char const *yyp = yystr;        char const *yyp = yystr;
2871    
2872        for (;;)        for (;;)
# Line 2360  yytnamerr (char *yyres, const char *yyst Line 2901  yytnamerr (char *yyres, const char *yyst
2901  }  }
2902  # endif  # endif
2903    
2904  #endif /* YYERROR_VERBOSE */  /* Copy into YYRESULT an error message about the unexpected token
2905       YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2906       including the terminating null byte.  If YYRESULT is null, do not
2907       copy anything; just return the number of bytes that would be
2908       copied.  As a special case, return 0 if an ordinary "syntax error"
2909       message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2910       size calculation.  */
2911    static YYSIZE_T
2912    yysyntax_error (char *yyresult, int yystate, int yychar)
2913    {
2914      int yyn = yypact[yystate];
2915    
2916      if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2917        return 0;
2918      else
2919        {
2920          int yytype = YYTRANSLATE (yychar);
2921          YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2922          YYSIZE_T yysize = yysize0;
2923          YYSIZE_T yysize1;
2924          int yysize_overflow = 0;
2925          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2926          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2927          int yyx;
2928    
2929    # if 0
2930          /* This is so xgettext sees the translatable formats that are
2931             constructed on the fly.  */
2932          YY_("syntax error, unexpected %s");
2933          YY_("syntax error, unexpected %s, expecting %s");
2934          YY_("syntax error, unexpected %s, expecting %s or %s");
2935          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2936          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2937    # endif
2938          char *yyfmt;
2939          char const *yyf;
2940          static char const yyunexpected[] = "syntax error, unexpected %s";
2941          static char const yyexpecting[] = ", expecting %s";
2942          static char const yyor[] = " or %s";
2943          char yyformat[sizeof yyunexpected
2944                        + sizeof yyexpecting - 1
2945                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2946                           * (sizeof yyor - 1))];
2947          char const *yyprefix = yyexpecting;
2948    
2949          /* Start YYX at -YYN if negative to avoid negative indexes in
2950             YYCHECK.  */
2951          int yyxbegin = yyn < 0 ? -yyn : 0;
2952    
2953          /* Stay within bounds of both yycheck and yytname.  */
2954          int yychecklim = YYLAST - yyn + 1;
2955          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2956          int yycount = 1;
2957    
2958  #if YYDEBUG        yyarg[0] = yytname[yytype];
2959  /*--------------------------------.        yyfmt = yystpcpy (yyformat, yyunexpected);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2960    
2961  #if defined (__STDC__) || defined (__cplusplus)        for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2962  static void          if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2963  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)            {
2964  #else              if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2965  static void                {
2966  yysymprint (yyoutput, yytype, yyvaluep)                  yycount = 1;
2967      FILE *yyoutput;                  yysize = yysize0;
2968      int yytype;                  yyformat[sizeof yyunexpected - 1] = '\0';
2969      YYSTYPE *yyvaluep;                  break;
2970  #endif                }
2971  {              yyarg[yycount++] = yytname[yyx];
2972    /* Pacify ``unused variable'' warnings.  */              yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2973    (void) yyvaluep;              yysize_overflow |= (yysize1 < yysize);
2974                yysize = yysize1;
2975                yyfmt = yystpcpy (yyfmt, yyprefix);
2976                yyprefix = yyor;
2977              }
2978    
2979    if (yytype < YYNTOKENS)        yyf = YY_(yyformat);
2980      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        yysize1 = yysize + yystrlen (yyf);
2981    else        yysize_overflow |= (yysize1 < yysize);
2982      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        yysize = yysize1;
2983    
2984          if (yysize_overflow)
2985            return YYSIZE_MAXIMUM;
2986    
2987  # ifdef YYPRINT        if (yyresult)
2988    if (yytype < YYNTOKENS)          {
2989      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);            /* Avoid sprintf, as that infringes on the user's name space.
2990  # endif               Don't have undefined behavior even if the translation
2991    switch (yytype)               produced a string with the wrong number of "%s"s.  */
2992      {            char *yyp = yyresult;
2993        default:            int yyi = 0;
2994          break;            while ((*yyp = *yyf) != '\0')
2995                {
2996                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2997                    {
2998                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2999                      yyf += 2;
3000                    }
3001                  else
3002                    {
3003                      yyp++;
3004                      yyf++;
3005                    }
3006                }
3007            }
3008          return yysize;
3009      }      }
   YYFPRINTF (yyoutput, ")");  
3010  }  }
3011    #endif /* YYERROR_VERBOSE */
3012    
3013    
 #endif /* ! YYDEBUG */  
3014  /*-----------------------------------------------.  /*-----------------------------------------------.
3015  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3016  `-----------------------------------------------*/  `-----------------------------------------------*/
3017    
3018  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3019    #if (defined __STDC__ || defined __C99__FUNC__ \
3020         || defined __cplusplus || defined _MSC_VER)
3021  static void  static void
3022  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3023  #else  #else
# Line 2417  yydestruct (yymsg, yytype, yyvaluep) Line 3028  yydestruct (yymsg, yytype, yyvaluep)
3028      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3029  #endif  #endif
3030  {  {
3031    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
   (void) yyvaluep;  
3032    
3033    if (!yymsg)    if (!yymsg)
3034      yymsg = "Deleting";      yymsg = "Deleting";
# Line 2428  yydestruct (yymsg, yytype, yyvaluep) Line 3038  yydestruct (yymsg, yytype, yyvaluep)
3038      {      {
3039    
3040        default:        default:
3041          break;          break;
3042      }      }
3043  }  }
3044    
# Line 2436  yydestruct (yymsg, yytype, yyvaluep) Line 3046  yydestruct (yymsg, yytype, yyvaluep)
3046  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3047    
3048  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3049  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3050  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3051  # else  #else
3052  int yyparse ();  int yyparse ();
3053  # endif  #endif
3054  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3055  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3056  int yyparse (void);  int yyparse (void);
3057  #else  #else
3058  int yyparse ();  int yyparse ();
# Line 2459  int yyparse (); Line 3069  int yyparse ();
3069  `----------*/  `----------*/
3070    
3071  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3072  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3073  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3074  # else  int
3075  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3076    void *YYPARSE_PARAM;  #else
3077  # endif  int
3078    yyparse (YYPARSE_PARAM)
3079        void *YYPARSE_PARAM;
3080    #endif
3081  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3082  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3083         || defined __cplusplus || defined _MSC_VER)
3084  int  int
3085  yyparse (void)  yyparse (void)
3086  #else  #else
3087  int  int
3088  yyparse ()  yyparse ()
3089      ;  
3090  #endif  #endif
3091  #endif  #endif
3092  {  {
# Line 2492  int yynerrs; Line 3106  int yynerrs;
3106    int yyerrstatus;    int yyerrstatus;
3107    /* Look-ahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3108    int yytoken = 0;    int yytoken = 0;
3109    #if YYERROR_VERBOSE
3110      /* Buffer for error messages, and its allocated size.  */
3111      char yymsgbuf[128];
3112      char *yymsg = yymsgbuf;
3113      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3114    #endif
3115    
3116    /* Three stacks and their tools:    /* Three stacks and their tools:
3117       `yyss': related to states,       `yyss': related to states,
# Line 2502  int yynerrs; Line 3122  int yynerrs;
3122       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3123    
3124    /* The state stack.  */    /* The state stack.  */
3125    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3126    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3127    short int *yyssp;    yytype_int16 *yyssp;
3128    
3129    /* The semantic value stack.  */    /* The semantic value stack.  */
3130    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
# Line 2513  int yynerrs; Line 3133  int yynerrs;
3133    
3134    
3135    
3136  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3137    
3138    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3139    
# Line 2522  int yynerrs; Line 3142  int yynerrs;
3142    YYSTYPE yyval;    YYSTYPE yyval;
3143    
3144    
3145    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3146       rule.  */       Keep to zero when no symbol should be popped.  */
3147    int yylen;    int yylen = 0;
3148    
3149    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3150    
# Line 2548  int yynerrs; Line 3168  int yynerrs;
3168  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3169   yynewstate:   yynewstate:
3170    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3171       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3172    yyssp++;    yyssp++;
3173    
3174   yysetstate:   yysetstate:
# Line 2562  int yynerrs; Line 3181  int yynerrs;
3181    
3182  #ifdef yyoverflow  #ifdef yyoverflow
3183        {        {
3184          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3185             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3186             memory.  */             memory.  */
3187          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3188          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3189    
3190    
3191          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
# Line 2594  int yynerrs; Line 3213  int yynerrs;
3213          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3214    
3215        {        {
3216          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3217          union yyalloc *yyptr =          union yyalloc *yyptr =
3218            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3219          if (! yyptr)          if (! yyptr)
# Line 2629  int yynerrs; Line 3248  int yynerrs;
3248  `-----------*/  `-----------*/
3249  yybackup:  yybackup:
3250    
3251  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3252  /* Read a look-ahead token if we need one and don't already have one.  */       look-ahead token if we need one and don't already have one.  */
 /* yyresume: */  
3253    
3254    /* First try to decide what to do without reference to look-ahead token.  */    /* First try to decide what to do without reference to look-ahead token.  */
   
3255    yyn = yypact[yystate];    yyn = yypact[yystate];
3256    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3257      goto yydefault;      goto yydefault;
# Line 2676  yybackup: Line 3293  yybackup:
3293    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3294      YYACCEPT;      YYACCEPT;
3295    
3296      /* Count tokens shifted since error; after three, turn off error
3297         status.  */
3298      if (yyerrstatus)
3299        yyerrstatus--;
3300    
3301    /* Shift the look-ahead token.  */    /* Shift the look-ahead token.  */
3302    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3303    
3304    /* Discard the token being shifted unless it is eof.  */    /* Discard the shifted token unless it is eof.  */
3305    if (yychar != YYEOF)    if (yychar != YYEOF)
3306      yychar = YYEMPTY;      yychar = YYEMPTY;
3307    
3308      yystate = yyn;
3309    *++yyvsp = yylval;    *++yyvsp = yylval;
3310    
   
   /* Count tokens shifted since error; after three, turn off error  
      status.  */  
   if (yyerrstatus)  
     yyerrstatus--;  
   
   yystate = yyn;  
3311    goto yynewstate;    goto yynewstate;
3312    
3313    
# Line 2727  yyreduce: Line 3343  yyreduce:
3343    switch (yyn)    switch (yyn)
3344      {      {
3345          case 4:          case 4:
3346  #line 94 "lscp.y"  #line 100 "lscp.y"
3347      { return LSCP_DONE; }      { return LSCP_DONE; }
3348      break;      break;
3349    
3350    case 5:    case 5:
3351  #line 95 "lscp.y"  #line 101 "lscp.y"
3352      { return LSCP_DONE; }      { return LSCP_DONE; }
3353      break;      break;
3354    
3355    case 6:    case 6:
3356  #line 96 "lscp.y"  #line 102 "lscp.y"
3357      { LSCPSERVER->AnswerClient((yyvsp[0].String)); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3358      break;      break;
3359    
3360    case 7:    case 7:
3361  #line 97 "lscp.y"  #line 103 "lscp.y"
3362      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3363      break;      break;
3364    
3365    case 13:    case 13:
3366  #line 107 "lscp.y"  #line 113 "lscp.y"
3367      { (yyval.String) = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3368      break;      break;
3369    
3370    case 14:    case 14:
3371  #line 108 "lscp.y"  #line 114 "lscp.y"
3372      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3373      break;      break;
3374    
3375    case 15:    case 15:
3376  #line 109 "lscp.y"  #line 115 "lscp.y"
3377      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3378      break;      break;
3379    
3380    case 16:    case 16:
3381  #line 110 "lscp.y"  #line 116 "lscp.y"
3382      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3383      break;      break;
3384    
3385    case 17:    case 17:
3386  #line 111 "lscp.y"  #line 117 "lscp.y"
3387      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3388      break;      break;
3389    
3390    case 18:    case 18:
3391  #line 112 "lscp.y"  #line 118 "lscp.y"
3392      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3393      break;      break;
3394    
3395    case 19:    case 19:
3396  #line 113 "lscp.y"  #line 119 "lscp.y"
3397      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[0].Number));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3398      break;      break;
3399    
3400    case 20:    case 20:
3401  #line 114 "lscp.y"  #line 120 "lscp.y"
3402      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3403      break;      break;
3404    
3405    case 21:    case 21:
3406  #line 115 "lscp.y"  #line 121 "lscp.y"
3407      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3408      break;      break;
3409    
3410    case 22:    case 22:
3411  #line 116 "lscp.y"  #line 122 "lscp.y"
3412      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3413      break;      break;
3414    
3415    case 23:    case 23:
3416  #line 117 "lscp.y"  #line 123 "lscp.y"
3417      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[0].String));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3418      break;      break;
3419    
3420    case 24:    case 24:
3421  #line 118 "lscp.y"  #line 124 "lscp.y"
3422      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[0].Number));                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3423      break;      break;
3424    
3425    case 25:    case 25:
3426  #line 119 "lscp.y"  #line 125 "lscp.y"
3427      { (yyval.String) = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3428      break;      break;
3429    
3430    case 26:    case 26:
3431  #line 120 "lscp.y"  #line 126 "lscp.y"
3432      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3433      break;      break;
3434    
3435    case 27:    case 27:
3436  #line 123 "lscp.y"  #line 127 "lscp.y"
3437      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3438      break;      break;
3439    
3440    case 28:    case 28:
3441  #line 124 "lscp.y"  #line 128 "lscp.y"
3442      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3443      break;      break;
3444    
3445    case 29:    case 29:
3446  #line 125 "lscp.y"  #line 129 "lscp.y"
3447      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3448      break;      break;
3449    
3450    case 30:    case 30:
3451  #line 126 "lscp.y"  #line 132 "lscp.y"
3452      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3453      break;      break;
3454    
3455    case 31:    case 31:
3456  #line 127 "lscp.y"  #line 133 "lscp.y"
3457      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3458      break;      break;
3459    
3460    case 32:    case 32:
3461  #line 128 "lscp.y"  #line 134 "lscp.y"
3462      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3463      break;      break;
3464    
3465    case 33:    case 33:
3466  #line 129 "lscp.y"  #line 137 "lscp.y"
3467      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3468      break;      break;
3469    
3470    case 34:    case 34:
3471  #line 132 "lscp.y"  #line 138 "lscp.y"
3472      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3473      break;      break;
3474    
3475    case 35:    case 35:
3476  #line 133 "lscp.y"  #line 139 "lscp.y"
3477      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3478      break;      break;
3479    
3480    case 36:    case 36:
3481  #line 134 "lscp.y"  #line 140 "lscp.y"
3482      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3483      break;      break;
3484    
3485    case 37:    case 37:
3486  #line 135 "lscp.y"  #line 141 "lscp.y"
3487      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3488      break;      break;
3489    
3490    case 38:    case 38:
3491  #line 136 "lscp.y"  #line 142 "lscp.y"
3492      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3493      break;      break;
3494    
3495    case 39:    case 39:
3496  #line 137 "lscp.y"  #line 143 "lscp.y"
3497      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3498      break;      break;
3499    
3500    case 40:    case 40:
3501  #line 138 "lscp.y"  #line 144 "lscp.y"
3502      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3503      break;      break;
3504    
3505    case 41:    case 41:
3506  #line 141 "lscp.y"  #line 145 "lscp.y"
3507      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3508      break;      break;
3509    
3510    case 42:    case 42:
3511  #line 142 "lscp.y"  #line 146 "lscp.y"
3512      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3513      break;      break;
3514    
3515    case 43:    case 43:
3516  #line 143 "lscp.y"  #line 147 "lscp.y"
3517      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[0].String));                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3518      break;      break;
3519    
3520    case 44:    case 44:
3521  #line 144 "lscp.y"  #line 148 "lscp.y"
3522      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3523      break;      break;
3524    
3525    case 45:    case 45:
3526  #line 145 "lscp.y"  #line 149 "lscp.y"
3527      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3528      break;      break;
3529    
3530    case 46:    case 46:
3531  #line 146 "lscp.y"  #line 150 "lscp.y"
3532      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3533      break;      break;
3534    
3535    case 47:    case 47:
3536  #line 147 "lscp.y"  #line 151 "lscp.y"
3537      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[0].String));                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3538      break;      break;
3539    
3540    case 48:    case 48:
3541  #line 148 "lscp.y"  #line 154 "lscp.y"
3542      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3543      break;      break;
3544    
3545    case 49:    case 49:
3546  #line 149 "lscp.y"  #line 155 "lscp.y"
3547      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3548      break;      break;
3549    
3550    case 50:    case 50:
3551  #line 150 "lscp.y"  #line 156 "lscp.y"
3552      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3553      break;      break;
3554    
3555    case 51:    case 51:
3556  #line 151 "lscp.y"  #line 157 "lscp.y"
3557      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3558      break;      break;
3559    
3560    case 52:    case 52:
3561  #line 152 "lscp.y"  #line 158 "lscp.y"
3562      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3563      break;      break;
3564    
3565    case 53:    case 53:
3566  #line 153 "lscp.y"  #line 159 "lscp.y"
3567      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[0].Number));                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3568      break;      break;
3569    
3570    case 54:    case 54:
3571  #line 154 "lscp.y"  #line 160 "lscp.y"
3572      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[-2].Number), (yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3573      break;      break;
3574    
3575    case 55:    case 55:
3576  #line 155 "lscp.y"  #line 161 "lscp.y"
3577      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3578      break;      break;
3579    
3580    case 56:    case 56:
3581  #line 156 "lscp.y"  #line 162 "lscp.y"
3582      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[-2].Number), (yyvsp[0].Number));              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3583      break;      break;
3584    
3585    case 57:    case 57:
3586  #line 157 "lscp.y"  #line 163 "lscp.y"
3587      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3588      break;      break;
3589    
3590    case 58:    case 58:
3591  #line 158 "lscp.y"  #line 164 "lscp.y"
3592      { (yyval.String) = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3593      break;      break;
3594    
3595    case 59:    case 59:
3596  #line 159 "lscp.y"  #line 165 "lscp.y"
3597      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3598      break;      break;
3599    
3600    case 60:    case 60:
3601  #line 160 "lscp.y"  #line 166 "lscp.y"
3602      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[-2].FillResponse), (yyvsp[0].Number));                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3603      break;      break;
3604    
3605    case 61:    case 61:
3606  #line 161 "lscp.y"  #line 167 "lscp.y"
3607      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3608      break;      break;
3609    
3610    case 62:    case 62:
3611  #line 162 "lscp.y"  #line 168 "lscp.y"
3612      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[0].Number));                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3613      break;      break;
3614    
3615    case 63:    case 63:
3616  #line 163 "lscp.y"  #line 171 "lscp.y"
3617      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[0].String));                              }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }
3618      break;      break;
3619    
3620    case 64:    case 64:
3621  #line 164 "lscp.y"  #line 172 "lscp.y"
3622      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }
3623      break;      break;
3624    
3625    case 65:    case 65:
3626  #line 165 "lscp.y"  #line 173 "lscp.y"
3627      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }
3628      break;      break;
3629    
3630    case 66:    case 66:
3631  #line 166 "lscp.y"  #line 174 "lscp.y"
3632      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }
3633      break;      break;
3634    
3635    case 67:    case 67:
3636  #line 169 "lscp.y"  #line 177 "lscp.y"
3637      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3638      break;      break;
3639    
3640    case 68:    case 68:
3641  #line 170 "lscp.y"  #line 180 "lscp.y"
3642      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3643      break;      break;
3644    
3645    case 69:    case 69:
3646  #line 171 "lscp.y"  #line 181 "lscp.y"
3647      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3648      break;      break;
3649    
3650    case 70:    case 70:
3651  #line 172 "lscp.y"  #line 182 "lscp.y"
3652      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3653      break;      break;
3654    
3655    case 71:    case 71:
3656  #line 173 "lscp.y"  #line 185 "lscp.y"
3657      { (yyval.String) = (yyvsp[0].String);                                                         }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3658      break;      break;
3659    
3660    case 72:    case 72:
3661  #line 174 "lscp.y"  #line 186 "lscp.y"
3662      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[0].Dotnum));  }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3663      break;      break;
3664    
3665    case 73:    case 73:
3666  #line 177 "lscp.y"  #line 187 "lscp.y"
3667      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList)); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3668      break;      break;
3669    
3670    case 74:    case 74:
3671  #line 178 "lscp.y"  #line 188 "lscp.y"
3672      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[0].String));    }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3673      break;      break;
3674    
3675    case 75:    case 75:
3676  #line 179 "lscp.y"  #line 189 "lscp.y"
3677      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList));   }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3678      break;      break;
3679    
3680    case 76:    case 76:
3681  #line 180 "lscp.y"  #line 190 "lscp.y"
3682      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3683      break;      break;
3684    
3685    case 77:    case 77:
3686  #line 183 "lscp.y"  #line 191 "lscp.y"
3687      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3688      break;      break;
3689    
3690    case 78:    case 78:
3691  #line 184 "lscp.y"  #line 192 "lscp.y"
3692      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[0].Number));   }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3693      break;      break;
3694    
3695    case 79:    case 79:
3696  #line 187 "lscp.y"  #line 193 "lscp.y"
3697      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3698      break;      break;
3699    
3700    case 80:    case 80:
3701  #line 188 "lscp.y"  #line 194 "lscp.y"
3702      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3703      break;      break;
3704    
3705    case 81:    case 81:
3706  #line 191 "lscp.y"  #line 195 "lscp.y"
3707      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[0].Number), (yyvsp[-2].Number));      }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3708      break;      break;
3709    
3710    case 82:    case 82:
3711  #line 192 "lscp.y"  #line 196 "lscp.y"
3712      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-4].Number)); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3713      break;      break;
3714    
3715    case 83:    case 83:
3716  #line 193 "lscp.y"  #line 197 "lscp.y"
3717      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[0].String), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3718      break;      break;
3719    
3720    case 84:    case 84:
3721  #line 194 "lscp.y"  #line 198 "lscp.y"
3722      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-6].Number));      }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3723      break;      break;
3724    
3725    case 85:    case 85:
3726  #line 195 "lscp.y"  #line 199 "lscp.y"
3727      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[0].Number), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3728      break;      break;
3729    
3730    case 86:    case 86:
3731  #line 196 "lscp.y"  #line 200 "lscp.y"
3732      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[0].Number), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3733      break;      break;
3734    
3735    case 87:    case 87:
3736  #line 197 "lscp.y"  #line 201 "lscp.y"
3737      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[0].Number), (yyvsp[-2].Number));       }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3738      break;      break;
3739    
3740    case 88:    case 88:
3741  #line 198 "lscp.y"  #line 202 "lscp.y"
3742      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[0].String), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3743      break;      break;
3744    
3745    case 89:    case 89:
3746  #line 199 "lscp.y"  #line 203 "lscp.y"
3747      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[0].Dotnum), (yyvsp[-2].Number));                 }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3748      break;      break;
3749    
3750    case 90:    case 90:
3751  #line 200 "lscp.y"  #line 204 "lscp.y"
3752      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3753      break;      break;
3754    
3755    case 91:    case 91:
3756  #line 201 "lscp.y"  #line 205 "lscp.y"
3757      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3758      break;      break;
3759    
3760    case 92:    case 92:
3761  #line 204 "lscp.y"  #line 206 "lscp.y"
3762      { (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String);          }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3763      break;      break;
3764    
3765    case 93:    case 93:
3766  #line 205 "lscp.y"  #line 207 "lscp.y"
3767      { (yyval.KeyValList) = (yyvsp[-4].KeyValList); (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3768      break;      break;
3769    
3770    case 94:    case 94:
3771  #line 208 "lscp.y"  #line 208 "lscp.y"
3772      { (yyval.FillResponse) = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3773      break;      break;
3774    
3775    case 95:    case 95:
3776  #line 209 "lscp.y"  #line 209 "lscp.y"
3777      { (yyval.FillResponse) = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3778      break;      break;
3779    
3780    case 96:    case 96:
3781  #line 212 "lscp.y"  #line 210 "lscp.y"
3782      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3783      break;      break;
3784    
3785    case 97:    case 97:
3786  #line 213 "lscp.y"  #line 211 "lscp.y"
3787      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3788      break;      break;
3789    
3790    case 98:    case 98:
3791  #line 214 "lscp.y"  #line 212 "lscp.y"
3792      { (yyval.String) = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3793      break;      break;
3794    
3795    case 99:    case 99:
3796  #line 215 "lscp.y"  #line 213 "lscp.y"
3797      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3798      break;      break;
3799    
3800    case 100:    case 100:
3801  #line 216 "lscp.y"  #line 214 "lscp.y"
3802      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3803      break;      break;
3804    
3805    case 101:    case 101:
3806  #line 217 "lscp.y"  #line 215 "lscp.y"
3807      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3808      break;      break;
3809    
3810    case 102:    case 102:
3811  #line 220 "lscp.y"  #line 216 "lscp.y"
3812      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number));       }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3813      break;      break;
3814    
3815    case 103:    case 103:
3816  #line 221 "lscp.y"  #line 217 "lscp.y"
3817      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number), true); }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3818      break;      break;
3819    
3820    case 104:    case 104:
3821    #line 218 "lscp.y"
3822        { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
3823        break;
3824    
3825      case 105:
3826    #line 221 "lscp.y"
3827        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3828        break;
3829    
3830      case 106:
3831    #line 222 "lscp.y"
3832        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3833        break;
3834    
3835      case 107:
3836    #line 223 "lscp.y"
3837        { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3838        break;
3839    
3840      case 108:
3841  #line 224 "lscp.y"  #line 224 "lscp.y"
3842      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[-2].String), (yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3843        break;
3844    
3845      case 109:
3846    #line 225 "lscp.y"
3847        { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3848      break;      break;
3849    
3850    case 110:    case 110:
3851  #line 240 "lscp.y"  #line 226 "lscp.y"
3852      { (yyval.Number) = 16; }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3853        break;
3854    
3855      case 111:
3856    #line 227 "lscp.y"
3857        { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3858        break;
3859    
3860      case 112:
3861    #line 228 "lscp.y"
3862        { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
3863      break;      break;
3864    
3865    case 113:    case 113:
3866  #line 247 "lscp.y"  #line 229 "lscp.y"
3867      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3868        break;
3869    
3870      case 114:
3871    #line 230 "lscp.y"
3872        { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3873        break;
3874    
3875      case 115:
3876    #line 231 "lscp.y"
3877        { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3878        break;
3879    
3880      case 116:
3881    #line 234 "lscp.y"
3882        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3883        break;
3884    
3885      case 117:
3886    #line 235 "lscp.y"
3887        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3888        break;
3889    
3890      case 118:
3891    #line 236 "lscp.y"
3892        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3893      break;      break;
3894    
3895    case 119:    case 119:
3896  #line 263 "lscp.y"  #line 237 "lscp.y"
3897      { (yyval.String) = (yyvsp[-2].String) + "," + (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3898        break;
3899    
3900      case 120:
3901    #line 238 "lscp.y"
3902        { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3903        break;
3904    
3905      case 121:
3906    #line 239 "lscp.y"
3907        { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
3908      break;      break;
3909    
3910    case 122:    case 122:
3911  #line 268 "lscp.y"  #line 242 "lscp.y"
3912      { std::stringstream ss; ss << "\'" << (yyvsp[0].Number) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3913      break;      break;
3914    
3915    case 123:    case 123:
3916  #line 269 "lscp.y"  #line 245 "lscp.y"
3917      { std::stringstream ss; ss << "\'" << (yyvsp[0].Dotnum) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3918      break;      break;
3919    
3920    case 124:    case 124:
3921  #line 277 "lscp.y"  #line 246 "lscp.y"
3922      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3923      break;      break;
3924    
3925    case 125:    case 125:
3926  #line 278 "lscp.y"  #line 249 "lscp.y"
3927      { (yyval.Dotnum) = -1; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3928      break;      break;
3929    
3930    case 126:    case 126:
3931  #line 281 "lscp.y"  #line 250 "lscp.y"
3932      { std::string s; s = (yyvsp[0].Char); (yyval.String) = s; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3933      break;      break;
3934    
3935    case 127:    case 127:
3936  #line 282 "lscp.y"  #line 251 "lscp.y"
3937      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char);                  }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3938      break;      break;
3939    
3940    case 128:    case 128:
3941  #line 285 "lscp.y"  #line 254 "lscp.y"
3942      { (yyval.Dotnum) = atof(String((yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                         }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3943      break;      break;
3944    
3945    case 129:    case 129:
3946  #line 286 "lscp.y"  #line 255 "lscp.y"
3947      { String s = "+"; s += (yyvsp[-2].String); s += "."; s += (yyvsp[0].String); (yyval.Dotnum) = atof(s.c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3948      break;      break;
3949    
3950    case 130:    case 130:
3951  #line 287 "lscp.y"  #line 258 "lscp.y"
3952      { (yyval.Dotnum) = atof(String("-" + (yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                   }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3953      break;      break;
3954    
3955    case 131:    case 131:
3956  #line 291 "lscp.y"  #line 259 "lscp.y"
3957      { (yyval.String) = (yyvsp[0].Char);      }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3958      break;      break;
3959    
3960    case 132:    case 132:
3961  #line 292 "lscp.y"  #line 260 "lscp.y"
3962      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char); }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3963      break;      break;
3964    
3965    case 133:    case 133:
3966  #line 295 "lscp.y"  #line 261 "lscp.y"
3967      { (yyval.Char) = '0'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3968      break;      break;
3969    
3970    case 134:    case 134:
3971  #line 296 "lscp.y"  #line 262 "lscp.y"
3972      { (yyval.Char) = '1'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3973      break;      break;
3974    
3975    case 135:    case 135:
3976  #line 297 "lscp.y"  #line 263 "lscp.y"
3977      { (yyval.Char) = '2'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3978      break;      break;
3979    
3980    case 136:    case 136:
3981  #line 298 "lscp.y"  #line 264 "lscp.y"
3982      { (yyval.Char) = '3'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3983      break;      break;
3984    
3985    case 137:    case 137:
3986  #line 299 "lscp.y"  #line 265 "lscp.y"
3987      { (yyval.Char) = '4'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3988      break;      break;
3989    
3990    case 138:    case 138:
3991  #line 300 "lscp.y"  #line 266 "lscp.y"
3992      { (yyval.Char) = '5'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3993      break;      break;
3994    
3995    case 139:    case 139:
3996  #line 301 "lscp.y"  #line 267 "lscp.y"
3997      { (yyval.Char) = '6'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3998      break;      break;
3999    
4000    case 140:    case 140:
4001  #line 302 "lscp.y"  #line 268 "lscp.y"
4002      { (yyval.Char) = '7'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4003      break;      break;
4004    
4005    case 141:    case 141:
4006  #line 303 "lscp.y"  #line 269 "lscp.y"
4007      { (yyval.Char) = '8'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4008      break;      break;
4009    
4010    case 142:    case 142:
4011  #line 304 "lscp.y"  #line 270 "lscp.y"
4012      { (yyval.Char) = '9'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4013      break;      break;
4014    
4015    case 143:    case 143:
4016  #line 307 "lscp.y"  #line 271 "lscp.y"
4017      { (yyval.Number) = atoi(String(1, (yyvsp[0].Char)).c_str());      }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4018      break;      break;
4019    
4020    case 144:    case 144:
4021  #line 308 "lscp.y"  #line 274 "lscp.y"
4022      { (yyval.Number) = atoi(String(String("1") + (yyvsp[0].String)).c_str()); }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4023      break;      break;
4024    
4025    case 145:    case 145:
4026  #line 309 "lscp.y"  #line 275 "lscp.y"
4027      { (yyval.Number) = atoi(String(String("2") + (yyvsp[0].String)).c_str()); }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4028      break;      break;
4029    
4030    case 146:    case 146:
4031  #line 310 "lscp.y"  #line 278 "lscp.y"
4032      { (yyval.Number) = atoi(String(String("3") + (yyvsp[0].String)).c_str()); }      { (yyval.FillResponse) = fill_response_bytes;      }
4033      break;      break;
4034    
4035    case 147:    case 147:
4036  #line 311 "lscp.y"  #line 279 "lscp.y"
4037      { (yyval.Number) = atoi(String(String("4") + (yyvsp[0].String)).c_str()); }      { (yyval.FillResponse) = fill_response_percentage; }
4038      break;      break;
4039    
4040    case 148:    case 148:
4041  #line 312 "lscp.y"  #line 282 "lscp.y"
4042      { (yyval.Number) = atoi(String(String("5") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4043      break;      break;
4044    
4045    case 149:    case 149:
4046  #line 313 "lscp.y"  #line 283 "lscp.y"
4047      { (yyval.Number) = atoi(String(String("6") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4048      break;      break;
4049    
4050    case 150:    case 150:
4051  #line 314 "lscp.y"  #line 284 "lscp.y"
4052      { (yyval.Number) = atoi(String(String("7") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4053      break;      break;
4054    
4055    case 151:    case 151:
4056  #line 315 "lscp.y"  #line 285 "lscp.y"
4057      { (yyval.Number) = atoi(String(String("8") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4058      break;      break;
4059    
4060    case 152:    case 152:
4061  #line 316 "lscp.y"  #line 286 "lscp.y"
4062      { (yyval.Number) = atoi(String(String("9") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4063      break;      break;
4064    
4065    case 153:    case 153:
4066  #line 318 "lscp.y"  #line 287 "lscp.y"
4067      { (yyval.Char) = 'A'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4068      break;      break;
4069    
4070    case 154:    case 154:
4071  #line 318 "lscp.y"  #line 288 "lscp.y"
4072      { (yyval.Char) = 'B'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4073      break;      break;
4074    
4075    case 155:    case 155:
4076  #line 318 "lscp.y"  #line 289 "lscp.y"
4077      { (yyval.Char) = 'C'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4078      break;      break;
4079    
4080    case 156:    case 156:
4081  #line 318 "lscp.y"  #line 290 "lscp.y"
4082      { (yyval.Char) = 'D'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4083      break;      break;
4084    
4085    case 157:    case 157:
4086  #line 318 "lscp.y"  #line 291 "lscp.y"
4087      { (yyval.Char) = 'E'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4088      break;      break;
4089    
4090    case 158:    case 158:
4091  #line 318 "lscp.y"  #line 294 "lscp.y"
4092      { (yyval.Char) = 'F'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4093      break;      break;
4094    
4095    case 159:    case 159:
4096  #line 318 "lscp.y"  #line 295 "lscp.y"
4097      { (yyval.Char) = 'G'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4098      break;      break;
4099    
4100    case 160:    case 160:
4101  #line 318 "lscp.y"  #line 298 "lscp.y"
4102      { (yyval.Char) = 'H'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4103      break;      break;
4104    
4105    case 161:    case 161:
4106  #line 318 "lscp.y"  #line 301 "lscp.y"
4107      { (yyval.Char) = 'I'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4108      break;      break;
4109    
4110    case 162:    case 162:
4111  #line 318 "lscp.y"  #line 302 "lscp.y"
4112      { (yyval.Char) = 'J'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4113      break;      break;
4114    
4115    case 163:    case 163:
4116  #line 318 "lscp.y"  #line 303 "lscp.y"
4117        { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
4118        break;
4119    
4120      case 169:
4121    #line 319 "lscp.y"
4122        { (yyval.Number) = 16; }
4123        break;
4124    
4125      case 176:
4126    #line 338 "lscp.y"
4127        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4128        break;
4129    
4130      case 186:
4131    #line 366 "lscp.y"
4132        { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4133        break;
4134    
4135      case 189:
4136    #line 371 "lscp.y"
4137        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4138        break;
4139    
4140      case 190:
4141    #line 372 "lscp.y"
4142        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4143        break;
4144    
4145      case 191:
4146    #line 380 "lscp.y"
4147        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4148        break;
4149    
4150      case 192:
4151    #line 381 "lscp.y"
4152        { (yyval.Dotnum) = -1; }
4153        break;
4154    
4155      case 193:
4156    #line 384 "lscp.y"
4157        { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4158        break;
4159    
4160      case 194:
4161    #line 385 "lscp.y"
4162        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4163        break;
4164    
4165      case 195:
4166    #line 388 "lscp.y"
4167        { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4168        break;
4169    
4170      case 196:
4171    #line 389 "lscp.y"
4172        { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4173        break;
4174    
4175      case 197:
4176    #line 390 "lscp.y"
4177        { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4178        break;
4179    
4180      case 198:
4181    #line 394 "lscp.y"
4182        { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4183        break;
4184    
4185      case 199:
4186    #line 395 "lscp.y"
4187        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4188        break;
4189    
4190      case 200:
4191    #line 398 "lscp.y"
4192        { (yyval.Char) = '0'; }
4193        break;
4194    
4195      case 201:
4196    #line 399 "lscp.y"
4197        { (yyval.Char) = '1'; }
4198        break;
4199    
4200      case 202:
4201    #line 400 "lscp.y"
4202        { (yyval.Char) = '2'; }
4203        break;
4204    
4205      case 203:
4206    #line 401 "lscp.y"
4207        { (yyval.Char) = '3'; }
4208        break;
4209    
4210      case 204:
4211    #line 402 "lscp.y"
4212        { (yyval.Char) = '4'; }
4213        break;
4214    
4215      case 205:
4216    #line 403 "lscp.y"
4217        { (yyval.Char) = '5'; }
4218        break;
4219    
4220      case 206:
4221    #line 404 "lscp.y"
4222        { (yyval.Char) = '6'; }
4223        break;
4224    
4225      case 207:
4226    #line 405 "lscp.y"
4227        { (yyval.Char) = '7'; }
4228        break;
4229    
4230      case 208:
4231    #line 406 "lscp.y"
4232        { (yyval.Char) = '8'; }
4233        break;
4234    
4235      case 209:
4236    #line 407 "lscp.y"
4237        { (yyval.Char) = '9'; }
4238        break;
4239    
4240      case 210:
4241    #line 410 "lscp.y"
4242        { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4243        break;
4244    
4245      case 211:
4246    #line 411 "lscp.y"
4247        { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4248        break;
4249    
4250      case 212:
4251    #line 412 "lscp.y"
4252        { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4253        break;
4254    
4255      case 213:
4256    #line 413 "lscp.y"
4257        { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4258        break;
4259    
4260      case 214:
4261    #line 414 "lscp.y"
4262        { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4263        break;
4264    
4265      case 215:
4266    #line 415 "lscp.y"
4267        { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4268        break;
4269    
4270      case 216:
4271    #line 416 "lscp.y"
4272        { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4273        break;
4274    
4275      case 217:
4276    #line 417 "lscp.y"
4277        { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4278        break;
4279    
4280      case 218:
4281    #line 418 "lscp.y"
4282        { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4283        break;
4284    
4285      case 219:
4286    #line 419 "lscp.y"
4287        { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4288        break;
4289    
4290      case 220:
4291    #line 421 "lscp.y"
4292        { (yyval.Char) = 'A'; }
4293        break;
4294    
4295      case 221:
4296    #line 421 "lscp.y"
4297        { (yyval.Char) = 'B'; }
4298        break;
4299    
4300      case 222:
4301    #line 421 "lscp.y"
4302        { (yyval.Char) = 'C'; }
4303        break;
4304    
4305      case 223:
4306    #line 421 "lscp.y"
4307        { (yyval.Char) = 'D'; }
4308        break;
4309    
4310      case 224:
4311    #line 421 "lscp.y"
4312        { (yyval.Char) = 'E'; }
4313        break;
4314    
4315      case 225:
4316    #line 421 "lscp.y"
4317        { (yyval.Char) = 'F'; }
4318        break;
4319    
4320      case 226:
4321    #line 421 "lscp.y"
4322        { (yyval.Char) = 'G'; }
4323        break;
4324    
4325      case 227:
4326    #line 421 "lscp.y"
4327        { (yyval.Char) = 'H'; }
4328        break;
4329    
4330      case 228:
4331    #line 421 "lscp.y"
4332        { (yyval.Char) = 'I'; }
4333        break;
4334    
4335      case 229:
4336    #line 421 "lscp.y"
4337        { (yyval.Char) = 'J'; }
4338        break;
4339    
4340      case 230:
4341    #line 421 "lscp.y"
4342      { (yyval.Char) = 'K'; }      { (yyval.Char) = 'K'; }
4343      break;      break;
4344    
4345    case 164:    case 231:
4346  #line 318 "lscp.y"  #line 421 "lscp.y"
4347      { (yyval.Char) = 'L'; }      { (yyval.Char) = 'L'; }
4348      break;      break;
4349    
4350    case 165:    case 232:
4351  #line 318 "lscp.y"  #line 421 "lscp.y"
4352      { (yyval.Char) = 'M'; }      { (yyval.Char) = 'M'; }
4353      break;      break;
4354    
4355    case 166:    case 233:
4356  #line 318 "lscp.y"  #line 421 "lscp.y"
4357      { (yyval.Char) = 'N'; }      { (yyval.Char) = 'N'; }
4358      break;      break;
4359    
4360    case 167:    case 234:
4361  #line 318 "lscp.y"  #line 421 "lscp.y"
4362      { (yyval.Char) = 'O'; }      { (yyval.Char) = 'O'; }
4363      break;      break;
4364    
4365    case 168:    case 235:
4366  #line 318 "lscp.y"  #line 421 "lscp.y"
4367      { (yyval.Char) = 'P'; }      { (yyval.Char) = 'P'; }
4368      break;      break;
4369    
4370    case 169:    case 236:
4371  #line 318 "lscp.y"  #line 421 "lscp.y"
4372      { (yyval.Char) = 'Q'; }      { (yyval.Char) = 'Q'; }
4373      break;      break;
4374    
4375    case 170:    case 237:
4376  #line 318 "lscp.y"  #line 421 "lscp.y"
4377      { (yyval.Char) = 'R'; }      { (yyval.Char) = 'R'; }
4378      break;      break;
4379    
4380    case 171:    case 238:
4381  #line 318 "lscp.y"  #line 421 "lscp.y"
4382      { (yyval.Char) = 'S'; }      { (yyval.Char) = 'S'; }
4383      break;      break;
4384    
4385    case 172:    case 239:
4386  #line 318 "lscp.y"  #line 421 "lscp.y"
4387      { (yyval.Char) = 'T'; }      { (yyval.Char) = 'T'; }
4388      break;      break;
4389    
4390    case 173:    case 240:
4391  #line 318 "lscp.y"  #line 421 "lscp.y"
4392      { (yyval.Char) = 'U'; }      { (yyval.Char) = 'U'; }
4393      break;      break;
4394    
4395    case 174:    case 241:
4396  #line 318 "lscp.y"  #line 421 "lscp.y"
4397      { (yyval.Char) = 'V'; }      { (yyval.Char) = 'V'; }
4398      break;      break;
4399    
4400    case 175:    case 242:
4401  #line 318 "lscp.y"  #line 421 "lscp.y"
4402      { (yyval.Char) = 'W'; }      { (yyval.Char) = 'W'; }
4403      break;      break;
4404    
4405    case 176:    case 243:
4406  #line 318 "lscp.y"  #line 421 "lscp.y"
4407      { (yyval.Char) = 'X'; }      { (yyval.Char) = 'X'; }
4408      break;      break;
4409    
4410    case 177:    case 244:
4411  #line 318 "lscp.y"  #line 421 "lscp.y"
4412      { (yyval.Char) = 'Y'; }      { (yyval.Char) = 'Y'; }
4413      break;      break;
4414    
4415    case 178:    case 245:
4416  #line 318 "lscp.y"  #line 421 "lscp.y"
4417      { (yyval.Char) = 'Z'; }      { (yyval.Char) = 'Z'; }
4418      break;      break;
4419    
4420    case 179:    case 246:
4421  #line 319 "lscp.y"  #line 422 "lscp.y"
4422      { (yyval.Char) = 'a'; }      { (yyval.Char) = 'a'; }
4423      break;      break;
4424    
4425    case 180:    case 247:
4426  #line 319 "lscp.y"  #line 422 "lscp.y"
4427      { (yyval.Char) = 'b'; }      { (yyval.Char) = 'b'; }
4428      break;      break;
4429    
4430    case 181:    case 248:
4431  #line 319 "lscp.y"  #line 422 "lscp.y"
4432      { (yyval.Char) = 'c'; }      { (yyval.Char) = 'c'; }
4433      break;      break;
4434    
4435    case 182:    case 249:
4436  #line 319 "lscp.y"  #line 422 "lscp.y"
4437      { (yyval.Char) = 'd'; }      { (yyval.Char) = 'd'; }
4438      break;      break;
4439    
4440    case 183:    case 250:
4441  #line 319 "lscp.y"  #line 422 "lscp.y"
4442      { (yyval.Char) = 'e'; }      { (yyval.Char) = 'e'; }
4443      break;      break;
4444    
4445    case 184:    case 251:
4446  #line 319 "lscp.y"  #line 422 "lscp.y"
4447      { (yyval.Char) = 'f'; }      { (yyval.Char) = 'f'; }
4448      break;      break;
4449    
4450    case 185:    case 252:
4451  #line 319 "lscp.y"  #line 422 "lscp.y"
4452      { (yyval.Char) = 'g'; }      { (yyval.Char) = 'g'; }
4453      break;      break;
4454    
4455    case 186:    case 253:
4456  #line 319 "lscp.y"  #line 422 "lscp.y"
4457      { (yyval.Char) = 'h'; }      { (yyval.Char) = 'h'; }
4458      break;      break;
4459    
4460    case 187:    case 254:
4461  #line 319 "lscp.y"  #line 422 "lscp.y"
4462      { (yyval.Char) = 'i'; }      { (yyval.Char) = 'i'; }
4463      break;      break;
4464    
4465    case 188:    case 255:
4466  #line 319 "lscp.y"  #line 422 "lscp.y"
4467      { (yyval.Char) = 'j'; }      { (yyval.Char) = 'j'; }
4468      break;      break;
4469    
4470    case 189:    case 256:
4471  #line 319 "lscp.y"  #line 422 "lscp.y"
4472      { (yyval.Char) = 'k'; }      { (yyval.Char) = 'k'; }
4473      break;      break;
4474    
4475    case 190:    case 257:
4476  #line 319 "lscp.y"  #line 422 "lscp.y"
4477      { (yyval.Char) = 'l'; }      { (yyval.Char) = 'l'; }
4478      break;      break;
4479    
4480    case 191:    case 258:
4481  #line 319 "lscp.y"  #line 422 "lscp.y"
4482      { (yyval.Char) = 'm'; }      { (yyval.Char) = 'm'; }
4483      break;      break;
4484    
4485    case 192:    case 259:
4486  #line 319 "lscp.y"  #line 422 "lscp.y"
4487      { (yyval.Char) = 'n'; }      { (yyval.Char) = 'n'; }
4488      break;      break;
4489    
4490    case 193:    case 260:
4491  #line 319 "lscp.y"  #line 422 "lscp.y"
4492      { (yyval.Char) = 'o'; }      { (yyval.Char) = 'o'; }
4493      break;      break;
4494    
4495    case 194:    case 261:
4496  #line 319 "lscp.y"  #line 422 "lscp.y"
4497      { (yyval.Char) = 'p'; }      { (yyval.Char) = 'p'; }
4498      break;      break;
4499    
4500    case 195:    case 262:
4501  #line 319 "lscp.y"  #line 422 "lscp.y"
4502      { (yyval.Char) = 'q'; }      { (yyval.Char) = 'q'; }
4503      break;      break;
4504    
4505    case 196:    case 263:
4506  #line 319 "lscp.y"  #line 422 "lscp.y"
4507      { (yyval.Char) = 'r'; }      { (yyval.Char) = 'r'; }
4508      break;      break;
4509    
4510    case 197:    case 264:
4511  #line 319 "lscp.y"  #line 422 "lscp.y"
4512      { (yyval.Char) = 's'; }      { (yyval.Char) = 's'; }
4513      break;      break;
4514    
4515    case 198:    case 265:
4516  #line 319 "lscp.y"  #line 422 "lscp.y"
4517      { (yyval.Char) = 't'; }      { (yyval.Char) = 't'; }
4518      break;      break;
4519    
4520    case 199:    case 266:
4521  #line 319 "lscp.y"  #line 422 "lscp.y"
4522      { (yyval.Char) = 'u'; }      { (yyval.Char) = 'u'; }
4523      break;      break;
4524    
4525    case 200:    case 267:
4526  #line 319 "lscp.y"  #line 422 "lscp.y"
4527      { (yyval.Char) = 'v'; }      { (yyval.Char) = 'v'; }
4528      break;      break;
4529    
4530    case 201:    case 268:
4531  #line 319 "lscp.y"  #line 422 "lscp.y"
4532      { (yyval.Char) = 'w'; }      { (yyval.Char) = 'w'; }
4533      break;      break;
4534    
4535    case 202:    case 269:
4536  #line 319 "lscp.y"  #line 422 "lscp.y"
4537      { (yyval.Char) = 'x'; }      { (yyval.Char) = 'x'; }
4538      break;      break;
4539    
4540    case 203:    case 270:
4541  #line 319 "lscp.y"  #line 422 "lscp.y"
4542      { (yyval.Char) = 'y'; }      { (yyval.Char) = 'y'; }
4543      break;      break;
4544    
4545    case 204:    case 271:
4546  #line 319 "lscp.y"  #line 422 "lscp.y"
4547      { (yyval.Char) = 'z'; }      { (yyval.Char) = 'z'; }
4548      break;      break;
4549    
4550    case 205:    case 272:
4551  #line 320 "lscp.y"  #line 423 "lscp.y"
4552      { (yyval.Char) = '0'; }      { (yyval.Char) = '0'; }
4553      break;      break;
4554    
4555    case 206:    case 273:
4556  #line 320 "lscp.y"  #line 423 "lscp.y"
4557      { (yyval.Char) = '1'; }      { (yyval.Char) = '1'; }
4558      break;      break;
4559    
4560    case 207:    case 274:
4561  #line 320 "lscp.y"  #line 423 "lscp.y"
4562      { (yyval.Char) = '2'; }      { (yyval.Char) = '2'; }
4563      break;      break;
4564    
4565    case 208:    case 275:
4566  #line 320 "lscp.y"  #line 423 "lscp.y"
4567      { (yyval.Char) = '3'; }      { (yyval.Char) = '3'; }
4568      break;      break;
4569    
4570    case 209:    case 276:
4571  #line 320 "lscp.y"  #line 423 "lscp.y"
4572      { (yyval.Char) = '4'; }      { (yyval.Char) = '4'; }
4573      break;      break;
4574    
4575    case 210:    case 277:
4576  #line 320 "lscp.y"  #line 423 "lscp.y"
4577      { (yyval.Char) = '5'; }      { (yyval.Char) = '5'; }
4578      break;      break;
4579    
4580    case 211:    case 278:
4581  #line 320 "lscp.y"  #line 423 "lscp.y"
4582      { (yyval.Char) = '6'; }      { (yyval.Char) = '6'; }
4583      break;      break;
4584    
4585    case 212:    case 279:
4586  #line 320 "lscp.y"  #line 423 "lscp.y"
4587      { (yyval.Char) = '7'; }      { (yyval.Char) = '7'; }
4588      break;      break;
4589    
4590    case 213:    case 280:
4591  #line 320 "lscp.y"  #line 423 "lscp.y"
4592      { (yyval.Char) = '8'; }      { (yyval.Char) = '8'; }
4593      break;      break;
4594    
4595    case 214:    case 281:
4596  #line 320 "lscp.y"  #line 423 "lscp.y"
4597      { (yyval.Char) = '9'; }      { (yyval.Char) = '9'; }
4598      break;      break;
4599    
4600    case 215:    case 282:
4601  #line 321 "lscp.y"  #line 424 "lscp.y"
4602      { (yyval.Char) = '!'; }      { (yyval.Char) = '!'; }
4603      break;      break;
4604    
4605    case 216:    case 283:
4606  #line 321 "lscp.y"  #line 424 "lscp.y"
4607      { (yyval.Char) = '#'; }      { (yyval.Char) = '#'; }
4608      break;      break;
4609    
4610    case 217:    case 284:
4611  #line 321 "lscp.y"  #line 424 "lscp.y"
4612      { (yyval.Char) = '$'; }      { (yyval.Char) = '$'; }
4613      break;      break;
4614    
4615    case 218:    case 285:
4616  #line 321 "lscp.y"  #line 424 "lscp.y"
4617      { (yyval.Char) = '%'; }      { (yyval.Char) = '%'; }
4618      break;      break;
4619    
4620    case 219:    case 286:
4621  #line 321 "lscp.y"  #line 424 "lscp.y"
4622      { (yyval.Char) = '&'; }      { (yyval.Char) = '&'; }
4623      break;      break;
4624    
4625    case 220:    case 287:
4626  #line 321 "lscp.y"  #line 424 "lscp.y"
4627      { (yyval.Char) = '('; }      { (yyval.Char) = '('; }
4628      break;      break;
4629    
4630    case 221:    case 288:
4631  #line 321 "lscp.y"  #line 424 "lscp.y"
4632      { (yyval.Char) = ')'; }      { (yyval.Char) = ')'; }
4633      break;      break;
4634    
4635    case 222:    case 289:
4636  #line 321 "lscp.y"  #line 424 "lscp.y"
4637      { (yyval.Char) = '*'; }      { (yyval.Char) = '*'; }
4638      break;      break;
4639    
4640    case 223:    case 290:
4641  #line 321 "lscp.y"  #line 424 "lscp.y"
4642      { (yyval.Char) = '+'; }      { (yyval.Char) = '+'; }
4643      break;      break;
4644    
4645    case 224:    case 291:
4646  #line 321 "lscp.y"  #line 424 "lscp.y"
4647      { (yyval.Char) = '-'; }      { (yyval.Char) = '-'; }
4648      break;      break;
4649    
4650    case 225:    case 292:
4651  #line 321 "lscp.y"  #line 424 "lscp.y"
4652      { (yyval.Char) = '.'; }      { (yyval.Char) = '.'; }
4653      break;      break;
4654    
4655    case 226:    case 293:
4656  #line 321 "lscp.y"  #line 424 "lscp.y"
4657      { (yyval.Char) = ','; }      { (yyval.Char) = ','; }
4658      break;      break;
4659    
4660    case 227:    case 294:
4661  #line 321 "lscp.y"  #line 424 "lscp.y"
4662      { (yyval.Char) = '/'; }      { (yyval.Char) = '/'; }
4663      break;      break;
4664    
4665    case 228:    case 295:
4666  #line 322 "lscp.y"  #line 425 "lscp.y"
4667      { (yyval.Char) = ':'; }      { (yyval.Char) = ':'; }
4668      break;      break;
4669    
4670    case 229:    case 296:
4671  #line 322 "lscp.y"  #line 425 "lscp.y"
4672      { (yyval.Char) = ';'; }      { (yyval.Char) = ';'; }
4673      break;      break;
4674    
4675    case 230:    case 297:
4676  #line 322 "lscp.y"  #line 425 "lscp.y"
4677      { (yyval.Char) = '<'; }      { (yyval.Char) = '<'; }
4678      break;      break;
4679    
4680    case 231:    case 298:
4681  #line 322 "lscp.y"  #line 425 "lscp.y"
4682      { (yyval.Char) = '='; }      { (yyval.Char) = '='; }
4683      break;      break;
4684    
4685    case 232:    case 299:
4686  #line 322 "lscp.y"  #line 425 "lscp.y"
4687      { (yyval.Char) = '>'; }      { (yyval.Char) = '>'; }
4688      break;      break;
4689    
4690    case 233:    case 300:
4691  #line 322 "lscp.y"  #line 425 "lscp.y"
4692      { (yyval.Char) = '?'; }      { (yyval.Char) = '?'; }
4693      break;      break;
4694    
4695    case 234:    case 301:
4696  #line 322 "lscp.y"  #line 425 "lscp.y"
4697      { (yyval.Char) = '@'; }      { (yyval.Char) = '@'; }
4698      break;      break;
4699    
4700    case 235:    case 302:
4701  #line 323 "lscp.y"  #line 426 "lscp.y"
4702      { (yyval.Char) = '['; }      { (yyval.Char) = '['; }
4703      break;      break;
4704    
4705    case 236:    case 303:
4706  #line 323 "lscp.y"  #line 426 "lscp.y"
4707      { (yyval.Char) = '\\'; }      { (yyval.Char) = '\\'; }
4708      break;      break;
4709    
4710    case 237:    case 304:
4711  #line 323 "lscp.y"  #line 426 "lscp.y"
4712      { (yyval.Char) = ']'; }      { (yyval.Char) = ']'; }
4713      break;      break;
4714    
4715    case 238:    case 305:
4716  #line 323 "lscp.y"  #line 426 "lscp.y"
4717      { (yyval.Char) = '^'; }      { (yyval.Char) = '^'; }
4718      break;      break;
4719    
4720    case 239:    case 306:
4721  #line 323 "lscp.y"  #line 426 "lscp.y"
4722      { (yyval.Char) = '_'; }      { (yyval.Char) = '_'; }
4723      break;      break;
4724    
4725    case 240:    case 307:
4726  #line 324 "lscp.y"  #line 427 "lscp.y"
4727      { (yyval.Char) = '{'; }      { (yyval.Char) = '{'; }
4728      break;      break;
4729    
4730    case 241:    case 308:
4731  #line 324 "lscp.y"  #line 427 "lscp.y"
4732      { (yyval.Char) = '|'; }      { (yyval.Char) = '|'; }
4733      break;      break;
4734    
4735    case 242:    case 309:
4736  #line 324 "lscp.y"  #line 427 "lscp.y"
4737      { (yyval.Char) = '}'; }      { (yyval.Char) = '}'; }
4738      break;      break;
4739    
4740    case 243:    case 310:
4741  #line 324 "lscp.y"  #line 427 "lscp.y"
4742      { (yyval.Char) = '~'; }      { (yyval.Char) = '~'; }
4743      break;      break;
4744    
4745    case 244:    case 311:
4746  #line 325 "lscp.y"  #line 428 "lscp.y"
4747      { (yyval.Char) = '\200'; }      { (yyval.Char) = '\200'; }
4748      break;      break;
4749    
4750    case 245:    case 312:
4751  #line 325 "lscp.y"  #line 428 "lscp.y"
4752      { (yyval.Char) = '\201'; }      { (yyval.Char) = '\201'; }
4753      break;      break;
4754    
4755    case 246:    case 313:
4756  #line 325 "lscp.y"  #line 428 "lscp.y"
4757      { (yyval.Char) = '\202'; }      { (yyval.Char) = '\202'; }
4758      break;      break;
4759    
4760    case 247:    case 314:
4761  #line 326 "lscp.y"  #line 429 "lscp.y"
4762      { (yyval.Char) = '\203'; }      { (yyval.Char) = '\203'; }
4763      break;      break;
4764    
4765    case 248:    case 315:
4766  #line 326 "lscp.y"  #line 429 "lscp.y"
4767      { (yyval.Char) = '\204'; }      { (yyval.Char) = '\204'; }
4768      break;      break;
4769    
4770    case 249:    case 316:
4771  #line 326 "lscp.y"  #line 429 "lscp.y"
4772      { (yyval.Char) = '\205'; }      { (yyval.Char) = '\205'; }
4773      break;      break;
4774    
4775    case 250:    case 317:
4776  #line 327 "lscp.y"  #line 430 "lscp.y"
4777      { (yyval.Char) = '\206'; }      { (yyval.Char) = '\206'; }
4778      break;      break;
4779    
4780    case 251:    case 318:
4781  #line 327 "lscp.y"  #line 430 "lscp.y"
4782      { (yyval.Char) = '\207'; }      { (yyval.Char) = '\207'; }
4783      break;      break;
4784    
4785    case 252:    case 319:
4786  #line 327 "lscp.y"  #line 430 "lscp.y"
4787      { (yyval.Char) = '\210'; }      { (yyval.Char) = '\210'; }
4788      break;      break;
4789    
4790    case 253:    case 320:
4791  #line 328 "lscp.y"  #line 431 "lscp.y"
4792      { (yyval.Char) = '\211'; }      { (yyval.Char) = '\211'; }
4793      break;      break;
4794    
4795    case 254:    case 321:
4796  #line 328 "lscp.y"  #line 431 "lscp.y"
4797      { (yyval.Char) = '\212'; }      { (yyval.Char) = '\212'; }
4798      break;      break;
4799    
4800    case 255:    case 322:
4801  #line 328 "lscp.y"  #line 431 "lscp.y"
4802      { (yyval.Char) = '\213'; }      { (yyval.Char) = '\213'; }
4803      break;      break;
4804    
4805    case 256:    case 323:
4806  #line 329 "lscp.y"  #line 432 "lscp.y"
4807      { (yyval.Char) = '\214'; }      { (yyval.Char) = '\214'; }
4808      break;      break;
4809    
4810    case 257:    case 324:
4811  #line 329 "lscp.y"  #line 432 "lscp.y"
4812      { (yyval.Char) = '\215'; }      { (yyval.Char) = '\215'; }
4813      break;      break;
4814    
4815    case 258:    case 325:
4816  #line 329 "lscp.y"  #line 432 "lscp.y"
4817      { (yyval.Char) = '\216'; }      { (yyval.Char) = '\216'; }
4818      break;      break;
4819    
4820    case 259:    case 326:
4821  #line 330 "lscp.y"  #line 433 "lscp.y"
4822      { (yyval.Char) = '\217'; }      { (yyval.Char) = '\217'; }
4823      break;      break;
4824    
4825    case 260:    case 327:
4826  #line 330 "lscp.y"  #line 433 "lscp.y"
4827      { (yyval.Char) = '\220'; }      { (yyval.Char) = '\220'; }
4828      break;      break;
4829    
4830    case 261:    case 328:
4831  #line 330 "lscp.y"  #line 433 "lscp.y"
4832      { (yyval.Char) = '\221'; }      { (yyval.Char) = '\221'; }
4833      break;      break;
4834    
4835    case 262:    case 329:
4836  #line 331 "lscp.y"  #line 434 "lscp.y"
4837      { (yyval.Char) = '\222'; }      { (yyval.Char) = '\222'; }
4838      break;      break;
4839    
4840    case 263:    case 330:
4841  #line 331 "lscp.y"  #line 434 "lscp.y"
4842      { (yyval.Char) = '\223'; }      { (yyval.Char) = '\223'; }
4843      break;      break;
4844    
4845    case 264:    case 331:
4846  #line 331 "lscp.y"  #line 434 "lscp.y"
4847      { (yyval.Char) = '\224'; }      { (yyval.Char) = '\224'; }
4848      break;      break;
4849    
4850    case 265:    case 332:
4851  #line 332 "lscp.y"  #line 435 "lscp.y"
4852      { (yyval.Char) = '\225'; }      { (yyval.Char) = '\225'; }
4853      break;      break;
4854    
4855    case 266:    case 333:
4856  #line 332 "lscp.y"  #line 435 "lscp.y"
4857      { (yyval.Char) = '\226'; }      { (yyval.Char) = '\226'; }
4858      break;      break;
4859    
4860    case 267:    case 334:
4861  #line 332 "lscp.y"  #line 435 "lscp.y"
4862      { (yyval.Char) = '\227'; }      { (yyval.Char) = '\227'; }
4863      break;      break;
4864    
4865    case 268:    case 335:
4866  #line 333 "lscp.y"  #line 436 "lscp.y"
4867      { (yyval.Char) = '\230'; }      { (yyval.Char) = '\230'; }
4868      break;      break;
4869    
4870    case 269:    case 336:
4871  #line 333 "lscp.y"  #line 436 "lscp.y"
4872      { (yyval.Char) = '\231'; }      { (yyval.Char) = '\231'; }
4873      break;      break;
4874    
4875    case 270:    case 337:
4876  #line 333 "lscp.y"  #line 436 "lscp.y"
4877      { (yyval.Char) = '\232'; }      { (yyval.Char) = '\232'; }
4878      break;      break;
4879    
4880    case 271:    case 338:
4881  #line 334 "lscp.y"  #line 437 "lscp.y"
4882      { (yyval.Char) = '\233'; }      { (yyval.Char) = '\233'; }
4883      break;      break;
4884    
4885    case 272:    case 339:
4886  #line 334 "lscp.y"  #line 437 "lscp.y"
4887      { (yyval.Char) = '\234'; }      { (yyval.Char) = '\234'; }
4888      break;      break;
4889    
4890    case 273:    case 340:
4891  #line 334 "lscp.y"  #line 437 "lscp.y"
4892      { (yyval.Char) = '\235'; }      { (yyval.Char) = '\235'; }
4893      break;      break;
4894    
4895    case 274:    case 341:
4896  #line 335 "lscp.y"  #line 438 "lscp.y"
4897      { (yyval.Char) = '\236'; }      { (yyval.Char) = '\236'; }
4898      break;      break;
4899    
4900    case 275:    case 342:
4901  #line 335 "lscp.y"  #line 438 "lscp.y"
4902      { (yyval.Char) = '\237'; }      { (yyval.Char) = '\237'; }
4903      break;      break;
4904    
4905    case 276:    case 343:
4906  #line 335 "lscp.y"  #line 438 "lscp.y"
4907      { (yyval.Char) = '\240'; }      { (yyval.Char) = '\240'; }
4908      break;      break;
4909    
4910    case 277:    case 344:
4911  #line 336 "lscp.y"  #line 439 "lscp.y"
4912      { (yyval.Char) = '\241'; }      { (yyval.Char) = '\241'; }
4913      break;      break;
4914    
4915    case 278:    case 345:
4916  #line 336 "lscp.y"  #line 439 "lscp.y"
4917      { (yyval.Char) = '\242'; }      { (yyval.Char) = '\242'; }
4918      break;      break;
4919    
4920    case 279:    case 346:
4921  #line 336 "lscp.y"  #line 439 "lscp.y"
4922      { (yyval.Char) = '\243'; }      { (yyval.Char) = '\243'; }
4923      break;      break;
4924    
4925    case 280:    case 347:
4926  #line 337 "lscp.y"  #line 440 "lscp.y"
4927      { (yyval.Char) = '\244'; }      { (yyval.Char) = '\244'; }
4928      break;      break;
4929    
4930    case 281:    case 348:
4931  #line 337 "lscp.y"  #line 440 "lscp.y"
4932      { (yyval.Char) = '\245'; }      { (yyval.Char) = '\245'; }
4933      break;      break;
4934    
4935    case 282:    case 349:
4936  #line 337 "lscp.y"  #line 440 "lscp.y"
4937      { (yyval.Char) = '\246'; }      { (yyval.Char) = '\246'; }
4938      break;      break;
4939    
4940    case 283:    case 350:
4941  #line 338 "lscp.y"  #line 441 "lscp.y"
4942      { (yyval.Char) = '\247'; }      { (yyval.Char) = '\247'; }
4943      break;      break;
4944    
4945    case 284:    case 351:
4946  #line 338 "lscp.y"  #line 441 "lscp.y"
4947      { (yyval.Char) = '\250'; }      { (yyval.Char) = '\250'; }
4948      break;      break;
4949    
4950    case 285:    case 352:
4951  #line 338 "lscp.y"  #line 441 "lscp.y"
4952      { (yyval.Char) = '\251'; }      { (yyval.Char) = '\251'; }
4953      break;      break;
4954    
4955    case 286:    case 353:
4956  #line 339 "lscp.y"  #line 442 "lscp.y"
4957      { (yyval.Char) = '\252'; }      { (yyval.Char) = '\252'; }
4958      break;      break;
4959    
4960    case 287:    case 354:
4961  #line 339 "lscp.y"  #line 442 "lscp.y"
4962      { (yyval.Char) = '\253'; }      { (yyval.Char) = '\253'; }
4963      break;      break;
4964    
4965    case 288:    case 355:
4966  #line 339 "lscp.y"  #line 442 "lscp.y"
4967      { (yyval.Char) = '\254'; }      { (yyval.Char) = '\254'; }
4968      break;      break;
4969    
4970    case 289:    case 356:
4971  #line 340 "lscp.y"  #line 443 "lscp.y"
4972      { (yyval.Char) = '\255'; }      { (yyval.Char) = '\255'; }
4973      break;      break;
4974    
4975    case 290:    case 357:
4976  #line 340 "lscp.y"  #line 443 "lscp.y"
4977      { (yyval.Char) = '\256'; }      { (yyval.Char) = '\256'; }
4978      break;      break;
4979    
4980    case 291:    case 358:
4981  #line 340 "lscp.y"  #line 443 "lscp.y"
4982      { (yyval.Char) = '\257'; }      { (yyval.Char) = '\257'; }
4983      break;      break;
4984    
4985    case 292:    case 359:
4986  #line 341 "lscp.y"  #line 444 "lscp.y"
4987      { (yyval.Char) = '\260'; }      { (yyval.Char) = '\260'; }
4988      break;      break;
4989    
4990    case 293:    case 360:
4991  #line 341 "lscp.y"  #line 444 "lscp.y"
4992      { (yyval.Char) = '\261'; }      { (yyval.Char) = '\261'; }
4993      break;      break;
4994    
4995    case 294:    case 361:
4996  #line 341 "lscp.y"  #line 444 "lscp.y"
4997      { (yyval.Char) = '\262'; }      { (yyval.Char) = '\262'; }
4998      break;      break;
4999    
5000    case 295:    case 362:
5001  #line 342 "lscp.y"  #line 445 "lscp.y"
5002      { (yyval.Char) = '\263'; }      { (yyval.Char) = '\263'; }
5003      break;      break;
5004    
5005    case 296:    case 363:
5006  #line 342 "lscp.y"  #line 445 "lscp.y"
5007      { (yyval.Char) = '\264'; }      { (yyval.Char) = '\264'; }
5008      break;      break;
5009    
5010    case 297:    case 364:
5011  #line 342 "lscp.y"  #line 445 "lscp.y"
5012      { (yyval.Char) = '\265'; }      { (yyval.Char) = '\265'; }
5013      break;      break;
5014    
5015    case 298:    case 365:
5016  #line 343 "lscp.y"  #line 446 "lscp.y"
5017      { (yyval.Char) = '\266'; }      { (yyval.Char) = '\266'; }
5018      break;      break;
5019    
5020    case 299:    case 366:
5021  #line 343 "lscp.y"  #line 446 "lscp.y"
5022      { (yyval.Char) = '\267'; }      { (yyval.Char) = '\267'; }
5023      break;      break;
5024    
5025    case 300:    case 367:
5026  #line 343 "lscp.y"  #line 446 "lscp.y"
5027      { (yyval.Char) = '\270'; }      { (yyval.Char) = '\270'; }
5028      break;      break;
5029    
5030    case 301:    case 368:
5031  #line 344 "lscp.y"  #line 447 "lscp.y"
5032      { (yyval.Char) = '\271'; }      { (yyval.Char) = '\271'; }
5033      break;      break;
5034    
5035    case 302:    case 369:
5036  #line 344 "lscp.y"  #line 447 "lscp.y"
5037      { (yyval.Char) = '\272'; }      { (yyval.Char) = '\272'; }
5038      break;      break;
5039    
5040    case 303:    case 370:
5041  #line 344 "lscp.y"  #line 447 "lscp.y"
5042      { (yyval.Char) = '\273'; }      { (yyval.Char) = '\273'; }
5043      break;      break;
5044    
5045    case 304:    case 371:
5046  #line 345 "lscp.y"  #line 448 "lscp.y"
5047      { (yyval.Char) = '\274'; }      { (yyval.Char) = '\274'; }
5048      break;      break;
5049    
5050    case 305:    case 372:
5051  #line 345 "lscp.y"  #line 448 "lscp.y"
5052      { (yyval.Char) = '\275'; }      { (yyval.Char) = '\275'; }
5053      break;      break;
5054    
5055    case 306:    case 373:
5056  #line 345 "lscp.y"  #line 448 "lscp.y"
5057      { (yyval.Char) = '\276'; }      { (yyval.Char) = '\276'; }
5058      break;      break;
5059    
5060    case 307:    case 374:
5061  #line 346 "lscp.y"  #line 449 "lscp.y"
5062      { (yyval.Char) = '\277'; }      { (yyval.Char) = '\277'; }
5063      break;      break;
5064    
5065    case 308:    case 375:
5066  #line 346 "lscp.y"  #line 449 "lscp.y"
5067      { (yyval.Char) = '\300'; }      { (yyval.Char) = '\300'; }
5068      break;      break;
5069    
5070    case 309:    case 376:
5071  #line 346 "lscp.y"  #line 449 "lscp.y"
5072      { (yyval.Char) = '\301'; }      { (yyval.Char) = '\301'; }
5073      break;      break;
5074    
5075    case 310:    case 377:
5076  #line 347 "lscp.y"  #line 450 "lscp.y"
5077      { (yyval.Char) = '\302'; }      { (yyval.Char) = '\302'; }
5078      break;      break;
5079    
5080    case 311:    case 378:
5081  #line 347 "lscp.y"  #line 450 "lscp.y"
5082      { (yyval.Char) = '\303'; }      { (yyval.Char) = '\303'; }
5083      break;      break;
5084    
5085    case 312:    case 379:
5086  #line 347 "lscp.y"  #line 450 "lscp.y"
5087      { (yyval.Char) = '\304'; }      { (yyval.Char) = '\304'; }
5088      break;      break;
5089    
5090    case 313:    case 380:
5091  #line 348 "lscp.y"  #line 451 "lscp.y"
5092      { (yyval.Char) = '\305'; }      { (yyval.Char) = '\305'; }
5093      break;      break;
5094    
5095    case 314:    case 381:
5096  #line 348 "lscp.y"  #line 451 "lscp.y"
5097      { (yyval.Char) = '\306'; }      { (yyval.Char) = '\306'; }
5098      break;      break;
5099    
5100    case 315:    case 382:
5101  #line 348 "lscp.y"  #line 451 "lscp.y"
5102      { (yyval.Char) = '\307'; }      { (yyval.Char) = '\307'; }
5103      break;      break;
5104    
5105    case 316:    case 383:
5106  #line 349 "lscp.y"  #line 452 "lscp.y"
5107      { (yyval.Char) = '\310'; }      { (yyval.Char) = '\310'; }
5108      break;      break;
5109    
5110    case 317:    case 384:
5111  #line 349 "lscp.y"  #line 452 "lscp.y"
5112      { (yyval.Char) = '\311'; }      { (yyval.Char) = '\311'; }
5113      break;      break;
5114    
5115    case 318:    case 385:
5116  #line 349 "lscp.y"  #line 452 "lscp.y"
5117      { (yyval.Char) = '\312'; }      { (yyval.Char) = '\312'; }
5118      break;      break;
5119    
5120    case 319:    case 386:
5121  #line 350 "lscp.y"  #line 453 "lscp.y"
5122      { (yyval.Char) = '\313'; }      { (yyval.Char) = '\313'; }
5123      break;      break;
5124    
5125    case 320:    case 387:
5126  #line 350 "lscp.y"  #line 453 "lscp.y"
5127      { (yyval.Char) = '\314'; }      { (yyval.Char) = '\314'; }
5128      break;      break;
5129    
5130    case 321:    case 388:
5131  #line 350 "lscp.y"  #line 453 "lscp.y"
5132      { (yyval.Char) = '\315'; }      { (yyval.Char) = '\315'; }
5133      break;      break;
5134    
5135    case 322:    case 389:
5136  #line 351 "lscp.y"  #line 454 "lscp.y"
5137      { (yyval.Char) = '\316'; }      { (yyval.Char) = '\316'; }
5138      break;      break;
5139    
5140    case 323:    case 390:
5141  #line 351 "lscp.y"  #line 454 "lscp.y"
5142      { (yyval.Char) = '\317'; }      { (yyval.Char) = '\317'; }
5143      break;      break;
5144    
5145    case 324:    case 391:
5146  #line 351 "lscp.y"  #line 454 "lscp.y"
5147      { (yyval.Char) = '\320'; }      { (yyval.Char) = '\320'; }
5148      break;      break;
5149    
5150    case 325:    case 392:
5151  #line 352 "lscp.y"  #line 455 "lscp.y"
5152      { (yyval.Char) = '\321'; }      { (yyval.Char) = '\321'; }
5153      break;      break;
5154    
5155    case 326:    case 393:
5156  #line 352 "lscp.y"  #line 455 "lscp.y"
5157      { (yyval.Char) = '\322'; }      { (yyval.Char) = '\322'; }
5158      break;      break;
5159    
5160    case 327:    case 394:
5161  #line 352 "lscp.y"  #line 455 "lscp.y"
5162      { (yyval.Char) = '\323'; }      { (yyval.Char) = '\323'; }
5163      break;      break;
5164    
5165    case 328:    case 395:
5166  #line 353 "lscp.y"  #line 456 "lscp.y"
5167      { (yyval.Char) = '\324'; }      { (yyval.Char) = '\324'; }
5168      break;      break;
5169    
5170    case 329:    case 396:
5171  #line 353 "lscp.y"  #line 456 "lscp.y"
5172      { (yyval.Char) = '\325'; }      { (yyval.Char) = '\325'; }
5173      break;      break;
5174    
5175    case 330:    case 397:
5176  #line 353 "lscp.y"  #line 456 "lscp.y"
5177      { (yyval.Char) = '\326'; }      { (yyval.Char) = '\326'; }
5178      break;      break;
5179    
5180    case 331:    case 398:
5181  #line 354 "lscp.y"  #line 457 "lscp.y"
5182      { (yyval.Char) = '\327'; }      { (yyval.Char) = '\327'; }
5183      break;      break;
5184    
5185    case 332:    case 399:
5186  #line 354 "lscp.y"  #line 457 "lscp.y"
5187      { (yyval.Char) = '\330'; }      { (yyval.Char) = '\330'; }
5188      break;      break;
5189    
5190    case 333:    case 400:
5191  #line 354 "lscp.y"  #line 457 "lscp.y"
5192      { (yyval.Char) = '\331'; }      { (yyval.Char) = '\331'; }
5193      break;      break;
5194    
5195    case 334:    case 401:
5196  #line 355 "lscp.y"  #line 458 "lscp.y"
5197      { (yyval.Char) = '\332'; }      { (yyval.Char) = '\332'; }
5198      break;      break;
5199    
5200    case 335:    case 402:
5201  #line 355 "lscp.y"  #line 458 "lscp.y"
5202      { (yyval.Char) = '\333'; }      { (yyval.Char) = '\333'; }
5203      break;      break;
5204    
5205    case 336:    case 403:
5206  #line 355 "lscp.y"  #line 458 "lscp.y"
5207      { (yyval.Char) = '\334'; }      { (yyval.Char) = '\334'; }
5208      break;      break;
5209    
5210    case 337:    case 404:
5211  #line 356 "lscp.y"  #line 459 "lscp.y"
5212      { (yyval.Char) = '\335'; }      { (yyval.Char) = '\335'; }
5213      break;      break;
5214    
5215    case 338:    case 405:
5216  #line 356 "lscp.y"  #line 459 "lscp.y"
5217      { (yyval.Char) = '\336'; }      { (yyval.Char) = '\336'; }
5218      break;      break;
5219    
5220    case 339:    case 406:
5221  #line 356 "lscp.y"  #line 459 "lscp.y"
5222      { (yyval.Char) = '\337'; }      { (yyval.Char) = '\337'; }
5223      break;      break;
5224    
5225    case 340:    case 407:
5226  #line 357 "lscp.y"  #line 460 "lscp.y"
5227      { (yyval.Char) = '\340'; }      { (yyval.Char) = '\340'; }
5228      break;      break;
5229    
5230    case 341:    case 408:
5231  #line 357 "lscp.y"  #line 460 "lscp.y"
5232      { (yyval.Char) = '\341'; }      { (yyval.Char) = '\341'; }
5233      break;      break;
5234    
5235    case 342:    case 409:
5236  #line 357 "lscp.y"  #line 460 "lscp.y"
5237      { (yyval.Char) = '\342'; }      { (yyval.Char) = '\342'; }
5238      break;      break;
5239    
5240    case 343:    case 410:
5241  #line 358 "lscp.y"  #line 461 "lscp.y"
5242      { (yyval.Char) = '\343'; }      { (yyval.Char) = '\343'; }
5243      break;      break;
5244    
5245    case 344:    case 411:
5246  #line 358 "lscp.y"  #line 461 "lscp.y"
5247      { (yyval.Char) = '\344'; }      { (yyval.Char) = '\344'; }
5248      break;      break;
5249    
5250    case 345:    case 412:
5251  #line 358 "lscp.y"  #line 461 "lscp.y"
5252      { (yyval.Char) = '\345'; }      { (yyval.Char) = '\345'; }
5253      break;      break;
5254    
5255    case 346:    case 413:
5256  #line 359 "lscp.y"  #line 462 "lscp.y"
5257      { (yyval.Char) = '\346'; }      { (yyval.Char) = '\346'; }
5258      break;      break;
5259    
5260    case 347:    case 414:
5261  #line 359 "lscp.y"  #line 462 "lscp.y"
5262      { (yyval.Char) = '\347'; }      { (yyval.Char) = '\347'; }
5263      break;      break;
5264    
5265    case 348:    case 415:
5266  #line 359 "lscp.y"  #line 462 "lscp.y"
5267      { (yyval.Char) = '\350'; }      { (yyval.Char) = '\350'; }
5268      break;      break;
5269    
5270    case 349:    case 416:
5271  #line 360 "lscp.y"  #line 463 "lscp.y"
5272      { (yyval.Char) = '\351'; }      { (yyval.Char) = '\351'; }
5273      break;      break;
5274    
5275    case 350:    case 417:
5276  #line 360 "lscp.y"  #line 463 "lscp.y"
5277      { (yyval.Char) = '\352'; }      { (yyval.Char) = '\352'; }
5278      break;      break;
5279    
5280    case 351:    case 418:
5281  #line 360 "lscp.y"  #line 463 "lscp.y"
5282      { (yyval.Char) = '\353'; }      { (yyval.Char) = '\353'; }
5283      break;      break;
5284    
5285    case 352:    case 419:
5286  #line 361 "lscp.y"  #line 464 "lscp.y"
5287      { (yyval.Char) = '\354'; }      { (yyval.Char) = '\354'; }
5288      break;      break;
5289    
5290    case 353:    case 420:
5291  #line 361 "lscp.y"  #line 464 "lscp.y"
5292      { (yyval.Char) = '\355'; }      { (yyval.Char) = '\355'; }
5293      break;      break;
5294    
5295    case 354:    case 421:
5296  #line 361 "lscp.y"  #line 464 "lscp.y"
5297      { (yyval.Char) = '\356'; }      { (yyval.Char) = '\356'; }
5298      break;      break;
5299    
5300    case 355:    case 422:
5301  #line 362 "lscp.y"  #line 465 "lscp.y"
5302      { (yyval.Char) = '\357'; }      { (yyval.Char) = '\357'; }
5303      break;      break;
5304    
5305    case 356:    case 423:
5306  #line 362 "lscp.y"  #line 465 "lscp.y"
5307      { (yyval.Char) = '\360'; }      { (yyval.Char) = '\360'; }
5308      break;      break;
5309    
5310    case 357:    case 424:
5311  #line 362 "lscp.y"  #line 465 "lscp.y"
5312      { (yyval.Char) = '\361'; }      { (yyval.Char) = '\361'; }
5313      break;      break;
5314    
5315    case 358:    case 425:
5316  #line 363 "lscp.y"  #line 466 "lscp.y"
5317      { (yyval.Char) = '\362'; }      { (yyval.Char) = '\362'; }
5318      break;      break;
5319    
5320    case 359:    case 426:
5321  #line 363 "lscp.y"  #line 466 "lscp.y"
5322      { (yyval.Char) = '\363'; }      { (yyval.Char) = '\363'; }
5323      break;      break;
5324    
5325    case 360:    case 427:
5326  #line 363 "lscp.y"  #line 466 "lscp.y"
5327      { (yyval.Char) = '\364'; }      { (yyval.Char) = '\364'; }
5328      break;      break;
5329    
5330    case 361:    case 428:
5331  #line 364 "lscp.y"  #line 467 "lscp.y"
5332      { (yyval.Char) = '\365'; }      { (yyval.Char) = '\365'; }
5333      break;      break;
5334    
5335    case 362:    case 429:
5336  #line 364 "lscp.y"  #line 467 "lscp.y"
5337      { (yyval.Char) = '\366'; }      { (yyval.Char) = '\366'; }
5338      break;      break;
5339    
5340    case 363:    case 430:
5341  #line 364 "lscp.y"  #line 467 "lscp.y"
5342      { (yyval.Char) = '\367'; }      { (yyval.Char) = '\367'; }
5343      break;      break;
5344    
5345    case 364:    case 431:
5346  #line 365 "lscp.y"  #line 468 "lscp.y"
5347      { (yyval.Char) = '\370'; }      { (yyval.Char) = '\370'; }
5348      break;      break;
5349    
5350    case 365:    case 432:
5351  #line 365 "lscp.y"  #line 468 "lscp.y"
5352      { (yyval.Char) = '\371'; }      { (yyval.Char) = '\371'; }
5353      break;      break;
5354    
5355    case 366:    case 433:
5356  #line 365 "lscp.y"  #line 468 "lscp.y"
5357      { (yyval.Char) = '\372'; }      { (yyval.Char) = '\372'; }
5358      break;      break;
5359    
5360    case 367:    case 434:
5361  #line 366 "lscp.y"  #line 469 "lscp.y"
5362      { (yyval.Char) = '\373'; }      { (yyval.Char) = '\373'; }
5363      break;      break;
5364    
5365    case 368:    case 435:
5366  #line 366 "lscp.y"  #line 469 "lscp.y"
5367      { (yyval.Char) = '\374'; }      { (yyval.Char) = '\374'; }
5368      break;      break;
5369    
5370    case 369:    case 436:
5371  #line 366 "lscp.y"  #line 469 "lscp.y"
5372      { (yyval.Char) = '\375'; }      { (yyval.Char) = '\375'; }
5373      break;      break;
5374    
5375    case 370:    case 437:
5376  #line 367 "lscp.y"  #line 470 "lscp.y"
5377      { (yyval.Char) = '\376'; }      { (yyval.Char) = '\376'; }
5378      break;      break;
5379    
5380    case 371:    case 438:
5381  #line 367 "lscp.y"  #line 470 "lscp.y"
5382      { (yyval.Char) = '\377'; }      { (yyval.Char) = '\377'; }
5383      break;      break;
5384    
5385    case 372:    case 439:
5386  #line 370 "lscp.y"  #line 473 "lscp.y"
5387      { (yyval.String) = " ";      }      { (yyval.String) = " ";      }
5388      break;      break;
5389    
5390    case 374:    case 441:
5391  #line 372 "lscp.y"  #line 475 "lscp.y"
5392      { (yyval.String) = (yyvsp[-1].String) + " "; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5393      break;      break;
5394    
5395    case 375:    case 442:
5396  #line 373 "lscp.y"  #line 476 "lscp.y"
5397      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].String);  }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5398      break;      break;
5399    
5400    case 376:    case 443:
5401  #line 376 "lscp.y"  #line 479 "lscp.y"
5402      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5403      break;      break;
5404    
5405    case 377:    case 444:
5406  #line 377 "lscp.y"  #line 480 "lscp.y"
5407      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5408      break;      break;
5409    
5410    
5411    /* Line 1267 of yacc.c.  */
5412    #line 5413 "y.tab.c"
5413        default: break;        default: break;
5414      }      }
5415      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5416    
5417  /* Line 1126 of yacc.c.  */    YYPOPSTACK (yylen);
5418  #line 4505 "y.tab.c"    yylen = 0;
   
   yyvsp -= yylen;  
   yyssp -= yylen;  
   
   
5419    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5420    
5421    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4535  yyerrlab: Line 5444  yyerrlab:
5444    if (!yyerrstatus)    if (!yyerrstatus)
5445      {      {
5446        ++yynerrs;        ++yynerrs;
5447  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5448        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5449    #else
5450        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5451          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5452            int yytype = YYTRANSLATE (yychar);          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5453            YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);            {
5454            YYSIZE_T yysize = yysize0;              YYSIZE_T yyalloc = 2 * yysize;
5455            YYSIZE_T yysize1;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5456            int yysize_overflow = 0;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
5457            char *yymsg = 0;              if (yymsg != yymsgbuf)
5458  #         define YYERROR_VERBOSE_ARGS_MAXIMUM 5                YYSTACK_FREE (yymsg);
5459            char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5460            int yyx;              if (yymsg)
5461                  yymsg_alloc = yyalloc;
5462  #if 0              else
           /* This is so xgettext sees the translatable formats that are  
              constructed on the fly.  */  
           YY_("syntax error, unexpected %s");  
           YY_("syntax error, unexpected %s, expecting %s");  
           YY_("syntax error, unexpected %s, expecting %s or %s");  
           YY_("syntax error, unexpected %s, expecting %s or %s or %s");  
           YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");  
 #endif  
           char *yyfmt;  
           char const *yyf;  
           static char const yyunexpected[] = "syntax error, unexpected %s";  
           static char const yyexpecting[] = ", expecting %s";  
           static char const yyor[] = " or %s";  
           char yyformat[sizeof yyunexpected  
                         + sizeof yyexpecting - 1  
                         + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)  
                            * (sizeof yyor - 1))];  
           char const *yyprefix = yyexpecting;  
   
           /* Start YYX at -YYN if negative to avoid negative indexes in  
              YYCHECK.  */  
           int yyxbegin = yyn < 0 ? -yyn : 0;  
   
           /* Stay within bounds of both yycheck and yytname.  */  
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 1;  
   
           yyarg[0] = yytname[yytype];  
           yyfmt = yystpcpy (yyformat, yyunexpected);  
   
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
5463                {                {
5464                  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)                  yymsg = yymsgbuf;
5465                    {                  yymsg_alloc = sizeof yymsgbuf;
                     yycount = 1;  
                     yysize = yysize0;  
                     yyformat[sizeof yyunexpected - 1] = '\0';  
                     break;  
                   }  
                 yyarg[yycount++] = yytname[yyx];  
                 yysize1 = yysize + yytnamerr (0, yytname[yyx]);  
                 yysize_overflow |= yysize1 < yysize;  
                 yysize = yysize1;  
                 yyfmt = yystpcpy (yyfmt, yyprefix);  
                 yyprefix = yyor;  
5466                }                }
5467              }
5468    
5469            yyf = YY_(yyformat);          if (0 < yysize && yysize <= yymsg_alloc)
5470            yysize1 = yysize + yystrlen (yyf);            {
5471            yysize_overflow |= yysize1 < yysize;              (void) yysyntax_error (yymsg, yystate, yychar);
5472            yysize = yysize1;              yyerror (yymsg);
5473              }
5474            if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)          else
5475              yymsg = (char *) YYSTACK_ALLOC (yysize);            {
5476            if (yymsg)              yyerror (YY_("syntax error"));
5477              {              if (yysize != 0)
               /* Avoid sprintf, as that infringes on the user's name space.  
                  Don't have undefined behavior even if the translation  
                  produced a string with the wrong number of "%s"s.  */  
               char *yyp = yymsg;  
               int yyi = 0;  
               while ((*yyp = *yyf))  
                 {  
                   if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)  
                     {  
                       yyp += yytnamerr (yyp, yyarg[yyi++]);  
                       yyf += 2;  
                     }  
                   else  
                     {  
                       yyp++;  
                       yyf++;  
                     }  
                 }  
               yyerror (yymsg);  
               YYSTACK_FREE (yymsg);  
             }  
           else  
             {  
               yyerror (YY_("syntax error"));  
5478                goto yyexhaustedlab;                goto yyexhaustedlab;
5479              }            }
5480          }        }
5481        else  #endif
 #endif /* YYERROR_VERBOSE */  
         yyerror (YY_("syntax error"));  
5482      }      }
5483    
5484    
# Line 4649  yyerrlab: Line 5489  yyerrlab:
5489           error, discard it.  */           error, discard it.  */
5490    
5491        if (yychar <= YYEOF)        if (yychar <= YYEOF)
5492          {          {
5493            /* Return failure if at end of input.  */            /* Return failure if at end of input.  */
5494            if (yychar == YYEOF)            if (yychar == YYEOF)
5495              YYABORT;              YYABORT;
5496          }          }
5497        else        else
5498          {          {
5499            yydestruct ("Error: discarding", yytoken, &yylval);            yydestruct ("Error: discarding",
5500                          yytoken, &yylval);
5501            yychar = YYEMPTY;            yychar = YYEMPTY;
5502          }          }
5503      }      }
# Line 4674  yyerrorlab: Line 5515  yyerrorlab:
5515    /* Pacify compilers like GCC when the user code never invokes    /* Pacify compilers like GCC when the user code never invokes
5516       YYERROR and the label yyerrorlab therefore never appears in user       YYERROR and the label yyerrorlab therefore never appears in user
5517       code.  */       code.  */
5518    if (0)    if (/*CONSTCOND*/ 0)
5519       goto yyerrorlab;       goto yyerrorlab;
5520    
5521  yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
5522    yyssp -= yylen;       this YYERROR.  */
5523      YYPOPSTACK (yylen);
5524      yylen = 0;
5525      YY_STACK_PRINT (yyss, yyssp);
5526    yystate = *yyssp;    yystate = *yyssp;
5527    goto yyerrlab1;    goto yyerrlab1;
5528    
# Line 4708  yyerrlab1: Line 5552  yyerrlab1:
5552          YYABORT;          YYABORT;
5553    
5554    
5555        yydestruct ("Error: popping", yystos[yystate], yyvsp);        yydestruct ("Error: popping",
5556        YYPOPSTACK;                    yystos[yystate], yyvsp);
5557          YYPOPSTACK (1);
5558        yystate = *yyssp;        yystate = *yyssp;
5559        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5560      }      }
# Line 4720  yyerrlab1: Line 5565  yyerrlab1:
5565    *++yyvsp = yylval;    *++yyvsp = yylval;
5566    
5567    
5568    /* Shift the error token. */    /* Shift the error token.  */
5569    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5570    
5571    yystate = yyn;    yystate = yyn;
# Line 4755  yyreturn: Line 5600  yyreturn:
5600    if (yychar != YYEOF && yychar != YYEMPTY)    if (yychar != YYEOF && yychar != YYEMPTY)
5601       yydestruct ("Cleanup: discarding lookahead",       yydestruct ("Cleanup: discarding lookahead",
5602                   yytoken, &yylval);                   yytoken, &yylval);
5603      /* Do not reclaim the symbols of the rule which action triggered
5604         this YYABORT or YYACCEPT.  */
5605      YYPOPSTACK (yylen);
5606      YY_STACK_PRINT (yyss, yyssp);
5607    while (yyssp != yyss)    while (yyssp != yyss)
5608      {      {
5609        yydestruct ("Cleanup: popping",        yydestruct ("Cleanup: popping",
5610                    yystos[*yyssp], yyvsp);                    yystos[*yyssp], yyvsp);
5611        YYPOPSTACK;        YYPOPSTACK (1);
5612      }      }
5613  #ifndef yyoverflow  #ifndef yyoverflow
5614    if (yyss != yyssa)    if (yyss != yyssa)
5615      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5616  #endif  #endif
5617    return yyresult;  #if YYERROR_VERBOSE
5618      if (yymsg != yymsgbuf)
5619        YYSTACK_FREE (yymsg);
5620    #endif
5621      /* Make sure YYID is used.  */
5622      return YYID (yyresult);
5623  }  }
5624    
5625    
5626  #line 560 "lscp.y"  #line 738 "lscp.y"
5627    
5628    
5629  /**  /**
# Line 4787  void restart(yyparse_param_t* pparam, in Line 5641  void restart(yyparse_param_t* pparam, in
5641      ptr   = 0;      ptr   = 0;
5642  }  }
5643    
   

Legend:
Removed from v.826  
changed lines
  Added in v.1026

  ViewVC Help
Powered by ViewVC