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

Legend:
Removed from v.53  
changed lines
  Added in v.826

  ViewVC Help
Powered by ViewVC