summaryrefslogtreecommitdiffstats
path: root/ds9/parsers/gridparser.tcl
blob: d2402e87577f5cc5b8eda772e675a0649d205e3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
package provide DS9 1.0

######
# Begin autogenerated taccle (version 1.3) routines.
# Although taccle itself is protected by the GNU Public License (GPL)
# all user-supplied functions are protected by their respective
# author's license.  See http://mini.net/tcl/taccle for other details.
######

namespace eval grid {
    variable yylval {}
    variable table
    variable rules
    variable token {}
    variable yycnt 0
    variable yyerr 0
    variable save_state 0

    namespace export yylex
}

proc grid::YYABORT {} {
    return -code return 1
}

proc grid::YYACCEPT {} {
    return -code return 0
}

proc grid::YYERROR {} {
    variable yyerr
    set yyerr 1
}

proc grid::yyclearin {} {
    variable token
    variable yycnt
    set token {}
    incr yycnt -1
}

proc grid::yyerror {s} {
    puts stderr $s
}

proc grid::setupvalues {stack pointer numsyms} {
    upvar 1 1 y
    set y {}
    for {set i 1} {$i <= $numsyms} {incr i} {
        upvar 1 $i y
        set y [lindex $stack $pointer]
        incr pointer
    }
}

proc grid::unsetupvalues {numsyms} {
    for {set i 1} {$i <= $numsyms} {incr i} {
        upvar 1 $i y
        unset y
    }
}

