i3
src/cfgparse.yy.c
Go to the documentation of this file.
00001 #line 2 "src/cfgparse.yy.c"
00002 
00003 #line 4 "src/cfgparse.yy.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016 
00017 /* First, we deal with  platform-specific or compiler-specific issues. */
00018 
00019 /* begin standard C headers. */
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024 
00025 /* end standard C headers. */
00026 
00027 /* flex integer type definitions */
00028 
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031 
00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00033 
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035 
00036 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00037  * if you want the limit (max/min) macros for int types. 
00038  */
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042 
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t; 
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057 #endif /* ! C99 */
00058 
00059 /* Limits of integral types. */
00060 #ifndef INT8_MIN
00061 #define INT8_MIN               (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN              (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN              (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX               (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX              (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX              (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX              (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX             (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX             (4294967295U)
00086 #endif
00087 
00088 #endif /* ! FLEXINT_H */
00089 
00090 #ifdef __cplusplus
00091 
00092 /* The "const" storage-class-modifier is valid. */
00093 #define YY_USE_CONST
00094 
00095 #else   /* ! __cplusplus */
00096 
00097 /* C99 requires __STDC__ to be defined as 1. */
00098 #if defined (__STDC__)
00099 
00100 #define YY_USE_CONST
00101 
00102 #endif  /* defined (__STDC__) */
00103 #endif  /* ! __cplusplus */
00104 
00105 #ifdef YY_USE_CONST
00106 #define yyconst const
00107 #else
00108 #define yyconst
00109 #endif
00110 
00111 /* Returned upon end-of-file. */
00112 #define YY_NULL 0
00113 
00114 /* Promotes a possibly negative, possibly signed char to an unsigned
00115  * integer for use as an array index.  If the signed char is negative,
00116  * we want to instead treat it as an 8-bit unsigned char, hence the
00117  * double cast.
00118  */
00119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00120 
00121 /* Enter a start condition.  This macro really ought to take a parameter,
00122  * but we do it the disgusting crufty way forced on us by the ()-less
00123  * definition of BEGIN.
00124  */
00125 #define BEGIN (yy_start) = 1 + 2 *
00126 
00127 /* Translate the current start state into a value that can be later handed
00128  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00129  * compatibility.
00130  */
00131 #define YY_START (((yy_start) - 1) / 2)
00132 #define YYSTATE YY_START
00133 
00134 /* Action number for EOF rule of a given start state. */
00135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00136 
00137 /* Special action meaning "start processing a new file". */
00138 #define YY_NEW_FILE yyrestart(yyin  )
00139 
00140 #define YY_END_OF_BUFFER_CHAR 0
00141 
00142 /* Size of default input buffer. */
00143 #ifndef YY_BUF_SIZE
00144 #define YY_BUF_SIZE 16384
00145 #endif
00146 
00147 /* The state buf must be large enough to hold one state per character in the main buffer.
00148  */
00149 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00150 
00151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00152 #define YY_TYPEDEF_YY_BUFFER_STATE
00153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00154 #endif
00155 
00156 extern int yyleng;
00157 
00158 extern FILE *yyin, *yyout;
00159 
00160 #define EOB_ACT_CONTINUE_SCAN 0
00161 #define EOB_ACT_END_OF_FILE 1
00162 #define EOB_ACT_LAST_MATCH 2
00163 
00164     #define YY_LESS_LINENO(n)
00165     
00166 /* Return all but the first "n" matched characters back to the input stream. */
00167 #define yyless(n) \
00168         do \
00169                 { \
00170                 /* Undo effects of setting up yytext. */ \
00171         int yyless_macro_arg = (n); \
00172         YY_LESS_LINENO(yyless_macro_arg);\
00173                 *yy_cp = (yy_hold_char); \
00174                 YY_RESTORE_YY_MORE_OFFSET \
00175                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00176                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00177                 } \
00178         while ( 0 )
00179 
00180 #define unput(c) yyunput( c, (yytext_ptr)  )
00181 
00182 #ifndef YY_TYPEDEF_YY_SIZE_T
00183 #define YY_TYPEDEF_YY_SIZE_T
00184 typedef size_t yy_size_t;
00185 #endif
00186 
00187 #ifndef YY_STRUCT_YY_BUFFER_STATE
00188 #define YY_STRUCT_YY_BUFFER_STATE
00189 struct yy_buffer_state
00190         {
00191         FILE *yy_input_file;
00192 
00193         char *yy_ch_buf;                /* input buffer */
00194         char *yy_buf_pos;               /* current position in input buffer */
00195 
00196         /* Size of input buffer in bytes, not including room for EOB
00197          * characters.
00198          */
00199         yy_size_t yy_buf_size;
00200 
00201         /* Number of characters read into yy_ch_buf, not including EOB
00202          * characters.
00203          */
00204         int yy_n_chars;
00205 
00206         /* Whether we "own" the buffer - i.e., we know we created it,
00207          * and can realloc() it to grow it, and should free() it to
00208          * delete it.
00209          */
00210         int yy_is_our_buffer;
00211 
00212         /* Whether this is an "interactive" input source; if so, and
00213          * if we're using stdio for input, then we want to use getc()
00214          * instead of fread(), to make sure we stop fetching input after
00215          * each newline.
00216          */
00217         int yy_is_interactive;
00218 
00219         /* Whether we're considered to be at the beginning of a line.
00220          * If so, '^' rules will be active on the next match, otherwise
00221          * not.
00222          */
00223         int yy_at_bol;
00224 
00225     int yy_bs_lineno; 
00226     int yy_bs_column; 
00228         /* Whether to try to fill the input buffer when we reach the
00229          * end of it.
00230          */
00231         int yy_fill_buffer;
00232 
00233         int yy_buffer_status;
00234 
00235 #define YY_BUFFER_NEW 0
00236 #define YY_BUFFER_NORMAL 1
00237         /* When an EOF's been seen but there's still some text to process
00238          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00239          * shouldn't try reading from the input source any more.  We might
00240          * still have a bunch of tokens to match, though, because of
00241          * possible backing-up.
00242          *
00243          * When we actually see the EOF, we change the status to "new"
00244          * (via yyrestart()), so that the user can continue scanning by
00245          * just pointing yyin at a new input file.
00246          */
00247 #define YY_BUFFER_EOF_PENDING 2
00248 
00249         };
00250 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00251 
00252 /* Stack of input buffers. */
00253 static size_t yy_buffer_stack_top = 0; 
00254 static size_t yy_buffer_stack_max = 0; 
00255 static YY_BUFFER_STATE * yy_buffer_stack = 0; 
00257 /* We provide macros for accessing buffer states in case in the
00258  * future we want to put the buffer states in a more general
00259  * "scanner state".
00260  *
00261  * Returns the top of the stack, or NULL.
00262  */
00263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00264                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00265                           : NULL)
00266 
00267 /* Same as previous macro, but useful when we know that the buffer stack is not
00268  * NULL or when we need an lvalue. For internal use only.
00269  */
00270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00271 
00272 /* yy_hold_char holds the character lost when yytext is formed. */
00273 static char yy_hold_char;
00274 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
00275 int yyleng;
00276 
00277 /* Points to current character in buffer. */
00278 static char *yy_c_buf_p = (char *) 0;
00279 static int yy_init = 0;         /* whether we need to initialize */
00280 static int yy_start = 0;        /* start state number */
00281 
00282 /* Flag which is used to allow yywrap()'s to do buffer switches
00283  * instead of setting up a fresh yyin.  A bit of a hack ...
00284  */
00285 static int yy_did_buffer_switch_on_eof;
00286 
00287 void yyrestart (FILE *input_file  );
00288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
00290 void yy_delete_buffer (YY_BUFFER_STATE b  );
00291 void yy_flush_buffer (YY_BUFFER_STATE b  );
00292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
00293 void yypop_buffer_state (void );
00294 
00295 static void yyensure_buffer_stack (void );
00296 static void yy_load_buffer_state (void );
00297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00298 
00299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00300 
00301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
00302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
00303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
00304 
00305 void *yyalloc (yy_size_t  );
00306 void *yyrealloc (void *,yy_size_t  );
00307 void yyfree (void *  );
00308 
00309 #define yy_new_buffer yy_create_buffer
00310 
00311 #define yy_set_interactive(is_interactive) \
00312         { \
00313         if ( ! YY_CURRENT_BUFFER ){ \
00314         yyensure_buffer_stack (); \
00315                 YY_CURRENT_BUFFER_LVALUE =    \
00316             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00317         } \
00318         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00319         }
00320 
00321 #define yy_set_bol(at_bol) \
00322         { \
00323         if ( ! YY_CURRENT_BUFFER ){\
00324         yyensure_buffer_stack (); \
00325                 YY_CURRENT_BUFFER_LVALUE =    \
00326             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00327         } \
00328         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00329         }
00330 
00331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00332 
00333 /* Begin user sect3 */
00334 
00335 typedef unsigned char YY_CHAR;
00336 
00337 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00338 
00339 typedef int yy_state_type;
00340 
00341 extern int yylineno;
00342 
00343 int yylineno = 1;
00344 
00345 extern char *yytext;
00346 #define yytext_ptr yytext
00347 
00348 static yy_state_type yy_get_previous_state (void );
00349 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00350 static int yy_get_next_buffer (void );
00351 static void yy_fatal_error (yyconst char msg[]  );
00352 
00353 /* Done after the current pattern has been matched and before the
00354  * corresponding action - sets up yytext.
00355  */
00356 #define YY_DO_BEFORE_ACTION \
00357         (yytext_ptr) = yy_bp; \
00358         yyleng = (size_t) (yy_cp - yy_bp); \
00359         (yy_hold_char) = *yy_cp; \
00360         *yy_cp = '\0'; \
00361         (yy_c_buf_p) = yy_cp;
00362 
00363 #define YY_NUM_RULES 62
00364 #define YY_END_OF_BUFFER 63
00365 /* This struct is not used in this scanner,
00366    but its presence is necessary. */
00367 struct yy_trans_info
00368         {
00369         flex_int32_t yy_verify;
00370         flex_int32_t yy_nxt;
00371         };
00372 static yyconst flex_int16_t yy_acclist[2774] =
00373     {   0,
00374      8193,16385,   63,   61,   62,   56,   61,   62,   49,   62,
00375        61,   62,   61,   62,    6,   61,   62,   60,   61,   62,
00376        60,   61,   62,   60,   61,   62,   60,   61,   62,   60,
00377        61,   62,   60,   61,   62,   60,   61,   62,   60,   61,
00378        62,   60,   61,   62,   60,   61,   62,   60,   61,   62,
00379        60,   61,   62,   60,   61,   62,   60,   61,   62,   60,
00380        61,   62,   61,   62,   56,   61,   62,    4,   61,   62,
00381        50,   56,   61,   62,   50,   56,   61,   62,   51,   56,
00382        61,   62,   51,   56,   61,   62,   52,   56,   61,   62,
00383        52,   56,   61,   62,   53,   56,   61,   62,    6,   59,
00384 
00385        61,   62,   59,   60,   61,   62,   59,   60,   61,   62,
00386        59,   60,   61,   62,   59,   60,   61,   62,   59,   60,
00387        61,   62,   59,   60,   61,   62,   59,   60,   61,   62,
00388        59,   60,   61,   62,   59,   60,   61,   62,   59,   60,
00389        61,   62,   59,   60,   61,   62,   59,   60,   61,   62,
00390        59,   60,   61,   62,   59,   60,   61,   62,   59,   60,
00391        61,   62,   59,   61,   62,   53,   56,   61,   62,    2,
00392        61,   62,    2,   56,   61,   62,    2,   61,   62,    2,
00393        61,   62,    2,    6,   61,   62,    2,   60,   61,   62,
00394         2,   60,   61,   62,    2,   60,   61,   62,    2,   60,
00395 
00396        61,   62,    2,   60,   61,   62,    2,   60,   61,   62,
00397         2,   60,   61,   62,    2,   60,   61,   62,    2,   60,
00398        61,   62,    2,   60,   61,   62,    2,   60,   61,   62,
00399         2,   60,   61,   62,    2,   60,   61,   62,    2,   60,
00400        61,   62,    2,   60,   61,   62,    2,   61,   62,    2,
00401        56,   61,   62,    2,    4,   61,   62,   58,   61,   62,
00402        49,   58,   62,   58,   61,   62,   58,   61,   62,    6,
00403        58,   61,   62,   58,   60,   61,   62,   58,   60,   61,
00404        62,   58,   60,   61,   62,   58,   60,   61,   62,   58,
00405        60,   61,   62,   58,   60,   61,   62,   58,   60,   61,
00406 
00407        62,   58,   60,   61,   62,   58,   60,   61,   62,   58,
00408        60,   61,   62,   58,   60,   61,   62,   58,   60,   61,
00409        62,   58,   60,   61,   62,   58,   60,   61,   62,   58,
00410        60,   61,   62,   58,   61,   62,    4,   58,   61,   62,
00411         5,    6,   61,   62,    5,   60,   61,   62,    5,   60,
00412        61,   62,    5,   60,   61,   62,    5,   60,   61,   62,
00413         5,   60,   61,   62,    5,   60,   61,   62,   54,   56,
00414        61,   62,   54,   56,   61,   62,   55,   56,   61,   62,
00415         3,   61,   62,    3,    6,   61,   62,    3,   60,   61,
00416        62,    3,   60,   61,   62,    3,   60,   61,   62,    3,
00417 
00418        60,   61,   62,    3,   60,   61,   62,    3,   60,   61,
00419        62,    3,   60,   61,   62,    3,   60,   61,   62,    3,
00420        60,   61,   62,    3,   60,   61,   62,    3,   60,   61,
00421        62,    3,   60,   61,   62,    3,   60,   61,   62,    3,
00422        60,   61,   62,    3,   60,   61,   62,   55,   56,   61,
00423        62,   62, 8193,   62,16385, 8193,   62,   62,   56,   49,
00424         6,   60,   60,   60,   60,   60,   60,   60,   60,   60,
00425        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
00426        60,   60,   60,   60,   56,    4,    4,   50,   56,   50,
00427        56,   51,   56,   51,   56,   52,   56,   52,   56,   53,
00428 
00429        56,    6,   59,   59,   59,   60,   59,   60,   59,   60,
00430        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00431        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00432        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00433        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00434        53,   56,    2,    2,   56,    2,    2,    6,    2,   60,
00435         2,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00436         2,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00437         2,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00438         2,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00439 
00440         2,   60,    2,   60,    2,    2,   56,    2,    4,    2,
00441         4,   58,   49,   58,   58,    6,   58,   58,   60,   58,
00442        60,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00443        60,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00444        60,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00445        60,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00446        60,   58,   60,   58,    4,   58,    5,    6,    5,    5,
00447        60,    5,   60,    5,   60,   54,   56,   54,   56,   55,
00448        56,    3,    3,    6,    3,   60,    3,   60,    3,   60,
00449         3,   60,    3,   60,    3,   60,    3,   60,    3,   60,
00450 
00451         3,   60,    3,   60,    3,   60,    3,   60,    3,   60,
00452         3,   60,    3,   60,    3,   60,    3,   60,    3,   60,
00453         3,   60,    3,   60,    3,   60,    3,   60,    3,   60,
00454        55,   56, 8193,16385, 8193,   57,   60,   60,   60,   60,
00455        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
00456        60,   60,   60,   60,   17,   60,   60,   60,   60,   60,
00457        60,   48,   59,   60,   59,   60,   59,   60,   59,   60,
00458        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00459        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00460        59,   60,   59,   60,   59,   60,   59,   60,   17,   59,
00461 
00462        60,   59,   60,   59,   60,   59,   60,   59,   60,   59,
00463        60,    2,   57,    2,   60,    2,   60,    2,   60,    2,
00464        60,    2,   60,    2,   60,    2,   60,    2,   60,    2,
00465        60,    2,   60,    2,   60,    2,   60,    2,   60,    2,
00466        60,    2,   60,    2,   60,    2,   60,    2,   60,    2,
00467        17,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00468         2,   60,    2,   48,   57,   58,   58,   60,   58,   60,
00469        58,   60,   58,   60,   58,   60,   58,   60,   58,   60,
00470        58,   60,   58,   60,   58,   60,   58,   60,   58,   60,
00471        58,   60,   58,   60,   58,   60,   58,   60,   58,   60,
00472 
00473        58,   60,   17,   58,   60,   58,   60,   58,   60,   58,
00474        60,   58,   60,   58,   60,   48,   58,    5,   60,    3,
00475        60,    3,   60,    3,   60,    3,   60,    3,   60,    3,
00476        60,    3,   60,    3,   60,    3,   60,    3,   60,    3,
00477        60,    3,   60,    3,   60,    3,   60,    3,   60,    3,
00478        60,    3,   60,    3,   60,    3,   17,   60,    3,   60,
00479         3,   60,    3,   60,    3,   60,    3,   60,   60,   60,
00480         8,   60,   60,   28,   60,   60,   46,   60,   60,   30,
00481        60,   60,   60,   15,   60,   39,   40,   41,   42,   43,
00482         7,   60,   60,   29,   60,   60,   17,   17,   60,   60,
00483 
00484        60,   60,   60,   60,   59,   60,   59,   59,   60,    8,
00485        59,   60,   59,   60,   28,   59,   60,   59,   60,   46,
00486        59,   60,   59,   60,   30,   59,   60,   59,   60,   59,
00487        60,   15,   59,   60,   59,   39,   59,   40,   59,   41,
00488        59,   42,   59,   43,   59,    7,   59,   60,   59,   59,
00489        60,   29,   59,   60,   59,   60,   17,   59,   17,   59,
00490        60,   59,   60,   59,   60,   59,   60,   59,   60,   59,
00491        60,    2,   60,    2,    2,   60,    2,    8,   60,    2,
00492        60,    2,   28,   60,    2,   60,    2,   46,   60,    2,
00493        60,    2,   30,   60,    2,   60,    2,   60,    2,   15,
00494 
00495        60,    2,    2,    2,   39,    2,   40,    2,   41,    2,
00496        42,    2,   43,    2,    7,   60,    2,    2,   60,    2,
00497        29,   60,    2,   60,    2,   17,    2,   17,   60,    2,
00498        60,    2,   60,    2,   60,    2,   60,    2,   60,   58,
00499        60,   58,   58,   60,    8,   58,   60,   58,   60,   28,
00500        58,   60,   58,   60,   46,   58,   60,   58,   60,   30,
00501        58,   60,   58,   60,   58,   60,   15,   58,   60,   58,
00502        58,   39,   58,   40,   58,   41,   58,   42,   58,   43,
00503        58,    7,   58,   60,   58,   58,   60,   29,   58,   60,
00504        58,   60,   17,   58,   17,   58,   60,   58,   60,   58,
00505 
00506        60,   58,   60,   58,   60,   58,   60,    5,   60,    3,
00507        60,    3,    3,   60,    3,    8,   60,    3,   60,    3,
00508        28,   60,    3,   60,    3,   46,   60,    3,   60,    3,
00509        30,   60,    3,   60,    3,   60,    3,   15,   60,    3,
00510         3,    3,   39,    3,   40,    3,   41,    3,   42,    3,
00511        43,    3,    7,   60,    3,    3,   60,    3,   29,   60,
00512         3,   60,    3,   17,    3,   17,   60,    3,   60,    3,
00513        60,    3,   60,    3,   60,    3,   60,   60,   60,   60,
00514        60,   60,   60,   60,   60,   60,   60,   60,   47,   60,
00515        60,   60,   60,   60,   59,   60,   59,   59,   59,   60,
00516 
00517        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00518        59,   60,   59,   60,   59,   59,   59,   59,   59,   60,
00519        59,   60,   47,   59,   60,   59,   60,   59,   60,   59,
00520        60,   59,   60,    2,   60,    2,    2,    2,   60,    2,
00521        60,    2,   60,    2,   60,    2,   60,    2,   60,    2,
00522        60,    2,   60,    2,    2,    2,    2,    2,    2,   60,
00523         2,   60,    2,   47,   60,    2,   60,    2,   60,    2,
00524        60,    2,   60,   58,   60,   58,   58,   58,   60,   58,
00525        60,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00526        60,   58,   60,   58,   58,   58,   58,   58,   58,   60,
00527 
00528        58,   60,   47,   58,   60,   58,   60,   58,   60,   58,
00529        60,   58,   60,    3,   60,    3,    3,    3,   60,    3,
00530        60,    3,   60,    3,   60,    3,   60,    3,   60,    3,
00531        60,    3,   60,    3,    3,    3,    3,    3,    3,   60,
00532         3,   60,    3,   47,   60,    3,   60,    3,   60,    3,
00533        60,    3,   60,   16,   60,   60,   60,   60,   60,   60,
00534        60,   60,   60,   12,   60,   13,   60,   60,   26,   60,
00535        60,   60,   16,   59,   60,   59,   59,   59,   59,   60,
00536        59,   60,   59,   60,   59,   60,   59,   60,   59,   60,
00537        59,   60,   59,   60,   59,   59,   59,   59,   59,   12,
00538 
00539        59,   60,   13,   59,   60,   59,   60,   26,   59,   60,
00540        59,   60,   59,   60,    2,   16,   60,    2,    2,    2,
00541         2,   60,    2,   60,    2,   60,    2,   60,    2,   60,
00542         2,   60,    2,   60,    2,   60,    2,    2,    2,    2,
00543         2,    2,    2,   12,   60,    2,   13,   60,    2,    2,
00544        60,    2,   26,   60,    2,   60,    2,   60,   16,   58,
00545        60,   58,   58,   58,   58,   60,   58,   60,   58,   60,
00546        58,   60,   58,   60,   58,   60,   58,   60,   58,   60,
00547        58,   58,   58,   58,   58,   58,   12,   58,   60,   13,
00548        58,   60,   58,   58,   60,   26,   58,   60,   58,   60,
00549 
00550        58,   60,    3,   16,   60,    3,    3,    3,    3,   60,
00551         3,   60,    3,   60,    3,   60,    3,   60,    3,   60,
00552         3,   60,    3,   60,    3,    3,    3,    3,    3,    3,
00553         3,   12,   60,    3,   13,   60,    3,    3,   60,    3,
00554        26,   60,    3,   60,    3,   60,   60,   60,   60,    9,
00555        60,   60,   45,   60,   24,   60,   60,   60,   60,   60,
00556        59,   59,   59,   59,   60,   59,   60,   59,   60,    9,
00557        59,   60,   59,   59,   60,   45,   59,   60,   24,   59,
00558        60,   59,   60,   59,   59,   59,   59,   59,   59,   60,
00559        59,   60,   59,   60,    2,    2,    2,    2,   60,    2,
00560 
00561        60,    2,   60,    2,    9,   60,    2,    2,   60,    2,
00562        45,   60,    2,   24,   60,    2,   60,    2,    2,    2,
00563         2,    2,    2,    2,    2,   60,    2,   60,    2,   60,
00564        58,   58,   58,   58,   60,   58,   60,   58,   60,    9,
00565        58,   60,   58,   58,   60,   45,   58,   60,   24,   58,
00566        60,   58,   60,   58,   58,   58,   58,   58,   58,   58,
00567        58,   60,   58,   60,   58,   60,    3,    3,    3,    3,
00568        60,    3,   60,    3,   60,    3,    9,   60,    3,    3,
00569        60,    3,   45,   60,    3,   24,   60,    3,   60,    3,
00570         3,    3,    3,    3,    3,    3,    3,   60,    3,   60,
00571 
00572         3,   60,   60,   60,   60,   60,   60,   60,   60,   25,
00573        60,   14,   60,   60,   59,   59,   59,   59,   60,   59,
00574        60,   59,   60,   59,   59,   59,   59,   60,   59,   60,
00575        59,   60,   59,   60,   59,   59,   59,   59,   59,   25,
00576        59,   60,   14,   59,   60,   59,   60,    2,    2,    2,
00577         2,   60,    2,   60,    2,   60,    2,    2,    2,    2,
00578        60,    2,   60,    2,   60,    2,   60,    2,    2,    2,
00579         2,    2,    2,    2,    2,   25,   60,    2,   14,   60,
00580         2,   60,   58,   58,   58,   58,   60,   58,   60,   58,
00581        60,   58,   58,   58,   58,   60,   58,   60,   58,   60,
00582 
00583        58,   60,   58,   58,   58,   58,   58,   58,   58,   25,
00584        58,   60,   14,   58,   60,   58,   60,    3,    3,    3,
00585         3,   60,    3,   60,    3,   60,    3,    3,    3,    3,
00586        60,    3,   60,    3,   60,    3,   60,    3,    3,    3,
00587         3,    3,    3,    3,    3,   25,   60,    3,   14,   60,
00588         3,   60,   60,   60,   60,   60,   60,   60,   60,   11,
00589        60,   59,   59,   59,   59,   60,   59,   60,   59,   60,
00590        59,   59,   59,   59,   59,   60,   59,   60,   59,   60,
00591        59,   60,   59,   59,   59,   59,   59,   59,   11,   59,
00592        60,    2,    2,    2,    2,   60,    2,   60,    2,   60,
00593 
00594         2,    2,    2,    2,    2,   60,    2,   60,    2,   60,
00595         2,   60,    2,    2,    2,    2,    2,    2,    2,    2,
00596         2,   11,   60,   58,   58,   58,   58,   60,   58,   60,
00597        58,   60,   58,   58,   58,   58,   58,   60,   58,   60,
00598        58,   60,   58,   60,   58,   58,   58,   58,   58,   58,
00599        58,   58,   11,   58,   60,    3,    3,    3,    3,   60,
00600         3,   60,    3,   60,    3,    3,    3,    3,    3,   60,
00601         3,   60,    3,   60,    3,   60,    3,    3,    3,    3,
00602         3,    3,    3,    3,    3,   11,   60,   38,   60,   60,
00603        38,   60,   60,   60,   60,   60,   18,   19,   21,   59,
00604 
00605        59,   38,   59,   59,   60,   59,   60,   38,   59,   60,
00606        59,   59,   59,   59,   59,   60,   59,   60,   59,   60,
00607        59,   60,   59,   59,   19,   59,   59,   59,   21,   59,
00608        59,    2,    2,    2,   38,    2,   60,    2,   60,    2,
00609        38,   60,    2,    2,    2,    2,    2,   60,    2,   60,
00610         2,   60,    2,   60,    2,    2,    2,   18,    2,   19,
00611         2,    2,    2,   21,    2,    2,   58,   58,   38,   58,
00612        58,   60,   58,   60,   38,   58,   60,   58,   58,   58,
00613        58,   58,   60,   58,   60,   58,   60,   58,   60,   58,
00614        58,   18,   58,   19,   58,   58,   58,   21,   58,   58,
00615 
00616        58,    3,    3,    3,   38,    3,   60,    3,   60,    3,
00617        38,   60,    3,    3,    3,    3,    3,   60,    3,   60,
00618         3,   60,    3,   60,    3,    3,    3,   18,    3,   19,
00619         3,    3,    3,   21,    3,    3,   36,   36,   60,   60,
00620        60,   60,   60,   60,   44,   27,   36,   59,   59,   36,
00621        59,   60,   59,   60,   59,   59,   59,   59,   59,   60,
00622        59,   60,   59,   60,   59,   60,   59,   59,   44,   59,
00623        59,   59,    2,   36,    2,    2,   36,   60,    2,   60,
00624         2,    2,    2,    2,    2,   60,    2,   60,    2,   60,
00625         2,   60,    2,    2,    2,   44,    2,    2,   27,    2,
00626 
00627        36,   58,   58,   36,   58,   60,   58,   60,   58,   58,
00628        58,   58,   58,   60,   58,   60,   58,   60,   58,   60,
00629        58,   58,   44,   58,   58,   27,   58,   58,    3,   36,
00630         3,    3,   36,   60,    3,   60,    3,    3,    3,    3,
00631         3,   60,    3,   60,    3,   60,    3,   60,    3,    3,
00632         3,   44,    3,    3,   27,    3,   60,   60,   60,   60,
00633        60,   59,   59,   60,   59,   59,   59,   59,   59,   60,
00634        59,   60,   59,   60,   59,   60,   59,   59,   59,   59,
00635         2,    2,   60,    2,    2,    2,    2,    2,   60,    2,
00636        60,    2,   60,    2,   60,    2,    2,    2,    2,   58,
00637 
00638        58,   60,   58,   58,   58,   58,   58,   60,   58,   60,
00639        58,   60,   58,   60,   58,   58,   58,   58,    3,    3,
00640        60,    3,    3,    3,    3,    3,   60,    3,   60,    3,
00641        60,    3,   60,    3,    3,    3,    3,   37,   37,   60,
00642        35,   60,   60,   60,   35,   60,   20,   23,   37,   59,
00643        37,   59,   60,   59,   59,   59,   35,   59,   59,   60,
00644        59,   60,   59,   60,   35,   59,   60,   59,   59,   20,
00645        59,   23,   59,    2,   37,    2,   37,   60,    2,    2,
00646         2,    2,   35,    2,   60,    2,   60,    2,   60,    2,
00647        35,   60,    2,    2,    2,   20,    2,   23,   37,   58,
00648 
00649        37,   58,   60,   58,   58,   58,   35,   58,   58,   60,
00650        58,   60,   58,   60,   35,   58,   60,   58,   58,   20,
00651        58,   23,   58,    3,   37,    3,   37,   60,    3,    3,
00652         3,    3,   35,    3,   60,    3,   60,    3,   60,    3,
00653        35,   60,    3,    3,    3,   20,    3,   23,   32,   60,
00654        32,   60,   60,   59,   32,   59,   59,   59,   60,   32,
00655        59,   60,   59,   60,   59,   59,    2,    2,   32,    2,
00656         2,   60,    2,   32,   60,    2,   60,    2,    2,   58,
00657        32,   58,   58,   58,   60,   32,   58,   60,   58,   60,
00658        58,   58,    3,    3,   32,    3,    3,   60,    3,   32,
00659 
00660        60,    3,   60,    3,    3,   60,   60,   59,   59,   59,
00661        59,   60,   59,   60,   59,   59,    2,    2,    2,    2,
00662        60,    2,   60,    2,    2,   58,   58,   58,   58,   60,
00663        58,   60,   58,   58,    3,    3,    3,    3,   60,    3,
00664        60,    3,    3,   34,   60,   34,   60,   59,   59,   34,
00665        59,   59,   60,   34,   59,   60,   59,   59,    2,    2,
00666         2,   34,    2,   60,    2,   34,   60,    2,    2,   58,
00667        58,   34,   58,   58,   60,   34,   58,   60,   58,   58,
00668         3,    3,    3,   34,    3,   60,    3,   34,   60,    3,
00669         3,   31,   31,   60,   10,   31,   59,   59,   31,   59,
00670 
00671        60,   10,   59,   59,    2,   31,    2,    2,   31,   60,
00672         2,   10,    2,   31,   58,   58,   31,   58,   60,   10,
00673        58,   58,    3,   31,    3,    3,   31,   60,    3,   10,
00674         3,   59,   59,    2,    2,   58,   58,    3,    3,   22,
00675        59,   22,   59,    2,    2,   22,   58,   22,   58,    3,
00676         3,   22,   59,    2,   58,    3,   59,    2,   58,    3,
00677        59,    2,   58,    3,   33,   33,   59,    2,   33,   33,
00678        58,    3,   33
00679     } ;
00680 
00681 static yyconst flex_int16_t yy_accept[1688] =
00682     {   0,
00683         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00684         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00685         1,    1,    3,    4,    6,    9,   11,   13,   15,   18,
00686        21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
00687        51,   54,   57,   60,   63,   65,   68,   71,   75,   79,
00688        83,   87,   91,   95,   99,  103,  107,  111,  115,  119,
00689       123,  127,  131,  135,  139,  143,  147,  151,  155,  159,
00690       163,  166,  170,  173,  177,  180,  183,  187,  191,  195,
00691       199,  203,  207,  211,  215,  219,  223,  227,  231,  235,
00692       239,  243,  247,  250,  254,  258,  261,  264,  267,  270,
00693 
00694       274,  278,  282,  286,  290,  294,  298,  302,  306,  310,
00695       314,  318,  322,  326,  330,  334,  337,  341,  345,  349,
00696       353,  357,  361,  365,  369,  373,  377,  381,  384,  388,
00697       392,  396,  400,  404,  408,  412,  416,  420,  424,  428,
00698       432,  436,  440,  444,  448,  452,  453,  456,  458,  459,
00699       460,  461,  461,  462,  463,  464,  465,  466,  467,  468,
00700       469,  470,  471,  472,  473,  474,  475,  476,  477,  478,
00701       479,  480,  481,  482,  483,  484,  485,  485,  486,  487,
00702       488,  490,  492,  494,  496,  498,  500,  502,  504,  505,
00703       507,  509,  511,  513,  515,  517,  519,  521,  523,  525,
00704 
00705       527,  529,  531,  533,  535,  537,  539,  541,  543,  545,
00706       547,  549,  551,  553,  554,  556,  557,  559,  561,  563,
00707       565,  567,  569,  571,  573,  575,  577,  579,  581,  583,
00708       585,  587,  589,  591,  593,  595,  597,  599,  601,  603,
00709       605,  606,  608,  610,  612,  613,  615,  616,  618,  620,
00710       622,  624,  626,  628,  630,  632,  634,  636,  638,  640,
00711       642,  644,  646,  648,  650,  652,  654,  656,  658,  660,
00712       662,  664,  665,  667,  669,  670,  672,  674,  676,  678,
00713       680,  682,  683,  685,  687,  689,  691,  693,  695,  697,
00714       699,  701,  703,  705,  707,  709,  711,  713,  715,  717,
00715 
00716       719,  721,  723,  725,  727,  729,  731,  733,  735,  736,
00717       736,  737,  738,  739,  740,  741,  742,  743,  744,  745,
00718       746,  747,  748,  749,  750,  751,  752,  753,  754,  755,
00719       757,  758,  759,  760,  761,  762,  763,  765,  767,  769,
00720       771,  773,  775,  777,  779,  781,  783,  785,  787,  789,
00721       791,  793,  795,  797,  799,  802,  804,  806,  808,  810,
00722       812,  814,  816,  818,  820,  822,  824,  826,  828,  830,
00723       832,  834,  836,  838,  840,  842,  844,  846,  848,  850,
00724       853,  855,  857,  859,  861,  863,  865,  867,  869,  871,
00725       873,  875,  877,  879,  881,  883,  885,  887,  889,  891,
00726 
00727       893,  895,  897,  899,  901,  903,  906,  908,  910,  912,
00728       914,  916,  918,  920,  922,  924,  926,  928,  930,  932,
00729       934,  936,  938,  940,  942,  944,  946,  948,  950,  952,
00730       954,  956,  959,  961,  963,  965,  967,  969,  970,  970,
00731       971,  973,  974,  976,  977,  979,  980,  982,  983,  984,
00732       986,  986,  986,  987,  988,  989,  990,  991,  993,  993,
00733       994,  996,  997,  998, 1000, 1001, 1002, 1003, 1004, 1005,
00734      1007, 1008, 1010, 1013, 1015, 1018, 1020, 1023, 1025, 1028,
00735      1030, 1032, 1035, 1036, 1038, 1040, 1042, 1044, 1046, 1049,
00736      1050, 1052, 1055, 1057, 1059, 1062, 1064, 1066, 1068, 1070,
00737 
00738      1072, 1074, 1075, 1077, 1080, 1082, 1085, 1087, 1090, 1092,
00739      1095, 1097, 1099, 1102, 1103, 1104, 1106, 1108, 1110, 1112,
00740      1114, 1117, 1118, 1120, 1123, 1125, 1127, 1130, 1132, 1134,
00741      1136, 1138, 1140, 1142, 1143, 1145, 1148, 1150, 1153, 1155,
00742      1158, 1160, 1163, 1165, 1167, 1170, 1171, 1172, 1174, 1176,
00743      1178, 1180, 1182, 1185, 1186, 1188, 1191, 1193, 1195, 1198,
00744      1200, 1202, 1204, 1206, 1208, 1210, 1212, 1213, 1215, 1218,
00745      1220, 1223, 1225, 1228, 1230, 1233, 1235, 1237, 1240, 1241,
00746      1242, 1244, 1246, 1248, 1250, 1252, 1255, 1256, 1258, 1261,
00747      1263, 1265, 1268, 1270, 1272, 1274, 1276, 1278, 1279, 1279,
00748 
00749      1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1287,
00750      1287, 1287, 1287, 1287, 1288, 1289, 1291, 1292, 1293, 1294,
00751      1295, 1297, 1298, 1299, 1301, 1303, 1305, 1307, 1309, 1311,
00752      1313, 1315, 1316, 1317, 1318, 1319, 1321, 1323, 1326, 1328,
00753      1330, 1332, 1334, 1336, 1337, 1338, 1340, 1342, 1344, 1346,
00754      1348, 1350, 1352, 1354, 1355, 1356, 1357, 1358, 1359, 1361,
00755      1363, 1366, 1368, 1370, 1372, 1374, 1376, 1377, 1378, 1380,
00756      1382, 1384, 1386, 1388, 1390, 1392, 1394, 1395, 1396, 1397,
00757      1398, 1399, 1401, 1403, 1406, 1408, 1410, 1412, 1414, 1416,
00758      1417, 1418, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434,
00759 
00760      1435, 1436, 1437, 1438, 1439, 1441, 1443, 1446, 1448, 1450,
00761      1452, 1454, 1456, 1456, 1456, 1456, 1457, 1458, 1459, 1460,
00762      1461, 1462, 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
00763      1466, 1468, 1468, 1469, 1471, 1472, 1473, 1476, 1477, 1478,
00764      1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, 1496,
00765      1497, 1498, 1499, 1500, 1503, 1506, 1508, 1511, 1513, 1515,
00766      1518, 1519, 1520, 1521, 1523, 1525, 1527, 1529, 1531, 1533,
00767      1535, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1546, 1549,
00768      1550, 1552, 1555, 1557, 1559, 1562, 1563, 1564, 1565, 1567,
00769      1569, 1571, 1573, 1575, 1577, 1579, 1581, 1582, 1583, 1584,
00770 
00771      1585, 1586, 1587, 1590, 1593, 1594, 1596, 1599, 1601, 1603,
00772      1606, 1607, 1608, 1609, 1611, 1613, 1615, 1617, 1619, 1621,
00773      1623, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1634, 1637,
00774      1638, 1640, 1643, 1645, 1647, 1647, 1647, 1647, 1648, 1649,
00775      1650, 1652, 1652, 1653, 1655, 1657, 1658, 1658, 1658, 1658,
00776      1658, 1658, 1658, 1658, 1659, 1660, 1661, 1662, 1663, 1664,
00777      1666, 1668, 1670, 1673, 1674, 1676, 1679, 1682, 1684, 1685,
00778      1686, 1687, 1688, 1689, 1691, 1693, 1695, 1696, 1697, 1698,
00779      1700, 1702, 1704, 1707, 1708, 1710, 1713, 1716, 1718, 1719,
00780      1720, 1721, 1722, 1723, 1724, 1725, 1727, 1729, 1731, 1732,
00781 
00782      1733, 1734, 1736, 1738, 1740, 1743, 1744, 1746, 1749, 1752,
00783      1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1763, 1765,
00784      1767, 1768, 1769, 1770, 1772, 1774, 1776, 1779, 1780, 1782,
00785      1785, 1788, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797,
00786      1799, 1801, 1803, 1803, 1803, 1803, 1804, 1805, 1806, 1806,
00787      1806, 1806, 1807, 1808, 1809, 1810, 1810, 1810, 1810, 1810,
00788      1810, 1810, 1810, 1812, 1814, 1815, 1816, 1817, 1818, 1820,
00789      1822, 1824, 1825, 1826, 1827, 1829, 1831, 1833, 1835, 1836,
00790      1837, 1838, 1839, 1840, 1843, 1846, 1848, 1849, 1850, 1851,
00791      1853, 1855, 1857, 1858, 1859, 1860, 1862, 1864, 1866, 1868,
00792 
00793      1869, 1870, 1871, 1872, 1873, 1874, 1875, 1878, 1881, 1883,
00794      1884, 1885, 1886, 1888, 1890, 1892, 1893, 1894, 1895, 1897,
00795      1899, 1901, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
00796      1913, 1916, 1918, 1919, 1920, 1921, 1923, 1925, 1927, 1928,
00797      1929, 1930, 1932, 1934, 1936, 1938, 1939, 1940, 1941, 1942,
00798      1943, 1944, 1945, 1948, 1951, 1953, 1953, 1953, 1953, 1954,
00799      1955, 1956, 1956, 1956, 1956, 1956, 1957, 1958, 1959, 1960,
00800      1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1962, 1963,
00801      1964, 1965, 1967, 1969, 1971, 1972, 1973, 1974, 1975, 1977,
00802      1979, 1981, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1992,
00803 
00804      1993, 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, 2005,
00805      2007, 2009, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
00806      2020, 2021, 2024, 2025, 2026, 2027, 2029, 2031, 2033, 2034,
00807      2035, 2036, 2037, 2039, 2041, 2043, 2045, 2046, 2047, 2048,
00808      2049, 2050, 2051, 2052, 2053, 2056, 2057, 2058, 2059, 2061,
00809      2063, 2065, 2066, 2067, 2068, 2069, 2071, 2073, 2075, 2077,
00810      2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2088, 2088,
00811      2088, 2089, 2090, 2091, 2093, 2093, 2093, 2093, 2093, 2094,
00812      2095, 2096, 2097, 2097, 2097, 2098, 2099, 2099, 2099, 2100,
00813      2100, 2100, 2101, 2102, 2104, 2106, 2108, 2111, 2112, 2113,
00814 
00815      2114, 2115, 2117, 2119, 2121, 2123, 2124, 2125, 2127, 2128,
00816      2129, 2131, 2132, 2133, 2134, 2136, 2138, 2140, 2143, 2144,
00817      2145, 2146, 2147, 2149, 2151, 2153, 2155, 2156, 2157, 2159,
00818      2161, 2162, 2163, 2165, 2166, 2167, 2168, 2169, 2171, 2173,
00819      2175, 2178, 2179, 2180, 2181, 2182, 2184, 2186, 2188, 2190,
00820      2191, 2192, 2194, 2196, 2197, 2198, 2200, 2201, 2202, 2203,
00821      2204, 2206, 2208, 2210, 2213, 2214, 2215, 2216, 2217, 2219,
00822      2221, 2223, 2225, 2226, 2227, 2229, 2231, 2232, 2233, 2235,
00823      2236, 2237, 2238, 2238, 2240, 2241, 2241, 2241, 2241, 2241,
00824      2242, 2243, 2244, 2245, 2245, 2245, 2246, 2246, 2247, 2247,
00825 
00826      2249, 2250, 2253, 2255, 2256, 2257, 2258, 2259, 2261, 2263,
00827      2265, 2267, 2268, 2269, 2271, 2272, 2273, 2275, 2276, 2279,
00828      2281, 2282, 2283, 2284, 2285, 2287, 2289, 2291, 2293, 2294,
00829      2295, 2297, 2298, 2300, 2301, 2303, 2304, 2307, 2309, 2310,
00830      2311, 2312, 2313, 2315, 2317, 2319, 2321, 2322, 2323, 2325,
00831      2326, 2328, 2329, 2331, 2332, 2335, 2337, 2338, 2339, 2340,
00832      2341, 2343, 2345, 2347, 2349, 2350, 2351, 2353, 2354, 2356,
00833      2357, 2357, 2358, 2358, 2358, 2358, 2358, 2359, 2360, 2361,
00834      2362, 2362, 2362, 2362, 2362, 2363, 2365, 2366, 2367, 2368,
00835      2369, 2371, 2373, 2375, 2377, 2378, 2379, 2380, 2381, 2382,
00836 
00837      2384, 2385, 2386, 2387, 2388, 2390, 2392, 2394, 2396, 2397,
00838      2398, 2399, 2400, 2401, 2403, 2404, 2405, 2406, 2407, 2409,
00839      2411, 2413, 2415, 2416, 2417, 2418, 2419, 2420, 2422, 2423,
00840      2424, 2425, 2426, 2428, 2430, 2432, 2434, 2435, 2436, 2437,
00841      2438, 2439, 2441, 2441, 2441, 2441, 2442, 2443, 2444, 2445,
00842      2447, 2447, 2447, 2448, 2449, 2451, 2454, 2455, 2456, 2457,
00843      2459, 2461, 2463, 2465, 2468, 2469, 2470, 2472, 2474, 2476,
00844      2479, 2480, 2481, 2482, 2484, 2486, 2488, 2490, 2493, 2494,
00845      2495, 2497, 2499, 2501, 2504, 2505, 2506, 2507, 2509, 2511,
00846      2513, 2515, 2518, 2519, 2520, 2522, 2524, 2526, 2529, 2530,
00847 
00848      2531, 2532, 2534, 2536, 2538, 2540, 2543, 2544, 2545, 2547,
00849      2549, 2549, 2550, 2550, 2551, 2553, 2554, 2554, 2554, 2555,
00850      2557, 2558, 2560, 2563, 2565, 2566, 2567, 2568, 2570, 2571,
00851      2573, 2576, 2578, 2579, 2580, 2581, 2583, 2584, 2586, 2589,
00852      2591, 2592, 2593, 2594, 2596, 2597, 2599, 2602, 2604, 2605,
00853      2606, 2606, 2606, 2606, 2607, 2608, 2608, 2608, 2609, 2610,
00854      2611, 2613, 2615, 2616, 2617, 2618, 2619, 2620, 2622, 2624,
00855      2625, 2626, 2627, 2628, 2629, 2631, 2633, 2634, 2635, 2636,
00856      2637, 2638, 2640, 2642, 2643, 2644, 2644, 2644, 2645, 2646,
00857      2648, 2648, 2648, 2649, 2650, 2652, 2654, 2657, 2658, 2659,
00858 
00859      2660, 2661, 2663, 2665, 2668, 2669, 2670, 2671, 2672, 2674,
00860      2676, 2679, 2680, 2681, 2682, 2683, 2685, 2687, 2690, 2691,
00861      2692, 2693, 2693, 2695, 2696, 2696, 2698, 2699, 2702, 2704,
00862      2705, 2707, 2708, 2711, 2713, 2714, 2716, 2717, 2720, 2722,
00863      2723, 2725, 2726, 2729, 2731, 2732, 2732, 2732, 2733, 2734,
00864      2735, 2736, 2737, 2738, 2739, 2740, 2740, 2741, 2742, 2744,
00865      2745, 2747, 2748, 2750, 2751, 2753, 2753, 2754, 2755, 2756,
00866      2757, 2757, 2758, 2759, 2760, 2761, 2761, 2762, 2763, 2764,
00867      2765, 2766, 2768, 2770, 2772, 2774, 2774
00868     } ;
00869 
00870 static yyconst flex_int32_t yy_ec[256] =
00871     {   0,
00872         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00873         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
00874         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00875         1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
00876         1,    1,    1,    1,    7,    1,    1,    8,    9,   10,
00877        11,   12,   13,    8,    8,    8,    8,    1,    1,    1,
00878         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
00879        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
00880        23,   30,   31,   32,   33,   34,   35,   36,   37,   23,
00881         1,    1,    1,    1,   38,    1,   39,   40,   41,   42,
00882 
00883        43,   44,   45,   46,   47,   23,   48,   49,   50,   51,
00884        52,   53,   23,   54,   55,   56,   57,   58,   59,   60,
00885        61,   23,    1,    1,    1,    1,    1,    1,    1,    1,
00886         1,    1,    1,   62,    1,    1,    1,    1,    1,    1,
00887         1,    1,    1,    1,    1,   63,    1,    1,    1,    1,
00888         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00889         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00890         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00891         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00892         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00893 
00894         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00895         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00896         1,    1,    1,    1,    1,   64,    1,    1,    1,    1,
00897         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00898         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00899         1,    1,    1,    1,    1
00900     } ;
00901 
00902 static yyconst flex_int32_t yy_meta[65] =
00903     {   0,
00904         1,    2,    3,    1,    4,    1,    5,    6,    6,    6,
00905         6,    6,    6,    7,    7,    7,    7,    7,    7,    8,
00906         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00907         8,    8,    8,    8,    8,    8,    8,    9,    7,    7,
00908         7,    7,    7,    7,    8,    8,    8,    8,    8,    8,
00909         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00910         8,    1,    1,    1
00911     } ;
00912 
00913 static yyconst flex_int16_t yy_base[1726] =
00914     {   0,
00915         0,   63, 1054,   64, 1050,   65, 1049,   66,   72,  135,
00916       141,  204,  210,  273,  272,  290, 1042,  291,  316,  292,
00917         0,  135, 1041, 7276, 1023, 7276, 1018,    0,  291,  350,
00918       368,  360,  365,  350,  368,    0,  358,  361,  376,  364,
00919       370,  407,  388,  372,  956,  303,    0,  982,  304,  981,
00920       389,  977,  397,  951,  424,  433,  481,  515,  433,  438,
00921       483,  440,  492,  522,  495,  519,  551,  590,  541,  563,
00922         0,  412,    0,  947,  941,  204,  457,  646,  710,  761,
00923       578,  602,  646,  579,  647,  650,  711,  712,  713,  804,
00924       724,  762,  844,  424,    0,    0,    0,  891,  399,  769,
00925 
00926       860,  924,  975,  748,  780,  807,  666,  860,  862,  861,
00927       863,  864, 1018,  925,  926,  825,  274,  947, 1067,  784,
00928       949,  539,  447,  968,  851,  455,  850,    0, 1000, 1116,
00929      1165, 1199, 1015, 1098, 1021,  714, 1016, 1091, 1117,  928,
00930      1118, 1242, 1141, 1167,  480, 7276,  304, 7276,  846,  842,
00931      7276,  806, 1079,    0,  418,  445,  473,  434,  500,  518,
00932       440,  483,  547,  593,  537,  539,  548,  557,  560,  609,
00933       610,  583,  626,  630,  613,  645,  744,  510,    0,    0,
00934       802,  621,  797,  626,  790,  677,  786, 1091,    0,  717,
00935      1168, 1171, 1169, 1122, 1218, 1214, 1215, 1257, 1183, 1264,
00936 
00937      1279, 1270, 1288, 1292, 1294, 1316, 1318, 1320, 1322, 1357,
00938      1338, 1359,  685,    0,  783,  435, 1140, 1344, 1362, 1364,
00939      1368, 1386, 1402, 1398, 1416, 1418, 1420, 1442, 1457, 1460,
00940      1456, 1462, 1478, 1492, 1494, 1400, 1497, 1513, 1510, 1529,
00941       684,  690,    0,    0,    0,    0,  513, 1561, 1516, 1553,
00942      1563, 1564, 1540, 1574, 1575, 1605, 1598, 1604, 1620, 1641,
00943      1636, 1646, 1640, 1651, 1662, 1675, 1652, 1655, 1689, 1703,
00944      1704,  674,  584, 1736,    0,  651,  803,  793,  688,  701,
00945       679,    0, 1751, 1751, 1752, 1754, 1753, 1755, 1789, 1783,
00946      1804, 1803, 1805, 1831, 1840, 1846, 1845, 1851, 1875, 1847,
00947 
00948      1877, 1773, 1827, 1881, 1897, 1901,  738,  793, 7276,  632,
00949      7276,  708, 1955,  726,  785,  807,  849,  863,  791,  839,
00950       879,  862,  865,  666, 1960,  576,  888,  914,  908, 2019,
00951       947,  954,  975,  926,  958, 7276, 1891, 2083, 1960, 1936,
00952      1967, 2019, 1962, 1966, 2020, 2021, 2023, 2083, 2064, 2115,
00953      2025, 2026, 2118, 2095, 2173, 2030, 2090, 2121, 2150, 2174,
00954         0, 2148, 2237, 2177, 2187, 2237, 2238, 2239, 2193, 2240,
00955      2243, 2258, 2281, 2295, 2334, 2284, 2282, 2310, 2336, 2383,
00956      2383, 2339, 2384, 2386, 2387,    0,    0, 2393, 2447, 2447,
00957      2448, 2449, 2451, 2453, 2454, 2483, 2492, 2494, 2503, 2506,
00958 
00959      2551, 2532, 2552, 2501, 2554, 2605, 2581, 2605, 2608, 2610,
00960      2615,    0, 1178, 2612, 2669, 2644, 2670, 2671, 2673, 2675,
00961      2676, 2705, 2689, 2716, 2721, 2740, 2781, 2720, 2781, 2782,
00962      2758, 2837, 2813, 2784, 2839, 2837, 2842,  974, 1009, 1233,
00963       961,  975,    0, 1017,    0, 1015,    0, 1061, 1063,    0,
00964      1066, 1111, 7276, 7276, 7276, 7276, 7276,  559, 1278, 1129,
00965         0, 1098,    0, 2901, 1170, 1225, 1229, 1260, 1266, 2901,
00966      1501, 2903, 2902, 2904, 2905, 2915, 2939, 2944, 2945, 2957,
00967      2959, 2958, 1294,    0,    0,    0,    0,    0, 2971, 1364,
00968      2986, 2960, 2998, 2810, 3045, 3045, 3046, 3022, 3049, 3050,
00969 
00970      3084, 1752, 3081, 3088, 3110, 3052, 3112, 3108, 3130, 3126,
00971      3132, 3131, 3136, 1320, 1333,    0,    0,    0,    0,    0,
00972      3146, 1427, 3158, 3160, 3178,    0, 3225, 3225, 3226, 3202,
00973      3167, 3229, 3232, 2307, 3247, 3261, 3268, 3271, 3283, 3284,
00974      3287, 3289, 3303, 3307, 3310, 1371, 1435,    0,    0,    0,
00975         0,    0, 3325, 1507, 3319, 3326, 3353,  839, 3400, 3400,
00976      3331, 3376, 3346, 3402, 1549, 3406, 2384, 3421, 3403, 3445,
00977      3422, 3452, 3461, 3465, 3463, 3479, 3466, 3481, 1457, 1466,
00978         0,    0,    0,    0,    0, 3493, 1697, 3503, 3502, 3505,
00979      3552, 3616, 3523, 3537, 3525, 3524, 3551, 1478, 1579, 2139,
00980 
00981      1581, 2309, 1603, 1614, 1667, 1675, 1340,  530, 1678, 1687,
00982      1723, 1727, 1399, 1750, 1759,    0, 1705, 1433, 1788, 1802,
00983      3553, 1848, 2710, 3555, 3616, 3552, 3617, 3619, 3637, 3564,
00984      3622, 1874, 1877, 1889, 1463, 3618, 3661, 3663, 3675, 3676,
00985      3677, 3691, 3707, 1890, 2840, 3703, 3713, 3731, 3727, 3734,
00986      3755, 3743, 3749, 1897, 1901, 1955, 1963, 1534, 3771, 3762,
00987      3777, 3793, 3797, 3798, 3809, 3807, 1964, 2841, 3829, 3833,
00988      3828, 3839, 3855, 3871, 3783, 3852, 2048, 2092, 2172, 2176,
00989      1543, 3883, 3884, 3878, 3894, 3907, 3905, 3914, 3923, 2203,
00990      3085, 3912, 3933, 3944, 3943, 3957, 3964, 3954, 3978, 2241,
00991 
00992      2255, 2283, 2385, 1890, 3980, 3993, 3984, 4007, 4016, 4020,
00993      4021,    0, 2100, 2148, 2188, 2388, 2395, 2398, 2394, 4074,
00994      2454, 2480, 2492, 2533, 2539, 2541, 2499, 2551, 2613,    0,
00995         0, 2616, 2645,    0, 2553, 2617, 4023, 2700, 2706, 2725,
00996      4050, 4074, 4078, 4080, 4138, 4085, 4138, 4139, 2737, 2741,
00997      2716, 2756, 2757, 4081, 4094, 4140, 4141, 4142, 4160, 4170,
00998      2814, 2814, 2820, 4181, 4191, 4184, 4210, 4260, 4194, 4260,
00999      4212, 2951, 2986, 2987, 2750, 2775, 2842, 4236, 4262, 2855,
01000      4263, 4264, 4265, 4266, 4286, 3001, 3004, 3042, 4304, 4313,
01001      4314, 4315, 4365, 4365, 4366, 4369, 3067, 3100, 3160, 2861,
01002 
01003      2905, 2960, 4316, 4317, 2990, 4370, 4371, 4372, 4385, 4401,
01004      3178, 3179, 3183, 4417, 4416, 4422, 4423, 4473, 4473, 4474,
01005      4477, 3223, 3237, 3286, 3321, 3370, 3404, 4412, 4454, 3421,
01006      4478, 4480, 4493, 4504, 3419, 3462, 3343, 3476, 3553, 3356,
01007         0, 4519, 4527,    0,    0, 3428, 3560, 3571, 3586, 3659,
01008      3616, 3677, 3679, 3687, 3643, 3695, 3676, 3709, 3729, 4517,
01009      4533, 4540, 4531, 4558, 4602, 4543, 4567, 4581, 3723, 3793,
01010      3786, 3796, 3862, 4591, 4609, 4623, 3802, 3836, 3895, 4586,
01011      4633, 4649, 4618, 4654, 4698, 4652, 4654, 4661, 3945, 4000,
01012      4004, 4004, 4009, 4073, 4079, 4683, 4701, 4688, 4016, 4025,
01013 
01014      4086, 4710, 4719, 4738, 4722, 4749, 4793, 4737, 4740, 4758,
01015      4083, 4135, 4145, 4149, 4186, 4195, 4193, 4772, 4774, 4788,
01016      4188, 4263, 4209, 4806, 4802, 4829, 4751, 4827, 4871, 4822,
01017      4834, 4844, 4265, 4271, 4273, 4234, 4326, 4364, 4378, 4860,
01018      4873, 4878, 4410, 4430, 4439, 4478, 4431, 4517, 4475, 4541,
01019      4876, 4509, 4547, 4886,  522, 4561, 4523, 4579, 4556, 4590,
01020      4566, 4601,    0,    0, 4634, 4623, 4666, 4633, 4907, 4910,
01021      4909, 4675, 4667, 4912, 4930, 4931, 4954, 4933, 4714, 4691,
01022      4714, 4761, 4773, 4951, 4953, 4973, 4783, 4793, 4804, 4972,
01023      4993, 4975, 4838, 4850, 4931, 4974, 4996, 5003, 5014, 4884,
01024 
01025      4956, 4961, 4991, 4992, 5010, 5013, 5027, 5037, 5042, 5013,
01026      5029, 5028, 5051, 5053, 5064, 5032, 5044, 5050, 5073, 5085,
01027      5095, 5088, 5072, 5040, 5075, 5073, 5094, 5086, 5090, 5109,
01028      5114, 5125, 5099, 5103, 5114, 5136, 5141, 5157, 5131, 5124,
01029      5139, 5159, 5164, 5175, 5185, 5152, 5142, 5144, 5162, 5181,
01030      5181, 5184, 5199, 5203, 5213, 5194, 5182, 5187, 5210, 5197,
01031      5208, 5220, 5225, 5225, 5225, 5231, 5232, 5230, 5231, 5229,
01032      5232, 5226, 5227, 5246, 5241, 5230, 5245,  508, 5250, 5238,
01033      5243, 5272, 5263, 5284, 5262, 5264, 5265, 5277, 5310, 5311,
01034      5299, 5314, 5291, 5305, 5307, 5288, 5290, 5307, 5333, 5317,
01035 
01036      5311, 5313, 5356, 5334, 5361, 5346, 5348, 5346, 5356, 5363,
01037      5372, 5393, 5400, 5356, 5367, 5365, 5373, 5368, 5376, 5383,
01038      5402, 5412, 5409, 5397, 5399, 5439, 5434, 5448, 5417, 5419,
01039      5419, 5421, 5455, 5476, 5486, 5454, 5438, 5440, 5447, 5451,
01040      5456, 5462, 5475, 5484, 5497, 5494, 5481, 5484, 5504, 5506,
01041      5510, 5505, 5511, 5510, 5528, 5542, 5545, 5546, 5555, 5524,
01042      5530, 5539, 5540, 5546, 5554, 5545, 5556, 5577, 5565, 5557,
01043      7276, 5580, 5574,    0, 5582, 5575, 5581, 5580, 5586, 5578,
01044      5585, 5596, 5589, 5590, 7276, 7276, 5598, 5594, 7276, 5593,
01045      5611, 5610, 5600,    0, 5626, 5632, 5614, 5614, 5617, 5628,
01046 
01047      5629, 5645, 5644, 5667, 5664, 5636, 5642,    0, 5639, 5648,
01048         0, 5675, 5679, 5645,    0, 5688, 5694, 5690, 5674, 5685,
01049      5692, 5691, 5714, 5717, 5718, 5729, 5696, 5717,    0,    0,
01050      5731, 5727,    0, 5723, 5743, 5742, 5732,    0, 5768, 5766,
01051      5753, 5747, 5760, 5766, 5748, 5784, 5787, 5800, 5811, 5775,
01052      5783,    0,    0, 5778, 5785,    0, 5784, 5815, 5820, 5788,
01053         0, 5824, 5834, 5831, 5827, 5826, 5832, 5824, 5855, 5835,
01054      5858, 5873, 5833, 5836,    0,    0, 5855, 5863,    0, 5861,
01055      5881, 7276, 5880,    0, 5881, 5880, 5873, 5890, 5881, 5889,
01056      5880, 5897, 5888, 5901, 5887, 7276, 5901, 7276, 5912,    0,
01057 
01058      5909, 5915, 5927, 5910, 5902, 5920, 5913, 5928, 5946, 5949,
01059      5964, 5930, 5921,    0, 5940, 5945,    0, 5951, 5965, 5984,
01060      5962, 5945, 5973, 5954, 5996, 5995, 6006, 6010, 5991, 5960,
01061         0, 5995,    0, 6007,    0, 6011, 6026, 6037, 6019, 6005,
01062      6028, 6031, 6048, 6052, 6063, 6067, 6046, 6037,    0, 6049,
01063         0, 6061,    0, 6060, 6076, 6083, 6066, 6077, 6093, 6085,
01064      6099, 6102, 6113, 6123, 6100, 6096,    0, 6110,    0, 6125,
01065      6123, 6126, 6117, 6130, 6118, 6124, 6128, 6141, 6128, 6131,
01066      6144, 6138, 6142, 6146, 6150, 6164, 6147, 6161, 6150, 6156,
01067      6175, 6176, 6188, 6194, 6173, 6182, 6188, 6194, 6192, 6214,
01068 
01069      6195, 6212, 6205, 6207, 6229, 6251, 6238, 6250, 6210, 6215,
01070      6224, 6237, 6257, 6270, 6249, 6257, 6247, 6249, 6288, 6293,
01071      6300, 6299, 6279, 6265, 6289, 6294, 6299, 6336, 6295, 6311,
01072      6295, 6305, 6337, 6342, 6349, 6348, 6322, 6335, 6338, 6343,
01073      7276,    0, 6346, 6360, 6348, 7276, 6358, 6376, 6368,    0,
01074      6375,  485, 7276, 7276,    0, 6386, 6377, 6384, 6376,    0,
01075      6399, 6395, 6408, 6402, 6392,  472,    0,    0,    0, 6406,
01076      6404, 6398, 6404,    0, 6430, 6448, 6450, 6446, 6429,  466,
01077         0,    0,    0, 6452, 6415, 6433, 6423,    0, 6470, 6486,
01078      6457, 6472, 6457,  458,    0,    0,    0, 6488, 6455, 6489,
01079 
01080      6482,    0, 6501, 6504, 6510, 6516, 6495,  420,    0,    0,
01081      6487,  391, 6516, 6503,  346, 6524, 6523, 6521, 6517,  257,
01082      6534, 6540, 6542, 6564, 6536, 6535, 6533,  240, 6550, 6562,
01083      6574, 6584, 6547, 6549, 6558,  170, 6574, 6596, 6586, 6608,
01084      6592, 6578, 6583,  102, 6602, 6624, 6620, 6630, 6614, 6606,
01085      6614, 6615, 6632, 6627, 6633, 6642, 6636, 6639, 6646, 6653,
01086      6662, 6665, 6654, 6658, 6664, 6658, 6666, 6684, 6700, 6676,
01087      6664, 6669, 6677, 6683, 6707, 6723, 6684, 6698, 6701, 6696,
01088      6713, 6722, 6742, 6714, 6720, 6721, 6724, 7276, 6724,    0,
01089      6723, 6734, 6743, 6741,    0, 6757, 6764, 6746, 6749, 6763,
01090 
01091      6756,    0, 6773, 6779, 6767, 6765, 6771, 6781,    0, 6802,
01092      6788, 6779, 6781, 6800, 6796,    0, 6814, 6815, 6804, 6806,
01093      7276, 6811,    0, 7276, 6809,    0, 6816, 6829,    0, 6814,
01094         0, 6832, 6838,    0, 6817,    0, 6843, 6845,    0, 6834,
01095         0, 6852, 6856,    0, 6842, 6858, 6857, 6863, 6862, 6865,
01096      6865, 6870, 6869, 6872, 6872, 6861, 7276, 6862,    0, 6864,
01097         0, 6866,    0, 6869,    0, 6880, 6885, 6887, 6888, 6892,
01098      6882, 6885, 6887, 6889, 6890, 6908, 6910, 6911, 6912, 6913,
01099      7276,    0,    0,    0,    0, 7276, 6956, 6965, 6974, 6977,
01100      6985, 6989, 6993, 7002, 7011, 7020, 7029, 7038, 7047, 7056,
01101 
01102      7065, 7069, 7072, 7077, 7086, 7095, 7104, 7113, 7122, 7131,
01103      7140, 7149, 7158, 7167, 7176, 7185, 7194, 7203, 7212, 7221,
01104      7230, 7239, 7248, 7257, 7266
01105     } ;
01106 
01107 static yyconst flex_int16_t yy_def[1726] =
01108     {   0,
01109      1686,    1,    1,    1,    1,    1,    1,    1, 1686,    9,
01110      1686,   11, 1686,   13,    1,   15,    1,    1, 1686,   19,
01111      1687, 1688, 1686, 1686, 1686, 1686, 1686, 1689, 1686, 1690,
01112      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01113      1690, 1690, 1690, 1690, 1686, 1686, 1691, 1686, 1686, 1686,
01114      1686, 1686, 1686, 1686, 1692, 1693, 1693,   57,   57,   57,
01115        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01116      1692, 1686, 1694, 1694, 1694, 1695, 1694, 1696, 1696,   79,
01117        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01118        79,   79, 1694, 1694, 1697, 1698, 1698, 1698, 1699, 1698,
01119 
01120      1700, 1700,  102,  102,  102,  102,  102,  102,  102,  102,
01121       102,  102,  102,  102,  102, 1698, 1701, 1702, 1690,  119,
01122       119,  119,  119,  119, 1686, 1686, 1686, 1703, 1703, 1704,
01123      1704,  131,  131,  131,  131,  131,  131,  131,  131,  131,
01124       131,  131,  131,  131, 1686, 1686, 1705, 1686, 1686, 1686,
01125      1686, 1689, 1686, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01126      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01127      1690, 1690, 1690, 1690, 1690, 1690, 1686, 1686, 1691, 1691,
01128      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1692, 1692,   57,
01129        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01130 
01131        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01132        57,   57, 1686, 1694, 1694, 1695, 1694,   79,   79,   79,
01133        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01134        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01135      1694, 1694, 1697, 1697, 1698, 1698, 1699, 1698,  102,  102,
01136       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01137       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01138       102, 1698, 1701, 1702, 1702,  119,  119,  119, 1686, 1686,
01139      1686, 1703, 1703,  131,  131,  131,  131,  131,  131,  131,
01140       131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
01141 
01142       131,  131,  131,  131,  131,  131, 1686, 1705, 1686, 1686,
01143      1686, 1690, 1706, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01144      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1707,
01145      1690, 1690, 1690, 1690, 1690, 1686,   57, 1708,   57,   57,
01146        57,   57,   57,   57,   57,   57,   57,   57,   57, 1693,
01147        57,   57,   57,   57, 1709,   57,   57,   57,   57,   57,
01148      1694,   79, 1710,   79,   79,   79,   79,   79,   79,   79,
01149        79,   79,   79,   79,   79,   79,   79,   79,   79, 1711,
01150        79,   79,   79,   79,   79, 1694, 1698,  102, 1712,  102,
01151       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01152 
01153       102,  102,  102,  102,  102, 1713,  102,  102,  102,  102,
01154       102, 1698,  119,  131, 1714,  131,  131,  131,  131,  131,
01155       131,  131,  131,  131,  131,  131, 1704,  131,  131,  131,
01156       131, 1715,  131,  131,  131,  131,  131, 1690, 1686, 1690,
01157      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01158      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1690, 1686, 1690,
01159      1690, 1690, 1716, 1707, 1690, 1690, 1690, 1690, 1690,   57,
01160      1692,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01161        57,   57, 1692, 1692, 1692, 1692, 1692, 1692,   57, 1692,
01162        57,   57,   57, 1717, 1709,   57,   57,   57,   57,   57,
01163 
01164        79, 1694,   79,   79,   79,   79,   79,   79,   79,   79,
01165        79,   79,   79, 1694, 1694, 1694, 1694, 1694, 1694, 1694,
01166        79, 1694,   79,   79,   79, 1718, 1711,   79,   79,   79,
01167        79,   79,  102, 1698,  102,  102,  102,  102,  102,  102,
01168       102,  102,  102,  102,  102, 1698, 1698, 1698, 1698, 1698,
01169      1698, 1698,  102, 1698,  102,  102,  102, 1719, 1713,  102,
01170       102,  102,  102,  102,  119,  131, 1703,  131,  131,  131,
01171       131,  131,  131,  131,  131,  131,  131,  131, 1703, 1703,
01172      1703, 1703, 1703, 1703, 1703,  131, 1703,  131,  131,  131,
01173      1720, 1715,  131,  131,  131,  131,  131, 1690, 1686, 1686,
01174 
01175      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1686, 1686,
01176      1686, 1686, 1686, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
01177        57, 1692, 1692,   57,   57,   57,   57,   57,   57,   57,
01178        57, 1692, 1692, 1692, 1692,   57,   57,   57,   57,   57,
01179        57,   57,   79, 1694, 1694,   79,   79,   79,   79,   79,
01180        79,   79,   79, 1694, 1694, 1694, 1694, 1694,   79,   79,
01181        79,   79,   79,   79,   79,  102, 1698, 1698,  102,  102,
01182       102,  102,  102,  102,  102,  102, 1698, 1698, 1698, 1698,
01183      1698,  102,  102,  102,  102,  102,  102,  102,  131, 1703,
01184      1703,  131,  131,  131,  131,  131,  131,  131,  131, 1703,
01185 
01186      1703, 1703, 1703, 1703,  131,  131,  131,  131,  131,  131,
01187       131, 1690, 1686, 1686, 1686, 1690, 1690, 1690, 1690, 1721,
01188      1690, 1690, 1690, 1686, 1686, 1686, 1686, 1686, 1686, 1690,
01189      1690, 1686, 1690, 1690, 1690, 1690,   57, 1692, 1692, 1692,
01190        57,   57,   57,   57, 1722,   57,   57,   57, 1692, 1692,
01191      1692, 1692, 1692,   57,   57,   57,   57,   57,   57,   79,
01192      1694, 1694, 1694,   79,   79,   79,   79, 1723,   79,   79,
01193        79, 1694, 1694, 1694, 1694, 1694, 1694,   79,   79, 1694,
01194        79,   79,   79,   79,  102, 1698, 1698, 1698,  102,  102,
01195       102,  102, 1724,  102,  102,  102, 1698, 1698, 1698, 1698,
01196 
01197      1698, 1698,  102,  102, 1698,  102,  102,  102,  102,  131,
01198      1703, 1703, 1703,  131,  131,  131,  131, 1725,  131,  131,
01199       131, 1703, 1703, 1703, 1703, 1703, 1703,  131,  131, 1703,
01200       131,  131,  131,  131, 1686, 1686, 1686, 1690, 1690, 1690,
01201      1690, 1686, 1690, 1690, 1690, 1690, 1686, 1686, 1686, 1686,
01202      1686, 1686, 1686, 1690, 1690, 1690, 1692, 1692, 1692,   57,
01203        57,   57,   57, 1692,   57,   57,   57,   57, 1692, 1692,
01204      1692, 1692, 1692,   57,   57,   57, 1694, 1694, 1694,   79,
01205        79,   79,   79, 1694,   79,   79,   79,   79, 1694, 1694,
01206      1694, 1694, 1694, 1694, 1694,   79,   79,   79, 1698, 1698,
01207 
01208      1698,  102,  102,  102,  102, 1698,  102,  102,  102,  102,
01209      1698, 1698, 1698, 1698, 1698, 1698, 1698,  102,  102,  102,
01210      1703, 1703, 1703,  131,  131,  131,  131, 1703,  131,  131,
01211       131,  131, 1703, 1703, 1703, 1703, 1703, 1703, 1703,  131,
01212       131,  131, 1686, 1686, 1686, 1690, 1690, 1690, 1686, 1686,
01213      1686, 1690, 1690, 1690, 1690, 1686, 1686, 1686, 1686, 1686,
01214      1686, 1686, 1690, 1690, 1690, 1692, 1692, 1692,   57,   57,
01215        57, 1692, 1692, 1692,   57,   57,   57,   57, 1692, 1692,
01216      1692, 1692, 1692,   57,   57,   57, 1694, 1694, 1694,   79,
01217        79,   79, 1694, 1694, 1694,   79,   79,   79,   79, 1694,
01218 
01219      1694, 1694, 1694, 1694, 1694, 1694,   79,   79,   79, 1698,
01220      1698, 1698,  102,  102,  102, 1698, 1698, 1698,  102,  102,
01221       102,  102, 1698, 1698, 1698, 1698, 1698, 1698, 1698,  102,
01222       102,  102, 1703, 1703, 1703,  131,  131,  131, 1703, 1703,
01223      1703,  131,  131,  131,  131, 1703, 1703, 1703, 1703, 1703,
01224      1703, 1703,  131,  131,  131, 1686, 1686, 1686, 1690, 1690,
01225      1690, 1686, 1686, 1686, 1686, 1690, 1690, 1690, 1690, 1686,
01226      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1690, 1692, 1692,
01227      1692,   57,   57,   57, 1692, 1692, 1692, 1692,   57,   57,
01228        57,   57, 1692, 1692, 1692, 1692, 1692, 1692,   57, 1694,
01229 
01230      1694, 1694,   79,   79,   79, 1694, 1694, 1694, 1694,   79,
01231        79,   79,   79, 1694, 1694, 1694, 1694, 1694, 1694, 1694,
01232      1694,   79, 1698, 1698, 1698,  102,  102,  102, 1698, 1698,
01233      1698, 1698,  102,  102,  102,  102, 1698, 1698, 1698, 1698,
01234      1698, 1698, 1698, 1698,  102, 1703, 1703, 1703,  131,  131,
01235       131, 1703, 1703, 1703, 1703,  131,  131,  131,  131, 1703,
01236      1703, 1703, 1703, 1703, 1703, 1703, 1703,  131, 1686, 1686,
01237      1686, 1690, 1690, 1690, 1686, 1686, 1686, 1686, 1690, 1690,
01238      1690, 1690, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
01239      1686, 1692, 1692, 1692,   57,   57,   57, 1692, 1692, 1692,
01240 
01241      1692,   57,   57,   57,   57, 1692, 1692, 1692, 1692, 1692,
01242      1692, 1692, 1694, 1694, 1694,   79,   79,   79, 1694, 1694,
01243      1694, 1694,   79,   79,   79,   79, 1694, 1694, 1694, 1694,
01244      1694, 1694, 1694, 1694, 1694, 1698, 1698, 1698,  102,  102,
01245       102, 1698, 1698, 1698, 1698,  102,  102,  102,  102, 1698,
01246      1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1703, 1703,
01247      1703,  131,  131,  131, 1703, 1703, 1703, 1703,  131,  131,
01248       131,  131, 1703, 1703, 1703, 1703, 1703, 1703, 1703, 1703,
01249      1703, 1686, 1686, 1690, 1690, 1686, 1686, 1686, 1686, 1690,
01250      1690, 1690, 1690, 1686, 1686, 1686, 1686, 1686, 1686, 1692,
01251 
01252      1692,   57,   57, 1692, 1692, 1692, 1692,   57,   57,   57,
01253        57, 1692, 1692, 1692, 1692, 1692, 1694, 1694,   79,   79,
01254      1694, 1694, 1694, 1694,   79,   79,   79,   79, 1694, 1694,
01255      1694, 1694, 1694, 1694, 1698, 1698,  102,  102, 1698, 1698,
01256      1698, 1698,  102,  102,  102,  102, 1698, 1698, 1698, 1698,
01257      1698, 1698, 1703, 1703,  131,  131, 1703, 1703, 1703, 1703,
01258       131,  131,  131,  131, 1703, 1703, 1703, 1703, 1703, 1703,
01259      1686, 1690, 1686, 1686, 1686, 1686, 1690, 1690, 1690, 1690,
01260      1686, 1686, 1686, 1686, 1692,   57, 1692, 1692, 1692, 1692,
01261        57,   57,   57,   57, 1692, 1692, 1692, 1692, 1694,   79,
01262 
01263      1694, 1694, 1694, 1694,   79,   79,   79,   79, 1694, 1694,
01264      1694, 1694, 1698,  102, 1698, 1698, 1698, 1698,  102,  102,
01265       102,  102, 1698, 1698, 1698, 1698, 1703,  131, 1703, 1703,
01266      1703, 1703,  131,  131,  131,  131, 1703, 1703, 1703, 1703,
01267      1686, 1690, 1686, 1686, 1686, 1686, 1690, 1690, 1690, 1690,
01268      1686, 1686, 1686, 1686, 1692,   57, 1692, 1692, 1692, 1692,
01269        57,   57,   57,   57, 1692, 1692, 1692, 1692, 1694,   79,
01270      1694, 1694, 1694, 1694,   79,   79,   79,   79, 1694, 1694,
01271      1694, 1694, 1698,  102, 1698, 1698, 1698, 1698,  102,  102,
01272       102,  102, 1698, 1698, 1698, 1698, 1703,  131, 1703, 1703,
01273 
01274      1703, 1703,  131,  131,  131,  131, 1703, 1703, 1703, 1703,
01275      1686, 1686, 1686, 1690, 1690, 1690, 1686, 1686, 1692, 1692,
01276      1692,   57,   57,   57, 1692, 1692, 1694, 1694, 1694,   79,
01277        79,   79, 1694, 1694, 1698, 1698, 1698,  102,  102,  102,
01278      1698, 1698, 1703, 1703, 1703,  131,  131,  131, 1703, 1703,
01279      1686, 1686, 1686, 1690, 1690, 1686, 1686, 1692, 1692, 1692,
01280        57,   57, 1692, 1692, 1694, 1694, 1694,   79,   79, 1694,
01281      1694, 1698, 1698, 1698,  102,  102, 1698, 1698, 1703, 1703,
01282      1703,  131,  131, 1703, 1703, 1686, 1686, 1686, 1690, 1690,
01283      1686, 1686, 1692, 1692, 1692,   57,   57, 1692, 1692, 1694,
01284 
01285      1694, 1694,   79,   79, 1694, 1694, 1698, 1698, 1698,  102,
01286       102, 1698, 1698, 1703, 1703, 1703,  131,  131, 1703, 1703,
01287      1686, 1686, 1690, 1686, 1686, 1692, 1692,   57, 1692, 1692,
01288      1694, 1694,   79, 1694, 1694, 1698, 1698,  102, 1698, 1698,
01289      1703, 1703,  131, 1703, 1703, 1686, 1686, 1692, 1692, 1694,
01290      1694, 1698, 1698, 1703, 1703, 1686, 1686, 1692, 1692, 1694,
01291      1694, 1698, 1698, 1703, 1703, 1686, 1692, 1694, 1698, 1703,
01292      1686, 1692, 1694, 1698, 1703, 1686, 1692, 1694, 1698, 1703,
01293      1686, 1692, 1694, 1698, 1703,    0, 1686, 1686, 1686, 1686,
01294      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
01295 
01296      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
01297      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
01298      1686, 1686, 1686, 1686, 1686
01299     } ;
01300 
01301 static yyconst flex_int16_t yy_nxt[7341] =
01302     {   0,
01303        24,   25,   26,   27,   28,   24,   24,   29,   29,   29,
01304        29,   29,   29,   30,   31,   32,   33,   34,   35,   36,
01305        36,   37,   36,   36,   36,   38,   39,   40,   36,   41,
01306        42,   43,   36,   36,   44,   36,   36,   24,   30,   31,
01307        32,   33,   34,   35,   36,   36,   37,   36,   36,   38,
01308        39,   40,   36,   41,   42,   43,   36,   36,   44,   36,
01309        36,   24,   24,   45,   46,   49,   51,   53,   47,   47,
01310        47,   47,   24,   54,   26,   27,   28,   24,   24,   55,
01311        55,   55,   55,   55,   55,   56,   57,   58,   59,   60,
01312        61,   62,   62,   63,   62,   62,   62,   64,   65,   66,
01313 
01314        62,   67,   68,   69,   62,   62,   70,   62,   62,   71,
01315        56,   57,   58,   59,   60,   61,   62,   62,   63,   62,
01316        62,   64,   65,   66,   62,   67,   68,   69,   62,   62,
01317        70,   62,   62,   24,   24,   45,   72,  148,  149, 1580,
01318        47,   73,   74,   26,   75,   76,   73,   73,   77,   77,
01319        77,   77,   77,   77,   78,   79,   80,   81,   82,   83,
01320        84,   84,   85,   84,   84,   84,   86,   87,   88,   84,
01321        89,   90,   91,   84,   84,   92,   84,   84,   73,   78,
01322        79,   80,   81,   82,   83,   84,   84,   85,   84,   84,
01323        86,   87,   88,   84,   89,   90,   91,   84,   84,   92,
01324 
01325        84,   84,   73,   73,   93,   94,  152, 1573,  214,   95,
01326        96,   25,   97,   98,   99,   96,   96,  100,  100,  100,
01327       100,  100,  100,  101,  102,  103,  104,  105,  106,  107,
01328       107,  108,  107,  107,  107,  109,  110,  111,  107,  112,
01329       113,  114,  107,  107,  115,  107,  107,   96,  101,  102,
01330       103,  104,  105,  106,  107,  107,  108,  107,  107,  109,
01331       110,  111,  107,  112,  113,  114,  107,  107,  115,  107,
01332       107,   96,   96,  116,   46,  180,  245, 1566,  117,  118,
01333       118,  118,  118,  118,  118,  119,  120,  121,  122,  123,
01334       124,   46,  126,  145, 1559,   47,   47,   47,  153,  153,
01335 
01336       153,  153,  153,  153,  178,  182,  309,  310,  179,  179,
01337       119,  120,  121,  122,  123,  124,   24,  127,   26,   27,
01338        28,   24,  128,  129,  129,  129,  129,  129,  129,  130,
01339       131,  132,  133,  134,  135,  136,  136,  137,  136,  136,
01340       136,  138,  139,  140,  136,  141,  142,  143,  136,  136,
01341       144,  136,  136,  128,  130,  131,  132,  133,  134,  135,
01342       136,  136,  137,  136,  136,  138,  139,  140,  136,  141,
01343       142,  143,  136,  136,  144,  136,  136,   24,   24,   45,
01344       155,  156,  161, 1552,  158,  162,  165,  159,  166,  157,
01345       184,  160,  163,  167,  179,  164,  168,  169,  186,  176,
01346 
01347       152,  174,  179,  245,  155,  175,  156,  161,  158,  162,
01348       165,  159,  166,  213,  157,  160,  163,  179,  167,  164,
01349       168,  169,  170,  176,  171,  242,  174,  172, 1552,  243,
01350       175,  188,  188,  188,  188,  188,  188,  152,  173,  361,
01351       189,  189,  189,  189,  189,  189,  190,  170,  312,  171,
01352       197,  190,  172,  190,  190,  315,  280, 1550,  319,  190,
01353       179,  190,  173,  191,  217,  217,  217,  217,  217,  217,
01354       189,  190,  312,  198,  313,  197,  190,  154,  190,  190,
01355       315,  307,  162,  319,  190,  179,  190,  191,  189,  189,
01356       189,  189,  189,  189,  192, 1542,  190,  198,  313,  314,
01357 
01358       320,  154,  193, 1534,  190,  190,  162,  199,  190, 1526,
01359       200,  178,  203,  190,  152,  179,  190,  387,  189,  192,
01360       201,  190, 1518,  314,  316,  320,  317,  193,  190,  190,
01361       190,  199,  190,  190,  200,  190,  190,  203,  190,  194,
01362       190,  190,  195,  190,  201, 1191,  196,  318,  316,  202,
01363       317,  204,  324,  190,  210,  325,  278,  190,  211, 1070,
01364       190,  190,  190,  194,  190,  190,  195,  724,  190,  154,
01365       196,  318,  190,  202,  321,  204,  190,  324,  205,  210,
01366       325,  278,  326,  211,  190,  180,  245,  190,  327,  190,
01367       212,  218,  218,  154,  328,  225,  611,  190,  321,  218,
01368 
01369       218,  190,  205,  190,  331,  206,  326,  207,  322,  190,
01370       208,  190,  327,  459,  212,  218,  218,  218,  328,  323,
01371       225,  209,  182,  218,  218,  218,  179,  184,  190,  331,
01372       206,  179,  207,  322,  309,  208,  190,  226,  329,  332,
01373       218,  330,  334,  323,  333,  209,  214,  214,  218,  214,
01374       214,  214,  214,  214,  214,  214,  214,  214,  214,  218,
01375       218,  226,  329,  218,  332,  330,  334,  218,  218,  333,
01376       227,  218,  451,  228,  335,  229,  219,  230,  186,  249,
01377       281,  154,  179,  214,  218,  218,  213,  249,  218,  279,
01378       179,  242,  218,  218,  227,  243,  218,  228,  335,  229,
01379 
01380       219,  230,  280,  452,  249,  154,  179,  214,  214,  214,
01381       214,  214,  249,  214,  214,  214,  214,  214,  214,  214,
01382       214,  214,  214,  220,  218,  218,  218,  284,  231,  438,
01383       190,  221,  218,  218,  218,  284,  412,  238,  190,  307,
01384       233,  239,  441,  179,  232,  218,  386,  214,  220,  218,
01385       218,  218,  284,  231,  438,  190,  221,  218,  218,  218,
01386       284,  249,  238,  190,  233,  256,  239,  441,  232,  249,
01387       218,  214,  214,  214,  218,  218,  248,  248,  248,  248,
01388       248,  248,  218,  218,  215,  222,  249,  187,  223,  240,
01389       256,  185,  224,  249,  249,  309,  310,  277,  183,  218,
01390 
01391       218,  249,  442,  181,  446,  157,  336,  218,  218,  222,
01392       311,  413,  223,  240,  154,  257,  224,  218,  249,  234,
01393       249,  235,  277,  154,  236,  218,  249,  442,  249,  446,
01394       157,  258,  313,  154,  259,  237,  413,  443,  154,  257,
01395       463,  245,  218,  150,  234,  249,  235,  154,  309,  236,
01396       218,  281,  279,  249,  447,  258,  313,  154,  259,  237,
01397       245,  443,  245,  245,  245,  245,  245,  245,  245,  245,
01398       245,  245,  245,  249,  249,  249,  249,  249,  262,  447,
01399       444,  249,  249,  249,  249,  249,  272,  445,  260,  261,
01400       250,  264,  448,  246,  449,  263,  450,  245,  249,  249,
01401 
01402       249,  249,  249,  262,  444,  241,  249,  249,  249,  249,
01403       249,  445,  260,  261,  250,  264,  460,  448,  449,  263,
01404       450,  245,  245,  245,  245,  462,  245,  245,  245,  245,
01405       245,  245,  245,  245,  245,  245,  245,  251,  269,  249,
01406       460,  284,  270,  151,  461,  252,  249,  249,  215,  284,
01407       462,  468,  187,  271,  274,  274,  274,  274,  274,  274,
01408       298,  245,  251,  269,  249,  465,  284,  270,  461,  466,
01409       252,  249,  249,  158,  284,  468,  159,  271,  185,  154,
01410       160,  469,  183,  181,  298,  245,  245,  245,  249,  467,
01411       465,  603,  163,  598,  466,  164,  249,  158,  154,  253,
01412 
01413       159,  604,  254,  154,  160,  469,  255,  283,  283,  283,
01414       283,  283,  283,  249,  467,  603,  163,  177,  598,  164,
01415       151,  249,  154,  253,  150,  604,  254,  599,  284,  284,
01416       255,  249,  291,  265,  284,  266,  284,  284,  267,  249,
01417      1686,  600,  284,  125,  295,  293,  605,  606,  294,  268,
01418        52,   50,  599,  284,  284,   48,  249,  291,  265,  284,
01419       266,  284,  284,  267,  249,  600, 1686,  284,  295,  293,
01420       605,  606,  294,  268,  275,  275,  275,  275,  275,  275,
01421       276,  276,  276,  276,  276,  276,  153,  153,  153,  153,
01422       153,  153,  607,  608, 1686, 1686,  609,  155,  188,  188,
01423 
01424       188,  188,  188,  188,  284,  276,  276,  276,  276,  276,
01425       276,  284,  284, 1686, 1686,  615,  607,  608,  296,  284,
01426       609,  155,  282,  282,  282,  282,  282,  282,  282,  284,
01427       284,  284, 1686,  292,  297,  190,  284,  284,  284,  284,
01428       615,  610,  296,  340,  284,  299,  285,  217,  217,  217,
01429       217,  217,  217,  282,  304,  284,  284,  292,  305,  297,
01430       190,  614,  284,  284,  284,  610, 1686, 1686,  340,  299,
01431       285,  282,  282,  282,  282,  282,  282,  282,  286,  304,
01432       284,  190,  190,  305,  190,  614,  287,  284,  284,  190,
01433       190,  565,  190, 1686,  306,  339,  190, 1686,  337, 1686,
01434 
01435       338,  616,  282,  286,  190,  284,  190,  190,  154,  190,
01436       346,  287,  284,  284,  190,  190,  565,  190,  306,  339,
01437       284,  190,  337,  288,  338,  616,  289,  190,  190,  190,
01438       290,  190,  154,  344,  346,  190,  190,  284, 1686,  190,
01439      1686, 1686,  341,  343,  342,  284,  618,  288,  617, 1686,
01440       289,  601,  190,  190,  290,  284,  190,  300,  344,  301,
01441       190,  190,  302,  284,  190,  602,  341,  343,  342, 1686,
01442       190,  618,  617,  303,  345, 1686,  601,  190,  190,  347,
01443       284,  619,  300,  190,  301,  190,  350,  302,  284,  602,
01444       348,  190,  190,  612,  349,  190,  620,  303, 1686,  345,
01445 
01446       190,  190,  190,  190,  347,  190,  619,  190,  190,  190,
01447       190,  350,  613,  190,  348,  190,  190,  190,  612,  349,
01448       620, 1686,  351,  352,  632,  190,  190, 1686,  353,  190,
01449       190,  190,  190,  190,  190,  357,  613,  190,  190,  190,
01450       190,  356, 1686,  190, 1686,  354,  351,  352,  632,  355,
01451       654,  190,  353, 1686,  190, 1686,  190,  218,  190,  190,
01452       357,  723,  190,  655,  190,  218,  356,  359,  190,  354,
01453       190,  358,  190,  355,  654,  218,  190,  218,  190,  634,
01454       190,  218,  218,  218,  190,  218,  723,  655,  360,  218,
01455       218,  359,  362,  363,  364,  190,  358,  190,  635,  218,
01456 
01457       218,  677,  218,  190,  634,  190,  218,  365,  218, 1686,
01458       218,  218,  360,  218,  218,  218,  362,  363,  364,  218,
01459       729,  381,  635,  218,  218,  677,  366,  368,  367,  218,
01460      1686,  218,  365,  218,  369,  370,  218,  218,  218,  218,
01461       218,  218,  657, 1686,  218,  729,  381,  371,  218,  734,
01462       366,  368,  367, 1686,  218,  218,  218,  372,  218,  369,
01463       370,  658,  218,  218,  218,  678,  218,  657,  373,  218,
01464       218,  371,  374,  218,  734,  218,  375,  218,  218, 1686,
01465       218,  218,  372,  218,  753,  658, 1686,  700,  218,  678,
01466       376,  218,  373,  377,  218,  218,  701,  374,  218,  218,
01467 
01468       218,  375,  218,  218,  712,  218,  218,  218,  218,  753,
01469       382,  700,  378,  218,  376,  218,  218,  377,  218,  622,
01470       701,  379,  680,  218,  218,  380,  218,  383,  712,  249,
01471       218,  218,  218,  623,  218,  382,  378,  249,  218,  384,
01472       218,  681,  218,  218,  622,  379, 1686,  680,  218,  380,
01473       218,  218,  383,  249,  249,  777,  218,  623,  385,  218,
01474      1686,  391,  249,  384,  802,  681,  249,  218,  248,  248,
01475       248,  248,  248,  248,  249,  218,  249,  249,  249,  154,
01476       777,  606,  385,  388,  249,  249,  391,  249,  249,  802,
01477       390,  249,  389, 1686, 1686,  249,  249, 1686,  392,  249,
01478 
01479       393,  249,  249,  154,  394,  606,  713,  388,  716,  249,
01480       249,  249,  249,  249,  390,  396,  389,  249,  249,  249,
01481       249,  249,  392,  395,  393,  249,  249, 1686,  394, 1686,
01482       713,  397,  716,  249, 1686,  398,  249, 1686, 1686,  719,
01483       396,  249,  249,  249,  249,  720,  399, 1686,  395,  249,
01484       249,  249,  401,  249,  249,  397,  400,  249,  249,  249,
01485       398,  249,  249,  719,  249,  249,  249,  249,  408,  720,
01486       399,  403,  249,  407,  249,  249,  249,  401,  249,  249,
01487       402,  400,  249,  249,  249,  404,  249,  249,  249,  249,
01488       249,  405,  249,  408,  721,  403,  249,  249,  407,  722,
01489 
01490       249,  249,  249,  409,  402,  725,  406, 1686,  249,  404,
01491       249,  732,  703,  249,  726,  405,  249,  249,  721, 1686,
01492      1686,  249, 1686,  722,  249,  249,  733,  249,  409,  725,
01493       406,  704,  410,  411, 1686,  249, 1686,  703,  726, 1686,
01494      1686,  249,  249,  274,  274,  274,  274,  274,  274,  249,
01495       249,  733, 1686,  727,  728,  704,  410,  411,  283,  283,
01496       283,  283,  283,  283,  284,  284,  284,  284,  284, 1686,
01497       644, 1686,  284,  284,  284,  284,  417,  727,  728,  416,
01498      1686,  730,  414,  415,  645,  731,  284, 1686, 1686,  284,
01499       284,  284,  284,  284,  433,  644,  284,  284,  284,  284,
01500 
01501       284,  417,  284,  416,  284,  730,  414,  415,  645,  731,
01502       284,  284,  420,  418,  735,  419,  284,  284,  284,  433,
01503       422,  284,  421, 1686,  284,  284,  284,  284, 1686,  284,
01504       736, 1686,  423, 1686, 1686,  284,  420,  418,  735,  419,
01505       434,  284,  284,  284,  284,  422,  424,  421,  284,  284,
01506       284,  284,  284,  284,  736,  426,  423,  425,  284,  284,
01507       284,  284,  427, 1686,  284,  434,  284,  284,  284,  284,
01508      1686,  424,  284,  284, 1686,  738,  431,  284,  284,  428,
01509       426,  425,  429,  284,  284,  284,  284,  427,  284,  284,
01510       284,  284,  284,  284,  284,  435,  284,  284,  284,  738,
01511 
01512       431,  750,  284,  428,  190, 1686,  429,  751,  432,  430,
01513       284,  827,  470,  284,  284,  284,  752,  761,  284,  284,
01514       435,  284,  284,  284,  773,  750,  436,  284,  774,  190,
01515       437,  751,  432,  430, 1686,  284,  827,  470, 1686,  284,
01516       752,  761, 1686,  284, 1686, 1686, 1686,  284,  773,  190,
01517       436, 1686,  774,  474,  437,  439,  439,  190,  439,  439,
01518       439,  439,  439,  439,  439,  439,  439,  439,  453,  454,
01519       455,  456,  457,  190,  190,  190,  473,  458,  474,  478,
01520       190,  190,  190,  190, 1686,  775,  477,  190,  190, 1686,
01521       776,  786,  439, 1686, 1686, 1686, 1686,  475,  190, 1686,
01522 
01523       190,  473,  458, 1686,  478,  190,  190, 1686,  190,  775,
01524       477, 1686,  190,  190,  776,  786,  439,  439,  439,  463,
01525       463,  475,  463,  463,  463,  463,  463,  463,  463,  463,
01526       463,  463,  190,  190,  480,  479,  190, 1686,  190,  190,
01527       190,  190,  190,  190,  190, 1686,  190,  190,  496, 1686,
01528       476,  190, 1686, 1686,  491,  481,  463,  190,  190,  480,
01529       479,  190,  490,  190,  190,  190,  190,  190,  190,  190,
01530       451,  190,  190,  496,  476,  798,  190,  190,  491,  481,
01531       463,  463,  463,  439,  439,  190,  439,  439,  439,  439,
01532       471,  471,  471,  471,  471,  471,  190, 1686, 1686,  798,
01533 
01534      1686,  483,  190,  190,  190,  497, 1686, 1686,  190, 1686,
01535       190,  190,  493, 1686,  482,  835,  190, 1686, 1686,  799,
01536       471,  190,  189,  484,  485,  486,  487,  488,  190,  190,
01537       497,  190,  489,  190,  190,  498,  190,  493,  482,  190,
01538       835,  190,  190,  799,  439,  439,  439, 1686,  492, 1686,
01539      1686, 1686,  189, 1686, 1686, 1686,  190,  489, 1686,  190,
01540       498,  218, 1686,  190,  190,  714,  836,  190,  715,  501,
01541      1686,  190,  492,  463,  463,  499,  463,  463,  463,  463,
01542       494,  494,  494,  494,  494,  494,  218,  190,  190,  714,
01543       218,  836,  715,  504,  501,  190,  190,  500,  218,  499,
01544 
01545       218, 1686,  800,  801,  505, 1686,  509,  837,  218, 1686,
01546       494, 1686,  190, 1686,  218,  218, 1686, 1686,  504, 1686,
01547       190,  500, 1686,  218, 1686,  218,  800,  801, 1686,  505,
01548       811,  509,  837,  218,  463,  463,  463,  502,  502,  218,
01549       502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
01550       218,  218,  218,  218,  811,  510,  511, 1686,  218,  218,
01551       218,  218, 1686,  508,  218, 1686, 1686,  506,  823,  507,
01552      1686,  218, 1686, 1686,  502,  218,  218,  218,  218,  218,
01553       510,  511,  824,  218,  218,  218,  218,  508, 1686,  218,
01554       512,  506,  823,  507,  218,  218,  218,  218,  502,  502,
01555 
01556       502,  514,  218,  218,  218,  218,  824, 1686,  218, 1686,
01557       523, 1686,  513,  825,  512, 1686,  218, 1686, 1686,  218,
01558       218,  522,  218,  218, 1686,  667, 1686,  218,  218, 1686,
01559       218,  218,  515,  218,  523,  717,  513,  825,  718,  668,
01560       524,  218,  516,  517,  518,  519,  520,  218,  218,  218,
01561       667,  521,  218,  525,  529,  218,  218,  218, 1686,  717,
01562       218, 1686,  718,  668,  524, 1686, 1686, 1686, 1686, 1686,
01563      1686, 1686,  218, 1686,  218, 1686,  521,  218,  525,  529,
01564       218, 1686,  218,  526,  526,  218,  526,  526,  526,  526,
01565       526,  526,  526,  526,  526,  526,  218,  218,  530,  218,
01566 
01567       218,  528,  690,  838,  218,  218,  249,  218,  218, 1686,
01568       532,  531,  826,  839,  533, 1686,  691,  840, 1686,  841,
01569       526,  218,  218,  530,  218,  218,  528,  690,  838,  218,
01570       218,  249,  218,  218,  532,  531,  826, 1686,  839,  533,
01571       691, 1686,  840,  841,  526,  526,  526,  534,  439,  245,
01572       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
01573       249,  249,  249,  536,  249,  537,  249,  541,  249,  249,
01574       249, 1686,  249, 1686,  249,  249, 1686,  540,  844,  538,
01575      1686, 1686,  539, 1686,  534,  249,  249,  249,  536,  249,
01576       537,  249,  541,  249,  249,  249,  249,  249,  542,  249,
01577 
01578       249,  540,  844,  538,  249,  543,  539,  249,  534,  534,
01579       534,  845,  546,  249,  249,  249,  249, 1686,  846,  249,
01580      1686,  249,  249,  542,  249, 1686,  544,  249, 1686,  249,
01581       543,  556,  249,  850,  545,  845, 1686, 1686,  249,  249,
01582       249,  249,  846,  547,  249,  249, 1686,  249, 1686,  249,
01583       544,  847,  249,  249,  848,  556,  849,  850,  545,  548,
01584       549,  550,  551,  552,  249,  249,  855,  249,  553,  554,
01585       249,  557,  249,  249, 1686,  249,  847,  851,  249,  848,
01586       555,  849, 1686, 1686, 1686, 1686, 1686, 1686, 1686,  249,
01587       249,  855,  249,  553,  249, 1686,  557,  249,  249,  560,
01588 
01589       249,  851,  249, 1686,  555,  558,  463,  245,  558,  558,
01590       558,  558,  558,  558,  558,  558,  558,  558,  249,  249,
01591       561,  249,  562,  249,  560,  284,  249,  249,  249,  249,
01592       856,  249, 1686,  566, 1686,  563,  249, 1686,  564,  852,
01593       853, 1686,  558,  249, 1686,  561,  249,  562,  249, 1686,
01594       284,  249, 1686,  249,  249,  856,  249,  284,  566,  563,
01595       569,  249,  564,  852,  853,  284,  558,  558,  558,  439,
01596       439,  854,  439,  439,  439,  567,  567,  567,  567,  567,
01597       567,  567,  284,  284,  284,  569,  284,  570,  284,  574,
01598       284,  284,  284, 1686,  284,  854,  284,  284, 1686,  573,
01599 
01600      1686,  571,  576, 1686,  572, 1686,  567, 1686,  284,  284,
01601       284,  284,  570,  284,  574,  857,  284,  284,  284,  284,
01602       575,  284,  284,  573,  858,  571,  284,  576,  572,  284,
01603       439,  439,  439,  284,  284,  284,  739,  284, 1686,  740,
01604       857,  284,  284,  284,  859,  575,  579, 1686,  577,  858,
01605       871,  284,  578,  284,  284,  869,  870,  587,  284,  284,
01606       739,  284,  284,  740, 1686, 1686,  284,  284, 1686,  859,
01607      1686,  284,  577, 1686,  871,  590,  578,  580,  284,  284,
01608       869,  870,  872,  873,  892, 1686,  284,  282,  282,  581,
01609       582,  583,  584,  585,  284,  284,  284,  284,  586,  594,
01610 
01611       590,  893,  284,  284,  284,  284,  872,  873,  892,  588,
01612       463,  463,  589,  463,  463,  463,  463, 1686,  282,  284,
01613       284, 1686,  284,  586,  594,  893,  284,  284,  284,  877,
01614       284,  593,  878,  588,  284, 1686,  589,  463,  463,  879,
01615       463,  463,  463,  591,  591,  591,  591,  591,  591,  591,
01616       284,  284,  284,  595,  877,  284,  593,  878,  284,  284,
01617       284, 1686,  596,  284,  879,  597,  762,  787,  894,  763,
01618       788,  463,  463,  463,  591,  284, 1686,  284,  595,  895,
01619       284, 1686, 1686,  284, 1686,  284,  596, 1686,  284,  597,
01620       762,  787,  894,  763,  788,  914, 1686, 1686,  463,  463,
01621 
01622       463,  463,  463,  895,  463,  463,  463,  463,  463,  463,
01623       463,  463,  463,  463,  190,  190,  190,  190,  190,  914,
01624       621,  624,  190,  190,  190,  190,  190, 1686,  190, 1686,
01625       627,  915,  626, 1686, 1686,  625,  190, 1686,  463,  190,
01626       190,  190,  190,  190,  628,  621,  624,  190,  190,  190,
01627       190,  190,  190,  190,  627,  915,  626,  190,  190,  625,
01628       190,  190,  463,  463,  463,  190,  190, 1686,  628,  889,
01629       190,  190,  190,  190, 1686, 1686,  629,  190,  190,  190,
01630       190,  190,  190,  190,  190,  190,  916, 1686,  630,  631,
01631       190,  190,  190, 1686,  889,  190,  190,  190,  190,  190,
01632 
01633       629,  890,  891,  190,  190,  190,  190,  190,  633,  190,
01634       916,  190,  630,  631,  917,  637,  899,  190,  636,  190,
01635      1686, 1686,  900, 1686,  190, 1686,  890,  891, 1686, 1686,
01636      1686, 1686,  190, 1686, 1686,  190,  190, 1686,  917,  640,
01637       637,  899,  636,  190,  190,  463,  463,  900,  463,  463,
01638       463,  463,  494,  494,  494,  494,  494,  494,  190,  190,
01639       190,  901,  190,  190,  640,  218,  190,  190,  190,  639,
01640       641,  190, 1686,  218, 1686, 1686,  638, 1686, 1686, 1686,
01641       642, 1686,  494,  190,  190,  911,  901,  190,  190, 1686,
01642       218,  190,  190,  639,  218,  641,  190,  218,  218,  646,
01643 
01644       638,  218,  218,  643,  642,  218,  463,  463,  463,  218,
01645       911,  812, 1686,  647,  813,  912, 1686, 1686,  648,  218,
01646      1686,  218,  218,  218,  646,  218,  218,  218,  643,  218,
01647       218,  218, 1686,  218,  218,  812,  649,  647,  813,  218,
01648       912,  650,  648,  218,  218,  218,  218,  218,  218,  218,
01649       218,  218,  218,  218,  218, 1686,  218,  218,  218,  218,
01650       649,  653,  651,  652,  218,  650, 1686,  218,  218,  218,
01651       218,  218,  218,  218,  218,  913,  218,  218,  218,  218,
01652       218,  218,  218,  656,  218,  653,  651,  652,  664, 1686,
01653       659,  218,  218,  921, 1686,  660,  218,  922,  218,  218,
01654 
01655       913, 1686,  923, 1686,  218,  218,  218, 1686, 1686, 1686,
01656      1686, 1686, 1686,  664,  659,  218,  218, 1686,  921,  663,
01657       660, 1686,  922,  218,  218,  526,  526,  923,  526,  526,
01658       526,  526,  526,  526,  526,  526,  526,  526,  218,  218,
01659       218,  933,  218, 1686,  663,  249,  218,  218,  218,  662,
01660       218,  666,  934,  249, 1686, 1686,  661, 1686, 1686,  665,
01661       249, 1686,  526,  218,  218,  669,  933,  218,  249, 1686,
01662       249,  218,  218,  662,  249,  218,  666,  934,  249,  670,
01663       661,  249,  249,  665,  249,  249,  526,  526,  526,  249,
01664       669,  671,  249,  249,  672, 1686,  249,  249, 1686,  249,
01665 
01666       249,  935,  249,  670,  249,  249,  249,  249,  249,  249,
01667       249, 1686,  673, 1686,  249,  671,  249,  249,  672,  674,
01668       249,  249,  249,  249,  249,  249,  935,  249,  249,  249,
01669       249,  249,  249,  249,  675,  249,  673,  676,  249,  249,
01670       249,  249, 1686,  674,  249,  249,  249,  249,  249,  249,
01671      1686,  682,  249,  249,  685,  936,  249,  249,  675,  249,
01672       945,  676,  679,  249,  249,  249,  249,  687, 1686,  249,
01673       683,  249,  249,  948,  249,  682, 1686,  249,  685,  936,
01674      1686, 1686, 1686, 1686,  249,  945, 1686, 1686, 1686,  249,
01675      1686,  249,  687,  686, 1686,  683,  937,  249,  948,  249,
01676 
01677       558,  463,  245,  558,  558,  558,  558,  558,  558,  558,
01678       558,  558,  558,  249,  249,  249,  284, 1686,  686,  284,
01679       937,  249,  249,  249,  284,  689, 1686,  284, 1686, 1686,
01680       938,  684,  688,  694,  284,  284, 1686,  558,  249,  692,
01681       249,  284,  284,  284,  284,  939,  249,  955,  249,  284,
01682       689,  943,  284,  693,  938,  684,  688,  694,  284,  284,
01683       284,  558,  558,  558,  692,  284,  284,  284,  284,  939,
01684      1686,  695,  955,  284,  284,  943,  284,  693,  284,  284,
01685      1686,  696,  284,  284,  284, 1686,  284,  284, 1686,  944,
01686       284,  284,  284, 1686,  284,  695,  699,  697,  284,  284,
01687 
01688       284,  284,  284,  284,  284,  696,  284,  284,  946,  284,
01689       698,  284,  284,  944,  284,  284,  284,  284,  284,  284,
01690       699,  697,  706,  284,  284,  284,  284,  284, 1686, 1686,
01691       702,  284,  946, 1686,  698,  705,  284,  284,  284,  284,
01692       284,  284,  709,  284,  284,  710,  284,  706,  284,  284,
01693       284,  284,  463,  463,  707,  463,  463,  463,  284,  705,
01694       708,  284,  284,  284,  284,  190,  190,  709,  190,  284,
01695       710,  284,  284,  190,  190,  284,  190,  190,  707,  737,
01696       947,  711,  741,  284,  708,  748, 1686,  956,  744,  284,
01697       190,  190, 1686,  190,  957, 1686, 1686,  284,  190,  190,
01698 
01699      1686,  190,  190,  737,  947,  711,  741, 1686, 1686,  958,
01700       748,  956,  744,  463,  463,  463,  463,  463,  957,  463,
01701       463,  463,  591,  591,  591,  591,  591,  591,  591,  190,
01702       190,  190,  190,  958, 1686,  190, 1686,  190,  190,  190,
01703       190, 1686,  742,  190, 1686,  743,  746,  960,  745,  754,
01704       190, 1686, 1686,  591,  190,  190,  190,  190,  190,  749,
01705       190,  747,  190,  190,  190,  190,  742,  964,  190,  743,
01706       746,  960,  745,  754,  190,  190,  190,  463,  463,  463,
01707       959,  732,  190,  190,  190,  747, 1686,  755,  190,  190,
01708       190,  964,  757,  961, 1686, 1686,  756,  190,  190,  190,
01709 
01710       962,  190, 1686,  758,  190,  959,  963,  190,  966,  190,
01711       965,  755,  190,  190,  190,  190,  218,  757,  961,  759,
01712       218,  756,  190,  190,  218,  962,  218,  758,  218,  190,
01713       764,  963,  966,  760,  218,  965,  967,  190, 1686,  765,
01714       218,  218,  766,  759,  218,  218,  968,  218,  218,  218,
01715       979,  218,  218,  218,  764,  218,  218,  760,  768,  218,
01716       967,  769,  218,  765,  771,  218,  766,  767,  218,  218,
01717       218,  968,  218,  218,  979,  218,  218,  218, 1686,  770,
01718       218,  218,  768,  218,  218,  769,  772,  218,  779,  771,
01719       218,  767,  218,  218, 1686,  218,  249, 1686,  218,  780,
01720 
01721       218,  218,  778,  770,  796, 1686,  218,  981,  218,  218,
01722       218,  218,  779,  782,  781,  218,  980,  218,  218,  218,
01723       249,  249,  218,  218,  783, 1686,  778,  982,  249,  796,
01724       218,  218,  981,  785,  987,  218,  218,  784,  782,  781,
01725       980,  249,  249,  218,  218,  249,  249,  218,  783,  249,
01726       249,  982,  249,  249,  249,  218,  789,  785,  987,  790,
01727       249,  784,  791,  988,  792,  249,  249,  249,  249, 1686,
01728       793,  249, 1686,  249,  249,  249,  249,  249,  983,  249,
01729       789, 1686,  794,  790,  249,  249,  791,  988,  792,  797,
01730       249,  249,  249,  249,  793,  795,  249,  249,  249,  249,
01731 
01732       805,  249, 1686,  983,  249,  249,  794,  249, 1686,  249,
01733       804, 1686,  989, 1686,  803,  806,  249,  249,  249,  795,
01734       249,  249,  249,  807,  249,  284,  249,  249,  249,  249,
01735       249,  808,  249,  284,  804,  249,  284,  989,  803,  814,
01736       806, 1686,  809,  249,  284,  249,  284, 1686,  807,  810,
01737       284,  249,  249,  249,  284,  808,  284,  284,  284,  815,
01738       249,  284,  816,  814,  284,  284,  809,  284, 1686,  284,
01739       284,  284, 1000,  810,  818,  821, 1686,  284,  284,  284,
01740       817,  284,  284,  815,  819,  284,  816, 1686,  820,  284,
01741       284,  284,  284,  284, 1686,  284, 1000,  284,  818,  284,
01742 
01743       821,  284,  284,  284,  817,  284,  284, 1686,  819, 1686,
01744       284,  828,  820,  830,  284,  822,  284, 1686,  284,  829,
01745       284, 1686,  284, 1001,  284, 1003,  284, 1002,  831,  284,
01746       284,  284,  832,  284,  284,  828,  190,  284, 1686,  284,
01747      1004,  284,  284,  829,  190,  284,  833, 1001, 1010,  834,
01748      1003, 1002, 1011,  831,  284, 1686, 1686,  832,  284,  284,
01749      1686,  190,  284,  190, 1004,  860,  284,  284, 1686,  190,
01750       833,  190, 1010,  834,  842,  842, 1011,  842,  842,  842,
01751       842,  842,  842,  842,  842,  842,  842,  190,  190, 1005,
01752       860,  190,  861,  190,  190,  190,  190,  862,  190,  190,
01753 
01754      1006,  190,  190, 1012, 1686,  863,  190,  190, 1686,  866,
01755      1023,  842,  190, 1686, 1005,  190,  190,  861,  190,  190,
01756       190, 1686,  862,  190,  190, 1006,  190,  190, 1012,  863,
01757      1686,  190,  190,  866, 1023,  842,  842,  842,  842,  842,
01758       190,  842,  842,  842,  842,  864,  864,  864,  864,  864,
01759       864,  190,  190,  190,  190,  875, 1686, 1686, 1024,  190,
01760       190,  190,  190,  190, 1686,  868,  874, 1686, 1025,  867,
01761      1026, 1686, 1686,  876, 1686,  864,  190,  190,  190,  190,
01762       875,  190, 1024,  218,  190,  190,  190,  190,  190,  868,
01763       874,  218, 1025,  867,  218, 1026,  880,  218,  876,  842,
01764 
01765       842,  842,  218,  882,  218,  218,  190,  218,  218,  881,
01766      1686, 1028,  218, 1686, 1029,  218,  218, 1027,  886,  218,
01767      1033,  880,  218,  218, 1686,  218, 1035,  218,  882,  218,
01768       218,  218,  218,  218,  881,  883, 1028,  218,  888, 1029,
01769       218, 1027,  886, 1686, 1033, 1686, 1686, 1686,  218,  218,
01770       218, 1035, 1686, 1686, 1686, 1049,  218,  218,  218,  883,
01771       884,  884,  888,  884,  884,  884,  884,  884,  884,  884,
01772       884,  884,  884,  218,  218,  218,  218,  218,  897,  898,
01773      1049,  218,  218,  218,  218,  218,  218,  218, 1686,  896,
01774      1034,  887, 1046, 1686, 1047, 1686, 1048,  884,  218,  249,
01775 
01776       218,  218,  218,  897,  898, 1686,  218,  249,  218,  218,
01777       218,  218,  218,  896, 1034,  887, 1046,  249, 1047,  902,
01778      1048,  884,  884,  884,  249,  249,  249,  249,  249,  249,
01779       249,  903,  249,  904,  249,  249,  249,  249,  249, 1686,
01780       905, 1686,  249, 1686,  902, 1686, 1686, 1686, 1686, 1686,
01781       249,  249,  249,  249,  249,  249,  903, 1050,  904,  249,
01782       249,  249,  249,  249,  905,  906,  842,  245,  906,  906,
01783       906,  906,  906,  906,  906,  906,  906,  906,  249,  249,
01784      1051, 1050,  249,  249,  249,  919,  249,  249, 1686,  908,
01785       249,  249,  249,  249, 1686,  910,  918,  909,  920, 1052,
01786 
01787      1686, 1686,  906,  249,  249, 1051,  249,  249,  249,  249,
01788       919,  249,  249,  908,  284,  249,  249,  249,  249,  910,
01789       918,  909,  284,  920, 1052,  284,  906,  906,  906,  284,
01790       284,  249,  924,  284,  925,  284,  284,  284,  284,  284,
01791      1056,  926, 1686,  284,  284, 1057, 1060,  284,  927, 1686,
01792       284, 1686, 1686, 1686,  284,  284, 1686,  924,  284,  925,
01793       284,  284,  284,  284, 1056, 1058,  926,  284,  284,  284,
01794      1057, 1060,  927,  842,  842,  284,  842,  842,  842,  928,
01795       928,  928,  928,  928,  928,  928,  284,  284, 1062, 1058,
01796       284,  284,  284,  284,  284,  284, 1686,  930,  284,  284,
01797 
01798       284,  284, 1686,  932,  940,  931,  941, 1686, 1059, 1686,
01799       928,  284,  284, 1062,  284,  284,  284,  942,  284,  284,
01800       284,  930, 1066,  284,  284,  284,  284,  932,  940,  931,
01801       190,  941, 1059,  949,  842,  842,  842,  950,  190,  284,
01802      1072,  952,  942, 1061,  190,  953,  190, 1066, 1686,  969,
01803       284,  951,  190,  190,  190,  190,  190,  971,  949,  954,
01804       970,  190,  950,  190,  190, 1072,  952, 1061, 1063,  190,
01805       953,  190,  972,  969, 1067,  951,  973,  190,  190,  190,
01806       190,  190,  971,  954,  970, 1071,  190, 1074,  190,  190,
01807       974, 1686, 1063, 1076,  190, 1686, 1073,  972, 1067,  218,
01808 
01809       978,  973,  190, 1075,  190,  190, 1686,  218, 1686, 1071,
01810       984, 1074,  190,  190,  974,  190,  975, 1076,  990,  190,
01811       976, 1073,  190,  190,  218,  978, 1077,  190, 1075,  190,
01812       190,  218,  218,  985,  977,  984,  190,  190,  986,  218,
01813       190,  975,  990, 1686,  190,  976,  218,  190,  190, 1686,
01814      1077, 1078, 1686, 1079,  218,  190,  218,  985,  977, 1081,
01815       991,  190,  218,  986,  218,  218,  992,  218,  993,  190,
01816       218,  218,  994,  218,  218,  218, 1078, 1079, 1686,  218,
01817       999, 1080,  218, 1081,  991, 1686,  995,  218, 1085, 1686,
01818       218,  992,  218,  993, 1086,  218,  218,  994,  218,  218,
01819 
01820       218,  218, 1007, 1009,  218,  999, 1080,  218, 1095,  218,
01821       995,  218,  996, 1085,  218, 1686,  997, 1686, 1086,  218,
01822      1686,  218,  218,  249, 1686, 1008,  218, 1007, 1009,  218,
01823       998,  249,  249, 1095,  218,  249,  218,  996, 1094,  218,
01824       249,  997, 1013,  249,  218, 1096, 1014,  218,  249, 1008,
01825       249,  249, 1686,  249,  998, 1015,  249,  249,  249,  249,
01826       249,  249, 1094, 1016,  284,  249, 1013, 1017,  249, 1096,
01827      1014,  249,  284, 1686, 1097,  249,  249, 1022,  249,  249,
01828      1015, 1018, 1686,  249,  249,  249,  249,  249, 1016,  284,
01829      1686, 1030, 1017,  249, 1686,  249,  249,  284, 1031, 1097,
01830 
01831      1098,  249, 1022, 1032,  249, 1018,  249, 1019, 1101,  249,
01832       249, 1020,  249, 1100,  249,  284, 1030, 1686,  249,  284,
01833       249, 1686, 1031,  284, 1098, 1021,  249,  284, 1032, 1037,
01834      1102,  249, 1019, 1101,  249,  284, 1020, 1100, 1036,  249,
01835       284, 1039,  284,  284,  284, 1040, 1038,  284,  284, 1021,
01836       284, 1106,  284, 1037, 1102,  284, 1686,  284, 1686, 1041,
01837       284, 1686, 1036, 1045, 1686,  284, 1039,  284,  284, 1686,
01838      1040, 1038,  284,  284, 1686,  284, 1106, 1107, 1686, 1053,
01839       284,  284,  284, 1041,  284, 1042,  284, 1686, 1045, 1043,
01840       284,  284,  284, 1055,  284, 1686, 1686, 1054,  284,  284,
01841 
01842      1686, 1107, 1064, 1044, 1053, 1065,  284, 1686, 1115,  284,
01843      1042,  284, 1068, 1686, 1043, 1069,  284,  284, 1055,  284,
01844       190, 1054,  190,  190,  284, 1083, 1064, 1044,  190, 1065,
01845       190,  190, 1115, 1686, 1686, 1084, 1068, 1082, 1087, 1069,
01846      1686, 1088, 1686, 1089,  190,  190,  190,  190,  190, 1686,
01847      1083,  190,  190,  190,  190,  190,  190, 1108, 1090, 1084,
01848      1109, 1082, 1087, 1686,  190, 1088,  190,  190, 1089,  190,
01849      1093,  190,  190, 1116,  190,  190,  190,  190, 1117,  190,
01850      1091, 1108, 1090, 1092, 1109,  218,  190, 1110,  218,  190,
01851      1099,  190,  190,  218,  190,  218,  218,  190, 1116,  190,
01852 
01853       190, 1105, 1103, 1117, 1091, 1119,  218, 1092, 1104,  218,
01854       218,  190, 1110,  218,  218, 1099,  218,  218,  218,  190,
01855       218,  218, 1118, 1111,  218, 1105, 1103,  218, 1686, 1112,
01856      1119,  218, 1113, 1104,  218,  218, 1686, 1120, 1121,  218,
01857       218,  218,  218, 1123, 1124, 1129, 1118, 1111,  218,  218,
01858       218, 1114,  218, 1112, 1125,  218, 1113, 1139,  218, 1122,
01859       218, 1120, 1121,  218,  249,  218,  249, 1123, 1127, 1124,
01860      1129, 1130,  249,  218,  249,  218, 1131,  249, 1125, 1132,
01861       218, 1126, 1139,  218, 1122,  249, 1133, 1686,  218,  249,
01862      1128,  249, 1140, 1127,  249, 1130, 1138,  249,  249,  249,
01863 
01864      1131,  249,  249, 1132, 1141, 1126,  249, 1142,  249,  249,
01865       249, 1133, 1134, 1143, 1128, 1144,  249, 1140, 1147,  249,
01866      1138, 1135,  249,  249, 1136, 1137,  249,  249, 1141, 1146,
01867       249,  249, 1142,  249,  249,  249, 1134, 1143,  249, 1144,
01868      1148,  249, 1145, 1147, 1152, 1135,  249,  249, 1136,  284,
01869      1686, 1153,  249, 1146,  284,  249, 1150,  284, 1686, 1162,
01870       249, 1163,  284,  249, 1148, 1154, 1149, 1145, 1155, 1152,
01871       284,  249, 1156, 1686,  284, 1153, 1161,  284,  284,  284,
01872       284, 1150,  284, 1151, 1162,  284, 1163,  284,  284, 1154,
01873      1149, 1157, 1155, 1164, 1165,  284,  284, 1156,  284, 1686,
01874 
01875      1161, 1158,  284,  284, 1159,  284,  284, 1151, 1166, 1167,
01876       284, 1169,  284,  284, 1170, 1157,  284, 1164, 1171, 1165,
01877       284,  284, 1160,  284,  284, 1158,  284, 1172, 1159, 1173,
01878      1168,  284, 1166, 1167,  284, 1175, 1169,  284, 1170, 1174,
01879      1176,  284, 1171, 1177, 1178,  284, 1179, 1180, 1181,  284,
01880      1182,  284, 1172, 1173, 1183, 1168, 1184, 1185, 1186,  284,
01881      1175, 1187, 1188, 1174, 1189, 1176, 1190, 1192, 1177, 1178,
01882      1193, 1179, 1180, 1181, 1194, 1182,  190, 1198, 1183, 1199,
01883      1184, 1185, 1186, 1200,  190,  190, 1187, 1188, 1189, 1195,
01884      1686, 1190, 1192,  190, 1193, 1196, 1201,  190, 1194, 1686,
01885 
01886      1686,  190, 1198, 1209, 1199,  190, 1686, 1686, 1200,  190,
01887       190, 1210,  190, 1686, 1195, 1197, 1206, 1204,  190, 1196,
01888       190, 1201,  190,  190,  190, 1202, 1203,  190, 1209, 1207,
01889       190,  190,  190, 1205, 1213,  190, 1210,  190, 1208, 1197,
01890      1206, 1211, 1204, 1214, 1215,  190,  190,  218,  190,  190,
01891      1202, 1203,  190, 1207,  190,  218,  190,  190, 1205, 1213,
01892       190, 1219, 1208, 1220, 1221, 1211, 1217, 1214, 1215,  218,
01893      1212,  190,  218, 1216,  218, 1222,  218,  218, 1223,  190,
01894       218, 1227,  218, 1231,  218,  218, 1219, 1224, 1220, 1221,
01895      1217, 1228, 1218,  218,  218, 1686, 1229, 1232, 1216,  218,
01896 
01897      1222,  218,  218, 1223, 1230, 1227,  218,  218, 1231,  218,
01898       218, 1225, 1224,  218,  218, 1228, 1218, 1233,  218, 1226,
01899      1229,  218, 1232, 1234, 1686,  218, 1236, 1686, 1230, 1237,
01900      1238,  218, 1242,  218, 1243, 1686, 1225, 1244,  218,  218,
01901      1245, 1233, 1686, 1686, 1226, 1686,  218,  249, 1234, 1235,
01902       218, 1236,  249, 1237, 1238,  249, 1239, 1242,  218, 1243,
01903       249,  249, 1244, 1250, 1251, 1245, 1240,  249,  249,  249,
01904      1246, 1254,  249, 1249, 1686,  249,  249,  249, 1252, 1241,
01905       249, 1239, 1253, 1255, 1686,  249,  249, 1250, 1251,  249,
01906      1240, 1247,  249,  249,  249, 1246, 1254,  249, 1249,  249,
01907 
01908       249,  249, 1252, 1241, 1248, 1257, 1253,  249, 1255, 1256,
01909       249, 1259, 1686, 1260,  249, 1261, 1247,  284,  249,  284,
01910      1265, 1262,  249,  284,  249,  284, 1266,  284, 1267, 1248,
01911      1257,  284,  249, 1256, 1258,  249, 1259, 1260, 1263, 1261,
01912      1686, 1264,  284,  249,  284, 1265, 1262, 1268,  284, 1273,
01913       284, 1266,  284, 1267, 1274,  284,  284, 1269,  284,  284,
01914      1270, 1277, 1263,  284, 1271, 1264,  284,  284,  284, 1686,
01915      1275, 1276, 1268, 1273, 1272, 1278,  284, 1280, 1274, 1279,
01916       284, 1282, 1269,  284,  284, 1270, 1277, 1283,  284, 1271,
01917       284,  284,  284,  284, 1275, 1276, 1284, 1289,  284, 1272,
01918 
01919      1278,  284, 1280, 1279, 1285, 1286, 1282, 1287, 1288, 1290,
01920      1291, 1283, 1292, 1293, 1281,  284, 1294, 1295, 1296, 1686,
01921      1297, 1284, 1289,  284, 1298, 1299, 1300,  190, 1285, 1286,
01922      1301, 1287, 1288, 1290, 1291,  190, 1292, 1304, 1293,  190,
01923      1294, 1295, 1302, 1296, 1297,  190, 1307,  190, 1298, 1305,
01924      1299, 1300,  190,  190, 1301, 1306, 1686,  190,  190, 1314,
01925       190, 1304, 1303, 1312,  190,  190,  190, 1302, 1308, 1313,
01926       190, 1307,  190, 1305, 1315, 1318, 1309,  190,  190, 1306,
01927       190, 1311,  190,  190, 1314,  190, 1303, 1312,  190, 1316,
01928       190,  190, 1308, 1313, 1310, 1317, 1686, 1321, 1315, 1318,
01929 
01930      1309,  218,  190,  218, 1319,  190, 1311,  218, 1324,  218,
01931       190,  218, 1686,  190, 1316,  218, 1686, 1322, 1310, 1323,
01932      1317, 1321, 1686, 1329, 1320, 1686,  218,  218,  218, 1319,
01933       218,  218,  218, 1324,  218,  218,  218, 1325,  218,  218,
01934       218, 1322,  218, 1323, 1330, 1327, 1328, 1329, 1320, 1326,
01935       218, 1331,  218, 1332, 1333,  218,  218, 1334, 1335, 1686,
01936       218, 1325, 1336,  218,  218, 1342,  249,  218, 1330, 1327,
01937      1339, 1328, 1686, 1326,  249,  218, 1331, 1332, 1333,  249,
01938      1686,  249, 1334, 1335, 1337, 1686, 1336,  249, 1686,  249,
01939      1342,  249, 1340, 1341, 1339, 1686, 1338,  249, 1349,  249,
01940 
01941       249, 1686, 1347, 1686,  249,  249,  249, 1343,  249, 1337,
01942      1348, 1350,  249,  249,  249, 1351, 1340, 1341, 1354, 1344,
01943      1338,  249,  249, 1349,  249,  249, 1347, 1345, 1346, 1352,
01944       249, 1343,  249,  249, 1348, 1350, 1353,  284,  249, 1351,
01945      1355, 1360, 1354, 1344,  284,  284,  249,  284,  284,  249,
01946      1357, 1345,  284, 1346, 1352,  284,  284,  249, 1358, 1359,
01947      1365, 1353,  284, 1366, 1356, 1355, 1360, 1362,  284,  284,
01948       284,  284,  284,  284, 1357, 1367,  284,  284, 1361,  284,
01949       284,  284, 1358, 1359, 1365, 1363,  284, 1366, 1356, 1368,
01950      1364, 1362, 1369,  284,  284, 1370,  284, 1371, 1372, 1373,
01951 
01952      1367,  284, 1361, 1374,  284, 1375, 1686, 1376, 1377, 1363,
01953      1378,  284, 1379, 1368, 1380, 1364, 1369, 1381, 1383,  284,
01954      1370, 1382, 1371, 1372, 1373, 1384, 1385, 1374,  190, 1387,
01955      1375, 1376, 1388, 1377, 1378, 1389,  190, 1379, 1380, 1390,
01956       190,  190, 1381, 1383, 1386, 1382, 1395, 1391,  190,  190,
01957      1384, 1385, 1686,  190, 1387, 1396, 1388, 1397, 1398,  190,
01958      1389,  190,  190, 1390, 1393,  190,  190,  190, 1399, 1386,
01959       190, 1395, 1391,  190,  190, 1402, 1392,  190,  218, 1396,
01960      1404, 1401, 1397, 1398,  190,  190,  218,  190, 1403, 1393,
01961      1394, 1686,  190, 1399, 1410,  190, 1686,  218, 1686, 1402,
01962 
01963      1392, 1400,  190,  218, 1404,  218, 1401, 1409,  218,  218,
01964       190,  218, 1411, 1403, 1394, 1405,  218,  218, 1410,  218,
01965      1412, 1407,  218,  218, 1686, 1406, 1400,  218, 1413, 1686,
01966       218,  218, 1409,  218,  218, 1416, 1408, 1411, 1415,  249,
01967      1405,  218,  218, 1417,  218, 1412, 1407,  249,  218, 1406,
01968       249, 1686,  218, 1413, 1414, 1686,  218, 1418,  249, 1416,
01969      1408,  249, 1423, 1415,  249,  249, 1425, 1419, 1417,  249,
01970      1686, 1424,  249,  249, 1426,  249,  249, 1427, 1421, 1414,
01971       249, 1418, 1420,  249,  249, 1429,  249, 1423,  249,  284,
01972       249, 1425, 1419, 1422,  249, 1424,  284,  284,  249, 1426,
01973 
01974      1428,  249, 1427, 1421,  284,  249, 1420, 1430, 1431,  249,
01975      1429, 1432,  284,  249,  284,  284, 1437, 1422, 1433, 1686,
01976       284,  284,  284,  284, 1686, 1428,  284, 1439, 1435,  284,
01977      1438, 1430, 1434, 1431,  284, 1432,  284,  284, 1440, 1441,
01978       284, 1437, 1442, 1433,  284,  284, 1443, 1444,  284, 1436,
01979      1445,  284, 1439, 1435, 1438, 1446, 1434, 1447, 1448,  284,
01980      1449,  284, 1450, 1440, 1441, 1451, 1455, 1442, 1452,  284,
01981      1443, 1453, 1444, 1436, 1445, 1454, 1457,  190, 1458, 1446,
01982      1456, 1447, 1459, 1448, 1449,  190, 1450, 1460,  190,  190,
01983      1451, 1455, 1452, 1462, 1465, 1453,  190,  190, 1686, 1454,
01984 
01985      1457,  190,  190, 1458, 1461, 1456, 1459,  190, 1469,  190,
01986       190, 1460, 1466,  190,  190,  190, 1686, 1467, 1462, 1465,
01987      1463,  190,  190, 1468, 1471, 1464,  190,  218, 1461, 1472,
01988      1470, 1479,  190, 1469,  190,  218, 1466, 1473, 1474, 1686,
01989       190, 1467,  218, 1686, 1463, 1480, 1686, 1468, 1471, 1464,
01990       218,  218,  218, 1481, 1472, 1470, 1479, 1686, 1475,  218,
01991       218, 1473, 1474,  218,  218, 1686, 1482,  218, 1476, 1480,
01992      1477,  218,  218, 1483, 1486,  218,  218, 1481, 1485, 1487,
01993      1488, 1478, 1475,  249,  218, 1686, 1484, 1686,  218,  218,
01994      1482,  249, 1686, 1476, 1477, 1494,  218,  218, 1483, 1486,
01995 
01996      1493,  249, 1485, 1487, 1488, 1478,  249, 1686,  249,  249,
01997      1490, 1484,  249,  249,  249, 1497,  249, 1489, 1495, 1494,
01998       249,  249, 1686, 1496, 1499, 1493,  249, 1501, 1500, 1686,
01999      1492,  249, 1491, 1686,  249, 1490, 1502,  249,  249,  249,
02000      1497, 1489, 1495, 1507, 1686,  249,  249, 1496, 1499,  284,
02001       284, 1501, 1498, 1500, 1492,  284, 1491,  284,  284, 1504,
02002      1502,  284,  284,  284, 1686, 1508, 1503, 1509, 1507,  284,
02003       284, 1686, 1510, 1511,  284,  284, 1512, 1498, 1513, 1506,
02004       284, 1505,  284,  284, 1504, 1514,  284,  284,  284, 1508,
02005      1503, 1509, 1515, 1517,  284,  284, 1510, 1511, 1516,  190,
02006 
02007      1520, 1512, 1513, 1506, 1519, 1505, 1521,  190,  190, 1514,
02008      1525, 1523,  190, 1686, 1528,  190,  190, 1515, 1517,  218,
02009       190,  190, 1516,  190,  190, 1520, 1522,  218, 1519,  190,
02010      1521, 1527,  190,  190, 1529, 1525, 1523,  190, 1524, 1528,
02011       190,  190, 1535,  218,  218,  190,  190, 1533,  190, 1536,
02012      1522,  218,  218, 1537,  190, 1527, 1686, 1530, 1529,  218,
02013      1686,  218, 1524,  218, 1531,  249, 1535,  218,  218,  218,
02014       249,  218, 1533,  249, 1536, 1541,  218, 1537,  249, 1686,
02015      1532, 1530, 1543,  249,  218,  249,  218, 1540,  218, 1531,
02016       249,  249,  218,  249,  218,  249,  218, 1538,  249,  249,
02017 
02018      1541,  284, 1539,  249, 1532, 1544, 1543,  249,  249,  284,
02019       249, 1540, 1545, 1549,  284, 1686,  249,  284,  249, 1551,
02020      1547, 1538,  284,  284,  249,  284,  284, 1539, 1546,  284,
02021      1544,  284,  249, 1553,  284, 1554, 1545,  284, 1549,  284,
02022      1548, 1555,  284, 1551, 1556, 1547, 1557,  284,  284, 1558,
02023       284, 1560, 1546,  190,  284,  190,  284, 1563, 1553, 1554,
02024      1564,  190,  284,  190, 1548, 1565, 1555, 1567, 1570, 1556,
02025      1557, 1686, 1561, 1558, 1571,  218, 1560,  190,  190, 1559,
02026       190, 1562, 1563,  218, 1564,  190,  190,  218,  190, 1565,
02027      1572, 1574, 1567, 1570, 1568,  218, 1561,  218, 1571,  249,
02028 
02029       218, 1569,  190, 1578, 1686,  218, 1562,  249,  218,  249,
02030       190, 1566,  218, 1577, 1572, 1579, 1574,  249, 1568, 1581,
02031       218,  249,  218, 1573,  249, 1576, 1569, 1578, 1575,  249,
02032       218, 1585,  249,  284,  249, 1584, 1587,  284, 1577, 1579,
02033      1586,  284,  249,  284, 1581,  284,  249, 1583, 1588, 1590,
02034      1576,  284, 1575, 1589,  249, 1585, 1582, 1580,  284, 1591,
02035      1584, 1587,  284, 1592, 1586, 1593,  284, 1594,  284, 1595,
02036       284, 1598, 1583, 1588, 1590,  190,  284, 1589,  190, 1601,
02037      1582, 1597, 1602,  190, 1591, 1599,  190, 1592, 1596, 1593,
02038      1600, 1606, 1594, 1605, 1595, 1607, 1598,  218, 1608, 1609,
02039 
02040       190, 1612, 1686,  190, 1601,  218, 1597, 1602,  190, 1599,
02041      1603,  190, 1596,  218, 1600, 1606, 1604, 1615, 1605, 1607,
02042       249,  218,  218, 1608, 1609, 1613, 1612, 1614,  249, 1616,
02043       218, 1619, 1686, 1610, 1603,  284,  249, 1621,  218, 1611,
02044      1623, 1604, 1615,  284,  249,  249,  218, 1620, 1617, 1613,
02045      1622, 1614, 1624,  249, 1616,  284, 1619, 1610, 1618, 1626,
02046       284,  249, 1621,  284, 1611, 1623, 1625, 1627,  284,  249,
02047       190, 1620, 1617, 1628, 1622, 1629, 1624,  190,  190, 1631,
02048       284, 1630, 1632, 1618, 1626,  190,  218, 1636,  284, 1633,
02049      1625, 1627,  218, 1686,  218,  190, 1634, 1635, 1628, 1629,
02050 
02051       218,  249,  190,  190, 1631, 1630, 1632, 1637, 1639,  249,
02052       190,  218, 1636, 1640, 1633,  249, 1641,  218, 1638,  218,
02053      1634, 1635, 1642,  249, 1646,  218,  249,  284,  284, 1648,
02054      1643, 1637, 1639, 1644,  249,  284,  284, 1640, 1645, 1647,
02055       249, 1641,  190, 1638, 1649, 1650, 1642, 1651,  249, 1646,
02056       190,  218,  284,  284, 1648, 1643, 1652, 1644,  249,  218,
02057       284,  284, 1645, 1647, 1653, 1654,  249,  190, 1649,  284,
02058      1650, 1651, 1655, 1656, 1657,  190,  218,  284, 1658, 1659,
02059      1660, 1652, 1661,  249,  218, 1662, 1663, 1664, 1653, 1665,
02060      1654,  249, 1666, 1667,  284, 1668, 1655, 1669, 1656, 1657,
02061 
02062      1670, 1671,  284, 1658, 1659, 1660, 1672, 1661, 1673, 1674,
02063      1662, 1663, 1664, 1675, 1665, 1676, 1666, 1667, 1677, 1668,
02064      1678, 1669, 1679, 1680, 1670, 1681, 1671, 1682, 1683, 1684,
02065      1685, 1672, 1686, 1673, 1674, 1686, 1686, 1686, 1675, 1676,
02066      1686, 1686, 1677, 1686, 1678, 1686, 1679, 1680, 1686, 1686,
02067      1681, 1686, 1682, 1683, 1684, 1685,  146,  146,  146,  146,
02068       146,  146,  146,  146,  146,  147,  147,  147,  147,  147,
02069       147,  147,  147,  147,  152,  152,  152, 1686,  152,  152,
02070       152,  152,  152,  154,  154,  180,  180, 1686,  180,  180,
02071       180,  180,  180,  180,  189,  189,  189,  189,  190,  190,
02072 
02073       190,  190,  214,  214, 1686,  214,  214,  214,  214,  214,
02074       214,  216,  216,  216,  216,  216,  216,  216,  216,  216,
02075       218,  218, 1686,  218,  218,  218,  218,  218,  218,  244,
02076       244, 1686,  244,  244,  244,  244,  244,  244,  245, 1686,
02077       245,  245,  245,  245,  245,  245,  245,  247,  247,  247,
02078       247,  247,  247,  247,  247,  247,  249, 1686,  249,  249,
02079       249,  249,  249,  249,  249,  273,  273,  273,  273,  273,
02080       273,  273,  273,  273,  275,  275,  282,  282,  282,  282,
02081       282,  284,  284,  284,  284,  284,  308,  308,  308,  308,
02082       308,  308,  308,  308,  308,  440,  440, 1686,  440,  440,
02083 
02084       440,  440,  440,  440,  464,  464, 1686,  464,  464,  464,
02085       464,  464,  464,  472,  472, 1686,  472,  472,  472,  472,
02086       472,  472,  495,  495, 1686,  495,  495,  495,  495,  495,
02087       495,  503,  503, 1686,  503,  503,  503,  503,  503,  503,
02088       527,  527, 1686,  527,  527,  527,  527,  527,  527,  535,
02089       535,  535,  535,  535,  535,  535,  535,  535,  559,  559,
02090       559,  559,  559,  559,  559,  559,  559,  568,  568, 1686,
02091       568,  568,  568,  568,  568,  568,  592,  592, 1686,  592,
02092       592,  592,  592,  592,  592,  463,  463, 1686,  463,  463,
02093       463,  463,  463,  463,  494,  494, 1686,  494,  494,  494,
02094 
02095       494,  494,  494,  526,  526, 1686,  526,  526,  526,  526,
02096       526,  526,  558,  558,  558,  558,  558,  558,  558,  558,
02097       558,  591,  591, 1686,  591,  591,  591,  591,  591,  591,
02098       843,  843, 1686,  843,  843,  843,  843,  843,  843,  865,
02099       865, 1686,  865,  865,  865,  865,  865,  865,  885,  885,
02100      1686,  885,  885,  885,  885,  885,  885,  907,  907,  907,
02101       907,  907,  907,  907,  907,  907,  929,  929, 1686,  929,
02102       929,  929,  929,  929,  929,   23, 1686, 1686, 1686, 1686,
02103      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02104      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02105 
02106      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02107      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02108      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02109      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686
02110     } ;
02111 
02112 static yyconst flex_int16_t yy_chk[7341] =
02113     {   0,
02114         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02115         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02116         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02117         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02118         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02119         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02120         1,    1,    1,    1,    2,    4,    6,    8,    2,    4,
02121         6,    8,    9,    9,    9,    9,    9,    9,    9,    9,
02122         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02123         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02124 
02125         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02126         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02127         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02128         9,    9,    9,    9,    9,    9,   10,   22,   22, 1544,
02129        10,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02130        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02131        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02132        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02133        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02134        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02135 
02136        11,   11,   11,   11,   11,   12,   76, 1536,   76,   12,
02137        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02138        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02139        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02140        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02141        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02142        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02143        13,   13,   13,   13,   14,  117,  117, 1528,   14,   15,
02144        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02145        15,   16,   18,   20, 1520,   16,   18,   20,   29,   29,
02146 
02147        29,   29,   29,   29,   46,   49,  147,  147,   46,   49,
02148        15,   15,   15,   15,   15,   15,   19,   19,   19,   19,
02149        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02150        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02151        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02152        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02153        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02154        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02155        30,   31,   33, 1515,   32,   34,   37,   32,   38,   31,
02156        51,   32,   35,   39,   51,   35,   40,   41,   53,   44,
02157 
02158        99,   43,   53,   99,   30,   43,   31,   33,   32,   34,
02159        37,   32,   38,   72,   31,   32,   35,   72,   39,   35,
02160        40,   41,   42,   44,   42,   94,   43,   42, 1512,   94,
02161        43,   55,   55,   55,   55,   55,   55,  216,   42,  216,
02162        56,   56,   56,   56,   56,   56,   59,   42,  155,   42,
02163        59,   60,   42,   62,   59,  158,  126, 1508,  161,   60,
02164       126,   62,   42,   56,   77,   77,   77,   77,   77,   77,
02165        56,   59,  155,   60,  156,   59,   60,  123,   62,   59,
02166       158,  145,  123,  161,   60,  145,   62,   56,   57,   57,
02167        57,   57,   57,   57,   57, 1494,   61,   60,  156,  157,
02168 
02169       162,  123,   57, 1480,   61,   63,  123,   61,   65, 1466,
02170        61,  178,   65,   63,  247,  178,   65,  247,   57,   57,
02171        63,   61, 1452,  157,  159,  162,  159,   57,   58,   61,
02172        63,   61,   66,   65,   61,   64,   58,   65,   63,   58,
02173        66,   65,   58,   64,   63, 1078,   58,  160,  159,   64,
02174       159,   66,  165,   58,   69,  166,  122,   66,   69,  955,
02175        64,   58,   69,   58,   67,   66,   58,  608,   64,  122,
02176        58,  160,   67,   64,  163,   66,   70,  165,   67,   69,
02177       166,  122,  167,   69,   70,  273,  273,   69,  168,   67,
02178        70,   81,   84,  122,  169,   81,  458,   67,  163,   81,
02179 
02180        84,   70,   67,   68,  172,   68,  167,   68,  164,   70,
02181        68,   68,  168,  326,   70,   82,   81,   84,  169,  164,
02182        81,   68,  182,   82,   81,   84,  182,  184,   68,  172,
02183        68,  184,   68,  164,  310,   68,   68,   82,  170,  173,
02184        82,  171,  175,  164,  174,   68,   78,   78,   82,   78,
02185        78,   78,   78,   78,   78,   78,   78,   78,   78,   83,
02186        85,   82,  170,   86,  173,  171,  175,   83,   85,  174,
02187        83,   86,  324,   83,  176,   85,   78,   86,  186,  107,
02188       281,  276,  186,   78,   83,   85,  213,  107,   86,  279,
02189       213,  242,   83,   85,   83,  242,   86,   83,  176,   85,
02190 
02191        78,   86,  280,  324,  107,  276,  280,   78,   78,   78,
02192        79,   79,  107,   79,   79,   79,   79,   79,   79,   79,
02193        79,   79,   79,   79,   87,   88,   89,  136,   87,  312,
02194       190,   79,   87,   88,   89,  136,  272,   91,  190,  307,
02195        89,   91,  314,  307,   88,   91,  241,   79,   79,   87,
02196        88,   89,  136,   87,  312,  190,   79,   87,   88,   89,
02197       136,  104,   91,  190,   89,  104,   91,  314,   88,  104,
02198        91,   79,   79,   79,   80,   92,  100,  100,  100,  100,
02199       100,  100,   80,   92,  215,   80,  104,  187,   80,   92,
02200       104,  185,   80,  105,  104,  308,  308,  120,  183,   80,
02201 
02202        92,  105,  315,  181,  319,  120,  177,   80,   92,   80,
02203       152,  278,   80,   92,  120,  105,   80,   90,  105,   90,
02204       106,   90,  120,  278,   90,   90,  105,  315,  106,  319,
02205       120,  106,  277,  277,  106,   90,  278,  316,  120,  105,
02206       558,  558,   90,  150,   90,  106,   90,  278,  149,   90,
02207        90,  127,  125,  106,  320,  106,  277,  277,  106,   90,
02208       101,  316,  101,  101,  101,  101,  101,  101,  101,  101,
02209       101,  101,  101,  108,  110,  109,  111,  112,  110,  320,
02210       317,  108,  110,  109,  111,  112,  116,  318,  108,  109,
02211       101,  112,  321,   98,  322,  111,  323,  101,  108,  110,
02212 
02213       109,  111,  112,  110,  317,   93,  108,  110,  109,  111,
02214       112,  318,  108,  109,  101,  112,  327,  321,  322,  111,
02215       323,  101,  101,  101,  102,  329,  102,  102,  102,  102,
02216       102,  102,  102,  102,  102,  102,  102,  102,  114,  115,
02217       327,  140,  114,   75,  328,  102,  114,  115,   74,  140,
02218       329,  334,   54,  115,  118,  118,  118,  118,  118,  118,
02219       140,  102,  102,  114,  115,  331,  140,  114,  328,  332,
02220       102,  114,  115,  121,  140,  334,  121,  115,   52,  121,
02221       121,  335,   50,   48,  140,  102,  102,  102,  103,  333,
02222       331,  441,  124,  438,  332,  124,  103,  121,  124,  103,
02223 
02224       121,  442,  103,  121,  121,  335,  103,  129,  129,  129,
02225       129,  129,  129,  103,  333,  441,  124,   45,  438,  124,
02226        27,  103,  124,  103,   25,  442,  103,  439,  133,  137,
02227       103,  113,  133,  113,  135,  113,  133,  137,  113,  113,
02228        23,  439,  135,   17,  137,  135,  444,  446,  135,  113,
02229         7,    5,  439,  133,  137,    3,  113,  133,  113,  135,
02230       113,  133,  137,  113,  113,  439,    0,  135,  137,  135,
02231       444,  446,  135,  113,  119,  119,  119,  119,  119,  119,
02232       119,  119,  119,  119,  119,  119,  153,  153,  153,  153,
02233       153,  153,  448,  449,    0,    0,  451,  119,  188,  188,
02234 
02235       188,  188,  188,  188,  138,  119,  119,  119,  119,  119,
02236       119,  134,  138,    0,    0,  462,  448,  449,  138,  134,
02237       451,  119,  130,  130,  130,  130,  130,  130,  130,  138,
02238       139,  141,    0,  134,  139,  194,  134,  138,  139,  141,
02239       462,  452,  138,  194,  134,  141,  130,  217,  217,  217,
02240       217,  217,  217,  130,  143,  139,  141,  134,  143,  139,
02241       194,  460,  143,  139,  141,  452,    0,    0,  194,  141,
02242       130,  131,  131,  131,  131,  131,  131,  131,  131,  143,
02243       144,  191,  193,  143,  192,  460,  131,  143,  144,  191,
02244       193,  413,  192,    0,  144,  193,  199,    0,  191,    0,
02245 
02246       192,  465,  131,  131,  199,  144,  191,  193,  413,  192,
02247       199,  131,  132,  144,  191,  193,  413,  192,  144,  193,
02248       132,  199,  191,  132,  192,  465,  132,  196,  197,  199,
02249       132,  195,  413,  197,  199,  196,  197,  132,    0,  195,
02250         0,    0,  195,  196,  195,  132,  467,  132,  466,    0,
02251       132,  440,  196,  197,  132,  142,  195,  142,  197,  142,
02252       196,  197,  142,  142,  195,  440,  195,  196,  195,    0,
02253       198,  467,  466,  142,  198,    0,  440,  200,  198,  200,
02254       142,  468,  142,  202,  142,  200,  202,  142,  142,  440,
02255       200,  202,  201,  459,  201,  198,  469,  142,    0,  198,
02256 
02257       201,  203,  200,  198,  200,  204,  468,  205,  202,  203,
02258       200,  202,  459,  204,  200,  205,  202,  201,  459,  201,
02259       469,    0,  203,  204,  483,  201,  203,    0,  205,  206,
02260       204,  207,  205,  208,  203,  209,  459,  206,  204,  207,
02261       205,  208,    0,  209,    0,  206,  203,  204,  483,  207,
02262       514,  211,  205,    0,  206,    0,  207,  218,  208,  211,
02263       209,  607,  206,  515,  207,  218,  208,  211,  209,  206,
02264       210,  210,  212,  207,  514,  219,  211,  220,  210,  490,
02265       212,  221,  218,  219,  211,  220,  607,  515,  212,  221,
02266       218,  211,  219,  220,  221,  210,  210,  212,  490,  222,
02267 
02268       219,  546,  220,  210,  490,  212,  221,  222,  219,    0,
02269       220,  224,  212,  236,  221,  223,  219,  220,  221,  224,
02270       613,  236,  490,  223,  222,  546,  223,  224,  223,  225,
02271         0,  226,  222,  227,  225,  226,  224,  225,  236,  226,
02272       223,  227,  522,    0,  224,  613,  236,  227,  223,  618,
02273       223,  224,  223,    0,  225,  228,  226,  228,  227,  225,
02274       226,  522,  225,  228,  226,  547,  227,  522,  228,  231,
02275       229,  227,  229,  230,  618,  232,  230,  231,  229,    0,
02276       228,  230,  228,  232,  635,  522,    0,  579,  228,  547,
02277       231,  233,  228,  232,  231,  229,  580,  229,  230,  233,
02278 
02279       232,  230,  231,  229,  598,  234,  230,  235,  232,  635,
02280       237,  579,  233,  234,  231,  235,  233,  232,  237,  471,
02281       580,  234,  554,  239,  233,  235,  238,  238,  598,  249,
02282       234,  239,  235,  471,  238,  237,  233,  249,  234,  239,
02283       235,  554,  240,  237,  471,  234,    0,  554,  239,  235,
02284       240,  238,  238,  253,  249,  658,  239,  471,  240,  238,
02285         0,  253,  249,  239,  681,  554,  250,  240,  248,  248,
02286       248,  248,  248,  248,  250,  240,  251,  252,  253,  565,
02287       658,  565,  240,  250,  251,  252,  253,  254,  255,  681,
02288       252,  250,  251,    0,    0,  254,  255,    0,  254,  250,
02289 
02290       254,  251,  252,  565,  255,  565,  599,  250,  601,  251,
02291       252,  257,  254,  255,  252,  257,  251,  258,  256,  257,
02292       254,  255,  254,  256,  254,  258,  256,    0,  255,    0,
02293       599,  258,  601,  259,    0,  259,  257,    0,    0,  603,
02294       257,  259,  258,  256,  257,  604,  259,    0,  256,  261,
02295       258,  256,  261,  263,  260,  258,  260,  261,  259,  262,
02296       259,  263,  260,  603,  264,  267,  259,  262,  268,  604,
02297       259,  263,  264,  267,  261,  265,  268,  261,  263,  260,
02298       262,  260,  261,  265,  262,  264,  263,  260,  266,  264,
02299       267,  265,  262,  268,  605,  263,  266,  264,  267,  606,
02300 
02301       265,  268,  269,  269,  262,  609,  266,    0,  265,  264,
02302       269,  617,  587,  266,  610,  265,  270,  271,  605,    0,
02303         0,  266,    0,  606,  270,  271,  617,  269,  269,  609,
02304       266,  587,  270,  271,    0,  269,    0,  587,  610,    0,
02305         0,  270,  271,  274,  274,  274,  274,  274,  274,  270,
02306       271,  617,    0,  611,  612,  587,  270,  271,  283,  283,
02307       283,  283,  283,  283,  284,  285,  287,  286,  288,    0,
02308       502,    0,  284,  285,  287,  286,  288,  611,  612,  287,
02309         0,  614,  285,  286,  502,  615,  302,    0,    0,  284,
02310       285,  287,  286,  288,  302,  502,  290,  284,  285,  287,
02311 
02312       286,  288,  289,  287,  290,  614,  285,  286,  502,  615,
02313       289,  302,  290,  289,  619,  289,  292,  291,  293,  302,
02314       292,  290,  291,    0,  292,  291,  293,  289,    0,  290,
02315       620,    0,  293,    0,    0,  289,  290,  289,  619,  289,
02316       303,  292,  291,  293,  294,  292,  294,  291,  303,  292,
02317       291,  293,  294,  295,  620,  295,  293,  294,  297,  296,
02318       300,  295,  296,    0,  298,  303,  297,  296,  300,  294,
02319         0,  294,  298,  303,    0,  622,  300,  294,  295,  297,
02320       295,  294,  298,  297,  296,  300,  295,  296,  299,  298,
02321       301,  297,  296,  300,  304,  304,  299,  298,  301,  622,
02322 
02323       300,  632,  304,  297,  337,    0,  298,  633,  301,  299,
02324       305,  704,  337,  299,  306,  301,  634,  644,  305,  304,
02325       304,  299,  306,  301,  654,  632,  305,  304,  655,  337,
02326       306,  633,  301,  299,    0,  305,  704,  337,    0,  306,
02327       634,  644,    0,  305,    0,    0,    0,  306,  654,  340,
02328       305,    0,  655,  340,  306,  313,  313,  340,  313,  313,
02329       313,  313,  313,  313,  313,  313,  313,  313,  325,  325,
02330       325,  325,  325,  339,  340,  343,  339,  325,  340,  344,
02331       341,  339,  340,  343,    0,  656,  343,  344,  341,    0,
02332       657,  667,  313,    0,    0,    0,    0,  341,  339,    0,
02333 
02334       343,  339,  325,    0,  344,  341,  339,    0,  343,  656,
02335       343,    0,  344,  341,  657,  667,  313,  313,  313,  330,
02336       330,  341,  330,  330,  330,  330,  330,  330,  330,  330,
02337       330,  330,  342,  345,  346,  345,  347,    0,  351,  352,
02338       342,  345,  346,  356,  347,    0,  351,  352,  356,    0,
02339       342,  356,    0,    0,  352,  347,  330,  342,  345,  346,
02340       345,  347,  351,  351,  352,  342,  345,  346,  356,  347,
02341       349,  351,  352,  356,  342,  677,  356,  349,  352,  347,
02342       330,  330,  330,  338,  338,  349,  338,  338,  338,  338,
02343       338,  338,  338,  338,  338,  338,  348,    0,    0,  677,
02344 
02345         0,  349,  349,  357,  348,  357,    0,    0,  354,    0,
02346       349,  357,  354,    0,  348,  713,  354,    0,    0,  678,
02347       338,  348,  350,  350,  350,  350,  350,  350,  357,  348,
02348       357,  353,  350,  354,  358,  358,  357,  354,  348,  353,
02349       713,  354,  358,  678,  338,  338,  338,    0,  353,    0,
02350         0,    0,  350,    0,    0,    0,  353,  350,    0,  358,
02351       358,  362,    0,  359,  353,  600,  714,  358,  600,  362,
02352         0,  359,  353,  355,  355,  359,  355,  355,  355,  355,
02353       355,  355,  355,  355,  355,  355,  362,  360,  359,  600,
02354       364,  714,  600,  364,  362,  360,  359,  360,  364,  359,
02355 
02356       365,    0,  679,  680,  365,    0,  369,  715,  365,    0,
02357       355,    0,  360,    0,  369,  364,    0,    0,  364,    0,
02358       360,  360,    0,  364,    0,  365,  679,  680,    0,  365,
02359       690,  369,  715,  365,  355,  355,  355,  363,  363,  369,
02360       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
02361       366,  367,  368,  370,  690,  370,  371,    0,  366,  367,
02362       368,  370,    0,  368,  371,    0,    0,  366,  700,  367,
02363         0,  372,    0,    0,  363,  366,  367,  368,  370,  372,
02364       370,  371,  701,  366,  367,  368,  370,  368,    0,  371,
02365       372,  366,  700,  367,  373,  377,  372,  376,  363,  363,
02366 
02367       363,  374,  373,  377,  372,  376,  701,    0,  374,    0,
02368       377,    0,  373,  702,  372,    0,  374,    0,    0,  373,
02369       377,  376,  376,  378,    0,  534,    0,  373,  377,    0,
02370       376,  378,  374,  374,  377,  602,  373,  702,  602,  534,
02371       378,  374,  375,  375,  375,  375,  375,  375,  378,  379,
02372       534,  375,  382,  379,  382,  375,  378,  379,    0,  602,
02373       382,    0,  602,  534,  378,    0,    0,    0,    0,    0,
02374         0,    0,  375,    0,  379,    0,  375,  382,  379,  382,
02375       375,    0,  379,  380,  380,  382,  380,  380,  380,  380,
02376       380,  380,  380,  380,  380,  380,  381,  383,  383,  384,
02377 
02378       385,  381,  567,  716,  381,  383,  388,  384,  385,    0,
02379       385,  384,  703,  717,  388,    0,  567,  718,    0,  719,
02380       380,  381,  383,  383,  384,  385,  381,  567,  716,  381,
02381       383,  388,  384,  385,  385,  384,  703,    0,  717,  388,
02382       567,    0,  718,  719,  380,  380,  380,  389,  389,  389,
02383       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
02384       390,  391,  392,  390,  393,  391,  394,  395,  390,  391,
02385       392,    0,  393,    0,  394,  395,    0,  394,  721,  392,
02386         0,    0,  393,    0,  389,  390,  391,  392,  390,  393,
02387       391,  394,  395,  390,  391,  392,  396,  393,  396,  394,
02388 
02389       395,  394,  721,  392,  396,  397,  393,  398,  389,  389,
02390       389,  722,  400,  397,  404,  398,  399,    0,  723,  400,
02391         0,  396,  404,  396,  399,    0,  398,  400,    0,  396,
02392       397,  404,  398,  727,  399,  722,    0,    0,  397,  404,
02393       398,  399,  723,  400,  400,  402,    0,  404,    0,  399,
02394       398,  724,  400,  402,  725,  404,  726,  727,  399,  401,
02395       401,  401,  401,  401,  401,  403,  735,  405,  401,  402,
02396       402,  405,  401,  403,    0,  405,  724,  728,  402,  725,
02397       403,  726,    0,    0,    0,    0,    0,    0,    0,  401,
02398       403,  735,  405,  401,  407,    0,  405,  401,  403,  407,
02399 
02400       405,  728,  407,    0,  403,  406,  406,  406,  406,  406,
02401       406,  406,  406,  406,  406,  406,  406,  406,  408,  407,
02402       408,  409,  409,  410,  407,  414,  408,  407,  411,  409,
02403       736,  410,    0,  414,    0,  410,  411,    0,  411,  729,
02404       732,    0,  406,  408,    0,  408,  409,  409,  410,    0,
02405       414,  408,    0,  411,  409,  736,  410,  416,  414,  410,
02406       416,  411,  411,  729,  732,  416,  406,  406,  406,  415,
02407       415,  733,  415,  415,  415,  415,  415,  415,  415,  415,
02408       415,  415,  416,  417,  418,  416,  419,  417,  420,  421,
02409       416,  417,  418,    0,  419,  733,  420,  421,    0,  420,
02410 
02411         0,  418,  423,    0,  419,    0,  415,    0,  417,  418,
02412       423,  419,  417,  420,  421,  738,  417,  418,  422,  419,
02413       422,  420,  421,  420,  739,  418,  422,  423,  419,  424,
02414       415,  415,  415,  428,  425,  423,  623,  424,    0,  623,
02415       738,  428,  425,  422,  740,  422,  426,    0,  424,  739,
02416       751,  422,  425,  426,  424,  749,  750,  428,  428,  425,
02417       623,  426,  424,  623,    0,    0,  428,  425,    0,  740,
02418         0,  431,  424,    0,  751,  431,  425,  426,  426,  431,
02419       749,  750,  752,  753,  775,    0,  426,  427,  427,  427,
02420       427,  427,  427,  427,  429,  430,  431,  434,  427,  434,
02421 
02422       431,  776,  429,  430,  431,  434,  752,  753,  775,  429,
02423       494,  494,  430,  494,  494,  494,  494,    0,  427,  429,
02424       430,    0,  434,  427,  434,  776,  433,  429,  430,  761,
02425       434,  433,  762,  429,  433,    0,  430,  432,  432,  763,
02426       432,  432,  432,  432,  432,  432,  432,  432,  432,  432,
02427       436,  433,  435,  435,  761,  437,  433,  762,  436,  433,
02428       435,    0,  436,  437,  763,  437,  645,  668,  777,  645,
02429       668,  494,  494,  494,  432,  436,    0,  435,  435,  780,
02430       437,    0,    0,  436,    0,  435,  436,    0,  437,  437,
02431       645,  668,  777,  645,  668,  800,    0,    0,  432,  432,
02432 
02433       432,  464,  464,  780,  464,  464,  464,  464,  464,  464,
02434       464,  464,  464,  464,  470,  473,  472,  474,  475,  800,
02435       470,  472,  470,  473,  472,  474,  475,    0,  476,    0,
02436       474,  801,  473,    0,    0,  472,  476,    0,  464,  470,
02437       473,  472,  474,  475,  476,  470,  472,  470,  473,  472,
02438       474,  475,  477,  476,  474,  801,  473,  478,  479,  472,
02439       477,  476,  464,  464,  464,  478,  479,    0,  476,  772,
02440       480,  482,  481,  492,    0,    0,  478,  477,  480,  482,
02441       481,  492,  478,  479,  489,  477,  802,    0,  480,  481,
02442       478,  479,  489,    0,  772,  480,  482,  481,  492,  491,
02443 
02444       478,  773,  774,  480,  482,  481,  492,  491,  489,  489,
02445       802,  493,  480,  481,  805,  493,  786,  489,  491,  493,
02446         0,    0,  787,    0,  491,    0,  773,  774,    0,    0,
02447         0,    0,  491,    0,    0,  498,  493,    0,  805,  498,
02448       493,  786,  491,  498,  493,  495,  495,  787,  495,  495,
02449       495,  495,  495,  495,  495,  495,  495,  495,  496,  497,
02450       498,  788,  499,  500,  498,  506,  496,  497,  498,  497,
02451       499,  500,    0,  506,    0,    0,  496,    0,    0,    0,
02452       500,    0,  495,  496,  497,  797,  788,  499,  500,    0,
02453       506,  496,  497,  497,  503,  499,  500,  501,  506,  503,
02454 
02455       496,  504,  503,  501,  500,  501,  495,  495,  495,  504,
02456       797,  691,    0,  503,  691,  798,    0,    0,  504,  503,
02457         0,  508,  501,  505,  503,  507,  504,  503,  501,  508,
02458       501,  505,    0,  507,  504,  691,  505,  503,  691,  510,
02459       798,  507,  504,  509,  512,  511,  508,  510,  505,  513,
02460       507,  509,  512,  511,  508,    0,  505,  513,  507,  521,
02461       505,  512,  509,  511,  510,  507,    0,  521,  509,  512,
02462       511,  523,  510,  524,  513,  799,  509,  512,  511,  523,
02463       531,  524,  513,  521,  521,  512,  509,  511,  531,    0,
02464       523,  525,  521,  811,    0,  525,  523,  812,  524,  525,
02465 
02466       799,    0,  813,    0,  523,  531,  524,    0,    0,    0,
02467         0,    0,    0,  531,  523,  530,  525,    0,  811,  530,
02468       525,    0,  812,  530,  525,  527,  527,  813,  527,  527,
02469       527,  527,  527,  527,  527,  527,  527,  527,  528,  529,
02470       530,  822,  532,    0,  530,  533,  528,  529,  530,  529,
02471       532,  533,  823,  533,    0,    0,  528,    0,    0,  532,
02472       535,    0,  527,  528,  529,  535,  822,  532,  535,    0,
02473       533,  528,  529,  529,  536,  532,  533,  823,  533,  535,
02474       528,  537,  536,  532,  538,  535,  527,  527,  527,  537,
02475       535,  536,  538,  535,  537,    0,  539,  540,    0,  536,
02476 
02477       541,  824,  542,  535,  539,  540,  537,  536,  541,  538,
02478       542,    0,  539,    0,  537,  536,  543,  538,  537,  541,
02479       544,  539,  540,  545,  543,  541,  824,  542,  544,  539,
02480       540,  545,  555,  541,  543,  542,  539,  544,  553,  556,
02481       555,  543,    0,  541,  561,  544,  553,  556,  545,  543,
02482         0,  555,  561,  544,  561,  825,  545,  555,  543,  563,
02483       837,  544,  553,  553,  556,  555,  557,  563,    0,  561,
02484       557,  553,  556,  840,  557,  555,    0,  561,  561,  825,
02485         0,    0,    0,    0,  563,  837,    0,    0,    0,  562,
02486         0,  557,  563,  562,    0,  557,  826,  562,  840,  557,
02487 
02488       559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
02489       559,  559,  559,  560,  562,  564,  569,    0,  562,  566,
02490       826,  560,  562,  564,  569,  566,    0,  566,    0,    0,
02491       827,  560,  564,  569,  568,  571,    0,  559,  560,  568,
02492       564,  569,  568,  571,  566,  830,  560,  846,  564,  569,
02493       566,  835,  566,  568,  827,  560,  564,  569,  570,  568,
02494       571,  559,  559,  559,  568,  572,  570,  568,  571,  830,
02495         0,  570,  846,  572,  573,  835,  575,  568,  574,  577,
02496         0,  572,  573,  570,  575,    0,  574,  577,    0,  836,
02497       572,  570,  576,    0,  578,  570,  577,  574,  572,  573,
02498 
02499       576,  575,  578,  574,  577,  572,  586,  573,  838,  575,
02500       576,  574,  577,  836,  586,  589,  588,  576,  590,  578,
02501       577,  574,  590,  589,  588,  576,  590,  578,    0,    0,
02502       586,  586,  838,    0,  576,  588,  593,  596,  595,  586,
02503       589,  588,  595,  590,  593,  596,  595,  590,  589,  588,
02504       594,  590,  591,  591,  593,  591,  591,  591,  594,  588,
02505       594,  593,  596,  595,  597,  626,  621,  595,  624,  593,
02506       596,  595,  597,  626,  621,  594,  624,  630,  593,  621,
02507       839,  597,  624,  594,  594,  630,    0,  847,  626,  597,
02508       626,  621,    0,  624,  848,    0,    0,  597,  626,  621,
02509 
02510         0,  624,  630,  621,  839,  597,  624,    0,    0,  849,
02511       630,  847,  626,  591,  591,  591,  592,  592,  848,  592,
02512       592,  592,  592,  592,  592,  592,  592,  592,  592,  625,
02513       627,  636,  628,  849,    0,  631,    0,  625,  627,  636,
02514       628,    0,  625,  631,    0,  625,  628,  851,  627,  636,
02515       629,    0,    0,  592,  625,  627,  636,  628,  629,  631,
02516       631,  629,  625,  627,  636,  628,  625,  855,  631,  625,
02517       628,  851,  627,  636,  637,  629,  638,  592,  592,  592,
02518       850,  639,  637,  629,  638,  629,    0,  637,  639,  640,
02519       641,  855,  640,  852,    0,    0,  639,  640,  641,  637,
02520 
02521       853,  638,    0,  641,  642,  850,  854,  637,  857,  638,
02522       856,  637,  642,  639,  640,  641,  646,  640,  852,  642,
02523       643,  639,  640,  641,  646,  853,  647,  641,  643,  642,
02524       646,  854,  857,  643,  647,  856,  858,  642,    0,  647,
02525       649,  646,  647,  642,  648,  643,  859,  650,  649,  646,
02526       869,  647,  648,  643,  646,  650,  652,  643,  649,  647,
02527       858,  650,  653,  647,  652,  649,  647,  648,  651,  648,
02528       653,  859,  650,  649,  869,  660,  651,  648,    0,  651,
02529       650,  652,  649,  660,  659,  650,  653,  653,  660,  652,
02530       661,  648,  659,  651,    0,  653,  675,    0,  661,  662,
02531 
02532       660,  651,  659,  651,  675,    0,  662,  871,  660,  659,
02533       663,  664,  660,  663,  662,  661,  870,  659,  663,  664,
02534       666,  675,  665,  661,  664,    0,  659,  872,  666,  675,
02535       665,  662,  871,  666,  877,  663,  664,  665,  663,  662,
02536       870,  671,  669,  663,  664,  666,  670,  665,  664,  671,
02537       669,  872,  672,  666,  670,  665,  669,  666,  877,  670,
02538       672,  665,  670,  878,  671,  676,  671,  669,  673,    0,
02539       672,  670,    0,  676,  671,  669,  673,  672,  873,  670,
02540       669,    0,  673,  670,  674,  672,  670,  878,  671,  676,
02541       676,  684,  674,  673,  672,  674,  682,  683,  676,  684,
02542 
02543       685,  673,    0,  873,  682,  683,  673,  685,    0,  674,
02544       683,    0,  879,    0,  682,  685,  684,  674,  687,  674,
02545       686,  682,  683,  686,  684,  692,  687,  688,  686,  682,
02546       683,  687,  685,  692,  683,  688,  689,  879,  682,  692,
02547       685,    0,  688,  687,  689,  686,  693,    0,  686,  689,
02548       692,  687,  688,  686,  693,  687,  695,  694,  692,  693,
02549       688,  689,  693,  692,  695,  694,  688,  698,    0,  689,
02550       696,  693,  889,  689,  695,  698,    0,  697,  696,  693,
02551       694,  695,  694,  693,  696,  697,  693,    0,  697,  695,
02552       694,  699,  698,  705,    0,  696,  889,  707,  695,  699,
02553 
02554       698,  705,  697,  696,  694,  707,  706,    0,  696,    0,
02555       697,  705,  697,  708,  706,  699,  699,    0,  705,  706,
02556       708,    0,  707,  890,  699,  892,  705,  891,  708,  709,
02557       707,  706,  709,  710,  711,  705,  737,  709,    0,  706,
02558       893,  710,  711,  706,  737,  708,  710,  890,  899,  711,
02559       892,  891,  900,  708,  709,    0,    0,  709,  710,  711,
02560         0,  737,  709,  741,  893,  741,  710,  711,    0,  737,
02561       710,  741,  899,  711,  720,  720,  900,  720,  720,  720,
02562       720,  720,  720,  720,  720,  720,  720,  742,  741,  894,
02563       741,  743,  742,  744,  754,  742,  741,  743,  746,  743,
02564 
02565       895,  744,  754,  901,    0,  744,  746,  755,    0,  746,
02566       911,  720,  742,    0,  894,  755,  743,  742,  744,  754,
02567       742,    0,  743,  746,  743,  895,  744,  754,  901,  744,
02568         0,  746,  755,  746,  911,  720,  720,  720,  745,  745,
02569       755,  745,  745,  745,  745,  745,  745,  745,  745,  745,
02570       745,  747,  748,  756,  757,  758,    0,    0,  912,  747,
02571       748,  756,  757,  758,    0,  748,  756,    0,  913,  747,
02572       914,    0,    0,  759,    0,  745,  747,  748,  756,  757,
02573       758,  759,  912,  760,  747,  748,  756,  757,  758,  748,
02574       756,  760,  913,  747,  764,  914,  764,  766,  759,  745,
02575 
02576       745,  745,  764,  766,  765,  766,  759,  769,  760,  765,
02577         0,  916,  765,    0,  917,  769,  760,  915,  769,  764,
02578       921,  764,  766,  767,    0,  771,  923,  764,  766,  765,
02579       766,  767,  769,  771,  765,  767,  916,  765,  771,  917,
02580       769,  915,  769,    0,  921,    0,    0,    0,  767,  778,
02581       771,  923,    0,    0,    0,  936,  767,  778,  771,  767,
02582       768,  768,  771,  768,  768,  768,  768,  768,  768,  768,
02583       768,  768,  768,  770,  778,  779,  781,  782,  783,  784,
02584       936,  770,  778,  779,  781,  782,  783,  784,    0,  781,
02585       922,  770,  933,    0,  934,    0,  935,  768,  770,  785,
02586 
02587       779,  781,  782,  783,  784,    0,  770,  785,  779,  781,
02588       782,  783,  784,  781,  922,  770,  933,  789,  934,  789,
02589       935,  768,  768,  768,  785,  789,  790,  791,  792,  803,
02590       804,  790,  785,  791,  790,  791,  792,  803,  804,    0,
02591       792,    0,  789,    0,  789,    0,    0,    0,    0,    0,
02592       789,  790,  791,  792,  803,  804,  790,  937,  791,  790,
02593       791,  792,  803,  804,  792,  793,  793,  793,  793,  793,
02594       793,  793,  793,  793,  793,  793,  793,  793,  794,  795,
02595       938,  937,  796,  806,  807,  808,  794,  795,    0,  794,
02596       796,  806,  807,  808,    0,  796,  806,  795,  809,  939,
02597 
02598         0,    0,  793,  794,  795,  938,  809,  796,  806,  807,
02599       808,  794,  795,  794,  810,  796,  806,  807,  808,  796,
02600       806,  795,  810,  809,  939,  828,  793,  793,  793,  815,
02601       814,  809,  814,  828,  815,  816,  817,  815,  814,  810,
02602       943,  816,    0,  816,  817,  944,  947,  810,  817,    0,
02603       828,    0,    0,    0,  815,  814,    0,  814,  828,  815,
02604       816,  817,  815,  814,  943,  945,  816,  829,  816,  817,
02605       944,  947,  817,  818,  818,  829,  818,  818,  818,  818,
02606       818,  818,  818,  818,  818,  818,  819,  820,  949,  945,
02607       821,  831,  829,  832,  819,  820,    0,  819,  821,  831,
02608 
02609       829,  832,    0,  821,  831,  820,  833,    0,  946,    0,
02610       818,  819,  820,  949,  833,  821,  831,  834,  832,  819,
02611       820,  819,  952,  821,  831,  834,  832,  821,  831,  820,
02612       860,  833,  946,  842,  818,  818,  818,  842,  860,  833,
02613       957,  843,  834,  948,  863,  843,  861,  952,    0,  860,
02614       834,  842,  863,  862,  861,  860,  866,  862,  842,  843,
02615       861,  862,  842,  860,  866,  957,  843,  948,  950,  863,
02616       843,  861,  864,  860,  953,  842,  864,  863,  862,  861,
02617       867,  866,  862,  843,  861,  956,  862,  959,  867,  866,
02618       864,    0,  950,  961,  868,    0,  958,  864,  953,  880,
02619 
02620       868,  864,  868,  960,  874,  867,    0,  880,    0,  956,
02621       874,  959,  874,  867,  864,  865,  865,  961,  880,  868,
02622       865,  958,  875,  865,  880,  868,  962,  868,  960,  874,
02623       875,  883,  880,  875,  865,  874,  876,  874,  876,  883,
02624       865,  865,  880,    0,  876,  865,  881,  875,  865,    0,
02625       962,  965,    0,  966,  881,  875,  883,  875,  865,  968,
02626       881,  876,  882,  876,  883,  886,  882,  887,  884,  876,
02627       882,  881,  884,  886,  888,  887,  965,  966,    0,  881,
02628       888,  967,  888,  968,  881,    0,  884,  882,  972,    0,
02629       886,  882,  887,  884,  973,  882,  896,  884,  886,  888,
02630 
02631       887,  898,  896,  898,  896,  888,  967,  888,  980,  898,
02632       884,  885,  885,  972,  897,    0,  885,    0,  973,  885,
02633         0,  896,  897,  902,    0,  897,  898,  896,  898,  896,
02634       885,  902,  903,  980,  898,  905,  885,  885,  979,  897,
02635       903,  885,  902,  905,  885,  981,  903,  897,  902,  897,
02636       908,  904,    0,  909,  885,  904,  902,  903,  908,  904,
02637       905,  909,  979,  906,  927,  903,  902,  906,  905,  981,
02638       903,  910,  927,    0,  982,  908,  904,  910,  909,  910,
02639       904,  906,    0,  908,  904,  918,  909,  919,  906,  927,
02640         0,  918,  906,  918,    0,  919,  910,  927,  919,  982,
02641 
02642       983,  920,  910,  920,  910,  906,  907,  907,  988,  920,
02643       918,  907,  919,  987,  907,  925,  918,    0,  918,  924,
02644       919,    0,  919,  925,  983,  907,  920,  924,  920,  925,
02645       989,  907,  907,  988,  920,  930,  907,  987,  924,  907,
02646       925,  928,  926,  930,  924,  928,  926,  931,  925,  907,
02647       926,  993,  924,  925,  989,  931,    0,  932,    0,  928,
02648       930,    0,  924,  932,    0,  932,  928,  926,  930,    0,
02649       928,  926,  931,  940,    0,  926,  993,  994,    0,  940,
02650       931,  940,  932,  928,  929,  929,  941,    0,  932,  929,
02651       932,  942,  929,  942,  941,    0,    0,  941,  940,  942,
02652 
02653         0,  994,  951,  929,  940,  951,  940,    0, 1000,  929,
02654       929,  941,  954,    0,  929,  954,  942,  929,  942,  941,
02655       969,  941,  971,  970,  942,  970,  951,  929,  969,  951,
02656       971,  970, 1000,    0,    0,  971,  954,  969,  974,  954,
02657         0,  974,    0,  975,  976,  969,  978,  971,  970,    0,
02658       970,  975,  976,  969,  978,  971,  970,  995,  976,  971,
02659       995,  969,  974,    0,  984,  974,  985,  977,  975,  976,
02660       978,  978,  984, 1001,  985,  977,  975,  976, 1002,  978,
02661       977,  995,  976,  977,  995,  990,  986,  996,  992,  984,
02662       986,  985,  977,  990,  986,  996,  992,  984, 1001,  985,
02663 
02664       977,  992,  990, 1002,  977, 1004,  991,  977,  991,  997,
02665       990,  986,  996,  992,  991,  986,  998,  997,  990,  986,
02666       996,  992, 1003,  997,  998,  992,  990,  999,    0,  998,
02667      1004,  991,  998,  991,  997,  999,    0, 1005, 1006,  991,
02668      1007,  998,  997, 1010, 1011, 1016, 1003,  997, 1007,  998,
02669      1008,  999,  999,  998, 1012, 1009,  998, 1024, 1008, 1009,
02670       999, 1005, 1006, 1009, 1013, 1007, 1014, 1010, 1014, 1011,
02671      1016, 1017, 1013, 1007, 1014, 1008, 1018, 1015, 1012, 1018,
02672      1009, 1013, 1024, 1008, 1009, 1015, 1019,    0, 1009, 1013,
02673      1015, 1014, 1025, 1014, 1019, 1017, 1023, 1013, 1020, 1014,
02674 
02675      1018, 1022, 1015, 1018, 1026, 1013, 1020, 1027, 1021, 1022,
02676      1015, 1019, 1020, 1028, 1015, 1029, 1021, 1025, 1034, 1019,
02677      1023, 1021, 1030, 1020, 1021, 1022, 1022, 1031, 1026, 1033,
02678      1030, 1020, 1027, 1021, 1022, 1031, 1020, 1028, 1032, 1029,
02679      1035, 1021, 1032, 1034, 1039, 1021, 1032, 1030, 1021, 1036,
02680         0, 1040, 1031, 1033, 1037, 1030, 1037, 1036,    0, 1047,
02681      1031, 1048, 1037, 1032, 1035, 1041, 1036, 1032, 1041, 1039,
02682      1038, 1032, 1042,    0, 1036, 1040, 1046, 1043, 1038, 1037,
02683      1042, 1037, 1036, 1038, 1047, 1043, 1048, 1037, 1044, 1041,
02684      1036, 1043, 1041, 1049, 1050, 1038, 1044, 1042, 1045,    0,
02685 
02686      1046, 1044, 1043, 1038, 1044, 1042, 1045, 1038, 1051, 1052,
02687      1043, 1056, 1053, 1044, 1057, 1043, 1054, 1049, 1058, 1050,
02688      1053, 1044, 1045, 1045, 1054, 1044, 1055, 1059, 1044, 1060,
02689      1055, 1045, 1051, 1052, 1055, 1062, 1056, 1053, 1057, 1061,
02690      1063, 1054, 1058, 1064, 1065, 1053, 1066, 1067, 1068, 1054,
02691      1069, 1055, 1059, 1060, 1070, 1055, 1071, 1072, 1073, 1055,
02692      1062, 1074, 1075, 1061, 1076, 1063, 1077, 1079, 1064, 1065,
02693      1080, 1066, 1067, 1068, 1081, 1069, 1083, 1085, 1070, 1086,
02694      1071, 1072, 1073, 1087, 1083, 1082, 1074, 1075, 1076, 1082,
02695         0, 1077, 1079, 1082, 1080, 1083, 1088, 1084, 1081,    0,
02696 
02697         0, 1083, 1085, 1096, 1086, 1084,    0,    0, 1087, 1083,
02698      1082, 1097, 1091,    0, 1082, 1084, 1093, 1091, 1082, 1083,
02699      1091, 1088, 1084, 1089, 1090, 1089, 1090, 1092, 1096, 1094,
02700      1084, 1089, 1090, 1092, 1100, 1092, 1097, 1091, 1095, 1084,
02701      1093, 1098, 1091, 1101, 1102, 1091, 1099, 1104, 1089, 1090,
02702      1089, 1090, 1092, 1094, 1099, 1104, 1089, 1090, 1092, 1100,
02703      1092, 1106, 1095, 1107, 1108, 1098, 1104, 1101, 1102, 1103,
02704      1099, 1099, 1104, 1103, 1105, 1109, 1110, 1103, 1110, 1099,
02705      1104, 1114, 1105, 1118, 1110, 1111, 1106, 1111, 1107, 1108,
02706      1104, 1115, 1105, 1111, 1103,    0, 1116, 1119, 1103, 1105,
02707 
02708      1109, 1110, 1103, 1110, 1117, 1114, 1112, 1105, 1118, 1110,
02709      1111, 1112, 1111, 1113, 1112, 1115, 1105, 1120, 1111, 1113,
02710      1116, 1113, 1119, 1121,    0, 1122, 1123,    0, 1117, 1124,
02711      1125, 1112, 1129, 1122, 1130,    0, 1112, 1131, 1113, 1112,
02712      1132, 1120,    0,    0, 1113,    0, 1113, 1127, 1121, 1122,
02713      1122, 1123, 1126, 1124, 1125, 1127, 1126, 1129, 1122, 1130,
02714      1126, 1128, 1131, 1137, 1138, 1132, 1127, 1136, 1133, 1128,
02715      1133, 1141, 1127, 1136,    0, 1136, 1133, 1126, 1139, 1128,
02716      1127, 1126, 1140, 1142,    0, 1126, 1128, 1137, 1138, 1134,
02717      1127, 1134, 1136, 1133, 1128, 1133, 1141, 1134, 1136, 1135,
02718 
02719      1136, 1133, 1139, 1128, 1135, 1144, 1140, 1135, 1142, 1143,
02720      1145, 1146,    0, 1147, 1134, 1148, 1134, 1149, 1145, 1150,
02721      1152, 1149, 1134, 1151, 1135, 1149, 1153, 1150, 1154, 1135,
02722      1144, 1151, 1135, 1143, 1145, 1145, 1146, 1147, 1150, 1148,
02723         0, 1151, 1149, 1145, 1150, 1152, 1149, 1155, 1151, 1160,
02724      1149, 1153, 1150, 1154, 1161, 1156, 1151, 1156, 1157, 1158,
02725      1157, 1164, 1150, 1156, 1158, 1151, 1157, 1158, 1159,    0,
02726      1162, 1163, 1155, 1160, 1159, 1165, 1159, 1167, 1161, 1166,
02727      1156, 1169, 1156, 1157, 1158, 1157, 1164, 1170, 1156, 1158,
02728      1168, 1157, 1158, 1159, 1162, 1163, 1172, 1178, 1168, 1159,
02729 
02730      1165, 1159, 1167, 1166, 1173, 1175, 1169, 1176, 1177, 1179,
02731      1180, 1170, 1181, 1182, 1168, 1168, 1183, 1184, 1187,    0,
02732      1188, 1172, 1178, 1168, 1190, 1191, 1192, 1197, 1173, 1175,
02733      1193, 1176, 1177, 1179, 1180, 1197, 1181, 1198, 1182, 1195,
02734      1183, 1184, 1195, 1187, 1188, 1196, 1201, 1195, 1190, 1199,
02735      1191, 1192, 1197, 1196, 1193, 1200,    0, 1203, 1202, 1209,
02736      1197, 1198, 1196, 1206, 1195, 1203, 1202, 1195, 1202, 1207,
02737      1196, 1201, 1195, 1199, 1210, 1214, 1203, 1205, 1196, 1200,
02738      1204, 1205, 1203, 1202, 1209, 1205, 1196, 1206, 1204, 1212,
02739      1203, 1202, 1202, 1207, 1204, 1213,    0, 1219, 1210, 1214,
02740 
02741      1203, 1216, 1205, 1218, 1216, 1204, 1205, 1217, 1222, 1216,
02742      1205, 1218,    0, 1204, 1212, 1217,    0, 1220, 1204, 1221,
02743      1213, 1219,    0, 1227, 1217,    0, 1216, 1223, 1218, 1216,
02744      1224, 1225, 1217, 1222, 1216, 1223, 1218, 1223, 1224, 1225,
02745      1217, 1220, 1226, 1221, 1228, 1225, 1226, 1227, 1217, 1224,
02746      1226, 1231, 1223, 1232, 1234, 1224, 1225, 1235, 1236,    0,
02747      1223, 1223, 1237, 1224, 1225, 1245, 1241, 1226, 1228, 1225,
02748      1242, 1226,    0, 1224, 1241, 1226, 1231, 1232, 1234, 1240,
02749         0, 1239, 1235, 1236, 1239,    0, 1237, 1240,    0, 1239,
02750      1245, 1241, 1243, 1244, 1242,    0, 1240, 1246, 1254, 1241,
02751 
02752      1247,    0, 1250,    0, 1240, 1246, 1239, 1246, 1247, 1239,
02753      1251, 1255, 1240, 1248, 1239, 1257, 1243, 1244, 1260, 1247,
02754      1240, 1248, 1246, 1254, 1249, 1247, 1250, 1248, 1249, 1258,
02755      1246, 1246, 1249, 1247, 1251, 1255, 1259, 1262, 1248, 1257,
02756      1262, 1268, 1260, 1247, 1264, 1262, 1248, 1263, 1270, 1249,
02757      1265, 1248, 1264, 1249, 1258, 1263, 1270, 1249, 1266, 1267,
02758      1273, 1259, 1262, 1274, 1263, 1262, 1268, 1270, 1269, 1264,
02759      1262, 1271, 1263, 1270, 1265, 1277, 1269, 1264, 1269, 1271,
02760      1263, 1270, 1266, 1267, 1273, 1271, 1272, 1274, 1263, 1278,
02761      1272, 1270, 1280, 1269, 1272, 1281, 1271, 1283, 1285, 1286,
02762 
02763      1277, 1269, 1269, 1287, 1271, 1288,    0, 1289, 1290, 1271,
02764      1291, 1272, 1292, 1278, 1293, 1272, 1280, 1294, 1297, 1272,
02765      1281, 1295, 1283, 1285, 1286, 1299, 1301, 1287, 1302, 1304,
02766      1288, 1289, 1305, 1290, 1291, 1306, 1302, 1292, 1293, 1307,
02767      1303, 1308, 1294, 1297, 1303, 1295, 1312, 1308, 1303, 1308,
02768      1299, 1301,    0, 1302, 1304, 1313, 1305, 1315, 1316, 1309,
02769      1306, 1302, 1310, 1307, 1310, 1303, 1308, 1309, 1318, 1303,
02770      1310, 1312, 1308, 1303, 1308, 1322, 1309, 1311, 1319, 1313,
02771      1324, 1321, 1315, 1316, 1309, 1311, 1319, 1310, 1323, 1310,
02772      1311,    0, 1309, 1318, 1330, 1310,    0, 1320,    0, 1322,
02773 
02774      1309, 1320, 1311, 1319, 1324, 1320, 1321, 1329, 1326, 1325,
02775      1311, 1319, 1332, 1323, 1311, 1325, 1326, 1325, 1330, 1327,
02776      1334, 1327, 1320, 1328,    0, 1326, 1320, 1327, 1336,    0,
02777      1320, 1328, 1329, 1326, 1325, 1340, 1328, 1332, 1339, 1337,
02778      1325, 1326, 1325, 1341, 1327, 1334, 1327, 1337, 1328, 1326,
02779      1338,    0, 1327, 1336, 1338,    0, 1328, 1342, 1338, 1340,
02780      1328, 1343, 1347, 1339, 1337, 1344, 1350, 1343, 1341, 1343,
02781         0, 1348, 1337, 1344, 1352, 1338, 1345, 1354, 1345, 1338,
02782      1346, 1342, 1344, 1338, 1345, 1357, 1343, 1347, 1346, 1355,
02783      1344, 1350, 1343, 1346, 1343, 1348, 1356, 1355, 1344, 1352,
02784 
02785      1356, 1345, 1354, 1345, 1356, 1346, 1344, 1358, 1359, 1345,
02786      1357, 1360, 1361, 1346, 1355, 1362, 1365, 1346, 1361,    0,
02787      1361, 1356, 1355, 1362,    0, 1356, 1363, 1368, 1363, 1356,
02788      1366, 1358, 1362, 1359, 1363, 1360, 1364, 1361, 1370, 1371,
02789      1362, 1365, 1372, 1361, 1364, 1361, 1373, 1374, 1362, 1364,
02790      1375, 1363, 1368, 1363, 1366, 1376, 1362, 1377, 1378, 1363,
02791      1379, 1364, 1380, 1370, 1371, 1381, 1385, 1372, 1382, 1364,
02792      1373, 1383, 1374, 1364, 1375, 1384, 1387, 1386, 1388, 1376,
02793      1386, 1377, 1389, 1378, 1379, 1386, 1380, 1390, 1391, 1392,
02794      1381, 1385, 1382, 1392, 1395, 1383, 1391, 1392,    0, 1384,
02795 
02796      1387, 1393, 1386, 1388, 1391, 1386, 1389, 1394, 1399, 1393,
02797      1386, 1390, 1396, 1391, 1392, 1394,    0, 1397, 1392, 1395,
02798      1393, 1391, 1392, 1398, 1401, 1394, 1393, 1400, 1391, 1402,
02799      1400, 1409, 1394, 1399, 1393, 1400, 1396, 1403, 1404,    0,
02800      1394, 1397, 1405,    0, 1393, 1410,    0, 1398, 1401, 1394,
02801      1405, 1407, 1400, 1411, 1402, 1400, 1409,    0, 1405, 1407,
02802      1400, 1403, 1404, 1408, 1406,    0, 1412, 1405, 1406, 1410,
02803      1407, 1408, 1406, 1413, 1416, 1405, 1407, 1411, 1415, 1417,
02804      1418, 1408, 1405, 1414, 1407,    0, 1414,    0, 1408, 1406,
02805      1412, 1414,    0, 1406, 1407, 1424, 1408, 1406, 1413, 1416,
02806 
02807      1423, 1419, 1415, 1417, 1418, 1408, 1420,    0, 1414, 1419,
02808      1420, 1414, 1422, 1421, 1420, 1427, 1414, 1419, 1425, 1424,
02809      1422, 1421,    0, 1426, 1429, 1423, 1419, 1431, 1430,    0,
02810      1422, 1420, 1421,    0, 1419, 1420, 1432, 1422, 1421, 1420,
02811      1427, 1419, 1425, 1437,    0, 1422, 1421, 1426, 1429, 1428,
02812      1433, 1431, 1428, 1430, 1422, 1434, 1421, 1428, 1433, 1434,
02813      1432, 1436, 1435, 1434,    0, 1438, 1433, 1439, 1437, 1436,
02814      1435,    0, 1440, 1443, 1428, 1433, 1444, 1428, 1445, 1436,
02815      1434, 1435, 1428, 1433, 1434, 1447, 1436, 1435, 1434, 1438,
02816      1433, 1439, 1448, 1451, 1436, 1435, 1440, 1443, 1449, 1456,
02817 
02818      1458, 1444, 1445, 1436, 1457, 1435, 1459, 1456, 1462, 1447,
02819      1465, 1462, 1461,    0, 1472, 1464, 1462, 1448, 1451, 1470,
02820      1461, 1463, 1449, 1464, 1456, 1458, 1461, 1470, 1457, 1463,
02821      1459, 1471, 1456, 1462, 1473, 1465, 1462, 1461, 1463, 1472,
02822      1464, 1462, 1485, 1475, 1470, 1461, 1463, 1479, 1464, 1486,
02823      1461, 1475, 1470, 1487, 1463, 1471,    0, 1475, 1473, 1478,
02824         0, 1476, 1463, 1477, 1476, 1484, 1485, 1478, 1475, 1476,
02825      1491, 1477, 1479, 1484, 1486, 1493, 1475, 1487, 1491,    0,
02826      1477, 1475, 1499, 1489, 1478, 1492, 1476, 1491, 1477, 1476,
02827      1484, 1489, 1478, 1492, 1476, 1491, 1477, 1489, 1484, 1490,
02828 
02829      1493, 1498, 1490, 1491, 1477, 1500, 1499, 1490, 1489, 1498,
02830      1492, 1491, 1501, 1507, 1503,    0, 1489, 1504, 1492, 1511,
02831      1504, 1489, 1503, 1505, 1490, 1504, 1498, 1490, 1503, 1506,
02832      1500, 1505, 1490, 1513, 1498, 1514, 1501, 1506, 1507, 1503,
02833      1505, 1516, 1504, 1511, 1517, 1504, 1518, 1503, 1505, 1519,
02834      1504, 1521, 1503, 1522, 1506, 1523, 1505, 1525, 1513, 1514,
02835      1526, 1522, 1506, 1523, 1505, 1527, 1516, 1529, 1533, 1517,
02836      1518,    0, 1522, 1519, 1534, 1530, 1521, 1524, 1522, 1523,
02837      1523, 1524, 1525, 1530, 1526, 1524, 1522, 1531, 1523, 1527,
02838      1535, 1537, 1529, 1533, 1530, 1531, 1522, 1532, 1534, 1539,
02839 
02840      1530, 1532, 1524, 1542,    0, 1532, 1524, 1539, 1530, 1538,
02841      1524, 1531, 1531, 1541, 1535, 1543, 1537, 1538, 1530, 1545,
02842      1531, 1540, 1532, 1539, 1539, 1540, 1532, 1542, 1538, 1540,
02843      1532, 1550, 1539, 1547, 1538, 1549, 1552, 1546, 1541, 1543,
02844      1551, 1547, 1538, 1548, 1545, 1546, 1540, 1548, 1553, 1555,
02845      1540, 1548, 1538, 1554, 1540, 1550, 1546, 1547, 1547, 1556,
02846      1549, 1552, 1546, 1557, 1551, 1558, 1547, 1559, 1548, 1560,
02847      1546, 1563, 1548, 1553, 1555, 1561, 1548, 1554, 1562, 1566,
02848      1546, 1562, 1567, 1561, 1556, 1564, 1562, 1557, 1561, 1558,
02849      1565, 1571, 1559, 1570, 1560, 1572, 1563, 1568, 1573, 1574,
02850 
02851      1561, 1577,    0, 1562, 1566, 1568, 1562, 1567, 1561, 1564,
02852      1568, 1562, 1561, 1569, 1565, 1571, 1569, 1580, 1570, 1572,
02853      1575, 1569, 1568, 1573, 1574, 1578, 1577, 1579, 1575, 1581,
02854      1568, 1584,    0, 1575, 1568, 1582, 1576, 1586, 1569, 1576,
02855      1589, 1569, 1580, 1582, 1576, 1575, 1569, 1585, 1582, 1578,
02856      1587, 1579, 1591, 1575, 1581, 1583, 1584, 1575, 1583, 1593,
02857      1582, 1576, 1586, 1583, 1576, 1589, 1592, 1594, 1582, 1576,
02858      1596, 1585, 1582, 1596, 1587, 1598, 1591, 1597, 1596, 1600,
02859      1583, 1599, 1601, 1583, 1593, 1597, 1603, 1607, 1583, 1603,
02860      1592, 1594, 1604,    0, 1603, 1596, 1605, 1606, 1596, 1598,
02861 
02862      1604, 1611, 1597, 1596, 1600, 1599, 1601, 1608, 1612, 1611,
02863      1597, 1603, 1607, 1613, 1603, 1610, 1614, 1604, 1610, 1603,
02864      1605, 1606, 1615, 1610, 1622, 1604, 1611, 1617, 1618, 1627,
02865      1617, 1608, 1612, 1619, 1611, 1617, 1618, 1613, 1620, 1625,
02866      1610, 1614, 1628, 1610, 1630, 1632, 1615, 1635, 1610, 1622,
02867      1628, 1633, 1617, 1618, 1627, 1617, 1637, 1619, 1638, 1633,
02868      1617, 1618, 1620, 1625, 1640, 1642, 1638, 1628, 1630, 1643,
02869      1632, 1635, 1645, 1646, 1647, 1628, 1633, 1643, 1648, 1649,
02870      1650, 1637, 1651, 1638, 1633, 1652, 1653, 1654, 1640, 1655,
02871      1642, 1638, 1656, 1658, 1643, 1660, 1645, 1662, 1646, 1647,
02872 
02873      1664, 1666, 1643, 1648, 1649, 1650, 1667, 1651, 1668, 1669,
02874      1652, 1653, 1654, 1670, 1655, 1671, 1656, 1658, 1672, 1660,
02875      1673, 1662, 1674, 1675, 1664, 1676, 1666, 1677, 1678, 1679,
02876      1680, 1667,    0, 1668, 1669,    0,    0,    0, 1670, 1671,
02877         0,    0, 1672,    0, 1673,    0, 1674, 1675,    0,    0,
02878      1676,    0, 1677, 1678, 1679, 1680, 1687, 1687, 1687, 1687,
02879      1687, 1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688,
02880      1688, 1688, 1688, 1688, 1689, 1689, 1689,    0, 1689, 1689,
02881      1689, 1689, 1689, 1690, 1690, 1691, 1691,    0, 1691, 1691,
02882      1691, 1691, 1691, 1691, 1692, 1692, 1692, 1692, 1693, 1693,
02883 
02884      1693, 1693, 1694, 1694,    0, 1694, 1694, 1694, 1694, 1694,
02885      1694, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695,
02886      1696, 1696,    0, 1696, 1696, 1696, 1696, 1696, 1696, 1697,
02887      1697,    0, 1697, 1697, 1697, 1697, 1697, 1697, 1698,    0,
02888      1698, 1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699,
02889      1699, 1699, 1699, 1699, 1699, 1699, 1700,    0, 1700, 1700,
02890      1700, 1700, 1700, 1700, 1700, 1701, 1701, 1701, 1701, 1701,
02891      1701, 1701, 1701, 1701, 1702, 1702, 1703, 1703, 1703, 1703,
02892      1703, 1704, 1704, 1704, 1704, 1704, 1705, 1705, 1705, 1705,
02893      1705, 1705, 1705, 1705, 1705, 1706, 1706,    0, 1706, 1706,
02894 
02895      1706, 1706, 1706, 1706, 1707, 1707,    0, 1707, 1707, 1707,
02896      1707, 1707, 1707, 1708, 1708,    0, 1708, 1708, 1708, 1708,
02897      1708, 1708, 1709, 1709,    0, 1709, 1709, 1709, 1709, 1709,
02898      1709, 1710, 1710,    0, 1710, 1710, 1710, 1710, 1710, 1710,
02899      1711, 1711,    0, 1711, 1711, 1711, 1711, 1711, 1711, 1712,
02900      1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1713, 1713,
02901      1713, 1713, 1713, 1713, 1713, 1713, 1713, 1714, 1714,    0,
02902      1714, 1714, 1714, 1714, 1714, 1714, 1715, 1715,    0, 1715,
02903      1715, 1715, 1715, 1715, 1715, 1716, 1716,    0, 1716, 1716,
02904      1716, 1716, 1716, 1716, 1717, 1717,    0, 1717, 1717, 1717,
02905 
02906      1717, 1717, 1717, 1718, 1718,    0, 1718, 1718, 1718, 1718,
02907      1718, 1718, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
02908      1719, 1720, 1720,    0, 1720, 1720, 1720, 1720, 1720, 1720,
02909      1721, 1721,    0, 1721, 1721, 1721, 1721, 1721, 1721, 1722,
02910      1722,    0, 1722, 1722, 1722, 1722, 1722, 1722, 1723, 1723,
02911         0, 1723, 1723, 1723, 1723, 1723, 1723, 1724, 1724, 1724,
02912      1724, 1724, 1724, 1724, 1724, 1724, 1725, 1725,    0, 1725,
02913      1725, 1725, 1725, 1725, 1725, 1686, 1686, 1686, 1686, 1686,
02914      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02915      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02916 
02917      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02918      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02919      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02920      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686
02921     } ;
02922 
02923 extern int yy_flex_debug;
02924 int yy_flex_debug = 0;
02925 
02926 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
02927 static char *yy_full_match;
02928 static int yy_lp;
02929 static int yy_looking_for_trail_begin = 0;
02930 static int yy_full_lp;
02931 static int *yy_full_state;
02932 #define YY_TRAILING_MASK 0x2000
02933 #define YY_TRAILING_HEAD_MASK 0x4000
02934 #define REJECT \
02935 { \
02936 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
02937 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
02938 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
02939 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
02940 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
02941 ++(yy_lp); \
02942 goto find_rule; \
02943 }
02944 
02945 #define yymore() yymore_used_but_not_detected
02946 #define YY_MORE_ADJ 0
02947 #define YY_RESTORE_YY_MORE_OFFSET
02948 char *yytext;
02949 #line 1 "src/cfgparse.l"
02950 #define YY_NO_INPUT 1
02951 #line 7 "src/cfgparse.l"
02952 /*
02953  * vim:ts=8:expandtab
02954  *
02955  */
02956 #include <stdio.h>
02957 #include <string.h>
02958 #include "cfgparse.tab.h"
02959 #include <xcb/xcb.h>
02960 
02961 #include "data.h"
02962 #include "config.h"
02963 #include "log.h"
02964 #include "util.h"
02965 
02966 int yycolumn = 1;
02967 
02968 #define YY_DECL int yylex (struct context *context)
02969 
02970 #define YY_USER_ACTION { \
02971         context->first_column = yycolumn; \
02972         context->last_column = yycolumn+yyleng-1; \
02973         yycolumn += yyleng; \
02974 }
02975 
02976 
02977 
02978 
02979 
02980 
02981 
02982 
02983 
02984 
02985 
02986 #line 2987 "src/cfgparse.yy.c"
02987 
02988 #define INITIAL 0
02989 #define BIND_COND 1
02990 #define BINDSYM_COND 2
02991 #define BIND_AWS_COND 3
02992 #define BINDSYM_AWS_COND 4
02993 #define BIND_A2WS_COND 5
02994 #define ASSIGN_COND 6
02995 #define COLOR_COND 7
02996 #define OUTPUT_COND 8
02997 #define OUTPUT_AWS_COND 9
02998 #define BUFFER_LINE 10
02999 
03000 #ifndef YY_NO_UNISTD_H
03001 /* Special case for "unistd.h", since it is non-ANSI. We include it way
03002  * down here because we want the user's section 1 to have been scanned first.
03003  * The user has a chance to override it with an option.
03004  */
03005 #include <unistd.h>
03006 #endif
03007 
03008 #ifndef YY_EXTRA_TYPE
03009 #define YY_EXTRA_TYPE void *
03010 #endif
03011 
03012 static int yy_init_globals (void );
03013 
03014 /* Accessor methods to globals.
03015    These are made visible to non-reentrant scanners for convenience. */
03016 
03017 int yylex_destroy (void );
03018 
03019 int yyget_debug (void );
03020 
03021 void yyset_debug (int debug_flag  );
03022 
03023 YY_EXTRA_TYPE yyget_extra (void );
03024 
03025 void yyset_extra (YY_EXTRA_TYPE user_defined  );
03026 
03027 FILE *yyget_in (void );
03028 
03029 void yyset_in  (FILE * in_str  );
03030 
03031 FILE *yyget_out (void );
03032 
03033 void yyset_out  (FILE * out_str  );
03034 
03035 int yyget_leng (void );
03036 
03037 char *yyget_text (void );
03038 
03039 int yyget_lineno (void );
03040 
03041 void yyset_lineno (int line_number  );
03042 
03043 /* Macros after this point can all be overridden by user definitions in
03044  * section 1.
03045  */
03046 
03047 #ifndef YY_SKIP_YYWRAP
03048 #ifdef __cplusplus
03049 extern "C" int yywrap (void );
03050 #else
03051 extern int yywrap (void );
03052 #endif
03053 #endif
03054 
03055 #ifndef yytext_ptr
03056 static void yy_flex_strncpy (char *,yyconst char *,int );
03057 #endif
03058 
03059 #ifdef YY_NEED_STRLEN
03060 static int yy_flex_strlen (yyconst char * );
03061 #endif
03062 
03063 #ifndef YY_NO_INPUT
03064 
03065 #ifdef __cplusplus
03066 static int yyinput (void );
03067 #else
03068 static int input (void );
03069 #endif
03070 
03071 #endif
03072 
03073         static int yy_start_stack_ptr = 0;
03074         static int yy_start_stack_depth = 0;
03075         static int *yy_start_stack = NULL;
03076     
03077     static void yy_push_state (int new_state );
03078     
03079     static void yy_pop_state (void );
03080     
03081 /* Amount of stuff to slurp up with each read. */
03082 #ifndef YY_READ_BUF_SIZE
03083 #define YY_READ_BUF_SIZE 8192
03084 #endif
03085 
03086 /* Copy whatever the last rule matched to the standard output. */
03087 #ifndef ECHO
03088 /* This used to be an fputs(), but since the string might contain NUL's,
03089  * we now use fwrite().
03090  */
03091 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
03092 #endif
03093 
03094 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
03095  * is returned in "result".
03096  */
03097 #ifndef YY_INPUT
03098 #define YY_INPUT(buf,result,max_size) \
03099         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
03100                 { \
03101                 int c = '*'; \
03102                 unsigned n; \
03103                 for ( n = 0; n < max_size && \
03104                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
03105                         buf[n] = (char) c; \
03106                 if ( c == '\n' ) \
03107                         buf[n++] = (char) c; \
03108                 if ( c == EOF && ferror( yyin ) ) \
03109                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
03110                 result = n; \
03111                 } \
03112         else \
03113                 { \
03114                 errno=0; \
03115                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
03116                         { \
03117                         if( errno != EINTR) \
03118                                 { \
03119                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
03120                                 break; \
03121                                 } \
03122                         errno=0; \
03123                         clearerr(yyin); \
03124                         } \
03125                 }\
03126 \
03127 
03128 #endif
03129 
03130 /* No semi-colon after return; correct usage is to write "yyterminate();" -
03131  * we don't want an extra ';' after the "return" because that will cause
03132  * some compilers to complain about unreachable statements.
03133  */
03134 #ifndef yyterminate
03135 #define yyterminate() return YY_NULL
03136 #endif
03137 
03138 /* Number of entries by which start-condition stack grows. */
03139 #ifndef YY_START_STACK_INCR
03140 #define YY_START_STACK_INCR 25
03141 #endif
03142 
03143 /* Report a fatal error. */
03144 #ifndef YY_FATAL_ERROR
03145 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
03146 #endif
03147 
03148 /* end tables serialization structures and prototypes */
03149 
03150 /* Default declaration of generated scanner - a define so the user can
03151  * easily add parameters.
03152  */
03153 #ifndef YY_DECL
03154 #define YY_DECL_IS_OURS 1
03155 
03156 extern int yylex (void);
03157 
03158 #define YY_DECL int yylex (void)
03159 #endif /* !YY_DECL */
03160 
03161 /* Code executed at the beginning of each rule, after yytext and yyleng
03162  * have been set up.
03163  */
03164 #ifndef YY_USER_ACTION
03165 #define YY_USER_ACTION
03166 #endif
03167 
03168 /* Code executed at the end of each rule. */
03169 #ifndef YY_BREAK
03170 #define YY_BREAK break;
03171 #endif
03172 
03173 #define YY_RULE_SETUP \
03174         if ( yyleng > 0 ) \
03175                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
03176                                 (yytext[yyleng - 1] == '\n'); \
03177         YY_USER_ACTION
03178 
03181 YY_DECL
03182 {
03183         register yy_state_type yy_current_state;
03184         register char *yy_cp, *yy_bp;
03185         register int yy_act;
03186     
03187 #line 46 "src/cfgparse.l"
03188 
03189 
03190         {
03191                 /* This is called when a new line is lexed. We only want the
03192                  * first line to match to go into state BUFFER_LINE */
03193                 if (context->line_number == 0) {
03194                         context->line_number = 1;
03195                         BEGIN(INITIAL);
03196                         yy_push_state(BUFFER_LINE);
03197                 }
03198         }
03199 
03200 #line 3201 "src/cfgparse.yy.c"
03201 
03202         if ( !(yy_init) )
03203                 {
03204                 (yy_init) = 1;
03205 
03206 #ifdef YY_USER_INIT
03207                 YY_USER_INIT;
03208 #endif
03209 
03210         /* Create the reject buffer large enough to save one state per allowed character. */
03211         if ( ! (yy_state_buf) )
03212             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
03213             if ( ! (yy_state_buf) )
03214                 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
03215 
03216                 if ( ! (yy_start) )
03217                         (yy_start) = 1; /* first start state */
03218 
03219                 if ( ! yyin )
03220                         yyin = stdin;
03221 
03222                 if ( ! yyout )
03223                         yyout = stdout;
03224 
03225                 if ( ! YY_CURRENT_BUFFER ) {
03226                         yyensure_buffer_stack ();
03227                         YY_CURRENT_BUFFER_LVALUE =
03228                                 yy_create_buffer(yyin,YY_BUF_SIZE );
03229                 }
03230 
03231                 yy_load_buffer_state( );
03232                 }
03233 
03234         while ( 1 )             /* loops until end-of-file is reached */
03235                 {
03236                 yy_cp = (yy_c_buf_p);
03237 
03238                 /* Support of yytext. */
03239                 *yy_cp = (yy_hold_char);
03240 
03241                 /* yy_bp points to the position in yy_ch_buf of the start of
03242                  * the current run.
03243                  */
03244                 yy_bp = yy_cp;
03245 
03246                 yy_current_state = (yy_start);
03247                 yy_current_state += YY_AT_BOL();
03248 
03249                 (yy_state_ptr) = (yy_state_buf);
03250                 *(yy_state_ptr)++ = yy_current_state;
03251 
03252 yy_match:
03253                 do
03254                         {
03255                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
03256                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03257                                 {
03258                                 yy_current_state = (int) yy_def[yy_current_state];
03259                                 if ( yy_current_state >= 1687 )
03260                                         yy_c = yy_meta[(unsigned int) yy_c];
03261                                 }
03262                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03263                         *(yy_state_ptr)++ = yy_current_state;
03264                         ++yy_cp;
03265                         }
03266                 while ( yy_base[yy_current_state] != 7276 );
03267 
03268 yy_find_action:
03269                 yy_current_state = *--(yy_state_ptr);
03270                 (yy_lp) = yy_accept[yy_current_state];
03271 find_rule: /* we branch to this label when backing up */
03272                 for ( ; ; ) /* until we find what rule we matched */
03273                         {
03274                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
03275                                 {
03276                                 yy_act = yy_acclist[(yy_lp)];
03277                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
03278                                      (yy_looking_for_trail_begin) )
03279                                         {
03280                                         if ( yy_act == (yy_looking_for_trail_begin) )
03281                                                 {
03282                                                 (yy_looking_for_trail_begin) = 0;
03283                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
03284                                                 break;
03285                                                 }
03286                                         }
03287                                 else if ( yy_act & YY_TRAILING_MASK )
03288                                         {
03289                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
03290                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
03291                                         }
03292                                 else
03293                                         {
03294                                         (yy_full_match) = yy_cp;
03295                                         (yy_full_state) = (yy_state_ptr);
03296                                         (yy_full_lp) = (yy_lp);
03297                                         break;
03298                                         }
03299                                 ++(yy_lp);
03300                                 goto find_rule;
03301                                 }
03302                         --yy_cp;
03303                         yy_current_state = *--(yy_state_ptr);
03304                         (yy_lp) = yy_accept[yy_current_state];
03305                         }
03306 
03307                 YY_DO_BEFORE_ACTION;
03308 
03309 do_action:      /* This label is used only to access EOF actions. */
03310 
03311                 switch ( yy_act )
03312         { /* beginning of action switch */
03313 case 1:
03314 /* rule 1 can match eol */
03315 YY_RULE_SETUP
03316 #line 58 "src/cfgparse.l"
03317 {
03318         /* save whole line */
03319         context->line_copy = strdup(yytext);
03320 
03321         yyless(0);
03322         yy_pop_state();
03323         yy_set_bol(true);
03324         yycolumn = 1;
03325 }
03326         YY_BREAK
03327 case 2:
03328 YY_RULE_SETUP
03329 #line 69 "src/cfgparse.l"
03330 { BEGIN(INITIAL); yylval.string = strdup(yytext); return STR; }
03331         YY_BREAK
03332 case 3:
03333 YY_RULE_SETUP
03334 #line 70 "src/cfgparse.l"
03335 { yylval.string = strdup(yytext); return OUTPUT; }
03336         YY_BREAK
03337 case 4:
03338 YY_RULE_SETUP
03339 #line 71 "src/cfgparse.l"
03340 { return TOKCOMMENT; }
03341         YY_BREAK
03342 case 5:
03343 YY_RULE_SETUP
03344 #line 72 "src/cfgparse.l"
03345 { yylval.string = strdup(yytext); return HEX; }
03346         YY_BREAK
03347 case 6:
03348 YY_RULE_SETUP
03349 #line 73 "src/cfgparse.l"
03350 { yylval.number = atoi(yytext); return NUMBER; }
03351         YY_BREAK
03352 case 7:
03353 YY_RULE_SETUP
03354 #line 74 "src/cfgparse.l"
03355 { return TOKMODE; }
03356         YY_BREAK
03357 case 8:
03358 YY_RULE_SETUP
03359 #line 75 "src/cfgparse.l"
03360 { BEGIN(BIND_COND); return TOKBIND; }
03361         YY_BREAK
03362 case 9:
03363 YY_RULE_SETUP
03364 #line 76 "src/cfgparse.l"
03365 { BEGIN(BINDSYM_COND); return TOKBINDSYM; }
03366         YY_BREAK
03367 case 10:
03368 YY_RULE_SETUP
03369 #line 77 "src/cfgparse.l"
03370 { BEGIN(INITIAL); return TOKFLOATING_MODIFIER; }
03371         YY_BREAK
03372 case 11:
03373 YY_RULE_SETUP
03374 #line 78 "src/cfgparse.l"
03375 { BEGIN(INITIAL); return TOKWORKSPACE; }
03376         YY_BREAK
03377 case 12:
03378 YY_RULE_SETUP
03379 #line 79 "src/cfgparse.l"
03380 { BEGIN(OUTPUT_COND); return TOKOUTPUT; }
03381         YY_BREAK
03382 case 13:
03383 YY_RULE_SETUP
03384 #line 80 "src/cfgparse.l"
03385 {
03386                                   /* for compatibility until v3.φ */
03387                                   ELOG("Assignments to screens are DEPRECATED and will not work. " \
03388                                        "Please replace them with assignments to outputs.\n");
03389                                   BEGIN(OUTPUT_COND);
03390                                   return TOKOUTPUT;
03391                                 }
03392         YY_BREAK
03393 case 14:
03394 YY_RULE_SETUP
03395 #line 87 "src/cfgparse.l"
03396 { BEGIN(BIND_AWS_COND); return TOKTERMINAL; }
03397         YY_BREAK
03398 case 15:
03399 YY_RULE_SETUP
03400 #line 88 "src/cfgparse.l"
03401 { BEGIN(BIND_AWS_COND); return TOKFONT; }
03402         YY_BREAK
03403 case 16:
03404 YY_RULE_SETUP
03405 #line 89 "src/cfgparse.l"
03406 { BEGIN(ASSIGN_COND); return TOKASSIGN; }
03407         YY_BREAK
03408 case 17:
03409 YY_RULE_SETUP
03410 #line 90 "src/cfgparse.l"
03411 { return TOKCOMMENT; }
03412         YY_BREAK
03413 case 18:
03414 YY_RULE_SETUP
03415 #line 91 "src/cfgparse.l"
03416 { BEGIN(BIND_AWS_COND); return TOKIPCSOCKET; }
03417         YY_BREAK
03418 case 19:
03419 YY_RULE_SETUP
03420 #line 92 "src/cfgparse.l"
03421 { BEGIN(BIND_AWS_COND); return TOKIPCSOCKET; }
03422         YY_BREAK
03423 case 20:
03424 YY_RULE_SETUP
03425 #line 93 "src/cfgparse.l"
03426 { return TOKNEWCONTAINER; }
03427         YY_BREAK
03428 case 21:
03429 YY_RULE_SETUP
03430 #line 94 "src/cfgparse.l"
03431 { return TOKNEWWINDOW; }
03432         YY_BREAK
03433 case 22:
03434 YY_RULE_SETUP
03435 #line 95 "src/cfgparse.l"
03436 { return TOKFOCUSFOLLOWSMOUSE; }
03437         YY_BREAK
03438 case 23:
03439 YY_RULE_SETUP
03440 #line 96 "src/cfgparse.l"
03441 { return TOKWORKSPACEBAR; }
03442         YY_BREAK
03443 case 24:
03444 YY_RULE_SETUP
03445 #line 97 "src/cfgparse.l"
03446 { yylval.number = MODE_DEFAULT; return TOKCONTAINERMODE; }
03447         YY_BREAK
03448 case 25:
03449 YY_RULE_SETUP
03450 #line 98 "src/cfgparse.l"
03451 { yylval.number = MODE_STACK; return TOKCONTAINERMODE; }
03452         YY_BREAK
03453 case 26:
03454 YY_RULE_SETUP
03455 #line 99 "src/cfgparse.l"
03456 { yylval.number = MODE_TABBED; return TOKCONTAINERMODE; }
03457         YY_BREAK
03458 case 27:
03459 YY_RULE_SETUP
03460 #line 100 "src/cfgparse.l"
03461 { return TOKSTACKLIMIT; }
03462         YY_BREAK
03463 case 28:
03464 YY_RULE_SETUP
03465 #line 101 "src/cfgparse.l"
03466 { yylval.number = STACK_LIMIT_COLS; return TOKSTACKLIMIT; }
03467         YY_BREAK
03468 case 29:
03469 YY_RULE_SETUP
03470 #line 102 "src/cfgparse.l"
03471 { yylval.number = STACK_LIMIT_ROWS; return TOKSTACKLIMIT; }
03472         YY_BREAK
03473 case 30:
03474 YY_RULE_SETUP
03475 #line 103 "src/cfgparse.l"
03476 { BEGIN(BIND_AWS_COND); return TOKEXEC; }
03477         YY_BREAK
03478 case 31:
03479 YY_RULE_SETUP
03480 #line 104 "src/cfgparse.l"
03481 { BEGIN(COLOR_COND); yylval.single_color = &config.client.background; return TOKSINGLECOLOR; }
03482         YY_BREAK
03483 case 32:
03484 YY_RULE_SETUP
03485 #line 105 "src/cfgparse.l"
03486 { BEGIN(COLOR_COND); yylval.color = &config.client.focused; return TOKCOLOR; }
03487         YY_BREAK
03488 case 33:
03489 YY_RULE_SETUP
03490 #line 106 "src/cfgparse.l"
03491 { BEGIN(COLOR_COND); yylval.color = &config.client.focused_inactive; return TOKCOLOR; }
03492         YY_BREAK
03493 case 34:
03494 YY_RULE_SETUP
03495 #line 107 "src/cfgparse.l"
03496 { BEGIN(COLOR_COND); yylval.color = &config.client.unfocused; return TOKCOLOR; }
03497         YY_BREAK
03498 case 35:
03499 YY_RULE_SETUP
03500 #line 108 "src/cfgparse.l"
03501 { BEGIN(COLOR_COND); yylval.color = &config.client.urgent; return TOKCOLOR; }
03502         YY_BREAK
03503 case 36:
03504 YY_RULE_SETUP
03505 #line 109 "src/cfgparse.l"
03506 { BEGIN(COLOR_COND); yylval.color = &config.bar.focused; return TOKCOLOR; }
03507         YY_BREAK
03508 case 37:
03509 YY_RULE_SETUP
03510 #line 110 "src/cfgparse.l"
03511 { BEGIN(COLOR_COND); yylval.color = &config.bar.unfocused; return TOKCOLOR; }
03512         YY_BREAK
03513 case 38:
03514 YY_RULE_SETUP
03515 #line 111 "src/cfgparse.l"
03516 { BEGIN(COLOR_COND); yylval.color = &config.bar.urgent; return TOKCOLOR; }
03517         YY_BREAK
03518 case 39:
03519 YY_RULE_SETUP
03520 #line 112 "src/cfgparse.l"
03521 { yylval.number = BIND_MOD1; return MODIFIER; }
03522         YY_BREAK
03523 case 40:
03524 YY_RULE_SETUP
03525 #line 113 "src/cfgparse.l"
03526 { yylval.number = BIND_MOD2; return MODIFIER; }
03527         YY_BREAK
03528 case 41:
03529 YY_RULE_SETUP
03530 #line 114 "src/cfgparse.l"
03531 { yylval.number = BIND_MOD3; return MODIFIER; }
03532         YY_BREAK
03533 case 42:
03534 YY_RULE_SETUP
03535 #line 115 "src/cfgparse.l"
03536 { yylval.number = BIND_MOD4; return MODIFIER; }
03537         YY_BREAK
03538 case 43:
03539 YY_RULE_SETUP
03540 #line 116 "src/cfgparse.l"
03541 { yylval.number = BIND_MOD5; return MODIFIER; }
03542         YY_BREAK
03543 case 44:
03544 YY_RULE_SETUP
03545 #line 117 "src/cfgparse.l"
03546 { yylval.number = BIND_MODE_SWITCH; return MODIFIER; }
03547         YY_BREAK
03548 case 45:
03549 YY_RULE_SETUP
03550 #line 118 "src/cfgparse.l"
03551 { return TOKCONTROL; }
03552         YY_BREAK
03553 case 46:
03554 YY_RULE_SETUP
03555 #line 119 "src/cfgparse.l"
03556 { return TOKCONTROL; }
03557         YY_BREAK
03558 case 47:
03559 YY_RULE_SETUP
03560 #line 120 "src/cfgparse.l"
03561 { return TOKSHIFT; }
03562         YY_BREAK
03563 case 48:
03564 YY_RULE_SETUP
03565 #line 121 "src/cfgparse.l"
03566 { return TOKARROW; }
03567         YY_BREAK
03568 case 49:
03569 /* rule 49 can match eol */
03570 YY_RULE_SETUP
03571 #line 122 "src/cfgparse.l"
03572 {
03573                                   FREE(context->line_copy);
03574                                   context->line_number++;
03575                                   BEGIN(INITIAL);
03576                                   yy_push_state(BUFFER_LINE);
03577                                 }
03578         YY_BREAK
03579 case 50:
03580 YY_RULE_SETUP
03581 #line 128 "src/cfgparse.l"
03582 { BEGIN(BIND_AWS_COND); return WHITESPACE; }
03583         YY_BREAK
03584 case 51:
03585 YY_RULE_SETUP
03586 #line 129 "src/cfgparse.l"
03587 { BEGIN(BINDSYM_AWS_COND); return WHITESPACE; }
03588         YY_BREAK
03589 case 52:
03590 YY_RULE_SETUP
03591 #line 130 "src/cfgparse.l"
03592 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03593         YY_BREAK
03594 case 53:
03595 YY_RULE_SETUP
03596 #line 131 "src/cfgparse.l"
03597 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03598         YY_BREAK
03599 case 54:
03600 YY_RULE_SETUP
03601 #line 132 "src/cfgparse.l"
03602 { BEGIN(OUTPUT_AWS_COND); return WHITESPACE; }
03603         YY_BREAK
03604 case 55:
03605 YY_RULE_SETUP
03606 #line 133 "src/cfgparse.l"
03607 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03608         YY_BREAK
03609 case 56:
03610 YY_RULE_SETUP
03611 #line 134 "src/cfgparse.l"
03612 { return WHITESPACE; }
03613         YY_BREAK
03614 case 57:
03615 /* rule 57 can match eol */
03616 YY_RULE_SETUP
03617 #line 135 "src/cfgparse.l"
03618 {
03619                                   /* if ASSIGN_COND then */
03620                                   BEGIN(INITIAL);
03621                                   /* yylval will be the string, but without quotes */
03622                                   char *copy = strdup(yytext+1);
03623                                   copy[strlen(copy)-1] = '\0';
03624                                   yylval.string = copy;
03625                                   return QUOTEDSTRING;
03626                                 }
03627         YY_BREAK
03628 case 58:
03629 /* rule 58 can match eol */
03630 YY_RULE_SETUP
03631 #line 144 "src/cfgparse.l"
03632 { BEGIN(INITIAL); yylval.string = strdup(yytext); return STR_NG; }
03633         YY_BREAK
03634 case 59:
03635 YY_RULE_SETUP
03636 #line 145 "src/cfgparse.l"
03637 { yylval.string = strdup(yytext); return WORD; }
03638         YY_BREAK
03639 case 60:
03640 YY_RULE_SETUP
03641 #line 146 "src/cfgparse.l"
03642 { yylval.string = strdup(yytext); return WORD; }
03643         YY_BREAK
03644 case 61:
03645 YY_RULE_SETUP
03646 #line 147 "src/cfgparse.l"
03647 { return (int)yytext[0]; }
03648         YY_BREAK
03649 case YY_STATE_EOF(INITIAL):
03650 case YY_STATE_EOF(BIND_COND):
03651 case YY_STATE_EOF(BINDSYM_COND):
03652 case YY_STATE_EOF(BIND_AWS_COND):
03653 case YY_STATE_EOF(BINDSYM_AWS_COND):
03654 case YY_STATE_EOF(BIND_A2WS_COND):
03655 case YY_STATE_EOF(ASSIGN_COND):
03656 case YY_STATE_EOF(COLOR_COND):
03657 case YY_STATE_EOF(OUTPUT_COND):
03658 case YY_STATE_EOF(OUTPUT_AWS_COND):
03659 case YY_STATE_EOF(BUFFER_LINE):
03660 #line 149 "src/cfgparse.l"
03661 {
03662         while (yy_start_stack_ptr > 0)
03663                 yy_pop_state();
03664         yyterminate();
03665 }
03666         YY_BREAK
03667 case 62:
03668 YY_RULE_SETUP
03669 #line 155 "src/cfgparse.l"
03670 ECHO;
03671         YY_BREAK
03672 #line 3673 "src/cfgparse.yy.c"
03673 
03674         case YY_END_OF_BUFFER:
03675                 {
03676                 /* Amount of text matched not including the EOB char. */
03677                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
03678 
03679                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
03680                 *yy_cp = (yy_hold_char);
03681                 YY_RESTORE_YY_MORE_OFFSET
03682 
03683                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
03684                         {
03685                         /* We're scanning a new file or input source.  It's
03686                          * possible that this happened because the user
03687                          * just pointed yyin at a new source and called
03688                          * yylex().  If so, then we have to assure
03689                          * consistency between YY_CURRENT_BUFFER and our
03690                          * globals.  Here is the right place to do so, because
03691                          * this is the first action (other than possibly a
03692                          * back-up) that will match for the new input source.
03693                          */
03694                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03695                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
03696                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
03697                         }
03698 
03699                 /* Note that here we test for yy_c_buf_p "<=" to the position
03700                  * of the first EOB in the buffer, since yy_c_buf_p will
03701                  * already have been incremented past the NUL character
03702                  * (since all states make transitions on EOB to the
03703                  * end-of-buffer state).  Contrast this with the test
03704                  * in input().
03705                  */
03706                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
03707                         { /* This was really a NUL. */
03708                         yy_state_type yy_next_state;
03709 
03710                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
03711 
03712                         yy_current_state = yy_get_previous_state(  );
03713 
03714                         /* Okay, we're now positioned to make the NUL
03715                          * transition.  We couldn't have
03716                          * yy_get_previous_state() go ahead and do it
03717                          * for us because it doesn't know how to deal
03718                          * with the possibility of jamming (and we don't
03719                          * want to build jamming into it because then it
03720                          * will run more slowly).
03721                          */
03722 
03723                         yy_next_state = yy_try_NUL_trans( yy_current_state );
03724 
03725                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03726 
03727                         if ( yy_next_state )
03728                                 {
03729                                 /* Consume the NUL. */
03730                                 yy_cp = ++(yy_c_buf_p);
03731                                 yy_current_state = yy_next_state;
03732                                 goto yy_match;
03733                                 }
03734 
03735                         else
03736                                 {
03737                                 yy_cp = (yy_c_buf_p);
03738                                 goto yy_find_action;
03739                                 }
03740                         }
03741 
03742                 else switch ( yy_get_next_buffer(  ) )
03743                         {
03744                         case EOB_ACT_END_OF_FILE:
03745                                 {
03746                                 (yy_did_buffer_switch_on_eof) = 0;
03747 
03748                                 if ( yywrap( ) )
03749                                         {
03750                                         /* Note: because we've taken care in
03751                                          * yy_get_next_buffer() to have set up
03752                                          * yytext, we can now set up
03753                                          * yy_c_buf_p so that if some total
03754                                          * hoser (like flex itself) wants to
03755                                          * call the scanner after we return the
03756                                          * YY_NULL, it'll still work - another
03757                                          * YY_NULL will get returned.
03758                                          */
03759                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
03760 
03761                                         yy_act = YY_STATE_EOF(YY_START);
03762                                         goto do_action;
03763                                         }
03764 
03765                                 else
03766                                         {
03767                                         if ( ! (yy_did_buffer_switch_on_eof) )
03768                                                 YY_NEW_FILE;
03769                                         }
03770                                 break;
03771                                 }
03772 
03773                         case EOB_ACT_CONTINUE_SCAN:
03774                                 (yy_c_buf_p) =
03775                                         (yytext_ptr) + yy_amount_of_matched_text;
03776 
03777                                 yy_current_state = yy_get_previous_state(  );
03778 
03779                                 yy_cp = (yy_c_buf_p);
03780                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03781                                 goto yy_match;
03782 
03783                         case EOB_ACT_LAST_MATCH:
03784                                 (yy_c_buf_p) =
03785                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
03786 
03787                                 yy_current_state = yy_get_previous_state(  );
03788 
03789                                 yy_cp = (yy_c_buf_p);
03790                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03791                                 goto yy_find_action;
03792                         }
03793                 break;
03794                 }
03795 
03796         default:
03797                 YY_FATAL_ERROR(
03798                         "fatal flex scanner internal error--no action found" );
03799         } /* end of action switch */
03800                 } /* end of scanning one token */
03801 } /* end of yylex */
03802 
03803 /* yy_get_next_buffer - try to read in a new buffer
03804  *
03805  * Returns a code representing an action:
03806  *      EOB_ACT_LAST_MATCH -
03807  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
03808  *      EOB_ACT_END_OF_FILE - end of file
03809  */
03810 static int yy_get_next_buffer (void)
03811 {
03812         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
03813         register char *source = (yytext_ptr);
03814         register int number_to_move, i;
03815         int ret_val;
03816 
03817         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
03818                 YY_FATAL_ERROR(
03819                 "fatal flex scanner internal error--end of buffer missed" );
03820 
03821         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
03822                 { /* Don't try to fill the buffer, so this is an EOF. */
03823                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
03824                         {
03825                         /* We matched a single character, the EOB, so
03826                          * treat this as a final EOF.
03827                          */
03828                         return EOB_ACT_END_OF_FILE;
03829                         }
03830 
03831                 else
03832                         {
03833                         /* We matched some text prior to the EOB, first
03834                          * process it.
03835                          */
03836                         return EOB_ACT_LAST_MATCH;
03837                         }
03838                 }
03839 
03840         /* Try to read more data. */
03841 
03842         /* First move last chars to start of buffer. */
03843         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
03844 
03845         for ( i = 0; i < number_to_move; ++i )
03846                 *(dest++) = *(source++);
03847 
03848         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
03849                 /* don't do the read, it's not guaranteed to return an EOF,
03850                  * just force an EOF
03851                  */
03852                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
03853 
03854         else
03855                 {
03856                         int num_to_read =
03857                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
03858 
03859                 while ( num_to_read <= 0 )
03860                         { /* Not enough room in the buffer - grow it. */
03861 
03862                         YY_FATAL_ERROR(
03863 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
03864 
03865                         }
03866 
03867                 if ( num_to_read > YY_READ_BUF_SIZE )
03868                         num_to_read = YY_READ_BUF_SIZE;
03869 
03870                 /* Read in more data. */
03871                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
03872                         (yy_n_chars), (size_t) num_to_read );
03873 
03874                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
03875                 }
03876 
03877         if ( (yy_n_chars) == 0 )
03878                 {
03879                 if ( number_to_move == YY_MORE_ADJ )
03880                         {
03881                         ret_val = EOB_ACT_END_OF_FILE;
03882                         yyrestart(yyin  );
03883                         }
03884 
03885                 else
03886                         {
03887                         ret_val = EOB_ACT_LAST_MATCH;
03888                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
03889                                 YY_BUFFER_EOF_PENDING;
03890                         }
03891                 }
03892 
03893         else
03894                 ret_val = EOB_ACT_CONTINUE_SCAN;
03895 
03896         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
03897                 /* Extend the array by 50%, plus the number we really need. */
03898                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
03899                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
03900                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
03901                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
03902         }
03903 
03904         (yy_n_chars) += number_to_move;
03905         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
03906         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
03907 
03908         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
03909 
03910         return ret_val;
03911 }
03912 
03913 /* yy_get_previous_state - get the state just before the EOB char was reached */
03914 
03915     static yy_state_type yy_get_previous_state (void)
03916 {
03917         register yy_state_type yy_current_state;
03918         register char *yy_cp;
03919     
03920         yy_current_state = (yy_start);
03921         yy_current_state += YY_AT_BOL();
03922 
03923         (yy_state_ptr) = (yy_state_buf);
03924         *(yy_state_ptr)++ = yy_current_state;
03925 
03926         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
03927                 {
03928                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
03929                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03930                         {
03931                         yy_current_state = (int) yy_def[yy_current_state];
03932                         if ( yy_current_state >= 1687 )
03933                                 yy_c = yy_meta[(unsigned int) yy_c];
03934                         }
03935                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03936                 *(yy_state_ptr)++ = yy_current_state;
03937                 }
03938 
03939         return yy_current_state;
03940 }
03941 
03942 /* yy_try_NUL_trans - try to make a transition on the NUL character
03943  *
03944  * synopsis
03945  *      next_state = yy_try_NUL_trans( current_state );
03946  */
03947     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
03948 {
03949         register int yy_is_jam;
03950     
03951         register YY_CHAR yy_c = 1;
03952         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03953                 {
03954                 yy_current_state = (int) yy_def[yy_current_state];
03955                 if ( yy_current_state >= 1687 )
03956                         yy_c = yy_meta[(unsigned int) yy_c];
03957                 }
03958         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03959         yy_is_jam = (yy_current_state == 1686);
03960         if ( ! yy_is_jam )
03961                 *(yy_state_ptr)++ = yy_current_state;
03962 
03963         return yy_is_jam ? 0 : yy_current_state;
03964 }
03965 
03966 #ifndef YY_NO_INPUT
03967 #ifdef __cplusplus
03968     static int yyinput (void)
03969 #else
03970     static int input  (void)
03971 #endif
03972 
03973 {
03974         int c;
03975     
03976         *(yy_c_buf_p) = (yy_hold_char);
03977 
03978         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
03979                 {
03980                 /* yy_c_buf_p now points to the character we want to return.
03981                  * If this occurs *before* the EOB characters, then it's a
03982                  * valid NUL; if not, then we've hit the end of the buffer.
03983                  */
03984                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
03985                         /* This was really a NUL. */
03986                         *(yy_c_buf_p) = '\0';
03987 
03988                 else
03989                         { /* need more input */
03990                         int offset = (yy_c_buf_p) - (yytext_ptr);
03991                         ++(yy_c_buf_p);
03992 
03993                         switch ( yy_get_next_buffer(  ) )
03994                                 {
03995                                 case EOB_ACT_LAST_MATCH:
03996                                         /* This happens because yy_g_n_b()
03997                                          * sees that we've accumulated a
03998                                          * token and flags that we need to
03999                                          * try matching the token before
04000                                          * proceeding.  But for input(),
04001                                          * there's no matching to consider.
04002                                          * So convert the EOB_ACT_LAST_MATCH
04003                                          * to EOB_ACT_END_OF_FILE.
04004                                          */
04005 
04006                                         /* Reset buffer status. */
04007                                         yyrestart(yyin );
04008 
04009                                         /*FALLTHROUGH*/
04010 
04011                                 case EOB_ACT_END_OF_FILE:
04012                                         {
04013                                         if ( yywrap( ) )
04014                                                 return EOF;
04015 
04016                                         if ( ! (yy_did_buffer_switch_on_eof) )
04017                                                 YY_NEW_FILE;
04018 #ifdef __cplusplus
04019                                         return yyinput();
04020 #else
04021                                         return input();
04022 #endif
04023                                         }
04024 
04025                                 case EOB_ACT_CONTINUE_SCAN:
04026                                         (yy_c_buf_p) = (yytext_ptr) + offset;
04027                                         break;
04028                                 }
04029                         }
04030                 }
04031 
04032         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
04033         *(yy_c_buf_p) = '\0';   /* preserve yytext */
04034         (yy_hold_char) = *++(yy_c_buf_p);
04035 
04036         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
04037 
04038         return c;
04039 }
04040 #endif  /* ifndef YY_NO_INPUT */
04041 
04047     void yyrestart  (FILE * input_file )
04048 {
04049     
04050         if ( ! YY_CURRENT_BUFFER ){
04051         yyensure_buffer_stack ();
04052                 YY_CURRENT_BUFFER_LVALUE =
04053             yy_create_buffer(yyin,YY_BUF_SIZE );
04054         }
04055 
04056         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
04057         yy_load_buffer_state( );
04058 }
04059 
04064     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
04065 {
04066     
04067         /* TODO. We should be able to replace this entire function body
04068          * with
04069          *              yypop_buffer_state();
04070          *              yypush_buffer_state(new_buffer);
04071      */
04072         yyensure_buffer_stack ();
04073         if ( YY_CURRENT_BUFFER == new_buffer )
04074                 return;
04075 
04076         if ( YY_CURRENT_BUFFER )
04077                 {
04078                 /* Flush out information for old buffer. */
04079                 *(yy_c_buf_p) = (yy_hold_char);
04080                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
04081                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04082                 }
04083 
04084         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04085         yy_load_buffer_state( );
04086 
04087         /* We don't actually know whether we did this switch during
04088          * EOF (yywrap()) processing, but the only time this flag
04089          * is looked at is after yywrap() is called, so it's safe
04090          * to go ahead and always set it.
04091          */
04092         (yy_did_buffer_switch_on_eof) = 1;
04093 }
04094 
04095 static void yy_load_buffer_state  (void)
04096 {
04097         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
04098         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
04099         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
04100         (yy_hold_char) = *(yy_c_buf_p);
04101 }
04102 
04109     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
04110 {
04111         YY_BUFFER_STATE b;
04112     
04113         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
04114         if ( ! b )
04115                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
04116 
04117         b->yy_buf_size = size;
04118 
04119         /* yy_ch_buf has to be 2 characters longer than the size given because
04120          * we need to put in 2 end-of-buffer characters.
04121          */
04122         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
04123         if ( ! b->yy_ch_buf )
04124                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
04125 
04126         b->yy_is_our_buffer = 1;
04127 
04128         yy_init_buffer(b,file );
04129 
04130         return b;
04131 }
04132 
04137     void yy_delete_buffer (YY_BUFFER_STATE  b )
04138 {
04139     
04140         if ( ! b )
04141                 return;
04142 
04143         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
04144                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
04145 
04146         if ( b->yy_is_our_buffer )
04147                 yyfree((void *) b->yy_ch_buf  );
04148 
04149         yyfree((void *) b  );
04150 }
04151 
04152 #ifndef __cplusplus
04153 extern int isatty (int );
04154 #endif /* __cplusplus */
04155     
04156 /* Initializes or reinitializes a buffer.
04157  * This function is sometimes called more than once on the same buffer,
04158  * such as during a yyrestart() or at EOF.
04159  */
04160     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
04161 
04162 {
04163         int oerrno = errno;
04164     
04165         yy_flush_buffer(b );
04166 
04167         b->yy_input_file = file;
04168         b->yy_fill_buffer = 1;
04169 
04170     /* If b is the current buffer, then yy_init_buffer was _probably_
04171      * called from yyrestart() or through yy_get_next_buffer.
04172      * In that case, we don't want to reset the lineno or column.
04173      */
04174     if (b != YY_CURRENT_BUFFER){
04175         b->yy_bs_lineno = 1;
04176         b->yy_bs_column = 0;
04177     }
04178 
04179         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
04180     
04181         errno = oerrno;
04182 }
04183 
04188     void yy_flush_buffer (YY_BUFFER_STATE  b )
04189 {
04190         if ( ! b )
04191                 return;
04192 
04193         b->yy_n_chars = 0;
04194 
04195         /* We always need two end-of-buffer characters.  The first causes
04196          * a transition to the end-of-buffer state.  The second causes
04197          * a jam in that state.
04198          */
04199         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
04200         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
04201 
04202         b->yy_buf_pos = &b->yy_ch_buf[0];
04203 
04204         b->yy_at_bol = 1;
04205         b->yy_buffer_status = YY_BUFFER_NEW;
04206 
04207         if ( b == YY_CURRENT_BUFFER )
04208                 yy_load_buffer_state( );
04209 }
04210 
04217 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
04218 {
04219         if (new_buffer == NULL)
04220                 return;
04221 
04222         yyensure_buffer_stack();
04223 
04224         /* This block is copied from yy_switch_to_buffer. */
04225         if ( YY_CURRENT_BUFFER )
04226                 {
04227                 /* Flush out information for old buffer. */
04228                 *(yy_c_buf_p) = (yy_hold_char);
04229                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
04230                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04231                 }
04232 
04233         /* Only push if top exists. Otherwise, replace top. */
04234         if (YY_CURRENT_BUFFER)
04235                 (yy_buffer_stack_top)++;
04236         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04237 
04238         /* copied from yy_switch_to_buffer. */
04239         yy_load_buffer_state( );
04240         (yy_did_buffer_switch_on_eof) = 1;
04241 }
04242 
04247 void yypop_buffer_state (void)
04248 {
04249         if (!YY_CURRENT_BUFFER)
04250                 return;
04251 
04252         yy_delete_buffer(YY_CURRENT_BUFFER );
04253         YY_CURRENT_BUFFER_LVALUE = NULL;
04254         if ((yy_buffer_stack_top) > 0)
04255                 --(yy_buffer_stack_top);
04256 
04257         if (YY_CURRENT_BUFFER) {
04258                 yy_load_buffer_state( );
04259                 (yy_did_buffer_switch_on_eof) = 1;
04260         }
04261 }
04262 
04263 /* Allocates the stack if it does not exist.
04264  *  Guarantees space for at least one push.
04265  */
04266 static void yyensure_buffer_stack (void)
04267 {
04268         int num_to_alloc;
04269     
04270         if (!(yy_buffer_stack)) {
04271 
04272                 /* First allocation is just for 2 elements, since we don't know if this
04273                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
04274                  * immediate realloc on the next call.
04275          */
04276                 num_to_alloc = 1;
04277                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
04278                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
04279                                                                 );
04280                 if ( ! (yy_buffer_stack) )
04281                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
04282                                                                   
04283                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
04284                                 
04285                 (yy_buffer_stack_max) = num_to_alloc;
04286                 (yy_buffer_stack_top) = 0;
04287                 return;
04288         }
04289 
04290         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
04291 
04292                 /* Increase the buffer to prepare for a possible push. */
04293                 int grow_size = 8 /* arbitrary grow size */;
04294 
04295                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
04296                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
04297                                                                 ((yy_buffer_stack),
04298                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
04299                                                                 );
04300                 if ( ! (yy_buffer_stack) )
04301                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
04302 
04303                 /* zero only the new slots.*/
04304                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
04305                 (yy_buffer_stack_max) = num_to_alloc;
04306         }
04307 }
04308 
04315 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
04316 {
04317         YY_BUFFER_STATE b;
04318     
04319         if ( size < 2 ||
04320              base[size-2] != YY_END_OF_BUFFER_CHAR ||
04321              base[size-1] != YY_END_OF_BUFFER_CHAR )
04322                 /* They forgot to leave room for the EOB's. */
04323                 return 0;
04324 
04325         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
04326         if ( ! b )
04327                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
04328 
04329         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
04330         b->yy_buf_pos = b->yy_ch_buf = base;
04331         b->yy_is_our_buffer = 0;
04332         b->yy_input_file = 0;
04333         b->yy_n_chars = b->yy_buf_size;
04334         b->yy_is_interactive = 0;
04335         b->yy_at_bol = 1;
04336         b->yy_fill_buffer = 0;
04337         b->yy_buffer_status = YY_BUFFER_NEW;
04338 
04339         yy_switch_to_buffer(b  );
04340 
04341         return b;
04342 }
04343 
04352 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
04353 {
04354     
04355         return yy_scan_bytes(yystr,strlen(yystr) );
04356 }
04357 
04365 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
04366 {
04367         YY_BUFFER_STATE b;
04368         char *buf;
04369         yy_size_t n;
04370         int i;
04371     
04372         /* Get memory for full buffer, including space for trailing EOB's. */
04373         n = _yybytes_len + 2;
04374         buf = (char *) yyalloc(n  );
04375         if ( ! buf )
04376                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
04377 
04378         for ( i = 0; i < _yybytes_len; ++i )
04379                 buf[i] = yybytes[i];
04380 
04381         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
04382 
04383         b = yy_scan_buffer(buf,n );
04384         if ( ! b )
04385                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
04386 
04387         /* It's okay to grow etc. this buffer, and we should throw it
04388          * away when we're done.
04389          */
04390         b->yy_is_our_buffer = 1;
04391 
04392         return b;
04393 }
04394 
04395     static void yy_push_state (int  new_state )
04396 {
04397         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
04398                 {
04399                 yy_size_t new_size;
04400 
04401                 (yy_start_stack_depth) += YY_START_STACK_INCR;
04402                 new_size = (yy_start_stack_depth) * sizeof( int );
04403 
04404                 if ( ! (yy_start_stack) )
04405                         (yy_start_stack) = (int *) yyalloc(new_size  );
04406 
04407                 else
04408                         (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
04409 
04410                 if ( ! (yy_start_stack) )
04411                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
04412                 }
04413 
04414         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
04415 
04416         BEGIN(new_state);
04417 }
04418 
04419     static void yy_pop_state  (void)
04420 {
04421         if ( --(yy_start_stack_ptr) < 0 )
04422                 YY_FATAL_ERROR( "start-condition stack underflow" );
04423 
04424         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
04425 }
04426 
04427 #ifndef YY_EXIT_FAILURE
04428 #define YY_EXIT_FAILURE 2
04429 #endif
04430 
04431 static void yy_fatal_error (yyconst char* msg )
04432 {
04433         (void) fprintf( stderr, "%s\n", msg );
04434         exit( YY_EXIT_FAILURE );
04435 }
04436 
04437 /* Redefine yyless() so it works in section 3 code. */
04438 
04439 #undef yyless
04440 #define yyless(n) \
04441         do \
04442                 { \
04443                 /* Undo effects of setting up yytext. */ \
04444         int yyless_macro_arg = (n); \
04445         YY_LESS_LINENO(yyless_macro_arg);\
04446                 yytext[yyleng] = (yy_hold_char); \
04447                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
04448                 (yy_hold_char) = *(yy_c_buf_p); \
04449                 *(yy_c_buf_p) = '\0'; \
04450                 yyleng = yyless_macro_arg; \
04451                 } \
04452         while ( 0 )
04453 
04454 /* Accessor  methods (get/set functions) to struct members. */
04455 
04459 int yyget_lineno  (void)
04460 {
04461         
04462     return yylineno;
04463 }
04464 
04468 FILE *yyget_in  (void)
04469 {
04470         return yyin;
04471 }
04472 
04476 FILE *yyget_out  (void)
04477 {
04478         return yyout;
04479 }
04480 
04484 int yyget_leng  (void)
04485 {
04486         return yyleng;
04487 }
04488 
04493 char *yyget_text  (void)
04494 {
04495         return yytext;
04496 }
04497 
04502 void yyset_lineno (int  line_number )
04503 {
04504     
04505     yylineno = line_number;
04506 }
04507 
04514 void yyset_in (FILE *  in_str )
04515 {
04516         yyin = in_str ;
04517 }
04518 
04519 void yyset_out (FILE *  out_str )
04520 {
04521         yyout = out_str ;
04522 }
04523 
04524 int yyget_debug  (void)
04525 {
04526         return yy_flex_debug;
04527 }
04528 
04529 void yyset_debug (int  bdebug )
04530 {
04531         yy_flex_debug = bdebug ;
04532 }
04533 
04534 static int yy_init_globals (void)
04535 {
04536         /* Initialization is the same as for the non-reentrant scanner.
04537      * This function is called from yylex_destroy(), so don't allocate here.
04538      */
04539 
04540     (yy_buffer_stack) = 0;
04541     (yy_buffer_stack_top) = 0;
04542     (yy_buffer_stack_max) = 0;
04543     (yy_c_buf_p) = (char *) 0;
04544     (yy_init) = 0;
04545     (yy_start) = 0;
04546 
04547     (yy_start_stack_ptr) = 0;
04548     (yy_start_stack_depth) = 0;
04549     (yy_start_stack) =  NULL;
04550 
04551     (yy_state_buf) = 0;
04552     (yy_state_ptr) = 0;
04553     (yy_full_match) = 0;
04554     (yy_lp) = 0;
04555 
04556 /* Defined in main.c */
04557 #ifdef YY_STDINIT
04558     yyin = stdin;
04559     yyout = stdout;
04560 #else
04561     yyin = (FILE *) 0;
04562     yyout = (FILE *) 0;
04563 #endif
04564 
04565     /* For future reference: Set errno on error, since we are called by
04566      * yylex_init()
04567      */
04568     return 0;
04569 }
04570 
04571 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
04572 int yylex_destroy  (void)
04573 {
04574     
04575     /* Pop the buffer stack, destroying each element. */
04576         while(YY_CURRENT_BUFFER){
04577                 yy_delete_buffer(YY_CURRENT_BUFFER  );
04578                 YY_CURRENT_BUFFER_LVALUE = NULL;
04579                 yypop_buffer_state();
04580         }
04581 
04582         /* Destroy the stack itself. */
04583         yyfree((yy_buffer_stack) );
04584         (yy_buffer_stack) = NULL;
04585 
04586     /* Destroy the start condition stack. */
04587         yyfree((yy_start_stack)  );
04588         (yy_start_stack) = NULL;
04589 
04590     yyfree ( (yy_state_buf) );
04591     (yy_state_buf)  = NULL;
04592 
04593     /* Reset the globals. This is important in a non-reentrant scanner so the next time
04594      * yylex() is called, initialization will occur. */
04595     yy_init_globals( );
04596 
04597     return 0;
04598 }
04599 
04600 /*
04601  * Internal utility routines.
04602  */
04603 
04604 #ifndef yytext_ptr
04605 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
04606 {
04607         register int i;
04608         for ( i = 0; i < n; ++i )
04609                 s1[i] = s2[i];
04610 }
04611 #endif
04612 
04613 #ifdef YY_NEED_STRLEN
04614 static int yy_flex_strlen (yyconst char * s )
04615 {
04616         register int n;
04617         for ( n = 0; s[n]; ++n )
04618                 ;
04619 
04620         return n;
04621 }
04622 #endif
04623 
04624 void *yyalloc (yy_size_t  size )
04625 {
04626         return (void *) malloc( size );
04627 }
04628 
04629 void *yyrealloc  (void * ptr, yy_size_t  size )
04630 {
04631         /* The cast to (char *) in the following accommodates both
04632          * implementations that use char* generic pointers, and those
04633          * that use void* generic pointers.  It works with the latter
04634          * because both ANSI C and C++ allow castless assignment from
04635          * any pointer type to void*, and deal with argument conversions
04636          * as though doing an assignment.
04637          */
04638         return (void *) realloc( (char *) ptr, size );
04639 }
04640 
04641 void yyfree (void * ptr )
04642 {
04643         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
04644 }
04645 
04646 #define YYTABLES_NAME "yytables"
04647 
04648 #line 155 "src/cfgparse.l"
04649 
04650 
04651