Coverage Report

Created: 2025-06-13 06:18

/src/MapServer/src/maplexer.c
Line
Count
Source (jump to first uncovered line)
1
#line 2 "src/maplexer.c"
2
3
#line 4 "src/maplexer.c"
4
5
#define  YY_INT_ALIGNED short int
6
7
/* A lexical scanner generated by flex */
8
9
0
#define yy_create_buffer msyy_create_buffer
10
0
#define yy_delete_buffer msyy_delete_buffer
11
0
#define yy_scan_buffer msyy_scan_buffer
12
#define yy_scan_string msyy_scan_string
13
0
#define yy_scan_bytes msyy_scan_bytes
14
0
#define yy_init_buffer msyy_init_buffer
15
0
#define yy_flush_buffer msyy_flush_buffer
16
0
#define yy_load_buffer_state msyy_load_buffer_state
17
0
#define yy_switch_to_buffer msyy_switch_to_buffer
18
#define yypush_buffer_state msyypush_buffer_state
19
0
#define yypop_buffer_state msyypop_buffer_state
20
0
#define yyensure_buffer_stack msyyensure_buffer_stack
21
0
#define yy_flex_debug msyy_flex_debug
22
0
#define yyin msyyin
23
0
#define yyleng msyyleng
24
#define yylex msyylex
25
0
#define yylineno msyylineno
26
0
#define yyout msyyout
27
0
#define yyrestart msyyrestart
28
0
#define yytext msyytext
29
0
#define yywrap msyywrap
30
0
#define yyalloc msyyalloc
31
0
#define yyrealloc msyyrealloc
32
0
#define yyfree msyyfree
33
34
#define FLEX_SCANNER
35
#define YY_FLEX_MAJOR_VERSION 2
36
#define YY_FLEX_MINOR_VERSION 6
37
#define YY_FLEX_SUBMINOR_VERSION 4
38
#if YY_FLEX_SUBMINOR_VERSION > 0
39
#define FLEX_BETA
40
#endif
41
42
#ifdef yy_create_buffer
43
#define msyy_create_buffer_ALREADY_DEFINED
44
#else
45
#define yy_create_buffer msyy_create_buffer
46
#endif
47
48
#ifdef yy_delete_buffer
49
#define msyy_delete_buffer_ALREADY_DEFINED
50
#else
51
#define yy_delete_buffer msyy_delete_buffer
52
#endif
53
54
#ifdef yy_scan_buffer
55
#define msyy_scan_buffer_ALREADY_DEFINED
56
#else
57
#define yy_scan_buffer msyy_scan_buffer
58
#endif
59
60
#ifdef yy_scan_string
61
#define msyy_scan_string_ALREADY_DEFINED
62
#else
63
#define yy_scan_string msyy_scan_string
64
#endif
65
66
#ifdef yy_scan_bytes
67
#define msyy_scan_bytes_ALREADY_DEFINED
68
#else
69
#define yy_scan_bytes msyy_scan_bytes
70
#endif
71
72
#ifdef yy_init_buffer
73
#define msyy_init_buffer_ALREADY_DEFINED
74
#else
75
#define yy_init_buffer msyy_init_buffer
76
#endif
77
78
#ifdef yy_flush_buffer
79
#define msyy_flush_buffer_ALREADY_DEFINED
80
#else
81
#define yy_flush_buffer msyy_flush_buffer
82
#endif
83
84
#ifdef yy_load_buffer_state
85
#define msyy_load_buffer_state_ALREADY_DEFINED
86
#else
87
#define yy_load_buffer_state msyy_load_buffer_state
88
#endif
89
90
#ifdef yy_switch_to_buffer
91
#define msyy_switch_to_buffer_ALREADY_DEFINED
92
#else
93
#define yy_switch_to_buffer msyy_switch_to_buffer
94
#endif
95
96
#ifdef yypush_buffer_state
97
#define msyypush_buffer_state_ALREADY_DEFINED
98
#else
99
#define yypush_buffer_state msyypush_buffer_state
100
#endif
101
102
#ifdef yypop_buffer_state
103
#define msyypop_buffer_state_ALREADY_DEFINED
104
#else
105
#define yypop_buffer_state msyypop_buffer_state
106
#endif
107
108
#ifdef yyensure_buffer_stack
109
#define msyyensure_buffer_stack_ALREADY_DEFINED
110
#else
111
#define yyensure_buffer_stack msyyensure_buffer_stack
112
#endif
113
114
#ifdef yylex
115
#define msyylex_ALREADY_DEFINED
116
#else
117
#define yylex msyylex
118
#endif
119
120
#ifdef yyrestart
121
#define msyyrestart_ALREADY_DEFINED
122
#else
123
#define yyrestart msyyrestart
124
#endif
125
126
#ifdef yylex_init
127
#define msyylex_init_ALREADY_DEFINED
128
#else
129
#define yylex_init msyylex_init
130
#endif
131
132
#ifdef yylex_init_extra
133
#define msyylex_init_extra_ALREADY_DEFINED
134
#else
135
#define yylex_init_extra msyylex_init_extra
136
#endif
137
138
#ifdef yylex_destroy
139
#define msyylex_destroy_ALREADY_DEFINED
140
#else
141
#define yylex_destroy msyylex_destroy
142
#endif
143
144
#ifdef yyget_debug
145
#define msyyget_debug_ALREADY_DEFINED
146
#else
147
#define yyget_debug msyyget_debug
148
#endif
149
150
#ifdef yyset_debug
151
#define msyyset_debug_ALREADY_DEFINED
152
#else
153
#define yyset_debug msyyset_debug
154
#endif
155
156
#ifdef yyget_extra
157
#define msyyget_extra_ALREADY_DEFINED
158
#else
159
#define yyget_extra msyyget_extra
160
#endif
161
162
#ifdef yyset_extra
163
#define msyyset_extra_ALREADY_DEFINED
164
#else
165
#define yyset_extra msyyset_extra
166
#endif
167
168
#ifdef yyget_in
169
#define msyyget_in_ALREADY_DEFINED
170
#else
171
#define yyget_in msyyget_in
172
#endif
173
174
#ifdef yyset_in
175
#define msyyset_in_ALREADY_DEFINED
176
#else
177
#define yyset_in msyyset_in
178
#endif
179
180
#ifdef yyget_out
181
#define msyyget_out_ALREADY_DEFINED
182
#else
183
#define yyget_out msyyget_out
184
#endif
185
186
#ifdef yyset_out
187
#define msyyset_out_ALREADY_DEFINED
188
#else
189
#define yyset_out msyyset_out
190
#endif
191
192
#ifdef yyget_leng
193
#define msyyget_leng_ALREADY_DEFINED
194
#else
195
#define yyget_leng msyyget_leng
196
#endif
197
198
#ifdef yyget_text
199
#define msyyget_text_ALREADY_DEFINED
200
#else
201
#define yyget_text msyyget_text
202
#endif
203
204
#ifdef yyget_lineno
205
#define msyyget_lineno_ALREADY_DEFINED
206
#else
207
#define yyget_lineno msyyget_lineno
208
#endif
209
210
#ifdef yyset_lineno
211
#define msyyset_lineno_ALREADY_DEFINED
212
#else
213
#define yyset_lineno msyyset_lineno
214
#endif
215
216
#ifdef yywrap
217
#define msyywrap_ALREADY_DEFINED
218
#else
219
#define yywrap msyywrap
220
#endif
221
222
#ifdef yyalloc
223
#define msyyalloc_ALREADY_DEFINED
224
#else
225
#define yyalloc msyyalloc
226
#endif
227
228
#ifdef yyrealloc
229
#define msyyrealloc_ALREADY_DEFINED
230
#else
231
#define yyrealloc msyyrealloc
232
#endif
233
234
#ifdef yyfree
235
#define msyyfree_ALREADY_DEFINED
236
#else
237
#define yyfree msyyfree
238
#endif
239
240
#ifdef yytext
241
#define msyytext_ALREADY_DEFINED
242
#else
243
#define yytext msyytext
244
#endif
245
246
#ifdef yyleng
247
#define msyyleng_ALREADY_DEFINED
248
#else
249
#define yyleng msyyleng
250
#endif
251
252
#ifdef yyin
253
#define msyyin_ALREADY_DEFINED
254
#else
255
#define yyin msyyin
256
#endif
257
258
#ifdef yyout
259
#define msyyout_ALREADY_DEFINED
260
#else
261
#define yyout msyyout
262
#endif
263
264
#ifdef yy_flex_debug
265
#define msyy_flex_debug_ALREADY_DEFINED
266
#else
267
#define yy_flex_debug msyy_flex_debug
268
#endif
269
270
#ifdef yylineno
271
#define msyylineno_ALREADY_DEFINED
272
#else
273
#define yylineno msyylineno
274
#endif
275
276
/* First, we deal with  platform-specific or compiler-specific issues. */
277
278
/* begin standard C headers. */
279
#include <stdio.h>
280
#include <string.h>
281
#include <errno.h>
282
#include <stdlib.h>
283
284
/* end standard C headers. */
285
286
/* flex integer type definitions */
287
288
#ifndef FLEXINT_H
289
#define FLEXINT_H
290
291
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
292
293
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294
295
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296
 * if you want the limit (max/min) macros for int types. 
297
 */
298
#ifndef __STDC_LIMIT_MACROS
299
#define __STDC_LIMIT_MACROS 1
300
#endif
301
302
#include <inttypes.h>
303
typedef int8_t flex_int8_t;
304
typedef uint8_t flex_uint8_t;
305
typedef int16_t flex_int16_t;
306
typedef uint16_t flex_uint16_t;
307
typedef int32_t flex_int32_t;
308
typedef uint32_t flex_uint32_t;
309
#else
310
typedef signed char flex_int8_t;
311
typedef short int flex_int16_t;
312
typedef int flex_int32_t;
313
typedef unsigned char flex_uint8_t; 
314
typedef unsigned short int flex_uint16_t;
315
typedef unsigned int flex_uint32_t;
316
317
/* Limits of integral types. */
318
#ifndef INT8_MIN
319
#define INT8_MIN               (-128)
320
#endif
321
#ifndef INT16_MIN
322
#define INT16_MIN              (-32767-1)
323
#endif
324
#ifndef INT32_MIN
325
#define INT32_MIN              (-2147483647-1)
326
#endif
327
#ifndef INT8_MAX
328
#define INT8_MAX               (127)
329
#endif
330
#ifndef INT16_MAX
331
#define INT16_MAX              (32767)
332
#endif
333
#ifndef INT32_MAX
334
#define INT32_MAX              (2147483647)
335
#endif
336
#ifndef UINT8_MAX
337
#define UINT8_MAX              (255U)
338
#endif
339
#ifndef UINT16_MAX
340
#define UINT16_MAX             (65535U)
341
#endif
342
#ifndef UINT32_MAX
343
#define UINT32_MAX             (4294967295U)
344
#endif
345
346
#ifndef SIZE_MAX
347
#define SIZE_MAX               (~(size_t)0)
348
#endif
349
350
#endif /* ! C99 */
351
352
#endif /* ! FLEXINT_H */
353
354
/* begin standard C++ headers. */
355
356
/* TODO: this is always defined, so inline it */
357
#define yyconst const
358
359
#if defined(__GNUC__) && __GNUC__ >= 3
360
#define yynoreturn __attribute__((__noreturn__))
361
#else
362
#define yynoreturn
363
#endif
364
365
/* Returned upon end-of-file. */
366
0
#define YY_NULL 0
367
368
/* Promotes a possibly negative, possibly signed char to an
369
 *   integer in range [0..255] for use as an array index.
370
 */
371
0
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372
373
/* Enter a start condition.  This macro really ought to take a parameter,
374
 * but we do it the disgusting crufty way forced on us by the ()-less
375
 * definition of BEGIN.
376
 */
377
0
#define BEGIN (yy_start) = 1 + 2 *
378
/* Translate the current start state into a value that can be later handed
379
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
380
 * compatibility.
381
 */
382
#define YY_START (((yy_start) - 1) / 2)
383
#define YYSTATE YY_START
384
/* Action number for EOF rule of a given start state. */
385
0
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386
/* Special action meaning "start processing a new file". */
387
0
#define YY_NEW_FILE yyrestart( yyin  )
388
0
#define YY_END_OF_BUFFER_CHAR 0
389
390
/* Size of default input buffer. */
391
#ifndef YY_BUF_SIZE
392
#ifdef __ia64__
393
/* On IA-64, the buffer size is 16k, not 8k.
394
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395
 * Ditto for the __ia64__ case accordingly.
396
 */
397
#define YY_BUF_SIZE 32768
398
#else
399
0
#define YY_BUF_SIZE 16384
400
#endif /* __ia64__ */
401
#endif
402
403
/* The state buf must be large enough to hold one state per character in the main buffer.
404
 */
405
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406
407
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
408
#define YY_TYPEDEF_YY_BUFFER_STATE
409
typedef struct yy_buffer_state *YY_BUFFER_STATE;
410
#endif
411
412
#ifndef YY_TYPEDEF_YY_SIZE_T
413
#define YY_TYPEDEF_YY_SIZE_T
414
typedef size_t yy_size_t;
415
#endif
416
417
extern int yyleng;
418
419
extern FILE *yyin, *yyout;
420
421
0
#define EOB_ACT_CONTINUE_SCAN 0
422
0
#define EOB_ACT_END_OF_FILE 1
423
0
#define EOB_ACT_LAST_MATCH 2
424
    
425
    #define YY_LESS_LINENO(n)
426
    #define YY_LINENO_REWIND_TO(ptr)
427
    
428
/* Return all but the first "n" matched characters back to the input stream. */
429
#define yyless(n) \
430
  do \
431
    { \
432
    /* Undo effects of setting up yytext. */ \
433
        int yyless_macro_arg = (n); \
434
        YY_LESS_LINENO(yyless_macro_arg);\
435
    *yy_cp = (yy_hold_char); \
436
    YY_RESTORE_YY_MORE_OFFSET \
437
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439
    } \
440
  while ( 0 )
441
#define unput(c) yyunput( c, (yytext_ptr)  )
442
443
#ifndef YY_STRUCT_YY_BUFFER_STATE
444
#define YY_STRUCT_YY_BUFFER_STATE
445
struct yy_buffer_state
446
  {
447
  FILE *yy_input_file;
448
449
  char *yy_ch_buf;    /* input buffer */
450
  char *yy_buf_pos;   /* current position in input buffer */
451
452
  /* Size of input buffer in bytes, not including room for EOB
453
   * characters.
454
   */
455
  int yy_buf_size;
456
457
  /* Number of characters read into yy_ch_buf, not including EOB
458
   * characters.
459
   */
460
  int yy_n_chars;
461
462
  /* Whether we "own" the buffer - i.e., we know we created it,
463
   * and can realloc() it to grow it, and should free() it to
464
   * delete it.
465
   */
466
  int yy_is_our_buffer;
467
468
  /* Whether this is an "interactive" input source; if so, and
469
   * if we're using stdio for input, then we want to use getc()
470
   * instead of fread(), to make sure we stop fetching input after
471
   * each newline.
472
   */
473
  int yy_is_interactive;
474
475
  /* Whether we're considered to be at the beginning of a line.
476
   * If so, '^' rules will be active on the next match, otherwise
477
   * not.
478
   */
479
  int yy_at_bol;
480
481
    int yy_bs_lineno; /**< The line count. */
482
    int yy_bs_column; /**< The column count. */
483
484
  /* Whether to try to fill the input buffer when we reach the
485
   * end of it.
486
   */
487
  int yy_fill_buffer;
488
489
  int yy_buffer_status;
490
491
0
#define YY_BUFFER_NEW 0
492
0
#define YY_BUFFER_NORMAL 1
493
  /* When an EOF's been seen but there's still some text to process
494
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495
   * shouldn't try reading from the input source any more.  We might
496
   * still have a bunch of tokens to match, though, because of
497
   * possible backing-up.
498
   *
499
   * When we actually see the EOF, we change the status to "new"
500
   * (via yyrestart()), so that the user can continue scanning by
501
   * just pointing yyin at a new input file.
502
   */
503
0
#define YY_BUFFER_EOF_PENDING 2
504
505
  };
506
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
507
508
/* Stack of input buffers. */
509
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
510
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
511
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
512
513
/* We provide macros for accessing buffer states in case in the
514
 * future we want to put the buffer states in a more general
515
 * "scanner state".
516
 *
517
 * Returns the top of the stack, or NULL.
518
 */
519
0
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520
0
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521
0
                          : NULL)
522
/* Same as previous macro, but useful when we know that the buffer stack is not
523
 * NULL or when we need an lvalue. For internal use only.
524
 */
525
0
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526
527
/* yy_hold_char holds the character lost when yytext is formed. */
528
static char yy_hold_char;
529
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
530
int yyleng;
531
532
/* Points to current character in buffer. */
533
static char *yy_c_buf_p = NULL;
534
static int yy_init = 0;   /* whether we need to initialize */
535
static int yy_start = 0;  /* start state number */
536
537
/* Flag which is used to allow yywrap()'s to do buffer switches
538
 * instead of setting up a fresh yyin.  A bit of a hack ...
539
 */
540
static int yy_did_buffer_switch_on_eof;
541
542
void yyrestart ( FILE *input_file  );
543
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
544
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
545
void yy_delete_buffer ( YY_BUFFER_STATE b  );
546
void yy_flush_buffer ( YY_BUFFER_STATE b  );
547
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
548
void yypop_buffer_state ( void );
549
550
static void yyensure_buffer_stack ( void );
551
static void yy_load_buffer_state ( void );
552
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
553
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554
555
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
556
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
557
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
558
559
void *yyalloc ( yy_size_t  );
560
void *yyrealloc ( void *, yy_size_t  );
561
void yyfree ( void *  );
562
563
#define yy_new_buffer yy_create_buffer
564
#define yy_set_interactive(is_interactive) \
565
  { \
566
  if ( ! YY_CURRENT_BUFFER ){ \
567
        yyensure_buffer_stack (); \
568
    YY_CURRENT_BUFFER_LVALUE =    \
569
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
570
  } \
571
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572
  }
573
#define yy_set_bol(at_bol) \
574
  { \
575
  if ( ! YY_CURRENT_BUFFER ){\
576
        yyensure_buffer_stack (); \
577
    YY_CURRENT_BUFFER_LVALUE =    \
578
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
579
  } \
580
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581
  }
582
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583
584
/* Begin user sect3 */
585
typedef flex_uint8_t YY_CHAR;
586
587
FILE *yyin = NULL, *yyout = NULL;
588
589
typedef int yy_state_type;
590
591
extern int yylineno;
592
int yylineno = 1;
593
594
extern char *yytext;
595
#ifdef yytext_ptr
596
#undef yytext_ptr
597
#endif
598
0
#define yytext_ptr yytext
599
600
static yy_state_type yy_get_previous_state ( void );
601
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
602
static int yy_get_next_buffer ( void );
603
static void yynoreturn yy_fatal_error ( const char* msg  );
604
605
/* Done after the current pattern has been matched and before the
606
 * corresponding action - sets up yytext.
607
 */
608
#define YY_DO_BEFORE_ACTION \
609
0
  (yytext_ptr) = yy_bp; \
610
0
  yyleng = (int) (yy_cp - yy_bp); \
611
0
  (yy_hold_char) = *yy_cp; \
612
0
  *yy_cp = '\0'; \
613
0
  (yy_c_buf_p) = yy_cp;
614
#define YY_NUM_RULES 345
615
0
#define YY_END_OF_BUFFER 346
616
/* This struct is not used in this scanner,
617
   but its presence is necessary. */
618
struct yy_trans_info
619
  {
620
  flex_int32_t yy_verify;
621
  flex_int32_t yy_nxt;
622
  };
623
static const flex_int16_t yy_accept[1737] =
624
    {   0,
625
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
626
        0,    0,  346,  343,    1,  341,  334,    2,  343,  343,
627
      327,  340,  327,  340,  340,  340,  340,  340,  340,  340,
628
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
629
      340,  340,  340,  340,  340,  340,  340,  343,  343,  343,
630
      344,    1,  342,    1,   14,  339,  344,  339,  344,  328,
631
      328,   18,   15,   17,  344,  344,  344,  344,  344,  344,
632
      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
633
      344,  344,  344,  342,   21,  342,  345,    1,  345,  345,
634
      337,  335,  335,  336,    5,    7,    6,  340,  340,  340,
635
636
      340,  340,    1,    2,    0,  332,  327,  327,  340,  327,
637
      340,    0,    3,  340,    2,  327,    0,  340,  340,  340,
638
      340,  340,  340,  340,  340,  244,  340,  340,  340,  248,
639
      340,  249,  340,  340,  254,  340,  340,  340,  340,  340,
640
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
641
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
642
      340,  340,  340,  268,  340,  340,  271,  272,  340,  340,
643
      340,  340,  340,  340,  340,  340,  340,  284,  340,  340,
644
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
645
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
646
647
      340,  340,  340,  340,  223,  340,  340,  311,  312,  340,
648
      313,  340,  340,  340,  340,  340,  340,  340,  340,  340,
649
      340,    0,  320,    0,  333,    0,   16,    0,   13,    0,
650
      328,  328,  328,    0,  328,    0,   20,   22,   15,   19,
651
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
652
       15,    0,    0,    0,   19,   17,   24,    0,   20,    0,
653
       18,    0,   12,    0,    0,    0,    0,    0,    0,    0,
654
        0,    0,    0,    0,    0,    0,  324,    0,    0,  329,
655
       23,    0,  338,    0,  337,  335,  335,  336,    5,    4,
656
        2,  340,  340,  340,  340,  327,    0,    0,  340,  327,
657
658
        0,  331,  340,  331,    2,    2,    2,  327,    0,    0,
659
      327,  340,  340,  340,  340,  340,  340,  340,  340,  340,
660
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
661
      340,  340,  340,  250,  340,  340,  340,  340,  340,  340,
662
      340,  340,   88,  340,  340,  340,  340,  340,  340,  340,
663
      340,  340,  340,  340,  340,  340,  103,  340,  340,  340,
664
      340,  340,  340,  340,  340,  263,  340,  340,  340,  340,
665
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
666
      340,  340,  340,  340,  142,  340,  340,  340,  340,  340,
667
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
668
669
      281,  282,  340,  340,  340,  340,  340,  340,  340,  340,
670
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
671
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
672
      340,  340,  340,  340,  340,  340,  340,  305,  340,  340,
673
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
674
      340,  340,  340,  340,  340,  234,  318,  340,  236,  319,
675
      340,   68,    0,    0,    0,    0,    0,  328,  328,    0,
676
        0,  328,    0,    0,    0,    0,    0,    0,    0,    0,
677
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
678
        0,    0,    0,    0,   14,    0,    0,    0,    0,    0,
679
680
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
681
        2,  340,    9,  340,  340,  327,  330,  330,    2,    2,
682
        0,  327,  340,  340,  340,  340,  340,  239,  340,  340,
683
      340,  340,  340,  340,  340,  243,  340,  340,  340,  340,
684
      340,  340,  340,  340,  340,  340,   83,  340,  340,  340,
685
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
686
      258,  340,  340,  340,  340,   98,  340,  340,  340,  102,
687
      340,  340,  340,  105,  340,  340,  340,  340,  340,  340,
688
      340,  340,  340,  340,  340,  121,  340,  340,  340,  340,
689
      340,  340,  340,  340,  340,  269,  340,  270,  340,  145,
690
691
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
692
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
693
      340,  340,  340,  340,  340,  340,  340,  340,  175,  340,
694
      279,  340,  340,  340,  340,  340,  340,  340,  340,  340,
695
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
696
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
697
      340,  340,  340,  340,  340,  340,  340,  340,  340,  207,
698
      340,  340,  340,  340,  340,  340,  340,  218,  340,  307,
699
      340,  340,  340,  340,  309,  228,  340,  340,  340,  340,
700
      340,  340,  340,  340,  340,  237,  325,    0,  328,   25,
701
702
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
703
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704
        0,    0,    0,    0,    0,    0,    0,    0,   56,    0,
705
        0,    0,    0,    0,  326,  340,   10,  340,    2,   61,
706
      340,   63,  340,  340,  240,  340,  340,  241,  340,  340,
707
      340,  340,  340,  340,  246,  340,   72,  340,   76,  340,
708
      340,  340,  340,  340,  340,   84,  340,  340,  340,  340,
709
      256,   86,  340,   89,  340,  340,  257,  340,  340,  340,
710
      340,  340,  340,  340,  100,  340,  340,  260,  340,  340,
711
      108,  261,  340,  340,  110,  340,  340,  118,  340,  340,
712
713
      186,  340,  340,  340,  340,  340,  125,  267,  340,  135,
714
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
715
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
716
      340,  276,  340,  340,  340,  340,  340,  340,  340,  340,
717
      340,  340,  340,  340,  277,  340,  252,  340,  340,  340,
718
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
719
      340,  340,  291,  340,  340,  340,  340,  340,  340,  340,
720
      340,  295,  340,  340,  340,  340,  340,  340,  340,  340,
721
      298,  299,  200,  340,  340,  340,  340,  340,  340,  303,
722
      340,  340,  210,  340,  216,  340,  340,  340,  340,  222,
723
724
      340,  340,  340,  340,  314,  229,  340,  340,  340,  340,
725
      340,  340,  235,    0,    0,    0,    0,    0,    0,    0,
726
        0,    0,    0,    0,   57,    0,    0,    0,    0,   43,
727
        0,    0,    0,   31,   42,    0,   29,    0,    0,    0,
728
        0,   30,    0,    0,    0,    0,  340,  340,  340,  340,
729
      340,  340,  340,  340,  242,  340,   70,  245,  340,  247,
730
      340,  340,  340,  340,  340,   79,  340,   80,  340,  340,
731
      340,  340,  340,   85,  340,  340,  340,  340,   91,  340,
732
       94,   95,  340,  259,  340,   97,  340,  340,  340,  340,
733
      109,  264,  340,  340,  340,  340,  340,  265,  340,  340,
734
735
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
736
      340,  134,  136,  137,  340,  340,  143,  340,  340,  340,
737
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
738
      273,  340,  274,  340,  340,  340,  340,  340,  340,  340,
739
      340,  340,  340,  340,  340,  340,  340,  280,  176,  340,
740
      340,  340,  340,  340,  340,  340,  340,  340,  290,  289,
741
      294,  185,  340,  340,  340,  340,  340,  340,  340,  340,
742
      340,  340,  340,  340,  296,  340,  195,  340,  340,  340,
743
      340,  340,  340,  340,  340,  340,  340,  301,  302,  340,
744
      304,  209,  340,  212,  340,  340,  340,  340,  340,  340,
745
746
      340,  340,  340,  340,  340,  340,  340,  340,  233,  317,
747
       53,   34,    0,    0,    0,    0,    0,    0,    0,    0,
748
       52,    0,    0,    0,    0,    0,    0,   26,    0,    0,
749
        0,    0,    0,   50,    0,    0,    0,    8,  340,  340,
750
      340,  340,  340,  340,  340,  340,  340,  340,  340,   75,
751
      340,  340,  340,  340,  316,  340,  253,  340,  255,  340,
752
      340,  340,   93,  340,  340,   99,  340,  340,  340,  340,
753
      340,  340,  340,  340,  340,  117,  340,  340,  340,  340,
754
      123,  340,  340,  340,  340,  340,  340,  340,  340,  340,
755
      139,  340,  340,  146,  340,  340,  340,  340,  340,  340,
756
757
      340,  340,  155,  340,  340,  340,  340,  340,  161,  340,
758
      340,  340,  340,  340,  340,  171,  340,  340,  340,  340,
759
      340,  177,  340,  178,  340,  340,  340,  340,  184,  340,
760
      340,  292,  340,  293,  340,  340,  340,  340,  340,  340,
761
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
762
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
763
      340,  340,  221,  340,  340,  340,  340,  340,  230,  231,
764
      340,  340,    0,   28,    0,   49,   41,    0,    0,   54,
765
        0,    0,    0,   32,    0,    0,    0,    0,    0,    0,
766
       47,    0,    0,  321,   11,  340,  340,  340,  340,  340,
767
768
       67,  340,  340,  340,  340,  340,  340,  340,  340,  340,
769
      340,   87,  340,  340,  340,  340,  340,  340,  340,  106,
770
      340,  340,  340,  340,  116,  340,  340,  340,  122,  340,
771
      340,  340,  340,  340,  340,  340,  340,  340,  140,  340,
772
      340,  340,  340,  340,  340,  340,  340,  151,  340,  340,
773
      158,  159,  160,  340,  340,  340,  340,  340,  168,  340,
774
      340,  174,  278,  340,  340,  340,  340,  340,  340,  340,
775
      183,  340,  340,  187,  340,  340,  189,  340,  340,  340,
776
      193,  340,  340,  340,  340,  340,  197,  340,  202,  340,
777
      340,  300,  340,  340,  340,  340,  340,  340,  340,  217,
778
779
      115,  340,  220,  340,  340,  340,  308,  310,  315,  340,
780
        0,   51,    0,   46,   33,   55,    0,    0,    0,   48,
781
       36,    0,   27,    0,    0,  340,  340,   64,  340,   66,
782
      340,   71,  340,   73,  340,  340,   78,  340,   59,  340,
783
      340,   92,  340,  340,  340,  340,  107,  340,  113,  114,
784
      112,  340,  120,  340,  340,  340,  340,  340,  128,  340,
785
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
786
      154,  340,  340,  340,  340,  340,  340,  340,  340,  340,
787
      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
788
      340,  340,  340,  340,  340,  340,  340,   60,  340,  194,
789
790
      340,  340,  340,  340,  340,  340,  340,  206,  208,  211,
791
      340,  215,  219,  224,  227,  340,  340,    0,    0,    0,
792
        0,    0,    0,   39,    0,    0,  340,  238,  340,  340,
793
       74,   58,   77,   81,  340,   90,   96,  283,  340,  340,
794
      111,  119,  340,  124,  266,  126,  340,  340,  340,  340,
795
      340,  340,  144,  147,  340,  340,  340,  340,  340,  340,
796
      340,  340,  162,  340,  340,  340,  340,  340,  340,  340,
797
      340,  340,  285,  340,  340,  340,  340,  340,  340,  251,
798
      340,  190,  191,  340,  340,  196,  340,  198,  201,  203,
799
      340,  205,  340,  340,  340,  232,   40,   35,   38,   45,
800
801
       44,   37,    0,    0,   62,  340,  340,  340,  340,  340,
802
      340,  340,  340,  127,  340,  340,  340,  340,  340,  148,
803
      149,  153,  150,  340,  340,  340,  157,  163,  340,  170,
804
      167,  340,  340,  173,  340,  286,  340,  340,  340,  340,
805
      288,  306,  340,  192,  297,  340,  204,  213,  340,  226,
806
        0,    0,  340,   69,  340,  340,  340,  101,  340,  340,
807
      340,  340,  340,  138,  340,  340,  340,  156,  340,  340,
808
      172,  340,  340,  180,  181,  182,  340,  340,  340,  340,
809
        0,    0,  340,  340,  340,  199,  104,  262,  129,  131,
810
      133,  340,  340,  152,  340,  169,  275,  287,  340,  340,
811
812
      340,  340,    0,    0,  340,  340,   82,  340,  340,  340,
813
      340,  166,  188,  164,  340,  225,    0,  322,   65,  340,
814
      340,  340,  141,  165,  340,  323,  340,  340,  340,  214,
815
      179,  340,  340,  130,  132,    0
816
    } ;
817
818
static const YY_CHAR yy_ec[256] =
819
    {   0,
820
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
821
        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
822
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
823
        1,    2,    5,    6,    7,    1,    1,    8,    9,   10,
824
       11,   12,   13,    1,   14,   15,   16,   17,   17,   18,
825
       17,   17,   17,   17,   17,   17,   17,    1,    1,   19,
826
       20,   21,    1,    1,   22,   23,   24,   25,   26,   27,
827
       28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
828
       38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
829
       48,   49,   50,    1,   51,   52,   53,   54,   55,   56,
830
831
       57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
832
       67,   68,   69,   70,   71,   72,   73,   74,   75,   76,
833
       77,   78,   79,   80,   81,   82,    1,    1,    1,    1,
834
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
835
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
836
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
837
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
838
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
839
        1,    1,    1,    1,    1,    1,   83,    1,    1,    1,
840
       84,    1,    1,    1,    1,    1,    1,    1,    1,    1,
841
842
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
843
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
844
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
845
        1,    1,    1,    1,    1,    1,    1,    1,   85,    1,
846
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
847
        1,    1,    1,    1,    1
848
    } ;
