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

Legend:
Removed from v.64  
changed lines
  Added in v.1001

  ViewVC Help
Powered by ViewVC