array set grid::table {
  116:317,target 40
  21:289 shift
  21:290 shift
  21:300 shift
  162:317,target 109
  21:291 shift
  21:301 shift
  217:317,target 134
  122:0,target 46
  21:292 shift
  21:302 shift
  12:317,target 1
  21:293 shift
  21:303 shift
  106:317 reduce
  21:294 shift
  21:304 shift
  153:366,target 241
  134:268,target 187
  21:295 shift
  21:305 shift
  81:317 reduce
  21:296 shift
  21:297 shift
  7:354,target 33
  21:298 shift
  24:319,target 146
  15:257,target 1
  21:299 shift
  51:315 shift
  61:257,target 1
  95:0,target 19
  91:0 reduce
  15:354 shift
  15:355 shift
  31:363,target 165
  177:0 reduce
  56:273 shift
  56:274 shift
  242:317 reduce
  24:378,target 149
  75:375 goto
  9:317 reduce
  21:275,target 94
  230:0 reduce
  229:0 reduce
  15:366 goto
  0:344,target 18
  22:258,target 2
  117:317,target 41
  212:317 reduce
  163:317,target 110
  222:0,target 119
  218:317,target 135
  236:366 goto
  7:260,target 4
  7:259,target 3
  13:317,target 1
  154:366,target 242
  79:261,target 5
  181:0,target 59
  172:317 reduce
  25:319,target 151
  25:320,target 152
  107:0 reduce
  150:0,target 70
  149:0,target 87
  142:317 shift
  13:265,target 56
  118:0,target 42
  150:0 reduce
  149:0 reduce
  112:317 reduce
  86:317 reduce
  15:388 goto
  21:292,target 111
  21:302,target 121
  202:0 reduce
  192:0 reduce
  136:369 goto
  92:0,target 57
  23:258,target 2
  47:315,target 180
  118:317,target 42
  22:386,target 133
  164:317,target 111
  140:261,target 5
  244:0 reduce
  220:317,target 116
  219:317,target 136
  61:0,target 1
  8:260,target 4
  8:259,target 3
  14:317,target 68
  26:317 reduce
  59:317,target 202
  60:317,target 1
  155:366,target 243
  30:0,target 1
  247:317 reduce
  35:0 reduce
  235:260,target 4
  235:259,target 3
  217:317 reduce
  122:0 reduce
  218:0,target 135
  21:371 goto
  30:259,target 3
  30:260,target 4
  153:257 shift
  21:372 goto
  153:258 shift
  153:260 shift
  153:259 shift
  9:0 reduce
  177:317 reduce
  177:0,target 122
  153:261 shift
  56:273,target 192
  164:0 reduce
  153:262 shift
  13:351,target 65
  21:382 goto
  48:315,target 180
  216:0 reduce
  120:317,target 44
  119:317,target 43
  165:317,target 112
  115:0,target 39
  221:317,target 118
  117:317 reduce
  15:317,target 1
  8:387,target 42
  25:353,target 154
  61:317,target 1
  92:317 reduce
  147:327 shift
  62:315 shift
  62:316 shift
  88:0,target 54
  33:379,target 172
  78:379,target 218
  236:260,target 4
  236:259,target 3
  15:265,target 71
  32:315 shift
  147:335 shift
  92:0 reduce
  26:0,target 67
  56:369 goto
  129:258,target 2
  246:0,target 166
  178:0 reduce
  19:309,target 86
  19:310,target 87
  49:315,target 180
  50:315,target 185
  223:317 reduce
  121:317,target 45
  215:0,target 132
  166:317,target 113
  21:283,target 102
  222:317,target 119
  0:352,target 22
  16:317,target 68
  71:369,target 211
  231:0 reduce
  183:317 reduce
  174:0,target 121
  13:325,target 60
  143:0,target 137
  153:317 reduce
  22:0 reduce
  237:260,target 4
  237:259,target 3
  112:0,target 36
  123:317 reduce
  108:0 reduce
  97:317 reduce
  151:0 reduce
  85:0,target 51
  67:317 reduce
  0:257,target 1
  13:257 shift
  21:299,target 118
  51:315,target 186
  122:317,target 46
  13:258 shift
  167:317,target 114
  13:259 shift
  13:260 shift
  73:271 shift
  223:317,target 117
  203:0 reduce
  193:0 reduce
  13:261 shift
  37:317 shift
  73:272 shift
  13:262 shift
  17:317,target 84
  23:266,target 137
  72:370,target 212
  147:379 goto
  13:263 shift
  38:261,target 5
  13:264 shift
  23:0,target 1
  13:265 shift
  13:266 shift
  245:0 reduce
  13:267 shift
  243:0,target 164
  228:317 reduce
  62:375 goto
  212:0,target 130
  36:0 reduce
  188:317 reduce
  171:0,target 65
  24:318,target 145
  123:0 reduce
  140:0,target 1
  158:317 reduce
  31:362,target 164
  165:0 reduce
  123:317,target 47
  108:0,target 32
  168:317,target 106
  224:317,target 141
  128:317 shift
  18:317,target 82
  153:366 goto
  134:268 shift
  64:317,target 207
  134:270 shift
  134:269 shift
  217:0 reduce
  8:0,target 1
  82:0,target 86
  0:343,target 17
  22:257,target 1
  12:333,target 49
  7:258,target 2
  43:317 reduce
  79:260,target 4
  79:259,target 3
  151:262,target 6
  7:257 shift
  7:258 shift
  7:260 shift
  7:259 shift
  13:317 reduce
  46:262,target 6
  7:261 shift
  240:0,target 163
  239:0,target 161
  7:262 shift
  13:321 shift
  13:264,target 55
  234:317 reduce
  93:0 reduce
  208:0,target 149
  198:0,target 158
  124:317,target 48
  2:317 reduce
  170:317,target 66
  169:317,target 104
  13:325 shift
  225:317,target 142
  13:326 shift
  204:317 reduce
  194:317 reduce
  180:0 reduce
  179:0 reduce
  167:0,target 114
  65:317,target 208
  21:291,target 110
  21:301,target 120
  140:257 shift
  13:331 shift
  140:258 shift
  13:332 shift
  140:260 shift
  140:259 shift
  164:317 reduce
  140:261 shift
  23:257,target 1
  232:0 reduce
  140:262 shift
  140:260,target 4
  140:259,target 3
  105:0,target 29
  8:258,target 2
  152:262,target 6
  23:0 reduce
  0:317,target 1
  104:317 reduce
  5:0,target 4
  110:0 reduce
  109:0 reduce
  235:258,target 2
  13:350 shift
  13:351 shift
  30:258,target 2
  48:315 shift
  125:317,target 90
  48:316 shift
  171:317,target 65
  226:317,target 144
  152:0 reduce
  54:268 shift
  16:0,target 68
  54:269 shift
  54:270 shift
  66:317,target 147
  78:327 shift
  0:376,target 27
  73:368 goto
  18:317 shift
  12:366,target 52
  236:0,target 1
  204:0 reduce
  194:0 reduce
  13:350,target 64
  240:317 reduce
  239:317 reduce
  205:0,target 152
  195:0,target 15
  78:335 shift
  7:317 reduce
  13:366 goto
  246:0 reduce
  7:321 shift
  0:334,target 12
  210:317 reduce
  209:317 reduce
  199:317 reduce
  164:0,target 111
  153:262,target 6
  7:323 shift
  1:317,target 2
  133:0,target 78
  170:317 reduce
  169:317 reduce
  236:258,target 2
  15:264,target 70
  102:0,target 26
  55:315,target 191
  126:317,target 91
  124:0 reduce
  172:317,target 105
  140:317 reduce
  139:317 shift
  80:0 reduce
  79:0 reduce
  227:317,target 145
  22:317,target 1
  57:272,target 196
  67:317,target 82
  12:383,target 53
  60:257 shift
  166:0 reduce
  129:257,target 1
  110:317 reduce
  109:317 reduce
  2:0,target 5
  60:258 shift
  13:366,target 66
  7:340 shift
  60:259 shift
  60:260 shift
  84:317 reduce
  60:261 shift
  134:367 goto
  13:390 goto
  19:308,target 85
  60:262 shift
  30:257 shift
  15:333,target 77
  21:282,target 101
  30:258 shift
  218:0 reduce
  30:259 shift
  30:260 shift
  44:0,target 76
  30:261 shift
  7:347 shift
  30:262 shift
  62:316,target 181
  154:262,target 6
  13:0,target 1
  2:317,target 5
  24:318 shift
  233:0,target 88
  7:354 shift
  24:319 shift
  245:317 reduce
  237:258,target 2
  7:357 shift
  202:0,target 159
  192:0,target 13
  136:369,target 226
  52:0 reduce
  127:317,target 71
  173:317,target 102
  228:317,target 143
  78:379 goto
  62:375,target 205
  215:317 reduce
  161:0,target 108
  23:317,target 1
  48:375 goto
  58:272,target 200
  68:317,target 85
  151:257 shift
  94:0 reduce
  151:258 shift
  7:366 goto
  28:377,target 157
  151:260 shift
  151:259 shift
  129:0,target 1
  175:317 reduce
  151:261 shift
  151:338,target 236
  60:366,target 203
  71:274,target 193
  151:262 shift
  21:298,target 117
  181:0 reduce
  145:317 reduce
  12:357,target 51
  23:265,target 136
  24:339 shift
  38:259,target 3
  38:260,target 4
  63:316,target 181
  24:342 shift
  233:0 reduce
  155:262,target 6
  3:317,target 3
  115:317 reduce
  140:366 goto
  90:317 reduce
  89:317 reduce
  7:384 goto
  137:370,target 227
  41:0,target 120
  128:317,target 220
  59:317 shift
  60:317 reduce
  174:317,target 121
  230:317,target 139
  229:317,target 146
  111:0 reduce
  63:375,target 206
  66:0 reduce
  29:317 shift
  30:317 reduce
  230:0,target 139
  229:0,target 146
  15:366,target 80
  153:0 reduce
  146:379,target 233
  31:361,target 163
  54:367 goto
  61:366,target 204
  72:274,target 197
  188:0,target 9
  33:327,target 170
  78:327,target 170
  73:368,target 213
  205:0 reduce
  195:0 reduce
  221:317 reduce
  4:317,target 6
  126:0,target 91
  247:0 reduce
  181:317 reduce
  12:332,target 48
  7:257,target 1
  24:378 goto
  151:317 reduce
  129:317,target 1
  79:258,target 2
  24:381 goto
  175:317,target 123
  151:261,target 5
  38:0 reduce
  231:317,target 140
  99:0,target 23
  46:261,target 5
  121:317 reduce
  125:0 reduce
  95:317 reduce
  81:0 reduce
  68:0,target 85
  147:379,target 234
  13:263,target 54
  167:0 reduce
  65:317 shift
  21:289,target 108
  21:290,target 109
  21:300,target 119
  151:336 shift
  5:317,target 4
  35:317 reduce
  220:0 reduce
  219:0 reduce
  71:273 shift
  226:0,target 144
  151:338 shift
  60:366 goto
  71:274 shift
  0:257 shift
  140:258,target 2
  0:258 shift
  13:332,target 63
  0:260 shift
  0:259 shift
  185:0,target 96
  8:257,target 1
  0:261 shift
  0:262 shift
  30:366 goto
  176:317,target 124
  152:261,target 5
  25:334,target 153
  232:317,target 138
  226:317 reduce
  154:0,target 1
  26:317,target 67
  53:0 reduce
  151:352 shift
  123:0,target 47
  186:317 reduce
  235:257,target 1
  30:257,target 1
  140:0 reduce
  95:0 reduce
  156:317 reduce
  96:0,target 20
  182:0 reduce
  126:317 reduce
  6:317,target 7
  151:366 goto
  46:257 shift
  234:0 reduce
  46:258 shift
  46:259 shift
  46:260 shift
  69:367,target 209
  46:261 shift
  132:317,target 115
  46:262 shift
  177:317,target 122
  153:261,target 5
  233:317,target 88
  12:323,target 46
  41:317 reduce
  237:257 shift
  223:0,target 117
  237:258 shift
  237:260 shift
  237:259 shift
  236:257,target 1
  112:0 reduce
  15:263,target 69
  237:261 shift
  11:317 shift
  67:0 reduce
  237:262 shift
  182:0,target 97
  0:0 reduce
  57:271,target 195
  232:317 reduce
  154:0 reduce
  151:0,target 1
  0:317 reduce
  33:335,target 171
  151:392 goto
  78:335,target 171
  7:317,target 1
  0:319 shift
  0:320 shift
  120:0,target 44
  119:0,target 43
  202:317 reduce
  192:317 reduce
  0:322 shift
  19:307,target 84
  206:0 reduce
  196:0 reduce
  15:332,target 76
  21:281,target 100
  162:317 reduce
  62:315,target 180
  133:317,target 78
  0:328 shift
  178:317,target 93
  154:261,target 5
  0:329 shift
  234:317,target 89
  93:0,target 73
  28:317,target 61
  132:317 reduce
  74:317,target 214
  0:334 shift
  24:342,target 148
  0:336 shift
  237:257,target 1
  137:271 shift
  0:337 shift
  137:272 shift
  102:317 reduce
  76:315 shift
  0:339 shift
  31:385,target 168
  76:316 shift
  137:274 shift
  0:341 shift
  126:0 reduce
  82:0 reduce
  0:343 shift
  22:257 shift
  58:271,target 199
  0:344 shift
  22:258 shift
  0:345 shift
  22:259 shift
  22:260 shift
  0:346 shift
  22:261 shift
  46:317 reduce
  8:317,target 1
  22:262 shift
  220:0,target 116
  219:0,target 136
  168:0 reduce
  0:348 shift
  71:273,target 192
  21:297,target 116
  0:366,target 26
  0:352 shift
  16:317 reduce
  71:369 goto
  178:0,target 93
  0:353 shift
  0:354 shift
  23:264,target 135
  221:0 reduce
  38:258,target 2
  63:315,target 180
  0:356 shift
  237:317 reduce
  180:317,target 58
  179:317,target 95
  155:261,target 5
  235:317,target 1
  5:317 reduce
  29:317,target 158
  30:317,target 1
  136:274,target 193
  116:0,target 40
  12:0 reduce
  207:317 reduce
  197:317 reduce
  0:366 goto
  167:317 reduce
  90:0,target 72
  89:0,target 55
  96:0 reduce
  9:317,target 69
  12:262,target 6
  0:376 goto
  31:359,target 161
  31:360,target 162
  107:317 reduce
  0:380 goto
  183:0 reduce
  27:0,target 0
  82:317 reduce
  54:269,target 188
  54:270,target 189
  247:0,target 167
  181:317,target 59
  236:317,target 1
  235:0 reduce
  52:317 reduce
  137:274,target 197
  0:341,target 16
  216:0,target 133
  12:331,target 47
  22:366,target 132
  57:271 shift
  22:317 reduce
  57:272 shift
  175:0,target 123
  138:368,target 228
  23:349,target 142
  26:0 reduce
  79:257,target 1
  46:366 goto
  57:274 shift
  151:260,target 4
  151:259,target 3
  22:321 shift
  243:317 reduce
  144:0,target 81
  22:323 shift
  76:375 goto
  113:0 reduce
  46:259,target 3
  46:260,target 4
  68:0 reduce
  113:0,target 37
  213:317 reduce
  1:0 reduce
  13:262,target 6
  237:366 goto
  155:0 reduce
  173:317 reduce
  21:288,target 107
  207:0 reduce
  197:0 reduce
  182:317,target 97
  86:0,target 52
  237:317,target 1
  143:317 reduce
  12:347,target 50
  140:257,target 1
  13:331,target 62
  23:366,target 143
  113:317 reduce
  7:384,target 36
  87:317 reduce
  22:347 shift
  152:260,target 4
  152:259,target 3
  20:374,target 93
  244:0,target 62
  137:370 goto
  41:0 reduce
  213:0,target 128
  23:324,target 140
  127:0 reduce
  134:367,target 224
  83:0 reduce
  13:390,target 67
  22:357 shift
  60:262,target 6
  172:0,target 105
  170:0 reduce
  169:0 reduce
  183:317,target 98
  238:317,target 165
  22:366 goto
  110:0,target 34
  109:0,target 33
  222:0 reduce
  218:317 reduce
  154:257 shift
  154:258 shift
  154:260 shift
  154:259 shift
  146:327,target 170
  178:317 reduce
  154:261 shift
  154:262 shift
  153:260,target 4
  153:259,target 3
  9:0,target 69
  13:0 reduce
  83:0,target 49
  22:357,target 131
  148:317 reduce
  100:0 reduce
  52:0,target 92
  15:262,target 6
  61:262,target 6
  118:317 reduce
  22:386 goto
  93:317 reduce
  97:0 reduce
  38:257 shift
  241:0,target 160
  38:258 shift
  63:315 shift
  184:317,target 99
  38:259 shift
  38:260 shift
  63:316 shift
  240:317,target 163
  239:317,target 161
  38:261 shift
  184:0 reduce
  38:262 shift
  210:0,target 127
  209:0,target 126
  199:0,target 11
  129:366,target 221
  80:317,target 125
  79:317,target 1
  19:306,target 83
  15:331,target 75
  21:279,target 98
  21:280,target 99
  168:0,target 106
  0:348,target 21
  236:0 reduce
  147:327,target 170
  154:260,target 4
  154:259,target 3
  57:370 goto
  27:0 accept
  106:0,target 30
  33:327 shift
  224:317 reduce
  114:0 reduce
  184:317 reduce
  6:0,target 7
  33:335 shift
  129:257 shift
  2:0 reduce
  140:317,target 1
  139:317,target 229
  129:258 shift
  80:0,target 125
  79:0,target 1
  185:317,target 96
  156:0 reduce
  129:260 shift
  129:259 shift
  241:317,target 160
  154:317 reduce
  129:261 shift
  151:336,target 235
  129:262 shift
  35:317,target 100
  81:317,target 80
  21:296,target 115
  208:0 reduce
  198:0 reduce
  124:317 reduce
  17:0,target 84
  23:263,target 134
  98:317 reduce
  38:257,target 1
  155:260,target 4
  155:259,target 3
  237:0,target 1
  136:273,target 192
  68:317 reduce
  75:316,target 181
  206:0,target 153
  196:0,target 16
  38:317 reduce
  42:0 reduce
  165:0,target 112
  235:257 shift
  235:258 shift
  235:260 shift
  235:259 shift
  235:261 shift
  70:315,target 210
  235:262 shift
  84:0 reduce
  186:317,target 94
  242:317,target 162
  75:375,target 215
  103:0,target 27
  12:261,target 5
  31:358,target 160
  36:317,target 77
  72:272,target 196
  230:317 reduce
  229:317 reduce
  82:317,target 86
  63:375 goto
  171:0 reduce
  54:268,target 187
  200:317 reduce
  190:317 reduce
  189:317 reduce
  3:0,target 3
  223:0 reduce
  146:335,target 171
  33:379 goto
  160:317 reduce
  159:317 reduce
  0:339,target 15
  76:316,target 181
  21:382,target 127
  130:315 shift
  79:257 shift
  129:317 reduce
  79:258 shift
  130:315,target 222
  79:260 shift
  79:259 shift
  154:366 goto
  151:258,target 2
  79:261 shift
  7:366,target 35
  101:0 reduce
  79:262 shift
  234:0,target 89
  100:317 reduce
  46:258,target 2
  142:317,target 232
  187:317,target 8
  74:317 shift
  243:317,target 164
  22:323,target 129
  76:375,target 216
  203:0,target 150
  193:0,target 14
  143:0 reduce
  13:261,target 5
  37:317,target 174
  73:272,target 200
  98:0 reduce
  83:317,target 49
  44:317 reduce
  162:0,target 109
  20:314,target 92
  185:0 reduce
  8:257 shift
  8:258 shift
  21:287,target 106
  8:260 shift
  8:259 shift
  14:317 shift
  8:261 shift
  0:356,target 25
  147:335,target 171
  8:262 shift
  38:366 goto
  77:316,target 181
  237:0 reduce
  100:0,target 24
  235:317 reduce
  3:317 reduce
  131:315,target 223
  205:317 reduce
  195:317 reduce
  152:258,target 2
  8:366,target 41
  19:373,target 90
  28:0 reduce
  0:0,target 1
  143:317,target 137
  188:317,target 9
  165:317 reduce
  115:0 reduce
  77:375,target 217
  38:317,target 1
  42:0,target 79
  135:315 shift
  84:317,target 50
  60:261,target 5
  3:0 reduce
  235:366,target 245
  0:262,target 6
  30:366,target 159
  15:355,target 79
  25:391,target 156
  231:0,target 140
  105:317 reduce
  210:0 reduce
  209:0 reduce
  199:0 reduce
  129:366 goto
  80:317 reduce
  79:317 reduce
  19:306 shift
  19:307 shift
  200:0,target 12
  190:0,target 154
  189:0,target 10
  19:308 shift
  19:309 shift
  19:310 shift
  49:315 shift
  50:315 shift
  19:311 shift
  49:316 shift
  19:312 shift
  158:0,target 101
  20:313 shift
  20:314 shift
  153:258,target 2
  12:321,target 45
  127:0,target 71
  144:317,target 81
  43:0 reduce
  200:317,target 12
  190:317,target 154
  189:317,target 10
  245:317,target 168
  7:357,target 34
  241:317 reduce
  15:261,target 5
  85:317,target 51
  8:317 reduce
  61:261,target 5
  129:0 reduce
  236:366,target 246
  85:0 reduce
  8:321 shift
  211:317 reduce
  8:323 shift
  235:366 goto
  172:0 reduce
  171:317 reduce
  38:0,target 1
  141:315 shift
  21:278,target 97
  224:0 reduce
  141:316 shift
  22:262,target 6
  154:258,target 2
  13:321,target 59
  61:257 shift
  227:0,target 145
  111:317 reduce
  15:0 reduce
  61:258 shift
  100:317,target 24
  61:259 shift
  61:260 shift
  145:317,target 63
  85:317 reduce
  24:339,target 147
  61:261 shift
  201:317,target 156
  191:317,target 155
  61:262 shift
  246:317,target 166
  186:0,target 94
  8:357,target 40
  102:0 reduce
  41:317,target 120
  55:315 shift
  86:317,target 52
  15:388,target 81
  237:366,target 247
  155:0,target 1
  8:347 shift
  79:366 goto
  144:0 reduce
  124:0,target 48
  99:0 reduce
  25:319 shift
  25:320 shift
  21:295,target 114
  21:305,target 124
  246:317 reduce
  186:0 reduce
  8:357 shift
  23:262,target 6
  97:0,target 21
  216:317 reduce
  49:375 goto
  238:0 reduce
  155:258,target 2
  152:257 shift
  152:258 shift
  8:366 goto
  19:373 goto
  66:0,target 147
  152:260 shift
  152:259 shift
  101:317,target 25
  20:374 goto
  75:315,target 180
  176:317 reduce
  152:261 shift
  25:334 shift
  202:317,target 159
  192:317,target 13
  152:262 shift
  0:322,target 9
  247:317,target 167
  30:0 reduce
  35:0,target 100
  42:317,target 79
  87:317,target 53
  22:347,target 130
  116:0 reduce
  224:0,target 141
  141:316,target 181
  116:317 reduce
  151:352,target 237
  4:0 reduce
  91:317 reduce
  158:0 reduce
  12:260,target 4
  12:259,target 3
  72:271,target 195
  183:0,target 98
  146:327 shift
  8:387 goto
  25:353 shift
  61:317 reduce
  152:0,target 1
  211:0 reduce
  23:389,target 144
  25:355 shift
  141:375 goto
  135:315,target 225
  146:335 shift
  121:0,target 45
  15:321,target 74
  141:375,target 231
  137:272,target 196
  102:317,target 26
  76:315,target 180
  203:317,target 150
  193:317,target 14
  43:317,target 75
  88:317,target 54
  151:257,target 1
  94:0,target 18
  44:0 reduce
  222:317 reduce
  79:366,target 219
  46:257,target 1
  182:317 reduce
  86:0 reduce
  13:259,target 3
  13:260,target 4
  73:271,target 199
  129:262,target 6
  7:323,target 30
  173:0 reduce
  152:317 reduce
  20:313,target 91
  21:286,target 105
  221:0,target 118
  122:317 reduce
  225:0 reduce
  32:315,target 169
  138:272,target 200
  103:317,target 27
  96:317 reduce
  77:315,target 180
  148:317,target 64
  204:317,target 151
  194:317,target 157
  180:0,target 58
  179:0,target 95
  25:391 goto
  44:317,target 76
  140:366,target 230
  90:317,target 72
  89:317,target 55
  16:0 reduce
  66:317 reduce
  148:0,target 64
  152:257,target 1
  12:257 shift
  12:258 shift
  12:260 shift
  12:259 shift
  72:271 shift
  117:0,target 41
  103:0 reduce
  12:261 shift
  31:358 shift
  36:317 reduce
  72:272 shift
  12:262 shift
  31:359 shift
  31:360 shift
  146:379 goto
  31:361 shift
  61:366 goto
  72:274 shift
  31:362 shift
  31:363 shift
  7:340,target 31
  31:364 shift
  60:259,target 3
  60:260,target 4
  145:0 reduce
  31:365 shift
  8:323,target 38
  0:261,target 5
  91:0,target 56
  15:354,target 78
  227:317 reduce
  187:0 reduce
  60:0,target 1
  187:317 reduce
  104:317,target 28
  150:317,target 70
  149:317,target 87
  205:317,target 152
  195:317,target 15
  28:0,target 60
  240:0 reduce
  239:0 reduce
  45:317,target 178
  157:317 shift
  91:317,target 56
  0:329,target 11
  153:257,target 1
  21:372,target 126
  31:385 goto
  217:0,target 134
  127:317 reduce
  152:366 goto
  176:0,target 124
  117:0 reduce
  15:259,target 3
  15:260,target 4
  61:259,target 3
  61:260,target 4
  145:0,target 63
  5:0 reduce
  31:365,target 167
  160:0 reduce
  159:0 reduce
  114:0,target 38
  42:317 reduce
  34:315,target 173
  69:269,target 188
  69:270,target 189
  105:317,target 29
  212:0 reduce
  151:317,target 1
  24:381,target 150
  206:317,target 153
  196:317,target 16
  12:317 reduce
  21:277,target 96
  0:346,target 20
  22:261,target 5
  46:317,target 1
  92:317,target 57
  12:321 shift
  87:0,target 53
  233:317 reduce
  154:257,target 1
  12:323 shift
  7:262,target 6
  1:317 reduce
  203:317 reduce
  193:317 reduce
  12:331 shift
  12:332 shift
  12:333 shift
  163:317 reduce
  245:0,target 168
  132:0 reduce
  13:267,target 58
  87:0 reduce
  214:0,target 131
  133:317 reduce
  174:0 reduce
  106:317,target 30
  21:294,target 113
  21:304,target 123
  173:0,target 102
  152:317,target 1
  138:271 shift
  207:317,target 148
  197:317,target 17
  138:272 shift
  103:317 reduce
  77:315 shift
  56:369,target 194
  77:316 shift
  12:347 shift
  23:261,target 5
  226:0 reduce
  93:317,target 73
  23:257 shift
  155:257,target 1
  23:258 shift
  47:315 shift
  8:262,target 6
  23:259 shift
  23:260 shift
  38:366,target 175
  47:316 shift
  111:0,target 35
  23:261 shift
  23:262 shift
  17:0 reduce
  23:263 shift
  23:264 shift
  12:357 shift
  23:265 shift
  17:317 reduce
  23:266 shift
  72:370 goto
  23:267 shift
  104:0 reduce
  23:330,target 141
  60:0 reduce
  235:262,target 6
  84:0,target 50
  238:317 reduce
  7:347,target 32
  30:262,target 6
  6:317 reduce
  141:315,target 180
  12:366 goto
  53:0,target 74
  208:317 reduce
  198:317 reduce
  12:258,target 2
  107:317,target 31
  0:380,target 28
  153:317,target 1
  22:0,target 1
  208:317,target 149
  198:317,target 158
  188:0 reduce
  57:370,target 198
  168:317 reduce
  242:0,target 162
  94:317,target 18
  241:0 reduce
  211:0,target 129
  25:355,target 155
  137:271,target 195
  0:337,target 14
  12:383 goto
  170:0,target 66
  169:0,target 104
  108:317 reduce
  83:317 reduce
  236:262,target 6
  15:267,target 73
  8:347,target 39
  118:0 reduce
  107:0,target 31
  53:317 reduce
  22:321,target 128
  6:0 reduce
  13:258,target 2
  108:317,target 32
  58:271 shift
  161:0 reduce
  154:317,target 1
  129:261,target 5
  23:317 reduce
  58:272 shift
  210:317,target 127
  209:317,target 126
  199:317,target 11
  7:0,target 1
  19:312,target 89
  23:321 shift
  95:317,target 19
  81:0,target 80
  21:285,target 104
  77:375 goto
  213:0 reduce
  23:324 shift
  0:354,target 24
  138:271,target 199
  214:317 reduce
  47:375 goto
  23:330 shift
  174:317 reduce
  238:0,target 165
  237:262,target 6
  46:0 reduce
  207:0,target 148
  197:0,target 17
  144:317 reduce
  23:321,target 139
  133:0 reduce
  166:0,target 113
  110:317,target 34
  109:317,target 33
  88:0 reduce
  60:258,target 2
  155:317,target 1
  114:317 reduce
  211:317,target 129
  88:317 reduce
  0:260,target 4
  0:259,target 3
  175:0 reduce
  138:368 goto
  96:317,target 20
  23:349 shift
  104:0,target 28
  227:0 reduce
  28:317 reduce
  4:0,target 6
  0:328,target 10
  21:371,target 125
  134:270,target 189
  134:269,target 188
  23:366 goto
  46:0,target 1
  105:0 reduce
  220:317 reduce
  219:317 reduce
  61:0 reduce
  15:258,target 2
  39:315,target 176
  40:315,target 177
  155:257 shift
  111:317,target 35
  15:0,target 1
  61:258,target 2
  156:317,target 83
  155:258 shift
  212:317,target 130
  155:260 shift
  155:259 shift
  180:317 reduce
  179:317 reduce
  155:261 shift
  31:364,target 166
  235:0,target 1
  155:262 shift
  52:317,target 92
  97:317,target 21
  204:0,target 151
  194:0,target 157
  150:317 reduce
  149:317 reduce
  200:0 reduce
  190:0 reduce
  189:0 reduce
  69:268,target 187
  163:0,target 110
  21:276,target 95
  120:317 reduce
  119:317 reduce
  0:345,target 19
  22:259,target 3
  22:260,target 4
  242:0 reduce
  94:317 reduce
  132:0,target 115
  23:389 goto
  7:261,target 5
  101:0,target 25
  79:262,target 6
  64:317 shift
  69:268 shift
  34:315 shift
  69:269 shift
  69:270 shift
  112:317,target 36
  157:317,target 244
  120:0 reduce
  119:0 reduce
  213:317,target 128
  1:0,target 2
  13:266,target 57
  53:317,target 74
  58:368 goto
  98:317,target 22
  7:0 reduce
  162:0 reduce
  43:0,target 75
  225:317 reduce
  21:293,target 112
  21:303,target 122
  12:0,target 1
  214:0 reduce
  23:259,target 3
  23:260,target 4
  47:316,target 181
  185:317 reduce
  232:0,target 138
  140:262,target 6
  28:377 goto
  8:261,target 5
  201:0,target 156
  191:0,target 155
  155:317 reduce
  151:392,target 239
  0:319,target 7
  0:320,target 8
  160:0,target 107
  159:0,target 103
  125:317 reduce
  113:317,target 37
  158:317,target 101
  214:317,target 131
  99:317 reduce
  47:375,target 182
  235:261,target 5
  30:261,target 5
  99:317,target 23
  70:315 shift
  90:0 reduce
  89:0 reduce
  56:274,target 193
  12:257,target 1
  15:257 shift
  15:258 shift
  39:315 shift
  40:315 shift
  176:0 reduce
  15:259 shift
  15:260 shift
  15:261 shift
  15:262 shift
  236:257 shift
  15:263 shift
  48:316,target 181
  236:258 shift
  15:264 shift
  236:260 shift
  236:259 shift
  15:265 shift
  236:261 shift
  228:0 reduce
  10:317 shift
  15:266 shift
  236:262 shift
  15:267 shift
  0:336,target 13
  231:317 reduce
  114:317,target 38
  160:317,target 107
  159:317,target 103
  215:317,target 132
  201:317 reduce
  191:317 reduce
  48:375,target 183
  236:261,target 5
  228:0,target 143
  106:0 reduce
  10:317,target 43
  15:266,target 72
  151:366,target 238
  187:0,target 8
  161:317 reduce
  46:366,target 179
  57:274,target 197
  148:0 reduce
  13:257,target 1
  131:315 shift
  156:0,target 83
  129:260,target 4
  129:259,target 3
  7:321,target 29
  58:368,target 201
  155:366 goto
  19:311,target 88
  49:316,target 181
  201:0 reduce
  191:0 reduce
  125:0,target 90
  21:284,target 103
  101:317 reduce
  75:315 shift
  136:273 shift
  0:353,target 23
  75:316 shift
  136:274 shift
  243:0 reduce
  13:326,target 61
  98:0,target 22
  45:317 shift
  115:317,target 39
  161:317,target 108
  216:317,target 133
  49:375,target 184
  69:367 goto
  237:261,target 5
  11:317,target 44
  67:0,target 82
  15:317 reduce
  152:366,target 240
  121:0 reduce
  15:321 shift
  36:0,target 77
  236:317 reduce
  4:317 reduce
  60:257,target 1
  8:0 reduce
  8:321,target 37
  21:275 shift
  163:0 reduce
  0:258,target 2
  21:276 shift
  206:317 reduce
  196:317 reduce
  21:277 shift
  225:0,target 142
  21:278 shift
  15:331 shift
  21:279 shift
  21:280 shift
  15:332 shift
  21:281 shift
  15:333 shift
  21:282 shift
  23:267,target 138
  215:0 reduce
  184:0,target 99
  166:317 reduce
  21:283 shift
  38:262,target 6
  21:284 shift
  21:285 shift
  21:286 shift
  153:0,target 1
  21:287 shift
  54:367,target 190
  21:288 shift
}