849
850
static const YY_CHAR yy_meta[87] =
851
    {   0,
852
        1,    1,    2,    1,    1,    3,    1,    1,    4,    1,
853
        1,    5,    1,    6,    6,    6,    6,    6,    1,    6,
854
        1,    6,    6,    6,    6,    6,    6,    6,    6,    6,
855
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
856
        6,    6,    6,    6,    6,    6,    6,    1,    7,    1,
857
        6,    1,    6,    6,    6,    6,    6,    6,    6,    6,
858
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
859
        6,    6,    6,    6,    6,    6,    6,    6,    1,    1,
860
        1,    1,    1,    1,    1,    1
861
    } ;
862
863
static const flex_int16_t yy_base[1761] =
864
    {   0,
865
        0,    0,   86,    0,  171,  172,  173,  177,  181,  182,
866
      226,    0, 1082, 3985,  185, 3985, 3985,    0, 1013,  173,
867
      296,  353,  310,  304,  353,  416,  359,  354,  421,  436,
868
      356,  467,  156,  290,  474,  473,  354,  483,  532,  275,
869
      533,  579,  585,  540,  374,  631,    0,  961,  907,  810,
870
     3985,  193, 3985,  194,  820,  732,  751,  700,  184,  314,
871
      611,  183,  188,  725,  424,  479,  521,  615,  280,  644,
872
      575,  284,  299,  628,  624,  636,  306,  637,  355,  343,
873
      367,  678,  157,  653,  687, 3985, 3985,  208,  687,  678,
874
        0,  411,  418,  475,    0, 3985,  666,  661,  473,  477,
875
876
      492,  484,  209,    0,  638,  616,  690,  704,    0,  706,
877
      201,  603, 3985,  763,  849,  720,  203,  531,  759,  525,
878
      649,  524,  645,  551,  686,    0,  685,  703,  687,  756,
879
      755,    0,  686,  690,    0,  727,  725,  758,  769,  771,
880
      754,  760,  766,  781,  769,  782,  836,  769,  771,  774,
881
      841,  851,  823,  852,  843,  833,  856,  855,  856,  853,
882
      845,  853,  897,    0,  897,  855,    0,    0,  900,  901,
883
      913,  859,  901,  910,  914,  931,  920,  934,  939,  940,
884
      922,  925,  926,  936,  940,  968,  969,  960,  967,  982,
885
      959,  958,  981,  971,  984, 1008,  992,  974, 1003,  993,
886
887
      989, 1003, 1014, 1025, 1011, 1039, 1025,    0,    0, 1033,
888
        0, 1037, 1026, 1034, 1044, 1047, 1031, 1047, 1035, 1037,
889
     1056,  534, 3985,  499,  493,  486, 3985,  487, 3985,  466,
890
     1087, 1099, 1093,  316, 1103,  451, 3985, 3985, 3985, 3985,
891
     1059, 1061, 1060, 1095, 1088, 1092, 1088, 1093, 1103, 1101,
892
     1090, 1100, 1095, 1099, 1101, 3985, 1110, 1095, 1104, 1097,
893
     3985, 1101, 3985, 1105, 1121, 1106, 1115, 1116, 1144, 1126,
894
     1138, 1140,  420, 1163, 1168, 1159, 3985,  415,  274, 3985,
895
     3985,  455, 3985,  444,    0, 3985, 3985, 3985,    0, 3985,
896
     1221, 1154, 1210, 1156, 1163, 1184,  722,  189,  207,  326,
897
898
      434, 1177, 1307, 1178,  627, 1393, 1479, 1226, 1178,  559,
899
      724, 1186, 1208, 1213, 1211, 1218, 1213, 1218, 1226, 1228,
900
     1230, 1222, 1213, 1231, 1218, 1219, 1222, 1238, 1223, 1224,
901
     1229, 1230, 1294,    0, 1277, 1280, 1305, 1288, 1302, 1307,
902
     1293, 1300,    0, 1301, 1299, 1313, 1300, 1300, 1301, 1310,
903
     1304, 1313, 1306, 1307, 1383, 1315,    0, 1316, 1319, 1343,
904
     1383, 1371, 1392, 1393, 1389,    0, 1392, 1392, 1396, 1382,
905
     1398, 1392, 1392, 1393, 1400, 1393, 1405, 1404, 1400, 1408,
906
     1410, 1395, 1411, 1444,    0, 1450, 1461, 1544, 1464, 1473,
907
     1476, 1477, 1598, 1478, 1464, 1468, 1481, 1467, 1484, 1477,
908
909
     1472,    0,  430, 1490, 1491, 1483, 1476, 1477, 1495, 1518,
910
     1494, 1488, 1533, 1540, 1520, 1575, 1534, 1548, 1537, 1556,
911
     1561, 1571, 1570, 1572, 1581, 1589, 1594, 1598, 1606, 1609,
912
     1596, 1607, 1610, 1607, 1619, 1602, 1611,    0, 1624, 1617,
913
     1616, 1614, 1632, 1615, 1635, 1650, 1644, 1658, 1656, 1657,
914
     1649, 1663, 1665, 1661, 1653,    0,    0, 1654,    0,    0,
915
     1659, 3985,  358,  522,  354,  573,  735,  799, 1680, 1687,
916
      849,  871, 1680, 1672, 1682, 1671, 1681, 1676, 1680, 1683,
917
     1701, 1698, 1689, 1709, 1692, 1695, 1702, 1712, 1700, 1716,
918
     1718, 1723, 1719, 1723, 3985, 1724, 1713, 1718, 1718, 1720,
919
920
     1716, 1734, 1738, 1739, 1739, 1729, 1740, 1752,  583, 1033,
921
     1752, 1758,    0, 1751, 1764, 1010, 3985,    0, 1763, 1764,
922
     1180, 1186, 1762, 1762, 1774, 1762, 1782,  327, 1778, 1767,
923
     1776, 1767, 1789, 1772, 1788,    0, 1789, 1795, 1785, 1779,
924
     1779, 1782, 1803, 1796, 1801, 1796, 1794, 1816, 1805, 1827,
925
     1828, 1818, 1831, 1813, 1835, 1823, 1839, 1831, 1842, 1827,
926
        0, 1845, 1846, 1845, 1838, 1836, 1851, 1853, 1858,    0,
927
     1840, 1841, 1853, 1848, 1852, 1863, 1868, 1854, 1872, 1875,
928
     1864, 1864, 1885, 1877, 1877,    0, 1892, 1887, 1894, 1888,
929
     1894, 1902, 1894, 1894, 1908,    0, 1900, 1912, 1912,    0,
930
931
     1900, 1905, 1912, 1918, 1919, 1915, 1925, 1911, 1947, 1930,
932
     1927, 1918, 1938, 1929, 1938, 1938, 1941, 1947, 1954, 1960,
933
     1964, 1957, 1971, 1967, 1966, 1958, 1968, 1967,    0, 1973,
934
        0, 1982, 1986, 1964, 1976, 1974, 1988, 1977, 1992, 1999,
935
     2004, 2000, 2017, 2010, 2000, 2003, 2017, 2005, 2024, 2009,
936
     2025, 2028, 2009, 2032, 2033, 2021, 2026, 2022, 2043, 2036,
937
     2034, 2027, 2044, 2048, 2051, 2042, 2054, 2048, 2051, 2045,
938
     2059, 2056, 2059, 2076, 2067, 2078, 2077,    0, 2077,    0,
939
     2082, 2074, 2076, 2084, 2079,    0, 2086, 2082, 2102, 2084,
940
     2087, 2103, 2103, 2094, 2102,    0, 3985, 1257, 1307, 3985,
941
942
     2101, 2111, 2114, 2112, 2121, 2106, 2119, 2128, 2121, 2134,
943
     2131, 2139, 2125, 2128, 2131, 2148, 2136, 2137, 2138, 2138,
944
     2142, 2143, 2150, 2159, 2153, 2146, 2150, 2161, 3985, 2152,
945
     2162, 2176, 1360, 2174, 3985, 2169,    0, 2172,    0,    0,
946
     2165,    0, 2183, 2175,    0, 2177, 2189,    0, 2203, 2190,
947
     2202, 2192, 2193, 2210,    0, 2211, 2210, 2215, 2204, 2214,
948
     2208, 2218, 2225, 2209, 2230,    0, 2220, 2214, 2216, 2217,
949
        0,    0, 2230,    0, 2221, 2226,    0, 2225, 2245, 2234,
950
     2252, 2237, 2261, 2250,    0, 2249, 2254,    0, 2270, 2255,
951
        0,    0, 2260, 2274, 2292, 2265, 2281,    0, 2285, 2265,
952
953
        0, 2277, 2289, 2266, 2292, 2289, 2324,    0, 2284,    0,
954
     2283, 2303, 2313, 2304, 2304, 2325, 2307, 2315, 2334, 2325,
955
     2321, 2332, 2342, 2347, 2323, 2349, 2339, 2350, 2342, 2355,
956
     2338,    0, 2335, 2360, 2343, 2350, 2369, 2359, 2355, 2375,
957
     2355, 2382, 2376, 2386,    0, 2376,    0, 2390, 2383, 2376,
958
     2377, 2384, 2382, 2398, 2390, 2388, 2408, 2392, 2397, 2394,
959
     2398, 2402, 2398, 2403, 2404, 2413, 2420, 2424, 2422, 2413,
960
     2433, 2445, 2428, 2425, 2441, 2438, 2445, 2435, 2439, 2438,
961
        0,    0, 2471, 2441, 2441, 2449, 2461, 2465, 2457,    0,
962
     2467, 2457, 2469, 2467,    0, 2479, 2480, 2473, 2466,    0,
963
964
     2493, 2492, 2492, 2475,    0,    0, 2485, 2508, 2494, 2515,
965
     2498, 2501,    0, 2516, 2503, 2505, 2520, 2518, 2523, 2526,
966
     2515, 2525, 2526, 2518, 3985, 2535, 2535, 2540, 2541, 3985,
967
     2524, 2543, 2541, 3985, 3985, 2552, 3985, 2546, 2548, 2551,
968
     2556, 3985, 2548, 1446, 2567, 2570, 2560, 2562, 2562, 2559,
969
     2572, 2567, 2563, 2573,    0, 2582,    0,    0, 2569,    0,
970
     2572, 2574, 2577, 2596, 2588,    0, 2593,    0, 2583, 2586,
971
     2591, 2588, 2596,    0, 2610, 2603, 2599, 2613,    0, 2618,
972
        0, 2615, 2612,    0, 2609,    0, 2615, 2631, 2616, 2633,
973
        0,    0, 2625, 2626, 2642, 2619, 2627,    0, 2642, 2638,
974
975
     2650, 2648, 2649, 2652, 2656, 2642, 2663, 2650, 2646, 2676,
976
     2662,    0,    0, 2664, 2657, 2670, 2661, 2665, 2667, 2669,
977
     2671, 2669, 2689, 2692, 2682, 2690, 2698, 2701, 2690, 2687,
978
        0, 2689,    0, 2696, 2694, 2695, 2698, 2699, 2698, 2719,
979
     2714, 2722, 2724, 2713, 2712, 2723, 2738,    0,    0, 2736,
980
      327, 2717, 2727, 2742, 2742, 2739, 2739, 2734,    0,    0,
981
        0,    0, 2750, 2747, 2747, 2745, 2760, 2765, 2748, 2750,
982
     2751, 2759, 2774, 2756, 2768, 2767,    0, 2761, 2782, 2783,
983
     2769, 2789, 2786, 2779, 2792, 2805, 2800,    0,    0, 2794,
984
        0,    0, 2784, 2790, 2790, 2793, 2811, 2811, 2799, 2809,
985
986
     2811, 2826, 2817, 2814, 2830, 2820, 2831, 2817,    0,    0,
987
     3985, 3985, 2826, 2817, 2829, 2826, 2823, 2845, 2837, 2838,
988
     3985, 2852, 2832, 2847, 2847, 2860, 2848, 3985, 2854, 2865,
989
     2853, 2861, 2858, 3985, 2875, 2881,  288,    0, 2861, 2870,
990
     2879, 2888, 2870, 2887, 2874, 2880, 2893, 2884, 2895,    0,
991
     2891, 2887, 2892, 2904,    0, 2907,    0, 2903,    0, 2911,
992
     2912, 2910,    0, 2907, 2926,    0, 2916, 2919, 2922, 2919,
993
     2925, 2935, 2920, 2925, 2930,    0, 2940, 2936, 2945, 2946,
994
        0, 2944, 2949, 2952, 2939, 2955, 2937, 2948, 2950, 2954,
995
        0, 2960, 2966,    0, 2967, 2976, 2959, 2974, 2969, 2969,
996
997
     2978, 2989,    0, 2986, 2984, 2989, 2998, 2996,    0, 2993,
998
     3002, 2983, 3000, 2992, 3007,    0, 3004, 3003, 3008, 3012,
999
     3007,    0, 3009,    0, 3007, 3026, 3016, 3017,    0, 3036,
1000
     3032,    0, 3025,    0, 3023, 3040, 3026, 3043, 3047, 3039,
1001
     3042, 3054, 3060, 3060, 3059, 3056, 3047, 3062, 3054, 3060,
1002
     3064, 3073, 3063, 3070, 3061, 3064, 3080, 3088, 3081, 3090,
1003
     3094, 3087,    0, 3098, 3086, 3089, 3106, 3108,    0,    0,
1004
     3096, 3109, 3110, 3985, 3101, 3985, 3985, 3107, 3103, 3985,
1005
     3109, 3106, 3118, 3985, 3125, 3124, 3115, 3111, 3128, 3132,
1006
     3985, 3142, 3131, 3985,    0, 3132, 3131, 3129, 3139, 3142,
1007
1008
        0, 3143, 3144, 3142, 3153, 3162, 3168, 3170, 3161, 3175,
1009
     3160,    0, 3167, 3169, 3180, 3166, 3168, 3170, 3185,    0,
1010
     3176, 3190, 3188, 3193,    0, 3198, 3182, 3188,    0, 3189,
1011
     3187, 3200, 3196, 3197, 3196, 3198, 3202, 3206, 3212, 3202,
1012
     3205, 3221, 3219, 3234, 3220, 3235, 3243, 3241, 3225, 3248,
1013
        0,    0,    0, 3224, 3237, 3234, 3249, 3235, 3254, 3238,
1014
     3260,    0,    0, 3250, 3263, 3251, 3266, 3255, 3262, 3254,
1015
        0, 3270, 3260,    0, 3268, 3274,    0, 3273, 3275, 3280,
1016
        0, 3284, 3297, 3295, 3284, 3286,    0, 3291,    0, 3292,
1017
     3304,    0, 3299, 3286, 3305, 3295, 3302, 3318, 3300,    0,
1018
1019
        0, 3298,    0, 3318, 3312, 3321,    0,    0,    0, 3312,
1020
     3315, 3985, 3329, 3985, 3985, 3985, 3307, 3314, 3323, 3985,
1021
     3325, 3346, 3985, 3337, 3340, 3334, 3341,    0, 3355,    0,
1022
     3348,    0, 3346,    0, 3362, 3350,    0, 3357,    0, 3353,
1023
     3360,    0, 3362, 3370, 3368, 3375,    0, 3364,    0,    0,
1024
        0, 3368,    0, 3366, 3380, 3369, 3384, 3390,    0, 3391,
1025
     3392, 3387, 3384, 3399, 3396, 3398, 3406, 3405, 3391, 3413,
1026
        0, 3401, 3416, 3414, 3404, 3424, 3427, 3428, 3415, 3435,
1027
     3432, 3429, 3419, 3434, 3430, 3441, 3427, 3437, 3446, 3438,
1028
     3448, 3451, 3445, 3455, 3452, 3448, 3462,    0, 3460,    0,
1029
1030
     3456, 3452, 3459, 3463, 3465, 3468, 3480,    0,    0,    0,
1031
     3474,    0,    0, 3470,    0, 3478, 3481, 3492, 3493, 3494,
1032
     3481, 3481, 3485, 3985, 3496, 3490, 3486,    0, 3508, 3511,
1033
        0,    0,    0, 3498, 3506,    0,    0,    0, 3505, 3506,
1034
        0,    0, 3515,    0,    0,    0, 3507, 3532, 3533, 3517,
1035
     3537, 3517,    0,    0, 3540, 3528, 3540, 3538, 3552, 3540,
1036
     3552, 3552,    0, 3554, 3541, 3553, 3550, 3549, 3563, 3563,
1037
     3558, 3546,    0, 3564, 3559, 3555, 3576, 3561, 3562,    0,
1038
     3582,    0,    0, 3566, 3577,    0, 3594,    0,    0,    0,
1039
     3578,    0, 3592, 3586, 3583,    0, 3985, 3985, 3985, 3985,
1040
1041
     3985, 3985, 3590, 3601,    0, 3592, 3592, 3599, 3591, 3603,
1042
     3607, 3604, 3603,    0, 3612, 3613, 3624, 3612, 3614,    0,
1043
        0,    0,    0, 3621, 3621, 3632,    0,    0, 3630,    0,
1044
        0, 3627, 3639,    0, 3640,    0, 3647, 3632, 3643, 3637,
1045
        0,    0, 3655,    0,    0, 3645,    0, 3657, 3653,    0,
1046
     3656, 3643, 3659,    0, 3654, 3661, 3664,    0, 3667, 3658,
1047
     3679, 3681, 3668,    0, 3682, 3687, 3682,    0, 3671, 3685,
1048
        0, 3680, 3689,    0,    0,    0, 3695, 3701, 3701, 3687,
1049
     3684, 3707, 3701, 3710, 3715,    0,    0,    0, 3717, 3719,
1050
        0, 3698, 3715,    0, 3726,    0,    0,    0, 3728, 3734,
1051
1052
     3726, 3723, 3739,  285, 3727, 3731,    0, 3743, 3744, 3748,
1053
     3751,    0,    0,    0, 3742,    0,  273, 3985,    0, 3745,
1054
     3746, 3747,    0,    0, 3750, 3985, 3746, 3751, 3752,    0,
1055
        0, 3756, 3759,    0,    0, 3985, 3824, 3831, 3838, 3845,
1056
     3852,  309, 3859, 3866, 3873, 3880, 3887, 3894, 3901, 3908,
1057
     3914, 3921, 3928, 3935, 3942, 3949, 3956, 3963, 3970, 3977
1058
    } ;
1059
1060
static const flex_int16_t yy_def[1761] =
1061
    {   0,
1062
     1736,    1, 1736,    3, 1737, 1737, 1738, 1738, 1739, 1739,
1063
     1736,   11, 1736, 1736, 1736, 1736, 1736, 1740, 1741, 1736,
1064
     1742, 1743, 1736, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1065
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1066
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1744, 1745, 1736,
1067
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1068
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1069
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1070
     1736, 1746, 1747, 1736, 1736, 1736, 1736, 1736, 1748, 1749,
1071
     1750, 1736, 1736, 1736, 1751, 1736, 1736, 1742, 1742, 1742,
1072
1073
     1742, 1742, 1736, 1740, 1741, 1741, 1736, 1736, 1742, 1742,
1074
     1742, 1752, 1736, 1753, 1754, 1736, 1736, 1742, 1742, 1742,
1075
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1076
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1077
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1078
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1079
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1080
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1081
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1082
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1083
1084
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1085
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1086
     1742, 1744, 1736, 1745, 1745, 1736, 1736, 1755, 1736, 1756,
1087
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1088
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1089
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1090
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1091
     1736, 1736, 1746, 1746, 1746, 1746, 1736, 1747, 1757, 1736,
1092
     1736, 1748, 1736, 1749, 1750, 1736, 1736, 1736, 1751, 1736,
1093
     1758, 1742, 1742, 1742, 1742, 1736, 1736, 1736, 1742, 1742,
1094
1095
     1752, 1736, 1753, 1742, 1759, 1754, 1758, 1736, 1736, 1736,
1096
     1736, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1097
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1098
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1099
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1100
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1101
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1102
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1103
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1104
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1105
1106
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1107
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1108
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1109
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1110
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1111
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1112
     1742, 1736, 1755, 1755, 1756, 1756, 1736, 1736, 1736, 1736,
1113
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1114
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1115
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1116
1117
     1736, 1736, 1736, 1736, 1736, 1746, 1746, 1746, 1757, 1757,
1118
      307, 1742, 1742, 1742, 1742, 1736, 1736, 1742, 1760,  307,
1119
     1736, 1736, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1120
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1121
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1122
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1123
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1124
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1125
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1126
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1127
1128
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1129
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1130
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1131
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1132
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1133
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1134
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1135
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1136
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1137
     1742, 1742, 1742, 1742, 1742, 1742, 1736, 1736, 1736, 1736,
1138
1139
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1140
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1141
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1142
     1736, 1746, 1746, 1746, 1736, 1742, 1742, 1742, 1760, 1742,
1143
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1144
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1145
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1146
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1147
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1148
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1149
1150
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1151
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1152
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1153
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1154
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1155
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1156
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1157
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1158
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1159
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1160
1161
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1162
     1742, 1742, 1742, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1163
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1164
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1165
     1736, 1736, 1736, 1746, 1746, 1746, 1742, 1742, 1742, 1742,
1166
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1167
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1168
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1169
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1170
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1171
1172
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1173
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1174
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1175
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1176
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1177
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1178
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1179
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1180
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1181
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1182
1183
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1184
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1185
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1186
     1736, 1736, 1736, 1736, 1746, 1746, 1746, 1742, 1742, 1742,
1187
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1188
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1189
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1190
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1191
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1192
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1193
1194
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1195
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1196
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1197
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1198
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1199
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1200
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1201
     1742, 1742, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1202
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1203
     1736, 1746, 1746, 1736, 1742, 1742, 1742, 1742, 1742, 1742,
1204
1205
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1206
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1207
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1208
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1209
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1210
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1211
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1212
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1213
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1214
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1215
1216
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1217
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1218
     1736, 1736, 1736, 1746, 1746, 1742, 1742, 1742, 1742, 1742,
1219
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1220
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1221
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1222
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1223
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1224
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1225
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1226
1227
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1228
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1736, 1736, 1736,
1229
     1736, 1736, 1736, 1736, 1746, 1746, 1742, 1742, 1742, 1742,
1230
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1231
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1232
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1233
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1234
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1235
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1236
     1742, 1742, 1742, 1742, 1742, 1742, 1736, 1736, 1736, 1736,
1237
1238
     1736, 1736, 1746, 1746, 1742, 1742, 1742, 1742, 1742, 1742,
1239
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1240
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1241
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1242
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1243
     1746, 1746, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1244
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1245
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1246
     1746, 1746, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1247
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
1248
1249
     1742, 1742, 1746, 1746, 1742, 1742, 1742, 1742, 1742, 1742,
1250
     1742, 1742, 1742, 1742, 1742, 1742, 1746, 1736, 1742, 1742,
1251
     1742, 1742, 1742, 1742, 1742, 1736, 1742, 1742, 1742, 1742,
1252
     1742, 1742, 1742, 1742, 1742,    0, 1736, 1736, 1736, 1736,
1253
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1254
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736
1255
    } ;
