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
187  {
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  */
197 
198  /* Number of characters read into yy_ch_buf, not including EOB
199  * characters.
200  */
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  */
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  */
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  */
221 
225  /* Whether to try to fill the input buffer when we reach the
226  * end of it.
227  */
229 
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. */
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  if (arch_init && op->arch && !op->arch->name) {
2136  LOG(llevError, "Archetype with no name somewhere\n");
2137  char buf[100];
2138  snprintf(buf, sizeof(buf), "--unnamed-%d", cf_random());
2139  op->arch->name = add_string(buf);
2140  }
2141 
2142  /* We do some specialized handling to handle legacy cases of name_pl.
2143  * If the object doesn't have a name_pl, we just use the object name -
2144  * this isn't perfect (things won't be properly pluralized), but works to
2145  * that degree (5 heart is still quite understandable). But the case we
2146  * also have to catch is if this object is not using the normal name for
2147  * the object. In that case, we also want to use the loaded name.
2148  * Otherwise, what happens is that the the plural name will lose
2149  * information (appear as just 'hearts' and not 'goblins heart')
2150  */
2151  if (op->arch && op->name != op->arch->clone.name && op->name_pl == op->arch->clone.name_pl) {
2152  if (op->name_pl) {
2153  free_string(op->name_pl);
2154  op->name_pl = NULL;
2155  }
2156  }
2157  if (!op->name_pl && op->name)
2158  op->name_pl = add_string(op->name);
2159 
2160  /* objects now have a materialname. try to patch it in */
2161  if (!(IS_WEAPON(op) && op->level > 0)) {
2163  }
2164  /* only do these when program is first run - a bit
2165  * excessive to do this at every run - most of this is
2166  * really just to catch any errors - program will still run, but
2167  * not in the ideal fashion.
2168  */
2169  if ((op->type == WEAPON || op->type == BOW) && arch_init) {
2170  if (!op->skill) {
2171  LOG(llevError, "Weapon %s lacks a skill.\n", op->name);
2172  } else if ((!strcmp(op->skill, "one handed weapons") && op->body_info[1] != -1) ||
2173  (!strcmp(op->skill, "two handed weapons") && op->body_info[1] != -2)) {
2174  LOG(llevError, "weapon %s arm usage does not match skill: %d, %s\n", op->name, op->body_info[1], op->skill);
2175  }
2176  }
2177 
2178  /* spellbooks & runes use slaying. But not to arch name, but to spell name */
2179  if ((op->type == SPELLBOOK || op->type == RUNE) && op->slaying && !op->inv && !arch_init) {
2180  object *tmp;
2181 
2184  op->randomitems = NULL; /* So another spell isn't created for this object */
2185  /* without this, value is all screwed up */
2186  op->value = op->arch->clone.value*op->inv->value;
2187  }
2188 
2189  if (QUERY_FLAG(op, FLAG_MONSTER)) {
2190  if (op->stats.hp > op->stats.maxhp)
2191  LOG(llevDebug, "Monster %s has hp set higher than maxhp (%d>%d)\n", op->name, op->stats.hp, op->stats.maxhp);
2192  }
2194  || op->type == CREATOR
2195  || op->type == CONVERTER) {
2196  /* Object will duplicate its content as part of the
2197  * generation process. To do this, we must flag inventory
2198  * so it remains unevaluated concerning the randomitems and
2199  * the living (a demonlord shouldn't cast from inside generator!)
2200  */
2202  }
2203 
2204  /* if the item is identified, ensure we got the correct face */
2207 
2208  /* Here we'll handle custom monsters. In order to handle them correctly, especially in the fix_object
2209  * method, we'll create a new temporary archetype containing defined values.
2210  * Of course this doesn't apply when loading archetypes or artifacts.
2211  */
2212  if (!arch_init
2214  && op->arch
2215  && !object_can_merge(op, &op->arch->clone)) {
2217  temp->reference_count++;
2218  temp->name = add_string(op->arch->name);
2219  temp->tail_x = op->arch->tail_x;
2220  temp->tail_y = op->arch->tail_y;
2221  object_copy(op, &temp->clone);
2222  temp->clone.inv = NULL;
2223  temp->clone.env = NULL;
2224  temp->clone.x = 0;
2225  temp->clone.y = 0;
2226  temp->clone.map = NULL;
2227  if (FABS(temp->clone.speed) > MIN_ACTIVE_SPEED) {
2228  /* Clone has a speed, so need to clear that because it isn't on a map.
2229  * But we need to keep the value, because otherwise the customized object
2230  * will have no speed (fix_player() will use the 0 value). So set it
2231  * to zero, call object_update_speed() to remove it from active list, then
2232  * set its speed back to the original.
2233  */
2234  temp->clone.speed = 0;
2235  object_update_speed(&temp->clone);
2236  temp->clone.speed = op->speed;
2237  }
2238 
2239  temp->more = op->arch->more;
2240  op->arch = temp;
2241  /* LOG(llevDebug, "created temporary archetype for %s at %d,%d\n", op->name, op->x, op->y); */
2242  }
2243 }
2244 
2255 static void add_key_value(object *op) {
2256  char *key = NULL;
2257  char *value = NULL;
2258  char *cp;
2259  char *end;
2260 
2261  /* First, skip over leading whitespace. */
2262  for (cp = yytext; isspace(*cp); cp++) {
2263  ;
2264  }
2265 
2266  key = cp;
2267 
2268  /* Now look for the end of the key/field name. */
2269  for (; !isspace(*cp); cp++) {
2270  if (*cp == '\0') {
2271  /* Oops, ran out of string! Set the key with an empty value. */
2272  object_set_value(op, key, NULL, TRUE);
2273  return;
2274  }
2275  }
2276 
2277  if (*cp == '\0') {
2278  object_set_value(op, key, NULL, TRUE);
2279  return;
2280  }
2281 
2282  /* Chop off the key, and start at the next character. */
2283  *cp = '\0';
2284  cp++;
2285  if (*cp == '\0') {
2286  /* Was followed by one space? */
2287  object_set_value(op, key, NULL, TRUE);
2288  return;
2289  }
2290 
2291  /* Now looking for the value. Skip over whitespace. */
2292  for (; isspace(*cp); cp++) {
2293  if (*cp == '\0') {
2294  /* Guess not. */
2295  object_set_value(op, key, NULL, TRUE);
2296  return;
2297  }
2298  }
2299 
2300  value = cp;
2301 
2302  /* Got last character before null and strip
2303  * off tailing whitespace
2304  */
2305  for (end = value+(strlen(cp)-1); isspace(*end); end--) {
2306  if (end == value) {
2307  /* *blink blink* Still no value? */
2308  object_set_value(op, key, NULL, TRUE);
2309  return;
2310  }
2311  *end = '\0';
2312  }
2314 }
2315 
2326 static void set_move(MoveType *mt, char *params, const char *prefix) {
2327  char *str;
2328  int i, negate;
2329 
2330  if (isdigit(*params)) {
2331  *mt = atoi(params);
2332  } else {
2333  *mt = 0;
2334  for (str = strtok(params, " "); str; str = strtok(NULL, " ")) {
2335  negate = 0;
2336  if (!strcasecmp(str, "all"))
2337  *mt |= MOVE_ALL;
2338  else {
2339  if (*str == '-') {
2340  negate = 1;
2341  str++;
2342  }
2343  for (i = 0; move_name[i] != NULL; i++) {
2344  if (!strcasecmp(move_name[i], str)) {
2345  if (negate) {
2346  *mt &= ~(1<<i);
2347  } else {
2348  *mt |= (1<<i);
2349  }
2350  break;
2351  }
2352  }
2353  if (move_name[i] == NULL) {
2354  /* fly is a special case - covers both fly_low and
2355  * fly_high - since it doesn't match to a specific
2356  * single bit, have to special case it.
2357  */
2358  if (!strcasecmp(str, "flying")) {
2359  if (negate) {
2360  *mt &= ~MOVE_FLYING;
2361  } else {
2362  *mt |= MOVE_FLYING;
2363  }
2364  } else {
2365  LOG(llevDebug, "common/loader.l: set_move(%s) - unknown move string '%s'\n", prefix, str);
2366  }
2367  }
2368  } /* Else not all move types */
2369  } /* for strtok */
2370  } /* Else not a numeric value */
2371 }
2372 
2373 #line 2374 "loader.cpp"
2374 
2375 /* Don't have to link with -lfl with this */
2376 /* need yy_push_state, yy_pop_state */
2377 /* those functions are unused, not sure of compatibility with Flex versions. */
2378 #define YY_NO_INPUT 1
2379 #line 2380 "loader.cpp"
2380 
2381 #define INITIAL 0
2382 #define MESSAGE 1
2383 #define LORE 2
2384 #define SCRIPT 3
2385 
2386 #ifndef YY_NO_UNISTD_H
2387 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2388  * down here because we want the user's section 1 to have been scanned first.
2389  * The user has a chance to override it with an option.
2390  */
2391 #include <unistd.h>
2392 #endif
2393 
2394 #ifndef YY_EXTRA_TYPE
2395 #define YY_EXTRA_TYPE void *
2396 #endif
2397 
2398 static int yy_init_globals ( void );
2399 
2400 /* Accessor methods to globals.
2401  These are made visible to non-reentrant scanners for convenience. */
2402 
2403 int yylex_destroy ( void );
2404 
2405 int yyget_debug ( void );
2406 
2407 void yyset_debug ( int debug_flag );
2408 
2409 YY_EXTRA_TYPE yyget_extra ( void );
2410 
2411 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2412 
2413 FILE *yyget_in ( void );
2414 
2415 void yyset_in ( FILE * _in_str );
2416 
2417 FILE *yyget_out ( void );
2418 
2419 void yyset_out ( FILE * _out_str );
2420 
2421  int yyget_leng ( void );
2422 
2423 char *yyget_text ( void );
2424 
2425 int yyget_lineno ( void );
2426 
2427 void yyset_lineno ( int _line_number );
2428 
2429 /* Macros after this point can all be overridden by user definitions in
2430  * section 1.
2431  */
2432 
2433 #ifndef YY_SKIP_YYWRAP
2434 #ifdef __cplusplus
2435 extern "C" int yywrap ( void );
2436 #else
2437 extern int yywrap ( void );
2438 #endif
2439 #endif
2440 
2441 #ifndef YY_NO_UNPUT
2442 
2443 #endif
2444 
2445 #ifndef yytext_ptr
2446 static void yy_flex_strncpy ( char *, const char *, int );
2447 #endif
2448 
2449 #ifdef YY_NEED_STRLEN
2450 static int yy_flex_strlen ( const char * );
2451 #endif
2452 
2453 #ifndef YY_NO_INPUT
2454 #ifdef __cplusplus
2455 static int yyinput ( void );
2456 #else
2457 static int input ( void );
2458 #endif
2459 
2460 #endif
2461 
2462  static int yy_start_stack_ptr = 0;
2463  static int yy_start_stack_depth = 0;
2464  static int *yy_start_stack = NULL;
2465 
2466  static void yy_push_state ( int _new_state );
2467 
2468  static void yy_pop_state ( void );
2469 
2470 /* Amount of stuff to slurp up with each read. */
2471 #ifndef YY_READ_BUF_SIZE
2472 #ifdef __ia64__
2473 /* On IA-64, the buffer size is 16k, not 8k */
2474 #define YY_READ_BUF_SIZE 16384
2475 #else
2476 #define YY_READ_BUF_SIZE 8192
2477 #endif /* __ia64__ */
2478 #endif
2479 
2480 /* Copy whatever the last rule matched to the standard output. */
2481 #ifndef ECHO
2482 /* This used to be an fputs(), but since the string might contain NUL's,
2483  * we now use fwrite().
2484  */
2485 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2486 #endif
2487 
2488 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2489  * is returned in "result".
2490  */
2491 #ifndef YY_INPUT
2492 #define YY_INPUT(buf,result,max_size) \
2493  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2494  { \
2495  int c = '*'; \
2496  int n; \
2497  for ( n = 0; n < max_size && \
2498  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2499  buf[n] = (char) c; \
2500  if ( c == '\n' ) \
2501  buf[n++] = (char) c; \
2502  if ( c == EOF && ferror( yyin ) ) \
2503  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2504  result = n; \
2505  } \
2506  else \
2507  { \
2508  errno=0; \
2509  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2510  { \
2511  if( errno != EINTR) \
2512  { \
2513  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2514  break; \
2515  } \
2516  errno=0; \
2517  clearerr(yyin); \
2518  } \
2519  }\
2520 \
2521 
2522 #endif
2523 
2524 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2525  * we don't want an extra ';' after the "return" because that will cause
2526  * some compilers to complain about unreachable statements.
2527  */
2528 #ifndef yyterminate
2529 #define yyterminate() return YY_NULL
2530 #endif
2531 
2532 /* Number of entries by which start-condition stack grows. */
2533 #ifndef YY_START_STACK_INCR
2534 #define YY_START_STACK_INCR 25
2535 #endif
2536 
2537 /* Report a fatal error. */
2538 #ifndef YY_FATAL_ERROR
2539 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2540 #endif
2541 
2542 /* end tables serialization structures and prototypes */
2543 
2544 /* Default declaration of generated scanner - a define so the user can
2545  * easily add parameters.
2546  */
2547 #ifndef YY_DECL
2548 #define YY_DECL_IS_OURS 1
2549 
2550 extern int yylex (void);
2551 
2552 #define YY_DECL int yylex (void)
2553 #endif /* !YY_DECL */
2554 
2555 /* Code executed at the beginning of each rule, after yytext and yyleng
2556  * have been set up.
2557  */
2558 #ifndef YY_USER_ACTION
2559 #define YY_USER_ACTION
2560 #endif
2561 
2562 /* Code executed at the end of each rule. */
2563 #ifndef YY_BREAK
2564 #define YY_BREAK /*LINTED*/break;
2565 #endif
2566 
2567 #define YY_RULE_SETUP \
2568  if ( yyleng > 0 ) \
2569  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2570  (yytext[yyleng - 1] == '\n'); \
2571  YY_USER_ACTION
2572 
2575 YY_DECL
2577  yy_state_type yy_current_state;
2578  char *yy_cp, *yy_bp;
2579  int yy_act;
2580 
2581  if ( !(yy_init) )
2582  {
2583  (yy_init) = 1;
2584 
2585 #ifdef YY_USER_INIT
2586  YY_USER_INIT;
2587 #endif
2588 
2589  if ( ! (yy_start) )
2590  (yy_start) = 1; /* first start state */
2591 
2592  if ( ! yyin )
2593  yyin = stdin;
2594 
2595  if ( ! yyout )
2596  yyout = stdout;
2597 
2598  if ( ! YY_CURRENT_BUFFER ) {
2602  }
2603 
2605  }
2606 
2607  {
2608 #line 391 "../common/loader.l"
2609 
2610 
2611 
2612 #line 395 "../common/loader.l"
2613 /* Declare some local variables */
2614  object *op = items[*depth];
2615  lex_error = 0;
2616 
2617 
2618 
2619 #line 2620 "loader.cpp"
2620 
2621  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2622  {
2623  yy_cp = (yy_c_buf_p);
2624 
2625  /* Support of yytext. */
2626  *yy_cp = (yy_hold_char);
2627 
2628  /* yy_bp points to the position in yy_ch_buf of the start of
2629  * the current run.
2630  */
2631  yy_bp = yy_cp;
2632 
2633  yy_current_state = (yy_start);
2634  yy_current_state += YY_AT_BOL();
2635 yy_match:
2636  do
2637  {
2638  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2639  if ( yy_accept[yy_current_state] )
2640  {
2641  (yy_last_accepting_state) = yy_current_state;
2643  }
2644  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2645  {
2646  yy_current_state = (int) yy_def[yy_current_state];
2647  if ( yy_current_state >= 2020 )
2648  yy_c = yy_meta[yy_c];
2649  }
2650  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2651  ++yy_cp;
2652  }
2653  while ( yy_current_state != 2019 );
2655  yy_current_state = (yy_last_accepting_state);
2656 
2657 yy_find_action:
2658  yy_act = yy_accept[yy_current_state];
2659 
2661 
2662 do_action: /* This label is used only to access EOF actions. */
2663 
2664  switch ( yy_act )
2665  { /* beginning of action switch */
2666  case 0: /* must back up */
2667  /* undo the effects of YY_DO_BEFORE_ACTION */
2668  *yy_cp = (yy_hold_char);
2670  yy_current_state = (yy_last_accepting_state);
2671  goto yy_find_action;
2672 
2673 case 1:
2674 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2675 (yy_c_buf_p) = yy_cp -= 1;
2676 YY_DO_BEFORE_ACTION; /* set up yytext again */
2678 #line 401 "../common/loader.l"
2679 { BEGIN(MESSAGE); msgbuf[0] = '\0'; msglen = 0; total_msglen = 0;}
2680  YY_BREAK
2681 case 2:
2682 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2683 (yy_c_buf_p) = yy_cp -= 1;
2684 YY_DO_BEFORE_ACTION; /* set up yytext again */
2686 #line 402 "../common/loader.l"
2687 { BEGIN(INITIAL);
2689  /* Just print a warning so we can be reasonably safe
2690  * about not overflowing the buffer.
2691  */
2692  if (total_msglen > (HUGE_BUF / 2))
2693  LOG(llevDebug,
2694  "warning: msg in '%s' on %s is very long (%lu "
2695  "characters)\n",
2696  op->name,
2697  op->map != NULL ? op->map->path : "no map",
2698  (unsigned long)total_msglen);
2699  }
2700  YY_BREAK
2701 case 3:
2703 #line 415 "../common/loader.l"
2705  safe_strcat(msgbuf, "\n", &msglen, HUGE_BUF);
2706  total_msglen += strlen(yytext)+1;
2707  }
2708  YY_BREAK
2709 case 4:
2710 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2711 (yy_c_buf_p) = yy_cp -= 1;
2712 YY_DO_BEFORE_ACTION; /* set up yytext again */
2714 #line 420 "../common/loader.l"
2715 { BEGIN(LORE); lorebuf[0] = '\0'; }
2716  YY_BREAK
2717 case 5:
2718 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2719 (yy_c_buf_p) = yy_cp -= 1;
2720 YY_DO_BEFORE_ACTION; /* set up yytext again */
2722 #line 421 "../common/loader.l"
2723 { BEGIN(INITIAL);
2724  op->lore = add_string(lorebuf);
2725  /* Just print a warning so we can be reasonably safe
2726  * about not overflowing the buffer.
2727  */
2728  if (strlen(op->lore) > (HUGE_BUF/2))
2729  LOG(llevDebug, "\n\tWarning lore length > %d (max allowed=%d): %lu\n>%.80s<\n",
2730  HUGE_BUF/2, HUGE_BUF, (unsigned long)strlen(op->lore), op->lore);
2731  }
2732  YY_BREAK
2733 case 6:
2735 #line 430 "../common/loader.l"
2736 { strcat(lorebuf, yytext); strcat(lorebuf, "\n"); }
2737  YY_BREAK
2738 case 7:
2740 #line 432 "../common/loader.l"
2741 {
2742  char *yv = yval();
2743 
2744  if (*yv == '\0') {
2745  LOG(llevError, "Object lacks name.\n");
2746  return LL_IGNORED;
2747  }
2748  if (seen_object) {
2749  LOG(llevError, "An object started before the 'end' of object %s.\n", (op->arch && op->arch->name) ? op->arch->name : "(no name)");
2750  }
2751  if (op->arch != NULL)
2752  op->arch->name = add_string(yv);
2753  op->name = add_string(yv);
2754  seen_object = true;
2755  }
2756  YY_BREAK
2757 case 8:
2759 #line 448 "../common/loader.l"
2760 {
2761  char *yv = yval();
2762 
2763  if (*yv == '\0')
2764  LOG(llevError, "Name without val\n");
2765  else
2766  FREE_AND_COPY(op->name, yv);
2767  }
2768  YY_BREAK
2769 case 9:
2771 #line 456 "../common/loader.l"
2772 {
2773  char *yv = yval();
2774 
2775  if (*yv == '\0')
2776  LOG(llevError, "Name without val\n");
2777  else
2778  FREE_AND_COPY(op->name_pl, yv);
2779  }
2780  YY_BREAK
2781 case 10:
2783 #line 464 "../common/loader.l"
2784 {
2785  char *yv = yval();
2786 
2787  if (*yv == '\0')
2788  LOG(llevError, "Anim suffix without val\n");
2789  else
2790  FREE_AND_COPY(op->anim_suffix, yv);
2791  }
2792  YY_BREAK
2793 case 11:
2795 #line 472 "../common/loader.l"
2796 FREE_AND_COPY(op->skill, yval());
2797  YY_BREAK
2798 case 12:
2800 #line 473 "../common/loader.l"
2801 FREE_AND_COPY(op->race, yval());
2802  YY_BREAK
2803 case 13:
2805 #line 474 "../common/loader.l"
2806 FREE_AND_COPY(op->slaying, yval());
2807  YY_BREAK
2808 case 14:
2810 #line 475 "../common/loader.l"
2811 {
2812  if (op->arch) {
2813  /*
2814  Here an object must be inserted into another object,
2815  during archetypes, artifact or map loading.
2816 
2817  The logic is as follow:
2818  - in linemode, we are loading artifacts, so just
2819  increase depth, next calls will work on object
2820  in inventory, and insertion in previous object done
2821  in the "end" part
2822  - when not in linemode, two cases:
2823  - arch_init is not set, then we are loading a map
2824  - arch_init is set, we are loading archetypes,
2825  discard the object, it'll be handled in a second pass
2826  */
2827  object *tmp;
2828  char *yv = yval();
2829 
2830  tmp = object_new();
2831  tmp->arch = find_archetype(yv);
2832  if (arch_init || artifact_init) {
2833  object_copy_no_speed(&tmp->arch->clone, tmp);
2834  } else {
2835  object_copy(&tmp->arch->clone, tmp);
2836  }
2837  strcpy(msgbuf, "");
2838  strcpy(lorebuf, "");
2839  msglen = 0;
2840  total_msglen = 0;
2841  (*depth)++;
2842  items[*depth] = tmp;
2843  if (linemode == 0) {
2844  lex_load(depth, items, maxdepth, map_flags, linemode, ismore, arch_init, artifact_init);
2845  (*depth)--;
2847  }
2848  } else {
2849  /* Here we are loading an object in a map, on a spot, not
2850  * in another object's inventory */
2851  char *yv = yval();
2852 
2853  op->arch = find_archetype(yv);
2854  if (arch_init || artifact_init) {
2855  object_copy_no_speed(&op->arch->clone, op);
2856  } else {
2857  object_copy(&op->arch->clone, op);
2858  }
2859  }
2860  }
2861  YY_BREAK
2862 case 15:
2864 #line 525 "../common/loader.l"
2865 {
2866  const char *yv = yval();
2867  const artifact *art = find_artifact(op, yv);
2868  if (art == NULL) {
2869  LOG(llevError, "can't find artifact %s [%d]\n for loading", yv, op->type);
2870  } else {
2872  }
2873  }
2874  YY_BREAK
2875 case 16:
2877 #line 535 "../common/loader.l"
2878 op->other_arch = find_archetype(yval());
2879  YY_BREAK
2880 case 17:
2882 #line 536 "../common/loader.l"
2883 {
2884  if (strcmp (yval(), "NONE") == 0) {
2885  op->animation = NULL;
2887  } else {
2888  op->animation = find_animation (yval());
2890  }
2891  }
2892  YY_BREAK
2893 case 18:
2894 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2895 (yy_c_buf_p) = yy_cp -= 1;
2896 YY_DO_BEFORE_ACTION; /* set up yytext again */
2898 #line 546 "../common/loader.l"
2899 { /* We need to record that this is a multipart object,
2900  * so the calling function can glue things back together
2901  */
2902  if ((*depth) > 0) {
2903  LOG(llevError, "Got 'more' in depth %d (object %s)\n", *depth, items[*depth]->name);
2904  }
2905  (*ismore) = 1;
2906  }
2907  YY_BREAK
2908 case 19:
2909 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2910 (yy_c_buf_p) = yy_cp -= 1;
2911 YY_DO_BEFORE_ACTION; /* set up yytext again */
2913 #line 555 "../common/loader.l"
2914 {
2915  seen_object = false;
2916  if (!artifact_init) {
2917  check_loaded_object(op, arch_init);
2918  }
2919  reverse_ob_inv(op);
2921  if (linemode) {
2922  /* Linemode is only set for artifact loading. */
2923  if ((*depth) > 0) {
2924  /* Object we finished is in another object's inventory */
2925  object_insert_in_ob(items[*depth], items[(*depth)-1]);
2926  }
2927  return LL_NORMAL;
2928  }
2929  if (*ismore)
2930  return LL_MORE;
2931  else
2932  return LL_NORMAL;
2933  }
2934  YY_BREAK
2935 case 20:
2937 #line 575 "../common/loader.l"
2938 op->last_heal = IVAL;
2939  YY_BREAK
2940 case 21:
2942 #line 576 "../common/loader.l"
2943 op->last_sp = IVAL;
2944  YY_BREAK
2945 case 22:
2947 #line 577 "../common/loader.l"
2948 op->last_grace = IVAL;
2949  YY_BREAK
2950 case 23:
2952 #line 578 "../common/loader.l"
2953 op->last_eat = IVAL;
2954  YY_BREAK
2955 case 24:
2957 #line 579 "../common/loader.l"
2958 {
2959  op->speed = FVAL;
2960  if (!(map_flags&MAP_STYLE)) {
2961  if (op->speed < 0) {
2962  op->speed_left = op->speed_left-RANDOM()%100/100.0;
2963  op->speed = -op->speed; // Make this always positive
2964  }
2965  if (!arch_init) {
2967  }
2968  }
2969  }
2970  YY_BREAK
2971 case 25:
2973 #line 591 "../common/loader.l"
2974 op->speed_left = FVAL;
2975  YY_BREAK
2976 case 26:
2978 #line 593 "../common/loader.l"
2979 op->weapon_speed_left = FVAL;
2980  YY_BREAK
2981 case 27:
2983 #line 594 "../common/loader.l"
2984 op->weapon_speed = FVAL;
2985  YY_BREAK
2986 case 28:
2988 #line 596 "../common/loader.l"
2989 {
2990  op->move_slow |= MOVE_WALK;
2991  op->move_slow_penalty = FVAL;
2992  }
2993  YY_BREAK
2994 case 29:
2996 #line 600 "../common/loader.l"
2997 {
2998  char *y = yval();
2999 
3000  if (*y == '\0')
3001  LOG(llevError, "Title without value.\n");
3002  else
3003  FREE_AND_COPY(op->title, y);
3004  }
3005  YY_BREAK
3006 case 30:
3008 #line 609 "../common/loader.l"
3009 {
3010  op->face = find_face(yval());
3011  }
3012  YY_BREAK
3013 case 31:
3015 #line 612 "../common/loader.l"
3016 op->stats.Str = IVAL;
3017  YY_BREAK
3018 case 32:
3020 #line 613 "../common/loader.l"
3021 op->stats.Dex = IVAL;
3022  YY_BREAK
3023 case 33:
3025 #line 614 "../common/loader.l"
3026 op->stats.Con = IVAL;
3027  YY_BREAK
3028 case 34:
3030 #line 615 "../common/loader.l"
3031 op->stats.Wis = IVAL;
3032  YY_BREAK
3033 case 35:
3035 #line 616 "../common/loader.l"
3036 op->stats.Cha = IVAL;
3037  YY_BREAK
3038 case 36:
3040 #line 617 "../common/loader.l"
3041 op->stats.Int = IVAL;
3042  YY_BREAK
3043 case 37:
3045 #line 618 "../common/loader.l"
3046 op->stats.Pow = IVAL;
3047  YY_BREAK
3048 case 38:
3050 #line 619 "../common/loader.l"
3051 op->stats.hp = IVAL;
3052  YY_BREAK
3053 case 39:
3055 #line 620 "../common/loader.l"
3056 op->stats.maxhp = IVAL;
3057  YY_BREAK
3058 case 40:
3060 #line 621 "../common/loader.l"
3061 op->stats.sp = IVAL;
3062  YY_BREAK
3063 case 41:
3065 #line 622 "../common/loader.l"
3066 op->stats.maxsp = IVAL;
3067  YY_BREAK
3068 case 42:
3070 #line 623 "../common/loader.l"
3071 op->stats.grace = IVAL;
3072  YY_BREAK
3073 case 43:
3075 #line 624 "../common/loader.l"
3076 op->stats.maxgrace = IVAL;
3077  YY_BREAK
3078 case 44:
3080 #line 625 "../common/loader.l"
3081 op->stats.exp = atoll(yval());
3082  YY_BREAK
3083 case 45:
3085 #line 626 "../common/loader.l"
3086 op->total_exp = atoll(yval());
3087  YY_BREAK
3088 case 46:
3090 #line 627 "../common/loader.l"
3091 op->total_exp = (atoll(yval()) * 100 / settings.permanent_exp_ratio);
3092  YY_BREAK
3093 case 47:
3095 #line 628 "../common/loader.l"
3096 op->stats.food = IVAL;
3097  YY_BREAK
3098 case 48:
3100 #line 629 "../common/loader.l"
3101 op->stats.dam = IVAL;
3102  YY_BREAK
3103 case 49:
3105 #line 630 "../common/loader.l"
3106 op->stats.wc = IVAL;
3107  YY_BREAK
3108 case 50:
3110 #line 631 "../common/loader.l"
3111 op->stats.ac = IVAL;
3112  YY_BREAK
3113 case 51:
3115 #line 632 "../common/loader.l"
3116 { op->x = IVAL; op->ox= op->x; }
3117  YY_BREAK
3118 case 52:
3120 #line 633 "../common/loader.l"
3121 { op->y = IVAL; op->oy= op->y; }
3122  YY_BREAK
3123 case 53:
3125 #line 634 "../common/loader.l"
3126 op->nrof= atol(yval());
3127  YY_BREAK
3128 case 54:
3130 #line 635 "../common/loader.l"
3131 op->level = IVAL;
3132  YY_BREAK
3133 case 55:
3135 #line 636 "../common/loader.l"
3136 op->direction = IVAL;
3137  YY_BREAK
3138 case 56:
3140 #line 637 "../common/loader.l"
3141 op->type = IVAL;
3142  YY_BREAK
3143 case 57:
3145 #line 638 "../common/loader.l"
3146 op->subtype = IVAL;
3147  YY_BREAK
3148 case 58:
3150 #line 639 "../common/loader.l"
3151 op->material = IVAL;
3152  YY_BREAK
3153 case 59:
3155 #line 640 "../common/loader.l"
3156 {
3157  char *yv = yval();
3158 
3159  if (*yv == '\0')
3160  LOG(llevError, "Materialname without val\n");
3161  else
3162  FREE_AND_COPY(op->materialname, yv);
3163  }
3164  YY_BREAK
3165 case 60:
3167 #line 649 "../common/loader.l"
3168 op->value = IVAL;
3169  YY_BREAK
3170 case 61:
3172 #line 650 "../common/loader.l"
3173 {
3174  op->weight = atol(yval());
3175  if (op->weight == 0) {
3177  }
3178  }
3179  YY_BREAK
3180 case 62:
3182 #line 656 "../common/loader.l"
3183 op->carrying = atol(yval());
3184  YY_BREAK
3185 case 63:
3187 #line 657 "../common/loader.l"
3188 op->attacktype = IVAL;
3189  YY_BREAK
3190 case 64:
3192 #line 658 "../common/loader.l"
3193 op->path_attuned = IVAL;
3194  YY_BREAK
3195 case 65:
3197 #line 659 "../common/loader.l"
3198 op->path_repelled = IVAL;
3199  YY_BREAK
3200 case 66:
3202 #line 660 "../common/loader.l"
3203 op->path_denied = IVAL;
3204  YY_BREAK
3205 case 67:
3207 #line 661 "../common/loader.l"
3208 op->invisible = IVAL;
3209  YY_BREAK
3210 case 68:
3212 #line 662 "../common/loader.l"
3213 op->magic = IVAL;
3214  YY_BREAK
3215 case 69:
3217 #line 663 "../common/loader.l"
3218 op->state = IVAL;
3219  YY_BREAK
3220 case 70:
3222 #line 664 "../common/loader.l"
3224  YY_BREAK
3225 case 71:
3227 #line 665 "../common/loader.l"
3229  YY_BREAK
3230 case 72:
3232 #line 666 "../common/loader.l"
3234  YY_BREAK
3235 case 73:
3237 #line 667 "../common/loader.l"
3239  YY_BREAK
3240 case 74:
3242 #line 668 "../common/loader.l"
3244  YY_BREAK
3245 case 75:
3247 #line 669 "../common/loader.l"
3249  YY_BREAK
3250 case 76:
3252 #line 670 "../common/loader.l"
3254  YY_BREAK
3255  /* These are the new values */
3256 
3257 case 77:
3259 #line 674 "../common/loader.l"
3260 set_move(&op->move_block, yval(), "block");
3261  YY_BREAK
3262 case 78:
3264 #line 675 "../common/loader.l"
3265 set_move(&op->move_allow, yval(), "allow");
3266  YY_BREAK
3267 case 79:
3269 #line 676 "../common/loader.l"
3270 set_move(&op->move_type, yval(), "type");
3271  YY_BREAK
3272 case 80:
3274 #line 677 "../common/loader.l"
3275 set_move(&op->move_on, yval(), "on");
3276  YY_BREAK
3277 case 81:
3279 #line 678 "../common/loader.l"
3280 set_move(&op->move_off, yval(), "off");
3281  YY_BREAK
3282 case 82:
3284 #line 679 "../common/loader.l"
3285 set_move(&op->move_slow, yval(), "slow");
3286  YY_BREAK
3287 case 83:
3289 #line 680 "../common/loader.l"
3290 op->move_slow_penalty = FVAL;
3291  YY_BREAK
3292 case 84:
3294 #line 683 "../common/loader.l"
3296  YY_BREAK
3297 case 85:
3299 #line 684 "../common/loader.l"
3301  YY_BREAK
3302 case 86:
3304 #line 685 "../common/loader.l"
3306  YY_BREAK
3307 case 87:
3309 #line 686 "../common/loader.l"
3311  YY_BREAK
3312 case 88:
3314 #line 687 "../common/loader.l"
3315 {
3316  if (IVAL) {
3318  if (op->type != PLAYER && !arch_init) {
3319  LOG(llevDebug, " Adding friendly object %s.\n", op->name);
3321  }
3322  }
3323  else
3325  }
3326  YY_BREAK
3327 case 89:
3329 #line 698 "../common/loader.l"
3331  YY_BREAK
3332 case 90:
3334 #line 699 "../common/loader.l"
3336  YY_BREAK
3337 case 91:
3339 #line 700 "../common/loader.l"
3341  YY_BREAK
3342 case 92:
3344 #line 701 "../common/loader.l"
3346  YY_BREAK
3347 case 93:
3349 #line 702 "../common/loader.l"
3351  YY_BREAK
3352 case 94:
3354 #line 703 "../common/loader.l"
3356  YY_BREAK
3357 case 95:
3359 #line 704 "../common/loader.l"
3361  YY_BREAK
3362 case 96:
3364 #line 705 "../common/loader.l"
3366  YY_BREAK
3367 case 97:
3369 #line 706 "../common/loader.l"
3371  YY_BREAK
3372 case 98:
3374 #line 707 "../common/loader.l"
3376  YY_BREAK
3377 case 99:
3379 #line 708 "../common/loader.l"
3380 {
3381  if (IVAL) {
3383  }
3384  else
3386  }
3387  YY_BREAK
3388 case 100:
3390 #line 715 "../common/loader.l"
3392  YY_BREAK
3393 case 101:
3395 #line 716 "../common/loader.l"
3397  YY_BREAK
3398 case 102:
3400 #line 717 "../common/loader.l"
3402  YY_BREAK
3403 case 103:
3405 #line 718 "../common/loader.l"
3407  YY_BREAK
3408 case 104:
3410 #line 719 "../common/loader.l"
3412  YY_BREAK
3413 case 105:
3415 #line 720 "../common/loader.l"
3417  YY_BREAK
3418 case 106:
3420 #line 721 "../common/loader.l"
3421 { /* This field is used by Gridarta, so it's not an error. */ }
3422  YY_BREAK
3423 case 107:
3425 #line 722 "../common/loader.l"
3427  YY_BREAK
3428 case 108:
3430 #line 723 "../common/loader.l"
3432  YY_BREAK
3433 case 109:
3435 #line 724 "../common/loader.l"
3437  YY_BREAK
3438 case 110:
3440 #line 725 "../common/loader.l"
3442  YY_BREAK
3443 case 111:
3445 #line 726 "../common/loader.l"
3447  YY_BREAK
3448 case 112:
3450 #line 727 "../common/loader.l"
3452  YY_BREAK
3453 case 113:
3455 #line 728 "../common/loader.l"
3456 {
3457  if (IVAL) {
3458  SET_FLAG(op, FLAG_WIZ);
3462  } else {
3466  }
3467  }
3468  YY_BREAK
3469 case 114:
3471 #line 740 "../common/loader.l"
3473  YY_BREAK
3474 case 115:
3476 #line 741 "../common/loader.l"
3478  YY_BREAK
3479 case 116:
3481 #line 742 "../common/loader.l"
3483  YY_BREAK
3484 case 117:
3486 #line 743 "../common/loader.l"
3488  YY_BREAK
3489 case 118:
3491 #line 744 "../common/loader.l"
3492 op->stats.luck = IVAL;
3493  YY_BREAK
3494 case 119:
3496 #line 745 "../common/loader.l"
3497 op->run_away = IVAL;
3498  YY_BREAK
3499 case 120:
3501 #line 746 "../common/loader.l"
3502 op->pick_up = IVAL;
3503  YY_BREAK
3504 case 121:
3506 #line 747 "../common/loader.l"
3507 op->item_power = IVAL;
3508  YY_BREAK
3509 case 122:
3511 #line 748 "../common/loader.l"
3512 op->gen_sp_armour = IVAL;
3513  YY_BREAK
3514 case 123:
3516 #line 749 "../common/loader.l"
3517 op->anim_speed = IVAL;
3518  YY_BREAK
3519 case 124:
3521 #line 750 "../common/loader.l"
3522 op->weight_limit = IVAL;
3523  YY_BREAK
3524 case 125:
3526 #line 751 "../common/loader.l"
3528  YY_BREAK
3529 case 126:
3531 #line 752 "../common/loader.l"
3532 op->will_apply = IVAL;
3533  YY_BREAK
3534 case 127:
3536 #line 753 "../common/loader.l"
3538  YY_BREAK
3539 case 128:
3541 #line 754 "../common/loader.l"
3543  YY_BREAK
3544 case 129:
3546 #line 755 "../common/loader.l"
3548  YY_BREAK
3549 case 130:
3551 #line 756 "../common/loader.l"
3553  YY_BREAK
3554 case 131:
3556 #line 757 "../common/loader.l"
3558  YY_BREAK
3559 case 132:
3561 #line 758 "../common/loader.l"
3563  YY_BREAK
3564 case 133:
3566 #line 759 "../common/loader.l"
3568  YY_BREAK
3569 case 134:
3571 #line 760 "../common/loader.l"
3573  YY_BREAK
3574 case 135:
3576 #line 761 "../common/loader.l"
3578  YY_BREAK
3579 case 136:
3581 #line 762 "../common/loader.l"
3583  YY_BREAK
3584 case 137:
3586 #line 763 "../common/loader.l"
3588  YY_BREAK
3589 case 138:
3591 #line 764 "../common/loader.l"
3593  YY_BREAK
3594 case 139:
3596 #line 765 "../common/loader.l"
3598  YY_BREAK
3599 case 140:
3601 #line 766 "../common/loader.l"
3603  YY_BREAK
3604 case 141:
3606 #line 767 "../common/loader.l"
3608  YY_BREAK
3609 case 142:
3611 #line 768 "../common/loader.l"
3613  YY_BREAK
3614 case 143:
3616 #line 769 "../common/loader.l"
3618  YY_BREAK
3619 case 144:
3621 #line 771 "../common/loader.l"
3623  YY_BREAK
3624 case 145:
3626 #line 772 "../common/loader.l"
3628  YY_BREAK
3629 /* Start of various attacktypes */
3630 case 146:
3632 #line 775 "../common/loader.l"
3634  YY_BREAK
3635 case 147:
3637 #line 776 "../common/loader.l"
3639  YY_BREAK
3640 case 148:
3642 #line 777 "../common/loader.l"
3644  YY_BREAK
3645 case 149:
3647 #line 778 "../common/loader.l"
3649  YY_BREAK
3650 case 150:
3652 #line 779 "../common/loader.l"
3654  YY_BREAK
3655 case 151:
3657 #line 780 "../common/loader.l"
3659  YY_BREAK
3660 case 152:
3662 #line 781 "../common/loader.l"
3664  YY_BREAK
3665 case 153:
3667 #line 782 "../common/loader.l"
3669  YY_BREAK
3670 case 154:
3672 #line 783 "../common/loader.l"
3674  YY_BREAK
3675 case 155:
3677 #line 784 "../common/loader.l"
3679  YY_BREAK
3680 case 156:
3682 #line 785 "../common/loader.l"
3684  YY_BREAK
3685 case 157:
3687 #line 786 "../common/loader.l"
3689  YY_BREAK
3690 case 158:
3692 #line 787 "../common/loader.l"
3694  YY_BREAK
3695 case 159:
3697 #line 788 "../common/loader.l"
3699  YY_BREAK
3700 case 160:
3702 #line 789 "../common/loader.l"
3704  YY_BREAK
3705 case 161:
3707 #line 790 "../common/loader.l"
3709  YY_BREAK
3710 case 162:
3712 #line 791 "../common/loader.l"
3714  YY_BREAK
3715 case 163:
3717 #line 792 "../common/loader.l"
3719  YY_BREAK
3720 case 164:
3722 #line 793 "../common/loader.l"
3724  YY_BREAK
3725 case 165:
3727 #line 794 "../common/loader.l"
3729  YY_BREAK
3730 case 166:
3732 #line 795 "../common/loader.l"
3734  YY_BREAK
3735 case 167:
3737 #line 796 "../common/loader.l"
3739  YY_BREAK
3740 case 168:
3742 #line 797 "../common/loader.l"
3744  YY_BREAK
3745 case 169:
3747 #line 798 "../common/loader.l"
3749  YY_BREAK
3750 case 170:
3752 #line 799 "../common/loader.l"
3754  YY_BREAK
3755 case 171:
3757 #line 800 "../common/loader.l"
3759  YY_BREAK
3760 case 172:
3762 #line 801 "../common/loader.l"
3763 op->attack_movement = IVAL;
3764  YY_BREAK
3765 case 173:
3767 #line 802 "../common/loader.l"
3768 op->move_status = IVAL;
3769  YY_BREAK
3770 case 174:
3772 #line 803 "../common/loader.l"
3774  YY_BREAK
3775 case 175:
3777 #line 804 "../common/loader.l"
3779  YY_BREAK
3780 case 176:
3782 #line 805 "../common/loader.l"
3783 add_button_link(op, op->map, IVAL);
3784  YY_BREAK
3785 case 177:
3787 #line 806 "../common/loader.l"
3789  YY_BREAK
3790 case 178:
3792 #line 807 "../common/loader.l"
3794  YY_BREAK
3795 case 179:
3797 #line 808 "../common/loader.l"
3799  YY_BREAK
3800 case 180:
3802 #line 809 "../common/loader.l"
3804  YY_BREAK
3805 case 181:
3807 #line 810 "../common/loader.l"
3809  YY_BREAK
3810 case 182:
3812 #line 811 "../common/loader.l"
3814  YY_BREAK
3815 case 183:
3817 #line 812 "../common/loader.l"
3819  YY_BREAK
3820 case 184:
3822 #line 813 "../common/loader.l"
3824  YY_BREAK
3825 case 185:
3827 #line 814 "../common/loader.l"
3829  YY_BREAK
3830 case 186:
3832 #line 815 "../common/loader.l"
3834  YY_BREAK
3835 case 187:
3837 #line 816 "../common/loader.l"
3838 op->expmul = FVAL;
3839  YY_BREAK
3840 case 188:
3842 #line 817 "../common/loader.l"
3844  YY_BREAK
3845 case 189:
3847 #line 818 "../common/loader.l"
3849  YY_BREAK
3850 case 190:
3852 #line 819 "../common/loader.l"
3854  YY_BREAK
3855 case 191:
3857 #line 820 "../common/loader.l"
3859  YY_BREAK
3860 case 192:
3862 #line 821 "../common/loader.l"
3864  YY_BREAK
3865 case 193:
3867 #line 822 "../common/loader.l"
3869  YY_BREAK
3870 case 194:
3872 #line 823 "../common/loader.l"
3874  YY_BREAK
3875 case 195:
3877 #line 824 "../common/loader.l"
3879  YY_BREAK
3880 case 196:
3882 #line 825 "../common/loader.l"
3884  YY_BREAK
3885 case 197:
3887 #line 826 "../common/loader.l"
3888 op->glow_radius = IVAL;
3889  YY_BREAK
3890 case 198:
3892 #line 827 "../common/loader.l"
3894  YY_BREAK
3895 case 199:
3897 #line 828 "../common/loader.l"
3899  YY_BREAK
3900 case 200:
3902 #line 829 "../common/loader.l"
3904  YY_BREAK
3905 case 201:
3907 #line 830 "../common/loader.l"
3908 op->randomitems = find_treasurelist(yval());
3909  YY_BREAK
3910 case 202:
3912 #line 831 "../common/loader.l"
3914  YY_BREAK
3915 case 203:
3917 #line 832 "../common/loader.l"
3919  YY_BREAK
3920 case 204:
3922 #line 833 "../common/loader.l"
3924  YY_BREAK
3925 case 205:
3927 #line 835 "../common/loader.l"
3928 op->weapontype = IVAL;
3929  YY_BREAK
3930 case 206:
3932 #line 836 "../common/loader.l"
3933 op->casting_time = FVAL;
3934  YY_BREAK
3935 case 207:
3937 #line 837 "../common/loader.l"
3938 op->smoothlevel = IVAL;
3939  YY_BREAK
3940 case 208:
3942 #line 838 "../common/loader.l"
3943 {
3945  char *p = strchr(yval(), ' ');
3946  if (!p)
3947  continue;
3948 
3949  *p = '\0';
3950  Face *regular = (Face *)find_face(yval());
3951  Face *smoothed = (Face *)find_face(p + 1);
3952  regular->smoothface = smoothed;
3953  }
3954  YY_BREAK
3955 case 209:
3957 #line 849 "../common/loader.l"
3958 {
3959  if (IVAL)
3960  op->map_layer = IVAL;
3961  else {
3962  int i;
3963  char *cp = yval();
3964 
3965  for (i = 0; i < MAP_LAYERS; i++) {
3966  if (!strcasecmp(cp, map_layer_name[i])) {
3967  op->map_layer = i;
3968  break;
3969  }
3970  }
3971  if (i == MAP_LAYERS) {
3972  LOG(llevError, "Invalid map_layer name found: %s\n", cp);
3973  }
3974  }
3975  }
3976  YY_BREAK
3977 case 210:
3979 #line 867 "../common/loader.l"
3980 op->client_type = IVAL;
3981  YY_BREAK
3982 case 211:
3984 #line 868 "../common/loader.l"
3986  YY_BREAK
3987 case 212:
3989 #line 869 "../common/loader.l"
3990 op->duration = IVAL;
3991  YY_BREAK
3992 case 213:
3994 #line 870 "../common/loader.l"
3995 op->range = IVAL;
3996  YY_BREAK
3997 case 214:
3999 #line 871 "../common/loader.l"
4000 op->range_modifier = IVAL;
4001  YY_BREAK
4002 case 215:
4004 #line 872 "../common/loader.l"
4005 op->dam_modifier = IVAL;
4006  YY_BREAK
4007 case 216:
4009 #line 873 "../common/loader.l"
4010 op->duration_modifier = IVAL;
4011  YY_BREAK
4012 case 217:
4014 #line 874 "../common/loader.l"
4016  YY_BREAK
4017 case 218:
4019 #line 875 "../common/loader.l"
4020 op->sound_chance = IVAL;
4021  YY_BREAK
4022 case 219:
4024 #line 876 "../common/loader.l"
4026  YY_BREAK
4027 case 220:
4028 /* rule 220 can match eol */
4030 #line 878 "../common/loader.l"
4031 { /* ignore empty lines, newlines we don't do above */ }
4032  YY_BREAK
4033 case 221:
4034 /* rule 221 can match eol */
4036 #line 879 "../common/loader.l"
4037 { }
4038  YY_BREAK
4039 case YY_STATE_EOF(INITIAL):
4040 case YY_STATE_EOF(MESSAGE):
4041 case YY_STATE_EOF(LORE):
4042 case YY_STATE_EOF(SCRIPT):
4043 #line 881 "../common/loader.l"
4044 { /* If we got an error, return the error. Otherwise, return that we got EOF */
4045  if (lex_error != 0)
4046  return lex_error;
4047  else
4048  return LL_EOF;
4049  }
4050  YY_BREAK
4051 case 222:
4053 #line 887 "../common/loader.l"
4054 { add_key_value(op); }
4055  YY_BREAK
4056 case 223:
4058 #line 888 "../common/loader.l"
4059 ECHO;
4060  YY_BREAK
4061 #line 4062 "loader.cpp"
4062 
4063  case YY_END_OF_BUFFER:
4064  {
4065  /* Amount of text matched not including the EOB char. */
4066  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4067 
4068  /* Undo the effects of YY_DO_BEFORE_ACTION. */
4069  *yy_cp = (yy_hold_char);
4071 
4072  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4073  {
4074  /* We're scanning a new file or input source. It's
4075  * possible that this happened because the user
4076  * just pointed yyin at a new source and called
4077  * yylex(). If so, then we have to assure
4078  * consistency between YY_CURRENT_BUFFER and our
4079  * globals. Here is the right place to do so, because
4080  * this is the first action (other than possibly a
4081  * back-up) that will match for the new input source.
4082  */
4083  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4084  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4085  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4086  }
4087 
4088  /* Note that here we test for yy_c_buf_p "<=" to the position
4089  * of the first EOB in the buffer, since yy_c_buf_p will
4090  * already have been incremented past the NUL character
4091  * (since all states make transitions on EOB to the
4092  * end-of-buffer state). Contrast this with the test
4093  * in input().
4094  */
4095  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4096  { /* This was really a NUL. */
4097  yy_state_type yy_next_state;
4098 
4099  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4100 
4101  yy_current_state = yy_get_previous_state( );
4102 
4103  /* Okay, we're now positioned to make the NUL
4104  * transition. We couldn't have
4105  * yy_get_previous_state() go ahead and do it
4106  * for us because it doesn't know how to deal
4107  * with the possibility of jamming (and we don't
4108  * want to build jamming into it because then it
4109  * will run more slowly).
4110  */
4111 
4112  yy_next_state = yy_try_NUL_trans( yy_current_state );
4113 
4115 
4116  if ( yy_next_state )
4117  {
4118  /* Consume the NUL. */
4119  yy_cp = ++(yy_c_buf_p);
4120  yy_current_state = yy_next_state;
4121  goto yy_match;
4122  }
4123 
4124  else
4125  {
4127  yy_current_state = (yy_last_accepting_state);
4128  goto yy_find_action;
4129  }
4130  }
4131 
4132  else switch ( yy_get_next_buffer( ) )
4133  {
4134  case EOB_ACT_END_OF_FILE:
4135  {
4137 
4138  if ( yywrap( ) )
4139  {
4140  /* Note: because we've taken care in
4141  * yy_get_next_buffer() to have set up
4142  * yytext, we can now set up
4143  * yy_c_buf_p so that if some total
4144  * hoser (like flex itself) wants to
4145  * call the scanner after we return the
4146  * YY_NULL, it'll still work - another
4147  * YY_NULL will get returned.
4148  */
4150 
4152  goto do_action;
4153  }
4154 
4155  else
4156  {
4157  if ( ! (yy_did_buffer_switch_on_eof) )
4158  YY_NEW_FILE;
4159  }
4160  break;
4161  }
4162 
4163  case EOB_ACT_CONTINUE_SCAN:
4164  (yy_c_buf_p) =
4165  (yytext_ptr) + yy_amount_of_matched_text;
4166 
4167  yy_current_state = yy_get_previous_state( );
4168 
4169  yy_cp = (yy_c_buf_p);
4171  goto yy_match;
4172 
4173  case EOB_ACT_LAST_MATCH:
4174  (yy_c_buf_p) =
4175  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4176 
4177  yy_current_state = yy_get_previous_state( );
4178 
4179  yy_cp = (yy_c_buf_p);
4181  goto yy_find_action;
4182  }
4183  break;
4184  }
4185 
4186  default:
4188  "fatal flex scanner internal error--no action found" );
4189  } /* end of action switch */
4190  } /* end of scanning one token */
4191  } /* end of user's declarations */
4192 } /* end of yylex */
4193 
4194 /* yy_get_next_buffer - try to read in a new buffer
4195  *
4196  * Returns a code representing an action:
4197  * EOB_ACT_LAST_MATCH -
4198  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4199  * EOB_ACT_END_OF_FILE - end of file
4200  */
4201 static int yy_get_next_buffer (void)
4202 {
4203  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4204  char *source = (yytext_ptr);
4205  int number_to_move, i;
4206  int ret_val;
4207 
4208  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4210  "fatal flex scanner internal error--end of buffer missed" );
4211 
4212  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4213  { /* Don't try to fill the buffer, so this is an EOF. */
4214  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4215  {
4216  /* We matched a single character, the EOB, so
4217  * treat this as a final EOF.
4218  */
4219  return EOB_ACT_END_OF_FILE;
4220  }
4221 
4222  else
4223  {
4224  /* We matched some text prior to the EOB, first
4225  * process it.
4226  */
4227  return EOB_ACT_LAST_MATCH;
4228  }
4229  }
4230 
4231  /* Try to read more data. */
4232 
4233  /* First move last chars to start of buffer. */
4234  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4235 
4236  for ( i = 0; i < number_to_move; ++i )
4237  *(dest++) = *(source++);
4238 
4239  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4240  /* don't do the read, it's not guaranteed to return an EOF,
4241  * just force an EOF
4242  */
4243  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4244 
4245  else
4246  {
4247  int num_to_read =
4248  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4249 
4250  while ( num_to_read <= 0 )
4251  { /* Not enough room in the buffer - grow it. */
4252 
4253  /* just a shorter name for the current buffer */
4255 
4256  int yy_c_buf_p_offset =
4257  (int) ((yy_c_buf_p) - b->yy_ch_buf);
4258 
4259  if ( b->yy_is_our_buffer )
4260  {
4261  int new_size = b->yy_buf_size * 2;
4262 
4263  if ( new_size <= 0 )
4264  b->yy_buf_size += b->yy_buf_size / 8;
4265  else
4266  b->yy_buf_size *= 2;
4267 
4268  b->yy_ch_buf = (char *)
4269  /* Include room in for 2 EOB chars. */
4270  yyrealloc( (void *) b->yy_ch_buf,
4271  (yy_size_t) (b->yy_buf_size + 2) );
4272  }
4273  else
4274  /* Can't grow it, we don't own it. */
4275  b->yy_ch_buf = NULL;
4276 
4277  if ( ! b->yy_ch_buf )
4279  "fatal error - scanner input buffer overflow" );
4280 
4281  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4282 
4283  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4284  number_to_move - 1;
4285 
4286  }
4287 
4288  if ( num_to_read > YY_READ_BUF_SIZE )
4289  num_to_read = YY_READ_BUF_SIZE;
4290 
4291  /* Read in more data. */
4292  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4293  (yy_n_chars), num_to_read );
4294 
4295  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4296  }
4297 
4298  if ( (yy_n_chars) == 0 )
4299  {
4300  if ( number_to_move == YY_MORE_ADJ )
4301  {
4302  ret_val = EOB_ACT_END_OF_FILE;
4303  yyrestart( yyin );
4304  }
4305 
4306  else
4307  {
4308  ret_val = EOB_ACT_LAST_MATCH;
4309  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4311  }
4312  }
4313 
4314  else
4315  ret_val = EOB_ACT_CONTINUE_SCAN;
4316 
4317  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4318  /* Extend the array by 50%, plus the number we really need. */
4319  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4320  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4321  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4322  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4323  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4324  /* "- 2" to take care of EOB's */
4325  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4326  }
4327 
4328  (yy_n_chars) += number_to_move;
4331 
4332  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4333 
4334  return ret_val;
4335 }
4336 
4337 /* yy_get_previous_state - get the state just before the EOB char was reached */
4338 
4340 {
4341  yy_state_type yy_current_state;
4342  char *yy_cp;
4343 
4344  yy_current_state = (yy_start);
4345  yy_current_state += YY_AT_BOL();
4346 
4347  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4348  {
4349  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4350  if ( yy_accept[yy_current_state] )
4351  {
4352  (yy_last_accepting_state) = yy_current_state;
4354  }
4355  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4356  {
4357  yy_current_state = (int) yy_def[yy_current_state];
4358  if ( yy_current_state >= 2020 )
4359  yy_c = yy_meta[yy_c];
4360  }
4361  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4362  }
4363 
4364  return yy_current_state;
4365 }
4366 
4367 /* yy_try_NUL_trans - try to make a transition on the NUL character
4368  *
4369  * synopsis
4370  * next_state = yy_try_NUL_trans( current_state );
4371  */
4372  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4373 {
4374  int yy_is_jam;
4375  char *yy_cp = (yy_c_buf_p);
4376 
4377  YY_CHAR yy_c = 1;
4378  if ( yy_accept[yy_current_state] )
4379  {
4380  (yy_last_accepting_state) = yy_current_state;
4382  }
4383  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4384  {
4385  yy_current_state = (int) yy_def[yy_current_state];
4386  if ( yy_current_state >= 2020 )
4387  yy_c = yy_meta[yy_c];
4388  }
4389  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4390  yy_is_jam = (yy_current_state == 2019);
4391 
4392  return yy_is_jam ? 0 : yy_current_state;
4393 }
4394 
4395 #ifndef YY_NO_UNPUT
4396 
4397 #endif
4398 
4399 #ifndef YY_NO_INPUT
4400 #ifdef __cplusplus
4401  static int yyinput (void)
4402 #else
4403  static int input (void)
4404 #endif
4405 
4406 {
4407  int c;
4408 
4409  *(yy_c_buf_p) = (yy_hold_char);
4410 
4411  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4412  {
4413  /* yy_c_buf_p now points to the character we want to return.
4414  * If this occurs *before* the EOB characters, then it's a
4415  * valid NUL; if not, then we've hit the end of the buffer.
4416  */
4417  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4418  /* This was really a NUL. */
4419  *(yy_c_buf_p) = '\0';
4420 
4421  else
4422  { /* need more input */
4423  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4424  ++(yy_c_buf_p);
4425 
4426  switch ( yy_get_next_buffer( ) )
4427  {
4428  case EOB_ACT_LAST_MATCH:
4429  /* This happens because yy_g_n_b()
4430  * sees that we've accumulated a
4431  * token and flags that we need to
4432  * try matching the token before
4433  * proceeding. But for input(),
4434  * there's no matching to consider.
4435  * So convert the EOB_ACT_LAST_MATCH
4436  * to EOB_ACT_END_OF_FILE.
4437  */
4438 
4439  /* Reset buffer status. */
4440  yyrestart( yyin );
4441 
4442  /*FALLTHROUGH*/
4443 
4444  case EOB_ACT_END_OF_FILE:
4445  {
4446  if ( yywrap( ) )
4447  return 0;
4448 
4449  if ( ! (yy_did_buffer_switch_on_eof) )
4450  YY_NEW_FILE;
4451 #ifdef __cplusplus
4452  return yyinput();
4453 #else
4454  return input();
4455 #endif
4456  }
4457 
4458  case EOB_ACT_CONTINUE_SCAN:
4459  (yy_c_buf_p) = (yytext_ptr) + offset;
4460  break;
4461  }
4462  }
4463  }
4464 
4465  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4466  *(yy_c_buf_p) = '\0'; /* preserve yytext */
4467  (yy_hold_char) = *++(yy_c_buf_p);
4468 
4469  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4470 
4471  return c;
4472 }
4473 #endif /* ifndef YY_NO_INPUT */
4474 
4480  void yyrestart (FILE * input_file )
4481 {
4482 
4483  if ( ! YY_CURRENT_BUFFER ){
4487  }
4488 
4489  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4491 }
4492 
4498 {
4499 
4500  /* TODO. We should be able to replace this entire function body
4501  * with
4502  * yypop_buffer_state();
4503  * yypush_buffer_state(new_buffer);
4504  */
4506  if ( YY_CURRENT_BUFFER == new_buffer )
4507  return;
4508 
4509  if ( YY_CURRENT_BUFFER )
4510  {
4511  /* Flush out information for old buffer. */
4512  *(yy_c_buf_p) = (yy_hold_char);
4513  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4514  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4515  }
4516 
4517  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4519 
4520  /* We don't actually know whether we did this switch during
4521  * EOF (yywrap()) processing, but the only time this flag
4522  * is looked at is after yywrap() is called, so it's safe
4523  * to go ahead and always set it.
4524  */
4526 }
4527 
4528 static void yy_load_buffer_state (void)
4529 {
4530  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4531  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4532  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4533  (yy_hold_char) = *(yy_c_buf_p);
4534 }
4535 
4543 {
4545 
4546  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4547  if ( ! b )
4548  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4549 
4550  b->yy_buf_size = size;
4551 
4552  /* yy_ch_buf has to be 2 characters longer than the size given because
4553  * we need to put in 2 end-of-buffer characters.
4554  */
4555  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4556  if ( ! b->yy_ch_buf )
4557  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4558 
4559  b->yy_is_our_buffer = 1;
4560 
4561  yy_init_buffer( b, file );
4562 
4563  return b;
4564 }
4565 
4571 {
4572 
4573  if ( ! b )
4574  return;
4575 
4576  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4578 
4579  if ( b->yy_is_our_buffer )
4580  yyfree( (void *) b->yy_ch_buf );
4581 
4582  yyfree( (void *) b );
4583 }
4584 
4585 /* Initializes or reinitializes a buffer.
4586  * This function is sometimes called more than once on the same buffer,
4587  * such as during a yyrestart() or at EOF.
4588  */
4589  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4590 
4591 {
4592  int oerrno = errno;
4593 
4594  yy_flush_buffer( b );
4595 
4596  b->yy_input_file = file;
4597  b->yy_fill_buffer = 1;
4598 
4599  /* If b is the current buffer, then yy_init_buffer was _probably_
4600  * called from yyrestart() or through yy_get_next_buffer.
4601  * In that case, we don't want to reset the lineno or column.
4602  */
4603  if (b != YY_CURRENT_BUFFER){
4604  b->yy_bs_lineno = 1;
4605  b->yy_bs_column = 0;
4606  }
4607 
4608  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4609 
4610  errno = oerrno;
4611 }
4612 
4618 {
4619  if ( ! b )
4620  return;
4621 
4622  b->yy_n_chars = 0;
4623 
4624  /* We always need two end-of-buffer characters. The first causes
4625  * a transition to the end-of-buffer state. The second causes
4626  * a jam in that state.
4627  */
4628  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4629  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4630 
4631  b->yy_buf_pos = &b->yy_ch_buf[0];
4632 
4633  b->yy_at_bol = 1;
4634  b->yy_buffer_status = YY_BUFFER_NEW;
4635 
4636  if ( b == YY_CURRENT_BUFFER )
4638 }
4639 
4647 {
4648  if (new_buffer == NULL)
4649  return;
4650 
4652 
4653  /* This block is copied from yy_switch_to_buffer. */
4654  if ( YY_CURRENT_BUFFER )
4655  {
4656  /* Flush out information for old buffer. */
4657  *(yy_c_buf_p) = (yy_hold_char);
4658  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4659  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4660  }
4661 
4662  /* Only push if top exists. Otherwise, replace top. */
4663  if (YY_CURRENT_BUFFER)
4664  (yy_buffer_stack_top)++;
4665  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4666 
4667  /* copied from yy_switch_to_buffer. */
4670 }
4671 
4677 {
4678  if (!YY_CURRENT_BUFFER)
4679  return;
4680 
4682  YY_CURRENT_BUFFER_LVALUE = NULL;
4683  if ((yy_buffer_stack_top) > 0)
4684  --(yy_buffer_stack_top);
4685 
4686  if (YY_CURRENT_BUFFER) {
4689  }
4690 }
4691 
4692 /* Allocates the stack if it does not exist.
4693  * Guarantees space for at least one push.
4694  */
4695 static void yyensure_buffer_stack (void)
4696 {
4697  yy_size_t num_to_alloc;
4698 
4699  if (!(yy_buffer_stack)) {
4700 
4701  /* First allocation is just for 2 elements, since we don't know if this
4702  * scanner will even need a stack. We use 2 instead of 1 to avoid an
4703  * immediate realloc on the next call.
4704  */
4705  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4707  (num_to_alloc * sizeof(struct yy_buffer_state*)
4708  );
4709  if ( ! (yy_buffer_stack) )
4710  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4711 
4712  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4713 
4714  (yy_buffer_stack_max) = num_to_alloc;
4715  (yy_buffer_stack_top) = 0;
4716  return;
4717  }
4718 
4719  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4720 
4721  /* Increase the buffer to prepare for a possible push. */
4722  yy_size_t grow_size = 8 /* arbitrary grow size */;
4723 
4724  num_to_alloc = (yy_buffer_stack_max) + grow_size;
4726  ((yy_buffer_stack),
4727  num_to_alloc * sizeof(struct yy_buffer_state*)
4728  );
4729  if ( ! (yy_buffer_stack) )
4730  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4731 
4732  /* zero only the new slots.*/
4733  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4734  (yy_buffer_stack_max) = num_to_alloc;
4735  }
4736 }
4737 
4745 {
4747 
4748  if ( size < 2 ||
4749  base[size-2] != YY_END_OF_BUFFER_CHAR ||
4750  base[size-1] != YY_END_OF_BUFFER_CHAR )
4751  /* They forgot to leave room for the EOB's. */
4752  return NULL;
4753 
4754  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4755  if ( ! b )
4756  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4757 
4758  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
4759  b->yy_buf_pos = b->yy_ch_buf = base;
4760  b->yy_is_our_buffer = 0;
4761  b->yy_input_file = NULL;
4762  b->yy_n_chars = b->yy_buf_size;
4763  b->yy_is_interactive = 0;
4764  b->yy_at_bol = 1;
4765  b->yy_fill_buffer = 0;
4766  b->yy_buffer_status = YY_BUFFER_NEW;
4767 
4769 
4770  return b;
4771 }
4772 
4781 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4782 {
4783 
4784  return yy_scan_bytes( yystr, (int) strlen(yystr) );
4785 }
4786 
4794 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
4795 {
4797  char *buf;
4798  yy_size_t n;
4799  int i;
4800 
4801  /* Get memory for full buffer, including space for trailing EOB's. */
4802  n = (yy_size_t) (_yybytes_len + 2);
4803  buf = (char *) yyalloc( n );
4804  if ( ! buf )
4805  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4806 
4807  for ( i = 0; i < _yybytes_len; ++i )
4808  buf[i] = yybytes[i];
4809 
4810  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4811 
4812  b = yy_scan_buffer( buf, n );
4813  if ( ! b )
4814  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4815 
4816  /* It's okay to grow etc. this buffer, and we should throw it
4817  * away when we're done.
4818  */
4819  b->yy_is_our_buffer = 1;
4820 
4821  return b;
4822 }
4823 
4824  static void yy_push_state (int _new_state )
4825 {
4827  {
4828  yy_size_t new_size;
4829 
4831  new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4832 
4833  if ( ! (yy_start_stack) )
4834  (yy_start_stack) = (int *) yyalloc( new_size );
4835 
4836  else
4837  (yy_start_stack) = (int *) yyrealloc(
4838  (void *) (yy_start_stack), new_size );
4839 
4840  if ( ! (yy_start_stack) )
4841  YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4842  }
4843 
4845 
4846  BEGIN(_new_state);
4847 }
4848 
4849  static void yy_pop_state (void)
4850 {
4851  if ( --(yy_start_stack_ptr) < 0 )
4852  YY_FATAL_ERROR( "start-condition stack underflow" );
4853 
4855 }
4856 
4857 #ifndef YY_EXIT_FAILURE
4858 #define YY_EXIT_FAILURE 2
4859 #endif
4860 
4861 static void yynoreturn yy_fatal_error (const char* msg )
4862 {
4863  fprintf( stderr, "%s\n", msg );
4864  exit( YY_EXIT_FAILURE );
4865 }
4866 
4867 /* Redefine yyless() so it works in section 3 code. */
4868 
4869 #undef yyless
4870 #define yyless(n) \
4871  do \
4872  { \
4873  /* Undo effects of setting up yytext. */ \
4874  int yyless_macro_arg = (n); \
4875  YY_LESS_LINENO(yyless_macro_arg);\
4876  yytext[yyleng] = (yy_hold_char); \
4877  (yy_c_buf_p) = yytext + yyless_macro_arg; \
4878  (yy_hold_char) = *(yy_c_buf_p); \
4879  *(yy_c_buf_p) = '\0'; \
4880  yyleng = yyless_macro_arg; \
4881  } \
4882  while ( 0 )
4883 
4884 /* Accessor methods (get/set functions) to struct members. */
4885 
4889 int yyget_lineno (void)
4890 {
4891 
4892  return yylineno;
4893 }
4894 
4898 FILE *yyget_in (void)
4899 {
4900  return yyin;
4901 }
4902 
4906 FILE *yyget_out (void)
4907 {
4908  return yyout;
4909 }
4910 
4914 int yyget_leng (void)
4915 {
4916  return yyleng;
4917 }
4918 
4923 char *yyget_text (void)
4924 {
4925  return yytext;
4926 }
4927 
4932 void yyset_lineno (int _line_number )
4933 {
4934 
4935  yylineno = _line_number;
4936 }
4937 
4944 void yyset_in (FILE * _in_str )
4945 {
4946  yyin = _in_str ;
4947 }
4948 
4949 void yyset_out (FILE * _out_str )
4950 {
4951  yyout = _out_str ;
4952 }
4953 
4954 int yyget_debug (void)
4955 {
4956  return yy_flex_debug;
4957 }
4958 
4959 void yyset_debug (int _bdebug )
4960 {
4961  yy_flex_debug = _bdebug ;
4962 }
4963 
4964 static int yy_init_globals (void)
4965 {
4966  /* Initialization is the same as for the non-reentrant scanner.
4967  * This function is called from yylex_destroy(), so don't allocate here.
4968  */
4969 
4970  (yy_buffer_stack) = NULL;
4971  (yy_buffer_stack_top) = 0;
4972  (yy_buffer_stack_max) = 0;
4973  (yy_c_buf_p) = NULL;
4974  (yy_init) = 0;
4975  (yy_start) = 0;
4976 
4977  (yy_start_stack_ptr) = 0;
4978  (yy_start_stack_depth) = 0;
4979  (yy_start_stack) = NULL;
4980 
4981 /* Defined in main.c */
4982 #ifdef YY_STDINIT
4983  yyin = stdin;
4984  yyout = stdout;
4985 #else
4986  yyin = NULL;
4987  yyout = NULL;
4988 #endif
4989 
4990  /* For future reference: Set errno on error, since we are called by
4991  * yylex_init()
4992  */
4993  return 0;
4994 }
4995 
4996 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4997 int yylex_destroy (void)
4998 {
4999 
5000  /* Pop the buffer stack, destroying each element. */
5001  while(YY_CURRENT_BUFFER){
5003  YY_CURRENT_BUFFER_LVALUE = NULL;
5005  }
5006 
5007  /* Destroy the stack itself. */
5008  yyfree((yy_buffer_stack) );
5009  (yy_buffer_stack) = NULL;
5010 
5011  /* Destroy the start condition stack. */
5012  yyfree( (yy_start_stack) );
5013  (yy_start_stack) = NULL;
5014 
5015  /* Reset the globals. This is important in a non-reentrant scanner so the next time
5016  * yylex() is called, initialization will occur. */
5017  yy_init_globals( );
5018 
5019  return 0;
5020 }
5021 
5022 /*
5023  * Internal utility routines.
5024  */
5025 
5026 #ifndef yytext_ptr
5027 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5028 {
5029 
5030  int i;
5031  for ( i = 0; i < n; ++i )
5032  s1[i] = s2[i];
5033 }
5034 #endif
5035 
5036 #ifdef YY_NEED_STRLEN
5037 static int yy_flex_strlen (const char * s )
5038 {
5039  int n;
5040  for ( n = 0; s[n]; ++n )
5041  ;
5042 
5043  return n;
5044 }
5045 #endif
5046 
5047 void *yyalloc (yy_size_t size )
5048 {
5049  return malloc(size);
5050 }
5051 
5052 void *yyrealloc (void * ptr, yy_size_t size )
5053 {
5054 
5055  /* The cast to (char *) in the following accommodates both
5056  * implementations that use char* generic pointers, and those
5057  * that use void* generic pointers. It works with the latter
5058  * because both ANSI C and C++ allow castless assignment from
5059  * any pointer type to void*, and deal with argument conversions
5060  * as though doing an assignment.
5061  */
5062  return realloc(ptr, size);
5063 }
5064 
5065 void yyfree (void * ptr )
5066 {
5067  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5068 }
5069 
5070 #define YYTABLES_NAME "yytables"
5071 
5072 #line 888 "../common/loader.l"
5073 
5074 
5083 static char *yval(void)
5084 {
5085  static char em[] = "";
5086  char *cp, *end;
5087 
5088  /* First skip over start of line, like animation or name */
5089  for (cp = yytext; *cp != ' '; cp++) {
5090  if (*cp == '\0') {
5091  return em;
5092  }
5093  }
5094 
5095  /* Skip over whitespace */
5096  for (; *cp == ' '; cp++) {
5097  if (*cp == '\0') {
5098  return em;
5099  }
5100  }
5101  /* Got last character before null and strip
5102  * off tailing whitespace
5103  */
5104  for (end = cp+strlen(cp)-1; *end == ' '; end--) {
5105  if (end == cp)
5106  return em;
5107  *end = '\0';
5108  }
5109  return cp;
5110 }
5111 
5137 int load_object(FILE *fp, object *op, int bufstate, int map_flags, bool artifact_init) {
5138  int retval;
5139  char inbuf[VERY_BIG_BUF];
5140 #define MAXDEPTH 10
5141  object *items[MAXDEPTH];
5142  int depth = 0, ismore = 0;
5143 
5144  items[0] = op,
5145  strcpy(msgbuf, "");
5146  msglen = 0;
5147  total_msglen = 0;
5148  strcpy(lorebuf, "");
5149  if (bufstate == LO_NEWFILE || bufstate == LO_NOREAD) {
5150  /* LOG(llevDebug, "Switching lex buffers\n");*/
5153  if (bufstate == LO_NOREAD)
5154  return LL_NORMAL;
5155  } else if (bufstate == LO_LINEMODE) {
5156  YY_BUFFER_STATE yybufstate;
5158  while (fgets(inbuf, VERY_BIG_BUF-3, fp)) {
5159  yybufstate = yy_scan_string(inbuf);
5160  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore, false, artifact_init);
5161  yy_delete_buffer(yybufstate);
5162  if (retval == LL_NORMAL) {
5163  if (depth == 0)
5164  return retval;
5165  else
5166  depth--;
5167  }
5168  }
5169  LOG(llevDebug, "Got eof while scanning strings\n");
5170  return LL_EOF;
5171  }
5172 
5173  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 0, &ismore, false, artifact_init);
5174 
5175 /* LOG(llevDebug, " load completed, object=%s\n", op->name);*/
5176  return retval;
5177 }
5178 
5189 int load_object_from_reader(BufferReader *reader, object *op, int map_flags, bool arch_init, bool artifact_init) {
5190  int retval;
5191  object *items[MAXDEPTH];
5192  int depth = 0, ismore = 0;
5193  char buf[HUGE_BUF];
5194 
5195  items[0] = op,
5196  strcpy(msgbuf, "");
5197  msglen = 0;
5198  total_msglen = 0;
5199  strcpy(lorebuf, "");
5200 
5201  YY_BUFFER_STATE yybufstate;
5204 
5205  while (bufferreader_get_line(reader, buf, sizeof(buf)) != NULL) {
5206  yybufstate = yy_scan_string(buf);
5207  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore, arch_init, artifact_init);
5208  yy_delete_buffer(yybufstate);
5209  if (retval == LL_NORMAL || retval == LL_MORE) {
5210  if (depth == 0) {
5211  yy_pop_state();
5212  return ismore ? LL_MORE : LL_NORMAL;
5213  } else
5214  depth--;
5215  }
5216  }
5217  if (depth > 0) {
5218  LOG(llevError, "Got eof while scanning strings\n");
5219  }
5220  yy_pop_state();
5221  return LL_EOF;
5222 }
5223 
5240 int set_variable(object *op, const char *buf) {
5241  YY_BUFFER_STATE yybufstate, yycurbuf = YY_CURRENT_BUFFER;
5242  int retval, depth, ismore = 0;
5243  object *items[MAXDEPTH];
5244 
5245  strcpy(msgbuf, "");
5246  msglen = 0;
5247  total_msglen = 0;
5248  strcpy(lorebuf, "");
5249  items[0] = op;
5250  depth = 0;
5252  yybufstate = yy_scan_string(buf);
5253  retval = lex_load(&depth, items, MAXDEPTH, 0, 0, &ismore, false, false);
5254  if (yycurbuf) {
5255  yy_switch_to_buffer(yycurbuf);
5256  }
5257  yy_delete_buffer(yybufstate);
5258  yy_pop_state();
5259  return retval;
5260 }
5261 
5262 /* Start of C code */
5263 
5267 void free_loader(void) {
5269 
5270  /* Comment out this yylex_destroy(), as it results in link errors
5271  * on linux
5272  */
5273 /* yylex_destroy();*/
5274 }
5275 
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:112
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
is_type_valid
int is_type_valid(uint8_t type)
Definition: arch_types_valid.cpp:17
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:139
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:2539
yy_fatal_error
static void yynoreturn yy_fatal_error(const char *msg)
Definition: loader.cpp:4861
NUM_BODY_LOCATIONS
#define NUM_BODY_LOCATIONS
Definition: object.h:15
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:123
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:3235
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.cpp:362
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.cpp:188
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
LL_IGNORED
#define LL_IGNORED
Definition: loader.h:9
LORE
#define LORE
Definition: loader.cpp:2383
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:2326
give_artifact_abilities
void give_artifact_abilities(object *op, const object *artifact)
Definition: artifact.cpp:230
yy_buffer_state
Definition: loader.cpp:186
key_value
Definition: object.h:42
WEAPON
@ WEAPON
Definition: object.h:124
yy_bp
char * yy_bp
Definition: loader.cpp:2578
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:2567
flex_uint32_t
unsigned int flex_uint32_t
Definition: loader.cpp:56
yyget_text
char * yyget_text(void)
Definition: loader.cpp:4923
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:245
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:5137
yy_try_NUL_trans
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: loader.cpp:4372
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:2462
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:147
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:4898
YY_START_STACK_INCR
#define YY_START_STACK_INCR
Definition: loader.cpp:2534
yyset_extra
void yyset_extra(YY_EXTRA_TYPE user_defined)
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: loader.cpp:2395
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_buffer_state::yy_at_bol
int yy_at_bol
Definition: loader.cpp:220
FLAG_INV_LOCKED
#define FLAG_INV_LOCKED
Definition: define.h:329
MESSAGE
#define MESSAGE
Definition: loader.cpp:2382
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:4794
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:1560
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:2853
object::above
object * above
Definition: object.h:296
yylineno
int yylineno
Definition: loader.cpp:336
yy_create_buffer
YY_BUFFER_STATE yy_create_buffer(FILE *file, int size)
Definition: loader.cpp:4542
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.cpp:207
yyset_out
void yyset_out(FILE *_out_str)
Definition: loader.cpp:4949
ATNR_HOLYWORD
#define ATNR_HOLYWORD
Definition: attack.h:70
MAP_STYLE
#define MAP_STYLE
Definition: map.h:95
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:4906
free_loader
void free_loader(void)
Definition: loader.cpp:5267
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:2384
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:5083
yy_act
int yy_act
Definition: loader.cpp:2579
FLAG_WAS_WIZ
#define FLAG_WAS_WIZ
Definition: define.h:234
key_value::next
key_value * next
Definition: object.h:45
yy_base
static const flex_int16_t yy_base[2342]
Definition: loader.cpp:635
ECHO
#define ECHO
Definition: loader.cpp:2485
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:4858
yy_get_previous_state
static yy_state_type yy_get_previous_state(void)
Definition: loader.cpp:4339
yy_start_stack
static int * yy_start_stack
Definition: loader.cpp:2464
add_string
sstring add_string(const char *str)
Definition: shstr.cpp:124
yylex
#define yylex
Definition: reader.cpp:24
yyset_debug
void yyset_debug(int debug_flag)
Definition: loader.cpp:4959
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: loader.cpp:228
yy_state_type
int yy_state_type
Definition: loader.cpp:333
yyrestart
void yyrestart(FILE *input_file)
Definition: loader.cpp:4480
INITIAL
#define INITIAL
Definition: loader.cpp:2381
object::below
object * below
Definition: object.h:295
make_face_from_files.str
str
Definition: make_face_from_files.py:30
yyget_leng
int yyget_leng(void)
Definition: loader.cpp:4914
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:5065
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.cpp:196
FLAG_IS_WOODED
#define FLAG_IS_WOODED
Definition: define.h:330
CONVERTER
@ CONVERTER
Definition: object.h:221
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:4849
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: loader.cpp:190
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
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:4201
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:474
yy_start_stack_depth
static int yy_start_stack_depth
Definition: loader.cpp:2463
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
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:4944
cf_random
uint32_t cf_random(void)
Definition: cf_random.cpp:5
yy_scan_string
YY_BUFFER_STATE yy_scan_string(const char *yy_str)
Definition: loader.cpp:4781
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:4824
move_name
const char *const move_name[]
Definition: object.cpp:4828
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:2578
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:2564
ATNR_FIRE
#define ATNR_FIRE
Definition: attack.h:51
yypop_buffer_state
void yypop_buffer_state(void)
Definition: loader.cpp:4676
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.cpp:230
ATNR_CHAOS
#define ATNR_CHAOS
Definition: attack.h:67
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: loader.cpp:191
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.cpp:365
yyrealloc
void * yyrealloc(void *, yy_size_t)
Definition: loader.cpp:5052
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.cpp:364
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.cpp:223
set_variable
int set_variable(object *op, const char *buf)
Definition: loader.cpp:5240
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.cpp:201
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:4617
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:4807
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:4695
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.cpp:214
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:1360
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:32
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:4570
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:4964
yyget_lineno
int yyget_lineno(void)
Definition: loader.cpp:4889
yy_last_accepting_cpos
static char * yy_last_accepting_cpos
Definition: loader.cpp:1990
yyalloc
void * yyalloc(yy_size_t)
Definition: loader.cpp:5047
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:4932
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:2255
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:4495
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: loader.cpp:140
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: loader.cpp:2476
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:4528
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:4589
yyget_debug
int yyget_debug(void)
Definition: loader.cpp:4954
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:208
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:2492
yy_switch_to_buffer
void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: loader.cpp:4497
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.cpp:222
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:4997
yy_scan_buffer
YY_BUFFER_STATE yy_scan_buffer(char *base, yy_size_t size)
Definition: loader.cpp:4744
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:4646
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:5189
LL_EOF
#define LL_EOF
Definition: loader.h:10