array set grid::rules {
  9,l 367
  164,l 391
  49,l 373
  50,l 373
  136,l 388
  92,l 383
  22,l 372
  108,l 385
  64,l 378
  151,l 390
  36,l 372
  123,l 387
  78,l 380
  165,l 392
  51,l 373
  137,l 389
  93,l 383
  23,l 372
  109,l 385
  110,l 385
  65,l 379
  152,l 390
  37,l 372
  124,l 387
  79,l 380
  80,l 380
  166,l 392
  10,l 367
  52,l 373
  138,l 389
  94,l 383
  24,l 372
  111,l 385
  66,l 379
  153,l 390
  38,l 372
  125,l 388
  81,l 380
  167,l 392
  11,l 368
  53,l 373
  139,l 389
  140,l 389
  95,l 383
  25,l 372
  112,l 385
  67,l 380
  0,l 393
  154,l 390
  39,l 372
  40,l 372
  126,l 388
  82,l 380
  168,l 392
  12,l 368
  54,l 373
  141,l 389
  96,l 383
  26,l 372
  113,l 385
  68,l 380
  1,l 366
  155,l 390
  41,l 372
  127,l 388
  83,l 380
  13,l 369
  100,l 384
  55,l 373
  142,l 389
  97,l 383
  27,l 372
  114,l 385
  69,l 380
  70,l 380
  2,l 366
  156,l 390
  42,l 372
  128,l 388
  84,l 380
  14,l 369
  101,l 384
  56,l 374
  143,l 389
  98,l 383
  28,l 372
  115,l 386
  71,l 380
  3,l 366
  157,l 390
  43,l 372
  129,l 388
  130,l 388
  85,l 380
  15,l 370
  102,l 384
  57,l 374
  144,l 389
  99,l 383
  30,l 372
  29,l 372
  116,l 386
  72,l 380
  4,l 366
  158,l 390
  44,l 372
  131,l 388
  86,l 380
  16,l 370
  103,l 384
  58,l 375
  145,l 389
  31,l 372
  117,l 386
  73,l 380
  5,l 366
  160,l 391
  159,l 390
  45,l 372
  132,l 388
  87,l 381
  17,l 370
  104,l 384
  59,l 375
  60,l 376
  146,l 389
  32,l 372
  118,l 386
  74,l 380
  6,l 366
  161,l 391
  46,l 372
  133,l 388
  88,l 381
  18,l 371
  105,l 384
  61,l 377
  147,l 390
  33,l 372
  119,l 386
  120,l 387
  75,l 380
  7,l 366
  162,l 391
  47,l 372
  134,l 388
  89,l 381
  90,l 382
  20,l 371
  19,l 371
  106,l 384
  62,l 376
  148,l 390
  34,l 372
  121,l 387
  76,l 380
  8,l 367
  163,l 391
  48,l 372
  135,l 388
  91,l 382
  21,l 371
  107,l 385
  63,l 378
  149,l 390
  150,l 390
  35,l 372
  122,l 387
  77,l 380
}

