/[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 155 by senkov, Mon Jun 28 04:30:11 2004 UTC revision 1161 by iliev, Mon Apr 16 15:51:18 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875.  */  /* 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 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 47  Line 60 
60    
61    
62    
 /* Tokens.  */  
 #ifndef YYTOKENTYPE  
 # define YYTOKENTYPE  
    /* Put the tokens into the symbol table, so that GDB and other debuggers  
       know about them.  */  
    enum yytokentype {  
      CHAR = 258,  
      DOTNUM = 259,  
      NUMBER = 260,  
      STRINGVAL = 261,  
      SP = 262,  
      LF = 263,  
      CR = 264,  
      HASH = 265,  
      EQ = 266,  
      ADD = 267,  
      GET = 268,  
      CREATE = 269,  
      DESTROY = 270,  
      LIST = 271,  
      LOAD = 272,  
      NON_MODAL = 273,  
      REMOVE = 274,  
      SET = 275,  
      SUBSCRIBE = 276,  
      UNSUBSCRIBE = 277,  
      RESET = 278,  
      QUIT = 279,  
      CHANNEL = 280,  
      NOTIFICATION = 281,  
      AVAILABLE_ENGINES = 282,  
      AVAILABLE_AUDIO_OUTPUT_DRIVERS = 283,  
      CHANNELS = 284,  
      INFO = 285,  
      BUFFER_FILL = 286,  
      STREAM_COUNT = 287,  
      VOICE_COUNT = 288,  
      INSTRUMENT = 289,  
      ENGINE = 290,  
      AUDIO_OUTPUT_CHANNEL = 291,  
      AUDIO_OUTPUT_CHANNEL_PARAMETER = 292,  
      AUDIO_OUTPUT_DEVICE = 293,  
      AUDIO_OUTPUT_DEVICES = 294,  
      AUDIO_OUTPUT_DEVICE_PARAMETER = 295,  
      AUDIO_OUTPUT_DRIVER = 296,  
      AUDIO_OUTPUT_DRIVER_PARAMETER = 297,  
      AUDIO_OUTPUT_TYPE = 298,  
      MIDI_INPUT = 299,  
      MIDI_INPUT_TYPE = 300,  
      MIDI_INPUT_PORT = 301,  
      MIDI_INPUT_CHANNEL = 302,  
      VOLUME = 303,  
      MIDI_INPUT_DRIVER = 304,  
      MIDI_INPUT_DRIVER_PARAMETER = 305,  
      AVAILABLE_MIDI_INPUT_DRIVERS = 306,  
      MIDI_INPUT_DEVICE = 307,  
      MIDI_INPUT_DEVICES = 308,  
      MIDI_INPUT_DEVICE_PARAMETER = 309,  
      MIDI_INPUT_PORT_PARAMETER = 310,  
      BYTES = 311,  
      PERCENTAGE = 312,  
      MISCELLANEOUS = 313  
    };  
 #endif  
 #define CHAR 258  
 #define DOTNUM 259  
 #define NUMBER 260  
 #define STRINGVAL 261  
 #define SP 262  
 #define LF 263  
 #define CR 264  
 #define HASH 265  
 #define EQ 266  
 #define ADD 267  
 #define GET 268  
 #define CREATE 269  
 #define DESTROY 270  
 #define LIST 271  
 #define LOAD 272  
 #define NON_MODAL 273  
 #define REMOVE 274  
 #define SET 275  
 #define SUBSCRIBE 276  
 #define UNSUBSCRIBE 277  
 #define RESET 278  
 #define QUIT 279  
 #define CHANNEL 280  
 #define NOTIFICATION 281  
 #define AVAILABLE_ENGINES 282  
 #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 283  
 #define CHANNELS 284  
 #define INFO 285  
 #define BUFFER_FILL 286  
 #define STREAM_COUNT 287  
 #define VOICE_COUNT 288  
 #define INSTRUMENT 289  
 #define ENGINE 290  
 #define AUDIO_OUTPUT_CHANNEL 291  
 #define AUDIO_OUTPUT_CHANNEL_PARAMETER 292  
 #define AUDIO_OUTPUT_DEVICE 293  
 #define AUDIO_OUTPUT_DEVICES 294  
 #define AUDIO_OUTPUT_DEVICE_PARAMETER 295  
 #define AUDIO_OUTPUT_DRIVER 296  
 #define AUDIO_OUTPUT_DRIVER_PARAMETER 297  
 #define AUDIO_OUTPUT_TYPE 298  
 #define MIDI_INPUT 299  
 #define MIDI_INPUT_TYPE 300  
 #define MIDI_INPUT_PORT 301  
 #define MIDI_INPUT_CHANNEL 302  
 #define VOLUME 303  
 #define MIDI_INPUT_DRIVER 304  
 #define MIDI_INPUT_DRIVER_PARAMETER 305  
 #define AVAILABLE_MIDI_INPUT_DRIVERS 306  
 #define MIDI_INPUT_DEVICE 307  
 #define MIDI_INPUT_DEVICES 308  
 #define MIDI_INPUT_DEVICE_PARAMETER 309  
 #define MIDI_INPUT_PORT_PARAMETER 310  
 #define BYTES 311  
 #define PERCENTAGE 312  
 #define MISCELLANEOUS 313  
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 23 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
72  #include "lscpserver.h"  #include "lscpserver.h"
73    #include "lscpevent.h"
 // as we need an reentrant scanner, we have to pass the pointer to the scanner with each yylex() call  
 #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner  
74    
75  // to save us typing work in the rules action definitions  // to save us typing work in the rules action definitions
76  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
77    
78  // clears input buffer and restarts scanner.  // clears input buffer
79  void restart(yyparse_param_t* pparam, int& yychar);  void restart(yyparse_param_t* pparam, int& yychar);
80  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
81    
 // external reference to the main scanner function yylex()  
 extern YY_DECL;  
   
 // external reference to restart the lex scanner  
 extern void yyrestart(FILE* input_file, yyscan_t yyscanner);  
   
82  // we provide our own version of yyerror() so we don't have to link against the yacc library  // we provide our own version of yyerror() so we don't have to link against the yacc library
83  void yyerror(const char* s);  void yyerror(const char* s);
84    
85    static char buf[1024]; // input buffer to feed the parser with new characters
86    static int bytes = 0;  // current number of characters in the input buffer
87    static int ptr   = 0;  // current position in the input buffer
88    
89    // external reference to the function which actually reads from the socket
90    extern int GetLSCPCommand( void *buf, int max_size);
91    
92    // custom scanner function which reads from the socket
93    int yylex(YYSTYPE* yylval) {
94        // check if we have to read new characters
95        if (ptr >= bytes) {
96            bytes = GetLSCPCommand(buf, 1023);
97            ptr   = 0;
98            if (bytes < 0) {
99                bytes = 0;
100                return 0;
101            }
102        }
103        return (int) buf[ptr++];
104    }
105    
106    
107    
108  /* Enabling traces.  */  /* Enabling traces.  */
# Line 212  void yyerror(const char* s); Line 118  void yyerror(const char* s);
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 224  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 228 "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 276  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 311  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
348    
349  #endif  #endif
350    
351  #if defined (__STDC__) || defined (__cplusplus)  /* YYFINAL -- State number of the termination state.  */
352     typedef signed char yysigned_char;  #define YYFINAL  47
 #else  
    typedef short yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  30  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   285  #define YYLAST   4799
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  59  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  31  #define YYNNTS  158
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  104  #define YYNRULES  582
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  290  #define YYNSTATES  1965
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   313  #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         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,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       216,   217,   218,   219,   220,   221,     1,     2
        2,     2,     2,     2,     2,     2,     1,     2,     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  
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,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        59,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,   101,   109,   117,   123,   131,   133,   137,   139,
412       113,   119,   127,   137,   139,   145,   153,   163,   165,   167,       141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
413       173,   179,   187,   195,   205,   207,   213,   221,   227,   233,       161,   163,   165,   167,   169,   171,   173,   175,   177,   179,
414       239,   247,   257,   265,   275,   279,   285,   289,   293,   297,       181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
415       301,   305,   309,   315,   323,   329,   339,   345,   351,   355,       201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
416       361,   363,   365,   367,   369,   375,   383,   387,   389,   391,       221,   223,   225,   242,   261,   280,   301,   309,   313,   317,
417       393,   395,   397,   399,   401,   403,   405,   407,   409,   411,       321,   327,   331,   335,   337,   339,   345,   353,   363,   365,
418       413,   415,   417,   419,   421       371,   379,   389,   391,   393,   399,   405,   413,   423,   431,
419         441,   443,   449,   457,   463,   469,   475,   479,   481,   483,
420         487,   491,   501,   503,   509,   513,   521,   525,   531,   535,
421         541,   543,   551,   561,   569,   579,   583,   591,   601,   613,
422         623,   633,   641,   649,   657,   665,   669,   673,   679,   683,
423         689,   693,   699,   707,   711,   715,   719,   725,   731,   735,
424         739,   745,   749,   753,   759,   767,   773,   783,   789,   795,
425         801,   807,   813,   819,   825,   831,   837,   843,   844,   847,
426         851,   857,   859,   861,   863,   865,   867,   869,   871,   873,
427         877,   881,   883,   887,   891,   895,   901,   909,   913,   915,
428         917,   919,   921,   923,   925,   927,   929,   931,   933,   935,
429         937,   939,   941,   943,   945,   947,   949,   951,   953,   955,
430         957,   959,   961,   963,   965,   967,   971,   973,   975,   977,
431         979,   981,   983,   985,   988,   992,   997,  1002,  1004,  1007,
432        1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,
433        1029,  1032,  1035,  1038,  1041,  1044,  1047,  1050,  1053,  1056,
434        1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,  1076,
435        1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,  1094,  1096,
436        1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,  1114,  1116,
437        1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,  1134,  1136,
438        1138,  1140,  1142,  1144,  1146,  1148,  1150,  1152,  1154,  1156,
439        1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,  1174,  1176,
440        1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
441        1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,
442        1218,  1220,  1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,
443        1238,  1240,  1242,  1244,  1246,  1248,  1250,  1252,  1254,  1256,
444        1258,  1260,  1262,  1264,  1266,  1268,  1270,  1272,  1274,  1276,
445        1278,  1280,  1282,  1284,  1286,  1288,  1290,  1292,  1294,  1296,
446        1298,  1300,  1302,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
447        1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,  1334,  1336,
448        1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,
449        1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
450        1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
451        1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
452        1418,  1420,  1422,  1424,  1426,  1428,  1430,  1432,  1434,  1436,
453        1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456,
454        1458,  1460,  1462,  1464,  1466,  1468,  1470,  1472,  1474,  1476,
455        1478,  1480,  1482,  1484,  1486,  1488,  1490,  1492,  1494,  1496,
456        1498,  1501,  1504,  1508,  1512,  1514,  1516,  1518,  1522,  1526,
457        1530,  1536,  1542,  1547,  1554,  1562,  1567,  1572,  1576,  1581,
458        1589,  1599,  1606,  1610,  1620,  1632,  1640,  1658,  1689,  1698,
459        1703,  1729,  1754,  1778,  1801,  1827,  1852,  1874,  1895,  1925,
460        1954,  1974,  1993,  2007,  2020,  2034,  2047,  2059,  2072,  2084,
461        2102,  2124,  2136,  2147,  2154,  2164,  2179,  2190,  2220,  2241,
462        2261,  2291,  2311,  2342,  2363,  2381,  2410,  2438,  2464,  2483,
463        2501,  2529,  2545,  2562,  2582,  2603,  2621,  2637,  2656,  2672,
464        2683,  2699,  2707,  2716,  2740,  2766,  2781,  2795,  2807,  2813,
465        2818,  2832,  2839,  2846,  2852,  2857,  2862,  2868,  2879,  2885,
466        2899,  2904,  2909
467  };  };
468    
469  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
470  static const yysigned_char yyrhs[] =  static const yytype_int16 yyrhs[] =
471  {  {
472        60,     0,    -1,    61,    -1,    60,     8,    61,    -1,    60,       228,     0,    -1,   229,   287,    -1,   229,   288,   287,    -1,
473         9,     8,    61,    -1,    -1,    62,    -1,    63,    -1,     1,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
474        -1,    10,    -1,    62,    10,    -1,    62,     7,    -1,    62,         3,    -1,   230,   286,    -1,   230,   282,    -1,   230,   278,
475         5,    -1,    62,    89,    -1,    12,     7,    25,    -1,    13,        -1,   289,   286,   232,    -1,   291,   286,   235,    -1,   292,
476         7,    66,    -1,    14,     7,    68,    -1,    15,     7,    69,       286,   236,    -1,   290,   286,   238,    -1,   295,   286,   240,
477        -1,    16,     7,    74,    -1,    17,     7,    70,    -1,    19,        -1,   296,   286,   244,    -1,   297,   286,   250,    -1,   298,
478         7,    25,     7,    83,    -1,    20,     7,    67,    -1,    21,       286,   245,    -1,   303,   286,   237,    -1,   304,   286,   239,
479         7,    64,    -1,    22,     7,    65,    -1,    23,     7,    25,        -1,   305,   286,   233,    -1,   306,   286,   234,    -1,   380,
480         7,    83,    -1,    24,    -1,    29,    -1,    33,    -1,    32,       286,   241,    -1,   293,   286,   242,    -1,   294,   286,   243,
481        -1,    31,    -1,    30,    -1,    58,    -1,    29,    -1,    33,        -1,   380,    -1,   384,    -1,   307,    -1,   365,   286,   269,
482        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    27,        -1,   367,   286,   371,   286,   269,   286,   269,    -1,   367,
483        -1,    51,    -1,    49,     7,    30,     7,    89,    -1,    50,       286,   372,   286,   269,   286,   269,    -1,   367,   286,   269,
484         7,    30,     7,    89,     7,    89,    -1,    50,     7,    30,       286,   269,    -1,   367,   286,   269,   286,   269,   286,   266,
485         7,    89,     7,    89,     7,    72,    -1,    28,    -1,    41,        -1,   355,    -1,   355,   286,   272,    -1,   312,    -1,   313,
486         7,    30,     7,    89,    -1,    42,     7,    30,     7,    89,        -1,   314,    -1,   315,    -1,   324,    -1,   330,    -1,   329,
487         7,    89,    -1,    42,     7,    30,     7,    89,     7,    89,        -1,   328,    -1,   325,    -1,   326,    -1,   327,    -1,   316,
488         7,    72,    -1,    39,    -1,    53,    -1,    38,     7,    30,        -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,   321,
489         7,     5,    -1,    52,     7,    30,     7,     5,    -1,    46,        -1,   322,    -1,   323,    -1,   381,    -1,   331,    -1,   333,
490         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   324,
491         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,        -1,   330,    -1,   329,    -1,   328,    -1,   325,    -1,   326,
492         7,     5,     7,    89,    -1,    29,    -1,    25,     7,    30,        -1,   327,    -1,   316,    -1,   317,    -1,   318,    -1,   319,
493         7,    83,    -1,    25,     7,    31,     7,    73,     7,    83,        -1,   320,    -1,   321,    -1,   322,    -1,   323,    -1,   381,
494        -1,    25,     7,    32,     7,    83,    -1,    25,     7,    33,        -1,   331,    -1,   333,    -1,   353,   286,   247,   260,   286,
495         7,    83,    -1,    35,     7,    30,     7,    86,    -1,    40,       261,   286,   262,   286,   268,   286,   271,   286,   266,   286,
496         7,     5,     7,    89,    11,    88,    -1,    37,     7,     5,       264,    -1,   353,   286,   247,   260,   286,   261,   286,   262,
497         7,     5,     7,    89,    11,    88,    -1,    54,     7,     5,       286,   268,   286,   271,   286,   266,   286,   264,   286,   253,
498         7,    89,    11,    88,    -1,    55,     7,     5,     7,     5,        -1,   353,   286,   247,   260,   286,   261,   286,   262,   286,
499         7,    89,    11,    88,    -1,    25,     7,    71,    -1,    38,       268,   286,   271,   286,   266,   286,   264,   286,   273,    -1,
500         7,    89,     7,    72,    -1,    38,     7,    89,    -1,    52,       353,   286,   247,   260,   286,   261,   286,   262,   286,   268,
501         7,    89,    -1,    38,     7,     5,    -1,    52,     7,     5,       286,   271,   286,   266,   286,   264,   286,   253,   286,   273,
502        -1,    34,     7,    75,    -1,    35,     7,    76,    -1,    38,        -1,   353,   286,   260,   286,   261,   286,   262,    -1,   307,
503         7,    83,     7,     5,    -1,    36,     7,    83,     7,    85,       286,   265,    -1,   355,   286,   260,    -1,   355,   286,   299,
504         7,    85,    -1,    43,     7,    83,     7,    77,    -1,    44,        -1,   365,   286,   370,   286,   269,    -1,   365,   286,   269,
505         7,    83,     7,    78,     7,    79,     7,    80,    -1,    45,        -1,   368,   286,   269,    -1,   308,    -1,   347,    -1,   357,
506         7,    83,     7,    81,    -1,    48,     7,    83,     7,    82,       286,   311,   286,   278,    -1,   352,   286,   311,   286,   278,
507        -1,    89,    11,    88,    -1,    72,     7,    89,    11,    88,       286,   278,    -1,   352,   286,   311,   286,   278,   286,   278,
508        -1,    56,    -1,    57,    -1,    39,    -1,    53,    -1,    87,       286,   248,    -1,   309,    -1,   343,   286,   311,   286,   278,
509         7,    84,     7,    83,    -1,    18,     7,    87,     7,    84,        -1,   342,   286,   311,   286,   278,   286,   278,    -1,   342,
510         7,    83,    -1,    86,     7,    83,    -1,    89,    -1,     5,       286,   311,   286,   278,   286,   278,   286,   248,    -1,   340,
511        -1,     5,    -1,     5,    -1,    89,    -1,     4,    -1,     5,        -1,   350,    -1,   341,   286,   311,   286,   282,    -1,   351,
512        -1,     5,    -1,     5,    -1,     5,    -1,    89,    -1,     6,       286,   311,   286,   282,    -1,   358,   286,   311,   286,   282,
513        -1,    89,    -1,     6,    -1,     5,    -1,     4,    -1,     3,       286,   282,    -1,   349,   286,   311,   286,   282,   286,   282,
514        -1,    89,     3,    -1       286,   278,    -1,   345,   286,   311,   286,   282,   286,   282,
515          -1,   344,   286,   311,   286,   282,   286,   282,   286,   278,
516          -1,   310,    -1,   307,   286,   311,   286,   265,    -1,   307,
517         286,   328,   286,   249,   286,   265,    -1,   307,   286,   329,
518         286,   265,    -1,   307,   286,   330,   286,   265,    -1,   335,
519         286,   311,   286,   268,    -1,   373,   286,   311,    -1,   331,
520          -1,   332,    -1,   354,   286,   260,    -1,   354,   286,   299,
521          -1,   353,   286,   311,   286,   260,   286,   261,   286,   262,
522          -1,   356,    -1,   355,   286,   311,   286,   260,    -1,   364,
523         286,   265,    -1,   363,   286,   311,   286,   265,   286,   267,
524          -1,   366,   286,   269,    -1,   365,   286,   311,   286,   269,
525          -1,   367,   286,   269,    -1,   368,   286,   311,   286,   269,
526          -1,   374,    -1,   339,   286,   282,   286,   278,     4,   275,
527          -1,   344,   286,   282,   286,   282,   286,   278,     4,   275,
528          -1,   348,   286,   282,   286,   278,     4,   275,    -1,   349,
529         286,   282,   286,   282,   286,   278,     4,   275,    -1,   307,
530         286,   246,    -1,   355,   286,   382,   286,   260,   286,   272,
531          -1,   363,   286,   382,   286,   265,   286,   267,   286,   274,
532          -1,   363,   286,   345,   286,   265,   286,   267,   286,   255,
533         286,   255,    -1,   363,   286,   362,   286,   265,   286,   267,
534         286,   263,    -1,   363,   286,   375,   286,   265,   286,   267,
535         286,   264,    -1,   365,   286,   382,   286,   269,   286,   270,
536          -1,   365,   286,   369,   286,   269,   286,   285,    -1,   368,
537         286,   382,   286,   269,   286,   270,    -1,   368,   286,   369,
538         286,   269,   286,   285,    -1,   383,   286,   277,    -1,   374,
539         286,   264,    -1,   341,   286,   278,   286,   248,    -1,   341,
540         286,   278,    -1,   351,   286,   278,   286,   248,    -1,   351,
541         286,   278,    -1,   363,   286,   265,   286,   263,    -1,   363,
542         286,   265,   286,   263,   286,   274,    -1,   307,   286,   265,
543          -1,   354,   286,   260,    -1,   354,   286,   299,    -1,   365,
544         286,   269,   286,   269,    -1,   368,   286,   269,   286,   269,
545          -1,   341,   286,   282,    -1,   351,   286,   282,    -1,   363,
546         286,   265,   286,   267,    -1,   334,   286,   251,    -1,   335,
547         286,   252,    -1,   341,   286,   265,   286,   254,    -1,   345,
548         286,   265,   286,   255,   286,   255,    -1,   346,   286,   265,
549         286,   256,    -1,   361,   286,   265,   286,   254,   286,   257,
550         286,   258,    -1,   351,   286,   265,   286,   254,    -1,   358,
551         286,   265,   286,   257,    -1,   359,   286,   265,   286,   258,
552          -1,   360,   286,   265,   286,   259,    -1,   374,   286,   265,
553         286,   264,    -1,   376,   286,   265,   286,   277,    -1,   377,
554         286,   265,   286,   277,    -1,   355,   286,   265,   286,   260,
555          -1,   355,   286,   265,   286,   300,    -1,   355,   286,   265,
556         286,   301,    -1,    -1,   302,   286,    -1,   278,     4,   275,
557          -1,   248,   286,   278,     4,   275,    -1,   378,    -1,   379,
558          -1,   340,    -1,   350,    -1,   310,    -1,   308,    -1,   347,
559          -1,   309,    -1,   354,   286,   260,    -1,   354,   286,   299,
560          -1,   356,    -1,   364,   286,   265,    -1,   366,   286,   269,
561          -1,   367,   286,   269,    -1,   271,   286,   266,   286,   265,
562          -1,   302,   286,   271,   286,   266,   286,   265,    -1,   268,
563         286,   265,    -1,   336,    -1,   337,    -1,   338,    -1,   282,
564          -1,   282,    -1,   278,    -1,   282,    -1,   282,    -1,   299,
565          -1,   278,    -1,   282,    -1,   282,    -1,   282,    -1,   282,
566          -1,   279,    -1,   282,    -1,   282,    -1,   282,    -1,   282,
567          -1,   278,    -1,   285,    -1,   285,    -1,   285,    -1,   285,
568          -1,   285,    -1,   285,    -1,   276,    -1,   275,     5,   276,
569          -1,   278,    -1,   285,    -1,   282,    -1,   279,    -1,   282,
570          -1,   278,    -1,   283,    -1,   278,   283,    -1,   280,     6,
571         280,    -1,     7,   280,     6,   280,    -1,     8,   280,     6,
572         280,    -1,   281,    -1,   280,   281,    -1,     9,    -1,    10,
573          -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
574          -1,    16,    -1,    17,    -1,    18,    -1,   281,    -1,    10,
575         280,    -1,    11,   280,    -1,    12,   280,    -1,    13,   280,
576          -1,    14,   280,    -1,    15,   280,    -1,    16,   280,    -1,
577          17,   280,    -1,    18,   280,    -1,    19,    -1,    20,    -1,
578          21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
579          26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
580          31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
581          36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,
582          41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,
583          46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,
584          51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
585          56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
586          61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
587          66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
588           9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
589          14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
590          71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
591          75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
592           6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
593          81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
594          85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
595          90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
596          95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
597         100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
598         105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
599         110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
600         115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
601         120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
602         125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
603         130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
604         135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
605         140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
606         145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
607         150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
608         155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
609         160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
610         165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
611         170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
612         175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
613         180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
614         185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
615         190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
616         195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
617         200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
618         205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
619         210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
620         215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
621         220,    -1,   221,    -1,   286,    -1,   278,    -1,   284,   286,
622          -1,   284,   278,    -1,   222,   284,   222,    -1,   223,   284,
623         223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
624          22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
625          39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
626          36,    -1,    31,    33,    40,    23,    -1,    21,    36,    23,
627          19,    38,    23,    -1,    22,    23,    37,    38,    36,    33,
628          43,    -1,    30,    27,    37,    38,    -1,    30,    33,    19,
629          22,    -1,    19,    30,    30,    -1,    32,    33,    32,    23,
630          -1,    22,    23,    24,    19,    39,    30,    38,    -1,    32,
631          33,    32,    89,    31,    33,    22,    19,    30,    -1,    36,
632          23,    31,    33,    40,    23,    -1,    37,    23,    38,    -1,
633          37,    39,    20,    37,    21,    36,    27,    20,    23,    -1,
634          39,    32,    37,    39,    20,    37,    21,    36,    27,    20,
635          23,    -1,    21,    26,    19,    32,    32,    23,    30,    -1,
636          19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
637          23,    32,    25,    27,    32,    23,    37,    -1,    19,    40,
638          19,    27,    30,    19,    20,    30,    23,    89,    19,    39,
639          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
640          89,    22,    36,    27,    40,    23,    36,    37,    -1,    21,
641          26,    19,    32,    32,    23,    30,    37,    -1,    27,    32,
642          24,    33,    -1,    19,    39,    22,    27,    33,    89,    33,
643          39,    38,    34,    39,    38,    89,    22,    23,    40,    27,
644          21,    23,    89,    21,    33,    39,    32,    38,    -1,    19,
645          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
646          38,    89,    22,    23,    40,    27,    21,    23,    89,    27,
647          32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
648          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
649          23,    89,    21,    33,    39,    32,    38,    -1,    31,    27,
650          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
651          23,    40,    27,    21,    23,    89,    27,    32,    24,    33,
652          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
653          36,    39,    31,    23,    32,    38,    89,    31,    19,    34,
654          89,    21,    33,    39,    32,    38,    -1,    31,    27,    22,
655          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
656          32,    38,    89,    31,    19,    34,    89,    27,    32,    24,
657          33,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
658          38,    36,    39,    31,    23,    32,    38,    89,    21,    33,
659          39,    32,    38,    -1,    31,    27,    22,    27,    89,    27,
660          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
661          27,    32,    24,    33,    -1,    22,    20,    89,    27,    32,
662          37,    38,    36,    39,    31,    23,    32,    38,    89,    22,
663          27,    36,    23,    21,    38,    33,    36,    43,    89,    21,
664          33,    39,    32,    38,    -1,    22,    20,    89,    27,    32,
665          37,    38,    36,    39,    31,    23,    32,    38,    89,    22,
666          27,    36,    23,    21,    38,    33,    36,    43,    89,    27,
667          32,    24,    33,    -1,    22,    20,    89,    27,    32,    37,
668          38,    36,    39,    31,    23,    32,    38,    89,    21,    33,
669          39,    32,    38,    -1,    22,    20,    89,    27,    32,    37,
670          38,    36,    39,    31,    23,    32,    38,    89,    27,    32,
671          24,    33,    -1,    21,    26,    19,    32,    32,    23,    30,
672          89,    21,    33,    39,    32,    38,    -1,    21,    26,    19,
673          32,    32,    23,    30,    89,    27,    32,    24,    33,    -1,
674          24,    42,    89,    37,    23,    32,    22,    89,    21,    33,
675          39,    32,    38,    -1,    24,    42,    89,    37,    23,    32,
676          22,    89,    27,    32,    24,    33,    -1,    20,    39,    24,
677          24,    23,    36,    89,    24,    27,    30,    30,    -1,    37,
678          38,    36,    23,    19,    31,    89,    21,    33,    39,    32,
679          38,    -1,    40,    33,    27,    21,    23,    89,    21,    33,
680          39,    32,    38,    -1,    38,    33,    38,    19,    30,    89,
681          40,    33,    27,    21,    23,    89,    21,    33,    39,    32,
682          38,    -1,    38,    33,    38,    19,    30,    89,    40,    33,
683          27,    21,    23,    89,    21,    33,    39,    32,    38,    89,
684          31,    19,    42,    -1,    25,    30,    33,    20,    19,    30,
685          89,    27,    32,    24,    33,    -1,    27,    32,    37,    38,
686          36,    39,    31,    23,    32,    38,    -1,    23,    32,    25,
687          27,    32,    23,    -1,    33,    32,    89,    22,    23,    31,
688          19,    32,    22,    -1,    33,    32,    89,    22,    23,    31,
689          19,    32,    22,    89,    26,    33,    30,    22,    -1,    34,
690          23,    36,    37,    27,    37,    38,    23,    32,    38,    -1,
691          19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
692          39,    38,    89,    22,    23,    40,    27,    21,    23,    89,
693          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
694          19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
695          39,    38,    89,    22,    23,    40,    27,    21,    23,    37,
696          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
697          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
698          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
699          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
700          89,    34,    19,    36,    19,    31,    23,    38,    23,    36,
701          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
702          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
703          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
704          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
705          30,    89,    34,    19,    36,    19,    31,    23,    38,    23,
706          36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
707          38,    34,    39,    38,    89,    21,    26,    19,    32,    32,
708          23,    30,    -1,    19,    39,    22,    27,    33,    89,    33,
709          39,    38,    34,    39,    38,    89,    38,    43,    34,    23,
710          -1,    19,    40,    19,    27,    30,    19,    20,    30,    23,
711          89,    31,    27,    22,    27,    89,    27,    32,    34,    39,
712          38,    89,    22,    36,    27,    40,    23,    36,    37,    -1,
713          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
714          89,    22,    23,    40,    27,    21,    23,    89,    34,    19,
715          36,    19,    31,    23,    38,    23,    36,    -1,    31,    27,
716          22,    27,    89,    27,    32,    34,    39,    38,    89,    34,
717          33,    36,    38,    89,    34,    19,    36,    19,    31,    23,
718          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
719          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
720          23,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
721          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
722          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
723          38,    89,    22,    36,    27,    40,    23,    36,    89,    34,
724          19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
725          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
726          31,    23,    32,    38,    -1,    31,    27,    22,    27,    89,
727          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
728          37,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
729          38,    36,    39,    31,    23,    32,    38,    89,    31,    19,
730          34,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
731          38,    36,    39,    31,    23,    32,    38,    89,    31,    19,
732          34,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
733          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
734          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
735          38,    89,    34,    33,    36,    38,    -1,    31,    27,    22,
736          27,    89,    27,    32,    34,    39,    38,    89,    21,    26,
737          19,    32,    32,    23,    30,    -1,    31,    27,    22,    27,
738          89,    27,    32,    34,    39,    38,    89,    38,    43,    34,
739          23,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
740          39,    38,    -1,    31,    27,    22,    27,    89,    21,    33,
741          32,    38,    36,    33,    30,    30,    23,    36,    -1,    24,
742          42,    89,    37,    23,    32,    22,    -1,    24,    42,    89,
743          37,    23,    32,    22,    37,    -1,    22,    20,    89,    27,
744          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
745          22,    27,    36,    23,    21,    38,    33,    36,    43,    -1,
746          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
747          23,    32,    38,    89,    22,    27,    36,    23,    21,    38,
748          33,    36,    27,    23,    37,    -1,    22,    20,    89,    27,
749          32,    37,    38,    36,    39,    31,    23,    32,    38,    37,
750          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
751          31,    23,    32,    38,    -1,    22,    23,    37,    21,    36,
752          27,    34,    38,    27,    33,    32,    -1,    24,    33,    36,
753          21,    23,    -1,    24,    30,    19,    38,    -1,    32,    33,
754          32,    89,    36,    23,    21,    39,    36,    37,    27,    40,
755          23,    -1,    37,    23,    36,    40,    23,    36,    -1,    40,
756          33,    30,    39,    31,    23,    -1,    30,    23,    40,    23,
757          30,    -1,    31,    39,    38,    23,    -1,    37,    33,    30,
758          33,    -1,    20,    43,    38,    23,    37,    -1,    34,    23,
759          36,    21,    23,    32,    38,    19,    25,    23,    -1,    36,
760          23,    37,    23,    38,    -1,    31,    27,    37,    21,    23,
761          30,    30,    19,    32,    23,    33,    39,    37,    -1,    32,
762          19,    31,    23,    -1,    23,    21,    26,    33,    -1,    35,
763          39,    27,    38,    -1
764  };  };
765    
766  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
767  static const unsigned char yyrline[] =  static const yytype_uint16 yyrline[] =
768  {  {
769         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
770        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
771       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
772       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,       133,   134,   135,   136,   137,   138,   139,   140,   143,   144,
773       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
774       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
775       150,   151,   152,   153,   154,   157,   158,   159,   162,   163,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
776       166,   167,   170,   171,   172,   173,   174,   175,   178,   179,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
777       182,   183,   186,   187,   190,   191,   194,   197,   200,   203,       187,   188,   191,   192,   193,   194,   197,   200,   201,   202,
778       206,   209,   212,   213,   216,   219,   222,   225,   228,   229,       203,   204,   205,   208,   209,   210,   211,   212,   213,   214,
779       232,   233,   234,   237,   238       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
780         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
781         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
782         245,   248,   249,   250,   251,   252,   253,   254,   255,   256,
783         257,   258,   259,   260,   261,   262,   263,   266,   267,   268,
784         269,   270,   271,   274,   277,   278,   281,   282,   285,   286,
785         287,   290,   291,   294,   295,   296,   297,   298,   299,   300,
786         301,   302,   303,   304,   305,   306,   307,   310,   311,   314,
787         315,   318,   319,   322,   323,   324,   325,   326,   327,   328,
788         329,   330,   331,   332,   333,   336,   337,   340,   343,   344,
789         345,   348,   351,   354,   357,   360,   361,   364,   367,   370,
790         373,   376,   379,   380,   383,   386,   389,   392,   395,   398,
791         401,   404,   407,   410,   413,   414,   417,   418,   419,   420,
792         428,   429,   432,   433,   436,   437,   438,   442,   443,   446,
793         447,   448,   449,   450,   451,   452,   453,   454,   455,   458,
794         459,   460,   461,   462,   463,   464,   465,   466,   467,   469,
795         469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
796         469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
797         469,   469,   469,   469,   469,   470,   470,   470,   470,   470,
798         470,   470,   470,   470,   470,   470,   470,   470,   470,   470,
799         470,   470,   470,   470,   470,   470,   470,   470,   470,   470,
800         470,   471,   471,   471,   471,   471,   471,   471,   471,   471,
801         471,   472,   472,   472,   472,   472,   472,   472,   472,   472,
802         472,   472,   472,   472,   473,   473,   473,   473,   473,   473,
803         473,   474,   474,   474,   474,   474,   475,   475,   475,   475,
804         476,   476,   476,   477,   477,   477,   478,   478,   478,   479,
805         479,   479,   480,   480,   480,   481,   481,   481,   482,   482,
806         482,   483,   483,   483,   484,   484,   484,   485,   485,   485,
807         486,   486,   486,   487,   487,   487,   488,   488,   488,   489,
808         489,   489,   490,   490,   490,   491,   491,   491,   492,   492,
809         492,   493,   493,   493,   494,   494,   494,   495,   495,   495,
810         496,   496,   496,   497,   497,   497,   498,   498,   498,   499,
811         499,   499,   500,   500,   500,   501,   501,   501,   502,   502,
812         502,   503,   503,   503,   504,   504,   504,   505,   505,   505,
813         506,   506,   506,   507,   507,   507,   508,   508,   508,   509,
814         509,   509,   510,   510,   510,   511,   511,   511,   512,   512,
815         512,   513,   513,   513,   514,   514,   514,   515,   515,   515,
816         516,   516,   516,   517,   517,   517,   518,   518,   521,   522,
817         523,   524,   527,   528,   534,   537,   540,   543,   546,   549,
818         552,   555,   558,   561,   564,   567,   570,   573,   576,   579,
819         582,   585,   588,   591,   594,   597,   600,   603,   606,   609,
820         612,   615,   618,   621,   624,   627,   630,   633,   636,   639,
821         642,   645,   648,   651,   654,   657,   660,   663,   666,   669,
822         672,   675,   678,   681,   684,   687,   690,   693,   696,   699,
823         702,   705,   708,   711,   714,   717,   720,   723,   726,   729,
824         732,   735,   738,   741,   744,   747,   750,   753,   756,   759,
825         762,   765,   768,   771,   774,   777,   780,   783,   786,   789,
826         792,   795,   798,   801,   804,   807,   810,   813,   816,   819,
827         822,   825,   828
828  };  };
829  #endif  #endif
830    
831  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
832  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
833     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
834  static const char *const yytname[] =  static const char *const yytname[] =
835  {  {
836    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
837    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
838    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
839    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
840    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
841    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
842    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
843    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DEVICES",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
844    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
845    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_TYPE", "MIDI_INPUT",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
846    "MIDI_INPUT_TYPE", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "VOLUME",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
847    "MIDI_INPUT_DRIVER", "MIDI_INPUT_DRIVER_PARAMETER",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
848    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
849    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE_PARAMETER",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
850    "MIDI_INPUT_PORT_PARAMETER", "BYTES", "PERCENTAGE", "MISCELLANEOUS",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
851    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
852    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
853    "create_instruction", "destroy_instruction", "load_instruction",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
854    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
855    "list_instruction", "load_instr_args", "load_engine_args",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
856    "audio_output_type", "midi_input_device", "midi_input_port",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
857    "midi_input_channel", "midi_input_type", "volume", "sampler_channel",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
858    "instrument_index", "audio_output_channel", "engine_name", "filename",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
859    "param_val", "string", 0    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
860      "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
861      "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
862      "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
863      "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
864      "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
865      "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
866      "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
867      "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
868      "command", "add_instruction", "subscribe_event", "unsubscribe_event",
869      "map_instruction", "unmap_instruction", "remove_instruction",
870      "get_instruction", "set_instruction", "create_instruction",
871      "reset_instruction", "clear_instruction", "move_instruction",
872      "destroy_instruction", "load_instruction", "set_chan_instruction",
873      "modal_arg", "key_val_list", "buffer_size_type", "list_instruction",
874      "load_instr_args", "load_engine_args", "instr_load_mode", "device_index",
875      "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
876      "midi_input_channel_index", "midi_input_type_name", "midi_map",
877      "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
878      "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
879      "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
880      "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
881      "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP",
882      "UNMAP", "CLEAR", "MOVE", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
883      "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
884      "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
885      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
886      "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
887      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
888      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
889      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
890      "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
891      "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "CHANNEL_COUNT",
892      "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO", "BUFFER_FILL",
893      "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
894      "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
895      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
896      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
897      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
898      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
899      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
900      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
901      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
902      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
903      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
904      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
905      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
906      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
907      "DESCRIPTION", "FORCE", "FLAT", "NON_RECURSIVE", "SERVER", "VOLUME",
908      "LEVEL", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS",
909      "NAME", "ECHO", "QUIT", 0
910  };  };
911  #endif  #endif
912    
913  # ifdef YYPRINT  # ifdef YYPRINT
914  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
915     token YYLEX-NUM.  */     token YYLEX-NUM.  */
916  static const unsigned short yytoknum[] =  static const yytype_uint16 yytoknum[] =
917  {  {
918         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
919       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
920       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
921       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
922       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
923       305,   306,   307,   308,   309,   310,   311,   312,   313       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
924         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
925         122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
926          59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
927         123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
928         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
929         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
930         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
931         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
932         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
933         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
934         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
935         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
936         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
937         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
938         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
939         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
940         254,   255,    39,    34,    32,    10,    13
941  };  };
942  # endif  # endif
943    
944  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
945  static const unsigned char yyr1[] =  static const yytype_uint16 yyr1[] =
946  {  {
947         0,    59,    60,    60,    60,    61,    61,    61,    61,    62,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
948        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
949        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
950        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,       232,   232,   232,   232,   232,   232,   232,   232,   233,   233,
951        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
952        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
953        67,    67,    67,    67,    67,    68,    68,    68,    69,    69,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
954        70,    70,    71,    71,    71,    71,    71,    71,    72,    72,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
955        73,    73,    74,    74,    75,    75,    76,    77,    78,    79,       234,   234,   235,   235,   235,   235,   236,   237,   237,   237,
956        80,    81,    82,    82,    83,    84,    85,    86,    87,    87,       237,   237,   237,   238,   238,   238,   238,   238,   238,   238,
957        88,    88,    88,    89,    89       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
958         238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
959         238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
960         238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
961         239,   239,   239,   239,   239,   239,   239,   240,   240,   240,
962         240,   240,   240,   241,   242,   242,   243,   243,   244,   244,
963         244,   245,   245,   246,   246,   246,   246,   246,   246,   246,
964         246,   246,   246,   246,   246,   246,   246,   247,   247,   248,
965         248,   249,   249,   250,   250,   250,   250,   250,   250,   250,
966         250,   250,   250,   250,   250,   251,   251,   252,   253,   253,
967         253,   254,   255,   256,   257,   258,   258,   259,   260,   261,
968         262,   263,   264,   264,   265,   266,   267,   268,   269,   270,
969         271,   272,   273,   274,   275,   275,   276,   276,   276,   276,
970         277,   277,   278,   278,   279,   279,   279,   280,   280,   281,
971         281,   281,   281,   281,   281,   281,   281,   281,   281,   282,
972         282,   282,   282,   282,   282,   282,   282,   282,   282,   283,
973         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
974         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
975         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
976         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
977         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
978         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
979         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
980         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
981         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
982         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
983         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
984         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
985         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
986         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
987         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
988         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
989         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
990         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
991         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
992         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
993         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
994         283,   283,   283,   283,   283,   283,   283,   283,   284,   284,
995         284,   284,   285,   285,   286,   287,   288,   289,   290,   291,
996         292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
997         302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
998         312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
999         322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
1000         332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
1001         342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1002         352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
1003         362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1004         372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
1005         382,   383,   384
1006  };  };
1007    
1008  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1009  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1010  {  {
1011         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1012         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1013         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1014         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     3,     7,     7,     5,     7,     1,     3,     1,     1,
1015         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1016         5,     7,     7,     9,     1,     5,     7,     5,     5,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1017         7,     9,     7,     9,     3,     5,     3,     3,     3,     3,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1018         3,     3,     5,     7,     5,     9,     5,     5,     3,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1019         1,     1,     1,     1,     5,     7,     3,     1,     1,     1,         1,     1,    16,    18,    18,    20,     7,     3,     3,     3,
1020           5,     3,     3,     1,     1,     5,     7,     9,     1,     5,
1021           7,     9,     1,     1,     5,     5,     7,     9,     7,     9,
1022           1,     5,     7,     5,     5,     5,     3,     1,     1,     3,
1023           3,     9,     1,     5,     3,     7,     3,     5,     3,     5,
1024           1,     7,     9,     7,     9,     3,     7,     9,    11,     9,
1025           9,     7,     7,     7,     7,     3,     3,     5,     3,     5,
1026           3,     5,     7,     3,     3,     3,     5,     5,     3,     3,
1027           5,     3,     3,     5,     7,     5,     9,     5,     5,     5,
1028           5,     5,     5,     5,     5,     5,     5,     0,     2,     3,
1029           5,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1030           3,     1,     3,     3,     3,     5,     7,     3,     1,     1,
1031           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1032           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1033           1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
1034           1,     1,     1,     2,     3,     4,     4,     1,     2,     1,
1035           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1036           2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
1037           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1038           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1039           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1040           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1041           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1042           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1043           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1044           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1045           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1046           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1047           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1048           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1049           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1050           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1051           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1052           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1053         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1054         1,     1,     1,     1,     2         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1055           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1056           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1057           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1058           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1059           2,     2,     3,     3,     1,     1,     1,     3,     3,     3,
1060           5,     5,     4,     6,     7,     4,     4,     3,     4,     7,
1061           9,     6,     3,     9,    11,     7,    17,    30,     8,     4,
1062          25,    24,    23,    22,    25,    24,    21,    20,    29,    28,
1063          19,    18,    13,    12,    13,    12,    11,    12,    11,    17,
1064          21,    11,    10,     6,     9,    14,    10,    29,    20,    19,
1065          29,    19,    30,    20,    17,    28,    27,    25,    18,    17,
1066          27,    15,    16,    19,    20,    17,    15,    18,    15,    10,
1067          15,     7,     8,    23,    25,    14,    13,    11,     5,     4,
1068          13,     6,     6,     5,     4,     4,     5,    10,     5,    13,
1069           4,     4,     4
1070  };  };
1071    
1072  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1073     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1074     means the default is an error.  */     means the default is an error.  */
1075  static const unsigned char yydefact[] =  static const yytype_uint16 yydefact[] =
1076  {  {
1077         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1078         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
1079           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1080           0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1081           0,     0,     0,     0,     0,     0,     0,     1,   485,   486,
1082           2,     0,     9,   337,   332,   331,   329,   330,   239,   240,
1083         241,   242,   243,   244,   245,   246,   247,   248,   259,   260,
1084         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1085         271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
1086         281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1087         291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
1088         301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1089         321,   323,   324,   325,   326,   327,   328,   333,   334,   335,
1090         336,   338,   339,   340,   341,   342,   343,   344,   345,   346,
1091         347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1092         357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1093         367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1094         377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1095         387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1096         397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
1097         407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1098         417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
1099         427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1100         437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1101         447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1102         457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1103         467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
1104         477,   484,    12,   249,    11,   232,    10,     0,     0,     0,
1105           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1106           0,     0,   487,     0,     0,     0,   488,     0,     0,   489,
1107           0,     0,     0,     0,   502,     0,     0,     0,     3,   239,
1108         240,   241,   242,   243,   244,   245,   246,   247,   248,   250,
1109         237,   251,   252,   253,   254,   255,   256,   257,   258,   322,
1110         311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
1111         233,     0,     0,     0,    13,    30,    36,     0,     0,     0,
1112           0,     0,     0,     0,     0,     0,     0,     0,    16,     0,
1113          93,    98,   110,   117,   118,     0,   102,     0,     0,     0,
1114           0,     0,    94,     0,   103,     0,     0,     0,     0,     0,
1115         122,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116         130,     0,    14,     0,    15,     0,     0,    26,     0,     0,
1117          27,     0,     0,     0,     0,     0,    17,     0,     0,     0,
1118          18,     0,     0,     0,     0,     0,     0,     0,     0,    19,
1119         186,   188,   185,   183,   187,   184,     0,   191,     0,     0,
1120           0,     0,    20,     0,     0,    21,     0,     0,     0,     0,
1121           0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
1122           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1123           0,     0,     0,     0,     0,    23,    38,    39,    40,    41,
1124          49,    50,    51,    52,    53,    54,    55,    56,    42,    46,
1125          47,    48,    45,    44,    43,    58,    59,    57,    24,    60,
1126          61,    62,    63,    71,    72,    73,    74,    75,    76,    77,
1127          78,    64,    68,    69,    70,    67,    66,    65,    80,    81,
1128          79,    25,     0,     0,     0,     0,   495,   496,   492,   582,
1129           0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
1130           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1131           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1132           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133           0,     0,     0,     0,     0,   177,     0,     0,     0,     0,
1134           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1135           0,     0,     0,     0,     0,     0,     0,     0,     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,     0,     0,     0,     0,     0,     0,     0,
1139           0,     0,   491,     0,     0,     0,   578,     0,   490,     0,
1140           0,     0,     0,     0,     0,    37,   221,    31,   218,     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,     0,     0,     0,     0,   240,
1144         241,   242,   243,   244,   245,   246,   247,   248,     0,   119,
1145         208,   120,     0,     0,     0,     0,   124,   214,     0,   126,
1146         128,     0,   116,     0,     0,     0,     0,     0,     0,   154,
1147         155,     0,     0,     0,     0,     0,     0,   148,   150,     0,
1148         158,   159,     0,     0,     0,     0,     0,     0,   189,   190,
1149         192,   193,   194,     0,   161,     0,   220,     0,   162,     0,
1150         217,    87,    88,    89,     0,    91,     0,    92,     0,     0,
1151           0,     0,     0,     0,   135,     0,     0,     0,     0,     0,
1152           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1153           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1154           0,     0,     0,     0,     0,     0,     0,   146,   212,     0,
1155         237,   213,   145,   231,   230,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,   153,   493,     0,   501,
1157           0,     0,     0,     0,     0,   479,     0,   478,     0,     0,
1158           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1159           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161           0,     0,     0,     0,     0,     0,     0,     0,     0,   178,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,     0,   581,     0,     0,     0,     0,     0,
1165           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1168           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1169           0,     0,     0,     0,   494,     0,     0,     0,     0,     0,
1170         482,   481,   480,   483,     0,     0,    34,     0,     0,     0,
1171           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1172         111,     0,     0,     0,   181,   182,   113,   114,   115,   104,
1173           0,    99,     0,     0,     0,   105,     0,     0,   497,   123,
1174          95,     0,     0,   127,   129,     0,     0,     0,     0,   209,
1175           0,     0,   156,   157,     0,     0,     0,   147,     0,   149,
1176         151,   211,   160,   216,     0,     0,     0,     0,     0,     0,
1177           0,   215,     0,   197,     0,    90,     0,     0,     0,     0,
1178           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1179           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1180           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1181           0,     0,     0,     0,   234,     0,     0,     0,     0,     0,
1182           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1183           0,   569,     0,     0,     0,     0,     0,     0,     0,     0,
1184         533,     0,     0,   571,     0,   572,   509,     0,     0,     0,
1185           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1186           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1187           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1188           0,     0,     0,   574,   575,     0,     0,     0,     0,     0,
1189           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1190           0,   580,     0,     0,     0,     0,     0,     0,     0,     0,
1191           0,     0,     0,     0,     0,   235,   236,     0,     0,     0,
1192           0,     0,     0,     0,     0,     0,     0,     0,   503,     0,
1193         505,     0,     0,     0,    35,    32,    33,     0,     0,   505,
1194           0,   561,     0,     0,     0,     0,   112,   100,     0,   108,
1195           0,    96,     0,   106,   125,     0,     0,     0,    86,   210,
1196           0,     0,     0,   561,     0,     0,   329,   330,   179,   224,
1197         226,   229,   228,   227,   152,   223,     0,     0,     0,     0,
1198           0,     0,   195,     0,   568,     0,     0,     0,     0,   163,
1199         201,     0,   202,   165,   203,   167,     0,     0,   174,   175,
1200         176,   168,   204,   169,   205,   206,   170,   207,     0,   171,
1201         172,   173,   131,     0,   133,     0,   136,     0,   573,     0,
1202           0,     0,     0,     0,     0,   142,   141,   219,   144,   143,
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1204         1,     0,     0,   103,    12,    11,    10,    13,    14,     0,         0,     0,     0,     0,     0,     0,     0,   508,     0,   562,
       38,    43,    54,     0,     0,     0,     0,    47,     0,     0,  
        0,     0,     0,    39,     0,    48,    15,     0,     0,    16,  
        0,     0,    17,    82,    83,    18,     0,     0,    19,     0,  
        0,     0,     0,     0,     0,    21,    26,    30,    29,    28,  
       27,    31,    22,    32,    36,    35,    34,    33,    37,    23,  
        0,     3,     0,   104,     0,     0,     0,     0,     0,     0,  
1205         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     4,     0,  
1206         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    66,    67,    68,    69,    98,     0,    70,  
        0,    99,    71,     0,    97,    94,    20,     0,     0,     0,  
        0,     0,     0,    64,     0,     0,     0,     0,    24,     0,  
1207         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1208         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    55,    80,    81,  
        0,    57,    58,    59,     0,     0,    49,    44,     0,     0,  
       40,     0,    50,    65,     0,     0,    95,     0,    86,     0,  
1209         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1210           0,     0,     0,     0,   504,     0,     0,     0,     0,     0,
1211           0,     0,     0,     0,   576,     0,   101,   109,   107,    97,
1212         121,     0,     0,     0,     0,     0,     0,     0,   180,   225,
1213           0,     0,     0,     0,     0,   196,     0,     0,     0,     0,
1214         164,     0,     0,     0,   132,   134,     0,     0,     0,   139,
1215         140,   137,     0,     0,     0,     0,     0,     0,     0,     0,
1216         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1217         0,     0,     0,     0,     0,     0,     0,     0,     0,    56,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1218        52,     0,    45,    51,    41,     0,   102,   101,   100,    78,         0,     0,     0,     0,     0,     0,     0,     0,   532,     0,
1219         0,    84,    96,     0,    72,    74,    87,    88,     0,    76,         0,     0,     0,     0,   498,     0,     0,     0,     0,     0,
1220        91,    92,    93,    77,     0,    60,    62,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1221         0,     0,     0,     0,     0,     0,     0,    53,    46,    42,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1222        79,    85,    73,    89,     0,    61,    63,     0,    90,    75         0,     0,     0,     0,     0,     0,     0,   500,     0,     0,
1223           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1224           0,     0,   166,     0,     0,   138,     0,     0,   526,     0,
1225           0,     0,     0,     0,   531,     0,     0,     0,     0,     0,
1226         528,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1227           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1228           0,     0,     0,     0,     0,     0,     0,     0,   559,     0,
1229           0,     0,     0,     0,     0,   523,     0,     0,   525,     0,
1230           0,     0,   527,     0,     0,     0,     0,     0,     0,     0,
1231           0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
1232           0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
1233           0,     0,     0,   499,     0,     0,   567,     0,   522,     0,
1234         524,     0,     0,   579,     0,   565,     0,     0,     0,     0,
1235           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1236         577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1237           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1238           0,     0,     0,     0,     0,     0,     0,   570,     0,     0,
1239           0,     0,     0,     0,     0,     0,     0,   556,   551,     0,
1240         551,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1241           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1242           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1243           0,     0,     0,     0,     0,     0,     0,     0,   552,     0,
1244           0,    82,     0,     0,     0,     0,     0,     0,     0,     0,
1245           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1246           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247         506,     0,     0,   549,   555,     0,     0,   529,     0,     0,
1248         549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1249           0,   556,   558,   560,     0,     0,     0,     0,     0,     0,
1250           0,     0,   529,     0,     0,     0,     0,     0,     0,     0,
1251           0,   548,     0,     0,     0,     0,     0,     0,    83,    84,
1252         222,   198,   199,   200,     0,     0,     0,     0,     0,     0,
1253           0,     0,     0,     0,     0,     0,     0,   521,     0,     0,
1254           0,     0,     0,   553,     0,   539,   541,     0,     0,     0,
1255           0,     0,   553,     0,     0,     0,     0,   539,     0,     0,
1256           0,     0,     0,     0,     0,   544,     0,     0,   520,     0,
1257           0,     0,     0,     0,     0,     0,   543,   538,     0,     0,
1258           0,     0,     0,     0,   554,     0,     0,     0,    85,     0,
1259           0,     0,     0,     0,   557,     0,     0,     0,     0,     0,
1260         517,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1261         530,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
1263           0,     0,     0,     0,     0,     0,     0,     0,   543,     0,
1264           0,     0,     0,   513,     0,     0,   563,     0,     0,     0,
1265           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266           0,   512,     0,     0,     0,     0,     0,     0,     0,     0,
1267           0,     0,     0,     0,     0,     0,   511,     0,     0,   515,
1268           0,     0,     0,     0,   564,     0,   547,     0,     0,     0,
1269           0,   510,     0,     0,   514,     0,     0,     0,     0,     0,
1270         534,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1271         550,     0,   536,     0,   546,     0,     0,     0,     0,     0,
1272         545,     0,     0,     0,   519,     0,   540,     0,     0,   537,
1273         518,   542,   507,     0,   535
1274  };  };
1275    
1276  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1277  static const short yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1278  {  {
1279        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,        -1,    13,    14,    15,    16,   344,   465,   488,   392,   394,
1280        62,    68,   153,   203,   190,    65,   139,   142,   255,   258,       435,   358,   443,   406,   511,   397,   400,   410,   432,   744,
1281       284,   289,   259,   263,   146,   207,   253,   143,   140,   249,       695,   987,   953,   419,   724,   728,  1748,  1219,  1221,  1223,
1282       204      1231,  1233,  1236,   679,   978,  1188,   990,   777,   686,  1000,
1283         992,   729,   637,  1256,   725,   635,  1749,  1204,  1198,  1199,
1284         782,  1200,  1201,   779,   273,   687,   275,   806,   638,  1097,
1285          50,    51,    17,    18,    19,    20,    21,    22,    23,    24,
1286          25,    26,  1235,  1229,  1230,   696,    27,    28,    29,    30,
1287         345,   360,   361,   362,   655,   466,   467,   468,   469,   470,
1288         471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
1289         481,   482,   483,   484,   363,   364,   486,   433,   365,  1751,
1290        1752,  1753,   445,   366,   367,   368,   369,   370,   371,   747,
1291         372,   447,   373,   374,   375,   376,   377,   378,   346,   380,
1292         381,   382,   751,   752,   753,   767,   383,   384,   347,   386,
1293         348,   388,   771,   736,   642,   643,   389,   390,   768,   755,
1294         756,   954,   955,    31,   487,   762,   454,    32
1295  };  };
1296    
1297  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1298     STATE-NUM.  */     STATE-NUM.  */
1299  #define YYPACT_NINF -235  #define YYPACT_NINF -1267
1300  static const short yypact[] =  static const yytype_int16 yypact[] =
1301  {  {
1302       101,  -235,  -235,    10,    40,    62,    78,    83,    92,   112,        38, -1267, -1267,    97,    79,   115,   157,   160,    34,     8,
1303       133,   138,   140,   141,  -235,    44,  -235,   134,  -235,   127,       208,    66,   140,   214,   112,  2369, -1267,   -33,   -33,   -33,
1304        45,   -24,   -20,   -14,    71,   130,   -21,   -22,    -9,   135,       -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1305      -235,   101,   150,  -235,  -235,  -235,  -235,   146,  -235,   152,       -33,   -33, -1267,   227,   228,   230,   223,   275,   288,   315,
1306      -235,  -235,  -235,   154,   155,   156,   157,  -235,   158,   159,       313,   303,   322,   187,   327,   331,   248, -1267, -1267, -1267,
1307       162,   163,   164,  -235,   165,  -235,  -235,   166,   167,  -235,     -1267,   150, -1267, -1267, -1267, -1267, -1267, -1267, -1267,   525,
1308       168,   169,  -235,  -235,  -235,  -235,   170,   171,  -235,   172,       525,   525,   525,   525,   525,   525,   525,   525, -1267, -1267,
1309       173,   174,   175,   176,   177,  -235,  -235,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1310      -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1311       178,  -235,   101,  -235,    24,   160,   161,   179,   180,   181,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1312       182,   183,   185,   187,   189,   184,   184,   188,   190,     9,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1313       184,   191,    90,   192,   193,   194,   195,   191,  -235,   196,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1314       197,   199,   213,   215,   216,   217,   218,   219,   220,   221,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1315       222,   223,   224,    28,   146,  -235,  -235,  -235,   225,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1316       226,   146,  -235,   227,   146,  -235,  -235,   228,   229,   230,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1317       231,   232,   233,  -235,   234,   235,   236,   237,  -235,   191,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1318        51,   191,   191,   184,   240,   241,   242,   184,   184,   243,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1319       184,   184,   244,   184,    23,   245,   191,   191,   191,   191,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1320       191,   191,   191,   247,   184,   184,   248,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1321       249,  -235,  -235,  -235,   250,   251,  -235,   146,    68,   252,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1322       146,    97,  -235,   253,     2,   254,  -235,   255,  -235,   256,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1323       257,   258,   259,   260,   261,   262,    27,    37,   263,   191,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1324       266,   267,   184,   268,   184,   184,    73,   245,   191,   269,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1325       270,   184,   271,   184,   125,   184,    73,    73,   184,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1326      -235,   272,   124,  -235,   129,    47,  -235,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1327       273,  -235,  -235,   274,  -235,  -235,   146,  -235,   275,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1328       146,  -235,  -235,  -235,    48,  -235,  -235,    65,   184,   184,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1329       184,    73,   191,   269,   278,    73,    73,   146,   253,   253,     -1267, -1267,  3034, -1267, -1267, -1267, -1267,   133,   144,   346,
1330      -235,  -235,  -235,  -235,   277,  -235,  -235,   280,  -235,  -235       346,   364,   390,   191,   191,   221,    93,   215,   155,   121,
1331         121,   399, -1267,   425,   426,   408, -1267,   409,   428, -1267,
1332         430,   410,   418,   431, -1267,   419,   436,   420, -1267, -1267,
1333       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,   525,
1334       -1267,   525,   525,   525,   525,   525,   525,   525,   525, -1267,
1335       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1336       -1267,   432,   441,   447, -1267, -1267,   -33,   -33,   -33,   243,
1337         449,   478,   468,   457,   474,   479,   472,   473, -1267,   -33,
1338       -1267, -1267, -1267, -1267, -1267,   -33, -1267,   -33,   -33,   -33,
1339         -33,   -33, -1267,   -33, -1267,   -33,   -33,   -33,   -33,   -33,
1340       -1267,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1341       -1267,   480, -1267,   -33, -1267,   -33,   482, -1267,   -33,   490,
1342       -1267,   -33,   -33,   485,   484,   500, -1267,   -33,   -33,   -33,
1343       -1267,   -33,   -33,   -33,   349,   503,   510,   512,   528, -1267,
1344       -1267, -1267, -1267, -1267, -1267, -1267,   -33, -1267,   -33,   -33,
1345         -33,   524, -1267,   -33,   -33, -1267,   -33,   -33,   -33,   -33,
1346         493,   537,   532, -1267,   -33,   -33,   -33,   -33,   -33,   -33,
1347         -33,   -33,   -33,   -33,   -33,   521,   522,   536,   543,   527,
1348         534,   544,   538,   540,   541, -1267, -1267, -1267, -1267, -1267,
1349       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1350       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1351       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1352       -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1353       -1267, -1267,   -33,   539,   542,   548, -1267, -1267, -1267, -1267,
1354         545,   550,   556,   555,   558, -1267,   560,   502,   570,   168,
1355         168,    12,   571,   575,   576,   507,   572,   511,   577,   565,
1356         564,   573,   172,   583,   583,   583,   583,   583,   583,   583,
1357         583,   583,   583,   477,   583,   583,   583,   583,   535,   583,
1358         168,   168,   583,   583,   582,   579,   535,   590,   477,   533,
1359         168,   168,   594,   546,   599,  3034,  3034,   535,   535,   535,
1360         535,   601,   605,   547,   549,   603,   477,   535,   168,   168,
1361         596,    10,  3034,   535,   477,     5,   168,   612,   611,   617,
1362          81,   535,   535,   535,   535,   622,   166,    54,    54,   392,
1363        3253,   633,   632,   638,   569,   574,   626,    86,   624,   627,
1364         634,   535, -1267,   639,   631,   643, -1267,   635, -1267,   637,
1365         640,   648,   650,  2591,  2591, -1267, -1267, -1267, -1267,   649,
1366         645,   -33,   -33,   -33,   653,   656,   652,   658,   659,   654,
1367         662,   655,   671,   657,   666,   -33,   -33,   -33,   -33,   -33,
1368         -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   525,
1369         525,   525,   525,   525,   525,   525,   525,   525,   679, -1267,
1370       -1267, -1267,   -33,   -33,   -33,   -33, -1267, -1267,   -33, -1267,
1371       -1267,   -33, -1267,   684,   680,   535,   -33,   -33,   688, -1267,
1372       -1267,   689,   -33,   -33,   690,   681,   692,  2591,  2591,   -33,
1373       -1267, -1267,   -33,   693,   694,   695,   709,   698, -1267, -1267,
1374       -1267, -1267, -1267,   691, -1267,   -33, -1267,   -33, -1267,   -33,
1375        3034, -1267, -1267, -1267,   715, -1267,   -33, -1267,   700,   716,
1376         728,   721,   184,   729, -1267,   -33,   -33,   -33,   -33,   -33,
1377         -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1378         -33,   742,   -33,   724,   741,   738,   -33,   -33,   -33,   -33,
1379         743,   -33,   -33,   -33,   -33,   525,   525, -1267, -1267,   259,
1380          33, -1267, -1267,  3034, -1267,   740,   744,   737,   745,   733,
1381         751,   746,   753,   752,   757,   756, -1267, -1267,   735, -1267,
1382         754,   758,   748,   750,   699,  3034,  1925, -1267,  2147,   764,
1383         755,   168,   168,   168,   759,   760,   762,   763,   765,   761,
1384         707,   766,   768,   769,   775,   535,   102,   535,   535,  3034,
1385         535,  3034,  3034,   535,   535,   535,   535,  3034,   535,   773,
1386         535,  3034,   535,   535,   168,   168,   720,   772,   -33, -1267,
1387         535,   730,   788,   168,   168,   789,   782,   732,  3034,  3034,
1388         535,   535,   790,   792,   793,   803,   739,   791,   535,   168,
1389         535,   794,   168,   796, -1267,   747,   809,   810,   797,   811,
1390         535,   535,   535,   535,   535,   535,   535,   535,   535,   535,
1391         535,   535,  3034,   535,  3034,   535,   812,   535,   823,   807,
1392         826,   535,   535,   535,   535,   813,   168,   168,   168,   168,
1393         467,   505,   525,   816,   830,   824,   825,   832,   839,   770,
1394         837,   842,   833,   843, -1267,   847,   834,   846,   836,   835,
1395       -1267,  3034, -1267, -1267,   838,   785,   -33,   -33,   -33,   786,
1396         852,   854,   841,   856,   848,   855,   845,   795,   860,   857,
1397       -1267,   844,   862,   -33, -1267, -1267, -1267, -1267, -1267, -1267,
1398        2591,  3034,   -33,   -33,   -33, -1267,  2591,   -33, -1267, -1267,
1399        3034,   -33,   -33, -1267, -1267,   861,   800,   535,   -33, -1267,
1400         864,   858, -1267, -1267,   805,   866,   869,   -33,  3472,   -33,
1401         -33, -1267, -1267, -1267,   814,   877,   865,   872,   878,   867,
1402         -33, -1267,   -33, -1267,   886, -1267,   819,   884,   885,   887,
1403         890,   891,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1404         -33,   -33,   -33,   -33,  3691,   -33,  3910,   -33,   895,   -33,
1405         892,   902,   899,   -33,   -33,   -33,   -33,   906,   -33,   -33,
1406         -33,   -33,   525,   525,   525,   840,   894,   905,   896,   900,
1407         901,   907,   909,   904,   851,   853,   913,   910,   911,   912,
1408         921, -1267,   908,   535,   168,   168,   922,   934,   928,   923,
1409       -1267,   937,   930, -1267,   920, -1267, -1267,   926,   929,   535,
1410        3034,   535,   535,   535,  3034,   535,   535,   535,   935,   938,
1411         -33,   535,   939,   932,   933,   950,   941,  3034,  2813,   168,
1412         943,   944,   940,   955,   947,   949,   535,   535,   959,   951,
1413         954,   956,   903, -1267, -1267,   535,   535,  3034,   535,   117,
1414         535,   477,  3034,   535,   392,  3253,  3253,  2813,  3034,  2813,
1415        3034, -1267,   168,   958,   953,   924,   535,   535,   535,   535,
1416         952,   168,   168,   168,   168,   525,   525,   960,   927,   964,
1417         957,   974,   942,   977,   981,   945,   975,   996, -1267,  1002,
1418       -1267,   991,   992,  1005, -1267, -1267, -1267,   993,  1000,   998,
1419         997,   999,   207,  1004,  1015,  1018, -1267,  2591,   -33, -1267,
1420         -33,  2591,   -33, -1267, -1267,  1006,  1008,   535, -1267, -1267,
1421        1007,  1009,  1003, -1267,  1012,  4129,   525,   525,  1042, -1267,
1422        3034, -1267, -1267, -1267, -1267, -1267,  1010,   998,  1014,   999,
1423         244,  1025, -1267,   -33, -1267,  1016,   342,   965,  1029, -1267,
1424       -1267,   -33, -1267, -1267,  3034, -1267,  1034,  1026, -1267, -1267,
1425       -1267, -1267, -1267, -1267, -1267, -1267, -1267,  3034,   -33, -1267,
1426       -1267, -1267,  1042,  4348,  1042,  4567, -1267,   969, -1267,  1039,
1427         -33,   -33,   -33,   -33,  1035, -1267, -1267, -1267, -1267, -1267,
1428        1022,  1040,   976,  1027,   979,  1043,   347,  1047,  1048,  1038,
1429        1044,  1049,  1037,  1041,  1057,  1045,  1058, -1267,  1053, -1267,
1430        1054,  1050,  1067,  1059,  1074,  3034,  3034,  3034,  3034,   535,
1431        1060,  1077,   -33,  1062,  1064,  1063,  1065,  2813,  2813,  1068,
1432        1070,  1071,  1076,  1080,   535,  1083,  1079,  1082,  1094,   535,
1433        1056,  1100,   535,  2813,  2813,  1103,  1104,   535,   535,   392,
1434         168,  1105,  1106,  1111,   269,  1108,   274,  1116,  1110,  1112,
1435        1120,  1121,  1126,  1117, -1267,  1127,  1123,  1118,  1130,  1072,
1436        1129,  1131,  1135,  1151, -1267,  1142,   -33,  3034,  3034,   -33,
1437       -1267,  1139,  1157,  3034,  1141,  1147,  1145,  1143,  1042, -1267,
1438        1146,  1155,  1144,  1152,  1149, -1267,  1156,  1154,  1150,   348,
1439       -1267,  1174,  1171,   -33,  1042,  1042,  1158,  1163,   -33, -1267,
1440       -1267, -1267,  1161,  1167,  1172,  1175,  1173,  1176,  1179,  1181,
1441        1180,  1177,  1178,  1194,  1182,  1197,  1187,  1199,  1185,  1184,
1442        1186,   194,  1203,  1140,  1191,  1208,  1195,  1193,  1204,   -33,
1443        1201,  1218,  1206,  1153,  1207,  1220,  1159,  1210, -1267,  1211,
1444        1162,  1209,  1213,  1214, -1267,   477,  1216,  1217,   535,  1229,
1445        1219,  1227,  1221,  1235,  1238,  1223,  1239,  1231,  1183,  1228,
1446        1233,  1237,  1248,  1240,  1241,  1244,  1242,  1243,  1245,  1250,
1447        1249,  1251,   122,  1254,  1200,  1261,  1257, -1267,   168,  1259,
1448        1260,  1253,  1272,  1258,  1263,  1275,  1267,  1262,   149,  1265,
1449        1266,  1273, -1267,  1271,  1270, -1267,  1274,  1276, -1267,  1277,
1450        1278,  1280,  1283,  1286, -1267,  1288,  1289,  1269,  1287,  1246,
1451       -1267,  1290,  1301,  1299,  1247,  1305,  1304,  1308,  1293,    88,
1452        1300,  1309,  1313,  1314,  1317,   -33,  1318,  1306,  1256,  1319,
1453        1264,  1310,  1320,  1323,  1268,  1324,  1316,  1311,  1279,  1321,
1454        1312,  1322,  1329,  1281,  1326, -1267,  1327,  1331, -1267,  1344,
1455        1348,  1315, -1267,  1333,    17,  1340,  1334,   395,  1349,  1350,
1456        1351,    18,  1335,  1352,  1345,  1354,  1355,  1359,  1357,   535,
1457        1358,  1294,  1362,  1347,  1369,    21,  1356,  1360,   404,  1363,
1458        1361,  1367,    49, -1267,  1370,  1365, -1267,  1377, -1267,  1325,
1459       -1267,  1371,  1368, -1267,  1374, -1267,  1388,  1375,  1389,  1390,
1460         114,  1382,  1385,  1330,  1396,  1393,  1381,  1386,  1387,  1384,
1461       -1267,  1395,   -33,  1397,  1403,  1400,  1408,  1412,  1409,  1399,
1462        1414,  1418,  1415,  1405,  1364,  1419,  1411,  1404,  1372,  1416,
1463        1426,   167,  1425,  1420,  1417,  1430,  1373, -1267,  1440,  1423,
1464        1437,  1376,  1444,  1441,  1442,  1449,  1448,  1383,    24,  1443,
1465       -1267,   392,  1436,  1434,  1455,  1438,  1450,  1458,    25,  1461,
1466        1445,  1460,  1383,    43,  1463,  1447,  1452,  1466,  1465,  1451,
1467        1456,  1457,  1462,  1471,  1406,  1464,  1479,  1467,  1468,  1470,
1468        1459,  1469,  1480,  1484,  1482,  1478,  1483,  1486, -1267,  1490,
1469        1485,   -33,  1495,  1505,  1502,  1494,  1508,  1503,  1504,  1510,
1470        1512,  1513,  1497,  1506,  1507,  1518,  1511,  1515,  1509,  1514,
1471        1519,  1521,   297,  1516,  1523,  1530,  1520,  1534,  1528,  1517,
1472       -1267,  1524,  1536,  1529,  1476,  1538,  1541,  1481,    16,  1546,
1473       -1267,  1547,  1548,  1529,  1550,  1540,  1552,  1487,  1555,  1544,
1474        1543, -1267, -1267, -1267,  1558,  1549,  1557,  1551,  1493,  1553,
1475        1556,  1564, -1267,  1566,  1559,  1562,  1567,  1560,  1554,  1561,
1476        1568, -1267,  1563,  1565,  1569,  1571,  1572,  1575,   -33, -1267,
1477       -1267, -1267, -1267, -1267,  1576,  1582,  1570,  1573,  1583,  1585,
1478        1577,  1578,  1586,  1589,  1590,  1579,  1574, -1267,   299,  1580,
1479        1591,  1584,  1587, -1267,  1592,  1593,  1525,  1594,  1588,  1595,
1480        1597,  1601,  1599,  1602,  1535,  1596,   168, -1267,  1593,  1600,
1481        1599,  1604,  1542,  1608,  1605, -1267,  1609,  1581, -1267,  1603,
1482        1607,  1610,  1611,  1612,  1598,  1613,  1606, -1267,  1614,  1615,
1483        1616,  1617,  1619,  1618, -1267,  1620,  1622,  1621, -1267,  1624,
1484        1606,  1625,  1627,  1628, -1267,   300,  1631,  1626,  1623,  1629,
1485       -1267,   308,  1630,  1634,  1633,  1635,  1638,  1636,  1642,  1646,
1486       -1267,  1648,  1647,  1639,  1657,  1658,  1649,  1645,  1650,  1644,
1487        1651,  1652, -1267,  1653,  1656,  1641,  1662,  1654,  1632,  1655,
1488          45,  1661,  1659,  1663,  1664,  1666,  1660,  1667, -1267,  1665,
1489        1675,  1668,  1669, -1267,  1670,  1676, -1267,  1672,  1684,  1688,
1490        1679,  1689,  1690,  1691,  1696,  1678,  1698,  1695,  1687,  1692,
1491        1637, -1267,  1699,  1694,  1701,  1693,  1686,  1683,  1697,  1700,
1492        1703,  1704,  1705,  1706,  1702,  1707, -1267,   309,  1708, -1267,
1493        1710,  1709,  1715,  1712, -1267,  1720, -1267,  1722,  1716,  1724,
1494        1726, -1267,  1717,  1719, -1267,  1729,  1718,  1713,  1721,  1723,
1495        1671,  1725,  1727,  1728,  1730,  1731,  1732,  1735,  1738,  1734,
1496       -1267,  1736, -1267,  1743, -1267,  1741,  1742,  1744,  1740,  1745,
1497       -1267,  1746,  1747,  1739, -1267,  1748, -1267,  1737,  1750, -1267,
1498       -1267, -1267, -1267,  1756, -1267
1499  };  };
1500    
1501  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1502  static const short yypgoto[] =  static const yytype_int16 yypgoto[] =
1503  {  {
1504      -235,  -235,   -25,  -235,  -235,  -235,  -235,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1505      -235,  -235,  -235,  -127,  -235,  -235,  -235,  -235,  -235,  -235,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1506      -235,  -235,  -235,  -235,  -116,   -41,   -85,    26,    18,  -234,     -1267,  -836, -1267, -1267, -1267, -1267, -1267,  -897, -1266, -1267,
1507       -17       282,   198, -1267,  -538,  -932, -1141,   335, -1103,   623, -1041,
1508       -1035,  -828,  -341,   586,  -849,   557,   -32,   448, -1047,   487,
1509        -698,   276,  -591,    31,   141,     4,   185,  1148,  -512,   -15,
1510        1749, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1511       -1267, -1267,  -469, -1267, -1267,  1196, -1267, -1267, -1267, -1267,
1512        -118,  1501,  1522,  1526,  -240,  1498,  1499,  1500,  1527,  1531,
1513        1532,  1533,  1537,  1539,  1545,  1858,  2079,  2301,  2302,  2523,
1514        2524,  -255,  -253,  -250,   151, -1267,  4499, -1267,  1640, -1267,
1515       -1267, -1267, -1267,  4505,  -258, -1267, -1267,  4503,  -320, -1267,
1516        4507, -1267,  4506,  4508,  -252, -1267,   163,  -134,  -254,  4510,
1517       -1267,  1192, -1267, -1267, -1267, -1267,    57,  4511,     6,  4512,
1518        -200,   -26,  1188, -1267, -1267, -1267, -1267,  -261, -1267, -1267,
1519       -1267, -1267, -1267, -1267,  4509,  -309, -1267, -1267
1520  };  };
1521    
1522  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1523     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1524     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1525     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1526  #define YYTABLE_NINF -6  #define YYTABLE_NINF -250
1527  static const short yytable[] =  static const yytype_int16 yytable[] =
1528  {  {
1529        37,   158,   265,   266,    70,    93,    91,    76,    77,    78,       276,   958,   277,   278,   279,   280,   281,   282,   283,   284,
1530        79,    80,    33,   226,    57,   137,    71,    19,    60,    72,       285,   286,   287,   288,   289,   290,   291,   636,   778,   274,
1531        83,    84,    85,    86,    87,    63,    33,   138,    58,   137,      1002,  1239,  1164,   989,   379,   407,   411,   453,   697,   734,
1532        93,    93,    61,    73,    74,   173,    81,   280,   236,    64,       699,   408,   412,   437,   449,   505,   639,   506,  -249,     1,
1533        93,   285,   286,   187,    30,   191,   192,    20,   237,    88,       507,     2,   694,  1370,   640,  1090,  1292,    42,   718,  1746,
1534        93,    93,    31,    32,   119,   120,   121,   122,   271,   275,      1747,  1378,  1184,    40,  1575,  1575,   732,     3,  1575,     4,
1535       208,   209,   210,   211,   212,   213,   214,   118,    93,    21,         5,  1668,  1668,     6,  1681,  1594,  1213,    41,     7,     8,
1536        39,    93,    40,    41,    42,   222,   276,   246,   247,   248,      1605,  1509,  1881,     9,    10,    11,   770,    12,   387,   726,
1537        43,    44,    45,    46,    47,    22,    48,    49,   133,   134,      1242,  1682,  1244,  1606,   681,   430,   761,  1607,  1876,    44,
1538        23,    50,   141,   144,    51,    52,    53,    54,    55,    24,       319,   321,   322,   323,   324,   325,   326,   327,   328,   700,
1539        93,    -5,     1,   239,   224,    66,    67,   188,   189,    -5,       741,  1250,  1251,  1252,  1253,    45,  1576,  1584,   791,    34,
1540        -5,     2,   251,     3,     4,     5,     6,     7,     8,    25,      1597,  1542,   742,  1669,  1677,    35,   352,   719,   743,    33,
1541         9,    10,    11,    12,    13,    14,   147,    93,   148,   261,       431,   357,   951,   792,  1543,   733,   309,   669,   670,   671,
1542       262,   269,    93,   149,   150,   151,   270,    33,   152,    34,       672,   673,   674,   675,   676,   677,   952,  1619,    36,  1226,
1543        26,    35,   278,   279,    36,    27,   144,    28,    29,    93,       455,   456,   457,   458,  1499,   459,   460,   398,  1350,  1227,
1544       197,   198,    38,   200,   201,    69,   281,   141,    92,    94,      1620,   426,   461,  1182,   341,   342,  1500,   848,   462,   463,
1545        90,    95,    96,    97,    98,    99,   100,   216,   217,   101,       359,   464,  1475,   349,   343,   350,   351,   352,   353,   436,
1546         444,  1515,    46,   512,   440,   354,   341,   399,   441,   404,
1547          37,   355,   356,  1516,   357,   763,   442,    38,  1650,  1651,
1548         641,   271,   456,    39,  1652,   357,   764,   765,   761,   654,
1549         320,   320,   320,   320,   320,   320,   320,   320,   320,   462,
1550         403,   877,   464,  1448,    47,   404,  1380,  1449,   302,   689,
1551         690,  1225,   405,   878,   303,  1450,  1238,   633,   634,   702,
1552         703,    43,   633,   634,   633,   634,   341,   399,   633,   634,
1553         414,  1280,   415,   416,  1281,   417,   343,   721,   722,   292,
1554        1358,   293,   418,   294,   735,   737,   402,  -249,  -249,  -249,
1555         295,   439,   452,    -4,    -4,   912,  1374,  1375,   309,   310,
1556         311,   312,   313,   314,   315,   316,   317,   318,  1301,   306,
1557         746,  1302,   532,   533,   385,   307,   766,   656,   401,   657,
1558        1385,   272,   658,   438,   451,  1388,  1386,   769,   772,   774,
1559         967,  1389,   969,   659,   660,   661,   662,   663,   664,   665,
1560         666,   667,   668,   296,   682,   683,   684,   685,  1729,   688,
1561        1800,  1847,   691,   692,  1730,   297,  1801,  1848,  1731,  1853,
1562        1922,   529,   530,   531,   298,  1854,  1923,    48,    49,   754,
1563         409,   413,   745,   300,   542,   450,   749,   299,   748,   301,
1564         543,   305,   544,   545,   546,   547,   548,   726,   549,  1029,
1565         550,   551,   552,   553,   554,   304,   555,   556,   557,   558,
1566         559,   560,   561,   562,   563,    48,  1306,   391,   565,  1273,
1567         566,  1328,  1422,   568,  1329,  1273,   570,   571,   581,   533,
1568         633,   634,   575,   576,   577,   396,   578,   579,   580,   775,
1569         776,   309,   669,   670,   671,   672,   673,   674,   675,   676,
1570         677,   586,   399,   587,   588,   589,  1579,  1580,   591,   592,
1571         341,   593,   594,   595,   596,  1600,  1601,  1240,  1241,   600,
1572         601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
1573         485,   508,   393,   395,   513,   514,   515,   516,   519,  1346,
1574         517,   520,  1349,   518,   521,   523,   522,   340,   526,   524,
1575         525,   527,   525,   525,   525,   525,   525,   525,   525,   525,
1576         936,   937,   938,  1042,   528,   534,   309,   310,   311,   312,
1577         313,   314,   315,   316,   317,   318,   309,   669,   670,   671,
1578         672,   673,   674,   675,   676,   677,   678,   621,   535,   537,
1579         536,   538,   539,   973,   974,   540,   541,   564,  1592,   567,
1580         569,  1043,   982,   983,   309,   310,   311,   312,   313,   314,
1581         315,   316,   317,   318,   572,  1409,   573,   574,  1671,   582,
1582         583,  1005,   597,   778,   309,   310,   311,   312,   313,   314,
1583         315,   316,   317,   318,   309,   669,   670,   671,   672,   673,
1584         674,   675,   676,   677,   584,   585,   590,   680,   598,   599,
1585         611,   612,   613,   614,   616,  1038,  1039,  1040,  1041,   615,
1586         680,   617,   680,   619,   620,   622,   618,   627,   629,   630,
1587         623,  1228,   710,   711,   624,   625,  1203,  1205,   626,   628,
1588         680,   631,   632,   644,   645,   646,   647,   648,   680,   650,
1589         649,   651,   652,   653,   693,   757,   758,   759,   760,  1505,
1590         654,   694,   698,   781,   784,  1203,   704,  1203,   807,   807,
1591         636,   706,   701,   713,   714,   717,   811,   812,   813,  1255,
1592        1257,  1258,  1257,   723,   738,   705,   715,   739,   716,   740,
1593         825,   826,   827,   828,   829,   830,   831,   832,   833,   834,
1594         835,   836,   837,   838,   761,   785,   786,   787,   788,   790,
1595         793,   795,   797,   789,   798,   794,   799,   840,   841,   842,
1596         843,   800,   802,   844,   801,   803,   845,   804,   810,   809,
1597         814,   849,   850,   815,   816,   817,   818,   853,   854,   820,
1598         822,   819,   858,   859,   860,   821,   823,   861,   824,   680,
1599         319,   321,   322,   323,   324,   325,   326,   327,   328,   839,
1600         868,   846,   869,   847,   870,   851,   852,   855,   856,   857,
1601         862,   872,   864,  1165,  1166,   866,   863,   873,   778,   867,
1602         880,   881,   882,   883,   884,   885,   886,   887,   888,   889,
1603         890,   891,   892,   893,   894,   895,   865,   897,   871,   874,
1604         780,   901,   902,   903,   904,   875,   906,   907,   908,   909,
1605         876,   896,   879,   898,   899,   900,   905,   913,   914,   915,
1606         917,   918,   916,   919,   920,   921,   922,   923,   924,   926,
1607         927,   925,   928,   934,   944,  1203,  1203,   935,   929,   946,
1608         940,   932,   939,   932,   941,   942,   945,   943,   947,   949,
1609         948,  1203,  1203,   968,   976,   985,   910,   911,  1205,   975,
1610         320,   320,   320,   320,   320,   320,   320,   320,   320,   980,
1611         981,   986,   984,   994,   995,   996,   997,   999,   998,  1006,
1612        1004,  1008,  1009,   977,   959,  1010,  1007,   962,   963,   964,
1613         965,  1011,   680,  1028,   680,  1030,   971,  1031,  1032,  1045,
1614        1037,   707,   708,  1046,   979,  1049,  1047,  1048,  1050,  1051,
1615        1052,  1053,  1060,  1054,   991,   993,  1055,  1056,   730,  1058,
1616        1057,  1067,  1001,  1059,  1062,  1066,  1061,  1068,  1069,  1070,
1617        1071,  1073,  1072,  1075,  1074,  1078,   783,  1077,  1088,  1089,
1618        1076,  1092,   340,   340,  1094,  1093,  1096,  1025,  1095,  1027,
1619        1101,   680,  1102,  1100,  1103,  1104,  1105,  1108,  1109,   805,
1620         805,  1110,  1111,  1113,  1112,   340,   320,   320,  1131,  1133,
1621         525,  1063,  1064,  1065,  1114,  1134,  1135,  1140,  1149,  1147,
1622        1148,  1152,  1151,  1150,  1153,  1155,  1158,  1159,  1079,  1154,
1623        1156,  1160,  1157,  1044,  1163,  1080,   726,  1081,  1082,  1083,
1624        1161,  1084,  1085,  1162,  1168,  1167,  1086,  1087,  1169,  1171,
1625        1173,  1170,  1172,  1091,  1174,  1175,  1192,  1185,   340,  1186,
1626        1191,  1190,  1193,  1194,  1207,  1099,  1206,  1209,  1208,  1210,
1627        1211,   979,  1214,  1248,  1215,  1106,  1216,  1107,  1254,  1217,
1628         340,  1247,  1218,  1260,  1262,  1263,  1264,  1115,  1116,  1117,
1629        1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,  1266,
1630        1128,  1267,  1130,  1249,  1132,  1269,  1261,  1270,  1136,  1137,
1631        1138,  1139,  1271,  1141,  1142,  1143,  1144,  1272,  1274,  1273,
1632        1276,  1265,  1275,  1278,  1268,  1277,  1279,  1282,  1283,  1284,
1633         778,  1291,  1295,  1290,  1293,  1294,  1296,  1298,  1303,  1299,
1634        1300,   525,   525,   320,  1307,  1305,  1308,  1310,  1315,  1311,
1635        1316,  1322,  1321,  1325,  1323,  1324,  1330,  1001,  1326,  1331,
1636        1327,  1332,  1334,  1145,  1146,  1187,  1335,  1333,  1337,  1336,
1637        1371,  1339,   931,  1338,   931,  1178,  1179,  1180,  1342,   979,
1638        1183,   993,  1340,  1341,  1343,  1189,  1344,  1345,  1351,  1352,
1639        1354,  1356,  1202,  1355,  1357,   730,  1360,   960,   961,  1361,
1640        1362,  1001,  1364,   966,  1363,  1368,   340,   970,  1367,  1220,
1641        1222,  1366,  1220,   680,  1232,  1234,  1369,  1220,   781,   784,
1642         784,  1202,  1372,  1202,   988,   988,  1376,  1377,  1384,  1382,
1643         993,   993,   993,   993,  1383,   340,   340,  1387,  1390,  1391,
1644        1392,   340,  1393,  1395,  1394,   340,  1396,  1399,  1397,  1398,
1645        1402,  1401,  1285,  1286,  1400,  1287,  1288,  1289,  1024,  1403,
1646        1026,  1404,  1405,   340,  1406,  1407,  1408,  1410,  1411,  1412,
1647        1414,  1413,  1416,   320,   320,   525,  1415,  1418,  1417,  1421,
1648        1419,  1189,  1420,  1423,  1424,  1427,  1750,  1426,  1304,  1429,
1649         709,  1430,  1431,   712,  1437,  1433,  1309,  1434,  1432,   340,
1650         720,   340,  1435,  1436,  1439,  1438,   731,  1440,  1442,  1443,
1651        1446,  1441,  1444,  1312,  1445,  1447,  1451,   910,   911,  1452,
1652        1453,  1454,  1456,  1455,  1457,  1317,  1318,  1319,  1320,   780,
1653        1459,  1460,  1462,  1464,   796,  1461,  1463,  1469,  1465,  1466,
1654        1467,  1468,  1470,  1471,  1473,  1474,  1476,  1478,  1477,  1480,
1655        1479,  1481,  1482,  1483,  1484,   780,  1487,  1486,   780,  1488,
1656         780,  1489,  1485,  1491,  1750,  1492,  1497,  1353,  1490,  1493,
1657        1503,  1494,  1496,  1498,  1495,  1501,   525,   525,  1504,  1502,
1658        1506,  1508,  1507,  1189,  1509,  1511,  1510,  1512,  1513,  1517,
1659        1514,  1202,  1202,  1519,  1518,  1520,  1521,  1522,  1531,  1524,
1660        1529,  1525,  1526,  1222,  1523,  1527,  1232,  1202,  1202,  1528,
1661        1530,  1222,   991,   781,  1535,  1532,  1536,  1538,  1534,  1539,
1662        1540,  1541,  1545,  1544,  1546,  1533,  1537,   320,   320,  1547,
1663        1548,  1550,  1553,  1556,  1551,  1552,  1557,  1559,  1555,  1560,
1664        1561,  1564,  1573,  1554,  1574,  1565,  1177,  1558,  1425,  1563,
1665        1181,  1566,   340,  1428,  1568,  1569,   340,  1571,  1562,  1570,
1666        1567,  1572,  1577,  1195,  1578,  1585,  1581,  1582,  1583,  1586,
1667         340,  1587,  1590,  1576,  1594,   340,  1588,  1595,  1589,  1591,
1668        1593,  1596,  1599,  1224,  1458,  1609,  1598,  1603,  1237,  1610,
1669        1613,   783,   783,  1602,  1243,  1604,  1245,  1614,  1608,   340,
1670        1615,  1612,  1617,  1616,  1611,  1621,  1618,  1622,  1624,  1623,
1671        1625,  1626,   340,  1629,  1627,  1628,  1633,  1634,   340,  1234,
1672         340,  1635,  1222,  1630,  1636,  1632,  1637,  1638,   780,   780,
1673        1639,  1640,  1641,  1642,  1645,  1644,  1648,  1646,   950,  1649,
1674         956,   957,  1653,  1643,   780,   780,  1655,  1656,  1654,  1658,
1675         780,  1647,  1657,  1659,  1660,  1661,   972,  1662,  1663,  1664,
1676        1665,  1666,  1667,  1668,  1672,  1670,  1673,  1675,  1674,  1676,
1677        1678,  1680,  1683,  1684,  1689,  1679,  1685,  1681,  1686,  1688,
1678        1549,  1687,  1691,  1003,  1690,  1692,  1693,  1697,  1695,  1698,
1679        1696,  1703,  1699,  1012,  1013,  1014,  1015,  1016,  1017,  1018,
1680        1019,  1020,  1021,  1022,  1023,  1694,  1701,  1700,  1702,  1704,
1681        1705,  1706,  1709,  1707,  1033,  1034,  1035,  1036,  1710,  1711,
1682        1712,  1713,   340,   340,  1714,  1717,  1715,  1716,  1720,  1718,
1683        1719,  1722,  1724,  1727,  1728,  1721,  1733,  1723,  1725,  1734,
1684        1726,  1737,  1735,  1001,  1732,  1736,  1738,  1743,  1739,  1740,
1685        1744,   988,  1347,  1348,   988,  1742,  1741,  1754,  1755,  1757,
1686        1745,  1756,  1758,  1759,  1761,  1763,  1760,  1631,  1762,  1764,
1687        1766,  1765,  1768,  1771,  1767,  1774,  1769,  1772,  1770,  1779,
1688        1775,  1789,  1777,  1773,  1373,  1799,  1776,  1780,  1785,  1787,
1689        1778,  1781,  1783,  1782,  1784,  1788,  1791,  1790,  1792,  1795,
1690        1794,  1793,  1796,  1797,  1808,  1803,  1812,  1798,  1804,  1802,
1691        1813,  1815,  1806,  1472,  1816,  1805,  1810,  1822,  1809,   730,
1692        1807,  1821,  1817,  1811,  1820,   781,  1814,  1823,  1819,  1824,
1693        1827,  1826,  1828,  1829,  1841,  1830,  1832,  1851,  1834,  1839,
1694        1837,  1846,  1857,  1379,  1835,  1838,  1708,  1843,  1842,  1844,
1695        1859,  1861,  1840,  1845,  1849,  1850,  1855,  1852,  1856,  1862,
1696        1825,  1863,  1860,  1858,  1864,  1865,  1866,  1867,  1869,  1868,
1697        1871,  1877,  1870,  1872,  1876,  1873,  1874,  1831,  1875,  1246,
1698        1878,  1880,  1882,  1881,  1884,  1833,  1886,  1883,  1887,  1889,
1699        1893,  1885,  1176,  1895,  1888,  1836,  1897,  1891,  1894,  1892,
1700        1896,  1890,  1898,  1899,  1900,  1901,  1902,  1903,  1904,  1905,
1701        1910,  1879,  1912,  1913,  1911,  1906,  1907,  1909,  1918,  1212,
1702        1259,  1908,  1926,  1786,  1914,  1928,  1917,  1919,  1915,  1916,
1703        1920,  1925,  1927,  1929,  1930,  1921,  1924,  1932,  1931,  1933,
1704        1934,  1935,  1936,  1938,  1818,  1946,  1937,  1939,  1948,  1940,
1705        1941,  1949,  1951,  1942,  1944,  1943,  1952,  1955,  1381,  1945,
1706        1947,  1950,   780,  1953,  1962,  1954,  1956,  1960,  1964,  1958,
1707        1963,  1957,   808,  1959,  1961,  1359,   420,   727,   489,   490,
1708         491,     0,   750,     0,     0,     0,   773,     0,     0,     0,
1709         308,     0,     0,     0,     0,     0,     0,   421,     0,     0,
1710           0,   422,     0,     0,     0,     0,     0,   492,     0,     0,
1711           0,   493,   494,   495,     0,     0,     0,   496,     0,   497,
1712           0,     0,     0,     0,     0,   498,     0,     0,     0,     0,
1713           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721           0,     0,     0,     0,     0,     0,   434,  1365,   329,    53,
1722          54,    55,    56,    57,   330,   331,   332,   333,   334,   335,
1723         336,   337,   338,   339,    68,    69,    70,    71,    72,    73,
1724          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1725          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1726          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1727         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1728         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1729         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1730         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1731         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1732         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1733         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1734         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1735         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1736         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1737         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1738         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1739         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1740         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1741         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1742         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1743         264,   265,   266,   267,   268,   269,   270,   930,   499,   271,
1744         329,    53,    54,    55,    56,    57,   330,   331,   332,   333,
1745         334,   335,   336,   337,   338,   339,    68,    69,    70,    71,
1746          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1747          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1748          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1749       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1750       112,   113,   114,   115,   116,   117,   250,    33,   282,   193,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1751       123,   124,   205,   135,     0,   136,   145,   154,   155,   156,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1752       157,     0,     0,   159,   160,   242,   161,   244,   245,   125,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1753       126,   127,   128,   129,   256,   130,   260,   131,   264,   132,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1754       162,   267,   163,   164,   165,   166,   167,   168,   169,   170,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1755       171,   172,   174,   175,   176,   177,   178,   179,   180,   181,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1756       182,   183,   184,   185,   186,   194,   195,   196,   199,   202,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1757       206,   277,   215,   218,     0,     0,   219,   220,   221,   223,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1758       225,   227,   228,   229,   230,   231,   232,   233,   234,   235,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1759       238,   240,   241,   243,   252,   254,   257,     0,     0,   268,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1760       272,   273,   274,   283,   287,   288       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1761         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1762         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1763         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1764         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1765         262,   263,   264,   265,   266,   267,   268,   269,   270,   500,
1766         933,   271,    52,    53,    54,    55,    56,    57,    58,    59,
1767          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1768          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1769          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1770          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1771         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1772         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1773         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1774         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1775         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1776         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1777         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1778         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1779         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1780         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1781         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1782         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1783         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1784         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1785         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1786         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1787         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1788         270,   501,   502,   271,   329,    53,    54,    55,    56,    57,
1789         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1790          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1791          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1792          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1793          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1794         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1795         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1796         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1797         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1798         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1799         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1800         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1801         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1802         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1803         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1804         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1805         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1806         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1807         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1808         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1809         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1810         268,   269,   270,   503,   504,   271,   329,    53,    54,    55,
1811        1196,  1197,    58,    59,    60,    61,    62,    63,    64,    65,
1812          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1813          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1814          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1815          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1816         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1817         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1818         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1819         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1820         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1821         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1822         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1823         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1824         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1825         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1826         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1827         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1828         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1829         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1830         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1831         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1832         266,   267,   268,   269,   270,   633,   634,   329,    53,    54,
1833          55,    56,    57,   330,   331,   332,   333,   334,   335,   336,
1834         337,   338,   339,    68,    69,    70,    71,    72,    73,    74,
1835          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1836          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1837          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1838         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1839         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1840         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1841         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1842         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1843         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1844         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1845         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1846         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1847         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1848         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1849         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1850         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1851         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1852         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1853         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1854         265,   266,   267,   268,   269,   270,   329,    53,    54,    55,
1855          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1856          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1857          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1858          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1859          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1860         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1861         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1862         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1863         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1864         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1865         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1866         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1867         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1868         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1869         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1870         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1871         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1872         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1873         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1874         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1875         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1876         266,   267,   268,   269,   270,   329,  1098,    54,    55,    56,
1877          57,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1878         339,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1879          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1880          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1881          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1882         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1883         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1884         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1885         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1886         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1887         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1888         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1889         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1890         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1891         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1892         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1893         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1894         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1895         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1896         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1897         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1898         267,   268,   269,   270,   329,  1127,    54,    55,    56,    57,
1899         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1900          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1901          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1902          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1903          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1904         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1905         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1906         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1907         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1908         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1909         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1910         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1911         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1912         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1913         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1914         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1915         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1916         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1917         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1918         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1919         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1920         268,   269,   270,   329,  1129,    54,    55,    56,    57,   330,
1921         331,   332,   333,   334,   335,   336,   337,   338,   339,    68,
1922          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1923          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1924          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1925          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1926         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1927         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1928         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1929         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1930         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1931         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1932         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1933         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1934         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1935         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1936         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1937         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1938         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1939         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1940         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1941         259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1942         269,   270,   329,  1297,    54,    55,    56,    57,   330,   331,
1943         332,   333,   334,   335,   336,   337,   338,   339,    68,    69,
1944          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1945          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1946          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1947         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1948         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1949         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1950         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1951         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1952         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1953         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1954         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1955         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1956         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1957         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1958         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1959         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1960         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1961         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1962         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1963         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1964         270,   329,  1313,    54,    55,    56,    57,   330,   331,   332,
1965         333,   334,   335,   336,   337,   338,   339,    68,    69,    70,
1966          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1967          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1968          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1969         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1970         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1971         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1972         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1973         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1974         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1975         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1976         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1977         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1978         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1979         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1980         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1981         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1982         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1983         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1984         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1985         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1986         329,  1314,    54,    55,    56,    57,   330,   331,   332,   333,
1987         334,   335,   336,   337,   338,   339,    68,    69,    70,    71,
1988          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1989          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1990          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1991         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1992         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1993         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1994         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1995         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1996         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1997         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1998         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1999         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2000         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2001         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2002         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2003         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2004         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2005         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2006         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2007         262,   263,   264,   265,   266,   267,   268,   269,   270,   509,
2008         423,   446,   424,   425,   448,   427,   428,   429,     0,   510
2009  };  };
2010    
2011  static const short yycheck[] =  static const yytype_int16 yycheck[] =
2012  {  {
2013        17,   117,   236,   237,    25,     3,    31,    29,    30,    31,        15,   829,    17,    18,    19,    20,    21,    22,    23,    24,
2014        32,    33,     3,    11,    38,     6,    37,     7,    38,    40,        25,    26,    27,    28,    29,    30,    31,   529,   609,    15,
2015        29,    30,    31,    32,    33,    39,     3,    18,    52,     6,       869,  1124,  1063,   859,   278,   283,   284,   288,   566,    24,
2016         3,     3,    52,    54,    55,     7,    58,   271,    11,    53,       568,   283,   284,   287,   288,   290,    24,   290,     5,     1,
2017         3,   275,   276,   159,     0,   161,   162,     7,    11,    58,       290,     3,    32,  1309,    32,   977,  1187,    39,   586,    33,
2018         3,     3,     8,     9,    30,    31,    32,    33,    11,    11,        34,  1317,  1087,    19,    37,    37,   594,    19,    37,    21,
2019       176,   177,   178,   179,   180,   181,   182,    92,     3,     7,        22,    37,    37,    25,    21,    22,  1107,    33,    30,    31,
2020        25,     3,    27,    28,    29,     7,    11,     4,     5,     6,        21,    22,    27,    35,    36,    37,    22,    39,   278,   591,
2021        35,    36,    37,    38,    39,     7,    41,    42,   105,   106,      1127,    38,  1129,    34,   553,   285,    32,    38,    43,    23,
2022         7,    46,   109,   110,    49,    50,    51,    52,    53,     7,        59,    60,    61,    62,    63,    64,    65,    66,    67,   568,
2023         3,     0,     1,   219,     7,    34,    35,    56,    57,     8,        19,  1136,  1137,  1138,  1139,    39,    89,    89,    22,    30,
2024         9,    10,   228,    12,    13,    14,    15,    16,    17,     7,        89,    23,    31,    89,    89,    36,    23,   586,    37,    22,
2025        19,    20,    21,    22,    23,    24,    36,     3,    38,     4,        27,    40,    20,    37,    36,   594,     9,    10,    11,    12,
2026         5,     7,     3,    43,    44,    45,     7,     3,    48,     5,        13,    14,    15,    16,    17,    18,    34,    23,    23,    22,
2027         7,     7,   269,   270,    10,     7,   163,     7,     7,     3,        19,    20,    21,    22,    22,    24,    25,   281,  1289,    32,
2028       167,   168,    25,   170,   171,    25,   272,   174,     8,     7,        36,   285,    31,  1085,    21,    22,    34,   695,    37,    38,
2029        25,     7,     7,     7,     7,     7,     7,   184,   185,     7,       278,    40,  1428,    19,    31,    21,    22,    23,    24,   287,
2030         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       288,    22,    32,   291,    19,    31,    21,    22,    23,    24,
2031         7,     7,     7,     7,     7,     7,   227,     3,   273,   163,        23,    37,    38,    34,    40,    19,    31,    27,    21,    22,
2032        30,    30,   174,     5,    -1,     5,     5,     5,     5,     5,       531,   224,    20,    33,    27,    40,    30,    31,    32,    27,
2033         5,    -1,    -1,     7,     7,   222,     7,   224,   225,    30,        59,    60,    61,    62,    63,    64,    65,    66,    67,    37,
2034        30,    30,    30,    30,   231,    30,   233,    30,   235,    30,        19,    27,    40,    19,     0,    24,  1319,    23,    31,   560,
2035         7,   238,     7,     7,     7,     7,     7,     7,     7,     7,       561,  1118,    31,    39,    37,    31,  1123,   222,   223,   570,
2036         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       571,    23,   222,   223,   222,   223,    21,    22,   222,   223,
2037         7,     7,     7,     7,     7,     5,     5,     5,     5,     5,        19,    34,    21,    22,    37,    24,    31,   588,   589,    22,
2038         5,   268,     5,     5,    -1,    -1,     7,     7,     7,     7,      1297,    23,    31,    23,   595,   596,   282,   224,   225,   226,
2039         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,        37,   287,   288,   225,   226,     6,  1313,  1314,     9,    10,
2040         7,     5,     5,     5,     5,     5,     5,    -1,    -1,     7,        11,    12,    13,    14,    15,    16,    17,    18,    34,    31,
2041         7,     7,     7,     5,     7,     5       600,    37,    39,    40,   278,    37,   606,   542,   282,   542,
2042          21,    15,   542,   287,   288,    21,    27,   606,   607,   608,
2043         838,    27,   840,   543,   544,   545,   546,   547,   548,   549,
2044         550,   551,   552,    38,   554,   555,   556,   557,    21,   559,
2045          21,    21,   562,   563,    27,    37,    27,    27,    31,    21,
2046          21,   346,   347,   348,    19,    27,    27,   225,   226,   600,
2047         283,   284,   600,    40,   359,   288,   600,    34,   600,    27,
2048         365,    20,   367,   368,   369,   370,   371,   869,   373,   897,
2049         375,   376,   377,   378,   379,    38,   381,   382,   383,   384,
2050         385,   386,   387,   388,   389,   225,    34,    31,   393,    37,
2051         395,    34,    34,   398,    37,    37,   401,   402,    39,    40,
2052         222,   223,   407,   408,   409,    31,   411,   412,   413,     7,
2053           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2054          18,   426,    22,   428,   429,   430,    21,    22,   433,   434,
2055          21,   436,   437,   438,   439,    21,    22,  1125,  1126,   444,
2056         445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
2057         289,   290,   279,   280,    19,    19,    38,    38,    38,  1285,
2058          22,    33,  1288,    23,    23,    19,    37,   272,    26,    39,
2059         319,    20,   321,   322,   323,   324,   325,   326,   327,   328,
2060         811,   812,   813,     6,    27,    26,     9,    10,    11,    12,
2061          13,    14,    15,    16,    17,    18,     9,    10,    11,    12,
2062          13,    14,    15,    16,    17,    18,    19,   512,    20,    42,
2063          32,    27,    23,   844,   845,    33,    33,    27,  1549,    27,
2064          20,     6,   853,   854,     9,    10,    11,    12,    13,    14,
2065          15,    16,    17,    18,    39,  1353,    42,    27,  1631,    26,
2066          20,   872,    39,  1124,     9,    10,    11,    12,    13,    14,
2067          15,    16,    17,    18,     9,    10,    11,    12,    13,    14,
2068          15,    16,    17,    18,    42,    27,    32,   553,    21,    27,
2069          39,    39,    26,    20,    30,   906,   907,   908,   909,    42,
2070         566,    27,   568,    33,    33,    36,    38,    21,    20,    19,
2071          38,  1119,   578,   579,    36,    40,  1098,  1099,    38,    34,
2072         586,    89,    22,    22,    19,    19,    89,    25,   594,    22,
2073          89,    36,    38,    30,    22,   601,   602,   603,   604,  1458,
2074          27,    32,    22,   609,   610,  1127,    22,  1129,   633,   634,
2075        1132,    22,    89,    22,    19,    22,   641,   642,   643,  1141,
2076        1142,  1143,  1144,    37,    22,    89,    89,    26,    89,    22,
2077         655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
2078         665,   666,   667,   668,    32,    22,    24,    19,    89,    33,
2079          36,    27,    23,    89,    33,    38,    23,   682,   683,   684,
2080         685,    36,    32,   688,    37,    27,   691,    27,    33,    30,
2081          27,   696,   697,    27,    32,    27,    27,   702,   703,    27,
2082          19,    37,   707,   708,   709,    40,    39,   712,    32,   695,
2083         669,   670,   671,   672,   673,   674,   675,   676,   677,    30,
2084         725,    27,   727,    33,   729,    27,    27,    27,    37,    27,
2085          27,   736,    27,  1064,  1065,    27,    32,    27,  1319,    38,
2086         745,   746,   747,   748,   749,   750,   751,   752,   753,   754,
2087         755,   756,   757,   758,   759,   760,    37,   762,    33,    33,
2088         609,   766,   767,   768,   769,    27,   771,   772,   773,   774,
2089          39,    19,    33,    39,    23,    27,    23,    27,    24,    32,
2090          37,    20,    27,    27,    21,    23,    19,    21,    43,    21,
2091          32,    27,    32,    19,    23,  1297,  1298,    32,    89,    23,
2092          30,   806,    33,   808,    32,    32,    89,    32,    30,    24,
2093          31,  1313,  1314,    30,    32,    23,   775,   776,  1320,    89,
2094         669,   670,   671,   672,   673,   674,   675,   676,   677,    89,
2095          32,    89,    33,    33,    32,    32,    23,    36,    89,    33,
2096          36,    22,    22,   848,   830,    38,    89,   833,   834,   835,
2097         836,    30,   838,    31,   840,    22,   842,    40,    22,    33,
2098          37,   575,   576,    23,   850,    23,    32,    32,    19,    89,
2099          23,    19,    27,    30,   860,   861,    23,    20,   592,    23,
2100          36,    19,   868,    37,    89,    89,    38,    23,    37,    23,
2101          32,    36,    27,    23,    89,    23,   610,    43,    27,    89,
2102          33,    27,   707,   708,    89,    37,    27,   893,    32,   895,
2103          23,   897,    37,    89,    32,    27,    39,    21,    89,   633,
2104         634,    27,    27,    23,    27,   730,   775,   776,    23,    27,
2105         779,   936,   937,   938,    33,    23,    27,    21,    23,    89,
2106          36,    30,    32,    37,    27,    31,    23,    27,   953,    30,
2107          89,    30,    89,   912,    36,   960,  1458,   962,   963,   964,
2108          38,   966,   967,    32,    20,    33,   971,   972,    30,    22,
2109          40,    38,    32,   978,    38,    36,    33,    32,   783,    31,
2110          38,    32,    22,    32,    30,   990,    33,    22,    38,    32,
2111          31,   977,    23,    30,    33,  1000,    32,  1002,    36,    33,
2112         805,    33,    89,    33,    30,    38,    22,  1012,  1013,  1014,
2113        1015,  1016,  1017,  1018,  1019,  1020,  1021,  1022,  1023,    32,
2114        1025,    30,  1027,    89,  1029,    40,    89,    21,  1033,  1034,
2115        1035,  1036,    20,  1038,  1039,  1040,  1041,    36,    23,    37,
2116          30,    89,    39,    36,    89,    37,    37,    33,    23,    21,
2117        1631,    33,    39,    37,    37,    36,    34,     5,    23,    39,
2118          36,   910,   911,   912,    89,    39,    27,    23,    89,    33,
2119          21,    39,    27,    36,    24,    89,    19,  1063,    89,    21,
2120          27,    33,    23,  1042,  1043,  1090,    39,    33,    21,    38,
2121          24,    23,   806,    38,   808,  1081,  1082,  1083,    38,  1085,
2122        1086,  1087,    39,    39,    27,  1091,    37,    23,    38,    22,
2123          38,    38,  1098,    39,    39,   829,    38,   831,   832,    39,
2124          39,  1107,    32,   837,    38,    33,   931,   841,    39,  1115,
2125        1116,    38,  1118,  1119,  1120,  1121,    32,  1123,  1124,  1125,
2126        1126,  1127,    32,  1129,   858,   859,    33,    33,    27,    34,
2127        1136,  1137,  1138,  1139,    38,   960,   961,    39,    32,    39,
2128          38,   966,    32,    27,    33,   970,    39,    39,    31,    36,
2129          31,    89,  1177,  1178,    34,  1180,  1181,  1182,   892,    38,
2130         894,    36,    21,   988,    32,    36,    19,    36,    31,    34,
2131          34,    38,    38,  1042,  1043,  1044,    31,    38,    36,    39,
2132          34,  1187,    38,    19,    23,    32,  1708,    39,  1213,    38,
2133         577,    34,    30,   580,    24,    32,  1221,    31,    33,  1024,
2134         587,  1026,    33,    32,    36,    38,   593,    23,    21,    32,
2135          36,    39,    23,  1238,    39,    39,    23,  1196,  1197,    89,
2136          39,    23,    39,    38,    30,  1250,  1251,  1252,  1253,  1098,
2137          39,    23,    89,    23,   621,    39,    39,    38,    89,    39,
2138          39,    89,    39,    39,    38,    38,    27,    30,    39,    24,
2139          39,    23,    39,    24,    33,  1124,    33,    39,  1127,    32,
2140        1129,    23,    89,    32,  1786,    31,    27,  1292,    38,    37,
2141          19,    38,    32,    32,    39,    31,  1145,  1146,    31,    89,
2142          31,    38,    32,  1289,    22,    32,    38,    22,    31,    34,
2143          38,  1297,  1298,    30,    38,    34,    36,    33,    39,    32,
2144          22,    33,    32,  1309,    38,    32,  1312,  1313,  1314,    33,
2145          31,  1317,  1318,  1319,    23,    38,    27,    22,    38,    25,
2146          22,    38,    23,    33,    21,    89,    89,  1196,  1197,    25,
2147          23,    23,    23,    23,    38,    89,    23,    23,    38,    33,
2148          39,    39,    37,    89,    21,    33,  1080,    89,  1373,    38,
2149        1084,    32,  1177,  1378,    38,    38,  1181,    23,    89,    38,
2150          89,    23,    32,  1097,    40,    40,    27,    27,    27,    27,
2151        1195,    36,    23,    89,    22,  1200,    32,    40,    33,    32,
2152          32,    22,    32,  1117,  1409,    30,    40,    36,  1122,    22,
2153          32,  1125,  1126,    40,  1128,    38,  1130,    33,    38,  1224,
2154          22,    40,    23,    38,    89,    33,    26,    32,    22,    89,
2155          27,    40,  1237,    39,    38,    38,    23,    27,  1243,  1425,
2156        1245,    23,  1428,    38,    22,    38,    27,    38,  1297,  1298,
2157          26,    23,    27,    38,    33,    26,    30,    43,   825,    23,
2158         827,   828,    27,    89,  1313,  1314,    39,    27,    38,    19,
2159        1319,    89,    89,    40,    27,    89,   843,    23,    27,    27,
2160          21,    23,    89,    37,    40,    32,    21,    27,    40,    21,
2161          19,    21,    19,    36,    27,    40,    34,    21,    23,    33,
2162        1505,    40,    21,   870,    32,    89,    32,    27,    31,    40,
2163          32,    23,    33,   880,   881,   882,   883,   884,   885,   886,
2164         887,   888,   889,   890,   891,    36,    32,    37,    36,    36,
2165          34,    31,    27,    38,   901,   902,   903,   904,    23,    27,
2166          36,    23,  1347,  1348,    31,    23,    32,    27,    32,    26,
2167          43,    23,    27,    24,    23,    38,    23,    36,    39,    19,
2168          36,    23,    32,  1549,    38,    21,    39,    19,    34,    23,
2169          19,  1285,  1286,  1287,  1288,    89,    37,    21,    21,    19,
2170          89,    23,    32,    21,    19,    32,    89,  1592,    34,    21,
2171          23,    32,    89,    19,    33,    23,    33,    21,    32,    21,
2172          23,    21,    38,    34,  1312,    21,    36,    34,    23,    23,
2173          39,    36,    31,    34,    32,    23,    23,    34,    23,    23,
2174          32,    34,    23,    23,    89,    24,    19,    38,    34,    39,
2175          19,    19,    30,  1425,    89,    38,    38,    19,    34,  1353,
2176          37,    89,    36,    38,    30,  1631,    37,    32,    38,    30,
2177          33,    38,    32,    32,    22,    33,    33,    24,    34,    31,
2178          33,    23,    19,  1318,    39,    36,  1671,    33,    37,    34,
2179          22,    19,    42,    36,    33,    39,    36,    38,    34,    23,
2180          89,    23,    36,    38,    27,    36,    19,    19,    33,    30,
2181          36,    19,    32,    32,    43,    33,    33,    89,    32,  1132,
2182          36,    36,    31,    27,    31,    89,    36,    38,    31,    24,
2183          24,    37,  1079,    19,    39,    89,    27,    38,    36,    39,
2184          22,    43,    23,    23,    23,    19,    38,    19,    23,    32,
2185          19,    89,    36,    40,    31,    33,    89,    33,    23,  1106,
2186        1144,    32,    23,  1748,    37,    23,    32,    31,    38,    36,
2187          38,    31,    27,    23,    22,    38,    38,    23,    32,    23,
2188          33,    32,    23,    40,  1786,    24,    38,    36,    23,    36,
2189          89,    23,    26,    38,    36,    38,    23,    23,  1320,    39,
2190          38,    37,  1631,    32,    37,    33,    36,    38,    22,    33,
2191          30,    36,   634,    36,    36,  1298,   285,   591,   290,   290,
2192         290,    -1,   600,    -1,    -1,    -1,   608,    -1,    -1,    -1,
2193          51,    -1,    -1,    -1,    -1,    -1,    -1,   285,    -1,    -1,
2194          -1,   285,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
2195          -1,   290,   290,   290,    -1,    -1,    -1,   290,    -1,   290,
2196          -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,    -1,    -1,
2197          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2198          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2200          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2202          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205          -1,    -1,    -1,    -1,    -1,    -1,   286,  1304,     3,     4,
2206           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2207          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2208          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2209          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2210          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2211          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2212          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2213          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2214          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2215          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2216         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2217         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2218         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2219         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2220         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2221         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2222         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2223         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2224         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2225         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2226         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2227         215,   216,   217,   218,   219,   220,   221,   222,   290,   224,
2228           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2229          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2230          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2231          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2232          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2233          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2234          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2235          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2236          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2237          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2238         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2239         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2240         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2241         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2242         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2243         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2244         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2245         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2246         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2247         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2248         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2249         213,   214,   215,   216,   217,   218,   219,   220,   221,   290,
2250         223,   224,     3,     4,     5,     6,     7,     8,     9,    10,
2251          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2252          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2253          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2254          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2255          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2256          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2257          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2258          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2259          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2260         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2261         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2262         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2263         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2264         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2265         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2266         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2267         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2268         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2269         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2270         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2271         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2272         221,   290,   290,   224,     3,     4,     5,     6,     7,     8,
2273           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2274          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2275          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2276          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2277          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2278          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2279          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2280          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2281          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2282          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2283         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2284         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2285         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2286         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2287         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2288         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2289         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2290         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2291         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2292         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2293         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2294         219,   220,   221,   290,   290,   224,     3,     4,     5,     6,
2295           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2296          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2297          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2298          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2299          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2300          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2301          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2302          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2303          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2304          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2305         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2306         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2307         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2308         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2309         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2310         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2311         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2312         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2313         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2314         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2315         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2316         217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
2317           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2318          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2319          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2320          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2321          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2322          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2323          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2324          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2325          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2326          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2327         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2328         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2329         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2330         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2331         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2332         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2333         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2334         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2335         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2336         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2337         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2338         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2339           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2340          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2341          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2342          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2343          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2344          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2345          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2346          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2347          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2348          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2349         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2350         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2351         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2352         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2353         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2354         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2355         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2356         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2357         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2358         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2359         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2360         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2361           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2362          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2363          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2364          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2365          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2366          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2367          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2368          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2369          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2370          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2371         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2372         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2373         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2374         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2375         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2376         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2377         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2378         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2379         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2380         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2381         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2382         218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2383           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2384          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2385          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2386          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2387          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2388          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2389          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2390          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2391          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2392          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2393         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2394         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2395         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2396         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2397         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2398         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2399         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2400         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2401         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2402         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2403         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2404         219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
2405          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2406          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2407          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2408          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2409          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2410          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2411          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2412          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2413          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2414         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2415         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2416         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2417         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2418         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2419         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2420         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2421         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2422         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2423         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2424         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2425         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2426         220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2427          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2428          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2429          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2430          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2431          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2432          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2433          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2434          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2435          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2436         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2437         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2438         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2439         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2440         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2441         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2442         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2443         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2444         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2445         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2446         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2447         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2448         221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2449          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2450          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2451          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2452          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2453          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2454          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2455          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2456          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2457          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2458         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2459         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2460         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2461         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2462         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2463         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2464         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2465         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2466         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2467         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2468         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2469         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2470           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2471          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2472          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2473          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2474          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2475          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2476          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2477          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2478          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2479          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2480         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2481         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2482         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2483         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2484         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2485         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2486         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2487         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2488         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2489         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2490         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2491         213,   214,   215,   216,   217,   218,   219,   220,   221,   290,
2492         285,   288,   285,   285,   288,   285,   285,   285,    -1,   290
2493  };  };
2494    
2495  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2496     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2497  static const unsigned char yystos[] =  static const yytype_uint16 yystos[] =
2498  {  {
2499         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2500        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,        36,    37,    39,   228,   229,   230,   231,   289,   290,   291,
2501         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       292,   293,   294,   295,   296,   297,   298,   303,   304,   305,
2502         0,     8,     9,     3,     5,     7,    10,    89,    25,    25,       306,   380,   384,    22,    30,    36,    23,    23,    27,    33,
2503        27,    28,    29,    35,    36,    37,    38,    39,    41,    42,        19,    33,    39,    23,    23,    39,    32,     0,   225,   226,
2504        46,    49,    50,    51,    52,    53,    66,    38,    52,    68,       287,   288,     3,     4,     5,     6,     7,     8,     9,    10,
2505        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2506        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2507        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2508        25,    61,     8,     3,     7,     7,     7,     7,     7,     7,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2509         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2510         7,     7,     7,     7,     7,     7,     7,     7,    61,    30,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2511        31,    32,    33,    30,    30,    30,    30,    30,    30,    30,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2512        30,    30,    30,    89,    89,     5,     5,     6,    18,    75,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2513        87,    89,    76,    86,    89,     5,    83,    36,    38,    43,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2514        44,    45,    48,    71,     5,     5,     5,     5,    83,     7,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2515         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2516         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2517         7,     7,     7,     7,     7,     7,     7,    83,    56,    57,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2518        73,    83,    83,    86,     5,     5,     5,    89,    89,     5,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2519        89,    89,     5,    72,    89,    87,     5,    84,    83,    83,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2520        83,    83,    83,    83,    83,     5,    89,    89,     5,     7,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2521         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2522         7,     7,     7,     7,     7,     7,    11,    11,     7,    83,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2523         5,     5,    89,     5,    89,    89,     4,     5,     6,    88,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2524        84,    83,     5,    85,     5,    77,    89,     5,    78,    81,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2525        89,     4,     5,    82,    89,    88,    88,    89,     7,     7,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2526         7,    11,     7,     7,     7,    11,    11,    89,    72,    72,       221,   224,   278,   281,   282,   283,   286,   286,   286,   286,
2527        88,    83,    85,     5,    79,    88,    88,     7,     5,    80       286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2528         286,   286,    22,    23,    23,    37,    38,    37,    19,    34,
2529          40,    27,    31,    37,    38,    20,    31,    37,   287,     9,
2530          10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2531         281,   280,   280,   280,   280,   280,   280,   280,   280,     3,
2532           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2533         283,    21,    22,    31,   232,   307,   355,   365,   367,    19,
2534          21,    22,    23,    24,    31,    37,    38,    40,   238,   307,
2535         308,   309,   310,   331,   332,   335,   340,   341,   342,   343,
2536         344,   345,   347,   349,   350,   351,   352,   353,   354,   355,
2537         356,   357,   358,   363,   364,   365,   366,   367,   368,   373,
2538         374,    31,   235,   353,   236,   353,    31,   242,   354,    22,
2539         243,   365,   368,    19,    24,    31,   240,   341,   351,   363,
2540         244,   341,   351,   363,    19,    21,    22,    24,    31,   250,
2541         308,   309,   310,   340,   347,   350,   354,   356,   364,   366,
2542         367,    27,   245,   334,   335,   237,   307,   355,   365,   368,
2543          19,    23,    31,   239,   307,   339,   344,   348,   349,   355,
2544         363,   365,   368,   374,   383,    19,    20,    21,    22,    24,
2545          25,    31,    37,    38,    40,   233,   312,   313,   314,   315,
2546         316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
2547         326,   327,   328,   329,   330,   331,   333,   381,   234,   312,
2548         313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
2549         323,   324,   325,   326,   327,   328,   329,   330,   331,   333,
2550         381,   241,   307,    19,    19,    38,    38,    22,    23,    38,
2551          33,    23,    37,    19,    39,   281,    26,    20,    27,   286,
2552         286,   286,    39,    40,    26,    20,    32,    42,    27,    23,
2553          33,    33,   286,   286,   286,   286,   286,   286,   286,   286,
2554         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2555         286,   286,   286,   286,    27,   286,   286,    27,   286,    20,
2556         286,   286,    39,    42,    27,   286,   286,   286,   286,   286,
2557         286,    39,    26,    20,    42,    27,   286,   286,   286,   286,
2558          32,   286,   286,   286,   286,   286,   286,    39,    21,    27,
2559         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2560         286,    39,    39,    26,    20,    42,    30,    27,    38,    33,
2561          33,   286,    36,    38,    36,    40,    38,    21,    34,    20,
2562          19,    89,    22,   222,   223,   272,   285,   269,   285,    24,
2563          32,   269,   371,   372,    22,    19,    19,    89,    25,    89,
2564          22,    36,    38,    30,    27,   311,   328,   329,   330,   311,
2565         311,   311,   311,   311,   311,   311,   311,   311,   311,    10,
2566          11,    12,    13,    14,    15,    16,    17,    18,    19,   260,
2567         282,   299,   311,   311,   311,   311,   265,   282,   311,   269,
2568         269,   311,   311,    22,    32,   247,   302,   260,    22,   260,
2569         299,    89,   269,   269,    22,    89,    22,   278,   278,   265,
2570         282,   282,   265,    22,    19,    89,    89,    22,   260,   299,
2571         265,   269,   269,    37,   251,   271,   285,   302,   252,   268,
2572         278,   265,   260,   299,    24,   269,   370,   269,    22,    26,
2573          22,    19,    31,    37,   246,   341,   345,   346,   351,   355,
2574         358,   359,   360,   361,   374,   376,   377,   282,   282,   282,
2575         282,    32,   382,    19,    30,    31,   345,   362,   375,   382,
2576          22,   369,   382,   369,   382,     7,     8,   264,   279,   280,
2577         281,   282,   277,   278,   282,    22,    24,    19,    89,    89,
2578          33,    22,    37,    36,    38,    27,   265,    23,    33,    23,
2579          36,    37,    32,    27,    27,   278,   284,   286,   284,    30,
2580          33,   286,   286,   286,    27,    27,    32,    27,    27,    37,
2581          27,    40,    19,    39,    32,   286,   286,   286,   286,   286,
2582         286,   286,   286,   286,   286,   286,   286,   286,   286,    30,
2583         286,   286,   286,   286,   286,   286,    27,    33,   260,   286,
2584         286,    27,    27,   286,   286,    27,    37,    27,   286,   286,
2585         286,   286,    27,    32,    27,    37,    27,    38,   286,   286,
2586         286,    33,   286,    27,    33,    27,    39,    27,    39,    33,
2587         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2588         286,   286,   286,   286,   286,   286,    19,   286,    39,    23,
2589          27,   286,   286,   286,   286,    23,   286,   286,   286,   286,
2590         280,   280,     6,    27,    24,    32,    27,    37,    20,    27,
2591          21,    23,    19,    21,    43,    27,    21,    32,    32,    89,
2592         222,   278,   286,   223,    19,    32,   269,   269,   269,    33,
2593          30,    32,    32,    32,    23,    89,    23,    30,    31,    24,
2594         265,    20,    34,   249,   378,   379,   265,   265,   268,   282,
2595         278,   278,   282,   282,   282,   282,   278,   260,    30,   260,
2596         278,   282,   265,   269,   269,    89,    32,   286,   261,   282,
2597          89,    32,   269,   269,    33,    23,    89,   248,   278,   248,
2598         263,   282,   267,   282,    33,    32,    32,    23,    89,    36,
2599         266,   282,   271,   265,    36,   269,    33,    89,    22,    22,
2600          38,    30,   265,   265,   265,   265,   265,   265,   265,   265,
2601         265,   265,   265,   265,   278,   282,   278,   282,    31,   260,
2602          22,    40,    22,   265,   265,   265,   265,    37,   269,   269,
2603         269,   269,     6,     6,   280,    33,    23,    32,    32,    23,
2604          19,    89,    23,    19,    30,    23,    20,    36,    23,    37,
2605          27,    38,    89,   286,   286,   286,    89,    19,    23,    37,
2606          23,    32,    27,    36,    89,    23,    33,    43,    23,   286,
2607         286,   286,   286,   286,   286,   286,   286,   286,    27,    89,
2608         261,   286,    27,    37,    89,    32,    27,   286,     4,   286,
2609          89,    23,    37,    32,    27,    39,   286,   286,    21,    89,
2610          27,    27,    27,    23,    33,   286,   286,   286,   286,   286,
2611         286,   286,   286,   286,   286,   286,   286,     4,   286,     4,
2612         286,    23,   286,    27,    23,    27,   286,   286,   286,   286,
2613          21,   286,   286,   286,   286,   280,   280,    89,    36,    23,
2614          37,    32,    30,    27,    30,    31,    89,    89,    23,    27,
2615          30,    38,    32,    36,   266,   269,   269,    33,    20,    30,
2616          38,    22,    32,    40,    38,    36,   265,   278,   282,   282,
2617         282,   278,   261,   282,   267,    32,    31,   286,   262,   282,
2618          32,    38,    33,    22,    32,   278,     7,     8,   275,   276,
2619         278,   279,   282,   285,   274,   285,    33,    30,    38,    22,
2620          32,    31,   265,   266,    23,    33,    32,    33,    89,   254,
2621         282,   255,   282,   256,   278,   254,    22,    32,   260,   300,
2622         301,   257,   282,   258,   282,   299,   259,   278,   254,   264,
2623         277,   277,   275,   278,   275,   278,   272,    33,    30,    89,
2624         267,   267,   267,   267,    36,   285,   270,   285,   285,   270,
2625          33,    89,    30,    38,    22,    89,    32,    30,    89,    40,
2626          21,    20,    36,    37,    23,    39,    30,    37,    36,    37,
2627          34,    37,    33,    23,    21,   286,   286,   286,   286,   286,
2628          37,    33,   262,    37,    36,    39,    34,     4,     5,    39,
2629          36,    34,    37,    23,   286,    39,    34,    89,    27,   286,
2630          23,    33,   286,     4,     4,    89,    21,   286,   286,   286,
2631         286,    27,    39,    24,    89,    36,    89,    27,    34,    37,
2632          19,    21,    33,    33,    23,    39,    38,    21,    38,    23,
2633          39,    39,    38,    27,    37,    23,   248,   278,   278,   248,
2634         262,    38,    22,   286,    38,    39,    38,    39,   275,   276,
2635          38,    39,    39,    38,    32,   265,    38,    39,    33,    32,
2636         255,    24,    32,   257,   275,   275,    33,    33,   255,   263,
2637         264,   274,    34,    38,    27,    21,    27,    39,    21,    27,
2638          32,    39,    38,    32,    33,    27,    39,    31,    36,    39,
2639          34,    89,    31,    38,    36,    21,    32,    36,    19,   268,
2640          36,    31,    34,    38,    34,    31,    38,    36,    38,    34,
2641          38,    39,    34,    19,    23,   286,    39,    32,   286,    38,
2642          34,    30,    33,    32,    31,    33,    32,    24,    38,    36,
2643          23,    39,    21,    32,    23,    39,    36,    39,    19,    23,
2644          31,    23,    89,    39,    23,    38,    39,    30,   286,    39,
2645          23,    39,    89,    39,    23,    89,    39,    39,    89,    38,
2646          39,    39,   258,    38,    38,   255,    27,    39,    30,    39,
2647          24,    23,    39,    24,    33,    89,    39,    33,    32,    23,
2648          38,    32,    31,    37,    38,    39,    32,    27,    32,    22,
2649          34,    31,    89,    19,    31,   271,    31,    32,    38,    22,
2650          38,    32,    22,    31,    38,    22,    34,    34,    38,    30,
2651          34,    36,    33,    38,    32,    33,    32,    32,    33,    22,
2652          31,    39,    38,    89,    38,    23,    27,    89,    22,    25,
2653          22,    38,    23,    36,    33,    23,    21,    25,    23,   286,
2654          23,    38,    89,    23,    89,    38,    23,    23,    89,    23,
2655          33,    39,    89,    38,    39,    33,    32,    89,    38,    38,
2656          38,    23,    23,    37,    21,    37,    89,    32,    40,    21,
2657          22,    27,    27,    27,    89,    40,    27,    36,    32,    33,
2658          23,    32,   266,    32,    22,    40,    22,    89,    40,    32,
2659          21,    22,    40,    36,    38,    21,    34,    38,    38,    30,
2660          22,    89,    40,    32,    33,    22,    38,    23,    26,    23,
2661          36,    33,    32,    89,    22,    27,    40,    38,    38,    39,
2662          38,   286,    38,    23,    27,    23,    22,    27,    38,    26,
2663          23,    27,    38,    89,    26,    33,    43,    89,    30,    23,
2664          21,    22,    27,    27,    38,    39,    27,    89,    19,    40,
2665          27,    89,    23,    27,    27,    21,    23,    89,    37,    89,
2666          32,   264,    40,    21,    40,    27,    21,    89,    19,    40,
2667          21,    21,    38,    19,    36,    34,    23,    40,    33,    27,
2668          32,    21,    89,    32,    36,    31,    32,    27,    40,    33,
2669          37,    32,    36,    23,    36,    34,    31,    38,   286,    27,
2670          23,    27,    36,    23,    31,    32,    27,    23,    26,    43,
2671          32,    38,    23,    36,    27,    39,    36,    24,    23,    21,
2672          27,    31,    38,    23,    19,    32,    21,    23,    39,    34,
2673          23,    37,    89,    19,    19,    89,    33,    34,   253,   273,
2674         285,   336,   337,   338,    21,    21,    23,    19,    32,    21,
2675          89,    19,    34,    32,    21,    32,    23,    33,    89,    33,
2676          32,    19,    21,    34,    23,    23,    36,    38,    39,    21,
2677          34,    36,    34,    31,    32,    23,   286,    23,    23,    21,
2678          34,    23,    23,    34,    32,    23,    23,    23,    38,    21,
2679          21,    27,    39,    24,    34,    38,    30,    37,    89,    34,
2680          38,    38,    19,    19,    37,    19,    89,    36,   273,    38,
2681          30,    89,    19,    32,    30,    89,    38,    33,    32,    32,
2682          33,    89,    33,    89,    34,    39,    89,    33,    36,    31,
2683          42,    22,    37,    33,    34,    36,    23,    21,    27,    33,
2684          39,    24,    38,    21,    27,    36,    34,    19,    38,    22,
2685          36,    19,    23,    23,    27,    36,    19,    19,    30,    33,
2686          32,    36,    32,    33,    33,    32,    43,    19,    36,    89,
2687          36,    27,    31,    38,    31,    37,    36,    31,    39,    24,
2688          43,    38,    39,    24,    36,    19,    22,    27,    23,    23,
2689          23,    19,    38,    19,    23,    32,    33,    89,    32,    33,
2690          19,    31,    36,    40,    37,    38,    36,    32,    23,    31,
2691          38,    38,    21,    27,    38,    31,    23,    27,    23,    23,
2692          22,    32,    23,    23,    33,    32,    23,    38,    40,    36,
2693          36,    89,    38,    38,    36,    39,    24,    38,    23,    23,
2694          37,    26,    23,    32,    33,    23,    36,    36,    33,    36,
2695          38,    36,    37,    30,    22
2696  };  };
2697    
 #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  
   
