Crossfire Server, Trunk
loader.cpp
Go to the documentation of this file.
1 #line 2 "loader.cpp"
2 
3 #line 4 "loader.cpp"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define FLEX_SCANNER
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 6
12 #define YY_FLEX_SUBMINOR_VERSION 4
13 #if YY_FLEX_SUBMINOR_VERSION > 0
14 #define FLEX_BETA
15 #endif
16 
17 /* First, we deal with platform-specific or compiler-specific issues. */
18 
19 /* begin standard C headers. */
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24 
25 /* end standard C headers. */
26 
27 /* flex integer type definitions */
28 
29 #ifndef FLEXINT_H
30 #define FLEXINT_H
31 
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 
34 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35 
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37  * if you want the limit (max/min) macros for int types.
38  */
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
41 #endif
42 
43 #include <inttypes.h>
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
50 #else
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t;
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
57 
58 /* Limits of integral types. */
59 #ifndef INT8_MIN
60 #define INT8_MIN (-128)
61 #endif
62 #ifndef INT16_MIN
63 #define INT16_MIN (-32767-1)
64 #endif
65 #ifndef INT32_MIN
66 #define INT32_MIN (-2147483647-1)
67 #endif
68 #ifndef INT8_MAX
69 #define INT8_MAX (127)
70 #endif
71 #ifndef INT16_MAX
72 #define INT16_MAX (32767)
73 #endif
74 #ifndef INT32_MAX
75 #define INT32_MAX (2147483647)
76 #endif
77 #ifndef UINT8_MAX
78 #define UINT8_MAX (255U)
79 #endif
80 #ifndef UINT16_MAX
81 #define UINT16_MAX (65535U)
82 #endif
83 #ifndef UINT32_MAX
84 #define UINT32_MAX (4294967295U)
85 #endif
86 
87 #ifndef SIZE_MAX
88 #define SIZE_MAX (~(size_t)0)
89 #endif
90 
91 #endif /* ! C99 */
92 
93 #endif /* ! FLEXINT_H */
94 
95 /* begin standard C++ headers. */
96 
97 /* TODO: this is always defined, so inline it */
98 #define yyconst const
99 
100 #if defined(__GNUC__) && __GNUC__ >= 3
101 #define yynoreturn __attribute__((__noreturn__))
102 #else
103 #define yynoreturn
104 #endif
105 
106 /* Returned upon end-of-file. */
107 #define YY_NULL 0
108 
109 /* Promotes a possibly negative, possibly signed char to an
110  * integer in range [0..255] for use as an array index.
111  */
112 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
113 
114 /* Enter a start condition. This macro really ought to take a parameter,
115  * but we do it the disgusting crufty way forced on us by the ()-less
116  * definition of BEGIN.
117  */
118 #define BEGIN (yy_start) = 1 + 2 *
119 /* Translate the current start state into a value that can be later handed
120  * to BEGIN to return to the state. The YYSTATE alias is for lex
121  * compatibility.
122  */
123 #define YY_START (((yy_start) - 1) / 2)
124 #define YYSTATE YY_START
125 /* Action number for EOF rule of a given start state. */
126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
127 /* Special action meaning "start processing a new file". */
128 #define YY_NEW_FILE yyrestart( yyin )
129 #define YY_END_OF_BUFFER_CHAR 0
130 
131 /* Size of default input buffer. */
132 #ifndef YY_BUF_SIZE
133 #ifdef __ia64__
134 /* On IA-64, the buffer size is 16k, not 8k.
135  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
136  * Ditto for the __ia64__ case accordingly.
137  */
138 #define YY_BUF_SIZE 32768
139 #else
140 #define YY_BUF_SIZE 16384
141 #endif /* __ia64__ */
142 #endif
143 
144 /* The state buf must be large enough to hold one state per character in the main buffer.
145  */
146 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
147 
148 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
149 #define YY_TYPEDEF_YY_BUFFER_STATE
151 #endif
152 
153 #ifndef YY_TYPEDEF_YY_SIZE_T
154 #define YY_TYPEDEF_YY_SIZE_T
155 typedef size_t yy_size_t;
156 #endif
157 
158 extern int yyleng;
159 
160 extern FILE *yyin, *yyout;
161 
162 #define EOB_ACT_CONTINUE_SCAN 0
163 #define EOB_ACT_END_OF_FILE 1
164 #define EOB_ACT_LAST_MATCH 2
165 
166  #define YY_LESS_LINENO(n)
167  #define YY_LINENO_REWIND_TO(ptr)
168 
169 /* Return all but the first "n" matched characters back to the input stream. */
170 #define yyless(n) \
171  do \
172  { \
173  /* Undo effects of setting up yytext. */ \
174  int yyless_macro_arg = (n); \
175  YY_LESS_LINENO(yyless_macro_arg);\
176  *yy_cp = (yy_hold_char); \
177  YY_RESTORE_YY_MORE_OFFSET \
178  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
179  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
180  } \
181  while ( 0 )
182 #define unput(c) yyunput( c, (yytext_ptr) )
183 
184 #ifndef YY_STRUCT_YY_BUFFER_STATE
185 #define YY_STRUCT_YY_BUFFER_STATE
186 struct yy_buffer_state
187  {
188  FILE *yy_input_file;
189 
190  char *yy_ch_buf; /* input buffer */
191  char *yy_buf_pos; /* current position in input buffer */
192 
193  /* Size of input buffer in bytes, not including room for EOB
194  * characters.
195  */
196  int yy_buf_size;
197 
198  /* Number of characters read into yy_ch_buf, not including EOB
199  * characters.
200  */
201  int yy_n_chars;
202 
203  /* Whether we "own" the buffer - i.e., we know we created it,
204  * and can realloc() it to grow it, and should free() it to
205  * delete it.
206  */
207  int yy_is_our_buffer;
208 
209  /* Whether this is an "interactive" input source; if so, and
210  * if we're using stdio for input, then we want to use getc()
211  * instead of fread(), to make sure we stop fetching input after
212  * each newline.
213  */
214  int yy_is_interactive;
215 
216  /* Whether we're considered to be at the beginning of a line.
217  * If so, '^' rules will be active on the next match, otherwise
218  * not.
219  */
220  int yy_at_bol;
221 
222  int yy_bs_lineno;
223  int yy_bs_column;
225  /* Whether to try to fill the input buffer when we reach the
226  * end of it.
227  */
228  int yy_fill_buffer;
229 
230  int yy_buffer_status;
231 
232 #define YY_BUFFER_NEW 0
233 #define YY_BUFFER_NORMAL 1
234  /* When an EOF's been seen but there's still some text to process
235  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
236  * shouldn't try reading from the input source any more. We might
237  * still have a bunch of tokens to match, though, because of
238  * possible backing-up.
239  *
240  * When we actually see the EOF, we change the status to "new"
241  * (via yyrestart()), so that the user can continue scanning by
242  * just pointing yyin at a new input file.
243  */
244 #define YY_BUFFER_EOF_PENDING 2
245 
246  };
247 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
248 
249 /* Stack of input buffers. */
250 static size_t yy_buffer_stack_top = 0;
251 static size_t yy_buffer_stack_max = 0;
254 /* We provide macros for accessing buffer states in case in the
255  * future we want to put the buffer states in a more general
256  * "scanner state".
257  *
258  * Returns the top of the stack, or NULL.
259  */
260 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
261  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
262  : NULL)
263 /* Same as previous macro, but useful when we know that the buffer stack is not
264  * NULL or when we need an lvalue. For internal use only.
265  */
266 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
267 
268 /* yy_hold_char holds the character lost when yytext is formed. */
269 static char yy_hold_char;
270 static int yy_n_chars; /* number of characters read into yy_ch_buf */
271 int yyleng;
272 
273 /* Points to current character in buffer. */
274 static char *yy_c_buf_p = NULL;
275 static int yy_init = 0; /* whether we need to initialize */
276 static int yy_start = 0; /* start state number */
277 
278 /* Flag which is used to allow yywrap()'s to do buffer switches
279  * instead of setting up a fresh yyin. A bit of a hack ...
280  */
282 
283 void yyrestart ( FILE *input_file );
284 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
285 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
288 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
289 void yypop_buffer_state ( void );
290 
291 static void yyensure_buffer_stack ( void );
292 static void yy_load_buffer_state ( void );
293 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
294 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
295 
296 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
297 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
298 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
299 
300 void *yyalloc ( yy_size_t );
301 void *yyrealloc ( void *, yy_size_t );
302 void yyfree ( void * );
303 
304 #define yy_new_buffer yy_create_buffer
305 #define yy_set_interactive(is_interactive) \
306  { \
307  if ( ! YY_CURRENT_BUFFER ){ \
308  yyensure_buffer_stack (); \
309  YY_CURRENT_BUFFER_LVALUE = \
310  yy_create_buffer( yyin, YY_BUF_SIZE ); \
311  } \
312  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
313  }
314 #define yy_set_bol(at_bol) \
315  { \
316  if ( ! YY_CURRENT_BUFFER ){\
317  yyensure_buffer_stack (); \
318  YY_CURRENT_BUFFER_LVALUE = \
319  yy_create_buffer( yyin, YY_BUF_SIZE ); \
320  } \
321  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
322  }
323 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
324 
325 /* Begin user sect3 */
326 
327 #define yywrap() (/*CONSTCOND*/1)
328 #define YY_SKIP_YYWRAP
330 
331 FILE *yyin = NULL, *yyout = NULL;
332 
333 typedef int yy_state_type;
334 
335 extern int yylineno;
336 int yylineno = 1;
337 
338 extern char *yytext;
339 #ifdef yytext_ptr
340 #undef yytext_ptr
341 #endif
342 #define yytext_ptr yytext
343 
344 static yy_state_type yy_get_previous_state ( void );
345 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
346 static int yy_get_next_buffer ( void );
347 static void yynoreturn yy_fatal_error ( const char* msg );
348 
349 /* Done after the current pattern has been matched and before the
350  * corresponding action - sets up yytext.
351  */
352 #define YY_DO_BEFORE_ACTION \
353  (yytext_ptr) = yy_bp; \
354  yyleng = (int) (yy_cp - yy_bp); \
355  (yy_hold_char) = *yy_cp; \
356  *yy_cp = '\0'; \
357  (yy_c_buf_p) = yy_cp;
358 #define YY_NUM_RULES 223
359 #define YY_END_OF_BUFFER 224
360 /* This struct is not used in this scanner,
361  but its presence is necessary. */
362 struct yy_trans_info
363  {
366  };
367 static const flex_int16_t yy_accept[2020] =
368  { 0,
369  222, 222, 3, 3, 6, 6, 0, 0, 224, 222,
370  220, 222, 222, 222, 222, 222, 222, 222, 222, 222,
371  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
372  222, 222, 222, 222, 222, 222, 3, 3, 3, 6,
373  6, 6, 223, 223, 222, 222, 221, 222, 220, 222,
374  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
375  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
376  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
377  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
378  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
379 
380  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
381  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
382  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
383  222, 222, 3, 3, 3, 3, 6, 6, 6, 6,
384  0, 220, 222, 222, 222, 222, 222, 222, 222, 222,
385  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
386  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
387  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
388  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
389  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
390 
391  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
392  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
393  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
394  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
395  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
396  222, 51, 51, 222, 52, 52, 3, 6, 50, 50,
397  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
398  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
399  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
400  222, 222, 19, 222, 222, 222, 222, 222, 222, 222,
401 
402  222, 222, 222, 222, 38, 38, 222, 222, 222, 222,
403  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
404  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
405  222, 222, 222, 222, 222, 222, 222, 1, 222, 222,
406  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
407  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
408  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
409  222, 40, 40, 222, 222, 222, 222, 222, 222, 222,
410  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
411  222, 222, 222, 49, 49, 222, 222, 222, 222, 222,
412 
413  222, 3, 6, 222, 222, 222, 222, 222, 222, 222,
414  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
415  222, 222, 222, 35, 35, 222, 222, 33, 33, 222,
416  222, 222, 222, 48, 48, 222, 222, 32, 32, 222,
417  222, 222, 44, 44, 222, 222, 222, 222, 222, 222,
418  222, 222, 222, 222, 222, 36, 36, 222, 222, 222,
419  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
420  222, 222, 222, 222, 222, 222, 222, 4, 222, 222,
421  222, 222, 222, 222, 222, 222, 222, 222, 18, 222,
422  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
423 
424  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
425  222, 37, 37, 222, 222, 222, 222, 222, 222, 222,
426  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
427  222, 222, 222, 222, 31, 31, 222, 222, 222, 222,
428  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
429  222, 222, 34, 34, 113, 113, 222, 3, 6, 222,
430  222, 222, 222, 222, 14, 14, 222, 222, 222, 222,
431  222, 222, 222, 211, 222, 222, 222, 222, 222, 222,
432  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
433  222, 222, 30, 30, 47, 47, 222, 222, 222, 222,
434 
435  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
436  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
437  222, 222, 222, 222, 222, 222, 118, 118, 222, 222,
438  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
439  222, 8, 8, 222, 222, 222, 222, 222, 222, 222,
440  222, 222, 222, 222, 53, 53, 222, 222, 222, 222,
441  222, 222, 222, 222, 222, 222, 222, 12, 12, 222,
442  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
443  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
444  222, 222, 222, 222, 222, 222, 56, 56, 222, 222,
445 
446  222, 222, 222, 222, 222, 222, 222, 222, 222, 3,
447  6, 222, 70, 70, 222, 222, 222, 222, 222, 222,
448  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
449  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
450  222, 222, 222, 222, 222, 222, 222, 222, 42, 42,
451  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
452  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
453  222, 222, 222, 222, 222, 54, 54, 222, 68, 68,
454  222, 222, 222, 222, 39, 39, 41, 41, 222, 222,
455  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
456 
457  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
458  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
459  213, 213, 222, 222, 222, 222, 222, 222, 222, 11,
460  11, 222, 141, 141, 222, 222, 222, 222, 24, 24,
461  222, 222, 222, 222, 69, 69, 222, 222, 222, 29,
462  29, 222, 222, 222, 222, 222, 222, 222, 60, 60,
463  222, 222, 222, 222, 222, 137, 137, 3, 2, 6,
464  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
465  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
466  222, 222, 222, 222, 222, 177, 177, 178, 178, 222,
467 
468  222, 222, 222, 187, 187, 222, 222, 222, 222, 222,
469  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
470  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
471  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
472  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
473  222, 222, 222, 222, 222, 222, 222, 222, 7, 7,
474  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
475  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
476  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
477  222, 108, 108, 222, 222, 222, 222, 222, 222, 222,
478 
479  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
480  107, 107, 188, 188, 72, 72, 222, 222, 222, 222,
481  61, 61, 222, 6, 5, 222, 222, 222, 222, 71,
482  71, 222, 222, 222, 222, 222, 204, 204, 179, 179,
483  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
484  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
485  222, 222, 222, 222, 222, 222, 222, 103, 103, 222,
486  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
487  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
488  222, 21, 21, 222, 222, 222, 222, 222, 222, 84,
489 
490  84, 222, 222, 222, 80, 80, 222, 222, 222, 9,
491  9, 85, 85, 222, 222, 125, 125, 222, 222, 74,
492  74, 222, 222, 222, 203, 203, 222, 222, 222, 222,
493  222, 222, 222, 222, 120, 120, 222, 222, 222, 222,
494  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
495  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
496  222, 222, 222, 222, 222, 222, 222, 222, 13, 13,
497  222, 222, 222, 222, 222, 222, 222, 222, 175, 175,
498  57, 57, 222, 222, 222, 222, 222, 114, 114, 222,
499  222, 222, 222, 222, 222, 222, 15, 15, 222, 222,
500 
501  222, 222, 222, 222, 95, 95, 222, 222, 222, 222,
502  222, 222, 222, 222, 222, 62, 62, 222, 101, 101,
503  222, 222, 174, 174, 222, 222, 222, 222, 212, 212,
504  222, 222, 88, 88, 222, 222, 222, 222, 222, 222,
505  222, 222, 198, 198, 222, 222, 138, 138, 192, 192,
506  222, 222, 222, 222, 193, 193, 222, 222, 222, 222,
507  222, 23, 23, 222, 222, 139, 139, 222, 222, 58,
508  58, 222, 43, 43, 222, 222, 81, 81, 222, 222,
509  222, 222, 222, 222, 222, 112, 112, 222, 202, 202,
510  222, 222, 222, 222, 222, 222, 222, 222, 46, 46,
511 
512  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
513  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
514  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
515  222, 222, 119, 119, 222, 222, 222, 222, 222, 222,
516  222, 222, 222, 222, 222, 222, 93, 93, 222, 222,
517  222, 222, 222, 222, 17, 17, 222, 222, 222, 222,
518  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
519  222, 222, 222, 222, 222, 222, 176, 176, 124, 124,
520  222, 55, 55, 222, 222, 89, 89, 222, 222, 222,
521  222, 222, 222, 67, 67, 222, 222, 222, 222, 222,
522 
523  91, 91, 222, 222, 191, 191, 222, 222, 222, 222,
524  222, 20, 20, 222, 209, 209, 222, 222, 222, 82,
525  82, 222, 222, 79, 79, 86, 86, 87, 87, 222,
526  222, 222, 222, 222, 222, 219, 219, 222, 222, 222,
527  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
528  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
529  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
530  222, 222, 222, 222, 28, 28, 222, 222, 222, 222,
531  102, 102, 222, 222, 117, 117, 45, 45, 222, 222,
532  222, 222, 222, 222, 123, 123, 222, 63, 63, 222,
533 
534  92, 92, 222, 105, 105, 222, 222, 222, 222, 222,
535  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
536  222, 222, 222, 222, 222, 222, 222, 99, 99, 190,
537  190, 222, 222, 222, 222, 222, 98, 98, 121, 121,
538  222, 222, 222, 22, 22, 222, 222, 78, 78, 77,
539  77, 222, 173, 173, 222, 222, 222, 222, 16, 16,
540  222, 222, 222, 222, 222, 222, 222, 100, 100, 222,
541  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
542  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
543  222, 222, 222, 222, 222, 222, 222, 222, 222, 208,
544 
545  208, 222, 222, 25, 25, 222, 104, 104, 222, 222,
546  205, 205, 222, 126, 126, 222, 222, 10, 10, 222,
547  222, 222, 222, 222, 132, 132, 222, 222, 222, 222,
548  222, 222, 222, 222, 222, 210, 210, 222, 222, 222,
549  222, 197, 197, 222, 222, 222, 222, 73, 73, 222,
550  200, 200, 222, 97, 97, 222, 222, 222, 222, 222,
551  222, 222, 222, 140, 140, 143, 143, 222, 222, 66,
552  66, 222, 201, 201, 222, 222, 222, 222, 152, 152,
553  222, 222, 222, 150, 150, 222, 222, 222, 222, 222,
554  222, 222, 160, 160, 148, 148, 222, 222, 222, 222,
555 
556  222, 222, 222, 222, 222, 157, 157, 222, 222, 222,
557  222, 207, 207, 222, 142, 142, 222, 222, 222, 222,
558  222, 222, 222, 185, 185, 222, 222, 222, 222, 135,
559  135, 222, 222, 222, 222, 206, 206, 222, 222, 215,
560  215, 222, 222, 222, 222, 222, 222, 222, 217, 217,
561  116, 116, 222, 182, 182, 222, 222, 59, 59, 222,
562  222, 222, 222, 64, 64, 222, 222, 222, 222, 222,
563  168, 168, 222, 164, 164, 222, 222, 163, 163, 222,
564  222, 153, 153, 222, 222, 222, 222, 222, 222, 147,
565  147, 222, 222, 222, 222, 222, 180, 180, 222, 218,
566 
567  218, 109, 109, 222, 27, 27, 222, 222, 222, 222,
568  222, 222, 222, 131, 131, 222, 222, 184, 184, 222,
569  222, 222, 222, 106, 106, 122, 122, 136, 136, 222,
570  222, 222, 183, 183, 181, 181, 222, 222, 115, 115,
571  222, 96, 96, 65, 65, 222, 222, 222, 111, 111,
572  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
573  222, 222, 222, 156, 156, 222, 222, 94, 94, 222,
574  222, 222, 222, 222, 129, 129, 222, 133, 133, 130,
575  130, 128, 128, 134, 134, 222, 222, 222, 222, 222,
576  222, 189, 189, 222, 196, 196, 222, 214, 214, 222,
577 
578  222, 222, 222, 162, 162, 171, 171, 222, 222, 222,
579  222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
580  222, 172, 172, 199, 199, 222, 222, 222, 222, 194,
581  194, 222, 222, 127, 127, 110, 110, 222, 222, 222,
582  222, 155, 155, 166, 166, 167, 167, 169, 169, 222,
583  158, 158, 146, 146, 222, 222, 222, 222, 144, 144,
584  222, 222, 75, 75, 222, 186, 186, 195, 195, 222,
585  222, 151, 151, 222, 222, 222, 222, 222, 222, 222,
586  222, 222, 216, 216, 83, 83, 222, 222, 222, 222,
587  222, 222, 222, 26, 26, 222, 76, 76, 222, 222,
588 
589  149, 149, 222, 159, 159, 154, 154, 90, 90, 145,
590  145, 161, 161, 165, 165, 222, 170, 170, 0
591  } ;
592 
593 static const YY_CHAR yy_ec[256] =
594  { 0,
595  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
596  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
597  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
598  1, 2, 1, 1, 4, 5, 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, 6, 7, 8, 9, 10, 11,
602  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
603  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
604  1, 1, 1, 32, 33, 1, 34, 35, 36, 37,
605 
606  38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
607  48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
608  58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
609  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
610  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
611  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
612  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
613  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
614  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
615  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
616 
617  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
618  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
619  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
620  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
621  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
622  1, 1, 1, 1, 1
623  } ;
624 
625 static const YY_CHAR yy_meta[60] =
626  { 0,
627  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
628  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
629  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
630  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
631  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
632  1, 1, 1, 1, 1, 1, 1, 1, 1
633  } ;
634 
635 static const flex_int16_t yy_base[2342] =
636  { 0,
637  0, 32, 89, 90, 91, 92, 93, 94, 3678, 0,
638  3679, 3674, 0, 123, 89, 172, 129, 171, 113, 128,
639  180, 172, 82, 224, 187, 217, 229, 239, 178, 280,
640  325, 163, 98, 285, 118, 3674, 0, 4, 156, 0,
641  5, 186, 3679, 6, 0, 3672, 3679, 10, 0, 250,
642  227, 228, 222, 249, 236, 254, 299, 294, 271, 317,
643  277, 278, 291, 292, 312, 302, 321, 323, 333, 340,
644  330, 344, 333, 340, 337, 337, 354, 337, 337, 3672,
645  355, 367, 3640, 360, 351, 354, 359, 376, 368, 387,
646  412, 384, 385, 383, 376, 3639, 384, 393, 400, 399,
647 
648  406, 423, 398, 418, 399, 434, 423, 424, 444, 441,
649  443, 453, 438, 434, 480, 483, 457, 460, 442, 443,
650  462, 456, 493, 470, 466, 460, 3669, 509, 502, 3668,
651  497, 3667, 0, 11, 0, 495, 0, 12, 0, 500,
652  16, 3679, 3666, 496, 486, 498, 503, 509, 510, 522,
653  509, 517, 515, 516, 537, 516, 3634, 526, 528, 553,
654  548, 560, 535, 561, 3664, 550, 559, 544, 17, 564,
655  560, 566, 566, 568, 555, 576, 3632, 582, 3662, 571,
656  3661, 581, 618, 573, 564, 577, 595, 599, 611, 606,
657  613, 618, 3629, 622, 627, 610, 626, 628, 20, 631,
658 
659  617, 674, 634, 637, 3628, 618, 648, 638, 659, 664,
660  660, 665, 3658, 672, 675, 671, 676, 3626, 668, 3625,
661  677, 666, 687, 671, 680, 682, 3655, 692, 689, 713,
662  701, 3654, 689, 694, 704, 727, 728, 727, 727, 730,
663  719, 737, 3622, 718, 3621, 3651, 725, 735, 731, 3650,
664  3649, 0, 3648, 720, 0, 3647, 733, 735, 0, 3646,
665  726, 744, 750, 743, 3645, 747, 751, 3613, 3612, 753,
666  746, 757, 3611, 769, 758, 775, 3641, 778, 775, 3640,
667  770, 787, 793, 790, 3639, 792, 785, 3638, 796, 781,
668  787, 22, 3679, 3637, 782, 3636, 3635, 790, 787, 787,
669 
670  3603, 802, 790, 808, 0, 3633, 790, 3632, 795, 809,
671  810, 827, 827, 828, 832, 834, 836, 826, 845, 3600,
672  833, 3599, 838, 832, 24, 3629, 850, 3597, 842, 837,
673  840, 843, 845, 842, 26, 3596, 28, 3679, 261, 845,
674  844, 876, 856, 869, 871, 884, 3626, 881, 888, 3594,
675  879, 887, 888, 3593, 3592, 3591, 3621, 3620, 886, 897,
676  898, 887, 906, 904, 909, 899, 904, 898, 3588, 895,
677  912, 0, 3618, 913, 899, 916, 901, 921, 921, 3617,
678  911, 3585, 935, 938, 932, 3615, 945, 952, 934, 947,
679  954, 953, 936, 0, 3614, 945, 954, 3582, 3612, 3611,
680 
681  944, 946, 951, 966, 3610, 949, 951, 966, 3609, 971,
682  962, 973, 974, 958, 972, 963, 0, 988, 977, 991,
683  987, 998, 994, 0, 3608, 1000, 991, 0, 3607, 993,
684  1010, 1005, 1011, 0, 3606, 1012, 1003, 0, 3605, 999,
685  1012, 1004, 0, 3604, 1011, 3603, 3602, 1021, 1025, 1011,
686  1010, 3601, 1024, 1027, 1022, 0, 3600, 1023, 1018, 1029,
687  1036, 1039, 1031, 1047, 1051, 1057, 1047, 1049, 1063, 1049,
688  1055, 1055, 3568, 1067, 3598, 1076, 105, 3679, 3597, 3596,
689  1069, 1078, 1072, 1081, 3595, 3594, 1078, 108, 3679, 1114,
690  3593, 1068, 1084, 1069, 1081, 1089, 1084, 1111, 1116, 1111,
691 
692  1119, 3592, 1101, 1114, 1124, 3560, 1125, 1102, 1127, 1125,
693  1114, 0, 3590, 3589, 1125, 284, 1136, 1120, 1118, 1138,
694  1136, 1146, 3588, 1150, 3587, 1158, 1164, 3555, 1177, 1155,
695  3554, 1171, 3584, 1159, 0, 3583, 1164, 1177, 3582, 3550,
696  1161, 3580, 1165, 1180, 1180, 1182, 1172, 3579, 1180, 1176,
697  1171, 1192, 0, 3578, 0, 3577, 3576, 1187, 1177, 1176,
698  3575, 1188, 1185, 1194, 0, 3574, 1199, 1200, 1200, 1211,
699  1220, 1228, 1211, 0, 1216, 1224, 1232, 1233, 1225, 1233,
700  1227, 3542, 1237, 1223, 1231, 3572, 3571, 1242, 1238, 1234,
701  3539, 3569, 0, 3568, 0, 3567, 1238, 1231, 3535, 1251,
702 
703  3565, 1252, 1243, 1250, 1255, 1255, 1249, 1258, 1264, 1271,
704  1272, 1276, 1281, 1276, 1278, 1289, 1289, 1291, 1281, 1295,
705  1298, 1283, 1297, 1287, 3564, 1283, 0, 3563, 3562, 1292,
706  1282, 1308, 1307, 3561, 3560, 1294, 1301, 1302, 1333, 1331,
707  1293, 0, 3559, 1316, 1320, 1343, 1344, 1332, 3527, 1340,
708  1339, 1340, 1352, 1349, 0, 3557, 3556, 1335, 1337, 1357,
709  1334, 1335, 1342, 1358, 1359, 1341, 1350, 0, 3555, 1360,
710  3554, 1355, 1350, 3522, 1373, 3552, 1359, 1373, 3551, 1392,
711  3550, 1385, 1395, 1400, 3549, 1392, 1396, 1387, 1391, 3548,
712  1401, 1405, 1396, 3547, 1408, 1396, 0, 3546, 1410, 3545,
713 
714  3544, 3543, 1402, 3542, 1391, 1398, 3541, 1403, 3540, 110,
715  1415, 1416, 0, 3539, 1407, 1419, 1419, 3538, 1410, 1415,
716  1438, 1438, 1439, 3537, 3536, 1447, 1437, 1447, 3504, 3503,
717  1453, 3502, 1454, 1461, 1459, 1459, 1460, 3532, 3531, 1457,
718  1452, 1455, 1464, 3530, 1446, 1457, 1472, 1470, 0, 3529,
719  1471, 3528, 1467, 1465, 1467, 1479, 1482, 1492, 1503, 1492,
720  1486, 1492, 1490, 1514, 3496, 1498, 1512, 1495, 1507, 1499,
721  1520, 1502, 1522, 1524, 3526, 0, 3525, 1521, 0, 3524,
722  1505, 1523, 1517, 1525, 0, 3523, 0, 3522, 3521, 1519,
723  1517, 1527, 3520, 1519, 1535, 1521, 3519, 3518, 1539, 1545,
724 
725  3517, 1547, 1563, 3516, 1555, 1556, 1555, 3515, 3514, 1551,
726  1554, 3482, 1568, 1554, 1561, 1560, 1561, 3512, 1558, 1566,
727  0, 3511, 1566, 1580, 1622, 1557, 3510, 1560, 1575, 0,
728  3509, 3508, 0, 3507, 1563, 1585, 1582, 1580, 0, 3506,
729  1587, 1663, 1658, 1658, 0, 3505, 3504, 3503, 1657, 0,
730  3502, 1657, 1677, 1664, 3501, 3500, 3499, 1664, 0, 3498,
731  3497, 1660, 1667, 3496, 1671, 0, 3495, 112, 3679, 114,
732  3463, 1674, 1684, 1684, 3493, 3492, 1675, 1677, 1681, 1682,
733  3491, 3490, 1690, 3458, 3488, 1687, 1724, 3487, 1679, 3486,
734  1686, 1676, 3485, 1698, 1685, 0, 3484, 0, 3483, 1698,
735 
736  1719, 1737, 1720, 0, 3482, 3481, 1718, 1720, 1730, 1715,
737  3480, 1736, 1739, 1740, 1726, 3479, 1747, 1731, 3478, 3477,
738  1749, 1737, 1750, 1734, 3476, 1752, 1752, 1753, 1741, 1753,
739  3475, 1759, 1769, 3474, 3473, 1773, 1771, 1794, 3472, 3471,
740  1777, 1790, 3470, 3469, 1771, 1775, 1791, 3468, 3467, 1786,
741  1793, 3466, 1787, 3465, 3464, 3432, 3462, 1793, 0, 3461,
742  3460, 1800, 1799, 1797, 1800, 1784, 1797, 1802, 3459, 3458,
743  1806, 1797, 1809, 1800, 1824, 1813, 1806, 1837, 1842, 1836,
744  1844, 1842, 1839, 1841, 1847, 1857, 1886, 1849, 1841, 1858,
745  3457, 0, 3456, 1856, 1848, 3455, 1863, 1866, 1848, 1871,
746 
747  1868, 1886, 1890, 1894, 3454, 3453, 1890, 1889, 3452, 1887,
748  0, 3451, 0, 3450, 0, 3449, 1902, 3448, 1892, 1893,
749  0, 3447, 1898, 150, 3679, 1896, 3446, 1908, 1904, 0,
750  3445, 3444, 1909, 1894, 1892, 1909, 0, 3443, 0, 3442,
751  1896, 1901, 3441, 1909, 1906, 1910, 1948, 1947, 1921, 3440,
752  1919, 3439, 1934, 1943, 3438, 3437, 3436, 1951, 3435, 3434,
753  1948, 1950, 3433, 3432, 1950, 1943, 3400, 0, 3430, 1961,
754  3429, 1962, 1962, 3428, 1966, 1954, 3427, 3426, 1968, 3425,
755  1960, 1957, 3424, 3423, 1956, 1956, 1957, 1970, 3422, 1975,
756  3421, 0, 3420, 3419, 1962, 3418, 3417, 1981, 3416, 0,
757 
758  3415, 1961, 1988, 3414, 0, 3413, 2008, 2001, 3412, 0,
759  3411, 0, 3410, 3409, 3408, 0, 3407, 2010, 3406, 0,
760  3405, 2004, 3404, 1994, 0, 3403, 2012, 2008, 2005, 3402,
761  2004, 2014, 2008, 3401, 0, 3400, 2008, 2000, 2014, 2017,
762  2016, 2010, 2019, 2020, 2016, 2030, 2048, 2039, 2014, 2034,
763  2032, 2037, 2046, 2052, 2066, 2059, 2052, 2067, 2067, 2057,
764  2051, 2068, 2063, 2061, 2079, 3399, 2076, 2073, 0, 3398,
765  3397, 2079, 2080, 2072, 2067, 3396, 2077, 2075, 0, 3395,
766  0, 3394, 3393, 3392, 3391, 2084, 2080, 0, 3390, 2091,
767  2106, 2091, 2104, 3389, 3388, 2096, 0, 3387, 3386, 2118,
768 
769  3385, 2120, 3384, 2110, 0, 3383, 3351, 2114, 2105, 2115,
770  2116, 2113, 2123, 2124, 2133, 0, 3381, 2122, 0, 3380,
771  2123, 2132, 0, 3379, 3378, 3377, 2133, 3376, 0, 3375,
772  2125, 2137, 0, 3374, 3373, 2127, 2124, 2165, 3372, 3371,
773  3370, 2141, 0, 3369, 2135, 2135, 0, 3368, 0, 3367,
774  2138, 3366, 2147, 3365, 0, 3364, 3363, 3362, 2153, 2169,
775  2173, 0, 3361, 3360, 3359, 0, 3358, 2170, 3357, 0,
776  3356, 2168, 0, 3355, 3354, 3353, 0, 3352, 3351, 2166,
777  3350, 3349, 3348, 3347, 2158, 0, 3346, 2181, 0, 3345,
778  2178, 2176, 3344, 2174, 3343, 2185, 2187, 2180, 0, 3342,
779 
780  2174, 2189, 2190, 3341, 2178, 2193, 2195, 2187, 2200, 2190,
781  2202, 2202, 2209, 2208, 2218, 2227, 2226, 2234, 2220, 2234,
782  2221, 2225, 2217, 2238, 2239, 2236, 2245, 2228, 2229, 2226,
783  2236, 2236, 0, 3340, 2235, 2252, 3339, 3338, 2243, 2254,
784  3337, 3336, 2247, 3335, 3334, 3333, 0, 3332, 2239, 2242,
785  3331, 2259, 3330, 3298, 0, 3328, 3327, 3326, 3325, 2266,
786  3324, 2280, 3323, 2281, 2284, 2276, 3322, 2286, 2287, 2280,
787  2291, 2285, 2282, 2294, 3290, 3320, 0, 3319, 0, 3318,
788  2282, 0, 3317, 2297, 2297, 0, 3316, 2282, 3315, 2289,
789  2302, 2301, 3314, 0, 3313, 3312, 3311, 2303, 3310, 2304,
790 
791  0, 3309, 3308, 3307, 0, 3306, 3305, 2305, 2307, 2314,
792  3304, 0, 3303, 2315, 0, 3302, 2313, 3301, 3300, 0,
793  3299, 2315, 3298, 0, 3297, 0, 3296, 0, 3295, 2330,
794  2335, 3294, 3293, 3292, 2327, 0, 3291, 2340, 3290, 2342,
795  3289, 2336, 2341, 3288, 2332, 2340, 3287, 2349, 2349, 2336,
796  3286, 2335, 2337, 2350, 2354, 2359, 2347, 2342, 3285, 3284,
797  2344, 2350, 2343, 2349, 3252, 2366, 2359, 2364, 2359, 3282,
798  3250, 2361, 2386, 2384, 0, 3280, 3279, 3278, 2393, 3277,
799  0, 3276, 3275, 3274, 0, 3273, 0, 3272, 2395, 3240,
800  3270, 2399, 3269, 2389, 0, 3268, 3267, 0, 3266, 2401,
801 
802  0, 3265, 3264, 0, 3263, 2396, 2408, 2389, 3262, 2406,
803  3261, 2400, 2401, 2402, 2400, 3260, 2398, 3259, 3258, 2409,
804  2402, 2403, 3257, 2399, 2405, 2416, 2426, 0, 3256, 0,
805  3255, 3254, 3253, 3252, 3251, 3250, 0, 3249, 0, 3248,
806  2425, 3247, 2418, 0, 3246, 2420, 3245, 0, 3244, 0,
807  3243, 2433, 0, 3242, 2434, 2440, 3241, 3240, 0, 3239,
808  2438, 3238, 3237, 2455, 3236, 2456, 2457, 0, 3235, 2454,
809  2452, 3234, 3233, 2453, 3232, 3231, 2447, 2462, 3230, 2448,
810  2450, 3229, 2452, 3228, 3227, 2463, 2449, 2458, 2460, 2457,
811  3226, 2452, 2475, 2465, 3225, 2460, 2469, 3224, 2480, 0,
812 
813  3223, 3222, 3221, 0, 3220, 3219, 0, 3218, 3217, 2471,
814  0, 3216, 2491, 0, 3215, 2482, 2503, 0, 3214, 2496,
815  3213, 2500, 2497, 2498, 0, 3212, 3211, 3210, 2505, 2514,
816  3209, 2506, 3208, 2520, 2497, 0, 3207, 3206, 2517, 3205,
817  3204, 0, 3203, 3202, 2509, 2513, 2510, 0, 3201, 3200,
818  0, 3199, 3198, 0, 3197, 3196, 3195, 3194, 2522, 3193,
819  2527, 3192, 2509, 0, 3191, 0, 3190, 3189, 3188, 0,
820  3187, 3186, 0, 3185, 2516, 2514, 2521, 3184, 0, 3183,
821  3182, 2522, 3181, 0, 3180, 2526, 2519, 3179, 2534, 2536,
822  3178, 2533, 0, 96, 0, 101, 2538, 2554, 2546, 2565,
823 
824  2548, 103, 2545, 2571, 116, 0, 148, 2559, 2561, 152,
825  154, 0, 155, 156, 0, 158, 160, 2562, 163, 2565,
826  2559, 2567, 2560, 0, 193, 197, 2570, 200, 229, 0,
827  244, 245, 258, 265, 310, 0, 311, 2568, 2569, 0,
828  364, 2575, 394, 398, 403, 2573, 2574, 2573, 0, 407,
829  0, 411, 416, 0, 496, 594, 613, 0, 614, 2577,
830  702, 753, 869, 0, 1090, 1091, 2570, 1104, 2586, 1180,
831  0, 1593, 2592, 0, 1596, 2580, 2578, 0, 1601, 1700,
832  1701, 0, 1740, 2595, 2583, 2597, 2616, 2610, 2619, 0,
833  1818, 2622, 2616, 1822, 2625, 2629, 0, 1862, 1933, 0,
834 
835  2035, 0, 2635, 2605, 0, 2637, 2630, 2628, 2632, 2641,
836  2642, 2643, 2644, 0, 2645, 2647, 2648, 0, 2649, 2650,
837  2645, 2648, 2648, 0, 2657, 0, 2662, 0, 2663, 2649,
838  2665, 2652, 0, 2670, 0, 2671, 2672, 2650, 0, 2674,
839  2675, 0, 2676, 0, 2677, 2678, 2679, 2681, 0, 2683,
840  2662, 2669, 2668, 2688, 2689, 2678, 2691, 2693, 2694, 2695,
841  2692, 2698, 2699, 0, 2700, 2694, 2693, 0, 2704, 2695,
842  2697, 2707, 2704, 2709, 0, 2710, 2711, 0, 2712, 0,
843  2716, 0, 2717, 0, 2719, 2702, 2721, 2701, 2723, 2725,
844  2726, 0, 2727, 2700, 0, 2729, 2732, 0, 2735, 2737,
845 
846  2726, 2739, 2732, 0, 2741, 0, 2742, 2720, 2744, 2745,
847  2746, 2747, 2734, 2751, 2752, 2749, 2742, 2747, 2734, 2758,
848  2737, 0, 2760, 0, 2761, 2746, 2763, 2764, 2765, 0,
849  2767, 2769, 2770, 0, 2772, 0, 2773, 2756, 2775, 2761,
850  2750, 0, 2779, 0, 2780, 0, 2784, 0, 2786, 2776,
851  0, 2789, 0, 2791, 2785, 2787, 2777, 2795, 0, 2796,
852  2789, 2798, 0, 2799, 2800, 0, 2801, 0, 2803, 2805,
853  2790, 0, 2808, 2794, 2810, 2794, 2812, 2813, 2814, 2815,
854  2817, 2818, 0, 2819, 0, 2823, 2824, 2826, 2827, 2818,
855  2829, 2830, 2831, 0, 2832, 2833, 0, 2834, 2836, 2838,
856 
857  0, 2840, 2841, 0, 2842, 0, 2843, 0, 2844, 0,
858  2845, 0, 2846, 0, 2847, 2848, 0, 2849, 3679, 2858,
859  2860, 2862, 2864, 2851, 2866, 2852, 2853, 2854, 2855, 2856,
860  2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877,
861  2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887,
862  2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897,
863  2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907,
864  2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917,
865  2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927,
866  2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937,
867 
868  2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947,
869  2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957,
870  2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967,
871  2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977,
872  2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987,
873  2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997,
874  2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007,
875  3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017,
876  3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027,
877  3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037,
878 
879  3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047,
880  3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057,
881  3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067,
882  3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077,
883  3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087,
884  3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097,
885  3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107,
886  3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117,
887  3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127,
888  3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137,
889 
890  3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
891  3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157,
892  3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167,
893  3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177,
894  3178
895  } ;
896 
897 static const flex_int16_t yy_def[2342] =
898  { 0,
899  2020, 2019, 2021, 2021, 2022, 2022, 2023, 2023, 2019, 2024,
900  2019, 2025, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
901  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
902  2024, 2024, 2024, 2024, 2024, 2024, 2026, 2026, 2026, 2027,
903  2027, 2027, 2019, 2019, 2024, 2025, 2019, 2024, 2024, 2024,
904  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
905  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
906  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
907  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
908  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
909 
910  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
911  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
912  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2028,
913  2024, 2029, 2026, 2026, 2026, 2026, 2027, 2027, 2027, 2027,
914  2019, 2019, 2030, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
915  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
916  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
917  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2031, 2024,
918  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
919  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
920 
921  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
922  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
923  2024, 2024, 2024, 2024, 2024, 2024, 2032, 2024, 2024, 2024,
924  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
925  2024, 2024, 2024, 2024, 2024, 2033, 2024, 2024, 2024, 2024,
926  2024, 2028, 2028, 2024, 2029, 2029, 2026, 2027, 2030, 2030,
927  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
928  2024, 2024, 2024, 2024, 2024, 2024, 2034, 2024, 2024, 2035,
929  2024, 2024, 2024, 2024, 2036, 2024, 2024, 2037, 2024, 2024,
930  2024, 2024, 2019, 2038, 2024, 2024, 2024, 2024, 2024, 2024,
931 
932  2024, 2024, 2024, 2024, 2031, 2031, 2024, 2039, 2024, 2024,
933  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
934  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
935  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2019, 2024, 2024,
936  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
937  2024, 2024, 2024, 2024, 2024, 2024, 2040, 2024, 2024, 2024,
938  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
939  2024, 2032, 2032, 2024, 2024, 2024, 2024, 2024, 2024, 2041,
940  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
941  2024, 2024, 2024, 2033, 2033, 2024, 2024, 2024, 2042, 2043,
942 
943  2024, 2026, 2027, 2024, 2024, 2024, 2024, 2024, 2044, 2024,
944  2024, 2024, 2024, 2024, 2024, 2024, 2045, 2024, 2024, 2024,
945  2024, 2024, 2024, 2034, 2034, 2024, 2024, 2035, 2035, 2024,
946  2024, 2024, 2024, 2036, 2036, 2024, 2024, 2037, 2037, 2024,
947  2024, 2024, 2038, 2038, 2024, 2046, 2047, 2024, 2024, 2024,
948  2024, 2024, 2024, 2024, 2024, 2039, 2039, 2024, 2024, 2024,
949  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
950  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2019, 2048, 2024,
951  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2019, 2024,
952  2049, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
953 
954  2024, 2050, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
955  2024, 2040, 2040, 2051, 2024, 2024, 2024, 2024, 2024, 2024,
956  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
957  2024, 2024, 2024, 2024, 2041, 2041, 2024, 2024, 2024, 2024,
958  2024, 2052, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
959  2024, 2024, 2042, 2042, 2043, 2043, 2024, 2026, 2027, 2024,
960  2053, 2024, 2024, 2024, 2044, 2044, 2024, 2024, 2024, 2024,
961  2024, 2024, 2024, 2045, 2024, 2024, 2024, 2024, 2024, 2024,
962  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
963  2024, 2024, 2046, 2046, 2047, 2047, 2024, 2024, 2024, 2024,
964 
965  2054, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
966  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
967  2024, 2024, 2024, 2024, 2055, 2024, 2048, 2048, 2056, 2024,
968  2024, 2024, 2024, 2057, 2058, 2024, 2024, 2024, 2024, 2024,
969  2024, 2049, 2049, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
970  2024, 2024, 2024, 2024, 2050, 2050, 2024, 2024, 2024, 2024,
971  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2051, 2051, 2024,
972  2059, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2060, 2024,
973  2061, 2024, 2024, 2024, 2062, 2024, 2024, 2024, 2024, 2063,
974  2024, 2024, 2024, 2064, 2024, 2024, 2052, 2052, 2024, 2024,
975 
976  2024, 2024, 2024, 2065, 2024, 2024, 2024, 2024, 2066, 2026,
977  2027, 2024, 2053, 2053, 2024, 2024, 2024, 2024, 2024, 2024,
978  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
979  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2067, 2068, 2024,
980  2024, 2024, 2024, 2069, 2024, 2024, 2024, 2024, 2054, 2054,
981  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
982  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
983  2024, 2024, 2024, 2024, 2024, 2055, 2055, 2024, 2056, 2056,
984  2024, 2024, 2024, 2024, 2057, 2057, 2058, 2058, 2024, 2024,
985  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
986 
987  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2070, 2024, 2024,
988  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
989  2059, 2059, 2024, 2024, 2019, 2024, 2071, 2024, 2024, 2060,
990  2060, 2024, 2061, 2061, 2024, 2024, 2024, 2024, 2062, 2062,
991  2024, 2024, 2024, 2024, 2063, 2063, 2024, 2024, 2024, 2064,
992  2064, 2024, 2024, 2024, 2072, 2073, 2074, 2024, 2065, 2065,
993  2024, 2024, 2024, 2075, 2024, 2066, 2066, 2026, 2019, 2027,
994  2024, 2024, 2024, 2024, 2076, 2024, 2024, 2024, 2024, 2024,
995  2077, 2078, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
996  2024, 2024, 2024, 2024, 2024, 2067, 2067, 2068, 2068, 2024,
997 
998  2024, 2024, 2024, 2069, 2069, 2024, 2024, 2024, 2024, 2024,
999  2079, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1000  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1001  2024, 2024, 2024, 2080, 2024, 2024, 2024, 2024, 2024, 2081,
1002  2024, 2024, 2024, 2082, 2024, 2024, 2024, 2083, 2084, 2024,
1003  2024, 2085, 2024, 2024, 2086, 2024, 2024, 2024, 2070, 2070,
1004  2087, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2088,
1005  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1006  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1007  2024, 2071, 2071, 2024, 2024, 2089, 2024, 2024, 2024, 2024,
1008 
1009  2024, 2024, 2024, 2024, 2090, 2091, 2024, 2024, 2024, 2024,
1010  2072, 2072, 2073, 2073, 2074, 2074, 2024, 2092, 2024, 2024,
1011  2075, 2075, 2024, 2027, 2019, 2024, 2024, 2024, 2024, 2076,
1012  2076, 2093, 2024, 2024, 2024, 2024, 2077, 2077, 2078, 2078,
1013  2024, 2024, 2094, 2024, 2024, 2024, 2024, 2024, 2024, 2095,
1014  2024, 2096, 2024, 2024, 2097, 2024, 2024, 2024, 2024, 2098,
1015  2024, 2024, 2099, 2024, 2024, 2024, 2024, 2079, 2079, 2024,
1016  2024, 2024, 2024, 2100, 2024, 2024, 2101, 2102, 2024, 2024,
1017  2024, 2024, 2103, 2024, 2024, 2024, 2024, 2024, 2104, 2024,
1018  2024, 2105, 2105, 2106, 2024, 2024, 2107, 2024, 2108, 2109,
1019 
1020  2109, 2024, 2024, 2110, 2111, 2111, 2024, 2024, 2024, 2112,
1021  2112, 2113, 2113, 2024, 2024, 2114, 2114, 2024, 2115, 2116,
1022  2116, 2024, 2117, 2024, 2118, 2118, 2024, 2024, 2024, 2024,
1023  2024, 2024, 2024, 2119, 2120, 2120, 2024, 2024, 2024, 2024,
1024  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1025  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1026  2024, 2024, 2024, 2024, 2024, 2121, 2024, 2024, 2122, 2122,
1027  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2123, 2123,
1028  2124, 2124, 2024, 2024, 2125, 2024, 2024, 2126, 2126, 2024,
1029  2024, 2024, 2024, 2127, 2024, 2024, 2128, 2128, 2024, 2024,
1030 
1031  2024, 2024, 2024, 2024, 2129, 2129, 2024, 2024, 2024, 2024,
1032  2024, 2024, 2024, 2024, 2024, 2130, 2130, 2024, 2131, 2131,
1033  2024, 2024, 2132, 2132, 2133, 2134, 2024, 2135, 2136, 2136,
1034  2024, 2024, 2137, 2137, 2138, 2024, 2024, 2024, 2024, 2139,
1035  2024, 2024, 2140, 2140, 2024, 2024, 2141, 2141, 2142, 2142,
1036  2024, 2143, 2024, 2024, 2144, 2144, 2145, 2024, 2024, 2024,
1037  2024, 2146, 2146, 2024, 2147, 2148, 2148, 2024, 2149, 2150,
1038  2150, 2024, 2151, 2151, 2024, 2024, 2152, 2152, 2153, 2024,
1039  2024, 2154, 2155, 2156, 2024, 2157, 2157, 2024, 2158, 2158,
1040  2024, 2024, 2024, 2024, 2159, 2024, 2024, 2024, 2160, 2160,
1041 
1042  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1043  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1044  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1045  2024, 2024, 2161, 2161, 2024, 2024, 2162, 2024, 2024, 2024,
1046  2024, 2163, 2024, 2024, 2164, 2165, 2166, 2166, 2024, 2024,
1047  2024, 2024, 2024, 2024, 2167, 2167, 2168, 2024, 2169, 2024,
1048  2170, 2024, 2171, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1049  2024, 2024, 2024, 2024, 2024, 2024, 2172, 2172, 2173, 2173,
1050  2024, 2174, 2174, 2024, 2024, 2175, 2175, 2024, 2024, 2024,
1051  2024, 2024, 2176, 2177, 2177, 2178, 2024, 2024, 2024, 2024,
1052 
1053  2179, 2179, 2024, 2180, 2181, 2181, 2182, 2024, 2024, 2024,
1054  2183, 2184, 2184, 2024, 2185, 2185, 2024, 2186, 2187, 2188,
1055  2188, 2024, 2189, 2190, 2190, 2191, 2191, 2192, 2192, 2024,
1056  2024, 2024, 2024, 2193, 2024, 2194, 2194, 2024, 2024, 2024,
1057  2024, 2024, 2024, 2195, 2024, 2024, 2024, 2024, 2024, 2024,
1058  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1059  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
1060  2024, 2024, 2024, 2024, 2196, 2196, 2197, 2024, 2024, 2198,
1061  2199, 2199, 2024, 2200, 2201, 2201, 2202, 2202, 2024, 2024,
1062  2203, 2024, 2204, 2024, 2205, 2205, 2206, 2207, 2207, 2024,
1063 
1064  2208, 2208, 2024, 2209, 2209, 2024, 2024, 2024, 2210, 2024,
1065  2024, 2024, 2024, 2024, 2024, 2024, 2024, 2211, 2024, 2024,
1066  2024, 2024, 2212, 2024, 2024, 2024, 2024, 2213, 2213, 2214,
1067  2214, 2215, 2024, 2216, 2024, 2217, 2218, 2218, 2219, 2219,
1068  2024, 2024, 2024, 2220, 2220, 2024, 2024, 2221, 2221, 2222,
1069  2222, 2024, 2223, 2223, 2024, 2024, 2224, 2225, 2226, 2226,
1070  2024, 2024, 2227, 2024, 2228, 2024, 2024, 2229, 2229, 2024,
1071  2024, 2230, 2024, 2024, 2024, 2231, 2024, 2024, 2024, 2024,
1072  2024, 2024, 2024, 2232, 2233, 2024, 2024, 2024, 2024, 2024,
1073  2024, 2024, 2024, 2024, 2234, 2024, 2024, 2024, 2024, 2235,
1074 
1075  2235, 2236, 2024, 2237, 2237, 2238, 2239, 2239, 2024, 2024,
1076  2240, 2240, 2024, 2241, 2241, 2024, 2024, 2242, 2242, 2024,
1077  2243, 2024, 2024, 2024, 2244, 2244, 2024, 2245, 2024, 2024,
1078  2024, 2024, 2246, 2024, 2024, 2247, 2247, 2248, 2024, 2024,
1079  2024, 2249, 2249, 2024, 2024, 2024, 2024, 2250, 2250, 2251,
1080  2252, 2252, 2253, 2254, 2254, 2024, 2255, 2024, 2024, 2256,
1081  2024, 2024, 2024, 2257, 2257, 2258, 2258, 2024, 2259, 2260,
1082  2260, 2024, 2261, 2261, 2024, 2024, 2024, 2024, 2230, 2230,
1083  2262, 2024, 2263, 2264, 2264, 2024, 2024, 2265, 2024, 2024,
1084  2266, 2024, 2267, 2267, 2268, 2268, 2024, 2024, 2024, 2024,
1085 
1086  2024, 2269, 2024, 2024, 2024, 2270, 2270, 2024, 2024, 2271,
1087  2024, 2272, 2272, 2273, 2274, 2274, 2275, 2024, 2276, 2024,
1088  2024, 2024, 2024, 2277, 2277, 2024, 2024, 2024, 2278, 2279,
1089  2279, 2024, 2024, 2280, 2024, 2281, 2281, 2024, 2024, 2282,
1090  2282, 2024, 2283, 2284, 2285, 2024, 2024, 2024, 2286, 2286,
1091  2287, 2287, 2288, 2289, 2289, 2290, 2024, 2291, 2291, 2024,
1092  2292, 2024, 2293, 2294, 2294, 2295, 2024, 2024, 2024, 2296,
1093  2297, 2297, 2024, 2298, 2298, 2024, 2024, 2299, 2299, 2024,
1094  2024, 2300, 2300, 2024, 2024, 2024, 2024, 2024, 2024, 2269,
1095  2269, 2024, 2024, 2301, 2024, 2024, 2271, 2271, 2302, 2273,
1096 
1097  2273, 2275, 2275, 2024, 2276, 2276, 2024, 2024, 2024, 2024,
1098  2303, 2024, 2304, 2278, 2278, 2305, 2306, 2307, 2307, 2308,
1099  2024, 2024, 2024, 2283, 2283, 2284, 2284, 2285, 2285, 2024,
1100  2024, 2024, 2288, 2288, 2290, 2290, 2309, 2024, 2292, 2292,
1101  2310, 2293, 2293, 2295, 2295, 2024, 2311, 2024, 2296, 2296,
1102  2024, 2024, 2024, 2312, 2313, 2024, 2024, 2024, 2024, 2024,
1103  2024, 2024, 2024, 2301, 2301, 2024, 2024, 2302, 2302, 2024,
1104  2024, 2024, 2024, 2314, 2303, 2303, 2315, 2304, 2304, 2305,
1105  2305, 2306, 2306, 2308, 2308, 2024, 2024, 2024, 2024, 2316,
1106  2024, 2309, 2309, 2024, 2310, 2310, 2317, 2311, 2311, 2318,
1107 
1108  2024, 2024, 2024, 2312, 2312, 2313, 2313, 2024, 2319, 2320,
1109  2321, 2322, 2024, 2323, 2324, 2024, 2024, 2024, 2024, 2325,
1110  2024, 2314, 2314, 2315, 2315, 2024, 2326, 2024, 2327, 2316,
1111  2316, 2328, 2024, 2317, 2317, 2318, 2318, 2024, 2329, 2024,
1112  2024, 2319, 2319, 2320, 2320, 2321, 2321, 2322, 2322, 2024,
1113  2323, 2323, 2324, 2324, 2024, 2024, 2024, 2024, 2325, 2325,
1114  2024, 2024, 2326, 2326, 2330, 2327, 2327, 2328, 2328, 2331,
1115  2024, 2329, 2329, 2024, 2024, 2024, 2024, 2024, 2024, 2332,
1116  2024, 2333, 2330, 2330, 2331, 2331, 2024, 2024, 2334, 2024,
1117  2335, 2336, 2337, 2332, 2332, 2338, 2333, 2333, 2339, 2340,
1118 
1119  2334, 2334, 2024, 2335, 2335, 2336, 2336, 2337, 2337, 2338,
1120  2338, 2339, 2339, 2340, 2340, 2341, 2341, 2341, 0, 2019,
1121  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1122  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1123  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1124  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1125  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1126  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1127  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1128  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1129 
1130  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1131  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1132  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1133  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1134  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1135  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1136  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1137  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1138  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1139  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1140 
1141  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1142  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1143  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1144  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1145  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1146  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1147  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1148  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1149  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1150  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1151 
1152  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1153  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1154  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1155  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1156  2019
1157  } ;
1158 
1159 static const flex_int16_t yy_nxt[3739] =
1160  { 0,
1161  2019, 48, 11, 12, 49, 134, 138, 141, 135, 139,
1162  142, 48, 134, 138, 49, 135, 139, 141, 292, 293,
1163  142, 337, 338, 292, 293, 477, 478, 488, 489, 337,
1164  338, 13, 10, 10, 11, 12, 10, 14, 15, 16,
1165  17, 18, 19, 20, 21, 22, 10, 23, 24, 25,
1166  26, 27, 28, 10, 29, 30, 31, 32, 33, 34,
1167  35, 36, 10, 13, 10, 14, 15, 16, 17, 18,
1168  19, 20, 21, 22, 10, 23, 24, 25, 26, 27,
1169  28, 10, 29, 30, 31, 32, 33, 34, 35, 36,
1170  10, 11, 11, 11, 11, 11, 11, 1694, 57, 39,
1171 
1172  85, 42, 1696, 125, 1791, 58, 477, 478, 59, 488,
1173  489, 868, 869, 868, 869, 1024, 1025, 1794, 72, 130,
1174  38, 38, 41, 41, 44, 44, 57, 39, 85, 42,
1175  50, 125, 73, 58, 65, 74, 59, 75, 66, 51,
1176  131, 52, 67, 53, 76, 54, 72, 55, 56, 1707,
1177  77, 1024, 1025, 1798, 68, 1799, 1713, 1801, 50, 1716,
1178  73, 1803, 65, 74, 1806, 75, 66, 51, 131, 52,
1179  67, 53, 76, 54, 136, 55, 56, 60, 77, 69,
1180  81, 123, 68, 106, 61, 78, 124, 107, 62, 70,
1181  82, 63, 91, 79, 1725, 83, 84, 64, 1811, 71,
1182 
1183  80, 1813, 136, 108, 140, 60, 92, 69, 81, 123,
1184  93, 106, 61, 78, 124, 107, 62, 70, 82, 63,
1185  91, 79, 94, 83, 84, 64, 95, 71, 80, 86,
1186  1815, 108, 140, 87, 92, 98, 96, 88, 93, 97,
1187  145, 146, 147, 89, 102, 1731, 1816, 99, 103, 90,
1188  94, 143, 104, 100, 95, 101, 148, 86, 105, 1817,
1189  150, 87, 491, 98, 96, 88, 1819, 97, 145, 146,
1190  147, 89, 102, 149, 144, 99, 103, 90, 151, 156,
1191  104, 100, 160, 101, 148, 671, 105, 109, 150, 110,
1192  126, 161, 127, 492, 128, 111, 112, 113, 129, 114,
1193 
1194  115, 149, 144, 154, 116, 117, 151, 156, 152, 162,
1195  160, 1820, 1737, 155, 163, 109, 672, 110, 126, 161,
1196  127, 153, 128, 111, 112, 113, 129, 114, 115, 164,
1197  165, 154, 116, 117, 118, 157, 152, 162, 119, 158,
1198  159, 155, 163, 166, 120, 167, 168, 121, 169, 153,
1199  170, 171, 172, 173, 122, 174, 175, 164, 165, 176,
1200  177, 178, 118, 157, 180, 1741, 119, 158, 159, 184,
1201  185, 166, 120, 167, 168, 121, 169, 186, 170, 171,
1202  172, 173, 122, 174, 175, 187, 188, 176, 177, 178,
1203  189, 181, 180, 182, 190, 1825, 199, 184, 185, 1827,
1204 
1205  200, 201, 196, 203, 1829, 186, 197, 204, 1750, 205,
1206  198, 207, 1752, 187, 188, 208, 206, 1834, 189, 181,
1207  211, 182, 190, 191, 199, 212, 213, 192, 200, 201,
1208  196, 203, 193, 216, 197, 204, 194, 205, 198, 207,
1209  195, 214, 218, 208, 206, 209, 217, 210, 211, 219,
1210  220, 191, 215, 212, 213, 192, 221, 225, 222, 226,
1211  193, 216, 223, 233, 194, 234, 235, 236, 195, 214,
1212  218, 237, 224, 209, 217, 210, 238, 219, 220, 243,
1213  215, 227, 244, 245, 221, 225, 222, 226, 230, 228,
1214  223, 233, 231, 234, 235, 236, 229, 1755, 239, 237,
1215 
1216  224, 240, 254, 257, 238, 232, 241, 243, 258, 261,
1217  244, 245, 262, 242, 247, 263, 230, 228, 249, 264,
1218  231, 265, 248, 266, 229, 250, 239, 267, 268, 240,
1219  254, 257, 251, 232, 241, 269, 258, 261, 270, 271,
1220  262, 242, 247, 263, 272, 273, 249, 264, 275, 265,
1221  248, 266, 276, 250, 277, 267, 268, 279, 284, 289,
1222  251, 280, 285, 269, 290, 294, 270, 271, 291, 296,
1223  281, 278, 272, 273, 297, 298, 275, 299, 282, 286,
1224  276, 295, 301, 302, 283, 279, 284, 289, 304, 307,
1225  320, 321, 290, 287, 309, 1836, 291, 296, 281, 278,
1226 
1227  300, 322, 297, 298, 323, 299, 282, 286, 324, 295,
1228  301, 302, 283, 310, 1837, 1759, 304, 307, 320, 321,
1229  325, 326, 309, 311, 312, 313, 327, 328, 314, 322,
1230  315, 330, 323, 334, 316, 335, 324, 336, 331, 332,
1231  339, 340, 317, 318, 347, 319, 348, 350, 325, 326,
1232  333, 311, 312, 313, 327, 328, 314, 351, 315, 330,
1233  352, 334, 316, 335, 353, 336, 331, 332, 339, 340,
1234  317, 318, 347, 319, 348, 350, 354, 355, 333, 341,
1235  356, 358, 342, 359, 343, 351, 360, 361, 352, 362,
1236  364, 344, 353, 366, 345, 367, 368, 346, 369, 370,
1237 
1238  371, 374, 375, 1840, 354, 355, 379, 341, 356, 358,
1239  342, 359, 343, 381, 360, 361, 382, 362, 364, 344,
1240  383, 366, 345, 367, 368, 346, 369, 370, 371, 374,
1241  375, 376, 384, 385, 379, 377, 386, 378, 387, 388,
1242  389, 381, 390, 392, 382, 396, 397, 398, 383, 401,
1243  402, 403, 404, 405, 1841, 406, 408, 410, 411, 376,
1244  384, 385, 414, 377, 386, 378, 387, 388, 389, 415,
1245  390, 392, 416, 396, 397, 398, 418, 401, 402, 403,
1246  404, 405, 407, 406, 408, 410, 411, 422, 423, 426,
1247  414, 419, 420, 427, 421, 430, 431, 415, 432, 433,
1248 
1249  416, 436, 437, 440, 418, 441, 442, 445, 448, 449,
1250  450, 452, 453, 454, 455, 422, 423, 426, 458, 419,
1251  420, 427, 421, 430, 431, 459, 432, 433, 460, 436,
1252  437, 440, 463, 441, 442, 445, 448, 449, 450, 452,
1253  453, 454, 455, 461, 464, 465, 458, 466, 467, 469,
1254  470, 473, 462, 459, 475, 476, 460, 480, 482, 483,
1255  463, 468, 484, 485, 471, 486, 487, 493, 494, 497,
1256  1843, 461, 464, 465, 498, 466, 467, 469, 470, 473,
1257  462, 495, 475, 476, 499, 480, 482, 483, 503, 468,
1258  484, 485, 471, 486, 487, 493, 494, 497, 496, 500,
1259 
1260  504, 506, 498, 507, 508, 515, 516, 517, 501, 495,
1261  518, 519, 499, 520, 521, 523, 503, 524, 525, 527,
1262  528, 529, 522, 530, 531, 532, 496, 500, 504, 506,
1263  533, 507, 508, 515, 516, 517, 501, 534, 518, 519,
1264  537, 520, 521, 523, 539, 524, 525, 527, 528, 529,
1265  522, 530, 531, 532, 540, 541, 543, 544, 533, 545,
1266  546, 547, 548, 549, 550, 534, 551, 557, 537, 558,
1267  559, 560, 539, 562, 563, 564, 567, 568, 569, 570,
1268  571, 572, 540, 541, 543, 544, 573, 545, 546, 547,
1269  548, 549, 550, 575, 551, 557, 576, 558, 559, 560,
1270 
1271  577, 562, 563, 564, 567, 568, 569, 570, 571, 572,
1272  578, 579, 580, 581, 573, 582, 583, 584, 585, 586,
1273  587, 575, 588, 589, 576, 590, 591, 592, 577, 597,
1274  598, 599, 600, 602, 603, 604, 605, 606, 578, 579,
1275  580, 581, 607, 582, 583, 584, 585, 586, 587, 608,
1276  588, 589, 609, 590, 591, 592, 610, 597, 598, 599,
1277  600, 602, 603, 604, 605, 606, 611, 612, 613, 614,
1278  607, 615, 616, 617, 618, 619, 621, 608, 622, 623,
1279  609, 626, 630, 631, 610, 632, 633, 636, 644, 645,
1280  624, 1765, 1845, 646, 611, 612, 613, 614, 647, 615,
1281 
1282  616, 617, 618, 619, 621, 1847, 622, 623, 648, 626,
1283  630, 631, 649, 632, 633, 636, 644, 645, 624, 637,
1284  638, 646, 650, 651, 652, 657, 647, 658, 653, 659,
1285  661, 662, 663, 639, 666, 664, 648, 640, 641, 667,
1286  649, 654, 670, 673, 674, 675, 676, 637, 638, 665,
1287  650, 651, 652, 657, 677, 658, 653, 659, 661, 662,
1288  663, 639, 666, 664, 678, 640, 641, 667, 680, 654,
1289  670, 673, 674, 675, 676, 682, 683, 665, 685, 687,
1290  689, 1850, 677, 691, 692, 693, 696, 699, 700, 701,
1291  702, 703, 678, 705, 706, 707, 680, 708, 710, 711,
1292 
1293  712, 715, 718, 682, 683, 716, 719, 687, 689, 686,
1294  717, 691, 692, 693, 696, 699, 700, 701, 702, 703,
1295  722, 705, 706, 707, 720, 708, 710, 711, 712, 715,
1296  718, 723, 721, 716, 719, 724, 725, 726, 717, 727,
1297  728, 729, 730, 731, 732, 733, 735, 736, 722, 737,
1298  740, 741, 720, 742, 745, 746, 748, 751, 752, 723,
1299  753, 754, 755, 724, 725, 726, 756, 727, 728, 729,
1300  730, 731, 732, 733, 735, 736, 757, 737, 740, 741,
1301  758, 742, 745, 746, 748, 751, 752, 759, 753, 754,
1302  755, 760, 761, 762, 756, 763, 764, 765, 766, 767,
1303 
1304  768, 769, 770, 772, 757, 773, 774, 775, 758, 778,
1305  781, 782, 771, 783, 784, 759, 789, 790, 791, 760,
1306  761, 762, 796, 763, 764, 765, 766, 767, 768, 769,
1307  770, 772, 797, 773, 774, 775, 798, 778, 781, 782,
1308  771, 783, 784, 792, 789, 790, 791, 794, 799, 800,
1309  796, 793, 801, 803, 804, 795, 805, 806, 807, 809,
1310  797, 810, 811, 812, 798, 813, 814, 815, 816, 817,
1311  818, 792, 823, 819, 824, 794, 799, 800, 826, 793,
1312  801, 803, 804, 795, 805, 806, 807, 809, 828, 810,
1313  811, 812, 820, 813, 814, 815, 816, 817, 818, 829,
1314 
1315  823, 819, 824, 832, 835, 836, 826, 838, 841, 842,
1316  843, 837, 844, 847, 848, 849, 828, 852, 853, 854,
1317  858, 861, 862, 865, 870, 871, 872, 829, 873, 874,
1318  863, 832, 835, 836, 876, 838, 841, 842, 843, 837,
1319  844, 847, 848, 849, 877, 852, 853, 854, 858, 861,
1320  862, 865, 870, 871, 872, 878, 873, 874, 879, 880,
1321  883, 884, 876, 885, 888, 890, 891, 893, 894, 895,
1322  900, 901, 877, 902, 903, 906, 907, 908, 909, 910,
1323  912, 913, 914, 878, 915, 892, 879, 880, 883, 884,
1324  916, 885, 888, 890, 891, 893, 894, 895, 900, 901,
1325 
1326  917, 902, 903, 906, 907, 908, 909, 910, 912, 913,
1327  914, 918, 915, 892, 919, 920, 921, 922, 916, 923,
1328  925, 926, 927, 928, 929, 930, 931, 932, 917, 933,
1329  935, 936, 937, 938, 939, 941, 942, 943, 945, 918,
1330  946, 947, 919, 920, 921, 922, 950, 923, 925, 926,
1331  927, 928, 929, 930, 931, 932, 951, 933, 935, 936,
1332  937, 938, 939, 941, 942, 943, 945, 953, 946, 947,
1333  954, 956, 957, 958, 950, 962, 963, 965, 966, 967,
1334  968, 969, 971, 972, 951, 973, 991, 994, 995, 997,
1335  998, 999, 1000, 974, 1772, 953, 1001, 1775, 954, 956,
1336 
1337  957, 958, 1779, 962, 963, 965, 966, 967, 968, 969,
1338  971, 972, 975, 973, 991, 994, 995, 997, 998, 999,
1339  1000, 974, 45, 45, 1001, 45, 45, 976, 977, 978,
1340  979, 980, 981, 982, 983, 984, 45, 45, 985, 986,
1341  45, 45, 987, 45, 45, 988, 989, 45, 45, 990,
1342  45, 45, 45, 45, 45, 976, 977, 978, 979, 980,
1343  981, 982, 983, 984, 45, 45, 985, 986, 45, 45,
1344  987, 45, 45, 988, 989, 45, 45, 990, 45, 45,
1345  45, 1002, 1003, 1004, 1007, 1008, 1009, 1010, 1017, 1019,
1346  1020, 1023, 1027, 1028, 1029, 1033, 1034, 1035, 1036, 1041,
1347 
1348  1044, 1854, 1855, 1051, 1053, 1054, 1056, 1057, 1058, 1002,
1349  1003, 1004, 1007, 1008, 1009, 1010, 1017, 1019, 1020, 1023,
1350  1027, 1028, 1029, 1033, 1034, 1035, 1036, 1041, 1044, 1045,
1351  1046, 1051, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1062,
1352  1064, 1783, 1065, 1066, 1067, 1070, 1047, 1048, 1071, 1072,
1353  1073, 1049, 1075, 1076, 1079, 1080, 1081, 1045, 1046, 1082,
1354  1084, 1085, 1086, 1087, 1088, 1059, 1090, 1062, 1064, 1061,
1355  1065, 1066, 1067, 1070, 1047, 1048, 1071, 1072, 1073, 1049,
1356  1075, 1076, 1079, 1080, 1081, 1091, 1095, 1082, 1084, 1085,
1357  1086, 1087, 1088, 1096, 1090, 1097, 1102, 1103, 1107, 1108,
1358 
1359  1109, 1114, 1115, 1118, 1124, 1127, 1128, 1129, 1130, 1131,
1360  1132, 1133, 1098, 1091, 1095, 1137, 1138, 1139, 1140, 1791,
1361  1143, 1096, 1144, 1865, 1102, 1103, 1107, 1108, 1109, 1114,
1362  1115, 1118, 1124, 1127, 1128, 1129, 1130, 1131, 1132, 1133,
1363  1098, 1141, 1145, 1137, 1138, 1139, 1140, 1142, 1143, 1146,
1364  1144, 1148, 1151, 1152, 1154, 1149, 1147, 1153, 1156, 1157,
1365  1158, 1155, 1159, 1798, 1150, 1163, 1164, 1165, 1167, 1141,
1366  1145, 1168, 1171, 1172, 1173, 1142, 1174, 1146, 1175, 1148,
1367  1151, 1152, 1154, 1149, 1147, 1153, 1156, 1157, 1158, 1155,
1368  1159, 1160, 1150, 1163, 1164, 1165, 1167, 1176, 1161, 1168,
1369 
1370  1171, 1172, 1173, 1177, 1174, 1162, 1175, 1178, 1183, 1184,
1371  1186, 1187, 1190, 1191, 1192, 1193, 1195, 1196, 1199, 1160,
1372  1200, 1201, 1202, 1203, 1204, 1176, 1161, 1207, 1208, 1209,
1373  1215, 1177, 1218, 1162, 1869, 1178, 1183, 1184, 1186, 1187,
1374  1190, 1191, 1192, 1193, 1195, 1196, 1199, 1221, 1200, 1201,
1375  1202, 1203, 1204, 1210, 1212, 1207, 1208, 1209, 1215, 1213,
1376  1218, 1211, 1214, 1222, 1227, 1231, 1232, 1236, 1237, 1239,
1377  1241, 1242, 1245, 1246, 1251, 1221, 1253, 1254, 1258, 1259,
1378  1260, 1210, 1212, 1261, 1264, 1268, 1272, 1213, 1275, 1211,
1379  1214, 1222, 1227, 1231, 1232, 1236, 1237, 1239, 1241, 1242,
1380 
1381  1245, 1246, 1251, 1276, 1253, 1254, 1258, 1259, 1260, 1279,
1382  1281, 1261, 1264, 1268, 1272, 1285, 1275, 1288, 1291, 1292,
1383  1293, 1294, 1296, 1297, 1298, 1301, 1302, 1303, 1304, 1305,
1384  1306, 1276, 1307, 1308, 1309, 1310, 1801, 1316, 1281, 1317,
1385  1280, 1318, 1319, 1285, 1314, 1288, 1291, 1292, 1293, 1294,
1386  1296, 1297, 1298, 1301, 1302, 1303, 1304, 1305, 1306, 1315,
1387  1307, 1308, 1309, 1310, 1311, 1316, 1312, 1317, 1320, 1318,
1388  1319, 1321, 1314, 1313, 1322, 1323, 1324, 1325, 1326, 1327,
1389  1328, 1329, 1330, 1331, 1332, 1335, 1336, 1315, 1338, 1339,
1390  1340, 1341, 1311, 1343, 1312, 1344, 1320, 1349, 1350, 1321,
1391 
1392  1351, 1313, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
1393  1330, 1331, 1332, 1335, 1336, 1352, 1338, 1339, 1340, 1341,
1394  1353, 1343, 1354, 1344, 1358, 1349, 1350, 1360, 1351, 1362,
1395  1364, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374,
1396  1375, 1376, 1381, 1352, 1384, 1385, 1388, 1389, 1353, 1397,
1397  1354, 1398, 1358, 1399, 1400, 1360, 1403, 1362, 1364, 1366,
1398  1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376,
1399  1381, 1390, 1384, 1385, 1388, 1389, 1408, 1397, 1409, 1398,
1400  1410, 1399, 1400, 1414, 1403, 1417, 1422, 1430, 1391, 1431,
1401  1432, 1433, 1392, 1435, 1438, 1439, 1440, 1441, 1442, 1390,
1402 
1403  1443, 1445, 1446, 1447, 1408, 1448, 1409, 1449, 1410, 1450,
1404  1451, 1414, 1452, 1417, 1422, 1430, 1391, 1431, 1432, 1433,
1405  1392, 1435, 1438, 1439, 1440, 1441, 1442, 1453, 1443, 1445,
1406  1446, 1447, 1454, 1448, 1455, 1449, 1456, 1450, 1451, 1457,
1407  1452, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
1408  1467, 1468, 1469, 1470, 1471, 1453, 1472, 1473, 1474, 1478,
1409  1454, 1479, 1455, 1483, 1456, 1489, 1490, 1457, 1492, 1458,
1410  1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468,
1411  1469, 1470, 1471, 1500, 1472, 1473, 1474, 1478, 1503, 1479,
1412  1506, 1483, 1507, 1489, 1490, 1508, 1492, 1510, 1511, 1512,
1413 
1414  1513, 1514, 1515, 1516, 1519, 1520, 1521, 1522, 1524, 1525,
1415  1527, 1500, 1533, 1535, 1541, 1542, 1503, 1526, 1506, 1543,
1416  1507, 1546, 1547, 1508, 1552, 1510, 1511, 1512, 1513, 1514,
1417  1515, 1516, 1519, 1520, 1521, 1522, 1524, 1525, 1527, 1555,
1418  1533, 1535, 1541, 1542, 1556, 1526, 1561, 1543, 1562, 1546,
1419  1547, 1564, 1552, 1566, 1567, 1570, 1571, 1573, 1574, 1575,
1420  1577, 1578, 1579, 1580, 1581, 1582, 1583, 1555, 1586, 1587,
1421  1588, 1589, 1556, 1591, 1561, 1592, 1562, 1593, 1594, 1564,
1422  1597, 1566, 1567, 1570, 1571, 1573, 1574, 1575, 1577, 1578,
1423  1579, 1580, 1581, 1582, 1583, 1598, 1586, 1587, 1588, 1589,
1424 
1425  1599, 1591, 1603, 1592, 1609, 1593, 1594, 1613, 1597, 1616,
1426  1620, 1617, 1622, 1623, 1624, 1627, 1629, 1630, 1631, 1632,
1427  1634, 1635, 1639, 1598, 1640, 1641, 1644, 1645, 1599, 1646,
1428  1603, 1647, 1609, 1656, 1658, 1613, 1659, 1616, 1620, 1617,
1429  1622, 1623, 1624, 1627, 1629, 1630, 1631, 1632, 1634, 1635,
1430  1639, 1661, 1640, 1641, 1644, 1645, 1662, 1646, 1663, 1647,
1431  1668, 1656, 1658, 1672, 1659, 1675, 1676, 1677, 1678, 1682,
1432  1686, 1687, 1689, 1690, 1692, 1697, 1698, 1699, 1700, 1661,
1433  1701, 1703, 1704, 1705, 1662, 1708, 1663, 1709, 1668, 1711,
1434  1718, 1672, 1719, 1675, 1676, 1677, 1678, 1682, 1686, 1687,
1435 
1436  1689, 1690, 1692, 1697, 1698, 1699, 1700, 1721, 1701, 1703,
1437  1704, 1705, 1722, 1708, 1723, 1709, 1726, 1711, 1718, 1727,
1438  1728, 1732, 1733, 1720, 1735, 1738, 1739, 1742, 1746, 1747,
1439  1748, 1757, 1760, 1762, 1767, 1721, 1768, 1769, 1773, 1776,
1440  1722, 1777, 1723, 1780, 1726, 1781, 1784, 1727, 1728, 1732,
1441  1733, 1785, 1735, 1738, 1739, 1742, 1746, 1747, 1748, 1757,
1442  1760, 1762, 1767, 1786, 1768, 1769, 1773, 1776, 1787, 1777,
1443  1788, 1780, 1789, 1781, 1784, 1792, 1793, 1795, 1796, 1785,
1444  1804, 1807, 1808, 1809, 1810, 1812, 1821, 1822, 1823, 1830,
1445  1831, 1786, 1832, 1838, 1846, 1848, 1787, 1851, 1788, 1852,
1446 
1447  1789, 1853, 1856, 1792, 1793, 1795, 1796, 1857, 1804, 1807,
1448  1808, 1809, 1810, 1812, 1821, 1822, 1823, 1830, 1831, 1858,
1449  1832, 1838, 1846, 1848, 1859, 1851, 1860, 1852, 1861, 1853,
1450  1856, 1862, 1863, 1866, 1867, 1857, 1803, 1870, 1806, 1871,
1451  1872, 1873, 1874, 1876, 1877, 1879, 1815, 1858, 1881, 1883,
1452  1819, 1885, 1859, 1886, 1860, 1887, 1861, 1888, 1825, 1862,
1453  1863, 1866, 1867, 1827, 1829, 1889, 1890, 1871, 1872, 1873,
1454  1891, 1834, 1836, 1893, 1894, 1840, 1896, 1843, 1845, 1897,
1455  1899, 1886, 1900, 1887, 1850, 1888, 1901, 1902, 1903, 1905,
1456  1907, 1908, 1909, 1889, 1910, 1911, 1912, 1913, 1891, 1914,
1457 
1458  1915, 1865, 1894, 1916, 1917, 1869, 1918, 1919, 1920, 1921,
1459  1923, 1876, 1925, 1879, 1901, 1902, 1903, 1881, 1883, 1908,
1460  1885, 1926, 1927, 1928, 1929, 1913, 1931, 1932, 1893, 1933,
1461  1896, 1916, 1917, 1935, 1918, 1919, 1899, 1921, 1937, 1938,
1462  1939, 1940, 1905, 1907, 1941, 1943, 1945, 1947, 1949, 1926,
1463  1950, 1928, 1952, 1954, 1955, 1956, 1957, 1933, 1958, 1960,
1464  1961, 1923, 1925, 1962, 1964, 1965, 1967, 1938, 1931, 1940,
1465  1969, 1970, 1941, 1935, 1937, 1971, 1973, 1974, 1950, 1975,
1466  1943, 1945, 1955, 1956, 1957, 1947, 1958, 1949, 1961, 1976,
1467  1952, 1962, 1954, 1977, 1978, 1979, 1980, 1960, 1981, 1982,
1468 
1469  1964, 1984, 1967, 1971, 1969, 1974, 1986, 1975, 1987, 1973,
1470  1988, 1989, 1990, 1991, 1992, 1993, 1995, 1976, 1996, 1998,
1471  1984, 1977, 1978, 1979, 1986, 1999, 1981, 2000, 2002, 2003,
1472  2005, 2007, 2009, 1995, 2011, 1998, 1987, 2013, 1988, 2015,
1473  1990, 2002, 2016, 2005, 2007, 2009, 2011, 2013, 2015, 2018,
1474  2018, 45, 133, 137, 252, 255, 259, 2003, 10, 10,
1475  37, 37, 40, 40, 43, 43, 46, 46, 305, 372,
1476  394, 424, 428, 434, 438, 443, 456, 512, 535, 553,
1477  555, 565, 574, 593, 595, 627, 642, 655, 668, 697,
1478  713, 749, 776, 779, 785, 787, 821, 830, 833, 839,
1479 
1480  845, 850, 859, 866, 896, 898, 904, 959, 992, 1011,
1481  1013, 1015, 1021, 1030, 1037, 1039, 1068, 1092, 1100, 1105,
1482  1110, 1112, 1116, 1120, 1125, 1135, 1169, 1179, 1181, 1188,
1483  1197, 1205, 1216, 1219, 1223, 1229, 1233, 1243, 1247, 1249,
1484  1255, 1262, 1092, 1266, 1270, 1273, 1100, 1277, 1105, 1110,
1485  1112, 1116, 1286, 1120, 1289, 1125, 1299, 1135, 1333, 1169,
1486  1179, 1181, 1347, 1188, 1355, 1197, 1205, 1216, 1219, 1223,
1487  1377, 1379, 1382, 1229, 1233, 1386, 1394, 1243, 1247, 1249,
1488  1401, 1255, 1405, 1262, 1412, 1266, 1415, 1270, 1273, 1277,
1489  1420, 1424, 1426, 1428, 1286, 1289, 1436, 1299, 1333, 1475,
1490 
1491  1481, 1485, 1487, 1347, 1355, 1495, 1498, 1501, 1504, 1377,
1492  1379, 1382, 1386, 1528, 1394, 1530, 1401, 1537, 1405, 1539,
1493  1544, 1412, 1415, 1548, 1550, 1420, 1553, 1424, 1426, 1428,
1494  1559, 1436, 1568, 1475, 1600, 1604, 1481, 1607, 1485, 1487,
1495  1611, 1614, 1495, 1618, 1498, 1501, 1504, 1625, 1636, 1642,
1496  1528, 1530, 1648, 1651, 1654, 1537, 1539, 1544, 1548, 1550,
1497  1553, 1664, 1666, 1559, 1670, 1673, 1568, 1679, 1684, 1693,
1498  1695, 1706, 1600, 1712, 1604, 1715, 1607, 1611, 1614, 1618,
1499  1724, 1625, 1730, 1736, 1636, 1740, 1642, 1648, 1749, 1651,
1500  1751, 1654, 1754, 1758, 1664, 1666, 1764, 1670, 1673, 1771,
1501 
1502  1774, 1684, 1778, 1782, 1693, 1695, 1790, 1706, 1797, 1712,
1503  1800, 1715, 1802, 1805, 1724, 1814, 1730, 1818, 1736, 1740,
1504  1824, 1826, 1828, 1749, 1751, 1833, 1754, 1835, 1758, 1839,
1505  1842, 1764, 1844, 1849, 1771, 1774, 1778, 1782, 1864, 1868,
1506  1875, 1878, 1880, 1882, 1818, 1884, 1892, 1895, 1898, 1904,
1507  1906, 1922, 1924, 1930, 1934, 1936, 1942, 1944, 1946, 1948,
1508  1951, 1953, 1959, 1963, 1966, 1968, 1972, 1983, 1985, 1994,
1509  1997, 2001, 2004, 2006, 2008, 2010, 2012, 2014, 2017, 1783,
1510  1779, 1685, 1775, 1772, 1680, 1770, 1674, 1766, 1671, 1765,
1511  1763, 1667, 1665, 1761, 1759, 1756, 1755, 1753, 1655, 1752,
1512 
1513  1652, 1750, 1649, 1745, 1643, 1744, 1743, 1741, 1637, 1737,
1514  1734, 1731, 1729, 1626, 1725, 1619, 1615, 1612, 1717, 1608,
1515  1716, 1605, 1714, 1713, 1601, 1710, 1707, 1702, 1696, 1694,
1516  1691, 1688, 1685, 1683, 1681, 1680, 1569, 1674, 1671, 1669,
1517  1560, 1667, 1665, 1554, 1551, 1549, 1660, 1545, 1657, 1540,
1518  1538, 1655, 1653, 1652, 1650, 1649, 1531, 1529, 1643, 1638,
1519  1637, 1633, 1628, 1626, 1505, 1621, 1502, 1499, 1619, 1496,
1520  1615, 1612, 1610, 1488, 1486, 1608, 1606, 1482, 1605, 1602,
1521  1601, 1476, 1596, 1595, 1590, 1585, 1584, 1576, 1572, 1569,
1522  1565, 1563, 1437, 1560, 1558, 1557, 1429, 1427, 1425, 1554,
1523 
1524  1421, 1551, 1549, 1416, 1413, 1545, 1540, 1406, 1538, 1536,
1525  1402, 1534, 1532, 1531, 1395, 1529, 1523, 1387, 1383, 1380,
1526  1378, 1518, 1517, 1509, 1505, 1502, 1499, 1497, 1496, 1356,
1527  1494, 1493, 1491, 1348, 1488, 1486, 1484, 1482, 1480, 1477,
1528  1476, 1334, 1444, 1300, 1437, 1434, 1290, 1287, 1429, 1427,
1529  1425, 1423, 1421, 1278, 1419, 1418, 1274, 1271, 1416, 1267,
1530  1413, 1411, 1263, 1407, 1406, 1256, 1404, 1402, 1250, 1248,
1531  1244, 1396, 1395, 1393, 1387, 1234, 1230, 1383, 1380, 1378,
1532  1224, 1220, 1217, 1365, 1206, 1363, 1361, 1359, 1198, 1357,
1533  1356, 1189, 1348, 1346, 1345, 1182, 1180, 1342, 1337, 1170,
1534 
1535  1334, 1136, 1300, 1295, 1126, 1290, 1121, 1287, 1117, 1284,
1536  1283, 1113, 1111, 1282, 1106, 1278, 1101, 1274, 1271, 1269,
1537  1267, 1093, 1265, 1263, 1257, 1256, 1252, 1250, 1248, 1244,
1538  1240, 1069, 1238, 1235, 1234, 1230, 1228, 1226, 1225, 1224,
1539  1220, 1217, 1206, 1040, 1038, 1198, 1031, 1194, 1022, 1189,
1540  1016, 1014, 1012, 1185, 1182, 1180, 1170, 993, 1166, 1136,
1541  1134, 1126, 960, 1123, 1122, 1121, 1119, 1117, 1113, 1111,
1542  1106, 1104, 1101, 1099, 1094, 1093, 1089, 1083, 1078, 1077,
1543  1074, 1069, 1063, 905, 899, 897, 1055, 1052, 1050, 1043,
1544  1042, 1040, 1038, 1032, 1031, 1026, 867, 1022, 1018, 860,
1545 
1546  1016, 1014, 1012, 851, 1006, 1005, 846, 840, 834, 996,
1547  831, 993, 822, 970, 964, 961, 960, 955, 952, 949,
1548  948, 944, 940, 788, 786, 780, 777, 934, 924, 911,
1549  750, 905, 899, 897, 889, 887, 886, 882, 881, 875,
1550  714, 867, 864, 860, 857, 856, 855, 698, 851, 846,
1551  840, 834, 831, 827, 825, 822, 669, 808, 656, 802,
1552  643, 788, 786, 780, 628, 777, 750, 747, 596, 594,
1553  744, 743, 739, 738, 734, 566, 714, 709, 556, 554,
1554  704, 698, 695, 694, 536, 690, 688, 684, 681, 679,
1555  669, 513, 660, 656, 643, 635, 634, 629, 628, 625,
1556 
1557  620, 457, 601, 596, 594, 444, 439, 435, 429, 425,
1558  566, 561, 556, 554, 552, 395, 542, 538, 536, 373,
1559  526, 514, 513, 511, 510, 509, 505, 502, 490, 481,
1560  479, 474, 472, 457, 306, 451, 447, 446, 444, 439,
1561  435, 429, 425, 417, 413, 412, 409, 260, 256, 253,
1562  400, 399, 395, 393, 391, 380, 373, 365, 363, 357,
1563  349, 329, 308, 306, 303, 288, 274, 260, 256, 253,
1564  246, 202, 183, 179, 47, 132, 47, 2019, 9, 2019,
1565  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1566  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1567 
1568  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1569  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1570  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1571  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019
1572  } ;
1573 
1574 static const flex_int16_t yy_chk[3739] =
1575  { 0,
1576  0, 13, 1, 1, 13, 38, 41, 44, 38, 41,
1577  44, 48, 134, 138, 48, 134, 138, 141, 169, 169,
1578  141, 199, 199, 292, 292, 325, 325, 335, 335, 337,
1579  337, 1, 2, 2, 2, 2, 2, 2, 2, 2,
1580  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1581  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1582  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1585  2, 3, 4, 5, 6, 7, 8, 1694, 15, 4,
1586 
1587  23, 6, 1696, 33, 1702, 15, 477, 477, 15, 488,
1588  488, 710, 710, 868, 868, 870, 870, 1705, 19, 35,
1589  3, 4, 5, 6, 7, 8, 15, 4, 23, 6,
1590  14, 33, 19, 15, 17, 19, 15, 20, 17, 14,
1591  35, 14, 17, 14, 20, 14, 19, 14, 14, 1707,
1592  20, 1024, 1024, 1710, 17, 1711, 1713, 1714, 14, 1716,
1593  19, 1717, 17, 19, 1719, 20, 17, 14, 35, 14,
1594  17, 14, 20, 14, 39, 14, 14, 16, 20, 18,
1595  22, 32, 17, 29, 16, 21, 32, 29, 16, 18,
1596  22, 16, 25, 21, 1725, 22, 22, 16, 1726, 18,
1597 
1598  21, 1728, 39, 29, 42, 16, 25, 18, 22, 32,
1599  25, 29, 16, 21, 32, 29, 16, 18, 22, 16,
1600  25, 21, 26, 22, 22, 16, 26, 18, 21, 24,
1601  1729, 29, 42, 24, 25, 27, 26, 24, 25, 26,
1602  51, 52, 53, 24, 28, 1731, 1732, 27, 28, 24,
1603  26, 50, 28, 27, 26, 27, 54, 24, 28, 1733,
1604  55, 24, 339, 27, 26, 24, 1734, 26, 51, 52,
1605  53, 24, 28, 54, 50, 27, 28, 24, 56, 59,
1606  28, 27, 61, 27, 54, 516, 28, 30, 55, 30,
1607  34, 62, 34, 339, 34, 30, 30, 30, 34, 30,
1608 
1609  30, 54, 50, 58, 30, 30, 56, 59, 57, 63,
1610  61, 1735, 1737, 58, 64, 30, 516, 30, 34, 62,
1611  34, 57, 34, 30, 30, 30, 34, 30, 30, 65,
1612  66, 58, 30, 30, 31, 60, 57, 63, 31, 60,
1613  60, 58, 64, 67, 31, 68, 69, 31, 70, 57,
1614  71, 72, 73, 74, 31, 75, 76, 65, 66, 77,
1615  78, 79, 31, 60, 81, 1741, 31, 60, 60, 84,
1616  85, 67, 31, 68, 69, 31, 70, 86, 71, 72,
1617  73, 74, 31, 75, 76, 87, 88, 77, 78, 79,
1618  89, 82, 81, 82, 90, 1743, 93, 84, 85, 1744,
1619 
1620  94, 95, 92, 97, 1745, 86, 92, 98, 1750, 99,
1621  92, 100, 1752, 87, 88, 101, 99, 1753, 89, 82,
1622  103, 82, 90, 91, 93, 104, 105, 91, 94, 95,
1623  92, 97, 91, 107, 92, 98, 91, 99, 92, 100,
1624  91, 106, 108, 101, 99, 102, 107, 102, 103, 109,
1625  110, 91, 106, 104, 105, 91, 111, 113, 112, 114,
1626  91, 107, 112, 117, 91, 118, 119, 120, 91, 106,
1627  108, 121, 112, 102, 107, 102, 122, 109, 110, 124,
1628  106, 115, 125, 126, 111, 113, 112, 114, 116, 115,
1629  112, 117, 116, 118, 119, 120, 115, 1755, 123, 121,
1630 
1631  112, 123, 131, 136, 122, 116, 123, 124, 140, 144,
1632  125, 126, 145, 123, 128, 146, 116, 115, 129, 147,
1633  116, 148, 128, 149, 115, 129, 123, 150, 151, 123,
1634  131, 136, 129, 116, 123, 152, 140, 144, 153, 154,
1635  145, 123, 128, 146, 155, 156, 129, 147, 158, 148,
1636  128, 149, 159, 129, 160, 150, 151, 161, 163, 166,
1637  129, 162, 164, 152, 167, 170, 153, 154, 168, 171,
1638  162, 160, 155, 156, 172, 173, 158, 174, 162, 164,
1639  159, 170, 175, 176, 162, 161, 163, 166, 178, 180,
1640  184, 185, 167, 164, 182, 1756, 168, 171, 162, 160,
1641 
1642  174, 186, 172, 173, 187, 174, 162, 164, 188, 170,
1643  175, 176, 162, 182, 1757, 1759, 178, 180, 184, 185,
1644  189, 190, 182, 183, 183, 183, 191, 192, 183, 186,
1645  183, 194, 187, 196, 183, 197, 188, 198, 195, 195,
1646  200, 201, 183, 183, 203, 183, 204, 206, 189, 190,
1647  195, 183, 183, 183, 191, 192, 183, 207, 183, 194,
1648  208, 196, 183, 197, 209, 198, 195, 195, 200, 201,
1649  183, 183, 203, 183, 204, 206, 210, 211, 195, 202,
1650  212, 214, 202, 215, 202, 207, 215, 216, 208, 217,
1651  219, 202, 209, 221, 202, 222, 223, 202, 224, 225,
1652 
1653  226, 228, 229, 1761, 210, 211, 231, 202, 212, 214,
1654  202, 215, 202, 233, 215, 216, 234, 217, 219, 202,
1655  235, 221, 202, 222, 223, 202, 224, 225, 226, 228,
1656  229, 230, 236, 237, 231, 230, 238, 230, 239, 240,
1657  241, 233, 242, 244, 234, 247, 248, 249, 235, 254,
1658  257, 258, 261, 262, 1762, 263, 264, 266, 267, 230,
1659  236, 237, 270, 230, 238, 230, 239, 240, 241, 271,
1660  242, 244, 272, 247, 248, 249, 274, 254, 257, 258,
1661  261, 262, 263, 263, 264, 266, 267, 275, 276, 278,
1662  270, 274, 274, 279, 274, 281, 282, 271, 283, 284,
1663 
1664  272, 286, 287, 289, 274, 290, 291, 295, 298, 299,
1665  300, 302, 303, 304, 307, 275, 276, 278, 309, 274,
1666  274, 279, 274, 281, 282, 310, 283, 284, 311, 286,
1667  287, 289, 313, 290, 291, 295, 298, 299, 300, 302,
1668  303, 304, 307, 312, 314, 315, 309, 316, 317, 318,
1669  319, 321, 312, 310, 323, 324, 311, 327, 329, 330,
1670  313, 317, 331, 332, 319, 333, 334, 340, 341, 343,
1671  1763, 312, 314, 315, 344, 316, 317, 318, 319, 321,
1672  312, 342, 323, 324, 345, 327, 329, 330, 348, 317,
1673  331, 332, 319, 333, 334, 340, 341, 343, 342, 346,
1674 
1675  349, 351, 344, 352, 353, 359, 360, 361, 346, 342,
1676  362, 363, 345, 364, 365, 366, 348, 367, 368, 370,
1677  371, 374, 365, 375, 376, 377, 342, 346, 349, 351,
1678  378, 352, 353, 359, 360, 361, 346, 379, 362, 363,
1679  381, 364, 365, 366, 383, 367, 368, 370, 371, 374,
1680  365, 375, 376, 377, 384, 385, 387, 388, 378, 389,
1681  390, 391, 392, 393, 396, 379, 397, 401, 381, 402,
1682  403, 404, 383, 406, 407, 408, 410, 411, 412, 413,
1683  414, 415, 384, 385, 387, 388, 416, 389, 390, 391,
1684  392, 393, 396, 418, 397, 401, 419, 402, 403, 404,
1685 
1686  420, 406, 407, 408, 410, 411, 412, 413, 414, 415,
1687  421, 422, 423, 426, 416, 427, 430, 431, 432, 433,
1688  436, 418, 437, 440, 419, 441, 442, 445, 420, 448,
1689  449, 450, 451, 453, 454, 455, 458, 459, 421, 422,
1690  423, 426, 460, 427, 430, 431, 432, 433, 436, 461,
1691  437, 440, 462, 441, 442, 445, 463, 448, 449, 450,
1692  451, 453, 454, 455, 458, 459, 464, 465, 466, 467,
1693  460, 468, 469, 470, 471, 472, 474, 461, 474, 474,
1694  462, 476, 481, 482, 463, 483, 484, 487, 492, 493,
1695  474, 1765, 1766, 494, 464, 465, 466, 467, 495, 468,
1696 
1697  469, 470, 471, 472, 474, 1768, 474, 474, 496, 476,
1698  481, 482, 497, 483, 484, 487, 492, 493, 474, 490,
1699  490, 494, 498, 499, 500, 503, 495, 504, 501, 505,
1700  507, 508, 509, 490, 510, 509, 496, 490, 490, 511,
1701  497, 501, 515, 517, 518, 519, 520, 490, 490, 509,
1702  498, 499, 500, 503, 521, 504, 501, 505, 507, 508,
1703  509, 490, 510, 509, 522, 490, 490, 511, 524, 501,
1704  515, 517, 518, 519, 520, 526, 527, 509, 529, 530,
1705  532, 1770, 521, 534, 537, 538, 541, 543, 544, 545,
1706  546, 547, 522, 549, 550, 551, 524, 552, 558, 559,
1707 
1708  560, 562, 564, 526, 527, 563, 567, 530, 532, 529,
1709  563, 534, 537, 538, 541, 543, 544, 545, 546, 547,
1710  569, 549, 550, 551, 568, 552, 558, 559, 560, 562,
1711  564, 570, 568, 563, 567, 571, 572, 573, 563, 575,
1712  576, 577, 578, 579, 580, 581, 583, 584, 569, 585,
1713  588, 589, 568, 590, 597, 598, 600, 602, 603, 570,
1714  604, 605, 606, 571, 572, 573, 607, 575, 576, 577,
1715  578, 579, 580, 581, 583, 584, 608, 585, 588, 589,
1716  609, 590, 597, 598, 600, 602, 603, 610, 604, 605,
1717  606, 611, 612, 613, 607, 614, 615, 616, 617, 618,
1718 
1719  619, 620, 620, 621, 608, 622, 623, 624, 609, 626,
1720  630, 631, 620, 632, 633, 610, 636, 637, 638, 611,
1721  612, 613, 641, 614, 615, 616, 617, 618, 619, 620,
1722  620, 621, 644, 622, 623, 624, 645, 626, 630, 631,
1723  620, 632, 633, 639, 636, 637, 638, 640, 646, 647,
1724  641, 639, 648, 650, 651, 640, 652, 653, 654, 658,
1725  644, 659, 660, 661, 645, 662, 663, 664, 665, 666,
1726  667, 639, 672, 670, 673, 640, 646, 647, 675, 639,
1727  648, 650, 651, 640, 652, 653, 654, 658, 677, 659,
1728  660, 661, 670, 662, 663, 664, 665, 666, 667, 678,
1729 
1730  672, 670, 673, 680, 682, 683, 675, 684, 686, 687,
1731  688, 683, 689, 691, 692, 693, 677, 695, 696, 699,
1732  703, 705, 706, 708, 711, 712, 715, 678, 716, 717,
1733  706, 680, 682, 683, 719, 684, 686, 687, 688, 683,
1734  689, 691, 692, 693, 720, 695, 696, 699, 703, 705,
1735  706, 708, 711, 712, 715, 721, 716, 717, 722, 723,
1736  726, 727, 719, 728, 731, 733, 734, 735, 736, 737,
1737  740, 741, 720, 742, 743, 745, 746, 747, 748, 751,
1738  753, 754, 755, 721, 756, 734, 722, 723, 726, 727,
1739  757, 728, 731, 733, 734, 735, 736, 737, 740, 741,
1740 
1741  758, 742, 743, 745, 746, 747, 748, 751, 753, 754,
1742  755, 759, 756, 734, 760, 761, 762, 763, 757, 764,
1743  766, 767, 768, 769, 770, 771, 772, 773, 758, 774,
1744  778, 781, 782, 783, 784, 790, 791, 792, 794, 759,
1745  795, 796, 760, 761, 762, 763, 799, 764, 766, 767,
1746  768, 769, 770, 771, 772, 773, 800, 774, 778, 781,
1747  782, 783, 784, 790, 791, 792, 794, 802, 795, 796,
1748  803, 805, 806, 807, 799, 810, 811, 813, 814, 815,
1749  816, 817, 819, 820, 800, 823, 826, 828, 829, 835,
1750  836, 837, 838, 824, 1772, 802, 841, 1775, 803, 805,
1751 
1752  806, 807, 1779, 810, 811, 813, 814, 815, 816, 817,
1753  819, 820, 824, 823, 826, 828, 829, 835, 836, 837,
1754  838, 824, 825, 825, 841, 825, 825, 825, 825, 825,
1755  825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1756  825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1757  825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1758  825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1759  825, 825, 825, 825, 825, 825, 825, 825, 825, 825,
1760  825, 842, 843, 844, 849, 852, 853, 854, 858, 862,
1761  863, 865, 872, 873, 874, 877, 878, 879, 880, 883,
1762 
1763  886, 1780, 1781, 889, 891, 892, 894, 895, 900, 842,
1764  843, 844, 849, 852, 853, 854, 858, 862, 863, 865,
1765  872, 873, 874, 877, 878, 879, 880, 883, 886, 887,
1766  887, 889, 891, 892, 894, 895, 900, 901, 902, 903,
1767  907, 1783, 908, 909, 910, 912, 887, 887, 913, 914,
1768  915, 887, 917, 918, 921, 922, 923, 887, 887, 924,
1769  926, 927, 928, 929, 930, 901, 932, 903, 907, 902,
1770  908, 909, 910, 912, 887, 887, 913, 914, 915, 887,
1771  917, 918, 921, 922, 923, 933, 936, 924, 926, 927,
1772  928, 929, 930, 937, 932, 938, 941, 942, 945, 946,
1773 
1774  947, 950, 951, 953, 958, 962, 963, 964, 965, 966,
1775  967, 968, 938, 933, 936, 971, 972, 973, 974, 1791,
1776  976, 937, 977, 1794, 941, 942, 945, 946, 947, 950,
1777  951, 953, 958, 962, 963, 964, 965, 966, 967, 968,
1778  938, 975, 978, 971, 972, 973, 974, 975, 976, 978,
1779  977, 979, 980, 981, 982, 979, 978, 981, 983, 984,
1780  985, 982, 986, 1798, 979, 988, 989, 990, 994, 975,
1781  978, 995, 997, 998, 999, 975, 1000, 978, 1001, 979,
1782  980, 981, 982, 979, 978, 981, 983, 984, 985, 982,
1783  986, 987, 979, 988, 989, 990, 994, 1002, 987, 995,
1784 
1785  997, 998, 999, 1003, 1000, 987, 1001, 1004, 1007, 1008,
1786  1010, 1017, 1019, 1020, 1023, 1026, 1028, 1029, 1033, 987,
1787  1034, 1035, 1036, 1041, 1042, 1002, 987, 1044, 1045, 1046,
1788  1049, 1003, 1051, 987, 1799, 1004, 1007, 1008, 1010, 1017,
1789  1019, 1020, 1023, 1026, 1028, 1029, 1033, 1053, 1034, 1035,
1790  1036, 1041, 1042, 1047, 1048, 1044, 1045, 1046, 1049, 1048,
1791  1051, 1047, 1048, 1054, 1058, 1061, 1062, 1065, 1066, 1070,
1792  1072, 1073, 1075, 1076, 1079, 1053, 1081, 1082, 1085, 1086,
1793  1087, 1047, 1048, 1088, 1090, 1095, 1098, 1048, 1102, 1047,
1794  1048, 1054, 1058, 1061, 1062, 1065, 1066, 1070, 1072, 1073,
1795 
1796  1075, 1076, 1079, 1103, 1081, 1082, 1085, 1086, 1087, 1107,
1797  1108, 1088, 1090, 1095, 1098, 1118, 1102, 1122, 1124, 1127,
1798  1128, 1129, 1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141,
1799  1142, 1103, 1143, 1144, 1145, 1146, 1801, 1149, 1108, 1150,
1800  1107, 1151, 1152, 1118, 1148, 1122, 1124, 1127, 1128, 1129,
1801  1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1148,
1802  1143, 1144, 1145, 1146, 1147, 1149, 1147, 1150, 1153, 1151,
1803  1152, 1154, 1148, 1147, 1155, 1156, 1157, 1158, 1159, 1160,
1804  1161, 1162, 1163, 1164, 1165, 1167, 1168, 1148, 1172, 1173,
1805  1174, 1175, 1147, 1177, 1147, 1178, 1153, 1186, 1187, 1154,
1806 
1807  1190, 1147, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162,
1808  1163, 1164, 1165, 1167, 1168, 1191, 1172, 1173, 1174, 1175,
1809  1192, 1177, 1193, 1178, 1196, 1186, 1187, 1200, 1190, 1202,
1810  1204, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1218,
1811  1221, 1222, 1227, 1191, 1231, 1232, 1236, 1237, 1192, 1242,
1812  1193, 1245, 1196, 1246, 1251, 1200, 1253, 1202, 1204, 1208,
1813  1209, 1210, 1211, 1212, 1213, 1214, 1215, 1218, 1221, 1222,
1814  1227, 1238, 1231, 1232, 1236, 1237, 1259, 1242, 1260, 1245,
1815  1261, 1246, 1251, 1268, 1253, 1272, 1280, 1285, 1238, 1288,
1816  1291, 1292, 1238, 1294, 1296, 1297, 1298, 1301, 1302, 1238,
1817 
1818  1303, 1305, 1306, 1307, 1259, 1308, 1260, 1309, 1261, 1310,
1819  1311, 1268, 1312, 1272, 1280, 1285, 1238, 1288, 1291, 1292,
1820  1238, 1294, 1296, 1297, 1298, 1301, 1302, 1313, 1303, 1305,
1821  1306, 1307, 1314, 1308, 1315, 1309, 1316, 1310, 1311, 1317,
1822  1312, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326,
1823  1327, 1328, 1329, 1330, 1331, 1313, 1332, 1335, 1336, 1339,
1824  1314, 1340, 1315, 1343, 1316, 1349, 1350, 1317, 1352, 1318,
1825  1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
1826  1329, 1330, 1331, 1360, 1332, 1335, 1336, 1339, 1362, 1340,
1827  1364, 1343, 1365, 1349, 1350, 1366, 1352, 1368, 1369, 1370,
1828 
1829  1371, 1372, 1373, 1374, 1381, 1384, 1385, 1388, 1390, 1391,
1830  1392, 1360, 1398, 1400, 1408, 1409, 1362, 1391, 1364, 1410,
1831  1365, 1414, 1417, 1366, 1422, 1368, 1369, 1370, 1371, 1372,
1832  1373, 1374, 1381, 1384, 1385, 1388, 1390, 1391, 1392, 1430,
1833  1398, 1400, 1408, 1409, 1431, 1391, 1435, 1410, 1438, 1414,
1834  1417, 1440, 1422, 1442, 1443, 1445, 1446, 1448, 1449, 1450,
1835  1452, 1453, 1454, 1455, 1456, 1457, 1458, 1430, 1461, 1462,
1836  1463, 1464, 1431, 1466, 1435, 1467, 1438, 1468, 1469, 1440,
1837  1472, 1442, 1443, 1445, 1446, 1448, 1449, 1450, 1452, 1453,
1838  1454, 1455, 1456, 1457, 1458, 1473, 1461, 1462, 1463, 1464,
1839 
1840  1474, 1466, 1479, 1467, 1489, 1468, 1469, 1492, 1472, 1494,
1841  1500, 1494, 1506, 1507, 1508, 1510, 1512, 1513, 1514, 1515,
1842  1517, 1517, 1520, 1473, 1521, 1522, 1524, 1525, 1474, 1526,
1843  1479, 1527, 1489, 1541, 1543, 1492, 1546, 1494, 1500, 1494,
1844  1506, 1507, 1508, 1510, 1512, 1513, 1514, 1515, 1517, 1517,
1845  1520, 1552, 1521, 1522, 1524, 1525, 1555, 1526, 1556, 1527,
1846  1561, 1541, 1543, 1564, 1546, 1566, 1567, 1570, 1571, 1574,
1847  1577, 1578, 1580, 1581, 1583, 1586, 1587, 1588, 1589, 1552,
1848  1590, 1592, 1593, 1594, 1555, 1596, 1556, 1597, 1561, 1599,
1849  1610, 1564, 1613, 1566, 1567, 1570, 1571, 1574, 1577, 1578,
1850 
1851  1580, 1581, 1583, 1586, 1587, 1588, 1589, 1616, 1590, 1592,
1852  1593, 1594, 1617, 1596, 1620, 1597, 1622, 1599, 1610, 1623,
1853  1624, 1629, 1630, 1613, 1632, 1634, 1635, 1639, 1645, 1646,
1854  1647, 1659, 1661, 1663, 1675, 1616, 1676, 1677, 1682, 1686,
1855  1617, 1687, 1620, 1689, 1622, 1690, 1692, 1623, 1624, 1629,
1856  1630, 1697, 1632, 1634, 1635, 1639, 1645, 1646, 1647, 1659,
1857  1661, 1663, 1675, 1698, 1676, 1677, 1682, 1686, 1699, 1687,
1858  1700, 1689, 1701, 1690, 1692, 1703, 1704, 1708, 1709, 1697,
1859  1718, 1720, 1721, 1722, 1723, 1727, 1738, 1739, 1742, 1746,
1860  1747, 1698, 1748, 1760, 1767, 1769, 1699, 1773, 1700, 1776,
1861 
1862  1701, 1777, 1784, 1703, 1704, 1708, 1709, 1785, 1718, 1720,
1863  1721, 1722, 1723, 1727, 1738, 1739, 1742, 1746, 1747, 1786,
1864  1748, 1760, 1767, 1769, 1787, 1773, 1788, 1776, 1789, 1777,
1865  1784, 1792, 1793, 1795, 1796, 1785, 1803, 1804, 1806, 1807,
1866  1808, 1809, 1810, 1811, 1812, 1813, 1815, 1786, 1816, 1817,
1867  1819, 1820, 1787, 1821, 1788, 1822, 1789, 1823, 1825, 1792,
1868  1793, 1795, 1796, 1827, 1829, 1830, 1831, 1807, 1808, 1809,
1869  1832, 1834, 1836, 1837, 1838, 1840, 1841, 1843, 1845, 1846,
1870  1847, 1821, 1848, 1822, 1850, 1823, 1851, 1852, 1853, 1854,
1871  1855, 1856, 1857, 1830, 1858, 1859, 1860, 1861, 1832, 1862,
1872 
1873  1863, 1865, 1838, 1866, 1867, 1869, 1870, 1871, 1872, 1873,
1874  1874, 1876, 1877, 1879, 1851, 1852, 1853, 1881, 1883, 1856,
1875  1885, 1886, 1887, 1888, 1889, 1861, 1890, 1891, 1893, 1894,
1876  1896, 1866, 1867, 1897, 1870, 1871, 1899, 1873, 1900, 1901,
1877  1902, 1903, 1905, 1907, 1908, 1909, 1910, 1911, 1912, 1886,
1878  1913, 1888, 1914, 1915, 1916, 1917, 1918, 1894, 1919, 1920,
1879  1921, 1923, 1925, 1926, 1927, 1928, 1929, 1901, 1931, 1903,
1880  1932, 1933, 1908, 1935, 1937, 1938, 1939, 1940, 1913, 1941,
1881  1943, 1945, 1916, 1917, 1918, 1947, 1919, 1949, 1921, 1950,
1882  1952, 1926, 1954, 1955, 1956, 1957, 1958, 1960, 1961, 1962,
1883 
1884  1964, 1965, 1967, 1938, 1969, 1940, 1970, 1941, 1971, 1973,
1885  1974, 1975, 1976, 1977, 1978, 1979, 1980, 1950, 1981, 1982,
1886  1984, 1955, 1956, 1957, 1986, 1987, 1961, 1988, 1989, 1990,
1887  1991, 1992, 1993, 1995, 1996, 1998, 1971, 1999, 1974, 2000,
1888  1976, 2002, 2003, 2005, 2007, 2009, 2011, 2013, 2015, 2016,
1889  2018, 2024, 2026, 2027, 2028, 2029, 2030, 1990, 2020, 2020,
1890  2021, 2021, 2022, 2022, 2023, 2023, 2025, 2025, 2031, 2032,
1891  2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042,
1892  2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052,
1893  2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062,
1894 
1895  2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072,
1896  2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082,
1897  2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092,
1898  2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102,
1899  2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112,
1900  2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122,
1901  2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132,
1902  2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
1903  2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
1904  2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
1905 
1906  2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172,
1907  2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
1908  2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192,
1909  2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202,
1910  2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
1911  2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222,
1912  2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232,
1913  2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242,
1914  2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252,
1915  2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262,
1916 
1917  2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272,
1918  2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282,
1919  2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292,
1920  2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302,
1921  2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312,
1922  2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322,
1923  2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332,
1924  2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 1691,
1925  1688, 1685, 1683, 1681, 1680, 1678, 1674, 1672, 1671, 1669,
1926  1668, 1667, 1665, 1662, 1660, 1658, 1657, 1656, 1655, 1653,
1927 
1928  1652, 1650, 1649, 1644, 1643, 1641, 1640, 1638, 1637, 1633,
1929  1631, 1628, 1627, 1626, 1621, 1619, 1615, 1612, 1609, 1608,
1930  1606, 1605, 1603, 1602, 1601, 1598, 1595, 1591, 1585, 1584,
1931  1582, 1579, 1576, 1575, 1573, 1572, 1569, 1565, 1563, 1562,
1932  1560, 1558, 1557, 1554, 1551, 1549, 1547, 1545, 1542, 1540,
1933  1538, 1536, 1535, 1534, 1533, 1532, 1531, 1529, 1523, 1519,
1934  1518, 1516, 1511, 1509, 1505, 1503, 1502, 1499, 1497, 1496,
1935  1493, 1491, 1490, 1488, 1486, 1484, 1483, 1482, 1480, 1478,
1936  1477, 1476, 1471, 1470, 1465, 1460, 1459, 1451, 1447, 1444,
1937  1441, 1439, 1437, 1434, 1433, 1432, 1429, 1427, 1425, 1423,
1938 
1939  1421, 1419, 1418, 1416, 1413, 1411, 1407, 1406, 1404, 1403,
1940  1402, 1399, 1397, 1396, 1395, 1393, 1389, 1387, 1383, 1380,
1941  1378, 1376, 1375, 1367, 1363, 1361, 1359, 1358, 1357, 1356,
1942  1354, 1353, 1351, 1348, 1346, 1345, 1344, 1342, 1341, 1338,
1943  1337, 1334, 1304, 1300, 1295, 1293, 1290, 1287, 1284, 1283,
1944  1282, 1281, 1279, 1278, 1276, 1275, 1274, 1271, 1269, 1267,
1945  1265, 1264, 1263, 1258, 1257, 1256, 1254, 1252, 1250, 1248,
1946  1244, 1241, 1240, 1239, 1235, 1234, 1230, 1228, 1226, 1225,
1947  1224, 1220, 1217, 1207, 1206, 1203, 1201, 1199, 1198, 1195,
1948  1194, 1189, 1185, 1184, 1183, 1182, 1180, 1176, 1171, 1170,
1949 
1950  1166, 1136, 1134, 1130, 1126, 1123, 1121, 1119, 1117, 1115,
1951  1114, 1113, 1111, 1109, 1106, 1104, 1101, 1099, 1097, 1096,
1952  1094, 1093, 1091, 1089, 1084, 1083, 1080, 1078, 1077, 1074,
1953  1071, 1069, 1067, 1064, 1063, 1060, 1059, 1057, 1056, 1055,
1954  1052, 1050, 1043, 1040, 1038, 1032, 1031, 1027, 1022, 1018,
1955  1016, 1014, 1012, 1009, 1006, 1005, 996, 993, 991, 970,
1956  969, 961, 960, 957, 956, 955, 954, 952, 949, 948,
1957  944, 943, 940, 939, 935, 934, 931, 925, 920, 919,
1958  916, 911, 906, 905, 899, 897, 893, 890, 888, 885,
1959  884, 882, 881, 876, 875, 871, 867, 864, 861, 860,
1960 
1961  857, 856, 855, 851, 848, 847, 846, 840, 834, 832,
1962  831, 827, 822, 818, 812, 809, 808, 804, 801, 798,
1963  797, 793, 789, 788, 786, 780, 777, 775, 765, 752,
1964  750, 744, 739, 738, 732, 730, 729, 725, 724, 718,
1965  714, 709, 707, 704, 702, 701, 700, 698, 694, 690,
1966  685, 681, 679, 676, 674, 671, 669, 657, 656, 649,
1967  643, 635, 634, 629, 628, 625, 601, 599, 596, 594,
1968  592, 591, 587, 586, 582, 566, 561, 557, 556, 554,
1969  548, 542, 540, 539, 536, 533, 531, 528, 525, 523,
1970  514, 513, 506, 502, 491, 486, 485, 480, 479, 475,
1971 
1972  473, 457, 452, 447, 446, 444, 439, 435, 429, 425,
1973  409, 405, 400, 399, 398, 395, 386, 382, 380, 373,
1974  369, 358, 357, 356, 355, 354, 350, 347, 336, 328,
1975  326, 322, 320, 308, 306, 301, 297, 296, 294, 288,
1976  285, 280, 277, 273, 269, 268, 265, 260, 256, 253,
1977  251, 250, 246, 245, 243, 232, 227, 220, 218, 213,
1978  205, 193, 181, 179, 177, 165, 157, 143, 132, 130,
1979  127, 96, 83, 80, 46, 36, 12, 9, 2019, 2019,
1980  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1981  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1982 
1983  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1984  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1985  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
1986  2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019
1987  } ;
1988 
1991 
1992 extern int yy_flex_debug;
1994 
1995 /* The intent behind this definition is that it'll catch
1996  * any uses of REJECT which flex missed.
1997  */
1998 #define REJECT reject_used_but_not_detected
1999 #define yymore() yymore_used_but_not_detected
2000 #define YY_MORE_ADJ 0
2001 #define YY_RESTORE_YY_MORE_OFFSET
2002 char *yytext;
2003 #line 1 "../common/loader.l"
2004 #line 2 "../common/loader.l"
2005 /*
2006  * Crossfire -- cooperative multi-player graphical RPG and adventure game
2007  *
2008  * Copyright (c) 1999-2014 Mark Wedel and the Crossfire Development Team
2009  * Copyright (c) 1992 Frank Tore Johansen
2010  *
2011  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
2012  * welcome to redistribute it under certain conditions. For details, please
2013  * see COPYING and LICENSE.
2014  *
2015  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
2016  */
2017 
2018 #include "global.h"
2019 
2020 #include <ctype.h>
2021 
2022 #include "loader.h"
2023 #include "newserver.h"
2024 #include "sproto.h"
2025 #include "stringbuffer.h"
2026 
2027 #define YY_DECL int lex_load(int *depth, object **items, int maxdepth, int map_flags, int linemode, int *ismore, bool arch_init, bool artifact_init)
2028 
2029 static char *yval(void);
2030 
2031 static int lex_error;
2032 static char msgbuf[HUGE_BUF];
2033 size_t msglen = 0, total_msglen = 0;
2034 static char lorebuf[HUGE_BUF];
2035 
2037 #define SET_OR_CLEAR_FLAG(op, flag, val) \
2038  { if (val) SET_FLAG(op, flag); else CLEAR_FLAG(op, flag); }
2039 
2040 #define SET_RESIST(op, type, val) op->resist[type] = val;
2041 
2042 
2044 #define IVAL atoi(yval())
2045 
2046 #define FVAL atof(yval())
2047 
2053 static bool seen_object = false;
2054 
2061 static void reverse_ob_inv(object *op) {
2062  object *prev = NULL;
2063  object *curr = op->inv;
2064  object *next;
2065  while (curr != NULL) {
2066  next = curr->below;
2067  curr->below = prev;
2068  curr->above = next;
2069  prev = curr;
2070  curr = next;
2071  }
2072  op->inv = prev;
2073 }
2074 
2079 static void reverse_ob_key_values(object *op) {
2080  key_value *prev = NULL;
2081  key_value *curr = op->key_values;
2082  key_value *next;
2083  while (curr != NULL) {
2084  next = curr->next;
2085  curr->next = prev;
2086  prev = curr;
2087  curr = next;
2088  }
2089  op->key_values = prev;
2090 }
2091 
2100 static void set_body_info(object *op, char *params) {
2101  int i;
2102  char *cp;
2103 
2104  /* go to first space character */
2105  for (cp = params; !isspace(*cp); cp++)
2106  ;
2107 
2108  *cp++ = 0; /* null it out */
2109 
2110  for (i = 0; i < NUM_BODY_LOCATIONS; i++) {
2111  if (!strcmp(params, body_locations[i].save_name)) {
2112  op->body_info[i] = atoi(cp);
2113  return; /* Only one line passed in params */
2114  }
2115  }
2116  LOG(llevError, "set_body_info called with bogus params: %s\n", params);
2117 }
2118 
2130 static void check_loaded_object(object *op, bool arch_init) {
2131  if (!is_type_valid(op->type)) {
2132  LOG(llevError, "Invalid type %d for %s\n", op->type, op->arch ? op->arch->name : op->name);
2133  op->type = 0;
2134  }
2135 
2136  /* We do some specialized handling to handle legacy cases of name_pl.
2137  * If the object doesn't have a name_pl, we just use the object name -
2138  * this isn't perfect (things won't be properly pluralized), but works to
2139  * that degree (5 heart is still quite understandable). But the case we
2140  * also have to catch is if this object is not using the normal name for
2141  * the object. In that case, we also want to use the loaded name.
2142  * Otherwise, what happens is that the the plural name will lose
2143  * information (appear as just 'hearts' and not 'goblins heart')
2144  */
2145  if (op->arch && op->name != op->arch->clone.name && op->name_pl == op->arch->clone.name_pl) {
2146  if (op->name_pl) {
2147  free_string(op->name_pl);
2148  op->name_pl = NULL;
2149  }
2150  }
2151  if (!op->name_pl && op->name)
2152  op->name_pl = add_string(op->name);
2153 
2154  /* objects now have a materialname. try to patch it in */
2155  if (!(IS_WEAPON(op) && op->level > 0)) {
2157  }
2158  /* only do these when program is first run - a bit
2159  * excessive to do this at every run - most of this is
2160  * really just to catch any errors - program will still run, but
2161  * not in the ideal fashion.
2162  */
2163  if ((op->type == WEAPON || op->type == BOW) && arch_init) {
2164  if (!op->skill) {
2165  LOG(llevError, "Weapon %s lacks a skill.\n", op->name);
2166  } else if ((!strcmp(op->skill, "one handed weapons") && op->body_info[1] != -1) ||
2167  (!strcmp(op->skill, "two handed weapons") && op->body_info[1] != -2)) {
2168  LOG(llevError, "weapon %s arm usage does not match skill: %d, %s\n", op->name, op->body_info[1], op->skill);
2169  }
2170  }
2171 
2172  /* spellbooks & runes use slaying. But not to arch name, but to spell name */
2173  if ((op->type == SPELLBOOK || op->type == RUNE) && op->slaying && !op->inv && !arch_init) {
2174  object *tmp;
2175 
2178  op->randomitems = NULL; /* So another spell isn't created for this object */
2179  /* without this, value is all screwed up */
2180  op->value = op->arch->clone.value*op->inv->value;
2181  }
2182 
2183  if (QUERY_FLAG(op, FLAG_MONSTER)) {
2184  if (op->stats.hp > op->stats.maxhp)
2185  LOG(llevDebug, "Monster %s has hp set higher than maxhp (%d>%d)\n", op->name, op->stats.hp, op->stats.maxhp);
2186  }
2188  || op->type == CREATOR
2189  || op->type == CONVERTER) {
2190  /* Object will duplicate its content as part of the
2191  * generation process. To do this, we must flag inventory
2192  * so it remains unevaluated concerning the randomitems and
2193  * the living (a demonlord shouldn't cast from inside generator!)
2194  */
2196  }
2197 
2198  /* if the item is identified, ensure we got the correct face */
2201 
2202  /* Here we'll handle custom monsters. In order to handle them correctly, especially in the fix_object
2203  * method, we'll create a new temporary archetype containing defined values.
2204  * Of course this doesn't apply when loading archetypes or artifacts.
2205  */
2206  if (!arch_init
2208  && op->arch
2209  && !object_can_merge(op, &op->arch->clone)) {
2211  temp->reference_count++;
2212  temp->name = add_string(op->arch->name);
2213  temp->tail_x = op->arch->tail_x;
2214  temp->tail_y = op->arch->tail_y;
2215  object_copy(op, &temp->clone);
2216  temp->clone.inv = NULL;
2217  temp->clone.env = NULL;
2218  temp->clone.x = 0;
2219  temp->clone.y = 0;
2220  temp->clone.map = NULL;
2221  if (FABS(temp->clone.speed) > MIN_ACTIVE_SPEED) {
2222  /* Clone has a speed, so need to clear that because it isn't on a map.
2223  * But we need to keep the value, because otherwise the customized object
2224  * will have no speed (fix_player() will use the 0 value). So set it
2225  * to zero, call object_update_speed() to remove it from active list, then
2226  * set its speed back to the original.
2227  */
2228  temp->clone.speed = 0;
2229  object_update_speed(&temp->clone);
2230  temp->clone.speed = op->speed;
2231  }
2232 
2233  temp->more = op->arch->more;
2234  op->arch = temp;
2235  /* LOG(llevDebug, "created temporary archetype for %s at %d,%d\n", op->name, op->x, op->y); */
2236  }
2237 }
2238 
2249 static void add_key_value(object *op) {
2250  char *key = NULL;
2251  char *value = NULL;
2252  char *cp;
2253  char *end;
2254 
2255  /* First, skip over leading whitespace. */
2256  for (cp = yytext; isspace(*cp); cp++) {
2257  ;
2258  }
2259 
2260  key = cp;
2261 
2262  /* Now look for the end of the key/field name. */
2263  for (; !isspace(*cp); cp++) {
2264  if (*cp == '\0') {
2265  /* Oops, ran out of string! Set the key with an empty value. */
2266  object_set_value(op, key, NULL, TRUE);
2267  return;
2268  }
2269  }
2270 
2271  if (*cp == '\0') {
2272  object_set_value(op, key, NULL, TRUE);
2273  return;
2274  }
2275 
2276  /* Chop off the key, and start at the next character. */
2277  *cp = '\0';
2278  cp++;
2279  if (*cp == '\0') {
2280  /* Was followed by one space? */
2281  object_set_value(op, key, NULL, TRUE);
2282  return;
2283  }
2284 
2285  /* Now looking for the value. Skip over whitespace. */
2286  for (; isspace(*cp); cp++) {
2287  if (*cp == '\0') {
2288  /* Guess not. */
2289  object_set_value(op, key, NULL, TRUE);
2290  return;
2291  }
2292  }
2293 
2294  value = cp;
2295 
2296  /* Got last character before null and strip
2297  * off tailing whitespace
2298  */
2299  for (end = value+(strlen(cp)-1); isspace(*end); end--) {
2300  if (end == value) {
2301  /* *blink blink* Still no value? */
2302  object_set_value(op, key, NULL, TRUE);
2303  return;
2304  }
2305  *end = '\0';
2306  }
2308 }
2309 
2320 static void set_move(MoveType *mt, char *params, const char *prefix) {
2321  char *str;
2322  int i, negate;
2323 
2324  if (isdigit(*params)) {
2325  *mt = atoi(params);
2326  } else {
2327  *mt = 0;
2328  for (str = strtok(params, " "); str; str = strtok(NULL, " ")) {
2329  negate = 0;
2330  if (!strcasecmp(str, "all"))
2331  *mt |= MOVE_ALL;
2332  else {
2333  if (*str == '-') {
2334  negate = 1;
2335  str++;
2336  }
2337  for (i = 0; move_name[i] != NULL; i++) {
2338  if (!strcasecmp(move_name[i], str)) {
2339  if (negate) {
2340  *mt &= ~(1<<i);
2341  } else {
2342  *mt |= (1<<i);
2343  }
2344  break;
2345  }
2346  }
2347  if (move_name[i] == NULL) {
2348  /* fly is a special case - covers both fly_low and
2349  * fly_high - since it doesn't match to a specific
2350  * single bit, have to special case it.
2351  */
2352  if (!strcasecmp(str, "flying")) {
2353  if (negate) {
2354  *mt &= ~MOVE_FLYING;
2355  } else {
2356  *mt |= MOVE_FLYING;
2357  }
2358  } else {
2359  LOG(llevDebug, "common/loader.l: set_move(%s) - unknown move string '%s'\n", prefix, str);
2360  }
2361  }
2362  } /* Else not all move types */
2363  } /* for strtok */
2364  } /* Else not a numeric value */
2365 }
2366 
2367 #line 2368 "loader.cpp"
2368 
2369 /* Don't have to link with -lfl with this */
2370 /* need yy_push_state, yy_pop_state */
2371 /* those functions are unused, not sure of compatibility with Flex versions. */
2372 #define YY_NO_INPUT 1
2373 #line 2374 "loader.cpp"
2374 
2375 #define INITIAL 0
2376 #define MESSAGE 1
2377 #define LORE 2
2378 #define SCRIPT 3
2379 
2380 #ifndef YY_NO_UNISTD_H
2381 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2382  * down here because we want the user's section 1 to have been scanned first.
2383  * The user has a chance to override it with an option.
2384  */
2385 #include <unistd.h>
2386 #endif
2387 
2388 #ifndef YY_EXTRA_TYPE
2389 #define YY_EXTRA_TYPE void *
2390 #endif
2391 
2392 static int yy_init_globals ( void );
2393 
2394 /* Accessor methods to globals.
2395  These are made visible to non-reentrant scanners for convenience. */
2396 
2397 int yylex_destroy ( void );
2398 
2399 int yyget_debug ( void );
2400 
2401 void yyset_debug ( int debug_flag );
2402 
2403 YY_EXTRA_TYPE yyget_extra ( void );
2404 
2405 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2406 
2407 FILE *yyget_in ( void );
2408 
2409 void yyset_in ( FILE * _in_str );
2410 
2411 FILE *yyget_out ( void );
2412 
2413 void yyset_out ( FILE * _out_str );
2414 
2415  int yyget_leng ( void );
2416 
2417 char *yyget_text ( void );
2418 
2419 int yyget_lineno ( void );
2420 
2421 void yyset_lineno ( int _line_number );
2422 
2423 /* Macros after this point can all be overridden by user definitions in
2424  * section 1.
2425  */
2426 
2427 #ifndef YY_SKIP_YYWRAP
2428 #ifdef __cplusplus
2429 extern "C" int yywrap ( void );
2430 #else
2431 extern int yywrap ( void );
2432 #endif
2433 #endif
2434 
2435 #ifndef YY_NO_UNPUT
2436 
2437 #endif
2438 
2439 #ifndef yytext_ptr
2440 static void yy_flex_strncpy ( char *, const char *, int );
2441 #endif
2442 
2443 #ifdef YY_NEED_STRLEN
2444 static int yy_flex_strlen ( const char * );
2445 #endif
2446 
2447 #ifndef YY_NO_INPUT
2448 #ifdef __cplusplus
2449 static int yyinput ( void );
2450 #else
2451 static int input ( void );
2452 #endif
2453 
2454 #endif
2455 
2456  static int yy_start_stack_ptr = 0;
2457  static int yy_start_stack_depth = 0;
2458  static int *yy_start_stack = NULL;
2459 
2460  static void yy_push_state ( int _new_state );
2461 
2462  static void yy_pop_state ( void );
2463 
2464 /* Amount of stuff to slurp up with each read. */
2465 #ifndef YY_READ_BUF_SIZE
2466 #ifdef __ia64__
2467 /* On IA-64, the buffer size is 16k, not 8k */
2468 #define YY_READ_BUF_SIZE 16384
2469 #else
2470 #define YY_READ_BUF_SIZE 8192
2471 #endif /* __ia64__ */
2472 #endif
2473 
2474 /* Copy whatever the last rule matched to the standard output. */
2475 #ifndef ECHO
2476 /* This used to be an fputs(), but since the string might contain NUL's,
2477  * we now use fwrite().
2478  */
2479 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2480 #endif
2481 
2482 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2483  * is returned in "result".
2484  */
2485 #ifndef YY_INPUT
2486 #define YY_INPUT(buf,result,max_size) \
2487  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2488  { \
2489  int c = '*'; \
2490  int n; \
2491  for ( n = 0; n < max_size && \
2492  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2493  buf[n] = (char) c; \
2494  if ( c == '\n' ) \
2495  buf[n++] = (char) c; \
2496  if ( c == EOF && ferror( yyin ) ) \
2497  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2498  result = n; \
2499  } \
2500  else \
2501  { \
2502  errno=0; \
2503  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2504  { \
2505  if( errno != EINTR) \
2506  { \
2507  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2508  break; \
2509  } \
2510  errno=0; \
2511  clearerr(yyin); \
2512  } \
2513  }\
2514 \
2515 
2516 #endif
2517 
2518 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2519  * we don't want an extra ';' after the "return" because that will cause
2520  * some compilers to complain about unreachable statements.
2521  */
2522 #ifndef yyterminate
2523 #define yyterminate() return YY_NULL
2524 #endif
2525 
2526 /* Number of entries by which start-condition stack grows. */
2527 #ifndef YY_START_STACK_INCR
2528 #define YY_START_STACK_INCR 25
2529 #endif
2530 
2531 /* Report a fatal error. */
2532 #ifndef YY_FATAL_ERROR
2533 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2534 #endif
2535 
2536 /* end tables serialization structures and prototypes */
2537 
2538 /* Default declaration of generated scanner - a define so the user can
2539  * easily add parameters.
2540  */
2541 #ifndef YY_DECL
2542 #define YY_DECL_IS_OURS 1
2543 
2544 extern int yylex (void);
2545 
2546 #define YY_DECL int yylex (void)
2547 #endif /* !YY_DECL */
2548 
2549 /* Code executed at the beginning of each rule, after yytext and yyleng
2550  * have been set up.
2551  */
2552 #ifndef YY_USER_ACTION
2553 #define YY_USER_ACTION
2554 #endif
2555 
2556 /* Code executed at the end of each rule. */
2557 #ifndef YY_BREAK
2558 #define YY_BREAK /*LINTED*/break;
2559 #endif
2560 
2561 #define YY_RULE_SETUP \
2562  if ( yyleng > 0 ) \
2563  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2564  (yytext[yyleng - 1] == '\n'); \
2565  YY_USER_ACTION
2566 
2569 YY_DECL
2571  yy_state_type yy_current_state;
2572  char *yy_cp, *yy_bp;
2573  int yy_act;
2574 
2575  if ( !(yy_init) )
2576  {
2577  (yy_init) = 1;
2578 
2579 #ifdef YY_USER_INIT
2580  YY_USER_INIT;
2581 #endif
2582 
2583  if ( ! (yy_start) )
2584  (yy_start) = 1; /* first start state */
2585 
2586  if ( ! yyin )
2587  yyin = stdin;
2588 
2589  if ( ! yyout )
2590  yyout = stdout;
2591 
2592  if ( ! YY_CURRENT_BUFFER ) {
2596  }
2597 
2599  }
2600 
2601  {
2602 #line 385 "../common/loader.l"
2603 
2604 
2605 
2606 #line 389 "../common/loader.l"
2607 /* Declare some local variables */
2608  object *op = items[*depth];
2609  lex_error = 0;
2610 
2611 
2612 
2613 #line 2614 "loader.cpp"
2614 
2615  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2616  {
2617  yy_cp = (yy_c_buf_p);
2618 
2619  /* Support of yytext. */
2620  *yy_cp = (yy_hold_char);
2621 
2622  /* yy_bp points to the position in yy_ch_buf of the start of
2623  * the current run.
2624  */
2625  yy_bp = yy_cp;
2626 
2627  yy_current_state = (yy_start);
2628  yy_current_state += YY_AT_BOL();
2629 yy_match:
2630  do
2631  {
2632  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2633  if ( yy_accept[yy_current_state] )
2634  {
2635  (yy_last_accepting_state) = yy_current_state;
2637  }
2638  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2639  {
2640  yy_current_state = (int) yy_def[yy_current_state];
2641  if ( yy_current_state >= 2020 )
2642  yy_c = yy_meta[yy_c];
2643  }
2644  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2645  ++yy_cp;
2646  }
2647  while ( yy_current_state != 2019 );
2649  yy_current_state = (yy_last_accepting_state);
2650 
2651 yy_find_action:
2652  yy_act = yy_accept[yy_current_state];
2653 
2655 
2656 do_action: /* This label is used only to access EOF actions. */
2657 
2658  switch ( yy_act )
2659  { /* beginning of action switch */
2660  case 0: /* must back up */
2661  /* undo the effects of YY_DO_BEFORE_ACTION */
2662  *yy_cp = (yy_hold_char);
2664  yy_current_state = (yy_last_accepting_state);
2665  goto yy_find_action;
2666 
2667 case 1:
2668 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2669 (yy_c_buf_p) = yy_cp -= 1;
2670 YY_DO_BEFORE_ACTION; /* set up yytext again */
2672 #line 395 "../common/loader.l"
2673 { BEGIN(MESSAGE); msgbuf[0] = '\0'; msglen = 0; total_msglen = 0;}
2674  YY_BREAK
2675 case 2:
2676 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2677 (yy_c_buf_p) = yy_cp -= 1;
2678 YY_DO_BEFORE_ACTION; /* set up yytext again */
2680 #line 396 "../common/loader.l"
2681 { BEGIN(INITIAL);
2683  /* Just print a warning so we can be reasonably safe
2684  * about not overflowing the buffer.
2685  */
2686  if (total_msglen > (HUGE_BUF / 2))
2687  LOG(llevDebug,
2688  "warning: msg in '%s' on %s is very long (%lu "
2689  "characters)\n",
2690  op->name,
2691  op->map != NULL ? op->map->path : "no map",
2692  (unsigned long)total_msglen);
2693  }
2694  YY_BREAK
2695 case 3:
2697 #line 409 "../common/loader.l"
2699  safe_strcat(msgbuf, "\n", &msglen, HUGE_BUF);
2700  total_msglen += strlen(yytext)+1;
2701  }
2702  YY_BREAK
2703 case 4:
2704 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2705 (yy_c_buf_p) = yy_cp -= 1;
2706 YY_DO_BEFORE_ACTION; /* set up yytext again */
2708 #line 414 "../common/loader.l"
2709 { BEGIN(LORE); lorebuf[0] = '\0'; }
2710  YY_BREAK
2711 case 5:
2712 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2713 (yy_c_buf_p) = yy_cp -= 1;
2714 YY_DO_BEFORE_ACTION; /* set up yytext again */
2716 #line 415 "../common/loader.l"
2717 { BEGIN(INITIAL);
2718  op->lore = add_string(lorebuf);
2719  /* Just print a warning so we can be reasonably safe
2720  * about not overflowing the buffer.
2721  */
2722  if (strlen(op->lore) > (HUGE_BUF/2))
2723  LOG(llevDebug, "\n\tWarning lore length > %d (max allowed=%d): %lu\n>%.80s<\n",
2724  HUGE_BUF/2, HUGE_BUF, (unsigned long)strlen(op->lore), op->lore);
2725  }
2726  YY_BREAK
2727 case 6:
2729 #line 424 "../common/loader.l"
2730 { strcat(lorebuf, yytext); strcat(lorebuf, "\n"); }
2731  YY_BREAK
2732 case 7:
2734 #line 426 "../common/loader.l"
2735 {
2736  char *yv = yval();
2737 
2738  if (*yv == '\0') {
2739  LOG(llevError, "Object lacks name.\n");
2740  return LL_IGNORED;
2741  }
2742  if (seen_object) {
2743  LOG(llevError, "An object started before the 'end' of object %s.\n", (op->arch && op->arch->name) ? op->arch->name : "(no name)");
2744  }
2745  if (op->arch != NULL)
2746  op->arch->name = add_string(yv);
2747  op->name = add_string(yv);
2748  seen_object = true;
2749  }
2750  YY_BREAK
2751 case 8:
2753 #line 442 "../common/loader.l"
2754 {
2755  char *yv = yval();
2756 
2757  if (*yv == '\0')
2758  LOG(llevError, "Name without val\n");
2759  else
2760  FREE_AND_COPY(op->name, yv);
2761  }
2762  YY_BREAK
2763 case 9:
2765 #line 450 "../common/loader.l"
2766 {
2767  char *yv = yval();
2768 
2769  if (*yv == '\0')
2770  LOG(llevError, "Name without val\n");
2771  else
2772  FREE_AND_COPY(op->name_pl, yv);
2773  }
2774  YY_BREAK
2775 case 10:
2777 #line 458 "../common/loader.l"
2778 {
2779  char *yv = yval();
2780 
2781  if (*yv == '\0')
2782  LOG(llevError, "Anim suffix without val\n");
2783  else
2784  FREE_AND_COPY(op->anim_suffix, yv);
2785  }
2786  YY_BREAK
2787 case 11:
2789 #line 466 "../common/loader.l"
2790 FREE_AND_COPY(op->skill, yval());
2791  YY_BREAK
2792 case 12:
2794 #line 467 "../common/loader.l"
2795 FREE_AND_COPY(op->race, yval());
2796  YY_BREAK
2797 case 13:
2799 #line 468 "../common/loader.l"
2800 FREE_AND_COPY(op->slaying, yval());
2801  YY_BREAK
2802 case 14:
2804 #line 469 "../common/loader.l"
2805 {
2806  if (op->arch) {
2807  /*
2808  Here an object must be inserted into another object,
2809  during archetypes, artifact or map loading.
2810 
2811  The logic is as follow:
2812  - in linemode, we are loading artifacts, so just
2813  increase depth, next calls will work on object
2814  in inventory, and insertion in previous object done
2815  in the "end" part
2816  - when not in linemode, two cases:
2817  - arch_init is not set, then we are loading a map
2818  - arch_init is set, we are loading archetypes,
2819  discard the object, it'll be handled in a second pass
2820  */
2821  object *tmp;
2822  char *yv = yval();
2823 
2824  tmp = object_new();
2825  tmp->arch = find_archetype(yv);
2826  if (arch_init || artifact_init) {
2827  object_copy_no_speed(&tmp->arch->clone, tmp);
2828  } else {
2829  object_copy(&tmp->arch->clone, tmp);
2830  }
2831  strcpy(msgbuf, "");
2832  strcpy(lorebuf, "");
2833  msglen = 0;
2834  total_msglen = 0;
2835  (*depth)++;
2836  items[*depth] = tmp;
2837  if (linemode == 0) {
2838  lex_load(depth, items, maxdepth, map_flags, linemode, ismore, arch_init, artifact_init);
2839  (*depth)--;
2841  }
2842  } else {
2843  /* Here we are loading an object in a map, on a spot, not
2844  * in another object's inventory */
2845  char *yv = yval();
2846 
2847  op->arch = find_archetype(yv);
2848  if (arch_init || artifact_init) {
2849  object_copy_no_speed(&op->arch->clone, op);
2850  } else {
2851  object_copy(&op->arch->clone, op);
2852  }
2853  }
2854  }
2855  YY_BREAK
2856 case 15:
2858 #line 519 "../common/loader.l"
2859 {
2860  const char *yv = yval();
2861  const artifact *art = find_artifact(op, yv);
2862  if (art == NULL) {
2863  LOG(llevError, "can't find artifact %s [%d]\n for loading", yv, op->type);
2864  } else {
2866  }
2867  }
2868  YY_BREAK
2869 case 16:
2871 #line 529 "../common/loader.l"
2872 op->other_arch = find_archetype(yval());
2873  YY_BREAK
2874 case 17:
2876 #line 530 "../common/loader.l"
2877 {
2878  if (strcmp (yval(), "NONE") == 0) {
2879  op->animation = NULL;
2881  } else {
2882  op->animation = find_animation (yval());
2884  }
2885  }
2886  YY_BREAK
2887 case 18:
2888 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2889 (yy_c_buf_p) = yy_cp -= 1;
2890 YY_DO_BEFORE_ACTION; /* set up yytext again */
2892 #line 540 "../common/loader.l"
2893 { /* We need to record that this is a multipart object,
2894  * so the calling function can glue things back together
2895  */
2896  if ((*depth) > 0) {
2897  LOG(llevError, "Got 'more' in depth %d (object %s)\n", *depth, items[*depth]->name);
2898  }
2899  (*ismore) = 1;
2900  }
2901  YY_BREAK
2902 case 19:
2903 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2904 (yy_c_buf_p) = yy_cp -= 1;
2905 YY_DO_BEFORE_ACTION; /* set up yytext again */
2907 #line 549 "../common/loader.l"
2908 {
2909  seen_object = false;
2910  if (!artifact_init) {
2912  }
2913  reverse_ob_inv(op);
2915  if (linemode) {
2916  /* Linemode is only set for artifact loading. */
2917  if ((*depth) > 0) {
2918  /* Object we finished is in another object's inventory */
2919  object_insert_in_ob(items[*depth], items[(*depth)-1]);
2920  }
2921  return LL_NORMAL;
2922  }
2923  if (*ismore)
2924  return LL_MORE;
2925  else
2926  return LL_NORMAL;
2927  }
2928  YY_BREAK
2929 case 20:
2931 #line 569 "../common/loader.l"
2932 op->last_heal = IVAL;
2933  YY_BREAK
2934 case 21:
2936 #line 570 "../common/loader.l"
2937 op->last_sp = IVAL;
2938  YY_BREAK
2939 case 22:
2941 #line 571 "../common/loader.l"
2942 op->last_grace = IVAL;
2943  YY_BREAK
2944 case 23:
2946 #line 572 "../common/loader.l"
2947 op->last_eat = IVAL;
2948  YY_BREAK
2949 case 24:
2951 #line 573 "../common/loader.l"
2952 {
2953  op->speed = FVAL;
2954  if (!(map_flags&MAP_STYLE)) {
2955  if (op->speed < 0) {
2956  op->speed_left = op->speed_left-RANDOM()%100/100.0;
2957  op->speed = -op->speed; // Make this always positive
2958  }
2959  if (!arch_init) {
2961  }
2962  }
2963  }
2964  YY_BREAK
2965 case 25:
2967 #line 585 "../common/loader.l"
2968 op->speed_left = FVAL;
2969  YY_BREAK
2970 case 26:
2972 #line 587 "../common/loader.l"
2973 op->weapon_speed_left = FVAL;
2974  YY_BREAK
2975 case 27:
2977 #line 588 "../common/loader.l"
2978 op->weapon_speed = FVAL;
2979  YY_BREAK
2980 case 28:
2982 #line 590 "../common/loader.l"
2983 {
2984  op->move_slow |= MOVE_WALK;
2985  op->move_slow_penalty = FVAL;
2986  }
2987  YY_BREAK
2988 case 29:
2990 #line 594 "../common/loader.l"
2991 {
2992  char *y = yval();
2993 
2994  if (*y == '\0')
2995  LOG(llevError, "Title without value.\n");
2996  else
2997  FREE_AND_COPY(op->title, y);
2998  }
2999  YY_BREAK
3000 case 30:
3002 #line 603 "../common/loader.l"
3003 {
3004  op->face = find_face(yval());
3005  }
3006  YY_BREAK
3007 case 31:
3009 #line 606 "../common/loader.l"
3010 op->stats.Str = IVAL;
3011  YY_BREAK
3012 case 32:
3014 #line 607 "../common/loader.l"
3015 op->stats.Dex = IVAL;
3016  YY_BREAK
3017 case 33:
3019 #line 608 "../common/loader.l"
3020 op->stats.Con = IVAL;
3021  YY_BREAK
3022 case 34:
3024 #line 609 "../common/loader.l"
3025 op->stats.Wis = IVAL;
3026  YY_BREAK
3027 case 35:
3029 #line 610 "../common/loader.l"
3030 op->stats.Cha = IVAL;
3031  YY_BREAK
3032 case 36:
3034 #line 611 "../common/loader.l"
3035 op->stats.Int = IVAL;
3036  YY_BREAK
3037 case 37:
3039 #line 612 "../common/loader.l"
3040 op->stats.Pow = IVAL;
3041  YY_BREAK
3042 case 38:
3044 #line 613 "../common/loader.l"
3045 op->stats.hp = IVAL;
3046  YY_BREAK
3047 case 39:
3049 #line 614 "../common/loader.l"
3050 op->stats.maxhp = IVAL;
3051  YY_BREAK
3052 case 40:
3054 #line 615 "../common/loader.l"
3055 op->stats.sp = IVAL;
3056  YY_BREAK
3057 case 41:
3059 #line 616 "../common/loader.l"
3060 op->stats.maxsp = IVAL;
3061  YY_BREAK
3062 case 42:
3064 #line 617 "../common/loader.l"
3065 op->stats.grace = IVAL;
3066  YY_BREAK
3067 case 43:
3069 #line 618 "../common/loader.l"
3070 op->stats.maxgrace = IVAL;
3071  YY_BREAK
3072 case 44:
3074 #line 619 "../common/loader.l"
3075 op->stats.exp = atoll(yval());
3076  YY_BREAK
3077 case 45:
3079 #line 620 "../common/loader.l"
3080 op->total_exp = atoll(yval());
3081  YY_BREAK
3082 case 46:
3084 #line 621 "../common/loader.l"
3085 op->total_exp = (atoll(yval()) * 100 / settings.permanent_exp_ratio);
3086  YY_BREAK
3087 case 47:
3089 #line 622 "../common/loader.l"
3090 op->stats.food = IVAL;
3091  YY_BREAK
3092 case 48:
3094 #line 623 "../common/loader.l"
3095 op->stats.dam = IVAL;
3096  YY_BREAK
3097 case 49:
3099 #line 624 "../common/loader.l"
3100 op->stats.wc = IVAL;
3101  YY_BREAK
3102 case 50:
3104 #line 625 "../common/loader.l"
3105 op->stats.ac = IVAL;
3106  YY_BREAK
3107 case 51:
3109 #line 626 "../common/loader.l"
3110 { op->x = IVAL; op->ox= op->x; }
3111  YY_BREAK
3112 case 52:
3114 #line 627 "../common/loader.l"
3115 { op->y = IVAL; op->oy= op->y; }
3116  YY_BREAK
3117 case 53:
3119 #line 628 "../common/loader.l"
3120 op->nrof= atol(yval());
3121  YY_BREAK
3122 case 54:
3124 #line 629 "../common/loader.l"
3125 op->level = IVAL;
3126  YY_BREAK
3127 case 55:
3129 #line 630 "../common/loader.l"
3130 op->direction = IVAL;
3131  YY_BREAK
3132 case 56:
3134 #line 631 "../common/loader.l"
3135 op->type = IVAL;
3136  YY_BREAK
3137 case 57:
3139 #line 632 "../common/loader.l"
3140 op->subtype = IVAL;
3141  YY_BREAK
3142 case 58:
3144 #line 633 "../common/loader.l"
3145 op->material = IVAL;
3146  YY_BREAK
3147 case 59:
3149 #line 634 "../common/loader.l"
3150 {
3151  char *yv = yval();
3152 
3153  if (*yv == '\0')
3154  LOG(llevError, "Materialname without val\n");
3155  else
3156  FREE_AND_COPY(op->materialname, yv);
3157  }
3158  YY_BREAK
3159 case 60:
3161 #line 643 "../common/loader.l"
3162 op->value = IVAL;
3163  YY_BREAK
3164 case 61:
3166 #line 644 "../common/loader.l"
3167 {
3168  op->weight = atol(yval());
3169  if (op->weight == 0) {
3171  }
3172  }
3173  YY_BREAK
3174 case 62:
3176 #line 650 "../common/loader.l"
3177 op->carrying = atol(yval());
3178  YY_BREAK
3179 case 63:
3181 #line 651 "../common/loader.l"
3182 op->attacktype = IVAL;
3183  YY_BREAK
3184 case 64:
3186 #line 652 "../common/loader.l"
3187 op->path_attuned = IVAL;
3188  YY_BREAK
3189 case 65:
3191 #line 653 "../common/loader.l"
3192 op->path_repelled = IVAL;
3193  YY_BREAK
3194 case 66:
3196 #line 654 "../common/loader.l"
3197 op->path_denied = IVAL;
3198  YY_BREAK
3199 case 67:
3201 #line 655 "../common/loader.l"
3202 op->invisible = IVAL;
3203  YY_BREAK
3204 case 68:
3206 #line 656 "../common/loader.l"
3207 op->magic = IVAL;
3208  YY_BREAK
3209 case 69:
3211 #line 657 "../common/loader.l"
3212 op->state = IVAL;
3213  YY_BREAK
3214 case 70:
3216 #line 658 "../common/loader.l"
3218  YY_BREAK
3219 case 71:
3221 #line 659 "../common/loader.l"
3223  YY_BREAK
3224 case 72:
3226 #line 660 "../common/loader.l"
3228  YY_BREAK
3229 case 73:
3231 #line 661 "../common/loader.l"
3233  YY_BREAK
3234 case 74:
3236 #line 662 "../common/loader.l"
3238  YY_BREAK
3239 case 75:
3241 #line 663 "../common/loader.l"
3243  YY_BREAK
3244 case 76:
3246 #line 664 "../common/loader.l"
3248  YY_BREAK
3249  /* These are the new values */
3250 
3251 case 77:
3253 #line 668 "../common/loader.l"
3254 set_move(&op->move_block, yval(), "block");
3255  YY_BREAK
3256 case 78:
3258 #line 669 "../common/loader.l"
3259 set_move(&op->move_allow, yval(), "allow");
3260  YY_BREAK
3261 case 79:
3263 #line 670 "../common/loader.l"
3264 set_move(&op->move_type, yval(), "type");
3265  YY_BREAK
3266 case 80:
3268 #line 671 "../common/loader.l"
3269 set_move(&op->move_on, yval(), "on");
3270  YY_BREAK
3271 case 81:
3273 #line 672 "../common/loader.l"
3274 set_move(&op->move_off, yval(), "off");
3275  YY_BREAK
3276 case 82:
3278 #line 673 "../common/loader.l"
3279 set_move(&op->move_slow, yval(), "slow");
3280  YY_BREAK
3281 case 83:
3283 #line 674 "../common/loader.l"
3284 op->move_slow_penalty = FVAL;
3285  YY_BREAK
3286 case 84:
3288 #line 677 "../common/loader.l"
3290  YY_BREAK
3291 case 85:
3293 #line 678 "../common/loader.l"
3295  YY_BREAK
3296 case 86:
3298 #line 679 "../common/loader.l"
3300  YY_BREAK
3301 case 87:
3303 #line 680 "../common/loader.l"
3305  YY_BREAK
3306 case 88:
3308 #line 681 "../common/loader.l"
3309 {
3310  if (IVAL) {
3312  if (op->type != PLAYER && !arch_init) {
3313  LOG(llevDebug, " Adding friendly object %s.\n", op->name);
3315  }
3316  }
3317  else
3319  }
3320  YY_BREAK
3321 case 89:
3323 #line 692 "../common/loader.l"
3325  YY_BREAK
3326 case 90:
3328 #line 693 "../common/loader.l"
3330  YY_BREAK
3331 case 91:
3333 #line 694 "../common/loader.l"
3335  YY_BREAK
3336 case 92:
3338 #line 695 "../common/loader.l"
3340  YY_BREAK
3341 case 93:
3343 #line 696 "../common/loader.l"
3345  YY_BREAK
3346 case 94:
3348 #line 697 "../common/loader.l"
3350  YY_BREAK
3351 case 95:
3353 #line 698 "../common/loader.l"
3355  YY_BREAK
3356 case 96:
3358 #line 699 "../common/loader.l"
3360  YY_BREAK
3361 case 97:
3363 #line 700 "../common/loader.l"
3365  YY_BREAK
3366 case 98:
3368 #line 701 "../common/loader.l"
3370  YY_BREAK
3371 case 99:
3373 #line 702 "../common/loader.l"
3374 {
3375  if (IVAL) {
3377  }
3378  else
3380  }
3381  YY_BREAK
3382 case 100:
3384 #line 709 "../common/loader.l"
3386  YY_BREAK
3387 case 101:
3389 #line 710 "../common/loader.l"
3391  YY_BREAK
3392 case 102:
3394 #line 711 "../common/loader.l"
3396  YY_BREAK
3397 case 103:
3399 #line 712 "../common/loader.l"
3401  YY_BREAK
3402 case 104:
3404 #line 713 "../common/loader.l"
3406  YY_BREAK
3407 case 105:
3409 #line 714 "../common/loader.l"
3411  YY_BREAK
3412 case 106:
3414 #line 715 "../common/loader.l"
3415 { /* This field is used by Gridarta, so it's not an error. */ }
3416  YY_BREAK
3417 case 107:
3419 #line 716 "../common/loader.l"
3421  YY_BREAK
3422 case 108:
3424 #line 717 "../common/loader.l"
3426  YY_BREAK
3427 case 109:
3429 #line 718 "../common/loader.l"
3431  YY_BREAK
3432 case 110:
3434 #line 719 "../common/loader.l"
3436  YY_BREAK
3437 case 111:
3439 #line 720 "../common/loader.l"
3441  YY_BREAK
3442 case 112:
3444 #line 721 "../common/loader.l"
3446  YY_BREAK
3447 case 113:
3449 #line 722 "../common/loader.l"
3450 {
3451  if (IVAL) {
3452  SET_FLAG(op, FLAG_WIZ);
3456  } else {
3460  }
3461  }
3462  YY_BREAK
3463 case 114:
3465 #line 734 "../common/loader.l"
3467  YY_BREAK
3468 case 115:
3470 #line 735 "../common/loader.l"
3472  YY_BREAK
3473 case 116:
3475 #line 736 "../common/loader.l"
3477  YY_BREAK
3478 case 117:
3480 #line 737 "../common/loader.l"
3482  YY_BREAK
3483 case 118:
3485 #line 738 "../common/loader.l"
3486 op->stats.luck = IVAL;
3487  YY_BREAK
3488 case 119:
3490 #line 739 "../common/loader.l"
3491 op->run_away = IVAL;
3492  YY_BREAK
3493 case 120:
3495 #line 740 "../common/loader.l"
3496 op->pick_up = IVAL;
3497  YY_BREAK
3498 case 121:
3500 #line 741 "../common/loader.l"
3501 op->item_power = IVAL;
3502  YY_BREAK
3503 case 122:
3505 #line 742 "../common/loader.l"
3506 op->gen_sp_armour = IVAL;
3507  YY_BREAK
3508 case 123:
3510 #line 743 "../common/loader.l"
3511 op->anim_speed = IVAL;
3512  YY_BREAK
3513 case 124:
3515 #line 744 "../common/loader.l"
3516 op->weight_limit = IVAL;
3517  YY_BREAK
3518 case 125:
3520 #line 745 "../common/loader.l"
3522  YY_BREAK
3523 case 126:
3525 #line 746 "../common/loader.l"
3526 op->will_apply = IVAL;
3527  YY_BREAK
3528 case 127:
3530 #line 747 "../common/loader.l"
3532  YY_BREAK
3533 case 128:
3535 #line 748 "../common/loader.l"
3537  YY_BREAK
3538 case 129:
3540 #line 749 "../common/loader.l"
3542  YY_BREAK
3543 case 130:
3545 #line 750 "../common/loader.l"
3547  YY_BREAK
3548 case 131:
3550 #line 751 "../common/loader.l"
3552  YY_BREAK
3553 case 132:
3555 #line 752 "../common/loader.l"
3557  YY_BREAK
3558 case 133:
3560 #line 753 "../common/loader.l"
3562  YY_BREAK
3563 case 134:
3565 #line 754 "../common/loader.l"
3567  YY_BREAK
3568 case 135:
3570 #line 755 "../common/loader.l"
3572  YY_BREAK
3573 case 136:
3575 #line 756 "../common/loader.l"
3577  YY_BREAK
3578 case 137:
3580 #line 757 "../common/loader.l"
3582  YY_BREAK
3583 case 138:
3585 #line 758 "../common/loader.l"
3587  YY_BREAK
3588 case 139:
3590 #line 759 "../common/loader.l"
3592  YY_BREAK
3593 case 140:
3595 #line 760 "../common/loader.l"
3597  YY_BREAK
3598 case 141:
3600 #line 761 "../common/loader.l"
3602  YY_BREAK
3603 case 142:
3605 #line 762 "../common/loader.l"
3607  YY_BREAK
3608 case 143:
3610 #line 763 "../common/loader.l"
3612  YY_BREAK
3613 case 144:
3615 #line 765 "../common/loader.l"
3617  YY_BREAK
3618 case 145:
3620 #line 766 "../common/loader.l"
3622  YY_BREAK
3623 /* Start of various attacktypes */
3624 case 146:
3626 #line 769 "../common/loader.l"
3628  YY_BREAK
3629 case 147:
3631 #line 770 "../common/loader.l"
3633  YY_BREAK
3634 case 148:
3636 #line 771 "../common/loader.l"
3638  YY_BREAK
3639 case 149:
3641 #line 772 "../common/loader.l"
3643  YY_BREAK
3644 case 150:
3646 #line 773 "../common/loader.l"
3648  YY_BREAK
3649 case 151:
3651 #line 774 "../common/loader.l"
3653  YY_BREAK
3654 case 152:
3656 #line 775 "../common/loader.l"
3658  YY_BREAK
3659 case 153:
3661 #line 776 "../common/loader.l"
3663  YY_BREAK
3664 case 154:
3666 #line 777 "../common/loader.l"
3668  YY_BREAK
3669 case 155:
3671 #line 778 "../common/loader.l"
3673  YY_BREAK
3674 case 156:
3676 #line 779 "../common/loader.l"
3678  YY_BREAK
3679 case 157:
3681 #line 780 "../common/loader.l"
3683  YY_BREAK
3684 case 158:
3686 #line 781 "../common/loader.l"
3688  YY_BREAK
3689 case 159:
3691 #line 782 "../common/loader.l"
3693  YY_BREAK
3694 case 160:
3696 #line 783 "../common/loader.l"
3698  YY_BREAK
3699 case 161:
3701 #line 784 "../common/loader.l"
3703  YY_BREAK
3704 case 162:
3706 #line 785 "../common/loader.l"
3708  YY_BREAK
3709 case 163:
3711 #line 786 "../common/loader.l"
3713  YY_BREAK
3714 case 164:
3716 #line 787 "../common/loader.l"
3718  YY_BREAK
3719 case 165:
3721 #line 788 "../common/loader.l"
3723  YY_BREAK
3724 case 166:
3726 #line 789 "../common/loader.l"
3728  YY_BREAK
3729 case 167:
3731 #line 790 "../common/loader.l"
3733  YY_BREAK
3734 case 168:
3736 #line 791 "../common/loader.l"
3738  YY_BREAK
3739 case 169:
3741 #line 792 "../common/loader.l"
3743  YY_BREAK
3744 case 170:
3746 #line 793 "../common/loader.l"
3748  YY_BREAK
3749 case 171:
3751 #line 794 "../common/loader.l"
3753  YY_BREAK
3754 case 172:
3756 #line 795 "../common/loader.l"
3757 op->attack_movement = IVAL;
3758  YY_BREAK
3759 case 173:
3761 #line 796 "../common/loader.l"
3762 op->move_status = IVAL;
3763  YY_BREAK
3764 case 174:
3766 #line 797 "../common/loader.l"
3768  YY_BREAK
3769 case 175:
3771 #line 798 "../common/loader.l"
3773  YY_BREAK
3774 case 176:
3776 #line 799 "../common/loader.l"
3777 add_button_link(op, op->map, IVAL);
3778  YY_BREAK
3779 case 177:
3781 #line 800 "../common/loader.l"
3783  YY_BREAK
3784 case 178:
3786 #line 801 "../common/loader.l"
3788  YY_BREAK
3789 case 179:
3791 #line 802 "../common/loader.l"
3793  YY_BREAK
3794 case 180:
3796 #line 803 "../common/loader.l"
3798  YY_BREAK
3799 case 181:
3801 #line 804 "../common/loader.l"
3803  YY_BREAK
3804 case 182:
3806 #line 805 "../common/loader.l"
3808  YY_BREAK
3809 case 183:
3811 #line 806 "../common/loader.l"
3813  YY_BREAK
3814 case 184:
3816 #line 807 "../common/loader.l"
3818  YY_BREAK
3819 case 185:
3821 #line 808 "../common/loader.l"
3823  YY_BREAK
3824 case 186:
3826 #line 809 "../common/loader.l"
3828  YY_BREAK
3829 case 187:
3831 #line 810 "../common/loader.l"
3832 op->expmul = FVAL;
3833  YY_BREAK
3834 case 188:
3836 #line 811 "../common/loader.l"
3838  YY_BREAK
3839 case 189:
3841 #line 812 "../common/loader.l"
3843  YY_BREAK
3844 case 190:
3846 #line 813 "../common/loader.l"
3848  YY_BREAK
3849 case 191:
3851 #line 814 "../common/loader.l"
3853  YY_BREAK
3854 case 192:
3856 #line 815 "../common/loader.l"
3858  YY_BREAK
3859 case 193:
3861 #line 816 "../common/loader.l"
3863  YY_BREAK
3864 case 194:
3866 #line 817 "../common/loader.l"
3868  YY_BREAK
3869 case 195:
3871 #line 818 "../common/loader.l"
3873  YY_BREAK
3874 case 196:
3876 #line 819 "../common/loader.l"
3878  YY_BREAK
3879 case 197:
3881 #line 820 "../common/loader.l"
3882 op->glow_radius = IVAL;
3883  YY_BREAK
3884 case 198:
3886 #line 821 "../common/loader.l"
3888  YY_BREAK
3889 case 199:
3891 #line 822 "../common/loader.l"
3893  YY_BREAK
3894 case 200:
3896 #line 823 "../common/loader.l"
3898  YY_BREAK
3899 case 201:
3901 #line 824 "../common/loader.l"
3902 op->randomitems = find_treasurelist(yval());
3903  YY_BREAK
3904 case 202:
3906 #line 825 "../common/loader.l"
3908  YY_BREAK
3909 case 203:
3911 #line 826 "../common/loader.l"
3913  YY_BREAK
3914 case 204:
3916 #line 827 "../common/loader.l"
3918  YY_BREAK
3919 case 205:
3921 #line 829 "../common/loader.l"
3922 op->weapontype = IVAL;
3923  YY_BREAK
3924 case 206:
3926 #line 830 "../common/loader.l"
3927 op->casting_time = FVAL;
3928  YY_BREAK
3929 case 207:
3931 #line 831 "../common/loader.l"
3932 op->smoothlevel = IVAL;
3933  YY_BREAK
3934 case 208:
3936 #line 832 "../common/loader.l"
3937 {
3939  char *p = strchr(yval(), ' ');
3940  if (!p)
3941  continue;
3942 
3943  *p = '\0';
3944  Face *regular = (Face *)find_face(yval());
3945  Face *smoothed = (Face *)find_face(p + 1);
3946  regular->smoothface = smoothed;
3947  }
3948  YY_BREAK
3949 case 209:
3951 #line 843 "../common/loader.l"
3952 {
3953  if (IVAL)
3954  op->map_layer = IVAL;
3955  else {
3956  int i;
3957  char *cp = yval();
3958 
3959  for (i = 0; i < MAP_LAYERS; i++) {
3960  if (!strcasecmp(cp, map_layer_name[i])) {
3961  op->map_layer = i;
3962  break;
3963  }
3964  }
3965  if (i == MAP_LAYERS) {
3966  LOG(llevError, "Invalid map_layer name found: %s\n", cp);
3967  }
3968  }
3969  }
3970  YY_BREAK
3971 case 210:
3973 #line 861 "../common/loader.l"
3974 op->client_type = IVAL;
3975  YY_BREAK
3976 case 211:
3978 #line 862 "../common/loader.l"
3980  YY_BREAK
3981 case 212:
3983 #line 863 "../common/loader.l"
3984 op->duration = IVAL;
3985  YY_BREAK
3986 case 213:
3988 #line 864 "../common/loader.l"
3989 op->range = IVAL;
3990  YY_BREAK
3991 case 214:
3993 #line 865 "../common/loader.l"
3994 op->range_modifier = IVAL;
3995  YY_BREAK
3996 case 215:
3998 #line 866 "../common/loader.l"
3999 op->dam_modifier = IVAL;
4000  YY_BREAK
4001 case 216:
4003 #line 867 "../common/loader.l"
4004 op->duration_modifier = IVAL;
4005  YY_BREAK
4006 case 217:
4008 #line 868 "../common/loader.l"
4010  YY_BREAK
4011 case 218:
4013 #line 869 "../common/loader.l"
4014 op->sound_chance = IVAL;
4015  YY_BREAK
4016 case 219:
4018 #line 870 "../common/loader.l"
4020  YY_BREAK
4021 case 220:
4022 /* rule 220 can match eol */
4024 #line 872 "../common/loader.l"
4025 { /* ignore empty lines, newlines we don't do above */ }
4026  YY_BREAK
4027 case 221:
4028 /* rule 221 can match eol */
4030 #line 873 "../common/loader.l"
4031 { }
4032  YY_BREAK
4033 case YY_STATE_EOF(INITIAL):
4034 case YY_STATE_EOF(MESSAGE):
4035 case YY_STATE_EOF(LORE):
4036 case YY_STATE_EOF(SCRIPT):
4037 #line 875 "../common/loader.l"
4038 { /* If we got an error, return the error. Otherwise, return that we got EOF */
4039  if (lex_error != 0)
4040  return lex_error;
4041  else
4042  return LL_EOF;
4043  }
4044  YY_BREAK
4045 case 222:
4047 #line 881 "../common/loader.l"
4048 { add_key_value(op); }
4049  YY_BREAK
4050 case 223:
4052 #line 882 "../common/loader.l"
4053 ECHO;
4054  YY_BREAK
4055 #line 4056 "loader.cpp"
4056 
4057  case YY_END_OF_BUFFER:
4058  {
4059  /* Amount of text matched not including the EOB char. */
4060  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4061 
4062  /* Undo the effects of YY_DO_BEFORE_ACTION. */
4063  *yy_cp = (yy_hold_char);
4065 
4066  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4067  {
4068  /* We're scanning a new file or input source. It's
4069  * possible that this happened because the user
4070  * just pointed yyin at a new source and called
4071  * yylex(). If so, then we have to assure
4072  * consistency between YY_CURRENT_BUFFER and our
4073  * globals. Here is the right place to do so, because
4074  * this is the first action (other than possibly a
4075  * back-up) that will match for the new input source.
4076  */
4077  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4078  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4079  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4080  }
4081 
4082  /* Note that here we test for yy_c_buf_p "<=" to the position
4083  * of the first EOB in the buffer, since yy_c_buf_p will
4084  * already have been incremented past the NUL character
4085  * (since all states make transitions on EOB to the
4086  * end-of-buffer state). Contrast this with the test
4087  * in input().
4088  */
4089  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4090  { /* This was really a NUL. */
4091  yy_state_type yy_next_state;
4092 
4093  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4094 
4095  yy_current_state = yy_get_previous_state( );
4096 
4097  /* Okay, we're now positioned to make the NUL
4098  * transition. We couldn't have
4099  * yy_get_previous_state() go ahead and do it
4100  * for us because it doesn't know how to deal
4101  * with the possibility of jamming (and we don't
4102  * want to build jamming into it because then it
4103  * will run more slowly).
4104  */
4105 
4106  yy_next_state = yy_try_NUL_trans( yy_current_state );
4107 
4109 
4110  if ( yy_next_state )
4111  {
4112  /* Consume the NUL. */
4113  yy_cp = ++(yy_c_buf_p);
4114  yy_current_state = yy_next_state;
4115  goto yy_match;
4116  }
4117 
4118  else
4119  {
4121  yy_current_state = (yy_last_accepting_state);
4122  goto yy_find_action;
4123  }
4124  }
4125 
4126  else switch ( yy_get_next_buffer( ) )
4127  {
4128  case EOB_ACT_END_OF_FILE:
4129  {
4131 
4132  if ( yywrap( ) )
4133  {
4134  /* Note: because we've taken care in
4135  * yy_get_next_buffer() to have set up
4136  * yytext, we can now set up
4137  * yy_c_buf_p so that if some total
4138  * hoser (like flex itself) wants to
4139  * call the scanner after we return the
4140  * YY_NULL, it'll still work - another
4141  * YY_NULL will get returned.
4142  */
4144 
4146  goto do_action;
4147  }
4148 
4149  else
4150  {
4151  if ( ! (yy_did_buffer_switch_on_eof) )
4152  YY_NEW_FILE;
4153  }
4154  break;
4155  }
4156 
4157  case EOB_ACT_CONTINUE_SCAN:
4158  (yy_c_buf_p) =
4159  (yytext_ptr) + yy_amount_of_matched_text;
4160 
4161  yy_current_state = yy_get_previous_state( );
4162 
4163  yy_cp = (yy_c_buf_p);
4165  goto yy_match;
4166 
4167  case EOB_ACT_LAST_MATCH:
4168  (yy_c_buf_p) =
4169  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4170 
4171  yy_current_state = yy_get_previous_state( );
4172 
4173  yy_cp = (yy_c_buf_p);
4175  goto yy_find_action;
4176  }
4177  break;
4178  }
4179 
4180  default:
4182  "fatal flex scanner internal error--no action found" );
4183  } /* end of action switch */
4184  } /* end of scanning one token */
4185  } /* end of user's declarations */
4186 } /* end of yylex */
4187 
4188 /* yy_get_next_buffer - try to read in a new buffer
4189  *
4190  * Returns a code representing an action:
4191  * EOB_ACT_LAST_MATCH -
4192  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4193  * EOB_ACT_END_OF_FILE - end of file
4194  */
4195 static int yy_get_next_buffer (void)
4196 {
4197  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4198  char *source = (yytext_ptr);
4199  int number_to_move, i;
4200  int ret_val;
4201 
4202  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4204  "fatal flex scanner internal error--end of buffer missed" );
4205 
4206  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4207  { /* Don't try to fill the buffer, so this is an EOF. */
4208  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4209  {
4210  /* We matched a single character, the EOB, so
4211  * treat this as a final EOF.
4212  */
4213  return EOB_ACT_END_OF_FILE;
4214  }
4215 
4216  else
4217  {
4218  /* We matched some text prior to the EOB, first
4219  * process it.
4220  */
4221  return EOB_ACT_LAST_MATCH;
4222  }
4223  }
4224 
4225  /* Try to read more data. */
4226 
4227  /* First move last chars to start of buffer. */
4228  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4229 
4230  for ( i = 0; i < number_to_move; ++i )
4231  *(dest++) = *(source++);
4232 
4233  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4234  /* don't do the read, it's not guaranteed to return an EOF,
4235  * just force an EOF
4236  */
4237  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4238 
4239  else
4240  {
4241  int num_to_read =
4242  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4243 
4244  while ( num_to_read <= 0 )
4245  { /* Not enough room in the buffer - grow it. */
4246 
4247  /* just a shorter name for the current buffer */
4249 
4250  int yy_c_buf_p_offset =
4251  (int) ((yy_c_buf_p) - b->yy_ch_buf);
4252 
4253  if ( b->yy_is_our_buffer )
4254  {
4255  int new_size = b->yy_buf_size * 2;
4256 
4257  if ( new_size <= 0 )
4258  b->yy_buf_size += b->yy_buf_size / 8;
4259  else
4260  b->yy_buf_size *= 2;
4261 
4262  b->yy_ch_buf = (char *)
4263  /* Include room in for 2 EOB chars. */
4264  yyrealloc( (void *) b->yy_ch_buf,
4265  (yy_size_t) (b->yy_buf_size + 2) );
4266  }
4267  else
4268  /* Can't grow it, we don't own it. */
4269  b->yy_ch_buf = NULL;
4270 
4271  if ( ! b->yy_ch_buf )
4273  "fatal error - scanner input buffer overflow" );
4274 
4275  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4276 
4277  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4278  number_to_move - 1;
4279 
4280  }
4281 
4282  if ( num_to_read > YY_READ_BUF_SIZE )
4283  num_to_read = YY_READ_BUF_SIZE;
4284 
4285  /* Read in more data. */
4286  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4287  (yy_n_chars), num_to_read );
4288 
4289  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4290  }
4291 
4292  if ( (yy_n_chars) == 0 )
4293  {
4294  if ( number_to_move == YY_MORE_ADJ )
4295  {
4296  ret_val = EOB_ACT_END_OF_FILE;
4297  yyrestart( yyin );
4298  }
4299 
4300  else
4301  {
4302  ret_val = EOB_ACT_LAST_MATCH;
4303  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4305  }
4306  }
4307 
4308  else
4309  ret_val = EOB_ACT_CONTINUE_SCAN;
4310 
4311  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4312  /* Extend the array by 50%, plus the number we really need. */
4313  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4314  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4315  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4316  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4317  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4318  /* "- 2" to take care of EOB's */
4319  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4320  }
4321 
4322  (yy_n_chars) += number_to_move;
4325 
4326  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4327 
4328  return ret_val;
4329 }
4330 
4331 /* yy_get_previous_state - get the state just before the EOB char was reached */
4332 
4334 {
4335  yy_state_type yy_current_state;
4336  char *yy_cp;
4337 
4338  yy_current_state = (yy_start);
4339  yy_current_state += YY_AT_BOL();
4340 
4341  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4342  {
4343  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4344  if ( yy_accept[yy_current_state] )
4345  {
4346  (yy_last_accepting_state) = yy_current_state;
4348  }
4349  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4350  {
4351  yy_current_state = (int) yy_def[yy_current_state];
4352  if ( yy_current_state >= 2020 )
4353  yy_c = yy_meta[yy_c];
4354  }
4355  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4356  }
4357 
4358  return yy_current_state;
4359 }
4360 
4361 /* yy_try_NUL_trans - try to make a transition on the NUL character
4362  *
4363  * synopsis
4364  * next_state = yy_try_NUL_trans( current_state );
4365  */
4366  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4367 {
4368  int yy_is_jam;
4369  char *yy_cp = (yy_c_buf_p);
4370 
4371  YY_CHAR yy_c = 1;
4372  if ( yy_accept[yy_current_state] )
4373  {
4374  (yy_last_accepting_state) = yy_current_state;
4376  }
4377  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4378  {
4379  yy_current_state = (int) yy_def[yy_current_state];
4380  if ( yy_current_state >= 2020 )
4381  yy_c = yy_meta[yy_c];
4382  }
4383  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4384  yy_is_jam = (yy_current_state == 2019);
4385 
4386  return yy_is_jam ? 0 : yy_current_state;
4387 }
4388 
4389 #ifndef YY_NO_UNPUT
4390 
4391 #endif
4392 
4393 #ifndef YY_NO_INPUT
4394 #ifdef __cplusplus
4395  static int yyinput (void)
4396 #else
4397  static int input (void)
4398 #endif
4399 
4400 {
4401  int c;
4402 
4403  *(yy_c_buf_p) = (yy_hold_char);
4404 
4405  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4406  {
4407  /* yy_c_buf_p now points to the character we want to return.
4408  * If this occurs *before* the EOB characters, then it's a
4409  * valid NUL; if not, then we've hit the end of the buffer.
4410  */
4411  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4412  /* This was really a NUL. */
4413  *(yy_c_buf_p) = '\0';
4414 
4415  else
4416  { /* need more input */
4417  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4418  ++(yy_c_buf_p);
4419 
4420  switch ( yy_get_next_buffer( ) )
4421  {
4422  case EOB_ACT_LAST_MATCH:
4423  /* This happens because yy_g_n_b()
4424  * sees that we've accumulated a
4425  * token and flags that we need to
4426  * try matching the token before
4427  * proceeding. But for input(),
4428  * there's no matching to consider.
4429  * So convert the EOB_ACT_LAST_MATCH
4430  * to EOB_ACT_END_OF_FILE.
4431  */
4432 
4433  /* Reset buffer status. */
4434  yyrestart( yyin );
4435 
4436  /*FALLTHROUGH*/
4437 
4438  case EOB_ACT_END_OF_FILE:
4439  {
4440  if ( yywrap( ) )
4441  return 0;
4442 
4443  if ( ! (yy_did_buffer_switch_on_eof) )
4444  YY_NEW_FILE;
4445 #ifdef __cplusplus
4446  return yyinput();
4447 #else
4448  return input();
4449 #endif
4450  }
4451 
4452  case EOB_ACT_CONTINUE_SCAN:
4453  (yy_c_buf_p) = (yytext_ptr) + offset;
4454  break;
4455  }
4456  }
4457  }
4458 
4459  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4460  *(yy_c_buf_p) = '\0'; /* preserve yytext */
4461  (yy_hold_char) = *++(yy_c_buf_p);
4462 
4463  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4464 
4465  return c;
4466 }
4467 #endif /* ifndef YY_NO_INPUT */
4468 
4474  void yyrestart (FILE * input_file )
4475 {
4476 
4477  if ( ! YY_CURRENT_BUFFER ){
4481  }
4482 
4483  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4485 }
4486 
4492 {
4493 
4494  /* TODO. We should be able to replace this entire function body
4495  * with
4496  * yypop_buffer_state();
4497  * yypush_buffer_state(new_buffer);
4498  */
4500  if ( YY_CURRENT_BUFFER == new_buffer )
4501  return;
4502 
4503  if ( YY_CURRENT_BUFFER )
4504  {
4505  /* Flush out information for old buffer. */
4506  *(yy_c_buf_p) = (yy_hold_char);
4507  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4508  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4509  }
4510 
4511  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4513 
4514  /* We don't actually know whether we did this switch during
4515  * EOF (yywrap()) processing, but the only time this flag
4516  * is looked at is after yywrap() is called, so it's safe
4517  * to go ahead and always set it.
4518  */
4520 }
4521 
4522 static void yy_load_buffer_state (void)
4523 {
4524  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4525  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4526  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4527  (yy_hold_char) = *(yy_c_buf_p);
4528 }
4529 
4537 {
4539 
4540  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4541  if ( ! b )
4542  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4543 
4544  b->yy_buf_size = size;
4545 
4546  /* yy_ch_buf has to be 2 characters longer than the size given because
4547  * we need to put in 2 end-of-buffer characters.
4548  */
4549  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4550  if ( ! b->yy_ch_buf )
4551  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4552 
4553  b->yy_is_our_buffer = 1;
4554 
4555  yy_init_buffer( b, file );
4556 
4557  return b;
4558 }
4559 
4565 {
4566 
4567  if ( ! b )
4568  return;
4569 
4570  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4572 
4573  if ( b->yy_is_our_buffer )
4574  yyfree( (void *) b->yy_ch_buf );
4575 
4576  yyfree( (void *) b );
4577 }
4578 
4579 /* Initializes or reinitializes a buffer.
4580  * This function is sometimes called more than once on the same buffer,
4581  * such as during a yyrestart() or at EOF.
4582  */
4583  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4584 
4585 {
4586  int oerrno = errno;
4587 
4588  yy_flush_buffer( b );
4589 
4590  b->yy_input_file = file;
4591  b->yy_fill_buffer = 1;
4592 
4593  /* If b is the current buffer, then yy_init_buffer was _probably_
4594  * called from yyrestart() or through yy_get_next_buffer.
4595  * In that case, we don't want to reset the lineno or column.
4596  */
4597  if (b != YY_CURRENT_BUFFER){
4598  b->yy_bs_lineno = 1;
4599  b->yy_bs_column = 0;
4600  }
4601 
4602  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4603 
4604  errno = oerrno;
4605 }
4606 
4612 {
4613  if ( ! b )
4614  return;
4615 
4616  b->yy_n_chars = 0;
4617 
4618  /* We always need two end-of-buffer characters. The first causes
4619  * a transition to the end-of-buffer state. The second causes
4620  * a jam in that state.
4621  */
4622  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4623  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4624 
4625  b->yy_buf_pos = &b->yy_ch_buf[0];
4626 
4627  b->yy_at_bol = 1;
4628  b->yy_buffer_status = YY_BUFFER_NEW;
4629 
4630  if ( b == YY_CURRENT_BUFFER )
4632 }
4633 
4641 {
4642  if (new_buffer == NULL)
4643  return;
4644 
4646 
4647  /* This block is copied from yy_switch_to_buffer. */
4648  if ( YY_CURRENT_BUFFER )
4649  {
4650  /* Flush out information for old buffer. */
4651  *(yy_c_buf_p) = (yy_hold_char);
4652  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4653  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4654  }
4655 
4656  /* Only push if top exists. Otherwise, replace top. */
4657  if (YY_CURRENT_BUFFER)
4658  (yy_buffer_stack_top)++;
4659  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4660 
4661  /* copied from yy_switch_to_buffer. */
4664 }
4665 
4671 {
4672  if (!YY_CURRENT_BUFFER)
4673  return;
4674 
4676  YY_CURRENT_BUFFER_LVALUE = NULL;
4677  if ((yy_buffer_stack_top) > 0)
4678  --(yy_buffer_stack_top);
4679 
4680  if (YY_CURRENT_BUFFER) {
4683  }
4684 }
4685 
4686 /* Allocates the stack if it does not exist.
4687  * Guarantees space for at least one push.
4688  */
4689 static void yyensure_buffer_stack (void)
4690 {
4691  yy_size_t num_to_alloc;
4692 
4693  if (!(yy_buffer_stack)) {
4694 
4695  /* First allocation is just for 2 elements, since we don't know if this
4696  * scanner will even need a stack. We use 2 instead of 1 to avoid an
4697  * immediate realloc on the next call.
4698  */
4699  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4701  (num_to_alloc * sizeof(struct yy_buffer_state*)
4702  );
4703  if ( ! (yy_buffer_stack) )
4704  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4705 
4706  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4707 
4708  (yy_buffer_stack_max) = num_to_alloc;
4709  (yy_buffer_stack_top) = 0;
4710  return;
4711  }
4712 
4713  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4714 
4715  /* Increase the buffer to prepare for a possible push. */
4716  yy_size_t grow_size = 8 /* arbitrary grow size */;
4717 
4718  num_to_alloc = (yy_buffer_stack_max) + grow_size;
4720  ((yy_buffer_stack),
4721  num_to_alloc * sizeof(struct yy_buffer_state*)
4722  );
4723  if ( ! (yy_buffer_stack) )
4724  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4725 
4726  /* zero only the new slots.*/
4727  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4728  (yy_buffer_stack_max) = num_to_alloc;
4729  }
4730 }
4731 
4739 {
4741 
4742  if ( size < 2 ||
4743  base[size-2] != YY_END_OF_BUFFER_CHAR ||
4744  base[size-1] != YY_END_OF_BUFFER_CHAR )
4745  /* They forgot to leave room for the EOB's. */
4746  return NULL;
4747 
4748  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4749  if ( ! b )
4750  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4751 
4752  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
4753  b->yy_buf_pos = b->yy_ch_buf = base;
4754  b->yy_is_our_buffer = 0;
4755  b->yy_input_file = NULL;
4756  b->yy_n_chars = b->yy_buf_size;
4757  b->yy_is_interactive = 0;
4758  b->yy_at_bol = 1;
4759  b->yy_fill_buffer = 0;
4760  b->yy_buffer_status = YY_BUFFER_NEW;
4761 
4763 
4764  return b;
4765 }
4766 
4775 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4776 {
4777 
4778  return yy_scan_bytes( yystr, (int) strlen(yystr) );
4779 }
4780 
4788 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
4789 {
4791  char *buf;
4792  yy_size_t n;
4793  int i;
4794 
4795  /* Get memory for full buffer, including space for trailing EOB's. */
4796  n = (yy_size_t) (_yybytes_len + 2);
4797  buf = (char *) yyalloc( n );
4798  if ( ! buf )
4799  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4800 
4801  for ( i = 0; i < _yybytes_len; ++i )
4802  buf[i] = yybytes[i];
4803 
4804  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4805 
4806  b = yy_scan_buffer( buf, n );
4807  if ( ! b )
4808  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4809 
4810  /* It's okay to grow etc. this buffer, and we should throw it
4811  * away when we're done.
4812  */
4813  b->yy_is_our_buffer = 1;
4814 
4815  return b;
4816 }
4817 
4818  static void yy_push_state (int _new_state )
4819 {
4821  {
4822  yy_size_t new_size;
4823 
4825  new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4826 
4827  if ( ! (yy_start_stack) )
4828  (yy_start_stack) = (int *) yyalloc( new_size );
4829 
4830  else
4831  (yy_start_stack) = (int *) yyrealloc(
4832  (void *) (yy_start_stack), new_size );
4833 
4834  if ( ! (yy_start_stack) )
4835  YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4836  }
4837 
4839 
4840  BEGIN(_new_state);
4841 }
4842 
4843  static void yy_pop_state (void)
4844 {
4845  if ( --(yy_start_stack_ptr) < 0 )
4846  YY_FATAL_ERROR( "start-condition stack underflow" );
4847 
4849 }
4850 
4851 #ifndef YY_EXIT_FAILURE
4852 #define YY_EXIT_FAILURE 2
4853 #endif
4854 
4855 static void yynoreturn yy_fatal_error (const char* msg )
4856 {
4857  fprintf( stderr, "%s\n", msg );
4858  exit( YY_EXIT_FAILURE );
4859 }
4860 
4861 /* Redefine yyless() so it works in section 3 code. */
4862 
4863 #undef yyless
4864 #define yyless(n) \
4865  do \
4866  { \
4867  /* Undo effects of setting up yytext. */ \
4868  int yyless_macro_arg = (n); \
4869  YY_LESS_LINENO(yyless_macro_arg);\
4870  yytext[yyleng] = (yy_hold_char); \
4871  (yy_c_buf_p) = yytext + yyless_macro_arg; \
4872  (yy_hold_char) = *(yy_c_buf_p); \
4873  *(yy_c_buf_p) = '\0'; \
4874  yyleng = yyless_macro_arg; \
4875  } \
4876  while ( 0 )
4877 
4878 /* Accessor methods (get/set functions) to struct members. */
4879 
4883 int yyget_lineno (void)
4884 {
4885 
4886  return yylineno;
4887 }
4888 
4892 FILE *yyget_in (void)
4893 {
4894  return yyin;
4895 }
4896 
4900 FILE *yyget_out (void)
4901 {
4902  return yyout;
4903 }
4904 
4908 int yyget_leng (void)
4909 {
4910  return yyleng;
4911 }
4912 
4917 char *yyget_text (void)
4918 {
4919  return yytext;
4920 }
4921 
4926 void yyset_lineno (int _line_number )
4927 {
4928 
4929  yylineno = _line_number;
4930 }
4931 
4938 void yyset_in (FILE * _in_str )
4939 {
4940  yyin = _in_str ;
4941 }
4942 
4943 void yyset_out (FILE * _out_str )
4944 {
4945  yyout = _out_str ;
4946 }
4947 
4948 int yyget_debug (void)
4949 {
4950  return yy_flex_debug;
4951 }
4952 
4953 void yyset_debug (int _bdebug )
4954 {
4955  yy_flex_debug = _bdebug ;
4956 }
4957 
4958 static int yy_init_globals (void)
4959 {
4960  /* Initialization is the same as for the non-reentrant scanner.
4961  * This function is called from yylex_destroy(), so don't allocate here.
4962  */
4963 
4964  (yy_buffer_stack) = NULL;
4965  (yy_buffer_stack_top) = 0;
4966  (yy_buffer_stack_max) = 0;
4967  (yy_c_buf_p) = NULL;
4968  (yy_init) = 0;
4969  (yy_start) = 0;
4970 
4971  (yy_start_stack_ptr) = 0;
4972  (yy_start_stack_depth) = 0;
4973  (yy_start_stack) = NULL;
4974 
4975 /* Defined in main.c */
4976 #ifdef YY_STDINIT
4977  yyin = stdin;
4978  yyout = stdout;
4979 #else
4980  yyin = NULL;
4981  yyout = NULL;
4982 #endif
4983 
4984  /* For future reference: Set errno on error, since we are called by
4985  * yylex_init()
4986  */
4987  return 0;
4988 }
4989 
4990 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4991 int yylex_destroy (void)
4992 {
4993 
4994  /* Pop the buffer stack, destroying each element. */
4995  while(YY_CURRENT_BUFFER){
4997  YY_CURRENT_BUFFER_LVALUE = NULL;
4999  }
5000 
5001  /* Destroy the stack itself. */
5002  yyfree((yy_buffer_stack) );
5003  (yy_buffer_stack) = NULL;
5004 
5005  /* Destroy the start condition stack. */
5006  yyfree( (yy_start_stack) );
5007  (yy_start_stack) = NULL;
5008 
5009  /* Reset the globals. This is important in a non-reentrant scanner so the next time
5010  * yylex() is called, initialization will occur. */
5011  yy_init_globals( );
5012 
5013  return 0;
5014 }
5015 
5016 /*
5017  * Internal utility routines.
5018  */
5019 
5020 #ifndef yytext_ptr
5021 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5022 {
5023 
5024  int i;
5025  for ( i = 0; i < n; ++i )
5026  s1[i] = s2[i];
5027 }
5028 #endif
5029 
5030 #ifdef YY_NEED_STRLEN
5031 static int yy_flex_strlen (const char * s )
5032 {
5033  int n;
5034  for ( n = 0; s[n]; ++n )
5035  ;
5036 
5037  return n;
5038 }
5039 #endif
5040 
5041 void *yyalloc (yy_size_t size )
5042 {
5043  return malloc(size);
5044 }
5045 
5046 void *yyrealloc (void * ptr, yy_size_t size )
5047 {
5048 
5049  /* The cast to (char *) in the following accommodates both
5050  * implementations that use char* generic pointers, and those
5051  * that use void* generic pointers. It works with the latter
5052  * because both ANSI C and C++ allow castless assignment from
5053  * any pointer type to void*, and deal with argument conversions
5054  * as though doing an assignment.
5055  */
5056  return realloc(ptr, size);
5057 }
5058 
5059 void yyfree (void * ptr )
5060 {
5061  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5062 }
5063 
5064 #define YYTABLES_NAME "yytables"
5065 
5066 #line 882 "../common/loader.l"
5067 
5068 
5077 static char *yval(void)
5078 {
5079  static char em[] = "";
5080  char *cp, *end;
5081 
5082  /* First skip over start of line, like animation or name */
5083  for (cp = yytext; *cp != ' '; cp++) {
5084  if (*cp == '\0') {
5085  return em;
5086  }
5087  }
5088 
5089  /* Skip over whitespace */
5090  for (; *cp == ' '; cp++) {
5091  if (*cp == '\0') {
5092  return em;
5093  }
5094  }
5095  /* Got last character before null and strip
5096  * off tailing whitespace
5097  */
5098  for (end = cp+strlen(cp)-1; *end == ' '; end--) {
5099  if (end == cp)
5100  return em;
5101  *end = '\0';
5102  }
5103  return cp;
5104 }
5105 
5131 int load_object(FILE *fp, object *op, int bufstate, int map_flags, bool artifact_init) {
5132  int retval;
5133  char inbuf[VERY_BIG_BUF];
5134 #define MAXDEPTH 10
5135  object *items[MAXDEPTH];
5136  int depth = 0, ismore = 0;
5137 
5138  items[0] = op,
5139  strcpy(msgbuf, "");
5140  msglen = 0;
5141  total_msglen = 0;
5142  strcpy(lorebuf, "");
5143  if (bufstate == LO_NEWFILE || bufstate == LO_NOREAD) {
5144  /* LOG(llevDebug, "Switching lex buffers\n");*/
5147  if (bufstate == LO_NOREAD)
5148  return LL_NORMAL;
5149  } else if (bufstate == LO_LINEMODE) {
5150  YY_BUFFER_STATE yybufstate;
5152  while (fgets(inbuf, VERY_BIG_BUF-3, fp)) {
5153  yybufstate = yy_scan_string(inbuf);
5154  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore, false, artifact_init);
5155  yy_delete_buffer(yybufstate);
5156  if (retval == LL_NORMAL) {
5157  if (depth == 0)
5158  return retval;
5159  else
5160  depth--;
5161  }
5162  }
5163  LOG(llevDebug, "Got eof while scanning strings\n");
5164  return LL_EOF;
5165  }
5166 
5167  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 0, &ismore, false, artifact_init);
5168 
5169 /* LOG(llevDebug, " load completed, object=%s\n", op->name);*/
5170  return retval;
5171 }
5172 
5183 int load_object_from_reader(BufferReader *reader, object *op, int map_flags, bool arch_init, bool artifact_init) {
5184  int retval;
5185  object *items[MAXDEPTH];
5186  int depth = 0, ismore = 0;
5187  char buf[HUGE_BUF];
5188 
5189  items[0] = op,
5190  strcpy(msgbuf, "");
5191  msglen = 0;
5192  total_msglen = 0;
5193  strcpy(lorebuf, "");
5194 
5195  YY_BUFFER_STATE yybufstate;
5198 
5199  while (bufferreader_get_line(reader, buf, sizeof(buf)) != NULL) {
5200  yybufstate = yy_scan_string(buf);
5201  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore, arch_init, artifact_init);
5202  yy_delete_buffer(yybufstate);
5203  if (retval == LL_NORMAL || retval == LL_MORE) {
5204  if (depth == 0) {
5205  yy_pop_state();
5206  return ismore ? LL_MORE : LL_NORMAL;
5207  } else
5208  depth--;
5209  }
5210  }
5211  if (depth > 0) {
5212  LOG(llevError, "Got eof while scanning strings\n");
5213  }
5214  yy_pop_state();
5215  return LL_EOF;
5216 }
5217 
5234 int set_variable(object *op, const char *buf) {
5235  YY_BUFFER_STATE yybufstate, yycurbuf = YY_CURRENT_BUFFER;
5236  int retval, depth, ismore = 0;
5237  object *items[MAXDEPTH];
5238 
5239  strcpy(msgbuf, "");
5240  msglen = 0;
5241  total_msglen = 0;
5242  strcpy(lorebuf, "");
5243  items[0] = op;
5244  depth = 0;
5246  yybufstate = yy_scan_string(buf);
5247  retval = lex_load(&depth, items, MAXDEPTH, 0, 0, &ismore, false, false);
5248  if (yycurbuf) {
5249  yy_switch_to_buffer(yycurbuf);
5250  }
5251  yy_delete_buffer(yybufstate);
5252  yy_pop_state();
5253  return retval;
5254 }
5255 
5256 /* Start of C code */
5257 
5261 void free_loader(void) {
5263 
5264  /* Comment out this yylex_destroy(), as it results in link errors
5265  * on linux
5266  */
5267 /* yylex_destroy();*/
5268 }
5269 
flex_int32_t
int flex_int32_t
Definition: loader.c:52
yy_flex_debug
int yy_flex_debug
Definition: loader.cpp:1993
FLAG_USE_BOW
#define FLAG_USE_BOW
Definition: define.h:293
give.next
def next
Definition: give.py:44
Face
Definition: face.h:14
Face::smoothface
Face * smoothface
Definition: face.h:18
PLAYER
@ PLAYER
Definition: object.h:110
flex_uint8_t
unsigned char flex_uint8_t
Definition: loader.cpp:54
ATNR_PARALYZE
#define ATNR_PARALYZE
Definition: attack.h:61
global.h
FLAG_NEUTRAL
#define FLAG_NEUTRAL
Definition: define.h:354
ATNR_CANCELLATION
#define ATNR_CANCELLATION
Definition: attack.h:64
castle_read.prefix
string prefix
Definition: castle_read.py:31
settings
struct Settings settings
Definition: init.cpp:138
YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
Definition: loader.cpp:2001
YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg)
Definition: loader.cpp:2533
yy_fatal_error
static void yynoreturn yy_fatal_error(const char *msg)
Definition: loader.cpp:4855
NUM_BODY_LOCATIONS
#define NUM_BODY_LOCATIONS
Definition: object.h:13
ATNR_INTERNAL
#define ATNR_INTERNAL
Definition: attack.h:72
FLAG_STAND_STILL
#define FLAG_STAND_STILL
Definition: define.h:308
FLAG_CONFUSED
#define FLAG_CONFUSED
Definition: define.h:311
flex_int8_t
signed char flex_int8_t
Definition: loader.cpp:51
BOW
@ BOW
Definition: object.h:121
find_artifact
const artifact * find_artifact(const object *op, const char *name)
Definition: artifact.cpp:589
yyleng
int yyleng
Definition: loader.cpp:271
llevError
@ llevError
Definition: logger.h:11
object_set_flag_inv
void object_set_flag_inv(object *op, int flag)
Definition: object.cpp:3232
FABS
#define FABS(x)
Definition: define.h:22
FLAG_CLIENT_ANIM_RANDOM
#define FLAG_CLIENT_ANIM_RANDOM
Definition: define.h:241
MOVE_ALL
#define MOVE_ALL
Definition: define.h:398
FLAG_USE_RING
#define FLAG_USE_RING
Definition: define.h:297
LOG
void LOG(LogLevel logLevel, const char *format,...)
Definition: logger.cpp:51
flex_int16_t
short int flex_int16_t
Definition: loader.cpp:52
FLAG_UNDEAD
#define FLAG_UNDEAD
Definition: define.h:270
FLAG_OVERLAY_FLOOR
#define FLAG_OVERLAY_FLOOR
Definition: define.h:255
SET_FLAG
#define SET_FLAG(xyz, p)
Definition: define.h:224
FLAG_GENERATOR
#define FLAG_GENERATOR
Definition: define.h:248
yy_trans_info
Definition: loader.c:361
ATNR_ACID
#define ATNR_ACID
Definition: attack.h:55
safe_strcat
void safe_strcat(char *dest, const char *orig, size_t *curlen, size_t maxlen)
Definition: porting.cpp:202
FLAG_STARTEQUIP
#define FLAG_STARTEQUIP
Definition: define.h:268
BEGIN
#define BEGIN
Definition: loader.cpp:118
QUERY_FLAG
#define QUERY_FLAG(xyz, p)
Definition: define.h:226
FLAG_REFL_MISSILE
#define FLAG_REFL_MISSILE
Definition: define.h:273
get_archetype_struct
archetype * get_archetype_struct(void)
Definition: arch.cpp:195
FLAG_CONTENT_ON_GEN
#define FLAG_CONTENT_ON_GEN
Definition: define.h:365
YY_BUFFER_STATE
struct yy_buffer_state * YY_BUFFER_STATE
Definition: loader.cpp:150
yy_buffer_state::yy_input_file
FILE * yy_input_file
Definition: loader.c:187
FLAG_IS_TURNABLE
#define FLAG_IS_TURNABLE
Definition: define.h:256
FLAG_SEE_IN_DARK
#define FLAG_SEE_IN_DARK
Definition: define.h:337
lex_error
static int lex_error
Definition: loader.cpp:2031
Settings::permanent_exp_ratio
uint8_t permanent_exp_ratio
Definition: global.h:258
c
static event_registration c
Definition: citylife.cpp:425
YY_CHAR
flex_uint8_t YY_CHAR
Definition: loader.c:328
LL_IGNORED
#define LL_IGNORED
Definition: loader.h:9
LORE
#define LORE
Definition: loader.cpp:2377
yy_size_t
size_t yy_size_t
Definition: loader.c:154
FLAG_UNIQUE
#define FLAG_UNIQUE
Definition: define.h:287
YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING
Definition: loader.cpp:244
set_move
static void set_move(MoveType *mt, char *params, const char *prefix)
Definition: loader.cpp:2320
give_artifact_abilities
void give_artifact_abilities(object *op, const object *artifact)
Definition: artifact.cpp:230
yy_buffer_state
Definition: loader.c:185
key_value
Definition: object.h:40
WEAPON
@ WEAPON
Definition: object.h:122
yy_bp
char * yy_bp
Definition: loader.cpp:2572
MoveType
unsigned char MoveType
Definition: define.h:417
artifact::item
object * item
Definition: artifact.h:15
ATNR_SLOW
#define ATNR_SLOW
Definition: attack.h:60
FLAG_SEE_INVISIBLE
#define FLAG_SEE_INVISIBLE
Definition: define.h:253
mad_mage_user.file
file
Definition: mad_mage_user.py:15
YY_RULE_SETUP
#define YY_RULE_SETUP
Definition: loader.cpp:2561
flex_uint32_t
unsigned int flex_uint32_t
Definition: loader.cpp:56
yyget_text
char * yyget_text(void)
Definition: loader.cpp:4917
ATNR_GODPOWER
#define ATNR_GODPOWER
Definition: attack.h:69
MAP_LAYERS
#define MAP_LAYERS
Definition: map.h:32
FLAG_WIZCAST
#define FLAG_WIZCAST
Definition: define.h:289
RUNE
@ RUNE
Definition: object.h:243
set_materialname
void set_materialname(object *op)
Definition: utils.cpp:297
object_copy
void object_copy(const object *src_ob, object *dest_ob)
Definition: object.cpp:1192
ATNR_DISEASE
#define ATNR_DISEASE
Definition: attack.h:74
load_object
int load_object(FILE *fp, object *op, int bufstate, int map_flags, bool artifact_init)
Definition: loader.cpp:5131
yy_try_NUL_trans
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: loader.cpp:4366
FLAG_SCARED
#define FLAG_SCARED
Definition: define.h:271
find_treasurelist
treasurelist * find_treasurelist(const char *name)
Definition: assets.cpp:249
yy_size_t
size_t yy_size_t
Definition: loader.cpp:155
yy_start_stack_ptr
static int yy_start_stack_ptr
Definition: loader.cpp:2456
Ice.tmp
int tmp
Definition: Ice.py:207
FLAG_ONE_HIT
#define FLAG_ONE_HIT
Definition: define.h:343
FLAG_ONLY_ATTACK
#define FLAG_ONLY_ATTACK
Definition: define.h:310
CREATOR
@ CREATOR
Definition: object.h:145
FLAG_BLESSED
#define FLAG_BLESSED
Definition: define.h:369
FLAG_READY_SCROLL
#define FLAG_READY_SCROLL
Definition: define.h:324
yy_last_accepting_state
static yy_state_type yy_last_accepting_state
Definition: loader.cpp:1989
FLAG_NO_MAGIC
#define FLAG_NO_MAGIC
Definition: define.h:276
ATNR_PHYSICAL
#define ATNR_PHYSICAL
Definition: attack.h:49
yyget_in
FILE * yyget_in(void)
Definition: loader.cpp:4892
YY_START_STACK_INCR
#define YY_START_STACK_INCR
Definition: loader.cpp:2528
yyset_extra
void yyset_extra(YY_EXTRA_TYPE user_defined)
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: loader.cpp:2389
LO_NEWFILE
#define LO_NEWFILE
Definition: loader.h:17
FLAG_BLOCKSVIEW
#define FLAG_BLOCKSVIEW
Definition: define.h:269
ATNR_TURN_UNDEAD
#define ATNR_TURN_UNDEAD
Definition: attack.h:62
flex_uint16_t
unsigned short int flex_uint16_t
Definition: loader.cpp:55
yy_state_type
int yy_state_type
Definition: loader.c:332
yy_buffer_state::yy_at_bol
int yy_at_bol
Definition: loader.c:219
FLAG_INV_LOCKED
#define FLAG_INV_LOCKED
Definition: define.h:329
MESSAGE
#define MESSAGE
Definition: loader.cpp:2376
FLAG_APPLIED
#define FLAG_APPLIED
Definition: define.h:235
FLAG_STEALTH
#define FLAG_STEALTH
Definition: define.h:312
yy_scan_bytes
YY_BUFFER_STATE yy_scan_bytes(const char *bytes, int len)
Definition: loader.cpp:4788
find_face
const Face * find_face(const char *name)
Definition: assets.cpp:282
FLAG_BLIND
#define FLAG_BLIND
Definition: define.h:336
buf
StringBuffer * buf
Definition: readable.cpp:1551
FLAG_ACTIVATE_ON_PUSH
#define FLAG_ACTIVATE_ON_PUSH
Definition: define.h:362
object_insert_in_ob
object * object_insert_in_ob(object *op, object *where)
Definition: object.cpp:2851
object::above
object * above
Definition: object.h:294
yylineno
int yylineno
Definition: loader.cpp:336
yy_create_buffer
YY_BUFFER_STATE yy_create_buffer(FILE *file, int size)
Definition: loader.cpp:4536
HUGE_BUF
#define HUGE_BUF
Definition: define.h:37
yy_init
static int yy_init
Definition: loader.cpp:275
yyout
FILE * yyout
Definition: loader.cpp:160
FLAG_NO_PICK
#define FLAG_NO_PICK
Definition: define.h:239
ATNR_CONFUSION
#define ATNR_CONFUSION
Definition: attack.h:54
yy_buffer_state::yy_is_our_buffer
int yy_is_our_buffer
Definition: loader.c:206
yyset_out
void yyset_out(FILE *_out_str)
Definition: loader.cpp:4943
ATNR_HOLYWORD
#define ATNR_HOLYWORD
Definition: attack.h:70
MAP_STYLE
#define MAP_STYLE
Definition: map.h:99
bufferreader_get_line
char * bufferreader_get_line(BufferReader *br, char *buffer, size_t length)
Definition: bufferreader.cpp:119
FLAG_ALIVE
#define FLAG_ALIVE
Definition: define.h:230
YY_CHAR
flex_uint8_t YY_CHAR
Definition: loader.cpp:329
LO_NOREAD
#define LO_NOREAD
Definition: loader.h:18
FLAG_IS_A_TEMPLATE
#define FLAG_IS_A_TEMPLATE
Definition: define.h:366
yyget_out
FILE * yyget_out(void)
Definition: loader.cpp:4900
free_loader
void free_loader(void)
Definition: loader.cpp:5261
ATNR_BLIND
#define ATNR_BLIND
Definition: attack.h:71
stringbuffer.h
yy_meta
static const YY_CHAR yy_meta[60]
Definition: loader.cpp:625
YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR
Definition: loader.cpp:129
FLAG_NO_ATTACK
#define FLAG_NO_ATTACK
Definition: define.h:355
SCRIPT
#define SCRIPT
Definition: loader.cpp:2378
seen_object
static bool seen_object
Definition: loader.cpp:2053
FLAG_TEAR_DOWN
#define FLAG_TEAR_DOWN
Definition: define.h:279
yval
static char * yval(void)
Definition: loader.cpp:5077
yy_act
int yy_act
Definition: loader.cpp:2573
arch_init
int arch_init
FLAG_WAS_WIZ
#define FLAG_WAS_WIZ
Definition: define.h:234
key_value::next
key_value * next
Definition: object.h:43
yy_base
static const flex_int16_t yy_base[2342]
Definition: loader.cpp:635
ECHO
#define ECHO
Definition: loader.cpp:2479
FLAG_USE_RANGE
#define FLAG_USE_RANGE
Definition: define.h:292
lorebuf
static char lorebuf[HUGE_BUF]
Definition: loader.cpp:2034
FLAG_KNOWN_BLESSED
#define FLAG_KNOWN_BLESSED
Definition: define.h:370
EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN
Definition: loader.cpp:162
MOVE_WALK
#define MOVE_WALK
Definition: define.h:392
FLAG_KNOWN_CURSED
#define FLAG_KNOWN_CURSED
Definition: define.h:320
YY_EXIT_FAILURE
#define YY_EXIT_FAILURE
Definition: loader.cpp:4852
yy_get_previous_state
static yy_state_type yy_get_previous_state(void)
Definition: loader.cpp:4333
yy_start_stack
static int * yy_start_stack
Definition: loader.cpp:2458
flex_int16_t
short int flex_int16_t
Definition: loader.c:51
add_string
sstring add_string(const char *str)
Definition: shstr.cpp:124
yyset_debug
void yyset_debug(int debug_flag)
Definition: loader.cpp:4953
yylex
#define yylex
Definition: reader.c:23
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: loader.c:227
yy_state_type
int yy_state_type
Definition: loader.cpp:333
yyrestart
void yyrestart(FILE *input_file)
Definition: loader.cpp:4474
INITIAL
#define INITIAL
Definition: loader.cpp:2375
object::below
object * below
Definition: object.h:293
make_face_from_files.str
str
Definition: make_face_from_files.py:24
yyget_leng
int yyget_leng(void)
Definition: loader.cpp:4908
FLAG_MAKE_INVIS
#define FLAG_MAKE_INVIS
Definition: define.h:328
navar-midane_pickup.msg
list msg
Definition: navar-midane_pickup.py:13
MOVE_FLYING
#define MOVE_FLYING
Definition: define.h:395
yyfree
void yyfree(void *)
Definition: loader.cpp:5059
object_update_speed
void object_update_speed(object *op)
Definition: object.cpp:1349
FLAG_NO_DAMAGE
#define FLAG_NO_DAMAGE
Definition: define.h:356
yy_def
static const flex_int16_t yy_def[2342]
Definition: loader.cpp:897
YY_DECL
#define YY_DECL
Definition: loader.cpp:2027
FREE_AND_COPY
#define FREE_AND_COPY(sv, nv)
Definition: global.h:204
Ice.b
b
Definition: Ice.py:48
yy_buffer_state::yy_buf_size
int yy_buf_size
Definition: loader.c:195
FLAG_IS_WOODED
#define FLAG_IS_WOODED
Definition: define.h:330
is_type_valid
int is_type_valid(uint8_t type)
Definition: arch_types_valid.c:17
CONVERTER
@ CONVERTER
Definition: object.h:219
SET_OR_CLEAR_FLAG
#define SET_OR_CLEAR_FLAG(op, flag, val)
Definition: loader.cpp:2037
YY_END_OF_BUFFER
#define YY_END_OF_BUFFER
Definition: loader.cpp:359
FLAG_DAMNED
#define FLAG_DAMNED
Definition: define.h:317
yy_pop_state
static void yy_pop_state(void)
Definition: loader.cpp:4843
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: loader.c:189
ATNR_DRAIN
#define ATNR_DRAIN
Definition: attack.h:56
FLAG_PARALYZED
#define FLAG_PARALYZED
Definition: define.h:371
yy_hold_char
static char yy_hold_char
Definition: loader.cpp:269
FLAG_USE_SHIELD
#define FLAG_USE_SHIELD
Definition: define.h:237
FLAG_WIZPASS
#define FLAG_WIZPASS
Definition: define.h:314
yyalloc
void * yyalloc(yy_size_t)
Definition: loader.cpp:5041
FLAG_CAN_ROLL
#define FLAG_CAN_ROLL
Definition: define.h:254
yy_get_next_buffer
static int yy_get_next_buffer(void)
Definition: loader.cpp:4195
FLAG_UNAGGRESSIVE
#define FLAG_UNAGGRESSIVE
Definition: define.h:272
ATNR_COUNTERSPELL
#define ATNR_COUNTERSPELL
Definition: attack.h:68
yyget_extra
YY_EXTRA_TYPE yyget_extra(void)
body_locations
body_locations_struct body_locations[NUM_BODY_LOCATIONS]
Definition: item.cpp:54
YY_BUFFER_NEW
#define YY_BUFFER_NEW
Definition: loader.cpp:232
archetype
Definition: object.h:472
yy_start_stack_depth
static int yy_start_stack_depth
Definition: loader.cpp:2457
ATNR_POISON
#define ATNR_POISON
Definition: attack.h:59
FLAG_USE_WEAPON
#define FLAG_USE_WEAPON
Definition: define.h:296
sproto.h
FLAG_NO_DROP
#define FLAG_NO_DROP
Definition: define.h:288
ATNR_DEATH
#define ATNR_DEATH
Definition: attack.h:66
MAXDEPTH
#define MAXDEPTH
flex_uint8_t
unsigned char flex_uint8_t
Definition: loader.c:53
FLAG_CAN_USE_SKILL
#define FLAG_CAN_USE_SKILL
Definition: define.h:321
FLAG_NO_STEAL
#define FLAG_NO_STEAL
Definition: define.h:342
yyset_in
void yyset_in(FILE *_in_str)
Definition: loader.cpp:4938
yy_scan_string
YY_BUFFER_STATE yy_scan_string(const char *yy_str)
Definition: loader.cpp:4775
yyrealloc
void * yyrealloc(void *, yy_size_t)
Definition: loader.cpp:5046
add_button_link
void add_button_link(object *button, mapstruct *map, int connected)
Definition: button.cpp:656
msglen
size_t msglen
Definition: loader.cpp:2033
FLAG_SPLITTING
#define FLAG_SPLITTING
Definition: define.h:266
SET_RESIST
#define SET_RESIST(op, type, val)
Definition: loader.cpp:2040
FLAG_MONSTER
#define FLAG_MONSTER
Definition: define.h:245
object_copy_no_speed
void object_copy_no_speed(const object *src_ob, object *dest_ob)
Definition: object.cpp:1061
FLAG_RANDOM_MOVE
#define FLAG_RANDOM_MOVE
Definition: define.h:309
FLAG_HITBACK
#define FLAG_HITBACK
Definition: define.h:267
yy_buffer_stack
static YY_BUFFER_STATE * yy_buffer_stack
Definition: loader.cpp:252
yy_push_state
static void yy_push_state(int _new_state)
Definition: loader.cpp:4818
move_name
const char *const move_name[]
Definition: object.cpp:4825
yywrap
#define yywrap()
Definition: loader.cpp:327
object_new
object * object_new(void)
Definition: object.cpp:1273
IS_WEAPON
#define IS_WEAPON(op)
Definition: define.h:163
free_string
void free_string(sstring str)
Definition: shstr.cpp:280
yy_cp
char * yy_cp
Definition: loader.cpp:2572
yy_c_buf_p
static char * yy_c_buf_p
Definition: loader.cpp:274
RANDOM
#define RANDOM()
Definition: define.h:644
YY_BREAK
#define YY_BREAK
Definition: loader.cpp:2558
ATNR_FIRE
#define ATNR_FIRE
Definition: attack.h:51
yypop_buffer_state
void yypop_buffer_state(void)
Definition: loader.cpp:4670
FLAG_CLIENT_ANIM_SYNC
#define FLAG_CLIENT_ANIM_SYNC
Definition: define.h:240
FLAG_KNOWN_MAGICAL
#define FLAG_KNOWN_MAGICAL
Definition: define.h:319
FLAG_READY_SKILL
#define FLAG_READY_SKILL
Definition: define.h:333
FLAG_READY_BOW
#define FLAG_READY_BOW
Definition: define.h:299
check_loaded_object
static void check_loaded_object(object *op, bool arch_init)
Definition: loader.cpp:2130
FLAG_REFL_SPELL
#define FLAG_REFL_SPELL
Definition: define.h:275
FLAG_WIZ
#define FLAG_WIZ
Definition: define.h:231
FLAG_FRIENDLY
#define FLAG_FRIENDLY
Definition: define.h:246
YY_SC_TO_UI
#define YY_SC_TO_UI(c)
Definition: loader.cpp:112
yy_buffer_state::yy_buffer_status
int yy_buffer_status
Definition: loader.c:229
ATNR_CHAOS
#define ATNR_CHAOS
Definition: attack.h:67
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: loader.c:190
add_friendly_object
void add_friendly_object(object *op)
Definition: friend.cpp:32
yy_trans_info::yy_nxt
flex_int32_t yy_nxt
Definition: loader.c:364
ATNR_DEPLETE
#define ATNR_DEPLETE
Definition: attack.h:65
yy_ec
static const YY_CHAR yy_ec[256]
Definition: loader.cpp:593
FLAG_USE_ARMOUR
#define FLAG_USE_ARMOUR
Definition: define.h:295
FLAG_CAST_SPELL
#define FLAG_CAST_SPELL
Definition: define.h:290
FLAG_IS_BUILDABLE
#define FLAG_IS_BUILDABLE
Definition: define.h:367
YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL
Definition: loader.cpp:233
create_archetype_by_object_name
object * create_archetype_by_object_name(const char *name)
Definition: arch.cpp:116
newserver.h
LO_LINEMODE
#define LO_LINEMODE
Definition: loader.h:16
yy_trans_info::yy_verify
flex_int32_t yy_verify
Definition: loader.c:363
reverse_ob_inv
static void reverse_ob_inv(object *op)
Definition: loader.cpp:2061
msgbuf
static char msgbuf[HUGE_BUF]
Definition: loader.cpp:2032
give.op
op
Definition: give.py:33
yy_buffer_state::yy_bs_column
int yy_bs_column
Definition: loader.c:222
set_variable
int set_variable(object *op, const char *buf)
Definition: loader.cpp:5234
autojail.value
value
Definition: autojail.py:6
FLAG_AUTO_APPLY
#define FLAG_AUTO_APPLY
Definition: define.h:250
yy_buffer_state::yy_n_chars
int yy_n_chars
Definition: loader.c:200
find_archetype
archetype * find_archetype(const char *name)
Definition: assets.cpp:266
yy_flush_buffer
void yy_flush_buffer(YY_BUFFER_STATE b)
Definition: loader.cpp:4611
FLAG_ACTIVATE_ON_RELEASE
#define FLAG_ACTIVATE_ON_RELEASE
Definition: define.h:363
convert.dest
dest
Definition: convert.py:25
object_set_msg
void object_set_msg(object *op, const char *msg)
Definition: object.cpp:4804
YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER
Definition: loader.cpp:260
FLAG_REFLECTING
#define FLAG_REFLECTING
Definition: define.h:262
yyensure_buffer_stack
static void yyensure_buffer_stack(void)
Definition: loader.cpp:4689
yyin
FILE * yyin
Definition: loader.cpp:331
ATNR_MAGIC
#define ATNR_MAGIC
Definition: attack.h:50
FLAG_NO_FIX_PLAYER
#define FLAG_NO_FIX_PLAYER
Definition: define.h:277
roll-o-matic.params
params
Definition: roll-o-matic.py:193
yy_buffer_state::yy_is_interactive
int yy_is_interactive
Definition: loader.c:213
YY_STATE_EOF
#define YY_STATE_EOF(state)
Definition: loader.cpp:126
diamondslots.y
y
Definition: diamondslots.py:16
FLAG_BEEN_APPLIED
#define FLAG_BEEN_APPLIED
Definition: define.h:323
CLEAR_FLAG
#define CLEAR_FLAG(xyz, p)
Definition: define.h:225
yy_n_chars
static int yy_n_chars
Definition: loader.cpp:270
find_animation
Animations * find_animation(const char *name)
Definition: assets.cpp:274
object_give_identified_properties
void object_give_identified_properties(object *op)
Definition: item.cpp:1353
ATNR_WEAPONMAGIC
#define ATNR_WEAPONMAGIC
Definition: attack.h:57
strcasecmp
int strcasecmp(const char *s1, const char *s2)
YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION
Definition: loader.cpp:352
castle_read.key
key
Definition: castle_read.py:64
FVAL
#define FVAL
Definition: loader.cpp:2046
yy_did_buffer_switch_on_eof
static int yy_did_buffer_switch_on_eof
Definition: loader.cpp:281
make_face_from_files.int
int
Definition: make_face_from_files.py:26
yy_chk
static const flex_int16_t yy_chk[3739]
Definition: loader.cpp:1574
yy_delete_buffer
void yy_delete_buffer(YY_BUFFER_STATE b)
Definition: loader.cpp:4564
MIN_ACTIVE_SPEED
#define MIN_ACTIVE_SPEED
Definition: define.h:639
FLAG_IS_USED_UP
#define FLAG_IS_USED_UP
Definition: define.h:260
YY_START
#define YY_START
Definition: loader.cpp:123
FLAG_ANIMATE
#define FLAG_ANIMATE
Definition: define.h:242
loader.h
FLAG_SEE_ANYWHERE
#define FLAG_SEE_ANYWHERE
Definition: define.h:318
flex_int32_t
int flex_int32_t
Definition: loader.cpp:53
FLAG_BERSERK
#define FLAG_BERSERK
Definition: define.h:352
FLAG_IS_HILLY
#define FLAG_IS_HILLY
Definition: define.h:332
FLAG_TREASURE
#define FLAG_TREASURE
Definition: define.h:251
total_msglen
size_t total_msglen
Definition: loader.cpp:2033
YY_NEW_FILE
#define YY_NEW_FILE
Definition: loader.cpp:128
FLAG_UNPAID
#define FLAG_UNPAID
Definition: define.h:236
FLAG_NO_STRENGTH
#define FLAG_NO_STRENGTH
Definition: define.h:306
LL_NORMAL
#define LL_NORMAL
Definition: loader.h:12
yy_init_globals
static int yy_init_globals(void)
Definition: loader.cpp:4958
yyget_lineno
int yyget_lineno(void)
Definition: loader.cpp:4883
yy_last_accepting_cpos
static char * yy_last_accepting_cpos
Definition: loader.cpp:1990
VERY_BIG_BUF
#define VERY_BIG_BUF
Definition: define.h:36
ATNR_GHOSTHIT
#define ATNR_GHOSTHIT
Definition: attack.h:58
yyset_lineno
void yyset_lineno(int _line_number)
Definition: loader.cpp:4926
EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH
Definition: loader.cpp:164
yy_buffer_stack_top
static size_t yy_buffer_stack_top
Definition: loader.cpp:250
ATNR_COLD
#define ATNR_COLD
Definition: attack.h:53
FLAG_XRAYS
#define FLAG_XRAYS
Definition: define.h:300
add_key_value
static void add_key_value(object *op)
Definition: loader.cpp:2249
yytext_ptr
#define yytext_ptr
Definition: loader.cpp:342
artifact
Definition: artifact.h:14
object_set_value
int object_set_value(object *op, const char *key, const char *value, int add_key)
Definition: object.cpp:4492
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: loader.cpp:140
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: loader.cpp:2470
artifact_init
int artifact_init
FLAG_IS_LIGHTABLE
#define FLAG_IS_LIGHTABLE
Definition: define.h:278
FLAG_IS_CAULDRON
#define FLAG_IS_CAULDRON
Definition: define.h:338
TRUE
#define TRUE
Definition: compat.h:11
FLAG_CHANGING
#define FLAG_CHANGING
Definition: define.h:263
ATNR_ELECTRICITY
#define ATNR_ELECTRICITY
Definition: attack.h:52
yy_nxt
static const flex_int16_t yy_nxt[3739]
Definition: loader.cpp:1159
yy_load_buffer_state
static void yy_load_buffer_state(void)
Definition: loader.cpp:4522
EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE
Definition: loader.cpp:163
yy_init_buffer
static void yy_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: loader.cpp:4583
yyget_debug
int yyget_debug(void)
Definition: loader.cpp:4948
FLAG_READY_WEAPON
#define FLAG_READY_WEAPON
Definition: define.h:334
guildbuy.temp
def temp
Definition: guildbuy.py:26
YY_MORE_ADJ
#define YY_MORE_ADJ
Definition: loader.cpp:2000
FLAG_NO_SKILL_IDENT
#define FLAG_NO_SKILL_IDENT
Definition: define.h:335
set_body_info
static void set_body_info(object *op, char *params)
Definition: loader.cpp:2100
FLAG_USE_SCROLL
#define FLAG_USE_SCROLL
Definition: define.h:291
FLAG_CURSED
#define FLAG_CURSED
Definition: define.h:316
yy_buffer_stack_max
static size_t yy_buffer_stack_max
Definition: loader.cpp:251
ATNR_LIFE_STEALING
#define ATNR_LIFE_STEALING
Definition: attack.h:73
BufferReader
Definition: bufferreader.cpp:21
FLAG_IS_THROWN
#define FLAG_IS_THROWN
Definition: define.h:249
yy_start
static int yy_start
Definition: loader.cpp:276
FLAG_SLEEP
#define FLAG_SLEEP
Definition: define.h:307
IVAL
#define IVAL
Definition: loader.cpp:2044
SPELLBOOK
@ SPELLBOOK
Definition: object.h:206
map_layer_name
const char *const map_layer_name[MAP_LAYERS]
Definition: map.cpp:45
YY_INPUT
#define YY_INPUT(buf, result, max_size)
Definition: loader.cpp:2486
yy_switch_to_buffer
void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: loader.cpp:4491
yynoreturn
#define yynoreturn
Definition: loader.cpp:103
FLAG_IS_WATER
#define FLAG_IS_WATER
Definition: define.h:364
yy_accept
static const flex_int16_t yy_accept[2020]
Definition: loader.cpp:367
reverse_ob_key_values
static void reverse_ob_key_values(object *op)
Definition: loader.cpp:2079
yy_buffer_state::yy_bs_lineno
int yy_bs_lineno
Definition: loader.c:221
object_can_merge
int object_can_merge(object *ob1, object *ob2)
Definition: object.cpp:433
YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE
Definition: loader.cpp:266
llevDebug
@ llevDebug
Definition: logger.h:13
FLAG_LIFESAVE
#define FLAG_LIFESAVE
Definition: define.h:305
FLAG_IS_FLOOR
#define FLAG_IS_FLOOR
Definition: define.h:302
yylex_destroy
int yylex_destroy(void)
Definition: loader.cpp:4991
yy_scan_buffer
YY_BUFFER_STATE yy_scan_buffer(char *base, yy_size_t size)
Definition: loader.cpp:4738
FLAG_IDENTIFIED
#define FLAG_IDENTIFIED
Definition: define.h:261
give.name
name
Definition: give.py:27
LL_MORE
#define LL_MORE
Definition: loader.h:11
yytext
char * yytext
Definition: loader.cpp:2002
ATNR_FEAR
#define ATNR_FEAR
Definition: attack.h:63
YY_AT_BOL
#define YY_AT_BOL()
Definition: loader.cpp:323
yypush_buffer_state
void yypush_buffer_state(YY_BUFFER_STATE new_buffer)
Definition: loader.cpp:4640
load_object_from_reader
int load_object_from_reader(BufferReader *reader, object *op, int map_flags, bool arch_init, bool artifact_init)
Definition: loader.cpp:5183
LL_EOF
#define LL_EOF
Definition: loader.h:10