1256
1257
static const flex_int16_t yy_nxt[4072] =
1258
    {   0,
1259
       14,   15,   16,   15,   14,   17,   18,   14,   17,   19,
1260
       14,   14,   14,   20,   21,   22,   23,   23,   14,   14,
1261
       14,   24,   25,   26,   27,   28,   29,   30,   31,   32,
1262
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1263
       43,   44,   45,   46,   47,   47,   47,   48,   14,   14,
1264
       14,   14,   24,   25,   26,   27,   28,   29,   30,   31,
1265
       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
1266
       42,   43,   44,   45,   46,   47,   47,   47,   49,   14,
1267
       14,   14,   14,   14,   50,   14,   51,   52,   53,   54,
1268
       55,   56,   51,   57,   58,   51,   51,   51,   51,   59,
1269
1270
       60,   51,   61,   61,   62,   63,   64,   65,   66,   67,
1271
       68,   69,   70,   71,   51,   72,   73,   51,   74,   51,
1272
       75,   76,   51,   51,   77,   78,   79,   80,   51,   81,
1273
       51,   51,   51,   82,   51,   51,   51,   83,   65,   66,
1274
       67,   68,   69,   70,   71,   51,   72,   73,   51,   74,
1275
       51,   75,   76,   51,   51,   77,   78,   79,   80,   51,
1276
       81,   51,   51,   51,   51,   84,   51,   85,   51,   51,
1277
       51,   86,   88,   88,   88,   88,   89,   89,   92,   90,
1278
       90,   93,   92,   96,   96,   93,  103,  107,  103,  108,
1279
      108,  160,   97,   97,  103,  103,  103,  103,  231,  238,
1280
1281
      232,  232,  237,  227,  279,  516,  516,  239,  280,  103,
1282
      103,  103,  103,  298,  299,  310,  310,  300,  300,  311,
1283
      311,   94,  160,  300,  300,   94,   14,   15,   16,   15,
1284
       14,   17,   18,   14,   17,   14,   14,   14,   14,   14,
1285
       47,   98,   14,   14,   14,   14,   14,   47,   47,   99,
1286
       47,  100,   47,   47,   47,   47,   47,   47,   47,  101,
1287
       47,   47,  102,   47,   47,   47,   47,   47,   47,   47,
1288
       47,   47,   47,   14,   14,   14,   14,   14,   47,   47,
1289
       99,   47,  100,   47,   47,   47,   47,   47,   47,   47,
1290
      101,   47,   47,  102,   47,   47,   47,   47,   47,   47,
1291
1292
       47,   47,   47,   47,   14,   14,   14,   14,   14,   14,
1293
       14,   14,  110,  110,  109,  161,  188,  251,  257,  162,
1294
      258,  111, 1726,  510,  116,  280,  108,  108,  467,  467,
1295
      233,  233,  468,  468, 1718,  117,  118, 1294,  119,  234,
1296
     1223,  266,  300,  300,  745,  120,  161,  188,  251,  257,
1297
      162,  258,  111,  112,  112,  112,  112,  112,  112,  112,
1298
      112,  112,  112,  112,  113,  112,  117,  118,  115,  119,
1299
      234,  112,  266,  112,  121,  174,  120,  153,  122,  271,
1300
      134,  154,  123,  135,  136,  155,  138,  139,  140,  175,
1301
      269,  124,  141,  270,  125,  214,  272,  137,  142,  215,
1302
1303
      112,  112,  112,  466,  112,  121,  174,  464,  153,  122,
1304
      271,  134,  154,  123,  135,  136,  155,  138,  139,  140,
1305
      175,  269,  124,  141,  270,  125,  214,  272,  137,  142,
1306
      215,  112,  112,  112,  112,  112,  112,  112,  112,  126,
1307
      286,  127,  143,  634,  128,  129,  144,  287,  130,  302,
1308
      145,  131,  283,  146,  132,  133,  147,  149,  241,  148,
1309
      283,  150,  242,  471,  471,  151,  280,  472,  472,  277,
1310
      126,  286,  127,  143,  152,  128,  129,  144,  287,  130,
1311
      288,  145,  131,  288,  146,  132,  133,  147,  149,  241,
1312
      148,  156,  150,  242,  169,  163,  151,  164,  170,  165,
1313
1314
      157,  158,  171,  166,  243,  152,  167,  159,  292,  176,
1315
      177,  293,  168,  294,  172,  466,  295,  178,  173,  179,
1316
      244,  180,  156,  288,  181,  169,  163,  697,  164,  170,
1317
      165,  157,  158,  171,  166,  243,  464,  167,  159,  292,
1318
      176,  177,  293,  168,  294,  172,  245,  295,  178,  173,
1319
      179,  244,  180,  182,  189,  181,  246,  183,  190,  247,
1320
      312,  184,  191,  208,  185,  317,  320,  186,  192,  462,
1321
      187,  464,  209,  225,  210,  311,  311,  245,  211,  225,
1322
      212,  697,  213,  223,  182,  189,  323,  246,  183,  190,
1323
      247,  312,  184,  191,  208,  185,  317,  320,  186,  192,
1324
1325
      255,  187,  193,  209,  194,  210,  202,  195,  196,  211,
1326
      203,  212,  197,  213,  204,  256,  198,  323,  302,  199,
1327
      205,  200,  466,  206,  201,  235,  106,  232,  232,  301,
1328
      207,  255,  510,  193,  280,  194,  236,  202,  195,  196,
1329
      248,  203,  519,  197,  249,  204,  256,  198,  106,  227,
1330
      199,  205,  200,  259,  206,  201,  216,  217,  250,  262,
1331
      218,  207,  219,  260,  220,  252,  267,  236,  261,  221,
1332
      268,  248,  318,  253,  263,  249,  291,  264,  265,  321,
1333
      227,  290,  254,  319,  259,  322,  283,  216,  217,  250,
1334
      262,  218,  283,  219,  260,  220,  252,  267,  281,  261,
1335
1336
      221,  268,  274,  318,  253,  263,  296,  296,  264,  265,
1337
      321,  275,  324,  254,  319,  297,  322,  276,  116,  326,
1338
      108,  108,  110,  110,  327,  328,  325,  277,  334,  117,
1339
      335,  111,  263,  274,  298,  298,  308,  308,  516,  516,
1340
      311,  311,  275,  324,  240,  309,  297,  230,  276,  336,
1341
      326,  468,  468,  337,  338,  327,  328,  325,  229,  334,
1342
      117,  335,  111,  301,  301,  301,  301,  301,  301,  301,
1343
      301,  301,  301,  301,  301,  301,  309,  329,  304,  228,
1344
      336,  301,  313,  301,  337,  338,  314,  331,  332,  333,
1345
      339,  340,  344,  315,  342,  343,  345,  330,  347,  316,
1346
1347
      346,  350,  348,  351,  356,  341,  349,  357,  329,  358,
1348
      301,  301,  301,  313,  301,  468,  468,  314,  331,  332,
1349
      333,  339,  340,  344,  315,  342,  343,  345,  330,  347,
1350
      316,  346,  350,  348,  351,  356,  341,  349,  357,  227,
1351
      358,  301,  301,  301,  301,  301,  301,  301,  301,  305,
1352
      305,  301,  305,  305,  305,  305,  305,  305,  305,  305,
1353
      305,  305,  359,  363,  307,  472,  472,  305,  352,  305,
1354
      353,  354,  360,  364,  355,  365,  366,  367,  368,  369,
1355
      361,  372,  373,  374,  370,  376,  362,  472,  472,  384,
1356
      375,  395,  226,  359,  363,  371,  305,  305,  305,  352,
1357
1358
      305,  353,  354,  360,  364,  355,  365,  366,  367,  368,
1359
      369,  361,  372,  373,  374,  370,  376,  362,  381,  377,
1360
      384,  375,  395,  382,  383,  389,  371,  305,  305,  305,
1361
      305,  305,  305,  305,  305,  378,  385,  379,  386,  387,
1362
      396,  390,  380,  397,  388,  391,  392,  393,  399,  381,
1363
      377,  398,  400,  394,  382,  383,  389,  401,  402,  403,
1364
      404,  405,  406,  407,  409,  408,  378,  385,  379,  386,
1365
      387,  396,  390,  380,  397,  388,  391,  392,  393,  399,
1366
      410,  411,  398,  400,  394,  417,  426,  225,  401,  402,
1367
      403,  404,  405,  406,  407,  409,  408,  412,  415,  427,
1368
1369
      413,  418,  428,  429,  416,  430,  419,  414,  420,  421,
1370
      223,  410,  411,  434,  422,  435,  417,  426,  423,  424,
1371
      438,  425,  439,  106,  436,  440,  516,  516,  412,  415,
1372
      427,  413,  418,  428,  429,  416,  430,  419,  414,  420,
1373
      421,  431,  432,  446,  434,  422,  435,  441,  437,  423,
1374
      424,  438,  425,  439,  433,  436,  440,  443,  442,  444,
1375
      447,  450,  451,  452,  453,  445,  454,  455,  448,  456,
1376
      457,  458,  431,  432,  446,  459,  460,  461,  441,  437,
1377
      449, 1736,  510,  229,  735,  433,  473, 1736,  443,  442,
1378
      444,  447,  450,  451,  452,  453,  445,  454,  455,  448,
1379
1380
      456,  457,  458,  233,  233,  474,  459,  460,  461,  233,
1381
      233,  449,  234,  235,  229,  232,  232,  473,  234,  469,
1382
      469,  475,  476,  479,  236,  477,  478,  480,  470,  481,
1383
      483,  484,  485,  486,  487,  488,  474,  492,  493,  489,
1384
      494,  495,  482,  234,  490,  496,  497,  498,  499,  234,
1385
      491,  500,  475,  476,  479,  236,  477,  478,  480,  470,
1386
      481,  483,  484,  485,  486,  487,  488,  503,  492,  493,
1387
      489,  494,  495,  482,  504,  490,  496,  497,  498,  499,
1388
      505,  491,  500,  501,  506,  502, 1736,  508,  512,  507,
1389
      521,  521,  514, 1736,  522,  522,  522,  522,  503, 1736,
1390
1391
      296,  296,  522,  522,  515,  504,  517,  518,  277,  297,
1392
     1736,  505,  277,  523,  501,  506,  502,  277,  508,  512,
1393
      507,  104,  104,  514,  104,  104,  104,  104,  104,  104,
1394
      104,  104,  104,  104,  343,  515,  524,  517,  518,  104,
1395
      297,  104,  308,  308,  523,  525,  526,  527,  528,  529,
1396
      530,  309,  513,  531,  532,  533,  534,  535,  536,  537,
1397
      538,  539,  540,  541,  542,  343,  543,  524,  104,  104,
1398
      104, 1736,  104,  699,  699, 1736,  525,  526,  527,  528,
1399
      529,  530,  309,  513,  531,  532,  533,  534,  535,  536,
1400
      537,  538,  539,  540,  541,  542, 1736,  543,  547,  104,
1401
1402
      104,  104,  104,  104,  104,  104,  104,  301,  301,  301,
1403
      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
1404
      544,  548,  304,  699,  699,  301,  549,  301,  545,  547,
1405
      551,  552,  553,  554,  546,  555,  556,  557,  558,  559,
1406
      560,  561,  562,  550,  564,  565,  566,  567,  570,  571,
1407
      563,  544,  548,  572,  301,  301,  301,  549,  301,  545,
1408
     1736,  551,  552,  553,  554,  546,  555,  556,  557,  558,
1409
      559,  560,  561,  562,  550,  564,  565,  566,  567,  570,
1410
      571,  563, 1736,  573,  572,  301,  301,  301,  301,  301,
1411
      301,  301,  301,  305,  305,  301,  305,  305,  305,  305,
1412
1413
      305,  305,  305,  305,  305,  305,  568,  574,  307,  277,
1414
      945,  305,  575,  305,  573,  576,  569,  577,  578,  579,
1415
      580,  582,  583,  584,  581,  585,  586,  587,  590,  588,
1416
      591,  592,  593,  594,  595,  596,  597,  568,  574,  589,
1417
      305,  305,  305,  575,  305, 1736,  576,  569,  577,  578,
1418
      579,  580,  582,  583,  584,  581,  585,  586,  587,  590,
1419
      588,  591,  592,  593,  594,  595,  596,  597, 1736,  598,
1420
      589,  305,  305,  305,  305,  305,  305,  305,  305,  104,
1421
      104,  599,  104,  104,  104,  104,  104,  104,  104,  104,
1422
      104,  104,  600,  612,  613,  277, 1135,  104,  614,  104,
1423
1424
      598,  615,  616,  626,  627,  628,  629,  630,  520,  631,
1425
      632,  633,  599,  635,  636,  637,  639,  640,  641,  638,
1426
     1736,  644,  645,  600,  612,  613,  104,  104,  104,  614,
1427
      104, 1736,  615,  616,  626,  627,  628,  629,  630,  520,
1428
      631,  632,  633,  642,  635,  636,  637,  639,  640,  641,
1429
      638,  643,  644,  645,  646,  650, 1736,  104,  104,  104,
1430
      104,  104,  104,  104,  104,  601,  602, 1736,  603,  648,
1431
      604,  605,  653,  606,  642,  654,  607,  655,  647,  608,
1432
      649,  656,  643,  609,  610,  646,  650,  611, 1736, 1736,
1433
      657, 1736,  658, 1736, 1736,  659,  601,  602,  651,  603,
1434
1435
      648,  604,  605,  653,  606,  652,  654,  607,  655,  647,
1436
      608,  649,  656,  660,  609,  610,  661,  662,  611,  617,
1437
      618,  657,  619,  658,  620,  621,  659,  622,  663,  651,
1438
      664,  665,  668,  666,  669,  670,  652,  623,  624,  671,
1439
      672,  625,  673,  674,  660,  667,  675,  661,  662,  676,
1440
      617,  618,  677,  619,  678,  620,  621,  679,  622,  663,
1441
      680,  664,  665,  668,  666,  669,  670,  681,  623,  624,
1442
      671,  672,  625,  673,  674,  682,  667,  675,  683,  684,
1443
      676,  685,  686,  677,  687,  678,  691,  689,  679,  688,
1444
      692,  680,  690,  694,  695,  696,  469,  469,  681,  698,
1445
1446
      698,  700,  693,  699,  699,  470,  682,  701,  702,  683,
1447
      684,  703,  685,  686,  704,  687,  705,  691,  689,  706,
1448
      688,  692,  707,  690,  694,  695,  696,  708,  709,  710,
1449
      711,  712,  700,  693,  713,  714,  470,  715,  701,  702,
1450
      716,  717,  703,  718,  719,  704,  720,  705,  721,  722,
1451
      706,  723,  724,  707,  725,  726,  727,  728,  708,  709,
1452
      710,  711,  712,  729,  730,  713,  714,  731,  715,  732,
1453
     1736,  716,  717,  734,  718,  719,  733,  720,  277,  721,
1454
      722,  511,  723,  724,  736,  725,  726,  727,  728,  277,
1455
      737,  738,  739,  511,  729,  730,  740,  741,  731,  742,
1456
1457
      732,  277,  743,  744,  734,  746,  747,  733,  748,  749,
1458
      750,  751,  511,  752,  753,  736,  754,  756,  757,  758,
1459
      759,  737,  738,  739,  511,  762,  763,  740,  741,  760,
1460
      742,  764,  765,  743,  744,  755,  746,  747,  761,  748,
1461
      749,  750,  751,  766,  752,  753,  767,  754,  756,  757,
1462
      758,  759,  768,  769,  770,  771,  762,  763,  772,  773,
1463
      760,  774,  764,  765,  775,  776,  755,  777,  778,  761,
1464
      779,  780,  781,  782,  766,  783,  784,  767,  785,  786,
1465
      787,  788,  789,  768,  769,  770,  771,  790,  791,  772,
1466
      773,  792,  774,  793,  794,  775,  776,  795,  777,  778,
1467
1468
      796,  779,  780,  781,  782,  797,  783,  784,  798,  785,
1469
      786,  787,  788,  789,  799,  800,  801,  802,  790,  791,
1470
      803,  806,  792,  804,  793,  794,  807,  808,  795,  809,
1471
      805,  796,  810,  811,  812,  813,  797,  815,  816,  798,
1472
      817,  818,  814,  819,  820,  799,  800,  801,  802,  821,
1473
      822,  803,  806,  823,  804,  827,  828,  807,  808,  829,
1474
      809,  805,  830,  810,  811,  812,  813,  831,  815,  816,
1475
      824,  817,  818,  814,  819,  820,  825,  832,  833,  834,
1476
      821,  822,  835,  836,  823,  837,  827,  828,  826,  838,
1477
      829,  839,  843,  830,  840,  844,  845,  846,  831,  847,
1478
1479
      841,  824,  848,  849,  852,  853,  854,  825,  832,  833,
1480
      834,  850,  842,  835,  836,  851,  837,  855,  856,  826,
1481
      838,  857,  839,  843,  858,  840,  844,  845,  846,  859,
1482
      847,  841,  860,  848,  849,  852,  853,  854,  861,  862,
1483
      863,  864,  850,  842,  865,  866,  851,  869,  855,  856,
1484
      870,  867,  857,  871,  872,  858,  868,  873,  874,  875,
1485
      859,  876,  877,  860,  878,  879,  880,  881,  882,  861,
1486
      862,  863,  864,  883,  884,  865,  866,  885,  869,  886,
1487
      887,  870,  867,  888,  871,  872,  889,  868,  873,  874,
1488
      875,  890,  876,  877,  891,  878,  879,  880,  881,  882,
1489
1490
      892,  893,  894,  895,  883,  884,  898,  900,  885,  896,
1491
      886,  887,  901,  897,  888,  902,  899,  889,  903,  904,
1492
      905,  906,  890,  907,  908,  891,  909,  910,  911,  912,
1493
      913,  892,  893,  894,  895,  914,  915,  898,  900,  916,
1494
      896,  917,  918,  901,  897,  919,  902,  899,  920,  903,
1495
      904,  905,  906,  921,  907,  908,  922,  909,  910,  911,
1496
      912,  913,  923,  924,  925,  926,  914,  915,  927,  928,
1497
      916,  929,  917,  918,  930,  931,  919,  932,  933,  920,
1498
      934,  935,  936,  937,  921,  938,  939,  922,  940,  941,
1499
      942,  943, 1736,  923,  924,  925,  926,  944,  947,  927,
1500
1501
      928,  948,  929,  949,  950,  930,  931,  951,  932,  933,
1502
      946,  934,  935,  936,  937,  952,  938,  939,  953,  940,
1503
      941,  942,  943,  277,  954,  277,  955,  956,  944,  947,
1504
      957,  958,  948,  959,  949,  950,  960,  961,  951,  962,
1505
      963,  946,  964,  965,  966,  968,  952,  967,  969,  953,
1506
      970,  971,  972,  973,  974,  954,  975,  955,  956,  976,
1507
      977,  957,  958,  980,  959,  978,  979,  960,  961,  981,
1508
      962,  963,  982,  964,  965,  966,  968,  983,  967,  969,
1509
      984,  970,  971,  972,  973,  974,  985,  975,  986,  987,
1510
      976,  977,  988,  989,  980,  990,  978,  979,  991,  992,
1511
1512
      981, 1736, 1736,  982,  998,  999, 1000, 1001,  983, 1002,
1513
     1003,  984, 1004, 1005, 1006,  993, 1736,  985, 1012,  986,
1514
      987, 1013, 1736,  988,  989,  994,  990, 1014,  995,  991,
1515
      992, 1736,  996,  997, 1015,  998,  999, 1000, 1001, 1016,
1516
     1002, 1003, 1017, 1004, 1005, 1006,  993, 1007, 1018, 1012,
1517
     1008, 1019, 1013, 1009, 1020, 1021,  994, 1010, 1014,  995,
1518
     1022, 1023, 1011,  996,  997, 1015, 1024, 1025, 1026, 1027,
1519
     1016, 1028, 1029, 1017, 1030, 1031, 1032, 1033, 1007, 1018,
1520
     1034, 1008, 1019, 1035, 1009, 1020, 1021, 1036, 1010, 1037,
1521
     1038, 1022, 1023, 1011, 1039, 1040, 1041, 1024, 1025, 1026,
1522
1523
     1027, 1042, 1028, 1029, 1043, 1030, 1031, 1032, 1033, 1044,
1524
     1045, 1034, 1046, 1047, 1035, 1048, 1049, 1050, 1036, 1051,
1525
     1037, 1038, 1052, 1053, 1054, 1039, 1040, 1041, 1055, 1056,
1526
     1057, 1058, 1042, 1059, 1060, 1043, 1061, 1062, 1063, 1064,
1527
     1044, 1045, 1065, 1046, 1047, 1068, 1048, 1049, 1050, 1066,
1528
     1051, 1069, 1070, 1052, 1053, 1054, 1071, 1074, 1067, 1055,
1529
     1056, 1057, 1058, 1075, 1059, 1060, 1076, 1061, 1062, 1063,
1530
     1064, 1072, 1077, 1065, 1078, 1079, 1068, 1080, 1073, 1081,
1531
     1066, 1085, 1069, 1070, 1086, 1087, 1088, 1071, 1074, 1067,
1532
     1089, 1090, 1091, 1082, 1075, 1083, 1092, 1076, 1093, 1094,
1533
1534
     1095, 1096, 1072, 1077, 1099, 1078, 1079, 1097, 1080, 1073,
1535
     1081, 1084, 1085, 1098, 1100, 1086, 1087, 1088, 1101, 1103,
1536
     1104, 1089, 1090, 1091, 1082, 1105, 1083, 1092, 1102, 1093,
1537
     1094, 1095, 1096, 1106, 1107, 1099, 1108, 1109, 1097, 1110,
1538
     1111, 1112, 1084, 1113, 1098, 1100, 1114, 1115, 1116, 1101,
1539
     1103, 1104, 1117, 1118, 1119, 1120, 1105, 1121, 1122, 1102,
1540
     1123, 1124, 1125, 1126, 1106, 1107, 1127, 1108, 1109, 1128,
1541
     1110, 1111, 1112, 1129, 1113, 1130, 1131, 1114, 1115, 1116,
1542
     1132, 1133, 1134, 1117, 1118, 1119, 1120, 1138, 1121, 1122,
1543
     1136, 1123, 1124, 1125, 1126, 1137, 1139, 1127, 1140, 1141,
1544
1545
     1128, 1142, 1143, 1144, 1129, 1145, 1130, 1131, 1146, 1147,
1546
     1148, 1132, 1133, 1134, 1149, 1150,  277, 1151, 1138,  277,
1547
     1152, 1136, 1153, 1154, 1155, 1156, 1137, 1139, 1157, 1140,
1548
     1141, 1158, 1142, 1143, 1144, 1159, 1145, 1160, 1161, 1146,
1549
     1147, 1148, 1162, 1163, 1164, 1149, 1150, 1165, 1151, 1166,
1550
     1167, 1152, 1168, 1153, 1154, 1155, 1156, 1169, 1170, 1157,
1551
     1171, 1172, 1158, 1173, 1174, 1175, 1159, 1176, 1160, 1161,
1552
     1177, 1178, 1179, 1162, 1163, 1164, 1180, 1181, 1165, 1182,
1553
     1166, 1167, 1183, 1168, 1184, 1185, 1186, 1189, 1169, 1170,
1554
     1190, 1171, 1172, 1191, 1173, 1174, 1175, 1187, 1176, 1192,
1555
1556
     1193, 1177, 1178, 1179, 1194, 1188, 1195, 1180, 1181, 1196,
1557
     1182, 1197, 1198, 1183, 1199, 1184, 1185, 1186, 1189, 1200,
1558
     1201, 1190, 1202, 1203, 1191, 1204, 1205, 1206, 1187, 1207,
1559
     1192, 1193, 1208, 1209, 1210, 1194, 1188, 1195, 1211, 1212,
1560
     1196, 1213, 1197, 1198, 1214, 1199, 1215, 1216, 1217, 1218,
1561
     1200, 1201, 1219, 1202, 1203, 1220, 1204, 1205, 1206, 1221,
1562
     1207, 1222, 1224, 1208, 1209, 1210, 1225, 1226, 1227, 1211,
1563
     1212, 1228, 1213, 1229, 1230, 1214, 1231, 1215, 1216, 1217,
1564
     1218, 1232, 1233, 1219, 1234, 1235, 1220, 1236, 1237, 1238,
1565
     1221, 1239, 1222, 1224, 1240, 1241, 1242, 1225, 1226, 1227,
1566
1567
     1243, 1244, 1228, 1245, 1229, 1230, 1246, 1231, 1247, 1248,
1568
     1249, 1250, 1232, 1233, 1251, 1234, 1235, 1252, 1236, 1237,
1569
     1238, 1255, 1239, 1256, 1257, 1240, 1241, 1242, 1253, 1258,
1570
     1259, 1243, 1244, 1260, 1245, 1261, 1262, 1246, 1263, 1247,
1571
     1248, 1249, 1250, 1264, 1254, 1251, 1265, 1266, 1252, 1267,
1572
     1268, 1269, 1255, 1270, 1256, 1257, 1271, 1272, 1273, 1253,
1573
     1258, 1259, 1274, 1275, 1260, 1276, 1261, 1262, 1277, 1263,
1574
     1278, 1279, 1280, 1281, 1264, 1254, 1282, 1265, 1266, 1283,
1575
     1267, 1268, 1269, 1284, 1270, 1285, 1286, 1271, 1272, 1273,
1576
     1287, 1288, 1289, 1274, 1275, 1290, 1276, 1291, 1292, 1277,
1577
1578
     1295, 1278, 1279, 1280, 1281, 1296, 1293, 1282, 1297, 1298,
1579
     1283, 1299, 1300, 1301, 1284, 1302, 1285, 1286, 1303, 1304,
1580
     1305, 1287, 1288, 1289,  277, 1306, 1290, 1307, 1291, 1292,
1581
      277, 1295, 1308, 1309, 1310, 1311, 1296, 1293, 1312, 1297,
1582
     1298, 1313, 1299, 1300, 1301, 1314, 1302, 1315, 1316, 1303,
1583
     1304, 1305, 1317, 1318, 1319, 1320, 1306, 1321, 1307, 1322,
1584
     1323, 1324, 1325, 1308, 1309, 1310, 1311, 1326, 1327, 1312,
1585
     1328, 1329, 1313, 1330, 1331, 1332, 1314, 1333, 1315, 1316,
1586
     1334, 1335, 1336, 1317, 1318, 1319, 1320, 1337, 1321, 1338,
1587
     1322, 1323, 1324, 1325, 1339, 1340, 1341, 1342, 1326, 1327,
1588
1589
     1343, 1328, 1329, 1344, 1330, 1331, 1332, 1345, 1333, 1346,
1590
     1347, 1334, 1335, 1336, 1348, 1349, 1350, 1351, 1337, 1352,
1591
     1338, 1353, 1354, 1355, 1356, 1339, 1340, 1341, 1342, 1357,
1592
     1358, 1343, 1359, 1360, 1344, 1361, 1362, 1363, 1345, 1364,
1593
     1346, 1347, 1365, 1367, 1366, 1348, 1349, 1350, 1351, 1368,
1594
     1352, 1370, 1353, 1354, 1355, 1356, 1371, 1372, 1373, 1374,
1595
     1357, 1358, 1375, 1359, 1360, 1376, 1361, 1362, 1363, 1369,
1596
     1364, 1377, 1378, 1365, 1367, 1366, 1379, 1380, 1381, 1382,
1597
     1368, 1383, 1370, 1384, 1385, 1386, 1387, 1371, 1372, 1373,
1598
     1374, 1388, 1389, 1375, 1390, 1391, 1376, 1392, 1393, 1394,
1599
1600
     1369, 1395, 1377, 1378, 1396, 1397, 1400, 1379, 1380, 1381,
1601
     1382, 1398, 1383, 1399, 1384, 1385, 1386, 1387, 1401, 1402,
1602
     1403, 1404, 1388, 1389, 1405, 1390, 1391, 1406, 1392, 1393,
1603
     1394, 1407, 1395, 1408, 1409, 1396, 1397, 1400, 1410, 1411,
1604
     1412, 1413, 1398, 1414, 1399, 1415, 1416, 1417, 1418, 1401,
1605
     1402, 1403, 1404, 1419, 1420, 1405, 1421, 1422, 1406, 1423,
1606
     1736, 1426, 1407, 1425, 1408, 1409, 1427, 1424, 1428, 1410,
1607
     1411, 1412, 1413, 1429, 1414, 1430, 1415, 1416, 1417, 1418,
1608
      277, 1431, 1432, 1433, 1419, 1420, 1434, 1421, 1422, 1435,
1609
     1423,  277, 1426, 1436, 1425, 1437, 1438, 1427, 1424, 1428,
1610
1611
     1439, 1440, 1441, 1442, 1429, 1443, 1430, 1444, 1445, 1446,
1612
     1447, 1448, 1431, 1432, 1433, 1449, 1450, 1434, 1451, 1452,
1613
     1435, 1453, 1454, 1455, 1436, 1456, 1437, 1438, 1457, 1458,
1614
     1459, 1439, 1440, 1441, 1442, 1460, 1443, 1461, 1444, 1445,
1615
     1446, 1447, 1448, 1462, 1463, 1464, 1449, 1450, 1465, 1451,
1616
     1452, 1466, 1453, 1454, 1455, 1467, 1456, 1468, 1469, 1457,
1617
     1458, 1459, 1470, 1471, 1472, 1473, 1460, 1474, 1461, 1475,
1618
     1476, 1477, 1478, 1479, 1462, 1463, 1464, 1480, 1481, 1465,
1619
     1482, 1483, 1466, 1484, 1485, 1486, 1467, 1487, 1468, 1469,
1620
     1488, 1489, 1490, 1470, 1471, 1472, 1473, 1491, 1474, 1492,
1621
1622
     1475, 1476, 1477, 1478, 1479, 1493, 1494, 1495, 1480, 1481,
1623
     1496, 1482, 1483, 1497, 1484, 1485, 1486, 1498, 1487, 1499,
1624
     1500, 1488, 1489, 1490, 1501, 1502, 1503, 1504, 1491, 1505,
1625
     1492, 1506, 1507, 1508, 1509, 1510, 1493, 1494, 1495, 1511,
1626
     1512, 1496, 1513, 1514, 1497, 1515, 1516, 1517, 1498, 1518,
1627
     1499, 1500, 1519, 1520, 1521, 1501, 1502, 1503, 1504, 1522,
1628
     1505, 1523, 1506, 1507, 1508, 1509, 1510, 1524, 1527, 1525,
1629
     1511, 1512, 1526, 1513, 1514, 1528, 1515, 1516, 1517, 1529,
1630
     1518, 1530, 1531, 1519, 1520, 1521,  277, 1532, 1533,  277,
1631
     1522, 1534, 1523, 1535, 1536, 1537, 1538, 1539, 1524, 1527,
1632
1633
     1525, 1540, 1541, 1526, 1542, 1543, 1528, 1544, 1545, 1546,
1634
     1529, 1547, 1530, 1531, 1548, 1549, 1550, 1551, 1532, 1533,
1635
     1552, 1553, 1534, 1554, 1535, 1536, 1537, 1538, 1539, 1555,
1636
     1556, 1557, 1540, 1541, 1558, 1542, 1543, 1559, 1544, 1545,
1637
     1546, 1560, 1547, 1561, 1562, 1548, 1549, 1550, 1551, 1563,
1638
     1564, 1552, 1553, 1565, 1554, 1566, 1567, 1568, 1569, 1570,
1639
     1555, 1556, 1557, 1571, 1572, 1558, 1573, 1574, 1559, 1575,
1640
     1576, 1577, 1560, 1578, 1561, 1562, 1579, 1580, 1581, 1582,
1641
     1563, 1564, 1583, 1584, 1565, 1585, 1566, 1567, 1568, 1569,
1642
     1570, 1586, 1587, 1588, 1571, 1572, 1589, 1573, 1574, 1590,
1643
1644
     1575, 1576, 1577, 1591, 1578, 1592, 1593, 1579, 1580, 1581,
1645
     1582, 1594, 1595, 1583, 1584, 1596, 1585, 1597, 1598, 1599,
1646
     1600, 1601, 1586, 1587, 1588, 1602, 1605, 1589, 1603, 1604,
1647
     1590, 1606, 1607, 1608, 1591, 1610, 1592, 1593, 1609,  277,
1648
     1611, 1612, 1594, 1595, 1613,  277, 1596, 1614, 1597, 1598,
1649
     1599, 1600, 1601, 1615, 1616, 1617, 1602, 1605, 1618, 1603,
1650
     1604, 1619, 1606, 1607, 1608, 1620, 1610, 1621, 1622, 1609,
1651
     1623, 1611, 1612, 1624, 1625, 1613, 1626, 1627, 1614, 1628,
1652
     1629, 1630, 1631, 1632, 1615, 1616, 1617, 1633, 1634, 1618,
1653
     1635, 1636, 1619, 1637, 1638, 1639, 1620, 1640, 1621, 1622,
1654
1655
     1641, 1623, 1642, 1643, 1624, 1625, 1644, 1626, 1627, 1645,
1656
     1628, 1629, 1630, 1631, 1632, 1646, 1647, 1648, 1633, 1634,
1657
     1649, 1635, 1636, 1650, 1637, 1638, 1639, 1653, 1640, 1651,
1658
     1652, 1641, 1654, 1642, 1643, 1655, 1656, 1644, 1657,  277,
1659
     1645, 1658, 1659, 1660, 1661, 1662, 1646, 1647, 1648, 1663,
1660
      277, 1649, 1664, 1665, 1650, 1666, 1667, 1668, 1653, 1669,
1661
     1651, 1652, 1670, 1654, 1671, 1672, 1655, 1656, 1673, 1657,
1662
     1674, 1675, 1658, 1659, 1660, 1661, 1662, 1676, 1677, 1678,
1663
     1663, 1679, 1680, 1664, 1665, 1681, 1666, 1667, 1668, 1682,
1664
     1669, 1683,  277, 1670, 1684, 1671, 1672, 1685, 1686, 1673,
1665
1666
     1687, 1674, 1675, 1688, 1689,  277, 1690, 1691, 1676, 1677,
1667
     1678, 1692, 1679, 1680, 1693, 1694, 1681, 1695, 1696, 1697,
1668
     1682, 1698, 1683, 1699, 1700, 1684, 1701, 1702, 1685, 1686,
1669
     1703, 1687, 1704,  277, 1688, 1689, 1705, 1690, 1691, 1706,
1670
     1707, 1708, 1692, 1709, 1710, 1693, 1694, 1711, 1695, 1696,
1671
     1697, 1712, 1698, 1713, 1699, 1700,  277, 1701, 1702, 1714,
1672
     1715, 1703, 1716, 1704, 1717, 1719, 1720, 1705, 1721, 1722,
1673
     1706, 1707, 1708, 1723, 1709, 1710, 1724, 1725, 1711, 1727,
1674
     1728, 1729, 1712, 1730, 1713, 1731, 1732, 1733,  277, 1734,
1675
     1714, 1715, 1735, 1716, 1736, 1717, 1719, 1720, 1736, 1721,
1676
1677
     1722, 1736, 1736, 1736, 1723, 1736, 1736, 1724, 1725, 1736,
1678
     1727, 1728, 1729, 1736, 1730, 1736, 1731, 1732, 1733, 1736,
1679
     1734, 1736, 1736, 1735,   87,   87,   87,   87,   87,   87,
1680
       87,   91,   91,   91,   91,   91,   91,   91,   95,   95,
1681
       95,   95,   95,   95,   95,  104, 1736,  104,  104,  104,
1682
      104,  104,  105, 1736,  105,  105,  105,  105,  105,  114,
1683
      114,  114,  114,  114,  114,  114,  222,  222,  222,  222,
1684
      222,  222,  222,  224, 1736,  224,  224,  224,  224,  224,
1685
      273,  273,  273,  273,  273,  273,  273,  278,  278,  278,
1686
      278,  278,  278,  278,  282,  282,  282,  282,  282,  282,
1687
1688
      282,  284,  284,  284,  284,  284,  284,  284,  285,  285,
1689
     1736, 1736,  285,  285,  289, 1736,  289,  289, 1736,  289,
1690
      289,  301,  301,  301,  301,  301,  301,  301,  303,  303,
1691
      303,  303,  303,  303,  303,  306,  306,  306,  306,  306,
1692
      306,  306,  463,  463, 1736,  463,  463,  463,  463,  465,
1693
      465,  465, 1736,  465,  465,  465,  509,  509,  509,  509,
1694
      509,  509,  509,  511, 1736,  511,  511,  511,  511,  511,
1695
      305,  305,  305,  305,  305,  305,  305,  104, 1736,  104,
1696
      104,  104,  104,  104,   13, 1736, 1736, 1736, 1736, 1736,
1697
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1698
1699
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1700
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1701
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1702
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1703
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1704
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1705
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
1706
     1736
1707
    } ;
