Coverage Report

Created: 2025-06-13 06:29

/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
2
#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
23.5k
#define yy_init_buffer msyy_init_buffer
15
23.5k
#define yy_flush_buffer msyy_flush_buffer
16
47.0k
#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
408
#define yyensure_buffer_stack msyyensure_buffer_stack
21
0
#define yy_flex_debug msyy_flex_debug
22
112k
#define yyin msyyin
23
2.91M
#define yyleng msyyleng
24
#define yylex msyylex
25
0
#define yylineno msyylineno
26
7.96k
#define yyout msyyout
27
3.85k
#define yyrestart msyyrestart
28
6.99M
#define yytext msyytext
29
3.85k
#define yywrap msyywrap
30
412
#define yyalloc msyyalloc
31
1
#define yyrealloc msyyrealloc
32
406
#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
1.80k
#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
133M
#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
413k
#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
11.2k
#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
116k
#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
205
#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
39.5k
#define EOB_ACT_CONTINUE_SCAN 0
422
7.71k
#define EOB_ACT_END_OF_FILE 1
423
21.7k
#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
1.01M
#define YY_BUFFER_NEW 0
492
19.7k
#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
45.3k
#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
95.3k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520
95.3k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521
95.3k
                          : 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
2.57M
#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
6.98M
#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
2.90M
  (yytext_ptr) = yy_bp; \
610
2.90M
  yyleng = (int) (yy_cp - yy_bp); \
611
2.90M
  (yy_hold_char) = *yy_cp; \
612
2.90M
  *yy_cp = '\0'; \
613
2.90M
  (yy_c_buf_p) = yy_cp;
