1 /* A Bison parser, made by GNU Bison 3.0.2. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "3.0.2"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 0
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62
63
64 /* Copy the first part of user declarations. */
65 #line 1 "pars.yacc" /* yacc.c:339 */
66
67 /*
68 * Grace - GRaphing, Advanced Computation and Exploration of data
69 *
70 * Home page: http://plasma-gate.weizmann.ac.il/Grace/
71 *
72 * Copyright (c) 1991-1995 Paul J Turner, Portland, OR
73 * Copyright (c) 1996-2003 Grace Development Team
74 *
75 * Maintained by Evgeny Stambulchik
76 *
77 *
78 * All Rights Reserved
79 *
80 * This program is free software; you can redistribute it and/or modify
81 * it under the terms of the GNU General Public License as published by
82 * the Free Software Foundation; either version 2 of the License, or
83 * (at your option) any later version.
84 *
85 * This program is distributed in the hope that it will be useful,
86 * but WITHOUT ANY WARRANTY; without even the implied warranty of
87 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
88 * GNU General Public License for more details.
89 *
90 * You should have received a copy of the GNU General Public License
91 * along with this program; if not, write to the Free Software
92 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
93 */
94
95 /*
96 *
97 * evaluate expressions, commands, parameter files
98 *
99 */
100
101 #include <config.h>
102 #include <cmath.h>
103
104 #include <stdio.h>
105 #include <stdlib.h>
106 #include <unistd.h>
107 #include <string.h>
108 #include <ctype.h>
109 #if defined(HAVE_SYS_PARAM_H)
110 # include <sys/param.h>
111 #endif
112
113 /* bison not always handles it well itself */
114 #if defined(HAVE_ALLOCA_H)
115 # include <alloca.h>
116 #endif
117
118 #include "defines.h"
119 #include "globals.h"
120 #include "cephes/cephes.h"
121 #include "device.h"
122 #include "utils.h"
123 #include "files.h"
124 #include "graphs.h"
125 #include "graphutils.h"
126 #include "plotone.h"
127 #include "dlmodule.h"
128 #include "t1fonts.h"
129 #include "ssdata.h"
130 #include "protos.h"
131 #include "parser.h"
132 #include "mathstuff.h"
133
134 #define MAX_PARS_STRING_LENGTH 4096
135
136 #define CAST_DBL_TO_BOOL(x) (fabs(x) < 0.5 ? 0:1)
137
138 typedef double (*ParserFnc)();
139
140 extern graph *g;
141
142 static double s_result; /* return value if a scalar expression is scanned*/
143 static grarr *v_result; /* return value if a vector expression is scanned*/
144
145 static int expr_parsed, vexpr_parsed;
146
147 static int interr;
148
149 static grarr freelist[100]; /* temporary vectors */
150 static int fcnt = 0; /* number of the temporary vectors allocated */
151
152 static target trgt_pool[100]; /* pool of temporary targets */
153 static int tgtn = 0; /* number of the temporary targets used */
154
155 int naxis = 0; /* current axis */
156 static int curline, curbox, curellipse, curstring;
157 /* these guys attempt to avoid reentrancy problems */
158 static int gotparams = FALSE, gotread = FALSE, gotnlfit = FALSE;
159 int readxformat;
160 static int nlfit_gno, nlfit_setno, nlfit_nsteps;
161 static double *nlfit_warray = NULL;
162
163 char batchfile[GR_MAXPATHLEN] = "",
164 paramfile[GR_MAXPATHLEN] = "",
165 readfile[GR_MAXPATHLEN] = "";
166
167 static char f_string[MAX_PARS_STRING_LENGTH]; /* buffer for string to parse */
168 static int pos;
169
170 /* the graph, set, and its length of the parser's current state */
171 static int whichgraph;
172 static int whichset;
173
174 /* the graph and set of the left part of a vector assignment */
175 static int vasgn_gno;
176 static int vasgn_setno;
177
178 static int alias_force = FALSE; /* controls whether aliases can override
179 existing keywords */
180
181 extern char print_file[];
182 extern char *close_input;
183
184 static int filltype_obs;
185
186 static int index_shift = 0; /* 0 for C, 1 for F77 index notation */
187
188 static void free_tmpvrbl(grarr *vrbl);
189 static void copy_vrbl(grarr *dest, grarr *src);
190 static int find_set_bydata(double *data, target *tgt);
191
192 static int getcharstr(void);
193 static void ungetchstr(void);
194 static int follow(int expect, int ifyes, int ifno);
195
196 static int yylex(void);
197 static int yyparse(void);
198 static void yyerror(char *s);
199
200 static int findf(symtab_entry *keytable, char *s);
201
202 /* Total (intrinsic + user-defined) list of functions and keywords */
203 symtab_entry *key;
204
205
206 #line 207 "y.tab.c" /* yacc.c:339 */
207
208 # ifndef YY_NULLPTR
209 # if defined __cplusplus && 201103L <= __cplusplus
210 # define YY_NULLPTR nullptr
211 # else
212 # define YY_NULLPTR 0
213 # endif
214 # endif
215
216 /* Enabling verbose error messages. */
217 #ifdef YYERROR_VERBOSE
218 # undef YYERROR_VERBOSE
219 # define YYERROR_VERBOSE 1
220 #else
221 # define YYERROR_VERBOSE 0
222 #endif
223
224
225 /* Debug traces. */
226 #ifndef YYDEBUG
227 # define YYDEBUG 1
228 #endif
229 #if YYDEBUG
230 extern int yydebug;
231 #endif
232
233 /* Token type. */
234 #ifndef YYTOKENTYPE
235 # define YYTOKENTYPE
236 enum yytokentype
237 {
238 KEY_VAR = 258,
239 KEY_VEC = 259,
240 KEY_CONST = 260,
241 KEY_UNIT = 261,
242 KEY_FUNC_I = 262,
243 KEY_FUNC_D = 263,
244 KEY_FUNC_NN = 264,
245 KEY_FUNC_ND = 265,
246 KEY_FUNC_DD = 266,
247 KEY_FUNC_NND = 267,
248 KEY_FUNC_PPD = 268,
249 KEY_FUNC_PPPD = 269,
250 KEY_FUNC_PPPPD = 270,
251 KEY_FUNC_PPPPPD = 271,
252 INDEX = 272,
253 DATE = 273,
254 VAR_D = 274,
255 VEC_D = 275,
256 CONSTANT = 276,
257 UCONSTANT = 277,
258 FUNC_I = 278,
259 FUNC_D = 279,
260 FUNC_NN = 280,
261 FUNC_ND = 281,
262 FUNC_DD = 282,
263 FUNC_NND = 283,
264 FUNC_PPD = 284,
265 FUNC_PPPD = 285,
266 FUNC_PPPPD = 286,
267 FUNC_PPPPPD = 287,
268 ABOVE = 288,
269 ABSOLUTE = 289,
270 ALIAS = 290,
271 ALT = 291,
272 ALTXAXIS = 292,
273 ALTYAXIS = 293,
274 ANGLE = 294,
275 ANTIALIASING = 295,
276 APPEND = 296,
277 ARRANGE = 297,
278 ARROW = 298,
279 ASCENDING = 299,
280 ASPLINE = 300,
281 AUTO = 301,
282 AUTOSCALE = 302,
283 AUTOTICKS = 303,
284 AVALUE = 304,
285 AVG = 305,
286 BACKGROUND = 306,
287 BAR = 307,
288 BARDY = 308,
289 BARDYDY = 309,
290 BASELINE = 310,
291 BATCH = 311,
292 BEGIN = 312,
293 BELOW = 313,
294 BETWEEN = 314,
295 BLACKMAN = 315,
296 BLOCK = 316,
297 BOTH = 317,
298 BOTTOM = 318,
299 BOX = 319,
300 CD = 320,
301 CENTER = 321,
302 CHAR = 322,
303 CHART = 323,
304 CHRSTR = 324,
305 CLEAR = 325,
306 CLICK = 326,
307 CLIP = 327,
308 CLOSE = 328,
309 COEFFICIENTS = 329,
310 COLOR = 330,
311 COMMENT = 331,
312 COMPLEX = 332,
313 COMPUTING = 333,
314 CONSTRAINTS = 334,
315 COPY = 335,
316 CYCLE = 336,
317 DAYMONTH = 337,
318 DAYOFWEEKL = 338,
319 DAYOFWEEKS = 339,
320 DAYOFYEAR = 340,
321 DDMMYY = 341,
322 DECIMAL = 342,
323 DEF = 343,
324 DEFAULT = 344,
325 DEFINE = 345,
326 DEGREESLAT = 346,
327 DEGREESLON = 347,
328 DEGREESMMLAT = 348,
329 DEGREESMMLON = 349,
330 DEGREESMMSSLAT = 350,
331 DEGREESMMSSLON = 351,
332 DESCENDING = 352,
333 DESCRIPTION = 353,
334 DEVICE = 354,
335 DFT = 355,
336 DIFFERENCE = 356,
337 DISK = 357,
338 DOWN = 358,
339 DPI = 359,
340 DROP = 360,
341 DROPLINE = 361,
342 ECHO = 362,
343 ELLIPSE = 363,
344 ENGINEERING = 364,
345 ERRORBAR = 365,
346 EXIT = 366,
347 EXPONENTIAL = 367,
348 FFT = 368,
349 FILEP = 369,
350 FILL = 370,
351 FIT = 371,
352 FIXED = 372,
353 FIXEDPOINT = 373,
354 FLUSH = 374,
355 FOCUS = 375,
356 FOLLOWS = 376,
357 FONTP = 377,
358 FORCE = 378,
359 FORMAT = 379,
360 FORMULA = 380,
361 FRAMEP = 381,
362 FREE = 382,
363 FREQUENCY = 383,
364 FROM = 384,
365 GENERAL = 385,
366 GETP = 386,
367 GRAPH = 387,
368 GRAPHNO = 388,
369 GRID = 389,
370 HAMMING = 390,
371 HANNING = 391,
372 HARDCOPY = 392,
373 HBAR = 393,
374 HELP = 394,
375 HGAP = 395,
376 HIDDEN = 396,
377 HISTOGRAM = 397,
378 HMS = 398,
379 HORIZI = 399,
380 HORIZONTAL = 400,
381 HORIZO = 401,
382 ID = 402,
383 IFILTER = 403,
384 IMAX = 404,
385 IMIN = 405,
386 IN = 406,
387 INCREMENT = 407,
388 INOUT = 408,
389 INT = 409,
390 INTEGRATE = 410,
391 INTERPOLATE = 411,
392 INVDFT = 412,
393 INVERT = 413,
394 INVFFT = 414,
395 JUST = 415,
396 KILL = 416,
397 LABEL = 417,
398 LANDSCAPE = 418,
399 LAYOUT = 419,
400 LEFT = 420,
401 LEGEND = 421,
402 LENGTH = 422,
403 LINCONV = 423,
404 LINE = 424,
405 LINEAR = 425,
406 LINESTYLE = 426,
407 LINEWIDTH = 427,
408 LINK = 428,
409 LOAD = 429,
410 LOCTYPE = 430,
411 LOG = 431,
412 LOGARITHMIC = 432,
413 LOGIT = 433,
414 LOGX = 434,
415 LOGXY = 435,
416 LOGY = 436,
417 MAGIC = 437,
418 MAGNITUDE = 438,
419 MAJOR = 439,
420 MAP = 440,
421 MAXP = 441,
422 MESH = 442,
423 MINP = 443,
424 MINOR = 444,
425 MMDD = 445,
426 MMDDHMS = 446,
427 MMDDYY = 447,
428 MMDDYYHMS = 448,
429 MMSSLAT = 449,
430 MMSSLON = 450,
431 MMYY = 451,
432 MONTHDAY = 452,
433 MONTHL = 453,
434 MONTHS = 454,
435 MONTHSY = 455,
436 MOVE = 456,
437 NEGATE = 457,
438 NEW = 458,
439 NONE = 459,
440 NONLFIT = 460,
441 NORMAL = 461,
442 NXY = 462,
443 OFF = 463,
444 OFFSET = 464,
445 OFFSETX = 465,
446 OFFSETY = 466,
447 OFILTER = 467,
448 ON = 468,
449 ONREAD = 469,
450 OP = 470,
451 OPPOSITE = 471,
452 OUT = 472,
453 PAGE = 473,
454 PARA = 474,
455 PARAMETERS = 475,
456 PARZEN = 476,
457 PATTERN = 477,
458 PERIOD = 478,
459 PERP = 479,
460 PHASE = 480,
461 PIE = 481,
462 PIPE = 482,
463 PLACE = 483,
464 POINT = 484,
465 POLAR = 485,
466 POLYI = 486,
467 POLYO = 487,
468 POP = 488,
469 PORTRAIT = 489,
470 POWER = 490,
471 PREC = 491,
472 PREPEND = 492,
473 PRINT = 493,
474 PS = 494,
475 PUSH = 495,
476 PUTP = 496,
477 RAND = 497,
478 READ = 498,
479 REAL = 499,
480 RECIPROCAL = 500,
481 REDRAW = 501,
482 REFERENCE = 502,
483 REGNUM = 503,
484 REGRESS = 504,
485 RESIZE = 505,
486 RESTRICT = 506,
487 REVERSE = 507,
488 RIGHT = 508,
489 RISER = 509,
490 ROT = 510,
491 ROUNDED = 511,
492 RSUM = 512,
493 RULE = 513,
494 RUNAVG = 514,
495 RUNMAX = 515,
496 RUNMED = 516,
497 RUNMIN = 517,
498 RUNSTD = 518,
499 SAVEALL = 519,
500 SCALE = 520,
501 SCIENTIFIC = 521,
502 SCROLL = 522,
503 SD = 523,
504 SET = 524,
505 SETNUM = 525,
506 SFORMAT = 526,
507 SIGN = 527,
508 SIZE = 528,
509 SKIP = 529,
510 SLEEP = 530,
511 SMITH = 531,
512 SORT = 532,
513 SOURCE = 533,
514 SPEC = 534,
515 SPLINE = 535,
516 SPLIT = 536,
517 STACK = 537,
518 STACKED = 538,
519 STACKEDBAR = 539,
520 STACKEDHBAR = 540,
521 STAGGER = 541,
522 START = 542,
523 STOP = 543,
524 STRING = 544,
525 SUM = 545,
526 SUBTITLE = 546,
527 SWAP = 547,
528 SYMBOL = 548,
529 TARGET = 549,
530 TICKLABEL = 550,
531 TICKP = 551,
532 TICKSP = 552,
533 TIMER = 553,
534 TIMESTAMP = 554,
535 TITLE = 555,
536 TO = 556,
537 TOP = 557,
538 TRIANGULAR = 558,
539 TYPE = 559,
540 UP = 560,
541 UPDATEALL = 561,
542 USE = 562,
543 VERSION = 563,
544 VERTI = 564,
545 VERTICAL = 565,
546 VERTO = 566,
547 VGAP = 567,
548 VIEW = 568,
549 VX1 = 569,
550 VX2 = 570,
551 VXMAX = 571,
552 VY1 = 572,
553 VY2 = 573,
554 VYMAX = 574,
555 WELCH = 575,
556 WITH = 576,
557 WORLD = 577,
558 WRAP = 578,
559 WRITE = 579,
560 WX1 = 580,
561 WX2 = 581,
562 WY1 = 582,
563 WY2 = 583,
564 X_TOK = 584,
565 X0 = 585,
566 X1 = 586,
567 XAXES = 587,
568 XAXIS = 588,
569 XCOR = 589,
570 XMAX = 590,
571 XMIN = 591,
572 XY = 592,
573 XYAXES = 593,
574 XYBOXPLOT = 594,
575 XYCOLOR = 595,
576 XYCOLPAT = 596,
577 XYDX = 597,
578 XYDXDX = 598,
579 XYDXDXDYDY = 599,
580 XYDXDY = 600,
581 XYDY = 601,
582 XYDYDY = 602,
583 XYHILO = 603,
584 XYR = 604,
585 XYSIZE = 605,
586 XYSTRING = 606,
587 XYVMAP = 607,
588 XYZ = 608,
589 Y_TOK = 609,
590 Y0 = 610,
591 Y1 = 611,
592 Y2 = 612,
593 Y3 = 613,
594 Y4 = 614,
595 YAXES = 615,
596 YAXIS = 616,
597 YEAR = 617,
598 YMAX = 618,
599 YMIN = 619,
600 YYMMDD = 620,
601 YYMMDDHMS = 621,
602 ZERO = 622,
603 ZNORM = 623,
604 FITPARM = 624,
605 FITPMAX = 625,
606 FITPMIN = 626,
607 NUMBER = 627,
608 NEW_TOKEN = 628,
609 OR = 629,
610 AND = 630,
611 GT = 631,
612 LT = 632,
613 LE = 633,
614 GE = 634,
615 EQ = 635,
616 NE = 636,
617 UMINUS = 637,
618 NOT = 638
619 };
620 #endif
621 /* Tokens. */
622 #define KEY_VAR 258
623 #define KEY_VEC 259
624 #define KEY_CONST 260
625 #define KEY_UNIT 261
626 #define KEY_FUNC_I 262
627 #define KEY_FUNC_D 263
628 #define KEY_FUNC_NN 264
629 #define KEY_FUNC_ND 265
630 #define KEY_FUNC_DD 266
631 #define KEY_FUNC_NND 267
632 #define KEY_FUNC_PPD 268
633 #define KEY_FUNC_PPPD 269
634 #define KEY_FUNC_PPPPD 270
635 #define KEY_FUNC_PPPPPD 271
636 #define INDEX 272
637 #define DATE 273
638 #define VAR_D 274
639 #define VEC_D 275
640 #define CONSTANT 276
641 #define UCONSTANT 277
642 #define FUNC_I 278
643 #define FUNC_D 279
644 #define FUNC_NN 280
645 #define FUNC_ND 281
646 #define FUNC_DD 282
647 #define FUNC_NND 283
648 #define FUNC_PPD 284
649 #define FUNC_PPPD 285
650 #define FUNC_PPPPD 286
651 #define FUNC_PPPPPD 287
652 #define ABOVE 288
653 #define ABSOLUTE 289
654 #define ALIAS 290
655 #define ALT 291
656 #define ALTXAXIS 292
657 #define ALTYAXIS 293
658 #define ANGLE 294
659 #define ANTIALIASING 295
660 #define APPEND 296
661 #define ARRANGE 297
662 #define ARROW 298
663 #define ASCENDING 299
664 #define ASPLINE 300
665 #define AUTO 301
666 #define AUTOSCALE 302
667 #define AUTOTICKS 303
668 #define AVALUE 304
669 #define AVG 305
670 #define BACKGROUND 306
671 #define BAR 307
672 #define BARDY 308
673 #define BARDYDY 309
674 #define BASELINE 310
675 #define BATCH 311
676 #define BEGIN 312
677 #define BELOW 313
678 #define BETWEEN 314
679 #define BLACKMAN 315
680 #define BLOCK 316
681 #define BOTH 317
682 #define BOTTOM 318
683 #define BOX 319
684 #define CD 320
685 #define CENTER 321
686 #define CHAR 322
687 #define CHART 323
688 #define CHRSTR 324
689 #define CLEAR 325
690 #define CLICK 326
691 #define CLIP 327
692 #define CLOSE 328
693 #define COEFFICIENTS 329
694 #define COLOR 330
695 #define COMMENT 331
696 #define COMPLEX 332
697 #define COMPUTING 333
698 #define CONSTRAINTS 334
699 #define COPY 335
700 #define CYCLE 336
701 #define DAYMONTH 337
702 #define DAYOFWEEKL 338
703 #define DAYOFWEEKS 339
704 #define DAYOFYEAR 340
705 #define DDMMYY 341
706 #define DECIMAL 342
707 #define DEF 343
708 #define DEFAULT 344
709 #define DEFINE 345
710 #define DEGREESLAT 346
711 #define DEGREESLON 347
712 #define DEGREESMMLAT 348
713 #define DEGREESMMLON 349
714 #define DEGREESMMSSLAT 350
715 #define DEGREESMMSSLON 351
716 #define DESCENDING 352
717 #define DESCRIPTION 353
718 #define DEVICE 354
719 #define DFT 355
720 #define DIFFERENCE 356
721 #define DISK 357
722 #define DOWN 358
723 #define DPI 359
724 #define DROP 360
725 #define DROPLINE 361
726 #define ECHO 362
727 #define ELLIPSE 363
728 #define ENGINEERING 364
729 #define ERRORBAR 365
730 #define EXIT 366
731 #define EXPONENTIAL 367
732 #define FFT 368
733 #define FILEP 369
734 #define FILL 370
735 #define FIT 371
736 #define FIXED 372
737 #define FIXEDPOINT 373
738 #define FLUSH 374
739 #define FOCUS 375
740 #define FOLLOWS 376
741 #define FONTP 377
742 #define FORCE 378
743 #define FORMAT 379
744 #define FORMULA 380
745 #define FRAMEP 381
746 #define FREE 382
747 #define FREQUENCY 383
748 #define FROM 384
749 #define GENERAL 385
750 #define GETP 386
751 #define GRAPH 387
752 #define GRAPHNO 388
753 #define GRID 389
754 #define HAMMING 390
755 #define HANNING 391
756 #define HARDCOPY 392
757 #define HBAR 393
758 #define HELP 394
759 #define HGAP 395
760 #define HIDDEN 396
761 #define HISTOGRAM 397
762 #define HMS 398
763 #define HORIZI 399
764 #define HORIZONTAL 400
765 #define HORIZO 401
766 #define ID 402
767 #define IFILTER 403
768 #define IMAX 404
769 #define IMIN 405
770 #define IN 406
771 #define INCREMENT 407
772 #define INOUT 408
773 #define INT 409
774 #define INTEGRATE 410
775 #define INTERPOLATE 411
776 #define INVDFT 412
777 #define INVERT 413
778 #define INVFFT 414
779 #define JUST 415
780 #define KILL 416
781 #define LABEL 417
782 #define LANDSCAPE 418
783 #define LAYOUT 419
784 #define LEFT 420
785 #define LEGEND 421
786 #define LENGTH 422
787 #define LINCONV 423
788 #define LINE 424
789 #define LINEAR 425
790 #define LINESTYLE 426
791 #define LINEWIDTH 427
792 #define LINK 428
793 #define LOAD 429
794 #define LOCTYPE 430
795 #define LOG 431
796 #define LOGARITHMIC 432
797 #define LOGIT 433
798 #define LOGX 434
799 #define LOGXY 435
800 #define LOGY 436
801 #define MAGIC 437
802 #define MAGNITUDE 438
803 #define MAJOR 439
804 #define MAP 440
805 #define MAXP 441
806 #define MESH 442
807 #define MINP 443
808 #define MINOR 444
809 #define MMDD 445
810 #define MMDDHMS 446
811 #define MMDDYY 447
812 #define MMDDYYHMS 448
813 #define MMSSLAT 449
814 #define MMSSLON 450
815 #define MMYY 451
816 #define MONTHDAY 452
817 #define MONTHL 453
818 #define MONTHS 454
819 #define MONTHSY 455
820 #define MOVE 456
821 #define NEGATE 457
822 #define NEW 458
823 #define NONE 459
824 #define NONLFIT 460
825 #define NORMAL 461
826 #define NXY 462
827 #define OFF 463
828 #define OFFSET 464
829 #define OFFSETX 465
830 #define OFFSETY 466
831 #define OFILTER 467
832 #define ON 468
833 #define ONREAD 469
834 #define OP 470
835 #define OPPOSITE 471
836 #define OUT 472
837 #define PAGE 473
838 #define PARA 474
839 #define PARAMETERS 475
840 #define PARZEN 476
841 #define PATTERN 477
842 #define PERIOD 478
843 #define PERP 479
844 #define PHASE 480
845 #define PIE 481
846 #define PIPE 482
847 #define PLACE 483
848 #define POINT 484
849 #define POLAR 485
850 #define POLYI 486
851 #define POLYO 487
852 #define POP 488
853 #define PORTRAIT 489
854 #define POWER 490
855 #define PREC 491
856 #define PREPEND 492
857 #define PRINT 493
858 #define PS 494
859 #define PUSH 495
860 #define PUTP 496
861 #define RAND 497
862 #define READ 498
863 #define REAL 499
864 #define RECIPROCAL 500
865 #define REDRAW 501
866 #define REFERENCE 502
867 #define REGNUM 503
868 #define REGRESS 504
869 #define RESIZE 505
870 #define RESTRICT 506
871 #define REVERSE 507
872 #define RIGHT 508
873 #define RISER 509
874 #define ROT 510
875 #define ROUNDED 511
876 #define RSUM 512
877 #define RULE 513
878 #define RUNAVG 514
879 #define RUNMAX 515
880 #define RUNMED 516
881 #define RUNMIN 517
882 #define RUNSTD 518
883 #define SAVEALL 519
884 #define SCALE 520
885 #define SCIENTIFIC 521
886 #define SCROLL 522
887 #define SD 523
888 #define SET 524
889 #define SETNUM 525
890 #define SFORMAT 526
891 #define SIGN 527
892 #define SIZE 528
893 #define SKIP 529
894 #define SLEEP 530
895 #define SMITH 531
896 #define SORT 532
897 #define SOURCE 533
898 #define SPEC 534
899 #define SPLINE 535
900 #define SPLIT 536
901 #define STACK 537
902 #define STACKED 538
903 #define STACKEDBAR 539
904 #define STACKEDHBAR 540
905 #define STAGGER 541
906 #define START 542
907 #define STOP 543
908 #define STRING 544
909 #define SUM 545
910 #define SUBTITLE 546
911 #define SWAP 547
912 #define SYMBOL 548
913 #define TARGET 549
914 #define TICKLABEL 550
915 #define TICKP 551
916 #define TICKSP 552
917 #define TIMER 553
918 #define TIMESTAMP 554
919 #define TITLE 555
920 #define TO 556
921 #define TOP 557
922 #define TRIANGULAR 558
923 #define TYPE 559
924 #define UP 560
925 #define UPDATEALL 561
926 #define USE 562
927 #define VERSION 563
928 #define VERTI 564
929 #define VERTICAL 565
930 #define VERTO 566
931 #define VGAP 567
932 #define VIEW 568
933 #define VX1 569
934 #define VX2 570
935 #define VXMAX 571
936 #define VY1 572
937 #define VY2 573
938 #define VYMAX 574
939 #define WELCH 575
940 #define WITH 576
941 #define WORLD 577
942 #define WRAP 578
943 #define WRITE 579
944 #define WX1 580
945 #define WX2 581
946 #define WY1 582
947 #define WY2 583
948 #define X_TOK 584
949 #define X0 585
950 #define X1 586
951 #define XAXES 587
952 #define XAXIS 588
953 #define XCOR 589
954 #define XMAX 590
955 #define XMIN 591
956 #define XY 592
957 #define XYAXES 593
958 #define XYBOXPLOT 594
959 #define XYCOLOR 595
960 #define XYCOLPAT 596
961 #define XYDX 597
962 #define XYDXDX 598
963 #define XYDXDXDYDY 599
964 #define XYDXDY 600
965 #define XYDY 601
966 #define XYDYDY 602
967 #define XYHILO 603
968 #define XYR 604
969 #define XYSIZE 605
970 #define XYSTRING 606
971 #define XYVMAP 607
972 #define XYZ 608
973 #define Y_TOK 609
974 #define Y0 610
975 #define Y1 611
976 #define Y2 612
977 #define Y3 613
978 #define Y4 614
979 #define YAXES 615
980 #define YAXIS 616
981 #define YEAR 617
982 #define YMAX 618
983 #define YMIN 619
984 #define YYMMDD 620
985 #define YYMMDDHMS 621
986 #define ZERO 622
987 #define ZNORM 623
988 #define FITPARM 624
989 #define FITPMAX 625
990 #define FITPMIN 626
991 #define NUMBER 627
992 #define NEW_TOKEN 628
993 #define OR 629
994 #define AND 630
995 #define GT 631
996 #define LT 632
997 #define LE 633
998 #define GE 634
999 #define EQ 635
1000 #define NE 636
1001 #define UMINUS 637
1002 #define NOT 638
1003
1004 /* Value type. */
1005 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1006 typedef union YYSTYPE YYSTYPE;
1007 union YYSTYPE
1008 {
1009 #line 142 "pars.yacc" /* yacc.c:355 */
1010
1011 int ival;
1012 double dval;
1013 char *sval;
1014 double *dptr;
1015 target *trgt;
1016 grarr *vrbl;
1017
1018 #line 1019 "y.tab.c" /* yacc.c:355 */
1019 };
1020 # define YYSTYPE_IS_TRIVIAL 1
1021 # define YYSTYPE_IS_DECLARED 1
1022 #endif
1023
1024
1025 extern YYSTYPE yylval;
1026
1027 int yyparse (void);
1028
1029
1030
1031 /* Copy the second part of user declarations. */
1032
1033 #line 1034 "y.tab.c" /* yacc.c:358 */
1034
1035 #ifdef short
1036 # undef short
1037 #endif
1038
1039 #ifdef YYTYPE_UINT8
1040 typedef YYTYPE_UINT8 yytype_uint8;
1041 #else
1042 typedef unsigned char yytype_uint8;
1043 #endif
1044
1045 #ifdef YYTYPE_INT8
1046 typedef YYTYPE_INT8 yytype_int8;
1047 #else
1048 typedef signed char yytype_int8;
1049 #endif
1050
1051 #ifdef YYTYPE_UINT16
1052 typedef YYTYPE_UINT16 yytype_uint16;
1053 #else
1054 typedef unsigned short int yytype_uint16;
1055 #endif
1056
1057 #ifdef YYTYPE_INT16
1058 typedef YYTYPE_INT16 yytype_int16;
1059 #else
1060 typedef short int yytype_int16;
1061 #endif
1062
1063 #ifndef YYSIZE_T
1064 # ifdef __SIZE_TYPE__
1065 # define YYSIZE_T __SIZE_TYPE__
1066 # elif defined size_t
1067 # define YYSIZE_T size_t
1068 # elif ! defined YYSIZE_T
1069 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1070 # define YYSIZE_T size_t
1071 # else
1072 # define YYSIZE_T unsigned int
1073 # endif
1074 #endif
1075
1076 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1077
1078 #ifndef YY_
1079 # if defined YYENABLE_NLS && YYENABLE_NLS
1080 # if ENABLE_NLS
1081 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1082 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1083 # endif
1084 # endif
1085 # ifndef YY_
1086 # define YY_(Msgid) Msgid
1087 # endif
1088 #endif
1089
1090 #ifndef YY_ATTRIBUTE
1091 # if (defined __GNUC__ \
1092 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
1093 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
1094 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
1095 # else
1096 # define YY_ATTRIBUTE(Spec) /* empty */
1097 # endif
1098 #endif
1099
1100 #ifndef YY_ATTRIBUTE_PURE
1101 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
1102 #endif
1103
1104 #ifndef YY_ATTRIBUTE_UNUSED
1105 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1106 #endif
1107
1108 #if !defined _Noreturn \
1109 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1110 # if defined _MSC_VER && 1200 <= _MSC_VER
1111 # define _Noreturn __declspec (noreturn)
1112 # else
1113 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1114 # endif
1115 #endif
1116
1117 /* Suppress unused-variable warnings by "using" E. */
1118 #if ! defined lint || defined __GNUC__
1119 # define YYUSE(E) ((void) (E))
1120 #else
1121 # define YYUSE(E) /* empty */
1122 #endif
1123
1124 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1125 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
1126 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1127 _Pragma ("GCC diagnostic push") \
1128 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1129 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1130 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1131 _Pragma ("GCC diagnostic pop")
1132 #else
1133 # define YY_INITIAL_VALUE(Value) Value
1134 #endif
1135 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1136 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1137 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
1138 #endif
1139 #ifndef YY_INITIAL_VALUE
1140 # define YY_INITIAL_VALUE(Value) /* Nothing. */
1141 #endif
1142
1143
1144 #if ! defined yyoverflow || YYERROR_VERBOSE
1145
1146 /* The parser invokes alloca or malloc; define the necessary symbols. */
1147
1148 # ifdef YYSTACK_USE_ALLOCA
1149 # if YYSTACK_USE_ALLOCA
1150 # ifdef __GNUC__
1151 # define YYSTACK_ALLOC __builtin_alloca
1152 # elif defined __BUILTIN_VA_ARG_INCR
1153 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1154 # elif defined _AIX
1155 # define YYSTACK_ALLOC __alloca
1156 # elif defined _MSC_VER
1157 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1158 # define alloca _alloca
1159 # else
1160 # define YYSTACK_ALLOC alloca
1161 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1162 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1163 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
1164 # ifndef EXIT_SUCCESS
1165 # define EXIT_SUCCESS 0
1166 # endif
1167 # endif
1168 # endif
1169 # endif
1170 # endif
1171
1172 # ifdef YYSTACK_ALLOC
1173 /* Pacify GCC's 'empty if-body' warning. */
1174 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1175 # ifndef YYSTACK_ALLOC_MAXIMUM
1176 /* The OS might guarantee only one guard page at the bottom of the stack,
1177 and a page size can be as small as 4096 bytes. So we cannot safely
1178 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1179 to allow for a few compiler-allocated temporary stack slots. */
1180 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1181 # endif
1182 # else
1183 # define YYSTACK_ALLOC YYMALLOC
1184 # define YYSTACK_FREE YYFREE
1185 # ifndef YYSTACK_ALLOC_MAXIMUM
1186 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1187 # endif
1188 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1189 && ! ((defined YYMALLOC || defined malloc) \
1190 && (defined YYFREE || defined free)))
1191 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1192 # ifndef EXIT_SUCCESS
1193 # define EXIT_SUCCESS 0
1194 # endif
1195 # endif
1196 # ifndef YYMALLOC
1197 # define YYMALLOC malloc
1198 # if ! defined malloc && ! defined EXIT_SUCCESS
1199 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1200 # endif
1201 # endif
1202 # ifndef YYFREE
1203 # define YYFREE free
1204 # if ! defined free && ! defined EXIT_SUCCESS
1205 void free (void *); /* INFRINGES ON USER NAME SPACE */
1206 # endif
1207 # endif
1208 # endif
1209 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1210
1211
1212 #if (! defined yyoverflow \
1213 && (! defined __cplusplus \
1214 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1215
1216 /* A type that is properly aligned for any stack member. */
1217 union yyalloc
1218 {
1219 yytype_int16 yyss_alloc;
1220 YYSTYPE yyvs_alloc;
1221 };
1222
1223 /* The size of the maximum gap between one aligned stack and the next. */
1224 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1225
1226 /* The size of an array large to enough to hold all stacks, each with
1227 N elements. */
1228 # define YYSTACK_BYTES(N) \
1229 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1230 + YYSTACK_GAP_MAXIMUM)
1231
1232 # define YYCOPY_NEEDED 1
1233
1234 /* Relocate STACK from its old location to the new one. The
1235 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1236 elements in the stack, and YYPTR gives the new location of the
1237 stack. Advance YYPTR to a properly aligned location for the next
1238 stack. */
1239 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1240 do \
1241 { \
1242 YYSIZE_T yynewbytes; \
1243 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1244 Stack = &yyptr->Stack_alloc; \
1245 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1246 yyptr += yynewbytes / sizeof (*yyptr); \
1247 } \
1248 while (0)
1249
1250 #endif
1251
1252 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1253 /* Copy COUNT objects from SRC to DST. The source and destination do
1254 not overlap. */
1255 # ifndef YYCOPY
1256 # if defined __GNUC__ && 1 < __GNUC__
1257 # define YYCOPY(Dst, Src, Count) \
1258 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1259 # else
1260 # define YYCOPY(Dst, Src, Count) \
1261 do \
1262 { \
1263 YYSIZE_T yyi; \
1264 for (yyi = 0; yyi < (Count); yyi++) \
1265 (Dst)[yyi] = (Src)[yyi]; \
1266 } \
1267 while (0)
1268 # endif
1269 # endif
1270 #endif /* !YYCOPY_NEEDED */
1271
1272 /* YYFINAL -- State number of the termination state. */
1273 #define YYFINAL 523
1274 /* YYLAST -- Last index in YYTABLE. */
1275 #define YYLAST 11879
1276
1277 /* YYNTOKENS -- Number of terminals. */
1278 #define YYNTOKENS 400
1279 /* YYNNTS -- Number of nonterminals. */
1280 #define YYNNTS 77
1281 /* YYNRULES -- Number of rules. */
1282 #define YYNRULES 839
1283 /* YYNSTATES -- Number of states. */
1284 #define YYNSTATES 1673
1285
1286 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1287 by yylex, with out-of-bounds checking. */
1288 #define YYUNDEFTOK 2
1289 #define YYMAXUTOK 638
1290
1291 #define YYTRANSLATE(YYX) \
1292 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1293
1294 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1295 as returned by yylex, without out-of-bounds checking. */
1296 static const yytype_uint16 yytranslate[] =
1297 {
1298 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1301 2, 2, 2, 2, 2, 2, 2, 388, 2, 2,
1302 394, 395, 386, 384, 396, 385, 392, 387, 2, 2,
1303 2, 2, 2, 2, 2, 2, 2, 2, 375, 393,
1304 2, 399, 2, 374, 2, 2, 2, 2, 2, 2,
1305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1307 2, 397, 2, 398, 391, 2, 2, 2, 2, 2,
1308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1323 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1324 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1325 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1326 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1327 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1328 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1329 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1330 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1331 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1332 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1333 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1334 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1335 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1336 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1337 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1338 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1339 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1340 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1341 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1342 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1343 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1344 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1345 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1346 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1347 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1348 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1349 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1350 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1351 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1352 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1353 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1354 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1355 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1356 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1357 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1358 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1359 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1360 365, 366, 367, 368, 369, 370, 371, 372, 373, 376,
1361 377, 378, 379, 380, 381, 382, 383, 389, 390
1362 };
1363
1364 #if YYDEBUG
1365 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1366 static const yytype_uint16 yyrline[] =
1367 {
1368 0, 623, 623, 624, 628, 635, 636, 639, 641, 642,
1369 643, 644, 645, 646, 647, 648, 649, 650, 651, 658,
1370 661, 664, 667, 670, 673, 680, 714, 722, 725, 728,
1371 731, 734, 738, 742, 746, 750, 754, 758, 762, 766,
1372 770, 774, 778, 782, 786, 789, 792, 795, 798, 801,
1373 804, 807, 810, 813, 816, 820, 827, 834, 841, 848,
1374 855, 862, 869, 876, 881, 886, 889, 892, 895, 898,
1375 901, 904, 913, 921, 932, 935, 938, 941, 944, 947,
1376 950, 953, 956, 959, 964, 967, 971, 980, 990, 999,
1377 1009, 1012, 1027, 1030, 1046, 1050, 1063, 1079, 1083, 1105,
1378 1123, 1141, 1157, 1186, 1196, 1206, 1216, 1231, 1242, 1253,
1379 1264, 1275, 1286, 1297, 1308, 1319, 1334, 1345, 1356, 1371,
1380 1382, 1393, 1408, 1419, 1430, 1449, 1464, 1479, 1499, 1514,
1381 1530, 1553, 1572, 1591, 1601, 1610, 1623, 1636, 1649, 1664,
1382 1675, 1686, 1701, 1712, 1723, 1738, 1749, 1760, 1775, 1786,
1383 1797, 1812, 1823, 1834, 1849, 1860, 1871, 1886, 1897, 1908,
1384 1923, 1934, 1945, 1955, 1965, 1978, 1982, 1986, 1990, 1994,
1385 2005, 2032, 2043, 2053, 2070, 2078, 2089, 2093, 2097, 2102,
1386 2108, 2126, 2129, 2136, 2147, 2150, 2153, 2156, 2159, 2162,
1387 2169, 2177, 2184, 2194, 2197, 2200, 2215, 2229, 2243, 2257,
1388 2272, 2276, 2279, 2282, 2285, 2288, 2291, 2294, 2297, 2301,
1389 2306, 2310, 2314, 2317, 2322, 2326, 2331, 2334, 2341, 2348,
1390 2355, 2365, 2368, 2371, 2374, 2377, 2380, 2383, 2414, 2417,
1391 2424, 2431, 2438, 2448, 2451, 2454, 2457, 2460, 2463, 2466,
1392 2497, 2500, 2507, 2514, 2521, 2531, 2534, 2537, 2540, 2543,
1393 2546, 2549, 2552, 2556, 2573, 2576, 2583, 2590, 2597, 2605,
1394 2608, 2611, 2614, 2617, 2620, 2623, 2639, 2642, 2645, 2648,
1395 2651, 2654, 2658, 2664, 2668, 2672, 2676, 2679, 2683, 2687,
1396 2690, 2694, 2702, 2715, 2725, 2728, 2738, 2746, 2753, 2760,
1397 2767, 2775, 2782, 2789, 2797, 2804, 2811, 2818, 2825, 2828,
1398 2831, 2834, 2838, 2847, 2851, 2858, 2865, 2872, 2879, 2886,
1399 2893, 2900, 2907, 2914, 2921, 2928, 2935, 2943, 2950, 2957,
1400 2965, 2972, 2979, 2986, 2993, 3000, 3007, 3015, 3024, 3027,
1401 3030, 3033, 3037, 3041, 3044, 3048, 3052, 3056, 3060, 3065,
1402 3072, 3076, 3079, 3082, 3083, 3089, 3092, 3099, 3103, 3107,
1403 3114, 3117, 3120, 3123, 3126, 3133, 3136, 3141, 3163, 3168,
1404 3176, 3183, 3188, 3200, 3203, 3206, 3209, 3213, 3218, 3223,
1405 3226, 3236, 3239, 3242, 3245, 3248, 3251, 3255, 3258, 3261,
1406 3264, 3267, 3273, 3279, 3286, 3298, 3301, 3304, 3307, 3327,
1407 3331, 3335, 3338, 3341, 3344, 3347, 3364, 3379, 3384, 3389,
1408 3394, 3397, 3400, 3408, 3413, 3417, 3421, 3425, 3438, 3441,
1409 3447, 3454, 3458, 3462, 3469, 3477, 3485, 3494, 3502, 3506,
1410 3509, 3513, 3516, 3519, 3522, 3526, 3529, 3532, 3535, 3538,
1411 3545, 3550, 3553, 3556, 3559, 3562, 3569, 3570, 3574, 3577,
1412 3581, 3584, 3587, 3590, 3593, 3596, 3599, 3602, 3605, 3608,
1413 3611, 3615, 3619, 3623, 3627, 3631, 3636, 3640, 3644, 3662,
1414 3682, 3686, 3691, 3696, 3700, 3704, 3708, 3712, 3716, 3720,
1415 3724, 3728, 3732, 3737, 3743, 3746, 3749, 3752, 3755, 3758,
1416 3761, 3764, 3767, 3770, 3773, 3777, 3782, 3790, 3797, 3804,
1417 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3822, 3829, 3836,
1418 3843, 3851, 3858, 3865, 3872, 3879, 3886, 3893, 3900, 3907,
1419 3914, 3921, 3928, 3935, 3942, 3949, 3956, 3963, 3970, 3977,
1420 3984, 3992, 4003, 4010, 4017, 4024, 4031, 4039, 4047, 4054,
1421 4061, 4068, 4075, 4084, 4091, 4098, 4105, 4112, 4119, 4126,
1422 4133, 4140, 4147, 4162, 4169, 4176, 4187, 4195, 4202, 4209,
1423 4216, 4223, 4231, 4238, 4245, 4252, 4259, 4269, 4276, 4283,
1424 4290, 4300, 4304, 4308, 4311, 4317, 4321, 4328, 4341, 4354,
1425 4367, 4383, 4384, 4388, 4389, 4390, 4391, 4395, 4396, 4397,
1426 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4410,
1427 4411, 4412, 4416, 4417, 4421, 4422, 4426, 4427, 4428, 4429,
1428 4430, 4431, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439,
1429 4440, 4441, 4442, 4443, 4444, 4448, 4449, 4450, 4451, 4452,
1430 4453, 4457, 4458, 4462, 4463, 4467, 4468, 4469, 4470, 4471,
1431 4472, 4473, 4474, 4475, 4476, 4479, 4480, 4481, 4482, 4485,
1432 4486, 4489, 4490, 4491, 4492, 4493, 4497, 4498, 4508, 4509,
1433 4510, 4513, 4514, 4515, 4518, 4519, 4520, 4521, 4522, 4523,
1434 4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532, 4533,
1435 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4543,
1436 4544, 4545, 4546, 4547, 4548, 4549, 4552, 4553, 4554, 4557,
1437 4558, 4559, 4560, 4561, 4562, 4565, 4566, 4569, 4570, 4571,
1438 4572, 4573, 4574, 4575, 4576, 4579, 4580, 4583, 4584, 4587,
1439 4588, 4589, 4590, 4594, 4595, 4599, 4600, 4601, 4605, 4606,
1440 4607, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4621, 4622,
1441 4623, 4626, 4627, 4628, 4629, 4630, 4631, 4632, 4636, 4640,
1442 4648, 4661, 4674, 4684, 4694, 4713, 4728, 4734, 4735, 4736,
1443 4741, 4753, 4756, 4759, 4763, 4766, 4771, 4773, 4775, 4777,
1444 4779, 4780, 4782, 4791, 4798, 4805, 4813, 4814, 4815, 4816,
1445 4818, 4820, 4824, 4828, 4834, 4840, 4845, 4850, 4857, 4864,
1446 4871, 4878, 4886, 4893, 4900, 4907, 4915, 4918, 4926, 4928,
1447 4931, 4935, 4936, 4937, 4938, 4943, 4944, 4954, 4968, 4972,
1448 4995, 5003, 5004, 5007, 5010, 5013, 5014, 5015, 5018, 5023,
1449 5031, 5032, 5033, 5034, 5035, 5036, 5043, 5052, 5064, 5071,
1450 5079, 5089, 5090, 5099, 5106, 5108, 5115, 5122, 5123, 5124,
1451 5131, 5153, 5154, 5155, 5158, 5164, 5165, 5166, 5167, 5168
1452 };
1453 #endif
1454
1455 #if YYDEBUG || YYERROR_VERBOSE || 0
1456 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1457 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1458 static const char *const yytname[] =
1459 {
1460 "$end", "error", "$undefined", "KEY_VAR", "KEY_VEC", "KEY_CONST",
1461 "KEY_UNIT", "KEY_FUNC_I", "KEY_FUNC_D", "KEY_FUNC_NN", "KEY_FUNC_ND",
1462 "KEY_FUNC_DD", "KEY_FUNC_NND", "KEY_FUNC_PPD", "KEY_FUNC_PPPD",
1463 "KEY_FUNC_PPPPD", "KEY_FUNC_PPPPPD", "INDEX", "DATE", "VAR_D", "VEC_D",
1464 "CONSTANT", "UCONSTANT", "FUNC_I", "FUNC_D", "FUNC_NN", "FUNC_ND",
1465 "FUNC_DD", "FUNC_NND", "FUNC_PPD", "FUNC_PPPD", "FUNC_PPPPD",
1466 "FUNC_PPPPPD", "ABOVE", "ABSOLUTE", "ALIAS", "ALT", "ALTXAXIS",
1467 "ALTYAXIS", "ANGLE", "ANTIALIASING", "APPEND", "ARRANGE", "ARROW",
1468 "ASCENDING", "ASPLINE", "AUTO", "AUTOSCALE", "AUTOTICKS", "AVALUE",
1469 "AVG", "BACKGROUND", "BAR", "BARDY", "BARDYDY", "BASELINE", "BATCH",
1470 "BEGIN", "BELOW", "BETWEEN", "BLACKMAN", "BLOCK", "BOTH", "BOTTOM",
1471 "BOX", "CD", "CENTER", "CHAR", "CHART", "CHRSTR", "CLEAR", "CLICK",
1472 "CLIP", "CLOSE", "COEFFICIENTS", "COLOR", "COMMENT", "COMPLEX",
1473 "COMPUTING", "CONSTRAINTS", "COPY", "CYCLE", "DAYMONTH", "DAYOFWEEKL",
1474 "DAYOFWEEKS", "DAYOFYEAR", "DDMMYY", "DECIMAL", "DEF", "DEFAULT",
1475 "DEFINE", "DEGREESLAT", "DEGREESLON", "DEGREESMMLAT", "DEGREESMMLON",
1476 "DEGREESMMSSLAT", "DEGREESMMSSLON", "DESCENDING", "DESCRIPTION",
1477 "DEVICE", "DFT", "DIFFERENCE", "DISK", "DOWN", "DPI", "DROP", "DROPLINE",
1478 "ECHO", "ELLIPSE", "ENGINEERING", "ERRORBAR", "EXIT", "EXPONENTIAL",
1479 "FFT", "FILEP", "FILL", "FIT", "FIXED", "FIXEDPOINT", "FLUSH", "FOCUS",
1480 "FOLLOWS", "FONTP", "FORCE", "FORMAT", "FORMULA", "FRAMEP", "FREE",
1481 "FREQUENCY", "FROM", "GENERAL", "GETP", "GRAPH", "GRAPHNO", "GRID",
1482 "HAMMING", "HANNING", "HARDCOPY", "HBAR", "HELP", "HGAP", "HIDDEN",
1483 "HISTOGRAM", "HMS", "HORIZI", "HORIZONTAL", "HORIZO", "ID", "IFILTER",
1484 "IMAX", "IMIN", "IN", "INCREMENT", "INOUT", "INT", "INTEGRATE",
1485 "INTERPOLATE", "INVDFT", "INVERT", "INVFFT", "JUST", "KILL", "LABEL",
1486 "LANDSCAPE", "LAYOUT", "LEFT", "LEGEND", "LENGTH", "LINCONV", "LINE",
1487 "LINEAR", "LINESTYLE", "LINEWIDTH", "LINK", "LOAD", "LOCTYPE", "LOG",
1488 "LOGARITHMIC", "LOGIT", "LOGX", "LOGXY", "LOGY", "MAGIC", "MAGNITUDE",
1489 "MAJOR", "MAP", "MAXP", "MESH", "MINP", "MINOR", "MMDD", "MMDDHMS",
1490 "MMDDYY", "MMDDYYHMS", "MMSSLAT", "MMSSLON", "MMYY", "MONTHDAY",
1491 "MONTHL", "MONTHS", "MONTHSY", "MOVE", "NEGATE", "NEW", "NONE",
1492 "NONLFIT", "NORMAL", "NXY", "OFF", "OFFSET", "OFFSETX", "OFFSETY",
1493 "OFILTER", "ON", "ONREAD", "OP", "OPPOSITE", "OUT", "PAGE", "PARA",
1494 "PARAMETERS", "PARZEN", "PATTERN", "PERIOD", "PERP", "PHASE", "PIE",
1495 "PIPE", "PLACE", "POINT", "POLAR", "POLYI", "POLYO", "POP", "PORTRAIT",
1496 "POWER", "PREC", "PREPEND", "PRINT", "PS", "PUSH", "PUTP", "RAND",
1497 "READ", "REAL", "RECIPROCAL", "REDRAW", "REFERENCE", "REGNUM", "REGRESS",
1498 "RESIZE", "RESTRICT", "REVERSE", "RIGHT", "RISER", "ROT", "ROUNDED",
1499 "RSUM", "RULE", "RUNAVG", "RUNMAX", "RUNMED", "RUNMIN", "RUNSTD",
1500 "SAVEALL", "SCALE", "SCIENTIFIC", "SCROLL", "SD", "SET", "SETNUM",
1501 "SFORMAT", "SIGN", "SIZE", "SKIP", "SLEEP", "SMITH", "SORT", "SOURCE",
1502 "SPEC", "SPLINE", "SPLIT", "STACK", "STACKED", "STACKEDBAR",
1503 "STACKEDHBAR", "STAGGER", "START", "STOP", "STRING", "SUM", "SUBTITLE",
1504 "SWAP", "SYMBOL", "TARGET", "TICKLABEL", "TICKP", "TICKSP", "TIMER",
1505 "TIMESTAMP", "TITLE", "TO", "TOP", "TRIANGULAR", "TYPE", "UP",
1506 "UPDATEALL", "USE", "VERSION", "VERTI", "VERTICAL", "VERTO", "VGAP",
1507 "VIEW", "VX1", "VX2", "VXMAX", "VY1", "VY2", "VYMAX", "WELCH", "WITH",
1508 "WORLD", "WRAP", "WRITE", "WX1", "WX2", "WY1", "WY2", "X_TOK", "X0",
1509 "X1", "XAXES", "XAXIS", "XCOR", "XMAX", "XMIN", "XY", "XYAXES",
1510 "XYBOXPLOT", "XYCOLOR", "XYCOLPAT", "XYDX", "XYDXDX", "XYDXDXDYDY",
1511 "XYDXDY", "XYDY", "XYDYDY", "XYHILO", "XYR", "XYSIZE", "XYSTRING",
1512 "XYVMAP", "XYZ", "Y_TOK", "Y0", "Y1", "Y2", "Y3", "Y4", "YAXES", "YAXIS",
1513 "YEAR", "YMAX", "YMIN", "YYMMDD", "YYMMDDHMS", "ZERO", "ZNORM",
1514 "FITPARM", "FITPMAX", "FITPMIN", "NUMBER", "NEW_TOKEN", "'?'", "':'",
1515 "OR", "AND", "GT", "LT", "LE", "GE", "EQ", "NE", "'+'", "'-'", "'*'",
1516 "'/'", "'%'", "UMINUS", "NOT", "'^'", "'.'", "';'", "'('", "')'", "','",
1517 "'['", "']'", "'='", "$accept", "full_list", "multi_list", "list",
1518 "expr", "sexpr", "iexpr", "nexpr", "indx", "jdate", "jrawdate", "array",
1519 "vexpr", "asgn", "lside_array", "vasgn", "defines", "regionset",
1520 "parmset", "actions", "options", "set_setprop", "setprop", "axisfeature",
1521 "tickattr", "ticklabelattr", "axislabeldesc", "axisbardesc",
1522 "nonlfitopts", "selectgraph", "selectset", "setaxis", "axis", "proctype",
1523 "tickspectype", "filtertype", "filtermethod", "xytype", "graphtype",
1524 "pagelayout", "pageorient", "regiontype", "scaletype", "onoff",
1525 "runtype", "sourcetype", "justchoice", "inoutchoice", "formatchoice",
1526 "signchoice", "direction", "worldview", "datacolumn", "sortdir",
1527 "sorton", "ffttype", "fourierdata", "fourierloadx", "fourierloady",
1528 "windowtype", "interpmethod", "stattype", "font_select", "lines_select",
1529 "pattern_select", "color_select", "linew_select", "opchoice_sel",
1530 "opchoice", "parmset_obs", "axislabeldesc_obs", "setprop_obs",
1531 "tickattr_obs", "ticklabelattr_obs", "colpat_obs", "opchoice_sel_obs",
1532 "opchoice_obs", YY_NULLPTR
1533 };
1534 #endif
1535
1536 # ifdef YYPRINT
1537 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1538 (internal) symbol number NUM (which must be that of a token). */
1539 static const yytype_uint16 yytoknum[] =
1540 {
1541 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1542 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1543 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1544 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1545 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1546 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1547 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1548 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1549 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1550 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1551 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1552 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1553 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1554 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1555 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1556 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1557 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1558 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1559 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1560 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1561 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1562 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1563 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1564 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1565 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1566 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1567 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1568 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1569 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1570 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1571 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1572 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1573 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1574 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1575 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1576 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1577 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1578 625, 626, 627, 628, 63, 58, 629, 630, 631, 632,
1579 633, 634, 635, 636, 43, 45, 42, 47, 37, 637,
1580 638, 94, 46, 59, 40, 41, 44, 91, 93, 61
1581 };
1582 # endif
1583
1584 #define YYPACT_NINF -900
1585
1586 #define yypact_value_is_default(Yystate) \
1587 (!!((Yystate) == (-900)))
1588
1589 #define YYTABLE_NINF -171
1590
1591 #define yytable_value_is_error(Yytable_value) \
1592 (!!((Yytable_value) == (-171)))
1593
1594 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1595 STATE-NUM. */
1596 static const yytype_int16 yypact[] =
1597 {
1598 3356, -900, -289, -319, -53, -900, -274, -264, -256, -248,
1599 -241, -234, -197, -160, -124, -87, 20, -900, -900, 315,
1600 -80, 92, 79, -900, -900, 271, 7045, 5886, 289, 97,
1601 289, 315, -900, 295, -13, 289, 289, -900, -30, 9479,
1602 6077, -19, -900, -71, -900, 493, 11486, 202, 289, -16,
1603 -900, 270, 289, -11, -900, -900, -3, 3, 14, -900,
1604 -900, -39, 4977, 19, 6268, -144, 289, -32, -900, 25,
1605 -900, 315, 259, 31, 5250, -900, 93, 254, -900, 289,
1606 34, 4286, -900, 413, -50, 39, 43, 315, 44, -900,
1607 -900, -900, -900, -900, 289, -900, -16, -900, 10864, 315,
1608 -58, 315, 9711, 5506, -900, 111, 315, 315, 10864, 6459,
1609 169, 7045, -900, 289, 10864, 7521, -900, -900, -900, -900,
1610 -900, -900, 679, 7802, 315, -900, -900, -900, -900, -900,
1611 -900, -93, -900, 46, -900, -900, -900, -900, -900, -900,
1612 -89, -900, 10864, -64, 47, 50, -900, 10864, 8179, 8179,
1613 8179, 444, 71, -900, 3199, 4, 4936, -900, 69, -900,
1614 -900, -900, -900, -900, -900, -900, -900, 6947, 11479, -900,
1615 -7, 78, -900, 80, 82, -900, -900, -166, 9479, 10864,
1616 10864, 8179, 8179, 10864, 10864, 8179, 10864, 10864, 10864, 10864,
1617 10864, -900, 60, -60, 86, 180, 10864, 60, -48, -900,
1618 -900, -900, 9856, -900, -900, -900, -900, -900, -900, -900,
1619 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1620 -900, -900, -900, 289, 88, -900, -900, 89, 91, 109,
1621 110, 114, 120, 121, 122, 124, -900, 194, 10864, 10864,
1622 -27, -900, -900, -900, -900, -900, -900, 10864, 10864, 10864,
1623 370, -291, 149, 151, -900, -900, -900, -900, 176, -900,
1624 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1625 176, 275, 304, 8578, 10864, 289, 305, -900, -900, -900,
1626 -900, -900, -900, -900, 183, 289, 176, -81, 315, 5319,
1627 176, 149, -900, 194, -27, 458, 149, -900, -900, -900,
1628 -900, 10864, 289, 10864, 289, 10864, -900, -900, -900, -900,
1629 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1630 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1631 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1632 -900, -900, -900, -900, -900, -4, 60, 10864, -900, -900,
1633 -900, -900, -900, 176, 10864, -900, 9479, 176, 315, 8179,
1634 315, 315, -900, -900, 86, 322, 685, 316, 9479, 10864,
1635 60, 10864, 10864, -27, 10864, 10864, 10864, 10864, 633, -900,
1636 -900, -900, -900, -900, 315, 7947, -900, -27, 742, 149,
1637 -900, -900, -900, -900, 60, 296, 176, 10864, 10864, 10864,
1638 297, 289, 315, 475, -900, -900, 10864, 273, -900, -900,
1639 10864, -900, 10864, 11009, -900, 5319, -900, -900, -900, 9,
1640 8725, -900, 176, 10864, 289, 75, 75, 176, 75, 9479,
1641 10864, 134, 10864, 315, -900, -900, -900, -900, 315, 315,
1642 -900, 8179, 176, -900, 5319, -262, -900, -900, -900, 10864,
1643 10864, -900, 328, 289, 10864, -27, 10864, 831, 149, -900,
1644 -900, -900, -900, 10864, 176, -900, -900, -900, 225, -900,
1645 -900, 334, 289, 10864, 864, -900, -900, -900, -900, 10864,
1646 176, -900, -900, -900, -900, -285, -900, 10864, 10864, 10864,
1647 10864, 920, 10864, 10864, 10864, 10864, 86, -900, 10864, 10864,
1648 10864, 10864, 1126, -41, 60, 148, 315, 60, 148, 5319,
1649 60, 10864, 10864, 10864, 218, 219, 227, -82, 230, 227,
1650 230, 5995, 6185, -900, 3718, -900, 10864, 8179, 8179, 8179,
1651 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179,
1652 8179, 445, 10864, 229, -900, 8179, 8179, 8179, 8179, 8179,
1653 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179, 8179,
1654 8179, 326, 491, -72, 60, 60, 60, 45, 556, -7,
1655 -900, 828, -129, 289, 10864, 60, 1949, 7111, 60, 289,
1656 10864, 36, 278, 10864, 10864, 5697, 7045, 10864, 166, -900,
1657 -900, -900, -900, 402, 730, 10864, 4436, 4749, 265, -900,
1658 -900, 315, 315, 8179, 10864, -900, 6377, 176, 247, 245,
1659 5319, -900, 3199, 250, 7669, 8010, 8407, 255, 256, 1327,
1660 1372, 257, 1398, 1436, 1463, 1519, -900, 9479, 176, 54,
1661 315, 260, -900, -900, -900, -900, -900, 10864, 176, -900,
1662 176, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
1663 9856, -900, 10864, -900, -900, -900, -900, 5319, -900, -900,
1664 -900, 218, 218, 8430, 10864, 10864, 10864, 10864, 10864, 10864,
1665 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, -900,
1666 315, 10864, 10864, 176, -900, -900, 176, 10864, 4035, -156,
1667 10864, 6, 289, 377, 261, -900, -900, -900, -900, 10864,
1668 263, 176, 5319, 176, 441, -900, -900, -900, -900, 264,
1669 5319, 176, 267, 3199, 1580, 284, 287, -900, -54, -900,
1670 -900, -900, -900, -900, 10864, -900, -900, 5319, -900, -900,
1671 289, -900, 5319, 5319, 10864, 288, 10864, 10864, 10864, 10864,
1672 -900, -900, 10864, -900, -33, 379, 384, 1604, 291, 315,
1673 176, 292, 60, 7907, -900, -900, -900, -900, -900, -900,
1674 -900, 293, 8140, 320, 299, -900, 176, 10864, 10864, 298,
1675 176, 176, 289, 176, 289, 176, 289, 5319, 176, -900,
1676 1625, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1677 -900, -900, 1659, 301, 302, 306, 8450, -900, -900, -6,
1678 -900, 1694, 10864, 176, -900, -900, -900, 10864, 5319, 315,
1679 10864, 176, -900, 10864, 5319, 987, 5319, 5319, 5319, 5319,
1680 10864, -900, -900, -900, -900, 5319, 5319, 5319, 5319, 10864,
1681 289, 289, -900, -900, -900, -900, -900, -900, 309, -900,
1682 -900, -900, 5319, 5319, 5319, -900, -900, 374, -319, 2,
1683 -64, 47, 50, -900, -16, 9558, 11487, 3318, 74, 600,
1684 1068, 1503, 2039, 2066, 2039, 2066, 2039, 2066, 2039, 2066,
1685 2039, 2066, 2039, 2066, 106, 205, 106, 205, 227, 230,
1686 227, 230, 227, 230, 227, 230, -900, -326, 10864, 4141,
1687 4874, 74, 600, 1068, 1503, 2039, 2066, 2039, 2066, 2039,
1688 2066, 2039, 2066, 2039, 2066, 2039, 2066, 106, 205, 106,
1689 205, 227, 230, 227, 230, 227, 230, 227, 230, 3199,
1690 4936, -28, 10864, 11486, 10864, 10864, 10864, -900, -900, -900,
1691 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1692 -900, -900, -900, -900, -900, -900, -16, -900, -900, -900,
1693 -900, -900, -900, -900, -900, -900, -900, 289, 427, 11486,
1694 10864, 10864, 289, 10864, 10864, -900, -900, -900, 10864, -900,
1695 176, 311, -900, 10864, 179, 398, 10864, -26, -900, -900,
1696 -900, -900, -900, -900, 10864, 10864, 280, -900, -900, -900,
1697 -900, 176, -900, 10864, -900, -900, -900, -900, -900, 289,
1698 1814, -900, 60, 10110, 8957, 10864, 10864, -900, -900, -900,
1699 -900, -900, -900, 1890, -900, -900, -900, -900, -900, -900,
1700 -900, -900, 435, -36, 118, -26, 7425, 176, -900, -900,
1701 -900, -900, -900, -900, -900, 1925, 10864, 289, 437, 4180,
1702 289, 68, 9102, 359, 10864, 289, -2, 10864, 10864, 10255,
1703 10487, -17, 329, -900, -900, -900, -900, -900, -900, -900,
1704 -900, 60, -900, 10864, -900, 60, 6920, 356, 357, 6692,
1705 10864, 10864, -900, 40, 10864, 10632, -15, 336, -900, -900,
1706 -900, -900, -900, -900, -900, -900, 60, 337, 339, 8640,
1707 -900, 10864, -900, -900, -900, -900, -900, 10864, 8179, 8179,
1708 8179, 10864, 10864, 10864, 10864, 10864, 5319, -900, -900, 10864,
1709 8430, 343, 8682, 344, 1998, 363, 2122, 2196, 2233, 2257,
1710 1018, 2453, 3526, 3526, 3526, 3526, 3526, 3526, 248, 248,
1711 218, 218, 218, 218, 2305, -900, 5319, 5319, 5319, -900,
1712 365, -900, -900, 289, 5319, 60, -900, 176, 10864, 10864,
1713 2475, -900, -900, -900, 8179, 8179, -900, 8179, 280, -900,
1714 -900, -900, 5319, 176, 5319, 315, 2502, 5319, 5319, -900,
1715 2540, -900, 371, 289, 10864, -900, -900, 8179, -900, 10864,
1716 10864, 10864, -900, 10864, 5319, 5319, -900, 176, 176, 176,
1717 10864, 10864, -900, 10864, 8324, -900, -900, -900, -900, 10864,
1718 5319, 5319, -900, 5319, 5319, -900, -900, -900, -900, -900,
1719 -900, -900, -900, -900, -900, -900, -900, 640, 2573, 2600,
1720 -107, 176, 315, 229, 562, 10864, 10864, 5319, 8179, 8179,
1721 -900, -900, 5319, 11486, 2639, -900, 2676, -900, 176, 10864,
1722 -900, 2699, -900, 176, -900, -900, -900, 10864, 5319, -900,
1723 -900, -900, -900, -10, -900, -900, -900, 5319, -900, -900,
1724 -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
1725 176, 10864, -900, -900, -900, -900, -900, -900, 5319, -900,
1726 10864, 10864, -900, -900, -900, -900, -900, -900, -900, -900,
1727 -900, 2753, 10864, -900, 176, 10864, 5319, -900, 176, -900,
1728 -900, -900, -900, -900, 2805, 473, 476, -900, 176, -900,
1729 -900, -900, -900, -900, -900, 15, 5319, 22, 5319, -900,
1730 -900, 289, -900, -900, -900, 60, 10864, 2883, 376, -900,
1731 -900, -900, -900, -900, -900, 60, 10864, 10864, 2883, 378,
1732 -900, -900, -900, -900, 5319, 5319, 60, 5319, -34, -900,
1733 -900, -900, 10864, -900, 10864, 9334, -900, 381, 380, 8777,
1734 8827, 9154, 9176, 9206, 9550, 382, 2920, 2943, 3717, 3740,
1735 383, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864, 10864,
1736 -900, 176, -900, 385, 387, 10864, 3763, 9578, 3858, -900,
1737 388, 10864, 10864, 10864, -310, 4305, 389, 4463, -900, -900,
1738 4492, 5319, 390, 13, 9732, 4531, 289, 10864, 10864, 289,
1739 394, 8538, 395, 8917, 9063, 8917, 9063, -900, 10864, 10864,
1740 5319, 10864, -900, 10864, -900, 5319, 5319, 5319, 10864, 5319,
1741 5319, 10864, -900, -900, -900, -900, -900, -900, 176, -900,
1742 5319, 10864, -900, 5319, -900, 10864, -900, -900, -900, -900,
1743 -900, 5319, 391, -900, -900, 399, 405, 10864, -900, -900,
1744 -900, -900, -900, -900, -900, 8179, 8179, 10864, 10864, 10864,
1745 10864, 407, 9945, 9977, 408, 4565, 4706, 4790, 4830, 5073,
1746 10864, -900, 5094, 60, -900, -25, -900, 5319, 5358, 410,
1747 289, 10864, -900, 10864, 10864, -900, 60, -900, 10864, -31,
1748 5403, 5564, 176, 10864, -900, 5319, 5319, 5319, 5319, 5319,
1749 5319, 5319, 5319, -900, -900, 16, -202, 10068, 10170, 10212,
1750 10312, 5738, 5946, 6120, 6299, 10864, 10864, 10864, 10864, 10864,
1751 10864, 10864, -900, 10864, 412, -900, -900, -900, 419, 10864,
1752 10864, 176, 400, 403, 6416, 423, 6505, 289, 10864, 10864,
1753 425, -900, -900, -900, -900, -900, -900, -900, 428, -900,
1754 10864, -900, -900, -900, -900, 8179, 10864, 10864, 10864, 424,
1755 10354, 10684, 6530, 6649, 6789, 5319, 5319, 60, 60, 5319,
1756 431, -900, -900, 10864, -900, 10864, 176, 5319, 5319, 60,
1757 38, 432, 10704, 10731, 6818, 6941, 6964, -900, 10864, 10864,
1758 10864, 452, 455, 10864, 5319, 1348, 460, -900, -900, -900,
1759 434, 10864, -900, -900, 8179, 10864, 10864, 10885, 7130, 7204,
1760 -900, -900, 463, 10864, -900, 244, 464, 10907, 11031, 7241,
1761 335, 10864, 10864, 465, 7340, -900, -900, -900, 467, 10864,
1762 -900, -900, 8179, -900, 60, 11051, 7540, 289, 10864, -900,
1763 11071, 11098, 11118, 468, 10864, 176, 7622, -900, -900, -900,
1764 60, 11138, 10864, 469, 7643, 60, 10864, -45, 5319, -900,
1765 60, 472, -900
1766 };
1767
1768 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1769 Performed when YYTABLE does not specify something else to do. Zero
1770 means the default is an error. */
1771 static const yytype_uint16 yydefact[] =
1772 {
1773 0, 18, 0, 20, 94, 31, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 575, 576, 0,
1775 0, 0, 397, 401, 733, 0, 0, 0, 0, 0,
1776 350, 0, 423, 0, 0, 0, 0, 709, 0, 0,
1777 0, 352, 710, 0, 379, 0, 0, 0, 0, 0,
1778 565, 0, 360, 0, 737, 736, 0, 0, 0, 711,
1779 712, 0, 0, 0, 0, 0, 0, 0, 732, 0,
1780 731, 0, 419, 0, 0, 422, 354, 0, 421, 0,
1781 33, 0, 345, 0, 0, 0, 0, 0, 0, 641,
1782 644, 643, 645, 642, 0, 734, 0, 569, 0, 0,
1783 0, 0, 0, 0, 735, 0, 0, 0, 0, 0,
1784 0, 0, 346, 0, 0, 0, 55, 56, 63, 57,
1785 58, 64, 0, 0, 0, 59, 60, 61, 62, 697,
1786 699, 0, 573, 0, 698, 700, 701, 702, 703, 704,
1787 0, 574, 0, 21, 22, 23, 19, 0, 0, 0,
1788 0, 0, 2, 5, 3, 97, 4, 15, 0, 16,
1789 17, 10, 8, 13, 14, 12, 436, 0, 0, 11,
1790 0, 0, 95, 0, 0, 9, 437, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 84, 0, 0, 0, 0, 0, 0, 0, 398,
1793 399, 400, 0, 204, 597, 598, 599, 596, 613, 610,
1794 611, 601, 603, 606, 605, 602, 604, 607, 608, 609,
1795 614, 612, 600, 0, 0, 20, 94, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 227, 0, 0, 0,
1797 0, 640, 639, 33, 21, 22, 23, 0, 0, 0,
1798 0, 0, 219, 0, 218, 222, 224, 223, 347, 178,
1799 179, 426, 303, 427, 592, 428, 593, 425, 429, 340,
1800 351, 0, 0, 0, 0, 0, 0, 278, 273, 276,
1801 275, 274, 176, 177, 173, 0, 302, 0, 0, 349,
1802 348, 0, 239, 0, 0, 0, 231, 230, 234, 236,
1803 235, 0, 0, 0, 0, 0, 343, 435, 434, 433,
1804 402, 432, 659, 667, 672, 671, 673, 661, 654, 682,
1805 678, 683, 679, 684, 680, 658, 655, 656, 674, 665,
1806 675, 662, 676, 685, 681, 664, 666, 670, 668, 669,
1807 660, 657, 663, 677, 342, 0, 0, 0, 320, 322,
1808 325, 324, 323, 361, 0, 566, 0, 359, 0, 0,
1809 0, 0, 408, 378, 377, 375, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 701, 0, 304,
1811 318, 768, 319, 769, 0, 0, 253, 0, 0, 243,
1812 242, 247, 248, 246, 0, 0, 418, 0, 0, 0,
1813 0, 0, 0, 0, 690, 693, 0, 0, 692, 694,
1814 0, 691, 0, 0, 689, 87, 88, 752, 357, 0,
1815 0, 794, 362, 0, 0, 0, 0, 403, 0, 0,
1816 0, 0, 0, 0, 184, 187, 186, 188, 0, 0,
1817 371, 0, 417, 570, 358, 0, 646, 647, 341, 0,
1818 0, 424, 0, 0, 0, 0, 0, 0, 257, 256,
1819 262, 260, 758, 0, 290, 291, 293, 761, 0, 211,
1820 210, 0, 0, 0, 0, 266, 267, 270, 759, 0,
1821 286, 287, 289, 760, 338, 0, 192, 0, 0, 0,
1822 0, 0, 216, 228, 240, 254, 212, 213, 0, 0,
1823 0, 0, 0, 413, 0, 0, 0, 0, 0, 284,
1824 0, 0, 0, 0, 69, 0, 68, 97, 164, 83,
1825 162, 0, 0, 1, 0, 32, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 24, 133, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 328, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 438,
1832 802, 804, 803, 0, 0, 0, 0, 0, 0, 571,
1833 487, 0, 0, 0, 0, 202, 87, 91, 0, 0,
1834 165, 365, 87, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 181, 0, 180, 0,
1836 0, 0, 431, 298, 299, 301, 300, 0, 743, 742,
1837 407, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 832, 831, 833, 226, 225, 756, 740, 745, 696, 695,
1839 221, 68, 83, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1841 0, 0, 0, 739, 738, 741, 280, 0, 0, 0,
1842 0, 0, 0, 0, 0, 238, 237, 757, 233, 0,
1843 0, 562, 564, 561, 0, 327, 326, 787, 321, 0,
1844 791, 200, 0, 0, 0, 0, 0, 376, 0, 762,
1845 314, 313, 312, 315, 0, 307, 309, 786, 308, 305,
1846 0, 306, 763, 764, 0, 0, 0, 0, 0, 0,
1847 249, 245, 0, 208, 0, 0, 0, 87, 0, 0,
1848 420, 0, 0, 87, 753, 622, 621, 623, 624, 430,
1849 750, 0, 0, 19, 0, 355, 356, 0, 0, 0,
1850 404, 405, 0, 411, 0, 409, 0, 92, 93, 201,
1851 0, 625, 626, 631, 633, 627, 629, 630, 628, 632,
1852 634, 185, 0, 0, 0, 0, 0, 707, 708, 0,
1853 372, 0, 0, 265, 263, 259, 261, 0, 292, 0,
1854 0, 272, 269, 0, 288, 0, 783, 782, 785, 784,
1855 0, 217, 229, 241, 255, 779, 778, 781, 780, 0,
1856 0, 0, 296, 636, 638, 635, 637, 294, 0, 297,
1857 295, 344, 166, 167, 168, 65, 163, 0, 0, 0,
1858 0, 0, 0, 6, 170, 0, 0, 0, 82, 140,
1859 81, 143, 75, 146, 76, 149, 77, 155, 78, 152,
1860 79, 158, 80, 161, 66, 117, 67, 120, 70, 123,
1861 71, 126, 72, 129, 73, 132, 27, 0, 0, 0,
1862 0, 139, 138, 142, 141, 145, 144, 148, 147, 154,
1863 153, 151, 150, 157, 156, 160, 159, 116, 115, 119,
1864 118, 122, 121, 125, 124, 128, 127, 131, 130, 172,
1865 171, 0, 0, 0, 0, 0, 0, 333, 329, 770,
1866 331, 774, 616, 619, 775, 771, 773, 772, 620, 617,
1867 618, 776, 777, 615, 330, 30, 0, 567, 44, 45,
1868 46, 47, 48, 49, 50, 51, 572, 0, 0, 0,
1869 0, 0, 0, 0, 0, 463, 466, 467, 0, 460,
1870 485, 0, 462, 0, 0, 0, 0, 0, 474, 480,
1871 477, 476, 479, 475, 0, 0, 0, 799, 459, 458,
1872 363, 486, 364, 0, 452, 455, 454, 453, 215, 0,
1873 0, 798, 0, 0, 0, 0, 0, 440, 444, 442,
1874 441, 443, 439, 0, 29, 28, 96, 495, 557, 559,
1875 558, 560, 0, 0, 0, 0, 0, 546, 493, 554,
1876 555, 795, 556, 494, 796, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 491, 522, 540, 541, 821, 531, 492,
1879 829, 0, 653, 0, 651, 0, 0, 732, 731, 0,
1880 0, 0, 652, 0, 0, 0, 0, 0, 489, 497,
1881 504, 507, 510, 517, 490, 820, 0, 0, 0, 0,
1882 203, 0, 52, 34, 104, 35, 105, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 86, 85, 370, 0,
1884 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 82, 81, 75, 76, 77, 78, 79, 80, 66, 67,
1886 70, 71, 72, 73, 0, 369, 277, 754, 279, 174,
1887 0, 594, 595, 0, 196, 0, 198, 199, 0, 0,
1888 0, 353, 563, 89, 0, 0, 392, 0, 0, 766,
1889 311, 310, 317, 765, 316, 0, 0, 250, 790, 251,
1890 0, 191, 0, 0, 0, 99, 373, 0, 205, 207,
1891 0, 206, 751, 0, 792, 793, 101, 406, 412, 410,
1892 0, 0, 102, 0, 0, 103, 705, 706, 368, 0,
1893 264, 258, 374, 268, 271, 577, 578, 579, 580, 582,
1894 581, 583, 584, 585, 586, 587, 588, 0, 0, 0,
1895 415, 414, 0, 0, 0, 0, 0, 169, 0, 0,
1896 788, 789, 332, 0, 0, 337, 0, 568, 473, 0,
1897 469, 0, 470, 472, 468, 464, 461, 0, 807, 749,
1898 747, 748, 746, 0, 808, 482, 481, 478, 839, 836,
1899 837, 838, 835, 800, 457, 456, 832, 833, 805, 451,
1900 214, 0, 801, 448, 449, 797, 446, 445, 447, 450,
1901 0, 0, 650, 649, 648, 552, 548, 547, 834, 549,
1902 550, 0, 0, 528, 526, 0, 525, 524, 532, 825,
1903 824, 826, 543, 544, 0, 0, 0, 523, 527, 687,
1904 688, 686, 830, 529, 530, 0, 533, 0, 534, 822,
1905 823, 0, 811, 503, 814, 0, 0, 498, 0, 809,
1906 513, 508, 511, 813, 812, 0, 0, 0, 817, 0,
1907 810, 514, 509, 512, 501, 502, 0, 818, 0, 519,
1908 815, 816, 0, 488, 0, 0, 25, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 175, 339, 197, 0, 0, 0, 0, 0, 0, 767,
1912 0, 0, 0, 0, 0, 0, 0, 0, 193, 194,
1913 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 74, 0, 134, 135, 136, 137, 334, 0, 0,
1915 465, 0, 367, 0, 483, 366, 806, 553, 0, 496,
1916 539, 0, 828, 827, 536, 535, 538, 537, 542, 515,
1917 505, 0, 516, 506, 499, 0, 500, 591, 589, 590,
1918 518, 819, 0, 714, 713, 0, 0, 0, 37, 36,
1919 109, 38, 107, 108, 106, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 391, 0, 0, 26, 0, 394, 252, 0, 0,
1922 0, 0, 383, 0, 0, 385, 0, 395, 0, 182,
1923 0, 0, 416, 0, 98, 335, 336, 471, 484, 551,
1924 545, 520, 521, 386, 387, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 195, 0, 0, 730, 728, 729, 0, 0,
1927 0, 281, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 726, 725, 723, 721, 727, 722, 724, 0, 53,
1929 0, 39, 110, 40, 111, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 220, 232, 0, 0, 244,
1931 0, 100, 384, 0, 396, 0, 183, 285, 283, 0,
1932 0, 0, 0, 0, 0, 0, 0, 744, 0, 0,
1933 0, 0, 0, 0, 189, 209, 0, 715, 716, 717,
1934 0, 0, 41, 112, 0, 0, 0, 0, 0, 0,
1935 390, 389, 0, 0, 393, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 720, 718, 719, 0, 0,
1937 42, 113, 0, 380, 0, 0, 0, 0, 0, 388,
1938 0, 0, 0, 0, 0, 282, 0, 54, 43, 114,
1939 0, 0, 0, 0, 0, 0, 0, 0, 755, 381,
1940 0, 0, 382
1941 };
1942
1943 /* YYPGOTO[NTERM-NUM]. */
1944 static const yytype_int16 yypgoto[] =
1945 {
1946 -900, -900, -900, 351, 0, 1524, -170, 1755, -37, -900,
1947 -900, 1140, 2000, -900, -900, -900, -900, -900, -900, -900,
1948 -900, -900, -900, 290, -900, -900, -900, -900, -900, 2371,
1949 221, -900, -164, -900, -900, 829, -900, -76, -900, -900,
1950 -900, -900, 360, 769, -900, -301, -900, -900, -899, -900,
1951 -900, -20, -586, -900, -900, -900, -900, -900, -900, -900,
1952 -900, -900, -52, 48, -14, 23, 195, -192, -900, -900,
1953 -900, -900, -900, -900, -292, -174, -149
1954 };
1955
1956 /* YYDEFGOTO[NTERM-NUM]. */
1957 static const yytype_int16 yydefgoto[] =
1958 {
1959 -1, 151, 152, 153, 415, 638, 416, 639, 679, 609,
1960 779, 251, 156, 157, 158, 159, 160, 161, 162, 163,
1961 164, 165, 166, 599, 1078, 1053, 1028, 1017, 306, 291,
1962 253, 169, 170, 1217, 1450, 269, 1143, 223, 944, 759,
1963 760, 791, 837, 434, 171, 448, 1285, 1080, 344, 1312,
1964 418, 660, 172, 1198, 799, 173, 1456, 1610, 1638, 1558,
1965 1538, 174, 277, 435, 279, 436, 437, 983, 1252, 175,
1966 1033, 176, 1084, 1059, 655, 1034, 1263
1967 };
1968
1969 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1970 positive, shift that token. If negative, reduce the rule whose
1971 number is the opposite. If YYTABLE_NINF, syntax error. */
1972 static const yytype_int16 yytable[] =
1973 {
1974 154, 697, 1016, 569, 1547, 428, 282, 283, 608, 191,
1975 380, 613, 355, 617, 618, 510, 621, 1409, 1230, 815,
1976 1535, 202, 362, 690, 1233, 202, 1141, 250, 1447, 1319,
1977 1282, 1350, 1309, 350, 177, 484, 1258, 1259, 1196, 289,
1978 295, 691, 241, 397, 446, 593, 1145, 242, 203, 1226,
1979 256, 460, 923, 465, 302, 1607, 280, 476, 481, 443,
1980 1240, 1434, 378, 299, 388, 504, 1142, 797, 1436, 507,
1981 351, 202, 1153, 830, 394, 255, 1551, 202, 191, 241,
1982 179, 278, 627, 831, 242, 382, 1490, 392, 298, 191,
1983 398, 1197, 798, 49, 50, 349, 525, 931, 444, 49,
1984 50, 541, 1249, 457, 395, 178, 354, 627, 765, 474,
1985 381, 202, 391, 932, 180, 491, 259, 260, 543, 430,
1986 181, 238, 239, 502, 772, 774, 461, 776, 466, 1283,
1987 182, 700, 477, 482, 692, 264, 241, 693, 183, 1260,
1988 1297, 242, 509, 192, 191, 1536, 184, 514, 516, 519,
1989 521, 1552, 1553, 185, 241, 594, 633, 1423, 241, 242,
1990 186, 261, 933, 242, 924, 303, 1608, 781, 274, 447,
1991 1448, 430, 505, 238, 239, 968, 508, 446, 606, 610,
1992 191, 612, 615, 934, 709, 619, 202, 622, 623, 624,
1993 625, 591, 782, 1559, 1560, 262, 604, 187, 241, 266,
1994 1310, 241, 595, 242, 1311, 263, 242, 238, 239, 363,
1995 241, 49, 50, 1299, 241, 242, 590, 1284, 274, 242,
1996 1554, 168, 257, 653, 935, 936, 937, 1261, 281, 304,
1997 96, 97, 925, 368, 188, 300, 627, 1555, 191, 657,
1998 195, 1249, 352, 201, 202, 264, 1250, 661, 662, 663,
1999 305, 1231, 271, 345, 431, 1537, 1251, 383, 274, 393,
2000 654, 1609, 1320, 1449, 1351, 926, 265, 1158, 241, 650,
2001 189, 938, 421, 242, 698, 939, 1262, 202, 783, 695,
2002 784, 999, 365, 239, 634, 627, 658, 432, 596, 597,
2003 635, 368, 400, 198, 1435, 659, 1346, 598, 462, 785,
2004 467, 1437, 447, 702, 478, 483, 431, 190, 440, 266,
2005 541, 627, 636, 1014, 196, 542, 696, 346, 1635, 1556,
2006 445, 940, 449, 946, 947, 833, 834, 468, 469, 941,
2007 942, 705, 627, 1015, 1417, 511, 1557, 1286, 197, 432,
2008 993, 239, 1287, 497, 433, 503, 202, 1300, 96, 97,
2009 1669, 1670, 721, 729, 835, 1266, 710, 525, 191, 713,
2010 284, 627, 272, 592, 288, 786, 787, 741, 706, 356,
2011 202, 727, 887, 238, 239, 301, 732, 733, 1301, 267,
2012 446, 354, 943, 358, 463, 1250, 268, 788, 401, 722,
2013 755, 359, 525, 836, 419, 1251, 541, 360, 651, 747,
2014 756, 542, 1032, -170, 1058, 1083, 753, 433, 361, 1496,
2015 241, 199, 762, 384, 720, 242, 652, 273, 1305, 399,
2016 657, 1249, 1060, 1085, 274, 402, 420, 1636, 423, 777,
2017 780, 429, 792, 438, 1090, 805, 757, 439, 441, 200,
2018 506, 713, 479, 789, 523, 790, 512, 49, 50, 513,
2019 801, 528, 529, 530, 531, 532, 533, 534, 535, 536,
2020 537, 538, 539, 808, 524, 540, 238, 239, 560, 1637,
2021 1253, 613, 601, 1113, 602, 1115, 603, 202, 629, 814,
2022 525, 630, 178, 641, 651, 642, 241, 816, 817, 818,
2023 819, 242, 537, 538, 539, 129, 130, 540, 825, 826,
2024 827, 828, 1267, 643, 644, 447, 347, 758, 645, 694,
2025 1012, 842, 843, 844, 646, 647, 648, 274, 649, 966,
2026 134, 135, 136, 137, 138, 139, 857, 858, 860, 862,
2027 864, 866, 868, 870, 872, 874, 876, 878, 880, 882,
2028 884, 568, 1029, 588, 1055, 889, 891, 893, 895, 897,
2029 899, 901, 903, 905, 907, 909, 911, 913, 915, 917,
2030 919, 723, 980, 988, 307, 1250, 275, 995, 627, 238,
2031 239, 1009, 1306, 238, 239, 1251, 680, 681, 687, 712,
2032 688, 715, 716, 1000, 96, 97, 717, 1013, 276, 724,
2033 752, 556, 557, 558, 967, 1035, 559, 744, 749, 981,
2034 989, 802, 809, 713, 996, 735, 241, 810, 1010, 677,
2035 241, 242, 886, 433, 308, 242, 1020, 1030, 540, 1056,
2036 1081, 559, 544, 751, 979, 49, 50, 1106, 888, 994,
2037 921, 922, 1086, 1008, 674, 675, 676, 1110, 1016, 677,
2038 1092, 1019, 1112, 1091, 1114, 1093, 1116, 1117, 1118, 1119,
2039 1148, 1097, 1098, 1101, 793, 525, 1109, 1149, 1151, 794,
2040 795, 1152, 1153, 1154, 1120, 1121, 1122, 1123, 1124, 1125,
2041 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1156,
2042 1172, 1136, 1137, 1157, 1165, 1173, 1175, 1138, 1177, 1180,
2043 1144, 569, 1182, 1186, 1268, 1183, 1192, 177, 1193, 1150,
2044 1239, 241, 1194, 945, 1160, 1222, 242, 1247, 1281, 526,
2045 1295, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2046 673, 674, 675, 676, 1162, 1321, 677, 838, 1333, 1334,
2047 1643, 1644, 1352, 1354, 1164, 1355, 1166, 1167, 1168, 1371,
2048 1372, 1161, 1170, 492, 526, 856, 664, 665, 666, 667,
2049 668, 669, 670, 671, 672, 673, 674, 675, 676, 1374,
2050 202, 677, 309, 1380, 525, 1393, 678, 1184, 1185, 1406,
2051 1432, 982, 1441, 1433, 1445, 1458, 997, 1457, 1465, 1470,
2052 1011, 1480, 1481, 1486, 1492, 1495, 1513, 493, 1021, 1031,
2053 1503, 1057, 1082, 1504, 1514, 1581, 254, 1022, 1582, 191,
2054 718, 1515, 1200, 1525, 1526, 202, 1540, 1201, 1577, 297,
2055 1203, 49, 50, 1204, 311, 1578, 348, 1223, 1584, 1597,
2056 1218, 1589, 1087, 1088, 1590, 946, 947, 1603, 1611, 1219,
2057 1625, 379, 526, 390, 664, 665, 666, 667, 668, 669,
2058 670, 671, 672, 673, 674, 675, 676, 1620, 494, 677,
2059 1621, 1108, 368, 525, 699, 1624, 238, 239, 1633, 956,
2060 1639, 1647, 1649, 285, 1660, 1665, 1389, 1672, 840, 957,
2061 948, 949, 459, 950, 951, 853, 1288, 0, 475, 591,
2062 0, 952, 953, 954, 955, 0, 525, 0, 1227, 0,
2063 1023, 129, 130, 241, 1024, 958, 0, 0, 242, 0,
2064 0, 1135, 239, 202, 590, 0, 0, 274, 0, 1237,
2065 0, 0, 0, 0, 0, 0, 134, 135, 136, 137,
2066 138, 139, 1232, 0, 1234, 0, 1236, 1358, 0, 0,
2067 0, 1365, 0, 0, 0, 0, 570, 589, 0, 600,
2068 0, 0, 525, 0, 0, 1025, 605, 0, 96, 97,
2069 368, 1274, 959, 0, 0, 0, 0, 0, 1026, 0,
2070 1241, 626, 0, 0, 0, 0, 632, 0, 495, 0,
2071 1176, 0, 0, 1248, 0, 0, 1257, 547, 548, 549,
2072 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
2073 1276, 559, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212,
2074 1213, 1214, 1215, 1216, 0, 1278, 0, 526, 0, 664,
2075 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2076 675, 676, 0, 1255, 677, 0, 1291, 1277, 0, 734,
2077 1202, 0, 0, 0, 0, 0, 241, 960, 0, 1296,
2078 525, 242, 1304, 0, 0, 0, 0, 0, 0, 1316,
2079 1318, 592, 0, 0, 0, 0, 1412, 0, 0, 0,
2080 0, 0, 0, 0, 961, 962, 1327, 0, 0, 1338,
2081 1344, 1345, 0, 0, 1347, 0, 0, 0, 0, 0,
2082 0, 0, 0, 963, 0, 0, 0, 0, 0, 1331,
2083 525, 0, 1342, 0, 0, 0, 0, 0, 1359, 1361,
2084 1363, 0, 1366, 1367, 1368, 1369, 0, 0, 0, 0,
2085 0, 0, 0, 0, 1330, 707, 526, 1341, 664, 665,
2086 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2087 676, 0, 964, 677, 0, 719, 0, 0, 742, 726,
2088 155, 0, 0, 0, 0, 0, 0, 0, 525, 0,
2089 0, 0, 0, 0, 713, 713, 0, 713, 0, 0,
2090 0, 0, 0, 743, 0, 0, 0, 0, 0, 0,
2091 1256, 0, 0, 0, 1395, 0, 0, 612, 0, 1132,
2092 0, 1132, 0, 0, 0, 0, 0, 0, 0, 0,
2093 1400, 1401, 0, 0, 713, 0, 0, 0, 0, 1405,
2094 0, 0, 0, 0, 1474, 526, 0, 664, 665, 666,
2095 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
2096 0, 0, 677, 0, 0, 1411, 0, 807, 1413, 1415,
2097 0, 0, 0, 0, 0, 0, 0, 0, 526, 1420,
2098 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2099 674, 675, 676, 0, 0, 677, 0, 0, 0, 0,
2100 813, 1332, 0, 0, 1343, 0, 0, 0, 0, 0,
2101 0, 1425, 0, 832, 0, 0, 839, 0, 0, 841,
2102 1426, 1427, 0, 0, 0, 0, 0, 0, 517, 517,
2103 517, 0, 1429, 0, 526, 1430, 664, 665, 666, 667,
2104 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2105 0, 677, 0, 0, 0, 0, 820, 0, 0, 0,
2106 0, 517, 517, 0, 0, 517, 1440, 0, 0, 0,
2107 0, 0, 927, 928, 929, 930, 1443, 0, 600, 0,
2108 965, 969, 0, 0, 972, 978, 0, 990, 0, 525,
2109 0, 998, 1451, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 1018, 0, 0, 1054, 1079, 0, 0, 0,
2111 525, 0, 1472, 1473, 0, 1475, 1476, 1477, 1478, 1479,
2112 0, 0, 0, 0, 0, 1482, 1390, 0, 0, 0,
2113 0, 1487, 1488, 0, 544, 665, 666, 667, 668, 669,
2114 670, 671, 672, 673, 674, 675, 676, 1500, 1501, 677,
2115 0, 0, 0, 0, 0, 0, 0, 0, 1505, 1506,
2116 525, 1507, 0, 1508, 0, 0, 0, 0, 1509, 0,
2117 0, 1510, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 1511, 0, 1410, 0, 1512, 529, 530, 531, 532,
2119 533, 534, 535, 536, 537, 538, 539, 0, 525, 540,
2120 1146, 0, 0, 0, 0, 1517, 1519, 1521, 1522, 1523,
2121 1524, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 525, 0, 1159, 0, 0,
2123 0, 0, 0, 0, 1544, 0, 0, 0, 1546, 517,
2124 526, 0, 664, 665, 666, 667, 668, 669, 670, 671,
2125 672, 673, 674, 675, 676, 0, 0, 677, 0, 0,
2126 0, 1178, 829, 0, 0, 544, 1570, 1571, 1572, 1573,
2127 1574, 1575, 0, 1576, 0, 0, 0, 0, 0, 1579,
2128 193, 525, 0, 0, 0, 0, 0, 0, 1587, 1588,
2129 0, 0, 258, 0, 270, 0, 0, 0, 0, 286,
2130 287, 0, 0, 290, 0, 1592, 1594, 1595, 1596, 0,
2131 0, 0, 353, 0, 0, 0, 357, 0, 0, 0,
2132 0, 517, 0, 1604, 0, 1605, 0, 0, 0, 0,
2133 396, 0, 0, 0, 0, 0, 0, 0, 1617, 1618,
2134 1619, 0, 544, 422, 0, 427, 0, 0, 0, 0,
2135 0, 0, 0, 0, 1627, 1629, 1630, 0, 442, 0,
2136 0, 0, 0, 1634, 570, 589, 525, 0, 0, 464,
2137 0, 1645, 1646, 0, 480, 0, 0, 485, 0, 1650,
2138 0, 0, 1651, 0, 1623, 0, 0, 525, 1656, 0,
2139 0, 0, 0, 0, 1661, 0, 0, 0, 0, 0,
2140 0, 0, 1664, 0, 854, 0, 1668, 517, 517, 517,
2141 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2142 517, 525, 0, 0, 0, 517, 517, 517, 517, 517,
2143 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2144 517, 526, 607, 527, 528, 529, 530, 531, 532, 533,
2145 534, 535, 536, 537, 538, 539, 525, 628, 540, 0,
2146 0, 0, 526, 1099, 664, 665, 666, 667, 668, 669,
2147 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2148 0, 0, 0, 517, 1254, 0, 545, 640, 546, 547,
2149 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
2150 558, 0, 0, 559, 0, 0, 0, 0, 1100, 0,
2151 0, 1272, 526, 0, 664, 665, 666, 667, 668, 669,
2152 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2153 0, 0, 0, 0, 1102, 0, 0, 683, 0, 686,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 689,
2155 526, 0, 664, 665, 666, 667, 668, 669, 670, 671,
2156 672, 673, 674, 675, 676, 0, 701, 677, 703, 417,
2157 1322, 0, 1103, 0, 1324, 1329, 525, 526, 1340, 664,
2158 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2159 675, 676, 0, 0, 677, 1353, 0, 451, 0, 1104,
2160 0, 0, 0, 470, 0, 0, 0, 0, 0, 486,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162 711, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2163 557, 558, 683, 526, 559, 664, 665, 666, 667, 668,
2164 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2165 677, 0, 525, 0, 1382, 1105, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 750, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 611, 0, 0, 0, 0,
2168 0, 0, 0, 766, 0, 0, 0, 525, 770, 771,
2169 773, 631, 775, 778, 545, 0, 546, 547, 548, 549,
2170 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
2171 0, 559, 0, 0, 0, 0, 1155, 803, 526, 0,
2172 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2173 674, 675, 676, 656, 0, 677, 811, 0, 0, 526,
2174 1174, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2175 673, 674, 675, 676, 0, 0, 677, 0, 0, 0,
2176 525, 1190, 1424, 0, 202, 0, 0, 0, 684, 685,
2177 0, 0, 0, 526, 0, 664, 665, 666, 667, 668,
2178 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2179 677, 0, 0, 0, 0, 1191, 0, 0, 0, 0,
2180 704, 525, 0, 0, 0, 0, 0, 0, 526, 0,
2181 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2182 674, 675, 676, 0, 0, 677, 0, 0, 544, 0,
2183 1199, 0, 0, 0, 1439, 0, 0, 970, 0, 0,
2184 0, 0, 708, 991, 1442, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 1446, 973, 0, 1027, 0,
2186 238, 239, 0, 684, 725, 0, 0, 728, 0, 730,
2187 731, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 740, 0, 0, 0, 525, 0, 0, 0, 518, 520,
2189 522, 1107, 745, 746, 748, 0, 0, 241, 0, 0,
2190 0, 754, 242, 0, 0, 761, 0, 0, 764, 0,
2191 0, 274, 0, 0, 0, 0, 0, 974, 769, 0,
2192 0, 614, 616, 0, 0, 620, 0, 0, 526, 0,
2193 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2194 674, 675, 676, 975, 800, 677, 0, 0, 0, 804,
2195 1271, 806, 0, 0, 0, 0, 1147, 0, 525, 0,
2196 0, 0, 976, 0, 0, 0, 0, 0, 812, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 517, 517,
2198 517, 0, 0, 0, 0, 0, 0, 821, 822, 823,
2199 824, 0, 1534, 977, 1163, 525, 0, 0, 0, 0,
2200 0, 0, 0, 0, 526, 1545, 664, 665, 666, 667,
2201 668, 669, 670, 671, 672, 673, 674, 675, 676, 525,
2202 0, 677, 0, 0, 0, 0, 1280, 0, 0, 0,
2203 0, 0, 0, 0, 517, 517, 1187, 517, 1188, 526,
2204 1189, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2205 673, 674, 675, 676, 0, 0, 677, 517, 0, 0,
2206 0, 1292, 0, 0, 0, 0, 0, 525, 0, 971,
2207 0, 0, 987, 0, 517, 992, 0, 0, 0, 1001,
2208 1007, 0, 0, 0, 0, 0, 1601, 1602, 0, 0,
2209 0, 1052, 1077, 0, 1220, 1221, 0, 0, 1606, 714,
2210 0, 0, 0, 0, 0, 0, 0, 0, 517, 517,
2211 0, 167, 526, 0, 664, 665, 666, 667, 668, 669,
2212 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2213 194, 0, 1111, 194, 1373, 0, 0, 0, 252, 0,
2214 0, 0, 194, 0, 0, 0, 0, 685, 0, 0,
2215 0, 296, 0, 1653, 0, 0, 310, -171, -171, -171,
2216 -171, -171, -171, 535, 536, 537, 538, 539, 0, 1663,
2217 540, 0, 364, 0, 1667, 389, 0, 0, 0, 1671,
2218 0, 796, 194, 1140, -171, -171, -171, -171, -171, -171,
2219 554, 555, 556, 557, 558, 0, 0, 559, 194, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 194, 0, 194, 0, 458, 525, 0, 194, 194, 0,
2222 0, 1238, 0, 0, 0, 0, 1243, 0, 0, 0,
2223 0, 0, 0, 496, 1169, 194, 526, 525, 664, 665,
2224 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2225 676, 0, 0, 677, 0, 0, 0, 0, 1375, 0,
2226 0, 0, 0, 1270, 525, 0, 0, 859, 861, 863,
2227 865, 867, 869, 871, 873, 875, 877, 879, 881, 883,
2228 885, 0, 0, 0, 0, 890, 892, 894, 896, 898,
2229 900, 902, 904, 906, 908, 910, 912, 914, 916, 918,
2230 920, 1294, 525, 0, 1298, 0, 0, 0, 0, 1308,
2231 526, 0, 664, 665, 666, 667, 668, 669, 670, 671,
2232 672, 673, 674, 675, 676, 0, 0, 677, 0, 0,
2233 0, 0, 1376, 0, 0, 525, 0, 0, 0, 0,
2234 0, 0, 0, 1089, 0, 517, 517, 526, 0, 664,
2235 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2236 675, 676, 525, 0, 677, 0, 0, 0, 0, 1377,
2237 0, 526, 0, 664, 665, 666, 667, 668, 669, 670,
2238 671, 672, 673, 674, 675, 676, 0, 0, 677, 0,
2239 0, 0, 0, 1378, 0, 0, 0, 0, 0, 194,
2240 0, 525, 0, 0, 0, 0, 0, 1381, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 526,
2242 1235, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2243 673, 674, 675, 676, 0, 0, 677, 1394, 525, 0,
2244 0, 1379, 0, 0, 0, 517, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 1242, 0, 1244, 1245,
2246 0, 525, 0, 1246, 0, 0, 0, 0, 0, 194,
2247 0, 194, 194, 0, 0, 0, 0, 0, 0, 1264,
2248 1265, 0, 0, 0, 0, 0, 0, 0, 1269, 0,
2249 0, 0, 0, 0, 517, 194, 0, 0, 1273, 1275,
2250 0, 1279, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 194, 0, 525, 0, 0, 0, 0,
2252 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2253 0, 1293, 0, 0, 0, 0, 0, 0, 0, 1307,
2254 0, 0, 1313, 1314, 194, 0, 0, 0, 0, 194,
2255 194, 0, 0, 0, 0, 0, 0, 0, 1323, 0,
2256 0, 1328, 0, 0, 1339, 0, 0, 525, 0, 0,
2257 1349, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2258 675, 676, 0, 0, 677, 1438, 1357, 0, 0, 526,
2259 0, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2260 673, 674, 675, 676, 1370, 0, 677, 0, 0, 0,
2261 0, 1385, 0, 0, 0, 0, 526, 194, 664, 665,
2262 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2263 676, 0, 0, 677, 0, 855, 0, 0, 1391, 0,
2264 0, 0, 0, 1383, 1384, 525, 0, 0, 0, 0,
2265 0, 0, 0, 0, 526, 0, 664, 665, 666, 667,
2266 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2267 1499, 677, 1396, 1502, 0, 1398, 1392, 0, 1399, 0,
2268 0, 0, 525, 0, 0, 0, 0, 526, 1402, 664,
2269 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2270 675, 676, 0, 0, 677, 525, 0, 0, 0, 1407,
2271 0, 0, 194, 194, 526, 0, 664, 665, 666, 667,
2272 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2273 0, 677, 0, 0, 0, 0, 1408, 0, 0, 0,
2274 0, 194, 1422, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 526, 1541, 664, 665, 666, 667, 668,
2276 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2277 677, 0, 0, 0, 0, 1418, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 526, 194, 664, 665, 666, 667, 668, 669, 670, 671,
2280 672, 673, 674, 675, 676, 0, 0, 677, 0, 0,
2281 0, 1586, 1419, 526, 0, 664, 665, 666, 667, 668,
2282 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2283 677, 0, 1444, 0, 0, 1421, 0, 0, 1360, 1362,
2284 1364, 0, 0, 0, 0, 0, 0, 0, 0, 1452,
2285 1455, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2286 194, 0, 0, 0, 0, 0, 1471, 526, 0, 664,
2287 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2288 675, 676, 0, 0, 677, 0, 0, 0, 1489, 1428,
2289 0, 0, 0, 0, 1386, 1387, 0, 1388, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 1655, 0, 0, 0, 0, 0, 1397, 0, 526,
2292 194, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2293 673, 674, 675, 676, 1404, 0, 677, 0, 0, 0,
2294 0, 1431, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 1516, 0, 0, 0, 0, 0, 0, 0,
2296 0, 525, 0, 0, 0, 0, 0, 0, 1414, 1416,
2297 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 1542, 0, 1543, 0,
2299 0, 0, 0, 0, 0, 0, 0, 526, 1550, 664,
2300 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2301 675, 676, 0, 0, 677, 0, 0, 0, 0, -87,
2302 1569, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 526, 1580, 664, 665, 666, 667,
2304 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2305 0, 677, 0, 0, 0, 1591, 1466, 526, 0, 664,
2306 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2307 675, 676, 0, 0, 677, 0, 0, 0, 0, 1467,
2308 525, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 0, 0, -7, 1, 1622, 0,
2310 0, 0, 0, 0, 0, 0, 1626, 0, 0, 0,
2311 0, 0, 0, 0, 2, 3, 4, 5, 0, 6,
2312 7, 8, 9, 10, 11, 12, 13, 14, 15, 0,
2313 0, 16, 0, 17, 18, 0, 0, 19, 20, 0,
2314 0, 0, 21, 22, 23, 0, 24, 25, 0, 0,
2315 0, 0, 0, 0, 0, 0, 0, 26, 0, 0,
2316 27, 28, 0, 0, 0, 0, 29, 0, 0, 30,
2317 0, 0, 0, 0, 0, 0, 31, 32, 0, 0,
2318 0, 0, 0, 0, 0, 33, 34, 0, 0, 0,
2319 0, 0, 0, 0, 35, 36, 37, 38, 0, 0,
2320 0, 0, 0, 39, 40, 1518, 1520, 41, 0, 42,
2321 0, 0, 43, 0, 0, 44, 45, 0, 0, 0,
2322 46, 0, 47, 0, 0, 0, 0, 48, 49, 50,
2323 0, 0, 0, 51, 0, 52, 0, 0, 53, 0,
2324 0, 0, 0, 0, 0, 54, 55, 0, 0, 0,
2325 56, 57, 58, 59, 0, 60, 0, 61, 0, 0,
2326 0, 0, 62, 0, 63, 64, 0, 0, 0, 65,
2327 66, 0, 0, 0, 0, 0, 194, 0, 0, 0,
2328 0, 67, 68, 69, 70, 0, 0, 0, 525, 0,
2329 0, 0, 0, 0, 0, 0, 0, 71, 0, 72,
2330 0, 73, 0, 0, 0, 1593, 0, 0, 0, 0,
2331 0, 0, 0, 526, 74, 527, 528, 529, 530, 531,
2332 532, 533, 534, 535, 536, 537, 538, 539, 0, 75,
2333 540, 0, 0, 194, 76, 77, 78, 79, 80, 81,
2334 0, 0, 82, 83, 84, 85, 0, 86, 87, 0,
2335 0, 0, 0, 88, 1628, 89, 90, 91, 92, 93,
2336 94, 0, 0, 0, 95, 96, 97, 0, 0, 0,
2337 0, 98, 0, 99, 100, 0, 0, 101, 102, 0,
2338 0, 0, 1652, 0, 0, 103, 104, 105, 106, 0,
2339 107, 0, 0, 0, 108, 109, 110, 0, 0, 0,
2340 111, 0, 112, 113, 114, 0, 0, 0, 0, 115,
2341 116, 117, 118, 119, 120, 121, 0, 122, 123, 0,
2342 124, 125, 126, 127, 128, 129, 130, 0, 131, 132,
2343 133, 0, 526, 1225, 664, 665, 666, 667, 668, 669,
2344 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2345 134, 135, 136, 137, 138, 139, 140, 141, -7, 1,
2346 0, 0, 0, 0, 142, 143, 144, 145, 146, 0,
2347 0, 0, 0, 0, 0, 0, 847, 848, 4, 525,
2348 147, 148, 0, 0, 0, 0, 149, 0, 0, -7,
2349 150, 0, 0, 16, 0, 17, 18, 0, 0, 19,
2350 20, 0, 525, 0, 21, 22, 23, 0, 0, 25,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2352 0, 0, 27, 28, 0, 544, 0, 0, 29, 0,
2353 0, 30, 0, 0, 0, 0, 0, 0, 31, 32,
2354 0, 0, 0, 0, 0, 0, 0, 33, 34, 0,
2355 0, 0, 0, 0, 0, 0, 35, 36, 37, 38,
2356 0, 0, 0, 0, 0, 39, 40, 0, 0, 41,
2357 0, 42, 0, 0, 43, 0, 0, 44, 45, 0,
2358 0, 0, 46, 0, 47, 0, 0, 0, 0, 48,
2359 49, 50, 0, 0, 0, 51, 0, 52, 0, 0,
2360 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361 0, 0, 0, 57, 58, 59, 0, 60, 0, 61,
2362 544, 0, 0, 0, 62, 0, 63, 64, 0, 0,
2363 0, 65, 66, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 67, -171, -171, -171, -171, -171, -171,
2365 672, 673, 674, 675, 676, 0, 0, 677, 0, 71,
2366 0, 72, 0, 73, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 0, 74, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 0, 75, 0, 0, 0, 0, 76, 77, 78, 79,
2370 0, 81, 0, 0, 82, 83, 849, 85, 0, 86,
2371 87, 0, 0, 0, 0, 0, 0, 89, 90, 91,
2372 92, 93, 94, 0, 0, 0, 0, 96, 97, 0,
2373 0, 0, 0, 98, 0, 99, 100, 0, 0, 101,
2374 102, 0, 0, 0, 0, 0, 0, 103, 0, 105,
2375 106, 0, 107, 0, 0, 0, 108, 109, 110, 0,
2376 0, 0, 111, 0, 112, 113, 114, 0, 0, 0,
2377 0, 115, 0, 0, 0, 0, 0, 0, 0, 122,
2378 123, 0, 124, 0, 0, 0, 0, 129, 130, 0,
2379 131, 132, 133, 224, 225, 226, 5, 0, 227, 228,
2380 8, 229, 230, 231, 232, 233, 234, 235, 0, 0,
2381 0, 0, 134, 135, 136, 137, 138, 139, 140, 141,
2382 0, 0, 0, 0, 0, 24, 142, 850, 851, 852,
2383 0, 526, 0, 664, 665, 666, 667, 668, 669, 670,
2384 671, 672, 673, 674, 675, 676, 0, 0, 677, 0,
2385 0, -7, 0, 1468, 526, 0, 664, 665, 666, 667,
2386 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2387 0, 677, 0, 0, 0, 0, 1469, 545, 0, 546,
2388 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2389 557, 558, 0, 0, 559, 0, 0, 0, 0, 1483,
2390 0, 0, 0, 525, 0, 0, 0, 49, 50, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2392 0, 0, 0, 0, 54, 55, 0, 0, 0, 56,
2393 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
2394 226, 5, 0, 227, 228, 8, 229, 230, 231, 232,
2395 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
2396 0, 68, 0, 70, 0, 0, 0, 0, 0, 0,
2397 24, 0, 545, 0, 546, 547, 548, 549, 550, 551,
2398 552, 553, 554, 555, 556, 557, 558, 0, 0, 559,
2399 0, 0, 0, 0, 1485, 0, 0, 0, 312, 0,
2400 0, 0, 313, 314, 315, 316, 317, 318, 0, 0,
2401 0, 319, 320, 321, 322, 323, 324, 243, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
2403 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 0, 95, 96, 97, 0, 0, 0, 0,
2405 327, 0, 49, 50, 0, 0, 0, 0, 0, 0,
2406 0, 0, 0, 328, 0, 104, 0, 525, 0, 54,
2407 55, 0, 0, 0, 56, 0, 0, 0, 204, 205,
2408 206, 0, 424, 0, 0, 0, 0, 425, 0, 116,
2409 117, 118, 119, 120, 121, 191, 0, 0, 0, 0,
2410 125, 126, 127, 128, 129, 130, 68, 0, 70, 0,
2411 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
2412 339, 0, 0, 0, 0, 0, 0, 0, 0, 134,
2413 135, 136, 137, 138, 139, 0, 0, 0, 0, 0,
2414 0, 0, 0, 0, 244, 245, 246, 146, 0, 0,
2415 0, 0, 0, 0, 0, 340, 0, 0, 0, 147,
2416 247, 0, 243, 0, 0, 248, 0, 0, 0, 249,
2417 0, 0, 0, 1139, 0, 0, 0, 0, 0, 0,
2418 0, 0, 0, 0, 0, 0, 341, 0, 95, 96,
2419 97, 0, 0, 0, 224, 225, 226, 5, 0, 227,
2420 228, 8, 229, 230, 231, 232, 233, 234, 235, 0,
2421 104, 0, 0, 0, 0, 1036, 0, 1037, 0, 0,
2422 0, 0, 0, 0, 0, 544, 24, 0, 0, 0,
2423 0, 0, 0, 426, 116, 117, 118, 119, 120, 121,
2424 0, 0, 0, 1038, 0, 125, 126, 127, 128, 129,
2425 130, 202, 0, 0, 525, 526, 1228, 527, 528, 529,
2426 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
2427 0, 0, 540, 0, 134, 135, 136, 137, 138, 139,
2428 0, 0, 0, 0, 0, 342, 343, 0, 0, 244,
2429 245, 246, 146, 525, 0, 0, 0, 0, 368, 0,
2430 1039, 1040, 0, 0, 147, 247, 0, 0, 49, 50,
2431 248, 0, 0, 0, 249, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 54, 55, 525, 0, 0,
2433 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 1041, 0, 0, 0, 0, 0, 0, 0, 239, 0,
2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 0, 0, 68, 207, 70, 208, 209, 210, 211, 212,
2437 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
2438 0, 0, 0, 0, 241, 1042, 0, 0, 0, 242,
2439 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 0, 1043, 0, 0, 0, 0, 0,
2441 0, 0, 1044, 1045, 0, 0, 0, 0, 243, 526,
2442 0, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2443 673, 674, 675, 676, 0, 0, 677, 0, 0, 0,
2444 0, 1491, 0, 0, 95, 96, 97, 0, 1046, 0,
2445 1047, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2446 0, 0, 1048, 1049, 1050, 0, 104, 0, 525, 0,
2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2448 1051, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2449 116, 117, 118, 119, 120, 121, 0, 0, 0, 0,
2450 0, 125, 126, 127, 128, 129, 130, 224, 225, 226,
2451 5, 0, 227, 228, 8, 229, 230, 231, 232, 233,
2452 234, 235, 0, 0, 0, 1061, 0, 0, 0, 0,
2453 134, 135, 136, 137, 138, 139, 0, 0, 0, 24,
2454 0, 0, 0, 0, 0, 244, 245, 246, 146, 0,
2455 0, 1062, 525, 0, 0, 0, 0, 0, 0, 0,
2456 147, 247, 0, 0, 202, 0, 248, 0, 0, 0,
2457 249, 0, 0, 0, 0, 0, 0, 545, 1063, 546,
2458 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2459 557, 558, 525, 0, 559, 0, 0, 0, 0, 1493,
2460 0, 0, 0, 0, 0, 0, 526, 0, 664, 665,
2461 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2462 676, 49, 50, 677, 0, 0, 0, 0, 1494, 0,
2463 0, 0, 0, 0, 0, 0, 544, 0, 54, 55,
2464 1064, 0, 0, 56, 0, 526, 0, 664, 665, 666,
2465 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
2466 0, 239, 677, 0, 0, 1065, 0, 1498, 0, 0,
2467 0, 0, 0, 1066, 0, 1067, 0, 1068, 1069, 526,
2468 0, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2469 673, 674, 675, 676, 0, 0, 677, 241, 544, 1070,
2470 1071, 1527, 242, 0, 1025, 0, 1072, 0, 0, 0,
2471 0, 0, 0, 0, 0, 0, 0, 1073, 0, 0,
2472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2473 0, 243, 0, 0, 0, 224, 225, 226, 5, 0,
2474 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
2475 0, 0, 0, 0, 0, 0, 0, 95, 96, 97,
2476 0, 0, 1074, 0, 0, 0, 0, 24, 1075, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
2478 0, 366, 0, 0, 367, 0, 0, 0, 0, 0,
2479 0, 0, 202, 1076, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 116, 117, 118, 119, 120, 121, 0,
2481 0, 0, 0, 0, 125, 126, 127, 128, 129, 130,
2482 526, 0, 664, 665, 666, 667, 668, 669, 670, 671,
2483 672, 673, 674, 675, 676, 525, 0, 677, 0, 368,
2484 0, 0, 1528, 134, 135, 136, 137, 138, 139, 49,
2485 50, 0, 0, 0, 0, 0, 525, 369, 244, 245,
2486 246, 146, 0, 0, 0, 0, 54, 55, 0, 0,
2487 0, 56, 0, 147, 247, 370, 0, 0, 0, 248,
2488 0, 371, 0, 249, 372, 0, 0, 0, 238, 239,
2489 0, 0, 373, 0, 0, 0, 0, 0, 0, 0,
2490 0, 0, 0, 68, 526, 70, 664, 665, 666, 667,
2491 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2492 0, 677, 0, 0, 0, 241, 1529, 0, 0, 0,
2493 242, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2494 0, 0, 0, 0, 526, 0, 664, 665, 666, 667,
2495 668, 669, 670, 671, 672, 673, 674, 675, 676, 243,
2496 0, 677, 0, 0, 0, 0, 1530, 0, 0, 0,
2497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2498 0, 0, 0, 0, 0, 95, 96, 97, 545, 1229,
2499 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2500 556, 557, 558, 0, 0, 559, 374, 104, 224, 225,
2501 226, 5, 0, 227, 228, 8, 229, 230, 231, 232,
2502 233, 234, 235, 0, 0, 0, 0, 0, 0, 375,
2503 0, 116, 117, 118, 119, 120, 121, 0, 0, 0,
2504 24, 403, 125, 126, 127, 128, 129, 130, 376, 0,
2505 545, 0, 546, 547, 548, 549, 550, 551, 552, 553,
2506 554, 555, 556, 557, 558, 0, 0, 559, 0, 0,
2507 0, 134, 135, 377, 137, 138, 139, 0, 0, 0,
2508 0, 525, 0, 0, 0, 0, 244, 245, 246, 146,
2509 0, 0, 0, 404, 0, 0, 0, 0, 0, 0,
2510 0, 147, 247, 0, 0, 0, 0, 248, 0, 0,
2511 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
2512 525, 0, 49, 50, 0, 0, 0, 0, 0, 0,
2513 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
2514 55, 405, 0, 406, 56, 0, 0, 0, 0, 0,
2515 0, 0, 0, 0, 407, 408, 0, 0, 0, 0,
2516 0, 0, 0, 0, 0, 525, 0, 0, 0, 0,
2517 0, 0, 0, 0, 0, 0, 68, 0, 70, 0,
2518 0, 0, 0, 0, 0, 0, 0, 526, 0, 664,
2519 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2520 675, 676, 0, 0, 677, 0, 0, 409, 526, 1531,
2521 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2522 674, 675, 676, 0, 0, 677, 0, 0, 0, 0,
2523 1533, 0, 243, 0, 0, 0, 0, 0, 0, 0,
2524 410, 0, 0, 411, 0, 0, 0, 0, 0, 0,
2525 0, 0, 0, 0, 0, 0, 0, 412, 95, 96,
2526 97, 0, 0, 413, 224, 225, 226, 5, 0, 227,
2527 228, 8, 229, 230, 231, 232, 233, 234, 235, 0,
2528 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2529 0, 0, 0, 0, 0, 414, 24, 0, 0, 0,
2530 0, 0, 0, 0, 116, 117, 118, 119, 120, 121,
2531 0, 0, 0, 452, 0, 125, 126, 127, 128, 129,
2532 130, 202, 0, 0, 0, 0, 525, 0, 0, 0,
2533 0, 0, 0, 0, 453, 0, 0, 0, 0, 0,
2534 0, 0, 0, 0, 134, 135, 136, 137, 138, 139,
2535 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
2536 245, 246, 146, 0, 0, 0, 0, 0, 368, 0,
2537 0, 0, 0, 0, 147, 247, 0, 0, 49, 50,
2538 248, 0, 0, 0, 249, 0, 0, 0, 0, 0,
2539 0, 0, 0, 0, 0, 54, 55, 0, 0, 0,
2540 56, 0, 0, 0, 0, 0, 454, 0, 0, 0,
2541 0, 0, 0, 0, 0, 0, 0, 0, 239, 0,
2542 0, 455, 0, 0, 0, 0, 0, 0, 0, 0,
2543 0, 0, 68, 526, 70, 664, 665, 666, 667, 668,
2544 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2545 677, 0, 0, 0, 241, 224, 225, 226, 5, 242,
2546 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
2547 0, 0, 526, 0, 664, 665, 666, 667, 668, 669,
2548 670, 671, 672, 673, 674, 675, 676, 24, 243, 677,
2549 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0,
2550 525, 456, 0, 1002, 1003, 0, 0, 0, 0, 0,
2551 0, 0, 202, 0, 95, 96, 97, 526, 0, 664,
2552 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2553 675, 676, 0, 0, 677, 0, 104, 0, 0, 1548,
2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 1004, 0, 0, 0, 0, 0, 0, 0,
2556 116, 117, 118, 119, 120, 121, 0, 0, 0, 49,
2557 50, 125, 126, 127, 128, 129, 130, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 54, 55, 0, 0,
2559 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
2560 134, 135, 136, 137, 138, 139, 0, 0, 238, 239,
2561 0, 0, 0, 0, 0, 244, 245, 246, 146, 0,
2562 0, 0, 0, 68, 0, 70, 0, 0, 0, 0,
2563 147, 247, 0, 0, 0, 0, 248, 0, 0, 0,
2564 249, 0, 0, 0, 224, 225, 226, 5, 0, 227,
2565 228, 8, 229, 230, 231, 232, 233, 234, 235, 274,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 0, 24, 0, 526, 243,
2568 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2569 674, 675, 676, 0, 0, 677, 0, 0, 0, 0,
2570 1549, 202, 0, 0, 0, 95, 96, 97, 525, 0,
2571 1005, 1006, 0, 0, 236, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 237, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 116, 117, 118, 119, 120, 121, 525, 49, 50,
2576 0, 0, 125, 126, 127, 128, 129, 130, 0, 0,
2577 0, 0, 0, 0, 0, 54, 55, 0, 0, 0,
2578 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 134, 135, 136, 137, 138, 139, 238, 239, 0,
2580 0, 240, 0, 0, 0, 0, 244, 245, 246, 146,
2581 0, 0, 68, 0, 70, 0, 0, 0, 0, 0,
2582 0, 147, 247, 0, 0, 0, 0, 248, 0, 0,
2583 0, 249, 0, 0, 241, 224, 225, 226, 5, 242,
2584 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
2585 0, 0, 526, 0, 664, 665, 666, 667, 668, 669,
2586 670, 671, 672, 673, 674, 675, 676, 24, 243, 677,
2587 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0,
2588 0, 0, 525, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 202, 0, 95, 96, 97, 0, 0, 0,
2590 0, 0, 0, 0, 0, 292, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 293, 0, 0, 0, 0, 0, 0, 0,
2594 116, 117, 118, 119, 120, 121, 0, 544, 0, 49,
2595 50, 125, 126, 127, 128, 129, 130, 0, 0, 0,
2596 0, 0, 0, 0, 0, 0, 54, 55, 0, 0,
2597 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
2598 134, 135, 136, 137, 138, 139, 0, 0, 238, 239,
2599 0, 0, 294, 0, 0, 244, 245, 246, 146, 0,
2600 0, 0, 0, 68, 0, 70, 0, 0, 0, 0,
2601 147, 247, 0, 0, 0, 0, 248, 0, 0, 0,
2602 249, 0, 0, 0, 0, 241, 224, 225, 226, 5,
2603 242, 227, 228, 8, 229, 230, 231, 232, 233, 234,
2604 235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 385, 0, 0, 0, 0, 0, 0, 24, 243,
2606 526, 525, 664, 665, 666, 667, 668, 669, 670, 671,
2607 672, 673, 674, 675, 676, 0, 0, 677, 0, 0,
2608 0, 0, 1566, 202, 0, 95, 96, 97, 0, 0,
2609 0, 0, 0, 0, 0, 0, 386, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 104, 0, 526,
2611 0, 527, 528, 529, 530, 531, 532, 533, 534, 535,
2612 536, 537, 538, 539, 0, 0, 540, 0, 0, 0,
2613 845, 116, 117, 118, 119, 120, 121, 0, 0, 525,
2614 49, 50, 125, 126, 127, 128, 129, 130, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 54, 55, 0,
2616 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
2617 0, 134, 135, 136, 137, 138, 139, 0, 525, 238,
2618 239, 0, 0, 387, 0, 0, 244, 245, 246, 146,
2619 0, 0, 0, 0, 68, 0, 70, 0, 0, 0,
2620 0, 147, 247, 0, 0, 0, 0, 248, 0, 0,
2621 0, 249, 0, 0, 0, 0, 241, 224, 225, 226,
2622 5, 242, 227, 228, 8, 229, 230, 231, 232, 233,
2623 234, 235, 0, 0, 526, 0, 664, 665, 666, 667,
2624 668, 669, 670, 671, 672, 673, 674, 675, 676, 24,
2625 243, 677, 0, 0, 0, 0, 1567, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 471, 525, 0, 0,
2627 0, 0, 0, 0, 202, 0, 95, 96, 97, 0,
2628 0, 0, 0, 0, 0, 0, 0, 472, 0, 0,
2629 0, 0, 525, 0, 0, 0, 0, 0, 104, 545,
2630 0, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2631 555, 556, 557, 558, 0, 0, 559, 0, 0, 0,
2632 846, 368, 116, 117, 118, 119, 120, 121, 0, 0,
2633 0, 49, 50, 125, 126, 127, 128, 129, 130, 0,
2634 0, 0, 0, 0, 0, 0, 0, 0, 54, 55,
2635 0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
2636 0, 0, 134, 135, 136, 137, 138, 139, 0, 0,
2637 0, 239, 0, 0, 0, 0, 0, 244, 245, 246,
2638 146, 0, 0, 0, 0, 68, 0, 70, 0, 0,
2639 0, 0, 147, 247, 0, 0, 0, 0, 248, 0,
2640 0, 0, 249, 0, 0, 0, 0, 241, 0, 0,
2641 0, 525, 242, 526, 0, 664, 665, 666, 667, 668,
2642 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2643 677, 0, 0, 0, 0, 1568, 0, 0, 0, 0,
2644 0, 243, 0, 0, 0, 0, 0, 0, 0, 0,
2645 224, 225, 226, 5, 473, 227, 228, 8, 229, 230,
2646 231, 232, 233, 234, 235, 0, 0, 95, 96, 97,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 24, 0, 0, 0, 0, 0, 0, 104,
2649 0, 526, 0, 664, 665, 666, 667, 668, 669, 670,
2650 671, 672, 673, 674, 675, 676, 0, 202, 677, 0,
2651 0, 0, -90, 116, 117, 118, 119, 120, 121, 0,
2652 0, 0, 0, 0, 125, 126, 127, 128, 129, 130,
2653 526, 0, 664, 665, 666, 667, 668, 669, 670, 671,
2654 672, 673, 674, 675, 676, 0, 0, 677, 0, 0,
2655 0, 525, 1583, 134, 135, 136, 137, 138, 139, 0,
2656 0, 0, 0, 0, 49, 50, 1335, 0, 244, 245,
2657 246, 146, 0, 0, 0, 0, 0, 0, 0, 0,
2658 525, 54, 55, 147, 247, 0, 56, 0, 0, 248,
2659 0, 0, 0, 249, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 238, 239, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 68, 526,
2662 70, 664, 665, 666, 667, 668, 669, 670, 671, 672,
2663 673, 674, 675, 676, 0, 0, 677, 0, 0, 0,
2664 241, 1585, 0, 0, 526, 242, 664, 665, 666, 667,
2665 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2666 0, 677, 0, 0, 0, 0, 1598, 0, 0, 0,
2667 0, 0, 0, 0, 243, 0, 0, 0, 224, 225,
2668 226, 5, 0, 227, 228, 8, 229, 230, 231, 232,
2669 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
2670 95, 96, 97, 525, 0, 1336, 0, 0, 0, 0,
2671 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 104, 0, 17, 18, 525, 0, 0, 1337,
2673 0, 0, 0, 0, 561, 202, 0, 0, 0, 562,
2674 0, 0, 0, 0, 0, 0, 116, 117, 118, 119,
2675 120, 121, 0, 0, 0, 0, 0, 125, 126, 127,
2676 128, 129, 130, 526, 0, 664, 665, 666, 667, 668,
2677 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2678 677, 0, 0, 0, 0, 1599, 134, 135, 136, 137,
2679 138, 139, 49, 50, 1325, 0, 0, 0, 0, 0,
2680 0, 244, 245, 246, 146, 563, 0, 0, 0, 54,
2681 55, 0, 0, 0, 56, 0, 147, 247, 0, 0,
2682 0, 0, 248, 0, 0, 0, 249, 0, 564, 0,
2683 0, 238, 239, 0, 0, 0, 0, 204, 205, 206,
2684 0, 0, 0, 0, 0, 0, 68, 0, 70, 565,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 241, 224,
2687 225, 226, 5, 242, 227, 228, 8, 229, 230, 231,
2688 232, 233, 234, 235, 0, 0, 0, 0, 0, 0,
2689 0, 0, 525, 0, 0, 241, 0, 0, 0, 0,
2690 242, 24, 243, 526, 0, 664, 665, 666, 667, 668,
2691 669, 670, 671, 672, 673, 674, 675, 676, 0, 0,
2692 677, 0, 0, 0, 0, 1600, 202, 0, 95, 96,
2693 97, 0, 526, 1326, 664, 665, 666, 667, 668, 669,
2694 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2695 104, 0, 0, 0, 1614, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 525, 0, 0, 0,
2697 566, 0, 0, 0, 116, 117, 118, 119, 120, 121,
2698 0, 0, 0, 49, 50, 125, 126, 127, 128, 129,
2699 130, 567, 0, 0, 0, 0, 0, 0, 0, 0,
2700 54, 55, 0, 525, 0, 56, 0, 0, 0, 0,
2701 0, 0, 0, 0, 134, 135, 136, 137, 138, 139,
2702 132, 0, 0, 0, 0, 0, 0, 0, 0, 244,
2703 245, 246, 146, 0, 0, 0, 0, 68, 0, 70,
2704 0, 0, 0, 0, 147, 247, 0, 0, 141, 0,
2705 248, 0, 0, 0, 249, 526, 0, 664, 665, 666,
2706 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
2707 0, 0, 677, 274, 0, 0, 0, 1615, 526, 568,
2708 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2709 674, 675, 676, 243, 0, 677, 0, 0, 0, 0,
2710 1616, 0, 525, 0, 0, 0, 0, 0, 0, 984,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
2712 96, 97, 207, 0, 208, 209, 210, 211, 212, 213,
2713 214, 215, 216, 217, 218, 219, 220, 221, 222, 0,
2714 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 985, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
2717 121, 0, 986, 0, 0, 0, 125, 126, 127, 128,
2718 129, 130, 0, 224, 225, 226, 5, 0, 227, 228,
2719 8, 229, 230, 231, 232, 233, 234, 235, 0, 0,
2720 0, 0, 0, 0, 0, 134, 135, 136, 137, 138,
2721 139, 1289, 0, 0, 0, 24, 0, 0, 0, 0,
2722 244, 245, 246, 146, 0, 0, 0, 1249, 0, 0,
2723 0, 0, 0, 0, 0, 147, 247, 0, 0, 0,
2724 0, 248, 0, 0, 526, 249, 664, 665, 666, 667,
2725 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2726 0, 677, 0, 0, 0, 0, 1631, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
2728 225, 226, 5, 0, 227, 228, 8, 229, 230, 231,
2729 232, 233, 234, 235, 0, 0, 0, 49, 50, 0,
2730 0, 0, 525, 0, 0, 0, 0, 0, 0, 0,
2731 0, 24, 0, 0, 54, 55, 0, 0, 526, 56,
2732 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
2733 674, 675, 676, 0, 0, 677, 0, 0, 0, 0,
2734 1632, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 68, 0, 70, 0, 526, 0, 664, 665, 666,
2736 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
2737 0, 1250, 677, 0, 0, 0, 0, 1642, 0, 0,
2738 0, 1251, 0, 0, 525, 0, 0, 0, 0, 0,
2739 0, 0, 0, 49, 50, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 525, 0, 243, 0, 0,
2741 54, 55, 0, 0, 0, 56, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 544, 0, 95, 96, 97, 0, 0, 0, 0,
2744 0, 0, 0, 0, 1290, 0, 0, 68, 0, 70,
2745 0, 0, 0, 0, 526, 104, 664, 665, 666, 667,
2746 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2747 0, 677, 0, 0, 0, 0, 1648, 0, 0, 116,
2748 117, 118, 119, 120, 121, 0, 0, 0, 0, 0,
2749 125, 126, 127, 128, 129, 130, 0, 0, 0, 0,
2750 0, 0, 0, 243, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
2752 135, 136, 137, 138, 139, 0, 0, 0, 0, 95,
2753 96, 97, 0, 0, 244, 245, 246, 146, 0, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
2755 247, 104, 0, 0, 0, 248, 0, 0, 0, 249,
2756 224, 225, 226, 5, 0, 227, 228, 8, 229, 230,
2757 231, 232, 233, 234, 235, 116, 117, 118, 119, 120,
2758 121, 0, 0, 0, 0, 0, 125, 126, 127, 128,
2759 129, 130, 24, 0, 0, 0, 487, 488, 0, 0,
2760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 0, 0, 0, 134, 135, 136, 137, 138,
2762 139, 0, 0, 0, 489, 490, 0, 0, 0, 0,
2763 244, 245, 246, 146, 0, 0, 0, 0, 0, 0,
2764 0, 0, 0, 0, 0, 147, 247, 0, 0, 0,
2765 0, 248, 0, 0, 526, 249, 664, 665, 666, 667,
2766 668, 669, 670, 671, 672, 673, 674, 675, 676, 525,
2767 0, 677, 0, 0, 49, 50, 1654, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 54, 55, 0, 0, 0, 56, 0, 0, 0,
2770 0, 0, 0, 0, 0, 224, 225, 226, 5, 0,
2771 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
2772 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
2773 70, 0, 0, 0, 0, 0, 526, 24, 664, 665,
2774 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2775 676, 0, 0, 677, 0, 0, 0, 526, 1662, 664,
2776 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
2777 675, 676, 525, 0, 677, 0, 0, 0, 0, 1666,
2778 0, 0, 0, 545, 243, 546, 547, 548, 549, 550,
2779 551, 552, 553, 554, 555, 556, 557, 558, 0, 0,
2780 559, 0, 0, 0, 1094, 0, 0, 0, 0, 0,
2781 95, 96, 97, 0, 0, 0, 0, 0, 0, 49,
2782 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2783 0, 0, 104, 0, 0, 0, 54, 55, 0, 0,
2784 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 736, 0, 0, 737, 0, 116, 117, 118, 119,
2786 120, 121, 0, 0, 0, 0, 0, 125, 126, 127,
2787 128, 129, 130, 68, 0, 70, 0, 498, 499, 0,
2788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 134, 135, 136, 137,
2790 138, 139, 525, 0, 0, 500, 501, 0, 0, 0,
2791 0, 244, 245, 246, 146, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 147, 247, 0, 243,
2793 0, 0, 248, 0, 0, 0, 249, 224, 225, 226,
2794 5, 0, 6, 7, 8, 9, 10, 11, 12, 13,
2795 14, 15, 0, 0, 0, 95, 96, 97, 0, 0,
2796 738, 0, 0, 0, 0, 0, 0, 0, 0, 24,
2797 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2799 0, 739, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 116, 117, 118, 119, 120, 121, 0, 0, 0,
2801 0, 0, 125, 126, 127, 128, 129, 130, 0, 0,
2802 0, 526, 0, 664, 665, 666, 667, 668, 669, 670,
2803 671, 672, 673, 674, 675, 1179, 0, 0, 677, 0,
2804 0, 134, 135, 136, 137, 138, 139, 0, 0, 0,
2805 0, 49, 50, 0, 0, 0, 244, 245, 246, 146,
2806 0, 0, 0, 0, 0, 0, 0, 0, 54, 55,
2807 0, 147, 247, 56, 0, 0, 0, 248, 0, 0,
2808 0, 249, 224, 225, 226, 5, 0, 6, 7, 8,
2809 9, 10, 11, 12, 13, 14, 15, 0, 0, 0,
2810 0, 0, 0, 0, 0, 68, 69, 70, 0, 0,
2811 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 526, 0, 527, 528, 529, 530,
2813 531, 532, 533, 534, 535, 536, 537, 538, 539, 0,
2814 0, 540, 0, 0, 0, 1095, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 80, 0, 0, 0, 0, 0, 515, 0, 544,
2817 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 95, 96, 97,
2819 0, 0, 525, 0, 0, 0, 49, 50, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
2821 0, 0, 544, 54, 55, 0, 0, 0, 56, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 116, 117, 118, 119, 120, 121, 0,
2824 0, 0, 0, 0, 125, 126, 127, 128, 129, 130,
2825 68, 69, 70, 0, 526, 0, 664, 665, 666, 667,
2826 668, 669, 670, 671, 672, 673, 674, 675, 1181, 0,
2827 0, 677, 0, 134, 135, 136, 137, 138, 139, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 244, 245,
2829 246, 146, 0, 0, 0, 0, 0, 0, 0, 0,
2830 525, 0, 0, 147, 148, 0, 80, 0, 0, 149,
2831 0, 0, 1403, 150, 0, 0, 0, 0, 0, 0,
2832 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 95, 96, 97, 0, 224, 225, 226, 5,
2834 0, 227, 228, 8, 229, 230, 231, 232, 233, 234,
2835 235, 0, 0, 0, 104, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 24, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
2838 118, 119, 120, 121, 0, 0, 0, 191, 0, 125,
2839 126, 127, 128, 129, 130, 0, 0, 0, 0, 0,
2840 0, 0, 544, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 134, 135,
2842 136, 137, 138, 139, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 244, 245, 246, 146, 0, 0, 0,
2844 0, 0, 0, 0, 525, 0, 0, 0, 147, 148,
2845 49, 50, 0, 0, 149, 0, 0, 0, 150, 0,
2846 0, 0, 0, 0, 0, 0, 0, 54, 55, 0,
2847 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 224, 225, 226, 5, 0, 227, 228,
2849 8, 229, 230, 231, 232, 233, 234, 235, 0, 0,
2850 0, 0, 0, 0, 68, 0, 70, 0, 0, 0,
2851 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
2852 0, 545, 767, 546, 547, 548, 549, 550, 551, 552,
2853 553, 554, 555, 556, 557, 558, 0, 0, 559, 525,
2854 0, 0, 1096, 0, 526, 0, 664, 665, 666, 667,
2855 668, 669, 670, 671, 672, 673, 674, 675, 676, 0,
2856 243, 677, 0, 0, 545, 845, 546, 547, 548, 549,
2857 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
2858 0, 559, 0, 0, 0, 1195, 95, 96, 97, 544,
2859 0, 0, 0, 0, 0, 0, 682, 49, 50, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
2861 0, 0, 0, 0, 54, 55, 0, 768, 0, 56,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 116, 117, 118, 119, 120, 121, 0, 0,
2864 0, 0, 0, 125, 126, 127, 128, 129, 130, 0,
2865 0, 68, -171, 70, 664, 665, 666, 667, 668, 669,
2866 670, 671, 672, 673, 674, 675, 676, 0, 0, 677,
2867 0, 0, 134, 135, 136, 137, 138, 139, 0, 525,
2868 0, 0, 0, 0, 0, 0, 0, 244, 245, 246,
2869 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 147, 247, 0, 0, 0, 243, 248, 0,
2871 0, 0, 249, 0, 0, 224, 225, 226, 5, 0,
2872 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
2873 0, 0, 0, 95, 96, 97, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
2875 0, 0, 0, 0, 545, 104, 546, 547, 548, 549,
2876 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
2877 0, 559, 202, 0, 0, 1356, 0, 0, 0, 116,
2878 117, 118, 119, 120, 121, 0, 0, 0, 0, 0,
2879 125, 126, 127, 128, 129, 130, 526, 0, 664, 665,
2880 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
2881 676, 0, 0, 677, 0, 0, 0, 1095, 0, 134,
2882 135, 136, 137, 138, 139, 544, 0, 0, 0, 49,
2883 50, 0, 0, 0, 244, 245, 246, 146, 0, 0,
2884 0, 0, 0, 0, 0, 0, 54, 55, 0, 147,
2885 247, 56, 0, 0, 0, 248, 0, 0, 0, 249,
2886 224, 225, 226, 5, 0, 227, 228, 8, 229, 230,
2887 231, 232, 233, 234, 235, 0, 0, 0, 0, 0,
2888 0, 0, 0, 68, 0, 70, 0, 0, 1302, 0,
2889 0, 526, 24, 527, 528, 529, 530, 531, 532, 533,
2890 534, 535, 536, 537, 538, 539, 0, 0, 540, 0,
2891 0, 0, 1459, 0, 0, 0, 525, 0, 0, 274,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 544, 243,
2894 0, 545, 0, 546, 547, 548, 549, 550, 551, 552,
2895 553, 554, 555, 556, 557, 558, 0, 0, 559, 0,
2896 0, 0, 1460, 0, 0, 95, 96, 97, 525, 0,
2897 0, 0, 0, 0, 49, 50, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
2899 0, 54, 55, 0, 0, 0, 56, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 116, 117, 118, 119, 120, 121, 0, 0, 0,
2902 0, 0, 125, 126, 127, 128, 129, 130, 68, 0,
2903 70, -171, 0, 527, 528, 529, 530, 531, 532, 533,
2904 534, 535, 536, 537, 538, 539, 0, 0, 540, 0,
2905 0, 134, 135, 136, 137, 138, 139, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 244, 245, 246, 146,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 147, 247, 0, 243, 0, 0, 248, 0, 0,
2909 0, 249, 224, 225, 226, 5, 0, 227, 228, 8,
2910 229, 230, 231, 232, 233, 234, 235, 0, 0, 0,
2911 95, 96, 97, 0, 0, 0, 0, 0, 0, 0,
2912 0, 1303, 0, 0, 24, 0, 0, 0, 0, 0,
2913 0, 0, 104, 0, 0, 0, 0, 0, 0, 0,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 1453, 0, 0, 0, 0, 116, 117, 118, 119,
2916 120, 121, 0, 0, 0, 0, 0, 125, 126, 127,
2917 128, 129, 130, 0, 0, 0, 0, -171, 0, 546,
2918 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2919 557, 558, 0, 0, 559, 0, 134, 135, 136, 137,
2920 138, 139, 0, 0, 0, 0, 49, 50, 0, 0,
2921 0, 244, 245, 246, 146, 0, 0, 0, 0, 0,
2922 0, 0, 0, 54, 55, 0, 147, 247, 56, 0,
2923 0, 0, 248, 0, 0, 0, 249, 224, 225, 226,
2924 5, 0, 227, 228, 8, 229, 230, 231, 232, 233,
2925 234, 235, 0, 0, 0, 0, 0, 0, 0, 0,
2926 68, 0, 70, 0, 0, 0, 0, 0, 526, 24,
2927 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
2928 537, 538, 539, 0, 0, 540, 0, 0, 191, 1461,
2929 545, 0, 546, 547, 548, 549, 550, 551, 552, 553,
2930 554, 555, 556, 557, 558, 0, 0, 559, 0, 0,
2931 0, 1462, 544, 0, 0, 0, 243, 0, 1454, 0,
2932 526, 0, 527, 528, 529, 530, 531, 532, 533, 534,
2933 535, 536, 537, 538, 539, 17, 18, 540, 0, 0,
2934 544, 1463, 95, 96, 97, 561, 0, 0, 0, 0,
2935 562, 49, 50, 0, 0, 0, 0, 0, 0, 0,
2936 0, 0, 0, 0, 104, 0, 0, 0, 54, 55,
2937 0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
2939 118, 119, 120, 121, 0, 0, 0, 0, 0, 125,
2940 126, 127, 128, 129, 130, 68, 0, 70, 0, 0,
2941 0, 0, 0, 0, 0, 0, 563, 0, 0, 0,
2942 0, 0, 0, 0, 0, 0, 0, 0, 134, 135,
2943 136, 137, 138, 139, 0, 0, 0, 0, 0, 564,
2944 0, 0, 0, 244, 245, 246, 146, 0, 0, 0,
2945 0, 0, 0, 0, 0, 0, 0, 0, 147, 247,
2946 565, 243, 0, 0, 248, 0, 0, 0, 249, 224,
2947 225, 226, 5, 0, 227, 228, 8, 229, 230, 231,
2948 232, 233, 234, 235, 0, 0, 0, 95, 96, 97,
2949 0, 0, 0, 0, 544, 0, 0, 0, 0, 0,
2950 0, 24, 0, 0, 0, 0, 241, 0, 0, 104,
2951 0, 242, 0, 0, 0, 0, 0, 0, 0, 0,
2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2953 0, 0, 0, 116, 117, 118, 119, 120, 121, 0,
2954 0, 0, 0, 0, 125, 126, 127, 128, 129, 130,
2955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2957 0, 0, 0, 134, 135, 136, 137, 138, 139, 0,
2958 0, 566, 0, 49, 50, 0, 0, 0, 244, 245,
2959 246, 146, 0, 0, 0, 0, 0, 0, 0, 0,
2960 54, 55, 567, 147, 247, 56, 0, 0, 0, 248,
2961 0, 0, 0, 249, 224, 225, 226, 5, 0, 227,
2962 228, 8, 229, 230, 231, 232, 233, 234, 235, 0,
2963 0, 132, 0, 0, 0, 0, 0, 68, 0, 70,
2964 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
2965 0, 0, 0, 0, 0, 0, 0, 0, 0, 141,
2966 0, 0, 0, 0, 545, 191, 546, 547, 548, 549,
2967 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
2968 0, 559, 0, 0, 0, 1464, 0, 0, 0, 0,
2969 629, 0, 545, 243, 546, 547, 548, 549, 550, 551,
2970 552, 553, 554, 555, 556, 557, 558, 525, 0, 559,
2971 0, 0, 0, 1484, 0, 0, 0, 0, 0, 95,
2972 96, 97, 0, 0, 0, 0, 0, 0, 49, 50,
2973 0, 0, 0, 0, 0, 0, 0, 0, 0, 525,
2974 0, 104, 0, 0, 0, 54, 55, 0, 0, 0,
2975 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
2977 121, 0, 0, 450, 0, 0, 125, 126, 127, 128,
2978 129, 130, 68, 0, 70, 0, 0, 0, 0, 0,
2979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2980 0, 0, 0, 0, 0, 134, 135, 136, 137, 138,
2981 139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2982 244, 245, 246, 146, 0, 0, 0, 0, 0, 0,
2983 525, 0, 0, 0, 0, 147, 247, 0, 243, 0,
2984 0, 248, 0, 0, 0, 249, 545, 0, 546, 547,
2985 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
2986 558, 0, 0, 559, 95, 96, 97, 1497, 224, 225,
2987 226, 5, 0, 227, 228, 8, 229, 230, 231, 232,
2988 233, 234, 235, 0, 0, 0, 104, 0, 0, 0,
2989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2990 24, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2991 116, 117, 118, 119, 120, 121, 0, 0, 0, 0,
2992 0, 125, 126, 127, 128, 129, 130, 0, 0, 0,
2993 0, 0, 544, 0, 0, 0, 0, 0, 0, 0,
2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2995 134, 135, 136, 137, 138, 139, 0, 0, 0, 0,
2996 0, 0, 0, 0, 0, 244, 245, 246, 146, 0,
2997 0, 0, 368, 0, 525, 0, 0, 0, 0, 0,
2998 147, 247, 49, 50, 0, 0, 248, 0, 0, 0,
2999 637, 0, 0, 0, 0, 0, 0, 0, 0, 54,
3000 55, 0, 0, 0, 56, 0, 0, 0, 0, 0,
3001 0, 0, 0, 224, 225, 226, 5, 0, 227, 228,
3002 8, 229, 230, 231, 232, 233, 234, 235, 0, 0,
3003 0, 0, 0, 0, 0, 0, 68, 0, 70, 0,
3004 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
3005 0, 0, 0, 0, 0, 0, 0, 0, 0, 526,
3006 0, 664, 665, 666, 667, 668, 669, 670, 671, 672,
3007 673, 674, 675, 676, 544, 0, 677, 0, 0, 0,
3008 1459, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 526, 243, 664, 665, 666, 667, 668, 669, 670,
3010 671, 672, 673, 674, 675, 676, 0, 0, 677, 0,
3011 0, 0, 1461, 0, 0, 0, 525, 0, 95, 96,
3012 97, 0, 0, 0, 0, 0, 0, 49, 50, 0,
3013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3014 104, 0, 0, 0, 54, 55, 0, 0, 0, 56,
3015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 0, 0, 0, 116, 117, 118, 119, 120, 121,
3017 0, 0, 0, 0, 0, 125, 126, 127, 128, 129,
3018 130, 68, 526, 70, 527, 528, 529, 530, 531, 532,
3019 533, 534, 535, 536, 537, 538, 539, 0, 0, 540,
3020 0, 0, 0, 1561, 134, 135, 136, 137, 138, 139,
3021 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
3022 245, 246, 146, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 0, 147, 247, 0, 243, 0, 0,
3024 248, 0, 0, 0, 249, 224, 225, 226, 5, 0,
3025 227, 228, 8, 229, 230, 231, 232, 233, 234, 235,
3026 0, 0, 0, 95, 96, 97, 0, 0, 0, 0,
3027 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
3028 0, 0, 0, 0, 545, 104, 546, 547, 548, 549,
3029 550, 551, 552, 553, 554, 555, 556, 557, 558, 1315,
3030 0, 559, 0, 0, 0, 1562, 0, 0, 0, 116,
3031 117, 118, 119, 120, 121, 0, 0, 0, 0, 0,
3032 125, 126, 127, 128, 129, 130, 526, 0, 527, 528,
3033 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
3034 539, 0, 0, 540, 0, 0, 0, 1563, 0, 134,
3035 135, 136, 137, 138, 139, 0, 0, 0, 0, 49,
3036 50, 0, 0, 0, 244, 245, 246, 146, 0, 0,
3037 0, 0, 0, 0, 0, 0, 54, 55, 0, 147,
3038 247, 56, 0, 0, 0, 248, 0, 0, 0, 249,
3039 224, 225, 226, 5, 0, 227, 228, 8, 229, 230,
3040 231, 232, 233, 234, 235, 0, 0, 0, 0, 0,
3041 0, 0, 0, 68, 0, 70, 0, 0, 0, 0,
3042 0, 0, 24, 0, 0, 0, 545, 0, 546, 547,
3043 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
3044 558, 0, 0, 559, 0, 0, 525, 1564, 0, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3046 0, 0, 0, 0, 0, 0, 525, 0, 526, 243,
3047 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
3048 674, 675, 676, 0, 0, 677, 0, 0, 0, 1561,
3049 0, 0, 0, 544, 0, 95, 96, 97, 0, 0,
3050 0, 0, 0, 0, 49, 50, 0, 0, 0, 0,
3051 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
3052 0, 54, 55, 0, 0, 0, 56, 0, 0, 0,
3053 0, 1317, 0, 0, 0, 0, 0, 0, 0, 0,
3054 0, 116, 117, 118, 119, 120, 121, 0, 0, 0,
3055 0, 0, 125, 126, 127, 128, 129, 130, 68, 0,
3056 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3058 0, 134, 135, 136, 137, 138, 139, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 244, 245, 246, 146,
3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3061 0, 147, 247, 0, 243, 0, 0, 248, 0, 0,
3062 0, 249, 224, 225, 226, 5, 0, 227, 228, 8,
3063 229, 230, 231, 232, 233, 234, 235, 0, 0, 0,
3064 95, 96, 97, 0, 0, 0, 0, 525, 0, 0,
3065 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
3066 0, 0, 104, 0, 0, 0, 0, 0, 0, 525,
3067 0, 0, 0, 0, 0, 0, 1348, 0, 0, 0,
3068 0, 0, 0, 0, 0, 0, 116, 117, 118, 119,
3069 120, 121, 0, 0, 0, 0, 0, 125, 126, 127,
3070 128, 129, 130, 0, 0, 0, 0, 0, 0, 0,
3071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072 0, 0, 0, 0, 0, 0, 134, 135, 136, 137,
3073 138, 139, 0, 0, 0, 0, 49, 50, 0, 0,
3074 0, 244, 245, 246, 146, 0, 0, 0, 0, 0,
3075 0, 0, 0, 54, 55, 0, 147, 247, 56, 0,
3076 0, 0, 248, 0, 0, 0, 249, 224, 225, 226,
3077 5, 0, 227, 228, 8, 229, 230, 231, 232, 233,
3078 234, 235, 0, 0, 0, 0, 0, 0, 0, 0,
3079 68, 0, 70, 544, 0, 0, 0, 0, 526, 24,
3080 664, 665, 666, 667, 668, 669, 670, 671, 672, 673,
3081 674, 675, 676, 525, 0, 677, 0, 0, 526, 1563,
3082 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
3083 537, 538, 539, 525, 0, 540, 0, 0, 0, 1612,
3084 0, 0, 0, 0, 0, 545, 243, 546, 547, 548,
3085 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
3086 525, 0, 559, 0, 0, 0, 1613, 0, 0, 0,
3087 0, 0, 95, 96, 97, 0, 0, 0, 0, 0,
3088 544, 49, 50, 0, 0, 0, 0, 0, 0, 0,
3089 0, 0, 0, 0, 104, 0, 0, 0, 54, 55,
3090 525, 0, 0, 56, 0, 0, 0, 0, 0, 0,
3091 0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
3092 118, 119, 120, 121, 0, 0, 0, 0, 0, 125,
3093 126, 127, 128, 129, 130, 68, 0, 70, 0, 0,
3094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3095 0, 0, 0, 0, 0, 0, 0, 0, 134, 135,
3096 136, 137, 138, 139, 0, 0, 0, 0, 0, 0,
3097 0, 0, 0, 244, 245, 246, 146, 0, 0, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 147, 247,
3099 0, 243, 0, 0, 248, 0, 0, 0, 249, 526,
3100 0, 664, 665, 666, 667, 668, 669, 670, 671, 672,
3101 673, 674, 675, 676, 0, 0, 677, 95, 96, 97,
3102 1612, 526, 0, 527, 528, 529, 530, 531, 532, 533,
3103 534, 535, 536, 537, 538, 539, 0, 0, 540, 104,
3104 0, 0, 1640, 0, 0, 0, 0, 0, 0, 0,
3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3106 0, 0, 0, 116, 117, 118, 119, 120, 121, 0,
3107 0, 0, 0, 0, 125, 126, 127, 128, 129, 130,
3108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3110 0, 0, 0, 134, 135, 136, 137, 138, 139, 0,
3111 0, 0, 0, 0, 0, 0, 0, 0, 244, 245,
3112 246, 763, 0, 0, 0, 0, 0, 0, 0, 0,
3113 0, 0, 0, 147, 247, 0, 0, 0, 0, 248,
3114 0, 0, 0, 249, 0, 545, 0, 546, 547, 548,
3115 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
3116 0, 0, 559, 0, 0, 526, 1641, 664, 665, 666,
3117 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
3118 0, 0, 677, 0, 0, 526, 1640, 664, 665, 666,
3119 667, 668, 669, 670, 671, 672, 673, 674, 675, 676,
3120 0, 0, 677, 0, 0, 0, 1657, 0, 0, 0,
3121 0, 0, 526, 0, 527, 528, 529, 530, 531, 532,
3122 533, 534, 535, 536, 537, 538, 539, 0, 0, 540,
3123 0, 0, 545, 1658, 546, 547, 548, 549, 550, 551,
3124 552, 553, 554, 555, 556, 557, 558, 0, 0, 559,
3125 0, 0, 526, 1659, 664, 665, 666, 667, 668, 669,
3126 670, 671, 672, 673, 674, 675, 676, 0, 571, 677,
3127 0, 0, 0, 1658, 572, 0, 571, 0, 0, 0,
3128 0, 0, 572, 0, 0, 0, 0, 0, 0, 0,
3129 0, 0, 0, 0, 202, 573, 0, 0, 0, 0,
3130 0, 0, 202, 573, 312, 0, 0, 0, 313, 314,
3131 315, 316, 317, 318, 0, 0, 0, 319, 320, 321,
3132 322, 323, 324, 0, 574, 575, 0, 0, 0, 576,
3133 0, 0, 574, 575, 577, 325, 0, 576, 326, 0,
3134 0, 0, 577, 0, 0, 0, 0, 0, 0, 0,
3135 0, 0, 0, 0, 0, 0, 327, 0, 0, 0,
3136 578, 0, 0, 0, 0, 0, 0, 0, 578, 328,
3137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3138 0, 0, 0, 0, 0, 579, 580, 0, 581, 0,
3139 238, 239, 582, 579, 580, 0, 581, 0, 238, 239,
3140 582, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3141 0, 0, 0, 0, 0, 0, 329, 330, 331, 332,
3142 333, 334, 335, 336, 337, 338, 339, 241, 0, 0,
3143 0, 0, 242, 0, 0, 241, 0, 0, 0, 0,
3144 242, 0, 0, 0, 0, 0, 0, 0, 583, 0,
3145 0, 0, 0, 0, 0, 0, 583, 0, 0, 0,
3146 0, 340, 0, 0, 0, 0, 0, 0, 0, 0,
3147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3149 0, 0, 341, 584, 0, 0, 0, 0, 0, 0,
3150 0, 584, 0, 0, 0, 0, 0, 0, 0, 0,
3151 0, 0, 585, 0, 0, 0, 0, 0, 0, 0,
3152 585, 0, 0, 586, 0, 0, 0, 0, 0, 0,
3153 0, 586, 0, 0, 0, 0, 0, 0, 0, 0,
3154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3157 0, 0, 587, 0, 0, 0, 0, 0, 0, 0,
3158 587, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3159 0, 342, 343, 0, 0, 0, 0, 0, 0, 0,
3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3161 0, 588, 0, 0, 0, 0, 0, 0, 0, 1224
3162 };
3163
3164 static const yytype_int16 yycheck[] =
3165 {
3166 0, 293, 588, 167, 35, 81, 19, 20, 178, 69,
3167 62, 181, 49, 183, 184, 79, 186, 124, 46, 304,
3168 45, 75, 61, 104, 923, 75, 182, 27, 62, 46,
3169 66, 46, 34, 47, 323, 111, 62, 63, 44, 39,
3170 40, 122, 208, 75, 102, 52, 40, 213, 25, 375,
3171 27, 103, 124, 105, 125, 17, 33, 109, 110, 96,
3172 959, 46, 62, 40, 64, 158, 222, 329, 46, 158,
3173 47, 75, 398, 114, 218, 27, 60, 75, 69, 208,
3174 399, 33, 392, 124, 213, 62, 396, 64, 40, 69,
3175 122, 97, 354, 132, 133, 47, 22, 52, 98, 132,
3176 133, 392, 62, 103, 248, 394, 397, 392, 99, 109,
3177 62, 75, 64, 68, 167, 115, 19, 20, 155, 169,
3178 394, 171, 172, 123, 425, 426, 103, 428, 105, 165,
3179 394, 301, 109, 110, 215, 148, 208, 218, 394, 165,
3180 1039, 213, 142, 123, 69, 170, 394, 147, 148, 149,
3181 150, 135, 136, 394, 208, 162, 204, 167, 208, 213,
3182 394, 64, 117, 213, 236, 236, 128, 33, 222, 227,
3183 204, 169, 265, 171, 172, 304, 265, 102, 178, 179,
3184 69, 181, 182, 138, 354, 185, 75, 187, 188, 189,
3185 190, 168, 58, 395, 396, 98, 362, 394, 208, 212,
3186 202, 208, 209, 213, 206, 108, 213, 171, 172, 248,
3187 208, 132, 133, 145, 208, 213, 168, 253, 222, 213,
3188 204, 0, 27, 237, 179, 180, 181, 253, 33, 300,
3189 269, 270, 304, 122, 394, 40, 392, 221, 69, 239,
3190 19, 62, 47, 22, 75, 148, 206, 247, 248, 249,
3191 321, 279, 31, 51, 304, 280, 216, 62, 222, 64,
3192 237, 223, 279, 297, 279, 337, 169, 321, 208, 75,
3193 394, 226, 77, 213, 294, 230, 302, 75, 144, 293,
3194 146, 582, 61, 172, 332, 392, 313, 337, 295, 296,
3195 338, 122, 71, 214, 279, 322, 256, 304, 103, 165,
3196 105, 279, 227, 303, 109, 110, 304, 394, 87, 212,
3197 392, 392, 360, 147, 394, 397, 293, 115, 74, 303,
3198 99, 276, 101, 269, 270, 177, 178, 106, 107, 284,
3199 285, 345, 392, 167, 1233, 399, 320, 219, 246, 337,
3200 304, 172, 224, 122, 394, 124, 75, 279, 269, 270,
3201 395, 396, 366, 373, 206, 75, 356, 22, 69, 359,
3202 373, 392, 67, 168, 394, 231, 232, 387, 345, 99,
3203 75, 371, 542, 171, 172, 394, 376, 377, 310, 282,
3204 102, 397, 337, 394, 273, 206, 289, 253, 129, 366,
3205 117, 394, 22, 245, 301, 216, 392, 394, 204, 399,
3206 127, 397, 594, 399, 596, 597, 406, 394, 394, 396,
3207 208, 332, 412, 394, 366, 213, 222, 122, 59, 394,
3208 420, 62, 596, 597, 222, 394, 172, 183, 394, 429,
3209 430, 18, 432, 394, 604, 455, 163, 394, 394, 360,
3210 394, 441, 273, 309, 0, 311, 399, 132, 133, 399,
3211 450, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3212 386, 387, 388, 463, 393, 391, 171, 172, 399, 225,
3213 72, 641, 394, 643, 394, 645, 394, 75, 392, 479,
3214 22, 301, 394, 394, 204, 394, 208, 487, 488, 489,
3215 490, 213, 386, 387, 388, 329, 330, 391, 498, 499,
3216 500, 501, 222, 394, 394, 227, 304, 234, 394, 288,
3217 586, 511, 512, 513, 394, 394, 394, 222, 394, 571,
3218 354, 355, 356, 357, 358, 359, 526, 527, 528, 529,
3219 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
3220 540, 392, 594, 392, 596, 545, 546, 547, 548, 549,
3221 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
3222 560, 366, 576, 577, 71, 206, 271, 581, 392, 171,
3223 172, 585, 213, 171, 172, 216, 301, 273, 273, 358,
3224 397, 360, 361, 583, 269, 270, 264, 587, 293, 273,
3225 115, 386, 387, 388, 571, 595, 391, 301, 301, 576,
3226 577, 273, 377, 603, 581, 384, 208, 273, 585, 391,
3227 208, 213, 167, 394, 121, 213, 593, 594, 391, 596,
3228 597, 391, 22, 402, 576, 132, 133, 627, 399, 581,
3229 304, 140, 367, 585, 386, 387, 388, 637, 1224, 391,
3230 395, 593, 642, 396, 644, 395, 646, 647, 648, 649,
3231 273, 396, 396, 396, 433, 22, 396, 396, 395, 438,
3232 439, 220, 398, 396, 664, 665, 666, 667, 668, 669,
3233 670, 671, 672, 673, 674, 675, 676, 677, 678, 395,
3234 301, 681, 682, 396, 396, 301, 395, 687, 396, 396,
3235 690, 855, 372, 395, 986, 396, 395, 323, 396, 699,
3236 273, 208, 396, 147, 718, 396, 213, 396, 273, 374,
3237 273, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3238 385, 386, 387, 388, 724, 396, 391, 506, 372, 372,
3239 395, 396, 396, 396, 734, 396, 736, 737, 738, 396,
3240 396, 718, 742, 64, 374, 524, 376, 377, 378, 379,
3241 380, 381, 382, 383, 384, 385, 386, 387, 388, 396,
3242 75, 391, 269, 398, 22, 394, 396, 767, 768, 129,
3243 297, 576, 396, 297, 396, 395, 581, 396, 396, 396,
3244 585, 396, 395, 395, 395, 395, 395, 108, 593, 594,
3245 396, 596, 597, 398, 395, 395, 27, 67, 395, 69,
3246 115, 396, 802, 396, 396, 75, 396, 807, 396, 40,
3247 810, 132, 133, 813, 45, 396, 47, 854, 395, 395,
3248 820, 396, 601, 602, 396, 269, 270, 396, 396, 829,
3249 396, 62, 374, 64, 376, 377, 378, 379, 380, 381,
3250 382, 383, 384, 385, 386, 387, 388, 395, 169, 391,
3251 395, 630, 122, 22, 396, 395, 171, 172, 395, 569,
3252 396, 396, 395, 34, 396, 396, 1158, 395, 508, 41,
3253 314, 315, 103, 317, 318, 524, 1025, -1, 109, 856,
3254 -1, 325, 326, 327, 328, -1, 22, -1, 888, -1,
3255 160, 329, 330, 208, 164, 67, -1, -1, 213, -1,
3256 -1, 680, 172, 75, 856, -1, -1, 222, -1, 946,
3257 -1, -1, -1, -1, -1, -1, 354, 355, 356, 357,
3258 358, 359, 922, -1, 924, -1, 926, 1097, -1, -1,
3259 -1, 1101, -1, -1, -1, -1, 167, 168, -1, 170,
3260 -1, -1, 22, -1, -1, 215, 177, -1, 269, 270,
3261 122, 1003, 124, -1, -1, -1, -1, -1, 228, -1,
3262 960, 192, -1, -1, -1, -1, 197, -1, 289, -1,
3263 749, -1, -1, 973, -1, -1, 976, 377, 378, 379,
3264 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3265 1004, 391, 5, 6, 7, 8, 9, 10, 11, 12,
3266 13, 14, 15, 16, -1, 1005, -1, 374, -1, 376,
3267 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3268 387, 388, -1, 975, 391, -1, 1026, 1004, -1, 396,
3269 809, -1, -1, -1, -1, -1, 208, 209, -1, 1039,
3270 22, 213, 1042, -1, -1, -1, -1, -1, -1, 1049,
3271 1050, 856, -1, -1, -1, -1, 1226, -1, -1, -1,
3272 -1, -1, -1, -1, 236, 237, 1066, -1, -1, 1069,
3273 1070, 1071, -1, -1, 1074, -1, -1, -1, -1, -1,
3274 -1, -1, -1, 255, -1, -1, -1, -1, -1, 1066,
3275 22, -1, 1069, -1, -1, -1, -1, -1, 1098, 1099,
3276 1100, -1, 1102, 1103, 1104, 1105, -1, -1, -1, -1,
3277 -1, -1, -1, -1, 1066, 346, 374, 1069, 376, 377,
3278 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3279 388, -1, 304, 391, -1, 366, -1, -1, 396, 370,
3280 0, -1, -1, -1, -1, -1, -1, -1, 22, -1,
3281 -1, -1, -1, -1, 1154, 1155, -1, 1157, -1, -1,
3282 -1, -1, -1, 394, -1, -1, -1, -1, -1, -1,
3283 975, -1, -1, -1, 1174, -1, -1, 1177, -1, 1179,
3284 -1, 1181, -1, -1, -1, -1, -1, -1, -1, -1,
3285 1190, 1191, -1, -1, 1194, -1, -1, -1, -1, 1199,
3286 -1, -1, -1, -1, 1374, 374, -1, 376, 377, 378,
3287 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
3288 -1, -1, 391, -1, -1, 1225, -1, 396, 1228, 1229,
3289 -1, -1, -1, -1, -1, -1, -1, -1, 374, 1239,
3290 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3291 386, 387, 388, -1, -1, 391, -1, -1, -1, -1,
3292 396, 1066, -1, -1, 1069, -1, -1, -1, -1, -1,
3293 -1, 1271, -1, 504, -1, -1, 507, -1, -1, 510,
3294 1280, 1281, -1, -1, -1, -1, -1, -1, 148, 149,
3295 150, -1, 1292, -1, 374, 1295, 376, 377, 378, 379,
3296 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3297 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3298 -1, 181, 182, -1, -1, 185, 1326, -1, -1, -1,
3299 -1, -1, 563, 564, 565, 566, 1336, -1, 569, -1,
3300 571, 572, -1, -1, 575, 576, -1, 578, -1, 22,
3301 -1, 582, 1352, -1, -1, -1, -1, -1, -1, -1,
3302 -1, -1, 593, -1, -1, 596, 597, -1, -1, -1,
3303 22, -1, 1372, 1373, -1, 1375, 1376, 1377, 1378, 1379,
3304 -1, -1, -1, -1, -1, 1385, 1165, -1, -1, -1,
3305 -1, 1391, 1392, -1, 22, 377, 378, 379, 380, 381,
3306 382, 383, 384, 385, 386, 387, 388, 1407, 1408, 391,
3307 -1, -1, -1, -1, -1, -1, -1, -1, 1418, 1419,
3308 22, 1421, -1, 1423, -1, -1, -1, -1, 1428, -1,
3309 -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1,
3310 -1, 1441, -1, 1222, -1, 1445, 378, 379, 380, 381,
3311 382, 383, 384, 385, 386, 387, 388, -1, 22, 391,
3312 691, -1, -1, -1, -1, 1465, 1466, 1467, 1468, 1469,
3313 1470, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3314 -1, -1, -1, -1, -1, 22, -1, 718, -1, -1,
3315 -1, -1, -1, -1, 1494, -1, -1, -1, 1498, 359,
3316 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3317 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3318 -1, 752, 396, -1, -1, 22, 1526, 1527, 1528, 1529,
3319 1530, 1531, -1, 1533, -1, -1, -1, -1, -1, 1539,
3320 16, 22, -1, -1, -1, -1, -1, -1, 1548, 1549,
3321 -1, -1, 28, -1, 30, -1, -1, -1, -1, 35,
3322 36, -1, -1, 39, -1, 1565, 1566, 1567, 1568, -1,
3323 -1, -1, 48, -1, -1, -1, 52, -1, -1, -1,
3324 -1, 441, -1, 1583, -1, 1585, -1, -1, -1, -1,
3325 66, -1, -1, -1, -1, -1, -1, -1, 1598, 1599,
3326 1600, -1, 22, 79, -1, 81, -1, -1, -1, -1,
3327 -1, -1, -1, -1, 1614, 1615, 1616, -1, 94, -1,
3328 -1, -1, -1, 1623, 855, 856, 22, -1, -1, 105,
3329 -1, 1631, 1632, -1, 110, -1, -1, 113, -1, 1639,
3330 -1, -1, 1642, -1, 296, -1, -1, 22, 1648, -1,
3331 -1, -1, -1, -1, 1654, -1, -1, -1, -1, -1,
3332 -1, -1, 1662, -1, 524, -1, 1666, 527, 528, 529,
3333 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
3334 540, 22, -1, -1, -1, 545, 546, 547, 548, 549,
3335 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
3336 560, 374, 178, 376, 377, 378, 379, 380, 381, 382,
3337 383, 384, 385, 386, 387, 388, 22, 193, 391, -1,
3338 -1, -1, 374, 396, 376, 377, 378, 379, 380, 381,
3339 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3340 -1, -1, -1, 603, 975, -1, 374, 223, 376, 377,
3341 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3342 388, -1, -1, 391, -1, -1, -1, -1, 396, -1,
3343 -1, 1002, 374, -1, 376, 377, 378, 379, 380, 381,
3344 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3345 -1, -1, -1, -1, 396, -1, -1, 273, -1, 275,
3346 -1, -1, -1, -1, -1, -1, -1, -1, -1, 285,
3347 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3348 384, 385, 386, 387, 388, -1, 302, 391, 304, 74,
3349 1061, -1, 396, -1, 1065, 1066, 22, 374, 1069, 376,
3350 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3351 387, 388, -1, -1, 391, 1086, -1, 102, -1, 396,
3352 -1, -1, -1, 108, -1, -1, -1, -1, -1, 114,
3353 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3354 356, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3355 387, 388, 368, 374, 391, 376, 377, 378, 379, 380,
3356 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3357 391, -1, 22, -1, 1145, 396, -1, -1, -1, -1,
3358 -1, -1, -1, -1, -1, 401, -1, -1, -1, -1,
3359 -1, -1, -1, -1, -1, 180, -1, -1, -1, -1,
3360 -1, -1, -1, 419, -1, -1, -1, 22, 424, 425,
3361 426, 196, 428, 429, 374, -1, 376, 377, 378, 379,
3362 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3363 -1, 391, -1, -1, -1, -1, 396, 453, 374, -1,
3364 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3365 386, 387, 388, 238, -1, 391, 472, -1, -1, 374,
3366 396, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3367 385, 386, 387, 388, -1, -1, 391, -1, -1, -1,
3368 22, 396, 1253, -1, 75, -1, -1, -1, 273, 274,
3369 -1, -1, -1, 374, -1, 376, 377, 378, 379, 380,
3370 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3371 391, -1, -1, -1, -1, 396, -1, -1, -1, -1,
3372 305, 22, -1, -1, -1, -1, -1, -1, 374, -1,
3373 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3374 386, 387, 388, -1, -1, 391, -1, -1, 22, -1,
3375 396, -1, -1, -1, 1325, -1, -1, 573, -1, -1,
3376 -1, -1, 347, 579, 1335, -1, -1, -1, -1, -1,
3377 -1, -1, -1, -1, -1, 1346, 167, -1, 594, -1,
3378 171, 172, -1, 368, 369, -1, -1, 372, -1, 374,
3379 375, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3380 385, -1, -1, -1, 22, -1, -1, -1, 148, 149,
3381 150, 627, 397, 398, 399, -1, -1, 208, -1, -1,
3382 -1, 406, 213, -1, -1, 410, -1, -1, 413, -1,
3383 -1, 222, -1, -1, -1, -1, -1, 228, 423, -1,
3384 -1, 181, 182, -1, -1, 185, -1, -1, 374, -1,
3385 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3386 386, 387, 388, 254, 449, 391, -1, -1, -1, 454,
3387 396, 456, -1, -1, -1, -1, 692, -1, 22, -1,
3388 -1, -1, 273, -1, -1, -1, -1, -1, 473, -1,
3389 -1, -1, -1, -1, -1, -1, -1, -1, 1098, 1099,
3390 1100, -1, -1, -1, -1, -1, -1, 492, 493, 494,
3391 495, -1, 1483, 304, 730, 22, -1, -1, -1, -1,
3392 -1, -1, -1, -1, 374, 1496, 376, 377, 378, 379,
3393 380, 381, 382, 383, 384, 385, 386, 387, 388, 22,
3394 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3395 -1, -1, -1, -1, 1154, 1155, 772, 1157, 774, 374,
3396 776, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3397 385, 386, 387, 388, -1, -1, 391, 1177, -1, -1,
3398 -1, 396, -1, -1, -1, -1, -1, 22, -1, 574,
3399 -1, -1, 577, -1, 1194, 580, -1, -1, -1, 584,
3400 585, -1, -1, -1, -1, -1, 1577, 1578, -1, -1,
3401 -1, 596, 597, -1, 830, 831, -1, -1, 1589, 359,
3402 -1, -1, -1, -1, -1, -1, -1, -1, 1228, 1229,
3403 -1, 0, 374, -1, 376, 377, 378, 379, 380, 381,
3404 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3405 19, -1, 637, 22, 396, -1, -1, -1, 27, -1,
3406 -1, -1, 31, -1, -1, -1, -1, 652, -1, -1,
3407 -1, 40, -1, 1644, -1, -1, 45, 378, 379, 380,
3408 381, 382, 383, 384, 385, 386, 387, 388, -1, 1660,
3409 391, -1, 61, -1, 1665, 64, -1, -1, -1, 1670,
3410 -1, 441, 71, 688, 378, 379, 380, 381, 382, 383,
3411 384, 385, 386, 387, 388, -1, -1, 391, 87, -1,
3412 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3413 99, -1, 101, -1, 103, 22, -1, 106, 107, -1,
3414 -1, 957, -1, -1, -1, -1, 962, -1, -1, -1,
3415 -1, -1, -1, 122, 739, 124, 374, 22, 376, 377,
3416 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3417 388, -1, -1, 391, -1, -1, -1, -1, 396, -1,
3418 -1, -1, -1, 999, 22, -1, -1, 527, 528, 529,
3419 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
3420 540, -1, -1, -1, -1, 545, 546, 547, 548, 549,
3421 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
3422 560, 1037, 22, -1, 1040, -1, -1, -1, -1, 1045,
3423 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3424 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3425 -1, -1, 396, -1, -1, 22, -1, -1, -1, -1,
3426 -1, -1, -1, 603, -1, 1465, 1466, 374, -1, 376,
3427 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3428 387, 388, 22, -1, 391, -1, -1, -1, -1, 396,
3429 -1, 374, -1, 376, 377, 378, 379, 380, 381, 382,
3430 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
3431 -1, -1, -1, 396, -1, -1, -1, -1, -1, 288,
3432 -1, 22, -1, -1, -1, -1, -1, 1143, -1, -1,
3433 -1, -1, -1, -1, -1, -1, -1, -1, -1, 374,
3434 925, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3435 385, 386, 387, 388, -1, -1, 391, 1173, 22, -1,
3436 -1, 396, -1, -1, -1, 1565, -1, -1, -1, -1,
3437 -1, -1, -1, -1, -1, -1, 961, -1, 963, 964,
3438 -1, 22, -1, 968, -1, -1, -1, -1, -1, 358,
3439 -1, 360, 361, -1, -1, -1, -1, -1, -1, 984,
3440 985, -1, -1, -1, -1, -1, -1, -1, 993, -1,
3441 -1, -1, -1, -1, 1614, 384, -1, -1, 1003, 1004,
3442 -1, 1006, -1, -1, -1, -1, -1, -1, -1, -1,
3443 -1, -1, -1, 402, -1, 22, -1, -1, -1, -1,
3444 -1, -1, 1642, -1, -1, -1, -1, -1, -1, -1,
3445 -1, 1036, -1, -1, -1, -1, -1, -1, -1, 1044,
3446 -1, -1, 1047, 1048, 433, -1, -1, -1, -1, 438,
3447 439, -1, -1, -1, -1, -1, -1, -1, 1063, -1,
3448 -1, 1066, -1, -1, 1069, -1, -1, 22, -1, -1,
3449 1075, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3450 387, 388, -1, -1, 391, 1321, 1091, -1, -1, 374,
3451 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3452 385, 386, 387, 388, 1109, -1, 391, -1, -1, -1,
3453 -1, 396, -1, -1, -1, -1, 374, 506, 376, 377,
3454 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3455 388, -1, -1, 391, -1, 524, -1, -1, 396, -1,
3456 -1, -1, -1, 1148, 1149, 22, -1, -1, -1, -1,
3457 -1, -1, -1, -1, 374, -1, 376, 377, 378, 379,
3458 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3459 1406, 391, 1177, 1409, -1, 1180, 396, -1, 1183, -1,
3460 -1, -1, 22, -1, -1, -1, -1, 374, 1193, 376,
3461 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3462 387, 388, -1, -1, 391, 22, -1, -1, -1, 396,
3463 -1, -1, 601, 602, 374, -1, 376, 377, 378, 379,
3464 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3465 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3466 -1, 630, 1247, -1, -1, -1, -1, -1, -1, -1,
3467 -1, -1, -1, 374, 1490, 376, 377, 378, 379, 380,
3468 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3469 391, -1, -1, -1, -1, 396, -1, -1, -1, -1,
3470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3471 374, 680, 376, 377, 378, 379, 380, 381, 382, 383,
3472 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3473 -1, 1547, 396, 374, -1, 376, 377, 378, 379, 380,
3474 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3475 391, -1, 1337, -1, -1, 396, -1, -1, 1098, 1099,
3476 1100, -1, -1, -1, -1, -1, -1, -1, -1, 1354,
3477 1355, -1, -1, -1, -1, 744, -1, -1, -1, -1,
3478 749, -1, -1, -1, -1, -1, 1371, 374, -1, 376,
3479 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3480 387, 388, -1, -1, 391, -1, -1, -1, 1393, 396,
3481 -1, -1, -1, -1, 1154, 1155, -1, 1157, -1, -1,
3482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3483 -1, 1647, -1, -1, -1, -1, -1, 1177, -1, 374,
3484 809, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3485 385, 386, 387, 388, 1194, -1, 391, -1, -1, -1,
3486 -1, 396, -1, -1, -1, -1, -1, -1, -1, -1,
3487 -1, -1, 1457, -1, -1, -1, -1, -1, -1, -1,
3488 -1, 22, -1, -1, -1, -1, -1, -1, 1228, 1229,
3489 -1, -1, -1, -1, -1, 1480, -1, -1, -1, -1,
3490 -1, -1, -1, -1, -1, -1, 1491, -1, 1493, -1,
3491 -1, -1, -1, -1, -1, -1, -1, 374, 1503, 376,
3492 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3493 387, 388, -1, -1, 391, -1, -1, -1, -1, 396,
3494 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3495 -1, -1, -1, -1, 374, 1540, 376, 377, 378, 379,
3496 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3497 -1, 391, -1, -1, -1, 1560, 396, 374, -1, 376,
3498 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3499 387, 388, -1, -1, 391, -1, -1, -1, -1, 396,
3500 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3501 -1, -1, -1, -1, -1, -1, 0, 1, 1603, -1,
3502 -1, -1, -1, -1, -1, -1, 1611, -1, -1, -1,
3503 -1, -1, -1, -1, 18, 19, 20, 21, -1, 23,
3504 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3505 -1, 35, -1, 37, 38, -1, -1, 41, 42, -1,
3506 -1, -1, 46, 47, 48, -1, 50, 51, -1, -1,
3507 -1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
3508 64, 65, -1, -1, -1, -1, 70, -1, -1, 73,
3509 -1, -1, -1, -1, -1, -1, 80, 81, -1, -1,
3510 -1, -1, -1, -1, -1, 89, 90, -1, -1, -1,
3511 -1, -1, -1, -1, 98, 99, 100, 101, -1, -1,
3512 -1, -1, -1, 107, 108, 1465, 1466, 111, -1, 113,
3513 -1, -1, 116, -1, -1, 119, 120, -1, -1, -1,
3514 124, -1, 126, -1, -1, -1, -1, 131, 132, 133,
3515 -1, -1, -1, 137, -1, 139, -1, -1, 142, -1,
3516 -1, -1, -1, -1, -1, 149, 150, -1, -1, -1,
3517 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
3518 -1, -1, 166, -1, 168, 169, -1, -1, -1, 173,
3519 174, -1, -1, -1, -1, -1, 1165, -1, -1, -1,
3520 -1, 185, 186, 187, 188, -1, -1, -1, 22, -1,
3521 -1, -1, -1, -1, -1, -1, -1, 201, -1, 203,
3522 -1, 205, -1, -1, -1, 1565, -1, -1, -1, -1,
3523 -1, -1, -1, 374, 218, 376, 377, 378, 379, 380,
3524 381, 382, 383, 384, 385, 386, 387, 388, -1, 233,
3525 391, -1, -1, 1222, 238, 239, 240, 241, 242, 243,
3526 -1, -1, 246, 247, 248, 249, -1, 251, 252, -1,
3527 -1, -1, -1, 257, 1614, 259, 260, 261, 262, 263,
3528 264, -1, -1, -1, 268, 269, 270, -1, -1, -1,
3529 -1, 275, -1, 277, 278, -1, -1, 281, 282, -1,
3530 -1, -1, 1642, -1, -1, 289, 290, 291, 292, -1,
3531 294, -1, -1, -1, 298, 299, 300, -1, -1, -1,
3532 304, -1, 306, 307, 308, -1, -1, -1, -1, 313,
3533 314, 315, 316, 317, 318, 319, -1, 321, 322, -1,
3534 324, 325, 326, 327, 328, 329, 330, -1, 332, 333,
3535 334, -1, 374, 375, 376, 377, 378, 379, 380, 381,
3536 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3537 354, 355, 356, 357, 358, 359, 360, 361, 0, 1,
3538 -1, -1, -1, -1, 368, 369, 370, 371, 372, -1,
3539 -1, -1, -1, -1, -1, -1, 18, 19, 20, 22,
3540 384, 385, -1, -1, -1, -1, 390, -1, -1, 393,
3541 394, -1, -1, 35, -1, 37, 38, -1, -1, 41,
3542 42, -1, 22, -1, 46, 47, 48, -1, -1, 51,
3543 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
3544 -1, -1, 64, 65, -1, 22, -1, -1, 70, -1,
3545 -1, 73, -1, -1, -1, -1, -1, -1, 80, 81,
3546 -1, -1, -1, -1, -1, -1, -1, 89, 90, -1,
3547 -1, -1, -1, -1, -1, -1, 98, 99, 100, 101,
3548 -1, -1, -1, -1, -1, 107, 108, -1, -1, 111,
3549 -1, 113, -1, -1, 116, -1, -1, 119, 120, -1,
3550 -1, -1, 124, -1, 126, -1, -1, -1, -1, 131,
3551 132, 133, -1, -1, -1, 137, -1, 139, -1, -1,
3552 142, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3553 -1, -1, -1, 155, 156, 157, -1, 159, -1, 161,
3554 22, -1, -1, -1, 166, -1, 168, 169, -1, -1,
3555 -1, 173, 174, -1, -1, -1, -1, -1, -1, -1,
3556 -1, -1, -1, 185, 378, 379, 380, 381, 382, 383,
3557 384, 385, 386, 387, 388, -1, -1, 391, -1, 201,
3558 -1, 203, -1, 205, -1, -1, -1, -1, -1, -1,
3559 -1, -1, -1, -1, -1, -1, 218, -1, -1, -1,
3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3561 -1, 233, -1, -1, -1, -1, 238, 239, 240, 241,
3562 -1, 243, -1, -1, 246, 247, 248, 249, -1, 251,
3563 252, -1, -1, -1, -1, -1, -1, 259, 260, 261,
3564 262, 263, 264, -1, -1, -1, -1, 269, 270, -1,
3565 -1, -1, -1, 275, -1, 277, 278, -1, -1, 281,
3566 282, -1, -1, -1, -1, -1, -1, 289, -1, 291,
3567 292, -1, 294, -1, -1, -1, 298, 299, 300, -1,
3568 -1, -1, 304, -1, 306, 307, 308, -1, -1, -1,
3569 -1, 313, -1, -1, -1, -1, -1, -1, -1, 321,
3570 322, -1, 324, -1, -1, -1, -1, 329, 330, -1,
3571 332, 333, 334, 18, 19, 20, 21, -1, 23, 24,
3572 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
3573 -1, -1, 354, 355, 356, 357, 358, 359, 360, 361,
3574 -1, -1, -1, -1, -1, 50, 368, 369, 370, 371,
3575 -1, 374, -1, 376, 377, 378, 379, 380, 381, 382,
3576 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
3577 -1, 393, -1, 396, 374, -1, 376, 377, 378, 379,
3578 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3579 -1, 391, -1, -1, -1, -1, 396, 374, -1, 376,
3580 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3581 387, 388, -1, -1, 391, -1, -1, -1, -1, 396,
3582 -1, -1, -1, 22, -1, -1, -1, 132, 133, -1,
3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3584 -1, -1, -1, -1, 149, 150, -1, -1, -1, 154,
3585 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
3586 20, 21, -1, 23, 24, 25, 26, 27, 28, 29,
3587 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
3588 -1, 186, -1, 188, -1, -1, -1, -1, -1, -1,
3589 50, -1, 374, -1, 376, 377, 378, 379, 380, 381,
3590 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3591 -1, -1, -1, -1, 396, -1, -1, -1, 78, -1,
3592 -1, -1, 82, 83, 84, 85, 86, 87, -1, -1,
3593 -1, 91, 92, 93, 94, 95, 96, 242, -1, -1,
3594 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3595 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3596 -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
3597 130, -1, 132, 133, -1, -1, -1, -1, -1, -1,
3598 -1, -1, -1, 143, -1, 290, -1, 22, -1, 149,
3599 150, -1, -1, -1, 154, -1, -1, -1, 52, 53,
3600 54, -1, 56, -1, -1, -1, -1, 61, -1, 314,
3601 315, 316, 317, 318, 319, 69, -1, -1, -1, -1,
3602 325, 326, 327, 328, 329, 330, 186, -1, 188, -1,
3603 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
3604 200, -1, -1, -1, -1, -1, -1, -1, -1, 354,
3605 355, 356, 357, 358, 359, -1, -1, -1, -1, -1,
3606 -1, -1, -1, -1, 369, 370, 371, 372, -1, -1,
3607 -1, -1, -1, -1, -1, 235, -1, -1, -1, 384,
3608 385, -1, 242, -1, -1, 390, -1, -1, -1, 394,
3609 -1, -1, -1, 398, -1, -1, -1, -1, -1, -1,
3610 -1, -1, -1, -1, -1, -1, 266, -1, 268, 269,
3611 270, -1, -1, -1, 18, 19, 20, 21, -1, 23,
3612 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3613 290, -1, -1, -1, -1, 39, -1, 41, -1, -1,
3614 -1, -1, -1, -1, -1, 22, 50, -1, -1, -1,
3615 -1, -1, -1, 207, 314, 315, 316, 317, 318, 319,
3616 -1, -1, -1, 67, -1, 325, 326, 327, 328, 329,
3617 330, 75, -1, -1, 22, 374, 375, 376, 377, 378,
3618 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
3619 -1, -1, 391, -1, 354, 355, 356, 357, 358, 359,
3620 -1, -1, -1, -1, -1, 365, 366, -1, -1, 369,
3621 370, 371, 372, 22, -1, -1, -1, -1, 122, -1,
3622 124, 125, -1, -1, 384, 385, -1, -1, 132, 133,
3623 390, -1, -1, -1, 394, -1, -1, -1, -1, -1,
3624 -1, -1, -1, -1, -1, 149, 150, 22, -1, -1,
3625 154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3626 164, -1, -1, -1, -1, -1, -1, -1, 172, -1,
3627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3628 -1, -1, 186, 337, 188, 339, 340, 341, 342, 343,
3629 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
3630 -1, -1, -1, -1, 208, 209, -1, -1, -1, 213,
3631 -1, 215, -1, -1, -1, -1, -1, -1, -1, -1,
3632 -1, -1, -1, -1, 228, -1, -1, -1, -1, -1,
3633 -1, -1, 236, 237, -1, -1, -1, -1, 242, 374,
3634 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3635 385, 386, 387, 388, -1, -1, 391, -1, -1, -1,
3636 -1, 396, -1, -1, 268, 269, 270, -1, 272, -1,
3637 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3638 -1, -1, 286, 287, 288, -1, 290, -1, 22, -1,
3639 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3640 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3641 314, 315, 316, 317, 318, 319, -1, -1, -1, -1,
3642 -1, 325, 326, 327, 328, 329, 330, 18, 19, 20,
3643 21, -1, 23, 24, 25, 26, 27, 28, 29, 30,
3644 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
3645 354, 355, 356, 357, 358, 359, -1, -1, -1, 50,
3646 -1, -1, -1, -1, -1, 369, 370, 371, 372, -1,
3647 -1, 62, 22, -1, -1, -1, -1, -1, -1, -1,
3648 384, 385, -1, -1, 75, -1, 390, -1, -1, -1,
3649 394, -1, -1, -1, -1, -1, -1, 374, 89, 376,
3650 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3651 387, 388, 22, -1, 391, -1, -1, -1, -1, 396,
3652 -1, -1, -1, -1, -1, -1, 374, -1, 376, 377,
3653 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3654 388, 132, 133, 391, -1, -1, -1, -1, 396, -1,
3655 -1, -1, -1, -1, -1, -1, 22, -1, 149, 150,
3656 151, -1, -1, 154, -1, 374, -1, 376, 377, 378,
3657 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
3658 -1, 172, 391, -1, -1, 176, -1, 396, -1, -1,
3659 -1, -1, -1, 184, -1, 186, -1, 188, 189, 374,
3660 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3661 385, 386, 387, 388, -1, -1, 391, 208, 22, 210,
3662 211, 396, 213, -1, 215, -1, 217, -1, -1, -1,
3663 -1, -1, -1, -1, -1, -1, -1, 228, -1, -1,
3664 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3665 -1, 242, -1, -1, -1, 18, 19, 20, 21, -1,
3666 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3667 -1, -1, -1, -1, -1, -1, -1, 268, 269, 270,
3668 -1, -1, 273, -1, -1, -1, -1, 50, 279, -1,
3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
3670 -1, 64, -1, -1, 67, -1, -1, -1, -1, -1,
3671 -1, -1, 75, 304, -1, -1, -1, -1, -1, -1,
3672 -1, -1, -1, 314, 315, 316, 317, 318, 319, -1,
3673 -1, -1, -1, -1, 325, 326, 327, 328, 329, 330,
3674 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3675 384, 385, 386, 387, 388, 22, -1, 391, -1, 122,
3676 -1, -1, 396, 354, 355, 356, 357, 358, 359, 132,
3677 133, -1, -1, -1, -1, -1, 22, 140, 369, 370,
3678 371, 372, -1, -1, -1, -1, 149, 150, -1, -1,
3679 -1, 154, -1, 384, 385, 158, -1, -1, -1, 390,
3680 -1, 164, -1, 394, 167, -1, -1, -1, 171, 172,
3681 -1, -1, 175, -1, -1, -1, -1, -1, -1, -1,
3682 -1, -1, -1, 186, 374, 188, 376, 377, 378, 379,
3683 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3684 -1, 391, -1, -1, -1, 208, 396, -1, -1, -1,
3685 213, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3686 -1, -1, -1, -1, 374, -1, 376, 377, 378, 379,
3687 380, 381, 382, 383, 384, 385, 386, 387, 388, 242,
3688 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3690 -1, -1, -1, -1, -1, 268, 269, 270, 374, 375,
3691 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3692 386, 387, 388, -1, -1, 391, 289, 290, 18, 19,
3693 20, 21, -1, 23, 24, 25, 26, 27, 28, 29,
3694 30, 31, 32, -1, -1, -1, -1, -1, -1, 312,
3695 -1, 314, 315, 316, 317, 318, 319, -1, -1, -1,
3696 50, 51, 325, 326, 327, 328, 329, 330, 331, -1,
3697 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3698 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3699 -1, 354, 355, 356, 357, 358, 359, -1, -1, -1,
3700 -1, 22, -1, -1, -1, -1, 369, 370, 371, 372,
3701 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
3702 -1, 384, 385, -1, -1, -1, -1, 390, -1, -1,
3703 -1, 394, -1, -1, -1, -1, -1, -1, -1, -1,
3704 22, -1, 132, 133, -1, -1, -1, -1, -1, -1,
3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, 149,
3706 150, 151, -1, 153, 154, -1, -1, -1, -1, -1,
3707 -1, -1, -1, -1, 164, 165, -1, -1, -1, -1,
3708 -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
3709 -1, -1, -1, -1, -1, -1, 186, -1, 188, -1,
3710 -1, -1, -1, -1, -1, -1, -1, 374, -1, 376,
3711 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3712 387, 388, -1, -1, 391, -1, -1, 217, 374, 396,
3713 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3714 386, 387, 388, -1, -1, 391, -1, -1, -1, -1,
3715 396, -1, 242, -1, -1, -1, -1, -1, -1, -1,
3716 250, -1, -1, 253, -1, -1, -1, -1, -1, -1,
3717 -1, -1, -1, -1, -1, -1, -1, 267, 268, 269,
3718 270, -1, -1, 273, 18, 19, 20, 21, -1, 23,
3719 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3720 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3721 -1, -1, -1, -1, -1, 305, 50, -1, -1, -1,
3722 -1, -1, -1, -1, 314, 315, 316, 317, 318, 319,
3723 -1, -1, -1, 67, -1, 325, 326, 327, 328, 329,
3724 330, 75, -1, -1, -1, -1, 22, -1, -1, -1,
3725 -1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
3726 -1, -1, -1, -1, 354, 355, 356, 357, 358, 359,
3727 -1, -1, -1, -1, -1, -1, -1, -1, -1, 369,
3728 370, 371, 372, -1, -1, -1, -1, -1, 122, -1,
3729 -1, -1, -1, -1, 384, 385, -1, -1, 132, 133,
3730 390, -1, -1, -1, 394, -1, -1, -1, -1, -1,
3731 -1, -1, -1, -1, -1, 149, 150, -1, -1, -1,
3732 154, -1, -1, -1, -1, -1, 160, -1, -1, -1,
3733 -1, -1, -1, -1, -1, -1, -1, -1, 172, -1,
3734 -1, 175, -1, -1, -1, -1, -1, -1, -1, -1,
3735 -1, -1, 186, 374, 188, 376, 377, 378, 379, 380,
3736 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3737 391, -1, -1, -1, 208, 18, 19, 20, 21, 213,
3738 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3739 -1, -1, 374, -1, 376, 377, 378, 379, 380, 381,
3740 382, 383, 384, 385, 386, 387, 388, 50, 242, 391,
3741 -1, -1, -1, -1, 396, -1, -1, -1, -1, -1,
3742 22, 255, -1, 66, 67, -1, -1, -1, -1, -1,
3743 -1, -1, 75, -1, 268, 269, 270, 374, -1, 376,
3744 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3745 387, 388, -1, -1, 391, -1, 290, -1, -1, 396,
3746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3747 -1, -1, 115, -1, -1, -1, -1, -1, -1, -1,
3748 314, 315, 316, 317, 318, 319, -1, -1, -1, 132,
3749 133, 325, 326, 327, 328, 329, 330, -1, -1, -1,
3750 -1, -1, -1, -1, -1, -1, 149, 150, -1, -1,
3751 -1, 154, -1, -1, -1, -1, -1, -1, -1, -1,
3752 354, 355, 356, 357, 358, 359, -1, -1, 171, 172,
3753 -1, -1, -1, -1, -1, 369, 370, 371, 372, -1,
3754 -1, -1, -1, 186, -1, 188, -1, -1, -1, -1,
3755 384, 385, -1, -1, -1, -1, 390, -1, -1, -1,
3756 394, -1, -1, -1, 18, 19, 20, 21, -1, 23,
3757 24, 25, 26, 27, 28, 29, 30, 31, 32, 222,
3758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3759 -1, -1, -1, -1, -1, -1, 50, -1, 374, 242,
3760 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3761 386, 387, 388, -1, -1, 391, -1, -1, -1, -1,
3762 396, 75, -1, -1, -1, 268, 269, 270, 22, -1,
3763 273, 274, -1, -1, 88, -1, -1, -1, -1, -1,
3764 -1, -1, -1, -1, -1, -1, -1, 290, -1, -1,
3765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3766 -1, 115, -1, -1, -1, -1, -1, -1, -1, -1,
3767 -1, 314, 315, 316, 317, 318, 319, 22, 132, 133,
3768 -1, -1, 325, 326, 327, 328, 329, 330, -1, -1,
3769 -1, -1, -1, -1, -1, 149, 150, -1, -1, -1,
3770 154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3771 -1, 354, 355, 356, 357, 358, 359, 171, 172, -1,
3772 -1, 175, -1, -1, -1, -1, 369, 370, 371, 372,
3773 -1, -1, 186, -1, 188, -1, -1, -1, -1, -1,
3774 -1, 384, 385, -1, -1, -1, -1, 390, -1, -1,
3775 -1, 394, -1, -1, 208, 18, 19, 20, 21, 213,
3776 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3777 -1, -1, 374, -1, 376, 377, 378, 379, 380, 381,
3778 382, 383, 384, 385, 386, 387, 388, 50, 242, 391,
3779 -1, -1, -1, -1, 396, -1, -1, -1, -1, -1,
3780 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
3781 -1, -1, 75, -1, 268, 269, 270, -1, -1, -1,
3782 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3783 -1, -1, -1, -1, -1, -1, 290, -1, -1, -1,
3784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3785 -1, -1, 115, -1, -1, -1, -1, -1, -1, -1,
3786 314, 315, 316, 317, 318, 319, -1, 22, -1, 132,
3787 133, 325, 326, 327, 328, 329, 330, -1, -1, -1,
3788 -1, -1, -1, -1, -1, -1, 149, 150, -1, -1,
3789 -1, 154, -1, -1, -1, -1, -1, -1, -1, -1,
3790 354, 355, 356, 357, 358, 359, -1, -1, 171, 172,
3791 -1, -1, 175, -1, -1, 369, 370, 371, 372, -1,
3792 -1, -1, -1, 186, -1, 188, -1, -1, -1, -1,
3793 384, 385, -1, -1, -1, -1, 390, -1, -1, -1,
3794 394, -1, -1, -1, -1, 208, 18, 19, 20, 21,
3795 213, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3796 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3797 -1, 43, -1, -1, -1, -1, -1, -1, 50, 242,
3798 374, 22, 376, 377, 378, 379, 380, 381, 382, 383,
3799 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3800 -1, -1, 396, 75, -1, 268, 269, 270, -1, -1,
3801 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3802 -1, -1, -1, -1, -1, -1, -1, 290, -1, 374,
3803 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3804 385, 386, 387, 388, -1, -1, 391, -1, -1, -1,
3805 395, 314, 315, 316, 317, 318, 319, -1, -1, 22,
3806 132, 133, 325, 326, 327, 328, 329, 330, -1, -1,
3807 -1, -1, -1, -1, -1, -1, -1, 149, 150, -1,
3808 -1, -1, 154, -1, -1, -1, -1, -1, -1, -1,
3809 -1, 354, 355, 356, 357, 358, 359, -1, 22, 171,
3810 172, -1, -1, 175, -1, -1, 369, 370, 371, 372,
3811 -1, -1, -1, -1, 186, -1, 188, -1, -1, -1,
3812 -1, 384, 385, -1, -1, -1, -1, 390, -1, -1,
3813 -1, 394, -1, -1, -1, -1, 208, 18, 19, 20,
3814 21, 213, 23, 24, 25, 26, 27, 28, 29, 30,
3815 31, 32, -1, -1, 374, -1, 376, 377, 378, 379,
3816 380, 381, 382, 383, 384, 385, 386, 387, 388, 50,
3817 242, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3818 -1, -1, -1, -1, -1, -1, 67, 22, -1, -1,
3819 -1, -1, -1, -1, 75, -1, 268, 269, 270, -1,
3820 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3821 -1, -1, 22, -1, -1, -1, -1, -1, 290, 374,
3822 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3823 385, 386, 387, 388, -1, -1, 391, -1, -1, -1,
3824 395, 122, 314, 315, 316, 317, 318, 319, -1, -1,
3825 -1, 132, 133, 325, 326, 327, 328, 329, 330, -1,
3826 -1, -1, -1, -1, -1, -1, -1, -1, 149, 150,
3827 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
3828 -1, -1, 354, 355, 356, 357, 358, 359, -1, -1,
3829 -1, 172, -1, -1, -1, -1, -1, 369, 370, 371,
3830 372, -1, -1, -1, -1, 186, -1, 188, -1, -1,
3831 -1, -1, 384, 385, -1, -1, -1, -1, 390, -1,
3832 -1, -1, 394, -1, -1, -1, -1, 208, -1, -1,
3833 -1, 22, 213, 374, -1, 376, 377, 378, 379, 380,
3834 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3835 391, -1, -1, -1, -1, 396, -1, -1, -1, -1,
3836 -1, 242, -1, -1, -1, -1, -1, -1, -1, -1,
3837 18, 19, 20, 21, 255, 23, 24, 25, 26, 27,
3838 28, 29, 30, 31, 32, -1, -1, 268, 269, 270,
3839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3840 -1, -1, 50, -1, -1, -1, -1, -1, -1, 290,
3841 -1, 374, -1, 376, 377, 378, 379, 380, 381, 382,
3842 383, 384, 385, 386, 387, 388, -1, 75, 391, -1,
3843 -1, -1, 395, 314, 315, 316, 317, 318, 319, -1,
3844 -1, -1, -1, -1, 325, 326, 327, 328, 329, 330,
3845 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
3846 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
3847 -1, 22, 396, 354, 355, 356, 357, 358, 359, -1,
3848 -1, -1, -1, -1, 132, 133, 134, -1, 369, 370,
3849 371, 372, -1, -1, -1, -1, -1, -1, -1, -1,
3850 22, 149, 150, 384, 385, -1, 154, -1, -1, 390,
3851 -1, -1, -1, 394, -1, -1, -1, -1, -1, -1,
3852 -1, -1, -1, 171, 172, -1, -1, -1, -1, -1,
3853 -1, -1, -1, -1, -1, -1, -1, -1, 186, 374,
3854 188, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3855 385, 386, 387, 388, -1, -1, 391, -1, -1, -1,
3856 208, 396, -1, -1, 374, 213, 376, 377, 378, 379,
3857 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3858 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3859 -1, -1, -1, -1, 242, -1, -1, -1, 18, 19,
3860 20, 21, -1, 23, 24, 25, 26, 27, 28, 29,
3861 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
3862 268, 269, 270, 22, -1, 273, -1, -1, -1, -1,
3863 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3864 -1, -1, 290, -1, 37, 38, 22, -1, -1, 297,
3865 -1, -1, -1, -1, 47, 75, -1, -1, -1, 52,
3866 -1, -1, -1, -1, -1, -1, 314, 315, 316, 317,
3867 318, 319, -1, -1, -1, -1, -1, 325, 326, 327,
3868 328, 329, 330, 374, -1, 376, 377, 378, 379, 380,
3869 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3870 391, -1, -1, -1, -1, 396, 354, 355, 356, 357,
3871 358, 359, 132, 133, 134, -1, -1, -1, -1, -1,
3872 -1, 369, 370, 371, 372, 118, -1, -1, -1, 149,
3873 150, -1, -1, -1, 154, -1, 384, 385, -1, -1,
3874 -1, -1, 390, -1, -1, -1, 394, -1, 141, -1,
3875 -1, 171, 172, -1, -1, -1, -1, 52, 53, 54,
3876 -1, -1, -1, -1, -1, -1, 186, -1, 188, 162,
3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3878 -1, -1, -1, -1, -1, -1, -1, -1, 208, 18,
3879 19, 20, 21, 213, 23, 24, 25, 26, 27, 28,
3880 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
3881 -1, -1, 22, -1, -1, 208, -1, -1, -1, -1,
3882 213, 50, 242, 374, -1, 376, 377, 378, 379, 380,
3883 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3884 391, -1, -1, -1, -1, 396, 75, -1, 268, 269,
3885 270, -1, 374, 273, 376, 377, 378, 379, 380, 381,
3886 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
3887 290, -1, -1, -1, 396, -1, -1, -1, -1, -1,
3888 -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
3889 283, -1, -1, -1, 314, 315, 316, 317, 318, 319,
3890 -1, -1, -1, 132, 133, 325, 326, 327, 328, 329,
3891 330, 304, -1, -1, -1, -1, -1, -1, -1, -1,
3892 149, 150, -1, 22, -1, 154, -1, -1, -1, -1,
3893 -1, -1, -1, -1, 354, 355, 356, 357, 358, 359,
3894 333, -1, -1, -1, -1, -1, -1, -1, -1, 369,
3895 370, 371, 372, -1, -1, -1, -1, 186, -1, 188,
3896 -1, -1, -1, -1, 384, 385, -1, -1, 361, -1,
3897 390, -1, -1, -1, 394, 374, -1, 376, 377, 378,
3898 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
3899 -1, -1, 391, 222, -1, -1, -1, 396, 374, 392,
3900 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3901 386, 387, 388, 242, -1, 391, -1, -1, -1, -1,
3902 396, -1, 22, -1, -1, -1, -1, -1, -1, 258,
3903 -1, -1, -1, -1, -1, -1, -1, -1, -1, 268,
3904 269, 270, 337, -1, 339, 340, 341, 342, 343, 344,
3905 345, 346, 347, 348, 349, 350, 351, 352, 353, -1,
3906 -1, 290, -1, -1, -1, -1, -1, -1, -1, -1,
3907 -1, -1, -1, -1, -1, 304, -1, -1, -1, -1,
3908 -1, -1, -1, -1, -1, 314, 315, 316, 317, 318,
3909 319, -1, 321, -1, -1, -1, 325, 326, 327, 328,
3910 329, 330, -1, 18, 19, 20, 21, -1, 23, 24,
3911 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
3912 -1, -1, -1, -1, -1, 354, 355, 356, 357, 358,
3913 359, 46, -1, -1, -1, 50, -1, -1, -1, -1,
3914 369, 370, 371, 372, -1, -1, -1, 62, -1, -1,
3915 -1, -1, -1, -1, -1, 384, 385, -1, -1, -1,
3916 -1, 390, -1, -1, 374, 394, 376, 377, 378, 379,
3917 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3918 -1, 391, -1, -1, -1, -1, 396, -1, -1, -1,
3919 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
3920 19, 20, 21, -1, 23, 24, 25, 26, 27, 28,
3921 29, 30, 31, 32, -1, -1, -1, 132, 133, -1,
3922 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
3923 -1, 50, -1, -1, 149, 150, -1, -1, 374, 154,
3924 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
3925 386, 387, 388, -1, -1, 391, -1, -1, -1, -1,
3926 396, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3927 -1, 186, -1, 188, -1, 374, -1, 376, 377, 378,
3928 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
3929 -1, 206, 391, -1, -1, -1, -1, 396, -1, -1,
3930 -1, 216, -1, -1, 22, -1, -1, -1, -1, -1,
3931 -1, -1, -1, 132, 133, -1, -1, -1, -1, -1,
3932 -1, -1, -1, -1, -1, 22, -1, 242, -1, -1,
3933 149, 150, -1, -1, -1, 154, -1, -1, -1, -1,
3934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3935 -1, 22, -1, 268, 269, 270, -1, -1, -1, -1,
3936 -1, -1, -1, -1, 279, -1, -1, 186, -1, 188,
3937 -1, -1, -1, -1, 374, 290, 376, 377, 378, 379,
3938 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
3939 -1, 391, -1, -1, -1, -1, 396, -1, -1, 314,
3940 315, 316, 317, 318, 319, -1, -1, -1, -1, -1,
3941 325, 326, 327, 328, 329, 330, -1, -1, -1, -1,
3942 -1, -1, -1, 242, -1, -1, -1, -1, -1, -1,
3943 -1, -1, -1, -1, -1, -1, -1, -1, -1, 354,
3944 355, 356, 357, 358, 359, -1, -1, -1, -1, 268,
3945 269, 270, -1, -1, 369, 370, 371, 372, -1, -1,
3946 -1, -1, -1, -1, -1, -1, -1, -1, -1, 384,
3947 385, 290, -1, -1, -1, 390, -1, -1, -1, 394,
3948 18, 19, 20, 21, -1, 23, 24, 25, 26, 27,
3949 28, 29, 30, 31, 32, 314, 315, 316, 317, 318,
3950 319, -1, -1, -1, -1, -1, 325, 326, 327, 328,
3951 329, 330, 50, -1, -1, -1, 335, 336, -1, -1,
3952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3953 -1, -1, -1, -1, -1, 354, 355, 356, 357, 358,
3954 359, -1, -1, -1, 363, 364, -1, -1, -1, -1,
3955 369, 370, 371, 372, -1, -1, -1, -1, -1, -1,
3956 -1, -1, -1, -1, -1, 384, 385, -1, -1, -1,
3957 -1, 390, -1, -1, 374, 394, 376, 377, 378, 379,
3958 380, 381, 382, 383, 384, 385, 386, 387, 388, 22,
3959 -1, 391, -1, -1, 132, 133, 396, -1, -1, -1,
3960 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3961 -1, 149, 150, -1, -1, -1, 154, -1, -1, -1,
3962 -1, -1, -1, -1, -1, 18, 19, 20, 21, -1,
3963 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3964 -1, -1, -1, -1, -1, -1, -1, -1, 186, -1,
3965 188, -1, -1, -1, -1, -1, 374, 50, 376, 377,
3966 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3967 388, -1, -1, 391, -1, -1, -1, 374, 396, 376,
3968 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3969 387, 388, 22, -1, 391, -1, -1, -1, -1, 396,
3970 -1, -1, -1, 374, 242, 376, 377, 378, 379, 380,
3971 381, 382, 383, 384, 385, 386, 387, 388, -1, -1,
3972 391, -1, -1, -1, 395, -1, -1, -1, -1, -1,
3973 268, 269, 270, -1, -1, -1, -1, -1, -1, 132,
3974 133, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3975 -1, -1, 290, -1, -1, -1, 149, 150, -1, -1,
3976 -1, 154, -1, -1, -1, -1, -1, -1, -1, -1,
3977 -1, 164, -1, -1, 167, -1, 314, 315, 316, 317,
3978 318, 319, -1, -1, -1, -1, -1, 325, 326, 327,
3979 328, 329, 330, 186, -1, 188, -1, 335, 336, -1,
3980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3981 -1, -1, -1, -1, -1, -1, 354, 355, 356, 357,
3982 358, 359, 22, -1, -1, 363, 364, -1, -1, -1,
3983 -1, 369, 370, 371, 372, -1, -1, -1, -1, -1,
3984 -1, -1, -1, -1, -1, -1, 384, 385, -1, 242,
3985 -1, -1, 390, -1, -1, -1, 394, 18, 19, 20,
3986 21, -1, 23, 24, 25, 26, 27, 28, 29, 30,
3987 31, 32, -1, -1, -1, 268, 269, 270, -1, -1,
3988 273, -1, -1, -1, -1, -1, -1, -1, -1, 50,
3989 -1, -1, -1, -1, -1, -1, -1, 290, -1, -1,
3990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3991 -1, 304, -1, -1, -1, -1, -1, -1, -1, -1,
3992 -1, 314, 315, 316, 317, 318, 319, -1, -1, -1,
3993 -1, -1, 325, 326, 327, 328, 329, 330, -1, -1,
3994 -1, 374, -1, 376, 377, 378, 379, 380, 381, 382,
3995 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
3996 -1, 354, 355, 356, 357, 358, 359, -1, -1, -1,
3997 -1, 132, 133, -1, -1, -1, 369, 370, 371, 372,
3998 -1, -1, -1, -1, -1, -1, -1, -1, 149, 150,
3999 -1, 384, 385, 154, -1, -1, -1, 390, -1, -1,
4000 -1, 394, 18, 19, 20, 21, -1, 23, 24, 25,
4001 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
4002 -1, -1, -1, -1, -1, 186, 187, 188, -1, -1,
4003 -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
4004 -1, -1, -1, -1, 374, -1, 376, 377, 378, 379,
4005 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4006 -1, 391, -1, -1, -1, 395, -1, -1, -1, -1,
4007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4008 -1, 242, -1, -1, -1, -1, -1, 248, -1, 22,
4009 -1, -1, -1, -1, -1, -1, 257, -1, -1, -1,
4010 -1, -1, -1, -1, -1, -1, -1, 268, 269, 270,
4011 -1, -1, 22, -1, -1, -1, 132, 133, -1, -1,
4012 -1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
4013 -1, -1, 22, 149, 150, -1, -1, -1, 154, -1,
4014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4015 -1, -1, -1, 314, 315, 316, 317, 318, 319, -1,
4016 -1, -1, -1, -1, 325, 326, 327, 328, 329, 330,
4017 186, 187, 188, -1, 374, -1, 376, 377, 378, 379,
4018 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4019 -1, 391, -1, 354, 355, 356, 357, 358, 359, -1,
4020 -1, -1, -1, -1, -1, -1, -1, -1, 369, 370,
4021 371, 372, -1, -1, -1, -1, -1, -1, -1, -1,
4022 22, -1, -1, 384, 385, -1, 242, -1, -1, 390,
4023 -1, -1, 248, 394, -1, -1, -1, -1, -1, -1,
4024 -1, 257, -1, -1, -1, -1, -1, -1, -1, -1,
4025 -1, -1, 268, 269, 270, -1, 18, 19, 20, 21,
4026 -1, 23, 24, 25, 26, 27, 28, 29, 30, 31,
4027 32, -1, -1, -1, 290, -1, -1, -1, -1, -1,
4028 -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
4029 -1, -1, -1, -1, -1, -1, -1, -1, 314, 315,
4030 316, 317, 318, 319, -1, -1, -1, 69, -1, 325,
4031 326, 327, 328, 329, 330, -1, -1, -1, -1, -1,
4032 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
4033 -1, -1, -1, -1, -1, -1, -1, -1, 354, 355,
4034 356, 357, 358, 359, -1, -1, -1, -1, -1, -1,
4035 -1, -1, -1, 369, 370, 371, 372, -1, -1, -1,
4036 -1, -1, -1, -1, 22, -1, -1, -1, 384, 385,
4037 132, 133, -1, -1, 390, -1, -1, -1, 394, -1,
4038 -1, -1, -1, -1, -1, -1, -1, 149, 150, -1,
4039 -1, -1, 154, -1, -1, -1, -1, -1, -1, -1,
4040 -1, -1, -1, 18, 19, 20, 21, -1, 23, 24,
4041 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
4042 -1, -1, -1, -1, 186, -1, 188, -1, -1, -1,
4043 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
4044 -1, 374, 57, 376, 377, 378, 379, 380, 381, 382,
4045 383, 384, 385, 386, 387, 388, -1, -1, 391, 22,
4046 -1, -1, 395, -1, 374, -1, 376, 377, 378, 379,
4047 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4048 242, 391, -1, -1, 374, 395, 376, 377, 378, 379,
4049 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4050 -1, 391, -1, -1, -1, 395, 268, 269, 270, 22,
4051 -1, -1, -1, -1, -1, -1, 278, 132, 133, -1,
4052 -1, -1, -1, -1, -1, -1, -1, -1, 290, -1,
4053 -1, -1, -1, -1, 149, 150, -1, 152, -1, 154,
4054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4055 -1, -1, 314, 315, 316, 317, 318, 319, -1, -1,
4056 -1, -1, -1, 325, 326, 327, 328, 329, 330, -1,
4057 -1, 186, 374, 188, 376, 377, 378, 379, 380, 381,
4058 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
4059 -1, -1, 354, 355, 356, 357, 358, 359, -1, 22,
4060 -1, -1, -1, -1, -1, -1, -1, 369, 370, 371,
4061 372, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4062 -1, -1, 384, 385, -1, -1, -1, 242, 390, -1,
4063 -1, -1, 394, -1, -1, 18, 19, 20, 21, -1,
4064 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
4065 -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
4066 -1, -1, -1, -1, -1, -1, -1, 50, -1, -1,
4067 -1, -1, -1, -1, 374, 290, 376, 377, 378, 379,
4068 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4069 -1, 391, 75, -1, -1, 395, -1, -1, -1, 314,
4070 315, 316, 317, 318, 319, -1, -1, -1, -1, -1,
4071 325, 326, 327, 328, 329, 330, 374, -1, 376, 377,
4072 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
4073 388, -1, -1, 391, -1, -1, -1, 395, -1, 354,
4074 355, 356, 357, 358, 359, 22, -1, -1, -1, 132,
4075 133, -1, -1, -1, 369, 370, 371, 372, -1, -1,
4076 -1, -1, -1, -1, -1, -1, 149, 150, -1, 384,
4077 385, 154, -1, -1, -1, 390, -1, -1, -1, 394,
4078 18, 19, 20, 21, -1, 23, 24, 25, 26, 27,
4079 28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
4080 -1, -1, -1, 186, -1, 188, -1, -1, 46, -1,
4081 -1, 374, 50, 376, 377, 378, 379, 380, 381, 382,
4082 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
4083 -1, -1, 395, -1, -1, -1, 22, -1, -1, 222,
4084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4085 -1, -1, -1, -1, -1, -1, -1, -1, 22, 242,
4086 -1, 374, -1, 376, 377, 378, 379, 380, 381, 382,
4087 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
4088 -1, -1, 395, -1, -1, 268, 269, 270, 22, -1,
4089 -1, -1, -1, -1, 132, 133, -1, -1, -1, -1,
4090 -1, -1, -1, -1, -1, -1, -1, 290, -1, -1,
4091 -1, 149, 150, -1, -1, -1, 154, -1, -1, -1,
4092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4093 -1, 314, 315, 316, 317, 318, 319, -1, -1, -1,
4094 -1, -1, 325, 326, 327, 328, 329, 330, 186, -1,
4095 188, 374, -1, 376, 377, 378, 379, 380, 381, 382,
4096 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
4097 -1, 354, 355, 356, 357, 358, 359, -1, -1, -1,
4098 -1, -1, -1, -1, -1, -1, 369, 370, 371, 372,
4099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4100 -1, 384, 385, -1, 242, -1, -1, 390, -1, -1,
4101 -1, 394, 18, 19, 20, 21, -1, 23, 24, 25,
4102 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
4103 268, 269, 270, -1, -1, -1, -1, -1, -1, -1,
4104 -1, 279, -1, -1, 50, -1, -1, -1, -1, -1,
4105 -1, -1, 290, -1, -1, -1, -1, -1, -1, -1,
4106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4107 -1, 77, -1, -1, -1, -1, 314, 315, 316, 317,
4108 318, 319, -1, -1, -1, -1, -1, 325, 326, 327,
4109 328, 329, 330, -1, -1, -1, -1, 374, -1, 376,
4110 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
4111 387, 388, -1, -1, 391, -1, 354, 355, 356, 357,
4112 358, 359, -1, -1, -1, -1, 132, 133, -1, -1,
4113 -1, 369, 370, 371, 372, -1, -1, -1, -1, -1,
4114 -1, -1, -1, 149, 150, -1, 384, 385, 154, -1,
4115 -1, -1, 390, -1, -1, -1, 394, 18, 19, 20,
4116 21, -1, 23, 24, 25, 26, 27, 28, 29, 30,
4117 31, 32, -1, -1, -1, -1, -1, -1, -1, -1,
4118 186, -1, 188, -1, -1, -1, -1, -1, 374, 50,
4119 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
4120 386, 387, 388, -1, -1, 391, -1, -1, 69, 395,
4121 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
4122 384, 385, 386, 387, 388, -1, -1, 391, -1, -1,
4123 -1, 395, 22, -1, -1, -1, 242, -1, 244, -1,
4124 374, -1, 376, 377, 378, 379, 380, 381, 382, 383,
4125 384, 385, 386, 387, 388, 37, 38, 391, -1, -1,
4126 22, 395, 268, 269, 270, 47, -1, -1, -1, -1,
4127 52, 132, 133, -1, -1, -1, -1, -1, -1, -1,
4128 -1, -1, -1, -1, 290, -1, -1, -1, 149, 150,
4129 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
4130 -1, -1, -1, -1, -1, -1, -1, -1, 314, 315,
4131 316, 317, 318, 319, -1, -1, -1, -1, -1, 325,
4132 326, 327, 328, 329, 330, 186, -1, 188, -1, -1,
4133 -1, -1, -1, -1, -1, -1, 118, -1, -1, -1,
4134 -1, -1, -1, -1, -1, -1, -1, -1, 354, 355,
4135 356, 357, 358, 359, -1, -1, -1, -1, -1, 141,
4136 -1, -1, -1, 369, 370, 371, 372, -1, -1, -1,
4137 -1, -1, -1, -1, -1, -1, -1, -1, 384, 385,
4138 162, 242, -1, -1, 390, -1, -1, -1, 394, 18,
4139 19, 20, 21, -1, 23, 24, 25, 26, 27, 28,
4140 29, 30, 31, 32, -1, -1, -1, 268, 269, 270,
4141 -1, -1, -1, -1, 22, -1, -1, -1, -1, -1,
4142 -1, 50, -1, -1, -1, -1, 208, -1, -1, 290,
4143 -1, 213, -1, -1, -1, -1, -1, -1, -1, -1,
4144 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4145 -1, -1, -1, 314, 315, 316, 317, 318, 319, -1,
4146 -1, -1, -1, -1, 325, 326, 327, 328, 329, 330,
4147 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4149 -1, -1, -1, 354, 355, 356, 357, 358, 359, -1,
4150 -1, 283, -1, 132, 133, -1, -1, -1, 369, 370,
4151 371, 372, -1, -1, -1, -1, -1, -1, -1, -1,
4152 149, 150, 304, 384, 385, 154, -1, -1, -1, 390,
4153 -1, -1, -1, 394, 18, 19, 20, 21, -1, 23,
4154 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
4155 -1, 333, -1, -1, -1, -1, -1, 186, -1, 188,
4156 -1, -1, -1, -1, -1, -1, 50, -1, -1, -1,
4157 -1, -1, -1, -1, -1, -1, -1, -1, -1, 361,
4158 -1, -1, -1, -1, 374, 69, 376, 377, 378, 379,
4159 380, 381, 382, 383, 384, 385, 386, 387, 388, -1,
4160 -1, 391, -1, -1, -1, 395, -1, -1, -1, -1,
4161 392, -1, 374, 242, 376, 377, 378, 379, 380, 381,
4162 382, 383, 384, 385, 386, 387, 388, 22, -1, 391,
4163 -1, -1, -1, 395, -1, -1, -1, -1, -1, 268,
4164 269, 270, -1, -1, -1, -1, -1, -1, 132, 133,
4165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
4166 -1, 290, -1, -1, -1, 149, 150, -1, -1, -1,
4167 154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4168 -1, -1, -1, -1, -1, 314, 315, 316, 317, 318,
4169 319, -1, -1, 322, -1, -1, 325, 326, 327, 328,
4170 329, 330, 186, -1, 188, -1, -1, -1, -1, -1,
4171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4172 -1, -1, -1, -1, -1, 354, 355, 356, 357, 358,
4173 359, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4174 369, 370, 371, 372, -1, -1, -1, -1, -1, -1,
4175 22, -1, -1, -1, -1, 384, 385, -1, 242, -1,
4176 -1, 390, -1, -1, -1, 394, 374, -1, 376, 377,
4177 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
4178 388, -1, -1, 391, 268, 269, 270, 395, 18, 19,
4179 20, 21, -1, 23, 24, 25, 26, 27, 28, 29,
4180 30, 31, 32, -1, -1, -1, 290, -1, -1, -1,
4181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4182 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4183 314, 315, 316, 317, 318, 319, -1, -1, -1, -1,
4184 -1, 325, 326, 327, 328, 329, 330, -1, -1, -1,
4185 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
4186 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4187 354, 355, 356, 357, 358, 359, -1, -1, -1, -1,
4188 -1, -1, -1, -1, -1, 369, 370, 371, 372, -1,
4189 -1, -1, 122, -1, 22, -1, -1, -1, -1, -1,
4190 384, 385, 132, 133, -1, -1, 390, -1, -1, -1,
4191 394, -1, -1, -1, -1, -1, -1, -1, -1, 149,
4192 150, -1, -1, -1, 154, -1, -1, -1, -1, -1,
4193 -1, -1, -1, 18, 19, 20, 21, -1, 23, 24,
4194 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
4195 -1, -1, -1, -1, -1, -1, 186, -1, 188, -1,
4196 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
4197 -1, -1, -1, -1, -1, -1, -1, -1, -1, 374,
4198 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
4199 385, 386, 387, 388, 22, -1, 391, -1, -1, -1,
4200 395, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4201 -1, 374, 242, 376, 377, 378, 379, 380, 381, 382,
4202 383, 384, 385, 386, 387, 388, -1, -1, 391, -1,
4203 -1, -1, 395, -1, -1, -1, 22, -1, 268, 269,
4204 270, -1, -1, -1, -1, -1, -1, 132, 133, -1,
4205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4206 290, -1, -1, -1, 149, 150, -1, -1, -1, 154,
4207 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4208 -1, -1, -1, -1, 314, 315, 316, 317, 318, 319,
4209 -1, -1, -1, -1, -1, 325, 326, 327, 328, 329,
4210 330, 186, 374, 188, 376, 377, 378, 379, 380, 381,
4211 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
4212 -1, -1, -1, 395, 354, 355, 356, 357, 358, 359,
4213 -1, -1, -1, -1, -1, -1, -1, -1, -1, 369,
4214 370, 371, 372, -1, -1, -1, -1, -1, -1, -1,
4215 -1, -1, -1, -1, 384, 385, -1, 242, -1, -1,
4216 390, -1, -1, -1, 394, 18, 19, 20, 21, -1,
4217 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
4218 -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
4219 -1, -1, -1, -1, -1, -1, -1, 50, -1, -1,
4220 -1, -1, -1, -1, 374, 290, 376, 377, 378, 379,
4221 380, 381, 382, 383, 384, 385, 386, 387, 388, 304,
4222 -1, 391, -1, -1, -1, 395, -1, -1, -1, 314,
4223 315, 316, 317, 318, 319, -1, -1, -1, -1, -1,
4224 325, 326, 327, 328, 329, 330, 374, -1, 376, 377,
4225 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
4226 388, -1, -1, 391, -1, -1, -1, 395, -1, 354,
4227 355, 356, 357, 358, 359, -1, -1, -1, -1, 132,
4228 133, -1, -1, -1, 369, 370, 371, 372, -1, -1,
4229 -1, -1, -1, -1, -1, -1, 149, 150, -1, 384,
4230 385, 154, -1, -1, -1, 390, -1, -1, -1, 394,
4231 18, 19, 20, 21, -1, 23, 24, 25, 26, 27,
4232 28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
4233 -1, -1, -1, 186, -1, 188, -1, -1, -1, -1,
4234 -1, -1, 50, -1, -1, -1, 374, -1, 376, 377,
4235 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
4236 388, -1, -1, 391, -1, -1, 22, 395, -1, -1,
4237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4238 -1, -1, -1, -1, -1, -1, 22, -1, 374, 242,
4239 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
4240 386, 387, 388, -1, -1, 391, -1, -1, -1, 395,
4241 -1, -1, -1, 22, -1, 268, 269, 270, -1, -1,
4242 -1, -1, -1, -1, 132, 133, -1, -1, -1, -1,
4243 -1, -1, -1, -1, -1, -1, -1, 290, -1, -1,
4244 -1, 149, 150, -1, -1, -1, 154, -1, -1, -1,
4245 -1, 304, -1, -1, -1, -1, -1, -1, -1, -1,
4246 -1, 314, 315, 316, 317, 318, 319, -1, -1, -1,
4247 -1, -1, 325, 326, 327, 328, 329, 330, 186, -1,
4248 188, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4250 -1, 354, 355, 356, 357, 358, 359, -1, -1, -1,
4251 -1, -1, -1, -1, -1, -1, 369, 370, 371, 372,
4252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4253 -1, 384, 385, -1, 242, -1, -1, 390, -1, -1,
4254 -1, 394, 18, 19, 20, 21, -1, 23, 24, 25,
4255 26, 27, 28, 29, 30, 31, 32, -1, -1, -1,
4256 268, 269, 270, -1, -1, -1, -1, 22, -1, -1,
4257 -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
4258 -1, -1, 290, -1, -1, -1, -1, -1, -1, 22,
4259 -1, -1, -1, -1, -1, -1, 304, -1, -1, -1,
4260 -1, -1, -1, -1, -1, -1, 314, 315, 316, 317,
4261 318, 319, -1, -1, -1, -1, -1, 325, 326, 327,
4262 328, 329, 330, -1, -1, -1, -1, -1, -1, -1,
4263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4264 -1, -1, -1, -1, -1, -1, 354, 355, 356, 357,
4265 358, 359, -1, -1, -1, -1, 132, 133, -1, -1,
4266 -1, 369, 370, 371, 372, -1, -1, -1, -1, -1,
4267 -1, -1, -1, 149, 150, -1, 384, 385, 154, -1,
4268 -1, -1, 390, -1, -1, -1, 394, 18, 19, 20,
4269 21, -1, 23, 24, 25, 26, 27, 28, 29, 30,
4270 31, 32, -1, -1, -1, -1, -1, -1, -1, -1,
4271 186, -1, 188, 22, -1, -1, -1, -1, 374, 50,
4272 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
4273 386, 387, 388, 22, -1, 391, -1, -1, 374, 395,
4274 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
4275 386, 387, 388, 22, -1, 391, -1, -1, -1, 395,
4276 -1, -1, -1, -1, -1, 374, 242, 376, 377, 378,
4277 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
4278 22, -1, 391, -1, -1, -1, 395, -1, -1, -1,
4279 -1, -1, 268, 269, 270, -1, -1, -1, -1, -1,
4280 22, 132, 133, -1, -1, -1, -1, -1, -1, -1,
4281 -1, -1, -1, -1, 290, -1, -1, -1, 149, 150,
4282 22, -1, -1, 154, -1, -1, -1, -1, -1, -1,
4283 -1, -1, -1, -1, -1, -1, -1, -1, 314, 315,
4284 316, 317, 318, 319, -1, -1, -1, -1, -1, 325,
4285 326, 327, 328, 329, 330, 186, -1, 188, -1, -1,
4286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4287 -1, -1, -1, -1, -1, -1, -1, -1, 354, 355,
4288 356, 357, 358, 359, -1, -1, -1, -1, -1, -1,
4289 -1, -1, -1, 369, 370, 371, 372, -1, -1, -1,
4290 -1, -1, -1, -1, -1, -1, -1, -1, 384, 385,
4291 -1, 242, -1, -1, 390, -1, -1, -1, 394, 374,
4292 -1, 376, 377, 378, 379, 380, 381, 382, 383, 384,
4293 385, 386, 387, 388, -1, -1, 391, 268, 269, 270,
4294 395, 374, -1, 376, 377, 378, 379, 380, 381, 382,
4295 383, 384, 385, 386, 387, 388, -1, -1, 391, 290,
4296 -1, -1, 395, -1, -1, -1, -1, -1, -1, -1,
4297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4298 -1, -1, -1, 314, 315, 316, 317, 318, 319, -1,
4299 -1, -1, -1, -1, 325, 326, 327, 328, 329, 330,
4300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4302 -1, -1, -1, 354, 355, 356, 357, 358, 359, -1,
4303 -1, -1, -1, -1, -1, -1, -1, -1, 369, 370,
4304 371, 372, -1, -1, -1, -1, -1, -1, -1, -1,
4305 -1, -1, -1, 384, 385, -1, -1, -1, -1, 390,
4306 -1, -1, -1, 394, -1, 374, -1, 376, 377, 378,
4307 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
4308 -1, -1, 391, -1, -1, 374, 395, 376, 377, 378,
4309 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
4310 -1, -1, 391, -1, -1, 374, 395, 376, 377, 378,
4311 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
4312 -1, -1, 391, -1, -1, -1, 395, -1, -1, -1,
4313 -1, -1, 374, -1, 376, 377, 378, 379, 380, 381,
4314 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
4315 -1, -1, 374, 395, 376, 377, 378, 379, 380, 381,
4316 382, 383, 384, 385, 386, 387, 388, -1, -1, 391,
4317 -1, -1, 374, 395, 376, 377, 378, 379, 380, 381,
4318 382, 383, 384, 385, 386, 387, 388, -1, 49, 391,
4319 -1, -1, -1, 395, 55, -1, 49, -1, -1, -1,
4320 -1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
4321 -1, -1, -1, -1, 75, 76, -1, -1, -1, -1,
4322 -1, -1, 75, 76, 78, -1, -1, -1, 82, 83,
4323 84, 85, 86, 87, -1, -1, -1, 91, 92, 93,
4324 94, 95, 96, -1, 105, 106, -1, -1, -1, 110,
4325 -1, -1, 105, 106, 115, 109, -1, 110, 112, -1,
4326 -1, -1, 115, -1, -1, -1, -1, -1, -1, -1,
4327 -1, -1, -1, -1, -1, -1, 130, -1, -1, -1,
4328 141, -1, -1, -1, -1, -1, -1, -1, 141, 143,
4329 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4330 -1, -1, -1, -1, -1, 166, 167, -1, 169, -1,
4331 171, 172, 173, 166, 167, -1, 169, -1, 171, 172,
4332 173, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4333 -1, -1, -1, -1, -1, -1, 190, 191, 192, 193,
4334 194, 195, 196, 197, 198, 199, 200, 208, -1, -1,
4335 -1, -1, 213, -1, -1, 208, -1, -1, -1, -1,
4336 213, -1, -1, -1, -1, -1, -1, -1, 229, -1,
4337 -1, -1, -1, -1, -1, -1, 229, -1, -1, -1,
4338 -1, 235, -1, -1, -1, -1, -1, -1, -1, -1,
4339 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4341 -1, -1, 266, 274, -1, -1, -1, -1, -1, -1,
4342 -1, 274, -1, -1, -1, -1, -1, -1, -1, -1,
4343 -1, -1, 293, -1, -1, -1, -1, -1, -1, -1,
4344 293, -1, -1, 304, -1, -1, -1, -1, -1, -1,
4345 -1, 304, -1, -1, -1, -1, -1, -1, -1, -1,
4346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4347 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4349 -1, -1, 353, -1, -1, -1, -1, -1, -1, -1,
4350 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4351 -1, 365, 366, -1, -1, -1, -1, -1, -1, -1,
4352 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4353 -1, 392, -1, -1, -1, -1, -1, -1, -1, 392
4354 };
4355
4356 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
4357 symbol of state STATE-NUM. */
4358 static const yytype_uint16 yystos[] =
4359 {
4360 0, 1, 18, 19, 20, 21, 23, 24, 25, 26,
4361 27, 28, 29, 30, 31, 32, 35, 37, 38, 41,
4362 42, 46, 47, 48, 50, 51, 61, 64, 65, 70,
4363 73, 80, 81, 89, 90, 98, 99, 100, 101, 107,
4364 108, 111, 113, 116, 119, 120, 124, 126, 131, 132,
4365 133, 137, 139, 142, 149, 150, 154, 155, 156, 157,
4366 159, 161, 166, 168, 169, 173, 174, 185, 186, 187,
4367 188, 201, 203, 205, 218, 233, 238, 239, 240, 241,
4368 242, 243, 246, 247, 248, 249, 251, 252, 257, 259,
4369 260, 261, 262, 263, 264, 268, 269, 270, 275, 277,
4370 278, 281, 282, 289, 290, 291, 292, 294, 298, 299,
4371 300, 304, 306, 307, 308, 313, 314, 315, 316, 317,
4372 318, 319, 321, 322, 324, 325, 326, 327, 328, 329,
4373 330, 332, 333, 334, 354, 355, 356, 357, 358, 359,
4374 360, 361, 368, 369, 370, 371, 372, 384, 385, 390,
4375 394, 401, 402, 403, 404, 411, 412, 413, 414, 415,
4376 416, 417, 418, 419, 420, 421, 422, 429, 430, 431,
4377 432, 444, 452, 455, 461, 469, 471, 323, 394, 399,
4378 167, 394, 394, 394, 394, 394, 394, 394, 394, 394,
4379 394, 69, 123, 405, 429, 430, 394, 246, 214, 332,
4380 360, 430, 75, 465, 52, 53, 54, 337, 339, 340,
4381 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
4382 351, 352, 353, 437, 18, 19, 20, 23, 24, 26,
4383 27, 28, 29, 30, 31, 32, 88, 115, 171, 172,
4384 175, 208, 213, 242, 369, 370, 371, 385, 390, 394,
4385 404, 411, 429, 430, 443, 463, 465, 466, 405, 19,
4386 20, 64, 98, 108, 148, 169, 212, 282, 289, 435,
4387 405, 430, 67, 122, 222, 271, 293, 462, 463, 464,
4388 465, 466, 19, 20, 373, 435, 405, 405, 394, 404,
4389 405, 429, 88, 115, 175, 404, 429, 443, 463, 465,
4390 466, 394, 125, 236, 300, 321, 428, 71, 121, 269,
4391 429, 443, 78, 82, 83, 84, 85, 86, 87, 91,
4392 92, 93, 94, 95, 96, 109, 112, 130, 143, 190,
4393 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
4394 235, 266, 365, 366, 448, 51, 115, 304, 443, 463,
4395 464, 465, 466, 405, 397, 408, 99, 405, 394, 394,
4396 394, 394, 61, 248, 429, 430, 64, 67, 122, 140,
4397 158, 164, 167, 175, 289, 312, 331, 356, 404, 443,
4398 462, 463, 465, 466, 394, 43, 88, 175, 404, 429,
4399 443, 463, 465, 466, 218, 248, 405, 75, 122, 394,
4400 430, 129, 394, 51, 103, 151, 153, 164, 165, 217,
4401 250, 253, 267, 273, 305, 404, 406, 407, 450, 301,
4402 172, 466, 405, 394, 56, 61, 207, 405, 437, 18,
4403 169, 304, 337, 394, 443, 463, 465, 466, 394, 394,
4404 430, 394, 405, 408, 404, 430, 102, 227, 445, 430,
4405 322, 407, 67, 88, 160, 175, 255, 404, 429, 443,
4406 462, 465, 466, 273, 405, 462, 465, 466, 430, 430,
4407 407, 67, 88, 255, 404, 443, 462, 465, 466, 273,
4408 405, 462, 465, 466, 437, 405, 407, 335, 336, 363,
4409 364, 404, 64, 108, 169, 289, 429, 430, 335, 336,
4410 363, 364, 404, 430, 158, 265, 394, 158, 265, 404,
4411 79, 399, 399, 399, 404, 248, 404, 411, 412, 404,
4412 412, 404, 412, 0, 393, 22, 374, 376, 377, 378,
4413 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
4414 391, 392, 397, 408, 22, 374, 376, 377, 378, 379,
4415 380, 381, 382, 383, 384, 385, 386, 387, 388, 391,
4416 399, 47, 52, 118, 141, 162, 283, 304, 392, 432,
4417 443, 49, 55, 76, 105, 106, 110, 115, 141, 166,
4418 167, 169, 173, 229, 274, 293, 304, 353, 392, 443,
4419 463, 465, 466, 52, 162, 209, 295, 296, 304, 423,
4420 443, 394, 394, 394, 362, 443, 404, 405, 406, 409,
4421 404, 407, 404, 406, 412, 404, 412, 406, 406, 404,
4422 412, 406, 404, 404, 404, 404, 443, 392, 405, 392,
4423 301, 407, 443, 204, 332, 338, 360, 394, 405, 407,
4424 405, 394, 394, 394, 394, 394, 394, 394, 394, 394,
4425 75, 204, 222, 464, 465, 474, 407, 404, 313, 322,
4426 451, 404, 404, 404, 376, 377, 378, 379, 380, 381,
4427 382, 383, 384, 385, 386, 387, 388, 391, 396, 408,
4428 301, 273, 278, 405, 407, 407, 405, 273, 397, 405,
4429 104, 122, 215, 218, 430, 464, 465, 474, 451, 396,
4430 406, 405, 404, 405, 407, 464, 465, 443, 407, 406,
4431 404, 405, 430, 404, 412, 430, 430, 264, 115, 443,
4432 463, 464, 465, 466, 273, 407, 443, 404, 407, 451,
4433 407, 407, 404, 404, 396, 430, 164, 167, 273, 304,
4434 407, 451, 396, 443, 301, 407, 407, 404, 407, 301,
4435 405, 430, 115, 404, 407, 117, 127, 163, 234, 439,
4436 440, 407, 404, 372, 407, 99, 405, 57, 152, 407,
4437 405, 405, 445, 405, 445, 405, 445, 404, 405, 410,
4438 404, 33, 58, 144, 146, 165, 231, 232, 253, 309,
4439 311, 441, 404, 430, 430, 430, 412, 329, 354, 454,
4440 407, 404, 273, 405, 407, 451, 407, 396, 404, 377,
4441 273, 405, 407, 396, 404, 304, 404, 404, 404, 404,
4442 396, 407, 407, 407, 407, 404, 404, 404, 404, 396,
4443 114, 124, 443, 177, 178, 206, 245, 442, 430, 443,
4444 442, 443, 404, 404, 404, 395, 395, 18, 19, 248,
4445 369, 370, 371, 403, 411, 429, 430, 404, 404, 412,
4446 404, 412, 404, 412, 404, 412, 404, 412, 404, 412,
4447 404, 412, 404, 412, 404, 412, 404, 412, 404, 412,
4448 404, 412, 404, 412, 404, 412, 167, 406, 399, 404,
4449 412, 404, 412, 404, 412, 404, 412, 404, 412, 404,
4450 412, 404, 412, 404, 412, 404, 412, 404, 412, 404,
4451 412, 404, 412, 404, 412, 404, 412, 404, 412, 404,
4452 412, 304, 140, 124, 236, 304, 337, 443, 443, 443,
4453 443, 52, 68, 117, 138, 179, 180, 181, 226, 230,
4454 276, 284, 285, 337, 438, 147, 269, 270, 314, 315,
4455 317, 318, 325, 326, 327, 328, 423, 41, 67, 124,
4456 209, 236, 237, 255, 304, 443, 462, 465, 304, 443,
4457 405, 407, 443, 167, 228, 254, 273, 304, 443, 463,
4458 464, 465, 466, 467, 258, 304, 321, 407, 464, 465,
4459 443, 405, 407, 304, 463, 464, 465, 466, 443, 445,
4460 404, 407, 66, 67, 115, 273, 274, 407, 463, 464,
4461 465, 466, 437, 404, 147, 167, 452, 427, 443, 463,
4462 465, 466, 67, 160, 164, 215, 228, 405, 426, 462,
4463 465, 466, 467, 470, 475, 404, 39, 41, 67, 124,
4464 125, 164, 209, 228, 236, 237, 272, 274, 286, 287,
4465 288, 304, 407, 425, 443, 462, 465, 466, 467, 473,
4466 475, 36, 62, 89, 151, 176, 184, 186, 188, 189,
4467 210, 211, 217, 228, 273, 279, 304, 407, 424, 443,
4468 447, 465, 466, 467, 472, 475, 367, 430, 430, 412,
4469 406, 396, 395, 395, 395, 395, 395, 396, 396, 396,
4470 396, 396, 396, 396, 396, 396, 404, 405, 430, 396,
4471 404, 407, 404, 406, 404, 406, 404, 404, 404, 404,
4472 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4473 404, 404, 404, 404, 404, 430, 404, 404, 404, 398,
4474 407, 182, 222, 436, 404, 40, 443, 405, 273, 396,
4475 404, 395, 220, 398, 396, 396, 395, 396, 321, 443,
4476 464, 465, 404, 405, 404, 396, 404, 404, 404, 407,
4477 404, 429, 301, 301, 396, 395, 430, 396, 443, 388,
4478 396, 388, 372, 396, 404, 404, 395, 405, 405, 405,
4479 396, 396, 395, 396, 396, 395, 44, 97, 453, 396,
4480 404, 404, 430, 404, 404, 5, 6, 7, 8, 9,
4481 10, 11, 12, 13, 14, 15, 16, 433, 404, 404,
4482 405, 405, 396, 408, 392, 375, 375, 404, 375, 375,
4483 46, 279, 404, 448, 404, 407, 404, 408, 405, 273,
4484 448, 404, 407, 405, 407, 407, 407, 396, 404, 62,
4485 206, 216, 468, 72, 443, 463, 466, 404, 62, 63,
4486 165, 253, 302, 476, 407, 407, 75, 222, 474, 407,
4487 405, 396, 443, 407, 462, 407, 464, 465, 404, 407,
4488 396, 273, 66, 165, 253, 446, 219, 224, 476, 46,
4489 279, 404, 396, 407, 405, 273, 404, 448, 405, 145,
4490 279, 310, 46, 279, 404, 59, 213, 407, 405, 34,
4491 202, 206, 449, 407, 407, 304, 404, 304, 404, 46,
4492 279, 396, 443, 407, 443, 134, 273, 404, 407, 443,
4493 463, 465, 466, 372, 372, 134, 273, 297, 404, 407,
4494 443, 463, 465, 466, 404, 404, 256, 404, 304, 407,
4495 46, 279, 396, 443, 396, 396, 395, 407, 406, 404,
4496 412, 404, 412, 404, 412, 406, 404, 404, 404, 404,
4497 407, 396, 396, 396, 396, 396, 396, 396, 396, 396,
4498 398, 405, 443, 407, 407, 396, 412, 412, 412, 474,
4499 430, 396, 396, 394, 405, 404, 407, 412, 407, 407,
4500 404, 404, 407, 248, 412, 404, 129, 396, 396, 124,
4501 430, 404, 406, 404, 412, 404, 412, 448, 396, 396,
4502 404, 396, 407, 167, 443, 404, 404, 404, 396, 404,
4503 404, 396, 297, 297, 46, 279, 46, 279, 405, 443,
4504 404, 396, 443, 404, 407, 396, 443, 62, 204, 297,
4505 434, 404, 407, 77, 244, 407, 456, 396, 395, 395,
4506 395, 395, 395, 395, 395, 396, 396, 396, 396, 396,
4507 396, 407, 404, 404, 406, 404, 404, 404, 404, 404,
4508 396, 395, 404, 396, 395, 396, 395, 404, 404, 407,
4509 396, 396, 395, 396, 396, 395, 396, 395, 396, 405,
4510 404, 404, 405, 396, 398, 404, 404, 404, 404, 404,
4511 404, 404, 404, 395, 395, 396, 407, 404, 412, 404,
4512 412, 404, 404, 404, 404, 396, 396, 396, 396, 396,
4513 396, 396, 407, 396, 443, 45, 170, 280, 460, 396,
4514 396, 405, 407, 407, 404, 443, 404, 35, 396, 396,
4515 407, 60, 135, 136, 204, 221, 303, 320, 459, 395,
4516 396, 395, 395, 395, 395, 396, 396, 396, 396, 407,
4517 404, 404, 404, 404, 404, 404, 404, 396, 396, 404,
4518 407, 395, 395, 396, 395, 396, 405, 404, 404, 396,
4519 396, 407, 404, 412, 404, 404, 404, 395, 396, 396,
4520 396, 443, 443, 396, 404, 404, 443, 17, 128, 223,
4521 457, 396, 395, 395, 396, 396, 396, 404, 404, 404,
4522 395, 395, 407, 296, 395, 396, 407, 404, 412, 404,
4523 404, 396, 396, 395, 404, 74, 183, 225, 458, 396,
4524 395, 395, 396, 395, 396, 404, 404, 396, 396, 395,
4525 404, 404, 412, 443, 396, 405, 404, 395, 395, 395,
4526 396, 404, 396, 443, 404, 396, 396, 443, 404, 395,
4527 396, 443, 395
4528 };
4529
4530 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
4531 static const yytype_uint16 yyr1[] =
4532 {
4533 0, 400, 401, 401, 401, 402, 402, 403, 403, 403,
4534 403, 403, 403, 403, 403, 403, 403, 403, 403, 404,
4535 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4536 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4537 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4538 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4539 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4540 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
4541 404, 404, 404, 404, 405, 405, 405, 406, 407, 408,
4542 409, 409, 410, 410, 411, 411, 411, 412, 412, 412,
4543 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4544 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4545 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4546 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4547 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4548 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
4549 412, 412, 412, 412, 412, 413, 413, 413, 413, 413,
4550 414, 415, 415, 416, 416, 416, 416, 416, 416, 416,
4551 416, 416, 416, 416, 417, 417, 417, 417, 417, 417,
4552 417, 417, 418, 418, 418, 418, 418, 418, 418, 418,
4553 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4554 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4555 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4556 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4557 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4558 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4559 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4560 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4561 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4562 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4563 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4564 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4565 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4566 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
4567 418, 418, 418, 418, 418, 419, 419, 419, 419, 419,
4568 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4569 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4570 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4571 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4572 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4573 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4574 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4575 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
4576 420, 420, 420, 420, 420, 420, 421, 421, 422, 422,
4577 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
4578 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
4579 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
4580 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
4581 422, 422, 422, 422, 422, 422, 422, 423, 423, 423,
4582 423, 423, 423, 423, 423, 423, 423, 424, 424, 424,
4583 424, 424, 424, 424, 424, 424, 424, 424, 424, 424,
4584 424, 424, 424, 424, 424, 424, 424, 424, 424, 424,
4585 424, 424, 425, 425, 425, 425, 425, 425, 425, 425,
4586 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
4587 425, 425, 425, 425, 425, 425, 426, 426, 426, 426,
4588 426, 426, 426, 426, 426, 426, 426, 427, 427, 427,
4589 427, 428, 428, 428, 428, 429, 429, 430, 430, 430,
4590 430, 431, 431, 432, 432, 432, 432, 433, 433, 433,
4591 433, 433, 433, 433, 433, 433, 433, 433, 433, 434,
4592 434, 434, 435, 435, 436, 436, 437, 437, 437, 437,
4593 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
4594 437, 437, 437, 437, 437, 438, 438, 438, 438, 438,
4595 438, 439, 439, 440, 440, 441, 441, 441, 441, 441,
4596 441, 441, 441, 441, 441, 442, 442, 442, 442, 443,
4597 443, 444, 444, 444, 444, 444, 445, 445, 446, 446,
4598 446, 447, 447, 447, 448, 448, 448, 448, 448, 448,
4599 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
4600 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
4601 448, 448, 448, 448, 448, 448, 449, 449, 449, 450,
4602 450, 450, 450, 450, 450, 451, 451, 452, 452, 452,
4603 452, 452, 452, 452, 452, 453, 453, 454, 454, 455,
4604 455, 455, 455, 456, 456, 457, 457, 457, 458, 458,
4605 458, 459, 459, 459, 459, 459, 459, 459, 460, 460,
4606 460, 461, 461, 461, 461, 461, 461, 461, 462, 462,
4607 463, 464, 465, 465, 465, 466, 467, 468, 468, 468,
4608 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
4609 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
4610 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
4611 469, 469, 469, 469, 469, 469, 469, 469, 469, 469,
4612 469, 469, 469, 469, 469, 470, 470, 471, 471, 471,
4613 471, 471, 471, 471, 471, 471, 471, 471, 471, 472,
4614 472, 472, 472, 472, 472, 472, 472, 472, 472, 472,
4615 472, 473, 473, 473, 473, 473, 473, 473, 473, 473,
4616 473, 474, 474, 474, 475, 476, 476, 476, 476, 476
4617 };
4618
4619 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
4620 static const yytype_uint8 yyr2[] =
4621 {
4622 0, 2, 1, 1, 1, 1, 3, 0, 1, 1,
4623 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4624 1, 1, 1, 1, 2, 4, 6, 3, 3, 3,
4625 3, 1, 2, 1, 4, 4, 6, 6, 6, 8,
4626 8, 10, 12, 14, 3, 3, 3, 3, 3, 3,
4627 3, 3, 4, 8, 14, 1, 1, 1, 1, 1,
4628 1, 1, 1, 1, 1, 3, 3, 3, 2, 2,
4629 3, 3, 3, 3, 5, 3, 3, 3, 3, 3,
4630 3, 3, 3, 2, 1, 3, 3, 1, 1, 3,
4631 1, 1, 1, 1, 1, 1, 3, 1, 6, 4,
4632 8, 4, 4, 4, 4, 4, 6, 6, 6, 6,
4633 8, 8, 10, 12, 14, 3, 3, 3, 3, 3,
4634 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4635 3, 3, 3, 2, 5, 5, 5, 5, 3, 3,
4636 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4637 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4638 3, 3, 2, 3, 2, 3, 3, 3, 3, 4,
4639 1, 3, 3, 2, 4, 5, 2, 2, 2, 2,
4640 3, 3, 6, 8, 2, 3, 2, 2, 2, 9,
4641 5, 4, 2, 5, 5, 7, 4, 5, 4, 4,
4642 3, 3, 3, 4, 2, 4, 4, 4, 3, 9,
4643 2, 2, 2, 2, 4, 3, 2, 3, 2, 2,
4644 8, 3, 2, 2, 2, 3, 3, 2, 2, 3,
4645 2, 2, 8, 3, 2, 2, 2, 3, 3, 2,
4646 2, 3, 2, 2, 8, 3, 2, 2, 2, 3,
4647 4, 4, 6, 2, 2, 3, 2, 2, 4, 3,
4648 2, 3, 2, 3, 4, 3, 2, 2, 4, 3,
4649 2, 4, 3, 2, 2, 2, 2, 4, 2, 4,
4650 3, 7, 13, 8, 2, 8, 2, 2, 3, 2,
4651 2, 2, 3, 2, 3, 3, 3, 3, 3, 3,
4652 3, 3, 2, 2, 2, 3, 3, 3, 3, 3,
4653 4, 4, 3, 3, 3, 3, 4, 4, 2, 2,
4654 2, 3, 2, 2, 2, 2, 3, 3, 2, 3,
4655 3, 3, 4, 3, 5, 6, 6, 4, 2, 5,
4656 2, 2, 2, 2, 3, 1, 1, 2, 2, 2,
4657 1, 2, 1, 4, 1, 3, 3, 2, 2, 2,
4658 1, 2, 2, 3, 3, 3, 5, 5, 4, 4,
4659 4, 2, 3, 4, 4, 2, 3, 2, 2, 1,
4660 12, 18, 20, 6, 8, 6, 6, 6, 12, 10,
4661 10, 6, 4, 10, 6, 6, 8, 1, 2, 2,
4662 2, 1, 2, 2, 3, 3, 4, 3, 2, 3,
4663 4, 3, 4, 2, 4, 4, 6, 2, 2, 1,
4664 3, 1, 1, 1, 2, 2, 2, 2, 2, 2,
4665 3, 3, 2, 2, 2, 2, 1, 1, 2, 3,
4666 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,
4667 4, 4, 3, 3, 3, 3, 4, 4, 3, 3,
4668 3, 4, 3, 3, 4, 5, 3, 3, 4, 4,
4669 4, 6, 4, 4, 3, 3, 3, 3, 4, 3,
4670 3, 4, 4, 5, 6, 3, 3, 1, 3, 2,
4671 2, 2, 2, 2, 2, 2, 4, 1, 2, 3,
4672 3, 2, 2, 2, 1, 3, 3, 1, 2, 2,
4673 1, 2, 2, 2, 2, 3, 3, 1, 3, 2,
4674 4, 4, 1, 2, 2, 2, 2, 2, 2, 2,
4675 2, 1, 2, 2, 2, 3, 3, 3, 3, 3,
4676 1, 1, 3, 2, 2, 4, 1, 2, 2, 2,
4677 2, 4, 2, 3, 1, 1, 1, 1, 1, 1,
4678 1, 2, 2, 3, 2, 1, 2, 3, 4, 1,
4679 2, 2, 3, 1, 1, 1, 1, 1, 1, 1,
4680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4686 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4695 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
4696 2, 2, 2, 2, 8, 2, 2, 1, 1, 1,
4697 3, 4, 2, 3, 4, 17, 3, 3, 2, 2,
4698 2, 2, 3, 3, 3, 4, 4, 5, 2, 2,
4699 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4700 3, 3, 3, 3, 3, 3, 3, 3, 4, 4,
4701 4, 3, 4, 4, 2, 1, 1, 4, 3, 3,
4702 4, 4, 2, 2, 2, 4, 5, 4, 4, 2,
4703 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
4704 1, 1, 2, 2, 2, 2, 2, 3, 3, 1,
4705 2, 1, 1, 1, 2, 1, 1, 1, 1, 1
4706 };
4707
4708
4709 #define yyerrok (yyerrstatus = 0)
4710 #define yyclearin (yychar = YYEMPTY)
4711 #define YYEMPTY (-2)
4712 #define YYEOF 0
4713
4714 #define YYACCEPT goto yyacceptlab
4715 #define YYABORT goto yyabortlab
4716 #define YYERROR goto yyerrorlab
4717
4718
4719 #define YYRECOVERING() (!!yyerrstatus)
4720
4721 #define YYBACKUP(Token, Value) \
4722 do \
4723 if (yychar == YYEMPTY) \
4724 { \
4725 yychar = (Token); \
4726 yylval = (Value); \
4727 YYPOPSTACK (yylen); \
4728 yystate = *yyssp; \
4729 goto yybackup; \
4730 } \
4731 else \
4732 { \
4733 yyerror (YY_("syntax error: cannot back up")); \
4734 YYERROR; \
4735 } \
4736 while (0)
4737
4738 /* Error token number */
4739 #define YYTERROR 1
4740 #define YYERRCODE 256
4741
4742
4743
4744 /* Enable debugging if requested. */
4745 #if YYDEBUG
4746
4747 # ifndef YYFPRINTF
4748 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
4749 # define YYFPRINTF fprintf
4750 # endif
4751
4752 # define YYDPRINTF(Args) \
4753 do { \
4754 if (yydebug) \
4755 YYFPRINTF Args; \
4756 } while (0)
4757
4758 /* This macro is provided for backward compatibility. */
4759 #ifndef YY_LOCATION_PRINT
4760 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4761 #endif
4762
4763
4764 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4765 do { \
4766 if (yydebug) \
4767 { \
4768 YYFPRINTF (stderr, "%s ", Title); \
4769 yy_symbol_print (stderr, \
4770 Type, Value); \
4771 YYFPRINTF (stderr, "\n"); \
4772 } \
4773 } while (0)
4774
4775
4776 /*----------------------------------------.
4777 | Print this symbol's value on YYOUTPUT. |
4778 `----------------------------------------*/
4779
4780 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)4781 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4782 {
4783 FILE *yyo = yyoutput;
4784 YYUSE (yyo);
4785 if (!yyvaluep)
4786 return;
4787 # ifdef YYPRINT
4788 if (yytype < YYNTOKENS)
4789 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
4790 # endif
4791 YYUSE (yytype);
4792 }
4793
4794
4795 /*--------------------------------.
4796 | Print this symbol on YYOUTPUT. |
4797 `--------------------------------*/
4798
4799 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)4800 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4801 {
4802 YYFPRINTF (yyoutput, "%s %s (",
4803 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
4804
4805 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
4806 YYFPRINTF (yyoutput, ")");
4807 }
4808
4809 /*------------------------------------------------------------------.
4810 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
4811 | TOP (included). |
4812 `------------------------------------------------------------------*/
4813
4814 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)4815 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
4816 {
4817 YYFPRINTF (stderr, "Stack now");
4818 for (; yybottom <= yytop; yybottom++)
4819 {
4820 int yybot = *yybottom;
4821 YYFPRINTF (stderr, " %d", yybot);
4822 }
4823 YYFPRINTF (stderr, "\n");
4824 }
4825
4826 # define YY_STACK_PRINT(Bottom, Top) \
4827 do { \
4828 if (yydebug) \
4829 yy_stack_print ((Bottom), (Top)); \
4830 } while (0)
4831
4832
4833 /*------------------------------------------------.
4834 | Report that the YYRULE is going to be reduced. |
4835 `------------------------------------------------*/
4836
4837 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule)4838 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
4839 {
4840 unsigned long int yylno = yyrline[yyrule];
4841 int yynrhs = yyr2[yyrule];
4842 int yyi;
4843 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
4844 yyrule - 1, yylno);
4845 /* The symbols being reduced. */
4846 for (yyi = 0; yyi < yynrhs; yyi++)
4847 {
4848 YYFPRINTF (stderr, " $%d = ", yyi + 1);
4849 yy_symbol_print (stderr,
4850 yystos[yyssp[yyi + 1 - yynrhs]],
4851 &(yyvsp[(yyi + 1) - (yynrhs)])
4852 );
4853 YYFPRINTF (stderr, "\n");
4854 }
4855 }
4856
4857 # define YY_REDUCE_PRINT(Rule) \
4858 do { \
4859 if (yydebug) \
4860 yy_reduce_print (yyssp, yyvsp, Rule); \
4861 } while (0)
4862
4863 /* Nonzero means print parse trace. It is left uninitialized so that
4864 multiple parsers can coexist. */
4865 int yydebug;
4866 #else /* !YYDEBUG */
4867 # define YYDPRINTF(Args)
4868 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4869 # define YY_STACK_PRINT(Bottom, Top)
4870 # define YY_REDUCE_PRINT(Rule)
4871 #endif /* !YYDEBUG */
4872
4873
4874 /* YYINITDEPTH -- initial size of the parser's stacks. */
4875 #ifndef YYINITDEPTH
4876 # define YYINITDEPTH 200
4877 #endif
4878
4879 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4880 if the built-in stack extension method is used).
4881
4882 Do not make this value too large; the results are undefined if
4883 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4884 evaluated with infinite-precision integer arithmetic. */
4885
4886 #ifndef YYMAXDEPTH
4887 # define YYMAXDEPTH 10000
4888 #endif
4889
4890
4891 #if YYERROR_VERBOSE
4892
4893 # ifndef yystrlen
4894 # if defined __GLIBC__ && defined _STRING_H
4895 # define yystrlen strlen
4896 # else
4897 /* Return the length of YYSTR. */
4898 static YYSIZE_T
yystrlen(const char * yystr)4899 yystrlen (const char *yystr)
4900 {
4901 YYSIZE_T yylen;
4902 for (yylen = 0; yystr[yylen]; yylen++)
4903 continue;
4904 return yylen;
4905 }
4906 # endif
4907 # endif
4908
4909 # ifndef yystpcpy
4910 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4911 # define yystpcpy stpcpy
4912 # else
4913 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4914 YYDEST. */
4915 static char *
yystpcpy(char * yydest,const char * yysrc)4916 yystpcpy (char *yydest, const char *yysrc)
4917 {
4918 char *yyd = yydest;
4919 const char *yys = yysrc;
4920
4921 while ((*yyd++ = *yys++) != '\0')
4922 continue;
4923
4924 return yyd - 1;
4925 }
4926 # endif
4927 # endif
4928
4929 # ifndef yytnamerr
4930 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4931 quotes and backslashes, so that it's suitable for yyerror. The
4932 heuristic is that double-quoting is unnecessary unless the string
4933 contains an apostrophe, a comma, or backslash (other than
4934 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4935 null, do not copy; instead, return the length of what the result
4936 would have been. */
4937 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)4938 yytnamerr (char *yyres, const char *yystr)
4939 {
4940 if (*yystr == '"')
4941 {
4942 YYSIZE_T yyn = 0;
4943 char const *yyp = yystr;
4944
4945 for (;;)
4946 switch (*++yyp)
4947 {
4948 case '\'':
4949 case ',':
4950 goto do_not_strip_quotes;
4951
4952 case '\\':
4953 if (*++yyp != '\\')
4954 goto do_not_strip_quotes;
4955 /* Fall through. */
4956 default:
4957 if (yyres)
4958 yyres[yyn] = *yyp;
4959 yyn++;
4960 break;
4961
4962 case '"':
4963 if (yyres)
4964 yyres[yyn] = '\0';
4965 return yyn;
4966 }
4967 do_not_strip_quotes: ;
4968 }
4969
4970 if (! yyres)
4971 return yystrlen (yystr);
4972
4973 return yystpcpy (yyres, yystr) - yyres;
4974 }
4975 # endif
4976
4977 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
4978 about the unexpected token YYTOKEN for the state stack whose top is
4979 YYSSP.
4980
4981 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
4982 not large enough to hold the message. In that case, also set
4983 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
4984 required number of bytes is too large to store. */
4985 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)4986 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
4987 yytype_int16 *yyssp, int yytoken)
4988 {
4989 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
4990 YYSIZE_T yysize = yysize0;
4991 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4992 /* Internationalized format string. */
4993 const char *yyformat = YY_NULLPTR;
4994 /* Arguments of yyformat. */
4995 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4996 /* Number of reported tokens (one for the "unexpected", one per
4997 "expected"). */
4998 int yycount = 0;
4999
5000 /* There are many possibilities here to consider:
5001 - If this state is a consistent state with a default action, then
5002 the only way this function was invoked is if the default action
5003 is an error action. In that case, don't check for expected
5004 tokens because there are none.
5005 - The only way there can be no lookahead present (in yychar) is if
5006 this state is a consistent state with a default action. Thus,
5007 detecting the absence of a lookahead is sufficient to determine
5008 that there is no unexpected or expected token to report. In that
5009 case, just report a simple "syntax error".
5010 - Don't assume there isn't a lookahead just because this state is a
5011 consistent state with a default action. There might have been a
5012 previous inconsistent state, consistent state with a non-default
5013 action, or user semantic action that manipulated yychar.
5014 - Of course, the expected token list depends on states to have
5015 correct lookahead information, and it depends on the parser not
5016 to perform extra reductions after fetching a lookahead from the
5017 scanner and before detecting a syntax error. Thus, state merging
5018 (from LALR or IELR) and default reductions corrupt the expected
5019 token list. However, the list is correct for canonical LR with
5020 one exception: it will still contain any token that will not be
5021 accepted due to an error action in a later state.
5022 */
5023 if (yytoken != YYEMPTY)
5024 {
5025 int yyn = yypact[*yyssp];
5026 yyarg[yycount++] = yytname[yytoken];
5027 if (!yypact_value_is_default (yyn))
5028 {
5029 /* Start YYX at -YYN if negative to avoid negative indexes in
5030 YYCHECK. In other words, skip the first -YYN actions for
5031 this state because they are default actions. */
5032 int yyxbegin = yyn < 0 ? -yyn : 0;
5033 /* Stay within bounds of both yycheck and yytname. */
5034 int yychecklim = YYLAST - yyn + 1;
5035 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5036 int yyx;
5037
5038 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5039 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
5040 && !yytable_value_is_error (yytable[yyx + yyn]))
5041 {
5042 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
5043 {
5044 yycount = 1;
5045 yysize = yysize0;
5046 break;
5047 }
5048 yyarg[yycount++] = yytname[yyx];
5049 {
5050 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
5051 if (! (yysize <= yysize1
5052 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5053 return 2;
5054 yysize = yysize1;
5055 }
5056 }
5057 }
5058 }
5059
5060 switch (yycount)
5061 {
5062 # define YYCASE_(N, S) \
5063 case N: \
5064 yyformat = S; \
5065 break
5066 YYCASE_(0, YY_("syntax error"));
5067 YYCASE_(1, YY_("syntax error, unexpected %s"));
5068 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
5069 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
5070 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
5071 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5072 # undef YYCASE_
5073 }
5074
5075 {
5076 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
5077 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5078 return 2;
5079 yysize = yysize1;
5080 }
5081
5082 if (*yymsg_alloc < yysize)
5083 {
5084 *yymsg_alloc = 2 * yysize;
5085 if (! (yysize <= *yymsg_alloc
5086 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
5087 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
5088 return 1;
5089 }
5090
5091 /* Avoid sprintf, as that infringes on the user's name space.
5092 Don't have undefined behavior even if the translation
5093 produced a string with the wrong number of "%s"s. */
5094 {
5095 char *yyp = *yymsg;
5096 int yyi = 0;
5097 while ((*yyp = *yyformat) != '\0')
5098 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
5099 {
5100 yyp += yytnamerr (yyp, yyarg[yyi++]);
5101 yyformat += 2;
5102 }
5103 else
5104 {
5105 yyp++;
5106 yyformat++;
5107 }
5108 }
5109 return 0;
5110 }
5111 #endif /* YYERROR_VERBOSE */
5112
5113 /*-----------------------------------------------.
5114 | Release the memory associated to this symbol. |
5115 `-----------------------------------------------*/
5116
5117 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep)5118 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
5119 {
5120 YYUSE (yyvaluep);
5121 if (!yymsg)
5122 yymsg = "Deleting";
5123 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
5124
5125 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5126 YYUSE (yytype);
5127 YY_IGNORE_MAYBE_UNINITIALIZED_END
5128 }
5129
5130
5131
5132
5133 /* The lookahead symbol. */
5134 int yychar;
5135
5136 /* The semantic value of the lookahead symbol. */
5137 YYSTYPE yylval;
5138 /* Number of syntax errors so far. */
5139 int yynerrs;
5140
5141
5142 /*----------.
5143 | yyparse. |
5144 `----------*/
5145
5146 int
yyparse(void)5147 yyparse (void)
5148 {
5149 int yystate;
5150 /* Number of tokens to shift before error messages enabled. */
5151 int yyerrstatus;
5152
5153 /* The stacks and their tools:
5154 'yyss': related to states.
5155 'yyvs': related to semantic values.
5156
5157 Refer to the stacks through separate pointers, to allow yyoverflow
5158 to reallocate them elsewhere. */
5159
5160 /* The state stack. */
5161 yytype_int16 yyssa[YYINITDEPTH];
5162 yytype_int16 *yyss;
5163 yytype_int16 *yyssp;
5164
5165 /* The semantic value stack. */
5166 YYSTYPE yyvsa[YYINITDEPTH];
5167 YYSTYPE *yyvs;
5168 YYSTYPE *yyvsp;
5169
5170 YYSIZE_T yystacksize;
5171
5172 int yyn;
5173 int yyresult;
5174 /* Lookahead token as an internal (translated) token number. */
5175 int yytoken = 0;
5176 /* The variables used to return semantic value and location from the
5177 action routines. */
5178 YYSTYPE yyval;
5179
5180 #if YYERROR_VERBOSE
5181 /* Buffer for error messages, and its allocated size. */
5182 char yymsgbuf[128];
5183 char *yymsg = yymsgbuf;
5184 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
5185 #endif
5186
5187 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
5188
5189 /* The number of symbols on the RHS of the reduced rule.
5190 Keep to zero when no symbol should be popped. */
5191 int yylen = 0;
5192
5193 yyssp = yyss = yyssa;
5194 yyvsp = yyvs = yyvsa;
5195 yystacksize = YYINITDEPTH;
5196
5197 YYDPRINTF ((stderr, "Starting parse\n"));
5198
5199 yystate = 0;
5200 yyerrstatus = 0;
5201 yynerrs = 0;
5202 yychar = YYEMPTY; /* Cause a token to be read. */
5203 goto yysetstate;
5204
5205 /*------------------------------------------------------------.
5206 | yynewstate -- Push a new state, which is found in yystate. |
5207 `------------------------------------------------------------*/
5208 yynewstate:
5209 /* In all cases, when you get here, the value and location stacks
5210 have just been pushed. So pushing a state here evens the stacks. */
5211 yyssp++;
5212
5213 yysetstate:
5214 *yyssp = yystate;
5215
5216 if (yyss + yystacksize - 1 <= yyssp)
5217 {
5218 /* Get the current used size of the three stacks, in elements. */
5219 YYSIZE_T yysize = yyssp - yyss + 1;
5220
5221 #ifdef yyoverflow
5222 {
5223 /* Give user a chance to reallocate the stack. Use copies of
5224 these so that the &'s don't force the real ones into
5225 memory. */
5226 YYSTYPE *yyvs1 = yyvs;
5227 yytype_int16 *yyss1 = yyss;
5228
5229 /* Each stack pointer address is followed by the size of the
5230 data in use in that stack, in bytes. This used to be a
5231 conditional around just the two extra args, but that might
5232 be undefined if yyoverflow is a macro. */
5233 yyoverflow (YY_("memory exhausted"),
5234 &yyss1, yysize * sizeof (*yyssp),
5235 &yyvs1, yysize * sizeof (*yyvsp),
5236 &yystacksize);
5237
5238 yyss = yyss1;
5239 yyvs = yyvs1;
5240 }
5241 #else /* no yyoverflow */
5242 # ifndef YYSTACK_RELOCATE
5243 goto yyexhaustedlab;
5244 # else
5245 /* Extend the stack our own way. */
5246 if (YYMAXDEPTH <= yystacksize)
5247 goto yyexhaustedlab;
5248 yystacksize *= 2;
5249 if (YYMAXDEPTH < yystacksize)
5250 yystacksize = YYMAXDEPTH;
5251
5252 {
5253 yytype_int16 *yyss1 = yyss;
5254 union yyalloc *yyptr =
5255 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
5256 if (! yyptr)
5257 goto yyexhaustedlab;
5258 YYSTACK_RELOCATE (yyss_alloc, yyss);
5259 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5260 # undef YYSTACK_RELOCATE
5261 if (yyss1 != yyssa)
5262 YYSTACK_FREE (yyss1);
5263 }
5264 # endif
5265 #endif /* no yyoverflow */
5266
5267 yyssp = yyss + yysize - 1;
5268 yyvsp = yyvs + yysize - 1;
5269
5270 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
5271 (unsigned long int) yystacksize));
5272
5273 if (yyss + yystacksize - 1 <= yyssp)
5274 YYABORT;
5275 }
5276
5277 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5278
5279 if (yystate == YYFINAL)
5280 YYACCEPT;
5281
5282 goto yybackup;
5283
5284 /*-----------.
5285 | yybackup. |
5286 `-----------*/
5287 yybackup:
5288
5289 /* Do appropriate processing given the current state. Read a
5290 lookahead token if we need one and don't already have one. */
5291
5292 /* First try to decide what to do without reference to lookahead token. */
5293 yyn = yypact[yystate];
5294 if (yypact_value_is_default (yyn))
5295 goto yydefault;
5296
5297 /* Not known => get a lookahead token if don't already have one. */
5298
5299 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
5300 if (yychar == YYEMPTY)
5301 {
5302 YYDPRINTF ((stderr, "Reading a token: "));
5303 yychar = yylex ();
5304 }
5305
5306 if (yychar <= YYEOF)
5307 {
5308 yychar = yytoken = YYEOF;
5309 YYDPRINTF ((stderr, "Now at end of input.\n"));
5310 }
5311 else
5312 {
5313 yytoken = YYTRANSLATE (yychar);
5314 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5315 }
5316
5317 /* If the proper action on seeing token YYTOKEN is to reduce or to
5318 detect an error, take that action. */
5319 yyn += yytoken;
5320 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5321 goto yydefault;
5322 yyn = yytable[yyn];
5323 if (yyn <= 0)
5324 {
5325 if (yytable_value_is_error (yyn))
5326 goto yyerrlab;
5327 yyn = -yyn;
5328 goto yyreduce;
5329 }
5330
5331 /* Count tokens shifted since error; after three, turn off error
5332 status. */
5333 if (yyerrstatus)
5334 yyerrstatus--;
5335
5336 /* Shift the lookahead token. */
5337 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5338
5339 /* Discard the shifted token. */
5340 yychar = YYEMPTY;
5341
5342 yystate = yyn;
5343 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5344 *++yyvsp = yylval;
5345 YY_IGNORE_MAYBE_UNINITIALIZED_END
5346
5347 goto yynewstate;
5348
5349
5350 /*-----------------------------------------------------------.
5351 | yydefault -- do the default action for the current state. |
5352 `-----------------------------------------------------------*/
5353 yydefault:
5354 yyn = yydefact[yystate];
5355 if (yyn == 0)
5356 goto yyerrlab;
5357 goto yyreduce;
5358
5359
5360 /*-----------------------------.
5361 | yyreduce -- Do a reduction. |
5362 `-----------------------------*/
5363 yyreduce:
5364 /* yyn is the number of a rule to reduce with. */
5365 yylen = yyr2[yyn];
5366
5367 /* If YYLEN is nonzero, implement the default value of the action:
5368 '$$ = $1'.
5369
5370 Otherwise, the following line sets YYVAL to garbage.
5371 This behavior is undocumented and Bison
5372 users should not rely upon it. Assigning to YYVAL
5373 unconditionally makes the parser a bit smaller, and it avoids a
5374 GCC warning that YYVAL may be used uninitialized. */
5375 yyval = yyvsp[1-yylen];
5376
5377
5378 YY_REDUCE_PRINT (yyn);
5379 switch (yyn)
5380 {
5381 case 3:
5382 #line 624 "pars.yacc" /* yacc.c:1646 */
5383 {
5384 expr_parsed = TRUE;
5385 s_result = (yyvsp[0].dval);
5386 }
5387 #line 5388 "y.tab.c" /* yacc.c:1646 */
5388 break;
5389
5390 case 4:
5391 #line 628 "pars.yacc" /* yacc.c:1646 */
5392 {
5393 vexpr_parsed = TRUE;
5394 v_result = (yyvsp[0].vrbl);
5395 }
5396 #line 5397 "y.tab.c" /* yacc.c:1646 */
5397 break;
5398
5399 case 8:
5400 #line 641 "pars.yacc" /* yacc.c:1646 */
5401 {}
5402 #line 5403 "y.tab.c" /* yacc.c:1646 */
5403 break;
5404
5405 case 9:
5406 #line 642 "pars.yacc" /* yacc.c:1646 */
5407 {}
5408 #line 5409 "y.tab.c" /* yacc.c:1646 */
5409 break;
5410
5411 case 10:
5412 #line 643 "pars.yacc" /* yacc.c:1646 */
5413 {}
5414 #line 5415 "y.tab.c" /* yacc.c:1646 */
5415 break;
5416
5417 case 11:
5418 #line 644 "pars.yacc" /* yacc.c:1646 */
5419 {}
5420 #line 5421 "y.tab.c" /* yacc.c:1646 */
5421 break;
5422
5423 case 12:
5424 #line 645 "pars.yacc" /* yacc.c:1646 */
5425 {}
5426 #line 5427 "y.tab.c" /* yacc.c:1646 */
5427 break;
5428
5429 case 13:
5430 #line 646 "pars.yacc" /* yacc.c:1646 */
5431 {}
5432 #line 5433 "y.tab.c" /* yacc.c:1646 */
5433 break;
5434
5435 case 14:
5436 #line 647 "pars.yacc" /* yacc.c:1646 */
5437 {}
5438 #line 5439 "y.tab.c" /* yacc.c:1646 */
5439 break;
5440
5441 case 15:
5442 #line 648 "pars.yacc" /* yacc.c:1646 */
5443 {}
5444 #line 5445 "y.tab.c" /* yacc.c:1646 */
5445 break;
5446
5447 case 16:
5448 #line 649 "pars.yacc" /* yacc.c:1646 */
5449 {}
5450 #line 5451 "y.tab.c" /* yacc.c:1646 */
5451 break;
5452
5453 case 17:
5454 #line 650 "pars.yacc" /* yacc.c:1646 */
5455 {}
5456 #line 5457 "y.tab.c" /* yacc.c:1646 */
5457 break;
5458
5459 case 18:
5460 #line 651 "pars.yacc" /* yacc.c:1646 */
5461 {
5462 return 1;
5463 }
5464 #line 5465 "y.tab.c" /* yacc.c:1646 */
5465 break;
5466
5467 case 19:
5468 #line 658 "pars.yacc" /* yacc.c:1646 */
5469 {
5470 (yyval.dval) = (yyvsp[0].dval);
5471 }
5472 #line 5473 "y.tab.c" /* yacc.c:1646 */
5473 break;
5474
5475 case 20:
5476 #line 661 "pars.yacc" /* yacc.c:1646 */
5477 {
5478 (yyval.dval) = *((yyvsp[0].dptr));
5479 }
5480 #line 5481 "y.tab.c" /* yacc.c:1646 */
5481 break;
5482
5483 case 21:
5484 #line 664 "pars.yacc" /* yacc.c:1646 */
5485 {
5486 (yyval.dval) = nonl_parms[(yyvsp[0].ival)].value;
5487 }
5488 #line 5489 "y.tab.c" /* yacc.c:1646 */
5489 break;
5490
5491 case 22:
5492 #line 667 "pars.yacc" /* yacc.c:1646 */
5493 {
5494 (yyval.dval) = nonl_parms[(yyvsp[0].ival)].max;
5495 }
5496 #line 5497 "y.tab.c" /* yacc.c:1646 */
5497 break;
5498
5499 case 23:
5500 #line 670 "pars.yacc" /* yacc.c:1646 */
5501 {
5502 (yyval.dval) = nonl_parms[(yyvsp[0].ival)].min;
5503 }
5504 #line 5505 "y.tab.c" /* yacc.c:1646 */
5505 break;
5506
5507 case 24:
5508 #line 673 "pars.yacc" /* yacc.c:1646 */
5509 {
5510 if ((yyvsp[0].ival) >= (yyvsp[-1].vrbl)->length) {
5511 errmsg("Access beyond array bounds");
5512 return 1;
5513 }
5514 (yyval.dval) = (yyvsp[-1].vrbl)->data[(yyvsp[0].ival)];
5515 }
5516 #line 5517 "y.tab.c" /* yacc.c:1646 */
5517 break;
5518
5519 case 25:
5520 #line 680 "pars.yacc" /* yacc.c:1646 */
5521 {
5522 double dummy, dummy2;
5523 int idummy, ind, length = (yyvsp[-1].vrbl)->length;
5524 if ((yyvsp[-1].vrbl)->data == NULL) {
5525 yyerror("NULL variable, check set type");
5526 return 1;
5527 }
5528 switch ((yyvsp[-3].ival)) {
5529 case MINP:
5530 (yyval.dval) = vmin((yyvsp[-1].vrbl)->data, length);
5531 break;
5532 case MAXP:
5533 (yyval.dval) = vmax((yyvsp[-1].vrbl)->data, length);
5534 break;
5535 case AVG:
5536 stasum((yyvsp[-1].vrbl)->data, length, &(yyval.dval), &dummy);
5537 break;
5538 case SD:
5539 stasum((yyvsp[-1].vrbl)->data, length, &dummy, &(yyval.dval));
5540 break;
5541 case SUM:
5542 stasum((yyvsp[-1].vrbl)->data, length, &(yyval.dval), &dummy);
5543 (yyval.dval) *= length;
5544 break;
5545 case IMIN:
5546 minmax((yyvsp[-1].vrbl)->data, length, &dummy, &dummy2, &ind, &idummy);
5547 (yyval.dval) = (double) ind;
5548 break;
5549 case IMAX:
5550 minmax((yyvsp[-1].vrbl)->data, length, &dummy, &dummy2, &idummy, &ind);
5551 (yyval.dval) = (double) ind;
5552 break;
5553 }
5554 }
5555 #line 5556 "y.tab.c" /* yacc.c:1646 */
5556 break;
5557
5558 case 26:
5559 #line 714 "pars.yacc" /* yacc.c:1646 */
5560 {
5561 if ((yyvsp[-3].vrbl)->length != (yyvsp[-1].vrbl)->length) {
5562 yyerror("X and Y are of different length");
5563 return 1;
5564 } else {
5565 (yyval.dval) = trapint((yyvsp[-3].vrbl)->data, (yyvsp[-1].vrbl)->data, NULL, NULL, (yyvsp[-3].vrbl)->length);
5566 }
5567 }
5568 #line 5569 "y.tab.c" /* yacc.c:1646 */
5569 break;
5570
5571 case 27:
5572 #line 722 "pars.yacc" /* yacc.c:1646 */
5573 {
5574 (yyval.dval) = (yyvsp[-2].vrbl)->length;
5575 }
5576 #line 5577 "y.tab.c" /* yacc.c:1646 */
5577 break;
5578
5579 case 28:
5580 #line 725 "pars.yacc" /* yacc.c:1646 */
5581 {
5582 (yyval.dval) = getsetlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno);
5583 }
5584 #line 5585 "y.tab.c" /* yacc.c:1646 */
5585 break;
5586
5587 case 29:
5588 #line 728 "pars.yacc" /* yacc.c:1646 */
5589 {
5590 (yyval.dval) = (yyvsp[-2].trgt)->setno;
5591 }
5592 #line 5593 "y.tab.c" /* yacc.c:1646 */
5593 break;
5594
5595 case 30:
5596 #line 731 "pars.yacc" /* yacc.c:1646 */
5597 {
5598 (yyval.dval) = (yyvsp[-2].ival);
5599 }
5600 #line 5601 "y.tab.c" /* yacc.c:1646 */
5601 break;
5602
5603 case 31:
5604 #line 735 "pars.yacc" /* yacc.c:1646 */
5605 {
5606 (yyval.dval) = ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
5607 }
5608 #line 5609 "y.tab.c" /* yacc.c:1646 */
5609 break;
5610
5611 case 32:
5612 #line 739 "pars.yacc" /* yacc.c:1646 */
5613 {
5614 (yyval.dval) = (yyvsp[-1].dval) * ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
5615 }
5616 #line 5617 "y.tab.c" /* yacc.c:1646 */
5617 break;
5618
5619 case 33:
5620 #line 743 "pars.yacc" /* yacc.c:1646 */
5621 {
5622 (yyval.dval) = drand48();
5623 }
5624 #line 5625 "y.tab.c" /* yacc.c:1646 */
5625 break;
5626
5627 case 34:
5628 #line 747 "pars.yacc" /* yacc.c:1646 */
5629 {
5630 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((yyvsp[-1].ival));
5631 }
5632 #line 5633 "y.tab.c" /* yacc.c:1646 */
5633 break;
5634
5635 case 35:
5636 #line 751 "pars.yacc" /* yacc.c:1646 */
5637 {
5638 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((yyvsp[-1].dval));
5639 }
5640 #line 5641 "y.tab.c" /* yacc.c:1646 */
5641 break;
5642
5643 case 36:
5644 #line 755 "pars.yacc" /* yacc.c:1646 */
5645 {
5646 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].dval));
5647 }
5648 #line 5649 "y.tab.c" /* yacc.c:1646 */
5649 break;
5650
5651 case 37:
5652 #line 759 "pars.yacc" /* yacc.c:1646 */
5653 {
5654 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].ival));
5655 }
5656 #line 5657 "y.tab.c" /* yacc.c:1646 */
5657 break;
5658
5659 case 38:
5660 #line 763 "pars.yacc" /* yacc.c:1646 */
5661 {
5662 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].dval), (yyvsp[-1].dval));
5663 }
5664 #line 5665 "y.tab.c" /* yacc.c:1646 */
5665 break;
5666
5667 case 39:
5668 #line 767 "pars.yacc" /* yacc.c:1646 */
5669 {
5670 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].dval));
5671 }
5672 #line 5673 "y.tab.c" /* yacc.c:1646 */
5673 break;
5674
5675 case 40:
5676 #line 771 "pars.yacc" /* yacc.c:1646 */
5677 {
5678 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5679 }
5680 #line 5681 "y.tab.c" /* yacc.c:1646 */
5681 break;
5682
5683 case 41:
5684 #line 775 "pars.yacc" /* yacc.c:1646 */
5685 {
5686 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-9].ival)].data)) ((yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5687 }
5688 #line 5689 "y.tab.c" /* yacc.c:1646 */
5689 break;
5690
5691 case 42:
5692 #line 779 "pars.yacc" /* yacc.c:1646 */
5693 {
5694 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-11].ival)].data)) ((yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5695 }
5696 #line 5697 "y.tab.c" /* yacc.c:1646 */
5697 break;
5698
5699 case 43:
5700 #line 783 "pars.yacc" /* yacc.c:1646 */
5701 {
5702 (yyval.dval) = ((ParserFnc) (key[(yyvsp[-13].ival)].data)) ((yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
5703 }
5704 #line 5705 "y.tab.c" /* yacc.c:1646 */
5705 break;
5706
5707 case 44:
5708 #line 786 "pars.yacc" /* yacc.c:1646 */
5709 {
5710 (yyval.dval) = g[(yyvsp[-2].ival)].v.xv1;
5711 }
5712 #line 5713 "y.tab.c" /* yacc.c:1646 */
5713 break;
5714
5715 case 45:
5716 #line 789 "pars.yacc" /* yacc.c:1646 */
5717 {
5718 (yyval.dval) = g[(yyvsp[-2].ival)].v.xv2;
5719 }
5720 #line 5721 "y.tab.c" /* yacc.c:1646 */
5721 break;
5722
5723 case 46:
5724 #line 792 "pars.yacc" /* yacc.c:1646 */
5725 {
5726 (yyval.dval) = g[(yyvsp[-2].ival)].v.yv1;
5727 }
5728 #line 5729 "y.tab.c" /* yacc.c:1646 */
5729 break;
5730
5731 case 47:
5732 #line 795 "pars.yacc" /* yacc.c:1646 */
5733 {
5734 (yyval.dval) = g[(yyvsp[-2].ival)].v.yv2;
5735 }
5736 #line 5737 "y.tab.c" /* yacc.c:1646 */
5737 break;
5738
5739 case 48:
5740 #line 798 "pars.yacc" /* yacc.c:1646 */
5741 {
5742 (yyval.dval) = g[(yyvsp[-2].ival)].w.xg1;
5743 }
5744 #line 5745 "y.tab.c" /* yacc.c:1646 */
5745 break;
5746
5747 case 49:
5748 #line 801 "pars.yacc" /* yacc.c:1646 */
5749 {
5750 (yyval.dval) = g[(yyvsp[-2].ival)].w.xg2;
5751 }
5752 #line 5753 "y.tab.c" /* yacc.c:1646 */
5753 break;
5754
5755 case 50:
5756 #line 804 "pars.yacc" /* yacc.c:1646 */
5757 {
5758 (yyval.dval) = g[(yyvsp[-2].ival)].w.yg1;
5759 }
5760 #line 5761 "y.tab.c" /* yacc.c:1646 */
5761 break;
5762
5763 case 51:
5764 #line 807 "pars.yacc" /* yacc.c:1646 */
5765 {
5766 (yyval.dval) = g[(yyvsp[-2].ival)].w.yg2;
5767 }
5768 #line 5769 "y.tab.c" /* yacc.c:1646 */
5769 break;
5770
5771 case 52:
5772 #line 810 "pars.yacc" /* yacc.c:1646 */
5773 {
5774 (yyval.dval) = (yyvsp[-1].dval);
5775 }
5776 #line 5777 "y.tab.c" /* yacc.c:1646 */
5777 break;
5778
5779 case 53:
5780 #line 813 "pars.yacc" /* yacc.c:1646 */
5781 { /* yr, mo, day */
5782 (yyval.dval) = cal_and_time_to_jul((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].ival), 12, 0, 0.0);
5783 }
5784 #line 5785 "y.tab.c" /* yacc.c:1646 */
5785 break;
5786
5787 case 54:
5788 #line 817 "pars.yacc" /* yacc.c:1646 */
5789 { /* yr, mo, day, hr, min, sec */
5790 (yyval.dval) = cal_and_time_to_jul((yyvsp[-11].ival), (yyvsp[-9].ival), (yyvsp[-7].ival), (yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].dval));
5791 }
5792 #line 5793 "y.tab.c" /* yacc.c:1646 */
5793 break;
5794
5795 case 55:
5796 #line 820 "pars.yacc" /* yacc.c:1646 */
5797 {
5798 if (!is_valid_gno(whichgraph)) {
5799 yyerror("No valid graph selected");
5800 return 1;
5801 }
5802 (yyval.dval) = g[whichgraph].v.xv1;
5803 }
5804 #line 5805 "y.tab.c" /* yacc.c:1646 */
5805 break;
5806
5807 case 56:
5808 #line 827 "pars.yacc" /* yacc.c:1646 */
5809 {
5810 if (!is_valid_gno(whichgraph)) {
5811 yyerror("No valid graph selected");
5812 return 1;
5813 }
5814 (yyval.dval) = g[whichgraph].v.xv2;
5815 }
5816 #line 5817 "y.tab.c" /* yacc.c:1646 */
5817 break;
5818
5819 case 57:
5820 #line 834 "pars.yacc" /* yacc.c:1646 */
5821 {
5822 if (!is_valid_gno(whichgraph)) {
5823 yyerror("No valid graph selected");
5824 return 1;
5825 }
5826 (yyval.dval) = g[whichgraph].v.yv1;
5827 }
5828 #line 5829 "y.tab.c" /* yacc.c:1646 */
5829 break;
5830
5831 case 58:
5832 #line 841 "pars.yacc" /* yacc.c:1646 */
5833 {
5834 if (!is_valid_gno(whichgraph)) {
5835 yyerror("No valid graph selected");
5836 return 1;
5837 }
5838 (yyval.dval) = g[whichgraph].v.yv2;
5839 }
5840 #line 5841 "y.tab.c" /* yacc.c:1646 */
5841 break;
5842
5843 case 59:
5844 #line 848 "pars.yacc" /* yacc.c:1646 */
5845 {
5846 if (!is_valid_gno(whichgraph)) {
5847 yyerror("No valid graph selected");
5848 return 1;
5849 }
5850 (yyval.dval) = g[whichgraph].w.xg1;
5851 }
5852 #line 5853 "y.tab.c" /* yacc.c:1646 */
5853 break;
5854
5855 case 60:
5856 #line 855 "pars.yacc" /* yacc.c:1646 */
5857 {
5858 if (!is_valid_gno(whichgraph)) {
5859 yyerror("No valid graph selected");
5860 return 1;
5861 }
5862 (yyval.dval) = g[whichgraph].w.xg2;
5863 }
5864 #line 5865 "y.tab.c" /* yacc.c:1646 */
5865 break;
5866
5867 case 61:
5868 #line 862 "pars.yacc" /* yacc.c:1646 */
5869 {
5870 if (!is_valid_gno(whichgraph)) {
5871 yyerror("No valid graph selected");
5872 return 1;
5873 }
5874 (yyval.dval) = g[whichgraph].w.yg1;
5875 }
5876 #line 5877 "y.tab.c" /* yacc.c:1646 */
5877 break;
5878
5879 case 62:
5880 #line 869 "pars.yacc" /* yacc.c:1646 */
5881 {
5882 if (!is_valid_gno(whichgraph)) {
5883 yyerror("No valid graph selected");
5884 return 1;
5885 }
5886 (yyval.dval) = g[whichgraph].w.yg2;
5887 }
5888 #line 5889 "y.tab.c" /* yacc.c:1646 */
5889 break;
5890
5891 case 63:
5892 #line 876 "pars.yacc" /* yacc.c:1646 */
5893 {
5894 double vx, vy;
5895 get_page_viewport(&vx, &vy);
5896 (yyval.dval) = vx;
5897 }
5898 #line 5899 "y.tab.c" /* yacc.c:1646 */
5899 break;
5900
5901 case 64:
5902 #line 881 "pars.yacc" /* yacc.c:1646 */
5903 {
5904 double vx, vy;
5905 get_page_viewport(&vx, &vy);
5906 (yyval.dval) = vy;
5907 }
5908 #line 5909 "y.tab.c" /* yacc.c:1646 */
5909 break;
5910
5911 case 65:
5912 #line 886 "pars.yacc" /* yacc.c:1646 */
5913 {
5914 (yyval.dval) = (yyvsp[-1].dval);
5915 }
5916 #line 5917 "y.tab.c" /* yacc.c:1646 */
5917 break;
5918
5919 case 66:
5920 #line 889 "pars.yacc" /* yacc.c:1646 */
5921 {
5922 (yyval.dval) = (yyvsp[-2].dval) + (yyvsp[0].dval);
5923 }
5924 #line 5925 "y.tab.c" /* yacc.c:1646 */
5925 break;
5926
5927 case 67:
5928 #line 892 "pars.yacc" /* yacc.c:1646 */
5929 {
5930 (yyval.dval) = (yyvsp[-2].dval) - (yyvsp[0].dval);
5931 }
5932 #line 5933 "y.tab.c" /* yacc.c:1646 */
5933 break;
5934
5935 case 68:
5936 #line 895 "pars.yacc" /* yacc.c:1646 */
5937 {
5938 (yyval.dval) = -(yyvsp[0].dval);
5939 }
5940 #line 5941 "y.tab.c" /* yacc.c:1646 */
5941 break;
5942
5943 case 69:
5944 #line 898 "pars.yacc" /* yacc.c:1646 */
5945 {
5946 (yyval.dval) = (yyvsp[0].dval);
5947 }
5948 #line 5949 "y.tab.c" /* yacc.c:1646 */
5949 break;
5950
5951 case 70:
5952 #line 901 "pars.yacc" /* yacc.c:1646 */
5953 {
5954 (yyval.dval) = (yyvsp[-2].dval) * (yyvsp[0].dval);
5955 }
5956 #line 5957 "y.tab.c" /* yacc.c:1646 */
5957 break;
5958
5959 case 71:
5960 #line 905 "pars.yacc" /* yacc.c:1646 */
5961 {
5962 if ((yyvsp[0].dval) != 0.0) {
5963 (yyval.dval) = (yyvsp[-2].dval) / (yyvsp[0].dval);
5964 } else {
5965 yyerror("Divide by zero");
5966 return 1;
5967 }
5968 }
5969 #line 5970 "y.tab.c" /* yacc.c:1646 */
5970 break;
5971
5972 case 72:
5973 #line 913 "pars.yacc" /* yacc.c:1646 */
5974 {
5975 if ((yyvsp[0].dval) != 0.0) {
5976 (yyval.dval) = fmod((yyvsp[-2].dval), (yyvsp[0].dval));
5977 } else {
5978 yyerror("Divide by zero");
5979 return 1;
5980 }
5981 }
5982 #line 5983 "y.tab.c" /* yacc.c:1646 */
5983 break;
5984
5985 case 73:
5986 #line 921 "pars.yacc" /* yacc.c:1646 */
5987 {
5988 if ((yyvsp[-2].dval) < 0 && rint((yyvsp[0].dval)) != (yyvsp[0].dval)) {
5989 yyerror("Negative value raised to non-integer power");
5990 return 1;
5991 } else if ((yyvsp[-2].dval) == 0.0 && (yyvsp[0].dval) <= 0.0) {
5992 yyerror("Zero raised to non-positive power");
5993 return 1;
5994 } else {
5995 (yyval.dval) = pow((yyvsp[-2].dval), (yyvsp[0].dval));
5996 }
5997 }
5998 #line 5999 "y.tab.c" /* yacc.c:1646 */
5999 break;
6000
6001 case 74:
6002 #line 932 "pars.yacc" /* yacc.c:1646 */
6003 {
6004 (yyval.dval) = (yyvsp[-4].dval) ? (yyvsp[-2].dval) : (yyvsp[0].dval);
6005 }
6006 #line 6007 "y.tab.c" /* yacc.c:1646 */
6007 break;
6008
6009 case 75:
6010 #line 935 "pars.yacc" /* yacc.c:1646 */
6011 {
6012 (yyval.dval) = ((yyvsp[-2].dval) > (yyvsp[0].dval));
6013 }
6014 #line 6015 "y.tab.c" /* yacc.c:1646 */
6015 break;
6016
6017 case 76:
6018 #line 938 "pars.yacc" /* yacc.c:1646 */
6019 {
6020 (yyval.dval) = ((yyvsp[-2].dval) < (yyvsp[0].dval));
6021 }
6022 #line 6023 "y.tab.c" /* yacc.c:1646 */
6023 break;
6024
6025 case 77:
6026 #line 941 "pars.yacc" /* yacc.c:1646 */
6027 {
6028 (yyval.dval) = ((yyvsp[-2].dval) <= (yyvsp[0].dval));
6029 }
6030 #line 6031 "y.tab.c" /* yacc.c:1646 */
6031 break;
6032
6033 case 78:
6034 #line 944 "pars.yacc" /* yacc.c:1646 */
6035 {
6036 (yyval.dval) = ((yyvsp[-2].dval) >= (yyvsp[0].dval));
6037 }
6038 #line 6039 "y.tab.c" /* yacc.c:1646 */
6039 break;
6040
6041 case 79:
6042 #line 947 "pars.yacc" /* yacc.c:1646 */
6043 {
6044 (yyval.dval) = ((yyvsp[-2].dval) == (yyvsp[0].dval));
6045 }
6046 #line 6047 "y.tab.c" /* yacc.c:1646 */
6047 break;
6048
6049 case 80:
6050 #line 950 "pars.yacc" /* yacc.c:1646 */
6051 {
6052 (yyval.dval) = ((yyvsp[-2].dval) != (yyvsp[0].dval));
6053 }
6054 #line 6055 "y.tab.c" /* yacc.c:1646 */
6055 break;
6056
6057 case 81:
6058 #line 953 "pars.yacc" /* yacc.c:1646 */
6059 {
6060 (yyval.dval) = (yyvsp[-2].dval) && (yyvsp[0].dval);
6061 }
6062 #line 6063 "y.tab.c" /* yacc.c:1646 */
6063 break;
6064
6065 case 82:
6066 #line 956 "pars.yacc" /* yacc.c:1646 */
6067 {
6068 (yyval.dval) = (yyvsp[-2].dval) || (yyvsp[0].dval);
6069 }
6070 #line 6071 "y.tab.c" /* yacc.c:1646 */
6071 break;
6072
6073 case 83:
6074 #line 959 "pars.yacc" /* yacc.c:1646 */
6075 {
6076 (yyval.dval) = !((yyvsp[0].dval));
6077 }
6078 #line 6079 "y.tab.c" /* yacc.c:1646 */
6079 break;
6080
6081 case 84:
6082 #line 964 "pars.yacc" /* yacc.c:1646 */
6083 {
6084 (yyval.sval) = (yyvsp[0].sval);
6085 }
6086 #line 6087 "y.tab.c" /* yacc.c:1646 */
6087 break;
6088
6089 case 85:
6090 #line 967 "pars.yacc" /* yacc.c:1646 */
6091 {
6092 (yyval.sval) = concat_strings((yyvsp[-2].sval), (yyvsp[0].sval));
6093 xfree((yyvsp[0].sval));
6094 }
6095 #line 6096 "y.tab.c" /* yacc.c:1646 */
6096 break;
6097
6098 case 86:
6099 #line 971 "pars.yacc" /* yacc.c:1646 */
6100 {
6101 char buf[32];
6102 set_locale_num(TRUE);
6103 sprintf(buf, "%g", (yyvsp[0].dval));
6104 set_locale_num(FALSE);
6105 (yyval.sval) = concat_strings((yyvsp[-2].sval), buf);
6106 }
6107 #line 6108 "y.tab.c" /* yacc.c:1646 */
6108 break;
6109
6110 case 87:
6111 #line 980 "pars.yacc" /* yacc.c:1646 */
6112 {
6113 int itmp = rint((yyvsp[0].dval));
6114 if (fabs(itmp - (yyvsp[0].dval)) > 1.e-6) {
6115 yyerror("Non-integer value supplied for integer");
6116 return 1;
6117 }
6118 (yyval.ival) = itmp;
6119 }
6120 #line 6121 "y.tab.c" /* yacc.c:1646 */
6121 break;
6122
6123 case 88:
6124 #line 990 "pars.yacc" /* yacc.c:1646 */
6125 {
6126 if ((yyvsp[0].ival) < 0) {
6127 yyerror("Negative value supplied for non-negative");
6128 return 1;
6129 }
6130 (yyval.ival) = (yyvsp[0].ival);
6131 }
6132 #line 6133 "y.tab.c" /* yacc.c:1646 */
6133 break;
6134
6135 case 89:
6136 #line 999 "pars.yacc" /* yacc.c:1646 */
6137 {
6138 int itmp = (yyvsp[-1].ival) - index_shift;
6139 if (itmp < 0) {
6140 yyerror("Negative index");
6141 return 1;
6142 }
6143 (yyval.ival) = itmp;
6144 }
6145 #line 6146 "y.tab.c" /* yacc.c:1646 */
6146 break;
6147
6148 case 90:
6149 #line 1009 "pars.yacc" /* yacc.c:1646 */
6150 {
6151 (yyval.dval) = (yyvsp[0].dval);
6152 }
6153 #line 6154 "y.tab.c" /* yacc.c:1646 */
6154 break;
6155
6156 case 91:
6157 #line 1012 "pars.yacc" /* yacc.c:1646 */
6158 {
6159 double jul;
6160 Dates_format dummy;
6161 if (parse_date((yyvsp[0].sval), get_date_hint(), FALSE, &jul, &dummy)
6162 == RETURN_SUCCESS) {
6163 xfree((yyvsp[0].sval));
6164 (yyval.dval) = jul;
6165 } else {
6166 xfree((yyvsp[0].sval));
6167 yyerror("Invalid date");
6168 return 1;
6169 }
6170 }
6171 #line 6172 "y.tab.c" /* yacc.c:1646 */
6172 break;
6173
6174 case 92:
6175 #line 1027 "pars.yacc" /* yacc.c:1646 */
6176 {
6177 (yyval.dval) = (yyvsp[0].dval);
6178 }
6179 #line 6180 "y.tab.c" /* yacc.c:1646 */
6180 break;
6181
6182 case 93:
6183 #line 1030 "pars.yacc" /* yacc.c:1646 */
6184 {
6185 double jul;
6186 Dates_format dummy;
6187 if (parse_date((yyvsp[0].sval), get_date_hint(), TRUE, &jul, &dummy)
6188 == RETURN_SUCCESS) {
6189 xfree((yyvsp[0].sval));
6190 (yyval.dval) = jul;
6191 } else {
6192 xfree((yyvsp[0].sval));
6193 yyerror("Invalid date");
6194 return 1;
6195 }
6196 }
6197 #line 6198 "y.tab.c" /* yacc.c:1646 */
6198 break;
6199
6200 case 94:
6201 #line 1047 "pars.yacc" /* yacc.c:1646 */
6202 {
6203 (yyval.vrbl) = (yyvsp[0].vrbl);
6204 }
6205 #line 6206 "y.tab.c" /* yacc.c:1646 */
6206 break;
6207
6208 case 95:
6209 #line 1051 "pars.yacc" /* yacc.c:1646 */
6210 {
6211 double *ptr = getcol(vasgn_gno, vasgn_setno, (yyvsp[0].ival));
6212 (yyval.vrbl) = &freelist[fcnt++];
6213 (yyval.vrbl)->type = GRARR_SET;
6214 (yyval.vrbl)->data = ptr;
6215 if (ptr == NULL) {
6216 errmsg("NULL variable - check set type");
6217 return 1;
6218 } else {
6219 (yyval.vrbl)->length = getsetlength(vasgn_gno, vasgn_setno);
6220 }
6221 }
6222 #line 6223 "y.tab.c" /* yacc.c:1646 */
6223 break;
6224
6225 case 96:
6226 #line 1064 "pars.yacc" /* yacc.c:1646 */
6227 {
6228 double *ptr = getcol((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
6229 (yyval.vrbl) = &freelist[fcnt++];
6230 (yyval.vrbl)->type = GRARR_SET;
6231 (yyval.vrbl)->data = ptr;
6232 if (ptr == NULL) {
6233 errmsg("NULL variable - check set type");
6234 return 1;
6235 } else {
6236 (yyval.vrbl)->length = getsetlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno);
6237 }
6238 }
6239 #line 6240 "y.tab.c" /* yacc.c:1646 */
6240 break;
6241
6242 case 97:
6243 #line 1080 "pars.yacc" /* yacc.c:1646 */
6244 {
6245 (yyval.vrbl) = (yyvsp[0].vrbl);
6246 }
6247 #line 6248 "y.tab.c" /* yacc.c:1646 */
6248 break;
6249
6250 case 98:
6251 #line 1084 "pars.yacc" /* yacc.c:1646 */
6252 {
6253 int start = (yyvsp[-3].ival) - index_shift, stop = (yyvsp[-1].ival) - index_shift;
6254 if (start < 0 || stop < start || stop >= (yyvsp[-5].vrbl)->length) {
6255 yyerror("Invalid index range");
6256 } else {
6257 int len = stop - start + 1;
6258 double *ptr = xmalloc(len*SIZEOF_DOUBLE);
6259 if ((yyval.vrbl)->data == NULL) {
6260 yyerror("Not enough memory");
6261 } else {
6262 int i;
6263 (yyval.vrbl) = &freelist[fcnt++];
6264 (yyval.vrbl)->data = ptr;
6265 (yyval.vrbl)->length = len;
6266 (yyval.vrbl)->type = GRARR_TMP;
6267 for (i = 0; i < len; i++) {
6268 (yyval.vrbl)->data[i] = (yyvsp[-5].vrbl)->data[i + (yyvsp[-3].ival)];
6269 }
6270 }
6271 }
6272 }
6273 #line 6274 "y.tab.c" /* yacc.c:1646 */
6274 break;
6275
6276 case 99:
6277 #line 1106 "pars.yacc" /* yacc.c:1646 */
6278 {
6279 int len = (yyvsp[-1].ival);
6280 if (len < 1) {
6281 yyerror("npoints must be > 0");
6282 } else {
6283 double *ptr = allocate_index_data(len);
6284 if (ptr == NULL) {
6285 errmsg("Malloc failed");
6286 return 1;
6287 } else {
6288 (yyval.vrbl) = &freelist[fcnt++];
6289 (yyval.vrbl)->type = GRARR_TMP;
6290 (yyval.vrbl)->data = ptr;
6291 (yyval.vrbl)->length = len;
6292 }
6293 }
6294 }
6295 #line 6296 "y.tab.c" /* yacc.c:1646 */
6296 break;
6297
6298 case 100:
6299 #line 1124 "pars.yacc" /* yacc.c:1646 */
6300 {
6301 int len = (yyvsp[-1].ival);
6302 if (len < 2) {
6303 yyerror("npoints must be > 1");
6304 } else {
6305 double *ptr = allocate_mesh((yyvsp[-5].dval), (yyvsp[-3].dval), len);
6306 if (ptr == NULL) {
6307 errmsg("Malloc failed");
6308 return 1;
6309 } else {
6310 (yyval.vrbl) = &freelist[fcnt++];
6311 (yyval.vrbl)->type = GRARR_TMP;
6312 (yyval.vrbl)->data = ptr;
6313 (yyval.vrbl)->length = len;
6314 }
6315 }
6316 }
6317 #line 6318 "y.tab.c" /* yacc.c:1646 */
6318 break;
6319
6320 case 101:
6321 #line 1142 "pars.yacc" /* yacc.c:1646 */
6322 {
6323 int i;
6324 (yyval.vrbl) = &freelist[fcnt++];
6325 (yyval.vrbl)->data = xmalloc((yyvsp[-1].ival)*SIZEOF_DOUBLE);
6326 if ((yyval.vrbl)->data == NULL) {
6327 errmsg("Not enough memory");
6328 return 1;
6329 } else {
6330 (yyval.vrbl)->length = (yyvsp[-1].ival);
6331 (yyval.vrbl)->type = GRARR_TMP;
6332 }
6333 for (i = 0; i < (yyval.vrbl)->length; i++) {
6334 (yyval.vrbl)->data[i] = drand48();
6335 }
6336 }
6337 #line 6338 "y.tab.c" /* yacc.c:1646 */
6338 break;
6339
6340 case 102:
6341 #line 1158 "pars.yacc" /* yacc.c:1646 */
6342 {
6343 int rtype, i, len;
6344 char *rarray;
6345
6346 rtype = RESTRICT_REG0 + (yyvsp[-3].ival);
6347
6348 if (get_restriction_array((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno,
6349 rtype, FALSE, &rarray) != RETURN_SUCCESS) {
6350 errmsg("Error in region evaluation");
6351 return 1;
6352 }
6353
6354 len = getsetlength((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
6355 (yyval.vrbl) = &freelist[fcnt++];
6356 (yyval.vrbl)->data = xmalloc(len*SIZEOF_DOUBLE);
6357 if ((yyval.vrbl)->data == NULL) {
6358 errmsg("Not enough memory");
6359 return 1;
6360 } else {
6361 (yyval.vrbl)->length = len;
6362 (yyval.vrbl)->type = GRARR_TMP;
6363 }
6364 for (i = 0; i < (yyval.vrbl)->length; i++) {
6365 (yyval.vrbl)->data[i] = rarray[i];
6366 }
6367
6368 xfree(rarray);
6369 }
6370 #line 6371 "y.tab.c" /* yacc.c:1646 */
6371 break;
6372
6373 case 103:
6374 #line 1187 "pars.yacc" /* yacc.c:1646 */
6375 {
6376 int i;
6377 (yyval.vrbl) = &freelist[fcnt++];
6378 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6379 (yyval.vrbl)->type = GRARR_TMP;
6380 for (i = 1; i < (yyval.vrbl)->length; i++) {
6381 (yyval.vrbl)->data[i] += (yyval.vrbl)->data[i - 1];
6382 }
6383 }
6384 #line 6385 "y.tab.c" /* yacc.c:1646 */
6385 break;
6386
6387 case 104:
6388 #line 1197 "pars.yacc" /* yacc.c:1646 */
6389 {
6390 int i;
6391 (yyval.vrbl) = &freelist[fcnt++];
6392 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6393 (yyval.vrbl)->type = GRARR_TMP;
6394 for (i = 0; i < (yyval.vrbl)->length; i++) {
6395 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) ((int) ((yyvsp[-1].vrbl)->data[i]));
6396 }
6397 }
6398 #line 6399 "y.tab.c" /* yacc.c:1646 */
6399 break;
6400
6401 case 105:
6402 #line 1207 "pars.yacc" /* yacc.c:1646 */
6403 {
6404 int i;
6405 (yyval.vrbl) = &freelist[fcnt++];
6406 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6407 (yyval.vrbl)->type = GRARR_TMP;
6408 for (i = 0; i < (yyval.vrbl)->length; i++) {
6409 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-3].ival)].data)) (((yyvsp[-1].vrbl)->data[i]));
6410 }
6411 }
6412 #line 6413 "y.tab.c" /* yacc.c:1646 */
6413 break;
6414
6415 case 106:
6416 #line 1217 "pars.yacc" /* yacc.c:1646 */
6417 {
6418 int i;
6419 if ((yyvsp[-3].vrbl)->length != (yyvsp[-1].vrbl)->length) {
6420 errmsg("Can't operate on vectors of different lengths");
6421 return 1;
6422 }
6423 (yyval.vrbl) = &freelist[fcnt++];
6424 copy_vrbl((yyval.vrbl), (yyvsp[-3].vrbl));
6425 (yyval.vrbl)->type = GRARR_TMP;
6426
6427 for (i = 0; i < (yyval.vrbl)->length; i++) {
6428 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].vrbl)->data[i], (yyvsp[-1].vrbl)->data[i]);
6429 }
6430 }
6431 #line 6432 "y.tab.c" /* yacc.c:1646 */
6432 break;
6433
6434 case 107:
6435 #line 1232 "pars.yacc" /* yacc.c:1646 */
6436 {
6437 int i;
6438 (yyval.vrbl) = &freelist[fcnt++];
6439 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6440 (yyval.vrbl)->type = GRARR_TMP;
6441
6442 for (i = 0; i < (yyval.vrbl)->length; i++) {
6443 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6444 }
6445 }
6446 #line 6447 "y.tab.c" /* yacc.c:1646 */
6447 break;
6448
6449 case 108:
6450 #line 1243 "pars.yacc" /* yacc.c:1646 */
6451 {
6452 int i;
6453 (yyval.vrbl) = &freelist[fcnt++];
6454 copy_vrbl((yyval.vrbl), (yyvsp[-3].vrbl));
6455 (yyval.vrbl)->type = GRARR_TMP;
6456
6457 for (i = 0; i < (yyval.vrbl)->length; i++) {
6458 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].vrbl)->data[i], (yyvsp[-1].dval));
6459 }
6460 }
6461 #line 6462 "y.tab.c" /* yacc.c:1646 */
6462 break;
6463
6464 case 109:
6465 #line 1254 "pars.yacc" /* yacc.c:1646 */
6466 {
6467 int i;
6468 (yyval.vrbl) = &freelist[fcnt++];
6469 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6470 (yyval.vrbl)->type = GRARR_TMP;
6471
6472 for (i = 0; i < (yyval.vrbl)->length; i++) {
6473 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-5].ival)].data)) ((yyvsp[-3].ival), (yyvsp[-1].vrbl)->data[i]);
6474 }
6475 }
6476 #line 6477 "y.tab.c" /* yacc.c:1646 */
6477 break;
6478
6479 case 110:
6480 #line 1265 "pars.yacc" /* yacc.c:1646 */
6481 {
6482 int i;
6483 (yyval.vrbl) = &freelist[fcnt++];
6484 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6485 (yyval.vrbl)->type = GRARR_TMP;
6486
6487 for (i = 0; i < (yyval.vrbl)->length; i++) {
6488 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].ival), (yyvsp[-3].ival), (yyvsp[-1].vrbl)->data[i]);
6489 }
6490 }
6491 #line 6492 "y.tab.c" /* yacc.c:1646 */
6492 break;
6493
6494 case 111:
6495 #line 1276 "pars.yacc" /* yacc.c:1646 */
6496 {
6497 int i;
6498 (yyval.vrbl) = &freelist[fcnt++];
6499 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6500 (yyval.vrbl)->type = GRARR_TMP;
6501
6502 for (i = 0; i < (yyval.vrbl)->length; i++) {
6503 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-7].ival)].data)) ((yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6504 }
6505 }
6506 #line 6507 "y.tab.c" /* yacc.c:1646 */
6507 break;
6508
6509 case 112:
6510 #line 1287 "pars.yacc" /* yacc.c:1646 */
6511 {
6512 int i;
6513 (yyval.vrbl) = &freelist[fcnt++];
6514 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6515 (yyval.vrbl)->type = GRARR_TMP;
6516
6517 for (i = 0; i < (yyval.vrbl)->length; i++) {
6518 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-9].ival)].data)) ((yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6519 }
6520 }
6521 #line 6522 "y.tab.c" /* yacc.c:1646 */
6522 break;
6523
6524 case 113:
6525 #line 1298 "pars.yacc" /* yacc.c:1646 */
6526 {
6527 int i;
6528 (yyval.vrbl) = &freelist[fcnt++];
6529 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6530 (yyval.vrbl)->type = GRARR_TMP;
6531
6532 for (i = 0; i < (yyval.vrbl)->length; i++) {
6533 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-11].ival)].data)) ((yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6534 }
6535 }
6536 #line 6537 "y.tab.c" /* yacc.c:1646 */
6537 break;
6538
6539 case 114:
6540 #line 1309 "pars.yacc" /* yacc.c:1646 */
6541 {
6542 int i;
6543 (yyval.vrbl) = &freelist[fcnt++];
6544 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6545 (yyval.vrbl)->type = GRARR_TMP;
6546
6547 for (i = 0; i < (yyval.vrbl)->length; i++) {
6548 (yyval.vrbl)->data[i] = ((ParserFnc) (key[(yyvsp[-13].ival)].data)) ((yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval), (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].vrbl)->data[i]);
6549 }
6550 }
6551 #line 6552 "y.tab.c" /* yacc.c:1646 */
6552 break;
6553
6554 case 115:
6555 #line 1320 "pars.yacc" /* yacc.c:1646 */
6556 {
6557 int i;
6558 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6559 errmsg("Can't operate on vectors of different lengths");
6560 return 1;
6561 }
6562 (yyval.vrbl) = &freelist[fcnt++];
6563 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6564 (yyval.vrbl)->type = GRARR_TMP;
6565
6566 for (i = 0; i < (yyval.vrbl)->length; i++) {
6567 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] + (yyvsp[0].vrbl)->data[i];
6568 }
6569 }
6570 #line 6571 "y.tab.c" /* yacc.c:1646 */
6571 break;
6572
6573 case 116:
6574 #line 1335 "pars.yacc" /* yacc.c:1646 */
6575 {
6576 int i;
6577 (yyval.vrbl) = &freelist[fcnt++];
6578 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6579 (yyval.vrbl)->type = GRARR_TMP;
6580
6581 for (i = 0; i < (yyval.vrbl)->length; i++) {
6582 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] + (yyvsp[0].dval);
6583 }
6584 }
6585 #line 6586 "y.tab.c" /* yacc.c:1646 */
6586 break;
6587
6588 case 117:
6589 #line 1346 "pars.yacc" /* yacc.c:1646 */
6590 {
6591 int i;
6592 (yyval.vrbl) = &freelist[fcnt++];
6593 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6594 (yyval.vrbl)->type = GRARR_TMP;
6595
6596 for (i = 0; i < (yyval.vrbl)->length; i++) {
6597 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) + (yyvsp[0].vrbl)->data[i];
6598 }
6599 }
6600 #line 6601 "y.tab.c" /* yacc.c:1646 */
6601 break;
6602
6603 case 118:
6604 #line 1357 "pars.yacc" /* yacc.c:1646 */
6605 {
6606 int i;
6607 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6608 errmsg("Can't operate on vectors of different lengths");
6609 return 1;
6610 }
6611 (yyval.vrbl) = &freelist[fcnt++];
6612 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6613 (yyval.vrbl)->type = GRARR_TMP;
6614
6615 for (i = 0; i < (yyval.vrbl)->length; i++) {
6616 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] - (yyvsp[0].vrbl)->data[i];
6617 }
6618 }
6619 #line 6620 "y.tab.c" /* yacc.c:1646 */
6620 break;
6621
6622 case 119:
6623 #line 1372 "pars.yacc" /* yacc.c:1646 */
6624 {
6625 int i;
6626 (yyval.vrbl) = &freelist[fcnt++];
6627 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6628 (yyval.vrbl)->type = GRARR_TMP;
6629
6630 for (i = 0; i < (yyval.vrbl)->length; i++) {
6631 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] - (yyvsp[0].dval);
6632 }
6633 }
6634 #line 6635 "y.tab.c" /* yacc.c:1646 */
6635 break;
6636
6637 case 120:
6638 #line 1383 "pars.yacc" /* yacc.c:1646 */
6639 {
6640 int i;
6641 (yyval.vrbl) = &freelist[fcnt++];
6642 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6643 (yyval.vrbl)->type = GRARR_TMP;
6644
6645 for (i = 0; i < (yyval.vrbl)->length; i++) {
6646 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) - (yyvsp[0].vrbl)->data[i];
6647 }
6648 }
6649 #line 6650 "y.tab.c" /* yacc.c:1646 */
6650 break;
6651
6652 case 121:
6653 #line 1394 "pars.yacc" /* yacc.c:1646 */
6654 {
6655 int i;
6656 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6657 errmsg("Can't operate on vectors of different lengths");
6658 return 1;
6659 }
6660 (yyval.vrbl) = &freelist[fcnt++];
6661 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6662 (yyval.vrbl)->type = GRARR_TMP;
6663
6664 for (i = 0; i < (yyval.vrbl)->length; i++) {
6665 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] * (yyvsp[0].vrbl)->data[i];
6666 }
6667 }
6668 #line 6669 "y.tab.c" /* yacc.c:1646 */
6669 break;
6670
6671 case 122:
6672 #line 1409 "pars.yacc" /* yacc.c:1646 */
6673 {
6674 int i;
6675 (yyval.vrbl) = &freelist[fcnt++];
6676 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6677 (yyval.vrbl)->type = GRARR_TMP;
6678
6679 for (i = 0; i < (yyval.vrbl)->length; i++) {
6680 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] * (yyvsp[0].dval);
6681 }
6682 }
6683 #line 6684 "y.tab.c" /* yacc.c:1646 */
6684 break;
6685
6686 case 123:
6687 #line 1420 "pars.yacc" /* yacc.c:1646 */
6688 {
6689 int i;
6690 (yyval.vrbl) = &freelist[fcnt++];
6691 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6692 (yyval.vrbl)->type = GRARR_TMP;
6693
6694 for (i = 0; i < (yyval.vrbl)->length; i++) {
6695 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) * (yyvsp[0].vrbl)->data[i];
6696 }
6697 }
6698 #line 6699 "y.tab.c" /* yacc.c:1646 */
6699 break;
6700
6701 case 124:
6702 #line 1431 "pars.yacc" /* yacc.c:1646 */
6703 {
6704 int i;
6705 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6706 errmsg("Can't operate on vectors of different lengths");
6707 return 1;
6708 }
6709 (yyval.vrbl) = &freelist[fcnt++];
6710 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6711 (yyval.vrbl)->type = GRARR_TMP;
6712
6713 for (i = 0; i < (yyval.vrbl)->length; i++) {
6714 if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6715 errmsg("Divide by zero");
6716 return 1;
6717 }
6718 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] / (yyvsp[0].vrbl)->data[i];
6719 }
6720 }
6721 #line 6722 "y.tab.c" /* yacc.c:1646 */
6722 break;
6723
6724 case 125:
6725 #line 1450 "pars.yacc" /* yacc.c:1646 */
6726 {
6727 int i;
6728 if ((yyvsp[0].dval) == 0.0) {
6729 errmsg("Divide by zero");
6730 return 1;
6731 }
6732 (yyval.vrbl) = &freelist[fcnt++];
6733 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6734 (yyval.vrbl)->type = GRARR_TMP;
6735
6736 for (i = 0; i < (yyval.vrbl)->length; i++) {
6737 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] / (yyvsp[0].dval);
6738 }
6739 }
6740 #line 6741 "y.tab.c" /* yacc.c:1646 */
6741 break;
6742
6743 case 126:
6744 #line 1465 "pars.yacc" /* yacc.c:1646 */
6745 {
6746 int i;
6747 (yyval.vrbl) = &freelist[fcnt++];
6748 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6749 (yyval.vrbl)->type = GRARR_TMP;
6750
6751 for (i = 0; i < (yyval.vrbl)->length; i++) {
6752 if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6753 errmsg("Divide by zero");
6754 return 1;
6755 }
6756 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) / (yyvsp[0].vrbl)->data[i];
6757 }
6758 }
6759 #line 6760 "y.tab.c" /* yacc.c:1646 */
6760 break;
6761
6762 case 127:
6763 #line 1480 "pars.yacc" /* yacc.c:1646 */
6764 {
6765 int i;
6766 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6767 errmsg("Can't operate on vectors of different lengths");
6768 return 1;
6769 }
6770 (yyval.vrbl) = &freelist[fcnt++];
6771 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6772 (yyval.vrbl)->type = GRARR_TMP;
6773
6774 for (i = 0; i < (yyval.vrbl)->length; i++) {
6775 if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6776 errmsg("Divide by zero");
6777 return 1;
6778 } else {
6779 (yyval.vrbl)->data[i] = fmod((yyvsp[-2].vrbl)->data[i], (yyvsp[0].vrbl)->data[i]);
6780 }
6781 }
6782 }
6783 #line 6784 "y.tab.c" /* yacc.c:1646 */
6784 break;
6785
6786 case 128:
6787 #line 1500 "pars.yacc" /* yacc.c:1646 */
6788 {
6789 int i;
6790 if ((yyvsp[0].dval) == 0.0) {
6791 errmsg("Divide by zero");
6792 return 1;
6793 }
6794 (yyval.vrbl) = &freelist[fcnt++];
6795 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6796 (yyval.vrbl)->type = GRARR_TMP;
6797
6798 for (i = 0; i < (yyval.vrbl)->length; i++) {
6799 (yyval.vrbl)->data[i] = fmod((yyvsp[-2].vrbl)->data[i], (yyvsp[0].dval));
6800 }
6801 }
6802 #line 6803 "y.tab.c" /* yacc.c:1646 */
6803 break;
6804
6805 case 129:
6806 #line 1515 "pars.yacc" /* yacc.c:1646 */
6807 {
6808 int i;
6809 (yyval.vrbl) = &freelist[fcnt++];
6810 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6811 (yyval.vrbl)->type = GRARR_TMP;
6812
6813 for (i = 0; i < (yyval.vrbl)->length; i++) {
6814 if ((yyvsp[0].vrbl)->data[i] == 0.0) {
6815 errmsg("Divide by zero");
6816 return 1;
6817 } else {
6818 (yyval.vrbl)->data[i] = fmod((yyvsp[-2].dval), (yyvsp[0].vrbl)->data[i]);
6819 }
6820 }
6821 }
6822 #line 6823 "y.tab.c" /* yacc.c:1646 */
6823 break;
6824
6825 case 130:
6826 #line 1531 "pars.yacc" /* yacc.c:1646 */
6827 {
6828 int i;
6829 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6830 errmsg("Can't operate on vectors of different lengths");
6831 return 1;
6832 }
6833 (yyval.vrbl) = &freelist[fcnt++];
6834 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6835 (yyval.vrbl)->type = GRARR_TMP;
6836
6837 for (i = 0; i < (yyval.vrbl)->length; i++) {
6838 if ((yyvsp[-2].vrbl)->data[i] < 0 && rint((yyvsp[0].vrbl)->data[i]) != (yyvsp[0].vrbl)->data[i]) {
6839 yyerror("Negative value raised to non-integer power");
6840 return 1;
6841 } else if ((yyvsp[-2].vrbl)->data[i] == 0.0 && (yyvsp[0].vrbl)->data[i] <= 0.0) {
6842 yyerror("Zero raised to non-positive power");
6843 return 1;
6844 } else {
6845 (yyval.vrbl)->data[i] = pow((yyvsp[-2].vrbl)->data[i], (yyvsp[0].vrbl)->data[i]);
6846 }
6847 }
6848 }
6849 #line 6850 "y.tab.c" /* yacc.c:1646 */
6850 break;
6851
6852 case 131:
6853 #line 1554 "pars.yacc" /* yacc.c:1646 */
6854 {
6855 int i;
6856 (yyval.vrbl) = &freelist[fcnt++];
6857 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6858 (yyval.vrbl)->type = GRARR_TMP;
6859
6860 for (i = 0; i < (yyval.vrbl)->length; i++) {
6861 if ((yyvsp[-2].vrbl)->data[i] < 0 && rint((yyvsp[0].dval)) != (yyvsp[0].dval)) {
6862 yyerror("Negative value raised to non-integer power");
6863 return 1;
6864 } else if ((yyvsp[-2].vrbl)->data[i] == 0.0 && (yyvsp[0].dval) <= 0.0) {
6865 yyerror("Zero raised to non-positive power");
6866 return 1;
6867 } else {
6868 (yyval.vrbl)->data[i] = pow((yyvsp[-2].vrbl)->data[i], (yyvsp[0].dval));
6869 }
6870 }
6871 }
6872 #line 6873 "y.tab.c" /* yacc.c:1646 */
6873 break;
6874
6875 case 132:
6876 #line 1573 "pars.yacc" /* yacc.c:1646 */
6877 {
6878 int i;
6879 (yyval.vrbl) = &freelist[fcnt++];
6880 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
6881 (yyval.vrbl)->type = GRARR_TMP;
6882
6883 for (i = 0; i < (yyval.vrbl)->length; i++) {
6884 if ((yyvsp[-2].dval) < 0 && rint((yyvsp[0].vrbl)->data[i]) != (yyvsp[0].vrbl)->data[i]) {
6885 yyerror("Negative value raised to non-integer power");
6886 return 1;
6887 } else if ((yyvsp[-2].dval) == 0.0 && (yyvsp[0].vrbl)->data[i] <= 0.0) {
6888 yyerror("Zero raised to non-positive power");
6889 return 1;
6890 } else {
6891 (yyval.vrbl)->data[i] = pow((yyvsp[-2].dval), (yyvsp[0].vrbl)->data[i]);
6892 }
6893 }
6894 }
6895 #line 6896 "y.tab.c" /* yacc.c:1646 */
6896 break;
6897
6898 case 133:
6899 #line 1592 "pars.yacc" /* yacc.c:1646 */
6900 {
6901 int i;
6902 (yyval.vrbl) = &freelist[fcnt++];
6903 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
6904 (yyval.vrbl)->type = GRARR_TMP;
6905 for (i = 0; i < (yyval.vrbl)->length; i++) {
6906 (yyval.vrbl)->data[i] = (yyvsp[-1].vrbl)->data[i] * ((ParserFnc) (key[(yyvsp[0].ival)].data)) ();
6907 }
6908 }
6909 #line 6910 "y.tab.c" /* yacc.c:1646 */
6910 break;
6911
6912 case 134:
6913 #line 1601 "pars.yacc" /* yacc.c:1646 */
6914 {
6915 int i;
6916 (yyval.vrbl) = &freelist[fcnt++];
6917 copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6918 (yyval.vrbl)->type = GRARR_TMP;
6919 for (i = 0; i < (yyval.vrbl)->length; i++) {
6920 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].dval) : (yyvsp[0].dval);
6921 }
6922 }
6923 #line 6924 "y.tab.c" /* yacc.c:1646 */
6924 break;
6925
6926 case 135:
6927 #line 1610 "pars.yacc" /* yacc.c:1646 */
6928 {
6929 int i;
6930 if ((yyvsp[-4].vrbl)->length != (yyvsp[0].vrbl)->length) {
6931 errmsg("Can't operate on vectors of different lengths");
6932 return 1;
6933 }
6934 (yyval.vrbl) = &freelist[fcnt++];
6935 copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6936 (yyval.vrbl)->type = GRARR_TMP;
6937 for (i = 0; i < (yyval.vrbl)->length; i++) {
6938 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].dval) : (yyvsp[0].vrbl)->data[i];
6939 }
6940 }
6941 #line 6942 "y.tab.c" /* yacc.c:1646 */
6942 break;
6943
6944 case 136:
6945 #line 1623 "pars.yacc" /* yacc.c:1646 */
6946 {
6947 int i;
6948 if ((yyvsp[-4].vrbl)->length != (yyvsp[-2].vrbl)->length) {
6949 errmsg("Can't operate on vectors of different lengths");
6950 return 1;
6951 }
6952 (yyval.vrbl) = &freelist[fcnt++];
6953 copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6954 (yyval.vrbl)->type = GRARR_TMP;
6955 for (i = 0; i < (yyval.vrbl)->length; i++) {
6956 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].vrbl)->data[i] : (yyvsp[0].dval);
6957 }
6958 }
6959 #line 6960 "y.tab.c" /* yacc.c:1646 */
6960 break;
6961
6962 case 137:
6963 #line 1636 "pars.yacc" /* yacc.c:1646 */
6964 {
6965 int i;
6966 if ((yyvsp[-4].vrbl)->length != (yyvsp[0].vrbl)->length || (yyvsp[-4].vrbl)->length != (yyvsp[-2].vrbl)->length) {
6967 errmsg("Can't operate on vectors of different lengths");
6968 return 1;
6969 }
6970 (yyval.vrbl) = &freelist[fcnt++];
6971 copy_vrbl((yyval.vrbl), (yyvsp[-4].vrbl));
6972 (yyval.vrbl)->type = GRARR_TMP;
6973 for (i = 0; i < (yyval.vrbl)->length; i++) {
6974 (yyval.vrbl)->data[i] = CAST_DBL_TO_BOOL((yyvsp[-4].vrbl)->data[i]) ? (yyvsp[-2].vrbl)->data[i] : (yyvsp[0].vrbl)->data[i];
6975 }
6976 }
6977 #line 6978 "y.tab.c" /* yacc.c:1646 */
6978 break;
6979
6980 case 138:
6981 #line 1650 "pars.yacc" /* yacc.c:1646 */
6982 {
6983 int i;
6984 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
6985 errmsg("Can't operate on vectors of different lengths");
6986 return 1;
6987 }
6988 (yyval.vrbl) = &freelist[fcnt++];
6989 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
6990 (yyval.vrbl)->type = GRARR_TMP;
6991
6992 for (i = 0; i < (yyval.vrbl)->length; i++) {
6993 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] || (yyvsp[0].vrbl)->data[i];
6994 }
6995 }
6996 #line 6997 "y.tab.c" /* yacc.c:1646 */
6997 break;
6998
6999 case 139:
7000 #line 1665 "pars.yacc" /* yacc.c:1646 */
7001 {
7002 int i;
7003 (yyval.vrbl) = &freelist[fcnt++];
7004 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7005 (yyval.vrbl)->type = GRARR_TMP;
7006
7007 for (i = 0; i < (yyval.vrbl)->length; i++) {
7008 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] || (yyvsp[0].dval);
7009 }
7010 }
7011 #line 7012 "y.tab.c" /* yacc.c:1646 */
7012 break;
7013
7014 case 140:
7015 #line 1676 "pars.yacc" /* yacc.c:1646 */
7016 {
7017 int i;
7018 (yyval.vrbl) = &freelist[fcnt++];
7019 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7020 (yyval.vrbl)->type = GRARR_TMP;
7021
7022 for (i = 0; i < (yyval.vrbl)->length; i++) {
7023 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) || (yyvsp[0].vrbl)->data[i];
7024 }
7025 }
7026 #line 7027 "y.tab.c" /* yacc.c:1646 */
7027 break;
7028
7029 case 141:
7030 #line 1687 "pars.yacc" /* yacc.c:1646 */
7031 {
7032 int i;
7033 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7034 errmsg("Can't operate on vectors of different lengths");
7035 return 1;
7036 }
7037 (yyval.vrbl) = &freelist[fcnt++];
7038 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7039 (yyval.vrbl)->type = GRARR_TMP;
7040
7041 for (i = 0; i < (yyval.vrbl)->length; i++) {
7042 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] && (yyvsp[0].vrbl)->data[i];
7043 }
7044 }
7045 #line 7046 "y.tab.c" /* yacc.c:1646 */
7046 break;
7047
7048 case 142:
7049 #line 1702 "pars.yacc" /* yacc.c:1646 */
7050 {
7051 int i;
7052 (yyval.vrbl) = &freelist[fcnt++];
7053 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7054 (yyval.vrbl)->type = GRARR_TMP;
7055
7056 for (i = 0; i < (yyval.vrbl)->length; i++) {
7057 (yyval.vrbl)->data[i] = (yyvsp[-2].vrbl)->data[i] && (yyvsp[0].dval);
7058 }
7059 }
7060 #line 7061 "y.tab.c" /* yacc.c:1646 */
7061 break;
7062
7063 case 143:
7064 #line 1713 "pars.yacc" /* yacc.c:1646 */
7065 {
7066 int i;
7067 (yyval.vrbl) = &freelist[fcnt++];
7068 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7069 (yyval.vrbl)->type = GRARR_TMP;
7070
7071 for (i = 0; i < (yyval.vrbl)->length; i++) {
7072 (yyval.vrbl)->data[i] = (yyvsp[-2].dval) && (yyvsp[0].vrbl)->data[i];
7073 }
7074 }
7075 #line 7076 "y.tab.c" /* yacc.c:1646 */
7076 break;
7077
7078 case 144:
7079 #line 1724 "pars.yacc" /* yacc.c:1646 */
7080 {
7081 int i;
7082 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7083 errmsg("Can't operate on vectors of different lengths");
7084 return 1;
7085 }
7086 (yyval.vrbl) = &freelist[fcnt++];
7087 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7088 (yyval.vrbl)->type = GRARR_TMP;
7089
7090 for (i = 0; i < (yyval.vrbl)->length; i++) {
7091 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] > (yyvsp[0].vrbl)->data[i]);
7092 }
7093 }
7094 #line 7095 "y.tab.c" /* yacc.c:1646 */
7095 break;
7096
7097 case 145:
7098 #line 1739 "pars.yacc" /* yacc.c:1646 */
7099 {
7100 int i;
7101 (yyval.vrbl) = &freelist[fcnt++];
7102 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7103 (yyval.vrbl)->type = GRARR_TMP;
7104
7105 for (i = 0; i < (yyval.vrbl)->length; i++) {
7106 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] > (yyvsp[0].dval));
7107 }
7108 }
7109 #line 7110 "y.tab.c" /* yacc.c:1646 */
7110 break;
7111
7112 case 146:
7113 #line 1750 "pars.yacc" /* yacc.c:1646 */
7114 {
7115 int i;
7116 (yyval.vrbl) = &freelist[fcnt++];
7117 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7118 (yyval.vrbl)->type = GRARR_TMP;
7119
7120 for (i = 0; i < (yyval.vrbl)->length; i++) {
7121 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) > (yyvsp[0].vrbl)->data[i]);
7122 }
7123 }
7124 #line 7125 "y.tab.c" /* yacc.c:1646 */
7125 break;
7126
7127 case 147:
7128 #line 1761 "pars.yacc" /* yacc.c:1646 */
7129 {
7130 int i;
7131 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7132 errmsg("Can't operate on vectors of different lengths");
7133 return 1;
7134 }
7135 (yyval.vrbl) = &freelist[fcnt++];
7136 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7137 (yyval.vrbl)->type = GRARR_TMP;
7138
7139 for (i = 0; i < (yyval.vrbl)->length; i++) {
7140 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] < (yyvsp[0].vrbl)->data[i]);
7141 }
7142 }
7143 #line 7144 "y.tab.c" /* yacc.c:1646 */
7144 break;
7145
7146 case 148:
7147 #line 1776 "pars.yacc" /* yacc.c:1646 */
7148 {
7149 int i;
7150 (yyval.vrbl) = &freelist[fcnt++];
7151 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7152 (yyval.vrbl)->type = GRARR_TMP;
7153
7154 for (i = 0; i < (yyval.vrbl)->length; i++) {
7155 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] < (yyvsp[0].dval));
7156 }
7157 }
7158 #line 7159 "y.tab.c" /* yacc.c:1646 */
7159 break;
7160
7161 case 149:
7162 #line 1787 "pars.yacc" /* yacc.c:1646 */
7163 {
7164 int i;
7165 (yyval.vrbl) = &freelist[fcnt++];
7166 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7167 (yyval.vrbl)->type = GRARR_TMP;
7168
7169 for (i = 0; i < (yyval.vrbl)->length; i++) {
7170 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) < (yyvsp[0].vrbl)->data[i]);
7171 }
7172 }
7173 #line 7174 "y.tab.c" /* yacc.c:1646 */
7174 break;
7175
7176 case 150:
7177 #line 1798 "pars.yacc" /* yacc.c:1646 */
7178 {
7179 int i;
7180 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7181 errmsg("Can't operate on vectors of different lengths");
7182 return 1;
7183 }
7184 (yyval.vrbl) = &freelist[fcnt++];
7185 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7186 (yyval.vrbl)->type = GRARR_TMP;
7187
7188 for (i = 0; i < (yyval.vrbl)->length; i++) {
7189 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] >= (yyvsp[0].vrbl)->data[i]);
7190 }
7191 }
7192 #line 7193 "y.tab.c" /* yacc.c:1646 */
7193 break;
7194
7195 case 151:
7196 #line 1813 "pars.yacc" /* yacc.c:1646 */
7197 {
7198 int i;
7199 (yyval.vrbl) = &freelist[fcnt++];
7200 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7201 (yyval.vrbl)->type = GRARR_TMP;
7202
7203 for (i = 0; i < (yyval.vrbl)->length; i++) {
7204 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] >= (yyvsp[0].dval));
7205 }
7206 }
7207 #line 7208 "y.tab.c" /* yacc.c:1646 */
7208 break;
7209
7210 case 152:
7211 #line 1824 "pars.yacc" /* yacc.c:1646 */
7212 {
7213 int i;
7214 (yyval.vrbl) = &freelist[fcnt++];
7215 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7216 (yyval.vrbl)->type = GRARR_TMP;
7217
7218 for (i = 0; i < (yyval.vrbl)->length; i++) {
7219 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) >= (yyvsp[0].vrbl)->data[i]);
7220 }
7221 }
7222 #line 7223 "y.tab.c" /* yacc.c:1646 */
7223 break;
7224
7225 case 153:
7226 #line 1835 "pars.yacc" /* yacc.c:1646 */
7227 {
7228 int i;
7229 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7230 errmsg("Can't operate on vectors of different lengths");
7231 return 1;
7232 }
7233 (yyval.vrbl) = &freelist[fcnt++];
7234 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7235 (yyval.vrbl)->type = GRARR_TMP;
7236
7237 for (i = 0; i < (yyval.vrbl)->length; i++) {
7238 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] <= (yyvsp[0].vrbl)->data[i]);
7239 }
7240 }
7241 #line 7242 "y.tab.c" /* yacc.c:1646 */
7242 break;
7243
7244 case 154:
7245 #line 1850 "pars.yacc" /* yacc.c:1646 */
7246 {
7247 int i;
7248 (yyval.vrbl) = &freelist[fcnt++];
7249 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7250 (yyval.vrbl)->type = GRARR_TMP;
7251
7252 for (i = 0; i < (yyval.vrbl)->length; i++) {
7253 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] <= (yyvsp[0].dval));
7254 }
7255 }
7256 #line 7257 "y.tab.c" /* yacc.c:1646 */
7257 break;
7258
7259 case 155:
7260 #line 1861 "pars.yacc" /* yacc.c:1646 */
7261 {
7262 int i;
7263 (yyval.vrbl) = &freelist[fcnt++];
7264 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7265 (yyval.vrbl)->type = GRARR_TMP;
7266
7267 for (i = 0; i < (yyval.vrbl)->length; i++) {
7268 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) <= (yyvsp[0].vrbl)->data[i]);
7269 }
7270 }
7271 #line 7272 "y.tab.c" /* yacc.c:1646 */
7272 break;
7273
7274 case 156:
7275 #line 1872 "pars.yacc" /* yacc.c:1646 */
7276 {
7277 int i;
7278 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7279 errmsg("Can't operate on vectors of different lengths");
7280 return 1;
7281 }
7282 (yyval.vrbl) = &freelist[fcnt++];
7283 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7284 (yyval.vrbl)->type = GRARR_TMP;
7285
7286 for (i = 0; i < (yyval.vrbl)->length; i++) {
7287 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] == (yyvsp[0].vrbl)->data[i]);
7288 }
7289 }
7290 #line 7291 "y.tab.c" /* yacc.c:1646 */
7291 break;
7292
7293 case 157:
7294 #line 1887 "pars.yacc" /* yacc.c:1646 */
7295 {
7296 int i;
7297 (yyval.vrbl) = &freelist[fcnt++];
7298 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7299 (yyval.vrbl)->type = GRARR_TMP;
7300
7301 for (i = 0; i < (yyval.vrbl)->length; i++) {
7302 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] == (yyvsp[0].dval));
7303 }
7304 }
7305 #line 7306 "y.tab.c" /* yacc.c:1646 */
7306 break;
7307
7308 case 158:
7309 #line 1898 "pars.yacc" /* yacc.c:1646 */
7310 {
7311 int i;
7312 (yyval.vrbl) = &freelist[fcnt++];
7313 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7314 (yyval.vrbl)->type = GRARR_TMP;
7315
7316 for (i = 0; i < (yyval.vrbl)->length; i++) {
7317 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) == (yyvsp[0].vrbl)->data[i]);
7318 }
7319 }
7320 #line 7321 "y.tab.c" /* yacc.c:1646 */
7321 break;
7322
7323 case 159:
7324 #line 1909 "pars.yacc" /* yacc.c:1646 */
7325 {
7326 int i;
7327 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7328 errmsg("Can't operate on vectors of different lengths");
7329 return 1;
7330 }
7331 (yyval.vrbl) = &freelist[fcnt++];
7332 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7333 (yyval.vrbl)->type = GRARR_TMP;
7334
7335 for (i = 0; i < (yyval.vrbl)->length; i++) {
7336 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] != (yyvsp[0].vrbl)->data[i]);
7337 }
7338 }
7339 #line 7340 "y.tab.c" /* yacc.c:1646 */
7340 break;
7341
7342 case 160:
7343 #line 1924 "pars.yacc" /* yacc.c:1646 */
7344 {
7345 int i;
7346 (yyval.vrbl) = &freelist[fcnt++];
7347 copy_vrbl((yyval.vrbl), (yyvsp[-2].vrbl));
7348 (yyval.vrbl)->type = GRARR_TMP;
7349
7350 for (i = 0; i < (yyval.vrbl)->length; i++) {
7351 (yyval.vrbl)->data[i] = ((yyvsp[-2].vrbl)->data[i] != (yyvsp[0].dval));
7352 }
7353 }
7354 #line 7355 "y.tab.c" /* yacc.c:1646 */
7355 break;
7356
7357 case 161:
7358 #line 1935 "pars.yacc" /* yacc.c:1646 */
7359 {
7360 int i;
7361 (yyval.vrbl) = &freelist[fcnt++];
7362 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7363 (yyval.vrbl)->type = GRARR_TMP;
7364
7365 for (i = 0; i < (yyval.vrbl)->length; i++) {
7366 (yyval.vrbl)->data[i] = ((yyvsp[-2].dval) != (yyvsp[0].vrbl)->data[i]);
7367 }
7368 }
7369 #line 7370 "y.tab.c" /* yacc.c:1646 */
7370 break;
7371
7372 case 162:
7373 #line 1946 "pars.yacc" /* yacc.c:1646 */
7374 {
7375 int i;
7376 (yyval.vrbl) = &freelist[fcnt++];
7377 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7378 (yyval.vrbl)->type = GRARR_TMP;
7379 for (i = 0; i < (yyval.vrbl)->length; i++) {
7380 (yyval.vrbl)->data[i] = !(yyvsp[0].vrbl)->data[i];
7381 }
7382 }
7383 #line 7384 "y.tab.c" /* yacc.c:1646 */
7384 break;
7385
7386 case 163:
7387 #line 1956 "pars.yacc" /* yacc.c:1646 */
7388 {
7389 int i;
7390 (yyval.vrbl) = &freelist[fcnt++];
7391 copy_vrbl((yyval.vrbl), (yyvsp[-1].vrbl));
7392 (yyval.vrbl)->type = GRARR_TMP;
7393 for (i = 0; i < (yyval.vrbl)->length; i++) {
7394 (yyval.vrbl)->data[i] = (yyvsp[-1].vrbl)->data[i];
7395 }
7396 }
7397 #line 7398 "y.tab.c" /* yacc.c:1646 */
7398 break;
7399
7400 case 164:
7401 #line 1965 "pars.yacc" /* yacc.c:1646 */
7402 {
7403 int i;
7404 (yyval.vrbl) = &freelist[fcnt++];
7405 copy_vrbl((yyval.vrbl), (yyvsp[0].vrbl));
7406 (yyval.vrbl)->type = GRARR_TMP;
7407 for (i = 0; i < (yyval.vrbl)->length; i++) {
7408 (yyval.vrbl)->data[i] = - (yyvsp[0].vrbl)->data[i];
7409 }
7410 }
7411 #line 7412 "y.tab.c" /* yacc.c:1646 */
7412 break;
7413
7414 case 165:
7415 #line 1979 "pars.yacc" /* yacc.c:1646 */
7416 {
7417 *((yyvsp[-2].dptr)) = (yyvsp[0].dval);
7418 }
7419 #line 7420 "y.tab.c" /* yacc.c:1646 */
7420 break;
7421
7422 case 166:
7423 #line 1983 "pars.yacc" /* yacc.c:1646 */
7424 {
7425 nonl_parms[(yyvsp[-2].ival)].value = (yyvsp[0].dval);
7426 }
7427 #line 7428 "y.tab.c" /* yacc.c:1646 */
7428 break;
7429
7430 case 167:
7431 #line 1987 "pars.yacc" /* yacc.c:1646 */
7432 {
7433 nonl_parms[(yyvsp[-2].ival)].max = (yyvsp[0].dval);
7434 }
7435 #line 7436 "y.tab.c" /* yacc.c:1646 */
7436 break;
7437
7438 case 168:
7439 #line 1991 "pars.yacc" /* yacc.c:1646 */
7440 {
7441 nonl_parms[(yyvsp[-2].ival)].min = (yyvsp[0].dval);
7442 }
7443 #line 7444 "y.tab.c" /* yacc.c:1646 */
7444 break;
7445
7446 case 169:
7447 #line 1995 "pars.yacc" /* yacc.c:1646 */
7448 {
7449 if ((yyvsp[-2].ival) >= (yyvsp[-3].vrbl)->length) {
7450 yyerror("Access beyond array bounds");
7451 return 1;
7452 }
7453 (yyvsp[-3].vrbl)->data[(yyvsp[-2].ival)] = (yyvsp[0].dval);
7454 }
7455 #line 7456 "y.tab.c" /* yacc.c:1646 */
7456 break;
7457
7458 case 170:
7459 #line 2006 "pars.yacc" /* yacc.c:1646 */
7460 {
7461 target tgt;
7462 switch ((yyvsp[0].vrbl)->type) {
7463 case GRARR_SET:
7464 if (find_set_bydata((yyvsp[0].vrbl)->data, &tgt) == RETURN_SUCCESS) {
7465 vasgn_gno = tgt.gno;
7466 vasgn_setno = tgt.setno;
7467 } else {
7468 errmsg("Internal error");
7469 return 1;
7470 }
7471 break;
7472 case GRARR_VEC:
7473 vasgn_gno = -1;
7474 vasgn_setno = -1;
7475 break;
7476 default:
7477 /* It can NOT be a tmp array on the left side! */
7478 errmsg("Internal error");
7479 return 1;
7480 }
7481 (yyval.vrbl) = (yyvsp[0].vrbl);
7482 }
7483 #line 7484 "y.tab.c" /* yacc.c:1646 */
7484 break;
7485
7486 case 171:
7487 #line 2033 "pars.yacc" /* yacc.c:1646 */
7488 {
7489 int i;
7490 if ((yyvsp[-2].vrbl)->length != (yyvsp[0].vrbl)->length) {
7491 errmsg("Left and right vectors are of different lengths");
7492 return 1;
7493 }
7494 for (i = 0; i < (yyvsp[-2].vrbl)->length; i++) {
7495 (yyvsp[-2].vrbl)->data[i] = (yyvsp[0].vrbl)->data[i];
7496 }
7497 }
7498 #line 7499 "y.tab.c" /* yacc.c:1646 */
7499 break;
7500
7501 case 172:
7502 #line 2044 "pars.yacc" /* yacc.c:1646 */
7503 {
7504 int i;
7505 for (i = 0; i < (yyvsp[-2].vrbl)->length; i++) {
7506 (yyvsp[-2].vrbl)->data[i] = (yyvsp[0].dval);
7507 }
7508 }
7509 #line 7510 "y.tab.c" /* yacc.c:1646 */
7510 break;
7511
7512 case 173:
7513 #line 2054 "pars.yacc" /* yacc.c:1646 */
7514 {
7515 symtab_entry tmpkey;
7516 double *var;
7517
7518 var = xmalloc(SIZEOF_DOUBLE);
7519 *var = 0.0;
7520
7521 tmpkey.s = (yyvsp[0].sval);
7522 tmpkey.type = KEY_VAR;
7523 tmpkey.data = (void *) var;
7524 if (addto_symtab(tmpkey) != RETURN_SUCCESS) {
7525 yyerror("Adding new symbol failed");
7526 }
7527
7528 xfree((yyvsp[0].sval));
7529 }
7530 #line 7531 "y.tab.c" /* yacc.c:1646 */
7531 break;
7532
7533 case 174:
7534 #line 2071 "pars.yacc" /* yacc.c:1646 */
7535 {
7536 if (define_parser_arr((yyvsp[-2].sval)) == NULL) {
7537 yyerror("Adding new symbol failed");
7538 }
7539
7540 xfree((yyvsp[-2].sval));
7541 }
7542 #line 7543 "y.tab.c" /* yacc.c:1646 */
7543 break;
7544
7545 case 175:
7546 #line 2079 "pars.yacc" /* yacc.c:1646 */
7547 {
7548 grarr *var;
7549 if ((var = define_parser_arr((yyvsp[-3].sval))) == NULL) {
7550 yyerror("Adding new symbol failed");
7551 } else {
7552 realloc_vrbl(var, (yyvsp[-1].ival));
7553 }
7554
7555 xfree((yyvsp[-3].sval));
7556 }
7557 #line 7558 "y.tab.c" /* yacc.c:1646 */
7558 break;
7559
7560 case 176:
7561 #line 2090 "pars.yacc" /* yacc.c:1646 */
7562 {
7563 yyerror("Keyword already exists");
7564 }
7565 #line 7566 "y.tab.c" /* yacc.c:1646 */
7566 break;
7567
7568 case 177:
7569 #line 2094 "pars.yacc" /* yacc.c:1646 */
7570 {
7571 yyerror("Keyword already exists");
7572 }
7573 #line 7574 "y.tab.c" /* yacc.c:1646 */
7574 break;
7575
7576 case 178:
7577 #line 2098 "pars.yacc" /* yacc.c:1646 */
7578 {
7579 undefine_parser_var((void *) (yyvsp[0].dptr));
7580 xfree((yyvsp[0].dptr));
7581 }
7582 #line 7583 "y.tab.c" /* yacc.c:1646 */
7583 break;
7584
7585 case 179:
7586 #line 2103 "pars.yacc" /* yacc.c:1646 */
7587 {
7588 realloc_vrbl((yyvsp[0].vrbl), 0);
7589 undefine_parser_var((void *) (yyvsp[0].vrbl));
7590 xfree((yyvsp[0].vrbl));
7591 }
7592 #line 7593 "y.tab.c" /* yacc.c:1646 */
7593 break;
7594
7595 case 180:
7596 #line 2108 "pars.yacc" /* yacc.c:1646 */
7597 {
7598 int position;
7599
7600 lowtoupper((yyvsp[0].sval));
7601 if ((position = findf(key, (yyvsp[0].sval))) >= 0) {
7602 symtab_entry tmpkey;
7603 tmpkey.s = (yyvsp[-1].sval);
7604 tmpkey.type = key[position].type;
7605 tmpkey.data = key[position].data;
7606 if (addto_symtab(tmpkey) != RETURN_SUCCESS) {
7607 yyerror("Keyword already exists");
7608 }
7609 } else {
7610 yyerror("Aliased keyword not found");
7611 }
7612 xfree((yyvsp[-1].sval));
7613 xfree((yyvsp[0].sval));
7614 }
7615 #line 7616 "y.tab.c" /* yacc.c:1646 */
7616 break;
7617
7618 case 181:
7619 #line 2126 "pars.yacc" /* yacc.c:1646 */
7620 {
7621 alias_force = (yyvsp[0].ival);
7622 }
7623 #line 7624 "y.tab.c" /* yacc.c:1646 */
7624 break;
7625
7626 case 182:
7627 #line 2129 "pars.yacc" /* yacc.c:1646 */
7628 {
7629 if (load_module((yyvsp[0].sval), (yyvsp[-4].sval), (yyvsp[-4].sval), (yyvsp[-2].ival)) != 0) {
7630 yyerror("DL module load failed");
7631 }
7632 xfree((yyvsp[-4].sval));
7633 xfree((yyvsp[0].sval));
7634 }
7635 #line 7636 "y.tab.c" /* yacc.c:1646 */
7636 break;
7637
7638 case 183:
7639 #line 2136 "pars.yacc" /* yacc.c:1646 */
7640 {
7641 if (load_module((yyvsp[-2].sval), (yyvsp[-6].sval), (yyvsp[0].sval), (yyvsp[-4].ival)) != 0) {
7642 yyerror("DL module load failed");
7643 }
7644 xfree((yyvsp[-6].sval));
7645 xfree((yyvsp[-2].sval));
7646 xfree((yyvsp[0].sval));
7647 }
7648 #line 7649 "y.tab.c" /* yacc.c:1646 */
7649 break;
7650
7651 case 184:
7652 #line 2147 "pars.yacc" /* yacc.c:1646 */
7653 {
7654 rg[(yyvsp[-1].ival)].active = (yyvsp[0].ival);
7655 }
7656 #line 7657 "y.tab.c" /* yacc.c:1646 */
7657 break;
7658
7659 case 185:
7660 #line 2150 "pars.yacc" /* yacc.c:1646 */
7661 {
7662 rg[(yyvsp[-2].ival)].type = (yyvsp[0].ival);
7663 }
7664 #line 7665 "y.tab.c" /* yacc.c:1646 */
7665 break;
7666
7667 case 186:
7668 #line 2153 "pars.yacc" /* yacc.c:1646 */
7669 {
7670 rg[(yyvsp[-1].ival)].color = (yyvsp[0].ival);
7671 }
7672 #line 7673 "y.tab.c" /* yacc.c:1646 */
7673 break;
7674
7675 case 187:
7676 #line 2156 "pars.yacc" /* yacc.c:1646 */
7677 {
7678 rg[(yyvsp[-1].ival)].lines = (yyvsp[0].ival);
7679 }
7680 #line 7681 "y.tab.c" /* yacc.c:1646 */
7681 break;
7682
7683 case 188:
7684 #line 2159 "pars.yacc" /* yacc.c:1646 */
7685 {
7686 rg[(yyvsp[-1].ival)].linew = (yyvsp[0].dval);
7687 }
7688 #line 7689 "y.tab.c" /* yacc.c:1646 */
7689 break;
7690
7691 case 189:
7692 #line 2163 "pars.yacc" /* yacc.c:1646 */
7693 {
7694 rg[(yyvsp[-8].ival)].x1 = (yyvsp[-6].dval);
7695 rg[(yyvsp[-8].ival)].y1 = (yyvsp[-4].dval);
7696 rg[(yyvsp[-8].ival)].x2 = (yyvsp[-2].dval);
7697 rg[(yyvsp[-8].ival)].y2 = (yyvsp[0].dval);
7698 }
7699 #line 7700 "y.tab.c" /* yacc.c:1646 */
7700 break;
7701
7702 case 190:
7703 #line 2170 "pars.yacc" /* yacc.c:1646 */
7704 {
7705 rg[(yyvsp[-4].ival)].x = xrealloc(rg[(yyvsp[-4].ival)].x, (rg[(yyvsp[-4].ival)].n + 1) * SIZEOF_DOUBLE);
7706 rg[(yyvsp[-4].ival)].y = xrealloc(rg[(yyvsp[-4].ival)].y, (rg[(yyvsp[-4].ival)].n + 1) * SIZEOF_DOUBLE);
7707 rg[(yyvsp[-4].ival)].x[rg[(yyvsp[-4].ival)].n] = (yyvsp[-2].dval);
7708 rg[(yyvsp[-4].ival)].y[rg[(yyvsp[-4].ival)].n] = (yyvsp[0].dval);
7709 rg[(yyvsp[-4].ival)].n++;
7710 }
7711 #line 7712 "y.tab.c" /* yacc.c:1646 */
7712 break;
7713
7714 case 191:
7715 #line 2177 "pars.yacc" /* yacc.c:1646 */
7716 {
7717 rg[(yyvsp[-2].ival)].linkto = (yyvsp[0].ival);
7718 }
7719 #line 7720 "y.tab.c" /* yacc.c:1646 */
7720 break;
7721
7722 case 192:
7723 #line 2184 "pars.yacc" /* yacc.c:1646 */
7724 {
7725 if (set_project_version((yyvsp[0].ival)) != RETURN_SUCCESS) {
7726 errmsg("Project version is newer than software!");
7727 }
7728 if (get_project_version() < 50001) {
7729 map_fonts(FONT_MAP_ACEGR);
7730 } else {
7731 map_fonts(FONT_MAP_DEFAULT);
7732 }
7733 }
7734 #line 7735 "y.tab.c" /* yacc.c:1646 */
7735 break;
7736
7737 case 193:
7738 #line 2194 "pars.yacc" /* yacc.c:1646 */
7739 {
7740 set_page_dimensions((yyvsp[-2].ival), (yyvsp[0].ival), TRUE);
7741 }
7742 #line 7743 "y.tab.c" /* yacc.c:1646 */
7743 break;
7744
7745 case 194:
7746 #line 2197 "pars.yacc" /* yacc.c:1646 */
7747 {
7748 set_page_dimensions((yyvsp[-2].ival), (yyvsp[0].ival), FALSE);
7749 }
7750 #line 7751 "y.tab.c" /* yacc.c:1646 */
7751 break;
7752
7753 case 195:
7754 #line 2200 "pars.yacc" /* yacc.c:1646 */
7755 {
7756 int device_id;
7757 Device_entry dev;
7758
7759 device_id = get_device_by_name((yyvsp[-5].sval));
7760 xfree((yyvsp[-5].sval));
7761 if (device_id < 0) {
7762 yyerror("Unknown device");
7763 } else {
7764 dev = get_device_props(device_id);
7765 dev.pg.width = (long) ((yyvsp[-2].ival)*dev.pg.dpi/72);
7766 dev.pg.height = (long) ((yyvsp[0].ival)*dev.pg.dpi/72);
7767 set_device_props(device_id, dev);
7768 }
7769 }
7770 #line 7771 "y.tab.c" /* yacc.c:1646 */
7771 break;
7772
7773 case 196:
7774 #line 2215 "pars.yacc" /* yacc.c:1646 */
7775 {
7776 int device_id;
7777 Device_entry dev;
7778
7779 device_id = get_device_by_name((yyvsp[-2].sval));
7780 if (device_id < 0) {
7781 yyerror("Unknown device");
7782 } else {
7783 dev = get_device_props(device_id);
7784 dev.pg.dpi = (yyvsp[0].dval);
7785 set_device_props(device_id, dev);
7786 }
7787 xfree((yyvsp[-2].sval));
7788 }
7789 #line 7790 "y.tab.c" /* yacc.c:1646 */
7790 break;
7791
7792 case 197:
7793 #line 2229 "pars.yacc" /* yacc.c:1646 */
7794 {
7795 int device_id;
7796 Device_entry dev;
7797
7798 device_id = get_device_by_name((yyvsp[-3].sval));
7799 if (device_id < 0) {
7800 yyerror("Unknown device");
7801 } else {
7802 dev = get_device_props(device_id);
7803 dev.fontaa = (yyvsp[0].ival);
7804 set_device_props(device_id, dev);
7805 }
7806 xfree((yyvsp[-3].sval));
7807 }
7808 #line 7809 "y.tab.c" /* yacc.c:1646 */
7809 break;
7810
7811 case 198:
7812 #line 2243 "pars.yacc" /* yacc.c:1646 */
7813 {
7814 int device_id;
7815 Device_entry dev;
7816
7817 device_id = get_device_by_name((yyvsp[-2].sval));
7818 if (device_id < 0) {
7819 yyerror("Unknown device");
7820 } else {
7821 dev = get_device_props(device_id);
7822 dev.devfonts = (yyvsp[0].ival);
7823 set_device_props(device_id, dev);
7824 }
7825 xfree((yyvsp[-2].sval));
7826 }
7827 #line 7828 "y.tab.c" /* yacc.c:1646 */
7828 break;
7829
7830 case 199:
7831 #line 2257 "pars.yacc" /* yacc.c:1646 */
7832 {
7833 int device_id;
7834
7835 device_id = get_device_by_name((yyvsp[-2].sval));
7836 if (device_id < 0) {
7837 yyerror("Unknown device");
7838 } else {
7839 if (parse_device_options(device_id, (yyvsp[0].sval)) !=
7840 RETURN_SUCCESS) {
7841 yyerror("Incorrect device option string");
7842 }
7843 }
7844 xfree((yyvsp[-2].sval));
7845 xfree((yyvsp[0].sval));
7846 }
7847 #line 7848 "y.tab.c" /* yacc.c:1646 */
7848 break;
7849
7850 case 200:
7851 #line 2272 "pars.yacc" /* yacc.c:1646 */
7852 {
7853 set_printer_by_name((yyvsp[0].sval));
7854 xfree((yyvsp[0].sval));
7855 }
7856 #line 7857 "y.tab.c" /* yacc.c:1646 */
7857 break;
7858
7859 case 201:
7860 #line 2276 "pars.yacc" /* yacc.c:1646 */
7861 {
7862 set_ref_date((yyvsp[0].dval));
7863 }
7864 #line 7865 "y.tab.c" /* yacc.c:1646 */
7865 break;
7866
7867 case 202:
7868 #line 2279 "pars.yacc" /* yacc.c:1646 */
7869 {
7870 allow_two_digits_years((yyvsp[0].ival));
7871 }
7872 #line 7873 "y.tab.c" /* yacc.c:1646 */
7873 break;
7874
7875 case 203:
7876 #line 2282 "pars.yacc" /* yacc.c:1646 */
7877 {
7878 set_wrap_year((yyvsp[0].ival));
7879 }
7880 #line 7881 "y.tab.c" /* yacc.c:1646 */
7881 break;
7882
7883 case 204:
7884 #line 2285 "pars.yacc" /* yacc.c:1646 */
7885 {
7886 setbgcolor((yyvsp[0].ival));
7887 }
7888 #line 7889 "y.tab.c" /* yacc.c:1646 */
7889 break;
7890
7891 case 205:
7892 #line 2288 "pars.yacc" /* yacc.c:1646 */
7893 {
7894 setbgfill((yyvsp[0].ival));
7895 }
7896 #line 7897 "y.tab.c" /* yacc.c:1646 */
7897 break;
7898
7899 case 206:
7900 #line 2291 "pars.yacc" /* yacc.c:1646 */
7901 {
7902 scroll_proc((int) (yyvsp[-1].dval));
7903 }
7904 #line 7905 "y.tab.c" /* yacc.c:1646 */
7905 break;
7906
7907 case 207:
7908 #line 2294 "pars.yacc" /* yacc.c:1646 */
7909 {
7910 scrollinout_proc((int) (yyvsp[-1].dval));
7911 }
7912 #line 7913 "y.tab.c" /* yacc.c:1646 */
7913 break;
7914
7915 case 208:
7916 #line 2297 "pars.yacc" /* yacc.c:1646 */
7917 {
7918 scrolling_islinked = (yyvsp[0].ival);
7919 }
7920 #line 7921 "y.tab.c" /* yacc.c:1646 */
7921 break;
7922
7923 case 209:
7924 #line 2302 "pars.yacc" /* yacc.c:1646 */
7925 {
7926 add_world(whichgraph, (yyvsp[-6].dval), (yyvsp[-4].dval), (yyvsp[-2].dval), (yyvsp[0].dval));
7927 }
7928 #line 7929 "y.tab.c" /* yacc.c:1646 */
7929 break;
7930
7931 case 210:
7932 #line 2306 "pars.yacc" /* yacc.c:1646 */
7933 {
7934 timer_delay = (yyvsp[0].ival);
7935 }
7936 #line 7937 "y.tab.c" /* yacc.c:1646 */
7937 break;
7938
7939 case 211:
7940 #line 2310 "pars.yacc" /* yacc.c:1646 */
7941 {
7942 target_set = *((yyvsp[0].trgt));
7943 set_parser_setno(target_set.gno, target_set.setno);
7944 }
7945 #line 7946 "y.tab.c" /* yacc.c:1646 */
7946 break;
7947
7948 case 212:
7949 #line 2314 "pars.yacc" /* yacc.c:1646 */
7950 {
7951 set_parser_gno((yyvsp[0].ival));
7952 }
7953 #line 7954 "y.tab.c" /* yacc.c:1646 */
7954 break;
7955
7956 case 213:
7957 #line 2317 "pars.yacc" /* yacc.c:1646 */
7958 {
7959 set_parser_setno((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
7960 }
7961 #line 7962 "y.tab.c" /* yacc.c:1646 */
7962 break;
7963
7964 case 214:
7965 #line 2322 "pars.yacc" /* yacc.c:1646 */
7966 {
7967 set_hotlink((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, 1, (yyvsp[0].sval), (yyvsp[-1].ival));
7968 xfree((yyvsp[0].sval));
7969 }
7970 #line 7971 "y.tab.c" /* yacc.c:1646 */
7971 break;
7972
7973 case 215:
7974 #line 2326 "pars.yacc" /* yacc.c:1646 */
7975 {
7976 set_hotlink((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival), NULL, 0);
7977 }
7978 #line 7979 "y.tab.c" /* yacc.c:1646 */
7979 break;
7980
7981 case 216:
7982 #line 2331 "pars.yacc" /* yacc.c:1646 */
7983 {
7984 curbox = next_box();
7985 }
7986 #line 7987 "y.tab.c" /* yacc.c:1646 */
7987 break;
7988
7989 case 217:
7990 #line 2334 "pars.yacc" /* yacc.c:1646 */
7991 {
7992 int no = (yyvsp[0].ival);
7993 if (is_valid_box(no) ||
7994 realloc_boxes(no + 1) == RETURN_SUCCESS) {
7995 curbox = no;
7996 }
7997 }
7998 #line 7999 "y.tab.c" /* yacc.c:1646 */
7999 break;
8000
8001 case 218:
8002 #line 2341 "pars.yacc" /* yacc.c:1646 */
8003 {
8004 if (!is_valid_box(curbox)) {
8005 yyerror("Box not active");
8006 } else {
8007 boxes[curbox].active = (yyvsp[0].ival);
8008 }
8009 }
8010 #line 8011 "y.tab.c" /* yacc.c:1646 */
8011 break;
8012
8013 case 219:
8014 #line 2348 "pars.yacc" /* yacc.c:1646 */
8015 {
8016 if (!is_valid_box(curbox)) {
8017 yyerror("Box not active");
8018 } else {
8019 boxes[curbox].gno = (yyvsp[0].ival);
8020 }
8021 }
8022 #line 8023 "y.tab.c" /* yacc.c:1646 */
8023 break;
8024
8025 case 220:
8026 #line 2355 "pars.yacc" /* yacc.c:1646 */
8027 {
8028 if (!is_valid_box(curbox)) {
8029 yyerror("Box not active");
8030 } else {
8031 boxes[curbox].x1 = (yyvsp[-6].dval);
8032 boxes[curbox].y1 = (yyvsp[-4].dval);
8033 boxes[curbox].x2 = (yyvsp[-2].dval);
8034 boxes[curbox].y2 = (yyvsp[0].dval);
8035 }
8036 }
8037 #line 8038 "y.tab.c" /* yacc.c:1646 */
8038 break;
8039
8040 case 221:
8041 #line 2365 "pars.yacc" /* yacc.c:1646 */
8042 {
8043 box_loctype = (yyvsp[0].ival);
8044 }
8045 #line 8046 "y.tab.c" /* yacc.c:1646 */
8046 break;
8047
8048 case 222:
8049 #line 2368 "pars.yacc" /* yacc.c:1646 */
8050 {
8051 box_lines = (yyvsp[0].ival);
8052 }
8053 #line 8054 "y.tab.c" /* yacc.c:1646 */
8054 break;
8055
8056 case 223:
8057 #line 2371 "pars.yacc" /* yacc.c:1646 */
8058 {
8059 box_linew = (yyvsp[0].dval);
8060 }
8061 #line 8062 "y.tab.c" /* yacc.c:1646 */
8062 break;
8063
8064 case 224:
8065 #line 2374 "pars.yacc" /* yacc.c:1646 */
8066 {
8067 box_color = (yyvsp[0].ival);
8068 }
8069 #line 8070 "y.tab.c" /* yacc.c:1646 */
8070 break;
8071
8072 case 225:
8073 #line 2377 "pars.yacc" /* yacc.c:1646 */
8074 {
8075 box_fillcolor = (yyvsp[0].ival);
8076 }
8077 #line 8078 "y.tab.c" /* yacc.c:1646 */
8078 break;
8079
8080 case 226:
8081 #line 2380 "pars.yacc" /* yacc.c:1646 */
8082 {
8083 box_fillpat = (yyvsp[0].ival);
8084 }
8085 #line 8086 "y.tab.c" /* yacc.c:1646 */
8086 break;
8087
8088 case 227:
8089 #line 2383 "pars.yacc" /* yacc.c:1646 */
8090 {
8091 if (!is_valid_box(curbox)) {
8092 yyerror("Box not active");
8093 } else {
8094 boxes[curbox].lines = box_lines;
8095 boxes[curbox].linew = box_linew;
8096 boxes[curbox].color = box_color;
8097 if (get_project_version() <= 40102) {
8098 switch (filltype_obs) {
8099 case COLOR:
8100 boxes[curbox].fillcolor = box_fillcolor;
8101 boxes[curbox].fillpattern = 1;
8102 break;
8103 case PATTERN:
8104 boxes[curbox].fillcolor = 1;
8105 boxes[curbox].fillpattern = box_fillpat;
8106 break;
8107 default: /* NONE */
8108 boxes[curbox].fillcolor = box_fillcolor;
8109 boxes[curbox].fillpattern = 0;
8110 break;
8111 }
8112 } else {
8113 boxes[curbox].fillcolor = box_fillcolor;
8114 boxes[curbox].fillpattern = box_fillpat;
8115 }
8116 boxes[curbox].loctype = box_loctype;
8117 }
8118 }
8119 #line 8120 "y.tab.c" /* yacc.c:1646 */
8120 break;
8121
8122 case 228:
8123 #line 2414 "pars.yacc" /* yacc.c:1646 */
8124 {
8125 curellipse = next_ellipse();
8126 }
8127 #line 8128 "y.tab.c" /* yacc.c:1646 */
8128 break;
8129
8130 case 229:
8131 #line 2417 "pars.yacc" /* yacc.c:1646 */
8132 {
8133 int no = (yyvsp[0].ival);
8134 if (is_valid_ellipse(no) ||
8135 realloc_ellipses(no + 1) == RETURN_SUCCESS) {
8136 curellipse = no;
8137 }
8138 }
8139 #line 8140 "y.tab.c" /* yacc.c:1646 */
8140 break;
8141
8142 case 230:
8143 #line 2424 "pars.yacc" /* yacc.c:1646 */
8144 {
8145 if (!is_valid_ellipse(curellipse)) {
8146 yyerror("Ellipse not active");
8147 } else {
8148 ellip[curellipse].active = (yyvsp[0].ival);
8149 }
8150 }
8151 #line 8152 "y.tab.c" /* yacc.c:1646 */
8152 break;
8153
8154 case 231:
8155 #line 2431 "pars.yacc" /* yacc.c:1646 */
8156 {
8157 if (!is_valid_ellipse(curellipse)) {
8158 yyerror("Ellipse not active");
8159 } else {
8160 ellip[curellipse].gno = (yyvsp[0].ival);
8161 }
8162 }
8163 #line 8164 "y.tab.c" /* yacc.c:1646 */
8164 break;
8165
8166 case 232:
8167 #line 2438 "pars.yacc" /* yacc.c:1646 */
8168 {
8169 if (!is_valid_ellipse(curellipse)) {
8170 yyerror("Ellipse not active");
8171 } else {
8172 ellip[curellipse].x1 = (yyvsp[-6].dval);
8173 ellip[curellipse].y1 = (yyvsp[-4].dval);
8174 ellip[curellipse].x2 = (yyvsp[-2].dval);
8175 ellip[curellipse].y2 = (yyvsp[0].dval);
8176 }
8177 }
8178 #line 8179 "y.tab.c" /* yacc.c:1646 */
8179 break;
8180
8181 case 233:
8182 #line 2448 "pars.yacc" /* yacc.c:1646 */
8183 {
8184 ellipse_loctype = (yyvsp[0].ival);
8185 }
8186 #line 8187 "y.tab.c" /* yacc.c:1646 */
8187 break;
8188
8189 case 234:
8190 #line 2451 "pars.yacc" /* yacc.c:1646 */
8191 {
8192 ellipse_lines = (yyvsp[0].ival);
8193 }
8194 #line 8195 "y.tab.c" /* yacc.c:1646 */
8195 break;
8196
8197 case 235:
8198 #line 2454 "pars.yacc" /* yacc.c:1646 */
8199 {
8200 ellipse_linew = (yyvsp[0].dval);
8201 }
8202 #line 8203 "y.tab.c" /* yacc.c:1646 */
8203 break;
8204
8205 case 236:
8206 #line 2457 "pars.yacc" /* yacc.c:1646 */
8207 {
8208 ellipse_color = (yyvsp[0].ival);
8209 }
8210 #line 8211 "y.tab.c" /* yacc.c:1646 */
8211 break;
8212
8213 case 237:
8214 #line 2460 "pars.yacc" /* yacc.c:1646 */
8215 {
8216 ellipse_fillcolor = (yyvsp[0].ival);
8217 }
8218 #line 8219 "y.tab.c" /* yacc.c:1646 */
8219 break;
8220
8221 case 238:
8222 #line 2463 "pars.yacc" /* yacc.c:1646 */
8223 {
8224 ellipse_fillpat = (yyvsp[0].ival);
8225 }
8226 #line 8227 "y.tab.c" /* yacc.c:1646 */
8227 break;
8228
8229 case 239:
8230 #line 2466 "pars.yacc" /* yacc.c:1646 */
8231 {
8232 if (!is_valid_ellipse(curellipse)) {
8233 yyerror("Ellipse not active");
8234 } else {
8235 ellip[curellipse].lines = ellipse_lines;
8236 ellip[curellipse].linew = ellipse_linew;
8237 ellip[curellipse].color = ellipse_color;
8238 if (get_project_version() <= 40102) {
8239 switch (filltype_obs) {
8240 case COLOR:
8241 ellip[curellipse].fillcolor = ellipse_fillcolor;
8242 ellip[curellipse].fillpattern = 1;
8243 break;
8244 case PATTERN:
8245 ellip[curellipse].fillcolor = 1;
8246 ellip[curellipse].fillpattern = ellipse_fillpat;
8247 break;
8248 default: /* NONE */
8249 ellip[curellipse].fillcolor = ellipse_fillcolor;
8250 ellip[curellipse].fillpattern = 0;
8251 break;
8252 }
8253 } else {
8254 ellip[curellipse].fillcolor = ellipse_fillcolor;
8255 ellip[curellipse].fillpattern = ellipse_fillpat;
8256 }
8257 ellip[curellipse].loctype = ellipse_loctype;
8258 }
8259 }
8260 #line 8261 "y.tab.c" /* yacc.c:1646 */
8261 break;
8262
8263 case 240:
8264 #line 2497 "pars.yacc" /* yacc.c:1646 */
8265 {
8266 curline = next_line();
8267 }
8268 #line 8269 "y.tab.c" /* yacc.c:1646 */
8269 break;
8270
8271 case 241:
8272 #line 2500 "pars.yacc" /* yacc.c:1646 */
8273 {
8274 int no = (yyvsp[0].ival);
8275 if (is_valid_line(no) ||
8276 realloc_lines(no + 1) == RETURN_SUCCESS) {
8277 curline = no;
8278 }
8279 }
8280 #line 8281 "y.tab.c" /* yacc.c:1646 */
8281 break;
8282
8283 case 242:
8284 #line 2507 "pars.yacc" /* yacc.c:1646 */
8285 {
8286 if (!is_valid_line(curline)) {
8287 yyerror("Line not active");
8288 } else {
8289 lines[curline].active = (yyvsp[0].ival);
8290 }
8291 }
8292 #line 8293 "y.tab.c" /* yacc.c:1646 */
8293 break;
8294
8295 case 243:
8296 #line 2514 "pars.yacc" /* yacc.c:1646 */
8297 {
8298 if (!is_valid_line(curline)) {
8299 yyerror("Line not active");
8300 } else {
8301 lines[curline].gno = (yyvsp[0].ival);
8302 }
8303 }
8304 #line 8305 "y.tab.c" /* yacc.c:1646 */
8305 break;
8306
8307 case 244:
8308 #line 2521 "pars.yacc" /* yacc.c:1646 */
8309 {
8310 if (!is_valid_line(curline)) {
8311 yyerror("Line not active");
8312 } else {
8313 lines[curline].x1 = (yyvsp[-6].dval);
8314 lines[curline].y1 = (yyvsp[-4].dval);
8315 lines[curline].x2 = (yyvsp[-2].dval);
8316 lines[curline].y2 = (yyvsp[0].dval);
8317 }
8318 }
8319 #line 8320 "y.tab.c" /* yacc.c:1646 */
8320 break;
8321
8322 case 245:
8323 #line 2531 "pars.yacc" /* yacc.c:1646 */
8324 {
8325 line_loctype = (yyvsp[0].ival);
8326 }
8327 #line 8328 "y.tab.c" /* yacc.c:1646 */
8328 break;
8329
8330 case 246:
8331 #line 2534 "pars.yacc" /* yacc.c:1646 */
8332 {
8333 line_linew = (yyvsp[0].dval);
8334 }
8335 #line 8336 "y.tab.c" /* yacc.c:1646 */
8336 break;
8337
8338 case 247:
8339 #line 2537 "pars.yacc" /* yacc.c:1646 */
8340 {
8341 line_lines = (yyvsp[0].ival);
8342 }
8343 #line 8344 "y.tab.c" /* yacc.c:1646 */
8344 break;
8345
8346 case 248:
8347 #line 2540 "pars.yacc" /* yacc.c:1646 */
8348 {
8349 line_color = (yyvsp[0].ival);
8350 }
8351 #line 8352 "y.tab.c" /* yacc.c:1646 */
8352 break;
8353
8354 case 249:
8355 #line 2543 "pars.yacc" /* yacc.c:1646 */
8356 {
8357 line_arrow_end = (yyvsp[0].ival);
8358 }
8359 #line 8360 "y.tab.c" /* yacc.c:1646 */
8360 break;
8361
8362 case 250:
8363 #line 2546 "pars.yacc" /* yacc.c:1646 */
8364 {
8365 line_asize = (yyvsp[0].dval);
8366 }
8367 #line 8368 "y.tab.c" /* yacc.c:1646 */
8368 break;
8369
8370 case 251:
8371 #line 2549 "pars.yacc" /* yacc.c:1646 */
8372 {
8373 line_atype = (yyvsp[0].ival);
8374 }
8375 #line 8376 "y.tab.c" /* yacc.c:1646 */
8376 break;
8377
8378 case 252:
8379 #line 2552 "pars.yacc" /* yacc.c:1646 */
8380 {
8381 line_a_dL_ff = (yyvsp[-2].dval);
8382 line_a_lL_ff = (yyvsp[0].dval);
8383 }
8384 #line 8385 "y.tab.c" /* yacc.c:1646 */
8385 break;
8386
8387 case 253:
8388 #line 2556 "pars.yacc" /* yacc.c:1646 */
8389 {
8390 if (!is_valid_line(curline)) {
8391 yyerror("Line not active");
8392 } else {
8393 lines[curline].lines = line_lines;
8394 lines[curline].linew = line_linew;
8395 lines[curline].color = line_color;
8396 lines[curline].arrow_end = line_arrow_end;
8397 lines[curline].arrow.length = line_asize;
8398 lines[curline].arrow.type = line_atype;
8399 lines[curline].arrow.dL_ff = line_a_dL_ff;
8400 lines[curline].arrow.lL_ff = line_a_lL_ff;
8401 lines[curline].loctype = line_loctype;
8402 }
8403 }
8404 #line 8405 "y.tab.c" /* yacc.c:1646 */
8405 break;
8406
8407 case 254:
8408 #line 2573 "pars.yacc" /* yacc.c:1646 */
8409 {
8410 curstring = next_string();
8411 }
8412 #line 8413 "y.tab.c" /* yacc.c:1646 */
8413 break;
8414
8415 case 255:
8416 #line 2576 "pars.yacc" /* yacc.c:1646 */
8417 {
8418 int no = (yyvsp[0].ival);
8419 if (is_valid_string(no) ||
8420 realloc_strings(no + 1) == RETURN_SUCCESS) {
8421 curstring = no;
8422 }
8423 }
8424 #line 8425 "y.tab.c" /* yacc.c:1646 */
8425 break;
8426
8427 case 256:
8428 #line 2583 "pars.yacc" /* yacc.c:1646 */
8429 {
8430 if (!is_valid_string(curstring)) {
8431 yyerror("String not active");
8432 } else {
8433 pstr[curstring].active = (yyvsp[0].ival);
8434 }
8435 }
8436 #line 8437 "y.tab.c" /* yacc.c:1646 */
8437 break;
8438
8439 case 257:
8440 #line 2590 "pars.yacc" /* yacc.c:1646 */
8441 {
8442 if (!is_valid_string(curstring)) {
8443 yyerror("String not active");
8444 } else {
8445 pstr[curstring].gno = (yyvsp[0].ival);
8446 }
8447 }
8448 #line 8449 "y.tab.c" /* yacc.c:1646 */
8449 break;
8450
8451 case 258:
8452 #line 2597 "pars.yacc" /* yacc.c:1646 */
8453 {
8454 if (!is_valid_string(curstring)) {
8455 yyerror("String not active");
8456 } else {
8457 pstr[curstring].x = (yyvsp[-2].dval);
8458 pstr[curstring].y = (yyvsp[0].dval);
8459 }
8460 }
8461 #line 8462 "y.tab.c" /* yacc.c:1646 */
8462 break;
8463
8464 case 259:
8465 #line 2605 "pars.yacc" /* yacc.c:1646 */
8466 {
8467 string_loctype = (yyvsp[0].ival);
8468 }
8469 #line 8470 "y.tab.c" /* yacc.c:1646 */
8470 break;
8471
8472 case 260:
8473 #line 2608 "pars.yacc" /* yacc.c:1646 */
8474 {
8475 string_color = (yyvsp[0].ival);
8476 }
8477 #line 8478 "y.tab.c" /* yacc.c:1646 */
8478 break;
8479
8480 case 261:
8481 #line 2611 "pars.yacc" /* yacc.c:1646 */
8482 {
8483 string_rot = (yyvsp[0].ival);
8484 }
8485 #line 8486 "y.tab.c" /* yacc.c:1646 */
8486 break;
8487
8488 case 262:
8489 #line 2614 "pars.yacc" /* yacc.c:1646 */
8490 {
8491 string_font = (yyvsp[0].ival);
8492 }
8493 #line 8494 "y.tab.c" /* yacc.c:1646 */
8494 break;
8495
8496 case 263:
8497 #line 2617 "pars.yacc" /* yacc.c:1646 */
8498 {
8499 string_just = (yyvsp[0].ival);
8500 }
8501 #line 8502 "y.tab.c" /* yacc.c:1646 */
8502 break;
8503
8504 case 264:
8505 #line 2620 "pars.yacc" /* yacc.c:1646 */
8506 {
8507 string_size = (yyvsp[0].dval);
8508 }
8509 #line 8510 "y.tab.c" /* yacc.c:1646 */
8510 break;
8511
8512 case 265:
8513 #line 2623 "pars.yacc" /* yacc.c:1646 */
8514 {
8515 if (!is_valid_string(curstring)) {
8516 yyerror("String not active");
8517 } else {
8518 set_plotstr_string(&pstr[curstring], (yyvsp[0].sval));
8519 pstr[curstring].color = string_color;
8520 pstr[curstring].font = string_font;
8521 pstr[curstring].just = string_just;
8522 pstr[curstring].loctype = string_loctype;
8523 pstr[curstring].rot = string_rot;
8524 pstr[curstring].charsize = string_size;
8525 }
8526 xfree((yyvsp[0].sval));
8527 }
8528 #line 8529 "y.tab.c" /* yacc.c:1646 */
8529 break;
8530
8531 case 266:
8532 #line 2639 "pars.yacc" /* yacc.c:1646 */
8533 {
8534 timestamp.active = (yyvsp[0].ival);
8535 }
8536 #line 8537 "y.tab.c" /* yacc.c:1646 */
8537 break;
8538
8539 case 267:
8540 #line 2642 "pars.yacc" /* yacc.c:1646 */
8541 {
8542 timestamp.font = (yyvsp[0].ival);
8543 }
8544 #line 8545 "y.tab.c" /* yacc.c:1646 */
8545 break;
8546
8547 case 268:
8548 #line 2645 "pars.yacc" /* yacc.c:1646 */
8549 {
8550 timestamp.charsize = (yyvsp[0].dval);
8551 }
8552 #line 8553 "y.tab.c" /* yacc.c:1646 */
8553 break;
8554
8555 case 269:
8556 #line 2648 "pars.yacc" /* yacc.c:1646 */
8557 {
8558 timestamp.rot = (yyvsp[0].ival);
8559 }
8560 #line 8561 "y.tab.c" /* yacc.c:1646 */
8561 break;
8562
8563 case 270:
8564 #line 2651 "pars.yacc" /* yacc.c:1646 */
8565 {
8566 timestamp.color = (yyvsp[0].ival);
8567 }
8568 #line 8569 "y.tab.c" /* yacc.c:1646 */
8569 break;
8570
8571 case 271:
8572 #line 2654 "pars.yacc" /* yacc.c:1646 */
8573 {
8574 timestamp.x = (yyvsp[-2].dval);
8575 timestamp.y = (yyvsp[0].dval);
8576 }
8577 #line 8578 "y.tab.c" /* yacc.c:1646 */
8578 break;
8579
8580 case 272:
8581 #line 2658 "pars.yacc" /* yacc.c:1646 */
8582 {
8583 set_plotstr_string(×tamp, (yyvsp[0].sval));
8584 xfree((yyvsp[0].sval));
8585 }
8586 #line 8587 "y.tab.c" /* yacc.c:1646 */
8587 break;
8588
8589 case 273:
8590 #line 2664 "pars.yacc" /* yacc.c:1646 */
8591 {
8592 grdefaults.lines = (yyvsp[0].ival);
8593 box_lines = ellipse_lines = line_lines = (yyvsp[0].ival);
8594 }
8595 #line 8596 "y.tab.c" /* yacc.c:1646 */
8596 break;
8597
8598 case 274:
8599 #line 2668 "pars.yacc" /* yacc.c:1646 */
8600 {
8601 grdefaults.linew = (yyvsp[0].dval);
8602 box_linew = ellipse_linew = line_linew = (yyvsp[0].dval);
8603 }
8604 #line 8605 "y.tab.c" /* yacc.c:1646 */
8605 break;
8606
8607 case 275:
8608 #line 2672 "pars.yacc" /* yacc.c:1646 */
8609 {
8610 grdefaults.color = (yyvsp[0].ival);
8611 box_color = ellipse_color = line_color = string_color = (yyvsp[0].ival);
8612 }
8613 #line 8614 "y.tab.c" /* yacc.c:1646 */
8614 break;
8615
8616 case 276:
8617 #line 2676 "pars.yacc" /* yacc.c:1646 */
8618 {
8619 grdefaults.pattern = (yyvsp[0].ival);
8620 }
8621 #line 8622 "y.tab.c" /* yacc.c:1646 */
8622 break;
8623
8624 case 277:
8625 #line 2679 "pars.yacc" /* yacc.c:1646 */
8626 {
8627 grdefaults.charsize = (yyvsp[0].dval);
8628 string_size = (yyvsp[0].dval);
8629 }
8630 #line 8631 "y.tab.c" /* yacc.c:1646 */
8631 break;
8632
8633 case 278:
8634 #line 2683 "pars.yacc" /* yacc.c:1646 */
8635 {
8636 grdefaults.font = (yyvsp[0].ival);
8637 string_font = (yyvsp[0].ival);
8638 }
8639 #line 8640 "y.tab.c" /* yacc.c:1646 */
8640 break;
8641
8642 case 279:
8643 #line 2687 "pars.yacc" /* yacc.c:1646 */
8644 {
8645 grdefaults.symsize = (yyvsp[0].dval);
8646 }
8647 #line 8648 "y.tab.c" /* yacc.c:1646 */
8648 break;
8649
8650 case 280:
8651 #line 2690 "pars.yacc" /* yacc.c:1646 */
8652 {
8653 strcpy(sformat, (yyvsp[0].sval));
8654 xfree((yyvsp[0].sval));
8655 }
8656 #line 8657 "y.tab.c" /* yacc.c:1646 */
8657 break;
8658
8659 case 281:
8660 #line 2694 "pars.yacc" /* yacc.c:1646 */
8661 {
8662 if ((map_font_by_name((yyvsp[-2].sval), (yyvsp[-4].ival)) != RETURN_SUCCESS) &&
8663 (map_font_by_name((yyvsp[0].sval), (yyvsp[-4].ival)) != RETURN_SUCCESS)) {
8664 errmsg("Failed mapping a font");
8665 }
8666 xfree((yyvsp[-2].sval));
8667 xfree((yyvsp[0].sval));
8668 }
8669 #line 8670 "y.tab.c" /* yacc.c:1646 */
8670 break;
8671
8672 case 282:
8673 #line 2702 "pars.yacc" /* yacc.c:1646 */
8674 {
8675 CMap_entry cmap;
8676 cmap.rgb.red = (yyvsp[-7].ival);
8677 cmap.rgb.green = (yyvsp[-5].ival);
8678 cmap.rgb.blue = (yyvsp[-3].ival);
8679 cmap.ctype = COLOR_MAIN;
8680 cmap.cname = (yyvsp[0].sval);
8681 if (store_color((yyvsp[-10].ival), cmap) == RETURN_FAILURE) {
8682 errmsg("Failed mapping a color");
8683 }
8684 xfree((yyvsp[0].sval));
8685 }
8686 #line 8687 "y.tab.c" /* yacc.c:1646 */
8687 break;
8688
8689 case 283:
8690 #line 2715 "pars.yacc" /* yacc.c:1646 */
8691 {
8692 if (!is_valid_gno(whichgraph)) {
8693 yyerror("No valid graph selected");
8694 return 1;
8695 }
8696 g[whichgraph].w.xg1 = (yyvsp[-6].dval);
8697 g[whichgraph].w.yg1 = (yyvsp[-4].dval);
8698 g[whichgraph].w.xg2 = (yyvsp[-2].dval);
8699 g[whichgraph].w.yg2 = (yyvsp[0].dval);
8700 }
8701 #line 8702 "y.tab.c" /* yacc.c:1646 */
8702 break;
8703
8704 case 284:
8705 #line 2725 "pars.yacc" /* yacc.c:1646 */
8706 {
8707 set_graph_znorm(whichgraph, (yyvsp[0].dval));
8708 }
8709 #line 8710 "y.tab.c" /* yacc.c:1646 */
8710 break;
8711
8712 case 285:
8713 #line 2728 "pars.yacc" /* yacc.c:1646 */
8714 {
8715 if (!is_valid_gno(whichgraph)) {
8716 yyerror("No valid graph selected");
8717 return 1;
8718 }
8719 g[whichgraph].v.xv1 = (yyvsp[-6].dval);
8720 g[whichgraph].v.yv1 = (yyvsp[-4].dval);
8721 g[whichgraph].v.xv2 = (yyvsp[-2].dval);
8722 g[whichgraph].v.yv2 = (yyvsp[0].dval);
8723 }
8724 #line 8725 "y.tab.c" /* yacc.c:1646 */
8725 break;
8726
8727 case 286:
8728 #line 2738 "pars.yacc" /* yacc.c:1646 */
8729 {
8730 if (!is_valid_gno(whichgraph)) {
8731 yyerror("No valid graph selected");
8732 return 1;
8733 }
8734 set_plotstr_string(&g[whichgraph].labs.title, (yyvsp[0].sval));
8735 xfree((yyvsp[0].sval));
8736 }
8737 #line 8738 "y.tab.c" /* yacc.c:1646 */
8738 break;
8739
8740 case 287:
8741 #line 2746 "pars.yacc" /* yacc.c:1646 */
8742 {
8743 if (!is_valid_gno(whichgraph)) {
8744 yyerror("No valid graph selected");
8745 return 1;
8746 }
8747 g[whichgraph].labs.title.font = (yyvsp[0].ival);
8748 }
8749 #line 8750 "y.tab.c" /* yacc.c:1646 */
8750 break;
8751
8752 case 288:
8753 #line 2753 "pars.yacc" /* yacc.c:1646 */
8754 {
8755 if (!is_valid_gno(whichgraph)) {
8756 yyerror("No valid graph selected");
8757 return 1;
8758 }
8759 g[whichgraph].labs.title.charsize = (yyvsp[0].dval);
8760 }
8761 #line 8762 "y.tab.c" /* yacc.c:1646 */
8762 break;
8763
8764 case 289:
8765 #line 2760 "pars.yacc" /* yacc.c:1646 */
8766 {
8767 if (!is_valid_gno(whichgraph)) {
8768 yyerror("No valid graph selected");
8769 return 1;
8770 }
8771 g[whichgraph].labs.title.color = (yyvsp[0].ival);
8772 }
8773 #line 8774 "y.tab.c" /* yacc.c:1646 */
8774 break;
8775
8776 case 290:
8777 #line 2767 "pars.yacc" /* yacc.c:1646 */
8778 {
8779 if (!is_valid_gno(whichgraph)) {
8780 yyerror("No valid graph selected");
8781 return 1;
8782 }
8783 set_plotstr_string(&g[whichgraph].labs.stitle, (yyvsp[0].sval));
8784 xfree((yyvsp[0].sval));
8785 }
8786 #line 8787 "y.tab.c" /* yacc.c:1646 */
8787 break;
8788
8789 case 291:
8790 #line 2775 "pars.yacc" /* yacc.c:1646 */
8791 {
8792 if (!is_valid_gno(whichgraph)) {
8793 yyerror("No valid graph selected");
8794 return 1;
8795 }
8796 g[whichgraph].labs.stitle.font = (yyvsp[0].ival);
8797 }
8798 #line 8799 "y.tab.c" /* yacc.c:1646 */
8799 break;
8800
8801 case 292:
8802 #line 2782 "pars.yacc" /* yacc.c:1646 */
8803 {
8804 if (!is_valid_gno(whichgraph)) {
8805 yyerror("No valid graph selected");
8806 return 1;
8807 }
8808 g[whichgraph].labs.stitle.charsize = (yyvsp[0].dval);
8809 }
8810 #line 8811 "y.tab.c" /* yacc.c:1646 */
8811 break;
8812
8813 case 293:
8814 #line 2789 "pars.yacc" /* yacc.c:1646 */
8815 {
8816 if (!is_valid_gno(whichgraph)) {
8817 yyerror("No valid graph selected");
8818 return 1;
8819 }
8820 g[whichgraph].labs.stitle.color = (yyvsp[0].ival);
8821 }
8822 #line 8823 "y.tab.c" /* yacc.c:1646 */
8823 break;
8824
8825 case 294:
8826 #line 2797 "pars.yacc" /* yacc.c:1646 */
8827 {
8828 if (!is_valid_gno(whichgraph)) {
8829 yyerror("No valid graph selected");
8830 return 1;
8831 }
8832 g[whichgraph].xscale = (yyvsp[0].ival);
8833 }
8834 #line 8835 "y.tab.c" /* yacc.c:1646 */
8835 break;
8836
8837 case 295:
8838 #line 2804 "pars.yacc" /* yacc.c:1646 */
8839 {
8840 if (!is_valid_gno(whichgraph)) {
8841 yyerror("No valid graph selected");
8842 return 1;
8843 }
8844 g[whichgraph].yscale = (yyvsp[0].ival);
8845 }
8846 #line 8847 "y.tab.c" /* yacc.c:1646 */
8847 break;
8848
8849 case 296:
8850 #line 2811 "pars.yacc" /* yacc.c:1646 */
8851 {
8852 if (!is_valid_gno(whichgraph)) {
8853 yyerror("No valid graph selected");
8854 return 1;
8855 }
8856 g[whichgraph].xinvert = (yyvsp[0].ival);
8857 }
8858 #line 8859 "y.tab.c" /* yacc.c:1646 */
8859 break;
8860
8861 case 297:
8862 #line 2818 "pars.yacc" /* yacc.c:1646 */
8863 {
8864 if (!is_valid_gno(whichgraph)) {
8865 yyerror("No valid graph selected");
8866 return 1;
8867 }
8868 g[whichgraph].yinvert = (yyvsp[0].ival);
8869 }
8870 #line 8871 "y.tab.c" /* yacc.c:1646 */
8871 break;
8872
8873 case 298:
8874 #line 2825 "pars.yacc" /* yacc.c:1646 */
8875 {
8876 autoscale_onread = AUTOSCALE_NONE;
8877 }
8878 #line 8879 "y.tab.c" /* yacc.c:1646 */
8879 break;
8880
8881 case 299:
8882 #line 2828 "pars.yacc" /* yacc.c:1646 */
8883 {
8884 autoscale_onread = AUTOSCALE_X;
8885 }
8886 #line 8887 "y.tab.c" /* yacc.c:1646 */
8887 break;
8888
8889 case 300:
8890 #line 2831 "pars.yacc" /* yacc.c:1646 */
8891 {
8892 autoscale_onread = AUTOSCALE_Y;
8893 }
8894 #line 8895 "y.tab.c" /* yacc.c:1646 */
8895 break;
8896
8897 case 301:
8898 #line 2834 "pars.yacc" /* yacc.c:1646 */
8899 {
8900 autoscale_onread = AUTOSCALE_XY;
8901 }
8902 #line 8903 "y.tab.c" /* yacc.c:1646 */
8903 break;
8904
8905 case 302:
8906 #line 2838 "pars.yacc" /* yacc.c:1646 */
8907 {
8908 char *s;
8909 s = copy_string(NULL, get_project_description());
8910 s = concat_strings(s, (yyvsp[0].sval));
8911 xfree((yyvsp[0].sval));
8912 s = concat_strings(s, "\n");
8913 set_project_description(s);
8914 xfree(s);
8915 }
8916 #line 8917 "y.tab.c" /* yacc.c:1646 */
8917 break;
8918
8919 case 303:
8920 #line 2847 "pars.yacc" /* yacc.c:1646 */
8921 {
8922 set_project_description(NULL);
8923 }
8924 #line 8925 "y.tab.c" /* yacc.c:1646 */
8925 break;
8926
8927 case 304:
8928 #line 2851 "pars.yacc" /* yacc.c:1646 */
8929 {
8930 if (!is_valid_gno(whichgraph)) {
8931 yyerror("No valid graph selected");
8932 return 1;
8933 }
8934 g[whichgraph].l.active = (yyvsp[0].ival);
8935 }
8936 #line 8937 "y.tab.c" /* yacc.c:1646 */
8937 break;
8938
8939 case 305:
8940 #line 2858 "pars.yacc" /* yacc.c:1646 */
8941 {
8942 if (!is_valid_gno(whichgraph)) {
8943 yyerror("No valid graph selected");
8944 return 1;
8945 }
8946 g[whichgraph].l.loctype = (yyvsp[0].ival);
8947 }
8948 #line 8949 "y.tab.c" /* yacc.c:1646 */
8949 break;
8950
8951 case 306:
8952 #line 2865 "pars.yacc" /* yacc.c:1646 */
8953 {
8954 if (!is_valid_gno(whichgraph)) {
8955 yyerror("No valid graph selected");
8956 return 1;
8957 }
8958 g[whichgraph].l.vgap = (yyvsp[0].ival);
8959 }
8960 #line 8961 "y.tab.c" /* yacc.c:1646 */
8961 break;
8962
8963 case 307:
8964 #line 2872 "pars.yacc" /* yacc.c:1646 */
8965 {
8966 if (!is_valid_gno(whichgraph)) {
8967 yyerror("No valid graph selected");
8968 return 1;
8969 }
8970 g[whichgraph].l.hgap = (yyvsp[0].ival);
8971 }
8972 #line 8973 "y.tab.c" /* yacc.c:1646 */
8973 break;
8974
8975 case 308:
8976 #line 2879 "pars.yacc" /* yacc.c:1646 */
8977 {
8978 if (!is_valid_gno(whichgraph)) {
8979 yyerror("No valid graph selected");
8980 return 1;
8981 }
8982 g[whichgraph].l.len = (yyvsp[0].ival);
8983 }
8984 #line 8985 "y.tab.c" /* yacc.c:1646 */
8985 break;
8986
8987 case 309:
8988 #line 2886 "pars.yacc" /* yacc.c:1646 */
8989 {
8990 if (!is_valid_gno(whichgraph)) {
8991 yyerror("No valid graph selected");
8992 return 1;
8993 }
8994 g[whichgraph].l.invert = (yyvsp[0].ival);
8995 }
8996 #line 8997 "y.tab.c" /* yacc.c:1646 */
8997 break;
8998
8999 case 310:
9000 #line 2893 "pars.yacc" /* yacc.c:1646 */
9001 {
9002 if (!is_valid_gno(whichgraph)) {
9003 yyerror("No valid graph selected");
9004 return 1;
9005 }
9006 g[whichgraph].l.boxfillpen.color = (yyvsp[0].ival);
9007 }
9008 #line 9009 "y.tab.c" /* yacc.c:1646 */
9009 break;
9010
9011 case 311:
9012 #line 2900 "pars.yacc" /* yacc.c:1646 */
9013 {
9014 if (!is_valid_gno(whichgraph)) {
9015 yyerror("No valid graph selected");
9016 return 1;
9017 }
9018 g[whichgraph].l.boxfillpen.pattern = (yyvsp[0].ival);
9019 }
9020 #line 9021 "y.tab.c" /* yacc.c:1646 */
9021 break;
9022
9023 case 312:
9024 #line 2907 "pars.yacc" /* yacc.c:1646 */
9025 {
9026 if (!is_valid_gno(whichgraph)) {
9027 yyerror("No valid graph selected");
9028 return 1;
9029 }
9030 g[whichgraph].l.boxpen.color = (yyvsp[0].ival);
9031 }
9032 #line 9033 "y.tab.c" /* yacc.c:1646 */
9033 break;
9034
9035 case 313:
9036 #line 2914 "pars.yacc" /* yacc.c:1646 */
9037 {
9038 if (!is_valid_gno(whichgraph)) {
9039 yyerror("No valid graph selected");
9040 return 1;
9041 }
9042 g[whichgraph].l.boxpen.pattern = (yyvsp[0].ival);
9043 }
9044 #line 9045 "y.tab.c" /* yacc.c:1646 */
9045 break;
9046
9047 case 314:
9048 #line 2921 "pars.yacc" /* yacc.c:1646 */
9049 {
9050 if (!is_valid_gno(whichgraph)) {
9051 yyerror("No valid graph selected");
9052 return 1;
9053 }
9054 g[whichgraph].l.boxlines = (yyvsp[0].ival);
9055 }
9056 #line 9057 "y.tab.c" /* yacc.c:1646 */
9057 break;
9058
9059 case 315:
9060 #line 2928 "pars.yacc" /* yacc.c:1646 */
9061 {
9062 if (!is_valid_gno(whichgraph)) {
9063 yyerror("No valid graph selected");
9064 return 1;
9065 }
9066 g[whichgraph].l.boxlinew = (yyvsp[0].dval);
9067 }
9068 #line 9069 "y.tab.c" /* yacc.c:1646 */
9069 break;
9070
9071 case 316:
9072 #line 2935 "pars.yacc" /* yacc.c:1646 */
9073 {
9074 if (!is_valid_gno(whichgraph)) {
9075 yyerror("No valid graph selected");
9076 return 1;
9077 }
9078 g[whichgraph].l.legx = (yyvsp[-2].dval);
9079 g[whichgraph].l.legy = (yyvsp[0].dval);
9080 }
9081 #line 9082 "y.tab.c" /* yacc.c:1646 */
9082 break;
9083
9084 case 317:
9085 #line 2943 "pars.yacc" /* yacc.c:1646 */
9086 {
9087 if (!is_valid_gno(whichgraph)) {
9088 yyerror("No valid graph selected");
9089 return 1;
9090 }
9091 g[whichgraph].l.charsize = (yyvsp[0].dval);
9092 }
9093 #line 9094 "y.tab.c" /* yacc.c:1646 */
9094 break;
9095
9096 case 318:
9097 #line 2950 "pars.yacc" /* yacc.c:1646 */
9098 {
9099 if (!is_valid_gno(whichgraph)) {
9100 yyerror("No valid graph selected");
9101 return 1;
9102 }
9103 g[whichgraph].l.font = (yyvsp[0].ival);
9104 }
9105 #line 9106 "y.tab.c" /* yacc.c:1646 */
9106 break;
9107
9108 case 319:
9109 #line 2957 "pars.yacc" /* yacc.c:1646 */
9110 {
9111 if (!is_valid_gno(whichgraph)) {
9112 yyerror("No valid graph selected");
9113 return 1;
9114 }
9115 g[whichgraph].l.color = (yyvsp[0].ival);
9116 }
9117 #line 9118 "y.tab.c" /* yacc.c:1646 */
9118 break;
9119
9120 case 320:
9121 #line 2965 "pars.yacc" /* yacc.c:1646 */
9122 {
9123 if (!is_valid_gno(whichgraph)) {
9124 yyerror("No valid graph selected");
9125 return 1;
9126 }
9127 g[whichgraph].f.pen.pattern = (yyvsp[0].ival);
9128 }
9129 #line 9130 "y.tab.c" /* yacc.c:1646 */
9130 break;
9131
9132 case 321:
9133 #line 2972 "pars.yacc" /* yacc.c:1646 */
9134 {
9135 if (!is_valid_gno(whichgraph)) {
9136 yyerror("No valid graph selected");
9137 return 1;
9138 }
9139 g[whichgraph].f.type = (yyvsp[0].ival);
9140 }
9141 #line 9142 "y.tab.c" /* yacc.c:1646 */
9142 break;
9143
9144 case 322:
9145 #line 2979 "pars.yacc" /* yacc.c:1646 */
9146 {
9147 if (!is_valid_gno(whichgraph)) {
9148 yyerror("No valid graph selected");
9149 return 1;
9150 }
9151 g[whichgraph].f.lines = (yyvsp[0].ival);
9152 }
9153 #line 9154 "y.tab.c" /* yacc.c:1646 */
9154 break;
9155
9156 case 323:
9157 #line 2986 "pars.yacc" /* yacc.c:1646 */
9158 {
9159 if (!is_valid_gno(whichgraph)) {
9160 yyerror("No valid graph selected");
9161 return 1;
9162 }
9163 g[whichgraph].f.linew = (yyvsp[0].dval);
9164 }
9165 #line 9166 "y.tab.c" /* yacc.c:1646 */
9166 break;
9167
9168 case 324:
9169 #line 2993 "pars.yacc" /* yacc.c:1646 */
9170 {
9171 if (!is_valid_gno(whichgraph)) {
9172 yyerror("No valid graph selected");
9173 return 1;
9174 }
9175 g[whichgraph].f.pen.color = (yyvsp[0].ival);
9176 }
9177 #line 9178 "y.tab.c" /* yacc.c:1646 */
9178 break;
9179
9180 case 325:
9181 #line 3000 "pars.yacc" /* yacc.c:1646 */
9182 {
9183 if (!is_valid_gno(whichgraph)) {
9184 yyerror("No valid graph selected");
9185 return 1;
9186 }
9187 g[whichgraph].f.pen.pattern = (yyvsp[0].ival);
9188 }
9189 #line 9190 "y.tab.c" /* yacc.c:1646 */
9190 break;
9191
9192 case 326:
9193 #line 3008 "pars.yacc" /* yacc.c:1646 */
9194 {
9195 if (!is_valid_gno(whichgraph)) {
9196 yyerror("No valid graph selected");
9197 return 1;
9198 }
9199 g[whichgraph].f.fillpen.color = (yyvsp[0].ival);
9200 }
9201 #line 9202 "y.tab.c" /* yacc.c:1646 */
9202 break;
9203
9204 case 327:
9205 #line 3016 "pars.yacc" /* yacc.c:1646 */
9206 {
9207 if (!is_valid_gno(whichgraph)) {
9208 yyerror("No valid graph selected");
9209 return 1;
9210 }
9211 g[whichgraph].f.fillpen.pattern = (yyvsp[0].ival);
9212 }
9213 #line 9214 "y.tab.c" /* yacc.c:1646 */
9214 break;
9215
9216 case 328:
9217 #line 3024 "pars.yacc" /* yacc.c:1646 */
9218 {
9219 set_graph_hidden((yyvsp[-1].ival), !(yyvsp[0].ival));
9220 }
9221 #line 9222 "y.tab.c" /* yacc.c:1646 */
9222 break;
9223
9224 case 329:
9225 #line 3027 "pars.yacc" /* yacc.c:1646 */
9226 {
9227 set_graph_hidden((yyvsp[-2].ival), (yyvsp[0].ival));
9228 }
9229 #line 9230 "y.tab.c" /* yacc.c:1646 */
9230 break;
9231
9232 case 330:
9233 #line 3030 "pars.yacc" /* yacc.c:1646 */
9234 {
9235 set_graph_type((yyvsp[-2].ival), (yyvsp[0].ival));
9236 }
9237 #line 9238 "y.tab.c" /* yacc.c:1646 */
9238 break;
9239
9240 case 331:
9241 #line 3033 "pars.yacc" /* yacc.c:1646 */
9242 {
9243 set_graph_stacked((yyvsp[-2].ival), (yyvsp[0].ival));
9244 }
9245 #line 9246 "y.tab.c" /* yacc.c:1646 */
9246 break;
9247
9248 case 332:
9249 #line 3037 "pars.yacc" /* yacc.c:1646 */
9250 {
9251 set_graph_bargap((yyvsp[-3].ival), (yyvsp[0].dval));
9252 }
9253 #line 9254 "y.tab.c" /* yacc.c:1646 */
9254 break;
9255
9256 case 333:
9257 #line 3041 "pars.yacc" /* yacc.c:1646 */
9258 {
9259 g[(yyvsp[-2].ival)].locator.pointset = (yyvsp[0].ival);
9260 }
9261 #line 9262 "y.tab.c" /* yacc.c:1646 */
9262 break;
9263
9264 case 334:
9265 #line 3044 "pars.yacc" /* yacc.c:1646 */
9266 {
9267 g[(yyvsp[-4].ival)].locator.fx = (yyvsp[-1].ival);
9268 g[(yyvsp[-4].ival)].locator.fy = (yyvsp[0].ival);
9269 }
9270 #line 9271 "y.tab.c" /* yacc.c:1646 */
9271 break;
9272
9273 case 335:
9274 #line 3048 "pars.yacc" /* yacc.c:1646 */
9275 {
9276 g[(yyvsp[-5].ival)].locator.px = (yyvsp[-2].dval);
9277 g[(yyvsp[-5].ival)].locator.py = (yyvsp[0].dval);
9278 }
9279 #line 9280 "y.tab.c" /* yacc.c:1646 */
9280 break;
9281
9282 case 336:
9283 #line 3052 "pars.yacc" /* yacc.c:1646 */
9284 {
9285 g[(yyvsp[-5].ival)].locator.dsx = (yyvsp[-2].dval);
9286 g[(yyvsp[-5].ival)].locator.dsy = (yyvsp[0].dval);
9287 }
9288 #line 9289 "y.tab.c" /* yacc.c:1646 */
9289 break;
9290
9291 case 337:
9292 #line 3056 "pars.yacc" /* yacc.c:1646 */
9293 {
9294 g[(yyvsp[-3].ival)].locator.pt_type = (yyvsp[0].ival);
9295 }
9296 #line 9297 "y.tab.c" /* yacc.c:1646 */
9297 break;
9298
9299 case 338:
9300 #line 3060 "pars.yacc" /* yacc.c:1646 */
9301 {
9302 curtype = (yyvsp[0].ival);
9303 }
9304 #line 9305 "y.tab.c" /* yacc.c:1646 */
9305 break;
9306
9307 case 339:
9308 #line 3065 "pars.yacc" /* yacc.c:1646 */
9309 {
9310 if (add_io_filter((yyvsp[-3].ival), (yyvsp[-1].ival), (yyvsp[0].sval), (yyvsp[-2].sval)) != 0) {
9311 yyerror("Failed adding i/o filter");
9312 }
9313 xfree((yyvsp[-2].sval));
9314 xfree((yyvsp[0].sval));
9315 }
9316 #line 9317 "y.tab.c" /* yacc.c:1646 */
9317 break;
9318
9319 case 340:
9320 #line 3072 "pars.yacc" /* yacc.c:1646 */
9321 {
9322 clear_io_filters((yyvsp[0].ival));
9323 }
9324 #line 9325 "y.tab.c" /* yacc.c:1646 */
9325 break;
9326
9327 case 341:
9328 #line 3076 "pars.yacc" /* yacc.c:1646 */
9329 {
9330 cursource = (yyvsp[0].ival);
9331 }
9332 #line 9333 "y.tab.c" /* yacc.c:1646 */
9333 break;
9334
9335 case 342:
9336 #line 3079 "pars.yacc" /* yacc.c:1646 */
9337 {
9338 readxformat = (yyvsp[0].ival);
9339 }
9340 #line 9341 "y.tab.c" /* yacc.c:1646 */
9341 break;
9342
9343 case 343:
9344 #line 3082 "pars.yacc" /* yacc.c:1646 */
9345 { }
9346 #line 9347 "y.tab.c" /* yacc.c:1646 */
9347 break;
9348
9349 case 344:
9350 #line 3083 "pars.yacc" /* yacc.c:1646 */
9351 {
9352 nonl_parms[(yyvsp[-2].ival)].constr = (yyvsp[0].ival);
9353 }
9354 #line 9355 "y.tab.c" /* yacc.c:1646 */
9355 break;
9356
9357 case 345:
9358 #line 3089 "pars.yacc" /* yacc.c:1646 */
9359 {
9360 drawgraph();
9361 }
9362 #line 9363 "y.tab.c" /* yacc.c:1646 */
9363 break;
9364
9365 case 346:
9366 #line 3092 "pars.yacc" /* yacc.c:1646 */
9367 {
9368 #ifndef NONE_GUI
9369 if (inwin) {
9370 update_all();
9371 }
9372 #endif
9373 }
9374 #line 9375 "y.tab.c" /* yacc.c:1646 */
9375 break;
9376
9377 case 347:
9378 #line 3099 "pars.yacc" /* yacc.c:1646 */
9379 {
9380 set_workingdir((yyvsp[0].sval));
9381 xfree((yyvsp[0].sval));
9382 }
9383 #line 9384 "y.tab.c" /* yacc.c:1646 */
9384 break;
9385
9386 case 348:
9387 #line 3103 "pars.yacc" /* yacc.c:1646 */
9388 {
9389 echomsg((yyvsp[0].sval));
9390 xfree((yyvsp[0].sval));
9391 }
9392 #line 9393 "y.tab.c" /* yacc.c:1646 */
9393 break;
9394
9395 case 349:
9396 #line 3107 "pars.yacc" /* yacc.c:1646 */
9397 {
9398 char buf[32];
9399 set_locale_num(TRUE);
9400 sprintf(buf, "%g", (yyvsp[0].dval));
9401 set_locale_num(FALSE);
9402 echomsg(buf);
9403 }
9404 #line 9405 "y.tab.c" /* yacc.c:1646 */
9405 break;
9406
9407 case 350:
9408 #line 3114 "pars.yacc" /* yacc.c:1646 */
9409 {
9410 close_input = copy_string(close_input, "");
9411 }
9412 #line 9413 "y.tab.c" /* yacc.c:1646 */
9413 break;
9414
9415 case 351:
9416 #line 3117 "pars.yacc" /* yacc.c:1646 */
9417 {
9418 close_input = copy_string(close_input, (yyvsp[0].sval));
9419 }
9420 #line 9421 "y.tab.c" /* yacc.c:1646 */
9421 break;
9422
9423 case 352:
9424 #line 3120 "pars.yacc" /* yacc.c:1646 */
9425 {
9426 exit(0);
9427 }
9428 #line 9429 "y.tab.c" /* yacc.c:1646 */
9429 break;
9430
9431 case 353:
9432 #line 3123 "pars.yacc" /* yacc.c:1646 */
9433 {
9434 exit((yyvsp[-1].ival));
9435 }
9436 #line 9437 "y.tab.c" /* yacc.c:1646 */
9437 break;
9438
9439 case 354:
9440 #line 3126 "pars.yacc" /* yacc.c:1646 */
9441 {
9442 if (!safe_mode) {
9443 do_hardcopy();
9444 } else {
9445 yyerror("File modifications are disabled in safe mode");
9446 }
9447 }
9448 #line 9449 "y.tab.c" /* yacc.c:1646 */
9449 break;
9450
9451 case 355:
9452 #line 3133 "pars.yacc" /* yacc.c:1646 */
9453 {
9454 set_ptofile(FALSE);
9455 }
9456 #line 9457 "y.tab.c" /* yacc.c:1646 */
9457 break;
9458
9459 case 356:
9460 #line 3136 "pars.yacc" /* yacc.c:1646 */
9461 {
9462 set_ptofile(TRUE);
9463 strcpy(print_file, (yyvsp[0].sval));
9464 xfree((yyvsp[0].sval));
9465 }
9466 #line 9467 "y.tab.c" /* yacc.c:1646 */
9467 break;
9468
9469 case 357:
9470 #line 3141 "pars.yacc" /* yacc.c:1646 */
9471 {
9472 switch ((yyvsp[0].ival)) {
9473 case UP:
9474 graph_scroll(GSCROLL_UP);
9475 break;
9476 case DOWN:
9477 graph_scroll(GSCROLL_DOWN);
9478 break;
9479 case RIGHT:
9480 graph_scroll(GSCROLL_RIGHT);
9481 break;
9482 case LEFT:
9483 graph_scroll(GSCROLL_LEFT);
9484 break;
9485 case IN:
9486 graph_zoom(GZOOM_SHRINK);
9487 break;
9488 case OUT:
9489 graph_zoom(GZOOM_EXPAND);
9490 break;
9491 }
9492 }
9493 #line 9494 "y.tab.c" /* yacc.c:1646 */
9494 break;
9495
9496 case 358:
9497 #line 3163 "pars.yacc" /* yacc.c:1646 */
9498 {
9499 if ((yyvsp[0].dval) > 0) {
9500 msleep_wrap((unsigned int) (1000 * (yyvsp[0].dval)));
9501 }
9502 }
9503 #line 9504 "y.tab.c" /* yacc.c:1646 */
9504 break;
9505
9506 case 359:
9507 #line 3168 "pars.yacc" /* yacc.c:1646 */
9508 {
9509 #ifndef NONE_GUI
9510 if (inwin) {
9511 HelpCB((yyvsp[0].sval));
9512 }
9513 xfree((yyvsp[0].sval));
9514 #endif
9515 }
9516 #line 9517 "y.tab.c" /* yacc.c:1646 */
9517 break;
9518
9519 case 360:
9520 #line 3176 "pars.yacc" /* yacc.c:1646 */
9521 {
9522 #ifndef NONE_GUI
9523 if (inwin) {
9524 HelpCB("doc/UsersGuide.html");
9525 }
9526 #endif
9527 }
9528 #line 9529 "y.tab.c" /* yacc.c:1646 */
9529 break;
9530
9531 case 361:
9532 #line 3183 "pars.yacc" /* yacc.c:1646 */
9533 {
9534 gotparams = TRUE;
9535 strcpy(paramfile, (yyvsp[0].sval));
9536 xfree((yyvsp[0].sval));
9537 }
9538 #line 9539 "y.tab.c" /* yacc.c:1646 */
9539 break;
9540
9541 case 362:
9542 #line 3188 "pars.yacc" /* yacc.c:1646 */
9543 {
9544 if (!safe_mode) {
9545 FILE *pp = grace_openw((yyvsp[0].sval));
9546 if (pp != NULL) {
9547 putparms(whichgraph, pp, 0);
9548 grace_close(pp);
9549 }
9550 } else {
9551 yyerror("File modifications are disabled in safe mode");
9552 }
9553 xfree((yyvsp[0].sval));
9554 }
9555 #line 9556 "y.tab.c" /* yacc.c:1646 */
9556 break;
9557
9558 case 363:
9559 #line 3200 "pars.yacc" /* yacc.c:1646 */
9560 {
9561 set_set_hidden((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
9562 }
9563 #line 9564 "y.tab.c" /* yacc.c:1646 */
9564 break;
9565
9566 case 364:
9567 #line 3203 "pars.yacc" /* yacc.c:1646 */
9568 {
9569 setlength((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
9570 }
9571 #line 9572 "y.tab.c" /* yacc.c:1646 */
9572 break;
9573
9574 case 365:
9575 #line 3206 "pars.yacc" /* yacc.c:1646 */
9576 {
9577 realloc_vrbl((yyvsp[-2].vrbl), (yyvsp[0].ival));
9578 }
9579 #line 9580 "y.tab.c" /* yacc.c:1646 */
9580 break;
9581
9582 case 366:
9583 #line 3209 "pars.yacc" /* yacc.c:1646 */
9584 {
9585 add_point((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, (yyvsp[-2].dval), (yyvsp[0].dval));
9586 }
9587 #line 9588 "y.tab.c" /* yacc.c:1646 */
9588 break;
9589
9590 case 367:
9591 #line 3213 "pars.yacc" /* yacc.c:1646 */
9592 {
9593 int start = (yyvsp[-2].ival) - index_shift;
9594 int stop = (yyvsp[0].ival) - index_shift;
9595 droppoints((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, start, stop);
9596 }
9597 #line 9598 "y.tab.c" /* yacc.c:1646 */
9598 break;
9599
9600 case 368:
9601 #line 3218 "pars.yacc" /* yacc.c:1646 */
9602 {
9603 if (is_set_active((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno)) {
9604 sortset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[-1].ival), (yyvsp[0].ival) == ASCENDING ? 0 : 1);
9605 }
9606 }
9607 #line 9608 "y.tab.c" /* yacc.c:1646 */
9608 break;
9609
9610 case 369:
9611 #line 3223 "pars.yacc" /* yacc.c:1646 */
9612 {
9613 do_copyset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9614 }
9615 #line 9616 "y.tab.c" /* yacc.c:1646 */
9616 break;
9617
9618 case 370:
9619 #line 3226 "pars.yacc" /* yacc.c:1646 */
9620 {
9621 if ((yyvsp[-2].trgt)->gno != (yyvsp[0].trgt)->gno) {
9622 errmsg("Can't append sets from different graphs");
9623 } else {
9624 int sets[2];
9625 sets[0] = (yyvsp[0].trgt)->setno;
9626 sets[1] = (yyvsp[-2].trgt)->setno;
9627 join_sets((yyvsp[-2].trgt)->gno, sets, 2);
9628 }
9629 }
9630 #line 9631 "y.tab.c" /* yacc.c:1646 */
9631 break;
9632
9633 case 371:
9634 #line 3236 "pars.yacc" /* yacc.c:1646 */
9635 {
9636 reverse_set((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9637 }
9638 #line 9639 "y.tab.c" /* yacc.c:1646 */
9639 break;
9640
9641 case 372:
9642 #line 3239 "pars.yacc" /* yacc.c:1646 */
9643 {
9644 do_splitsets((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, (yyvsp[0].ival));
9645 }
9646 #line 9647 "y.tab.c" /* yacc.c:1646 */
9647 break;
9648
9649 case 373:
9650 #line 3242 "pars.yacc" /* yacc.c:1646 */
9651 {
9652 do_moveset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9653 }
9654 #line 9655 "y.tab.c" /* yacc.c:1646 */
9655 break;
9656
9657 case 374:
9658 #line 3245 "pars.yacc" /* yacc.c:1646 */
9659 {
9660 do_swapset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9661 }
9662 #line 9663 "y.tab.c" /* yacc.c:1646 */
9663 break;
9664
9665 case 375:
9666 #line 3248 "pars.yacc" /* yacc.c:1646 */
9667 {
9668 killset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno);
9669 }
9670 #line 9671 "y.tab.c" /* yacc.c:1646 */
9671 break;
9672
9673 case 376:
9674 #line 3251 "pars.yacc" /* yacc.c:1646 */
9675 {
9676 killsetdata((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
9677 setcomment((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, "");
9678 }
9679 #line 9680 "y.tab.c" /* yacc.c:1646 */
9680 break;
9681
9682 case 377:
9683 #line 3255 "pars.yacc" /* yacc.c:1646 */
9684 {
9685 kill_graph((yyvsp[0].ival));
9686 }
9687 #line 9688 "y.tab.c" /* yacc.c:1646 */
9688 break;
9689
9690 case 378:
9691 #line 3258 "pars.yacc" /* yacc.c:1646 */
9692 {
9693 kill_region((yyvsp[0].ival));
9694 }
9695 #line 9696 "y.tab.c" /* yacc.c:1646 */
9696 break;
9697
9698 case 379:
9699 #line 3261 "pars.yacc" /* yacc.c:1646 */
9700 {
9701 wipeout();
9702 }
9703 #line 9704 "y.tab.c" /* yacc.c:1646 */
9704 break;
9705
9706 case 380:
9707 #line 3264 "pars.yacc" /* yacc.c:1646 */
9708 {
9709 arrange_graphs_simple((yyvsp[-9].ival), (yyvsp[-7].ival), 0, FALSE, (yyvsp[-5].dval), (yyvsp[-3].dval), (yyvsp[-1].dval));
9710 }
9711 #line 9712 "y.tab.c" /* yacc.c:1646 */
9712 break;
9713
9714 case 381:
9715 #line 3267 "pars.yacc" /* yacc.c:1646 */
9716 {
9717 int order = ((yyvsp[-5].ival) * GA_ORDER_HV_INV) |
9718 ((yyvsp[-3].ival) * GA_ORDER_H_INV ) |
9719 ((yyvsp[-1].ival) * GA_ORDER_V_INV );
9720 arrange_graphs_simple((yyvsp[-15].ival), (yyvsp[-13].ival), order, FALSE, (yyvsp[-11].dval), (yyvsp[-9].dval), (yyvsp[-7].dval));
9721 }
9722 #line 9723 "y.tab.c" /* yacc.c:1646 */
9723 break;
9724
9725 case 382:
9726 #line 3273 "pars.yacc" /* yacc.c:1646 */
9727 {
9728 int order = ((yyvsp[-7].ival) * GA_ORDER_HV_INV) |
9729 ((yyvsp[-5].ival) * GA_ORDER_H_INV ) |
9730 ((yyvsp[-3].ival) * GA_ORDER_V_INV );
9731 arrange_graphs_simple((yyvsp[-17].ival), (yyvsp[-15].ival), order, (yyvsp[-1].ival), (yyvsp[-13].dval), (yyvsp[-11].dval), (yyvsp[-9].dval));
9732 }
9733 #line 9734 "y.tab.c" /* yacc.c:1646 */
9734 break;
9735
9736 case 383:
9737 #line 3279 "pars.yacc" /* yacc.c:1646 */
9738 {
9739 gotnlfit = TRUE;
9740 nlfit_gno = (yyvsp[-3].trgt)->gno;
9741 nlfit_setno = (yyvsp[-3].trgt)->setno;
9742 nlfit_nsteps = (yyvsp[-1].ival);
9743 nlfit_warray = NULL;
9744 }
9745 #line 9746 "y.tab.c" /* yacc.c:1646 */
9746 break;
9747
9748 case 384:
9749 #line 3286 "pars.yacc" /* yacc.c:1646 */
9750 {
9751 if (getsetlength((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno) != (yyvsp[-3].vrbl)->length) {
9752 errmsg("Data and weight arrays are of different lengths");
9753 return 1;
9754 } else {
9755 gotnlfit = TRUE;
9756 nlfit_gno = (yyvsp[-5].trgt)->gno;
9757 nlfit_setno = (yyvsp[-5].trgt)->setno;
9758 nlfit_nsteps = (yyvsp[-1].ival);
9759 nlfit_warray = copy_data_column((yyvsp[-3].vrbl)->data, (yyvsp[-3].vrbl)->length);
9760 }
9761 }
9762 #line 9763 "y.tab.c" /* yacc.c:1646 */
9763 break;
9764
9765 case 385:
9766 #line 3298 "pars.yacc" /* yacc.c:1646 */
9767 {
9768 do_regress((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival), 0, -1, 0, -1);
9769 }
9770 #line 9771 "y.tab.c" /* yacc.c:1646 */
9771 break;
9772
9773 case 386:
9774 #line 3301 "pars.yacc" /* yacc.c:1646 */
9775 {
9776 do_runavg((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival), (yyvsp[-5].ival), -1, 0);
9777 }
9778 #line 9779 "y.tab.c" /* yacc.c:1646 */
9779 break;
9780
9781 case 387:
9782 #line 3304 "pars.yacc" /* yacc.c:1646 */
9783 {
9784 do_fourier_command((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-5].ival), (yyvsp[-1].ival));
9785 }
9786 #line 9787 "y.tab.c" /* yacc.c:1646 */
9787 break;
9788
9789 case 388:
9790 #line 3308 "pars.yacc" /* yacc.c:1646 */
9791 {
9792 switch ((yyvsp[-11].ival)) {
9793 case FFT_DFT:
9794 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 0, (yyvsp[-1].ival), (yyvsp[-3].ival), 0, (yyvsp[-7].ival), (yyvsp[-5].ival));
9795 break;
9796 case FFT_INVDFT :
9797 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 0, (yyvsp[-1].ival), (yyvsp[-3].ival), 1, (yyvsp[-7].ival), (yyvsp[-5].ival));
9798 break;
9799 case FFT_FFT:
9800 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 1, (yyvsp[-1].ival), (yyvsp[-3].ival), 0, (yyvsp[-7].ival), (yyvsp[-5].ival));
9801 break;
9802 case FFT_INVFFT :
9803 do_fourier((yyvsp[-9].trgt)->gno, (yyvsp[-9].trgt)->setno, 1, (yyvsp[-1].ival), (yyvsp[-3].ival), 1, (yyvsp[-7].ival), (yyvsp[-5].ival));
9804 break;
9805 default:
9806 errmsg("Internal error");
9807 break;
9808 }
9809 }
9810 #line 9811 "y.tab.c" /* yacc.c:1646 */
9811 break;
9812
9813 case 389:
9814 #line 3327 "pars.yacc" /* yacc.c:1646 */
9815 {
9816 do_interp((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, get_cg(), SET_SELECT_NEXT,
9817 (yyvsp[-5].vrbl)->data, (yyvsp[-5].vrbl)->length, (yyvsp[-3].ival), (yyvsp[-1].ival));
9818 }
9819 #line 9820 "y.tab.c" /* yacc.c:1646 */
9820 break;
9821
9822 case 390:
9823 #line 3331 "pars.yacc" /* yacc.c:1646 */
9824 {
9825 do_histo((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, get_cg(), SET_SELECT_NEXT,
9826 (yyvsp[-5].vrbl)->data, (yyvsp[-5].vrbl)->length - 1, (yyvsp[-3].ival), (yyvsp[-1].ival));
9827 }
9828 #line 9829 "y.tab.c" /* yacc.c:1646 */
9829 break;
9830
9831 case 391:
9832 #line 3335 "pars.yacc" /* yacc.c:1646 */
9833 {
9834 do_differ((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].ival));
9835 }
9836 #line 9837 "y.tab.c" /* yacc.c:1646 */
9837 break;
9838
9839 case 392:
9840 #line 3338 "pars.yacc" /* yacc.c:1646 */
9841 {
9842 do_int((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, 0);
9843 }
9844 #line 9845 "y.tab.c" /* yacc.c:1646 */
9845 break;
9846
9847 case 393:
9848 #line 3341 "pars.yacc" /* yacc.c:1646 */
9849 {
9850 do_xcor((yyvsp[-7].trgt)->gno, (yyvsp[-7].trgt)->setno, (yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno, (yyvsp[-3].ival), (yyvsp[-1].ival));
9851 }
9852 #line 9853 "y.tab.c" /* yacc.c:1646 */
9853 break;
9854
9855 case 394:
9856 #line 3344 "pars.yacc" /* yacc.c:1646 */
9857 {
9858 do_linearc((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, (yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno);
9859 }
9860 #line 9861 "y.tab.c" /* yacc.c:1646 */
9861 break;
9862
9863 case 395:
9864 #line 3347 "pars.yacc" /* yacc.c:1646 */
9865 {
9866 int len = getsetlength((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno);
9867 if (len != (yyvsp[-1].vrbl)->length) {
9868 errmsg("Filter expression is of a wrong length");
9869 } else {
9870 char *rarray;
9871 rarray = xmalloc(len*SIZEOF_CHAR);
9872 if (rarray) {
9873 int i;
9874 for (i = 0; i < len; i++) {
9875 rarray[i] = CAST_DBL_TO_BOOL((yyvsp[-1].vrbl)->data[i]);
9876 }
9877 filter_set((yyvsp[-3].trgt)->gno, (yyvsp[-3].trgt)->setno, rarray);
9878 xfree(rarray);
9879 }
9880 }
9881 }
9882 #line 9883 "y.tab.c" /* yacc.c:1646 */
9883 break;
9884
9885 case 396:
9886 #line 3364 "pars.yacc" /* yacc.c:1646 */
9887 {
9888 int rtype;
9889 char *rarray;
9890
9891 rtype = RESTRICT_REG0 + (yyvsp[-3].ival);
9892
9893 if (get_restriction_array((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno,
9894 rtype, (yyvsp[-1].ival), &rarray) != RETURN_SUCCESS) {
9895 errmsg("Error in region evaluation");
9896 return 1;
9897 } else {
9898 filter_set((yyvsp[-5].trgt)->gno, (yyvsp[-5].trgt)->setno, rarray);
9899 xfree(rarray);
9900 }
9901 }
9902 #line 9903 "y.tab.c" /* yacc.c:1646 */
9903 break;
9904
9905 case 397:
9906 #line 3379 "pars.yacc" /* yacc.c:1646 */
9907 {
9908 if (autoscale_graph(whichgraph, AUTOSCALE_XY) != RETURN_SUCCESS) {
9909 errmsg("Can't autoscale (no active sets?)");
9910 }
9911 }
9912 #line 9913 "y.tab.c" /* yacc.c:1646 */
9913 break;
9914
9915 case 398:
9916 #line 3384 "pars.yacc" /* yacc.c:1646 */
9917 {
9918 if (autoscale_graph(whichgraph, AUTOSCALE_X) != RETURN_SUCCESS) {
9919 errmsg("Can't autoscale (no active sets?)");
9920 }
9921 }
9922 #line 9923 "y.tab.c" /* yacc.c:1646 */
9923 break;
9924
9925 case 399:
9926 #line 3389 "pars.yacc" /* yacc.c:1646 */
9927 {
9928 if (autoscale_graph(whichgraph, AUTOSCALE_Y) != RETURN_SUCCESS) {
9929 errmsg("Can't autoscale (no active sets?)");
9930 }
9931 }
9932 #line 9933 "y.tab.c" /* yacc.c:1646 */
9933 break;
9934
9935 case 400:
9936 #line 3394 "pars.yacc" /* yacc.c:1646 */
9937 {
9938 autoscale_byset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno, AUTOSCALE_XY);
9939 }
9940 #line 9941 "y.tab.c" /* yacc.c:1646 */
9941 break;
9942
9943 case 401:
9944 #line 3397 "pars.yacc" /* yacc.c:1646 */
9945 {
9946 autotick_axis(whichgraph, ALL_AXES);
9947 }
9948 #line 9949 "y.tab.c" /* yacc.c:1646 */
9949 break;
9950
9951 case 402:
9952 #line 3400 "pars.yacc" /* yacc.c:1646 */
9953 {
9954 int gno = (yyvsp[0].ival);
9955 if (is_graph_hidden(gno) == FALSE) {
9956 select_graph(gno);
9957 } else {
9958 errmsg("Graph is not active");
9959 }
9960 }
9961 #line 9962 "y.tab.c" /* yacc.c:1646 */
9962 break;
9963
9964 case 403:
9965 #line 3408 "pars.yacc" /* yacc.c:1646 */
9966 {
9967 gotread = TRUE;
9968 strcpy(readfile, (yyvsp[0].sval));
9969 xfree((yyvsp[0].sval));
9970 }
9971 #line 9972 "y.tab.c" /* yacc.c:1646 */
9972 break;
9973
9974 case 404:
9975 #line 3413 "pars.yacc" /* yacc.c:1646 */
9976 {
9977 strcpy(batchfile, (yyvsp[0].sval));
9978 xfree((yyvsp[0].sval));
9979 }
9980 #line 9981 "y.tab.c" /* yacc.c:1646 */
9981 break;
9982
9983 case 405:
9984 #line 3417 "pars.yacc" /* yacc.c:1646 */
9985 {
9986 getdata(whichgraph, (yyvsp[0].sval), SOURCE_DISK, LOAD_BLOCK);
9987 xfree((yyvsp[0].sval));
9988 }
9989 #line 9990 "y.tab.c" /* yacc.c:1646 */
9990 break;
9991
9992 case 406:
9993 #line 3421 "pars.yacc" /* yacc.c:1646 */
9994 {
9995 getdata(whichgraph, (yyvsp[0].sval), (yyvsp[-1].ival), LOAD_BLOCK);
9996 xfree((yyvsp[0].sval));
9997 }
9998 #line 9999 "y.tab.c" /* yacc.c:1646 */
9999 break;
10000
10001 case 407:
10002 #line 3425 "pars.yacc" /* yacc.c:1646 */
10003 {
10004 int nc, *cols, scol;
10005 if (field_string_to_cols((yyvsp[0].sval), &nc, &cols, &scol) != RETURN_SUCCESS) {
10006 errmsg("Erroneous field specifications");
10007 xfree((yyvsp[0].sval));
10008 return 1;
10009 } else {
10010 xfree((yyvsp[0].sval));
10011 create_set_fromblock(whichgraph, NEW_SET,
10012 (yyvsp[-1].ival), nc, cols, scol, autoscale_onread);
10013 xfree(cols);
10014 }
10015 }
10016 #line 10017 "y.tab.c" /* yacc.c:1646 */
10017 break;
10018
10019 case 408:
10020 #line 3438 "pars.yacc" /* yacc.c:1646 */
10021 {
10022 set_blockdata(NULL);
10023 }
10024 #line 10025 "y.tab.c" /* yacc.c:1646 */
10025 break;
10026
10027 case 409:
10028 #line 3441 "pars.yacc" /* yacc.c:1646 */
10029 {
10030 gotread = TRUE;
10031 curtype = (yyvsp[-1].ival);
10032 strcpy(readfile, (yyvsp[0].sval));
10033 xfree((yyvsp[0].sval));
10034 }
10035 #line 10036 "y.tab.c" /* yacc.c:1646 */
10036 break;
10037
10038 case 410:
10039 #line 3447 "pars.yacc" /* yacc.c:1646 */
10040 {
10041 gotread = TRUE;
10042 strcpy(readfile, (yyvsp[0].sval));
10043 curtype = (yyvsp[-2].ival);
10044 cursource = (yyvsp[-1].ival);
10045 xfree((yyvsp[0].sval));
10046 }
10047 #line 10048 "y.tab.c" /* yacc.c:1646 */
10048 break;
10049
10050 case 411:
10051 #line 3454 "pars.yacc" /* yacc.c:1646 */
10052 {
10053 getdata(whichgraph, (yyvsp[0].sval), SOURCE_DISK, LOAD_NXY);
10054 xfree((yyvsp[0].sval));
10055 }
10056 #line 10057 "y.tab.c" /* yacc.c:1646 */
10057 break;
10058
10059 case 412:
10060 #line 3458 "pars.yacc" /* yacc.c:1646 */
10061 {
10062 getdata(whichgraph, (yyvsp[0].sval), (yyvsp[-1].ival), LOAD_NXY);
10063 xfree((yyvsp[0].sval));
10064 }
10065 #line 10066 "y.tab.c" /* yacc.c:1646 */
10066 break;
10067
10068 case 413:
10069 #line 3462 "pars.yacc" /* yacc.c:1646 */
10070 {
10071 if (!safe_mode) {
10072 outputset((yyvsp[0].trgt)->gno, (yyvsp[0].trgt)->setno, "stdout", NULL);
10073 } else {
10074 yyerror("File modifications are disabled in safe mode");
10075 }
10076 }
10077 #line 10078 "y.tab.c" /* yacc.c:1646 */
10078 break;
10079
10080 case 414:
10081 #line 3469 "pars.yacc" /* yacc.c:1646 */
10082 {
10083 if (!safe_mode) {
10084 outputset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, "stdout", (yyvsp[0].sval));
10085 } else {
10086 yyerror("File modifications are disabled in safe mode");
10087 }
10088 xfree((yyvsp[0].sval));
10089 }
10090 #line 10091 "y.tab.c" /* yacc.c:1646 */
10091 break;
10092
10093 case 415:
10094 #line 3477 "pars.yacc" /* yacc.c:1646 */
10095 {
10096 if (!safe_mode) {
10097 outputset((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].sval), NULL);
10098 } else {
10099 yyerror("File modifications are disabled in safe mode");
10100 }
10101 xfree((yyvsp[0].sval));
10102 }
10103 #line 10104 "y.tab.c" /* yacc.c:1646 */
10104 break;
10105
10106 case 416:
10107 #line 3485 "pars.yacc" /* yacc.c:1646 */
10108 {
10109 if (!safe_mode) {
10110 outputset((yyvsp[-4].trgt)->gno, (yyvsp[-4].trgt)->setno, (yyvsp[-2].sval), (yyvsp[0].sval));
10111 } else {
10112 yyerror("File modifications are disabled in safe mode");
10113 }
10114 xfree((yyvsp[-2].sval));
10115 xfree((yyvsp[0].sval));
10116 }
10117 #line 10118 "y.tab.c" /* yacc.c:1646 */
10118 break;
10119
10120 case 417:
10121 #line 3494 "pars.yacc" /* yacc.c:1646 */
10122 {
10123 if (!safe_mode) {
10124 save_project((yyvsp[0].sval));
10125 } else {
10126 yyerror("File modifications are disabled in safe mode");
10127 }
10128 xfree((yyvsp[0].sval));
10129 }
10130 #line 10131 "y.tab.c" /* yacc.c:1646 */
10131 break;
10132
10133 case 418:
10134 #line 3502 "pars.yacc" /* yacc.c:1646 */
10135 {
10136 load_project((yyvsp[0].sval));
10137 xfree((yyvsp[0].sval));
10138 }
10139 #line 10140 "y.tab.c" /* yacc.c:1646 */
10140 break;
10141
10142 case 419:
10143 #line 3506 "pars.yacc" /* yacc.c:1646 */
10144 {
10145 new_project(NULL);
10146 }
10147 #line 10148 "y.tab.c" /* yacc.c:1646 */
10148 break;
10149
10150 case 420:
10151 #line 3509 "pars.yacc" /* yacc.c:1646 */
10152 {
10153 new_project((yyvsp[0].sval));
10154 xfree((yyvsp[0].sval));
10155 }
10156 #line 10157 "y.tab.c" /* yacc.c:1646 */
10157 break;
10158
10159 case 421:
10160 #line 3513 "pars.yacc" /* yacc.c:1646 */
10161 {
10162 push_world();
10163 }
10164 #line 10165 "y.tab.c" /* yacc.c:1646 */
10165 break;
10166
10167 case 422:
10168 #line 3516 "pars.yacc" /* yacc.c:1646 */
10169 {
10170 pop_world();
10171 }
10172 #line 10173 "y.tab.c" /* yacc.c:1646 */
10173 break;
10174
10175 case 423:
10176 #line 3519 "pars.yacc" /* yacc.c:1646 */
10177 {
10178 cycle_world_stack();
10179 }
10180 #line 10181 "y.tab.c" /* yacc.c:1646 */
10181 break;
10182
10183 case 424:
10184 #line 3522 "pars.yacc" /* yacc.c:1646 */
10185 {
10186 if ((yyvsp[0].ival) > 0)
10187 show_world_stack((yyvsp[0].ival) - 1);
10188 }
10189 #line 10190 "y.tab.c" /* yacc.c:1646 */
10190 break;
10191
10192 case 425:
10193 #line 3526 "pars.yacc" /* yacc.c:1646 */
10194 {
10195 clear_world_stack();
10196 }
10197 #line 10198 "y.tab.c" /* yacc.c:1646 */
10198 break;
10199
10200 case 426:
10201 #line 3529 "pars.yacc" /* yacc.c:1646 */
10202 {
10203 do_clear_boxes();
10204 }
10205 #line 10206 "y.tab.c" /* yacc.c:1646 */
10206 break;
10207
10208 case 427:
10209 #line 3532 "pars.yacc" /* yacc.c:1646 */
10210 {
10211 do_clear_ellipses();
10212 }
10213 #line 10214 "y.tab.c" /* yacc.c:1646 */
10214 break;
10215
10216 case 428:
10217 #line 3535 "pars.yacc" /* yacc.c:1646 */
10218 {
10219 do_clear_lines();
10220 }
10221 #line 10222 "y.tab.c" /* yacc.c:1646 */
10222 break;
10223
10224 case 429:
10225 #line 3538 "pars.yacc" /* yacc.c:1646 */
10226 {
10227 do_clear_text();
10228 }
10229 #line 10230 "y.tab.c" /* yacc.c:1646 */
10230 break;
10231
10232 case 430:
10233 #line 3545 "pars.yacc" /* yacc.c:1646 */
10234 {
10235 #ifndef NONE_GUI
10236 set_pagelayout((yyvsp[0].ival));
10237 #endif
10238 }
10239 #line 10240 "y.tab.c" /* yacc.c:1646 */
10240 break;
10241
10242 case 431:
10243 #line 3550 "pars.yacc" /* yacc.c:1646 */
10244 {
10245 auto_redraw = (yyvsp[0].ival);
10246 }
10247 #line 10248 "y.tab.c" /* yacc.c:1646 */
10248 break;
10249
10250 case 432:
10251 #line 3553 "pars.yacc" /* yacc.c:1646 */
10252 {
10253 draw_focus_flag = (yyvsp[0].ival);
10254 }
10255 #line 10256 "y.tab.c" /* yacc.c:1646 */
10256 break;
10257
10258 case 433:
10259 #line 3556 "pars.yacc" /* yacc.c:1646 */
10260 {
10261 focus_policy = FOCUS_SET;
10262 }
10263 #line 10264 "y.tab.c" /* yacc.c:1646 */
10264 break;
10265
10266 case 434:
10267 #line 3559 "pars.yacc" /* yacc.c:1646 */
10268 {
10269 focus_policy = FOCUS_FOLLOWS;
10270 }
10271 #line 10272 "y.tab.c" /* yacc.c:1646 */
10272 break;
10273
10274 case 435:
10275 #line 3562 "pars.yacc" /* yacc.c:1646 */
10276 {
10277 focus_policy = FOCUS_CLICK;
10278 }
10279 #line 10280 "y.tab.c" /* yacc.c:1646 */
10280 break;
10281
10282 case 436:
10283 #line 3569 "pars.yacc" /* yacc.c:1646 */
10284 {}
10285 #line 10286 "y.tab.c" /* yacc.c:1646 */
10286 break;
10287
10288 case 437:
10289 #line 3570 "pars.yacc" /* yacc.c:1646 */
10290 {}
10291 #line 10292 "y.tab.c" /* yacc.c:1646 */
10292 break;
10293
10294 case 438:
10295 #line 3574 "pars.yacc" /* yacc.c:1646 */
10296 {
10297 set_set_hidden((yyvsp[-1].trgt)->gno, (yyvsp[-1].trgt)->setno, !(yyvsp[0].ival));
10298 }
10299 #line 10300 "y.tab.c" /* yacc.c:1646 */
10300 break;
10301
10302 case 439:
10303 #line 3577 "pars.yacc" /* yacc.c:1646 */
10304 {
10305 set_dataset_type((yyvsp[-2].trgt)->gno, (yyvsp[-2].trgt)->setno, (yyvsp[0].ival));
10306 }
10307 #line 10308 "y.tab.c" /* yacc.c:1646 */
10308 break;
10309
10310 case 440:
10311 #line 3581 "pars.yacc" /* yacc.c:1646 */
10312 {
10313 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sym = (yyvsp[0].ival);
10314 }
10315 #line 10316 "y.tab.c" /* yacc.c:1646 */
10316 break;
10317
10318 case 441:
10319 #line 3584 "pars.yacc" /* yacc.c:1646 */
10320 {
10321 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sympen.color = (yyvsp[0].ival);
10322 }
10323 #line 10324 "y.tab.c" /* yacc.c:1646 */
10324 break;
10325
10326 case 442:
10327 #line 3587 "pars.yacc" /* yacc.c:1646 */
10328 {
10329 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].sympen.pattern = (yyvsp[0].ival);
10330 }
10331 #line 10332 "y.tab.c" /* yacc.c:1646 */
10332 break;
10333
10334 case 443:
10335 #line 3590 "pars.yacc" /* yacc.c:1646 */
10336 {
10337 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symlinew = (yyvsp[0].dval);
10338 }
10339 #line 10340 "y.tab.c" /* yacc.c:1646 */
10340 break;
10341
10342 case 444:
10343 #line 3593 "pars.yacc" /* yacc.c:1646 */
10344 {
10345 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symlines = (yyvsp[0].ival);
10346 }
10347 #line 10348 "y.tab.c" /* yacc.c:1646 */
10348 break;
10349
10350 case 445:
10351 #line 3596 "pars.yacc" /* yacc.c:1646 */
10352 {
10353 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.color = (yyvsp[0].ival);
10354 }
10355 #line 10356 "y.tab.c" /* yacc.c:1646 */
10356 break;
10357
10358 case 446:
10359 #line 3599 "pars.yacc" /* yacc.c:1646 */
10360 {
10361 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = (yyvsp[0].ival);
10362 }
10363 #line 10364 "y.tab.c" /* yacc.c:1646 */
10364 break;
10365
10366 case 447:
10367 #line 3602 "pars.yacc" /* yacc.c:1646 */
10368 {
10369 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symsize = (yyvsp[0].dval);
10370 }
10371 #line 10372 "y.tab.c" /* yacc.c:1646 */
10372 break;
10373
10374 case 448:
10375 #line 3605 "pars.yacc" /* yacc.c:1646 */
10376 {
10377 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symchar = (yyvsp[0].ival);
10378 }
10379 #line 10380 "y.tab.c" /* yacc.c:1646 */
10380 break;
10381
10382 case 449:
10383 #line 3608 "pars.yacc" /* yacc.c:1646 */
10384 {
10385 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].charfont = (yyvsp[0].ival);
10386 }
10387 #line 10388 "y.tab.c" /* yacc.c:1646 */
10388 break;
10389
10390 case 450:
10391 #line 3611 "pars.yacc" /* yacc.c:1646 */
10392 {
10393 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symskip = (yyvsp[0].ival);
10394 }
10395 #line 10396 "y.tab.c" /* yacc.c:1646 */
10396 break;
10397
10398 case 451:
10399 #line 3616 "pars.yacc" /* yacc.c:1646 */
10400 {
10401 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].linet = (yyvsp[0].ival);
10402 }
10403 #line 10404 "y.tab.c" /* yacc.c:1646 */
10404 break;
10405
10406 case 452:
10407 #line 3620 "pars.yacc" /* yacc.c:1646 */
10408 {
10409 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].lines = (yyvsp[0].ival);
10410 }
10411 #line 10412 "y.tab.c" /* yacc.c:1646 */
10412 break;
10413
10414 case 453:
10415 #line 3624 "pars.yacc" /* yacc.c:1646 */
10416 {
10417 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linew = (yyvsp[0].dval);
10418 }
10419 #line 10420 "y.tab.c" /* yacc.c:1646 */
10420 break;
10421
10422 case 454:
10423 #line 3628 "pars.yacc" /* yacc.c:1646 */
10424 {
10425 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linepen.color = (yyvsp[0].ival);
10426 }
10427 #line 10428 "y.tab.c" /* yacc.c:1646 */
10428 break;
10429
10430 case 455:
10431 #line 3632 "pars.yacc" /* yacc.c:1646 */
10432 {
10433 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].linepen.pattern = (yyvsp[0].ival);
10434 }
10435 #line 10436 "y.tab.c" /* yacc.c:1646 */
10436 break;
10437
10438 case 456:
10439 #line 3637 "pars.yacc" /* yacc.c:1646 */
10440 {
10441 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].filltype = (yyvsp[0].ival);
10442 }
10443 #line 10444 "y.tab.c" /* yacc.c:1646 */
10444 break;
10445
10446 case 457:
10447 #line 3641 "pars.yacc" /* yacc.c:1646 */
10448 {
10449 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].fillrule = (yyvsp[0].ival);
10450 }
10451 #line 10452 "y.tab.c" /* yacc.c:1646 */
10452 break;
10453
10454 case 458:
10455 #line 3645 "pars.yacc" /* yacc.c:1646 */
10456 {
10457 int prop = (yyvsp[0].ival);
10458
10459 if (get_project_version() <= 40102 && get_project_version() >= 30000) {
10460 switch (filltype_obs) {
10461 case COLOR:
10462 break;
10463 case PATTERN:
10464 prop = 1;
10465 break;
10466 default: /* NONE */
10467 prop = 0;
10468 break;
10469 }
10470 }
10471 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].setfillpen.color = prop;
10472 }
10473 #line 10474 "y.tab.c" /* yacc.c:1646 */
10474 break;
10475
10476 case 459:
10477 #line 3663 "pars.yacc" /* yacc.c:1646 */
10478 {
10479 int prop = (yyvsp[0].ival);
10480
10481 if (get_project_version() <= 40102) {
10482 switch (filltype_obs) {
10483 case COLOR:
10484 prop = 1;
10485 break;
10486 case PATTERN:
10487 break;
10488 default: /* NONE */
10489 prop = 0;
10490 break;
10491 }
10492 }
10493 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].setfillpen.pattern = prop;
10494 }
10495 #line 10496 "y.tab.c" /* yacc.c:1646 */
10496 break;
10497
10498 case 460:
10499 #line 3683 "pars.yacc" /* yacc.c:1646 */
10500 {
10501 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline = (yyvsp[0].ival);
10502 }
10503 #line 10504 "y.tab.c" /* yacc.c:1646 */
10504 break;
10505
10506 case 461:
10507 #line 3687 "pars.yacc" /* yacc.c:1646 */
10508 {
10509 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].baseline_type = (yyvsp[0].ival);
10510 }
10511 #line 10512 "y.tab.c" /* yacc.c:1646 */
10512 break;
10513
10514 case 462:
10515 #line 3692 "pars.yacc" /* yacc.c:1646 */
10516 {
10517 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].dropline = (yyvsp[0].ival);
10518 }
10519 #line 10520 "y.tab.c" /* yacc.c:1646 */
10520 break;
10521
10522 case 463:
10523 #line 3697 "pars.yacc" /* yacc.c:1646 */
10524 {
10525 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.active = (yyvsp[0].ival);
10526 }
10527 #line 10528 "y.tab.c" /* yacc.c:1646 */
10528 break;
10529
10530 case 464:
10531 #line 3701 "pars.yacc" /* yacc.c:1646 */
10532 {
10533 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.type = (yyvsp[0].ival);
10534 }
10535 #line 10536 "y.tab.c" /* yacc.c:1646 */
10536 break;
10537
10538 case 465:
10539 #line 3705 "pars.yacc" /* yacc.c:1646 */
10540 {
10541 g[(yyvsp[-4].trgt)->gno].p[(yyvsp[-4].trgt)->setno].avalue.size = (yyvsp[0].dval);
10542 }
10543 #line 10544 "y.tab.c" /* yacc.c:1646 */
10544 break;
10545
10546 case 466:
10547 #line 3709 "pars.yacc" /* yacc.c:1646 */
10548 {
10549 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.font = (yyvsp[0].ival);
10550 }
10551 #line 10552 "y.tab.c" /* yacc.c:1646 */
10552 break;
10553
10554 case 467:
10555 #line 3713 "pars.yacc" /* yacc.c:1646 */
10556 {
10557 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].avalue.color = (yyvsp[0].ival);
10558 }
10559 #line 10560 "y.tab.c" /* yacc.c:1646 */
10560 break;
10561
10562 case 468:
10563 #line 3717 "pars.yacc" /* yacc.c:1646 */
10564 {
10565 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.angle = (yyvsp[0].ival);
10566 }
10567 #line 10568 "y.tab.c" /* yacc.c:1646 */
10568 break;
10569
10570 case 469:
10571 #line 3721 "pars.yacc" /* yacc.c:1646 */
10572 {
10573 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.format = (yyvsp[0].ival);
10574 }
10575 #line 10576 "y.tab.c" /* yacc.c:1646 */
10576 break;
10577
10578 case 470:
10579 #line 3725 "pars.yacc" /* yacc.c:1646 */
10580 {
10581 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.prec = (yyvsp[0].ival);
10582 }
10583 #line 10584 "y.tab.c" /* yacc.c:1646 */
10584 break;
10585
10586 case 471:
10587 #line 3728 "pars.yacc" /* yacc.c:1646 */
10588 {
10589 g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].avalue.offset.x = (yyvsp[-2].dval);
10590 g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].avalue.offset.y = (yyvsp[0].dval);
10591 }
10592 #line 10593 "y.tab.c" /* yacc.c:1646 */
10593 break;
10594
10595 case 472:
10596 #line 3733 "pars.yacc" /* yacc.c:1646 */
10597 {
10598 strcpy(g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.prestr, (yyvsp[0].sval));
10599 xfree((yyvsp[0].sval));
10600 }
10601 #line 10602 "y.tab.c" /* yacc.c:1646 */
10602 break;
10603
10604 case 473:
10605 #line 3738 "pars.yacc" /* yacc.c:1646 */
10606 {
10607 strcpy(g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].avalue.appstr, (yyvsp[0].sval));
10608 xfree((yyvsp[0].sval));
10609 }
10610 #line 10611 "y.tab.c" /* yacc.c:1646 */
10611 break;
10612
10613 case 474:
10614 #line 3743 "pars.yacc" /* yacc.c:1646 */
10615 {
10616 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.active = (yyvsp[0].ival);
10617 }
10618 #line 10619 "y.tab.c" /* yacc.c:1646 */
10619 break;
10620
10621 case 475:
10622 #line 3746 "pars.yacc" /* yacc.c:1646 */
10623 {
10624 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.ptype = (yyvsp[0].ival);
10625 }
10626 #line 10627 "y.tab.c" /* yacc.c:1646 */
10627 break;
10628
10629 case 476:
10630 #line 3749 "pars.yacc" /* yacc.c:1646 */
10631 {
10632 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.pen.color = (yyvsp[0].ival);
10633 }
10634 #line 10635 "y.tab.c" /* yacc.c:1646 */
10635 break;
10636
10637 case 477:
10638 #line 3752 "pars.yacc" /* yacc.c:1646 */
10639 {
10640 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.pen.pattern = (yyvsp[0].ival);
10641 }
10642 #line 10643 "y.tab.c" /* yacc.c:1646 */
10643 break;
10644
10645 case 478:
10646 #line 3755 "pars.yacc" /* yacc.c:1646 */
10647 {
10648 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.barsize = (yyvsp[0].dval);
10649 }
10650 #line 10651 "y.tab.c" /* yacc.c:1646 */
10651 break;
10652
10653 case 479:
10654 #line 3758 "pars.yacc" /* yacc.c:1646 */
10655 {
10656 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.linew = (yyvsp[0].dval);
10657 }
10658 #line 10659 "y.tab.c" /* yacc.c:1646 */
10659 break;
10660
10661 case 480:
10662 #line 3761 "pars.yacc" /* yacc.c:1646 */
10663 {
10664 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].errbar.lines = (yyvsp[0].ival);
10665 }
10666 #line 10667 "y.tab.c" /* yacc.c:1646 */
10667 break;
10668
10669 case 481:
10670 #line 3764 "pars.yacc" /* yacc.c:1646 */
10671 {
10672 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.riser_linew = (yyvsp[0].dval);
10673 }
10674 #line 10675 "y.tab.c" /* yacc.c:1646 */
10675 break;
10676
10677 case 482:
10678 #line 3767 "pars.yacc" /* yacc.c:1646 */
10679 {
10680 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.riser_lines = (yyvsp[0].ival);
10681 }
10682 #line 10683 "y.tab.c" /* yacc.c:1646 */
10683 break;
10684
10685 case 483:
10686 #line 3770 "pars.yacc" /* yacc.c:1646 */
10687 {
10688 g[(yyvsp[-4].trgt)->gno].p[(yyvsp[-4].trgt)->setno].errbar.arrow_clip = (yyvsp[0].ival);
10689 }
10690 #line 10691 "y.tab.c" /* yacc.c:1646 */
10691 break;
10692
10693 case 484:
10694 #line 3773 "pars.yacc" /* yacc.c:1646 */
10695 {
10696 g[(yyvsp[-5].trgt)->gno].p[(yyvsp[-5].trgt)->setno].errbar.cliplen = (yyvsp[0].dval);
10697 }
10698 #line 10699 "y.tab.c" /* yacc.c:1646 */
10699 break;
10700
10701 case 485:
10702 #line 3777 "pars.yacc" /* yacc.c:1646 */
10703 {
10704 strncpy(g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].comments, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
10705 xfree((yyvsp[0].sval));
10706 }
10707 #line 10708 "y.tab.c" /* yacc.c:1646 */
10708 break;
10709
10710 case 486:
10711 #line 3782 "pars.yacc" /* yacc.c:1646 */
10712 {
10713 strncpy(g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].lstr, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
10714 xfree((yyvsp[0].sval));
10715 }
10716 #line 10717 "y.tab.c" /* yacc.c:1646 */
10717 break;
10718
10719 case 487:
10720 #line 3790 "pars.yacc" /* yacc.c:1646 */
10721 {
10722 if (!is_valid_axis(whichgraph, naxis)) {
10723 yyerror("No valid axis selected");
10724 return 1;
10725 }
10726 g[whichgraph].t[naxis]->active = (yyvsp[0].ival);
10727 }
10728 #line 10729 "y.tab.c" /* yacc.c:1646 */
10729 break;
10730
10731 case 488:
10732 #line 3797 "pars.yacc" /* yacc.c:1646 */
10733 {
10734 if (!is_valid_axis(whichgraph, naxis)) {
10735 yyerror("No valid axis selected");
10736 return 1;
10737 }
10738 g[whichgraph].t[naxis]->zero = (yyvsp[0].ival);
10739 }
10740 #line 10741 "y.tab.c" /* yacc.c:1646 */
10741 break;
10742
10743 case 489:
10744 #line 3804 "pars.yacc" /* yacc.c:1646 */
10745 {}
10746 #line 10747 "y.tab.c" /* yacc.c:1646 */
10747 break;
10748
10749 case 490:
10750 #line 3805 "pars.yacc" /* yacc.c:1646 */
10751 {}
10752 #line 10753 "y.tab.c" /* yacc.c:1646 */
10753 break;
10754
10755 case 491:
10756 #line 3806 "pars.yacc" /* yacc.c:1646 */
10757 {}
10758 #line 10759 "y.tab.c" /* yacc.c:1646 */
10759 break;
10760
10761 case 492:
10762 #line 3807 "pars.yacc" /* yacc.c:1646 */
10763 {}
10764 #line 10765 "y.tab.c" /* yacc.c:1646 */
10765 break;
10766
10767 case 493:
10768 #line 3808 "pars.yacc" /* yacc.c:1646 */
10769 {}
10770 #line 10771 "y.tab.c" /* yacc.c:1646 */
10771 break;
10772
10773 case 494:
10774 #line 3809 "pars.yacc" /* yacc.c:1646 */
10775 {}
10776 #line 10777 "y.tab.c" /* yacc.c:1646 */
10777 break;
10778
10779 case 495:
10780 #line 3810 "pars.yacc" /* yacc.c:1646 */
10781 {}
10782 #line 10783 "y.tab.c" /* yacc.c:1646 */
10783 break;
10784
10785 case 496:
10786 #line 3811 "pars.yacc" /* yacc.c:1646 */
10787 {
10788 if (!is_valid_axis(whichgraph, naxis)) {
10789 yyerror("No valid axis selected");
10790 return 1;
10791 }
10792 g[whichgraph].t[naxis]->offsx = (yyvsp[-2].dval);
10793 g[whichgraph].t[naxis]->offsy = (yyvsp[0].dval);
10794 }
10795 #line 10796 "y.tab.c" /* yacc.c:1646 */
10796 break;
10797
10798 case 497:
10799 #line 3822 "pars.yacc" /* yacc.c:1646 */
10800 {
10801 if (!is_valid_axis(whichgraph, naxis)) {
10802 yyerror("No valid axis selected");
10803 return 1;
10804 }
10805 g[whichgraph].t[naxis]->t_flag = (yyvsp[0].ival);
10806 }
10807 #line 10808 "y.tab.c" /* yacc.c:1646 */
10808 break;
10809
10810 case 498:
10811 #line 3829 "pars.yacc" /* yacc.c:1646 */
10812 {
10813 if (!is_valid_axis(whichgraph, naxis)) {
10814 yyerror("No valid axis selected");
10815 return 1;
10816 }
10817 g[whichgraph].t[naxis]->tmajor = (yyvsp[0].dval);
10818 }
10819 #line 10820 "y.tab.c" /* yacc.c:1646 */
10820 break;
10821
10822 case 499:
10823 #line 3836 "pars.yacc" /* yacc.c:1646 */
10824 {
10825 if (!is_valid_axis(whichgraph, naxis)) {
10826 yyerror("No valid axis selected");
10827 return 1;
10828 }
10829 g[whichgraph].t[naxis]->nminor = (yyvsp[0].ival);
10830 }
10831 #line 10832 "y.tab.c" /* yacc.c:1646 */
10832 break;
10833
10834 case 500:
10835 #line 3843 "pars.yacc" /* yacc.c:1646 */
10836 {
10837 if (!is_valid_axis(whichgraph, naxis)) {
10838 yyerror("No valid axis selected");
10839 return 1;
10840 }
10841 g[whichgraph].t[naxis]->t_round = (yyvsp[0].ival);
10842 }
10843 #line 10844 "y.tab.c" /* yacc.c:1646 */
10844 break;
10845
10846 case 501:
10847 #line 3851 "pars.yacc" /* yacc.c:1646 */
10848 {
10849 if (!is_valid_axis(whichgraph, naxis)) {
10850 yyerror("No valid axis selected");
10851 return 1;
10852 }
10853 g[whichgraph].t[naxis]->offsx = (yyvsp[0].dval);
10854 }
10855 #line 10856 "y.tab.c" /* yacc.c:1646 */
10856 break;
10857
10858 case 502:
10859 #line 3858 "pars.yacc" /* yacc.c:1646 */
10860 {
10861 if (!is_valid_axis(whichgraph, naxis)) {
10862 yyerror("No valid axis selected");
10863 return 1;
10864 }
10865 g[whichgraph].t[naxis]->offsy = (yyvsp[0].dval);
10866 }
10867 #line 10868 "y.tab.c" /* yacc.c:1646 */
10868 break;
10869
10870 case 503:
10871 #line 3865 "pars.yacc" /* yacc.c:1646 */
10872 {
10873 if (!is_valid_axis(whichgraph, naxis)) {
10874 yyerror("No valid axis selected");
10875 return 1;
10876 }
10877 g[whichgraph].t[naxis]->t_autonum = (yyvsp[0].ival);
10878 }
10879 #line 10880 "y.tab.c" /* yacc.c:1646 */
10880 break;
10881
10882 case 504:
10883 #line 3872 "pars.yacc" /* yacc.c:1646 */
10884 {
10885 if (!is_valid_axis(whichgraph, naxis)) {
10886 yyerror("No valid axis selected");
10887 return 1;
10888 }
10889 g[whichgraph].t[naxis]->t_inout = (yyvsp[0].ival);
10890 }
10891 #line 10892 "y.tab.c" /* yacc.c:1646 */
10892 break;
10893
10894 case 505:
10895 #line 3879 "pars.yacc" /* yacc.c:1646 */
10896 {
10897 if (!is_valid_axis(whichgraph, naxis)) {
10898 yyerror("No valid axis selected");
10899 return 1;
10900 }
10901 g[whichgraph].t[naxis]->props.size = (yyvsp[0].dval);
10902 }
10903 #line 10904 "y.tab.c" /* yacc.c:1646 */
10904 break;
10905
10906 case 506:
10907 #line 3886 "pars.yacc" /* yacc.c:1646 */
10908 {
10909 if (!is_valid_axis(whichgraph, naxis)) {
10910 yyerror("No valid axis selected");
10911 return 1;
10912 }
10913 g[whichgraph].t[naxis]->mprops.size = (yyvsp[0].dval);
10914 }
10915 #line 10916 "y.tab.c" /* yacc.c:1646 */
10916 break;
10917
10918 case 507:
10919 #line 3893 "pars.yacc" /* yacc.c:1646 */
10920 {
10921 if (!is_valid_axis(whichgraph, naxis)) {
10922 yyerror("No valid axis selected");
10923 return 1;
10924 }
10925 g[whichgraph].t[naxis]->props.color = g[whichgraph].t[naxis]->mprops.color = (yyvsp[0].ival);
10926 }
10927 #line 10928 "y.tab.c" /* yacc.c:1646 */
10928 break;
10929
10930 case 508:
10931 #line 3900 "pars.yacc" /* yacc.c:1646 */
10932 {
10933 if (!is_valid_axis(whichgraph, naxis)) {
10934 yyerror("No valid axis selected");
10935 return 1;
10936 }
10937 g[whichgraph].t[naxis]->props.color = (yyvsp[0].ival);
10938 }
10939 #line 10940 "y.tab.c" /* yacc.c:1646 */
10940 break;
10941
10942 case 509:
10943 #line 3907 "pars.yacc" /* yacc.c:1646 */
10944 {
10945 if (!is_valid_axis(whichgraph, naxis)) {
10946 yyerror("No valid axis selected");
10947 return 1;
10948 }
10949 g[whichgraph].t[naxis]->mprops.color = (yyvsp[0].ival);
10950 }
10951 #line 10952 "y.tab.c" /* yacc.c:1646 */
10952 break;
10953
10954 case 510:
10955 #line 3914 "pars.yacc" /* yacc.c:1646 */
10956 {
10957 if (!is_valid_axis(whichgraph, naxis)) {
10958 yyerror("No valid axis selected");
10959 return 1;
10960 }
10961 g[whichgraph].t[naxis]->props.linew = g[whichgraph].t[naxis]->mprops.linew = (yyvsp[0].dval);
10962 }
10963 #line 10964 "y.tab.c" /* yacc.c:1646 */
10964 break;
10965
10966 case 511:
10967 #line 3921 "pars.yacc" /* yacc.c:1646 */
10968 {
10969 if (!is_valid_axis(whichgraph, naxis)) {
10970 yyerror("No valid axis selected");
10971 return 1;
10972 }
10973 g[whichgraph].t[naxis]->props.linew = (yyvsp[0].dval);
10974 }
10975 #line 10976 "y.tab.c" /* yacc.c:1646 */
10976 break;
10977
10978 case 512:
10979 #line 3928 "pars.yacc" /* yacc.c:1646 */
10980 {
10981 if (!is_valid_axis(whichgraph, naxis)) {
10982 yyerror("No valid axis selected");
10983 return 1;
10984 }
10985 g[whichgraph].t[naxis]->mprops.linew = (yyvsp[0].dval);
10986 }
10987 #line 10988 "y.tab.c" /* yacc.c:1646 */
10988 break;
10989
10990 case 513:
10991 #line 3935 "pars.yacc" /* yacc.c:1646 */
10992 {
10993 if (!is_valid_axis(whichgraph, naxis)) {
10994 yyerror("No valid axis selected");
10995 return 1;
10996 }
10997 g[whichgraph].t[naxis]->props.lines = (yyvsp[0].ival);
10998 }
10999 #line 11000 "y.tab.c" /* yacc.c:1646 */
11000 break;
11001
11002 case 514:
11003 #line 3942 "pars.yacc" /* yacc.c:1646 */
11004 {
11005 if (!is_valid_axis(whichgraph, naxis)) {
11006 yyerror("No valid axis selected");
11007 return 1;
11008 }
11009 g[whichgraph].t[naxis]->mprops.lines = (yyvsp[0].ival);
11010 }
11011 #line 11012 "y.tab.c" /* yacc.c:1646 */
11012 break;
11013
11014 case 515:
11015 #line 3949 "pars.yacc" /* yacc.c:1646 */
11016 {
11017 if (!is_valid_axis(whichgraph, naxis)) {
11018 yyerror("No valid axis selected");
11019 return 1;
11020 }
11021 g[whichgraph].t[naxis]->props.gridflag = (yyvsp[0].ival);
11022 }
11023 #line 11024 "y.tab.c" /* yacc.c:1646 */
11024 break;
11025
11026 case 516:
11027 #line 3956 "pars.yacc" /* yacc.c:1646 */
11028 {
11029 if (!is_valid_axis(whichgraph, naxis)) {
11030 yyerror("No valid axis selected");
11031 return 1;
11032 }
11033 g[whichgraph].t[naxis]->mprops.gridflag = (yyvsp[0].ival);
11034 }
11035 #line 11036 "y.tab.c" /* yacc.c:1646 */
11036 break;
11037
11038 case 517:
11039 #line 3963 "pars.yacc" /* yacc.c:1646 */
11040 {
11041 if (!is_valid_axis(whichgraph, naxis)) {
11042 yyerror("No valid axis selected");
11043 return 1;
11044 }
11045 g[whichgraph].t[naxis]->t_op = (yyvsp[0].ival);
11046 }
11047 #line 11048 "y.tab.c" /* yacc.c:1646 */
11048 break;
11049
11050 case 518:
11051 #line 3970 "pars.yacc" /* yacc.c:1646 */
11052 {
11053 if (!is_valid_axis(whichgraph, naxis)) {
11054 yyerror("No valid axis selected");
11055 return 1;
11056 }
11057 g[whichgraph].t[naxis]->t_spec = (yyvsp[0].ival);
11058 }
11059 #line 11060 "y.tab.c" /* yacc.c:1646 */
11060 break;
11061
11062 case 519:
11063 #line 3977 "pars.yacc" /* yacc.c:1646 */
11064 {
11065 if (!is_valid_axis(whichgraph, naxis)) {
11066 yyerror("No valid axis selected");
11067 return 1;
11068 }
11069 g[whichgraph].t[naxis]->nticks = (yyvsp[0].ival);
11070 }
11071 #line 11072 "y.tab.c" /* yacc.c:1646 */
11072 break;
11073
11074 case 520:
11075 #line 3984 "pars.yacc" /* yacc.c:1646 */
11076 {
11077 if (!is_valid_axis(whichgraph, naxis)) {
11078 yyerror("No valid axis selected");
11079 return 1;
11080 }
11081 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
11082 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MAJOR;
11083 }
11084 #line 11085 "y.tab.c" /* yacc.c:1646 */
11085 break;
11086
11087 case 521:
11088 #line 3992 "pars.yacc" /* yacc.c:1646 */
11089 {
11090 if (!is_valid_axis(whichgraph, naxis)) {
11091 yyerror("No valid axis selected");
11092 return 1;
11093 }
11094 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
11095 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MINOR;
11096 }
11097 #line 11098 "y.tab.c" /* yacc.c:1646 */
11098 break;
11099
11100 case 522:
11101 #line 4003 "pars.yacc" /* yacc.c:1646 */
11102 {
11103 if (!is_valid_axis(whichgraph, naxis)) {
11104 yyerror("No valid axis selected");
11105 return 1;
11106 }
11107 g[whichgraph].t[naxis]->tl_flag = (yyvsp[0].ival);
11108 }
11109 #line 11110 "y.tab.c" /* yacc.c:1646 */
11110 break;
11111
11112 case 523:
11113 #line 4010 "pars.yacc" /* yacc.c:1646 */
11114 {
11115 if (!is_valid_axis(whichgraph, naxis)) {
11116 yyerror("No valid axis selected");
11117 return 1;
11118 }
11119 g[whichgraph].t[naxis]->tl_prec = (yyvsp[0].ival);
11120 }
11121 #line 11122 "y.tab.c" /* yacc.c:1646 */
11122 break;
11123
11124 case 524:
11125 #line 4017 "pars.yacc" /* yacc.c:1646 */
11126 {
11127 if (!is_valid_axis(whichgraph, naxis)) {
11128 yyerror("No valid axis selected");
11129 return 1;
11130 }
11131 g[whichgraph].t[naxis]->tl_format = (yyvsp[0].ival);
11132 }
11133 #line 11134 "y.tab.c" /* yacc.c:1646 */
11134 break;
11135
11136 case 525:
11137 #line 4024 "pars.yacc" /* yacc.c:1646 */
11138 {
11139 if (!is_valid_axis(whichgraph, naxis)) {
11140 yyerror("No valid axis selected");
11141 return 1;
11142 }
11143 g[whichgraph].t[naxis]->tl_format = (yyvsp[0].dval);
11144 }
11145 #line 11146 "y.tab.c" /* yacc.c:1646 */
11146 break;
11147
11148 case 526:
11149 #line 4031 "pars.yacc" /* yacc.c:1646 */
11150 {
11151 if (!is_valid_axis(whichgraph, naxis)) {
11152 yyerror("No valid axis selected");
11153 return 1;
11154 }
11155 strcpy(g[whichgraph].t[naxis]->tl_appstr, (yyvsp[0].sval));
11156 xfree((yyvsp[0].sval));
11157 }
11158 #line 11159 "y.tab.c" /* yacc.c:1646 */
11159 break;
11160
11161 case 527:
11162 #line 4039 "pars.yacc" /* yacc.c:1646 */
11163 {
11164 if (!is_valid_axis(whichgraph, naxis)) {
11165 yyerror("No valid axis selected");
11166 return 1;
11167 }
11168 strcpy(g[whichgraph].t[naxis]->tl_prestr, (yyvsp[0].sval));
11169 xfree((yyvsp[0].sval));
11170 }
11171 #line 11172 "y.tab.c" /* yacc.c:1646 */
11172 break;
11173
11174 case 528:
11175 #line 4047 "pars.yacc" /* yacc.c:1646 */
11176 {
11177 if (!is_valid_axis(whichgraph, naxis)) {
11178 yyerror("No valid axis selected");
11179 return 1;
11180 }
11181 g[whichgraph].t[naxis]->tl_angle = (yyvsp[0].ival);
11182 }
11183 #line 11184 "y.tab.c" /* yacc.c:1646 */
11184 break;
11185
11186 case 529:
11187 #line 4054 "pars.yacc" /* yacc.c:1646 */
11188 {
11189 if (!is_valid_axis(whichgraph, naxis)) {
11190 yyerror("No valid axis selected");
11191 return 1;
11192 }
11193 g[whichgraph].t[naxis]->tl_skip = (yyvsp[0].ival);
11194 }
11195 #line 11196 "y.tab.c" /* yacc.c:1646 */
11196 break;
11197
11198 case 530:
11199 #line 4061 "pars.yacc" /* yacc.c:1646 */
11200 {
11201 if (!is_valid_axis(whichgraph, naxis)) {
11202 yyerror("No valid axis selected");
11203 return 1;
11204 }
11205 g[whichgraph].t[naxis]->tl_staggered = (yyvsp[0].ival);
11206 }
11207 #line 11208 "y.tab.c" /* yacc.c:1646 */
11208 break;
11209
11210 case 531:
11211 #line 4068 "pars.yacc" /* yacc.c:1646 */
11212 {
11213 if (!is_valid_axis(whichgraph, naxis)) {
11214 yyerror("No valid axis selected");
11215 return 1;
11216 }
11217 g[whichgraph].t[naxis]->tl_op = (yyvsp[0].ival);
11218 }
11219 #line 11220 "y.tab.c" /* yacc.c:1646 */
11220 break;
11221
11222 case 532:
11223 #line 4075 "pars.yacc" /* yacc.c:1646 */
11224 {
11225 if (!is_valid_axis(whichgraph, naxis)) {
11226 yyerror("No valid axis selected");
11227 return 1;
11228 }
11229 g[whichgraph].t[naxis]->tl_formula =
11230 copy_string(g[whichgraph].t[naxis]->tl_formula, (yyvsp[0].sval));
11231 xfree((yyvsp[0].sval));
11232 }
11233 #line 11234 "y.tab.c" /* yacc.c:1646 */
11234 break;
11235
11236 case 533:
11237 #line 4084 "pars.yacc" /* yacc.c:1646 */
11238 {
11239 if (!is_valid_axis(whichgraph, naxis)) {
11240 yyerror("No valid axis selected");
11241 return 1;
11242 }
11243 g[whichgraph].t[naxis]->tl_start = (yyvsp[0].dval);
11244 }
11245 #line 11246 "y.tab.c" /* yacc.c:1646 */
11246 break;
11247
11248 case 534:
11249 #line 4091 "pars.yacc" /* yacc.c:1646 */
11250 {
11251 if (!is_valid_axis(whichgraph, naxis)) {
11252 yyerror("No valid axis selected");
11253 return 1;
11254 }
11255 g[whichgraph].t[naxis]->tl_stop = (yyvsp[0].dval);
11256 }
11257 #line 11258 "y.tab.c" /* yacc.c:1646 */
11258 break;
11259
11260 case 535:
11261 #line 4098 "pars.yacc" /* yacc.c:1646 */
11262 {
11263 if (!is_valid_axis(whichgraph, naxis)) {
11264 yyerror("No valid axis selected");
11265 return 1;
11266 }
11267 g[whichgraph].t[naxis]->tl_starttype = TYPE_SPEC;
11268 }
11269 #line 11270 "y.tab.c" /* yacc.c:1646 */
11270 break;
11271
11272 case 536:
11273 #line 4105 "pars.yacc" /* yacc.c:1646 */
11274 {
11275 if (!is_valid_axis(whichgraph, naxis)) {
11276 yyerror("No valid axis selected");
11277 return 1;
11278 }
11279 g[whichgraph].t[naxis]->tl_starttype = TYPE_AUTO;
11280 }
11281 #line 11282 "y.tab.c" /* yacc.c:1646 */
11282 break;
11283
11284 case 537:
11285 #line 4112 "pars.yacc" /* yacc.c:1646 */
11286 {
11287 if (!is_valid_axis(whichgraph, naxis)) {
11288 yyerror("No valid axis selected");
11289 return 1;
11290 }
11291 g[whichgraph].t[naxis]->tl_stoptype = TYPE_SPEC;
11292 }
11293 #line 11294 "y.tab.c" /* yacc.c:1646 */
11294 break;
11295
11296 case 538:
11297 #line 4119 "pars.yacc" /* yacc.c:1646 */
11298 {
11299 if (!is_valid_axis(whichgraph, naxis)) {
11300 yyerror("No valid axis selected");
11301 return 1;
11302 }
11303 g[whichgraph].t[naxis]->tl_stoptype = TYPE_AUTO;
11304 }
11305 #line 11306 "y.tab.c" /* yacc.c:1646 */
11306 break;
11307
11308 case 539:
11309 #line 4126 "pars.yacc" /* yacc.c:1646 */
11310 {
11311 if (!is_valid_axis(whichgraph, naxis)) {
11312 yyerror("No valid axis selected");
11313 return 1;
11314 }
11315 g[whichgraph].t[naxis]->tl_charsize = (yyvsp[0].dval);
11316 }
11317 #line 11318 "y.tab.c" /* yacc.c:1646 */
11318 break;
11319
11320 case 540:
11321 #line 4133 "pars.yacc" /* yacc.c:1646 */
11322 {
11323 if (!is_valid_axis(whichgraph, naxis)) {
11324 yyerror("No valid axis selected");
11325 return 1;
11326 }
11327 g[whichgraph].t[naxis]->tl_font = (yyvsp[0].ival);
11328 }
11329 #line 11330 "y.tab.c" /* yacc.c:1646 */
11330 break;
11331
11332 case 541:
11333 #line 4140 "pars.yacc" /* yacc.c:1646 */
11334 {
11335 if (!is_valid_axis(whichgraph, naxis)) {
11336 yyerror("No valid axis selected");
11337 return 1;
11338 }
11339 g[whichgraph].t[naxis]->tl_color = (yyvsp[0].ival);
11340 }
11341 #line 11342 "y.tab.c" /* yacc.c:1646 */
11342 break;
11343
11344 case 542:
11345 #line 4147 "pars.yacc" /* yacc.c:1646 */
11346 {
11347 if (!is_valid_axis(whichgraph, naxis)) {
11348 yyerror("No valid axis selected");
11349 xfree((yyvsp[0].sval));
11350 return 1;
11351 }
11352 if ((yyvsp[-2].ival) >= MAX_TICKS) {
11353 yyerror("Number of ticks exceeds maximum");
11354 xfree((yyvsp[0].sval));
11355 return 1;
11356 }
11357 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].label =
11358 copy_string(g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].label, (yyvsp[0].sval));
11359 xfree((yyvsp[0].sval));
11360 }
11361 #line 11362 "y.tab.c" /* yacc.c:1646 */
11362 break;
11363
11364 case 543:
11365 #line 4162 "pars.yacc" /* yacc.c:1646 */
11366 {
11367 if (!is_valid_axis(whichgraph, naxis)) {
11368 yyerror("No valid axis selected");
11369 return 1;
11370 }
11371 g[whichgraph].t[naxis]->tl_gaptype = TYPE_AUTO;
11372 }
11373 #line 11374 "y.tab.c" /* yacc.c:1646 */
11374 break;
11375
11376 case 544:
11377 #line 4169 "pars.yacc" /* yacc.c:1646 */
11378 {
11379 if (!is_valid_axis(whichgraph, naxis)) {
11380 yyerror("No valid axis selected");
11381 return 1;
11382 }
11383 g[whichgraph].t[naxis]->tl_gaptype = TYPE_SPEC;
11384 }
11385 #line 11386 "y.tab.c" /* yacc.c:1646 */
11386 break;
11387
11388 case 545:
11389 #line 4176 "pars.yacc" /* yacc.c:1646 */
11390 {
11391 if (!is_valid_axis(whichgraph, naxis)) {
11392 yyerror("No valid axis selected");
11393 return 1;
11394 }
11395 g[whichgraph].t[naxis]->tl_gap.x = (yyvsp[-2].dval);
11396 g[whichgraph].t[naxis]->tl_gap.y = (yyvsp[0].dval);
11397 }
11398 #line 11399 "y.tab.c" /* yacc.c:1646 */
11399 break;
11400
11401 case 546:
11402 #line 4187 "pars.yacc" /* yacc.c:1646 */
11403 {
11404 if (!is_valid_axis(whichgraph, naxis)) {
11405 yyerror("No valid axis selected");
11406 return 1;
11407 }
11408 set_plotstr_string(&g[whichgraph].t[naxis]->label, (yyvsp[0].sval));
11409 xfree((yyvsp[0].sval));
11410 }
11411 #line 11412 "y.tab.c" /* yacc.c:1646 */
11412 break;
11413
11414 case 547:
11415 #line 4195 "pars.yacc" /* yacc.c:1646 */
11416 {
11417 if (!is_valid_axis(whichgraph, naxis)) {
11418 yyerror("No valid axis selected");
11419 return 1;
11420 }
11421 g[whichgraph].t[naxis]->label_layout = LAYOUT_PERPENDICULAR;
11422 }
11423 #line 11424 "y.tab.c" /* yacc.c:1646 */
11424 break;
11425
11426 case 548:
11427 #line 4202 "pars.yacc" /* yacc.c:1646 */
11428 {
11429 if (!is_valid_axis(whichgraph, naxis)) {
11430 yyerror("No valid axis selected");
11431 return 1;
11432 }
11433 g[whichgraph].t[naxis]->label_layout = LAYOUT_PARALLEL;
11434 }
11435 #line 11436 "y.tab.c" /* yacc.c:1646 */
11436 break;
11437
11438 case 549:
11439 #line 4209 "pars.yacc" /* yacc.c:1646 */
11440 {
11441 if (!is_valid_axis(whichgraph, naxis)) {
11442 yyerror("No valid axis selected");
11443 return 1;
11444 }
11445 g[whichgraph].t[naxis]->label_place = TYPE_AUTO;
11446 }
11447 #line 11448 "y.tab.c" /* yacc.c:1646 */
11448 break;
11449
11450 case 550:
11451 #line 4216 "pars.yacc" /* yacc.c:1646 */
11452 {
11453 if (!is_valid_axis(whichgraph, naxis)) {
11454 yyerror("No valid axis selected");
11455 return 1;
11456 }
11457 g[whichgraph].t[naxis]->label_place = TYPE_SPEC;
11458 }
11459 #line 11460 "y.tab.c" /* yacc.c:1646 */
11460 break;
11461
11462 case 551:
11463 #line 4223 "pars.yacc" /* yacc.c:1646 */
11464 {
11465 if (!is_valid_axis(whichgraph, naxis)) {
11466 yyerror("No valid axis selected");
11467 return 1;
11468 }
11469 g[whichgraph].t[naxis]->label.x = (yyvsp[-2].dval);
11470 g[whichgraph].t[naxis]->label.y = (yyvsp[0].dval);
11471 }
11472 #line 11473 "y.tab.c" /* yacc.c:1646 */
11473 break;
11474
11475 case 552:
11476 #line 4231 "pars.yacc" /* yacc.c:1646 */
11477 {
11478 if (!is_valid_axis(whichgraph, naxis)) {
11479 yyerror("No valid axis selected");
11480 return 1;
11481 }
11482 g[whichgraph].t[naxis]->label.just = (yyvsp[0].ival);
11483 }
11484 #line 11485 "y.tab.c" /* yacc.c:1646 */
11485 break;
11486
11487 case 553:
11488 #line 4238 "pars.yacc" /* yacc.c:1646 */
11489 {
11490 if (!is_valid_axis(whichgraph, naxis)) {
11491 yyerror("No valid axis selected");
11492 return 1;
11493 }
11494 g[whichgraph].t[naxis]->label.charsize = (yyvsp[0].dval);
11495 }
11496 #line 11497 "y.tab.c" /* yacc.c:1646 */
11497 break;
11498
11499 case 554:
11500 #line 4245 "pars.yacc" /* yacc.c:1646 */
11501 {
11502 if (!is_valid_axis(whichgraph, naxis)) {
11503 yyerror("No valid axis selected");
11504 return 1;
11505 }
11506 g[whichgraph].t[naxis]->label.font = (yyvsp[0].ival);
11507 }
11508 #line 11509 "y.tab.c" /* yacc.c:1646 */
11509 break;
11510
11511 case 555:
11512 #line 4252 "pars.yacc" /* yacc.c:1646 */
11513 {
11514 if (!is_valid_axis(whichgraph, naxis)) {
11515 yyerror("No valid axis selected");
11516 return 1;
11517 }
11518 g[whichgraph].t[naxis]->label.color = (yyvsp[0].ival);
11519 }
11520 #line 11521 "y.tab.c" /* yacc.c:1646 */
11521 break;
11522
11523 case 556:
11524 #line 4259 "pars.yacc" /* yacc.c:1646 */
11525 {
11526 if (!is_valid_axis(whichgraph, naxis)) {
11527 yyerror("No valid axis selected");
11528 return 1;
11529 }
11530 g[whichgraph].t[naxis]->label_op = (yyvsp[0].ival);
11531 }
11532 #line 11533 "y.tab.c" /* yacc.c:1646 */
11533 break;
11534
11535 case 557:
11536 #line 4269 "pars.yacc" /* yacc.c:1646 */
11537 {
11538 if (!is_valid_axis(whichgraph, naxis)) {
11539 yyerror("No valid axis selected");
11540 return 1;
11541 }
11542 g[whichgraph].t[naxis]->t_drawbar = (yyvsp[0].ival);
11543 }
11544 #line 11545 "y.tab.c" /* yacc.c:1646 */
11545 break;
11546
11547 case 558:
11548 #line 4276 "pars.yacc" /* yacc.c:1646 */
11549 {
11550 if (!is_valid_axis(whichgraph, naxis)) {
11551 yyerror("No valid axis selected");
11552 return 1;
11553 }
11554 g[whichgraph].t[naxis]->t_drawbarcolor = (yyvsp[0].ival);
11555 }
11556 #line 11557 "y.tab.c" /* yacc.c:1646 */
11557 break;
11558
11559 case 559:
11560 #line 4283 "pars.yacc" /* yacc.c:1646 */
11561 {
11562 if (!is_valid_axis(whichgraph, naxis)) {
11563 yyerror("No valid axis selected");
11564 return 1;
11565 }
11566 g[whichgraph].t[naxis]->t_drawbarlines = (yyvsp[0].ival);
11567 }
11568 #line 11569 "y.tab.c" /* yacc.c:1646 */
11569 break;
11570
11571 case 560:
11572 #line 4290 "pars.yacc" /* yacc.c:1646 */
11573 {
11574 if (!is_valid_axis(whichgraph, naxis)) {
11575 yyerror("No valid axis selected");
11576 return 1;
11577 }
11578 g[whichgraph].t[naxis]->t_drawbarlinew = (yyvsp[0].dval);
11579 }
11580 #line 11581 "y.tab.c" /* yacc.c:1646 */
11581 break;
11582
11583 case 561:
11584 #line 4300 "pars.yacc" /* yacc.c:1646 */
11585 {
11586 nonl_opts.title = copy_string(nonl_opts.title, (yyvsp[0].sval));
11587 xfree((yyvsp[0].sval));
11588 }
11589 #line 11590 "y.tab.c" /* yacc.c:1646 */
11590 break;
11591
11592 case 562:
11593 #line 4304 "pars.yacc" /* yacc.c:1646 */
11594 {
11595 nonl_opts.formula = copy_string(nonl_opts.formula, (yyvsp[0].sval));
11596 xfree((yyvsp[0].sval));
11597 }
11598 #line 11599 "y.tab.c" /* yacc.c:1646 */
11599 break;
11600
11601 case 563:
11602 #line 4308 "pars.yacc" /* yacc.c:1646 */
11603 {
11604 nonl_opts.parnum = (yyvsp[-1].ival);
11605 }
11606 #line 11607 "y.tab.c" /* yacc.c:1646 */
11607 break;
11608
11609 case 564:
11610 #line 4311 "pars.yacc" /* yacc.c:1646 */
11611 {
11612 nonl_opts.tolerance = (yyvsp[0].dval);
11613 }
11614 #line 11615 "y.tab.c" /* yacc.c:1646 */
11615 break;
11616
11617 case 565:
11618 #line 4318 "pars.yacc" /* yacc.c:1646 */
11619 {
11620 (yyval.ival) = (yyvsp[0].ival);
11621 }
11622 #line 11623 "y.tab.c" /* yacc.c:1646 */
11623 break;
11624
11625 case 566:
11626 #line 4322 "pars.yacc" /* yacc.c:1646 */
11627 {
11628 (yyval.ival) = (yyvsp[0].ival);
11629 }
11630 #line 11631 "y.tab.c" /* yacc.c:1646 */
11631 break;
11632
11633 case 567:
11634 #line 4329 "pars.yacc" /* yacc.c:1646 */
11635 {
11636 int gno = (yyvsp[-2].ival), setno = (yyvsp[0].ival);
11637 if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11638 (yyval.trgt) = &trgt_pool[tgtn];
11639 (yyval.trgt)->gno = gno;
11640 (yyval.trgt)->setno = setno;
11641 tgtn++;
11642 } else {
11643 errmsg("Can't allocate referred set");
11644 return 1;
11645 }
11646 }
11647 #line 11648 "y.tab.c" /* yacc.c:1646 */
11648 break;
11649
11650 case 568:
11651 #line 4342 "pars.yacc" /* yacc.c:1646 */
11652 {
11653 int gno = (yyvsp[-3].ival), setno = (yyvsp[0].ival);
11654 if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11655 (yyval.trgt) = &trgt_pool[tgtn];
11656 (yyval.trgt)->gno = gno;
11657 (yyval.trgt)->setno = setno;
11658 tgtn++;
11659 } else {
11660 errmsg("Can't allocate referred set");
11661 return 1;
11662 }
11663 }
11664 #line 11665 "y.tab.c" /* yacc.c:1646 */
11665 break;
11666
11667 case 569:
11668 #line 4355 "pars.yacc" /* yacc.c:1646 */
11669 {
11670 int gno = whichgraph, setno = (yyvsp[0].ival);
11671 if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11672 (yyval.trgt) = &trgt_pool[tgtn];
11673 (yyval.trgt)->gno = gno;
11674 (yyval.trgt)->setno = setno;
11675 tgtn++;
11676 } else {
11677 errmsg("Can't allocate referred set");
11678 return 1;
11679 }
11680 }
11681 #line 11682 "y.tab.c" /* yacc.c:1646 */
11682 break;
11683
11684 case 570:
11685 #line 4368 "pars.yacc" /* yacc.c:1646 */
11686 {
11687 int gno = whichgraph, setno = (yyvsp[0].ival);
11688 if (allocate_set(gno, setno) == RETURN_SUCCESS) {
11689 (yyval.trgt) = &trgt_pool[tgtn];
11690 (yyval.trgt)->gno = gno;
11691 (yyval.trgt)->setno = setno;
11692 tgtn++;
11693 } else {
11694 errmsg("Can't allocate referred set");
11695 return 1;
11696 }
11697 }
11698 #line 11699 "y.tab.c" /* yacc.c:1646 */
11699 break;
11700
11701 case 571:
11702 #line 4383 "pars.yacc" /* yacc.c:1646 */
11703 {}
11704 #line 11705 "y.tab.c" /* yacc.c:1646 */
11705 break;
11706
11707 case 572:
11708 #line 4384 "pars.yacc" /* yacc.c:1646 */
11709 {}
11710 #line 11711 "y.tab.c" /* yacc.c:1646 */
11711 break;
11712
11713 case 573:
11714 #line 4388 "pars.yacc" /* yacc.c:1646 */
11715 { naxis = X_AXIS; }
11716 #line 11717 "y.tab.c" /* yacc.c:1646 */
11717 break;
11718
11719 case 574:
11720 #line 4389 "pars.yacc" /* yacc.c:1646 */
11721 { naxis = Y_AXIS; }
11722 #line 11723 "y.tab.c" /* yacc.c:1646 */
11723 break;
11724
11725 case 575:
11726 #line 4390 "pars.yacc" /* yacc.c:1646 */
11727 { naxis = ZX_AXIS; }
11728 #line 11729 "y.tab.c" /* yacc.c:1646 */
11729 break;
11730
11731 case 576:
11732 #line 4391 "pars.yacc" /* yacc.c:1646 */
11733 { naxis = ZY_AXIS; }
11734 #line 11735 "y.tab.c" /* yacc.c:1646 */
11735 break;
11736
11737 case 577:
11738 #line 4395 "pars.yacc" /* yacc.c:1646 */
11739 { (yyval.ival) = CONSTANT; }
11740 #line 11741 "y.tab.c" /* yacc.c:1646 */
11741 break;
11742
11743 case 578:
11744 #line 4396 "pars.yacc" /* yacc.c:1646 */
11745 { (yyval.ival) = UCONSTANT; }
11746 #line 11747 "y.tab.c" /* yacc.c:1646 */
11747 break;
11748
11749 case 579:
11750 #line 4397 "pars.yacc" /* yacc.c:1646 */
11751 { (yyval.ival) = FUNC_I; }
11752 #line 11753 "y.tab.c" /* yacc.c:1646 */
11753 break;
11754
11755 case 580:
11756 #line 4398 "pars.yacc" /* yacc.c:1646 */
11757 { (yyval.ival) = FUNC_D; }
11758 #line 11759 "y.tab.c" /* yacc.c:1646 */
11759 break;
11760
11761 case 581:
11762 #line 4399 "pars.yacc" /* yacc.c:1646 */
11763 { (yyval.ival) = FUNC_ND; }
11764 #line 11765 "y.tab.c" /* yacc.c:1646 */
11765 break;
11766
11767 case 582:
11768 #line 4400 "pars.yacc" /* yacc.c:1646 */
11769 { (yyval.ival) = FUNC_NN; }
11770 #line 11771 "y.tab.c" /* yacc.c:1646 */
11771 break;
11772
11773 case 583:
11774 #line 4401 "pars.yacc" /* yacc.c:1646 */
11775 { (yyval.ival) = FUNC_DD; }
11776 #line 11777 "y.tab.c" /* yacc.c:1646 */
11777 break;
11778
11779 case 584:
11780 #line 4402 "pars.yacc" /* yacc.c:1646 */
11781 { (yyval.ival) = FUNC_NND; }
11782 #line 11783 "y.tab.c" /* yacc.c:1646 */
11783 break;
11784
11785 case 585:
11786 #line 4403 "pars.yacc" /* yacc.c:1646 */
11787 { (yyval.ival) = FUNC_PPD; }
11788 #line 11789 "y.tab.c" /* yacc.c:1646 */
11789 break;
11790
11791 case 586:
11792 #line 4404 "pars.yacc" /* yacc.c:1646 */
11793 { (yyval.ival) = FUNC_PPPD; }
11794 #line 11795 "y.tab.c" /* yacc.c:1646 */
11795 break;
11796
11797 case 587:
11798 #line 4405 "pars.yacc" /* yacc.c:1646 */
11799 { (yyval.ival) = FUNC_PPPPD; }
11800 #line 11801 "y.tab.c" /* yacc.c:1646 */
11801 break;
11802
11803 case 588:
11804 #line 4406 "pars.yacc" /* yacc.c:1646 */
11805 { (yyval.ival) = FUNC_PPPPPD; }
11806 #line 11807 "y.tab.c" /* yacc.c:1646 */
11807 break;
11808
11809 case 589:
11810 #line 4410 "pars.yacc" /* yacc.c:1646 */
11811 { (yyval.ival) = TICKS_SPEC_NONE; }
11812 #line 11813 "y.tab.c" /* yacc.c:1646 */
11813 break;
11814
11815 case 590:
11816 #line 4411 "pars.yacc" /* yacc.c:1646 */
11817 { (yyval.ival) = TICKS_SPEC_MARKS; }
11818 #line 11819 "y.tab.c" /* yacc.c:1646 */
11819 break;
11820
11821 case 591:
11822 #line 4412 "pars.yacc" /* yacc.c:1646 */
11823 { (yyval.ival) = TICKS_SPEC_BOTH; }
11824 #line 11825 "y.tab.c" /* yacc.c:1646 */
11825 break;
11826
11827 case 592:
11828 #line 4416 "pars.yacc" /* yacc.c:1646 */
11829 { (yyval.ival) = FILTER_INPUT; }
11830 #line 11831 "y.tab.c" /* yacc.c:1646 */
11831 break;
11832
11833 case 593:
11834 #line 4417 "pars.yacc" /* yacc.c:1646 */
11835 { (yyval.ival) = FILTER_OUTPUT; }
11836 #line 11837 "y.tab.c" /* yacc.c:1646 */
11837 break;
11838
11839 case 594:
11840 #line 4421 "pars.yacc" /* yacc.c:1646 */
11841 { (yyval.ival) = FILTER_MAGIC; }
11842 #line 11843 "y.tab.c" /* yacc.c:1646 */
11843 break;
11844
11845 case 595:
11846 #line 4422 "pars.yacc" /* yacc.c:1646 */
11847 { (yyval.ival) = FILTER_PATTERN; }
11848 #line 11849 "y.tab.c" /* yacc.c:1646 */
11849 break;
11850
11851 case 596:
11852 #line 4426 "pars.yacc" /* yacc.c:1646 */
11853 { (yyval.ival) = SET_XY; }
11854 #line 11855 "y.tab.c" /* yacc.c:1646 */
11855 break;
11856
11857 case 597:
11858 #line 4427 "pars.yacc" /* yacc.c:1646 */
11859 { (yyval.ival) = SET_BAR; }
11860 #line 11861 "y.tab.c" /* yacc.c:1646 */
11861 break;
11862
11863 case 598:
11864 #line 4428 "pars.yacc" /* yacc.c:1646 */
11865 { (yyval.ival) = SET_BARDY; }
11866 #line 11867 "y.tab.c" /* yacc.c:1646 */
11867 break;
11868
11869 case 599:
11870 #line 4429 "pars.yacc" /* yacc.c:1646 */
11871 { (yyval.ival) = SET_BARDYDY; }
11872 #line 11873 "y.tab.c" /* yacc.c:1646 */
11873 break;
11874
11875 case 600:
11876 #line 4430 "pars.yacc" /* yacc.c:1646 */
11877 { (yyval.ival) = SET_XYZ; }
11878 #line 11879 "y.tab.c" /* yacc.c:1646 */
11879 break;
11880
11881 case 601:
11882 #line 4431 "pars.yacc" /* yacc.c:1646 */
11883 { (yyval.ival) = SET_XYDX; }
11884 #line 11885 "y.tab.c" /* yacc.c:1646 */
11885 break;
11886
11887 case 602:
11888 #line 4432 "pars.yacc" /* yacc.c:1646 */
11889 { (yyval.ival) = SET_XYDY; }
11890 #line 11891 "y.tab.c" /* yacc.c:1646 */
11891 break;
11892
11893 case 603:
11894 #line 4433 "pars.yacc" /* yacc.c:1646 */
11895 { (yyval.ival) = SET_XYDXDX; }
11896 #line 11897 "y.tab.c" /* yacc.c:1646 */
11897 break;
11898
11899 case 604:
11900 #line 4434 "pars.yacc" /* yacc.c:1646 */
11901 { (yyval.ival) = SET_XYDYDY; }
11902 #line 11903 "y.tab.c" /* yacc.c:1646 */
11903 break;
11904
11905 case 605:
11906 #line 4435 "pars.yacc" /* yacc.c:1646 */
11907 { (yyval.ival) = SET_XYDXDY; }
11908 #line 11909 "y.tab.c" /* yacc.c:1646 */
11909 break;
11910
11911 case 606:
11912 #line 4436 "pars.yacc" /* yacc.c:1646 */
11913 { (yyval.ival) = SET_XYDXDXDYDY; }
11914 #line 11915 "y.tab.c" /* yacc.c:1646 */
11915 break;
11916
11917 case 607:
11918 #line 4437 "pars.yacc" /* yacc.c:1646 */
11919 { (yyval.ival) = SET_XYHILO; }
11920 #line 11921 "y.tab.c" /* yacc.c:1646 */
11921 break;
11922
11923 case 608:
11924 #line 4438 "pars.yacc" /* yacc.c:1646 */
11925 { (yyval.ival) = SET_XYR; }
11926 #line 11927 "y.tab.c" /* yacc.c:1646 */
11927 break;
11928
11929 case 609:
11930 #line 4439 "pars.yacc" /* yacc.c:1646 */
11931 { (yyval.ival) = SET_XYSIZE; }
11932 #line 11933 "y.tab.c" /* yacc.c:1646 */
11933 break;
11934
11935 case 610:
11936 #line 4440 "pars.yacc" /* yacc.c:1646 */
11937 { (yyval.ival) = SET_XYCOLOR; }
11938 #line 11939 "y.tab.c" /* yacc.c:1646 */
11939 break;
11940
11941 case 611:
11942 #line 4441 "pars.yacc" /* yacc.c:1646 */
11943 { (yyval.ival) = SET_XYCOLPAT; }
11944 #line 11945 "y.tab.c" /* yacc.c:1646 */
11945 break;
11946
11947 case 612:
11948 #line 4442 "pars.yacc" /* yacc.c:1646 */
11949 { (yyval.ival) = SET_XYVMAP; }
11950 #line 11951 "y.tab.c" /* yacc.c:1646 */
11951 break;
11952
11953 case 613:
11954 #line 4443 "pars.yacc" /* yacc.c:1646 */
11955 { (yyval.ival) = SET_BOXPLOT; }
11956 #line 11957 "y.tab.c" /* yacc.c:1646 */
11957 break;
11958
11959 case 614:
11960 #line 4444 "pars.yacc" /* yacc.c:1646 */
11961 { (yyval.ival) = SET_XY; }
11962 #line 11963 "y.tab.c" /* yacc.c:1646 */
11963 break;
11964
11965 case 615:
11966 #line 4448 "pars.yacc" /* yacc.c:1646 */
11967 { (yyval.ival) = GRAPH_XY; }
11968 #line 11969 "y.tab.c" /* yacc.c:1646 */
11969 break;
11970
11971 case 616:
11972 #line 4449 "pars.yacc" /* yacc.c:1646 */
11973 { (yyval.ival) = GRAPH_CHART; }
11974 #line 11975 "y.tab.c" /* yacc.c:1646 */
11975 break;
11976
11977 case 617:
11978 #line 4450 "pars.yacc" /* yacc.c:1646 */
11979 { (yyval.ival) = GRAPH_POLAR; }
11980 #line 11981 "y.tab.c" /* yacc.c:1646 */
11981 break;
11982
11983 case 618:
11984 #line 4451 "pars.yacc" /* yacc.c:1646 */
11985 { (yyval.ival) = GRAPH_SMITH; }
11986 #line 11987 "y.tab.c" /* yacc.c:1646 */
11987 break;
11988
11989 case 619:
11990 #line 4452 "pars.yacc" /* yacc.c:1646 */
11991 { (yyval.ival) = GRAPH_FIXED; }
11992 #line 11993 "y.tab.c" /* yacc.c:1646 */
11993 break;
11994
11995 case 620:
11996 #line 4453 "pars.yacc" /* yacc.c:1646 */
11997 { (yyval.ival) = GRAPH_PIE; }
11998 #line 11999 "y.tab.c" /* yacc.c:1646 */
11999 break;
12000
12001 case 621:
12002 #line 4457 "pars.yacc" /* yacc.c:1646 */
12003 { (yyval.ival) = PAGE_FREE; }
12004 #line 12005 "y.tab.c" /* yacc.c:1646 */
12005 break;
12006
12007 case 622:
12008 #line 4458 "pars.yacc" /* yacc.c:1646 */
12009 { (yyval.ival) = PAGE_FIXED; }
12010 #line 12011 "y.tab.c" /* yacc.c:1646 */
12011 break;
12012
12013 case 623:
12014 #line 4462 "pars.yacc" /* yacc.c:1646 */
12015 { (yyval.ival) = PAGE_ORIENT_LANDSCAPE; }
12016 #line 12017 "y.tab.c" /* yacc.c:1646 */
12017 break;
12018
12019 case 624:
12020 #line 4463 "pars.yacc" /* yacc.c:1646 */
12021 { (yyval.ival) = PAGE_ORIENT_PORTRAIT; }
12022 #line 12023 "y.tab.c" /* yacc.c:1646 */
12023 break;
12024
12025 case 625:
12026 #line 4467 "pars.yacc" /* yacc.c:1646 */
12027 { (yyval.ival) = REGION_ABOVE; }
12028 #line 12029 "y.tab.c" /* yacc.c:1646 */
12029 break;
12030
12031 case 626:
12032 #line 4468 "pars.yacc" /* yacc.c:1646 */
12033 { (yyval.ival) = REGION_BELOW; }
12034 #line 12035 "y.tab.c" /* yacc.c:1646 */
12035 break;
12036
12037 case 627:
12038 #line 4469 "pars.yacc" /* yacc.c:1646 */
12039 { (yyval.ival) = REGION_TOLEFT; }
12040 #line 12041 "y.tab.c" /* yacc.c:1646 */
12041 break;
12042
12043 case 628:
12044 #line 4470 "pars.yacc" /* yacc.c:1646 */
12045 { (yyval.ival) = REGION_TORIGHT; }
12046 #line 12047 "y.tab.c" /* yacc.c:1646 */
12047 break;
12048
12049 case 629:
12050 #line 4471 "pars.yacc" /* yacc.c:1646 */
12051 { (yyval.ival) = REGION_POLYI; }
12052 #line 12053 "y.tab.c" /* yacc.c:1646 */
12053 break;
12054
12055 case 630:
12056 #line 4472 "pars.yacc" /* yacc.c:1646 */
12057 { (yyval.ival) = REGION_POLYO; }
12058 #line 12059 "y.tab.c" /* yacc.c:1646 */
12059 break;
12060
12061 case 631:
12062 #line 4473 "pars.yacc" /* yacc.c:1646 */
12063 { (yyval.ival) = REGION_HORIZI; }
12064 #line 12065 "y.tab.c" /* yacc.c:1646 */
12065 break;
12066
12067 case 632:
12068 #line 4474 "pars.yacc" /* yacc.c:1646 */
12069 { (yyval.ival) = REGION_VERTI; }
12070 #line 12071 "y.tab.c" /* yacc.c:1646 */
12071 break;
12072
12073 case 633:
12074 #line 4475 "pars.yacc" /* yacc.c:1646 */
12075 { (yyval.ival) = REGION_HORIZO; }
12076 #line 12077 "y.tab.c" /* yacc.c:1646 */
12077 break;
12078
12079 case 634:
12080 #line 4476 "pars.yacc" /* yacc.c:1646 */
12081 { (yyval.ival) = REGION_VERTO; }
12082 #line 12083 "y.tab.c" /* yacc.c:1646 */
12083 break;
12084
12085 case 635:
12086 #line 4479 "pars.yacc" /* yacc.c:1646 */
12087 { (yyval.ival) = SCALE_NORMAL; }
12088 #line 12089 "y.tab.c" /* yacc.c:1646 */
12089 break;
12090
12091 case 636:
12092 #line 4480 "pars.yacc" /* yacc.c:1646 */
12093 { (yyval.ival) = SCALE_LOG; }
12094 #line 12095 "y.tab.c" /* yacc.c:1646 */
12095 break;
12096
12097 case 637:
12098 #line 4481 "pars.yacc" /* yacc.c:1646 */
12099 { (yyval.ival) = SCALE_REC; }
12100 #line 12101 "y.tab.c" /* yacc.c:1646 */
12101 break;
12102
12103 case 638:
12104 #line 4482 "pars.yacc" /* yacc.c:1646 */
12105 { (yyval.ival) = SCALE_LOGIT; }
12106 #line 12107 "y.tab.c" /* yacc.c:1646 */
12107 break;
12108
12109 case 639:
12110 #line 4485 "pars.yacc" /* yacc.c:1646 */
12111 { (yyval.ival) = TRUE; }
12112 #line 12113 "y.tab.c" /* yacc.c:1646 */
12113 break;
12114
12115 case 640:
12116 #line 4486 "pars.yacc" /* yacc.c:1646 */
12117 { (yyval.ival) = FALSE; }
12118 #line 12119 "y.tab.c" /* yacc.c:1646 */
12119 break;
12120
12121 case 641:
12122 #line 4489 "pars.yacc" /* yacc.c:1646 */
12123 { (yyval.ival) = RUN_AVG; }
12124 #line 12125 "y.tab.c" /* yacc.c:1646 */
12125 break;
12126
12127 case 642:
12128 #line 4490 "pars.yacc" /* yacc.c:1646 */
12129 { (yyval.ival) = RUN_STD; }
12130 #line 12131 "y.tab.c" /* yacc.c:1646 */
12131 break;
12132
12133 case 643:
12134 #line 4491 "pars.yacc" /* yacc.c:1646 */
12135 { (yyval.ival) = RUN_MED; }
12136 #line 12137 "y.tab.c" /* yacc.c:1646 */
12137 break;
12138
12139 case 644:
12140 #line 4492 "pars.yacc" /* yacc.c:1646 */
12141 { (yyval.ival) = RUN_MAX; }
12142 #line 12143 "y.tab.c" /* yacc.c:1646 */
12143 break;
12144
12145 case 645:
12146 #line 4493 "pars.yacc" /* yacc.c:1646 */
12147 { (yyval.ival) = RUN_MIN; }
12148 #line 12149 "y.tab.c" /* yacc.c:1646 */
12149 break;
12150
12151 case 646:
12152 #line 4497 "pars.yacc" /* yacc.c:1646 */
12153 { (yyval.ival) = SOURCE_DISK; }
12154 #line 12155 "y.tab.c" /* yacc.c:1646 */
12155 break;
12156
12157 case 647:
12158 #line 4498 "pars.yacc" /* yacc.c:1646 */
12159 {
12160 if (!safe_mode) {
12161 (yyval.ival) = SOURCE_PIPE;
12162 } else {
12163 yyerror("Pipe inputs are disabled in safe mode");
12164 (yyval.ival) = SOURCE_DISK;
12165 }
12166 }
12167 #line 12168 "y.tab.c" /* yacc.c:1646 */
12168 break;
12169
12170 case 648:
12171 #line 4508 "pars.yacc" /* yacc.c:1646 */
12172 { (yyval.ival) = JUST_RIGHT; }
12173 #line 12174 "y.tab.c" /* yacc.c:1646 */
12174 break;
12175
12176 case 649:
12177 #line 4509 "pars.yacc" /* yacc.c:1646 */
12178 { (yyval.ival) = JUST_LEFT; }
12179 #line 12180 "y.tab.c" /* yacc.c:1646 */
12180 break;
12181
12182 case 650:
12183 #line 4510 "pars.yacc" /* yacc.c:1646 */
12184 { (yyval.ival) = JUST_CENTER; }
12185 #line 12186 "y.tab.c" /* yacc.c:1646 */
12186 break;
12187
12188 case 651:
12189 #line 4513 "pars.yacc" /* yacc.c:1646 */
12190 { (yyval.ival) = TICKS_IN; }
12191 #line 12192 "y.tab.c" /* yacc.c:1646 */
12192 break;
12193
12194 case 652:
12195 #line 4514 "pars.yacc" /* yacc.c:1646 */
12196 { (yyval.ival) = TICKS_OUT; }
12197 #line 12198 "y.tab.c" /* yacc.c:1646 */
12198 break;
12199
12200 case 653:
12201 #line 4515 "pars.yacc" /* yacc.c:1646 */
12202 { (yyval.ival) = TICKS_BOTH; }
12203 #line 12204 "y.tab.c" /* yacc.c:1646 */
12204 break;
12205
12206 case 654:
12207 #line 4518 "pars.yacc" /* yacc.c:1646 */
12208 { (yyval.ival) = FORMAT_DECIMAL; }
12209 #line 12210 "y.tab.c" /* yacc.c:1646 */
12210 break;
12211
12212 case 655:
12213 #line 4519 "pars.yacc" /* yacc.c:1646 */
12214 { (yyval.ival) = FORMAT_EXPONENTIAL; }
12215 #line 12216 "y.tab.c" /* yacc.c:1646 */
12216 break;
12217
12218 case 656:
12219 #line 4520 "pars.yacc" /* yacc.c:1646 */
12220 { (yyval.ival) = FORMAT_GENERAL; }
12221 #line 12222 "y.tab.c" /* yacc.c:1646 */
12222 break;
12223
12224 case 657:
12225 #line 4521 "pars.yacc" /* yacc.c:1646 */
12226 { (yyval.ival) = FORMAT_SCIENTIFIC; }
12227 #line 12228 "y.tab.c" /* yacc.c:1646 */
12228 break;
12229
12230 case 658:
12231 #line 4522 "pars.yacc" /* yacc.c:1646 */
12232 { (yyval.ival) = FORMAT_ENGINEERING; }
12233 #line 12234 "y.tab.c" /* yacc.c:1646 */
12234 break;
12235
12236 case 659:
12237 #line 4523 "pars.yacc" /* yacc.c:1646 */
12238 { (yyval.ival) = FORMAT_COMPUTING; }
12239 #line 12240 "y.tab.c" /* yacc.c:1646 */
12240 break;
12241
12242 case 660:
12243 #line 4524 "pars.yacc" /* yacc.c:1646 */
12244 { (yyval.ival) = FORMAT_POWER; }
12245 #line 12246 "y.tab.c" /* yacc.c:1646 */
12246 break;
12247
12248 case 661:
12249 #line 4525 "pars.yacc" /* yacc.c:1646 */
12250 { (yyval.ival) = FORMAT_DDMMYY; }
12251 #line 12252 "y.tab.c" /* yacc.c:1646 */
12252 break;
12253
12254 case 662:
12255 #line 4526 "pars.yacc" /* yacc.c:1646 */
12256 { (yyval.ival) = FORMAT_MMDDYY; }
12257 #line 12258 "y.tab.c" /* yacc.c:1646 */
12258 break;
12259
12260 case 663:
12261 #line 4527 "pars.yacc" /* yacc.c:1646 */
12262 { (yyval.ival) = FORMAT_YYMMDD; }
12263 #line 12264 "y.tab.c" /* yacc.c:1646 */
12264 break;
12265
12266 case 664:
12267 #line 4528 "pars.yacc" /* yacc.c:1646 */
12268 { (yyval.ival) = FORMAT_MMYY; }
12269 #line 12270 "y.tab.c" /* yacc.c:1646 */
12270 break;
12271
12272 case 665:
12273 #line 4529 "pars.yacc" /* yacc.c:1646 */
12274 { (yyval.ival) = FORMAT_MMDD; }
12275 #line 12276 "y.tab.c" /* yacc.c:1646 */
12276 break;
12277
12278 case 666:
12279 #line 4530 "pars.yacc" /* yacc.c:1646 */
12280 { (yyval.ival) = FORMAT_MONTHDAY; }
12281 #line 12282 "y.tab.c" /* yacc.c:1646 */
12282 break;
12283
12284 case 667:
12285 #line 4531 "pars.yacc" /* yacc.c:1646 */
12286 { (yyval.ival) = FORMAT_DAYMONTH; }
12287 #line 12288 "y.tab.c" /* yacc.c:1646 */
12288 break;
12289
12290 case 668:
12291 #line 4532 "pars.yacc" /* yacc.c:1646 */
12292 { (yyval.ival) = FORMAT_MONTHS; }
12293 #line 12294 "y.tab.c" /* yacc.c:1646 */
12294 break;
12295
12296 case 669:
12297 #line 4533 "pars.yacc" /* yacc.c:1646 */
12298 { (yyval.ival) = FORMAT_MONTHSY; }
12299 #line 12300 "y.tab.c" /* yacc.c:1646 */
12300 break;
12301
12302 case 670:
12303 #line 4534 "pars.yacc" /* yacc.c:1646 */
12304 { (yyval.ival) = FORMAT_MONTHL; }
12305 #line 12306 "y.tab.c" /* yacc.c:1646 */
12306 break;
12307
12308 case 671:
12309 #line 4535 "pars.yacc" /* yacc.c:1646 */
12310 { (yyval.ival) = FORMAT_DAYOFWEEKS; }
12311 #line 12312 "y.tab.c" /* yacc.c:1646 */
12312 break;
12313
12314 case 672:
12315 #line 4536 "pars.yacc" /* yacc.c:1646 */
12316 { (yyval.ival) = FORMAT_DAYOFWEEKL; }
12317 #line 12318 "y.tab.c" /* yacc.c:1646 */
12318 break;
12319
12320 case 673:
12321 #line 4537 "pars.yacc" /* yacc.c:1646 */
12322 { (yyval.ival) = FORMAT_DAYOFYEAR; }
12323 #line 12324 "y.tab.c" /* yacc.c:1646 */
12324 break;
12325
12326 case 674:
12327 #line 4538 "pars.yacc" /* yacc.c:1646 */
12328 { (yyval.ival) = FORMAT_HMS; }
12329 #line 12330 "y.tab.c" /* yacc.c:1646 */
12330 break;
12331
12332 case 675:
12333 #line 4539 "pars.yacc" /* yacc.c:1646 */
12334 { (yyval.ival) = FORMAT_MMDDHMS; }
12335 #line 12336 "y.tab.c" /* yacc.c:1646 */
12336 break;
12337
12338 case 676:
12339 #line 4540 "pars.yacc" /* yacc.c:1646 */
12340 { (yyval.ival) = FORMAT_MMDDYYHMS; }
12341 #line 12342 "y.tab.c" /* yacc.c:1646 */
12342 break;
12343
12344 case 677:
12345 #line 4541 "pars.yacc" /* yacc.c:1646 */
12346 { (yyval.ival) = FORMAT_YYMMDDHMS; }
12347 #line 12348 "y.tab.c" /* yacc.c:1646 */
12348 break;
12349
12350 case 678:
12351 #line 4542 "pars.yacc" /* yacc.c:1646 */
12352 { (yyval.ival) = FORMAT_DEGREESLON; }
12353 #line 12354 "y.tab.c" /* yacc.c:1646 */
12354 break;
12355
12356 case 679:
12357 #line 4543 "pars.yacc" /* yacc.c:1646 */
12358 { (yyval.ival) = FORMAT_DEGREESMMLON; }
12359 #line 12360 "y.tab.c" /* yacc.c:1646 */
12360 break;
12361
12362 case 680:
12363 #line 4544 "pars.yacc" /* yacc.c:1646 */
12364 { (yyval.ival) = FORMAT_DEGREESMMSSLON; }
12365 #line 12366 "y.tab.c" /* yacc.c:1646 */
12366 break;
12367
12368 case 681:
12369 #line 4545 "pars.yacc" /* yacc.c:1646 */
12370 { (yyval.ival) = FORMAT_MMSSLON; }
12371 #line 12372 "y.tab.c" /* yacc.c:1646 */
12372 break;
12373
12374 case 682:
12375 #line 4546 "pars.yacc" /* yacc.c:1646 */
12376 { (yyval.ival) = FORMAT_DEGREESLAT; }
12377 #line 12378 "y.tab.c" /* yacc.c:1646 */
12378 break;
12379
12380 case 683:
12381 #line 4547 "pars.yacc" /* yacc.c:1646 */
12382 { (yyval.ival) = FORMAT_DEGREESMMLAT; }
12383 #line 12384 "y.tab.c" /* yacc.c:1646 */
12384 break;
12385
12386 case 684:
12387 #line 4548 "pars.yacc" /* yacc.c:1646 */
12388 { (yyval.ival) = FORMAT_DEGREESMMSSLAT; }
12389 #line 12390 "y.tab.c" /* yacc.c:1646 */
12390 break;
12391
12392 case 685:
12393 #line 4549 "pars.yacc" /* yacc.c:1646 */
12394 { (yyval.ival) = FORMAT_MMSSLAT; }
12395 #line 12396 "y.tab.c" /* yacc.c:1646 */
12396 break;
12397
12398 case 686:
12399 #line 4552 "pars.yacc" /* yacc.c:1646 */
12400 { (yyval.ival) = SIGN_NORMAL; }
12401 #line 12402 "y.tab.c" /* yacc.c:1646 */
12402 break;
12403
12404 case 687:
12405 #line 4553 "pars.yacc" /* yacc.c:1646 */
12406 { (yyval.ival) = SIGN_ABSOLUTE; }
12407 #line 12408 "y.tab.c" /* yacc.c:1646 */
12408 break;
12409
12410 case 688:
12411 #line 4554 "pars.yacc" /* yacc.c:1646 */
12412 { (yyval.ival) = SIGN_NEGATE; }
12413 #line 12414 "y.tab.c" /* yacc.c:1646 */
12414 break;
12415
12416 case 689:
12417 #line 4557 "pars.yacc" /* yacc.c:1646 */
12418 { (yyval.ival) = UP; }
12419 #line 12420 "y.tab.c" /* yacc.c:1646 */
12420 break;
12421
12422 case 690:
12423 #line 4558 "pars.yacc" /* yacc.c:1646 */
12424 { (yyval.ival) = DOWN; }
12425 #line 12426 "y.tab.c" /* yacc.c:1646 */
12426 break;
12427
12428 case 691:
12429 #line 4559 "pars.yacc" /* yacc.c:1646 */
12430 { (yyval.ival) = RIGHT; }
12431 #line 12432 "y.tab.c" /* yacc.c:1646 */
12432 break;
12433
12434 case 692:
12435 #line 4560 "pars.yacc" /* yacc.c:1646 */
12436 { (yyval.ival) = LEFT; }
12437 #line 12438 "y.tab.c" /* yacc.c:1646 */
12438 break;
12439
12440 case 693:
12441 #line 4561 "pars.yacc" /* yacc.c:1646 */
12442 { (yyval.ival) = IN; }
12443 #line 12444 "y.tab.c" /* yacc.c:1646 */
12444 break;
12445
12446 case 694:
12447 #line 4562 "pars.yacc" /* yacc.c:1646 */
12448 { (yyval.ival) = OUT; }
12449 #line 12450 "y.tab.c" /* yacc.c:1646 */
12450 break;
12451
12452 case 695:
12453 #line 4565 "pars.yacc" /* yacc.c:1646 */
12454 { (yyval.ival) = COORD_WORLD; }
12455 #line 12456 "y.tab.c" /* yacc.c:1646 */
12456 break;
12457
12458 case 696:
12459 #line 4566 "pars.yacc" /* yacc.c:1646 */
12460 { (yyval.ival) = COORD_VIEW; }
12461 #line 12462 "y.tab.c" /* yacc.c:1646 */
12462 break;
12463
12464 case 697:
12465 #line 4569 "pars.yacc" /* yacc.c:1646 */
12466 { (yyval.ival) = DATA_X; }
12467 #line 12468 "y.tab.c" /* yacc.c:1646 */
12468 break;
12469
12470 case 698:
12471 #line 4570 "pars.yacc" /* yacc.c:1646 */
12472 { (yyval.ival) = DATA_Y; }
12473 #line 12474 "y.tab.c" /* yacc.c:1646 */
12474 break;
12475
12476 case 699:
12477 #line 4571 "pars.yacc" /* yacc.c:1646 */
12478 { (yyval.ival) = DATA_X; }
12479 #line 12480 "y.tab.c" /* yacc.c:1646 */
12480 break;
12481
12482 case 700:
12483 #line 4572 "pars.yacc" /* yacc.c:1646 */
12484 { (yyval.ival) = DATA_Y; }
12485 #line 12486 "y.tab.c" /* yacc.c:1646 */
12486 break;
12487
12488 case 701:
12489 #line 4573 "pars.yacc" /* yacc.c:1646 */
12490 { (yyval.ival) = DATA_Y1; }
12491 #line 12492 "y.tab.c" /* yacc.c:1646 */
12492 break;
12493
12494 case 702:
12495 #line 4574 "pars.yacc" /* yacc.c:1646 */
12496 { (yyval.ival) = DATA_Y2; }
12497 #line 12498 "y.tab.c" /* yacc.c:1646 */
12498 break;
12499
12500 case 703:
12501 #line 4575 "pars.yacc" /* yacc.c:1646 */
12502 { (yyval.ival) = DATA_Y3; }
12503 #line 12504 "y.tab.c" /* yacc.c:1646 */
12504 break;
12505
12506 case 704:
12507 #line 4576 "pars.yacc" /* yacc.c:1646 */
12508 { (yyval.ival) = DATA_Y4; }
12509 #line 12510 "y.tab.c" /* yacc.c:1646 */
12510 break;
12511
12512 case 705:
12513 #line 4579 "pars.yacc" /* yacc.c:1646 */
12514 { (yyval.ival) = ASCENDING; }
12515 #line 12516 "y.tab.c" /* yacc.c:1646 */
12516 break;
12517
12518 case 706:
12519 #line 4580 "pars.yacc" /* yacc.c:1646 */
12520 { (yyval.ival) = DESCENDING; }
12521 #line 12522 "y.tab.c" /* yacc.c:1646 */
12522 break;
12523
12524 case 707:
12525 #line 4583 "pars.yacc" /* yacc.c:1646 */
12526 { (yyval.ival) = DATA_X; }
12527 #line 12528 "y.tab.c" /* yacc.c:1646 */
12528 break;
12529
12530 case 708:
12531 #line 4584 "pars.yacc" /* yacc.c:1646 */
12532 { (yyval.ival) = DATA_Y; }
12533 #line 12534 "y.tab.c" /* yacc.c:1646 */
12534 break;
12535
12536 case 709:
12537 #line 4587 "pars.yacc" /* yacc.c:1646 */
12538 { (yyval.ival) = FFT_DFT; }
12539 #line 12540 "y.tab.c" /* yacc.c:1646 */
12540 break;
12541
12542 case 710:
12543 #line 4588 "pars.yacc" /* yacc.c:1646 */
12544 { (yyval.ival) = FFT_FFT; }
12545 #line 12546 "y.tab.c" /* yacc.c:1646 */
12546 break;
12547
12548 case 711:
12549 #line 4589 "pars.yacc" /* yacc.c:1646 */
12550 { (yyval.ival) = FFT_INVDFT; }
12551 #line 12552 "y.tab.c" /* yacc.c:1646 */
12552 break;
12553
12554 case 712:
12555 #line 4590 "pars.yacc" /* yacc.c:1646 */
12556 { (yyval.ival) = FFT_INVFFT; }
12557 #line 12558 "y.tab.c" /* yacc.c:1646 */
12558 break;
12559
12560 case 713:
12561 #line 4594 "pars.yacc" /* yacc.c:1646 */
12562 {(yyval.ival)=0;}
12563 #line 12564 "y.tab.c" /* yacc.c:1646 */
12564 break;
12565
12566 case 714:
12567 #line 4595 "pars.yacc" /* yacc.c:1646 */
12568 {(yyval.ival)=1;}
12569 #line 12570 "y.tab.c" /* yacc.c:1646 */
12570 break;
12571
12572 case 715:
12573 #line 4599 "pars.yacc" /* yacc.c:1646 */
12574 {(yyval.ival)=0;}
12575 #line 12576 "y.tab.c" /* yacc.c:1646 */
12576 break;
12577
12578 case 716:
12579 #line 4600 "pars.yacc" /* yacc.c:1646 */
12580 {(yyval.ival)=1;}
12581 #line 12582 "y.tab.c" /* yacc.c:1646 */
12582 break;
12583
12584 case 717:
12585 #line 4601 "pars.yacc" /* yacc.c:1646 */
12586 {(yyval.ival)=2;}
12587 #line 12588 "y.tab.c" /* yacc.c:1646 */
12588 break;
12589
12590 case 718:
12591 #line 4605 "pars.yacc" /* yacc.c:1646 */
12592 {(yyval.ival)=0;}
12593 #line 12594 "y.tab.c" /* yacc.c:1646 */
12594 break;
12595
12596 case 719:
12597 #line 4606 "pars.yacc" /* yacc.c:1646 */
12598 {(yyval.ival)=1;}
12599 #line 12600 "y.tab.c" /* yacc.c:1646 */
12600 break;
12601
12602 case 720:
12603 #line 4607 "pars.yacc" /* yacc.c:1646 */
12604 {(yyval.ival)=2;}
12605 #line 12606 "y.tab.c" /* yacc.c:1646 */
12606 break;
12607
12608 case 721:
12609 #line 4611 "pars.yacc" /* yacc.c:1646 */
12610 {(yyval.ival)=0;}
12611 #line 12612 "y.tab.c" /* yacc.c:1646 */
12612 break;
12613
12614 case 722:
12615 #line 4612 "pars.yacc" /* yacc.c:1646 */
12616 {(yyval.ival)=1;}
12617 #line 12618 "y.tab.c" /* yacc.c:1646 */
12618 break;
12619
12620 case 723:
12621 #line 4613 "pars.yacc" /* yacc.c:1646 */
12622 {(yyval.ival)=2;}
12623 #line 12624 "y.tab.c" /* yacc.c:1646 */
12624 break;
12625
12626 case 724:
12627 #line 4614 "pars.yacc" /* yacc.c:1646 */
12628 {(yyval.ival)=3;}
12629 #line 12630 "y.tab.c" /* yacc.c:1646 */
12630 break;
12631
12632 case 725:
12633 #line 4615 "pars.yacc" /* yacc.c:1646 */
12634 {(yyval.ival)=4;}
12635 #line 12636 "y.tab.c" /* yacc.c:1646 */
12636 break;
12637
12638 case 726:
12639 #line 4616 "pars.yacc" /* yacc.c:1646 */
12640 {(yyval.ival)=5;}
12641 #line 12642 "y.tab.c" /* yacc.c:1646 */
12642 break;
12643
12644 case 727:
12645 #line 4617 "pars.yacc" /* yacc.c:1646 */
12646 {(yyval.ival)=6;}
12647 #line 12648 "y.tab.c" /* yacc.c:1646 */
12648 break;
12649
12650 case 728:
12651 #line 4621 "pars.yacc" /* yacc.c:1646 */
12652 { (yyval.ival) = INTERP_LINEAR; }
12653 #line 12654 "y.tab.c" /* yacc.c:1646 */
12654 break;
12655
12656 case 729:
12657 #line 4622 "pars.yacc" /* yacc.c:1646 */
12658 { (yyval.ival) = INTERP_SPLINE; }
12659 #line 12660 "y.tab.c" /* yacc.c:1646 */
12660 break;
12661
12662 case 730:
12663 #line 4623 "pars.yacc" /* yacc.c:1646 */
12664 { (yyval.ival) = INTERP_ASPLINE; }
12665 #line 12666 "y.tab.c" /* yacc.c:1646 */
12666 break;
12667
12668 case 731:
12669 #line 4626 "pars.yacc" /* yacc.c:1646 */
12670 { (yyval.ival) = MINP; }
12671 #line 12672 "y.tab.c" /* yacc.c:1646 */
12672 break;
12673
12674 case 732:
12675 #line 4627 "pars.yacc" /* yacc.c:1646 */
12676 { (yyval.ival) = MAXP; }
12677 #line 12678 "y.tab.c" /* yacc.c:1646 */
12678 break;
12679
12680 case 733:
12681 #line 4628 "pars.yacc" /* yacc.c:1646 */
12682 { (yyval.ival) = AVG; }
12683 #line 12684 "y.tab.c" /* yacc.c:1646 */
12684 break;
12685
12686 case 734:
12687 #line 4629 "pars.yacc" /* yacc.c:1646 */
12688 { (yyval.ival) = SD; }
12689 #line 12690 "y.tab.c" /* yacc.c:1646 */
12690 break;
12691
12692 case 735:
12693 #line 4630 "pars.yacc" /* yacc.c:1646 */
12694 { (yyval.ival) = SUM; }
12695 #line 12696 "y.tab.c" /* yacc.c:1646 */
12696 break;
12697
12698 case 736:
12699 #line 4631 "pars.yacc" /* yacc.c:1646 */
12700 { (yyval.ival) = IMIN; }
12701 #line 12702 "y.tab.c" /* yacc.c:1646 */
12702 break;
12703
12704 case 737:
12705 #line 4632 "pars.yacc" /* yacc.c:1646 */
12706 { (yyval.ival) = IMAX; }
12707 #line 12708 "y.tab.c" /* yacc.c:1646 */
12708 break;
12709
12710 case 738:
12711 #line 4637 "pars.yacc" /* yacc.c:1646 */
12712 {
12713 (yyval.ival) = get_mapped_font((yyvsp[0].ival));
12714 }
12715 #line 12716 "y.tab.c" /* yacc.c:1646 */
12716 break;
12717
12718 case 739:
12719 #line 4641 "pars.yacc" /* yacc.c:1646 */
12720 {
12721 (yyval.ival) = get_font_by_name((yyvsp[0].sval));
12722 xfree((yyvsp[0].sval));
12723 }
12724 #line 12725 "y.tab.c" /* yacc.c:1646 */
12725 break;
12726
12727 case 740:
12728 #line 4649 "pars.yacc" /* yacc.c:1646 */
12729 {
12730 int lines = (yyvsp[0].ival);
12731 if (lines >= 0 && lines < number_of_linestyles()) {
12732 (yyval.ival) = lines;
12733 } else {
12734 errmsg("invalid linestyle");
12735 (yyval.ival) = 1;
12736 }
12737 }
12738 #line 12739 "y.tab.c" /* yacc.c:1646 */
12739 break;
12740
12741 case 741:
12742 #line 4662 "pars.yacc" /* yacc.c:1646 */
12743 {
12744 int patno = (yyvsp[0].ival);
12745 if (patno >= 0 && patno < number_of_patterns()) {
12746 (yyval.ival) = patno;
12747 } else {
12748 errmsg("invalid pattern number");
12749 (yyval.ival) = 1;
12750 }
12751 }
12752 #line 12753 "y.tab.c" /* yacc.c:1646 */
12753 break;
12754
12755 case 742:
12756 #line 4675 "pars.yacc" /* yacc.c:1646 */
12757 {
12758 int c = (yyvsp[0].ival);
12759 if (c >= 0 && c < number_of_colors()) {
12760 (yyval.ival) = c;
12761 } else {
12762 errmsg("Invalid color ID");
12763 (yyval.ival) = 1;
12764 }
12765 }
12766 #line 12767 "y.tab.c" /* yacc.c:1646 */
12767 break;
12768
12769 case 743:
12770 #line 4685 "pars.yacc" /* yacc.c:1646 */
12771 {
12772 int c = get_color_by_name((yyvsp[0].sval));
12773 if (c == BAD_COLOR) {
12774 errmsg("Invalid color name");
12775 c = 1;
12776 }
12777 xfree((yyvsp[0].sval));
12778 (yyval.ival) = c;
12779 }
12780 #line 12781 "y.tab.c" /* yacc.c:1646 */
12781 break;
12782
12783 case 744:
12784 #line 4695 "pars.yacc" /* yacc.c:1646 */
12785 {
12786 int c;
12787 CMap_entry cmap;
12788 cmap.rgb.red = (yyvsp[-5].ival);
12789 cmap.rgb.green = (yyvsp[-3].ival);
12790 cmap.rgb.blue = (yyvsp[-1].ival);
12791 cmap.ctype = COLOR_MAIN;
12792 cmap.cname = NULL;
12793 c = add_color(cmap);
12794 if (c == BAD_COLOR) {
12795 errmsg("Can't allocate requested color");
12796 c = 1;
12797 }
12798 (yyval.ival) = c;
12799 }
12800 #line 12801 "y.tab.c" /* yacc.c:1646 */
12801 break;
12802
12803 case 745:
12804 #line 4714 "pars.yacc" /* yacc.c:1646 */
12805 {
12806 double linew;
12807 linew = (yyvsp[0].dval);
12808 if (linew < 0.0) {
12809 yyerror("Negative linewidth");
12810 linew = 0.0;
12811 } else if (linew > MAX_LINEWIDTH) {
12812 yyerror("Linewidth too large");
12813 linew = MAX_LINEWIDTH;
12814 }
12815 (yyval.dval) = linew;
12816 }
12817 #line 12818 "y.tab.c" /* yacc.c:1646 */
12818 break;
12819
12820 case 746:
12821 #line 4729 "pars.yacc" /* yacc.c:1646 */
12822 {
12823 (yyval.ival) = (yyvsp[0].ival);
12824 }
12825 #line 12826 "y.tab.c" /* yacc.c:1646 */
12826 break;
12827
12828 case 747:
12829 #line 4734 "pars.yacc" /* yacc.c:1646 */
12830 { (yyval.ival) = PLACEMENT_NORMAL; }
12831 #line 12832 "y.tab.c" /* yacc.c:1646 */
12832 break;
12833
12834 case 748:
12835 #line 4735 "pars.yacc" /* yacc.c:1646 */
12836 { (yyval.ival) = PLACEMENT_OPPOSITE; }
12837 #line 12838 "y.tab.c" /* yacc.c:1646 */
12838 break;
12839
12840 case 749:
12841 #line 4736 "pars.yacc" /* yacc.c:1646 */
12842 { (yyval.ival) = PLACEMENT_BOTH; }
12843 #line 12844 "y.tab.c" /* yacc.c:1646 */
12844 break;
12845
12846 case 750:
12847 #line 4742 "pars.yacc" /* yacc.c:1646 */
12848 {
12849 int wpp, hpp;
12850 if ((yyvsp[0].ival) == PAGE_ORIENT_LANDSCAPE) {
12851 wpp = 792;
12852 hpp = 612;
12853 } else {
12854 wpp = 612;
12855 hpp = 792;
12856 }
12857 set_page_dimensions(wpp, hpp, FALSE);
12858 }
12859 #line 12860 "y.tab.c" /* yacc.c:1646 */
12860 break;
12861
12862 case 751:
12863 #line 4753 "pars.yacc" /* yacc.c:1646 */
12864 {
12865 set_page_dimensions((int) (yyvsp[-1].dval), (int) (yyvsp[0].dval), FALSE);
12866 }
12867 #line 12868 "y.tab.c" /* yacc.c:1646 */
12868 break;
12869
12870 case 752:
12871 #line 4756 "pars.yacc" /* yacc.c:1646 */
12872 {
12873 scroll_proc((yyvsp[0].ival));
12874 }
12875 #line 12876 "y.tab.c" /* yacc.c:1646 */
12876 break;
12877
12878 case 753:
12879 #line 4759 "pars.yacc" /* yacc.c:1646 */
12880 {
12881 scrollinout_proc((yyvsp[0].ival));
12882 }
12883 #line 12884 "y.tab.c" /* yacc.c:1646 */
12884 break;
12885
12886 case 754:
12887 #line 4763 "pars.yacc" /* yacc.c:1646 */
12888 {
12889 }
12890 #line 12891 "y.tab.c" /* yacc.c:1646 */
12891 break;
12892
12893 case 755:
12894 #line 4767 "pars.yacc" /* yacc.c:1646 */
12895 {
12896 add_world(whichgraph, (yyvsp[-14].dval), (yyvsp[-12].dval), (yyvsp[-10].dval), (yyvsp[-8].dval));
12897 }
12898 #line 12899 "y.tab.c" /* yacc.c:1646 */
12899 break;
12900
12901 case 756:
12902 #line 4771 "pars.yacc" /* yacc.c:1646 */
12903 {filltype_obs = (yyvsp[0].ival);}
12904 #line 12905 "y.tab.c" /* yacc.c:1646 */
12905 break;
12906
12907 case 757:
12908 #line 4773 "pars.yacc" /* yacc.c:1646 */
12909 {filltype_obs = (yyvsp[0].ival);}
12910 #line 12911 "y.tab.c" /* yacc.c:1646 */
12911 break;
12912
12913 case 758:
12914 #line 4775 "pars.yacc" /* yacc.c:1646 */
12915 { }
12916 #line 12917 "y.tab.c" /* yacc.c:1646 */
12917 break;
12918
12919 case 759:
12920 #line 4777 "pars.yacc" /* yacc.c:1646 */
12921 { }
12922 #line 12923 "y.tab.c" /* yacc.c:1646 */
12923 break;
12924
12925 case 760:
12926 #line 4779 "pars.yacc" /* yacc.c:1646 */
12927 { }
12928 #line 12929 "y.tab.c" /* yacc.c:1646 */
12929 break;
12930
12931 case 761:
12932 #line 4780 "pars.yacc" /* yacc.c:1646 */
12933 { }
12934 #line 12935 "y.tab.c" /* yacc.c:1646 */
12935 break;
12936
12937 case 762:
12938 #line 4782 "pars.yacc" /* yacc.c:1646 */
12939 {
12940 if (!is_valid_gno(whichgraph)) {
12941 yyerror("No valid graph selected");
12942 return 1;
12943 }
12944 if ((yyvsp[0].ival) == FALSE && get_project_version() <= 40102) {
12945 g[whichgraph].l.boxpen.pattern = 0;
12946 }
12947 }
12948 #line 12949 "y.tab.c" /* yacc.c:1646 */
12949 break;
12950
12951 case 763:
12952 #line 4791 "pars.yacc" /* yacc.c:1646 */
12953 {
12954 if (!is_valid_gno(whichgraph)) {
12955 yyerror("No valid graph selected");
12956 return 1;
12957 }
12958 g[whichgraph].l.legx = (yyvsp[0].dval);
12959 }
12960 #line 12961 "y.tab.c" /* yacc.c:1646 */
12961 break;
12962
12963 case 764:
12964 #line 4798 "pars.yacc" /* yacc.c:1646 */
12965 {
12966 if (!is_valid_gno(whichgraph)) {
12967 yyerror("No valid graph selected");
12968 return 1;
12969 }
12970 g[whichgraph].l.legy = (yyvsp[0].dval);
12971 }
12972 #line 12973 "y.tab.c" /* yacc.c:1646 */
12973 break;
12974
12975 case 765:
12976 #line 4805 "pars.yacc" /* yacc.c:1646 */
12977 {
12978 if (is_valid_setno(whichgraph, (yyvsp[-1].ival))) {
12979 strncpy(g[whichgraph].p[(yyvsp[-1].ival)].lstr, (yyvsp[0].sval), MAX_STRING_LENGTH - 1);
12980 } else {
12981 yyerror("Unallocated set");
12982 }
12983 xfree((yyvsp[0].sval));
12984 }
12985 #line 12986 "y.tab.c" /* yacc.c:1646 */
12986 break;
12987
12988 case 766:
12989 #line 4813 "pars.yacc" /* yacc.c:1646 */
12990 { }
12991 #line 12992 "y.tab.c" /* yacc.c:1646 */
12992 break;
12993
12994 case 767:
12995 #line 4814 "pars.yacc" /* yacc.c:1646 */
12996 {filltype_obs = (yyvsp[0].ival);}
12997 #line 12998 "y.tab.c" /* yacc.c:1646 */
12998 break;
12999
13000 case 768:
13001 #line 4815 "pars.yacc" /* yacc.c:1646 */
13002 { }
13003 #line 13004 "y.tab.c" /* yacc.c:1646 */
13004 break;
13005
13006 case 769:
13007 #line 4816 "pars.yacc" /* yacc.c:1646 */
13008 { }
13009 #line 13010 "y.tab.c" /* yacc.c:1646 */
13010 break;
13011
13012 case 770:
13013 #line 4818 "pars.yacc" /* yacc.c:1646 */
13014 { }
13015 #line 13016 "y.tab.c" /* yacc.c:1646 */
13016 break;
13017
13018 case 771:
13019 #line 4820 "pars.yacc" /* yacc.c:1646 */
13020 {
13021 g[(yyvsp[-2].ival)].type = GRAPH_XY;
13022 g[(yyvsp[-2].ival)].xscale = SCALE_LOG;
13023 }
13024 #line 13025 "y.tab.c" /* yacc.c:1646 */
13025 break;
13026
13027 case 772:
13028 #line 4824 "pars.yacc" /* yacc.c:1646 */
13029 {
13030 g[(yyvsp[-2].ival)].type = GRAPH_XY;
13031 g[(yyvsp[-2].ival)].yscale = SCALE_LOG;
13032 }
13033 #line 13034 "y.tab.c" /* yacc.c:1646 */
13034 break;
13035
13036 case 773:
13037 #line 4829 "pars.yacc" /* yacc.c:1646 */
13038 {
13039 g[(yyvsp[-2].ival)].type = GRAPH_XY;
13040 g[(yyvsp[-2].ival)].xscale = SCALE_LOG;
13041 g[(yyvsp[-2].ival)].yscale = SCALE_LOG;
13042 }
13043 #line 13044 "y.tab.c" /* yacc.c:1646 */
13044 break;
13045
13046 case 774:
13047 #line 4835 "pars.yacc" /* yacc.c:1646 */
13048 {
13049 g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13050 g[(yyvsp[-2].ival)].xyflip = FALSE;
13051 g[(yyvsp[-2].ival)].stacked = FALSE;
13052 }
13053 #line 13054 "y.tab.c" /* yacc.c:1646 */
13054 break;
13055
13056 case 775:
13057 #line 4841 "pars.yacc" /* yacc.c:1646 */
13058 {
13059 g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13060 g[(yyvsp[-2].ival)].xyflip = TRUE;
13061 }
13062 #line 13063 "y.tab.c" /* yacc.c:1646 */
13063 break;
13064
13065 case 776:
13066 #line 4846 "pars.yacc" /* yacc.c:1646 */
13067 {
13068 g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13069 g[(yyvsp[-2].ival)].stacked = TRUE;
13070 }
13071 #line 13072 "y.tab.c" /* yacc.c:1646 */
13072 break;
13073
13074 case 777:
13075 #line 4851 "pars.yacc" /* yacc.c:1646 */
13076 {
13077 g[(yyvsp[-2].ival)].type = GRAPH_CHART;
13078 g[(yyvsp[-2].ival)].stacked = TRUE;
13079 g[(yyvsp[-2].ival)].xyflip = TRUE;
13080 }
13081 #line 13082 "y.tab.c" /* yacc.c:1646 */
13082 break;
13083
13084 case 778:
13085 #line 4857 "pars.yacc" /* yacc.c:1646 */
13086 {
13087 if (!is_valid_gno(whichgraph)) {
13088 yyerror("No valid graph selected");
13089 return 1;
13090 }
13091 g[whichgraph].w.xg1 = (yyvsp[0].dval);
13092 }
13093 #line 13094 "y.tab.c" /* yacc.c:1646 */
13094 break;
13095
13096 case 779:
13097 #line 4864 "pars.yacc" /* yacc.c:1646 */
13098 {
13099 if (!is_valid_gno(whichgraph)) {
13100 yyerror("No valid graph selected");
13101 return 1;
13102 }
13103 g[whichgraph].w.xg2 = (yyvsp[0].dval);
13104 }
13105 #line 13106 "y.tab.c" /* yacc.c:1646 */
13106 break;
13107
13108 case 780:
13109 #line 4871 "pars.yacc" /* yacc.c:1646 */
13110 {
13111 if (!is_valid_gno(whichgraph)) {
13112 yyerror("No valid graph selected");
13113 return 1;
13114 }
13115 g[whichgraph].w.yg1 = (yyvsp[0].dval);
13116 }
13117 #line 13118 "y.tab.c" /* yacc.c:1646 */
13118 break;
13119
13120 case 781:
13121 #line 4878 "pars.yacc" /* yacc.c:1646 */
13122 {
13123 if (!is_valid_gno(whichgraph)) {
13124 yyerror("No valid graph selected");
13125 return 1;
13126 }
13127 g[whichgraph].w.yg2 = (yyvsp[0].dval);
13128 }
13129 #line 13130 "y.tab.c" /* yacc.c:1646 */
13130 break;
13131
13132 case 782:
13133 #line 4886 "pars.yacc" /* yacc.c:1646 */
13134 {
13135 if (!is_valid_gno(whichgraph)) {
13136 yyerror("No valid graph selected");
13137 return 1;
13138 }
13139 g[whichgraph].v.xv1 = (yyvsp[0].dval);
13140 }
13141 #line 13142 "y.tab.c" /* yacc.c:1646 */
13142 break;
13143
13144 case 783:
13145 #line 4893 "pars.yacc" /* yacc.c:1646 */
13146 {
13147 if (!is_valid_gno(whichgraph)) {
13148 yyerror("No valid graph selected");
13149 return 1;
13150 }
13151 g[whichgraph].v.xv2 = (yyvsp[0].dval);
13152 }
13153 #line 13154 "y.tab.c" /* yacc.c:1646 */
13154 break;
13155
13156 case 784:
13157 #line 4900 "pars.yacc" /* yacc.c:1646 */
13158 {
13159 if (!is_valid_gno(whichgraph)) {
13160 yyerror("No valid graph selected");
13161 return 1;
13162 }
13163 g[whichgraph].v.yv1 = (yyvsp[0].dval);
13164 }
13165 #line 13166 "y.tab.c" /* yacc.c:1646 */
13166 break;
13167
13168 case 785:
13169 #line 4907 "pars.yacc" /* yacc.c:1646 */
13170 {
13171 if (!is_valid_gno(whichgraph)) {
13172 yyerror("No valid graph selected");
13173 return 1;
13174 }
13175 g[whichgraph].v.yv2 = (yyvsp[0].dval);
13176 }
13177 #line 13178 "y.tab.c" /* yacc.c:1646 */
13178 break;
13179
13180 case 786:
13181 #line 4915 "pars.yacc" /* yacc.c:1646 */
13182 {
13183 }
13184 #line 13185 "y.tab.c" /* yacc.c:1646 */
13185 break;
13186
13187 case 787:
13188 #line 4918 "pars.yacc" /* yacc.c:1646 */
13189 {
13190 if (!is_valid_gno(whichgraph)) {
13191 yyerror("No valid graph selected");
13192 return 1;
13193 }
13194 g[whichgraph].f.fillpen.pattern = (yyvsp[0].ival);
13195 }
13196 #line 13197 "y.tab.c" /* yacc.c:1646 */
13197 break;
13198
13199 case 788:
13200 #line 4926 "pars.yacc" /* yacc.c:1646 */
13201 {
13202 }
13203 #line 13204 "y.tab.c" /* yacc.c:1646 */
13204 break;
13205
13206 case 789:
13207 #line 4928 "pars.yacc" /* yacc.c:1646 */
13208 {
13209 }
13210 #line 13211 "y.tab.c" /* yacc.c:1646 */
13211 break;
13212
13213 case 790:
13214 #line 4931 "pars.yacc" /* yacc.c:1646 */
13215 {
13216 line_asize = 2.0*(yyvsp[0].dval);
13217 }
13218 #line 13219 "y.tab.c" /* yacc.c:1646 */
13219 break;
13220
13221 case 791:
13222 #line 4935 "pars.yacc" /* yacc.c:1646 */
13223 { }
13224 #line 13225 "y.tab.c" /* yacc.c:1646 */
13225 break;
13226
13227 case 792:
13228 #line 4936 "pars.yacc" /* yacc.c:1646 */
13229 { }
13230 #line 13231 "y.tab.c" /* yacc.c:1646 */
13231 break;
13232
13233 case 793:
13234 #line 4937 "pars.yacc" /* yacc.c:1646 */
13235 { }
13236 #line 13237 "y.tab.c" /* yacc.c:1646 */
13237 break;
13238
13239 case 794:
13240 #line 4938 "pars.yacc" /* yacc.c:1646 */
13241 { }
13242 #line 13243 "y.tab.c" /* yacc.c:1646 */
13243 break;
13244
13245 case 795:
13246 #line 4943 "pars.yacc" /* yacc.c:1646 */
13247 { }
13248 #line 13249 "y.tab.c" /* yacc.c:1646 */
13249 break;
13250
13251 case 796:
13252 #line 4944 "pars.yacc" /* yacc.c:1646 */
13253 {
13254 if (!is_valid_axis(whichgraph, naxis)) {
13255 yyerror("No valid axis selected");
13256 return 1;
13257 }
13258 g[whichgraph].t[naxis]->label_op = (yyvsp[0].ival);
13259 }
13260 #line 13261 "y.tab.c" /* yacc.c:1646 */
13261 break;
13262
13263 case 797:
13264 #line 4954 "pars.yacc" /* yacc.c:1646 */
13265 {
13266 switch ((yyvsp[0].ival)){
13267 case 0:
13268 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 0;
13269 break;
13270 case 1:
13271 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 1;
13272 break;
13273 case 2:
13274 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.pattern = 1;
13275 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].symfillpen.color = getbgcolor();
13276 break;
13277 }
13278 }
13279 #line 13280 "y.tab.c" /* yacc.c:1646 */
13280 break;
13281
13282 case 798:
13283 #line 4969 "pars.yacc" /* yacc.c:1646 */
13284 {
13285 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].symskip = (yyvsp[0].ival);
13286 }
13287 #line 13288 "y.tab.c" /* yacc.c:1646 */
13288 break;
13289
13290 case 799:
13291 #line 4973 "pars.yacc" /* yacc.c:1646 */
13292 {
13293 switch ((yyvsp[0].ival)) {
13294 case 0:
13295 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_NONE;
13296 break;
13297 case 1:
13298 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_POLYGON;
13299 break;
13300 case 2:
13301 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13302 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_0;
13303 break;
13304 case 6:
13305 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13306 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_GMIN;
13307 break;
13308 case 7:
13309 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].filltype = SETFILL_BASELINE;
13310 g[(yyvsp[-2].trgt)->gno].p[(yyvsp[-2].trgt)->setno].baseline_type = BASELINE_TYPE_GMAX;
13311 break;
13312 }
13313 }
13314 #line 13315 "y.tab.c" /* yacc.c:1646 */
13315 break;
13316
13317 case 800:
13318 #line 4995 "pars.yacc" /* yacc.c:1646 */
13319 {
13320 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.ptype = (yyvsp[0].ival);
13321 }
13322 #line 13323 "y.tab.c" /* yacc.c:1646 */
13323 break;
13324
13325 case 801:
13326 #line 5003 "pars.yacc" /* yacc.c:1646 */
13327 { }
13328 #line 13329 "y.tab.c" /* yacc.c:1646 */
13329 break;
13330
13331 case 802:
13332 #line 5004 "pars.yacc" /* yacc.c:1646 */
13333 {
13334 g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].lines = (yyvsp[0].ival);
13335 }
13336 #line 13337 "y.tab.c" /* yacc.c:1646 */
13337 break;
13338
13339 case 803:
13340 #line 5007 "pars.yacc" /* yacc.c:1646 */
13341 {
13342 g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].linew = (yyvsp[0].dval);
13343 }
13344 #line 13345 "y.tab.c" /* yacc.c:1646 */
13345 break;
13346
13347 case 804:
13348 #line 5010 "pars.yacc" /* yacc.c:1646 */
13349 {
13350 g[(yyvsp[-1].trgt)->gno].p[(yyvsp[-1].trgt)->setno].linepen.color = (yyvsp[0].ival);
13351 }
13352 #line 13353 "y.tab.c" /* yacc.c:1646 */
13353 break;
13354
13355 case 805:
13356 #line 5013 "pars.yacc" /* yacc.c:1646 */
13357 {filltype_obs = (yyvsp[0].ival);}
13358 #line 13359 "y.tab.c" /* yacc.c:1646 */
13359 break;
13360
13361 case 806:
13362 #line 5014 "pars.yacc" /* yacc.c:1646 */
13363 { }
13364 #line 13365 "y.tab.c" /* yacc.c:1646 */
13365 break;
13366
13367 case 807:
13368 #line 5015 "pars.yacc" /* yacc.c:1646 */
13369 {
13370 g[(yyvsp[-3].trgt)->gno].p[(yyvsp[-3].trgt)->setno].errbar.barsize = (yyvsp[0].dval);
13371 }
13372 #line 13373 "y.tab.c" /* yacc.c:1646 */
13373 break;
13374
13375 case 808:
13376 #line 5018 "pars.yacc" /* yacc.c:1646 */
13377 { }
13378 #line 13379 "y.tab.c" /* yacc.c:1646 */
13379 break;
13380
13381 case 809:
13382 #line 5023 "pars.yacc" /* yacc.c:1646 */
13383 {
13384 /* <= xmgr-4.1 */
13385 if (!is_valid_axis(whichgraph, naxis)) {
13386 yyerror("No valid axis selected");
13387 return 1;
13388 }
13389 g[whichgraph].t[naxis]->active = (yyvsp[0].ival);
13390 }
13391 #line 13392 "y.tab.c" /* yacc.c:1646 */
13392 break;
13393
13394 case 810:
13395 #line 5031 "pars.yacc" /* yacc.c:1646 */
13396 { }
13397 #line 13398 "y.tab.c" /* yacc.c:1646 */
13398 break;
13399
13400 case 811:
13401 #line 5032 "pars.yacc" /* yacc.c:1646 */
13402 { }
13403 #line 13404 "y.tab.c" /* yacc.c:1646 */
13404 break;
13405
13406 case 812:
13407 #line 5033 "pars.yacc" /* yacc.c:1646 */
13408 { }
13409 #line 13410 "y.tab.c" /* yacc.c:1646 */
13410 break;
13411
13412 case 813:
13413 #line 5034 "pars.yacc" /* yacc.c:1646 */
13414 { }
13415 #line 13416 "y.tab.c" /* yacc.c:1646 */
13416 break;
13417
13418 case 814:
13419 #line 5035 "pars.yacc" /* yacc.c:1646 */
13420 { }
13421 #line 13422 "y.tab.c" /* yacc.c:1646 */
13422 break;
13423
13424 case 815:
13425 #line 5036 "pars.yacc" /* yacc.c:1646 */
13426 {
13427 if (!is_valid_axis(whichgraph, naxis)) {
13428 yyerror("No valid axis selected");
13429 return 1;
13430 }
13431 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_NONE;
13432 }
13433 #line 13434 "y.tab.c" /* yacc.c:1646 */
13434 break;
13435
13436 case 816:
13437 #line 5043 "pars.yacc" /* yacc.c:1646 */
13438 {
13439 if (!is_valid_axis(whichgraph, naxis)) {
13440 yyerror("No valid axis selected");
13441 return 1;
13442 }
13443 if (g[whichgraph].t[naxis]->t_spec != TICKS_SPEC_BOTH) {
13444 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_MARKS;
13445 }
13446 }
13447 #line 13448 "y.tab.c" /* yacc.c:1646 */
13448 break;
13449
13450 case 817:
13451 #line 5052 "pars.yacc" /* yacc.c:1646 */
13452 {
13453 if (!is_valid_axis(whichgraph, naxis)) {
13454 yyerror("No valid axis selected");
13455 return 1;
13456 }
13457 if ((yyvsp[0].dval) != 0.0) {
13458 g[whichgraph].t[naxis]->nminor =
13459 (int) rint(g[whichgraph].t[naxis]->tmajor / (yyvsp[0].dval) - 1);
13460 } else {
13461 g[whichgraph].t[naxis]->nminor = 0;
13462 }
13463 }
13464 #line 13465 "y.tab.c" /* yacc.c:1646 */
13465 break;
13466
13467 case 818:
13468 #line 5064 "pars.yacc" /* yacc.c:1646 */
13469 {
13470 if (!is_valid_axis(whichgraph, naxis)) {
13471 yyerror("No valid axis selected");
13472 return 1;
13473 }
13474 g[whichgraph].t[naxis]->props.size = (yyvsp[0].dval);
13475 }
13476 #line 13477 "y.tab.c" /* yacc.c:1646 */
13477 break;
13478
13479 case 819:
13480 #line 5071 "pars.yacc" /* yacc.c:1646 */
13481 {
13482 if (!is_valid_axis(whichgraph, naxis)) {
13483 yyerror("No valid axis selected");
13484 return 1;
13485 }
13486 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].wtpos = (yyvsp[0].dval);
13487 g[whichgraph].t[naxis]->tloc[(yyvsp[-2].ival)].type = TICK_TYPE_MAJOR;
13488 }
13489 #line 13490 "y.tab.c" /* yacc.c:1646 */
13490 break;
13491
13492 case 820:
13493 #line 5079 "pars.yacc" /* yacc.c:1646 */
13494 {
13495 if (!is_valid_axis(whichgraph, naxis)) {
13496 yyerror("No valid axis selected");
13497 return 1;
13498 }
13499 g[whichgraph].t[naxis]->t_op = (yyvsp[0].ival);
13500 }
13501 #line 13502 "y.tab.c" /* yacc.c:1646 */
13502 break;
13503
13504 case 821:
13505 #line 5089 "pars.yacc" /* yacc.c:1646 */
13506 { }
13507 #line 13508 "y.tab.c" /* yacc.c:1646 */
13508 break;
13509
13510 case 822:
13511 #line 5090 "pars.yacc" /* yacc.c:1646 */
13512 {
13513 if (!is_valid_axis(whichgraph, naxis)) {
13514 yyerror("No valid axis selected");
13515 return 1;
13516 }
13517 if (g[whichgraph].t[naxis]->t_spec == TICKS_SPEC_BOTH) {
13518 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_MARKS;
13519 }
13520 }
13521 #line 13522 "y.tab.c" /* yacc.c:1646 */
13522 break;
13523
13524 case 823:
13525 #line 5099 "pars.yacc" /* yacc.c:1646 */
13526 {
13527 if (!is_valid_axis(whichgraph, naxis)) {
13528 yyerror("No valid axis selected");
13529 return 1;
13530 }
13531 g[whichgraph].t[naxis]->t_spec = TICKS_SPEC_BOTH;
13532 }
13533 #line 13534 "y.tab.c" /* yacc.c:1646 */
13534 break;
13535
13536 case 824:
13537 #line 5106 "pars.yacc" /* yacc.c:1646 */
13538 { }
13539 #line 13540 "y.tab.c" /* yacc.c:1646 */
13540 break;
13541
13542 case 825:
13543 #line 5108 "pars.yacc" /* yacc.c:1646 */
13544 {
13545 if (!is_valid_axis(whichgraph, naxis)) {
13546 yyerror("No valid axis selected");
13547 return 1;
13548 }
13549 g[whichgraph].t[naxis]->tl_angle = 0;
13550 }
13551 #line 13552 "y.tab.c" /* yacc.c:1646 */
13552 break;
13553
13554 case 826:
13555 #line 5115 "pars.yacc" /* yacc.c:1646 */
13556 {
13557 if (!is_valid_axis(whichgraph, naxis)) {
13558 yyerror("No valid axis selected");
13559 return 1;
13560 }
13561 g[whichgraph].t[naxis]->tl_angle = 90;
13562 }
13563 #line 13564 "y.tab.c" /* yacc.c:1646 */
13564 break;
13565
13566 case 827:
13567 #line 5122 "pars.yacc" /* yacc.c:1646 */
13568 { }
13569 #line 13570 "y.tab.c" /* yacc.c:1646 */
13570 break;
13571
13572 case 828:
13573 #line 5123 "pars.yacc" /* yacc.c:1646 */
13574 { }
13575 #line 13576 "y.tab.c" /* yacc.c:1646 */
13576 break;
13577
13578 case 829:
13579 #line 5124 "pars.yacc" /* yacc.c:1646 */
13580 {
13581 if (!is_valid_axis(whichgraph, naxis)) {
13582 yyerror("No valid axis selected");
13583 return 1;
13584 }
13585 g[whichgraph].t[naxis]->tl_op = (yyvsp[0].ival);
13586 }
13587 #line 13588 "y.tab.c" /* yacc.c:1646 */
13588 break;
13589
13590 case 830:
13591 #line 5131 "pars.yacc" /* yacc.c:1646 */
13592 {
13593 if (!is_valid_axis(whichgraph, naxis)) {
13594 yyerror("No valid axis selected");
13595 return 1;
13596 }
13597 switch((yyvsp[0].ival)) {
13598 case SIGN_NEGATE:
13599 g[whichgraph].t[naxis]->tl_formula =
13600 copy_string(g[whichgraph].t[naxis]->tl_formula, "-$t");
13601 break;
13602 case SIGN_ABSOLUTE:
13603 g[whichgraph].t[naxis]->tl_formula =
13604 copy_string(g[whichgraph].t[naxis]->tl_formula, "abs($t)");
13605 break;
13606 default:
13607 g[whichgraph].t[naxis]->tl_formula =
13608 copy_string(g[whichgraph].t[naxis]->tl_formula, NULL);
13609 break;
13610 }
13611 }
13612 #line 13613 "y.tab.c" /* yacc.c:1646 */
13613 break;
13614
13615 case 834:
13616 #line 5159 "pars.yacc" /* yacc.c:1646 */
13617 {
13618 (yyval.ival) = (yyvsp[0].ival);
13619 }
13620 #line 13621 "y.tab.c" /* yacc.c:1646 */
13621 break;
13622
13623 case 835:
13624 #line 5164 "pars.yacc" /* yacc.c:1646 */
13625 { (yyval.ival) = PLACEMENT_OPPOSITE; }
13626 #line 13627 "y.tab.c" /* yacc.c:1646 */
13627 break;
13628
13629 case 836:
13630 #line 5165 "pars.yacc" /* yacc.c:1646 */
13631 { (yyval.ival) = PLACEMENT_NORMAL; }
13632 #line 13633 "y.tab.c" /* yacc.c:1646 */
13633 break;
13634
13635 case 837:
13636 #line 5166 "pars.yacc" /* yacc.c:1646 */
13637 { (yyval.ival) = PLACEMENT_NORMAL; }
13638 #line 13639 "y.tab.c" /* yacc.c:1646 */
13639 break;
13640
13641 case 838:
13642 #line 5167 "pars.yacc" /* yacc.c:1646 */
13643 { (yyval.ival) = PLACEMENT_OPPOSITE; }
13644 #line 13645 "y.tab.c" /* yacc.c:1646 */
13645 break;
13646
13647 case 839:
13648 #line 5168 "pars.yacc" /* yacc.c:1646 */
13649 { (yyval.ival) = PLACEMENT_BOTH; }
13650 #line 13651 "y.tab.c" /* yacc.c:1646 */
13651 break;
13652
13653
13654 #line 13655 "y.tab.c" /* yacc.c:1646 */
13655 default: break;
13656 }
13657 /* User semantic actions sometimes alter yychar, and that requires
13658 that yytoken be updated with the new translation. We take the
13659 approach of translating immediately before every use of yytoken.
13660 One alternative is translating here after every semantic action,
13661 but that translation would be missed if the semantic action invokes
13662 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
13663 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
13664 incorrect destructor might then be invoked immediately. In the
13665 case of YYERROR or YYBACKUP, subsequent parser actions might lead
13666 to an incorrect destructor call or verbose syntax error message
13667 before the lookahead is translated. */
13668 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
13669
13670 YYPOPSTACK (yylen);
13671 yylen = 0;
13672 YY_STACK_PRINT (yyss, yyssp);
13673
13674 *++yyvsp = yyval;
13675
13676 /* Now 'shift' the result of the reduction. Determine what state
13677 that goes to, based on the state we popped back to and the rule
13678 number reduced by. */
13679
13680 yyn = yyr1[yyn];
13681
13682 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
13683 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
13684 yystate = yytable[yystate];
13685 else
13686 yystate = yydefgoto[yyn - YYNTOKENS];
13687
13688 goto yynewstate;
13689
13690
13691 /*--------------------------------------.
13692 | yyerrlab -- here on detecting error. |
13693 `--------------------------------------*/
13694 yyerrlab:
13695 /* Make sure we have latest lookahead translation. See comments at
13696 user semantic actions for why this is necessary. */
13697 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
13698
13699 /* If not already recovering from an error, report this error. */
13700 if (!yyerrstatus)
13701 {
13702 ++yynerrs;
13703 #if ! YYERROR_VERBOSE
13704 yyerror (YY_("syntax error"));
13705 #else
13706 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
13707 yyssp, yytoken)
13708 {
13709 char const *yymsgp = YY_("syntax error");
13710 int yysyntax_error_status;
13711 yysyntax_error_status = YYSYNTAX_ERROR;
13712 if (yysyntax_error_status == 0)
13713 yymsgp = yymsg;
13714 else if (yysyntax_error_status == 1)
13715 {
13716 if (yymsg != yymsgbuf)
13717 YYSTACK_FREE (yymsg);
13718 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
13719 if (!yymsg)
13720 {
13721 yymsg = yymsgbuf;
13722 yymsg_alloc = sizeof yymsgbuf;
13723 yysyntax_error_status = 2;
13724 }
13725 else
13726 {
13727 yysyntax_error_status = YYSYNTAX_ERROR;
13728 yymsgp = yymsg;
13729 }
13730 }
13731 yyerror (yymsgp);
13732 if (yysyntax_error_status == 2)
13733 goto yyexhaustedlab;
13734 }
13735 # undef YYSYNTAX_ERROR
13736 #endif
13737 }
13738
13739
13740
13741 if (yyerrstatus == 3)
13742 {
13743 /* If just tried and failed to reuse lookahead token after an
13744 error, discard it. */
13745
13746 if (yychar <= YYEOF)
13747 {
13748 /* Return failure if at end of input. */
13749 if (yychar == YYEOF)
13750 YYABORT;
13751 }
13752 else
13753 {
13754 yydestruct ("Error: discarding",
13755 yytoken, &yylval);
13756 yychar = YYEMPTY;
13757 }
13758 }
13759
13760 /* Else will try to reuse lookahead token after shifting the error
13761 token. */
13762 goto yyerrlab1;
13763
13764
13765 /*---------------------------------------------------.
13766 | yyerrorlab -- error raised explicitly by YYERROR. |
13767 `---------------------------------------------------*/
13768 yyerrorlab:
13769
13770 /* Pacify compilers like GCC when the user code never invokes
13771 YYERROR and the label yyerrorlab therefore never appears in user
13772 code. */
13773 if (/*CONSTCOND*/ 0)
13774 goto yyerrorlab;
13775
13776 /* Do not reclaim the symbols of the rule whose action triggered
13777 this YYERROR. */
13778 YYPOPSTACK (yylen);
13779 yylen = 0;
13780 YY_STACK_PRINT (yyss, yyssp);
13781 yystate = *yyssp;
13782 goto yyerrlab1;
13783
13784
13785 /*-------------------------------------------------------------.
13786 | yyerrlab1 -- common code for both syntax error and YYERROR. |
13787 `-------------------------------------------------------------*/
13788 yyerrlab1:
13789 yyerrstatus = 3; /* Each real token shifted decrements this. */
13790
13791 for (;;)
13792 {
13793 yyn = yypact[yystate];
13794 if (!yypact_value_is_default (yyn))
13795 {
13796 yyn += YYTERROR;
13797 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
13798 {
13799 yyn = yytable[yyn];
13800 if (0 < yyn)
13801 break;
13802 }
13803 }
13804
13805 /* Pop the current state because it cannot handle the error token. */
13806 if (yyssp == yyss)
13807 YYABORT;
13808
13809
13810 yydestruct ("Error: popping",
13811 yystos[yystate], yyvsp);
13812 YYPOPSTACK (1);
13813 yystate = *yyssp;
13814 YY_STACK_PRINT (yyss, yyssp);
13815 }
13816
13817 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
13818 *++yyvsp = yylval;
13819 YY_IGNORE_MAYBE_UNINITIALIZED_END
13820
13821
13822 /* Shift the error token. */
13823 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
13824
13825 yystate = yyn;
13826 goto yynewstate;
13827
13828
13829 /*-------------------------------------.
13830 | yyacceptlab -- YYACCEPT comes here. |
13831 `-------------------------------------*/
13832 yyacceptlab:
13833 yyresult = 0;
13834 goto yyreturn;
13835
13836 /*-----------------------------------.
13837 | yyabortlab -- YYABORT comes here. |
13838 `-----------------------------------*/
13839 yyabortlab:
13840 yyresult = 1;
13841 goto yyreturn;
13842
13843 #if !defined yyoverflow || YYERROR_VERBOSE
13844 /*-------------------------------------------------.
13845 | yyexhaustedlab -- memory exhaustion comes here. |
13846 `-------------------------------------------------*/
13847 yyexhaustedlab:
13848 yyerror (YY_("memory exhausted"));
13849 yyresult = 2;
13850 /* Fall through. */
13851 #endif
13852
13853 yyreturn:
13854 if (yychar != YYEMPTY)
13855 {
13856 /* Make sure we have latest lookahead translation. See comments at
13857 user semantic actions for why this is necessary. */
13858 yytoken = YYTRANSLATE (yychar);
13859 yydestruct ("Cleanup: discarding lookahead",
13860 yytoken, &yylval);
13861 }
13862 /* Do not reclaim the symbols of the rule whose action triggered
13863 this YYABORT or YYACCEPT. */
13864 YYPOPSTACK (yylen);
13865 YY_STACK_PRINT (yyss, yyssp);
13866 while (yyssp != yyss)
13867 {
13868 yydestruct ("Cleanup: popping",
13869 yystos[*yyssp], yyvsp);
13870 YYPOPSTACK (1);
13871 }
13872 #ifndef yyoverflow
13873 if (yyss != yyssa)
13874 YYSTACK_FREE (yyss);
13875 #endif
13876 #if YYERROR_VERBOSE
13877 if (yymsg != yymsgbuf)
13878 YYSTACK_FREE (yymsg);
13879 #endif
13880 return yyresult;
13881 }
13882 #line 5171 "pars.yacc" /* yacc.c:1906 */
13883
13884
13885 /* list of intrinsic functions and keywords */
13886 symtab_entry ikey[] = {
13887 {"A0", FITPARM, NULL},
13888 {"A0MAX", FITPMAX, NULL},
13889 {"A0MIN", FITPMIN, NULL},
13890 {"A1", FITPARM, NULL},
13891 {"A1MAX", FITPMAX, NULL},
13892 {"A1MIN", FITPMIN, NULL},
13893 {"A2", FITPARM, NULL},
13894 {"A2MAX", FITPMAX, NULL},
13895 {"A2MIN", FITPMIN, NULL},
13896 {"A3", FITPARM, NULL},
13897 {"A3MAX", FITPMAX, NULL},
13898 {"A3MIN", FITPMIN, NULL},
13899 {"A4", FITPARM, NULL},
13900 {"A4MAX", FITPMAX, NULL},
13901 {"A4MIN", FITPMIN, NULL},
13902 {"A5", FITPARM, NULL},
13903 {"A5MAX", FITPMAX, NULL},
13904 {"A5MIN", FITPMIN, NULL},
13905 {"A6", FITPARM, NULL},
13906 {"A6MAX", FITPMAX, NULL},
13907 {"A6MIN", FITPMIN, NULL},
13908 {"A7", FITPARM, NULL},
13909 {"A7MAX", FITPMAX, NULL},
13910 {"A7MIN", FITPMIN, NULL},
13911 {"A8", FITPARM, NULL},
13912 {"A8MAX", FITPMAX, NULL},
13913 {"A8MIN", FITPMIN, NULL},
13914 {"A9", FITPARM, NULL},
13915 {"A9MAX", FITPMAX, NULL},
13916 {"A9MIN", FITPMIN, NULL},
13917 {"ABOVE", ABOVE, NULL},
13918 {"ABS", FUNC_D, (void *) fabs},
13919 {"ABSOLUTE", ABSOLUTE, NULL},
13920 {"ACOS", FUNC_D, (void *) acos},
13921 {"ACOSH", FUNC_D, (void *) acosh},
13922 {"AI", FUNC_D, (void *) ai_wrap},
13923 {"ALIAS", ALIAS, NULL},
13924 {"ALT", ALT, NULL},
13925 {"ALTXAXIS", ALTXAXIS, NULL},
13926 {"ALTYAXIS", ALTYAXIS, NULL},
13927 {"AND", AND, NULL},
13928 {"ANGLE", ANGLE, NULL},
13929 {"ANTIALIASING", ANTIALIASING, NULL},
13930 {"APPEND", APPEND, NULL},
13931 {"ARRANGE", ARRANGE, NULL},
13932 {"ARROW", ARROW, NULL},
13933 {"ASCENDING", ASCENDING, NULL},
13934 {"ASIN", FUNC_D, (void *) asin},
13935 {"ASINH", FUNC_D, (void *) asinh},
13936 {"ASPLINE", ASPLINE, NULL},
13937 {"ATAN", FUNC_D, (void *) atan},
13938 {"ATAN2", FUNC_DD, (void *) atan2},
13939 {"ATANH", FUNC_D, (void *) atanh},
13940 {"AUTO", AUTO, NULL},
13941 {"AUTOSCALE", AUTOSCALE, NULL},
13942 {"AUTOTICKS", AUTOTICKS, NULL},
13943 {"AVALUE", AVALUE, NULL},
13944 {"AVG", AVG, NULL},
13945 {"BACKGROUND", BACKGROUND, NULL},
13946 {"BAR", BAR, NULL},
13947 {"BARDY", BARDY, NULL},
13948 {"BARDYDY", BARDYDY, NULL},
13949 {"BASELINE", BASELINE, NULL},
13950 {"BATCH", BATCH, NULL},
13951 {"BEGIN", BEGIN, NULL},
13952 {"BELOW", BELOW, NULL},
13953 {"BETA", FUNC_DD, (void *) beta},
13954 {"BETWEEN", BETWEEN, NULL},
13955 {"BI", FUNC_D, (void *) bi_wrap},
13956 {"BLACKMAN", BLACKMAN, NULL},
13957 {"BLOCK", BLOCK, NULL},
13958 {"BOTH", BOTH, NULL},
13959 {"BOTTOM", BOTTOM, NULL},
13960 {"BOX", BOX, NULL},
13961 {"CD", CD, NULL},
13962 {"CEIL", FUNC_D, (void *) ceil},
13963 {"CENTER", CENTER, NULL},
13964 {"CHAR", CHAR, NULL},
13965 {"CHART", CHART, NULL},
13966 {"CHDTR", FUNC_DD, (void *) chdtr},
13967 {"CHDTRC", FUNC_DD, (void *) chdtrc},
13968 {"CHDTRI", FUNC_DD, (void *) chdtri},
13969 {"CHI", FUNC_D, (void *) chi_wrap},
13970 {"CI", FUNC_D, (void *) ci_wrap},
13971 {"CLEAR", CLEAR, NULL},
13972 {"CLICK", CLICK, NULL},
13973 {"CLIP", CLIP, NULL},
13974 {"CLOSE", CLOSE, NULL},
13975 {"COEFFICIENTS", COEFFICIENTS, NULL},
13976 {"COLOR", COLOR, NULL},
13977 {"COMMENT", COMMENT, NULL},
13978 {"COMPLEX", COMPLEX, NULL},
13979 {"COMPUTING", COMPUTING, NULL},
13980 {"CONST", KEY_CONST, NULL},
13981 {"CONSTRAINTS", CONSTRAINTS, NULL},
13982 {"COPY", COPY, NULL},
13983 {"COS", FUNC_D, (void *) cos},
13984 {"COSH", FUNC_D, (void *) cosh},
13985 {"CYCLE", CYCLE, NULL},
13986 {"DATE", DATE, NULL},
13987 {"DAWSN", FUNC_D, (void *) dawsn},
13988 {"DAYMONTH", DAYMONTH, NULL},
13989 {"DAYOFWEEKL", DAYOFWEEKL, NULL},
13990 {"DAYOFWEEKS", DAYOFWEEKS, NULL},
13991 {"DAYOFYEAR", DAYOFYEAR, NULL},
13992 {"DDMMYY", DDMMYY, NULL},
13993 {"DECIMAL", DECIMAL, NULL},
13994 {"DEF", DEF, NULL},
13995 {"DEFAULT", DEFAULT, NULL},
13996 {"DEFINE", DEFINE, NULL},
13997 {"DEG", UCONSTANT, (void *) deg_uconst},
13998 {"DEGREESLAT", DEGREESLAT, NULL},
13999 {"DEGREESLON", DEGREESLON, NULL},
14000 {"DEGREESMMLAT", DEGREESMMLAT, NULL},
14001 {"DEGREESMMLON", DEGREESMMLON, NULL},
14002 {"DEGREESMMSSLAT", DEGREESMMSSLAT, NULL},
14003 {"DEGREESMMSSLON", DEGREESMMSSLON, NULL},
14004 {"DESCENDING", DESCENDING, NULL},
14005 {"DESCRIPTION", DESCRIPTION, NULL},
14006 {"DEVICE", DEVICE, NULL},
14007 {"DFT", DFT, NULL},
14008 {"DIFF", DIFFERENCE, NULL},
14009 {"DIFFERENCE", DIFFERENCE, NULL},
14010 {"DISK", DISK, NULL},
14011 {"DOWN", DOWN, NULL},
14012 {"DPI", DPI, NULL},
14013 {"DROP", DROP, NULL},
14014 {"DROPLINE", DROPLINE, NULL},
14015 {"ECHO", ECHO, NULL},
14016 {"ELLIE", FUNC_DD, (void *) ellie},
14017 {"ELLIK", FUNC_DD, (void *) ellik},
14018 {"ELLIPSE", ELLIPSE, NULL},
14019 {"ELLPE", FUNC_D, (void *) ellpe_wrap},
14020 {"ELLPK", FUNC_D, (void *) ellpk_wrap},
14021 {"ENGINEERING", ENGINEERING, NULL},
14022 {"EQ", EQ, NULL},
14023 {"ER", ERRORBAR, NULL},
14024 {"ERF", FUNC_D, (void *) erf},
14025 {"ERFC", FUNC_D, (void *) erfc},
14026 {"ERRORBAR", ERRORBAR, NULL},
14027 {"EXIT", EXIT, NULL},
14028 {"EXP", FUNC_D, (void *) exp},
14029 {"EXPN", FUNC_ND, (void *) expn},
14030 {"EXPONENTIAL", EXPONENTIAL, NULL},
14031 {"FAC", FUNC_I, (void *) fac},
14032 {"FALSE", OFF, NULL},
14033 {"FDTR", FUNC_NND, (void *) fdtr},
14034 {"FDTRC", FUNC_NND, (void *) fdtrc},
14035 {"FDTRI", FUNC_NND, (void *) fdtri},
14036 {"FFT", FFT, NULL},
14037 {"FILE", FILEP, NULL},
14038 {"FILL", FILL, NULL},
14039 {"FIT", FIT, NULL},
14040 {"FIXED", FIXED, NULL},
14041 {"FIXEDPOINT", FIXEDPOINT, NULL},
14042 {"FLOOR", FUNC_D, (void *) floor},
14043 {"FLUSH", FLUSH, NULL},
14044 {"FOCUS", FOCUS, NULL},
14045 {"FOLLOWS", FOLLOWS, NULL},
14046 {"FONT", FONTP, NULL},
14047 {"FORCE", FORCE, NULL},
14048 {"FORMAT", FORMAT, NULL},
14049 {"FORMULA", FORMULA, NULL},
14050 {"FRAME", FRAMEP, NULL},
14051 {"FREE", FREE, NULL},
14052 {"FREQUENCY", FREQUENCY, NULL},
14053 {"FRESNLC", FUNC_D, (void *) fresnlc_wrap},
14054 {"FRESNLS", FUNC_D, (void *) fresnls_wrap},
14055 {"FROM", FROM, NULL},
14056 {"F_OF_D", KEY_FUNC_D, NULL},
14057 {"F_OF_DD", KEY_FUNC_DD, NULL},
14058 {"F_OF_I", KEY_FUNC_I, NULL},
14059 {"F_OF_ND", KEY_FUNC_ND, NULL},
14060 {"F_OF_NN", KEY_FUNC_NN, NULL},
14061 {"F_OF_NND", KEY_FUNC_NND, NULL},
14062 {"F_OF_PPD", KEY_FUNC_PPD, NULL},
14063 {"F_OF_PPPD", KEY_FUNC_PPPD, NULL},
14064 {"F_OF_PPPPD", KEY_FUNC_PPPPD, NULL},
14065 {"F_OF_PPPPPD", KEY_FUNC_PPPPPD, NULL},
14066 {"GAMMA", FUNC_D, (void *) true_gamma},
14067 {"GDTR", FUNC_PPD, (void *) gdtr},
14068 {"GDTRC", FUNC_PPD, (void *) gdtrc},
14069 {"GE", GE, NULL},
14070 {"GENERAL", GENERAL, NULL},
14071 {"GETP", GETP, NULL},
14072 {"GRAPH", GRAPH, NULL},
14073 {"GRID", GRID, NULL},
14074 {"GT", GT, NULL},
14075 {"HAMMING", HAMMING, NULL},
14076 {"HANNING", HANNING, NULL},
14077 {"HARDCOPY", HARDCOPY, NULL},
14078 {"HBAR", HBAR, NULL},
14079 {"HELP", HELP, NULL},
14080 {"HGAP", HGAP, NULL},
14081 {"HIDDEN", HIDDEN, NULL},
14082 {"HISTOGRAM", HISTOGRAM, NULL},
14083 {"HMS", HMS, NULL},
14084 {"HORIZI", HORIZI, NULL},
14085 {"HORIZO", HORIZO, NULL},
14086 {"HORIZONTAL", HORIZONTAL, NULL},
14087 {"HYP2F1", FUNC_PPPD, (void *) hyp2f1},
14088 {"HYPERG", FUNC_PPD, (void *) hyperg},
14089 {"HYPOT", FUNC_DD, (void *) hypot},
14090 {"I0E", FUNC_D, (void *) i0e},
14091 {"I1E", FUNC_D, (void *) i1e},
14092 {"ID", ID, NULL},
14093 {"IFILTER", IFILTER, NULL},
14094 {"IGAM", FUNC_DD, (void *) igam},
14095 {"IGAMC", FUNC_DD, (void *) igamc},
14096 {"IGAMI", FUNC_DD, (void *) igami},
14097 {"IMAX", IMAX, NULL},
14098 {"IMIN", IMIN, NULL},
14099 {"IN", IN, NULL},
14100 {"INCBET", FUNC_PPD, (void *) incbet},
14101 {"INCBI", FUNC_PPD, (void *) incbi},
14102 {"INCREMENT", INCREMENT, NULL},
14103 {"INDEX", INDEX, NULL},
14104 {"INOUT", INOUT, NULL},
14105 {"INT", INT, NULL},
14106 {"INTEGRATE", INTEGRATE, NULL},
14107 {"INTERPOLATE", INTERPOLATE, NULL},
14108 {"INVDFT", INVDFT, NULL},
14109 {"INVERT", INVERT, NULL},
14110 {"INVFFT", INVFFT, NULL},
14111 {"IRAND", FUNC_I, (void *) irand_wrap},
14112 {"IV", FUNC_DD, (void *) iv_wrap},
14113 {"JUST", JUST, NULL},
14114 {"JV", FUNC_DD, (void *) jv_wrap},
14115 {"K0E", FUNC_D, (void *) k0e},
14116 {"K1E", FUNC_D, (void *) k1e},
14117 {"KILL", KILL, NULL},
14118 {"KN", FUNC_ND, (void *) kn_wrap},
14119 {"LABEL", LABEL, NULL},
14120 {"LANDSCAPE", LANDSCAPE, NULL},
14121 {"LAYOUT", LAYOUT, NULL},
14122 {"LBETA", FUNC_DD, (void *) lbeta},
14123 {"LE", LE, NULL},
14124 {"LEFT", LEFT, NULL},
14125 {"LEGEND", LEGEND, NULL},
14126 {"LENGTH", LENGTH, NULL},
14127 {"LGAMMA", FUNC_D, (void *) lgamma},
14128 {"LINCONV", LINCONV, NULL},
14129 {"LINE", LINE, NULL},
14130 {"LINEAR", LINEAR, NULL},
14131 {"LINESTYLE", LINESTYLE, NULL},
14132 {"LINEWIDTH", LINEWIDTH, NULL},
14133 {"LINK", LINK, NULL},
14134 {"LN", FUNC_D, (void *) log},
14135 {"LOAD", LOAD, NULL},
14136 {"LOCTYPE", LOCTYPE, NULL},
14137 {"LOG", LOG, NULL},
14138 {"LOG10", FUNC_D, (void *) log10},
14139 {"LOG2", FUNC_D, (void *) log2},
14140 {"LOGARITHMIC", LOGARITHMIC, NULL},
14141 {"LOGX", LOGX, NULL},
14142 {"LOGXY", LOGXY, NULL},
14143 {"LOGY", LOGY, NULL},
14144 {"LOGIT", LOGIT, NULL},
14145 {"LT", LT, NULL},
14146 {"MAGIC", MAGIC, NULL},
14147 {"MAGNITUDE", MAGNITUDE, NULL},
14148 {"MAJOR", MAJOR, NULL},
14149 {"MAP", MAP, NULL},
14150 {"MAX", MAXP, NULL},
14151 {"MAXOF", FUNC_DD, (void *) max_wrap},
14152 {"MESH", MESH, NULL},
14153 {"MIN", MINP, NULL},
14154 {"MINOF", FUNC_DD, (void *) min_wrap},
14155 {"MINOR", MINOR, NULL},
14156 {"MMDD", MMDD, NULL},
14157 {"MMDDHMS", MMDDHMS, NULL},
14158 {"MMDDYY", MMDDYY, NULL},
14159 {"MMDDYYHMS", MMDDYYHMS, NULL},
14160 {"MMSSLAT", MMSSLAT, NULL},
14161 {"MMSSLON", MMSSLON, NULL},
14162 {"MMYY", MMYY, NULL},
14163 {"MOD", FUNC_DD, (void *) fmod},
14164 {"MONTHDAY", MONTHDAY, NULL},
14165 {"MONTHL", MONTHL, NULL},
14166 {"MONTHS", MONTHS, NULL},
14167 {"MONTHSY", MONTHSY, NULL},
14168 {"MOVE", MOVE, NULL},
14169 {"NDTR", FUNC_D, (void *) ndtr},
14170 {"NDTRI", FUNC_D, (void *) ndtri},
14171 {"NE", NE, NULL},
14172 {"NEGATE", NEGATE, NULL},
14173 {"NEW", NEW, NULL},
14174 {"NONE", NONE, NULL},
14175 {"NONLFIT", NONLFIT, NULL},
14176 {"NORM", FUNC_D, (void *) fx},
14177 {"NORMAL", NORMAL, NULL},
14178 {"NOT", NOT, NULL},
14179 {"NXY", NXY, NULL},
14180 {"OFF", OFF, NULL},
14181 {"OFFSET", OFFSET, NULL},
14182 {"OFFSETX", OFFSETX, NULL},
14183 {"OFFSETY", OFFSETY, NULL},
14184 {"OFILTER", OFILTER, NULL},
14185 {"ON", ON, NULL},
14186 {"ONREAD", ONREAD, NULL},
14187 {"OP", OP, NULL},
14188 {"OPPOSITE", OPPOSITE, NULL},
14189 {"OR", OR, NULL},
14190 {"OUT", OUT, NULL},
14191 {"PAGE", PAGE, NULL},
14192 {"PARA", PARA, NULL},
14193 {"PARAMETERS", PARAMETERS, NULL},
14194 {"PARZEN", PARZEN, NULL},
14195 {"PATTERN", PATTERN, NULL},
14196 {"PDTR", FUNC_ND, (void *) pdtr},
14197 {"PDTRC", FUNC_ND, (void *) pdtrc},
14198 {"PDTRI", FUNC_ND, (void *) pdtri},
14199 {"PERIOD", PERIOD, NULL},
14200 {"PERP", PERP, NULL},
14201 {"PHASE", PHASE, NULL},
14202 {"PI", CONSTANT, (void *) pi_const},
14203 {"PIE", PIE, NULL},
14204 {"PIPE", PIPE, NULL},
14205 {"PLACE", PLACE, NULL},
14206 {"POINT", POINT, NULL},
14207 {"POLAR", POLAR, NULL},
14208 {"POLYI", POLYI, NULL},
14209 {"POLYO", POLYO, NULL},
14210 {"POP", POP, NULL},
14211 {"PORTRAIT", PORTRAIT, NULL},
14212 {"POWER", POWER, NULL},
14213 {"PREC", PREC, NULL},
14214 {"PREPEND", PREPEND, NULL},
14215 {"PRINT", PRINT, NULL},
14216 {"PS", PS, NULL},
14217 {"PSI", FUNC_D, (void *) psi},
14218 {"PUSH", PUSH, NULL},
14219 {"PUTP", PUTP, NULL},
14220 {"RAD", UCONSTANT, (void *) rad_uconst},
14221 {"RAND", RAND, NULL},
14222 {"READ", READ, NULL},
14223 {"REAL", REAL, NULL},
14224 {"RECIPROCAL", RECIPROCAL, NULL},
14225 {"REDRAW", REDRAW, NULL},
14226 {"REFERENCE", REFERENCE, NULL},
14227 {"REGRESS", REGRESS, NULL},
14228 {"RESIZE", RESIZE, NULL},
14229 {"RESTRICT", RESTRICT, NULL},
14230 {"REVERSE", REVERSE, NULL},
14231 {"RGAMMA", FUNC_D, (void *) rgamma},
14232 {"RIGHT", RIGHT, NULL},
14233 {"RINT", FUNC_D, (void *) rint},
14234 {"RISER", RISER, NULL},
14235 {"RNORM", FUNC_DD, (void *) rnorm},
14236 {"ROT", ROT, NULL},
14237 {"ROUNDED", ROUNDED, NULL},
14238 {"RSUM", RSUM, NULL},
14239 {"RULE", RULE, NULL},
14240 {"RUNAVG", RUNAVG, NULL},
14241 {"RUNMAX", RUNMAX, NULL},
14242 {"RUNMED", RUNMED, NULL},
14243 {"RUNMIN", RUNMIN, NULL},
14244 {"RUNSTD", RUNSTD, NULL},
14245 {"SAVEALL", SAVEALL, NULL},
14246 {"SCALE", SCALE, NULL},
14247 {"SCIENTIFIC", SCIENTIFIC, NULL},
14248 {"SCROLL", SCROLL, NULL},
14249 {"SD", SD, NULL},
14250 {"SET", SET, NULL},
14251 {"SFORMAT", SFORMAT, NULL},
14252 {"SGN", FUNC_D, (void *) sign_wrap},
14253 {"SHI", FUNC_D, (void *) shi_wrap},
14254 {"SI", FUNC_D, (void *) si_wrap},
14255 {"SIGN", SIGN, NULL},
14256 {"SIN", FUNC_D, (void *) sin},
14257 {"SINH", FUNC_D, (void *) sinh},
14258 {"SIZE", SIZE, NULL},
14259 {"SKIP", SKIP, NULL},
14260 {"SLEEP", SLEEP, NULL},
14261 {"SMITH", SMITH, NULL},
14262 {"SORT", SORT, NULL},
14263 {"SOURCE", SOURCE, NULL},
14264 {"SPEC", SPEC, NULL},
14265 {"SPENCE", FUNC_D, (void *) spence},
14266 {"SPLINE", SPLINE, NULL},
14267 {"SPLIT", SPLIT, NULL},
14268 {"SQR", FUNC_D, (void *) sqr_wrap},
14269 {"SQRT", FUNC_D, (void *) sqrt},
14270 {"STACK", STACK, NULL},
14271 {"STACKED", STACKED, NULL},
14272 {"STACKEDBAR", STACKEDBAR, NULL},
14273 {"STACKEDHBAR", STACKEDHBAR, NULL},
14274 {"STAGGER", STAGGER, NULL},
14275 {"START", START, NULL},
14276 {"STDTR", FUNC_ND, (void *) stdtr},
14277 {"STDTRI", FUNC_ND, (void *) stdtri},
14278 {"STOP", STOP, NULL},
14279 {"STRING", STRING, NULL},
14280 {"STRUVE", FUNC_DD, (void *) struve},
14281 {"SUBTITLE", SUBTITLE, NULL},
14282 {"SUM", SUM, NULL},
14283 {"SWAP", SWAP, NULL},
14284 {"SYMBOL", SYMBOL, NULL},
14285 {"TAN", FUNC_D, (void *) tan},
14286 {"TANH", FUNC_D, (void *) tanh},
14287 {"TARGET", TARGET, NULL},
14288 {"TICK", TICKP, NULL},
14289 {"TICKLABEL", TICKLABEL, NULL},
14290 {"TICKS", TICKSP, NULL},
14291 {"TIMER", TIMER, NULL},
14292 {"TIMESTAMP", TIMESTAMP, NULL},
14293 {"TITLE", TITLE, NULL},
14294 {"TO", TO, NULL},
14295 {"TOP", TOP, NULL},
14296 {"TRIANGULAR", TRIANGULAR, NULL},
14297 {"TRUE", ON, NULL},
14298 {"TYPE", TYPE, NULL},
14299 {"UNIT", KEY_UNIT, NULL},
14300 {"UP", UP, NULL},
14301 {"UPDATEALL", UPDATEALL, NULL},
14302 {"USE", USE, NULL},
14303 {"VERSION", VERSION, NULL},
14304 {"VERTI", VERTI, NULL},
14305 {"VERTICAL", VERTICAL, NULL},
14306 {"VERTO", VERTO, NULL},
14307 {"VGAP", VGAP, NULL},
14308 {"VIEW", VIEW, NULL},
14309 {"VOIGT", FUNC_PPD, (void *) voigt},
14310 {"VX1", VX1, NULL},
14311 {"VX2", VX2, NULL},
14312 {"VXMAX", VXMAX, NULL},
14313 {"VY1", VY1, NULL},
14314 {"VY2", VY2, NULL},
14315 {"VYMAX", VYMAX, NULL},
14316 {"WELCH", WELCH, NULL},
14317 {"WITH", WITH, NULL},
14318 {"WORLD", WORLD, NULL},
14319 {"WRAP", WRAP, NULL},
14320 {"WRITE", WRITE, NULL},
14321 {"WX1", WX1, NULL},
14322 {"WX2", WX2, NULL},
14323 {"WY1", WY1, NULL},
14324 {"WY2", WY2, NULL},
14325 {"X", X_TOK, NULL},
14326 {"X0", X0, NULL},
14327 {"X1", X1, NULL},
14328 {"XAXES", XAXES, NULL},
14329 {"XAXIS", XAXIS, NULL},
14330 {"XCOR", XCOR, NULL},
14331 {"XMAX", XMAX, NULL},
14332 {"XMIN", XMIN, NULL},
14333 {"XY", XY, NULL},
14334 {"XYAXES", XYAXES, NULL},
14335 {"XYBOXPLOT", XYBOXPLOT, NULL},
14336 {"XYCOLOR", XYCOLOR, NULL},
14337 {"XYCOLPAT", XYCOLPAT, NULL},
14338 {"XYDX", XYDX, NULL},
14339 {"XYDXDX", XYDXDX, NULL},
14340 {"XYDXDXDYDY", XYDXDXDYDY, NULL},
14341 {"XYDXDY", XYDXDY, NULL},
14342 {"XYDY", XYDY, NULL},
14343 {"XYDYDY", XYDYDY, NULL},
14344 {"XYHILO", XYHILO, NULL},
14345 {"XYR", XYR, NULL},
14346 {"XYSIZE", XYSIZE, NULL},
14347 {"XYSTRING", XYSTRING, NULL},
14348 {"XYVMAP", XYVMAP, NULL},
14349 {"XYZ", XYZ, NULL},
14350 {"Y", Y_TOK, NULL},
14351 {"Y0", Y0, NULL},
14352 {"Y1", Y1, NULL},
14353 {"Y2", Y2, NULL},
14354 {"Y3", Y3, NULL},
14355 {"Y4", Y4, NULL},
14356 {"YAXES", YAXES, NULL},
14357 {"YAXIS", YAXIS, NULL},
14358 {"YEAR", YEAR, NULL},
14359 {"YMAX", YMAX, NULL},
14360 {"YMIN", YMIN, NULL},
14361 {"YV", FUNC_DD, (void *) yv_wrap},
14362 {"YYMMDD", YYMMDD, NULL},
14363 {"YYMMDDHMS", YYMMDDHMS, NULL},
14364 {"ZERO", ZERO, NULL},
14365 {"ZEROXAXIS", ALTXAXIS, NULL},
14366 {"ZEROYAXIS", ALTYAXIS, NULL},
14367 {"ZETA", FUNC_DD, (void *) zeta},
14368 {"ZETAC", FUNC_D, (void *) zetac},
14369 {"ZNORM", ZNORM, NULL}
14370 };
14371
14372 static int maxfunc = sizeof(ikey) / sizeof(symtab_entry);
14373
get_parser_gno(void)14374 int get_parser_gno(void)
14375 {
14376 return whichgraph;
14377 }
14378
set_parser_gno(int gno)14379 int set_parser_gno(int gno)
14380 {
14381 if (is_valid_gno(gno) == TRUE) {
14382 whichgraph = gno;
14383 return RETURN_SUCCESS;
14384 } else {
14385 return RETURN_FAILURE;
14386 }
14387 }
14388
get_parser_setno(void)14389 int get_parser_setno(void)
14390 {
14391 return whichset;
14392 }
14393
set_parser_setno(int gno,int setno)14394 int set_parser_setno(int gno, int setno)
14395 {
14396 if (is_valid_setno(gno, setno) == TRUE) {
14397 whichgraph = gno;
14398 whichset = setno;
14399 /* those will usually be overridden except when evaluating
14400 a _standalone_ vexpr */
14401 vasgn_gno = gno;
14402 vasgn_setno = setno;
14403 return RETURN_SUCCESS;
14404 } else {
14405 return RETURN_FAILURE;
14406 }
14407 }
14408
realloc_vrbl(grarr * vrbl,int len)14409 void realloc_vrbl(grarr *vrbl, int len)
14410 {
14411 double *a;
14412 int i, oldlen;
14413
14414 if (vrbl->type != GRARR_VEC) {
14415 errmsg("Internal error");
14416 return;
14417 }
14418 oldlen = vrbl->length;
14419 if (oldlen == len) {
14420 return;
14421 } else {
14422 a = xrealloc(vrbl->data, len*SIZEOF_DOUBLE);
14423 if (a != NULL || len == 0) {
14424 vrbl->data = a;
14425 vrbl->length = len;
14426 for (i = oldlen; i < len; i++) {
14427 vrbl->data[i] = 0.0;
14428 }
14429 } else {
14430 errmsg("Malloc failed in realloc_vrbl()");
14431 }
14432 }
14433 }
14434
14435
14436 #define PARSER_TYPE_VOID 0
14437 #define PARSER_TYPE_EXPR 1
14438 #define PARSER_TYPE_VEXPR 2
14439
parser(char * s,int type)14440 static int parser(char *s, int type)
14441 {
14442 char *seekpos;
14443 int i;
14444
14445 if (s == NULL || s[0] == '\0') {
14446 if (type == PARSER_TYPE_VOID) {
14447 /* don't consider an empty string as error for generic parser */
14448 return RETURN_SUCCESS;
14449 } else {
14450 return RETURN_FAILURE;
14451 }
14452 }
14453
14454 strncpy(f_string, s, MAX_PARS_STRING_LENGTH - 2);
14455 f_string[MAX_PARS_STRING_LENGTH - 2] = '\0';
14456 strcat(f_string, " ");
14457
14458 seekpos = f_string;
14459
14460 while ((seekpos - f_string < MAX_PARS_STRING_LENGTH - 1) && (*seekpos == ' ' || *seekpos == '\t')) {
14461 seekpos++;
14462 }
14463 if (*seekpos == '\n' || *seekpos == '#') {
14464 if (type == PARSER_TYPE_VOID) {
14465 /* don't consider an empty string as error for generic parser */
14466 return RETURN_SUCCESS;
14467 } else {
14468 return RETURN_FAILURE;
14469 }
14470 }
14471
14472 lowtoupper(f_string);
14473
14474 pos = 0;
14475 interr = 0;
14476 expr_parsed = FALSE;
14477 vexpr_parsed = FALSE;
14478
14479 yyparse();
14480
14481 /* free temp. arrays; for a vector expression keep the last one
14482 * (which is none but v_result), given there have been no errors
14483 * and it's what we've been asked for
14484 */
14485 if (vexpr_parsed && !interr && type == PARSER_TYPE_VEXPR) {
14486 for (i = 0; i < fcnt - 1; i++) {
14487 free_tmpvrbl(&(freelist[i]));
14488 }
14489 } else {
14490 for (i = 0; i < fcnt; i++) {
14491 free_tmpvrbl(&(freelist[i]));
14492 }
14493 }
14494 fcnt = 0;
14495
14496 tgtn = 0;
14497
14498 if ((type == PARSER_TYPE_VEXPR && !vexpr_parsed) ||
14499 (type == PARSER_TYPE_EXPR && !expr_parsed)) {
14500 return RETURN_FAILURE;
14501 } else {
14502 return (interr ? RETURN_FAILURE:RETURN_SUCCESS);
14503 }
14504 }
14505
s_scanner(char * s,double * res)14506 int s_scanner(char *s, double *res)
14507 {
14508 int retval = parser(s, PARSER_TYPE_EXPR);
14509 *res = s_result;
14510 return retval;
14511 }
14512
v_scanner(char * s,int * reslen,double ** vres)14513 int v_scanner(char *s, int *reslen, double **vres)
14514 {
14515 int retval = parser(s, PARSER_TYPE_VEXPR);
14516 if (retval != RETURN_SUCCESS) {
14517 return RETURN_FAILURE;
14518 } else {
14519 *reslen = v_result->length;
14520 if (v_result->type == GRARR_TMP) {
14521 *vres = v_result->data;
14522 v_result->length = 0;
14523 v_result->data = NULL;
14524 } else {
14525 *vres = copy_data_column(v_result->data, v_result->length);
14526 }
14527 return RETURN_SUCCESS;
14528 }
14529 }
14530
scanner(char * s)14531 int scanner(char *s)
14532 {
14533 int retval = parser(s, PARSER_TYPE_VOID);
14534 if (retval != RETURN_SUCCESS) {
14535 return RETURN_FAILURE;
14536 }
14537
14538 if (gotparams) {
14539 gotparams = FALSE;
14540 getparms(paramfile);
14541 }
14542
14543 if (gotread) {
14544 gotread = FALSE;
14545 getdata(whichgraph, readfile, cursource, LOAD_SINGLE);
14546 }
14547
14548 if (gotnlfit) {
14549 gotnlfit = FALSE;
14550 do_nonlfit(nlfit_gno, nlfit_setno, nlfit_warray, NULL, nlfit_nsteps);
14551 XCFREE(nlfit_warray);
14552 }
14553 return retval;
14554 }
14555
free_tmpvrbl(grarr * vrbl)14556 static void free_tmpvrbl(grarr *vrbl)
14557 {
14558 if (vrbl->type == GRARR_TMP) {
14559 vrbl->length = 0;
14560 XCFREE(vrbl->data);
14561 }
14562 }
14563
copy_vrbl(grarr * dest,grarr * src)14564 static void copy_vrbl(grarr *dest, grarr *src)
14565 {
14566 dest->type = src->type;
14567 dest->data = xmalloc(src->length*SIZEOF_DOUBLE);
14568 if (dest->data == NULL) {
14569 errmsg("Malloc failed in copy_vrbl()");
14570 } else {
14571 memcpy(dest->data, src->data, src->length*SIZEOF_DOUBLE);
14572 dest->length = src->length;
14573 }
14574 }
14575
get_parser_arr_by_name(char * const name)14576 grarr *get_parser_arr_by_name(char * const name)
14577 {
14578 int position;
14579 char *s;
14580
14581 s = copy_string(NULL, name);
14582 lowtoupper(s);
14583
14584 position = findf(key, s);
14585 xfree(s);
14586
14587 if (position >= 0) {
14588 if (key[position].type == KEY_VEC) {
14589 return (grarr *) key[position].data;
14590 }
14591 }
14592
14593 return NULL;
14594 }
14595
define_parser_arr(char * const name)14596 grarr *define_parser_arr(char * const name)
14597 {
14598 if (get_parser_arr_by_name(name) == NULL) {
14599 symtab_entry tmpkey;
14600 grarr *var;
14601
14602 var = xmalloc(sizeof(grarr));
14603 var->type = GRARR_VEC;
14604 var->length = 0;
14605 var->data = NULL;
14606
14607 tmpkey.s = name;
14608 tmpkey.type = KEY_VEC;
14609 tmpkey.data = (void *) var;
14610 if (addto_symtab(tmpkey) == RETURN_SUCCESS) {
14611 return var;
14612 } else {
14613 return NULL;
14614 }
14615 } else {
14616 return NULL;
14617 }
14618 }
14619
undefine_parser_var(void * ptr)14620 int undefine_parser_var(void *ptr)
14621 {
14622 int i;
14623
14624 for (i = 0; i < maxfunc; i++) {
14625 if (key[i].data == ptr) {
14626 xfree(key[i].s);
14627 maxfunc--;
14628 if (i != maxfunc) {
14629 memmove(&(key[i]), &(key[i + 1]), (maxfunc - i)*sizeof(symtab_entry));
14630 }
14631 key = xrealloc(key, maxfunc*sizeof(symtab_entry));
14632 return RETURN_SUCCESS;
14633 }
14634 }
14635 return RETURN_FAILURE;
14636 }
14637
find_set_bydata(double * data,target * tgt)14638 static int find_set_bydata(double *data, target *tgt)
14639 {
14640 int gno, setno, ncol;
14641
14642 if (data == NULL) {
14643 return RETURN_FAILURE;
14644 } else {
14645 for (gno = 0; gno < number_of_graphs(); gno++) {
14646 for (setno = 0; setno < number_of_sets(gno); setno++) {
14647 for (ncol = 0; ncol < MAX_SET_COLS; ncol++) {
14648 if (getcol(gno, setno, ncol) == data) {
14649 tgt->gno = gno;
14650 tgt->setno = setno;
14651 return RETURN_SUCCESS;
14652 }
14653 }
14654 }
14655 }
14656 }
14657 return RETURN_FAILURE;
14658 }
14659
findf(symtab_entry * keytable,char * s)14660 static int findf(symtab_entry *keytable, char *s)
14661 {
14662
14663 int low, high, mid;
14664
14665 low = 0;
14666 high = maxfunc - 1;
14667 while (low <= high) {
14668 mid = (low + high) / 2;
14669 if (strcmp(s, keytable[mid].s) < 0) {
14670 high = mid - 1;
14671 } else {
14672 if (strcmp(s, keytable[mid].s) > 0) {
14673 low = mid + 1;
14674 } else {
14675 return (mid);
14676 }
14677 }
14678 }
14679 return (-1);
14680 }
14681
compare_keys(const void * a,const void * b)14682 static int compare_keys (const void *a, const void *b)
14683 {
14684 return (int) strcmp (((const symtab_entry*)a)->s,
14685 ((const symtab_entry*)b)->s);
14686 }
14687
14688 /* add new entry to the symbol table */
addto_symtab(symtab_entry newkey)14689 int addto_symtab(symtab_entry newkey)
14690 {
14691 int position;
14692 char *s;
14693
14694 s = copy_string(NULL, newkey.s);
14695 lowtoupper(s);
14696 if ((position = findf(key, s)) < 0) {
14697 if ((key = (symtab_entry *) xrealloc(key, (maxfunc + 1)*sizeof(symtab_entry))) != NULL) {
14698 key[maxfunc].type = newkey.type;
14699 key[maxfunc].data = newkey.data;
14700 key[maxfunc].s = s;
14701 maxfunc++;
14702 qsort(key, maxfunc, sizeof(symtab_entry), compare_keys);
14703 return RETURN_SUCCESS;
14704 } else {
14705 xfree(s);
14706 return RETURN_FAILURE;
14707 }
14708 } else if (alias_force == TRUE) { /* already exists but alias_force enabled */
14709 key[position].type = newkey.type;
14710 key[position].data = newkey.data;
14711 return RETURN_SUCCESS;
14712 } else {
14713 xfree(s);
14714 return RETURN_FAILURE;
14715 }
14716 }
14717
14718 /* initialize symbol table */
init_symtab(void)14719 void init_symtab(void)
14720 {
14721 int i;
14722
14723 if ((key = (symtab_entry *) xmalloc(maxfunc*sizeof(symtab_entry))) != NULL) {
14724 memcpy (key, ikey, maxfunc*sizeof(symtab_entry));
14725 for (i = 0; i < maxfunc; i++) {
14726 key[i].s = xmalloc(strlen(ikey[i].s) + 1);
14727 strcpy(key[i].s, ikey[i].s);
14728 }
14729 qsort(key, maxfunc, sizeof(symtab_entry), compare_keys);
14730 return;
14731 } else {
14732 key = ikey;
14733 return;
14734 }
14735 }
14736
getcharstr(void)14737 static int getcharstr(void)
14738 {
14739 if (pos >= strlen(f_string))
14740 return EOF;
14741 return (f_string[pos++]);
14742 }
14743
ungetchstr(void)14744 static void ungetchstr(void)
14745 {
14746 if (pos > 0)
14747 pos--;
14748 }
14749
yylex(void)14750 static int yylex(void)
14751 {
14752 int c, i;
14753 int found;
14754 char sbuf[MAX_PARS_STRING_LENGTH + 40];
14755
14756 while ((c = getcharstr()) == ' ' || c == '\t');
14757 if (c == EOF) {
14758 return (0);
14759 }
14760 if (c == '"') {
14761 i = 0;
14762 while ((c = getcharstr()) != '"' && c != EOF) {
14763 if (c == '\\') {
14764 int ctmp;
14765 ctmp = getcharstr();
14766 if (ctmp != '"') {
14767 ungetchstr();
14768 }
14769 else {
14770 c = ctmp;
14771 }
14772 }
14773 sbuf[i] = c;
14774 i++;
14775 }
14776 if (c == EOF) {
14777 yyerror("Nonterminating string");
14778 return 0;
14779 }
14780 sbuf[i] = '\0';
14781 yylval.sval = copy_string(NULL, sbuf);
14782 return CHRSTR;
14783 }
14784 if (c == '.' || isdigit(c)) {
14785 double d;
14786 int i, gotdot = 0;
14787
14788 i = 0;
14789 while (c == '.' || isdigit(c)) {
14790 if (c == '.') {
14791 if (gotdot) {
14792 yyerror("Reading number, too many dots");
14793 return 0;
14794 } else {
14795 gotdot = 1;
14796 }
14797 }
14798 sbuf[i++] = c;
14799 c = getcharstr();
14800 }
14801 if (c == 'E' || c == 'e') {
14802 sbuf[i++] = c;
14803 c = getcharstr();
14804 if (c == '+' || c == '-') {
14805 sbuf[i++] = c;
14806 c = getcharstr();
14807 }
14808 while (isdigit(c)) {
14809 sbuf[i++] = c;
14810 c = getcharstr();
14811 }
14812 }
14813 if (gotdot && i == 1) {
14814 ungetchstr();
14815 return '.';
14816 }
14817 sbuf[i] = '\0';
14818 ungetchstr();
14819 sscanf(sbuf, "%lf", &d);
14820 yylval.dval = d;
14821 return NUMBER;
14822 }
14823 /* graphs, sets, regions resp. */
14824 if (c == 'G' || c == 'S' || c == 'R') {
14825 int i = 0, ctmp = c, gn, sn, rn;
14826 c = getcharstr();
14827 while (isdigit(c) || c == '$' || c == '_') {
14828 sbuf[i++] = c;
14829 c = getcharstr();
14830 }
14831 if (i == 0) {
14832 c = ctmp;
14833 ungetchstr();
14834 } else {
14835 ungetchstr();
14836 if (ctmp == 'G') {
14837 sbuf[i] = '\0';
14838 if (i == 1 && sbuf[0] == '_') {
14839 gn = get_recent_gno();
14840 } else if (i == 1 && sbuf[0] == '$') {
14841 gn = whichgraph;
14842 } else {
14843 gn = atoi(sbuf);
14844 }
14845 if (is_valid_gno(gn) || graph_allocate(gn) == RETURN_SUCCESS) {
14846 yylval.ival = gn;
14847 return GRAPHNO;
14848 }
14849 } else if (ctmp == 'S') {
14850 sbuf[i] = '\0';
14851 if (i == 1 && sbuf[0] == '_') {
14852 sn = get_recent_setno();
14853 } else if (i == 1 && sbuf[0] == '$') {
14854 sn = whichset;
14855 } else {
14856 sn = atoi(sbuf);
14857 }
14858 yylval.ival = sn;
14859 return SETNUM;
14860 } else if (ctmp == 'R') {
14861 sbuf[i] = '\0';
14862 rn = atoi(sbuf);
14863 if (rn >= 0 && rn < MAXREGION) {
14864 yylval.ival = rn;
14865 return REGNUM;
14866 } else {
14867 errmsg("Invalid region number");
14868 }
14869 }
14870 }
14871 }
14872 if (isalpha(c) || c == '$') {
14873 char *p = sbuf;
14874
14875 do {
14876 *p++ = c;
14877 } while ((c = getcharstr()) != EOF && (isalpha(c) || isdigit(c) ||
14878 c == '_' || c == '$'));
14879 ungetchstr();
14880 *p = '\0';
14881 #ifdef DEBUG
14882 if (get_debuglevel() == 2) {
14883 printf("->%s<-\n", sbuf);
14884 }
14885 #endif
14886 found = -1;
14887 if ((found = findf(key, sbuf)) >= 0) {
14888 if (key[found].type == FITPARM) {
14889 int index = sbuf[1] - '0';
14890 yylval.ival = index;
14891 return FITPARM;
14892 }
14893 else if (key[found].type == FITPMAX) {
14894 int index = sbuf[1] - '0';
14895 yylval.ival = index;
14896 return FITPMAX;
14897 }
14898 else if (key[found].type == FITPMIN) {
14899 int index = sbuf[1] - '0';
14900 yylval.ival = index;
14901 return FITPMIN;
14902 }
14903
14904 else if (key[found].type == KEY_VAR) {
14905 yylval.dptr = (double *) key[found].data;
14906 return VAR_D;
14907 }
14908 else if (key[found].type == KEY_VEC) {
14909 yylval.vrbl = (grarr *) key[found].data;
14910 return VEC_D;
14911 }
14912
14913 else if (key[found].type == FUNC_I) {
14914 yylval.ival = found;
14915 return FUNC_I;
14916 }
14917 else if (key[found].type == CONSTANT) {
14918 yylval.ival = found;
14919 return CONSTANT;
14920 }
14921 else if (key[found].type == UCONSTANT) {
14922 yylval.ival = found;
14923 return UCONSTANT;
14924 }
14925 else if (key[found].type == FUNC_D) {
14926 yylval.ival = found;
14927 return FUNC_D;
14928 }
14929 else if (key[found].type == FUNC_ND) {
14930 yylval.ival = found;
14931 return FUNC_ND;
14932 }
14933 else if (key[found].type == FUNC_DD) {
14934 yylval.ival = found;
14935 return FUNC_DD;
14936 }
14937 else if (key[found].type == FUNC_NND) {
14938 yylval.ival = found;
14939 return FUNC_NND;
14940 }
14941 else if (key[found].type == FUNC_PPD) {
14942 yylval.ival = found;
14943 return FUNC_PPD;
14944 }
14945 else if (key[found].type == FUNC_PPPD) {
14946 yylval.ival = found;
14947 return FUNC_PPPD;
14948 }
14949 else if (key[found].type == FUNC_PPPPD) {
14950 yylval.ival = found;
14951 return FUNC_PPPPD;
14952 }
14953 else if (key[found].type == FUNC_PPPPPD) {
14954 yylval.ival = found;
14955 return FUNC_PPPPPD;
14956 }
14957 else {
14958 yylval.ival = key[found].type;
14959 return key[found].type;
14960 }
14961 } else {
14962 yylval.sval = copy_string(NULL, sbuf);
14963 return NEW_TOKEN;
14964 }
14965 }
14966 switch (c) {
14967 case '>':
14968 return follow('=', GE, GT);
14969 case '<':
14970 return follow('=', LE, LT);
14971 case '=':
14972 return follow('=', EQ, '=');
14973 case '!':
14974 return follow('=', NE, NOT);
14975 case '|':
14976 return follow('|', OR, '|');
14977 case '&':
14978 return follow('&', AND, '&');
14979 case '\n':
14980 return '\n';
14981 default:
14982 return c;
14983 }
14984 }
14985
follow(int expect,int ifyes,int ifno)14986 static int follow(int expect, int ifyes, int ifno)
14987 {
14988 int c = getcharstr();
14989
14990 if (c == expect) {
14991 return ifyes;
14992 }
14993 ungetchstr();
14994 return ifno;
14995 }
14996
yyerror(char * s)14997 static void yyerror(char *s)
14998 {
14999 char *buf;
15000
15001 buf = copy_string(NULL, s);
15002 buf = concat_strings(buf, ": ");
15003 buf = concat_strings(buf, f_string);
15004 errmsg(buf);
15005 xfree(buf);
15006 interr = 1;
15007 }
15008