1708
1709
static const flex_int16_t yy_chk[4072] =
1710
    {   0,
1711
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1712
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1713
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1714
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1715
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1716
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1717
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1718
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1719
        1,    1,    1,    1,    1,    1,    3,    3,    3,    3,
1720
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1721
1722
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1723
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1724
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1725
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1726
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1727
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1728
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1729
        3,    3,    5,    6,    5,    6,    5,    6,    7,    5,
1730
        6,    7,    8,    9,   10,    8,   15,   20,   15,   20,
1731
       20,   33,    9,   10,   52,   54,   52,   54,   59,   63,
1732
1733
       59,   59,   62,   62,   83,  298,  298,   63,   83,   88,
1734
      103,   88,  103,  111,  111,  117,  117,  111,  111,  117,
1735
      117,    7,   33,  299,  299,    8,   11,   11,   11,   11,
1736
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1737
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1738
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1739
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1740
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1741
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1742
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1743
1744
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1745
       11,   11,   21,   21, 1742,   34,   40,   69,   72,   34,
1746
       73,   21, 1717,  279,   23,  279,   23,   23,  234,  234,
1747
       60,   60,  234,  234, 1704,   23,   24, 1137,   24,   60,
1748
     1051,   77,  300,  300,  528,   24,   34,   40,   69,   72,
1749
       34,   73,   21,   22,   22,   22,   22,   22,   22,   22,
1750
       22,   22,   22,   22,   22,   22,   23,   24,   22,   24,
1751
       60,   22,   77,   22,   25,   37,   24,   31,   25,   80,
1752
       27,   31,   25,   27,   27,   31,   28,   28,   28,   37,
1753
       79,   25,   28,   79,   25,   45,   81,   27,   28,   45,
1754
1755
       22,   22,   22,  465,   22,   25,   37,  463,   31,   25,
1756
       80,   27,   31,   25,   27,   27,   31,   28,   28,   28,
1757
       37,   79,   25,   28,   79,   25,   45,   81,   27,   28,
1758
       45,   22,   22,   22,   22,   22,   22,   22,   22,   26,
1759
       92,   26,   29,  403,   26,   26,   29,   93,   26,  301,
1760
       29,   26,  284,   29,   26,   26,   29,   30,   65,   29,
1761
      282,   30,   65,  236,  236,   30,  278,  236,  236,  273,
1762
       26,   92,   26,   29,   30,   26,   26,   29,   93,   26,
1763
       94,   29,   26,   94,   29,   26,   26,   29,   30,   65,
1764
       29,   32,   30,   65,   36,   35,   30,   35,   36,   35,
1765
1766
       32,   32,   36,   35,   66,   30,   35,   32,   99,   38,
1767
       38,  100,   35,  101,   36,  230,  102,   38,   36,   38,
1768
       66,   38,   32,   94,   38,   36,   35,  464,   35,   36,
1769
       35,   32,   32,   36,   35,   66,  228,   35,   32,   99,
1770
       38,   38,  100,   35,  101,   36,   67,  102,   38,   36,
1771
       38,   66,   38,   39,   41,   38,   67,   39,   41,   67,
1772
      118,   39,   41,   44,   39,  120,  122,   39,   41,  226,
1773
       39,  464,   44,  225,   44,  310,  310,   67,   44,  224,
1774
       44,  466,   44,  222,   39,   41,  124,   67,   39,   41,
1775
       67,  118,   39,   41,   44,   39,  120,  122,   39,   41,
1776
1777
       71,   39,   42,   44,   42,   44,   43,   42,   42,   44,
1778
       43,   44,   42,   44,   43,   71,   42,  124,  112,   42,
1779
       43,   42,  466,   43,   42,   61,  106,   61,   61,  305,
1780
       43,   71,  509,   42,  509,   42,   61,   43,   42,   42,
1781
       68,   43,  305,   42,   68,   43,   71,   42,  105,   75,
1782
       42,   43,   42,   74,   43,   42,   46,   46,   68,   75,
1783
       46,   43,   46,   74,   46,   70,   78,   61,   74,   46,
1784
       78,   68,  121,   70,   76,   68,   98,   76,   76,  123,
1785
       75,   97,   70,  121,   74,  123,   90,   46,   46,   68,
1786
       75,   46,   89,   46,   74,   46,   70,   78,   85,   74,
1787
1788
       46,   78,   82,  121,   70,   76,  107,  107,   76,   76,
1789
      123,   82,  125,   70,  121,  107,  123,   82,  108,  127,
1790
      108,  108,  110,  110,  128,  129,  125,   82,  133,  108,
1791
      134,  110,   84,   82,  297,  297,  116,  116,  297,  297,
1792
      311,  311,   82,  125,   64,  116,  107,   58,   82,  136,
1793
      127,  467,  467,  136,  137,  128,  129,  125,   57,  133,
1794
      108,  134,  110,  114,  114,  114,  114,  114,  114,  114,
1795
      114,  114,  114,  114,  114,  114,  116,  130,  114,   56,
1796
      136,  114,  119,  114,  136,  137,  119,  131,  131,  131,
1797
      138,  139,  141,  119,  140,  140,  142,  130,  143,  119,
1798
1799
      142,  145,  144,  146,  148,  139,  144,  149,  130,  150,
1800
      114,  114,  114,  119,  114,  468,  468,  119,  131,  131,
1801
      131,  138,  139,  141,  119,  140,  140,  142,  130,  143,
1802
      119,  142,  145,  144,  146,  148,  139,  144,  149,   55,
1803
      150,  114,  114,  114,  114,  114,  114,  114,  114,  115,
1804
      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1805
      115,  115,  151,  153,  115,  471,  471,  115,  147,  115,
1806
      147,  147,  152,  154,  147,  155,  156,  157,  158,  158,
1807
      152,  159,  160,  161,  158,  162,  152,  472,  472,  166,
1808
      161,  172,   50,  151,  153,  158,  115,  115,  115,  147,
1809
1810
      115,  147,  147,  152,  154,  147,  155,  156,  157,  158,
1811
      158,  152,  159,  160,  161,  158,  162,  152,  165,  163,
1812
      166,  161,  172,  165,  165,  170,  158,  115,  115,  115,
1813
      115,  115,  115,  115,  115,  163,  169,  163,  169,  169,
1814
      173,  170,  163,  174,  169,  171,  171,  171,  175,  165,
1815
      163,  174,  175,  171,  165,  165,  170,  176,  177,  178,
1816
      179,  180,  181,  182,  183,  182,  163,  169,  163,  169,
1817
      169,  173,  170,  163,  174,  169,  171,  171,  171,  175,
1818
      184,  185,  174,  175,  171,  188,  191,   49,  176,  177,
1819
      178,  179,  180,  181,  182,  183,  182,  186,  187,  192,
1820
1821
      186,  189,  193,  194,  187,  195,  189,  186,  190,  190,
1822
       48,  184,  185,  197,  190,  198,  188,  191,  190,  190,
1823
      200,  190,  201,   19,  199,  202,  516,  516,  186,  187,
1824
      192,  186,  189,  193,  194,  187,  195,  189,  186,  190,
1825
      190,  196,  196,  205,  197,  190,  198,  203,  199,  190,
1826
      190,  200,  190,  201,  196,  199,  202,  204,  203,  204,
1827
      206,  207,  210,  212,  213,  204,  214,  215,  206,  216,
1828
      217,  218,  196,  196,  205,  219,  220,  221,  203,  199,
1829
      206,   13,  510,  241,  510,  196,  242,    0,  204,  203,
1830
      204,  206,  207,  210,  212,  213,  204,  214,  215,  206,
1831
1832
      216,  217,  218,  231,  231,  243,  219,  220,  221,  233,
1833
      233,  206,  231,  232,  241,  232,  232,  242,  233,  235,
1834
      235,  244,  245,  247,  232,  246,  246,  248,  235,  249,
1835
      250,  251,  252,  253,  254,  255,  243,  258,  259,  257,
1836
      260,  262,  249,  231,  257,  264,  265,  266,  267,  233,
1837
      257,  268,  244,  245,  247,  232,  246,  246,  248,  235,
1838
      249,  250,  251,  252,  253,  254,  255,  270,  258,  259,
1839
      257,  260,  262,  249,  271,  257,  264,  265,  266,  267,
1840
      272,  257,  268,  269,  274,  269,    0,  276,  292,  275,
1841
      309,  309,  294,    0,  309,  309,  521,  521,  270,    0,
1842
1843
      296,  296,  522,  522,  295,  271,  302,  304,  276,  296,
1844
        0,  272,  274,  312,  269,  274,  269,  275,  276,  292,
1845
      275,  291,  291,  294,  291,  291,  291,  291,  291,  291,
1846
      291,  291,  291,  291,  293,  295,  313,  302,  304,  291,
1847
      296,  291,  308,  308,  312,  314,  315,  316,  317,  318,
1848
      319,  308,  293,  320,  321,  322,  323,  324,  325,  326,
1849
      327,  328,  329,  330,  331,  293,  332,  313,  291,  291,
1850
      291,    0,  291,  698,  698,    0,  314,  315,  316,  317,
1851
      318,  319,  308,  293,  320,  321,  322,  323,  324,  325,
1852
      326,  327,  328,  329,  330,  331,    0,  332,  335,  291,
1853
1854
      291,  291,  291,  291,  291,  291,  291,  303,  303,  303,
1855
      303,  303,  303,  303,  303,  303,  303,  303,  303,  303,
1856
      333,  336,  303,  699,  699,  303,  337,  303,  333,  335,
1857
      338,  339,  340,  341,  333,  342,  344,  345,  346,  347,
1858
      348,  349,  350,  337,  351,  352,  353,  354,  356,  358,
1859
      350,  333,  336,  359,  303,  303,  303,  337,  303,  333,
1860
        0,  338,  339,  340,  341,  333,  342,  344,  345,  346,
1861
      347,  348,  349,  350,  337,  351,  352,  353,  354,  356,
1862
      358,  350,    0,  360,  359,  303,  303,  303,  303,  303,
1863
      303,  303,  303,  306,  306,  306,  306,  306,  306,  306,
1864
1865
      306,  306,  306,  306,  306,  306,  355,  361,  306,  733,
1866
      733,  306,  362,  306,  360,  363,  355,  364,  365,  367,
1867
      368,  369,  370,  371,  368,  372,  373,  374,  376,  375,
1868
      377,  378,  379,  380,  381,  382,  383,  355,  361,  375,
1869
      306,  306,  306,  362,  306,    0,  363,  355,  364,  365,
1870
      367,  368,  369,  370,  371,  368,  372,  373,  374,  376,
1871
      375,  377,  378,  379,  380,  381,  382,  383,    0,  384,
1872
      375,  306,  306,  306,  306,  306,  306,  306,  306,  307,
1873
      307,  386,  307,  307,  307,  307,  307,  307,  307,  307,
1874
      307,  307,  387,  389,  390,  944,  944,  307,  390,  307,
1875
1876
      384,  391,  392,  394,  395,  396,  397,  398,  307,  399,
1877
      400,  401,  386,  404,  405,  406,  407,  408,  409,  406,
1878
        0,  411,  412,  387,  389,  390,  307,  307,  307,  390,
1879
      307,    0,  391,  392,  394,  395,  396,  397,  398,  307,
1880
      399,  400,  401,  410,  404,  405,  406,  407,  408,  409,
1881
      406,  410,  411,  412,  413,  415,    0,  307,  307,  307,
1882
      307,  307,  307,  307,  307,  388,  388,    0,  388,  414,
1883
      388,  388,  417,  388,  410,  418,  388,  419,  413,  388,
1884
      414,  420,  410,  388,  388,  413,  415,  388,    0,    0,
1885
      421,    0,  422,    0,    0,  423,  388,  388,  416,  388,
1886
1887
      414,  388,  388,  417,  388,  416,  418,  388,  419,  413,
1888
      388,  414,  420,  424,  388,  388,  425,  426,  388,  393,
1889
      393,  421,  393,  422,  393,  393,  423,  393,  427,  416,
1890
      428,  429,  431,  430,  432,  433,  416,  393,  393,  434,
1891
      435,  393,  436,  437,  424,  430,  439,  425,  426,  440,
1892
      393,  393,  441,  393,  442,  393,  393,  443,  393,  427,
1893
      444,  428,  429,  431,  430,  432,  433,  445,  393,  393,
1894
      434,  435,  393,  436,  437,  446,  430,  439,  447,  448,
1895
      440,  449,  450,  441,  451,  442,  453,  452,  443,  451,
1896
      454,  444,  452,  455,  458,  461,  469,  469,  445,  470,
1897
1898
      470,  473,  454,  470,  470,  469,  446,  474,  475,  447,
1899
      448,  476,  449,  450,  477,  451,  478,  453,  452,  479,
1900
      451,  454,  480,  452,  455,  458,  461,  481,  482,  483,
1901
      484,  485,  473,  454,  486,  487,  469,  488,  474,  475,
1902
      489,  490,  476,  491,  492,  477,  493,  478,  494,  496,
1903
      479,  497,  498,  480,  499,  500,  501,  502,  481,  482,
1904
      483,  484,  485,  503,  504,  486,  487,  505,  488,  506,
1905
        0,  489,  490,  508,  491,  492,  507,  493,  506,  494,
1906
      496,  511,  497,  498,  512,  499,  500,  501,  502,  507,
1907
      514,  515,  519,  520,  503,  504,  523,  524,  505,  525,
1908
1909
      506,  508,  526,  527,  508,  529,  530,  507,  531,  532,
1910
      533,  534,  511,  535,  537,  512,  538,  539,  540,  541,
1911
      542,  514,  515,  519,  520,  544,  545,  523,  524,  543,
1912
      525,  546,  547,  526,  527,  538,  529,  530,  543,  531,
1913
      532,  533,  534,  548,  535,  537,  549,  538,  539,  540,
1914
      541,  542,  550,  551,  552,  553,  544,  545,  554,  555,
1915
      543,  556,  546,  547,  557,  558,  538,  559,  560,  543,
1916
      562,  563,  564,  565,  548,  566,  567,  549,  568,  569,
1917
      571,  572,  573,  550,  551,  552,  553,  574,  575,  554,
1918
      555,  576,  556,  577,  578,  557,  558,  579,  559,  560,
1919
1920
      580,  562,  563,  564,  565,  581,  566,  567,  582,  568,
1921
      569,  571,  572,  573,  583,  584,  585,  587,  574,  575,
1922
      588,  590,  576,  589,  577,  578,  591,  592,  579,  593,
1923
      589,  580,  594,  595,  597,  598,  581,  599,  601,  582,
1924
      602,  603,  598,  604,  605,  583,  584,  585,  587,  606,
1925
      607,  588,  590,  608,  589,  610,  611,  591,  592,  612,
1926
      593,  589,  613,  594,  595,  597,  598,  614,  599,  601,
1927
      609,  602,  603,  598,  604,  605,  609,  615,  616,  617,
1928
      606,  607,  618,  619,  608,  620,  610,  611,  609,  621,
1929
      612,  622,  624,  613,  623,  625,  626,  627,  614,  628,
1930
1931
      623,  609,  630,  632,  634,  635,  636,  609,  615,  616,
1932
      617,  633,  623,  618,  619,  633,  620,  637,  638,  609,
1933
      621,  639,  622,  624,  640,  623,  625,  626,  627,  641,
1934
      628,  623,  642,  630,  632,  634,  635,  636,  643,  644,
1935
      645,  646,  633,  623,  647,  648,  633,  650,  637,  638,
1936
      651,  649,  639,  652,  653,  640,  649,  654,  655,  656,
1937
      641,  657,  658,  642,  659,  660,  661,  662,  663,  643,
1938
      644,  645,  646,  664,  665,  647,  648,  666,  650,  667,
1939
      668,  651,  649,  669,  652,  653,  670,  649,  654,  655,
1940
      656,  671,  657,  658,  672,  659,  660,  661,  662,  663,
1941
1942
      673,  674,  675,  676,  664,  665,  679,  681,  666,  677,
1943
      667,  668,  682,  677,  669,  683,  679,  670,  684,  685,
1944
      687,  688,  671,  689,  690,  672,  691,  692,  693,  694,
1945
      695,  673,  674,  675,  676,  701,  702,  679,  681,  703,
1946
      677,  704,  705,  682,  677,  706,  683,  679,  707,  684,
1947
      685,  687,  688,  708,  689,  690,  709,  691,  692,  693,
1948
      694,  695,  710,  711,  712,  713,  701,  702,  714,  715,
1949
      703,  716,  704,  705,  717,  718,  706,  719,  720,  707,
1950
      721,  722,  723,  724,  708,  725,  726,  709,  727,  728,
1951
      730,  731,    0,  710,  711,  712,  713,  732,  736,  714,
1952
1953
      715,  738,  716,  741,  743,  717,  718,  744,  719,  720,
1954
      734,  721,  722,  723,  724,  746,  725,  726,  747,  727,
1955
      728,  730,  731,  734,  749,  732,  750,  751,  732,  736,
1956
      752,  753,  738,  754,  741,  743,  756,  757,  744,  757,
1957
      758,  734,  759,  760,  761,  762,  746,  761,  763,  747,
1958
      764,  765,  767,  768,  769,  749,  770,  750,  751,  773,
1959
      775,  752,  753,  778,  754,  776,  776,  756,  757,  779,
1960
      757,  758,  780,  759,  760,  761,  762,  781,  761,  763,
1961
      782,  764,  765,  767,  768,  769,  783,  770,  784,  786,
1962
      773,  775,  787,  789,  778,  790,  776,  776,  793,  794,
1963
1964
      779,    0,    0,  780,  796,  797,  799,  800,  781,  802,
1965
      803,  782,  804,  805,  806,  795,    0,  783,  809,  784,
1966
      786,  811,    0,  787,  789,  795,  790,  812,  795,  793,
1967
      794,    0,  795,  795,  813,  796,  797,  799,  800,  814,
1968
      802,  803,  815,  804,  805,  806,  795,  807,  816,  809,
1969
      807,  817,  811,  807,  818,  819,  795,  807,  812,  795,
1970
      820,  821,  807,  795,  795,  813,  822,  823,  824,  825,
1971
      814,  826,  827,  815,  828,  829,  830,  831,  807,  816,
1972
      833,  807,  817,  834,  807,  818,  819,  835,  807,  836,
1973
      837,  820,  821,  807,  838,  839,  840,  822,  823,  824,
1974
1975
      825,  841,  826,  827,  842,  828,  829,  830,  831,  843,
1976
      844,  833,  846,  848,  834,  849,  850,  851,  835,  852,
1977
      836,  837,  853,  854,  855,  838,  839,  840,  856,  857,
1978
      858,  859,  841,  860,  861,  842,  862,  863,  864,  865,
1979
      843,  844,  866,  846,  848,  868,  849,  850,  851,  867,
1980
      852,  869,  870,  853,  854,  855,  871,  873,  867,  856,
1981
      857,  858,  859,  874,  860,  861,  875,  862,  863,  864,
1982
      865,  872,  876,  866,  877,  878,  868,  879,  872,  880,
1983
      867,  884,  869,  870,  885,  886,  887,  871,  873,  867,
1984
      888,  889,  891,  883,  874,  883,  892,  875,  893,  894,
1985
1986
      896,  897,  872,  876,  899,  877,  878,  898,  879,  872,
1987
      880,  883,  884,  898,  901,  885,  886,  887,  902,  903,
1988
      904,  888,  889,  891,  883,  907,  883,  892,  902,  893,
1989
      894,  896,  897,  908,  909,  899,  910,  911,  898,  912,
1990
      914,  915,  883,  916,  898,  901,  917,  918,  919,  902,
1991
      903,  904,  920,  921,  922,  923,  907,  924,  926,  902,
1992
      927,  928,  929,  931,  908,  909,  932,  910,  911,  933,
1993
      912,  914,  915,  936,  916,  938,  939,  917,  918,  919,
1994
      940,  941,  943,  920,  921,  922,  923,  947,  924,  926,
1995
      945,  927,  928,  929,  931,  946,  948,  932,  949,  950,
1996
1997
      933,  951,  952,  953,  936,  954,  938,  939,  956,  959,
1998
      961,  940,  941,  943,  962,  963,  945,  964,  947,  946,
1999
      965,  945,  967,  969,  970,  971,  946,  948,  972,  949,
2000
      950,  973,  951,  952,  953,  975,  954,  976,  977,  956,
2001
      959,  961,  978,  980,  982,  962,  963,  983,  964,  985,
2002
      987,  965,  988,  967,  969,  970,  971,  989,  990,  972,
2003
      993,  994,  973,  995,  996,  997,  975,  999,  976,  977,
2004
     1000, 1001, 1002,  978,  980,  982, 1003, 1004,  983, 1005,
2005
      985,  987, 1006,  988, 1007, 1008, 1009, 1011,  989,  990,
2006
     1014,  993,  994, 1015,  995,  996,  997, 1010,  999, 1016,
2007
2008
     1017, 1000, 1001, 1002, 1018, 1010, 1019, 1003, 1004, 1020,
2009
     1005, 1021, 1022, 1006, 1023, 1007, 1008, 1009, 1011, 1024,
2010
     1025, 1014, 1026, 1027, 1015, 1028, 1029, 1030, 1010, 1032,
2011
     1016, 1017, 1034, 1035, 1036, 1018, 1010, 1019, 1037, 1038,
2012
     1020, 1039, 1021, 1022, 1040, 1023, 1041, 1042, 1043, 1044,
2013
     1024, 1025, 1045, 1026, 1027, 1046, 1028, 1029, 1030, 1047,
2014
     1032, 1050, 1052, 1034, 1035, 1036, 1053, 1054, 1055, 1037,
2015
     1038, 1056, 1039, 1057, 1058, 1040, 1063, 1041, 1042, 1043,
2016
     1044, 1064, 1065, 1045, 1066, 1067, 1046, 1068, 1069, 1070,
2017
     1047, 1071, 1050, 1052, 1072, 1073, 1074, 1053, 1054, 1055,
2018
2019
     1075, 1076, 1056, 1078, 1057, 1058, 1079, 1063, 1080, 1081,
2020
     1082, 1083, 1064, 1065, 1084, 1066, 1067, 1085, 1068, 1069,
2021
     1070, 1087, 1071, 1090, 1093, 1072, 1073, 1074, 1086, 1094,
2022
     1095, 1075, 1076, 1096, 1078, 1097, 1098, 1079, 1099, 1080,
2023
     1081, 1082, 1083, 1100, 1086, 1084, 1101, 1102, 1085, 1103,
2024
     1104, 1105, 1087, 1106, 1090, 1093, 1107, 1108, 1113, 1086,
2025
     1094, 1095, 1114, 1115, 1096, 1116, 1097, 1098, 1117, 1099,
2026
     1118, 1119, 1120, 1122, 1100, 1086, 1123, 1101, 1102, 1124,
2027
     1103, 1104, 1105, 1125, 1106, 1126, 1127, 1107, 1108, 1113,
2028
     1129, 1130, 1131, 1114, 1115, 1132, 1116, 1133, 1135, 1117,
2029
2030
     1139, 1118, 1119, 1120, 1122, 1140, 1136, 1123, 1141, 1142,
2031
     1124, 1143, 1144, 1145, 1125, 1146, 1126, 1127, 1147, 1148,
2032
     1149, 1129, 1130, 1131, 1135, 1151, 1132, 1152, 1133, 1135,
2033
     1136, 1139, 1153, 1154, 1156, 1158, 1140, 1136, 1160, 1141,
2034
     1142, 1161, 1143, 1144, 1145, 1162, 1146, 1164, 1165, 1147,
2035
     1148, 1149, 1167, 1168, 1169, 1170, 1151, 1171, 1152, 1172,
2036
     1173, 1174, 1175, 1153, 1154, 1156, 1158, 1177, 1178, 1160,
2037
     1179, 1180, 1161, 1182, 1183, 1184, 1162, 1185, 1164, 1165,
2038
     1186, 1187, 1188, 1167, 1168, 1169, 1170, 1189, 1171, 1190,
2039
     1172, 1173, 1174, 1175, 1192, 1193, 1195, 1196, 1177, 1178,
2040
2041
     1197, 1179, 1180, 1198, 1182, 1183, 1184, 1199, 1185, 1200,
2042
     1201, 1186, 1187, 1188, 1202, 1204, 1205, 1206, 1189, 1207,
2043
     1190, 1208, 1210, 1211, 1212, 1192, 1193, 1195, 1196, 1213,
2044
     1214, 1197, 1215, 1217, 1198, 1218, 1219, 1220, 1199, 1221,
2045
     1200, 1201, 1223, 1225, 1223, 1202, 1204, 1205, 1206, 1226,
2046
     1207, 1227, 1208, 1210, 1211, 1212, 1228, 1230, 1231, 1233,
2047
     1213, 1214, 1235, 1215, 1217, 1236, 1218, 1219, 1220, 1226,
2048
     1221, 1237, 1238, 1223, 1225, 1223, 1239, 1240, 1241, 1242,
2049
     1226, 1243, 1227, 1244, 1245, 1246, 1247, 1228, 1230, 1231,
2050
     1233, 1248, 1249, 1235, 1250, 1251, 1236, 1252, 1253, 1254,
2051
2052
     1226, 1255, 1237, 1238, 1256, 1257, 1259, 1239, 1240, 1241,
2053
     1242, 1258, 1243, 1258, 1244, 1245, 1246, 1247, 1260, 1261,
2054
     1262, 1264, 1248, 1249, 1265, 1250, 1251, 1266, 1252, 1253,
2055
     1254, 1267, 1255, 1268, 1271, 1256, 1257, 1259, 1272, 1273,
2056
     1275, 1278, 1258, 1279, 1258, 1281, 1282, 1283, 1285, 1260,
2057
     1261, 1262, 1264, 1286, 1287, 1265, 1288, 1289, 1266, 1290,
2058
        0, 1296, 1267, 1293, 1268, 1271, 1297, 1292, 1298, 1272,
2059
     1273, 1275, 1278, 1299, 1279, 1300, 1281, 1282, 1283, 1285,
2060
     1293, 1302, 1303, 1304, 1286, 1287, 1305, 1288, 1289, 1306,
2061
     1290, 1292, 1296, 1307, 1293, 1308, 1309, 1297, 1292, 1298,
2062
2063
     1310, 1311, 1313, 1314, 1299, 1315, 1300, 1316, 1317, 1318,
2064
     1319, 1321, 1302, 1303, 1304, 1322, 1323, 1305, 1324, 1326,
2065
     1306, 1327, 1328, 1330, 1307, 1331, 1308, 1309, 1332, 1333,
2066
     1334, 1310, 1311, 1313, 1314, 1335, 1315, 1336, 1316, 1317,
2067
     1318, 1319, 1321, 1337, 1338, 1339, 1322, 1323, 1340, 1324,
2068
     1326, 1341, 1327, 1328, 1330, 1342, 1331, 1343, 1344, 1332,
2069
     1333, 1334, 1345, 1346, 1347, 1348, 1335, 1349, 1336, 1350,
2070
     1354, 1355, 1356, 1357, 1337, 1338, 1339, 1358, 1359, 1340,
2071
     1360, 1361, 1341, 1364, 1365, 1366, 1342, 1367, 1343, 1344,
2072
     1368, 1369, 1370, 1345, 1346, 1347, 1348, 1372, 1349, 1373,
2073
2074
     1350, 1354, 1355, 1356, 1357, 1375, 1376, 1378, 1358, 1359,
2075
     1379, 1360, 1361, 1380, 1364, 1365, 1366, 1382, 1367, 1383,
2076
     1384, 1368, 1369, 1370, 1385, 1386, 1388, 1390, 1372, 1391,
2077
     1373, 1393, 1394, 1395, 1396, 1397, 1375, 1376, 1378, 1398,
2078
     1399, 1379, 1402, 1404, 1380, 1405, 1406, 1410, 1382, 1411,
2079
     1383, 1384, 1413, 1417, 1418, 1385, 1386, 1388, 1390, 1419,
2080
     1391, 1421, 1393, 1394, 1395, 1396, 1397, 1422, 1426, 1424,
2081
     1398, 1399, 1425, 1402, 1404, 1427, 1405, 1406, 1410, 1429,
2082
     1411, 1431, 1433, 1413, 1417, 1418, 1424, 1435, 1436, 1425,
2083
     1419, 1438, 1421, 1440, 1441, 1443, 1444, 1445, 1422, 1426,
2084
2085
     1424, 1446, 1448, 1425, 1452, 1454, 1427, 1455, 1456, 1457,
2086
     1429, 1458, 1431, 1433, 1460, 1461, 1462, 1463, 1435, 1436,
2087
     1464, 1465, 1438, 1466, 1440, 1441, 1443, 1444, 1445, 1467,
2088
     1468, 1469, 1446, 1448, 1470, 1452, 1454, 1472, 1455, 1456,
2089
     1457, 1473, 1458, 1474, 1475, 1460, 1461, 1462, 1463, 1476,
2090
     1477, 1464, 1465, 1478, 1466, 1479, 1480, 1481, 1482, 1483,
2091
     1467, 1468, 1469, 1484, 1485, 1470, 1486, 1487, 1472, 1488,
2092
     1489, 1490, 1473, 1491, 1474, 1475, 1492, 1493, 1494, 1495,
2093
     1476, 1477, 1496, 1497, 1478, 1499, 1479, 1480, 1481, 1482,
2094
     1483, 1501, 1502, 1503, 1484, 1485, 1504, 1486, 1487, 1505,
2095
2096
     1488, 1489, 1490, 1506, 1491, 1507, 1511, 1492, 1493, 1494,
2097
     1495, 1514, 1516, 1496, 1497, 1517, 1499, 1518, 1519, 1520,
2098
     1521, 1522, 1501, 1502, 1503, 1523, 1527, 1504, 1525, 1526,
2099
     1505, 1529, 1530, 1534, 1506, 1535, 1507, 1511, 1534, 1526,
2100
     1539, 1540, 1514, 1516, 1543, 1525, 1517, 1547, 1518, 1519,
2101
     1520, 1521, 1522, 1548, 1549, 1550, 1523, 1527, 1551, 1525,
2102
     1526, 1552, 1529, 1530, 1534, 1555, 1535, 1556, 1557, 1534,
2103
     1558, 1539, 1540, 1559, 1560, 1543, 1561, 1562, 1547, 1564,
2104
     1565, 1566, 1567, 1568, 1548, 1549, 1550, 1569, 1570, 1551,
2105
     1571, 1572, 1552, 1574, 1575, 1576, 1555, 1577, 1556, 1557,
2106
2107
     1578, 1558, 1579, 1581, 1559, 1560, 1584, 1561, 1562, 1585,
2108
     1564, 1565, 1566, 1567, 1568, 1587, 1591, 1593, 1569, 1570,
2109
     1594, 1571, 1572, 1595, 1574, 1575, 1576, 1606, 1577, 1603,
2110
     1604, 1578, 1607, 1579, 1581, 1608, 1609, 1584, 1610, 1603,
2111
     1585, 1611, 1612, 1613, 1615, 1616, 1587, 1591, 1593, 1617,
2112
     1604, 1594, 1618, 1619, 1595, 1624, 1625, 1626, 1606, 1629,
2113
     1603, 1604, 1632, 1607, 1633, 1635, 1608, 1609, 1637, 1610,
2114
     1638, 1639, 1611, 1612, 1613, 1615, 1616, 1640, 1643, 1646,
2115
     1617, 1648, 1649, 1618, 1619, 1651, 1624, 1625, 1626, 1652,
2116
     1629, 1653, 1652, 1632, 1655, 1633, 1635, 1656, 1657, 1637,
2117
2118
     1659, 1638, 1639, 1660, 1661, 1651, 1662, 1663, 1640, 1643,
2119
     1646, 1665, 1648, 1649, 1666, 1667, 1651, 1669, 1670, 1672,
2120
     1652, 1673, 1653, 1677, 1678, 1655, 1679, 1680, 1656, 1657,
2121
     1681, 1659, 1682, 1681, 1660, 1661, 1683, 1662, 1663, 1684,
2122
     1685, 1689, 1665, 1690, 1692, 1666, 1667, 1693, 1669, 1670,
2123
     1672, 1695, 1673, 1699, 1677, 1678, 1682, 1679, 1680, 1700,
2124
     1701, 1681, 1702, 1682, 1703, 1705, 1706, 1683, 1708, 1709,
2125
     1684, 1685, 1689, 1710, 1690, 1692, 1711, 1715, 1693, 1720,
2126
     1721, 1722, 1695, 1725, 1699, 1727, 1728, 1729, 1703, 1732,
2127
     1700, 1701, 1733, 1702,    0, 1703, 1705, 1706,    0, 1708,
2128
2129
     1709,    0,    0,    0, 1710,    0,    0, 1711, 1715,    0,
2130
     1720, 1721, 1722,    0, 1725,    0, 1727, 1728, 1729,    0,
2131
     1732,    0,    0, 1733, 1737, 1737, 1737, 1737, 1737, 1737,
2132
     1737, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1739, 1739,
2133
     1739, 1739, 1739, 1739, 1739, 1740,    0, 1740, 1740, 1740,
2134
     1740, 1740, 1741,    0, 1741, 1741, 1741, 1741, 1741, 1743,
2135
     1743, 1743, 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744,
2136
     1744, 1744, 1744, 1745,    0, 1745, 1745, 1745, 1745, 1745,
2137
     1746, 1746, 1746, 1746, 1746, 1746, 1746, 1747, 1747, 1747,
2138
     1747, 1747, 1747, 1747, 1748, 1748, 1748, 1748, 1748, 1748,
2139
2140
     1748, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1750,
2141
        0,    0, 1750, 1750, 1751,    0, 1751, 1751,    0, 1751,
2142
     1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1753, 1753,
2143
     1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754, 1754,
2144
     1754, 1754, 1755, 1755,    0, 1755, 1755, 1755, 1755, 1756,
2145
     1756, 1756,    0, 1756, 1756, 1756, 1757, 1757, 1757, 1757,
2146
     1757, 1757, 1757, 1758,    0, 1758, 1758, 1758, 1758, 1758,
2147
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1760,    0, 1760,
2148
     1760, 1760, 1760, 1760, 1736, 1736, 1736, 1736, 1736, 1736,
2149
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2150
2151
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2152
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2153
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2154
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2155
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2156
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2157
     1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2158
     1736
2159
    } ;
2160
2161
static yy_state_type yy_last_accepting_state;
2162
static char *yy_last_accepting_cpos;
2163
2164
extern int yy_flex_debug;
2165
int yy_flex_debug = 0;
2166
2167
/* The intent behind this definition is that it'll catch
2168
 * any uses of REJECT which flex missed.
2169
 */
2170
#define REJECT reject_used_but_not_detected
2171
#define yymore() yymore_used_but_not_detected
2172
0
#define YY_MORE_ADJ 0
2173
#define YY_RESTORE_YY_MORE_OFFSET
2174
char *yytext;
2175
#line 1 "src/maplexer.l"
2176
#line 4 "src/maplexer.l"
2177
/*
2178
** READ ME FIRST!
2179
**
2180
** When this file is altered, it is necessary to do "make lexer".  Due to
2181
** problems detailed in #2310 the lexer is no longer automatically rebuilt
2182
** when maplexer.l is altered.
2183
*/
2184
2185
#define YY_NO_INPUT
2186
2187
/* C declarations */
2188
#include <stdlib.h>
2189
#include <stdio.h>
2190
#include <string.h>
2191
#include <math.h>
2192
2193
#include <time.h>
2194
2195
#include "mapserver.h"
2196
#include "maperror.h"
2197
#include "mapfile.h"
2198
#include "maptime.h"
2199
#include "mapsymbol.h"
2200
#include "mapparser.h"
2201
#include "mapprimitive.h"
2202
2203
/* msyylineno is required for flex 2.5.4 and older, but is already defined by
2204
 * flex 2.5.31 (bug 975).
2205
 * Unfortunately there is no clean way to differentiate the two versions,
2206
 * so we use the symbol YY_CURRENT_BUFFER_LVALUE to base our test since it
2207
 * was not present in 2.5.4 and is present in 2.5.31. Hopefully that won't
2208
 * put us in trouble with other versions. If that happens then we can
2209
 * switch to using autoconf to detect the version.
2210
 */
2211
#ifndef YY_CURRENT_BUFFER_LVALUE
2212
int msyylineno = 1;
2213
#endif
2214
2215
#define YY_NO_INPUT
2216
2217
/* Below is a redefinition of the default YY_INPUT() macro but replacing the
2218
 * YY_FATAL_ERROR() macro with a call to msSetError().
2219
 */
2220
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2221
 * is returned in "result".
2222
 */
