Mercurial > ~dholland > hg > ag > index.cgi
comparison tests/agcl/contrib/good/plm.c @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:13d2b8934445 |
---|---|
1 /* | |
2 * YACC grammar of PL/M | |
3 */ | |
4 #include <stdio.h> | |
5 #include <stdlib.h> | |
6 #include "plm-manifest.h" | |
7 #include "scope.h" | |
8 | |
9 void yyerror (); | |
10 | |
11 /* Cause the `yydebug' variable to be defined. */ | |
12 #define YYDEBUG (1) | |
13 | |
14 | |
15 | |
16 /* | |
17 * AnaGram, A System for Syntax Directed Programming | |
18 * File generated by: ... | |
19 * | |
20 * AnaGram Parsing Engine | |
21 * Copyright 1993-2002 Parsifal Software. All Rights Reserved. | |
22 * | |
23 * This software is provided 'as-is', without any express or implied | |
24 * warranty. In no event will the authors be held liable for any damages | |
25 * arising from the use of this software. | |
26 * | |
27 * Permission is granted to anyone to use this software for any purpose, | |
28 * including commercial applications, and to alter it and redistribute it | |
29 * freely, subject to the following restrictions: | |
30 * | |
31 * 1. The origin of this software must not be misrepresented; you must not | |
32 * claim that you wrote the original software. If you use this software | |
33 * in a product, an acknowledgment in the product documentation would be | |
34 * appreciated but is not required. | |
35 * 2. Altered source versions must be plainly marked as such, and must not be | |
36 * misrepresented as being the original software. | |
37 * 3. This notice may not be removed or altered from any source distribution. | |
38 */ | |
39 | |
40 #ifndef PLM_H | |
41 #include "plm.h" | |
42 #endif | |
43 | |
44 #ifndef PLM_H | |
45 #error Mismatched header file | |
46 #endif | |
47 | |
48 #include <ctype.h> | |
49 #include <stdio.h> | |
50 | |
51 #define RULE_CONTEXT (&((PCB).cs[(PCB).ssx])) | |
52 #define ERROR_CONTEXT ((PCB).cs[(PCB).error_frame_ssx]) | |
53 #define CONTEXT ((PCB).cs[(PCB).ssx]) | |
54 | |
55 | |
56 | |
57 plm_pcb_type plm_pcb; | |
58 #define PCB plm_pcb | |
59 | |
60 /* Line -, plm.syn */ | |
61 void | |
62 yyerror(char * s) | |
63 { | |
64 fprintf (stderr, "error at line %d: %s\n", lineno, s); | |
65 } | |
66 | |
67 main() | |
68 { | |
69 init_scope(); | |
70 return yyparse(); | |
71 } | |
72 | |
73 | |
74 #ifndef CONVERT_CASE | |
75 | |
76 static const char agCaseTable[31] = { | |
77 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, | |
78 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, | |
79 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0, | |
80 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 | |
81 }; | |
82 | |
83 static int agConvertCase(int c) { | |
84 if (c >= 'a' && c <= 'z') return c ^= 0x20; | |
85 if (c >= 0xe0 && c < 0xff) c ^= agCaseTable[c-0xe0]; | |
86 return c; | |
87 } | |
88 | |
89 #define CONVERT_CASE(c) agConvertCase(c) | |
90 | |
91 #endif | |
92 | |
93 | |
94 #ifndef TAB_SPACING | |
95 #define TAB_SPACING 8 | |
96 #endif | |
97 | |
98 static void ag_rp_1(void) { | |
99 /* Line -, plm.syn */ | |
100 push_scope(); | |
101 | |
102 } | |
103 | |
104 static void ag_rp_2(void) { | |
105 /* Line -, plm.syn */ | |
106 push_scope(); | |
107 | |
108 } | |
109 | |
110 static void ag_rp_3(void) { | |
111 /* Line -, plm.syn */ | |
112 pop_scope(); | |
113 | |
114 } | |
115 | |
116 static void ag_rp_4(void) { | |
117 /* Line -, plm.syn */ | |
118 push_scope(); | |
119 | |
120 } | |
121 | |
122 static void ag_rp_5(void) { | |
123 /* Line -, plm.syn */ | |
124 enter_literal ($1, $3); | |
125 | |
126 } | |
127 | |
128 static void ag_rp_6(void) { | |
129 /* Line -, plm.syn */ | |
130 push_scope(); | |
131 | |
132 } | |
133 | |
134 static void ag_rp_7(void) { | |
135 /* Line -, plm.syn */ | |
136 push_scope(); | |
137 | |
138 } | |
139 | |
140 | |
141 #define READ_COUNTS | |
142 #define WRITE_COUNTS | |
143 #undef V | |
144 #define V(i,t) (*t (&(PCB).vs[(PCB).ssx + i])) | |
145 #undef VS | |
146 #define VS(i) (PCB).vs[(PCB).ssx + i] | |
147 | |
148 #ifndef GET_CONTEXT | |
149 #define GET_CONTEXT CONTEXT = (PCB).input_context | |
150 #endif | |
151 | |
152 typedef enum { | |
153 ag_action_1, | |
154 ag_action_2, | |
155 ag_action_3, | |
156 ag_action_4, | |
157 ag_action_5, | |
158 ag_action_6, | |
159 ag_action_7, | |
160 ag_action_8, | |
161 ag_action_9, | |
162 ag_action_10, | |
163 ag_action_11, | |
164 ag_action_12 | |
165 } ag_parser_action; | |
166 | |
167 | |
168 #ifndef NULL_VALUE_INITIALIZER | |
169 #define NULL_VALUE_INITIALIZER = 0 | |
170 #endif | |
171 | |
172 static int const ag_null_value NULL_VALUE_INITIALIZER; | |
173 | |
174 static const unsigned char ag_rpx[] = { | |
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, | |
179 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
181 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, | |
182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
186 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
187 0, 0, 7 | |
188 }; | |
189 | |
190 static const unsigned char ag_key_itt[] = { | |
191 0 | |
192 }; | |
193 | |
194 static const unsigned short ag_key_pt[] = { | |
195 0 | |
196 }; | |
197 | |
198 static const unsigned char ag_key_ch[] = { | |
199 0, 47,255, 42,255, 61, 62,255, 68, 78, 84,255, 84,255, 65, 89,255, 76, | |
200 83, 85,255, 65, 72,255, 65, 69, 73, 79, 87,255, 65, 68,255, 76, 78, 79, | |
201 88,255, 84,255, 79,255, 65, 87,255, 71, 82,255, 69,255, 73, 84,255, 70, | |
202 78,255, 65, 73, 79,255, 73, 79,255, 70, 82,255, 76, 79, 82, 85,255, 65, | |
203 69, 84,255, 69,255, 69, 72, 84,255, 72, 79,255, 72, 79,255, 47, 58, 60, | |
204 62, 65, 66, 67, 68, 69, 71, 72, 73, 76, 77, 78, 79, 80, 81, 82, 83, 84, | |
205 87, 88,255, 61, 62,255, 47, 58, 60, 62,255, 69,255, 76, 85,255, 65, 72, | |
206 255, 73, 79, 87,255, 65, 68,255, 78,255, 84,255, 79,255, 65, 87,255, 70, | |
207 78,255, 79, 82,255, 65, 84,255, 69,255, 69, 72,255, 47, 65, 66, 67, 68, | |
208 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 68,255, 47, 67, 87,255, | |
209 76, 85,255, 65, 72,255, 69, 73, 79, 87,255, 65, 68,255, 78,255, 84,255, | |
210 79,255, 65, 87,255, 70, 78,255, 65, 84,255, 69,255, 69, 72,255, 65, 66, | |
211 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 76, 85,255, 65, | |
212 72,255, 69, 73, 79, 87,255, 65, 68,255, 76, 78, 79,255, 84,255, 79,255, | |
213 65, 87,255, 70, 78,255, 65, 84,255, 69,255, 69, 72,255, 47, 65, 66, 67, | |
214 68, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 73, 84,255, 78,255, | |
215 47, 65, 68, 69, 73, 80, 82,255, 69, 72,255, 47, 65, 66, 67, 68, 72, 73, | |
216 76, 78, 79, 80, 81, 82, 83, 87,255, 47, 84,255, 67, 87,255, 69, 72,255, | |
217 65, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 82, 83, 87,255, 84,255, 76, | |
218 85,255, 65, 72,255, 73, 79, 87,255, 65, 68,255, 78,255, 84,255, 79,255, | |
219 65, 87,255, 70, 78,255, 65, 84,255, 69,255, 69, 72,255, 65, 66, 67, 68, | |
220 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 76, 85,255, 65, 72,255, | |
221 73, 79, 87,255, 84,255, 79,255, 65, 87,255, 70, 78,255, 65, 84,255, 69, | |
222 255, 69, 72,255, 65, 66, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, | |
223 87,255, 76, 85,255, 65, 72,255, 73, 79, 87,255, 65, 68,255, 78,255, 84, | |
224 255, 79,255, 65, 87,255, 70, 78,255, 79, 82,255, 65, 84,255, 69,255, 69, | |
225 72,255, 65, 66, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, | |
226 69, 72, 84,255, 47, 65, 66, 67, 68, 72, 73, 76, 78, 79, 80, 81, 82, 83, | |
227 87,255, 69, 72, 84,255, 65, 66, 67, 68, 72, 73, 76, 79, 80, 81, 82, 83, | |
228 87,255, 65, 89,255, 65, 73, 79,255, 69, 72, 84,255, 65, 66, 67, 68, 72, | |
229 73, 76, 79, 80, 81, 82, 83, 87,255, 61, 62,255, 73, 79,255, 72, 79,255, | |
230 47, 60, 62, 77, 79, 80, 84, 88,255, 61, 62,255, 73, 79,255, 72, 79,255, | |
231 47, 60, 62, 77, 80, 84, 88,255, 69, 72,255, 47, 65, 66, 67, 68, 72, 73, | |
232 76, 79, 80, 81, 82, 83, 87,255, 39,255, 61, 62,255, 73, 79,255, 72, 79, | |
233 255, 47, 60, 62, 65, 66, 77, 79, 80, 84, 88,255, 69, 72,255, 65, 66, 67, | |
234 68, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 61, 62,255, 73, 79,255, 72, | |
235 79,255, 60, 62, 65, 66, 77, 79, 80, 84, 88,255, 61, 62,255, 72, 79,255, | |
236 60, 62, 65, 66, 77, 79, 80, 84, 88,255, 61, 62,255, 73, 79,255, 72, 79, | |
237 255, 58, 60, 62, 65, 66, 77, 79, 80, 84, 88,255, 72, 79,255, 65, 66, 79, | |
238 84, 88,255, 72, 79,255, 66, 79, 84, 88,255, 84,255, 69,255, 76, 85,255, | |
239 65, 72,255, 73, 79, 87,255, 65, 68,255, 76, 78,255, 84,255, 79,255, 65, | |
240 87,255, 70, 78,255, 65, 84,255, 69,255, 69, 72,255, 65, 66, 67, 68, 69, | |
241 71, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 71, 82,255, 69,255, 84,255, | |
242 78,255, 79, 85,255, 65, 69,255, 69,255, 69, 72,255, 47, 65, 66, 67, 68, | |
243 69, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 71, 82,255, 69,255, 84,255, | |
244 78,255, 79, 85,255, 65, 69,255, 69,255, 69, 72,255, 65, 66, 67, 68, 69, | |
245 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 47, 69, 80,255, 69, 80,255, 66, | |
246 255, 66,255, 61, 62,255, 73, 79,255, 76, 85,255, 72, 79,255, 47, 60, 62, | |
247 77, 79, 80, 84, 88,255, 61, 62,255, 73, 79,255, 76, 85,255, 72, 79,255, | |
248 47, 60, 62, 77, 80, 84, 88,255, 47, 80,255, 76, 85,255, 65, 72,255, 73, | |
249 79, 87,255, 84,255, 79,255, 65, 87,255, 70, 78,255, 65, 84,255, 69,255, | |
250 69, 72,255, 47, 65, 66, 67, 68, 69, 71, 72, 73, 76, 79, 80, 81, 82, 83, | |
251 87,255, 65, 68, 69, 73, 80,255, 47, 68, 69, 73, 80, 82,255, 61, 62,255, | |
252 68, 78, 84,255, 84,255, 89,255, 65, 87,255, 71, 82,255, 69,255, 73, 84, | |
253 255, 78,255, 65, 79,255, 73, 79,255, 70, 82,255, 76, 79, 85,255, 65, 69, | |
254 255, 69,255, 69, 72, 84,255, 72, 79,255, 47, 58, 60, 62, 65, 66, 67, 68, | |
255 69, 72, 73, 76, 77, 79, 80, 81, 82, 83, 84, 87, 88,255, 65, 79,255, 69, | |
256 72, 84,255, 65, 66, 67, 68, 72, 73, 76, 79, 80, 81, 82, 83, 87,255, 72, | |
257 79,255, 65, 66, 77, 79, 80, 84, 88,255, 69, 73, 80, 82,255, 83,255, 68, | |
258 73,255, 65, 68, 73,255, 68,255, 47, 69, 73, 80, 82,255 | |
259 }; | |
260 | |
261 static const unsigned char ag_key_act[] = { | |
262 0,3,4,3,4,0,0,4,3,3,0,4,3,4,3,1,4,3,3,3,4,2,3,4,3,3,3,0,3,4,3,0,4,3,2, | |
263 3,3,4,3,4,1,4,3,3,4,3,3,4,2,4,3,2,4,0,2,4,3,3,3,4,3,3,4,3,0,4,3,3,3,3, | |
264 4,3,3,3,4,2,4,3,3,3,4,3,0,4,3,3,4,3,3,2,3,2,2,2,2,2,2,2,2,2,2,3,2,2,3, | |
265 2,2,2,2,3,4,0,0,4,3,3,2,3,4,3,4,3,3,4,2,3,4,3,0,3,4,3,0,4,2,4,3,4,1,4, | |
266 3,3,4,0,3,4,3,3,4,3,3,4,2,4,3,3,4,3,3,3,2,2,2,2,2,2,3,3,2,3,2,2,3,4,3, | |
267 4,3,3,3,4,3,3,4,2,3,4,3,3,0,3,4,3,0,4,2,4,3,4,1,4,3,3,4,0,3,4,3,3,4,2, | |
268 4,3,3,4,3,3,2,2,2,2,2,2,3,3,3,3,2,2,3,4,3,3,4,2,3,4,3,3,0,3,4,3,0,4,3, | |
269 2,3,4,3,4,1,4,3,3,4,0,3,4,3,3,4,2,4,3,3,4,3,3,3,2,2,2,2,2,2,3,3,3,3,2, | |
270 2,3,4,3,3,4,2,4,3,3,3,3,2,3,3,4,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,4, | |
271 3,3,4,3,3,4,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,2,3,4,3,4,3,3,4,2,3,4,3,0,3, | |
272 4,3,0,4,2,4,3,4,1,4,3,3,4,0,3,4,3,3,4,2,4,3,3,4,3,3,2,2,2,2,2,2,3,3,3, | |
273 3,2,2,3,4,3,3,4,2,3,4,3,0,3,4,3,4,1,4,3,3,4,0,3,4,3,3,4,2,4,3,3,4,3,3, | |
274 2,2,3,2,2,2,3,3,3,3,2,2,3,4,3,3,4,2,3,4,3,0,3,4,3,0,4,2,4,3,4,1,4,3,3, | |
275 4,0,3,4,3,3,4,3,3,4,2,4,3,3,4,3,3,2,2,2,2,2,2,3,3,2,3,2,2,3,4,3,3,3,4, | |
276 3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,4,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,2,3,4,3, | |
277 3,4,3,3,3,4,3,3,3,4,3,2,3,3,3,3,2,3,3,3,3,2,3,4,0,0,4,3,3,4,3,0,4,3,2, | |
278 3,2,3,3,2,3,4,0,0,4,3,3,4,3,0,4,3,2,3,2,3,2,3,4,3,3,4,3,3,3,3,3,3,3,3, | |
279 3,3,3,3,2,3,4,3,4,0,0,4,3,3,4,3,0,4,3,2,3,3,3,2,3,3,2,3,4,3,3,4,3,3,3, | |
280 3,3,3,3,3,3,3,3,2,3,4,0,0,4,3,3,4,3,0,4,2,3,3,3,2,3,3,2,3,4,0,0,4,3,0, | |
281 4,2,3,3,3,3,3,3,2,3,4,0,0,4,3,3,4,3,0,4,3,2,3,3,3,2,3,3,2,3,4,3,0,4,3, | |
282 3,3,2,3,4,3,0,4,3,3,2,3,4,3,4,3,4,3,3,4,2,3,4,3,0,3,4,3,0,4,3,2,4,3,4, | |
283 1,4,3,3,4,0,3,4,3,3,4,2,4,3,3,4,3,3,2,2,2,2,2,2,3,3,3,3,2,2,3,4,3,3,4, | |
284 2,4,2,4,2,4,3,3,4,3,3,4,2,4,3,3,4,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,4,3,3, | |
285 4,2,4,2,4,2,4,3,3,4,3,3,4,2,4,3,3,4,3,3,3,3,3,3,2,3,3,2,3,2,2,3,4,3,3, | |
286 3,4,3,3,4,3,4,3,4,0,0,4,3,3,4,3,3,4,3,0,4,3,2,3,2,3,2,2,3,4,0,0,4,3,3, | |
287 4,3,3,4,3,0,4,3,2,3,2,2,2,3,4,3,3,4,3,3,4,2,3,4,3,0,3,4,3,4,1,4,3,3,4, | |
288 0,3,4,3,3,4,2,4,3,3,4,3,3,3,2,2,3,2,2,2,3,3,3,3,2,2,3,4,3,3,3,3,3,4,3, | |
289 3,3,3,3,3,4,0,0,4,3,3,0,4,3,4,1,4,3,3,4,3,3,4,2,4,3,2,4,2,4,3,3,4,3,3, | |
290 4,3,0,4,3,3,3,4,3,3,4,2,4,3,3,3,4,3,0,4,3,3,2,3,2,2,3,2,3,3,2,2,2,2,2, | |
291 3,2,2,2,3,3,4,3,3,4,3,3,3,4,3,3,3,3,3,3,2,3,3,3,3,2,3,4,3,0,4,3,3,3,3, | |
292 3,2,3,4,3,3,3,3,4,3,4,3,3,4,3,3,3,4,3,4,3,3,3,3,3,4 | |
293 }; | |
294 | |
295 static const unsigned short ag_key_parm[] = { | |
296 0, 63, 0, 67, 0,324,326, 0,268,263,312, 0,269, 0,329,282, 0,283, | |
297 293,284, 0, 0,270, 0,289,291,292,294,271, 0,297,298, 0,286, 0,285, | |
298 316, 0,300, 0,302, 0,303,272, 0,273,309, 0, 0, 0,308, 0, 0,306, | |
299 0, 0,299,310,274, 0,260,314, 0,275,318, 0,261,276,321,317, 0,278, | |
300 320,328, 0, 0, 0,279,280,327, 0,305,301, 0,295,281, 0, 63,296, 0, | |
301 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,313, 0, 0,277, 0, 0, 0, | |
302 0,319, 0,324,326, 0, 63,296, 0,322, 0,285, 0,283,284, 0, 0,270, | |
303 0,292,294,271, 0,297,298, 0, 0, 0,300, 0,302, 0,303,272, 0,306, | |
304 273, 0,276,321, 0,278,328, 0, 0, 0,279,280, 0, 63,268,269, 0, 0, | |
305 0, 0, 0, 0,274,275, 0,277, 0, 0,281, 0,294, 0, 63,293,295, 0, | |
306 283,284, 0, 0,270, 0,291,292,294,271, 0,297,298, 0, 0, 0,300, 0, | |
307 302, 0,303,272, 0,306,273, 0,278,328, 0, 0, 0,279,280, 0,268,269, | |
308 0, 0, 0, 0, 0, 0,274,275,276,277, 0, 0,281, 0,283,284, 0, 0, | |
309 270, 0,291,292,294,271, 0,297,298, 0,286, 0,285, 0,300, 0,302, 0, | |
310 303,272, 0,306,273, 0,278,328, 0, 0, 0,279,280, 0, 63,268,269, 0, | |
311 0, 0, 0, 0, 0,274,275,276,277, 0, 0,281, 0,308,309, 0, 0, 0, | |
312 63,312,289,316, 0,317,320, 0,279,280, 0, 63,268,269,270,271,272,273, | |
313 274,313,275,276,277,278, 0,281, 0, 63,301, 0,293,295, 0,279,280, 0, | |
314 268,269,270,271,272,273,274,313,275,276,277,278, 0,281, 0,301, 0,283, | |
315 284, 0, 0,270, 0,292,294,271, 0,297,298, 0, 0, 0,300, 0,302, 0, | |
316 303,272, 0,306,273, 0,278,328, 0, 0, 0,279,280, 0,268,269, 0, 0, | |
317 0, 0, 0, 0,274,275,276,277, 0, 0,281, 0,283,284, 0, 0,270, 0, | |
318 292,294,271, 0,300, 0,302, 0,303,272, 0,306,273, 0,278,328, 0, 0, | |
319 0,279,280, 0,268,269, 0, 0,297, 0, 0, 0,274,275,276,277, 0, 0, | |
320 281, 0,283,284, 0, 0,270, 0,292,294,271, 0,297,298, 0, 0, 0,300, | |
321 0,302, 0,303,272, 0,306,273, 0,276,321, 0,278,328, 0, 0, 0,279, | |
322 280, 0,268,269, 0, 0, 0, 0, 0, 0,274,275, 0,277, 0, 0,281, 0, | |
323 279,280,327, 0, 63,268,269,270,271,272,273,274,313,275,276,277,278, 0, | |
324 281, 0,279,280,327, 0,268,269,270,271,272,273,274,275,276,277,278, 0, | |
325 281, 0,329,269, 0,299,310,274, 0,279,280,327, 0,268, 0,270,271,272, | |
326 273, 0,275,276,277,278, 0,281, 0,324,326, 0,260,314, 0,305,301, 0, | |
327 63, 0,322, 0,318,261, 0,319, 0,324,326, 0,260,314, 0,305,301, 0, | |
328 63, 0,322, 0,261, 0,319, 0,279,280, 0, 63,268,269,270,271,272,273, | |
329 274,275,276,277,278, 0,281, 0,245, 0,324,326, 0,260,314, 0,305,301, | |
330 0, 63, 0,322,263,282, 0,318,261, 0,319, 0,279,280, 0,268,269,270, | |
331 271,272,273,274,275,276,277,278, 0,281, 0,324,326, 0,260,314, 0,305, | |
332 301, 0, 0,322,263,282, 0,318,261, 0,319, 0,324,326, 0,305,301, 0, | |
333 0,322,263,282,260,318,261, 0,319, 0,324,326, 0,260,314, 0,305,301, | |
334 0,296, 0,322,263,282, 0,318,261, 0,319, 0,305,301, 0,263,282,318, | |
335 0,319, 0,305,301, 0,282,318, 0,319, 0,305, 0,286, 0,283,284, 0, | |
336 0,270, 0,292,294,271, 0,297,298, 0,286, 0, 0,300, 0,302, 0,303, | |
337 272, 0,306,273, 0,278,328, 0, 0, 0,279,280, 0,268,269, 0, 0, 0, | |
338 0, 0, 0,274,275,276,277, 0, 0,281, 0,273,309, 0, 0, 0, 0, 0, | |
339 0, 0,276,317, 0,278,320, 0, 0, 0,279,280, 0, 63,268,269,270,271, | |
340 316,272, 0,274,275, 0,277, 0, 0,281, 0,273,309, 0, 0, 0, 0, 0, | |
341 0, 0,276,317, 0,278,320, 0, 0, 0,279,280, 0,268,269,270,271,316, | |
342 272, 0,274,275, 0,277, 0, 0,281, 0, 63,316,317, 0,316,317, 0,329, | |
343 0,282, 0,324,326, 0,260,314, 0,261,317, 0,305,301, 0, 63, 0,322, | |
344 0,318, 0, 0,319, 0,324,326, 0,260,314, 0,261,317, 0,305,301, 0, | |
345 63, 0,322, 0, 0, 0,319, 0, 63,317, 0,283,284, 0, 0,270, 0,292, | |
346 294,271, 0,300, 0,302, 0,303,272, 0,306,273, 0,278,328, 0, 0, 0, | |
347 279,280, 0, 63,268,269, 0, 0,297, 0, 0, 0,274,275,276,277, 0, 0, | |
348 281, 0,312,289,316,308,317, 0, 63,289,316,309,317,320, 0,324,326, 0, | |
349 268,263,312, 0,269, 0,282, 0,289,271, 0,273,309, 0, 0, 0,308, 0, | |
350 0, 0, 0,299,274, 0,260,314, 0,275,318, 0,261,276,317, 0,278,320, | |
351 0, 0, 0,279,280,327, 0,305,301, 0, 63,296, 0,322, 0, 0,270, 0, | |
352 316,272, 0, 0, 0, 0, 0,277, 0, 0, 0,281,319, 0,299,274, 0,279, | |
353 280,327, 0,268,269,270,271,272,273, 0,275,276,277,278, 0,281, 0,305, | |
354 301, 0,263,282,260,318,261, 0,319, 0,316,309,317,320, 0,327, 0,289, | |
355 308, 0,312,289,308, 0,289, 0, 63,316,309,317,320, 0 | |
356 }; | |
357 | |
358 static const unsigned short ag_key_jmp[] = { | |
359 0, 0, 0, 2, 0, 0, 0, 0, 10, 16, 0, 0, 22, 0, 18, 12, 0, 24, | |
360 26, 28, 0, 17, 40, 0, 46, 49, 55, 0, 61, 0, 68, 0, 0, 65, 30, 72, | |
361 74, 0, 81, 0, 38, 0, 83, 86, 0, 95, 98, 0, 45, 0, 90, 48, 0, 0, | |
362 50, 0,102,106,114, 0,120,124, 0,129, 0, 0,134,137,143,151, 0,161, | |
363 163,170, 0, 71, 0,174,181,188, 0,196, 0, 0,199,203, 0, 4, 6, 5, | |
364 8, 8, 14, 21, 24, 33, 40, 42, 53, 56, 60,126, 63, 66,156, 75, 77, 81, | |
365 84,206, 0, 0, 0, 0,209,211,111,213, 0,215, 0,231,233, 0,121,245, | |
366 0,251, 0,257, 0,261, 0, 0,131, 0,265, 0,136, 0,267,270, 0, 0, | |
367 274, 0,293,299, 0,312,314, 0,149, 0,318,325, 0,218,220,227,124,127, | |
368 134,138,140,143,280,287,146,307,152,154,332, 0,336, 0,338,340,344, 0, | |
369 360,362, 0,180,374, 0,380,386, 0,392, 0,396, 0, 0,191, 0,400, 0, | |
370 196, 0,402,405, 0, 0,409, 0,440,442, 0,206, 0,446,453, 0,349,356, | |
371 183,186,194,198,200,203,415,422,428,435,209,211,460, 0,477,479, 0,230, | |
372 491, 0,497,503, 0,509, 0,516, 0, 0,513,241,520, 0,522, 0,248, 0, | |
373 524,527, 0, 0,531, 0,562,564, 0,258, 0,568,575, 0,464,466,473,233, | |
374 236,244,250,252,255,537,544,550,557,261,263,582, 0,602,607, 0,283, 0, | |
375 586,588,590,594,286,613,619, 0,697,704, 0,628,630,637,641,648,653,658, | |
376 665,672,675,681,688,693,296,711, 0,715,717, 0,719,723, 0,795,802, 0, | |
377 728,735,739,746,751,756,763,770,773,779,786,791,321,809, 0,813, 0,826, | |
378 828, 0,341,840, 0,846, 0,852, 0,856, 0, 0,351, 0,860, 0,356, 0, | |
379 862,865, 0, 0,869, 0,900,902, 0,366, 0,906,913, 0,815,822,344,347, | |
380 354,358,360,363,875,882,888,895,369,371,920, 0,935,937, 0,390,949, 0, | |
381 955, 0,961, 0,971, 0,400, 0,973,976, 0, 0,980, 0,1011,1013, 0, | |
382 410, 0,1017,1024, 0,924,931,393,396,965,402,404,407,986,993,999,1006, | |
383 413,415,1031, 0,1046,1048, 0,434,1060, 0,1066, 0,1072, 0,1076, 0, | |
384 0,444, 0,1080, 0,449, 0,1082,1085, 0, 0,1089, 0,1108,1114, 0, | |
385 1127,1129, 0,462, 0,1133,1140, 0,1035,1042,437,440,447,451,453,456, | |
386 1095,1102,459,1122,465,467,1147, 0,1220,1227,1234, 0,1151,1153,1160, | |
387 1164,1171,1176,1181,1188,1195,1198,1204,1211,1216,486,1242, 0,1310,1317, | |
388 1324, 0,1246,1253,1257,1264,1269,1274,1281,1288,1294,1301,1306,506,1332, | |
389 0,1343,1347, 0,1374,1378,1386, 0,1414,1421,1428, 0,1336,524,1350, | |
390 1357,1362,1367,527,1392,1398,1405,1410,531,1436, 0, 0, 0, 0,1444,1448, | |
391 0,1456, 0, 0,1440,549,1442,552,1450,1452,555,1459, 0, 0, 0, 0, | |
392 1466,1470, 0,1476, 0, 0,1462,567,1464,570,1472,573,1479, 0,1548,1555, | |
393 0,1482,1484,1491,1495,1502,1507,1512,1519,1526,1532,1539,1544,584,1562, | |
394 0,1566, 0, 0, 0, 0,1577,1581, 0,1589, 0, 0,1568,604,1570,1572, | |
395 1575,607,1583,1585,610,1592, 0,1659,1666, 0,1595,1602,1606,1613,1618, | |
396 1623,1630,1637,1643,1650,1655,624,1673, 0, 0, 0, 0,1684,1688, 0,1696, | |
397 0, 0,641,1677,1679,1682,644,1690,1692,647,1699, 0, 0, 0, 0,1720, | |
398 0, 0,660,1702,1704,1707,1709,1714,1716,663,1723, 0, 0, 0, 0,1735, | |
399 1739, 0,1747, 0, 0,1726,676,1728,1730,1733,679,1741,1743,682,1750, 0, | |
400 1760, 0, 0,1753,1756,1758,696,1763, 0,1770, 0, 0,1766,1768,705,1773, | |
401 0,1776, 0,1780, 0,1795,1797, 0,717,1809, 0,1815, 0,1821, 0,1828, | |
402 0, 0,1825,727, 0,1832, 0,733, 0,1834,1837, 0, 0,1841, 0,1872, | |
403 1874, 0,743, 0,1878,1885, 0,1784,1791,720,723,730,735,737,740,1847, | |
404 1854,1860,1867,746,748,1892, 0,1934,1937, 0,767, 0,770, 0,772, 0, | |
405 1954,1960, 0,1970,1972, 0,779, 0,1979,1986, 0,1896,1898,1905,1909, | |
406 1916,1921,1929,774,1941,1948,776,1965,782,784,1993, 0,2033,2036, 0,803, | |
407 0,806, 0,808, 0,2053,2059, 0,2069,2071, 0,815, 0,2078,2085, 0, | |
408 1997,2004,2008,2015,2020,2028,810,2040,2047,812,2064,818,820,2092, 0, | |
409 2096,2098,2106, 0,2112,2120, 0,2126, 0,2131, 0, 0, 0, 0,2137,2141, | |
410 0,2145,2148, 0,2153, 0, 0,2133,849,2135,852,2143,855,858,2156, 0, | |
411 0, 0, 0,2163,2167, 0,2169,2172, 0,2177, 0, 0,2159,870,2161,873, | |
412 876,879,2180, 0,2183,2185, 0,2204,2206, 0,893,2218, 0,2224, 0,2230, | |
413 0,2240, 0,903, 0,2242,2245, 0, 0,2249, 0,2280,2282, 0,913, 0, | |
414 2286,2293, 0,2191,2193,2200,896,899,2234,905,907,910,2255,2262,2268,2275, | |
415 916,918,2300, 0,2304,2306,2310,2318,2325, 0,2331,2333,2337,2345,2353, | |
416 2359, 0, 0, 0, 0,2374,2380, 0, 0,2382, 0,958, 0,2391,2394, 0, | |
417 2416,2419, 0,965, 0,2411,968, 0,970, 0,2423,2427, 0,2433,2437, 0, | |
418 2439, 0, 0,2444,2447,2453, 0,2463,2465, 0,988, 0,2472,2479,2486, 0, | |
419 2494, 0, 0,2368,2370,951,2372,954,960,2384,962,2398,2406,973,975,978, | |
420 981,984,2458,991,993,997,2497,2501, 0,2539,2543, 0,2571,2578,2585, 0, | |
421 2504,2511,2515,2522,2527,2532,1022,2549,2555,2562,2567,1025,2593, 0,2613, | |
422 0, 0,2597,2600,2602,2607,2609,1043,2616, 0,2619,2627,2635,2641, 0, | |
423 2650, 0,2659,2663, 0,2670,2672,2676, 0,2683, 0,2687,2689,2697,2705, | |
424 2711, 0 | |
425 }; | |
426 | |
427 static const unsigned short ag_key_index[] = { | |
428 1, 3, 87, 0, 3, 3,114, 0,119,157,174, 1, 0,176, 0,214,266, 1, | |
429 214, 0,214,288,288,288,288,288,288,288,288,288,288,288,288,288,288, 0, | |
430 299, 1, 1, 1, 1,315, 1,318,299,324, 0, 0, 0, 0,339, 1, 0,374, | |
431 374,374,324, 0, 0, 0,418,374, 0,470, 1, 0,374,374,214,490,510,535, | |
432 0, 0,374,324, 0, 0,339,299,324,299,324,558,576,576,587,602,587,587, | |
433 587,613,613,324,627,627,627,650,587,666,627,685,699,685,708, 0, 0,299, | |
434 490,627,374,374,374,713, 0, 0,299,324,715,751,751,418,324,685, 0,685, | |
435 787,823, 0,374, 0,510, 1, 0, 1, 0,838,842,845, 0, 0, 0, 0,324, | |
436 324,847, 0, 0,613, 0,558,861,861,576,882,861,576,882,602, 0, 0, 0, | |
437 0,587,587,587,627,587,587,587,587,587,627,587,587,627,299,324,299,324, | |
438 299,299,324,890,890,890,838, 0,921,324, 0, 0,921,418, 0,685,685, 0, | |
439 823, 0, 0, 1, 0,938,510,288,944, 0,1000,1029,299,324, 0, 0, 0, | |
440 0,861,882,882, 0, 0,1046,650,708,699, 0, 0,418,324, 0,1054,1059, | |
441 1, 1, 1, 0, 0, 0,1061,1064,1068, 0, 0,510,842,613,613, 0, 0, | |
442 838,842,1070,842,1054, 0,510, 0, 0,324,324,324,938,510, 0,1059, 0, | |
443 0, 0, 0,510,324,510 | |
444 }; | |
445 | |
446 static const unsigned char ag_key_ends[] = { | |
447 42,0, 47,0, 42,0, 61,0, 61,0, 68,82,69,83,83,0, 68,0, | |
448 83,69,68,0, 69,0, 76,0, 69,0, 83,69,73,78,84,69,82,82,85,80,84,0, | |
449 65,82,73,78,84,0, 84,65,0, 67,76,65,82,69,0, 83,65,66,76,69,0, | |
450 79,82,68,0, 83,69,0, 66,76,69,0, 70,0, 84,69,82,78,65,76,0, | |
451 79,0, 76,84,0, 79,82,68,0, 84,73,65,76,0, 69,82,0, 85,80,84,0, | |
452 66,69,76,0, 84,69,82,65,76,76,89,0, 78,71,73,78,84,0, 78,85,83,0, | |
453 68,0, 79,84,0, 70,83,69,84,0, 85,83,0, 73,78,84,69,82,0, | |
454 79,67,69,68,85,82,69,0, 66,76,73,67,0, 87,79,82,68,0, 76,0, | |
455 78,84,82,65,78,84,0, 85,82,78,0, 76,69,67,84,79,82,0, | |
456 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, 69,78,0, 73,76,69,0, | |
457 82,68,0, 79,82,0, 42,0, 61,0, 61,0, 79,70,0, 42,0, | |
458 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
459 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
460 83,65,66,76,69,0, 79,82,68,0, 66,76,69,0, 79,0, 76,84,0, | |
461 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
462 70,70,83,69,84,0, 73,78,84,69,82,0, 79,67,69,68,85,82,69,0, | |
463 87,79,82,68,0, 76,0, 85,82,78,0, 76,69,67,84,79,82,0, | |
464 79,82,84,73,78,84,0, 79,82,68,0, 79,0, 42,0, 65,83,69,0, | |
465 72,73,76,69,0, 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
466 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
467 67,76,65,82,69,0, 83,65,66,76,69,0, 79,82,68,0, 66,76,69,0, 79,0, | |
468 76,84,0, 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
469 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 76,0, | |
470 85,82,78,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, | |
471 42,0, 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
472 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
473 67,76,65,82,69,0, 83,65,66,76,69,0, 79,82,68,0, 83,69,0, | |
474 66,76,69,0, 70,0, 79,0, 76,84,0, 79,82,68,0, 84,69,71,69,82,0, | |
475 79,78,71,73,78,84,0, 70,70,83,69,84,0, 79,73,78,84,69,82,0, | |
476 87,79,82,68,0, 76,0, 85,82,78,0, 76,69,67,84,79,82,0, | |
477 79,82,84,73,78,84,0, 79,82,68,0, 42,0, 84,0, 65,84,65,0, | |
478 88,84,69,82,78,65,76,0, 84,73,65,76,0, 69,82,85,80,84,0, | |
479 85,66,76,73,67,0, 69,69,78,84,82,65,78,84,0, 42,0, | |
480 68,68,82,69,83,83,0, 89,84,69,0, 72,65,82,73,78,84,0, | |
481 87,79,82,68,0, 87,79,82,68,0, 78,84,69,71,69,82,0, | |
482 79,78,71,73,78,84,0, 79,84,0, 70,70,83,69,84,0, | |
483 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
484 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, 42,0, 79,0, | |
485 65,83,69,0, 72,73,76,69,0, 68,68,82,69,83,83,0, 89,84,69,0, | |
486 72,65,82,73,78,84,0, 87,79,82,68,0, 87,79,82,68,0, | |
487 78,84,69,71,69,82,0, 79,78,71,73,78,84,0, 79,84,0, | |
488 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
489 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, 79,0, | |
490 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
491 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
492 83,65,66,76,69,0, 79,82,68,0, 66,76,69,0, 79,0, 76,84,0, | |
493 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
494 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 76,0, | |
495 85,82,78,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, | |
496 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
497 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
498 83,65,66,76,69,0, 79,82,68,0, 78,65,66,76,69,0, 79,0, 76,84,0, | |
499 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
500 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 76,0, | |
501 85,82,78,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, | |
502 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
503 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
504 83,65,66,76,69,0, 79,82,68,0, 66,76,69,0, 79,0, 76,84,0, | |
505 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
506 70,70,83,69,84,0, 73,78,84,69,82,0, 79,67,69,68,85,82,69,0, | |
507 87,79,82,68,0, 76,0, 85,82,78,0, 76,69,67,84,79,82,0, | |
508 79,82,84,73,78,84,0, 79,82,68,0, 42,0, 68,68,82,69,83,83,0, | |
509 89,84,69,0, 72,65,82,73,78,84,0, 87,79,82,68,0, 87,79,82,68,0, | |
510 78,84,69,71,69,82,0, 79,78,71,73,78,84,0, 79,84,0, | |
511 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
512 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, | |
513 79,82,68,0, 68,68,82,69,83,83,0, 89,84,69,0, 72,65,82,73,78,84,0, | |
514 87,79,82,68,0, 87,79,82,68,0, 78,84,69,71,69,82,0, | |
515 79,78,71,73,78,84,0, 70,70,83,69,84,0, 79,73,78,84,69,82,0, | |
516 87,79,82,68,0, 69,65,76,0, 76,69,67,84,79,82,0, | |
517 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, 79,82,68,0, | |
518 68,68,82,69,83,83,0, 83,69,68,0, 84,69,0, 72,65,82,73,78,84,0, | |
519 87,79,82,68,0, 87,79,82,68,0, 78,84,69,71,69,82,0, 66,69,76,0, | |
520 84,69,82,65,76,76,89,0, 78,71,73,78,84,0, 70,70,83,69,84,0, | |
521 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
522 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, | |
523 79,82,68,0, 42,0, 61,0, 78,85,83,0, 68,0, 82,0, 76,85,83,0, | |
524 69,78,0, 79,82,0, 42,0, 61,0, 78,85,83,0, 68,0, 76,85,83,0, | |
525 69,78,0, 79,82,0, 42,0, 68,68,82,69,83,83,0, 89,84,69,0, | |
526 72,65,82,73,78,84,0, 87,79,82,68,0, 87,79,82,68,0, | |
527 78,84,69,71,69,82,0, 79,78,71,73,78,84,0, 70,70,83,69,84,0, | |
528 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
529 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, 39,0, 42,0, | |
530 61,0, 78,68,0, 89,0, 78,85,83,0, 68,0, 82,0, 76,85,83,0, | |
531 69,78,0, 79,82,0, 68,68,82,69,83,83,0, 89,84,69,0, | |
532 72,65,82,73,78,84,0, 87,79,82,68,0, 87,79,82,68,0, | |
533 78,84,69,71,69,82,0, 79,78,71,73,78,84,0, 70,70,83,69,84,0, | |
534 79,73,78,84,69,82,0, 87,79,82,68,0, 69,65,76,0, | |
535 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, 61,0, | |
536 78,68,0, 89,0, 78,85,83,0, 68,0, 82,0, 76,85,83,0, 69,78,0, | |
537 79,82,0, 61,0, 78,68,0, 89,0, 73,78,85,83,0, 82,0, 76,85,83,0, | |
538 69,78,0, 79,82,0, 61,0, 61,0, 78,68,0, 89,0, 78,85,83,0, 68,0, | |
539 82,0, 76,85,83,0, 69,78,0, 79,82,0, 78,68,0, 89,0, 82,0, | |
540 69,78,0, 79,82,0, 89,0, 82,0, 69,78,0, 79,82,0, 72,69,78,0, | |
541 76,83,69,0, 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
542 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
543 83,65,66,76,69,0, 79,82,68,0, 83,69,0, 66,76,69,0, 79,0, | |
544 76,84,0, 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
545 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 76,0, | |
546 85,82,78,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, | |
547 42,0, 68,68,82,69,83,83,0, 89,84,69,0, 72,65,82,73,78,84,0, | |
548 87,79,82,68,0, 88,84,69,82,78,65,76,0, 87,79,82,68,0, 69,82,0, | |
549 85,80,84,0, 79,78,71,73,78,84,0, 70,70,83,69,84,0, | |
550 73,78,84,69,82,0, 66,76,73,67,0, 87,79,82,68,0, 76,0, | |
551 78,84,82,65,78,84,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, | |
552 79,82,68,0, 68,68,82,69,83,83,0, 89,84,69,0, 72,65,82,73,78,84,0, | |
553 87,79,82,68,0, 88,84,69,82,78,65,76,0, 87,79,82,68,0, 69,82,0, | |
554 85,80,84,0, 79,78,71,73,78,84,0, 70,70,83,69,84,0, | |
555 73,78,84,69,82,0, 66,76,73,67,0, 87,79,82,68,0, 76,0, | |
556 78,84,82,65,78,84,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, | |
557 79,82,68,0, 42,0, 88,84,69,82,78,65,76,0, 85,66,76,73,67,0, | |
558 88,84,69,82,78,65,76,0, 85,66,76,73,67,0, 65,83,69,68,0, 89,0, | |
559 42,0, 61,0, 78,85,83,0, 68,0, 82,0, 85,83,0, 66,76,73,67,0, | |
560 69,78,0, 79,82,0, 42,0, 61,0, 78,85,83,0, 68,0, 85,83,0, | |
561 66,76,73,67,0, 69,78,0, 79,82,0, 42,0, 85,66,76,73,67,0, 42,0, | |
562 68,68,82,69,83,83,0, 89,84,69,0, 76,0, | |
563 83,69,73,78,84,69,82,82,85,80,84,0, 65,82,73,78,84,0, | |
564 83,65,66,76,69,0, 79,82,68,0, 78,65,66,76,69,0, 79,0, 76,84,0, | |
565 79,82,68,0, 84,69,71,69,82,0, 79,78,71,73,78,84,0, | |
566 70,70,83,69,84,0, 79,73,78,84,69,82,0, 87,79,82,68,0, 76,0, | |
567 85,82,78,0, 76,69,67,84,79,82,0, 79,82,84,73,78,84,0, 79,82,68,0, | |
568 84,0, 65,84,65,0, 88,84,69,82,78,65,76,0, 78,73,84,73,65,76,0, | |
569 85,66,76,73,67,0, 42,0, 65,84,65,0, 88,84,69,82,78,65,76,0, | |
570 78,84,69,82,85,80,84,0, 85,66,76,73,67,0, | |
571 69,69,78,84,82,65,78,84,0, 42,0, 61,0, 61,0, 68,82,69,83,83,0, | |
572 68,0, 69,0, 72,65,82,73,78,84,0, 84,65,0, 79,82,68,0, | |
573 88,84,69,82,78,65,76,0, 87,79,82,68,0, 84,73,65,76,0, 69,82,0, | |
574 85,80,84,0, 66,69,76,0, 78,71,73,78,84,0, 78,85,83,0, 68,0, | |
575 70,83,69,84,0, 85,83,0, 73,78,84,69,82,0, 66,76,73,67,0, | |
576 87,79,82,68,0, 76,0, 78,84,82,65,78,84,0, 76,69,67,84,79,82,0, | |
577 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, 69,78,0, 79,82,68,0, | |
578 79,82,0, 68,68,82,69,83,83,0, 89,84,69,0, 72,65,82,73,78,84,0, | |
579 87,79,82,68,0, 87,79,82,68,0, 78,84,69,71,69,82,0, 66,69,76,0, | |
580 78,71,73,78,84,0, 70,70,83,69,84,0, 79,73,78,84,69,82,0, | |
581 87,79,82,68,0, 69,65,76,0, 76,69,67,84,79,82,0, | |
582 79,82,84,73,78,84,0, 82,85,67,84,85,82,69,0, 79,82,68,0, 78,68,0, | |
583 89,0, 73,78,85,83,0, 82,0, 76,85,83,0, 69,78,0, 79,82,0, | |
584 88,84,69,82,78,65,76,0, 78,84,69,82,85,80,84,0, 85,66,76,73,67,0, | |
585 69,69,78,84,82,65,78,84,0, 84,82,85,67,84,85,82,69,0, 65,84,65,0, | |
586 78,73,84,73,65,76,0, 84,0, 65,84,65,0, 78,73,84,73,65,76,0, | |
587 65,84,65,0, 42,0, 88,84,69,82,78,65,76,0, 78,84,69,82,85,80,84,0, | |
588 85,66,76,73,67,0, 69,69,78,84,82,65,78,84,0, | |
589 }; | |
590 #define AG_TCV(x) (((int)(x) >= -1 && (int)(x) <= 255) ? ag_tcv[(x) + 1] : 0) | |
591 | |
592 static const unsigned short ag_tcv[] = { | |
593 103,103,249,249,249,103,249,249,249,249, 62, 62, 62, 62, 62,249,249,249, | |
594 249,249,249,249,249,249,249,249,249,103,249,249,249,249,249, 62,249,249, | |
595 249,225,249,249,243,259,258,307,262,290,330,267,315,228,228,250,250,250, | |
596 250,250,250,251,251,304,264,325,265,323,249,311,252,227,252,223,253,252, | |
597 254,233,254,254,254,254,254,254,230,254,230,254,254,254,254,254,254,254, | |
598 254,254,249,249,249,249,255,311,252,227,252,223,253,252,254,233,254,254, | |
599 254,254,254,254,230,254,230,254,254,254,254,254,254,254,254,254,249,249, | |
600 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
601 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
602 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
603 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
604 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
605 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
606 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, | |
607 249,249,249,249,249 | |
608 }; | |
609 | |
610 #ifndef SYNTAX_ERROR | |
611 #define SYNTAX_ERROR fprintf(stderr,"%s, line %d, column %d\n", \ | |
612 (PCB).error_message, (PCB).line, (PCB).column) | |
613 #endif | |
614 | |
615 #ifndef FIRST_LINE | |
616 #define FIRST_LINE 1 | |
617 #endif | |
618 | |
619 #ifndef FIRST_COLUMN | |
620 #define FIRST_COLUMN 1 | |
621 #endif | |
622 | |
623 #ifndef PARSER_STACK_OVERFLOW | |
624 #define PARSER_STACK_OVERFLOW {fprintf(stderr, \ | |
625 "\nParser stack overflow, line %d, column %d\n",\ | |
626 (PCB).line, (PCB).column);} | |
627 #endif | |
628 | |
629 #ifndef REDUCTION_TOKEN_ERROR | |
630 #define REDUCTION_TOKEN_ERROR {fprintf(stderr, \ | |
631 "\nReduction token error, line %d, column %d\n", \ | |
632 (PCB).line, (PCB).column);} | |
633 #endif | |
634 | |
635 | |
636 typedef enum | |
637 {ag_accept_key, ag_set_key, ag_jmp_key, ag_end_key, ag_no_match_key, | |
638 ag_cf_accept_key, ag_cf_set_key, ag_cf_end_key} key_words; | |
639 | |
640 #ifndef GET_INPUT | |
641 #define GET_INPUT ((PCB).input_code = getchar()) | |
642 #endif | |
643 | |
644 | |
645 static int ag_look_ahead(void) { | |
646 if ((PCB).rx < (PCB).fx) { | |
647 return CONVERT_CASE((PCB).lab[(PCB).rx++]); | |
648 } | |
649 GET_INPUT; | |
650 (PCB).fx++; | |
651 return CONVERT_CASE((PCB).lab[(PCB).rx++] = (PCB).input_code); | |
652 } | |
653 | |
654 static void ag_get_key_word(int ag_k) { | |
655 int save_index = (PCB).rx; | |
656 const unsigned char *sp; | |
657 int ag_ch; | |
658 while (1) { | |
659 switch (ag_key_act[ag_k]) { | |
660 case ag_cf_end_key: | |
661 sp = ag_key_ends + ag_key_jmp[ag_k]; | |
662 do { | |
663 if ((ag_ch = *sp++) == 0) { | |
664 int ag_k1 = ag_key_parm[ag_k]; | |
665 int ag_k2 = ag_key_pt[ag_k1]; | |
666 if (ag_key_itt[ag_k2 + ag_look_ahead()]) goto ag_fail; | |
667 (PCB).rx--; | |
668 (PCB).token_number = (plm_token_type) ag_key_pt[ag_k1 + 1]; | |
669 return; | |
670 } | |
671 } while (ag_look_ahead() == ag_ch); | |
672 goto ag_fail; | |
673 case ag_end_key: | |
674 sp = ag_key_ends + ag_key_jmp[ag_k]; | |
675 do { | |
676 if ((ag_ch = *sp++) == 0) { | |
677 (PCB).token_number = (plm_token_type) ag_key_parm[ag_k]; | |
678 return; | |
679 } | |
680 } while (ag_look_ahead() == ag_ch); | |
681 case ag_no_match_key: | |
682 ag_fail: | |
683 (PCB).rx = save_index; | |
684 return; | |
685 case ag_cf_set_key: { | |
686 int ag_k1 = ag_key_parm[ag_k]; | |
687 int ag_k2 = ag_key_pt[ag_k1]; | |
688 ag_k = ag_key_jmp[ag_k]; | |
689 if (ag_key_itt[ag_k2 + (ag_ch = ag_look_ahead())]) break; | |
690 save_index = --(PCB).rx; | |
691 (PCB).token_number = (plm_token_type) ag_key_pt[ag_k1+1]; | |
692 break; | |
693 } | |
694 case ag_set_key: | |
695 save_index = (PCB).rx; | |
696 (PCB).token_number = (plm_token_type) ag_key_parm[ag_k]; | |
697 case ag_jmp_key: | |
698 ag_k = ag_key_jmp[ag_k]; | |
699 ag_ch = ag_look_ahead(); | |
700 break; | |
701 case ag_accept_key: | |
702 (PCB).token_number = (plm_token_type) ag_key_parm[ag_k]; | |
703 return; | |
704 case ag_cf_accept_key: { | |
705 int ag_k1 = ag_key_parm[ag_k]; | |
706 int ag_k2 = ag_key_pt[ag_k1]; | |
707 if (ag_key_itt[ag_k2 + ag_look_ahead()]) (PCB).rx = save_index; | |
708 else { | |
709 (PCB).rx--; | |
710 (PCB).token_number = (plm_token_type) ag_key_pt[ag_k1+1]; | |
711 } | |
712 return; | |
713 } | |
714 default: | |
715 /* not reachable; here to suppress compiler warnings */ | |
716 goto ag_fail; | |
717 } | |
718 if (ag_ch <= 255) while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
719 if (ag_ch > 255 || ag_key_ch[ag_k] != ag_ch) { | |
720 (PCB).rx = save_index; | |
721 return; | |
722 } | |
723 } | |
724 } | |
725 | |
726 | |
727 #ifndef AG_NEWLINE | |
728 #define AG_NEWLINE 10 | |
729 #endif | |
730 | |
731 #ifndef AG_RETURN | |
732 #define AG_RETURN 13 | |
733 #endif | |
734 | |
735 #ifndef AG_FORMFEED | |
736 #define AG_FORMFEED 12 | |
737 #endif | |
738 | |
739 #ifndef AG_TABCHAR | |
740 #define AG_TABCHAR 9 | |
741 #endif | |
742 | |
743 static void ag_track(void) { | |
744 int ag_k = 0; | |
745 while (ag_k < (PCB).rx) { | |
746 int ag_ch = (PCB).lab[ag_k++]; | |
747 switch (ag_ch) { | |
748 case AG_NEWLINE: | |
749 (PCB).column = 1, (PCB).line++; | |
750 case AG_RETURN: | |
751 case AG_FORMFEED: | |
752 break; | |
753 case AG_TABCHAR: | |
754 (PCB).column += (TAB_SPACING) - ((PCB).column - 1) % (TAB_SPACING); | |
755 break; | |
756 default: | |
757 (PCB).column++; | |
758 } | |
759 } | |
760 ag_k = 0; | |
761 while ((PCB).rx < (PCB).fx) (PCB).lab[ag_k++] = (PCB).lab[(PCB).rx++]; | |
762 (PCB).fx = ag_k; | |
763 (PCB).rx = 0; | |
764 } | |
765 | |
766 | |
767 static void ag_prot(void) { | |
768 int ag_k; | |
769 ag_k = 128 - ++(PCB).btsx; | |
770 if (ag_k <= (PCB).ssx) { | |
771 (PCB).exit_flag = AG_STACK_ERROR_CODE; | |
772 PARSER_STACK_OVERFLOW; | |
773 return; | |
774 } | |
775 (PCB).bts[(PCB).btsx] = (PCB).sn; | |
776 (PCB).bts[ag_k] = (PCB).ssx; | |
777 (PCB).vs[ag_k] = (PCB).vs[(PCB).ssx]; | |
778 (PCB).ss[ag_k] = (PCB).ss[(PCB).ssx]; | |
779 } | |
780 | |
781 static void ag_undo(void) { | |
782 if ((PCB).drt == -1) return; | |
783 while ((PCB).btsx) { | |
784 int ag_k = 128 - (PCB).btsx; | |
785 (PCB).sn = (PCB).bts[(PCB).btsx--]; | |
786 (PCB).ssx = (PCB).bts[ag_k]; | |
787 (PCB).vs[(PCB).ssx] = (PCB).vs[ag_k]; | |
788 (PCB).ss[(PCB).ssx] = (PCB).ss[ag_k]; | |
789 } | |
790 (PCB).token_number = (plm_token_type) (PCB).drt; | |
791 (PCB).ssx = (PCB).dssx; | |
792 (PCB).sn = (PCB).dsn; | |
793 (PCB).drt = -1; | |
794 } | |
795 | |
796 | |
797 static const unsigned short ag_tstt[] = { | |
798 254,253,252,233,230,227,223,63,62,0,58,256,257, | |
799 330,325,323,315,311,307,304,290,267,265,264,262,259,258,255,254,253,252,251, | |
800 250,249,243,233,230,228,227,225,223,67,62,0,65,66, | |
801 63,62,0,58, | |
802 254,253,252,233,230,227,223,0,57,60,102,193,266, | |
803 330,325,323,315,311,307,304,290,267,265,264,262,259,258,255,254,253,252,251, | |
804 250,249,243,233,230,228,227,225,223,62,0, | |
805 67,0, | |
806 330,326,325,324,323,322,315,307,304,296,290,267,265,264,262,259,258,255,254, | |
807 253,252,251,250,233,230,228,227,225,223,63,62,0,58,256,257, | |
808 304,0,154, | |
809 285,103,0,20, | |
810 328,321,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275, | |
811 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,63,62,0,58, | |
812 256,257, | |
813 294,0,15,126,214, | |
814 103,63,62,0,58,256,257, | |
815 103,0, | |
816 295,293,264,254,253,252,233,230,227,223,63,62,0,58,256,257, | |
817 264,0,85, | |
818 328,306,303,302,300,298,297,294,292,291,284,283,281,280,279,278,277,276,275, | |
819 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10, | |
820 11,13,14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81, | |
821 82,85,88,89,90,91,92,93,94,99,100,104,105,113,114,115,116,121,122,123, | |
822 124,125,126,127,128,129,130,132,134,135,137,147,151,152,153,169,172,174, | |
823 207,210,211,214,220,266, | |
824 328,306,303,302,300,298,297,294,292,291,286,285,284,283,281,280,279,278,277, | |
825 276,275,274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,103, | |
826 63,62,0,58,256,257, | |
827 259,254,253,252,233,230,227,223,63,62,0,58,256,257, | |
828 328,306,303,302,300,298,297,294,292,291,284,283,281,280,279,278,277,276,275, | |
829 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10, | |
830 11,13,14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81, | |
831 82,85,88,89,90,91,92,93,94,99,100,104,105,113,114,115,116,121,122,123, | |
832 124,125,126,127,128,129,130,132,134,135,137,147,151,152,153,169,172,174, | |
833 207,210,211,214,220,266, | |
834 259,254,253,252,233,230,227,223,0,60,69,117,118,119,120,138,139,173,175,219, | |
835 221,266, | |
836 328,306,303,302,300,298,297,294,292,291,284,283,281,280,279,278,277,276,275, | |
837 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10, | |
838 11,13,14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81, | |
839 82,85,88,89,90,91,92,93,94,99,100,104,105,113,114,115,121,122,123,124, | |
840 125,126,127,128,129,130,132,134,135,137,147,151,152,153,169,172,174,207, | |
841 210,211,214,220,266, | |
842 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
843 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
844 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
845 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
846 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
847 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
848 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
849 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
850 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
851 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
852 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
853 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
854 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
855 320,317,316,312,309,308,290,289,264,259,258,63,62,0,58,256,257, | |
856 259,0,69,191, | |
857 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,264, | |
858 262,259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
859 264,63,62,0,58,256,257, | |
860 264,63,62,0,58,256,257, | |
861 264,63,62,0,58,256,257, | |
862 259,63,62,0,58,256,257, | |
863 301,63,62,0,58,256,257, | |
864 254,253,252,233,230,227,223,63,62,0,58,256,257, | |
865 295,293,264,254,253,252,233,230,227,223,0,9,54,60,85,98,156,157,266, | |
866 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
867 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
868 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,264, | |
869 262,259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29, | |
870 34,38,39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,85,87,94,99,109, | |
871 131,132,133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217, | |
872 218,240,266,287,288,331, | |
873 264,0,85, | |
874 264,0,85, | |
875 264,0,85, | |
876 259,0,69, | |
877 301,0,53, | |
878 254,253,252,233,230,227,223,63,62,0,58,256,257, | |
879 290,0,112, | |
880 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
881 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
882 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
883 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,129, | |
884 130,132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
885 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
886 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
887 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
888 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,129, | |
889 130,132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
890 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
891 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
892 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
893 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,129, | |
894 130,132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
895 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
896 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
897 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
898 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
899 266,287,288,331, | |
900 254,253,252,233,230,227,223,0,60,266, | |
901 254,253,252,233,230,227,223,0,60,98,266, | |
902 265,0,83, | |
903 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
904 272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11,14,15, | |
905 16,18,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85,88,89,90, | |
906 91,92,93,94,99,100,104,105,106,107,121,122,123,124,125,126,127,130,132, | |
907 134,137,147,151,152,153,169,172,174,210,211,214,216,220,266, | |
908 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
909 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
910 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
911 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
912 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
913 304,267,259,0,69,87,154,190,192,215, | |
914 321,0,43, | |
915 264,254,253,252,233,230,227,223,63,62,0,58,256,257, | |
916 264,254,253,252,233,230,227,223,0,60,136,266, | |
917 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
918 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
919 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
920 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,130,132, | |
921 134,135,151,152,153,169,172,174,210,211,214,220,266, | |
922 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
923 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
924 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
925 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
926 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
927 328,306,303,302,300,298,297,294,292,291,284,283,281,280,279,278,277,276,275, | |
928 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10, | |
929 11,13,14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81, | |
930 82,85,88,89,90,91,92,93,94,99,100,104,105,113,114,115,121,122,123,124, | |
931 125,126,127,128,129,130,132,134,135,137,147,151,152,153,169,172,174,207, | |
932 210,211,214,220,266, | |
933 330,327,313,311,307,281,280,279,278,277,276,275,274,273,272,271,270,269,268, | |
934 267,262,259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256, | |
935 257, | |
936 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,0,69,78,79, | |
937 80,197, | |
938 329,310,299,0,5,31,33, | |
939 254,253,252,233,230,227,223,0,60,140,221,266, | |
940 290,264,0,85,112, | |
941 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
942 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
943 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
944 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
945 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
946 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
947 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
948 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
949 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
950 266,287,288,331, | |
951 267,0,87, | |
952 265,0,83, | |
953 301,0,53,170, | |
954 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
955 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
956 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
957 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
958 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
959 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
960 266,287,288,331, | |
961 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
962 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
963 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
964 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
965 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
966 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
967 266,287,288,331, | |
968 330,326,325,324,323,322,319,318,315,314,307,305,301,290,267,265,264,262,261, | |
969 260,258,253,252,251,250,233,228,227,225,223,63,62,0,222,232,235,236, | |
970 330,326,325,324,323,322,319,315,314,307,305,301,290,267,265,264,262,261,260, | |
971 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,229,232,235,236, | |
972 330,326,325,324,323,322,319,315,314,307,305,301,290,267,265,264,262,261,260, | |
973 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,226,229,232,235, | |
974 236, | |
975 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
976 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
977 330,325,323,315,311,307,304,290,267,265,264,262,259,258,255,254,253,252,251, | |
978 250,249,245,243,233,230,228,227,225,223,62,0,246,247,248, | |
979 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
980 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
981 281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,254,253,252,233, | |
982 230,227,223,63,62,0,58,256,257, | |
983 281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,254,253,252,233, | |
984 230,227,223,63,62,0,58,256,257, | |
985 330,326,325,324,323,322,319,318,315,314,307,305,301,290,282,265,264,263,262, | |
986 261,260,258,63,62,0,58,256,257, | |
987 330,326,325,324,323,322,319,318,315,314,307,305,301,290,282,265,264,263,262, | |
988 261,260,258,63,62,0,58,256,257, | |
989 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
990 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
991 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
992 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
993 266,287,288,331, | |
994 281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,254,253,252,233, | |
995 230,227,223,0,1,7,11,16,26,29,34,39,42,45,46,49,50,55,60,69,94,99,132, | |
996 266, | |
997 281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,254,253,252,233, | |
998 230,227,223,0,1,7,11,16,26,29,34,39,42,45,46,49,50,55,60,69,94,99,132, | |
999 266, | |
1000 311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,259,254,253, | |
1001 252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,39,42,45,46,49, | |
1002 50,55,59,60,61,69,87,94,99,109,132,162,163,164,165,176,177,196,204,205, | |
1003 266,287,288,331, | |
1004 315,314,307,0,36,155,194,195, | |
1005 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1006 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1007 330,326,325,324,323,322,265,262,261,260,0,22,32,35,37,41,72,73,74,83,184, | |
1008 208,209,240, | |
1009 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1010 254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,39,42, | |
1011 45,46,49,50,55,59,60,61,69,73,74,76,77,87,94,99,109,132,162,163,164,165, | |
1012 176,177,183,196,204,205,212,213,217,218,240,266,287,288,331, | |
1013 267,259,0,69,87,190,192,215, | |
1014 263,0,2,75, | |
1015 296,0,3, | |
1016 319,318,0,40,56,181, | |
1017 264,0,85, | |
1018 251,250,228,0,101,162,163,164,165,331, | |
1019 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1020 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1021 330,327,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267, | |
1022 262,259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1023 281,280,279,278,277,276,275,274,273,272,271,270,269,268,254,253,252,233,230, | |
1024 227,223,0,1,7,11,16,26,29,34,39,42,45,46,49,50,55,60,94,99,132,266, | |
1025 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
1026 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
1027 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
1028 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
1029 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
1030 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
1031 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
1032 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
1033 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
1034 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
1035 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
1036 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
1037 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
1038 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
1039 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
1040 305,0,52, | |
1041 264,0,85, | |
1042 264,259,0,68,69,85, | |
1043 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1044 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1045 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1046 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1047 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1048 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1049 266,287,288,331, | |
1050 286,0,17, | |
1051 328,306,303,302,300,298,297,294,292,286,284,283,281,280,279,278,277,276,275, | |
1052 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0, | |
1053 328,306,303,302,300,298,297,294,292,286,284,283,281,280,279,278,277,276,275, | |
1054 274,273,272,271,270,269,268,264,254,253,252,233,230,227,223,0, | |
1055 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
1056 272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11,14,15, | |
1057 16,18,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85,88,89,90, | |
1058 91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,130,132,134,151, | |
1059 152,153,169,172,174,210,211,214,216,220,266, | |
1060 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1061 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1062 39,42,45,46,49,50,55,59,60,61,69,70,73,74,76,77,84,87,94,99,109,131,132, | |
1063 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1064 266,287,288,331, | |
1065 267,0,87,190,192, | |
1066 254,253,252,233,230,227,223,0,60,189,266, | |
1067 267,0,87,190, | |
1068 320,317,316,309,281,280,279,278,277,276,275,274,273,272,271,270,269,268,264, | |
1069 259,63,62,0,58,256,257, | |
1070 320,317,316,309,281,280,279,278,277,276,275,274,273,272,271,270,269,268,264, | |
1071 259,0,69,150,198, | |
1072 264,0,85, | |
1073 328,306,303,302,300,298,297,294,292,284,283,281,280,279,278,277,276,275,274, | |
1074 273,272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11, | |
1075 14,15,16,18,19,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85, | |
1076 88,89,90,91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,128,130, | |
1077 132,134,135,137,147,151,152,153,169,172,174,210,211,214,220,266, | |
1078 307,251,250,228,0,59,155,162,163,164,165,196,288,331, | |
1079 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,0,1,7,11,16,26, | |
1080 29,34,39,42,45,46,49,50,51,55,94,145,186, | |
1081 254,253,252,233,230,227,223,63,62,0,58,256,257, | |
1082 254,253,252,233,230,227,223,0,60,86,266, | |
1083 243,63,62,0,58,256,257, | |
1084 243,0,61,287, | |
1085 317,316,290,264,63,62,0,58,256,257, | |
1086 317,316,290,264,0,21,44,141, | |
1087 329,0,5, | |
1088 290,258,0,71,112, | |
1089 259,254,253,252,233,230,227,223,0,60,69,117,118,119,138,139,173,175,219,221, | |
1090 266, | |
1091 258,0,71, | |
1092 254,253,252,233,230,227,223,0,60,266, | |
1093 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1094 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1095 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1096 133,158,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218, | |
1097 240,266,287,288,331, | |
1098 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1099 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1100 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,95,99,109,131,132, | |
1101 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1102 266,287,288,331, | |
1103 282,264,0,6,96,171, | |
1104 264,0,85, | |
1105 264,0,85, | |
1106 330,262,253,251,250,228,0,237, | |
1107 253,252,251,250,233,228,227,225,223,0,232, | |
1108 330,326,325,324,323,322,319,318,315,314,307,305,301,290,267,265,264,262,261, | |
1109 260,258,253,252,251,250,233,228,227,225,223,63,62,0,222,232,235,236, | |
1110 330,326,325,324,323,322,319,318,317,315,314,307,305,301,290,265,264,262,261, | |
1111 260,258,253,252,251,250,233,228,227,225,223,63,62,0,222,232, | |
1112 253,252,251,250,233,228,227,225,223,0,232, | |
1113 330,326,325,324,323,322,319,315,314,307,305,301,290,267,265,264,262,261,260, | |
1114 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,229,232,235,236, | |
1115 330,326,325,324,323,322,319,317,315,314,307,305,301,290,265,264,262,261,260, | |
1116 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,229,232, | |
1117 253,252,251,250,233,228,227,225,223,0,232, | |
1118 330,326,325,324,323,322,319,315,314,307,305,301,290,267,265,264,262,261,260, | |
1119 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,226,229,232,235, | |
1120 236, | |
1121 330,326,325,324,323,322,319,317,315,314,307,305,301,290,265,264,262,261,260, | |
1122 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,226,229,232, | |
1123 330,325,323,315,311,307,304,290,267,265,264,262,259,258,255,254,253,252,251, | |
1124 250,249,245,233,230,228,227,225,223,62,0,246, | |
1125 243,0, | |
1126 258,0,71, | |
1127 251,250,243,228,0,59,61,109,111,162,163,164,165,196,287,288,331, | |
1128 251,250,243,228,0,59,61,109,111,162,163,164,165,196,287,288,331, | |
1129 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1130 258,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1131 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1132 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1133 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1134 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1135 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1136 254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,39,42, | |
1137 45,46,49,50,55,59,60,61,69,73,74,87,94,99,109,132,162,163,164,165,176, | |
1138 177,196,204,205,212,213,217,218,240,266,287,288,331, | |
1139 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1140 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1141 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1142 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1143 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1144 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1145 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1146 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1147 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1148 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1149 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1150 254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,39,42, | |
1151 45,46,49,50,55,59,60,61,69,73,74,76,77,87,94,99,109,132,162,163,164,165, | |
1152 176,177,196,204,205,212,213,217,218,240,266,287,288,331, | |
1153 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1154 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1155 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1156 254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1157 330,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262,259, | |
1158 254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,39,42, | |
1159 45,46,49,50,55,59,60,61,69,73,74,77,87,94,99,109,132,162,163,164,165, | |
1160 176,177,196,204,205,212,213,217,218,240,266,287,288,331, | |
1161 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1162 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1163 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1164 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1165 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,87,94,99,109,132,162,163, | |
1166 164,165,176,177,182,183,196,204,205,212,213,217,218,240,266,287,288,331, | |
1167 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1168 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1169 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1170 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1171 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,87,94,99,109,132,133,162, | |
1172 163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240,266,287, | |
1173 288,331, | |
1174 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1175 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1176 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1177 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1178 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1179 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1180 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,87,94,99,109,132,162,163, | |
1181 164,165,176,177,180,182,183,196,204,205,212,213,217,218,240,266,287,288, | |
1182 331, | |
1183 317,258,253,252,251,250,233,228,227,225,223,63,62,0,222,232, | |
1184 317,258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,229,232, | |
1185 317,258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,226,229,232, | |
1186 317,316,258,63,62,0,58,256,257, | |
1187 258,0,71, | |
1188 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
1189 272,271,270,269,268,264,254,253,252,233,230,227,223,63,62,0,58,256,257, | |
1190 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1191 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1192 39,42,45,46,49,50,55,59,60,61,69,70,73,74,76,77,84,87,94,99,109,131,132, | |
1193 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1194 266,287,288,331, | |
1195 264,0,85, | |
1196 264,0,85, | |
1197 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
1198 272,271,270,269,268,264,254,253,252,233,230,227,223,63,62,0,58,256,257, | |
1199 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
1200 272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11,14,15, | |
1201 16,18,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85,88,89,90, | |
1202 91,92,93,94,99,100,104,105,108,121,122,123,124,125,126,127,130,132,134, | |
1203 137,147,151,152,153,169,172,174,210,211,214,220,266, | |
1204 290,258,0,71,112, | |
1205 267,0,87,190, | |
1206 259,0,69,191, | |
1207 254,253,252,233,230,227,223,0,60,148,149,266, | |
1208 320,317,316,309,281,280,279,278,277,276,275,274,273,272,271,270,269,268,264, | |
1209 0,1,7,11,16,26,29,34,39,42,45,46,49,50,55,94,201,202, | |
1210 258,0,71, | |
1211 258,0,71, | |
1212 259,63,62,0,58,256,257, | |
1213 259,0,69, | |
1214 317,316,312,308,290,289,264,0,4,12,21,28,44,146,161,178,179,203, | |
1215 267,0,87, | |
1216 320,317,316,312,309,308,290,289,264,63,62,0,58,256,257, | |
1217 320,317,316,309,290,289,264,63,62,0,58,256,257, | |
1218 254,253,252,233,230,227,223,0,60,221,266, | |
1219 330,327,326,325,324,323,322,320,319,318,317,316,315,314,312,309,308,307,305, | |
1220 301,299,296,290,289,282,281,280,279,278,277,276,275,274,273,272,271,270, | |
1221 269,268,267,265,264,263,262,261,260,259,258,63,62,0,58,256,257, | |
1222 327,299,281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,0,31,69, | |
1223 79,144, | |
1224 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1225 259,254,253,252,251,250,243,233,230,228,227,223,63,62,0,58,256,257, | |
1226 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1227 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1228 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,97,99,109,131,132, | |
1229 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1230 266,287,288,331, | |
1231 264,0,85, | |
1232 251,250,228,0,239, | |
1233 251,250,228,0,239, | |
1234 253,252,251,250,233,228,227,225,223,0,232, | |
1235 330,326,325,324,323,322,319,318,317,315,314,307,305,301,290,265,264,262,261, | |
1236 260,258,253,252,251,250,233,228,227,225,223,63,62,0,222,232, | |
1237 330,326,325,324,323,322,319,317,315,314,307,305,301,290,265,264,262,261,260, | |
1238 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,229,232, | |
1239 330,326,325,324,323,322,319,317,315,314,307,305,301,290,265,264,262,261,260, | |
1240 258,253,252,251,250,233,230,228,227,225,223,63,62,0,222,226,229,232, | |
1241 290,258,0,71,112, | |
1242 290,258,0,71,112, | |
1243 330,262,261,260,0,35,41,72,73,74,240, | |
1244 315,314,307,0,36,155,194,195, | |
1245 319,318,0,40,56,181, | |
1246 263,0,2,75, | |
1247 264,0,85, | |
1248 290,258,0,71,112, | |
1249 328,306,303,302,300,297,294,292,284,283,281,280,279,278,277,276,275,274,273, | |
1250 272,271,270,269,268,264,254,253,252,233,230,227,223,0,1,7,8,10,11,14,15, | |
1251 16,18,23,24,25,26,27,29,34,39,42,45,46,48,49,50,55,60,81,82,85,88,89,90, | |
1252 91,92,93,94,99,100,104,105,121,122,123,124,125,126,127,130,132,134,151, | |
1253 152,153,169,172,174,210,211,214,220,266, | |
1254 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1255 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1256 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1257 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1258 266,287,288,331, | |
1259 290,258,0,71,112, | |
1260 320,317,316,309,264,0,21,30,44,47,166,199,200,206, | |
1261 327,259,254,253,252,233,230,227,223,0,51,60,69,142,185,186,187,188,189,266, | |
1262 259,63,62,0,58,256,257, | |
1263 290,264,259,63,62,0,58,256,257, | |
1264 259,63,62,0,58,256,257, | |
1265 259,0,69, | |
1266 259,0,69, | |
1267 259,0,69, | |
1268 308,289,0,12,28,161, | |
1269 312,308,289,0,4,12,28,161,178,179, | |
1270 289,0,12,110, | |
1271 254,253,252,233,230,227,223,0,60,266, | |
1272 251,250,228,0,59,162,163,164,165,196,288,331, | |
1273 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,0,1,7,11,16,26, | |
1274 29,34,39,42,45,46,49,50,51,55,94,145,186, | |
1275 317,316,290,264,0,21,44,141, | |
1276 251,250,228,0, | |
1277 251,250,228,0, | |
1278 251,250,243,228,0,59,61,109,162,163,164,165,196,287,288,331, | |
1279 254,253,252,233,230,227,223,0,60,148,266, | |
1280 317,316,251,250,228,63,62,0,58,256,257, | |
1281 317,316,251,250,228,0,101,162,163,164,165,167,168,331, | |
1282 320,317,316,309,264,63,62,0,58,256,257, | |
1283 317,316,0,21,44, | |
1284 320,317,316,309,0,21,30,44,47,166,206, | |
1285 264,0,85, | |
1286 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,0,69,79,144, | |
1287 254,253,252,233,230,227,223,0,60,143,189,266, | |
1288 290,258,0,71,112, | |
1289 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1290 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1291 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1292 133,159,160,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217, | |
1293 218,240,266,287,288,331, | |
1294 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1295 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1296 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1297 133,159,160,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217, | |
1298 218,240,266,287,288,331, | |
1299 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1300 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1301 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1302 133,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218,240, | |
1303 266,287,288,331, | |
1304 317,316,312,308,290,289,264,0,4,12,21,28,44,146,161,178,179,203, | |
1305 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,0,1,7,11,16,26, | |
1306 29,34,39,42,45,46,49,50,51,55,94,145,186, | |
1307 290,258,0,71,112, | |
1308 327,259,254,253,252,233,230,227,223,0,51,60,69,142,185,186,187,189,266, | |
1309 290,258,0,71,112, | |
1310 290,258,0,71,112, | |
1311 258,0,71, | |
1312 254,253,252,233,230,227,223,0,60,189,266, | |
1313 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,259,0,69,79,144, | |
1314 330,313,311,281,280,279,278,277,276,275,274,273,272,271,270,269,268,267,262, | |
1315 259,254,253,252,251,250,243,233,230,228,227,223,0,1,7,11,16,26,29,34,38, | |
1316 39,42,45,46,49,50,55,59,60,61,69,73,74,76,77,84,87,94,99,109,131,132, | |
1317 133,159,162,163,164,165,176,177,180,182,183,196,204,205,212,213,217,218, | |
1318 240,266,287,288,331, | |
1319 327,281,280,279,278,277,276,275,274,273,272,271,270,269,268,0,1,7,11,16,26, | |
1320 29,34,39,42,45,46,49,50,51,55,94,145,186, | |
1321 | |
1322 }; | |
1323 | |
1324 | |
1325 static unsigned const char ag_astt[7723] = { | |
1326 8,8,8,8,8,8,8,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1327 1,1,1,1,8,1,7,1,1,1,9,5,3,1,1,1,1,1,1,1,7,0,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9, | |
1328 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,3,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1329 5,9,9,9,9,9,9,9,9,9,9,9,9,1,1,7,1,1,3,1,7,1,1,3,7,1,5,5,5,5,5,5,5,5,5,5,5, | |
1330 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,7,1,3,1,5,1,1, | |
1331 7,1,1,3,3,7,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1, | |
1332 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1333 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1334 1,3,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1335 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,1,1, | |
1336 7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1337 1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1338 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1339 1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1340 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1341 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,3,1,1, | |
1342 1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5, | |
1343 5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5, | |
1344 5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5, | |
1345 5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1, | |
1346 1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1, | |
1347 1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5, | |
1348 5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,7,1,3, | |
1349 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1, | |
1350 3,5,1,1,7,1,1,3,5,1,1,7,1,1,3,5,1,1,7,1,1,3,5,1,1,7,1,1,3,5,1,1,7,1,1,3,5, | |
1351 5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,7,1,1,1,2,1,1,1,1,5,5,5,5,5,5, | |
1352 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1, | |
1353 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1, | |
1354 1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1355 1,1,1,1,1,1,1,7,3,1,7,3,1,7,3,1,7,1,1,7,3,5,5,5,5,5,5,5,1,1,7,1,1,3,1,5,1, | |
1356 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1, | |
1357 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1358 1,1,1,1,1,1,1,3,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1359 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1360 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1, | |
1361 1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1362 1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1363 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,3,1,1,1,1,1,1,1,1,1, | |
1364 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1, | |
1365 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1366 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,7,1,1,1,1,7, | |
1367 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1, | |
1368 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3, | |
1369 1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1370 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1371 1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,1,3,1,1,3,3, | |
1372 1,3,1,3,1,1,1,1,3,3,1,3,1,1,1,1,5,1,1,3,1,1,1,1,5,1,5,5,5,5,5,5,5,5,1,1,7, | |
1373 1,1,3,8,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1374 1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1375 1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,1,1,1,3,3,1,3,3,1,3,1,3,3,1,3,1, | |
1376 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1, | |
1377 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1, | |
1378 3,3,3,3,3,3,1,3,1,1,3,3,1,3,1,3,1,1,1,1,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1379 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1380 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1, | |
1381 3,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1382 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, | |
1383 1,7,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1, | |
1384 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1, | |
1385 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3, | |
1386 1,3,1,1,3,3,1,3,1,3,1,1,1,1,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1387 1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1388 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,7,1,1,7, | |
1389 1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1, | |
1390 1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1, | |
1391 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1392 1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1393 5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1394 1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1395 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1, | |
1396 5,5,5,5,5,5,1,1,1,1,3,1,1,1,1,5,5,7,3,3,3,1,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5, | |
1397 5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,1,5,5,5,5,5,5,5,5,5,5,5,5,5,1, | |
1398 5,5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,3,1,5,5,5,5,5,5,5,5,5,5,5,5, | |
1399 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1400 1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,7,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1401 5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1402 5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1, | |
1403 1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5, | |
1404 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1405 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1406 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1407 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1, | |
1408 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1409 1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1, | |
1410 1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,3,3,1,1,1,1,3,1,1,3,3,1,1,1,1,1,1,1, | |
1411 5,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1, | |
1412 7,1,1,3,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1413 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1414 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1, | |
1415 1,1,1,5,1,1,1,5,1,1,1,5,1,1,1,1,7,3,1,1,1,7,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5, | |
1416 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5, | |
1417 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1, | |
1418 1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1, | |
1419 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1, | |
1420 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3, | |
1421 3,3,1,3,1,1,3,3,1,3,1,3,1,1,1,1,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1422 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1423 1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,1,3,1,1,3,3,1,3,1,3, | |
1424 1,1,1,1,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1425 1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3, | |
1426 3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,1,3,1,1,3,3,1,3,1,3,1,1,1,1,3,3,1,3,1,1,7,3, | |
1427 1,7,3,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1428 5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1429 1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1430 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1431 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1432 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1433 1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1434 1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,3,3, | |
1435 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1, | |
1436 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1437 1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,5,1,3,5,5,5,5,5, | |
1438 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8, | |
1439 8,8,5,1,7,1,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1440 1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3, | |
1441 3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,1,3,1,1,3,3,1,3,1,3,1,1,1,1,3,3,1,3,1,1, | |
1442 1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1, | |
1443 1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,7,1,3,1,5,1,1, | |
1444 7,1,1,3,1,7,2,1,5,5,5,5,1,1,7,1,1,3,1,1,5,5,7,3,3,3,1,5,1,1,1,7,1,1,1,1,1, | |
1445 1,1,1,1,1,7,1,1,3,3,3,3,3,3,3,3,1,1,1,7,3,1,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1, | |
1446 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1, | |
1447 1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1448 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7, | |
1449 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,3,1,1,3,1,1,1,1,1,1,1, | |
1450 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,7,1,1,1,1,7,2,1,7,2,1,1,1,9,9,9,5,3,1, | |
1451 1,1,1,3,1,1,1,1,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5,5,1,1,1,1,3,1, | |
1452 1,1,1,5,5,7,3,3,3,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,3,1, | |
1453 1,1,1,5,5,7,3,3,1,1,1,1,3,1,1,1,1,5,3,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,5,5,5, | |
1454 5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1455 5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,1,1,1,1,3,1,1,1,1,5,3,5,5,5,5,5,5,5, | |
1456 5,5,5,5,5,5,1,5,5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,3,1,5,5,5,5,5, | |
1457 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,9,9,9,9,9, | |
1458 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,3,3,7,1,7,3,1,1,1,1,7,1, | |
1459 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5, | |
1460 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5, | |
1461 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5, | |
1462 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1, | |
1463 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3, | |
1464 1,1,1,1,1,1,3,3,1,1,1,1,3,1,1,3,3,3,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5, | |
1465 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5, | |
1466 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1467 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1468 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1469 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1470 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1471 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1472 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1473 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1474 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1475 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1476 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1477 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1478 1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5, | |
1479 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1, | |
1480 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1481 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5, | |
1482 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,5, | |
1483 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1, | |
1484 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1, | |
1485 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1486 1,1,1,1,1,1,5,5,1,1,1,1,3,1,1,1,1,5,5,7,3,3,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7, | |
1487 3,3,3,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,5,5,5,1,1,7,1,1,3,1,7,1,5,5,5, | |
1488 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1, | |
1489 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1, | |
1490 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1491 1,1,1,1,1,1,1,1,1,1,7,3,1,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1492 5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1493 1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1494 3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3,3,3,3,1,1,1,3,1,3,1,3,1,1,1,1,3,3,1,3, | |
1495 1,1,1,7,3,1,1,5,1,3,1,5,1,3,1,1,1,1,1,1,1,7,1,1,1,1,8,8,8,8,1,1,1,1,1,1,1, | |
1496 1,1,1,1,1,1,1,5,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,7,3,5,1,1,7,1, | |
1497 1,3,1,7,1,1,1,1,1,5,1,5,7,1,1,1,1,1,3,3,1,3,3,1,5,1,5,5,5,5,5,5,5,5,5,1,1, | |
1498 7,1,1,3,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1,7,1,3,1,5,5,5,5,5,5,5,5,5, | |
1499 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | |
1500 5,5,1,1,7,1,1,3,8,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,1,7,1,1,1,1,5,5,5,5,5,5,5, | |
1501 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,1,3,1,1,1,1,1,1,1, | |
1502 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1, | |
1503 1,1,1,1,1,1,1,1,1,1,1,3,1,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1504 1,1,1,1,1,7,2,1,1,1,7,1,1,1,1,7,1,1,1,1,1,3,1,1,1,1,7,3,5,5,5,5,5,5,5,5,5, | |
1505 5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,3,1,1,1,1,5,5,7,3,3,5,5,5,5,5,5,5,5,5,5,5, | |
1506 5,5,5,5,5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5, | |
1507 5,5,5,5,5,5,5,5,1,1,1,1,3,3,1,1,1,1,5,5,7,3,3,3,3,1,1,7,3,1,1,1,7,3,1,1,1, | |
1508 1,1,5,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,1,5,1,1,1,7,3,1,1,7,3,1,1,1, | |
1509 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1, | |
1510 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,3,3,3,3,3,1,1,3,3,1,3,3,3,3, | |
1511 3,3,1,1,1,3,1,3,3,1,3,1,3,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1512 1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1, | |
1513 1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,1,1,1,1,8, | |
1514 7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,5,1,1,7,1,1,3,5, | |
1515 5,5,1,1,7,1,1,3,5,1,1,7,1,1,3,1,7,1,1,7,1,1,7,1,1,1,5,1,1,3,1,1,1,5,1,1,1, | |
1516 3,1,3,1,5,3,3,1,1,1,1,1,1,1,7,3,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1517 1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,7,3,3,3,9,9,9, | |
1518 5,9,9,9,5,1,1,1,1,7,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,3,1,5,5,5,5,5, | |
1519 1,1,7,1,1,3,5,5,1,1,1,7,3,1,1,1,1,3,3,1,5,5,5,5,5,1,1,7,1,1,3,1,1,7,3,3,1, | |
1520 1,1,1,5,3,1,3,3,1,3,1,7,2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,1,7,1,1,1,1,1,1,1, | |
1521 1,1,1,7,1,1,1,1,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1522 1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1523 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1524 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1525 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1526 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1, | |
1527 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1528 1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,5,7,1,1,1,1,1,3,3,1,3,3,1,1,1,1,1,1,1,1,1, | |
1529 1,1,1,1,1,1,7,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,1,1,7,1,1,1,1,1,1,1,1,1, | |
1530 1,1,7,1,1,1,3,3,3,3,1,1,1,1,7,3,1,1,1,7,3,1,1,7,3,1,1,1,1,1,1,1,7,3,3,1,8, | |
1531 8,8,8,8,8,8,8,8,8,8,8,8,8,8,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1532 1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1533 3,1,1,1,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
1534 1,1,1,1,1,1,1,1,7,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3 | |
1535 }; | |
1536 | |
1537 | |
1538 static const unsigned short ag_pstt[] = { | |
1539 3,3,3,3,3,3,3,1,2,0,2,2,3, | |
1540 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,1,4,5, | |
1541 1,399,401,399, | |
1542 6,6,6,6,6,6,6,3,0,7,8,7,6, | |
1543 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5, | |
1544 6,5, | |
1545 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,299,299, | |
1546 299,299,299,299,299,299,299,299,299,299,1,2,6,2,2,410, | |
1547 9,7,10, | |
1548 11,46,8,12, | |
1549 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1550 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,9,2,2, | |
1551 448, | |
1552 13,10,14,156,15, | |
1553 400,1,2,11,2,2,429, | |
1554 47,12, | |
1555 400,400,400,400,400,400,400,400,400,400,1,2,13,2,2,438, | |
1556 16,14,218, | |
1557 36,44,37,41,42,64,38,13,39,17,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33, | |
1558 34,16,6,6,6,6,6,6,6,15,35,35,58,49,35,19,48,43,35,47,65,50,57,46,35,56, | |
1559 35,35,35,35,35,35,45,35,35,35,62,61,59,61,61,61,61,61,61,61,35,35,61,61, | |
1560 60,20,20,20,20,61,61,61,61,61,61,55,214,61,54,52,61,214,66,61,57,61,63, | |
1561 53,66,52,18,61,61,15,61,6, | |
1562 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1563 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1564 1,2,16,2,2,408, | |
1565 400,400,400,400,400,400,400,400,1,2,17,2,2,435, | |
1566 36,44,37,41,42,64,38,13,39,17,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33, | |
1567 34,16,6,6,6,6,6,6,6,18,35,35,58,49,35,19,48,43,35,47,65,50,57,46,35,56, | |
1568 35,35,35,35,35,35,45,35,35,35,62,67,59,67,67,67,67,67,67,67,35,35,67,67, | |
1569 60,68,68,68,68,67,67,67,67,67,67,55,198,67,54,52,67,198,66,67,57,67,63, | |
1570 53,66,52,18,67,67,15,67,6, | |
1571 69,6,6,6,6,6,6,6,19,71,72,73,73,73,73,73,73,73,73,73,70,6, | |
1572 36,44,37,41,42,64,38,13,39,17,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33, | |
1573 34,16,6,6,6,6,6,6,6,20,35,35,58,49,35,19,48,43,35,47,65,50,57,46,35,56, | |
1574 35,35,35,35,35,35,45,35,35,35,62,74,59,74,74,74,74,74,74,74,35,35,74,74, | |
1575 60,58,58,58,74,74,74,74,74,74,55,216,74,54,52,74,216,66,74,57,74,63,53, | |
1576 66,52,18,74,74,15,74,6, | |
1577 400,400,400,400,400,400,400,400,400,400,400,1,2,21,2,2,425, | |
1578 400,400,400,400,400,400,400,400,400,400,400,1,2,22,2,2,424, | |
1579 400,400,400,400,400,400,400,400,400,400,400,1,2,23,2,2,423, | |
1580 400,400,400,400,400,400,400,400,400,400,400,1,2,24,2,2,422, | |
1581 400,400,400,400,400,400,400,400,400,400,400,1,2,25,2,2,421, | |
1582 400,400,400,400,400,400,400,400,400,400,400,1,2,26,2,2,420, | |
1583 400,400,400,400,400,400,400,400,400,400,400,1,2,27,2,2,419, | |
1584 400,400,400,400,400,400,400,400,400,400,400,1,2,28,2,2,418, | |
1585 400,400,400,400,400,400,400,400,400,400,400,1,2,29,2,2,417, | |
1586 400,400,400,400,400,400,400,400,400,400,400,1,2,30,2,2,416, | |
1587 400,400,400,400,400,400,400,400,400,400,400,1,2,31,2,2,415, | |
1588 400,400,400,400,400,400,400,400,400,400,400,1,2,32,2,2,414, | |
1589 400,400,400,400,400,400,400,400,400,400,400,1,2,33,2,2,413, | |
1590 400,400,400,400,400,400,400,400,400,400,400,1,2,34,2,2,412, | |
1591 69,35,75,264, | |
1592 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1593 400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,36,2,2,472, | |
1594 400,1,2,37,2,2,447, | |
1595 400,1,2,38,2,2,441, | |
1596 400,1,2,39,2,2,436, | |
1597 400,1,2,40,2,2,428, | |
1598 400,1,2,41,2,2,446, | |
1599 400,400,400,400,400,400,400,1,2,42,2,2,444, | |
1600 79,81,16,6,6,6,6,6,6,6,43,82,80,76,218,77,78,77,6, | |
1601 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1602 400,400,400,400,400,400,400,400,400,400,400,400,1,2,44,2,2,450, | |
1603 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,16,88,69,6,6,6,83,84, | |
1604 87,6,6,85,6,6,45,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101, | |
1605 97,93,96,96,99,97,105,251,94,35,35,97,105,103,104,91,91,91,91,97,95,102, | |
1606 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1607 16,46,98, | |
1608 16,47,76, | |
1609 16,48,64, | |
1610 69,49,106, | |
1611 107,50,96, | |
1612 400,400,400,400,400,400,400,1,2,51,2,2,427, | |
1613 108,122,109, | |
1614 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1615 16,6,6,6,6,6,6,6,53,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1616 35,35,35,35,45,35,35,35,62,110,59,110,110,110,110,110,110,110,35,35,110, | |
1617 110,60,110,110,110,110,110,110,55,115,110,54,52,110,115,66,110,57,110, | |
1618 66,53,66,52,110,110,15,110,6, | |
1619 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1620 16,6,6,6,6,6,6,6,54,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1621 35,35,35,35,45,35,35,35,62,111,59,111,111,111,111,111,111,111,35,35,111, | |
1622 111,60,111,111,111,111,111,111,55,72,111,54,52,111,72,66,111,57,111,66, | |
1623 53,66,52,111,111,15,111,6, | |
1624 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1625 16,6,6,6,6,6,6,6,55,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1626 35,35,35,35,45,35,35,35,62,112,59,112,112,112,112,112,112,112,35,35,112, | |
1627 112,60,112,112,112,112,112,112,55,69,112,54,52,112,69,66,112,57,112,66, | |
1628 53,66,52,112,112,15,112,6, | |
1629 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1630 6,6,85,6,6,56,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1631 93,96,96,99,97,113,94,35,35,97,113,103,104,91,91,91,91,97,95,102,102, | |
1632 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1633 6,6,6,6,6,6,6,57,114,6, | |
1634 6,6,6,6,6,6,6,58,76,115,6, | |
1635 116,59,117, | |
1636 36,44,37,41,42,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16, | |
1637 6,6,6,6,6,6,6,60,35,35,58,49,35,48,43,35,47,50,57,46,35,56,35,35,35,35, | |
1638 35,35,45,35,35,35,62,120,59,120,120,120,120,120,120,120,35,35,120,48,60, | |
1639 48,118,120,119,119,119,119,119,55,54,52,120,121,48,57,120,121,53,121,52, | |
1640 120,120,15,118,48,6, | |
1641 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1642 16,6,6,6,6,6,6,6,61,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1643 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1644 250,60,250,250,250,250,250,250,55,215,54,52,250,215,66,250,57,250,66,53, | |
1645 66,52,250,250,15,250,6, | |
1646 9,89,69,262,122,124,99,125,125,123, | |
1647 126,118,127, | |
1648 400,400,400,400,400,400,400,400,1,2,64,2,2,442, | |
1649 128,6,6,6,6,6,6,6,65,128,128,6, | |
1650 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1651 16,6,6,6,6,6,6,6,66,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1652 35,35,35,35,45,35,35,35,62,245,59,245,245,245,245,245,245,245,35,35,245, | |
1653 245,60,245,245,245,245,245,245,55,54,52,245,79,57,245,120,53,120,52,245, | |
1654 245,15,245,6, | |
1655 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1656 16,6,6,6,6,6,6,6,67,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1657 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1658 250,60,250,250,250,250,250,250,55,200,54,52,250,200,66,250,57,250,66,53, | |
1659 66,52,250,250,15,250,6, | |
1660 36,44,37,41,42,64,38,13,39,17,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33, | |
1661 34,16,6,6,6,6,6,6,6,68,35,35,58,49,35,19,48,43,35,47,65,50,57,46,35,56, | |
1662 35,35,35,35,35,35,45,35,35,35,62,129,59,129,129,129,129,129,129,129,35, | |
1663 35,129,129,60,58,58,58,129,129,129,129,129,129,55,199,129,54,52,129,199, | |
1664 66,129,57,129,63,53,66,52,18,129,129,15,129,6, | |
1665 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1666 400,400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,69,2,2,403, | |
1667 131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,69,70,130,131, | |
1668 131,131,131, | |
1669 132,134,136,258,133,137,135, | |
1670 6,6,6,6,6,6,6,72,138,139,139,6, | |
1671 108,16,73,63,140, | |
1672 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1673 16,6,6,6,6,6,6,6,74,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1674 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1675 250,60,250,250,250,250,250,250,55,217,54,52,250,217,66,250,57,250,66,53, | |
1676 66,52,250,250,15,250,6, | |
1677 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1678 6,6,85,6,6,75,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1679 93,96,96,99,97,141,94,35,35,97,141,103,104,91,91,91,91,97,95,102,102, | |
1680 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1681 89,219,142, | |
1682 116,77,143, | |
1683 107,78,144,145, | |
1684 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1685 400,400,400,400,400,400,400,400,400,400,400,400,1,2,79,2,2,439, | |
1686 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1687 6,6,85,6,6,80,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1688 93,96,96,99,97,146,94,35,35,97,146,103,104,91,91,91,91,97,95,102,102, | |
1689 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1690 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1691 400,400,400,400,400,400,400,400,400,400,400,400,1,2,81,2,2,437, | |
1692 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1693 6,6,85,6,6,82,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1694 93,96,96,99,97,147,94,35,35,97,147,103,104,91,91,91,91,97,95,102,102, | |
1695 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1696 271,271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271, | |
1697 271,271,149,149,150,150,287,150,149,151,152,271,271,83,275,287,291,148, | |
1698 271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271,271, | |
1699 271,149,149,150,153,287,283,153,149,154,152,271,271,84,275,283,287,291, | |
1700 148, | |
1701 271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271,271, | |
1702 271,149,149,150,153,287,283,156,155,157,152,271,271,85,275,279,283,287, | |
1703 291,148, | |
1704 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1705 400,400,400,400,400,400,400,400,400,400,400,1,2,86,2,2,474, | |
1706 158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158, | |
1707 158,158,158,159,158,158,158,158,158,158,158,87,158,158,159, | |
1708 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1709 400,400,400,400,400,400,400,400,400,400,400,1,2,88,2,2,406, | |
1710 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1711 400,400,400,1,2,89,2,2,411, | |
1712 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1713 400,400,400,1,2,90,2,2,455, | |
1714 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1715 400,400,400,1,2,91,2,2,432, | |
1716 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1717 400,400,400,1,2,92,2,2,431, | |
1718 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1719 6,6,85,6,6,93,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1720 93,96,96,99,97,160,94,35,35,97,160,103,104,91,91,91,91,97,95,102,102, | |
1721 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1722 21,22,23,24,25,26,27,28,29,30,31,32,33,34,69,6,6,6,6,6,6,6,94,35,35,35,35, | |
1723 35,35,35,35,35,35,35,35,35,35,101,161,35,35,126,6, | |
1724 21,22,23,24,25,26,27,28,29,30,31,32,33,34,69,6,6,6,6,6,6,6,95,35,35,35,35, | |
1725 35,35,35,35,35,35,35,35,35,35,101,162,35,35,124,6, | |
1726 90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,69,6,6,6,83,84,87,6,6,85,6, | |
1727 6,96,35,35,35,35,35,35,35,35,35,35,35,35,35,35,213,101,213,93,94,35,35, | |
1728 213,213,91,91,91,91,213,95,91,213,213,6,92,91,91, | |
1729 164,165,163,13,166,166,166,166, | |
1730 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1731 400,400,400,400,400,400,400,400,400,400,400,1,2,98,2,2,457, | |
1732 86,167,168,169,170,171,116,88,173,174,136,172,172,175,172,175,175,175,175, | |
1733 172,172,172,172,175, | |
1734 86,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87,6,6, | |
1735 85,6,6,100,35,35,35,35,35,35,35,35,35,35,35,35,35,35,97,101,97,93,96,96, | |
1736 99,97,94,35,35,97,97,91,91,91,91,97,95,139,91,97,97,97,96,96,96,96,6,92, | |
1737 91,91, | |
1738 89,69,262,122,124,125,125,123, | |
1739 176,132,177,177, | |
1740 178,190,179, | |
1741 180,181,82,182,182,182, | |
1742 16,105,235, | |
1743 183,184,185,106,187,186,186,186,186,186, | |
1744 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1745 400,400,400,400,400,400,400,400,400,400,400,400,1,2,107,2,2,445, | |
1746 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1747 400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,108,2,2,434, | |
1748 21,22,23,24,25,26,27,28,29,30,31,32,33,34,6,6,6,6,6,6,6,109,35,35,35,35,35, | |
1749 35,35,35,35,35,35,35,35,35,101,35,35,268,6, | |
1750 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1751 16,6,6,6,6,6,6,6,110,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1752 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1753 250,60,250,250,250,250,250,250,55,116,54,52,250,116,66,250,57,250,66,53, | |
1754 66,52,250,250,15,250,6, | |
1755 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1756 16,6,6,6,6,6,6,6,111,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1757 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1758 250,60,250,250,250,250,250,250,55,73,54,52,250,73,66,250,57,250,66,53, | |
1759 66,52,250,250,15,250,6, | |
1760 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1761 16,6,6,6,6,6,6,6,112,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1762 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1763 250,60,250,250,250,250,250,250,55,70,54,52,250,70,66,250,57,250,66,53, | |
1764 66,52,250,250,15,250,6, | |
1765 188,113,100, | |
1766 16,114,97, | |
1767 16,69,115,190,189,42, | |
1768 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1769 400,400,400,400,400,400,400,400,400,400,400,400,1,2,116,2,2,409, | |
1770 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1771 6,6,85,6,6,117,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1772 93,96,96,99,97,191,94,35,35,97,191,103,104,91,91,91,91,97,95,102,102, | |
1773 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1774 192,118,193, | |
1775 248,248,248,248,248,248,248,248,248,232,248,248,248,248,248,248,248,248,248, | |
1776 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,119, | |
1777 246,246,246,246,246,246,246,246,246,233,246,246,246,246,246,246,246,246,246, | |
1778 246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,120, | |
1779 36,44,37,41,42,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16, | |
1780 6,6,6,6,6,6,6,121,35,35,58,49,35,48,43,35,47,50,57,46,35,56,35,35,35,35, | |
1781 35,35,45,35,35,35,62,120,59,120,120,120,120,120,120,120,35,35,120,245, | |
1782 60,120,119,119,119,119,119,55,54,52,120,57,120,120,53,120,52,120,120,15, | |
1783 231,245,6, | |
1784 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1785 6,6,85,6,6,122,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1786 93,194,96,96,99,97,194,94,35,35,97,194,103,104,91,91,91,91,97,95,102, | |
1787 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1788 89,265,124,195,195, | |
1789 6,6,6,6,6,6,6,124,196,196,6, | |
1790 89,263,124,150, | |
1791 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1792 400,1,2,126,2,2,465, | |
1793 170,170,170,170,198,198,198,198,198,198,198,198,198,198,198,198,198,198,170, | |
1794 69,127,197,198,198, | |
1795 16,128,77, | |
1796 36,44,37,41,42,64,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34, | |
1797 16,6,6,6,6,6,6,6,129,35,35,58,49,35,48,43,35,47,65,50,57,46,35,56,35,35, | |
1798 35,35,35,35,45,35,35,35,62,250,59,250,250,250,250,250,250,250,35,35,250, | |
1799 250,60,250,250,250,250,250,250,55,201,54,52,250,201,66,250,57,250,66,53, | |
1800 66,52,250,250,15,250,6, | |
1801 163,83,84,85,130,200,199,91,91,91,91,91,91,91, | |
1802 201,21,22,23,24,25,26,27,28,29,30,31,32,33,34,131,203,203,203,203,203,203, | |
1803 203,203,203,203,203,203,203,202,203,203,203,203, | |
1804 400,400,400,400,400,400,400,1,2,132,2,2,473, | |
1805 6,6,6,6,6,6,6,133,204,259,6, | |
1806 400,1,2,134,2,2,454, | |
1807 87,135,123,92, | |
1808 400,400,400,400,1,2,136,2,2,443, | |
1809 205,206,180,180,137,121,121,121, | |
1810 132,258,133, | |
1811 108,208,139,209,207, | |
1812 69,6,6,6,6,6,6,6,140,71,72,62,62,62,62,62,62,62,62,70,6, | |
1813 208,141,225, | |
1814 6,6,6,6,6,6,6,142,220,6, | |
1815 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1816 6,6,85,6,6,143,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1817 93,96,96,99,97,102,94,35,35,97,102,103,104,102,91,91,91,91,97,95,102, | |
1818 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1819 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1820 6,6,85,6,6,144,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1821 93,96,96,99,97,229,94,35,229,35,97,229,103,104,91,91,91,91,97,95,102, | |
1822 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1823 210,212,145,211,212,212, | |
1824 16,146,74, | |
1825 16,147,71, | |
1826 214,213,213,293,293,293,288,289, | |
1827 149,149,149,149,285,149,149,215,149,149,285, | |
1828 271,271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271, | |
1829 271,271,149,149,150,150,285,150,149,151,152,271,271,150,273,285,290,148, | |
1830 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1831 271,271,149,149,216,216,286,216,149,151,152,271,271,151,274,286, | |
1832 149,149,149,149,285,149,149,215,149,272,285, | |
1833 271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271,271, | |
1834 271,149,149,150,153,285,281,153,149,154,152,271,271,153,273,281,285,290, | |
1835 148, | |
1836 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1837 271,149,149,216,217,286,282,217,149,154,152,271,271,154,274,282,286, | |
1838 149,149,149,149,285,149,149,215,149,276,285, | |
1839 271,271,271,271,271,271,271,271,271,271,271,271,271,148,271,271,271,271,271, | |
1840 271,149,149,150,153,285,281,156,155,157,152,271,271,156,273,277,281,285, | |
1841 290,148, | |
1842 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1843 271,149,149,216,217,286,282,218,155,157,152,271,271,157,274,278,282,286, | |
1844 303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303, | |
1845 303,303,303,303,303,303,303,303,303,303,305,303, | |
1846 306,159, | |
1847 208,160,224, | |
1848 83,84,87,85,161,219,219,219,219,91,91,91,91,91,92,91,91, | |
1849 83,84,87,85,162,220,220,220,220,91,91,91,91,91,92,91,91, | |
1850 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1851 400,400,400,400,400,400,400,400,400,400,400,400,1,2,163,2,2,451, | |
1852 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1853 400,400,400,400,400,400,400,400,400,400,400,1,2,164,2,2,459, | |
1854 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1855 400,400,400,400,400,400,400,400,400,400,400,1,2,165,2,2,458, | |
1856 86,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87,6,6, | |
1857 85,6,6,166,35,35,35,35,35,35,35,35,35,35,35,35,35,35,228,101,228,93,96, | |
1858 96,94,35,35,228,228,91,91,91,91,228,95,91,228,228,228,96,96,96,96,6,92, | |
1859 91,91, | |
1860 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1861 400,400,400,400,400,400,400,400,400,400,400,1,2,167,2,2,470, | |
1862 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1863 400,400,400,400,400,400,400,400,400,400,400,1,2,168,2,2,469, | |
1864 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1865 400,400,400,400,400,400,400,400,400,400,400,1,2,169,2,2,468, | |
1866 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1867 400,400,400,400,400,400,400,400,400,400,400,1,2,170,2,2,467, | |
1868 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1869 400,400,400,400,400,400,400,400,400,400,400,1,2,171,2,2,466, | |
1870 86,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87,6,6, | |
1871 85,6,6,172,35,35,35,35,35,35,35,35,35,35,35,35,35,35,97,101,97,93,96,96, | |
1872 221,97,94,35,35,97,97,91,91,91,91,97,95,91,97,97,97,96,96,96,96,6,92,91, | |
1873 91, | |
1874 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1875 400,400,400,400,400,400,400,400,400,400,400,1,2,173,2,2,405, | |
1876 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1877 400,400,400,400,400,400,400,400,400,400,400,1,2,174,2,2,404, | |
1878 86,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87,6,6, | |
1879 85,6,6,175,35,35,35,35,35,35,35,35,35,35,35,35,35,35,222,101,222,93,96, | |
1880 96,222,94,35,35,222,222,91,91,91,91,222,95,91,222,222,222,96,96,96,96,6, | |
1881 92,91,91, | |
1882 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1883 400,400,400,400,400,400,400,400,400,400,400,400,1,2,176,2,2,407, | |
1884 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1885 6,6,85,6,6,177,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1886 93,96,96,99,97,94,35,35,97,97,91,91,91,91,97,95,135,135,91,97,97,97,96, | |
1887 96,96,96,6,92,91,91, | |
1888 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1889 400,400,400,400,400,400,400,400,400,400,400,400,1,2,178,2,2,440, | |
1890 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1891 6,6,85,6,6,179,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1892 93,96,96,99,97,94,35,35,97,97,223,91,91,91,91,97,95,102,102,102,91,97, | |
1893 97,97,96,96,96,96,6,92,91,91, | |
1894 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1895 400,400,400,400,400,400,400,400,400,400,400,400,1,2,180,2,2,463, | |
1896 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1897 400,400,400,400,400,400,400,400,400,400,400,400,1,2,181,2,2,462, | |
1898 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1899 6,6,85,6,6,182,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1900 93,96,96,99,97,94,35,35,97,97,91,91,91,91,97,95,224,224,224,91,97,97,97, | |
1901 96,96,96,96,6,92,91,91, | |
1902 271,271,149,149,216,216,287,216,149,151,152,271,271,183,275,287, | |
1903 271,271,149,149,216,217,287,283,217,149,154,152,271,271,184,275,283,287, | |
1904 271,271,149,149,216,217,287,283,218,155,157,152,271,271,185,275,279,283,287, | |
1905 400,400,400,1,2,186,2,2,475, | |
1906 208,187,225, | |
1907 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1908 400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,188,2,2,449, | |
1909 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1910 6,6,85,6,6,189,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1911 93,226,96,96,99,97,226,94,35,35,97,226,103,104,91,91,91,91,97,95,102, | |
1912 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1913 16,190,43, | |
1914 16,191,17, | |
1915 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1916 400,400,400,400,400,400,400,400,400,400,400,400,400,1,2,192,2,2,430, | |
1917 36,44,37,41,42,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16, | |
1918 6,6,6,6,6,6,6,193,35,35,58,49,35,48,43,35,47,50,57,46,35,56,35,35,35,35, | |
1919 35,35,45,35,35,35,62,49,59,49,49,49,49,49,49,49,35,35,49,49,60,49,49,49, | |
1920 49,49,49,49,55,54,52,49,227,49,57,49,227,53,227,52,49,49,15,49,6, | |
1921 108,208,194,226,228, | |
1922 89,266,124,150, | |
1923 69,148,75,149, | |
1924 6,6,6,6,6,6,6,197,229,229,229,6, | |
1925 230,230,230,230,21,22,23,24,25,26,27,28,29,30,31,32,33,34,178,198,230,230, | |
1926 230,230,230,230,230,230,230,230,230,230,230,230,230,230,230, | |
1927 208,199,101, | |
1928 208,200,80, | |
1929 400,1,2,201,2,2,471, | |
1930 69,202,231, | |
1931 205,206,234,232,183,233,183,203,237,236,240,235,239,257,257,238,257,257, | |
1932 89,18,241, | |
1933 400,400,400,400,400,400,400,400,400,1,2,205,2,2,461, | |
1934 400,400,400,400,400,400,400,1,2,206,2,2,460, | |
1935 6,6,6,6,6,6,6,207,138,261,6, | |
1936 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1937 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1938 400,400,400,400,400,400,400,400,400,400,400,1,2,208,2,2,402, | |
1939 243,136,243,243,243,243,243,243,243,243,243,243,243,243,243,243,69,209,244, | |
1940 242,243,243, | |
1941 400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,400, | |
1942 400,400,400,400,400,400,400,400,400,400,400,400,1,2,210,2,2,426, | |
1943 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1944 6,6,85,6,6,211,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1945 93,96,96,99,97,41,94,35,41,35,97,41,103,104,91,91,91,91,97,95,102,102, | |
1946 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
1947 16,212,117, | |
1948 245,245,245,213,245, | |
1949 246,246,246,214,246, | |
1950 149,149,149,149,286,149,149,215,149,215,286, | |
1951 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1952 271,271,149,149,216,216,285,216,149,151,152,271,271,216,273,285, | |
1953 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1954 271,149,149,216,217,285,281,217,149,154,152,271,271,217,273,281,285, | |
1955 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271, | |
1956 271,149,149,216,217,285,281,218,155,157,152,271,271,218,273,277,281,285, | |
1957 108,208,219,127,247, | |
1958 108,208,220,125,247, | |
1959 86,88,173,174,137,175,175,175,175,175,175, | |
1960 164,165,163,14,166,166,166,166, | |
1961 180,181,75,182,182,182, | |
1962 176,133,177,177, | |
1963 16,225,45, | |
1964 108,208,226,7,228, | |
1965 36,44,37,41,42,38,13,39,40,51,21,22,23,24,25,26,27,28,29,30,31,32,33,34,16, | |
1966 6,6,6,6,6,6,6,227,35,35,58,49,35,48,43,35,47,50,57,46,35,56,35,35,35,35, | |
1967 35,35,45,35,35,35,62,245,59,245,245,245,245,245,245,245,35,35,245,245, | |
1968 60,245,245,245,245,245,245,55,54,52,245,57,245,120,53,120,52,245,245,15, | |
1969 245,6, | |
1970 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
1971 6,6,85,6,6,228,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
1972 93,96,96,99,97,84,94,35,35,97,84,103,104,91,91,91,91,97,95,102,102,102, | |
1973 91,97,97,97,96,96,96,96,6,92,91,91, | |
1974 108,208,229,94,248, | |
1975 251,205,206,249,254,230,253,250,253,253,252,254,253,253, | |
1976 201,69,6,6,6,6,6,6,6,231,202,255,256,257,257,257,257,257,255,6, | |
1977 400,1,2,232,2,2,452, | |
1978 400,400,400,1,2,233,2,2,433, | |
1979 400,1,2,234,2,2,456, | |
1980 69,235,258, | |
1981 69,236,259, | |
1982 69,237,260, | |
1983 232,233,129,236,235,131, | |
1984 234,232,233,255,237,236,235,254,238,254, | |
1985 233,253,252,252, | |
1986 6,6,6,6,6,6,6,241,19,6, | |
1987 83,84,85,242,200,91,91,91,91,91,91,91, | |
1988 201,21,22,23,24,25,26,27,28,29,30,31,32,33,34,243,261,261,261,261,261,261, | |
1989 261,261,261,261,261,261,261,202,261,261,261,261, | |
1990 205,206,180,180,244,87,87,87, | |
1991 295,295,295,296, | |
1992 295,295,295,297, | |
1993 83,84,87,85,247,54,54,54,91,91,91,91,91,92,91,91, | |
1994 6,6,6,6,6,6,6,248,93,93,6, | |
1995 400,400,400,400,400,1,2,249,2,2,453, | |
1996 174,174,183,184,185,250,113,186,186,186,186,113,113,186, | |
1997 400,400,400,400,400,1,2,251,2,2,464, | |
1998 205,206,252,195,194, | |
1999 251,205,206,249,177,197,250,197,197,252,197, | |
2000 16,254,202, | |
2001 262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,69,255,242,262, | |
2002 262, | |
2003 6,6,6,6,6,6,6,256,263,263,263,6, | |
2004 108,208,257,223,264, | |
2005 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
2006 6,6,85,6,6,258,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
2007 93,96,96,99,97,265,94,35,35,97,265,103,104,265,265,91,91,91,91,97,95, | |
2008 102,102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
2009 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
2010 6,6,85,6,6,259,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
2011 93,96,96,99,97,266,94,35,35,97,266,103,104,266,266,91,91,91,91,97,95, | |
2012 102,102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
2013 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
2014 6,6,85,6,6,260,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
2015 93,96,96,99,97,267,94,35,35,97,267,103,104,91,91,91,91,97,95,102,102, | |
2016 102,91,97,97,97,96,96,96,96,6,92,91,91, | |
2017 205,206,234,232,183,233,183,261,237,236,240,235,239,89,89,238,89,89, | |
2018 201,21,22,23,24,25,26,27,28,29,30,31,32,33,34,262,243,243,243,243,243,243, | |
2019 243,243,243,243,243,243,243,202,243,243,243,243, | |
2020 108,208,263,269,268, | |
2021 201,69,6,6,6,6,6,6,6,264,202,255,256,144,144,144,144,255,6, | |
2022 108,208,265,108,270, | |
2023 108,208,266,107,270, | |
2024 208,267,128, | |
2025 6,6,6,6,6,6,6,268,147,147,6, | |
2026 271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,69,269,242,271, | |
2027 271, | |
2028 86,98,90,21,22,23,24,25,26,27,28,29,30,31,32,33,34,89,88,69,6,6,6,83,84,87, | |
2029 6,6,85,6,6,270,35,35,35,35,35,35,35,100,35,35,35,35,35,35,35,97,101,97, | |
2030 93,96,96,99,97,106,94,35,35,97,106,103,104,106,91,91,91,91,97,95,102, | |
2031 102,102,91,97,97,97,96,96,96,96,6,92,91,91, | |
2032 201,21,22,23,24,25,26,27,28,29,30,31,32,33,34,271,88,88,88,88,88,88,88,88, | |
2033 88,88,88,88,88,202,88,88,88,88, | |
2034 | |
2035 }; | |
2036 | |
2037 | |
2038 static const unsigned short ag_sbt[] = { | |
2039 0, 13, 46, 50, 63, 93, 95, 130, 133, 137, 177, 182, 189, 191, | |
2040 207, 210, 317, 360, 374, 481, 503, 609, 626, 643, 660, 677, 694, 711, | |
2041 728, 745, 762, 779, 796, 813, 830, 847, 851, 889, 896, 903, 910, 917, | |
2042 924, 937, 956, 993,1079,1082,1085,1088,1091,1094,1107,1110,1210,1310, | |
2043 1410,1494,1504,1515,1518,1616,1715,1725,1728,1742,1754,1850,1949,2055, | |
2044 2094,2116,2123,2135,2140,2239,2323,2326,2329,2333,2370,2454,2491,2575, | |
2045 2612,2650,2689,2725,2759,2795,2823,2851,2879,2907,2991,3034,3077,3142, | |
2046 3150,3186,3210,3287,3295,3299,3302,3308,3311,3321,3358,3396,3437,3536, | |
2047 3635,3734,3737,3740,3746,3783,3867,3870,3905,3940,4034,4119,4124,4135, | |
2048 4139,4165,4189,4192,4291,4305,4339,4352,4363,4370,4374,4384,4392,4395, | |
2049 4400,4421,4424,4434,4519,4604,4610,4613,4616,4624,4635,4672,4707,4718, | |
2050 4756,4792,4803,4842,4879,4910,4912,4915,4932,4949,4986,5022,5058,5132, | |
2051 5168,5204,5240,5276,5312,5388,5424,5460,5535,5572,5652,5689,5771,5808, | |
2052 5845,5926,5942,5960,5979,5988,5991,6029,6114,6117,6120,6158,6254,6259, | |
2053 6263,6267,6279,6316,6319,6322,6329,6332,6350,6353,6368,6381,6392,6446, | |
2054 6468,6505,6590,6593,6598,6603,6614,6649,6685,6722,6727,6732,6743,6751, | |
2055 6757,6761,6764,6769,6862,6946,6951,6965,6985,6992,7001,7008,7011,7014, | |
2056 7017,7023,7033,7037,7047,7059,7093,7101,7105,7109,7125,7136,7147,7161, | |
2057 7172,7177,7188,7191,7211,7223,7228,7314,7400,7484,7502,7536,7541,7560, | |
2058 7565,7570,7573,7584,7604,7689,7723 | |
2059 }; | |
2060 | |
2061 | |
2062 static const unsigned short ag_sbe[] = { | |
2063 9, 43, 48, 57, 92, 94, 126, 131, 135, 173, 178, 185, 190, 203, | |
2064 208, 244, 356, 370, 408, 489, 537, 622, 639, 656, 673, 690, 707, 724, | |
2065 741, 758, 775, 792, 809, 826, 843, 848, 885, 892, 899, 906, 913, 920, | |
2066 933, 947, 989,1025,1080,1083,1086,1089,1092,1103,1108,1143,1243,1343, | |
2067 1441,1501,1511,1516,1550,1649,1718,1726,1738,1750,1787,1883,1983,2090, | |
2068 2110,2119,2130,2137,2173,2270,2324,2327,2330,2366,2401,2487,2522,2607, | |
2069 2644,2682,2721,2755,2791,2819,2847,2875,2903,2938,3013,3056,3105,3145, | |
2070 3182,3196,3240,3289,3296,3300,3304,3309,3314,3354,3392,3417,3470,3569, | |
2071 3668,3735,3738,3742,3779,3814,3868,3904,3939,3972,4065,4120,4131,4136, | |
2072 4161,4185,4190,4225,4295,4320,4348,4359,4366,4371,4380,4388,4393,4397, | |
2073 4408,4422,4431,4465,4550,4606,4611,4614,4622,4633,4667,4704,4716,4750, | |
2074 4788,4801,4835,4874,4908,4911,4913,4919,4936,4982,5018,5054,5088,5164, | |
2075 5200,5236,5272,5308,5342,5420,5456,5490,5568,5603,5685,5720,5804,5841, | |
2076 5876,5939,5956,5974,5984,5989,6025,6060,6115,6118,6154,6190,6256,6260, | |
2077 6264,6274,6298,6317,6320,6325,6330,6339,6351,6364,6377,6388,6442,6463, | |
2078 6501,6536,6591,6596,6601,6612,6646,6681,6717,6724,6729,6736,6746,6753, | |
2079 6758,6762,6766,6801,6893,6948,6956,6974,6988,6997,7004,7009,7012,7015, | |
2080 7019,7026,7034,7044,7050,7074,7097,7104,7108,7113,7132,7143,7152,7168, | |
2081 7174,7181,7189,7207,7218,7225,7259,7345,7431,7491,7517,7538,7550,7562, | |
2082 7567,7571,7580,7600,7635,7704,7723 | |
2083 }; | |
2084 | |
2085 | |
2086 static const unsigned char ag_fl[] = { | |
2087 2,1,1,2,0,1,3,3,1,1,1,1,1,1,3,1,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2088 1,1,1,1,1,1,2,3,4,1,5,2,3,2,4,1,1,1,1,3,1,1,1,2,1,1,1,3,3,2,1,1,1,1,2, | |
2089 3,4,2,3,4,3,2,3,1,2,3,1,1,1,3,1,1,5,5,6,1,1,1,3,3,1,2,3,2,2,3,3,3,1,1, | |
2090 1,3,4,4,1,1,1,1,2,1,2,3,5,1,1,2,3,1,3,2,4,2,4,4,1,1,2,1,3,1,3,1,3,1,2, | |
2091 1,1,1,1,3,1,1,3,2,3,2,1,1,1,1,1,3,1,1,1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0, | |
2092 1,0,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,3,3,4,6,1,1,1,1,1,1,1, | |
2093 1,1,1,2,2,3,3,4,2,1,3,1,1,4,3,3,3,1,3,2,1,2,1,1,1,3,1,1,1,1,1,1,1,3,1, | |
2094 2,1,1,1,1,2,2,2,1,2,1,1,4,1,3,1,3,1,2,2,2,3,1,3,1,1,0,1,2,2,2,1,2,2,2, | |
2095 1,2,2,2,1,2,2,2,1,2,2,2,1,2,1,2,2,2,1,2,1,1,1,2,0,1,3,1,1,1,1,1,1,1,1, | |
2096 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2097 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, | |
2098 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2099 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | |
2100 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 | |
2101 }; | |
2102 | |
2103 static const unsigned short ag_ptt[] = { | |
2104 0, 58, 65, 65, 66, 66, 58, 68, 72, 72, 72, 72, 75, 76, 76, 78, 78, 81, | |
2105 86, 86, 88, 88, 88, 88, 88, 88, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, | |
2106 94, 94, 94, 94, 95, 96, 89, 89, 99,100, 57, 57,104,104,109,109,110,111, | |
2107 111,113,113,116,116,117,117,120,120,114,121,122,122,122,122,123,123,127, | |
2108 124,124,130,131,134,135,128,128, 79, 84, 84, 70, 70,118,118,138,142,139, | |
2109 108,148,149,149,150,151,151, 90,152,153,105, 80,156,157,159,160,160,161, | |
2110 161,331,331,331,331,166,168,125,125,169,172,137,137,173, 82,175,176,176, | |
2111 176,176,178,179,179,179,133,133,180,180,183,183,182,182,185,185,185,188, | |
2112 188,189,143,143,190,190,192,192, 91, 91, 91, 91,102,193,194,194,194, 92, | |
2113 288,288,197,197,171,171,144,144,198,198,136,136,167,167,199,199,201,201, | |
2114 141,141,141,146,146,181,181,204,204,204,204,206,206,206,206,206,200,200, | |
2115 115,115,115,115,207,202,184,184,184,184,184,184, 93, 93,212,212,126,126, | |
2116 126,126,214, 98, 98,158, 97,186,205,191,215, 77, 77,170,107,107,216,216, | |
2117 106,210,217,218,213,213,119,119,119,187,147,147,220,220,220,129,129,211, | |
2118 203,203,203,203,203,219,221,221,140,140,132,132,132,132,132,174,174,145, | |
2119 145,222,222,222,222,163,226,226,226,162,229,229,229,165,232,232,232,164, | |
2120 235,235,235,196,236,236,239,239,237,237,266,266,246,246,247,247,248,248, | |
2121 287, 73, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, | |
2122 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,224,224,224,231,231, | |
2123 234,234,234,234,234,234,234,238,238,241,241,241,241,241,241,241,242,242, | |
2124 242,242,242,242,242,242,242,242,242,242,244,244,244,244,244,244,244,244, | |
2125 244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244, | |
2126 244,244,256,256,257,257, 71, 69, 35, 41, 74, 2, 85, 83, 60, 87, 1, 7, | |
2127 11, 16, 26, 29, 34, 39, 42, 45, 46, 49, 50, 55, 6, 8, 10, 20, 17, 61, | |
2128 59, 12,112, 13, 14, 9, 15, 54, 3, 18, 19, 31, 24, 53, 23, 25,154, 52, | |
2129 27,155, 28, 30, 33,177, 4, 38, 36,195, 21, 44, 40, 56, 47, 43, 22,208, | |
2130 32,209, 37, 51, 48, 5,240,101 | |
2131 }; | |
2132 | |
2133 | |
2134 static void ag_ra(void) | |
2135 { | |
2136 switch(ag_rpx[(PCB).ag_ap]) { | |
2137 case 1: ag_rp_1(); break; | |
2138 case 2: ag_rp_2(); break; | |
2139 case 3: ag_rp_3(); break; | |
2140 case 4: ag_rp_4(); break; | |
2141 case 5: ag_rp_5(); break; | |
2142 case 6: ag_rp_6(); break; | |
2143 case 7: ag_rp_7(); break; | |
2144 } | |
2145 } | |
2146 | |
2147 #define TOKEN_NAMES plm_token_names | |
2148 const char *const plm_token_names[332] = { | |
2149 "compilation", | |
2150 "ADDRESS", | |
2151 "AND", | |
2152 "ASSIGN_OP", | |
2153 "AT", | |
2154 "BASED", | |
2155 "BY", | |
2156 "BYTE", | |
2157 "CALL", | |
2158 "CASE", | |
2159 "CAUSE_INTERRUPT", | |
2160 "CHARINT", | |
2161 "DATA", | |
2162 "DECLARE", | |
2163 "DISABLE", | |
2164 "DO", | |
2165 "DWORD", | |
2166 "ELSE", | |
2167 "ENABLE", | |
2168 "END", | |
2169 "EOF_KW", | |
2170 "EXTERNAL", | |
2171 "GE", | |
2172 "GO", | |
2173 "GOTO", | |
2174 "HALT", | |
2175 "HWORD", | |
2176 "IF", | |
2177 "INITIAL_KW", | |
2178 "INTEGER", | |
2179 "INTERRUPT", | |
2180 "LABEL", | |
2181 "LE", | |
2182 "LITERALLY", | |
2183 "LONGINT", | |
2184 "MINUS", | |
2185 "MOD", | |
2186 "NE", | |
2187 "NOT", | |
2188 "OFFSET", | |
2189 "OR", | |
2190 "PLUS", | |
2191 "POINTER", | |
2192 "PROCEDURE", | |
2193 "PUBLIC", | |
2194 "QWORD", | |
2195 "REAL", | |
2196 "REENTRANT", | |
2197 "RETURN", | |
2198 "SELECTOR", | |
2199 "SHORTINT", | |
2200 "STRUCTURE", | |
2201 "THEN", | |
2202 "TO", | |
2203 "WHILE", | |
2204 "WORD", | |
2205 "XOR", | |
2206 "compilation", | |
2207 "white space", | |
2208 "numeric_constant", | |
2209 "IDENTIFIER", | |
2210 "STRING", | |
2211 "", | |
2212 "\"/*\"", | |
2213 "", | |
2214 "", | |
2215 "", | |
2216 "\"*/\"", | |
2217 "actual_parameters", | |
2218 "LPAREN", | |
2219 "expression_list", | |
2220 "RPAREN", | |
2221 "adding_operator", | |
2222 "MINUS_SIGN", | |
2223 "PLUS_SIGN", | |
2224 "and_operator", | |
2225 "arithmetic_expression", | |
2226 "term", | |
2227 "array_specifier", | |
2228 "explicit_dimension", | |
2229 "implicit_dimension", | |
2230 "assignment_statement", | |
2231 "left_part", | |
2232 "EQ", | |
2233 "expression", | |
2234 "SEMI", | |
2235 "base_specifier", | |
2236 "DOT", | |
2237 "basic_statement", | |
2238 "call_statement", | |
2239 "goto_statement", | |
2240 "microprocessor_dependent_statement", | |
2241 "null_statement", | |
2242 "return_statement", | |
2243 "basic_type", | |
2244 "bound_expression", | |
2245 "by_part", | |
2246 "step_expression", | |
2247 "simple_variable", | |
2248 "cast_type", | |
2249 "cause_interrupt_statement", | |
2250 "integer_constant", | |
2251 "module", | |
2252 "eof", | |
2253 "conditional_clause", | |
2254 "if_condition", | |
2255 "true_unit", | |
2256 "true_element", | |
2257 "false_element", | |
2258 "constant", | |
2259 "constant_attribute", | |
2260 "constant_list", | |
2261 "COMMA", | |
2262 "declaration", | |
2263 "declare_statement", | |
2264 "procedure_definition", | |
2265 "declaration_sequence", | |
2266 "declare_element", | |
2267 "factored_element", | |
2268 "unfactored_element", | |
2269 "declare_element_list", | |
2270 "disable_statement", | |
2271 "do_block", | |
2272 "do_case_block", | |
2273 "do_while_block", | |
2274 "iterative_do_block", | |
2275 "simple_do_block", | |
2276 "do_case_statement", | |
2277 "ending", | |
2278 "unit_sequence", | |
2279 "do_while_statement", | |
2280 "embedded_assignment", | |
2281 "variable_reference", | |
2282 "logical_expression", | |
2283 "enable_statement", | |
2284 "end_statement", | |
2285 "opt_identifier", | |
2286 "label_definition_sequence", | |
2287 "factored_label_element", | |
2288 "factored_variable_element", | |
2289 "variable_name_specifier_list", | |
2290 "opt_public_or_external", | |
2291 "factored_member", | |
2292 "member_name_list", | |
2293 "opt_explicit_dimension", | |
2294 "variable_type", | |
2295 "opt_variable_attributes", | |
2296 "unit", | |
2297 "formal_parameter", | |
2298 "formal_parameter_list", | |
2299 "formal_parameter_specifier", | |
2300 "go_to", | |
2301 "halt_statement", | |
2302 "id_colon", | |
2303 "COLON", | |
2304 "STAR", | |
2305 "index_part", | |
2306 "index_variable", | |
2307 "start_expression", | |
2308 "initial_value", | |
2309 "initial_value_list", | |
2310 "initialization", | |
2311 "binary number", | |
2312 "decimal number", | |
2313 "hex number", | |
2314 "octal number", | |
2315 "interrupt", | |
2316 "opt_interrupt_number", | |
2317 "interrupt_number", | |
2318 "iterative_do_statement", | |
2319 "to_part", | |
2320 "opt_by_part", | |
2321 "label_definition", | |
2322 "label_element", | |
2323 "variable_reference_list", | |
2324 "literal_element", | |
2325 "location_reference", | |
2326 "AT_SIGN", | |
2327 "locator", | |
2328 "locator_initialization", | |
2329 "logical_factor", | |
2330 "or_operator", | |
2331 "logical_secondary", | |
2332 "logical_primary", | |
2333 "relation_operator", | |
2334 "member_element", | |
2335 "structure_type", | |
2336 "unfactored_member", | |
2337 "member_element_list", | |
2338 "member_name", | |
2339 "member_specifier", | |
2340 "subscript", | |
2341 "member_specifier_sequence", | |
2342 "module_name", | |
2343 "multiplying_operator", | |
2344 "SLASH", | |
2345 "floating point number", | |
2346 "opt_array_specifier", | |
2347 "opt_formal_parameter_specifier", | |
2348 "opt_procedure_attribute_sequence", | |
2349 "procedure_attribute_sequence", | |
2350 "opt_procedure_type", | |
2351 "procedure_type", | |
2352 "variable_attributes", | |
2353 "primary", | |
2354 "subexpression", | |
2355 "procedure_attribute", | |
2356 "procedure_statement", | |
2357 "GT", | |
2358 "LT", | |
2359 "typed_return", | |
2360 "untyped_return", | |
2361 "secondary", | |
2362 "unary_sign", | |
2363 "simple_do_statement", | |
2364 "subscript_or_actual_parameters", | |
2365 "true_statement", | |
2366 "unary_minus", | |
2367 "unary_plus", | |
2368 "variable_element", | |
2369 "unit_element", | |
2370 "variable_name_specifier", | |
2371 "decimal number tail", | |
2372 "'d'", | |
2373 "", | |
2374 "'$'", | |
2375 "binary number tail", | |
2376 "", | |
2377 "", | |
2378 "octal number tail", | |
2379 "", | |
2380 "", | |
2381 "hex number tail", | |
2382 "", | |
2383 "", | |
2384 "floating point number tail", | |
2385 "fraction part", | |
2386 "exponent", | |
2387 "", | |
2388 "", | |
2389 "'-'", | |
2390 "", | |
2391 "", | |
2392 "'\\''", | |
2393 "", | |
2394 "\"\\'\\'\"", | |
2395 "", | |
2396 "", | |
2397 "", | |
2398 "", | |
2399 "", | |
2400 "", | |
2401 "", | |
2402 "", | |
2403 "", | |
2404 "", | |
2405 "", | |
2406 "", | |
2407 "RPAREN", | |
2408 "LPAREN", | |
2409 "MINUS", | |
2410 "PLUS", | |
2411 "PLUS_SIGN", | |
2412 "AND", | |
2413 "SEMI", | |
2414 "EQ", | |
2415 "IDENTIFIER", | |
2416 "DOT", | |
2417 "ADDRESS", | |
2418 "BYTE", | |
2419 "CHARINT", | |
2420 "DWORD", | |
2421 "HWORD", | |
2422 "INTEGER", | |
2423 "LONGINT", | |
2424 "OFFSET", | |
2425 "POINTER", | |
2426 "QWORD", | |
2427 "REAL", | |
2428 "SELECTOR", | |
2429 "SHORTINT", | |
2430 "WORD", | |
2431 "BY", | |
2432 "CALL", | |
2433 "CAUSE_INTERRUPT", | |
2434 "EOF_KW", | |
2435 "ELSE", | |
2436 "STRING", | |
2437 "numeric_constant", | |
2438 "DATA", | |
2439 "COMMA", | |
2440 "DECLARE", | |
2441 "DISABLE", | |
2442 "CASE", | |
2443 "DO", | |
2444 "WHILE", | |
2445 "ASSIGN_OP", | |
2446 "ENABLE", | |
2447 "END", | |
2448 "LABEL", | |
2449 "GOTO", | |
2450 "TO", | |
2451 "GO", | |
2452 "HALT", | |
2453 "COLON", | |
2454 "THEN", | |
2455 "IF", | |
2456 "STAR", | |
2457 "INITIAL_KW", | |
2458 "INTERRUPT", | |
2459 "LITERALLY", | |
2460 "AT_SIGN", | |
2461 "AT", | |
2462 "NOT", | |
2463 "MOD", | |
2464 "SLASH", | |
2465 "EXTERNAL", | |
2466 "PUBLIC", | |
2467 "OR", | |
2468 "XOR", | |
2469 "REENTRANT", | |
2470 "PROCEDURE", | |
2471 "GE", | |
2472 "GT", | |
2473 "LE", | |
2474 "LT", | |
2475 "NE", | |
2476 "STRUCTURE", | |
2477 "RETURN", | |
2478 "BASED", | |
2479 "'-'", | |
2480 "integer_constant", | |
2481 | |
2482 }; | |
2483 | |
2484 #ifndef MISSING_FORMAT | |
2485 #define MISSING_FORMAT "Missing %s" | |
2486 #endif | |
2487 #ifndef UNEXPECTED_FORMAT | |
2488 #define UNEXPECTED_FORMAT "Unexpected %s" | |
2489 #endif | |
2490 #ifndef UNNAMED_TOKEN | |
2491 #define UNNAMED_TOKEN "input" | |
2492 #endif | |
2493 | |
2494 | |
2495 static void ag_diagnose(void) { | |
2496 int ag_snd = (PCB).sn; | |
2497 int ag_k = ag_sbt[ag_snd]; | |
2498 | |
2499 if (*TOKEN_NAMES[ag_tstt[ag_k]] && ag_astt[ag_k + 1] == ag_action_8) { | |
2500 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); | |
2501 } | |
2502 else if (ag_astt[ag_sbe[(PCB).sn]] == ag_action_8 | |
2503 && (ag_k = (int) ag_sbe[(PCB).sn] + 1) == (int) ag_sbt[(PCB).sn+1] - 1 | |
2504 && *TOKEN_NAMES[ag_tstt[ag_k]]) { | |
2505 sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); | |
2506 } | |
2507 else if ((PCB).token_number && *TOKEN_NAMES[(PCB).token_number]) { | |
2508 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, TOKEN_NAMES[(PCB).token_number]); | |
2509 } | |
2510 else if (isprint((*(PCB).lab)) && (*(PCB).lab) != '\\') { | |
2511 char buf[20]; | |
2512 sprintf(buf, "\'%c\'", (char) (*(PCB).lab)); | |
2513 sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, buf); | |
2514 } | |
2515 else sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, UNNAMED_TOKEN); | |
2516 (PCB).error_message = (PCB).ag_msg; | |
2517 | |
2518 | |
2519 } | |
2520 static int ag_action_1_r_proc(void); | |
2521 static int ag_action_2_r_proc(void); | |
2522 static int ag_action_3_r_proc(void); | |
2523 static int ag_action_4_r_proc(void); | |
2524 static int ag_action_1_s_proc(void); | |
2525 static int ag_action_3_s_proc(void); | |
2526 static int ag_action_1_proc(void); | |
2527 static int ag_action_2_proc(void); | |
2528 static int ag_action_3_proc(void); | |
2529 static int ag_action_4_proc(void); | |
2530 static int ag_action_5_proc(void); | |
2531 static int ag_action_6_proc(void); | |
2532 static int ag_action_7_proc(void); | |
2533 static int ag_action_8_proc(void); | |
2534 static int ag_action_9_proc(void); | |
2535 static int ag_action_10_proc(void); | |
2536 static int ag_action_11_proc(void); | |
2537 static int ag_action_8_proc(void); | |
2538 | |
2539 | |
2540 static int (*const ag_r_procs_scan[])(void) = { | |
2541 ag_action_1_r_proc, | |
2542 ag_action_2_r_proc, | |
2543 ag_action_3_r_proc, | |
2544 ag_action_4_r_proc | |
2545 }; | |
2546 | |
2547 static int (*const ag_s_procs_scan[])(void) = { | |
2548 ag_action_1_s_proc, | |
2549 ag_action_2_r_proc, | |
2550 ag_action_3_s_proc, | |
2551 ag_action_4_r_proc | |
2552 }; | |
2553 | |
2554 static int (*const ag_gt_procs_scan[])(void) = { | |
2555 ag_action_1_proc, | |
2556 ag_action_2_proc, | |
2557 ag_action_3_proc, | |
2558 ag_action_4_proc, | |
2559 ag_action_5_proc, | |
2560 ag_action_6_proc, | |
2561 ag_action_7_proc, | |
2562 ag_action_8_proc, | |
2563 ag_action_9_proc, | |
2564 ag_action_10_proc, | |
2565 ag_action_11_proc, | |
2566 ag_action_8_proc | |
2567 }; | |
2568 | |
2569 | |
2570 static int ag_action_10_proc(void) { | |
2571 int ag_t = (PCB).token_number; | |
2572 (PCB).btsx = 0, (PCB).drt = -1; | |
2573 do { | |
2574 ag_track(); | |
2575 if ((PCB).rx < (PCB).fx) { | |
2576 (PCB).input_code = (PCB).lab[(PCB).rx++]; | |
2577 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code);} | |
2578 else { | |
2579 GET_INPUT; | |
2580 (PCB).lab[(PCB).fx++] = (PCB).input_code; | |
2581 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code); | |
2582 (PCB).rx++; | |
2583 } | |
2584 if (ag_key_index[(PCB).sn]) { | |
2585 unsigned ag_k = ag_key_index[(PCB).sn]; | |
2586 int ag_ch = CONVERT_CASE((PCB).input_code); | |
2587 if (ag_ch < 255) { | |
2588 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
2589 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
2590 } | |
2591 } | |
2592 } while ((PCB).token_number == (plm_token_type) ag_t); | |
2593 (PCB).rx = 0; | |
2594 return 1; | |
2595 } | |
2596 | |
2597 static int ag_action_11_proc(void) { | |
2598 int ag_t = (PCB).token_number; | |
2599 | |
2600 (PCB).btsx = 0, (PCB).drt = -1; | |
2601 do { | |
2602 (PCB).vs[(PCB).ssx] = *(PCB).lab; | |
2603 (PCB).ssx--; | |
2604 ag_track(); | |
2605 ag_ra(); | |
2606 if ((PCB).exit_flag != AG_RUNNING_CODE) return 0; | |
2607 (PCB).ssx++; | |
2608 if ((PCB).rx < (PCB).fx) { | |
2609 (PCB).input_code = (PCB).lab[(PCB).rx++]; | |
2610 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code);} | |
2611 else { | |
2612 GET_INPUT; | |
2613 (PCB).lab[(PCB).fx++] = (PCB).input_code; | |
2614 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code); | |
2615 (PCB).rx++; | |
2616 } | |
2617 if (ag_key_index[(PCB).sn]) { | |
2618 unsigned ag_k = ag_key_index[(PCB).sn]; | |
2619 int ag_ch = CONVERT_CASE((PCB).input_code); | |
2620 if (ag_ch < 255) { | |
2621 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
2622 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
2623 } | |
2624 } | |
2625 } | |
2626 while ((PCB).token_number == (plm_token_type) ag_t); | |
2627 (PCB).rx = 0; | |
2628 return 1; | |
2629 } | |
2630 | |
2631 static int ag_action_3_r_proc(void) { | |
2632 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
2633 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2634 (PCB).btsx = 0, (PCB).drt = -1; | |
2635 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2636 ag_ra(); | |
2637 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2638 } | |
2639 | |
2640 static int ag_action_3_s_proc(void) { | |
2641 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
2642 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2643 (PCB).btsx = 0, (PCB).drt = -1; | |
2644 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2645 ag_ra(); | |
2646 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2647 } | |
2648 | |
2649 static int ag_action_4_r_proc(void) { | |
2650 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
2651 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2652 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2653 return 1; | |
2654 } | |
2655 | |
2656 static int ag_action_2_proc(void) { | |
2657 (PCB).btsx = 0, (PCB).drt = -1; | |
2658 if ((PCB).ssx >= 128) { | |
2659 (PCB).exit_flag = AG_STACK_ERROR_CODE; | |
2660 PARSER_STACK_OVERFLOW; | |
2661 } | |
2662 (PCB).vs[(PCB).ssx] = *(PCB).lab; | |
2663 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2664 (PCB).ssx++; | |
2665 (PCB).sn = (PCB).ag_ap; | |
2666 ag_track(); | |
2667 return 0; | |
2668 } | |
2669 | |
2670 static int ag_action_9_proc(void) { | |
2671 if ((PCB).drt == -1) { | |
2672 (PCB).drt=(PCB).token_number; | |
2673 (PCB).dssx=(PCB).ssx; | |
2674 (PCB).dsn=(PCB).sn; | |
2675 } | |
2676 ag_prot(); | |
2677 (PCB).vs[(PCB).ssx] = ag_null_value; | |
2678 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2679 (PCB).ssx++; | |
2680 (PCB).sn = (PCB).ag_ap; | |
2681 (PCB).rx = 0; | |
2682 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2683 } | |
2684 | |
2685 static int ag_action_2_r_proc(void) { | |
2686 (PCB).ssx++; | |
2687 (PCB).sn = (PCB).ag_ap; | |
2688 return 0; | |
2689 } | |
2690 | |
2691 static int ag_action_7_proc(void) { | |
2692 --(PCB).ssx; | |
2693 (PCB).rx = 0; | |
2694 (PCB).exit_flag = AG_SUCCESS_CODE; | |
2695 return 0; | |
2696 } | |
2697 | |
2698 static int ag_action_1_proc(void) { | |
2699 ag_track(); | |
2700 (PCB).exit_flag = AG_SUCCESS_CODE; | |
2701 return 0; | |
2702 } | |
2703 | |
2704 static int ag_action_1_r_proc(void) { | |
2705 (PCB).exit_flag = AG_SUCCESS_CODE; | |
2706 return 0; | |
2707 } | |
2708 | |
2709 static int ag_action_1_s_proc(void) { | |
2710 (PCB).exit_flag = AG_SUCCESS_CODE; | |
2711 return 0; | |
2712 } | |
2713 | |
2714 static int ag_action_4_proc(void) { | |
2715 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
2716 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2717 (PCB).btsx = 0, (PCB).drt = -1; | |
2718 (PCB).vs[(PCB).ssx] = *(PCB).lab; | |
2719 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2720 else (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2721 ag_track(); | |
2722 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
2723 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
2724 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
2725 do { | |
2726 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
2727 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
2728 else ag_t2 = ag_tx; | |
2729 } while (ag_t1 < ag_t2); | |
2730 (PCB).ag_ap = ag_pstt[ag_t1]; | |
2731 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
2732 } | |
2733 return 0; | |
2734 } | |
2735 | |
2736 static int ag_action_3_proc(void) { | |
2737 int ag_sd = ag_fl[(PCB).ag_ap] - 1; | |
2738 (PCB).btsx = 0, (PCB).drt = -1; | |
2739 (PCB).vs[(PCB).ssx] = *(PCB).lab; | |
2740 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2741 else (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2742 ag_track(); | |
2743 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2744 ag_ra(); | |
2745 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
2746 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
2747 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
2748 do { | |
2749 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
2750 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
2751 else ag_t2 = ag_tx; | |
2752 } while (ag_t1 < ag_t2); | |
2753 (PCB).ag_ap = ag_pstt[ag_t1]; | |
2754 if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
2755 } | |
2756 return 0; | |
2757 } | |
2758 | |
2759 static int ag_action_8_proc(void) { | |
2760 ag_undo(); | |
2761 (PCB).rx = 0; | |
2762 (PCB).exit_flag = AG_SYNTAX_ERROR_CODE; | |
2763 ag_diagnose(); | |
2764 SYNTAX_ERROR; | |
2765 {(PCB).rx = 1; ag_track();} | |
2766 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2767 } | |
2768 | |
2769 static int ag_action_5_proc(void) { | |
2770 int ag_sd = ag_fl[(PCB).ag_ap]; | |
2771 (PCB).btsx = 0, (PCB).drt = -1; | |
2772 if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2773 else { | |
2774 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2775 } | |
2776 (PCB).rx = 0; | |
2777 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2778 ag_ra(); | |
2779 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
2780 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
2781 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
2782 do { | |
2783 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
2784 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
2785 else ag_t2 = ag_tx; | |
2786 } while (ag_t1 < ag_t2); | |
2787 (PCB).ag_ap = ag_pstt[ag_t1]; | |
2788 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
2789 } | |
2790 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2791 } | |
2792 | |
2793 static int ag_action_6_proc(void) { | |
2794 int ag_sd = ag_fl[(PCB).ag_ap]; | |
2795 (PCB).reduction_token = (plm_token_type) ag_ptt[(PCB).ag_ap]; | |
2796 if ((PCB).drt == -1) { | |
2797 (PCB).drt=(PCB).token_number; | |
2798 (PCB).dssx=(PCB).ssx; | |
2799 (PCB).dsn=(PCB).sn; | |
2800 } | |
2801 if (ag_sd) { | |
2802 (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; | |
2803 } | |
2804 else { | |
2805 ag_prot(); | |
2806 (PCB).vs[(PCB).ssx] = ag_null_value; | |
2807 (PCB).ss[(PCB).ssx] = (PCB).sn; | |
2808 } | |
2809 (PCB).rx = 0; | |
2810 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
2811 unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; | |
2812 unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; | |
2813 do { | |
2814 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
2815 if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; | |
2816 else ag_t2 = ag_tx; | |
2817 } while (ag_t1 < ag_t2); | |
2818 (PCB).ag_ap = ag_pstt[ag_t1]; | |
2819 if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; | |
2820 } | |
2821 return (PCB).exit_flag == AG_RUNNING_CODE; | |
2822 } | |
2823 | |
2824 | |
2825 void init_plm(void) { | |
2826 (PCB).rx = (PCB).fx = 0; | |
2827 (PCB).ss[0] = (PCB).sn = (PCB).ssx = 0; | |
2828 (PCB).exit_flag = AG_RUNNING_CODE; | |
2829 (PCB).line = FIRST_LINE; | |
2830 (PCB).column = FIRST_COLUMN; | |
2831 (PCB).btsx = 0, (PCB).drt = -1; | |
2832 } | |
2833 | |
2834 void plm(void) { | |
2835 init_plm(); | |
2836 (PCB).exit_flag = AG_RUNNING_CODE; | |
2837 while ((PCB).exit_flag == AG_RUNNING_CODE) { | |
2838 unsigned ag_t1 = ag_sbt[(PCB).sn]; | |
2839 if (ag_tstt[ag_t1]) { | |
2840 unsigned ag_t2 = ag_sbe[(PCB).sn] - 1; | |
2841 if ((PCB).rx < (PCB).fx) { | |
2842 (PCB).input_code = (PCB).lab[(PCB).rx++]; | |
2843 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code);} | |
2844 else { | |
2845 GET_INPUT; | |
2846 (PCB).lab[(PCB).fx++] = (PCB).input_code; | |
2847 (PCB).token_number = (plm_token_type) AG_TCV((PCB).input_code); | |
2848 (PCB).rx++; | |
2849 } | |
2850 if (ag_key_index[(PCB).sn]) { | |
2851 unsigned ag_k = ag_key_index[(PCB).sn]; | |
2852 int ag_ch = CONVERT_CASE((PCB).input_code); | |
2853 if (ag_ch < 255) { | |
2854 while (ag_key_ch[ag_k] < ag_ch) ag_k++; | |
2855 if (ag_key_ch[ag_k] == ag_ch) ag_get_key_word(ag_k); | |
2856 } | |
2857 } | |
2858 do { | |
2859 unsigned ag_tx = (ag_t1 + ag_t2)/2; | |
2860 if (ag_tstt[ag_tx] > (unsigned short)(PCB).token_number) | |
2861 ag_t1 = ag_tx + 1; | |
2862 else ag_t2 = ag_tx; | |
2863 } while (ag_t1 < ag_t2); | |
2864 if (ag_tstt[ag_t1] != (unsigned short)(PCB).token_number) | |
2865 ag_t1 = ag_sbe[(PCB).sn]; | |
2866 } | |
2867 (PCB).ag_ap = ag_pstt[ag_t1]; | |
2868 (ag_gt_procs_scan[ag_astt[ag_t1]])(); | |
2869 } | |
2870 } | |
2871 | |
2872 |