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

Legend:
Removed from v.170  
changed lines
  Added in v.1005

  ViewVC Help
Powered by ViewVC