2223
#define YY_INPUT(buf,result,max_size) \
2224
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2225
0
    { \
2226
0
    int c = '*'; \
2227
0
    int n; \
2228
0
    for ( n = 0; n < max_size && \
2229
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2230
0
      buf[n] = (char) c; \
2231
0
    if ( c == '\n' ) \
2232
0
      buf[n++] = (char) c; \
2233
0
    if ( c == EOF && ferror( yyin ) ) \
2234
0
            msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2235
0
    result = n; \
2236
0
    } \
2237
0
  else \
2238
0
    { \
2239
0
    errno=0; \
2240
0
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2241
0
      { \
2242
0
      if( errno != EINTR) \
2243
0
        { \
2244
0
                msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2245
0
        break; \
2246
0
        } \
2247
0
      errno=0; \
2248
0
      clearerr(yyin); \
2249
0
      } \
2250
0
    }
2251
2252
int msyysource=MS_STRING_TOKENS;
2253
double msyynumber;
2254
int msyystate=MS_TOKENIZE_DEFAULT;
2255
const char *msyystring=NULL;
2256
char *msyybasepath=NULL;
2257
int  msyystring_buffer_size = 0;
2258
int  msyystring_size;
2259
char msyystring_begin;
2260
char *msyystring_buffer = NULL;
2261
int  msyystring_icase = MS_FALSE;
2262
int  msyystring_return_state;
2263
int  msyystring_begin_state;
2264
2265
int msyyreturncomments = 0;
2266
2267
#define MS_LEXER_STRING_REALLOC(string, string_size, max_size)   \
2268
0
  do { \
2269
0
   const int string_size_macro = (int)(string_size); \
2270
0
   if (string_size_macro >= (int)(max_size)) {         \
2271
0
       max_size = (((int)(max_size)*2) > string_size_macro) ? ((int)(max_size))*2 : string_size_macro+1;   \
2272
0
       string = (char *) msSmallRealloc(string, sizeof(char *) * (max_size));  \
2273
0
   } \
2274
0
  } while(0)
2275
2276
#define MS_LEXER_RETURN_TOKEN(token) \
2277
0
   MS_LEXER_STRING_REALLOC(msyystring_buffer, strlen(msyytext),  \
2278
0
                           msyystring_buffer_size); \
2279
0
   strcpy(msyystring_buffer, msyytext); \
2280
0
   return(token); 
2281
2282
0
#define MAX_INCLUDE_DEPTH 5
2283
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
2284
int include_lineno[MAX_INCLUDE_DEPTH];
2285
int include_stack_ptr = 0;
2286
char path[MS_MAXPATHLEN];
2287
2288
#line 2289 "src/maplexer.c"
2289
2290
#line 2291 "src/maplexer.c"
2291
2292
0
#define INITIAL 0
2293
0
#define EXPRESSION_STRING 1
2294
0
#define INCLUDE 2
2295
0
#define MSSTRING 3
2296
0
#define MULTILINE_COMMENT 4
2297
0
#define CONFIG_FILE 5
2298
2299
#ifndef YY_EXTRA_TYPE
2300
#define YY_EXTRA_TYPE void *
2301
#endif
2302
2303
static int yy_init_globals ( void );
2304
2305
/* Accessor methods to globals.
2306
   These are made visible to non-reentrant scanners for convenience. */
2307
2308
int yylex_destroy ( void );
2309
2310
int yyget_debug ( void );
2311
2312
void yyset_debug ( int debug_flag  );
2313
2314
YY_EXTRA_TYPE yyget_extra ( void );
2315
2316
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2317
2318
FILE *yyget_in ( void );
2319
2320
void yyset_in  ( FILE * _in_str  );
2321
2322
FILE *yyget_out ( void );
2323
2324
void yyset_out  ( FILE * _out_str  );
2325
2326
      int yyget_leng ( void );
2327
2328
char *yyget_text ( void );
2329
2330
int yyget_lineno ( void );
2331
2332
void yyset_lineno ( int _line_number  );
2333
2334
/* Macros after this point can all be overridden by user definitions in
2335
 * section 1.
2336
 */
2337
2338
#ifndef YY_SKIP_YYWRAP
2339
#ifdef __cplusplus
2340
extern "C" int yywrap ( void );
2341
#else
2342
extern int yywrap ( void );
2343
#endif
2344
#endif
2345
2346
#ifndef YY_NO_UNPUT
2347
    
2348
    static void yyunput ( int c, char *buf_ptr  );
2349
    
2350
#endif
2351
2352
#ifndef yytext_ptr
2353
static void yy_flex_strncpy ( char *, const char *, int );
2354
#endif
2355
2356
#ifdef YY_NEED_STRLEN
2357
static int yy_flex_strlen ( const char * );
2358
#endif
2359
2360
#ifndef YY_NO_INPUT
2361
#ifdef __cplusplus
2362
static int yyinput ( void );
2363
#else
2364
static int input ( void );
2365
#endif
2366
2367
#endif
2368
2369
/* Amount of stuff to slurp up with each read. */
2370
#ifndef YY_READ_BUF_SIZE
2371
#ifdef __ia64__
2372
/* On IA-64, the buffer size is 16k, not 8k */
2373
#define YY_READ_BUF_SIZE 16384
2374
#else
2375
0
#define YY_READ_BUF_SIZE 8192
2376
#endif /* __ia64__ */
2377
#endif
2378
2379
/* Copy whatever the last rule matched to the standard output. */
2380
#ifndef ECHO
2381
/* This used to be an fputs(), but since the string might contain NUL's,
2382
 * we now use fwrite().
2383
 */
2384
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2385
#endif
2386
2387
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2388
 * is returned in "result".
2389
 */
2390
#ifndef YY_INPUT
2391
#define YY_INPUT(buf,result,max_size) \
2392
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2393
    { \
2394
    int c = '*'; \
2395
    int n; \
2396
    for ( n = 0; n < max_size && \
2397
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2398
      buf[n] = (char) c; \
2399
    if ( c == '\n' ) \
2400
      buf[n++] = (char) c; \
2401
    if ( c == EOF && ferror( yyin ) ) \
2402
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
2403
    result = n; \
2404
    } \
2405
  else \
2406
    { \
2407
    errno=0; \
2408
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2409
      { \
2410
      if( errno != EINTR) \
2411
        { \
2412
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
2413
        break; \
2414
        } \
2415
      errno=0; \
2416
      clearerr(yyin); \
2417
      } \
2418
    }\
2419
\
2420
2421
#endif
2422
2423
/* No semi-colon after return; correct usage is to write "yyterminate();" -
2424
 * we don't want an extra ';' after the "return" because that will cause
2425
 * some compilers to complain about unreachable statements.
2426
 */
2427
#ifndef yyterminate
2428
0
#define yyterminate() return YY_NULL
2429
#endif
2430
2431
/* Number of entries by which start-condition stack grows. */
2432
#ifndef YY_START_STACK_INCR
2433
#define YY_START_STACK_INCR 25
2434
#endif
2435
2436
/* Report a fatal error. */
2437
#ifndef YY_FATAL_ERROR
2438
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2439
#endif
2440
2441
/* end tables serialization structures and prototypes */
2442
2443
/* Default declaration of generated scanner - a define so the user can
2444
 * easily add parameters.
2445
 */
2446
#ifndef YY_DECL
2447
#define YY_DECL_IS_OURS 1
2448
2449
extern int yylex (void);
2450
2451
#define YY_DECL int yylex (void)
2452
#endif /* !YY_DECL */
2453
2454
/* Code executed at the beginning of each rule, after yytext and yyleng
2455
 * have been set up.
2456
 */
2457
#ifndef YY_USER_ACTION
2458
#define YY_USER_ACTION
2459
#endif
2460
2461
/* Code executed at the end of each rule. */
2462
#ifndef YY_BREAK
2463
0
#define YY_BREAK /*LINTED*/break;
2464
#endif
2465
2466
#define YY_RULE_SETUP \
2467
  YY_USER_ACTION
2468
2469
/** The main scanner function which does all the work.
2470
 */
2471
YY_DECL
2472
0
{
2473
0
  yy_state_type yy_current_state;
2474
0
  char *yy_cp, *yy_bp;
2475
0
  int yy_act;
2476
    
2477
0
  if ( !(yy_init) )
2478
0
    {
2479
0
    (yy_init) = 1;
2480
2481
#ifdef YY_USER_INIT
2482
    YY_USER_INIT;
2483
#endif
2484
2485
0
    if ( ! (yy_start) )
2486
0
      (yy_start) = 1; /* first start state */
2487
2488
0
    if ( ! yyin )
2489
0
      yyin = stdin;
2490
2491
0
    if ( ! yyout )
2492
0
      yyout = stdout;
2493
2494
0
    if ( ! YY_CURRENT_BUFFER ) {
2495
0
      yyensure_buffer_stack ();
2496
0
      YY_CURRENT_BUFFER_LVALUE =
2497
0
        yy_create_buffer( yyin, YY_BUF_SIZE );
2498
0
    }
2499
2500
0
    yy_load_buffer_state(  );
2501
0
    }
2502
2503
0
  {
2504
0
#line 123 "src/maplexer.l"
2505
2506
0
#line 125 "src/maplexer.l"
2507
0
       if (msyystring_buffer == NULL)
2508
0
       {
2509
0
           msyystring_buffer_size = 256;
2510
0
           msyystring_buffer = (char*) msSmallMalloc(sizeof(char) * msyystring_buffer_size);
2511
0
       }
2512
2513
0
       msyystring_buffer[0] = '\0';
2514
0
       switch(msyystate) {
2515
0
       case(MS_TOKENIZE_DEFAULT):
2516
0
         (void) yyunput; /* just to avoid warning about it being unrefed */ 
2517
0
         break;
2518
0
       case(MS_TOKENIZE_FILE):
2519
0
         BEGIN(INITIAL);
2520
0
         msyystring_begin_state = INITIAL;
2521
0
         msyysource=MS_FILE_TOKENS;
2522
0
         msyystate=MS_TOKENIZE_DEFAULT;
2523
0
         msyystring=NULL;
2524
0
         msyyreturncomments=0;
2525
0
         include_stack_ptr=0;
2526
0
         return(0);
2527
0
         break;
2528
0
       case(MS_TOKENIZE_STRING):
2529
0
         BEGIN(INITIAL);
2530
0
         msyystring_begin_state = INITIAL;
2531
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2532
0
         msyy_scan_string(msyystring);
2533
0
         msyysource=MS_STRING_TOKENS;
2534
0
         msyystate=MS_TOKENIZE_DEFAULT;
2535
0
         msyyin=NULL;
2536
0
         msyyreturncomments=0;
2537
0
         include_stack_ptr=0;
2538
0
         return(0);
2539
0
         break;
2540
0
       case(MS_TOKENIZE_EXPRESSION):
2541
0
         BEGIN(EXPRESSION_STRING);
2542
0
         msyystring_begin_state = EXPRESSION_STRING;
2543
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2544
0
         msyy_scan_string(msyystring);
2545
0
         msyystate=MS_TOKENIZE_DEFAULT;
2546
0
         msyyreturncomments=0;
2547
0
         break;
2548
0
       case(MS_TOKENIZE_CONFIG):
2549
0
         BEGIN(CONFIG_FILE);
2550
0
         msyystring_begin_state = CONFIG_FILE;
2551
0
         msyysource=MS_FILE_TOKENS;
2552
0
         msyystate=MS_TOKENIZE_DEFAULT;
2553
0
         msyystring=NULL;
2554
0
         msyyreturncomments=0;
2555
0
         return(0);
2556
0
         break;
2557
0
       case(99):
2558
0
         BEGIN(INITIAL); /* may not need this one */
2559
0
         msyystring_begin_state = INITIAL;
2560
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2561
0
         msyystate=MS_TOKENIZE_DEFAULT;
2562
0
         msyystring=NULL;
2563
0
         msyyreturncomments=0; 
2564
0
         return(0);
2565
0
         break;
2566
0
       default:
2567
0
         break;
2568
0
       }
2569
2570
0
#line 2571 "src/maplexer.c"
2571
2572
0
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
2573
0
    {
2574
0
    yy_cp = (yy_c_buf_p);
2575
2576
    /* Support of yytext. */
2577
0
    *yy_cp = (yy_hold_char);
2578
2579
    /* yy_bp points to the position in yy_ch_buf of the start of
2580
     * the current run.
2581
     */
2582
0
    yy_bp = yy_cp;
2583
2584
0
    yy_current_state = (yy_start);
2585
0
yy_match:
2586
0
    do
2587
0
      {
2588
0
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2589
0
      if ( yy_accept[yy_current_state] )
2590
0
        {
2591
0
        (yy_last_accepting_state) = yy_current_state;
2592
0
        (yy_last_accepting_cpos) = yy_cp;
2593
0
        }
2594
0
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2595
0
        {
2596
0
        yy_current_state = (int) yy_def[yy_current_state];
2597
0
        if ( yy_current_state >= 1737 )
2598
0
          yy_c = yy_meta[yy_c];
2599
0
        }
2600
0
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2601
0
      ++yy_cp;
2602
0
      }
2603
0
    while ( yy_current_state != 1736 );
2604
0
    yy_cp = (yy_last_accepting_cpos);
2605
0
    yy_current_state = (yy_last_accepting_state);
2606
2607
0
yy_find_action:
2608
0
    yy_act = yy_accept[yy_current_state];
2609
2610
0
    YY_DO_BEFORE_ACTION;
2611
2612
0
do_action:  /* This label is used only to access EOF actions. */
2613
2614
0
    switch ( yy_act )
2615
0
  { /* beginning of action switch */
2616
0
      case 0: /* must back up */
2617
      /* undo the effects of YY_DO_BEFORE_ACTION */
2618
0
      *yy_cp = (yy_hold_char);
2619
0
      yy_cp = (yy_last_accepting_cpos);
2620
0
      yy_current_state = (yy_last_accepting_state);
2621
0
      goto yy_find_action;
2622
2623
0
case 1:
2624
0
YY_RULE_SETUP
2625
0
#line 188 "src/maplexer.l"
2626
0
;
2627
0
  YY_BREAK
2628
0
case 2:
2629
0
YY_RULE_SETUP
2630
0
#line 190 "src/maplexer.l"
2631
0
{ if (msyyreturncomments) return(MS_COMMENT); }
2632
0
  YY_BREAK
2633
0
case 3:
2634
0
YY_RULE_SETUP
2635
0
#line 192 "src/maplexer.l"
2636
0
{ BEGIN(MULTILINE_COMMENT); }
2637
0
  YY_BREAK
2638
0
case 4:
2639
0
YY_RULE_SETUP
2640
0
#line 193 "src/maplexer.l"
2641
0
{ BEGIN(INITIAL); }
2642
0
  YY_BREAK
2643
0
case 5:
2644
0
YY_RULE_SETUP
2645
0
#line 194 "src/maplexer.l"
2646
0
;
2647
0
  YY_BREAK
2648
0
case 6:
2649
0
YY_RULE_SETUP
2650
0
#line 195 "src/maplexer.l"
2651
0
;
2652
0
  YY_BREAK
2653
0
case 7:
2654
/* rule 7 can match eol */
2655
0
YY_RULE_SETUP
2656
0
#line 196 "src/maplexer.l"
2657
0
{ msyylineno++; }
2658
0
  YY_BREAK
2659
0
case 8:
2660
0
YY_RULE_SETUP
2661
0
#line 198 "src/maplexer.l"
2662
0
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION); }
2663
0
  YY_BREAK
2664
0
case 9:
2665
0
YY_RULE_SETUP
2666
0
#line 199 "src/maplexer.l"
2667
0
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_ENV); }
2668
0
  YY_BREAK
2669
0
case 10:
2670
0
YY_RULE_SETUP
2671
0
#line 200 "src/maplexer.l"
2672
0
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_MAPS); }
2673
0
  YY_BREAK
2674
0
case 11:
2675
0
YY_RULE_SETUP
2676
0
#line 201 "src/maplexer.l"
2677
0
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_PLUGINS) }
2678
0
  YY_BREAK
2679
0
case 12:
2680
0
YY_RULE_SETUP
2681
0
#line 203 "src/maplexer.l"
2682
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_OR); }
2683
0
  YY_BREAK
2684
0
case 13:
2685
0
YY_RULE_SETUP
2686
0
#line 204 "src/maplexer.l"
2687
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_AND); }
2688
0
  YY_BREAK
2689
0
case 14:
2690
0
YY_RULE_SETUP
2691
0
#line 205 "src/maplexer.l"
2692
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_NOT); }
2693
0
  YY_BREAK
2694
0
case 15:
2695
0
YY_RULE_SETUP
2696
0
#line 206 "src/maplexer.l"
2697
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQ); }
2698
0
  YY_BREAK
2699
0
case 16:
2700
0
YY_RULE_SETUP
2701
0
#line 207 "src/maplexer.l"
2702
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_NE); }
2703
0
  YY_BREAK
2704
0
case 17:
2705
0
YY_RULE_SETUP
2706
0
#line 208 "src/maplexer.l"
2707
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GT); }
2708
0
  YY_BREAK
2709
0
case 18:
2710
0
YY_RULE_SETUP
2711
0
#line 209 "src/maplexer.l"
2712
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LT); }
2713
0
  YY_BREAK
2714
0
case 19:
2715
0
YY_RULE_SETUP
2716
0
#line 210 "src/maplexer.l"
2717
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GE); }
2718
0
  YY_BREAK
2719
0
case 20:
2720
0
YY_RULE_SETUP
2721
0
#line 211 "src/maplexer.l"
2722
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LE); }
2723
0
  YY_BREAK
2724
0
case 21:
2725
0
YY_RULE_SETUP
2726
0
#line 212 "src/maplexer.l"
2727
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_RE); }
2728
0
  YY_BREAK
2729
0
case 22:
2730
0
YY_RULE_SETUP
2731
0
#line 214 "src/maplexer.l"
2732
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IEQ); }
2733
0
  YY_BREAK
2734
0
case 23:
2735
0
YY_RULE_SETUP
2736
0
#line 215 "src/maplexer.l"
2737
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IRE); }
2738
0
  YY_BREAK
2739
0
case 24:
2740
0
YY_RULE_SETUP
2741
0
#line 217 "src/maplexer.l"
2742
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IN); /* was IN */ }
2743
0
  YY_BREAK
2744
0
case 25:
2745
0
YY_RULE_SETUP
2746
0
#line 219 "src/maplexer.l"
2747
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_AREA); }
2748
0
  YY_BREAK
2749
0
case 26:
2750
0
YY_RULE_SETUP
2751
0
#line 220 "src/maplexer.l"
2752
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LENGTH); }
2753
0
  YY_BREAK
2754
0
case 27:
2755
0
YY_RULE_SETUP
2756
0
#line 221 "src/maplexer.l"
2757
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_TOSTRING); }
2758
0
  YY_BREAK
2759
0
case 28:
2760
0
YY_RULE_SETUP
2761
0
#line 222 "src/maplexer.l"
2762
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_COMMIFY); }
2763
0
  YY_BREAK
2764
0
case 29:
2765
0
YY_RULE_SETUP
2766
0
#line 223 "src/maplexer.l"
2767
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_ROUND); }
2768
0
  YY_BREAK
2769
0
case 30:
2770
0
YY_RULE_SETUP
2771
0
#line 224 "src/maplexer.l"
2772
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_UPPER); }
2773
0
  YY_BREAK
2774
0
case 31:
2775
0
YY_RULE_SETUP
2776
0
#line 225 "src/maplexer.l"
2777
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LOWER); }
2778
0
  YY_BREAK
2779
0
case 32:
2780
0
YY_RULE_SETUP
2781
0
#line 226 "src/maplexer.l"
2782
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INITCAP); }
2783
0
  YY_BREAK
2784
0
case 33:
2785
0
YY_RULE_SETUP
2786
0
#line 227 "src/maplexer.l"
2787
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FIRSTCAP); }
2788
0
  YY_BREAK
2789
0
case 34:
2790
0
YY_RULE_SETUP
2791
0
#line 229 "src/maplexer.l"
2792
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_BUFFER); }
2793
0
  YY_BREAK
2794
0
case 35:
2795
0
YY_RULE_SETUP
2796
0
#line 230 "src/maplexer.l"
2797
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DIFFERENCE); }
2798
0
  YY_BREAK
2799
0
case 36:
2800
0
YY_RULE_SETUP
2801
0
#line 231 "src/maplexer.l"
2802
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFY); }
2803
0
  YY_BREAK
2804
0
case 37:
2805
0
YY_RULE_SETUP
2806
0
#line 232 "src/maplexer.l"
2807
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFYPT); }
2808
0
  YY_BREAK
2809
0
case 38:
2810
0
YY_RULE_SETUP
2811
0
#line 233 "src/maplexer.l"
2812
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_GENERALIZE); }
2813
0
  YY_BREAK
2814
0
case 39:
2815
0
YY_RULE_SETUP
2816
0
#line 234 "src/maplexer.l"
2817
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SMOOTHSIA); }
2818
0
  YY_BREAK
2819
0
case 40:
2820
0
YY_RULE_SETUP
2821
0
#line 235 "src/maplexer.l"
2822
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_CENTERLINE); }
2823
0
  YY_BREAK
2824
0
case 41:
2825
0
YY_RULE_SETUP
2826
0
#line 236 "src/maplexer.l"
2827
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DENSIFY); }
2828
0
  YY_BREAK
2829
0
case 42:
2830
0
YY_RULE_SETUP
2831
0
#line 237 "src/maplexer.l"
2832
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_OUTER); }
2833
0
  YY_BREAK
2834
0
case 43:
2835
0
YY_RULE_SETUP
2836
0
#line 238 "src/maplexer.l"
2837
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INNER); } 
2838
0
  YY_BREAK
2839
0
case 44:
2840
0
YY_RULE_SETUP
2841
0
#line 239 "src/maplexer.l"
2842
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_JAVASCRIPT); }
2843
0
  YY_BREAK
2844
0
case 45:
2845
0
YY_RULE_SETUP
2846
0
#line 241 "src/maplexer.l"
2847
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_INTERSECTS); }
2848
0
  YY_BREAK
2849
0
case 46:
2850
0
YY_RULE_SETUP
2851
0
#line 242 "src/maplexer.l"
2852
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DISJOINT); }
2853
0
  YY_BREAK
2854
0
case 47:
2855
0
YY_RULE_SETUP
2856
0
#line 243 "src/maplexer.l"
2857
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_TOUCHES); }
2858
0
  YY_BREAK
2859
0
case 48:
2860
0
YY_RULE_SETUP
2861
0
#line 244 "src/maplexer.l"
2862
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_OVERLAPS); }
2863
0
  YY_BREAK
2864
0
case 49:
2865
0
YY_RULE_SETUP
2866
0
#line 245 "src/maplexer.l"
2867
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CROSSES); }
2868
0
  YY_BREAK
2869
0
case 50:
2870
0
YY_RULE_SETUP
2871
0
#line 246 "src/maplexer.l"
2872
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_WITHIN); }
2873
0
  YY_BREAK
2874
0
case 51:
2875
0
YY_RULE_SETUP
2876
0
#line 247 "src/maplexer.l"
2877
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CONTAINS); }
2878
0
  YY_BREAK
2879
0
case 52:
2880
0
YY_RULE_SETUP
2881
0
#line 248 "src/maplexer.l"
2882
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQUALS); }
2883
0
  YY_BREAK
2884
0
case 53:
2885
0
YY_RULE_SETUP
2886
0
#line 249 "src/maplexer.l"
2887
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_BEYOND); }
2888
0
  YY_BREAK
2889
0
case 54:
2890
0
YY_RULE_SETUP
2891
0
#line 250 "src/maplexer.l"
2892
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DWITHIN); }
2893
0
  YY_BREAK
2894
0
case 55:
2895
0
YY_RULE_SETUP
2896
0
#line 252 "src/maplexer.l"
2897
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FROMTEXT); }
2898
0
  YY_BREAK
2899
0
case 56:
2900
0
YY_RULE_SETUP
2901
0
#line 254 "src/maplexer.l"
2902
0
{ msyynumber=MS_TRUE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2903
0
  YY_BREAK
2904
0
case 57:
2905
0
YY_RULE_SETUP
2906
0
#line 255 "src/maplexer.l"
2907
0
{ msyynumber=MS_FALSE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2908
0
  YY_BREAK
2909
0
case 58:
2910
0
YY_RULE_SETUP
2911
0
#line 257 "src/maplexer.l"
2912
0
{ MS_LEXER_RETURN_TOKEN(COLORRANGE); }
2913
0
  YY_BREAK
2914
0
case 59:
2915
0
YY_RULE_SETUP
2916
0
#line 258 "src/maplexer.l"
2917
0
{ MS_LEXER_RETURN_TOKEN(DATARANGE); }
2918
0
  YY_BREAK
2919
0
case 60:
2920
0
YY_RULE_SETUP
2921
0
#line 259 "src/maplexer.l"
2922
0
{ MS_LEXER_RETURN_TOKEN(RANGEITEM); }
2923
0
  YY_BREAK
2924
0
case 61:
2925
0
YY_RULE_SETUP
2926
0
#line 261 "src/maplexer.l"
2927
0
{ MS_LEXER_RETURN_TOKEN(ALIGN); }
2928
0
  YY_BREAK
2929
0
case 62:
2930
0
YY_RULE_SETUP
2931
0
#line 262 "src/maplexer.l"
2932
0
{ MS_LEXER_RETURN_TOKEN(ANCHORPOINT); }
2933
0
  YY_BREAK
2934
0
case 63:
2935
0
YY_RULE_SETUP
2936
0
#line 263 "src/maplexer.l"
2937
0
{ MS_LEXER_RETURN_TOKEN(ANGLE); }
2938
0
  YY_BREAK
2939
0
case 64:
2940
0
YY_RULE_SETUP
2941
0
#line 264 "src/maplexer.l"
2942
0
{ MS_LEXER_RETURN_TOKEN(ANTIALIAS); }
2943
0
  YY_BREAK
2944
0
case 65:
2945
0
YY_RULE_SETUP
2946
0
#line 265 "src/maplexer.l"
2947
0
{ MS_LEXER_RETURN_TOKEN(BACKGROUNDCOLOR); }
2948
0
  YY_BREAK
2949
0
case 66:
2950
0
YY_RULE_SETUP
2951
0
#line 266 "src/maplexer.l"
2952
0
{ MS_LEXER_RETURN_TOKEN(BANDSITEM); }
2953
0
  YY_BREAK
2954
0
case 67:
2955
0
YY_RULE_SETUP
2956
0
#line 267 "src/maplexer.l"
2957
0
{ MS_LEXER_RETURN_TOKEN(BINDVALS); }
2958
0
  YY_BREAK
2959
0
case 68:
2960
0
YY_RULE_SETUP
2961
0
#line 268 "src/maplexer.l"
2962
0
{ MS_LEXER_RETURN_TOKEN(BOM); }
2963
0
  YY_BREAK
2964
0
case 69:
2965
0
YY_RULE_SETUP
2966
0
#line 269 "src/maplexer.l"
2967
0
{ MS_LEXER_RETURN_TOKEN(BROWSEFORMAT); }
2968
0
  YY_BREAK
2969
0
case 70:
2970
0
YY_RULE_SETUP
2971
0
#line 270 "src/maplexer.l"
2972
0
{ MS_LEXER_RETURN_TOKEN(BUFFER); }
2973
0
  YY_BREAK
2974
0
case 71:
2975
0
YY_RULE_SETUP
2976
0
#line 271 "src/maplexer.l"
2977
0
{ MS_LEXER_RETURN_TOKEN(CHARACTER); }
2978
0
  YY_BREAK
2979
0
case 72:
2980
0
YY_RULE_SETUP
2981
0
#line 272 "src/maplexer.l"
2982
0
{ MS_LEXER_RETURN_TOKEN(CLASS); }
2983
0
  YY_BREAK
2984
0
case 73:
2985
0
YY_RULE_SETUP
2986
0
#line 273 "src/maplexer.l"
2987
0
{ MS_LEXER_RETURN_TOKEN(CLASSITEM); }
2988
0
  YY_BREAK
2989
0
case 74:
2990
0
YY_RULE_SETUP
2991
0
#line 274 "src/maplexer.l"
2992
0
{ MS_LEXER_RETURN_TOKEN(CLASSGROUP); }
2993
0
  YY_BREAK
2994
0
case 75:
2995
0
YY_RULE_SETUP
2996
0
#line 275 "src/maplexer.l"
2997
0
{ MS_LEXER_RETURN_TOKEN(CLUSTER); }
2998
0
  YY_BREAK
2999
0
case 76:
3000
0
YY_RULE_SETUP
3001
0
#line 276 "src/maplexer.l"
3002
0
{ MS_LEXER_RETURN_TOKEN(COLOR); }
3003
0
  YY_BREAK
3004
0
case 77:
3005
0
YY_RULE_SETUP
3006
0
#line 277 "src/maplexer.l"
3007
0
{ MS_LEXER_RETURN_TOKEN(COMPFILTER); }
3008
0
  YY_BREAK
3009
0
case 78:
3010
0
YY_RULE_SETUP
3011
0
#line 278 "src/maplexer.l"
3012
0
{ MS_LEXER_RETURN_TOKEN(COMPOSITE); }
3013
0
  YY_BREAK
3014
0
case 79:
3015
0
YY_RULE_SETUP
3016
0
#line 279 "src/maplexer.l"
3017
0
{ MS_LEXER_RETURN_TOKEN(COMPOP); }
3018
0
  YY_BREAK
3019
0
case 80:
3020
0
YY_RULE_SETUP
3021
0
#line 280 "src/maplexer.l"
3022
0
{ MS_LEXER_RETURN_TOKEN(CONFIG); }
3023
0
  YY_BREAK
3024
0
case 81:
3025
0
YY_RULE_SETUP
3026
0
#line 281 "src/maplexer.l"
3027
0
{ MS_LEXER_RETURN_TOKEN(CONNECTION); }
3028
0
  YY_BREAK
3029
0
case 82:
3030
0
YY_RULE_SETUP
3031
0
#line 282 "src/maplexer.l"
3032
0
{ MS_LEXER_RETURN_TOKEN(CONNECTIONTYPE); }
3033
0
  YY_BREAK
3034
0
case 83:
3035
0
YY_RULE_SETUP
3036
0
#line 283 "src/maplexer.l"
3037
0
{ MS_LEXER_RETURN_TOKEN(DATA); }
3038
0
  YY_BREAK
3039
0
case 84:
3040
0
YY_RULE_SETUP
3041
0
#line 284 "src/maplexer.l"
3042
0
{ MS_LEXER_RETURN_TOKEN(DEBUG); }
3043
0
  YY_BREAK
3044
0
case 85:
3045
0
YY_RULE_SETUP
3046
0
#line 285 "src/maplexer.l"
3047
0
{ MS_LEXER_RETURN_TOKEN(DRIVER); }
3048
0
  YY_BREAK
3049
0
case 86:
3050
0
YY_RULE_SETUP
3051
0
#line 286 "src/maplexer.l"
3052
0
{ MS_LEXER_RETURN_TOKEN(EMPTY); }
3053
0
  YY_BREAK
3054
0
case 87:
3055
0
YY_RULE_SETUP
3056
0
#line 287 "src/maplexer.l"
3057
0
{ MS_LEXER_RETURN_TOKEN(ENCODING); }
3058
0
  YY_BREAK
3059
0
case 88:
3060
0
YY_RULE_SETUP
3061
0
#line 288 "src/maplexer.l"
3062
0
{ MS_LEXER_RETURN_TOKEN(END); }
3063
0
  YY_BREAK
3064
0
case 89:
3065
0
YY_RULE_SETUP
3066
0
#line 289 "src/maplexer.l"
3067
0
{ MS_LEXER_RETURN_TOKEN(ERROR); }
3068
0
  YY_BREAK
3069
0
case 90:
3070
0
YY_RULE_SETUP
3071
0
#line 290 "src/maplexer.l"
3072
0
{ MS_LEXER_RETURN_TOKEN(EXPRESSION); }
3073
0
  YY_BREAK
3074
0
case 91:
3075
0
YY_RULE_SETUP
3076
0
#line 291 "src/maplexer.l"
3077
0
{ MS_LEXER_RETURN_TOKEN(EXTENT); }
3078
0
  YY_BREAK
3079
0
case 92:
3080
0
YY_RULE_SETUP
3081
0
#line 292 "src/maplexer.l"
3082
0
{ MS_LEXER_RETURN_TOKEN(EXTENSION); }
3083
0
  YY_BREAK
3084
0
case 93:
3085
0
YY_RULE_SETUP
3086
0
#line 293 "src/maplexer.l"
3087
0
{ MS_LEXER_RETURN_TOKEN(FEATURE); }
3088
0
  YY_BREAK
3089
0
case 94:
3090
0
YY_RULE_SETUP
3091
0
#line 294 "src/maplexer.l"
3092
0
{ MS_LEXER_RETURN_TOKEN(FILLED); }
3093
0
  YY_BREAK
3094
0
case 95:
3095
0
YY_RULE_SETUP
3096
0
#line 295 "src/maplexer.l"
3097
0
{ MS_LEXER_RETURN_TOKEN(FILTER); }
3098
0
  YY_BREAK
3099
0
case 96:
3100
0
YY_RULE_SETUP
3101
0
#line 296 "src/maplexer.l"
3102
0
{ MS_LEXER_RETURN_TOKEN(FILTERITEM); }
3103
0
  YY_BREAK
3104
0
case 97:
3105
0
YY_RULE_SETUP
3106
0
#line 297 "src/maplexer.l"
3107
0
{ MS_LEXER_RETURN_TOKEN(FOOTER); }
3108
0
  YY_BREAK
3109
0
case 98:
3110
0
YY_RULE_SETUP
3111
0
#line 298 "src/maplexer.l"
3112
0
{ MS_LEXER_RETURN_TOKEN(FONT); }
3113
0
  YY_BREAK
3114
0
case 99:
3115
0
YY_RULE_SETUP
3116
0
#line 299 "src/maplexer.l"
3117
0
{ MS_LEXER_RETURN_TOKEN(FONTSET); }
3118
0
  YY_BREAK
3119
0
case 100:
3120
0
YY_RULE_SETUP
3121
0
#line 300 "src/maplexer.l"
3122
0
{ MS_LEXER_RETURN_TOKEN(FORCE); }
3123
0
  YY_BREAK
3124
0
case 101:
3125
0
YY_RULE_SETUP
3126
0
#line 301 "src/maplexer.l"
3127
0
{ MS_LEXER_RETURN_TOKEN(FORMATOPTION); }
3128
0
  YY_BREAK
3129
0
case 102:
3130
0
YY_RULE_SETUP
3131
0
#line 302 "src/maplexer.l"
3132
0
{ MS_LEXER_RETURN_TOKEN(FROM); }
3133
0
  YY_BREAK
3134
0
case 103:
3135
0
YY_RULE_SETUP
3136
0
#line 303 "src/maplexer.l"
3137
0
{ MS_LEXER_RETURN_TOKEN(GAP); }
3138
0
  YY_BREAK
3139
0
case 104:
3140
0
YY_RULE_SETUP
3141
0
#line 304 "src/maplexer.l"
3142
0
{ MS_LEXER_RETURN_TOKEN(GEOMTRANSFORM); }
3143
0
  YY_BREAK
3144
0
case 105:
3145
0
YY_RULE_SETUP
3146
0
#line 305 "src/maplexer.l"
3147
0
{ MS_LEXER_RETURN_TOKEN(GRID); }
3148
0
  YY_BREAK
3149
0
case 106:
3150
0
YY_RULE_SETUP
3151
0
#line 306 "src/maplexer.l"
3152
0
{ MS_LEXER_RETURN_TOKEN(GRIDSTEP); }
3153
0
  YY_BREAK
3154
0
case 107:
3155
0
YY_RULE_SETUP
3156
0
#line 307 "src/maplexer.l"
3157
0
{ MS_LEXER_RETURN_TOKEN(GRATICULE); }
3158
0
  YY_BREAK
3159
0
case 108:
3160
0
YY_RULE_SETUP
3161
0
#line 308 "src/maplexer.l"
3162
0
{ MS_LEXER_RETURN_TOKEN(GROUP); }
3163
0
  YY_BREAK
3164
0
case 109:
3165
0
YY_RULE_SETUP
3166
0
#line 309 "src/maplexer.l"
3167
0
{ MS_LEXER_RETURN_TOKEN(HEADER); }
3168
0
  YY_BREAK
3169
0
case 110:
3170
0
YY_RULE_SETUP
3171
0
#line 310 "src/maplexer.l"
3172
0
{ MS_LEXER_RETURN_TOKEN(IMAGE); }
3173
0
  YY_BREAK
3174
0
case 111:
3175
0
YY_RULE_SETUP
3176
0
#line 311 "src/maplexer.l"
3177
0
{ MS_LEXER_RETURN_TOKEN(IMAGECOLOR); }
3178
0
  YY_BREAK
3179
0
case 112:
3180
0
YY_RULE_SETUP
3181
0
#line 312 "src/maplexer.l"
3182
0
{ MS_LEXER_RETURN_TOKEN(IMAGETYPE); }
3183
0
  YY_BREAK
3184
0
case 113:
3185
0
YY_RULE_SETUP
3186
0
#line 313 "src/maplexer.l"
3187
0
{ MS_LEXER_RETURN_TOKEN(IMAGEMODE); }
3188
0
  YY_BREAK
3189
0
case 114:
3190
0
YY_RULE_SETUP
3191
0
#line 314 "src/maplexer.l"
3192
0
{ MS_LEXER_RETURN_TOKEN(IMAGEPATH); }
3193
0
  YY_BREAK
3194
0
case 115:
3195
0
YY_RULE_SETUP
3196
0
#line 315 "src/maplexer.l"
3197
0
{ MS_LEXER_RETURN_TOKEN(TEMPPATH); }
3198
0
  YY_BREAK
3199
0
case 116:
3200
0
YY_RULE_SETUP
3201
0
#line 316 "src/maplexer.l"
3202
0
{ MS_LEXER_RETURN_TOKEN(IMAGEURL); }
3203
0
  YY_BREAK
3204
0
case 117:
3205
0
YY_RULE_SETUP
3206
0
#line 317 "src/maplexer.l"
3207
0
{ BEGIN(INCLUDE); }
3208
0
  YY_BREAK
3209
0
case 118:
3210
0
YY_RULE_SETUP
3211
0
#line 318 "src/maplexer.l"
3212
0
{ MS_LEXER_RETURN_TOKEN(INDEX); }
3213
0
  YY_BREAK
3214
0
case 119:
3215
0
YY_RULE_SETUP
3216
0
#line 319 "src/maplexer.l"
3217
0
{ MS_LEXER_RETURN_TOKEN(INITIALGAP); }
3218
0
  YY_BREAK
3219
0
case 120:
3220
0
YY_RULE_SETUP
3221
0
#line 320 "src/maplexer.l"
3222
0
{ MS_LEXER_RETURN_TOKEN(INTERVALS); } 
3223
0
  YY_BREAK
3224
0
case 121:
3225
0
YY_RULE_SETUP
3226
0
#line 321 "src/maplexer.l"
3227
0
{ MS_LEXER_RETURN_TOKEN(JOIN); }
3228
0
  YY_BREAK
3229
0
case 122:
3230
0
YY_RULE_SETUP
3231
0
#line 322 "src/maplexer.l"
3232
0
{ MS_LEXER_RETURN_TOKEN(KEYIMAGE); }
3233
0
  YY_BREAK
3234
0
case 123:
3235
0
YY_RULE_SETUP
3236
0
#line 323 "src/maplexer.l"
3237
0
{ MS_LEXER_RETURN_TOKEN(KEYSIZE); }
3238
0
  YY_BREAK
3239
0
case 124:
3240
0
YY_RULE_SETUP
3241
0
#line 324 "src/maplexer.l"
3242
0
{ MS_LEXER_RETURN_TOKEN(KEYSPACING); }
3243
0
  YY_BREAK
3244
0
case 125:
3245
0
YY_RULE_SETUP
3246
0
#line 325 "src/maplexer.l"
3247
0
{ MS_LEXER_RETURN_TOKEN(LABEL); }
3248
0
  YY_BREAK
3249
0
case 126:
3250
0
YY_RULE_SETUP
3251
0
#line 326 "src/maplexer.l"
3252
0
{ MS_LEXER_RETURN_TOKEN(LABELCACHE); }
3253
0
  YY_BREAK
3254
0
case 127:
3255
0
YY_RULE_SETUP
3256
0
#line 327 "src/maplexer.l"
3257
0
{ MS_LEXER_RETURN_TOKEN(LABELFORMAT); }
3258
0
  YY_BREAK
3259
0
case 128:
3260
0
YY_RULE_SETUP
3261
0
#line 328 "src/maplexer.l"
3262
0
{ MS_LEXER_RETURN_TOKEN(LABELITEM); }
3263
0
  YY_BREAK
3264
0
case 129:
3265
0
YY_RULE_SETUP
3266
0
#line 329 "src/maplexer.l"
3267
0
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALE); }
3268
0
  YY_BREAK