array set grid::rules {
  122,dc 2
  12,dc 1
  77,dc 2
  114,dc 1
  69,dc 1
  70,dc 2
  106,dc 2
  9,dc 1
  62,dc 3
  2,dc 1
  164,dc 2
  54,dc 1
  156,dc 2
  46,dc 1
  148,dc 2
  38,dc 1
  141,dc 2
  31,dc 1
  96,dc 2
  133,dc 2
  23,dc 1
  88,dc 2
  125,dc 1
  15,dc 1
  81,dc 2
  117,dc 2
  73,dc 2
  109,dc 1
  110,dc 1
  65,dc 1
  102,dc 2
  5,dc 1
  167,dc 2
  57,dc 1
  160,dc 2
  159,dc 2
  49,dc 1
  50,dc 1
  152,dc 2
  42,dc 1
  144,dc 2
  34,dc 1
  99,dc 2
  136,dc 2
  26,dc 1
  92,dc 1
  128,dc 2
  18,dc 1
  84,dc 1
  121,dc 2
  11,dc 1
  76,dc 2
  113,dc 1
  68,dc 1
  105,dc 2
  8,dc 1
  61,dc 0
  1,dc 0
  163,dc 2
  53,dc 1
  155,dc 2
  45,dc 1
  147,dc 1
  37,dc 1
  139,dc 2
  140,dc 2
  30,dc 1
  29,dc 1
  95,dc 2
  132,dc 2
  22,dc 1
  87,dc 1
  124,dc 2
  14,dc 1
  79,dc 2
  80,dc 2
  116,dc 2
  72,dc 2
  108,dc 1
  64,dc 1
  101,dc 2
  4,dc 1
  166,dc 2
  56,dc 1
  158,dc 2
  48,dc 1
  151,dc 2
  41,dc 1
  143,dc 2
  33,dc 1
  98,dc 2
  135,dc 2
  25,dc 1
  91,dc 1
  127,dc 2
  17,dc 1
  83,dc 2
  119,dc 2
  120,dc 1
  10,dc 1
  75,dc 2
  112,dc 1
  67,dc 1
  104,dc 2
  7,dc 1
  59,dc 1
  60,dc 1
  0,dc 1
  162,dc 2
  52,dc 1
  154,dc 2
  44,dc 1
  146,dc 2
  36,dc 1
  138,dc 2
  28,dc 1
  94,dc 2
  131,dc 2
  21,dc 1
  86,dc 2
  123,dc 2
  13,dc 1
  78,dc 2
  115,dc 1
  71,dc 2
  107,dc 1
  63,dc 1
  100,dc 1
  3,dc 1
  165,dc 1
  55,dc 1
  157,dc 2
  47,dc 1
  149,dc 2
  150,dc 2
  39,dc 1
  40,dc 1
  142,dc 2
  32,dc 1
  97,dc 2
  134,dc 2
  24,dc 1
  89,dc 2
  90,dc 1
  126,dc 2
  16,dc 1
  82,dc 2
  118,dc 2
  74,dc 2
  111,dc 1
  66,dc 1
  103,dc 2
  6,dc 1
  168,dc 2
  58,dc 1
  161,dc 2
  51,dc 1
  153,dc 2
  43,dc 1
  145,dc 2
  35,dc 1
  137,dc 1
  27,dc 1
  93,dc 2
  129,dc 2
  130,dc 2
  20,dc 1
  19,dc 1
  85,dc 2
}

array set grid::rules {
  41,line 255
  37,line 251
  34,line 248
  31,line 245
  27,line 241
  24,line 238
  21,line 234
  17,line 228
  14,line 223
  11,line 218
  9,line 214
  6,line 210
  3,line 207
  168,line 425
  165,line 422
  162,line 417
  158,line 411
  155,line 407
  152,line 404
  148,line 400
  145,line 395
  142,line 391
  138,line 387
  135,line 382
  132,line 379
  128,line 374
  125,line 371
  122,line 365
  118,line 359
  115,line 355
  99,line 332
  112,line 350
  96,line 329
  108,line 346
  93,line 325
  105,line 341
  89,line 317
  90,line 320
  102,line 337
  86,line 312
  83,line 309
  79,line 305
  80,line 306
  76,line 302
  73,line 299
  69,line 295
  70,line 296
  66,line 289
  63,line 284
  59,line 277
  60,line 280
  56,line 272
  53,line 268
  49,line 264
  50,line 265
  46,line 260
  43,line 257
  39,line 253
  40,line 254
  36,line 250
  33,line 247
  30,line 244
  29,line 243
  26,line 240
  23,line 237
  20,line 233
  19,line 232
  16,line 227
  13,line 222
  10,line 215
  8,line 213
  5,line 209
  2,line 206
  167,line 424
  164,line 419
  161,line 416
  157,line 410
  154,line 406
  151,line 403
  147,line 399
  144,line 394
  141,line 390
  137,line 386
  134,line 381
  131,line 378
  127,line 373
  124,line 368
  121,line 364
  117,line 357
  114,line 352
  98,line 331
  111,line 349
  95,line 328
  107,line 345
  92,line 324
  104,line 340
  88,line 316
  101,line 336
  85,line 311
  82,line 308
  78,line 304
  75,line 301
  72,line 298
  68,line 293
  65,line 288
  62,line 281
  58,line 276
  55,line 270
  52,line 267
  48,line 262
  45,line 259
  42,line 256
  38,line 252
  35,line 249
  32,line 246
  28,line 242
  25,line 239
  22,line 236
  18,line 231
  15,line 226
  12,line 219
  7,line 211
  4,line 208
  1,line 205
  61,e 1
  166,line 423
  163,line 418
  160,line 415
  159,line 412
  156,line 408
  153,line 405
  149,line 401
  150,line 402
  146,line 396
  143,line 392
  139,line 388
  140,line 389
  136,line 383
  133,line 380
  129,line 376
  130,line 377
  126,line 372
  123,line 367
  119,line 360
  120,line 363
  116,line 356
  113,line 351
  97,line 330
  109,line 347
  110,line 348
  94,line 326
  106,line 342
  91,line 321
  103,line 339
  87,line 315
  100,line 335
  84,line 310
  81,line 307
  77,line 303
  74,line 300
  71,line 297
  67,line 292
  64,line 285
  61,line 280
  57,line 273
  54,line 269
  51,line 266
  47,line 261
  44,line 258
}

