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

Legend:
Removed from v.274  
changed lines
  Added in v.778

  ViewVC Help
Powered by ViewVC