3269
0
case 130:
3270
0
YY_RULE_SETUP
3271
0
#line 330 "src/maplexer.l"
3272
0
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALEDENOM); }
3273
0
  YY_BREAK
3274
0
case 131:
3275
0
YY_RULE_SETUP
3276
0
#line 331 "src/maplexer.l"
3277
0
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALE); }
3278
0
  YY_BREAK
3279
0
case 132:
3280
0
YY_RULE_SETUP
3281
0
#line 332 "src/maplexer.l"
3282
0
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALEDENOM); }
3283
0
  YY_BREAK
3284
0
case 133:
3285
0
YY_RULE_SETUP
3286
0
#line 333 "src/maplexer.l"
3287
0
{ MS_LEXER_RETURN_TOKEN(LABELREQUIRES); }
3288
0
  YY_BREAK
3289
0
case 134:
3290
0
YY_RULE_SETUP
3291
0
#line 334 "src/maplexer.l"
3292
0
{ MS_LEXER_RETURN_TOKEN(LATLON); }
3293
0
  YY_BREAK
3294
0
case 135:
3295
0
YY_RULE_SETUP
3296
0
#line 335 "src/maplexer.l"
3297
0
{ MS_LEXER_RETURN_TOKEN(LAYER); }
3298
0
  YY_BREAK
3299
0
case 136:
3300
0
YY_RULE_SETUP
3301
0
#line 336 "src/maplexer.l"
3302
0
{ MS_LEXER_RETURN_TOKEN(LEADER); }
3303
0
  YY_BREAK
3304
0
case 137:
3305
0
YY_RULE_SETUP
3306
0
#line 337 "src/maplexer.l"
3307
0
{ MS_LEXER_RETURN_TOKEN(LEGEND); }
3308
0
  YY_BREAK
3309
0
case 138:
3310
0
YY_RULE_SETUP
3311
0
#line 338 "src/maplexer.l"
3312
0
{ MS_LEXER_RETURN_TOKEN(LEGENDFORMAT); }
3313
0
  YY_BREAK
3314
0
case 139:
3315
0
YY_RULE_SETUP
3316
0
#line 339 "src/maplexer.l"
3317
0
{ MS_LEXER_RETURN_TOKEN(LINECAP); }
3318
0
  YY_BREAK
3319
0
case 140:
3320
0
YY_RULE_SETUP
3321
0
#line 340 "src/maplexer.l"
3322
0
{ MS_LEXER_RETURN_TOKEN(LINEJOIN); }
3323
0
  YY_BREAK
3324
0
case 141:
3325
0
YY_RULE_SETUP
3326
0
#line 341 "src/maplexer.l"
3327
0
{ MS_LEXER_RETURN_TOKEN(LINEJOINMAXSIZE); }
3328
0
  YY_BREAK
3329
0
case 142:
3330
0
YY_RULE_SETUP
3331
0
#line 342 "src/maplexer.l"
3332
0
{ MS_LEXER_RETURN_TOKEN(MAP); }
3333
0
  YY_BREAK
3334
0
case 143:
3335
0
YY_RULE_SETUP
3336
0
#line 343 "src/maplexer.l"
3337
0
{ MS_LEXER_RETURN_TOKEN(MARKER); }
3338
0
  YY_BREAK
3339
0
case 144:
3340
0
YY_RULE_SETUP
3341
0
#line 344 "src/maplexer.l"
3342
0
{ MS_LEXER_RETURN_TOKEN(MARKERSIZE); }
3343
0
  YY_BREAK
3344
0
case 145:
3345
0
YY_RULE_SETUP
3346
0
#line 345 "src/maplexer.l"
3347
0
{ MS_LEXER_RETURN_TOKEN(MASK); }
3348
0
  YY_BREAK
3349
0
case 146:
3350
0
YY_RULE_SETUP
3351
0
#line 346 "src/maplexer.l"
3352
0
{ MS_LEXER_RETURN_TOKEN(MAXARCS); }
3353
0
  YY_BREAK
3354
0
case 147:
3355
0
YY_RULE_SETUP
3356
0
#line 347 "src/maplexer.l"
3357
0
{ MS_LEXER_RETURN_TOKEN(MAXBOXSIZE); }
3358
0
  YY_BREAK
3359
0
case 148:
3360
0
YY_RULE_SETUP
3361
0
#line 348 "src/maplexer.l"
3362
0
{ MS_LEXER_RETURN_TOKEN(MAXDISTANCE); }
3363
0
  YY_BREAK
3364
0
case 149:
3365
0
YY_RULE_SETUP
3366
0
#line 349 "src/maplexer.l"
3367
0
{ MS_LEXER_RETURN_TOKEN(MAXFEATURES); }
3368
0
  YY_BREAK
3369
0
case 150:
3370
0
YY_RULE_SETUP
3371
0
#line 350 "src/maplexer.l"
3372
0
{ MS_LEXER_RETURN_TOKEN(MAXINTERVAL); }
3373
0
  YY_BREAK
3374
0
case 151:
3375
0
YY_RULE_SETUP
3376
0
#line 351 "src/maplexer.l"
3377
0
{ MS_LEXER_RETURN_TOKEN(MAXSCALE); }
3378
0
  YY_BREAK
3379
0
case 152:
3380
0
YY_RULE_SETUP
3381
0
#line 352 "src/maplexer.l"
3382
0
{ MS_LEXER_RETURN_TOKEN(MAXSCALEDENOM); }
3383
0
  YY_BREAK
3384
0
case 153:
3385
0
YY_RULE_SETUP
3386
0
#line 353 "src/maplexer.l"
3387
0
{ MS_LEXER_RETURN_TOKEN(MAXGEOWIDTH); }
3388
0
  YY_BREAK
3389
0
case 154:
3390
0
YY_RULE_SETUP
3391
0
#line 354 "src/maplexer.l"
3392
0
{ MS_LEXER_RETURN_TOKEN(MAXLENGTH); }
3393
0
  YY_BREAK
3394
0
case 155:
3395
0
YY_RULE_SETUP
3396
0
#line 355 "src/maplexer.l"
3397
0
{ MS_LEXER_RETURN_TOKEN(MAXSIZE); }
3398
0
  YY_BREAK
3399
0
case 156:
3400
0
YY_RULE_SETUP
3401
0
#line 356 "src/maplexer.l"
3402
0
{ MS_LEXER_RETURN_TOKEN(MAXSUBDIVIDE); }
3403
0
  YY_BREAK
3404
0
case 157:
3405
0
YY_RULE_SETUP
3406
0
#line 357 "src/maplexer.l"
3407
0
{ MS_LEXER_RETURN_TOKEN(MAXTEMPLATE); }
3408
0
  YY_BREAK
3409
0
case 158:
3410
0
YY_RULE_SETUP
3411
0
#line 358 "src/maplexer.l"
3412
0
{ MS_LEXER_RETURN_TOKEN(MAXWIDTH); }
3413
0
  YY_BREAK
3414
0
case 159:
3415
0
YY_RULE_SETUP
3416
0
#line 359 "src/maplexer.l"
3417
0
{ MS_LEXER_RETURN_TOKEN(METADATA); }
3418
0
  YY_BREAK
3419
0
case 160:
3420
0
YY_RULE_SETUP
3421
0
#line 360 "src/maplexer.l"
3422
0
{ MS_LEXER_RETURN_TOKEN(MIMETYPE); }
3423
0
  YY_BREAK
3424
0
case 161:
3425
0
YY_RULE_SETUP
3426
0
#line 361 "src/maplexer.l"
3427
0
{ MS_LEXER_RETURN_TOKEN(MINARCS); }
3428
0
  YY_BREAK
3429
0
case 162:
3430
0
YY_RULE_SETUP
3431
0
#line 362 "src/maplexer.l"
3432
0
{ MS_LEXER_RETURN_TOKEN(MINBOXSIZE); }
3433
0
  YY_BREAK
3434
0
case 163:
3435
0
YY_RULE_SETUP
3436
0
#line 363 "src/maplexer.l"
3437
0
{ MS_LEXER_RETURN_TOKEN(MINDISTANCE); }
3438
0
  YY_BREAK
3439
0
case 164:
3440
0
YY_RULE_SETUP
3441
0
#line 364 "src/maplexer.l"
3442
0
{ MS_LEXER_RETURN_TOKEN(REPEATDISTANCE); }
3443
0
  YY_BREAK
3444
0
case 165:
3445
0
YY_RULE_SETUP
3446
0
#line 365 "src/maplexer.l"
3447
0
{ MS_LEXER_RETURN_TOKEN(MAXOVERLAPANGLE); } 
3448
0
  YY_BREAK
3449
0
case 166:
3450
0
YY_RULE_SETUP
3451
0
#line 366 "src/maplexer.l"
3452
0
{ MS_LEXER_RETURN_TOKEN(MINFEATURESIZE); }
3453
0
  YY_BREAK
3454
0
case 167:
3455
0
YY_RULE_SETUP
3456
0
#line 367 "src/maplexer.l"
3457
0
{ MS_LEXER_RETURN_TOKEN(MININTERVAL); }
3458
0
  YY_BREAK
3459
0
case 168:
3460
0
YY_RULE_SETUP
3461
0
#line 368 "src/maplexer.l"
3462
0
{ MS_LEXER_RETURN_TOKEN(MINSCALE); }
3463
0
  YY_BREAK
3464
0
case 169:
3465
0
YY_RULE_SETUP
3466
0
#line 369 "src/maplexer.l"
3467
0
{ MS_LEXER_RETURN_TOKEN(MINSCALEDENOM); }
3468
0
  YY_BREAK
3469
0
case 170:
3470
0
YY_RULE_SETUP
3471
0
#line 370 "src/maplexer.l"
3472
0
{ MS_LEXER_RETURN_TOKEN(MINGEOWIDTH); }
3473
0
  YY_BREAK
3474
0
case 171:
3475
0
YY_RULE_SETUP
3476
0
#line 371 "src/maplexer.l"
3477
0
{ MS_LEXER_RETURN_TOKEN(MINSIZE); }
3478
0
  YY_BREAK
3479
0
case 172:
3480
0
YY_RULE_SETUP
3481
0
#line 372 "src/maplexer.l"
3482
0
{ MS_LEXER_RETURN_TOKEN(MINSUBDIVIDE); }
3483
0
  YY_BREAK
3484
0
case 173:
3485
0
YY_RULE_SETUP
3486
0
#line 373 "src/maplexer.l"
3487
0
{ MS_LEXER_RETURN_TOKEN(MINTEMPLATE); }
3488
0
  YY_BREAK
3489
0
case 174:
3490
0
YY_RULE_SETUP
3491
0
#line 374 "src/maplexer.l"
3492
0
{ MS_LEXER_RETURN_TOKEN(MINWIDTH); }
3493
0
  YY_BREAK
3494
0
case 175:
3495
0
YY_RULE_SETUP
3496
0
#line 375 "src/maplexer.l"
3497
0
{ MS_LEXER_RETURN_TOKEN(NAME); }
3498
0
  YY_BREAK
3499
0
case 176:
3500
0
YY_RULE_SETUP
3501
0
#line 376 "src/maplexer.l"
3502
0
{ MS_LEXER_RETURN_TOKEN(OFFSET); }
3503
0
  YY_BREAK
3504
0
case 177:
3505
0
YY_RULE_SETUP
3506
0
#line 377 "src/maplexer.l"
3507
0
{ MS_LEXER_RETURN_TOKEN(OFFSITE); }
3508
0
  YY_BREAK
3509
0
case 178:
3510
0
YY_RULE_SETUP
3511
0
#line 378 "src/maplexer.l"
3512
0
{ MS_LEXER_RETURN_TOKEN(OPACITY); }
3513
0
  YY_BREAK
3514
0
case 179:
3515
0
YY_RULE_SETUP
3516
0
#line 379 "src/maplexer.l"
3517
0
{ MS_LEXER_RETURN_TOKEN(CONNECTIONOPTIONS); }
3518
0
  YY_BREAK
3519
0
case 180:
3520
0
YY_RULE_SETUP
3521
0
#line 380 "src/maplexer.l"
3522
0
{ MS_LEXER_RETURN_TOKEN(OUTLINECOLOR); }
3523
0
  YY_BREAK
3524
0
case 181:
3525
0
YY_RULE_SETUP
3526
0
#line 381 "src/maplexer.l"
3527
0
{ MS_LEXER_RETURN_TOKEN(OUTLINEWIDTH); }
3528
0
  YY_BREAK
3529
0
case 182:
3530
0
YY_RULE_SETUP
3531
0
#line 382 "src/maplexer.l"
3532
0
{ MS_LEXER_RETURN_TOKEN(OUTPUTFORMAT); }
3533
0
  YY_BREAK
3534
0
case 183:
3535
0
YY_RULE_SETUP
3536
0
#line 383 "src/maplexer.l"
3537
0
{ MS_LEXER_RETURN_TOKEN(PARTIALS); }
3538
0
  YY_BREAK
3539
0
case 184:
3540
0
YY_RULE_SETUP
3541
0
#line 384 "src/maplexer.l"
3542
0
{ MS_LEXER_RETURN_TOKEN(PATTERN); }
3543
0
  YY_BREAK
3544
0
case 185:
3545
0
YY_RULE_SETUP
3546
0
#line 385 "src/maplexer.l"
3547
0
{ MS_LEXER_RETURN_TOKEN(POINTS); }
3548
0
  YY_BREAK
3549
0
case 186:
3550
0
YY_RULE_SETUP
3551
0
#line 386 "src/maplexer.l"
3552
0
{ MS_LEXER_RETURN_TOKEN(ITEMS); }
3553
0
  YY_BREAK
3554
0
case 187:
3555
0
YY_RULE_SETUP
3556
0
#line 387 "src/maplexer.l"
3557
0
{ MS_LEXER_RETURN_TOKEN(POSITION); }
3558
0
  YY_BREAK
3559
0
case 188:
3560
0
YY_RULE_SETUP
3561
0
#line 388 "src/maplexer.l"
3562
0
{ MS_LEXER_RETURN_TOKEN(POSTLABELCACHE); }
3563
0
  YY_BREAK
3564
0
case 189:
3565
0
YY_RULE_SETUP
3566
0
#line 389 "src/maplexer.l"
3567
0
{ MS_LEXER_RETURN_TOKEN(PRIORITY); }
3568
0
  YY_BREAK
3569
0
case 190:
3570
0
YY_RULE_SETUP
3571
0
#line 390 "src/maplexer.l"
3572
0
{ MS_LEXER_RETURN_TOKEN(PROCESSING); }
3573
0
  YY_BREAK
3574
0
case 191:
3575
0
YY_RULE_SETUP
3576
0
#line 391 "src/maplexer.l"
3577
0
{ MS_LEXER_RETURN_TOKEN(PROJECTION); }
3578
0
  YY_BREAK
3579
0
case 192:
3580
0
YY_RULE_SETUP
3581
0
#line 392 "src/maplexer.l"
3582
0
{ MS_LEXER_RETURN_TOKEN(QUERYFORMAT); }
3583
0
  YY_BREAK
3584
0
case 193:
3585
0
YY_RULE_SETUP
3586
0
#line 393 "src/maplexer.l"
3587
0
{ MS_LEXER_RETURN_TOKEN(QUERYMAP); }
3588
0
  YY_BREAK
3589
0
case 194:
3590
0
YY_RULE_SETUP
3591
0
#line 394 "src/maplexer.l"
3592
0
{ MS_LEXER_RETURN_TOKEN(REFERENCE); }
3593
0
  YY_BREAK
3594
0
case 195:
3595
0
YY_RULE_SETUP
3596
0
#line 395 "src/maplexer.l"
3597
0
{ MS_LEXER_RETURN_TOKEN(REGION); }
3598
0
  YY_BREAK
3599
0
case 196:
3600
0
YY_RULE_SETUP
3601
0
#line 396 "src/maplexer.l"
3602
0
{ MS_LEXER_RETURN_TOKEN(RELATIVETO); }
3603
0
  YY_BREAK
3604
0
case 197:
3605
0
YY_RULE_SETUP
3606
0
#line 397 "src/maplexer.l"
3607
0
{ MS_LEXER_RETURN_TOKEN(REQUIRES); }
3608
0
  YY_BREAK
3609
0
case 198:
3610
0
YY_RULE_SETUP
3611
0
#line 398 "src/maplexer.l"
3612
0
{ MS_LEXER_RETURN_TOKEN(RESOLUTION); }
3613
0
  YY_BREAK
3614
0
case 199:
3615
0
YY_RULE_SETUP
3616
0
#line 399 "src/maplexer.l"
3617
0
{ MS_LEXER_RETURN_TOKEN(DEFRESOLUTION); }
3618
0
  YY_BREAK
3619
0
case 200:
3620
0
YY_RULE_SETUP
3621
0
#line 400 "src/maplexer.l"
3622
0
{ MS_LEXER_RETURN_TOKEN(SCALE); }
3623
0
  YY_BREAK
3624
0
case 201:
3625
0
YY_RULE_SETUP
3626
0
#line 401 "src/maplexer.l"
3627
0
{ MS_LEXER_RETURN_TOKEN(SCALEDENOM); }
3628
0
  YY_BREAK
3629
0
case 202:
3630
0
YY_RULE_SETUP
3631
0
#line 402 "src/maplexer.l"
3632
0
{ MS_LEXER_RETURN_TOKEN(SCALEBAR); }
3633
0
  YY_BREAK
3634
0
case 203:
3635
0
YY_RULE_SETUP
3636
0
#line 403 "src/maplexer.l"
3637
0
{ MS_LEXER_RETURN_TOKEN(SCALETOKEN); }
3638
0
  YY_BREAK
3639
0
case 204:
3640
0
YY_RULE_SETUP
3641
0
#line 404 "src/maplexer.l"
3642
0
{ MS_LEXER_RETURN_TOKEN(SHADOWCOLOR); }
3643
0
  YY_BREAK
3644
0
case 205:
3645
0
YY_RULE_SETUP
3646
0
#line 405 "src/maplexer.l"
3647
0
{ MS_LEXER_RETURN_TOKEN(SHADOWSIZE); }
3648
0
  YY_BREAK
3649
0
case 206:
3650
0
YY_RULE_SETUP
3651
0
#line 406 "src/maplexer.l"
3652
0
{ MS_LEXER_RETURN_TOKEN(SHAPEPATH); }
3653
0
  YY_BREAK
3654
0
case 207:
3655
0
YY_RULE_SETUP
3656
0
#line 407 "src/maplexer.l"
3657
0
{ MS_LEXER_RETURN_TOKEN(SIZE); }
3658
0
  YY_BREAK
3659
0
case 208:
3660
0
YY_RULE_SETUP
3661
0
#line 408 "src/maplexer.l"
3662
0
{ MS_LEXER_RETURN_TOKEN(SIZEUNITS); }
3663
0
  YY_BREAK
3664
0
case 209:
3665
0
YY_RULE_SETUP
3666
0
#line 409 "src/maplexer.l"
3667
0
{ MS_LEXER_RETURN_TOKEN(STATUS); }
3668
0
  YY_BREAK
3669
0
case 210:
3670
0
YY_RULE_SETUP
3671
0
#line 410 "src/maplexer.l"
3672
0
{ MS_LEXER_RETURN_TOKEN(STYLE); }
3673
0
  YY_BREAK
3674
0
case 211:
3675
0
YY_RULE_SETUP
3676
0
#line 411 "src/maplexer.l"
3677
0
{ MS_LEXER_RETURN_TOKEN(STYLEITEM); }
3678
0
  YY_BREAK
3679
0
case 212:
3680
0
YY_RULE_SETUP
3681
0
#line 412 "src/maplexer.l"
3682
0
{ MS_LEXER_RETURN_TOKEN(SYMBOL); }
3683
0
  YY_BREAK
3684
0
case 213:
3685
0
YY_RULE_SETUP
3686
0
#line 413 "src/maplexer.l"
3687
0
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALE); }
3688
0
  YY_BREAK
3689
0
case 214:
3690
0
YY_RULE_SETUP
3691
0
#line 414 "src/maplexer.l"
3692
0
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALEDENOM); }
3693
0
  YY_BREAK
3694
0
case 215:
3695
0
YY_RULE_SETUP
3696
0
#line 415 "src/maplexer.l"
3697
0
{ MS_LEXER_RETURN_TOKEN(SYMBOLSET); }
3698
0
  YY_BREAK
3699
0
case 216:
3700
0
YY_RULE_SETUP
3701
0
#line 416 "src/maplexer.l"
3702
0
{ MS_LEXER_RETURN_TOKEN(TABLE); }
3703
0
  YY_BREAK
3704
0
case 217:
3705
0
YY_RULE_SETUP
3706
0
#line 417 "src/maplexer.l"
3707
0
{ MS_LEXER_RETURN_TOKEN(TEMPLATE); }
3708
0
  YY_BREAK
3709
0
case 218:
3710
0
YY_RULE_SETUP
3711
0
#line 418 "src/maplexer.l"
3712
0
{ MS_LEXER_RETURN_TOKEN(TEXT); }
3713
0
  YY_BREAK
3714
0
case 219:
3715
0
YY_RULE_SETUP
3716
0
#line 419 "src/maplexer.l"
3717
0
{ MS_LEXER_RETURN_TOKEN(TILEINDEX); }
3718
0
  YY_BREAK
3719
0
case 220:
3720
0
YY_RULE_SETUP
3721
0
#line 420 "src/maplexer.l"
3722
0
{ MS_LEXER_RETURN_TOKEN(TILEITEM); }
3723
0
  YY_BREAK
3724
0
case 221:
3725
0
YY_RULE_SETUP
3726
0
#line 421 "src/maplexer.l"
3727
0
{ MS_LEXER_RETURN_TOKEN(TILESRS); }
3728
0
  YY_BREAK
3729
0
case 222:
3730
0
YY_RULE_SETUP
3731
0
#line 422 "src/maplexer.l"
3732
0
{ MS_LEXER_RETURN_TOKEN(TITLE); }
3733
0
  YY_BREAK
3734
0
case 223:
3735
0
YY_RULE_SETUP
3736
0
#line 423 "src/maplexer.l"
3737
0
{ MS_LEXER_RETURN_TOKEN(TO); }
3738
0
  YY_BREAK
3739
0
case 224:
3740
0
YY_RULE_SETUP
3741
0
#line 424 "src/maplexer.l"
3742
0
{ MS_LEXER_RETURN_TOKEN(TOLERANCE); }
3743
0
  YY_BREAK
3744
0
case 225:
3745
0
YY_RULE_SETUP
3746
0
#line 425 "src/maplexer.l"
3747
0
{ MS_LEXER_RETURN_TOKEN(TOLERANCEUNITS); }
3748
0
  YY_BREAK
3749
0
case 226:
3750
0
YY_RULE_SETUP
3751
0
#line 426 "src/maplexer.l"
3752
0
{ MS_LEXER_RETURN_TOKEN(TRANSPARENT); }
3753
0
  YY_BREAK
3754
0
case 227:
3755
0
YY_RULE_SETUP
3756
0
#line 427 "src/maplexer.l"
3757
0
{ MS_LEXER_RETURN_TOKEN(TRANSFORM); }
3758
0
  YY_BREAK
3759
0
case 228:
3760
0
YY_RULE_SETUP
3761
0
#line 428 "src/maplexer.l"
3762
0
{ MS_LEXER_RETURN_TOKEN(TYPE); }
3763
0
  YY_BREAK
3764
0
case 229:
3765
0
YY_RULE_SETUP
3766
0
#line 429 "src/maplexer.l"
3767
0
{ MS_LEXER_RETURN_TOKEN(UNITS); }
3768
0
  YY_BREAK
3769
0
case 230:
3770
0
YY_RULE_SETUP
3771
0
#line 430 "src/maplexer.l"
3772
0
{ MS_LEXER_RETURN_TOKEN(UTFDATA); }
3773
0
  YY_BREAK
3774
0
case 231:
3775
0
YY_RULE_SETUP
3776
0
#line 431 "src/maplexer.l"
3777
0
{ MS_LEXER_RETURN_TOKEN(UTFITEM); }
3778
0
  YY_BREAK
3779
0
case 232:
3780
0
YY_RULE_SETUP
3781
0
#line 432 "src/maplexer.l"
3782
0
{ MS_LEXER_RETURN_TOKEN(VALIDATION); }
3783
0
  YY_BREAK
