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

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

  ViewVC Help
Powered by ViewVC