blob: 9e33d8f1056adc15f68c9561789ff0da28a4818b [file] [log] [blame]
vlmfa67ddc2004-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
vlm9283dbe2004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
vlmfa67ddc2004-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
vlm2728a8d2005-01-23 09:51:44 +0000315#define YY_NUM_RULES 129
316#define YY_END_OF_BUFFER 130
vlm6611add2005-03-20 14:28:32 +0000317static yyconst short int yy_acclist[1261] =
vlmfa67ddc2004-06-03 03:38:44 +0000318 { 0,
vlm2728a8d2005-01-23 09:51:44 +0000319 130, 128, 129, 121, 128, 129, 121, 129, 122, 128,
320 129, 15, 128, 129, 122, 128, 129, 128, 129, 122,
321 128, 129, 128, 129, 122, 128, 129, 128, 129, 29,
322 128, 129, 28, 128, 129, 122, 128, 129, 128, 129,
323 116, 117, 128, 129, 116, 117, 128, 129, 116, 117,
324 128, 129, 116, 117, 128, 129, 116, 117, 128, 129,
325 116, 117, 128, 129, 116, 117, 128, 129, 116, 117,
326 128, 129, 116, 117, 128, 129, 116, 117, 128, 129,
327 116, 117, 128, 129, 116, 117, 128, 129, 116, 117,
328 128, 129, 116, 117, 128, 129, 116, 117, 128, 129,
vlmfa67ddc2004-06-03 03:38:44 +0000329
vlm2728a8d2005-01-23 09:51:44 +0000330 116, 117, 128, 129, 116, 117, 128, 129, 116, 117,
331 128, 129, 116, 117, 128, 129, 127, 128, 129, 115,
332 128, 129, 122, 127, 128, 129, 5, 128, 129, 2,
333 129, 2, 128, 129, 4, 128, 129, 7, 9, 128,
334 129, 7, 129, 9, 128, 129, 9, 128, 129, 17,
335 128, 129, 17, 129, 18, 128, 129, 12, 128, 129,
336 12, 129, 14, 128, 129, 14, 128, 129, 10, 128,
337 129, 11, 128, 129, 21, 23, 128, 129, 23, 128,
338 129, 24, 129, 21, 22, 23, 128, 129, 21, 22,
339 23, 128, 129, 124, 128, 129, 125, 128, 129, 125,
vlmfa67ddc2004-06-03 03:38:44 +0000340
vlm2728a8d2005-01-23 09:51:44 +0000341 129, 128, 129, 126, 128, 129, 121, 15, 15, 113,
342 114, 1, 27, 120, 6, 28, 116, 117, 116, 117,
343 116, 117, 116, 117, 116, 117, 116, 117, 117, 116,
344 117, 116, 117, 116, 117, 116, 117, 39, 116, 117,
345 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
346 116, 117, 116, 117, 116, 117, 116, 117, 117, 117,
347 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
348 116, 117, 116, 117, 116, 117, 117, 116, 117, 116,
349 117, 84, 116, 117, 116, 117, 117, 116, 117, 116,
350 117, 116, 117, 116, 117, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000351
vlm2728a8d2005-01-23 09:51:44 +0000352 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
353 116, 117, 116, 117, 117, 116, 117, 116, 117, 117,
354 117, 116, 117, 115, 5, 3, 8, 17, 16, 12,
355 21, 21, 22, 21, 22, 124, 125, 123, 113, 114,
356 27, 119, 118, 116, 117, 31, 116, 117, 32, 116,
357 117, 116, 117, 116, 117, 116, 117, 36, 116, 117,
358 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
359 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
360 53, 116, 117, 116, 117, 116, 117, 116, 117, 116,
361 117, 116, 117, 116, 117, 117, 117, 116, 117, 116,
vlmfa67ddc2004-06-03 03:38:44 +0000362
vlm2728a8d2005-01-23 09:51:44 +0000363 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
364 117, 76, 116, 117, 77, 116, 117, 116, 117, 117,
365 116, 117, 116, 117, 116, 117, 117, 116, 117, 87,
366 116, 117, 116, 117, 116, 117, 116, 117, 117, 116,
367 117, 116, 117, 116, 117, 95, 116, 117, 116, 117,
368 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
369 116, 117, 117, 116, 117, 116, 117, 116, 117, 117,
370 117, 117, 116, 117, 13, 21, 22, 20, 21, 22,
371 26, 25, 116, 117, 116, 117, 116, 117, 116, 117,
372 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000373
vlm2728a8d2005-01-23 09:51:44 +0000374 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
375 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
376 116, 117, 116, 117, 116, 117, 61, 116, 117, 117,
377 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
378 117, 116, 117, 116, 117, 116, 117, 116, 117, 79,
379 116, 117, 117, 116, 117, 116, 117, 116, 117, 117,
380 116, 117, 116, 117, 116, 117, 116, 117, 117, 92,
381 116, 117, 116, 117, 116, 117, 96, 116, 117, 116,
382 117, 116, 117, 116, 117, 100, 116, 117, 102, 116,
383 117, 116, 117, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000384
vlm2728a8d2005-01-23 09:51:44 +0000385 116, 117, 116, 117, 117, 117, 117, 112, 116, 117,
386 21, 22, 116, 117, 116, 117, 116, 117, 35, 116,
387 117, 117, 116, 117, 116, 117, 116, 117, 42, 116,
388 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
389 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
390 117, 116, 117, 116, 117, 116, 117, 60, 116, 117,
391 117, 117, 117, 116, 117, 116, 117, 116, 117, 116,
392 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
393 117, 116, 117, 117, 116, 117, 83, 116, 117, 116,
394 117, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000395
vlm2728a8d2005-01-23 09:51:44 +0000396 117, 116, 117, 116, 117, 116, 117, 116, 117, 117,
397 116, 117, 117, 104, 116, 117, 116, 117, 116, 117,
398 117, 116, 117, 117, 117, 117, 21, 22, 30, 116,
399 117, 116, 117, 116, 117, 117, 116, 117, 116, 117,
400 41, 116, 117, 116, 117, 116, 117, 116, 117, 116,
401 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
402 117, 116, 117, 55, 116, 117, 116, 117, 116, 117,
403 116, 117, 116, 117, 117, 117, 117, 116, 117, 116,
404 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
405 117, 116, 117, 116, 117, 116, 117, 116, 117, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000406
vlm2728a8d2005-01-23 09:51:44 +0000407 81, 116, 117, 116, 117, 117, 116, 117, 116, 117,
408 116, 117, 116, 117, 117, 116, 117, 116, 117, 97,
409 116, 117, 98, 116, 117, 117, 116, 117, 117, 105,
410 116, 117, 116, 117, 117, 117, 117, 117, 117, 21,
411 22, 116, 117, 116, 117, 117, 38, 116, 117, 116,
412 117, 116, 117, 116, 117, 116, 117, 47, 116, 117,
413 48, 116, 117, 116, 117, 116, 117, 51, 116, 117,
414 116, 117, 116, 117, 116, 117, 57, 116, 117, 116,
415 117, 116, 117, 117, 117, 117, 116, 117, 116, 117,
416 68, 116, 117, 69, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000417
vlm2728a8d2005-01-23 09:51:44 +0000418 116, 117, 73, 116, 117, 116, 117, 116, 117, 116,
419 117, 117, 116, 117, 117, 86, 116, 117, 116, 117,
420 89, 116, 117, 91, 116, 117, 117, 116, 117, 116,
421 117, 117, 116, 117, 117, 116, 117, 108, 117, 117,
422 117, 117, 117, 21, 22, 116, 117, 116, 117, 117,
423 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
424 50, 116, 117, 116, 117, 116, 117, 56, 116, 117,
425 116, 117, 59, 116, 117, 117, 117, 117, 117, 116,
426 117, 67, 116, 117, 70, 116, 117, 71, 116, 117,
427 116, 117, 116, 117, 117, 116, 117, 117, 85, 116,
vlmfa67ddc2004-06-03 03:38:44 +0000428
vlm2728a8d2005-01-23 09:51:44 +0000429 117, 117, 116, 117, 117, 116, 117, 94, 116, 117,
430 117, 116, 117, 117, 116, 117, 117, 117, 117, 117,
431 21, 22, 116, 117, 34, 116, 117, 37, 117, 40,
432 116, 117, 43, 116, 117, 116, 117, 116, 117, 116,
433 117, 116, 117, 116, 117, 116, 117, 117, 117, 117,
434 65, 117, 116, 117, 116, 117, 116, 117, 117, 116,
435 117, 117, 117, 116, 117, 117, 116, 117, 99, 117,
436 116, 117, 117, 106, 116, 117, 117, 117, 117, 117,
vlm6611add2005-03-20 14:28:32 +0000437 21, 116, 117, 44, 116, 117, 116, 117, 46, 116,
438 117, 116, 117, 116, 117, 54, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000439
vlm6611add2005-03-20 14:28:32 +0000440 117, 117, 117, 66, 116, 117, 116, 117, 116, 117,
441 117, 116, 117, 117, 117, 116, 117, 117, 116, 117,
442 116, 117, 117, 109, 117, 117, 117, 117, 21, 33,
443 116, 117, 45, 116, 117, 49, 116, 117, 116, 117,
444 116, 117, 117, 117, 117, 116, 117, 116, 117, 117,
445 116, 117, 117, 117, 116, 117, 117, 116, 117, 116,
446 117, 117, 117, 117, 117, 21, 116, 117, 116, 117,
447 117, 117, 117, 72, 116, 117, 74, 116, 117, 75,
448 117, 116, 117, 117, 117, 116, 117, 117, 93, 116,
449 117, 116, 117, 117, 117, 117, 117, 21, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000450
vlm6611add2005-03-20 14:28:32 +0000451 58, 116, 117, 63, 117, 117, 64, 117, 116, 117,
452 80, 117, 117, 88, 116, 117, 117, 116, 117, 101,
453 117, 117, 117, 111, 117, 21, 116, 117, 117, 78,
454 116, 117, 117, 117, 116, 117, 117, 110, 117, 21,
455 116, 117, 62, 117, 117, 90, 117, 103, 116, 117,
456 107, 117, 21, 52, 116, 117, 82, 117, 19, 21
vlmfa67ddc2004-06-03 03:38:44 +0000457 } ;
458
vlm6611add2005-03-20 14:28:32 +0000459static yyconst short int yy_accept[672] =
vlmfa67ddc2004-06-03 03:38:44 +0000460 { 0,
461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlm9283dbe2004-08-18 04:59:12 +0000462 1, 1, 1, 1, 1, 2, 4, 7, 9, 12,
463 15, 18, 20, 23, 25, 28, 30, 33, 36, 39,
464 41, 45, 49, 53, 57, 61, 65, 69, 73, 77,
465 81, 85, 89, 93, 97, 101, 105, 109, 113, 117,
vlm2728a8d2005-01-23 09:51:44 +0000466 120, 123, 127, 130, 132, 135, 138, 142, 144, 147,
467 150, 153, 155, 158, 161, 163, 166, 169, 172, 175,
468 179, 182, 184, 189, 194, 197, 200, 202, 204, 207,
469 207, 208, 209, 210, 210, 211, 211, 212, 212, 212,
470 213, 214, 215, 216, 217, 217, 219, 221, 223, 225,
vlmfa67ddc2004-06-03 03:38:44 +0000471
vlm2728a8d2005-01-23 09:51:44 +0000472 227, 229, 230, 232, 234, 236, 238, 241, 243, 245,
473 247, 249, 251, 253, 255, 257, 259, 260, 261, 263,
474 265, 267, 269, 271, 273, 275, 277, 278, 280, 282,
475 285, 287, 288, 290, 292, 294, 296, 297, 299, 301,
476 303, 305, 307, 309, 311, 313, 315, 316, 318, 320,
477 321, 322, 324, 325, 326, 327, 328, 329, 330, 331,
478 331, 332, 334, 336, 337, 338, 339, 339, 340, 341,
479 341, 341, 342, 343, 344, 346, 349, 352, 354, 356,
480 358, 361, 363, 365, 367, 369, 371, 373, 375, 377,
481 379, 381, 384, 386, 388, 390, 392, 394, 396, 397,
vlmfa67ddc2004-06-03 03:38:44 +0000482
vlm2728a8d2005-01-23 09:51:44 +0000483 398, 400, 402, 404, 406, 408, 410, 412, 415, 418,
484 420, 421, 423, 425, 427, 428, 430, 433, 435, 437,
485 439, 440, 442, 444, 446, 449, 451, 453, 455, 457,
486 459, 461, 463, 464, 466, 468, 470, 471, 472, 473,
487 475, 476, 478, 481, 481, 482, 483, 485, 487, 489,
488 491, 493, 495, 497, 499, 501, 503, 505, 507, 509,
489 511, 513, 515, 517, 519, 521, 523, 525, 527, 530,
490 531, 532, 534, 536, 538, 540, 542, 544, 546, 548,
491 550, 553, 554, 556, 558, 560, 561, 563, 565, 567,
492 569, 570, 573, 575, 577, 580, 582, 584, 586, 589,
vlmfa67ddc2004-06-03 03:38:44 +0000493
vlm2728a8d2005-01-23 09:51:44 +0000494 592, 594, 595, 597, 599, 601, 603, 605, 606, 607,
495 608, 611, 613, 615, 617, 619, 622, 623, 625, 627,
496 629, 632, 634, 636, 638, 640, 642, 644, 646, 648,
497 650, 652, 654, 656, 658, 661, 662, 663, 664, 666,
498 668, 670, 672, 674, 676, 678, 680, 682, 684, 685,
499 687, 690, 692, 693, 695, 697, 699, 701, 702, 704,
500 706, 708, 710, 711, 713, 714, 717, 719, 721, 722,
501 724, 725, 726, 727, 729, 732, 734, 736, 737, 739,
502 741, 744, 746, 748, 750, 752, 754, 756, 758, 760,
503 762, 764, 767, 769, 771, 773, 775, 776, 777, 778,
vlmfa67ddc2004-06-03 03:38:44 +0000504
vlm2728a8d2005-01-23 09:51:44 +0000505 780, 782, 784, 786, 788, 790, 792, 794, 796, 798,
506 800, 801, 804, 806, 807, 809, 811, 813, 815, 816,
507 818, 820, 823, 826, 827, 829, 830, 833, 835, 836,
508 837, 838, 839, 840, 842, 844, 846, 847, 850, 852,
509 854, 856, 858, 861, 864, 866, 868, 871, 873, 875,
510 877, 880, 882, 884, 885, 886, 887, 889, 891, 894,
511 897, 899, 901, 903, 906, 908, 910, 912, 913, 915,
512 916, 919, 921, 924, 927, 928, 930, 932, 933, 935,
513 936, 938, 940, 941, 942, 943, 944, 946, 948, 950,
514 951, 953, 955, 957, 959, 961, 964, 966, 968, 971,
vlmfa67ddc2004-06-03 03:38:44 +0000515
vlm2728a8d2005-01-23 09:51:44 +0000516 973, 976, 977, 978, 979, 980, 982, 985, 988, 991,
517 993, 995, 996, 998, 999, 1002, 1003, 1005, 1006, 1008,
518 1011, 1012, 1014, 1015, 1017, 1018, 1019, 1020, 1021, 1023,
519 1025, 1028, 1030, 1033, 1036, 1038, 1040, 1042, 1044, 1046,
520 1048, 1049, 1050, 1051, 1053, 1055, 1057, 1059, 1060, 1062,
521 1063, 1064, 1066, 1067, 1069, 1071, 1073, 1074, 1077, 1078,
vlm6611add2005-03-20 14:28:32 +0000522 1079, 1080, 1081, 1082, 1084, 1087, 1089, 1092, 1094, 1096,
523 1099, 1101, 1102, 1103, 1104, 1107, 1109, 1111, 1112, 1114,
524 1115, 1116, 1118, 1119, 1121, 1123, 1124, 1126, 1127, 1128,
525 1129, 1130, 1133, 1136, 1139, 1141, 1143, 1144, 1145, 1146,
vlmfa67ddc2004-06-03 03:38:44 +0000526
vlm6611add2005-03-20 14:28:32 +0000527 1148, 1150, 1151, 1153, 1154, 1155, 1157, 1158, 1160, 1162,
528 1163, 1164, 1165, 1166, 1167, 1169, 1171, 1172, 1173, 1174,
529 1177, 1180, 1182, 1184, 1185, 1186, 1188, 1189, 1192, 1194,
530 1195, 1196, 1197, 1198, 1199, 1201, 1204, 1206, 1207, 1209,
531 1211, 1213, 1214, 1217, 1218, 1220, 1222, 1223, 1224, 1226,
532 1227, 1229, 1230, 1233, 1234, 1235, 1237, 1238, 1240, 1241,
533 1243, 1245, 1246, 1248, 1251, 1253, 1254, 1257, 1259, 1261,
534 1261
vlmfa67ddc2004-06-03 03:38:44 +0000535 } ;
536
537static yyconst int yy_ec[256] =
538 { 0,
539 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
540 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
541 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 2, 5, 6, 1, 1, 1, 7, 8, 9,
543 9, 10, 1, 9, 11, 12, 13, 14, 15, 16,
544 16, 17, 18, 19, 16, 20, 16, 21, 22, 23,
545 24, 1, 1, 9, 25, 26, 27, 28, 29, 30,
546 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
547 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
vlm2728a8d2005-01-23 09:51:44 +0000548 9, 1, 51, 52, 1, 1, 53, 54, 55, 56,
vlmfa67ddc2004-06-03 03:38:44 +0000549
vlm2728a8d2005-01-23 09:51:44 +0000550 57, 58, 59, 60, 61, 62, 58, 63, 64, 65,
551 66, 67, 58, 68, 69, 70, 71, 72, 58, 73,
552 58, 74, 75, 76, 77, 1, 1, 1, 1, 1,
vlmfa67ddc2004-06-03 03:38:44 +0000553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
554 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
560
561 1, 1, 1, 1, 1, 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
567 } ;
568
vlm2728a8d2005-01-23 09:51:44 +0000569static yyconst int yy_meta[78] =
vlmfa67ddc2004-06-03 03:38:44 +0000570 { 0,
571 1, 2, 3, 3, 1, 4, 5, 6, 1, 1,
572 7, 1, 1, 8, 8, 8, 8, 8, 8, 8,
573 9, 1, 1, 9, 8, 8, 8, 8, 8, 8,
574 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
575 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
vlm2728a8d2005-01-23 09:51:44 +0000576 1, 1, 10, 10, 10, 10, 10, 10, 10, 10,
577 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
578 10, 10, 10, 10, 11, 1, 11
vlmfa67ddc2004-06-03 03:38:44 +0000579 } ;
580
vlm6611add2005-03-20 14:28:32 +0000581static yyconst short int yy_base[689] =
vlmfa67ddc2004-06-03 03:38:44 +0000582 { 0,
vlm2728a8d2005-01-23 09:51:44 +0000583 0, 0, 75, 77, 79, 80, 81, 88, 82, 92,
584 169, 246, 108, 119, 797, 777, 94, 97, 775, 774,
vlm6611add2005-03-20 14:28:32 +0000585 316, 116, 4266, 117, 767, 99, 4266, 124, 751, 4266,
vlm2728a8d2005-01-23 09:51:44 +0000586 380, 173, 191, 120, 236, 254, 269, 188, 275, 430,
587 431, 447, 453, 468, 474, 490, 498, 514, 515, 762,
vlm6611add2005-03-20 14:28:32 +0000588 0, 760, 0, 4266, 4266, 756, 4266, 4266, 753, 754,
589 0, 0, 757, 0, 0, 740, 4266, 4266, 4266, 0,
590 4266, 4266, 575, 651, 0, 148, 151, 256, 4266, 746,
591 159, 0, 745, 743, 0, 95, 0, 325, 739, 4266,
592 223, 733, 4266, 550, 715, 564, 565, 580, 593, 596,
vlmfa67ddc2004-06-03 03:38:44 +0000593
vlm2728a8d2005-01-23 09:51:44 +0000594 609, 0, 640, 643, 656, 669, 680, 696, 704, 717,
595 720, 733, 748, 754, 751, 769, 673, 684, 784, 787,
596 795, 810, 821, 832, 838, 849, 669, 862, 865, 878,
597 886, 669, 889, 902, 913, 926, 667, 942, 948, 959,
598 965, 976, 991, 992, 1007, 1008, 663, 1023, 1024, 663,
vlm6611add2005-03-20 14:28:32 +0000599 58, 1039, 0, 0, 4266, 4266, 0, 4266, 0, 699,
600 0, 681, 159, 0, 201, 4266, 706, 0, 0, 163,
601 683, 1071, 4266, 4266, 1066, 1067, 1082, 1083, 1098, 1106,
vlm2728a8d2005-01-23 09:51:44 +0000602 1109, 1122, 1130, 1138, 1146, 1159, 1167, 1170, 1191, 1192,
603 1207, 1213, 1224, 1230, 1241, 1247, 1258, 1269, 656, 645,
vlmfa67ddc2004-06-03 03:38:44 +0000604
vlm2728a8d2005-01-23 09:51:44 +0000605 1282, 1290, 1293, 1308, 1311, 1314, 1338, 1332, 1335, 1353,
606 654, 1356, 1371, 1377, 653, 1388, 1399, 1405, 1416, 1427,
607 639, 1438, 1444, 1455, 1461, 1476, 1477, 1492, 1503, 1509,
608 1524, 1530, 643, 1541, 1552, 1563, 627, 641, 636, 1574,
vlm6611add2005-03-20 14:28:32 +0000609 4266, 162, 655, 640, 4266, 4266, 1585, 1591, 1602, 1608,
610 1619, 1625, 1641, 1642, 1657, 1665, 1673, 1689, 1686, 1697,
611 1710, 1713, 1728, 1734, 1745, 1751, 1762, 1777, 1783, 622,
612 626, 1794, 1800, 1815, 1816, 1831, 1837, 1852, 1855, 1863,
613 1876, 616, 1884, 1887, 1900, 622, 1908, 1924, 1923, 1940,
614 600, 1941, 1956, 1969, 1977, 1980, 1998, 1995, 2001, 2016,
vlmfa67ddc2004-06-03 03:38:44 +0000615
vlm6611add2005-03-20 14:28:32 +0000616 2019, 598, 2022, 2037, 2040, 2048, 2061, 610, 599, 601,
617 2072, 187, 2085, 2088, 2106, 2109, 582, 2112, 2129, 2132,
618 2140, 2153, 2161, 2169, 2182, 2190, 2203, 2211, 2219, 2227,
619 2242, 2248, 2259, 2265, 2280, 595, 585, 576, 2281, 2301,
620 2298, 2319, 2318, 2334, 2340, 2351, 2362, 2373, 582, 2379,
621 2390, 2396, 570, 2407, 2418, 2424, 2435, 586, 2448, 2451,
622 2459, 2472, 569, 2483, 573, 2489, 2504, 2505, 564, 2520,
623 556, 553, 558, 227, 2526, 2542, 2548, 556, 2559, 2565,
624 2576, 2582, 2598, 2599, 2614, 2625, 2631, 2648, 2654, 2665,
625 2671, 2682, 2688, 2699, 2705, 2721, 552, 559, 552, 2722,
vlmfa67ddc2004-06-03 03:38:44 +0000626
vlm6611add2005-03-20 14:28:32 +0000627 2737, 2743, 2754, 2760, 2775, 2781, 2792, 2807, 2813, 2824,
628 557, 2835, 2841, 583, 2852, 2858, 2869, 2882, 553, 2890,
629 2905, 2908, 2911, 534, 2926, 521, 2929, 2932, 536, 524,
630 520, 522, 521, 539, 2947, 2960, 509, 2963, 2978, 2984,
631 2995, 3001, 3012, 3018, 3029, 3040, 3046, 3057, 3063, 3074,
632 3085, 3091, 3102, 105, 530, 507, 3108, 3119, 3130, 3136,
633 3147, 3153, 3168, 3169, 3184, 3190, 3201, 528, 3207, 505,
634 3218, 3229, 3235, 3246, 498, 3252, 3267, 493, 3273, 514,
635 3289, 0, 495, 496, 473, 502, 251, 3290, 3305, 485,
636 3311, 3322, 3333, 3339, 3350, 3356, 3372, 3371, 3387, 3388,
vlmfa67ddc2004-06-03 03:38:44 +0000637
vlm6611add2005-03-20 14:28:32 +0000638 3403, 467, 459, 461, 470, 3409, 3420, 3426, 3437, 3443,
639 3454, 459, 3465, 455, 3471, 453, 3482, 463, 3493, 3499,
640 458, 3510, 441, 3516, 440, 436, 453, 420, 196, 3527,
641 3533, 0, 3544, 3550, 3565, 3566, 3581, 3582, 3597, 3598,
642 420, 429, 416, 0, 3613, 3621, 3636, 421, 3637, 412,
643 417, 3652, 422, 3660, 0, 3668, 396, 3681, 403, 418,
644 390, 391, 431, 3684, 3692, 3705, 3708, 3716, 3729, 3737,
645 3745, 371, 375, 343, 3753, 3761, 3769, 338, 3777, 341,
646 333, 3785, 323, 3793, 3801, 331, 0, 297, 268, 274,
647 295, 3809, 3817, 3825, 3833, 3841, 267, 287, 265, 3854,
vlmfa67ddc2004-06-03 03:38:44 +0000648
vlm6611add2005-03-20 14:28:32 +0000649 3862, 266, 3870, 254, 256, 3878, 248, 3891, 3894, 245,
650 238, 243, 237, 255, 3902, 3915, 232, 227, 228, 3918,
651 3931, 0, 3939, 227, 218, 3942, 222, 3959, 3960, 218,
652 210, 201, 204, 217, 3975, 3976, 0, 171, 0, 3992,
653 0, 162, 3993, 154, 4010, 0, 151, 149, 0, 146,
654 4018, 127, 4026, 102, 105, 4034, 86, 0, 90, 4042,
655 0, 40, 0, 4055, 0, 68, 4058, 0, 0, 4266,
656 4103, 4114, 4125, 4136, 4147, 4158, 4169, 4179, 4181, 4191,
657 4202, 4213, 4223, 4233, 4243, 4247, 4251, 4255
vlmfa67ddc2004-06-03 03:38:44 +0000658 } ;
659
vlm6611add2005-03-20 14:28:32 +0000660static yyconst short int yy_def[689] =
vlmfa67ddc2004-06-03 03:38:44 +0000661 { 0,
vlm6611add2005-03-20 14:28:32 +0000662 670, 1, 671, 671, 672, 672, 673, 673, 674, 674,
663 675, 675, 676, 676, 670, 670, 670, 670, 670, 677,
664 670, 678, 670, 670, 670, 670, 670, 670, 670, 670,
665 670, 31, 31, 31, 31, 31, 31, 31, 31, 31,
666 31, 31, 31, 31, 31, 31, 31, 31, 31, 670,
667 679, 670, 680, 670, 670, 670, 670, 670, 670, 670,
668 681, 681, 670, 682, 682, 670, 670, 670, 670, 683,
669 670, 670, 684, 684, 685, 670, 670, 21, 670, 670,
670 670, 677, 677, 670, 686, 670, 687, 678, 678, 670,
671 670, 670, 670, 670, 670, 31, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000672
vlm6611add2005-03-20 14:28:32 +0000673 31, 688, 31, 31, 31, 31, 31, 31, 31, 31,
674 31, 31, 31, 31, 31, 31, 688, 688, 31, 31,
675 31, 31, 31, 31, 31, 31, 688, 31, 31, 31,
676 31, 688, 31, 31, 31, 31, 688, 31, 31, 31,
677 31, 31, 31, 31, 31, 31, 688, 31, 31, 688,
678 688, 31, 679, 680, 670, 670, 681, 670, 682, 670,
679 683, 74, 74, 685, 670, 670, 670, 686, 687, 670,
680 670, 670, 670, 670, 31, 31, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +0000681 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000682 31, 31, 31, 31, 31, 31, 31, 31, 688, 688,
vlmfa67ddc2004-06-03 03:38:44 +0000683
vlm9283dbe2004-08-18 04:59:12 +0000684 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000685 688, 31, 31, 31, 688, 31, 31, 31, 31, 31,
686 688, 31, 31, 31, 31, 31, 31, 31, 31, 31,
687 31, 31, 688, 31, 31, 31, 688, 688, 688, 31,
688 670, 74, 74, 670, 670, 670, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +0000689 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000690 31, 31, 31, 31, 31, 31, 31, 31, 31, 688,
691 688, 31, 31, 31, 31, 31, 31, 31, 31, 31,
692 31, 688, 31, 31, 31, 688, 31, 31, 31, 31,
693 688, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000694
vlm6611add2005-03-20 14:28:32 +0000695 31, 688, 31, 31, 31, 31, 31, 688, 688, 688,
696 31, 74, 31, 31, 31, 31, 688, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000697 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000698 31, 31, 31, 31, 31, 688, 688, 688, 31, 31,
699 31, 31, 31, 31, 31, 31, 31, 31, 688, 31,
700 31, 31, 688, 31, 31, 31, 31, 688, 31, 31,
701 31, 31, 688, 31, 688, 31, 31, 31, 688, 31,
702 688, 688, 688, 74, 31, 31, 31, 688, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000703 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000704 31, 31, 31, 31, 31, 31, 688, 688, 688, 31,
vlm9283dbe2004-08-18 04:59:12 +0000705
vlm2728a8d2005-01-23 09:51:44 +0000706 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000707 688, 31, 31, 688, 31, 31, 31, 31, 688, 31,
708 31, 31, 31, 688, 31, 688, 31, 31, 688, 688,
709 688, 688, 688, 74, 31, 31, 688, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000710 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm6611add2005-03-20 14:28:32 +0000711 31, 31, 31, 688, 688, 688, 31, 31, 31, 31,
712 31, 31, 31, 31, 31, 31, 31, 688, 31, 688,
713 31, 31, 31, 31, 688, 31, 31, 688, 31, 688,
714 31, 688, 688, 688, 688, 688, 74, 31, 31, 688,
vlm2728a8d2005-01-23 09:51:44 +0000715 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000716
vlm6611add2005-03-20 14:28:32 +0000717 31, 688, 688, 688, 688, 31, 31, 31, 31, 31,
718 31, 688, 31, 688, 31, 688, 31, 688, 31, 31,
719 688, 31, 688, 31, 688, 688, 688, 688, 74, 31,
720 31, 688, 31, 31, 31, 31, 31, 31, 31, 31,
721 688, 688, 688, 688, 31, 31, 31, 688, 31, 688,
722 688, 31, 688, 31, 688, 31, 688, 31, 688, 688,
723 688, 688, 683, 31, 31, 31, 31, 31, 31, 31,
724 31, 688, 688, 688, 31, 31, 31, 688, 31, 688,
725 688, 31, 688, 31, 31, 688, 688, 688, 688, 688,
726 683, 31, 31, 31, 31, 31, 688, 688, 688, 31,
vlm2728a8d2005-01-23 09:51:44 +0000727
vlm6611add2005-03-20 14:28:32 +0000728 31, 688, 31, 688, 688, 31, 688, 31, 31, 688,
729 688, 688, 688, 683, 31, 31, 688, 688, 688, 31,
730 31, 688, 31, 688, 688, 31, 688, 31, 31, 688,
731 688, 688, 688, 683, 31, 31, 688, 688, 688, 31,
732 688, 688, 31, 688, 31, 688, 688, 688, 688, 683,
733 31, 688, 31, 688, 688, 31, 688, 688, 683, 31,
734 688, 688, 688, 31, 688, 683, 31, 688, 683, 0,
735 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
736 670, 670, 670, 670, 670, 670, 670, 670
vlmfa67ddc2004-06-03 03:38:44 +0000737 } ;
738
vlm6611add2005-03-20 14:28:32 +0000739static yyconst short int yy_nxt[4344] =
vlmfa67ddc2004-06-03 03:38:44 +0000740 { 0,
vlm9283dbe2004-08-18 04:59:12 +0000741 16, 17, 18, 17, 19, 20, 21, 22, 23, 16,
742 24, 25, 26, 27, 28, 28, 28, 28, 28, 28,
743 29, 19, 30, 30, 31, 32, 33, 34, 35, 36,
744 37, 38, 39, 38, 38, 38, 40, 41, 42, 43,
745 38, 44, 45, 46, 47, 48, 49, 38, 38, 38,
vlm2728a8d2005-01-23 09:51:44 +0000746 19, 50, 51, 51, 51, 51, 51, 51, 51, 51,
747 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
748 51, 51, 51, 51, 23, 52, 23, 54, 55, 54,
749 55, 58, 58, 62, 65, 56, 63, 56, 59, 59,
750 62, 60, 60, 63, 65, 81, 81, 81, 81, 81,
vlmfa67ddc2004-06-03 03:38:44 +0000751
vlm6611add2005-03-20 14:28:32 +0000752 81, 80, 66, 669, 80, 67, 80, 668, 93, 76,
vlm2728a8d2005-01-23 09:51:44 +0000753 77, 76, 66, 238, 78, 67, 84, 88, 88, 88,
vlm6611add2005-03-20 14:28:32 +0000754 76, 77, 76, 80, 80, 78, 239, 90, 666, 88,
vlm2728a8d2005-01-23 09:51:44 +0000755 88, 91, 91, 91, 91, 91, 91, 94, 94, 94,
vlm6611add2005-03-20 14:28:32 +0000756 94, 94, 94, 94, 665, 96, 86, 502, 111, 165,
vlm2728a8d2005-01-23 09:51:44 +0000757 165, 165, 165, 165, 165, 96, 68, 96, 69, 96,
vlm6611add2005-03-20 14:28:32 +0000758 81, 81, 81, 663, 96, 503, 68, 662, 69, 70,
vlm2728a8d2005-01-23 09:51:44 +0000759 71, 72, 71, 70, 70, 70, 70, 70, 70, 70,
vlm6611add2005-03-20 14:28:32 +0000760 70, 70, 30, 661, 79, 242, 243, 659, 245, 70,
vlm2728a8d2005-01-23 09:51:44 +0000761 70, 70, 70, 30, 246, 79, 162, 74, 96, 162,
vlmfa67ddc2004-06-03 03:38:44 +0000762
vlm6611add2005-03-20 14:28:32 +0000763 312, 103, 165, 165, 165, 104, 563, 658, 96, 105,
764 96, 106, 96, 96, 374, 657, 96, 96, 655, 70,
vlm2728a8d2005-01-23 09:51:44 +0000765 70, 107, 108, 96, 162, 96, 109, 96, 96, 110,
vlm6611add2005-03-20 14:28:32 +0000766 96, 654, 96, 162, 652, 96, 172, 172, 172, 172,
vlm2728a8d2005-01-23 09:51:44 +0000767 172, 172, 172, 71, 70, 71, 70, 71, 72, 71,
768 70, 70, 70, 70, 70, 70, 70, 70, 70, 434,
vlm6611add2005-03-20 14:28:32 +0000769 650, 96, 649, 670, 162, 648, 70, 70, 70, 70,
770 647, 96, 112, 113, 74, 96, 646, 670, 115, 96,
771 96, 529, 644, 114, 642, 641, 639, 638, 162, 96,
772 637, 96, 634, 96, 96, 116, 70, 70, 96, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000773
vlm6611add2005-03-20 14:28:32 +0000774 96, 633, 120, 632, 96, 631, 96, 670, 96, 630,
775 96, 121, 122, 96, 96, 627, 625, 123, 624, 96,
776 71, 70, 71, 80, 622, 117, 88, 88, 88, 619,
777 618, 617, 170, 614, 613, 612, 118, 84, 88, 88,
vlm2728a8d2005-01-23 09:51:44 +0000778 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
779 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
vlm6611add2005-03-20 14:28:32 +0000780 85, 85, 85, 85, 85, 85, 611, 86, 87, 87,
vlm2728a8d2005-01-23 09:51:44 +0000781 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
782 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
vlm6611add2005-03-20 14:28:32 +0000783 96, 610, 607, 96, 96, 96, 96, 96, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000784
vlm6611add2005-03-20 14:28:32 +0000785 605, 604, 602, 599, 96, 97, 96, 96, 96, 96,
vlm2728a8d2005-01-23 09:51:44 +0000786 96, 96, 96, 96, 96, 98, 96, 99, 96, 100,
787 96, 96, 96, 96, 101, 96, 96, 96, 96, 96,
vlm6611add2005-03-20 14:28:32 +0000788 598, 597, 102, 102, 102, 102, 102, 102, 102, 102,
vlm2728a8d2005-01-23 09:51:44 +0000789 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
790 102, 102, 102, 102, 124, 96, 96, 591, 590, 589,
791 588, 587, 125, 586, 583, 96, 96, 96, 96, 96,
792 96, 581, 128, 129, 96, 126, 130, 133, 96, 580,
793 134, 578, 96, 574, 96, 573, 131, 572, 135, 562,
794 96, 96, 96, 96, 136, 561, 138, 96, 560, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000795
vlm2728a8d2005-01-23 09:51:44 +0000796 132, 127, 139, 96, 559, 96, 140, 96, 143, 96,
797 557, 96, 96, 96, 144, 96, 555, 141, 96, 553,
798 137, 551, 142, 96, 550, 96, 548, 96, 544, 96,
799 543, 145, 542, 96, 96, 148, 541, 96, 146, 96,
800 96, 149, 96, 532, 528, 527, 147, 152, 526, 96,
801 96, 96, 96, 96, 96, 525, 523, 521, 96, 96,
802 518, 516, 150, 94, 94, 94, 94, 94, 94, 94,
803 514, 505, 504, 490, 151, 161, 487, 486, 485, 161,
804 161, 161, 161, 161, 161, 161, 161, 161, 484, 96,
805 96, 483, 482, 480, 478, 161, 161, 161, 161, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000806
vlm2728a8d2005-01-23 09:51:44 +0000807 96, 96, 96, 96, 96, 96, 475, 175, 96, 96,
808 470, 468, 456, 455, 454, 176, 437, 96, 96, 96,
809 433, 96, 432, 431, 96, 161, 161, 429, 96, 426,
810 96, 96, 96, 96, 96, 178, 424, 96, 419, 414,
811 96, 177, 411, 399, 96, 398, 96, 397, 96, 378,
812 161, 161, 179, 96, 373, 161, 161, 161, 161, 161,
813 161, 161, 161, 161, 372, 96, 371, 365, 96, 358,
814 180, 161, 161, 161, 161, 96, 353, 96, 96, 96,
815 96, 96, 96, 349, 96, 337, 181, 96, 163, 336,
816 166, 96, 162, 96, 96, 182, 310, 309, 308, 302,
vlmfa67ddc2004-06-03 03:38:44 +0000817
vlm2728a8d2005-01-23 09:51:44 +0000818 96, 161, 161, 291, 96, 96, 96, 183, 96, 286,
819 282, 271, 270, 96, 246, 96, 244, 96, 162, 96,
820 184, 96, 241, 237, 96, 233, 161, 221, 186, 96,
821 215, 96, 211, 96, 185, 96, 200, 199, 174, 96,
822 96, 96, 96, 96, 173, 96, 171, 167, 96, 189,
823 166, 166, 96, 187, 188, 96, 96, 96, 190, 96,
824 160, 96, 158, 93, 96, 156, 155, 80, 96, 80,
825 96, 95, 96, 96, 191, 192, 96, 96, 92, 96,
826 194, 83, 80, 96, 80, 96, 197, 96, 96, 96,
vlm6611add2005-03-20 14:28:32 +0000827 96, 96, 193, 195, 96, 96, 670, 196, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000828
vlm6611add2005-03-20 14:28:32 +0000829 670, 201, 670, 670, 96, 670, 96, 198, 96, 96,
830 670, 670, 96, 96, 670, 202, 670, 670, 670, 96,
831 96, 96, 96, 96, 96, 670, 96, 670, 96, 670,
832 96, 96, 96, 670, 203, 96, 204, 670, 670, 96,
833 670, 670, 670, 670, 670, 96, 96, 96, 670, 96,
834 670, 670, 205, 206, 96, 670, 96, 96, 96, 207,
835 96, 670, 670, 96, 670, 96, 670, 96, 670, 96,
836 670, 96, 670, 96, 96, 209, 96, 96, 670, 208,
837 670, 670, 96, 670, 210, 670, 96, 96, 96, 670,
838 96, 670, 670, 96, 670, 212, 670, 96, 670, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000839
vlm6611add2005-03-20 14:28:32 +0000840 96, 96, 96, 96, 96, 670, 96, 670, 213, 96,
841 670, 96, 670, 96, 96, 96, 670, 96, 670, 670,
842 670, 96, 96, 96, 96, 96, 96, 96, 96, 214,
843 96, 670, 216, 96, 670, 670, 670, 96, 96, 96,
844 670, 96, 670, 670, 670, 670, 96, 217, 96, 670,
845 96, 96, 96, 670, 219, 670, 670, 218, 220, 670,
846 670, 96, 670, 96, 670, 96, 222, 96, 670, 670,
847 96, 670, 670, 96, 670, 670, 670, 223, 670, 96,
848 670, 96, 670, 96, 96, 96, 96, 96, 224, 670,
849 96, 225, 96, 670, 96, 670, 96, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000850
vlm6611add2005-03-20 14:28:32 +0000851 96, 96, 96, 96, 96, 229, 227, 670, 226, 96,
852 670, 96, 670, 228, 670, 96, 96, 96, 670, 670,
853 96, 670, 230, 670, 670, 670, 96, 96, 96, 96,
854 96, 96, 96, 96, 670, 96, 96, 670, 670, 670,
855 670, 670, 96, 96, 96, 96, 96, 232, 96, 96,
856 235, 231, 96, 236, 670, 234, 670, 670, 96, 96,
857 96, 96, 96, 96, 96, 670, 670, 96, 96, 670,
858 670, 670, 670, 670, 96, 670, 96, 670, 96, 670,
859 670, 670, 240, 96, 172, 172, 172, 172, 172, 172,
860 172, 96, 96, 670, 247, 670, 670, 670, 670, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000861
vlm6611add2005-03-20 14:28:32 +0000862 670, 96, 96, 96, 96, 96, 96, 96, 96, 670,
863 96, 96, 670, 670, 670, 670, 670, 96, 248, 96,
864 96, 96, 96, 96, 670, 670, 96, 96, 670, 670,
865 670, 96, 670, 96, 96, 96, 249, 96, 250, 670,
866 670, 96, 96, 96, 96, 96, 96, 96, 96, 670,
867 96, 670, 670, 96, 670, 96, 670, 96, 670, 96,
868 670, 96, 670, 96, 251, 252, 96, 96, 670, 96,
869 670, 96, 670, 96, 96, 96, 670, 96, 254, 253,
870 670, 96, 96, 96, 96, 96, 670, 670, 670, 670,
871 96, 670, 96, 670, 96, 96, 96, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000872
vlm6611add2005-03-20 14:28:32 +0000873 670, 255, 96, 96, 96, 96, 256, 96, 670, 96,
874 670, 96, 257, 258, 96, 259, 96, 96, 670, 670,
875 261, 670, 670, 260, 670, 670, 96, 96, 96, 96,
876 96, 96, 96, 670, 670, 96, 96, 670, 96, 670,
877 670, 670, 96, 670, 96, 262, 96, 670, 96, 96,
878 96, 96, 96, 670, 670, 96, 670, 96, 264, 96,
879 263, 96, 670, 96, 670, 96, 96, 96, 96, 96,
880 670, 670, 96, 670, 96, 267, 265, 670, 96, 266,
881 96, 670, 96, 96, 96, 96, 96, 670, 670, 670,
882 670, 96, 670, 96, 96, 96, 670, 96, 670, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000883
vlm6611add2005-03-20 14:28:32 +0000884 268, 670, 96, 670, 96, 269, 96, 96, 96, 670,
885 670, 670, 670, 96, 670, 96, 670, 96, 96, 96,
886 670, 96, 670, 670, 272, 96, 96, 273, 274, 96,
887 96, 275, 96, 96, 96, 670, 96, 96, 670, 96,
888 670, 670, 278, 276, 670, 96, 96, 96, 96, 96,
889 96, 96, 96, 96, 277, 96, 279, 96, 96, 670,
890 96, 670, 670, 96, 670, 670, 670, 96, 670, 96,
vlm2728a8d2005-01-23 09:51:44 +0000891 96, 96, 96, 96, 96, 96, 96, 96, 96, 280,
vlm6611add2005-03-20 14:28:32 +0000892 670, 96, 96, 670, 283, 670, 670, 670, 281, 670,
893 96, 96, 96, 96, 670, 96, 96, 96, 670, 284,
vlmfa67ddc2004-06-03 03:38:44 +0000894
vlm6611add2005-03-20 14:28:32 +0000895 96, 670, 96, 670, 670, 670, 96, 670, 96, 285,
896 96, 670, 96, 96, 96, 96, 96, 670, 670, 670,
897 670, 96, 670, 96, 96, 96, 670, 96, 670, 670,
898 96, 287, 96, 670, 96, 670, 96, 670, 96, 670,
899 96, 96, 96, 96, 96, 670, 670, 288, 670, 96,
900 670, 96, 96, 96, 670, 96, 670, 670, 289, 670,
901 96, 670, 96, 96, 96, 670, 96, 670, 293, 96,
902 670, 96, 290, 292, 670, 96, 670, 96, 670, 96,
903 96, 96, 96, 96, 670, 670, 96, 670, 96, 670,
904 96, 670, 96, 670, 96, 670, 96, 670, 96, 294,
vlmfa67ddc2004-06-03 03:38:44 +0000905
vlm6611add2005-03-20 14:28:32 +0000906 96, 96, 96, 670, 295, 96, 670, 670, 670, 296,
907 670, 96, 96, 96, 96, 96, 96, 96, 670, 670,
908 96, 96, 670, 670, 670, 670, 670, 96, 96, 96,
909 670, 96, 670, 670, 96, 297, 96, 670, 96, 670,
910 96, 670, 96, 670, 96, 298, 96, 96, 96, 96,
911 670, 299, 300, 96, 670, 96, 670, 670, 301, 96,
912 670, 96, 670, 96, 670, 96, 96, 96, 96, 96,
913 670, 670, 670, 670, 96, 670, 96, 96, 96, 303,
914 96, 304, 307, 670, 670, 96, 305, 96, 96, 96,
915 670, 96, 670, 670, 670, 306, 96, 670, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000916
vlm6611add2005-03-20 14:28:32 +0000917 96, 670, 96, 670, 670, 311, 670, 96, 670, 96,
918 96, 96, 670, 96, 670, 670, 96, 670, 96, 670,
919 96, 670, 313, 314, 96, 670, 96, 96, 96, 96,
920 96, 670, 670, 96, 670, 96, 670, 96, 315, 96,
921 670, 96, 670, 96, 96, 316, 96, 96, 670, 670,
922 96, 670, 96, 318, 96, 670, 96, 670, 96, 670,
923 96, 670, 96, 96, 96, 319, 96, 96, 320, 96,
924 670, 670, 670, 670, 670, 670, 96, 96, 96, 96,
925 96, 96, 96, 670, 670, 96, 96, 670, 317, 670,
926 96, 670, 96, 670, 96, 670, 96, 670, 96, 321,
vlmfa67ddc2004-06-03 03:38:44 +0000927
vlm6611add2005-03-20 14:28:32 +0000928 96, 96, 96, 322, 96, 670, 670, 670, 96, 96,
929 96, 96, 96, 324, 96, 670, 323, 96, 670, 670,
930 670, 96, 96, 96, 96, 96, 96, 670, 96, 670,
931 325, 670, 96, 96, 326, 96, 96, 327, 96, 670,
932 328, 96, 670, 670, 670, 96, 670, 96, 96, 96,
933 96, 670, 96, 96, 96, 670, 329, 96, 670, 96,
934 670, 670, 670, 96, 670, 96, 670, 96, 670, 96,
935 96, 96, 96, 330, 670, 670, 96, 331, 96, 670,
936 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
937 96, 670, 332, 670, 670, 96, 670, 96, 670, 333,
vlmfa67ddc2004-06-03 03:38:44 +0000938
vlm6611add2005-03-20 14:28:32 +0000939 670, 96, 96, 334, 670, 335, 96, 670, 96, 670,
940 670, 670, 96, 670, 96, 670, 96, 670, 96, 96,
941 96, 96, 96, 670, 670, 96, 670, 96, 670, 96,
942 670, 96, 670, 96, 670, 96, 670, 96, 96, 96,
943 96, 96, 670, 339, 96, 670, 670, 340, 670, 670,
944 96, 96, 96, 96, 96, 96, 96, 341, 670, 96,
945 96, 343, 96, 338, 670, 670, 96, 670, 96, 670,
946 96, 347, 96, 670, 96, 342, 96, 96, 344, 670,
947 96, 96, 345, 670, 670, 670, 670, 96, 96, 96,
948 96, 96, 96, 346, 96, 670, 96, 670, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +0000949
vlm6611add2005-03-20 14:28:32 +0000950 96, 96, 96, 670, 670, 348, 670, 96, 670, 96,
951 350, 96, 96, 96, 670, 96, 670, 670, 670, 96,
952 96, 96, 96, 96, 96, 96, 96, 670, 96, 670,
953 351, 96, 670, 96, 355, 96, 354, 96, 352, 96,
954 670, 670, 670, 96, 96, 96, 670, 96, 96, 96,
955 670, 356, 96, 670, 670, 670, 670, 670, 96, 96,
956 96, 96, 96, 96, 357, 96, 96, 96, 96, 670,
957 670, 670, 670, 670, 670, 96, 96, 96, 96, 96,
958 96, 96, 670, 670, 96, 96, 670, 670, 670, 670,
959 670, 96, 670, 96, 96, 96, 670, 360, 670, 359,
vlmfa67ddc2004-06-03 03:38:44 +0000960
vlm6611add2005-03-20 14:28:32 +0000961 96, 670, 96, 670, 96, 96, 96, 670, 96, 670,
962 670, 670, 96, 96, 96, 96, 96, 361, 670, 96,
963 96, 96, 362, 96, 96, 670, 96, 670, 670, 364,
964 96, 670, 96, 96, 96, 96, 96, 96, 96, 96,
965 96, 96, 96, 670, 96, 96, 670, 96, 670, 670,
966 670, 96, 670, 96, 96, 96, 96, 96, 96, 366,
967 96, 96, 96, 96, 363, 96, 96, 670, 368, 670,
968 670, 670, 96, 96, 96, 96, 96, 96, 670, 96,
969 670, 367, 670, 96, 96, 96, 96, 96, 670, 670,
970 670, 670, 96, 670, 670, 670, 96, 96, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000971
vlm6611add2005-03-20 14:28:32 +0000972 96, 670, 670, 370, 670, 96, 670, 96, 369, 96,
973 96, 96, 670, 96, 376, 670, 96, 670, 670, 670,
974 96, 670, 96, 96, 96, 96, 670, 96, 375, 96,
975 377, 96, 96, 670, 96, 670, 379, 96, 670, 670,
976 670, 96, 670, 96, 96, 96, 96, 96, 96, 96,
977 96, 96, 670, 96, 96, 380, 96, 96, 670, 670,
978 381, 670, 670, 670, 96, 96, 96, 96, 96, 96,
979 670, 96, 670, 96, 670, 96, 96, 96, 96, 96,
980 670, 670, 670, 670, 96, 670, 96, 670, 96, 670,
981 382, 670, 96, 670, 96, 670, 96, 96, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000982
vlm6611add2005-03-20 14:28:32 +0000983 96, 384, 383, 670, 96, 96, 96, 96, 96, 670,
984 670, 670, 670, 96, 670, 96, 670, 385, 386, 96,
985 670, 96, 387, 670, 670, 96, 96, 96, 96, 96,
986 388, 670, 670, 670, 96, 670, 96, 670, 96, 389,
987 96, 670, 96, 390, 96, 670, 96, 96, 96, 670,
988 96, 670, 96, 670, 96, 96, 96, 670, 96, 670,
989 391, 670, 96, 96, 96, 670, 96, 96, 393, 670,
990 392, 96, 670, 96, 670, 670, 670, 96, 670, 96,
991 670, 96, 670, 96, 96, 96, 96, 96, 670, 670,
992 96, 394, 96, 670, 96, 670, 96, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +0000993
vlm6611add2005-03-20 14:28:32 +0000994 96, 395, 396, 96, 96, 96, 96, 670, 670, 96,
995 670, 670, 670, 400, 670, 96, 96, 96, 96, 96,
996 96, 670, 670, 96, 96, 96, 96, 401, 670, 402,
997 670, 670, 670, 96, 670, 96, 96, 96, 96, 670,
998 96, 403, 96, 96, 96, 96, 404, 670, 670, 670,
999 670, 670, 670, 96, 96, 405, 96, 96, 96, 96,
1000 670, 670, 96, 96, 670, 96, 670, 670, 407, 96,
1001 670, 96, 670, 96, 670, 96, 96, 96, 406, 96,
1002 409, 670, 670, 410, 96, 670, 96, 96, 96, 670,
1003 96, 670, 670, 408, 670, 96, 670, 96, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001004
vlm6611add2005-03-20 14:28:32 +00001005 670, 96, 670, 670, 96, 670, 96, 670, 96, 670,
1006 96, 670, 96, 670, 96, 96, 96, 96, 96, 670,
1007 670, 96, 412, 96, 670, 96, 670, 96, 670, 96,
1008 670, 96, 96, 413, 96, 96, 670, 670, 670, 670,
1009 96, 670, 96, 96, 96, 670, 96, 670, 415, 96,
1010 416, 96, 670, 96, 670, 96, 670, 96, 670, 96,
1011 96, 417, 96, 96, 670, 670, 670, 670, 96, 670,
1012 96, 670, 96, 96, 96, 670, 96, 670, 418, 96,
1013 420, 670, 670, 96, 96, 96, 96, 96, 421, 422,
1014 96, 670, 96, 670, 96, 96, 96, 96, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001015
vlm6611add2005-03-20 14:28:32 +00001016 670, 670, 670, 96, 670, 670, 670, 96, 96, 96,
1017 670, 96, 670, 670, 96, 425, 96, 670, 96, 423,
1018 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
1019 96, 670, 427, 96, 670, 670, 670, 670, 670, 96,
1020 96, 96, 96, 96, 96, 96, 428, 670, 96, 96,
1021 670, 96, 670, 670, 670, 96, 670, 96, 670, 96,
1022 670, 96, 670, 96, 96, 96, 435, 96, 670, 670,
1023 96, 670, 670, 96, 670, 670, 670, 96, 670, 96,
1024 670, 96, 670, 96, 96, 96, 96, 96, 670, 430,
1025 96, 436, 96, 670, 96, 670, 438, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001026
vlm6611add2005-03-20 14:28:32 +00001027 96, 96, 96, 96, 96, 670, 670, 96, 439, 96,
1028 440, 96, 670, 96, 670, 96, 670, 96, 670, 96,
1029 96, 96, 441, 96, 96, 670, 96, 670, 670, 670,
1030 670, 670, 670, 96, 96, 96, 442, 96, 96, 96,
1031 670, 670, 96, 96, 670, 670, 670, 670, 670, 96,
1032 96, 96, 444, 96, 670, 670, 96, 443, 96, 670,
1033 96, 670, 96, 670, 96, 670, 96, 670, 96, 96,
1034 96, 670, 670, 96, 445, 96, 446, 670, 670, 96,
1035 670, 447, 670, 96, 670, 96, 670, 96, 670, 96,
1036 96, 96, 96, 96, 670, 449, 96, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001037
vlm6611add2005-03-20 14:28:32 +00001038 96, 670, 448, 670, 96, 670, 96, 96, 96, 96,
1039 96, 670, 670, 96, 670, 96, 670, 96, 670, 96,
1040 450, 96, 670, 96, 96, 96, 96, 96, 670, 670,
1041 96, 670, 96, 670, 96, 670, 96, 452, 96, 670,
1042 96, 451, 96, 96, 96, 453, 96, 96, 670, 96,
1043 670, 457, 670, 670, 670, 670, 96, 96, 96, 96,
1044 96, 96, 96, 670, 670, 96, 96, 670, 96, 458,
1045 459, 670, 96, 670, 96, 670, 96, 670, 96, 96,
1046 96, 96, 96, 670, 670, 96, 670, 96, 461, 96,
1047 670, 96, 670, 96, 670, 96, 460, 96, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001048
vlm6611add2005-03-20 14:28:32 +00001049 96, 462, 670, 670, 96, 670, 96, 463, 670, 670,
1050 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
1051 96, 670, 670, 670, 670, 96, 670, 96, 670, 96,
1052 670, 96, 96, 464, 670, 465, 96, 670, 96, 670,
1053 670, 670, 96, 670, 96, 670, 96, 670, 96, 96,
1054 96, 96, 96, 670, 670, 466, 467, 96, 670, 96,
1055 96, 96, 670, 96, 670, 469, 96, 670, 96, 670,
1056 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
1057 96, 670, 670, 96, 670, 96, 670, 96, 670, 471,
1058 670, 96, 670, 96, 96, 472, 96, 96, 670, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001059
vlm6611add2005-03-20 14:28:32 +00001060 670, 670, 96, 670, 96, 670, 96, 96, 96, 670,
1061 474, 670, 473, 96, 670, 96, 670, 96, 670, 96,
1062 670, 96, 670, 670, 670, 96, 96, 96, 670, 96,
1063 96, 477, 670, 96, 96, 476, 96, 670, 670, 670,
1064 96, 670, 96, 96, 96, 96, 96, 96, 96, 96,
1065 96, 96, 96, 479, 96, 96, 670, 96, 670, 670,
1066 670, 96, 670, 96, 96, 96, 96, 96, 96, 96,
1067 96, 96, 96, 96, 481, 670, 96, 670, 670, 670,
1068 670, 670, 96, 670, 96, 96, 96, 670, 96, 670,
1069 488, 96, 489, 670, 670, 96, 670, 96, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001070
vlm6611add2005-03-20 14:28:32 +00001071 96, 670, 96, 96, 96, 670, 491, 96, 670, 96,
1072 670, 670, 670, 96, 670, 96, 670, 96, 670, 96,
1073 96, 492, 96, 96, 670, 670, 96, 493, 96, 670,
1074 96, 670, 96, 494, 96, 670, 96, 96, 96, 96,
1075 96, 670, 670, 96, 670, 96, 670, 96, 670, 96,
1076 670, 96, 670, 96, 96, 96, 96, 96, 670, 670,
1077 670, 495, 96, 670, 96, 96, 96, 496, 96, 670,
1078 670, 96, 670, 96, 670, 96, 670, 96, 670, 96,
1079 670, 96, 96, 96, 96, 96, 670, 497, 96, 670,
1080 96, 670, 96, 670, 96, 670, 96, 670, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001081
vlm6611add2005-03-20 14:28:32 +00001082 96, 96, 96, 670, 670, 670, 498, 96, 670, 96,
1083 96, 96, 670, 96, 670, 670, 500, 499, 96, 670,
1084 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
1085 96, 670, 670, 96, 670, 96, 670, 501, 670, 96,
1086 506, 96, 670, 96, 96, 96, 96, 96, 670, 670,
1087 670, 670, 96, 670, 96, 96, 96, 670, 96, 670,
1088 670, 96, 507, 96, 670, 96, 670, 96, 670, 96,
1089 670, 96, 96, 96, 96, 96, 670, 670, 96, 670,
1090 96, 509, 96, 670, 96, 670, 96, 670, 96, 508,
1091 96, 96, 96, 96, 96, 670, 670, 96, 670, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001092
vlm6611add2005-03-20 14:28:32 +00001093 670, 670, 670, 96, 96, 96, 96, 96, 96, 96,
1094 511, 510, 96, 96, 670, 96, 670, 670, 670, 96,
1095 670, 96, 670, 96, 670, 96, 96, 96, 96, 96,
1096 670, 670, 96, 670, 96, 670, 96, 670, 513, 670,
1097 96, 670, 515, 96, 96, 96, 96, 670, 670, 670,
1098 670, 96, 670, 96, 96, 96, 670, 96, 517, 512,
1099 96, 670, 96, 670, 96, 670, 96, 670, 96, 670,
1100 96, 96, 96, 96, 96, 670, 670, 96, 670, 96,
1101 519, 96, 670, 96, 670, 96, 670, 96, 670, 96,
1102 96, 96, 96, 670, 670, 520, 96, 670, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001103
vlm6611add2005-03-20 14:28:32 +00001104 670, 522, 96, 670, 96, 670, 96, 670, 96, 670,
1105 96, 96, 96, 524, 96, 96, 670, 96, 670, 670,
1106 670, 670, 530, 670, 96, 96, 96, 96, 96, 96,
1107 96, 531, 670, 96, 96, 670, 96, 670, 670, 670,
1108 96, 670, 96, 670, 96, 670, 96, 96, 96, 96,
1109 96, 670, 533, 670, 670, 96, 670, 96, 96, 96,
1110 670, 96, 670, 670, 96, 534, 96, 670, 96, 670,
1111 535, 670, 96, 670, 96, 96, 536, 96, 96, 670,
1112 670, 96, 538, 96, 670, 96, 670, 96, 537, 96,
1113 670, 96, 670, 96, 96, 96, 96, 96, 670, 539,
vlmfa67ddc2004-06-03 03:38:44 +00001114
vlm6611add2005-03-20 14:28:32 +00001115 96, 670, 670, 670, 670, 670, 96, 96, 96, 96,
1116 96, 96, 96, 96, 670, 96, 96, 670, 670, 670,
1117 540, 670, 96, 96, 96, 96, 96, 96, 96, 670,
1118 670, 96, 96, 670, 96, 670, 670, 545, 96, 670,
1119 96, 670, 96, 670, 96, 96, 96, 96, 96, 670,
1120 670, 96, 670, 96, 670, 96, 670, 96, 670, 96,
1121 670, 96, 96, 96, 96, 96, 670, 670, 96, 670,
1122 96, 670, 96, 670, 96, 546, 96, 670, 96, 96,
1123 96, 96, 96, 670, 670, 670, 670, 96, 670, 96,
1124 96, 96, 670, 96, 549, 670, 96, 547, 96, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001125
vlm6611add2005-03-20 14:28:32 +00001126 96, 670, 96, 554, 96, 670, 96, 96, 96, 96,
1127 96, 670, 670, 670, 552, 96, 670, 96, 96, 96,
1128 670, 96, 670, 670, 96, 670, 96, 670, 96, 670,
1129 96, 670, 96, 670, 96, 96, 96, 96, 96, 670,
1130 670, 96, 670, 96, 670, 96, 670, 556, 670, 96,
1131 670, 558, 96, 96, 96, 96, 670, 670, 96, 670,
1132 96, 670, 96, 670, 96, 564, 96, 670, 96, 96,
1133 96, 96, 96, 670, 670, 96, 670, 96, 670, 96,
1134 670, 96, 670, 96, 670, 96, 670, 96, 96, 96,
1135 96, 96, 565, 566, 96, 670, 567, 670, 670, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001136
vlm6611add2005-03-20 14:28:32 +00001137 96, 96, 96, 96, 96, 96, 96, 96, 569, 96,
1138 96, 670, 670, 670, 670, 670, 96, 96, 568, 96,
1139 96, 96, 96, 96, 570, 96, 96, 670, 670, 670,
1140 670, 670, 96, 571, 96, 96, 96, 96, 96, 670,
1141 670, 96, 96, 670, 670, 670, 96, 670, 96, 670,
1142 96, 670, 96, 670, 575, 670, 96, 96, 96, 576,
1143 96, 96, 96, 670, 670, 96, 670, 670, 577, 579,
1144 670, 96, 96, 96, 96, 96, 96, 96, 670, 670,
1145 96, 96, 670, 670, 670, 96, 670, 96, 670, 582,
1146 670, 96, 670, 96, 670, 96, 96, 96, 584, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001147
vlm6611add2005-03-20 14:28:32 +00001148 670, 670, 670, 96, 96, 96, 96, 96, 670, 96,
1149 670, 585, 96, 670, 670, 670, 96, 96, 96, 96,
1150 96, 592, 670, 96, 670, 96, 670, 96, 96, 96,
1151 96, 96, 593, 96, 670, 670, 96, 670, 670, 670,
1152 96, 96, 96, 96, 96, 96, 670, 96, 670, 96,
1153 670, 96, 96, 96, 96, 96, 670, 670, 594, 670,
1154 96, 670, 96, 670, 96, 670, 96, 595, 96, 670,
1155 96, 670, 96, 96, 96, 670, 96, 596, 96, 670,
1156 96, 96, 96, 670, 96, 670, 96, 670, 96, 96,
1157 96, 670, 96, 670, 96, 670, 96, 96, 600, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001158
vlm6611add2005-03-20 14:28:32 +00001159 96, 670, 96, 670, 96, 96, 96, 601, 96, 670,
1160 96, 670, 96, 96, 603, 670, 96, 606, 96, 670,
1161 96, 96, 96, 670, 96, 608, 96, 670, 96, 96,
1162 96, 670, 96, 609, 96, 670, 96, 96, 96, 670,
1163 96, 670, 96, 670, 96, 96, 96, 670, 96, 670,
1164 96, 670, 96, 96, 96, 670, 96, 670, 96, 670,
1165 96, 96, 96, 670, 96, 670, 96, 670, 96, 96,
1166 615, 670, 96, 670, 670, 670, 96, 96, 96, 96,
1167 96, 670, 670, 670, 616, 96, 670, 96, 670, 96,
1168 670, 96, 670, 96, 670, 96, 620, 96, 96, 621,
vlmfa67ddc2004-06-03 03:38:44 +00001169
vlm6611add2005-03-20 14:28:32 +00001170 670, 96, 623, 96, 670, 96, 96, 96, 670, 96,
1171 670, 670, 670, 96, 96, 96, 96, 96, 628, 96,
1172 670, 626, 96, 629, 670, 670, 96, 96, 96, 96,
1173 96, 96, 670, 96, 670, 96, 670, 96, 96, 96,
1174 96, 96, 670, 96, 670, 635, 96, 670, 670, 670,
1175 96, 670, 96, 96, 96, 96, 96, 96, 670, 96,
1176 670, 670, 96, 636, 96, 670, 96, 96, 96, 670,
1177 96, 670, 670, 670, 96, 96, 96, 96, 96, 96,
1178 670, 96, 640, 96, 96, 96, 96, 670, 670, 670,
1179 643, 670, 645, 670, 96, 96, 96, 96, 96, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001180
vlm6611add2005-03-20 14:28:32 +00001181 96, 96, 670, 96, 96, 670, 670, 670, 670, 670,
1182 96, 96, 96, 96, 96, 96, 651, 96, 96, 96,
1183 96, 670, 670, 670, 670, 670, 670, 96, 96, 96,
1184 96, 96, 96, 670, 670, 96, 96, 96, 656, 670,
1185 653, 670, 670, 96, 670, 96, 670, 96, 670, 96,
1186 670, 96, 670, 96, 96, 96, 660, 96, 670, 96,
1187 670, 96, 96, 96, 670, 96, 670, 96, 670, 96,
1188 96, 96, 670, 96, 670, 664, 670, 667, 96, 96,
1189 96, 96, 670, 96, 670, 670, 96, 670, 670, 670,
1190 96, 670, 96, 96, 96, 96, 670, 96, 670, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001191
vlm6611add2005-03-20 14:28:32 +00001192 670, 670, 96, 53, 53, 53, 53, 53, 53, 53,
1193 53, 53, 53, 53, 57, 57, 57, 57, 57, 57,
1194 57, 57, 57, 57, 57, 61, 61, 61, 61, 61,
1195 61, 61, 61, 61, 61, 61, 64, 64, 64, 64,
1196 64, 64, 64, 64, 64, 64, 64, 73, 73, 73,
1197 73, 73, 73, 73, 73, 73, 73, 73, 75, 75,
1198 75, 75, 75, 75, 75, 75, 75, 75, 75, 82,
1199 82, 82, 670, 82, 82, 82, 82, 82, 82, 82,
1200 89, 89, 670, 670, 89, 670, 89, 153, 153, 670,
1201 153, 154, 154, 670, 154, 154, 154, 670, 154, 154,
vlmfa67ddc2004-06-03 03:38:44 +00001202
vlm6611add2005-03-20 14:28:32 +00001203 154, 154, 157, 157, 157, 670, 157, 157, 157, 157,
1204 157, 157, 157, 159, 159, 159, 159, 159, 159, 159,
1205 159, 670, 159, 161, 670, 670, 161, 161, 161, 161,
1206 161, 161, 161, 162, 670, 670, 162, 162, 162, 162,
1207 162, 162, 162, 164, 670, 670, 164, 670, 164, 164,
1208 164, 164, 164, 168, 168, 670, 168, 169, 169, 670,
1209 169, 102, 102, 670, 102, 15, 670, 670, 670, 670,
1210 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1211 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1212 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
vlm9283dbe2004-08-18 04:59:12 +00001213
vlm6611add2005-03-20 14:28:32 +00001214 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1215 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1216 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1217 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1218 670, 670, 670
vlmfa67ddc2004-06-03 03:38:44 +00001219 } ;
1220
vlm6611add2005-03-20 14:28:32 +00001221static yyconst short int yy_chk[4344] =
vlmfa67ddc2004-06-03 03:38:44 +00001222 { 0,
1223 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1224 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1225 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1226 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1227 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1228 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1229 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlm2728a8d2005-01-23 09:51:44 +00001230 1, 1, 1, 1, 1, 1, 1, 3, 3, 4,
1231 4, 5, 6, 7, 9, 3, 7, 4, 5, 6,
1232 8, 5, 6, 8, 10, 17, 17, 17, 18, 18,
vlmfa67ddc2004-06-03 03:38:44 +00001233
vlm6611add2005-03-20 14:28:32 +00001234 18, 17, 9, 666, 18, 9, 26, 662, 26, 13,
vlm2728a8d2005-01-23 09:51:44 +00001235 13, 13, 10, 151, 13, 10, 86, 22, 22, 22,
vlm6611add2005-03-20 14:28:32 +00001236 14, 14, 14, 22, 24, 14, 151, 24, 659, 22,
vlm2728a8d2005-01-23 09:51:44 +00001237 22, 24, 24, 24, 24, 24, 24, 28, 28, 28,
vlm6611add2005-03-20 14:28:32 +00001238 28, 28, 28, 28, 657, 34, 86, 454, 34, 76,
vlm2728a8d2005-01-23 09:51:44 +00001239 76, 76, 77, 77, 77, 34, 9, 34, 9, 34,
vlm6611add2005-03-20 14:28:32 +00001240 81, 81, 81, 655, 34, 454, 10, 654, 10, 11,
vlm2728a8d2005-01-23 09:51:44 +00001241 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
vlm6611add2005-03-20 14:28:32 +00001242 11, 11, 13, 652, 13, 163, 163, 650, 170, 11,
vlm2728a8d2005-01-23 09:51:44 +00001243 11, 11, 11, 14, 170, 14, 163, 11, 32, 242,
vlmfa67ddc2004-06-03 03:38:44 +00001244
vlm6611add2005-03-20 14:28:32 +00001245 242, 32, 165, 165, 165, 32, 529, 648, 32, 32,
1246 32, 32, 32, 38, 312, 647, 33, 32, 644, 11,
vlm2728a8d2005-01-23 09:51:44 +00001247 11, 32, 33, 38, 312, 38, 33, 38, 33, 33,
vlm6611add2005-03-20 14:28:32 +00001248 33, 642, 38, 529, 638, 33, 91, 91, 91, 91,
vlm2728a8d2005-01-23 09:51:44 +00001249 91, 91, 91, 11, 11, 11, 12, 12, 12, 12,
1250 12, 12, 12, 12, 12, 12, 12, 12, 12, 374,
vlm6611add2005-03-20 14:28:32 +00001251 634, 35, 633, 78, 374, 632, 12, 12, 12, 12,
1252 631, 35, 35, 35, 12, 35, 630, 78, 36, 36,
1253 35, 487, 627, 35, 625, 624, 619, 618, 487, 36,
1254 617, 36, 614, 36, 37, 36, 12, 12, 36, 39,
vlmfa67ddc2004-06-03 03:38:44 +00001255
vlm6611add2005-03-20 14:28:32 +00001256 39, 613, 39, 612, 37, 611, 37, 78, 37, 610,
1257 39, 39, 39, 37, 39, 607, 605, 39, 604, 39,
1258 12, 12, 12, 21, 602, 37, 88, 88, 88, 599,
1259 598, 597, 88, 591, 590, 589, 37, 21, 88, 88,
vlm9283dbe2004-08-18 04:59:12 +00001260 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1261 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlm2728a8d2005-01-23 09:51:44 +00001262 21, 21, 21, 21, 21, 21, 588, 21, 21, 21,
vlm9283dbe2004-08-18 04:59:12 +00001263 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlm2728a8d2005-01-23 09:51:44 +00001264 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1265 31, 586, 583, 31, 31, 31, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +00001266
vlm2728a8d2005-01-23 09:51:44 +00001267 581, 580, 578, 574, 31, 31, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +00001268 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1269 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +00001270 573, 572, 31, 31, 31, 31, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +00001271 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +00001272 31, 31, 31, 31, 40, 40, 41, 563, 562, 561,
1273 560, 559, 40, 557, 553, 40, 41, 40, 41, 40,
1274 41, 551, 42, 42, 40, 41, 42, 43, 43, 550,
1275 43, 548, 42, 543, 42, 542, 42, 541, 43, 528,
1276 43, 42, 43, 44, 43, 527, 44, 43, 526, 45,
vlmfa67ddc2004-06-03 03:38:44 +00001277
vlm2728a8d2005-01-23 09:51:44 +00001278 42, 41, 45, 44, 525, 44, 45, 44, 46, 45,
1279 523, 45, 44, 45, 46, 46, 521, 45, 45, 518,
1280 43, 516, 45, 47, 514, 46, 512, 46, 505, 46,
1281 504, 46, 503, 47, 46, 47, 502, 47, 46, 48,
1282 49, 47, 47, 490, 486, 485, 46, 49, 484, 48,
1283 49, 48, 49, 48, 49, 483, 480, 478, 48, 49,
1284 475, 470, 47, 94, 94, 94, 94, 94, 94, 94,
1285 468, 456, 455, 437, 48, 73, 434, 433, 432, 73,
1286 73, 73, 73, 73, 73, 73, 73, 73, 431, 96,
1287 97, 430, 429, 426, 424, 73, 73, 73, 73, 96,
vlmfa67ddc2004-06-03 03:38:44 +00001288
vlm2728a8d2005-01-23 09:51:44 +00001289 97, 96, 97, 96, 97, 98, 419, 97, 96, 97,
1290 414, 411, 399, 398, 397, 98, 378, 98, 99, 98,
1291 373, 100, 372, 371, 98, 73, 73, 369, 99, 365,
1292 99, 100, 99, 100, 101, 100, 363, 99, 358, 353,
1293 100, 99, 349, 338, 101, 337, 101, 336, 101, 317,
1294 73, 74, 101, 101, 310, 74, 74, 74, 74, 74,
1295 74, 74, 74, 74, 309, 103, 308, 302, 104, 291,
1296 103, 74, 74, 74, 74, 103, 286, 103, 104, 103,
1297 104, 105, 104, 282, 103, 271, 104, 104, 74, 270,
1298 244, 105, 243, 105, 106, 105, 239, 238, 237, 233,
vlmfa67ddc2004-06-03 03:38:44 +00001299
vlm2728a8d2005-01-23 09:51:44 +00001300 105, 74, 74, 221, 106, 107, 106, 106, 106, 215,
1301 211, 200, 199, 106, 171, 107, 167, 107, 162, 107,
1302 108, 108, 160, 150, 107, 147, 74, 137, 109, 109,
1303 132, 108, 127, 108, 108, 108, 118, 117, 95, 109,
1304 108, 109, 110, 109, 92, 111, 89, 84, 109, 111,
1305 83, 80, 110, 110, 110, 111, 110, 111, 112, 111,
1306 66, 110, 63, 60, 111, 59, 56, 52, 112, 50,
1307 112, 29, 112, 113, 113, 113, 115, 112, 25, 114,
1308 114, 20, 19, 113, 16, 113, 115, 113, 115, 114,
1309 115, 114, 113, 114, 116, 115, 15, 114, 114, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001310
vlm2728a8d2005-01-23 09:51:44 +00001311 0, 119, 0, 0, 116, 0, 116, 116, 116, 119,
1312 0, 0, 120, 116, 0, 120, 0, 0, 0, 119,
1313 121, 119, 120, 119, 120, 0, 120, 0, 119, 0,
1314 121, 120, 121, 0, 121, 122, 122, 0, 0, 121,
1315 0, 0, 0, 0, 0, 122, 123, 122, 0, 122,
1316 0, 0, 122, 122, 122, 0, 123, 124, 123, 123,
1317 123, 0, 0, 125, 0, 123, 0, 124, 0, 124,
1318 0, 124, 0, 125, 126, 125, 124, 125, 0, 124,
1319 0, 0, 125, 0, 126, 0, 126, 128, 126, 0,
1320 129, 0, 0, 126, 0, 128, 0, 128, 0, 128,
vlmfa67ddc2004-06-03 03:38:44 +00001321
vlm2728a8d2005-01-23 09:51:44 +00001322 129, 128, 129, 130, 129, 0, 128, 0, 129, 129,
1323 0, 131, 0, 130, 133, 130, 0, 130, 0, 0,
1324 0, 131, 130, 131, 133, 131, 133, 134, 133, 131,
1325 131, 0, 133, 133, 0, 0, 0, 134, 135, 134,
1326 0, 134, 0, 0, 0, 0, 134, 134, 135, 0,
1327 135, 136, 135, 0, 136, 0, 0, 135, 136, 0,
1328 0, 136, 0, 136, 0, 136, 138, 138, 0, 0,
1329 136, 0, 0, 139, 0, 0, 0, 138, 0, 138,
1330 0, 138, 0, 139, 140, 139, 138, 139, 139, 0,
1331 141, 139, 139, 0, 140, 0, 140, 0, 140, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001332
vlm2728a8d2005-01-23 09:51:44 +00001333 141, 142, 141, 140, 141, 143, 141, 0, 140, 141,
1334 0, 142, 0, 142, 0, 142, 143, 144, 0, 0,
1335 142, 0, 144, 0, 0, 0, 143, 144, 143, 144,
1336 143, 144, 145, 146, 0, 143, 144, 0, 0, 0,
1337 0, 0, 145, 146, 145, 146, 145, 146, 148, 149,
1338 149, 145, 146, 149, 0, 148, 0, 0, 148, 149,
1339 148, 149, 148, 149, 152, 0, 0, 148, 149, 0,
1340 0, 0, 0, 0, 152, 0, 152, 0, 152, 0,
1341 0, 0, 152, 152, 172, 172, 172, 172, 172, 172,
1342 172, 175, 176, 0, 175, 0, 0, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001343
vlm2728a8d2005-01-23 09:51:44 +00001344 0, 175, 176, 175, 176, 175, 176, 177, 178, 0,
1345 175, 176, 0, 0, 0, 0, 0, 177, 178, 177,
1346 178, 177, 178, 179, 0, 0, 177, 178, 0, 0,
1347 0, 180, 0, 179, 181, 179, 179, 179, 180, 0,
1348 0, 180, 179, 180, 181, 180, 181, 182, 181, 0,
1349 180, 0, 0, 181, 0, 183, 0, 182, 0, 182,
1350 0, 182, 0, 184, 182, 183, 182, 183, 0, 183,
1351 0, 185, 0, 184, 183, 184, 0, 184, 185, 184,
1352 0, 185, 184, 185, 186, 185, 0, 0, 0, 0,
1353 185, 0, 187, 0, 186, 188, 186, 0, 186, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001354
vlm2728a8d2005-01-23 09:51:44 +00001355 0, 186, 187, 186, 187, 188, 187, 188, 0, 188,
1356 0, 187, 188, 188, 188, 189, 189, 190, 0, 0,
1357 190, 0, 0, 189, 0, 0, 189, 190, 189, 190,
1358 189, 190, 191, 0, 0, 189, 190, 0, 192, 0,
1359 0, 0, 191, 0, 191, 191, 191, 0, 192, 193,
1360 192, 191, 192, 0, 0, 194, 0, 192, 194, 193,
1361 193, 193, 0, 193, 0, 194, 195, 194, 193, 194,
1362 0, 0, 196, 0, 194, 196, 195, 0, 195, 195,
1363 195, 0, 196, 197, 196, 195, 196, 0, 0, 0,
1364 0, 196, 0, 197, 198, 197, 0, 197, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001365
vlm2728a8d2005-01-23 09:51:44 +00001366 197, 0, 197, 0, 198, 198, 198, 201, 198, 0,
1367 0, 0, 0, 198, 0, 202, 0, 201, 203, 201,
1368 0, 201, 0, 0, 201, 202, 201, 202, 203, 202,
1369 203, 203, 203, 204, 202, 0, 205, 203, 0, 206,
1370 0, 0, 206, 204, 0, 204, 205, 204, 205, 206,
1371 205, 206, 204, 206, 205, 205, 207, 208, 206, 0,
1372 209, 0, 0, 207, 0, 0, 0, 208, 0, 208,
1373 209, 208, 209, 207, 209, 207, 208, 207, 210, 209,
1374 0, 212, 207, 0, 212, 0, 0, 0, 210, 0,
1375 210, 212, 210, 212, 0, 212, 213, 210, 0, 213,
vlmfa67ddc2004-06-03 03:38:44 +00001376
vlm2728a8d2005-01-23 09:51:44 +00001377 212, 0, 214, 0, 0, 0, 213, 0, 213, 214,
1378 213, 0, 214, 216, 214, 213, 214, 0, 0, 0,
1379 0, 214, 0, 216, 217, 216, 0, 216, 0, 0,
1380 218, 216, 216, 0, 217, 0, 217, 0, 217, 0,
1381 218, 219, 218, 217, 218, 0, 0, 218, 0, 218,
1382 0, 219, 220, 219, 0, 219, 0, 0, 219, 0,
1383 219, 0, 220, 222, 220, 0, 220, 0, 223, 223,
1384 0, 220, 220, 222, 0, 222, 0, 222, 0, 223,
1385 224, 223, 222, 223, 0, 0, 225, 0, 223, 0,
1386 224, 0, 224, 0, 224, 0, 225, 0, 225, 224,
vlmfa67ddc2004-06-03 03:38:44 +00001387
vlm2728a8d2005-01-23 09:51:44 +00001388 225, 226, 227, 0, 226, 225, 0, 0, 0, 227,
1389 0, 226, 227, 226, 227, 226, 227, 228, 0, 0,
1390 226, 227, 0, 0, 0, 0, 0, 228, 229, 228,
1391 0, 228, 0, 0, 230, 228, 228, 0, 229, 0,
1392 229, 0, 229, 0, 230, 229, 230, 229, 230, 231,
1393 0, 230, 231, 230, 0, 232, 0, 0, 232, 231,
1394 0, 231, 0, 231, 0, 232, 234, 232, 231, 232,
1395 0, 0, 0, 0, 232, 0, 234, 235, 234, 234,
1396 234, 234, 236, 0, 0, 234, 234, 235, 236, 235,
1397 0, 235, 0, 0, 0, 235, 235, 0, 236, 240,
vlmfa67ddc2004-06-03 03:38:44 +00001398
vlm2728a8d2005-01-23 09:51:44 +00001399 236, 0, 236, 0, 0, 240, 0, 236, 0, 240,
1400 247, 240, 0, 240, 0, 0, 248, 0, 240, 0,
1401 247, 0, 247, 248, 247, 0, 248, 249, 248, 247,
1402 248, 0, 0, 250, 0, 248, 0, 249, 249, 249,
1403 0, 249, 0, 250, 251, 250, 249, 250, 0, 0,
1404 252, 0, 250, 252, 251, 0, 251, 0, 251, 0,
1405 252, 0, 252, 251, 252, 253, 253, 254, 254, 252,
1406 0, 0, 0, 0, 0, 0, 253, 254, 253, 254,
1407 253, 254, 255, 0, 0, 253, 254, 0, 251, 0,
1408 256, 0, 255, 0, 255, 0, 255, 0, 257, 255,
vlmfa67ddc2004-06-03 03:38:44 +00001409
vlm6611add2005-03-20 14:28:32 +00001410 256, 255, 256, 256, 256, 0, 0, 0, 257, 256,
1411 257, 259, 257, 258, 258, 0, 257, 257, 0, 0,
1412 0, 259, 260, 259, 258, 259, 258, 0, 258, 0,
1413 259, 0, 260, 258, 260, 261, 260, 261, 262, 0,
1414 262, 260, 0, 0, 0, 261, 0, 261, 262, 261,
1415 262, 0, 262, 263, 261, 0, 263, 262, 0, 264,
1416 0, 0, 0, 263, 0, 263, 0, 263, 0, 264,
1417 265, 264, 263, 264, 0, 0, 266, 265, 264, 0,
1418 265, 0, 265, 0, 265, 0, 266, 267, 266, 265,
1419 266, 0, 266, 0, 0, 266, 0, 267, 0, 267,
vlmfa67ddc2004-06-03 03:38:44 +00001420
vlm6611add2005-03-20 14:28:32 +00001421 0, 267, 268, 267, 0, 268, 267, 0, 269, 0,
1422 0, 0, 268, 0, 268, 0, 268, 0, 269, 272,
1423 269, 268, 269, 0, 0, 273, 0, 269, 0, 272,
1424 0, 272, 0, 272, 0, 273, 0, 273, 272, 273,
1425 274, 275, 0, 273, 273, 0, 0, 274, 0, 0,
1426 274, 275, 274, 275, 274, 275, 276, 275, 0, 274,
1427 275, 277, 277, 272, 0, 0, 276, 0, 276, 0,
1428 276, 279, 277, 0, 277, 276, 277, 278, 277, 0,
1429 279, 277, 278, 0, 0, 0, 0, 278, 280, 278,
1430 279, 278, 279, 278, 279, 0, 278, 0, 280, 279,
vlmfa67ddc2004-06-03 03:38:44 +00001431
vlm6611add2005-03-20 14:28:32 +00001432 280, 281, 280, 0, 0, 280, 0, 280, 0, 283,
1433 283, 281, 284, 281, 0, 281, 0, 0, 0, 283,
1434 281, 283, 284, 283, 284, 285, 284, 0, 283, 0,
1435 284, 284, 0, 287, 288, 285, 287, 285, 285, 285,
1436 0, 0, 0, 287, 285, 287, 0, 287, 289, 288,
1437 0, 289, 287, 0, 0, 0, 0, 0, 289, 288,
1438 289, 288, 289, 288, 290, 290, 292, 289, 288, 0,
1439 0, 0, 0, 0, 0, 290, 292, 290, 292, 290,
1440 292, 293, 0, 0, 290, 292, 0, 0, 0, 0,
1441 0, 293, 0, 293, 294, 293, 0, 294, 0, 293,
vlmfa67ddc2004-06-03 03:38:44 +00001442
vlm6611add2005-03-20 14:28:32 +00001443 293, 0, 295, 0, 294, 296, 294, 0, 294, 0,
1444 0, 0, 295, 294, 295, 296, 295, 296, 0, 296,
1445 298, 295, 297, 297, 296, 0, 299, 0, 0, 301,
1446 298, 0, 298, 297, 298, 297, 299, 297, 299, 298,
1447 299, 300, 297, 0, 301, 299, 0, 303, 0, 0,
1448 0, 300, 0, 300, 301, 300, 301, 303, 301, 303,
1449 300, 303, 304, 301, 298, 305, 303, 0, 305, 0,
1450 0, 0, 304, 306, 304, 305, 304, 305, 0, 305,
1451 0, 304, 0, 306, 305, 306, 307, 306, 0, 0,
1452 0, 0, 306, 0, 0, 0, 307, 311, 307, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001453
vlm6611add2005-03-20 14:28:32 +00001454 307, 0, 0, 307, 0, 307, 0, 311, 306, 311,
1455 313, 311, 0, 314, 314, 0, 311, 0, 0, 0,
1456 313, 0, 313, 314, 313, 314, 0, 314, 313, 313,
1457 315, 315, 314, 0, 316, 0, 318, 318, 0, 0,
1458 0, 315, 0, 315, 316, 315, 316, 318, 316, 318,
1459 315, 318, 0, 316, 319, 319, 318, 320, 0, 0,
1460 320, 0, 0, 0, 319, 321, 319, 320, 319, 320,
1461 0, 320, 0, 319, 0, 321, 320, 321, 322, 321,
1462 0, 0, 0, 0, 321, 0, 323, 0, 322, 0,
1463 322, 0, 322, 0, 324, 0, 323, 322, 323, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001464
vlm6611add2005-03-20 14:28:32 +00001465 323, 324, 323, 0, 324, 323, 324, 325, 324, 0,
1466 0, 0, 0, 324, 0, 326, 0, 325, 326, 325,
1467 0, 325, 326, 0, 0, 326, 325, 326, 327, 326,
1468 327, 0, 0, 0, 326, 0, 328, 0, 327, 328,
1469 327, 0, 327, 328, 329, 0, 328, 327, 328, 0,
1470 328, 0, 330, 0, 329, 328, 329, 0, 329, 0,
1471 329, 0, 330, 329, 330, 0, 330, 331, 331, 0,
1472 330, 330, 0, 332, 0, 0, 0, 331, 0, 331,
1473 0, 331, 0, 332, 333, 332, 331, 332, 0, 0,
1474 334, 332, 332, 0, 333, 0, 333, 0, 333, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001475
vlm6611add2005-03-20 14:28:32 +00001476 334, 333, 334, 333, 334, 335, 339, 0, 0, 334,
1477 0, 0, 0, 339, 0, 335, 339, 335, 339, 335,
1478 339, 0, 0, 341, 335, 339, 340, 340, 0, 340,
1479 0, 0, 0, 341, 0, 341, 340, 341, 340, 0,
1480 340, 341, 341, 343, 342, 340, 342, 0, 0, 0,
1481 0, 0, 0, 343, 342, 343, 342, 343, 342, 344,
1482 0, 0, 343, 342, 0, 345, 0, 0, 345, 344,
1483 0, 344, 0, 344, 0, 345, 346, 345, 344, 345,
1484 347, 0, 0, 348, 345, 0, 346, 347, 346, 0,
1485 346, 0, 0, 346, 0, 346, 0, 347, 348, 347,
vlmfa67ddc2004-06-03 03:38:44 +00001486
vlm6611add2005-03-20 14:28:32 +00001487 0, 347, 0, 0, 350, 0, 347, 0, 348, 0,
1488 348, 0, 348, 0, 350, 351, 350, 348, 350, 0,
1489 0, 352, 350, 350, 0, 351, 0, 351, 0, 351,
1490 0, 352, 354, 352, 351, 352, 0, 0, 0, 0,
1491 352, 0, 354, 355, 354, 0, 354, 0, 354, 356,
1492 355, 354, 0, 355, 0, 355, 0, 355, 0, 356,
1493 357, 356, 355, 356, 0, 0, 0, 0, 356, 0,
1494 357, 0, 357, 359, 357, 0, 360, 0, 357, 357,
1495 359, 0, 0, 359, 361, 359, 360, 359, 360, 361,
1496 360, 0, 359, 0, 361, 360, 361, 362, 361, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001497
vlm6611add2005-03-20 14:28:32 +00001498 0, 0, 0, 361, 0, 0, 0, 362, 364, 362,
1499 0, 362, 0, 0, 366, 364, 362, 0, 364, 362,
1500 364, 0, 364, 0, 366, 0, 366, 364, 366, 367,
1501 368, 0, 367, 366, 0, 0, 0, 0, 0, 367,
1502 368, 367, 368, 367, 368, 370, 368, 0, 367, 368,
1503 0, 375, 0, 0, 0, 370, 0, 370, 0, 370,
1504 0, 375, 0, 375, 370, 375, 376, 376, 0, 0,
1505 375, 0, 0, 377, 0, 0, 0, 376, 0, 376,
1506 0, 376, 0, 377, 379, 377, 376, 377, 0, 370,
1507 380, 377, 377, 0, 379, 0, 379, 0, 379, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001508
vlm6611add2005-03-20 14:28:32 +00001509 380, 381, 380, 379, 380, 0, 0, 382, 380, 380,
1510 382, 381, 0, 381, 0, 381, 0, 382, 0, 382,
1511 381, 382, 383, 383, 384, 0, 382, 0, 0, 0,
1512 0, 0, 0, 383, 384, 383, 384, 383, 384, 385,
1513 0, 0, 383, 384, 0, 0, 0, 0, 0, 385,
1514 386, 385, 386, 385, 0, 0, 387, 385, 385, 0,
1515 386, 0, 386, 0, 386, 0, 387, 0, 387, 386,
1516 387, 0, 0, 388, 387, 387, 388, 0, 0, 389,
1517 0, 389, 0, 388, 0, 388, 0, 388, 0, 389,
1518 390, 389, 388, 389, 0, 391, 391, 0, 389, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001519
vlm6611add2005-03-20 14:28:32 +00001520 390, 0, 390, 0, 390, 0, 391, 392, 391, 390,
1521 391, 0, 0, 393, 0, 391, 0, 392, 0, 392,
1522 393, 392, 0, 393, 394, 393, 392, 393, 0, 0,
1523 395, 0, 393, 0, 394, 0, 394, 395, 394, 0,
1524 395, 394, 395, 394, 395, 396, 396, 400, 0, 395,
1525 0, 400, 0, 0, 0, 0, 396, 400, 396, 400,
1526 396, 400, 401, 0, 0, 396, 400, 0, 402, 401,
1527 402, 0, 401, 0, 401, 0, 401, 0, 402, 403,
1528 402, 401, 402, 0, 0, 404, 0, 402, 404, 403,
1529 0, 403, 0, 403, 0, 404, 403, 404, 403, 404,
vlmfa67ddc2004-06-03 03:38:44 +00001530
vlm6611add2005-03-20 14:28:32 +00001531 405, 405, 0, 0, 404, 0, 406, 406, 0, 0,
1532 405, 0, 405, 0, 405, 0, 406, 407, 406, 405,
1533 406, 0, 0, 0, 0, 406, 0, 407, 0, 407,
1534 0, 407, 408, 407, 0, 408, 407, 0, 409, 0,
1535 0, 0, 408, 0, 408, 0, 408, 0, 409, 410,
1536 409, 408, 409, 0, 0, 409, 410, 409, 0, 410,
1537 412, 410, 0, 410, 0, 413, 413, 0, 410, 0,
1538 412, 0, 412, 0, 412, 0, 413, 415, 413, 412,
1539 413, 0, 0, 416, 0, 413, 0, 415, 0, 415,
1540 0, 415, 0, 416, 417, 416, 415, 416, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001541
vlm6611add2005-03-20 14:28:32 +00001542 0, 0, 416, 0, 417, 0, 417, 418, 417, 0,
1543 418, 0, 417, 417, 0, 420, 0, 418, 0, 418,
1544 0, 418, 0, 0, 0, 420, 418, 420, 0, 420,
1545 421, 421, 0, 422, 420, 420, 423, 0, 0, 0,
1546 421, 0, 421, 422, 421, 422, 423, 422, 423, 421,
1547 423, 425, 422, 425, 427, 423, 0, 428, 0, 0,
1548 0, 425, 0, 425, 427, 425, 427, 428, 427, 428,
1549 425, 428, 435, 427, 428, 0, 428, 0, 0, 0,
1550 0, 0, 435, 0, 435, 436, 435, 0, 438, 0,
1551 435, 435, 436, 0, 0, 436, 0, 436, 438, 436,
vlmfa67ddc2004-06-03 03:38:44 +00001552
vlm6611add2005-03-20 14:28:32 +00001553 438, 0, 438, 439, 436, 0, 439, 438, 0, 440,
1554 0, 0, 0, 439, 0, 439, 0, 439, 0, 440,
1555 441, 440, 439, 440, 0, 0, 442, 441, 440, 0,
1556 441, 0, 441, 442, 441, 0, 442, 443, 442, 441,
1557 442, 0, 0, 444, 0, 442, 0, 443, 0, 443,
1558 0, 443, 0, 444, 445, 444, 443, 444, 0, 0,
1559 0, 445, 444, 0, 445, 446, 445, 446, 445, 0,
1560 0, 447, 0, 445, 0, 446, 0, 446, 0, 446,
1561 0, 447, 448, 447, 446, 447, 0, 448, 449, 0,
1562 447, 0, 448, 0, 448, 0, 448, 0, 449, 450,
vlmfa67ddc2004-06-03 03:38:44 +00001563
vlm6611add2005-03-20 14:28:32 +00001564 449, 448, 449, 0, 0, 0, 449, 449, 0, 450,
1565 451, 450, 0, 450, 0, 0, 452, 450, 450, 0,
1566 451, 0, 451, 0, 451, 0, 452, 453, 452, 451,
1567 452, 0, 0, 457, 0, 452, 0, 453, 0, 453,
1568 457, 453, 0, 457, 458, 457, 453, 457, 0, 0,
1569 0, 0, 457, 0, 458, 459, 458, 0, 458, 0,
1570 0, 460, 458, 458, 0, 459, 0, 459, 0, 459,
1571 0, 460, 461, 460, 459, 460, 0, 0, 462, 0,
1572 460, 462, 461, 0, 461, 0, 461, 0, 462, 461,
1573 462, 461, 462, 463, 464, 0, 0, 462, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001574
vlm6611add2005-03-20 14:28:32 +00001575 0, 0, 0, 463, 464, 463, 464, 463, 464, 465,
1576 465, 463, 463, 464, 0, 466, 0, 0, 0, 465,
1577 0, 465, 0, 465, 0, 466, 467, 466, 465, 466,
1578 0, 0, 469, 0, 466, 0, 467, 0, 467, 0,
1579 467, 0, 469, 471, 469, 467, 469, 0, 0, 0,
1580 0, 469, 0, 471, 472, 471, 0, 471, 472, 466,
1581 473, 0, 471, 0, 472, 0, 472, 0, 472, 0,
1582 473, 474, 473, 472, 473, 0, 0, 476, 0, 473,
1583 476, 474, 0, 474, 0, 474, 0, 476, 0, 476,
1584 474, 476, 477, 0, 0, 477, 476, 0, 479, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001585
vlm6611add2005-03-20 14:28:32 +00001586 0, 479, 477, 0, 477, 0, 477, 0, 479, 0,
1587 479, 477, 479, 481, 481, 488, 0, 479, 0, 0,
1588 0, 0, 488, 0, 481, 488, 481, 488, 481, 488,
1589 489, 489, 0, 481, 488, 0, 491, 0, 0, 0,
1590 489, 0, 489, 0, 489, 0, 491, 492, 491, 489,
1591 491, 0, 491, 0, 0, 491, 0, 492, 493, 492,
1592 0, 492, 0, 0, 494, 492, 492, 0, 493, 0,
1593 493, 0, 493, 0, 494, 495, 494, 493, 494, 0,
1594 0, 496, 497, 494, 0, 495, 0, 495, 495, 495,
1595 0, 496, 0, 496, 495, 496, 498, 497, 0, 498,
vlmfa67ddc2004-06-03 03:38:44 +00001596
vlm6611add2005-03-20 14:28:32 +00001597 496, 0, 0, 0, 0, 0, 498, 497, 498, 497,
1598 498, 497, 499, 500, 0, 498, 497, 0, 0, 0,
1599 500, 0, 499, 500, 499, 500, 499, 500, 501, 0,
1600 0, 499, 500, 0, 506, 0, 0, 506, 501, 0,
1601 501, 0, 501, 0, 506, 507, 506, 501, 506, 0,
1602 0, 508, 0, 506, 0, 507, 0, 507, 0, 507,
1603 0, 508, 509, 508, 507, 508, 0, 0, 510, 0,
1604 508, 0, 509, 0, 509, 510, 509, 0, 510, 511,
1605 510, 509, 510, 0, 0, 0, 0, 510, 0, 511,
1606 513, 511, 0, 511, 513, 0, 515, 511, 511, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001607
vlm6611add2005-03-20 14:28:32 +00001608 513, 0, 513, 519, 513, 0, 515, 517, 515, 513,
1609 515, 0, 0, 0, 517, 515, 0, 517, 519, 517,
1610 0, 517, 0, 0, 520, 0, 517, 0, 519, 0,
1611 519, 0, 519, 0, 520, 522, 520, 519, 520, 0,
1612 0, 524, 0, 520, 0, 522, 0, 522, 0, 522,
1613 0, 524, 530, 524, 522, 524, 0, 0, 531, 0,
1614 524, 0, 530, 0, 530, 530, 530, 0, 531, 533,
1615 531, 530, 531, 0, 0, 534, 0, 531, 0, 533,
1616 0, 533, 0, 533, 0, 534, 0, 534, 533, 534,
1617 535, 536, 534, 535, 534, 0, 536, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001618
vlm6611add2005-03-20 14:28:32 +00001619 535, 536, 535, 536, 535, 536, 537, 538, 538, 535,
1620 536, 0, 0, 0, 0, 0, 537, 538, 537, 538,
1621 537, 538, 539, 540, 539, 537, 538, 0, 0, 0,
1622 0, 0, 539, 540, 539, 540, 539, 540, 545, 0,
1623 0, 539, 540, 0, 0, 0, 546, 0, 545, 0,
1624 545, 0, 545, 0, 545, 0, 546, 545, 546, 546,
1625 546, 547, 549, 0, 0, 546, 0, 0, 547, 549,
1626 0, 547, 549, 547, 549, 547, 549, 552, 0, 0,
1627 547, 549, 0, 0, 0, 554, 0, 552, 0, 552,
1628 0, 552, 0, 556, 0, 554, 552, 554, 554, 554,
vlmfa67ddc2004-06-03 03:38:44 +00001629
vlm6611add2005-03-20 14:28:32 +00001630 0, 0, 0, 556, 554, 556, 558, 556, 0, 564,
1631 0, 556, 556, 0, 0, 0, 558, 565, 558, 564,
1632 558, 564, 0, 564, 0, 558, 0, 565, 564, 565,
1633 566, 565, 566, 567, 0, 0, 565, 0, 0, 0,
1634 566, 568, 566, 567, 566, 567, 0, 567, 0, 566,
1635 0, 568, 567, 568, 569, 568, 0, 0, 568, 0,
1636 568, 0, 570, 0, 569, 0, 569, 569, 569, 0,
1637 571, 0, 570, 569, 570, 0, 570, 571, 575, 0,
1638 571, 570, 571, 0, 571, 0, 576, 0, 575, 571,
1639 575, 0, 575, 0, 577, 0, 576, 575, 576, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001640
vlm6611add2005-03-20 14:28:32 +00001641 576, 0, 579, 0, 577, 576, 577, 577, 577, 0,
1642 582, 0, 579, 577, 579, 0, 579, 582, 584, 0,
1643 582, 579, 582, 0, 582, 584, 585, 0, 584, 582,
1644 584, 0, 584, 585, 592, 0, 585, 584, 585, 0,
1645 585, 0, 593, 0, 592, 585, 592, 0, 592, 0,
1646 594, 0, 593, 592, 593, 0, 593, 0, 595, 0,
1647 594, 593, 594, 0, 594, 0, 596, 0, 595, 594,
1648 595, 0, 595, 0, 0, 0, 596, 595, 596, 600,
1649 596, 0, 0, 0, 596, 596, 0, 601, 0, 600,
1650 0, 600, 0, 600, 0, 603, 600, 601, 600, 601,
vlmfa67ddc2004-06-03 03:38:44 +00001651
vlm6611add2005-03-20 14:28:32 +00001652 0, 601, 603, 606, 0, 603, 601, 603, 0, 603,
1653 0, 0, 0, 606, 603, 606, 608, 606, 608, 609,
1654 0, 606, 606, 609, 0, 0, 608, 615, 608, 609,
1655 608, 609, 0, 609, 0, 608, 0, 615, 609, 615,
1656 616, 615, 0, 620, 0, 615, 615, 0, 0, 0,
1657 616, 0, 616, 620, 616, 620, 621, 620, 0, 616,
1658 0, 0, 620, 616, 623, 0, 621, 626, 621, 0,
1659 621, 0, 0, 0, 623, 621, 623, 626, 623, 626,
1660 0, 626, 623, 623, 628, 629, 626, 0, 0, 0,
1661 626, 0, 629, 0, 628, 629, 628, 629, 628, 629,
vlmfa67ddc2004-06-03 03:38:44 +00001662
vlm6611add2005-03-20 14:28:32 +00001663 635, 636, 0, 628, 629, 0, 0, 0, 0, 0,
1664 635, 636, 635, 636, 635, 636, 635, 640, 643, 635,
1665 636, 0, 0, 0, 0, 0, 0, 640, 643, 640,
1666 643, 640, 643, 0, 0, 645, 640, 643, 645, 0,
1667 640, 0, 0, 651, 0, 645, 0, 645, 0, 645,
1668 0, 653, 0, 651, 645, 651, 651, 651, 0, 656,
1669 0, 653, 651, 653, 0, 653, 0, 660, 0, 656,
1670 653, 656, 0, 656, 0, 656, 0, 660, 656, 660,
1671 664, 660, 0, 667, 0, 0, 660, 0, 0, 0,
1672 664, 0, 664, 667, 664, 667, 0, 667, 0, 664,
vlmfa67ddc2004-06-03 03:38:44 +00001673
vlm6611add2005-03-20 14:28:32 +00001674 0, 0, 667, 671, 671, 671, 671, 671, 671, 671,
1675 671, 671, 671, 671, 672, 672, 672, 672, 672, 672,
1676 672, 672, 672, 672, 672, 673, 673, 673, 673, 673,
1677 673, 673, 673, 673, 673, 673, 674, 674, 674, 674,
1678 674, 674, 674, 674, 674, 674, 674, 675, 675, 675,
1679 675, 675, 675, 675, 675, 675, 675, 675, 676, 676,
1680 676, 676, 676, 676, 676, 676, 676, 676, 676, 677,
1681 677, 677, 0, 677, 677, 677, 677, 677, 677, 677,
1682 678, 678, 0, 0, 678, 0, 678, 679, 679, 0,
1683 679, 680, 680, 0, 680, 680, 680, 0, 680, 680,
vlmfa67ddc2004-06-03 03:38:44 +00001684
vlm6611add2005-03-20 14:28:32 +00001685 680, 680, 681, 681, 681, 0, 681, 681, 681, 681,
1686 681, 681, 681, 682, 682, 682, 682, 682, 682, 682,
1687 682, 0, 682, 683, 0, 0, 683, 683, 683, 683,
1688 683, 683, 683, 684, 0, 0, 684, 684, 684, 684,
1689 684, 684, 684, 685, 0, 0, 685, 0, 685, 685,
1690 685, 685, 685, 686, 686, 0, 686, 687, 687, 0,
1691 687, 688, 688, 0, 688, 670, 670, 670, 670, 670,
1692 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1693 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1694 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
vlm9283dbe2004-08-18 04:59:12 +00001695
vlm6611add2005-03-20 14:28:32 +00001696 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1697 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1698 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1699 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
1700 670, 670, 670
vlmfa67ddc2004-06-03 03:38:44 +00001701 } ;
1702
1703extern int yy_flex_debug;
1704int yy_flex_debug = 1;
1705
vlm2728a8d2005-01-23 09:51:44 +00001706static yyconst short int yy_rule_linenum[129] =
vlmfa67ddc2004-06-03 03:38:44 +00001707 { 0,
vlm9283dbe2004-08-18 04:59:12 +00001708 103, 106, 108, 109, 110, 113, 115, 116, 117, 129,
1709 136, 143, 149, 158, 166, 174, 175, 177, 196, 202,
vlm2728a8d2005-01-23 09:51:44 +00001710 203, 204, 205, 206, 209, 215, 222, 229, 236, 243,
1711 247, 248, 256, 257, 258, 259, 260, 265, 266, 267,
1712 268, 269, 270, 271, 272, 273, 274, 275, 284, 285,
1713 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1714 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1715 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1716 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1717 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
vlmfa67ddc2004-06-03 03:38:44 +00001718
vlm2728a8d2005-01-23 09:51:44 +00001719 336, 337, 338, 339, 340, 341, 342, 347, 348, 353,
1720 354, 355, 358, 364, 371, 380, 391, 397, 399, 400,
1721 402, 404, 406, 419, 425, 431, 438, 440
vlmfa67ddc2004-06-03 03:38:44 +00001722 } ;
1723
1724static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1725static char *yy_full_match;
1726static int yy_lp;
1727#define REJECT \
1728{ \
1729*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1730yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1731++yy_lp; \
1732goto find_rule; \
1733}
1734#define yymore() yymore_used_but_not_detected
1735#define YY_MORE_ADJ 0
1736#define YY_RESTORE_YY_MORE_OFFSET
1737char *yytext;
1738#line 1 "asn1p_l.l"
1739#define INITIAL 0
1740#line 2 "asn1p_l.l"
1741
1742#include <string.h>
1743#include <errno.h>
1744#include <assert.h>
1745
1746#include "asn1parser.h"
1747#include "asn1p_y.h"
1748
1749int asn1p_lex(void);
1750void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1751void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
vlm9283dbe2004-08-18 04:59:12 +00001752void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
vlmfa67ddc2004-06-03 03:38:44 +00001753
1754#define YY_FATAL_ERROR(msg) do { \
1755 fprintf(stderr, \
1756 "lexer error at line %d, " \
1757 "text \"%s\"\n", \
1758 yylineno, yytext); \
1759 exit(1); \
1760 } while(0)
1761
1762int asn1p_lexer_pedantic_1990 = 0;
1763int asn1p_lexer_types_year = 0;
1764int asn1p_lexer_constructs_year = 0;
1765static int _check_dashes(char *ptr);
vlmec6acd42004-09-29 13:18:09 +00001766static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
vlmfa67ddc2004-06-03 03:38:44 +00001767
1768/*
1769 * Check that the type is defined in the year of the standard choosen.
1770 */
1771#define TYPE_LIFETIME(fyr, lyr) \
1772 (!asn1p_lexer_types_year \
1773 || (fyr && fyr <= asn1p_lexer_types_year) \
1774 || (lyr && lyr > asn1p_lexer_types_year))
1775
1776/*
1777 * Check the the construction (or concept, i.e. CLASS) is defined in
1778 * a given year.
1779 */
1780#define CONSTRUCT_LIFETIME(fyr, lyr) \
1781 (!asn1p_lexer_constructs_year \
1782 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1783 || (lyr && lyr > asn1p_lexer_constructs_year))
1784
1785/*
1786 * Make sure that the label is compliant with the naming rules.
1787 */
1788#define CHECK_DASHES do { \
1789 if(_check_dashes(yytext)) { \
1790 fprintf(stderr, \
1791 "%s: Identifier format invalid: " \
1792 "Improper dash location\n", yytext); \
1793 return -1; \
1794 } } while(0)
1795
1796/*
1797 * Append quoted string.
1798 */
1799#define QAPPEND(text, tlen) do { \
1800 char *prev_text = asn1p_lval.tv_opaque.buf; \
1801 int prev_len = asn1p_lval.tv_opaque.len; \
1802 char *p; \
1803 \
1804 p = malloc((tlen) + prev_len + 1); \
1805 if(p == NULL) return -1; \
1806 \
1807 if(prev_text) memcpy(p, prev_text, prev_len); \
1808 memcpy(p + prev_len, text, tlen); \
1809 p[prev_len + (tlen)] = '\0'; \
1810 \
1811 free(asn1p_lval.tv_opaque.buf); \
1812 asn1p_lval.tv_opaque.buf = p; \
1813 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1814 } while(0)
1815
1816#define YY_NEVER_INTERACTIVE 1
1817#define YY_NO_INPUT 1
vlmfa67ddc2004-06-03 03:38:44 +00001818#define YY_STACK_USED 1
1819/* Performance penalty is OK */
1820/* Controlled from within application */
1821#define dash_comment 1
1822
1823#define cpp_comment 2
1824
1825#define quoted 3
1826
1827#define opaque 4
1828
vlm9283dbe2004-08-18 04:59:12 +00001829#define encoding_control 5
1830
1831#define with_syntax 6
vlmfa67ddc2004-06-03 03:38:44 +00001832
1833/* Newline */
1834/* White-space */
vlm6611add2005-03-20 14:28:32 +00001835#line 1836 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00001836
1837/* Macros after this point can all be overridden by user definitions in
1838 * section 1.
1839 */
1840
1841#ifndef YY_SKIP_YYWRAP
1842#ifdef __cplusplus
1843extern "C" int yywrap YY_PROTO(( void ));
1844#else
1845extern int yywrap YY_PROTO(( void ));
1846#endif
1847#endif
1848
1849#ifndef YY_NO_UNPUT
1850static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1851#endif
1852
1853#ifndef yytext_ptr
1854static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1855#endif
1856
1857#ifdef YY_NEED_STRLEN
1858static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1859#endif
1860
1861#ifndef YY_NO_INPUT
1862#ifdef __cplusplus
1863static int yyinput YY_PROTO(( void ));
1864#else
1865static int input YY_PROTO(( void ));
1866#endif
1867#endif
1868
1869#if YY_STACK_USED
1870static int yy_start_stack_ptr = 0;
1871static int yy_start_stack_depth = 0;
1872static int *yy_start_stack = 0;
1873#ifndef YY_NO_PUSH_STATE
1874static void yy_push_state YY_PROTO(( int new_state ));
1875#endif
1876#ifndef YY_NO_POP_STATE
1877static void yy_pop_state YY_PROTO(( void ));
1878#endif
1879#ifndef YY_NO_TOP_STATE
1880static int yy_top_state YY_PROTO(( void ));
1881#endif
1882
1883#else
1884#define YY_NO_PUSH_STATE 1
1885#define YY_NO_POP_STATE 1
1886#define YY_NO_TOP_STATE 1
1887#endif
1888
1889#ifdef YY_MALLOC_DECL
1890YY_MALLOC_DECL
1891#else
1892#if __STDC__
1893#ifndef __cplusplus
1894#include <stdlib.h>
1895#endif
1896#else
1897/* Just try to get by without declaring the routines. This will fail
1898 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1899 * or sizeof(void*) != sizeof(int).
1900 */
1901#endif
1902#endif
1903
1904/* Amount of stuff to slurp up with each read. */
1905#ifndef YY_READ_BUF_SIZE
1906#define YY_READ_BUF_SIZE 8192
1907#endif
1908
1909/* Copy whatever the last rule matched to the standard output. */
1910
1911#ifndef ECHO
1912/* This used to be an fputs(), but since the string might contain NUL's,
1913 * we now use fwrite().
1914 */
1915#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1916#endif
1917
1918/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1919 * is returned in "result".
1920 */
1921#ifndef YY_INPUT
1922#define YY_INPUT(buf,result,max_size) \
1923 if ( yy_current_buffer->yy_is_interactive ) \
1924 { \
1925 int c = '*', n; \
1926 for ( n = 0; n < max_size && \
1927 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1928 buf[n] = (char) c; \
1929 if ( c == '\n' ) \
1930 buf[n++] = (char) c; \
1931 if ( c == EOF && ferror( yyin ) ) \
1932 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1933 result = n; \
1934 } \
1935 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1936 && ferror( yyin ) ) \
1937 YY_FATAL_ERROR( "input in flex scanner failed" );
1938#endif
1939
1940/* No semi-colon after return; correct usage is to write "yyterminate();" -
1941 * we don't want an extra ';' after the "return" because that will cause
1942 * some compilers to complain about unreachable statements.
1943 */
1944#ifndef yyterminate
1945#define yyterminate() return YY_NULL
1946#endif
1947
1948/* Number of entries by which start-condition stack grows. */
1949#ifndef YY_START_STACK_INCR
1950#define YY_START_STACK_INCR 25
1951#endif
1952
1953/* Report a fatal error. */
1954#ifndef YY_FATAL_ERROR
1955#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1956#endif
1957
1958/* Default declaration of generated scanner - a define so the user can
1959 * easily add parameters.
1960 */
1961#ifndef YY_DECL
1962#define YY_DECL int yylex YY_PROTO(( void ))
1963#endif
1964
1965/* Code executed at the beginning of each rule, after yytext and yyleng
1966 * have been set up.
1967 */
1968#ifndef YY_USER_ACTION
1969#define YY_USER_ACTION
1970#endif
1971
1972/* Code executed at the end of each rule. */
1973#ifndef YY_BREAK
1974#define YY_BREAK break;
1975#endif
1976
1977#define YY_RULE_SETUP \
1978 YY_USER_ACTION
1979
1980YY_DECL
1981 {
1982 register yy_state_type yy_current_state;
1983 register char *yy_cp, *yy_bp;
1984 register int yy_act;
1985
vlm9283dbe2004-08-18 04:59:12 +00001986#line 101 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00001987
1988
vlm6611add2005-03-20 14:28:32 +00001989#line 1990 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00001990
1991 if ( yy_init )
1992 {
1993 yy_init = 0;
1994
1995#ifdef YY_USER_INIT
1996 YY_USER_INIT;
1997#endif
1998
1999 if ( ! yy_start )
2000 yy_start = 1; /* first start state */
2001
2002 if ( ! yyin )
2003 yyin = stdin;
2004
2005 if ( ! yyout )
2006 yyout = stdout;
2007
2008 if ( ! yy_current_buffer )
2009 yy_current_buffer =
2010 yy_create_buffer( yyin, YY_BUF_SIZE );
2011
2012 yy_load_buffer_state();
2013 }
2014
2015 while ( 1 ) /* loops until end-of-file is reached */
2016 {
2017 yy_cp = yy_c_buf_p;
2018
2019 /* Support of yytext. */
2020 *yy_cp = yy_hold_char;
2021
2022 /* yy_bp points to the position in yy_ch_buf of the start of
2023 * the current run.
2024 */
2025 yy_bp = yy_cp;
2026
2027 yy_current_state = yy_start;
2028 yy_state_ptr = yy_state_buf;
2029 *yy_state_ptr++ = yy_current_state;
2030yy_match:
2031 do
2032 {
2033 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2034 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2035 {
2036 yy_current_state = (int) yy_def[yy_current_state];
vlm6611add2005-03-20 14:28:32 +00002037 if ( yy_current_state >= 671 )
vlmfa67ddc2004-06-03 03:38:44 +00002038 yy_c = yy_meta[(unsigned int) yy_c];
2039 }
2040 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2041 *yy_state_ptr++ = yy_current_state;
2042 ++yy_cp;
2043 }
vlm6611add2005-03-20 14:28:32 +00002044 while ( yy_base[yy_current_state] != 4266 );
vlmfa67ddc2004-06-03 03:38:44 +00002045
2046yy_find_action:
2047 yy_current_state = *--yy_state_ptr;
2048 yy_lp = yy_accept[yy_current_state];
2049find_rule: /* we branch to this label when backing up */
2050 for ( ; ; ) /* until we find what rule we matched */
2051 {
2052 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2053 {
2054 yy_act = yy_acclist[yy_lp];
2055 {
2056 yy_full_match = yy_cp;
2057 break;
2058 }
2059 }
2060 --yy_cp;
2061 yy_current_state = *--yy_state_ptr;
2062 yy_lp = yy_accept[yy_current_state];
2063 }
2064
2065 YY_DO_BEFORE_ACTION;
2066
2067 if ( yy_act != YY_END_OF_BUFFER )
2068 {
2069 int yyl;
2070 for ( yyl = 0; yyl < yyleng; ++yyl )
2071 if ( yytext[yyl] == '\n' )
2072 ++yylineno;
2073 }
2074
2075do_action: /* This label is used only to access EOF actions. */
2076
2077 if ( yy_flex_debug )
2078 {
2079 if ( yy_act == 0 )
2080 fprintf( stderr, "--scanner backing up\n" );
vlm2728a8d2005-01-23 09:51:44 +00002081 else if ( yy_act < 129 )
vlmfa67ddc2004-06-03 03:38:44 +00002082 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2083 yy_rule_linenum[yy_act], yytext );
vlm2728a8d2005-01-23 09:51:44 +00002084 else if ( yy_act == 129 )
vlmfa67ddc2004-06-03 03:38:44 +00002085 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2086 yytext );
vlm2728a8d2005-01-23 09:51:44 +00002087 else if ( yy_act == 130 )
vlmfa67ddc2004-06-03 03:38:44 +00002088 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2089 else
2090 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2091 }
2092
2093 switch ( yy_act )
2094 { /* beginning of action switch */
2095case 1:
2096YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002097#line 103 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002098yy_push_state(dash_comment);
2099 YY_BREAK
2100
2101case 2:
2102YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002103#line 106 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002104yy_pop_state();
2105 YY_BREAK
2106case 3:
2107YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002108#line 108 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002109yy_pop_state(); /* End of comment */
2110 YY_BREAK
2111case 4:
2112YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002113#line 109 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002114/* Eat single dash */
2115 YY_BREAK
2116case 5:
2117YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002118#line 110 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002119/* Eat */
2120 YY_BREAK
2121
2122case 6:
2123YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002124#line 113 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002125yy_push_state(cpp_comment);
2126 YY_BREAK
2127
2128case 7:
2129YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002130#line 115 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002131/* Eat */
2132 YY_BREAK
2133case 8:
2134YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002135#line 116 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002136yy_pop_state();
2137 YY_BREAK
2138case 9:
2139YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002140#line 117 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002141/* Eat */
2142 YY_BREAK
2143
2144/*
2145 * This is state is being set from corresponding .y module when
2146 * higher-level data is necessary to make proper parsing of the
2147 * underlying data. Thus, we enter the <opaque> state and save
2148 * everything for later processing.
2149 */
2150
2151case 10:
2152YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002153#line 129 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002154{
2155 yy_push_state(opaque);
2156 asn1p_lval.tv_opaque.buf = strdup(yytext);
2157 asn1p_lval.tv_opaque.len = yyleng;
2158 return TOK_opaque;
2159 }
2160 YY_BREAK
2161case 11:
2162YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002163#line 136 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002164{
2165 yy_pop_state();
2166 asn1p_lval.tv_opaque.buf = strdup(yytext);
2167 asn1p_lval.tv_opaque.len = yyleng;
2168 return TOK_opaque;
2169 }
2170 YY_BREAK
2171case 12:
2172YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002173#line 143 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002174{
2175 asn1p_lval.tv_opaque.buf = strdup(yytext);
2176 asn1p_lval.tv_opaque.len = yyleng;
2177 return TOK_opaque;
2178 }
2179 YY_BREAK
2180case 13:
2181YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002182#line 149 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002183{
2184 fprintf(stderr,
2185 "ASN.1 Parser syncronization failure: "
2186 "\"%s\" at line %d must not appear "
2187 "inside value definition\n",
2188 yytext, yylineno);
2189 return -1;
2190 }
2191 YY_BREAK
2192case 14:
2193YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002194#line 158 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002195{
2196 asn1p_lval.tv_opaque.buf = strdup(yytext);
2197 asn1p_lval.tv_opaque.len = yyleng;
2198 return TOK_opaque;
2199 }
2200 YY_BREAK
2201
2202case 15:
2203YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002204#line 166 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002205{
2206 asn1p_lval.tv_opaque.buf = 0;
2207 asn1p_lval.tv_opaque.len = 0;
2208 QAPPEND(yytext+1, yyleng-1);
2209 yy_push_state(quoted);
2210 }
2211 YY_BREAK
2212
2213case 16:
2214YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002215#line 174 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002216{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2217 YY_BREAK
2218case 17:
2219YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002220#line 175 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002221{ QAPPEND(yytext, yyleng); }
2222 YY_BREAK
2223case 18:
2224YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002225#line 177 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002226{
2227 yy_pop_state();
2228 /* Do not append last quote:
2229 // QAPPEND(yytext, yyleng); */
2230
2231 if(asn1p_lexer_pedantic_1990
2232 && strchr(yytext, '\n')) {
2233 fprintf(stderr, "%s: "
2234 "Newlines are prohibited by ASN.1:1990\n",
2235 asn1p_lval.tv_opaque.buf);
2236 return -1;
2237 }
2238
2239 return TOK_cstring;
2240 }
2241 YY_BREAK
2242
vlm9283dbe2004-08-18 04:59:12 +00002243
vlmfa67ddc2004-06-03 03:38:44 +00002244case 19:
2245YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002246#line 196 "asn1p_l.l"
2247{
2248 const char *s = "ENCODING-CONTROL";
2249 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2250 for(; p >= s; p--) unput(*p);
2251 yy_pop_state();
2252 }
2253 YY_BREAK
2254case 20:
2255YY_RULE_SETUP
2256#line 202 "asn1p_l.l"
2257unput('D'); unput('N'); unput('E'); yy_pop_state();
2258 YY_BREAK
2259case 21:
2260YY_RULE_SETUP
2261#line 203 "asn1p_l.l"
2262
2263 YY_BREAK
2264case 22:
2265YY_RULE_SETUP
2266#line 204 "asn1p_l.l"
2267
2268 YY_BREAK
2269case 23:
2270YY_RULE_SETUP
2271#line 205 "asn1p_l.l"
2272/* Eat everything else */
2273 YY_BREAK
2274case 24:
2275YY_RULE_SETUP
2276#line 206 "asn1p_l.l"
2277
2278 YY_BREAK
2279
2280case 25:
2281YY_RULE_SETUP
2282#line 209 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002283{
2284 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2285 asn1p_lval.tv_str = yytext;
2286 return TOK_hstring;
2287 }
2288 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002289case 26:
vlmfa67ddc2004-06-03 03:38:44 +00002290YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002291#line 215 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002292{
2293 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2294 asn1p_lval.tv_str = strdup(yytext);
2295 return TOK_bstring;
2296 }
2297 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002298case 27:
vlmfa67ddc2004-06-03 03:38:44 +00002299YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002300#line 222 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002301{
2302 asn1p_lval.a_int = asn1p_atoi(yytext);
2303 if(errno == ERANGE)
2304 return -1;
2305 return TOK_number_negative;
2306 }
2307 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002308case 28:
vlmfa67ddc2004-06-03 03:38:44 +00002309YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002310#line 229 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002311{
2312 asn1p_lval.a_int = asn1p_atoi(yytext);
2313 if(errno == ERANGE)
2314 return -1;
2315 return TOK_number;
2316 }
2317 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002318case 29:
vlmfa67ddc2004-06-03 03:38:44 +00002319YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002320#line 236 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002321{
2322 asn1p_lval.a_int = asn1p_atoi(yytext);
2323 if(errno == ERANGE)
2324 return -1;
2325 return TOK_number;
2326 }
2327 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002328case 30:
vlmfa67ddc2004-06-03 03:38:44 +00002329YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002330#line 243 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002331return TOK_ABSENT;
2332 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002333/*
2334ABSTRACT-SYNTAX return TOK_ABSTRACT_SYNTAX;
2335 */
vlm2728a8d2005-01-23 09:51:44 +00002336case 31:
vlmfa67ddc2004-06-03 03:38:44 +00002337YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002338#line 247 "asn1p_l.l"
vlmc94e28f2004-09-15 11:59:51 +00002339return TOK_ALL;
vlmfa67ddc2004-06-03 03:38:44 +00002340 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002341case 32:
vlmfa67ddc2004-06-03 03:38:44 +00002342YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002343#line 248 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002344{
2345 /* Appeared in 1990, removed in 1997 */
2346 if(TYPE_LIFETIME(1990, 1997))
2347 return TOK_ANY;
2348 fprintf(stderr, "Keyword \"%s\" at line %d "
2349 "is obsolete\n", yytext, yylineno);
2350 REJECT;
2351 }
2352 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002353case 33:
2354YY_RULE_SETUP
2355#line 256 "asn1p_l.l"
2356return TOK_APPLICATION;
2357 YY_BREAK
2358case 34:
2359YY_RULE_SETUP
2360#line 257 "asn1p_l.l"
2361return TOK_AUTOMATIC;
2362 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002363case 35:
2364YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002365#line 258 "asn1p_l.l"
2366return TOK_BEGIN;
vlmc94e28f2004-09-15 11:59:51 +00002367 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002368case 36:
vlmfa67ddc2004-06-03 03:38:44 +00002369YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002370#line 259 "asn1p_l.l"
2371return TOK_BIT;
vlmfa67ddc2004-06-03 03:38:44 +00002372 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002373case 37:
vlmfa67ddc2004-06-03 03:38:44 +00002374YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002375#line 260 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002376{
2377 if(TYPE_LIFETIME(1994, 0))
2378 return TOK_BMPString;
2379 REJECT;
2380 }
2381 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002382case 38:
2383YY_RULE_SETUP
2384#line 265 "asn1p_l.l"
2385return TOK_BOOLEAN;
2386 YY_BREAK
2387case 39:
2388YY_RULE_SETUP
2389#line 266 "asn1p_l.l"
2390return TOK_BY;
2391 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002392case 40:
2393YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002394#line 267 "asn1p_l.l"
2395return TOK_CHARACTER;
vlmc94e28f2004-09-15 11:59:51 +00002396 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002397case 41:
2398YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002399#line 268 "asn1p_l.l"
2400return TOK_CHOICE;
vlmfa67ddc2004-06-03 03:38:44 +00002401 YY_BREAK
2402case 42:
2403YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002404#line 269 "asn1p_l.l"
2405return TOK_CLASS;
vlmfa67ddc2004-06-03 03:38:44 +00002406 YY_BREAK
2407case 43:
2408YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002409#line 270 "asn1p_l.l"
2410return TOK_COMPONENT;
vlmfa67ddc2004-06-03 03:38:44 +00002411 YY_BREAK
2412case 44:
2413YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002414#line 271 "asn1p_l.l"
2415return TOK_COMPONENTS;
vlmfa67ddc2004-06-03 03:38:44 +00002416 YY_BREAK
2417case 45:
2418YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002419#line 272 "asn1p_l.l"
2420return TOK_CONSTRAINED;
vlm9283dbe2004-08-18 04:59:12 +00002421 YY_BREAK
2422case 46:
2423YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002424#line 273 "asn1p_l.l"
2425return TOK_CONTAINING;
vlm9283dbe2004-08-18 04:59:12 +00002426 YY_BREAK
2427case 47:
2428YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002429#line 274 "asn1p_l.l"
2430return TOK_DEFAULT;
vlm9283dbe2004-08-18 04:59:12 +00002431 YY_BREAK
2432case 48:
2433YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002434#line 275 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002435{
2436 /* Appeared in 1990, removed in 1997 */
2437 if(TYPE_LIFETIME(1990, 1997))
2438 return TOK_DEFINED;
2439 fprintf(stderr, "Keyword \"%s\" at line %d "
2440 "is obsolete\n", yytext, yylineno);
2441 /* Deprecated since */
2442 REJECT;
2443 }
2444 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002445case 49:
2446YY_RULE_SETUP
2447#line 284 "asn1p_l.l"
2448return TOK_DEFINITIONS;
2449 YY_BREAK
2450case 50:
2451YY_RULE_SETUP
2452#line 285 "asn1p_l.l"
2453return TOK_EMBEDDED;
2454 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002455case 51:
2456YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002457#line 286 "asn1p_l.l"
2458return TOK_ENCODED;
vlmc94e28f2004-09-15 11:59:51 +00002459 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002460case 52:
2461YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002462#line 287 "asn1p_l.l"
2463return TOK_ENCODING_CONTROL;
vlmfa67ddc2004-06-03 03:38:44 +00002464 YY_BREAK
2465case 53:
2466YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002467#line 288 "asn1p_l.l"
2468return TOK_END;
vlmfa67ddc2004-06-03 03:38:44 +00002469 YY_BREAK
2470case 54:
2471YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002472#line 289 "asn1p_l.l"
2473return TOK_ENUMERATED;
vlmfa67ddc2004-06-03 03:38:44 +00002474 YY_BREAK
2475case 55:
2476YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002477#line 290 "asn1p_l.l"
2478return TOK_EXCEPT;
vlmfa67ddc2004-06-03 03:38:44 +00002479 YY_BREAK
2480case 56:
2481YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002482#line 291 "asn1p_l.l"
2483return TOK_EXPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002484 YY_BREAK
2485case 57:
2486YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002487#line 292 "asn1p_l.l"
2488return TOK_EXPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002489 YY_BREAK
2490case 58:
2491YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002492#line 293 "asn1p_l.l"
2493return TOK_EXTENSIBILITY;
vlmfa67ddc2004-06-03 03:38:44 +00002494 YY_BREAK
2495case 59:
2496YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002497#line 294 "asn1p_l.l"
2498return TOK_EXTERNAL;
vlmfa67ddc2004-06-03 03:38:44 +00002499 YY_BREAK
2500case 60:
2501YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002502#line 295 "asn1p_l.l"
2503return TOK_FALSE;
vlmfa67ddc2004-06-03 03:38:44 +00002504 YY_BREAK
2505case 61:
2506YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002507#line 296 "asn1p_l.l"
2508return TOK_FROM;
vlmfa67ddc2004-06-03 03:38:44 +00002509 YY_BREAK
2510case 62:
2511YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002512#line 297 "asn1p_l.l"
2513return TOK_GeneralizedTime;
vlmfa67ddc2004-06-03 03:38:44 +00002514 YY_BREAK
2515case 63:
2516YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002517#line 298 "asn1p_l.l"
2518return TOK_GeneralString;
vlmfa67ddc2004-06-03 03:38:44 +00002519 YY_BREAK
2520case 64:
2521YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002522#line 299 "asn1p_l.l"
2523return TOK_GraphicString;
vlmfa67ddc2004-06-03 03:38:44 +00002524 YY_BREAK
2525case 65:
2526YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002527#line 300 "asn1p_l.l"
2528return TOK_IA5String;
vlmfa67ddc2004-06-03 03:38:44 +00002529 YY_BREAK
2530case 66:
2531YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002532#line 301 "asn1p_l.l"
2533return TOK_IDENTIFIER;
vlmfa67ddc2004-06-03 03:38:44 +00002534 YY_BREAK
2535case 67:
2536YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002537#line 302 "asn1p_l.l"
2538return TOK_IMPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002539 YY_BREAK
2540case 68:
2541YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002542#line 303 "asn1p_l.l"
2543return TOK_IMPLIED;
vlmfa67ddc2004-06-03 03:38:44 +00002544 YY_BREAK
2545case 69:
2546YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002547#line 304 "asn1p_l.l"
2548return TOK_IMPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002549 YY_BREAK
2550case 70:
2551YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002552#line 305 "asn1p_l.l"
2553return TOK_INCLUDES;
vlmfa67ddc2004-06-03 03:38:44 +00002554 YY_BREAK
2555case 71:
2556YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002557#line 306 "asn1p_l.l"
2558return TOK_INSTANCE;
vlmfa67ddc2004-06-03 03:38:44 +00002559 YY_BREAK
2560case 72:
2561YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002562#line 307 "asn1p_l.l"
2563return TOK_INSTRUCTIONS;
vlmfa67ddc2004-06-03 03:38:44 +00002564 YY_BREAK
2565case 73:
2566YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002567#line 308 "asn1p_l.l"
2568return TOK_INTEGER;
vlmfa67ddc2004-06-03 03:38:44 +00002569 YY_BREAK
2570case 74:
2571YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002572#line 309 "asn1p_l.l"
2573return TOK_INTERSECTION;
vlmfa67ddc2004-06-03 03:38:44 +00002574 YY_BREAK
2575case 75:
2576YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002577#line 310 "asn1p_l.l"
2578return TOK_ISO646String;
vlmfa67ddc2004-06-03 03:38:44 +00002579 YY_BREAK
2580case 76:
2581YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002582#line 311 "asn1p_l.l"
2583return TOK_MAX;
vlmfa67ddc2004-06-03 03:38:44 +00002584 YY_BREAK
2585case 77:
2586YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002587#line 312 "asn1p_l.l"
2588return TOK_MIN;
vlmfa67ddc2004-06-03 03:38:44 +00002589 YY_BREAK
2590case 78:
2591YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002592#line 313 "asn1p_l.l"
2593return TOK_MINUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002594 YY_BREAK
2595case 79:
2596YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002597#line 314 "asn1p_l.l"
2598return TOK_NULL;
vlmfa67ddc2004-06-03 03:38:44 +00002599 YY_BREAK
2600case 80:
2601YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002602#line 315 "asn1p_l.l"
2603return TOK_NumericString;
vlmfa67ddc2004-06-03 03:38:44 +00002604 YY_BREAK
2605case 81:
2606YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002607#line 316 "asn1p_l.l"
2608return TOK_OBJECT;
vlmfa67ddc2004-06-03 03:38:44 +00002609 YY_BREAK
2610case 82:
2611YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002612#line 317 "asn1p_l.l"
2613return TOK_ObjectDescriptor;
vlmfa67ddc2004-06-03 03:38:44 +00002614 YY_BREAK
2615case 83:
2616YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002617#line 318 "asn1p_l.l"
2618return TOK_OCTET;
vlmfa67ddc2004-06-03 03:38:44 +00002619 YY_BREAK
2620case 84:
2621YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002622#line 319 "asn1p_l.l"
2623return TOK_OF;
vlmfa67ddc2004-06-03 03:38:44 +00002624 YY_BREAK
2625case 85:
2626YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002627#line 320 "asn1p_l.l"
2628return TOK_OPTIONAL;
vlmfa67ddc2004-06-03 03:38:44 +00002629 YY_BREAK
2630case 86:
2631YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002632#line 321 "asn1p_l.l"
2633return TOK_PATTERN;
vlmfa67ddc2004-06-03 03:38:44 +00002634 YY_BREAK
2635case 87:
2636YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002637#line 322 "asn1p_l.l"
2638return TOK_PDV;
vlmfa67ddc2004-06-03 03:38:44 +00002639 YY_BREAK
2640case 88:
2641YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002642#line 323 "asn1p_l.l"
2643return TOK_PLUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002644 YY_BREAK
2645case 89:
2646YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002647#line 324 "asn1p_l.l"
2648return TOK_PRESENT;
vlmfa67ddc2004-06-03 03:38:44 +00002649 YY_BREAK
2650case 90:
2651YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002652#line 325 "asn1p_l.l"
2653return TOK_PrintableString;
vlmfa67ddc2004-06-03 03:38:44 +00002654 YY_BREAK
2655case 91:
2656YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002657#line 326 "asn1p_l.l"
2658return TOK_PRIVATE;
vlmfa67ddc2004-06-03 03:38:44 +00002659 YY_BREAK
2660case 92:
2661YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002662#line 327 "asn1p_l.l"
2663return TOK_REAL;
vlmfa67ddc2004-06-03 03:38:44 +00002664 YY_BREAK
2665case 93:
2666YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002667#line 328 "asn1p_l.l"
2668return TOK_RELATIVE_OID;
vlmfa67ddc2004-06-03 03:38:44 +00002669 YY_BREAK
2670case 94:
2671YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002672#line 329 "asn1p_l.l"
2673return TOK_SEQUENCE;
vlmfa67ddc2004-06-03 03:38:44 +00002674 YY_BREAK
2675case 95:
2676YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002677#line 330 "asn1p_l.l"
2678return TOK_SET;
vlmfa67ddc2004-06-03 03:38:44 +00002679 YY_BREAK
2680case 96:
2681YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002682#line 331 "asn1p_l.l"
2683return TOK_SIZE;
vlmfa67ddc2004-06-03 03:38:44 +00002684 YY_BREAK
2685case 97:
2686YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002687#line 332 "asn1p_l.l"
2688return TOK_STRING;
vlmfa67ddc2004-06-03 03:38:44 +00002689 YY_BREAK
2690case 98:
2691YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002692#line 333 "asn1p_l.l"
2693return TOK_SYNTAX;
vlmfa67ddc2004-06-03 03:38:44 +00002694 YY_BREAK
2695case 99:
2696YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002697#line 334 "asn1p_l.l"
2698return TOK_T61String;
vlmfa67ddc2004-06-03 03:38:44 +00002699 YY_BREAK
2700case 100:
2701YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002702#line 335 "asn1p_l.l"
2703return TOK_TAGS;
vlmfa67ddc2004-06-03 03:38:44 +00002704 YY_BREAK
2705case 101:
2706YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002707#line 336 "asn1p_l.l"
2708return TOK_TeletexString;
vlmfa67ddc2004-06-03 03:38:44 +00002709 YY_BREAK
2710case 102:
2711YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002712#line 337 "asn1p_l.l"
2713return TOK_TRUE;
vlm9283dbe2004-08-18 04:59:12 +00002714 YY_BREAK
2715case 103:
2716YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002717#line 338 "asn1p_l.l"
2718return TOK_TYPE_IDENTIFIER;
vlm9283dbe2004-08-18 04:59:12 +00002719 YY_BREAK
2720case 104:
2721YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002722#line 339 "asn1p_l.l"
2723return TOK_UNION;
vlm9283dbe2004-08-18 04:59:12 +00002724 YY_BREAK
2725case 105:
2726YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002727#line 340 "asn1p_l.l"
2728return TOK_UNIQUE;
vlm9283dbe2004-08-18 04:59:12 +00002729 YY_BREAK
2730case 106:
2731YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002732#line 341 "asn1p_l.l"
2733return TOK_UNIVERSAL;
vlm9283dbe2004-08-18 04:59:12 +00002734 YY_BREAK
2735case 107:
2736YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002737#line 342 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002738{
2739 if(TYPE_LIFETIME(1994, 0))
2740 return TOK_UniversalString;
2741 REJECT;
2742 }
2743 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002744case 108:
vlmfa67ddc2004-06-03 03:38:44 +00002745YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002746#line 347 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002747return TOK_UTCTime;
2748 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002749case 109:
vlmfa67ddc2004-06-03 03:38:44 +00002750YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002751#line 348 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002752{
2753 if(TYPE_LIFETIME(1994, 0))
2754 return TOK_UTF8String;
2755 REJECT;
2756 }
2757 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002758case 110:
2759YY_RULE_SETUP
2760#line 353 "asn1p_l.l"
2761return TOK_VideotexString;
2762 YY_BREAK
2763case 111:
2764YY_RULE_SETUP
2765#line 354 "asn1p_l.l"
2766return TOK_VisibleString;
2767 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002768case 112:
2769YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002770#line 355 "asn1p_l.l"
2771return TOK_WITH;
vlmc94e28f2004-09-15 11:59:51 +00002772 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002773case 113:
vlmfa67ddc2004-06-03 03:38:44 +00002774YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002775#line 358 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002776{
2777 CHECK_DASHES;
2778 asn1p_lval.tv_str = strdup(yytext);
2779 return TOK_typefieldreference;
2780 }
2781 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002782case 114:
vlmfa67ddc2004-06-03 03:38:44 +00002783YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002784#line 364 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002785{
2786 CHECK_DASHES;
2787 asn1p_lval.tv_str = strdup(yytext);
2788 return TOK_valuefieldreference;
2789 }
2790 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002791case 115:
vlmfa67ddc2004-06-03 03:38:44 +00002792YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002793#line 371 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002794{
2795 CHECK_DASHES;
2796 asn1p_lval.tv_str = strdup(yytext);
2797 return TOK_identifier;
2798 }
2799 YY_BREAK
2800/*
2801 * objectclassreference
2802 */
vlm2728a8d2005-01-23 09:51:44 +00002803case 116:
vlmfa67ddc2004-06-03 03:38:44 +00002804YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002805#line 380 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002806{
2807 CHECK_DASHES;
2808 asn1p_lval.tv_str = strdup(yytext);
vlm9283dbe2004-08-18 04:59:12 +00002809 return TOK_capitalreference;
vlmfa67ddc2004-06-03 03:38:44 +00002810 }
2811 YY_BREAK
2812/*
2813 * typereference, modulereference
2814 * NOTE: TOK_objectclassreference must be combined
2815 * with this token to produce true typereference.
2816 */
vlm2728a8d2005-01-23 09:51:44 +00002817case 117:
vlmfa67ddc2004-06-03 03:38:44 +00002818YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002819#line 391 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002820{
2821 CHECK_DASHES;
2822 asn1p_lval.tv_str = strdup(yytext);
2823 return TOK_typereference;
2824 }
2825 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002826case 118:
2827YY_RULE_SETUP
2828#line 397 "asn1p_l.l"
2829return TOK_PPEQ;
2830 YY_BREAK
2831case 119:
2832YY_RULE_SETUP
2833#line 399 "asn1p_l.l"
2834return TOK_ThreeDots;
2835 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002836case 120:
2837YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002838#line 400 "asn1p_l.l"
2839return TOK_TwoDots;
vlmc94e28f2004-09-15 11:59:51 +00002840 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002841case 121:
vlmfa67ddc2004-06-03 03:38:44 +00002842YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002843#line 402 "asn1p_l.l"
2844/* Ignore whitespace */
vlmfa67ddc2004-06-03 03:38:44 +00002845 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002846case 122:
vlmfa67ddc2004-06-03 03:38:44 +00002847YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002848#line 404 "asn1p_l.l"
2849return yytext[0];
vlmfa67ddc2004-06-03 03:38:44 +00002850 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002851case 123:
vlmfa67ddc2004-06-03 03:38:44 +00002852YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002853#line 406 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002854{
2855 if(TYPE_LIFETIME(1994, 0))
2856 fprintf(stderr, "ERROR: ");
2857 fprintf(stderr,
2858 "Symbol '%c' at line %d is prohibited "
2859 "by ASN.1:1994 and ASN.1:1997\n",
2860 yytext[0], yylineno);
2861 if(TYPE_LIFETIME(1994, 0))
2862 return -1;
2863 }
2864 YY_BREAK
2865
vlm2728a8d2005-01-23 09:51:44 +00002866case 124:
2867YY_RULE_SETUP
2868#line 419 "asn1p_l.l"
2869{
2870 asn1p_lval.tv_opaque.buf = strdup(yytext);
2871 asn1p_lval.tv_opaque.len = yyleng;
2872 return TOK_opaque;
2873 }
2874 YY_BREAK
2875case 125:
2876YY_RULE_SETUP
2877#line 425 "asn1p_l.l"
2878{
2879 asn1p_lval.tv_opaque.buf = strdup(yytext);
2880 asn1p_lval.tv_opaque.len = yyleng;
2881 return TOK_opaque;
2882 }
2883 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002884case 126:
2885YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002886#line 431 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002887{
2888 yy_pop_state();
2889 return '}';
2890 }
2891 YY_BREAK
2892
vlm2728a8d2005-01-23 09:51:44 +00002893case 127:
vlm9283dbe2004-08-18 04:59:12 +00002894YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002895#line 438 "asn1p_l.l"
vlmc94e28f2004-09-15 11:59:51 +00002896return yytext[0]; /* Union, Intersection */
2897 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002898case 128:
vlmc94e28f2004-09-15 11:59:51 +00002899YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002900#line 440 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002901{
2902 fprintf(stderr,
2903 "Unexpected token at line %d: \"%s\"\n",
2904 yylineno, yytext);
2905 while(YYSTATE != INITIAL)
2906 yy_pop_state();
vlmc94e28f2004-09-15 11:59:51 +00002907 if(0) {
2908 yy_top_state(); /* Just to use this function. */
2909 yy_fatal_error("Parse error");
2910 }
vlmfa67ddc2004-06-03 03:38:44 +00002911 return -1;
2912}
2913 YY_BREAK
2914case YY_STATE_EOF(INITIAL):
2915case YY_STATE_EOF(dash_comment):
2916case YY_STATE_EOF(cpp_comment):
2917case YY_STATE_EOF(quoted):
2918case YY_STATE_EOF(opaque):
vlm9283dbe2004-08-18 04:59:12 +00002919case YY_STATE_EOF(encoding_control):
vlmfa67ddc2004-06-03 03:38:44 +00002920case YY_STATE_EOF(with_syntax):
vlm2728a8d2005-01-23 09:51:44 +00002921#line 453 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002922{
2923 while(YYSTATE != INITIAL)
2924 yy_pop_state();
2925 yyterminate();
2926 }
2927 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002928case 129:
vlmfa67ddc2004-06-03 03:38:44 +00002929YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002930#line 460 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002931YY_FATAL_ERROR( "flex scanner jammed" );
2932 YY_BREAK
vlm6611add2005-03-20 14:28:32 +00002933#line 2934 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00002934
2935 case YY_END_OF_BUFFER:
2936 {
2937 /* Amount of text matched not including the EOB char. */
2938 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2939
2940 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2941 *yy_cp = yy_hold_char;
2942 YY_RESTORE_YY_MORE_OFFSET
2943
2944 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2945 {
2946 /* We're scanning a new file or input source. It's
2947 * possible that this happened because the user
2948 * just pointed yyin at a new source and called
2949 * yylex(). If so, then we have to assure
2950 * consistency between yy_current_buffer and our
2951 * globals. Here is the right place to do so, because
2952 * this is the first action (other than possibly a
2953 * back-up) that will match for the new input source.
2954 */
2955 yy_n_chars = yy_current_buffer->yy_n_chars;
2956 yy_current_buffer->yy_input_file = yyin;
2957 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2958 }
2959
2960 /* Note that here we test for yy_c_buf_p "<=" to the position
2961 * of the first EOB in the buffer, since yy_c_buf_p will
2962 * already have been incremented past the NUL character
2963 * (since all states make transitions on EOB to the
2964 * end-of-buffer state). Contrast this with the test
2965 * in input().
2966 */
2967 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2968 { /* This was really a NUL. */
2969 yy_state_type yy_next_state;
2970
2971 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2972
2973 yy_current_state = yy_get_previous_state();
2974
2975 /* Okay, we're now positioned to make the NUL
2976 * transition. We couldn't have
2977 * yy_get_previous_state() go ahead and do it
2978 * for us because it doesn't know how to deal
2979 * with the possibility of jamming (and we don't
2980 * want to build jamming into it because then it
2981 * will run more slowly).
2982 */
2983
2984 yy_next_state = yy_try_NUL_trans( yy_current_state );
2985
2986 yy_bp = yytext_ptr + YY_MORE_ADJ;
2987
2988 if ( yy_next_state )
2989 {
2990 /* Consume the NUL. */
2991 yy_cp = ++yy_c_buf_p;
2992 yy_current_state = yy_next_state;
2993 goto yy_match;
2994 }
2995
2996 else
2997 {
2998 yy_cp = yy_c_buf_p;
2999 goto yy_find_action;
3000 }
3001 }
3002
3003 else switch ( yy_get_next_buffer() )
3004 {
3005 case EOB_ACT_END_OF_FILE:
3006 {
3007 yy_did_buffer_switch_on_eof = 0;
3008
3009 if ( yywrap() )
3010 {
3011 /* Note: because we've taken care in
3012 * yy_get_next_buffer() to have set up
3013 * yytext, we can now set up
3014 * yy_c_buf_p so that if some total
3015 * hoser (like flex itself) wants to
3016 * call the scanner after we return the
3017 * YY_NULL, it'll still work - another
3018 * YY_NULL will get returned.
3019 */
3020 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3021
3022 yy_act = YY_STATE_EOF(YY_START);
3023 goto do_action;
3024 }
3025
3026 else
3027 {
3028 if ( ! yy_did_buffer_switch_on_eof )
3029 YY_NEW_FILE;
3030 }
3031 break;
3032 }
3033
3034 case EOB_ACT_CONTINUE_SCAN:
3035 yy_c_buf_p =
3036 yytext_ptr + yy_amount_of_matched_text;
3037
3038 yy_current_state = yy_get_previous_state();
3039
3040 yy_cp = yy_c_buf_p;
3041 yy_bp = yytext_ptr + YY_MORE_ADJ;
3042 goto yy_match;
3043
3044 case EOB_ACT_LAST_MATCH:
3045 yy_c_buf_p =
3046 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3047
3048 yy_current_state = yy_get_previous_state();
3049
3050 yy_cp = yy_c_buf_p;
3051 yy_bp = yytext_ptr + YY_MORE_ADJ;
3052 goto yy_find_action;
3053 }
3054 break;
3055 }
3056
3057 default:
3058 YY_FATAL_ERROR(
3059 "fatal flex scanner internal error--no action found" );
3060 } /* end of action switch */
3061 } /* end of scanning one token */
3062 } /* end of yylex */
3063
3064
3065/* yy_get_next_buffer - try to read in a new buffer
3066 *
3067 * Returns a code representing an action:
3068 * EOB_ACT_LAST_MATCH -
3069 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3070 * EOB_ACT_END_OF_FILE - end of file
3071 */
3072
3073static int yy_get_next_buffer()
3074 {
3075 register char *dest = yy_current_buffer->yy_ch_buf;
3076 register char *source = yytext_ptr;
3077 register int number_to_move, i;
3078 int ret_val;
3079
3080 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3081 YY_FATAL_ERROR(
3082 "fatal flex scanner internal error--end of buffer missed" );
3083
3084 if ( yy_current_buffer->yy_fill_buffer == 0 )
3085 { /* Don't try to fill the buffer, so this is an EOF. */
3086 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3087 {
3088 /* We matched a single character, the EOB, so
3089 * treat this as a final EOF.
3090 */
3091 return EOB_ACT_END_OF_FILE;
3092 }
3093
3094 else
3095 {
3096 /* We matched some text prior to the EOB, first
3097 * process it.
3098 */
3099 return EOB_ACT_LAST_MATCH;
3100 }
3101 }
3102
3103 /* Try to read more data. */
3104
3105 /* First move last chars to start of buffer. */
3106 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3107
3108 for ( i = 0; i < number_to_move; ++i )
3109 *(dest++) = *(source++);
3110
3111 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3112 /* don't do the read, it's not guaranteed to return an EOF,
3113 * just force an EOF
3114 */
3115 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3116
3117 else
3118 {
3119 int num_to_read =
3120 yy_current_buffer->yy_buf_size - number_to_move - 1;
3121
3122 while ( num_to_read <= 0 )
3123 { /* Not enough room in the buffer - grow it. */
3124#ifdef YY_USES_REJECT
3125 YY_FATAL_ERROR(
3126"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3127#else
3128
3129 /* just a shorter name for the current buffer */
3130 YY_BUFFER_STATE b = yy_current_buffer;
3131
3132 int yy_c_buf_p_offset =
3133 (int) (yy_c_buf_p - b->yy_ch_buf);
3134
3135 if ( b->yy_is_our_buffer )
3136 {
3137 int new_size = b->yy_buf_size * 2;
3138
3139 if ( new_size <= 0 )
3140 b->yy_buf_size += b->yy_buf_size / 8;
3141 else
3142 b->yy_buf_size *= 2;
3143
3144 b->yy_ch_buf = (char *)
3145 /* Include room in for 2 EOB chars. */
3146 yy_flex_realloc( (void *) b->yy_ch_buf,
3147 b->yy_buf_size + 2 );
3148 }
3149 else
3150 /* Can't grow it, we don't own it. */
3151 b->yy_ch_buf = 0;
3152
3153 if ( ! b->yy_ch_buf )
3154 YY_FATAL_ERROR(
3155 "fatal error - scanner input buffer overflow" );
3156
3157 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3158
3159 num_to_read = yy_current_buffer->yy_buf_size -
3160 number_to_move - 1;
3161#endif
3162 }
3163
3164 if ( num_to_read > YY_READ_BUF_SIZE )
3165 num_to_read = YY_READ_BUF_SIZE;
3166
3167 /* Read in more data. */
3168 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3169 yy_n_chars, num_to_read );
3170
3171 yy_current_buffer->yy_n_chars = yy_n_chars;
3172 }
3173
3174 if ( yy_n_chars == 0 )
3175 {
3176 if ( number_to_move == YY_MORE_ADJ )
3177 {
3178 ret_val = EOB_ACT_END_OF_FILE;
3179 yyrestart( yyin );
3180 }
3181
3182 else
3183 {
3184 ret_val = EOB_ACT_LAST_MATCH;
3185 yy_current_buffer->yy_buffer_status =
3186 YY_BUFFER_EOF_PENDING;
3187 }
3188 }
3189
3190 else
3191 ret_val = EOB_ACT_CONTINUE_SCAN;
3192
3193 yy_n_chars += number_to_move;
3194 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3195 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3196
3197 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3198
3199 return ret_val;
3200 }
3201
3202
3203/* yy_get_previous_state - get the state just before the EOB char was reached */
3204
3205static yy_state_type yy_get_previous_state()
3206 {
3207 register yy_state_type yy_current_state;
3208 register char *yy_cp;
3209
3210 yy_current_state = yy_start;
3211 yy_state_ptr = yy_state_buf;
3212 *yy_state_ptr++ = yy_current_state;
3213
3214 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3215 {
3216 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3217 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3218 {
3219 yy_current_state = (int) yy_def[yy_current_state];
vlm6611add2005-03-20 14:28:32 +00003220 if ( yy_current_state >= 671 )
vlmfa67ddc2004-06-03 03:38:44 +00003221 yy_c = yy_meta[(unsigned int) yy_c];
3222 }
3223 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3224 *yy_state_ptr++ = yy_current_state;
3225 }
3226
3227 return yy_current_state;
3228 }
3229
3230
3231/* yy_try_NUL_trans - try to make a transition on the NUL character
3232 *
3233 * synopsis
3234 * next_state = yy_try_NUL_trans( current_state );
3235 */
3236
3237#ifdef YY_USE_PROTOS
3238static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3239#else
3240static yy_state_type yy_try_NUL_trans( yy_current_state )
3241yy_state_type yy_current_state;
3242#endif
3243 {
3244 register int yy_is_jam;
3245
3246 register YY_CHAR yy_c = 1;
3247 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3248 {
3249 yy_current_state = (int) yy_def[yy_current_state];
vlm6611add2005-03-20 14:28:32 +00003250 if ( yy_current_state >= 671 )
vlmfa67ddc2004-06-03 03:38:44 +00003251 yy_c = yy_meta[(unsigned int) yy_c];
3252 }
3253 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
vlm6611add2005-03-20 14:28:32 +00003254 yy_is_jam = (yy_current_state == 670);
vlmfa67ddc2004-06-03 03:38:44 +00003255 if ( ! yy_is_jam )
3256 *yy_state_ptr++ = yy_current_state;
3257
3258 return yy_is_jam ? 0 : yy_current_state;
3259 }
3260
3261
3262#ifndef YY_NO_UNPUT
3263#ifdef YY_USE_PROTOS
3264static void yyunput( int c, register char *yy_bp )
3265#else
3266static void yyunput( c, yy_bp )
3267int c;
3268register char *yy_bp;
3269#endif
3270 {
3271 register char *yy_cp = yy_c_buf_p;
3272
3273 /* undo effects of setting up yytext */
3274 *yy_cp = yy_hold_char;
3275
3276 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3277 { /* need to shift things up to make room */
3278 /* +2 for EOB chars. */
3279 register int number_to_move = yy_n_chars + 2;
3280 register char *dest = &yy_current_buffer->yy_ch_buf[
3281 yy_current_buffer->yy_buf_size + 2];
3282 register char *source =
3283 &yy_current_buffer->yy_ch_buf[number_to_move];
3284
3285 while ( source > yy_current_buffer->yy_ch_buf )
3286 *--dest = *--source;
3287
3288 yy_cp += (int) (dest - source);
3289 yy_bp += (int) (dest - source);
3290 yy_current_buffer->yy_n_chars =
3291 yy_n_chars = yy_current_buffer->yy_buf_size;
3292
3293 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3294 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3295 }
3296
3297 *--yy_cp = (char) c;
3298
3299 if ( c == '\n' )
3300 --yylineno;
3301
3302 yytext_ptr = yy_bp;
3303 yy_hold_char = *yy_cp;
3304 yy_c_buf_p = yy_cp;
3305 }
3306#endif /* ifndef YY_NO_UNPUT */
3307
3308
3309#ifdef __cplusplus
3310static int yyinput()
3311#else
3312static int input()
3313#endif
3314 {
3315 int c;
3316
3317 *yy_c_buf_p = yy_hold_char;
3318
3319 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3320 {
3321 /* yy_c_buf_p now points to the character we want to return.
3322 * If this occurs *before* the EOB characters, then it's a
3323 * valid NUL; if not, then we've hit the end of the buffer.
3324 */
3325 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3326 /* This was really a NUL. */
3327 *yy_c_buf_p = '\0';
3328
3329 else
3330 { /* need more input */
3331 int offset = yy_c_buf_p - yytext_ptr;
3332 ++yy_c_buf_p;
3333
3334 switch ( yy_get_next_buffer() )
3335 {
3336 case EOB_ACT_LAST_MATCH:
3337 /* This happens because yy_g_n_b()
3338 * sees that we've accumulated a
3339 * token and flags that we need to
3340 * try matching the token before
3341 * proceeding. But for input(),
3342 * there's no matching to consider.
3343 * So convert the EOB_ACT_LAST_MATCH
3344 * to EOB_ACT_END_OF_FILE.
3345 */
3346
3347 /* Reset buffer status. */
3348 yyrestart( yyin );
3349
3350 /* fall through */
3351
3352 case EOB_ACT_END_OF_FILE:
3353 {
3354 if ( yywrap() )
3355 return EOF;
3356
3357 if ( ! yy_did_buffer_switch_on_eof )
3358 YY_NEW_FILE;
3359#ifdef __cplusplus
3360 return yyinput();
3361#else
3362 return input();
3363#endif
3364 }
3365
3366 case EOB_ACT_CONTINUE_SCAN:
3367 yy_c_buf_p = yytext_ptr + offset;
3368 break;
3369 }
3370 }
3371 }
3372
3373 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3374 *yy_c_buf_p = '\0'; /* preserve yytext */
3375 yy_hold_char = *++yy_c_buf_p;
3376
3377 if ( c == '\n' )
3378 ++yylineno;
3379
3380 return c;
3381 }
3382
3383
3384#ifdef YY_USE_PROTOS
3385void yyrestart( FILE *input_file )
3386#else
3387void yyrestart( input_file )
3388FILE *input_file;
3389#endif
3390 {
3391 if ( ! yy_current_buffer )
3392 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3393
3394 yy_init_buffer( yy_current_buffer, input_file );
3395 yy_load_buffer_state();
3396 }
3397
3398
3399#ifdef YY_USE_PROTOS
3400void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3401#else
3402void yy_switch_to_buffer( new_buffer )
3403YY_BUFFER_STATE new_buffer;
3404#endif
3405 {
3406 if ( yy_current_buffer == new_buffer )
3407 return;
3408
3409 if ( yy_current_buffer )
3410 {
3411 /* Flush out information for old buffer. */
3412 *yy_c_buf_p = yy_hold_char;
3413 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3414 yy_current_buffer->yy_n_chars = yy_n_chars;
3415 }
3416
3417 yy_current_buffer = new_buffer;
3418 yy_load_buffer_state();
3419
3420 /* We don't actually know whether we did this switch during
3421 * EOF (yywrap()) processing, but the only time this flag
3422 * is looked at is after yywrap() is called, so it's safe
3423 * to go ahead and always set it.
3424 */
3425 yy_did_buffer_switch_on_eof = 1;
3426 }
3427
3428
3429#ifdef YY_USE_PROTOS
3430void yy_load_buffer_state( void )
3431#else
3432void yy_load_buffer_state()
3433#endif
3434 {
3435 yy_n_chars = yy_current_buffer->yy_n_chars;
3436 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3437 yyin = yy_current_buffer->yy_input_file;
3438 yy_hold_char = *yy_c_buf_p;
3439 }
3440
3441
3442#ifdef YY_USE_PROTOS
3443YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3444#else
3445YY_BUFFER_STATE yy_create_buffer( file, size )
3446FILE *file;
3447int size;
3448#endif
3449 {
3450 YY_BUFFER_STATE b;
3451
3452 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3453 if ( ! b )
3454 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3455
3456 b->yy_buf_size = size;
3457
3458 /* yy_ch_buf has to be 2 characters longer than the size given because
3459 * we need to put in 2 end-of-buffer characters.
3460 */
3461 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3462 if ( ! b->yy_ch_buf )
3463 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3464
3465 b->yy_is_our_buffer = 1;
3466
3467 yy_init_buffer( b, file );
3468
3469 return b;
3470 }
3471
3472
3473#ifdef YY_USE_PROTOS
3474void yy_delete_buffer( YY_BUFFER_STATE b )
3475#else
3476void yy_delete_buffer( b )
3477YY_BUFFER_STATE b;
3478#endif
3479 {
3480 if ( ! b )
3481 return;
3482
3483 if ( b == yy_current_buffer )
3484 yy_current_buffer = (YY_BUFFER_STATE) 0;
3485
3486 if ( b->yy_is_our_buffer )
3487 yy_flex_free( (void *) b->yy_ch_buf );
3488
3489 yy_flex_free( (void *) b );
3490 }
3491
3492
3493#ifndef YY_ALWAYS_INTERACTIVE
3494#ifndef YY_NEVER_INTERACTIVE
3495extern int isatty YY_PROTO(( int ));
3496#endif
3497#endif
3498
3499#ifdef YY_USE_PROTOS
3500void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3501#else
3502void yy_init_buffer( b, file )
3503YY_BUFFER_STATE b;
3504FILE *file;
3505#endif
3506
3507
3508 {
3509 yy_flush_buffer( b );
3510
3511 b->yy_input_file = file;
3512 b->yy_fill_buffer = 1;
3513
3514#if YY_ALWAYS_INTERACTIVE
3515 b->yy_is_interactive = 1;
3516#else
3517#if YY_NEVER_INTERACTIVE
3518 b->yy_is_interactive = 0;
3519#else
3520 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3521#endif
3522#endif
3523 }
3524
3525
3526#ifdef YY_USE_PROTOS
3527void yy_flush_buffer( YY_BUFFER_STATE b )
3528#else
3529void yy_flush_buffer( b )
3530YY_BUFFER_STATE b;
3531#endif
3532
3533 {
3534 if ( ! b )
3535 return;
3536
3537 b->yy_n_chars = 0;
3538
3539 /* We always need two end-of-buffer characters. The first causes
3540 * a transition to the end-of-buffer state. The second causes
3541 * a jam in that state.
3542 */
3543 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3544 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3545
3546 b->yy_buf_pos = &b->yy_ch_buf[0];
3547
3548 b->yy_at_bol = 1;
3549 b->yy_buffer_status = YY_BUFFER_NEW;
3550
3551 if ( b == yy_current_buffer )
3552 yy_load_buffer_state();
3553 }
3554
3555
3556#ifndef YY_NO_SCAN_BUFFER
3557#ifdef YY_USE_PROTOS
3558YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3559#else
3560YY_BUFFER_STATE yy_scan_buffer( base, size )
3561char *base;
3562yy_size_t size;
3563#endif
3564 {
3565 YY_BUFFER_STATE b;
3566
3567 if ( size < 2 ||
3568 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3569 base[size-1] != YY_END_OF_BUFFER_CHAR )
3570 /* They forgot to leave room for the EOB's. */
3571 return 0;
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_scan_buffer()" );
3576
3577 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3578 b->yy_buf_pos = b->yy_ch_buf = base;
3579 b->yy_is_our_buffer = 0;
3580 b->yy_input_file = 0;
3581 b->yy_n_chars = b->yy_buf_size;
3582 b->yy_is_interactive = 0;
3583 b->yy_at_bol = 1;
3584 b->yy_fill_buffer = 0;
3585 b->yy_buffer_status = YY_BUFFER_NEW;
3586
3587 yy_switch_to_buffer( b );
3588
3589 return b;
3590 }
3591#endif
3592
3593
3594#ifndef YY_NO_SCAN_STRING
3595#ifdef YY_USE_PROTOS
3596YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3597#else
3598YY_BUFFER_STATE yy_scan_string( yy_str )
3599yyconst char *yy_str;
3600#endif
3601 {
3602 int len;
3603 for ( len = 0; yy_str[len]; ++len )
3604 ;
3605
3606 return yy_scan_bytes( yy_str, len );
3607 }
3608#endif
3609
3610
3611#ifndef YY_NO_SCAN_BYTES
3612#ifdef YY_USE_PROTOS
3613YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3614#else
3615YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3616yyconst char *bytes;
3617int len;
3618#endif
3619 {
3620 YY_BUFFER_STATE b;
3621 char *buf;
3622 yy_size_t n;
3623 int i;
3624
3625 /* Get memory for full buffer, including space for trailing EOB's. */
3626 n = len + 2;
3627 buf = (char *) yy_flex_alloc( n );
3628 if ( ! buf )
3629 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3630
3631 for ( i = 0; i < len; ++i )
3632 buf[i] = bytes[i];
3633
3634 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3635
3636 b = yy_scan_buffer( buf, n );
3637 if ( ! b )
3638 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3639
3640 /* It's okay to grow etc. this buffer, and we should throw it
3641 * away when we're done.
3642 */
3643 b->yy_is_our_buffer = 1;
3644
3645 return b;
3646 }
3647#endif
3648
3649
3650#ifndef YY_NO_PUSH_STATE
3651#ifdef YY_USE_PROTOS
3652static void yy_push_state( int new_state )
3653#else
3654static void yy_push_state( new_state )
3655int new_state;
3656#endif
3657 {
3658 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3659 {
3660 yy_size_t new_size;
3661
3662 yy_start_stack_depth += YY_START_STACK_INCR;
3663 new_size = yy_start_stack_depth * sizeof( int );
3664
3665 if ( ! yy_start_stack )
3666 yy_start_stack = (int *) yy_flex_alloc( new_size );
3667
3668 else
3669 yy_start_stack = (int *) yy_flex_realloc(
3670 (void *) yy_start_stack, new_size );
3671
3672 if ( ! yy_start_stack )
3673 YY_FATAL_ERROR(
3674 "out of memory expanding start-condition stack" );
3675 }
3676
3677 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3678
3679 BEGIN(new_state);
3680 }
3681#endif
3682
3683
3684#ifndef YY_NO_POP_STATE
3685static void yy_pop_state()
3686 {
3687 if ( --yy_start_stack_ptr < 0 )
3688 YY_FATAL_ERROR( "start-condition stack underflow" );
3689
3690 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3691 }
3692#endif
3693
3694
3695#ifndef YY_NO_TOP_STATE
3696static int yy_top_state()
3697 {
3698 return yy_start_stack[yy_start_stack_ptr - 1];
3699 }
3700#endif
3701
3702#ifndef YY_EXIT_FAILURE
3703#define YY_EXIT_FAILURE 2
3704#endif
3705
3706#ifdef YY_USE_PROTOS
3707static void yy_fatal_error( yyconst char msg[] )
3708#else
3709static void yy_fatal_error( msg )
3710char msg[];
3711#endif
3712 {
3713 (void) fprintf( stderr, "%s\n", msg );
3714 exit( YY_EXIT_FAILURE );
3715 }
3716
3717
3718
3719/* Redefine yyless() so it works in section 3 code. */
3720
3721#undef yyless
3722#define yyless(n) \
3723 do \
3724 { \
3725 /* Undo effects of setting up yytext. */ \
3726 yytext[yyleng] = yy_hold_char; \
3727 yy_c_buf_p = yytext + n; \
3728 yy_hold_char = *yy_c_buf_p; \
3729 *yy_c_buf_p = '\0'; \
3730 yyleng = n; \
3731 } \
3732 while ( 0 )
3733
3734
3735/* Internal utility routines. */
3736
3737#ifndef yytext_ptr
3738#ifdef YY_USE_PROTOS
3739static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3740#else
3741static void yy_flex_strncpy( s1, s2, n )
3742char *s1;
3743yyconst char *s2;
3744int n;
3745#endif
3746 {
3747 register int i;
3748 for ( i = 0; i < n; ++i )
3749 s1[i] = s2[i];
3750 }
3751#endif
3752
3753#ifdef YY_NEED_STRLEN
3754#ifdef YY_USE_PROTOS
3755static int yy_flex_strlen( yyconst char *s )
3756#else
3757static int yy_flex_strlen( s )
3758yyconst char *s;
3759#endif
3760 {
3761 register int n;
3762 for ( n = 0; s[n]; ++n )
3763 ;
3764
3765 return n;
3766 }
3767#endif
3768
3769
3770#ifdef YY_USE_PROTOS
3771static void *yy_flex_alloc( yy_size_t size )
3772#else
3773static void *yy_flex_alloc( size )
3774yy_size_t size;
3775#endif
3776 {
3777 return (void *) malloc( size );
3778 }
3779
3780#ifdef YY_USE_PROTOS
3781static void *yy_flex_realloc( void *ptr, yy_size_t size )
3782#else
3783static void *yy_flex_realloc( ptr, size )
3784void *ptr;
3785yy_size_t size;
3786#endif
3787 {
3788 /* The cast to (char *) in the following accommodates both
3789 * implementations that use char* generic pointers, and those
3790 * that use void* generic pointers. It works with the latter
3791 * because both ANSI C and C++ allow castless assignment from
3792 * any pointer type to void*, and deal with argument conversions
3793 * as though doing an assignment.
3794 */
3795 return (void *) realloc( (char *) ptr, size );
3796 }
3797
3798#ifdef YY_USE_PROTOS
3799static void yy_flex_free( void *ptr )
3800#else
3801static void yy_flex_free( ptr )
3802void *ptr;
3803#endif
3804 {
3805 free( ptr );
3806 }
3807
3808#if YY_MAIN
3809int main()
3810 {
3811 yylex();
3812 return 0;
3813 }
3814#endif
vlm2728a8d2005-01-23 09:51:44 +00003815#line 460 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003816
3817
3818/*
3819 * Very dirty but wonderful hack allowing to rule states from within .y file.
3820 */
vlm9283dbe2004-08-18 04:59:12 +00003821void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
vlmfa67ddc2004-06-03 03:38:44 +00003822
3823/*
3824 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3825 */
vlm9283dbe2004-08-18 04:59:12 +00003826void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3827
3828/* Yet another */
3829void asn1p_lexer_hack_push_encoding_control() {
3830 yy_push_state(encoding_control);
vlmfa67ddc2004-06-03 03:38:44 +00003831}
3832
3833/*
3834 * Check that a token does not end with dash and does not contain
3835 * several dashes in succession.
3836 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
3837 * "end-", "vustom--value" are INVALID
3838 */
3839static int
3840_check_dashes(char *ptr) {
3841 int prev_dash = 0;
3842
3843 assert(*ptr != '-');
3844
3845 for(;; ptr++) {
3846 switch(*ptr) {
3847 case '-':
3848 if(prev_dash++) /* No double dashes */
3849 return -1;
3850 continue;
3851 case '\0':
3852 if(prev_dash) /* No dashes at the end */
3853 return -1;
3854 break;
3855 default:
3856 prev_dash = 0;
3857 continue;
3858 }
3859 break;
3860 }
3861
3862 return 0;
3863}
3864
vlmec6acd42004-09-29 13:18:09 +00003865static asn1c_integer_t
vlmfa67ddc2004-06-03 03:38:44 +00003866asn1p_atoi(char *ptr) {
vlmec6acd42004-09-29 13:18:09 +00003867 asn1c_integer_t value;
vlmfa67ddc2004-06-03 03:38:44 +00003868 errno = 0; /* Clear the error code */
3869
3870 if(sizeof(value) <= sizeof(int)) {
3871 value = strtol(ptr, 0, 10);
3872 } else {
3873#ifdef HAVE_STRTOIMAX
3874 value = strtoimax(ptr, 0, 10);
3875#elif HAVE_STRTOLL
3876 value = strtoll(ptr, 0, 10);
3877#else
3878 value = strtol(ptr, 0, 10);
3879#endif
3880 }
3881
3882 if(errno == ERANGE) {
3883 fprintf(stderr,
3884 "Value \"%s\" at line %d is too large "
3885 "for this compiler! Please contact the vendor.",
3886 ptr, yylineno);
3887 errno = ERANGE; /* Restore potentially clobbered errno */
3888 }
3889
3890 return value;
3891}
3892