3784
0
case 233:
3785
0
YY_RULE_SETUP
3786
0
#line 433 "src/maplexer.l"
3787
0
{ MS_LEXER_RETURN_TOKEN(VALUES); }
3788
0
  YY_BREAK
3789
0
case 234:
3790
0
YY_RULE_SETUP
3791
0
#line 434 "src/maplexer.l"
3792
0
{ MS_LEXER_RETURN_TOKEN(WEB); }
3793
0
  YY_BREAK
3794
0
case 235:
3795
0
YY_RULE_SETUP
3796
0
#line 435 "src/maplexer.l"
3797
0
{ MS_LEXER_RETURN_TOKEN(WIDTH); }
3798
0
  YY_BREAK
3799
0
case 236:
3800
0
YY_RULE_SETUP
3801
0
#line 436 "src/maplexer.l"
3802
0
{ MS_LEXER_RETURN_TOKEN(WKT); }
3803
0
  YY_BREAK
3804
0
case 237:
3805
0
YY_RULE_SETUP
3806
0
#line 437 "src/maplexer.l"
3807
0
{ MS_LEXER_RETURN_TOKEN(WRAP); }
3808
0
  YY_BREAK
3809
0
case 238:
3810
0
YY_RULE_SETUP
3811
0
#line 439 "src/maplexer.l"
3812
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_ANNOTATION); }
3813
0
  YY_BREAK
3814
0
case 239:
3815
0
YY_RULE_SETUP
3816
0
#line 440 "src/maplexer.l"
3817
0
{ MS_LEXER_RETURN_TOKEN(MS_AUTO); }
3818
0
  YY_BREAK
3819
0
case 240:
3820
0
YY_RULE_SETUP
3821
0
#line 441 "src/maplexer.l"
3822
0
{ MS_LEXER_RETURN_TOKEN(MS_AUTO2); }
3823
0
  YY_BREAK
3824
0
case 241:
3825
0
YY_RULE_SETUP
3826
0
#line 442 "src/maplexer.l"
3827
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BEVEL); }
3828
0
  YY_BREAK
3829
0
case 242:
3830
0
YY_RULE_SETUP
3831
0
#line 443 "src/maplexer.l"
3832
0
{ MS_LEXER_RETURN_TOKEN(MS_BITMAP); }
3833
0
  YY_BREAK
3834
0
case 243:
3835
0
YY_RULE_SETUP
3836
0
#line 444 "src/maplexer.l"
3837
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BUTT); }
3838
0
  YY_BREAK
3839
0
case 244:
3840
0
YY_RULE_SETUP
3841
0
#line 445 "src/maplexer.l"
3842
0
{ MS_LEXER_RETURN_TOKEN(MS_CC); }
3843
0
  YY_BREAK
3844
0
case 245:
3845
0
YY_RULE_SETUP
3846
0
#line 446 "src/maplexer.l"
3847
0
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_CENTER); }
3848
0
  YY_BREAK
3849
0
case 246:
3850
0
YY_RULE_SETUP
3851
0
#line 447 "src/maplexer.l"
3852
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CHART); }
3853
0
  YY_BREAK
3854
0
case 247:
3855
0
YY_RULE_SETUP
3856
0
#line 448 "src/maplexer.l"
3857
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CIRCLE); }
3858
0
  YY_BREAK
3859
0
case 248:
3860
0
YY_RULE_SETUP
3861
0
#line 449 "src/maplexer.l"
3862
0
{ MS_LEXER_RETURN_TOKEN(MS_CL); }
3863
0
  YY_BREAK
3864
0
case 249:
3865
0
YY_RULE_SETUP
3866
0
#line 450 "src/maplexer.l"
3867
0
{ MS_LEXER_RETURN_TOKEN(MS_CR); }
3868
0
  YY_BREAK
3869
0
case 250:
3870
0
YY_RULE_SETUP
3871
0
#line 451 "src/maplexer.l"
3872
0
{ MS_LEXER_RETURN_TOKEN(MS_DB_CSV); }
3873
0
  YY_BREAK
3874
0
case 251:
3875
0
YY_RULE_SETUP
3876
0
#line 452 "src/maplexer.l"
3877
0
{ MS_LEXER_RETURN_TOKEN(MS_DB_POSTGRES); }
3878
0
  YY_BREAK
3879
0
case 252:
3880
0
YY_RULE_SETUP
3881
0
#line 453 "src/maplexer.l"
3882
0
{ MS_LEXER_RETURN_TOKEN(MS_DB_MYSQL); }
3883
0
  YY_BREAK
3884
0
case 253:
3885
0
YY_RULE_SETUP
3886
0
#line 454 "src/maplexer.l"
3887
0
{ MS_LEXER_RETURN_TOKEN(MS_DEFAULT); }
3888
0
  YY_BREAK
3889
0
case 254:
3890
0
YY_RULE_SETUP
3891
0
#line 455 "src/maplexer.l"
3892
0
{ MS_LEXER_RETURN_TOKEN(MS_DD); }
3893
0
  YY_BREAK
3894
0
case 255:
3895
0
YY_RULE_SETUP
3896
0
#line 456 "src/maplexer.l"
3897
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_ELLIPSE); }
3898
0
  YY_BREAK
3899
0
case 256:
3900
0
YY_RULE_SETUP
3901
0
#line 457 "src/maplexer.l"
3902
0
{ MS_LEXER_RETURN_TOKEN(MS_EMBED); }
3903
0
  YY_BREAK
3904
0
case 257:
3905
0
YY_RULE_SETUP
3906
0
#line 458 "src/maplexer.l"
3907
0
{ MS_LEXER_RETURN_TOKEN(MS_FALSE); }
3908
0
  YY_BREAK
3909
0
case 258:
3910
0
YY_RULE_SETUP
3911
0
#line 459 "src/maplexer.l"
3912
0
{ MS_LEXER_RETURN_TOKEN(MS_FEET); }
3913
0
  YY_BREAK
3914
0
case 259:
3915
0
YY_RULE_SETUP
3916
0
#line 460 "src/maplexer.l"
3917
0
{ MS_LEXER_RETURN_TOKEN(MS_FOLLOW); }
3918
0
  YY_BREAK
3919
0
case 260:
3920
0
YY_RULE_SETUP
3921
0
#line 461 "src/maplexer.l"
3922
0
{ MS_LEXER_RETURN_TOKEN(MS_GIANT); }
3923
0
  YY_BREAK
3924
0
case 261:
3925
0
YY_RULE_SETUP
3926
0
#line 462 "src/maplexer.l"
3927
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_HATCH); }
3928
0
  YY_BREAK
3929
0
case 262:
3930
0
YY_RULE_SETUP
3931
0
#line 463 "src/maplexer.l"
3932
0
{ MS_LEXER_RETURN_TOKEN(MS_KERNELDENSITY); }
3933
0
  YY_BREAK
3934
0
case 263:
3935
0
YY_RULE_SETUP
3936
0
#line 464 "src/maplexer.l"
3937
0
{ MS_LEXER_RETURN_TOKEN(MS_IDW); }
3938
0
  YY_BREAK
3939
0
case 264:
3940
0
YY_RULE_SETUP
3941
0
#line 465 "src/maplexer.l"
3942
0
{ MS_LEXER_RETURN_TOKEN(MS_HILITE); }
3943
0
  YY_BREAK
3944
0
case 265:
3945
0
YY_RULE_SETUP
3946
0
#line 466 "src/maplexer.l"
3947
0
{ MS_LEXER_RETURN_TOKEN(MS_INCHES); }
3948
0
  YY_BREAK
3949
0
case 266:
3950
0
YY_RULE_SETUP
3951
0
#line 467 "src/maplexer.l"
3952
0
{ MS_LEXER_RETURN_TOKEN(MS_KILOMETERS); }
3953
0
  YY_BREAK
3954
0
case 267:
3955
0
YY_RULE_SETUP
3956
0
#line 468 "src/maplexer.l"
3957
0
{ MS_LEXER_RETURN_TOKEN(MS_LARGE); }
3958
0
  YY_BREAK
3959
0
case 268:
3960
0
YY_RULE_SETUP
3961
0
#line 469 "src/maplexer.l"
3962
0
{ MS_LEXER_RETURN_TOKEN(MS_LC); }
3963
0
  YY_BREAK
3964
0
case 269:
3965
0
YY_RULE_SETUP
3966
0
#line 470 "src/maplexer.l"
3967
0
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_LEFT); }
3968
0
  YY_BREAK
3969
0
case 270:
3970
0
YY_RULE_SETUP
3971
0
#line 471 "src/maplexer.l"
3972
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_LINE); }
3973
0
  YY_BREAK
3974
0
case 271:
3975
0
YY_RULE_SETUP
3976
0
#line 472 "src/maplexer.l"
3977
0
{ MS_LEXER_RETURN_TOKEN(MS_LL); }
3978
0
  YY_BREAK
3979
0
case 272:
3980
0
YY_RULE_SETUP
3981
0
#line 473 "src/maplexer.l"
3982
0
{ MS_LEXER_RETURN_TOKEN(MS_LR); }
3983
0
  YY_BREAK
3984
0
case 273:
3985
0
YY_RULE_SETUP
3986
0
#line 474 "src/maplexer.l"
3987
0
{ MS_LEXER_RETURN_TOKEN(MS_MEDIUM); }
3988
0
  YY_BREAK
3989
0
case 274:
3990
0
YY_RULE_SETUP
3991
0
#line 475 "src/maplexer.l"
3992
0
{ MS_LEXER_RETURN_TOKEN(MS_METERS); }
3993
0
  YY_BREAK
3994
0
case 275:
3995
0
YY_RULE_SETUP
3996
0
#line 476 "src/maplexer.l"
3997
0
{ MS_LEXER_RETURN_TOKEN(MS_NAUTICALMILES); }
3998
0
  YY_BREAK
3999
0
case 276:
4000
0
YY_RULE_SETUP
4001
0
#line 477 "src/maplexer.l"
4002
0
{ MS_LEXER_RETURN_TOKEN(MS_MILES); }
4003
0
  YY_BREAK
4004
0
case 277:
4005
0
YY_RULE_SETUP
4006
0
#line 478 "src/maplexer.l"
4007
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_MITER); }
4008
0
  YY_BREAK
4009
0
case 278:
4010
0
YY_RULE_SETUP
4011
0
#line 479 "src/maplexer.l"
4012
0
{ MS_LEXER_RETURN_TOKEN(MS_MULTIPLE); }
4013
0
  YY_BREAK
4014
0
case 279:
4015
0
YY_RULE_SETUP
4016
0
#line 480 "src/maplexer.l"
4017
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_NONE); }
4018
0
  YY_BREAK
4019
0
case 280:
4020
0
YY_RULE_SETUP
4021
0
#line 481 "src/maplexer.l"
4022
0
{ MS_LEXER_RETURN_TOKEN(MS_NORMAL); }
4023
0
  YY_BREAK
4024
0
case 281:
4025
0
YY_RULE_SETUP
4026
0
#line 482 "src/maplexer.l"
4027
0
{ MS_LEXER_RETURN_TOKEN(MS_OFF); }
4028
0
  YY_BREAK
4029
0
case 282:
4030
0
YY_RULE_SETUP
4031
0
#line 483 "src/maplexer.l"
4032
0
{ MS_LEXER_RETURN_TOKEN(MS_OGR); }
4033
0
  YY_BREAK
4034
0
case 283:
4035
0
YY_RULE_SETUP
4036
0
#line 484 "src/maplexer.l"
4037
0
{ MS_LEXER_RETURN_TOKEN(MS_FLATGEOBUF); }
4038
0
  YY_BREAK
4039
0
case 284:
4040
0
YY_RULE_SETUP
4041
0
#line 485 "src/maplexer.l"
4042
0
{ MS_LEXER_RETURN_TOKEN(MS_ON); }
4043
0
  YY_BREAK
4044
0
case 285:
4045
0
YY_RULE_SETUP
4046
0
#line 486 "src/maplexer.l"
4047
0
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_ONE); }
4048
0
  YY_BREAK
4049
0
case 286:
4050
0
YY_RULE_SETUP
4051
0
#line 487 "src/maplexer.l"
4052
0
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_MANY); }
4053
0
  YY_BREAK
4054
0
case 287:
4055
0
YY_RULE_SETUP
4056
0
#line 488 "src/maplexer.l"
4057
0
{ MS_LEXER_RETURN_TOKEN(MS_ORACLESPATIAL); }
4058
0
  YY_BREAK
4059
0
case 288:
4060
0
YY_RULE_SETUP
4061
0
#line 489 "src/maplexer.l"
4062
0
{ MS_LEXER_RETURN_TOKEN(MS_PERCENTAGES); }
4063
0
  YY_BREAK
4064
0
case 289:
4065
0
YY_RULE_SETUP
4066
0
#line 490 "src/maplexer.l"
4067
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_PIXMAP); }
4068
0
  YY_BREAK
4069
0
case 290:
4070
0
YY_RULE_SETUP
4071
0
#line 491 "src/maplexer.l"
4072
0
{ MS_LEXER_RETURN_TOKEN(MS_PIXELS); }
4073
0
  YY_BREAK
4074
0
case 291:
4075
0
YY_RULE_SETUP
4076
0
#line 492 "src/maplexer.l"
4077
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POINT); }
4078
0
  YY_BREAK
4079
0
case 292:
4080
0
YY_RULE_SETUP
4081
0
#line 493 "src/maplexer.l"
4082
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POLYGON); }
4083
0
  YY_BREAK
4084
0
case 293:
4085
0
YY_RULE_SETUP
4086
0
#line 494 "src/maplexer.l"
4087
0
{ MS_LEXER_RETURN_TOKEN(MS_POSTGIS); }
4088
0
  YY_BREAK
4089
0
case 294:
4090
0
YY_RULE_SETUP
4091
0
#line 495 "src/maplexer.l"
4092
0
{ MS_LEXER_RETURN_TOKEN(MS_PLUGIN); }
4093
0
  YY_BREAK
4094
0
case 295:
4095
0
YY_RULE_SETUP
4096
0
#line 496 "src/maplexer.l"
4097
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_QUERY); }
4098
0
  YY_BREAK
4099
0
case 296:
4100
0
YY_RULE_SETUP
4101
0
#line 497 "src/maplexer.l"
4102
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_RASTER); }
4103
0
  YY_BREAK
4104
0
case 297:
4105
0
YY_RULE_SETUP
4106
0
#line 498 "src/maplexer.l"
4107
0
{ MS_LEXER_RETURN_TOKEN(MS_RASTER_LABEL); }
4108
0
  YY_BREAK
4109
0
case 298:
4110
0
YY_RULE_SETUP
4111
0
#line 499 "src/maplexer.l"
4112
0
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_RIGHT); }
4113
0
  YY_BREAK
4114
0
case 299:
4115
0
YY_RULE_SETUP
4116
0
#line 500 "src/maplexer.l"
4117
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_ROUND); }
4118
0
  YY_BREAK
4119
0
case 300:
4120
0
YY_RULE_SETUP
4121
0
#line 501 "src/maplexer.l"
4122
0
{ MS_LEXER_RETURN_TOKEN(MS_SELECTED); }
4123
0
  YY_BREAK
4124
0
case 301:
4125
0
YY_RULE_SETUP
4126
0
#line 502 "src/maplexer.l"
4127
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SIMPLE); }
4128
0
  YY_BREAK
4129
0
case 302:
4130
0
YY_RULE_SETUP
4131
0
#line 503 "src/maplexer.l"
4132
0
{ MS_LEXER_RETURN_TOKEN(MS_SINGLE); }
4133
0
  YY_BREAK
4134
0
case 303:
4135
0
YY_RULE_SETUP
4136
0
#line 504 "src/maplexer.l"
4137
0
{ MS_LEXER_RETURN_TOKEN(MS_SMALL); }
4138
0
  YY_BREAK
4139
0
case 304:
4140
0
YY_RULE_SETUP
4141
0
#line 505 "src/maplexer.l"
4142
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_SQUARE); }
4143
0
  YY_BREAK
4144
0
case 305:
4145
0
YY_RULE_SETUP
4146
0
#line 506 "src/maplexer.l"
4147
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SVG); }
4148
0
  YY_BREAK
4149
0
case 306:
4150
0
YY_RULE_SETUP
4151
0
#line 507 "src/maplexer.l"
4152
0
{ MS_LEXER_RETURN_TOKEN(POLAROFFSET); }
4153
0
  YY_BREAK
4154
0
case 307:
4155
0
YY_RULE_SETUP
4156
0
#line 508 "src/maplexer.l"
4157
0
{ MS_LEXER_RETURN_TOKEN(MS_TINY); }
4158
0
  YY_BREAK
4159
0
case 308:
4160
0
YY_RULE_SETUP
4161
0
#line 509 "src/maplexer.l"
4162
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_TRIANGLE); }
4163
0
  YY_BREAK
4164
0
case 309:
4165
0
YY_RULE_SETUP
4166
0
#line 510 "src/maplexer.l"
4167
0
{ MS_LEXER_RETURN_TOKEN(MS_TRUE); }
4168
0
  YY_BREAK
4169
0
case 310:
4170
0
YY_RULE_SETUP
4171
0
#line 511 "src/maplexer.l"
4172
0
{ MS_LEXER_RETURN_TOKEN(MS_TRUETYPE); }
4173
0
  YY_BREAK
4174
0
case 311:
4175
0
YY_RULE_SETUP
4176
0
#line 512 "src/maplexer.l"
4177
0
{ MS_LEXER_RETURN_TOKEN(MS_UC); }
4178
0
  YY_BREAK
4179
0
case 312:
4180
0
YY_RULE_SETUP
4181
0
#line 513 "src/maplexer.l"
4182
0
{ MS_LEXER_RETURN_TOKEN(MS_UL); }
4183
0
  YY_BREAK
4184
0
case 313:
4185
0
YY_RULE_SETUP
4186
0
#line 514 "src/maplexer.l"
4187
0
{ MS_LEXER_RETURN_TOKEN(MS_UR); }
4188
0
  YY_BREAK
4189
0
case 314:
4190
0
YY_RULE_SETUP
4191
0
#line 515 "src/maplexer.l"
4192
0
{ MS_LEXER_RETURN_TOKEN(MS_UNION); }
4193
0
  YY_BREAK
4194
0
case 315:
4195
0
YY_RULE_SETUP
4196
0
#line 516 "src/maplexer.l"
4197
0
{ MS_LEXER_RETURN_TOKEN(MS_UVRASTER); }
4198
0
  YY_BREAK
4199
0
case 316:
4200
0
YY_RULE_SETUP
4201
0
#line 517 "src/maplexer.l"
4202
0
{ MS_LEXER_RETURN_TOKEN(MS_CONTOUR); }
4203
0
  YY_BREAK
4204
0
case 317:
4205
0
YY_RULE_SETUP
4206
0
#line 518 "src/maplexer.l"
4207
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_VECTOR); }
4208
0
  YY_BREAK
4209
0
case 318:
4210
0
YY_RULE_SETUP
4211
0
#line 519 "src/maplexer.l"
4212
0
{ MS_LEXER_RETURN_TOKEN(MS_WFS); }
4213
0
  YY_BREAK
4214
0
case 319:
4215
0
YY_RULE_SETUP
4216
0
#line 520 "src/maplexer.l"
4217
0
{ MS_LEXER_RETURN_TOKEN(MS_WMS); }
4218
0
  YY_BREAK
4219
0
case 320:
4220
/* rule 320 can match eol */
4221
0
YY_RULE_SETUP
4222
0
#line 522 "src/maplexer.l"
4223
0
{
4224
0
                                                 msyytext++;
4225
0
                                                 msyytext[msyyleng-1-1] = '\0';
4226
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4227
0
                                                                         msyystring_buffer_size);
4228
0
                                                 strcpy(msyystring_buffer,msyytext);
4229
0
                                                 return(MS_BINDING);
4230
0
                                               }
4231
0
  YY_BREAK
4232
0
case 321:
4233
0
YY_RULE_SETUP
4234
0
#line 531 "src/maplexer.l"
4235
0
{ 
4236
  /* attribute binding - shape (fixed value) */
4237
0
  return(MS_TOKEN_BINDING_SHAPE);
4238
0
}
4239
0
  YY_BREAK
4240
0
case 322:
4241
0
YY_RULE_SETUP
4242
0
#line 535 "src/maplexer.l"
4243
0
{ 
4244
  /* attribute binding - map cellsize */
4245
0
  return(MS_TOKEN_BINDING_MAP_CELLSIZE);
4246
0
}
4247
0
  YY_BREAK
4248
0
case 323:
4249
0
YY_RULE_SETUP
4250
0
#line 539 "src/maplexer.l"
4251
0
{ 
4252
  /* attribute binding - data cellsize */
4253
0
  return(MS_TOKEN_BINDING_DATA_CELLSIZE);
4254
0
}
4255
0
  YY_BREAK
4256
0
case 324:
4257
/* rule 324 can match eol */
4258
0
YY_RULE_SETUP
4259
0
#line 543 "src/maplexer.l"
4260
0
{
4261
  /* attribute binding - numeric (no quotes) */
4262
0
  msyytext++;
4263
0
  msyytext[msyyleng-1-1] = '\0';
4264
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4265
0
                          msyystring_buffer_size);
4266
0
  strcpy(msyystring_buffer, msyytext);
4267
0
  return(MS_TOKEN_BINDING_DOUBLE);
4268
0
}
4269
0
  YY_BREAK
4270
0
case 325:
4271
/* rule 325 can match eol */
4272
0
YY_RULE_SETUP
4273
0
#line 552 "src/maplexer.l"
4274
0
{
4275
  /* attribute binding - string (single or double quotes) */
4276
0
  msyytext+=2;
4277
0
  msyytext[msyyleng-2-2] = '\0';
4278
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4279
0
                          msyystring_buffer_size);
4280
0
  strcpy(msyystring_buffer, msyytext);
4281
0
  return(MS_TOKEN_BINDING_STRING);
4282
0
}
4283
0
  YY_BREAK
4284
0
case 326:
4285
/* rule 326 can match eol */
4286
0
YY_RULE_SETUP
4287
0
#line 561 "src/maplexer.l"
4288
0
{
4289
  /* attribute binding - time */
4290
0
  msyytext+=2;
4291
0
  msyytext[msyyleng-2-2] = '\0';
4292
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng,
4293
0
                          msyystring_buffer_size);
4294
0
  strcpy(msyystring_buffer, msyytext);
4295
0
  return(MS_TOKEN_BINDING_TIME);
4296
0
}
4297
0
  YY_BREAK
4298
0
case 327:
4299
0
YY_RULE_SETUP
4300
0
#line 571 "src/maplexer.l"
4301
0
{
4302
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4303
0
                          msyystring_buffer_size);
4304
0
  strcpy(msyystring_buffer,msyytext);
4305
0
  msyynumber = atof(msyytext);
4306
0
  return(MS_NUMBER); 
4307
0
}
4308
0
  YY_BREAK
4309
0
case 328:
4310
0
YY_RULE_SETUP
4311
0
#line 579 "src/maplexer.l"
4312
0
{
4313
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4314
0
                          msyystring_buffer_size);
4315
0
  strcpy(msyystring_buffer,msyytext);
4316
0
  msyynumber = atof(msyytext);
4317
0
  return(MS_TOKEN_LITERAL_NUMBER);
4318
0
}
4319
0
  YY_BREAK
4320
0
case 329:
4321
/* rule 329 can match eol */
4322
0
YY_RULE_SETUP
4323
0
#line 587 "src/maplexer.l"
4324
0
{
4325
0
  msyytext++;
4326
0
  msyytext[msyyleng-1-1] = '\0';
4327
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4328
0
                          msyystring_buffer_size);
4329
0
  strcpy(msyystring_buffer, msyytext);
4330
0
  return(MS_TOKEN_LITERAL_TIME);
4331
0
}
4332
0
  YY_BREAK
4333
0
case 330:
4334
/* rule 330 can match eol */
4335
0
YY_RULE_SETUP
4336
0
#line 596 "src/maplexer.l"
4337
0
{
4338
0
                                                 msyytext++;
4339
0
                                                 msyytext[msyyleng-1-2] = '\0';
4340
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4341
0
                                                                         msyystring_buffer_size);
4342
0
                                                 strcpy(msyystring_buffer, msyytext);
4343
0
                                                 return(MS_IREGEX);
4344
0
                                               }
4345
0
  YY_BREAK
4346
0
case 331:
4347
/* rule 331 can match eol */
4348
0
YY_RULE_SETUP
4349
0
#line 605 "src/maplexer.l"
4350
0
{
4351
0
                                                 msyytext++;
4352
0
                                                 msyytext[msyyleng-1-1] = '\0';
4353
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4354
0
                                                                         msyystring_buffer_size);
4355
0
                                                 strcpy(msyystring_buffer, msyytext);
4356
0
                                                 return(MS_REGEX);
4357
0
                                               }
4358
0
  YY_BREAK
4359
0
case 332:
4360
0
YY_RULE_SETUP
4361
0
#line 614 "src/maplexer.l"
4362
0
{
4363
0
                                                 msyytext++;
4364
0
                                                 msyytext[msyyleng-1-1] = '\0';
4365
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4366
0
                                                                         msyystring_buffer_size);
4367
0
                                                 strcpy(msyystring_buffer, msyytext);
4368
0
                                                 return(MS_EXPRESSION);
4369
0
                                               }
4370
0
  YY_BREAK
4371
0
case 333:
4372
0
YY_RULE_SETUP
4373
0
#line 623 "src/maplexer.l"
4374
0
{
4375
0
                                                 msyytext++;
4376
0
                                                 msyytext[msyyleng-1-1] = '\0';
4377
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4378
0
                                                                         msyystring_buffer_size);
4379
0
                                                 strcpy(msyystring_buffer, msyytext);
4380
0
                                                 return(MS_LIST);
4381
0
                                               }
4382
0
  YY_BREAK
4383
0
case 334:
4384
0
YY_RULE_SETUP
4385
0
#line 632 "src/maplexer.l"
4386
0
{
4387
0
                                                 msyystring_return_state = MS_STRING;
4388
0
                                                 msyystring_begin = msyytext[0]; 
4389
0
                                                 msyystring_size = 0;
4390
0
                                                 msyystring_buffer[0] = '\0';
4391
0
                                                 BEGIN(MSSTRING);
4392
0
                                              }
4393
0
  YY_BREAK
4394
0
case 335:
4395
0
YY_RULE_SETUP
4396
0
#line 640 "src/maplexer.l"
4397
0
{
4398
0
                                                if (msyystring_begin == msyytext[0]) {
4399
0
                                                   BEGIN(msyystring_begin_state);
4400
0
                                                   if (msyystring_return_state == MS_STRING) {
4401
0
                                                      if (msyystring_icase && msyyleng==2) {
4402
0
                                                         msyystring_icase = MS_FALSE; // reset
4403
0
                                                         return MS_ISTRING;
4404
0
                                                      } else
4405
0
                                                        return MS_STRING;
4406
0
                                                   }
4407
0
                                                   return msyystring_return_state;
4408
4409
0
                                                }
4410
0
                                                else {
4411
0
                                                  int old_size = msyystring_size;
4412
0
                                                  msyystring_size += (msyyleng==2) ? 2 : 1;
4413
0
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4414
0
                                                                          msyystring_buffer_size);
4415
0
                                                  msyystring_buffer[old_size] = *msyytext;
4416
0
                                                  if (msyyleng==2) {
4417
0
                                                     msyystring_buffer[old_size+1] = msyytext[1];
4418
0
                                                  }
4419
0
                                                  msyystring_buffer[msyystring_size] = '\0';
4420
0
                                                }
4421
0
                                              }
4422
0
  YY_BREAK
4423
0
case 336:
4424
0
YY_RULE_SETUP
4425
0
#line 666 "src/maplexer.l"
4426
0
{ 
4427
0
                                                ++msyystring_size;
4428
0
                                                MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4429
0
                                                                        msyystring_buffer_size);
4430
4431
0
                                                if (msyyleng == 2)
4432
0
                                                    msyystring_buffer[msyystring_size-1] = msyytext[1]; 
4433
0
                                                else
4434
0
                                                    msyystring_buffer[msyystring_size-1] = msyytext[0];
4435
0
                                                msyystring_buffer[msyystring_size] = '\0';
4436
0
                                             }
4437
0
  YY_BREAK
4438
0
case 337:
4439
/* rule 337 can match eol */
4440
0
YY_RULE_SETUP
4441
0
#line 678 "src/maplexer.l"
4442
0
{
4443
0
                                                 int old_size = msyystring_size;
4444
0
                                                 msyystring_size += msyyleng;
4445
0
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4446
0
                                                                         msyystring_buffer_size);
4447
0
                                                 memcpy(msyystring_buffer + old_size, msyytext, msyyleng + 1);
4448
0
                                             }
4449
0
  YY_BREAK
4450
0
case 338:
4451
/* rule 338 can match eol */
4452
0
YY_RULE_SETUP
4453
0
#line 686 "src/maplexer.l"
4454
0
{
4455
0
                                                 msyytext++;
4456
0
                                                 msyytext[msyyleng-1-1] = '\0';
4457
4458
0
                                                 if(include_stack_ptr >= MAX_INCLUDE_DEPTH) {
4459
0
                                                   msSetError(MS_IOERR, "Includes nested to deeply.", "msyylex()");
4460
0
                                                   return(-1);
4461
0
                                                 }
4462
4463
0
                                                 msyyin = fopen(msBuildPath(path, msyybasepath, msyytext), "r");
4464
0
                                                 if(!msyyin) {
4465
0
                                                   msSetError(MS_IOERR, "Error opening included file \"%s\".", "msyylex()", msyytext);
4466
0
                                                   msyyin = YY_CURRENT_BUFFER->yy_input_file;
4467
0
                                                   return(-1);
4468
0
                                                 }
4469
4470
0
                                                 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; /* save state */
4471
0
                                                 include_lineno[include_stack_ptr] = msyylineno;
4472
0
                                                 include_stack_ptr++;
4473
4474
0
                                                 msyy_switch_to_buffer( msyy_create_buffer(msyyin, YY_BUF_SIZE) );
4475
0
                                                 msyylineno = 1;
4476
4477
0
                                                 BEGIN(INITIAL);
4478
0
                                               }
4479
0
  YY_BREAK
4480
0
case 339:
4481
0
YY_RULE_SETUP
4482
0
#line 712 "src/maplexer.l"
4483
0
{
4484
0
                                                 msyystring_return_state = MS_TOKEN_LITERAL_STRING;
4485
0
                                                 msyystring_begin = msyytext[0]; 
4486
0
                                                 msyystring_size = 0;
4487
0
                                                 msyystring_buffer[0] = '\0';
4488
0
                                                 BEGIN(MSSTRING);
4489
0
                                              }
4490
0
  YY_BREAK
4491
0
case 340:
4492
0
YY_RULE_SETUP
4493
0
#line 720 "src/maplexer.l"
4494
0
{ 
4495
0
                                                    MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4496
0
                                                                            msyystring_buffer_size);
4497
0
                                                    strcpy(msyystring_buffer, msyytext); 
4498
0
                                                    return(MS_STRING); 
4499
0
                                                }
4500
0
  YY_BREAK
4501
0
case 341:
4502
/* rule 341 can match eol */
4503
0
YY_RULE_SETUP
4504
0
#line 727 "src/maplexer.l"
4505
0
{ msyylineno++; }
4506
0
  YY_BREAK
4507
0
case YY_STATE_EOF(INITIAL):
4508
0
case YY_STATE_EOF(CONFIG_FILE):
4509
0
#line 729 "src/maplexer.l"
4510
0
{
4511
0
                                                  if( --include_stack_ptr < 0 )
4512
0
                                                    return(EOF); /* end of main file */
4513
0
                                                  else {
4514
0
                                                    fclose(YY_CURRENT_BUFFER->yy_input_file);
4515
0
                                                    msyy_delete_buffer( YY_CURRENT_BUFFER );
4516
0
                                                    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
4517
0
                                                    msyylineno = include_lineno[include_stack_ptr];
4518
0
                                                  }
4519
0
                                                }
4520
0
  YY_BREAK
4521
0
case 342:
4522
/* rule 342 can match eol */
4523
0
YY_RULE_SETUP
4524
0
#line 740 "src/maplexer.l"
4525
0
{
4526
0
  return(0); 
4527
0
}
4528
0
  YY_BREAK
