/[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 221 by schoenebeck, Fri Aug 20 17:25:19 2004 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 1.875a.  */  /* 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 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 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       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  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 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 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 26 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #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 116  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 214 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef short
142    # undef short
143    #endif
144    
145  /* The parser invokes alloca or malloc; define the necessary symbols.  */  #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151  # if YYSTACK_USE_ALLOCA  #ifdef YYTYPE_INT8
152  #  define YYSTACK_ALLOC alloca  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
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #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  # else
182  #  ifndef YYSTACK_USE_ALLOCA  #  define YYSIZE_T unsigned int
183  #   if defined (alloca) || defined (_ALLOCA_H)  # endif
184  #    define YYSTACK_ALLOC alloca  #endif
185    
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194    # endif
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197    # endif
198    #endif
199    
200    /* 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.  */
228    
229    # ifdef YYSTACK_USE_ALLOCA
230    #  if YYSTACK_USE_ALLOCA
231    #   ifdef __GNUC__
232    #    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  #    ifdef __GNUC__  #    define YYSTACK_ALLOC alloca
242  #     define YYSTACK_ALLOC __builtin_alloca  #    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 */
245    #     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
257        /* 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
259           invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262    #  endif
263  # else  # else
264  #  if defined (__STDC__) || defined (__cplusplus)  #  define YYSTACK_ALLOC YYMALLOC
265    #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273  #   define YYSIZE_T size_t  #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290  #  endif  #  endif
 #  define YYSTACK_ALLOC malloc  
 #  define YYSTACK_FREE free  
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           || (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 yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 168  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) + 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 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
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
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 203  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))
   
 #endif  
348    
 #if defined (__STDC__) || defined (__cplusplus)  
    typedef signed char yysigned_char;  
 #else  
    typedef short yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  39  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   3976  #define YYLAST   4801
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  226  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  89  #define YYNNTS  139
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  412  #define YYNRULES  528
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1132  #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
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
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       224,     2,     2,   225,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   223,    70,   222,     3,    71,    72,    73,   221,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        74,    75,    76,     6,     2,     7,     5,    77,     8,     9,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        10,    11,    12,    13,    14,    15,    16,    17,    78,    79,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        80,     4,    81,    82,    83,    18,    19,    20,    21,    22,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        43,    84,    85,    86,    87,    88,     2,    44,    45,    46,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        67,    68,    69,    89,    90,    91,    92,     2,    93,    94,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       215,   216,   217,   218,   219,   220,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
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 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,    79,    81,    83,    85,    87,    89,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        91,    93,    95,    97,    99,   101,   103,   105,   107,   109,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       111,   117,   125,   135,   137,   143,   151,   161,   163,   165,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       157,   159,   161,   163,   179,   197,   215,   235,   243,   247,
415       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       251,   255,   257,   259,   265,   273,   283,   285,   291,   299,
416       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       309,   311,   313,   319,   325,   333,   343,   351,   361,   363,
417       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       369,   377,   383,   389,   395,   399,   401,   403,   407,   411,
418       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       421,   423,   429,   433,   441,   443,   451,   461,   469,   479,
419       457,   459,   461,   463,   466,   470,   475,   480,   482,   485,       483,   491,   503,   513,   523,   527,   531,   537,   541,   547,
420       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       551,   557,   565,   569,   573,   577,   581,   585,   591,   595,
421       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       599,   605,   613,   619,   629,   635,   641,   647,   653,   659,
422       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       665,   671,   677,   683,   689,   693,   699,   701,   703,   705,
423       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       707,   709,   711,   713,   715,   719,   723,   725,   729,   735,
424       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       743,   747,   749,   751,   753,   755,   757,   759,   761,   763,
425       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       765,   767,   769,   771,   773,   775,   777,   779,   781,   783,
426       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       785,   787,   789,   791,   793,   795,   797,   801,   803,   805,
427       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       807,   809,   811,   813,   815,   818,   822,   827,   832,   834,
428       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       837,   839,   841,   843,   845,   847,   849,   851,   853,   855,
429       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       857,   859,   862,   865,   868,   871,   874,   877,   880,   883,
430       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,
431       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,
432       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,
433       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,
434       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,
435       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,
436       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,      1006,  1008,  1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,
437       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,      1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,
438       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,      1046,  1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,
439       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,      1066,  1068,  1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,
440       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,      1086,  1088,  1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,
441       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,      1106,  1108,  1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,
442       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,      1126,  1128,  1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,
443       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,      1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,
444       977,   980,   984,   988,   990,   992,   994,   998,  1002,  1009,      1166,  1168,  1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,
445      1017,  1022,  1027,  1037,  1044,  1048,  1058,  1070,  1078,  1096,      1186,  1188,  1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,
446      1127,  1136,  1141,  1153,  1166,  1178,  1189,  1196,  1226,  1247,      1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,
447      1267,  1297,  1317,  1348,  1369,  1387,  1416,  1444,  1470,  1489,      1226,  1228,  1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,
448      1507,  1535,  1553,  1569,  1588,  1604,  1615,  1622,  1628,  1639,      1246,  1248,  1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,
449      1645,  1659,  1664      1266,  1268,  1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,
450        1286,  1288,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
451        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 yyrhs[] =  static const yytype_int16 yyrhs[] =
465  {  {
466       227,     0,    -1,   228,   266,    -1,   228,   267,   266,    -1,       228,     0,    -1,   229,   283,    -1,   229,   284,   283,    -1,
467        -1,   229,    -1,   230,    -1,     1,    -1,     3,    -1,   229,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
468         3,    -1,   229,   265,    -1,   229,   261,    -1,   229,   257,         3,    -1,   230,   282,    -1,   230,   278,    -1,   230,   274,
469        -1,   268,   265,   279,    -1,   269,   265,   233,    -1,   270,        -1,   285,   282,   232,    -1,   287,   282,   235,    -1,   288,
470       265,   235,    -1,   271,   265,   236,    -1,   272,   265,   241,       282,   236,    -1,   286,   282,   238,    -1,   290,   282,   240,
471        -1,   273,   265,   237,    -1,   275,   265,   279,   265,   251,        -1,   291,   282,   243,    -1,   292,   282,   248,    -1,   293,
472        -1,   276,   265,   234,    -1,   277,   265,   231,    -1,   278,       282,   244,    -1,   298,   282,   237,    -1,   299,   282,   239,
473       265,   232,    -1,   311,   265,   279,   265,   251,    -1,   311,        -1,   300,   282,   233,    -1,   301,   282,   234,    -1,   302,
474        -1,   314,    -1,   282,    -1,   286,    -1,   285,    -1,   284,       282,   280,    -1,   361,   282,   241,    -1,   289,   282,   242,
475        -1,   283,    -1,   312,    -1,   282,    -1,   286,    -1,   285,        -1,   361,    -1,   365,    -1,   303,    -1,   344,    -1,   344,
476        -1,   284,    -1,   283,    -1,   312,    -1,   280,    -1,   297,       282,   268,    -1,   308,    -1,   309,    -1,   310,    -1,   311,
477        -1,   303,   265,   283,   265,   257,    -1,   302,   265,   283,        -1,   316,    -1,   320,    -1,   319,    -1,   318,    -1,   317,
478       265,   257,   265,   257,    -1,   302,   265,   283,   265,   257,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   362,
479       265,   257,   265,   239,    -1,   281,    -1,   293,   265,   283,        -1,   321,    -1,   308,    -1,   309,    -1,   310,    -1,   311,
480       265,   257,    -1,   292,   265,   283,   265,   257,   265,   257,        -1,   316,    -1,   320,    -1,   319,    -1,   318,    -1,   317,
481        -1,   292,   265,   283,   265,   257,   265,   257,   265,   239,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   362,
482        -1,   290,    -1,   300,    -1,   291,   265,   283,   265,   261,        -1,   321,    -1,   342,   282,   258,   282,   259,   282,   260,
483        -1,   301,   265,   283,   265,   261,    -1,   304,   265,   283,       282,   266,   282,   267,   282,   264,   282,   262,    -1,   342,
484       265,   261,   265,   261,    -1,   299,   265,   283,   265,   261,       282,   258,   282,   259,   282,   260,   282,   266,   282,   267,
485       265,   261,   265,   257,    -1,   295,   265,   283,   265,   261,       282,   264,   282,   262,   282,   251,    -1,   342,   282,   258,
486       265,   261,    -1,   294,   265,   283,   265,   261,   265,   261,       282,   259,   282,   260,   282,   266,   282,   267,   282,   264,
487       265,   257,    -1,   282,    -1,   279,   265,   283,   265,   251,       282,   262,   282,   269,    -1,   342,   282,   258,   282,   259,
488        -1,   279,   265,   284,   265,   240,   265,   251,    -1,   279,       282,   260,   282,   266,   282,   267,   282,   264,   282,   262,
489       265,   285,   265,   251,    -1,   279,   265,   286,   265,   251,       282,   251,   282,   269,    -1,   342,   282,   258,   282,   259,
490        -1,   288,   265,   283,   265,   253,    -1,   289,   265,   261,       282,   260,    -1,   303,   282,   263,    -1,   344,   282,   258,
491       265,   257,     4,   255,    -1,   294,   265,   261,   265,   261,        -1,   344,   282,   294,    -1,   304,    -1,   336,    -1,   346,
492       265,   257,     4,   255,    -1,   298,   265,   261,   265,   257,       282,   307,   282,   274,    -1,   341,   282,   307,   282,   274,
493         4,   255,    -1,   299,   265,   261,   265,   261,   265,   257,       282,   274,    -1,   341,   282,   307,   282,   274,   282,   274,
494         4,   255,    -1,   279,   265,   238,    -1,   313,   265,   256,       282,   246,    -1,   305,    -1,   332,   282,   307,   282,   274,
495        -1,   291,   265,   257,   265,   239,    -1,   291,   265,   257,        -1,   331,   282,   307,   282,   274,   282,   274,    -1,   331,
496        -1,   301,   265,   257,   265,   239,    -1,   301,   265,   257,       282,   307,   282,   274,   282,   274,   282,   246,    -1,   329,
497        -1,   291,   265,   261,    -1,   301,   265,   261,    -1,   287,        -1,   339,    -1,   330,   282,   307,   282,   278,    -1,   340,
498       265,   242,    -1,   288,   265,   243,    -1,   291,   265,   251,       282,   307,   282,   278,    -1,   347,   282,   307,   282,   278,
499       265,   244,    -1,   295,   265,   251,   265,   245,   265,   245,       282,   278,    -1,   338,   282,   307,   282,   278,   282,   278,
500        -1,   296,   265,   251,   265,   246,    -1,   307,   265,   251,       282,   274,    -1,   334,   282,   307,   282,   278,   282,   278,
501       265,   244,   265,   247,   265,   248,    -1,   301,   265,   251,        -1,   333,   282,   307,   282,   278,   282,   278,   282,   274,
502       265,   244,    -1,   304,   265,   251,   265,   247,    -1,   305,        -1,   306,    -1,   303,   282,   307,   282,   263,    -1,   303,
503       265,   251,   265,   248,    -1,   306,   265,   251,   265,   249,       282,   318,   282,   247,   282,   263,    -1,   303,   282,   319,
504        -1,   308,   265,   251,   265,   250,    -1,   257,     4,   255,       282,   263,    -1,   303,   282,   320,   282,   263,    -1,   324,
505        -1,   239,   265,   257,     4,   255,    -1,   309,    -1,   310,       282,   307,   282,   266,    -1,   354,   282,   307,    -1,   321,
506        -1,   290,    -1,   300,    -1,   282,    -1,   254,   265,   252,        -1,   322,    -1,   343,   282,   258,    -1,   343,   282,   294,
507       265,   251,    -1,   274,   265,   254,   265,   252,   265,   251,        -1,   342,   282,   307,   282,   258,   282,   259,   282,   260,
508        -1,   253,   265,   251,    -1,   261,    -1,   261,    -1,   257,        -1,   345,    -1,   344,   282,   307,   282,   258,    -1,   353,
509        -1,   261,    -1,   261,    -1,   257,    -1,   258,    -1,   261,       282,   263,    -1,   352,   282,   307,   282,   263,   282,   265,
510        -1,   261,    -1,   261,    -1,   257,    -1,   264,    -1,   257,        -1,   355,    -1,   328,   282,   278,   282,   274,     4,   271,
511        -1,   264,    -1,   261,    -1,   258,    -1,   261,    -1,   257,        -1,   333,   282,   278,   282,   278,   282,   274,     4,   271,
512        -1,   262,    -1,   257,   262,    -1,   259,     5,   259,    -1,        -1,   337,   282,   278,   282,   274,     4,   271,    -1,   338,
513         6,   259,     5,   259,    -1,     7,   259,     5,   259,    -1,       282,   278,   282,   278,   282,   274,     4,   271,    -1,   303,
514       260,    -1,   259,   260,    -1,     8,    -1,     9,    -1,    10,       282,   245,    -1,   344,   282,   363,   282,   258,   282,   268,
515          -1,   352,   282,   334,   282,   263,   282,   265,   282,   253,
516         282,   253,    -1,   352,   282,   351,   282,   263,   282,   265,
517         282,   261,    -1,   352,   282,   356,   282,   263,   282,   265,
518         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,   260,    -1,     9,   259,    -1,        -1,    16,    -1,    17,    -1,    18,    -1,   277,    -1,    10,
552        10,   259,    -1,    11,   259,    -1,    12,   259,    -1,    13,       276,    -1,    11,   276,    -1,    12,   276,    -1,    13,   276,
553       259,    -1,    14,   259,    -1,    15,   259,    -1,    16,   259,        -1,    14,   276,    -1,    15,   276,    -1,    16,   276,    -1,
554        -1,    17,   259,    -1,    18,    -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 380  static const short yyrhs[] = Line 561  static const short yyrhs[] =
561        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
562        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
563        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
564        66,    -1,    67,    -1,    68,    -1,    69,    -1,     8,    -1,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
565         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
566        14,    -1,    15,    -1,    16,    -1,    17,    -1,    70,    -1,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
567         3,    -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
568        75,    -1,    76,    -1,     6,    -1,     7,    -1,     5,    -1,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
569        77,    -1,    78,    -1,    79,    -1,    80,    -1,     4,    -1,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
570        81,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
571        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
572        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
573        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
574       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
575       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
576       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
577       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
578       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
579       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
580       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
581       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
582       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
583       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
584       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
585       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
586       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
587       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
588       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
589       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
590       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
591       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
592       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
593       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
594       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
595       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
596       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
597       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
598       265,    -1,   257,    -1,   263,   265,    -1,   263,   257,    -1,       220,    -1,   221,    -1,   282,    -1,   274,    -1,   280,   282,
599       221,   263,   221,    -1,   222,   263,   222,    -1,   223,    -1,        -1,   280,   274,    -1,   222,   280,   222,    -1,   223,   280,
600       224,    -1,   225,    -1,    18,    21,    21,    -1,    24,    22,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
601        37,    -1,    20,    35,    22,    18,    37,    22,    -1,    21,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
602        22,    36,    37,    35,    32,    42,    -1,    29,    26,    36,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
603        37,    -1,    29,    32,    18,    21,    -1,    31,    32,    31,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
604        88,    30,    32,    21,    18,    29,    -1,    35,    22,    30,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
605        32,    39,    22,    -1,    36,    22,    37,    -1,    36,    38,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
606        19,    36,    20,    35,    26,    19,    22,    -1,    38,    31,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
607        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
608        20,    25,    18,    31,    31,    22,    29,    -1,    18,    39,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
609        18,    26,    29,    18,    19,    29,    22,    88,    22,    31,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
610        24,    26,    31,    22,    36,    -1,    18,    39,    18,    26,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
611        29,    18,    19,    29,    22,    88,    18,    38,    21,    26,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
612        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
613        35,    26,    39,    22,    35,    36,    -1,    20,    25,    18,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
614        31,    31,    22,    29,    36,    -1,    26,    31,    23,    32,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
615        -1,    19,    38,    23,    23,    22,    35,    88,    23,    26,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
616        29,    29,    -1,    36,    37,    35,    22,    18,    30,    88,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
617        20,    32,    38,    31,    37,    -1,    39,    32,    26,    20,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
618        22,    88,    20,    32,    38,    31,    37,    -1,    26,    31,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
619        36,    37,    35,    38,    30,    22,    31,    37,    -1,    22,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
620        31,    24,    26,    31,    22,    -1,    18,    38,    21,    26,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
621        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
622        22,    39,    26,    20,    22,    88,    33,    18,    35,    18,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
623        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
624        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
625        22,    39,    26,    20,    22,    36,    -1,    18,    38,    21,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
626        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
627        21,    22,    39,    26,    20,    22,    -1,    18,    38,    21,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
628        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
629        21,    35,    26,    39,    22,    35,    88,    33,    18,    35,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
630        18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
631        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
632        21,    35,    26,    39,    22,    35,    -1,    18,    38,    21,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
633        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
634        20,    25,    18,    31,    31,    22,    29,    88,    33,    18,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
635        35,    18,    30,    22,    37,    22,    35,    -1,    18,    38,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
636        21,    26,    32,    88,    32,    38,    37,    33,    38,    37,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
637        88,    20,    25,    18,    31,    31,    22,    29,    -1,    18,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
638        38,    21,    26,    32,    88,    32,    38,    37,    33,    38,        38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
639        37,    88,    37,    42,    33,    22,    -1,    18,    39,    18,        32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
640        26,    29,    18,    19,    29,    22,    88,    30,    26,    21,        -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
641        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        32,    24,    33,    -1,    20,    39,    24,    24,    23,    36,
642        26,    39,    22,    35,    36,    -1,    30,    26,    21,    26,        89,    24,    27,    30,    30,    -1,    37,    38,    36,    23,
643        88,    26,    31,    33,    38,    37,    88,    21,    22,    39,        19,    31,    89,    21,    33,    39,    32,    38,    -1,    40,
644        26,    20,    22,    88,    33,    18,    35,    18,    30,    22,        33,    27,    21,    23,    89,    21,    33,    39,    32,    38,
645        37,    22,    35,    -1,    30,    26,    21,    26,    88,    26,        -1,    38,    33,    38,    19,    30,    89,    40,    33,    27,
646        31,    33,    38,    37,    88,    33,    32,    35,    37,    88,        21,    23,    89,    21,    33,    39,    32,    38,    -1,    38,
647        33,    18,    35,    18,    30,    22,    37,    22,    35,    -1,        33,    38,    19,    30,    89,    40,    33,    27,    21,    23,
648        30,    26,    21,    26,    88,    26,    31,    33,    38,    37,        89,    21,    33,    39,    32,    38,    89,    31,    19,    42,
649        88,    21,    22,    39,    26,    20,    22,    36,    -1,    30,        -1,    27,    32,    37,    38,    36,    39,    31,    23,    32,
650        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        38,    -1,    23,    32,    25,    27,    32,    23,    -1,    33,
651        21,    22,    39,    26,    20,    22,    -1,    30,    26,    21,        32,    89,    22,    23,    31,    19,    32,    22,    -1,    33,
652        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        32,    89,    22,    23,    31,    19,    32,    22,    89,    26,
653        26,    39,    22,    35,    88,    33,    18,    35,    18,    30,        33,    30,    22,    -1,    34,    23,    36,    37,    27,    37,
654        22,    37,    22,    35,    -1,    30,    26,    21,    26,    88,        38,    23,    32,    38,    -1,    19,    39,    22,    27,    33,
655        26,    31,    33,    38,    37,    88,    21,    35,    26,    39,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
656        22,    35,    -1,    30,    26,    21,    26,    88,    26,    31,        40,    27,    21,    23,    89,    34,    19,    36,    19,    31,
657        33,    38,    37,    88,    33,    32,    35,    37,    -1,    30,        23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
658        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
659        20,    25,    18,    31,    31,    22,    29,    -1,    30,    26,        40,    27,    21,    23,    37,    -1,    19,    39,    22,    27,
660        21,    26,    88,    26,    31,    33,    38,    37,    88,    37,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
661        42,    33,    22,    -1,    30,    26,    21,    26,    88,    26,        23,    40,    27,    21,    23,    -1,    19,    39,    22,    27,
662        31,    33,    38,    37,    -1,    39,    32,    29,    38,    30,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
663        22,    -1,    19,    42,    37,    22,    36,    -1,    33,    22,        36,    27,    40,    23,    36,    89,    34,    19,    36,    19,
664        35,    20,    22,    31,    37,    18,    24,    22,    -1,    35,        31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
665        22,    36,    22,    37,    -1,    30,    26,    36,    20,    22,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
666        29,    29,    18,    31,    22,    32,    38,    36,    -1,    22,        36,    27,    40,    23,    36,    -1,    19,    39,    22,    27,
667        20,    25,    32,    -1,    34,    38,    26,    37,    -1        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,
683          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,
697          36,    27,    40,    23,    36,    -1,    31,    27,    22,    27,
698          89,    27,    32,    34,    39,    38,    89,    34,    33,    36,
699          38,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
700          39,    38,    89,    21,    26,    19,    32,    32,    23,    30,
701          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
702          38,    89,    38,    43,    34,    23,    -1,    31,    27,    22,
703          27,    89,    27,    32,    34,    39,    38,    -1,    31,    27,
704          22,    27,    89,    21,    33,    32,    38,    36,    33,    30,
705          30,    23,    36,    -1,    24,    42,    89,    37,    23,    32,
706          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,
710          -1,    20,    43,    38,    23,    37,    -1,    34,    23,    36,
711          21,    23,    32,    38,    19,    25,    23,    -1,    36,    23,
712          37,    23,    38,    -1,    31,    27,    37,    21,    23,    30,
713          30,    19,    32,    23,    33,    39,    37,    -1,    32,    19,
714          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 yyrline[] =  static const yytype_uint16 yyrline[] =
720  {  {
721         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    96,    96,    97,   100,   101,   102,   103,   106,   107,
722        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,       108,   109,   110,   113,   114,   115,   116,   117,   118,   119,
723       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
724       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       132,   133,   134,   137,   138,   139,   140,   141,   142,   143,
725       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       144,   145,   146,   147,   148,   149,   150,   151,   154,   155,
726       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
727       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       166,   167,   168,   171,   172,   173,   174,   177,   180,   181,
728       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       182,   185,   186,   187,   188,   189,   190,   191,   192,   193,
729       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
730       197,   200,   201,   204,   207,   210,   213,   216,   219,   222,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
731       225,   226,   229,   232,   235,   238,   241,   242,   243,   244,       214,   215,   216,   217,   218,   221,   222,   223,   224,   225,
732       250,   251,   254,   255,   258,   259,   260,   264,   265,   268,       226,   227,   228,   229,   230,   231,   234,   235,   236,   237,
733       269,   270,   271,   272,   273,   274,   275,   276,   277,   280,       238,   239,   242,   245,   246,   249,   250,   251,   254,   255,
734       281,   282,   283,   284,   285,   286,   287,   288,   289,   291,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
735       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       268,   269,   270,   271,   274,   275,   278,   279,   282,   283,
736       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       284,   285,   286,   287,   288,   289,   290,   291,   294,   295,
737       291,   291,   291,   291,   291,   292,   292,   292,   292,   292,       298,   301,   302,   303,   306,   309,   312,   315,   318,   319,
738       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       322,   325,   328,   331,   334,   337,   338,   341,   344,   347,
739       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       350,   353,   356,   359,   362,   365,   366,   369,   370,   371,
740       292,   293,   293,   293,   293,   293,   293,   293,   293,   293,       372,   380,   381,   384,   385,   388,   389,   390,   394,   395,
741       293,   294,   294,   294,   294,   294,   294,   294,   294,   294,       398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
742       294,   294,   294,   295,   295,   295,   295,   295,   295,   295,       410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
743       296,   296,   296,   296,   296,   297,   297,   297,   297,   298,       421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
744       298,   298,   299,   299,   299,   300,   300,   300,   301,   301,       421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
745       301,   302,   302,   302,   303,   303,   303,   304,   304,   304,       421,   421,   421,   421,   421,   421,   422,   422,   422,   422,
746       305,   305,   305,   306,   306,   306,   307,   307,   307,   308,       422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
747       308,   308,   309,   309,   309,   310,   310,   310,   311,   311,       422,   422,   422,   422,   422,   422,   422,   422,   422,   422,
748       311,   312,   312,   312,   313,   313,   313,   314,   314,   314,       422,   422,   423,   423,   423,   423,   423,   423,   423,   423,
749       315,   315,   315,   316,   316,   316,   317,   317,   317,   318,       423,   423,   424,   424,   424,   424,   424,   424,   424,   424,
750       318,   318,   319,   319,   319,   320,   320,   320,   321,   321,       424,   424,   424,   424,   424,   425,   425,   425,   425,   425,
751       321,   322,   322,   322,   323,   323,   323,   324,   324,   324,       425,   425,   426,   426,   426,   426,   426,   427,   427,   427,
752       325,   325,   325,   326,   326,   326,   327,   327,   327,   328,       427,   428,   428,   428,   429,   429,   429,   430,   430,   430,
753       328,   328,   329,   329,   329,   330,   330,   330,   331,   331,       431,   431,   431,   432,   432,   432,   433,   433,   433,   434,
754       331,   332,   332,   332,   333,   333,   333,   334,   334,   334,       434,   434,   435,   435,   435,   436,   436,   436,   437,   437,
755       335,   335,   335,   336,   336,   336,   337,   337,   337,   338,       437,   438,   438,   438,   439,   439,   439,   440,   440,   440,
756       338,   338,   339,   339,   339,   340,   340,   343,   344,   345,       441,   441,   441,   442,   442,   442,   443,   443,   443,   444,
757       346,   349,   350,   356,   359,   362,   365,   368,   371,   374,       444,   444,   445,   445,   445,   446,   446,   446,   447,   447,
758       377,   380,   383,   386,   389,   392,   395,   398,   401,   404,       447,   448,   448,   448,   449,   449,   449,   450,   450,   450,
759       407,   410,   413,   416,   419,   422,   425,   428,   431,   434,       451,   451,   451,   452,   452,   452,   453,   453,   453,   454,
760       437,   440,   443,   446,   449,   452,   455,   458,   461,   464,       454,   454,   455,   455,   455,   456,   456,   456,   457,   457,
761       467,   470,   473,   476,   479,   482,   485,   488,   491,   494,       457,   458,   458,   458,   459,   459,   459,   460,   460,   460,
762       497,   500,   503       461,   461,   461,   462,   462,   462,   463,   463,   463,   464,
763         464,   464,   465,   465,   465,   466,   466,   466,   467,   467,
764         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  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
778  /* YYTNME[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", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
783    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
784    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
785    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
786    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
787    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
788    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
789    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'", "':'",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
790    "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'", "'_'",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
791    "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'", "'\\203'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
792    "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'", "'\\211'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
793    "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'", "'\\217'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
794    "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'", "'\\225'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
795    "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'", "'\\233'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
796    "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'", "'¢'", "'£'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
797    "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'", "'¬'", "'­'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
798    "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'", "'¶'", "'·'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
799    "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'", "'À'", "'Á'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
800    "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
801    "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
802    "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
803    "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'", "'è'", "'é'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
804    "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
805    "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'", "'ü'", "'ý'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
806    "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'", "$accept",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
807    "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
808    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
809    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
810    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
811    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
812    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
813    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
814    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
815    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "map_instruction", "unmap_instruction", "remove_instruction",
816    "string", "dotnum", "digits", "digit", "number", "char", "text",    "get_instruction", "set_instruction", "create_instruction",
817    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "reset_instruction", "clear_instruction", "destroy_instruction",
818    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "load_instruction", "set_chan_instruction", "key_val_list",
819    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
820    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "load_engine_args", "instr_load_mode", "device_index",
821    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
822    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
823    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
824    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
825    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
826    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "string", "dotnum", "digits", "digit", "number", "char", "text",
827    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
828    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
829    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
830    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
831      "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",
840      "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",
841      "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",
842      "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",
843      "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",
844      "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",
845      "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS", "MIDI_INSTRUMENT_MAP",
846      "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
847      "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 yytoknum[] =  static const yytype_uint16 yytoknum[] =
857  {  {
858         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
859        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
860        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
861        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
862        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
863       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
864       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
865        33,    36,    37,    38,    40,    41,    42,    47,    58,    59,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
866        60,    62,    63,    64,    91,    92,    93,    94,    95,   123,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
867       124,   125,   126,   128,   129,   130,   131,   132,   133,   134,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
868       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
869       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
870       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
871       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
872       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
873       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
874       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
875       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
876       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
877       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
878       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
879       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
880       255,    39,    34,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
881  };  };
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 yyr1[] =  static const yytype_uint16 yyr1[] =
886  {  {
887         0,   226,   227,   227,   228,   228,   228,   228,   229,   229,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
888       229,   229,   229,   230,   230,   230,   230,   230,   230,   230,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
889       230,   230,   230,   230,   230,   230,   231,   231,   231,   231,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
890       231,   231,   232,   232,   232,   232,   232,   232,   233,   233,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
891       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       233,   233,   233,   233,   233,   233,   233,   233,   234,   234,
892       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
893       233,   234,   234,   234,   234,   234,   234,   235,   235,   235,       234,   234,   234,   235,   235,   235,   235,   236,   237,   237,
894       235,   236,   236,   237,   237,   238,   238,   238,   238,   238,       237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
895       238,   238,   238,   238,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
896       241,   242,   242,   243,   244,   245,   246,   247,   248,   249,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
897       250,   250,   251,   252,   253,   254,   255,   255,   255,   255,       238,   238,   238,   238,   238,   239,   239,   239,   239,   239,
898       256,   256,   257,   257,   258,   258,   258,   259,   259,   260,       239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
899       260,   260,   260,   260,   260,   260,   260,   260,   260,   261,       240,   240,   241,   242,   242,   243,   243,   243,   244,   244,
900       261,   261,   261,   261,   261,   261,   261,   261,   261,   262,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
901       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       245,   245,   245,   245,   246,   246,   247,   247,   248,   248,
902       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       248,   248,   248,   248,   248,   248,   248,   248,   249,   249,
903       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       250,   251,   251,   251,   252,   253,   254,   255,   256,   256,
904       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       257,   258,   259,   260,   261,   262,   262,   263,   264,   265,
905       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       266,   267,   268,   269,   270,   271,   271,   272,   272,   272,
906       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       272,   273,   273,   274,   274,   275,   275,   275,   276,   276,
907       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
908       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       278,   278,   278,   278,   278,   278,   278,   278,   278,   278,
909       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
910       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
911       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
912       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
913       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
914       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
915       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
916       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
917       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
918       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
919       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
920       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
921       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
922       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
923       263,   264,   264,   265,   266,   267,   268,   269,   270,   271,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
924       272,   273,   274,   275,   276,   277,   278,   279,   280,   281,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
925       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
926       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
927       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
928       312,   313,   314       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
929         279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
930         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,     5,     1,     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,
950         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
951         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         1,     1,     1,    15,    17,    17,    19,     7,     3,     3,
952         5,     7,     9,     7,     9,     1,     5,     7,     5,     5,         3,     1,     1,     5,     7,     9,     1,     5,     7,     9,
953         5,     7,     9,     7,     9,     3,     3,     5,     3,     5,         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,
954         3,     3,     3,     3,     3,     5,     7,     5,     9,     5,         7,     5,     5,     5,     3,     1,     1,     3,     3,     9,
955           1,     5,     3,     7,     1,     7,     9,     7,     9,     3,
956           7,    11,     9,     9,     3,     3,     5,     3,     5,     3,
957           5,     7,     3,     3,     3,     3,     3,     5,     3,     3,
958           5,     7,     5,     9,     5,     5,     5,     5,     5,     5,
959         5,     5,     5,     5,     3,     5,     1,     1,     1,     1,         5,     5,     5,     5,     3,     5,     1,     1,     1,     1,
960         1,     5,     7,     3,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     3,     3,     1,     3,     5,     7,
961           3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
962           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
963           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,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
966         1,     1,     1,     2,     3,     4,     4,     1,     2,     1,         1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     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 707  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,     1,     1,     1,     1,     1,     2,         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,
990         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         3,     5,     5,     6,     7,     4,     4,     3,     4,     7,
991         4,     4,     9,     6,     3,     9,    11,     7,    17,    30,         9,     6,     3,     9,    11,     6,     7,    17,    30,     8,
992         8,     4,    11,    12,    11,    10,     6,    29,    20,    19,         4,    25,    24,    23,    22,    25,    24,    21,    20,    13,
993        29,    19,    30,    20,    17,    28,    27,    25,    18,    17,        12,    11,    12,    11,    17,    21,    10,     6,     9,    14,
994        27,    17,    15,    18,    15,    10,     6,     5,    10,     5,        10,    29,    20,    19,    29,    19,    30,    20,    17,    28,
995        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 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,
1007         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1008         0,     0,     0,     0,     0,     0,     0,     0,     0,     1,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1009       364,   365,     2,     0,     9,   216,   211,   209,   210,   119,         0,     0,     0,     0,     0,     0,     1,   446,   447,     2,
1010       120,   121,   122,   123,   124,   125,   126,   127,   128,   139,         0,     9,   298,   293,   292,   290,   291,   200,   201,   202,
1011       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       203,   204,   205,   206,   207,   208,   209,   220,   221,   222,
1012       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1013       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1014       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1015       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1016       190,   201,   203,   204,   205,   206,   207,   208,   212,   213,       263,   264,   265,   266,   267,   268,   269,   270,   271,   282,
1017       214,   215,   217,   218,   219,   220,   221,   222,   223,   224,       284,   285,   286,   287,   288,   289,   294,   295,   296,   297,
1018       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
1019       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
1020       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1021       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1022       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1023       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
1024       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
1025       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
1026       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
1027       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,       389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1028       325,   326,   327,   328,   329,   330,   331,   332,   333,   334,       399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
1029       335,   336,   337,   338,   339,   340,   341,   342,   343,   344,       409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
1030       345,   346,   347,   348,   349,   350,   351,   352,   353,   354,       419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1031       355,   356,   363,    12,   129,    11,   112,    10,     0,     0,       429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1032         0,     0,     0,     0,     0,     0,     0,     0,     0,   366,       445,    12,   210,    11,   193,    10,     0,     0,     0,     0,
1033         0,     0,   367,     0,     0,     0,     0,     0,   374,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1034         0,     3,   119,   120,   121,   122,   123,   124,   125,   126,         0,   448,     0,     0,     0,   449,     0,     0,   450,     0,
1035       127,   128,   130,   117,   131,   132,   133,   134,   135,   136,         0,     0,     0,   462,     0,     0,     0,     3,   200,   201,
1036       137,   138,   202,   191,   192,   193,   194,   195,   196,   197,       202,   203,   204,   205,   206,   207,   208,   209,   211,   198,
1037       198,   199,   200,   113,     0,    13,     0,     0,     0,     0,       212,   213,   214,   215,   216,   217,   218,   219,   283,   272,
1038        14,     0,    38,    43,    55,     0,    47,     0,     0,     0,       273,   274,   275,   276,   277,   278,   279,   280,   281,   194,
1039         0,     0,    39,     0,    48,     0,     0,     0,     0,     0,         0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1040         0,    15,     0,     0,    16,     0,     0,     0,     0,     0,         0,     0,     0,    16,     0,    71,    76,    88,    95,    96,
1041        17,    90,    88,    89,     0,    18,     0,     0,     0,     0,         0,    80,     0,     0,     0,     0,     0,    72,     0,    81,
1042         0,     0,    20,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   100,     0,     0,     0,     0,
1043         0,     0,     0,     0,    21,    26,    30,    29,    28,    27,         0,   104,     0,    14,     0,    15,     0,     0,    27,     0,
1044        31,    22,    32,    36,    35,    34,    33,    37,     0,     0,         0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1045         0,   370,   371,   412,     0,     0,     0,     0,   118,     0,         0,     0,     0,     0,     0,    19,   151,   153,   150,   148,
1046         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       152,   149,     0,   156,     0,     0,    20,     0,     0,    21,
1047         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1048         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,    23,    33,    34,    35,    36,    42,    43,    44,
1050         0,     0,     0,     0,     0,     0,     0,     0,   409,     0,        45,    37,    41,    40,    39,    38,    47,    46,    24,    48,
1051         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        49,    50,    51,    57,    58,    59,    60,    52,    56,    55,
1052         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        54,    53,    62,    61,   440,    25,   439,    26,     0,     0,
1053         0,     0,     0,     0,    68,    70,   120,   121,   122,   123,         0,     0,   455,   456,   528,     0,     0,     0,     0,     0,
1054       124,   125,   126,   127,   128,    71,    72,     0,     0,     0,         0,   199,     0,     0,     0,     0,     0,     0,     0,     0,
1055         0,     0,     0,     0,    73,     0,   105,     0,    74,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1056       104,    19,   102,     0,     0,     0,     0,     0,     0,    65,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1058         0,     0,     0,    66,   111,   110,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1059         0,    23,   368,     0,   373,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1061         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   442,   441,     0,   452,
1062         0,     0,     0,     0,     0,     0,     0,   358,     0,   357,         0,     0,     0,   524,     0,     0,   451,     0,     0,     0,
1063         0,     0,     0,     0,     0,   411,     0,     0,     0,     0,         0,     0,    32,   182,     0,     0,     0,     0,     0,     0,
1064         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1065         0,     0,     0,     0,   381,     0,     0,     0,   369,     0,         0,     0,     0,     0,     0,     0,     0,     0,   201,   202,
1066         0,     0,     0,     0,     0,     0,     0,    56,     0,     0,       203,   204,   205,   206,   207,   208,   209,     0,    97,   171,
1067         0,    86,    87,    58,    59,    60,    49,     0,    44,     0,        98,     0,     0,     0,     0,   102,   177,    94,     0,     0,
1068         0,     0,    50,     0,    40,     0,     0,     0,    67,     0,         0,     0,   123,   124,     0,     0,     0,   117,   119,     0,
1069        69,     0,     0,     0,     0,     0,   361,   360,   359,   362,       125,   126,     0,     0,     0,     0,     0,   154,   155,   157,
1070         0,   103,     0,    93,     0,     0,     0,     0,     0,     0,         0,     0,   128,     0,   181,     0,   129,     0,   180,    68,
1071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        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,
1073         0,     0,   386,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1074         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   115,   175,     0,   198,   176,
1075         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       114,   192,   191,     0,     0,     0,     0,     0,     0,     0,
1076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,   122,   453,     0,   461,   465,     0,     0,     0,     0,
1077         0,     0,     0,     0,     0,     0,   375,     0,   377,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078         0,   377,     0,     0,     0,    57,    45,     0,    53,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1079        41,    51,     0,     0,     0,   209,   210,    84,   106,   109,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1080         0,   117,   108,   107,     0,     0,     0,     0,     0,    91,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1081         0,     0,     0,     0,     0,     0,    75,    94,     0,    95,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1082        77,    96,    79,    80,    97,    81,    98,    82,    99,     0,         0,     0,   527,     0,     0,     0,     0,     0,     0,     0,
1083         0,     0,    83,   100,   101,    61,     0,    63,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1084         0,     0,     0,     0,     0,     0,   380,     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,     0,     0,     0,     0,     0,     0,   406,         0,     0,     0,   454,     0,     0,     0,     0,   443,   444,
1087         0,     0,     0,     0,     0,     0,     0,     0,   376,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1088         0,     0,   407,     0,    46,    54,    52,    42,     0,     0,        89,     0,     0,     0,   146,   147,    91,    92,    93,    82,
1089        85,     0,     0,   114,     0,     0,     0,     0,    92,     0,         0,    77,     0,     0,     0,    83,     0,     0,   457,   101,
1090         0,     0,     0,    76,     0,    62,    64,     0,     0,     0,        73,     0,     0,     0,     0,   172,     0,     0,     0,     0,
1091         0,     0,     0,     0,     0,     0,     0,   115,   116,     0,         0,   116,     0,   118,   120,   174,   127,   179,     0,     0,
1092         0,   385,     0,     0,     0,     0,     0,     0,     0,     0,         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,
1094         0,     0,   372,     0,     0,     0,     0,    78,   382,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1095         0,   384,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1096         0,     0,     0,     0,     0,     0,     0,   405,     0,   383,       195,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1097         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   487,     0,     0,   517,
1098         0,     0,     0,     0,     0,     0,     0,   410,     0,     0,         0,   518,   470,     0,     0,     0,     0,     0,     0,     0,
1099         0,     0,     0,     0,     0,     0,   408,     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         0,     0,     0,     0,     0,     0,     0,   402,     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,     0,         0,     0,     0,     0,   526,     0,     0,     0,     0,     0,
1104         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,   196,   197,     0,     0,     0,     0,     0,     0,
1105         0,     0,     0,     0,     0,   378,     0,   399,   401,     0,         0,     0,   463,     0,   466,     0,     0,     0,   466,   515,
1106         0,   399,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,    90,    78,     0,    86,     0,    74,
1107       402,   404,     0,     0,     0,     0,     0,   398,     0,     0,         0,    84,   103,     0,     0,   173,    67,     0,     0,   515,
1108         0,     0,     0,     0,     0,     0,     0,     0,     0,   389,         0,     0,   290,   291,   144,   185,   187,   190,   189,   188,
1109       391,     0,     0,     0,     0,   389,     0,     0,     0,     0,       121,   184,     0,     0,     0,     0,     0,     0,   158,     0,
1110         0,   394,     0,   393,   388,     0,     0,     0,     0,     0,         0,     0,     0,     0,   130,   164,     0,   165,   132,   166,
1111         0,     0,     0,     0,   403,     0,     0,     0,     0,     0,       134,     0,     0,   141,   142,   143,   135,   167,   136,   168,
1112         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       169,   137,   170,     0,   138,   139,   140,   105,     0,   107,
1113         0,     0,   393,     0,     0,     0,     0,     0,     0,     0,         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,     0,   397,     0,     0,     0,     0,     0,       469,   516,     0,     0,     0,     0,     0,     0,     0,     0,
1116         0,     0,     0,     0,     0,     0,     0,     0,   400,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1117       396,     0,     0,     0,   395,     0,     0,   390,     0,   387,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1118       392,   379         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,
1126           0,     0,     0,     0,     0,     0,   486,     0,     0,     0,
1127           0,     0,     0,   458,     0,     0,     0,     0,     0,     0,
1128           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1129           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1130           0,     0,     0,     0,     0,   460,     0,     0,     0,     0,
1131           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,
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,
1137           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,
1142           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143           0,     0,     0,     0,     0,   510,   505,     0,   505,    63,
1144           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1145           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1146           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1147         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 yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1176  {  {
1177        -1,    12,    13,    14,    15,   384,   391,   330,   372,   351,        -1,    13,    14,    15,    16,   342,   442,   458,   383,   385,
1178       354,   365,   519,   638,   620,   360,   504,   508,   766,   768,       419,   353,   425,   393,   477,   388,   397,   416,   668,   861,
1179       770,   773,   775,   777,   782,   511,   650,   509,   505,   747,       833,   405,   652,   656,  1456,  1054,  1056,  1058,  1066,  1068,
1180       533,   748,   749,   750,   264,   512,   266,   578,   753,   695,      1071,   618,   854,  1024,   864,   695,   625,   874,   866,   657,
1181        42,    43,    16,    17,    18,    19,    20,    21,   507,    22,       653,   582,  1457,  1040,  1034,  1035,   700,  1036,  1037,   697,
1182        23,    24,    25,   325,   332,   333,   334,   386,   387,   388,       272,   626,   274,   475,  1039,   951,    49,    50,    17,    18,
1183       389,   366,   335,   374,   336,   337,   338,   339,   340,   341,        19,    20,    21,    22,    23,    24,    25,  1070,  1064,  1065,
1184       522,   342,   376,   343,   344,   345,   346,   347,   348,   525,       655,    26,    27,    28,    29,    30,   343,   355,   356,   357,
1185       526,   527,   528,   621,   622,    26,   390,   378,    27       594,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1186         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 -698  #define YYPACT_NINF -1068
1196  static const short yypact[] =  static const yytype_int16 yypact[] =
1197  {  {
1198        54,  -698,  -698,    32,    16,    73,    76,    -2,    24,    80,        68, -1068, -1068,    89,   175,    79,   103,   203,    55,   102,
1199        63,    45,   104,  -196,  1568,  -698,  -102,  -102,  -102,  -102,       127,    69,    59,   157,    80,  2382, -1068,   -23,   -23,   -23,
1200      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -698,   122,   155,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
1201       193,   212,   214,   230,   225,    -5,   215,   234,   218,  -698,       -23,   -23, -1068,   188,   211,   234,   227,   224,   232,   268,
1202      -698,  -698,  -698,    31,  -698,  -698,  -698,  -698,  -698,  -698,       239,   262,   165,   174,   275,   202, -1068, -1068, -1068, -1068,
1203       209,   209,   209,   209,   209,   209,   209,   209,   209,  -698,       110, -1068, -1068, -1068, -1068, -1068, -1068, -1068,   377,   377,
1204      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       377,   377,   377,   377,   377,   377,   377, -1068, -1068, -1068,
1205      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1206      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1207      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1208      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1209      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1210      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1211      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1212      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1213      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1214      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1215      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1216      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1217      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1218      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1219      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1220      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1221      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1222      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1223      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1224      -698,  -698,  -698,  2230,  -698,  -698,  -698,  -698,   236,    85,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1225        93,    93,    64,    30,   236,    90,    61,    61,   236,  -698,     -1068,  3047, -1068, -1068, -1068, -1068,    52,    57,   269,   269,
1226       239,   221,  -698,   222,   240,   223,   232,   243,  -698,   231,       307,   166,   166,   162,   228,    52,   114,   111,   111,  2604,
1227       224,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       311, -1068,   325,   327,   316, -1068,   322,   346, -1068,   332,
1228      -698,  -698,   209,  -698,   209,   209,   209,   209,   209,   209,       339,   352,   359, -1068,   364,   385,   357, -1068, -1068, -1068,
1229       209,   209,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,   377, -1068,
1230      -698,  -698,  -698,  -698,   241,  -698,   101,   244,   237,   245,       377,   377,   377,   377,   377,   377,   377,   377, -1068, -1068,
1231      -698,  -102,  -698,  -698,  -698,  -102,  -698,  -102,  -102,  -102,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1232      -102,  -102,  -698,  -102,  -698,  -102,  -102,  -102,  -102,   235,       407,   409, -1068, -1068,   -23,   297,   412,   405,   397,   414,
1233       246,  -698,  -102,  -102,  -698,  -102,  -102,   238,   249,   251,       430,   421,   422, -1068,   -23, -1068, -1068, -1068, -1068, -1068,
1234      -698,  -698,  -698,  -698,   250,  -698,  -102,  -102,  -102,   242,       -23, -1068,   -23,   -23,   -23,   -23,   -23, -1068,   -23, -1068,
1235       255,   256,  -698,  -102,  -102,  -102,  -102,  -102,  -102,   247,       -23,   -23,   -23,   -23,   -23, -1068,   -23,   -23,   -23,   -23,
1236       252,   258,   233,   254,  -698,  -698,  -698,  -698,  -698,  -698,       -23, -1068,   429, -1068,   -23, -1068,   -23,   431, -1068,   -23,
1237      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -102,   253,       420,   419,   435, -1068,   -23,   -23,   -23, -1068,   -23,   -23,
1238       267,  -698,  -698,  -698,   248,   266,   268,   270,  -698,   273,       -23,   301,   439,   424,   441, -1068, -1068, -1068, -1068, -1068,
1239       272,   286,   287,   282,   288,    60,   281,   281,   281,   281,     -1068, -1068,   -23, -1068,   -23,   437, -1068,   -23,   -23, -1068,
1240       281,   281,   281,   281,   281,   281,   281,   289,   290,  2230,       -23,   -23,   432,   449,   445, -1068,   -23,   -23,   -23,   -23,
1241      2230,   226,   226,   291,   295,   293,   279,   -28,  2230,   226,       -23,   -23,   -23,   -23,   -23,   436,   448,   447,   461,   451,
1242       296,   283,   297,    20,   226,   226,   226,   226,  2448,   298,       457,   458, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1243       299,   280,   285,   306,   226,   302,   305,   317,  -698,   303,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1244       309,   311,   320,   321,   318,   322,   324,  -102,  -102,  -102,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1245      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,     -1068, -1068, -1068, -1068,  3047,  2604, -1068, -1068,   -23,   456,
1246      -102,  -102,   325,   326,  1789,  1789,   209,   209,   209,   209,       455,   459, -1068, -1068, -1068,   454,   460,   475,   476,   465,
1247       209,   209,   209,   209,   209,  -698,  -698,   327,   328,   331,       480, -1068,   483,   481,   120,   482,   486,   487,   488,   418,
1248       323,   335,  1789,  1789,  -698,  -102,  -698,  -102,  -698,  -102,       492,   479,   478,   491,   116,   490,   490,   490,   490,   490,
1249      2230,  -698,  -698,   332,   336,   343,   333,   344,   340,  -698,       490,   490,   490,   490,   490,   209,   490,   490,   490,   490,
1250      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,       411,   490,   500,   411,   411,   501,   209,   502,   438,   503,
1251      -102,  -102,  -102,  -698,  2230,  -698,   350,   342,   356,   355,      3047,  3047,   411,   411,   411,   411,   506,   499,   440,   508,
1252       358,  -698,  -698,   337,  -698,   354,   361,   351,   352,   359,       209,   411,   494,    -6,  3047,   411,   209,   511,   509,   512,
1253       360,   362,   301,   226,     1,   226,   226,  2230,   226,  2230,       115,   411,   411,   411,   411,   504,   128,   310,  3266,   519,
1254      2230,   226,   226,   226,   226,  2230,  2230,   226,   353,   304,       518,   526,    42,   510,   513,   520,  3047, -1068,   411, -1068,
1255      2230,  2230,   363,   365,   310,   348,   366,  2230,  1126,  -698,       525,   516,   527, -1068,   514,   517, -1068,   521,   522,   528,
1256      1347,   226,   -74,   226,   367,  -698,   312,   369,   373,   372,      2604,  2604, -1068, -1068,   529,   530,   531,   532,   523,   534,
1257       226,   226,   226,   226,   226,   226,   226,   226,   226,  2230,       524,   543,   533,   535,   -23,   -23,   -23,   -23,   -23,   -23,
1258       226,  2230,   226,   380,  -698,   381,   386,   383,  -698,   368,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   377,   377,
1259       371,   385,   334,   390,   387,   388,   389,  -698,   370,   391,       377,   377,   377,   377,   377,   377,   377,   538, -1068, -1068,
1260      -102,  -698,  -698,  -698,  -698,  -698,  -698,  1789,  2230,  -102,     -1068,   -23,   -23,   -23,   -23, -1068, -1068, -1068,   542,   -23,
1261      -102,  -102,  -698,  1789,  2230,  -102,   338,   393,  -102,  2666,       -23,   544, -1068, -1068,   546,   537,   548,  2604,  2604,   -23,
1262      -102,   339,   392,   394,   378,   341,  -698,  2230,  -698,  -698,     -1068, -1068,   -23,   549,   545,   541,   566, -1068, -1068, -1068,
1263      -102,  -698,  -102,  -698,   347,   395,   397,   398,   399,  -102,       556,   572, -1068,   -23, -1068,   -23, -1068,   -23,  3047, -1068,
1264      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  2884,  -102,     -1068, -1068,   583,   578,   586,   573,   160,   584, -1068,   -23,
1265      3102,  -102,   376,   396,   406,   357,   416,   402,   410,   408,       -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
1266       422,   413,  -698,   412,   407,   411,   226,  2230,   226,   226,       -23,   -23,   -23,   -23,   -23,   551,   -23,   577,   595,   592,
1267       226,  2230,   226,   415,   417,  2230,  2010,   418,   420,   421,       -23,   -23,   -23,   377,   377, -1068, -1068,   298,    35, -1068,
1268       423,   424,   226,   226,   419,   439,   442,   400,   441,   226,     -1068,  3047, -1068,   593,   601,   594,   602,   607,   608,   611,
1269       226,  2230,   226,   226,   226,  2230,   226,   199,  2010,  2230,       612, -1068, -1068,   589, -1068, -1068,   609,   613,   603,   550,
1270      2010,  2230,   401,   446,   404,   465,  -698,   467,  -698,   449,      1938,  2160,   604,   622,   621,   638,   618,   590,   649,   643,
1271       469,   458,   463,   499,   502,  -698,  1789,  -102,  -698,  -102,       647,   650,   411,    48,   411,   411,  3047,   411,  3047,  3047,
1272      1789,  -698,   485,   491,  3320,   209,   209,  -698,  2230,  -698,       411,   411,   411,   411,  3047,   411,   652,   411,  3047,   411,
1273       119,    21,  -698,  -698,   487,   458,   493,   505,   496,  -698,       411,   596,   411,   411,   597,   651,   660,   598,  3047,  3047,
1274      -102,   492,   498,   444,   503,   511,  -698,  -698,  -102,  -698,       411,   411,   655,   657,   667,   605,   656,   659,   411,   120,
1275      -698,  2230,  -698,  -698,  -698,  -698,  -698,  -698,  2230,  -102,       411,   662, -1068,   610,   671,   675,   663,   668,   411,   411,
1276       209,   209,  -698,  -698,  -698,  -698,  3538,  -698,  3756,   512,       411,   411,   411,   411,   411,   411,   411,   411,   411,   411,
1277       516,   517,   504,   518,   501,   519,  -698,   507,   506,   521,      3047,   411,  3047,   411,   669,   411,   680,   664,   681,   411,
1278      2230,  2230,  2230,  2230,   509,   513,  2010,   171,   187,   209,       411,   411,   434,   468,   377,   674,   685,   677,   623,   687,
1279       515,   520,   508,   533,   226,   522,   523,   524,   526,  -698,       692,   683,   691, -1068,   695,   682,   693,   690, -1068, -1068,
1280       226,   226,  2010,  2010,   534,   531,   532,   525,  -698,   536,       630,   701,   698,   699,   702,   697,   689,   641,   713,   704,
1281       477,   535,  -698,   539,  -102,  2230,  2230,  -102,   538,   537,     -1068,   700,   717,   -23, -1068, -1068, -1068, -1068, -1068, -1068,
1282      -698,   209,   209,   209,   540,   541,   542,   557,  -698,   543,      2604,  3047,   -23,   -23,   -23, -1068,  2604,   -23, -1068, -1068,
1283       544,   545,   547,  -698,  -102,  -698,  -698,   548,   560,   546,      3047,   -23,   -23,   714,   -23, -1068,   -23,   715,   661,   712,
1284       554,   549,   120,   510,   552,   553,   514,   209,   209,   555,       718,   -23,  3485,   -23,   -23, -1068, -1068, -1068,   666,   725,
1285       528,  -698,   561,   556,   551,   558,   559,   226,   563,   564,       719,   722,   720,   672,   -23, -1068,   -23, -1068,   673,   726,
1286       568,   566,   567,   562,   570,   579,   116,   588,   572,   586,       729,   730,   735,   727,   -23,   -23,   -23,   -23,   -23,   -23,
1287       573,   590,  -698,   575,   157,   580,   577,  -698,  -698,   582,       -23,   -23,   -23,   -23,   -23,   -23,  3704,   -23,  3923,   -23,
1288       585,  -698,   574,   603,   601,   605,     4,   595,   604,   576,       740,   -23,   737,   742,   739,   -23,   -23,   -23,   377,   377,
1289       607,   578,   608,   581,   609,   600,   596,   583,   597,  -698,       377,   678,   716,   745,   743,   741,   738,   684,   686,   749,
1290       207,   610,   611,   615,   606,   616,   621,   613,   622,   619,       747,   746,   748,   750,   758,   752, -1068,   762,   754, -1068,
1291       623,   624,   211,   626,   625,   630,    40,  -698,   636,    71,       753, -1068, -1068,   751,   756,   411,  3047,   411,   411,   411,
1292       614,   637,   584,   644,   634,   640,  -698,   657,   654,   659,      3047,   411,   411,   411,   755,   411,   411,   763,   757,   766,
1293       658,   660,   661,   662,   650,   602,   666,   665,   651,   674,       764,  3047,  2826,   120,   761,   767,   776,   768,   770,   771,
1294       655,   675,   617,   687,   685,   692,   691,   627,   677,   694,       411,   411,   772,   774,   775,   710, -1068, -1068,   411,   411,
1295       678,   698,   701,   681,   702,   627,    12,   703,   688,   693,      3047,   411,   107,   411,   209,  3047,   411,   310,  3266,  3266,
1296       699,   705,   690,   700,   697,   706,   712,   704,   708,   716,      2826,  3047,  2826,  3047, -1068,   120,   777,   773,   723,   411,
1297       721,   718,   725,   707,   723,   728,   726,   710,   722,   720,       411,   411,   377,   377,   778,   724,   779,   782,   785,   728,
1298       733,   729,   741,   740,   727,  -698,   730,   732,   684,   748,       781,   783, -1068,   787, -1068,   786,   780,   792,   789,   793,
1299       749,  -698,   753,   732,   743,   755,   695,   760,   746,   750,        75,   791,   810,   795, -1068,  2604,   -23, -1068,   -23,  2604,
1300      -698,  -698,   758,   762,   747,   751,   752,  -698,   754,   756,       -23, -1068, -1068,   797,   -23, -1068, -1068,   798,   799, -1068,
1301       763,   764,   767,   773,   768,   769,   781,   782,   776,   774,       806,  4142,   377,   377,   837, -1068,  3047, -1068, -1068, -1068,
1302       735,   778,   777,   797,   798,  -698,   774,   788,   736,   802,     -1068, -1068,   804,   789,   793,   229,   821,   812, -1068,   -23,
1303       790,  -698,   796,   739,  -698,   795,   791,   742,   799,   805,       807,   231,   759,   820, -1068, -1068,   -23, -1068, -1068,  3047,
1304       739,   803,   804,   815,  -698,   807,   820,   806,   823,   827,     -1068,   827,   818, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1305       819,   828,   829,   821,   830,   814,   765,   816,   822,   824,     -1068, -1068,  3047,   -23, -1068, -1068, -1068,   837,  4361,   837,
1306       825,   826,  -698,   831,   841,   843,   836,   845,   846,   847,      4580, -1068,   765, -1068,   831,   -23,   -23,   -23,   814,   832,
1307       848,   853,   842,   839,   838,   851,   844,   850,   852,   854,       769,   254,   836,   839,   824,   829,   840,   826,   828,   842,
1308       856,   857,   863,   868,  -698,   869,   870,   871,   858,   859,     -1068, -1068,   844,   830,   854,   848,   864,  3047,  3047,  3047,
1309       862,   864,   865,   866,   867,   878,   881,   872,  -698,   883,      3047,   411,   850,  3047,   851,   855,   858,  2826,  2826,   856,
1310      -698,   884,   874,   875,  -698,   876,   877,  -698,   880,  -698,       859,   862,   835,   879,   411,   866,   863,   880,   882,   411,
1311      -698,  -698       891,   884,   411,  2826,  2826,   885,   886,   411,   411,   310,
1312         883,   890,   214,   881,   888,   898,   889,   906,   895, -1068,
1313         899,   902,   852,   901,   904,   916, -1068,   910,   -23,  3047,
1314        3047,   -23, -1068,   907,   -23,   908,   911,   912,   837, -1068,
1315         914,   913,   917,   918,   930, -1068,   927,   929,   931,   296,
1316       -1068,   933,   946,   -23,   837,   837,   934,   940,   -23, -1068,
1317       -1068,   944,   949,   941,   948,   943,   947,   959,   945,   964,
1318         954,   950,   951,   169,   903,   955,   965,   957,   958,   120,
1319         960,   963,   909,   967,   919,   968, -1068,   966,   971,   922,
1320         974,   975,   976, -1068,   209,   978,   979,   411,   982,   983,
1321         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 yypgoto[] =  static const yytype_int16 yypgoto[] =
1369  {  {
1370      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,
1371      -698,  -698,  -698,  -570,  -698,  -698,  -698,  -698,  -658,    87,     -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068, -1068,  -734,
1372      -698,    92,    37,  -698,  -698,  -439,   219,   364,   345,  -697,     -1068, -1068, -1068, -1068, -1068,  -899, -1067, -1068,   278,   189,
1373      -698,   316,   201,    13,   -10,   -14,   292,   425,  -410,   -12,     -1068,  -505,  -696,  -903,   274,  -957,  -503,  -934,  -876,  -713,
1374       886,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -745,   474,   -35, -1068,  -919,   344,  -571,   496,  -535,   -13,
1375      -698,  -698,  -698,  -156,  -698,  -698,  -131,  -255,  -242,  -241,       585,   -14,   425,  -171,  -477,   -15,  1413, -1068, -1068, -1068,
1376      -240,  -698,   663,  -698,   652,  -254,  -698,  -698,   648,   489,     -1068, -1068, -1068, -1068, -1068, -1068, -1068,  -440, -1068, -1068,
1377      -698,  -698,  -698,   667,   668,  -252,  -698,  -698,   490,  -698,     -1068, -1068, -1068, -1068, -1068, -1068,  -106,  1200,  1202,  1203,
1378      -698,  -698,  -698,  -698,  -698,  -698,   653,  -698,  -698      -344,  1176,  1177,  1180,  1208,  1216,  1218,  1224,  1226,  1227,
1379        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 -130  #define YYTABLE_NINF -211
1391  static const short yytable[] =  static const yytype_int16 yytable[] =
1392  {  {
1393       265,   640,   267,   501,   268,   269,   270,   271,   272,   273,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1394       274,   275,   276,   277,   278,   541,   352,   355,   353,   356,       284,   285,   286,   287,   288,   289,   290,   583,   629,   630,
1395       618,   785,   393,   787,    32,   286,   924,   506,    40,    41,      1074,   632,   696,   838,   876,   863,   651,  1049,   374,   639,
1396        33,   287,   996,   947,   619,   394,   395,   396,   516,   925,       394,   398,   642,   395,   399,   647,   421,   431,   649,   433,
1397       303,   303,   303,   303,   303,   303,   303,   303,   303,   997,      -210,   660,   659,  1026,  1420,   318,   320,   321,   322,   323,
1398       517,    29,   328,    28,   772,     1,   364,     2,   779,   518,       324,   325,   326,   327,   469,   470,   471,   856,  1420,  1454,
1399       956,   910,    34,   302,   304,   305,   306,   307,   308,   309,      1455,  1077,  1180,  1079,   706,   711,   654,  1022,   831,     1,
1400       310,   311,     3,   957,     4,     5,    38,   958,     6,   379,      1188,     2,  1060,   340,    40,   620,   345,  1073,   346,   707,
1401       379,   358,   357,     7,   358,    36,   380,   380,     8,     9,       347,   348,   832,   341,  1432,  1357,   633,     3,   349,     4,
1402        10,   381,    11,   960,   359,    30,   382,   382,    31,   383,         5,    45,    43,     6,   350,   351,  1421,   352,     7,     8,
1403       383,    37,    35,   326,    39,   327,   961,   328,   369,   840,       648,  1433,    36,     9,    10,    11,   661,    12,    44,  1102,
1404       324,   349,   370,   331,   617,   329,   623,   624,   368,   373,      1428,    33,  1103,  1085,  1086,  1087,   308,   608,   609,   610,
1405       371,   262,   398,   350,   809,   855,   856,   292,   293,   294,       611,   612,   613,   614,   615,   616,    37,  1367,  1289,  1061,
1406       295,   296,   297,   298,   299,   300,   301,   906,   883,   410,       435,   436,   437,   422,   665,   340,   436,   423,   391,  1062,
1407       411,   361,   884,   279,   653,   385,   392,   502,   503,   907,      1368,    41,   438,   593,  1369,   424,   666,   687,   439,   440,
1408       885,   659,   660,   661,   662,   663,   664,   665,   666,   667,        42,   441,   667,   439,   352,   352,   441,    46,   688,   689,
1409       467,   471,   472,   473,   474,   475,   476,   477,   478,   479,      1264,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1410       480,   481,   506,   468,   469,   470,   841,   280,   914,   292,       607,   354,   621,   622,   623,   624,  1314,   627,  1378,   420,
1411       293,   294,   295,   296,   297,   298,   299,   300,   301,   520,       426,   401,  1190,   402,   478,   390,   403,   775,  1240,  1315,
1412       915,   523,   842,   502,   503,   292,   293,   294,   295,   296,       391,  1379,  1241,   404,  1280,  1294,   300,   392,  1168,   776,
1413       297,   298,   299,   300,   301,   780,   781,   292,   486,   487,      1242,   270,   301,  1478,   302,    34,  1281,  1295,  1162,  1479,
1414       488,   489,   490,   491,   492,   493,   494,   292,   293,   294,       291,    35,   303,  1480,  1184,  1185,   580,   581,   308,   608,
1415       295,   296,   297,   298,   299,   300,   301,   938,   939,   281,       609,   610,   611,   612,   613,   614,   615,   616,   617,   830,
1416       834,   951,   952,   837,   292,   486,   487,   488,   489,   490,        38,   836,   837,   305,   292,  1193,    39,  1533,  1572,   306,
1417       491,   492,   493,   494,  -129,  -129,  -129,   735,   284,   282,       847,  1194,   849,  1534,  1573,  1020,  1577,   852,   580,   581,
1418       283,   285,   288,   289,   290,    40,   324,   399,   400,   401,       670,   347,  1578,   396,   400,   415,   690,   293,   432,  -210,
1419       403,   402,   407,   759,   404,   405,   409,   406,   413,   412,      -210,  -210,   295,  1120,   294,  1126,  1121,   877,  1097,   296,
1420       452,   414,   428,   427,   434,   441,   433,   435,    -4,    -4,       595,   596,   597,   298,   476,   884,   885,   886,   887,   888,
1421       440,   436,   442,   450,   451,   449,   453,   457,   459,   460,       889,   890,   891,   892,   893,   894,   895,   297,  1143,   299,
1422       455,   461,   408,   462,   408,   408,   408,   408,   408,   408,       901,  1144,   654,    -4,    -4,   304,   905,   906,   907,   669,
1423       408,   408,   456,   458,   463,   464,   465,   380,   514,   466,       382,   673,   672,   678,   804,    47,    48,   308,   309,   310,
1424       482,   483,   497,   498,   499,   500,   538,   513,   515,   415,       311,   312,   313,   314,   315,   316,   317,   693,   694,   308,
1425       539,   536,   537,   416,   542,   417,   418,   419,   420,   421,       608,   609,   610,   611,   612,   613,   614,   615,   616,   494,
1426       263,   422,   540,   423,   424,   425,   426,   543,   545,   544,      1221,   389,   340,  1097,   412,    47,   495,   496,   387,   504,
1427       429,   430,   547,   431,   432,   546,   548,   549,   551,   550,       536,   496,   580,   581,   479,   505,   480,   506,   507,   508,
1428       552,   568,   569,   572,   437,   438,   439,   574,   584,   573,       509,   510,  1321,   511,   481,   512,   513,   514,   515,   516,
1429       575,   443,   444,   445,   446,   447,   448,   576,   585,   586,       482,   517,   518,   519,   520,   521,  1343,  1344,   483,   523,
1430       588,   587,   589,   603,   604,   848,   605,   606,   607,   608,       484,   524,   485,  1158,   526,   486,  1161,  1362,  1363,   530,
1431       609,   610,   611,   644,   612,   636,   454,   676,   613,   616,       531,   532,   487,   533,   534,   535,   308,   309,   310,   311,
1432       656,   614,   637,   615,   657,   641,   642,   645,   643,   654,       312,   313,   314,   315,   316,   317,   490,   540,  1389,   541,
1433       655,   658,   672,   673,   674,   675,   677,   678,   680,   681,      1164,   488,   543,   544,   489,   545,   546,  1075,  1076,   720,
1434       682,   722,   684,   685,   698,   683,   700,   495,   496,   694,       721,   550,   551,   552,   553,   554,   555,   556,   557,   558,
1435       699,   705,   679,   706,   707,   723,   693,   697,   727,   701,       308,   608,   609,   610,   611,   612,   613,   614,   615,   616,
1436       529,   530,   531,   532,   535,   704,   724,   708,   726,   728,       456,   472,  1014,   492,   384,   386,   493,   498,   497,   499,
1437       729,   730,   731,   732,   733,   725,   734,   742,   743,   755,       908,   500,   696,   308,   309,   310,   311,   312,   313,   314,
1438       754,   761,   756,   757,   758,   553,   554,   555,   556,   557,       315,   316,   317,   501,   502,   503,   522,  1048,   525,   527,
1439       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,       567,   528,   529,   568,  1248,   537,   538,  1063,   539,   542,
1440       762,   765,   570,   571,   763,   790,   303,   303,   303,   303,       548,   547,   549,   561,   909,   559,  1041,   308,   309,   310,
1441       303,   303,   303,   303,   303,   792,   793,   794,   764,   789,       311,   312,   313,   314,   315,   316,   317,   560,   562,   563,
1442       579,   579,   791,   581,   796,   582,   797,   583,   795,   302,       564,   565,   569,   570,   572,   571,   574,   575,   573,   576,
1443       304,   305,   306,   307,   308,   309,   310,   311,   590,   591,       577,   619,   578,   579,   584,   585,   586,   588,   583,   619,
1444       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       619,   271,   619,   587,   589,   590,   591,   593,   644,   640,
1445       602,   798,   799,   804,   805,   810,   811,   812,   813,   818,       641,   592,   628,   631,   634,   636,   619,   635,   643,   645,
1446       815,   816,   817,   819,   825,   824,   827,   826,   829,   846,       646,   650,   619,   662,   664,   663,   685,   681,   682,   683,
1447       828,   830,   832,   833,   626,   831,   838,   629,   630,   631,       684,   703,   704,   699,   702,   705,   708,   710,   712,   713,
1448       632,   839,   844,   635,   847,   323,   851,   852,   845,   849,       714,   709,   715,   716,   718,   719,   722,   723,   717,   725,
1449       857,   850,   858,   860,   859,   862,   648,   651,   648,   861,       726,   727,   729,   724,   728,   476,   476,   731,   746,   751,
1450       864,   865,   863,   869,   866,   872,   873,   878,   870,   871,       794,   754,   730,   755,   756,   757,   762,   763,   764,   732,
1451       876,   874,   879,   875,   880,   881,   669,   882,   671,   887,       733,   734,   735,   736,   737,   738,   739,   740,   741,   742,
1452       892,   888,   898,   890,   893,   895,   899,   896,   886,   900,       743,   744,   745,   765,   766,   318,   320,   321,   322,   323,
1453       903,   904,   889,   901,   902,   905,   908,   910,   686,   909,       324,   325,   326,   327,   696,   767,   747,   748,   749,   750,
1454       911,   912,   913,   916,   917,   687,   891,   688,   689,   690,       771,   772,   774,   773,   752,   753,   796,   777,   797,   798,
1455       918,   691,   919,   692,   921,   922,   923,   926,   927,   929,       805,  1175,   758,   759,   760,   806,   807,   761,   809,   808,
1456       931,   933,   934,   937,   935,   946,   940,   941,   702,   894,       811,   810,   813,   812,   815,   816,   814,   820,   768,   817,
1457       703,   942,   944,   947,   949,   943,   962,   709,   710,   711,       769,   824,   770,   319,   319,   319,   319,   319,   319,   319,
1458       712,   713,   714,   715,   716,   717,   945,   719,   948,   721,       319,   319,   821,   822,   778,   779,   780,   781,   782,   783,
1459       954,   959,   920,   950,   928,   953,   930,   955,   963,   932,       784,   785,   786,   787,   788,   789,   790,   791,   792,   793,
1460       965,   936,   964,   966,   737,   738,   739,   967,   741,   968,       823,   795,   826,   827,   829,   799,   800,   801,   828,   825,
1461       969,   970,   752,   973,   971,   972,   751,   975,   974,   651,       802,   803,   848,   859,   858,   853,   857,   860,   868,   869,
1462       976,   977,   980,   979,   981,   767,   769,   978,   767,   774,       870,   873,   872,   880,   871,   878,   339,   881,   883,   879,
1463       776,   982,   767,   784,   752,   983,   752,   751,   751,   984,       900,   882,   902,   904,   903,   567,   567,   911,   912,   913,
1464       751,   985,   986,   987,   990,   988,   989,   991,   992,   993,       915,   916,   914,   917,   918,   919,   921,   922,   920,   923,
1465       994,   998,   995,   999,   800,   801,  1000,   802,   803,  1003,       924,   925,   926,   839,   928,   929,   842,   843,   844,   845,
1466      1001,  1002,  1004,  1005,  1007,   303,   303,  1006,  1014,  1008,       930,   619,   654,   619,   927,   851,   931,   932,   855,   855,
1467       408,  1009,  1010,  1011,  1012,   484,   485,  1013,   814,  1015,       934,   944,   947,   933,   949,   950,   865,   867,   955,   957,
1468      1016,  1017,  1018,  1019,   510,  1021,   820,  1020,   807,   808,       948,   956,   995,   963,   875,   954,   964,   965,   966,   958,
1469      1022,  1023,  1024,  1026,   534,  1025,  1029,   821,  1027,  1030,       967,   959,   962,   984,   986,   987,   988,   994,   996,   999,
1470       303,   303,  1028,  1031,  1032,  1033,   323,   323,  1035,  1036,       997,   998,  1002,  1000,  1003,  1001,  1004,   897,  1007,   899,
1471      1038,  1037,  1040,  1034,  1039,  1045,  1046,  1043,  1041,  1047,      1005,   619,  1008,  1006,  1009,   474,  1010,  1023,  1029,  1012,
1472      1042,  1044,   752,   807,   808,  1048,   751,   408,   408,   303,      1028,   910,  1013,  1011,  1042,  1027,  1030,  1043,  1044,  1053,
1473      1050,  1049,   323,  1051,  1052,  1053,   769,   774,   752,   752,      1045,  1046,  1047,  1083,  1095,  1050,  1051,  1096,  1052,  1090,
1474      1054,  1056,   751,   751,  1057,  1058,  1059,  1060,   577,   577,      1082,  1088,  1084,  1089,  1091,  1092,  1106,  1093,   935,  1098,
1475      1062,  1063,   843,  1055,  1061,  1064,   323,  1065,  1066,  1067,       696,  1094,  1099,  1097,  1104,   936,  1100,   937,   938,   939,
1476      1068,   303,   303,   408,  1069,  1070,  1071,  1073,  1075,  1072,      1101,   940,   941,  1105,  1112,  1114,   942,   943,  1115,   945,
1477      1074,  1079,   877,  1076,  1077,  1078,  1080,  1081,  1083,  1084,      1116,   946,  1118,  1119,  1122,  1123,  1125,  1128,  1127,   953,
1478      1082,  1086,  1087,  1085,   867,   868,  1090,   408,   408,  1092,      1130,  1131,  1136,  1140,  1135,  1145,  1141,  1147,  1142,   960,
1479      1089,  1088,  1094,   776,  1093,  1097,  1091,  1095,  1096,   323,      1146,   961,  1148,  1149,  1150,  1152,  1151,  1173,  1154,   968,
1480      1098,  1099,  1100,   510,  1101,   627,   628,  1102,  1108,  1104,       969,   970,   971,   972,   973,   974,   975,   976,   977,   978,
1481      1105,   633,   634,  1109,  1107,  1110,   639,   639,  1103,  1106,       979,  1155,   981,  1153,   983,  1156,   985,  1157,  1163,  1165,
1482      1111,  1112,  1113,  1114,   647,  1115,   647,  1117,  1116,  1118,       989,   990,   991,  1166,  1170,   992,   993,  1167,  1171,   339,
1483      1122,  1120,  1119,  1123,  1121,  1125,  1126,   853,  1124,  1127,      1172,  1174,  1177,   491,  1176,   491,   491,   491,   491,   491,
1484      1128,  1129,  1130,   854,   897,   668,  1131,   670,   783,   323,       491,   491,   491,  1178,  1179,  1181,  1182,  1192,  1186,  1187,
1485       323,   625,   760,   375,   362,   323,   323,   652,   580,   291,      1195,  1191,  1198,  1016,  1017,  1018,  1196,   855,  1021,   867,
1486       397,   323,   521,   524,     0,     0,   367,     0,     0,   323,      1197,  1025,  1025,  1199,  1200,  1201,  1202,  1206,  1038,  1204,
1487       363,     0,   377,     0,     0,     0,     0,     0,     0,     0,      1205,  1203,  1207,  1208,  1210,  1211,  1458,   875,  1213,  1217,
1488         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1212,  1214,  1222,  1215,  1055,  1057,  1216,  1055,   619,  1067,
1489       323,     0,   323,     0,     0,     0,     0,     0,     0,     0,      1069,  1218,  1055,   699,   702,   702,  1038,  1219,  1038,  1223,
1490         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1220,   566,  1226,  1225,  1230,   867,   867,   867,  1228,  1229,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1231,  1232,  1234,  1233,  1235,  1236,  1237,  1275,  1245,  1238,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1239,   339,  1243,  1268,  1244,  1246,  1255,  1247,  1251,  1249,
1493         0,     0,     0,   736,     0,     0,     0,   740,     0,     0,      1107,  1108,  1250,  1109,  1110,  1111,  1252,  1254,  1253,  1113,
1494         0,   744,     0,     0,     0,     0,     0,     0,     0,     0,      1256,  1257,  1258,  1266,  1259,  1260,  1262,  1263,  1458,   802,
1495         0,     0,     0,     0,     0,     0,     0,   771,   323,     0,       803,  1265,  1271,  1267,  1269,  1270,   637,   638,  1272,  1273,
1496         0,   778,   323,     0,     0,   786,   323,   788,     0,     0,      1274,  1276,  1278,  1277,  1124,  1279,  1282,  1284,  1285,  1288,
1497       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,       658,  1129,  1283,  1287,  1289,  1291,  1292,  1290,  1293,  1297,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1296,  1298,  1301,  1299,   701,  1304,  1300,  1302,  1132,  1303,
1499         0,     0,     0,   323,     0,     0,     0,     0,     0,     0,      1305,  1308,   339,   339,  1309,  1311,  1306,  1312,  1307,  1310,
1500       323,     0,     0,     0,     0,     0,     0,     0,   323,     0,      1137,  1138,  1139,  1313,  1318,  1317,   474,   474,  1316,  1319,
1501       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1320,  1322,  1324,   339,  1323,  1326,  1325,  1327,  1328,  1329,
1502         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1341,  1332,  1336,  1330,  1331,  1334,  1335,  1025,  1338,  1333,
1503         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1339,  1352,  1340,  1038,  1038,  1337,  1342,  1345,  1346,  1347,
1504         0,     0,     0,     0,     0,     0,   639,   835,   836,   639,      1348,  1349,  1350,  1353,  1357,  1057,  1359,  1351,  1067,  1038,
1505         0,     0,     0,     0,     0,     0,     0,   323,   323,   312,      1038,  1354,  1365,  1057,   865,   699,   339,  1356,  1358,  1361,
1506        45,    46,    47,    48,   313,   314,   315,   316,   317,   318,      1371,  1360,  1372,  1364,  1366,  1374,  1370,  1375,  1377,  1373,
1507       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,      1376,  1380,   698,  1381,  1383,  1384,  1387,  1385,  1391,  1209,
1508        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,      1392,  1386,  1388,  1390,  1393,  1394,  1395,  1397,  1396,  1399,
1509        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,      1382,  1400,  1398,  1401,  1406,  1403,  1402,  1404,  1224,  1405,
1510        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1407,  1411,  1410,  1227,  1408,  1413,  1414,  1409,  1415,  1417,
1511        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1412,  1416,  1418,  1422,  1420,  1424,  1425,  1427,  1429,  1426,
1512       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,      1419,  1431,  1434,   319,   319,   319,   319,   319,   319,   319,
1513       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       319,   319,  1430,  1435,  1432,  1436,  1439,  1437,  1438,  1440,
1514       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1069,  1441,  1442,  1057,  1443,  1444,   566,   566,  1445,  1446,
1515       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,      1449,  1448,  1462,  1452,  1447,  1451,  1450,  1463,  1464,  1465,
1516       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,      1466,  1453,   658,  1286,   840,   841,  1468,  1467,  1469,  1470,
1517       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       846,  1471,  1472,  1474,   850,  1473,  1476,  1475,  1477,  1482,
1518       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,      1481,  1485,  1484,  1483,   862,   862,  1486,  1487,  1490,  1488,
1519       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,      1491,  1489,  1498,  1492,  1493,   339,   339,  1494,  1496,  1497,
1520       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,      1499,   339,   875,  1500,  1502,   339,  1503,  1504,   319,   319,
1521       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,      1505,  1508,   491,  1501,  1507,  1506,   896,   339,   898,  1509,
1522       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,      1510,  1511,  1512,  1513,  1547,  1516,  1514,  1518,  1517,  1515,
1523       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,      1521,  1523,  1519,  1520,  1524,  1526,  1355,  1525,  1527,  1528,
1524       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,      1530,  1529,  1531,  1532,  1537,  1535,  1536,  1543,  1538,  1544,
1525       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,      1539,   339,  1540,   339,  1542,  1541,  1546,  1549,  1551,  1550,
1526       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,      1545,  1548,  1553,  1552,  1562,  1554,  1555,  1556,  1557,  1559,
1527       255,   256,   257,   258,   259,   260,   261,   646,     0,   262,      1564,   699,  1560,  1558,  1565,  1561,  1567,  1568,  1569,  1571,
1528       312,    45,    46,    47,    48,   313,   314,   315,   316,   317,      1566,  1570,  1575,  1579,  1563,  1574,  1576,  1580,  1582,  1581,
1529       318,   319,   320,   321,   322,    59,    60,    61,    62,    63,      1583,  1585,  1584,  1587,  1586,  1588,  1590,  1589,  1593,  1596,
1530        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,      1597,  1606,  1591,  1598,  1423,  1592,  1602,  1615,  1594,  1595,
1531        1600,  1609,  1605,  1607,  1599,  1610,  1612,   491,   491,   319,
1532        1601,  1603,  1604,  1608,  1611,  1613,  1614,  1616,  1617,  1618,
1533        1619,  1620,  1621,  1625,  1622,  1624,  1629,  1623,  1626,  1631,
1534        1183,  1642,  1189,  1261,  1633,  1627,  1638,  1632,  1630,  1639,
1535        1628,  1637,  1640,  1641,  1634,  1644,  1635,  1636,  1645,  1643,
1536        1646,  1655,  1015,  1647,  1648,  1651,  1019,  1649,  1656,  1650,
1537         339,  1495,  1652,  1657,   339,  1658,  1653,  1031,  1659,  1654,
1538        1660,  1663,  1661,  1662,  1664,  1665,   339,  1666,  1667,  1081,
1539        1522,   339,  1169,   307,   459,   460,  1059,     0,   461,     0,
1540         674,  1072,     0,     0,   701,   701,     0,  1078,     0,  1080,
1541           0,     0,     0,   406,   339,   407,   408,     0,     0,     0,
1542           0,     0,     0,   319,   319,   491,   462,   339,     0,     0,
1543           0,     0,     0,   339,   463,   339,   464,     0,     0,     0,
1544           0,     0,   465,     0,   466,   467,     0,   468,   418,   409,
1545         410,   428,     0,     0,     0,     0,     0,     0,     0,     0,
1546           0,     0,     0,     0,     0,     0,     0,   698,     0,     0,
1547         430,     0,     0,     0,     0,     0,     0,     0,     0,   411,
1548         413,     0,     0,     0,     0,     0,     0,   414,     0,     0,
1549           0,     0,   698,     0,     0,   698,     0,   698,     0,     0,
1550           0,     0,     0,     0,     0,     0,     0,   491,   491,     0,
1551           0,     0,     0,     0,   339,   339,     0,   473,     0,     0,
1552           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1553           0,     0,     0,   862,  1159,  1160,   862,     0,     0,   658,
1554           0,     0,     0,     0,     0,     0,     0,   319,   319,     0,
1555           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1556           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1557           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1558           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1559           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1560           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1561           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,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1657        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1658        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
# Line 1149  static const short yytable[] = Line 1671  static const short yytable[] =
1671       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1672       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1673       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1674       254,   255,   256,   257,   258,   259,   260,   261,     0,   649,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1675       262,    44,    45,    46,    47,    48,    49,    50,    51,    52,       264,   265,   266,   267,   268,   269,     0,     0,   270,   328,
1676        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        52,    53,    54,  1032,  1033,    57,    58,    59,    60,    61,
       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,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,     0,  
        0,   262,   312,    45,    46,    47,    48,   313,   314,   315,  
      316,   317,   318,   319,   320,   321,   322,    59,    60,    61,  
1677        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1678        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1679        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
# Line 1194  static const short yytable[] = Line 1694  static const short yytable[] =
1694       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1695       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1696       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1697         0,     0,   262,   312,    45,    46,   745,   746,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   580,   581,
1698        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,       328,    52,    53,    54,    55,    56,   329,   330,   331,   332,
1699        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       333,   334,   335,   336,   337,   338,    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,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   502,   503,   312,    45,    46,    47,    48,   313,   314,  
      315,   316,   317,   318,   319,   320,   321,   322,    59,    60,  
       61,    62,    63,    64,    65,    66,    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 1238  static const short yytable[] = Line 1716  static const short 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,   312,    45,    46,    47,    48,    49,    50,    51,    52,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1720        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1721        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1722          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1723          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1724          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1725         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1726         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1727         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1728         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1729         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1730         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1731         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1732         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1733         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1734         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1735         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1736         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1737         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1738         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1739         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1740         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1741         262,   263,   264,   265,   266,   267,   268,   269,   328,   952,
1742          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1743         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1744        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1745        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1746        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1259  static const short yytable[] = Line 1759  static const short yytable[] =
1759       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1760       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1761       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1762       253,   254,   255,   256,   257,   258,   259,   260,   261,   312,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1763       696,    46,    47,    48,   313,   314,   315,   316,   317,   318,       263,   264,   265,   266,   267,   268,   269,   328,   980,    53,
1764       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1765        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1766          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,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1789        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1790        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1281  static const short yytable[] = Line 1803  static const short yytable[] =
1803       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1804       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1805       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1806       255,   256,   257,   258,   259,   260,   261,   312,   718,    46,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1807        47,    48,   313,   314,   315,   316,   317,   318,   319,   320,       265,   266,   267,   268,   269,   328,  1117,    53,    54,    55,
1808       321,   322,    59,    60,    61,    62,    63,    64,    65,    66,        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,
1811          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1812          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1813         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1814         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1815         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1816         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1817         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1818         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1819         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1820         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1821         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1822         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1823         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1824         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1825         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1826         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1827         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1828         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1829         266,   267,   268,   269,   328,  1133,    53,    54,    55,    56,
1830         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 1303  static const short yytable[] = Line 1847  static const short 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,   312,   720,    46,    47,    48,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1851       313,   314,   315,   316,   317,   318,   319,   320,   321,   322,       267,   268,   269,   328,  1134,    53,    54,    55,    56,   329,
1852        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1853        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1854        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1855        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1856        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1857       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1858       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1859       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1860       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1861       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1862       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1863       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1864       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1865       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1866       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1867       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1868       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1869       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1870       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1871       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1872       259,   260,   261,   312,   806,    46,    47,    48,   313,   314,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1873       315,   316,   317,   318,   319,   320,   321,   322,    59,    60,       268,   269
       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,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   312,   822,    46,    47,    48,   313,   314,   315,   316,  
      317,   318,   319,   320,   321,   322,    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,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   312,  
      823,    46,    47,    48,   313,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,    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,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261  
1874  };  };
1875    
1876  static const short yycheck[] =  static const yytype_int16 yycheck[] =
1877  {  {
1878        14,   571,    14,    31,    16,    17,    18,    19,    20,    21,        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1879        22,    23,    24,    25,    26,   454,   270,   271,   270,   271,        25,    26,    27,    28,    29,    30,    31,   494,   523,   524,
1880        19,   718,   277,   720,    26,    30,    22,   437,   224,   225,       977,   526,   557,   736,   769,   759,    32,   961,   277,   532,
1881        32,    36,    20,    21,    33,   277,   277,   277,    18,    35,       281,   282,   535,   281,   282,   540,   285,   286,   541,   286,
1882        50,    51,    52,    53,    54,    55,    56,    57,    58,    37,         5,   546,   545,   946,    37,    58,    59,    60,    61,    62,
1883        30,    35,    22,    21,   712,     1,    26,     3,   716,    39,        63,    64,    65,    66,   288,   288,   288,   753,    37,    33,
1884        20,    21,    38,    50,    51,    52,    53,    54,    55,    56,        34,   980,  1129,   982,    22,   568,   543,   943,    20,     1,
1885        57,    58,    18,    33,    20,    21,    31,    37,    24,    19,      1137,     3,   971,    21,    19,   515,    19,   976,    21,    37,
1886        19,    20,    18,    29,    20,    22,    26,    26,    34,    35,        23,    24,    34,    31,    21,    22,   526,    19,    31,    21,
1887        36,    30,    38,    22,    30,    22,    36,    36,    22,    39,        22,    32,    23,    25,    37,    38,    89,    40,    30,    31,
1888        39,    38,    22,    18,     0,    20,    35,    22,    18,   806,       540,    38,    23,    35,    36,    37,   546,    39,    39,    34,
1889        20,    18,    22,   269,   553,    30,   555,   556,   274,   275,        89,    22,    37,   989,   990,   991,     9,    10,    11,    12,
1890        30,   223,   278,    30,     5,   822,   823,     8,     9,    10,        13,    14,    15,    16,    17,    18,    23,    21,    22,    22,
1891        11,    12,    13,    14,    15,    16,    17,    21,    18,    38,        19,    20,    21,    19,    19,    21,    20,    23,    24,    32,
1892        39,   272,    22,    21,   583,   276,   277,   221,   222,    33,        34,    39,    31,    27,    38,    31,    31,    19,    37,    38,
1893        30,   590,   591,   592,   593,   594,   595,   596,   597,   598,        23,    40,    37,    37,    40,    40,    40,     0,    30,    31,
1894       415,   416,   417,   418,   419,   420,   421,   422,   423,   424,      1227,   505,   506,   507,   508,   509,   510,   511,   512,   513,
1895       425,   426,   582,   415,   415,   415,     5,    22,    21,     8,       514,   277,   516,   517,   518,   519,    23,   521,    23,   285,
1896         9,    10,    11,    12,    13,    14,    15,    16,    17,   443,       286,    19,  1139,    21,   290,    19,    24,    27,    19,    36,
1897        33,   443,     5,   221,   222,     8,     9,    10,    11,    12,        24,    36,    23,    31,    22,    22,    31,    31,  1117,    39,
1898        13,    14,    15,    16,    17,     6,     7,     8,     9,    10,        31,   224,    37,    21,    30,    30,    34,    34,  1111,    27,
1899        11,    12,    13,    14,    15,    16,    17,     8,     9,    10,        22,    36,    38,    31,  1133,  1134,   222,   223,     9,    10,
1900        11,    12,    13,    14,    15,    16,    17,    20,    21,    36,        11,    12,    13,    14,    15,    16,    17,    18,    19,   732,
1901       800,    20,    21,   803,     8,     9,    10,    11,    12,    13,        27,   734,   735,    31,    23,    21,    33,    21,    21,    37,
1902        14,    15,    16,    17,   223,   224,   225,   686,    18,    37,       745,    27,   747,    27,    27,   941,    21,   750,   222,   223,
1903        36,    26,    37,    19,    36,   224,    20,    18,    37,    37,       550,    23,    27,   281,   282,    27,   556,    23,   286,   224,
1904        37,    21,    38,   702,    32,    22,    25,    36,    31,    25,       225,   226,    38,    34,    37,    34,    37,   770,    37,    37,
1905        37,    26,    26,    38,    25,    20,    38,    26,   224,   225,       504,   504,   504,    34,   289,   778,   779,   780,   781,   782,
1906        38,    31,    26,    31,    26,    38,    32,    39,    20,    19,       783,   784,   785,   786,   787,   788,   789,    19,    34,    27,
1907        37,    18,   302,    21,   304,   305,   306,   307,   308,   309,       795,    37,   769,   225,   226,    20,   799,   800,   801,   550,
1908       310,   311,    35,    37,    18,    18,    24,    26,    25,    21,        31,   550,   550,   550,     6,   225,   226,     9,    10,    11,
1909        21,    21,    21,    18,    21,    36,    36,    21,    21,   331,        12,    13,    14,    15,    16,    17,    18,     7,     8,     9,
1910        35,    23,    23,   335,    22,   337,   338,   339,   340,   341,        10,    11,    12,    13,    14,    15,    16,    17,    18,   344,
1911        14,   343,    26,   345,   346,   347,   348,    32,    35,    22,        34,   280,    21,    37,   283,   225,    39,    40,    31,   354,
1912       352,   353,    31,   355,   356,    36,    26,    26,    26,    31,        39,    40,   222,   223,    19,   360,    19,   362,   363,   364,
1913        26,    26,    26,    26,   366,   367,   368,    26,    26,    31,       365,   366,  1286,   368,    38,   370,   371,   372,   373,   374,
1914        37,   373,   374,   375,   376,   377,   378,    32,    32,    26,        38,   376,   377,   378,   379,   380,    21,    22,    22,   384,
1915        26,    38,    32,    23,    32,   814,    20,    22,    20,    42,        38,   386,    33,  1107,   389,    23,  1110,    21,    22,   394,
1916        26,    20,    31,    35,    32,    32,   398,    19,    29,    88,       395,   396,    23,   398,   399,   400,     9,    10,    11,    12,
1917        21,    31,    88,    31,    21,    32,    31,    31,    88,    32,        13,    14,    15,    16,    17,    18,    39,   412,  1355,   414,
1918        88,    29,    22,    22,    18,    22,    35,    22,    18,    22,      1113,    37,   417,   418,    19,   420,   421,   978,   979,   580,
1919        22,    35,    42,    22,    22,    26,    38,   431,   432,    26,       581,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1920        26,    26,    88,    26,    26,    29,    88,    88,    26,    88,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1921       444,   445,   446,   447,   448,    88,    30,    38,    22,    29,       287,   288,   935,    26,   278,   279,    27,    32,    26,    42,
1922        32,    19,    29,    31,    37,    88,    35,    32,    31,    29,         6,    27,   977,     9,    10,    11,    12,    13,    14,    15,
1923        32,    32,    31,    30,    30,   467,   468,   469,   470,   471,        16,    17,    18,    23,    33,    33,    27,   960,    27,    39,
1924       472,   473,   474,   475,   476,   477,   478,   479,   480,   481,       475,    42,    27,   478,  1209,    26,    42,   972,    27,    32,
1925        31,    30,   484,   485,    32,    29,   486,   487,   488,   489,        21,    39,    27,    26,     6,    39,   953,     9,    10,    11,
1926       490,   491,   492,   493,   494,    20,    19,    38,    88,    88,        12,    13,    14,    15,    16,    17,    18,    39,    27,    38,
1927       502,   503,    88,   505,    36,   507,    33,   509,    29,   486,        33,    33,    36,    38,    40,    36,    21,    21,    38,    34,
1928       487,   488,   489,   490,   491,   492,   493,   494,   520,   521,        20,   515,    19,    22,    22,    19,    19,    89,   985,   523,
1929       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,       524,    15,   526,    25,    22,    36,    38,    27,    19,   533,
1930       532,    22,    20,    38,    33,    38,    33,    22,    32,    26,       534,    30,    22,    22,    22,    22,   540,    89,    22,    89,
1931        38,    33,    88,    22,    18,    23,    32,    20,    37,    31,        22,    37,   546,    22,    22,    26,    32,   551,   552,   553,
1932        22,    22,    36,    22,   558,    38,    37,   561,   562,   563,       554,    22,    24,   557,   558,    19,    36,    27,    23,    33,
1933       564,    38,    37,   567,    21,   263,    32,    31,    38,    37,        23,    38,    38,    36,    32,    27,    27,    27,    37,    27,
1934        26,    38,    31,    38,    32,    88,   578,   581,   580,    33,        37,    27,    19,    32,    40,   580,   581,    32,    30,    27,
1935        31,    33,    37,    33,    37,    18,    33,    29,    37,    37,        19,    27,    39,    27,    37,    27,    27,    32,    37,   594,
1936        33,    37,    22,    38,    38,    31,   600,    38,   602,    37,       595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1937        29,    38,    29,    38,    38,    37,    32,    38,    88,    31,       605,   606,   607,    27,    38,   608,   609,   610,   611,   612,
1938        38,    31,    88,    37,    37,    26,    18,    21,   620,    37,       613,   614,   615,   616,  1139,    33,   621,   622,   623,   624,
1939        37,    21,    37,    33,    37,   627,    88,   629,   630,   631,        27,    33,    39,    27,   629,   630,    39,    33,    23,    27,
1940        38,   633,    37,   635,    21,    24,    21,    32,    24,    22,        27,  1124,   637,   638,   639,    24,    32,   642,    21,    27,
1941        22,    22,    32,    36,    38,    22,    26,    26,   650,    88,        19,    23,    43,    21,    21,    32,    27,    33,   653,    89,
1942       652,    26,    26,    21,    21,    39,    32,   659,   660,   661,       655,    23,   657,    58,    59,    60,    61,    62,    63,    64,
1943       662,   663,   664,   665,   666,   667,    35,   669,    39,   671,        65,    66,    30,    32,   669,   670,   671,   672,   673,   674,
1944        35,    25,    88,    39,    88,    39,    88,    37,    31,    88,       675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1945        26,    88,    88,    39,   688,   689,   690,    37,   692,    22,        32,   686,    23,    30,    24,   690,   691,   692,    31,    89,
1946        26,    22,   696,    22,    26,    25,   696,    37,    26,   703,       693,   694,    30,    23,    33,    89,    89,    89,    33,    32,
1947        88,    25,    18,    42,    39,   709,   710,    32,   712,   713,        23,    32,    36,    22,    89,    33,   271,    22,    30,    89,
1948       714,    26,   716,   717,   718,    88,   720,   717,   718,    22,        31,    38,    22,    22,    40,   720,   721,    33,    23,    32,
1949       720,    26,    20,    22,    20,    88,    39,    39,    20,    18,        23,    19,    89,    30,    23,    20,    23,    27,    36,    89,
1950        39,    18,    20,    35,   736,   737,    33,   739,   740,    39,        19,    23,    23,   737,    27,    36,   740,   741,   742,   743,
1951        31,    26,    32,    36,    22,   745,   746,    31,    31,    35,        89,   745,  1209,   747,    32,   749,    23,    33,   752,   753,
1952       750,    33,    26,    22,    26,   429,   430,    22,   760,    26,        23,    27,    27,    43,    32,    27,   760,   761,    23,    27,
1953        22,    25,    42,    31,   438,    22,   768,    37,   745,   746,        89,    32,    36,    27,   768,    89,    27,    27,    23,    39,
1954        31,    20,    22,    33,   448,    38,    18,   779,    36,    20,        33,    89,    89,    23,    27,    23,    27,    89,    23,    31,
1955       780,   781,    88,    20,    31,    20,   484,   485,    18,    33,        27,    30,    23,    89,    27,    89,    30,   791,    20,   793,
1956        22,    31,    35,    88,    22,    22,    22,    33,    37,    22,        32,   795,    30,    33,    22,   289,    32,    32,    22,    38,
1957        38,    35,   806,   780,   781,    22,   806,   807,   808,   809,        33,   804,    36,    40,    33,    32,    32,    30,    22,    89,
1958        31,    33,   510,    22,    22,    29,   820,   821,   822,   823,        32,    31,    31,    30,    21,    33,    32,    20,    33,    30,
1959        36,    33,   822,   823,    37,    18,    18,    29,   502,   503,        33,    33,    89,    89,    32,    30,    21,    89,   833,    39,
1960        18,    31,   809,    88,    88,    29,   534,    88,    33,    38,      1355,    40,    30,    37,    33,   840,    37,   842,   843,   844,
1961        88,   841,   842,   843,    35,    30,    33,    22,    18,    35,        37,   846,   847,    23,    37,    37,   851,   852,    39,   854,
1962        33,    22,   854,    37,    21,    18,    18,    18,    18,    35,        34,   856,     5,    39,    23,    33,    39,    27,    89,   864,
1963        29,    35,    30,    88,   841,   842,    30,   867,   868,    18,        23,    33,    21,    39,    89,    19,    24,    33,    89,   874,
1964        35,    37,    26,   877,    21,    18,    35,    22,    22,   577,        21,   876,    33,    23,    38,    23,    38,    32,    38,   884,
1965        22,    18,    30,   557,    35,   559,   560,    39,    22,    35,       885,   886,   887,   888,   889,   890,   891,   892,   893,   894,
1966        30,   565,   566,    26,    30,    22,   570,   571,    37,    37,       895,    27,   897,    39,   899,    37,   901,    23,    38,    38,
1967        22,    22,    22,    22,   578,    37,   580,    35,    39,    35,       905,   906,   907,    38,    38,   908,   909,    39,    39,   474,
1968        22,    35,    37,    22,    37,    22,    22,   820,    36,    35,        38,    22,    39,   318,    38,   320,   321,   322,   323,   324,
1969        35,    35,    35,   821,   877,   599,    36,   601,   717,   627,       325,   326,   327,    33,    32,    24,    32,    27,    33,    33,
1970       628,   557,   703,   275,   272,   633,   634,   582,   503,    43,        39,    38,    33,   937,   938,   939,    38,   941,   942,   943,
1971       277,   639,   443,   443,    -1,    -1,   273,    -1,    -1,   647,        32,   945,   946,    27,    39,    36,    34,    21,   952,    38,
1972       272,    -1,   275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        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,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2048       668,    -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -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,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2052        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2053        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   687,    -1,    -1,    -1,   691,    -1,    -1,  
       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,   711,   736,    -1,  
       -1,   715,   740,    -1,    -1,   719,   744,   721,    -1,    -1,  
      748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2054        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   771,    -1,    -1,    -1,    -1,    -1,    -1,  
      778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   786,    -1,  
      788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2055        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2056        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2057        -1,    -1,    -1,    -1,    -1,    -1,   800,   801,   802,   803,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2058        -1,    -1,    -1,    -1,    -1,    -1,    -1,   835,   836,     3,        -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,
2079          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2080          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2081          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2082         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2083         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2084         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2085         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2086         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2087         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2088         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2089         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2090         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2091         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2092         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2093         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2094         222,    -1,   224,     3,     4,     5,     6,     7,     8,     9,
2095          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2096          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2097          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2098          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2099          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2100          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2101          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2102          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2103          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2104         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2105         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2106         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2107         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2108         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2109         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2110         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2111         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2112         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2113         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2114         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2115         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2116         220,   221,    -1,   223,   224,     3,     4,     5,     6,     7,
2117           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2118          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2119          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2120          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          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2124          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2125          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2126          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2127         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2128         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2129         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2130         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2131         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2132         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2133         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2134         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2135         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2136         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2137         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2138         218,   219,   220,   221,    -1,    -1,   224,     3,     4,     5,
2139           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2140          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2141          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2142          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2143          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2144          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2145          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2146          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2147          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2148          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2149         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2150         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2151         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2152         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2153         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2154         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2155         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2156         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2157         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2158         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2159         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2160         216,   217,   218,   219,   220,   221,    -1,    -1,   224,     3,
2161         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2162        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2163        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1529  static const short yycheck[] = Line 2179  static const short yycheck[] =
2179       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2180       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2181       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2182       214,   215,   216,   217,   218,   219,   220,   221,    -1,   223,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
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 1551  static const short yycheck[] = Line 2201  static const short 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,    -1,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
      223,     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,    -1,  
       -1,   223,     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,  
       -1,    -1,   223,     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,     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,     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,     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 1683  static const short yycheck[] = Line 2223  static const short yycheck[] =
2223       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2224       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2225       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2226       214,   215,   216,   217,   218,   219,   220,     3,     4,     5,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2227           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2228          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2229          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2230          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2231          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2232          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2233          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2234          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2235          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2236          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2237         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2238         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2239         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2240         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2241         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2242         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2243         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2244         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2245         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2246         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2247         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2248         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2249         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2250        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2251        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
# Line 1705  static const short yycheck[] = Line 2267  static const short yycheck[] =
2267       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2268       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2269       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2270       216,   217,   218,   219,   220,     3,     4,     5,     6,     7,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2271           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2272          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2273          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2274          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2275          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2276          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2277          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2278          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2279          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2280          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2281         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2282         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2283         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2284         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2285         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2286         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2287         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2288         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2289         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2290         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2291         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2292         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2293         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2294        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2295        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1727  static const short yycheck[] = Line 2311  static const short yycheck[] =
2311       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2312       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2313       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2314       218,   219,   220,     3,     4,     5,     6,     7,     8,     9,       218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2315           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2316          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2317          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2318          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2319          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2320          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2321          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2322          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2323          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2324          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2325         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2326         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2327         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2328         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2329         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2330         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2331         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2332         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2333         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2334         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2335         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2336         219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
2337        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2338        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2339        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1749  static const short yycheck[] = Line 2355  static const short 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,     3,     4,     5,     6,     7,     8,     9,    10,    11,       220,   221
2359    };
2360    
2361    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2362       symbol of state STATE-NUM.  */
2363    static const yytype_uint16 yystos[] =
2364    {
2365           0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2366          36,    37,    39,   228,   229,   230,   231,   285,   286,   287,
2367         288,   289,   290,   291,   292,   293,   298,   299,   300,   301,
2368         302,   361,   365,    22,    30,    36,    23,    23,    27,    33,
2369          19,    39,    23,    23,    39,    32,     0,   225,   226,   283,
2370         284,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2371        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2372        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2373        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1770  static const short yycheck[] = Line 2388  static const short yycheck[] =
2388       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2389       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2390       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2391       212,   213,   214,   215,   216,   217,   218,   219,   220,     3,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2392         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,       224,   274,   277,   278,   279,   282,   282,   282,   282,   282,
2393        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2394        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,       282,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2395        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        31,    37,    30,    38,    20,    31,    37,   283,     9,    10,
2396        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        11,    12,    13,    14,    15,    16,    17,    18,   276,   277,
2397        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       276,   276,   276,   276,   276,   276,   276,   276,     3,     9,
2398        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        10,    11,    12,    13,    14,    15,    16,    17,    18,   279,
2399        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        21,    31,   232,   303,   344,    19,    21,    23,    24,    31,
2400        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        37,    38,    40,   238,   303,   304,   305,   306,   321,   322,
2401        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,       324,   329,   330,   331,   332,   333,   334,   336,   338,   339,
2402       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       340,   341,   342,   343,   344,   345,   346,   347,   352,   353,
2403       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,       354,   355,    31,   235,   342,   236,   342,    31,   242,   343,
2404       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        19,    24,    31,   240,   330,   340,   352,   243,   330,   340,
2405       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       352,    19,    21,    24,    31,   248,   304,   305,   306,   329,
2406       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       336,   339,   343,   345,   353,    27,   244,   323,   324,   237,
2407       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       303,   344,    19,    23,    31,   239,   303,   328,   333,   337,
2408       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       338,   344,   352,   355,   364,    19,    20,    21,    31,    37,
2409       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        38,    40,   233,   308,   309,   310,   311,   312,   313,   314,
2410       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       315,   316,   317,   318,   319,   320,   321,   362,   234,   308,
2411       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
2412       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       319,   320,   321,   362,   274,   280,   282,   241,   303,    19,
2413       214,   215,   216,   217,   218,   219,   220        19,    38,    38,    22,    38,    33,    23,    23,    37,    19,
2414  };        39,   277,    26,    27,   282,    39,    40,    26,    32,    42,
2415          27,    23,    33,    33,   282,   282,   282,   282,   282,   282,
2416  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2417     symbol of state STATE-NUM.  */       282,   282,    27,   282,   282,    27,   282,    39,    42,    27,
2418  static const unsigned short yystos[] =       282,   282,   282,   282,   282,   282,    39,    26,    42,    27,
2419  {       282,   282,    32,   282,   282,   282,   282,    39,    21,    27,
2420         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,       282,   282,   282,   282,   282,   282,   282,   282,   282,    39,
2421        36,    38,   227,   228,   229,   230,   268,   269,   270,   271,        39,    26,    27,    38,    33,    33,   274,   282,   282,    36,
2422       272,   273,   275,   276,   277,   278,   311,   314,    21,    35,        38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2423        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,       222,   223,   268,   281,    22,    19,    19,    25,    89,    22,
2424       224,   225,   266,   267,     3,     4,     5,     6,     7,     8,        36,    38,    30,    27,   307,   318,   319,   320,   307,   307,
2425         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,       307,   307,   307,   307,   307,   307,   307,   307,    10,    11,
2426        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        12,    13,    14,    15,    16,    17,    18,    19,   258,   278,
2427        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,       294,   307,   307,   307,   307,   263,   278,   307,    22,   258,
2428        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,       258,    22,   258,   294,    22,    89,    22,   274,   274,   263,
2429        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,       278,   278,   263,    22,    19,    89,    22,   258,   294,   263,
2430        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        37,    32,   249,   267,   281,   297,   250,   266,   274,   263,
2431        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,       258,   294,    22,    26,    22,    19,    31,    37,   245,   330,
2432        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,       334,   335,   340,   344,   347,   348,   349,   350,   355,   357,
2433        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,       358,   278,   278,   278,   278,    32,   363,    19,    30,    31,
2434        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       334,   351,   356,     7,     8,   262,   275,   276,   277,   278,
2435       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       273,   274,   278,    22,    24,    19,    22,    37,    36,    38,
2436       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,        27,   263,    23,    33,    23,    38,    36,    37,    32,    27,
2437       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       280,   280,    27,    27,    32,    27,    37,    27,    40,    19,
2438       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,        39,    32,   282,   282,   282,   282,   282,   282,   282,   282,
2439       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       282,   282,   282,   282,   282,   282,    30,   282,   282,   282,
2440       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       282,    27,   282,   282,    27,    27,    37,    27,   282,   282,
2441       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       282,   282,    27,    32,    37,    27,    38,    33,   282,   282,
2442       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       282,    27,    33,    27,    39,    27,    39,    33,   282,   282,
2443       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2444       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       282,   282,   282,   282,    19,   282,    39,    23,    27,   282,
2445       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       282,   282,   276,   276,     6,    27,    24,    32,    27,    21,
2446       219,   220,   223,   257,   260,   261,   262,   265,   265,   265,        23,    19,    21,    43,    27,    21,    32,    89,   222,   223,
2447       265,   265,   265,   265,   265,   265,   265,   265,   265,    21,        33,    30,    32,    32,    23,    89,    23,    30,    31,    24,
2448        22,    36,    37,    36,    18,    26,    30,    36,    37,    19,       263,    20,    34,   247,   359,   360,   263,   263,   266,   278,
2449        36,   266,     8,     9,    10,    11,    12,    13,    14,    15,       274,   274,   278,   278,   278,   278,   274,   258,    30,   258,
2450        16,    17,   259,   260,   259,   259,   259,   259,   259,   259,       274,   278,   263,    89,   259,   278,   259,    89,    33,    23,
2451       259,   259,     3,     8,     9,    10,    11,    12,    13,    14,        89,   246,   274,   246,   261,   278,   265,   278,    33,    32,
2452        15,    16,    17,   262,    20,   279,    18,    20,    22,    30,        23,    89,    36,    32,   264,   278,   267,   263,    33,    89,
2453       233,   279,   280,   281,   282,   288,   290,   291,   292,   293,        22,    22,    38,    30,   263,   263,   263,   263,   263,   263,
2454       294,   295,   297,   299,   300,   301,   302,   303,   304,    18,       263,   263,   263,   263,   263,   263,   274,   278,   274,   278,
2455        30,   235,   291,   301,   236,   291,   301,    18,    20,    30,        31,   258,    22,    40,    22,   263,   263,   263,     6,     6,
2456       241,   282,   290,   300,    26,   237,   287,   288,   279,    18,       276,    33,    23,    32,    89,    23,    19,    30,    23,    20,
2457        22,    30,   234,   279,   289,   294,   298,   299,   313,    19,        36,    23,    27,    89,    19,    23,    23,    32,    27,    36,
2458        26,    30,    36,    39,   231,   282,   283,   284,   285,   286,        89,    23,    33,    43,    23,   282,   282,   282,   282,   282,
2459       312,   232,   282,   283,   284,   285,   286,   312,   279,    18,       282,   282,   282,   282,    27,   282,   282,    27,    89,    32,
2460        37,    37,    21,    37,    32,    22,    36,    38,   260,    25,        27,   282,     4,   282,    89,    23,    32,    27,    39,    89,
2461        38,    39,    25,    31,    26,   265,   265,   265,   265,   265,       282,   282,    89,    27,    27,    27,    23,    33,   282,   282,
2462       265,   265,   265,   265,   265,   265,   265,    38,    26,   265,       282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
2463       265,   265,   265,    38,    25,    26,    31,   265,   265,   265,         4,   282,     4,   282,    23,   282,    27,    23,    27,   282,
2464        38,    20,    26,   265,   265,   265,   265,   265,   265,    38,       282,   282,   276,   276,    89,    36,    23,    27,    30,    31,
2465        31,    26,    37,    32,   265,    37,    35,    39,    37,    20,        89,    89,    23,    27,    30,    32,    33,    20,    30,    22,
2466        19,    18,    21,    18,    18,    24,    21,   283,   284,   285,        32,    40,    38,    36,   263,   274,   278,   278,   278,   274,
2467       286,   283,   283,   283,   283,   283,   283,   283,   283,   283,       259,   278,   265,    32,   260,   278,   260,    32,    33,    22,
2468       283,   283,    21,    21,   257,   257,     9,    10,    11,    12,        32,   274,     7,     8,   271,   272,   274,   275,   278,   281,
2469        13,    14,    15,    16,    17,   261,   261,    21,    18,    21,       270,   281,    33,    30,    22,    32,    31,    31,   263,   264,
2470        36,    31,   221,   222,   242,   254,   264,   274,   243,   253,        33,    32,    33,    89,   252,   278,   253,   278,   254,   274,
2471       257,   251,   261,    21,    25,    21,    18,    30,    39,   238,       252,    22,    32,   258,   295,   296,   255,   278,   256,   278,
2472       291,   295,   296,   301,   304,   305,   306,   307,   308,   261,       294,   257,   274,   252,   262,   273,   273,   271,   274,   271,
2473       261,   261,   261,   256,   257,   261,    23,    23,    36,    35,       274,   268,    33,    30,    89,   265,   265,   265,    33,    89,
2474        26,   251,    22,    32,    22,    35,    36,    31,    26,    26,        30,    32,    30,    89,    40,    21,    20,    37,    39,    30,
2475        31,    26,    26,   265,   265,   265,   265,   265,   265,   265,        37,    37,    34,    37,    33,    23,    21,   282,   282,   282,
2476       265,   265,   265,   265,   265,   265,   265,   265,    26,    26,       282,   282,    37,   282,    37,    39,    34,     4,     5,    39,
2477       265,   265,    26,    31,    26,    37,    32,   257,   263,   265,        34,    37,    23,    33,   282,    39,    34,    89,    27,   282,
2478       263,   265,   265,   265,    26,    32,    26,    38,    26,    32,        23,    33,   282,     4,     4,    89,    21,   282,   282,   282,
2479       265,   265,   265,   265,   265,   265,   265,   265,   265,   265,        39,    24,    89,    34,    37,    19,    21,    33,    33,    23,
2480       265,   265,   265,    23,    32,    20,    22,    20,    42,    26,        38,    38,    23,    39,    38,    27,    37,    23,   246,   274,
2481        20,    31,    32,    29,    31,    31,    88,   251,    19,    33,       274,   246,   260,    38,   266,    38,    38,    39,   271,   272,
2482       240,   309,   310,   251,   251,   253,   261,   257,   257,   261,        38,    39,    38,    32,    22,   263,    38,    39,    33,    32,
2483       261,   261,   261,   257,   257,   261,    32,    88,   239,   257,       253,    24,    32,   255,   271,   271,    33,    33,   253,   261,
2484       239,    32,    31,    88,    35,    31,   221,   257,   265,   222,       262,    38,    27,    21,    27,    39,    38,    32,    33,    27,
2485       252,   261,   254,   251,    32,    88,    21,    21,    29,   251,        39,    36,    34,    89,    38,    36,    21,    32,    36,   282,
2486       251,   251,   251,   251,   251,   251,   251,   251,   257,   261,        36,    34,    38,    34,    38,    36,    38,    19,    34,    38,
2487       257,   261,    22,    22,    18,    22,    19,    35,    22,    88,        39,    34,    19,    23,   282,    39,    32,   282,    34,    30,
2488        18,    22,    22,    26,    42,    22,   265,   265,   265,   265,        33,    32,    38,    36,    23,    39,    21,    32,    39,    39,
2489       265,   265,   265,    88,    26,   265,     4,    88,    22,    26,        19,    23,    31,    89,    39,    23,    38,    39,   267,    39,
2490        38,    88,   265,   265,    88,    26,    26,    26,    38,   265,        39,    89,    39,    89,    39,    30,    39,    89,    38,    39,
2491       265,   265,   265,   265,   265,   265,   265,   265,     4,   265,        39,   256,    38,    38,   253,    39,    30,    39,    24,    89,
2492         4,   265,    35,    29,    30,    88,    22,    26,    29,    32,        39,    33,    32,    23,    38,    31,    38,    39,    32,    27,
2493        19,    29,    31,    37,    35,   251,   257,   261,   261,   261,        22,    34,    31,    89,    19,    31,   282,    31,    38,    22,
2494       257,   261,    32,    31,   257,     6,     7,   255,   257,   258,        38,    22,    31,    38,    22,    34,    34,    38,    30,    34,
2495       259,   260,   261,   264,    32,    29,    31,    30,    30,   251,        36,    38,    32,    33,    22,    31,    39,    38,    89,    23,
2496       252,    32,    31,    32,    88,    30,   244,   261,   245,   261,        89,    22,    25,    22,    23,    36,    33,    23,    21,    25,
2497       246,   257,   244,   247,   261,   248,   261,   249,   257,   244,        23,   264,    23,    89,    23,    89,    23,    23,    89,    23,
2498         6,     7,   250,   258,   261,   255,   257,   255,   257,    88,        33,    39,    89,    38,    39,    33,    89,    38,    23,    23,
2499        29,    88,    20,    19,    38,    29,    36,    33,    22,    20,        37,    21,    32,    21,    22,    27,    27,    27,    40,    27,
2500       265,   265,   265,   265,    38,    33,     4,   259,   259,     5,        36,    32,    33,    23,    32,   282,    32,    22,    40,    22,
2501        38,    33,    22,    32,   265,    38,    33,    88,    26,    22,        40,    32,    21,    22,    40,    36,    38,    21,    34,    38,
2502       265,   265,     4,     4,    23,    18,    20,    32,    22,    37,        38,    30,    22,    40,    32,    33,    38,    26,    23,    36,
2503        22,    38,    36,    22,   239,   257,   257,   239,    37,    38,        33,    32,    89,    27,    40,    38,    38,    39,    38,   262,
2504       255,     5,     5,   259,    37,    38,    31,    21,   251,    37,        38,    23,    27,    23,    27,    38,    26,    23,    27,    38,
2505        38,    32,    31,   245,   247,   255,   255,    26,    31,    32,        89,    26,    33,    43,    89,    30,    23,    27,    38,    39,
2506        38,    33,    88,    37,    31,    33,    37,   259,   259,    33,        89,    19,    40,    27,    89,    23,    27,    21,    23,    89,
2507        37,    37,    18,    33,    37,    38,    33,   265,    29,    22,        37,    89,    32,   282,    40,    21,    40,    21,    89,    19,
2508        38,    31,    38,    18,    22,    30,    88,    37,    38,    88,        40,    21,    21,    38,    19,    36,    34,    23,    40,    21,
2509        38,    88,    29,    38,    88,    37,    38,   248,    29,    32,        89,    32,    31,    32,    27,    40,    33,    37,    32,    23,
2510        31,    37,    37,    38,    31,    26,    21,    33,    18,    37,        36,    34,    31,    38,    33,    34,   251,   269,   281,   325,
2511        21,    37,    21,    37,    21,    33,    33,    37,    38,    37,       326,   327,    27,    23,    27,    23,    31,    32,    27,    23,
2512        88,    21,    24,    21,    22,    35,    32,    24,    88,    22,        26,    43,    32,    38,    23,    36,    27,    23,    21,    27,
2513        88,    22,    88,    22,    32,    38,    88,    36,    20,    21,        31,    38,    19,    32,    21,    23,    39,    34,    37,    89,
2514        26,    26,    26,    39,    26,    35,    22,    21,    39,    21,        19,    19,    89,    32,    23,   282,    21,    21,    19,    32,
2515        39,    20,    21,    39,    35,    37,    20,    33,    37,    25,        21,    89,    19,    34,    32,    21,    89,    33,    32,    19,
2516        22,    35,    32,    31,    88,    26,    39,    37,    22,    26,        34,    23,    23,    36,    38,    39,    34,    36,    34,    31,
2517        22,    26,    25,    22,    26,    37,    88,    25,    32,    42,        89,    36,   269,    23,    23,    34,    23,    23,    34,    32,
2518        18,    39,    26,    88,    22,    26,    20,    22,    88,    39,        23,    23,    23,    21,    27,    39,    24,    34,    30,    37,
2519        20,    39,    20,    18,    39,    20,    20,    37,    18,    35,        89,    34,    38,    19,    19,    37,    19,    22,    37,    30,
2520        33,    31,    26,    39,    32,    36,    31,    22,    35,    33,        89,    19,    32,    30,    89,    33,    32,    32,    33,    89,
2521        26,    22,    26,    22,    31,    26,    22,    25,    42,    31,        89,    34,    39,    89,    36,    31,    42,    23,    27,    34,
2522        37,    22,    31,    20,    22,    38,    33,    36,    88,    18,        36,    23,    21,    27,    39,    24,    38,    21,    27,    34,
2523        20,    20,    31,    20,    88,    18,    33,    31,    22,    22,        19,    38,    22,    19,    23,    31,    37,    19,    19,    30,
2524        35,    37,    38,    33,    35,    22,    22,    22,    22,    33,        33,    32,    32,    33,    33,    32,    19,    36,    89,    36,
2525        31,    22,    22,    29,    36,    88,    33,    37,    18,    18,        31,    38,    19,    38,    36,    31,    39,    24,    38,    39,
2526        29,    88,    18,    31,    29,    88,    33,    38,    88,    35,        24,    36,    19,    22,    27,    23,    23,    32,    23,    19,
2527        30,    33,    35,    22,    33,    18,    37,    21,    18,    22,        23,    32,    33,    32,    33,    19,    31,    36,    40,    38,
2528        18,    18,    29,    18,    35,    88,    35,    30,    37,    35,        36,    22,    32,    31,    38,    38,    38,    31,    23,    27,
2529        30,    35,    18,    21,    26,    22,    22,    18,    22,    18,        23,    23,    89,    38,    23,    23,    23,    38,    40,    36,
2530        30,    35,    39,    37,    35,    30,    37,    30,    22,    26,        36,    26,    38,    36,    38,    23,    23,    37,    33,    23,
2531        22,    22,    22,    22,    22,    37,    39,    35,    35,    37,        23,    36,    36,    30,    36,    36,    37,    22
       35,    37,    22,    22,    36,    22,    22,    35,    35,    35,  
       35,    36  
2532  };  };
2533    
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  
 # define YYSIZE_T __SIZE_TYPE__  
 #endif  
 #if ! defined (YYSIZE_T) && defined (size_t)  
 # define YYSIZE_T size_t  
 #endif  
 #if ! defined (YYSIZE_T)  
 # if defined (__STDC__) || defined (__cplusplus)  
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */  
 #  define YYSIZE_T size_t  
 # endif  
 #endif  
 #if ! defined (YYSIZE_T)  
 # define YYSIZE_T unsigned int  
 #endif  
   
