1 #line 10 "messagelexer.l"
2 /*
3 * This file is part of Wireless Display Software for Linux OS
4 *
5 * Copyright (C) 2015 Intel Corporation.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA
21 */
22
23 #include <stdint.h>
24
25 #define YY_NO_UNISTD_H 1
26
27
28
29 #line 30 "gen/messagescanner.cpp"
30
31 #define YY_INT_ALIGNED short int
32
33 /* A lexical scanner generated by flex */
34
35 #define FLEX_SCANNER
36 #define YY_FLEX_MAJOR_VERSION 2
37 #define YY_FLEX_MINOR_VERSION 5
38 #define YY_FLEX_SUBMINOR_VERSION 35
39 #if YY_FLEX_SUBMINOR_VERSION > 0
40 #define FLEX_BETA
41 #endif
42
43 /* First, we deal with platform-specific or compiler-specific issues. */
44
45 /* begin standard C headers. */
46 #include <stdio.h>
47 #include <string.h>
48 #include <errno.h>
49 #include <stdlib.h>
50
51 /* end standard C headers. */
52
53 /* flex integer type definitions */
54
55 #ifndef FLEXINT_H
56 #define FLEXINT_H
57
58 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
59
60 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
61
62 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
63 * if you want the limit (max/min) macros for int types.
64 */
65 #ifndef __STDC_LIMIT_MACROS
66 #define __STDC_LIMIT_MACROS 1
67 #endif
68
69 #include <inttypes.h>
70 typedef int8_t flex_int8_t;
71 typedef uint8_t flex_uint8_t;
72 typedef int16_t flex_int16_t;
73 typedef uint16_t flex_uint16_t;
74 typedef int32_t flex_int32_t;
75 typedef uint32_t flex_uint32_t;
76 #else
77 typedef signed char flex_int8_t;
78 typedef short int flex_int16_t;
79 typedef int flex_int32_t;
80 typedef unsigned char flex_uint8_t;
81 typedef unsigned short int flex_uint16_t;
82 typedef unsigned int flex_uint32_t;
83
84 /* Limits of integral types. */
85 #ifndef INT8_MIN
86 #define INT8_MIN (-128)
87 #endif
88 #ifndef INT16_MIN
89 #define INT16_MIN (-32767-1)
90 #endif
91 #ifndef INT32_MIN
92 #define INT32_MIN (-2147483647-1)
93 #endif
94 #ifndef INT8_MAX
95 #define INT8_MAX (127)
96 #endif
97 #ifndef INT16_MAX
98 #define INT16_MAX (32767)
99 #endif
100 #ifndef INT32_MAX
101 #define INT32_MAX (2147483647)
102 #endif
103 #ifndef UINT8_MAX
104 #define UINT8_MAX (255U)
105 #endif
106 #ifndef UINT16_MAX
107 #define UINT16_MAX (65535U)
108 #endif
109 #ifndef UINT32_MAX
110 #define UINT32_MAX (4294967295U)
111 #endif
112
113 #endif /* ! C99 */
114
115 #endif /* ! FLEXINT_H */
116
117 #ifdef __cplusplus
118
119 /* The "const" storage-class-modifier is valid. */
120 #define YY_USE_CONST
121
122 #else /* ! __cplusplus */
123
124 /* C99 requires __STDC__ to be defined as 1. */
125 #if defined (__STDC__)
126
127 #define YY_USE_CONST
128
129 #endif /* defined (__STDC__) */
130 #endif /* ! __cplusplus */
131
132 #ifdef YY_USE_CONST
133 #define yyconst const
134 #else
135 #define yyconst
136 #endif
137
138 /* Returned upon end-of-file. */
139 #define YY_NULL 0
140
141 /* Promotes a possibly negative, possibly signed char to an unsigned
142 * integer for use as an array index. If the signed char is negative,
143 * we want to instead treat it as an 8-bit unsigned char, hence the
144 * double cast.
145 */
146 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
147
148 /* An opaque pointer. */
149 #ifndef YY_TYPEDEF_YY_SCANNER_T
150 #define YY_TYPEDEF_YY_SCANNER_T
151 typedef void* yyscan_t;
152 #endif
153
154 /* For convenience, these vars (plus the bison vars far below)
155 are macros in the reentrant scanner. */
156 #define yyin yyg->yyin_r
157 #define yyout yyg->yyout_r
158 #define yyextra yyg->yyextra_r
159 #define yyleng yyg->yyleng_r
160 #define yytext yyg->yytext_r
161 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
162 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
163 #define yy_flex_debug yyg->yy_flex_debug_r
164
165 /* Enter a start condition. This macro really ought to take a parameter,
166 * but we do it the disgusting crufty way forced on us by the ()-less
167 * definition of BEGIN.
168 */
169 #define BEGIN yyg->yy_start = 1 + 2 *
170
171 /* Translate the current start state into a value that can be later handed
172 * to BEGIN to return to the state. The YYSTATE alias is for lex
173 * compatibility.
174 */
175 #define YY_START ((yyg->yy_start - 1) / 2)
176 #define YYSTATE YY_START
177
178 /* Action number for EOF rule of a given start state. */
179 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
180
181 /* Special action meaning "start processing a new file". */
182 #define YY_NEW_FILE message_restart(yyin ,yyscanner )
183
184 #define YY_END_OF_BUFFER_CHAR 0
185
186 /* Size of default input buffer. */
187 #ifndef YY_BUF_SIZE
188 #ifdef __ia64__
189 /* On IA-64, the buffer size is 16k, not 8k.
190 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
191 * Ditto for the __ia64__ case accordingly.
192 */
193 #define YY_BUF_SIZE 32768
194 #else
195 #define YY_BUF_SIZE 16384
196 #endif /* __ia64__ */
197 #endif
198
199 /* The state buf must be large enough to hold one state per character in the main buffer.
200 */
201 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
202
203 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
204 #define YY_TYPEDEF_YY_BUFFER_STATE
205 typedef struct yy_buffer_state *YY_BUFFER_STATE;
206 #endif
207
208 #define EOB_ACT_CONTINUE_SCAN 0
209 #define EOB_ACT_END_OF_FILE 1
210 #define EOB_ACT_LAST_MATCH 2
211
212 #define YY_LESS_LINENO(n)
213
214 /* Return all but the first "n" matched characters back to the input stream. */
215 #define yyless(n) \
216 do \
217 { \
218 /* Undo effects of setting up yytext. */ \
219 int yyless_macro_arg = (n); \
220 YY_LESS_LINENO(yyless_macro_arg);\
221 *yy_cp = yyg->yy_hold_char; \
222 YY_RESTORE_YY_MORE_OFFSET \
223 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
224 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
225 } \
226 while ( 0 )
227
228 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
229
230 #ifndef YY_TYPEDEF_YY_SIZE_T
231 #define YY_TYPEDEF_YY_SIZE_T
232 typedef size_t yy_size_t;
233 #endif
234
235 #ifndef YY_STRUCT_YY_BUFFER_STATE
236 #define YY_STRUCT_YY_BUFFER_STATE
237 struct yy_buffer_state
238 {
239 FILE *yy_input_file;
240
241 char *yy_ch_buf; /* input buffer */
242 char *yy_buf_pos; /* current position in input buffer */
243
244 /* Size of input buffer in bytes, not including room for EOB
245 * characters.
246 */
247 yy_size_t yy_buf_size;
248
249 /* Number of characters read into yy_ch_buf, not including EOB
250 * characters.
251 */
252 int yy_n_chars;
253
254 /* Whether we "own" the buffer - i.e., we know we created it,
255 * and can realloc() it to grow it, and should free() it to
256 * delete it.
257 */
258 int yy_is_our_buffer;
259
260 /* Whether this is an "interactive" input source; if so, and
261 * if we're using stdio for input, then we want to use getc()
262 * instead of fread(), to make sure we stop fetching input after
263 * each newline.
264 */
265 int yy_is_interactive;
266
267 /* Whether we're considered to be at the beginning of a line.
268 * If so, '^' rules will be active on the next match, otherwise
269 * not.
270 */
271 int yy_at_bol;
272
273 int yy_bs_lineno; /**< The line count. */
274 int yy_bs_column; /**< The column count. */
275
276 /* Whether to try to fill the input buffer when we reach the
277 * end of it.
278 */
279 int yy_fill_buffer;
280
281 int yy_buffer_status;
282
283 #define YY_BUFFER_NEW 0
284 #define YY_BUFFER_NORMAL 1
285 /* When an EOF's been seen but there's still some text to process
286 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
287 * shouldn't try reading from the input source any more. We might
288 * still have a bunch of tokens to match, though, because of
289 * possible backing-up.
290 *
291 * When we actually see the EOF, we change the status to "new"
292 * (via message_restart()), so that the user can continue scanning by
293 * just pointing yyin at a new input file.
294 */
295 #define YY_BUFFER_EOF_PENDING 2
296
297 };
298 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
299
300 /* We provide macros for accessing buffer states in case in the
301 * future we want to put the buffer states in a more general
302 * "scanner state".
303 *
304 * Returns the top of the stack, or NULL.
305 */
306 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
307 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
308 : NULL)
309
310 /* Same as previous macro, but useful when we know that the buffer stack is not
311 * NULL or when we need an lvalue. For internal use only.
312 */
313 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
314
315 void message_restart (FILE *input_file ,yyscan_t yyscanner );
316 void message__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
317 YY_BUFFER_STATE message__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
318 void message__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
319 void message__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
320 void message_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
321 void message_pop_buffer_state (yyscan_t yyscanner );
322
323 static void message_ensure_buffer_stack (yyscan_t yyscanner );
324 static void message__load_buffer_state (yyscan_t yyscanner );
325 static void message__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
326
327 #define YY_FLUSH_BUFFER message__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
328
329 YY_BUFFER_STATE message__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
330 YY_BUFFER_STATE message__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
331 YY_BUFFER_STATE message__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
332
333 void *message_alloc (yy_size_t ,yyscan_t yyscanner );
334 void *message_realloc (void *,yy_size_t ,yyscan_t yyscanner );
335 void message_free (void * ,yyscan_t yyscanner );
336
337 #define yy_new_buffer message__create_buffer
338
339 #define yy_set_interactive(is_interactive) \
340 { \
341 if ( ! YY_CURRENT_BUFFER ){ \
342 message_ensure_buffer_stack (yyscanner); \
343 YY_CURRENT_BUFFER_LVALUE = \
344 message__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
345 } \
346 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
347 }
348
349 #define yy_set_bol(at_bol) \
350 { \
351 if ( ! YY_CURRENT_BUFFER ){\
352 message_ensure_buffer_stack (yyscanner); \
353 YY_CURRENT_BUFFER_LVALUE = \
354 message__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
355 } \
356 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
357 }
358
359 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
360
361 /* Begin user sect3 */
362
363 #define message_wrap(n) 1
364 #define YY_SKIP_YYWRAP
365
366 typedef unsigned char YY_CHAR;
367
368 typedef int yy_state_type;
369
370 #define yytext_ptr yytext_r
371
372 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
373 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
374 static int yy_get_next_buffer (yyscan_t yyscanner );
375 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
376
377 /* Done after the current pattern has been matched and before the
378 * corresponding action - sets up yytext.
379 */
380 #define YY_DO_BEFORE_ACTION \
381 yyg->yytext_ptr = yy_bp; \
382 yyleng = (size_t) (yy_cp - yy_bp); \
383 yyg->yy_hold_char = *yy_cp; \
384 *yy_cp = '\0'; \
385 yyg->yy_c_buf_p = yy_cp;
386
387 #define YY_NUM_RULES 82
388 #define YY_END_OF_BUFFER 83
389 /* This struct is not used in this scanner,
390 but its presence is necessary. */
391 struct yy_trans_info
392 {
393 flex_int32_t yy_verify;
394 flex_int32_t yy_nxt;
395 };
396 static yyconst flex_int16_t yy_accept[1147] =
397 { 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 83, 81,
400 11, 2, 3, 7, 6, 5, 10, 69, 9, 8,
401 4, 81, 81, 81, 81, 81, 81, 81, 81, 81,
402 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
403 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
404 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
405 81, 81, 81, 81, 81, 81, 68, 68, 68, 68,
406 68, 81, 68, 45, 46, 46, 46, 46, 46, 46,
407 46, 46, 46, 46, 46, 46, 47, 48, 48, 48,
408
409 48, 48, 48, 48, 48, 48, 48, 48, 48, 11,
410 1, 69, 0, 0, 38, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 68, 68,
413 68, 38, 68, 68, 68, 68, 68, 68, 68, 68,
414 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
415 68, 68, 68, 68, 68, 68, 0, 0, 0, 0,
416 0, 0, 0, 0, 68, 68, 68, 68, 68, 68,
417 68, 0, 68, 45, 46, 46, 46, 46, 46, 46,
418 46, 46, 47, 48, 48, 48, 48, 48, 48, 48,
419
420 48, 14, 15, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
423 14, 15, 68, 68, 68, 68, 68, 68, 68, 68,
424 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
425 68, 68, 68, 68, 68, 68, 37, 68, 68, 68,
426 0, 0, 0, 0, 0, 0, 0, 0, 68, 68,
427 68, 68, 68, 68, 68, 0, 68, 14, 15, 14,
428 15, 14, 15, 14, 15, 0, 0, 0, 0, 0,
429 0, 25, 0, 0, 0, 0, 13, 0, 0, 0,
430
431 0, 12, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 68, 68, 68, 68, 68, 68, 25, 68, 68,
433 68, 68, 13, 68, 68, 68, 68, 12, 68, 68,
434 68, 68, 68, 68, 68, 68, 68, 70, 0, 0,
435 0, 0, 75, 0, 0, 0, 68, 68, 68, 68,
436 68, 68, 68, 0, 68, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 28, 0, 41,
438 18, 0, 0, 0, 0, 0, 0, 39, 0, 68,
439 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
440 28, 68, 41, 68, 68, 68, 68, 68, 68, 68,
441
442 68, 68, 68, 68, 68, 68, 68, 68, 68, 39,
443 68, 0, 0, 0, 77, 74, 0, 0, 68, 68,
444 68, 68, 68, 68, 0, 32, 0, 43, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 40, 32, 68, 43, 68, 68,
447 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
448 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
449 68, 68, 68, 68, 68, 40, 0, 0, 0, 0,
450 0, 68, 68, 68, 68, 0, 42, 24, 33, 16,
451 17, 0, 0, 0, 0, 0, 0, 0, 21, 0,
452
453 0, 0, 0, 0, 42, 24, 33, 68, 68, 68,
454 68, 68, 68, 21, 68, 68, 68, 68, 68, 68,
455 68, 68, 68, 68, 68, 59, 68, 68, 68, 68,
456 68, 68, 68, 0, 71, 0, 0, 0, 68, 68,
457 68, 68, 0, 0, 0, 36, 0, 31, 27, 0,
458 0, 0, 0, 0, 0, 0, 68, 68, 36, 68,
459 31, 27, 68, 68, 68, 68, 68, 68, 68, 68,
460 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
461 68, 68, 68, 0, 0, 0, 76, 68, 68, 68,
462 0, 0, 0, 0, 20, 0, 0, 0, 22, 0,
463
464 44, 68, 68, 68, 68, 68, 22, 68, 44, 68,
465 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
466 58, 68, 68, 68, 68, 0, 0, 0, 68, 68,
467 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
468 0, 68, 68, 68, 30, 68, 68, 68, 68, 68,
469 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
470 68, 68, 68, 0, 0, 0, 68, 68, 0, 0,
471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 29, 68, 68,
473 68, 68, 29, 68, 68, 68, 68, 68, 68, 68,
474
475 68, 68, 68, 68, 65, 68, 68, 68, 68, 0,
476 0, 0, 68, 68, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 68, 68, 68, 68,
479 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
480 68, 68, 68, 68, 68, 68, 0, 0, 0, 68,
481 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
483 68, 68, 68, 34, 68, 68, 68, 68, 68, 68,
484 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
485
486 73, 0, 72, 68, 68, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 35, 0, 0, 68, 68, 68, 68,
489 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
490 68, 68, 68, 68, 78, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 68, 68, 68, 68, 68, 68, 68, 68,
493 68, 68, 67, 68, 68, 68, 68, 68, 68, 68,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496
497 68, 68, 68, 49, 68, 68, 68, 68, 54, 53,
498 68, 68, 68, 68, 68, 63, 68, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 26, 0, 0, 68, 68, 68, 68, 68,
501 68, 68, 68, 68, 68, 68, 50, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 68, 68, 68,
504 68, 66, 68, 68, 68, 68, 55, 68, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 19, 68, 68,
507
508 68, 68, 68, 68, 68, 68, 62, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 0, 0, 0, 0, 23, 51,
512 68, 57, 68, 68, 56, 68, 0, 0, 0, 0,
513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 68, 68, 68,
516 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 68, 52, 68, 68, 0, 68, 68, 68,
521 0, 68, 68, 68, 0, 68, 68, 68, 0, 68,
522 61, 68, 0, 60, 68, 0, 68, 0, 64, 0,
523 0, 0, 0, 79, 80, 0
524 } ;
525
526 static yyconst flex_int32_t yy_ec[256] =
527 { 0,
528 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
529 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 1, 5, 1, 1, 1, 1, 1, 1, 1, 1,
532 1, 6, 1, 7, 8, 9, 10, 11, 12, 13,
533 14, 15, 16, 17, 17, 17, 17, 18, 19, 1,
534 20, 1, 1, 1, 21, 22, 23, 24, 25, 26,
535 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
536 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
537 1, 1, 1, 1, 47, 1, 48, 49, 50, 51,
538
539 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
540 62, 63, 64, 65, 66, 67, 68, 69, 70, 44,
541 71, 72, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
545 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
549
550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
553 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
556 } ;
557
558 static yyconst flex_int32_t yy_meta[73] =
559 { 0,
560 1, 2, 3, 4, 2, 1, 1, 5, 1, 1,
561 6, 6, 6, 6, 6, 6, 6, 1, 1, 1,
562 6, 6, 6, 6, 6, 6, 5, 5, 5, 5,
563 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
564 5, 5, 5, 5, 5, 5, 5, 6, 6, 6,
565 6, 6, 6, 5, 5, 5, 5, 5, 5, 5,
566 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
567 5, 5
568 } ;
569
570 static yyconst flex_int16_t yy_base[1154] =
571 { 0,
572 0, 72, 142, 145, 148, 150, 129, 131, 0, 0,
573 0, 0, 117, 119, 188, 231, 274, 317, 1671, 4324,
574 157, 4324, 1667, 4324, 4324, 4324, 4324, 161, 4324, 4324,
575 4324, 158, 121, 159, 160, 156, 197, 320, 189, 189,
576 206, 196, 310, 198, 239, 253, 321, 195, 206, 236,
577 287, 227, 254, 247, 275, 0, 296, 323, 319, 319,
578 330, 320, 322, 323, 326, 335, 367, 320, 368, 364,
579 0, 370, 362, 378, 376, 378, 379, 371, 417, 404,
580 387, 417, 421, 300, 427, 374, 426, 422, 419, 0,
581 478, 475, 460, 484, 488, 464, 539, 495, 419, 449,
582
583 477, 483, 0, 546, 525, 516, 553, 556, 557, 213,
584 4324, 572, 497, 1655, 4324, 548, 552, 572, 576, 577,
585 578, 585, 568, 569, 593, 595, 590, 616, 587, 597,
586 595, 594, 608, 598, 597, 612, 1660, 608, 0, 618,
587 1646, 0, 611, 606, 626, 617, 631, 640, 639, 622,
588 624, 647, 649, 644, 671, 642, 653, 651, 649, 663,
589 653, 652, 667, 670, 1610, 669, 1555, 685, 659, 674,
590 663, 685, 687, 687, 700, 678, 693, 681, 708, 713,
591 709, 702, 719, 758, 0, 727, 1544, 726, 739, 755,
592 767, 771, 784, 0, 741, 1540, 746, 786, 787, 797,
593
594 791, 4324, 4324, 777, 792, 794, 797, 783, 789, 803,
595 789, 787, 791, 810, 800, 813, 803, 804, 807, 823,
596 816, 825, 826, 1543, 827, 836, 828, 4324, 840, 845,
597 0, 0, 843, 849, 850, 849, 836, 841, 855, 841,
598 839, 842, 860, 851, 861, 848, 852, 857, 873, 860,
599 869, 875, 1542, 877, 888, 880, 0, 1494, 891, 896,
600 1462, 1417, 891, 1454, 882, 879, 881, 888, 1415, 901,
601 1390, 892, 888, 893, 897, 900, 902, 0, 0, 931,
602 943, 0, 0, 946, 947, 908, 929, 923, 918, 919,
603 1351, 1012, 950, 932, 934, 940, 4324, 1026, 951, 948,
604
605 944, 4324, 1020, 963, 945, 965, 954, 957, 955, 963,
606 975, 967, 984, 976, 971, 969, 1025, 984, 993, 978,
607 980, 986, 0, 921, 997, 994, 988, 0, 912, 1004,
608 986, 994, 997, 995, 1044, 1005, 1014, 4324, 1006, 1008,
609 1001, 1029, 4324, 1024, 1026, 1039, 1028, 1037, 1049, 0,
610 1039, 1040, 1053, 775, 766, 1057, 1047, 1063, 1064, 1058,
611 774, 1074, 1060, 701, 1079, 1093, 1080, 4324, 1077, 4324,
612 4324, 1080, 1094, 1079, 1098, 1101, 1089, 4324, 1103, 1108,
613 1098, 1106, 1103, 1095, 735, 1111, 1098, 696, 1108, 1117,
614 0, 1099, 0, 1102, 1117, 1123, 1125, 1113, 1128, 1129,
615
616 1140, 1133, 1160, 1130, 1141, 1140, 1143, 1153, 1154, 0,
617 1160, 1165, 1153, 1162, 4324, 4324, 1169, 1156, 1171, 1159,
618 0, 0, 1173, 1161, 732, 4324, 1175, 4324, 1178, 1179,
619 175, 1184, 1181, 1193, 1199, 1186, 1193, 1191, 1184, 1207,
620 1198, 1214, 1196, 1197, 4324, 0, 1213, 0, 1216, 1215,
621 1220, 1217, 1221, 1222, 1208, 1212, 1205, 1225, 1233, 1216,
622 1218, 651, 1235, 619, 1231, 1236, 1239, 1256, 1242, 1257,
623 1243, 1267, 1260, 1268, 1267, 0, 1254, 1254, 1273, 1257,
624 1253, 1260, 1260, 1262, 1258, 613, 4324, 565, 4324, 4324,
625 4324, 1266, 1279, 1287, 1279, 1288, 1292, 1273, 4324, 1289,
626
627 531, 1293, 1297, 1308, 0, 488, 0, 1298, 1312, 1317,
628 1311, 1319, 1303, 0, 1310, 1308, 1312, 1323, 1307, 1321,
629 1326, 1328, 1322, 1318, 1319, 0, 477, 1352, 1317, 1332,
630 1340, 1345, 1360, 1365, 4324, 512, 1366, 1354, 1369, 0,
631 1371, 1362, 0, 1374, 472, 4324, 1358, 4324, 4324, 1355,
632 1378, 1368, 1362, 1361, 1363, 1383, 1385, 424, 0, 1369,
633 0, 0, 1387, 1377, 1371, 1379, 1397, 1393, 1392, 1398,
634 1405, 1415, 1416, 1411, 1412, 1407, 1421, 1425, 1426, 1428,
635 1426, 421, 1420, 1423, 1414, 1425, 4324, 1426, 1428, 0,
636 1478, 1448, 1442, 1450, 4324, 1448, 1441, 1463, 4324, 1474,
637
638 4324, 1477, 1467, 1475, 1476, 1465, 0, 1483, 0, 1483,
639 420, 1471, 1470, 1488, 1478, 1488, 1494, 1491, 1479, 1484,
640 0, 1497, 1495, 1512, 419, 1496, 1496, 1498, 1503, 1504,
641 1552, 1568, 1577, 1586, 1494, 1531, 1569, 4324, 1566, 1569,
642 1578, 1571, 1579, 1582, 0, 1572, 1583, 1587, 1590, 1581,
643 417, 1575, 1576, 1593, 1574, 1583, 1583, 1582, 1579, 1587,
644 1605, 1602, 1602, 1589, 1606, 1606, 1611, 1618, 1559, 1650,
645 1675, 1684, 1693, 1702, 1711, 1720, 1729, 1738, 1747, 1756,
646 1765, 1774, 416, 1637, 1659, 1677, 443, 4324, 411, 1691,
647 1713, 1731, 0, 1749, 1757, 1773, 1757, 1761, 407, 371,
648
649 368, 1756, 1773, 1778, 364, 359, 1764, 1761, 1767, 1778,
650 307, 1779, 1780, 1781, 1801, 1825, 1834, 1843, 1852, 1861,
651 1870, 1879, 1888, 1897, 1906, 1915, 1924, 1933, 1942, 1951,
652 1960, 1776, 1804, 1815, 1830, 1857, 1875, 1876, 1914, 1929,
653 271, 1946, 1938, 1940, 1943, 1946, 1944, 1959, 1960, 1962,
654 1947, 1951, 1957, 1970, 1952, 1955, 1956, 298, 1957, 1958,
655 1960, 2015, 2024, 2033, 2042, 2051, 2060, 2069, 2078, 2087,
656 2096, 2105, 2114, 2123, 2132, 2005, 286, 2079, 4324, 2009,
657 2023, 253, 2088, 0, 2062, 2117, 225, 2115, 224, 2114,
658 2124, 2130, 2116, 223, 2127, 2132, 2133, 2138, 2132, 2129,
659
660 4324, 258, 4324, 0, 0, 2159, 2181, 2190, 2199, 2208,
661 2217, 2226, 2235, 2244, 2253, 2262, 2271, 2280, 2289, 2298,
662 2307, 2316, 2125, 4324, 221, 2171, 2170, 219, 2183, 2231,
663 2240, 217, 2232, 2273, 2283, 2297, 2294, 2312, 2302, 2299,
664 2299, 2311, 2307, 2321, 4324, 2334, 2343, 2361, 2370, 2379,
665 2388, 2397, 2406, 2415, 2424, 2433, 2442, 2451, 2460, 2322,
666 2339, 2357, 2376, 2393, 2396, 2431, 2450, 2443, 2436, 2442,
667 2452, 2460, 0, 2456, 2452, 2446, 2460, 2457, 2463, 2451,
668 2510, 2520, 2530, 2540, 2487, 2550, 2559, 2568, 2577, 2586,
669 2595, 2604, 2613, 2622, 2631, 2640, 2649, 243, 2531, 2548,
670
671 210, 2549, 2581, 0, 2602, 2597, 2631, 2643, 0, 0,
672 2630, 182, 2637, 2636, 2643, 0, 2634, 2663, 2670, 2698,
673 2708, 2725, 2735, 2745, 2755, 2765, 2775, 2785, 2795, 2805,
674 2815, 2825, 4324, 2662, 2663, 2664, 2683, 2671, 2806, 2820,
675 2823, 2811, 2807, 2824, 2826, 2811, 0, 2841, 2870, 2886,
676 2895, 2904, 2913, 2923, 2933, 2943, 2953, 2963, 2973, 2983,
677 2993, 3003, 3013, 3023, 3033, 2821, 2822, 2823, 2824, 2838,
678 2826, 0, 3012, 3021, 3016, 181, 0, 3011, 3046, 3074,
679 3089, 3098, 3107, 3116, 3125, 3134, 3143, 3152, 3161, 3170,
680 3179, 3188, 3197, 3206, 3215, 3224, 207, 4324, 206, 3026,
681
682 3041, 3028, 3039, 3048, 3210, 3220, 0, 3060, 3235, 3244,
683 3262, 3271, 3280, 3289, 3298, 3307, 3316, 3325, 3334, 3343,
684 3352, 3361, 3370, 3379, 3388, 3397, 3406, 3415, 3424, 3433,
685 3442, 3451, 3460, 3469, 3478, 3487, 3496, 3505, 4324, 0,
686 178, 0, 3488, 3480, 0, 3505, 3518, 3527, 3545, 3554,
687 3563, 3572, 3581, 3590, 3599, 3608, 3617, 3626, 3635, 3644,
688 3653, 3662, 3671, 3680, 3689, 3698, 3707, 3716, 3725, 3734,
689 3743, 3752, 3761, 3770, 3779, 3788, 3797, 3775, 3782, 174,
690 3781, 3251, 3809, 3818, 3836, 3845, 3854, 3863, 3872, 3881,
691 3890, 3899, 3908, 3917, 3926, 3935, 3944, 3953, 3962, 3971,
692
693 3980, 3989, 3998, 4007, 4016, 4025, 4034, 4043, 4052, 4061,
694 4070, 4079, 4068, 0, 4065, 4078, 4091, 4076, 4075, 4089,
695 4101, 4090, 4096, 4092, 4116, 4088, 4098, 4102, 4157, 4108,
696 0, 4110, 4164, 0, 4115, 4185, 4113, 4196, 0, 4223,
697 4230, 4246, 4256, 4271, 4280, 4324, 4297, 4303, 4305, 4311,
698 214, 213, 4317
699 } ;
700
701 static yyconst flex_int16_t yy_def[1154] =
702 { 0,
703 1146, 1146, 1147, 1147, 1148, 1148, 1, 2, 1, 2,
704 1, 2, 1, 2, 1, 2, 1, 2, 1146, 1146,
705 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
706 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
707 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
708 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
709 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
710 1150, 1146, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149,
711 1149, 1146, 1149, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
712 1149, 91, 91, 91, 91, 91, 1152, 1152, 1152, 1152,
713
714 1152, 1152, 1152, 91, 104, 104, 104, 104, 104, 1146,
715 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
716 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
717 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149,
718 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
719 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
720 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1146, 1146, 1146,
721 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149, 1149, 1149,
722 1149, 1146, 1149, 1151, 1151, 1151, 1151, 1151, 91, 91,
723 91, 91, 1152, 1152, 1152, 1152, 1152, 104, 104, 104,
724
725 104, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
726 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
727 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
728 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
729 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
730 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
731 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149,
732 1149, 1149, 1149, 1149, 1149, 1146, 1149, 1151, 1151, 91,
733 91, 1152, 1152, 104, 104, 1146, 1146, 1146, 1146, 1146,
734 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
735
736 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
737 1146, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
738 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
739 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1146, 1146, 1146,
740 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149,
741 1149, 1149, 1149, 1146, 1149, 1146, 1146, 1146, 1146, 1146,
742 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
743 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1149,
744 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
745 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
746
747 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
748 1149, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149,
749 1149, 1149, 1149, 1149, 1146, 1146, 1146, 1146, 1146, 1146,
750 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
751 1146, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149, 1149,
752 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
753 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
754 1149, 1149, 1149, 1149, 1149, 1149, 1146, 1146, 1146, 1146,
755 1146, 1149, 1149, 1149, 1149, 1146, 1146, 1146, 1146, 1146,
756 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
757
758 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149, 1149, 1149,
759 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
760 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
761 1149, 1149, 1149, 1146, 1146, 1146, 1146, 1146, 1149, 1149,
762 1149, 1149, 1153, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
763 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149,
764 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
765 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
766 1149, 1149, 1149, 1146, 1146, 1146, 1146, 1149, 1149, 1149,
767 1153, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
768
769 1146, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
770 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
771 1149, 1149, 1149, 1149, 1149, 1146, 1146, 1146, 1149, 1149,
772 1153, 1153, 1153, 1153, 1146, 1146, 1146, 1146, 1146, 1146,
773 1146, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
774 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
775 1149, 1149, 1149, 1146, 1146, 1146, 1149, 1149, 1153, 1153,
776 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
777 1153, 1153, 1146, 1146, 1146, 1146, 1146, 1146, 1149, 1149,
778 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
779
780 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1146,
781 1146, 1146, 1149, 1149, 1153, 1153, 1153, 1153, 1153, 1153,
782 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
783 1153, 1146, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149,
784 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
785 1149, 1149, 1149, 1149, 1149, 1149, 1146, 1146, 1146, 1149,
786 1149, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
787 1153, 1153, 1153, 1153, 1153, 1146, 1146, 1146, 1146, 1146,
788 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
789 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
790
791 1146, 1146, 1146, 1149, 1149, 1153, 1153, 1153, 1153, 1153,
792 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
793 1153, 1153, 1146, 1146, 1146, 1146, 1149, 1149, 1149, 1149,
794 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
795 1149, 1149, 1149, 1149, 1146, 1153, 1153, 1153, 1153, 1153,
796 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1146,
797 1146, 1146, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
798 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
799 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
800 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1146, 1146, 1146,
801
802 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
803 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1153, 1153, 1153,
804 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
805 1153, 1153, 1146, 1146, 1146, 1149, 1149, 1149, 1149, 1149,
806 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1153, 1153, 1153,
807 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
808 1153, 1153, 1153, 1153, 1153, 1146, 1146, 1149, 1149, 1149,
809 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1153, 1153,
810 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
811 1153, 1153, 1153, 1153, 1153, 1153, 1146, 1146, 1149, 1149,
812
813 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1153, 1153, 1153,
814 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
815 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
816 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1146, 1149,
817 1149, 1149, 1149, 1149, 1149, 1149, 1153, 1153, 1153, 1153,
818 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
819 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
820 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1149, 1149, 1149,
821 1149, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
822 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
823
824 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
825 1153, 1153, 1149, 1149, 1149, 1149, 1153, 1149, 1149, 1149,
826 1153, 1149, 1149, 1149, 1153, 1149, 1149, 1149, 1153, 1149,
827 1149, 1149, 1153, 1149, 1149, 1153, 1149, 1153, 1149, 1153,
828 1153, 1153, 1153, 1153, 1153, 0, 1146, 1146, 1146, 1146,
829 1146, 1146, 1146
830 } ;
831
832 static yyconst flex_int16_t yy_nxt[4397] =
833 { 0,
834 20, 21, 22, 23, 21, 24, 25, 26, 20, 27,
835 28, 28, 28, 28, 28, 28, 28, 29, 30, 31,
836 32, 33, 34, 35, 36, 20, 37, 38, 39, 40,
837 41, 42, 43, 44, 20, 45, 20, 46, 47, 20,
838 48, 20, 49, 20, 20, 50, 20, 32, 33, 34,
839 35, 36, 20, 37, 38, 39, 40, 41, 42, 43,
840 44, 20, 45, 20, 46, 47, 20, 48, 20, 49,
841 20, 50, 20, 21, 22, 23, 21, 24, 25, 26,
842 20, 27, 28, 28, 28, 28, 28, 28, 28, 29,
843 30, 31, 51, 52, 53, 54, 55, 56, 57, 58,
844
845 59, 60, 61, 62, 63, 64, 56, 65, 56, 66,
846 67, 56, 68, 56, 69, 56, 56, 70, 20, 51,
847 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
848 62, 63, 64, 56, 65, 56, 66, 67, 56, 68,
849 56, 69, 56, 70, 22, 23, 20, 22, 23, 20,
850 22, 23, 22, 23, 82, 72, 83, 77, 110, 20,
851 115, 110, 20, 73, 74, 78, 79, 75, 76, 80,
852 81, 112, 112, 112, 112, 112, 112, 112, 113, 116,
853 114, 82, 72, 83, 77, 490, 491, 115, 117, 118,
854 73, 74, 78, 79, 75, 76, 80, 81, 84, 84,
855
856 84, 84, 84, 84, 84, 113, 116, 114, 85, 86,
857 87, 88, 89, 90, 110, 117, 118, 110, 194, 185,
858 1115, 119, 122, 123, 1078, 1039, 1039, 1006, 943, 933,
859 124, 125, 128, 136, 137, 85, 86, 87, 88, 89,
860 90, 84, 84, 84, 84, 84, 84, 84, 119, 122,
861 123, 91, 92, 93, 94, 95, 96, 124, 125, 128,
862 136, 137, 933, 868, 138, 864, 142, 861, 845, 838,
863 833, 831, 824, 129, 143, 144, 130, 131, 91, 92,
864 93, 94, 95, 96, 97, 97, 97, 97, 97, 97,
865 97, 138, 132, 142, 98, 99, 100, 101, 102, 103,
866
867 129, 143, 144, 130, 131, 824, 802, 140, 145, 141,
868 184, 184, 184, 184, 184, 184, 184, 785, 758, 132,
869 146, 98, 99, 100, 101, 102, 103, 97, 97, 97,
870 97, 97, 97, 97, 140, 145, 141, 104, 105, 106,
871 107, 108, 109, 120, 126, 133, 147, 146, 121, 134,
872 127, 148, 149, 150, 151, 152, 153, 155, 163, 158,
873 156, 135, 154, 157, 104, 105, 106, 107, 108, 109,
874 120, 126, 133, 147, 159, 121, 134, 127, 148, 149,
875 150, 151, 152, 153, 155, 163, 158, 156, 135, 154,
876 157, 160, 166, 164, 168, 161, 165, 169, 171, 170,
877
878 173, 159, 174, 175, 134, 753, 176, 162, 177, 172,
879 752, 181, 129, 115, 748, 130, 135, 747, 160, 166,
880 164, 168, 161, 165, 169, 171, 170, 173, 180, 174,
881 175, 134, 161, 176, 162, 177, 172, 178, 181, 129,
882 115, 131, 130, 135, 162, 158, 188, 186, 179, 187,
883 117, 156, 118, 746, 157, 180, 182, 737, 115, 161,
884 183, 736, 732, 697, 178, 663, 649, 624, 131, 197,
885 603, 162, 158, 188, 186, 179, 187, 117, 156, 118,
886 192, 157, 189, 182, 189, 115, 189, 183, 189, 189,
887 189, 189, 189, 189, 189, 189, 197, 189, 190, 189,
888
889 191, 189, 189, 189, 189, 117, 189, 192, 189, 189,
890 189, 189, 144, 189, 142, 195, 118, 196, 593, 202,
891 585, 145, 189, 576, 189, 190, 189, 191, 189, 189,
892 189, 189, 117, 189, 557, 189, 201, 189, 198, 144,
893 553, 142, 195, 118, 196, 198, 202, 198, 145, 193,
894 193, 193, 193, 193, 193, 193, 198, 198, 198, 198,
895 198, 198, 198, 201, 142, 198, 199, 198, 200, 198,
896 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
897 204, 144, 112, 112, 112, 112, 112, 112, 112, 145,
898 205, 142, 206, 199, 198, 200, 198, 198, 198, 209,
899
900 198, 210, 198, 198, 198, 198, 198, 204, 144, 207,
901 211, 544, 213, 214, 208, 215, 145, 205, 216, 206,
902 212, 218, 543, 219, 221, 222, 209, 223, 210, 224,
903 225, 226, 227, 228, 230, 217, 207, 211, 213, 214,
904 231, 208, 215, 233, 234, 216, 235, 212, 218, 220,
905 236, 221, 222, 238, 223, 237, 224, 225, 226, 227,
906 228, 230, 217, 239, 240, 521, 242, 231, 243, 244,
907 233, 234, 245, 235, 241, 247, 220, 236, 248, 250,
908 238, 251, 237, 252, 253, 254, 255, 256, 257, 246,
909 239, 240, 242, 258, 243, 260, 244, 519, 263, 245,
910
911 264, 241, 247, 265, 249, 266, 250, 268, 251, 225,
912 252, 253, 254, 255, 256, 257, 246, 270, 207, 271,
913 258, 272, 260, 208, 262, 263, 267, 264, 273, 275,
914 265, 249, 266, 236, 268, 254, 225, 224, 237, 269,
915 276, 486, 453, 431, 270, 207, 271, 434, 272, 278,
916 208, 262, 274, 267, 253, 273, 275, 277, 204, 189,
917 236, 189, 254, 282, 224, 237, 269, 276, 184, 184,
918 184, 184, 184, 184, 184, 189, 278, 280, 204, 274,
919 281, 253, 431, 425, 277, 204, 189, 189, 189, 189,
920 282, 189, 425, 189, 193, 193, 193, 193, 193, 193,
921
922 193, 286, 189, 233, 280, 204, 198, 198, 198, 284,
923 285, 198, 287, 198, 189, 288, 189, 198, 189, 198,
924 189, 289, 290, 233, 291, 292, 293, 294, 286, 295,
925 233, 296, 297, 198, 198, 198, 284, 298, 198, 287,
926 198, 299, 288, 300, 198, 301, 198, 302, 289, 290,
927 233, 291, 292, 293, 294, 303, 295, 304, 296, 297,
928 305, 307, 308, 309, 298, 310, 311, 312, 299, 313,
929 300, 314, 301, 315, 302, 316, 317, 318, 319, 320,
930 321, 322, 303, 323, 304, 324, 325, 305, 307, 308,
931 309, 326, 310, 311, 312, 327, 313, 328, 314, 329,
932
933 315, 330, 316, 317, 318, 319, 320, 321, 322, 331,
934 323, 332, 324, 325, 333, 334, 336, 337, 326, 340,
935 342, 344, 327, 343, 328, 346, 329, 345, 330, 348,
936 349, 371, 350, 351, 353, 354, 331, 355, 332, 352,
937 367, 333, 334, 336, 337, 356, 340, 342, 344, 343,
938 357, 189, 346, 189, 358, 359, 348, 349, 350, 360,
939 351, 353, 354, 189, 355, 189, 198, 198, 198, 198,
940 363, 364, 356, 365, 366, 368, 369, 357, 189, 370,
941 189, 358, 359, 372, 373, 374, 360, 375, 376, 377,
942 189, 378, 189, 198, 198, 198, 198, 363, 364, 379,
943
944 365, 366, 368, 369, 380, 381, 370, 382, 383, 384,
945 372, 373, 374, 387, 375, 376, 377, 388, 378, 389,
946 390, 391, 392, 393, 394, 395, 379, 396, 397, 398,
947 386, 380, 381, 410, 382, 383, 384, 385, 411, 371,
948 387, 412, 413, 414, 388, 367, 389, 390, 391, 392,
949 393, 394, 395, 415, 396, 397, 398, 399, 362, 416,
950 410, 417, 418, 419, 400, 411, 401, 402, 412, 413,
951 414, 420, 403, 421, 422, 423, 424, 426, 427, 404,
952 415, 405, 406, 407, 408, 409, 416, 428, 417, 418,
953 419, 400, 429, 401, 402, 430, 432, 433, 420, 403,
954
955 421, 422, 423, 424, 426, 427, 404, 435, 405, 406,
956 407, 408, 409, 436, 428, 437, 438, 439, 440, 429,
957 441, 442, 430, 432, 433, 443, 444, 445, 446, 447,
958 448, 449, 450, 451, 435, 452, 454, 455, 456, 457,
959 436, 458, 437, 438, 439, 440, 459, 441, 442, 460,
960 461, 462, 443, 444, 445, 446, 447, 448, 449, 450,
961 451, 467, 452, 454, 455, 456, 457, 470, 458, 463,
962 464, 465, 468, 459, 466, 471, 460, 461, 462, 472,
963 473, 474, 475, 469, 476, 477, 478, 479, 467, 480,
964 481, 482, 483, 484, 470, 485, 463, 464, 465, 487,
965
966 488, 466, 471, 489, 492, 493, 472, 473, 474, 475,
967 469, 476, 477, 478, 479, 494, 480, 481, 482, 483,
968 484, 495, 485, 496, 497, 498, 487, 488, 499, 500,
969 489, 492, 493, 501, 502, 503, 504, 505, 506, 507,
970 508, 509, 494, 510, 511, 512, 513, 515, 495, 514,
971 496, 497, 498, 516, 499, 517, 500, 518, 520, 522,
972 501, 502, 503, 504, 505, 506, 507, 508, 509, 523,
973 510, 511, 512, 513, 515, 514, 524, 525, 526, 527,
974 516, 528, 517, 529, 518, 520, 522, 530, 531, 532,
975 533, 534, 535, 536, 537, 538, 523, 539, 540, 541,
976
977 542, 545, 546, 524, 525, 526, 527, 547, 528, 548,
978 529, 549, 550, 551, 530, 531, 532, 533, 534, 535,
979 536, 537, 538, 552, 539, 540, 541, 542, 545, 546,
980 554, 555, 556, 558, 547, 559, 548, 560, 549, 550,
981 551, 561, 562, 563, 564, 565, 566, 567, 568, 569,
982 552, 570, 571, 574, 575, 572, 579, 554, 555, 556,
983 558, 573, 559, 361, 560, 580, 581, 582, 561, 562,
984 563, 564, 565, 566, 567, 568, 569, 577, 570, 571,
985 574, 575, 572, 579, 583, 584, 586, 587, 573, 588,
986 578, 589, 580, 581, 582, 590, 592, 594, 341, 595,
987
988 596, 597, 598, 600, 577, 599, 601, 602, 604, 605,
989 606, 583, 584, 586, 587, 607, 588, 578, 589, 608,
990 609, 610, 590, 592, 594, 595, 611, 596, 597, 598,
991 600, 599, 612, 601, 602, 604, 605, 606, 613, 614,
992 615, 607, 616, 617, 618, 619, 608, 609, 610, 620,
993 621, 622, 623, 611, 625, 626, 627, 628, 629, 612,
994 630, 347, 341, 339, 338, 613, 614, 615, 635, 616,
995 617, 618, 619, 636, 637, 638, 620, 621, 622, 623,
996 639, 625, 626, 627, 628, 629, 640, 630, 631, 632,
997 633, 634, 634, 634, 634, 635, 641, 642, 643, 644,
998
999 636, 637, 638, 645, 646, 647, 648, 639, 650, 651,
1000 652, 653, 654, 640, 655, 656, 657, 658, 659, 660,
1001 664, 665, 666, 641, 642, 643, 644, 667, 668, 683,
1002 645, 646, 647, 648, 661, 650, 651, 652, 653, 654,
1003 335, 655, 656, 657, 658, 659, 660, 664, 665, 666,
1004 662, 306, 306, 283, 667, 668, 683, 279, 261, 684,
1005 669, 661, 631, 632, 633, 634, 634, 634, 634, 715,
1006 716, 717, 718, 718, 718, 718, 669, 662, 670, 671,
1007 672, 673, 673, 673, 673, 669, 684, 674, 675, 676,
1008 677, 677, 678, 679, 669, 685, 680, 681, 682, 679,
1009
1010 679, 679, 679, 686, 687, 688, 689, 690, 691, 692,
1011 693, 694, 695, 696, 698, 699, 700, 259, 701, 702,
1012 703, 704, 685, 705, 706, 707, 708, 709, 710, 711,
1013 686, 687, 688, 689, 690, 691, 692, 693, 694, 695,
1014 696, 698, 699, 700, 701, 712, 702, 703, 704, 705,
1015 713, 706, 707, 708, 709, 710, 711, 714, 669, 232,
1016 680, 681, 682, 679, 679, 679, 679, 229, 203, 111,
1017 1146, 1146, 712, 1146, 1146, 733, 1146, 713, 1146, 1146,
1018 1146, 1146, 1146, 669, 714, 719, 720, 721, 722, 722,
1019 722, 722, 669, 734, 723, 724, 725, 726, 726, 727,
1020
1021 728, 669, 733, 729, 730, 731, 728, 728, 728, 728,
1022 669, 735, 680, 681, 682, 679, 679, 679, 679, 669,
1023 734, 719, 720, 721, 722, 722, 722, 722, 669, 738,
1024 723, 724, 725, 726, 726, 727, 728, 669, 735, 729,
1025 730, 731, 728, 728, 728, 728, 669, 739, 729, 730,
1026 731, 728, 728, 728, 679, 669, 738, 680, 681, 682,
1027 679, 679, 679, 679, 669, 740, 631, 632, 633, 634,
1028 634, 634, 634, 669, 739, 670, 671, 672, 673, 673,
1029 673, 673, 669, 741, 674, 675, 676, 677, 677, 678,
1030 679, 742, 740, 743, 744, 745, 749, 750, 751, 754,
1031
1032 755, 756, 757, 759, 760, 761, 1146, 776, 1146, 762,
1033 741, 631, 632, 633, 634, 634, 634, 634, 742, 1146,
1034 743, 744, 745, 749, 750, 751, 754, 755, 756, 757,
1035 759, 760, 761, 762, 776, 763, 764, 765, 766, 766,
1036 766, 766, 762, 777, 767, 768, 769, 770, 770, 771,
1037 772, 762, 778, 773, 774, 775, 772, 772, 772, 772,
1038 669, 779, 680, 681, 682, 679, 679, 679, 679, 669,
1039 777, 719, 720, 721, 722, 722, 722, 722, 669, 778,
1040 723, 724, 725, 726, 726, 727, 728, 669, 779, 729,
1041 730, 731, 728, 728, 728, 728, 669, 780, 680, 681,
1042
1043 682, 679, 679, 679, 679, 669, 781, 719, 720, 721,
1044 722, 722, 722, 722, 669, 782, 723, 724, 725, 726,
1045 726, 727, 728, 669, 780, 729, 730, 731, 728, 728,
1046 728, 728, 669, 781, 729, 730, 731, 728, 728, 728,
1047 679, 669, 782, 680, 681, 682, 679, 679, 679, 679,
1048 669, 783, 631, 632, 633, 634, 634, 634, 634, 669,
1049 784, 670, 671, 672, 673, 673, 673, 673, 669, 786,
1050 674, 675, 676, 677, 677, 678, 679, 787, 783, 788,
1051 789, 790, 791, 792, 793, 794, 795, 784, 796, 797,
1052 798, 799, 800, 801, 803, 804, 786, 805, 1146, 1146,
1053
1054 1146, 1146, 1146, 1146, 787, 1146, 788, 789, 790, 791,
1055 792, 793, 794, 795, 1146, 796, 797, 798, 799, 800,
1056 801, 803, 804, 1146, 805, 806, 807, 808, 809, 809,
1057 809, 809, 762, 823, 773, 774, 775, 772, 772, 772,
1058 772, 762, 826, 810, 811, 812, 813, 813, 813, 813,
1059 762, 827, 814, 815, 816, 817, 817, 818, 819, 762,
1060 823, 820, 821, 822, 819, 819, 819, 819, 762, 826,
1061 773, 774, 775, 772, 772, 772, 772, 762, 827, 810,
1062 811, 812, 813, 813, 813, 813, 762, 829, 814, 815,
1063 816, 817, 817, 818, 819, 762, 1146, 820, 821, 822,
1064
1065 819, 819, 819, 819, 762, 1146, 820, 821, 822, 819,
1066 819, 819, 679, 762, 829, 680, 681, 682, 679, 679,
1067 679, 679, 762, 825, 631, 632, 633, 634, 634, 634,
1068 634, 762, 828, 670, 671, 672, 673, 673, 673, 673,
1069 762, 830, 674, 675, 676, 677, 677, 678, 679, 825,
1070 832, 834, 835, 836, 837, 839, 840, 841, 828, 842,
1071 843, 844, 1146, 860, 1146, 1146, 1146, 846, 830, 631,
1072 632, 633, 634, 634, 634, 634, 1146, 832, 834, 835,
1073 836, 837, 839, 840, 841, 1146, 842, 843, 844, 846,
1074 860, 847, 848, 849, 850, 850, 850, 850, 846, 862,
1075
1076 851, 852, 853, 854, 854, 855, 856, 846, 863, 857,
1077 858, 859, 856, 856, 856, 856, 762, 865, 680, 681,
1078 682, 679, 679, 679, 679, 762, 862, 719, 720, 721,
1079 722, 722, 722, 722, 762, 863, 723, 724, 725, 726,
1080 726, 727, 728, 762, 865, 729, 730, 731, 728, 728,
1081 728, 728, 762, 866, 680, 681, 682, 679, 679, 679,
1082 679, 762, 867, 719, 720, 721, 722, 722, 722, 722,
1083 762, 869, 723, 724, 725, 726, 726, 727, 728, 762,
1084 866, 729, 730, 731, 728, 728, 728, 728, 762, 867,
1085 729, 730, 731, 728, 728, 728, 679, 762, 869, 680,
1086
1087 681, 682, 679, 679, 679, 679, 762, 870, 631, 632,
1088 633, 634, 634, 634, 634, 762, 871, 670, 671, 672,
1089 673, 673, 673, 673, 762, 872, 674, 675, 676, 677,
1090 677, 678, 679, 873, 870, 874, 875, 876, 877, 878,
1091 879, 880, 1146, 871, 881, 882, 883, 884, 884, 884,
1092 884, 846, 872, 857, 858, 859, 856, 856, 856, 856,
1093 873, 898, 874, 875, 876, 877, 878, 879, 880, 846,
1094 899, 885, 886, 887, 888, 888, 888, 888, 846, 900,
1095 889, 890, 891, 892, 892, 893, 894, 846, 898, 895,
1096 896, 897, 894, 894, 894, 894, 846, 899, 857, 858,
1097
1098 859, 856, 856, 856, 856, 846, 900, 885, 886, 887,
1099 888, 888, 888, 888, 846, 901, 889, 890, 891, 892,
1100 892, 893, 894, 846, 902, 895, 896, 897, 894, 894,
1101 894, 894, 846, 903, 895, 896, 897, 894, 894, 894,
1102 679, 846, 901, 680, 681, 682, 679, 679, 679, 679,
1103 846, 902, 631, 632, 633, 634, 634, 634, 634, 846,
1104 903, 670, 671, 672, 673, 673, 673, 673, 846, 904,
1105 674, 675, 676, 677, 677, 678, 679, 905, 906, 1146,
1106 907, 908, 909, 910, 911, 912, 913, 914, 915, 916,
1107 917, 1146, 1146, 1146, 1146, 846, 904, 680, 681, 682,
1108
1109 679, 679, 679, 679, 905, 906, 907, 1146, 908, 909,
1110 910, 911, 912, 913, 914, 915, 916, 917, 846, 918,
1111 631, 632, 633, 634, 634, 634, 634, 919, 846, 918,
1112 920, 921, 922, 923, 923, 923, 923, 919, 846, 918,
1113 924, 925, 926, 927, 927, 928, 929, 919, 846, 918,
1114 930, 931, 932, 929, 929, 929, 929, 919, 846, 934,
1115 719, 720, 721, 722, 722, 722, 722, 846, 935, 723,
1116 724, 725, 726, 726, 727, 728, 846, 936, 729, 730,
1117 731, 728, 728, 728, 728, 846, 934, 680, 681, 682,
1118 679, 679, 679, 679, 846, 935, 719, 720, 721, 722,
1119
1120 722, 722, 722, 846, 936, 723, 724, 725, 726, 726,
1121 727, 728, 846, 937, 729, 730, 731, 728, 728, 728,
1122 728, 846, 938, 729, 730, 731, 728, 728, 728, 679,
1123 846, 939, 680, 681, 682, 679, 679, 679, 679, 846,
1124 937, 631, 632, 633, 634, 634, 634, 634, 846, 938,
1125 670, 671, 672, 673, 673, 673, 673, 846, 939, 674,
1126 675, 676, 677, 677, 678, 679, 940, 941, 942, 944,
1127 945, 946, 947, 631, 632, 633, 634, 634, 634, 634,
1128 949, 950, 951, 952, 952, 952, 952, 1146, 1146, 1146,
1129 1146, 1146, 1146, 940, 941, 942, 944, 945, 946, 947,
1130
1131 966, 967, 968, 969, 970, 948, 846, 918, 930, 931,
1132 932, 929, 929, 929, 929, 919, 846, 918, 953, 954,
1133 955, 956, 956, 956, 956, 919, 1146, 966, 967, 968,
1134 969, 970, 948, 846, 918, 957, 958, 959, 960, 960,
1135 961, 962, 919, 846, 918, 963, 964, 965, 962, 962,
1136 962, 962, 919, 846, 918, 930, 931, 932, 929, 929,
1137 929, 929, 919, 846, 918, 953, 954, 955, 956, 956,
1138 956, 956, 919, 846, 918, 957, 958, 959, 960, 960,
1139 961, 962, 919, 846, 918, 963, 964, 965, 962, 962,
1140 962, 962, 919, 846, 918, 963, 964, 965, 962, 962,
1141
1142 962, 679, 919, 846, 918, 680, 681, 682, 679, 679,
1143 679, 679, 919, 846, 918, 631, 632, 633, 634, 634,
1144 634, 634, 919, 846, 918, 670, 671, 672, 673, 673,
1145 673, 673, 919, 846, 918, 674, 675, 676, 677, 677,
1146 678, 679, 919, 971, 972, 973, 974, 975, 976, 977,
1147 978, 631, 632, 633, 634, 634, 634, 634, 1146, 1146,
1148 997, 998, 999, 1000, 1001, 1002, 979, 1146, 1146, 1146,
1149 971, 972, 973, 974, 975, 976, 977, 978, 669, 918,
1150 980, 981, 982, 983, 983, 983, 983, 997, 998, 999,
1151 1000, 1001, 1002, 979, 669, 918, 984, 985, 986, 987,
1152
1153 987, 987, 987, 669, 918, 988, 989, 990, 991, 991,
1154 992, 993, 669, 918, 994, 995, 996, 993, 993, 993,
1155 993, 846, 918, 680, 681, 682, 679, 679, 679, 679,
1156 919, 846, 918, 719, 720, 721, 722, 722, 722, 722,
1157 919, 846, 918, 723, 724, 725, 726, 726, 727, 728,
1158 919, 846, 918, 729, 730, 731, 728, 728, 728, 728,
1159 919, 846, 918, 680, 681, 682, 679, 679, 679, 679,
1160 919, 846, 918, 719, 720, 721, 722, 722, 722, 722,
1161 919, 846, 918, 723, 724, 725, 726, 726, 727, 728,
1162 919, 846, 918, 729, 730, 731, 728, 728, 728, 728,
1163
1164 919, 846, 918, 729, 730, 731, 728, 728, 728, 679,
1165 919, 846, 918, 680, 681, 682, 679, 679, 679, 679,
1166 919, 846, 918, 631, 632, 633, 634, 634, 634, 634,
1167 919, 846, 918, 670, 671, 672, 673, 673, 673, 673,
1168 919, 846, 918, 674, 675, 676, 677, 677, 678, 679,
1169 919, 1003, 1004, 1005, 1146, 1007, 631, 632, 633, 634,
1170 634, 634, 634, 1146, 1040, 1041, 1042, 1043, 1044, 1008,
1171 631, 1047, 633, 634, 634, 634, 634, 1146, 1003, 1004,
1172 1005, 1007, 669, 918, 1009, 1010, 1011, 1012, 1012, 1012,
1173 1012, 1040, 1041, 1042, 1043, 1044, 1008, 669, 918, 1013,
1174
1175 1014, 1015, 1016, 1016, 1016, 1016, 669, 918, 1017, 1018,
1176 1019, 1020, 1020, 1021, 1022, 669, 918, 1023, 1024, 1025,
1177 1022, 1022, 1022, 1022, 669, 918, 1023, 1024, 1025, 1022,
1178 1022, 1022, 1022, 669, 918, 1026, 1027, 1028, 1029, 1029,
1179 1029, 1029, 669, 918, 1030, 1031, 1032, 1033, 1033, 1034,
1180 1035, 669, 918, 1036, 1037, 1038, 1035, 1035, 1035, 1035,
1181 669, 918, 1023, 1024, 1025, 1022, 1022, 1022, 1022, 669,
1182 918, 1026, 1027, 1028, 1029, 1029, 1029, 1029, 669, 918,
1183 1030, 1031, 1032, 1033, 1033, 1034, 1035, 669, 918, 1036,
1184 1037, 1038, 1035, 1035, 1035, 1035, 669, 918, 1036, 1037,
1185
1186 1038, 1035, 1035, 1035, 1022, 669, 918, 1023, 1024, 1025,
1187 1022, 1022, 1022, 1022, 669, 918, 1009, 1010, 1011, 1012,
1188 1012, 1012, 1012, 669, 918, 1013, 1014, 1015, 1016, 1016,
1189 1016, 1016, 669, 918, 1017, 1018, 1019, 1020, 1020, 1021,
1190 1022, 1045, 1046, 669, 918, 1048, 1049, 1050, 1051, 1051,
1191 1051, 1051, 669, 918, 1052, 1053, 1054, 1055, 1055, 1055,
1192 1055, 1117, 716, 717, 718, 718, 718, 718, 1045, 1046,
1193 669, 918, 1056, 1057, 1058, 1059, 1059, 1060, 1061, 669,
1194 918, 1062, 1063, 1064, 1061, 1061, 1061, 1061, 669, 918,
1195 1062, 1063, 1064, 1061, 1061, 1061, 1061, 669, 918, 1065,
1196
1197 1066, 1067, 1068, 1068, 1068, 1068, 669, 918, 1069, 1070,
1198 1071, 1072, 1072, 1073, 1074, 669, 918, 1075, 1076, 1077,
1199 1074, 1074, 1074, 1074, 669, 918, 1062, 1063, 1064, 1061,
1200 1061, 1061, 1061, 669, 918, 1065, 1066, 1067, 1068, 1068,
1201 1068, 1068, 669, 918, 1069, 1070, 1071, 1072, 1072, 1073,
1202 1074, 669, 918, 1075, 1076, 1077, 1074, 1074, 1074, 1074,
1203 669, 918, 1075, 1076, 1077, 1074, 1074, 1074, 1061, 669,
1204 918, 1062, 1063, 1064, 1061, 1061, 1061, 1061, 669, 918,
1205 1048, 1049, 1050, 1051, 1051, 1051, 1051, 669, 918, 1052,
1206 1053, 1054, 1055, 1055, 1055, 1055, 669, 918, 1056, 1057,
1207
1208 1058, 1059, 1059, 1060, 1061, 669, 918, 1062, 1063, 1064,
1209 1061, 1061, 1061, 1061, 669, 918, 1065, 1066, 1067, 1068,
1210 1068, 1068, 1068, 669, 918, 1069, 1070, 1071, 1072, 1072,
1211 1073, 1074, 669, 918, 1075, 1076, 1077, 1074, 1074, 1074,
1212 1074, 669, 918, 1062, 1063, 1064, 1061, 1061, 1061, 1061,
1213 669, 918, 1065, 1066, 1067, 1068, 1068, 1068, 1068, 669,
1214 918, 1069, 1070, 1071, 1072, 1072, 1073, 1074, 669, 918,
1215 1075, 1076, 1077, 1074, 1074, 1074, 1074, 669, 918, 1075,
1216 1076, 1077, 1074, 1074, 1074, 1061, 669, 918, 1062, 1063,
1217 1064, 1061, 1061, 1061, 1061, 669, 918, 1048, 1049, 1050,
1218
1219 1051, 1051, 1051, 1051, 669, 918, 1052, 1053, 1054, 1055,
1220 1055, 1055, 1055, 669, 918, 1056, 1057, 1058, 1059, 1059,
1221 1060, 1061, 1079, 1146, 1080, 1081, 1082, 1146, 670, 671,
1222 672, 673, 673, 673, 673, 669, 918, 1083, 1084, 1085,
1223 1086, 1086, 1086, 1086, 1146, 1146, 1146, 1146, 1146, 1079,
1224 1080, 1146, 1081, 669, 918, 1087, 1088, 1089, 1090, 1090,
1225 1090, 1090, 669, 918, 1091, 1092, 1093, 1094, 1094, 1095,
1226 1096, 669, 918, 1097, 1098, 1099, 1096, 1096, 1096, 1096,
1227 669, 918, 1097, 1098, 1099, 1096, 1096, 1096, 1096, 669,
1228 918, 1100, 1101, 1102, 1103, 1103, 1103, 1103, 669, 918,
1229
1230 1104, 1105, 1106, 1107, 1107, 1108, 1109, 669, 918, 1110,
1231 1111, 1112, 1109, 1109, 1109, 1109, 669, 918, 1097, 1098,
1232 1099, 1096, 1096, 1096, 1096, 669, 918, 1100, 1101, 1102,
1233 1103, 1103, 1103, 1103, 669, 918, 1104, 1105, 1106, 1107,
1234 1107, 1108, 1109, 669, 918, 1110, 1111, 1112, 1109, 1109,
1235 1109, 1109, 669, 918, 1110, 1111, 1112, 1109, 1109, 1109,
1236 1096, 669, 918, 1097, 1098, 1099, 1096, 1096, 1096, 1096,
1237 669, 918, 1083, 1084, 1085, 1086, 1086, 1086, 1086, 669,
1238 918, 1087, 1088, 1089, 1090, 1090, 1090, 1090, 669, 918,
1239 1091, 1092, 1093, 1094, 1094, 1095, 1096, 669, 918, 1097,
1240
1241 1098, 1099, 1096, 1096, 1096, 1096, 669, 918, 1100, 1101,
1242 1102, 1103, 1103, 1103, 1103, 669, 918, 1104, 1105, 1106,
1243 1107, 1107, 1108, 1109, 669, 918, 1110, 1111, 1112, 1109,
1244 1109, 1109, 1109, 669, 918, 1097, 1098, 1099, 1096, 1096,
1245 1096, 1096, 669, 918, 1100, 1101, 1102, 1103, 1103, 1103,
1246 1103, 669, 918, 1104, 1105, 1106, 1107, 1107, 1108, 1109,
1247 669, 918, 1110, 1111, 1112, 1109, 1109, 1109, 1109, 669,
1248 918, 1110, 1111, 1112, 1109, 1109, 1109, 1096, 669, 918,
1249 1097, 1098, 1099, 1096, 1096, 1096, 1096, 669, 918, 1083,
1250 1084, 1085, 1086, 1086, 1086, 1086, 669, 918, 1087, 1088,
1251
1252 1089, 1090, 1090, 1090, 1090, 669, 918, 1091, 1092, 1093,
1253 1094, 1094, 1095, 1096, 1113, 1114, 1116, 669, 918, 631,
1254 632, 633, 634, 634, 634, 634, 669, 918, 670, 671,
1255 672, 673, 673, 673, 673, 1146, 1146, 1146, 1146, 1146,
1256 1146, 1113, 1114, 1116, 669, 918, 674, 675, 676, 677,
1257 677, 678, 679, 669, 918, 680, 681, 682, 679, 679,
1258 679, 679, 669, 918, 680, 681, 682, 679, 679, 679,
1259 679, 669, 918, 719, 720, 721, 722, 722, 722, 722,
1260 669, 918, 723, 724, 725, 726, 726, 727, 728, 669,
1261 918, 729, 730, 731, 728, 728, 728, 728, 669, 918,
1262
1263 680, 681, 682, 679, 679, 679, 679, 669, 918, 719,
1264 720, 721, 722, 722, 722, 722, 669, 918, 723, 724,
1265 725, 726, 726, 727, 728, 669, 918, 729, 730, 731,
1266 728, 728, 728, 728, 669, 918, 729, 730, 731, 728,
1267 728, 728, 679, 669, 918, 680, 681, 682, 679, 679,
1268 679, 679, 669, 918, 631, 632, 633, 634, 634, 634,
1269 634, 669, 918, 670, 671, 672, 673, 673, 673, 673,
1270 669, 918, 674, 675, 676, 677, 677, 678, 679, 669,
1271 918, 680, 681, 682, 679, 679, 679, 679, 669, 918,
1272 719, 720, 721, 722, 722, 722, 722, 669, 918, 723,
1273
1274 724, 725, 726, 726, 727, 728, 669, 918, 729, 730,
1275 731, 728, 728, 728, 728, 669, 918, 680, 681, 682,
1276 679, 679, 679, 679, 669, 918, 719, 720, 721, 722,
1277 722, 722, 722, 669, 918, 723, 724, 725, 726, 726,
1278 727, 728, 669, 918, 729, 730, 731, 728, 728, 728,
1279 728, 669, 918, 729, 730, 731, 728, 728, 728, 679,
1280 669, 918, 680, 681, 682, 679, 679, 679, 679, 669,
1281 918, 631, 632, 633, 634, 634, 634, 634, 669, 918,
1282 670, 671, 672, 673, 673, 673, 673, 669, 918, 674,
1283 675, 676, 677, 677, 678, 679, 1118, 1119, 1120, 762,
1284
1285 1121, 631, 632, 633, 634, 634, 634, 634, 1122, 1123,
1286 1124, 631, 632, 633, 634, 634, 634, 634, 1126, 1127,
1287 1128, 1130, 1131, 1118, 1119, 1120, 631, 632, 633, 634,
1288 634, 634, 634, 1132, 1134, 1122, 1123, 1124, 1135, 1125,
1289 1146, 1146, 1146, 1146, 1146, 1126, 1127, 1128, 1130, 1131,
1290 1146, 1146, 1146, 1146, 1137, 1129, 1146, 1139, 1146, 1146,
1291 1132, 1134, 1146, 1146, 1146, 1135, 1125, 631, 632, 633,
1292 634, 634, 634, 634, 631, 632, 633, 634, 634, 634,
1293 634, 1137, 1129, 1139, 1146, 1146, 1146, 1146, 1136, 1146,
1294 1146, 1146, 1146, 1146, 1133, 631, 632, 633, 634, 634,
1295
1296 634, 634, 1146, 1146, 1146, 1138, 631, 632, 633, 634,
1297 634, 634, 634, 1146, 1146, 1136, 1146, 1146, 1146, 1146,
1298 1146, 1133, 1146, 1146, 1146, 1146, 1146, 1146, 1140, 1146,
1299 1146, 1146, 1138, 631, 632, 633, 634, 634, 634, 634,
1300 631, 632, 633, 634, 634, 634, 634, 1146, 1146, 1146,
1301 1146, 1141, 1146, 1142, 1146, 1140, 631, 632, 633, 634,
1302 634, 634, 634, 1146, 1146, 1143, 1144, 1145, 633, 634,
1303 634, 634, 634, 1146, 1146, 1146, 1146, 1146, 1141, 669,
1304 1142, 631, 632, 633, 634, 634, 634, 634, 669, 1146,
1305 670, 671, 672, 673, 673, 673, 673, 71, 71, 71,
1306
1307 71, 71, 71, 20, 20, 20, 20, 20, 20, 139,
1308 139, 167, 167, 1146, 1146, 167, 167, 591, 1146, 1146,
1309 591, 591, 591, 19, 1146, 1146, 1146, 1146, 1146, 1146,
1310 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1311 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1312 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1313 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1314 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1315 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1316 1146, 1146, 1146, 1146, 1146, 1146
1317
1318 } ;
1319
1320 static yyconst flex_int16_t yy_chk[4397] =
1321 { 0,
1322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1323 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1329 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
1330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1332
1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 3, 3, 3, 4, 4, 4,
1338 5, 5, 6, 6, 13, 7, 14, 8, 21, 3,
1339 33, 21, 4, 7, 7, 8, 8, 7, 7, 8,
1340 8, 28, 28, 28, 28, 28, 28, 28, 32, 34,
1341 32, 13, 7, 14, 8, 431, 431, 33, 35, 36,
1342 7, 7, 8, 8, 7, 7, 8, 8, 15, 15,
1343
1344 15, 15, 15, 15, 15, 32, 34, 32, 15, 15,
1345 15, 15, 15, 15, 110, 35, 36, 110, 1152, 1151,
1346 1080, 37, 39, 40, 1041, 999, 997, 976, 912, 901,
1347 41, 42, 44, 48, 49, 15, 15, 15, 15, 15,
1348 15, 16, 16, 16, 16, 16, 16, 16, 37, 39,
1349 40, 16, 16, 16, 16, 16, 16, 41, 42, 44,
1350 48, 49, 898, 832, 50, 828, 52, 825, 802, 794,
1351 789, 787, 782, 45, 53, 54, 45, 46, 16, 16,
1352 16, 16, 16, 16, 17, 17, 17, 17, 17, 17,
1353 17, 50, 46, 52, 17, 17, 17, 17, 17, 17,
1354
1355 45, 53, 54, 45, 46, 777, 758, 51, 55, 51,
1356 84, 84, 84, 84, 84, 84, 84, 741, 711, 46,
1357 57, 17, 17, 17, 17, 17, 17, 18, 18, 18,
1358 18, 18, 18, 18, 51, 55, 51, 18, 18, 18,
1359 18, 18, 18, 38, 43, 47, 58, 57, 38, 47,
1360 43, 58, 59, 60, 61, 62, 63, 64, 68, 66,
1361 65, 47, 63, 65, 18, 18, 18, 18, 18, 18,
1362 38, 43, 47, 58, 66, 38, 47, 43, 58, 59,
1363 60, 61, 62, 63, 64, 68, 66, 65, 47, 63,
1364 65, 67, 70, 69, 72, 67, 69, 73, 74, 73,
1365
1366 75, 66, 76, 77, 75, 706, 78, 67, 78, 74,
1367 705, 81, 74, 86, 701, 74, 75, 700, 67, 70,
1368 69, 72, 67, 69, 73, 74, 73, 75, 80, 76,
1369 77, 75, 80, 78, 67, 78, 74, 79, 81, 74,
1370 86, 82, 74, 75, 80, 83, 87, 85, 79, 85,
1371 88, 79, 89, 699, 79, 80, 82, 689, 99, 80,
1372 83, 687, 683, 651, 79, 625, 611, 582, 82, 100,
1373 558, 80, 83, 87, 85, 79, 85, 88, 79, 89,
1374 93, 79, 93, 82, 96, 99, 96, 83, 91, 91,
1375 91, 91, 91, 91, 91, 92, 100, 92, 91, 91,
1376
1377 91, 91, 91, 91, 94, 101, 94, 93, 95, 93,
1378 95, 96, 94, 96, 92, 98, 102, 98, 545, 113,
1379 536, 95, 92, 527, 92, 91, 91, 91, 91, 91,
1380 91, 94, 101, 94, 506, 95, 106, 95, 106, 94,
1381 501, 92, 98, 102, 98, 105, 113, 105, 95, 97,
1382 97, 97, 97, 97, 97, 97, 104, 104, 104, 104,
1383 104, 104, 104, 106, 105, 106, 104, 104, 104, 104,
1384 104, 104, 105, 107, 105, 107, 108, 109, 108, 109,
1385 116, 107, 112, 112, 112, 112, 112, 112, 112, 108,
1386 117, 105, 118, 104, 104, 104, 104, 104, 104, 120,
1387
1388 107, 121, 107, 108, 109, 108, 109, 116, 107, 119,
1389 122, 488, 123, 124, 119, 125, 108, 117, 126, 118,
1390 122, 127, 486, 128, 129, 130, 120, 131, 121, 132,
1391 133, 134, 135, 136, 138, 126, 119, 122, 123, 124,
1392 140, 119, 125, 143, 144, 126, 145, 122, 127, 128,
1393 146, 129, 130, 147, 131, 146, 132, 133, 134, 135,
1394 136, 138, 126, 148, 149, 464, 150, 140, 151, 152,
1395 143, 144, 153, 145, 149, 154, 128, 146, 155, 156,
1396 147, 157, 146, 158, 159, 160, 161, 162, 163, 153,
1397 148, 149, 150, 164, 151, 166, 152, 462, 169, 153,
1398
1399 170, 149, 154, 171, 155, 172, 156, 174, 157, 173,
1400 158, 159, 160, 161, 162, 163, 153, 176, 168, 177,
1401 164, 178, 166, 168, 168, 169, 173, 170, 179, 181,
1402 171, 155, 172, 175, 174, 180, 173, 182, 175, 175,
1403 182, 425, 388, 385, 176, 168, 177, 364, 178, 186,
1404 168, 168, 180, 173, 183, 179, 181, 183, 188, 189,
1405 175, 189, 180, 195, 182, 175, 175, 182, 184, 184,
1406 184, 184, 184, 184, 184, 190, 186, 190, 197, 180,
1407 191, 183, 361, 355, 183, 188, 189, 191, 189, 191,
1408 195, 192, 354, 192, 193, 193, 193, 193, 193, 193,
1409
1410 193, 204, 190, 192, 190, 197, 198, 199, 198, 199,
1411 200, 201, 205, 201, 191, 206, 191, 200, 192, 200,
1412 192, 207, 208, 201, 209, 210, 211, 212, 204, 213,
1413 192, 214, 215, 198, 199, 198, 199, 216, 201, 205,
1414 201, 217, 206, 218, 200, 219, 200, 220, 207, 208,
1415 201, 209, 210, 211, 212, 221, 213, 222, 214, 215,
1416 223, 225, 226, 227, 216, 229, 230, 233, 217, 234,
1417 218, 235, 219, 236, 220, 237, 238, 239, 240, 241,
1418 242, 243, 221, 244, 222, 245, 246, 223, 225, 226,
1419 227, 247, 229, 230, 233, 248, 234, 249, 235, 250,
1420
1421 236, 251, 237, 238, 239, 240, 241, 242, 243, 252,
1422 244, 254, 245, 246, 255, 256, 259, 260, 247, 263,
1423 265, 267, 248, 266, 249, 268, 250, 267, 251, 270,
1424 272, 329, 273, 274, 275, 276, 252, 277, 254, 274,
1425 324, 255, 256, 259, 260, 286, 263, 265, 267, 266,
1426 287, 280, 268, 280, 288, 289, 270, 272, 273, 290,
1427 274, 275, 276, 281, 277, 281, 284, 285, 284, 285,
1428 293, 294, 286, 295, 296, 299, 300, 287, 280, 301,
1429 280, 288, 289, 304, 305, 306, 290, 307, 308, 309,
1430 281, 310, 281, 284, 285, 284, 285, 293, 294, 311,
1431
1432 295, 296, 299, 300, 312, 313, 301, 314, 315, 316,
1433 304, 305, 306, 319, 307, 308, 309, 320, 310, 321,
1434 322, 325, 326, 327, 330, 331, 311, 332, 333, 334,
1435 318, 312, 313, 336, 314, 315, 316, 317, 337, 303,
1436 319, 339, 340, 341, 320, 298, 321, 322, 325, 326,
1437 327, 330, 331, 342, 332, 333, 334, 335, 292, 344,
1438 336, 345, 346, 347, 335, 337, 335, 335, 339, 340,
1439 341, 348, 335, 349, 351, 352, 353, 356, 357, 335,
1440 342, 335, 335, 335, 335, 335, 344, 358, 345, 346,
1441 347, 335, 359, 335, 335, 360, 362, 363, 348, 335,
1442
1443 349, 351, 352, 353, 356, 357, 335, 365, 335, 335,
1444 335, 335, 335, 366, 358, 367, 369, 372, 373, 359,
1445 374, 375, 360, 362, 363, 376, 377, 379, 380, 381,
1446 382, 383, 384, 386, 365, 387, 389, 390, 392, 394,
1447 366, 395, 367, 369, 372, 373, 396, 374, 375, 397,
1448 398, 399, 376, 377, 379, 380, 381, 382, 383, 384,
1449 386, 402, 387, 389, 390, 392, 394, 404, 395, 400,
1450 400, 401, 403, 396, 401, 405, 397, 398, 399, 406,
1451 407, 408, 409, 403, 411, 412, 413, 414, 402, 417,
1452 418, 419, 420, 423, 404, 424, 400, 400, 401, 427,
1453
1454 429, 401, 405, 430, 432, 433, 406, 407, 408, 409,
1455 403, 411, 412, 413, 414, 434, 417, 418, 419, 420,
1456 423, 435, 424, 436, 437, 438, 427, 429, 439, 440,
1457 430, 432, 433, 441, 442, 443, 444, 447, 449, 450,
1458 451, 452, 434, 453, 454, 455, 456, 458, 435, 457,
1459 436, 437, 438, 459, 439, 460, 440, 461, 463, 465,
1460 441, 442, 443, 444, 447, 449, 450, 451, 452, 466,
1461 453, 454, 455, 456, 458, 457, 466, 467, 468, 469,
1462 459, 470, 460, 471, 461, 463, 465, 472, 473, 474,
1463 475, 477, 478, 479, 480, 481, 466, 482, 483, 484,
1464
1465 485, 492, 493, 466, 467, 468, 469, 494, 470, 495,
1466 471, 496, 497, 498, 472, 473, 474, 475, 477, 478,
1467 479, 480, 481, 500, 482, 483, 484, 485, 492, 493,
1468 502, 503, 504, 508, 494, 509, 495, 510, 496, 497,
1469 498, 511, 512, 513, 515, 516, 517, 518, 519, 520,
1470 500, 521, 522, 524, 525, 523, 529, 502, 503, 504,
1471 508, 523, 509, 291, 510, 530, 531, 532, 511, 512,
1472 513, 515, 516, 517, 518, 519, 520, 528, 521, 522,
1473 524, 525, 523, 529, 533, 534, 537, 538, 523, 539,
1474 528, 541, 530, 531, 532, 542, 544, 547, 271, 550,
1475
1476 551, 552, 553, 555, 528, 554, 556, 557, 560, 563,
1477 564, 533, 534, 537, 538, 565, 539, 528, 541, 566,
1478 567, 568, 542, 544, 547, 550, 569, 551, 552, 553,
1479 555, 554, 570, 556, 557, 560, 563, 564, 571, 572,
1480 573, 565, 574, 575, 576, 577, 566, 567, 568, 578,
1481 579, 580, 581, 569, 583, 584, 585, 586, 588, 570,
1482 589, 269, 264, 262, 261, 571, 572, 573, 592, 574,
1483 575, 576, 577, 593, 594, 596, 578, 579, 580, 581,
1484 597, 583, 584, 585, 586, 588, 598, 589, 591, 591,
1485 591, 591, 591, 591, 591, 592, 600, 602, 603, 604,
1486
1487 593, 594, 596, 605, 606, 608, 610, 597, 612, 613,
1488 614, 615, 616, 598, 617, 618, 619, 620, 622, 623,
1489 626, 627, 628, 600, 602, 603, 604, 629, 630, 635,
1490 605, 606, 608, 610, 624, 612, 613, 614, 615, 616,
1491 258, 617, 618, 619, 620, 622, 623, 626, 627, 628,
1492 624, 253, 224, 196, 629, 630, 635, 187, 167, 636,
1493 631, 624, 631, 631, 631, 631, 631, 631, 631, 669,
1494 669, 669, 669, 669, 669, 669, 632, 624, 632, 632,
1495 632, 632, 632, 632, 632, 633, 636, 633, 633, 633,
1496 633, 633, 633, 633, 634, 637, 634, 634, 634, 634,
1497
1498 634, 634, 634, 639, 640, 641, 642, 643, 644, 646,
1499 647, 648, 649, 650, 652, 653, 654, 165, 655, 656,
1500 657, 658, 637, 659, 660, 661, 662, 663, 664, 665,
1501 639, 640, 641, 642, 643, 644, 646, 647, 648, 649,
1502 650, 652, 653, 654, 655, 666, 656, 657, 658, 659,
1503 667, 660, 661, 662, 663, 664, 665, 668, 670, 141,
1504 670, 670, 670, 670, 670, 670, 670, 137, 114, 23,
1505 19, 0, 666, 0, 0, 684, 0, 667, 0, 0,
1506 0, 0, 0, 671, 668, 671, 671, 671, 671, 671,
1507 671, 671, 672, 685, 672, 672, 672, 672, 672, 672,
1508
1509 672, 673, 684, 673, 673, 673, 673, 673, 673, 673,
1510 674, 686, 674, 674, 674, 674, 674, 674, 674, 675,
1511 685, 675, 675, 675, 675, 675, 675, 675, 676, 690,
1512 676, 676, 676, 676, 676, 676, 676, 677, 686, 677,
1513 677, 677, 677, 677, 677, 677, 678, 691, 678, 678,
1514 678, 678, 678, 678, 678, 679, 690, 679, 679, 679,
1515 679, 679, 679, 679, 680, 692, 680, 680, 680, 680,
1516 680, 680, 680, 681, 691, 681, 681, 681, 681, 681,
1517 681, 681, 682, 694, 682, 682, 682, 682, 682, 682,
1518 682, 695, 692, 696, 697, 698, 702, 703, 704, 707,
1519
1520 708, 709, 710, 712, 713, 714, 0, 732, 0, 715,
1521 694, 715, 715, 715, 715, 715, 715, 715, 695, 0,
1522 696, 697, 698, 702, 703, 704, 707, 708, 709, 710,
1523 712, 713, 714, 716, 732, 716, 716, 716, 716, 716,
1524 716, 716, 717, 733, 717, 717, 717, 717, 717, 717,
1525 717, 718, 734, 718, 718, 718, 718, 718, 718, 718,
1526 719, 735, 719, 719, 719, 719, 719, 719, 719, 720,
1527 733, 720, 720, 720, 720, 720, 720, 720, 721, 734,
1528 721, 721, 721, 721, 721, 721, 721, 722, 735, 722,
1529 722, 722, 722, 722, 722, 722, 723, 736, 723, 723,
1530
1531 723, 723, 723, 723, 723, 724, 737, 724, 724, 724,
1532 724, 724, 724, 724, 725, 738, 725, 725, 725, 725,
1533 725, 725, 725, 726, 736, 726, 726, 726, 726, 726,
1534 726, 726, 727, 737, 727, 727, 727, 727, 727, 727,
1535 727, 728, 738, 728, 728, 728, 728, 728, 728, 728,
1536 729, 739, 729, 729, 729, 729, 729, 729, 729, 730,
1537 740, 730, 730, 730, 730, 730, 730, 730, 731, 742,
1538 731, 731, 731, 731, 731, 731, 731, 743, 739, 744,
1539 745, 746, 747, 748, 749, 750, 751, 740, 752, 753,
1540 754, 755, 756, 757, 759, 760, 742, 761, 0, 0,
1541
1542 0, 0, 0, 0, 743, 0, 744, 745, 746, 747,
1543 748, 749, 750, 751, 0, 752, 753, 754, 755, 756,
1544 757, 759, 760, 0, 761, 762, 762, 762, 762, 762,
1545 762, 762, 763, 776, 763, 763, 763, 763, 763, 763,
1546 763, 764, 780, 764, 764, 764, 764, 764, 764, 764,
1547 765, 781, 765, 765, 765, 765, 765, 765, 765, 766,
1548 776, 766, 766, 766, 766, 766, 766, 766, 767, 780,
1549 767, 767, 767, 767, 767, 767, 767, 768, 781, 768,
1550 768, 768, 768, 768, 768, 768, 769, 785, 769, 769,
1551 769, 769, 769, 769, 769, 770, 0, 770, 770, 770,
1552
1553 770, 770, 770, 770, 771, 0, 771, 771, 771, 771,
1554 771, 771, 771, 772, 785, 772, 772, 772, 772, 772,
1555 772, 772, 773, 778, 773, 773, 773, 773, 773, 773,
1556 773, 774, 783, 774, 774, 774, 774, 774, 774, 774,
1557 775, 786, 775, 775, 775, 775, 775, 775, 775, 778,
1558 788, 790, 791, 792, 793, 795, 796, 797, 783, 798,
1559 799, 800, 0, 823, 0, 0, 0, 806, 786, 806,
1560 806, 806, 806, 806, 806, 806, 0, 788, 790, 791,
1561 792, 793, 795, 796, 797, 0, 798, 799, 800, 807,
1562 823, 807, 807, 807, 807, 807, 807, 807, 808, 826,
1563
1564 808, 808, 808, 808, 808, 808, 808, 809, 827, 809,
1565 809, 809, 809, 809, 809, 809, 810, 829, 810, 810,
1566 810, 810, 810, 810, 810, 811, 826, 811, 811, 811,
1567 811, 811, 811, 811, 812, 827, 812, 812, 812, 812,
1568 812, 812, 812, 813, 829, 813, 813, 813, 813, 813,
1569 813, 813, 814, 830, 814, 814, 814, 814, 814, 814,
1570 814, 815, 831, 815, 815, 815, 815, 815, 815, 815,
1571 816, 833, 816, 816, 816, 816, 816, 816, 816, 817,
1572 830, 817, 817, 817, 817, 817, 817, 817, 818, 831,
1573 818, 818, 818, 818, 818, 818, 818, 819, 833, 819,
1574
1575 819, 819, 819, 819, 819, 819, 820, 834, 820, 820,
1576 820, 820, 820, 820, 820, 821, 835, 821, 821, 821,
1577 821, 821, 821, 821, 822, 836, 822, 822, 822, 822,
1578 822, 822, 822, 837, 834, 838, 839, 840, 841, 842,
1579 843, 844, 0, 835, 846, 846, 846, 846, 846, 846,
1580 846, 847, 836, 847, 847, 847, 847, 847, 847, 847,
1581 837, 860, 838, 839, 840, 841, 842, 843, 844, 848,
1582 861, 848, 848, 848, 848, 848, 848, 848, 849, 862,
1583 849, 849, 849, 849, 849, 849, 849, 850, 860, 850,
1584 850, 850, 850, 850, 850, 850, 851, 861, 851, 851,
1585
1586 851, 851, 851, 851, 851, 852, 862, 852, 852, 852,
1587 852, 852, 852, 852, 853, 863, 853, 853, 853, 853,
1588 853, 853, 853, 854, 864, 854, 854, 854, 854, 854,
1589 854, 854, 855, 865, 855, 855, 855, 855, 855, 855,
1590 855, 856, 863, 856, 856, 856, 856, 856, 856, 856,
1591 857, 864, 857, 857, 857, 857, 857, 857, 857, 858,
1592 865, 858, 858, 858, 858, 858, 858, 858, 859, 866,
1593 859, 859, 859, 859, 859, 859, 859, 867, 868, 0,
1594 869, 870, 871, 872, 874, 875, 876, 877, 878, 879,
1595 880, 0, 0, 0, 0, 885, 866, 885, 885, 885,
1596
1597 885, 885, 885, 885, 867, 868, 869, 0, 870, 871,
1598 872, 874, 875, 876, 877, 878, 879, 880, 881, 881,
1599 881, 881, 881, 881, 881, 881, 881, 881, 882, 882,
1600 882, 882, 882, 882, 882, 882, 882, 882, 883, 883,
1601 883, 883, 883, 883, 883, 883, 883, 883, 884, 884,
1602 884, 884, 884, 884, 884, 884, 884, 884, 886, 899,
1603 886, 886, 886, 886, 886, 886, 886, 887, 900, 887,
1604 887, 887, 887, 887, 887, 887, 888, 902, 888, 888,
1605 888, 888, 888, 888, 888, 889, 899, 889, 889, 889,
1606 889, 889, 889, 889, 890, 900, 890, 890, 890, 890,
1607
1608 890, 890, 890, 891, 902, 891, 891, 891, 891, 891,
1609 891, 891, 892, 903, 892, 892, 892, 892, 892, 892,
1610 892, 893, 905, 893, 893, 893, 893, 893, 893, 893,
1611 894, 906, 894, 894, 894, 894, 894, 894, 894, 895,
1612 903, 895, 895, 895, 895, 895, 895, 895, 896, 905,
1613 896, 896, 896, 896, 896, 896, 896, 897, 906, 897,
1614 897, 897, 897, 897, 897, 897, 907, 908, 911, 913,
1615 914, 915, 917, 918, 918, 918, 918, 918, 918, 918,
1616 919, 919, 919, 919, 919, 919, 919, 0, 0, 0,
1617 0, 0, 0, 907, 908, 911, 913, 914, 915, 917,
1618
1619 934, 935, 936, 937, 938, 918, 920, 920, 920, 920,
1620 920, 920, 920, 920, 920, 920, 921, 921, 921, 921,
1621 921, 921, 921, 921, 921, 921, 0, 934, 935, 936,
1622 937, 938, 918, 922, 922, 922, 922, 922, 922, 922,
1623 922, 922, 922, 923, 923, 923, 923, 923, 923, 923,
1624 923, 923, 923, 924, 924, 924, 924, 924, 924, 924,
1625 924, 924, 924, 925, 925, 925, 925, 925, 925, 925,
1626 925, 925, 925, 926, 926, 926, 926, 926, 926, 926,
1627 926, 926, 926, 927, 927, 927, 927, 927, 927, 927,
1628 927, 927, 927, 928, 928, 928, 928, 928, 928, 928,
1629
1630 928, 928, 928, 929, 929, 929, 929, 929, 929, 929,
1631 929, 929, 929, 930, 930, 930, 930, 930, 930, 930,
1632 930, 930, 930, 931, 931, 931, 931, 931, 931, 931,
1633 931, 931, 931, 932, 932, 932, 932, 932, 932, 932,
1634 932, 932, 932, 939, 940, 941, 942, 943, 944, 945,
1635 946, 948, 948, 948, 948, 948, 948, 948, 0, 0,
1636 966, 967, 968, 969, 970, 971, 948, 0, 0, 0,
1637 939, 940, 941, 942, 943, 944, 945, 946, 949, 949,
1638 949, 949, 949, 949, 949, 949, 949, 966, 967, 968,
1639 969, 970, 971, 948, 950, 950, 950, 950, 950, 950,
1640
1641 950, 950, 950, 951, 951, 951, 951, 951, 951, 951,
1642 951, 951, 952, 952, 952, 952, 952, 952, 952, 952,
1643 952, 953, 953, 953, 953, 953, 953, 953, 953, 953,
1644 953, 954, 954, 954, 954, 954, 954, 954, 954, 954,
1645 954, 955, 955, 955, 955, 955, 955, 955, 955, 955,
1646 955, 956, 956, 956, 956, 956, 956, 956, 956, 956,
1647 956, 957, 957, 957, 957, 957, 957, 957, 957, 957,
1648 957, 958, 958, 958, 958, 958, 958, 958, 958, 958,
1649 958, 959, 959, 959, 959, 959, 959, 959, 959, 959,
1650 959, 960, 960, 960, 960, 960, 960, 960, 960, 960,
1651
1652 960, 961, 961, 961, 961, 961, 961, 961, 961, 961,
1653 961, 962, 962, 962, 962, 962, 962, 962, 962, 962,
1654 962, 963, 963, 963, 963, 963, 963, 963, 963, 963,
1655 963, 964, 964, 964, 964, 964, 964, 964, 964, 964,
1656 964, 965, 965, 965, 965, 965, 965, 965, 965, 965,
1657 965, 973, 974, 975, 0, 978, 979, 979, 979, 979,
1658 979, 979, 979, 0, 1000, 1001, 1002, 1003, 1004, 979,
1659 1008, 1008, 1008, 1008, 1008, 1008, 1008, 0, 973, 974,
1660 975, 978, 980, 980, 980, 980, 980, 980, 980, 980,
1661 980, 1000, 1001, 1002, 1003, 1004, 979, 981, 981, 981,
1662
1663 981, 981, 981, 981, 981, 981, 982, 982, 982, 982,
1664 982, 982, 982, 982, 982, 983, 983, 983, 983, 983,
1665 983, 983, 983, 983, 984, 984, 984, 984, 984, 984,
1666 984, 984, 984, 985, 985, 985, 985, 985, 985, 985,
1667 985, 985, 986, 986, 986, 986, 986, 986, 986, 986,
1668 986, 987, 987, 987, 987, 987, 987, 987, 987, 987,
1669 988, 988, 988, 988, 988, 988, 988, 988, 988, 989,
1670 989, 989, 989, 989, 989, 989, 989, 989, 990, 990,
1671 990, 990, 990, 990, 990, 990, 990, 991, 991, 991,
1672 991, 991, 991, 991, 991, 991, 992, 992, 992, 992,
1673
1674 992, 992, 992, 992, 992, 993, 993, 993, 993, 993,
1675 993, 993, 993, 993, 994, 994, 994, 994, 994, 994,
1676 994, 994, 994, 995, 995, 995, 995, 995, 995, 995,
1677 995, 995, 996, 996, 996, 996, 996, 996, 996, 996,
1678 996, 1005, 1006, 1009, 1009, 1009, 1009, 1009, 1009, 1009,
1679 1009, 1009, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
1680 1010, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1005, 1006,
1681 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1012,
1682 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1013,
1683 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 1014,
1684
1685 1014, 1014, 1014, 1014, 1014, 1014, 1015, 1015, 1015, 1015,
1686 1015, 1015, 1015, 1015, 1015, 1016, 1016, 1016, 1016, 1016,
1687 1016, 1016, 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017,
1688 1017, 1017, 1017, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
1689 1018, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
1690 1019, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
1691 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1022,
1692 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1023,
1693 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1024, 1024, 1024,
1694 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1025, 1025, 1025,
1695
1696 1025, 1025, 1025, 1025, 1025, 1026, 1026, 1026, 1026, 1026,
1697 1026, 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027,
1698 1027, 1027, 1027, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
1699 1028, 1028, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
1700 1029, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
1701 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032,
1702 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033, 1033,
1703 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1034, 1034, 1034,
1704 1034, 1034, 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035,
1705 1035, 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1036, 1036,
1706
1707 1036, 1036, 1036, 1036, 1037, 1037, 1037, 1037, 1037, 1037,
1708 1037, 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
1709 1038, 1038, 1043, 0, 1044, 1046, 1047, 0, 1047, 1047,
1710 1047, 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1048, 1048,
1711 1048, 1048, 1048, 1048, 0, 0, 0, 0, 0, 1043,
1712 1044, 0, 1046, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
1713 1049, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
1714 1050, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051,
1715 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1053,
1716 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1054,
1717
1718 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055, 1055,
1719 1055, 1055, 1055, 1055, 1055, 1055, 1056, 1056, 1056, 1056,
1720 1056, 1056, 1056, 1056, 1056, 1057, 1057, 1057, 1057, 1057,
1721 1057, 1057, 1057, 1057, 1058, 1058, 1058, 1058, 1058, 1058,
1722 1058, 1058, 1058, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
1723 1059, 1059, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
1724 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
1725 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063,
1726 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064,
1727 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1065, 1065,
1728
1729 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, 1066, 1066,
1730 1066, 1066, 1066, 1066, 1066, 1067, 1067, 1067, 1067, 1067,
1731 1067, 1067, 1067, 1067, 1068, 1068, 1068, 1068, 1068, 1068,
1732 1068, 1068, 1068, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
1733 1069, 1069, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1734 1070, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
1735 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1073,
1736 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074,
1737 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075,
1738 1075, 1075, 1075, 1075, 1075, 1075, 1076, 1076, 1076, 1076,
1739
1740 1076, 1076, 1076, 1076, 1076, 1077, 1077, 1077, 1077, 1077,
1741 1077, 1077, 1077, 1077, 1078, 1079, 1081, 1083, 1083, 1083,
1742 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1084, 1084, 1084,
1743 1084, 1084, 1084, 1084, 1084, 0, 0, 0, 0, 0,
1744 0, 1078, 1079, 1081, 1085, 1085, 1085, 1085, 1085, 1085,
1745 1085, 1085, 1085, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
1746 1086, 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
1747 1087, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1748 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1090,
1749 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091,
1750
1751 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1092, 1092, 1092,
1752 1092, 1092, 1092, 1092, 1092, 1092, 1093, 1093, 1093, 1093,
1753 1093, 1093, 1093, 1093, 1093, 1094, 1094, 1094, 1094, 1094,
1754 1094, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095, 1095,
1755 1095, 1095, 1095, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
1756 1096, 1096, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
1757 1097, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
1758 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1100,
1759 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101,
1760 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102,
1761
1762 1102, 1102, 1102, 1102, 1102, 1102, 1103, 1103, 1103, 1103,
1763 1103, 1103, 1103, 1103, 1103, 1104, 1104, 1104, 1104, 1104,
1764 1104, 1104, 1104, 1104, 1105, 1105, 1105, 1105, 1105, 1105,
1765 1105, 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
1766 1106, 1106, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
1767 1107, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1768 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1110,
1769 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111, 1111,
1770 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112,
1771 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1115, 1116, 1117,
1772
1773 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1119,
1774 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1123,
1775 1124, 1126, 1127, 1113, 1115, 1116, 1125, 1125, 1125, 1125,
1776 1125, 1125, 1125, 1128, 1130, 1118, 1119, 1120, 1132, 1121,
1777 0, 0, 0, 0, 0, 1122, 1123, 1124, 1126, 1127,
1778 0, 0, 0, 0, 1135, 1125, 0, 1137, 0, 0,
1779 1128, 1130, 0, 0, 0, 1132, 1121, 1129, 1129, 1129,
1780 1129, 1129, 1129, 1129, 1133, 1133, 1133, 1133, 1133, 1133,
1781 1133, 1135, 1125, 1137, 0, 0, 0, 0, 1133, 0,
1782 0, 0, 0, 0, 1129, 1136, 1136, 1136, 1136, 1136,
1783
1784 1136, 1136, 0, 0, 0, 1136, 1138, 1138, 1138, 1138,
1785 1138, 1138, 1138, 0, 0, 1133, 0, 0, 0, 0,
1786 0, 1129, 0, 0, 0, 0, 0, 0, 1138, 0,
1787 0, 0, 1136, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
1788 1141, 1141, 1141, 1141, 1141, 1141, 1141, 0, 0, 0,
1789 0, 1140, 0, 1141, 0, 1138, 1142, 1142, 1142, 1142,
1790 1142, 1142, 1142, 0, 0, 1142, 1143, 1143, 1143, 1143,
1791 1143, 1143, 1143, 0, 0, 0, 0, 0, 1140, 1144,
1792 1141, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145, 0,
1793 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1147, 1147, 1147,
1794
1795 1147, 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1149,
1796 1149, 1150, 1150, 0, 0, 1150, 1150, 1153, 0, 0,
1797 1153, 1153, 1153, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1798 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1799 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1800 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1801 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1802 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1803 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1804 1146, 1146, 1146, 1146, 1146, 1146
1805
1806 } ;
1807
1808 /* The intent behind this definition is that it'll catch
1809 * any uses of REJECT which flex missed.
1810 */
1811 #define REJECT reject_used_but_not_detected
1812 #define yymore() yymore_used_but_not_detected
1813 #define YY_MORE_ADJ 0
1814 #define YY_RESTORE_YY_MORE_OFFSET
1815
1816 #include <string>
1817
1818 #include "parser.h"
1819 #define yyterminate() return(END)
1820
1821 #define INITIAL 0
1822 #define MATCH_STRING_STATE 1
1823 #define MATCH_RESPONSE_CODE_STATE 2
1824 #define SUPPORTED_METHODS_STATE 3
1825 #define CONTENT_TYPE_STATE 4
1826 #define SESSION_STATE 5
1827 #define MATCH_PRESENTATION_URL 6
1828 #define NUM_AS_HEX_MODE 7
1829 #define MATCH_EDID_STATE 8
1830
1831 #ifndef YY_NO_UNISTD_H
1832 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1833 * down here because we want the user's section 1 to have been scanned first.
1834 * The user has a chance to override it with an option.
1835 */
1836 #include <unistd.h>
1837 #endif
1838
1839 #define YY_EXTRA_TYPE bool
1840
1841 /* Holds the entire state of the reentrant scanner. */
1842 struct yyguts_t
1843 {
1844
1845 /* User-defined. Not touched by flex. */
1846 YY_EXTRA_TYPE yyextra_r;
1847
1848 /* The rest are the same as the globals declared in the non-reentrant scanner. */
1849 FILE *yyin_r, *yyout_r;
1850 size_t yy_buffer_stack_top; /**< index of top of stack. */
1851 size_t yy_buffer_stack_max; /**< capacity of stack. */
1852 YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1853 char yy_hold_char;
1854 int yy_n_chars;
1855 int yyleng_r;
1856 char *yy_c_buf_p;
1857 int yy_init;
1858 int yy_start;
1859 int yy_did_buffer_switch_on_eof;
1860 int yy_start_stack_ptr;
1861 int yy_start_stack_depth;
1862 int *yy_start_stack;
1863 yy_state_type yy_last_accepting_state;
1864 char* yy_last_accepting_cpos;
1865
1866 int yylineno_r;
1867 int yy_flex_debug_r;
1868
1869 char *yytext_r;
1870 int yy_more_flag;
1871 int yy_more_len;
1872
1873 YYSTYPE * yylval_r;
1874
1875 }; /* end struct yyguts_t */
1876
1877 static int yy_init_globals (yyscan_t yyscanner );
1878
1879 /* This must go here because YYSTYPE and YYLTYPE are included
1880 * from bison output in section 1.*/
1881 # define yylval yyg->yylval_r
1882
1883 int message_lex_init (yyscan_t* scanner);
1884
1885 int message_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
1886
1887 /* Accessor methods to globals.
1888 These are made visible to non-reentrant scanners for convenience. */
1889
1890 int message_lex_destroy (yyscan_t yyscanner );
1891
1892 int message_get_debug (yyscan_t yyscanner );
1893
1894 void message_set_debug (int debug_flag ,yyscan_t yyscanner );
1895
1896 YY_EXTRA_TYPE message_get_extra (yyscan_t yyscanner );
1897
1898 void message_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1899
1900 FILE *message_get_in (yyscan_t yyscanner );
1901
1902 void message_set_in (FILE * in_str ,yyscan_t yyscanner );
1903
1904 FILE *message_get_out (yyscan_t yyscanner );
1905
1906 void message_set_out (FILE * out_str ,yyscan_t yyscanner );
1907
1908 int message_get_leng (yyscan_t yyscanner );
1909
1910 char *message_get_text (yyscan_t yyscanner );
1911
1912 int message_get_lineno (yyscan_t yyscanner );
1913
1914 void message_set_lineno (int line_number ,yyscan_t yyscanner );
1915
1916 YYSTYPE * message_get_lval (yyscan_t yyscanner );
1917
1918 void message_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
1919
1920 /* Macros after this point can all be overridden by user definitions in
1921 * section 1.
1922 */
1923
1924 #ifndef YY_SKIP_YYWRAP
1925 #ifdef __cplusplus
1926 extern "C" int message_wrap (yyscan_t yyscanner );
1927 #else
1928 extern int message_wrap (yyscan_t yyscanner );
1929 #endif
1930 #endif
1931
1932 #ifndef yytext_ptr
1933 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1934 #endif
1935
1936 #ifdef YY_NEED_STRLEN
1937 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1938 #endif
1939
1940 #ifndef YY_NO_INPUT
1941
1942 #ifdef __cplusplus
1943 static int yyinput (yyscan_t yyscanner );
1944 #else
1945 static int input (yyscan_t yyscanner );
1946 #endif
1947
1948 #endif
1949
1950 /* Amount of stuff to slurp up with each read. */
1951 #ifndef YY_READ_BUF_SIZE
1952 #ifdef __ia64__
1953 /* On IA-64, the buffer size is 16k, not 8k */
1954 #define YY_READ_BUF_SIZE 16384
1955 #else
1956 #define YY_READ_BUF_SIZE 8192
1957 #endif /* __ia64__ */
1958 #endif
1959
1960 /* Copy whatever the last rule matched to the standard output. */
1961 #ifndef ECHO
1962 /* This used to be an fputs(), but since the string might contain NUL's,
1963 * we now use fwrite().
1964 */
1965 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1966 #endif
1967
1968 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1969 * is returned in "result".
1970 */
1971 #ifndef YY_INPUT
1972 #define YY_INPUT(buf,result,max_size) \
1973 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1974 { \
1975 int c = '*'; \
1976 size_t n; \
1977 for ( n = 0; n < max_size && \
1978 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1979 buf[n] = (char) c; \
1980 if ( c == '\n' ) \
1981 buf[n++] = (char) c; \
1982 if ( c == EOF && ferror( yyin ) ) \
1983 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1984 result = n; \
1985 } \
1986 else \
1987 { \
1988 errno=0; \
1989 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1990 { \
1991 if( errno != EINTR) \
1992 { \
1993 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1994 break; \
1995 } \
1996 errno=0; \
1997 clearerr(yyin); \
1998 } \
1999 }\
2000 \
2001
2002 #endif
2003
2004 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2005 * we don't want an extra ';' after the "return" because that will cause
2006 * some compilers to complain about unreachable statements.
2007 */
2008 #ifndef yyterminate
2009 #define yyterminate() return YY_NULL
2010 #endif
2011
2012 /* Number of entries by which start-condition stack grows. */
2013 #ifndef YY_START_STACK_INCR
2014 #define YY_START_STACK_INCR 25
2015 #endif
2016
2017 /* Report a fatal error. */
2018 #ifndef YY_FATAL_ERROR
2019 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
2020 #endif
2021
2022 /* end tables serialization structures and prototypes */
2023
2024 /* Default declaration of generated scanner - a define so the user can
2025 * easily add parameters.
2026 */
2027 #ifndef YY_DECL
2028 #define YY_DECL_IS_OURS 1
2029
2030 extern int message_lex \
2031 (YYSTYPE * yylval_param ,yyscan_t yyscanner);
2032
2033 #define YY_DECL int message_lex \
2034 (YYSTYPE * yylval_param , yyscan_t yyscanner)
2035 #endif /* !YY_DECL */
2036
2037 /* Code executed at the beginning of each rule, after yytext and yyleng
2038 * have been set up.
2039 */
2040 #ifndef YY_USER_ACTION
2041 #define YY_USER_ACTION
2042 #endif
2043
2044 /* Code executed at the end of each rule. */
2045 #ifndef YY_BREAK
2046 #define YY_BREAK break;
2047 #endif
2048
2049 #define YY_RULE_SETUP \
2050 if ( yyleng > 0 ) \
2051 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2052 (yytext[yyleng - 1] == '\n'); \
2053 YY_USER_ACTION
2054
2055 /** The main scanner function which does all the work.
2056 */
2057 YY_DECL
2058 {
2059 register yy_state_type yy_current_state;
2060 register char *yy_cp, *yy_bp;
2061 register int yy_act;
2062 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2063
2064 yylval = yylval_param;
2065
2066 if ( !yyg->yy_init )
2067 {
2068 yyg->yy_init = 1;
2069
2070 #ifdef YY_USER_INIT
2071 YY_USER_INIT;
2072 #endif
2073
2074 if ( ! yyg->yy_start )
2075 yyg->yy_start = 1; /* first start state */
2076
2077 if ( ! yyin )
2078 yyin = stdin;
2079
2080 if ( ! yyout )
2081 yyout = stdout;
2082
2083 if ( ! YY_CURRENT_BUFFER ) {
2084 message_ensure_buffer_stack (yyscanner);
2085 YY_CURRENT_BUFFER_LVALUE =
2086 message__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2087 }
2088
2089 message__load_buffer_state(yyscanner );
2090 }
2091
2092 while ( 1 ) /* loops until end-of-file is reached */
2093 {
2094 yy_cp = yyg->yy_c_buf_p;
2095
2096 /* Support of yytext. */
2097 *yy_cp = yyg->yy_hold_char;
2098
2099 /* yy_bp points to the position in yy_ch_buf of the start of
2100 * the current run.
2101 */
2102 yy_bp = yy_cp;
2103
2104 yy_current_state = yyg->yy_start;
2105 yy_current_state += YY_AT_BOL();
2106 yy_match:
2107 do
2108 {
2109 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2110 if ( yy_accept[yy_current_state] )
2111 {
2112 yyg->yy_last_accepting_state = yy_current_state;
2113 yyg->yy_last_accepting_cpos = yy_cp;
2114 }
2115 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2116 {
2117 yy_current_state = (int) yy_def[yy_current_state];
2118 if ( yy_current_state >= 1147 )
2119 yy_c = yy_meta[(unsigned int) yy_c];
2120 }
2121 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2122 ++yy_cp;
2123 }
2124 while ( yy_current_state != 1146 );
2125 yy_cp = yyg->yy_last_accepting_cpos;
2126 yy_current_state = yyg->yy_last_accepting_state;
2127
2128 yy_find_action:
2129 yy_act = yy_accept[yy_current_state];
2130
2131 YY_DO_BEFORE_ACTION;
2132
2133 do_action: /* This label is used only to access EOF actions. */
2134
2135 switch ( yy_act )
2136 { /* beginning of action switch */
2137 case 0: /* must back up */
2138 /* undo the effects of YY_DO_BEFORE_ACTION */
2139 *yy_cp = yyg->yy_hold_char;
2140 yy_cp = yyg->yy_last_accepting_cpos;
2141 yy_current_state = yyg->yy_last_accepting_state;
2142 goto yy_find_action;
2143
2144 case 1:
2145 /* rule 1 can match eol */
2146 YY_RULE_SETUP
2147 { BEGIN(INITIAL); }
2148 YY_BREAK
2149 case 2:
2150 /* rule 2 can match eol */
2151 YY_RULE_SETUP
2152 { BEGIN(INITIAL); }
2153 YY_BREAK
2154 case 3:
2155 YY_RULE_SETUP
2156 { BEGIN(INITIAL); }
2157 YY_BREAK
2158 /* Convert these */
2159 case 4:
2160 YY_RULE_SETUP
2161 { return '='; }
2162 YY_BREAK
2163 case 5:
2164 YY_RULE_SETUP
2165 { return '-'; }
2166 YY_BREAK
2167 case 6:
2168 YY_RULE_SETUP
2169 { return ','; }
2170 YY_BREAK
2171 case 7:
2172 YY_RULE_SETUP
2173 { return '*'; }
2174 YY_BREAK
2175 case 8:
2176 YY_RULE_SETUP
2177 { return ';'; }
2178 YY_BREAK
2179 case 9:
2180 YY_RULE_SETUP
2181 { return ':'; }
2182 YY_BREAK
2183 case 10:
2184 YY_RULE_SETUP
2185 { return '/'; }
2186 YY_BREAK
2187 case 11:
2188 YY_RULE_SETUP
2189 return WFD_SP;
2190 YY_BREAK
2191 case 12:
2192 YY_RULE_SETUP
2193 return WFD_NONE;
2194 YY_BREAK
2195 case 13:
2196 YY_RULE_SETUP
2197 return WFD_AUDIO_CODEC_LPCM;
2198 YY_BREAK
2199 case 14:
2200 YY_RULE_SETUP
2201 return WFD_AUDIO_CODEC_AAC;
2202 YY_BREAK
2203 case 15:
2204 YY_RULE_SETUP
2205 return WFD_AUDIO_CODEC_AC3;
2206 YY_BREAK
2207 case 16:
2208 YY_RULE_SETUP
2209 return WFD_HDCP_SPEC_2_0;
2210 YY_BREAK
2211 case 17:
2212 YY_RULE_SETUP
2213 return WFD_HDCP_SPEC_2_1;
2214 YY_BREAK
2215 case 18:
2216 YY_RULE_SETUP
2217 return WFD_IP_PORT;
2218 YY_BREAK
2219 case 19:
2220 YY_RULE_SETUP
2221 return WFD_STREAM_PROFILE;
2222 YY_BREAK
2223 case 20:
2224 YY_RULE_SETUP
2225 return WFD_MODE_PLAY;
2226 YY_BREAK
2227 case 21:
2228 YY_RULE_SETUP
2229 return WFD_ROUTE_PRIMARY;
2230 YY_BREAK
2231 case 22:
2232 YY_RULE_SETUP
2233 return WFD_ROUTE_SECONDARY;
2234 YY_BREAK
2235 case 23:
2236 YY_RULE_SETUP
2237 return WFD_INPUT_CATEGORY_LIST;
2238 YY_BREAK
2239 case 24:
2240 YY_RULE_SETUP
2241 return WFD_INPUT_CATEGORY_GENERIC;
2242 YY_BREAK
2243 case 25:
2244 YY_RULE_SETUP
2245 return WFD_INPUT_CATEGORY_HIDC;
2246 YY_BREAK
2247 case 26:
2248 YY_RULE_SETUP
2249 return WFD_GENERIC_CAP_LIST;
2250 YY_BREAK
2251 case 27:
2252 YY_RULE_SETUP
2253 return WFD_INPUT_TYPE_KEYBOARD;
2254 YY_BREAK
2255 case 28:
2256 YY_RULE_SETUP
2257 return WFD_INPUT_TYPE_MOUSE;
2258 YY_BREAK
2259 case 29:
2260 YY_RULE_SETUP
2261 return WFD_INPUT_TYPE_SINGLE_TOUCH;
2262 YY_BREAK
2263 case 30:
2264 YY_RULE_SETUP
2265 return WFD_INPUT_TYPE_MULTI_TOUCH;
2266 YY_BREAK
2267 case 31:
2268 YY_RULE_SETUP
2269 return WFD_INPUT_TYPE_JOYSTICK;
2270 YY_BREAK
2271 case 32:
2272 YY_RULE_SETUP
2273 return WFD_INPUT_TYPE_CAMERA;
2274 YY_BREAK
2275 case 33:
2276 YY_RULE_SETUP
2277 return WFD_INPUT_TYPE_GESTURE;
2278 YY_BREAK
2279 case 34:
2280 YY_RULE_SETUP
2281 return WFD_INPUT_TYPE_REMOTE_CONTROL;
2282 YY_BREAK
2283 case 35:
2284 YY_RULE_SETUP
2285 return WFD_HIDC_CAP_LIST;
2286 YY_BREAK
2287 case 36:
2288 YY_RULE_SETUP
2289 return WFD_INPUT_PATH_INFRARED;
2290 YY_BREAK
2291 case 37:
2292 YY_RULE_SETUP
2293 return WFD_INPUT_PATH_USB;
2294 YY_BREAK
2295 case 38:
2296 YY_RULE_SETUP
2297 return WFD_INPUT_PATH_BT;
2298 YY_BREAK
2299 case 39:
2300 YY_RULE_SETUP
2301 return WFD_INPUT_PATH_WIFI;
2302 YY_BREAK
2303 case 40:
2304 YY_RULE_SETUP
2305 return WFD_INPUT_PATH_ZIGBEE;
2306 YY_BREAK
2307 case 41:
2308 YY_RULE_SETUP
2309 return WFD_INPUT_PATH_NOSP;
2310 YY_BREAK
2311 case 42:
2312 YY_RULE_SETUP
2313 return WFD_UIBC_SETTING_DISABLE;
2314 YY_BREAK
2315 case 43:
2316 YY_RULE_SETUP
2317 return WFD_UIBC_SETTING_ENABLE;
2318 YY_BREAK
2319 case 44:
2320 YY_RULE_SETUP
2321 return WFD_SUPPORTED;
2322 YY_BREAK
2323 case 45:
2324 YY_RULE_SETUP
2325 {
2326 std::string str(yytext, yyleng);
2327 str += '\0';
2328 errno = 0;
2329 yylval->nval = strtoull(str.c_str(), NULL, 16);
2330 if (errno)
2331 yyterminate();
2332 return WFD_NUM;
2333 }
2334 YY_BREAK
2335 case 46:
2336 YY_RULE_SETUP
2337 {
2338 std::string str(yytext, yyleng);
2339 str += '\0';
2340 errno = 0;
2341 yylval->nval = strtoull(str.c_str(), NULL, 16);
2342 if (errno)
2343 yyterminate();
2344 return WFD_NUM;
2345 }
2346 YY_BREAK
2347 case 47:
2348 YY_RULE_SETUP
2349 {
2350 yylval->sval = new std::string(yytext);
2351 return WFD_STRING;
2352 }
2353 YY_BREAK
2354 case 48:
2355 YY_RULE_SETUP
2356 {
2357 yylval->sval = new std::string(yytext);
2358 return WFD_STRING;
2359 }
2360 YY_BREAK
2361 case 49:
2362 YY_RULE_SETUP
2363 {
2364 BEGIN(NUM_AS_HEX_MODE);
2365 return WFD_AUDIO_CODECS;
2366 }
2367 YY_BREAK
2368 case 50:
2369 YY_RULE_SETUP
2370 {
2371 BEGIN(NUM_AS_HEX_MODE);
2372 return WFD_VIDEO_FORMATS;
2373 }
2374 YY_BREAK
2375 case 51:
2376 YY_RULE_SETUP
2377 {
2378 BEGIN(NUM_AS_HEX_MODE);
2379 return WFD_3D_FORMATS;
2380 }
2381 YY_BREAK
2382 case 52:
2383 YY_RULE_SETUP
2384 {
2385 return WFD_CONTENT_PROTECTION;
2386 }
2387 YY_BREAK
2388 case 53:
2389 YY_RULE_SETUP
2390 {
2391 BEGIN(MATCH_EDID_STATE);
2392 return WFD_DISPLAY_EDID;
2393 }
2394 YY_BREAK
2395 case 54:
2396 YY_RULE_SETUP
2397 {
2398 BEGIN(NUM_AS_HEX_MODE);
2399 return WFD_COUPLED_SINK;
2400 }
2401 YY_BREAK
2402 case 55:
2403 YY_RULE_SETUP
2404 {
2405 BEGIN(SUPPORTED_METHODS_STATE);
2406 return WFD_TRIGGER_METHOD;
2407 }
2408 YY_BREAK
2409 case 56:
2410 YY_RULE_SETUP
2411 {
2412 BEGIN(MATCH_PRESENTATION_URL);
2413 return WFD_PRESENTATION_URL;
2414 }
2415 YY_BREAK
2416 case 57:
2417 YY_RULE_SETUP
2418 {
2419 return WFD_CLIENT_RTP_PORTS;
2420 }
2421 YY_BREAK
2422 case 58:
2423 YY_RULE_SETUP
2424 {
2425 return WFD_ROUTE;
2426 }
2427 YY_BREAK
2428 case 59:
2429 YY_RULE_SETUP
2430 {
2431 return WFD_I2C;
2432 }
2433 YY_BREAK
2434 case 60:
2435 YY_RULE_SETUP
2436 {
2437 BEGIN(NUM_AS_HEX_MODE);
2438 return WFD_AV_FORMAT_CHANGE_TIMING;
2439 }
2440 YY_BREAK
2441 case 61:
2442 YY_RULE_SETUP
2443 {
2444 BEGIN(NUM_AS_HEX_MODE);
2445 return WFD_PREFERRED_DISPLAY_MODE;
2446 }
2447 YY_BREAK
2448 case 62:
2449 YY_RULE_SETUP
2450 {
2451 return WFD_UIBC_CAPABILITY;
2452 }
2453 YY_BREAK
2454 case 63:
2455 YY_RULE_SETUP
2456 {
2457 return WFD_UIBC_SETTING;
2458 }
2459 YY_BREAK
2460 case 64:
2461 YY_RULE_SETUP
2462 {
2463 return WFD_STANDBY_RESUME_CAPABILITY;
2464 }
2465 YY_BREAK
2466 case 65:
2467 YY_RULE_SETUP
2468 {
2469 if (yyextra) // Is reply.
2470 return WFD_STANDBY_IN_RESPONSE;
2471 return WFD_STANDBY_IN_REQUEST;
2472 }
2473 YY_BREAK
2474 case 66:
2475 YY_RULE_SETUP
2476 {
2477 BEGIN(NUM_AS_HEX_MODE);
2478 return WFD_CONNECTOR_TYPE;
2479 }
2480 YY_BREAK
2481 case 67:
2482 YY_RULE_SETUP
2483 {
2484 return WFD_IDR_REQUEST;
2485 }
2486 YY_BREAK
2487 case 68:
2488 YY_RULE_SETUP
2489 {
2490 BEGIN(MATCH_STRING_STATE);
2491 yylval->sval = new std::string(yytext, yyleng);
2492 return WFD_GENERIC_PROPERTY;
2493 }
2494 YY_BREAK
2495 case 69:
2496 YY_RULE_SETUP
2497 {
2498 std::string str(yytext, yyleng);
2499 str += '\0';
2500 errno = 0;
2501 yylval->nval = strtoull(str.c_str(), NULL, 10);
2502 if (errno)
2503 yyterminate();
2504 return WFD_NUM;
2505 }
2506 YY_BREAK
2507 case 70:
2508 /* rule 70 can match eol */
2509 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
2510 yyg->yy_c_buf_p = yy_cp -= 2;
2511 YY_DO_BEFORE_ACTION; /* set up yytext again */
2512 YY_RULE_SETUP
2513 {
2514 BEGIN(INITIAL);
2515 yylval->sval = new std::string(yytext);
2516 return WFD_STRING;
2517 }
2518 YY_BREAK
2519 case 71:
2520 YY_RULE_SETUP
2521 {
2522 return WFD_OPTIONS;
2523 }
2524 YY_BREAK
2525 case 72:
2526 YY_RULE_SETUP
2527 {
2528 return WFD_SET_PARAMETER;
2529 }
2530 YY_BREAK
2531 case 73:
2532 YY_RULE_SETUP
2533 {
2534 return WFD_GET_PARAMETER;
2535 }
2536 YY_BREAK
2537 case 74:
2538 YY_RULE_SETUP
2539 {
2540 return WFD_SETUP;
2541 }
2542 YY_BREAK
2543 case 75:
2544 YY_RULE_SETUP
2545 {
2546 return WFD_PLAY;
2547 }
2548 YY_BREAK
2549 case 76:
2550 YY_RULE_SETUP
2551 {
2552 return WFD_TEARDOWN;
2553 }
2554 YY_BREAK
2555 case 77:
2556 YY_RULE_SETUP
2557 {
2558 return WFD_PAUSE;
2559 }
2560 YY_BREAK
2561 case 78:
2562 YY_RULE_SETUP
2563 {
2564 return WFD_TAG;
2565 }
2566 YY_BREAK
2567 case 79:
2568 YY_RULE_SETUP
2569 {
2570 yylval->sval = new std::string(yytext);
2571 return WFD_PRESENTATION_URL_0;
2572 }
2573 YY_BREAK
2574 case 80:
2575 YY_RULE_SETUP
2576 {
2577 yylval->sval = new std::string(yytext);
2578 return WFD_PRESENTATION_URL_1;
2579 }
2580 YY_BREAK
2581 /* all unmatched */
2582 case 81:
2583 YY_RULE_SETUP
2584 {}
2585 YY_BREAK
2586 case 82:
2587 YY_RULE_SETUP
2588 YY_FATAL_ERROR( "flex scanner jammed" );
2589 YY_BREAK
2590 case YY_STATE_EOF(INITIAL):
2591 case YY_STATE_EOF(MATCH_STRING_STATE):
2592 case YY_STATE_EOF(MATCH_RESPONSE_CODE_STATE):
2593 case YY_STATE_EOF(SUPPORTED_METHODS_STATE):
2594 case YY_STATE_EOF(CONTENT_TYPE_STATE):
2595 case YY_STATE_EOF(SESSION_STATE):
2596 case YY_STATE_EOF(MATCH_PRESENTATION_URL):
2597 case YY_STATE_EOF(NUM_AS_HEX_MODE):
2598 case YY_STATE_EOF(MATCH_EDID_STATE):
2599 yyterminate();
2600
2601 case YY_END_OF_BUFFER:
2602 {
2603 /* Amount of text matched not including the EOB char. */
2604 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2605
2606 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2607 *yy_cp = yyg->yy_hold_char;
2608 YY_RESTORE_YY_MORE_OFFSET
2609
2610 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2611 {
2612 /* We're scanning a new file or input source. It's
2613 * possible that this happened because the user
2614 * just pointed yyin at a new source and called
2615 * message_lex(). If so, then we have to assure
2616 * consistency between YY_CURRENT_BUFFER and our
2617 * globals. Here is the right place to do so, because
2618 * this is the first action (other than possibly a
2619 * back-up) that will match for the new input source.
2620 */
2621 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2622 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2623 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2624 }
2625
2626 /* Note that here we test for yy_c_buf_p "<=" to the position
2627 * of the first EOB in the buffer, since yy_c_buf_p will
2628 * already have been incremented past the NUL character
2629 * (since all states make transitions on EOB to the
2630 * end-of-buffer state). Contrast this with the test
2631 * in input().
2632 */
2633 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2634 { /* This was really a NUL. */
2635 yy_state_type yy_next_state;
2636
2637 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2638
2639 yy_current_state = yy_get_previous_state( yyscanner );
2640
2641 /* Okay, we're now positioned to make the NUL
2642 * transition. We couldn't have
2643 * yy_get_previous_state() go ahead and do it
2644 * for us because it doesn't know how to deal
2645 * with the possibility of jamming (and we don't
2646 * want to build jamming into it because then it
2647 * will run more slowly).
2648 */
2649
2650 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2651
2652 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2653
2654 if ( yy_next_state )
2655 {
2656 /* Consume the NUL. */
2657 yy_cp = ++yyg->yy_c_buf_p;
2658 yy_current_state = yy_next_state;
2659 goto yy_match;
2660 }
2661
2662 else
2663 {
2664 yy_cp = yyg->yy_last_accepting_cpos;
2665 yy_current_state = yyg->yy_last_accepting_state;
2666 goto yy_find_action;
2667 }
2668 }
2669
2670 else switch ( yy_get_next_buffer( yyscanner ) )
2671 {
2672 case EOB_ACT_END_OF_FILE:
2673 {
2674 yyg->yy_did_buffer_switch_on_eof = 0;
2675
2676 if ( message_wrap(yyscanner ) )
2677 {
2678 /* Note: because we've taken care in
2679 * yy_get_next_buffer() to have set up
2680 * yytext, we can now set up
2681 * yy_c_buf_p so that if some total
2682 * hoser (like flex itself) wants to
2683 * call the scanner after we return the
2684 * YY_NULL, it'll still work - another
2685 * YY_NULL will get returned.
2686 */
2687 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2688
2689 yy_act = YY_STATE_EOF(YY_START);
2690 goto do_action;
2691 }
2692
2693 else
2694 {
2695 if ( ! yyg->yy_did_buffer_switch_on_eof )
2696 YY_NEW_FILE;
2697 }
2698 break;
2699 }
2700
2701 case EOB_ACT_CONTINUE_SCAN:
2702 yyg->yy_c_buf_p =
2703 yyg->yytext_ptr + yy_amount_of_matched_text;
2704
2705 yy_current_state = yy_get_previous_state( yyscanner );
2706
2707 yy_cp = yyg->yy_c_buf_p;
2708 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2709 goto yy_match;
2710
2711 case EOB_ACT_LAST_MATCH:
2712 yyg->yy_c_buf_p =
2713 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2714
2715 yy_current_state = yy_get_previous_state( yyscanner );
2716
2717 yy_cp = yyg->yy_c_buf_p;
2718 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2719 goto yy_find_action;
2720 }
2721 break;
2722 }
2723
2724 default:
2725 YY_FATAL_ERROR(
2726 "fatal flex scanner internal error--no action found" );
2727 } /* end of action switch */
2728 } /* end of scanning one token */
2729 } /* end of message_lex */
2730
2731 /* yy_get_next_buffer - try to read in a new buffer
2732 *
2733 * Returns a code representing an action:
2734 * EOB_ACT_LAST_MATCH -
2735 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2736 * EOB_ACT_END_OF_FILE - end of file
2737 */
2738 static int yy_get_next_buffer (yyscan_t yyscanner)
2739 {
2740 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2741 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2742 register char *source = yyg->yytext_ptr;
2743 register int number_to_move, i;
2744 int ret_val;
2745
2746 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2747 YY_FATAL_ERROR(
2748 "fatal flex scanner internal error--end of buffer missed" );
2749
2750 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2751 { /* Don't try to fill the buffer, so this is an EOF. */
2752 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2753 {
2754 /* We matched a single character, the EOB, so
2755 * treat this as a final EOF.
2756 */
2757 return EOB_ACT_END_OF_FILE;
2758 }
2759
2760 else
2761 {
2762 /* We matched some text prior to the EOB, first
2763 * process it.
2764 */
2765 return EOB_ACT_LAST_MATCH;
2766 }
2767 }
2768
2769 /* Try to read more data. */
2770
2771 /* First move last chars to start of buffer. */
2772 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2773
2774 for ( i = 0; i < number_to_move; ++i )
2775 *(dest++) = *(source++);
2776
2777 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2778 /* don't do the read, it's not guaranteed to return an EOF,
2779 * just force an EOF
2780 */
2781 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2782
2783 else
2784 {
2785 int num_to_read =
2786 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2787
2788 while ( num_to_read <= 0 )
2789 { /* Not enough room in the buffer - grow it. */
2790
2791 /* just a shorter name for the current buffer */
2792 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2793
2794 int yy_c_buf_p_offset =
2795 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2796
2797 if ( b->yy_is_our_buffer )
2798 {
2799 int new_size = b->yy_buf_size * 2;
2800
2801 if ( new_size <= 0 )
2802 b->yy_buf_size += b->yy_buf_size / 8;
2803 else
2804 b->yy_buf_size *= 2;
2805
2806 b->yy_ch_buf = (char *)
2807 /* Include room in for 2 EOB chars. */
2808 message_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
2809 }
2810 else
2811 /* Can't grow it, we don't own it. */
2812 b->yy_ch_buf = 0;
2813
2814 if ( ! b->yy_ch_buf )
2815 YY_FATAL_ERROR(
2816 "fatal error - scanner input buffer overflow" );
2817
2818 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2819
2820 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2821 number_to_move - 1;
2822
2823 }
2824
2825 if ( num_to_read > YY_READ_BUF_SIZE )
2826 num_to_read = YY_READ_BUF_SIZE;
2827
2828 /* Read in more data. */
2829 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2830 yyg->yy_n_chars, (size_t) num_to_read );
2831
2832 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2833 }
2834
2835 if ( yyg->yy_n_chars == 0 )
2836 {
2837 if ( number_to_move == YY_MORE_ADJ )
2838 {
2839 ret_val = EOB_ACT_END_OF_FILE;
2840 message_restart(yyin ,yyscanner);
2841 }
2842
2843 else
2844 {
2845 ret_val = EOB_ACT_LAST_MATCH;
2846 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2847 YY_BUFFER_EOF_PENDING;
2848 }
2849 }
2850
2851 else
2852 ret_val = EOB_ACT_CONTINUE_SCAN;
2853
2854 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2855 /* Extend the array by 50%, plus the number we really need. */
2856 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2857 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) message_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
2858 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2859 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2860 }
2861
2862 yyg->yy_n_chars += number_to_move;
2863 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2864 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2865
2866 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2867
2868 return ret_val;
2869 }
2870
2871 /* yy_get_previous_state - get the state just before the EOB char was reached */
2872
yy_get_previous_state(yyscan_t yyscanner)2873 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2874 {
2875 register yy_state_type yy_current_state;
2876 register char *yy_cp;
2877 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2878
2879 yy_current_state = yyg->yy_start;
2880 yy_current_state += YY_AT_BOL();
2881
2882 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2883 {
2884 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2885 if ( yy_accept[yy_current_state] )
2886 {
2887 yyg->yy_last_accepting_state = yy_current_state;
2888 yyg->yy_last_accepting_cpos = yy_cp;
2889 }
2890 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2891 {
2892 yy_current_state = (int) yy_def[yy_current_state];
2893 if ( yy_current_state >= 1147 )
2894 yy_c = yy_meta[(unsigned int) yy_c];
2895 }
2896 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2897 }
2898
2899 return yy_current_state;
2900 }
2901
2902 /* yy_try_NUL_trans - try to make a transition on the NUL character
2903 *
2904 * synopsis
2905 * next_state = yy_try_NUL_trans( current_state );
2906 */
yy_try_NUL_trans(yy_state_type yy_current_state,yyscan_t yyscanner)2907 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
2908 {
2909 register int yy_is_jam;
2910 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2911 register char *yy_cp = yyg->yy_c_buf_p;
2912
2913 register YY_CHAR yy_c = 1;
2914 if ( yy_accept[yy_current_state] )
2915 {
2916 yyg->yy_last_accepting_state = yy_current_state;
2917 yyg->yy_last_accepting_cpos = yy_cp;
2918 }
2919 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2920 {
2921 yy_current_state = (int) yy_def[yy_current_state];
2922 if ( yy_current_state >= 1147 )
2923 yy_c = yy_meta[(unsigned int) yy_c];
2924 }
2925 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2926 yy_is_jam = (yy_current_state == 1146);
2927
2928 return yy_is_jam ? 0 : yy_current_state;
2929 }
2930
2931 #ifndef YY_NO_INPUT
2932 #ifdef __cplusplus
yyinput(yyscan_t yyscanner)2933 static int yyinput (yyscan_t yyscanner)
2934 #else
2935 static int input (yyscan_t yyscanner)
2936 #endif
2937
2938 {
2939 int c;
2940 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2941
2942 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2943
2944 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2945 {
2946 /* yy_c_buf_p now points to the character we want to return.
2947 * If this occurs *before* the EOB characters, then it's a
2948 * valid NUL; if not, then we've hit the end of the buffer.
2949 */
2950 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2951 /* This was really a NUL. */
2952 *yyg->yy_c_buf_p = '\0';
2953
2954 else
2955 { /* need more input */
2956 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
2957 ++yyg->yy_c_buf_p;
2958
2959 switch ( yy_get_next_buffer( yyscanner ) )
2960 {
2961 case EOB_ACT_LAST_MATCH:
2962 /* This happens because yy_g_n_b()
2963 * sees that we've accumulated a
2964 * token and flags that we need to
2965 * try matching the token before
2966 * proceeding. But for input(),
2967 * there's no matching to consider.
2968 * So convert the EOB_ACT_LAST_MATCH
2969 * to EOB_ACT_END_OF_FILE.
2970 */
2971
2972 /* Reset buffer status. */
2973 message_restart(yyin ,yyscanner);
2974
2975 /*FALLTHROUGH*/
2976
2977 case EOB_ACT_END_OF_FILE:
2978 {
2979 if ( message_wrap(yyscanner ) )
2980 return EOF;
2981
2982 if ( ! yyg->yy_did_buffer_switch_on_eof )
2983 YY_NEW_FILE;
2984 #ifdef __cplusplus
2985 return yyinput(yyscanner);
2986 #else
2987 return input(yyscanner);
2988 #endif
2989 }
2990
2991 case EOB_ACT_CONTINUE_SCAN:
2992 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2993 break;
2994 }
2995 }
2996 }
2997
2998 c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
2999 *yyg->yy_c_buf_p = '\0'; /* preserve yytext */
3000 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
3001
3002 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3003
3004 return c;
3005 }
3006 #endif /* ifndef YY_NO_INPUT */
3007
3008 /** Immediately switch to a different input stream.
3009 * @param input_file A readable stream.
3010 * @param yyscanner The scanner object.
3011 * @note This function does not reset the start condition to @c INITIAL .
3012 */
message_restart(FILE * input_file,yyscan_t yyscanner)3013 void message_restart (FILE * input_file , yyscan_t yyscanner)
3014 {
3015 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3016
3017 if ( ! YY_CURRENT_BUFFER ){
3018 message_ensure_buffer_stack (yyscanner);
3019 YY_CURRENT_BUFFER_LVALUE =
3020 message__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3021 }
3022
3023 message__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
3024 message__load_buffer_state(yyscanner );
3025 }
3026
3027 /** Switch to a different input buffer.
3028 * @param new_buffer The new input buffer.
3029 * @param yyscanner The scanner object.
3030 */
message__switch_to_buffer(YY_BUFFER_STATE new_buffer,yyscan_t yyscanner)3031 void message__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3032 {
3033 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3034
3035 /* TODO. We should be able to replace this entire function body
3036 * with
3037 * message_pop_buffer_state();
3038 * message_push_buffer_state(new_buffer);
3039 */
3040 message_ensure_buffer_stack (yyscanner);
3041 if ( YY_CURRENT_BUFFER == new_buffer )
3042 return;
3043
3044 if ( YY_CURRENT_BUFFER )
3045 {
3046 /* Flush out information for old buffer. */
3047 *yyg->yy_c_buf_p = yyg->yy_hold_char;
3048 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3049 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3050 }
3051
3052 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3053 message__load_buffer_state(yyscanner );
3054
3055 /* We don't actually know whether we did this switch during
3056 * EOF (message_wrap()) processing, but the only time this flag
3057 * is looked at is after message_wrap() is called, so it's safe
3058 * to go ahead and always set it.
3059 */
3060 yyg->yy_did_buffer_switch_on_eof = 1;
3061 }
3062
message__load_buffer_state(yyscan_t yyscanner)3063 static void message__load_buffer_state (yyscan_t yyscanner)
3064 {
3065 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3066 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3067 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3068 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3069 yyg->yy_hold_char = *yyg->yy_c_buf_p;
3070 }
3071
3072 /** Allocate and initialize an input buffer state.
3073 * @param file A readable stream.
3074 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3075 * @param yyscanner The scanner object.
3076 * @return the allocated buffer state.
3077 */
message__create_buffer(FILE * file,int size,yyscan_t yyscanner)3078 YY_BUFFER_STATE message__create_buffer (FILE * file, int size , yyscan_t yyscanner)
3079 {
3080 YY_BUFFER_STATE b;
3081
3082 b = (YY_BUFFER_STATE) message_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3083 if ( ! b )
3084 YY_FATAL_ERROR( "out of dynamic memory in message__create_buffer()" );
3085
3086 b->yy_buf_size = size;
3087
3088 /* yy_ch_buf has to be 2 characters longer than the size given because
3089 * we need to put in 2 end-of-buffer characters.
3090 */
3091 b->yy_ch_buf = (char *) message_alloc(b->yy_buf_size + 2 ,yyscanner );
3092 if ( ! b->yy_ch_buf )
3093 YY_FATAL_ERROR( "out of dynamic memory in message__create_buffer()" );
3094
3095 b->yy_is_our_buffer = 1;
3096
3097 message__init_buffer(b,file ,yyscanner);
3098
3099 return b;
3100 }
3101
3102 /** Destroy the buffer.
3103 * @param b a buffer created with message__create_buffer()
3104 * @param yyscanner The scanner object.
3105 */
message__delete_buffer(YY_BUFFER_STATE b,yyscan_t yyscanner)3106 void message__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
3107 {
3108 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3109
3110 if ( ! b )
3111 return;
3112
3113 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3114 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3115
3116 if ( b->yy_is_our_buffer )
3117 message_free((void *) b->yy_ch_buf ,yyscanner );
3118
3119 message_free((void *) b ,yyscanner );
3120 }
3121
3122 /* Initializes or reinitializes a buffer.
3123 * This function is sometimes called more than once on the same buffer,
3124 * such as during a message_restart() or at EOF.
3125 */
message__init_buffer(YY_BUFFER_STATE b,FILE * file,yyscan_t yyscanner)3126 static void message__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
3127
3128 {
3129 int oerrno = errno;
3130 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3131
3132 message__flush_buffer(b ,yyscanner);
3133
3134 b->yy_input_file = file;
3135 b->yy_fill_buffer = 1;
3136
3137 /* If b is the current buffer, then message__init_buffer was _probably_
3138 * called from message_restart() or through yy_get_next_buffer.
3139 * In that case, we don't want to reset the lineno or column.
3140 */
3141 if (b != YY_CURRENT_BUFFER){
3142 b->yy_bs_lineno = 1;
3143 b->yy_bs_column = 0;
3144 }
3145
3146 b->yy_is_interactive = 0;
3147
3148 errno = oerrno;
3149 }
3150
3151 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3152 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3153 * @param yyscanner The scanner object.
3154 */
message__flush_buffer(YY_BUFFER_STATE b,yyscan_t yyscanner)3155 void message__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
3156 {
3157 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3158 if ( ! b )
3159 return;
3160
3161 b->yy_n_chars = 0;
3162
3163 /* We always need two end-of-buffer characters. The first causes
3164 * a transition to the end-of-buffer state. The second causes
3165 * a jam in that state.
3166 */
3167 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3168 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3169
3170 b->yy_buf_pos = &b->yy_ch_buf[0];
3171
3172 b->yy_at_bol = 1;
3173 b->yy_buffer_status = YY_BUFFER_NEW;
3174
3175 if ( b == YY_CURRENT_BUFFER )
3176 message__load_buffer_state(yyscanner );
3177 }
3178
3179 /** Pushes the new state onto the stack. The new state becomes
3180 * the current state. This function will allocate the stack
3181 * if necessary.
3182 * @param new_buffer The new state.
3183 * @param yyscanner The scanner object.
3184 */
message_push_buffer_state(YY_BUFFER_STATE new_buffer,yyscan_t yyscanner)3185 void message_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3186 {
3187 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3188 if (new_buffer == NULL)
3189 return;
3190
3191 message_ensure_buffer_stack(yyscanner);
3192
3193 /* This block is copied from message__switch_to_buffer. */
3194 if ( YY_CURRENT_BUFFER )
3195 {
3196 /* Flush out information for old buffer. */
3197 *yyg->yy_c_buf_p = yyg->yy_hold_char;
3198 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3199 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3200 }
3201
3202 /* Only push if top exists. Otherwise, replace top. */
3203 if (YY_CURRENT_BUFFER)
3204 yyg->yy_buffer_stack_top++;
3205 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3206
3207 /* copied from message__switch_to_buffer. */
3208 message__load_buffer_state(yyscanner );
3209 yyg->yy_did_buffer_switch_on_eof = 1;
3210 }
3211
3212 /** Removes and deletes the top of the stack, if present.
3213 * The next element becomes the new top.
3214 * @param yyscanner The scanner object.
3215 */
message_pop_buffer_state(yyscan_t yyscanner)3216 void message_pop_buffer_state (yyscan_t yyscanner)
3217 {
3218 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3219 if (!YY_CURRENT_BUFFER)
3220 return;
3221
3222 message__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
3223 YY_CURRENT_BUFFER_LVALUE = NULL;
3224 if (yyg->yy_buffer_stack_top > 0)
3225 --yyg->yy_buffer_stack_top;
3226
3227 if (YY_CURRENT_BUFFER) {
3228 message__load_buffer_state(yyscanner );
3229 yyg->yy_did_buffer_switch_on_eof = 1;
3230 }
3231 }
3232
3233 /* Allocates the stack if it does not exist.
3234 * Guarantees space for at least one push.
3235 */
message_ensure_buffer_stack(yyscan_t yyscanner)3236 static void message_ensure_buffer_stack (yyscan_t yyscanner)
3237 {
3238 int num_to_alloc;
3239 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3240
3241 if (!yyg->yy_buffer_stack) {
3242
3243 /* First allocation is just for 2 elements, since we don't know if this
3244 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3245 * immediate realloc on the next call.
3246 */
3247 num_to_alloc = 1;
3248 yyg->yy_buffer_stack = (struct yy_buffer_state**)message_alloc
3249 (num_to_alloc * sizeof(struct yy_buffer_state*)
3250 , yyscanner);
3251 if ( ! yyg->yy_buffer_stack )
3252 YY_FATAL_ERROR( "out of dynamic memory in message_ensure_buffer_stack()" );
3253
3254 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3255
3256 yyg->yy_buffer_stack_max = num_to_alloc;
3257 yyg->yy_buffer_stack_top = 0;
3258 return;
3259 }
3260
3261 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
3262
3263 /* Increase the buffer to prepare for a possible push. */
3264 int grow_size = 8 /* arbitrary grow size */;
3265
3266 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
3267 yyg->yy_buffer_stack = (struct yy_buffer_state**)message_realloc
3268 (yyg->yy_buffer_stack,
3269 num_to_alloc * sizeof(struct yy_buffer_state*)
3270 , yyscanner);
3271 if ( ! yyg->yy_buffer_stack )
3272 YY_FATAL_ERROR( "out of dynamic memory in message_ensure_buffer_stack()" );
3273
3274 /* zero only the new slots.*/
3275 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
3276 yyg->yy_buffer_stack_max = num_to_alloc;
3277 }
3278 }
3279
3280 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3281 * @param base the character buffer
3282 * @param size the size in bytes of the character buffer
3283 * @param yyscanner The scanner object.
3284 * @return the newly allocated buffer state object.
3285 */
message__scan_buffer(char * base,yy_size_t size,yyscan_t yyscanner)3286 YY_BUFFER_STATE message__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
3287 {
3288 YY_BUFFER_STATE b;
3289
3290 if ( size < 2 ||
3291 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3292 base[size-1] != YY_END_OF_BUFFER_CHAR )
3293 /* They forgot to leave room for the EOB's. */
3294 return 0;
3295
3296 b = (YY_BUFFER_STATE) message_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3297 if ( ! b )
3298 YY_FATAL_ERROR( "out of dynamic memory in message__scan_buffer()" );
3299
3300 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3301 b->yy_buf_pos = b->yy_ch_buf = base;
3302 b->yy_is_our_buffer = 0;
3303 b->yy_input_file = 0;
3304 b->yy_n_chars = b->yy_buf_size;
3305 b->yy_is_interactive = 0;
3306 b->yy_at_bol = 1;
3307 b->yy_fill_buffer = 0;
3308 b->yy_buffer_status = YY_BUFFER_NEW;
3309
3310 message__switch_to_buffer(b ,yyscanner );
3311
3312 return b;
3313 }
3314
3315 /** Setup the input buffer state to scan a string. The next call to message_lex() will
3316 * scan from a @e copy of @a str.
3317 * @param yystr a NUL-terminated string to scan
3318 * @param yyscanner The scanner object.
3319 * @return the newly allocated buffer state object.
3320 * @note If you want to scan bytes that may contain NUL values, then use
3321 * message__scan_bytes() instead.
3322 */
message__scan_string(yyconst char * yystr,yyscan_t yyscanner)3323 YY_BUFFER_STATE message__scan_string (yyconst char * yystr , yyscan_t yyscanner)
3324 {
3325
3326 return message__scan_bytes(yystr,strlen(yystr) ,yyscanner);
3327 }
3328
3329 /** Setup the input buffer state to scan the given bytes. The next call to message_lex() will
3330 * scan from a @e copy of @a bytes.
3331 * @param yybytes the byte buffer to scan
3332 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3333 * @param yyscanner The scanner object.
3334 * @return the newly allocated buffer state object.
3335 */
message__scan_bytes(yyconst char * yybytes,int _yybytes_len,yyscan_t yyscanner)3336 YY_BUFFER_STATE message__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
3337 {
3338 YY_BUFFER_STATE b;
3339 char *buf;
3340 yy_size_t n;
3341 int i;
3342
3343 /* Get memory for full buffer, including space for trailing EOB's. */
3344 n = _yybytes_len + 2;
3345 buf = (char *) message_alloc(n ,yyscanner );
3346 if ( ! buf )
3347 YY_FATAL_ERROR( "out of dynamic memory in message__scan_bytes()" );
3348
3349 for ( i = 0; i < _yybytes_len; ++i )
3350 buf[i] = yybytes[i];
3351
3352 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3353
3354 b = message__scan_buffer(buf,n ,yyscanner);
3355 if ( ! b )
3356 YY_FATAL_ERROR( "bad buffer in message__scan_bytes()" );
3357
3358 /* It's okay to grow etc. this buffer, and we should throw it
3359 * away when we're done.
3360 */
3361 b->yy_is_our_buffer = 1;
3362
3363 return b;
3364 }
3365
3366 #ifndef YY_EXIT_FAILURE
3367 #define YY_EXIT_FAILURE 2
3368 #endif
3369
yy_fatal_error(yyconst char * msg,yyscan_t yyscanner)3370 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
3371 {
3372 (void) fprintf( stderr, "%s\n", msg );
3373 exit( YY_EXIT_FAILURE );
3374 }
3375
3376 /* Redefine yyless() so it works in section 3 code. */
3377
3378 #undef yyless
3379 #define yyless(n) \
3380 do \
3381 { \
3382 /* Undo effects of setting up yytext. */ \
3383 int yyless_macro_arg = (n); \
3384 YY_LESS_LINENO(yyless_macro_arg);\
3385 yytext[yyleng] = yyg->yy_hold_char; \
3386 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3387 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3388 *yyg->yy_c_buf_p = '\0'; \
3389 yyleng = yyless_macro_arg; \
3390 } \
3391 while ( 0 )
3392
3393 /* Accessor methods (get/set functions) to struct members. */
3394
3395 /** Get the user-defined data for this scanner.
3396 * @param yyscanner The scanner object.
3397 */
message_get_extra(yyscan_t yyscanner)3398 YY_EXTRA_TYPE message_get_extra (yyscan_t yyscanner)
3399 {
3400 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3401 return yyextra;
3402 }
3403
3404 /** Get the current line number.
3405 * @param yyscanner The scanner object.
3406 */
message_get_lineno(yyscan_t yyscanner)3407 int message_get_lineno (yyscan_t yyscanner)
3408 {
3409 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3410
3411 if (! YY_CURRENT_BUFFER)
3412 return 0;
3413
3414 return yylineno;
3415 }
3416
3417 /** Get the current column number.
3418 * @param yyscanner The scanner object.
3419 */
message_get_column(yyscan_t yyscanner)3420 int message_get_column (yyscan_t yyscanner)
3421 {
3422 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3423
3424 if (! YY_CURRENT_BUFFER)
3425 return 0;
3426
3427 return yycolumn;
3428 }
3429
3430 /** Get the input stream.
3431 * @param yyscanner The scanner object.
3432 */
message_get_in(yyscan_t yyscanner)3433 FILE *message_get_in (yyscan_t yyscanner)
3434 {
3435 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3436 return yyin;
3437 }
3438
3439 /** Get the output stream.
3440 * @param yyscanner The scanner object.
3441 */
message_get_out(yyscan_t yyscanner)3442 FILE *message_get_out (yyscan_t yyscanner)
3443 {
3444 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3445 return yyout;
3446 }
3447
3448 /** Get the length of the current token.
3449 * @param yyscanner The scanner object.
3450 */
message_get_leng(yyscan_t yyscanner)3451 int message_get_leng (yyscan_t yyscanner)
3452 {
3453 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3454 return yyleng;
3455 }
3456
3457 /** Get the current token.
3458 * @param yyscanner The scanner object.
3459 */
3460
message_get_text(yyscan_t yyscanner)3461 char *message_get_text (yyscan_t yyscanner)
3462 {
3463 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3464 return yytext;
3465 }
3466
3467 /** Set the user-defined data. This data is never touched by the scanner.
3468 * @param user_defined The data to be associated with this scanner.
3469 * @param yyscanner The scanner object.
3470 */
message_set_extra(YY_EXTRA_TYPE user_defined,yyscan_t yyscanner)3471 void message_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
3472 {
3473 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3474 yyextra = user_defined ;
3475 }
3476
3477 /** Set the current line number.
3478 * @param line_number
3479 * @param yyscanner The scanner object.
3480 */
message_set_lineno(int line_number,yyscan_t yyscanner)3481 void message_set_lineno (int line_number , yyscan_t yyscanner)
3482 {
3483 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3484
3485 /* lineno is only valid if an input buffer exists. */
3486 if (! YY_CURRENT_BUFFER )
3487 yy_fatal_error( "message_set_lineno called with no buffer" , yyscanner);
3488
3489 yylineno = line_number;
3490 }
3491
3492 /** Set the current column.
3493 * @param line_number
3494 * @param yyscanner The scanner object.
3495 */
message_set_column(int column_no,yyscan_t yyscanner)3496 void message_set_column (int column_no , yyscan_t yyscanner)
3497 {
3498 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3499
3500 /* column is only valid if an input buffer exists. */
3501 if (! YY_CURRENT_BUFFER )
3502 yy_fatal_error( "message_set_column called with no buffer" , yyscanner);
3503
3504 yycolumn = column_no;
3505 }
3506
3507 /** Set the input stream. This does not discard the current
3508 * input buffer.
3509 * @param in_str A readable stream.
3510 * @param yyscanner The scanner object.
3511 * @see message__switch_to_buffer
3512 */
message_set_in(FILE * in_str,yyscan_t yyscanner)3513 void message_set_in (FILE * in_str , yyscan_t yyscanner)
3514 {
3515 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3516 yyin = in_str ;
3517 }
3518
message_set_out(FILE * out_str,yyscan_t yyscanner)3519 void message_set_out (FILE * out_str , yyscan_t yyscanner)
3520 {
3521 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3522 yyout = out_str ;
3523 }
3524
message_get_debug(yyscan_t yyscanner)3525 int message_get_debug (yyscan_t yyscanner)
3526 {
3527 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3528 return yy_flex_debug;
3529 }
3530
message_set_debug(int bdebug,yyscan_t yyscanner)3531 void message_set_debug (int bdebug , yyscan_t yyscanner)
3532 {
3533 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3534 yy_flex_debug = bdebug ;
3535 }
3536
3537 /* Accessor methods for yylval and yylloc */
3538
message_get_lval(yyscan_t yyscanner)3539 YYSTYPE * message_get_lval (yyscan_t yyscanner)
3540 {
3541 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3542 return yylval;
3543 }
3544
message_set_lval(YYSTYPE * yylval_param,yyscan_t yyscanner)3545 void message_set_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
3546 {
3547 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3548 yylval = yylval_param;
3549 }
3550
3551 /* User-visible API */
3552
3553 /* message_lex_init is special because it creates the scanner itself, so it is
3554 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3555 * That's why we explicitly handle the declaration, instead of using our macros.
3556 */
3557
message_lex_init(yyscan_t * ptr_yy_globals)3558 int message_lex_init(yyscan_t* ptr_yy_globals)
3559
3560 {
3561 if (ptr_yy_globals == NULL){
3562 errno = EINVAL;
3563 return 1;
3564 }
3565
3566 *ptr_yy_globals = (yyscan_t) message_alloc ( sizeof( struct yyguts_t ), NULL );
3567
3568 if (*ptr_yy_globals == NULL){
3569 errno = ENOMEM;
3570 return 1;
3571 }
3572
3573 /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3574 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3575
3576 return yy_init_globals ( *ptr_yy_globals );
3577 }
3578
3579 /* message_lex_init_extra has the same functionality as message_lex_init, but follows the
3580 * convention of taking the scanner as the last argument. Note however, that
3581 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3582 * is the reason, too, why this function also must handle its own declaration).
3583 * The user defined value in the first argument will be available to message_alloc in
3584 * the yyextra field.
3585 */
3586
message_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t * ptr_yy_globals)3587 int message_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
3588
3589 {
3590 struct yyguts_t dummy_yyguts;
3591
3592 message_set_extra (yy_user_defined, &dummy_yyguts);
3593
3594 if (ptr_yy_globals == NULL){
3595 errno = EINVAL;
3596 return 1;
3597 }
3598
3599 *ptr_yy_globals = (yyscan_t) message_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3600
3601 if (*ptr_yy_globals == NULL){
3602 errno = ENOMEM;
3603 return 1;
3604 }
3605
3606 /* By setting to 0xAA, we expose bugs in
3607 yy_init_globals. Leave at 0x00 for releases. */
3608 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3609
3610 message_set_extra (yy_user_defined, *ptr_yy_globals);
3611
3612 return yy_init_globals ( *ptr_yy_globals );
3613 }
3614
yy_init_globals(yyscan_t yyscanner)3615 static int yy_init_globals (yyscan_t yyscanner)
3616 {
3617 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3618 /* Initialization is the same as for the non-reentrant scanner.
3619 * This function is called from message_lex_destroy(), so don't allocate here.
3620 */
3621
3622 yyg->yy_buffer_stack = 0;
3623 yyg->yy_buffer_stack_top = 0;
3624 yyg->yy_buffer_stack_max = 0;
3625 yyg->yy_c_buf_p = (char *) 0;
3626 yyg->yy_init = 0;
3627 yyg->yy_start = 0;
3628
3629 yyg->yy_start_stack_ptr = 0;
3630 yyg->yy_start_stack_depth = 0;
3631 yyg->yy_start_stack = NULL;
3632
3633 /* Defined in main.c */
3634 #ifdef YY_STDINIT
3635 yyin = stdin;
3636 yyout = stdout;
3637 #else
3638 yyin = (FILE *) 0;
3639 yyout = (FILE *) 0;
3640 #endif
3641
3642 /* For future reference: Set errno on error, since we are called by
3643 * message_lex_init()
3644 */
3645 return 0;
3646 }
3647
3648 /* message_lex_destroy is for both reentrant and non-reentrant scanners. */
message_lex_destroy(yyscan_t yyscanner)3649 int message_lex_destroy (yyscan_t yyscanner)
3650 {
3651 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3652
3653 /* Pop the buffer stack, destroying each element. */
3654 while(YY_CURRENT_BUFFER){
3655 message__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3656 YY_CURRENT_BUFFER_LVALUE = NULL;
3657 message_pop_buffer_state(yyscanner);
3658 }
3659
3660 /* Destroy the stack itself. */
3661 message_free(yyg->yy_buffer_stack ,yyscanner);
3662 yyg->yy_buffer_stack = NULL;
3663
3664 /* Destroy the start condition stack. */
3665 message_free(yyg->yy_start_stack ,yyscanner );
3666 yyg->yy_start_stack = NULL;
3667
3668 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3669 * message_lex() is called, initialization will occur. */
3670 yy_init_globals( yyscanner);
3671
3672 /* Destroy the main struct (reentrant only). */
3673 message_free ( yyscanner , yyscanner );
3674 yyscanner = NULL;
3675 return 0;
3676 }
3677
3678 /*
3679 * Internal utility routines.
3680 */
3681
3682 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,yyconst char * s2,int n,yyscan_t yyscanner)3683 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
3684 {
3685 register int i;
3686 for ( i = 0; i < n; ++i )
3687 s1[i] = s2[i];
3688 }
3689 #endif
3690
3691 #ifdef YY_NEED_STRLEN
yy_flex_strlen(yyconst char * s,yyscan_t yyscanner)3692 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3693 {
3694 register int n;
3695 for ( n = 0; s[n]; ++n )
3696 ;
3697
3698 return n;
3699 }
3700 #endif
3701
message_alloc(yy_size_t size,yyscan_t yyscanner)3702 void *message_alloc (yy_size_t size , yyscan_t yyscanner)
3703 {
3704 return (void *) malloc( size );
3705 }
3706
message_realloc(void * ptr,yy_size_t size,yyscan_t yyscanner)3707 void *message_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
3708 {
3709 /* The cast to (char *) in the following accommodates both
3710 * implementations that use char* generic pointers, and those
3711 * that use void* generic pointers. It works with the latter
3712 * because both ANSI C and C++ allow castless assignment from
3713 * any pointer type to void*, and deal with argument conversions
3714 * as though doing an assignment.
3715 */
3716 return (void *) realloc( (char *) ptr, size );
3717 }
3718
message_free(void * ptr,yyscan_t yyscanner)3719 void message_free (void * ptr , yyscan_t yyscanner)
3720 {
3721 free( (char *) ptr ); /* see message_realloc() for (char *) cast */
3722 }
3723
3724 #define YYTABLES_NAME "yytables"
3725
3726