blob: f40f7a3841fa82985a0e098cfcabe44576ca9dc1 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#define yy_create_buffer asn1p__create_buffer
2#define yy_delete_buffer asn1p__delete_buffer
3#define yy_scan_buffer asn1p__scan_buffer
4#define yy_scan_string asn1p__scan_string
5#define yy_scan_bytes asn1p__scan_bytes
6#define yy_flex_debug asn1p__flex_debug
7#define yy_init_buffer asn1p__init_buffer
8#define yy_flush_buffer asn1p__flush_buffer
9#define yy_load_buffer_state asn1p__load_buffer_state
10#define yy_switch_to_buffer asn1p__switch_to_buffer
11#define yyin asn1p_in
12#define yyleng asn1p_leng
13#define yylex asn1p_lex
14#define yyout asn1p_out
15#define yyrestart asn1p_restart
16#define yytext asn1p_text
17#define yylineno asn1p_lineno
18
Lev Walkinf59d0752004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +000020/* A lexical scanner generated by flex */
21
22/* Scanner skeleton version:
23 * $Header$
24 */
25
26#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
31
32
33/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
38#endif
39
40
41#ifdef __cplusplus
42
43#include <stdlib.h>
44#include <unistd.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
49/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
56#define YY_USE_PROTOS
57#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
62#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
71#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
77
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
84/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
98#define BEGIN yy_start = 1 + 2 *
99
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
104#define YY_START ((yy_start - 1) / 2)
105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
111#define YY_NEW_FILE yyrestart( yyin )
112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE 16384
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern FILE *yyin, *yyout;
122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
143#define yyless(n) \
144 do \
145 { \
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
151 } \
152 while ( 0 )
153
154#define unput(c) yyunput( c, yytext_ptr )
155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
162
163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
216 */
217#define YY_BUFFER_EOF_PENDING 2
218 };
219
220static YY_BUFFER_STATE yy_current_buffer = 0;
221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
226#define YY_CURRENT_BUFFER yy_current_buffer
227
228
229/* yy_hold_char holds the character lost when yytext is formed. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static int yy_start = 0; /* start state number */
241
242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
244 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
264
265#define yy_new_buffer yy_create_buffer
266
267#define yy_set_interactive(is_interactive) \
268 { \
269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
272 }
273
274#define yy_set_bol(at_bol) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
279 }
280
281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284#define YY_USES_REJECT
285
286#define yywrap() 1
287#define YY_SKIP_YYWRAP
288
289#define FLEX_DEBUG
290typedef unsigned char YY_CHAR;
291FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
292typedef int yy_state_type;
293
294#define FLEX_DEBUG
295extern int yylineno;
296int yylineno = 1;
297extern char *yytext;
298#define yytext_ptr yytext
299
300static yy_state_type yy_get_previous_state YY_PROTO(( void ));
301static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
302static int yy_get_next_buffer YY_PROTO(( void ));
303static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
304
305/* Done after the current pattern has been matched and before the
306 * corresponding action - sets up yytext.
307 */
308#define YY_DO_BEFORE_ACTION \
309 yytext_ptr = yy_bp; \
310 yyleng = (int) (yy_cp - yy_bp); \
311 yy_hold_char = *yy_cp; \
312 *yy_cp = '\0'; \
313 yy_c_buf_p = yy_cp;
314
Lev Walkinf59d0752004-08-18 04:59:12 +0000315#define YY_NUM_RULES 132
316#define YY_END_OF_BUFFER 133
317static yyconst short int yy_acclist[1291] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000318 { 0,
Lev Walkinf59d0752004-08-18 04:59:12 +0000319 133, 131, 132, 125, 131, 132, 125, 132, 124, 131,
320 132, 15, 131, 132, 124, 131, 132, 131, 132, 124,
321 131, 132, 131, 132, 124, 131, 132, 131, 132, 29,
322 131, 132, 28, 131, 132, 124, 131, 132, 131, 132,
323 119, 120, 131, 132, 119, 120, 131, 132, 119, 120,
324 131, 132, 119, 120, 131, 132, 119, 120, 131, 132,
325 119, 120, 131, 132, 119, 120, 131, 132, 119, 120,
326 131, 132, 119, 120, 131, 132, 119, 120, 131, 132,
327 119, 120, 131, 132, 119, 120, 131, 132, 119, 120,
328 131, 132, 119, 120, 131, 132, 119, 120, 131, 132,
Lev Walkinf15320b2004-06-03 03:38:44 +0000329
Lev Walkinf59d0752004-08-18 04:59:12 +0000330 119, 120, 131, 132, 119, 120, 131, 132, 119, 120,
331 131, 132, 119, 120, 131, 132, 124, 131, 132, 130,
332 131, 132, 118, 131, 132, 124, 130, 131, 132, 5,
333 131, 132, 2, 132, 2, 131, 132, 4, 131, 132,
334 7, 9, 131, 132, 7, 132, 9, 131, 132, 9,
335 131, 132, 17, 131, 132, 17, 132, 18, 131, 132,
336 12, 131, 132, 12, 132, 14, 131, 132, 14, 131,
337 132, 10, 131, 132, 11, 131, 132, 21, 23, 131,
338 132, 23, 131, 132, 24, 132, 21, 22, 23, 131,
339 132, 21, 22, 23, 131, 132, 127, 131, 132, 128,
Lev Walkinf15320b2004-06-03 03:38:44 +0000340
Lev Walkinf59d0752004-08-18 04:59:12 +0000341 131, 132, 128, 132, 131, 132, 129, 131, 132, 125,
342 15, 15, 116, 117, 1, 27, 123, 6, 28, 119,
343 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
344 120, 120, 119, 120, 119, 120, 119, 120, 119, 120,
345 42, 119, 120, 119, 120, 119, 120, 119, 120, 119,
346 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
347 120, 120, 120, 119, 120, 119, 120, 119, 120, 119,
348 120, 119, 120, 119, 120, 119, 120, 119, 120, 120,
349 119, 120, 119, 120, 87, 119, 120, 119, 120, 120,
350 119, 120, 119, 120, 119, 120, 119, 120, 120, 119,
Lev Walkinf15320b2004-06-03 03:38:44 +0000351
Lev Walkinf59d0752004-08-18 04:59:12 +0000352 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
353 120, 119, 120, 119, 120, 119, 120, 120, 119, 120,
354 119, 120, 120, 120, 119, 120, 118, 5, 3, 8,
355 17, 16, 12, 21, 21, 22, 21, 22, 127, 128,
356 126, 116, 117, 27, 122, 121, 119, 120, 34, 119,
357 120, 35, 119, 120, 119, 120, 119, 120, 119, 120,
358 39, 119, 120, 119, 120, 119, 120, 119, 120, 119,
359 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
360 120, 119, 120, 56, 119, 120, 119, 120, 119, 120,
361 119, 120, 119, 120, 119, 120, 119, 120, 120, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000362
Lev Walkinf59d0752004-08-18 04:59:12 +0000363 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
364 119, 120, 119, 120, 79, 119, 120, 80, 119, 120,
365 119, 120, 120, 119, 120, 119, 120, 119, 120, 120,
366 119, 120, 90, 119, 120, 119, 120, 119, 120, 119,
367 120, 120, 119, 120, 119, 120, 119, 120, 98, 119,
368 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
369 120, 119, 120, 119, 120, 120, 119, 120, 119, 120,
370 119, 120, 120, 120, 120, 119, 120, 30, 13, 21,
371 22, 20, 21, 22, 26, 25, 119, 120, 119, 120,
372 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000373
Lev Walkinf59d0752004-08-18 04:59:12 +0000374 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
375 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
376 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
377 119, 120, 64, 119, 120, 120, 120, 119, 120, 119,
378 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
379 120, 119, 120, 119, 120, 82, 119, 120, 120, 119,
380 120, 119, 120, 119, 120, 120, 119, 120, 119, 120,
381 119, 120, 119, 120, 120, 95, 119, 120, 119, 120,
382 119, 120, 99, 119, 120, 119, 120, 119, 120, 119,
383 120, 103, 119, 120, 105, 119, 120, 119, 120, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000384
Lev Walkinf59d0752004-08-18 04:59:12 +0000385 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
386 120, 120, 120, 115, 119, 120, 21, 22, 119, 120,
387 119, 120, 119, 120, 119, 120, 38, 119, 120, 120,
388 119, 120, 119, 120, 119, 120, 45, 119, 120, 119,
389 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
390 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
391 120, 119, 120, 119, 120, 63, 119, 120, 120, 120,
392 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
393 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
394 120, 120, 119, 120, 86, 119, 120, 119, 120, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000395
Lev Walkinf59d0752004-08-18 04:59:12 +0000396 119, 120, 119, 120, 119, 120, 119, 120, 120, 119,
397 120, 119, 120, 119, 120, 119, 120, 120, 119, 120,
398 120, 107, 119, 120, 119, 120, 119, 120, 120, 119,
399 120, 120, 120, 120, 31, 21, 22, 32, 119, 120,
400 119, 120, 119, 120, 119, 120, 120, 119, 120, 119,
401 120, 44, 119, 120, 119, 120, 119, 120, 119, 120,
402 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
403 119, 120, 119, 120, 58, 119, 120, 119, 120, 119,
404 120, 119, 120, 119, 120, 120, 120, 120, 119, 120,
405 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000406
Lev Walkinf59d0752004-08-18 04:59:12 +0000407 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
408 120, 84, 119, 120, 119, 120, 120, 119, 120, 119,
409 120, 119, 120, 119, 120, 120, 119, 120, 119, 120,
410 100, 119, 120, 101, 119, 120, 120, 119, 120, 120,
411 108, 119, 120, 119, 120, 120, 120, 120, 120, 120,
412 21, 22, 119, 120, 119, 120, 119, 120, 120, 41,
413 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
414 50, 119, 120, 51, 119, 120, 119, 120, 119, 120,
415 54, 119, 120, 119, 120, 119, 120, 119, 120, 60,
416 119, 120, 119, 120, 119, 120, 120, 120, 120, 119,
Lev Walkinf15320b2004-06-03 03:38:44 +0000417
Lev Walkinf59d0752004-08-18 04:59:12 +0000418 120, 119, 120, 71, 119, 120, 72, 119, 120, 119,
419 120, 119, 120, 119, 120, 76, 119, 120, 119, 120,
420 119, 120, 119, 120, 120, 119, 120, 120, 89, 119,
421 120, 119, 120, 92, 119, 120, 94, 119, 120, 120,
422 119, 120, 119, 120, 120, 119, 120, 120, 119, 120,
423 111, 120, 120, 120, 120, 120, 21, 22, 119, 120,
424 119, 120, 119, 120, 120, 119, 120, 119, 120, 119,
425 120, 119, 120, 119, 120, 53, 119, 120, 119, 120,
426 119, 120, 59, 119, 120, 119, 120, 62, 119, 120,
427 120, 120, 120, 120, 119, 120, 70, 119, 120, 73,
Lev Walkinf15320b2004-06-03 03:38:44 +0000428
Lev Walkinf59d0752004-08-18 04:59:12 +0000429 119, 120, 74, 119, 120, 119, 120, 119, 120, 120,
430 119, 120, 120, 88, 119, 120, 120, 119, 120, 120,
431 119, 120, 97, 119, 120, 120, 119, 120, 120, 119,
432 120, 120, 120, 120, 120, 21, 22, 119, 120, 119,
433 120, 37, 119, 120, 40, 120, 43, 119, 120, 46,
434 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
435 119, 120, 119, 120, 120, 120, 120, 68, 120, 119,
436 120, 119, 120, 119, 120, 120, 119, 120, 120, 120,
437 119, 120, 120, 119, 120, 102, 120, 119, 120, 120,
438 109, 119, 120, 120, 120, 120, 120, 21, 119, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000439
Lev Walkinf59d0752004-08-18 04:59:12 +0000440 119, 120, 47, 119, 120, 48, 119, 120, 49, 119,
441 120, 119, 120, 119, 120, 57, 119, 120, 119, 120,
442 120, 120, 120, 69, 119, 120, 119, 120, 119, 120,
443 120, 119, 120, 120, 120, 119, 120, 120, 119, 120,
444 119, 120, 120, 112, 120, 120, 120, 120, 21, 119,
445 120, 36, 119, 120, 52, 119, 120, 119, 120, 119,
446 120, 120, 120, 120, 119, 120, 119, 120, 120, 119,
447 120, 120, 120, 119, 120, 120, 119, 120, 119, 120,
448 120, 120, 120, 120, 30, 31, 21, 119, 120, 119,
449 120, 119, 120, 120, 120, 120, 75, 119, 120, 77,
Lev Walkinf15320b2004-06-03 03:38:44 +0000450
Lev Walkinf59d0752004-08-18 04:59:12 +0000451 119, 120, 78, 120, 119, 120, 120, 120, 119, 120,
452 120, 96, 119, 120, 119, 120, 120, 120, 120, 120,
453 21, 119, 120, 119, 120, 61, 119, 120, 66, 120,
454 120, 67, 120, 119, 120, 83, 120, 120, 91, 119,
455 120, 120, 119, 120, 104, 120, 120, 120, 114, 120,
456 21, 119, 120, 119, 120, 120, 81, 119, 120, 120,
457 120, 119, 120, 120, 113, 120, 21, 33, 119, 120,
458 119, 120, 65, 120, 120, 93, 120, 106, 119, 120,
459 110, 120, 21, 55, 119, 120, 85, 120, 19, 21
Lev Walkinf15320b2004-06-03 03:38:44 +0000460 } ;
461
Lev Walkinf59d0752004-08-18 04:59:12 +0000462static yyconst short int yy_accept[722] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000463 { 0,
464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf59d0752004-08-18 04:59:12 +0000465 1, 1, 1, 1, 1, 2, 4, 7, 9, 12,
466 15, 18, 20, 23, 25, 28, 30, 33, 36, 39,
467 41, 45, 49, 53, 57, 61, 65, 69, 73, 77,
468 81, 85, 89, 93, 97, 101, 105, 109, 113, 117,
469 120, 123, 126, 130, 133, 135, 138, 141, 145, 147,
470 150, 153, 156, 158, 161, 164, 166, 169, 172, 175,
471 178, 182, 185, 187, 192, 197, 200, 203, 205, 207,
472 210, 210, 211, 212, 213, 213, 214, 214, 215, 215,
473 215, 216, 217, 218, 219, 220, 220, 222, 224, 226,
Lev Walkinf15320b2004-06-03 03:38:44 +0000474
Lev Walkinf59d0752004-08-18 04:59:12 +0000475 228, 230, 232, 233, 235, 237, 239, 241, 244, 246,
476 248, 250, 252, 254, 256, 258, 260, 262, 263, 264,
477 266, 268, 270, 272, 274, 276, 278, 280, 281, 283,
478 285, 288, 290, 291, 293, 295, 297, 299, 300, 302,
479 304, 306, 308, 310, 312, 314, 316, 318, 319, 321,
480 323, 324, 325, 327, 327, 327, 327, 327, 327, 328,
481 329, 330, 331, 332, 333, 334, 334, 335, 337, 339,
482 340, 341, 342, 342, 343, 344, 344, 344, 345, 346,
483 347, 349, 352, 355, 357, 359, 361, 364, 366, 368,
484 370, 372, 374, 376, 378, 380, 382, 384, 387, 389,
Lev Walkinf15320b2004-06-03 03:38:44 +0000485
Lev Walkinf59d0752004-08-18 04:59:12 +0000486 391, 393, 395, 397, 399, 400, 401, 403, 405, 407,
487 409, 411, 413, 415, 418, 421, 423, 424, 426, 428,
488 430, 431, 433, 436, 438, 440, 442, 443, 445, 447,
489 449, 452, 454, 456, 458, 460, 462, 464, 466, 467,
490 469, 471, 473, 474, 475, 476, 478, 479, 479, 479,
491 479, 479, 480, 482, 485, 485, 486, 487, 489, 491,
492 493, 495, 497, 499, 501, 503, 505, 507, 509, 511,
493 513, 515, 517, 519, 521, 523, 525, 527, 529, 531,
494 533, 536, 537, 538, 540, 542, 544, 546, 548, 550,
495 552, 554, 556, 559, 560, 562, 564, 566, 567, 569,
Lev Walkinf15320b2004-06-03 03:38:44 +0000496
Lev Walkinf59d0752004-08-18 04:59:12 +0000497 571, 573, 575, 576, 579, 581, 583, 586, 588, 590,
498 592, 595, 598, 600, 601, 603, 605, 607, 609, 611,
499 612, 613, 614, 617, 617, 617, 617, 617, 619, 621,
500 623, 625, 627, 630, 631, 633, 635, 637, 640, 642,
501 644, 646, 648, 650, 652, 654, 656, 658, 660, 662,
502 664, 666, 669, 670, 671, 672, 674, 676, 678, 680,
503 682, 684, 686, 688, 690, 692, 693, 695, 698, 700,
504 701, 703, 705, 707, 709, 710, 712, 714, 716, 718,
505 719, 721, 722, 725, 727, 729, 730, 732, 733, 734,
506 735, 736, 736, 736, 736, 738, 741, 743, 745, 747,
Lev Walkinf15320b2004-06-03 03:38:44 +0000507
Lev Walkinf59d0752004-08-18 04:59:12 +0000508 748, 750, 752, 755, 757, 759, 761, 763, 765, 767,
509 769, 771, 773, 775, 778, 780, 782, 784, 786, 787,
510 788, 789, 791, 793, 795, 797, 799, 801, 803, 805,
511 807, 809, 811, 812, 815, 817, 818, 820, 822, 824,
512 826, 827, 829, 831, 834, 837, 838, 840, 841, 844,
513 846, 847, 848, 849, 850, 851, 851, 851, 851, 853,
514 855, 857, 859, 860, 863, 865, 867, 869, 871, 874,
515 877, 879, 881, 884, 886, 888, 890, 893, 895, 897,
516 898, 899, 900, 902, 904, 907, 910, 912, 914, 916,
517 919, 921, 923, 925, 926, 928, 929, 932, 934, 937,
Lev Walkinf15320b2004-06-03 03:38:44 +0000518
Lev Walkinf59d0752004-08-18 04:59:12 +0000519 940, 941, 943, 945, 946, 948, 949, 951, 953, 954,
520 955, 956, 957, 957, 957, 957, 959, 961, 963, 965,
521 966, 968, 970, 972, 974, 976, 979, 981, 983, 986,
522 988, 991, 992, 993, 994, 995, 997, 1000, 1003, 1006,
523 1008, 1010, 1011, 1013, 1014, 1017, 1018, 1020, 1021, 1023,
524 1026, 1027, 1029, 1030, 1032, 1033, 1034, 1035, 1036, 1036,
525 1036, 1036, 1038, 1040, 1042, 1045, 1047, 1050, 1053, 1055,
526 1057, 1059, 1061, 1063, 1065, 1066, 1067, 1068, 1070, 1072,
527 1074, 1076, 1077, 1079, 1080, 1081, 1083, 1084, 1086, 1088,
528 1090, 1091, 1094, 1095, 1096, 1097, 1098, 1098, 1098, 1098,
Lev Walkinf15320b2004-06-03 03:38:44 +0000529
Lev Walkinf59d0752004-08-18 04:59:12 +0000530 1099, 1101, 1103, 1106, 1109, 1112, 1114, 1116, 1119, 1121,
531 1122, 1123, 1124, 1127, 1129, 1131, 1132, 1134, 1135, 1136,
532 1138, 1139, 1141, 1143, 1144, 1146, 1147, 1148, 1149, 1149,
533 1149, 1149, 1150, 1152, 1155, 1158, 1160, 1162, 1163, 1164,
534 1165, 1167, 1169, 1170, 1172, 1173, 1174, 1176, 1177, 1179,
535 1181, 1182, 1183, 1184, 1185, 1185, 1187, 1187, 1188, 1190,
536 1192, 1194, 1195, 1196, 1197, 1200, 1203, 1205, 1207, 1208,
537 1209, 1211, 1212, 1215, 1217, 1218, 1219, 1220, 1221, 1221,
538 1222, 1224, 1226, 1229, 1231, 1232, 1234, 1236, 1238, 1239,
539 1242, 1243, 1245, 1247, 1248, 1249, 1251, 1251, 1252, 1254,
540
541 1256, 1257, 1260, 1261, 1262, 1264, 1265, 1267, 1268, 1271,
542 1273, 1275, 1276, 1278, 1281, 1283, 1284, 1287, 1289, 1291,
543 1291
Lev Walkinf15320b2004-06-03 03:38:44 +0000544 } ;
545
546static yyconst int yy_ec[256] =
547 { 0,
548 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
549 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
551 1, 2, 5, 6, 1, 1, 1, 7, 8, 9,
552 9, 10, 1, 9, 11, 12, 13, 14, 15, 16,
553 16, 17, 18, 19, 16, 20, 16, 21, 22, 23,
554 24, 1, 1, 9, 25, 26, 27, 28, 29, 30,
555 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
556 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
557 51, 1, 52, 53, 1, 1, 54, 55, 56, 57,
558
559 58, 59, 60, 61, 62, 63, 59, 64, 65, 66,
560 67, 68, 59, 69, 70, 71, 72, 73, 59, 74,
561 59, 75, 76, 77, 78, 1, 1, 1, 1, 1,
562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
569
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575 1, 1, 1, 1, 1
576 } ;
577
578static yyconst int yy_meta[79] =
579 { 0,
580 1, 2, 3, 3, 1, 4, 5, 6, 1, 1,
581 7, 1, 1, 8, 8, 8, 8, 8, 8, 8,
582 9, 1, 1, 9, 8, 8, 8, 8, 8, 8,
583 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
584 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
585 1, 1, 1, 11, 11, 11, 11, 11, 11, 11,
586 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
587 11, 11, 11, 11, 11, 12, 1, 12
588 } ;
589
Lev Walkinf59d0752004-08-18 04:59:12 +0000590static yyconst short int yy_base[740] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000591 { 0,
592 0, 0, 76, 78, 80, 81, 82, 89, 83, 93,
Lev Walkinf59d0752004-08-18 04:59:12 +0000593 171, 249, 109, 120, 961, 952, 95, 98, 951, 948,
594 320, 117, 4484, 118, 933, 100, 4484, 125, 923, 4484,
595 385, 176, 194, 120, 239, 267, 435, 163, 293, 441,
596 191, 259, 463, 471, 484, 500, 508, 270, 521, 553,
597 935, 0, 933, 0, 4484, 4484, 926, 4484, 4484, 922,
598 922, 0, 0, 924, 0, 0, 902, 4484, 4484, 4484,
599 0, 4484, 4484, 598, 675, 0, 148, 151, 182, 4484,
600 915, 160, 0, 913, 912, 0, 135, 0, 573, 908,
601 4484, 226, 902, 4484, 598, 886, 556, 597, 598, 618,
Lev Walkinf15320b2004-06-03 03:38:44 +0000602
Lev Walkinf59d0752004-08-18 04:59:12 +0000603 619, 634, 0, 664, 667, 680, 693, 704, 720, 728,
604 741, 744, 757, 772, 778, 775, 793, 842, 852, 808,
605 811, 819, 834, 845, 856, 862, 873, 840, 886, 889,
606 902, 910, 840, 913, 926, 937, 950, 835, 966, 972,
607 983, 989, 1000, 1015, 1016, 1031, 1032, 831, 1047, 1048,
608 831, 48, 1063, 1095, 1102, 851, 88, 128, 0, 0,
609 4484, 4484, 0, 4484, 0, 865, 0, 849, 253, 0,
610 264, 4484, 875, 0, 0, 83, 848, 611, 4484, 4484,
611 1099, 1100, 1115, 1123, 1126, 1141, 1144, 1147, 1162, 1168,
612 1179, 1185, 1196, 1207, 1223, 1229, 1240, 1246, 1257, 1263,
Lev Walkinf15320b2004-06-03 03:38:44 +0000613
Lev Walkinf59d0752004-08-18 04:59:12 +0000614 1274, 1280, 1291, 1302, 818, 807, 1315, 1323, 1326, 1341,
615 1344, 1347, 1371, 1365, 1368, 1386, 815, 1389, 1404, 1410,
616 811, 1421, 1432, 1438, 1449, 1460, 802, 1471, 1477, 1488,
617 1494, 1509, 1510, 1525, 1536, 1542, 1557, 1563, 809, 1574,
618 1585, 1596, 793, 807, 801, 1607, 4484, 1646, 822, 178,
619 250, 4484, 109, 820, 802, 4484, 4484, 1631, 1632, 1647,
620 1653, 1668, 1669, 1686, 1685, 1701, 1707, 1718, 1729, 1747,
621 1744, 1750, 1765, 1768, 1771, 1786, 1792, 1803, 1814, 1829,
622 1835, 783, 789, 1846, 1852, 1867, 1868, 1883, 1889, 1904,
623 1907, 1915, 1928, 774, 1936, 1939, 1952, 786, 1960, 1976,
Lev Walkinf15320b2004-06-03 03:38:44 +0000624
Lev Walkinf59d0752004-08-18 04:59:12 +0000625 1975, 1992, 770, 1993, 2008, 2021, 2029, 2032, 2050, 2047,
626 2053, 2068, 2071, 768, 2074, 2089, 2095, 2106, 2112, 778,
627 768, 775, 2127, 2159, 170, 151, 242, 200, 2144, 2160,
628 2168, 2176, 2184, 759, 2192, 2200, 2213, 2221, 2224, 2242,
629 2239, 2245, 2260, 2266, 2281, 2282, 2297, 2312, 2318, 2329,
630 2335, 2350, 773, 763, 755, 2351, 2371, 2368, 2389, 2388,
631 2404, 2410, 2421, 2432, 2443, 759, 2449, 2460, 2466, 738,
632 2477, 2488, 2494, 2505, 753, 2518, 2521, 2529, 2542, 737,
633 2553, 745, 2559, 2574, 2575, 731, 2590, 725, 721, 727,
634 4484, 280, 297, 294, 231, 2596, 2611, 2614, 2622, 728,
Lev Walkinf15320b2004-06-03 03:38:44 +0000635
Lev Walkinf59d0752004-08-18 04:59:12 +0000636 2637, 2643, 2654, 2660, 2671, 2677, 2688, 2699, 2705, 2722,
637 2728, 2739, 2745, 2756, 2762, 2773, 2779, 2795, 724, 731,
638 723, 2796, 2811, 2817, 2828, 2834, 2849, 2855, 2866, 2881,
639 2887, 2898, 720, 2909, 2915, 747, 2926, 2932, 2943, 2956,
640 716, 2964, 2979, 2982, 2985, 707, 3000, 689, 3003, 3006,
641 704, 692, 687, 697, 693, 271, 295, 301, 712, 3021,
642 3024, 3037, 682, 3045, 3058, 3066, 3069, 3082, 3090, 3093,
643 3106, 3117, 3114, 3130, 3138, 3141, 3154, 3162, 3165, 124,
644 704, 677, 3178, 3186, 3189, 3202, 3210, 3223, 3231, 3234,
645 3251, 3254, 3257, 698, 3272, 681, 3275, 3288, 3296, 3304,
Lev Walkinf15320b2004-06-03 03:38:44 +0000646
Lev Walkinf59d0752004-08-18 04:59:12 +0000647 673, 3317, 3325, 658, 3338, 680, 3346, 0, 660, 667,
648 643, 672, 438, 368, 366, 286, 3349, 3362, 3370, 654,
649 3378, 3386, 3399, 3407, 3410, 3425, 3431, 3446, 3428, 3452,
650 3463, 639, 633, 630, 634, 3469, 3480, 3486, 3497, 3503,
651 3514, 623, 3525, 620, 3531, 619, 3542, 619, 3553, 3559,
652 613, 3570, 600, 3576, 603, 604, 623, 594, 300, 466,
653 447, 360, 3587, 3598, 3609, 0, 3615, 3626, 3637, 3648,
654 3654, 3669, 3672, 3675, 593, 603, 584, 0, 3690, 3698,
655 3713, 590, 3714, 579, 591, 3729, 603, 3737, 0, 3745,
656 572, 3758, 579, 589, 531, 528, 443, 3797, 454, 568,
Lev Walkinf15320b2004-06-03 03:38:44 +0000657
Lev Walkinf59d0752004-08-18 04:59:12 +0000658 3782, 3783, 3798, 3799, 3814, 3815, 3830, 3836, 3847, 529,
659 533, 527, 3853, 3864, 3875, 520, 3881, 523, 515, 3892,
660 512, 3898, 3909, 518, 0, 508, 496, 498, 397, 3941,
661 560, 517, 3926, 3927, 3942, 3943, 3958, 489, 507, 484,
662 3969, 3975, 483, 3990, 475, 477, 3993, 468, 3996, 4013,
663 469, 462, 468, 461, 424, 4484, 4052, 485, 4037, 4048,
664 4059, 461, 456, 455, 4065, 4076, 0, 4087, 454, 444,
665 4098, 440, 4104, 4115, 438, 434, 429, 432, 732, 441,
666 4131, 4128, 4139, 0, 419, 0, 4152, 0, 411, 4155,
667 399, 4170, 0, 372, 347, 0, 4209, 330, 4194, 4205,
668
669 258, 4211, 227, 214, 4222, 177, 0, 180, 4233, 4239,
670 0, 138, 0, 4250, 0, 134, 4256, 0, 0, 4484,
671 4301, 4313, 4325, 4337, 4349, 4361, 4373, 4384, 4385, 4389,
672 4400, 4412, 4424, 4435, 4446, 4457, 4462, 4467, 4472
Lev Walkinf15320b2004-06-03 03:38:44 +0000673 } ;
674
Lev Walkinf59d0752004-08-18 04:59:12 +0000675static yyconst short int yy_def[740] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000676 { 0,
Lev Walkinf59d0752004-08-18 04:59:12 +0000677 720, 1, 721, 721, 722, 722, 723, 723, 724, 724,
678 725, 725, 726, 726, 720, 720, 720, 720, 720, 727,
679 720, 728, 720, 720, 720, 720, 720, 720, 720, 720,
680 720, 31, 31, 31, 31, 31, 31, 31, 31, 31,
681 31, 31, 31, 31, 31, 31, 31, 31, 31, 729,
682 720, 730, 720, 731, 720, 720, 720, 720, 720, 720,
683 720, 732, 732, 720, 733, 733, 720, 720, 720, 720,
684 734, 720, 720, 735, 735, 736, 720, 720, 21, 720,
685 720, 720, 727, 727, 720, 737, 720, 738, 728, 728,
686 720, 720, 720, 720, 720, 720, 31, 31, 31, 31,
Lev Walkinf15320b2004-06-03 03:38:44 +0000687
Lev Walkinf59d0752004-08-18 04:59:12 +0000688 31, 31, 739, 31, 31, 31, 31, 31, 31, 31,
689 31, 31, 31, 31, 31, 31, 31, 739, 739, 31,
690 31, 31, 31, 31, 31, 31, 31, 739, 31, 31,
691 31, 31, 739, 31, 31, 31, 31, 739, 31, 31,
692 31, 31, 31, 31, 31, 31, 31, 739, 31, 31,
693 739, 739, 31, 720, 729, 155, 155, 155, 730, 731,
694 720, 720, 732, 720, 733, 720, 734, 75, 75, 736,
695 720, 720, 720, 737, 738, 720, 720, 720, 720, 720,
696 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
697 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
Lev Walkinf15320b2004-06-03 03:38:44 +0000698
Lev Walkinf59d0752004-08-18 04:59:12 +0000699 31, 31, 31, 31, 739, 739, 31, 31, 31, 31,
700 31, 31, 31, 31, 31, 31, 739, 31, 31, 31,
701 739, 31, 31, 31, 31, 31, 739, 31, 31, 31,
702 31, 31, 31, 31, 31, 31, 31, 31, 739, 31,
703 31, 31, 739, 739, 739, 31, 720, 720, 155, 155,
704 155, 720, 75, 75, 720, 720, 720, 31, 31, 31,
705 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
706 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
707 31, 739, 739, 31, 31, 31, 31, 31, 31, 31,
708 31, 31, 31, 739, 31, 31, 31, 739, 31, 31,
Lev Walkinf15320b2004-06-03 03:38:44 +0000709
Lev Walkinf59d0752004-08-18 04:59:12 +0000710 31, 31, 739, 31, 31, 31, 31, 31, 31, 31,
711 31, 31, 31, 739, 31, 31, 31, 31, 31, 739,
712 739, 739, 31, 720, 155, 155, 155, 75, 31, 31,
713 31, 31, 31, 739, 31, 31, 31, 31, 31, 31,
714 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
715 31, 31, 739, 739, 739, 31, 31, 31, 31, 31,
716 31, 31, 31, 31, 31, 739, 31, 31, 31, 739,
717 31, 31, 31, 31, 739, 31, 31, 31, 31, 739,
718 31, 739, 31, 31, 31, 739, 31, 739, 739, 739,
719 720, 155, 155, 155, 75, 31, 31, 31, 31, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +0000720
Lev Walkinf59d0752004-08-18 04:59:12 +0000721 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
722 31, 31, 31, 31, 31, 31, 31, 31, 739, 739,
723 739, 31, 31, 31, 31, 31, 31, 31, 31, 31,
724 31, 31, 739, 31, 31, 739, 31, 31, 31, 31,
725 739, 31, 31, 31, 31, 739, 31, 739, 31, 31,
726 739, 739, 739, 739, 739, 155, 155, 155, 75, 31,
727 31, 31, 739, 31, 31, 31, 31, 31, 31, 31,
728 31, 31, 31, 31, 31, 31, 31, 31, 31, 739,
729 739, 739, 31, 31, 31, 31, 31, 31, 31, 31,
730 31, 31, 31, 739, 31, 739, 31, 31, 31, 31,
Lev Walkinf15320b2004-06-03 03:38:44 +0000731
Lev Walkinf59d0752004-08-18 04:59:12 +0000732 739, 31, 31, 739, 31, 739, 31, 739, 739, 739,
733 739, 739, 155, 155, 155, 75, 31, 31, 31, 739,
734 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
735 31, 739, 739, 739, 739, 31, 31, 31, 31, 31,
736 31, 739, 31, 739, 31, 739, 31, 739, 31, 31,
737 739, 31, 739, 31, 739, 739, 739, 739, 155, 155,
738 155, 75, 31, 31, 31, 739, 31, 31, 31, 31,
739 31, 31, 31, 31, 739, 739, 739, 739, 31, 31,
740 31, 739, 31, 739, 739, 31, 739, 31, 739, 31,
741 739, 31, 739, 739, 739, 739, 155, 720, 155, 734,
Lev Walkinf15320b2004-06-03 03:38:44 +0000742
Lev Walkinf59d0752004-08-18 04:59:12 +0000743 31, 31, 31, 31, 31, 31, 31, 31, 31, 739,
744 739, 739, 31, 31, 31, 739, 31, 739, 739, 31,
745 739, 31, 31, 739, 739, 739, 739, 739, 155, 720,
746 155, 734, 31, 31, 31, 31, 31, 739, 739, 739,
747 31, 31, 739, 31, 739, 739, 31, 739, 31, 31,
748 739, 739, 739, 739, 155, 720, 720, 734, 31, 31,
749 31, 739, 739, 739, 31, 31, 739, 31, 739, 739,
750 31, 739, 31, 31, 739, 739, 739, 739, 155, 734,
751 31, 31, 31, 739, 739, 739, 31, 739, 739, 31,
752 739, 31, 739, 739, 739, 739, 720, 734, 31, 31,
753
754 739, 31, 739, 739, 31, 739, 739, 734, 31, 31,
755 739, 739, 739, 31, 739, 734, 31, 739, 734, 0,
756 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
757 720, 720, 720, 720, 720, 720, 720, 720, 720
Lev Walkinf15320b2004-06-03 03:38:44 +0000758 } ;
759
Lev Walkinf59d0752004-08-18 04:59:12 +0000760static yyconst short int yy_nxt[4563] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000761 { 0,
Lev Walkinf59d0752004-08-18 04:59:12 +0000762 16, 17, 18, 17, 19, 20, 21, 22, 23, 16,
763 24, 25, 26, 27, 28, 28, 28, 28, 28, 28,
764 29, 19, 30, 30, 31, 32, 33, 34, 35, 36,
765 37, 38, 39, 38, 38, 38, 40, 41, 42, 43,
766 38, 44, 45, 46, 47, 48, 49, 38, 38, 38,
767 50, 19, 51, 52, 52, 52, 52, 52, 52, 52,
768 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
769 52, 52, 52, 52, 52, 23, 53, 23, 55, 56,
770 55, 56, 59, 59, 63, 66, 57, 64, 57, 60,
771 60, 63, 61, 61, 64, 66, 82, 82, 82, 82,
Lev Walkinf15320b2004-06-03 03:38:44 +0000772
Lev Walkinf59d0752004-08-18 04:59:12 +0000773 82, 82, 81, 67, 244, 81, 68, 81, 256, 94,
774 77, 78, 77, 67, 257, 79, 68, 245, 89, 89,
775 89, 77, 78, 77, 81, 81, 79, 156, 91, 250,
776 89, 89, 92, 92, 92, 92, 92, 92, 95, 95,
777 95, 95, 95, 95, 95, 97, 168, 328, 112, 171,
778 171, 171, 171, 171, 171, 97, 85, 97, 69, 97,
779 70, 82, 82, 82, 97, 251, 532, 156, 69, 719,
780 70, 71, 72, 73, 72, 71, 71, 71, 71, 71,
781 71, 71, 71, 71, 30, 533, 80, 87, 97, 720,
782 156, 71, 71, 71, 71, 30, 393, 80, 97, 75,
Lev Walkinf15320b2004-06-03 03:38:44 +0000783
Lev Walkinf59d0752004-08-18 04:59:12 +0000784 97, 97, 97, 720, 104, 392, 718, 97, 105, 156,
785 326, 97, 106, 97, 107, 97, 97, 156, 716, 97,
786 97, 71, 71, 71, 108, 109, 97, 395, 97, 110,
787 97, 97, 111, 97, 720, 127, 715, 168, 97, 178,
788 178, 178, 178, 178, 178, 178, 72, 71, 72, 71,
789 72, 73, 72, 71, 71, 71, 71, 71, 71, 71,
790 71, 71, 128, 459, 97, 171, 171, 171, 168, 71,
791 71, 71, 71, 713, 97, 113, 114, 75, 97, 253,
792 254, 156, 327, 97, 129, 130, 115, 394, 131, 156,
793 168, 116, 97, 712, 97, 97, 97, 513, 132, 71,
Lev Walkinf15320b2004-06-03 03:38:44 +0000794
Lev Walkinf59d0752004-08-18 04:59:12 +0000795 71, 71, 97, 97, 97, 97, 97, 97, 117, 97,
796 156, 97, 456, 133, 97, 711, 562, 120, 97, 156,
797 121, 457, 458, 168, 72, 71, 72, 81, 97, 122,
798 123, 152, 97, 156, 156, 124, 156, 97, 514, 156,
799 156, 85, 515, 597, 86, 86, 86, 86, 86, 86,
800 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
801 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
802 600, 708, 87, 88, 88, 88, 88, 88, 88, 88,
803 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
804 88, 88, 88, 88, 88, 97, 560, 168, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000805
Lev Walkinf59d0752004-08-18 04:59:12 +0000806 97, 97, 97, 97, 97, 156, 707, 156, 561, 97,
807 98, 97, 97, 97, 97, 97, 97, 97, 97, 97,
808 99, 97, 100, 97, 101, 97, 97, 97, 97, 102,
809 97, 97, 97, 97, 97, 655, 156, 706, 103, 103,
810 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
811 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
812 97, 679, 559, 156, 704, 125, 97, 598, 598, 598,
813 97, 599, 97, 126, 97, 629, 97, 156, 97, 97,
814 97, 703, 156, 701, 698, 97, 156, 134, 97, 631,
815 135, 696, 118, 156, 695, 694, 97, 693, 136, 139,
Lev Walkinf15320b2004-06-03 03:38:44 +0000816
Lev Walkinf59d0752004-08-18 04:59:12 +0000817 97, 691, 97, 119, 137, 156, 97, 97, 97, 97,
818 97, 689, 140, 688, 686, 97, 141, 685, 144, 97,
819 684, 97, 680, 97, 145, 97, 678, 142, 97, 677,
820 676, 138, 143, 97, 675, 97, 672, 97, 670, 97,
821 669, 146, 667, 97, 97, 149, 97, 97, 147, 664,
822 663, 150, 97, 153, 662, 658, 97, 148, 97, 654,
823 97, 657, 657, 657, 653, 97, 154, 154, 154, 154,
824 154, 154, 154, 151, 89, 89, 89, 155, 652, 651,
825 176, 97, 648, 646, 645, 643, 89, 89, 640, 639,
826 638, 97, 157, 97, 632, 97, 628, 158, 167, 156,
Lev Walkinf15320b2004-06-03 03:38:44 +0000827
Lev Walkinf59d0752004-08-18 04:59:12 +0000828 97, 627, 167, 167, 167, 167, 167, 167, 167, 167,
829 167, 95, 95, 95, 95, 95, 95, 95, 167, 167,
830 167, 167, 97, 97, 178, 178, 178, 178, 178, 178,
831 178, 626, 97, 182, 97, 97, 97, 97, 625, 181,
832 624, 97, 97, 97, 97, 621, 619, 618, 167, 167,
833 167, 616, 612, 97, 97, 97, 97, 97, 184, 97,
834 611, 610, 97, 97, 596, 595, 183, 594, 593, 97,
835 591, 97, 589, 97, 167, 167, 587, 185, 97, 167,
836 167, 167, 167, 167, 167, 167, 167, 167, 585, 97,
837 584, 582, 97, 578, 186, 167, 167, 167, 167, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000838
Lev Walkinf59d0752004-08-18 04:59:12 +0000839 577, 97, 97, 97, 97, 97, 97, 576, 97, 575,
840 187, 97, 169, 566, 558, 97, 557, 97, 97, 188,
841 556, 555, 553, 551, 97, 167, 167, 167, 97, 97,
842 97, 189, 97, 697, 697, 697, 548, 97, 546, 97,
843 544, 97, 535, 97, 190, 97, 534, 520, 97, 516,
844 512, 167, 192, 97, 511, 97, 510, 97, 191, 97,
845 509, 508, 506, 97, 97, 97, 97, 97, 504, 97,
846 501, 156, 97, 195, 496, 494, 97, 193, 194, 97,
847 97, 97, 196, 97, 482, 97, 481, 480, 97, 463,
848 455, 454, 97, 453, 97, 451, 97, 97, 197, 198,
Lev Walkinf15320b2004-06-03 03:38:44 +0000849
Lev Walkinf59d0752004-08-18 04:59:12 +0000850 97, 97, 448, 97, 200, 446, 441, 97, 436, 97,
851 203, 97, 97, 97, 97, 97, 199, 201, 97, 97,
852 433, 202, 97, 421, 420, 207, 419, 400, 97, 390,
853 97, 204, 97, 97, 389, 388, 97, 97, 382, 208,
854 375, 370, 366, 97, 97, 97, 97, 97, 97, 354,
855 97, 353, 97, 172, 97, 97, 97, 168, 209, 97,
856 210, 325, 322, 97, 321, 320, 314, 303, 298, 97,
857 97, 97, 294, 97, 283, 282, 211, 212, 97, 257,
858 97, 97, 97, 213, 97, 255, 168, 97, 252, 97,
859 156, 97, 243, 97, 239, 97, 227, 97, 97, 215,
Lev Walkinf15320b2004-06-03 03:38:44 +0000860
Lev Walkinf59d0752004-08-18 04:59:12 +0000861 97, 97, 221, 214, 217, 206, 97, 205, 216, 180,
862 97, 97, 97, 179, 97, 177, 173, 97, 172, 218,
863 172, 97, 166, 97, 97, 97, 97, 97, 97, 164,
864 97, 94, 219, 97, 162, 97, 161, 97, 97, 97,
865 81, 97, 81, 96, 93, 97, 97, 97, 97, 97,
866 97, 97, 97, 220, 97, 84, 222, 97, 81, 81,
867 720, 97, 97, 97, 720, 97, 720, 720, 720, 720,
868 97, 223, 97, 720, 97, 97, 97, 720, 225, 720,
869 720, 224, 226, 720, 720, 97, 720, 97, 720, 97,
870 228, 97, 720, 720, 97, 720, 720, 97, 720, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +0000871
Lev Walkinf59d0752004-08-18 04:59:12 +0000872 720, 229, 720, 97, 720, 97, 720, 97, 97, 97,
873 97, 97, 230, 720, 97, 231, 97, 720, 97, 720,
874 97, 720, 97, 720, 97, 97, 97, 97, 97, 235,
875 233, 720, 232, 97, 720, 97, 720, 234, 720, 97,
876 97, 97, 720, 720, 97, 720, 236, 720, 720, 720,
877 97, 97, 97, 97, 97, 97, 97, 97, 720, 97,
878 97, 720, 720, 720, 720, 720, 97, 97, 97, 97,
879 97, 238, 97, 97, 241, 237, 97, 242, 720, 240,
880 720, 720, 97, 97, 97, 97, 97, 97, 97, 720,
881 720, 97, 97, 720, 720, 720, 720, 720, 97, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +0000882
Lev Walkinf59d0752004-08-18 04:59:12 +0000883 97, 720, 97, 248, 248, 248, 246, 97, 154, 154,
884 154, 154, 154, 154, 154, 720, 720, 720, 720, 720,
885 720, 720, 720, 720, 97, 97, 720, 258, 720, 720,
886 720, 720, 720, 720, 97, 97, 97, 97, 97, 97,
887 97, 249, 259, 97, 97, 720, 247, 720, 97, 720,
888 97, 97, 97, 720, 97, 720, 720, 720, 260, 97,
889 97, 97, 97, 97, 261, 97, 97, 97, 720, 97,
890 97, 720, 97, 262, 720, 720, 97, 720, 97, 97,
891 97, 97, 97, 97, 97, 97, 97, 97, 97, 263,
892 720, 97, 720, 97, 720, 720, 720, 264, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000893
Lev Walkinf59d0752004-08-18 04:59:12 +0000894 720, 97, 720, 97, 97, 97, 97, 97, 720, 265,
895 97, 266, 97, 720, 97, 720, 97, 720, 97, 720,
896 97, 97, 97, 97, 97, 720, 720, 267, 720, 97,
897 720, 97, 97, 97, 720, 268, 720, 720, 720, 720,
898 97, 720, 97, 720, 97, 720, 97, 271, 97, 269,
899 270, 97, 720, 720, 97, 272, 720, 273, 97, 720,
900 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
901 720, 97, 720, 97, 720, 97, 720, 97, 274, 97,
902 720, 97, 97, 97, 97, 97, 720, 720, 97, 720,
903 97, 276, 97, 275, 97, 720, 97, 720, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000904
Lev Walkinf59d0752004-08-18 04:59:12 +0000905 97, 97, 97, 720, 720, 97, 720, 97, 279, 277,
906 720, 97, 278, 97, 720, 97, 97, 97, 97, 97,
907 720, 720, 720, 720, 97, 720, 97, 97, 97, 720,
908 97, 720, 720, 280, 720, 97, 720, 97, 281, 97,
909 97, 97, 720, 720, 720, 720, 97, 720, 97, 720,
910 97, 97, 97, 720, 97, 720, 720, 284, 97, 97,
911 285, 286, 97, 97, 287, 97, 97, 97, 720, 97,
912 97, 720, 97, 720, 720, 290, 288, 720, 97, 97,
913 97, 97, 97, 97, 97, 97, 97, 289, 97, 291,
914 97, 97, 720, 97, 720, 720, 97, 720, 720, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +0000915
Lev Walkinf59d0752004-08-18 04:59:12 +0000916 97, 720, 97, 97, 97, 97, 97, 97, 97, 97,
917 97, 97, 292, 720, 97, 97, 720, 295, 720, 720,
918 720, 293, 720, 97, 97, 97, 97, 720, 97, 97,
919 97, 720, 296, 97, 720, 97, 720, 720, 720, 97,
920 720, 97, 297, 97, 720, 97, 97, 97, 97, 97,
921 720, 720, 720, 720, 97, 720, 97, 97, 97, 720,
922 97, 720, 720, 97, 299, 97, 720, 97, 720, 97,
923 720, 97, 720, 97, 97, 97, 97, 97, 720, 720,
924 300, 720, 97, 720, 97, 97, 97, 720, 97, 720,
925 720, 301, 720, 97, 720, 97, 97, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000926
Lev Walkinf59d0752004-08-18 04:59:12 +0000927 720, 305, 97, 720, 97, 302, 304, 720, 97, 720,
928 97, 720, 97, 97, 97, 97, 97, 720, 720, 97,
929 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
930 720, 97, 306, 97, 97, 97, 720, 307, 97, 720,
931 720, 720, 308, 720, 97, 97, 97, 97, 97, 97,
932 97, 720, 720, 97, 97, 720, 720, 720, 720, 720,
933 97, 97, 97, 720, 97, 720, 720, 97, 309, 97,
934 720, 97, 720, 97, 720, 97, 720, 97, 310, 97,
935 97, 97, 97, 720, 311, 312, 97, 720, 97, 720,
936 720, 313, 97, 720, 97, 720, 97, 720, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000937
Lev Walkinf59d0752004-08-18 04:59:12 +0000938 97, 97, 97, 720, 720, 720, 720, 97, 720, 97,
939 97, 97, 315, 97, 316, 319, 720, 720, 97, 317,
940 97, 97, 97, 720, 97, 720, 720, 720, 318, 97,
941 720, 97, 97, 97, 720, 97, 720, 720, 323, 720,
942 97, 720, 97, 720, 97, 720, 97, 248, 248, 248,
943 720, 97, 720, 720, 720, 720, 97, 97, 720, 324,
944 324, 324, 324, 324, 324, 324, 97, 97, 329, 97,
945 97, 97, 97, 330, 720, 97, 97, 720, 97, 331,
946 720, 720, 97, 720, 97, 720, 97, 720, 97, 332,
947 97, 97, 97, 97, 97, 720, 720, 97, 720, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +0000948
Lev Walkinf59d0752004-08-18 04:59:12 +0000949 720, 720, 720, 97, 97, 333, 97, 97, 97, 336,
950 97, 97, 97, 97, 335, 720, 720, 720, 720, 720,
951 97, 97, 97, 97, 97, 97, 97, 337, 720, 97,
952 97, 720, 97, 720, 720, 720, 97, 720, 97, 334,
953 97, 720, 97, 97, 97, 97, 97, 720, 720, 338,
954 720, 97, 720, 97, 97, 97, 339, 97, 720, 720,
955 720, 720, 97, 720, 97, 720, 97, 720, 97, 97,
956 340, 341, 97, 97, 720, 97, 720, 720, 720, 97,
957 720, 97, 97, 97, 97, 97, 97, 343, 342, 97,
958 97, 97, 344, 97, 97, 345, 97, 720, 720, 346,
Lev Walkinf15320b2004-06-03 03:38:44 +0000959
Lev Walkinf59d0752004-08-18 04:59:12 +0000960 97, 720, 97, 97, 97, 97, 97, 97, 97, 97,
961 97, 97, 97, 720, 720, 97, 720, 97, 720, 720,
962 720, 97, 720, 97, 348, 347, 720, 97, 97, 97,
963 97, 97, 720, 720, 720, 720, 97, 720, 97, 97,
964 97, 720, 97, 720, 349, 720, 720, 97, 720, 97,
965 720, 350, 720, 97, 97, 351, 720, 352, 97, 720,
966 97, 720, 720, 720, 97, 720, 97, 720, 97, 720,
967 97, 97, 97, 97, 97, 720, 720, 97, 720, 97,
968 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
969 97, 97, 97, 97, 720, 356, 97, 720, 720, 357,
Lev Walkinf15320b2004-06-03 03:38:44 +0000970
Lev Walkinf59d0752004-08-18 04:59:12 +0000971 720, 720, 97, 97, 97, 97, 97, 97, 97, 358,
972 720, 97, 97, 360, 97, 720, 355, 720, 97, 720,
973 97, 720, 97, 364, 97, 720, 97, 359, 97, 97,
974 361, 720, 97, 97, 362, 720, 720, 720, 720, 97,
975 97, 97, 97, 97, 97, 363, 97, 720, 97, 720,
976 97, 97, 97, 97, 97, 720, 720, 365, 720, 97,
977 720, 97, 367, 97, 97, 97, 720, 97, 720, 720,
978 720, 97, 97, 97, 97, 97, 97, 97, 97, 720,
979 97, 720, 368, 97, 720, 97, 372, 97, 371, 97,
980 369, 97, 720, 720, 720, 97, 97, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000981
Lev Walkinf59d0752004-08-18 04:59:12 +0000982 97, 97, 720, 373, 97, 720, 720, 720, 720, 720,
983 97, 97, 97, 97, 97, 97, 374, 97, 97, 97,
984 97, 720, 720, 720, 720, 720, 720, 97, 97, 97,
985 97, 97, 97, 97, 720, 720, 97, 97, 720, 720,
986 720, 720, 720, 97, 720, 97, 97, 97, 720, 377,
987 720, 376, 97, 720, 97, 720, 97, 97, 97, 720,
988 97, 720, 720, 720, 97, 97, 97, 97, 97, 378,
989 720, 97, 97, 97, 379, 97, 97, 720, 97, 720,
990 720, 381, 97, 720, 97, 97, 97, 97, 97, 97,
991 97, 97, 97, 97, 97, 720, 97, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000992
Lev Walkinf59d0752004-08-18 04:59:12 +0000993 720, 720, 720, 97, 720, 97, 97, 97, 97, 97,
994 97, 383, 97, 97, 97, 97, 720, 380, 97, 720,
995 97, 720, 720, 385, 97, 720, 97, 720, 97, 720,
996 97, 97, 97, 384, 97, 720, 720, 97, 720, 97,
997 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
998 97, 97, 97, 720, 387, 720, 97, 720, 720, 720,
999 720, 720, 97, 720, 97, 720, 97, 386, 720, 97,
1000 720, 97, 324, 324, 324, 324, 324, 324, 324, 97,
1001 720, 97, 720, 97, 397, 97, 720, 396, 97, 720,
1002 720, 720, 720, 97, 398, 97, 720, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001003
Lev Walkinf59d0752004-08-18 04:59:12 +00001004 399, 97, 720, 97, 97, 97, 720, 97, 720, 97,
1005 391, 97, 97, 97, 720, 97, 401, 97, 720, 97,
1006 97, 97, 720, 97, 720, 97, 402, 97, 97, 97,
1007 720, 97, 720, 720, 720, 97, 97, 97, 97, 97,
1008 720, 403, 720, 720, 97, 720, 97, 720, 97, 97,
1009 97, 720, 97, 720, 720, 720, 97, 97, 97, 97,
1010 97, 404, 720, 97, 97, 97, 405, 97, 97, 720,
1011 97, 406, 720, 720, 97, 720, 97, 97, 97, 97,
1012 407, 97, 97, 97, 97, 97, 97, 720, 408, 97,
1013 720, 97, 409, 410, 720, 97, 720, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001014
Lev Walkinf59d0752004-08-18 04:59:12 +00001015 720, 97, 720, 97, 97, 97, 97, 97, 720, 411,
1016 97, 720, 720, 412, 720, 720, 97, 97, 97, 97,
1017 97, 97, 97, 413, 720, 97, 97, 720, 720, 720,
1018 720, 720, 97, 720, 97, 720, 97, 97, 415, 720,
1019 414, 97, 720, 97, 720, 720, 720, 97, 720, 97,
1020 720, 97, 720, 97, 97, 97, 97, 97, 720, 720,
1021 97, 416, 97, 720, 97, 720, 97, 720, 97, 720,
1022 97, 417, 418, 97, 97, 97, 97, 720, 720, 97,
1023 720, 720, 720, 422, 720, 97, 97, 97, 97, 97,
1024 97, 720, 720, 97, 97, 97, 97, 423, 720, 424,
Lev Walkinf15320b2004-06-03 03:38:44 +00001025
Lev Walkinf59d0752004-08-18 04:59:12 +00001026 720, 720, 720, 97, 720, 97, 97, 97, 97, 720,
1027 97, 425, 97, 97, 97, 97, 426, 720, 720, 720,
1028 720, 720, 720, 97, 97, 427, 97, 97, 97, 97,
1029 720, 720, 97, 97, 720, 97, 720, 720, 429, 97,
1030 720, 97, 720, 97, 720, 97, 97, 97, 428, 97,
1031 431, 720, 720, 432, 97, 720, 97, 97, 97, 720,
1032 97, 720, 720, 430, 720, 97, 720, 97, 97, 97,
1033 720, 97, 720, 720, 97, 720, 97, 720, 97, 720,
1034 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
1035 720, 97, 434, 97, 720, 97, 720, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001036
Lev Walkinf59d0752004-08-18 04:59:12 +00001037 720, 97, 97, 435, 97, 97, 720, 720, 720, 720,
1038 97, 720, 97, 97, 97, 720, 97, 720, 437, 97,
1039 438, 97, 720, 97, 720, 97, 720, 97, 720, 97,
1040 97, 439, 97, 97, 720, 720, 720, 720, 97, 720,
1041 97, 720, 97, 97, 97, 720, 97, 720, 440, 97,
1042 442, 720, 720, 97, 97, 97, 97, 97, 443, 444,
1043 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
1044 720, 720, 720, 97, 720, 720, 720, 97, 97, 97,
1045 720, 97, 720, 720, 97, 447, 97, 720, 97, 445,
1046 97, 720, 97, 720, 97, 720, 97, 97, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001047
Lev Walkinf59d0752004-08-18 04:59:12 +00001048 97, 720, 449, 97, 720, 720, 720, 720, 720, 97,
1049 97, 97, 97, 97, 97, 97, 450, 720, 97, 97,
1050 720, 97, 720, 720, 720, 97, 720, 97, 720, 97,
1051 720, 97, 720, 97, 97, 97, 97, 460, 461, 97,
1052 97, 720, 720, 720, 720, 720, 97, 97, 97, 97,
1053 97, 97, 720, 97, 720, 97, 720, 97, 97, 97,
1054 452, 97, 97, 720, 720, 462, 97, 720, 97, 720,
1055 720, 720, 97, 720, 464, 720, 97, 720, 97, 97,
1056 97, 97, 97, 720, 720, 97, 465, 97, 466, 97,
1057 720, 97, 720, 97, 720, 97, 97, 97, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001058
Lev Walkinf59d0752004-08-18 04:59:12 +00001059 720, 720, 97, 467, 97, 720, 97, 720, 97, 720,
1060 97, 720, 97, 97, 468, 97, 97, 720, 720, 720,
1061 720, 97, 720, 97, 97, 97, 470, 97, 720, 720,
1062 97, 469, 97, 720, 97, 720, 97, 720, 97, 720,
1063 97, 720, 97, 97, 97, 720, 720, 97, 471, 97,
1064 472, 720, 720, 97, 720, 473, 720, 97, 720, 97,
1065 720, 97, 720, 97, 97, 97, 97, 97, 720, 475,
1066 97, 720, 97, 720, 97, 720, 474, 720, 97, 720,
1067 97, 97, 97, 97, 97, 720, 720, 97, 720, 97,
1068 720, 97, 720, 97, 476, 97, 720, 97, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001069
Lev Walkinf59d0752004-08-18 04:59:12 +00001070 97, 97, 720, 720, 97, 720, 97, 720, 97, 720,
1071 97, 478, 97, 720, 97, 477, 97, 97, 97, 479,
1072 97, 97, 720, 97, 720, 483, 720, 720, 720, 720,
1073 97, 97, 97, 97, 97, 97, 97, 720, 720, 97,
1074 97, 720, 97, 484, 485, 720, 97, 720, 97, 720,
1075 97, 720, 97, 97, 97, 97, 97, 720, 720, 97,
1076 720, 97, 487, 97, 720, 97, 720, 97, 720, 97,
1077 486, 97, 97, 97, 97, 488, 720, 720, 97, 720,
1078 97, 489, 720, 720, 97, 720, 97, 720, 97, 720,
1079 97, 97, 97, 97, 97, 720, 720, 720, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001080
Lev Walkinf59d0752004-08-18 04:59:12 +00001081 720, 97, 720, 97, 720, 97, 97, 490, 720, 491,
1082 97, 720, 97, 720, 720, 720, 97, 720, 97, 720,
1083 97, 720, 97, 97, 97, 97, 97, 720, 720, 492,
1084 493, 97, 720, 97, 97, 97, 720, 97, 720, 495,
1085 97, 720, 97, 720, 97, 720, 97, 720, 97, 720,
1086 97, 97, 97, 97, 97, 720, 720, 97, 720, 97,
1087 720, 97, 720, 497, 720, 97, 720, 97, 97, 498,
1088 97, 97, 720, 720, 720, 720, 97, 720, 97, 720,
1089 97, 97, 97, 720, 500, 720, 499, 97, 720, 97,
1090 720, 97, 720, 97, 720, 97, 720, 720, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001091
Lev Walkinf59d0752004-08-18 04:59:12 +00001092 97, 97, 720, 97, 97, 503, 720, 97, 97, 502,
1093 97, 720, 720, 720, 97, 720, 97, 97, 97, 97,
1094 97, 97, 97, 97, 97, 97, 97, 505, 97, 97,
1095 720, 97, 720, 720, 720, 97, 720, 97, 97, 97,
1096 97, 97, 97, 97, 97, 97, 97, 97, 507, 97,
1097 97, 720, 720, 720, 720, 720, 97, 720, 97, 97,
1098 97, 97, 97, 97, 517, 97, 720, 518, 97, 519,
1099 97, 720, 97, 720, 97, 720, 97, 720, 720, 720,
1100 97, 97, 97, 97, 97, 720, 521, 720, 720, 97,
1101 720, 97, 720, 97, 97, 97, 720, 97, 720, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001102
Lev Walkinf59d0752004-08-18 04:59:12 +00001103 720, 97, 97, 522, 97, 97, 523, 97, 97, 720,
1104 97, 720, 720, 97, 524, 97, 720, 97, 97, 97,
1105 720, 97, 720, 720, 720, 97, 97, 97, 97, 97,
1106 97, 97, 97, 720, 97, 720, 720, 97, 525, 97,
1107 720, 97, 97, 97, 526, 97, 720, 720, 720, 97,
1108 97, 97, 97, 97, 97, 97, 97, 720, 97, 720,
1109 527, 97, 720, 97, 720, 97, 97, 97, 720, 97,
1110 720, 720, 720, 97, 97, 97, 97, 97, 97, 97,
1111 97, 528, 97, 720, 529, 97, 720, 530, 720, 97,
1112 97, 97, 720, 97, 720, 720, 720, 97, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001113
Lev Walkinf59d0752004-08-18 04:59:12 +00001114 531, 97, 97, 97, 97, 720, 97, 720, 720, 97,
1115 536, 97, 720, 97, 97, 97, 720, 97, 720, 720,
1116 720, 97, 97, 97, 97, 97, 97, 97, 97, 537,
1117 97, 720, 720, 97, 720, 97, 720, 97, 720, 97,
1118 720, 97, 720, 720, 720, 97, 97, 97, 97, 97,
1119 720, 539, 538, 720, 97, 720, 97, 720, 97, 97,
1120 97, 720, 97, 720, 720, 720, 97, 97, 97, 97,
1121 97, 97, 720, 97, 540, 97, 97, 541, 97, 97,
1122 720, 720, 97, 720, 720, 720, 97, 720, 97, 97,
1123 97, 97, 97, 97, 543, 97, 97, 97, 97, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001124
Lev Walkinf59d0752004-08-18 04:59:12 +00001125 97, 97, 720, 720, 720, 720, 720, 545, 720, 97,
1126 97, 97, 97, 97, 97, 720, 97, 547, 720, 97,
1127 720, 97, 720, 97, 542, 97, 720, 97, 720, 97,
1128 720, 97, 97, 97, 720, 97, 720, 720, 720, 97,
1129 97, 97, 97, 97, 720, 549, 720, 720, 97, 720,
1130 97, 720, 97, 550, 97, 720, 97, 720, 720, 563,
1131 97, 97, 97, 97, 97, 720, 552, 720, 720, 97,
1132 554, 97, 720, 97, 97, 97, 720, 97, 720, 720,
1133 720, 97, 97, 97, 97, 97, 97, 97, 97, 720,
1134 97, 720, 720, 97, 564, 97, 565, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001135
Lev Walkinf59d0752004-08-18 04:59:12 +00001136 720, 97, 720, 97, 720, 97, 97, 97, 720, 97,
1137 720, 97, 720, 97, 97, 97, 720, 97, 720, 567,
1138 720, 97, 97, 97, 97, 97, 720, 569, 720, 568,
1139 97, 720, 97, 720, 97, 97, 97, 720, 97, 720,
1140 720, 572, 97, 97, 570, 97, 97, 97, 571, 97,
1141 97, 97, 720, 97, 97, 720, 97, 720, 720, 720,
1142 97, 720, 97, 97, 97, 97, 97, 97, 97, 97,
1143 97, 97, 97, 720, 573, 97, 720, 97, 720, 720,
1144 720, 97, 720, 97, 574, 97, 720, 97, 97, 97,
1145 97, 97, 720, 720, 97, 720, 97, 579, 97, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001146
Lev Walkinf59d0752004-08-18 04:59:12 +00001147 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
1148 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
1149 720, 97, 97, 97, 97, 97, 720, 720, 97, 720,
1150 97, 720, 97, 720, 97, 580, 97, 720, 97, 97,
1151 97, 97, 97, 720, 720, 720, 720, 97, 720, 97,
1152 97, 97, 720, 97, 583, 720, 97, 581, 97, 720,
1153 97, 720, 97, 588, 97, 720, 97, 97, 97, 97,
1154 97, 720, 720, 720, 586, 97, 720, 97, 97, 97,
1155 720, 97, 720, 720, 97, 720, 97, 720, 97, 720,
1156 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001157
Lev Walkinf59d0752004-08-18 04:59:12 +00001158 720, 97, 720, 97, 720, 97, 720, 590, 720, 97,
1159 720, 592, 97, 97, 97, 97, 720, 720, 720, 720,
1160 97, 720, 97, 97, 97, 720, 97, 720, 720, 601,
1161 720, 97, 720, 97, 97, 97, 602, 97, 720, 720,
1162 97, 720, 97, 720, 97, 720, 97, 720, 97, 720,
1163 97, 97, 97, 97, 97, 720, 720, 720, 720, 97,
1164 720, 97, 97, 97, 604, 97, 720, 720, 603, 720,
1165 97, 720, 97, 97, 97, 720, 97, 720, 605, 97,
1166 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
1167 720, 606, 97, 97, 97, 607, 720, 97, 97, 608,
Lev Walkinf15320b2004-06-03 03:38:44 +00001168
Lev Walkinf59d0752004-08-18 04:59:12 +00001169 97, 720, 720, 720, 97, 720, 97, 97, 97, 97,
1170 609, 97, 97, 97, 97, 97, 97, 720, 720, 97,
1171 720, 720, 720, 97, 720, 97, 720, 97, 720, 97,
1172 720, 613, 720, 97, 97, 97, 614, 97, 97, 97,
1173 720, 720, 97, 720, 720, 615, 617, 720, 97, 97,
1174 97, 97, 97, 97, 97, 720, 720, 97, 97, 720,
1175 720, 720, 97, 720, 97, 720, 620, 720, 97, 720,
1176 97, 720, 97, 97, 97, 622, 97, 720, 720, 720,
1177 97, 97, 97, 97, 97, 720, 720, 720, 623, 97,
1178 720, 720, 720, 97, 720, 97, 720, 97, 598, 598,
Lev Walkinf15320b2004-06-03 03:38:44 +00001179
Lev Walkinf59d0752004-08-18 04:59:12 +00001180 598, 720, 97, 720, 720, 720, 720, 97, 97, 720,
1181 630, 630, 630, 630, 630, 630, 630, 97, 97, 97,
1182 634, 97, 97, 97, 97, 720, 97, 97, 720, 720,
1183 633, 720, 720, 97, 97, 97, 97, 97, 97, 97,
1184 97, 720, 97, 97, 720, 720, 720, 720, 720, 97,
1185 97, 97, 97, 97, 97, 97, 720, 635, 97, 97,
1186 720, 97, 720, 720, 720, 97, 720, 97, 636, 97,
1187 720, 97, 97, 97, 97, 97, 720, 720, 97, 637,
1188 97, 720, 97, 720, 97, 720, 97, 720, 97, 97,
1189 97, 97, 97, 720, 720, 720, 720, 97, 720, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001190
Lev Walkinf59d0752004-08-18 04:59:12 +00001191 97, 641, 720, 97, 720, 720, 97, 720, 97, 720,
1192 97, 720, 97, 642, 97, 720, 97, 97, 644, 97,
1193 97, 720, 720, 97, 647, 97, 720, 97, 720, 97,
1194 649, 97, 720, 97, 97, 97, 97, 97, 720, 720,
1195 720, 650, 97, 720, 97, 720, 97, 720, 97, 720,
1196 720, 97, 97, 97, 630, 630, 630, 630, 630, 630,
1197 630, 97, 97, 659, 97, 97, 97, 97, 97, 720,
1198 97, 97, 720, 720, 720, 720, 720, 97, 97, 97,
1199 660, 97, 97, 97, 720, 720, 97, 97, 720, 720,
1200 720, 720, 656, 97, 97, 97, 720, 97, 720, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001201
Lev Walkinf59d0752004-08-18 04:59:12 +00001202 97, 661, 97, 720, 97, 720, 97, 720, 97, 720,
1203 97, 665, 666, 97, 97, 97, 720, 720, 97, 97,
1204 720, 97, 668, 673, 720, 97, 720, 97, 97, 97,
1205 97, 97, 97, 97, 97, 97, 671, 97, 97, 720,
1206 97, 720, 674, 720, 720, 720, 720, 720, 97, 720,
1207 97, 720, 97, 657, 657, 657, 720, 97, 720, 720,
1208 720, 720, 97, 720, 720, 630, 630, 630, 630, 630,
1209 630, 630, 97, 97, 97, 720, 97, 720, 720, 720,
1210 681, 97, 720, 97, 97, 97, 720, 97, 720, 720,
1211 97, 682, 97, 720, 97, 720, 97, 720, 97, 720,
Lev Walkinf15320b2004-06-03 03:38:44 +00001212
Lev Walkinf59d0752004-08-18 04:59:12 +00001213 97, 97, 97, 97, 97, 720, 720, 683, 720, 97,
1214 720, 97, 97, 97, 720, 97, 720, 720, 720, 720,
1215 97, 720, 97, 97, 97, 720, 97, 720, 720, 97,
1216 687, 97, 720, 97, 720, 97, 720, 97, 720, 97,
1217 97, 97, 97, 97, 720, 720, 690, 692, 97, 720,
1218 97, 720, 97, 97, 97, 699, 97, 720, 720, 97,
1219 720, 720, 720, 97, 97, 97, 97, 97, 97, 700,
1220 97, 720, 97, 720, 97, 97, 97, 97, 97, 720,
1221 97, 720, 720, 97, 720, 720, 720, 97, 720, 97,
1222 97, 97, 97, 720, 97, 97, 97, 720, 705, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +00001223
Lev Walkinf59d0752004-08-18 04:59:12 +00001224 702, 720, 720, 720, 720, 97, 720, 97, 720, 97,
1225 697, 697, 697, 720, 97, 720, 720, 720, 720, 97,
1226 720, 720, 630, 630, 630, 630, 630, 630, 630, 97,
1227 97, 97, 720, 97, 720, 720, 97, 720, 97, 720,
1228 97, 709, 97, 710, 97, 720, 97, 97, 97, 97,
1229 97, 720, 720, 720, 720, 97, 720, 97, 97, 97,
1230 720, 97, 720, 714, 97, 720, 97, 720, 97, 720,
1231 97, 720, 97, 720, 717, 97, 97, 97, 97, 720,
1232 720, 97, 720, 97, 720, 97, 720, 97, 720, 97,
1233 720, 97, 720, 97, 97, 97, 720, 720, 720, 720,
1234
1235 97, 54, 54, 54, 54, 54, 54, 54, 54, 54,
1236 54, 54, 54, 58, 58, 58, 58, 58, 58, 58,
1237 58, 58, 58, 58, 58, 62, 62, 62, 62, 62,
1238 62, 62, 62, 62, 62, 62, 62, 65, 65, 65,
1239 65, 65, 65, 65, 65, 65, 65, 65, 65, 74,
1240 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1241 74, 76, 76, 76, 76, 76, 76, 76, 76, 76,
1242 76, 76, 76, 83, 83, 83, 720, 83, 83, 83,
1243 83, 83, 83, 83, 83, 90, 90, 720, 720, 90,
1244 720, 90, 156, 720, 156, 159, 159, 720, 159, 159,
1245
1246 160, 160, 720, 160, 160, 160, 720, 160, 160, 160,
1247 160, 160, 163, 163, 163, 720, 163, 163, 163, 163,
1248 163, 163, 163, 163, 165, 165, 165, 165, 165, 165,
1249 165, 165, 720, 165, 165, 167, 720, 720, 167, 167,
1250 167, 167, 167, 167, 167, 167, 168, 720, 720, 168,
1251 168, 168, 168, 168, 168, 168, 168, 170, 720, 720,
1252 170, 720, 170, 170, 170, 170, 170, 170, 174, 174,
1253 720, 174, 174, 175, 175, 720, 175, 175, 103, 103,
1254 720, 103, 103, 15, 720, 720, 720, 720, 720, 720,
1255 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1256
1257 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1258 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1259 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1260 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1261 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1262 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1263 720, 720
Lev Walkinf15320b2004-06-03 03:38:44 +00001264 } ;
1265
Lev Walkinf59d0752004-08-18 04:59:12 +00001266static yyconst short int yy_chk[4563] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001267 { 0,
1268 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1269 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1270 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1271 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1272 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1273 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1274 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1275 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
1276 4, 4, 5, 6, 7, 9, 3, 7, 4, 5,
Lev Walkinf59d0752004-08-18 04:59:12 +00001277 6, 8, 5, 6, 8, 10, 17, 17, 17, 18,
Lev Walkinf15320b2004-06-03 03:38:44 +00001278
Lev Walkinf59d0752004-08-18 04:59:12 +00001279 18, 18, 17, 9, 152, 18, 9, 26, 176, 26,
1280 13, 13, 13, 10, 176, 13, 10, 152, 22, 22,
1281 22, 14, 14, 14, 22, 24, 14, 157, 24, 157,
1282 22, 22, 24, 24, 24, 24, 24, 24, 28, 28,
1283 28, 28, 28, 28, 28, 34, 253, 253, 34, 77,
1284 77, 77, 78, 78, 78, 34, 87, 34, 9, 34,
1285 9, 82, 82, 82, 34, 158, 480, 158, 10, 716,
1286 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1287 11, 11, 11, 11, 13, 480, 13, 87, 38, 79,
1288 326, 11, 11, 11, 11, 14, 326, 14, 38, 11,
Lev Walkinf15320b2004-06-03 03:38:44 +00001289
Lev Walkinf59d0752004-08-18 04:59:12 +00001290 38, 32, 38, 79, 32, 325, 712, 38, 32, 325,
1291 250, 32, 32, 32, 32, 32, 41, 250, 708, 33,
1292 32, 11, 11, 11, 32, 33, 41, 328, 41, 33,
1293 41, 33, 33, 33, 79, 41, 706, 328, 33, 92,
1294 92, 92, 92, 92, 92, 92, 11, 11, 11, 12,
1295 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1296 12, 12, 41, 395, 35, 171, 171, 171, 395, 12,
1297 12, 12, 12, 704, 35, 35, 35, 12, 35, 169,
1298 169, 327, 251, 35, 42, 42, 35, 327, 42, 251,
1299 169, 36, 36, 703, 42, 48, 42, 456, 42, 12,
Lev Walkinf15320b2004-06-03 03:38:44 +00001300
Lev Walkinf59d0752004-08-18 04:59:12 +00001301 12, 12, 36, 42, 36, 48, 36, 48, 36, 48,
1302 456, 36, 392, 42, 48, 701, 516, 39, 39, 392,
1303 39, 393, 394, 516, 12, 12, 12, 21, 39, 39,
1304 39, 48, 39, 394, 457, 39, 393, 39, 457, 559,
1305 458, 21, 458, 559, 21, 21, 21, 21, 21, 21,
1306 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1307 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1308 562, 698, 21, 21, 21, 21, 21, 21, 21, 21,
1309 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1310 21, 21, 21, 21, 21, 31, 514, 562, 31, 31,
Lev Walkinf15320b2004-06-03 03:38:44 +00001311
Lev Walkinf59d0752004-08-18 04:59:12 +00001312 31, 31, 31, 31, 31, 515, 695, 514, 515, 31,
1313 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1314 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1315 31, 31, 31, 31, 31, 629, 629, 694, 31, 31,
1316 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1317 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1318 37, 655, 513, 655, 691, 40, 40, 560, 560, 560,
1319 37, 561, 37, 40, 37, 597, 40, 513, 40, 37,
1320 40, 689, 597, 685, 680, 40, 561, 43, 43, 599,
1321 43, 678, 37, 599, 677, 676, 44, 675, 43, 44,
Lev Walkinf15320b2004-06-03 03:38:44 +00001322
Lev Walkinf59d0752004-08-18 04:59:12 +00001323 43, 672, 43, 37, 43, 560, 44, 43, 44, 45,
1324 44, 670, 45, 669, 664, 44, 45, 663, 46, 45,
1325 662, 45, 658, 45, 46, 46, 654, 45, 45, 653,
1326 652, 43, 45, 47, 651, 46, 648, 46, 646, 46,
1327 645, 46, 643, 47, 46, 47, 49, 47, 46, 640,
1328 639, 47, 47, 49, 638, 632, 49, 46, 49, 628,
1329 49, 631, 631, 631, 627, 49, 50, 50, 50, 50,
1330 50, 50, 50, 47, 89, 89, 89, 50, 626, 624,
1331 89, 97, 621, 619, 618, 616, 89, 89, 612, 611,
1332 610, 97, 50, 97, 600, 97, 596, 50, 74, 631,
Lev Walkinf15320b2004-06-03 03:38:44 +00001333
Lev Walkinf59d0752004-08-18 04:59:12 +00001334 97, 595, 74, 74, 74, 74, 74, 74, 74, 74,
1335 74, 95, 95, 95, 95, 95, 95, 95, 74, 74,
1336 74, 74, 98, 99, 178, 178, 178, 178, 178, 178,
1337 178, 594, 98, 99, 98, 99, 98, 99, 593, 98,
1338 591, 98, 99, 100, 101, 587, 585, 584, 74, 74,
1339 74, 582, 577, 100, 101, 100, 101, 100, 101, 102,
1340 576, 575, 100, 101, 558, 557, 100, 556, 555, 102,
1341 553, 102, 551, 102, 74, 75, 548, 102, 102, 75,
1342 75, 75, 75, 75, 75, 75, 75, 75, 546, 104,
1343 544, 542, 105, 535, 104, 75, 75, 75, 75, 104,
Lev Walkinf15320b2004-06-03 03:38:44 +00001344
Lev Walkinf59d0752004-08-18 04:59:12 +00001345 534, 104, 105, 104, 105, 106, 105, 533, 104, 532,
1346 105, 105, 75, 520, 512, 106, 511, 106, 107, 106,
1347 510, 509, 506, 504, 106, 75, 75, 75, 107, 108,
1348 107, 107, 107, 679, 679, 679, 501, 107, 496, 108,
1349 494, 108, 482, 108, 109, 109, 481, 463, 108, 459,
1350 455, 75, 110, 110, 454, 109, 453, 109, 109, 109,
1351 452, 451, 448, 110, 109, 110, 111, 110, 446, 112,
1352 441, 679, 110, 112, 436, 433, 111, 111, 111, 112,
1353 111, 112, 113, 112, 421, 111, 420, 419, 112, 400,
1354 390, 389, 113, 388, 113, 386, 113, 114, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001355
Lev Walkinf59d0752004-08-18 04:59:12 +00001356 116, 113, 382, 115, 115, 380, 375, 114, 370, 114,
1357 116, 114, 116, 115, 116, 115, 114, 115, 117, 116,
1358 366, 115, 115, 355, 354, 120, 353, 334, 117, 322,
1359 117, 117, 117, 120, 321, 320, 121, 117, 314, 121,
1360 303, 298, 294, 120, 122, 120, 121, 120, 121, 283,
1361 121, 282, 120, 255, 122, 121, 122, 254, 122, 123,
1362 123, 249, 245, 122, 244, 243, 239, 227, 221, 123,
1363 124, 123, 217, 123, 206, 205, 123, 123, 123, 177,
1364 124, 125, 124, 124, 124, 173, 168, 126, 166, 124,
1365 156, 125, 151, 125, 148, 125, 138, 126, 127, 126,
Lev Walkinf15320b2004-06-03 03:38:44 +00001366
Lev Walkinf59d0752004-08-18 04:59:12 +00001367 125, 126, 133, 125, 128, 119, 126, 118, 127, 96,
1368 127, 129, 127, 93, 130, 90, 85, 127, 84, 129,
1369 81, 129, 67, 129, 130, 129, 130, 131, 130, 64,
1370 129, 61, 130, 130, 60, 132, 57, 131, 134, 131,
1371 53, 131, 51, 29, 25, 132, 131, 132, 134, 132,
1372 134, 135, 134, 132, 132, 20, 134, 134, 19, 16,
1373 15, 135, 136, 135, 0, 135, 0, 0, 0, 0,
1374 135, 135, 136, 0, 136, 137, 136, 0, 137, 0,
1375 0, 136, 137, 0, 0, 137, 0, 137, 0, 137,
1376 139, 139, 0, 0, 137, 0, 0, 140, 0, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001377
Lev Walkinf59d0752004-08-18 04:59:12 +00001378 0, 139, 0, 139, 0, 139, 0, 140, 141, 140,
1379 139, 140, 140, 0, 142, 140, 140, 0, 141, 0,
1380 141, 0, 141, 0, 142, 143, 142, 141, 142, 144,
1381 142, 0, 141, 142, 0, 143, 0, 143, 0, 143,
1382 144, 145, 0, 0, 143, 0, 145, 0, 0, 0,
1383 144, 145, 144, 145, 144, 145, 146, 147, 0, 144,
1384 145, 0, 0, 0, 0, 0, 146, 147, 146, 147,
1385 146, 147, 149, 150, 150, 146, 147, 150, 0, 149,
1386 0, 0, 149, 150, 149, 150, 149, 150, 153, 0,
1387 0, 149, 150, 0, 0, 0, 0, 0, 153, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001388
Lev Walkinf59d0752004-08-18 04:59:12 +00001389 153, 0, 153, 155, 155, 155, 153, 153, 154, 154,
1390 154, 154, 154, 154, 154, 155, 155, 155, 155, 155,
1391 155, 155, 0, 0, 181, 182, 0, 181, 0, 0,
1392 0, 0, 0, 0, 181, 182, 181, 182, 181, 182,
1393 183, 155, 181, 181, 182, 0, 154, 0, 184, 0,
1394 183, 185, 183, 0, 183, 0, 0, 0, 184, 183,
1395 184, 185, 184, 185, 185, 185, 186, 184, 0, 187,
1396 185, 0, 188, 186, 0, 0, 186, 0, 186, 187,
1397 186, 187, 188, 187, 188, 186, 188, 189, 187, 188,
1398 0, 188, 0, 190, 0, 0, 0, 189, 0, 189,
Lev Walkinf15320b2004-06-03 03:38:44 +00001399
Lev Walkinf59d0752004-08-18 04:59:12 +00001400 0, 189, 0, 190, 191, 190, 189, 190, 0, 190,
1401 192, 191, 190, 0, 191, 0, 191, 0, 191, 0,
1402 192, 193, 192, 191, 192, 0, 0, 192, 0, 192,
1403 0, 193, 194, 193, 0, 193, 0, 0, 0, 0,
1404 193, 0, 194, 0, 194, 0, 194, 195, 195, 194,
1405 194, 194, 0, 0, 196, 195, 0, 196, 195, 0,
1406 195, 0, 195, 0, 196, 197, 196, 195, 196, 0,
1407 0, 198, 0, 196, 0, 197, 0, 197, 197, 197,
1408 0, 198, 199, 198, 197, 198, 0, 0, 200, 0,
1409 198, 200, 199, 199, 199, 0, 199, 0, 200, 201,
Lev Walkinf15320b2004-06-03 03:38:44 +00001410
Lev Walkinf59d0752004-08-18 04:59:12 +00001411 200, 199, 200, 0, 0, 202, 0, 200, 202, 201,
1412 0, 201, 201, 201, 0, 202, 203, 202, 201, 202,
1413 0, 0, 0, 0, 202, 0, 203, 204, 203, 0,
1414 203, 0, 0, 203, 0, 203, 0, 204, 204, 204,
1415 207, 204, 0, 0, 0, 0, 204, 0, 208, 0,
1416 207, 209, 207, 0, 207, 0, 0, 207, 208, 207,
1417 208, 209, 208, 209, 209, 209, 210, 208, 0, 211,
1418 209, 0, 212, 0, 0, 212, 210, 0, 210, 211,
1419 210, 211, 212, 211, 212, 210, 212, 211, 211, 213,
1420 214, 212, 0, 215, 0, 0, 213, 0, 0, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001421
Lev Walkinf59d0752004-08-18 04:59:12 +00001422 214, 0, 214, 215, 214, 215, 213, 215, 213, 214,
1423 213, 216, 215, 0, 218, 213, 0, 218, 0, 0,
1424 0, 216, 0, 216, 218, 216, 218, 0, 218, 219,
1425 216, 0, 219, 218, 0, 220, 0, 0, 0, 219,
1426 0, 219, 220, 219, 0, 220, 222, 220, 219, 220,
1427 0, 0, 0, 0, 220, 0, 222, 223, 222, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001428 222, 0, 0, 224, 222, 222, 0, 223, 0, 223,
Lev Walkinf59d0752004-08-18 04:59:12 +00001429 0, 223, 0, 224, 225, 224, 223, 224, 0, 0,
1430 224, 0, 224, 0, 225, 226, 225, 0, 225, 0,
1431 0, 225, 0, 225, 0, 226, 228, 226, 0, 226,
Lev Walkinf15320b2004-06-03 03:38:44 +00001432
Lev Walkinf59d0752004-08-18 04:59:12 +00001433 0, 229, 229, 0, 226, 226, 228, 0, 228, 0,
1434 228, 0, 229, 230, 229, 228, 229, 0, 0, 231,
1435 0, 229, 0, 230, 0, 230, 0, 230, 0, 231,
1436 0, 231, 230, 231, 232, 233, 0, 232, 231, 0,
1437 0, 0, 233, 0, 232, 233, 232, 233, 232, 233,
1438 234, 0, 0, 232, 233, 0, 0, 0, 0, 0,
1439 234, 235, 234, 0, 234, 0, 0, 236, 234, 234,
1440 0, 235, 0, 235, 0, 235, 0, 236, 235, 236,
1441 235, 236, 237, 0, 236, 237, 236, 0, 238, 0,
1442 0, 238, 237, 0, 237, 0, 237, 0, 238, 240,
Lev Walkinf15320b2004-06-03 03:38:44 +00001443
Lev Walkinf59d0752004-08-18 04:59:12 +00001444 238, 237, 238, 0, 0, 0, 0, 238, 0, 240,
1445 241, 240, 240, 240, 240, 242, 0, 0, 240, 240,
1446 241, 242, 241, 0, 241, 0, 0, 0, 241, 241,
1447 0, 242, 246, 242, 0, 242, 0, 0, 246, 0,
1448 242, 0, 246, 0, 246, 0, 246, 248, 248, 248,
1449 0, 246, 0, 0, 0, 0, 258, 259, 0, 248,
1450 248, 248, 248, 248, 248, 248, 258, 259, 258, 259,
1451 258, 259, 260, 259, 0, 258, 259, 0, 261, 260,
1452 0, 0, 260, 0, 260, 0, 260, 0, 261, 261,
1453 261, 260, 261, 262, 263, 0, 0, 261, 0, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001454
Lev Walkinf59d0752004-08-18 04:59:12 +00001455 0, 0, 0, 262, 263, 262, 263, 262, 263, 265,
1456 265, 264, 262, 263, 264, 0, 0, 0, 0, 0,
1457 265, 264, 265, 264, 265, 264, 266, 266, 0, 265,
1458 264, 0, 267, 0, 0, 0, 266, 0, 266, 263,
1459 266, 0, 267, 268, 267, 266, 267, 0, 0, 267,
1460 0, 267, 0, 268, 269, 268, 268, 268, 0, 0,
1461 0, 0, 268, 0, 269, 0, 269, 0, 269, 271,
1462 269, 270, 270, 269, 0, 272, 0, 0, 0, 271,
1463 0, 271, 270, 271, 270, 272, 270, 272, 271, 272,
1464 273, 270, 273, 274, 272, 274, 275, 0, 0, 275,
Lev Walkinf15320b2004-06-03 03:38:44 +00001465
Lev Walkinf59d0752004-08-18 04:59:12 +00001466 273, 0, 273, 274, 273, 274, 275, 274, 275, 273,
1467 275, 276, 274, 0, 0, 275, 0, 277, 0, 0,
1468 0, 276, 0, 276, 277, 276, 0, 277, 278, 277,
1469 276, 277, 0, 0, 0, 0, 277, 0, 278, 279,
1470 278, 0, 278, 0, 278, 0, 0, 278, 0, 279,
1471 0, 279, 0, 279, 280, 279, 0, 280, 279, 0,
1472 281, 0, 0, 0, 280, 0, 280, 0, 280, 0,
1473 281, 284, 281, 280, 281, 0, 0, 285, 0, 281,
1474 0, 284, 0, 284, 0, 284, 0, 285, 0, 285,
1475 284, 285, 286, 287, 0, 285, 285, 0, 0, 286,
Lev Walkinf15320b2004-06-03 03:38:44 +00001476
Lev Walkinf59d0752004-08-18 04:59:12 +00001477 0, 0, 286, 287, 286, 287, 286, 287, 288, 287,
1478 0, 286, 287, 289, 289, 0, 284, 0, 288, 0,
1479 288, 0, 288, 291, 289, 0, 289, 288, 289, 290,
1480 289, 0, 291, 289, 290, 0, 0, 0, 0, 290,
1481 292, 290, 291, 290, 291, 290, 291, 0, 290, 0,
1482 292, 291, 292, 293, 292, 0, 0, 292, 0, 292,
1483 0, 295, 295, 293, 296, 293, 0, 293, 0, 0,
1484 0, 295, 293, 295, 296, 295, 296, 297, 296, 0,
1485 295, 0, 296, 296, 0, 299, 300, 297, 299, 297,
1486 297, 297, 0, 0, 0, 299, 297, 299, 0, 299,
Lev Walkinf15320b2004-06-03 03:38:44 +00001487
Lev Walkinf59d0752004-08-18 04:59:12 +00001488 301, 300, 0, 301, 299, 0, 0, 0, 0, 0,
1489 301, 300, 301, 300, 301, 300, 302, 302, 304, 301,
1490 300, 0, 0, 0, 0, 0, 0, 302, 304, 302,
1491 304, 302, 304, 305, 0, 0, 302, 304, 0, 0,
1492 0, 0, 0, 305, 0, 305, 306, 305, 0, 306,
1493 0, 305, 305, 0, 307, 0, 306, 308, 306, 0,
1494 306, 0, 0, 0, 307, 306, 307, 308, 307, 308,
1495 0, 308, 310, 307, 309, 309, 308, 0, 311, 0,
1496 0, 313, 310, 0, 310, 309, 310, 309, 311, 309,
1497 311, 310, 311, 312, 309, 0, 313, 311, 0, 315,
Lev Walkinf15320b2004-06-03 03:38:44 +00001498
Lev Walkinf59d0752004-08-18 04:59:12 +00001499 0, 0, 0, 312, 0, 312, 313, 312, 313, 315,
1500 313, 315, 312, 315, 316, 313, 0, 310, 315, 0,
1501 317, 0, 0, 317, 316, 0, 316, 0, 316, 0,
1502 317, 318, 317, 316, 317, 0, 0, 319, 0, 317,
1503 0, 318, 0, 318, 0, 318, 0, 319, 0, 319,
1504 318, 319, 323, 0, 319, 0, 319, 0, 0, 0,
1505 0, 0, 323, 0, 323, 0, 323, 318, 0, 329,
1506 0, 323, 324, 324, 324, 324, 324, 324, 324, 329,
1507 0, 329, 0, 329, 330, 330, 0, 329, 329, 0,
1508 0, 0, 0, 331, 331, 330, 0, 330, 0, 330,
Lev Walkinf15320b2004-06-03 03:38:44 +00001509
Lev Walkinf59d0752004-08-18 04:59:12 +00001510 332, 332, 0, 331, 330, 331, 0, 331, 0, 333,
1511 324, 332, 331, 332, 0, 332, 335, 335, 0, 333,
1512 332, 333, 0, 333, 0, 336, 336, 335, 333, 335,
1513 0, 335, 0, 0, 0, 336, 335, 336, 337, 336,
1514 0, 337, 0, 0, 336, 0, 338, 0, 337, 339,
1515 337, 0, 337, 0, 0, 0, 338, 337, 338, 339,
1516 338, 339, 0, 339, 341, 338, 340, 340, 339, 0,
1517 342, 341, 0, 0, 341, 0, 341, 340, 341, 340,
1518 342, 340, 342, 341, 342, 343, 340, 0, 343, 342,
1519 0, 344, 343, 344, 0, 343, 0, 343, 0, 343,
Lev Walkinf15320b2004-06-03 03:38:44 +00001520
Lev Walkinf59d0752004-08-18 04:59:12 +00001521 0, 344, 0, 344, 343, 344, 345, 346, 0, 345,
1522 344, 0, 0, 345, 0, 0, 345, 346, 345, 346,
1523 345, 346, 347, 346, 0, 345, 346, 0, 0, 0,
1524 0, 0, 347, 0, 347, 0, 347, 348, 348, 0,
1525 347, 347, 0, 349, 0, 0, 0, 348, 0, 348,
1526 0, 348, 0, 349, 350, 349, 348, 349, 0, 0,
1527 351, 349, 349, 0, 350, 0, 350, 0, 350, 0,
1528 351, 350, 351, 350, 351, 352, 356, 0, 0, 351,
1529 0, 0, 0, 356, 0, 352, 356, 352, 356, 352,
1530 356, 0, 0, 358, 352, 356, 357, 357, 0, 357,
Lev Walkinf15320b2004-06-03 03:38:44 +00001531
Lev Walkinf59d0752004-08-18 04:59:12 +00001532 0, 0, 0, 358, 0, 358, 357, 358, 357, 0,
1533 357, 358, 358, 360, 359, 357, 359, 0, 0, 0,
1534 0, 0, 0, 360, 359, 360, 359, 360, 359, 361,
1535 0, 0, 360, 359, 0, 362, 0, 0, 362, 361,
1536 0, 361, 0, 361, 0, 362, 363, 362, 361, 362,
1537 364, 0, 0, 365, 362, 0, 363, 364, 363, 0,
1538 363, 0, 0, 363, 0, 363, 0, 364, 365, 364,
1539 0, 364, 0, 0, 367, 0, 364, 0, 365, 0,
1540 365, 0, 365, 0, 367, 368, 367, 365, 367, 0,
1541 0, 369, 367, 367, 0, 368, 0, 368, 0, 368,
Lev Walkinf15320b2004-06-03 03:38:44 +00001542
Lev Walkinf59d0752004-08-18 04:59:12 +00001543 0, 369, 371, 369, 368, 369, 0, 0, 0, 0,
1544 369, 0, 371, 372, 371, 0, 371, 0, 371, 373,
1545 372, 371, 0, 372, 0, 372, 0, 372, 0, 373,
1546 374, 373, 372, 373, 0, 0, 0, 0, 373, 0,
1547 374, 0, 374, 376, 374, 0, 377, 0, 374, 374,
1548 376, 0, 0, 376, 378, 376, 377, 376, 377, 378,
1549 377, 0, 376, 0, 378, 377, 378, 379, 378, 0,
1550 0, 0, 0, 378, 0, 0, 0, 379, 381, 379,
1551 0, 379, 0, 0, 383, 381, 379, 0, 381, 379,
1552 381, 0, 381, 0, 383, 0, 383, 381, 383, 384,
Lev Walkinf15320b2004-06-03 03:38:44 +00001553
Lev Walkinf59d0752004-08-18 04:59:12 +00001554 385, 0, 384, 383, 0, 0, 0, 0, 0, 384,
1555 385, 384, 385, 384, 385, 387, 385, 0, 384, 385,
1556 0, 396, 0, 0, 0, 387, 0, 387, 0, 387,
1557 0, 396, 0, 396, 387, 396, 397, 397, 398, 398,
1558 396, 0, 0, 0, 0, 0, 397, 399, 397, 398,
1559 397, 398, 0, 398, 0, 397, 0, 399, 398, 399,
1560 387, 399, 401, 0, 0, 399, 399, 0, 402, 0,
1561 0, 0, 401, 0, 401, 0, 401, 0, 402, 403,
1562 402, 401, 402, 0, 0, 404, 402, 402, 404, 403,
1563 0, 403, 0, 403, 0, 404, 405, 404, 403, 404,
Lev Walkinf15320b2004-06-03 03:38:44 +00001564
Lev Walkinf59d0752004-08-18 04:59:12 +00001565 0, 0, 406, 405, 404, 0, 405, 0, 405, 0,
1566 405, 0, 406, 407, 406, 405, 406, 0, 0, 0,
1567 0, 406, 0, 407, 408, 407, 408, 407, 0, 0,
1568 409, 407, 407, 0, 408, 0, 408, 0, 408, 0,
1569 409, 0, 409, 408, 409, 0, 0, 410, 409, 409,
1570 410, 0, 0, 411, 0, 411, 0, 410, 0, 410,
1571 0, 410, 0, 411, 412, 411, 410, 411, 0, 413,
1572 413, 0, 411, 0, 412, 0, 412, 0, 412, 0,
1573 413, 414, 413, 412, 413, 0, 0, 415, 0, 413,
1574 0, 414, 0, 414, 415, 414, 0, 415, 416, 415,
Lev Walkinf15320b2004-06-03 03:38:44 +00001575
Lev Walkinf59d0752004-08-18 04:59:12 +00001576 414, 415, 0, 0, 417, 0, 415, 0, 416, 0,
1577 416, 417, 416, 0, 417, 416, 417, 416, 417, 418,
1578 418, 422, 0, 417, 0, 422, 0, 0, 0, 0,
1579 418, 422, 418, 422, 418, 422, 423, 0, 0, 418,
1580 422, 0, 424, 423, 424, 0, 423, 0, 423, 0,
1581 423, 0, 424, 425, 424, 423, 424, 0, 0, 426,
1582 0, 424, 426, 425, 0, 425, 0, 425, 0, 426,
1583 425, 426, 425, 426, 427, 427, 0, 0, 426, 0,
1584 428, 428, 0, 0, 427, 0, 427, 0, 427, 0,
1585 428, 429, 428, 427, 428, 0, 0, 0, 0, 428,
Lev Walkinf15320b2004-06-03 03:38:44 +00001586
Lev Walkinf59d0752004-08-18 04:59:12 +00001587 0, 429, 0, 429, 0, 429, 430, 429, 0, 430,
1588 429, 0, 431, 0, 0, 0, 430, 0, 430, 0,
1589 430, 0, 431, 432, 431, 430, 431, 0, 0, 431,
1590 432, 431, 0, 432, 434, 432, 0, 432, 0, 435,
1591 435, 0, 432, 0, 434, 0, 434, 0, 434, 0,
1592 435, 437, 435, 434, 435, 0, 0, 438, 0, 435,
1593 0, 437, 0, 437, 0, 437, 0, 438, 439, 438,
1594 437, 438, 0, 0, 0, 0, 438, 0, 439, 0,
1595 439, 440, 439, 0, 440, 0, 439, 439, 0, 442,
1596 0, 440, 0, 440, 0, 440, 0, 0, 0, 442,
Lev Walkinf15320b2004-06-03 03:38:44 +00001597
Lev Walkinf59d0752004-08-18 04:59:12 +00001598 440, 442, 0, 442, 443, 443, 0, 444, 442, 442,
1599 445, 0, 0, 0, 443, 0, 443, 444, 443, 444,
1600 445, 444, 445, 443, 445, 447, 444, 447, 449, 445,
1601 0, 450, 0, 0, 0, 447, 0, 447, 449, 447,
1602 449, 450, 449, 450, 447, 450, 460, 449, 450, 461,
1603 450, 0, 0, 0, 0, 0, 460, 0, 460, 461,
1604 460, 461, 462, 461, 460, 460, 0, 461, 461, 462,
1605 464, 0, 462, 0, 462, 0, 462, 0, 0, 0,
1606 464, 462, 464, 465, 464, 0, 465, 0, 0, 464,
1607 0, 466, 0, 465, 467, 465, 0, 465, 0, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001608
Lev Walkinf59d0752004-08-18 04:59:12 +00001609 0, 466, 465, 466, 467, 466, 467, 468, 467, 0,
1610 466, 0, 0, 467, 468, 469, 0, 468, 470, 468,
1611 0, 468, 0, 0, 0, 469, 468, 469, 470, 469,
1612 470, 471, 470, 0, 469, 0, 0, 470, 471, 473,
1613 0, 471, 472, 471, 472, 471, 0, 0, 0, 473,
1614 471, 473, 472, 473, 472, 474, 472, 0, 473, 0,
1615 474, 472, 0, 475, 0, 474, 476, 474, 0, 474,
1616 0, 0, 0, 475, 474, 475, 476, 475, 476, 477,
1617 476, 475, 475, 0, 476, 476, 0, 478, 0, 477,
1618 479, 477, 0, 477, 0, 0, 0, 478, 477, 478,
Lev Walkinf15320b2004-06-03 03:38:44 +00001619
Lev Walkinf59d0752004-08-18 04:59:12 +00001620 479, 478, 479, 483, 479, 0, 478, 0, 0, 479,
1621 483, 484, 0, 483, 485, 483, 0, 483, 0, 0,
1622 0, 484, 483, 484, 485, 484, 485, 486, 485, 484,
1623 484, 0, 0, 485, 0, 487, 0, 486, 0, 486,
1624 0, 486, 0, 0, 0, 487, 486, 487, 488, 487,
1625 0, 488, 487, 0, 487, 0, 489, 0, 488, 490,
1626 488, 0, 488, 0, 0, 0, 489, 488, 489, 490,
1627 489, 490, 0, 490, 489, 489, 491, 491, 490, 492,
1628 0, 0, 493, 0, 0, 0, 491, 0, 491, 492,
1629 491, 492, 493, 492, 493, 491, 493, 495, 492, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001630
Lev Walkinf59d0752004-08-18 04:59:12 +00001631 497, 493, 0, 0, 0, 0, 0, 495, 0, 495,
1632 497, 495, 497, 498, 497, 0, 495, 498, 0, 497,
1633 0, 499, 0, 498, 492, 498, 0, 498, 0, 500,
1634 0, 499, 498, 499, 0, 499, 0, 0, 0, 500,
1635 499, 500, 502, 500, 0, 502, 0, 0, 500, 0,
1636 503, 0, 502, 503, 502, 0, 502, 0, 0, 517,
1637 503, 502, 503, 505, 503, 0, 505, 0, 0, 503,
1638 507, 507, 0, 505, 517, 505, 0, 505, 0, 0,
1639 0, 507, 505, 507, 517, 507, 517, 518, 517, 0,
1640 507, 0, 0, 517, 518, 519, 519, 518, 0, 518,
Lev Walkinf15320b2004-06-03 03:38:44 +00001641
Lev Walkinf59d0752004-08-18 04:59:12 +00001642 0, 518, 0, 521, 0, 519, 518, 519, 0, 519,
1643 0, 522, 0, 521, 519, 521, 0, 521, 0, 521,
1644 0, 522, 521, 522, 523, 522, 0, 523, 0, 522,
1645 522, 0, 524, 0, 523, 525, 523, 0, 523, 0,
1646 0, 527, 524, 523, 524, 525, 524, 525, 525, 525,
1647 526, 524, 0, 529, 525, 0, 527, 0, 0, 0,
1648 526, 0, 526, 529, 526, 529, 527, 529, 527, 526,
1649 527, 528, 529, 0, 528, 527, 0, 530, 0, 0,
1650 0, 528, 0, 528, 530, 528, 0, 530, 531, 530,
1651 528, 530, 0, 0, 536, 0, 530, 536, 531, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001652
Lev Walkinf59d0752004-08-18 04:59:12 +00001653 531, 0, 531, 0, 536, 537, 536, 531, 536, 0,
1654 0, 538, 0, 536, 0, 537, 0, 537, 0, 537,
1655 0, 538, 539, 538, 537, 538, 0, 0, 540, 0,
1656 538, 0, 539, 0, 539, 540, 539, 0, 540, 541,
1657 540, 539, 540, 0, 0, 0, 0, 540, 0, 541,
1658 543, 541, 0, 541, 543, 0, 545, 541, 541, 0,
1659 543, 0, 543, 549, 543, 0, 545, 547, 545, 543,
1660 545, 0, 0, 0, 547, 545, 0, 547, 549, 547,
1661 0, 547, 0, 0, 550, 0, 547, 0, 549, 0,
1662 549, 0, 549, 0, 550, 552, 550, 549, 550, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001663
Lev Walkinf59d0752004-08-18 04:59:12 +00001664 0, 554, 0, 550, 0, 552, 0, 552, 0, 552,
1665 0, 554, 563, 554, 552, 554, 0, 0, 0, 0,
1666 554, 0, 563, 564, 563, 0, 563, 0, 0, 563,
1667 0, 563, 0, 564, 565, 564, 564, 564, 0, 0,
1668 567, 0, 564, 0, 565, 0, 565, 0, 565, 0,
1669 567, 568, 567, 565, 567, 0, 0, 0, 0, 567,
1670 0, 568, 569, 568, 569, 568, 0, 0, 568, 0,
1671 568, 0, 569, 570, 569, 0, 569, 0, 570, 571,
1672 0, 569, 0, 570, 0, 570, 0, 570, 0, 571,
1673 0, 571, 570, 571, 572, 572, 0, 573, 571, 573,
Lev Walkinf15320b2004-06-03 03:38:44 +00001674
Lev Walkinf59d0752004-08-18 04:59:12 +00001675 574, 0, 0, 0, 572, 0, 572, 573, 572, 573,
1676 574, 573, 574, 572, 574, 579, 573, 0, 0, 574,
1677 0, 0, 0, 580, 0, 579, 0, 579, 0, 579,
1678 0, 579, 0, 580, 579, 580, 580, 580, 581, 583,
1679 0, 0, 580, 0, 0, 581, 583, 0, 581, 583,
1680 581, 583, 581, 583, 586, 0, 0, 581, 583, 0,
1681 0, 0, 588, 0, 586, 0, 586, 0, 586, 0,
1682 590, 0, 588, 586, 588, 588, 588, 0, 0, 0,
1683 590, 588, 590, 592, 590, 0, 0, 0, 590, 590,
1684 0, 0, 0, 592, 0, 592, 0, 592, 598, 598,
Lev Walkinf15320b2004-06-03 03:38:44 +00001685
Lev Walkinf59d0752004-08-18 04:59:12 +00001686 598, 0, 592, 0, 0, 0, 0, 601, 602, 0,
1687 598, 598, 598, 598, 598, 598, 598, 601, 602, 601,
1688 602, 601, 602, 603, 604, 0, 601, 602, 0, 0,
1689 601, 0, 0, 603, 604, 603, 604, 603, 604, 605,
1690 606, 0, 603, 604, 0, 0, 0, 0, 0, 605,
1691 606, 605, 606, 605, 606, 607, 0, 606, 605, 606,
1692 0, 608, 0, 0, 0, 607, 0, 607, 607, 607,
1693 0, 608, 609, 608, 607, 608, 0, 0, 613, 609,
1694 608, 0, 609, 0, 609, 0, 609, 0, 613, 614,
1695 613, 609, 613, 0, 0, 0, 0, 613, 0, 614,
Lev Walkinf15320b2004-06-03 03:38:44 +00001696
Lev Walkinf59d0752004-08-18 04:59:12 +00001697 615, 614, 0, 614, 0, 0, 617, 0, 614, 0,
1698 615, 0, 615, 615, 615, 0, 617, 620, 617, 615,
1699 617, 0, 0, 622, 620, 617, 0, 620, 0, 620,
1700 622, 620, 0, 622, 623, 622, 620, 622, 0, 0,
1701 0, 623, 622, 0, 623, 0, 623, 0, 623, 0,
1702 0, 633, 634, 623, 630, 630, 630, 630, 630, 630,
1703 630, 633, 634, 633, 634, 633, 634, 635, 636, 0,
1704 633, 634, 0, 0, 0, 0, 0, 635, 636, 635,
1705 636, 635, 636, 637, 0, 0, 635, 636, 0, 0,
1706 0, 0, 630, 637, 641, 637, 0, 637, 0, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001707
Lev Walkinf59d0752004-08-18 04:59:12 +00001708 642, 637, 637, 0, 641, 0, 641, 0, 641, 0,
1709 642, 641, 642, 641, 642, 644, 0, 0, 647, 642,
1710 0, 649, 644, 649, 0, 644, 0, 644, 647, 644,
1711 647, 649, 647, 649, 644, 649, 647, 647, 650, 0,
1712 649, 0, 650, 0, 0, 0, 0, 0, 650, 0,
1713 650, 0, 650, 657, 657, 657, 0, 650, 0, 0,
1714 0, 0, 659, 0, 0, 657, 657, 657, 657, 657,
1715 657, 657, 659, 660, 659, 0, 659, 0, 0, 0,
1716 659, 659, 0, 660, 661, 660, 0, 660, 0, 0,
1717 665, 660, 660, 0, 661, 0, 661, 0, 661, 0,
Lev Walkinf15320b2004-06-03 03:38:44 +00001718
Lev Walkinf59d0752004-08-18 04:59:12 +00001719 665, 666, 665, 661, 665, 0, 0, 661, 0, 665,
1720 0, 666, 668, 666, 0, 666, 0, 0, 0, 0,
1721 666, 0, 668, 671, 668, 0, 668, 0, 0, 673,
1722 668, 668, 0, 671, 0, 671, 0, 671, 0, 673,
1723 674, 673, 671, 673, 0, 0, 671, 674, 673, 0,
1724 674, 0, 674, 682, 674, 681, 681, 0, 0, 674,
1725 0, 0, 0, 682, 683, 682, 681, 682, 681, 682,
1726 681, 0, 682, 0, 683, 681, 683, 687, 683, 0,
1727 690, 0, 0, 683, 0, 0, 0, 687, 0, 687,
1728 690, 687, 690, 0, 690, 692, 687, 0, 692, 690,
Lev Walkinf15320b2004-06-03 03:38:44 +00001729
Lev Walkinf59d0752004-08-18 04:59:12 +00001730 687, 0, 0, 0, 0, 692, 0, 692, 0, 692,
1731 697, 697, 697, 0, 692, 0, 0, 0, 0, 699,
1732 0, 0, 697, 697, 697, 697, 697, 697, 697, 699,
1733 700, 699, 0, 699, 0, 0, 702, 0, 699, 0,
1734 700, 699, 700, 700, 700, 0, 702, 705, 702, 700,
1735 702, 0, 0, 0, 0, 702, 0, 705, 709, 705,
1736 0, 705, 0, 705, 710, 0, 705, 0, 709, 0,
1737 709, 0, 709, 0, 710, 714, 710, 709, 710, 0,
1738 0, 717, 0, 710, 0, 714, 0, 714, 0, 714,
1739 0, 717, 0, 717, 714, 717, 0, 0, 0, 0,
1740
1741 717, 721, 721, 721, 721, 721, 721, 721, 721, 721,
1742 721, 721, 721, 722, 722, 722, 722, 722, 722, 722,
1743 722, 722, 722, 722, 722, 723, 723, 723, 723, 723,
1744 723, 723, 723, 723, 723, 723, 723, 724, 724, 724,
1745 724, 724, 724, 724, 724, 724, 724, 724, 724, 725,
1746 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
1747 725, 726, 726, 726, 726, 726, 726, 726, 726, 726,
1748 726, 726, 726, 727, 727, 727, 0, 727, 727, 727,
1749 727, 727, 727, 727, 727, 728, 728, 0, 0, 728,
1750 0, 728, 729, 0, 729, 730, 730, 0, 730, 730,
1751
1752 731, 731, 0, 731, 731, 731, 0, 731, 731, 731,
1753 731, 731, 732, 732, 732, 0, 732, 732, 732, 732,
1754 732, 732, 732, 732, 733, 733, 733, 733, 733, 733,
1755 733, 733, 0, 733, 733, 734, 0, 0, 734, 734,
1756 734, 734, 734, 734, 734, 734, 735, 0, 0, 735,
1757 735, 735, 735, 735, 735, 735, 735, 736, 0, 0,
1758 736, 0, 736, 736, 736, 736, 736, 736, 737, 737,
1759 0, 737, 737, 738, 738, 0, 738, 738, 739, 739,
1760 0, 739, 739, 720, 720, 720, 720, 720, 720, 720,
1761 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1762
1763 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1764 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1765 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1766 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1767 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1768 720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
1769 720, 720
Lev Walkinf15320b2004-06-03 03:38:44 +00001770 } ;
1771
1772extern int yy_flex_debug;
1773int yy_flex_debug = 1;
1774
Lev Walkinf59d0752004-08-18 04:59:12 +00001775static yyconst short int yy_rule_linenum[132] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001776 { 0,
Lev Walkinf59d0752004-08-18 04:59:12 +00001777 103, 106, 108, 109, 110, 113, 115, 116, 117, 129,
1778 136, 143, 149, 158, 166, 174, 175, 177, 196, 202,
1779 203, 204, 205, 206, 209, 215, 222, 229, 236, 246,
1780 280, 287, 288, 289, 290, 298, 299, 300, 301, 302,
1781 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1782 317, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1783 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1784 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1785 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1786 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
Lev Walkinf15320b2004-06-03 03:38:44 +00001787
Lev Walkinf59d0752004-08-18 04:59:12 +00001788 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1789 389, 390, 395, 396, 397, 400, 406, 413, 422, 433,
1790 439, 441, 442, 444, 446, 448, 461, 467, 473, 480,
1791 482
Lev Walkinf15320b2004-06-03 03:38:44 +00001792 } ;
1793
1794static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1795static char *yy_full_match;
1796static int yy_lp;
1797#define REJECT \
1798{ \
1799*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1800yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1801++yy_lp; \
1802goto find_rule; \
1803}
1804#define yymore() yymore_used_but_not_detected
1805#define YY_MORE_ADJ 0
1806#define YY_RESTORE_YY_MORE_OFFSET
1807char *yytext;
1808#line 1 "asn1p_l.l"
1809#define INITIAL 0
1810#line 2 "asn1p_l.l"
1811
1812#include <string.h>
1813#include <errno.h>
1814#include <assert.h>
1815
1816#include "asn1parser.h"
1817#include "asn1p_y.h"
1818
1819int asn1p_lex(void);
1820void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1821void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00001822void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00001823
1824#define YY_FATAL_ERROR(msg) do { \
1825 fprintf(stderr, \
1826 "lexer error at line %d, " \
1827 "text \"%s\"\n", \
1828 yylineno, yytext); \
1829 exit(1); \
1830 } while(0)
1831
1832int asn1p_lexer_pedantic_1990 = 0;
1833int asn1p_lexer_types_year = 0;
1834int asn1p_lexer_constructs_year = 0;
1835static int _check_dashes(char *ptr);
1836static asn1_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
1837
1838/*
1839 * Check that the type is defined in the year of the standard choosen.
1840 */
1841#define TYPE_LIFETIME(fyr, lyr) \
1842 (!asn1p_lexer_types_year \
1843 || (fyr && fyr <= asn1p_lexer_types_year) \
1844 || (lyr && lyr > asn1p_lexer_types_year))
1845
1846/*
1847 * Check the the construction (or concept, i.e. CLASS) is defined in
1848 * a given year.
1849 */
1850#define CONSTRUCT_LIFETIME(fyr, lyr) \
1851 (!asn1p_lexer_constructs_year \
1852 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1853 || (lyr && lyr > asn1p_lexer_constructs_year))
1854
1855/*
1856 * Make sure that the label is compliant with the naming rules.
1857 */
1858#define CHECK_DASHES do { \
1859 if(_check_dashes(yytext)) { \
1860 fprintf(stderr, \
1861 "%s: Identifier format invalid: " \
1862 "Improper dash location\n", yytext); \
1863 return -1; \
1864 } } while(0)
1865
1866/*
1867 * Append quoted string.
1868 */
1869#define QAPPEND(text, tlen) do { \
1870 char *prev_text = asn1p_lval.tv_opaque.buf; \
1871 int prev_len = asn1p_lval.tv_opaque.len; \
1872 char *p; \
1873 \
1874 p = malloc((tlen) + prev_len + 1); \
1875 if(p == NULL) return -1; \
1876 \
1877 if(prev_text) memcpy(p, prev_text, prev_len); \
1878 memcpy(p + prev_len, text, tlen); \
1879 p[prev_len + (tlen)] = '\0'; \
1880 \
1881 free(asn1p_lval.tv_opaque.buf); \
1882 asn1p_lval.tv_opaque.buf = p; \
1883 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1884 } while(0)
1885
1886#define YY_NEVER_INTERACTIVE 1
1887#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00001888#define YY_STACK_USED 1
1889/* Performance penalty is OK */
1890/* Controlled from within application */
1891#define dash_comment 1
1892
1893#define cpp_comment 2
1894
1895#define quoted 3
1896
1897#define opaque 4
1898
Lev Walkinf59d0752004-08-18 04:59:12 +00001899#define encoding_control 5
1900
1901#define with_syntax 6
Lev Walkinf15320b2004-06-03 03:38:44 +00001902
1903/* Newline */
1904/* White-space */
Lev Walkinf59d0752004-08-18 04:59:12 +00001905#line 1906 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00001906
1907/* Macros after this point can all be overridden by user definitions in
1908 * section 1.
1909 */
1910
1911#ifndef YY_SKIP_YYWRAP
1912#ifdef __cplusplus
1913extern "C" int yywrap YY_PROTO(( void ));
1914#else
1915extern int yywrap YY_PROTO(( void ));
1916#endif
1917#endif
1918
1919#ifndef YY_NO_UNPUT
1920static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1921#endif
1922
1923#ifndef yytext_ptr
1924static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1925#endif
1926
1927#ifdef YY_NEED_STRLEN
1928static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1929#endif
1930
1931#ifndef YY_NO_INPUT
1932#ifdef __cplusplus
1933static int yyinput YY_PROTO(( void ));
1934#else
1935static int input YY_PROTO(( void ));
1936#endif
1937#endif
1938
1939#if YY_STACK_USED
1940static int yy_start_stack_ptr = 0;
1941static int yy_start_stack_depth = 0;
1942static int *yy_start_stack = 0;
1943#ifndef YY_NO_PUSH_STATE
1944static void yy_push_state YY_PROTO(( int new_state ));
1945#endif
1946#ifndef YY_NO_POP_STATE
1947static void yy_pop_state YY_PROTO(( void ));
1948#endif
1949#ifndef YY_NO_TOP_STATE
1950static int yy_top_state YY_PROTO(( void ));
1951#endif
1952
1953#else
1954#define YY_NO_PUSH_STATE 1
1955#define YY_NO_POP_STATE 1
1956#define YY_NO_TOP_STATE 1
1957#endif
1958
1959#ifdef YY_MALLOC_DECL
1960YY_MALLOC_DECL
1961#else
1962#if __STDC__
1963#ifndef __cplusplus
1964#include <stdlib.h>
1965#endif
1966#else
1967/* Just try to get by without declaring the routines. This will fail
1968 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1969 * or sizeof(void*) != sizeof(int).
1970 */
1971#endif
1972#endif
1973
1974/* Amount of stuff to slurp up with each read. */
1975#ifndef YY_READ_BUF_SIZE
1976#define YY_READ_BUF_SIZE 8192
1977#endif
1978
1979/* Copy whatever the last rule matched to the standard output. */
1980
1981#ifndef ECHO
1982/* This used to be an fputs(), but since the string might contain NUL's,
1983 * we now use fwrite().
1984 */
1985#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1986#endif
1987
1988/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1989 * is returned in "result".
1990 */
1991#ifndef YY_INPUT
1992#define YY_INPUT(buf,result,max_size) \
1993 if ( yy_current_buffer->yy_is_interactive ) \
1994 { \
1995 int c = '*', n; \
1996 for ( n = 0; n < max_size && \
1997 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1998 buf[n] = (char) c; \
1999 if ( c == '\n' ) \
2000 buf[n++] = (char) c; \
2001 if ( c == EOF && ferror( yyin ) ) \
2002 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2003 result = n; \
2004 } \
2005 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
2006 && ferror( yyin ) ) \
2007 YY_FATAL_ERROR( "input in flex scanner failed" );
2008#endif
2009
2010/* No semi-colon after return; correct usage is to write "yyterminate();" -
2011 * we don't want an extra ';' after the "return" because that will cause
2012 * some compilers to complain about unreachable statements.
2013 */
2014#ifndef yyterminate
2015#define yyterminate() return YY_NULL
2016#endif
2017
2018/* Number of entries by which start-condition stack grows. */
2019#ifndef YY_START_STACK_INCR
2020#define YY_START_STACK_INCR 25
2021#endif
2022
2023/* Report a fatal error. */
2024#ifndef YY_FATAL_ERROR
2025#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2026#endif
2027
2028/* Default declaration of generated scanner - a define so the user can
2029 * easily add parameters.
2030 */
2031#ifndef YY_DECL
2032#define YY_DECL int yylex YY_PROTO(( void ))
2033#endif
2034
2035/* Code executed at the beginning of each rule, after yytext and yyleng
2036 * have been set up.
2037 */
2038#ifndef YY_USER_ACTION
2039#define YY_USER_ACTION
2040#endif
2041
2042/* Code executed at the end of each rule. */
2043#ifndef YY_BREAK
2044#define YY_BREAK break;
2045#endif
2046
2047#define YY_RULE_SETUP \
2048 YY_USER_ACTION
2049
2050YY_DECL
2051 {
2052 register yy_state_type yy_current_state;
2053 register char *yy_cp, *yy_bp;
2054 register int yy_act;
2055
Lev Walkinf59d0752004-08-18 04:59:12 +00002056#line 101 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002057
2058
Lev Walkinf59d0752004-08-18 04:59:12 +00002059#line 2060 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002060
2061 if ( yy_init )
2062 {
2063 yy_init = 0;
2064
2065#ifdef YY_USER_INIT
2066 YY_USER_INIT;
2067#endif
2068
2069 if ( ! yy_start )
2070 yy_start = 1; /* first start state */
2071
2072 if ( ! yyin )
2073 yyin = stdin;
2074
2075 if ( ! yyout )
2076 yyout = stdout;
2077
2078 if ( ! yy_current_buffer )
2079 yy_current_buffer =
2080 yy_create_buffer( yyin, YY_BUF_SIZE );
2081
2082 yy_load_buffer_state();
2083 }
2084
2085 while ( 1 ) /* loops until end-of-file is reached */
2086 {
2087 yy_cp = yy_c_buf_p;
2088
2089 /* Support of yytext. */
2090 *yy_cp = yy_hold_char;
2091
2092 /* yy_bp points to the position in yy_ch_buf of the start of
2093 * the current run.
2094 */
2095 yy_bp = yy_cp;
2096
2097 yy_current_state = yy_start;
2098 yy_state_ptr = yy_state_buf;
2099 *yy_state_ptr++ = yy_current_state;
2100yy_match:
2101 do
2102 {
2103 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2104 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2105 {
2106 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinf59d0752004-08-18 04:59:12 +00002107 if ( yy_current_state >= 721 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002108 yy_c = yy_meta[(unsigned int) yy_c];
2109 }
2110 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2111 *yy_state_ptr++ = yy_current_state;
2112 ++yy_cp;
2113 }
Lev Walkinf59d0752004-08-18 04:59:12 +00002114 while ( yy_base[yy_current_state] != 4484 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002115
2116yy_find_action:
2117 yy_current_state = *--yy_state_ptr;
2118 yy_lp = yy_accept[yy_current_state];
2119find_rule: /* we branch to this label when backing up */
2120 for ( ; ; ) /* until we find what rule we matched */
2121 {
2122 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2123 {
2124 yy_act = yy_acclist[yy_lp];
2125 {
2126 yy_full_match = yy_cp;
2127 break;
2128 }
2129 }
2130 --yy_cp;
2131 yy_current_state = *--yy_state_ptr;
2132 yy_lp = yy_accept[yy_current_state];
2133 }
2134
2135 YY_DO_BEFORE_ACTION;
2136
2137 if ( yy_act != YY_END_OF_BUFFER )
2138 {
2139 int yyl;
2140 for ( yyl = 0; yyl < yyleng; ++yyl )
2141 if ( yytext[yyl] == '\n' )
2142 ++yylineno;
2143 }
2144
2145do_action: /* This label is used only to access EOF actions. */
2146
2147 if ( yy_flex_debug )
2148 {
2149 if ( yy_act == 0 )
2150 fprintf( stderr, "--scanner backing up\n" );
Lev Walkinf59d0752004-08-18 04:59:12 +00002151 else if ( yy_act < 132 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002152 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2153 yy_rule_linenum[yy_act], yytext );
Lev Walkinf59d0752004-08-18 04:59:12 +00002154 else if ( yy_act == 132 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002155 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2156 yytext );
Lev Walkinf59d0752004-08-18 04:59:12 +00002157 else if ( yy_act == 133 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002158 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2159 else
2160 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2161 }
2162
2163 switch ( yy_act )
2164 { /* beginning of action switch */
2165case 1:
2166YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002167#line 103 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002168yy_push_state(dash_comment);
2169 YY_BREAK
2170
2171case 2:
2172YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002173#line 106 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002174yy_pop_state();
2175 YY_BREAK
2176case 3:
2177YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002178#line 108 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002179yy_pop_state(); /* End of comment */
2180 YY_BREAK
2181case 4:
2182YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002183#line 109 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002184/* Eat single dash */
2185 YY_BREAK
2186case 5:
2187YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002188#line 110 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002189/* Eat */
2190 YY_BREAK
2191
2192case 6:
2193YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002194#line 113 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002195yy_push_state(cpp_comment);
2196 YY_BREAK
2197
2198case 7:
2199YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002200#line 115 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002201/* Eat */
2202 YY_BREAK
2203case 8:
2204YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002205#line 116 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002206yy_pop_state();
2207 YY_BREAK
2208case 9:
2209YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002210#line 117 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002211/* Eat */
2212 YY_BREAK
2213
2214/*
2215 * This is state is being set from corresponding .y module when
2216 * higher-level data is necessary to make proper parsing of the
2217 * underlying data. Thus, we enter the <opaque> state and save
2218 * everything for later processing.
2219 */
2220
2221case 10:
2222YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002223#line 129 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002224{
2225 yy_push_state(opaque);
2226 asn1p_lval.tv_opaque.buf = strdup(yytext);
2227 asn1p_lval.tv_opaque.len = yyleng;
2228 return TOK_opaque;
2229 }
2230 YY_BREAK
2231case 11:
2232YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002233#line 136 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002234{
2235 yy_pop_state();
2236 asn1p_lval.tv_opaque.buf = strdup(yytext);
2237 asn1p_lval.tv_opaque.len = yyleng;
2238 return TOK_opaque;
2239 }
2240 YY_BREAK
2241case 12:
2242YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002243#line 143 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002244{
2245 asn1p_lval.tv_opaque.buf = strdup(yytext);
2246 asn1p_lval.tv_opaque.len = yyleng;
2247 return TOK_opaque;
2248 }
2249 YY_BREAK
2250case 13:
2251YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002252#line 149 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002253{
2254 fprintf(stderr,
2255 "ASN.1 Parser syncronization failure: "
2256 "\"%s\" at line %d must not appear "
2257 "inside value definition\n",
2258 yytext, yylineno);
2259 return -1;
2260 }
2261 YY_BREAK
2262case 14:
2263YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002264#line 158 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002265{
2266 asn1p_lval.tv_opaque.buf = strdup(yytext);
2267 asn1p_lval.tv_opaque.len = yyleng;
2268 return TOK_opaque;
2269 }
2270 YY_BREAK
2271
2272case 15:
2273YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002274#line 166 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002275{
2276 asn1p_lval.tv_opaque.buf = 0;
2277 asn1p_lval.tv_opaque.len = 0;
2278 QAPPEND(yytext+1, yyleng-1);
2279 yy_push_state(quoted);
2280 }
2281 YY_BREAK
2282
2283case 16:
2284YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002285#line 174 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002286{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2287 YY_BREAK
2288case 17:
2289YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002290#line 175 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002291{ QAPPEND(yytext, yyleng); }
2292 YY_BREAK
2293case 18:
2294YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002295#line 177 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002296{
2297 yy_pop_state();
2298 /* Do not append last quote:
2299 // QAPPEND(yytext, yyleng); */
2300
2301 if(asn1p_lexer_pedantic_1990
2302 && strchr(yytext, '\n')) {
2303 fprintf(stderr, "%s: "
2304 "Newlines are prohibited by ASN.1:1990\n",
2305 asn1p_lval.tv_opaque.buf);
2306 return -1;
2307 }
2308
2309 return TOK_cstring;
2310 }
2311 YY_BREAK
2312
Lev Walkinf59d0752004-08-18 04:59:12 +00002313
Lev Walkinf15320b2004-06-03 03:38:44 +00002314case 19:
2315YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002316#line 196 "asn1p_l.l"
2317{
2318 const char *s = "ENCODING-CONTROL";
2319 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2320 for(; p >= s; p--) unput(*p);
2321 yy_pop_state();
2322 }
2323 YY_BREAK
2324case 20:
2325YY_RULE_SETUP
2326#line 202 "asn1p_l.l"
2327unput('D'); unput('N'); unput('E'); yy_pop_state();
2328 YY_BREAK
2329case 21:
2330YY_RULE_SETUP
2331#line 203 "asn1p_l.l"
2332
2333 YY_BREAK
2334case 22:
2335YY_RULE_SETUP
2336#line 204 "asn1p_l.l"
2337
2338 YY_BREAK
2339case 23:
2340YY_RULE_SETUP
2341#line 205 "asn1p_l.l"
2342/* Eat everything else */
2343 YY_BREAK
2344case 24:
2345YY_RULE_SETUP
2346#line 206 "asn1p_l.l"
2347
2348 YY_BREAK
2349
2350case 25:
2351YY_RULE_SETUP
2352#line 209 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002353{
2354 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2355 asn1p_lval.tv_str = yytext;
2356 return TOK_hstring;
2357 }
2358 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002359case 26:
Lev Walkinf15320b2004-06-03 03:38:44 +00002360YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002361#line 215 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002362{
2363 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2364 asn1p_lval.tv_str = strdup(yytext);
2365 return TOK_bstring;
2366 }
2367 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002368case 27:
Lev Walkinf15320b2004-06-03 03:38:44 +00002369YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002370#line 222 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002371{
2372 asn1p_lval.a_int = asn1p_atoi(yytext);
2373 if(errno == ERANGE)
2374 return -1;
2375 return TOK_number_negative;
2376 }
2377 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002378case 28:
Lev Walkinf15320b2004-06-03 03:38:44 +00002379YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002380#line 229 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002381{
2382 asn1p_lval.a_int = asn1p_atoi(yytext);
2383 if(errno == ERANGE)
2384 return -1;
2385 return TOK_number;
2386 }
2387 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002388case 29:
Lev Walkinf15320b2004-06-03 03:38:44 +00002389YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002390#line 236 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002391{
2392 asn1p_lval.a_int = asn1p_atoi(yytext);
2393 if(errno == ERANGE)
2394 return -1;
2395 return TOK_number;
2396 }
2397 YY_BREAK
2398/*
2399 * Tags
2400 */
Lev Walkinf59d0752004-08-18 04:59:12 +00002401case 30:
Lev Walkinf15320b2004-06-03 03:38:44 +00002402YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002403#line 246 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002404{
2405 char *p;
2406 memset(&asn1p_lval.a_tag, 0, sizeof(asn1p_lval.a_tag));
2407 switch(yytext[1]) {
2408 case 'U':
2409 asn1p_lval.a_tag.tag_class = TC_UNIVERSAL;
2410 p = yytext + sizeof("UNIVERSAL") + 1;
2411 break;
2412 case 'A':
2413 asn1p_lval.a_tag.tag_class = TC_APPLICATION;
2414 p = yytext + sizeof("APPLICATION") + 1;
2415 break;
2416 case 'P':
2417 asn1p_lval.a_tag.tag_class = TC_PRIVATE;
2418 p = yytext + sizeof("PRIVATE") + 1;
2419 break;
2420 default:
2421 assert(yytext[1] >= '0' && yytext[1] <= '9');
2422 asn1p_lval.a_tag.tag_class = TC_CONTEXT_SPECIFIC;
2423 p = yytext + 1;
2424 break;
2425 }
2426 asn1p_lval.a_tag.tag_value = asn1p_atoi(p);
2427 if(*p == '0' && asn1p_lval.a_tag.tag_value) {
2428 fprintf(stderr,
2429 "Tag value at line %d "
2430 "cannot start with zero "
2431 "and have multiple digits: \"%s\"\n",
2432 yylineno, yytext);
2433 return -1;
2434 }
2435 return TOK_tag;
2436 }
2437 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002438case 31:
Lev Walkinf15320b2004-06-03 03:38:44 +00002439YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002440#line 280 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002441{
2442 fprintf(stderr,
2443 "Unsupported tag syntax at line %d: \"%s\"\n",
2444 yylineno, yytext);
2445 return -1;
2446 }
2447 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002448case 32:
Lev Walkinf15320b2004-06-03 03:38:44 +00002449YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002450#line 287 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002451return TOK_ABSENT;
2452 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002453case 33:
Lev Walkinf15320b2004-06-03 03:38:44 +00002454YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002455#line 288 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002456return TOK_ABSTRACT_SYNTAX;
2457 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002458case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002459YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002460#line 289 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002461return TOK_ALL;
2462 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002463case 35:
Lev Walkinf15320b2004-06-03 03:38:44 +00002464YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002465#line 290 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002466{
2467 /* Appeared in 1990, removed in 1997 */
2468 if(TYPE_LIFETIME(1990, 1997))
2469 return TOK_ANY;
2470 fprintf(stderr, "Keyword \"%s\" at line %d "
2471 "is obsolete\n", yytext, yylineno);
2472 REJECT;
2473 }
2474 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002475case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002476YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002477#line 298 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002478return TOK_APPLICATION;
2479 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002480case 37:
Lev Walkinf15320b2004-06-03 03:38:44 +00002481YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002482#line 299 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002483return TOK_AUTOMATIC;
2484 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002485case 38:
Lev Walkinf15320b2004-06-03 03:38:44 +00002486YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002487#line 300 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002488return TOK_BEGIN;
2489 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002490case 39:
Lev Walkinf15320b2004-06-03 03:38:44 +00002491YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002492#line 301 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002493return TOK_BIT;
2494 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002495case 40:
Lev Walkinf15320b2004-06-03 03:38:44 +00002496YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002497#line 302 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002498{
2499 if(TYPE_LIFETIME(1994, 0))
2500 return TOK_BMPString;
2501 REJECT;
2502 }
2503 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002504case 41:
2505YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002506#line 307 "asn1p_l.l"
2507return TOK_BOOLEAN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002508 YY_BREAK
2509case 42:
2510YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002511#line 308 "asn1p_l.l"
2512return TOK_BY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002513 YY_BREAK
2514case 43:
2515YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002516#line 309 "asn1p_l.l"
2517return TOK_CHARACTER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002518 YY_BREAK
2519case 44:
2520YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002521#line 310 "asn1p_l.l"
2522return TOK_CHOICE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002523 YY_BREAK
2524case 45:
2525YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002526#line 311 "asn1p_l.l"
2527return TOK_CLASS;
2528 YY_BREAK
2529case 46:
2530YY_RULE_SETUP
2531#line 312 "asn1p_l.l"
2532return TOK_COMPONENT;
2533 YY_BREAK
2534case 47:
2535YY_RULE_SETUP
2536#line 313 "asn1p_l.l"
2537return TOK_COMPONENTS;
2538 YY_BREAK
2539case 48:
2540YY_RULE_SETUP
2541#line 314 "asn1p_l.l"
2542return TOK_CONSTRAINED;
2543 YY_BREAK
2544case 49:
2545YY_RULE_SETUP
2546#line 315 "asn1p_l.l"
2547return TOK_CONTAINING;
2548 YY_BREAK
2549case 50:
2550YY_RULE_SETUP
2551#line 316 "asn1p_l.l"
2552return TOK_DEFAULT;
2553 YY_BREAK
2554case 51:
2555YY_RULE_SETUP
2556#line 317 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002557{
2558 /* Appeared in 1990, removed in 1997 */
2559 if(TYPE_LIFETIME(1990, 1997))
2560 return TOK_DEFINED;
2561 fprintf(stderr, "Keyword \"%s\" at line %d "
2562 "is obsolete\n", yytext, yylineno);
2563 /* Deprecated since */
2564 REJECT;
2565 }
2566 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002567case 52:
2568YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002569#line 326 "asn1p_l.l"
2570return TOK_DEFINITIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002571 YY_BREAK
2572case 53:
2573YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002574#line 327 "asn1p_l.l"
2575return TOK_EMBEDDED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002576 YY_BREAK
2577case 54:
2578YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002579#line 328 "asn1p_l.l"
2580return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002581 YY_BREAK
2582case 55:
2583YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002584#line 329 "asn1p_l.l"
2585return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002586 YY_BREAK
2587case 56:
2588YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002589#line 330 "asn1p_l.l"
2590return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002591 YY_BREAK
2592case 57:
2593YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002594#line 331 "asn1p_l.l"
2595return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002596 YY_BREAK
2597case 58:
2598YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002599#line 332 "asn1p_l.l"
2600return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002601 YY_BREAK
2602case 59:
2603YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002604#line 333 "asn1p_l.l"
2605return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002606 YY_BREAK
2607case 60:
2608YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002609#line 334 "asn1p_l.l"
2610return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002611 YY_BREAK
2612case 61:
2613YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002614#line 335 "asn1p_l.l"
2615return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002616 YY_BREAK
2617case 62:
2618YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002619#line 336 "asn1p_l.l"
2620return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002621 YY_BREAK
2622case 63:
2623YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002624#line 337 "asn1p_l.l"
2625return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002626 YY_BREAK
2627case 64:
2628YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002629#line 338 "asn1p_l.l"
2630return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002631 YY_BREAK
2632case 65:
2633YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002634#line 339 "asn1p_l.l"
2635return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002636 YY_BREAK
2637case 66:
2638YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002639#line 340 "asn1p_l.l"
2640return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002641 YY_BREAK
2642case 67:
2643YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002644#line 341 "asn1p_l.l"
2645return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002646 YY_BREAK
2647case 68:
2648YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002649#line 342 "asn1p_l.l"
2650return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002651 YY_BREAK
2652case 69:
2653YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002654#line 343 "asn1p_l.l"
2655return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002656 YY_BREAK
2657case 70:
2658YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002659#line 344 "asn1p_l.l"
2660return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002661 YY_BREAK
2662case 71:
2663YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002664#line 345 "asn1p_l.l"
2665return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002666 YY_BREAK
2667case 72:
2668YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002669#line 346 "asn1p_l.l"
2670return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002671 YY_BREAK
2672case 73:
2673YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002674#line 347 "asn1p_l.l"
2675return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00002676 YY_BREAK
2677case 74:
2678YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002679#line 348 "asn1p_l.l"
2680return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002681 YY_BREAK
2682case 75:
2683YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002684#line 349 "asn1p_l.l"
2685return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002686 YY_BREAK
2687case 76:
2688YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002689#line 350 "asn1p_l.l"
2690return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002691 YY_BREAK
2692case 77:
2693YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002694#line 351 "asn1p_l.l"
2695return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00002696 YY_BREAK
2697case 78:
2698YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002699#line 352 "asn1p_l.l"
2700return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002701 YY_BREAK
2702case 79:
2703YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002704#line 353 "asn1p_l.l"
2705return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00002706 YY_BREAK
2707case 80:
2708YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002709#line 354 "asn1p_l.l"
2710return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002711 YY_BREAK
2712case 81:
2713YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002714#line 355 "asn1p_l.l"
2715return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002716 YY_BREAK
2717case 82:
2718YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002719#line 356 "asn1p_l.l"
2720return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002721 YY_BREAK
2722case 83:
2723YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002724#line 357 "asn1p_l.l"
2725return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002726 YY_BREAK
2727case 84:
2728YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002729#line 358 "asn1p_l.l"
2730return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002731 YY_BREAK
2732case 85:
2733YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002734#line 359 "asn1p_l.l"
2735return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00002736 YY_BREAK
2737case 86:
2738YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002739#line 360 "asn1p_l.l"
2740return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002741 YY_BREAK
2742case 87:
2743YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002744#line 361 "asn1p_l.l"
2745return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00002746 YY_BREAK
2747case 88:
2748YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002749#line 362 "asn1p_l.l"
2750return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002751 YY_BREAK
2752case 89:
2753YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002754#line 363 "asn1p_l.l"
2755return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002756 YY_BREAK
2757case 90:
2758YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002759#line 364 "asn1p_l.l"
2760return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00002761 YY_BREAK
2762case 91:
2763YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002764#line 365 "asn1p_l.l"
2765return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002766 YY_BREAK
2767case 92:
2768YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002769#line 366 "asn1p_l.l"
2770return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002771 YY_BREAK
2772case 93:
2773YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002774#line 367 "asn1p_l.l"
2775return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002776 YY_BREAK
2777case 94:
2778YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002779#line 368 "asn1p_l.l"
2780return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002781 YY_BREAK
2782case 95:
2783YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002784#line 369 "asn1p_l.l"
2785return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002786 YY_BREAK
2787case 96:
2788YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002789#line 370 "asn1p_l.l"
2790return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00002791 YY_BREAK
2792case 97:
2793YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002794#line 371 "asn1p_l.l"
2795return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002796 YY_BREAK
2797case 98:
2798YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002799#line 372 "asn1p_l.l"
2800return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002801 YY_BREAK
2802case 99:
2803YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002804#line 373 "asn1p_l.l"
2805return TOK_SIZE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002806 YY_BREAK
2807case 100:
2808YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002809#line 374 "asn1p_l.l"
2810return TOK_STRING;
Lev Walkinf15320b2004-06-03 03:38:44 +00002811 YY_BREAK
2812case 101:
2813YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002814#line 375 "asn1p_l.l"
2815return TOK_SYNTAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00002816 YY_BREAK
2817case 102:
2818YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002819#line 376 "asn1p_l.l"
2820return TOK_T61String;
2821 YY_BREAK
2822case 103:
2823YY_RULE_SETUP
2824#line 377 "asn1p_l.l"
2825return TOK_TAGS;
2826 YY_BREAK
2827case 104:
2828YY_RULE_SETUP
2829#line 378 "asn1p_l.l"
2830return TOK_TeletexString;
2831 YY_BREAK
2832case 105:
2833YY_RULE_SETUP
2834#line 379 "asn1p_l.l"
2835return TOK_TRUE;
2836 YY_BREAK
2837case 106:
2838YY_RULE_SETUP
2839#line 380 "asn1p_l.l"
2840return TOK_TYPE_IDENTIFIER;
2841 YY_BREAK
2842case 107:
2843YY_RULE_SETUP
2844#line 381 "asn1p_l.l"
2845return TOK_UNION;
2846 YY_BREAK
2847case 108:
2848YY_RULE_SETUP
2849#line 382 "asn1p_l.l"
2850return TOK_UNIQUE;
2851 YY_BREAK
2852case 109:
2853YY_RULE_SETUP
2854#line 383 "asn1p_l.l"
2855return TOK_UNIVERSAL;
2856 YY_BREAK
2857case 110:
2858YY_RULE_SETUP
2859#line 384 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002860{
2861 if(TYPE_LIFETIME(1994, 0))
2862 return TOK_UniversalString;
2863 REJECT;
2864 }
2865 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002866case 111:
Lev Walkinf15320b2004-06-03 03:38:44 +00002867YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002868#line 389 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002869return TOK_UTCTime;
2870 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002871case 112:
Lev Walkinf15320b2004-06-03 03:38:44 +00002872YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002873#line 390 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002874{
2875 if(TYPE_LIFETIME(1994, 0))
2876 return TOK_UTF8String;
2877 REJECT;
2878 }
2879 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002880case 113:
Lev Walkinf15320b2004-06-03 03:38:44 +00002881YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002882#line 395 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002883return TOK_VideotexString;
2884 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002885case 114:
Lev Walkinf15320b2004-06-03 03:38:44 +00002886YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002887#line 396 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002888return TOK_VisibleString;
2889 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002890case 115:
Lev Walkinf15320b2004-06-03 03:38:44 +00002891YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002892#line 397 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002893return TOK_WITH;
2894 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002895case 116:
Lev Walkinf15320b2004-06-03 03:38:44 +00002896YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002897#line 400 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002898{
2899 CHECK_DASHES;
2900 asn1p_lval.tv_str = strdup(yytext);
2901 return TOK_typefieldreference;
2902 }
2903 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002904case 117:
Lev Walkinf15320b2004-06-03 03:38:44 +00002905YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002906#line 406 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002907{
2908 CHECK_DASHES;
2909 asn1p_lval.tv_str = strdup(yytext);
2910 return TOK_valuefieldreference;
2911 }
2912 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002913case 118:
Lev Walkinf15320b2004-06-03 03:38:44 +00002914YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002915#line 413 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002916{
2917 CHECK_DASHES;
2918 asn1p_lval.tv_str = strdup(yytext);
2919 return TOK_identifier;
2920 }
2921 YY_BREAK
2922/*
2923 * objectclassreference
2924 */
Lev Walkinf59d0752004-08-18 04:59:12 +00002925case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00002926YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002927#line 422 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002928{
2929 CHECK_DASHES;
2930 asn1p_lval.tv_str = strdup(yytext);
Lev Walkinf59d0752004-08-18 04:59:12 +00002931 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00002932 }
2933 YY_BREAK
2934/*
2935 * typereference, modulereference
2936 * NOTE: TOK_objectclassreference must be combined
2937 * with this token to produce true typereference.
2938 */
Lev Walkinf59d0752004-08-18 04:59:12 +00002939case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00002940YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002941#line 433 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002942{
2943 CHECK_DASHES;
2944 asn1p_lval.tv_str = strdup(yytext);
2945 return TOK_typereference;
2946 }
2947 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002948case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00002949YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002950#line 439 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002951return TOK_PPEQ;
2952 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002953case 122:
Lev Walkinf15320b2004-06-03 03:38:44 +00002954YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002955#line 441 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002956return TOK_ThreeDots;
2957 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002958case 123:
Lev Walkinf15320b2004-06-03 03:38:44 +00002959YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002960#line 442 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002961return TOK_TwoDots;
2962 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002963case 124:
Lev Walkinf15320b2004-06-03 03:38:44 +00002964YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002965#line 444 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002966return yytext[0];
2967 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002968case 125:
Lev Walkinf15320b2004-06-03 03:38:44 +00002969YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002970#line 446 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002971/* Ignore whitespace */
2972 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002973case 126:
Lev Walkinf15320b2004-06-03 03:38:44 +00002974YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002975#line 448 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002976{
2977 if(TYPE_LIFETIME(1994, 0))
2978 fprintf(stderr, "ERROR: ");
2979 fprintf(stderr,
2980 "Symbol '%c' at line %d is prohibited "
2981 "by ASN.1:1994 and ASN.1:1997\n",
2982 yytext[0], yylineno);
2983 if(TYPE_LIFETIME(1994, 0))
2984 return -1;
2985 }
2986 YY_BREAK
2987
Lev Walkinf59d0752004-08-18 04:59:12 +00002988case 127:
Lev Walkinf15320b2004-06-03 03:38:44 +00002989YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002990#line 461 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002991{
2992 asn1p_lval.tv_opaque.buf = strdup(yytext);
2993 asn1p_lval.tv_opaque.len = yyleng;
2994 return TOK_opaque;
2995 }
2996 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00002997case 128:
Lev Walkinf15320b2004-06-03 03:38:44 +00002998YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00002999#line 467 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003000{
3001 asn1p_lval.tv_opaque.buf = strdup(yytext);
3002 asn1p_lval.tv_opaque.len = yyleng;
3003 return TOK_opaque;
3004 }
3005 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00003006case 129:
Lev Walkinf15320b2004-06-03 03:38:44 +00003007YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00003008#line 473 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003009{
3010 yy_pop_state();
3011 return '}';
3012 }
3013 YY_BREAK
3014
Lev Walkinf59d0752004-08-18 04:59:12 +00003015case 130:
Lev Walkinf15320b2004-06-03 03:38:44 +00003016YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00003017#line 480 "asn1p_l.l"
3018return yytext[0]; /* Union, Intersection */
3019 YY_BREAK
3020case 131:
3021YY_RULE_SETUP
3022#line 482 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003023{
3024 fprintf(stderr,
3025 "Unexpected token at line %d: \"%s\"\n",
3026 yylineno, yytext);
3027 while(YYSTATE != INITIAL)
3028 yy_pop_state();
3029 yy_top_state(); /* Just to use this function. */
3030 yyterminate();
3031 yy_fatal_error("Unexpected token");
3032 return -1;
3033}
3034 YY_BREAK
3035case YY_STATE_EOF(INITIAL):
3036case YY_STATE_EOF(dash_comment):
3037case YY_STATE_EOF(cpp_comment):
3038case YY_STATE_EOF(quoted):
3039case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003040case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003041case YY_STATE_EOF(with_syntax):
Lev Walkinf59d0752004-08-18 04:59:12 +00003042#line 494 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003043{
3044 while(YYSTATE != INITIAL)
3045 yy_pop_state();
3046 yyterminate();
3047 }
3048 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00003049case 132:
Lev Walkinf15320b2004-06-03 03:38:44 +00003050YY_RULE_SETUP
Lev Walkinf59d0752004-08-18 04:59:12 +00003051#line 501 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003052YY_FATAL_ERROR( "flex scanner jammed" );
3053 YY_BREAK
Lev Walkinf59d0752004-08-18 04:59:12 +00003054#line 3055 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003055
3056 case YY_END_OF_BUFFER:
3057 {
3058 /* Amount of text matched not including the EOB char. */
3059 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3060
3061 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3062 *yy_cp = yy_hold_char;
3063 YY_RESTORE_YY_MORE_OFFSET
3064
3065 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3066 {
3067 /* We're scanning a new file or input source. It's
3068 * possible that this happened because the user
3069 * just pointed yyin at a new source and called
3070 * yylex(). If so, then we have to assure
3071 * consistency between yy_current_buffer and our
3072 * globals. Here is the right place to do so, because
3073 * this is the first action (other than possibly a
3074 * back-up) that will match for the new input source.
3075 */
3076 yy_n_chars = yy_current_buffer->yy_n_chars;
3077 yy_current_buffer->yy_input_file = yyin;
3078 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3079 }
3080
3081 /* Note that here we test for yy_c_buf_p "<=" to the position
3082 * of the first EOB in the buffer, since yy_c_buf_p will
3083 * already have been incremented past the NUL character
3084 * (since all states make transitions on EOB to the
3085 * end-of-buffer state). Contrast this with the test
3086 * in input().
3087 */
3088 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3089 { /* This was really a NUL. */
3090 yy_state_type yy_next_state;
3091
3092 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3093
3094 yy_current_state = yy_get_previous_state();
3095
3096 /* Okay, we're now positioned to make the NUL
3097 * transition. We couldn't have
3098 * yy_get_previous_state() go ahead and do it
3099 * for us because it doesn't know how to deal
3100 * with the possibility of jamming (and we don't
3101 * want to build jamming into it because then it
3102 * will run more slowly).
3103 */
3104
3105 yy_next_state = yy_try_NUL_trans( yy_current_state );
3106
3107 yy_bp = yytext_ptr + YY_MORE_ADJ;
3108
3109 if ( yy_next_state )
3110 {
3111 /* Consume the NUL. */
3112 yy_cp = ++yy_c_buf_p;
3113 yy_current_state = yy_next_state;
3114 goto yy_match;
3115 }
3116
3117 else
3118 {
3119 yy_cp = yy_c_buf_p;
3120 goto yy_find_action;
3121 }
3122 }
3123
3124 else switch ( yy_get_next_buffer() )
3125 {
3126 case EOB_ACT_END_OF_FILE:
3127 {
3128 yy_did_buffer_switch_on_eof = 0;
3129
3130 if ( yywrap() )
3131 {
3132 /* Note: because we've taken care in
3133 * yy_get_next_buffer() to have set up
3134 * yytext, we can now set up
3135 * yy_c_buf_p so that if some total
3136 * hoser (like flex itself) wants to
3137 * call the scanner after we return the
3138 * YY_NULL, it'll still work - another
3139 * YY_NULL will get returned.
3140 */
3141 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3142
3143 yy_act = YY_STATE_EOF(YY_START);
3144 goto do_action;
3145 }
3146
3147 else
3148 {
3149 if ( ! yy_did_buffer_switch_on_eof )
3150 YY_NEW_FILE;
3151 }
3152 break;
3153 }
3154
3155 case EOB_ACT_CONTINUE_SCAN:
3156 yy_c_buf_p =
3157 yytext_ptr + yy_amount_of_matched_text;
3158
3159 yy_current_state = yy_get_previous_state();
3160
3161 yy_cp = yy_c_buf_p;
3162 yy_bp = yytext_ptr + YY_MORE_ADJ;
3163 goto yy_match;
3164
3165 case EOB_ACT_LAST_MATCH:
3166 yy_c_buf_p =
3167 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3168
3169 yy_current_state = yy_get_previous_state();
3170
3171 yy_cp = yy_c_buf_p;
3172 yy_bp = yytext_ptr + YY_MORE_ADJ;
3173 goto yy_find_action;
3174 }
3175 break;
3176 }
3177
3178 default:
3179 YY_FATAL_ERROR(
3180 "fatal flex scanner internal error--no action found" );
3181 } /* end of action switch */
3182 } /* end of scanning one token */
3183 } /* end of yylex */
3184
3185
3186/* yy_get_next_buffer - try to read in a new buffer
3187 *
3188 * Returns a code representing an action:
3189 * EOB_ACT_LAST_MATCH -
3190 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3191 * EOB_ACT_END_OF_FILE - end of file
3192 */
3193
3194static int yy_get_next_buffer()
3195 {
3196 register char *dest = yy_current_buffer->yy_ch_buf;
3197 register char *source = yytext_ptr;
3198 register int number_to_move, i;
3199 int ret_val;
3200
3201 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3202 YY_FATAL_ERROR(
3203 "fatal flex scanner internal error--end of buffer missed" );
3204
3205 if ( yy_current_buffer->yy_fill_buffer == 0 )
3206 { /* Don't try to fill the buffer, so this is an EOF. */
3207 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3208 {
3209 /* We matched a single character, the EOB, so
3210 * treat this as a final EOF.
3211 */
3212 return EOB_ACT_END_OF_FILE;
3213 }
3214
3215 else
3216 {
3217 /* We matched some text prior to the EOB, first
3218 * process it.
3219 */
3220 return EOB_ACT_LAST_MATCH;
3221 }
3222 }
3223
3224 /* Try to read more data. */
3225
3226 /* First move last chars to start of buffer. */
3227 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3228
3229 for ( i = 0; i < number_to_move; ++i )
3230 *(dest++) = *(source++);
3231
3232 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3233 /* don't do the read, it's not guaranteed to return an EOF,
3234 * just force an EOF
3235 */
3236 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3237
3238 else
3239 {
3240 int num_to_read =
3241 yy_current_buffer->yy_buf_size - number_to_move - 1;
3242
3243 while ( num_to_read <= 0 )
3244 { /* Not enough room in the buffer - grow it. */
3245#ifdef YY_USES_REJECT
3246 YY_FATAL_ERROR(
3247"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3248#else
3249
3250 /* just a shorter name for the current buffer */
3251 YY_BUFFER_STATE b = yy_current_buffer;
3252
3253 int yy_c_buf_p_offset =
3254 (int) (yy_c_buf_p - b->yy_ch_buf);
3255
3256 if ( b->yy_is_our_buffer )
3257 {
3258 int new_size = b->yy_buf_size * 2;
3259
3260 if ( new_size <= 0 )
3261 b->yy_buf_size += b->yy_buf_size / 8;
3262 else
3263 b->yy_buf_size *= 2;
3264
3265 b->yy_ch_buf = (char *)
3266 /* Include room in for 2 EOB chars. */
3267 yy_flex_realloc( (void *) b->yy_ch_buf,
3268 b->yy_buf_size + 2 );
3269 }
3270 else
3271 /* Can't grow it, we don't own it. */
3272 b->yy_ch_buf = 0;
3273
3274 if ( ! b->yy_ch_buf )
3275 YY_FATAL_ERROR(
3276 "fatal error - scanner input buffer overflow" );
3277
3278 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3279
3280 num_to_read = yy_current_buffer->yy_buf_size -
3281 number_to_move - 1;
3282#endif
3283 }
3284
3285 if ( num_to_read > YY_READ_BUF_SIZE )
3286 num_to_read = YY_READ_BUF_SIZE;
3287
3288 /* Read in more data. */
3289 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3290 yy_n_chars, num_to_read );
3291
3292 yy_current_buffer->yy_n_chars = yy_n_chars;
3293 }
3294
3295 if ( yy_n_chars == 0 )
3296 {
3297 if ( number_to_move == YY_MORE_ADJ )
3298 {
3299 ret_val = EOB_ACT_END_OF_FILE;
3300 yyrestart( yyin );
3301 }
3302
3303 else
3304 {
3305 ret_val = EOB_ACT_LAST_MATCH;
3306 yy_current_buffer->yy_buffer_status =
3307 YY_BUFFER_EOF_PENDING;
3308 }
3309 }
3310
3311 else
3312 ret_val = EOB_ACT_CONTINUE_SCAN;
3313
3314 yy_n_chars += number_to_move;
3315 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3316 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3317
3318 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3319
3320 return ret_val;
3321 }
3322
3323
3324/* yy_get_previous_state - get the state just before the EOB char was reached */
3325
3326static yy_state_type yy_get_previous_state()
3327 {
3328 register yy_state_type yy_current_state;
3329 register char *yy_cp;
3330
3331 yy_current_state = yy_start;
3332 yy_state_ptr = yy_state_buf;
3333 *yy_state_ptr++ = yy_current_state;
3334
3335 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3336 {
3337 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3338 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3339 {
3340 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinf59d0752004-08-18 04:59:12 +00003341 if ( yy_current_state >= 721 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003342 yy_c = yy_meta[(unsigned int) yy_c];
3343 }
3344 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3345 *yy_state_ptr++ = yy_current_state;
3346 }
3347
3348 return yy_current_state;
3349 }
3350
3351
3352/* yy_try_NUL_trans - try to make a transition on the NUL character
3353 *
3354 * synopsis
3355 * next_state = yy_try_NUL_trans( current_state );
3356 */
3357
3358#ifdef YY_USE_PROTOS
3359static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3360#else
3361static yy_state_type yy_try_NUL_trans( yy_current_state )
3362yy_state_type yy_current_state;
3363#endif
3364 {
3365 register int yy_is_jam;
3366
3367 register YY_CHAR yy_c = 1;
3368 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3369 {
3370 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinf59d0752004-08-18 04:59:12 +00003371 if ( yy_current_state >= 721 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003372 yy_c = yy_meta[(unsigned int) yy_c];
3373 }
3374 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkinf59d0752004-08-18 04:59:12 +00003375 yy_is_jam = (yy_current_state == 720);
Lev Walkinf15320b2004-06-03 03:38:44 +00003376 if ( ! yy_is_jam )
3377 *yy_state_ptr++ = yy_current_state;
3378
3379 return yy_is_jam ? 0 : yy_current_state;
3380 }
3381
3382
3383#ifndef YY_NO_UNPUT
3384#ifdef YY_USE_PROTOS
3385static void yyunput( int c, register char *yy_bp )
3386#else
3387static void yyunput( c, yy_bp )
3388int c;
3389register char *yy_bp;
3390#endif
3391 {
3392 register char *yy_cp = yy_c_buf_p;
3393
3394 /* undo effects of setting up yytext */
3395 *yy_cp = yy_hold_char;
3396
3397 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3398 { /* need to shift things up to make room */
3399 /* +2 for EOB chars. */
3400 register int number_to_move = yy_n_chars + 2;
3401 register char *dest = &yy_current_buffer->yy_ch_buf[
3402 yy_current_buffer->yy_buf_size + 2];
3403 register char *source =
3404 &yy_current_buffer->yy_ch_buf[number_to_move];
3405
3406 while ( source > yy_current_buffer->yy_ch_buf )
3407 *--dest = *--source;
3408
3409 yy_cp += (int) (dest - source);
3410 yy_bp += (int) (dest - source);
3411 yy_current_buffer->yy_n_chars =
3412 yy_n_chars = yy_current_buffer->yy_buf_size;
3413
3414 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3415 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3416 }
3417
3418 *--yy_cp = (char) c;
3419
3420 if ( c == '\n' )
3421 --yylineno;
3422
3423 yytext_ptr = yy_bp;
3424 yy_hold_char = *yy_cp;
3425 yy_c_buf_p = yy_cp;
3426 }
3427#endif /* ifndef YY_NO_UNPUT */
3428
3429
3430#ifdef __cplusplus
3431static int yyinput()
3432#else
3433static int input()
3434#endif
3435 {
3436 int c;
3437
3438 *yy_c_buf_p = yy_hold_char;
3439
3440 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3441 {
3442 /* yy_c_buf_p now points to the character we want to return.
3443 * If this occurs *before* the EOB characters, then it's a
3444 * valid NUL; if not, then we've hit the end of the buffer.
3445 */
3446 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3447 /* This was really a NUL. */
3448 *yy_c_buf_p = '\0';
3449
3450 else
3451 { /* need more input */
3452 int offset = yy_c_buf_p - yytext_ptr;
3453 ++yy_c_buf_p;
3454
3455 switch ( yy_get_next_buffer() )
3456 {
3457 case EOB_ACT_LAST_MATCH:
3458 /* This happens because yy_g_n_b()
3459 * sees that we've accumulated a
3460 * token and flags that we need to
3461 * try matching the token before
3462 * proceeding. But for input(),
3463 * there's no matching to consider.
3464 * So convert the EOB_ACT_LAST_MATCH
3465 * to EOB_ACT_END_OF_FILE.
3466 */
3467
3468 /* Reset buffer status. */
3469 yyrestart( yyin );
3470
3471 /* fall through */
3472
3473 case EOB_ACT_END_OF_FILE:
3474 {
3475 if ( yywrap() )
3476 return EOF;
3477
3478 if ( ! yy_did_buffer_switch_on_eof )
3479 YY_NEW_FILE;
3480#ifdef __cplusplus
3481 return yyinput();
3482#else
3483 return input();
3484#endif
3485 }
3486
3487 case EOB_ACT_CONTINUE_SCAN:
3488 yy_c_buf_p = yytext_ptr + offset;
3489 break;
3490 }
3491 }
3492 }
3493
3494 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3495 *yy_c_buf_p = '\0'; /* preserve yytext */
3496 yy_hold_char = *++yy_c_buf_p;
3497
3498 if ( c == '\n' )
3499 ++yylineno;
3500
3501 return c;
3502 }
3503
3504
3505#ifdef YY_USE_PROTOS
3506void yyrestart( FILE *input_file )
3507#else
3508void yyrestart( input_file )
3509FILE *input_file;
3510#endif
3511 {
3512 if ( ! yy_current_buffer )
3513 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3514
3515 yy_init_buffer( yy_current_buffer, input_file );
3516 yy_load_buffer_state();
3517 }
3518
3519
3520#ifdef YY_USE_PROTOS
3521void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3522#else
3523void yy_switch_to_buffer( new_buffer )
3524YY_BUFFER_STATE new_buffer;
3525#endif
3526 {
3527 if ( yy_current_buffer == new_buffer )
3528 return;
3529
3530 if ( yy_current_buffer )
3531 {
3532 /* Flush out information for old buffer. */
3533 *yy_c_buf_p = yy_hold_char;
3534 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3535 yy_current_buffer->yy_n_chars = yy_n_chars;
3536 }
3537
3538 yy_current_buffer = new_buffer;
3539 yy_load_buffer_state();
3540
3541 /* We don't actually know whether we did this switch during
3542 * EOF (yywrap()) processing, but the only time this flag
3543 * is looked at is after yywrap() is called, so it's safe
3544 * to go ahead and always set it.
3545 */
3546 yy_did_buffer_switch_on_eof = 1;
3547 }
3548
3549
3550#ifdef YY_USE_PROTOS
3551void yy_load_buffer_state( void )
3552#else
3553void yy_load_buffer_state()
3554#endif
3555 {
3556 yy_n_chars = yy_current_buffer->yy_n_chars;
3557 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3558 yyin = yy_current_buffer->yy_input_file;
3559 yy_hold_char = *yy_c_buf_p;
3560 }
3561
3562
3563#ifdef YY_USE_PROTOS
3564YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3565#else
3566YY_BUFFER_STATE yy_create_buffer( file, size )
3567FILE *file;
3568int size;
3569#endif
3570 {
3571 YY_BUFFER_STATE b;
3572
3573 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3574 if ( ! b )
3575 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3576
3577 b->yy_buf_size = size;
3578
3579 /* yy_ch_buf has to be 2 characters longer than the size given because
3580 * we need to put in 2 end-of-buffer characters.
3581 */
3582 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3583 if ( ! b->yy_ch_buf )
3584 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3585
3586 b->yy_is_our_buffer = 1;
3587
3588 yy_init_buffer( b, file );
3589
3590 return b;
3591 }
3592
3593
3594#ifdef YY_USE_PROTOS
3595void yy_delete_buffer( YY_BUFFER_STATE b )
3596#else
3597void yy_delete_buffer( b )
3598YY_BUFFER_STATE b;
3599#endif
3600 {
3601 if ( ! b )
3602 return;
3603
3604 if ( b == yy_current_buffer )
3605 yy_current_buffer = (YY_BUFFER_STATE) 0;
3606
3607 if ( b->yy_is_our_buffer )
3608 yy_flex_free( (void *) b->yy_ch_buf );
3609
3610 yy_flex_free( (void *) b );
3611 }
3612
3613
3614#ifndef YY_ALWAYS_INTERACTIVE
3615#ifndef YY_NEVER_INTERACTIVE
3616extern int isatty YY_PROTO(( int ));
3617#endif
3618#endif
3619
3620#ifdef YY_USE_PROTOS
3621void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3622#else
3623void yy_init_buffer( b, file )
3624YY_BUFFER_STATE b;
3625FILE *file;
3626#endif
3627
3628
3629 {
3630 yy_flush_buffer( b );
3631
3632 b->yy_input_file = file;
3633 b->yy_fill_buffer = 1;
3634
3635#if YY_ALWAYS_INTERACTIVE
3636 b->yy_is_interactive = 1;
3637#else
3638#if YY_NEVER_INTERACTIVE
3639 b->yy_is_interactive = 0;
3640#else
3641 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3642#endif
3643#endif
3644 }
3645
3646
3647#ifdef YY_USE_PROTOS
3648void yy_flush_buffer( YY_BUFFER_STATE b )
3649#else
3650void yy_flush_buffer( b )
3651YY_BUFFER_STATE b;
3652#endif
3653
3654 {
3655 if ( ! b )
3656 return;
3657
3658 b->yy_n_chars = 0;
3659
3660 /* We always need two end-of-buffer characters. The first causes
3661 * a transition to the end-of-buffer state. The second causes
3662 * a jam in that state.
3663 */
3664 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3665 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3666
3667 b->yy_buf_pos = &b->yy_ch_buf[0];
3668
3669 b->yy_at_bol = 1;
3670 b->yy_buffer_status = YY_BUFFER_NEW;
3671
3672 if ( b == yy_current_buffer )
3673 yy_load_buffer_state();
3674 }
3675
3676
3677#ifndef YY_NO_SCAN_BUFFER
3678#ifdef YY_USE_PROTOS
3679YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3680#else
3681YY_BUFFER_STATE yy_scan_buffer( base, size )
3682char *base;
3683yy_size_t size;
3684#endif
3685 {
3686 YY_BUFFER_STATE b;
3687
3688 if ( size < 2 ||
3689 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3690 base[size-1] != YY_END_OF_BUFFER_CHAR )
3691 /* They forgot to leave room for the EOB's. */
3692 return 0;
3693
3694 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3695 if ( ! b )
3696 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3697
3698 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3699 b->yy_buf_pos = b->yy_ch_buf = base;
3700 b->yy_is_our_buffer = 0;
3701 b->yy_input_file = 0;
3702 b->yy_n_chars = b->yy_buf_size;
3703 b->yy_is_interactive = 0;
3704 b->yy_at_bol = 1;
3705 b->yy_fill_buffer = 0;
3706 b->yy_buffer_status = YY_BUFFER_NEW;
3707
3708 yy_switch_to_buffer( b );
3709
3710 return b;
3711 }
3712#endif
3713
3714
3715#ifndef YY_NO_SCAN_STRING
3716#ifdef YY_USE_PROTOS
3717YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3718#else
3719YY_BUFFER_STATE yy_scan_string( yy_str )
3720yyconst char *yy_str;
3721#endif
3722 {
3723 int len;
3724 for ( len = 0; yy_str[len]; ++len )
3725 ;
3726
3727 return yy_scan_bytes( yy_str, len );
3728 }
3729#endif
3730
3731
3732#ifndef YY_NO_SCAN_BYTES
3733#ifdef YY_USE_PROTOS
3734YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3735#else
3736YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3737yyconst char *bytes;
3738int len;
3739#endif
3740 {
3741 YY_BUFFER_STATE b;
3742 char *buf;
3743 yy_size_t n;
3744 int i;
3745
3746 /* Get memory for full buffer, including space for trailing EOB's. */
3747 n = len + 2;
3748 buf = (char *) yy_flex_alloc( n );
3749 if ( ! buf )
3750 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3751
3752 for ( i = 0; i < len; ++i )
3753 buf[i] = bytes[i];
3754
3755 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3756
3757 b = yy_scan_buffer( buf, n );
3758 if ( ! b )
3759 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3760
3761 /* It's okay to grow etc. this buffer, and we should throw it
3762 * away when we're done.
3763 */
3764 b->yy_is_our_buffer = 1;
3765
3766 return b;
3767 }
3768#endif
3769
3770
3771#ifndef YY_NO_PUSH_STATE
3772#ifdef YY_USE_PROTOS
3773static void yy_push_state( int new_state )
3774#else
3775static void yy_push_state( new_state )
3776int new_state;
3777#endif
3778 {
3779 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3780 {
3781 yy_size_t new_size;
3782
3783 yy_start_stack_depth += YY_START_STACK_INCR;
3784 new_size = yy_start_stack_depth * sizeof( int );
3785
3786 if ( ! yy_start_stack )
3787 yy_start_stack = (int *) yy_flex_alloc( new_size );
3788
3789 else
3790 yy_start_stack = (int *) yy_flex_realloc(
3791 (void *) yy_start_stack, new_size );
3792
3793 if ( ! yy_start_stack )
3794 YY_FATAL_ERROR(
3795 "out of memory expanding start-condition stack" );
3796 }
3797
3798 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3799
3800 BEGIN(new_state);
3801 }
3802#endif
3803
3804
3805#ifndef YY_NO_POP_STATE
3806static void yy_pop_state()
3807 {
3808 if ( --yy_start_stack_ptr < 0 )
3809 YY_FATAL_ERROR( "start-condition stack underflow" );
3810
3811 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3812 }
3813#endif
3814
3815
3816#ifndef YY_NO_TOP_STATE
3817static int yy_top_state()
3818 {
3819 return yy_start_stack[yy_start_stack_ptr - 1];
3820 }
3821#endif
3822
3823#ifndef YY_EXIT_FAILURE
3824#define YY_EXIT_FAILURE 2
3825#endif
3826
3827#ifdef YY_USE_PROTOS
3828static void yy_fatal_error( yyconst char msg[] )
3829#else
3830static void yy_fatal_error( msg )
3831char msg[];
3832#endif
3833 {
3834 (void) fprintf( stderr, "%s\n", msg );
3835 exit( YY_EXIT_FAILURE );
3836 }
3837
3838
3839
3840/* Redefine yyless() so it works in section 3 code. */
3841
3842#undef yyless
3843#define yyless(n) \
3844 do \
3845 { \
3846 /* Undo effects of setting up yytext. */ \
3847 yytext[yyleng] = yy_hold_char; \
3848 yy_c_buf_p = yytext + n; \
3849 yy_hold_char = *yy_c_buf_p; \
3850 *yy_c_buf_p = '\0'; \
3851 yyleng = n; \
3852 } \
3853 while ( 0 )
3854
3855
3856/* Internal utility routines. */
3857
3858#ifndef yytext_ptr
3859#ifdef YY_USE_PROTOS
3860static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3861#else
3862static void yy_flex_strncpy( s1, s2, n )
3863char *s1;
3864yyconst char *s2;
3865int n;
3866#endif
3867 {
3868 register int i;
3869 for ( i = 0; i < n; ++i )
3870 s1[i] = s2[i];
3871 }
3872#endif
3873
3874#ifdef YY_NEED_STRLEN
3875#ifdef YY_USE_PROTOS
3876static int yy_flex_strlen( yyconst char *s )
3877#else
3878static int yy_flex_strlen( s )
3879yyconst char *s;
3880#endif
3881 {
3882 register int n;
3883 for ( n = 0; s[n]; ++n )
3884 ;
3885
3886 return n;
3887 }
3888#endif
3889
3890
3891#ifdef YY_USE_PROTOS
3892static void *yy_flex_alloc( yy_size_t size )
3893#else
3894static void *yy_flex_alloc( size )
3895yy_size_t size;
3896#endif
3897 {
3898 return (void *) malloc( size );
3899 }
3900
3901#ifdef YY_USE_PROTOS
3902static void *yy_flex_realloc( void *ptr, yy_size_t size )
3903#else
3904static void *yy_flex_realloc( ptr, size )
3905void *ptr;
3906yy_size_t size;
3907#endif
3908 {
3909 /* The cast to (char *) in the following accommodates both
3910 * implementations that use char* generic pointers, and those
3911 * that use void* generic pointers. It works with the latter
3912 * because both ANSI C and C++ allow castless assignment from
3913 * any pointer type to void*, and deal with argument conversions
3914 * as though doing an assignment.
3915 */
3916 return (void *) realloc( (char *) ptr, size );
3917 }
3918
3919#ifdef YY_USE_PROTOS
3920static void yy_flex_free( void *ptr )
3921#else
3922static void yy_flex_free( ptr )
3923void *ptr;
3924#endif
3925 {
3926 free( ptr );
3927 }
3928
3929#if YY_MAIN
3930int main()
3931 {
3932 yylex();
3933 return 0;
3934 }
3935#endif
Lev Walkinf59d0752004-08-18 04:59:12 +00003936#line 501 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003937
3938
3939/*
3940 * Very dirty but wonderful hack allowing to rule states from within .y file.
3941 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003942void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00003943
3944/*
3945 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3946 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003947void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3948
3949/* Yet another */
3950void asn1p_lexer_hack_push_encoding_control() {
3951 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00003952}
3953
3954/*
3955 * Check that a token does not end with dash and does not contain
3956 * several dashes in succession.
3957 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
3958 * "end-", "vustom--value" are INVALID
3959 */
3960static int
3961_check_dashes(char *ptr) {
3962 int prev_dash = 0;
3963
3964 assert(*ptr != '-');
3965
3966 for(;; ptr++) {
3967 switch(*ptr) {
3968 case '-':
3969 if(prev_dash++) /* No double dashes */
3970 return -1;
3971 continue;
3972 case '\0':
3973 if(prev_dash) /* No dashes at the end */
3974 return -1;
3975 break;
3976 default:
3977 prev_dash = 0;
3978 continue;
3979 }
3980 break;
3981 }
3982
3983 return 0;
3984}
3985
3986static asn1_integer_t
3987asn1p_atoi(char *ptr) {
3988 asn1_integer_t value;
3989 errno = 0; /* Clear the error code */
3990
3991 if(sizeof(value) <= sizeof(int)) {
3992 value = strtol(ptr, 0, 10);
3993 } else {
3994#ifdef HAVE_STRTOIMAX
3995 value = strtoimax(ptr, 0, 10);
3996#elif HAVE_STRTOLL
3997 value = strtoll(ptr, 0, 10);
3998#else
3999 value = strtol(ptr, 0, 10);
4000#endif
4001 }
4002
4003 if(errno == ERANGE) {
4004 fprintf(stderr,
4005 "Value \"%s\" at line %d is too large "
4006 "for this compiler! Please contact the vendor.",
4007 ptr, yylineno);
4008 errno = ERANGE; /* Restore potentially clobbered errno */
4009 }
4010
4011 return value;
4012}
4013