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

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

  ViewVC Help
Powered by ViewVC