ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1516
Committed: Thu Aug 30 15:08:36 2012 UTC (12 years, 11 months ago) by michael
Content type: text/x-csrc
Original Path: ircd-hybrid-8/src/conf_lexer.c
File size: 146026 byte(s)
Log Message:
- Removed general::client_flood configuration option and added the
  new 'recvq' configuration directive to class{} blocks.
  The max size of a receive queue can be seen in "STATS Y" for each class
- Update NEWS

File Contents

# Content
1
2 #line 3 "conf_lexer.c"
3
4 #define YY_INT_ALIGNED short int
5
6 /* A lexical scanner generated by flex */
7
8 #define FLEX_SCANNER
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 37
12 #if YY_FLEX_SUBMINOR_VERSION > 0
13 #define FLEX_BETA
14 #endif
15
16 /* First, we deal with platform-specific or compiler-specific issues. */
17
18 /* begin standard C headers. */
19 #include <stdio.h>
20 #include <string.h>
21 #include <errno.h>
22 #include <stdlib.h>
23
24 /* end standard C headers. */
25
26 /* flex integer type definitions */
27
28 #ifndef FLEXINT_H
29 #define FLEXINT_H
30
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
37 */
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
40 #endif
41
42 #include <inttypes.h>
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
49 #else
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
56
57 /* Limits of integral types. */
58 #ifndef INT8_MIN
59 #define INT8_MIN (-128)
60 #endif
61 #ifndef INT16_MIN
62 #define INT16_MIN (-32767-1)
63 #endif
64 #ifndef INT32_MIN
65 #define INT32_MIN (-2147483647-1)
66 #endif
67 #ifndef INT8_MAX
68 #define INT8_MAX (127)
69 #endif
70 #ifndef INT16_MAX
71 #define INT16_MAX (32767)
72 #endif
73 #ifndef INT32_MAX
74 #define INT32_MAX (2147483647)
75 #endif
76 #ifndef UINT8_MAX
77 #define UINT8_MAX (255U)
78 #endif
79 #ifndef UINT16_MAX
80 #define UINT16_MAX (65535U)
81 #endif
82 #ifndef UINT32_MAX
83 #define UINT32_MAX (4294967295U)
84 #endif
85
86 #endif /* ! C99 */
87
88 #endif /* ! FLEXINT_H */
89
90 #ifdef __cplusplus
91
92 /* The "const" storage-class-modifier is valid. */
93 #define YY_USE_CONST
94
95 #else /* ! __cplusplus */
96
97 /* C99 requires __STDC__ to be defined as 1. */
98 #if defined (__STDC__)
99
100 #define YY_USE_CONST
101
102 #endif /* defined (__STDC__) */
103 #endif /* ! __cplusplus */
104
105 #ifdef YY_USE_CONST
106 #define yyconst const
107 #else
108 #define yyconst
109 #endif
110
111 /* Returned upon end-of-file. */
112 #define YY_NULL 0
113
114 /* Promotes a possibly negative, possibly signed char to an unsigned
115 * integer for use as an array index. If the signed char is negative,
116 * we want to instead treat it as an 8-bit unsigned char, hence the
117 * double cast.
118 */
119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
120
121 /* Enter a start condition. This macro really ought to take a parameter,
122 * but we do it the disgusting crufty way forced on us by the ()-less
123 * definition of BEGIN.
124 */
125 #define BEGIN (yy_start) = 1 + 2 *
126
127 /* Translate the current start state into a value that can be later handed
128 * to BEGIN to return to the state. The YYSTATE alias is for lex
129 * compatibility.
130 */
131 #define YY_START (((yy_start) - 1) / 2)
132 #define YYSTATE YY_START
133
134 /* Action number for EOF rule of a given start state. */
135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136
137 /* Special action meaning "start processing a new file". */
138 #define YY_NEW_FILE yyrestart(yyin )
139
140 #define YY_END_OF_BUFFER_CHAR 0
141
142 /* Size of default input buffer. */
143 #ifndef YY_BUF_SIZE
144 #define YY_BUF_SIZE 16384
145 #endif
146
147 /* The state buf must be large enough to hold one state per character in the main buffer.
148 */
149 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150
151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
152 #define YY_TYPEDEF_YY_BUFFER_STATE
153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
154 #endif
155
156 #ifndef YY_TYPEDEF_YY_SIZE_T
157 #define YY_TYPEDEF_YY_SIZE_T
158 typedef size_t yy_size_t;
159 #endif
160
161 extern yy_size_t yyleng;
162
163 extern FILE *yyin, *yyout;
164
165 #define EOB_ACT_CONTINUE_SCAN 0
166 #define EOB_ACT_END_OF_FILE 1
167 #define EOB_ACT_LAST_MATCH 2
168
169 #define YY_LESS_LINENO(n)
170
171 /* Return all but the first "n" matched characters back to the input stream. */
172 #define yyless(n) \
173 do \
174 { \
175 /* Undo effects of setting up yytext. */ \
176 int yyless_macro_arg = (n); \
177 YY_LESS_LINENO(yyless_macro_arg);\
178 *yy_cp = (yy_hold_char); \
179 YY_RESTORE_YY_MORE_OFFSET \
180 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
181 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
182 } \
183 while ( 0 )
184
185 #define unput(c) yyunput( c, (yytext_ptr) )
186
187 #ifndef YY_STRUCT_YY_BUFFER_STATE
188 #define YY_STRUCT_YY_BUFFER_STATE
189 struct yy_buffer_state
190 {
191 FILE *yy_input_file;
192
193 char *yy_ch_buf; /* input buffer */
194 char *yy_buf_pos; /* current position in input buffer */
195
196 /* Size of input buffer in bytes, not including room for EOB
197 * characters.
198 */
199 yy_size_t yy_buf_size;
200
201 /* Number of characters read into yy_ch_buf, not including EOB
202 * characters.
203 */
204 yy_size_t yy_n_chars;
205
206 /* Whether we "own" the buffer - i.e., we know we created it,
207 * and can realloc() it to grow it, and should free() it to
208 * delete it.
209 */
210 int yy_is_our_buffer;
211
212 /* Whether this is an "interactive" input source; if so, and
213 * if we're using stdio for input, then we want to use getc()
214 * instead of fread(), to make sure we stop fetching input after
215 * each newline.
216 */
217 int yy_is_interactive;
218
219 /* Whether we're considered to be at the beginning of a line.
220 * If so, '^' rules will be active on the next match, otherwise
221 * not.
222 */
223 int yy_at_bol;
224
225 int yy_bs_lineno; /**< The line count. */
226 int yy_bs_column; /**< The column count. */
227
228 /* Whether to try to fill the input buffer when we reach the
229 * end of it.
230 */
231 int yy_fill_buffer;
232
233 int yy_buffer_status;
234
235 #define YY_BUFFER_NEW 0
236 #define YY_BUFFER_NORMAL 1
237 /* When an EOF's been seen but there's still some text to process
238 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
239 * shouldn't try reading from the input source any more. We might
240 * still have a bunch of tokens to match, though, because of
241 * possible backing-up.
242 *
243 * When we actually see the EOF, we change the status to "new"
244 * (via yyrestart()), so that the user can continue scanning by
245 * just pointing yyin at a new input file.
246 */
247 #define YY_BUFFER_EOF_PENDING 2
248
249 };
250 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
251
252 /* Stack of input buffers. */
253 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
254 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
255 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
256
257 /* We provide macros for accessing buffer states in case in the
258 * future we want to put the buffer states in a more general
259 * "scanner state".
260 *
261 * Returns the top of the stack, or NULL.
262 */
263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
264 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
265 : NULL)
266
267 /* Same as previous macro, but useful when we know that the buffer stack is not
268 * NULL or when we need an lvalue. For internal use only.
269 */
270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
271
272 /* yy_hold_char holds the character lost when yytext is formed. */
273 static char yy_hold_char;
274 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
275 yy_size_t yyleng;
276
277 /* Points to current character in buffer. */
278 static char *yy_c_buf_p = (char *) 0;
279 static int yy_init = 0; /* whether we need to initialize */
280 static int yy_start = 0; /* start state number */
281
282 /* Flag which is used to allow yywrap()'s to do buffer switches
283 * instead of setting up a fresh yyin. A bit of a hack ...
284 */
285 static int yy_did_buffer_switch_on_eof;
286
287 void yyrestart (FILE *input_file );
288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
290 void yy_delete_buffer (YY_BUFFER_STATE b );
291 void yy_flush_buffer (YY_BUFFER_STATE b );
292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
293 void yypop_buffer_state (void );
294
295 static void yyensure_buffer_stack (void );
296 static void yy_load_buffer_state (void );
297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
298
299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
300
301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
304
305 void *yyalloc (yy_size_t );
306 void *yyrealloc (void *,yy_size_t );
307 void yyfree (void * );
308
309 #define yy_new_buffer yy_create_buffer
310
311 #define yy_set_interactive(is_interactive) \
312 { \
313 if ( ! YY_CURRENT_BUFFER ){ \
314 yyensure_buffer_stack (); \
315 YY_CURRENT_BUFFER_LVALUE = \
316 yy_create_buffer(yyin,YY_BUF_SIZE ); \
317 } \
318 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
319 }
320
321 #define yy_set_bol(at_bol) \
322 { \
323 if ( ! YY_CURRENT_BUFFER ){\
324 yyensure_buffer_stack (); \
325 YY_CURRENT_BUFFER_LVALUE = \
326 yy_create_buffer(yyin,YY_BUF_SIZE ); \
327 } \
328 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
329 }
330
331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
332
333 /* Begin user sect3 */
334
335 #define yywrap() 1
336 #define YY_SKIP_YYWRAP
337
338 typedef unsigned char YY_CHAR;
339
340 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
341
342 typedef int yy_state_type;
343
344 extern int yylineno;
345
346 int yylineno = 1;
347
348 extern char *yytext;
349 #define yytext_ptr yytext
350
351 static yy_state_type yy_get_previous_state (void );
352 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
353 static int yy_get_next_buffer (void );
354 static void yy_fatal_error (yyconst char msg[] );
355
356 /* Done after the current pattern has been matched and before the
357 * corresponding action - sets up yytext.
358 */
359 #define YY_DO_BEFORE_ACTION \
360 (yytext_ptr) = yy_bp; \
361 (yytext_ptr) -= (yy_more_len); \
362 yyleng = (size_t) (yy_cp - (yytext_ptr)); \
363 (yy_hold_char) = *yy_cp; \
364 *yy_cp = '\0'; \
365 (yy_c_buf_p) = yy_cp;
366
367 #define YY_NUM_RULES 266
368 #define YY_END_OF_BUFFER 267
369 /* This struct is not used in this scanner,
370 but its presence is necessary. */
371 struct yy_trans_info
372 {
373 flex_int32_t yy_verify;
374 flex_int32_t yy_nxt;
375 };
376 static yyconst flex_int16_t yy_accept[1671] =
377 { 0,
378 4, 4, 267, 265, 4, 3, 265, 5, 265, 265,
379 6, 265, 265, 265, 265, 265, 265, 265, 265, 265,
380 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
381 265, 265, 265, 265, 265, 265, 4, 3, 0, 7,
382 5, 264, 0, 2, 5, 6, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 258, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 74, 0, 248,
387 0, 0, 0, 0, 0, 0, 0, 253, 0, 0,
388
389 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 263, 0, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 235, 0, 0, 0, 0, 0, 34, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
399
400 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 219, 0, 0, 0, 0, 0,
404 0, 151, 0, 0, 154, 0, 0, 0, 0, 0,
405 221, 136, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 178, 0, 0,
408 0, 0, 0, 0, 0, 15, 0, 0, 211, 0,
409 243, 0, 0, 0, 0, 0, 0, 0, 0, 234,
410
411 214, 0, 0, 32, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
413 0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 69, 237, 0, 0, 0, 75, 76, 0, 0,
415 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 96, 0, 0, 0,
417 100, 0, 0, 0, 0, 0, 109, 0, 0, 205,
418 0, 117, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 132, 0, 0, 0, 0, 0, 0, 0,
420 156, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421
422 0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
423 0, 0, 0, 0, 0, 0, 170, 0, 0, 0,
424 176, 233, 0, 0, 0, 0, 10, 0, 14, 0,
425 0, 17, 0, 242, 0, 0, 212, 0, 0, 25,
426 0, 0, 215, 0, 0, 0, 38, 0, 229, 0,
427 0, 42, 0, 0, 0, 0, 0, 0, 48, 0,
428 257, 50, 0, 0, 52, 0, 0, 0, 0, 0,
429 0, 236, 0, 0, 0, 0, 247, 0, 0, 81,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 252, 0, 0, 0, 0,
432
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 121, 0, 124, 0, 0, 0, 0, 0, 0, 0,
436 0, 145, 0, 0, 0, 0, 0, 0, 0, 217,
437 0, 157, 142, 0, 0, 0, 0, 262, 0, 0,
438 0, 143, 0, 173, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 174, 0,
440 0, 232, 177, 0, 0, 9, 0, 12, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 43, 0, 0, 46, 0,
443
444 0, 0, 256, 0, 0, 0, 0, 0, 0, 0,
445 64, 0, 0, 0, 0, 0, 246, 0, 0, 0,
446 0, 0, 0, 84, 230, 86, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 0, 251, 0, 0,
448 239, 0, 204, 0, 0, 0, 0, 0, 0, 0,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 112, 0, 0, 0, 0, 0, 0, 120, 0, 0,
451 125, 126, 128, 0, 0, 0, 0, 0, 241, 0,
452 146, 0, 0, 152, 0, 155, 0, 0, 0, 0,
453 0, 0, 0, 0, 261, 0, 0, 171, 0, 0,
454
455 0, 0, 172, 162, 220, 0, 0, 0, 208, 0,
456 0, 0, 0, 175, 226, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 22, 0, 26,
458 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
459 0, 0, 51, 0, 0, 0, 0, 0, 0, 59,
460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 238, 0, 203, 218, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
465
466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
467 130, 0, 0, 0, 0, 240, 0, 0, 0, 149,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 164, 163, 0, 207, 166, 0, 0, 0, 0,
471 0, 0, 0, 0, 16, 0, 227, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
473 222, 0, 0, 255, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 71, 0, 0, 0, 0,
475 245, 0, 0, 0, 0, 0, 0, 0, 202, 0,
476
477 0, 0, 0, 0, 0, 0, 0, 0, 250, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
479 111, 0, 223, 0, 0, 0, 0, 113, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 260,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 44, 0, 0, 0, 254, 0, 0, 0, 0,
487
488 0, 0, 0, 0, 0, 0, 0, 0, 225, 0,
489 0, 244, 0, 0, 0, 0, 83, 0, 0, 0,
490 0, 0, 88, 89, 0, 0, 0, 92, 249, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 198, 0, 115, 0, 0, 0,
493 122, 123, 0, 129, 0, 0, 0, 0, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 259, 0, 0, 0,
496 0, 0, 0, 165, 0, 0, 0, 0, 1, 0,
497 1, 0, 0, 0, 0, 18, 0, 213, 0, 0,
498
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 180, 0, 0, 90, 0, 0, 91, 0, 0,
503 0, 62, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 118, 0, 0,
505 0, 0, 0, 0, 0, 147, 148, 0, 224, 153,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 231, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
509
510 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 60, 0, 65, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 200, 189, 0, 87,
513 0, 0, 206, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 210, 0, 114, 0,
515 0, 0, 0, 133, 0, 0, 0, 0, 0, 0,
516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
518 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
519 41, 45, 0, 0, 0, 53, 54, 0, 0, 0,
520
521 67, 0, 0, 0, 0, 0, 0, 0, 82, 190,
522 0, 0, 0, 0, 0, 0, 0, 0, 98, 99,
523 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 116, 119, 0, 0, 0, 0, 0, 0, 228, 158,
525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 187, 0, 0, 0, 0, 11, 0,
527 0, 0, 0, 0, 0, 0, 0, 39, 0, 49,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529 0, 0, 0, 0, 0, 184, 0, 0, 97, 0,
530 0, 105, 0, 108, 0, 0, 0, 0, 0, 0,
531
532 0, 0, 144, 150, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 169, 0, 0, 188, 0, 192,
534 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
535 55, 57, 0, 0, 0, 68, 0, 0, 0, 0,
536 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
537 0, 0, 110, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
539 0, 8, 185, 0, 0, 0, 0, 0, 0, 0,
540 0, 58, 0, 0, 66, 72, 0, 0, 78, 0,
541 0, 0, 0, 0, 0, 94, 0, 0, 107, 0,
542
543 0, 0, 0, 0, 0, 0, 0, 141, 0, 0,
544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
545 23, 24, 0, 0, 0, 0, 0, 0, 0, 63,
546 0, 77, 0, 0, 0, 0, 0, 181, 0, 0,
547 104, 0, 209, 199, 127, 0, 0, 0, 0, 0,
548 0, 0, 193, 0, 0, 0, 0, 0, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 191, 0, 0, 0, 0, 0, 0, 131, 0, 0,
551 0, 138, 140, 139, 196, 195, 194, 197, 0, 0,
552 0, 0, 29, 0, 0, 0, 0, 179, 0, 0,
553
554 0, 0, 182, 183, 0, 103, 0, 0, 0, 0,
555 0, 161, 168, 0, 0, 0, 0, 0, 0, 0,
556 0, 201, 0, 0, 0, 135, 0, 0, 0, 0,
557 0, 0, 0, 0, 73, 0, 0, 0, 134, 137,
558 0, 0, 0, 0, 36, 0, 0, 80, 0, 21,
559 159, 0, 0, 0, 0, 56, 95, 0, 0, 0,
560 37, 0, 0, 31, 0, 0, 0, 30, 186, 0
561 } ;
562
563 static yyconst flex_int32_t yy_ec[256] =
564 { 0,
565 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 2, 1, 4, 5, 1, 1, 1, 1, 1,
569 1, 6, 1, 1, 1, 7, 8, 9, 10, 9,
570 11, 12, 9, 13, 9, 9, 9, 1, 1, 14,
571 1, 15, 1, 1, 16, 17, 18, 19, 20, 21,
572 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
573 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
574 1, 1, 1, 1, 42, 1, 43, 44, 45, 46,
575
576 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
577 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
578 67, 68, 1, 1, 1, 1, 1, 1, 1, 1,
579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
586
587 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
592 1, 1, 1, 1, 1
593 } ;
594
595 static yyconst flex_int32_t yy_meta[69] =
596 { 0,
597 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
603 1, 1, 1, 1, 1, 1, 1, 1
604 } ;
605
606 static yyconst flex_int16_t yy_base[1676] =
607 { 0,
608 0, 0, 3207, 3208, 3204, 0, 66, 0, 64, 66,
609 66, 98, 55, 146, 188, 58, 57, 79, 115, 107,
610 53, 163, 175, 213, 255, 63, 204, 65, 121, 299,
611 345, 225, 82, 151, 120, 128, 3203, 0, 86, 3208,
612 0, 3208, 121, 3208, 0, 256, 254, 129, 124, 152,
613 148, 174, 181, 178, 190, 190, 247, 233, 261, 259,
614 272, 253, 243, 353, 277, 263, 258, 264, 280, 298,
615 310, 321, 368, 303, 301, 315, 305, 296, 362, 345,
616 353, 336, 362, 383, 376, 387, 384, 385, 399, 384,
617 398, 402, 397, 412, 400, 413, 398, 393, 423, 407,
618
619 419, 411, 417, 448, 424, 3162, 419, 450, 453, 444,
620 442, 461, 500, 460, 476, 463, 510, 456, 460, 487,
621 459, 483, 490, 498, 500, 508, 505, 509, 527, 3161,
622 514, 511, 518, 575, 533, 529, 538, 550, 548, 539,
623 558, 557, 555, 558, 543, 554, 561, 565, 571, 559,
624 562, 585, 580, 3160, 584, 588, 586, 590, 591, 597,
625 593, 609, 595, 617, 596, 619, 3208, 622, 610, 608,
626 614, 629, 616, 624, 632, 617, 635, 628, 639, 634,
627 642, 645, 641, 636, 643, 658, 663, 652, 667, 665,
628 671, 652, 659, 3159, 663, 672, 189, 668, 664, 674,
629
630 673, 685, 688, 684, 678, 685, 3208, 690, 3158, 686,
631 706, 691, 691, 696, 714, 719, 719, 701, 715, 728,
632 727, 712, 727, 716, 728, 733, 721, 724, 740, 730,
633 730, 745, 750, 759, 756, 749, 751, 3157, 751, 770,
634 755, 3208, 760, 762, 3208, 778, 779, 773, 766, 774,
635 3208, 768, 772, 774, 795, 782, 790, 780, 794, 787,
636 803, 802, 800, 809, 814, 799, 810, 815, 819, 826,
637 820, 816, 818, 826, 825, 829, 830, 3208, 834, 832,
638 835, 837, 837, 833, 3156, 3208, 854, 849, 3208, 842,
639 844, 863, 863, 856, 858, 3155, 855, 856, 874, 3208,
640
641 3208, 874, 861, 3208, 867, 884, 883, 3154, 886, 872,
642 878, 882, 886, 875, 897, 888, 887, 902, 3208, 891,
643 891, 3208, 909, 897, 899, 920, 918, 925, 919, 919,
644 3153, 3208, 909, 917, 917, 917, 3208, 3208, 3152, 934,
645 3151, 940, 940, 936, 3150, 929, 947, 938, 951, 983,
646 956, 962, 970, 953, 963, 966, 3208, 966, 3149, 967,
647 3148, 969, 974, 977, 985, 991, 1009, 3147, 976, 3208,
648 3146, 3208, 1001, 988, 1000, 1001, 1007, 1003, 1012, 1031,
649 1018, 1038, 3145, 1024, 1027, 1026, 1055, 1039, 1026, 1033,
650 3208, 1036, 1046, 1044, 3175, 1059, 1038, 1067, 1077, 1060,
651
652 1067, 3175, 1079, 1063, 3142, 1085, 1087, 1078, 3208, 1088,
653 1074, 1086, 1088, 1085, 1081, 1092, 3208, 1106, 1083, 1089,
654 3141, 1091, 1109, 1095, 1097, 1109, 1117, 1127, 3208, 1120,
655 1118, 3208, 3140, 3208, 1117, 1124, 3139, 1135, 1140, 3208,
656 1141, 1144, 3208, 1136, 1140, 1139, 3208, 1143, 3208, 1145,
657 1140, 3208, 1152, 1142, 1160, 1145, 1154, 1166, 3208, 1166,
658 1153, 3208, 1176, 1155, 3138, 1171, 1170, 1167, 1179, 1175,
659 1171, 3208, 1192, 1189, 1187, 1194, 1182, 1199, 1178, 3137,
660 3136, 1192, 3135, 1192, 1189, 1205, 1208, 1211, 1210, 1207,
661 1220, 1210, 1222, 1225, 1233, 1218, 1215, 1234, 1237, 1229,
662
663 1242, 1241, 1241, 1236, 1252, 1251, 1250, 1255, 1250, 1245,
664 1245, 3134, 1265, 1257, 1253, 1276, 1291, 1265, 3133, 1271,
665 3208, 1279, 3208, 1280, 1276, 1292, 1283, 1293, 1299, 1292,
666 1304, 3208, 1293, 1298, 1314, 1304, 1316, 3132, 1306, 3208,
667 1326, 3131, 3208, 1340, 1322, 1327, 3130, 1314, 1309, 1319,
668 1337, 3208, 1346, 3208, 1336, 1327, 1337, 1351, 1339, 1354,
669 1349, 1350, 1356, 1345, 1354, 1363, 1356, 1365, 3158, 1358,
670 1366, 3208, 3208, 1377, 3128, 3208, 1365, 3208, 1377, 1371,
671 1374, 1392, 1390, 1381, 1396, 1391, 1395, 1387, 1386, 1389,
672 1394, 1407, 1402, 1403, 1407, 3208, 1401, 3127, 3208, 1421,
673
674 3126, 1410, 3208, 1413, 1407, 1437, 3125, 1415, 3124, 1431,
675 3123, 1442, 1419, 3122, 1438, 1432, 3208, 1445, 1436, 1452,
676 1455, 1459, 1459, 3208, 3208, 3208, 1461, 1452, 1471, 1464,
677 1461, 1473, 1476, 1478, 1475, 1471, 1472, 3208, 1474, 1490,
678 1477, 1484, 1482, 1499, 1503, 1508, 1499, 1503, 1511, 1499,
679 1496, 1513, 3121, 1503, 1518, 1512, 1512, 1526, 1516, 1529,
680 3208, 1514, 1518, 1526, 1541, 1523, 1531, 3208, 1533, 1544,
681 3208, 3120, 1548, 1532, 1552, 1534, 1552, 1561, 1545, 1564,
682 1558, 1563, 1551, 3208, 1559, 3208, 1562, 1564, 1562, 1565,
683 1574, 3119, 1566, 1604, 3208, 1567, 1577, 3118, 1575, 1582,
684
685 3117, 1586, 3208, 3208, 3208, 1597, 1598, 1584, 3208, 1601,
686 1608, 1610, 1603, 3208, 3208, 1606, 1617, 1609, 1606, 1625,
687 1631, 1620, 1612, 1633, 1629, 1626, 1622, 3208, 1630, 3208,
688 1645, 3116, 1634, 3115, 3114, 1642, 3113, 1652, 1646, 1648,
689 1648, 3112, 3208, 1661, 1646, 1655, 1662, 1667, 1662, 3208,
690 1656, 1670, 1662, 1662, 1667, 1675, 1686, 1677, 1676, 1691,
691 1690, 1673, 1699, 1696, 1703, 1691, 1706, 1707, 1695, 1703,
692 1715, 1719, 1709, 1724, 1715, 1725, 1721, 1726, 1725, 3111,
693 3208, 1710, 3208, 3208, 1729, 1717, 3110, 1739, 1722, 3109,
694 3108, 1738, 1729, 1728, 1724, 1739, 1746, 1740, 1747, 1755,
695
696 1761, 1751, 1755, 1753, 1765, 1761, 1759, 1761, 1772, 1780,
697 3208, 1762, 1778, 1762, 1775, 3208, 1769, 1781, 1780, 1777,
698 1788, 1784, 1788, 1788, 1785, 1804, 1808, 1800, 1796, 3107,
699 3106, 3105, 3104, 3100, 1814, 1815, 1817, 1807, 3099, 1824,
700 3098, 3208, 3208, 1824, 3208, 3208, 1824, 1824, 3097, 487,
701 1833, 1817, 1825, 1824, 3208, 1837, 3208, 1837, 1838, 1832,
702 1836, 1832, 1847, 1842, 1866, 1845, 3208, 1843, 1866, 1864,
703 3208, 1858, 1864, 1860, 1864, 1882, 1880, 1873, 1871, 1880,
704 1885, 1877, 1891, 1873, 1881, 3208, 1883, 1897, 1889, 1886,
705 1888, 1903, 1912, 1900, 1909, 1913, 1914, 1911, 3208, 1909,
706
707 1916, 1932, 1916, 1925, 3094, 1933, 1934, 1933, 1923, 1931,
708 1935, 1931, 1927, 1945, 1936, 1947, 1941, 1952, 3208, 1956,
709 3208, 1946, 3208, 1942, 1955, 1971, 1958, 3208, 1969, 1976,
710 1968, 1970, 3091, 1967, 1968, 1976, 1978, 3090, 1980, 1994,
711 1987, 1978, 1994, 1993, 3089, 1997, 1983, 1999, 1986, 2001,
712 2007, 1999, 2014, 2011, 2017, 2013, 2014, 2017, 2019, 2016,
713 3088, 2012, 2019, 2026, 2039, 2041, 2042, 2038, 2030, 2036,
714 2065, 3125, 3112, 2032, 2052, 3083, 3082, 2032, 3081, 3208,
715 2046, 2055, 2061, 2055, 2053, 2055, 2054, 2078, 2076, 2078,
716 2082, 3208, 2073, 2083, 2080, 3208, 2089, 2089, 2079, 3080,
717
718 2074, 2086, 2098, 2080, 2088, 2098, 2098, 2098, 3078, 2103,
719 2106, 3208, 2099, 2095, 2112, 2120, 3208, 2122, 2104, 1830,
720 2109, 2121, 3208, 3208, 2132, 2118, 2117, 3208, 3208, 2125,
721 2130, 2123, 2121, 2140, 2145, 2142, 1559, 2139, 2142, 2137,
722 2156, 1401, 1075, 2153, 1024, 2150, 3208, 2152, 2160, 2164,
723 3208, 3208, 2156, 3208, 2171, 2159, 2157, 2175, 2160, 2182,
724 2174, 2176, 2186, 2190, 2178, 2188, 2192, 2181, 2180, 2185,
725 2188, 2198, 2192, 2193, 2195, 2196, 3208, 2193, 2199, 2199,
726 2204, 2210, 2223, 3208, 2215, 974, 2219, 987, 981, 968,
727 965, 2213, 2217, 2235, 2238, 3208, 2221, 3208, 2231, 2231,
728
729 2235, 2239, 2238, 2233, 2243, 2244, 2255, 2241, 2253, 2245,
730 2251, 2246, 2255, 2253, 2270, 2269, 2264, 2278, 3208, 2278,
731 2267, 932, 2265, 2276, 931, 545, 2279, 2282, 539, 2273,
732 2274, 3208, 2286, 2285, 3208, 2297, 2297, 3208, 2288, 2305,
733 2307, 3208, 2299, 2296, 2303, 2312, 2304, 482, 2305, 454,
734 2302, 2302, 2309, 2309, 2311, 2331, 2323, 3208, 2338, 2336,
735 2337, 2329, 2346, 450, 2337, 3208, 3208, 2352, 3208, 3208,
736 2347, 2355, 2350, 448, 440, 2359, 436, 2342, 2357, 2360,
737 2363, 2364, 2361, 2362, 3208, 2368, 2354, 2363, 2370, 2380,
738 2373, 2361, 2375, 2379, 2369, 2393, 399, 3208, 2384, 2394,
739
740 3208, 2397, 2401, 2392, 2396, 2404, 2393, 348, 2403, 2406,
741 2411, 2399, 2413, 2404, 3208, 334, 3208, 2408, 2415, 2406,
742 2414, 2428, 2409, 2416, 2424, 2426, 309, 3208, 2440, 3208,
743 2446, 2440, 3208, 2456, 2456, 2442, 2458, 2457, 2445, 2452,
744 2448, 2453, 2467, 2450, 2460, 2472, 3208, 2469, 3208, 2472,
745 2467, 306, 2481, 3208, 305, 2472, 2467, 2477, 2488, 2493,
746 2496, 2489, 2489, 2494, 2498, 2512, 2496, 2497, 2498, 2500,
747 2507, 2503, 2504, 2522, 2504, 3208, 2524, 2516, 2516, 2514,
748 2518, 2526, 2527, 2528, 2535, 2524, 3208, 303, 2526, 2532,
749 3208, 3208, 2539, 2536, 2541, 3208, 3208, 2557, 2545, 2564,
750
751 3208, 2559, 2553, 301, 300, 2555, 2563, 2565, 3208, 3208,
752 2570, 2573, 2559, 2564, 2576, 2572, 2584, 2582, 3208, 3208,
753 3208, 299, 2571, 2585, 2581, 2575, 265, 2578, 2579, 2587,
754 3208, 3208, 2586, 2593, 2598, 2605, 2611, 2614, 3208, 3208,
755 2620, 2613, 2618, 250, 2619, 2624, 242, 220, 216, 207,
756 2623, 2624, 204, 3208, 2629, 2611, 2627, 2617, 3208, 2623,
757 2619, 2620, 2625, 2640, 202, 2641, 2640, 3208, 2632, 3208,
758 2638, 2636, 199, 2645, 2645, 2644, 2644, 2666, 2652, 2662,
759 2663, 2676, 2670, 185, 2673, 3208, 2677, 2665, 3208, 2665,
760 2673, 3208, 2682, 3208, 2686, 2688, 2671, 2678, 2686, 2683,
761
762 2693, 2674, 3208, 3208, 2681, 2687, 2688, 2708, 2695, 2705,
763 2703, 2708, 2712, 2714, 3208, 174, 2724, 3208, 2710, 3208,
764 2728, 2730, 151, 3208, 2714, 2722, 2719, 2731, 146, 2723,
765 3208, 172, 2742, 2733, 2729, 3208, 2730, 2736, 2738, 2748,
766 2750, 2741, 2761, 2756, 2763, 3208, 2765, 2756, 2772, 2765,
767 2783, 2780, 3208, 2774, 2775, 2785, 2766, 139, 2787, 2773,
768 2786, 2788, 2792, 2796, 2788, 2789, 2791, 2792, 2793, 2797,
769 2813, 3208, 3208, 2803, 283, 2801, 2818, 2806, 2825, 2828,
770 2826, 3208, 2816, 2832, 3208, 3208, 2825, 2820, 3208, 118,
771 2827, 2830, 2829, 2827, 2828, 111, 2836, 2831, 3208, 2842,
772
773 2836, 2851, 2852, 2847, 107, 2854, 100, 3208, 2846, 2851,
774 2853, 2866, 2864, 2865, 2867, 2868, 2870, 2874, 2879, 2887,
775 3208, 3208, 2879, 2876, 2891, 2884, 2884, 2897, 2883, 3208,
776 2888, 3208, 2893, 2894, 2895, 2905, 2906, 3208, 2894, 2905,
777 3208, 2903, 3208, 3208, 3208, 2898, 2916, 2915, 2924, 2927,
778 2928, 2930, 3208, 2914, 2918, 2920, 2921, 2927, 2933, 2938,
779 2933, 2933, 2932, 2937, 2942, 2946, 2957, 2962, 2959, 2956,
780 3208, 2962, 2950, 2951, 2962, 2956, 2973, 3208, 2975, 2973,
781 2978, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 2979, 2989,
782 2972, 2980, 3208, 2995, 98, 2996, 2989, 3208, 2984, 3003,
783
784 2994, 2996, 3208, 3208, 2996, 3208, 2992, 3001, 3011, 3005,
785 3015, 3208, 3208, 3018, 3003, 3019, 3011, 3024, 3021, 3012,
786 3029, 3208, 3023, 3032, 3037, 3208, 3042, 3046, 3046, 95,
787 3039, 3036, 3042, 3043, 3208, 3040, 3049, 3058, 3208, 3208,
788 3044, 3059, 3064, 3049, 3208, 3067, 3058, 3208, 3068, 3208,
789 3208, 93, 3060, 3062, 3058, 3208, 3208, 3059, 3063, 3066,
790 3208, 3083, 3079, 3208, 3082, 3076, 3096, 3208, 3208, 3208,
791 103, 3143, 101, 97, 91
792 } ;
793
794 static yyconst flex_int16_t yy_def[1676] =
795 { 0,
796 1670, 1, 1670, 1670, 1670, 1671, 1672, 1673, 1670, 1670,
797 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
798 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
799 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1671, 1672, 1670,
800 1673, 1670, 1670, 1670, 1673, 1670, 1670, 1670, 1670, 1670,
801 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
802 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
803 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
804 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
805 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
806
807 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
808 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
809 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
810 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
811 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
812 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
813 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
814 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
815 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
816 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
817
818 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
819 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
820 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
821 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
822 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
823 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
824 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
825 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
826 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
827 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
828
829 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
830 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
831 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
832 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
833 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
834 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
835 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
836 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
837 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
838 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
839
840 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
841 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
842 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
843 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
844 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
845 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
846 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
847 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
848 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
849 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
850
851 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
852 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
853 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
854 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
855 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
856 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
857 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
858 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
859 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
860 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
861
862 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
863 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
864 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
865 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
866 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
867 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
868 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
869 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
870 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
871 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
872
873 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
874 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
875 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
876 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
877 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
878 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
879 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
880 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
881 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
882 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
883
884 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
885 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
886 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
887 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
888 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
889 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
890 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
891 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
892 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
893 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
894
895 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
896 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
897 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
898 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
899 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
900 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
901 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
902 1670, 1674, 1675, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
903 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
904 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
905
906 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
907 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
908 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
909 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
910 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
911 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
912 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
913 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
914 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1674, 1674, 1675,
915 1675, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
916
917 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
918 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
919 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
920 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
921 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
922 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
923 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
924 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
925 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
926 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
927
928 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
929 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
930 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
931 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
932 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
933 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
934 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
935 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
936 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
937 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
938
939 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
940 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
941 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
942 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
943 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
944 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
945 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
946 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
947 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
948 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
949
950 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
951 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
952 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
953 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
954 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
955 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
956 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
957 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
958 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
959 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
960
961 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
962 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
963 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
964 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
965 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
966 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
967 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
968 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
969 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
970 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
971
972 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
973 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
974 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
975 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
976 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
977 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
978 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 0,
979 1670, 1670, 1670, 1670, 1670
980 } ;
981
982 static yyconst flex_int16_t yy_nxt[3277] =
983 { 0,
984 4, 5, 6, 7, 8, 4, 9, 10, 11, 11,
985 11, 11, 11, 4, 4, 12, 13, 14, 15, 16,
986 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
987 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
988 4, 4, 12, 13, 14, 15, 16, 17, 18, 19,
989 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
990 30, 31, 32, 33, 34, 35, 36, 4, 40, 40,
991 42, 44, 74, 45, 46, 46, 46, 46, 46, 70,
992 75, 53, 89, 76, 54, 71, 72, 43, 40, 40,
993 55, 1090, 77, 108, 56, 78, 73, 1088, 79, 74,
994
995 112, 41, 80, 38, 136, 81, 70, 75, 53, 89,
996 76, 54, 71, 72, 43, 47, 48, 55, 49, 77,
997 108, 56, 78, 73, 50, 79, 51, 112, 86, 80,
998 82, 136, 81, 52, 1658, 87, 1643, 88, 83, 1616,
999 113, 1549, 47, 48, 84, 49, 139, 140, 1547, 141,
1000 85, 50, 1539, 51, 114, 86, 144, 82, 145, 1533,
1001 52, 57, 87, 58, 88, 83, 137, 113, 59, 60,
1002 138, 84, 61, 139, 140, 62, 141, 85, 146, 90,
1003 1506, 114, 147, 144, 1482, 145, 91, 1480, 57, 92,
1004 58, 93, 1474, 137, 94, 59, 60, 138, 95, 61,
1005
1006 337, 338, 62, 63, 96, 146, 90, 64, 148, 147,
1007 149, 65, 150, 91, 66, 1469, 92, 67, 93, 109,
1008 68, 94, 151, 69, 152, 95, 1444, 110, 97, 98,
1009 63, 96, 99, 111, 64, 148, 100, 149, 65, 150,
1010 1433, 66, 101, 1427, 67, 1417, 109, 68, 1414, 151,
1011 69, 152, 133, 134, 110, 97, 98, 1413, 135, 99,
1012 111, 1412, 155, 100, 46, 46, 46, 46, 46, 101,
1013 102, 142, 103, 153, 104, 154, 156, 157, 105, 133,
1014 134, 160, 161, 1411, 106, 135, 169, 158, 143, 155,
1015 107, 1408, 170, 171, 1521, 1522, 167, 102, 142, 103,
1016
1017 153, 104, 154, 156, 157, 105, 1395, 159, 160, 161,
1018 168, 106, 172, 169, 158, 143, 173, 107, 115, 170,
1019 171, 116, 117, 167, 118, 174, 180, 181, 119, 120,
1020 182, 183, 121, 122, 159, 184, 175, 168, 176, 172,
1021 1390, 1378, 1377, 173, 1366, 115, 1335, 1333, 116, 117,
1022 1312, 118, 174, 180, 181, 119, 120, 182, 183, 121,
1023 122, 123, 184, 175, 124, 176, 187, 125, 162, 163,
1024 126, 127, 190, 164, 128, 1300, 188, 129, 130, 185,
1025 191, 165, 189, 131, 132, 177, 166, 178, 123, 1293,
1026 186, 124, 194, 187, 125, 162, 163, 126, 127, 190,
1027
1028 164, 128, 179, 188, 129, 130, 185, 191, 165, 189,
1029 131, 132, 177, 166, 178, 195, 192, 186, 193, 194,
1030 196, 197, 198, 199, 200, 201, 202, 203, 204, 179,
1031 206, 208, 210, 205, 207, 213, 209, 214, 215, 216,
1032 1284, 219, 195, 192, 211, 193, 221, 196, 197, 198,
1033 199, 200, 201, 202, 203, 204, 212, 206, 208, 210,
1034 205, 207, 213, 209, 214, 215, 216, 217, 219, 222,
1035 223, 211, 226, 221, 227, 238, 228, 1265, 243, 248,
1036 249, 1263, 218, 212, 229, 252, 224, 225, 971, 1262,
1037 972, 1256, 244, 239, 217, 1243, 222, 223, 253, 226,
1038
1039 973, 227, 238, 228, 240, 243, 248, 249, 241, 218,
1040 242, 229, 252, 224, 225, 230, 250, 231, 232, 244,
1041 239, 233, 234, 1241, 235, 253, 251, 236, 245, 254,
1042 255, 240, 256, 237, 257, 241, 246, 242, 258, 259,
1043 263, 264, 230, 250, 231, 232, 260, 265, 233, 234,
1044 247, 235, 272, 251, 236, 245, 254, 255, 273, 256,
1045 237, 257, 261, 246, 274, 258, 259, 263, 264, 276,
1046 275, 277, 278, 260, 265, 279, 280, 247, 281, 272,
1047 1226, 282, 283, 284, 285, 273, 1223, 286, 288, 261,
1048 266, 274, 289, 267, 287, 290, 276, 275, 277, 278,
1049
1050 268, 269, 279, 280, 291, 281, 292, 270, 282, 283,
1051 284, 285, 294, 271, 286, 288, 295, 266, 296, 289,
1052 267, 287, 290, 297, 298, 299, 300, 268, 269, 301,
1053 302, 291, 303, 292, 270, 304, 305, 306, 307, 294,
1054 271, 308, 309, 295, 310, 296, 311, 312, 313, 314,
1055 297, 298, 299, 300, 315, 316, 301, 302, 317, 303,
1056 318, 319, 304, 305, 306, 307, 320, 322, 308, 309,
1057 323, 310, 324, 311, 312, 313, 314, 325, 326, 321,
1058 327, 315, 316, 328, 329, 317, 332, 318, 319, 330,
1059 331, 333, 335, 320, 322, 336, 339, 323, 340, 324,
1060
1061 341, 343, 344, 342, 325, 326, 321, 327, 345, 346,
1062 328, 329, 347, 332, 348, 349, 330, 331, 333, 335,
1063 351, 352, 336, 339, 353, 340, 354, 341, 343, 344,
1064 342, 356, 355, 357, 358, 345, 346, 359, 360, 347,
1065 361, 348, 349, 366, 367, 362, 368, 351, 352, 369,
1066 370, 353, 363, 354, 371, 372, 373, 364, 356, 374,
1067 357, 358, 365, 375, 359, 360, 376, 361, 377, 378,
1068 366, 367, 362, 368, 379, 380, 369, 370, 381, 363,
1069 385, 371, 372, 373, 364, 382, 374, 383, 386, 365,
1070 375, 387, 388, 376, 389, 377, 378, 390, 391, 392,
1071
1072 393, 379, 380, 394, 395, 381, 397, 385, 398, 396,
1073 399, 400, 382, 401, 383, 386, 402, 403, 387, 388,
1074 404, 389, 405, 408, 390, 391, 392, 393, 409, 406,
1075 394, 395, 410, 397, 411, 398, 412, 399, 400, 407,
1076 401, 413, 414, 402, 403, 415, 416, 404, 417, 405,
1077 408, 419, 420, 421, 422, 409, 406, 418, 423, 410,
1078 424, 411, 425, 412, 426, 427, 407, 428, 413, 414,
1079 429, 431, 415, 416, 432, 417, 433, 434, 419, 420,
1080 421, 422, 435, 436, 437, 423, 438, 424, 440, 425,
1081 441, 426, 427, 442, 428, 443, 444, 429, 431, 445,
1082
1083 446, 432, 447, 433, 434, 449, 450, 451, 452, 435,
1084 436, 437, 453, 438, 454, 440, 455, 441, 456, 457,
1085 442, 458, 443, 444, 459, 460, 445, 446, 461, 447,
1086 462, 463, 449, 450, 451, 452, 464, 465, 470, 453,
1087 466, 454, 472, 455, 473, 456, 457, 468, 458, 474,
1088 475, 459, 460, 477, 467, 461, 479, 462, 463, 480,
1089 469, 481, 483, 464, 465, 470, 484, 466, 485, 472,
1090 486, 473, 1222, 1219, 468, 496, 474, 475, 497, 1091,
1091 477, 467, 1091, 479, 1089, 498, 480, 499, 481, 483,
1092 1089, 500, 501, 484, 502, 485, 504, 486, 487, 488,
1093
1094 489, 506, 496, 507, 490, 497, 491, 508, 509, 492,
1095 510, 493, 498, 516, 499, 1190, 518, 494, 500, 501,
1096 495, 502, 519, 504, 511, 487, 488, 489, 506, 520,
1097 507, 490, 521, 491, 508, 509, 492, 510, 493, 522,
1098 516, 523, 512, 518, 494, 524, 513, 495, 525, 519,
1099 514, 511, 526, 527, 530, 531, 520, 532, 537, 521,
1100 538, 539, 540, 541, 542, 1155, 522, 533, 523, 512,
1101 528, 547, 524, 513, 534, 525, 544, 545, 535, 526,
1102 527, 530, 531, 536, 532, 537, 548, 538, 539, 540,
1103 541, 542, 546, 549, 550, 551, 553, 528, 547, 554,
1104
1105 556, 534, 557, 544, 545, 535, 558, 559, 560, 561,
1106 536, 562, 563, 548, 564, 565, 1153, 569, 570, 546,
1107 549, 550, 551, 553, 572, 566, 554, 556, 573, 557,
1108 574, 575, 567, 558, 559, 560, 561, 576, 562, 563,
1109 577, 564, 565, 568, 569, 570, 578, 581, 579, 583,
1110 584, 572, 566, 580, 586, 573, 587, 574, 575, 567,
1111 588, 589, 590, 591, 576, 592, 593, 577, 594, 595,
1112 568, 596, 597, 578, 581, 579, 583, 584, 598, 599,
1113 580, 586, 600, 587, 601, 602, 603, 588, 589, 590,
1114 591, 604, 592, 593, 605, 594, 595, 607, 596, 597,
1115
1116 608, 609, 610, 611, 612, 598, 599, 613, 614, 600,
1117 615, 601, 602, 603, 616, 617, 618, 619, 604, 622,
1118 624, 605, 625, 626, 607, 627, 628, 608, 609, 610,
1119 611, 612, 629, 631, 613, 614, 630, 615, 632, 633,
1120 636, 616, 617, 618, 619, 634, 622, 624, 637, 625,
1121 626, 638, 627, 628, 639, 640, 641, 635, 642, 629,
1122 631, 643, 644, 630, 645, 632, 633, 636, 647, 648,
1123 649, 646, 634, 650, 651, 637, 652, 653, 638, 654,
1124 656, 639, 640, 641, 635, 642, 657, 658, 643, 644,
1125 660, 645, 659, 666, 661, 647, 648, 649, 646, 668,
1126
1127 650, 651, 671, 652, 653, 662, 654, 656, 663, 669,
1128 672, 673, 670, 657, 658, 674, 675, 660, 676, 659,
1129 666, 661, 679, 680, 677, 664, 668, 678, 665, 671,
1130 681, 682, 662, 683, 684, 663, 669, 672, 673, 670,
1131 686, 687, 674, 675, 692, 676, 693, 695, 696, 679,
1132 680, 677, 664, 697, 678, 665, 698, 681, 682, 689,
1133 683, 684, 699, 690, 700, 701, 691, 686, 687, 702,
1134 703, 692, 704, 693, 695, 696, 705, 706, 707, 708,
1135 697, 709, 710, 698, 711, 712, 689, 713, 715, 699,
1136 690, 700, 701, 691, 716, 717, 702, 703, 719, 704,
1137
1138 720, 721, 722, 705, 706, 707, 708, 723, 709, 710,
1139 726, 711, 712, 724, 713, 715, 727, 728, 729, 730,
1140 731, 716, 717, 732, 733, 719, 734, 720, 721, 722,
1141 735, 725, 736, 737, 723, 738, 740, 726, 742, 743,
1142 724, 744, 1152, 727, 728, 729, 730, 731, 750, 752,
1143 732, 733, 756, 734, 758, 745, 746, 735, 759, 736,
1144 737, 754, 738, 740, 747, 742, 743, 760, 744, 748,
1145 761, 762, 755, 765, 766, 750, 752, 767, 768, 756,
1146 769, 758, 745, 746, 763, 759, 770, 771, 754, 764,
1147 772, 747, 773, 774, 760, 775, 748, 761, 762, 755,
1148
1149 765, 766, 776, 777, 767, 768, 778, 769, 779, 780,
1150 781, 763, 782, 770, 771, 783, 764, 772, 784, 773,
1151 774, 785, 775, 786, 787, 788, 789, 790, 791, 776,
1152 777, 792, 794, 778, 795, 779, 780, 781, 796, 782,
1153 797, 798, 783, 799, 800, 784, 801, 802, 785, 803,
1154 786, 787, 788, 789, 790, 791, 804, 805, 792, 794,
1155 806, 795, 807, 808, 810, 796, 811, 797, 798, 812,
1156 799, 800, 813, 801, 802, 814, 803, 815, 816, 817,
1157 818, 819, 820, 804, 805, 821, 822, 806, 823, 807,
1158 808, 810, 824, 811, 825, 826, 812, 827, 829, 813,
1159
1160 1147, 835, 814, 836, 815, 816, 817, 818, 819, 820,
1161 838, 839, 821, 822, 841, 823, 842, 843, 844, 824,
1162 845, 825, 826, 830, 827, 829, 846, 831, 835, 832,
1163 836, 847, 848, 833, 834, 849, 850, 838, 839, 851,
1164 852, 841, 853, 842, 843, 844, 854, 845, 855, 856,
1165 830, 857, 858, 846, 831, 859, 832, 860, 847, 848,
1166 833, 834, 849, 850, 861, 862, 851, 852, 864, 853,
1167 867, 869, 870, 854, 871, 855, 856, 872, 857, 858,
1168 874, 875, 859, 876, 860, 878, 879, 880, 881, 882,
1169 883, 861, 862, 877, 884, 864, 885, 867, 869, 870,
1170
1171 886, 871, 887, 888, 872, 889, 890, 874, 875, 891,
1172 876, 892, 878, 879, 880, 881, 882, 883, 893, 894,
1173 877, 884, 895, 885, 896, 897, 898, 886, 899, 887,
1174 888, 900, 889, 890, 901, 902, 891, 903, 892, 904,
1175 905, 906, 907, 908, 909, 893, 894, 911, 912, 895,
1176 913, 896, 897, 898, 915, 899, 916, 919, 900, 920,
1177 921, 901, 902, 922, 903, 923, 904, 905, 906, 907,
1178 908, 909, 924, 925, 911, 912, 926, 913, 927, 928,
1179 929, 915, 930, 916, 919, 931, 920, 921, 932, 933,
1180 922, 934, 923, 935, 936, 937, 938, 939, 940, 924,
1181
1182 925, 941, 942, 926, 943, 927, 928, 929, 944, 930,
1183 945, 946, 931, 947, 948, 932, 933, 949, 934, 950,
1184 935, 936, 937, 938, 939, 940, 951, 952, 941, 942,
1185 953, 943, 954, 960, 961, 944, 962, 945, 946, 963,
1186 947, 948, 965, 967, 949, 968, 950, 969, 974, 975,
1187 976, 977, 978, 951, 952, 979, 980, 953, 981, 954,
1188 960, 961, 982, 962, 983, 986, 963, 984, 990, 965,
1189 967, 1133, 968, 991, 969, 974, 975, 976, 977, 978,
1190 985, 987, 979, 980, 992, 981, 988, 993, 994, 982,
1191 995, 983, 986, 996, 984, 990, 997, 998, 989, 999,
1192
1193 991, 1000, 1001, 1002, 1003, 1004, 1005, 985, 987, 1006,
1194 1007, 992, 1008, 988, 993, 994, 1009, 995, 1010, 1011,
1195 996, 1012, 1013, 997, 998, 989, 999, 1014, 1000, 1001,
1196 1002, 1003, 1004, 1005, 1015, 1016, 1006, 1007, 1017, 1008,
1197 1018, 1019, 1020, 1009, 1021, 1010, 1011, 1022, 1012, 1013,
1198 1023, 1024, 1026, 1027, 1014, 1028, 1029, 1030, 1031, 1032,
1199 1033, 1015, 1016, 1034, 1036, 1017, 1037, 1018, 1019, 1020,
1200 1038, 1021, 1039, 1035, 1022, 1040, 1041, 1023, 1024, 1026,
1201 1027, 1042, 1028, 1029, 1030, 1031, 1032, 1033, 1043, 1044,
1202 1034, 1036, 1045, 1037, 1046, 1047, 1048, 1038, 1049, 1039,
1203
1204 1035, 1051, 1040, 1041, 1052, 1053, 1054, 1056, 1042, 1057,
1205 1058, 1059, 1060, 1061, 1063, 1043, 1044, 1064, 1065, 1045,
1206 1066, 1046, 1047, 1048, 1067, 1049, 1068, 1069, 1051, 1070,
1207 1071, 1052, 1053, 1054, 1056, 1072, 1057, 1058, 1059, 1060,
1208 1061, 1063, 1073, 1074, 1064, 1065, 1075, 1066, 1076, 1077,
1209 1079, 1067, 1080, 1068, 1069, 1081, 1070, 1071, 1082, 1083,
1210 1084, 1085, 1072, 1086, 1087, 1092, 971, 1093, 972, 1073,
1211 1074, 1096, 1098, 1075, 1099, 1076, 1077, 1079, 973, 1080,
1212 1100, 1101, 1081, 1102, 1103, 1082, 1083, 1084, 1085, 1104,
1213 1086, 1087, 1092, 1105, 1093, 1106, 1107, 1108, 1096, 1098,
1214
1215 1109, 1099, 1110, 1111, 1112, 1113, 1114, 1100, 1101, 1116,
1216 1102, 1103, 1117, 1118, 1119, 1120, 1104, 1121, 1122, 1123,
1217 1105, 1125, 1106, 1107, 1108, 1126, 1127, 1109, 1128, 1110,
1218 1111, 1112, 1113, 1114, 1129, 1130, 1116, 1131, 1132, 1117,
1219 1118, 1119, 1120, 1134, 1121, 1122, 1123, 1135, 1125, 1136,
1220 1138, 1139, 1126, 1127, 1140, 1128, 1141, 1142, 1143, 1144,
1221 1145, 1129, 1130, 1146, 1131, 1132, 1137, 1148, 1149, 1150,
1222 1134, 1151, 1154, 1156, 1135, 1157, 1136, 1138, 1139, 1158,
1223 1159, 1140, 1160, 1141, 1142, 1143, 1144, 1145, 1161, 1162,
1224 1146, 1163, 1164, 1137, 1148, 1149, 1150, 1165, 1151, 1154,
1225
1226 1156, 1166, 1157, 1167, 1168, 1169, 1158, 1159, 1170, 1160,
1227 1171, 1172, 1173, 1174, 1175, 1161, 1162, 1176, 1163, 1164,
1228 1177, 1178, 1179, 1180, 1165, 1181, 1182, 1183, 1166, 1184,
1229 1167, 1168, 1169, 1185, 1186, 1170, 1187, 1171, 1172, 1173,
1230 1174, 1175, 1188, 1189, 1176, 1191, 1192, 1177, 1178, 1179,
1231 1180, 1193, 1181, 1182, 1183, 1194, 1184, 1195, 1196, 1197,
1232 1185, 1186, 1198, 1187, 1199, 1200, 1201, 1202, 1203, 1188,
1233 1189, 1204, 1191, 1192, 1205, 1206, 1207, 1208, 1193, 1209,
1234 1210, 1211, 1194, 1212, 1195, 1196, 1197, 1213, 1214, 1198,
1235 1215, 1199, 1200, 1201, 1202, 1203, 1216, 1217, 1204, 1218,
1236
1237 1220, 1205, 1206, 1207, 1208, 1221, 1209, 1210, 1211, 1224,
1238 1212, 1225, 1227, 1228, 1213, 1214, 1229, 1215, 1230, 1231,
1239 1232, 1233, 1234, 1216, 1217, 1235, 1218, 1220, 1236, 1237,
1240 1238, 1239, 1221, 1240, 1242, 1244, 1224, 1245, 1225, 1227,
1241 1228, 1246, 1247, 1229, 1248, 1230, 1231, 1232, 1233, 1234,
1242 1249, 1250, 1235, 1251, 1252, 1236, 1237, 1238, 1239, 1253,
1243 1240, 1242, 1244, 1254, 1245, 1255, 1257, 1258, 1246, 1247,
1244 1259, 1248, 1260, 1261, 1264, 1266, 1267, 1249, 1250, 1268,
1245 1251, 1252, 1269, 1270, 1271, 1272, 1253, 1273, 1274, 1275,
1246 1254, 1276, 1255, 1257, 1258, 1277, 1278, 1259, 1279, 1260,
1247
1248 1261, 1264, 1266, 1267, 1280, 1281, 1268, 1282, 1283, 1269,
1249 1270, 1271, 1272, 1285, 1273, 1274, 1275, 1286, 1276, 1287,
1250 1288, 1289, 1277, 1278, 1290, 1279, 1291, 1292, 1294, 1295,
1251 1296, 1280, 1281, 1297, 1282, 1283, 1298, 1299, 1303, 1304,
1252 1285, 1301, 1305, 1308, 1286, 1306, 1287, 1288, 1289, 1302,
1253 1309, 1290, 1310, 1291, 1292, 1294, 1295, 1296, 1311, 1313,
1254 1297, 1314, 1307, 1298, 1299, 1303, 1304, 1315, 1301, 1305,
1255 1308, 1316, 1306, 1317, 1318, 1319, 1320, 1309, 1321, 1310,
1256 1322, 1323, 1324, 1327, 1325, 1311, 1313, 1328, 1314, 1307,
1257 1326, 1329, 1330, 1331, 1315, 1332, 1334, 1336, 1316, 1337,
1258
1259 1317, 1318, 1319, 1320, 1338, 1321, 1339, 1322, 1323, 1324,
1260 1327, 1325, 1340, 1341, 1328, 1342, 1343, 1326, 1329, 1330,
1261 1331, 1344, 1332, 1334, 1336, 1345, 1337, 1346, 1347, 1348,
1262 1349, 1338, 1350, 1339, 1351, 1352, 1353, 1354, 1355, 1340,
1263 1341, 1356, 1342, 1343, 1357, 1358, 1359, 1360, 1344, 1361,
1264 1362, 1363, 1345, 1364, 1346, 1347, 1348, 1349, 1365, 1350,
1265 1367, 1351, 1352, 1353, 1354, 1355, 1368, 1369, 1356, 1370,
1266 1371, 1357, 1358, 1359, 1360, 1372, 1361, 1362, 1363, 1373,
1267 1364, 1374, 1375, 1376, 1379, 1365, 1380, 1367, 1381, 1382,
1268 1383, 1384, 1385, 1368, 1369, 1386, 1370, 1371, 1387, 1388,
1269
1270 1389, 1391, 1372, 1392, 1393, 1394, 1373, 1396, 1374, 1375,
1271 1376, 1379, 1397, 1380, 1398, 1381, 1382, 1383, 1384, 1385,
1272 1399, 1400, 1386, 1401, 1402, 1387, 1388, 1389, 1391, 1403,
1273 1392, 1393, 1394, 1404, 1396, 1405, 1406, 1407, 1409, 1397,
1274 1410, 1398, 1415, 1416, 1418, 1419, 1420, 1399, 1400, 1421,
1275 1401, 1402, 1422, 1423, 1424, 1425, 1403, 1426, 1428, 1429,
1276 1404, 1430, 1405, 1406, 1407, 1409, 1431, 1410, 1432, 1415,
1277 1416, 1418, 1419, 1420, 1434, 1435, 1421, 1436, 1437, 1422,
1278 1423, 1424, 1425, 1438, 1426, 1428, 1429, 1439, 1430, 1440,
1279 1441, 1442, 1443, 1431, 1445, 1432, 1446, 1447, 1448, 1449,
1280
1281 1450, 1434, 1435, 1451, 1436, 1437, 1452, 1453, 1454, 1455,
1282 1438, 1456, 1457, 1458, 1439, 1459, 1440, 1441, 1442, 1443,
1283 1460, 1445, 1461, 1446, 1447, 1448, 1449, 1450, 1462, 1463,
1284 1451, 1464, 1465, 1452, 1453, 1454, 1455, 1466, 1456, 1457,
1285 1458, 1467, 1459, 1468, 1470, 1471, 1472, 1460, 1473, 1461,
1286 1475, 1476, 1477, 1479, 1478, 1462, 1463, 1481, 1464, 1465,
1287 1483, 1484, 1485, 1486, 1466, 1487, 1488, 1489, 1467, 1490,
1288 1468, 1470, 1471, 1472, 1491, 1473, 1492, 1475, 1476, 1477,
1289 1479, 1478, 1495, 1496, 1481, 1493, 1497, 1483, 1484, 1485,
1290 1486, 1494, 1487, 1488, 1489, 1498, 1490, 1499, 1500, 1501,
1291
1292 1502, 1491, 1503, 1492, 1504, 1505, 1507, 1508, 1509, 1495,
1293 1496, 1510, 1493, 1497, 1511, 1512, 1513, 1514, 1494, 1515,
1294 1516, 1517, 1498, 1518, 1499, 1500, 1501, 1502, 1519, 1503,
1295 1520, 1504, 1505, 1507, 1508, 1509, 1523, 1524, 1510, 1525,
1296 1526, 1511, 1512, 1513, 1514, 1527, 1515, 1516, 1517, 1528,
1297 1518, 1529, 1530, 1531, 1532, 1519, 1534, 1520, 1535, 1536,
1298 1537, 1538, 1540, 1523, 1524, 1541, 1525, 1526, 1542, 1543,
1299 1544, 1545, 1527, 1546, 1548, 1550, 1528, 1551, 1529, 1530,
1300 1531, 1532, 1552, 1534, 1553, 1535, 1536, 1537, 1538, 1540,
1301 1554, 1555, 1541, 1556, 1557, 1542, 1543, 1544, 1545, 1558,
1302
1303 1546, 1548, 1550, 1559, 1551, 1560, 1561, 1562, 1563, 1552,
1304 1564, 1553, 1565, 1566, 1567, 1568, 1569, 1554, 1555, 1570,
1305 1556, 1557, 1571, 1572, 1573, 1574, 1558, 1575, 1576, 1577,
1306 1559, 1578, 1560, 1561, 1562, 1563, 1579, 1564, 1580, 1565,
1307 1566, 1567, 1568, 1569, 1581, 1582, 1570, 1583, 1584, 1571,
1308 1572, 1573, 1574, 1585, 1575, 1576, 1577, 1586, 1578, 1587,
1309 1588, 1589, 1590, 1579, 1591, 1580, 1592, 1593, 1594, 1595,
1310 1596, 1581, 1582, 1597, 1583, 1584, 1598, 1599, 1600, 1601,
1311 1585, 1602, 1603, 1604, 1586, 1605, 1587, 1588, 1589, 1590,
1312 1606, 1591, 1607, 1592, 1593, 1594, 1595, 1596, 1608, 1609,
1313
1314 1597, 1610, 1611, 1598, 1599, 1600, 1601, 1612, 1602, 1603,
1315 1604, 1613, 1605, 1614, 1615, 1617, 1618, 1606, 1619, 1607,
1316 1620, 1621, 1622, 1623, 1624, 1608, 1609, 1625, 1610, 1611,
1317 1626, 1627, 1628, 1629, 1612, 1630, 1631, 1632, 1613, 1633,
1318 1614, 1615, 1617, 1618, 1634, 1619, 1635, 1620, 1621, 1622,
1319 1623, 1624, 1636, 1637, 1625, 1638, 1639, 1626, 1627, 1628,
1320 1629, 1640, 1630, 1631, 1632, 1641, 1633, 1642, 1644, 1645,
1321 1646, 1634, 1647, 1635, 1648, 1649, 1650, 1651, 1652, 1636,
1322 1637, 1653, 1638, 1639, 1654, 1655, 1656, 1657, 1640, 1659,
1323 1660, 1661, 1641, 1662, 1642, 1644, 1645, 1646, 1663, 1647,
1324
1325 1664, 1648, 1649, 1650, 1651, 1652, 1665, 1666, 1653, 1667,
1326 1668, 1654, 1655, 1656, 1657, 1669, 1659, 1660, 1661, 1124,
1327 1662, 1115, 1097, 1095, 1094, 1663, 1091, 1664, 1089, 1078,
1328 1062, 1055, 1050, 1665, 1666, 1025, 1667, 1668, 970, 966,
1329 964, 959, 1669, 39, 39, 958, 957, 956, 955, 918,
1330 917, 914, 910, 873, 868, 866, 865, 863, 840, 837,
1331 828, 809, 793, 757, 753, 751, 749, 741, 739, 718,
1332 714, 694, 688, 685, 667, 655, 623, 621, 620, 606,
1333 585, 582, 571, 555, 552, 543, 529, 517, 515, 505,
1334 503, 482, 478, 476, 471, 448, 439, 430, 384, 350,
1335
1336 334, 293, 262, 220, 37, 37, 1670, 3, 1670, 1670,
1337 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1338 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1339 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1340 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1341 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1342 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1343 1670, 1670, 1670, 1670, 1670, 1670
1344 } ;
1345
1346 static yyconst flex_int16_t yy_chk[3277] =
1347 { 0,
1348 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1349 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1350 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1351 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1352 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1353 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1354 1, 1, 1, 1, 1, 1, 1, 1, 7, 7,
1355 9, 10, 17, 10, 11, 11, 11, 11, 11, 16,
1356 17, 13, 21, 17, 13, 16, 16, 9, 39, 39,
1357 13, 1675, 17, 26, 13, 18, 16, 1674, 18, 17,
1358
1359 28, 1673, 18, 1671, 33, 18, 16, 17, 13, 21,
1360 17, 13, 16, 16, 9, 12, 12, 13, 12, 17,
1361 26, 13, 18, 16, 12, 18, 12, 28, 20, 18,
1362 19, 33, 18, 12, 1652, 20, 1630, 20, 19, 1595,
1363 29, 1507, 12, 12, 19, 12, 35, 36, 1505, 43,
1364 19, 12, 1496, 12, 29, 20, 48, 19, 49, 1490,
1365 12, 14, 20, 14, 20, 19, 34, 29, 14, 14,
1366 34, 19, 14, 35, 36, 14, 43, 19, 50, 22,
1367 1458, 29, 51, 48, 1432, 49, 22, 1429, 14, 22,
1368 14, 22, 1423, 34, 23, 14, 14, 34, 23, 14,
1369
1370 197, 197, 14, 15, 23, 50, 22, 15, 52, 51,
1371 53, 15, 54, 22, 15, 1416, 22, 15, 22, 27,
1372 15, 23, 55, 15, 56, 23, 1384, 27, 24, 24,
1373 15, 23, 24, 27, 15, 52, 24, 53, 15, 54,
1374 1373, 15, 24, 1365, 15, 1353, 27, 15, 1350, 55,
1375 15, 56, 32, 32, 27, 24, 24, 1349, 32, 24,
1376 27, 1348, 58, 24, 46, 46, 46, 46, 46, 24,
1377 25, 47, 25, 57, 25, 57, 59, 60, 25, 32,
1378 32, 62, 63, 1347, 25, 32, 66, 61, 47, 58,
1379 25, 1344, 67, 68, 1475, 1475, 65, 25, 47, 25,
1380
1381 57, 25, 57, 59, 60, 25, 1327, 61, 62, 63,
1382 65, 25, 69, 66, 61, 47, 70, 25, 30, 67,
1383 68, 30, 30, 65, 30, 71, 74, 75, 30, 30,
1384 76, 77, 30, 30, 61, 78, 72, 65, 72, 69,
1385 1322, 1305, 1304, 70, 1288, 30, 1255, 1252, 30, 30,
1386 1227, 30, 71, 74, 75, 30, 30, 76, 77, 30,
1387 30, 31, 78, 72, 31, 72, 80, 31, 64, 64,
1388 31, 31, 82, 64, 31, 1216, 81, 31, 31, 79,
1389 83, 64, 81, 31, 31, 73, 64, 73, 31, 1208,
1390 79, 31, 85, 80, 31, 64, 64, 31, 31, 82,
1391
1392 64, 31, 73, 81, 31, 31, 79, 83, 64, 81,
1393 31, 31, 73, 64, 73, 86, 84, 79, 84, 85,
1394 87, 88, 89, 90, 91, 92, 93, 94, 95, 73,
1395 96, 97, 98, 95, 96, 100, 97, 101, 102, 103,
1396 1197, 105, 86, 84, 99, 84, 107, 87, 88, 89,
1397 90, 91, 92, 93, 94, 95, 99, 96, 97, 98,
1398 95, 96, 100, 97, 101, 102, 103, 104, 105, 108,
1399 109, 99, 110, 107, 111, 114, 112, 1177, 116, 118,
1400 119, 1175, 104, 99, 112, 121, 109, 109, 850, 1174,
1401 850, 1164, 116, 115, 104, 1150, 108, 109, 122, 110,
1402
1403 850, 111, 114, 112, 115, 116, 118, 119, 115, 104,
1404 115, 112, 121, 109, 109, 113, 120, 113, 113, 116,
1405 115, 113, 113, 1148, 113, 122, 120, 113, 117, 123,
1406 124, 115, 125, 113, 126, 115, 117, 115, 127, 128,
1407 131, 132, 113, 120, 113, 113, 129, 133, 113, 113,
1408 117, 113, 135, 120, 113, 117, 123, 124, 136, 125,
1409 113, 126, 129, 117, 137, 127, 128, 131, 132, 138,
1410 137, 139, 140, 129, 133, 141, 142, 117, 143, 135,
1411 1129, 144, 145, 146, 147, 136, 1126, 148, 149, 129,
1412 134, 137, 150, 134, 148, 151, 138, 137, 139, 140,
1413
1414 134, 134, 141, 142, 152, 143, 153, 134, 144, 145,
1415 146, 147, 155, 134, 148, 149, 156, 134, 157, 150,
1416 134, 148, 151, 158, 159, 160, 161, 134, 134, 162,
1417 163, 152, 164, 153, 134, 165, 166, 168, 169, 155,
1418 134, 170, 171, 156, 172, 157, 173, 174, 175, 176,
1419 158, 159, 160, 161, 177, 178, 162, 163, 179, 164,
1420 180, 181, 165, 166, 168, 169, 182, 183, 170, 171,
1421 184, 172, 185, 173, 174, 175, 176, 186, 187, 182,
1422 188, 177, 178, 189, 190, 179, 192, 180, 181, 191,
1423 191, 193, 195, 182, 183, 196, 198, 184, 199, 185,
1424
1425 200, 201, 202, 200, 186, 187, 182, 188, 203, 204,
1426 189, 190, 205, 192, 206, 208, 191, 191, 193, 195,
1427 210, 211, 196, 198, 212, 199, 213, 200, 201, 202,
1428 200, 214, 213, 215, 216, 203, 204, 217, 218, 205,
1429 219, 206, 208, 221, 222, 220, 223, 210, 211, 224,
1430 225, 212, 220, 213, 226, 227, 228, 220, 214, 229,
1431 215, 216, 220, 230, 217, 218, 231, 219, 232, 233,
1432 221, 222, 220, 223, 234, 235, 224, 225, 236, 220,
1433 239, 226, 227, 228, 220, 237, 229, 237, 240, 220,
1434 230, 241, 243, 231, 244, 232, 233, 246, 247, 248,
1435
1436 249, 234, 235, 250, 252, 236, 253, 239, 254, 252,
1437 255, 256, 237, 257, 237, 240, 258, 259, 241, 243,
1438 260, 244, 261, 263, 246, 247, 248, 249, 264, 262,
1439 250, 252, 265, 253, 266, 254, 267, 255, 256, 262,
1440 257, 268, 269, 258, 259, 270, 271, 260, 272, 261,
1441 263, 273, 274, 275, 276, 264, 262, 272, 277, 265,
1442 279, 266, 280, 267, 281, 282, 262, 283, 268, 269,
1443 284, 287, 270, 271, 288, 272, 290, 291, 273, 274,
1444 275, 276, 292, 293, 294, 277, 295, 279, 297, 280,
1445 298, 281, 282, 299, 283, 302, 303, 284, 287, 305,
1446
1447 306, 288, 307, 290, 291, 309, 310, 311, 312, 292,
1448 293, 294, 313, 295, 314, 297, 315, 298, 316, 317,
1449 299, 318, 302, 303, 320, 321, 305, 306, 323, 307,
1450 324, 325, 309, 310, 311, 312, 326, 327, 330, 313,
1451 328, 314, 333, 315, 334, 316, 317, 329, 318, 335,
1452 336, 320, 321, 340, 328, 323, 342, 324, 325, 343,
1453 329, 344, 346, 326, 327, 330, 347, 328, 348, 333,
1454 349, 334, 1125, 1122, 329, 351, 335, 336, 352, 1091,
1455 340, 328, 1090, 342, 1089, 353, 343, 354, 344, 346,
1456 1088, 355, 356, 347, 358, 348, 360, 349, 350, 350,
1457
1458 350, 362, 351, 363, 350, 352, 350, 364, 365, 350,
1459 366, 350, 353, 369, 354, 1086, 373, 350, 355, 356,
1460 350, 358, 374, 360, 367, 350, 350, 350, 362, 375,
1461 363, 350, 376, 350, 364, 365, 350, 366, 350, 377,
1462 369, 378, 367, 373, 350, 379, 367, 350, 380, 374,
1463 367, 367, 381, 382, 384, 385, 375, 386, 388, 376,
1464 389, 390, 392, 393, 394, 1045, 377, 386, 378, 367,
1465 382, 397, 379, 367, 387, 380, 396, 396, 387, 381,
1466 382, 384, 385, 387, 386, 388, 398, 389, 390, 392,
1467 393, 394, 396, 399, 400, 401, 403, 382, 397, 404,
1468
1469 406, 387, 407, 396, 396, 387, 408, 410, 411, 412,
1470 387, 413, 414, 398, 415, 416, 1043, 419, 420, 396,
1471 399, 400, 401, 403, 422, 418, 404, 406, 423, 407,
1472 424, 425, 418, 408, 410, 411, 412, 426, 413, 414,
1473 427, 415, 416, 418, 419, 420, 428, 431, 430, 435,
1474 436, 422, 418, 430, 438, 423, 439, 424, 425, 418,
1475 441, 442, 444, 445, 426, 446, 448, 427, 450, 451,
1476 418, 453, 454, 428, 431, 430, 435, 436, 455, 456,
1477 430, 438, 457, 439, 458, 460, 461, 441, 442, 444,
1478 445, 463, 446, 448, 464, 450, 451, 466, 453, 454,
1479
1480 467, 468, 469, 470, 471, 455, 456, 473, 474, 457,
1481 475, 458, 460, 461, 476, 477, 478, 479, 463, 482,
1482 484, 464, 485, 486, 466, 487, 488, 467, 468, 469,
1483 470, 471, 489, 490, 473, 474, 489, 475, 491, 492,
1484 494, 476, 477, 478, 479, 493, 482, 484, 495, 485,
1485 486, 496, 487, 488, 497, 498, 499, 493, 500, 489,
1486 490, 501, 502, 489, 503, 491, 492, 494, 504, 505,
1487 506, 503, 493, 507, 508, 495, 509, 510, 496, 511,
1488 513, 497, 498, 499, 493, 500, 514, 514, 501, 502,
1489 515, 503, 514, 518, 516, 504, 505, 506, 503, 520,
1490
1491 507, 508, 524, 509, 510, 516, 511, 513, 517, 522,
1492 525, 526, 522, 514, 514, 527, 528, 515, 529, 514,
1493 518, 516, 531, 533, 530, 517, 520, 530, 517, 524,
1494 534, 535, 516, 536, 537, 517, 522, 525, 526, 522,
1495 539, 541, 527, 528, 545, 529, 546, 548, 549, 531,
1496 533, 530, 517, 550, 530, 517, 551, 534, 535, 544,
1497 536, 537, 553, 544, 555, 556, 544, 539, 541, 557,
1498 558, 545, 559, 546, 548, 549, 560, 561, 562, 563,
1499 550, 564, 565, 551, 566, 567, 544, 568, 570, 553,
1500 544, 555, 556, 544, 571, 574, 557, 558, 577, 559,
1501
1502 579, 580, 581, 560, 561, 562, 563, 582, 564, 565,
1503 584, 566, 567, 583, 568, 570, 585, 586, 587, 588,
1504 589, 571, 574, 590, 591, 577, 592, 579, 580, 581,
1505 593, 583, 594, 595, 582, 597, 600, 584, 602, 604,
1506 583, 605, 1042, 585, 586, 587, 588, 589, 608, 610,
1507 590, 591, 613, 592, 615, 606, 606, 593, 616, 594,
1508 595, 612, 597, 600, 606, 602, 604, 618, 605, 606,
1509 619, 620, 612, 621, 622, 608, 610, 623, 627, 613,
1510 628, 615, 606, 606, 620, 616, 629, 630, 612, 620,
1511 631, 606, 632, 633, 618, 634, 606, 619, 620, 612,
1512
1513 621, 622, 635, 636, 623, 627, 637, 628, 639, 640,
1514 641, 620, 642, 629, 630, 643, 620, 631, 644, 632,
1515 633, 645, 634, 646, 647, 648, 649, 650, 651, 635,
1516 636, 652, 654, 637, 655, 639, 640, 641, 656, 642,
1517 657, 658, 643, 659, 660, 644, 662, 663, 645, 664,
1518 646, 647, 648, 649, 650, 651, 665, 666, 652, 654,
1519 667, 655, 669, 670, 673, 656, 674, 657, 658, 675,
1520 659, 660, 676, 662, 663, 677, 664, 678, 679, 680,
1521 681, 681, 682, 665, 666, 683, 685, 667, 687, 669,
1522 670, 673, 688, 674, 689, 690, 675, 691, 693, 676,
1523
1524 1037, 696, 677, 697, 678, 679, 680, 681, 681, 682,
1525 699, 700, 683, 685, 702, 687, 706, 707, 708, 688,
1526 710, 689, 690, 694, 691, 693, 711, 694, 696, 694,
1527 697, 712, 713, 694, 694, 716, 717, 699, 700, 718,
1528 719, 702, 720, 706, 707, 708, 721, 710, 722, 723,
1529 694, 724, 725, 711, 694, 726, 694, 727, 712, 713,
1530 694, 694, 716, 717, 729, 731, 718, 719, 733, 720,
1531 736, 738, 739, 721, 740, 722, 723, 741, 724, 725,
1532 744, 745, 726, 746, 727, 747, 748, 749, 751, 752,
1533 753, 729, 731, 746, 754, 733, 755, 736, 738, 739,
1534
1535 756, 740, 757, 758, 741, 759, 760, 744, 745, 761,
1536 746, 762, 747, 748, 749, 751, 752, 753, 763, 764,
1537 746, 754, 765, 755, 766, 767, 768, 756, 769, 757,
1538 758, 770, 759, 760, 771, 772, 761, 773, 762, 774,
1539 775, 776, 777, 778, 779, 763, 764, 782, 785, 765,
1540 786, 766, 767, 768, 788, 769, 789, 792, 770, 793,
1541 794, 771, 772, 795, 773, 796, 774, 775, 776, 777,
1542 778, 779, 797, 798, 782, 785, 799, 786, 800, 801,
1543 802, 788, 803, 789, 792, 804, 793, 794, 805, 806,
1544 795, 807, 796, 808, 809, 810, 812, 813, 814, 797,
1545
1546 798, 815, 817, 799, 818, 800, 801, 802, 819, 803,
1547 820, 821, 804, 822, 823, 805, 806, 824, 807, 825,
1548 808, 809, 810, 812, 813, 814, 826, 827, 815, 817,
1549 828, 818, 829, 835, 836, 819, 837, 820, 821, 838,
1550 822, 823, 840, 844, 824, 847, 825, 848, 851, 852,
1551 853, 854, 856, 826, 827, 858, 859, 828, 860, 829,
1552 835, 836, 861, 837, 862, 864, 838, 863, 866, 840,
1553 844, 1020, 847, 868, 848, 851, 852, 853, 854, 856,
1554 863, 865, 858, 859, 869, 860, 865, 870, 872, 861,
1555 873, 862, 864, 874, 863, 866, 875, 876, 865, 877,
1556
1557 868, 878, 879, 880, 881, 882, 883, 863, 865, 884,
1558 885, 869, 887, 865, 870, 872, 888, 873, 889, 890,
1559 874, 891, 892, 875, 876, 865, 877, 893, 878, 879,
1560 880, 881, 882, 883, 894, 895, 884, 885, 896, 887,
1561 897, 898, 900, 888, 901, 889, 890, 902, 891, 892,
1562 903, 904, 906, 907, 893, 908, 909, 910, 911, 912,
1563 913, 894, 895, 914, 915, 896, 916, 897, 898, 900,
1564 917, 901, 918, 914, 902, 920, 922, 903, 904, 906,
1565 907, 924, 908, 909, 910, 911, 912, 913, 925, 926,
1566 914, 915, 927, 916, 929, 930, 931, 917, 932, 918,
1567
1568 914, 934, 920, 922, 935, 936, 937, 939, 924, 940,
1569 941, 942, 943, 944, 946, 925, 926, 947, 948, 927,
1570 949, 929, 930, 931, 950, 932, 951, 952, 934, 953,
1571 954, 935, 936, 937, 939, 955, 940, 941, 942, 943,
1572 944, 946, 956, 957, 947, 948, 958, 949, 959, 960,
1573 962, 950, 963, 951, 952, 964, 953, 954, 965, 966,
1574 967, 968, 955, 969, 970, 974, 971, 975, 971, 956,
1575 957, 978, 981, 958, 982, 959, 960, 962, 971, 963,
1576 983, 984, 964, 985, 986, 965, 966, 967, 968, 987,
1577 969, 970, 974, 988, 975, 989, 990, 991, 978, 981,
1578
1579 993, 982, 994, 995, 997, 998, 999, 983, 984, 1001,
1580 985, 986, 1002, 1003, 1004, 1005, 987, 1006, 1007, 1008,
1581 988, 1010, 989, 990, 991, 1011, 1013, 993, 1014, 994,
1582 995, 997, 998, 999, 1015, 1016, 1001, 1018, 1019, 1002,
1583 1003, 1004, 1005, 1021, 1006, 1007, 1008, 1022, 1010, 1025,
1584 1026, 1027, 1011, 1013, 1030, 1014, 1031, 1032, 1033, 1034,
1585 1035, 1015, 1016, 1036, 1018, 1019, 1025, 1038, 1039, 1040,
1586 1021, 1041, 1044, 1046, 1022, 1048, 1025, 1026, 1027, 1049,
1587 1050, 1030, 1053, 1031, 1032, 1033, 1034, 1035, 1055, 1056,
1588 1036, 1057, 1058, 1025, 1038, 1039, 1040, 1059, 1041, 1044,
1589
1590 1046, 1060, 1048, 1061, 1062, 1063, 1049, 1050, 1064, 1053,
1591 1065, 1066, 1067, 1068, 1069, 1055, 1056, 1070, 1057, 1058,
1592 1071, 1072, 1073, 1074, 1059, 1075, 1076, 1078, 1060, 1079,
1593 1061, 1062, 1063, 1080, 1081, 1064, 1082, 1065, 1066, 1067,
1594 1068, 1069, 1083, 1085, 1070, 1087, 1092, 1071, 1072, 1073,
1595 1074, 1093, 1075, 1076, 1078, 1094, 1079, 1095, 1097, 1099,
1596 1080, 1081, 1100, 1082, 1101, 1102, 1103, 1104, 1105, 1083,
1597 1085, 1106, 1087, 1092, 1107, 1108, 1109, 1110, 1093, 1111,
1598 1112, 1113, 1094, 1114, 1095, 1097, 1099, 1115, 1116, 1100,
1599 1117, 1101, 1102, 1103, 1104, 1105, 1118, 1120, 1106, 1121,
1600
1601 1123, 1107, 1108, 1109, 1110, 1124, 1111, 1112, 1113, 1127,
1602 1114, 1128, 1130, 1131, 1115, 1116, 1133, 1117, 1134, 1136,
1603 1137, 1139, 1140, 1118, 1120, 1141, 1121, 1123, 1143, 1144,
1604 1145, 1146, 1124, 1147, 1149, 1151, 1127, 1152, 1128, 1130,
1605 1131, 1153, 1154, 1133, 1155, 1134, 1136, 1137, 1139, 1140,
1606 1156, 1157, 1141, 1159, 1160, 1143, 1144, 1145, 1146, 1161,
1607 1147, 1149, 1151, 1162, 1152, 1163, 1165, 1168, 1153, 1154,
1608 1171, 1155, 1172, 1173, 1176, 1178, 1179, 1156, 1157, 1180,
1609 1159, 1160, 1181, 1182, 1183, 1184, 1161, 1186, 1187, 1188,
1610 1162, 1189, 1163, 1165, 1168, 1190, 1191, 1171, 1192, 1172,
1611
1612 1173, 1176, 1178, 1179, 1193, 1194, 1180, 1195, 1196, 1181,
1613 1182, 1183, 1184, 1199, 1186, 1187, 1188, 1200, 1189, 1202,
1614 1203, 1204, 1190, 1191, 1205, 1192, 1206, 1207, 1209, 1210,
1615 1211, 1193, 1194, 1212, 1195, 1196, 1213, 1214, 1219, 1220,
1616 1199, 1218, 1221, 1223, 1200, 1222, 1202, 1203, 1204, 1218,
1617 1224, 1205, 1225, 1206, 1207, 1209, 1210, 1211, 1226, 1229,
1618 1212, 1231, 1222, 1213, 1214, 1219, 1220, 1232, 1218, 1221,
1619 1223, 1234, 1222, 1235, 1236, 1237, 1238, 1224, 1239, 1225,
1620 1240, 1241, 1242, 1244, 1243, 1226, 1229, 1245, 1231, 1222,
1621 1243, 1246, 1248, 1250, 1232, 1251, 1253, 1256, 1234, 1257,
1622
1623 1235, 1236, 1237, 1238, 1258, 1239, 1259, 1240, 1241, 1242,
1624 1244, 1243, 1260, 1261, 1245, 1262, 1263, 1243, 1246, 1248,
1625 1250, 1264, 1251, 1253, 1256, 1265, 1257, 1266, 1267, 1268,
1626 1269, 1258, 1270, 1259, 1271, 1272, 1273, 1274, 1275, 1260,
1627 1261, 1277, 1262, 1263, 1278, 1279, 1280, 1281, 1264, 1282,
1628 1283, 1284, 1265, 1285, 1266, 1267, 1268, 1269, 1286, 1270,
1629 1289, 1271, 1272, 1273, 1274, 1275, 1290, 1293, 1277, 1294,
1630 1295, 1278, 1279, 1280, 1281, 1298, 1282, 1283, 1284, 1299,
1631 1285, 1300, 1302, 1303, 1306, 1286, 1307, 1289, 1308, 1311,
1632 1312, 1313, 1314, 1290, 1293, 1315, 1294, 1295, 1316, 1317,
1633
1634 1318, 1323, 1298, 1324, 1325, 1326, 1299, 1328, 1300, 1302,
1635 1303, 1306, 1329, 1307, 1330, 1308, 1311, 1312, 1313, 1314,
1636 1333, 1334, 1315, 1335, 1336, 1316, 1317, 1318, 1323, 1337,
1637 1324, 1325, 1326, 1338, 1328, 1341, 1342, 1343, 1345, 1329,
1638 1346, 1330, 1351, 1352, 1355, 1356, 1357, 1333, 1334, 1358,
1639 1335, 1336, 1360, 1361, 1362, 1363, 1337, 1364, 1366, 1367,
1640 1338, 1369, 1341, 1342, 1343, 1345, 1371, 1346, 1372, 1351,
1641 1352, 1355, 1356, 1357, 1374, 1375, 1358, 1376, 1377, 1360,
1642 1361, 1362, 1363, 1378, 1364, 1366, 1367, 1379, 1369, 1380,
1643 1381, 1382, 1383, 1371, 1385, 1372, 1387, 1388, 1390, 1391,
1644
1645 1393, 1374, 1375, 1395, 1376, 1377, 1396, 1397, 1398, 1399,
1646 1378, 1400, 1401, 1402, 1379, 1405, 1380, 1381, 1382, 1383,
1647 1406, 1385, 1407, 1387, 1388, 1390, 1391, 1393, 1408, 1409,
1648 1395, 1410, 1411, 1396, 1397, 1398, 1399, 1412, 1400, 1401,
1649 1402, 1413, 1405, 1414, 1417, 1419, 1421, 1406, 1422, 1407,
1650 1425, 1426, 1427, 1428, 1427, 1408, 1409, 1430, 1410, 1411,
1651 1433, 1434, 1435, 1437, 1412, 1438, 1439, 1440, 1413, 1441,
1652 1414, 1417, 1419, 1421, 1442, 1422, 1443, 1425, 1426, 1427,
1653 1428, 1427, 1445, 1447, 1430, 1444, 1448, 1433, 1434, 1435,
1654 1437, 1444, 1438, 1439, 1440, 1449, 1441, 1450, 1451, 1452,
1655
1656 1454, 1442, 1455, 1443, 1456, 1457, 1459, 1460, 1461, 1445,
1657 1447, 1462, 1444, 1448, 1463, 1464, 1465, 1466, 1444, 1467,
1658 1468, 1469, 1449, 1470, 1450, 1451, 1452, 1454, 1471, 1455,
1659 1474, 1456, 1457, 1459, 1460, 1461, 1476, 1477, 1462, 1478,
1660 1479, 1463, 1464, 1465, 1466, 1480, 1467, 1468, 1469, 1481,
1661 1470, 1483, 1484, 1487, 1488, 1471, 1491, 1474, 1492, 1493,
1662 1494, 1495, 1497, 1476, 1477, 1498, 1478, 1479, 1500, 1501,
1663 1502, 1503, 1480, 1504, 1506, 1509, 1481, 1510, 1483, 1484,
1664 1487, 1488, 1511, 1491, 1512, 1492, 1493, 1494, 1495, 1497,
1665 1513, 1514, 1498, 1515, 1516, 1500, 1501, 1502, 1503, 1517,
1666
1667 1504, 1506, 1509, 1518, 1510, 1519, 1520, 1523, 1524, 1511,
1668 1525, 1512, 1526, 1527, 1528, 1529, 1531, 1513, 1514, 1533,
1669 1515, 1516, 1534, 1535, 1536, 1537, 1517, 1539, 1540, 1542,
1670 1518, 1546, 1519, 1520, 1523, 1524, 1547, 1525, 1548, 1526,
1671 1527, 1528, 1529, 1531, 1549, 1550, 1533, 1551, 1552, 1534,
1672 1535, 1536, 1537, 1554, 1539, 1540, 1542, 1555, 1546, 1556,
1673 1557, 1558, 1559, 1547, 1560, 1548, 1561, 1562, 1563, 1564,
1674 1565, 1549, 1550, 1566, 1551, 1552, 1567, 1568, 1569, 1570,
1675 1554, 1572, 1573, 1574, 1555, 1575, 1556, 1557, 1558, 1559,
1676 1576, 1560, 1577, 1561, 1562, 1563, 1564, 1565, 1579, 1580,
1677
1678 1566, 1581, 1589, 1567, 1568, 1569, 1570, 1590, 1572, 1573,
1679 1574, 1591, 1575, 1592, 1594, 1596, 1597, 1576, 1599, 1577,
1680 1600, 1601, 1602, 1605, 1607, 1579, 1580, 1608, 1581, 1589,
1681 1609, 1610, 1611, 1614, 1590, 1615, 1616, 1617, 1591, 1618,
1682 1592, 1594, 1596, 1597, 1619, 1599, 1620, 1600, 1601, 1602,
1683 1605, 1607, 1621, 1623, 1608, 1624, 1625, 1609, 1610, 1611,
1684 1614, 1627, 1615, 1616, 1617, 1628, 1618, 1629, 1631, 1632,
1685 1633, 1619, 1634, 1620, 1636, 1637, 1638, 1641, 1642, 1621,
1686 1623, 1643, 1624, 1625, 1644, 1646, 1647, 1649, 1627, 1653,
1687 1654, 1655, 1628, 1658, 1629, 1631, 1632, 1633, 1659, 1634,
1688
1689 1660, 1636, 1637, 1638, 1641, 1642, 1662, 1663, 1643, 1665,
1690 1666, 1644, 1646, 1647, 1649, 1667, 1653, 1654, 1655, 1009,
1691 1658, 1000, 979, 977, 976, 1659, 973, 1660, 972, 961,
1692 945, 938, 933, 1662, 1663, 905, 1665, 1666, 849, 841,
1693 839, 834, 1667, 1672, 1672, 833, 832, 831, 830, 791,
1694 790, 787, 780, 742, 737, 735, 734, 732, 701, 698,
1695 692, 672, 653, 614, 611, 609, 607, 601, 598, 575,
1696 569, 547, 542, 538, 519, 512, 483, 481, 480, 465,
1697 437, 433, 421, 405, 402, 395, 383, 371, 368, 361,
1698 359, 345, 341, 339, 331, 308, 296, 285, 238, 209,
1699
1700 194, 154, 130, 106, 37, 5, 3, 1670, 1670, 1670,
1701 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1702 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1703 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1704 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1705 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1706 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
1707 1670, 1670, 1670, 1670, 1670, 1670
1708 } ;
1709
1710 static yy_state_type yy_last_accepting_state;
1711 static char *yy_last_accepting_cpos;
1712
1713 extern int yy_flex_debug;
1714 int yy_flex_debug = 0;
1715
1716 /* The intent behind this definition is that it'll catch
1717 * any uses of REJECT which flex missed.
1718 */
1719 #define REJECT reject_used_but_not_detected
1720 static int yy_more_flag = 0;
1721 static int yy_more_len = 0;
1722 #define yymore() ((yy_more_flag) = 1)
1723 #define YY_MORE_ADJ (yy_more_len)
1724 #define YY_RESTORE_YY_MORE_OFFSET
1725 char *yytext;
1726 #line 1 "conf_lexer.l"
1727 /*
1728 * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
1729 * conf_lexer.l: Scans the ircd configuration file for tokens.
1730 *
1731 * Copyright (C) 2002 by the past and present ircd coders, and others.
1732 *
1733 * This program is free software; you can redistribute it and/or modify
1734 * it under the terms of the GNU General Public License as published by
1735 * the Free Software Foundation; either version 2 of the License, or
1736 * (at your option) any later version.
1737 *
1738 * This program is distributed in the hope that it will be useful,
1739 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1740 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1741 * GNU General Public License for more details.
1742 *
1743 * You should have received a copy of the GNU General Public License
1744 * along with this program; if not, write to the Free Software
1745 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
1746 * USA
1747 *
1748 * $Id: conf_lexer.l 1495 2012-08-05 09:35:42Z michael $
1749 */
1750 #line 31 "conf_lexer.l"
1751 #include "stdinc.h"
1752 #include "irc_string.h"
1753 #include "conf.h"
1754 #include "conf_parser.h" /* autogenerated header file */
1755 #include "memory.h"
1756 #include "hostmask.h"
1757 #include "log.h"
1758
1759 #undef YY_INPUT
1760 #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg)
1761 #define YY_INPUT(buf,result,max_size) \
1762 if (!(result = conf_yy_input(buf, max_size))) \
1763 YY_FATAL_ERROR("input in flex scanner failed");
1764 #define MAX_INCLUDE_DEPTH 10
1765
1766
1767 unsigned int lineno = 1;
1768 char linebuf[IRCD_BUFSIZE];
1769 char conffilebuf[IRCD_BUFSIZE];
1770
1771 static int include_stack_ptr = 0;
1772 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1773 static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1774 static FILE *inc_fbfile_in[MAX_INCLUDE_DEPTH];
1775 static char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE];
1776 static void ccomment(void);
1777 static void cinclude(void);
1778 static int ieof(void);
1779
1780 static int
1781 conf_yy_input(char *lbuf, unsigned int max_size)
1782 {
1783 return !fgets(lbuf, max_size, conf_parser_ctx.conf_file) ? 0 : strlen(lbuf);
1784 }
1785
1786 static int
1787 conf_yy_fatal_error(const char *msg)
1788 {
1789 return 0;
1790 }
1791
1792 #line 1793 "conf_lexer.c"
1793
1794 #define INITIAL 0
1795
1796 #ifndef YY_NO_UNISTD_H
1797 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1798 * down here because we want the user's section 1 to have been scanned first.
1799 * The user has a chance to override it with an option.
1800 */
1801 #include <unistd.h>
1802 #endif
1803
1804 #ifndef YY_EXTRA_TYPE
1805 #define YY_EXTRA_TYPE void *
1806 #endif
1807
1808 static int yy_init_globals (void );
1809
1810 /* Accessor methods to globals.
1811 These are made visible to non-reentrant scanners for convenience. */
1812
1813 int yylex_destroy (void );
1814
1815 int yyget_debug (void );
1816
1817 void yyset_debug (int debug_flag );
1818
1819 YY_EXTRA_TYPE yyget_extra (void );
1820
1821 void yyset_extra (YY_EXTRA_TYPE user_defined );
1822
1823 FILE *yyget_in (void );
1824
1825 void yyset_in (FILE * in_str );
1826
1827 FILE *yyget_out (void );
1828
1829 void yyset_out (FILE * out_str );
1830
1831 yy_size_t yyget_leng (void );
1832
1833 char *yyget_text (void );
1834
1835 int yyget_lineno (void );
1836
1837 void yyset_lineno (int line_number );
1838
1839 /* Macros after this point can all be overridden by user definitions in
1840 * section 1.
1841 */
1842
1843 #ifndef YY_SKIP_YYWRAP
1844 #ifdef __cplusplus
1845 extern "C" int yywrap (void );
1846 #else
1847 extern int yywrap (void );
1848 #endif
1849 #endif
1850
1851 #ifndef yytext_ptr
1852 static void yy_flex_strncpy (char *,yyconst char *,int );
1853 #endif
1854
1855 #ifdef YY_NEED_STRLEN
1856 static int yy_flex_strlen (yyconst char * );
1857 #endif
1858
1859 #ifndef YY_NO_INPUT
1860
1861 #ifdef __cplusplus
1862 static int yyinput (void );
1863 #else
1864 static int input (void );
1865 #endif
1866
1867 #endif
1868
1869 /* Amount of stuff to slurp up with each read. */
1870 #ifndef YY_READ_BUF_SIZE
1871 #define YY_READ_BUF_SIZE 8192
1872 #endif
1873
1874 /* Copy whatever the last rule matched to the standard output. */
1875 #ifndef ECHO
1876 /* This used to be an fputs(), but since the string might contain NUL's,
1877 * we now use fwrite().
1878 */
1879 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1880 #endif
1881
1882 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1883 * is returned in "result".
1884 */
1885 #ifndef YY_INPUT
1886 #define YY_INPUT(buf,result,max_size) \
1887 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1888 { \
1889 int c = '*'; \
1890 size_t n; \
1891 for ( n = 0; n < max_size && \
1892 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1893 buf[n] = (char) c; \
1894 if ( c == '\n' ) \
1895 buf[n++] = (char) c; \
1896 if ( c == EOF && ferror( yyin ) ) \
1897 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1898 result = n; \
1899 } \
1900 else \
1901 { \
1902 errno=0; \
1903 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1904 { \
1905 if( errno != EINTR) \
1906 { \
1907 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1908 break; \
1909 } \
1910 errno=0; \
1911 clearerr(yyin); \
1912 } \
1913 }\
1914 \
1915
1916 #endif
1917
1918 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1919 * we don't want an extra ';' after the "return" because that will cause
1920 * some compilers to complain about unreachable statements.
1921 */
1922 #ifndef yyterminate
1923 #define yyterminate() return YY_NULL
1924 #endif
1925
1926 /* Number of entries by which start-condition stack grows. */
1927 #ifndef YY_START_STACK_INCR
1928 #define YY_START_STACK_INCR 25
1929 #endif
1930
1931 /* Report a fatal error. */
1932 #ifndef YY_FATAL_ERROR
1933 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1934 #endif
1935
1936 /* end tables serialization structures and prototypes */
1937
1938 /* Default declaration of generated scanner - a define so the user can
1939 * easily add parameters.
1940 */
1941 #ifndef YY_DECL
1942 #define YY_DECL_IS_OURS 1
1943
1944 extern int yylex (void);
1945
1946 #define YY_DECL int yylex (void)
1947 #endif /* !YY_DECL */
1948
1949 /* Code executed at the beginning of each rule, after yytext and yyleng
1950 * have been set up.
1951 */
1952 #ifndef YY_USER_ACTION
1953 #define YY_USER_ACTION
1954 #endif
1955
1956 /* Code executed at the end of each rule. */
1957 #ifndef YY_BREAK
1958 #define YY_BREAK break;
1959 #endif
1960
1961 #define YY_RULE_SETUP \
1962 YY_USER_ACTION
1963
1964 /** The main scanner function which does all the work.
1965 */
1966 YY_DECL
1967 {
1968 register yy_state_type yy_current_state;
1969 register char *yy_cp, *yy_bp;
1970 register int yy_act;
1971
1972 #line 80 "conf_lexer.l"
1973
1974 #line 1975 "conf_lexer.c"
1975
1976 if ( !(yy_init) )
1977 {
1978 (yy_init) = 1;
1979
1980 #ifdef YY_USER_INIT
1981 YY_USER_INIT;
1982 #endif
1983
1984 if ( ! (yy_start) )
1985 (yy_start) = 1; /* first start state */
1986
1987 if ( ! yyin )
1988 yyin = stdin;
1989
1990 if ( ! yyout )
1991 yyout = stdout;
1992
1993 if ( ! YY_CURRENT_BUFFER ) {
1994 yyensure_buffer_stack ();
1995 YY_CURRENT_BUFFER_LVALUE =
1996 yy_create_buffer(yyin,YY_BUF_SIZE );
1997 }
1998
1999 yy_load_buffer_state( );
2000 }
2001
2002 while ( 1 ) /* loops until end-of-file is reached */
2003 {
2004 (yy_more_len) = 0;
2005 if ( (yy_more_flag) )
2006 {
2007 (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
2008 (yy_more_flag) = 0;
2009 }
2010 yy_cp = (yy_c_buf_p);
2011
2012 /* Support of yytext. */
2013 *yy_cp = (yy_hold_char);
2014
2015 /* yy_bp points to the position in yy_ch_buf of the start of
2016 * the current run.
2017 */
2018 yy_bp = yy_cp;
2019
2020 yy_current_state = (yy_start);
2021 yy_match:
2022 do
2023 {
2024 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2025 if ( yy_accept[yy_current_state] )
2026 {
2027 (yy_last_accepting_state) = yy_current_state;
2028 (yy_last_accepting_cpos) = yy_cp;
2029 }
2030 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2031 {
2032 yy_current_state = (int) yy_def[yy_current_state];
2033 if ( yy_current_state >= 1671 )
2034 yy_c = yy_meta[(unsigned int) yy_c];
2035 }
2036 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2037 ++yy_cp;
2038 }
2039 while ( yy_current_state != 1670 );
2040 yy_cp = (yy_last_accepting_cpos);
2041 yy_current_state = (yy_last_accepting_state);
2042
2043 yy_find_action:
2044 yy_act = yy_accept[yy_current_state];
2045
2046 YY_DO_BEFORE_ACTION;
2047
2048 do_action: /* This label is used only to access EOF actions. */
2049
2050 switch ( yy_act )
2051 { /* beginning of action switch */
2052 case 0: /* must back up */
2053 /* undo the effects of YY_DO_BEFORE_ACTION */
2054 *yy_cp = (yy_hold_char);
2055 yy_cp = (yy_last_accepting_cpos);
2056 yy_current_state = (yy_last_accepting_state);
2057 goto yy_find_action;
2058
2059 case 1:
2060 YY_RULE_SETUP
2061 #line 81 "conf_lexer.l"
2062 { cinclude(); }
2063 YY_BREAK
2064 case 2:
2065 YY_RULE_SETUP
2066 #line 82 "conf_lexer.l"
2067 { ccomment(); }
2068 YY_BREAK
2069 case 3:
2070 /* rule 3 can match eol */
2071 YY_RULE_SETUP
2072 #line 84 "conf_lexer.l"
2073 { strlcpy(linebuf, yytext+1, sizeof(linebuf)); ++lineno; yyless(1); }
2074 YY_BREAK
2075 case 4:
2076 YY_RULE_SETUP
2077 #line 86 "conf_lexer.l"
2078 ;
2079 YY_BREAK
2080 case 5:
2081 YY_RULE_SETUP
2082 #line 87 "conf_lexer.l"
2083 ;
2084 YY_BREAK
2085 case 6:
2086 YY_RULE_SETUP
2087 #line 89 "conf_lexer.l"
2088 { yylval.number = atoi(yytext); return NUMBER; }
2089 YY_BREAK
2090 case 7:
2091 /* rule 7 can match eol */
2092 YY_RULE_SETUP
2093 #line 91 "conf_lexer.l"
2094 { if (yytext[yyleng-2] == '\\')
2095 {
2096 yyless(yyleng-1); /* return last quote */
2097 yymore(); /* append next string */
2098 }
2099 else
2100 {
2101 yylval.string = yytext+1;
2102 if(yylval.string[yyleng-2] != '"')
2103 ilog(LOG_TYPE_IRCD, "Unterminated character string");
2104 else
2105 {
2106 int i,j;
2107
2108 yylval.string[yyleng-2] = '\0'; /* remove close
2109 * quote
2110 */
2111
2112 for (j=i=0 ;yylval.string[i] != '\0'; i++,j++)
2113 {
2114 if (yylval.string[i] != '\\')
2115 {
2116 yylval.string[j] = yylval.string[i];
2117 }
2118 else
2119 {
2120 i++;
2121 if (yylval.string[i] == '\0') /* XXX
2122 * should not
2123 * happen
2124 */
2125 {
2126 ilog(LOG_TYPE_IRCD,
2127 "Unterminated character string");
2128 break;
2129 }
2130 yylval.string[j] = yylval.string[i];
2131 }
2132 }
2133 yylval.string[j] = '\0';
2134 return QSTRING;
2135 }
2136 }
2137 }
2138 YY_BREAK
2139 case 8:
2140 YY_RULE_SETUP
2141 #line 136 "conf_lexer.l"
2142 { return ACCEPT_PASSWORD; }
2143 YY_BREAK
2144 case 9:
2145 YY_RULE_SETUP
2146 #line 137 "conf_lexer.l"
2147 { return ACTION; }
2148 YY_BREAK
2149 case 10:
2150 YY_RULE_SETUP
2151 #line 138 "conf_lexer.l"
2152 { return ADMIN; }
2153 YY_BREAK
2154 case 11:
2155 YY_RULE_SETUP
2156 #line 139 "conf_lexer.l"
2157 { return ADMIN; }
2158 YY_BREAK
2159 case 12:
2160 YY_RULE_SETUP
2161 #line 140 "conf_lexer.l"
2162 { return AFTYPE; }
2163 YY_BREAK
2164 case 13:
2165 YY_RULE_SETUP
2166 #line 141 "conf_lexer.l"
2167 { return T_ALL; }
2168 YY_BREAK
2169 case 14:
2170 YY_RULE_SETUP
2171 #line 142 "conf_lexer.l"
2172 { return T_ALLOW; }
2173 YY_BREAK
2174 case 15:
2175 YY_RULE_SETUP
2176 #line 143 "conf_lexer.l"
2177 { return IRCD_AUTH; }
2178 YY_BREAK
2179 case 16:
2180 YY_RULE_SETUP
2181 #line 144 "conf_lexer.l"
2182 { return AUTOCONN; }
2183 YY_BREAK
2184 case 17:
2185 YY_RULE_SETUP
2186 #line 145 "conf_lexer.l"
2187 { return T_BLOCK; }
2188 YY_BREAK
2189 case 18:
2190 YY_RULE_SETUP
2191 #line 146 "conf_lexer.l"
2192 { return BURST_AWAY; }
2193 YY_BREAK
2194 case 19:
2195 YY_RULE_SETUP
2196 #line 147 "conf_lexer.l"
2197 { return CAN_FLOOD; }
2198 YY_BREAK
2199 case 20:
2200 YY_RULE_SETUP
2201 #line 148 "conf_lexer.l"
2202 { return CALLER_ID_WAIT; }
2203 YY_BREAK
2204 case 21:
2205 YY_RULE_SETUP
2206 #line 149 "conf_lexer.l"
2207 { return OPERS_BYPASS_CALLERID; }
2208 YY_BREAK
2209 case 22:
2210 YY_RULE_SETUP
2211 #line 150 "conf_lexer.l"
2212 { return CHANNEL; }
2213 YY_BREAK
2214 case 23:
2215 YY_RULE_SETUP
2216 #line 151 "conf_lexer.l"
2217 { return CIDR_BITLEN_IPV4; }
2218 YY_BREAK
2219 case 24:
2220 YY_RULE_SETUP
2221 #line 152 "conf_lexer.l"
2222 { return CIDR_BITLEN_IPV6; }
2223 YY_BREAK
2224 case 25:
2225 YY_RULE_SETUP
2226 #line 153 "conf_lexer.l"
2227 { return CLASS; }
2228 YY_BREAK
2229 case 26:
2230 YY_RULE_SETUP
2231 #line 154 "conf_lexer.l"
2232 { return T_CLUSTER; }
2233 YY_BREAK
2234 case 27:
2235 YY_RULE_SETUP
2236 #line 155 "conf_lexer.l"
2237 { return CONNECT; }
2238 YY_BREAK
2239 case 28:
2240 YY_RULE_SETUP
2241 #line 156 "conf_lexer.l"
2242 { return CONNECTFREQ; }
2243 YY_BREAK
2244 case 29:
2245 YY_RULE_SETUP
2246 #line 157 "conf_lexer.l"
2247 { return DEFAULT_FLOODCOUNT; }
2248 YY_BREAK
2249 case 30:
2250 YY_RULE_SETUP
2251 #line 158 "conf_lexer.l"
2252 { return DEFAULT_SPLIT_SERVER_COUNT; }
2253 YY_BREAK
2254 case 31:
2255 YY_RULE_SETUP
2256 #line 159 "conf_lexer.l"
2257 { return DEFAULT_SPLIT_USER_COUNT; }
2258 YY_BREAK
2259 case 32:
2260 YY_RULE_SETUP
2261 #line 160 "conf_lexer.l"
2262 { return DENY; }
2263 YY_BREAK
2264 case 33:
2265 YY_RULE_SETUP
2266 #line 161 "conf_lexer.l"
2267 { return DESCRIPTION; }
2268 YY_BREAK
2269 case 34:
2270 YY_RULE_SETUP
2271 #line 162 "conf_lexer.l"
2272 { return DIE; }
2273 YY_BREAK
2274 case 35:
2275 YY_RULE_SETUP
2276 #line 163 "conf_lexer.l"
2277 { return DISABLE_AUTH; }
2278 YY_BREAK
2279 case 36:
2280 YY_RULE_SETUP
2281 #line 164 "conf_lexer.l"
2282 { return DISABLE_FAKE_CHANNELS; }
2283 YY_BREAK
2284 case 37:
2285 YY_RULE_SETUP
2286 #line 165 "conf_lexer.l"
2287 { return DISABLE_REMOTE_COMMANDS; }
2288 YY_BREAK
2289 case 38:
2290 YY_RULE_SETUP
2291 #line 166 "conf_lexer.l"
2292 { return T_DLINE; }
2293 YY_BREAK
2294 case 39:
2295 YY_RULE_SETUP
2296 #line 167 "conf_lexer.l"
2297 { return DOTS_IN_IDENT; }
2298 YY_BREAK
2299 case 40:
2300 YY_RULE_SETUP
2301 #line 168 "conf_lexer.l"
2302 { return DURATION; }
2303 YY_BREAK
2304 case 41:
2305 YY_RULE_SETUP
2306 #line 169 "conf_lexer.l"
2307 { return EGDPOOL_PATH; }
2308 YY_BREAK
2309 case 42:
2310 YY_RULE_SETUP
2311 #line 170 "conf_lexer.l"
2312 { return EMAIL; }
2313 YY_BREAK
2314 case 43:
2315 YY_RULE_SETUP
2316 #line 171 "conf_lexer.l"
2317 { return ENABLE; }
2318 YY_BREAK
2319 case 44:
2320 YY_RULE_SETUP
2321 #line 172 "conf_lexer.l"
2322 { return ENCRYPTED; }
2323 YY_BREAK
2324 case 45:
2325 YY_RULE_SETUP
2326 #line 173 "conf_lexer.l"
2327 { return EXCEED_LIMIT; }
2328 YY_BREAK
2329 case 46:
2330 YY_RULE_SETUP
2331 #line 174 "conf_lexer.l"
2332 { return EXEMPT; }
2333 YY_BREAK
2334 case 47:
2335 YY_RULE_SETUP
2336 #line 175 "conf_lexer.l"
2337 { return T_FILE; }
2338 YY_BREAK
2339 case 48:
2340 YY_RULE_SETUP
2341 #line 176 "conf_lexer.l"
2342 { return IRCD_FLAGS; }
2343 YY_BREAK
2344 case 49:
2345 YY_RULE_SETUP
2346 #line 177 "conf_lexer.l"
2347 { return FLATTEN_LINKS; }
2348 YY_BREAK
2349 case 50:
2350 YY_RULE_SETUP
2351 #line 178 "conf_lexer.l"
2352 { return GECOS; }
2353 YY_BREAK
2354 case 51:
2355 YY_RULE_SETUP
2356 #line 179 "conf_lexer.l"
2357 { return GENERAL; }
2358 YY_BREAK
2359 case 52:
2360 YY_RULE_SETUP
2361 #line 180 "conf_lexer.l"
2362 { return GLINE; }
2363 YY_BREAK
2364 case 53:
2365 YY_RULE_SETUP
2366 #line 181 "conf_lexer.l"
2367 { return GLINE_ENABLE; }
2368 YY_BREAK
2369 case 54:
2370 YY_RULE_SETUP
2371 #line 182 "conf_lexer.l"
2372 { return GLINE_EXEMPT; }
2373 YY_BREAK
2374 case 55:
2375 YY_RULE_SETUP
2376 #line 183 "conf_lexer.l"
2377 { return GLINE_DURATION; }
2378 YY_BREAK
2379 case 56:
2380 YY_RULE_SETUP
2381 #line 184 "conf_lexer.l"
2382 { return GLINE_REQUEST_DURATION; }
2383 YY_BREAK
2384 case 57:
2385 YY_RULE_SETUP
2386 #line 185 "conf_lexer.l"
2387 { return GLINE_MIN_CIDR; }
2388 YY_BREAK
2389 case 58:
2390 YY_RULE_SETUP
2391 #line 186 "conf_lexer.l"
2392 { return GLINE_MIN_CIDR6; }
2393 YY_BREAK
2394 case 59:
2395 YY_RULE_SETUP
2396 #line 187 "conf_lexer.l"
2397 { return T_GLOBOPS; }
2398 YY_BREAK
2399 case 60:
2400 YY_RULE_SETUP
2401 #line 188 "conf_lexer.l"
2402 { return GLOBAL_KILL; }
2403 YY_BREAK
2404 case 61:
2405 YY_RULE_SETUP
2406 #line 189 "conf_lexer.l"
2407 { return NEED_IDENT; }
2408 YY_BREAK
2409 case 62:
2410 YY_RULE_SETUP
2411 #line 190 "conf_lexer.l"
2412 { return NEED_IDENT; }
2413 YY_BREAK
2414 case 63:
2415 YY_RULE_SETUP
2416 #line 191 "conf_lexer.l"
2417 { return HAVENT_READ_CONF; }
2418 YY_BREAK
2419 case 64:
2420 YY_RULE_SETUP
2421 #line 192 "conf_lexer.l"
2422 { return HIDDEN; }
2423 YY_BREAK
2424 case 65:
2425 YY_RULE_SETUP
2426 #line 193 "conf_lexer.l"
2427 { return HIDDEN_NAME; }
2428 YY_BREAK
2429 case 66:
2430 YY_RULE_SETUP
2431 #line 194 "conf_lexer.l"
2432 { return HIDE_SERVER_IPS; }
2433 YY_BREAK
2434 case 67:
2435 YY_RULE_SETUP
2436 #line 195 "conf_lexer.l"
2437 { return HIDE_SERVERS; }
2438 YY_BREAK
2439 case 68:
2440 YY_RULE_SETUP
2441 #line 196 "conf_lexer.l"
2442 { return HIDE_SPOOF_IPS; }
2443 YY_BREAK
2444 case 69:
2445 YY_RULE_SETUP
2446 #line 197 "conf_lexer.l"
2447 { return HOST; }
2448 YY_BREAK
2449 case 70:
2450 YY_RULE_SETUP
2451 #line 198 "conf_lexer.l"
2452 { return HUB; }
2453 YY_BREAK
2454 case 71:
2455 YY_RULE_SETUP
2456 #line 199 "conf_lexer.l"
2457 { return HUB_MASK; }
2458 YY_BREAK
2459 case 72:
2460 YY_RULE_SETUP
2461 #line 200 "conf_lexer.l"
2462 { return IGNORE_BOGUS_TS; }
2463 YY_BREAK
2464 case 73:
2465 YY_RULE_SETUP
2466 #line 201 "conf_lexer.l"
2467 { return INVISIBLE_ON_CONNECT; }
2468 YY_BREAK
2469 case 74:
2470 YY_RULE_SETUP
2471 #line 202 "conf_lexer.l"
2472 { return IP; }
2473 YY_BREAK
2474 case 75:
2475 YY_RULE_SETUP
2476 #line 203 "conf_lexer.l"
2477 { return T_IPV4; }
2478 YY_BREAK
2479 case 76:
2480 YY_RULE_SETUP
2481 #line 204 "conf_lexer.l"
2482 { return T_IPV6; }
2483 YY_BREAK
2484 case 77:
2485 YY_RULE_SETUP
2486 #line 205 "conf_lexer.l"
2487 { return JOIN_FLOOD_COUNT; }
2488 YY_BREAK
2489 case 78:
2490 YY_RULE_SETUP
2491 #line 206 "conf_lexer.l"
2492 { return JOIN_FLOOD_TIME; }
2493 YY_BREAK
2494 case 79:
2495 YY_RULE_SETUP
2496 #line 207 "conf_lexer.l"
2497 { return KILL; }
2498 YY_BREAK
2499 case 80:
2500 YY_RULE_SETUP
2501 #line 208 "conf_lexer.l"
2502 { return KILL_CHASE_TIME_LIMIT; }
2503 YY_BREAK
2504 case 81:
2505 YY_RULE_SETUP
2506 #line 209 "conf_lexer.l"
2507 { return KLINE; }
2508 YY_BREAK
2509 case 82:
2510 YY_RULE_SETUP
2511 #line 210 "conf_lexer.l"
2512 { return KLINE_EXEMPT; }
2513 YY_BREAK
2514 case 83:
2515 YY_RULE_SETUP
2516 #line 211 "conf_lexer.l"
2517 { return LEAF_MASK; }
2518 YY_BREAK
2519 case 84:
2520 YY_RULE_SETUP
2521 #line 212 "conf_lexer.l"
2522 { return LISTEN; }
2523 YY_BREAK
2524 case 85:
2525 YY_RULE_SETUP
2526 #line 213 "conf_lexer.l"
2527 { return T_LOG; }
2528 YY_BREAK
2529 case 86:
2530 YY_RULE_SETUP
2531 #line 214 "conf_lexer.l"
2532 { return TMASKED; }
2533 YY_BREAK
2534 case 87:
2535 YY_RULE_SETUP
2536 #line 215 "conf_lexer.l"
2537 { return T_MAX_CLIENTS; }
2538 YY_BREAK
2539 case 88:
2540 YY_RULE_SETUP
2541 #line 216 "conf_lexer.l"
2542 { return MAX_IDENT; }
2543 YY_BREAK
2544 case 89:
2545 YY_RULE_SETUP
2546 #line 217 "conf_lexer.l"
2547 { return MAX_LOCAL; }
2548 YY_BREAK
2549 case 90:
2550 YY_RULE_SETUP
2551 #line 218 "conf_lexer.l"
2552 { return MAX_GLOBAL; }
2553 YY_BREAK
2554 case 91:
2555 YY_RULE_SETUP
2556 #line 219 "conf_lexer.l"
2557 { return MAX_NUMBER; }
2558 YY_BREAK
2559 case 92:
2560 YY_RULE_SETUP
2561 #line 220 "conf_lexer.l"
2562 { return MAX_WATCH; }
2563 YY_BREAK
2564 case 93:
2565 YY_RULE_SETUP
2566 #line 221 "conf_lexer.l"
2567 { return MESSAGE_LOCALE; }
2568 YY_BREAK
2569 case 94:
2570 YY_RULE_SETUP
2571 #line 222 "conf_lexer.l"
2572 { return MIN_NONWILDCARD; }
2573 YY_BREAK
2574 case 95:
2575 YY_RULE_SETUP
2576 #line 223 "conf_lexer.l"
2577 { return MIN_NONWILDCARD_SIMPLE; }
2578 YY_BREAK
2579 case 96:
2580 YY_RULE_SETUP
2581 #line 224 "conf_lexer.l"
2582 { return NAME; }
2583 YY_BREAK
2584 case 97:
2585 YY_RULE_SETUP
2586 #line 225 "conf_lexer.l"
2587 { return NEED_PASSWORD; }
2588 YY_BREAK
2589 case 98:
2590 YY_RULE_SETUP
2591 #line 226 "conf_lexer.l"
2592 { return NETWORK_DESC; }
2593 YY_BREAK
2594 case 99:
2595 YY_RULE_SETUP
2596 #line 227 "conf_lexer.l"
2597 { return NETWORK_NAME; }
2598 YY_BREAK
2599 case 100:
2600 YY_RULE_SETUP
2601 #line 228 "conf_lexer.l"
2602 { return NICK; }
2603 YY_BREAK
2604 case 101:
2605 YY_RULE_SETUP
2606 #line 229 "conf_lexer.l"
2607 { return NICK_CHANGES; }
2608 YY_BREAK
2609 case 102:
2610 YY_RULE_SETUP
2611 #line 230 "conf_lexer.l"
2612 { yylval.number = 0; return TBOOL; }
2613 YY_BREAK
2614 case 103:
2615 YY_RULE_SETUP
2616 #line 231 "conf_lexer.l"
2617 { return NO_CREATE_ON_SPLIT; }
2618 YY_BREAK
2619 case 104:
2620 YY_RULE_SETUP
2621 #line 232 "conf_lexer.l"
2622 { return NO_JOIN_ON_SPLIT; }
2623 YY_BREAK
2624 case 105:
2625 YY_RULE_SETUP
2626 #line 233 "conf_lexer.l"
2627 { return NO_OPER_FLOOD; }
2628 YY_BREAK
2629 case 106:
2630 YY_RULE_SETUP
2631 #line 234 "conf_lexer.l"
2632 { return NO_TILDE; }
2633 YY_BREAK
2634 case 107:
2635 YY_RULE_SETUP
2636 #line 235 "conf_lexer.l"
2637 { return NUMBER_PER_CIDR; }
2638 YY_BREAK
2639 case 108:
2640 YY_RULE_SETUP
2641 #line 236 "conf_lexer.l"
2642 { return NUMBER_PER_IP; }
2643 YY_BREAK
2644 case 109:
2645 YY_RULE_SETUP
2646 #line 237 "conf_lexer.l"
2647 { return OPERATOR; }
2648 YY_BREAK
2649 case 110:
2650 YY_RULE_SETUP
2651 #line 238 "conf_lexer.l"
2652 { return OPER_PASS_RESV; }
2653 YY_BREAK
2654 case 111:
2655 YY_RULE_SETUP
2656 #line 239 "conf_lexer.l"
2657 { return OPERATOR; }
2658 YY_BREAK
2659 case 112:
2660 YY_RULE_SETUP
2661 #line 240 "conf_lexer.l"
2662 { return PASSWORD; }
2663 YY_BREAK
2664 case 113:
2665 YY_RULE_SETUP
2666 #line 241 "conf_lexer.l"
2667 { return PASSWORD; }
2668 YY_BREAK
2669 case 114:
2670 YY_RULE_SETUP
2671 #line 242 "conf_lexer.l"
2672 { return PING_COOKIE; }
2673 YY_BREAK
2674 case 115:
2675 YY_RULE_SETUP
2676 #line 243 "conf_lexer.l"
2677 { return PING_TIME; }
2678 YY_BREAK
2679 case 116:
2680 YY_RULE_SETUP
2681 #line 244 "conf_lexer.l"
2682 { return PING_WARNING; }
2683 YY_BREAK
2684 case 117:
2685 YY_RULE_SETUP
2686 #line 245 "conf_lexer.l"
2687 { return PORT; }
2688 YY_BREAK
2689 case 118:
2690 YY_RULE_SETUP
2691 #line 246 "conf_lexer.l"
2692 { return RESV; }
2693 YY_BREAK
2694 case 119:
2695 YY_RULE_SETUP
2696 #line 247 "conf_lexer.l"
2697 { return QUIET_ON_BAN; }
2698 YY_BREAK
2699 case 120:
2700 YY_RULE_SETUP
2701 #line 248 "conf_lexer.l"
2702 { return REASON; }
2703 YY_BREAK
2704 case 121:
2705 YY_RULE_SETUP
2706 #line 249 "conf_lexer.l"
2707 { return T_RECVQ; }
2708 YY_BREAK
2709 case 122:
2710 YY_RULE_SETUP
2711 #line 250 "conf_lexer.l"
2712 { return REDIRPORT; }
2713 YY_BREAK
2714 case 123:
2715 YY_RULE_SETUP
2716 #line 251 "conf_lexer.l"
2717 { return REDIRSERV; }
2718 YY_BREAK
2719 case 124:
2720 YY_RULE_SETUP
2721 #line 252 "conf_lexer.l"
2722 { return REGEX_T; }
2723 YY_BREAK
2724 case 125:
2725 YY_RULE_SETUP
2726 #line 253 "conf_lexer.l"
2727 { return REHASH; }
2728 YY_BREAK
2729 case 126:
2730 YY_RULE_SETUP
2731 #line 254 "conf_lexer.l"
2732 { return T_REJECT; }
2733 YY_BREAK
2734 case 127:
2735 YY_RULE_SETUP
2736 #line 255 "conf_lexer.l"
2737 { return TREJECT_HOLD_TIME; }
2738 YY_BREAK
2739 case 128:
2740 YY_RULE_SETUP
2741 #line 256 "conf_lexer.l"
2742 { return REMOTE; }
2743 YY_BREAK
2744 case 129:
2745 YY_RULE_SETUP
2746 #line 257 "conf_lexer.l"
2747 { return REMOTEBAN; }
2748 YY_BREAK
2749 case 130:
2750 YY_RULE_SETUP
2751 #line 258 "conf_lexer.l"
2752 { return T_RESTART; }
2753 YY_BREAK
2754 case 131:
2755 YY_RULE_SETUP
2756 #line 259 "conf_lexer.l"
2757 { return RESTRICT_CHANNELS; }
2758 YY_BREAK
2759 case 132:
2760 YY_RULE_SETUP
2761 #line 260 "conf_lexer.l"
2762 { return RESV; }
2763 YY_BREAK
2764 case 133:
2765 YY_RULE_SETUP
2766 #line 261 "conf_lexer.l"
2767 { return RESV_EXEMPT; }
2768 YY_BREAK
2769 case 134:
2770 YY_RULE_SETUP
2771 #line 262 "conf_lexer.l"
2772 { return RSA_PRIVATE_KEY_FILE; }
2773 YY_BREAK
2774 case 135:
2775 YY_RULE_SETUP
2776 #line 263 "conf_lexer.l"
2777 { return RSA_PUBLIC_KEY_FILE; }
2778 YY_BREAK
2779 case 136:
2780 YY_RULE_SETUP
2781 #line 264 "conf_lexer.l"
2782 { return T_SSL; }
2783 YY_BREAK
2784 case 137:
2785 YY_RULE_SETUP
2786 #line 265 "conf_lexer.l"
2787 { return SSL_CERTIFICATE_FILE; }
2788 YY_BREAK
2789 case 138:
2790 YY_RULE_SETUP
2791 #line 266 "conf_lexer.l"
2792 { return T_SSL_CLIENT_METHOD; }
2793 YY_BREAK
2794 case 139:
2795 YY_RULE_SETUP
2796 #line 267 "conf_lexer.l"
2797 { return T_SSL_SERVER_METHOD; }
2798 YY_BREAK
2799 case 140:
2800 YY_RULE_SETUP
2801 #line 268 "conf_lexer.l"
2802 { return SSL_DH_PARAM_FILE; }
2803 YY_BREAK
2804 case 141:
2805 YY_RULE_SETUP
2806 #line 269 "conf_lexer.l"
2807 { return T_SSL_CIPHER_LIST; }
2808 YY_BREAK
2809 case 142:
2810 YY_RULE_SETUP
2811 #line 270 "conf_lexer.l"
2812 { return T_SSLV3; }
2813 YY_BREAK
2814 case 143:
2815 YY_RULE_SETUP
2816 #line 271 "conf_lexer.l"
2817 { return T_TLSV1; }
2818 YY_BREAK
2819 case 144:
2820 YY_RULE_SETUP
2821 #line 272 "conf_lexer.l"
2822 { return SEND_PASSWORD; }
2823 YY_BREAK
2824 case 145:
2825 YY_RULE_SETUP
2826 #line 273 "conf_lexer.l"
2827 { return SENDQ; }
2828 YY_BREAK
2829 case 146:
2830 YY_RULE_SETUP
2831 #line 274 "conf_lexer.l"
2832 { return T_SERVER; }
2833 YY_BREAK
2834 case 147:
2835 YY_RULE_SETUP
2836 #line 275 "conf_lexer.l"
2837 { return SERVERHIDE; }
2838 YY_BREAK
2839 case 148:
2840 YY_RULE_SETUP
2841 #line 276 "conf_lexer.l"
2842 { return SERVERINFO; }
2843 YY_BREAK
2844 case 149:
2845 YY_RULE_SETUP
2846 #line 277 "conf_lexer.l"
2847 { return T_SERVICE; }
2848 YY_BREAK
2849 case 150:
2850 YY_RULE_SETUP
2851 #line 278 "conf_lexer.l"
2852 { return T_SERVICES_NAME; }
2853 YY_BREAK
2854 case 151:
2855 YY_RULE_SETUP
2856 #line 279 "conf_lexer.l"
2857 { return T_SET; }
2858 YY_BREAK
2859 case 152:
2860 YY_RULE_SETUP
2861 #line 280 "conf_lexer.l"
2862 { return T_SHARED; }
2863 YY_BREAK
2864 case 153:
2865 YY_RULE_SETUP
2866 #line 281 "conf_lexer.l"
2867 { return SHORT_MOTD; }
2868 YY_BREAK
2869 case 154:
2870 YY_RULE_SETUP
2871 #line 282 "conf_lexer.l"
2872 { return IRCD_SID; }
2873 YY_BREAK
2874 case 155:
2875 YY_RULE_SETUP
2876 #line 283 "conf_lexer.l"
2877 { return SILENT; }
2878 YY_BREAK
2879 case 156:
2880 YY_RULE_SETUP
2881 #line 284 "conf_lexer.l"
2882 { return T_SIZE; }
2883 YY_BREAK
2884 case 157:
2885 YY_RULE_SETUP
2886 #line 285 "conf_lexer.l"
2887 { return SPOOF; }
2888 YY_BREAK
2889 case 158:
2890 YY_RULE_SETUP
2891 #line 286 "conf_lexer.l"
2892 { return SPOOF_NOTICE; }
2893 YY_BREAK
2894 case 159:
2895 YY_RULE_SETUP
2896 #line 287 "conf_lexer.l"
2897 { return TKLINE_EXPIRE_NOTICES; }
2898 YY_BREAK
2899 case 160:
2900 YY_RULE_SETUP
2901 #line 288 "conf_lexer.l"
2902 { return TYPE; }
2903 YY_BREAK
2904 case 161:
2905 YY_RULE_SETUP
2906 #line 289 "conf_lexer.l"
2907 { return TRUE_NO_OPER_FLOOD; }
2908 YY_BREAK
2909 case 162:
2910 YY_RULE_SETUP
2911 #line 290 "conf_lexer.l"
2912 { return T_UMODES; }
2913 YY_BREAK
2914 case 163:
2915 YY_RULE_SETUP
2916 #line 291 "conf_lexer.l"
2917 { return UNKLINE; }
2918 YY_BREAK
2919 case 164:
2920 YY_RULE_SETUP
2921 #line 292 "conf_lexer.l"
2922 { return T_UNDLINE; }
2923 YY_BREAK
2924 case 165:
2925 YY_RULE_SETUP
2926 #line 293 "conf_lexer.l"
2927 { return T_UNLIMITED; }
2928 YY_BREAK
2929 case 166:
2930 YY_RULE_SETUP
2931 #line 294 "conf_lexer.l"
2932 { return USE_EGD; }
2933 YY_BREAK
2934 case 167:
2935 YY_RULE_SETUP
2936 #line 295 "conf_lexer.l"
2937 { return USE_LOGGING; }
2938 YY_BREAK
2939 case 168:
2940 YY_RULE_SETUP
2941 #line 296 "conf_lexer.l"
2942 { return USE_WHOIS_ACTUALLY; }
2943 YY_BREAK
2944 case 169:
2945 YY_RULE_SETUP
2946 #line 297 "conf_lexer.l"
2947 { return THROTTLE_TIME; }
2948 YY_BREAK
2949 case 170:
2950 YY_RULE_SETUP
2951 #line 298 "conf_lexer.l"
2952 { return USER; }
2953 YY_BREAK
2954 case 171:
2955 YY_RULE_SETUP
2956 #line 299 "conf_lexer.l"
2957 { return TKLINE; }
2958 YY_BREAK
2959 case 172:
2960 YY_RULE_SETUP
2961 #line 300 "conf_lexer.l"
2962 { return TXLINE; }
2963 YY_BREAK
2964 case 173:
2965 YY_RULE_SETUP
2966 #line 301 "conf_lexer.l"
2967 { return TRESV; }
2968 YY_BREAK
2969 case 174:
2970 YY_RULE_SETUP
2971 #line 302 "conf_lexer.l"
2972 { return VHOST; }
2973 YY_BREAK
2974 case 175:
2975 YY_RULE_SETUP
2976 #line 303 "conf_lexer.l"
2977 { return VHOST6; }
2978 YY_BREAK
2979 case 176:
2980 YY_RULE_SETUP
2981 #line 304 "conf_lexer.l"
2982 { return WARN; }
2983 YY_BREAK
2984 case 177:
2985 YY_RULE_SETUP
2986 #line 305 "conf_lexer.l"
2987 { return XLINE; }
2988 YY_BREAK
2989 case 178:
2990 YY_RULE_SETUP
2991 #line 306 "conf_lexer.l"
2992 { yylval.number = 1; return TBOOL; }
2993 YY_BREAK
2994 case 179:
2995 YY_RULE_SETUP
2996 #line 308 "conf_lexer.l"
2997 { return FAILED_OPER_NOTICE; }
2998 YY_BREAK
2999 case 180:
3000 YY_RULE_SETUP
3001 #line 309 "conf_lexer.l"
3002 { return MAX_ACCEPT; }
3003 YY_BREAK
3004 case 181:
3005 YY_RULE_SETUP
3006 #line 310 "conf_lexer.l"
3007 { return MAX_NICK_CHANGES; }
3008 YY_BREAK
3009 case 182:
3010 YY_RULE_SETUP
3011 #line 311 "conf_lexer.l"
3012 { return MAX_CHANS_PER_OPER; }
3013 YY_BREAK
3014 case 183:
3015 YY_RULE_SETUP
3016 #line 312 "conf_lexer.l"
3017 { return MAX_CHANS_PER_USER; }
3018 YY_BREAK
3019 case 184:
3020 YY_RULE_SETUP
3021 #line 313 "conf_lexer.l"
3022 { return MAX_NICK_TIME; }
3023 YY_BREAK
3024 case 185:
3025 YY_RULE_SETUP
3026 #line 314 "conf_lexer.l"
3027 { return ANTI_NICK_FLOOD; }
3028 YY_BREAK
3029 case 186:
3030 YY_RULE_SETUP
3031 #line 315 "conf_lexer.l"
3032 { return ANTI_SPAM_EXIT_MESSAGE_TIME; }
3033 YY_BREAK
3034 case 187:
3035 YY_RULE_SETUP
3036 #line 316 "conf_lexer.l"
3037 { return TS_MAX_DELTA; }
3038 YY_BREAK
3039 case 188:
3040 YY_RULE_SETUP
3041 #line 317 "conf_lexer.l"
3042 { return TS_WARN_DELTA; }
3043 YY_BREAK
3044 case 189:
3045 YY_RULE_SETUP
3046 #line 318 "conf_lexer.l"
3047 { return LINKS_DELAY; }
3048 YY_BREAK
3049 case 190:
3050 YY_RULE_SETUP
3051 #line 319 "conf_lexer.l"
3052 { return KLINE_REASON; }
3053 YY_BREAK
3054 case 191:
3055 YY_RULE_SETUP
3056 #line 320 "conf_lexer.l"
3057 { return KLINE_WITH_REASON; }
3058 YY_BREAK
3059 case 192:
3060 YY_RULE_SETUP
3061 #line 321 "conf_lexer.l"
3062 { return WARN_NO_NLINE; }
3063 YY_BREAK
3064 case 193:
3065 YY_RULE_SETUP
3066 #line 323 "conf_lexer.l"
3067 { return STATS_E_DISABLED; }
3068 YY_BREAK
3069 case 194:
3070 YY_RULE_SETUP
3071 #line 324 "conf_lexer.l"
3072 { return STATS_O_OPER_ONLY; }
3073 YY_BREAK
3074 case 195:
3075 YY_RULE_SETUP
3076 #line 325 "conf_lexer.l"
3077 { return STATS_K_OPER_ONLY; }
3078 YY_BREAK
3079 case 196:
3080 YY_RULE_SETUP
3081 #line 326 "conf_lexer.l"
3082 { return STATS_I_OPER_ONLY; }
3083 YY_BREAK
3084 case 197:
3085 YY_RULE_SETUP
3086 #line 327 "conf_lexer.l"
3087 { return STATS_P_OPER_ONLY; }
3088 YY_BREAK
3089 case 198:
3090 YY_RULE_SETUP
3091 #line 328 "conf_lexer.l"
3092 { return PACE_WAIT; }
3093 YY_BREAK
3094 case 199:
3095 YY_RULE_SETUP
3096 #line 329 "conf_lexer.l"
3097 { return PACE_WAIT_SIMPLE; }
3098 YY_BREAK
3099 case 200:
3100 YY_RULE_SETUP
3101 #line 330 "conf_lexer.l"
3102 { return KNOCK_DELAY; }
3103 YY_BREAK
3104 case 201:
3105 YY_RULE_SETUP
3106 #line 331 "conf_lexer.l"
3107 { return KNOCK_DELAY_CHANNEL; }
3108 YY_BREAK
3109 case 202:
3110 YY_RULE_SETUP
3111 #line 332 "conf_lexer.l"
3112 { return MAX_BANS; }
3113 YY_BREAK
3114 case 203:
3115 YY_RULE_SETUP
3116 #line 333 "conf_lexer.l"
3117 { return MODULES; }
3118 YY_BREAK
3119 case 204:
3120 YY_RULE_SETUP
3121 #line 334 "conf_lexer.l"
3122 { return MODULE; }
3123 YY_BREAK
3124 case 205:
3125 YY_RULE_SETUP
3126 #line 335 "conf_lexer.l"
3127 { return PATH; }
3128 YY_BREAK
3129 case 206:
3130 YY_RULE_SETUP
3131 #line 336 "conf_lexer.l"
3132 { return MAX_TARGETS; }
3133 YY_BREAK
3134 case 207:
3135 YY_RULE_SETUP
3136 #line 338 "conf_lexer.l"
3137 { return T_UNXLINE; }
3138 YY_BREAK
3139 case 208:
3140 YY_RULE_SETUP
3141 #line 339 "conf_lexer.l"
3142 { return T_UNRESV; }
3143 YY_BREAK
3144 case 209:
3145 YY_RULE_SETUP
3146 #line 341 "conf_lexer.l"
3147 { return OPER_ONLY_UMODES; }
3148 YY_BREAK
3149 case 210:
3150 YY_RULE_SETUP
3151 #line 342 "conf_lexer.l"
3152 { return OPER_UMODES; }
3153 YY_BREAK
3154 case 211:
3155 YY_RULE_SETUP
3156 #line 343 "conf_lexer.l"
3157 { return T_BOTS; }
3158 YY_BREAK
3159 case 212:
3160 YY_RULE_SETUP
3161 #line 344 "conf_lexer.l"
3162 { return T_CCONN; }
3163 YY_BREAK
3164 case 213:
3165 YY_RULE_SETUP
3166 #line 345 "conf_lexer.l"
3167 { return T_CCONN_FULL; }
3168 YY_BREAK
3169 case 214:
3170 YY_RULE_SETUP
3171 #line 346 "conf_lexer.l"
3172 { return T_DEAF; }
3173 YY_BREAK
3174 case 215:
3175 YY_RULE_SETUP
3176 #line 347 "conf_lexer.l"
3177 { return T_DEBUG; }
3178 YY_BREAK
3179 case 216:
3180 YY_RULE_SETUP
3181 #line 348 "conf_lexer.l"
3182 { return T_FULL; }
3183 YY_BREAK
3184 case 217:
3185 YY_RULE_SETUP
3186 #line 349 "conf_lexer.l"
3187 { return T_SKILL; }
3188 YY_BREAK
3189 case 218:
3190 YY_RULE_SETUP
3191 #line 350 "conf_lexer.l"
3192 { return T_NCHANGE; }
3193 YY_BREAK
3194 case 219:
3195 YY_RULE_SETUP
3196 #line 351 "conf_lexer.l"
3197 { return T_REJ; }
3198 YY_BREAK
3199 case 220:
3200 YY_RULE_SETUP
3201 #line 352 "conf_lexer.l"
3202 { return T_UNAUTH; }
3203 YY_BREAK
3204 case 221:
3205 YY_RULE_SETUP
3206 #line 353 "conf_lexer.l"
3207 { return T_SPY; }
3208 YY_BREAK
3209 case 222:
3210 YY_RULE_SETUP
3211 #line 354 "conf_lexer.l"
3212 { return T_EXTERNAL; }
3213 YY_BREAK
3214 case 223:
3215 YY_RULE_SETUP
3216 #line 355 "conf_lexer.l"
3217 { return T_OPERWALL; }
3218 YY_BREAK
3219 case 224:
3220 YY_RULE_SETUP
3221 #line 356 "conf_lexer.l"
3222 { return T_SERVNOTICE; }
3223 YY_BREAK
3224 case 225:
3225 YY_RULE_SETUP
3226 #line 357 "conf_lexer.l"
3227 { return T_INVISIBLE; }
3228 YY_BREAK
3229 case 226:
3230 YY_RULE_SETUP
3231 #line 358 "conf_lexer.l"
3232 { return T_WALLOP; }
3233 YY_BREAK
3234 case 227:
3235 YY_RULE_SETUP
3236 #line 359 "conf_lexer.l"
3237 { return T_CALLERID; }
3238 YY_BREAK
3239 case 228:
3240 YY_RULE_SETUP
3241 #line 360 "conf_lexer.l"
3242 { return T_SOFTCALLERID; }
3243 YY_BREAK
3244 case 229:
3245 YY_RULE_SETUP
3246 #line 361 "conf_lexer.l"
3247 { return T_DRONE; }
3248 YY_BREAK
3249 case 230:
3250 YY_RULE_SETUP
3251 #line 362 "conf_lexer.l"
3252 { return T_LOCOPS; }
3253 YY_BREAK
3254 case 231:
3255 YY_RULE_SETUP
3256 #line 363 "conf_lexer.l"
3257 { return TOPICBURST; }
3258 YY_BREAK
3259 case 232:
3260 YY_RULE_SETUP
3261 #line 365 "conf_lexer.l"
3262 { return WEEKS; }
3263 YY_BREAK
3264 case 233:
3265 YY_RULE_SETUP
3266 #line 366 "conf_lexer.l"
3267 { return WEEKS; }
3268 YY_BREAK
3269 case 234:
3270 YY_RULE_SETUP
3271 #line 367 "conf_lexer.l"
3272 { return DAYS; }
3273 YY_BREAK
3274 case 235:
3275 YY_RULE_SETUP
3276 #line 368 "conf_lexer.l"
3277 { return DAYS; }
3278 YY_BREAK
3279 case 236:
3280 YY_RULE_SETUP
3281 #line 369 "conf_lexer.l"
3282 { return HOURS; }
3283 YY_BREAK
3284 case 237:
3285 YY_RULE_SETUP
3286 #line 370 "conf_lexer.l"
3287 { return HOURS; }
3288 YY_BREAK
3289 case 238:
3290 YY_RULE_SETUP
3291 #line 371 "conf_lexer.l"
3292 { return MINUTES; }
3293 YY_BREAK
3294 case 239:
3295 YY_RULE_SETUP
3296 #line 372 "conf_lexer.l"
3297 { return MINUTES; }
3298 YY_BREAK
3299 case 240:
3300 YY_RULE_SETUP
3301 #line 373 "conf_lexer.l"
3302 { return SECONDS; }
3303 YY_BREAK
3304 case 241:
3305 YY_RULE_SETUP
3306 #line 374 "conf_lexer.l"
3307 { return SECONDS; }
3308 YY_BREAK
3309 case 242:
3310 YY_RULE_SETUP
3311 #line 376 "conf_lexer.l"
3312 { return BYTES; }
3313 YY_BREAK
3314 case 243:
3315 YY_RULE_SETUP
3316 #line 377 "conf_lexer.l"
3317 { return BYTES; }
3318 YY_BREAK
3319 case 244:
3320 YY_RULE_SETUP
3321 #line 378 "conf_lexer.l"
3322 { return KBYTES; }
3323 YY_BREAK
3324 case 245:
3325 YY_RULE_SETUP
3326 #line 379 "conf_lexer.l"
3327 { return KBYTES; }
3328 YY_BREAK
3329 case 246:
3330 YY_RULE_SETUP
3331 #line 380 "conf_lexer.l"
3332 { return KBYTES; }
3333 YY_BREAK
3334 case 247:
3335 YY_RULE_SETUP
3336 #line 381 "conf_lexer.l"
3337 { return KBYTES; }
3338 YY_BREAK
3339 case 248:
3340 YY_RULE_SETUP
3341 #line 382 "conf_lexer.l"
3342 { return KBYTES; }
3343 YY_BREAK
3344 case 249:
3345 YY_RULE_SETUP
3346 #line 383 "conf_lexer.l"
3347 { return MBYTES; }
3348 YY_BREAK
3349 case 250:
3350 YY_RULE_SETUP
3351 #line 384 "conf_lexer.l"
3352 { return MBYTES; }
3353 YY_BREAK
3354 case 251:
3355 YY_RULE_SETUP
3356 #line 385 "conf_lexer.l"
3357 { return MBYTES; }
3358 YY_BREAK
3359 case 252:
3360 YY_RULE_SETUP
3361 #line 386 "conf_lexer.l"
3362 { return MBYTES; }
3363 YY_BREAK
3364 case 253:
3365 YY_RULE_SETUP
3366 #line 387 "conf_lexer.l"
3367 { return MBYTES; }
3368 YY_BREAK
3369 case 254:
3370 YY_RULE_SETUP
3371 #line 388 "conf_lexer.l"
3372 { return GBYTES; }
3373 YY_BREAK
3374 case 255:
3375 YY_RULE_SETUP
3376 #line 389 "conf_lexer.l"
3377 { return GBYTES; }
3378 YY_BREAK
3379 case 256:
3380 YY_RULE_SETUP
3381 #line 390 "conf_lexer.l"
3382 { return GBYTES; }
3383 YY_BREAK
3384 case 257:
3385 YY_RULE_SETUP
3386 #line 391 "conf_lexer.l"
3387 { return GBYTES; }
3388 YY_BREAK
3389 case 258:
3390 YY_RULE_SETUP
3391 #line 392 "conf_lexer.l"
3392 { return GBYTES; }
3393 YY_BREAK
3394 case 259:
3395 YY_RULE_SETUP
3396 #line 393 "conf_lexer.l"
3397 { return TBYTES; }
3398 YY_BREAK
3399 case 260:
3400 YY_RULE_SETUP
3401 #line 394 "conf_lexer.l"
3402 { return TBYTES; }
3403 YY_BREAK
3404 case 261:
3405 YY_RULE_SETUP
3406 #line 395 "conf_lexer.l"
3407 { return TBYTES; }
3408 YY_BREAK
3409 case 262:
3410 YY_RULE_SETUP
3411 #line 396 "conf_lexer.l"
3412 { return TBYTES; }
3413 YY_BREAK
3414 case 263:
3415 YY_RULE_SETUP
3416 #line 397 "conf_lexer.l"
3417 { return TBYTES; }
3418 YY_BREAK
3419 case 264:
3420 YY_RULE_SETUP
3421 #line 398 "conf_lexer.l"
3422 { return TWODOTS; }
3423 YY_BREAK
3424 case 265:
3425 YY_RULE_SETUP
3426 #line 400 "conf_lexer.l"
3427 { return yytext[0]; }
3428 YY_BREAK
3429 case YY_STATE_EOF(INITIAL):
3430 #line 401 "conf_lexer.l"
3431 { if (ieof()) yyterminate(); }
3432 YY_BREAK
3433 case 266:
3434 YY_RULE_SETUP
3435 #line 403 "conf_lexer.l"
3436 ECHO;
3437 YY_BREAK
3438 #line 3439 "conf_lexer.c"
3439
3440 case YY_END_OF_BUFFER:
3441 {
3442 /* Amount of text matched not including the EOB char. */
3443 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3444
3445 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3446 *yy_cp = (yy_hold_char);
3447 YY_RESTORE_YY_MORE_OFFSET
3448
3449 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3450 {
3451 /* We're scanning a new file or input source. It's
3452 * possible that this happened because the user
3453 * just pointed yyin at a new source and called
3454 * yylex(). If so, then we have to assure
3455 * consistency between YY_CURRENT_BUFFER and our
3456 * globals. Here is the right place to do so, because
3457 * this is the first action (other than possibly a
3458 * back-up) that will match for the new input source.
3459 */
3460 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3461 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3462 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3463 }
3464
3465 /* Note that here we test for yy_c_buf_p "<=" to the position
3466 * of the first EOB in the buffer, since yy_c_buf_p will
3467 * already have been incremented past the NUL character
3468 * (since all states make transitions on EOB to the
3469 * end-of-buffer state). Contrast this with the test
3470 * in input().
3471 */
3472 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3473 { /* This was really a NUL. */
3474 yy_state_type yy_next_state;
3475
3476 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3477
3478 yy_current_state = yy_get_previous_state( );
3479
3480 /* Okay, we're now positioned to make the NUL
3481 * transition. We couldn't have
3482 * yy_get_previous_state() go ahead and do it
3483 * for us because it doesn't know how to deal
3484 * with the possibility of jamming (and we don't
3485 * want to build jamming into it because then it
3486 * will run more slowly).
3487 */
3488
3489 yy_next_state = yy_try_NUL_trans( yy_current_state );
3490
3491 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3492
3493 if ( yy_next_state )
3494 {
3495 /* Consume the NUL. */
3496 yy_cp = ++(yy_c_buf_p);
3497 yy_current_state = yy_next_state;
3498 goto yy_match;
3499 }
3500
3501 else
3502 {
3503 yy_cp = (yy_last_accepting_cpos);
3504 yy_current_state = (yy_last_accepting_state);
3505 goto yy_find_action;
3506 }
3507 }
3508
3509 else switch ( yy_get_next_buffer( ) )
3510 {
3511 case EOB_ACT_END_OF_FILE:
3512 {
3513 (yy_did_buffer_switch_on_eof) = 0;
3514
3515 if ( yywrap( ) )
3516 {
3517 /* Note: because we've taken care in
3518 * yy_get_next_buffer() to have set up
3519 * yytext, we can now set up
3520 * yy_c_buf_p so that if some total
3521 * hoser (like flex itself) wants to
3522 * call the scanner after we return the
3523 * YY_NULL, it'll still work - another
3524 * YY_NULL will get returned.
3525 */
3526 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3527
3528 yy_act = YY_STATE_EOF(YY_START);
3529 goto do_action;
3530 }
3531
3532 else
3533 {
3534 if ( ! (yy_did_buffer_switch_on_eof) )
3535 YY_NEW_FILE;
3536 }
3537 break;
3538 }
3539
3540 case EOB_ACT_CONTINUE_SCAN:
3541 (yy_c_buf_p) =
3542 (yytext_ptr) + yy_amount_of_matched_text;
3543
3544 yy_current_state = yy_get_previous_state( );
3545
3546 yy_cp = (yy_c_buf_p);
3547 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3548 goto yy_match;
3549
3550 case EOB_ACT_LAST_MATCH:
3551 (yy_c_buf_p) =
3552 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3553
3554 yy_current_state = yy_get_previous_state( );
3555
3556 yy_cp = (yy_c_buf_p);
3557 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3558 goto yy_find_action;
3559 }
3560 break;
3561 }
3562
3563 default:
3564 YY_FATAL_ERROR(
3565 "fatal flex scanner internal error--no action found" );
3566 } /* end of action switch */
3567 } /* end of scanning one token */
3568 } /* end of yylex */
3569
3570 /* yy_get_next_buffer - try to read in a new buffer
3571 *
3572 * Returns a code representing an action:
3573 * EOB_ACT_LAST_MATCH -
3574 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3575 * EOB_ACT_END_OF_FILE - end of file
3576 */
3577 static int yy_get_next_buffer (void)
3578 {
3579 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3580 register char *source = (yytext_ptr);
3581 register int number_to_move, i;
3582 int ret_val;
3583
3584 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3585 YY_FATAL_ERROR(
3586 "fatal flex scanner internal error--end of buffer missed" );
3587
3588 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3589 { /* Don't try to fill the buffer, so this is an EOF. */
3590 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3591 {
3592 /* We matched a single character, the EOB, so
3593 * treat this as a final EOF.
3594 */
3595 return EOB_ACT_END_OF_FILE;
3596 }
3597
3598 else
3599 {
3600 /* We matched some text prior to the EOB, first
3601 * process it.
3602 */
3603 return EOB_ACT_LAST_MATCH;
3604 }
3605 }
3606
3607 /* Try to read more data. */
3608
3609 /* First move last chars to start of buffer. */
3610 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3611
3612 for ( i = 0; i < number_to_move; ++i )
3613 *(dest++) = *(source++);
3614
3615 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3616 /* don't do the read, it's not guaranteed to return an EOF,
3617 * just force an EOF
3618 */
3619 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3620
3621 else
3622 {
3623 yy_size_t num_to_read =
3624 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3625
3626 while ( num_to_read <= 0 )
3627 { /* Not enough room in the buffer - grow it. */
3628
3629 /* just a shorter name for the current buffer */
3630 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3631
3632 int yy_c_buf_p_offset =
3633 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3634
3635 if ( b->yy_is_our_buffer )
3636 {
3637 yy_size_t new_size = b->yy_buf_size * 2;
3638
3639 if ( new_size <= 0 )
3640 b->yy_buf_size += b->yy_buf_size / 8;
3641 else
3642 b->yy_buf_size *= 2;
3643
3644 b->yy_ch_buf = (char *)
3645 /* Include room in for 2 EOB chars. */
3646 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3647 }
3648 else
3649 /* Can't grow it, we don't own it. */
3650 b->yy_ch_buf = 0;
3651
3652 if ( ! b->yy_ch_buf )
3653 YY_FATAL_ERROR(
3654 "fatal error - scanner input buffer overflow" );
3655
3656 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3657
3658 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3659 number_to_move - 1;
3660
3661 }
3662
3663 if ( num_to_read > YY_READ_BUF_SIZE )
3664 num_to_read = YY_READ_BUF_SIZE;
3665
3666 /* Read in more data. */
3667 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3668 (yy_n_chars), num_to_read );
3669
3670 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3671 }
3672
3673 if ( (yy_n_chars) == 0 )
3674 {
3675 if ( number_to_move == YY_MORE_ADJ )
3676 {
3677 ret_val = EOB_ACT_END_OF_FILE;
3678 yyrestart(yyin );
3679 }
3680
3681 else
3682 {
3683 ret_val = EOB_ACT_LAST_MATCH;
3684 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3685 YY_BUFFER_EOF_PENDING;
3686 }
3687 }
3688
3689 else
3690 ret_val = EOB_ACT_CONTINUE_SCAN;
3691
3692 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3693 /* Extend the array by 50%, plus the number we really need. */
3694 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3695 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3696 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3697 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3698 }
3699
3700 (yy_n_chars) += number_to_move;
3701 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3702 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3703
3704 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3705
3706 return ret_val;
3707 }
3708
3709 /* yy_get_previous_state - get the state just before the EOB char was reached */
3710
3711 static yy_state_type yy_get_previous_state (void)
3712 {
3713 register yy_state_type yy_current_state;
3714 register char *yy_cp;
3715
3716 yy_current_state = (yy_start);
3717
3718 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3719 {
3720 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3721 if ( yy_accept[yy_current_state] )
3722 {
3723 (yy_last_accepting_state) = yy_current_state;
3724 (yy_last_accepting_cpos) = yy_cp;
3725 }
3726 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3727 {
3728 yy_current_state = (int) yy_def[yy_current_state];
3729 if ( yy_current_state >= 1671 )
3730 yy_c = yy_meta[(unsigned int) yy_c];
3731 }
3732 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3733 }
3734
3735 return yy_current_state;
3736 }
3737
3738 /* yy_try_NUL_trans - try to make a transition on the NUL character
3739 *
3740 * synopsis
3741 * next_state = yy_try_NUL_trans( current_state );
3742 */
3743 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3744 {
3745 register int yy_is_jam;
3746 register char *yy_cp = (yy_c_buf_p);
3747
3748 register YY_CHAR yy_c = 1;
3749 if ( yy_accept[yy_current_state] )
3750 {
3751 (yy_last_accepting_state) = yy_current_state;
3752 (yy_last_accepting_cpos) = yy_cp;
3753 }
3754 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3755 {
3756 yy_current_state = (int) yy_def[yy_current_state];
3757 if ( yy_current_state >= 1671 )
3758 yy_c = yy_meta[(unsigned int) yy_c];
3759 }
3760 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3761 yy_is_jam = (yy_current_state == 1670);
3762
3763 return yy_is_jam ? 0 : yy_current_state;
3764 }
3765
3766 #ifndef YY_NO_INPUT
3767 #ifdef __cplusplus
3768 static int yyinput (void)
3769 #else
3770 static int input (void)
3771 #endif
3772
3773 {
3774 int c;
3775
3776 *(yy_c_buf_p) = (yy_hold_char);
3777
3778 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3779 {
3780 /* yy_c_buf_p now points to the character we want to return.
3781 * If this occurs *before* the EOB characters, then it's a
3782 * valid NUL; if not, then we've hit the end of the buffer.
3783 */
3784 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3785 /* This was really a NUL. */
3786 *(yy_c_buf_p) = '\0';
3787
3788 else
3789 { /* need more input */
3790 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3791 ++(yy_c_buf_p);
3792
3793 switch ( yy_get_next_buffer( ) )
3794 {
3795 case EOB_ACT_LAST_MATCH:
3796 /* This happens because yy_g_n_b()
3797 * sees that we've accumulated a
3798 * token and flags that we need to
3799 * try matching the token before
3800 * proceeding. But for input(),
3801 * there's no matching to consider.
3802 * So convert the EOB_ACT_LAST_MATCH
3803 * to EOB_ACT_END_OF_FILE.
3804 */
3805
3806 /* Reset buffer status. */
3807 yyrestart(yyin );
3808
3809 /*FALLTHROUGH*/
3810
3811 case EOB_ACT_END_OF_FILE:
3812 {
3813 if ( yywrap( ) )
3814 return EOF;
3815
3816 if ( ! (yy_did_buffer_switch_on_eof) )
3817 YY_NEW_FILE;
3818 #ifdef __cplusplus
3819 return yyinput();
3820 #else
3821 return input();
3822 #endif
3823 }
3824
3825 case EOB_ACT_CONTINUE_SCAN:
3826 (yy_c_buf_p) = (yytext_ptr) + offset;
3827 break;
3828 }
3829 }
3830 }
3831
3832 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3833 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3834 (yy_hold_char) = *++(yy_c_buf_p);
3835
3836 return c;
3837 }
3838 #endif /* ifndef YY_NO_INPUT */
3839
3840 /** Immediately switch to a different input stream.
3841 * @param input_file A readable stream.
3842 *
3843 * @note This function does not reset the start condition to @c INITIAL .
3844 */
3845 void yyrestart (FILE * input_file )
3846 {
3847
3848 if ( ! YY_CURRENT_BUFFER ){
3849 yyensure_buffer_stack ();
3850 YY_CURRENT_BUFFER_LVALUE =
3851 yy_create_buffer(yyin,YY_BUF_SIZE );
3852 }
3853
3854 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3855 yy_load_buffer_state( );
3856 }
3857
3858 /** Switch to a different input buffer.
3859 * @param new_buffer The new input buffer.
3860 *
3861 */
3862 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3863 {
3864
3865 /* TODO. We should be able to replace this entire function body
3866 * with
3867 * yypop_buffer_state();
3868 * yypush_buffer_state(new_buffer);
3869 */
3870 yyensure_buffer_stack ();
3871 if ( YY_CURRENT_BUFFER == new_buffer )
3872 return;
3873
3874 if ( YY_CURRENT_BUFFER )
3875 {
3876 /* Flush out information for old buffer. */
3877 *(yy_c_buf_p) = (yy_hold_char);
3878 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3879 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3880 }
3881
3882 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3883 yy_load_buffer_state( );
3884
3885 /* We don't actually know whether we did this switch during
3886 * EOF (yywrap()) processing, but the only time this flag
3887 * is looked at is after yywrap() is called, so it's safe
3888 * to go ahead and always set it.
3889 */
3890 (yy_did_buffer_switch_on_eof) = 1;
3891 }
3892
3893 static void yy_load_buffer_state (void)
3894 {
3895 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3896 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3897 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3898 (yy_hold_char) = *(yy_c_buf_p);
3899 }
3900
3901 /** Allocate and initialize an input buffer state.
3902 * @param file A readable stream.
3903 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3904 *
3905 * @return the allocated buffer state.
3906 */
3907 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3908 {
3909 YY_BUFFER_STATE b;
3910
3911 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3912 if ( ! b )
3913 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3914
3915 b->yy_buf_size = size;
3916
3917 /* yy_ch_buf has to be 2 characters longer than the size given because
3918 * we need to put in 2 end-of-buffer characters.
3919 */
3920 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3921 if ( ! b->yy_ch_buf )
3922 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3923
3924 b->yy_is_our_buffer = 1;
3925
3926 yy_init_buffer(b,file );
3927
3928 return b;
3929 }
3930
3931 /** Destroy the buffer.
3932 * @param b a buffer created with yy_create_buffer()
3933 *
3934 */
3935 void yy_delete_buffer (YY_BUFFER_STATE b )
3936 {
3937
3938 if ( ! b )
3939 return;
3940
3941 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3942 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3943
3944 if ( b->yy_is_our_buffer )
3945 yyfree((void *) b->yy_ch_buf );
3946
3947 yyfree((void *) b );
3948 }
3949
3950 /* Initializes or reinitializes a buffer.
3951 * This function is sometimes called more than once on the same buffer,
3952 * such as during a yyrestart() or at EOF.
3953 */
3954 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3955
3956 {
3957 int oerrno = errno;
3958
3959 yy_flush_buffer(b );
3960
3961 b->yy_input_file = file;
3962 b->yy_fill_buffer = 1;
3963
3964 /* If b is the current buffer, then yy_init_buffer was _probably_
3965 * called from yyrestart() or through yy_get_next_buffer.
3966 * In that case, we don't want to reset the lineno or column.
3967 */
3968 if (b != YY_CURRENT_BUFFER){
3969 b->yy_bs_lineno = 1;
3970 b->yy_bs_column = 0;
3971 }
3972
3973 b->yy_is_interactive = 0;
3974
3975 errno = oerrno;
3976 }
3977
3978 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3979 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3980 *
3981 */
3982 void yy_flush_buffer (YY_BUFFER_STATE b )
3983 {
3984 if ( ! b )
3985 return;
3986
3987 b->yy_n_chars = 0;
3988
3989 /* We always need two end-of-buffer characters. The first causes
3990 * a transition to the end-of-buffer state. The second causes
3991 * a jam in that state.
3992 */
3993 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3994 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3995
3996 b->yy_buf_pos = &b->yy_ch_buf[0];
3997
3998 b->yy_at_bol = 1;
3999 b->yy_buffer_status = YY_BUFFER_NEW;
4000
4001 if ( b == YY_CURRENT_BUFFER )
4002 yy_load_buffer_state( );
4003 }
4004
4005 /** Pushes the new state onto the stack. The new state becomes
4006 * the current state. This function will allocate the stack
4007 * if necessary.
4008 * @param new_buffer The new state.
4009 *
4010 */
4011 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4012 {
4013 if (new_buffer == NULL)
4014 return;
4015
4016 yyensure_buffer_stack();
4017
4018 /* This block is copied from yy_switch_to_buffer. */
4019 if ( YY_CURRENT_BUFFER )
4020 {
4021 /* Flush out information for old buffer. */
4022 *(yy_c_buf_p) = (yy_hold_char);
4023 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4024 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4025 }
4026
4027 /* Only push if top exists. Otherwise, replace top. */
4028 if (YY_CURRENT_BUFFER)
4029 (yy_buffer_stack_top)++;
4030 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4031
4032 /* copied from yy_switch_to_buffer. */
4033 yy_load_buffer_state( );
4034 (yy_did_buffer_switch_on_eof) = 1;
4035 }
4036
4037 /** Removes and deletes the top of the stack, if present.
4038 * The next element becomes the new top.
4039 *
4040 */
4041 void yypop_buffer_state (void)
4042 {
4043 if (!YY_CURRENT_BUFFER)
4044 return;
4045
4046 yy_delete_buffer(YY_CURRENT_BUFFER );
4047 YY_CURRENT_BUFFER_LVALUE = NULL;
4048 if ((yy_buffer_stack_top) > 0)
4049 --(yy_buffer_stack_top);
4050
4051 if (YY_CURRENT_BUFFER) {
4052 yy_load_buffer_state( );
4053 (yy_did_buffer_switch_on_eof) = 1;
4054 }
4055 }
4056
4057 /* Allocates the stack if it does not exist.
4058 * Guarantees space for at least one push.
4059 */
4060 static void yyensure_buffer_stack (void)
4061 {
4062 yy_size_t num_to_alloc;
4063
4064 if (!(yy_buffer_stack)) {
4065
4066 /* First allocation is just for 2 elements, since we don't know if this
4067 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4068 * immediate realloc on the next call.
4069 */
4070 num_to_alloc = 1;
4071 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4072 (num_to_alloc * sizeof(struct yy_buffer_state*)
4073 );
4074 if ( ! (yy_buffer_stack) )
4075 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4076
4077 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4078
4079 (yy_buffer_stack_max) = num_to_alloc;
4080 (yy_buffer_stack_top) = 0;
4081 return;
4082 }
4083
4084 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4085
4086 /* Increase the buffer to prepare for a possible push. */
4087 int grow_size = 8 /* arbitrary grow size */;
4088
4089 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4090 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4091 ((yy_buffer_stack),
4092 num_to_alloc * sizeof(struct yy_buffer_state*)
4093 );
4094 if ( ! (yy_buffer_stack) )
4095 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4096
4097 /* zero only the new slots.*/
4098 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4099 (yy_buffer_stack_max) = num_to_alloc;
4100 }
4101 }
4102
4103 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4104 * @param base the character buffer
4105 * @param size the size in bytes of the character buffer
4106 *
4107 * @return the newly allocated buffer state object.
4108 */
4109 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
4110 {
4111 YY_BUFFER_STATE b;
4112
4113 if ( size < 2 ||
4114 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4115 base[size-1] != YY_END_OF_BUFFER_CHAR )
4116 /* They forgot to leave room for the EOB's. */
4117 return 0;
4118
4119 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
4120 if ( ! b )
4121 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4122
4123 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4124 b->yy_buf_pos = b->yy_ch_buf = base;
4125 b->yy_is_our_buffer = 0;
4126 b->yy_input_file = 0;
4127 b->yy_n_chars = b->yy_buf_size;
4128 b->yy_is_interactive = 0;
4129 b->yy_at_bol = 1;
4130 b->yy_fill_buffer = 0;
4131 b->yy_buffer_status = YY_BUFFER_NEW;
4132
4133 yy_switch_to_buffer(b );
4134
4135 return b;
4136 }
4137
4138 /** Setup the input buffer state to scan a string. The next call to yylex() will
4139 * scan from a @e copy of @a str.
4140 * @param yystr a NUL-terminated string to scan
4141 *
4142 * @return the newly allocated buffer state object.
4143 * @note If you want to scan bytes that may contain NUL values, then use
4144 * yy_scan_bytes() instead.
4145 */
4146 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
4147 {
4148
4149 return yy_scan_bytes(yystr,strlen(yystr) );
4150 }
4151
4152 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4153 * scan from a @e copy of @a bytes.
4154 * @param yybytes the byte buffer to scan
4155 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4156 *
4157 * @return the newly allocated buffer state object.
4158 */
4159 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
4160 {
4161 YY_BUFFER_STATE b;
4162 char *buf;
4163 yy_size_t n;
4164 int i;
4165
4166 /* Get memory for full buffer, including space for trailing EOB's. */
4167 n = _yybytes_len + 2;
4168 buf = (char *) yyalloc(n );
4169 if ( ! buf )
4170 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4171
4172 for ( i = 0; i < _yybytes_len; ++i )
4173 buf[i] = yybytes[i];
4174
4175 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4176
4177 b = yy_scan_buffer(buf,n );
4178 if ( ! b )
4179 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4180
4181 /* It's okay to grow etc. this buffer, and we should throw it
4182 * away when we're done.
4183 */
4184 b->yy_is_our_buffer = 1;
4185
4186 return b;
4187 }
4188
4189 #ifndef YY_EXIT_FAILURE
4190 #define YY_EXIT_FAILURE 2
4191 #endif
4192
4193 static void yy_fatal_error (yyconst char* msg )
4194 {
4195 (void) fprintf( stderr, "%s\n", msg );
4196 exit( YY_EXIT_FAILURE );
4197 }
4198
4199 /* Redefine yyless() so it works in section 3 code. */
4200
4201 #undef yyless
4202 #define yyless(n) \
4203 do \
4204 { \
4205 /* Undo effects of setting up yytext. */ \
4206 int yyless_macro_arg = (n); \
4207 YY_LESS_LINENO(yyless_macro_arg);\
4208 yytext[yyleng] = (yy_hold_char); \
4209 (yy_c_buf_p) = yytext + yyless_macro_arg; \
4210 (yy_hold_char) = *(yy_c_buf_p); \
4211 *(yy_c_buf_p) = '\0'; \
4212 yyleng = yyless_macro_arg; \
4213 } \
4214 while ( 0 )
4215
4216 /* Accessor methods (get/set functions) to struct members. */
4217
4218 /** Get the current line number.
4219 *
4220 */
4221 int yyget_lineno (void)
4222 {
4223
4224 return yylineno;
4225 }
4226
4227 /** Get the input stream.
4228 *
4229 */
4230 FILE *yyget_in (void)
4231 {
4232 return yyin;
4233 }
4234
4235 /** Get the output stream.
4236 *
4237 */
4238 FILE *yyget_out (void)
4239 {
4240 return yyout;
4241 }
4242
4243 /** Get the length of the current token.
4244 *
4245 */
4246 yy_size_t yyget_leng (void)
4247 {
4248 return yyleng;
4249 }
4250
4251 /** Get the current token.
4252 *
4253 */
4254
4255 char *yyget_text (void)
4256 {
4257 return yytext;
4258 }
4259
4260 /** Set the current line number.
4261 * @param line_number
4262 *
4263 */
4264 void yyset_lineno (int line_number )
4265 {
4266
4267 yylineno = line_number;
4268 }
4269
4270 /** Set the input stream. This does not discard the current
4271 * input buffer.
4272 * @param in_str A readable stream.
4273 *
4274 * @see yy_switch_to_buffer
4275 */
4276 void yyset_in (FILE * in_str )
4277 {
4278 yyin = in_str ;
4279 }
4280
4281 void yyset_out (FILE * out_str )
4282 {
4283 yyout = out_str ;
4284 }
4285
4286 int yyget_debug (void)
4287 {
4288 return yy_flex_debug;
4289 }
4290
4291 void yyset_debug (int bdebug )
4292 {
4293 yy_flex_debug = bdebug ;
4294 }
4295
4296 static int yy_init_globals (void)
4297 {
4298 /* Initialization is the same as for the non-reentrant scanner.
4299 * This function is called from yylex_destroy(), so don't allocate here.
4300 */
4301
4302 (yy_buffer_stack) = 0;
4303 (yy_buffer_stack_top) = 0;
4304 (yy_buffer_stack_max) = 0;
4305 (yy_c_buf_p) = (char *) 0;
4306 (yy_init) = 0;
4307 (yy_start) = 0;
4308
4309 /* Defined in main.c */
4310 #ifdef YY_STDINIT
4311 yyin = stdin;
4312 yyout = stdout;
4313 #else
4314 yyin = (FILE *) 0;
4315 yyout = (FILE *) 0;
4316 #endif
4317
4318 /* For future reference: Set errno on error, since we are called by
4319 * yylex_init()
4320 */
4321 return 0;
4322 }
4323
4324 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4325 int yylex_destroy (void)
4326 {
4327
4328 /* Pop the buffer stack, destroying each element. */
4329 while(YY_CURRENT_BUFFER){
4330 yy_delete_buffer(YY_CURRENT_BUFFER );
4331 YY_CURRENT_BUFFER_LVALUE = NULL;
4332 yypop_buffer_state();
4333 }
4334
4335 /* Destroy the stack itself. */
4336 yyfree((yy_buffer_stack) );
4337 (yy_buffer_stack) = NULL;
4338
4339 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4340 * yylex() is called, initialization will occur. */
4341 yy_init_globals( );
4342
4343 return 0;
4344 }
4345
4346 /*
4347 * Internal utility routines.
4348 */
4349
4350 #ifndef yytext_ptr
4351 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4352 {
4353 register int i;
4354 for ( i = 0; i < n; ++i )
4355 s1[i] = s2[i];
4356 }
4357 #endif
4358
4359 #ifdef YY_NEED_STRLEN
4360 static int yy_flex_strlen (yyconst char * s )
4361 {
4362 register int n;
4363 for ( n = 0; s[n]; ++n )
4364 ;
4365
4366 return n;
4367 }
4368 #endif
4369
4370 void *yyalloc (yy_size_t size )
4371 {
4372 return (void *) malloc( size );
4373 }
4374
4375 void *yyrealloc (void * ptr, yy_size_t size )
4376 {
4377 /* The cast to (char *) in the following accommodates both
4378 * implementations that use char* generic pointers, and those
4379 * that use void* generic pointers. It works with the latter
4380 * because both ANSI C and C++ allow castless assignment from
4381 * any pointer type to void*, and deal with argument conversions
4382 * as though doing an assignment.
4383 */
4384 return (void *) realloc( (char *) ptr, size );
4385 }
4386
4387 void yyfree (void * ptr )
4388 {
4389 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4390 }
4391
4392 #define YYTABLES_NAME "yytables"
4393
4394 #line 403 "conf_lexer.l"
4395
4396
4397
4398 /* C-comment ignoring routine -kre*/
4399 static void
4400 ccomment(void)
4401 {
4402 int c = 0;
4403
4404 /* log(L_NOTICE, "got comment"); */
4405 while (1)
4406 {
4407 while ((c = input()) != '*' && c != EOF)
4408 if (c == '\n')
4409 ++lineno;
4410
4411 if (c == '*')
4412 {
4413 while ((c = input()) == '*')
4414 /* Nothing */ ;
4415 if (c == '/')
4416 break;
4417 else if (c == '\n')
4418 ++lineno;
4419 }
4420
4421 if (c == EOF)
4422 {
4423 YY_FATAL_ERROR("EOF in comment");
4424 /* XXX hack alert this disables
4425 * the stupid unused function warning
4426 * gcc generates
4427 */
4428 if (1 == 0)
4429 yy_fatal_error("EOF in comment");
4430 break;
4431 }
4432 }
4433 }
4434
4435 /* C-style .includes. This function will properly swap input conf buffers,
4436 * and lineno -kre */
4437 static void
4438 cinclude(void)
4439 {
4440 char *p = NULL;
4441
4442 if ((p = strchr(yytext, '<')) == NULL)
4443 *strchr(p = strchr(yytext, '"') + 1, '"') = '\0';
4444 else
4445 *strchr(++p, '>') = '\0';
4446
4447 /* log(L_NOTICE, "got include %s!", c); */
4448
4449 /* do stacking and co. */
4450 if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
4451 ilog(LOG_TYPE_IRCD, "Includes nested too deep in %s", p);
4452 else
4453 {
4454 FILE *tmp_fbfile_in = NULL;
4455 char filenamebuf[IRCD_BUFSIZE];
4456
4457 if (*p == '/') /* if it is an absolute path */
4458 snprintf(filenamebuf, sizeof(filenamebuf), "%s", p);
4459 else
4460 snprintf(filenamebuf, sizeof(filenamebuf), "%s/%s", ETCPATH, p);
4461
4462 tmp_fbfile_in = fopen(filenamebuf, "r");
4463
4464 if (tmp_fbfile_in == NULL)
4465 {
4466 ilog(LOG_TYPE_IRCD, "Unable to read configuration file '%s': %s",
4467 filenamebuf, strerror(errno));
4468 return;
4469 }
4470
4471 lineno_stack[include_stack_ptr] = lineno;
4472 lineno = 1;
4473 inc_fbfile_in[include_stack_ptr] = conf_parser_ctx.conf_file;
4474 strlcpy(conffile_stack[include_stack_ptr], conffilebuf, IRCD_BUFSIZE);
4475 include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
4476 conf_parser_ctx.conf_file = tmp_fbfile_in;
4477 snprintf(conffilebuf, sizeof(conffilebuf), "%s", filenamebuf);
4478 yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
4479 }
4480 }
4481
4482 /* This is function that will be called on EOF in conf file. It will
4483 * apropriately close conf if it not main conf and swap input buffers -kre
4484 * */
4485 static int
4486 ieof(void)
4487 {
4488 /* log(L_NOTICE, "return from include stack!"); */
4489 if (include_stack_ptr)
4490 fclose(conf_parser_ctx.conf_file);
4491 if (--include_stack_ptr < 0)
4492 {
4493 /* log(L_NOTICE, "terminating lexer"); */
4494 /* We will now exit the lexer - restore init values if we get /rehash
4495 * later and reenter lexer -kre */
4496 include_stack_ptr = 0;
4497 lineno = 1;
4498 return 1;
4499 }
4500
4501 /* switch buffer */
4502 /* log(L_NOTICE, "deleting include_stack_ptr=%d", include_stack_ptr); */
4503 yy_delete_buffer(YY_CURRENT_BUFFER);
4504 lineno = lineno_stack[include_stack_ptr];
4505 conf_parser_ctx.conf_file = inc_fbfile_in[include_stack_ptr];
4506 strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf));
4507 yy_switch_to_buffer(include_stack[include_stack_ptr]);
4508
4509 return 0;
4510 }
4511

Properties

Name Value
svn:eol-style native