array set grid::lr1_table {
  66,trans {}
  35 {{100 {0 317} 1}}
  85,trans {}
  36 {{77 {0 317} 2}}
  37 {{121 {0 317} 1}}
  38 {{123 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  39 {{124 {0 317} 1}}
  40 {{122 {0 317} 1}}
  117,trans {}
  41 {{120 {0 317} 1}}
  136,trans {{273 192} {274 193} {369 226}}
  42 {{79 {0 317} 2}}
  155,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 243}}
  43 {{75 {0 317} 2}}
  174,trans {}
  44 {{76 {0 317} 2}}
  203,trans {}
  193,trans {}
  45 {{93 {0 317} 1}}
  222,trans {}
  46 {{95 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  241,trans {}
  47 {{97 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  48 {{98 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  49 {{99 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  50 {{96 {0 317} 1}}
  27,trans {}
  46,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 179}}
  51 {{94 {0 317} 1}}
  65,trans {{317 208}}
  52 {{92 {0 317} 1}}
  84,trans {}
  53 {{74 {0 317} 2}}
  54 {{154 {0 317} 1} {8 {0 317} 0} {9 {0 317} 0} {10 {0 317} 0}}
  55 {{155 {0 317} 1}}
  56 {{157 {0 317} 1} {13 {0 317} 0} {14 {0 317} 0}}
  116,trans {}
  57 {{158 {0 317} 1} {15 {0 317} 0} {16 {0 317} 0} {17 {0 317} 0}}
  135,trans {{315 225}}
  58 {{156 {0 317} 1} {11 {0 317} 0} {12 {0 317} 0}}
  154,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 242}}
  59 {{159 {0 317} 1}}
  60 {{150 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  173,trans {}
  61 {{151 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  202,trans {}
  192,trans {}
  62 {{152 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  221,trans {}
  63 {{153 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  240,trans {}
  239,trans {}
  64 {{148 {0 317} 1}}
  65 {{149 {0 317} 1}}
  66 {{147 {0 317} 1}}
  26,trans {}
  45,trans {{317 178}}
  67 {{82 {0 317} 2}}
  64,trans {{317 207}}
  68 {{85 {0 317} 2}}
  83,trans {}
  69 {{126 {0 317} 1} {8 {0 317} 0} {9 {0 317} 0} {10 {0 317} 0}}
  70 {{127 {0 317} 1}}
  71 {{129 {0 317} 1} {13 {0 317} 0} {14 {0 317} 0}}
  72 {{130 {0 317} 1} {15 {0 317} 0} {16 {0 317} 0} {17 {0 317} 0}}
  73 {{128 {0 317} 1} {11 {0 317} 0} {12 {0 317} 0}}
  115,trans {}
  74 {{131 {0 317} 1}}
  134,trans {{268 187} {269 188} {270 189} {367 224}}
  75 {{132 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  153,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 241}}
  76 {{133 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  172,trans {}
  77 {{134 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  201,trans {}
  191,trans {}
  78 {{135 {0 317} 1} {65 {0 317} 0} {66 {0 317} 0}}
  220,trans {}
  219,trans {}
  79 {{136 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  80 {{125 {0 317} 1}}
  238,trans {}
  81 {{80 {0 317} 2}}
  82 {{86 {0 317} 2}}
  83 {{49 {0 317} 1}}
  25,trans {{319 151} {320 152} {334 153} {353 154} {355 155} {391 156}}
  44,trans {}
  84 {{50 {0 317} 1}}
  63,trans {{315 180} {316 181} {375 206}}
  85 {{51 {0 317} 1}}
  82,trans {}
  86 {{52 {0 317} 1}}
  87 {{53 {0 317} 1}}
  0 {{0 0 0} {60 0 0} {62 0 0} {67 {0 317} 0} {68 {0 317} 0} {69 {0 317} 0} {70 {0 317} 0} {71 {0 317} 0} {72 {0 317} 0} {73 {0 317} 0} {74 {0 317} 0} {75 {0 317} 0} {76 {0 317} 0} {77 {0 317} 0} {78 {0 317} 0} {79 {0 317} 0} {80 {0 317} 0} {81 {0 317} 0} {82 {0 317} 0} {83 {0 317} 0} {84 {0 317} 0} {85 {0 317} 0} {86 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  88 {{54 {0 317} 1}}
  1 {{2 {0 317} 1}}
  89 {{55 {0 317} 1}}
  90 {{72 {0 317} 2}}
  114,trans {}
  2 {{5 {0 317} 1}}
  91 {{56 {0 317} 1}}
  133,trans {}
  3 {{3 {0 317} 1}}
  92 {{57 {0 317} 1}}
  152,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 240}}
  4 {{6 {0 317} 1}}
  93 {{73 {0 317} 2}}
  171,trans {}
  5 {{4 {0 317} 1}}
  94 {{18 {0 317} 1}}
  200,trans {}
  190,trans {}
  189,trans {}
  6 {{7 {0 317} 1}}
  95 {{19 {0 317} 1}}
  218,trans {}
  7 {{77 {0 317} 1} {100 {0 317} 0} {101 {0 317} 0} {102 {0 317} 0} {103 {0 317} 0} {104 {0 317} 0} {105 {0 317} 0} {106 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  96 {{20 {0 317} 1}}
  237,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 247}}
  8 {{79 {0 317} 1} {120 {0 317} 0} {121 {0 317} 0} {122 {0 317} 0} {123 {0 317} 0} {124 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  97 {{21 {0 317} 1}}
  9 {{69 {0 317} 1}}
  98 {{22 {0 317} 1}}
  99 {{23 {0 317} 1}}
  24,trans {{318 145} {319 146} {339 147} {342 148} {378 149} {381 150}}
  43,trans {}
  62,trans {{315 180} {316 181} {375 205}}
  81,trans {}
  99,trans {}
  113,trans {}
  132,trans {}
  151,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {336 235} {338 236} {352 237} {366 238} {392 239}}
  170,trans {}
  169,trans {}
  188,trans {}
  217,trans {}
  236,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 246}}
  23,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {263 134} {264 135} {265 136} {266 137} {267 138} {321 139} {324 140} {330 141} {349 142} {366 143} {389 144}}
  42,trans {}
  61,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 204}}
  80,trans {}
  79,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 219}}
  98,trans {}
  9,trans {}
  112,trans {}
  131,trans {{315 223}}
  150,trans {}
  149,trans {}
  168,trans {}
  187,trans {}
  216,trans {}
  235,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 245}}
  22,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {321 128} {323 129} {347 130} {357 131} {366 132} {386 133}}
  41,trans {}
  60,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 203}}
  59,trans {{317 202}}
  78,trans {{327 170} {335 171} {379 218}}
  97,trans {}
  8,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {321 37} {323 38} {347 39} {357 40} {366 41} {387 42}}
  111,trans {}
  130,trans {{315 222}}
  129,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 221}}
  148,trans {}
  100 {{24 {0 317} 1}}
  167,trans {}
  101 {{25 {0 317} 1}}
  186,trans {}
  102 {{26 {0 317} 1}}
  215,trans {}
  103 {{27 {0 317} 1}}
  234,trans {}
  104 {{28 {0 317} 1}}
  105 {{29 {0 317} 1}}
  106 {{30 {0 317} 1}}
  21,trans {{275 94} {276 95} {277 96} {278 97} {279 98} {280 99} {281 100} {282 101} {283 102} {284 103} {285 104} {286 105} {287 106} {288 107} {289 108} {290 109} {291 110} {292 111} {293 112} {294 113} {295 114} {296 115} {297 116} {298 117} {299 118} {300 119} {301 120} {302 121} {303 122} {304 123} {305 124} {371 125} {372 126} {382 127}}
  40,trans {{315 177}}
  39,trans {{315 176}}
  107 {{31 {0 317} 1}}
  58,trans {{271 199} {272 200} {368 201}}
  108 {{32 {0 317} 1}}
  77,trans {{315 180} {316 181} {375 217}}
  109 {{33 {0 317} 1}}
  110 {{34 {0 317} 1}}
  96,trans {}
  7,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {321 29} {323 30} {340 31} {347 32} {354 33} {357 34} {366 35} {384 36}}
  111 {{35 {0 317} 1}}
  112 {{36 {0 317} 1}}
  113 {{37 {0 317} 1}}
  110,trans {}
  109,trans {}
  114 {{38 {0 317} 1}}
  128,trans {{317 220}}
  115 {{39 {0 317} 1}}
  147,trans {{327 170} {335 171} {379 234}}
  116 {{40 {0 317} 1}}
  166,trans {}
  117 {{41 {0 317} 1}}
  185,trans {}
  118 {{42 {0 317} 1}}
  214,trans {}
  119 {{43 {0 317} 1}}
  120 {{44 {0 317} 1}}
  233,trans {}
  121 {{45 {0 317} 1}}
  122 {{46 {0 317} 1}}
  19,trans {{306 83} {307 84} {308 85} {309 86} {310 87} {311 88} {312 89} {373 90}}
  20,trans {{313 91} {314 92} {374 93}}
  123 {{47 {0 317} 1}}
  38,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 175}}
  124 {{48 {0 317} 1}}
  57,trans {{271 195} {272 196} {274 197} {370 198}}
  125 {{90 {0 317} 1}}
  76,trans {{315 180} {316 181} {375 216}}
  126 {{91 {0 317} 1}}
  95,trans {}
  6,trans {}
  127 {{71 {0 317} 2}}
  128 {{116 {0 317} 1}}
  129 {{118 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  130 {{119 {0 317} 1}}
  108,trans {}
  131 {{117 {0 317} 1}}
  127,trans {}
  132 {{115 {0 317} 1}}
  146,trans {{327 170} {335 171} {379 233}}
  133 {{78 {0 317} 2}}
  165,trans {}
  134 {{141 {0 317} 1} {8 {0 317} 0} {9 {0 317} 0} {10 {0 317} 0}}
  184,trans {}
  135 {{142 {0 317} 1}}
  213,trans {}
  136 {{144 {0 317} 1} {13 {0 317} 0} {14 {0 317} 0}}
  232,trans {}
  137 {{145 {0 317} 1} {15 {0 317} 0} {16 {0 317} 0} {17 {0 317} 0}}
  138 {{143 {0 317} 1} {11 {0 317} 0} {12 {0 317} 0}}
  18,trans {{317 82}}
  139 {{146 {0 317} 1}}
  140 {{139 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  37,trans {{317 174}}
  141 {{140 {0 317} 1} {58 {0 317} 0} {59 {0 317} 0}}
  56,trans {{273 192} {274 193} {369 194}}
  142 {{138 {0 317} 1}}
  75,trans {{315 180} {316 181} {375 215}}
  143 {{137 {0 317} 1}}
  94,trans {}
  5,trans {}
  144 {{81 {0 317} 2}}
  145 {{63 {0 317} 1}}
  146 {{88 {0 317} 1} {65 {0 317} 0} {66 {0 317} 0}}
  107,trans {}
  147 {{89 {0 317} 1} {65 {0 317} 0} {66 {0 317} 0}}
  126,trans {}
  148 {{64 {0 317} 1}}
  145,trans {}
  149 {{87 {0 317} 1}}
  150 {{70 {0 317} 2}}
  164,trans {}
  151 {{161 {0 317} 1} {165 {0 317} 0} {166 {0 317} 0} {167 {0 317} 0} {168 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  183,trans {}
  152 {{163 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  212,trans {}
  153 {{160 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  231,trans {}
  154 {{162 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  155 {{164 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  17,trans {}
  156 {{83 {0 317} 2}}
  36,trans {}
  157 {{62 0 2}}
  55,trans {{315 191}}
  158 {{101 {0 317} 2}}
  74,trans {{317 214}}
  159 {{103 {0 317} 2}}
  160 {{107 {0 317} 1}}
  93,trans {}
  161 {{108 {0 317} 1}}
  4,trans {}
  162 {{109 {0 317} 1}}
  163 {{110 {0 317} 1}}
  106,trans {}
  164 {{111 {0 317} 1}}
  125,trans {}
  165 {{112 {0 317} 1}}
  144,trans {}
  166 {{113 {0 317} 1}}
  163,trans {}
  167 {{114 {0 317} 1}}
  182,trans {}
  168 {{106 {0 317} 2}}
  211,trans {}
  170 {{66 {0 317} 1}}
  169 {{104 {0 317} 2}}
  230,trans {}
  229,trans {}
  171 {{65 {0 317} 1}}
  172 {{105 {0 317} 2}}
  173 {{102 {0 317} 2}}
  16,trans {}
  174 {{121 {0 317} 2}}
  35,trans {}
  54,trans {{268 187} {269 188} {270 189} {367 190}}
  175 {{123 {0 317} 2}}
  73,trans {{271 199} {272 200} {368 213}}
  176 {{124 {0 317} 2}}
  92,trans {}
  177 {{122 {0 317} 2}}
  3,trans {}
  178 {{93 {0 317} 2}}
  180 {{58 {0 317} 1}}
  179 {{95 {0 317} 2}}
  105,trans {}
  181 {{59 {0 317} 1}}
  124,trans {}
  182 {{97 {0 317} 2}}
  143,trans {}
  183 {{98 {0 317} 2}}
  162,trans {}
  184 {{99 {0 317} 2}}
  181,trans {}
  185 {{96 {0 317} 2}}
  210,trans {}
  209,trans {}
  199,trans {}
  186 {{94 {0 317} 2}}
  228,trans {}
  187 {{8 {0 317} 1}}
  247,trans {}
  188 {{9 {0 317} 1}}
  200 {{12 {0 317} 1}}
  190 {{154 {0 317} 2}}
  189 {{10 {0 317} 1}}
  15,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {263 69} {264 70} {265 71} {266 72} {267 73} {321 74} {331 75} {332 76} {333 77} {354 78} {355 79} {366 80} {388 81}}
  201 {{156 {0 317} 2}}
  191 {{155 {0 317} 2}}
  34,trans {{315 173}}
  202 {{159 {0 317} 2}}
  192 {{13 {0 317} 1}}
  53,trans {}
  72,trans {{271 195} {272 196} {274 197} {370 212}}
  203 {{150 {0 317} 2}}
  193 {{14 {0 317} 1}}
  91,trans {}
  204 {{151 {0 317} 2}}
  194 {{157 {0 317} 2}}
  2,trans {}
  205 {{152 {0 317} 2}}
  195 {{15 {0 317} 1}}
  206 {{153 {0 317} 2}}
  196 {{16 {0 317} 1}}
  104,trans {}
  207 {{148 {0 317} 2}}
  197 {{17 {0 317} 1}}
  123,trans {}
  208 {{149 {0 317} 2}}
  198 {{158 {0 317} 2}}
  142,trans {{317 232}}
  210 {{127 {0 317} 2}}
  209 {{126 {0 317} 2}}
  199 {{11 {0 317} 1}}
  161,trans {}
  211 {{129 {0 317} 2}}
  180,trans {}
  179,trans {}
  212 {{130 {0 317} 2}}
  208,trans {}
  198,trans {}
  213 {{128 {0 317} 2}}
  227,trans {}
  214 {{131 {0 317} 2}}
  246,trans {}
  215 {{132 {0 317} 2}}
  216 {{133 {0 317} 2}}
  14,trans {{317 68}}
  217 {{134 {0 317} 2}}
  33,trans {{327 170} {335 171} {379 172}}
  218 {{135 {0 317} 2}}
  52,trans {}
  220 {{116 {0 317} 2}}
  219 {{136 {0 317} 2}}
  71,trans {{273 192} {274 193} {369 211}}
  221 {{118 {0 317} 2}}
  90,trans {}
  89,trans {}
  1,trans {}
  222 {{119 {0 317} 2}}
  223 {{117 {0 317} 2}}
  224 {{141 {0 317} 2}}
  103,trans {}
  225 {{142 {0 317} 2}}
  122,trans {}
  141,trans {{315 180} {316 181} {375 231}}
  226 {{144 {0 317} 2}}
  160,trans {}
  159,trans {}
  227 {{145 {0 317} 2}}
  178,trans {}
  228 {{143 {0 317} 2}}
  207,trans {}
  197,trans {}
  230 {{139 {0 317} 2}}
  229 {{146 {0 317} 2}}
  226,trans {}
  231 {{140 {0 317} 2}}
  245,trans {}
  232 {{138 {0 317} 2}}
  233 {{88 {0 317} 2}}
  13,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {263 54} {264 55} {265 56} {266 57} {267 58} {321 59} {325 60} {326 61} {331 62} {332 63} {350 64} {351 65} {366 66} {390 67}}
  234 {{89 {0 317} 2}}
  32,trans {{315 169}}
  235 {{168 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  51,trans {{315 186}}
  236 {{166 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  70,trans {{315 210}}
  69,trans {{268 187} {269 188} {270 189} {367 209}}
  237 {{167 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  88,trans {}
  0,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {319 7} {320 8} {322 9} {328 10} {329 11} {334 12} {336 13} {337 14} {339 15} {341 16} {343 17} {344 18} {345 19} {346 20} {348 21} {352 22} {353 23} {354 24} {356 25} {366 26} {376 27} {380 28}}
  238 {{165 {0 317} 1}}
  240 {{163 {0 317} 2}}
  239 {{161 {0 317} 2}}
  241 {{160 {0 317} 2}}
  102,trans {}
  242 {{162 {0 317} 2}}
  121,trans {}
  243 {{164 {0 317} 2}}
  140,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 230}}
  139,trans {{317 229}}
  158,trans {}
  244 {{62 0 3}}
  245 {{168 {0 317} 2}}
  177,trans {}
  246 {{166 {0 317} 2}}
  206,trans {}
  196,trans {}
  247 {{167 {0 317} 2}}
  225,trans {}
  244,trans {}
  12,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {321 45} {323 46} {331 47} {332 48} {333 49} {347 50} {357 51} {366 52} {383 53}}
  31,trans {{358 160} {359 161} {360 162} {361 163} {362 164} {363 165} {364 166} {365 167} {385 168}}
  50,trans {{315 185}}
  49,trans {{315 180} {316 181} {375 184}}
  68,trans {}
  87,trans {}
  101,trans {}
  120,trans {}
  119,trans {}
  138,trans {{271 199} {272 200} {368 228}}
  157,trans {{317 244}}
  10 {{75 {0 317} 1}}
  176,trans {}
  11 {{76 {0 317} 1}}
  205,trans {}
  195,trans {}
  12 {{74 {0 317} 1} {92 {0 317} 0} {93 {0 317} 0} {94 {0 317} 0} {95 {0 317} 0} {96 {0 317} 0} {97 {0 317} 0} {98 {0 317} 0} {99 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  224,trans {}
  13 {{82 {0 317} 1} {147 {0 317} 0} {148 {0 317} 0} {149 {0 317} 0} {150 {0 317} 0} {151 {0 317} 0} {152 {0 317} 0} {153 {0 317} 0} {154 {0 317} 0} {155 {0 317} 0} {156 {0 317} 0} {157 {0 317} 0} {158 {0 317} 0} {159 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  243,trans {}
  14 {{85 {0 317} 1}}
  15 {{80 {0 317} 1} {125 {0 317} 0} {126 {0 317} 0} {127 {0 317} 0} {128 {0 317} 0} {129 {0 317} 0} {130 {0 317} 0} {131 {0 317} 0} {132 {0 317} 0} {133 {0 317} 0} {134 {0 317} 0} {135 {0 317} 0} {136 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  11,trans {{317 44}}
  16 {{68 {0 317} 1}}
  29,trans {{317 158}}
  30,trans {{257 1} {258 2} {259 3} {260 4} {261 5} {262 6} {366 159}}
  48,trans {{315 180} {316 181} {375 183}}
  17 {{84 {0 317} 1}}
  67,trans {}
  18 {{86 {0 317} 1}}
  86,trans {}
  20 {{73 {0 317} 1} {56 {0 317} 0} {57 {0 317} 0}}
  19 {{72 {0 317} 1} {49 {0 317} 0} {50 {0 317} 0} {51 {0 317} 0} {52 {0 317} 0} {53 {0 317} 0} {54 {0 317} 0} {55 {0 317} 0}}
  21 {{71 {0 317} 1} {90 {0 317} 0} {91 {0 317} 0} {18 {0 317} 0} {19 {0 317} 0} {20 {0 317} 0} {21 {0 317} 0} {22 {0 317} 0} {23 {0 317} 0} {24 {0 317} 0} {25 {0 317} 0} {26 {0 317} 0} {27 {0 317} 0} {28 {0 317} 0} {29 {0 317} 0} {30 {0 317} 0} {31 {0 317} 0} {32 {0 317} 0} {33 {0 317} 0} {34 {0 317} 0} {35 {0 317} 0} {36 {0 317} 0} {37 {0 317} 0} {38 {0 317} 0} {39 {0 317} 0} {40 {0 317} 0} {41 {0 317} 0} {42 {0 317} 0} {43 {0 317} 0} {44 {0 317} 0} {45 {0 317} 0} {46 {0 317} 0} {47 {0 317} 0} {48 {0 317} 0}}
  22 {{78 {0 317} 1} {115 {0 317} 0} {116 {0 317} 0} {117 {0 317} 0} {118 {0 317} 0} {119 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  100,trans {}
  23 {{81 {0 317} 1} {137 {0 317} 0} {138 {0 317} 0} {139 {0 317} 0} {140 {0 317} 0} {141 {0 317} 0} {142 {0 317} 0} {143 {0 317} 0} {144 {0 317} 0} {145 {0 317} 0} {146 {0 317} 0} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  118,trans {}
  24 {{70 {0 317} 1} {87 {0 317} 0} {88 {0 317} 0} {89 {0 317} 0} {63 {0 317} 0} {64 {0 317} 0}}
  137,trans {{271 195} {272 196} {274 197} {370 227}}
  25 {{83 {0 317} 1} {160 {0 317} 0} {161 {0 317} 0} {162 {0 317} 0} {163 {0 317} 0} {164 {0 317} 0}}
  156,trans {}
  26 {{67 {0 317} 1}}
  175,trans {}
  27 {{0 0 1}}
  204,trans {}
  194,trans {}
  28 {{60 0 1} {62 0 1} {61 317 0}}
  223,trans {}
  30 {{103 {0 317} 1} {1 {0 317} 0} {2 {0 317} 0} {3 {0 317} 0} {4 {0 317} 0} {5 {0 317} 0} {6 {0 317} 0} {7 {0 317} 0}}
  29 {{101 {0 317} 1}}
  242,trans {}
  31 {{106 {0 317} 1} {107 {0 317} 0} {108 {0 317} 0} {109 {0 317} 0} {110 {0 317} 0} {111 {0 317} 0} {112 {0 317} 0} {113 {0 317} 0} {114 {0 317} 0}}
  32 {{104 {0 317} 1}}
  10,trans {{317 43}}
  33 {{105 {0 317} 1} {65 {0 317} 0} {66 {0 317} 0}}
  28,trans {{377 157}}
  47,trans {{315 180} {316 181} {375 182}}
  34 {{102 {0 317} 1}}
}

array set grid::token_id_table {
  286 WCSG_
  286,t 0
  287 WCSH_
  292,line 45
  302,line 55
  288 WCSI_
  357,line 117
  317,t 0
  265,title FONTSLANT
  289 WCSJ_
  290 WCSK_
  300 WCSU_
  284,title WCSE
  291 WCSL_
  301 WCSV_
  313,title DEGREES
  292 WCSM_
  302 WCSW_
  338,t 0
  332,title GAP2
  288,line 41
  293 WCSN_
  303 WCSX_
  351,title TEXT2
  294 WCSO_
  304 WCSY_
  370,title {}
  369,title {}
  354,line 114
  305 WCSZ_
  295 WCSP_
  388,title {}
  360,t 0
  359,t 0
  306 FK4_
  296 WCSQ_
  307 B1950_
  262,t 0
  297 WCSR_
  308 FK5_
  285,line 38
  298 WCSS_
  381,t 1
  310 ICRS_
  309 J2000_
  299 WCST_
  351,line 111
  311 GALACTIC_
  283,t 0
  312 ECLIPTIC_
  313 DEGREES_
  314,t 0
  314 SEXAGESIMAL_
  282,line 35
  315 INT_
  347,line 107
  316 REAL_
  264,title FONTSIZE
  335,t 0
  317 STRING_
  283,title WCSD
  318 ANALYSIS_
  312,title ECLIPTIC
  331,title GAP1
  320 BORDER_
  319 AXES_
  278,line 30
  error,line 203
  356,t 0
  350,title TEXT1
  349,title TEXT
  321 COLOR_
  368,title {}
  344,line 104
  322 CLOSE_
  258,t 0
  387,title {}
  323 DASH_
  377,t 1
  324 DEF_
  325 DEF1_
  275,line 27
  279,t 0
  280,t 0
  326 DEF2_
  341,line 101
  327 EXTERIOR_
  328 FORMAT1_
  311,t 0
  330 GAP_
  329 FORMAT2_
  331 GAP1_
  272,line 23
  332,t 0
  332 GAP2_
  337,line 97
  333 GAP3_
  263,title FONT
  334 GRID_
  282,title WCSC
  393,line 426
  353,t 0
  335 INTERIOR_
  311,title GALACTIC
  336 LABELS_
  330,title GAP
  329,title FORMAT2
  268,line 19
  348,title SYSTEM
  337 LOAD_
  374,t 1
  367,title {}
  338 NUMBERS_
  334,line 94
  386,title {}
  340 ORIGIN_
  339 NUMERICS_
  276,t 0
  390,line 398
  389,line 385
  341 OPEN_
  342 PUBLICATION_
  265,line 16
  343 RESET_
  307,t 0
  297,t 0
  344 SAVE_
  331,line 91
  345 SKYFRAME_
  386,line 354
  346 SKYFORMAT_
  328,t 0
  347 STYLE_
  262,line 12
  348 SYSTEM_
  0,t 0
  0 {$}
  350,t 0
  350 TEXT1_
  349,t 0
  349 TEXT_
  327,line 87
  262,title FALSE
  351 TEXT2_
  281,title WCSB
  383,line 323
  error,t 0
  352 TICKMARKS_
  310,title ICRS
  309,title J2000
  299,title WCST
  371,t 1
  353 TITLE_
  328,title FORMAT1
  258,line 8
  354 TYPE_
  347,title STYLE
  273,t 0
  366,title {}
  355 VERTICAL_
  324,line 84
  392,t 1
  385,title {}
  356 VIEW_
  380,line 291
  379,line 287
  357 WIDTH_
  294,t 0
  304,t 0
  358 LLL_
  360 LUL_
  359 LLU_
  361 LUU_
  325,t 0
  321,line 81
  362 ULL_
  376,line 279
  363 ULU_
  364 UUL_
  346,t 0
  365 UUU_
  366 yesno
  317,line 74
  261,title TRUE
  367,t 1
  367 font
  279,title WCS
  280,title WCSA
  373,line 263
  368 fontWeight
  308,title FK5
  269,t 0
  270,t 0
  298,title WCSS
  370 fontStyle
  369 fontSlant
  327,title EXTERIOR
  388,t 1
  371 coordsys
  346,title SKYFORMAT
  372 wcssys
  365,title UUU
  314,line 69
  291,t 0
  301,t 0
  384,title {}
  373 skyframe
  374 skyformat
  370,line 225
  369,line 221
  375 numeric
  322,t 0
  376 command
  377 @PSEUDO1
  311,line 65
  378 typegrid
  343,t 0
  380 grid
  379 interiortype
  366,line 204
  381 type
  382 system
  364,t 0
  383 gridgrid
  307,line 61
  266,t 0
  260,title OFF
  259,title ON
  297,line 50
  384 axes
  278,title DETECTOR
  385,t 1
  385 origin
  363,line 124
  307,title B1950
  297,title WCSR
  386 tickmarks
  326,title DEF2
  287,t 0
  387 border
  345,title SKYFRAME
  388 numerics
  364,title UUL
  294,line 47
  304,line 57
  390 labels
  389 title
  383,title {}
  318,t 0
  391 view
  360,line 121
  359,line 120
  392 viewaxes
  393 start'
  340,t 0
  339,t 0
  error,title {}
  291,line 44
  301,line 54
  361,t 0
  356,line 116
  263,t 0
  382,t 1
  258,title NO
  287,line 40
  277,title AMPLIFIER
  284,t 0
  353,line 113
  306,title FK4
  296,title WCSQ
  325,title DEF1
  344,title SAVE
  315,t 0
  363,title ULU
  284,line 37
  382,title {}
  350,line 110
  349,line 109
  336,t 0
  357,t 0
  281,line 34
  260,t 0
  259,t 0
  346,line 106
  378,t 1
  281,t 0
  257,title YES
  277,line 29
  276,title PHYSICAL
  343,line 103
  312,t 0
  305,title WCSZ
  295,title WCSP
  324,title DEF
  343,title RESET
  362,title ULL
  333,t 0
  274,line 25
  381,title {}
  340,line 100
  339,line 99
  354,t 0
  271,line 22
  375,t 1
  336,line 96
  277,t 0
  392,line 421
  308,t 0
  267,line 18
  298,t 0
  275,title IMAGE
  333,line 93
  294,title WCSO
  304,title WCSY
  330,t 0
  329,t 0
  323,title DASH
  388,line 370
  342,title PUBLICATION
  361,title LUU
  264,line 15
  380,title {}
  379,title {}
  351,t 0
  330,line 90
  329,line 89
  385,line 344
  372,t 1
  261,line 11
  274,t 0
  393,t 1
  326,line 86
  305,t 0
  295,t 0
  382,line 319
  257,line 7
  326,t 0
  274,title ITALIC
  323,line 83
  293,title WCSN
  303,title WCSX
  322,title CLOSE
  378,line 283
  347,t 0
  341,title OPEN
  360,title LUL
  359,title LLU
  378,title {}
  368,t 1
  320,line 80
  319,line 79
  error error
  271,t 0
  375,line 275
  390,t 1
  389,t 1
  292,t 0
  302,t 0
  316,line 72
  372,line 235
  323,t 0
  273,title ROMAN
  344,t 0
  313,line 68
  292,title WCSM
  302,title WCSW
  321,title COLOR
  368,line 217
  340,title ORIGIN
  339,title NUMERICS
  365,t 0
  358,title LLL
  377,title {}
  267,t 0
  310,line 64
  309,line 63
  299,line 52
  386,t 1
  365,line 126
  288,t 0
  320,t 0
  319,t 0
  306,line 60
  296,line 49
  362,line 123
  341,t 0
  272,title BOLD
  291,title WCSL
  293,line 46
  301,title WCSV
  303,line 56
  362,t 0
  320,title BORDER
  319,title AXES
  358,line 119
  338,title NUMBERS
  264,t 0
  357,title WIDTH
  383,t 1
  376,title {}
  285,t 0
  289,line 42
  290,line 43
  300,line 53
  355,line 115
  316,t 0
  286,line 39
  337,t 0
  352,line 112
  358,t 0
  271,title NORMAL
  261,t 0
  283,line 36
  289,title WCSJ
  290,title WCSK
  300,title WCSU
  318,title ANALYSIS
  380,t 1
  379,t 1
  348,line 108
  337,title LOAD
  356,title VIEW
  282,t 0
  375,title {}
  279,line 32
  280,line 33
  313,t 0
  345,line 105
  334,t 0
  276,line 28
  355,t 0
  342,line 102
  257,t 0
  269,title HELVETICA
  270,title COURIER
  376,t 1
  273,line 24
  288,title WCSI
  317,title string
  278,t 0
  338,line 98
  336,title LABELS
  355,title VERTICAL
  374,title {}
  310,t 0
  309,t 0
  299,t 0
  393,title {}
  269,line 20
  270,line 21
  335,line 95
  331,t 0
  391,line 414
  352,t 0
  266,line 17
  332,line 92
  373,t 1
  387,line 362
  268,title TIMES
  275,t 0
  263,line 14
  287,title WCSH
  316,title float
  335,title INTERIOR
  328,line 88
  306,t 0
  296,t 0
  354,title TYPE
  384,line 334
  373,title {}
  392,title {}
  327,t 0
  260,line 10
  259,line 9
  325,line 85
  348,t 0
  381,line 314
  370,t 1
  369,t 1
  322,line 82
  272,t 0
  391,t 1
  377,line 280
  267,title FONTWEIGHT
  257 YES_
  286,title WCSG
  293,t 0
  303,t 0
  315,title integer
  258 NO_
  334,title GRID
  318,line 78
  260 OFF_
  259 ON_
  353,title TITLE
  324,t 0
  261 TRUE_
  374,line 271
  372,title {}
  262 FALSE_
  391,title {}
  263 FONT_
  345,t 0
  264 FONTSIZE_
  315,line 71
  265 FONTSLANT_
  266 FONTSTYLE_
  371,line 230
  366,t 1
  267 FONTWEIGHT_
  268,t 0
  268 TIMES_
  269 HELVETICA_
  270 COURIER_
  387,t 1
  312,line 66
  271 NORMAL_
  272 BOLD_
  289,t 0
  290,t 0
  300,t 0
  367,line 212
  266,title FONTSTYLE
  273 ROMAN_
  274 ITALIC_
  285,title WCSF
  321,t 0
  314,title SEXAGESIMAL
  275 IMAGE_
  333,title GAP3
  308,line 62
  276 PHYSICAL_
  298,line 51
  352,title TICKMARKS
  277 AMPLIFIER_
  371,title {}
  364,line 125
  342,t 0
  278 DETECTOR_
  390,title {}
  389,title {}
  279 WCS_
  280 WCSA_
  281 WCSB_
  363,t 0
  305,line 58
  282 WCSC_
  295,line 48
  265,t 0
  283 WCSD_
  361,line 122
  284 WCSE_
  384,t 1
  285 WCSF_
}

proc grid::yyparse {} {
    variable yylval
    variable table
    variable rules
    variable token
    variable yycnt
    variable lr1_table
    variable token_id_table
    variable yyerr
    variable save_state

    set yycnt 0
    set state_stack {0}
    set value_stack {{}}
    set token ""
    set accepted 0
    set yyerr 0
    set save_state 0

    while {$accepted == 0} {
        set state [lindex $state_stack end]
        if {$token == ""} {
            set yylval ""
            set token [yylex]
            set buflval $yylval
	    if {$token>0} {
	        incr yycnt
            }
        }
        if {![info exists table($state:$token)] || $yyerr} {
	    if {!$yyerr} {
	        set save_state $state
	    }
            # pop off states until error token accepted
            while {[llength $state_stack] > 0 && \
                       ![info exists table($state:error)]} {
                set state_stack [lrange $state_stack 0 end-1]
                set value_stack [lrange $value_stack 0 \
                                       [expr {[llength $state_stack] - 1}]]
                set state [lindex $state_stack end]
            }
            if {[llength $state_stack] == 0} {
 
	        set rr { }
                if {[info exists lr1_table($save_state,trans)] && [llength $lr1_table($save_state,trans)] >= 1} {
                    foreach trans $lr1_table($save_state,trans) {
                        foreach {tok_id nextstate} $trans {
			    set ss $token_id_table($tok_id,title)
			    if {$ss != {}} {
			        append rr "$ss, "
                            }
                        }
                    }
                }
		set rr [string trimleft $rr { }]
		set rr [string trimright $rr {, }]
                yyerror "parse error, expecting: $rr"


                return 1
            }
            lappend state_stack [set state $table($state:error,target)]
            lappend value_stack {}
            # consume tokens until it finds an acceptable one
            while {![info exists table($state:$token)]} {
                if {$token == 0} {
                    yyerror "end of file while recovering from error"
                    return 1
                }
                set yylval {}
                set token [yylex]
                set buflval $yylval
            }
            continue
        }
        switch -- $table($state:$token) {
            shift {
                lappend state_stack $table($state:$token,target)
                lappend value_stack $buflval
                set token ""
            }
            reduce {
                set rule $table($state:$token,target)
                set ll $rules($rule,l)
                if {[info exists rules($rule,e)]} {
                    set dc $rules($rule,e)
                } else {
                    set dc $rules($rule,dc)
                }
                set stackpointer [expr {[llength $state_stack]-$dc}]
                setupvalues $value_stack $stackpointer $dc
                set _ $1
                set yylval [lindex $value_stack end]
                switch -- $rule {
                    1 { set _ 1 }
                    2 { set _ 1 }
                    3 { set _ 1 }
                    4 { set _ 1 }
                    5 { set _ 0 }
                    6 { set _ 0 }
                    7 { set _ 0 }
                    8 { set _ times }
                    9 { set _ helvetica }
                    10 { set _ courier }
                    11 { set _ normal }
                    12 { set _ bold }
                    13 { set _ roman }
                    14 { set _ italic }
                    15 { set _ normal }
                    16 { set _ bold }
                    17 { set _ italic }
                    18 { set _ image }
                    19 { set _ physical }
                    20 { set _ amplifier }
                    21 { set _ detector }
                    22 { set _ wcs }
                    23 { set _ wcsa }
                    24 { set _ wcsb }
                    25 { set _ wcsc }
                    26 { set _ wcsd }
                    27 { set _ wcse }
                    28 { set _ wcsf }
                    29 { set _ wcsg }
                    30 { set _ wcsh }
                    31 { set _ wcsi }
                    32 { set _ wcsj }
                    33 { set _ wcsk }
                    34 { set _ wcsl }
                    35 { set _ wcsm }
                    36 { set _ wcsn }
                    37 { set _ wcso }
                    38 { set _ wcsp }
                    39 { set _ wcsq }
                    40 { set _ wcsr }
                    41 { set _ wcss }
                    42 { set _ wcst }
                    43 { set _ wcsu }
                    44 { set _ wcsv }
                    45 { set _ wcsw }
                    46 { set _ wcsx }
                    47 { set _ wcsy }
                    48 { set _ wcsz }
                    49 { set _ fk4 }
                    50 { set _ fk4 }
                    51 { set _ fk5 }
                    52 { set _ fk5 }
                    53 { set _ icrs }
                    54 { set _ galactic }
                    55 { set _ ecliptic }
                    56 { set _ degrees }
                    57 { set _ sexagesimal }
                    58 { set _ $1 }
                    59 { set _ $1 }
                    61 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} }
                    63 { set _ analysis }
                    64 { set _ publication }
                    65 { set _ interior }
                    66 { set _ exterior }
                    67 { ProcessCmdSet grid view $1 GridUpdateCurrent }
                    68 { GridDialog }
                    69 { GridDestroyDialog }
                    70 { GridUpdateCurrent }
                    71 { ProcessCmdSet grid system $2 GridUpdateCurrent }
                    72 { ProcessCmdSet grid sky $2 GridUpdateCurrent }
                    73 { ProcessCmdSet grid skyformat $2 GridUpdateCurrent }
                    74 { GridUpdateCurrent }
                    75 { ProcessCmdSet grid format1 $2 GridUpdateCurrent }
                    76 { ProcessCmdSet grid format2 $2 GridUpdateCurrent }
                    77 { GridUpdateCurrent }
                    78 { GridUpdateCurrent }
                    79 { GridUpdateCurrent }
                    80 { GridUpdateCurrent }
                    81 { GridUpdateCurrent }
                    82 { GridUpdateCurrent }
                    83 { GridUpdateCurrent }
                    84 { GridResetDialog }
                    85 { FileLast gridfbox $2; GridLoad $2 }
                    86 { FileLast gridfbox $2; GridSave $2 }
                    87 { ProcessCmdSet grid type $1 }
                    88 { ProcessCmdSet grid axes,type $2 }
                    89 { ProcessCmdSet grid numlab,type $2 }
                    90 { set _ $1 }
                    91 { set _ $1 }
                    92 { ProcessCmdSet grid grid $1 }
                    93 { ProcessCmdSet grid grid,color $2 }
                    94 { ProcessCmdSet grid grid,width $2 }
                    95 { ProcessCmdSet grid grid,style $2 }
                    96 { ProcessCmdSet grid grid,style $2 }
                    97 { ProcessCmdSet grid grid,gap1 $2 }
                    98 { ProcessCmdSet grid grid,gap2 $2 }
                    99 { ProcessCmdSet grid grid,gap3 $2 }
                    100 { ProcessCmdSet grid axes $1 }
                    101 { ProcessCmdSet grid axes,color $2 }
                    102 { ProcessCmdSet grid axes,width $2 }
                    103 { ProcessCmdSet grid axes,style $2 }
                    104 { ProcessCmdSet grid axes,style $2 }
                    105 { ProcessCmdSet grid axes,type $2 }
                    106 { ProcessCmdSet grid axes,origin $2 }
                    107 { set _ lll }
                    108 { set _ llu }
                    109 { set _ lul }
                    110 { set _ luu }
                    111 { set _ ull }
                    112 { set _ ulu }
                    113 { set _ uul }
                    114 { set _ uuu }
                    115 { ProcessCmdSet grid tick $1 }
                    116 { ProcessCmdSet grid tick,color $2 }
                    117 { ProcessCmdSet grid tick,width $2 }
                    118 { ProcessCmdSet grid tick,style $2 }
                    119 { ProcessCmdSet grid tick,style $2 }
                    120 { ProcessCmdSet grid border $1 }
                    121 { ProcessCmdSet grid border,color $2 }
                    122 { ProcessCmdSet grid border,width $2 }
                    123 { ProcessCmdSet grid border,style $2 }
                    124 { ProcessCmdSet grid border,style $2 }
                    125 { ProcessCmdSet grid numlab $1 }
                    126 { ProcessCmdSet grid numlab,font $2 }
                    127 { ProcessCmdSet grid numlab,size $2 }
                    128 { ProcessCmdSet grid numlab,weight $2 }
                    129 { ProcessCmdSet grid numlab,slant $2 }
                    130 { ProcessCmdFontStyle grid numlab $2 }
                    131 { ProcessCmdSet grid numlab,color $2 }
                    132 { ProcessCmdSet grid numlab,gap1 $2 }
                    133 { ProcessCmdSet grid numlab,gap2 $2 }
                    134 { ProcessCmdSet grid numlab,gap3 $2 }
                    135 { ProcessCmdSet grid numlab,type $2 }
                    136 { ProcessCmdSet grid numlab,vertical $2 }
                    137 { ProcessCmdSet grid title $1 }
                    138 { ProcessCmdSet grid title,text $2 }
                    139 { ProcessCmdSet grid title,def $2 }
                    140 { ProcessCmdSet grid title,gap $2 }
                    141 { ProcessCmdSet grid title,font $2 }
                    142 { ProcessCmdSet grid title,size $2 }
                    143 { ProcessCmdSet grid title,weight $2 }
                    144 { ProcessCmdSet grid title,slant $2 }
                    145 { ProcessCmdFontStyle grid title $2 }
                    146 { ProcessCmdSet grid title,color $2 }
                    147 { ProcessCmdSet grid textlab $1 }
                    148 { ProcessCmdSet grid textlab,text1 $2 }
                    149 { ProcessCmdSet grid textlab,text2 $2 }
                    150 { ProcessCmdSet grid textlab,def1 $2 }
                    151 { ProcessCmdSet grid textlab,def2 $2 }
                    152 { ProcessCmdSet grid textlab,gap1 $2 }
                    153 { ProcessCmdSet grid textlab,gap2 $2 }
                    154 { ProcessCmdSet grid textlab,font $2 }
                    155 { ProcessCmdSet grid textlab,size $2 }
                    156 { ProcessCmdSet grid textlab,weight $2 }
                    157 { ProcessCmdSet grid textlab,slant $2 }
                    158 { ProcessCmdFontStyle grid textlab $2 }
                    159 { ProcessCmdSet grid textlab,color $2 }
                    160 { ProcessCmdSet grid grid $1 }
                    162 { ProcessCmdSet grid title $2 }
                    163 { ProcessCmdSet grid border $2 }
                    164 { ProcessCmdSet grid numlab,vertical $2 }
                    165 { ProcessCmdSet grid axes $1 }
                    166 { ProcessCmdSet grid numlab $2 }
                    167 { ProcessCmdSet grid tick $2 }
                    168 { ProcessCmdSet grid textlab $2 }
                }
                unsetupvalues $dc
                # pop off tokens from the stack if normal rule
                if {![info exists rules($rule,e)]} {
                    incr stackpointer -1
                    set state_stack [lrange $state_stack 0 $stackpointer]
                    set value_stack [lrange $value_stack 0 $stackpointer]
                }
                # now do the goto transition
                lappend state_stack $table([lindex $state_stack end]:$ll,target)
                lappend value_stack $_
            }
            accept {
                set accepted 1
            }
            goto -
            default {
                puts stderr "Internal parser error: illegal command $table($state:$token)"
                return 2
            }
        }
    }
    return 0
}

######
# end autogenerated taccle functions
######

proc grid::yyerror {msg} {
     variable yycnt
     variable yy_current_buffer
     variable index_

     ParserError $msg $yycnt $yy_current_buffer $index_
}