614
#define YY_NUM_RULES 345
615
999k
#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
1.98M
#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
30.6k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2225
30.6k
    { \
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
30.6k
  else \
2238
30.6k
    { \
2239
30.6k
    errno=0; \
2240
30.6k
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2241
30.6k
      { \
2242
205
      if( errno != EINTR) \
2243
205
        { \
2244
205
                msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2245
205
        break; \
2246
205
        } \
2247
205
      errno=0; \
2248
0
      clearerr(yyin); \
2249
0
      } \
2250
30.6k
    }
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
1.01M
  do { \
2269
1.01M
   const int string_size_macro = (int)(string_size); \
2270
1.01M
   if (string_size_macro >= (int)(max_size)) {         \
2271
12
       max_size = (((int)(max_size)*2) > string_size_macro) ? ((int)(max_size))*2 : string_size_macro+1;   \
2272
12
       string = (char *) msSmallRealloc(string, sizeof(char *) * (max_size));  \
2273
12
   } \
2274
1.01M
  } while(0)
2275
2276
#define MS_LEXER_RETURN_TOKEN(token) \
2277
275k
   MS_LEXER_STRING_REALLOC(msyystring_buffer, strlen(msyytext),  \
2278
275k
                           msyystring_buffer_size); \
2279
275k
   strcpy(msyystring_buffer, msyytext); \
2280
275k
   return(token); 
2281
2282
273
#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
33.0k
#define INITIAL 0
2293
0
#define EXPRESSION_STRING 1
2294
223
#define INCLUDE 2
2295
197k
#define MSSTRING 3
2296
203
#define MULTILINE_COMMENT 4
2297
6.30k
#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
61.3k
#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
7.96k
#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
1.80k
#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
1.31M
#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
627k
{
2473
627k
  yy_state_type yy_current_state;
2474
627k
  char *yy_cp, *yy_bp;
2475
627k
  int yy_act;
2476
    
2477
627k
  if ( !(yy_init) )
2478
2
    {
2479
2
    (yy_init) = 1;
2480
2481
#ifdef YY_USER_INIT
2482
    YY_USER_INIT;
2483
#endif
2484
2485
2
    if ( ! (yy_start) )
2486
2
      (yy_start) = 1; /* first start state */
2487
2488
2
    if ( ! yyin )
2489
0
      yyin = stdin;
2490
2491
2
    if ( ! yyout )
2492
2
      yyout = stdout;
2493
2494
2
    if ( ! YY_CURRENT_BUFFER ) {
2495
2
      yyensure_buffer_stack ();
2496
2
      YY_CURRENT_BUFFER_LVALUE =
2497
2
        yy_create_buffer( yyin, YY_BUF_SIZE );
2498
2
    }
2499
2500
2
    yy_load_buffer_state(  );
2501
2
    }
2502
2503
627k
  {
2504
627k
#line 123 "src/maplexer.l"
2505
2506
627k
#line 125 "src/maplexer.l"
2507
627k
       if (msyystring_buffer == NULL)
2508
2
       {
2509
2
           msyystring_buffer_size = 256;
2510
2
           msyystring_buffer = (char*) msSmallMalloc(sizeof(char) * msyystring_buffer_size);
2511
2
       }
2512
2513
627k
       msyystring_buffer[0] = '\0';
2514
627k
       switch(msyystate) {
2515
608k
       case(MS_TOKENIZE_DEFAULT):
2516
608k
         (void) yyunput; /* just to avoid warning about it being unrefed */ 
2517
608k
         break;
2518
16.3k
       case(MS_TOKENIZE_FILE):
2519
16.3k
         BEGIN(INITIAL);
2520
16.3k
         msyystring_begin_state = INITIAL;
2521
16.3k
         msyysource=MS_FILE_TOKENS;
2522
16.3k
         msyystate=MS_TOKENIZE_DEFAULT;
2523
16.3k
         msyystring=NULL;
2524
16.3k
         msyyreturncomments=0;
2525
16.3k
         include_stack_ptr=0;
2526
16.3k
         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
3.15k
       case(MS_TOKENIZE_CONFIG):
2549
3.15k
         BEGIN(CONFIG_FILE);
2550
3.15k
         msyystring_begin_state = CONFIG_FILE;
2551
3.15k
         msyysource=MS_FILE_TOKENS;
2552
3.15k
         msyystate=MS_TOKENIZE_DEFAULT;
2553
3.15k
         msyystring=NULL;
2554
3.15k
         msyyreturncomments=0;
2555
3.15k
         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
627k
       }
2569
2570
608k
#line 2571 "src/maplexer.c"
2571
2572
1.91M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
2573
1.91M
    {
2574
1.91M
    yy_cp = (yy_c_buf_p);
2575
2576
    /* Support of yytext. */
2577
1.91M
    *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
1.91M
    yy_bp = yy_cp;
2583
2584
1.91M
    yy_current_state = (yy_start);
2585
2.83M
yy_match:
2586
2.83M
    do
2587
25.7M
      {
2588
25.7M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2589
25.7M
      if ( yy_accept[yy_current_state] )
2590
23.1M
        {
2591
23.1M
        (yy_last_accepting_state) = yy_current_state;
2592
23.1M
        (yy_last_accepting_cpos) = yy_cp;
2593
23.1M
        }
2594
49.2M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2595
23.5M
        {
2596
23.5M
        yy_current_state = (int) yy_def[yy_current_state];
2597
23.5M
        if ( yy_current_state >= 1737 )
2598
20.4M
          yy_c = yy_meta[yy_c];
2599
23.5M
        }
2600
25.7M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2601
25.7M
      ++yy_cp;
2602
25.7M
      }
2603
25.7M
    while ( yy_current_state != 1736 );
2604
2.83M
    yy_cp = (yy_last_accepting_cpos);
2605
2.83M
    yy_current_state = (yy_last_accepting_state);
2606
2607
2.90M
yy_find_action:
2608
2.90M
    yy_act = yy_accept[yy_current_state];
2609
2610
2.90M
    YY_DO_BEFORE_ACTION;
2611
2612
2.90M
do_action:  /* This label is used only to access EOF actions. */
2613
2614
2.90M
    switch ( yy_act )
2615
2.90M
  { /* beginning of action switch */
2616
346
      case 0: /* must back up */
2617
      /* undo the effects of YY_DO_BEFORE_ACTION */
2618
346
      *yy_cp = (yy_hold_char);
2619
346
      yy_cp = (yy_last_accepting_cpos);
2620
346
      yy_current_state = (yy_last_accepting_state);
2621
346
      goto yy_find_action;
2622
2623
305k
case 1:
2624
305k
YY_RULE_SETUP
2625
305k
#line 188 "src/maplexer.l"
2626
305k
;
2627
305k
  YY_BREAK
2628
18.8k
case 2:
2629
18.8k
YY_RULE_SETUP
2630
18.8k
#line 190 "src/maplexer.l"
2631
18.8k
{ if (msyyreturncomments) return(MS_COMMENT); }
2632
18.8k
  YY_BREAK
2633
18.8k
case 3:
2634
203
YY_RULE_SETUP
2635
203
#line 192 "src/maplexer.l"
2636
203
{ BEGIN(MULTILINE_COMMENT); }
2637
203
  YY_BREAK
2638
177
case 4:
2639
177
YY_RULE_SETUP
2640
177
#line 193 "src/maplexer.l"
2641
177
{ BEGIN(INITIAL); }
2642
177
  YY_BREAK
2643
1.07k
case 5:
2644
1.07k
YY_RULE_SETUP
2645
1.07k
#line 194 "src/maplexer.l"
2646
1.07k
;
2647
1.07k
  YY_BREAK
2648
479
case 6:
2649
479
YY_RULE_SETUP
2650
479
#line 195 "src/maplexer.l"
2651
479
;
2652
479
  YY_BREAK
2653
1.70k
case 7:
2654
/* rule 7 can match eol */
2655
1.70k
YY_RULE_SETUP
2656
1.70k
#line 196 "src/maplexer.l"
2657
1.70k
{ msyylineno++; }
2658
1.70k
  YY_BREAK
2659
2.94k
case 8:
2660
2.94k
YY_RULE_SETUP
2661
2.94k
#line 198 "src/maplexer.l"
2662
2.94k
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION); }
2663
0
  YY_BREAK
2664
3.05k
case 9:
2665
3.05k
YY_RULE_SETUP
2666
3.05k
#line 199 "src/maplexer.l"
2667
3.05k
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_ENV); }
2668
0
  YY_BREAK
2669
305
case 10:
2670
305
YY_RULE_SETUP
2671
305
#line 200 "src/maplexer.l"
2672
305
{ 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
1
case 61:
2925
1
YY_RULE_SETUP
2926
1
#line 261 "src/maplexer.l"
2927
1
{ MS_LEXER_RETURN_TOKEN(ALIGN); }
2928
0
  YY_BREAK
2929
410
case 62:
2930
410
YY_RULE_SETUP
2931
410
#line 262 "src/maplexer.l"
2932
410
{ MS_LEXER_RETURN_TOKEN(ANCHORPOINT); }
2933
0
  YY_BREAK
2934
1.14k
case 63:
2935
1.14k
YY_RULE_SETUP
2936
1.14k
#line 263 "src/maplexer.l"
2937
1.14k
{ 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
32
case 65:
2945
32
YY_RULE_SETUP
2946
32
#line 265 "src/maplexer.l"
2947
32
{ 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
28
case 68:
2960
28
YY_RULE_SETUP
2961
28
#line 268 "src/maplexer.l"
2962
28
{ 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
21
case 70:
2970
21
YY_RULE_SETUP
2971
21
#line 270 "src/maplexer.l"
2972
21
{ 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
1.30k
case 72:
2980
1.30k
YY_RULE_SETUP
2981
1.30k
#line 272 "src/maplexer.l"
2982
1.30k
{ MS_LEXER_RETURN_TOKEN(CLASS); }
2983
0
  YY_BREAK
2984
184
case 73:
2985
184
YY_RULE_SETUP
2986
184
#line 273 "src/maplexer.l"
2987
184
{ MS_LEXER_RETURN_TOKEN(CLASSITEM); }
2988
0
  YY_BREAK
2989
57
case 74:
2990
57
YY_RULE_SETUP
2991
57
#line 274 "src/maplexer.l"
2992
57
{ MS_LEXER_RETURN_TOKEN(CLASSGROUP); }
2993
0
  YY_BREAK
2994
37
case 75:
2995
37
YY_RULE_SETUP
2996
37
#line 275 "src/maplexer.l"
2997
37
{ MS_LEXER_RETURN_TOKEN(CLUSTER); }
2998
0
  YY_BREAK
2999
1.84k
case 76:
3000
1.84k
YY_RULE_SETUP
3001
1.84k
#line 276 "src/maplexer.l"
3002
1.84k
{ MS_LEXER_RETURN_TOKEN(COLOR); }
3003
0
  YY_BREAK
3004
7
case 77:
3005
7
YY_RULE_SETUP
3006
7
#line 277 "src/maplexer.l"
3007
7
{ MS_LEXER_RETURN_TOKEN(COMPFILTER); }
3008
0
  YY_BREAK
3009
221
case 78:
3010
221
YY_RULE_SETUP
3011
221
#line 278 "src/maplexer.l"
3012
221
{ MS_LEXER_RETURN_TOKEN(COMPOSITE); }
3013
0
  YY_BREAK
3014
307
case 79:
3015
307
YY_RULE_SETUP
3016
307
#line 279 "src/maplexer.l"
3017
307
{ MS_LEXER_RETURN_TOKEN(COMPOP); }
3018
0
  YY_BREAK
3019
5.80k
case 80:
3020
5.80k
YY_RULE_SETUP
3021
5.80k
#line 280 "src/maplexer.l"
3022
5.80k
{ MS_LEXER_RETURN_TOKEN(CONFIG); }
3023
0
  YY_BREAK
3024
281
case 81:
3025
281
YY_RULE_SETUP
3026
281
#line 281 "src/maplexer.l"
3027
281
{ MS_LEXER_RETURN_TOKEN(CONNECTION); }
3028
0
  YY_BREAK
3029
375
case 82:
3030
375
YY_RULE_SETUP
3031
375
#line 282 "src/maplexer.l"
3032
375
{ MS_LEXER_RETURN_TOKEN(CONNECTIONTYPE); }
3033
0
  YY_BREAK
3034
189
case 83:
3035
189
YY_RULE_SETUP
3036
189
#line 283 "src/maplexer.l"
3037
189
{ MS_LEXER_RETURN_TOKEN(DATA); }
3038
0
  YY_BREAK
3039
141
case 84:
3040
141
YY_RULE_SETUP
3041
141
#line 284 "src/maplexer.l"
3042
141
{ 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
2
case 86:
3050
2
YY_RULE_SETUP
3051
2
#line 286 "src/maplexer.l"
3052
2
{ MS_LEXER_RETURN_TOKEN(EMPTY); }
3053
0
  YY_BREAK
3054
194
case 87:
3055
194
YY_RULE_SETUP
3056
194
#line 287 "src/maplexer.l"
3057
194
{ MS_LEXER_RETURN_TOKEN(ENCODING); }
3058
0
  YY_BREAK
3059
54.2k
case 88:
3060
54.2k
YY_RULE_SETUP
3061
54.2k
#line 288 "src/maplexer.l"
3062
54.2k
{ MS_LEXER_RETURN_TOKEN(END); }
3063
0
  YY_BREAK
3064
1
case 89:
3065
1
YY_RULE_SETUP
3066
1
#line 289 "src/maplexer.l"
3067
1
{ MS_LEXER_RETURN_TOKEN(ERROR); }
3068
0
  YY_BREAK
3069
71
case 90:
3070
71
YY_RULE_SETUP
3071
71
#line 290 "src/maplexer.l"
3072
71
{ MS_LEXER_RETURN_TOKEN(EXPRESSION); }
3073
0
  YY_BREAK
3074
476
case 91:
3075
476
YY_RULE_SETUP
3076
476
#line 291 "src/maplexer.l"
3077
476
{ MS_LEXER_RETURN_TOKEN(EXTENT); }
3078
0
  YY_BREAK
3079
61
case 92:
3080
61
YY_RULE_SETUP
3081
61
#line 292 "src/maplexer.l"
3082
61
{ MS_LEXER_RETURN_TOKEN(EXTENSION); }
3083
0
  YY_BREAK
3084
2.12k
case 93:
3085
2.12k
YY_RULE_SETUP
3086
2.12k
#line 293 "src/maplexer.l"
3087
2.12k
{ 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
12
case 95:
3095
12
YY_RULE_SETUP
3096
12
#line 295 "src/maplexer.l"
3097
12
{ 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
179
case 98:
3110
179
YY_RULE_SETUP
3111
179
#line 298 "src/maplexer.l"
3112
179
{ MS_LEXER_RETURN_TOKEN(FONT); }
3113
0
  YY_BREAK
3114
1.71k
case 99:
3115
1.71k
YY_RULE_SETUP
3116
1.71k
#line 299 "src/maplexer.l"
3117
1.71k
{ 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
222
case 102:
3130
222
YY_RULE_SETUP
3131
222
#line 302 "src/maplexer.l"
3132
222
{ MS_LEXER_RETURN_TOKEN(FROM); }
3133
0
  YY_BREAK
3134
3
case 103:
3135
3
YY_RULE_SETUP
3136
3
#line 303 "src/maplexer.l"
3137
3
{ MS_LEXER_RETURN_TOKEN(GAP); }
3138
0
  YY_BREAK
3139
875
case 104:
3140
875
YY_RULE_SETUP
3141
875
#line 304 "src/maplexer.l"
3142
875
{ MS_LEXER_RETURN_TOKEN(GEOMTRANSFORM); }
3143
0
  YY_BREAK
3144
2.81k
case 105:
3145
2.81k
YY_RULE_SETUP
3146
2.81k
#line 305 "src/maplexer.l"
3147
2.81k
{ MS_LEXER_RETURN_TOKEN(GRID); }
3148
0
  YY_BREAK
3149
1
case 106:
3150
1
YY_RULE_SETUP
3151
1
#line 306 "src/maplexer.l"
3152
1
{ 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
139
case 108:
3160
139
YY_RULE_SETUP
3161
139
#line 308 "src/maplexer.l"
3162
139
{ MS_LEXER_RETURN_TOKEN(GROUP); }
3163
0
  YY_BREAK
3164
789
case 109:
3165
789
YY_RULE_SETUP
3166
789
#line 309 "src/maplexer.l"
3167
789
{ MS_LEXER_RETURN_TOKEN(HEADER); }
3168
0
  YY_BREAK
3169
246
case 110:
3170
246
YY_RULE_SETUP
3171
246
#line 310 "src/maplexer.l"
3172
246
{ MS_LEXER_RETURN_TOKEN(IMAGE); }
3173
0
  YY_BREAK
3174
141
case 111:
3175
141
YY_RULE_SETUP
3176
141
#line 311 "src/maplexer.l"
3177
141
{ MS_LEXER_RETURN_TOKEN(IMAGECOLOR); }
3178
0
  YY_BREAK
3179
114
case 112:
3180
114
YY_RULE_SETUP
3181
114
#line 312 "src/maplexer.l"
3182
114
{ 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
1
case 114:
3190
1
YY_RULE_SETUP
3191
1
#line 314 "src/maplexer.l"
3192
1
{ 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
223
case 117:
3205
223
YY_RULE_SETUP
3206
223
#line 317 "src/maplexer.l"
3207
223
{ BEGIN(INCLUDE); }
3208
223
  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
149
case 121:
3225
149
YY_RULE_SETUP
3226
149
#line 321 "src/maplexer.l"
3227
149
{ 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
4.48k
case 125:
3245
4.48k
YY_RULE_SETUP
3246
4.48k
#line 325 "src/maplexer.l"
3247
4.48k
{ MS_LEXER_RETURN_TOKEN(LABEL); }
3248
0
  YY_BREAK
3249
4
case 126:
3250
4
YY_RULE_SETUP
3251
4
#line 326 "src/maplexer.l"
3252
4
{ MS_LEXER_RETURN_TOKEN(LABELCACHE); }
3253
0
  YY_BREAK
3254
129
case 127:
3255
129
YY_RULE_SETUP
3256
129
#line 327 "src/maplexer.l"
3257
129
{ MS_LEXER_RETURN_TOKEN(LABELFORMAT); }
3258
0
  YY_BREAK
3259
45
case 128:
3260
45
YY_RULE_SETUP
3261
45
#line 328 "src/maplexer.l"
3262
45
{ 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
2
case 134:
3290
2
YY_RULE_SETUP
3291
2
#line 334 "src/maplexer.l"
3292
2
{ MS_LEXER_RETURN_TOKEN(LATLON); }
3293
0
  YY_BREAK
3294
45.5k
case 135:
3295
45.5k
YY_RULE_SETUP
3296
45.5k
#line 335 "src/maplexer.l"
3297
45.5k
{ MS_LEXER_RETURN_TOKEN(LAYER); }
3298
0
  YY_BREAK
3299
11
case 136:
3300
11
YY_RULE_SETUP
3301
11
#line 336 "src/maplexer.l"
3302
11
{ MS_LEXER_RETURN_TOKEN(LEADER); }
3303
0
  YY_BREAK
3304
347
case 137:
3305
347
YY_RULE_SETUP
3306
347
#line 337 "src/maplexer.l"
3307
347
{ 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
58.9k
case 142:
3330
58.9k
YY_RULE_SETUP
3331
58.9k
#line 342 "src/maplexer.l"
3332
58.9k
{ MS_LEXER_RETURN_TOKEN(MAP); }
3333
0
  YY_BREAK
3334
177
case 143:
3335
177
YY_RULE_SETUP
3336
177
#line 343 "src/maplexer.l"
3337
177
{ 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
637
case 145:
3345
637
YY_RULE_SETUP
3346
637
#line 345 "src/maplexer.l"
3347
637
{ 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
127
case 151:
3375
127
YY_RULE_SETUP
3376
127
#line 351 "src/maplexer.l"
3377
127
{ 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
68
case 157:
3405
68
YY_RULE_SETUP
3406
68
#line 357 "src/maplexer.l"
3407
68
{ 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
55
case 159:
3415
55
YY_RULE_SETUP
3416
55
#line 359 "src/maplexer.l"
3417
55
{ MS_LEXER_RETURN_TOKEN(METADATA); }
3418
0
  YY_BREAK
3419
29
case 160:
3420
29
YY_RULE_SETUP
3421
29
#line 360 "src/maplexer.l"
3422
29
{ 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
86
case 168:
3460
86
YY_RULE_SETUP
3461
86
#line 368 "src/maplexer.l"
3462
86
{ 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
283
case 171:
3475
283
YY_RULE_SETUP
3476
283
#line 371 "src/maplexer.l"
3477
283
{ 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
104
case 173:
3485
104
YY_RULE_SETUP
3486
104
#line 373 "src/maplexer.l"
3487
104
{ MS_LEXER_RETURN_TOKEN(MINTEMPLATE); }
3488
0
  YY_BREAK
3489
65
case 174:
3490
65
YY_RULE_SETUP
3491
65
#line 374 "src/maplexer.l"
3492
65
{ MS_LEXER_RETURN_TOKEN(MINWIDTH); }
3493
0
  YY_BREAK
3494
1.50k
case 175:
3495
1.50k
YY_RULE_SETUP
3496
1.50k
#line 375 "src/maplexer.l"
3497
1.50k
{ MS_LEXER_RETURN_TOKEN(NAME); }
3498
0
  YY_BREAK
3499
2.67k
case 176:
3500
2.67k
YY_RULE_SETUP
3501
2.67k
#line 376 "src/maplexer.l"
3502
2.67k
{ 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
397
case 180:
3520
397
YY_RULE_SETUP
3521
397
#line 380 "src/maplexer.l"
3522
397
{ MS_LEXER_RETURN_TOKEN(OUTLINECOLOR); }
3523
0
  YY_BREAK
3524
912
case 181:
3525
912
YY_RULE_SETUP
3526
912
#line 381 "src/maplexer.l"
3527
912
{ 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
916
case 185:
3545
916
YY_RULE_SETUP
3546
916
#line 385 "src/maplexer.l"
3547
916
{ MS_LEXER_RETURN_TOKEN(POINTS); }
3548
0
  YY_BREAK
3549
1.24k
case 186:
3550
1.24k
YY_RULE_SETUP
3551
1.24k
#line 386 "src/maplexer.l"
3552
1.24k
{ MS_LEXER_RETURN_TOKEN(ITEMS); }
3553
0
  YY_BREAK
3554
631
case 187:
3555
631
YY_RULE_SETUP
3556
631
#line 387 "src/maplexer.l"
3557
631
{ MS_LEXER_RETURN_TOKEN(POSITION); }
3558
0
  YY_BREAK
3559
249
case 188:
3560
249
YY_RULE_SETUP
3561
249
#line 388 "src/maplexer.l"
3562
249
{ MS_LEXER_RETURN_TOKEN(POSTLABELCACHE); }
3563
0
  YY_BREAK
3564
245
case 189:
3565
245
YY_RULE_SETUP
3566
245
#line 389 "src/maplexer.l"
3567
245
{ MS_LEXER_RETURN_TOKEN(PRIORITY); }
3568
0
  YY_BREAK
3569
27
case 190:
3570
27
YY_RULE_SETUP
3571
27
#line 390 "src/maplexer.l"
3572
27
{ MS_LEXER_RETURN_TOKEN(PROCESSING); }
3573
0
  YY_BREAK
3574
45.6k
case 191:
3575
45.6k
YY_RULE_SETUP
3576
45.6k
#line 391 "src/maplexer.l"
3577
45.6k
{ 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
1.39k
case 193:
3585
1.39k
YY_RULE_SETUP
3586
1.39k
#line 393 "src/maplexer.l"
3587
1.39k
{ MS_LEXER_RETURN_TOKEN(QUERYMAP); }
3588
0
  YY_BREAK
3589
346
case 194:
3590
346
YY_RULE_SETUP
3591
346
#line 394 "src/maplexer.l"
3592
346
{ MS_LEXER_RETURN_TOKEN(REFERENCE); }
3593
0
  YY_BREAK
3594
21
case 195:
3595
21
YY_RULE_SETUP
3596
21
#line 395 "src/maplexer.l"
3597
21
{ 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
1
case 198:
3610
1
YY_RULE_SETUP
3611
1
#line 398 "src/maplexer.l"
3612
1
{ 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
26
case 200:
3620
26
YY_RULE_SETUP
3621
26
#line 400 "src/maplexer.l"
3622
26
{ 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
211
case 202:
3630
211
YY_RULE_SETUP
3631
211
#line 402 "src/maplexer.l"
3632
211
{ 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
2.17k
case 207:
3655
2.17k
YY_RULE_SETUP
3656
2.17k
#line 407 "src/maplexer.l"
3657
2.17k
{ MS_LEXER_RETURN_TOKEN(SIZE); }
3658
0
  YY_BREAK
3659
1
case 208:
3660
1
YY_RULE_SETUP
3661
1
#line 408 "src/maplexer.l"
3662
1
{ MS_LEXER_RETURN_TOKEN(SIZEUNITS); }
3663
0
  YY_BREAK
3664
764
case 209:
3665
764
YY_RULE_SETUP
3666
764
#line 409 "src/maplexer.l"
3667
764
{ MS_LEXER_RETURN_TOKEN(STATUS); }
3668
0
  YY_BREAK
3669
3.99k
case 210:
3670
3.99k
YY_RULE_SETUP
3671
3.99k
#line 410 "src/maplexer.l"
3672
3.99k
{ MS_LEXER_RETURN_TOKEN(STYLE); }
3673
0
  YY_BREAK
3674
295
case 211:
3675
295
YY_RULE_SETUP
3676
295
#line 411 "src/maplexer.l"
3677
295
{ MS_LEXER_RETURN_TOKEN(STYLEITEM); }
3678
0
  YY_BREAK
3679
2.58k
case 212:
3680
2.58k
YY_RULE_SETUP
3681
2.58k
#line 412 "src/maplexer.l"
3682
2.58k
{ 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
55
case 215:
3695
55
YY_RULE_SETUP
3696
55
#line 415 "src/maplexer.l"
3697
55
{ MS_LEXER_RETURN_TOKEN(SYMBOLSET); }
3698
0
  YY_BREAK
3699
216
case 216:
3700
216
YY_RULE_SETUP
3701
216
#line 416 "src/maplexer.l"
3702
216
{ MS_LEXER_RETURN_TOKEN(TABLE); }
3703
0
  YY_BREAK
3704
288
case 217:
3705
288
YY_RULE_SETUP
3706
288
#line 417 "src/maplexer.l"
3707
288
{ MS_LEXER_RETURN_TOKEN(TEMPLATE); }
3708
0
  YY_BREAK
3709
370
case 218:
3710
370
YY_RULE_SETUP
3711
370
#line 418 "src/maplexer.l"
3712
370
{ 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
62
case 221:
3725
62
YY_RULE_SETUP
3726
62
#line 421 "src/maplexer.l"
3727
62
{ MS_LEXER_RETURN_TOKEN(TILESRS); }
3728
0
  YY_BREAK
3729
250
case 222:
3730
250
YY_RULE_SETUP
3731
250
#line 422 "src/maplexer.l"
3732
250
{ MS_LEXER_RETURN_TOKEN(TITLE); }
3733
0
  YY_BREAK
3734
213
case 223:
3735
213
YY_RULE_SETUP
3736
213
#line 423 "src/maplexer.l"
3737
213
{ 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
319
case 226:
3750
319
YY_RULE_SETUP
3751
319
#line 426 "src/maplexer.l"
3752
319
{ MS_LEXER_RETURN_TOKEN(TRANSPARENT); }
3753
0
  YY_BREAK
3754
3
case 227:
3755
3
YY_RULE_SETUP
3756
3
#line 427 "src/maplexer.l"
3757
3
{ MS_LEXER_RETURN_TOKEN(TRANSFORM); }
3758
0
  YY_BREAK
3759
2.19k
case 228:
3760
2.19k
YY_RULE_SETUP
3761
2.19k
#line 428 "src/maplexer.l"
3762
2.19k
{ MS_LEXER_RETURN_TOKEN(TYPE); }
3763
0
  YY_BREAK
3764
300
case 229:
3765
300
YY_RULE_SETUP
3766
300
#line 429 "src/maplexer.l"
3767
300
{ MS_LEXER_RETURN_TOKEN(UNITS); }
3768
0
  YY_BREAK
3769
45
case 230:
3770
45
YY_RULE_SETUP
3771
45
#line 430 "src/maplexer.l"
3772
45
{ MS_LEXER_RETURN_TOKEN(UTFDATA); }
3773
0
  YY_BREAK
3774
154
case 231:
3775
154
YY_RULE_SETUP
3776
154
#line 431 "src/maplexer.l"
3777
154
{ 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
204
case 234:
3790
204
YY_RULE_SETUP
3791
204
#line 434 "src/maplexer.l"
3792
204
{ MS_LEXER_RETURN_TOKEN(WEB); }
3793
0
  YY_BREAK
3794
302
case 235:
3795
302
YY_RULE_SETUP
3796
302
#line 435 "src/maplexer.l"
3797
302
{ MS_LEXER_RETURN_TOKEN(WIDTH); }
3798
0
  YY_BREAK
3799
3.20k
case 236:
3800
3.20k
YY_RULE_SETUP
3801
3.20k
#line 436 "src/maplexer.l"
3802
3.20k
{ 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
256
case 239:
3815
256
YY_RULE_SETUP
3816
256
#line 440 "src/maplexer.l"
3817
256
{ MS_LEXER_RETURN_TOKEN(MS_AUTO); }
3818
0
  YY_BREAK
3819
3
case 240:
3820
3
YY_RULE_SETUP
3821
3
#line 441 "src/maplexer.l"
3822
3
{ 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
139
case 242:
3830
139
YY_RULE_SETUP
3831
139
#line 443 "src/maplexer.l"
3832
139
{ 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
3
case 244:
3840
3
YY_RULE_SETUP
3841
3
#line 445 "src/maplexer.l"
3842
3
{ 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
108
case 248:
3860
108
YY_RULE_SETUP
3861
108
#line 449 "src/maplexer.l"
3862
108
{ MS_LEXER_RETURN_TOKEN(MS_CL); }
3863
0
  YY_BREAK
3864
118
case 249:
3865
118
YY_RULE_SETUP
3866
118
#line 450 "src/maplexer.l"
3867
118
{ MS_LEXER_RETURN_TOKEN(MS_CR); }
3868
0
  YY_BREAK
3869
1
case 250:
3870
1
YY_RULE_SETUP
3871
1
#line 451 "src/maplexer.l"
3872
1
{ 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
150
case 253:
3885
150
YY_RULE_SETUP
3886
150
#line 454 "src/maplexer.l"
3887
150
{ MS_LEXER_RETURN_TOKEN(MS_DEFAULT); }
3888
0
  YY_BREAK
3889
59
case 254:
3890
59
YY_RULE_SETUP
3891
59
#line 455 "src/maplexer.l"
3892
59
{ 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
195
case 256:
3900
195
YY_RULE_SETUP
3901
195
#line 457 "src/maplexer.l"
3902
195
{ MS_LEXER_RETURN_TOKEN(MS_EMBED); }
3903
0
  YY_BREAK
3904
1
case 257:
3905
1
YY_RULE_SETUP
3906
1
#line 458 "src/maplexer.l"
3907
1
{ MS_LEXER_RETURN_TOKEN(MS_FALSE); }
3908
0
  YY_BREAK
3909
1
case 258:
3910
1
YY_RULE_SETUP
3911
1
#line 459 "src/maplexer.l"
3912
1
{ 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
1.95k
case 267:
3955
1.95k
YY_RULE_SETUP
3956
1.95k
#line 468 "src/maplexer.l"
3957
1.95k
{ MS_LEXER_RETURN_TOKEN(MS_LARGE); }
3958
0
  YY_BREAK
3959
5
case 268:
3960
5
YY_RULE_SETUP
3961
5
#line 469 "src/maplexer.l"
3962
5
{ 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
33
case 270:
3970
33
YY_RULE_SETUP
3971
33
#line 471 "src/maplexer.l"
3972
33
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_LINE); }
3973
0
  YY_BREAK
3974
1
case 271:
3975
1
YY_RULE_SETUP
3976
1
#line 472 "src/maplexer.l"
3977
1
{ MS_LEXER_RETURN_TOKEN(MS_LL); }
3978
0
  YY_BREAK
3979
277
case 272:
3980
277
YY_RULE_SETUP
3981
277
#line 473 "src/maplexer.l"
3982
277
{ 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
277
case 274:
3990
277
YY_RULE_SETUP
3991
277
#line 475 "src/maplexer.l"
3992
277
{ 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
1
case 279:
4015
1
YY_RULE_SETUP
4016
1
#line 480 "src/maplexer.l"
4017
1
{ 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
23
case 281:
4025
23
YY_RULE_SETUP
4026
23
#line 482 "src/maplexer.l"
4027
23
{ MS_LEXER_RETURN_TOKEN(MS_OFF); }
4028
0
  YY_BREAK
4029
1
case 282:
4030
1
YY_RULE_SETUP
4031
1
#line 483 "src/maplexer.l"
4032
1
{ 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
1.59k
case 284:
4040
1.59k
YY_RULE_SETUP
4041
1.59k
#line 485 "src/maplexer.l"
4042
1.59k
{ 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
38
case 291:
4075
38
YY_RULE_SETUP
4076
38
#line 492 "src/maplexer.l"
4077
38
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POINT); }
4078
0
  YY_BREAK
4079
60
case 292:
4080
60
YY_RULE_SETUP
4081
60
#line 493 "src/maplexer.l"
4082
60
{ 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
2
case 295:
4095
2
YY_RULE_SETUP
4096
2
#line 496 "src/maplexer.l"
4097
2
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_QUERY); }
4098
0
  YY_BREAK
4099
103
case 296:
4100
103
YY_RULE_SETUP
4101
103
#line 497 "src/maplexer.l"
4102
103
{ 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
2
case 305:
4145
2
YY_RULE_SETUP
4146
2
#line 506 "src/maplexer.l"
4147
2
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SVG); }
4148
0
  YY_BREAK
4149
382
case 306:
4150
382
YY_RULE_SETUP
4151
382
#line 507 "src/maplexer.l"
4152
382
{ MS_LEXER_RETURN_TOKEN(POLAROFFSET); }
4153
0
  YY_BREAK
4154
129
case 307:
4155
129
YY_RULE_SETUP
4156
129
#line 508 "src/maplexer.l"
4157
129
{ MS_LEXER_RETURN_TOKEN(MS_TINY); }
4158
0
  YY_BREAK
4159
1
case 308:
4160
1
YY_RULE_SETUP
4161
1
#line 509 "src/maplexer.l"
4162
1
{ MS_LEXER_RETURN_TOKEN(MS_CJC_TRIANGLE); }
4163
0
  YY_BREAK
4164
560
case 309:
4165
560
YY_RULE_SETUP
4166
560
#line 510 "src/maplexer.l"
4167
560
{ MS_LEXER_RETURN_TOKEN(MS_TRUE); }
4168
0
  YY_BREAK
4169
5
case 310:
4170
5
YY_RULE_SETUP
4171
5
#line 511 "src/maplexer.l"
4172
5
{ MS_LEXER_RETURN_TOKEN(MS_TRUETYPE); }
4173
0
  YY_BREAK
4174
1
case 311:
4175
1
YY_RULE_SETUP
4176
1
#line 512 "src/maplexer.l"
4177
1
{ MS_LEXER_RETURN_TOKEN(MS_UC); }
4178
0
  YY_BREAK
4179
1
case 312:
4180
1
YY_RULE_SETUP
4181
1
#line 513 "src/maplexer.l"
4182
1
{ MS_LEXER_RETURN_TOKEN(MS_UL); }
4183
0
  YY_BREAK
4184
155
case 313:
4185
155
YY_RULE_SETUP
4186
155
#line 514 "src/maplexer.l"
4187
155
{ MS_LEXER_RETURN_TOKEN(MS_UR); }
4188
0
  YY_BREAK
4189
1
case 314:
4190
1
YY_RULE_SETUP
4191
1
#line 515 "src/maplexer.l"
4192
1
{ 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
1
case 317:
4205
1
YY_RULE_SETUP
4206
1
#line 518 "src/maplexer.l"
4207
1
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_VECTOR); }
4208
0
  YY_BREAK
4209
10
case 318:
4210
10
YY_RULE_SETUP
4211
10
#line 519 "src/maplexer.l"
4212
10
{ MS_LEXER_RETURN_TOKEN(MS_WFS); }
4213
0
  YY_BREAK
4214
25
case 319:
4215
25
YY_RULE_SETUP
4216
25
#line 520 "src/maplexer.l"
4217
25
{ MS_LEXER_RETURN_TOKEN(MS_WMS); }
4218
0
  YY_BREAK
4219
5.35k
case 320:
4220
/* rule 320 can match eol */
4221
5.35k
YY_RULE_SETUP
4222
5.35k
#line 522 "src/maplexer.l"
4223
5.35k
{
4224
5.35k
                                                 msyytext++;
4225
5.35k
                                                 msyytext[msyyleng-1-1] = '\0';
4226
5.35k
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4227
5.35k
                                                                         msyystring_buffer_size);
4228
5.35k
                                                 strcpy(msyystring_buffer,msyytext);
4229
5.35k
                                                 return(MS_BINDING);
4230
18.8k
                                               }
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
18.8k
}
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
18.8k
}
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
18.8k
}
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
18.8k
}
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
18.8k
}
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
18.8k
}
4297
0
  YY_BREAK
4298
14.1k
case 327:
4299
14.1k
YY_RULE_SETUP
4300
14.1k
#line 571 "src/maplexer.l"
4301
14.1k
{
4302
14.1k
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4303
14.1k
                          msyystring_buffer_size);
4304
14.1k
  strcpy(msyystring_buffer,msyytext);
4305
14.1k
  msyynumber = atof(msyytext);
4306
14.1k
  return(MS_NUMBER); 
4307
18.8k
}
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
18.8k
}
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
18.8k
}
4332
0
  YY_BREAK
4333
4
case 330:
4334
/* rule 330 can match eol */
4335
4
YY_RULE_SETUP
4336
4
#line 596 "src/maplexer.l"
4337
4
{
4338
4
                                                 msyytext++;
4339
4
                                                 msyytext[msyyleng-1-2] = '\0';
4340
4
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4341
4
                                                                         msyystring_buffer_size);
4342
4
                                                 strcpy(msyystring_buffer, msyytext);
4343
4
                                                 return(MS_IREGEX);
4344
18.8k
                                               }
4345
0
  YY_BREAK
4346
128
case 331:
4347
/* rule 331 can match eol */
4348
128
YY_RULE_SETUP
4349
128
#line 605 "src/maplexer.l"
4350
128
{
4351
128
                                                 msyytext++;
4352
128
                                                 msyytext[msyyleng-1-1] = '\0';
4353
128
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4354
128
                                                                         msyystring_buffer_size);
4355
128
                                                 strcpy(msyystring_buffer, msyytext);
4356
128
                                                 return(MS_REGEX);
4357
18.8k
                                               }
4358
0
  YY_BREAK
4359
519
case 332:
4360
519
YY_RULE_SETUP
4361
519
#line 614 "src/maplexer.l"
4362
519
{
4363
519
                                                 msyytext++;
4364
519
                                                 msyytext[msyyleng-1-1] = '\0';
4365
519
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4366
519
                                                                         msyystring_buffer_size);
4367
519
                                                 strcpy(msyystring_buffer, msyytext);
4368
519
                                                 return(MS_EXPRESSION);
4369
18.8k
                                               }
4370
0
  YY_BREAK
4371
1
case 333:
4372
1
YY_RULE_SETUP
4373
1
#line 623 "src/maplexer.l"
4374
1
{
4375
1
                                                 msyytext++;
4376
1
                                                 msyytext[msyyleng-1-1] = '\0';
4377
1
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4378
1
                                                                         msyystring_buffer_size);
4379
1
                                                 strcpy(msyystring_buffer, msyytext);
4380
1
                                                 return(MS_LIST);
4381
18.8k
                                               }
4382
0
  YY_BREAK
4383
197k
case 334:
4384
197k
YY_RULE_SETUP
4385
197k
#line 632 "src/maplexer.l"
4386
197k
{
4387
197k
                                                 msyystring_return_state = MS_STRING;
4388
197k
                                                 msyystring_begin = msyytext[0]; 
4389
197k
                                                 msyystring_size = 0;
4390
197k
                                                 msyystring_buffer[0] = '\0';
4391
197k
                                                 BEGIN(MSSTRING);
4392
197k
                                              }
4393
197k
  YY_BREAK
4394
480k
case 335:
4395
480k
YY_RULE_SETUP
4396
480k
#line 640 "src/maplexer.l"
4397
480k
{
4398
480k
                                                if (msyystring_begin == msyytext[0]) {
4399
195k
                                                   BEGIN(msyystring_begin_state);
4400
195k
                                                   if (msyystring_return_state == MS_STRING) {
4401
195k
                                                      if (msyystring_icase && msyyleng==2) {
4402
14
                                                         msyystring_icase = MS_FALSE; // reset
4403
14
                                                         return MS_ISTRING;
4404
14
                                                      } else
4405
195k
                                                        return MS_STRING;
4406
195k
                                                   }
4407
0
                                                   return msyystring_return_state;
4408
4409
195k
                                                }
4410
284k
                                                else {
4411
284k
                                                  int old_size = msyystring_size;
4412
284k
                                                  msyystring_size += (msyyleng==2) ? 2 : 1;
4413
284k
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4414
284k
                                                                          msyystring_buffer_size);
4415
284k
                                                  msyystring_buffer[old_size] = *msyytext;
4416
284k
                                                  if (msyyleng==2) {
4417
1.15k
                                                     msyystring_buffer[old_size+1] = msyytext[1];
4418
1.15k
                                                  }
4419
284k
                                                  msyystring_buffer[msyystring_size] = '\0';
4420
284k
                                                }
4421
480k
                                              }
4422
284k
  YY_BREAK
4423
284k
case 336:
4424
63.6k
YY_RULE_SETUP
4425
63.6k
#line 666 "src/maplexer.l"
4426
63.6k
{ 
4427
63.6k
                                                ++msyystring_size;
4428
63.6k
                                                MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4429
63.6k
                                                                        msyystring_buffer_size);
4430
4431
63.6k
                                                if (msyyleng == 2)
4432
42.7k
                                                    msyystring_buffer[msyystring_size-1] = msyytext[1]; 
4433
20.9k
                                                else
4434
20.9k
                                                    msyystring_buffer[msyystring_size-1] = msyytext[0];
4435
63.6k
                                                msyystring_buffer[msyystring_size] = '\0';
4436
63.6k
                                             }
4437
63.6k
  YY_BREAK
4438
259k
case 337:
4439
/* rule 337 can match eol */
4440
259k
YY_RULE_SETUP
4441
259k
#line 678 "src/maplexer.l"
4442
259k
{
4443
259k
                                                 int old_size = msyystring_size;
4444
259k
                                                 msyystring_size += msyyleng;
4445
259k
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4446
259k
                                                                         msyystring_buffer_size);
4447
259k
                                                 memcpy(msyystring_buffer + old_size, msyytext, msyyleng + 1);
4448
259k
                                             }
4449
259k
  YY_BREAK
4450
273
case 338:
4451
/* rule 338 can match eol */
4452
273
YY_RULE_SETUP
4453
273
#line 686 "src/maplexer.l"
4454
273
{
4455
273
                                                 msyytext++;
4456
273
                                                 msyytext[msyyleng-1-1] = '\0';
4457
4458
273
                                                 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
273
                                                 msyyin = fopen(msBuildPath(path, msyybasepath, msyytext), "r");
4464
273
                                                 if(!msyyin) {
4465
70
                                                   msSetError(MS_IOERR, "Error opening included file \"%s\".", "msyylex()", msyytext);
4466
70
                                                   msyyin = YY_CURRENT_BUFFER->yy_input_file;
4467
70
                                                   return(-1);
4468
70
                                                 }
4469
4470
203
                                                 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; /* save state */
4471
203
                                                 include_lineno[include_stack_ptr] = msyylineno;
4472
203
                                                 include_stack_ptr++;
4473
4474
203
                                                 msyy_switch_to_buffer( msyy_create_buffer(msyyin, YY_BUF_SIZE) );
4475
203
                                                 msyylineno = 1;
4476
4477
203
                                                 BEGIN(INITIAL);
4478
203
                                               }
4479
203
  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
69.1k
case 340:
4492
69.1k
YY_RULE_SETUP
4493
69.1k
#line 720 "src/maplexer.l"
4494
69.1k
{ 
4495
69.1k
                                                    MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4496
69.1k
                                                                            msyystring_buffer_size);
4497
69.1k
                                                    strcpy(msyystring_buffer, msyytext); 
4498
69.1k
                                                    return(MS_STRING); 
4499
273
                                                }
4500
0
  YY_BREAK
4501
168k
case 341:
4502
/* rule 341 can match eol */
4503
168k
YY_RULE_SETUP
4504
168k
#line 727 "src/maplexer.l"
4505
168k
{ msyylineno++; }
4506
168k
  YY_BREAK
4507
1.76k
case YY_STATE_EOF(INITIAL):
4508
2.05k
case YY_STATE_EOF(CONFIG_FILE):
4509
2.05k
#line 729 "src/maplexer.l"
4510
2.05k
{
4511
2.05k
                                                  if( --include_stack_ptr < 0 )
4512
1.84k
                                                    return(EOF); /* end of main file */
4513
203
                                                  else {
4514
203
                                                    fclose(YY_CURRENT_BUFFER->yy_input_file);
4515
203
                                                    msyy_delete_buffer( YY_CURRENT_BUFFER );
4516
203
                                                    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
4517
203
                                                    msyylineno = include_lineno[include_stack_ptr];
4518
203
                                                  }
4519
2.05k
                                                }
4520
203
  YY_BREAK
4521
203
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
2.05k
}
4528
0
  YY_BREAK
4529
44.3k
case 343:
4530
44.3k
YY_RULE_SETUP
4531
44.3k
#line 744 "src/maplexer.l"
4532
44.3k
{ 
4533
44.3k
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4534
44.3k
                                                                          msyystring_buffer_size);
4535
44.3k
                                                  strcpy(msyystring_buffer, msyytext); 
4536
44.3k
                                                  return(0); 
4537
2.05k
                                                }
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
7.96k
case 345:
4545
7.96k
YY_RULE_SETUP
4546
7.96k
#line 751 "src/maplexer.l"
4547
7.96k
ECHO;
4548
7.96k
  YY_BREAK
4549
0
#line 4550 "src/maplexer.c"
4550
0
case YY_STATE_EOF(EXPRESSION_STRING):
4551
27
case YY_STATE_EOF(INCLUDE):
4552
1.77k
case YY_STATE_EOF(MSSTRING):
4553
1.80k
case YY_STATE_EOF(MULTILINE_COMMENT):
4554
1.80k
  yyterminate();
4555
4556
988k
  case YY_END_OF_BUFFER:
4557
988k
    {
4558
    /* Amount of text matched not including the EOB char. */
4559
988k
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4560
4561
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
4562
988k
    *yy_cp = (yy_hold_char);
4563
988k
    YY_RESTORE_YY_MORE_OFFSET
4564
4565
988k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4566
19.7k
      {
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
19.7k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4577
19.7k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4578
19.7k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4579
19.7k
      }
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
988k
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4589
954k
      { /* This was really a NUL. */
4590
954k
      yy_state_type yy_next_state;
4591
4592
954k
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4593
4594
954k
      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
954k
      yy_next_state = yy_try_NUL_trans( yy_current_state );
4606
4607
954k
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4608
4609
954k
      if ( yy_next_state )
4610
899k
        {
4611
        /* Consume the NUL. */
4612
899k
        yy_cp = ++(yy_c_buf_p);
4613
899k
        yy_current_state = yy_next_state;
4614
899k
        goto yy_match;
4615
899k
        }
4616
4617
54.6k
      else
4618
54.6k
        {
4619
54.6k
        yy_cp = (yy_last_accepting_cpos);
4620
54.6k
        yy_current_state = (yy_last_accepting_state);
4621
54.6k
        goto yy_find_action;
4622
54.6k
        }
4623
954k
      }
4624
4625
34.4k
    else switch ( yy_get_next_buffer(  ) )
4626
34.4k
      {
4627
3.85k
      case EOB_ACT_END_OF_FILE:
4628
3.85k
        {
4629
3.85k
        (yy_did_buffer_switch_on_eof) = 0;
4630
4631
3.85k
        if ( yywrap(  ) )
4632
3.85k
          {
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
3.85k
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4643
4644
3.85k
          yy_act = YY_STATE_EOF(YY_START);
4645
3.85k
          goto do_action;
4646
3.85k
          }
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
3.85k
        }
4655
4656
19.7k
      case EOB_ACT_CONTINUE_SCAN:
4657
19.7k
        (yy_c_buf_p) =
4658
19.7k
          (yytext_ptr) + yy_amount_of_matched_text;
4659
4660
19.7k
        yy_current_state = yy_get_previous_state(  );
4661
4662
19.7k
        yy_cp = (yy_c_buf_p);
4663
19.7k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4664
19.7k
        goto yy_match;
4665
4666
10.8k
      case EOB_ACT_LAST_MATCH:
4667
10.8k
        (yy_c_buf_p) =
4668
10.8k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4669
4670
10.8k
        yy_current_state = yy_get_previous_state(  );
4671
4672
10.8k
        yy_cp = (yy_c_buf_p);
4673
10.8k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4674
10.8k
        goto yy_find_action;
4675
34.4k
      }
4676
0
    break;
4677
988k
    }
4678
4679
0
  default:
4680
0
    YY_FATAL_ERROR(
4681
2.90M
      "fatal flex scanner internal error--no action found" );
4682
2.90M
  } /* end of action switch */
4683
2.90M
    } /* end of scanning one token */
4684
608k
  } /* end of user's declarations */
4685
608k
} /* 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
34.4k
{
4696
34.4k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4697
34.4k
  char *source = (yytext_ptr);
4698
34.4k
  int number_to_move, i;
4699
34.4k
  int ret_val;
4700
4701
34.4k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4702
0
    YY_FATAL_ERROR(
4703
34.4k
    "fatal flex scanner internal error--end of buffer missed" );
4704
4705
34.4k
  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
34.4k
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4728
4729
1.42M
  for ( i = 0; i < number_to_move; ++i )
4730
1.38M
    *(dest++) = *(source++);
4731
4732
34.4k
  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
3.80k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4737
4738
30.6k
  else
4739
30.6k
    {
4740
30.6k
      int num_to_read =
4741
30.6k
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4742
4743
30.6k
    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
30.6k
    if ( num_to_read > YY_READ_BUF_SIZE )
4782
30.6k
      num_to_read = YY_READ_BUF_SIZE;
4783
4784
    /* Read in more data. */
4785
30.6k
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4786
30.6k
      (yy_n_chars), num_to_read );
4787
4788
30.6k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4789
30.6k
    }
4790
4791
34.4k
  if ( (yy_n_chars) == 0 )
4792
14.7k
    {
4793
14.7k
    if ( number_to_move == YY_MORE_ADJ )
4794
3.85k
      {
4795
3.85k
      ret_val = EOB_ACT_END_OF_FILE;
4796
3.85k
      yyrestart( yyin  );
4797
3.85k
      }
4798
4799
10.8k
    else
4800
10.8k
      {
4801
10.8k
      ret_val = EOB_ACT_LAST_MATCH;
4802
10.8k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4803
10.8k
        YY_BUFFER_EOF_PENDING;
4804
10.8k
      }
4805
14.7k
    }
4806
4807
19.7k
  else
4808
19.7k
    ret_val = EOB_ACT_CONTINUE_SCAN;
4809
4810
34.4k
  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
34.4k
  (yy_n_chars) += number_to_move;
4822
34.4k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4823
34.4k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4824
4825
34.4k
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4826
4827
34.4k
  return ret_val;
4828
34.4k
}
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
984k
{
4834
984k
  yy_state_type yy_current_state;
4835
984k
  char *yy_cp;
4836
    
4837
984k
  yy_current_state = (yy_start);
4838
4839
182M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4840
181M
    {
4841
181M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 86);
4842
181M
    if ( yy_accept[yy_current_state] )
4843
175M
      {
4844
175M
      (yy_last_accepting_state) = yy_current_state;
4845
175M
      (yy_last_accepting_cpos) = yy_cp;
4846
175M
      }
4847
363M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4848
181M
      {
4849
181M
      yy_current_state = (int) yy_def[yy_current_state];
4850
181M
      if ( yy_current_state >= 1737 )
4851
181M
        yy_c = yy_meta[yy_c];
4852
181M
      }
4853
181M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4854
181M
    }
4855
4856
984k
  return yy_current_state;
4857
984k
}
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
954k
{
4866
954k
  int yy_is_jam;
4867
954k
      char *yy_cp = (yy_c_buf_p);
4868
4869
954k
  YY_CHAR yy_c = 86;
4870
954k
  if ( yy_accept[yy_current_state] )
4871
879k
    {
4872
879k
    (yy_last_accepting_state) = yy_current_state;
4873
879k
    (yy_last_accepting_cpos) = yy_cp;
4874
879k
    }
4875
1.90M
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4876
951k
    {
4877
951k
    yy_current_state = (int) yy_def[yy_current_state];
4878
951k
    if ( yy_current_state >= 1737 )
4879
896k
      yy_c = yy_meta[yy_c];
4880
951k
    }
4881
954k
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4882
954k
  yy_is_jam = (yy_current_state == 1736);
4883
4884
954k
    return yy_is_jam ? 0 : yy_current_state;
4885
954k
}
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
23.3k
{
5009
    
5010
23.3k
  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
23.3k
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
5017
23.3k
  yy_load_buffer_state(  );
5018
23.3k
}
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
406
{
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
406
  yyensure_buffer_stack ();
5033
406
  if ( YY_CURRENT_BUFFER == new_buffer )
5034
0
    return;
5035
5036
406
  if ( YY_CURRENT_BUFFER )
5037
203
    {
5038
    /* Flush out information for old buffer. */
5039
203
    *(yy_c_buf_p) = (yy_hold_char);
5040
203
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5041
203
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5042
203
    }
5043
5044
406
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5045
406
  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
406
  (yy_did_buffer_switch_on_eof) = 1;
5053
406
}
5054
5055
static void yy_load_buffer_state  (void)
5056
47.0k
{
5057
47.0k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5058
47.0k
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
5059
47.0k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
5060
47.0k
  (yy_hold_char) = *(yy_c_buf_p);
5061
47.0k
}
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
205
{
5071
205
  YY_BUFFER_STATE b;
5072
    
5073
205
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5074
205
  if ( ! b )
5075
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5076
5077
205
  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
205
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
5083
205
  if ( ! b->yy_ch_buf )
5084
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5085
5086
205
  b->yy_is_our_buffer = 1;
5087
5088
205
  yy_init_buffer( b, file );
5089
5090
205
  return b;
5091
205
}
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
203
{
5099
    
5100
203
  if ( ! b )
5101
0
    return;
5102
5103
203
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
5104
203
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
5105
5106
203
  if ( b->yy_is_our_buffer )
5107
203
    yyfree( (void *) b->yy_ch_buf  );
5108
5109
203
  yyfree( (void *) b  );
5110
203
}
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
23.5k
{
5119
23.5k
  int oerrno = errno;
5120
    
5121
23.5k
  yy_flush_buffer( b );
5122
5123
23.5k
  b->yy_input_file = file;
5124
23.5k
  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
23.5k
    if (b != YY_CURRENT_BUFFER){
5131
205
        b->yy_bs_lineno = 1;
5132
205
        b->yy_bs_column = 0;
5133
205
    }
5134
5135
23.5k
        b->yy_is_interactive = 0;
5136
    
5137
23.5k
  errno = oerrno;
5138
23.5k
}
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
23.5k
{
5146
23.5k
      if ( ! b )
5147
0
    return;
5148
5149
23.5k
  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
23.5k
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
5156
23.5k
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
5157
5158
23.5k
  b->yy_buf_pos = &b->yy_ch_buf[0];
5159
5160
23.5k
  b->yy_at_bol = 1;
5161
23.5k
  b->yy_buffer_status = YY_BUFFER_NEW;
5162
5163
23.5k
  if ( b == YY_CURRENT_BUFFER )
5164
23.3k
    yy_load_buffer_state(  );
5165
23.5k
}
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
408
{
5224
408
  yy_size_t num_to_alloc;
5225
    
5226
408
  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
2
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5233
2
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
5234
2
                (num_to_alloc * sizeof(struct yy_buffer_state*)
5235
2
                );
5236
2
    if ( ! (yy_buffer_stack) )
5237
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5238
5239
2
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5240
5241
2
    (yy_buffer_stack_max) = num_to_alloc;
5242
2
    (yy_buffer_stack_top) = 0;
5243
2
    return;
5244
2
  }
5245
5246
406
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5247
5248
    /* Increase the buffer to prepare for a possible push. */
5249
1
    yy_size_t grow_size = 8 /* arbitrary grow size */;
5250
5251
1
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
5252
1
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5253
1
                ((yy_buffer_stack),
5254
1
                num_to_alloc * sizeof(struct yy_buffer_state*)
5255
1
                );
5256
1
    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
1
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5261
1
    (yy_buffer_stack_max) = num_to_alloc;
5262
1
  }
5263
406
}
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
412
{
5535
412
      return malloc(size);
5536
412
}
5537
5538
void *yyrealloc  (void * ptr, yy_size_t  size )
5539
1
{
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
1
  return realloc(ptr, size);
5549
1
}
5550
5551
void yyfree (void * ptr )
5552
406
{
5553
406
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5554
406
}
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
3.85k
{
5567
3.85k
  return(1);
5568
3.85k
}
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
14.7k
void msyycleanup_includes() {
5577
14.7k
  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
14.7k
}
5583