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