4529
0
case 343:
4530
0
YY_RULE_SETUP
4531
0
#line 744 "src/maplexer.l"
4532
0
{ 
4533
0
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4534
0
                                                                          msyystring_buffer_size);
4535
0
                                                  strcpy(msyystring_buffer, msyytext); 
4536
0
                                                  return(0); 
4537
0
                                                }
4538
0
  YY_BREAK
4539
0
case 344:
4540
0
YY_RULE_SETUP
4541
0
#line 750 "src/maplexer.l"
4542
0
{ return(msyytext[0]); }
4543
0
  YY_BREAK
4544
0
case 345:
4545
0
YY_RULE_SETUP
4546
0
#line 751 "src/maplexer.l"
4547
0
ECHO;
4548
0
  YY_BREAK
4549
0
#line 4550 "src/maplexer.c"
4550
0
case YY_STATE_EOF(EXPRESSION_STRING):
4551
0
case YY_STATE_EOF(INCLUDE):
4552
0
case YY_STATE_EOF(MSSTRING):
4553
0
case YY_STATE_EOF(MULTILINE_COMMENT):
4554
0
  yyterminate();
4555
4556
0
  case YY_END_OF_BUFFER:
4557
0
    {
4558
    /* Amount of text matched not including the EOB char. */
4559
0
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4560
4561
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
4562
0
    *yy_cp = (yy_hold_char);
4563
0
    YY_RESTORE_YY_MORE_OFFSET
4564
4565
0
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4566
0
      {
4567
      /* We're scanning a new file or input source.  It's
4568
       * possible that this happened because the user
4569
       * just pointed yyin at a new source and called
4570
       * yylex().  If so, then we have to assure
4571
       * consistency between YY_CURRENT_BUFFER and our
4572
       * globals.  Here is the right place to do so, because
4573
       * this is the first action (other than possibly a
4574
       * back-up) that will match for the new input source.
4575
       */
4576
0
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4577
0
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4578
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4579
0
      }
4580
4581
    /* Note that here we test for yy_c_buf_p "<=" to the position
4582
     * of the first EOB in the buffer, since yy_c_buf_p will
4583
     * already have been incremented past the NUL character
4584
     * (since all states make transitions on EOB to the
4585
     * end-of-buffer state).  Contrast this with the test
4586
     * in input().
4587
     */
4588
0
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4589
0
      { /* This was really a NUL. */
4590
0
      yy_state_type yy_next_state;
4591
4592
0
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4593
4594
0
      yy_current_state = yy_get_previous_state(  );
4595
4596
      /* Okay, we're now positioned to make the NUL
4597
       * transition.  We couldn't have
4598
       * yy_get_previous_state() go ahead and do it
4599
       * for us because it doesn't know how to deal
4600
       * with the possibility of jamming (and we don't
4601
       * want to build jamming into it because then it
4602
       * will run more slowly).
4603
       */
4604
4605
0
      yy_next_state = yy_try_NUL_trans( yy_current_state );
4606
4607
0
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4608
4609
0
      if ( yy_next_state )
4610
0
        {
4611
        /* Consume the NUL. */
4612
0
        yy_cp = ++(yy_c_buf_p);
4613
0
        yy_current_state = yy_next_state;
4614
0
        goto yy_match;
4615
0
        }
4616
4617
0
      else
4618
0
        {
4619
0
        yy_cp = (yy_last_accepting_cpos);
4620
0
        yy_current_state = (yy_last_accepting_state);
4621
0
        goto yy_find_action;
4622
0
        }
4623
0
      }
4624
4625
0
    else switch ( yy_get_next_buffer(  ) )
4626
0
      {
4627
0
      case EOB_ACT_END_OF_FILE:
4628
0
        {
4629
0
        (yy_did_buffer_switch_on_eof) = 0;
4630
4631
0
        if ( yywrap(  ) )
4632
0
          {
4633
          /* Note: because we've taken care in
4634
           * yy_get_next_buffer() to have set up
4635
           * yytext, we can now set up
4636
           * yy_c_buf_p so that if some total
4637
           * hoser (like flex itself) wants to
4638
           * call the scanner after we return the
4639
           * YY_NULL, it'll still work - another
4640
           * YY_NULL will get returned.
4641
           */
4642
0
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4643
4644
0
          yy_act = YY_STATE_EOF(YY_START);
4645
0
          goto do_action;
4646
0
          }
4647
4648
0
        else
4649
0
          {
4650
0
          if ( ! (yy_did_buffer_switch_on_eof) )
4651
0
            YY_NEW_FILE;
4652
0
          }
4653
0
        break;
4654
0
        }
4655
4656
0
      case EOB_ACT_CONTINUE_SCAN:
4657
0
        (yy_c_buf_p) =
4658
0
          (yytext_ptr) + yy_amount_of_matched_text;
4659
4660
0
        yy_current_state = yy_get_previous_state(  );
4661
4662
0
        yy_cp = (yy_c_buf_p);
4663
0
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4664
0
        goto yy_match;
4665
4666
0
      case EOB_ACT_LAST_MATCH:
4667
0
        (yy_c_buf_p) =
4668
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4669
4670
0
        yy_current_state = yy_get_previous_state(  );
4671
4672
0
        yy_cp = (yy_c_buf_p);
4673
0
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4674
0
        goto yy_find_action;
4675
0
      }
4676
0
    break;
4677
0
    }
4678
4679
0
  default:
4680
0
    YY_FATAL_ERROR(
4681
0
      "fatal flex scanner internal error--no action found" );
4682
0
  } /* end of action switch */
4683
0
    } /* end of scanning one token */
4684
0
  } /* end of user's declarations */
4685
0
} /* end of yylex */
4686
4687
/* yy_get_next_buffer - try to read in a new buffer
4688
 *
4689
 * Returns a code representing an action:
4690
 *  EOB_ACT_LAST_MATCH -
4691
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4692
 *  EOB_ACT_END_OF_FILE - end of file
4693
 */
4694
static int yy_get_next_buffer (void)
4695
0
{
4696
0
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4697
0
  char *source = (yytext_ptr);
4698
0
  int number_to_move, i;
4699
0
  int ret_val;
4700
4701
0
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4702
0
    YY_FATAL_ERROR(
4703
0
    "fatal flex scanner internal error--end of buffer missed" );
4704
4705
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4706
0
    { /* Don't try to fill the buffer, so this is an EOF. */
4707
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4708
0
      {
4709
      /* We matched a single character, the EOB, so
4710
       * treat this as a final EOF.
4711
       */
4712
0
      return EOB_ACT_END_OF_FILE;
4713
0
      }
4714
4715
0
    else
4716
0
      {
4717
      /* We matched some text prior to the EOB, first
4718
       * process it.
4719
       */
4720
0
      return EOB_ACT_LAST_MATCH;
4721
0
      }
4722
0
    }
4723
4724
  /* Try to read more data. */
4725
4726
  /* First move last chars to start of buffer. */
4727
0
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4728
4729
0
  for ( i = 0; i < number_to_move; ++i )
4730
0
    *(dest++) = *(source++);
4731
4732
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4733
    /* don't do the read, it's not guaranteed to return an EOF,
4734
     * just force an EOF
4735
     */
4736
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4737
4738
0
  else
4739
0
    {
4740
0
      int num_to_read =
4741
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4742
4743
0
    while ( num_to_read <= 0 )
4744
0
      { /* Not enough room in the buffer - grow it. */
4745
4746
      /* just a shorter name for the current buffer */
4747
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4748
4749
0
      int yy_c_buf_p_offset =
4750
0
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
4751
4752
0
      if ( b->yy_is_our_buffer )
4753
0
        {
4754
0
        int new_size = b->yy_buf_size * 2;
4755
4756
0
        if ( new_size <= 0 )
4757
0
          b->yy_buf_size += b->yy_buf_size / 8;
4758
0
        else
4759
0
          b->yy_buf_size *= 2;
4760
4761
0
        b->yy_ch_buf = (char *)
4762
          /* Include room in for 2 EOB chars. */
4763
0
          yyrealloc( (void *) b->yy_ch_buf,
4764
0
               (yy_size_t) (b->yy_buf_size + 2)  );
4765
0
        }
4766
0
      else
4767
        /* Can't grow it, we don't own it. */
4768
0
        b->yy_ch_buf = NULL;
4769
4770
0
      if ( ! b->yy_ch_buf )
4771
0
        YY_FATAL_ERROR(
4772
0
        "fatal error - scanner input buffer overflow" );
4773
4774
0
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4775
4776
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4777
0
            number_to_move - 1;
4778
4779
0
      }
4780
4781
0
    if ( num_to_read > YY_READ_BUF_SIZE )
4782
0
      num_to_read = YY_READ_BUF_SIZE;
4783
4784
    /* Read in more data. */
4785
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4786
0
      (yy_n_chars), num_to_read );
4787
4788
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4789
0
    }
4790
4791
0
  if ( (yy_n_chars) == 0 )
4792
0
    {
4793
0
    if ( number_to_move == YY_MORE_ADJ )
4794
0
      {
4795
0
      ret_val = EOB_ACT_END_OF_FILE;
4796
0
      yyrestart( yyin  );
4797
0
      }
4798
4799
0
    else
4800
0
      {
4801
0
      ret_val = EOB_ACT_LAST_MATCH;
4802
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4803
0
        YY_BUFFER_EOF_PENDING;
4804
0
      }
4805
0
    }
4806
4807
0
  else
4808
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
4809
4810
0
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4811
    /* Extend the array by 50%, plus the number we really need. */
4812
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4813
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4814
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4815
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4816
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4817
    /* "- 2" to take care of EOB's */
4818
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4819
0
  }
4820
4821
0
  (yy_n_chars) += number_to_move;
4822
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4823
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4824
4825
0
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4826
4827
0
  return ret_val;
4828
0
}
4829
4830
/* yy_get_previous_state - get the state just before the EOB char was reached */
4831
4832
    static yy_state_type yy_get_previous_state (void)
4833
0
{
4834
0
  yy_state_type yy_current_state;
4835
0
  char *yy_cp;
4836
    
4837
0
  yy_current_state = (yy_start);
4838
4839
0
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4840
0
    {
4841
0
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 86);
4842
0
    if ( yy_accept[yy_current_state] )
4843
0
      {
4844
0
      (yy_last_accepting_state) = yy_current_state;
4845
0
      (yy_last_accepting_cpos) = yy_cp;
4846
0
      }
4847
0
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4848
0
      {
4849
0
      yy_current_state = (int) yy_def[yy_current_state];
4850
0
      if ( yy_current_state >= 1737 )
4851
0
        yy_c = yy_meta[yy_c];
4852
0
      }
4853
0
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4854
0
    }
4855
4856
0
  return yy_current_state;
4857
0
}
4858
4859
/* yy_try_NUL_trans - try to make a transition on the NUL character
4860
 *
4861
 * synopsis
4862
 *  next_state = yy_try_NUL_trans( current_state );
4863
 */
4864
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4865
0
{
4866
0
  int yy_is_jam;
4867
0
      char *yy_cp = (yy_c_buf_p);
4868
4869
0
  YY_CHAR yy_c = 86;
4870
0
  if ( yy_accept[yy_current_state] )
4871
0
    {
4872
0
    (yy_last_accepting_state) = yy_current_state;
4873
0
    (yy_last_accepting_cpos) = yy_cp;
4874
0
    }
4875
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4876
0
    {
4877
0
    yy_current_state = (int) yy_def[yy_current_state];
4878
0
    if ( yy_current_state >= 1737 )
4879
0
      yy_c = yy_meta[yy_c];
4880
0
    }
4881
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4882
0
  yy_is_jam = (yy_current_state == 1736);
4883
4884
0
    return yy_is_jam ? 0 : yy_current_state;
4885
0
}
4886
4887
#ifndef YY_NO_UNPUT
4888
4889
    static void yyunput (int c, char * yy_bp )
4890
0
{
4891
0
  char *yy_cp;
4892
    
4893
0
    yy_cp = (yy_c_buf_p);
4894
4895
  /* undo effects of setting up yytext */
4896
0
  *yy_cp = (yy_hold_char);
4897
4898
0
  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4899
0
    { /* need to shift things up to make room */
4900
    /* +2 for EOB chars. */
4901
0
    int number_to_move = (yy_n_chars) + 2;
4902
0
    char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4903
0
          YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4904
0
    char *source =
4905
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4906
4907
0
    while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4908
0
      *--dest = *--source;
4909
4910
0
    yy_cp += (int) (dest - source);
4911
0
    yy_bp += (int) (dest - source);
4912
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4913
0
      (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4914
4915
0
    if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4916
0
      YY_FATAL_ERROR( "flex scanner push-back overflow" );
4917
0
    }
4918
4919
0
  *--yy_cp = (char) c;
4920
4921
0
  (yytext_ptr) = yy_bp;
4922
0
  (yy_hold_char) = *yy_cp;
4923
0
  (yy_c_buf_p) = yy_cp;
4924
0
}
4925
4926
#endif
4927
4928
#ifndef YY_NO_INPUT
4929
#ifdef __cplusplus
4930
    static int yyinput (void)
4931
#else
4932
    static int input  (void)
4933
#endif
4934
4935
{
4936
  int c;
4937
    
4938
  *(yy_c_buf_p) = (yy_hold_char);
4939
4940
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4941
    {
4942
    /* yy_c_buf_p now points to the character we want to return.
4943
     * If this occurs *before* the EOB characters, then it's a
4944
     * valid NUL; if not, then we've hit the end of the buffer.
4945
     */
4946
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4947
      /* This was really a NUL. */
4948
      *(yy_c_buf_p) = '\0';
4949
4950
    else
4951
      { /* need more input */
4952
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4953
      ++(yy_c_buf_p);
4954
4955
      switch ( yy_get_next_buffer(  ) )
4956
        {
4957
        case EOB_ACT_LAST_MATCH:
4958
          /* This happens because yy_g_n_b()
4959
           * sees that we've accumulated a
4960
           * token and flags that we need to
4961
           * try matching the token before
4962
           * proceeding.  But for input(),
4963
           * there's no matching to consider.
4964
           * So convert the EOB_ACT_LAST_MATCH
4965
           * to EOB_ACT_END_OF_FILE.
4966
           */
4967
4968
          /* Reset buffer status. */
4969
          yyrestart( yyin );
4970
4971
          /*FALLTHROUGH*/
4972
4973
        case EOB_ACT_END_OF_FILE:
4974
          {
4975
          if ( yywrap(  ) )
4976
            return 0;
4977
4978
          if ( ! (yy_did_buffer_switch_on_eof) )
4979
            YY_NEW_FILE;
4980
#ifdef __cplusplus
4981
          return yyinput();
4982
#else
4983
          return input();
4984
#endif
4985
          }
4986
4987
        case EOB_ACT_CONTINUE_SCAN:
4988
          (yy_c_buf_p) = (yytext_ptr) + offset;
4989
          break;
4990
        }
4991
      }
4992
    }
4993
4994
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
4995
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
4996
  (yy_hold_char) = *++(yy_c_buf_p);
4997
4998
  return c;
4999
}
5000
#endif  /* ifndef YY_NO_INPUT */
5001
5002
/** Immediately switch to a different input stream.
5003
 * @param input_file A readable stream.
5004
 * 
5005
 * @note This function does not reset the start condition to @c INITIAL .
5006
 */
5007
    void yyrestart  (FILE * input_file )
5008
0
{
5009
    
5010
0
  if ( ! YY_CURRENT_BUFFER ){
5011
0
        yyensure_buffer_stack ();
5012
0
    YY_CURRENT_BUFFER_LVALUE =
5013
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
5014
0
  }
5015
5016
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
5017
0
  yy_load_buffer_state(  );
5018
0
}
5019
5020
/** Switch to a different input buffer.
5021
 * @param new_buffer The new input buffer.
5022
 * 
5023
 */
5024
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
5025
0
{
5026
    
5027
  /* TODO. We should be able to replace this entire function body
5028
   * with
5029
   *    yypop_buffer_state();
5030
   *    yypush_buffer_state(new_buffer);
5031
     */
5032
0
  yyensure_buffer_stack ();
5033
0
  if ( YY_CURRENT_BUFFER == new_buffer )
5034
0
    return;
5035
5036
0
  if ( YY_CURRENT_BUFFER )
5037
0
    {
5038
    /* Flush out information for old buffer. */
5039
0
    *(yy_c_buf_p) = (yy_hold_char);
5040
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5041
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5042
0
    }
5043
5044
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5045
0
  yy_load_buffer_state(  );
5046
5047
  /* We don't actually know whether we did this switch during
5048
   * EOF (yywrap()) processing, but the only time this flag
5049
   * is looked at is after yywrap() is called, so it's safe
5050
   * to go ahead and always set it.
5051
   */
5052
0
  (yy_did_buffer_switch_on_eof) = 1;
5053
0
}
5054
5055
static void yy_load_buffer_state  (void)
5056
0
{
5057
0
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5058
0
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
5059
0
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
5060
0
  (yy_hold_char) = *(yy_c_buf_p);
5061
0
}
5062
5063
/** Allocate and initialize an input buffer state.
5064
 * @param file A readable stream.
5065
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
5066
 * 
5067
 * @return the allocated buffer state.
5068
 */
5069
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
5070
0
{
5071
0
  YY_BUFFER_STATE b;
5072
    
5073
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5074
0
  if ( ! b )
5075
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5076
5077
0
  b->yy_buf_size = size;
5078
5079
  /* yy_ch_buf has to be 2 characters longer than the size given because
5080
   * we need to put in 2 end-of-buffer characters.
5081
   */
5082
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
5083
0
  if ( ! b->yy_ch_buf )
5084
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5085
5086
0
  b->yy_is_our_buffer = 1;
5087
5088
0
  yy_init_buffer( b, file );
5089
5090
0
  return b;
5091
0
}
5092
5093
/** Destroy the buffer.
5094
 * @param b a buffer created with yy_create_buffer()
5095
 * 
5096
 */
5097
    void yy_delete_buffer (YY_BUFFER_STATE  b )
5098
0
{
5099
    
5100
0
  if ( ! b )
5101
0
    return;
5102
5103
0
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
5104
0
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
5105
5106
0
  if ( b->yy_is_our_buffer )
5107
0
    yyfree( (void *) b->yy_ch_buf  );
5108
5109
0
  yyfree( (void *) b  );
5110
0
}
5111
5112
/* Initializes or reinitializes a buffer.
5113
 * This function is sometimes called more than once on the same buffer,
5114
 * such as during a yyrestart() or at EOF.
5115
 */
5116
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
5117
5118
0
{
5119
0
  int oerrno = errno;
5120
    
5121
0
  yy_flush_buffer( b );
5122
5123
0
  b->yy_input_file = file;
5124
0
  b->yy_fill_buffer = 1;
5125
5126
    /* If b is the current buffer, then yy_init_buffer was _probably_
5127
     * called from yyrestart() or through yy_get_next_buffer.
5128
     * In that case, we don't want to reset the lineno or column.
5129
     */
5130
0
    if (b != YY_CURRENT_BUFFER){
5131
0
        b->yy_bs_lineno = 1;
5132
0
        b->yy_bs_column = 0;
5133
0
    }
5134
5135
0
        b->yy_is_interactive = 0;
5136
    
5137
0
  errno = oerrno;
5138
0
}
5139
5140
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
5141
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
5142
 * 
5143
 */
5144
    void yy_flush_buffer (YY_BUFFER_STATE  b )
5145
0
{
5146
0
      if ( ! b )
5147
0
    return;
5148
5149
0
  b->yy_n_chars = 0;
5150
5151
  /* We always need two end-of-buffer characters.  The first causes
5152
   * a transition to the end-of-buffer state.  The second causes
5153
   * a jam in that state.
5154
   */
5155
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
5156
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
5157
5158
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
5159
5160
0
  b->yy_at_bol = 1;
5161
0
  b->yy_buffer_status = YY_BUFFER_NEW;
5162
5163
0
  if ( b == YY_CURRENT_BUFFER )
5164
0
    yy_load_buffer_state(  );
5165
0
}
5166
5167
/** Pushes the new state onto the stack. The new state becomes
5168
 *  the current state. This function will allocate the stack
5169
 *  if necessary.
5170
 *  @param new_buffer The new state.
5171
 *  
5172
 */
5173
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
5174
0
{
5175
0
      if (new_buffer == NULL)
5176
0
    return;
5177
5178
0
  yyensure_buffer_stack();
5179
5180
  /* This block is copied from yy_switch_to_buffer. */
5181
0
  if ( YY_CURRENT_BUFFER )
5182
0
    {
5183
    /* Flush out information for old buffer. */
5184
0
    *(yy_c_buf_p) = (yy_hold_char);
5185
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5186
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5187
0
    }
5188
5189
  /* Only push if top exists. Otherwise, replace top. */
5190
0
  if (YY_CURRENT_BUFFER)
5191
0
    (yy_buffer_stack_top)++;
5192
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5193
5194
  /* copied from yy_switch_to_buffer. */
5195
0
  yy_load_buffer_state(  );
5196
0
  (yy_did_buffer_switch_on_eof) = 1;
5197
0
}
5198
5199
/** Removes and deletes the top of the stack, if present.
5200
 *  The next element becomes the new top.
5201
 *  
5202
 */
5203
void yypop_buffer_state (void)
5204
0
{
5205
0
      if (!YY_CURRENT_BUFFER)
5206
0
    return;
5207
5208
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
5209
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
5210
0
  if ((yy_buffer_stack_top) > 0)
5211
0
    --(yy_buffer_stack_top);
5212
5213
0
  if (YY_CURRENT_BUFFER) {
5214
0
    yy_load_buffer_state(  );
5215
0
    (yy_did_buffer_switch_on_eof) = 1;
5216
0
  }
5217
0
}
5218
5219
/* Allocates the stack if it does not exist.
5220
 *  Guarantees space for at least one push.
5221
 */
5222
static void yyensure_buffer_stack (void)
5223
0
{
5224
0
  yy_size_t num_to_alloc;
5225
    
5226
0
  if (!(yy_buffer_stack)) {
5227
5228
    /* First allocation is just for 2 elements, since we don't know if this
5229
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
5230
     * immediate realloc on the next call.
5231
         */
5232
0
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5233
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
5234
0
                (num_to_alloc * sizeof(struct yy_buffer_state*)
5235
0
                );
5236
0
    if ( ! (yy_buffer_stack) )
5237
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5238
5239
0
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5240
5241
0
    (yy_buffer_stack_max) = num_to_alloc;
5242
0
    (yy_buffer_stack_top) = 0;
5243
0
    return;
5244
0
  }
5245
5246
0
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5247
5248
    /* Increase the buffer to prepare for a possible push. */
5249
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
5250
5251
0
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
5252
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5253
0
                ((yy_buffer_stack),
5254
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
5255
0
                );
5256
0
    if ( ! (yy_buffer_stack) )
5257
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5258
5259
    /* zero only the new slots.*/
5260
0
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5261
0
    (yy_buffer_stack_max) = num_to_alloc;
5262
0
  }
5263
0
}
5264
5265
/** Setup the input buffer state to scan directly from a user-specified character buffer.
5266
 * @param base the character buffer
5267
 * @param size the size in bytes of the character buffer
5268
 * 
5269
 * @return the newly allocated buffer state object.
5270
 */
5271
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
5272
0
{
5273
0
  YY_BUFFER_STATE b;
5274
    
5275
0
  if ( size < 2 ||
5276
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
5277
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
5278
    /* They forgot to leave room for the EOB's. */
5279
0
    return NULL;
5280
5281
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5282
0
  if ( ! b )
5283
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5284
5285
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
5286
0
  b->yy_buf_pos = b->yy_ch_buf = base;
5287
0
  b->yy_is_our_buffer = 0;
5288
0
  b->yy_input_file = NULL;
5289
0
  b->yy_n_chars = b->yy_buf_size;
5290
0
  b->yy_is_interactive = 0;
5291
0
  b->yy_at_bol = 1;
5292
0
  b->yy_fill_buffer = 0;
5293
0
  b->yy_buffer_status = YY_BUFFER_NEW;
5294
5295
0
  yy_switch_to_buffer( b  );
5296
5297
0
  return b;
5298
0
}
5299
5300
/** Setup the input buffer state to scan a string. The next call to yylex() will
5301
 * scan from a @e copy of @a str.
5302
 * @param yystr a NUL-terminated string to scan
5303
 * 
5304
 * @return the newly allocated buffer state object.
5305
 * @note If you want to scan bytes that may contain NUL values, then use
5306
 *       yy_scan_bytes() instead.
5307
 */
5308
YY_BUFFER_STATE yy_scan_string (const char * yystr )
5309
0
{
5310
    
5311
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
5312
0
}
5313
5314
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5315
 * scan from a @e copy of @a bytes.
5316
 * @param yybytes the byte buffer to scan
5317
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5318
 * 
5319
 * @return the newly allocated buffer state object.
5320
 */
5321
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
5322
0
{
5323
0
  YY_BUFFER_STATE b;
5324
0
  char *buf;
5325
0
  yy_size_t n;
5326
0
  int i;
5327
    
5328
  /* Get memory for full buffer, including space for trailing EOB's. */
5329
0
  n = (yy_size_t) (_yybytes_len + 2);
5330
0
  buf = (char *) yyalloc( n  );
5331
0
  if ( ! buf )
5332
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
5333
5334
0
  for ( i = 0; i < _yybytes_len; ++i )
5335
0
    buf[i] = yybytes[i];
5336
5337
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
5338
5339
0
  b = yy_scan_buffer( buf, n );
5340
0
  if ( ! b )
5341
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
5342
5343
  /* It's okay to grow etc. this buffer, and we should throw it
5344
   * away when we're done.
5345
   */
5346
0
  b->yy_is_our_buffer = 1;
5347
5348
0
  return b;
5349
0
}
5350
5351
#ifndef YY_EXIT_FAILURE
5352
0
#define YY_EXIT_FAILURE 2
5353
#endif
5354
5355
static void yynoreturn yy_fatal_error (const char* msg )
5356
0
{
5357
0
      fprintf( stderr, "%s\n", msg );
5358
0
  exit( YY_EXIT_FAILURE );
5359
0
}
5360
5361
/* Redefine yyless() so it works in section 3 code. */
5362
5363
#undef yyless
5364
#define yyless(n) \
5365
  do \
5366
    { \
5367
    /* Undo effects of setting up yytext. */ \
5368
        int yyless_macro_arg = (n); \
5369
        YY_LESS_LINENO(yyless_macro_arg);\
5370
    yytext[yyleng] = (yy_hold_char); \
5371
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
5372
    (yy_hold_char) = *(yy_c_buf_p); \
5373
    *(yy_c_buf_p) = '\0'; \
5374
    yyleng = yyless_macro_arg; \
5375
    } \
5376
  while ( 0 )
5377
5378
/* Accessor  methods (get/set functions) to struct members. */
5379
5380
/** Get the current line number.
5381
 * 
5382
 */
5383
int yyget_lineno  (void)
5384
0
{
5385
    
5386
0
    return yylineno;
5387
0
}
5388
5389
/** Get the input stream.
5390
 * 
5391
 */
5392
FILE *yyget_in  (void)
5393
0
{
5394
0
        return yyin;
5395
0
}
5396
5397
/** Get the output stream.
5398
 * 
5399
 */
5400
FILE *yyget_out  (void)
5401
0
{
5402
0
        return yyout;
5403
0
}
5404
5405
/** Get the length of the current token.
5406
 * 
5407
 */
5408
int yyget_leng  (void)
5409
0
{
5410
0
        return yyleng;
5411
0
}
5412
5413
/** Get the current token.
5414
 * 
5415
 */
5416
5417
char *yyget_text  (void)
5418
0
{
5419
0
        return yytext;
5420
0
}
5421
5422
/** Set the current line number.
5423
 * @param _line_number line number
5424
 * 
5425
 */
5426
void yyset_lineno (int  _line_number )
5427
0
{
5428
    
5429
0
    yylineno = _line_number;
5430
0
}
5431
5432
/** Set the input stream. This does not discard the current
5433
 * input buffer.
5434
 * @param _in_str A readable stream.
5435
 * 
5436
 * @see yy_switch_to_buffer
5437
 */
5438
void yyset_in (FILE *  _in_str )
5439
0
{
5440
0
        yyin = _in_str ;
5441
0
}
5442
5443
void yyset_out (FILE *  _out_str )
5444
0
{
5445
0
        yyout = _out_str ;
5446
0
}
5447
5448
int yyget_debug  (void)
5449
0
{
5450
0
        return yy_flex_debug;
5451
0
}
5452
5453
void yyset_debug (int  _bdebug )
5454
0
{
5455
0
        yy_flex_debug = _bdebug ;
5456
0
}
5457
5458
static int yy_init_globals (void)
5459
0
{
5460
        /* Initialization is the same as for the non-reentrant scanner.
5461
     * This function is called from yylex_destroy(), so don't allocate here.
5462
     */
5463
5464
0
    (yy_buffer_stack) = NULL;
5465
0
    (yy_buffer_stack_top) = 0;
5466
0
    (yy_buffer_stack_max) = 0;
5467
0
    (yy_c_buf_p) = NULL;
5468
0
    (yy_init) = 0;
5469
0
    (yy_start) = 0;
5470
5471
/* Defined in main.c */
5472
#ifdef YY_STDINIT
5473
    yyin = stdin;
5474
    yyout = stdout;
5475
#else
5476
0
    yyin = NULL;
5477
0
    yyout = NULL;
5478
0
#endif
5479
5480
    /* For future reference: Set errno on error, since we are called by
5481
     * yylex_init()
5482
     */
5483
0
    return 0;
5484
0
}
5485
5486
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
5487
int yylex_destroy  (void)
5488
0
{
5489
    
5490
    /* Pop the buffer stack, destroying each element. */
5491
0
  while(YY_CURRENT_BUFFER){
5492
0
    yy_delete_buffer( YY_CURRENT_BUFFER  );
5493
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
5494
0
    yypop_buffer_state();
5495
0
  }
5496
5497
  /* Destroy the stack itself. */
5498
0
  yyfree((yy_buffer_stack) );
5499
0
  (yy_buffer_stack) = NULL;
5500
5501
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
5502
     * yylex() is called, initialization will occur. */
5503
0
    yy_init_globals( );
5504
5505
0
    return 0;
5506
0
}
5507
5508
/*
5509
 * Internal utility routines.
5510
 */
5511
5512
#ifndef yytext_ptr
5513
static void yy_flex_strncpy (char* s1, const char * s2, int n )
5514
{
5515
    
5516
  int i;
5517
  for ( i = 0; i < n; ++i )
5518
    s1[i] = s2[i];
5519
}
5520
#endif
5521
5522
#ifdef YY_NEED_STRLEN
5523
static int yy_flex_strlen (const char * s )
5524
{
5525
  int n;
5526
  for ( n = 0; s[n]; ++n )
5527
    ;
5528
5529
  return n;
5530
}
5531
#endif
5532
5533
void *yyalloc (yy_size_t  size )
5534
0
{
5535
0
      return malloc(size);
5536
0
}
5537
5538
void *yyrealloc  (void * ptr, yy_size_t  size )
5539
0
{
5540
    
5541
  /* The cast to (char *) in the following accommodates both
5542
   * implementations that use char* generic pointers, and those
5543
   * that use void* generic pointers.  It works with the latter
5544
   * because both ANSI C and C++ allow castless assignment from
5545
   * any pointer type to void*, and deal with argument conversions
5546
   * as though doing an assignment.
5547
   */
5548
0
  return realloc(ptr, size);
5549
0
}
5550
5551
void yyfree (void * ptr )
5552
0
{
5553
0
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5554
0
}
5555
5556
#define YYTABLES_NAME "yytables"
5557
5558
#line 751 "src/maplexer.l"
5559
5560
5561
/*
5562
** Any extra C functions
5563
*/
5564
5565
int msyywrap() /* override */
5566
0
{
5567
0
  return(1);
5568
0
}
5569
5570
0
int msyyerror(char *s) {
5571
0
  msSetError(MS_PARSEERR, "%s", "msyyparse()", s);
5572
0
  return(0);
5573
0
}
5574
5575
/* cleanup any open includes */
5576
0
void msyycleanup_includes() {
5577
0
  while( --include_stack_ptr >= 0 ) {
5578
0
    fclose(YY_CURRENT_BUFFER->yy_input_file);
5579
0
    msyy_delete_buffer( YY_CURRENT_BUFFER );
5580
0
    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
5581
0
  }
5582
0
}
5583