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

Legend:
Removed from v.212  
changed lines
  Added in v.1109

  ViewVC Help
Powered by ViewVC