Coverage Report

Created: 2025-08-24 06:56

/src/readstat/src/txt/readstat_spss_commands_read.c
Line
Count
Source (jump to first uncovered line)
1
#line 1 "src/txt/readstat_spss_commands_read.rl"
2
#include <stdlib.h>
3
#include <inttypes.h>
4
5
#include "../readstat.h"
6
#include "../readstat_strings.h"
7
#include "readstat_schema.h"
8
9
#include "readstat_copy.h"
10
#include "commands_util.h"
11
12
13
#line 14 "src/txt/readstat_spss_commands_read.c"
14
static const signed char _spss_commands_actions[] = {
15
  0, 1, 1, 1, 2, 1, 4, 1,
16
  8, 1, 12, 1, 13, 1, 15, 1,
17
  16, 1, 17, 1, 18, 1, 19, 1,
18
  20, 1, 21, 1, 22, 1, 27, 1,
19
  30, 1, 31, 1, 32, 1, 34, 2,
20
  0, 1, 2, 1, 0, 2, 2, 28,
21
  2, 2, 29, 2, 3, 28, 2, 3,
22
  29, 2, 4, 9, 2, 4, 12, 2,
23
  4, 14, 2, 4, 20, 2, 8, 20,
24
  2, 15, 16, 2, 17, 18, 2, 19,
25
  13, 2, 19, 20, 2, 21, 6, 2,
26
  21, 7, 2, 21, 12, 2, 21, 20,
27
  2, 23, 8, 2, 24, 8, 2, 25,
28
  8, 2, 26, 8, 3, 4, 0, 1,
29
  3, 4, 14, 13, 3, 4, 35, 5,
30
  3, 19, 0, 1, 3, 19, 8, 20,
31
  3, 21, 0, 1, 3, 21, 1, 0,
32
  3, 21, 6, 11, 3, 21, 12, 6,
33
  3, 33, 0, 1, 4, 19, 33, 0,
34
  1, 4, 21, 6, 10, 11, 4, 21,
35
  6, 11, 10, 0
36
};
37
38
static const short _spss_commands_key_offsets[] = {
39
  0, 0, 1, 2, 7, 9, 10, 11,
40
  13, 14, 15, 16, 17, 18, 19, 20,
41
  21, 25, 27, 29, 35, 41, 47, 48,
42
  50, 52, 54, 58, 68, 78, 79, 81,
43
  85, 87, 92, 97, 98, 109, 124, 139,
44
  140, 141, 142, 147, 158, 169, 170, 176,
45
  184, 192, 193, 204, 210, 216, 217, 224,
46
  233, 242, 243, 247, 250, 254, 262, 270,
47
  271, 282, 288, 294, 295, 304, 315, 326,
48
  327, 331, 334, 340, 350, 360, 361, 365,
49
  367, 371, 377, 383, 384, 386, 388, 390,
50
  392, 396, 402, 408, 409, 411, 413, 415,
51
  417, 419, 421, 426, 431, 432, 434, 436,
52
  438, 440, 442, 446, 448, 450, 454, 460,
53
  466, 467, 469, 471, 473, 475, 477, 481,
54
  490, 499, 500, 504, 516, 521, 526, 527,
55
  539, 551, 552, 553, 554, 560, 566, 572,
56
  573, 574, 575, 583, 596, 607, 612, 617,
57
  618, 620, 622, 624, 626, 628, 632, 640,
58
  648, 649, 660, 669, 678, 679, 680, 682,
59
  685, 687, 690, 695, 701, 707, 708, 710,
60
  712, 716, 724, 732, 733, 735, 737, 739,
61
  743, 748, 753, 754, 760, 772, 777, 782,
62
  783, 795, 807, 808, 809, 810, 816, 822,
63
  828, 829, 830, 831, 839, 852, 866, 880,
64
  894, 908, 922, 936, 950, 964, 976, 981,
65
  986, 987, 999, 1011, 1012, 1025, 1037, 1049,
66
  1050, 1054, 1062, 1072, 1082, 1083, 1094, 1104,
67
  1114, 1115, 1117, 1119, 1121, 1123, 1131, 1133,
68
  1141, 1149, 1151, 1153, 1155, 1157, 1159, 1161,
69
  1163, 1165, 1167, 1171, 1177, 1183, 1184, 1186,
70
  1188, 1190, 1192, 1194, 1198, 1206, 1214, 1215,
71
  1226, 1231, 1236, 1237, 1239, 1240, 1241, 1242,
72
  1247, 1256, 1265, 1266, 1267, 1268, 1270, 1272,
73
  1274, 1276, 1278, 1282, 1290, 1298, 1299, 1310,
74
  1315, 1320, 1321, 1324, 1326, 1334, 1341, 1348,
75
  1349, 1351, 1358, 1363, 1368, 1369, 1370, 1371,
76
  1372, 1373, 1374, 1379, 1384, 1385, 1389, 1391,
77
  1393, 1397, 1405, 1413, 1414, 1416, 1418, 1420,
78
  1422, 1424, 1426, 1428, 1430, 1432, 1439, 1446,
79
  1447, 1448, 1449, 1455, 1461, 1467, 1468, 1473,
80
  1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485,
81
  1486, 1487, 1488, 1495, 1502, 1503, 1504, 1505,
82
  1511, 1517, 1518, 1520, 1522, 1524, 1526, 1528,
83
  1530, 1534, 1536, 1538, 1540, 1544, 1550, 1556,
84
  1557, 1559, 1563, 1578, 1594, 1610, 1611, 1612,
85
  1613, 1629, 1630, 1631, 1633, 1649, 1666, 1683,
86
  1698, 1699, 1703, 1711, 1719, 1720, 1732, 1737,
87
  1742, 1743, 1755, 1767, 1768, 1769, 1770, 1775,
88
  1776, 1777, 1784, 1796, 1798, 1802, 1804, 1806,
89
  1810, 1816, 1822, 1823, 1825, 1827, 1829, 1831,
90
  1833, 1837, 1846, 1855, 1856, 1864, 1872, 1873,
91
  1884, 1898, 1912, 1913, 1914, 1915, 1919, 1925,
92
  1931, 1932, 1933, 1934, 1940, 1951, 1962, 1963,
93
  1964, 1965, 1967, 1973, 1984, 1995, 1996, 2009,
94
  2022, 2035, 2048, 2061, 2074, 2087, 2098, 2114,
95
  2130, 2131, 2135, 2141, 2148, 2155, 2156, 2157,
96
  2158, 2162, 2168, 2174, 2175, 2181, 2192, 2205,
97
  2218, 2231, 2244, 2255, 2269, 2283, 2284, 2295,
98
  2310, 2325, 2326, 2332, 2334, 2336, 2338, 2340,
99
  2342, 2344, 2345, 2351, 2357, 2358, 2366, 2374,
100
  2375, 2386, 2395, 2404, 2405, 2416, 2418, 2420,
101
  2422, 2424, 2426, 2428, 2439, 2441, 2443, 2445,
102
  2447, 2449, 2453, 2459, 2465, 2466, 2468, 2470,
103
  2472, 2474, 2480, 2488, 2496, 2497, 2508, 2514,
104
  2520, 2521, 2522, 2523, 2529, 2539, 2549, 2550,
105
  2555, 2564, 2573, 2574, 2575, 2576, 2580, 2582,
106
  2584, 2586, 2588, 2596, 2598, 2600, 2602, 2609,
107
  2616, 2617, 2623, 2629, 2630, 2633, 2639, 2642,
108
  2648, 2654, 2655, 2663, 2666, 2670, 2673, 2679,
109
  2685, 2686, 2692, 2698, 2700, 2702, 2704, 2706,
110
  2708, 2715, 2720, 2725, 2726, 2732, 2738, 2739,
111
  2746, 2748, 2750, 2752, 2754, 2759, 2760, 2761,
112
  2773, 2787, 2801, 2815, 2828, 2840, 2852, 2853,
113
  2867, 2881, 2895, 2909, 2923, 2938, 2950, 2962,
114
  2963, 2976, 2978, 2980, 2982, 2984, 2988, 2994,
115
  3000, 3001, 3003, 3005, 3007, 3011, 3021, 3031,
116
  3032, 3033, 3034, 3039, 3045, 3051, 3052, 3054,
117
  3056, 3058, 3060, 3062, 3067, 3072, 3073, 3081,
118
  3089, 3090, 3102, 3103, 3104, 3106, 3108, 3110,
119
  3112, 3114, 3119, 3128, 3137, 3138, 3150, 3177,
120
  3204, 3231, 0
121
};
122
123
static const char _spss_commands_trans_keys[] = {
124
  10, 46, 9, 10, 13, 32, 46, 10,
125
  46, 42, 42, 42, 47, 79, 77, 77,
126
  69, 78, 84, 32, 46, 65, 73, 97,
127
  105, 84, 116, 65, 97, 9, 10, 13,
128
  32, 83, 115, 9, 10, 13, 32, 76,
129
  108, 9, 10, 13, 32, 76, 108, 10,
130
  73, 105, 83, 115, 84, 116, 9, 10,
131
  13, 32, 9, 10, 13, 32, 70, 82,
132
  84, 102, 114, 116, 9, 10, 13, 32,
133
  70, 82, 84, 102, 114, 116, 10, 73,
134
  105, 76, 88, 108, 120, 69, 101, 9,
135
  10, 13, 32, 61, 9, 10, 13, 32,
136
  61, 10, 9, 10, 13, 32, 34, 39,
137
  47, 65, 90, 97, 122, 9, 10, 13,
138
  32, 34, 39, 47, 70, 82, 102, 114,
139
  65, 90, 97, 122, 9, 10, 13, 32,
140
  34, 39, 47, 70, 82, 102, 114, 65,
141
  90, 97, 122, 10, 34, 34, 9, 10,
142
  13, 32, 47, 9, 10, 13, 32, 47,
143
  70, 82, 84, 102, 114, 116, 9, 10,
144
  13, 32, 47, 70, 82, 84, 102, 114,
145
  116, 10, 9, 10, 13, 32, 48, 57,
146
  9, 10, 13, 32, 65, 90, 97, 122,
147
  9, 10, 13, 32, 65, 90, 97, 122,
148
  10, 9, 10, 13, 32, 95, 48, 57,
149
  65, 90, 97, 122, 9, 10, 13, 32,
150
  48, 57, 9, 10, 13, 32, 48, 57,
151
  10, 9, 10, 13, 32, 45, 48, 57,
152
  9, 10, 13, 32, 40, 65, 90, 97,
153
  122, 9, 10, 13, 32, 40, 65, 90,
154
  97, 122, 10, 65, 97, 48, 57, 41,
155
  48, 57, 9, 10, 13, 32, 9, 10,
156
  13, 32, 65, 90, 97, 122, 9, 10,
157
  13, 32, 65, 90, 97, 122, 10, 9,
158
  10, 13, 32, 95, 48, 57, 65, 90,
159
  97, 122, 9, 10, 13, 32, 48, 57,
160
  9, 10, 13, 32, 48, 57, 10, 9,
161
  10, 13, 32, 45, 46, 47, 48, 57,
162
  9, 10, 13, 32, 40, 46, 47, 65,
163
  90, 97, 122, 9, 10, 13, 32, 40,
164
  46, 47, 65, 90, 97, 122, 10, 65,
165
  97, 48, 57, 41, 48, 57, 9, 10,
166
  13, 32, 46, 47, 9, 10, 13, 32,
167
  46, 47, 65, 90, 97, 122, 9, 10,
168
  13, 32, 46, 47, 65, 90, 97, 122,
169
  10, 78, 88, 110, 120, 68, 100, 9,
170
  10, 13, 32, 9, 10, 13, 32, 73,
171
  105, 9, 10, 13, 32, 73, 105, 10,
172
  78, 110, 80, 112, 85, 117, 84, 116,
173
  9, 10, 13, 32, 9, 10, 13, 32,
174
  80, 112, 9, 10, 13, 32, 80, 112,
175
  10, 82, 114, 79, 111, 71, 103, 82,
176
  114, 65, 97, 77, 109, 9, 10, 13,
177
  32, 46, 9, 10, 13, 32, 46, 10,
178
  69, 101, 67, 99, 85, 117, 84, 116,
179
  69, 101, 73, 79, 105, 111, 76, 108,
180
  69, 101, 9, 10, 13, 32, 9, 10,
181
  13, 32, 72, 104, 9, 10, 13, 32,
182
  72, 104, 10, 65, 97, 78, 110, 68,
183
  100, 76, 108, 69, 101, 9, 10, 13,
184
  32, 9, 10, 13, 32, 47, 65, 90,
185
  97, 122, 9, 10, 13, 32, 47, 65,
186
  90, 97, 122, 10, 65, 90, 97, 122,
187
  9, 10, 13, 32, 61, 95, 48, 57,
188
  65, 90, 97, 122, 9, 10, 13, 32,
189
  61, 9, 10, 13, 32, 61, 10, 9,
190
  10, 13, 32, 34, 39, 48, 57, 65,
191
  90, 97, 122, 9, 10, 13, 32, 34,
192
  39, 48, 57, 65, 90, 97, 122, 10,
193
  34, 34, 9, 10, 13, 32, 46, 47,
194
  9, 10, 13, 32, 46, 47, 9, 10,
195
  13, 32, 46, 47, 10, 39, 39, 9,
196
  10, 13, 32, 46, 47, 48, 57, 9,
197
  10, 13, 32, 46, 47, 95, 48, 57,
198
  65, 90, 97, 122, 9, 10, 13, 32,
199
  95, 48, 57, 65, 90, 97, 122, 9,
200
  10, 13, 32, 47, 9, 10, 13, 32,
201
  47, 10, 82, 114, 77, 109, 65, 97,
202
  84, 116, 83, 115, 9, 10, 13, 32,
203
  9, 10, 13, 32, 65, 90, 97, 122,
204
  9, 10, 13, 32, 65, 90, 97, 122,
205
  10, 9, 10, 13, 32, 95, 48, 57,
206
  65, 90, 97, 122, 9, 10, 13, 32,
207
  40, 65, 90, 97, 122, 9, 10, 13,
208
  32, 40, 65, 90, 97, 122, 10, 70,
209
  48, 57, 46, 48, 57, 48, 57, 41,
210
  48, 57, 9, 10, 13, 32, 46, 9,
211
  10, 13, 32, 46, 47, 9, 10, 13,
212
  32, 46, 47, 10, 69, 101, 84, 116,
213
  9, 10, 13, 32, 9, 10, 13, 32,
214
  68, 70, 100, 102, 9, 10, 13, 32,
215
  68, 70, 100, 102, 10, 65, 97, 84,
216
  116, 65, 97, 9, 10, 13, 32, 9,
217
  10, 13, 32, 47, 9, 10, 13, 32,
218
  47, 10, 86, 118, 65, 90, 97, 122,
219
  9, 10, 13, 32, 61, 95, 48, 57,
220
  65, 90, 97, 122, 9, 10, 13, 32,
221
  61, 9, 10, 13, 32, 61, 10, 9,
222
  10, 13, 32, 34, 39, 48, 57, 65,
223
  90, 97, 122, 9, 10, 13, 32, 34,
224
  39, 48, 57, 65, 90, 97, 122, 10,
225
  34, 34, 9, 10, 13, 32, 46, 47,
226
  9, 10, 13, 32, 46, 47, 9, 10,
227
  13, 32, 46, 47, 10, 39, 39, 9,
228
  10, 13, 32, 46, 47, 48, 57, 9,
229
  10, 13, 32, 46, 47, 95, 48, 57,
230
  65, 90, 97, 122, 9, 10, 13, 32,
231
  61, 65, 95, 97, 48, 57, 66, 90,
232
  98, 122, 9, 10, 13, 32, 61, 82,
233
  95, 114, 48, 57, 65, 90, 97, 122,
234
  9, 10, 13, 32, 61, 73, 95, 105,
235
  48, 57, 65, 90, 97, 122, 9, 10,
236
  13, 32, 61, 65, 95, 97, 48, 57,
237
  66, 90, 98, 122, 9, 10, 13, 32,
238
  61, 66, 95, 98, 48, 57, 65, 90,
239
  97, 122, 9, 10, 13, 32, 61, 76,
240
  95, 108, 48, 57, 65, 90, 97, 122,
241
  9, 10, 13, 32, 61, 69, 95, 101,
242
  48, 57, 65, 90, 97, 122, 9, 10,
243
  13, 32, 61, 83, 95, 115, 48, 57,
244
  65, 90, 97, 122, 9, 10, 13, 32,
245
  61, 95, 48, 57, 65, 90, 97, 122,
246
  9, 10, 13, 32, 61, 9, 10, 13,
247
  32, 61, 10, 9, 10, 13, 32, 34,
248
  39, 48, 57, 65, 90, 97, 122, 9,
249
  10, 13, 32, 34, 39, 48, 57, 65,
250
  90, 97, 122, 10, 9, 10, 13, 32,
251
  46, 47, 95, 48, 57, 65, 90, 97,
252
  122, 9, 10, 13, 32, 46, 47, 65,
253
  68, 70, 97, 100, 102, 9, 10, 13,
254
  32, 46, 47, 65, 68, 70, 97, 100,
255
  102, 10, 68, 100, 48, 57, 9, 10,
256
  13, 32, 46, 47, 48, 57, 9, 10,
257
  13, 32, 46, 47, 65, 90, 97, 122,
258
  9, 10, 13, 32, 46, 47, 65, 90,
259
  97, 122, 10, 9, 10, 13, 32, 95,
260
  48, 57, 65, 90, 97, 122, 9, 10,
261
  13, 32, 65, 68, 70, 97, 100, 102,
262
  9, 10, 13, 32, 65, 68, 70, 97,
263
  100, 102, 10, 65, 97, 84, 116, 69,
264
  101, 48, 57, 9, 10, 13, 32, 46,
265
  47, 48, 57, 48, 57, 9, 10, 13,
266
  32, 46, 47, 48, 57, 9, 10, 13,
267
  32, 46, 47, 48, 57, 73, 105, 83,
268
  115, 84, 116, 73, 105, 83, 115, 83,
269
  115, 73, 105, 78, 110, 71, 103, 9,
270
  10, 13, 32, 9, 10, 13, 32, 86,
271
  118, 9, 10, 13, 32, 86, 118, 10,
272
  65, 97, 76, 108, 85, 117, 69, 101,
273
  83, 115, 9, 10, 13, 32, 9, 10,
274
  13, 32, 65, 90, 97, 122, 9, 10,
275
  13, 32, 65, 90, 97, 122, 10, 9,
276
  10, 13, 32, 95, 48, 57, 65, 90,
277
  97, 122, 9, 10, 13, 32, 40, 9,
278
  10, 13, 32, 40, 10, 34, 39, 34,
279
  34, 41, 9, 10, 13, 32, 46, 9,
280
  10, 13, 32, 46, 65, 90, 97, 122,
281
  9, 10, 13, 32, 46, 65, 90, 97,
282
  122, 10, 39, 39, 69, 101, 67, 99,
283
  79, 111, 68, 100, 69, 101, 9, 10,
284
  13, 32, 9, 10, 13, 32, 65, 90,
285
  97, 122, 9, 10, 13, 32, 65, 90,
286
  97, 122, 10, 9, 10, 13, 32, 95,
287
  48, 57, 65, 90, 97, 122, 9, 10,
288
  13, 32, 40, 9, 10, 13, 32, 40,
289
  10, 45, 48, 57, 48, 57, 9, 10,
290
  13, 32, 46, 61, 48, 57, 9, 10,
291
  13, 32, 45, 48, 57, 9, 10, 13,
292
  32, 45, 48, 57, 10, 48, 57, 9,
293
  10, 13, 32, 61, 48, 57, 9, 10,
294
  13, 32, 83, 9, 10, 13, 32, 83,
295
  10, 89, 83, 77, 73, 83, 9, 10,
296
  13, 32, 41, 9, 10, 13, 32, 41,
297
  10, 65, 69, 97, 101, 86, 118, 69,
298
  101, 9, 10, 13, 32, 9, 10, 13,
299
  32, 68, 79, 100, 111, 9, 10, 13,
300
  32, 68, 79, 100, 111, 10, 73, 105,
301
  67, 99, 84, 116, 73, 105, 79, 111,
302
  78, 110, 65, 97, 82, 114, 89, 121,
303
  9, 10, 13, 32, 34, 39, 61, 9,
304
  10, 13, 32, 34, 39, 61, 10, 34,
305
  34, 9, 10, 13, 32, 46, 47, 9,
306
  10, 13, 32, 46, 47, 9, 10, 13,
307
  32, 46, 47, 10, 9, 10, 13, 32,
308
  67, 9, 10, 13, 32, 67, 10, 79,
309
  77, 80, 82, 69, 83, 83, 69, 68,
310
  9, 10, 13, 32, 46, 47, 67, 9,
311
  10, 13, 32, 46, 47, 67, 10, 39,
312
  39, 9, 10, 13, 32, 34, 39, 9,
313
  10, 13, 32, 34, 39, 10, 85, 117,
314
  84, 116, 70, 102, 73, 105, 76, 108,
315
  69, 101, 76, 84, 108, 116, 69, 101,
316
  67, 99, 84, 116, 9, 10, 13, 32,
317
  9, 10, 13, 32, 73, 105, 9, 10,
318
  13, 32, 73, 105, 10, 70, 102, 9,
319
  10, 13, 32, 9, 10, 13, 32, 34,
320
  39, 45, 40, 41, 48, 57, 65, 90,
321
  97, 122, 9, 10, 13, 32, 34, 39,
322
  45, 46, 40, 41, 48, 57, 65, 90,
323
  97, 122, 9, 10, 13, 32, 34, 39,
324
  45, 46, 40, 41, 48, 57, 65, 90,
325
  97, 122, 10, 34, 34, 9, 10, 13,
326
  32, 34, 39, 45, 46, 40, 41, 48,
327
  57, 65, 90, 97, 122, 39, 39, 48,
328
  57, 9, 10, 13, 32, 34, 39, 45,
329
  46, 40, 41, 48, 57, 65, 90, 97,
330
  122, 9, 10, 13, 32, 34, 39, 45,
331
  46, 95, 40, 41, 48, 57, 65, 90,
332
  97, 122, 9, 10, 13, 32, 34, 39,
333
  45, 46, 95, 40, 41, 48, 57, 65,
334
  90, 97, 122, 9, 10, 13, 32, 34,
335
  39, 45, 40, 41, 48, 57, 65, 90,
336
  97, 122, 10, 9, 10, 13, 32, 9,
337
  10, 13, 32, 65, 90, 97, 122, 9,
338
  10, 13, 32, 65, 90, 97, 122, 10,
339
  9, 10, 13, 32, 61, 95, 48, 57,
340
  65, 90, 97, 122, 9, 10, 13, 32,
341
  61, 9, 10, 13, 32, 61, 10, 9,
342
  10, 13, 32, 34, 39, 48, 57, 65,
343
  90, 97, 122, 9, 10, 13, 32, 34,
344
  39, 48, 57, 65, 90, 97, 122, 10,
345
  34, 34, 9, 10, 13, 32, 46, 39,
346
  39, 9, 10, 13, 32, 46, 48, 57,
347
  9, 10, 13, 32, 46, 95, 48, 57,
348
  65, 90, 97, 122, 65, 97, 76, 82,
349
  108, 114, 85, 117, 69, 101, 9, 10,
350
  13, 32, 9, 10, 13, 32, 76, 108,
351
  9, 10, 13, 32, 76, 108, 10, 65,
352
  97, 66, 98, 69, 101, 76, 108, 83,
353
  115, 9, 10, 13, 32, 9, 10, 13,
354
  32, 47, 65, 90, 97, 122, 9, 10,
355
  13, 32, 47, 65, 90, 97, 122, 10,
356
  9, 10, 13, 32, 65, 90, 97, 122,
357
  9, 10, 13, 32, 65, 90, 97, 122,
358
  10, 9, 10, 13, 32, 95, 48, 57,
359
  65, 90, 97, 122, 9, 10, 13, 32,
360
  34, 39, 45, 46, 48, 57, 65, 90,
361
  97, 122, 9, 10, 13, 32, 34, 39,
362
  45, 46, 48, 57, 65, 90, 97, 122,
363
  10, 34, 34, 9, 10, 13, 32, 9,
364
  10, 13, 32, 34, 39, 9, 10, 13,
365
  32, 34, 39, 10, 34, 34, 9, 10,
366
  13, 32, 46, 47, 9, 10, 13, 32,
367
  34, 39, 45, 46, 47, 48, 57, 9,
368
  10, 13, 32, 34, 39, 45, 46, 47,
369
  48, 57, 10, 39, 39, 48, 57, 9,
370
  10, 13, 32, 48, 57, 9, 10, 13,
371
  32, 46, 86, 118, 65, 90, 97, 122,
372
  9, 10, 13, 32, 46, 86, 118, 65,
373
  90, 97, 122, 10, 9, 10, 13, 32,
374
  65, 95, 97, 48, 57, 66, 90, 98,
375
  122, 9, 10, 13, 32, 82, 95, 114,
376
  48, 57, 65, 90, 97, 122, 9, 10,
377
  13, 32, 73, 95, 105, 48, 57, 65,
378
  90, 97, 122, 9, 10, 13, 32, 65,
379
  95, 97, 48, 57, 66, 90, 98, 122,
380
  9, 10, 13, 32, 66, 95, 98, 48,
381
  57, 65, 90, 97, 122, 9, 10, 13,
382
  32, 76, 95, 108, 48, 57, 65, 90,
383
  97, 122, 9, 10, 13, 32, 69, 95,
384
  101, 48, 57, 65, 90, 97, 122, 9,
385
  10, 13, 32, 95, 48, 57, 65, 90,
386
  97, 122, 9, 10, 13, 32, 34, 39,
387
  45, 46, 76, 108, 48, 57, 65, 90,
388
  97, 122, 9, 10, 13, 32, 34, 39,
389
  45, 46, 76, 108, 48, 57, 65, 90,
390
  97, 122, 10, 9, 10, 13, 32, 9,
391
  10, 13, 32, 48, 57, 9, 10, 13,
392
  32, 34, 39, 45, 9, 10, 13, 32,
393
  34, 39, 45, 10, 39, 39, 9, 10,
394
  13, 32, 9, 10, 13, 32, 48, 57,
395
  9, 10, 13, 32, 48, 57, 10, 9,
396
  10, 13, 32, 48, 57, 9, 10, 13,
397
  32, 95, 48, 57, 65, 90, 97, 122,
398
  9, 10, 13, 32, 69, 95, 101, 48,
399
  57, 65, 90, 97, 122, 9, 10, 13,
400
  32, 86, 95, 118, 48, 57, 65, 90,
401
  97, 122, 9, 10, 13, 32, 69, 95,
402
  101, 48, 57, 65, 90, 97, 122, 9,
403
  10, 13, 32, 76, 95, 108, 48, 57,
404
  65, 90, 97, 122, 9, 10, 13, 32,
405
  95, 48, 57, 65, 90, 97, 122, 9,
406
  10, 13, 32, 34, 39, 45, 46, 48,
407
  57, 65, 90, 97, 122, 9, 10, 13,
408
  32, 34, 39, 45, 46, 48, 57, 65,
409
  90, 97, 122, 10, 9, 10, 13, 32,
410
  95, 48, 57, 65, 90, 97, 122, 9,
411
  10, 13, 32, 34, 39, 40, 45, 46,
412
  48, 57, 65, 90, 97, 122, 9, 10,
413
  13, 32, 34, 39, 40, 45, 46, 48,
414
  57, 65, 90, 97, 122, 10, 78, 79,
415
  83, 110, 111, 115, 79, 111, 77, 109,
416
  73, 105, 78, 110, 65, 97, 76, 108,
417
  41, 9, 10, 13, 32, 46, 47, 9,
418
  10, 13, 32, 46, 47, 10, 9, 10,
419
  13, 32, 65, 90, 97, 122, 9, 10,
420
  13, 32, 65, 90, 97, 122, 10, 9,
421
  10, 13, 32, 95, 48, 57, 65, 90,
422
  97, 122, 9, 10, 13, 32, 40, 65,
423
  90, 97, 122, 9, 10, 13, 32, 40,
424
  65, 90, 97, 122, 10, 9, 10, 13,
425
  32, 95, 48, 57, 65, 90, 97, 122,
426
  82, 114, 68, 100, 67, 99, 65, 97,
427
  76, 108, 69, 101, 9, 10, 13, 32,
428
  95, 48, 57, 65, 90, 97, 122, 73,
429
  105, 65, 97, 66, 98, 76, 108, 69,
430
  101, 9, 10, 13, 32, 9, 10, 13,
431
  32, 76, 108, 9, 10, 13, 32, 76,
432
  108, 10, 65, 97, 66, 98, 69, 101,
433
  76, 108, 9, 10, 13, 32, 83, 115,
434
  9, 10, 13, 32, 65, 90, 97, 122,
435
  9, 10, 13, 32, 65, 90, 97, 122,
436
  10, 9, 10, 13, 32, 95, 48, 57,
437
  65, 90, 97, 122, 9, 10, 13, 32,
438
  34, 39, 9, 10, 13, 32, 34, 39,
439
  10, 34, 34, 9, 10, 13, 32, 46,
440
  47, 9, 10, 13, 32, 46, 47, 65,
441
  90, 97, 122, 9, 10, 13, 32, 46,
442
  47, 65, 90, 97, 122, 10, 9, 10,
443
  13, 32, 46, 9, 10, 13, 32, 46,
444
  65, 90, 97, 122, 9, 10, 13, 32,
445
  46, 65, 90, 97, 122, 10, 39, 39,
446
  9, 10, 13, 32, 65, 97, 84, 116,
447
  69, 101, 48, 57, 9, 10, 13, 32,
448
  46, 47, 48, 57, 73, 105, 76, 108,
449
  69, 101, 9, 10, 13, 32, 34, 39,
450
  61, 9, 10, 13, 32, 34, 39, 61,
451
  10, 9, 10, 13, 32, 34, 39, 9,
452
  10, 13, 32, 34, 39, 10, 41, 48,
453
  57, 9, 10, 13, 32, 46, 47, 41,
454
  48, 57, 9, 10, 13, 32, 48, 57,
455
  9, 10, 13, 32, 48, 57, 10, 9,
456
  10, 13, 32, 46, 47, 48, 57, 41,
457
  48, 57, 9, 10, 13, 32, 41, 48,
458
  57, 9, 10, 13, 32, 48, 57, 9,
459
  10, 13, 32, 48, 57, 10, 9, 10,
460
  13, 32, 48, 57, 9, 10, 13, 32,
461
  48, 57, 69, 101, 67, 99, 79, 111,
462
  82, 114, 68, 100, 9, 10, 13, 32,
463
  61, 83, 115, 9, 10, 13, 32, 61,
464
  9, 10, 13, 32, 61, 10, 9, 10,
465
  13, 32, 48, 57, 9, 10, 13, 32,
466
  48, 57, 10, 9, 10, 13, 32, 47,
467
  48, 57, 65, 97, 66, 98, 76, 108,
468
  69, 101, 9, 10, 13, 32, 47, 39,
469
  39, 9, 10, 13, 32, 47, 95, 48,
470
  57, 65, 90, 97, 122, 9, 10, 13,
471
  32, 47, 73, 95, 105, 48, 57, 65,
472
  90, 97, 122, 9, 10, 13, 32, 47,
473
  76, 95, 108, 48, 57, 65, 90, 97,
474
  122, 9, 10, 13, 32, 47, 69, 95,
475
  101, 48, 57, 65, 90, 97, 122, 9,
476
  10, 13, 32, 47, 61, 95, 48, 57,
477
  65, 90, 97, 122, 9, 10, 13, 32,
478
  47, 61, 70, 82, 84, 102, 114, 116,
479
  9, 10, 13, 32, 47, 61, 70, 82,
480
  84, 102, 114, 116, 10, 9, 10, 13,
481
  32, 47, 69, 95, 101, 48, 57, 65,
482
  90, 97, 122, 9, 10, 13, 32, 47,
483
  67, 95, 99, 48, 57, 65, 90, 97,
484
  122, 9, 10, 13, 32, 47, 79, 95,
485
  111, 48, 57, 65, 90, 97, 122, 9,
486
  10, 13, 32, 47, 82, 95, 114, 48,
487
  57, 65, 90, 97, 122, 9, 10, 13,
488
  32, 47, 68, 95, 100, 48, 57, 65,
489
  90, 97, 122, 9, 10, 13, 32, 47,
490
  61, 83, 95, 115, 48, 57, 65, 90,
491
  97, 122, 9, 10, 13, 32, 47, 61,
492
  70, 82, 84, 102, 114, 116, 9, 10,
493
  13, 32, 47, 61, 70, 82, 84, 102,
494
  114, 116, 10, 9, 10, 13, 32, 47,
495
  61, 95, 48, 57, 65, 90, 97, 122,
496
  69, 101, 68, 100, 69, 101, 84, 116,
497
  9, 10, 13, 32, 9, 10, 13, 32,
498
  78, 110, 9, 10, 13, 32, 78, 110,
499
  10, 65, 97, 77, 109, 69, 101, 9,
500
  10, 13, 32, 9, 10, 13, 32, 34,
501
  39, 65, 90, 97, 122, 9, 10, 13,
502
  32, 34, 39, 65, 90, 97, 122, 10,
503
  34, 34, 9, 10, 13, 32, 46, 9,
504
  10, 13, 32, 87, 119, 9, 10, 13,
505
  32, 87, 119, 10, 73, 105, 78, 110,
506
  68, 100, 79, 111, 87, 119, 9, 10,
507
  13, 32, 61, 9, 10, 13, 32, 61,
508
  10, 9, 10, 13, 32, 65, 90, 97,
509
  122, 9, 10, 13, 32, 65, 90, 97,
510
  122, 10, 9, 10, 13, 32, 46, 95,
511
  48, 57, 65, 90, 97, 122, 39, 39,
512
  83, 115, 80, 112, 76, 108, 65, 97,
513
  89, 121, 9, 10, 13, 32, 46, 9,
514
  10, 13, 32, 46, 65, 90, 97, 122,
515
  9, 10, 13, 32, 46, 65, 90, 97,
516
  122, 10, 9, 10, 13, 32, 46, 95,
517
  48, 57, 65, 90, 97, 122, 9, 10,
518
  13, 32, 42, 47, 67, 68, 69, 70,
519
  71, 73, 76, 77, 82, 83, 86, 100,
520
  101, 102, 103, 105, 108, 109, 114, 115,
521
  118, 9, 10, 13, 32, 42, 47, 67,
522
  68, 69, 70, 71, 73, 76, 77, 82,
523
  83, 86, 100, 101, 102, 103, 105, 108,
524
  109, 114, 115, 118, 9, 10, 13, 32,
525
  42, 47, 67, 68, 69, 70, 71, 73,
526
  76, 77, 82, 83, 86, 100, 101, 102,
527
  103, 105, 108, 109, 114, 115, 118, 9,
528
  10, 13, 32, 42, 47, 67, 68, 69,
529
  70, 71, 73, 76, 77, 82, 83, 86,
530
  100, 101, 102, 103, 105, 108, 109, 114,
531
  115, 118, 48, 57, 0
532
};
533
534
static const signed char _spss_commands_single_lengths[] = {
535
  0, 1, 1, 5, 2, 1, 1, 2,
536
  1, 1, 1, 1, 1, 1, 1, 1,
537
  4, 2, 2, 6, 6, 6, 1, 2,
538
  2, 2, 4, 10, 10, 1, 2, 4,
539
  2, 5, 5, 1, 7, 11, 11, 1,
540
  1, 1, 5, 11, 11, 1, 4, 4,
541
  4, 1, 5, 4, 4, 1, 5, 5,
542
  5, 1, 2, 1, 4, 4, 4, 1,
543
  5, 4, 4, 1, 7, 7, 7, 1,
544
  2, 1, 6, 6, 6, 1, 4, 2,
545
  4, 6, 6, 1, 2, 2, 2, 2,
546
  4, 6, 6, 1, 2, 2, 2, 2,
547
  2, 2, 5, 5, 1, 2, 2, 2,
548
  2, 2, 4, 2, 2, 4, 6, 6,
549
  1, 2, 2, 2, 2, 2, 4, 5,
550
  5, 1, 0, 6, 5, 5, 1, 6,
551
  6, 1, 1, 1, 6, 6, 6, 1,
552
  1, 1, 6, 7, 5, 5, 5, 1,
553
  2, 2, 2, 2, 2, 4, 4, 4,
554
  1, 5, 5, 5, 1, 1, 0, 1,
555
  0, 1, 5, 6, 6, 1, 2, 2,
556
  4, 8, 8, 1, 2, 2, 2, 4,
557
  5, 5, 1, 2, 6, 5, 5, 1,
558
  6, 6, 1, 1, 1, 6, 6, 6,
559
  1, 1, 1, 6, 7, 8, 8, 8,
560
  8, 8, 8, 8, 8, 6, 5, 5,
561
  1, 6, 6, 1, 7, 12, 12, 1,
562
  2, 6, 6, 6, 1, 5, 10, 10,
563
  1, 2, 2, 2, 0, 6, 0, 6,
564
  6, 2, 2, 2, 2, 2, 2, 2,
565
  2, 2, 4, 6, 6, 1, 2, 2,
566
  2, 2, 2, 4, 4, 4, 1, 5,
567
  5, 5, 1, 2, 1, 1, 1, 5,
568
  5, 5, 1, 1, 1, 2, 2, 2,
569
  2, 2, 4, 4, 4, 1, 5, 5,
570
  5, 1, 1, 0, 6, 5, 5, 1,
571
  0, 5, 5, 5, 1, 1, 1, 1,
572
  1, 1, 5, 5, 1, 4, 2, 2,
573
  4, 8, 8, 1, 2, 2, 2, 2,
574
  2, 2, 2, 2, 2, 7, 7, 1,
575
  1, 1, 6, 6, 6, 1, 5, 5,
576
  1, 1, 1, 1, 1, 1, 1, 1,
577
  1, 1, 7, 7, 1, 1, 1, 6,
578
  6, 1, 2, 2, 2, 2, 2, 2,
579
  4, 2, 2, 2, 4, 6, 6, 1,
580
  2, 4, 7, 8, 8, 1, 1, 1,
581
  8, 1, 1, 0, 8, 9, 9, 7,
582
  1, 4, 4, 4, 1, 6, 5, 5,
583
  1, 6, 6, 1, 1, 1, 5, 1,
584
  1, 5, 6, 2, 4, 2, 2, 4,
585
  6, 6, 1, 2, 2, 2, 2, 2,
586
  4, 5, 5, 1, 4, 4, 1, 5,
587
  8, 8, 1, 1, 1, 4, 6, 6,
588
  1, 1, 1, 6, 9, 9, 1, 1,
589
  1, 0, 4, 7, 7, 1, 7, 7,
590
  7, 7, 7, 7, 7, 5, 10, 10,
591
  1, 4, 4, 7, 7, 1, 1, 1,
592
  4, 4, 4, 1, 4, 5, 7, 7,
593
  7, 7, 5, 8, 8, 1, 5, 9,
594
  9, 1, 6, 2, 2, 2, 2, 2,
595
  2, 1, 6, 6, 1, 4, 4, 1,
596
  5, 5, 5, 1, 5, 2, 2, 2,
597
  2, 2, 2, 5, 2, 2, 2, 2,
598
  2, 4, 6, 6, 1, 2, 2, 2,
599
  2, 6, 4, 4, 1, 5, 6, 6,
600
  1, 1, 1, 6, 6, 6, 1, 5,
601
  5, 5, 1, 1, 1, 4, 2, 2,
602
  2, 0, 6, 2, 2, 2, 7, 7,
603
  1, 6, 6, 1, 1, 6, 1, 4,
604
  4, 1, 6, 1, 4, 1, 4, 4,
605
  1, 4, 4, 2, 2, 2, 2, 2,
606
  7, 5, 5, 1, 4, 4, 1, 5,
607
  2, 2, 2, 2, 5, 1, 1, 6,
608
  8, 8, 8, 7, 12, 12, 1, 8,
609
  8, 8, 8, 8, 9, 12, 12, 1,
610
  7, 2, 2, 2, 2, 4, 6, 6,
611
  1, 2, 2, 2, 4, 6, 6, 1,
612
  1, 1, 5, 6, 6, 1, 2, 2,
613
  2, 2, 2, 5, 5, 1, 4, 4,
614
  1, 6, 1, 1, 2, 2, 2, 2,
615
  2, 5, 5, 5, 1, 6, 27, 27,
616
  27, 27, 0
617
};
618
619
static const signed char _spss_commands_range_lengths[] = {
620
  0, 0, 0, 0, 0, 0, 0, 0,
621
  0, 0, 0, 0, 0, 0, 0, 0,
622
  0, 0, 0, 0, 0, 0, 0, 0,
623
  0, 0, 0, 0, 0, 0, 0, 0,
624
  0, 0, 0, 0, 2, 2, 2, 0,
625
  0, 0, 0, 0, 0, 0, 1, 2,
626
  2, 0, 3, 1, 1, 0, 1, 2,
627
  2, 0, 1, 1, 0, 2, 2, 0,
628
  3, 1, 1, 0, 1, 2, 2, 0,
629
  1, 1, 0, 2, 2, 0, 0, 0,
630
  0, 0, 0, 0, 0, 0, 0, 0,
631
  0, 0, 0, 0, 0, 0, 0, 0,
632
  0, 0, 0, 0, 0, 0, 0, 0,
633
  0, 0, 0, 0, 0, 0, 0, 0,
634
  0, 0, 0, 0, 0, 0, 0, 2,
635
  2, 0, 2, 3, 0, 0, 0, 3,
636
  3, 0, 0, 0, 0, 0, 0, 0,
637
  0, 0, 1, 3, 3, 0, 0, 0,
638
  0, 0, 0, 0, 0, 0, 2, 2,
639
  0, 3, 2, 2, 0, 0, 1, 1,
640
  1, 1, 0, 0, 0, 0, 0, 0,
641
  0, 0, 0, 0, 0, 0, 0, 0,
642
  0, 0, 0, 2, 3, 0, 0, 0,
643
  3, 3, 0, 0, 0, 0, 0, 0,
644
  0, 0, 0, 1, 3, 3, 3, 3,
645
  3, 3, 3, 3, 3, 3, 0, 0,
646
  0, 3, 3, 0, 3, 0, 0, 0,
647
  1, 1, 2, 2, 0, 3, 0, 0,
648
  0, 0, 0, 0, 1, 1, 1, 1,
649
  1, 0, 0, 0, 0, 0, 0, 0,
650
  0, 0, 0, 0, 0, 0, 0, 0,
651
  0, 0, 0, 0, 2, 2, 0, 3,
652
  0, 0, 0, 0, 0, 0, 0, 0,
653
  2, 2, 0, 0, 0, 0, 0, 0,
654
  0, 0, 0, 2, 2, 0, 3, 0,
655
  0, 0, 1, 1, 1, 1, 1, 0,
656
  1, 1, 0, 0, 0, 0, 0, 0,
657
  0, 0, 0, 0, 0, 0, 0, 0,
658
  0, 0, 0, 0, 0, 0, 0, 0,
659
  0, 0, 0, 0, 0, 0, 0, 0,
660
  0, 0, 0, 0, 0, 0, 0, 0,
661
  0, 0, 0, 0, 0, 0, 0, 0,
662
  0, 0, 0, 0, 0, 0, 0, 0,
663
  0, 0, 0, 0, 0, 0, 0, 0,
664
  0, 0, 0, 0, 0, 0, 0, 0,
665
  0, 0, 4, 4, 4, 0, 0, 0,
666
  4, 0, 0, 1, 4, 4, 4, 4,
667
  0, 0, 2, 2, 0, 3, 0, 0,
668
  0, 3, 3, 0, 0, 0, 0, 0,
669
  0, 1, 3, 0, 0, 0, 0, 0,
670
  0, 0, 0, 0, 0, 0, 0, 0,
671
  0, 2, 2, 0, 2, 2, 0, 3,
672
  3, 3, 0, 0, 0, 0, 0, 0,
673
  0, 0, 0, 0, 1, 1, 0, 0,
674
  0, 1, 1, 2, 2, 0, 3, 3,
675
  3, 3, 3, 3, 3, 3, 3, 3,
676
  0, 0, 1, 0, 0, 0, 0, 0,
677
  0, 1, 1, 0, 1, 3, 3, 3,
678
  3, 3, 3, 3, 3, 0, 3, 3,
679
  3, 0, 0, 0, 0, 0, 0, 0,
680
  0, 0, 0, 0, 0, 2, 2, 0,
681
  3, 2, 2, 0, 3, 0, 0, 0,
682
  0, 0, 0, 3, 0, 0, 0, 0,
683
  0, 0, 0, 0, 0, 0, 0, 0,
684
  0, 0, 2, 2, 0, 3, 0, 0,
685
  0, 0, 0, 0, 2, 2, 0, 0,
686
  2, 2, 0, 0, 0, 0, 0, 0,
687
  0, 1, 1, 0, 0, 0, 0, 0,
688
  0, 0, 0, 0, 1, 0, 1, 1,
689
  1, 0, 1, 1, 0, 1, 1, 1,
690
  0, 1, 1, 0, 0, 0, 0, 0,
691
  0, 0, 0, 0, 1, 1, 0, 1,
692
  0, 0, 0, 0, 0, 0, 0, 3,
693
  3, 3, 3, 3, 0, 0, 0, 3,
694
  3, 3, 3, 3, 3, 0, 0, 0,
695
  3, 0, 0, 0, 0, 0, 0, 0,
696
  0, 0, 0, 0, 0, 2, 2, 0,
697
  0, 0, 0, 0, 0, 0, 0, 0,
698
  0, 0, 0, 0, 0, 0, 2, 2,
699
  0, 3, 0, 0, 0, 0, 0, 0,
700
  0, 0, 2, 2, 0, 3, 0, 0,
701
  0, 1, 0
702
};
703
704
static const short _spss_commands_index_offsets[] = {
705
  0, 0, 2, 4, 10, 13, 15, 17,
706
  20, 22, 24, 26, 28, 30, 32, 34,
707
  36, 41, 44, 47, 54, 61, 68, 70,
708
  73, 76, 79, 84, 95, 106, 108, 111,
709
  116, 119, 125, 131, 133, 143, 157, 171,
710
  173, 175, 177, 183, 195, 207, 209, 215,
711
  222, 229, 231, 240, 246, 252, 254, 261,
712
  269, 277, 279, 283, 286, 291, 298, 305,
713
  307, 316, 322, 328, 330, 339, 349, 359,
714
  361, 365, 368, 375, 384, 393, 395, 400,
715
  403, 408, 415, 422, 424, 427, 430, 433,
716
  436, 441, 448, 455, 457, 460, 463, 466,
717
  469, 472, 475, 481, 487, 489, 492, 495,
718
  498, 501, 504, 509, 512, 515, 520, 527,
719
  534, 536, 539, 542, 545, 548, 551, 556,
720
  564, 572, 574, 577, 587, 593, 599, 601,
721
  611, 621, 623, 625, 627, 634, 641, 648,
722
  650, 652, 654, 662, 673, 682, 688, 694,
723
  696, 699, 702, 705, 708, 711, 716, 723,
724
  730, 732, 741, 749, 757, 759, 761, 763,
725
  766, 768, 771, 777, 784, 791, 793, 796,
726
  799, 804, 813, 822, 824, 827, 830, 833,
727
  838, 844, 850, 852, 857, 867, 873, 879,
728
  881, 891, 901, 903, 905, 907, 914, 921,
729
  928, 930, 932, 934, 942, 953, 965, 977,
730
  989, 1001, 1013, 1025, 1037, 1049, 1059, 1065,
731
  1071, 1073, 1083, 1093, 1095, 1106, 1119, 1132,
732
  1134, 1138, 1146, 1155, 1164, 1166, 1175, 1186,
733
  1197, 1199, 1202, 1205, 1208, 1210, 1218, 1220,
734
  1228, 1236, 1239, 1242, 1245, 1248, 1251, 1254,
735
  1257, 1260, 1263, 1268, 1275, 1282, 1284, 1287,
736
  1290, 1293, 1296, 1299, 1304, 1311, 1318, 1320,
737
  1329, 1335, 1341, 1343, 1346, 1348, 1350, 1352,
738
  1358, 1366, 1374, 1376, 1378, 1380, 1383, 1386,
739
  1389, 1392, 1395, 1400, 1407, 1414, 1416, 1425,
740
  1431, 1437, 1439, 1442, 1444, 1452, 1459, 1466,
741
  1468, 1470, 1477, 1483, 1489, 1491, 1493, 1495,
742
  1497, 1499, 1501, 1507, 1513, 1515, 1520, 1523,
743
  1526, 1531, 1540, 1549, 1551, 1554, 1557, 1560,
744
  1563, 1566, 1569, 1572, 1575, 1578, 1586, 1594,
745
  1596, 1598, 1600, 1607, 1614, 1621, 1623, 1629,
746
  1635, 1637, 1639, 1641, 1643, 1645, 1647, 1649,
747
  1651, 1653, 1655, 1663, 1671, 1673, 1675, 1677,
748
  1684, 1691, 1693, 1696, 1699, 1702, 1705, 1708,
749
  1711, 1716, 1719, 1722, 1725, 1730, 1737, 1744,
750
  1746, 1749, 1754, 1766, 1779, 1792, 1794, 1796,
751
  1798, 1811, 1813, 1815, 1817, 1830, 1844, 1858,
752
  1870, 1872, 1877, 1884, 1891, 1893, 1903, 1909,
753
  1915, 1917, 1927, 1937, 1939, 1941, 1943, 1949,
754
  1951, 1953, 1960, 1970, 1973, 1978, 1981, 1984,
755
  1989, 1996, 2003, 2005, 2008, 2011, 2014, 2017,
756
  2020, 2025, 2033, 2041, 2043, 2050, 2057, 2059,
757
  2068, 2080, 2092, 2094, 2096, 2098, 2103, 2110,
758
  2117, 2119, 2121, 2123, 2130, 2141, 2152, 2154,
759
  2156, 2158, 2160, 2166, 2176, 2186, 2188, 2199,
760
  2210, 2221, 2232, 2243, 2254, 2265, 2274, 2288,
761
  2302, 2304, 2309, 2315, 2323, 2331, 2333, 2335,
762
  2337, 2342, 2348, 2354, 2356, 2362, 2371, 2382,
763
  2393, 2404, 2415, 2424, 2436, 2448, 2450, 2459,
764
  2472, 2485, 2487, 2494, 2497, 2500, 2503, 2506,
765
  2509, 2512, 2514, 2521, 2528, 2530, 2537, 2544,
766
  2546, 2555, 2563, 2571, 2573, 2582, 2585, 2588,
767
  2591, 2594, 2597, 2600, 2609, 2612, 2615, 2618,
768
  2621, 2624, 2629, 2636, 2643, 2645, 2648, 2651,
769
  2654, 2657, 2664, 2671, 2678, 2680, 2689, 2696,
770
  2703, 2705, 2707, 2709, 2716, 2725, 2734, 2736,
771
  2742, 2750, 2758, 2760, 2762, 2764, 2769, 2772,
772
  2775, 2778, 2780, 2788, 2791, 2794, 2797, 2805,
773
  2813, 2815, 2822, 2829, 2831, 2834, 2841, 2844,
774
  2850, 2856, 2858, 2866, 2869, 2874, 2877, 2883,
775
  2889, 2891, 2897, 2903, 2906, 2909, 2912, 2915,
776
  2918, 2926, 2932, 2938, 2940, 2946, 2952, 2954,
777
  2961, 2964, 2967, 2970, 2973, 2979, 2981, 2983,
778
  2993, 3005, 3017, 3029, 3040, 3053, 3066, 3068,
779
  3080, 3092, 3104, 3116, 3128, 3141, 3154, 3167,
780
  3169, 3180, 3183, 3186, 3189, 3192, 3197, 3204,
781
  3211, 3213, 3216, 3219, 3222, 3227, 3236, 3245,
782
  3247, 3249, 3251, 3257, 3264, 3271, 3273, 3276,
783
  3279, 3282, 3285, 3288, 3294, 3300, 3302, 3309,
784
  3316, 3318, 3328, 3330, 3332, 3335, 3338, 3341,
785
  3344, 3347, 3353, 3361, 3369, 3371, 3381, 3409,
786
  3437, 3465, 0
787
};
788
789
static const short _spss_commands_cond_targs[] = {
790
  647, 0, 3, 2, 3, 647, 4, 3,
791
  3, 2, 647, 3, 2, 6, 0, 7,
792
  6, 7, 646, 6, 9, 0, 10, 0,
793
  11, 0, 12, 0, 13, 0, 14, 0,
794
  15, 0, 646, 15, 17, 636, 17, 636,
795
  0, 18, 18, 0, 19, 19, 0, 20,
796
  21, 22, 20, 603, 603, 0, 20, 21,
797
  22, 20, 23, 23, 0, 20, 21, 22,
798
  20, 23, 23, 0, 21, 0, 24, 24,
799
  0, 25, 25, 0, 26, 26, 0, 27,
800
  28, 29, 27, 0, 27, 28, 29, 27,
801
  30, 563, 576, 30, 563, 576, 0, 27,
802
  28, 29, 27, 30, 563, 576, 30, 563,
803
  576, 0, 28, 0, 31, 31, 0, 32,
804
  601, 32, 601, 0, 33, 33, 0, 33,
805
  34, 35, 33, 36, 0, 33, 34, 35,
806
  33, 36, 0, 34, 0, 37, 38, 39,
807
  37, 40, 581, 46, 583, 583, 0, 37,
808
  38, 39, 37, 40, 581, 46, 584, 591,
809
  584, 591, 583, 583, 0, 37, 38, 39,
810
  37, 40, 581, 46, 584, 591, 584, 591,
811
  583, 583, 0, 38, 0, 42, 41, 42,
812
  41, 43, 44, 45, 43, 46, 0, 43,
813
  44, 45, 43, 46, 30, 563, 576, 30,
814
  563, 576, 0, 43, 44, 45, 43, 46,
815
  30, 563, 576, 30, 563, 576, 0, 44,
816
  0, 47, 48, 49, 47, 562, 0, 47,
817
  48, 49, 47, 50, 50, 0, 47, 48,
818
  49, 47, 50, 50, 0, 48, 0, 51,
819
  52, 53, 51, 50, 50, 50, 50, 0,
820
  51, 52, 53, 51, 54, 0, 51, 52,
821
  53, 51, 54, 0, 52, 0, 55, 56,
822
  57, 55, 558, 54, 0, 55, 56, 57,
823
  55, 58, 64, 64, 0, 55, 56, 57,
824
  55, 58, 64, 64, 0, 56, 0, 555,
825
  555, 59, 0, 60, 59, 0, 61, 62,
826
  63, 61, 0, 61, 62, 63, 61, 64,
827
  64, 0, 61, 62, 63, 61, 64, 64,
828
  0, 62, 0, 65, 66, 67, 65, 64,
829
  64, 64, 64, 0, 65, 66, 67, 65,
830
  68, 0, 65, 66, 67, 65, 68, 0,
831
  66, 0, 69, 70, 71, 69, 551, 648,
832
  46, 68, 0, 69, 70, 71, 69, 72,
833
  648, 46, 64, 64, 0, 69, 70, 71,
834
  69, 72, 648, 46, 64, 64, 0, 70,
835
  0, 548, 548, 73, 0, 74, 73, 0,
836
  75, 76, 77, 75, 648, 46, 0, 75,
837
  76, 77, 75, 648, 46, 64, 64, 0,
838
  75, 76, 77, 75, 648, 46, 64, 64,
839
  0, 76, 0, 79, 101, 79, 101, 0,
840
  80, 80, 0, 81, 82, 83, 81, 0,
841
  81, 82, 83, 81, 84, 84, 0, 81,
842
  82, 83, 81, 84, 84, 0, 82, 0,
843
  85, 85, 0, 86, 86, 0, 87, 87,
844
  0, 88, 88, 0, 89, 90, 91, 89,
845
  0, 89, 90, 91, 89, 92, 92, 0,
846
  89, 90, 91, 89, 92, 92, 0, 90,
847
  0, 93, 93, 0, 94, 94, 0, 95,
848
  95, 0, 96, 96, 0, 97, 97, 0,
849
  98, 98, 0, 98, 99, 100, 98, 646,
850
  0, 98, 99, 100, 98, 646, 0, 99,
851
  0, 102, 102, 0, 103, 103, 0, 104,
852
  104, 0, 105, 105, 0, 98, 98, 0,
853
  107, 144, 107, 144, 0, 108, 108, 0,
854
  109, 109, 0, 110, 111, 112, 110, 0,
855
  110, 111, 112, 110, 113, 113, 0, 110,
856
  111, 112, 110, 113, 113, 0, 111, 0,
857
  114, 114, 0, 115, 115, 0, 116, 116,
858
  0, 117, 117, 0, 118, 118, 0, 119,
859
  120, 121, 119, 0, 119, 120, 121, 119,
860
  122, 140, 140, 0, 119, 120, 121, 119,
861
  122, 140, 140, 0, 120, 0, 123, 123,
862
  0, 124, 125, 126, 124, 127, 123, 123,
863
  123, 123, 0, 124, 125, 126, 124, 127,
864
  0, 124, 125, 126, 124, 127, 0, 125,
865
  0, 127, 128, 129, 127, 130, 136, 138,
866
  139, 139, 0, 127, 128, 129, 127, 130,
867
  136, 138, 139, 139, 0, 128, 0, 132,
868
  131, 132, 131, 133, 134, 135, 133, 646,
869
  122, 0, 133, 134, 135, 133, 646, 122,
870
  0, 133, 134, 135, 133, 646, 122, 0,
871
  134, 0, 132, 137, 132, 137, 133, 134,
872
  135, 133, 646, 122, 138, 0, 133, 134,
873
  135, 133, 646, 122, 139, 139, 139, 139,
874
  0, 141, 142, 143, 141, 140, 140, 140,
875
  140, 0, 141, 142, 143, 141, 122, 0,
876
  141, 142, 143, 141, 122, 0, 142, 0,
877
  145, 145, 0, 146, 146, 0, 147, 147,
878
  0, 148, 148, 0, 149, 149, 0, 150,
879
  151, 152, 150, 0, 150, 151, 152, 150,
880
  153, 153, 0, 150, 151, 152, 150, 153,
881
  153, 0, 151, 0, 154, 155, 156, 154,
882
  153, 153, 153, 153, 0, 154, 155, 156,
883
  154, 157, 153, 153, 0, 154, 155, 156,
884
  154, 157, 153, 153, 0, 155, 0, 158,
885
  0, 159, 0, 160, 159, 0, 161, 0,
886
  162, 161, 0, 163, 164, 165, 163, 646,
887
  0, 163, 164, 165, 163, 646, 149, 0,
888
  163, 164, 165, 163, 646, 149, 0, 164,
889
  0, 167, 167, 0, 168, 168, 0, 169,
890
  170, 171, 169, 0, 169, 170, 171, 169,
891
  172, 539, 172, 539, 0, 169, 170, 171,
892
  169, 172, 539, 172, 539, 0, 170, 0,
893
  173, 173, 0, 174, 174, 0, 175, 175,
894
  0, 176, 177, 178, 176, 0, 176, 177,
895
  178, 176, 179, 0, 176, 177, 178, 176,
896
  179, 0, 177, 0, 197, 197, 180, 180,
897
  0, 181, 182, 183, 181, 184, 180, 180,
898
  180, 180, 0, 181, 182, 183, 181, 184,
899
  0, 181, 182, 183, 181, 184, 0, 182,
900
  0, 184, 185, 186, 184, 187, 193, 195,
901
  196, 196, 0, 184, 185, 186, 184, 187,
902
  193, 195, 196, 196, 0, 185, 0, 189,
903
  188, 189, 188, 190, 191, 192, 190, 646,
904
  179, 0, 190, 191, 192, 190, 646, 179,
905
  0, 190, 191, 192, 190, 646, 179, 0,
906
  191, 0, 189, 194, 189, 194, 190, 191,
907
  192, 190, 646, 179, 195, 0, 190, 191,
908
  192, 190, 646, 179, 196, 196, 196, 196,
909
  0, 181, 182, 183, 181, 184, 198, 180,
910
  198, 180, 180, 180, 0, 181, 182, 183,
911
  181, 184, 199, 180, 199, 180, 180, 180,
912
  0, 181, 182, 183, 181, 184, 200, 180,
913
  200, 180, 180, 180, 0, 181, 182, 183,
914
  181, 184, 201, 180, 201, 180, 180, 180,
915
  0, 181, 182, 183, 181, 184, 202, 180,
916
  202, 180, 180, 180, 0, 181, 182, 183,
917
  181, 184, 203, 180, 203, 180, 180, 180,
918
  0, 181, 182, 183, 181, 184, 204, 180,
919
  204, 180, 180, 180, 0, 181, 182, 183,
920
  181, 184, 205, 180, 205, 180, 180, 180,
921
  0, 206, 207, 208, 206, 209, 180, 180,
922
  180, 180, 0, 206, 207, 208, 206, 209,
923
  0, 206, 207, 208, 206, 209, 0, 207,
924
  0, 209, 210, 211, 209, 187, 193, 195,
925
  212, 212, 0, 209, 210, 211, 209, 187,
926
  193, 195, 212, 212, 0, 210, 0, 213,
927
  214, 215, 213, 646, 179, 212, 212, 212,
928
  212, 0, 213, 214, 215, 213, 646, 179,
929
  216, 225, 230, 216, 225, 230, 0, 213,
930
  214, 215, 213, 646, 179, 216, 225, 230,
931
  216, 225, 230, 0, 214, 0, 534, 534,
932
  217, 0, 218, 219, 220, 218, 646, 179,
933
  217, 0, 218, 219, 220, 218, 646, 179,
934
  221, 221, 0, 218, 219, 220, 218, 646,
935
  179, 221, 221, 0, 219, 0, 222, 223,
936
  224, 222, 221, 221, 221, 221, 0, 222,
937
  223, 224, 222, 216, 225, 230, 216, 225,
938
  230, 0, 222, 223, 224, 222, 216, 225,
939
  230, 216, 225, 230, 0, 223, 0, 226,
940
  226, 0, 227, 227, 0, 228, 228, 0,
941
  229, 0, 218, 219, 220, 218, 646, 179,
942
  229, 0, 231, 0, 218, 219, 220, 218,
943
  649, 179, 231, 0, 218, 219, 220, 218,
944
  646, 179, 232, 0, 234, 234, 0, 235,
945
  235, 0, 98, 98, 0, 237, 237, 0,
946
  238, 238, 0, 239, 239, 0, 240, 240,
947
  0, 241, 241, 0, 242, 242, 0, 243,
948
  244, 245, 243, 0, 243, 244, 245, 243,
949
  246, 246, 0, 243, 244, 245, 243, 246,
950
  246, 0, 244, 0, 247, 247, 0, 248,
951
  248, 0, 249, 249, 0, 250, 250, 0,
952
  251, 251, 0, 252, 253, 254, 252, 0,
953
  252, 253, 254, 252, 255, 255, 0, 252,
954
  253, 254, 252, 255, 255, 0, 253, 0,
955
  256, 257, 258, 256, 255, 255, 255, 255,
956
  0, 256, 257, 258, 256, 259, 0, 256,
957
  257, 258, 256, 259, 0, 257, 0, 260,
958
  267, 0, 262, 261, 262, 261, 263, 0,
959
  264, 265, 266, 264, 646, 0, 264, 265,
960
  266, 264, 646, 255, 255, 0, 264, 265,
961
  266, 264, 646, 255, 255, 0, 265, 0,
962
  262, 268, 262, 268, 270, 270, 0, 271,
963
  271, 0, 272, 272, 0, 273, 273, 0,
964
  274, 274, 0, 275, 276, 277, 275, 0,
965
  275, 276, 277, 275, 278, 278, 0, 275,
966
  276, 277, 275, 278, 278, 0, 276, 0,
967
  279, 280, 281, 279, 278, 278, 278, 278,
968
  0, 279, 280, 281, 279, 282, 0, 279,
969
  280, 281, 279, 282, 0, 280, 0, 283,
970
  284, 0, 284, 0, 285, 286, 287, 285,
971
  288, 290, 284, 0, 285, 286, 287, 285,
972
  283, 284, 0, 285, 286, 287, 285, 283,
973
  284, 0, 286, 0, 289, 0, 285, 286,
974
  287, 285, 290, 289, 0, 290, 291, 292,
975
  290, 293, 0, 290, 291, 292, 290, 293,
976
  0, 291, 0, 294, 0, 295, 0, 296,
977
  0, 297, 0, 298, 0, 298, 299, 300,
978
  298, 98, 0, 298, 299, 300, 298, 98,
979
  0, 299, 0, 302, 352, 302, 352, 0,
980
  303, 303, 0, 304, 304, 0, 305, 306,
981
  307, 305, 0, 305, 306, 307, 305, 308,
982
  346, 308, 346, 0, 305, 306, 307, 305,
983
  308, 346, 308, 346, 0, 306, 0, 309,
984
  309, 0, 310, 310, 0, 311, 311, 0,
985
  312, 312, 0, 313, 313, 0, 314, 314,
986
  0, 315, 315, 0, 316, 316, 0, 317,
987
  317, 0, 317, 318, 319, 317, 320, 341,
988
  343, 0, 317, 318, 319, 317, 320, 341,
989
  343, 0, 318, 0, 322, 321, 322, 321,
990
  323, 324, 325, 323, 646, 338, 0, 323,
991
  324, 325, 323, 646, 326, 0, 323, 324,
992
  325, 323, 646, 326, 0, 324, 0, 326,
993
  327, 328, 326, 329, 0, 326, 327, 328,
994
  326, 329, 0, 327, 0, 330, 0, 331,
995
  0, 332, 0, 333, 0, 334, 0, 335,
996
  0, 336, 0, 337, 0, 98, 0, 338,
997
  339, 340, 338, 646, 326, 329, 0, 338,
998
  339, 340, 338, 646, 326, 329, 0, 339,
999
  0, 322, 342, 322, 342, 343, 344, 345,
1000
  343, 320, 341, 0, 343, 344, 345, 343,
1001
  320, 341, 0, 344, 0, 347, 347, 0,
1002
  348, 348, 0, 349, 349, 0, 350, 350,
1003
  0, 351, 351, 0, 317, 317, 0, 353,
1004
  377, 353, 377, 0, 354, 354, 0, 355,
1005
  355, 0, 356, 356, 0, 357, 358, 359,
1006
  357, 0, 357, 358, 359, 357, 360, 360,
1007
  0, 357, 358, 359, 357, 360, 360, 0,
1008
  358, 0, 361, 361, 0, 362, 375, 376,
1009
  362, 0, 363, 364, 365, 363, 366, 369,
1010
  371, 363, 372, 373, 373, 0, 363, 364,
1011
  365, 363, 366, 369, 371, 646, 363, 372,
1012
  373, 373, 0, 363, 364, 365, 363, 366,
1013
  369, 371, 646, 363, 372, 373, 373, 0,
1014
  364, 0, 368, 367, 368, 367, 363, 364,
1015
  365, 363, 366, 369, 371, 646, 363, 372,
1016
  373, 373, 0, 368, 370, 368, 370, 372,
1017
  0, 363, 364, 365, 363, 366, 369, 371,
1018
  646, 363, 372, 373, 373, 0, 363, 364,
1019
  365, 363, 366, 369, 371, 646, 373, 363,
1020
  374, 373, 373, 0, 363, 364, 365, 363,
1021
  366, 369, 371, 646, 373, 363, 374, 373,
1022
  373, 0, 363, 364, 365, 363, 366, 369,
1023
  371, 363, 372, 373, 373, 0, 375, 0,
1024
  378, 379, 380, 378, 0, 378, 379, 380,
1025
  378, 381, 381, 0, 378, 379, 380, 378,
1026
  381, 381, 0, 379, 0, 382, 383, 384,
1027
  382, 385, 381, 381, 381, 381, 0, 382,
1028
  383, 384, 382, 385, 0, 382, 383, 384,
1029
  382, 385, 0, 383, 0, 385, 386, 387,
1030
  385, 388, 391, 393, 394, 394, 0, 385,
1031
  386, 387, 385, 388, 391, 393, 394, 394,
1032
  0, 386, 0, 390, 389, 390, 389, 98,
1033
  99, 100, 98, 646, 0, 390, 392, 390,
1034
  392, 98, 99, 100, 98, 646, 393, 0,
1035
  98, 99, 100, 98, 646, 394, 394, 394,
1036
  394, 0, 396, 396, 0, 397, 500, 397,
1037
  500, 0, 398, 398, 0, 399, 399, 0,
1038
  400, 401, 402, 400, 0, 400, 401, 402,
1039
  400, 403, 403, 0, 400, 401, 402, 400,
1040
  403, 403, 0, 401, 0, 404, 404, 0,
1041
  405, 405, 0, 406, 406, 0, 407, 407,
1042
  0, 408, 408, 0, 409, 410, 411, 409,
1043
  0, 409, 410, 411, 409, 412, 415, 415,
1044
  0, 409, 410, 411, 409, 412, 415, 415,
1045
  0, 410, 0, 412, 413, 414, 412, 415,
1046
  415, 0, 412, 413, 414, 412, 415, 415,
1047
  0, 413, 0, 416, 417, 418, 416, 415,
1048
  415, 415, 415, 0, 416, 417, 418, 416,
1049
  419, 431, 433, 449, 450, 461, 461, 0,
1050
  416, 417, 418, 416, 419, 431, 433, 449,
1051
  450, 461, 461, 0, 417, 0, 421, 420,
1052
  421, 420, 422, 423, 424, 422, 0, 422,
1053
  423, 424, 422, 425, 454, 0, 422, 423,
1054
  424, 422, 425, 454, 0, 423, 0, 427,
1055
  426, 427, 426, 428, 429, 430, 428, 646,
1056
  435, 0, 428, 429, 430, 428, 419, 431,
1057
  433, 646, 435, 450, 0, 428, 429, 430,
1058
  428, 419, 431, 433, 646, 435, 450, 0,
1059
  429, 0, 421, 432, 421, 432, 434, 0,
1060
  422, 423, 424, 422, 434, 0, 435, 436,
1061
  437, 435, 646, 438, 438, 415, 415, 0,
1062
  435, 436, 437, 435, 646, 438, 438, 415,
1063
  415, 0, 436, 0, 416, 417, 418, 416,
1064
  439, 415, 439, 415, 415, 415, 0, 416,
1065
  417, 418, 416, 440, 415, 440, 415, 415,
1066
  415, 0, 416, 417, 418, 416, 441, 415,
1067
  441, 415, 415, 415, 0, 416, 417, 418,
1068
  416, 442, 415, 442, 415, 415, 415, 0,
1069
  416, 417, 418, 416, 443, 415, 443, 415,
1070
  415, 415, 0, 416, 417, 418, 416, 444,
1071
  415, 444, 415, 415, 415, 0, 416, 417,
1072
  418, 416, 445, 415, 445, 415, 415, 415,
1073
  0, 446, 447, 448, 446, 415, 415, 415,
1074
  415, 0, 446, 447, 448, 446, 419, 431,
1075
  433, 449, 462, 462, 450, 461, 461, 0,
1076
  446, 447, 448, 446, 419, 431, 433, 449,
1077
  462, 462, 450, 461, 461, 0, 447, 0,
1078
  422, 423, 424, 422, 0, 451, 452, 453,
1079
  451, 450, 0, 451, 452, 453, 451, 425,
1080
  454, 456, 0, 451, 452, 453, 451, 425,
1081
  454, 456, 0, 452, 0, 427, 455, 427,
1082
  455, 457, 458, 459, 457, 0, 457, 458,
1083
  459, 457, 460, 0, 457, 458, 459, 457,
1084
  460, 0, 458, 0, 422, 423, 424, 422,
1085
  460, 0, 416, 417, 418, 416, 461, 461,
1086
  461, 461, 0, 416, 417, 418, 416, 463,
1087
  461, 463, 461, 461, 461, 0, 416, 417,
1088
  418, 416, 464, 461, 464, 461, 461, 461,
1089
  0, 416, 417, 418, 416, 465, 461, 465,
1090
  461, 461, 461, 0, 416, 417, 418, 416,
1091
  466, 461, 466, 461, 461, 461, 0, 467,
1092
  468, 469, 467, 461, 461, 461, 461, 0,
1093
  467, 468, 469, 467, 419, 431, 433, 449,
1094
  450, 470, 470, 0, 467, 468, 469, 467,
1095
  419, 431, 433, 449, 450, 470, 470, 0,
1096
  468, 0, 471, 472, 473, 471, 470, 470,
1097
  470, 470, 0, 471, 472, 473, 471, 419,
1098
  431, 474, 433, 449, 450, 499, 499, 0,
1099
  471, 472, 473, 471, 419, 431, 474, 433,
1100
  449, 450, 499, 499, 0, 472, 0, 475,
1101
  493, 495, 475, 493, 495, 0, 476, 476,
1102
  0, 477, 477, 0, 478, 478, 0, 479,
1103
  479, 0, 480, 480, 0, 481, 481, 0,
1104
  482, 0, 482, 483, 484, 482, 646, 485,
1105
  0, 482, 483, 484, 482, 646, 485, 0,
1106
  483, 0, 485, 486, 487, 485, 488, 488,
1107
  0, 485, 486, 487, 485, 488, 488, 0,
1108
  486, 0, 489, 490, 491, 489, 488, 488,
1109
  488, 488, 0, 489, 490, 491, 489, 474,
1110
  492, 492, 0, 489, 490, 491, 489, 474,
1111
  492, 492, 0, 490, 0, 489, 490, 491,
1112
  489, 492, 492, 492, 492, 0, 494, 494,
1113
  0, 477, 477, 0, 496, 496, 0, 497,
1114
  497, 0, 498, 498, 0, 481, 481, 0,
1115
  471, 472, 473, 471, 499, 499, 499, 499,
1116
  0, 501, 501, 0, 502, 502, 0, 503,
1117
  503, 0, 504, 504, 0, 505, 505, 0,
1118
  506, 507, 508, 506, 0, 506, 507, 508,
1119
  506, 509, 509, 0, 506, 507, 508, 506,
1120
  509, 509, 0, 507, 0, 510, 510, 0,
1121
  511, 511, 0, 512, 512, 0, 513, 513,
1122
  0, 514, 515, 516, 514, 533, 533, 0,
1123
  514, 515, 516, 514, 517, 517, 0, 514,
1124
  515, 516, 514, 517, 517, 0, 515, 0,
1125
  518, 519, 520, 518, 517, 517, 517, 517,
1126
  0, 518, 519, 520, 518, 521, 531, 0,
1127
  518, 519, 520, 518, 521, 531, 0, 519,
1128
  0, 523, 522, 523, 522, 524, 525, 526,
1129
  524, 646, 527, 0, 524, 525, 526, 524,
1130
  646, 527, 517, 517, 0, 524, 525, 526,
1131
  524, 646, 527, 517, 517, 0, 525, 0,
1132
  528, 529, 530, 528, 646, 0, 528, 529,
1133
  530, 528, 646, 517, 517, 0, 528, 529,
1134
  530, 528, 646, 517, 517, 0, 529, 0,
1135
  523, 532, 523, 532, 514, 515, 516, 514,
1136
  0, 535, 535, 0, 536, 536, 0, 537,
1137
  537, 0, 538, 0, 218, 219, 220, 218,
1138
  646, 179, 538, 0, 540, 540, 0, 541,
1139
  541, 0, 542, 542, 0, 542, 543, 544,
1140
  542, 388, 391, 545, 0, 542, 543, 544,
1141
  542, 388, 391, 545, 0, 543, 0, 545,
1142
  546, 547, 545, 388, 391, 0, 545, 546,
1143
  547, 545, 388, 391, 0, 546, 0, 549,
1144
  550, 0, 75, 76, 77, 75, 648, 46,
1145
  0, 549, 550, 0, 551, 552, 553, 551,
1146
  554, 0, 551, 552, 553, 551, 554, 0,
1147
  552, 0, 69, 70, 71, 69, 648, 46,
1148
  554, 0, 556, 557, 0, 61, 62, 63,
1149
  61, 0, 556, 557, 0, 558, 559, 560,
1150
  558, 561, 0, 558, 559, 560, 558, 561,
1151
  0, 559, 0, 55, 56, 57, 55, 561,
1152
  0, 47, 48, 49, 47, 562, 0, 564,
1153
  564, 0, 565, 565, 0, 566, 566, 0,
1154
  567, 567, 0, 568, 568, 0, 569, 570,
1155
  571, 569, 572, 569, 569, 0, 569, 570,
1156
  571, 569, 572, 0, 569, 570, 571, 569,
1157
  572, 0, 570, 0, 572, 573, 574, 572,
1158
  575, 0, 572, 573, 574, 572, 575, 0,
1159
  573, 0, 43, 44, 45, 43, 46, 575,
1160
  0, 577, 577, 0, 578, 578, 0, 579,
1161
  579, 0, 580, 580, 0, 43, 44, 45,
1162
  43, 46, 0, 42, 582, 42, 582, 43,
1163
  44, 45, 43, 46, 583, 583, 583, 583,
1164
  0, 43, 44, 45, 43, 46, 585, 583,
1165
  585, 583, 583, 583, 0, 43, 44, 45,
1166
  43, 46, 586, 583, 586, 583, 583, 583,
1167
  0, 43, 44, 45, 43, 46, 587, 583,
1168
  587, 583, 583, 583, 0, 588, 589, 590,
1169
  588, 46, 36, 583, 583, 583, 583, 0,
1170
  588, 589, 590, 588, 46, 36, 30, 563,
1171
  576, 30, 563, 576, 0, 588, 589, 590,
1172
  588, 46, 36, 30, 563, 576, 30, 563,
1173
  576, 0, 589, 0, 43, 44, 45, 43,
1174
  46, 592, 583, 592, 583, 583, 583, 0,
1175
  43, 44, 45, 43, 46, 593, 583, 593,
1176
  583, 583, 583, 0, 43, 44, 45, 43,
1177
  46, 594, 583, 594, 583, 583, 583, 0,
1178
  43, 44, 45, 43, 46, 595, 583, 595,
1179
  583, 583, 583, 0, 43, 44, 45, 43,
1180
  46, 596, 583, 596, 583, 583, 583, 0,
1181
  597, 598, 599, 597, 46, 572, 600, 583,
1182
  600, 583, 583, 583, 0, 597, 598, 599,
1183
  597, 46, 572, 30, 563, 576, 30, 563,
1184
  576, 0, 597, 598, 599, 597, 46, 572,
1185
  30, 563, 576, 30, 563, 576, 0, 598,
1186
  0, 597, 598, 599, 597, 46, 572, 583,
1187
  583, 583, 583, 0, 602, 602, 0, 580,
1188
  580, 0, 604, 604, 0, 605, 605, 0,
1189
  606, 607, 608, 606, 0, 606, 607, 608,
1190
  606, 609, 609, 0, 606, 607, 608, 606,
1191
  609, 609, 0, 607, 0, 610, 610, 0,
1192
  611, 611, 0, 612, 612, 0, 613, 614,
1193
  615, 613, 0, 613, 614, 615, 613, 616,
1194
  634, 633, 633, 0, 613, 614, 615, 613,
1195
  616, 634, 633, 633, 0, 614, 0, 618,
1196
  617, 618, 617, 619, 620, 621, 619, 646,
1197
  0, 619, 620, 621, 619, 622, 622, 0,
1198
  619, 620, 621, 619, 622, 622, 0, 620,
1199
  0, 623, 623, 0, 624, 624, 0, 625,
1200
  625, 0, 626, 626, 0, 627, 627, 0,
1201
  627, 628, 629, 627, 630, 0, 627, 628,
1202
  629, 627, 630, 0, 628, 0, 630, 631,
1203
  632, 630, 633, 633, 0, 630, 631, 632,
1204
  630, 633, 633, 0, 631, 0, 619, 620,
1205
  621, 619, 646, 633, 633, 633, 633, 0,
1206
  618, 635, 618, 635, 637, 637, 0, 638,
1207
  638, 0, 639, 639, 0, 640, 640, 0,
1208
  641, 641, 0, 642, 643, 644, 642, 646,
1209
  0, 642, 643, 644, 642, 646, 645, 645,
1210
  0, 642, 643, 644, 642, 646, 645, 645,
1211
  0, 643, 0, 642, 643, 644, 642, 646,
1212
  645, 645, 645, 645, 0, 646, 647, 1,
1213
  646, 2, 5, 8, 16, 78, 106, 166,
1214
  84, 233, 236, 269, 301, 395, 16, 78,
1215
  106, 166, 84, 233, 236, 269, 301, 395,
1216
  0, 646, 647, 1, 646, 2, 5, 8,
1217
  16, 78, 106, 166, 84, 233, 236, 269,
1218
  301, 395, 16, 78, 106, 166, 84, 233,
1219
  236, 269, 301, 395, 0, 646, 647, 1,
1220
  646, 2, 5, 8, 16, 78, 106, 166,
1221
  84, 233, 236, 269, 301, 395, 16, 78,
1222
  106, 166, 84, 233, 236, 269, 301, 395,
1223
  0, 646, 647, 1, 646, 2, 5, 8,
1224
  16, 78, 106, 166, 84, 233, 236, 269,
1225
  301, 395, 16, 78, 106, 166, 84, 233,
1226
  236, 269, 301, 395, 232, 0, 0, 1,
1227
  2, 3, 4, 5, 6, 7, 8, 9,
1228
  10, 11, 12, 13, 14, 15, 16, 17,
1229
  18, 19, 20, 21, 22, 23, 24, 25,
1230
  26, 27, 28, 29, 30, 31, 32, 33,
1231
  34, 35, 36, 37, 38, 39, 40, 41,
1232
  42, 43, 44, 45, 46, 47, 48, 49,
1233
  50, 51, 52, 53, 54, 55, 56, 57,
1234
  58, 59, 60, 61, 62, 63, 64, 65,
1235
  66, 67, 68, 69, 70, 71, 72, 73,
1236
  74, 75, 76, 77, 78, 79, 80, 81,
1237
  82, 83, 84, 85, 86, 87, 88, 89,
1238
  90, 91, 92, 93, 94, 95, 96, 97,
1239
  98, 99, 100, 101, 102, 103, 104, 105,
1240
  106, 107, 108, 109, 110, 111, 112, 113,
1241
  114, 115, 116, 117, 118, 119, 120, 121,
1242
  122, 123, 124, 125, 126, 127, 128, 129,
1243
  130, 131, 132, 133, 134, 135, 136, 137,
1244
  138, 139, 140, 141, 142, 143, 144, 145,
1245
  146, 147, 148, 149, 150, 151, 152, 153,
1246
  154, 155, 156, 157, 158, 159, 160, 161,
1247
  162, 163, 164, 165, 166, 167, 168, 169,
1248
  170, 171, 172, 173, 174, 175, 176, 177,
1249
  178, 179, 180, 181, 182, 183, 184, 185,
1250
  186, 187, 188, 189, 190, 191, 192, 193,
1251
  194, 195, 196, 197, 198, 199, 200, 201,
1252
  202, 203, 204, 205, 206, 207, 208, 209,
1253
  210, 211, 212, 213, 214, 215, 216, 217,
1254
  218, 219, 220, 221, 222, 223, 224, 225,
1255
  226, 227, 228, 229, 230, 231, 232, 233,
1256
  234, 235, 236, 237, 238, 239, 240, 241,
1257
  242, 243, 244, 245, 246, 247, 248, 249,
1258
  250, 251, 252, 253, 254, 255, 256, 257,
1259
  258, 259, 260, 261, 262, 263, 264, 265,
1260
  266, 267, 268, 269, 270, 271, 272, 273,
1261
  274, 275, 276, 277, 278, 279, 280, 281,
1262
  282, 283, 284, 285, 286, 287, 288, 289,
1263
  290, 291, 292, 293, 294, 295, 296, 297,
1264
  298, 299, 300, 301, 302, 303, 304, 305,
1265
  306, 307, 308, 309, 310, 311, 312, 313,
1266
  314, 315, 316, 317, 318, 319, 320, 321,
1267
  322, 323, 324, 325, 326, 327, 328, 329,
1268
  330, 331, 332, 333, 334, 335, 336, 337,
1269
  338, 339, 340, 341, 342, 343, 344, 345,
1270
  346, 347, 348, 349, 350, 351, 352, 353,
1271
  354, 355, 356, 357, 358, 359, 360, 361,
1272
  362, 363, 364, 365, 366, 367, 368, 369,
1273
  370, 371, 372, 373, 374, 375, 376, 377,
1274
  378, 379, 380, 381, 382, 383, 384, 385,
1275
  386, 387, 388, 389, 390, 391, 392, 393,
1276
  394, 395, 396, 397, 398, 399, 400, 401,
1277
  402, 403, 404, 405, 406, 407, 408, 409,
1278
  410, 411, 412, 413, 414, 415, 416, 417,
1279
  418, 419, 420, 421, 422, 423, 424, 425,
1280
  426, 427, 428, 429, 430, 431, 432, 433,
1281
  434, 435, 436, 437, 438, 439, 440, 441,
1282
  442, 443, 444, 445, 446, 447, 448, 449,
1283
  450, 451, 452, 453, 454, 455, 456, 457,
1284
  458, 459, 460, 461, 462, 463, 464, 465,
1285
  466, 467, 468, 469, 470, 471, 472, 473,
1286
  474, 475, 476, 477, 478, 479, 480, 481,
1287
  482, 483, 484, 485, 486, 487, 488, 489,
1288
  490, 491, 492, 493, 494, 495, 496, 497,
1289
  498, 499, 500, 501, 502, 503, 504, 505,
1290
  506, 507, 508, 509, 510, 511, 512, 513,
1291
  514, 515, 516, 517, 518, 519, 520, 521,
1292
  522, 523, 524, 525, 526, 527, 528, 529,
1293
  530, 531, 532, 533, 534, 535, 536, 537,
1294
  538, 539, 540, 541, 542, 543, 544, 545,
1295
  546, 547, 548, 549, 550, 551, 552, 553,
1296
  554, 555, 556, 557, 558, 559, 560, 561,
1297
  562, 563, 564, 565, 566, 567, 568, 569,
1298
  570, 571, 572, 573, 574, 575, 576, 577,
1299
  578, 579, 580, 581, 582, 583, 584, 585,
1300
  586, 587, 588, 589, 590, 591, 592, 593,
1301
  594, 595, 596, 597, 598, 599, 600, 601,
1302
  602, 603, 604, 605, 606, 607, 608, 609,
1303
  610, 611, 612, 613, 614, 615, 616, 617,
1304
  618, 619, 620, 621, 622, 623, 624, 625,
1305
  626, 627, 628, 629, 630, 631, 632, 633,
1306
  634, 635, 636, 637, 638, 639, 640, 641,
1307
  642, 643, 644, 645, 646, 647, 648, 649,
1308
  0
1309
};
1310
1311
static const short _spss_commands_cond_actions[] = {
1312
  0, 0, 0, 0, 0, 0, 0, 0,
1313
  0, 0, 0, 0, 0, 0, 0, 0,
1314
  0, 0, 0, 0, 0, 0, 0, 0,
1315
  0, 0, 0, 0, 0, 0, 0, 0,
1316
  0, 0, 0, 0, 0, 0, 0, 0,
1317
  0, 0, 0, 0, 0, 0, 0, 0,
1318
  0, 0, 0, 0, 0, 0, 0, 0,
1319
  0, 0, 0, 0, 0, 21, 21, 21,
1320
  21, 21, 21, 0, 0, 0, 0, 0,
1321
  0, 0, 0, 0, 0, 0, 0, 0,
1322
  0, 0, 0, 0, 0, 0, 0, 0,
1323
  0, 0, 0, 0, 0, 0, 0, 21,
1324
  21, 21, 21, 21, 21, 21, 21, 21,
1325
  21, 0, 0, 0, 0, 0, 0, 0,
1326
  0, 0, 0, 0, 0, 0, 0, 0,
1327
  0, 0, 0, 0, 0, 21, 21, 21,
1328
  21, 21, 0, 0, 0, 0, 0, 0,
1329
  0, 0, 0, 0, 23, 23, 0, 0,
1330
  0, 0, 0, 0, 0, 0, 23, 23,
1331
  23, 23, 23, 23, 0, 21, 21, 21,
1332
  21, 21, 21, 21, 81, 81, 81, 81,
1333
  81, 81, 0, 0, 0, 75, 17, 19,
1334
  0, 5, 5, 5, 5, 5, 0, 0,
1335
  0, 0, 0, 0, 0, 0, 0, 0,
1336
  0, 0, 0, 21, 21, 21, 21, 21,
1337
  21, 21, 21, 21, 21, 21, 0, 0,
1338
  0, 0, 0, 0, 0, 39, 0, 0,
1339
  0, 0, 0, 23, 23, 0, 21, 21,
1340
  21, 21, 81, 81, 0, 0, 0, 84,
1341
  84, 84, 84, 0, 0, 0, 0, 0,
1342
  0, 0, 0, 0, 39, 0, 21, 21,
1343
  21, 21, 120, 0, 0, 0, 45, 45,
1344
  45, 45, 3, 1, 0, 0, 0, 0,
1345
  0, 0, 69, 69, 0, 21, 21, 21,
1346
  21, 21, 124, 124, 0, 0, 0, 0,
1347
  0, 39, 0, 0, 1, 0, 0, 0,
1348
  0, 0, 0, 0, 0, 0, 0, 69,
1349
  69, 0, 21, 21, 21, 21, 124, 124,
1350
  0, 0, 0, 84, 84, 84, 84, 0,
1351
  0, 0, 0, 0, 0, 0, 0, 0,
1352
  39, 0, 21, 21, 21, 21, 120, 0,
1353
  0, 0, 48, 48, 48, 48, 3, 48,
1354
  48, 1, 0, 0, 0, 0, 0, 0,
1355
  0, 0, 69, 69, 0, 21, 21, 21,
1356
  21, 21, 21, 21, 124, 124, 0, 0,
1357
  0, 0, 0, 39, 0, 0, 1, 0,
1358
  0, 0, 0, 0, 0, 0, 0, 0,
1359
  0, 0, 0, 0, 0, 69, 69, 0,
1360
  21, 21, 21, 21, 21, 21, 124, 124,
1361
  0, 0, 0, 0, 0, 0, 0, 0,
1362
  0, 0, 0, 0, 0, 0, 0, 0,
1363
  0, 0, 0, 0, 0, 0, 0, 21,
1364
  21, 21, 21, 21, 21, 0, 0, 0,
1365
  0, 0, 0, 0, 0, 0, 0, 0,
1366
  0, 0, 0, 0, 0, 0, 0, 0,
1367
  0, 0, 0, 0, 0, 0, 0, 0,
1368
  21, 21, 21, 21, 21, 21, 0, 0,
1369
  0, 0, 0, 0, 0, 0, 0, 0,
1370
  0, 0, 0, 0, 0, 0, 0, 0,
1371
  0, 0, 0, 0, 0, 0, 0, 0,
1372
  0, 21, 21, 21, 21, 21, 0, 0,
1373
  0, 0, 0, 0, 0, 0, 0, 0,
1374
  0, 0, 0, 0, 0, 0, 0, 0,
1375
  0, 0, 0, 0, 0, 0, 0, 0,
1376
  0, 0, 0, 0, 0, 0, 0, 0,
1377
  0, 0, 0, 0, 0, 0, 0, 21,
1378
  21, 21, 21, 21, 21, 0, 0, 0,
1379
  0, 0, 0, 0, 0, 0, 0, 0,
1380
  0, 0, 0, 0, 0, 0, 0, 0,
1381
  0, 0, 0, 0, 0, 0, 0, 0,
1382
  0, 23, 23, 0, 21, 21, 21, 21,
1383
  21, 81, 81, 0, 0, 0, 23, 23,
1384
  0, 87, 87, 87, 87, 87, 0, 0,
1385
  0, 0, 0, 0, 0, 0, 0, 0,
1386
  0, 21, 21, 21, 21, 21, 0, 0,
1387
  0, 0, 0, 0, 0, 0, 0, 39,
1388
  23, 23, 0, 21, 21, 21, 21, 21,
1389
  21, 120, 81, 81, 0, 0, 0, 75,
1390
  17, 19, 0, 5, 5, 5, 5, 5,
1391
  5, 0, 0, 0, 0, 0, 0, 0,
1392
  0, 21, 21, 21, 21, 21, 21, 0,
1393
  0, 0, 72, 13, 15, 0, 0, 0,
1394
  0, 0, 0, 0, 1, 0, 25, 25,
1395
  25, 25, 25, 25, 0, 0, 0, 0,
1396
  0, 25, 25, 25, 25, 0, 0, 0,
1397
  0, 0, 0, 0, 0, 0, 0, 0,
1398
  21, 21, 21, 21, 21, 0, 0, 0,
1399
  0, 0, 0, 0, 0, 0, 0, 0,
1400
  0, 0, 0, 0, 0, 0, 0, 0,
1401
  0, 0, 0, 0, 0, 0, 0, 0,
1402
  23, 23, 0, 21, 21, 21, 21, 81,
1403
  81, 0, 0, 0, 25, 25, 25, 25,
1404
  0, 0, 0, 0, 0, 0, 0, 0,
1405
  0, 0, 23, 23, 0, 21, 21, 21,
1406
  21, 21, 81, 81, 0, 0, 0, 0,
1407
  0, 39, 0, 0, 1, 0, 39, 0,
1408
  0, 1, 0, 0, 0, 0, 0, 0,
1409
  0, 0, 0, 0, 0, 0, 0, 0,
1410
  21, 21, 21, 21, 21, 21, 0, 0,
1411
  0, 0, 0, 0, 0, 0, 0, 0,
1412
  0, 0, 0, 0, 0, 0, 0, 0,
1413
  0, 0, 0, 0, 0, 21, 21, 21,
1414
  21, 21, 21, 21, 21, 0, 0, 0,
1415
  0, 0, 0, 0, 0, 0, 0, 0,
1416
  0, 0, 0, 0, 0, 0, 0, 0,
1417
  0, 0, 0, 0, 21, 21, 21, 21,
1418
  21, 0, 0, 0, 23, 23, 23, 23,
1419
  0, 87, 87, 87, 87, 87, 0, 0,
1420
  0, 0, 0, 0, 0, 0, 0, 0,
1421
  0, 21, 21, 21, 21, 21, 0, 0,
1422
  0, 0, 0, 0, 0, 0, 0, 39,
1423
  23, 23, 0, 21, 21, 21, 21, 21,
1424
  21, 120, 81, 81, 0, 0, 0, 75,
1425
  17, 19, 0, 60, 60, 60, 60, 60,
1426
  60, 0, 0, 0, 0, 0, 0, 0,
1427
  0, 21, 21, 21, 21, 21, 21, 0,
1428
  0, 0, 72, 13, 15, 0, 9, 9,
1429
  9, 9, 9, 9, 1, 0, 90, 90,
1430
  90, 90, 90, 90, 0, 0, 0, 0,
1431
  0, 87, 87, 87, 87, 87, 0, 0,
1432
  0, 0, 0, 0, 0, 87, 87, 87,
1433
  87, 87, 0, 0, 0, 0, 0, 0,
1434
  0, 87, 87, 87, 87, 87, 0, 0,
1435
  0, 0, 0, 0, 0, 87, 87, 87,
1436
  87, 87, 0, 0, 0, 0, 0, 0,
1437
  0, 87, 87, 87, 87, 87, 0, 0,
1438
  0, 0, 0, 0, 0, 87, 87, 87,
1439
  87, 87, 0, 0, 0, 0, 0, 0,
1440
  0, 87, 87, 87, 87, 87, 0, 0,
1441
  0, 0, 0, 0, 0, 87, 87, 87,
1442
  87, 87, 0, 0, 0, 0, 0, 0,
1443
  0, 87, 87, 87, 87, 87, 0, 0,
1444
  0, 0, 0, 0, 0, 0, 0, 0,
1445
  0, 21, 21, 21, 21, 21, 0, 0,
1446
  0, 0, 0, 0, 0, 0, 0, 39,
1447
  23, 23, 0, 21, 21, 21, 21, 21,
1448
  21, 120, 81, 81, 0, 0, 0, 140,
1449
  140, 140, 140, 90, 90, 0, 0, 0,
1450
  0, 0, 0, 0, 0, 0, 0, 0,
1451
  0, 0, 0, 0, 0, 0, 0, 21,
1452
  21, 21, 21, 21, 21, 21, 21, 21,
1453
  21, 21, 21, 0, 0, 0, 0, 0,
1454
  39, 0, 96, 96, 96, 96, 96, 96,
1455
  1, 0, 0, 0, 0, 0, 0, 0,
1456
  23, 23, 0, 21, 21, 21, 21, 21,
1457
  21, 81, 81, 0, 0, 0, 84, 84,
1458
  84, 84, 0, 0, 0, 0, 0, 0,
1459
  0, 0, 0, 0, 0, 0, 0, 0,
1460
  0, 0, 21, 21, 21, 21, 21, 21,
1461
  21, 21, 21, 21, 0, 0, 0, 0,
1462
  0, 0, 0, 0, 0, 0, 0, 0,
1463
  39, 0, 102, 102, 102, 102, 102, 102,
1464
  1, 0, 39, 0, 99, 99, 99, 99,
1465
  99, 99, 1, 0, 7, 7, 7, 7,
1466
  7, 7, 1, 0, 0, 0, 0, 0,
1467
  0, 0, 0, 0, 0, 0, 0, 0,
1468
  0, 0, 0, 0, 0, 0, 0, 0,
1469
  0, 0, 0, 0, 0, 0, 0, 0,
1470
  0, 0, 0, 0, 0, 0, 0, 0,
1471
  0, 0, 0, 21, 21, 21, 21, 21,
1472
  21, 0, 0, 0, 0, 0, 0, 0,
1473
  0, 0, 0, 0, 0, 0, 0, 0,
1474
  0, 0, 0, 0, 0, 0, 0, 0,
1475
  0, 0, 0, 0, 23, 23, 0, 21,
1476
  21, 21, 21, 81, 81, 0, 0, 0,
1477
  84, 84, 84, 84, 0, 0, 0, 0,
1478
  0, 0, 0, 0, 0, 0, 0, 21,
1479
  21, 21, 21, 21, 0, 0, 0, 0,
1480
  0, 0, 75, 17, 19, 0, 5, 0,
1481
  0, 0, 0, 0, 0, 0, 0, 0,
1482
  0, 0, 0, 23, 23, 0, 21, 21,
1483
  21, 21, 21, 81, 81, 0, 0, 0,
1484
  72, 13, 15, 0, 0, 0, 0, 0,
1485
  0, 0, 0, 0, 0, 0, 0, 0,
1486
  0, 0, 0, 0, 0, 0, 0, 0,
1487
  0, 0, 0, 0, 23, 23, 0, 21,
1488
  21, 21, 21, 81, 81, 0, 0, 0,
1489
  25, 25, 25, 25, 0, 0, 0, 0,
1490
  0, 0, 0, 0, 0, 0, 0, 21,
1491
  21, 21, 21, 21, 0, 0, 0, 0,
1492
  39, 0, 39, 0, 0, 0, 0, 0,
1493
  0, 0, 1, 0, 0, 0, 0, 0,
1494
  0, 39, 0, 21, 21, 21, 21, 21,
1495
  120, 0, 0, 0, 39, 0, 0, 0,
1496
  0, 0, 0, 1, 0, 0, 0, 0,
1497
  0, 0, 0, 21, 21, 21, 21, 21,
1498
  0, 0, 0, 0, 0, 0, 0, 0,
1499
  0, 0, 0, 0, 0, 0, 0, 0,
1500
  0, 0, 0, 21, 21, 21, 21, 21,
1501
  0, 0, 0, 0, 0, 0, 0, 0,
1502
  0, 0, 0, 0, 0, 0, 0, 0,
1503
  0, 0, 0, 0, 0, 0, 0, 0,
1504
  0, 0, 0, 0, 21, 21, 21, 21,
1505
  21, 21, 21, 21, 0, 0, 0, 0,
1506
  0, 0, 0, 0, 0, 0, 0, 0,
1507
  0, 0, 0, 0, 0, 0, 0, 0,
1508
  0, 0, 0, 0, 0, 0, 0, 0,
1509
  0, 0, 0, 0, 0, 0, 0, 0,
1510
  0, 0, 21, 21, 21, 21, 21, 21,
1511
  21, 0, 0, 0, 75, 17, 19, 0,
1512
  5, 5, 5, 5, 5, 5, 0, 0,
1513
  0, 0, 0, 0, 0, 0, 21, 21,
1514
  21, 21, 21, 21, 0, 0, 0, 0,
1515
  0, 0, 0, 0, 0, 21, 21, 21,
1516
  21, 21, 0, 0, 0, 0, 0, 0,
1517
  0, 0, 0, 0, 0, 0, 0, 0,
1518
  0, 0, 0, 0, 0, 0, 0, 0,
1519
  0, 0, 0, 0, 0, 0, 0, 21,
1520
  21, 21, 21, 21, 21, 21, 0, 0,
1521
  0, 72, 13, 15, 0, 0, 0, 0,
1522
  0, 0, 0, 0, 21, 21, 21, 21,
1523
  21, 21, 0, 0, 0, 0, 0, 0,
1524
  0, 0, 0, 0, 0, 0, 0, 0,
1525
  0, 0, 0, 0, 0, 0, 0, 0,
1526
  0, 0, 0, 0, 0, 0, 0, 0,
1527
  0, 0, 0, 0, 0, 0, 0, 0,
1528
  0, 0, 0, 0, 0, 0, 0, 0,
1529
  0, 21, 21, 21, 21, 21, 21, 0,
1530
  0, 0, 0, 0, 0, 0, 0, 0,
1531
  0, 0, 0, 0, 0, 0, 0, 0,
1532
  0, 0, 39, 23, 23, 0, 0, 0,
1533
  0, 0, 0, 0, 0, 0, 0, 39,
1534
  23, 23, 0, 21, 21, 21, 21, 21,
1535
  21, 21, 21, 21, 120, 81, 81, 0,
1536
  0, 0, 75, 17, 19, 0, 5, 5,
1537
  5, 5, 5, 5, 5, 5, 5, 108,
1538
  66, 66, 0, 72, 13, 15, 0, 39,
1539
  0, 0, 0, 0, 0, 0, 0, 0,
1540
  0, 0, 42, 23, 23, 0, 25, 25,
1541
  25, 25, 25, 25, 25, 25, 0, 25,
1542
  128, 93, 93, 0, 25, 25, 25, 25,
1543
  25, 25, 25, 25, 0, 25, 132, 93,
1544
  93, 0, 21, 21, 21, 21, 21, 21,
1545
  21, 21, 120, 81, 81, 0, 0, 0,
1546
  0, 0, 0, 0, 0, 0, 0, 0,
1547
  0, 23, 23, 0, 21, 21, 21, 21,
1548
  81, 81, 0, 0, 0, 25, 25, 25,
1549
  25, 25, 0, 0, 0, 0, 0, 0,
1550
  0, 0, 0, 0, 0, 21, 21, 21,
1551
  21, 21, 0, 0, 0, 0, 0, 0,
1552
  0, 0, 0, 39, 23, 23, 0, 21,
1553
  21, 21, 21, 21, 21, 120, 81, 81,
1554
  0, 0, 0, 75, 17, 19, 0, 5,
1555
  5, 5, 5, 5, 0, 72, 13, 15,
1556
  0, 0, 0, 0, 0, 0, 1, 0,
1557
  25, 25, 25, 25, 25, 0, 0, 0,
1558
  0, 0, 0, 0, 0, 0, 0, 0,
1559
  0, 0, 0, 0, 0, 0, 0, 0,
1560
  0, 0, 0, 0, 0, 0, 0, 0,
1561
  0, 0, 0, 0, 21, 21, 21, 21,
1562
  21, 21, 0, 0, 0, 0, 0, 0,
1563
  0, 0, 0, 0, 0, 0, 0, 0,
1564
  0, 0, 0, 0, 0, 0, 0, 0,
1565
  0, 0, 0, 0, 0, 0, 23, 23,
1566
  0, 21, 21, 21, 21, 21, 81, 81,
1567
  0, 0, 0, 0, 0, 0, 0, 23,
1568
  23, 0, 21, 21, 21, 21, 81, 81,
1569
  0, 0, 0, 153, 153, 153, 153, 0,
1570
  0, 0, 0, 0, 0, 0, 0, 0,
1571
  0, 0, 0, 0, 39, 23, 23, 0,
1572
  21, 21, 21, 21, 21, 21, 21, 21,
1573
  120, 81, 81, 0, 0, 0, 75, 17,
1574
  19, 0, 116, 116, 116, 116, 0, 0,
1575
  0, 0, 0, 0, 0, 0, 21, 21,
1576
  21, 21, 21, 21, 0, 0, 0, 75,
1577
  17, 19, 0, 63, 63, 63, 63, 112,
1578
  112, 0, 0, 0, 0, 0, 0, 0,
1579
  0, 11, 11, 39, 0, 21, 21, 21,
1580
  21, 21, 21, 21, 78, 78, 120, 0,
1581
  0, 0, 72, 13, 15, 0, 39, 0,
1582
  33, 33, 33, 33, 1, 0, 0, 0,
1583
  0, 0, 0, 23, 23, 23, 23, 0,
1584
  21, 21, 21, 21, 21, 81, 81, 81,
1585
  81, 0, 0, 0, 153, 153, 153, 153,
1586
  0, 0, 0, 0, 0, 0, 0, 153,
1587
  153, 153, 153, 0, 0, 0, 0, 0,
1588
  0, 0, 153, 153, 153, 153, 0, 0,
1589
  0, 0, 0, 0, 0, 153, 153, 153,
1590
  153, 0, 0, 0, 0, 0, 0, 0,
1591
  153, 153, 153, 153, 0, 0, 0, 0,
1592
  0, 0, 0, 153, 153, 153, 153, 0,
1593
  0, 0, 0, 0, 0, 0, 153, 153,
1594
  153, 153, 0, 0, 0, 0, 0, 0,
1595
  0, 153, 153, 153, 153, 0, 0, 0,
1596
  0, 0, 0, 0, 0, 0, 0, 0,
1597
  0, 0, 23, 23, 39, 23, 23, 0,
1598
  21, 21, 21, 21, 21, 21, 21, 21,
1599
  81, 81, 120, 81, 81, 0, 0, 0,
1600
  31, 31, 31, 31, 0, 35, 35, 35,
1601
  35, 1, 0, 0, 0, 0, 0, 0,
1602
  0, 0, 0, 21, 21, 21, 21, 21,
1603
  21, 21, 0, 0, 0, 72, 13, 15,
1604
  0, 0, 0, 0, 0, 0, 0, 0,
1605
  0, 0, 144, 0, 21, 21, 21, 21,
1606
  148, 0, 0, 0, 37, 37, 37, 37,
1607
  1, 0, 136, 136, 136, 136, 0, 0,
1608
  0, 0, 0, 136, 136, 136, 136, 0,
1609
  0, 0, 0, 0, 0, 0, 136, 136,
1610
  136, 136, 0, 0, 0, 0, 0, 0,
1611
  0, 136, 136, 136, 136, 0, 0, 0,
1612
  0, 0, 0, 0, 136, 136, 136, 136,
1613
  0, 0, 0, 0, 0, 0, 0, 136,
1614
  136, 136, 136, 0, 0, 0, 0, 0,
1615
  0, 0, 0, 0, 0, 0, 0, 0,
1616
  39, 23, 23, 0, 21, 21, 21, 21,
1617
  21, 21, 21, 21, 120, 81, 81, 0,
1618
  0, 0, 158, 158, 158, 158, 0, 0,
1619
  0, 0, 0, 0, 0, 0, 0, 0,
1620
  0, 0, 0, 0, 39, 23, 23, 0,
1621
  21, 21, 21, 21, 21, 21, 21, 21,
1622
  21, 120, 81, 81, 0, 0, 0, 0,
1623
  0, 0, 0, 0, 0, 0, 0, 0,
1624
  0, 0, 0, 0, 0, 0, 0, 0,
1625
  0, 0, 0, 0, 0, 0, 0, 0,
1626
  0, 0, 0, 0, 0, 0, 0, 0,
1627
  0, 21, 21, 21, 21, 21, 21, 0,
1628
  0, 0, 0, 0, 0, 0, 23, 23,
1629
  0, 21, 21, 21, 21, 81, 81, 0,
1630
  0, 0, 153, 153, 153, 153, 0, 0,
1631
  0, 0, 0, 0, 0, 0, 0, 0,
1632
  23, 23, 0, 21, 21, 21, 21, 21,
1633
  81, 81, 0, 0, 0, 136, 136, 136,
1634
  136, 0, 0, 0, 0, 0, 0, 0,
1635
  0, 0, 0, 0, 0, 0, 0, 0,
1636
  0, 0, 0, 0, 0, 0, 0, 0,
1637
  136, 136, 136, 136, 0, 0, 0, 0,
1638
  0, 0, 0, 0, 0, 0, 0, 0,
1639
  0, 0, 0, 0, 0, 0, 0, 0,
1640
  0, 0, 0, 0, 0, 0, 0, 0,
1641
  0, 0, 0, 0, 21, 21, 21, 21,
1642
  21, 21, 0, 0, 0, 0, 0, 0,
1643
  0, 0, 0, 0, 0, 0, 0, 0,
1644
  0, 0, 0, 0, 0, 0, 0, 0,
1645
  0, 0, 0, 0, 23, 23, 0, 21,
1646
  21, 21, 21, 81, 81, 0, 0, 0,
1647
  84, 84, 84, 84, 0, 0, 0, 0,
1648
  0, 0, 0, 0, 0, 0, 0, 0,
1649
  21, 21, 21, 21, 21, 21, 0, 0,
1650
  0, 75, 17, 19, 0, 57, 57, 57,
1651
  57, 57, 57, 0, 0, 0, 0, 0,
1652
  0, 0, 23, 23, 0, 21, 21, 21,
1653
  21, 21, 21, 81, 81, 0, 0, 0,
1654
  0, 0, 0, 0, 0, 0, 0, 0,
1655
  0, 0, 0, 23, 23, 0, 21, 21,
1656
  21, 21, 21, 81, 81, 0, 0, 0,
1657
  72, 13, 15, 0, 0, 0, 0, 0,
1658
  0, 0, 0, 0, 0, 0, 0, 0,
1659
  0, 0, 39, 0, 105, 105, 105, 105,
1660
  105, 105, 1, 0, 0, 0, 0, 0,
1661
  0, 0, 0, 0, 0, 0, 0, 0,
1662
  0, 0, 0, 0, 0, 21, 21, 21,
1663
  21, 21, 21, 21, 0, 0, 0, 0,
1664
  0, 0, 0, 0, 0, 0, 21, 21,
1665
  21, 21, 21, 21, 0, 0, 0, 0,
1666
  39, 0, 27, 27, 27, 27, 27, 27,
1667
  0, 0, 1, 0, 0, 0, 0, 0,
1668
  39, 0, 21, 21, 21, 21, 120, 0,
1669
  0, 0, 54, 54, 54, 54, 54, 54,
1670
  1, 0, 0, 39, 0, 27, 27, 27,
1671
  27, 0, 0, 1, 0, 0, 0, 0,
1672
  0, 39, 0, 21, 21, 21, 21, 120,
1673
  0, 0, 0, 51, 51, 51, 51, 1,
1674
  0, 29, 29, 29, 29, 1, 0, 0,
1675
  0, 0, 0, 0, 0, 0, 0, 0,
1676
  0, 0, 0, 0, 0, 0, 0, 0,
1677
  0, 0, 0, 0, 0, 0, 0, 0,
1678
  0, 0, 0, 0, 21, 21, 21, 21,
1679
  21, 0, 0, 0, 0, 0, 0, 0,
1680
  39, 0, 21, 21, 21, 21, 120, 0,
1681
  0, 0, 0, 0, 0, 0, 0, 1,
1682
  0, 0, 0, 0, 0, 0, 0, 0,
1683
  0, 0, 0, 0, 0, 0, 0, 0,
1684
  0, 0, 0, 72, 13, 15, 0, 25,
1685
  25, 25, 25, 25, 0, 0, 0, 0,
1686
  0, 25, 25, 25, 25, 25, 0, 0,
1687
  0, 0, 0, 0, 0, 25, 25, 25,
1688
  25, 25, 0, 0, 0, 0, 0, 0,
1689
  0, 25, 25, 25, 25, 25, 0, 0,
1690
  0, 0, 0, 0, 0, 25, 25, 25,
1691
  25, 25, 0, 0, 0, 0, 0, 0,
1692
  0, 0, 0, 0, 0, 0, 0, 0,
1693
  0, 0, 0, 0, 0, 21, 21, 21,
1694
  21, 21, 21, 21, 21, 21, 21, 21,
1695
  21, 0, 0, 0, 25, 25, 25, 25,
1696
  25, 0, 0, 0, 0, 0, 0, 0,
1697
  25, 25, 25, 25, 25, 0, 0, 0,
1698
  0, 0, 0, 0, 25, 25, 25, 25,
1699
  25, 0, 0, 0, 0, 0, 0, 0,
1700
  25, 25, 25, 25, 25, 0, 0, 0,
1701
  0, 0, 0, 0, 25, 25, 25, 25,
1702
  25, 0, 0, 0, 0, 0, 0, 0,
1703
  25, 25, 25, 25, 25, 0, 0, 0,
1704
  0, 0, 0, 0, 0, 0, 0, 0,
1705
  0, 0, 0, 0, 0, 0, 0, 0,
1706
  0, 0, 21, 21, 21, 21, 21, 21,
1707
  21, 21, 21, 21, 21, 21, 0, 0,
1708
  0, 25, 25, 25, 25, 25, 0, 0,
1709
  0, 0, 0, 0, 0, 0, 0, 0,
1710
  0, 0, 0, 0, 0, 0, 0, 0,
1711
  0, 0, 0, 0, 0, 0, 0, 0,
1712
  0, 0, 0, 0, 21, 21, 21, 21,
1713
  21, 21, 0, 0, 0, 0, 0, 0,
1714
  0, 0, 0, 0, 0, 0, 0, 0,
1715
  0, 0, 0, 0, 0, 0, 0, 0,
1716
  0, 23, 23, 0, 21, 21, 21, 21,
1717
  21, 21, 81, 81, 0, 0, 0, 75,
1718
  17, 19, 0, 5, 5, 5, 5, 5,
1719
  0, 0, 0, 0, 0, 0, 0, 0,
1720
  21, 21, 21, 21, 21, 21, 0, 0,
1721
  0, 0, 0, 0, 0, 0, 0, 0,
1722
  0, 0, 0, 0, 0, 0, 0, 0,
1723
  0, 0, 0, 0, 0, 0, 21, 21,
1724
  21, 21, 21, 0, 0, 0, 0, 0,
1725
  0, 0, 23, 23, 0, 21, 21, 21,
1726
  21, 81, 81, 0, 0, 0, 25, 25,
1727
  25, 25, 25, 0, 0, 0, 0, 0,
1728
  72, 13, 15, 0, 0, 0, 0, 0,
1729
  0, 0, 0, 0, 0, 0, 0, 0,
1730
  0, 0, 0, 0, 0, 0, 0, 0,
1731
  0, 0, 0, 0, 0, 0, 23, 23,
1732
  0, 21, 21, 21, 21, 21, 81, 81,
1733
  0, 0, 0, 25, 25, 25, 25, 25,
1734
  0, 0, 0, 0, 0, 0, 0, 0,
1735
  0, 0, 0, 0, 0, 0, 0, 0,
1736
  0, 0, 0, 0, 0, 0, 0, 0,
1737
  0, 0, 0, 0, 0, 0, 0, 0,
1738
  0, 21, 21, 21, 21, 21, 21, 21,
1739
  21, 21, 21, 21, 21, 21, 21, 21,
1740
  21, 21, 21, 21, 21, 21, 21, 21,
1741
  21, 21, 21, 21, 0, 7, 7, 7,
1742
  7, 7, 7, 7, 7, 7, 7, 7,
1743
  7, 7, 7, 7, 7, 7, 7, 7,
1744
  7, 7, 7, 7, 7, 7, 7, 7,
1745
  0, 0, 0, 0, 0, 0, 0, 0,
1746
  0, 0, 0, 0, 0, 0, 0, 0,
1747
  0, 0, 0, 0, 0, 0, 0, 0,
1748
  0, 0, 0, 0, 39, 0, 0, 0,
1749
  0, 0, 0, 0, 0, 0, 0, 0,
1750
  0, 0, 0, 0, 0, 0, 0, 0,
1751
  0, 0, 0, 0, 0, 0, 0, 0,
1752
  0, 0, 0, 0, 0, 0, 0, 0,
1753
  0, 0, 0, 0, 0, 0, 0, 0,
1754
  0, 0, 0, 0, 0, 0, 0, 0,
1755
  0, 0, 0, 0, 0, 0, 0, 0,
1756
  0, 0, 0, 0, 0, 0, 0, 0,
1757
  0, 0, 0, 0, 0, 0, 0, 0,
1758
  0, 0, 0, 0, 0, 0, 0, 0,
1759
  0, 0, 0, 0, 0, 0, 0, 0,
1760
  0, 0, 0, 0, 0, 0, 0, 0,
1761
  0, 0, 0, 0, 0, 0, 0, 0,
1762
  0, 0, 0, 0, 0, 0, 0, 0,
1763
  0, 0, 0, 0, 0, 0, 0, 0,
1764
  0, 0, 0, 0, 0, 0, 0, 0,
1765
  0, 0, 0, 0, 0, 0, 0, 0,
1766
  0, 0, 0, 0, 0, 0, 0, 0,
1767
  0, 0, 0, 0, 0, 0, 0, 0,
1768
  0, 0, 0, 0, 0, 0, 0, 0,
1769
  0, 0, 0, 0, 0, 0, 0, 0,
1770
  0, 0, 0, 0, 0, 0, 0, 0,
1771
  0, 0, 0, 0, 0, 0, 0, 0,
1772
  0, 0, 0, 0, 0, 0, 0, 0,
1773
  0, 0, 0, 0, 0, 0, 0, 0,
1774
  0, 0, 0, 0, 0, 0, 0, 0,
1775
  0, 0, 0, 0, 0, 0, 0, 0,
1776
  0, 0, 0, 0, 0, 0, 0, 0,
1777
  0, 0, 0, 0, 0, 0, 0, 0,
1778
  0, 0, 0, 0, 0, 0, 0, 0,
1779
  0, 0, 0, 0, 0, 0, 0, 0,
1780
  0, 0, 0, 0, 0, 0, 0, 0,
1781
  0, 0, 0, 0, 0, 0, 0, 0,
1782
  0, 0, 0, 0, 0, 0, 0, 0,
1783
  0, 0, 0, 0, 0, 0, 0, 0,
1784
  0, 0, 0, 0, 0, 0, 0, 0,
1785
  0, 0, 0, 0, 0, 0, 0, 0,
1786
  0, 0, 0, 0, 0, 0, 0, 0,
1787
  0, 0, 0, 0, 0, 0, 0, 0,
1788
  0, 0, 0, 0, 0, 0, 0, 0,
1789
  0, 0, 0, 0, 0, 0, 0, 0,
1790
  0, 0, 0, 0, 0, 0, 0, 0,
1791
  0, 0, 0, 0, 0, 0, 0, 0,
1792
  0, 0, 0, 0, 0, 0, 0, 0,
1793
  0, 0, 0, 0, 0, 0, 0, 0,
1794
  0, 0, 0, 0, 0, 0, 0, 0,
1795
  0, 0, 0, 0, 0, 0, 0, 0,
1796
  0, 0, 0, 0, 0, 0, 0, 0,
1797
  0, 0, 0, 0, 0, 0, 0, 0,
1798
  0, 0, 0, 0, 0, 0, 0, 0,
1799
  0, 0, 0, 0, 0, 0, 0, 0,
1800
  0, 0, 0, 0, 0, 0, 0, 0,
1801
  0, 0, 0, 0, 0, 0, 0, 0,
1802
  0, 0, 0, 0, 0, 0, 0, 0,
1803
  0, 0, 0, 0, 0, 0, 0, 0,
1804
  0, 0, 0, 0, 0, 0, 0, 0,
1805
  0, 0, 0, 0, 0, 0, 0, 0,
1806
  0, 0, 0, 0, 0, 0, 0, 0,
1807
  0, 0, 0, 0, 0, 0, 0, 0,
1808
  0, 0, 0, 0, 0, 0, 0, 0,
1809
  0, 0, 0, 0, 0, 0, 0, 0,
1810
  0, 0, 0, 0, 0, 0, 0, 0,
1811
  0, 0, 0, 0, 0, 0, 0, 0,
1812
  0, 0, 0, 0, 0, 0, 0, 0,
1813
  0, 0, 0, 0, 0, 0, 0, 0,
1814
  0, 0, 0, 0, 0, 0, 0, 0,
1815
  0, 0, 0, 0, 0, 0, 0, 0,
1816
  0, 0, 0, 0, 0, 0, 0, 0,
1817
  0, 0, 0, 0, 0, 0, 0, 0,
1818
  0, 0, 0, 0, 0, 0, 0, 0,
1819
  0, 0, 0, 0, 0, 0, 0, 0,
1820
  0, 0, 0, 0, 0, 0, 0, 0,
1821
  0, 0, 0, 0, 0, 0, 0, 0,
1822
  0, 0, 0, 0, 0, 0, 0, 0,
1823
  0, 0, 0, 0, 0, 0, 0, 0,
1824
  0, 0, 0, 0, 0, 0, 0, 0,
1825
  0, 0, 0, 0, 0, 0, 0, 0,
1826
  0, 0, 0, 0, 0, 0, 0, 0,
1827
  0, 0, 0, 0, 0, 0, 0, 0,
1828
  0, 0, 0, 0, 0, 0, 0, 0,
1829
  0, 0, 0, 0, 0, 21, 7, 0,
1830
  0
1831
};
1832
1833
static const short _spss_commands_eof_trans[] = {
1834
  3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502,
1835
  3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510,
1836
  3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518,
1837
  3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526,
1838
  3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534,
1839
  3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542,
1840
  3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550,
1841
  3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558,
1842
  3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566,
1843
  3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574,
1844
  3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582,
1845
  3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590,
1846
  3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598,
1847
  3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606,
1848
  3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614,
1849
  3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622,
1850
  3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630,
1851
  3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638,
1852
  3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646,
1853
  3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654,
1854
  3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662,
1855
  3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670,
1856
  3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678,
1857
  3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686,
1858
  3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694,
1859
  3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702,
1860
  3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710,
1861
  3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718,
1862
  3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726,
1863
  3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734,
1864
  3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742,
1865
  3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750,
1866
  3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758,
1867
  3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766,
1868
  3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774,
1869
  3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782,
1870
  3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790,
1871
  3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798,
1872
  3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806,
1873
  3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814,
1874
  3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822,
1875
  3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830,
1876
  3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838,
1877
  3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846,
1878
  3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854,
1879
  3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862,
1880
  3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870,
1881
  3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878,
1882
  3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886,
1883
  3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894,
1884
  3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902,
1885
  3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910,
1886
  3911, 3912, 3913, 3914, 3915, 3916, 3917, 3918,
1887
  3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926,
1888
  3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934,
1889
  3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942,
1890
  3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950,
1891
  3951, 3952, 3953, 3954, 3955, 3956, 3957, 3958,
1892
  3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966,
1893
  3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974,
1894
  3975, 3976, 3977, 3978, 3979, 3980, 3981, 3982,
1895
  3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990,
1896
  3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998,
1897
  3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006,
1898
  4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014,
1899
  4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022,
1900
  4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030,
1901
  4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038,
1902
  4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046,
1903
  4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054,
1904
  4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062,
1905
  4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070,
1906
  4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078,
1907
  4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086,
1908
  4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094,
1909
  4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102,
1910
  4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110,
1911
  4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118,
1912
  4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126,
1913
  4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134,
1914
  4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142,
1915
  4143, 4144, 0
1916
};
1917
1918
static const int spss_commands_start = 646;
1919
1920
static const int spss_commands_en_main = 646;
1921
1922
1923
#line 14 "src/txt/readstat_spss_commands_read.rl"
1924
1925
1926
readstat_schema_t *readstat_parse_spss_commands(readstat_parser_t *parser,
1927
1.03k
const char *filepath, void *user_ctx, readstat_error_t *outError) {
1928
1.03k
  if (parser->io->open(filepath, parser->io->io_ctx) == -1) {
1929
0
    if (outError)
1930
0
      *outError = READSTAT_ERROR_OPEN;
1931
0
    return NULL;
1932
0
  }
1933
1.03k
  readstat_schema_t *schema = NULL;
1934
1.03k
  unsigned char *bytes = NULL;
1935
1.03k
  readstat_error_t error = READSTAT_OK;
1936
1.03k
  ssize_t len = parser->io->seek(0, READSTAT_SEEK_END, parser->io->io_ctx);
1937
1.03k
  if (len == -1) {
1938
0
    error = READSTAT_ERROR_SEEK;
1939
0
    goto cleanup;
1940
0
  }
1941
1.03k
  parser->io->seek(0, READSTAT_SEEK_SET, parser->io->io_ctx);
1942
  
1943
1.03k
  bytes = malloc(len);
1944
  
1945
1.03k
  parser->io->read(bytes, len, parser->io->io_ctx);
1946
  
1947
1.03k
  unsigned char *p = bytes;
1948
1.03k
  unsigned char *pe = bytes + len;
1949
  
1950
1.03k
  unsigned char *eof = pe;
1951
  
1952
1.03k
  unsigned char *str_start = NULL;
1953
  
1954
1.03k
  size_t str_len = 0;
1955
  
1956
1.03k
  int cs;
1957
  
1958
1.03k
  int i;
1959
1.03k
  int line_no = 0;
1960
1.03k
  uint64_t first_integer = 0, integer = 0;
1961
1.03k
  double double_value = NAN;
1962
1.03k
  unsigned char *line_start = p;
1963
  
1964
1.03k
  char varname[32];
1965
1.03k
  char argname[32];
1966
1.03k
  char string_value[32];
1967
1.03k
  char buf[1024];
1968
  
1969
1.03k
  char var_list[1024][32];
1970
  
1971
1.03k
  long var_col = 0;
1972
1.03k
  long var_row = 0;
1973
1.03k
  long var_len = 0;
1974
1.03k
  long var_count = 0;
1975
1.03k
  readstat_type_t var_type = READSTAT_TYPE_DOUBLE;
1976
1.03k
  label_type_t label_type = LABEL_TYPE_DOUBLE;
1977
  
1978
1.03k
  int labelset_count = 0;
1979
  
1980
1.03k
  if ((schema = calloc(1, sizeof(readstat_schema_t))) == NULL) {
1981
0
    error = READSTAT_ERROR_MALLOC;
1982
0
    goto cleanup;
1983
0
  }
1984
  
1985
1.03k
  schema->rows_per_observation = 1;
1986
  
1987
  
1988
1.03k
#line 1989 "src/txt/readstat_spss_commands_read.c"
1989
1.03k
  {
1990
1.03k
    cs = (int)spss_commands_start;
1991
1.03k
  }
1992
  
1993
1.03k
#line 1994 "src/txt/readstat_spss_commands_read.c"
1994
1.03k
  {
1995
1.03k
    int _klen;
1996
1.03k
    unsigned int _trans = 0;
1997
1.03k
    const char * _keys;
1998
1.03k
    const signed char * _acts;
1999
1.03k
    unsigned int _nacts;
2000
6.78M
    _resume: {}
2001
6.78M
    if ( p == pe && p != eof )
2002
0
      goto _out;
2003
6.78M
    if ( p == eof ) {
2004
987
      if ( _spss_commands_eof_trans[cs] > 0 ) {
2005
987
        _trans = (unsigned int)_spss_commands_eof_trans[cs] - 1;
2006
987
      }
2007
987
    }
2008
6.78M
    else {
2009
6.78M
      _keys = ( _spss_commands_trans_keys + (_spss_commands_key_offsets[cs]));
2010
6.78M
      _trans = (unsigned int)_spss_commands_index_offsets[cs];
2011
      
2012
6.78M
      _klen = (int)_spss_commands_single_lengths[cs];
2013
6.78M
      if ( _klen > 0 ) {
2014
6.78M
        const char *_lower = _keys;
2015
6.78M
        const char *_upper = _keys + _klen - 1;
2016
6.78M
        const char *_mid;
2017
20.2M
        while ( 1 ) {
2018
20.2M
          if ( _upper < _lower ) {
2019
6.70M
            _keys += _klen;
2020
6.70M
            _trans += (unsigned int)_klen;
2021
6.70M
            break;
2022
6.70M
          }
2023
          
2024
13.4M
          _mid = _lower + ((_upper-_lower) >> 1);
2025
13.4M
          if ( ( (*( p))) < (*( _mid)) )
2026
2.54M
            _upper = _mid - 1;
2027
10.9M
          else if ( ( (*( p))) > (*( _mid)) )
2028
10.8M
            _lower = _mid + 1;
2029
72.4k
          else {
2030
72.4k
            _trans += (unsigned int)(_mid - _keys);
2031
72.4k
            goto _match;
2032
72.4k
          }
2033
13.4M
        }
2034
6.78M
      }
2035
      
2036
6.70M
      _klen = (int)_spss_commands_range_lengths[cs];
2037
6.70M
      if ( _klen > 0 ) {
2038
3.29M
        const char *_lower = _keys;
2039
3.29M
        const char *_upper = _keys + (_klen<<1) - 2;
2040
3.29M
        const char *_mid;
2041
6.28M
        while ( 1 ) {
2042
6.28M
          if ( _upper < _lower ) {
2043
27
            _trans += (unsigned int)_klen;
2044
27
            break;
2045
27
          }
2046
          
2047
6.28M
          _mid = _lower + (((_upper-_lower) >> 1) & ~1);
2048
6.28M
          if ( ( (*( p))) < (*( _mid)) )
2049
641k
            _upper = _mid - 2;
2050
5.64M
          else if ( ( (*( p))) > (*( _mid + 1)) )
2051
2.34M
            _lower = _mid + 2;
2052
3.29M
          else {
2053
3.29M
            _trans += (unsigned int)((_mid - _keys)>>1);
2054
3.29M
            break;
2055
3.29M
          }
2056
6.28M
        }
2057
3.29M
      }
2058
      
2059
6.78M
      _match: {}
2060
6.78M
    }
2061
6.78M
    cs = (int)_spss_commands_cond_targs[_trans];
2062
    
2063
6.78M
    if ( _spss_commands_cond_actions[_trans] != 0 ) {
2064
      
2065
89.7k
      _acts = ( _spss_commands_actions + (_spss_commands_cond_actions[_trans]));
2066
89.7k
      _nacts = (unsigned int)(*( _acts));
2067
89.7k
      _acts += 1;
2068
279k
      while ( _nacts > 0 ) {
2069
189k
        switch ( (*( _acts)) )
2070
189k
        {
2071
6.38k
          case 0:  {
2072
6.38k
            {
2073
6.38k
#line 78 "src/txt/readstat_spss_commands_read.rl"
2074
              
2075
6.38k
              integer = 0;
2076
6.38k
            }
2077
            
2078
6.38k
#line 2079 "src/txt/readstat_spss_commands_read.c"
2079
            
2080
6.38k
            break; 
2081
0
          }
2082
7.88k
          case 1:  {
2083
7.88k
            {
2084
7.88k
#line 82 "src/txt/readstat_spss_commands_read.rl"
2085
              
2086
7.88k
              integer = 10 * integer + ((( (*( p)))) - '0');
2087
7.88k
            }
2088
            
2089
7.88k
#line 2090 "src/txt/readstat_spss_commands_read.c"
2090
            
2091
7.88k
            break; 
2092
0
          }
2093
1.87k
          case 2:  {
2094
1.87k
            {
2095
1.87k
#line 86 "src/txt/readstat_spss_commands_read.rl"
2096
              
2097
1.87k
              var_col = integer - 1;
2098
1.87k
              var_len = 1;
2099
1.87k
            }
2100
            
2101
1.87k
#line 2102 "src/txt/readstat_spss_commands_read.c"
2102
            
2103
1.87k
            break; 
2104
0
          }
2105
194
          case 3:  {
2106
194
            {
2107
194
#line 91 "src/txt/readstat_spss_commands_read.rl"
2108
              
2109
194
              var_len = integer - var_col;
2110
194
            }
2111
            
2112
194
#line 2113 "src/txt/readstat_spss_commands_read.c"
2113
            
2114
194
            break; 
2115
0
          }
2116
5.89k
          case 4:  {
2117
5.89k
            {
2118
5.89k
#line 95 "src/txt/readstat_spss_commands_read.rl"
2119
              
2120
5.89k
              readstat_copy_quoted(buf, sizeof(buf), (char *)str_start, str_len);
2121
5.89k
            }
2122
            
2123
5.89k
#line 2124 "src/txt/readstat_spss_commands_read.c"
2124
            
2125
5.89k
            break; 
2126
0
          }
2127
966
          case 5:  {
2128
966
            {
2129
966
#line 99 "src/txt/readstat_spss_commands_read.rl"
2130
              
2131
966
              readstat_copy_quoted(string_value, sizeof(string_value), (char *)str_start, str_len);
2132
966
            }
2133
            
2134
966
#line 2135 "src/txt/readstat_spss_commands_read.c"
2135
            
2136
966
            break; 
2137
0
          }
2138
25.3k
          case 6:  {
2139
25.3k
            {
2140
25.3k
#line 107 "src/txt/readstat_spss_commands_read.rl"
2141
              
2142
25.3k
              readstat_copy(varname, sizeof(varname), (char *)str_start, str_len);
2143
25.3k
            }
2144
            
2145
25.3k
#line 2146 "src/txt/readstat_spss_commands_read.c"
2146
            
2147
25.3k
            break; 
2148
0
          }
2149
1.08k
          case 7:  {
2150
1.08k
            {
2151
1.08k
#line 111 "src/txt/readstat_spss_commands_read.rl"
2152
              
2153
1.08k
              readstat_copy(argname, sizeof(argname), (char *)str_start, str_len);
2154
1.08k
            }
2155
            
2156
1.08k
#line 2157 "src/txt/readstat_spss_commands_read.c"
2157
            
2158
1.08k
            break; 
2159
0
          }
2160
2.26k
          case 8:  {
2161
2.26k
            {
2162
2.26k
#line 115 "src/txt/readstat_spss_commands_read.rl"
2163
              
2164
2.26k
              readstat_schema_entry_t *entry = readstat_schema_find_or_create_entry(schema, varname);
2165
2.26k
              entry->variable.type = var_type;
2166
2.26k
              entry->variable.storage_width = var_len;
2167
2.26k
              entry->row = var_row;
2168
2.26k
              entry->col = var_col;
2169
2.26k
              entry->len = var_len;
2170
2.26k
            }
2171
            
2172
2.26k
#line 2173 "src/txt/readstat_spss_commands_read.c"
2173
            
2174
2.26k
            break; 
2175
0
          }
2176
991
          case 9:  {
2177
991
            {
2178
991
#line 124 "src/txt/readstat_spss_commands_read.rl"
2179
              
2180
991
              readstat_schema_entry_t *entry = readstat_schema_find_or_create_entry(schema, varname);
2181
991
              readstat_copy(entry->variable.label, sizeof(entry->variable.label), buf, sizeof(buf));
2182
991
            }
2183
            
2184
991
#line 2185 "src/txt/readstat_spss_commands_read.c"
2185
            
2186
991
            break; 
2187
0
          }
2188
1.35k
          case 10:  {
2189
1.35k
            {
2190
1.35k
#line 129 "src/txt/readstat_spss_commands_read.rl"
2191
              
2192
1.35k
              var_count = 0;
2193
1.35k
            }
2194
            
2195
1.35k
#line 2196 "src/txt/readstat_spss_commands_read.c"
2196
            
2197
1.35k
            break; 
2198
0
          }
2199
21.6k
          case 11:  {
2200
21.6k
            {
2201
21.6k
#line 133 "src/txt/readstat_spss_commands_read.rl"
2202
              
2203
21.6k
              if (var_count < sizeof(var_list)/sizeof(var_list[0])) {
2204
21.4k
                memcpy(var_list[var_count++], varname, sizeof(varname));
2205
21.4k
              }
2206
21.6k
            }
2207
            
2208
21.6k
#line 2209 "src/txt/readstat_spss_commands_read.c"
2209
            
2210
21.6k
            break; 
2211
0
          }
2212
1.04k
          case 12:  {
2213
1.04k
            {
2214
1.04k
#line 139 "src/txt/readstat_spss_commands_read.rl"
2215
              
2216
1.04k
              if (strcasecmp(argname, "FIRSTCASE") == 0) {
2217
234
                schema->first_line = integer;
2218
234
              }
2219
1.04k
              if (strcasecmp(argname, "DELIMITERS") == 0) {
2220
302
                schema->field_delimiter = buf[0];
2221
302
              }
2222
1.04k
            }
2223
            
2224
1.04k
#line 2225 "src/txt/readstat_spss_commands_read.c"
2225
            
2226
1.04k
            break; 
2227
0
          }
2228
894
          case 13:  {
2229
894
            {
2230
894
#line 148 "src/txt/readstat_spss_commands_read.rl"
2231
              
2232
894
              char labelset_name[256];
2233
894
              snprintf(labelset_name, sizeof(labelset_name), "labels%d", labelset_count++);
2234
4.10k
              for (i=0; i<var_count; i++) {
2235
3.21k
                readstat_schema_entry_t *entry = readstat_schema_find_or_create_entry(schema, varname);
2236
3.21k
                readstat_copy(entry->labelset, sizeof(entry->labelset), labelset_name, sizeof(labelset_name));
2237
3.21k
              }
2238
894
            }
2239
            
2240
894
#line 2241 "src/txt/readstat_spss_commands_read.c"
2241
            
2242
894
            break; 
2243
0
          }
2244
3.24k
          case 14:  {
2245
3.24k
            {
2246
3.24k
#line 157 "src/txt/readstat_spss_commands_read.rl"
2247
              
2248
3.24k
              char labelset_name[256];
2249
3.24k
              snprintf(labelset_name, sizeof(labelset_name), "labels%d", labelset_count);
2250
3.24k
              error = submit_value_label(parser, labelset_name, label_type,
2251
3.24k
              first_integer, integer, double_value, string_value, buf, user_ctx);
2252
3.24k
              if (error != READSTAT_OK)
2253
0
              goto cleanup;
2254
3.24k
            }
2255
            
2256
3.24k
#line 2257 "src/txt/readstat_spss_commands_read.c"
2257
            
2258
3.24k
            break; 
2259
3.24k
          }
2260
3.81k
          case 15:  {
2261
3.81k
            {
2262
3.81k
#line 166 "src/txt/readstat_spss_commands_read.rl"
2263
3.81k
              str_start = p; }
2264
            
2265
3.81k
#line 2266 "src/txt/readstat_spss_commands_read.c"
2266
            
2267
3.81k
            break; 
2268
3.24k
          }
2269
3.81k
          case 16:  {
2270
3.81k
            {
2271
3.81k
#line 166 "src/txt/readstat_spss_commands_read.rl"
2272
3.81k
              str_len = p - str_start; }
2273
            
2274
3.81k
#line 2275 "src/txt/readstat_spss_commands_read.c"
2275
            
2276
3.81k
            break; 
2277
3.24k
          }
2278
2.10k
          case 17:  {
2279
2.10k
            {
2280
2.10k
#line 168 "src/txt/readstat_spss_commands_read.rl"
2281
2.10k
              str_start = p; }
2282
            
2283
2.10k
#line 2284 "src/txt/readstat_spss_commands_read.c"
2284
            
2285
2.10k
            break; 
2286
3.24k
          }
2287
2.10k
          case 18:  {
2288
2.10k
            {
2289
2.10k
#line 168 "src/txt/readstat_spss_commands_read.rl"
2290
2.10k
              str_len = p - str_start; }
2291
            
2292
2.10k
#line 2293 "src/txt/readstat_spss_commands_read.c"
2293
            
2294
2.10k
            break; 
2295
3.24k
          }
2296
32.8k
          case 19:  {
2297
32.8k
            {
2298
32.8k
#line 172 "src/txt/readstat_spss_commands_read.rl"
2299
32.8k
              line_no++; line_start = p; }
2300
            
2301
32.8k
#line 2302 "src/txt/readstat_spss_commands_read.c"
2302
            
2303
32.8k
            break; 
2304
3.24k
          }
2305
27.6k
          case 20:  {
2306
27.6k
            {
2307
27.6k
#line 174 "src/txt/readstat_spss_commands_read.rl"
2308
27.6k
              str_start = p; }
2309
            
2310
27.6k
#line 2311 "src/txt/readstat_spss_commands_read.c"
2311
            
2312
27.6k
            break; 
2313
3.24k
          }
2314
27.7k
          case 21:  {
2315
27.7k
            {
2316
27.7k
#line 174 "src/txt/readstat_spss_commands_read.rl"
2317
27.7k
              str_len = p - str_start; }
2318
            
2319
27.7k
#line 2320 "src/txt/readstat_spss_commands_read.c"
2320
            
2321
27.7k
            break; 
2322
3.24k
          }
2323
194
          case 22:  {
2324
194
            {
2325
194
#line 192 "src/txt/readstat_spss_commands_read.rl"
2326
194
              var_type = READSTAT_TYPE_STRING; }
2327
            
2328
194
#line 2329 "src/txt/readstat_spss_commands_read.c"
2329
            
2330
194
            break; 
2331
3.24k
          }
2332
199
          case 23:  {
2333
199
            {
2334
199
#line 195 "src/txt/readstat_spss_commands_read.rl"
2335
199
              var_type = READSTAT_TYPE_STRING; }
2336
            
2337
199
#line 2338 "src/txt/readstat_spss_commands_read.c"
2338
            
2339
199
            break; 
2340
3.24k
          }
2341
194
          case 24:  {
2342
194
            {
2343
194
#line 196 "src/txt/readstat_spss_commands_read.rl"
2344
194
              var_type = READSTAT_TYPE_DOUBLE; }
2345
            
2346
194
#line 2347 "src/txt/readstat_spss_commands_read.c"
2347
            
2348
194
            break; 
2349
3.24k
          }
2350
212
          case 25:  {
2351
212
            {
2352
212
#line 197 "src/txt/readstat_spss_commands_read.rl"
2353
212
              var_type = READSTAT_TYPE_DOUBLE; }
2354
            
2355
212
#line 2356 "src/txt/readstat_spss_commands_read.c"
2356
            
2357
212
            break; 
2358
3.24k
          }
2359
197
          case 26:  {
2360
197
            {
2361
197
#line 198 "src/txt/readstat_spss_commands_read.rl"
2362
197
              var_type = READSTAT_TYPE_STRING; }
2363
            
2364
197
#line 2365 "src/txt/readstat_spss_commands_read.c"
2365
            
2366
197
            break; 
2367
3.24k
          }
2368
275
          case 27:  {
2369
275
            {
2370
275
#line 219 "src/txt/readstat_spss_commands_read.rl"
2371
275
              var_row = integer - 1; }
2372
            
2373
275
#line 2374 "src/txt/readstat_spss_commands_read.c"
2374
            
2375
275
            break; 
2376
3.24k
          }
2377
500
          case 28:  {
2378
500
            {
2379
500
#line 220 "src/txt/readstat_spss_commands_read.rl"
2380
500
              var_type = READSTAT_TYPE_DOUBLE; }
2381
            
2382
500
#line 2383 "src/txt/readstat_spss_commands_read.c"
2383
            
2384
500
            break; 
2385
3.24k
          }
2386
1.37k
          case 29:  {
2387
1.37k
            {
2388
1.37k
#line 221 "src/txt/readstat_spss_commands_read.rl"
2389
1.37k
              var_type = READSTAT_TYPE_DOUBLE; }
2390
            
2391
1.37k
#line 2392 "src/txt/readstat_spss_commands_read.c"
2392
            
2393
1.37k
            break; 
2394
3.24k
          }
2395
837
          case 30:  {
2396
837
            {
2397
837
#line 254 "src/txt/readstat_spss_commands_read.rl"
2398
837
              label_type = -1; }
2399
            
2400
837
#line 2401 "src/txt/readstat_spss_commands_read.c"
2401
            
2402
837
            break; 
2403
3.24k
          }
2404
195
          case 31:  {
2405
195
            {
2406
195
#line 260 "src/txt/readstat_spss_commands_read.rl"
2407
195
              label_type = LABEL_TYPE_DOUBLE; double_value = -(double)integer; }
2408
            
2409
195
#line 2410 "src/txt/readstat_spss_commands_read.c"
2410
            
2411
195
            break; 
2412
3.24k
          }
2413
1.33k
          case 32:  {
2414
1.33k
            {
2415
1.33k
#line 261 "src/txt/readstat_spss_commands_read.rl"
2416
1.33k
              label_type = LABEL_TYPE_DOUBLE; double_value = integer; }
2417
            
2418
1.33k
#line 2419 "src/txt/readstat_spss_commands_read.c"
2419
            
2420
1.33k
            break; 
2421
3.24k
          }
2422
896
          case 33:  {
2423
896
            {
2424
896
#line 262 "src/txt/readstat_spss_commands_read.rl"
2425
896
              first_integer = integer; }
2426
            
2427
896
#line 2428 "src/txt/readstat_spss_commands_read.c"
2428
            
2429
896
            break; 
2430
3.24k
          }
2431
889
          case 34:  {
2432
889
            {
2433
889
#line 262 "src/txt/readstat_spss_commands_read.rl"
2434
889
              label_type = LABEL_TYPE_RANGE; }
2435
            
2436
889
#line 2437 "src/txt/readstat_spss_commands_read.c"
2437
            
2438
889
            break; 
2439
3.24k
          }
2440
966
          case 35:  {
2441
966
            {
2442
966
#line 263 "src/txt/readstat_spss_commands_read.rl"
2443
966
              label_type = LABEL_TYPE_STRING; }
2444
            
2445
966
#line 2446 "src/txt/readstat_spss_commands_read.c"
2446
            
2447
966
            break; 
2448
3.24k
          }
2449
189k
        }
2450
189k
        _nacts -= 1;
2451
189k
        _acts += 1;
2452
189k
      }
2453
      
2454
89.7k
    }
2455
    
2456
6.78M
    if ( p == eof ) {
2457
987
      if ( cs >= 646 )
2458
242
        goto _out;
2459
987
    }
2460
6.78M
    else {
2461
6.78M
      if ( cs != 0 ) {
2462
6.78M
        p += 1;
2463
6.78M
        goto _resume;
2464
6.78M
      }
2465
6.78M
    }
2466
1.03k
    _out: {}
2467
1.03k
  }
2468
  
2469
0
#line 313 "src/txt/readstat_spss_commands_read.rl"
2470
  
2471
  
2472
  /* suppress warnings */
2473
0
  (void)spss_commands_en_main;
2474
  
2475
1.03k
  if (cs < 
2476
1.03k
#line 2477 "src/txt/readstat_spss_commands_read.c"
2477
1.03k
  646
2478
1.03k
#line 318 "src/txt/readstat_spss_commands_read.rl"
2479
1.03k
  ) {
2480
791
    char error_buf[1024];
2481
791
    if (p == pe) {
2482
745
      snprintf(error_buf, sizeof(error_buf), "Error parsing SPSS command file (end-of-file unexpectedly reached)");
2483
745
    } else {
2484
46
      snprintf(error_buf, sizeof(error_buf), "Error parsing SPSS command file around line #%d, col #%ld (%c)",
2485
46
      line_no + 1, (long)(p - line_start + 1), *p);
2486
46
    }
2487
791
    if (parser->handlers.error) {
2488
0
      parser->handlers.error(error_buf, user_ctx);
2489
0
    }
2490
791
    error = READSTAT_ERROR_PARSE;
2491
791
    goto cleanup;
2492
791
  }
2493
  
2494
242
  error = submit_columns(parser, schema, user_ctx);
2495
  
2496
1.03k
  cleanup:
2497
1.03k
  parser->io->close(parser->io->io_ctx);
2498
1.03k
  free(bytes);
2499
1.03k
  if (error != READSTAT_OK) {
2500
791
    if (outError)
2501
0
      *outError = error;
2502
791
    readstat_schema_free(schema);
2503
791
    schema = NULL;
2504
791
  }
2505
  
2506
1.03k
  return schema;
2507
242
}