2698  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2699  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2700  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 759  static const unsigned char yystos[] = Line 2702  static const unsigned char yystos[] =
2702    
2703  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2704  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2705  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2706    
2707    
2708  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 777  do                                                             \ Line 2720  do                                                             \
2720        yychar = (Token);                                         \        yychar = (Token);                                         \
2721        yylval = (Value);                                         \        yylval = (Value);                                         \
2722        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2723        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2724        goto yybackup;                                            \        goto yybackup;                                            \
2725      }                                                           \      }                                                           \
2726    else                                                          \    else                                                          \
2727      {                                                           \      {                                                           \
2728        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2729        YYERROR;                                                  \        YYERROR;                                                  \
2730      }                                                           \      }                                                           \
2731  while (0)  while (YYID (0))
2732    
2733    
2734  #define YYTERROR        1  #define YYTERROR        1
2735  #define YYERRCODE       256  #define YYERRCODE       256
2736    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2737    
2738    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2739       If N is 0, then set CURRENT to the empty location which ends
2740       the previous symbol: RHS[0] (always defined).  */
2741    
2742    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2743  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2744  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2745    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2746    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2747    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2748    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2749              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2750              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2751              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2752            }                                                               \
2753          else                                                              \
2754            {                                                               \
2755              (Current).first_line   = (Current).last_line   =              \
2756                YYRHSLOC (Rhs, 0).last_line;                                \
2757              (Current).first_column = (Current).last_column =              \
2758                YYRHSLOC (Rhs, 0).last_column;                              \
2759            }                                                               \
2760        while (YYID (0))
2761  #endif  #endif
2762    
2763    
2764    /* YY_LOCATION_PRINT -- Print the location on the stream.
2765       This macro was not mandated originally: define only if we know
2766       we won't break user code: when these are the locations we know.  */
2767    
2768    #ifndef YY_LOCATION_PRINT
2769    # if YYLTYPE_IS_TRIVIAL
2770    #  define YY_LOCATION_PRINT(File, Loc)                  \
2771         fprintf (File, "%d.%d-%d.%d",                      \
2772                  (Loc).first_line, (Loc).first_column,     \
2773                  (Loc).last_line,  (Loc).last_column)
2774    # else
2775    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2776    # endif
2777    #endif
2778    
2779    
2780  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2781    
2782  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 821  while (0) Line 2797  while (0)
2797  do {                                            \  do {                                            \
2798    if (yydebug)                                  \    if (yydebug)                                  \
2799      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2800  } while (0)  } while (YYID (0))
2801    
2802  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2803  do {                                            \  do {                                                                      \
2804    if (yydebug)                                  \    if (yydebug)                                                            \
2805      yysymprint Args;                            \      {                                                                     \
2806  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2807          yy_symbol_print (stderr,                                            \
2808                      Type, Value); \
2809          YYFPRINTF (stderr, "\n");                                           \
2810        }                                                                     \
2811    } while (YYID (0))
2812    
2813  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2814  do {                                                            \  /*--------------------------------.
2815    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2816      {                                                           \  `--------------------------------*/
2817        YYFPRINTF (stderr, "%s ", Title);                         \  
2818        yysymprint (stderr,                                       \  /*ARGSUSED*/
2819                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2820        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2821      }                                                           \  static void
2822  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2823    #else
2824    static void
2825    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2826        FILE *yyoutput;
2827        int yytype;
2828        YYSTYPE const * const yyvaluep;
2829    #endif
2830    {
2831      if (!yyvaluep)
2832        return;
2833    # ifdef YYPRINT
2834      if (yytype < YYNTOKENS)
2835        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2836    # else
2837      YYUSE (yyoutput);
2838    # endif
2839      switch (yytype)
2840        {
2841          default:
2842            break;
2843        }
2844    }
2845    
2846    
2847    /*--------------------------------.
2848    | Print this symbol on YYOUTPUT.  |
2849    `--------------------------------*/
2850    
2851    #if (defined __STDC__ || defined __C99__FUNC__ \
2852         || defined __cplusplus || defined _MSC_VER)
2853    static void
2854    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2855    #else
2856    static void
2857    yy_symbol_print (yyoutput, yytype, yyvaluep)
2858        FILE *yyoutput;
2859        int yytype;
2860        YYSTYPE const * const yyvaluep;
2861    #endif
2862    {
2863      if (yytype < YYNTOKENS)
2864        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2865      else
2866        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2867    
2868      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2869      YYFPRINTF (yyoutput, ")");
2870    }
2871    
2872  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2873  | 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 |
2874  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2875  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2876    
2877  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2878         || defined __cplusplus || defined _MSC_VER)
2879  static void  static void
2880  yy_stack_print (short *bottom, short *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2881  #else  #else
2882  static void  static void
2883  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2884      short *bottom;      yytype_int16 *bottom;
2885      short *top;      yytype_int16 *top;
2886  #endif  #endif
2887  {  {
2888    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2889    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2890      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2891    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2892  }  }
# Line 865  yy_stack_print (bottom, top) Line 2895  yy_stack_print (bottom, top)
2895  do {                                                            \  do {                                                            \
2896    if (yydebug)                                                  \    if (yydebug)                                                  \
2897      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2898  } while (0)  } while (YYID (0))
2899    
2900    
2901  /*------------------------------------------------.  /*------------------------------------------------.
2902  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2903  `------------------------------------------------*/  `------------------------------------------------*/
2904    
2905  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2906         || defined __cplusplus || defined _MSC_VER)
2907  static void  static void
2908  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2909  #else  #else
2910  static void  static void
2911  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2912        YYSTYPE *yyvsp;
2913      int yyrule;      int yyrule;
2914  #endif  #endif
2915  {  {
2916      int yynrhs = yyr2[yyrule];
2917    int yyi;    int yyi;
2918    unsigned int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2919    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2920               yyrule - 1, yylineno);               yyrule - 1, yylno);
2921    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2922    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2923      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2924    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2925          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2926                           &(yyvsp[(yyi + 1) - (yynrhs)])
2927                                           );
2928          fprintf (stderr, "\n");
2929        }
2930  }  }
2931    
2932  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2933  do {                                    \  do {                                    \
2934    if (yydebug)                          \    if (yydebug)                          \
2935      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2936  } while (0)  } while (YYID (0))
2937    
2938  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2939     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2940  int yydebug;  int yydebug;
2941  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2942  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2943  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2944  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2945  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2946  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 918  int yydebug; Line 2955  int yydebug;
2955     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2956    
2957     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2958     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2959     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2960    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2961  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2962  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2963  #endif  #endif
# Line 934  int yydebug; Line 2967  int yydebug;
2967  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2968    
2969  # ifndef yystrlen  # ifndef yystrlen
2970  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2971  #   define yystrlen strlen  #   define yystrlen strlen
2972  #  else  #  else
2973  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2974    #if (defined __STDC__ || defined __C99__FUNC__ \
2975         || defined __cplusplus || defined _MSC_VER)
2976  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2977  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2978  #   else  #else
2979    static YYSIZE_T
2980  yystrlen (yystr)  yystrlen (yystr)
2981       const char *yystr;      const char *yystr;
2982  #   endif  #endif
2983  {  {
2984    register const char *yys = yystr;    YYSIZE_T yylen;
2985      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2986      continue;      continue;
2987      return yylen;
   return yys - yystr - 1;  
2988  }  }
2989  #  endif  #  endif
2990  # endif  # endif
2991    
2992  # ifndef yystpcpy  # ifndef yystpcpy
2993  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2994  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2995  #  else  #  else
2996  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2997     YYDEST.  */     YYDEST.  */
2998    #if (defined __STDC__ || defined __C99__FUNC__ \
2999         || defined __cplusplus || defined _MSC_VER)
3000  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3001  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3002  #   else  #else
3003    static char *
3004  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3005       char *yydest;      char *yydest;
3006       const char *yysrc;      const char *yysrc;
3007  #   endif  #endif
3008  {  {
3009    register char *yyd = yydest;    char *yyd = yydest;
3010    register const char *yys = yysrc;    const char *yys = yysrc;
3011    
3012    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3013      continue;      continue;
# Line 982  yystpcpy (yydest, yysrc) Line 3017  yystpcpy (yydest, yysrc)
3017  #  endif  #  endif
3018  # endif  # endif
3019    
3020  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3021    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3022       quotes and backslashes, so that it's suitable for yyerror.  The
3023       heuristic is that double-quoting is unnecessary unless the string
3024       contains an apostrophe, a comma, or backslash (other than
3025       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3026       null, do not copy; instead, return the length of what the result
3027       would have been.  */
3028    static YYSIZE_T
3029    yytnamerr (char *yyres, const char *yystr)
3030    {
3031      if (*yystr == '"')
3032        {
3033          YYSIZE_T yyn = 0;
3034          char const *yyp = yystr;
3035    
3036          for (;;)
3037            switch (*++yyp)
3038              {
3039              case '\'':
3040              case ',':
3041                goto do_not_strip_quotes;
3042    
3043              case '\\':
3044                if (*++yyp != '\\')
3045                  goto do_not_strip_quotes;
3046                /* Fall through.  */
3047              default:
3048                if (yyres)
3049                  yyres[yyn] = *yyp;
3050                yyn++;
3051                break;
3052    
3053              case '"':
3054                if (yyres)
3055                  yyres[yyn] = '\0';
3056                return yyn;
3057              }
3058        do_not_strip_quotes: ;
3059        }
3060    
3061  #if YYDEBUG    if (! yyres)
3062  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
3063    
3064  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
3065  static void  }
3066  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
3067  #else  
3068  static void  /* Copy into YYRESULT an error message about the unexpected token
3069  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3070      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
3071      int yytype;     copy anything; just return the number of bytes that would be
3072      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
3073  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3074       size calculation.  */
3075    static YYSIZE_T
3076    yysyntax_error (char *yyresult, int yystate, int yychar)
3077  {  {
3078    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3079    
3080    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3081        return 0;
3082      else
3083      {      {
3084        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
3085  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3086        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
3087          YYSIZE_T yysize1;
3088          int yysize_overflow = 0;
3089          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3090          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3091          int yyx;
3092    
3093    # if 0
3094          /* This is so xgettext sees the translatable formats that are
3095             constructed on the fly.  */
3096          YY_("syntax error, unexpected %s");
3097          YY_("syntax error, unexpected %s, expecting %s");
3098          YY_("syntax error, unexpected %s, expecting %s or %s");
3099          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3100          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3101  # endif  # endif
3102      }        char *yyfmt;
3103    else        char const *yyf;
3104      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
3105          static char const yyexpecting[] = ", expecting %s";
3106          static char const yyor[] = " or %s";
3107          char yyformat[sizeof yyunexpected
3108                        + sizeof yyexpecting - 1
3109                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3110                           * (sizeof yyor - 1))];
3111          char const *yyprefix = yyexpecting;
3112    
3113          /* Start YYX at -YYN if negative to avoid negative indexes in
3114             YYCHECK.  */
3115          int yyxbegin = yyn < 0 ? -yyn : 0;
3116    
3117          /* Stay within bounds of both yycheck and yytname.  */
3118          int yychecklim = YYLAST - yyn + 1;
3119          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3120          int yycount = 1;
3121    
3122          yyarg[0] = yytname[yytype];
3123          yyfmt = yystpcpy (yyformat, yyunexpected);
3124    
3125          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3126            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3127              {
3128                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3129                  {
3130                    yycount = 1;
3131                    yysize = yysize0;
3132                    yyformat[sizeof yyunexpected - 1] = '\0';
3133                    break;
3134                  }
3135                yyarg[yycount++] = yytname[yyx];
3136                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3137                yysize_overflow |= (yysize1 < yysize);
3138                yysize = yysize1;
3139                yyfmt = yystpcpy (yyfmt, yyprefix);
3140                yyprefix = yyor;
3141              }
3142    
3143          yyf = YY_(yyformat);
3144          yysize1 = yysize + yystrlen (yyf);
3145          yysize_overflow |= (yysize1 < yysize);
3146          yysize = yysize1;
3147    
3148    switch (yytype)        if (yysize_overflow)
3149      {          return YYSIZE_MAXIMUM;
3150        default:  
3151          break;        if (yyresult)
3152            {
3153              /* Avoid sprintf, as that infringes on the user's name space.
3154                 Don't have undefined behavior even if the translation
3155                 produced a string with the wrong number of "%s"s.  */
3156              char *yyp = yyresult;
3157              int yyi = 0;
3158              while ((*yyp = *yyf) != '\0')
3159                {
3160                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3161                    {
3162                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3163                      yyf += 2;
3164                    }
3165                  else
3166                    {
3167                      yyp++;
3168                      yyf++;
3169                    }
3170                }
3171            }
3172          return yysize;
3173      }      }
   YYFPRINTF (yyoutput, ")");  
3174  }  }
3175    #endif /* YYERROR_VERBOSE */
3176    
3177    
 #endif /* ! YYDEBUG */  
3178  /*-----------------------------------------------.  /*-----------------------------------------------.
3179  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3180  `-----------------------------------------------*/  `-----------------------------------------------*/
3181    
3182  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3183    #if (defined __STDC__ || defined __C99__FUNC__ \
3184         || defined __cplusplus || defined _MSC_VER)
3185  static void  static void
3186  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3187  #else  #else
3188  static void  static void
3189  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3190        const char *yymsg;
3191      int yytype;      int yytype;
3192      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3193  #endif  #endif
3194  {  {
3195    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3196    (void) yyvaluep;  
3197      if (!yymsg)
3198        yymsg = "Deleting";
3199      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3200    
3201    switch (yytype)    switch (yytype)
3202      {      {
3203    
3204        default:        default:
3205          break;          break;
3206      }      }
3207  }  }
3208    
# Line 1053  yydestruct (yytype, yyvaluep) Line 3210  yydestruct (yytype, yyvaluep)
3210  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3211    
3212  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3213  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3214  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3215  # else  #else
3216  int yyparse ();  int yyparse ();
3217  # endif  #endif
3218  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3219  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3220  int yyparse (void);  int yyparse (void);
3221  #else  #else
3222  int yyparse ();  int yyparse ();
# Line 1076  int yyparse (); Line 3233  int yyparse ();
3233  `----------*/  `----------*/
3234    
3235  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3236  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3237  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3238  # else  int
3239  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3240    void *YYPARSE_PARAM;  #else
3241  # endif  int
3242    yyparse (YYPARSE_PARAM)
3243        void *YYPARSE_PARAM;
3244    #endif
3245  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3246  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3247         || defined __cplusplus || defined _MSC_VER)
3248  int  int
3249  yyparse (void)  yyparse (void)
3250  #else  #else
# Line 1093  yyparse () Line 3254  yyparse ()
3254  #endif  #endif
3255  #endif  #endif
3256  {  {
3257    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3258  int yychar;  int yychar;
3259    
3260  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3261  YYSTYPE yylval;  YYSTYPE yylval;
3262    
3263  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3264  int yynerrs;  int yynerrs;
3265    
3266    register int yystate;    int yystate;
3267    register int yyn;    int yyn;
3268    int yyresult;    int yyresult;
3269    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3270    int yyerrstatus;    int yyerrstatus;
3271    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3272    int yytoken = 0;    int yytoken = 0;
3273    #if YYERROR_VERBOSE
3274      /* Buffer for error messages, and its allocated size.  */
3275      char yymsgbuf[128];
3276      char *yymsg = yymsgbuf;
3277      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3278    #endif
3279    
3280    /* Three stacks and their tools:    /* Three stacks and their tools:
3281       `yyss': related to states,       `yyss': related to states,
# Line 1119  int yynerrs; Line 3286  int yynerrs;
3286       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3287    
3288    /* The state stack.  */    /* The state stack.  */
3289    short yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3290    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3291    register short *yyssp;    yytype_int16 *yyssp;
3292    
3293    /* The semantic value stack.  */    /* The semantic value stack.  */
3294    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3295    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3296    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3297    
3298    
3299    
3300  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3301    
3302    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3303    
# Line 1139  int yynerrs; Line 3306  int yynerrs;
3306    YYSTYPE yyval;    YYSTYPE yyval;
3307    
3308    
3309    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3310       rule.  */       Keep to zero when no symbol should be popped.  */
3311    int yylen;    int yylen = 0;
3312    
3313    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3314    
# Line 1165  int yynerrs; Line 3332  int yynerrs;
3332  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3333   yynewstate:   yynewstate:
3334    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3335       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3336    yyssp++;    yyssp++;
3337    
3338   yysetstate:   yysetstate:
# Line 1179  int yynerrs; Line 3345  int yynerrs;
3345    
3346  #ifdef yyoverflow  #ifdef yyoverflow
3347        {        {
3348          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3349             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3350             memory.  */             memory.  */
3351          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3352          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3353    
3354    
3355          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3356             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
3357             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3358             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3359          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3360                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3361                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3362    
# Line 1201  int yynerrs; Line 3367  int yynerrs;
3367        }        }
3368  #else /* no yyoverflow */  #else /* no yyoverflow */
3369  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3370        goto yyoverflowlab;        goto yyexhaustedlab;
3371  # else  # else
3372        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3373        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3374          goto yyoverflowlab;          goto yyexhaustedlab;
3375        yystacksize *= 2;        yystacksize *= 2;
3376        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3377          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3378    
3379        {        {
3380          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3381          union yyalloc *yyptr =          union yyalloc *yyptr =
3382            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3383          if (! yyptr)          if (! yyptr)
3384            goto yyoverflowlab;            goto yyexhaustedlab;
3385          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3386          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3387    
# Line 1246  int yynerrs; Line 3412  int yynerrs;
3412  `-----------*/  `-----------*/
3413  yybackup:  yybackup:
3414    
3415  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3416  /* 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.  */  
3417    
3418      /* First try to decide what to do without reference to look-ahead token.  */
3419    yyn = yypact[yystate];    yyn = yypact[yystate];
3420    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3421      goto yydefault;      goto yydefault;
3422    
3423    /* 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.  */
3424    
3425    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3426    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3427      {      {
3428        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 1273  yybackup: Line 3437  yybackup:
3437    else    else
3438      {      {
3439        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3440        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3441      }      }
3442    
3443    /* 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 1293  yybackup: Line 3457  yybackup:
3457    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3458      YYACCEPT;      YYACCEPT;
3459    
   /* 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;  
   
   
3460    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3461       status.  */       status.  */
3462    if (yyerrstatus)    if (yyerrstatus)
3463      yyerrstatus--;      yyerrstatus--;
3464    
3465      /* Shift the look-ahead token.  */
3466      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3467    
3468      /* Discard the shifted token unless it is eof.  */
3469      if (yychar != YYEOF)
3470        yychar = YYEMPTY;
3471    
3472    yystate = yyn;    yystate = yyn;
3473      *++yyvsp = yylval;
3474    
3475    goto yynewstate;    goto yynewstate;
3476    
3477    
# Line 1343  yyreduce: Line 3506  yyreduce:
3506    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
3507    switch (yyn)    switch (yyn)
3508      {      {
3509          case 7:          case 4:
3510  #line 85 "lscp.y"  #line 101 "lscp.y"
3511      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
3512      break;      break;
3513    
3514    case 8:    case 5:
3515  #line 86 "lscp.y"  #line 102 "lscp.y"
3516      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { return LSCP_DONE; }
3517        break;
3518    
3519      case 6:
3520    #line 103 "lscp.y"
3521        { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3522        break;
3523    
3524      case 7:
3525    #line 104 "lscp.y"
3526        { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3527        break;
3528    
3529      case 13:
3530    #line 114 "lscp.y"
3531        { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3532      break;      break;
3533    
3534    case 14:    case 14:
3535  #line 96 "lscp.y"  #line 115 "lscp.y"
3536      { yyval.String = LSCPSERVER->AddChannel();                  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3537      break;      break;
3538    
3539    case 15:    case 15:
3540  #line 97 "lscp.y"  #line 116 "lscp.y"
3541      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3542      break;      break;
3543    
3544    case 16:    case 16:
3545  #line 98 "lscp.y"  #line 117 "lscp.y"
3546      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3547      break;      break;
3548    
3549    case 17:    case 17:
3550  #line 99 "lscp.y"  #line 118 "lscp.y"
3551      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3552      break;      break;
3553    
3554    case 18:    case 18:
3555  #line 100 "lscp.y"  #line 119 "lscp.y"
3556      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3557      break;      break;
3558    
3559    case 19:    case 19:
3560  #line 101 "lscp.y"  #line 120 "lscp.y"
3561      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3562      break;      break;
3563    
3564    case 20:    case 20:
3565  #line 102 "lscp.y"  #line 121 "lscp.y"
3566      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3567      break;      break;
3568    
3569    case 21:    case 21:
3570  #line 103 "lscp.y"  #line 122 "lscp.y"
3571      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3572      break;      break;
3573    
3574    case 22:    case 22:
3575  #line 104 "lscp.y"  #line 123 "lscp.y"
3576      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3577      break;      break;
3578    
3579    case 23:    case 23:
3580  #line 105 "lscp.y"  #line 124 "lscp.y"
3581      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3582      break;      break;
3583    
3584    case 24:    case 24:
3585  #line 106 "lscp.y"  #line 125 "lscp.y"
3586      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3587      break;      break;
3588    
3589    case 25:    case 25:
3590  #line 107 "lscp.y"  #line 126 "lscp.y"
3591      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3592      break;      break;
3593    
3594    case 26:    case 26:
3595  #line 110 "lscp.y"  #line 127 "lscp.y"
3596      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3597      break;      break;
3598    
3599    case 27:    case 27:
3600  #line 111 "lscp.y"  #line 128 "lscp.y"
3601      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3602      break;      break;
3603    
3604    case 28:    case 28:
3605  #line 112 "lscp.y"  #line 129 "lscp.y"
3606      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3607      break;      break;
3608    
3609    case 29:    case 29:
3610  #line 113 "lscp.y"  #line 130 "lscp.y"
3611      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3612      break;      break;
3613    
3614    case 30:    case 30:
3615  #line 114 "lscp.y"  #line 133 "lscp.y"
3616      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3617      break;      break;
3618    
3619    case 31:    case 31:
3620  #line 115 "lscp.y"  #line 134 "lscp.y"
3621      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3622      break;      break;
3623    
3624    case 32:    case 32:
3625  #line 118 "lscp.y"  #line 135 "lscp.y"
3626      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsFlat((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));         }
3627      break;      break;
3628    
3629    case 33:    case 33:
3630  #line 119 "lscp.y"  #line 136 "lscp.y"
3631      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsNonrecursive((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3632      break;      break;
3633    
3634    case 34:    case 34:
3635  #line 120 "lscp.y"  #line 137 "lscp.y"
3636      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));             }
3637      break;      break;
3638    
3639    case 35:    case 35:
3640  #line 121 "lscp.y"  #line 138 "lscp.y"
3641      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));          }
3642      break;      break;
3643    
3644    case 36:    case 36:
3645  #line 122 "lscp.y"  #line 139 "lscp.y"
3646      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3647      break;      break;
3648    
3649    case 37:    case 37:
3650  #line 123 "lscp.y"  #line 140 "lscp.y"
3651      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3652      break;      break;
3653    
3654    case 38:    case 38:
3655  #line 126 "lscp.y"  #line 143 "lscp.y"
3656      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3657      break;      break;
3658    
3659    case 39:    case 39:
3660  #line 127 "lscp.y"  #line 144 "lscp.y"
3661      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3662      break;      break;
3663    
3664    case 40:    case 40:
3665  #line 128 "lscp.y"  #line 145 "lscp.y"
3666      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3667      break;      break;
3668    
3669    case 41:    case 41:
3670  #line 129 "lscp.y"  #line 146 "lscp.y"
3671      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3672      break;      break;
3673    
3674    case 42:    case 42:
3675  #line 130 "lscp.y"  #line 147 "lscp.y"
3676      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3677      break;      break;
3678    
3679    case 43:    case 43:
3680  #line 131 "lscp.y"  #line 148 "lscp.y"
3681      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3682      break;      break;
3683    
3684    case 44:    case 44:
3685  #line 132 "lscp.y"  #line 149 "lscp.y"
3686      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3687      break;      break;
3688    
3689    case 45:    case 45:
3690  #line 133 "lscp.y"  #line 150 "lscp.y"
3691      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3692      break;      break;
3693    
3694    case 46:    case 46:
3695  #line 134 "lscp.y"  #line 151 "lscp.y"
3696      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3697      break;      break;
3698    
3699    case 47:    case 47:
3700  #line 135 "lscp.y"  #line 152 "lscp.y"
3701      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3702      break;      break;
3703    
3704    case 48:    case 48:
3705  #line 136 "lscp.y"  #line 153 "lscp.y"
3706      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3707      break;      break;
3708    
3709    case 49:    case 49:
3710  #line 137 "lscp.y"  #line 154 "lscp.y"
3711      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3712      break;      break;
3713    
3714    case 50:    case 50:
3715  #line 138 "lscp.y"  #line 155 "lscp.y"
3716      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3717      break;      break;
3718    
3719    case 51:    case 51:
3720  #line 139 "lscp.y"  #line 156 "lscp.y"
3721      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3722      break;      break;
3723    
3724    case 52:    case 52:
3725  #line 140 "lscp.y"  #line 157 "lscp.y"
3726      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3727      break;      break;
3728    
3729    case 53:    case 53:
3730  #line 141 "lscp.y"  #line 158 "lscp.y"
3731      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3732      break;      break;
3733    
3734    case 54:    case 54:
3735  #line 142 "lscp.y"  #line 159 "lscp.y"
3736      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3737      break;      break;
3738    
3739    case 55:    case 55:
3740  #line 143 "lscp.y"  #line 160 "lscp.y"
3741      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3742      break;      break;
3743    
3744    case 56:    case 56:
3745  #line 144 "lscp.y"  #line 161 "lscp.y"
3746      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3747      break;      break;
3748    
3749    case 57:    case 57:
3750  #line 145 "lscp.y"  #line 162 "lscp.y"
3751      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3752      break;      break;
3753    
3754    case 58:    case 58:
3755  #line 146 "lscp.y"  #line 163 "lscp.y"
3756      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3757      break;      break;
3758    
3759    case 59:    case 59:
3760  #line 147 "lscp.y"  #line 164 "lscp.y"
3761      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3762      break;      break;
3763    
3764    case 60:    case 60:
3765  #line 150 "lscp.y"  #line 167 "lscp.y"
3766      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3767      break;      break;
3768    
3769    case 61:    case 61:
3770  #line 151 "lscp.y"  #line 168 "lscp.y"
3771      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3772      break;      break;
3773    
3774    case 62:    case 62:
3775  #line 152 "lscp.y"  #line 169 "lscp.y"
3776      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3777      break;      break;
3778    
3779    case 63:    case 63:
3780  #line 153 "lscp.y"  #line 170 "lscp.y"
3781      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3782      break;      break;
3783    
3784    case 64:    case 64:
3785  #line 154 "lscp.y"  #line 171 "lscp.y"
3786      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3787      break;      break;
3788    
3789    case 65:    case 65:
3790  #line 157 "lscp.y"  #line 172 "lscp.y"
3791      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3792      break;      break;
3793    
3794    case 66:    case 66:
3795  #line 158 "lscp.y"  #line 173 "lscp.y"
3796      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3797      break;      break;
3798    
3799    case 67:    case 67:
3800  #line 159 "lscp.y"  #line 174 "lscp.y"
3801      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3802      break;      break;
3803    
3804    case 68:    case 68:
3805  #line 162 "lscp.y"  #line 175 "lscp.y"
3806      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3807      break;      break;
3808    
3809    case 69:    case 69:
3810  #line 163 "lscp.y"  #line 176 "lscp.y"
3811      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
3812      break;      break;
3813    
3814    case 70:    case 70:
3815  #line 166 "lscp.y"  #line 177 "lscp.y"
3816      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
3817      break;      break;
3818    
3819    case 71:    case 71:
3820  #line 167 "lscp.y"  #line 178 "lscp.y"
3821      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3822      break;      break;
3823    
3824    case 72:    case 72:
3825  #line 170 "lscp.y"  #line 179 "lscp.y"
3826      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3827      break;      break;
3828    
3829    case 73:    case 73:
3830  #line 171 "lscp.y"  #line 180 "lscp.y"
3831      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3832      break;      break;
3833    
3834    case 74:    case 74:
3835  #line 172 "lscp.y"  #line 181 "lscp.y"
3836      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3837      break;      break;
3838    
3839    case 75:    case 75:
3840  #line 173 "lscp.y"  #line 182 "lscp.y"
3841      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3842      break;      break;
3843    
3844    case 76:    case 76:
3845  #line 174 "lscp.y"  #line 183 "lscp.y"
3846      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3847      break;      break;
3848    
3849    case 77:    case 77:
3850  #line 175 "lscp.y"  #line 184 "lscp.y"
3851      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
3852      break;      break;
3853    
3854    case 78:    case 78:
3855  #line 178 "lscp.y"  #line 185 "lscp.y"
3856      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
3857      break;      break;
3858    
3859    case 79:    case 79:
3860  #line 179 "lscp.y"  #line 186 "lscp.y"
3861      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3862      break;      break;
3863    
3864    case 80:    case 80:
3865  #line 182 "lscp.y"  #line 187 "lscp.y"
3866      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3867      break;      break;
3868    
3869    case 81:    case 81:
3870  #line 183 "lscp.y"  #line 188 "lscp.y"
3871      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
3872      break;      break;
3873    
3874    case 82:    case 82:
3875  #line 186 "lscp.y"  #line 191 "lscp.y"
3876      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
3877      break;      break;
3878    
3879    case 83:    case 83:
3880  #line 187 "lscp.y"  #line 192 "lscp.y"
3881      { yyval.String = LSCPSERVER->GetMidiInputDevices(); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
3882      break;      break;
3883    
3884    case 84:    case 84:
3885  #line 190 "lscp.y"  #line 193 "lscp.y"
3886      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
3887      break;      break;
3888    
3889    case 85:    case 85:
3890  #line 191 "lscp.y"  #line 194 "lscp.y"
3891      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
3892      break;      break;
3893    
3894    case 86:    case 86:
3895  #line 194 "lscp.y"  #line 197 "lscp.y"
3896      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3897        break;
3898    
3899      case 87:
3900    #line 200 "lscp.y"
3901        { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
3902        break;
3903    
3904      case 88:
3905    #line 201 "lscp.y"
3906        { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
3907        break;
3908    
3909      case 89:
3910    #line 202 "lscp.y"
3911        { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
3912        break;
3913    
3914      case 90:
3915    #line 203 "lscp.y"
3916        { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
3917        break;
3918    
3919      case 91:
3920    #line 204 "lscp.y"
3921        { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
3922        break;
3923    
3924      case 92:
3925    #line 205 "lscp.y"
3926        { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
3927      break;      break;
3928    
3929    case 93:    case 93:
3930    #line 208 "lscp.y"
3931        { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3932        break;
3933    
3934      case 94:
3935    #line 209 "lscp.y"
3936        { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3937        break;
3938    
3939      case 95:
3940    #line 210 "lscp.y"
3941        { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3942        break;
3943    
3944      case 96:
3945    #line 211 "lscp.y"
3946        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3947        break;
3948    
3949      case 97:
3950    #line 212 "lscp.y"
3951        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3952        break;
3953    
3954      case 98:
3955  #line 213 "lscp.y"  #line 213 "lscp.y"
3956      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3957        break;
3958    
3959      case 99:
3960    #line 214 "lscp.y"
3961        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3962      break;      break;
3963    
3964    case 100:    case 100:
3965  #line 232 "lscp.y"  #line 215 "lscp.y"
3966      { yyval.String = yyvsp[0].String;                                             }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3967      break;      break;
3968    
3969    case 101:    case 101:
3970  #line 233 "lscp.y"  #line 216 "lscp.y"
3971      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3972      break;      break;
3973    
3974    case 102:    case 102:
3975  #line 234 "lscp.y"  #line 217 "lscp.y"
3976      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3977      break;      break;
3978    
3979    case 103:    case 103:
3980  #line 237 "lscp.y"  #line 218 "lscp.y"
3981      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3982      break;      break;
3983    
3984    case 104:    case 104:
3985    #line 219 "lscp.y"
3986        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3987        break;
3988    
3989      case 105:
3990    #line 220 "lscp.y"
3991        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3992        break;
3993    
3994      case 106:
3995    #line 221 "lscp.y"
3996        { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3997        break;
3998    
3999      case 107:
4000    #line 222 "lscp.y"
4001        { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4002        break;
4003    
4004      case 108:
4005    #line 223 "lscp.y"
4006        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4007        break;
4008    
4009      case 109:
4010    #line 224 "lscp.y"
4011        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4012        break;
4013    
4014      case 110:
4015    #line 225 "lscp.y"
4016        { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4017        break;
4018    
4019      case 111:
4020    #line 226 "lscp.y"
4021        { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4022        break;
4023    
4024      case 112:
4025    #line 227 "lscp.y"
4026        { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4027        break;
4028    
4029      case 113:
4030    #line 228 "lscp.y"
4031        { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4032        break;
4033    
4034      case 114:
4035    #line 229 "lscp.y"
4036        { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4037        break;
4038    
4039      case 115:
4040    #line 230 "lscp.y"
4041        { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4042        break;
4043    
4044      case 116:
4045    #line 231 "lscp.y"
4046        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4047        break;
4048    
4049      case 117:
4050    #line 232 "lscp.y"
4051        { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4052        break;
4053    
4054      case 118:
4055    #line 233 "lscp.y"
4056        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4057        break;
4058    
4059      case 119:
4060    #line 234 "lscp.y"
4061        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4062        break;
4063    
4064      case 120:
4065    #line 235 "lscp.y"
4066        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4067        break;
4068    
4069      case 121:
4070    #line 236 "lscp.y"
4071        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4072        break;
4073    
4074      case 122:
4075    #line 237 "lscp.y"
4076        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4077        break;
4078    
4079      case 123:
4080  #line 238 "lscp.y"  #line 238 "lscp.y"
4081      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4082      break;      break;
4083    
4084      case 124:
4085    #line 239 "lscp.y"
4086        { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4087        break;
4088    
4089      }    case 125:
4090    #line 240 "lscp.y"
4091        { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4092        break;
4093    
4094  /* Line 999 of yacc.c.  */    case 126:
4095  #line 1755 "y.tab.c"  #line 241 "lscp.y"
4096        { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String));              }
4097    yyvsp -= yylen;      break;
4098    yyssp -= yylen;  
4099      case 127:
4100    #line 242 "lscp.y"
4101        { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4102        break;
4103    
4104      case 128:
4105    #line 243 "lscp.y"
4106        { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String));                       }
4107        break;
4108    
4109      case 129:
4110    #line 244 "lscp.y"
4111        { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4112        break;
4113    
4114      case 130:
4115    #line 245 "lscp.y"
4116        { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4117        break;
4118    
4119      case 131:
4120    #line 248 "lscp.y"
4121        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4122        break;
4123    
4124      case 132:
4125    #line 249 "lscp.y"
4126        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4127        break;
4128    
4129      case 133:
4130    #line 250 "lscp.y"
4131        { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4132        break;
4133    
4134      case 134:
4135    #line 251 "lscp.y"
4136        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4137        break;
4138    
4139      case 135:
4140    #line 252 "lscp.y"
4141        { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4142        break;
4143    
4144      case 136:
4145    #line 253 "lscp.y"
4146        { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4147        break;
4148    
4149      case 137:
4150    #line 254 "lscp.y"
4151        { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4152        break;
4153    
4154      case 138:
4155    #line 255 "lscp.y"
4156        { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4157        break;
4158    
4159      case 139:
4160    #line 256 "lscp.y"
4161        { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4162        break;
4163    
4164      case 140:
4165    #line 257 "lscp.y"
4166        { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4167        break;
4168    
4169      case 141:
4170    #line 258 "lscp.y"
4171        { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4172        break;
4173    
4174      case 142:
4175    #line 259 "lscp.y"
4176        { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4177        break;
4178    
4179      case 143:
4180    #line 260 "lscp.y"
4181        { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4182        break;
4183    
4184      case 144:
4185    #line 261 "lscp.y"
4186        { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4187        break;
4188    
4189      case 145:
4190    #line 262 "lscp.y"
4191        { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4192        break;
4193    
4194      case 146:
4195    #line 263 "lscp.y"
4196        { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4197        break;
4198    
4199      case 147:
4200    #line 266 "lscp.y"
4201        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4202        break;
4203    
4204      case 148:
4205    #line 267 "lscp.y"
4206        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4207        break;
4208    
4209      case 149:
4210    #line 268 "lscp.y"
4211        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4212        break;
4213    
4214      case 150:
4215    #line 269 "lscp.y"
4216        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4217        break;
4218    
4219      case 151:
4220    #line 270 "lscp.y"
4221        { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4222        break;
4223    
4224      case 152:
4225    #line 271 "lscp.y"
4226        { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4227        break;
4228    
4229      case 153:
4230    #line 274 "lscp.y"
4231        { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4232        break;
4233    
4234      case 154:
4235    #line 277 "lscp.y"
4236        { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4237        break;
4238    
4239      case 155:
4240    #line 278 "lscp.y"
4241        { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4242        break;
4243    
4244      case 156:
4245    #line 281 "lscp.y"
4246        { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4247        break;
4248    
4249      case 157:
4250    #line 282 "lscp.y"
4251        { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4252        break;
4253    
4254      case 158:
4255    #line 285 "lscp.y"
4256        { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4257        break;
4258    
4259      case 159:
4260    #line 286 "lscp.y"
4261        { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4262        break;
4263    
4264      case 160:
4265    #line 287 "lscp.y"
4266        { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4267        break;
4268    
4269      case 161:
4270    #line 290 "lscp.y"
4271        { (yyval.String) = (yyvsp[(3) - (3)].String); }
4272        break;
4273    
4274      case 162:
4275    #line 291 "lscp.y"
4276        { (yyval.String) = (yyvsp[(3) - (3)].String); }
4277        break;
4278    
4279      case 163:
4280    #line 294 "lscp.y"
4281        { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4282        break;
4283    
4284      case 164:
4285    #line 295 "lscp.y"
4286        { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4287        break;
4288    
4289      case 165:
4290    #line 296 "lscp.y"
4291        { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4292        break;
4293    
4294      case 166:
4295    #line 297 "lscp.y"
4296        { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4297        break;
4298    
4299      case 167:
4300    #line 298 "lscp.y"
4301        { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4302        break;
4303    
4304      case 168:
4305    #line 299 "lscp.y"
4306        { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4307        break;
4308    
4309      case 169:
4310    #line 300 "lscp.y"
4311        { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4312        break;
4313    
4314      case 170:
4315    #line 301 "lscp.y"
4316        { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4317        break;
4318    
4319      case 171:
4320    #line 302 "lscp.y"
4321        { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4322        break;
4323    
4324      case 172:
4325    #line 303 "lscp.y"
4326        { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4327        break;
4328    
4329      case 173:
4330    #line 304 "lscp.y"
4331        { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4332        break;
4333    
4334      case 174:
4335    #line 305 "lscp.y"
4336        { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4337        break;
4338    
4339      case 175:
4340    #line 306 "lscp.y"
4341        { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4342        break;
4343    
4344      case 176:
4345    #line 307 "lscp.y"
4346        { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4347        break;
4348    
4349      case 177:
4350    #line 310 "lscp.y"
4351        { (yyval.Bool) = true;  }
4352        break;
4353    
4354      case 178:
4355    #line 311 "lscp.y"
4356        { (yyval.Bool) = false; }
4357        break;
4358    
4359      case 179:
4360    #line 314 "lscp.y"
4361        { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4362        break;
4363    
4364      case 180:
4365    #line 315 "lscp.y"
4366        { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4367        break;
4368    
4369      case 181:
4370    #line 318 "lscp.y"
4371        { (yyval.FillResponse) = fill_response_bytes;      }
4372        break;
4373    
4374      case 182:
4375    #line 319 "lscp.y"
4376        { (yyval.FillResponse) = fill_response_percentage; }
4377        break;
4378    
4379      case 183:
4380    #line 322 "lscp.y"
4381        { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4382        break;
4383    
4384      case 184:
4385    #line 323 "lscp.y"
4386        { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4387        break;
4388    
4389      case 185:
4390    #line 324 "lscp.y"
4391        { (yyval.String) = LSCPSERVER->ListChannels();                    }
4392        break;
4393    
4394      case 186:
4395    #line 325 "lscp.y"
4396        { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4397        break;
4398    
4399      case 187:
4400    #line 326 "lscp.y"
4401        { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4402        break;
4403    
4404      case 188:
4405    #line 327 "lscp.y"
4406        { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4407        break;
4408    
4409      case 189:
4410    #line 328 "lscp.y"
4411        { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4412        break;
4413    
4414      case 190:
4415    #line 329 "lscp.y"
4416        { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4417        break;
4418    
4419      case 191:
4420    #line 330 "lscp.y"
4421        { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4422        break;
4423    
4424      case 192:
4425    #line 331 "lscp.y"
4426        { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4427        break;
4428    
4429      case 193:
4430    #line 332 "lscp.y"
4431        { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));    }
4432        break;
4433    
4434      case 194:
4435    #line 333 "lscp.y"
4436        { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));              }
4437        break;
4438    
4439      case 195:
4440    #line 336 "lscp.y"
4441        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4442        break;
4443    
4444      case 196:
4445    #line 337 "lscp.y"
4446        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4447        break;
4448    
4449      case 197:
4450    #line 340 "lscp.y"
4451        { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4452        break;
4453    
4454      case 198:
4455    #line 343 "lscp.y"
4456        { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4457        break;
4458    
4459      case 199:
4460    #line 344 "lscp.y"
4461        { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4462        break;
4463    
4464      case 200:
4465    #line 345 "lscp.y"
4466        { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
4467        break;
4468    
4469      case 206:
4470    #line 361 "lscp.y"
4471        { (yyval.Number) = 16; }
4472        break;
4473    
4474      case 213:
4475    #line 380 "lscp.y"
4476        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4477        break;
4478    
4479      case 225:
4480    #line 414 "lscp.y"
4481        { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4482        break;
4483    
4484      case 228:
4485    #line 419 "lscp.y"
4486        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4487        break;
4488    
4489      case 229:
4490    #line 420 "lscp.y"
4491        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4492        break;
4493    
4494      case 230:
4495    #line 428 "lscp.y"
4496        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4497        break;
4498    
4499      case 231:
4500    #line 429 "lscp.y"
4501        { (yyval.Dotnum) = -1; }
4502        break;
4503    
4504      case 232:
4505    #line 432 "lscp.y"
4506        { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4507        break;
4508    
4509      case 233:
4510    #line 433 "lscp.y"
4511        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4512        break;
4513    
4514      case 234:
4515    #line 436 "lscp.y"
4516        { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4517        break;
4518    
4519      case 235:
4520    #line 437 "lscp.y"
4521        { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4522        break;
4523    
4524      case 236:
4525    #line 438 "lscp.y"
4526        { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4527        break;
4528    
4529      case 237:
4530    #line 442 "lscp.y"
4531        { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4532        break;
4533    
4534      case 238:
4535    #line 443 "lscp.y"
4536        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4537        break;
4538    
4539      case 239:
4540    #line 446 "lscp.y"
4541        { (yyval.Char) = '0'; }
4542        break;
4543    
4544      case 240:
4545    #line 447 "lscp.y"
4546        { (yyval.Char) = '1'; }
4547        break;
4548    
4549      case 241:
4550    #line 448 "lscp.y"
4551        { (yyval.Char) = '2'; }
4552        break;
4553    
4554      case 242:
4555    #line 449 "lscp.y"
4556        { (yyval.Char) = '3'; }
4557        break;
4558    
4559      case 243:
4560    #line 450 "lscp.y"
4561        { (yyval.Char) = '4'; }
4562        break;
4563    
4564      case 244:
4565    #line 451 "lscp.y"
4566        { (yyval.Char) = '5'; }
4567        break;
4568    
4569      case 245:
4570    #line 452 "lscp.y"
4571        { (yyval.Char) = '6'; }
4572        break;
4573    
4574      case 246:
4575    #line 453 "lscp.y"
4576        { (yyval.Char) = '7'; }
4577        break;
4578    
4579      case 247:
4580    #line 454 "lscp.y"
4581        { (yyval.Char) = '8'; }
4582        break;
4583    
4584      case 248:
4585    #line 455 "lscp.y"
4586        { (yyval.Char) = '9'; }
4587        break;
4588    
4589      case 249:
4590    #line 458 "lscp.y"
4591        { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4592        break;
4593    
4594      case 250:
4595    #line 459 "lscp.y"
4596        { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4597        break;
4598    
4599      case 251:
4600    #line 460 "lscp.y"
4601        { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4602        break;
4603    
4604      case 252:
4605    #line 461 "lscp.y"
4606        { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4607        break;
4608    
4609      case 253:
4610    #line 462 "lscp.y"
4611        { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4612        break;
4613    
4614      case 254:
4615    #line 463 "lscp.y"
4616        { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4617        break;
4618    
4619      case 255:
4620    #line 464 "lscp.y"
4621        { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4622        break;
4623    
4624      case 256:
4625    #line 465 "lscp.y"
4626        { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4627        break;
4628    
4629      case 257:
4630    #line 466 "lscp.y"
4631        { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4632        break;
4633    
4634      case 258:
4635    #line 467 "lscp.y"
4636        { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4637        break;
4638    
4639      case 259:
4640    #line 469 "lscp.y"
4641        { (yyval.Char) = 'A'; }
4642        break;
4643    
4644      case 260:
4645    #line 469 "lscp.y"
4646        { (yyval.Char) = 'B'; }
4647        break;
4648    
4649      case 261:
4650    #line 469 "lscp.y"
4651        { (yyval.Char) = 'C'; }
4652        break;
4653    
4654      case 262:
4655    #line 469 "lscp.y"
4656        { (yyval.Char) = 'D'; }
4657        break;
4658    
4659      case 263:
4660    #line 469 "lscp.y"
4661        { (yyval.Char) = 'E'; }
4662        break;
4663    
4664      case 264:
4665    #line 469 "lscp.y"
4666        { (yyval.Char) = 'F'; }
4667        break;
4668    
4669      case 265:
4670    #line 469 "lscp.y"
4671        { (yyval.Char) = 'G'; }
4672        break;
4673    
4674      case 266:
4675    #line 469 "lscp.y"
4676        { (yyval.Char) = 'H'; }
4677        break;
4678    
4679      case 267:
4680    #line 469 "lscp.y"
4681        { (yyval.Char) = 'I'; }
4682        break;
4683    
4684      case 268:
4685    #line 469 "lscp.y"
4686        { (yyval.Char) = 'J'; }
4687        break;
4688    
4689      case 269:
4690    #line 469 "lscp.y"
4691        { (yyval.Char) = 'K'; }
4692        break;
4693    
4694      case 270:
4695    #line 469 "lscp.y"
4696        { (yyval.Char) = 'L'; }
4697        break;
4698    
4699      case 271:
4700    #line 469 "lscp.y"
4701        { (yyval.Char) = 'M'; }
4702        break;
4703    
4704      case 272:
4705    #line 469 "lscp.y"
4706        { (yyval.Char) = 'N'; }
4707        break;
4708    
4709      case 273:
4710    #line 469 "lscp.y"
4711        { (yyval.Char) = 'O'; }
4712        break;
4713    
4714      case 274:
4715    #line 469 "lscp.y"
4716        { (yyval.Char) = 'P'; }
4717        break;
4718    
4719      case 275:
4720    #line 469 "lscp.y"
4721        { (yyval.Char) = 'Q'; }
4722        break;
4723    
4724      case 276:
4725    #line 469 "lscp.y"
4726        { (yyval.Char) = 'R'; }
4727        break;
4728    
4729      case 277:
4730    #line 469 "lscp.y"
4731        { (yyval.Char) = 'S'; }
4732        break;
4733    
4734      case 278:
4735    #line 469 "lscp.y"
4736        { (yyval.Char) = 'T'; }
4737        break;
4738    
4739      case 279:
4740    #line 469 "lscp.y"
4741        { (yyval.Char) = 'U'; }
4742        break;
4743    
4744      case 280:
4745    #line 469 "lscp.y"
4746        { (yyval.Char) = 'V'; }
4747        break;
4748    
4749      case 281:
4750    #line 469 "lscp.y"
4751        { (yyval.Char) = 'W'; }
4752        break;
4753    
4754      case 282:
4755    #line 469 "lscp.y"
4756        { (yyval.Char) = 'X'; }
4757        break;
4758    
4759      case 283:
4760    #line 469 "lscp.y"
4761        { (yyval.Char) = 'Y'; }
4762        break;
4763    
4764      case 284:
4765    #line 469 "lscp.y"
4766        { (yyval.Char) = 'Z'; }
4767        break;
4768    
4769      case 285:
4770    #line 470 "lscp.y"
4771        { (yyval.Char) = 'a'; }
4772        break;
4773    
4774      case 286:
4775    #line 470 "lscp.y"
4776        { (yyval.Char) = 'b'; }
4777        break;
4778    
4779      case 287:
4780    #line 470 "lscp.y"
4781        { (yyval.Char) = 'c'; }
4782        break;
4783    
4784      case 288:
4785    #line 470 "lscp.y"
4786        { (yyval.Char) = 'd'; }
4787        break;
4788    
4789      case 289:
4790    #line 470 "lscp.y"
4791        { (yyval.Char) = 'e'; }
4792        break;
4793    
4794      case 290:
4795    #line 470 "lscp.y"
4796        { (yyval.Char) = 'f'; }
4797        break;
4798    
4799      case 291:
4800    #line 470 "lscp.y"
4801        { (yyval.Char) = 'g'; }
4802        break;
4803    
4804      case 292:
4805    #line 470 "lscp.y"
4806        { (yyval.Char) = 'h'; }
4807        break;
4808    
4809      case 293:
4810    #line 470 "lscp.y"
4811        { (yyval.Char) = 'i'; }
4812        break;
4813    
4814      case 294:
4815    #line 470 "lscp.y"
4816        { (yyval.Char) = 'j'; }
4817        break;
4818    
4819      case 295:
4820    #line 470 "lscp.y"
4821        { (yyval.Char) = 'k'; }
4822        break;
4823    
4824      case 296:
4825    #line 470 "lscp.y"
4826        { (yyval.Char) = 'l'; }
4827        break;
4828    
4829      case 297:
4830    #line 470 "lscp.y"
4831        { (yyval.Char) = 'm'; }
4832        break;
4833    
4834      case 298:
4835    #line 470 "lscp.y"
4836        { (yyval.Char) = 'n'; }
4837        break;
4838    
4839      case 299:
4840    #line 470 "lscp.y"
4841        { (yyval.Char) = 'o'; }
4842        break;
4843    
4844      case 300:
4845    #line 470 "lscp.y"
4846        { (yyval.Char) = 'p'; }
4847        break;
4848    
4849      case 301:
4850    #line 470 "lscp.y"
4851        { (yyval.Char) = 'q'; }
4852        break;
4853    
4854      case 302:
4855    #line 470 "lscp.y"
4856        { (yyval.Char) = 'r'; }
4857        break;
4858    
4859      case 303:
4860    #line 470 "lscp.y"
4861        { (yyval.Char) = 's'; }
4862        break;
4863    
4864      case 304:
4865    #line 470 "lscp.y"
4866        { (yyval.Char) = 't'; }
4867        break;
4868    
4869      case 305:
4870    #line 470 "lscp.y"
4871        { (yyval.Char) = 'u'; }
4872        break;
4873    
4874      case 306:
4875    #line 470 "lscp.y"
4876        { (yyval.Char) = 'v'; }
4877        break;
4878    
4879      case 307:
4880    #line 470 "lscp.y"
4881        { (yyval.Char) = 'w'; }
4882        break;
4883    
4884      case 308:
4885    #line 470 "lscp.y"
4886        { (yyval.Char) = 'x'; }
4887        break;
4888    
4889      case 309:
4890    #line 470 "lscp.y"
4891        { (yyval.Char) = 'y'; }
4892        break;
4893    
4894      case 310:
4895    #line 470 "lscp.y"
4896        { (yyval.Char) = 'z'; }
4897        break;
4898    
4899      case 311:
4900    #line 471 "lscp.y"
4901        { (yyval.Char) = '0'; }
4902        break;
4903    
4904      case 312:
4905    #line 471 "lscp.y"
4906        { (yyval.Char) = '1'; }
4907        break;
4908    
4909      case 313:
4910    #line 471 "lscp.y"
4911        { (yyval.Char) = '2'; }
4912        break;
4913    
4914      case 314:
4915    #line 471 "lscp.y"
4916        { (yyval.Char) = '3'; }
4917        break;
4918    
4919      case 315:
4920    #line 471 "lscp.y"
4921        { (yyval.Char) = '4'; }
4922        break;
4923    
4924      case 316:
4925    #line 471 "lscp.y"
4926        { (yyval.Char) = '5'; }
4927        break;
4928    
4929      case 317:
4930    #line 471 "lscp.y"
4931        { (yyval.Char) = '6'; }
4932        break;
4933    
4934      case 318:
4935    #line 471 "lscp.y"
4936        { (yyval.Char) = '7'; }
4937        break;
4938    
4939      case 319:
4940    #line 471 "lscp.y"
4941        { (yyval.Char) = '8'; }
4942        break;
4943    
4944      case 320:
4945    #line 471 "lscp.y"
4946        { (yyval.Char) = '9'; }
4947        break;
4948    
4949      case 321:
4950    #line 472 "lscp.y"
4951        { (yyval.Char) = '!'; }
4952        break;
4953    
4954      case 322:
4955    #line 472 "lscp.y"
4956        { (yyval.Char) = '#'; }
4957        break;
4958    
4959      case 323:
4960    #line 472 "lscp.y"
4961        { (yyval.Char) = '$'; }
4962        break;
4963    
4964      case 324:
4965    #line 472 "lscp.y"
4966        { (yyval.Char) = '%'; }
4967        break;
4968    
4969      case 325:
4970    #line 472 "lscp.y"
4971        { (yyval.Char) = '&'; }
4972        break;
4973    
4974      case 326:
4975    #line 472 "lscp.y"
4976        { (yyval.Char) = '('; }
4977        break;
4978    
4979      case 327:
4980    #line 472 "lscp.y"
4981        { (yyval.Char) = ')'; }
4982        break;
4983    
4984      case 328:
4985    #line 472 "lscp.y"
4986        { (yyval.Char) = '*'; }
4987        break;
4988    
4989      case 329:
4990    #line 472 "lscp.y"
4991        { (yyval.Char) = '+'; }
4992        break;
4993    
4994      case 330:
4995    #line 472 "lscp.y"
4996        { (yyval.Char) = '-'; }
4997        break;
4998    
4999      case 331:
5000    #line 472 "lscp.y"
5001        { (yyval.Char) = '.'; }
5002        break;
5003    
5004      case 332:
5005    #line 472 "lscp.y"
5006        { (yyval.Char) = ','; }
5007        break;
5008    
5009      case 333:
5010    #line 472 "lscp.y"
5011        { (yyval.Char) = '/'; }
5012        break;
5013    
5014      case 334:
5015    #line 473 "lscp.y"
5016        { (yyval.Char) = ':'; }
5017        break;
5018    
5019      case 335:
5020    #line 473 "lscp.y"
5021        { (yyval.Char) = ';'; }
5022        break;
5023    
5024      case 336:
5025    #line 473 "lscp.y"
5026        { (yyval.Char) = '<'; }
5027        break;
5028    
5029      case 337:
5030    #line 473 "lscp.y"
5031        { (yyval.Char) = '='; }
5032        break;
5033    
5034      case 338:
5035    #line 473 "lscp.y"
5036        { (yyval.Char) = '>'; }
5037        break;
5038    
5039      case 339:
5040    #line 473 "lscp.y"
5041        { (yyval.Char) = '?'; }
5042        break;
5043    
5044      case 340:
5045    #line 473 "lscp.y"
5046        { (yyval.Char) = '@'; }
5047        break;
5048    
5049      case 341:
5050    #line 474 "lscp.y"
5051        { (yyval.Char) = '['; }
5052        break;
5053    
5054      case 342:
5055    #line 474 "lscp.y"
5056        { (yyval.Char) = '\\'; }
5057        break;
5058    
5059      case 343:
5060    #line 474 "lscp.y"
5061        { (yyval.Char) = ']'; }
5062        break;
5063    
5064      case 344:
5065    #line 474 "lscp.y"
5066        { (yyval.Char) = '^'; }
5067        break;
5068    
5069      case 345:
5070    #line 474 "lscp.y"
5071        { (yyval.Char) = '_'; }
5072        break;
5073    
5074      case 346:
5075    #line 475 "lscp.y"
5076        { (yyval.Char) = '{'; }
5077        break;
5078    
5079      case 347:
5080    #line 475 "lscp.y"
5081        { (yyval.Char) = '|'; }
5082        break;
5083    
5084      case 348:
5085    #line 475 "lscp.y"
5086        { (yyval.Char) = '}'; }
5087        break;
5088    
5089      case 349:
5090    #line 475 "lscp.y"
5091        { (yyval.Char) = '~'; }
5092        break;
5093    
5094      case 350:
5095    #line 476 "lscp.y"
5096        { (yyval.Char) = '\200'; }
5097        break;
5098    
5099      case 351:
5100    #line 476 "lscp.y"
5101        { (yyval.Char) = '\201'; }
5102        break;
5103    
5104      case 352:
5105    #line 476 "lscp.y"
5106        { (yyval.Char) = '\202'; }
5107        break;
5108    
5109      case 353:
5110    #line 477 "lscp.y"
5111        { (yyval.Char) = '\203'; }
5112        break;
5113    
5114      case 354:
5115    #line 477 "lscp.y"
5116        { (yyval.Char) = '\204'; }
5117        break;
5118    
5119      case 355:
5120    #line 477 "lscp.y"
5121        { (yyval.Char) = '\205'; }
5122        break;
5123    
5124      case 356:
5125    #line 478 "lscp.y"
5126        { (yyval.Char) = '\206'; }
5127        break;
5128    
5129      case 357:
5130    #line 478 "lscp.y"
5131        { (yyval.Char) = '\207'; }
5132        break;
5133    
5134      case 358:
5135    #line 478 "lscp.y"
5136        { (yyval.Char) = '\210'; }
5137        break;
5138    
5139      case 359:
5140    #line 479 "lscp.y"
5141        { (yyval.Char) = '\211'; }
5142        break;
5143    
5144      case 360:
5145    #line 479 "lscp.y"
5146        { (yyval.Char) = '\212'; }
5147        break;
5148    
5149      case 361:
5150    #line 479 "lscp.y"
5151        { (yyval.Char) = '\213'; }
5152        break;
5153    
5154      case 362:
5155    #line 480 "lscp.y"
5156        { (yyval.Char) = '\214'; }
5157        break;
5158    
5159      case 363:
5160    #line 480 "lscp.y"
5161        { (yyval.Char) = '\215'; }
5162        break;
5163    
5164      case 364:
5165    #line 480 "lscp.y"
5166        { (yyval.Char) = '\216'; }
5167        break;
5168    
5169      case 365:
5170    #line 481 "lscp.y"
5171        { (yyval.Char) = '\217'; }
5172        break;
5173    
5174      case 366:
5175    #line 481 "lscp.y"
5176        { (yyval.Char) = '\220'; }
5177        break;
5178    
5179      case 367:
5180    #line 481 "lscp.y"
5181        { (yyval.Char) = '\221'; }
5182        break;
5183    
5184      case 368:
5185    #line 482 "lscp.y"
5186        { (yyval.Char) = '\222'; }
5187        break;
5188    
5189      case 369:
5190    #line 482 "lscp.y"
5191        { (yyval.Char) = '\223'; }
5192        break;
5193    
5194      case 370:
5195    #line 482 "lscp.y"
5196        { (yyval.Char) = '\224'; }
5197        break;
5198    
5199      case 371:
5200    #line 483 "lscp.y"
5201        { (yyval.Char) = '\225'; }
5202        break;
5203    
5204      case 372:
5205    #line 483 "lscp.y"
5206        { (yyval.Char) = '\226'; }
5207        break;
5208    
5209      case 373:
5210    #line 483 "lscp.y"
5211        { (yyval.Char) = '\227'; }
5212        break;
5213    
5214      case 374:
5215    #line 484 "lscp.y"
5216        { (yyval.Char) = '\230'; }
5217        break;
5218    
5219      case 375:
5220    #line 484 "lscp.y"
5221        { (yyval.Char) = '\231'; }
5222        break;
5223    
5224      case 376:
5225    #line 484 "lscp.y"
5226        { (yyval.Char) = '\232'; }
5227        break;
5228    
5229      case 377:
5230    #line 485 "lscp.y"
5231        { (yyval.Char) = '\233'; }
5232        break;
5233    
5234      case 378:
5235    #line 485 "lscp.y"
5236        { (yyval.Char) = '\234'; }
5237        break;
5238    
5239      case 379:
5240    #line 485 "lscp.y"
5241        { (yyval.Char) = '\235'; }
5242        break;
5243    
5244      case 380:
5245    #line 486 "lscp.y"
5246        { (yyval.Char) = '\236'; }
5247        break;
5248    
5249      case 381:
5250    #line 486 "lscp.y"
5251        { (yyval.Char) = '\237'; }
5252        break;
5253    
5254      case 382:
5255    #line 486 "lscp.y"
5256        { (yyval.Char) = '\240'; }
5257        break;
5258    
5259      case 383:
5260    #line 487 "lscp.y"
5261        { (yyval.Char) = '\241'; }
5262        break;
5263    
5264      case 384:
5265    #line 487 "lscp.y"
5266        { (yyval.Char) = '\242'; }
5267        break;
5268    
5269      case 385:
5270    #line 487 "lscp.y"
5271        { (yyval.Char) = '\243'; }
5272        break;
5273    
5274      case 386:
5275    #line 488 "lscp.y"
5276        { (yyval.Char) = '\244'; }
5277        break;
5278    
5279      case 387:
5280    #line 488 "lscp.y"
5281        { (yyval.Char) = '\245'; }
5282        break;
5283    
5284      case 388:
5285    #line 488 "lscp.y"
5286        { (yyval.Char) = '\246'; }
5287        break;
5288    
5289      case 389:
5290    #line 489 "lscp.y"
5291        { (yyval.Char) = '\247'; }
5292        break;
5293    
5294      case 390:
5295    #line 489 "lscp.y"
5296        { (yyval.Char) = '\250'; }
5297        break;
5298    
5299      case 391:
5300    #line 489 "lscp.y"
5301        { (yyval.Char) = '\251'; }
5302        break;
5303    
5304      case 392:
5305    #line 490 "lscp.y"
5306        { (yyval.Char) = '\252'; }
5307        break;
5308    
5309      case 393:
5310    #line 490 "lscp.y"
5311        { (yyval.Char) = '\253'; }
5312        break;
5313    
5314      case 394:
5315    #line 490 "lscp.y"
5316        { (yyval.Char) = '\254'; }
5317        break;
5318    
5319      case 395:
5320    #line 491 "lscp.y"
5321        { (yyval.Char) = '\255'; }
5322        break;
5323    
5324      case 396:
5325    #line 491 "lscp.y"
5326        { (yyval.Char) = '\256'; }
5327        break;
5328    
5329      case 397:
5330    #line 491 "lscp.y"
5331        { (yyval.Char) = '\257'; }
5332        break;
5333    
5334      case 398:
5335    #line 492 "lscp.y"
5336        { (yyval.Char) = '\260'; }
5337        break;
5338    
5339      case 399:
5340    #line 492 "lscp.y"
5341        { (yyval.Char) = '\261'; }
5342        break;
5343    
5344      case 400:
5345    #line 492 "lscp.y"
5346        { (yyval.Char) = '\262'; }
5347        break;
5348    
5349      case 401:
5350    #line 493 "lscp.y"
5351        { (yyval.Char) = '\263'; }
5352        break;
5353    
5354      case 402:
5355    #line 493 "lscp.y"
5356        { (yyval.Char) = '\264'; }
5357        break;
5358    
5359      case 403:
5360    #line 493 "lscp.y"
5361        { (yyval.Char) = '\265'; }
5362        break;
5363    
5364      case 404:
5365    #line 494 "lscp.y"
5366        { (yyval.Char) = '\266'; }
5367        break;
5368    
5369      case 405:
5370    #line 494 "lscp.y"
5371        { (yyval.Char) = '\267'; }
5372        break;
5373    
5374      case 406:
5375    #line 494 "lscp.y"
5376        { (yyval.Char) = '\270'; }
5377        break;
5378    
5379      case 407:
5380    #line 495 "lscp.y"
5381        { (yyval.Char) = '\271'; }
5382        break;
5383    
5384      case 408:
5385    #line 495 "lscp.y"
5386        { (yyval.Char) = '\272'; }
5387        break;
5388    
5389      case 409:
5390    #line 495 "lscp.y"
5391        { (yyval.Char) = '\273'; }
5392        break;
5393    
5394      case 410:
5395    #line 496 "lscp.y"
5396        { (yyval.Char) = '\274'; }
5397        break;
5398    
5399      case 411:
5400    #line 496 "lscp.y"
5401        { (yyval.Char) = '\275'; }
5402        break;
5403    
5404      case 412:
5405    #line 496 "lscp.y"
5406        { (yyval.Char) = '\276'; }
5407        break;
5408    
5409      case 413:
5410    #line 497 "lscp.y"
5411        { (yyval.Char) = '\277'; }
5412        break;
5413    
5414      case 414:
5415    #line 497 "lscp.y"
5416        { (yyval.Char) = '\300'; }
5417        break;
5418    
5419      case 415:
5420    #line 497 "lscp.y"
5421        { (yyval.Char) = '\301'; }
5422        break;
5423    
5424      case 416:
5425    #line 498 "lscp.y"
5426        { (yyval.Char) = '\302'; }
5427        break;
5428    
5429      case 417:
5430    #line 498 "lscp.y"
5431        { (yyval.Char) = '\303'; }
5432        break;
5433    
5434      case 418:
5435    #line 498 "lscp.y"
5436        { (yyval.Char) = '\304'; }
5437        break;
5438    
5439      case 419:
5440    #line 499 "lscp.y"
5441        { (yyval.Char) = '\305'; }
5442        break;
5443    
5444      case 420:
5445    #line 499 "lscp.y"
5446        { (yyval.Char) = '\306'; }
5447        break;
5448    
5449      case 421:
5450    #line 499 "lscp.y"
5451        { (yyval.Char) = '\307'; }
5452        break;
5453    
5454      case 422:
5455    #line 500 "lscp.y"
5456        { (yyval.Char) = '\310'; }
5457        break;
5458    
5459      case 423:
5460    #line 500 "lscp.y"
5461        { (yyval.Char) = '\311'; }
5462        break;
5463    
5464      case 424:
5465    #line 500 "lscp.y"
5466        { (yyval.Char) = '\312'; }
5467        break;
5468    
5469      case 425:
5470    #line 501 "lscp.y"
5471        { (yyval.Char) = '\313'; }
5472        break;
5473    
5474      case 426:
5475    #line 501 "lscp.y"
5476        { (yyval.Char) = '\314'; }
5477        break;
5478    
5479      case 427:
5480    #line 501 "lscp.y"
5481        { (yyval.Char) = '\315'; }
5482        break;
5483    
5484      case 428:
5485    #line 502 "lscp.y"
5486        { (yyval.Char) = '\316'; }
5487        break;
5488    
5489      case 429:
5490    #line 502 "lscp.y"
5491        { (yyval.Char) = '\317'; }
5492        break;
5493    
5494      case 430:
5495    #line 502 "lscp.y"
5496        { (yyval.Char) = '\320'; }
5497        break;
5498    
5499      case 431:
5500    #line 503 "lscp.y"
5501        { (yyval.Char) = '\321'; }
5502        break;
5503    
5504      case 432:
5505    #line 503 "lscp.y"
5506        { (yyval.Char) = '\322'; }
5507        break;
5508    
5509      case 433:
5510    #line 503 "lscp.y"
5511        { (yyval.Char) = '\323'; }
5512        break;
5513    
5514      case 434:
5515    #line 504 "lscp.y"
5516        { (yyval.Char) = '\324'; }
5517        break;
5518    
5519      case 435:
5520    #line 504 "lscp.y"
5521        { (yyval.Char) = '\325'; }
5522        break;
5523    
5524      case 436:
5525    #line 504 "lscp.y"
5526        { (yyval.Char) = '\326'; }
5527        break;
5528    
5529      case 437:
5530    #line 505 "lscp.y"
5531        { (yyval.Char) = '\327'; }
5532        break;
5533    
5534      case 438:
5535    #line 505 "lscp.y"
5536        { (yyval.Char) = '\330'; }
5537        break;
5538    
5539      case 439:
5540    #line 505 "lscp.y"
5541        { (yyval.Char) = '\331'; }
5542        break;
5543    
5544      case 440:
5545    #line 506 "lscp.y"
5546        { (yyval.Char) = '\332'; }
5547        break;
5548    
5549      case 441:
5550    #line 506 "lscp.y"
5551        { (yyval.Char) = '\333'; }
5552        break;
5553    
5554      case 442:
5555    #line 506 "lscp.y"
5556        { (yyval.Char) = '\334'; }
5557        break;
5558    
5559      case 443:
5560    #line 507 "lscp.y"
5561        { (yyval.Char) = '\335'; }
5562        break;
5563    
5564      case 444:
5565    #line 507 "lscp.y"
5566        { (yyval.Char) = '\336'; }
5567        break;
5568    
5569      case 445:
5570    #line 507 "lscp.y"
5571        { (yyval.Char) = '\337'; }
5572        break;
5573    
5574      case 446:
5575    #line 508 "lscp.y"
5576        { (yyval.Char) = '\340'; }
5577        break;
5578    
5579      case 447:
5580    #line 508 "lscp.y"
5581        { (yyval.Char) = '\341'; }
5582        break;
5583    
5584      case 448:
5585    #line 508 "lscp.y"
5586        { (yyval.Char) = '\342'; }
5587        break;
5588    
5589      case 449:
5590    #line 509 "lscp.y"
5591        { (yyval.Char) = '\343'; }
5592        break;
5593    
5594      case 450:
5595    #line 509 "lscp.y"
5596        { (yyval.Char) = '\344'; }
5597        break;
5598    
5599      case 451:
5600    #line 509 "lscp.y"
5601        { (yyval.Char) = '\345'; }
5602        break;
5603    
5604      case 452:
5605    #line 510 "lscp.y"
5606        { (yyval.Char) = '\346'; }
5607        break;
5608    
5609      case 453:
5610    #line 510 "lscp.y"
5611        { (yyval.Char) = '\347'; }
5612        break;
5613    
5614      case 454:
5615    #line 510 "lscp.y"
5616        { (yyval.Char) = '\350'; }
5617        break;
5618    
5619      case 455:
5620    #line 511 "lscp.y"
5621        { (yyval.Char) = '\351'; }
5622        break;
5623    
5624      case 456:
5625    #line 511 "lscp.y"
5626        { (yyval.Char) = '\352'; }
5627        break;
5628    
5629      case 457:
5630    #line 511 "lscp.y"
5631        { (yyval.Char) = '\353'; }
5632        break;
5633    
5634      case 458:
5635    #line 512 "lscp.y"
5636        { (yyval.Char) = '\354'; }
5637        break;
5638    
5639      case 459:
5640    #line 512 "lscp.y"
5641        { (yyval.Char) = '\355'; }
5642        break;
5643    
5644      case 460:
5645    #line 512 "lscp.y"
5646        { (yyval.Char) = '\356'; }
5647        break;
5648    
5649      case 461:
5650    #line 513 "lscp.y"
5651        { (yyval.Char) = '\357'; }
5652        break;
5653    
5654      case 462:
5655    #line 513 "lscp.y"
5656        { (yyval.Char) = '\360'; }
5657        break;
5658    
5659      case 463:
5660    #line 513 "lscp.y"
5661        { (yyval.Char) = '\361'; }
5662        break;
5663    
5664      case 464:
5665    #line 514 "lscp.y"
5666        { (yyval.Char) = '\362'; }
5667        break;
5668    
5669      case 465:
5670    #line 514 "lscp.y"
5671        { (yyval.Char) = '\363'; }
5672        break;
5673    
5674      case 466:
5675    #line 514 "lscp.y"
5676        { (yyval.Char) = '\364'; }
5677        break;
5678    
5679      case 467:
5680    #line 515 "lscp.y"
5681        { (yyval.Char) = '\365'; }
5682        break;
5683    
5684      case 468:
5685    #line 515 "lscp.y"
5686        { (yyval.Char) = '\366'; }
5687        break;
5688    
5689      case 469:
5690    #line 515 "lscp.y"
5691        { (yyval.Char) = '\367'; }
5692        break;
5693    
5694      case 470:
5695    #line 516 "lscp.y"
5696        { (yyval.Char) = '\370'; }
5697        break;
5698    
5699      case 471:
5700    #line 516 "lscp.y"
5701        { (yyval.Char) = '\371'; }
5702        break;
5703    
5704      case 472:
5705    #line 516 "lscp.y"
5706        { (yyval.Char) = '\372'; }
5707        break;
5708    
5709      case 473:
5710    #line 517 "lscp.y"
5711        { (yyval.Char) = '\373'; }
5712        break;
5713    
5714      case 474:
5715    #line 517 "lscp.y"
5716        { (yyval.Char) = '\374'; }
5717        break;
5718    
5719      case 475:
5720    #line 517 "lscp.y"
5721        { (yyval.Char) = '\375'; }
5722        break;
5723    
5724      case 476:
5725    #line 518 "lscp.y"
5726        { (yyval.Char) = '\376'; }
5727        break;
5728    
5729      case 477:
5730    #line 518 "lscp.y"
5731        { (yyval.Char) = '\377'; }
5732        break;
5733    
5734      case 478:
5735    #line 521 "lscp.y"
5736        { (yyval.String) = " ";      }
5737        break;
5738    
5739      case 480:
5740    #line 523 "lscp.y"
5741        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5742        break;
5743    
5744      case 481:
5745    #line 524 "lscp.y"
5746        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5747        break;
5748    
5749      case 482:
5750    #line 527 "lscp.y"
5751        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5752        break;
5753    
5754      case 483:
5755    #line 528 "lscp.y"
5756        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5757        break;
5758    
5759    
5760    /* Line 1267 of yacc.c.  */
5761    #line 5762 "y.tab.c"
5762          default: break;
5763        }
5764      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5765    
5766      YYPOPSTACK (yylen);
5767      yylen = 0;
5768    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5769    
5770    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 1786  yyerrlab: Line 5793  yyerrlab:
5793    if (!yyerrstatus)    if (!yyerrstatus)
5794      {      {
5795        ++yynerrs;        ++yynerrs;
5796  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5797        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5798    #else
5799        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5800          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5801            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5802            int yytype = YYTRANSLATE (yychar);            {
5803            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
5804            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5805                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
5806            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);  
5807                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
5808              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5809            else              if (yymsg)
5810              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
5811          }              else
5812        else                {
5813  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
5814          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
5815                  }
5816              }
5817    
5818            if (0 < yysize && yysize <= yymsg_alloc)
5819              {
5820                (void) yysyntax_error (yymsg, yystate, yychar);
5821                yyerror (yymsg);
5822              }
5823            else
5824              {
5825                yyerror (YY_("syntax error"));
5826                if (yysize != 0)
5827                  goto yyexhaustedlab;
5828              }
5829          }
5830    #endif
5831      }      }
5832    
5833    
5834    
5835    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5836      {      {
5837        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5838           error, discard it.  */           error, discard it.  */
5839    
5840        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
5841        if (yychar == YYEOF)          {
5842          {            /* Return failure if at end of input.  */
5843            /* Pop the error token.  */            if (yychar == YYEOF)
5844            YYPOPSTACK;              YYABORT;
5845            /* Pop the rest of the stack.  */          }
5846            while (yyss < yyssp)        else
5847              {          {
5848                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5849                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5850                YYPOPSTACK;            yychar = YYEMPTY;
5851              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5852      }      }
5853    
5854    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5855       token.  */       token.  */
5856    goto yyerrlab1;    goto yyerrlab1;
5857    
5858    
5859  /*----------------------------------------------------.  /*---------------------------------------------------.
5860  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5861  `----------------------------------------------------*/  `---------------------------------------------------*/
5862    yyerrorlab:
5863    
5864      /* Pacify compilers like GCC when the user code never invokes
5865         YYERROR and the label yyerrorlab therefore never appears in user
5866         code.  */
5867      if (/*CONSTCOND*/ 0)
5868         goto yyerrorlab;
5869    
5870      /* Do not reclaim the symbols of the rule which action triggered
5871         this YYERROR.  */
5872      YYPOPSTACK (yylen);
5873      yylen = 0;
5874      YY_STACK_PRINT (yyss, yyssp);
5875      yystate = *yyssp;
5876      goto yyerrlab1;
5877    
5878    
5879    /*-------------------------------------------------------------.
5880    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5881    `-------------------------------------------------------------*/
5882  yyerrlab1:  yyerrlab1:
5883    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5884    
# Line 1893  yyerrlab1: Line 5900  yyerrlab1:
5900        if (yyssp == yyss)        if (yyssp == yyss)
5901          YYABORT;          YYABORT;
5902    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5903    
5904          yydestruct ("Error: popping",
5905                      yystos[yystate], yyvsp);
5906          YYPOPSTACK (1);
5907          yystate = *yyssp;
5908        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5909      }      }
5910    
5911    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5912      YYACCEPT;      YYACCEPT;
5913    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5914    *++yyvsp = yylval;    *++yyvsp = yylval;
5915    
5916    
5917      /* Shift the error token.  */
5918      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5919    
5920    yystate = yyn;    yystate = yyn;
5921    goto yynewstate;    goto yynewstate;
5922    
# Line 1928  yyabortlab: Line 5936  yyabortlab:
5936    goto yyreturn;    goto yyreturn;
5937    
5938  #ifndef yyoverflow  #ifndef yyoverflow
5939  /*----------------------------------------------.  /*-------------------------------------------------.
5940  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5941  `----------------------------------------------*/  `-------------------------------------------------*/
5942  yyoverflowlab:  yyexhaustedlab:
5943    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5944    yyresult = 2;    yyresult = 2;
5945    /* Fall through.  */    /* Fall through.  */
5946  #endif  #endif
5947    
5948  yyreturn:  yyreturn:
5949      if (yychar != YYEOF && yychar != YYEMPTY)
5950         yydestruct ("Cleanup: discarding lookahead",
5951                     yytoken, &yylval);
5952      /* Do not reclaim the symbols of the rule which action triggered
5953         this YYABORT or YYACCEPT.  */
5954      YYPOPSTACK (yylen);
5955      YY_STACK_PRINT (yyss, yyssp);
5956      while (yyssp != yyss)
5957        {
5958          yydestruct ("Cleanup: popping",
5959                      yystos[*yyssp], yyvsp);
5960          YYPOPSTACK (1);
5961        }
5962  #ifndef yyoverflow  #ifndef yyoverflow
5963    if (yyss != yyssa)    if (yyss != yyssa)
5964      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5965  #endif  #endif
5966    return yyresult;  #if YYERROR_VERBOSE
5967      if (yymsg != yymsgbuf)
5968        YYSTACK_FREE (yymsg);
5969    #endif
5970      /* Make sure YYID is used.  */
5971      return YYID (yyresult);
5972  }  }
5973    
5974    
5975  #line 78 "lscp.y"  #line 831 "lscp.y"
5976    
5977    
5978  /**  /**
# Line 1957  void yyerror(const char* s) { Line 5983  void yyerror(const char* s) {
5983  }  }
5984    
5985  /**  /**
5986   * Clears input buffer and restarts scanner.   * Clears input buffer.
5987   */   */
5988  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
5989      // restart scanner      bytes = 0;
5990      yyrestart(stdin, pparam->pScanner);      ptr   = 0;
     // flush input buffer  
     static char buf[1024];  
     while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0);  
     // reset lookahead symbol  
     yyclearin;  
5991  }  }
5992    
   

Legend:
Removed from v.155  
changed lines
  Added in v.1161

  ViewVC Help
Powered by ViewVC