2534  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2535  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2536  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 1938  static const unsigned short yystos[] = Line 2538  static const unsigned short yystos[] =
2538    
2539  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2540  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2541  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2542    
2543    
2544  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1956  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                                                          \
2563      {                                                           \      {                                                           \
2564        yyerror ("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
2571  #define YYERRCODE       256  #define YYERRCODE       256
2572    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2573    
2574    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2575       If N is 0, then set CURRENT to the empty location which ends
2576       the previous symbol: RHS[0] (always defined).  */
2577    
2578    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2579  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2580  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2581    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2582    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2583    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2584    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2585              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2586              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2587              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2588            }                                                               \
2589          else                                                              \
2590            {                                                               \
2591              (Current).first_line   = (Current).last_line   =              \
2592                YYRHSLOC (Rhs, 0).last_line;                                \
2593              (Current).first_column = (Current).last_column =              \
2594                YYRHSLOC (Rhs, 0).last_column;                              \
2595            }                                                               \
2596        while (YYID (0))
2597  #endif  #endif
2598    
2599    
2600    /* YY_LOCATION_PRINT -- Print the location on the stream.
2601       This macro was not mandated originally: define only if we know
2602       we won't break user code: when these are the locations we know.  */
2603    
2604    #ifndef YY_LOCATION_PRINT
2605    # if YYLTYPE_IS_TRIVIAL
2606    #  define YY_LOCATION_PRINT(File, Loc)                  \
2607         fprintf (File, "%d.%d-%d.%d",                      \
2608                  (Loc).first_line, (Loc).first_column,     \
2609                  (Loc).last_line,  (Loc).last_column)
2610    # else
2611    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2612    # endif
2613    #endif
2614    
2615    
2616  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2617    
2618  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2000  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 YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2639  do {                                            \  do {                                                                      \
2640    if (yydebug)                                  \    if (yydebug)                                                            \
2641      yysymprint Args;                            \      {                                                                     \
2642  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2643          yy_symbol_print (stderr,                                            \
2644                      Type, Value); \
2645          YYFPRINTF (stderr, "\n");                                           \
2646        }                                                                     \
2647    } while (YYID (0))
2648    
2649  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2650  do {                                                            \  /*--------------------------------.
2651    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2652      {                                                           \  `--------------------------------*/
2653        YYFPRINTF (stderr, "%s ", Title);                         \  
2654        yysymprint (stderr,                                       \  /*ARGSUSED*/
2655                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2656        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2657      }                                                           \  static void
2658  } while (0)  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 (cinluded).                                                   |  | 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 *bottom, short *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 *bottom;      yytype_int16 *bottom;
2721      short *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 2044  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 int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2755    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2756               yyrule - 1, yylineno);               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.  */
2776  int yydebug;  int yydebug;
2777  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2778  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2779  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2780  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2781  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2782  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2097  int yydebug; Line 2791  int yydebug;
2791     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2792    
2793     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2794     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2795     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2796    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2797  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2798  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2799  #endif  #endif
# Line 2113  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    register 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    register char *yyd = yydest;    char *yyd = yydest;
2846    register const char *yys = yysrc;    const char *yys = yysrc;
2847    
2848    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2849      continue;      continue;
# Line 2161  yystpcpy (yydest, yysrc) Line 2853  yystpcpy (yydest, yysrc)
2853  #  endif  #  endif
2854  # endif  # endif
2855    
2856  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2857    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2858       quotes and backslashes, so that it's suitable for yyerror.  The
2859       heuristic is that double-quoting is unnecessary unless the string
2860       contains an apostrophe, a comma, or backslash (other than
2861       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2862       null, do not copy; instead, return the length of what the result
2863       would have been.  */
2864    static YYSIZE_T
2865    yytnamerr (char *yyres, const char *yystr)
2866    {
2867      if (*yystr == '"')
2868        {
2869          YYSIZE_T yyn = 0;
2870          char const *yyp = yystr;
2871    
2872          for (;;)
2873            switch (*++yyp)
2874              {
2875              case '\'':
2876              case ',':
2877                goto do_not_strip_quotes;
2878    
2879              case '\\':
2880                if (*++yyp != '\\')
2881                  goto do_not_strip_quotes;
2882                /* Fall through.  */
2883              default:
2884                if (yyres)
2885                  yyres[yyn] = *yyp;
2886                yyn++;
2887                break;
2888    
2889              case '"':
2890                if (yyres)
2891                  yyres[yyn] = '\0';
2892                return yyn;
2893              }
2894        do_not_strip_quotes: ;
2895        }
2896    
2897  #if YYDEBUG    if (! yyres)
2898  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2899    
2900  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2901  static void  }
2902  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2903  #else  
2904  static void  /* Copy into YYRESULT an error message about the unexpected token
2905  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2906      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2907      int yytype;     copy anything; just return the number of bytes that would be
2908      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2909  #endif     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    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2915    
2916    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2917        return 0;
2918      else
2919      {      {
2920        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2921  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2922        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        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  # endif
2938      }        char *yyfmt;
2939    else        char const *yyf;
2940      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        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          yyarg[0] = yytname[yytype];
2959          yyfmt = yystpcpy (yyformat, yyunexpected);
2960    
2961          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2962            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2963              {
2964                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2965                  {
2966                    yycount = 1;
2967                    yysize = yysize0;
2968                    yyformat[sizeof yyunexpected - 1] = '\0';
2969                    break;
2970                  }
2971                yyarg[yycount++] = yytname[yyx];
2972                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2973                yysize_overflow |= (yysize1 < yysize);
2974                yysize = yysize1;
2975                yyfmt = yystpcpy (yyfmt, yyprefix);
2976                yyprefix = yyor;
2977              }
2978    
2979          yyf = YY_(yyformat);
2980          yysize1 = yysize + yystrlen (yyf);
2981          yysize_overflow |= (yysize1 < yysize);
2982          yysize = yysize1;
2983    
2984    switch (yytype)        if (yysize_overflow)
2985      {          return YYSIZE_MAXIMUM;
2986        default:  
2987          break;        if (yyresult)
2988            {
2989              /* Avoid sprintf, as that infringes on the user's name space.
2990                 Don't have undefined behavior even if the translation
2991                 produced a string with the wrong number of "%s"s.  */
2992              char *yyp = yyresult;
2993              int yyi = 0;
2994              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 (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3023  #else  #else
3024  static void  static void
3025  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3026        const char *yymsg;
3027      int yytype;      int yytype;
3028      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3029  #endif  #endif
3030  {  {
3031    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3032    (void) yyvaluep;  
3033      if (!yymsg)
3034        yymsg = "Deleting";
3035      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3036    
3037    switch (yytype)    switch (yytype)
3038      {      {
3039    
3040        default:        default:
3041          break;          break;
3042      }      }
3043  }  }
3044    
# Line 2232  yydestruct (yytype, yyvaluep) Line 3046  yydestruct (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 2255  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
# Line 2272  yyparse () Line 3090  yyparse ()
3090  #endif  #endif
3091  #endif  #endif
3092  {  {
3093    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3094  int yychar;  int yychar;
3095    
3096  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3097  YYSTYPE yylval;  YYSTYPE yylval;
3098    
3099  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3100  int yynerrs;  int yynerrs;
3101    
3102    register int yystate;    int yystate;
3103    register int yyn;    int yyn;
3104    int yyresult;    int yyresult;
3105    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3106    int yyerrstatus;    int yyerrstatus;
3107    /* Lookahead 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 2298  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 yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3126    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3127    register short *yyssp;    yytype_int16 *yyssp;
3128    
3129    /* The semantic value stack.  */    /* The semantic value stack.  */
3130    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3131    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3132    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
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 2318  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 2344  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 2358  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 *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
3192             data in use in that stack, in bytes.  This used to be a             data in use in that stack, in bytes.  This used to be a
3193             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3194             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3195          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3196                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3197                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3198    
# Line 2380  int yynerrs; Line 3203  int yynerrs;
3203        }        }
3204  #else /* no yyoverflow */  #else /* no yyoverflow */
3205  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3206        goto yyoverflowlab;        goto yyexhaustedlab;
3207  # else  # else
3208        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3209        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3210          goto yyoverflowlab;          goto yyexhaustedlab;
3211        yystacksize *= 2;        yystacksize *= 2;
3212        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3213          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3214    
3215        {        {
3216          short *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)
3220            goto yyoverflowlab;            goto yyexhaustedlab;
3221          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3222          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3223    
# Line 2425  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 lookahead 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: */  
   
   /* First try to decide what to do without reference to lookahead token.  */  
3253    
3254      /* 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;
3258    
3259    /* Not known => get a lookahead token if don't already have one.  */    /* Not known => get a look-ahead token if don't already have one.  */
3260    
3261    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3262    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3263      {      {
3264        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2452  yybackup: Line 3273  yybackup:
3273    else    else
3274      {      {
3275        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3276        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3277      }      }
3278    
3279    /* If the proper action on seeing token YYTOKEN is to reduce or to    /* If the proper action on seeing token YYTOKEN is to reduce or to
# Line 2472  yybackup: Line 3293  yybackup:
3293    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3294      YYACCEPT;      YYACCEPT;
3295    
   /* Shift the lookahead token.  */  
   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));  
   
   /* Discard the token being shifted unless it is eof.  */  
   if (yychar != YYEOF)  
     yychar = YYEMPTY;  
   
   *++yyvsp = yylval;  
   
   
3296    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3297       status.  */       status.  */
3298    if (yyerrstatus)    if (yyerrstatus)
3299      yyerrstatus--;      yyerrstatus--;
3300    
3301      /* Shift the look-ahead token.  */
3302      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3303    
3304      /* Discard the shifted token unless it is eof.  */
3305      if (yychar != YYEOF)
3306        yychar = YYEMPTY;
3307    
3308    yystate = yyn;    yystate = yyn;
3309      *++yyvsp = yylval;
3310    
3311    goto yynewstate;    goto yynewstate;
3312    
3313    
# Line 2523  yyreduce: Line 3343  yyreduce:
3343    switch (yyn)    switch (yyn)
3344      {      {
3345          case 4:          case 4:
3346  #line 85 "lscp.y"  #line 100 "lscp.y"
3347      { return LSCP_DONE; }      { return LSCP_DONE; }
3348      break;      break;
3349    
3350    case 5:    case 5:
3351  #line 86 "lscp.y"  #line 101 "lscp.y"
3352      { return LSCP_DONE; }      { return LSCP_DONE; }
3353      break;      break;
3354    
3355    case 6:    case 6:
3356  #line 87 "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 88 "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 98 "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 99 "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 100 "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 101 "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 102 "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 103 "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 104 "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 105 "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 106 "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 107 "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 108 "lscp.y"  #line 123 "lscp.y"
3417      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3418      break;      break;
3419    
3420    case 24:    case 24:
3421  #line 109 "lscp.y"  #line 124 "lscp.y"
3422      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3423      break;      break;
3424    
3425    case 25:    case 25:
3426  #line 110 "lscp.y"  #line 125 "lscp.y"
3427      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3428      break;      break;
3429    
3430    case 26:    case 26:
3431  #line 113 "lscp.y"  #line 126 "lscp.y"
3432      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3433      break;      break;
3434    
3435    case 27:    case 27:
3436  #line 114 "lscp.y"  #line 127 "lscp.y"
3437      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3438      break;      break;
3439    
3440    case 28:    case 28:
3441  #line 115 "lscp.y"  #line 128 "lscp.y"
3442      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3443      break;      break;
3444    
3445    case 29:    case 29:
3446  #line 116 "lscp.y"  #line 129 "lscp.y"
3447      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3448      break;      break;
3449    
3450    case 30:    case 30:
3451  #line 117 "lscp.y"  #line 132 "lscp.y"
3452      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3453      break;      break;
3454    
3455    case 31:    case 31:
3456  #line 118 "lscp.y"  #line 133 "lscp.y"
3457      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3458      break;      break;
3459    
3460    case 32:    case 32:
3461  #line 121 "lscp.y"  #line 134 "lscp.y"
3462      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3463      break;      break;
3464    
3465    case 33:    case 33:
3466  #line 122 "lscp.y"  #line 137 "lscp.y"
3467      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3468      break;      break;
3469    
3470    case 34:    case 34:
3471  #line 123 "lscp.y"  #line 138 "lscp.y"
3472      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3473      break;      break;
3474    
3475    case 35:    case 35:
3476  #line 124 "lscp.y"  #line 139 "lscp.y"
3477      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3478      break;      break;
3479    
3480    case 36:    case 36:
3481  #line 125 "lscp.y"  #line 140 "lscp.y"
3482      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3483      break;      break;
3484    
3485    case 37:    case 37:
3486  #line 126 "lscp.y"  #line 141 "lscp.y"
3487      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3488      break;      break;
3489    
3490    case 38:    case 38:
3491  #line 129 "lscp.y"  #line 142 "lscp.y"
3492      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3493      break;      break;
3494    
3495    case 39:    case 39:
3496  #line 130 "lscp.y"  #line 143 "lscp.y"
3497      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3498      break;      break;
3499    
3500    case 40:    case 40:
3501  #line 131 "lscp.y"  #line 144 "lscp.y"
3502      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3503      break;      break;
3504    
3505    case 41:    case 41:
3506  #line 132 "lscp.y"  #line 145 "lscp.y"
3507      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3508      break;      break;
3509    
3510    case 42:    case 42:
3511  #line 133 "lscp.y"  #line 146 "lscp.y"
3512      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3513      break;      break;
3514    
3515    case 43:    case 43:
3516  #line 134 "lscp.y"  #line 147 "lscp.y"
3517      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3518      break;      break;
3519    
3520    case 44:    case 44:
3521  #line 135 "lscp.y"  #line 148 "lscp.y"
3522      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3523      break;      break;
3524    
3525    case 45:    case 45:
3526  #line 136 "lscp.y"  #line 149 "lscp.y"
3527      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3528      break;      break;
3529    
3530    case 46:    case 46:
3531  #line 137 "lscp.y"  #line 150 "lscp.y"
3532      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3533      break;      break;
3534    
3535    case 47:    case 47:
3536  #line 138 "lscp.y"  #line 151 "lscp.y"
3537      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3538      break;      break;
3539    
3540    case 48:    case 48:
3541  #line 139 "lscp.y"  #line 154 "lscp.y"
3542      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3543      break;      break;
3544    
3545    case 49:    case 49:
3546  #line 140 "lscp.y"  #line 155 "lscp.y"
3547      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3548      break;      break;
3549    
3550    case 50:    case 50:
3551  #line 141 "lscp.y"  #line 156 "lscp.y"
3552      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3553      break;      break;
3554    
3555    case 51:    case 51:
3556  #line 142 "lscp.y"  #line 157 "lscp.y"
3557      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3558      break;      break;
3559    
3560    case 52:    case 52:
3561  #line 143 "lscp.y"  #line 158 "lscp.y"
3562      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3563      break;      break;
3564    
3565    case 53:    case 53:
3566  #line 144 "lscp.y"  #line 159 "lscp.y"
3567      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3568      break;      break;
3569    
3570    case 54:    case 54:
3571  #line 145 "lscp.y"  #line 160 "lscp.y"
3572      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3573      break;      break;
3574    
3575    case 55:    case 55:
3576  #line 146 "lscp.y"  #line 161 "lscp.y"
3577      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3578      break;      break;
3579    
3580    case 56:    case 56:
3581  #line 147 "lscp.y"  #line 162 "lscp.y"
3582      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3583      break;      break;
3584    
3585    case 57:    case 57:
3586  #line 148 "lscp.y"  #line 163 "lscp.y"
3587      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3588      break;      break;
3589    
3590    case 58:    case 58:
3591  #line 149 "lscp.y"  #line 164 "lscp.y"
3592      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3593      break;      break;
3594    
3595    case 59:    case 59:
3596  #line 150 "lscp.y"  #line 165 "lscp.y"
3597      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3598      break;      break;
3599    
3600    case 60:    case 60:
3601  #line 151 "lscp.y"  #line 166 "lscp.y"
3602      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3603      break;      break;
3604    
3605    case 61:    case 61:
3606  #line 154 "lscp.y"  #line 167 "lscp.y"
3607      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3608      break;      break;
3609    
3610    case 62:    case 62:
3611  #line 155 "lscp.y"  #line 168 "lscp.y"
3612      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3613      break;      break;
3614    
3615    case 63:    case 63:
3616  #line 156 "lscp.y"  #line 171 "lscp.y"
3617      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, 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 157 "lscp.y"  #line 172 "lscp.y"
3622      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (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 158 "lscp.y"  #line 173 "lscp.y"
3627      { yyval.String = yyvsp[0].String;                                                         }      { (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 159 "lscp.y"  #line 174 "lscp.y"
3632      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (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 162 "lscp.y"  #line 177 "lscp.y"
3637      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (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 163 "lscp.y"  #line 180 "lscp.y"
3642      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3643      break;      break;
3644    
3645    case 69:    case 69:
3646  #line 164 "lscp.y"  #line 181 "lscp.y"
3647      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3648      break;      break;
3649    
3650    case 70:    case 70:
3651  #line 165 "lscp.y"  #line 182 "lscp.y"
3652      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3653      break;      break;
3654    
3655    case 71:    case 71:
3656  #line 168 "lscp.y"  #line 185 "lscp.y"
3657      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3658      break;      break;
3659    
3660    case 72:    case 72:
3661  #line 169 "lscp.y"  #line 186 "lscp.y"
3662      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3663      break;      break;
3664    
3665    case 73:    case 73:
3666  #line 172 "lscp.y"  #line 187 "lscp.y"
3667      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3668      break;      break;
3669    
3670    case 74:    case 74:
3671  #line 173 "lscp.y"  #line 188 "lscp.y"
3672      { yyval.String = 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 176 "lscp.y"  #line 189 "lscp.y"
3677      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (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 177 "lscp.y"  #line 190 "lscp.y"
3682      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3683      break;      break;
3684    
3685    case 77:    case 77:
3686  #line 178 "lscp.y"  #line 191 "lscp.y"
3687      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3688      break;      break;
3689    
3690    case 78:    case 78:
3691  #line 179 "lscp.y"  #line 192 "lscp.y"
3692      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3693      break;      break;
3694    
3695    case 79:    case 79:
3696  #line 180 "lscp.y"  #line 193 "lscp.y"
3697      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (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 181 "lscp.y"  #line 194 "lscp.y"
3702      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3703      break;      break;
3704    
3705    case 81:    case 81:
3706  #line 182 "lscp.y"  #line 195 "lscp.y"
3707      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3708      break;      break;
3709    
3710    case 82:    case 82:
3711  #line 183 "lscp.y"  #line 196 "lscp.y"
3712      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3713      break;      break;
3714    
3715    case 83:    case 83:
3716  #line 184 "lscp.y"  #line 197 "lscp.y"
3717      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3718      break;      break;
3719    
3720    case 84:    case 84:
3721  #line 187 "lscp.y"  #line 198 "lscp.y"
3722      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3723      break;      break;
3724    
3725    case 85:    case 85:
3726  #line 188 "lscp.y"  #line 199 "lscp.y"
3727      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (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 191 "lscp.y"  #line 200 "lscp.y"
3732      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3733      break;      break;
3734    
3735    case 87:    case 87:
3736  #line 192 "lscp.y"  #line 201 "lscp.y"
3737      { yyval.FillResponse = fill_response_percentage; }      { (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 195 "lscp.y"  #line 202 "lscp.y"
3742      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3743      break;      break;
3744    
3745    case 89:    case 89:
3746  #line 196 "lscp.y"  #line 203 "lscp.y"
3747      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3748      break;      break;
3749    
3750    case 90:    case 90:
3751  #line 197 "lscp.y"  #line 204 "lscp.y"
3752      { yyval.String = LSCPSERVER->ListChannels();          }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3753      break;      break;
3754    
3755    case 91:    case 91:
3756  #line 200 "lscp.y"  #line 205 "lscp.y"
3757      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3758      break;      break;
3759    
3760    case 92:    case 92:
3761  #line 201 "lscp.y"  #line 206 "lscp.y"
3762      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3763      break;      break;
3764    
3765    case 93:    case 93:
3766  #line 204 "lscp.y"  #line 207 "lscp.y"
3767      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3768        break;
3769    
3770      case 94:
3771    #line 208 "lscp.y"
3772        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3773        break;
3774    
3775      case 95:
3776    #line 209 "lscp.y"
3777        { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3778        break;
3779    
3780      case 96:
3781    #line 210 "lscp.y"
3782        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3783        break;
3784    
3785      case 97:
3786    #line 211 "lscp.y"
3787        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3788        break;
3789    
3790      case 98:
3791    #line 212 "lscp.y"
3792        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3793        break;
3794    
3795      case 99:
3796    #line 213 "lscp.y"
3797        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3798        break;
3799    
3800      case 100:
3801    #line 214 "lscp.y"
3802        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3803      break;      break;
3804    
3805    case 101:    case 101:
3806  #line 226 "lscp.y"  #line 215 "lscp.y"
3807      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3808        break;
3809    
3810      case 102:
3811    #line 216 "lscp.y"
3812        { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3813        break;
3814    
3815      case 103:
3816    #line 217 "lscp.y"
3817        { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3818        break;
3819    
3820      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;      break;
3839    
3840    case 108:    case 108:
3841  #line 243 "lscp.y"  #line 224 "lscp.y"
3842      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3843      break;      break;
3844    
3845    case 109:    case 109:
3846  #line 244 "lscp.y"  #line 225 "lscp.y"
3847      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3848      break;      break;
3849    
3850    case 110:    case 110:
3851  #line 250 "lscp.y"  #line 226 "lscp.y"
3852      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3853      break;      break;
3854    
3855    case 111:    case 111:
3856  #line 251 "lscp.y"  #line 227 "lscp.y"
3857      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3858      break;      break;
3859    
3860    case 112:    case 112:
3861  #line 254 "lscp.y"  #line 228 "lscp.y"
3862      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (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 255 "lscp.y"  #line 229 "lscp.y"
3867      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3868      break;      break;
3869    
3870    case 114:    case 114:
3871  #line 258 "lscp.y"  #line 230 "lscp.y"
3872      { yyval.Dotnum = atoi(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3873      break;      break;
3874    
3875    case 115:    case 115:
3876  #line 259 "lscp.y"  #line 231 "lscp.y"
3877      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3878      break;      break;
3879    
3880    case 116:    case 116:
3881  #line 260 "lscp.y"  #line 234 "lscp.y"
3882      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3883      break;      break;
3884    
3885    case 117:    case 117:
3886  #line 264 "lscp.y"  #line 235 "lscp.y"
3887      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3888      break;      break;
3889    
3890    case 118:    case 118:
3891  #line 265 "lscp.y"  #line 236 "lscp.y"
3892      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3893      break;      break;
3894    
3895    case 119:    case 119:
3896  #line 268 "lscp.y"  #line 237 "lscp.y"
3897      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3898      break;      break;
3899    
3900    case 120:    case 120:
3901  #line 269 "lscp.y"  #line 238 "lscp.y"
3902      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3903      break;      break;
3904    
3905    case 121:    case 121:
3906  #line 270 "lscp.y"  #line 239 "lscp.y"
3907      { yyval.Char = '2'; }      { (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 271 "lscp.y"  #line 242 "lscp.y"
3912      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3913      break;      break;
3914    
3915    case 123:    case 123:
3916  #line 272 "lscp.y"  #line 245 "lscp.y"
3917      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3918      break;      break;
3919    
3920    case 124:    case 124:
3921  #line 273 "lscp.y"  #line 246 "lscp.y"
3922      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3923      break;      break;
3924    
3925    case 125:    case 125:
3926  #line 274 "lscp.y"  #line 249 "lscp.y"
3927      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3928      break;      break;
3929    
3930    case 126:    case 126:
3931  #line 275 "lscp.y"  #line 250 "lscp.y"
3932      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3933      break;      break;
3934    
3935    case 127:    case 127:
3936  #line 276 "lscp.y"  #line 251 "lscp.y"
3937      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3938      break;      break;
3939    
3940    case 128:    case 128:
3941  #line 277 "lscp.y"  #line 254 "lscp.y"
3942      { yyval.Char = '9'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3943      break;      break;
3944    
3945    case 129:    case 129:
3946  #line 280 "lscp.y"  #line 255 "lscp.y"
3947      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3948      break;      break;
3949    
3950    case 130:    case 130:
3951  #line 281 "lscp.y"  #line 258 "lscp.y"
3952      { yyval.Number = atoi(String(String("1") + 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 282 "lscp.y"  #line 259 "lscp.y"
3957      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (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 283 "lscp.y"  #line 260 "lscp.y"
3962      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3963      break;      break;
3964    
3965    case 133:    case 133:
3966  #line 284 "lscp.y"  #line 261 "lscp.y"
3967      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (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 285 "lscp.y"  #line 262 "lscp.y"
3972      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3973      break;      break;
3974    
3975    case 135:    case 135:
3976  #line 286 "lscp.y"  #line 263 "lscp.y"
3977      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3978      break;      break;
3979    
3980    case 136:    case 136:
3981  #line 287 "lscp.y"  #line 264 "lscp.y"
3982      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3983      break;      break;
3984    
3985    case 137:    case 137:
3986  #line 288 "lscp.y"  #line 265 "lscp.y"
3987      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3988      break;      break;
3989    
3990    case 138:    case 138:
3991  #line 289 "lscp.y"  #line 266 "lscp.y"
3992      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3993      break;      break;
3994    
3995    case 139:    case 139:
3996  #line 291 "lscp.y"  #line 267 "lscp.y"
3997      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3998      break;      break;
3999    
4000    case 140:    case 140:
4001  #line 291 "lscp.y"  #line 268 "lscp.y"
4002      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4003      break;      break;
4004    
4005    case 141:    case 141:
4006  #line 291 "lscp.y"  #line 269 "lscp.y"
4007      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4008      break;      break;
4009    
4010    case 142:    case 142:
4011  #line 291 "lscp.y"  #line 270 "lscp.y"
4012      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4013      break;      break;
4014    
4015    case 143:    case 143:
4016  #line 291 "lscp.y"  #line 271 "lscp.y"
4017      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4018      break;      break;
4019    
4020    case 144:    case 144:
4021  #line 291 "lscp.y"  #line 274 "lscp.y"
4022      { yyval.Char = 'F'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4023      break;      break;
4024    
4025    case 145:    case 145:
4026  #line 291 "lscp.y"  #line 275 "lscp.y"
4027      { yyval.Char = 'G'; }      { (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 291 "lscp.y"  #line 278 "lscp.y"
4032      { yyval.Char = 'H'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4033      break;      break;
4034    
4035    case 147:    case 147:
4036  #line 291 "lscp.y"  #line 279 "lscp.y"
4037      { yyval.Char = 'I'; }      { (yyval.FillResponse) = fill_response_percentage; }
4038      break;      break;
4039    
4040    case 148:    case 148:
4041  #line 291 "lscp.y"  #line 282 "lscp.y"
4042      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4043      break;      break;
4044    
4045    case 149:    case 149:
4046  #line 291 "lscp.y"  #line 283 "lscp.y"
4047      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4048      break;      break;
4049    
4050    case 150:    case 150:
4051  #line 291 "lscp.y"  #line 284 "lscp.y"
4052      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4053      break;      break;
4054    
4055    case 151:    case 151:
4056  #line 291 "lscp.y"  #line 285 "lscp.y"
4057      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4058      break;      break;
4059    
4060    case 152:    case 152:
4061  #line 291 "lscp.y"  #line 286 "lscp.y"
4062      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4063      break;      break;
4064    
4065    case 153:    case 153:
4066  #line 291 "lscp.y"  #line 287 "lscp.y"
4067      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4068      break;      break;
4069    
4070    case 154:    case 154:
4071  #line 291 "lscp.y"  #line 288 "lscp.y"
4072      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4073      break;      break;
4074    
4075    case 155:    case 155:
4076  #line 291 "lscp.y"  #line 289 "lscp.y"
4077      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4078      break;      break;
4079    
4080    case 156:    case 156:
4081  #line 291 "lscp.y"  #line 290 "lscp.y"
4082      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4083      break;      break;
4084    
4085    case 157:    case 157:
4086  #line 291 "lscp.y"  #line 291 "lscp.y"
4087      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4088      break;      break;
4089    
4090    case 158:    case 158:
4091  #line 291 "lscp.y"  #line 294 "lscp.y"
4092      { yyval.Char = 'T'; }      { (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 291 "lscp.y"  #line 295 "lscp.y"
4097      { yyval.Char = 'U'; }      { (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 291 "lscp.y"  #line 298 "lscp.y"
4102      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4103      break;      break;
4104    
4105    case 161:    case 161:
4106  #line 291 "lscp.y"  #line 301 "lscp.y"
4107      { yyval.Char = 'W'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4108      break;      break;
4109    
4110    case 162:    case 162:
4111  #line 291 "lscp.y"  #line 302 "lscp.y"
4112      { yyval.Char = 'X'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4113      break;      break;
4114    
4115    case 163:    case 163:
4116  #line 291 "lscp.y"  #line 303 "lscp.y"
4117      { yyval.Char = 'Y'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 164:  
 #line 291 "lscp.y"  
     { yyval.Char = 'Z'; }  
     break;  
   
   case 165:  
 #line 292 "lscp.y"  
     { yyval.Char = 'a'; }  
     break;  
   
   case 166:  
 #line 292 "lscp.y"  
     { yyval.Char = 'b'; }  
     break;  
   
   case 167:  
 #line 292 "lscp.y"  
     { yyval.Char = 'c'; }  
     break;  
   
   case 168:  
 #line 292 "lscp.y"  
     { yyval.Char = 'd'; }  
4118      break;      break;
4119    
4120    case 169:    case 169:
4121  #line 292 "lscp.y"  #line 319 "lscp.y"
4122      { yyval.Char = 'e'; }      { (yyval.Number) = 16; }
     break;  
   
   case 170:  
 #line 292 "lscp.y"  
     { yyval.Char = 'f'; }  
     break;  
   
   case 171:  
 #line 292 "lscp.y"  
     { yyval.Char = 'g'; }  
     break;  
   
   case 172:  
 #line 292 "lscp.y"  
     { yyval.Char = 'h'; }  
     break;  
   
   case 173:  
 #line 292 "lscp.y"  
     { yyval.Char = 'i'; }  
     break;  
   
   case 174:  
 #line 292 "lscp.y"  
     { yyval.Char = 'j'; }  
     break;  
   
   case 175:  
 #line 292 "lscp.y"  
     { yyval.Char = 'k'; }  
4123      break;      break;
4124    
4125    case 176:    case 176:
4126  #line 292 "lscp.y"  #line 338 "lscp.y"
4127      { yyval.Char = 'l'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 177:  
 #line 292 "lscp.y"  
     { yyval.Char = 'm'; }  
     break;  
   
   case 178:  
 #line 292 "lscp.y"  
     { yyval.Char = 'n'; }  
     break;  
   
   case 179:  
 #line 292 "lscp.y"  
     { yyval.Char = 'o'; }  
     break;  
   
   case 180:  
 #line 292 "lscp.y"  
     { yyval.Char = 'p'; }  
     break;  
   
   case 181:  
 #line 292 "lscp.y"  
     { yyval.Char = 'q'; }  
     break;  
   
   case 182:  
 #line 292 "lscp.y"  
     { yyval.Char = 'r'; }  
     break;  
   
   case 183:  
 #line 292 "lscp.y"  
     { yyval.Char = 's'; }  
     break;  
   
   case 184:  
 #line 292 "lscp.y"  
     { yyval.Char = 't'; }  
     break;  
   
   case 185:  
 #line 292 "lscp.y"  
     { yyval.Char = 'u'; }  
4128      break;      break;
4129    
4130    case 186:    case 186:
4131  #line 292 "lscp.y"  #line 366 "lscp.y"
4132      { yyval.Char = 'v'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 187:  
 #line 292 "lscp.y"  
     { yyval.Char = 'w'; }  
     break;  
   
   case 188:  
 #line 292 "lscp.y"  
     { yyval.Char = 'x'; }  
4133      break;      break;
4134    
4135    case 189:    case 189:
4136  #line 292 "lscp.y"  #line 371 "lscp.y"
4137      { yyval.Char = 'y'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4138      break;      break;
4139    
4140    case 190:    case 190:
4141  #line 292 "lscp.y"  #line 372 "lscp.y"
4142      { yyval.Char = 'z'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4143      break;      break;
4144    
4145    case 191:    case 191:
4146  #line 293 "lscp.y"  #line 380 "lscp.y"
4147      { yyval.Char = '0'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4148      break;      break;
4149    
4150    case 192:    case 192:
4151  #line 293 "lscp.y"  #line 381 "lscp.y"
4152      { yyval.Char = '1'; }      { (yyval.Dotnum) = -1; }
4153      break;      break;
4154    
4155    case 193:    case 193:
4156  #line 293 "lscp.y"  #line 384 "lscp.y"
4157      { yyval.Char = '2'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4158      break;      break;
4159    
4160    case 194:    case 194:
4161  #line 293 "lscp.y"  #line 385 "lscp.y"
4162      { yyval.Char = '3'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4163      break;      break;
4164    
4165    case 195:    case 195:
4166  #line 293 "lscp.y"  #line 388 "lscp.y"
4167      { yyval.Char = '4'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4168      break;      break;
4169    
4170    case 196:    case 196:
4171  #line 293 "lscp.y"  #line 389 "lscp.y"
4172      { yyval.Char = '5'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4173      break;      break;
4174    
4175    case 197:    case 197:
4176  #line 293 "lscp.y"  #line 390 "lscp.y"
4177      { yyval.Char = '6'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4178      break;      break;
4179    
4180    case 198:    case 198:
4181  #line 293 "lscp.y"  #line 394 "lscp.y"
4182      { yyval.Char = '7'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4183      break;      break;
4184    
4185    case 199:    case 199:
4186  #line 293 "lscp.y"  #line 395 "lscp.y"
4187      { yyval.Char = '8'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4188      break;      break;
4189    
4190    case 200:    case 200:
4191  #line 293 "lscp.y"  #line 398 "lscp.y"
4192      { yyval.Char = '9'; }      { (yyval.Char) = '0'; }
4193      break;      break;
4194    
4195    case 201:    case 201:
4196  #line 294 "lscp.y"  #line 399 "lscp.y"
4197      { yyval.Char = '!'; }      { (yyval.Char) = '1'; }
4198      break;      break;
4199    
4200    case 202:    case 202:
4201  #line 294 "lscp.y"  #line 400 "lscp.y"
4202      { yyval.Char = '#'; }      { (yyval.Char) = '2'; }
4203      break;      break;
4204    
4205    case 203:    case 203:
4206  #line 294 "lscp.y"  #line 401 "lscp.y"
4207      { yyval.Char = '$'; }      { (yyval.Char) = '3'; }
4208      break;      break;
4209    
4210    case 204:    case 204:
4211  #line 294 "lscp.y"  #line 402 "lscp.y"
4212      { yyval.Char = '%'; }      { (yyval.Char) = '4'; }
4213      break;      break;
4214    
4215    case 205:    case 205:
4216  #line 294 "lscp.y"  #line 403 "lscp.y"
4217      { yyval.Char = '&'; }      { (yyval.Char) = '5'; }
4218      break;      break;
4219    
4220    case 206:    case 206:
4221  #line 294 "lscp.y"  #line 404 "lscp.y"
4222      { yyval.Char = '('; }      { (yyval.Char) = '6'; }
4223      break;      break;
4224    
4225    case 207:    case 207:
4226  #line 294 "lscp.y"  #line 405 "lscp.y"
4227      { yyval.Char = ')'; }      { (yyval.Char) = '7'; }
4228      break;      break;
4229    
4230    case 208:    case 208:
4231  #line 294 "lscp.y"  #line 406 "lscp.y"
4232      { yyval.Char = '*'; }      { (yyval.Char) = '8'; }
4233      break;      break;
4234    
4235    case 209:    case 209:
4236  #line 294 "lscp.y"  #line 407 "lscp.y"
4237      { yyval.Char = '+'; }      { (yyval.Char) = '9'; }
4238      break;      break;
4239    
4240    case 210:    case 210:
4241  #line 294 "lscp.y"  #line 410 "lscp.y"
4242      { yyval.Char = '-'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4243      break;      break;
4244    
4245    case 211:    case 211:
4246  #line 294 "lscp.y"  #line 411 "lscp.y"
4247      { yyval.Char = '.'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4248      break;      break;
4249    
4250    case 212:    case 212:
4251  #line 294 "lscp.y"  #line 412 "lscp.y"
4252      { yyval.Char = '/'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4253      break;      break;
4254    
4255    case 213:    case 213:
4256  #line 295 "lscp.y"  #line 413 "lscp.y"
4257      { yyval.Char = ':'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4258      break;      break;
4259    
4260    case 214:    case 214:
4261  #line 295 "lscp.y"  #line 414 "lscp.y"
4262      { yyval.Char = ';'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4263      break;      break;
4264    
4265    case 215:    case 215:
4266  #line 295 "lscp.y"  #line 415 "lscp.y"
4267      { yyval.Char = '<'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4268      break;      break;
4269    
4270    case 216:    case 216:
4271  #line 295 "lscp.y"  #line 416 "lscp.y"
4272      { yyval.Char = '='; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4273      break;      break;
4274    
4275    case 217:    case 217:
4276  #line 295 "lscp.y"  #line 417 "lscp.y"
4277      { yyval.Char = '>'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4278      break;      break;
4279    
4280    case 218:    case 218:
4281  #line 295 "lscp.y"  #line 418 "lscp.y"
4282      { yyval.Char = '?'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4283      break;      break;
4284    
4285    case 219:    case 219:
4286  #line 295 "lscp.y"  #line 419 "lscp.y"
4287      { yyval.Char = '@'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4288      break;      break;
4289    
4290    case 220:    case 220:
4291  #line 296 "lscp.y"  #line 421 "lscp.y"
4292      { yyval.Char = '['; }      { (yyval.Char) = 'A'; }
4293      break;      break;
4294    
4295    case 221:    case 221:
4296  #line 296 "lscp.y"  #line 421 "lscp.y"
4297      { yyval.Char = '\\'; }      { (yyval.Char) = 'B'; }
4298      break;      break;
4299    
4300    case 222:    case 222:
4301  #line 296 "lscp.y"  #line 421 "lscp.y"
4302      { yyval.Char = ']'; }      { (yyval.Char) = 'C'; }
4303      break;      break;
4304    
4305    case 223:    case 223:
4306  #line 296 "lscp.y"  #line 421 "lscp.y"
4307      { yyval.Char = '^'; }      { (yyval.Char) = 'D'; }
4308      break;      break;
4309    
4310    case 224:    case 224:
4311  #line 296 "lscp.y"  #line 421 "lscp.y"
4312      { yyval.Char = '_'; }      { (yyval.Char) = 'E'; }
4313      break;      break;
4314    
4315    case 225:    case 225:
4316  #line 297 "lscp.y"  #line 421 "lscp.y"
4317      { yyval.Char = '{'; }      { (yyval.Char) = 'F'; }
4318      break;      break;
4319    
4320    case 226:    case 226:
4321  #line 297 "lscp.y"  #line 421 "lscp.y"
4322      { yyval.Char = '|'; }      { (yyval.Char) = 'G'; }
4323      break;      break;
4324    
4325    case 227:    case 227:
4326  #line 297 "lscp.y"  #line 421 "lscp.y"
4327      { yyval.Char = '}'; }      { (yyval.Char) = 'H'; }
4328      break;      break;
4329    
4330    case 228:    case 228:
4331  #line 297 "lscp.y"  #line 421 "lscp.y"
4332      { yyval.Char = '~'; }      { (yyval.Char) = 'I'; }
4333      break;      break;
4334    
4335    case 229:    case 229:
4336  #line 298 "lscp.y"  #line 421 "lscp.y"
4337      { yyval.Char = '\200'; }      { (yyval.Char) = 'J'; }
4338      break;      break;
4339    
4340    case 230:    case 230:
4341  #line 298 "lscp.y"  #line 421 "lscp.y"
4342      { yyval.Char = '\201'; }      { (yyval.Char) = 'K'; }
4343      break;      break;
4344    
4345    case 231:    case 231:
4346  #line 298 "lscp.y"  #line 421 "lscp.y"
4347      { yyval.Char = '\202'; }      { (yyval.Char) = 'L'; }
4348      break;      break;
4349    
4350    case 232:    case 232:
4351  #line 299 "lscp.y"  #line 421 "lscp.y"
4352      { yyval.Char = '\203'; }      { (yyval.Char) = 'M'; }
4353      break;      break;
4354    
4355    case 233:    case 233:
4356  #line 299 "lscp.y"  #line 421 "lscp.y"
4357      { yyval.Char = '\204'; }      { (yyval.Char) = 'N'; }
4358      break;      break;
4359    
4360    case 234:    case 234:
4361  #line 299 "lscp.y"  #line 421 "lscp.y"
4362      { yyval.Char = '\205'; }      { (yyval.Char) = 'O'; }
4363      break;      break;
4364    
4365    case 235:    case 235:
4366  #line 300 "lscp.y"  #line 421 "lscp.y"
4367      { yyval.Char = '\206'; }      { (yyval.Char) = 'P'; }
4368      break;      break;
4369    
4370    case 236:    case 236:
4371  #line 300 "lscp.y"  #line 421 "lscp.y"
4372      { yyval.Char = '\207'; }      { (yyval.Char) = 'Q'; }
4373      break;      break;
4374    
4375    case 237:    case 237:
4376  #line 300 "lscp.y"  #line 421 "lscp.y"
4377      { yyval.Char = '\210'; }      { (yyval.Char) = 'R'; }
4378      break;      break;
4379    
4380    case 238:    case 238:
4381  #line 301 "lscp.y"  #line 421 "lscp.y"
4382      { yyval.Char = '\211'; }      { (yyval.Char) = 'S'; }
4383      break;      break;
4384    
4385    case 239:    case 239:
4386  #line 301 "lscp.y"  #line 421 "lscp.y"
4387      { yyval.Char = '\212'; }      { (yyval.Char) = 'T'; }
4388      break;      break;
4389    
4390    case 240:    case 240:
4391  #line 301 "lscp.y"  #line 421 "lscp.y"
4392      { yyval.Char = '\213'; }      { (yyval.Char) = 'U'; }
4393      break;      break;
4394    
4395    case 241:    case 241:
4396  #line 302 "lscp.y"  #line 421 "lscp.y"
4397      { yyval.Char = '\214'; }      { (yyval.Char) = 'V'; }
4398      break;      break;
4399    
4400    case 242:    case 242:
4401  #line 302 "lscp.y"  #line 421 "lscp.y"
4402      { yyval.Char = '\215'; }      { (yyval.Char) = 'W'; }
4403      break;      break;
4404    
4405    case 243:    case 243:
4406  #line 302 "lscp.y"  #line 421 "lscp.y"
4407      { yyval.Char = '\216'; }      { (yyval.Char) = 'X'; }
4408      break;      break;
4409    
4410    case 244:    case 244:
4411  #line 303 "lscp.y"  #line 421 "lscp.y"
4412      { yyval.Char = '\217'; }      { (yyval.Char) = 'Y'; }
4413      break;      break;
4414    
4415    case 245:    case 245:
4416  #line 303 "lscp.y"  #line 421 "lscp.y"
4417      { yyval.Char = '\220'; }      { (yyval.Char) = 'Z'; }
4418      break;      break;
4419    
4420    case 246:    case 246:
4421  #line 303 "lscp.y"  #line 422 "lscp.y"
4422      { yyval.Char = '\221'; }      { (yyval.Char) = 'a'; }
4423      break;      break;
4424    
4425    case 247:    case 247:
4426  #line 304 "lscp.y"  #line 422 "lscp.y"
4427      { yyval.Char = '\222'; }      { (yyval.Char) = 'b'; }
4428      break;      break;
4429    
4430    case 248:    case 248:
4431  #line 304 "lscp.y"  #line 422 "lscp.y"
4432      { yyval.Char = '\223'; }      { (yyval.Char) = 'c'; }
4433      break;      break;
4434    
4435    case 249:    case 249:
4436  #line 304 "lscp.y"  #line 422 "lscp.y"
4437      { yyval.Char = '\224'; }      { (yyval.Char) = 'd'; }
4438      break;      break;
4439    
4440    case 250:    case 250:
4441  #line 305 "lscp.y"  #line 422 "lscp.y"
4442      { yyval.Char = '\225'; }      { (yyval.Char) = 'e'; }
4443      break;      break;
4444    
4445    case 251:    case 251:
4446  #line 305 "lscp.y"  #line 422 "lscp.y"
4447      { yyval.Char = '\226'; }      { (yyval.Char) = 'f'; }
4448      break;      break;
4449    
4450    case 252:    case 252:
4451  #line 305 "lscp.y"  #line 422 "lscp.y"
4452      { yyval.Char = '\227'; }      { (yyval.Char) = 'g'; }
4453      break;      break;
4454    
4455    case 253:    case 253:
4456  #line 306 "lscp.y"  #line 422 "lscp.y"
4457      { yyval.Char = '\230'; }      { (yyval.Char) = 'h'; }
4458      break;      break;
4459    
4460    case 254:    case 254:
4461  #line 306 "lscp.y"  #line 422 "lscp.y"
4462      { yyval.Char = '\231'; }      { (yyval.Char) = 'i'; }
4463      break;      break;
4464    
4465    case 255:    case 255:
4466  #line 306 "lscp.y"  #line 422 "lscp.y"
4467      { yyval.Char = '\232'; }      { (yyval.Char) = 'j'; }
4468      break;      break;
4469    
4470    case 256:    case 256:
4471  #line 307 "lscp.y"  #line 422 "lscp.y"
4472      { yyval.Char = '\233'; }      { (yyval.Char) = 'k'; }
4473      break;      break;
4474    
4475    case 257:    case 257:
4476  #line 307 "lscp.y"  #line 422 "lscp.y"
4477      { yyval.Char = '\234'; }      { (yyval.Char) = 'l'; }
4478      break;      break;
4479    
4480    case 258:    case 258:
4481  #line 307 "lscp.y"  #line 422 "lscp.y"
4482      { yyval.Char = '\235'; }      { (yyval.Char) = 'm'; }
4483      break;      break;
4484    
4485    case 259:    case 259:
4486  #line 308 "lscp.y"  #line 422 "lscp.y"
4487      { yyval.Char = '\236'; }      { (yyval.Char) = 'n'; }
4488      break;      break;
4489    
4490    case 260:    case 260:
4491  #line 308 "lscp.y"  #line 422 "lscp.y"
4492      { yyval.Char = '\237'; }      { (yyval.Char) = 'o'; }
4493      break;      break;
4494    
4495    case 261:    case 261:
4496  #line 308 "lscp.y"  #line 422 "lscp.y"
4497      { yyval.Char = '\240'; }      { (yyval.Char) = 'p'; }
4498      break;      break;
4499    
4500    case 262:    case 262:
4501  #line 309 "lscp.y"  #line 422 "lscp.y"
4502      { yyval.Char = '\241'; }      { (yyval.Char) = 'q'; }
4503      break;      break;
4504    
4505    case 263:    case 263:
4506  #line 309 "lscp.y"  #line 422 "lscp.y"
4507      { yyval.Char = '\242'; }      { (yyval.Char) = 'r'; }
4508      break;      break;
4509    
4510    case 264:    case 264:
4511  #line 309 "lscp.y"  #line 422 "lscp.y"
4512      { yyval.Char = '\243'; }      { (yyval.Char) = 's'; }
4513      break;      break;
4514    
4515    case 265:    case 265:
4516  #line 310 "lscp.y"  #line 422 "lscp.y"
4517      { yyval.Char = '\244'; }      { (yyval.Char) = 't'; }
4518      break;      break;
4519    
4520    case 266:    case 266:
4521  #line 310 "lscp.y"  #line 422 "lscp.y"
4522      { yyval.Char = '\245'; }      { (yyval.Char) = 'u'; }
4523      break;      break;
4524    
4525    case 267:    case 267:
4526  #line 310 "lscp.y"  #line 422 "lscp.y"
4527      { yyval.Char = '\246'; }      { (yyval.Char) = 'v'; }
4528      break;      break;
4529    
4530    case 268:    case 268:
4531  #line 311 "lscp.y"  #line 422 "lscp.y"
4532      { yyval.Char = '\247'; }      { (yyval.Char) = 'w'; }
4533      break;      break;
4534    
4535    case 269:    case 269:
4536  #line 311 "lscp.y"  #line 422 "lscp.y"
4537      { yyval.Char = '\250'; }      { (yyval.Char) = 'x'; }
4538      break;      break;
4539    
4540    case 270:    case 270:
4541  #line 311 "lscp.y"  #line 422 "lscp.y"
4542      { yyval.Char = '\251'; }      { (yyval.Char) = 'y'; }
4543      break;      break;
4544    
4545    case 271:    case 271:
4546  #line 312 "lscp.y"  #line 422 "lscp.y"
4547      { yyval.Char = '\252'; }      { (yyval.Char) = 'z'; }
4548      break;      break;
4549    
4550    case 272:    case 272:
4551  #line 312 "lscp.y"  #line 423 "lscp.y"
4552      { yyval.Char = '\253'; }      { (yyval.Char) = '0'; }
4553      break;      break;
4554    
4555    case 273:    case 273:
4556  #line 312 "lscp.y"  #line 423 "lscp.y"
4557      { yyval.Char = '\254'; }      { (yyval.Char) = '1'; }
4558      break;      break;
4559    
4560    case 274:    case 274:
4561  #line 313 "lscp.y"  #line 423 "lscp.y"
4562      { yyval.Char = '\255'; }      { (yyval.Char) = '2'; }
4563      break;      break;
4564    
4565    case 275:    case 275:
4566  #line 313 "lscp.y"  #line 423 "lscp.y"
4567      { yyval.Char = '\256'; }      { (yyval.Char) = '3'; }
4568      break;      break;
4569    
4570    case 276:    case 276:
4571  #line 313 "lscp.y"  #line 423 "lscp.y"
4572      { yyval.Char = '\257'; }      { (yyval.Char) = '4'; }
4573      break;      break;
4574    
4575    case 277:    case 277:
4576  #line 314 "lscp.y"  #line 423 "lscp.y"
4577      { yyval.Char = '\260'; }      { (yyval.Char) = '5'; }
4578      break;      break;
4579    
4580    case 278:    case 278:
4581  #line 314 "lscp.y"  #line 423 "lscp.y"
4582      { yyval.Char = '\261'; }      { (yyval.Char) = '6'; }
4583      break;      break;
4584    
4585    case 279:    case 279:
4586  #line 314 "lscp.y"  #line 423 "lscp.y"
4587      { yyval.Char = '\262'; }      { (yyval.Char) = '7'; }
4588      break;      break;
4589    
4590    case 280:    case 280:
4591  #line 315 "lscp.y"  #line 423 "lscp.y"
4592      { yyval.Char = '\263'; }      { (yyval.Char) = '8'; }
4593      break;      break;
4594    
4595    case 281:    case 281:
4596  #line 315 "lscp.y"  #line 423 "lscp.y"
4597      { yyval.Char = '\264'; }      { (yyval.Char) = '9'; }
4598      break;      break;
4599    
4600    case 282:    case 282:
4601  #line 315 "lscp.y"  #line 424 "lscp.y"
4602      { yyval.Char = '\265'; }      { (yyval.Char) = '!'; }
4603      break;      break;
4604    
4605    case 283:    case 283:
4606  #line 316 "lscp.y"  #line 424 "lscp.y"
4607      { yyval.Char = '\266'; }      { (yyval.Char) = '#'; }
4608      break;      break;
4609    
4610    case 284:    case 284:
4611  #line 316 "lscp.y"  #line 424 "lscp.y"
4612      { yyval.Char = '\267'; }      { (yyval.Char) = '$'; }
4613      break;      break;
4614    
4615    case 285:    case 285:
4616  #line 316 "lscp.y"  #line 424 "lscp.y"
4617      { yyval.Char = '\270'; }      { (yyval.Char) = '%'; }
4618      break;      break;
4619    
4620    case 286:    case 286:
4621  #line 317 "lscp.y"  #line 424 "lscp.y"
4622      { yyval.Char = '\271'; }      { (yyval.Char) = '&'; }
4623      break;      break;
4624    
4625    case 287:    case 287:
4626  #line 317 "lscp.y"  #line 424 "lscp.y"
4627      { yyval.Char = '\272'; }      { (yyval.Char) = '('; }
4628      break;      break;
4629    
4630    case 288:    case 288:
4631  #line 317 "lscp.y"  #line 424 "lscp.y"
4632      { yyval.Char = '\273'; }      { (yyval.Char) = ')'; }
4633      break;      break;
4634    
4635    case 289:    case 289:
4636  #line 318 "lscp.y"  #line 424 "lscp.y"
4637      { yyval.Char = '\274'; }      { (yyval.Char) = '*'; }
4638      break;      break;
4639    
4640    case 290:    case 290:
4641  #line 318 "lscp.y"  #line 424 "lscp.y"
4642      { yyval.Char = '\275'; }      { (yyval.Char) = '+'; }
4643      break;      break;
4644    
4645    case 291:    case 291:
4646  #line 318 "lscp.y"  #line 424 "lscp.y"
4647      { yyval.Char = '\276'; }      { (yyval.Char) = '-'; }
4648      break;      break;
4649    
4650    case 292:    case 292:
4651  #line 319 "lscp.y"  #line 424 "lscp.y"
4652      { yyval.Char = '\277'; }      { (yyval.Char) = '.'; }
4653      break;      break;
4654    
4655    case 293:    case 293:
4656  #line 319 "lscp.y"  #line 424 "lscp.y"
4657      { yyval.Char = '\300'; }      { (yyval.Char) = ','; }
4658      break;      break;
4659    
4660    case 294:    case 294:
4661  #line 319 "lscp.y"  #line 424 "lscp.y"
4662      { yyval.Char = '\301'; }      { (yyval.Char) = '/'; }
4663      break;      break;
4664    
4665    case 295:    case 295:
4666  #line 320 "lscp.y"  #line 425 "lscp.y"
4667      { yyval.Char = '\302'; }      { (yyval.Char) = ':'; }
4668      break;      break;
4669    
4670    case 296:    case 296:
4671  #line 320 "lscp.y"  #line 425 "lscp.y"
4672      { yyval.Char = '\303'; }      { (yyval.Char) = ';'; }
4673      break;      break;
4674    
4675    case 297:    case 297:
4676  #line 320 "lscp.y"  #line 425 "lscp.y"
4677      { yyval.Char = '\304'; }      { (yyval.Char) = '<'; }
4678      break;      break;
4679    
4680    case 298:    case 298:
4681  #line 321 "lscp.y"  #line 425 "lscp.y"
4682      { yyval.Char = '\305'; }      { (yyval.Char) = '='; }
4683      break;      break;
4684    
4685    case 299:    case 299:
4686  #line 321 "lscp.y"  #line 425 "lscp.y"
4687      { yyval.Char = '\306'; }      { (yyval.Char) = '>'; }
4688      break;      break;
4689    
4690    case 300:    case 300:
4691  #line 321 "lscp.y"  #line 425 "lscp.y"
4692      { yyval.Char = '\307'; }      { (yyval.Char) = '?'; }
4693      break;      break;
4694    
4695    case 301:    case 301:
4696  #line 322 "lscp.y"  #line 425 "lscp.y"
4697      { yyval.Char = '\310'; }      { (yyval.Char) = '@'; }
4698      break;      break;
4699    
4700    case 302:    case 302:
4701  #line 322 "lscp.y"  #line 426 "lscp.y"
4702      { yyval.Char = '\311'; }      { (yyval.Char) = '['; }
4703      break;      break;
4704    
4705    case 303:    case 303:
4706  #line 322 "lscp.y"  #line 426 "lscp.y"
4707      { yyval.Char = '\312'; }      { (yyval.Char) = '\\'; }
4708      break;      break;
4709    
4710    case 304:    case 304:
4711  #line 323 "lscp.y"  #line 426 "lscp.y"
4712      { yyval.Char = '\313'; }      { (yyval.Char) = ']'; }
4713      break;      break;
4714    
4715    case 305:    case 305:
4716  #line 323 "lscp.y"  #line 426 "lscp.y"
4717      { yyval.Char = '\314'; }      { (yyval.Char) = '^'; }
4718      break;      break;
4719    
4720    case 306:    case 306:
4721  #line 323 "lscp.y"  #line 426 "lscp.y"
4722      { yyval.Char = '\315'; }      { (yyval.Char) = '_'; }
4723      break;      break;
4724    
4725    case 307:    case 307:
4726  #line 324 "lscp.y"  #line 427 "lscp.y"
4727      { yyval.Char = '\316'; }      { (yyval.Char) = '{'; }
4728      break;      break;
4729    
4730    case 308:    case 308:
4731  #line 324 "lscp.y"  #line 427 "lscp.y"
4732      { yyval.Char = '\317'; }      { (yyval.Char) = '|'; }
4733      break;      break;
4734    
4735    case 309:    case 309:
4736  #line 324 "lscp.y"  #line 427 "lscp.y"
4737      { yyval.Char = '\320'; }      { (yyval.Char) = '}'; }
4738      break;      break;
4739    
4740    case 310:    case 310:
4741  #line 325 "lscp.y"  #line 427 "lscp.y"
4742      { yyval.Char = '\321'; }      { (yyval.Char) = '~'; }
4743      break;      break;
4744    
4745    case 311:    case 311:
4746  #line 325 "lscp.y"  #line 428 "lscp.y"
4747      { yyval.Char = '\322'; }      { (yyval.Char) = '\200'; }
4748      break;      break;
4749    
4750    case 312:    case 312:
4751  #line 325 "lscp.y"  #line 428 "lscp.y"
4752      { yyval.Char = '\323'; }      { (yyval.Char) = '\201'; }
4753      break;      break;
4754    
4755    case 313:    case 313:
4756  #line 326 "lscp.y"  #line 428 "lscp.y"
4757      { yyval.Char = '\324'; }      { (yyval.Char) = '\202'; }
4758      break;      break;
4759    
4760    case 314:    case 314:
4761  #line 326 "lscp.y"  #line 429 "lscp.y"
4762      { yyval.Char = '\325'; }      { (yyval.Char) = '\203'; }
4763      break;      break;
4764    
4765    case 315:    case 315:
4766  #line 326 "lscp.y"  #line 429 "lscp.y"
4767      { yyval.Char = '\326'; }      { (yyval.Char) = '\204'; }
4768      break;      break;
4769    
4770    case 316:    case 316:
4771  #line 327 "lscp.y"  #line 429 "lscp.y"
4772      { yyval.Char = '\327'; }      { (yyval.Char) = '\205'; }
4773      break;      break;
4774    
4775    case 317:    case 317:
4776  #line 327 "lscp.y"  #line 430 "lscp.y"
4777      { yyval.Char = '\330'; }      { (yyval.Char) = '\206'; }
4778      break;      break;
4779    
4780    case 318:    case 318:
4781  #line 327 "lscp.y"  #line 430 "lscp.y"
4782      { yyval.Char = '\331'; }      { (yyval.Char) = '\207'; }
4783      break;      break;
4784    
4785    case 319:    case 319:
4786  #line 328 "lscp.y"  #line 430 "lscp.y"
4787      { yyval.Char = '\332'; }      { (yyval.Char) = '\210'; }
4788      break;      break;
4789    
4790    case 320:    case 320:
4791  #line 328 "lscp.y"  #line 431 "lscp.y"
4792      { yyval.Char = '\333'; }      { (yyval.Char) = '\211'; }
4793      break;      break;
4794    
4795    case 321:    case 321:
4796  #line 328 "lscp.y"  #line 431 "lscp.y"
4797      { yyval.Char = '\334'; }      { (yyval.Char) = '\212'; }
4798      break;      break;
4799    
4800    case 322:    case 322:
4801  #line 329 "lscp.y"  #line 431 "lscp.y"
4802      { yyval.Char = '\335'; }      { (yyval.Char) = '\213'; }
4803      break;      break;
4804    
4805    case 323:    case 323:
4806  #line 329 "lscp.y"  #line 432 "lscp.y"
4807      { yyval.Char = '\336'; }      { (yyval.Char) = '\214'; }
4808      break;      break;
4809    
4810    case 324:    case 324:
4811  #line 329 "lscp.y"  #line 432 "lscp.y"
4812      { yyval.Char = '\337'; }      { (yyval.Char) = '\215'; }
4813      break;      break;
4814    
4815    case 325:    case 325:
4816  #line 330 "lscp.y"  #line 432 "lscp.y"
4817      { yyval.Char = '\340'; }      { (yyval.Char) = '\216'; }
4818      break;      break;
4819    
4820    case 326:    case 326:
4821  #line 330 "lscp.y"  #line 433 "lscp.y"
4822      { yyval.Char = '\341'; }      { (yyval.Char) = '\217'; }
4823      break;      break;
4824    
4825    case 327:    case 327:
4826  #line 330 "lscp.y"  #line 433 "lscp.y"
4827      { yyval.Char = '\342'; }      { (yyval.Char) = '\220'; }
4828      break;      break;
4829    
4830    case 328:    case 328:
4831  #line 331 "lscp.y"  #line 433 "lscp.y"
4832      { yyval.Char = '\343'; }      { (yyval.Char) = '\221'; }
4833      break;      break;
4834    
4835    case 329:    case 329:
4836  #line 331 "lscp.y"  #line 434 "lscp.y"
4837      { yyval.Char = '\344'; }      { (yyval.Char) = '\222'; }
4838      break;      break;
4839    
4840    case 330:    case 330:
4841  #line 331 "lscp.y"  #line 434 "lscp.y"
4842      { yyval.Char = '\345'; }      { (yyval.Char) = '\223'; }
4843      break;      break;
4844    
4845    case 331:    case 331:
4846  #line 332 "lscp.y"  #line 434 "lscp.y"
4847      { yyval.Char = '\346'; }      { (yyval.Char) = '\224'; }
4848      break;      break;
4849    
4850    case 332:    case 332:
4851  #line 332 "lscp.y"  #line 435 "lscp.y"
4852      { yyval.Char = '\347'; }      { (yyval.Char) = '\225'; }
4853      break;      break;
4854    
4855    case 333:    case 333:
4856  #line 332 "lscp.y"  #line 435 "lscp.y"
4857      { yyval.Char = '\350'; }      { (yyval.Char) = '\226'; }
4858      break;      break;
4859    
4860    case 334:    case 334:
4861  #line 333 "lscp.y"  #line 435 "lscp.y"
4862      { yyval.Char = '\351'; }      { (yyval.Char) = '\227'; }
4863      break;      break;
4864    
4865    case 335:    case 335:
4866  #line 333 "lscp.y"  #line 436 "lscp.y"
4867      { yyval.Char = '\352'; }      { (yyval.Char) = '\230'; }
4868      break;      break;
4869    
4870    case 336:    case 336:
4871  #line 333 "lscp.y"  #line 436 "lscp.y"
4872      { yyval.Char = '\353'; }      { (yyval.Char) = '\231'; }
4873      break;      break;
4874    
4875    case 337:    case 337:
4876  #line 334 "lscp.y"  #line 436 "lscp.y"
4877      { yyval.Char = '\354'; }      { (yyval.Char) = '\232'; }
4878      break;      break;
4879    
4880    case 338:    case 338:
4881  #line 334 "lscp.y"  #line 437 "lscp.y"
4882      { yyval.Char = '\355'; }      { (yyval.Char) = '\233'; }
4883      break;      break;
4884    
4885    case 339:    case 339:
4886  #line 334 "lscp.y"  #line 437 "lscp.y"
4887      { yyval.Char = '\356'; }      { (yyval.Char) = '\234'; }
4888      break;      break;
4889    
4890    case 340:    case 340:
4891  #line 335 "lscp.y"  #line 437 "lscp.y"
4892      { yyval.Char = '\357'; }      { (yyval.Char) = '\235'; }
4893      break;      break;
4894    
4895    case 341:    case 341:
4896  #line 335 "lscp.y"  #line 438 "lscp.y"
4897      { yyval.Char = '\360'; }      { (yyval.Char) = '\236'; }
4898      break;      break;
4899    
4900    case 342:    case 342:
4901  #line 335 "lscp.y"  #line 438 "lscp.y"
4902      { yyval.Char = '\361'; }      { (yyval.Char) = '\237'; }
4903      break;      break;
4904    
4905    case 343:    case 343:
4906  #line 336 "lscp.y"  #line 438 "lscp.y"
4907      { yyval.Char = '\362'; }      { (yyval.Char) = '\240'; }
4908      break;      break;
4909    
4910    case 344:    case 344:
4911  #line 336 "lscp.y"  #line 439 "lscp.y"
4912      { yyval.Char = '\363'; }      { (yyval.Char) = '\241'; }
4913      break;      break;
4914    
4915    case 345:    case 345:
4916  #line 336 "lscp.y"  #line 439 "lscp.y"
4917      { yyval.Char = '\364'; }      { (yyval.Char) = '\242'; }
4918      break;      break;
4919    
4920    case 346:    case 346:
4921  #line 337 "lscp.y"  #line 439 "lscp.y"
4922      { yyval.Char = '\365'; }      { (yyval.Char) = '\243'; }
4923      break;      break;
4924    
4925    case 347:    case 347:
4926  #line 337 "lscp.y"  #line 440 "lscp.y"
4927      { yyval.Char = '\366'; }      { (yyval.Char) = '\244'; }
4928      break;      break;
4929    
4930    case 348:    case 348:
4931  #line 337 "lscp.y"  #line 440 "lscp.y"
4932      { yyval.Char = '\367'; }      { (yyval.Char) = '\245'; }
4933      break;      break;
4934    
4935    case 349:    case 349:
4936  #line 338 "lscp.y"  #line 440 "lscp.y"
4937      { yyval.Char = '\370'; }      { (yyval.Char) = '\246'; }
4938      break;      break;
4939    
4940    case 350:    case 350:
4941  #line 338 "lscp.y"  #line 441 "lscp.y"
4942      { yyval.Char = '\371'; }      { (yyval.Char) = '\247'; }
4943      break;      break;
4944    
4945    case 351:    case 351:
4946  #line 338 "lscp.y"  #line 441 "lscp.y"
4947      { yyval.Char = '\372'; }      { (yyval.Char) = '\250'; }
4948      break;      break;
4949    
4950    case 352:    case 352:
4951  #line 339 "lscp.y"  #line 441 "lscp.y"
4952      { yyval.Char = '\373'; }      { (yyval.Char) = '\251'; }
4953      break;      break;
4954    
4955    case 353:    case 353:
4956  #line 339 "lscp.y"  #line 442 "lscp.y"
4957      { yyval.Char = '\374'; }      { (yyval.Char) = '\252'; }
4958      break;      break;
4959    
4960    case 354:    case 354:
4961  #line 339 "lscp.y"  #line 442 "lscp.y"
4962      { yyval.Char = '\375'; }      { (yyval.Char) = '\253'; }
4963      break;      break;
4964    
4965    case 355:    case 355:
4966  #line 340 "lscp.y"  #line 442 "lscp.y"
4967      { yyval.Char = '\376'; }      { (yyval.Char) = '\254'; }
4968      break;      break;
4969    
4970    case 356:    case 356:
4971  #line 340 "lscp.y"  #line 443 "lscp.y"
4972      { yyval.Char = '\377'; }      { (yyval.Char) = '\255'; }
4973      break;      break;
4974    
4975    case 357:    case 357:
4976  #line 343 "lscp.y"  #line 443 "lscp.y"
4977      { yyval.String = " ";      }      { (yyval.Char) = '\256'; }
4978        break;
4979    
4980      case 358:
4981    #line 443 "lscp.y"
4982        { (yyval.Char) = '\257'; }
4983      break;      break;
4984    
4985    case 359:    case 359:
4986  #line 345 "lscp.y"  #line 444 "lscp.y"
4987      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\260'; }
4988      break;      break;
4989    
4990    case 360:    case 360:
4991  #line 346 "lscp.y"  #line 444 "lscp.y"
4992      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\261'; }
4993      break;      break;
4994    
4995    case 361:    case 361:
4996  #line 349 "lscp.y"  #line 444 "lscp.y"
4997      { yyval.String = '\'' + yyvsp[-1].String + '\''; }      { (yyval.Char) = '\262'; }
4998      break;      break;
4999    
5000    case 362:    case 362:
5001  #line 350 "lscp.y"  #line 445 "lscp.y"
5002      { yyval.String = '\"' + yyvsp[-1].String + '\"'; }      { (yyval.Char) = '\263'; }
5003      break;      break;
5004    
5005      case 363:
5006    #line 445 "lscp.y"
5007        { (yyval.Char) = '\264'; }
5008        break;
5009    
5010      }    case 364:
5011    #line 445 "lscp.y"
5012        { (yyval.Char) = '\265'; }
5013        break;
5014    
5015  /* Line 999 of yacc.c.  */    case 365:
5016  #line 4230 "y.tab.c"  #line 446 "lscp.y"
5017        { (yyval.Char) = '\266'; }
5018    yyvsp -= yylen;      break;
5019    yyssp -= yylen;  
5020      case 366:
5021    #line 446 "lscp.y"
5022        { (yyval.Char) = '\267'; }
5023        break;
5024    
5025      case 367:
5026    #line 446 "lscp.y"
5027        { (yyval.Char) = '\270'; }
5028        break;
5029    
5030      case 368:
5031    #line 447 "lscp.y"
5032        { (yyval.Char) = '\271'; }
5033        break;
5034    
5035      case 369:
5036    #line 447 "lscp.y"
5037        { (yyval.Char) = '\272'; }
5038        break;
5039    
5040      case 370:
5041    #line 447 "lscp.y"
5042        { (yyval.Char) = '\273'; }
5043        break;
5044    
5045      case 371:
5046    #line 448 "lscp.y"
5047        { (yyval.Char) = '\274'; }
5048        break;
5049    
5050      case 372:
5051    #line 448 "lscp.y"
5052        { (yyval.Char) = '\275'; }
5053        break;
5054    
5055      case 373:
5056    #line 448 "lscp.y"
5057        { (yyval.Char) = '\276'; }
5058        break;
5059    
5060      case 374:
5061    #line 449 "lscp.y"
5062        { (yyval.Char) = '\277'; }
5063        break;
5064    
5065      case 375:
5066    #line 449 "lscp.y"
5067        { (yyval.Char) = '\300'; }
5068        break;
5069    
5070      case 376:
5071    #line 449 "lscp.y"
5072        { (yyval.Char) = '\301'; }
5073        break;
5074    
5075      case 377:
5076    #line 450 "lscp.y"
5077        { (yyval.Char) = '\302'; }
5078        break;
5079    
5080      case 378:
5081    #line 450 "lscp.y"
5082        { (yyval.Char) = '\303'; }
5083        break;
5084    
5085      case 379:
5086    #line 450 "lscp.y"
5087        { (yyval.Char) = '\304'; }
5088        break;
5089    
5090      case 380:
5091    #line 451 "lscp.y"
5092        { (yyval.Char) = '\305'; }
5093        break;
5094    
5095      case 381:
5096    #line 451 "lscp.y"
5097        { (yyval.Char) = '\306'; }
5098        break;
5099    
5100      case 382:
5101    #line 451 "lscp.y"
5102        { (yyval.Char) = '\307'; }
5103        break;
5104    
5105      case 383:
5106    #line 452 "lscp.y"
5107        { (yyval.Char) = '\310'; }
5108        break;
5109    
5110      case 384:
5111    #line 452 "lscp.y"
5112        { (yyval.Char) = '\311'; }
5113        break;
5114    
5115      case 385:
5116    #line 452 "lscp.y"
5117        { (yyval.Char) = '\312'; }
5118        break;
5119    
5120      case 386:
5121    #line 453 "lscp.y"
5122        { (yyval.Char) = '\313'; }
5123        break;
5124    
5125      case 387:
5126    #line 453 "lscp.y"
5127        { (yyval.Char) = '\314'; }
5128        break;
5129    
5130      case 388:
5131    #line 453 "lscp.y"
5132        { (yyval.Char) = '\315'; }
5133        break;
5134    
5135      case 389:
5136    #line 454 "lscp.y"
5137        { (yyval.Char) = '\316'; }
5138        break;
5139    
5140      case 390:
5141    #line 454 "lscp.y"
5142        { (yyval.Char) = '\317'; }
5143        break;
5144    
5145      case 391:
5146    #line 454 "lscp.y"
5147        { (yyval.Char) = '\320'; }
5148        break;
5149    
5150      case 392:
5151    #line 455 "lscp.y"
5152        { (yyval.Char) = '\321'; }
5153        break;
5154    
5155      case 393:
5156    #line 455 "lscp.y"
5157        { (yyval.Char) = '\322'; }
5158        break;
5159    
5160      case 394:
5161    #line 455 "lscp.y"
5162        { (yyval.Char) = '\323'; }
5163        break;
5164    
5165      case 395:
5166    #line 456 "lscp.y"
5167        { (yyval.Char) = '\324'; }
5168        break;
5169    
5170      case 396:
5171    #line 456 "lscp.y"
5172        { (yyval.Char) = '\325'; }
5173        break;
5174    
5175      case 397:
5176    #line 456 "lscp.y"
5177        { (yyval.Char) = '\326'; }
5178        break;
5179    
5180      case 398:
5181    #line 457 "lscp.y"
5182        { (yyval.Char) = '\327'; }
5183        break;
5184    
5185      case 399:
5186    #line 457 "lscp.y"
5187        { (yyval.Char) = '\330'; }
5188        break;
5189    
5190      case 400:
5191    #line 457 "lscp.y"
5192        { (yyval.Char) = '\331'; }
5193        break;
5194    
5195      case 401:
5196    #line 458 "lscp.y"
5197        { (yyval.Char) = '\332'; }
5198        break;
5199    
5200      case 402:
5201    #line 458 "lscp.y"
5202        { (yyval.Char) = '\333'; }
5203        break;
5204    
5205      case 403:
5206    #line 458 "lscp.y"
5207        { (yyval.Char) = '\334'; }
5208        break;
5209    
5210      case 404:
5211    #line 459 "lscp.y"
5212        { (yyval.Char) = '\335'; }
5213        break;
5214    
5215      case 405:
5216    #line 459 "lscp.y"
5217        { (yyval.Char) = '\336'; }
5218        break;
5219    
5220      case 406:
5221    #line 459 "lscp.y"
5222        { (yyval.Char) = '\337'; }
5223        break;
5224    
5225      case 407:
5226    #line 460 "lscp.y"
5227        { (yyval.Char) = '\340'; }
5228        break;
5229    
5230      case 408:
5231    #line 460 "lscp.y"
5232        { (yyval.Char) = '\341'; }
5233        break;
5234    
5235      case 409:
5236    #line 460 "lscp.y"
5237        { (yyval.Char) = '\342'; }
5238        break;
5239    
5240      case 410:
5241    #line 461 "lscp.y"
5242        { (yyval.Char) = '\343'; }
5243        break;
5244    
5245      case 411:
5246    #line 461 "lscp.y"
5247        { (yyval.Char) = '\344'; }
5248        break;
5249    
5250      case 412:
5251    #line 461 "lscp.y"
5252        { (yyval.Char) = '\345'; }
5253        break;
5254    
5255      case 413:
5256    #line 462 "lscp.y"
5257        { (yyval.Char) = '\346'; }
5258        break;
5259    
5260      case 414:
5261    #line 462 "lscp.y"
5262        { (yyval.Char) = '\347'; }
5263        break;
5264    
5265      case 415:
5266    #line 462 "lscp.y"
5267        { (yyval.Char) = '\350'; }
5268        break;
5269    
5270      case 416:
5271    #line 463 "lscp.y"
5272        { (yyval.Char) = '\351'; }
5273        break;
5274    
5275      case 417:
5276    #line 463 "lscp.y"
5277        { (yyval.Char) = '\352'; }
5278        break;
5279    
5280      case 418:
5281    #line 463 "lscp.y"
5282        { (yyval.Char) = '\353'; }
5283        break;
5284    
5285      case 419:
5286    #line 464 "lscp.y"
5287        { (yyval.Char) = '\354'; }
5288        break;
5289    
5290      case 420:
5291    #line 464 "lscp.y"
5292        { (yyval.Char) = '\355'; }
5293        break;
5294    
5295      case 421:
5296    #line 464 "lscp.y"
5297        { (yyval.Char) = '\356'; }
5298        break;
5299    
5300      case 422:
5301    #line 465 "lscp.y"
5302        { (yyval.Char) = '\357'; }
5303        break;
5304    
5305      case 423:
5306    #line 465 "lscp.y"
5307        { (yyval.Char) = '\360'; }
5308        break;
5309    
5310      case 424:
5311    #line 465 "lscp.y"
5312        { (yyval.Char) = '\361'; }
5313        break;
5314    
5315      case 425:
5316    #line 466 "lscp.y"
5317        { (yyval.Char) = '\362'; }
5318        break;
5319    
5320      case 426:
5321    #line 466 "lscp.y"
5322        { (yyval.Char) = '\363'; }
5323        break;
5324    
5325      case 427:
5326    #line 466 "lscp.y"
5327        { (yyval.Char) = '\364'; }
5328        break;
5329    
5330      case 428:
5331    #line 467 "lscp.y"
5332        { (yyval.Char) = '\365'; }
5333        break;
5334    
5335      case 429:
5336    #line 467 "lscp.y"
5337        { (yyval.Char) = '\366'; }
5338        break;
5339    
5340      case 430:
5341    #line 467 "lscp.y"
5342        { (yyval.Char) = '\367'; }
5343        break;
5344    
5345      case 431:
5346    #line 468 "lscp.y"
5347        { (yyval.Char) = '\370'; }
5348        break;
5349    
5350      case 432:
5351    #line 468 "lscp.y"
5352        { (yyval.Char) = '\371'; }
5353        break;
5354    
5355      case 433:
5356    #line 468 "lscp.y"
5357        { (yyval.Char) = '\372'; }
5358        break;
5359    
5360      case 434:
5361    #line 469 "lscp.y"
5362        { (yyval.Char) = '\373'; }
5363        break;
5364    
5365      case 435:
5366    #line 469 "lscp.y"
5367        { (yyval.Char) = '\374'; }
5368        break;
5369    
5370      case 436:
5371    #line 469 "lscp.y"
5372        { (yyval.Char) = '\375'; }
5373        break;
5374    
5375      case 437:
5376    #line 470 "lscp.y"
5377        { (yyval.Char) = '\376'; }
5378        break;
5379    
5380      case 438:
5381    #line 470 "lscp.y"
5382        { (yyval.Char) = '\377'; }
5383        break;
5384    
5385      case 439:
5386    #line 473 "lscp.y"
5387        { (yyval.String) = " ";      }
5388        break;
5389    
5390      case 441:
5391    #line 475 "lscp.y"
5392        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5393        break;
5394    
5395      case 442:
5396    #line 476 "lscp.y"
5397        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5398        break;
5399    
5400      case 443:
5401    #line 479 "lscp.y"
5402        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5403        break;
5404    
5405      case 444:
5406    #line 480 "lscp.y"
5407        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5408        break;
5409    
5410    
5411    /* Line 1267 of yacc.c.  */
5412    #line 5413 "y.tab.c"
5413          default: break;
5414        }
5415      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5416    
5417      YYPOPSTACK (yylen);
5418      yylen = 0;
5419    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5420    
5421    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4260  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            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5453            int yytype = YYTRANSLATE (yychar);            {
5454            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
5455            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5456                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
5457            yycount = 0;              if (yymsg != yymsgbuf)
           /* Start YYX at -YYN if negative to avoid negative indexes in  
              YYCHECK.  */  
           for (yyx = yyn < 0 ? -yyn : 0;  
                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
               yysize += yystrlen (yytname[yyx]) + 15, yycount++;  
           yysize += yystrlen ("syntax error, unexpected ") + 1;  
           yysize += yystrlen (yytname[yytype]);  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
   
               if (yycount < 5)  
                 {  
                   yycount = 0;  
                   for (yyx = yyn < 0 ? -yyn : 0;  
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
                       {  
                         const char *yyq = ! yycount ? ", expecting " : " or ";  
                         yyp = yystpcpy (yyp, yyq);  
                         yyp = yystpcpy (yyp, yytname[yyx]);  
                         yycount++;  
                       }  
                 }  
               yyerror (yymsg);  
5458                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
5459              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5460            else              if (yymsg)
5461              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
5462          }              else
5463        else                {
5464  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
5465          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
5466                  }
5467              }
5468    
5469            if (0 < yysize && yysize <= yymsg_alloc)
5470              {
5471                (void) yysyntax_error (yymsg, yystate, yychar);
5472                yyerror (yymsg);
5473              }
5474            else
5475              {
5476                yyerror (YY_("syntax error"));
5477                if (yysize != 0)
5478                  goto yyexhaustedlab;
5479              }
5480          }
5481    #endif
5482      }      }
5483    
5484    
5485    
5486    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5487      {      {
5488        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5489           error, discard it.  */           error, discard it.  */
5490    
5491        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
5492        if (yychar == YYEOF)          {
5493          {            /* Return failure if at end of input.  */
5494            /* Pop the error token.  */            if (yychar == YYEOF)
5495            YYPOPSTACK;              YYABORT;
5496            /* Pop the rest of the stack.  */          }
5497            while (yyss < yyssp)        else
5498              {          {
5499                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5500                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5501                YYPOPSTACK;            yychar = YYEMPTY;
5502              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5503      }      }
5504    
5505    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5506       token.  */       token.  */
5507    goto yyerrlab1;    goto yyerrlab1;
5508    
5509    
5510  /*----------------------------------------------------.  /*---------------------------------------------------.
5511  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5512  `----------------------------------------------------*/  `---------------------------------------------------*/
5513    yyerrorlab:
5514    
5515      /* Pacify compilers like GCC when the user code never invokes
5516         YYERROR and the label yyerrorlab therefore never appears in user
5517         code.  */
5518      if (/*CONSTCOND*/ 0)
5519         goto yyerrorlab;
5520    
5521      /* Do not reclaim the symbols of the rule which action triggered
5522         this YYERROR.  */
5523      YYPOPSTACK (yylen);
5524      yylen = 0;
5525      YY_STACK_PRINT (yyss, yyssp);
5526      yystate = *yyssp;
5527      goto yyerrlab1;
5528    
5529    
5530    /*-------------------------------------------------------------.
5531    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5532    `-------------------------------------------------------------*/
5533  yyerrlab1:  yyerrlab1:
5534    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5535    
# Line 4367  yyerrlab1: Line 5551  yyerrlab1:
5551        if (yyssp == yyss)        if (yyssp == yyss)
5552          YYABORT;          YYABORT;
5553    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5554    
5555          yydestruct ("Error: popping",
5556                      yystos[yystate], yyvsp);
5557          YYPOPSTACK (1);
5558          yystate = *yyssp;
5559        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5560      }      }
5561    
5562    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5563      YYACCEPT;      YYACCEPT;
5564    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5565    *++yyvsp = yylval;    *++yyvsp = yylval;
5566    
5567    
5568      /* Shift the error token.  */
5569      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5570    
5571    yystate = yyn;    yystate = yyn;
5572    goto yynewstate;    goto yynewstate;
5573    
# Line 4402  yyabortlab: Line 5587  yyabortlab:
5587    goto yyreturn;    goto yyreturn;
5588    
5589  #ifndef yyoverflow  #ifndef yyoverflow
5590  /*----------------------------------------------.  /*-------------------------------------------------.
5591  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5592  `----------------------------------------------*/  `-------------------------------------------------*/
5593  yyoverflowlab:  yyexhaustedlab:
5594    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5595    yyresult = 2;    yyresult = 2;
5596    /* Fall through.  */    /* Fall through.  */
5597  #endif  #endif
5598    
5599  yyreturn:  yyreturn:
5600      if (yychar != YYEOF && yychar != YYEMPTY)
5601         yydestruct ("Cleanup: discarding lookahead",
5602                     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)
5608        {
5609          yydestruct ("Cleanup: popping",
5610                      yystos[*yyssp], yyvsp);
5611          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 506 "lscp.y"  #line 738 "lscp.y"
5627    
5628    
5629  /**  /**
# Line 4438  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.221  
changed lines
  Added in v.1026

  ViewVC Help
Powered by ViewVC