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

Legend:
Removed from v.209  
changed lines
  Added in v.973

  ViewVC Help
Powered by ViewVC