source: trunk/third/nmh/zotnet/tws/dtimep.c-lexed @ 12455

Revision 12455, 32.2 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r12454, which included commits to RCS files with non-trunk default branches.
Line 
1#include <stdio.h>
2static int start_cond = 0;
3#define BEGIN start_cond =
4struct yysvf {
5        struct yywork *yystoff;
6        struct yysvf *yyother;
7        int *yystops;};
8# define Z 2
9#include <h/nmh.h>
10#include <tws.h>
11#if !defined(HAVE_TM_GMTOFF) && !defined(HAVE_TZSET)
12# include <sys/timeb.h>
13#endif
14
15#if !defined(HAVE_TM_GMTOFF) && defined(HAVE_TZSET)
16extern int  daylight;
17extern long timezone;
18extern char *tzname[];
19#endif
20
21
22# line 49 "./dtimep.lex"
23/*
24 * Patchable flag that says how to interpret NN/NN/NN dates. When
25 * true, we do it European style: DD/MM/YY. When false, we do it
26 * American style: MM/DD/YY.  Of course, these are all non-RFC822
27 * compliant.
28 */
29int europeandate = 0;
30
31
32# line 57 "./dtimep.lex"
33/*
34 * Table to convert month names to numeric month.  We use the
35 * fact that the low order 5 bits of the sum of the 2nd & 3rd
36 * characters of the name is a hash with no collisions for the 12
37 * valid month names.  (The mask to 5 bits maps any combination of
38 * upper and lower case into the same hash value).
39 */
40static int month_map[] = {
41        0,
42        6,      /* 1 - Jul */
43        3,      /* 2 - Apr */
44        5,      /* 3 - Jun */
45        0,
46        10,     /* 5 - Nov */
47        0,
48        1,      /* 7 - Feb */
49        11,     /* 8 - Dec */
50        0,
51        0,
52        0,
53        0,
54        0,
55        0,
56        0,      /*15 - Jan */
57        0,
58        0,
59        0,
60        2,      /*19 - Mar */
61        0,
62        8,      /*21 - Sep */
63        0,
64        9,      /*23 - Oct */
65        0,
66        0,
67        4,      /*26 - May */
68        0,
69        7       /*28 - Aug */
70};
71
72# line 95 "./dtimep.lex"
73/*
74 * Same trick for day-of-week using the hash function
75 *  (c1 & 7) + (c2 & 4)
76 */
77static int day_map[] = {
78        0,
79        0,
80        0,
81        6,      /* 3 - Sat */
82        4,      /* 4 - Thu */
83        0,
84        5,      /* 6 - Fri */
85        0,      /* 7 - Sun */
86        2,      /* 8 - Tue */
87        1       /* 9 - Mon */,
88        0,
89        3       /*11 - Wed */
90};
91#define SETDAY  { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
92                tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
93                cp += 2; }
94#define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
95                 cp += 2;\
96                 SKIPD;}
97#define CVT1OR2 (i=(*cp++ - '0'), isdigit(*cp)? i*10 + (*cp++ - '0') : i)
98#define CVT2      ((cp[0] - '0')*10 + (cp[1] - '0'))
99#define CVT4    ((((cp[0] - '0')*10 + (cp[1] - '0'))*10 + \
100                                      (cp[2] - '0'))*10 + (cp[3] - '0'))
101#define SKIPD   { while ( !isdigit(*cp++) ) ;  --cp; }
102#define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
103#define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
104#define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
105#define LC(c)   (isupper (c) ? tolower (c) : (c))
106
107#ifdef DSTXXX
108# ifdef TIME_WITH_SYS_TIME
109#  include <sys/time.h>
110#  include <time.h>
111# else
112#  ifdef HAVE_SYS_TIME_H
113#   include <sys/time.h>
114#  else
115#   include <time.h>
116#  endif
117# endif
118
119static void
120zonehack (struct tws *tw)
121{
122    register struct tm *tm;
123
124    if (dmktime (tw) == (time_t) -1)
125        return;
126
127    tm = localtime (&tw->tw_clock);
128    if (tm->tm_isdst) {
129        tw->tw_flags |= TW_DST;
130        tw->tw_zone -= 60;
131    }
132}
133#endif  /* DSTXXX */
134struct tws *
135dparsetime (char *str)
136{
137        register int i;
138        static struct tws tw;
139        register char *cp;
140        register int gotdate = 0;
141        time_t tclock;
142
143#ifdef HAVE_TM_GMTOFF
144        struct tm *tm;
145        time_t clock;
146#else
147# ifndef HAVE_TZSET
148        struct timeb tb;
149# endif /* not HAVE_TZSET */
150#endif /* HAVE_TM_GMTOFF */
151
152        start_cond = 0;
153
154        /* Zero out the struct. */
155        memset( (char *) &tw, 0, sizeof(tw));
156
157        /* Set default time zone. */
158#ifdef HAVE_TM_GMTOFF
159        time (&clock);
160        tm = localtime(&clock);
161        tw.tw_zone = tm->tm_gmtoff / 60;
162        if (tm->tm_isdst)                       /* if DST is in effect */
163                tw.tw_zone -= 60;               /* reset to normal offset */
164#else
165# ifdef HAVE_TZSET
166        tzset();
167        tw.tw_zone = -(timezone / 60);
168# else
169        ftime(&tb);
170        tw.tw_zone = -tb.timezone;
171# endif /* HAVE_TZSET */
172#endif /* HAVE_TM_GMTOFF */
173
174        while (isspace(*str))
175                str++;
176        while (1)
177                switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
178
179                case -1:
180                        if (!gotdate || tw.tw_year == 0)
181                                return (struct tws *)0;
182                        /* fall through */
183                case 0:
184                        if (tw.tw_year == 0) {
185                                /* Set default year. */
186                                time (&tclock);
187                                tw.tw_year = localtime(&tclock)->tm_year + 1900;
188                        } else if (tw.tw_year < 100) {
189                                /* assume no 2-digit years > 1999 */
190                                tw.tw_year += 1900;
191                        }
192                        return &tw;
193
194#ifdef __cplusplus
195/* to avoid CC and lint complaining yyfussy not being used ...*/
196static int __lex_hack = 0;
197if (__lex_hack) goto yyfussy;
198#endif
199case 1:
200
201# line 219 "./dtimep.lex"
202                        SETDAY;
203break;
204case 2:
205
206# line 220 "./dtimep.lex"
207                {
208                                        cp++;
209                                        SETDAY;
210                                        }
211break;
212case 3:
213
214# line 224 "./dtimep.lex"
215{
216                                        if (europeandate) {
217                                                /* European: DD/MM/YY */
218                                                tw.tw_mday = CVT1OR2;
219                                                cp++;
220                                                tw.tw_mon  = CVT1OR2 - 1;
221                                        } else {
222                                                /* American: MM/DD/YY */
223                                                tw.tw_mon  = CVT1OR2 - 1;
224                                                cp++;
225                                                tw.tw_mday = CVT1OR2;
226                                        }
227                                        cp++;
228                                        for (i = 0; isdigit(*cp); )
229                                                i = i*10 + (*cp++ - '0');
230                                        tw.tw_year = i;
231                                        gotdate++;      /* XXX */
232                                        }
233break;
234case 4:
235
236# line 242 "./dtimep.lex"
237                {
238                                        if (europeandate) {
239                                                tw.tw_mday = CVT1OR2; cp++;
240                                                tw.tw_mon  = CVT1OR2 - 1;
241                                        } else {
242                                                tw.tw_mon = CVT1OR2 - 1; cp++;
243                                                tw.tw_mday  = CVT1OR2;
244                                        }
245                                        gotdate++;
246                                        }
247break;
248case 5:
249
250# line 252 "./dtimep.lex"
251{
252                                        tw.tw_mday = CVT1OR2;
253                                        while ( !isalpha(*cp++) )
254                                                ;
255                                        SETMONTH;
256                                        for (i = 0; isdigit(*cp); )
257                                                i = i*10 + (*cp++ - '0');
258                                        tw.tw_year = i;
259                                        }
260break;
261case 6:
262
263# line 261 "./dtimep.lex"
264              {
265                                        tw.tw_mday = CVT1OR2;
266                                        while ( ! isalpha( *cp++ ) )
267                                                ;
268                                        SETMONTH;
269                                        }
270break;
271case 7:
272
273# line 267 "./dtimep.lex"
274{
275                                        cp++;
276                                        SETMONTH;
277                                        tw.tw_mday = CVT1OR2;
278                                        SKIPD;
279                                        for (i = 0; isdigit(*cp); )
280                                                i = i*10 + (*cp++ - '0');
281                                        tw.tw_year = i;
282                                        }
283break;
284case 8:
285
286# line 276 "./dtimep.lex"
287                {
288                                        cp++;
289                                        SETMONTH;
290                                        tw.tw_mday = CVT1OR2;
291                                        }
292break;
293case 9:
294
295# line 282 "./dtimep.lex"
296        {       /* hack: ctime w/o TZ */
297                                        tw.tw_hour = CVT1OR2; cp++;
298                                        tw.tw_min  = CVT1OR2; cp++;
299                                        tw.tw_sec  = CVT1OR2;
300                                        SKIPD;
301                                        tw.tw_year = CVT4; cp+=4;
302                                        }
303break;
304case 10:
305
306# line 289 "./dtimep.lex"
307                        {
308                                        tw.tw_hour = CVT1OR2; cp++;
309                                        tw.tw_min  = CVT1OR2; cp++;
310                                        tw.tw_sec  = CVT1OR2;
311                                        BEGIN Z;
312                                        }
313break;
314case 11:
315
316# line 295 "./dtimep.lex"
317                        {
318                                        tw.tw_hour = CVT1OR2; cp++;
319                                        tw.tw_min = CVT1OR2;
320                                        BEGIN Z;
321                                        }
322break;
323case 12:
324
325# line 300 "./dtimep.lex"
326                        {
327                                        tw.tw_hour = CVT1OR2; cp++;
328                                        if (tw.tw_hour == 12)
329                                                tw.tw_hour = 0;
330                                        tw.tw_min  = CVT1OR2;
331                                        BEGIN Z;
332                                        }
333break;
334case 13:
335
336# line 307 "./dtimep.lex"
337                {
338                                        tw.tw_hour = CVT1OR2; cp++;
339                                        if (tw.tw_hour == 12)
340                                                tw.tw_hour = 0;
341                                        tw.tw_min  = CVT1OR2; cp++;
342                                        tw.tw_sec  = CVT1OR2;
343                                        BEGIN Z;
344                                        }
345break;
346case 14:
347
348# line 315 "./dtimep.lex"
349                        {
350                                        tw.tw_hour = CVT1OR2; cp++;
351                                        if (tw.tw_hour != 12)
352                                                tw.tw_hour += 12;
353                                        tw.tw_min  = CVT1OR2;
354                                        BEGIN Z;
355                                        }
356break;
357case 15:
358
359# line 322 "./dtimep.lex"
360                {
361                                        tw.tw_hour = CVT1OR2; cp++;
362                                        if (tw.tw_hour != 12)
363                                                tw.tw_hour += 12;
364                                        tw.tw_min  = CVT1OR2; cp++;
365                                        tw.tw_sec  = CVT1OR2;
366                                        BEGIN Z;
367                                        }
368break;
369case 16:
370
371# line 330 "./dtimep.lex"
372                {
373                                        tw.tw_hour = CVT2; cp+=2;
374                                        tw.tw_min  = CVT2; cp+=2;
375                                        tw.tw_sec  = CVT2; cp+=2;
376                                        BEGIN Z;
377                                        }
378break;
379case 17:
380
381# line 336 "./dtimep.lex"
382                        {
383                                        /*
384                                         * Luckly, 4 digit times in the range
385                                         * 1960-1999 aren't legal as hour
386                                         * and minutes.
387                                         */
388                                        tw.tw_year = CVT4; cp+=4;
389                                        }
390break;
391case 18:
392
393# line 344 "./dtimep.lex"
394                {
395                                        if (tw.tw_hour || tw.tw_min
396                                                            || tw.tw_sec) {
397                                            tw.tw_year = CVT4; cp+=4;
398                                            tw.tw_zone = 0;
399                                        } else {
400                                            tw.tw_hour = CVT2; cp+=2;
401                                            tw.tw_min  = CVT2; cp+=2;
402                                            BEGIN Z;
403                                        }
404                                        }
405break;
406case 19:
407
408# line 355 "./dtimep.lex"
409                        ZONE(0 * 60);
410break;
411case 20:
412
413# line 356 "./dtimep.lex"
414                        ZONE(0 * 60);
415break;
416case 21:
417
418# line 357 "./dtimep.lex"
419                        ZONE(2 * 60);
420break;
421case 22:
422
423# line 358 "./dtimep.lex"
424                        ZONED(2 * 60);
425break;
426case 23:
427
428# line 359 "./dtimep.lex"
429                        ZONE(-5 * 60);
430break;
431case 24:
432
433# line 360 "./dtimep.lex"
434                        ZONED(-5 * 60);
435break;
436case 25:
437
438# line 361 "./dtimep.lex"
439                        ZONE(-6 * 60);
440break;
441case 26:
442
443# line 362 "./dtimep.lex"
444                        ZONED(-6 * 60);
445break;
446case 27:
447
448# line 363 "./dtimep.lex"
449                        ZONE(-7 * 60);
450break;
451case 28:
452
453# line 364 "./dtimep.lex"
454                        ZONED(-7 * 60);
455break;
456case 29:
457
458# line 365 "./dtimep.lex"
459                        ZONE(-8 * 60);
460break;
461case 30:
462
463# line 366 "./dtimep.lex"
464                        ZONED(-8 * 60);
465break;
466case 31:
467
468# line 367 "./dtimep.lex"
469                        ZONE(-(3 * 60 + 30));
470break;
471case 32:
472
473# line 368 "./dtimep.lex"
474                        ZONE(-4 * 60);
475break;
476case 33:
477
478# line 369 "./dtimep.lex"
479                        ZONED(-4 * 60);
480break;
481case 34:
482
483# line 370 "./dtimep.lex"
484                        ZONE(-9 * 60);
485break;
486case 35:
487
488# line 371 "./dtimep.lex"
489                        ZONED(-9 * 60);
490break;
491case 36:
492
493# line 372 "./dtimep.lex"
494                        ZONE(-10 * 60);
495break;
496case 37:
497
498# line 373 "./dtimep.lex"
499                        ZONED(-10 * 60);
500break;
501case 38:
502
503# line 374 "./dtimep.lex"
504                        ZONED(-1 * 60);
505break;
506case 39:
507
508# line 375 "./dtimep.lex"
509                        {
510                                        tw.tw_zone = 60 * (('a'-1) - LC(*cp));
511                                        EXPZONE;
512                                        }
513break;
514case 40:
515
516# line 379 "./dtimep.lex"
517                        {
518                                        tw.tw_zone = 60 * ('a' - LC(*cp));
519                                        EXPZONE;
520                                        }
521break;
522case 41:
523
524# line 383 "./dtimep.lex"
525                        {
526                                        tw.tw_zone = 60 * (LC(*cp) - 'm');
527                                        EXPZONE;
528                                        }
529break;
530case 42:
531
532# line 387 "./dtimep.lex"
533                {
534                                        cp++;
535                                        tw.tw_zone = ((cp[0] * 10 + cp[1])
536                                                     -('0' * 10   + '0'))*60
537                                                    +((cp[2] * 10 + cp[3])
538                                                     -('0' * 10   + '0'));
539                                        EXPZONE;
540#ifdef  DSTXXX
541                                        zonehack (&tw);
542#endif  /* DSTXXX */
543                                        cp += 4;
544                                        }
545break;
546case 43:
547
548# line 399 "./dtimep.lex"
549                {
550                                        cp++;
551                                        tw.tw_zone = (('0' * 10   + '0')
552                                                     -(cp[0] * 10 + cp[1]))*60
553                                                    +(('0' * 10   + '0')
554                                                     -(cp[2] * 10 + cp[3]));
555                                        EXPZONE;
556#ifdef  DSTXXX
557                                        zonehack (&tw);
558#endif  /* DSTXXX */
559                                        cp += 4;
560                                        }
561break;
562case 44:
563
564# line 411 "./dtimep.lex"
565                {
566                                        SKIPD;
567                                        tw.tw_year = CVT4; cp+=4;
568                                        }
569break;
570case 45:
571
572# line 415 "./dtimep.lex"
573case 46:
574
575# line 416 "./dtimep.lex"
576;
577break;
578        default: return(0);
579} }
580/* end of yylex */
581int yyvstop[] = {
5820,
583
58446,
5850,
586
58745,
5880,
589
59046,
5910,
592
59339,
5940,
595
59639,
5970,
598
59939,
6000,
601
60239,
6030,
604
60539,
6060,
607
60839,
6090,
610
61139,
6120,
613
61439,
6150,
616
61739,
6180,
619
62040,
6210,
622
62340,
6240,
625
62641,
6270,
628
62941,
6300,
631
63241,
6330,
634
63541,
6360,
637
63841,
6390,
640
64141,
6420,
643
64441,
6450,
646
64741,
6480,
649
65041,
6510,
652
65319,
6540,
655
6564,
6570,
658
6594,
6600,
661
66211,
6630,
664
6651,
6660,
667
6681,
6690,
670
6711,
6720,
673
6741,
6750,
676
6771,
6780,
679
6801,
6810,
682
6831,
6840,
685
68633,
6870,
688
68932,
6900,
691
69238,
6930,
694
69526,
6960,
697
69825,
6990,
700
70124,
7020,
703
70423,
7050,
706
70720,
7080,
709
71037,
7110,
712
71336,
7140,
715
71622,
7170,
718
71921,
7200,
721
72228,
7230,
724
72527,
7260,
727
72831,
7290,
730
73130,
7320,
733
73429,
7350,
736
73735,
7380,
739
74034,
7410,
742
7434,
7440,
745
7464,
7470,
748
7494,
7500,
751
75218,
7530,
754
75511,
7560,
757
75811,
7590,
760
7616,
7620,
763
7646,
7650,
766
7676,
7680,
769
7706,
7710,
772
7736,
7740,
775
7766,
7770,
778
7796,
7800,
781
7826,
7830,
784
7856,
7860,
787
7886,
7890,
790
7916,
7920,
793
7946,
7950,
796
79717,
79818,
7990,
800
8011,
8020,
803
8042,
8050,
806
80718,
8080,
809
81010,
8110,
812
81312,
8140,
815
81614,
8170,
818
8196,
8200,
821
82217,
82318,
8240,
825
8268,
8270,
828
82944,
8300,
831
83242,
8330,
834
83543,
8360,
837
8382,
8390,
840
8413,
8420,
843
84416,
8450,
846
84710,
8480,
849
85010,
8510,
852
8535,
8540,
855
8568,
8570,
858
8598,
8600,
861
8621,
8630,
864
8653,
8660,
867
8683,
8690,
870
87113,
8720,
873
87415,
8750,
876
8776,
8780,
879
8805,
8810,
882
8835,
8840,
885
8865,
8870,
888
8895,
8900,
891
8927,
8930,
894
8959,
8960,
897
8987,
8990,
900
9017,
9020,
9030};
904# define YYTYPE int
905struct yywork { YYTYPE verify, advance; } yycrank[] = {
9060,0,    0,0,    0,0,    0,0,   
9070,0,    0,0,    0,0,    0,0,   
9080,0,    0,0,    1,5,    1,6,   
9095,5,    0,0,    0,0,    0,0,   
9100,0,    0,0,    0,0,    0,0,   
9110,0,    0,0,    0,0,    0,0,   
9120,0,    0,0,    0,0,    0,0,   
9130,0,    0,0,    0,0,    0,0,   
9140,0,    1,5,    0,0,    5,5,   
9153,21,   3,6,    0,0,    0,0,   
9160,0,    1,7,    0,0,    0,0,   
9170,0,    0,0,    0,0,    0,0,   
9180,0,    1,8,    1,9,    1,8,   
9191,10,   1,10,   1,10,   1,10,   
9201,10,   1,10,   1,10,   3,21,   
9219,63,   22,83,  22,83,  0,0,   
9220,0,    0,0,    0,0,    3,7,   
9230,0,    0,0,    3,22,   0,0,   
9243,23,   0,0,    0,0,    3,8,   
9253,9,    3,8,    3,10,   3,10,   
9263,10,   3,10,   3,10,   3,10,   
9273,10,   10,64,  10,64,  10,64, 
92810,64,  10,64,  10,64,  10,64, 
92910,64,  10,64,  10,64,  0,0,   
9300,0,    0,0,    1,11,   15,72, 
93159,143, 1,12,   14,70,  1,13,   
93212,67,  13,68,  17,75,  1,14,   
93319,79,  20,81,  1,15,   1,16,   
9341,17,   15,73,  11,65,  16,74, 
9351,18,   1,19,   13,69,  11,66, 
9361,20,   19,80,  14,71,  25,99, 
9373,24,   3,25,   3,26,   3,27,   
9383,28,   3,29,   3,30,   3,31,   
9393,32,   3,33,   3,34,   3,34,   
9403,35,   3,36,   3,37,   3,38,   
9413,39,   3,39,   3,40,   3,41,   
9423,42,   3,39,   3,43,   3,39,   
9433,44,   7,45,   8,50,   18,76, 
94426,100, 28,102, 30,104, 18,77, 
9457,46,   24,97,  42,114, 45,117,
94631,105, 21,21,  7,47,   7,48,   
94723,84,  23,84,  7,49,   26,101,
94828,103, 24,65,  38,112, 18,78, 
94924,98,  8,50,   24,66,  31,106,
95036,74,  46,118, 49,123, 56,139,
95136,111, 57,140, 55,137, 60,144,
95221,21,  38,113, 8,51,   55,138,
9538,52,   8,53,   8,53,   8,53,   
9548,53,   8,53,   8,53,   8,53,   
9558,53,   8,53,   8,53,   8,54,   
95621,82,  21,82,  21,82,  21,82, 
95721,82,  21,82,  21,82,  21,82, 
95821,82,  21,82,  47,119, 61,145,
95962,146, 23,85,  23,86,  23,87, 
96044,115, 23,88,  35,72,  23,89, 
96123,90,  35,109, 23,91,  50,50, 
96233,70,  23,92,  23,93,  33,107,
96323,94,  58,141, 47,120, 44,116,
96435,73,  23,95,  65,148, 48,121,
96535,110, 23,96,  8,55,   51,124,
96666,149, 8,56,   33,108, 8,57,   
96733,71,  67,150, 50,50,  8,58,   
96848,122, 58,142, 8,59,   8,60,   
9698,61,   68,151, 69,152, 70,153,
9708,62,   73,158, 71,154, 50,124,
97171,155, 74,159, 51,124, 52,134,
97252,134, 52,134, 52,134, 52,134,
97352,134, 52,134, 52,134, 52,134,
97452,134, 75,160, 76,161, 77,162,
97578,163, 79,164, 51,133, 51,133,
97651,133, 51,133, 51,133, 51,133,
97751,133, 51,133, 51,133, 51,133,
97853,135, 53,135, 53,135, 53,135,
97953,135, 53,135, 53,135, 53,135,
98053,135, 53,135, 54,136, 54,136,
98154,136, 54,136, 54,136, 54,136,
98254,136, 54,136, 54,136, 54,136,
98372,156, 80,165, 81,166, 50,125,
98493,111, 85,97,  50,126, 72,157,
98550,127, 97,170, 91,107, 92,109,
98650,128, 64,50,  98,171, 50,129,
98750,130, 50,131, 99,172, 51,55, 
98885,98,  50,132, 51,56,  100,173,       
98951,57,  91,108, 92,110, 101,174,       
99051,58,  102,175,        103,176,        51,59, 
99151,60,  51,61,  104,177,        105,178,       
99264,50,  51,62,  63,135, 63,135,
99363,135, 63,135, 63,135, 63,135,
99463,147, 63,147, 63,147, 63,147,
995106,179,        64,51,  107,180,        64,52, 
99682,167, 82,167, 82,167, 82,167,
99782,167, 82,167, 82,167, 82,167,
99882,167, 82,167, 64,54,  83,168,
99983,168, 83,168, 83,168, 83,168,
100083,168, 83,168, 83,168, 83,168,
100183,168, 84,169, 84,169, 84,169,
100284,169, 84,169, 84,169, 84,169,
100384,169, 84,169, 84,169, 108,181,       
1004109,182,        110,183,        111,184,        112,185,       
1005113,186,        115,187,        116,188,        117,189,       
1006118,190,        119,191,        120,192,        121,193,       
1007122,194,        123,195,        124,124,        126,198,       
1008125,196,        64,55,  127,199,        128,200,       
100964,56,  125,197,        64,57,  129,202,       
1010130,203,        131,204,        64,58,  132,205,       
1011133,206,        64,59,  64,60,  64,61, 
1012137,216,        138,217,        139,218,        64,62, 
1013140,219,        124,124,        141,220,        128,201,       
1014134,206,        135,210,        135,210,        135,210,       
1015135,210,        135,210,        135,210,        135,210,       
1016135,210,        135,210,        135,210,        133,206,       
1017142,221,        143,223,        142,222,        144,225,       
1018145,226,        146,227,        153,236,        155,157,       
1019143,224,        158,238,        159,239,        134,206,       
1020133,207,        160,240,        162,242,        133,208,       
1021133,208,        133,208,        133,208,        133,208,       
1022133,208,        133,208,        133,208,        133,208,       
1023133,208,        148,229,        134,207,        134,209,       
1024134,209,        134,209,        134,209,        134,209,       
1025134,209,        134,209,        134,209,        134,209,       
1026134,209,        136,211,        147,228,        147,228,       
1027147,228,        147,228,        147,228,        147,228,       
1028147,228,        147,228,        147,228,        147,228,       
1029148,229,        149,229,        124,125,        150,229,       
1030154,229,        124,126,        163,243,        124,127,       
1031190,252,        192,254,        196,258,        124,128,       
1032136,211,        191,250,        124,129,        124,130,       
1033124,131,        151,229,        156,229,        152,234,       
1034124,132,        157,229,        161,234,        164,234,       
1035149,229,        165,234,        150,229,        154,229,       
1036136,212,        136,212,        136,212,        136,212,       
1037136,212,        136,212,        136,212,        136,212,       
1038136,212,        136,212,        136,213,        166,234,       
1039151,229,        156,229,        152,234,        194,250,       
1040157,229,        161,234,        164,234,        189,250,       
1041165,234,        195,250,        193,250,        197,259,       
1042198,260,        199,261,        152,234,        200,262,       
1043203,267,        161,234,        164,234,        201,263,       
1044165,234,        201,264,        166,234,        167,247,       
1045167,247,        167,247,        167,247,        167,247,       
1046167,247,        167,247,        167,247,        167,247,       
1047167,247,        148,230,        166,234,        204,268,       
1048205,269,        136,214,        168,248,        168,248,       
1049168,248,        168,248,        168,248,        168,248,       
1050168,248,        168,248,        168,248,        168,248,       
1051206,206,        191,253,        208,207,        209,207,       
1052136,215,        212,213,        214,274,        150,232,       
1053169,249,        169,249,        169,249,        169,249,       
1054169,249,        169,249,        169,249,        169,249,       
1055169,249,        169,249,        189,251,        202,265,       
1056156,237,        149,231,        152,235,        206,206,       
1057210,271,        211,211,        202,266,        215,275,       
1058154,157,        194,256,        195,257,        220,283,       
1059222,224,        225,285,        151,233,        193,255,       
1060226,286,        227,287,        230,157,        231,290,       
1061164,244,        232,291,        161,241,        165,245,       
1062233,292,        235,293,        236,294,        210,271,       
1063211,211,        237,157,        238,295,        239,296,       
1064166,246,        207,270,        207,270,        207,270,       
1065207,270,        207,270,        207,270,        207,270,       
1066207,270,        207,270,        207,270,        210,272,       
1067210,272,        210,272,        210,272,        210,272,       
1068210,272,        210,272,        210,272,        210,272,       
1069210,272,        213,273,        213,273,        213,273,       
1070213,273,        213,273,        213,273,        213,273,       
1071213,273,        213,273,        213,273,        240,297,       
1072228,288,        234,234,        241,298,        242,299,       
1073243,300,        244,301,        245,302,        216,276,       
1074246,303,        247,304,        247,304,        247,304,       
1075247,304,        247,304,        247,304,        247,304,       
1076247,304,        247,304,        247,304,        250,307,       
1077251,308,        252,309,        217,276,        228,288,       
1078234,234,        253,310,        254,311,        255,312,       
1079256,313,        211,214,        216,276,        257,314,       
1080276,330,        258,266,        260,266,        279,224,       
1081218,276,        265,266,        280,332,        281,333,       
1082282,334,        283,335,        284,224,        216,277,       
1083211,215,        217,276,        216,278,        216,278,       
1084216,278,        216,278,        216,278,        216,278,       
1085216,278,        216,278,        216,278,        216,278,       
1086258,266,        260,266,        217,277,        218,276,       
1087265,266,        217,278,        217,278,        217,278,       
1088217,278,        217,278,        217,278,        217,278,       
1089217,278,        217,278,        217,278,        219,276,       
1090218,277,        259,266,        285,336,        218,278,       
1091218,278,        218,278,        218,278,        218,278,       
1092218,278,        218,278,        218,278,        218,278,       
1093218,278,        264,266,        263,266,        286,337,       
1094287,338,        290,157,        291,342,        292,343,       
1095293,344,        294,345,        219,276,        296,346,       
1096259,266,        221,276,        266,266,        271,271,       
1097297,347,        274,274,        262,266,        216,279,       
1098298,348,        299,349,        301,350,        219,277,       
1099264,266,        263,266,        219,278,        219,278,       
1100219,278,        219,278,        219,278,        219,278,       
1101219,278,        219,278,        219,278,        219,278,       
1102221,276,        266,266,        271,271,        223,276,       
1103274,274,        262,266,        260,317,        265,320,       
1104218,281,        258,315,        217,280,        261,266,       
1105268,266,        221,277,        269,266,        275,275,       
1106221,278,        221,278,        221,278,        221,278,       
1107221,278,        221,278,        221,278,        221,278,       
1108221,278,        221,278,        223,276,        302,351,       
1109303,352,        224,276,        267,266,        288,288,       
1110308,353,        310,354,        261,266,        268,266,       
1111312,355,        269,266,        275,275,        223,277,       
1112229,229,        313,356,        223,278,        223,278,       
1113223,278,        223,278,        223,278,        223,278,       
1114223,278,        223,278,        223,278,        223,278,       
1115224,276,        267,266,        288,288,        314,357,       
1116219,282,        264,266,        315,266,        316,358,       
1117317,359,        259,316,        318,360,        229,229,       
1118319,361,        224,277,        320,266,        321,362,       
1119224,278,        224,278,        224,278,        224,278,       
1120224,278,        224,278,        224,278,        224,278,       
1121224,278,        224,278,        263,266,        229,289,       
1122229,289,        229,289,        229,289,        229,289,       
1123229,289,        229,289,        229,289,        229,289,       
1124229,289,        221,224,        262,319,        322,363,       
1125323,364,        223,284,        248,305,        248,305,       
1126248,305,        248,305,        248,305,        248,305,       
1127248,305,        248,305,        248,305,        248,305,       
1128249,306,        249,306,        249,306,        249,306,       
1129249,306,        249,306,        249,306,        249,306,       
1130249,306,        249,306,        268,322,        328,368,       
1131261,318,        329,369,        330,370,        332,224,       
1132273,326,        269,323,        267,321,        270,324,       
1133270,324,        270,324,        270,324,        270,324,       
1134270,324,        270,324,        270,324,        270,324,       
1135270,324,        272,325,        272,325,        272,325,       
1136272,325,        272,325,        272,325,        272,325,       
1137272,325,        272,325,        272,325,        273,326,       
1138333,373,        334,374,        277,277,        278,331,       
1139278,331,        278,331,        278,331,        278,331,       
1140278,331,        278,331,        278,331,        278,331,       
1141278,331,        324,365,        325,325,        273,327,       
1142273,327,        273,327,        273,327,        273,327,       
1143273,327,        273,327,        273,327,        273,327,       
1144273,327,        277,277,        335,375,        336,376,       
1145289,339,        337,377,        338,378,        341,340,       
1146342,380,        343,381,        344,234,        345,157,       
1147324,365,        325,325,        346,382,        347,157,       
1148348,383,        277,278,        277,278,        277,278,       
1149277,278,        277,278,        277,278,        277,278,       
1150277,278,        277,278,        277,278,        289,339,       
1151324,366,        324,366,        324,366,        324,366,       
1152324,366,        324,366,        324,366,        324,366,       
1153324,366,        324,366,        326,326,        289,340,       
1154273,328,        327,326,        331,371,        289,341,       
1155289,341,        289,341,        289,341,        289,341,       
1156289,341,        289,341,        289,341,        289,341,       
1157289,341,        339,339,        340,379,        273,329,       
1158349,384,        350,385,        352,386,        353,250,       
1159354,387,        326,326,        355,388,        357,389,       
1160327,326,        331,371,        358,266,        359,390,       
1161360,391,        361,392,        362,393,        363,394,       
1162364,395,        365,365,        367,396,        373,399,       
1163339,339,        340,379,        326,367,        374,400,       
1164375,224,        331,372,        331,372,        331,372,       
1165331,372,        331,372,        331,372,        331,372,       
1166331,372,        331,372,        331,372,        368,368,       
1167369,369,        370,370,        371,371,        376,401,       
1168365,365,        366,365,        366,365,        366,365,       
1169366,365,        366,365,        366,365,        366,365,       
1170366,365,        366,365,        366,365,        377,224,       
1171378,402,        384,404,        386,405,        389,406,       
1172390,407,        391,408,        368,368,        369,369,       
1173370,370,        371,371,        392,266,        379,379,       
1174393,409,        394,266,        395,410,        397,412,       
1175402,413,        410,415,        326,328,        398,371,       
1176412,412,        327,328,        372,398,        372,398,       
1177372,398,        372,398,        372,398,        372,398,       
1178372,398,        372,398,        372,398,        372,398,       
11790,0,    326,329,        379,379,        0,0,   
1180327,329,        396,411,        396,411,        396,411,       
1181396,411,        0,0,    398,371,        412,412,       
11820,0,    0,0,    0,0,    414,417,       
1183417,417,        0,0,    379,403,        379,403,       
1184379,403,        379,403,        379,403,        379,403,       
1185379,403,        379,403,        379,403,        379,403,       
1186403,414,        403,414,        403,414,        403,414,       
1187403,414,        403,414,        403,414,        403,414,       
1188403,414,        403,414,        414,417,        417,417,       
11890,0,    0,0,    371,397,        411,416,       
1190411,416,        411,416,        411,416,        411,416,       
1191411,416,        411,416,        411,416,        411,416,       
1192411,416,        0,0,    414,418,        414,418,       
1193414,418,        414,418,        414,418,        414,418,       
1194414,418,        414,418,        414,418,        414,418,       
1195418,417,        418,417,        418,417,        418,417,       
1196418,417,        418,417,        418,417,        418,417,       
1197418,417,        418,417,        0,0,    0,0,   
11980,0};
1199struct yysvf yysvec[] = {
12000,      0,      0,
1201yycrank+1,      0,              0,     
1202yycrank+0,      yysvec+1,       0,     
1203yycrank+27,     0,              0,     
1204yycrank+0,      yysvec+3,       0,     
1205yycrank+3,      0,              yyvstop+1,
1206yycrank+0,      0,              yyvstop+3,
1207yycrank+47,     0,              0,     
1208yycrank+141,    0,              0,     
1209yycrank+3,      yysvec+8,       0,     
1210yycrank+37,     yysvec+8,       0,     
1211yycrank+2,      0,              0,     
1212yycrank+3,      0,              0,     
1213yycrank+4,      0,              0,     
1214yycrank+5,      0,              0,     
1215yycrank+2,      0,              0,     
1216yycrank+4,      0,              0,     
1217yycrank+7,      0,              0,     
1218yycrank+54,     0,              0,     
1219yycrank+4,      0,              0,     
1220yycrank+8,      0,              0,     
1221yycrank+152,    0,              yyvstop+5,
1222yycrank+13,     0,              0,     
1223yycrank+116,    0,              0,     
1224yycrank+57,     0,              yyvstop+7,
1225yycrank+8,      0,              yyvstop+9,
1226yycrank+52,     0,              yyvstop+11,
1227yycrank+0,      yysvec+12,      yyvstop+13,
1228yycrank+53,     0,              yyvstop+15,
1229yycrank+0,      yysvec+13,      yyvstop+17,
1230yycrank+45,     0,              yyvstop+19,
1231yycrank+60,     0,              yyvstop+21,
1232yycrank+0,      0,              yyvstop+23,
1233yycrank+127,    0,              0,     
1234yycrank+0,      0,              yyvstop+25,
1235yycrank+121,    0,              yyvstop+27,
1236yycrank+65,     0,              yyvstop+29,
1237yycrank+0,      yysvec+17,      yyvstop+31,
1238yycrank+70,     0,              yyvstop+33,
1239yycrank+0,      0,              yyvstop+35,
1240yycrank+0,      yysvec+18,      yyvstop+37,
1241yycrank+0,      yysvec+19,      yyvstop+39,
1242yycrank+42,     0,              yyvstop+41,
1243yycrank+0,      yysvec+20,      yyvstop+43,
1244yycrank+116,    0,              yyvstop+45,
1245yycrank+45,     0,              0,     
1246yycrank+66,     0,              0,     
1247yycrank+113,    0,              0,     
1248yycrank+131,    0,              0,     
1249yycrank+77,     0,              0,     
1250yycrank+214,    0,              0,     
1251yycrank+230,    0,              0,     
1252yycrank+215,    0,              0,     
1253yycrank+240,    yysvec+8,       0,     
1254yycrank+250,    0,              0,     
1255yycrank+70,     0,              0,     
1256yycrank+78,     0,              0,     
1257yycrank+80,     0,              0,     
1258yycrank+132,    0,              0,     
1259yycrank+3,      0,              0,     
1260yycrank+72,     0,              0,     
1261yycrank+112,    0,              0,     
1262yycrank+111,    0,              0,     
1263yycrank+298,    yysvec+8,       0,     
1264yycrank+312,    0,              0,     
1265yycrank+120,    0,              0,     
1266yycrank+137,    0,              0,     
1267yycrank+146,    0,              0,     
1268yycrank+155,    0,              0,     
1269yycrank+149,    0,              0,     
1270yycrank+145,    0,              0,     
1271yycrank+150,    0,              0,     
1272yycrank+194,    0,              0,     
1273yycrank+147,    0,              0,     
1274yycrank+143,    0,              0,     
1275yycrank+157,    0,              0,     
1276yycrank+158,    0,              0,     
1277yycrank+163,    0,              0,     
1278yycrank+166,    0,              0,     
1279yycrank+160,    0,              0,     
1280yycrank+208,    0,              0,     
1281yycrank+210,    0,              0,     
1282yycrank+312,    0,              0,     
1283yycrank+323,    0,              0,     
1284yycrank+333,    0,              0,     
1285yycrank+213,    0,              0,     
1286yycrank+0,      yysvec+25,      0,     
1287yycrank+0,      yysvec+26,      0,     
1288yycrank+0,      yysvec+28,      0,     
1289yycrank+0,      yysvec+30,      0,     
1290yycrank+0,      yysvec+31,      0,     
1291yycrank+218,    0,              0,     
1292yycrank+219,    0,              0,     
1293yycrank+197,    0,              0,     
1294yycrank+0,      yysvec+38,      0,     
1295yycrank+0,      yysvec+42,      0,     
1296yycrank+0,      yysvec+44,      0,     
1297yycrank+201,    0,              0,     
1298yycrank+206,    0,              0,     
1299yycrank+210,    0,              0,     
1300yycrank+215,    0,              0,     
1301yycrank+219,    0,              0,     
1302yycrank+221,    0,              0,     
1303yycrank+222,    0,              0,     
1304yycrank+226,    0,              0,     
1305yycrank+227,    0,              0,     
1306yycrank+240,    0,              0,     
1307yycrank+242,    0,              0,     
1308yycrank+275,    0,              0,     
1309yycrank+276,    0,              0,     
1310yycrank+277,    0,              0,     
1311yycrank+278,    0,              0,     
1312yycrank+279,    0,              0,     
1313yycrank+280,    0,              0,     
1314yycrank+0,      0,              yyvstop+47,
1315yycrank+281,    0,              0,     
1316yycrank+282,    0,              0,     
1317yycrank+294,    0,              0,     
1318yycrank+290,    0,              0,     
1319yycrank+285,    0,              0,     
1320yycrank+292,    0,              0,     
1321yycrank+286,    0,              0,     
1322yycrank+303,    0,              0,     
1323yycrank+305,    0,              0,     
1324yycrank+397,    0,              0,     
1325yycrank+296,    0,              0,     
1326yycrank+306,    0,              0,     
1327yycrank+309,    0,              0,     
1328yycrank+314,    0,              0,     
1329yycrank+318,    0,              0,     
1330yycrank+305,    0,              0,     
1331yycrank+318,    0,              0,     
1332yycrank+318,    0,              0,     
1333yycrank+411,    0,              yyvstop+49,
1334yycrank+423,    0,              yyvstop+51,
1335yycrank+385,    0,              0,     
1336yycrank+472,    0,              yyvstop+53,
1337yycrank+310,    0,              0,     
1338yycrank+322,    0,              0,     
1339yycrank+327,    0,              0,     
1340yycrank+330,    0,              0,     
1341yycrank+320,    0,              0,     
1342yycrank+336,    0,              0,     
1343yycrank+331,    0,              0,     
1344yycrank+329,    0,              0,     
1345yycrank+332,    0,              0,     
1346yycrank+337,    0,              0,     
1347yycrank+434,    0,              0,     
1348yycrank+460,    0,              0,     
1349yycrank+484,    0,              0,     
1350yycrank+486,    0,              0,     
1351yycrank+500,    0,              0,     
1352yycrank+502,    0,              yyvstop+55,
1353yycrank+333,    yysvec+149,     0,     
1354yycrank+487,    0,              0,     
1355yycrank+350,    yysvec+150,     0,     
1356yycrank+501,    0,              0,     
1357yycrank+504,    0,              0,     
1358yycrank+353,    yysvec+152,     yyvstop+57,
1359yycrank+353,    yysvec+150,     0,     
1360yycrank+346,    yysvec+157,     0,     
1361yycrank+505,    0,              yyvstop+59,
1362yycrank+342,    yysvec+157,     0,     
1363yycrank+398,    yysvec+152,     yyvstop+61,
1364yycrank+506,    0,              yyvstop+63,
1365yycrank+508,    0,              yyvstop+65,
1366yycrank+522,    0,              yyvstop+67,
1367yycrank+507,    0,              0,     
1368yycrank+522,    0,              0,     
1369yycrank+540,    0,              0,     
1370yycrank+0,      0,              yyvstop+69,
1371yycrank+0,      0,              yyvstop+71,
1372yycrank+0,      0,              yyvstop+73,
1373yycrank+0,      0,              yyvstop+75,
1374yycrank+0,      0,              yyvstop+77,
1375yycrank+0,      0,              yyvstop+79,
1376yycrank+0,      0,              yyvstop+81,
1377yycrank+0,      0,              yyvstop+83,
1378yycrank+0,      0,              yyvstop+85,
1379yycrank+0,      0,              yyvstop+87,
1380yycrank+0,      0,              yyvstop+89,
1381yycrank+0,      0,              yyvstop+91,
1382yycrank+0,      0,              yyvstop+93,
1383yycrank+0,      0,              yyvstop+95,
1384yycrank+0,      0,              yyvstop+97,
1385yycrank+0,      0,              yyvstop+99,
1386yycrank+0,      0,              yyvstop+101,
1387yycrank+0,      0,              yyvstop+103,
1388yycrank+0,      0,              yyvstop+105,
1389yycrank+498,    0,              0,     
1390yycrank+400,    yysvec+189,     0,     
1391yycrank+464,    0,              0,     
1392yycrank+401,    yysvec+189,     0,     
1393yycrank+501,    0,              0,     
1394yycrank+494,    0,              0,     
1395yycrank+500,    0,              0,     
1396yycrank+388,    0,              0,     
1397yycrank+440,    0,              0,     
1398yycrank+445,    0,              0,     
1399yycrank+447,    0,              0,     
1400yycrank+437,    0,              0,     
1401yycrank+443,    0,              0,     
1402yycrank+485,    0,              0,     
1403yycrank+430,    0,              0,     
1404yycrank+451,    0,              0,     
1405yycrank+456,    0,              0,     
1406yycrank+571,    0,              yyvstop+107,
1407yycrank+585,    0,              0,     
1408yycrank+537,    yysvec+206,     yyvstop+109,
1409yycrank+536,    yysvec+206,     yyvstop+111,
1410yycrank+595,    0,              yyvstop+113,
1411yycrank+596,    0,              yyvstop+115,
1412yycrank+527,    yysvec+211,     yyvstop+117,
1413yycrank+605,    0,              0,     
1414yycrank+477,    0,              0,     
1415yycrank+498,    0,              0,     
1416yycrank+662,    0,              yyvstop+119,
1417yycrank+677,    0,              yyvstop+121,
1418yycrank+691,    0,              yyvstop+123,
1419yycrank+726,    0,              yyvstop+125,
1420yycrank+494,    yysvec+217,     yyvstop+127,
1421yycrank+752,    0,              yyvstop+129,
1422yycrank+511,    yysvec+218,     yyvstop+131,
1423yycrank+778,    0,              yyvstop+133,
1424yycrank+804,    0,              yyvstop+135,
1425yycrank+512,    yysvec+218,     yyvstop+137,
1426yycrank+505,    yysvec+224,     yyvstop+139,
1427yycrank+501,    yysvec+224,     yyvstop+141,
1428yycrank+655,    yysvec+210,     yyvstop+143,
1429yycrank+815,    0,              0,     
1430yycrank+510,    0,              0,     
1431yycrank+504,    0,              0,     
1432yycrank+512,    0,              0,     
1433yycrank+507,    0,              0,     
1434yycrank+656,    0,              yyvstop+146,
1435yycrank+528,    0,              0,     
1436yycrank+529,    0,              0,     
1437yycrank+525,    0,              0,     
1438yycrank+533,    0,              0,     
1439yycrank+522,    0,              0,     
1440yycrank+565,    0,              0,     
1441yycrank+552,    0,              0,     
1442yycrank+566,    0,              0,     
1443yycrank+571,    0,              0,     
1444yycrank+554,    0,              0,     
1445yycrank+570,    0,              0,     
1446yycrank+571,    0,              0,     
1447yycrank+625,    0,              0,     
1448yycrank+830,    0,              0,     
1449yycrank+840,    0,              0,     
1450yycrank+639,    0,              yyvstop+148,
1451yycrank+587,    0,              0,     
1452yycrank+588,    0,              0,     
1453yycrank+575,    0,              0,     
1454yycrank+593,    0,              0,     
1455yycrank+576,    0,              0,     
1456yycrank+592,    0,              0,     
1457yycrank+594,    0,              0,     
1458yycrank+688,    yysvec+216,     0,     
1459yycrank+728,    yysvec+217,     0,     
1460yycrank+689,    yysvec+218,     0,     
1461yycrank+786,    yysvec+219,     0,     
1462yycrank+757,    yysvec+217,     0,     
1463yycrank+741,    yysvec+221,     0,     
1464yycrank+740,    yysvec+218,     0,     
1465yycrank+692,    yysvec+223,     0,     
1466yycrank+753,    yysvec+224,     0,     
1467yycrank+805,    yysvec+218,     0,     
1468yycrank+787,    yysvec+224,     0,     
1469yycrank+789,    yysvec+224,     0,     
1470yycrank+859,    0,              0,     
1471yycrank+754,    0,              yyvstop+150,
1472yycrank+869,    0,              0,     
1473yycrank+895,    0,              yyvstop+152,
1474yycrank+756,    0,              yyvstop+154,
1475yycrank+790,    0,              yyvstop+156,
1476yycrank+599,    yysvec+224,     yyvstop+158,
1477yycrank+921,    0,              0,     
1478yycrank+883,    0,              0,     
1479yycrank+591,    0,              0,     
1480yycrank+587,    0,              0,     
1481yycrank+594,    0,              0,     
1482yycrank+587,    0,              0,     
1483yycrank+608,    0,              0,     
1484yycrank+602,    0,              0,     
1485yycrank+629,    0,              0,     
1486yycrank+653,    0,              0,     
1487yycrank+651,    0,              0,     
1488yycrank+806,    0,              yyvstop+160,
1489yycrank+947,    0,              yyvstop+163,
1490yycrank+637,    0,              0,     
1491yycrank+656,    0,              0,     
1492yycrank+658,    0,              0,     
1493yycrank+635,    0,              0,     
1494yycrank+643,    0,              0,     
1495yycrank+0,      yysvec+293,     0,     
1496yycrank+661,    0,              0,     
1497yycrank+663,    0,              0,     
1498yycrank+668,    0,              0,     
1499yycrank+660,    0,              0,     
1500yycrank+0,      yysvec+293,     0,     
1501yycrank+670,    0,              0,     
1502yycrank+714,    0,              0,     
1503yycrank+697,    0,              0,     
1504yycrank+0,      0,              yyvstop+165,
1505yycrank+0,      0,              yyvstop+167,
1506yycrank+0,      0,              yyvstop+169,
1507yycrank+0,      0,              yyvstop+171,
1508yycrank+695,    0,              0,     
1509yycrank+0,      yysvec+308,     0,     
1510yycrank+717,    0,              0,     
1511yycrank+0,      yysvec+308,     0,     
1512yycrank+720,    0,              0,     
1513yycrank+728,    0,              0,     
1514yycrank+724,    0,              0,     
1515yycrank+734,    0,              0,     
1516yycrank+728,    0,              0,     
1517yycrank+735,    0,              0,     
1518yycrank+729,    0,              0,     
1519yycrank+751,    0,              0,     
1520yycrank+746,    0,              0,     
1521yycrank+742,    0,              0,     
1522yycrank+777,    0,              0,     
1523yycrank+775,    0,              0,     
1524yycrank+932,    0,              yyvstop+173,
1525yycrank+933,    0,              yyvstop+175,
1526yycrank+981,    0,              yyvstop+177,
1527yycrank+984,    0,              yyvstop+179,
1528yycrank+790,    0,              0,     
1529yycrank+792,    0,              0,     
1530yycrank+786,    0,              0,     
1531yycrank+985,    0,              yyvstop+181,
1532yycrank+787,    0,              0,     
1533yycrank+830,    0,              0,     
1534yycrank+832,    0,              0,     
1535yycrank+840,    0,              0,     
1536yycrank+857,    0,              0,     
1537yycrank+856,    0,              0,     
1538yycrank+849,    0,              0,     
1539yycrank+996,    0,              yyvstop+183,
1540yycrank+997,    0,              0,     
1541yycrank+915,    yysvec+339,     yyvstop+185,
1542yycrank+859,    0,              0,     
1543yycrank+847,    0,              0,     
1544yycrank+918,    yysvec+234,     yyvstop+187,
1545yycrank+842,    0,              0,     
1546yycrank+865,    0,              0,     
1547yycrank+853,    0,              0,     
1548yycrank+871,    0,              0,     
1549yycrank+910,    0,              0,     
1550yycrank+912,    0,              0,     
1551yycrank+0,      yysvec+293,     0,     
1552yycrank+910,    0,              0,     
1553yycrank+970,    0,              0,     
1554yycrank+915,    0,              0,     
1555yycrank+917,    0,              0,     
1556yycrank+0,      yysvec+308,     0,     
1557yycrank+915,    0,              0,     
1558yycrank+902,    0,              0,     
1559yycrank+921,    0,              0,     
1560yycrank+923,    0,              0,     
1561yycrank+907,    0,              0,     
1562yycrank+924,    0,              0,     
1563yycrank+922,    0,              0,     
1564yycrank+915,    0,              0,     
1565yycrank+1016,   0,              yyvstop+189,
1566yycrank+1001,   yysvec+324,     yyvstop+191,
1567yycrank+969,    0,              0,     
1568yycrank+1034,   0,              yyvstop+193,
1569yycrank+1035,   0,              yyvstop+195,
1570yycrank+1036,   0,              yyvstop+197,
1571yycrank+1037,   0,              yyvstop+199,
1572yycrank+1034,   yysvec+331,     yyvstop+201,
1573yycrank+926,    0,              0,     
1574yycrank+917,    0,              0,     
1575yycrank+911,    0,              0,     
1576yycrank+946,    0,              0,     
1577yycrank+945,    0,              0,     
1578yycrank+962,    0,              0,     
1579yycrank+1062,   0,              0,     
1580yycrank+0,      yysvec+347,     0,     
1581yycrank+0,      yysvec+345,     0,     
1582yycrank+0,      yysvec+347,     0,     
1583yycrank+0,      yysvec+293,     0,     
1584yycrank+960,    0,              0,     
1585yycrank+0,      yysvec+293,     0,     
1586yycrank+965,    0,              0,     
1587yycrank+0,      yysvec+308,     0,     
1588yycrank+0,      yysvec+308,     0,     
1589yycrank+966,    0,              0,     
1590yycrank+963,    0,              0,     
1591yycrank+951,    0,              0,     
1592yycrank+949,    0,              0,     
1593yycrank+971,    0,              0,     
1594yycrank+959,    0,              0,     
1595yycrank+976,    0,              0,     
1596yycrank+1043,   0,              0,     
1597yycrank+959,    0,              0,     
1598yycrank+1070,   0,              yyvstop+203,
1599yycrank+0,      yysvec+377,     0,     
1600yycrank+0,      yysvec+375,     0,     
1601yycrank+0,      yysvec+377,     0,     
1602yycrank+975,    0,              0,     
1603yycrank+1072,   0,              0,     
1604yycrank+0,      yysvec+347,     0,     
1605yycrank+0,      yysvec+293,     0,     
1606yycrank+0,      yysvec+308,     0,     
1607yycrank+0,      yysvec+394,     0,     
1608yycrank+0,      yysvec+392,     0,     
1609yycrank+0,      yysvec+394,     0,     
1610yycrank+976,    0,              0,     
1611yycrank+1087,   0,              0,     
1612yycrank+1071,   0,              yyvstop+205,
1613yycrank+0,      yysvec+377,     0,     
1614yycrank+1098,   0,              yyvstop+207,
1615yycrank+0,      yysvec+394,     0,     
1616yycrank+0,      0,              yyvstop+209,
1617yycrank+1099,   0,              yyvstop+211,
1618yycrank+1108,   yysvec+414,     yyvstop+213,
16190,      0,      0};
1620struct yywork *yytop = yycrank+1165;
1621struct yysvf *yybgin = yysvec+1;
1622char yymatch[] = {
1623  0,   1,   1,   1,   1,   1,   1,   1,
1624  1,   9,   1,   1,   1,   1,   1,   1,
1625  1,   1,   1,   1,   1,   1,   1,   1,
1626  1,   1,   1,   1,   1,   1,   1,   1,
1627  9,   1,   1,   1,   1,   1,   1,   1,
1628  1,   1,   1,   1,   1,   1,   1,   1,
1629 48,  48,  50,  51,  51,  51,  54,  54,
1630 54,  54,   1,   1,   1,   1,   1,   1,
1631  1,   1,   1,   1,   1,   1,   1,   1,
1632  1,   1,   1,   1,   1,   1,   1,   1,
1633  1,   1,   1,   1,   1,   1,   1,   1,
1634  1,   1,   1,   1,   1,   1,   1,   1,
1635  1,  97,  97,  97,  97,  97,  97,  97,
1636 97,  97,   1, 107, 107, 107, 110, 110,
1637110, 110, 110, 110, 110, 110, 110, 110,
1638110, 110,   1,   1,   1,   1,   1,   1,
1639  1,   1,   1,   1,   1,   1,   1,   1,
1640  1,   1,   1,   1,   1,   1,   1,   1,
1641  1,   1,   1,   1,   1,   1,   1,   1,
1642  1,   1,   1,   1,   1,   1,   1,   1,
1643  1,   1,   1,   1,   1,   1,   1,   1,
1644  1,   1,   1,   1,   1,   1,   1,   1,
1645  1,   1,   1,   1,   1,   1,   1,   1,
1646  1,   1,   1,   1,   1,   1,   1,   1,
1647  1,   1,   1,   1,   1,   1,   1,   1,
1648  1,   1,   1,   1,   1,   1,   1,   1,
1649  1,   1,   1,   1,   1,   1,   1,   1,
1650  1,   1,   1,   1,   1,   1,   1,   1,
1651  1,   1,   1,   1,   1,   1,   1,   1,
1652  1,   1,   1,   1,   1,   1,   1,   1,
1653  1,   1,   1,   1,   1,   1,   1,   1,
1654  1,   1,   1,   1,   1,   1,   1,   1,
16550};
1656char yyextra[] = {
16570,0,0,0,0,0,0,0,
16580,0,0,0,0,0,0,0,
16590,0,0,0,0,0,0,0,
16600,0,0,0,0,0,0,0,
16610,0,0,0,0,0,0,0,
16620,0,0,0,0,0,0,0,
16630};
1664/*      Copyright (c) 1989 AT&T */
1665/*        All Rights Reserved   */
1666
1667/*      THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T     */
1668/*      The copyright notice above does not evidence any        */
1669/*      actual or intended publication of such source code.     */
1670
1671#pragma ident   "@(#)ncform     6.8     95/02/11 SMI"
1672
Note: See TracBrowser for help on using the repository browser.