• Main Page
  • Data Structures
  • Files
  • File List
  • Globals

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 61
00364 #define YY_END_OF_BUFFER 62
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[2634] =
00373     {   0,
00374      8193,16385,   62,   60,   61,   55,   60,   61,   48,   61,
00375        60,   61,   60,   61,    6,   60,   61,   59,   60,   61,
00376        59,   60,   61,   59,   60,   61,   59,   60,   61,   59,
00377        60,   61,   59,   60,   61,   59,   60,   61,   59,   60,
00378        61,   59,   60,   61,   59,   60,   61,   59,   60,   61,
00379        59,   60,   61,   59,   60,   61,   59,   60,   61,   59,
00380        60,   61,   60,   61,   55,   60,   61,    4,   60,   61,
00381        49,   55,   60,   61,   49,   55,   60,   61,   50,   55,
00382        60,   61,   50,   55,   60,   61,   51,   55,   60,   61,
00383        51,   55,   60,   61,   52,   55,   60,   61,    6,   58,
00384 
00385        60,   61,   58,   59,   60,   61,   58,   59,   60,   61,
00386        58,   59,   60,   61,   58,   59,   60,   61,   58,   59,
00387        60,   61,   58,   59,   60,   61,   58,   59,   60,   61,
00388        58,   59,   60,   61,   58,   59,   60,   61,   58,   59,
00389        60,   61,   58,   59,   60,   61,   58,   59,   60,   61,
00390        58,   59,   60,   61,   58,   59,   60,   61,   58,   59,
00391        60,   61,   58,   60,   61,   52,   55,   60,   61,    2,
00392        60,   61,    2,   55,   60,   61,    2,   60,   61,    2,
00393        60,   61,    2,    6,   60,   61,    2,   59,   60,   61,
00394         2,   59,   60,   61,    2,   59,   60,   61,    2,   59,
00395 
00396        60,   61,    2,   59,   60,   61,    2,   59,   60,   61,
00397         2,   59,   60,   61,    2,   59,   60,   61,    2,   59,
00398        60,   61,    2,   59,   60,   61,    2,   59,   60,   61,
00399         2,   59,   60,   61,    2,   59,   60,   61,    2,   59,
00400        60,   61,    2,   59,   60,   61,    2,   60,   61,    2,
00401        55,   60,   61,    2,    4,   60,   61,   57,   60,   61,
00402        48,   57,   61,   57,   60,   61,   57,   60,   61,    6,
00403        57,   60,   61,   57,   59,   60,   61,   57,   59,   60,
00404        61,   57,   59,   60,   61,   57,   59,   60,   61,   57,
00405        59,   60,   61,   57,   59,   60,   61,   57,   59,   60,
00406 
00407        61,   57,   59,   60,   61,   57,   59,   60,   61,   57,
00408        59,   60,   61,   57,   59,   60,   61,   57,   59,   60,
00409        61,   57,   59,   60,   61,   57,   59,   60,   61,   57,
00410        59,   60,   61,   57,   60,   61,    4,   57,   60,   61,
00411         5,    6,   60,   61,    5,   59,   60,   61,    5,   59,
00412        60,   61,    5,   59,   60,   61,    5,   59,   60,   61,
00413         5,   59,   60,   61,    5,   59,   60,   61,   53,   55,
00414        60,   61,   53,   55,   60,   61,   54,   55,   60,   61,
00415         3,   60,   61,    3,    6,   60,   61,    3,   59,   60,
00416        61,    3,   59,   60,   61,    3,   59,   60,   61,    3,
00417 
00418        59,   60,   61,    3,   59,   60,   61,    3,   59,   60,
00419        61,    3,   59,   60,   61,    3,   59,   60,   61,    3,
00420        59,   60,   61,    3,   59,   60,   61,    3,   59,   60,
00421        61,    3,   59,   60,   61,    3,   59,   60,   61,    3,
00422        59,   60,   61,    3,   59,   60,   61,   54,   55,   60,
00423        61,   61, 8193,   61,16385, 8193,   61,   61,   55,   48,
00424         6,   59,   59,   59,   59,   59,   59,   59,   59,   59,
00425        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
00426        59,   59,   59,   59,   55,    4,    4,   49,   55,   49,
00427        55,   50,   55,   50,   55,   51,   55,   51,   55,   52,
00428 
00429        55,    6,   58,   58,   58,   59,   58,   59,   58,   59,
00430        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00431        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00432        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00433        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00434        52,   55,    2,    2,   55,    2,    2,    6,    2,   59,
00435         2,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00436         2,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00437         2,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00438         2,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00439 
00440         2,   59,    2,   59,    2,    2,   55,    2,    4,    2,
00441         4,   57,   48,   57,   57,    6,   57,   57,   59,   57,
00442        59,   57,   59,   57,   59,   57,   59,   57,   59,   57,
00443        59,   57,   59,   57,   59,   57,   59,   57,   59,   57,
00444        59,   57,   59,   57,   59,   57,   59,   57,   59,   57,
00445        59,   57,   59,   57,   59,   57,   59,   57,   59,   57,
00446        59,   57,   59,   57,    4,   57,    5,    6,    5,    5,
00447        59,    5,   59,    5,   59,   53,   55,   53,   55,   54,
00448        55,    3,    3,    6,    3,   59,    3,   59,    3,   59,
00449         3,   59,    3,   59,    3,   59,    3,   59,    3,   59,
00450 
00451         3,   59,    3,   59,    3,   59,    3,   59,    3,   59,
00452         3,   59,    3,   59,    3,   59,    3,   59,    3,   59,
00453         3,   59,    3,   59,    3,   59,    3,   59,    3,   59,
00454        54,   55, 8193,16385, 8193,   56,   59,   59,   59,   59,
00455        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
00456        59,   59,   59,   59,   17,   59,   59,   59,   59,   59,
00457        59,   47,   58,   59,   58,   59,   58,   59,   58,   59,
00458        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00459        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00460        58,   59,   58,   59,   58,   59,   58,   59,   17,   58,
00461 
00462        59,   58,   59,   58,   59,   58,   59,   58,   59,   58,
00463        59,    2,   56,    2,   59,    2,   59,    2,   59,    2,
00464        59,    2,   59,    2,   59,    2,   59,    2,   59,    2,
00465        59,    2,   59,    2,   59,    2,   59,    2,   59,    2,
00466        59,    2,   59,    2,   59,    2,   59,    2,   59,    2,
00467        17,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00468         2,   59,    2,   47,   56,   57,   57,   59,   57,   59,
00469        57,   59,   57,   59,   57,   59,   57,   59,   57,   59,
00470        57,   59,   57,   59,   57,   59,   57,   59,   57,   59,
00471        57,   59,   57,   59,   57,   59,   57,   59,   57,   59,
00472 
00473        57,   59,   17,   57,   59,   57,   59,   57,   59,   57,
00474        59,   57,   59,   57,   59,   47,   57,    5,   59,    3,
00475        59,    3,   59,    3,   59,    3,   59,    3,   59,    3,
00476        59,    3,   59,    3,   59,    3,   59,    3,   59,    3,
00477        59,    3,   59,    3,   59,    3,   59,    3,   59,    3,
00478        59,    3,   59,    3,   59,    3,   17,   59,    3,   59,
00479         3,   59,    3,   59,    3,   59,    3,   59,   59,   59,
00480         8,   59,   59,   28,   59,   59,   45,   59,   59,   30,
00481        59,   59,   59,   15,   59,   38,   39,   40,   41,   42,
00482         7,   59,   59,   29,   59,   59,   17,   17,   59,   59,
00483 
00484        59,   59,   59,   59,   58,   59,   58,   58,   59,    8,
00485        58,   59,   58,   59,   28,   58,   59,   58,   59,   45,
00486        58,   59,   58,   59,   30,   58,   59,   58,   59,   58,
00487        59,   15,   58,   59,   58,   38,   58,   39,   58,   40,
00488        58,   41,   58,   42,   58,    7,   58,   59,   58,   58,
00489        59,   29,   58,   59,   58,   59,   17,   58,   17,   58,
00490        59,   58,   59,   58,   59,   58,   59,   58,   59,   58,
00491        59,    2,   59,    2,    2,   59,    2,    8,   59,    2,
00492        59,    2,   28,   59,    2,   59,    2,   45,   59,    2,
00493        59,    2,   30,   59,    2,   59,    2,   59,    2,   15,
00494 
00495        59,    2,    2,    2,   38,    2,   39,    2,   40,    2,
00496        41,    2,   42,    2,    7,   59,    2,    2,   59,    2,
00497        29,   59,    2,   59,    2,   17,    2,   17,   59,    2,
00498        59,    2,   59,    2,   59,    2,   59,    2,   59,   57,
00499        59,   57,   57,   59,    8,   57,   59,   57,   59,   28,
00500        57,   59,   57,   59,   45,   57,   59,   57,   59,   30,
00501        57,   59,   57,   59,   57,   59,   15,   57,   59,   57,
00502        57,   38,   57,   39,   57,   40,   57,   41,   57,   42,
00503        57,    7,   57,   59,   57,   57,   59,   29,   57,   59,
00504        57,   59,   17,   57,   17,   57,   59,   57,   59,   57,
00505 
00506        59,   57,   59,   57,   59,   57,   59,    5,   59,    3,
00507        59,    3,    3,   59,    3,    8,   59,    3,   59,    3,
00508        28,   59,    3,   59,    3,   45,   59,    3,   59,    3,
00509        30,   59,    3,   59,    3,   59,    3,   15,   59,    3,
00510         3,    3,   38,    3,   39,    3,   40,    3,   41,    3,
00511        42,    3,    7,   59,    3,    3,   59,    3,   29,   59,
00512         3,   59,    3,   17,    3,   17,   59,    3,   59,    3,
00513        59,    3,   59,    3,   59,    3,   59,   59,   59,   59,
00514        59,   59,   59,   59,   59,   59,   59,   59,   46,   59,
00515        59,   59,   59,   59,   58,   59,   58,   58,   58,   59,
00516 
00517        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00518        58,   59,   58,   59,   58,   58,   58,   58,   58,   59,
00519        58,   59,   46,   58,   59,   58,   59,   58,   59,   58,
00520        59,   58,   59,    2,   59,    2,    2,    2,   59,    2,
00521        59,    2,   59,    2,   59,    2,   59,    2,   59,    2,
00522        59,    2,   59,    2,    2,    2,    2,    2,    2,   59,
00523         2,   59,    2,   46,   59,    2,   59,    2,   59,    2,
00524        59,    2,   59,   57,   59,   57,   57,   57,   59,   57,
00525        59,   57,   59,   57,   59,   57,   59,   57,   59,   57,
00526        59,   57,   59,   57,   57,   57,   57,   57,   57,   59,
00527 
00528        57,   59,   46,   57,   59,   57,   59,   57,   59,   57,
00529        59,   57,   59,    3,   59,    3,    3,    3,   59,    3,
00530        59,    3,   59,    3,   59,    3,   59,    3,   59,    3,
00531        59,    3,   59,    3,    3,    3,    3,    3,    3,   59,
00532         3,   59,    3,   46,   59,    3,   59,    3,   59,    3,
00533        59,    3,   59,   16,   59,   59,   59,   59,   59,   59,
00534        59,   59,   59,   12,   59,   13,   59,   59,   26,   59,
00535        59,   59,   16,   58,   59,   58,   58,   58,   58,   59,
00536        58,   59,   58,   59,   58,   59,   58,   59,   58,   59,
00537        58,   59,   58,   59,   58,   58,   58,   58,   58,   12,
00538 
00539        58,   59,   13,   58,   59,   58,   59,   26,   58,   59,
00540        58,   59,   58,   59,    2,   16,   59,    2,    2,    2,
00541         2,   59,    2,   59,    2,   59,    2,   59,    2,   59,
00542         2,   59,    2,   59,    2,   59,    2,    2,    2,    2,
00543         2,    2,    2,   12,   59,    2,   13,   59,    2,    2,
00544        59,    2,   26,   59,    2,   59,    2,   59,   16,   57,
00545        59,   57,   57,   57,   57,   59,   57,   59,   57,   59,
00546        57,   59,   57,   59,   57,   59,   57,   59,   57,   59,
00547        57,   57,   57,   57,   57,   57,   12,   57,   59,   13,
00548        57,   59,   57,   57,   59,   26,   57,   59,   57,   59,
00549 
00550        57,   59,    3,   16,   59,    3,    3,    3,    3,   59,
00551         3,   59,    3,   59,    3,   59,    3,   59,    3,   59,
00552         3,   59,    3,   59,    3,    3,    3,    3,    3,    3,
00553         3,   12,   59,    3,   13,   59,    3,    3,   59,    3,
00554        26,   59,    3,   59,    3,   59,   59,   59,   59,    9,
00555        59,   59,   44,   59,   24,   59,   59,   59,   59,   59,
00556        58,   58,   58,   58,   59,   58,   59,   58,   59,    9,
00557        58,   59,   58,   58,   59,   44,   58,   59,   24,   58,
00558        59,   58,   59,   58,   58,   58,   58,   58,   58,   59,
00559        58,   59,   58,   59,    2,    2,    2,    2,   59,    2,
00560 
00561        59,    2,   59,    2,    9,   59,    2,    2,   59,    2,
00562        44,   59,    2,   24,   59,    2,   59,    2,    2,    2,
00563         2,    2,    2,    2,    2,   59,    2,   59,    2,   59,
00564        57,   57,   57,   57,   59,   57,   59,   57,   59,    9,
00565        57,   59,   57,   57,   59,   44,   57,   59,   24,   57,
00566        59,   57,   59,   57,   57,   57,   57,   57,   57,   57,
00567        57,   59,   57,   59,   57,   59,    3,    3,    3,    3,
00568        59,    3,   59,    3,   59,    3,    9,   59,    3,    3,
00569        59,    3,   44,   59,    3,   24,   59,    3,   59,    3,
00570         3,    3,    3,    3,    3,    3,    3,   59,    3,   59,
00571 
00572         3,   59,   59,   59,   59,   59,   59,   59,   25,   59,
00573        14,   59,   59,   58,   58,   58,   58,   59,   58,   59,
00574        58,   59,   58,   58,   58,   59,   58,   59,   58,   59,
00575        58,   58,   58,   58,   58,   25,   58,   59,   14,   58,
00576        59,   58,   59,    2,    2,    2,    2,   59,    2,   59,
00577         2,   59,    2,    2,    2,   59,    2,   59,    2,   59,
00578         2,    2,    2,    2,    2,    2,    2,    2,   25,   59,
00579         2,   14,   59,    2,   59,   57,   57,   57,   57,   59,
00580        57,   59,   57,   59,   57,   57,   57,   59,   57,   59,
00581        57,   59,   57,   57,   57,   57,   57,   57,   57,   25,
00582 
00583        57,   59,   14,   57,   59,   57,   59,    3,    3,    3,
00584         3,   59,    3,   59,    3,   59,    3,    3,    3,   59,
00585         3,   59,    3,   59,    3,    3,    3,    3,    3,    3,
00586         3,    3,   25,   59,    3,   14,   59,    3,   59,   59,
00587        59,   59,   59,   59,   59,   11,   59,   58,   58,   58,
00588        58,   59,   58,   59,   58,   59,   58,   58,   58,   58,
00589        59,   58,   59,   58,   59,   58,   58,   58,   58,   58,
00590        58,   11,   58,   59,    2,    2,    2,    2,   59,    2,
00591        59,    2,   59,    2,    2,    2,    2,   59,    2,   59,
00592         2,   59,    2,    2,    2,    2,    2,    2,    2,    2,
00593 
00594         2,   11,   59,   57,   57,   57,   57,   59,   57,   59,
00595        57,   59,   57,   57,   57,   57,   59,   57,   59,   57,
00596        59,   57,   57,   57,   57,   57,   57,   57,   57,   11,
00597        57,   59,    3,    3,    3,    3,   59,    3,   59,    3,
00598        59,    3,    3,    3,    3,   59,    3,   59,    3,   59,
00599         3,    3,    3,    3,    3,    3,    3,    3,    3,   11,
00600        59,   37,   59,   59,   37,   59,   59,   59,   59,   18,
00601        19,   21,   58,   58,   37,   58,   58,   59,   58,   59,
00602        37,   58,   59,   58,   58,   58,   58,   59,   58,   59,
00603        58,   59,   58,   58,   19,   58,   58,   58,   21,   58,
00604 
00605        58,    2,    2,    2,   37,    2,   59,    2,   59,    2,
00606        37,   59,    2,    2,    2,    2,   59,    2,   59,    2,
00607        59,    2,    2,    2,   18,    2,   19,    2,    2,    2,
00608        21,    2,    2,   57,   57,   37,   57,   57,   59,   57,
00609        59,   37,   57,   59,   57,   57,   57,   57,   59,   57,
00610        59,   57,   59,   57,   57,   18,   57,   19,   57,   57,
00611        57,   21,   57,   57,   57,    3,    3,    3,   37,    3,
00612        59,    3,   59,    3,   37,   59,    3,    3,    3,    3,
00613        59,    3,   59,    3,   59,    3,    3,    3,   18,    3,
00614        19,    3,    3,    3,   21,    3,    3,   35,   35,   59,
00615 
00616        59,   59,   59,   59,   43,   27,   35,   58,   58,   35,
00617        58,   59,   58,   59,   58,   58,   58,   58,   59,   58,
00618        59,   58,   59,   58,   58,   43,   58,   58,   58,    2,
00619        35,    2,    2,   35,   59,    2,   59,    2,    2,    2,
00620         2,   59,    2,   59,    2,   59,    2,    2,    2,   43,
00621         2,    2,   27,    2,   35,   57,   57,   35,   57,   59,
00622        57,   59,   57,   57,   57,   57,   59,   57,   59,   57,
00623        59,   57,   57,   43,   57,   57,   27,   57,   57,    3,
00624        35,    3,    3,   35,   59,    3,   59,    3,    3,    3,
00625         3,   59,    3,   59,    3,   59,    3,    3,    3,   43,
00626 
00627         3,    3,   27,    3,   59,   59,   59,   59,   58,   58,
00628        59,   58,   58,   58,   58,   59,   58,   59,   58,   59,
00629        58,   58,   58,   58,    2,    2,   59,    2,    2,    2,
00630         2,   59,    2,   59,    2,   59,    2,    2,    2,    2,
00631        57,   57,   59,   57,   57,   57,   57,   59,   57,   59,
00632        57,   59,   57,   57,   57,   57,    3,    3,   59,    3,
00633         3,    3,    3,   59,    3,   59,    3,   59,    3,    3,
00634         3,    3,   36,   36,   59,   34,   59,   59,   34,   59,
00635        20,   23,   36,   58,   36,   58,   59,   58,   58,   34,
00636        58,   58,   59,   58,   59,   34,   58,   59,   58,   58,
00637 
00638        20,   58,   23,   58,    2,   36,    2,   36,   59,    2,
00639         2,    2,   34,    2,   59,    2,   59,    2,   34,   59,
00640         2,    2,    2,   20,    2,   23,   36,   57,   36,   57,
00641        59,   57,   57,   34,   57,   57,   59,   57,   59,   34,
00642        57,   59,   57,   57,   20,   57,   23,   57,    3,   36,
00643         3,   36,   59,    3,    3,    3,   34,    3,   59,    3,
00644        59,    3,   34,   59,    3,    3,    3,   20,    3,   23,
00645        31,   31,   59,   59,   31,   58,   58,   31,   58,   59,
00646        58,   59,   58,   58,    2,   31,    2,    2,   31,   59,
00647         2,   59,    2,    2,   31,   57,   57,   31,   57,   59,
00648 
00649        57,   59,   57,   57,    3,   31,    3,    3,   31,   59,
00650         3,   59,    3,    3,   59,   58,   58,   58,   59,   58,
00651        58,    2,    2,    2,   59,    2,    2,   57,   57,   57,
00652        59,   57,   57,    3,    3,    3,   59,    3,    3,   33,
00653        33,   59,   58,   33,   58,   33,   58,   59,   58,   58,
00654         2,    2,   33,    2,   33,   59,    2,    2,   57,   33,
00655        57,   33,   57,   59,   57,   57,    3,    3,   33,    3,
00656        33,   59,    3,    3,   10,   58,   10,   58,   58,    2,
00657         2,   10,    2,   57,   10,   57,   57,    3,    3,   10,
00658         3,   58,   58,    2,    2,   57,   57,    3,    3,   22,
00659 
00660        58,   22,   58,    2,    2,   22,   57,   22,   57,    3,
00661         3,   22,   58,    2,   57,    3,   58,    2,   57,    3,
00662        58,    2,   57,    3,   32,   32,   58,    2,   32,   32,
00663        57,    3,   32
00664     } ;
00665 
00666 static yyconst flex_int16_t yy_accept[1588] =
00667     {   0,
00668         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00669         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00670         1,    1,    3,    4,    6,    9,   11,   13,   15,   18,
00671        21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
00672        51,   54,   57,   60,   63,   65,   68,   71,   75,   79,
00673        83,   87,   91,   95,   99,  103,  107,  111,  115,  119,
00674       123,  127,  131,  135,  139,  143,  147,  151,  155,  159,
00675       163,  166,  170,  173,  177,  180,  183,  187,  191,  195,
00676       199,  203,  207,  211,  215,  219,  223,  227,  231,  235,
00677       239,  243,  247,  250,  254,  258,  261,  264,  267,  270,
00678 
00679       274,  278,  282,  286,  290,  294,  298,  302,  306,  310,
00680       314,  318,  322,  326,  330,  334,  337,  341,  345,  349,
00681       353,  357,  361,  365,  369,  373,  377,  381,  384,  388,
00682       392,  396,  400,  404,  408,  412,  416,  420,  424,  428,
00683       432,  436,  440,  444,  448,  452,  453,  456,  458,  459,
00684       460,  461,  461,  462,  463,  464,  465,  466,  467,  468,
00685       469,  470,  471,  472,  473,  474,  475,  476,  477,  478,
00686       479,  480,  481,  482,  483,  484,  485,  485,  486,  487,
00687       488,  490,  492,  494,  496,  498,  500,  502,  504,  505,
00688       507,  509,  511,  513,  515,  517,  519,  521,  523,  525,
00689 
00690       527,  529,  531,  533,  535,  537,  539,  541,  543,  545,
00691       547,  549,  551,  553,  554,  556,  557,  559,  561,  563,
00692       565,  567,  569,  571,  573,  575,  577,  579,  581,  583,
00693       585,  587,  589,  591,  593,  595,  597,  599,  601,  603,
00694       605,  606,  608,  610,  612,  613,  615,  616,  618,  620,
00695       622,  624,  626,  628,  630,  632,  634,  636,  638,  640,
00696       642,  644,  646,  648,  650,  652,  654,  656,  658,  660,
00697       662,  664,  665,  667,  669,  670,  672,  674,  676,  678,
00698       680,  682,  683,  685,  687,  689,  691,  693,  695,  697,
00699       699,  701,  703,  705,  707,  709,  711,  713,  715,  717,
00700 
00701       719,  721,  723,  725,  727,  729,  731,  733,  735,  736,
00702       736,  737,  738,  739,  740,  741,  742,  743,  744,  745,
00703       746,  747,  748,  749,  750,  751,  752,  753,  754,  755,
00704       757,  758,  759,  760,  761,  762,  763,  765,  767,  769,
00705       771,  773,  775,  777,  779,  781,  783,  785,  787,  789,
00706       791,  793,  795,  797,  799,  802,  804,  806,  808,  810,
00707       812,  814,  816,  818,  820,  822,  824,  826,  828,  830,
00708       832,  834,  836,  838,  840,  842,  844,  846,  848,  850,
00709       853,  855,  857,  859,  861,  863,  865,  867,  869,  871,
00710       873,  875,  877,  879,  881,  883,  885,  887,  889,  891,
00711 
00712       893,  895,  897,  899,  901,  903,  906,  908,  910,  912,
00713       914,  916,  918,  920,  922,  924,  926,  928,  930,  932,
00714       934,  936,  938,  940,  942,  944,  946,  948,  950,  952,
00715       954,  956,  959,  961,  963,  965,  967,  969,  970,  970,
00716       971,  973,  974,  976,  977,  979,  980,  982,  983,  984,
00717       986,  986,  986,  987,  988,  989,  990,  991,  993,  993,
00718       994,  996,  997,  998, 1000, 1001, 1002, 1003, 1004, 1005,
00719      1007, 1008, 1010, 1013, 1015, 1018, 1020, 1023, 1025, 1028,
00720      1030, 1032, 1035, 1036, 1038, 1040, 1042, 1044, 1046, 1049,
00721      1050, 1052, 1055, 1057, 1059, 1062, 1064, 1066, 1068, 1070,
00722 
00723      1072, 1074, 1075, 1077, 1080, 1082, 1085, 1087, 1090, 1092,
00724      1095, 1097, 1099, 1102, 1103, 1104, 1106, 1108, 1110, 1112,
00725      1114, 1117, 1118, 1120, 1123, 1125, 1127, 1130, 1132, 1134,
00726      1136, 1138, 1140, 1142, 1143, 1145, 1148, 1150, 1153, 1155,
00727      1158, 1160, 1163, 1165, 1167, 1170, 1171, 1172, 1174, 1176,
00728      1178, 1180, 1182, 1185, 1186, 1188, 1191, 1193, 1195, 1198,
00729      1200, 1202, 1204, 1206, 1208, 1210, 1212, 1213, 1215, 1218,
00730      1220, 1223, 1225, 1228, 1230, 1233, 1235, 1237, 1240, 1241,
00731      1242, 1244, 1246, 1248, 1250, 1252, 1255, 1256, 1258, 1261,
00732      1263, 1265, 1268, 1270, 1272, 1274, 1276, 1278, 1279, 1279,
00733 
00734      1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1287,
00735      1287, 1287, 1287, 1287, 1288, 1289, 1291, 1292, 1293, 1294,
00736      1295, 1297, 1298, 1299, 1301, 1303, 1305, 1307, 1309, 1311,
00737      1313, 1315, 1316, 1317, 1318, 1319, 1321, 1323, 1326, 1328,
00738      1330, 1332, 1334, 1336, 1337, 1338, 1340, 1342, 1344, 1346,
00739      1348, 1350, 1352, 1354, 1355, 1356, 1357, 1358, 1359, 1361,
00740      1363, 1366, 1368, 1370, 1372, 1374, 1376, 1377, 1378, 1380,
00741      1382, 1384, 1386, 1388, 1390, 1392, 1394, 1395, 1396, 1397,
00742      1398, 1399, 1401, 1403, 1406, 1408, 1410, 1412, 1414, 1416,
00743      1417, 1418, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434,
00744 
00745      1435, 1436, 1437, 1438, 1439, 1441, 1443, 1446, 1448, 1450,
00746      1452, 1454, 1456, 1456, 1456, 1456, 1457, 1458, 1459, 1460,
00747      1461, 1462, 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
00748      1466, 1468, 1468, 1469, 1471, 1472, 1473, 1476, 1477, 1478,
00749      1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, 1496,
00750      1497, 1498, 1499, 1500, 1503, 1506, 1508, 1511, 1513, 1515,
00751      1518, 1519, 1520, 1521, 1523, 1525, 1527, 1529, 1531, 1533,
00752      1535, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1546, 1549,
00753      1550, 1552, 1555, 1557, 1559, 1562, 1563, 1564, 1565, 1567,
00754      1569, 1571, 1573, 1575, 1577, 1579, 1581, 1582, 1583, 1584,
00755 
00756      1585, 1586, 1587, 1590, 1593, 1594, 1596, 1599, 1601, 1603,
00757      1606, 1607, 1608, 1609, 1611, 1613, 1615, 1617, 1619, 1621,
00758      1623, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1634, 1637,
00759      1638, 1640, 1643, 1645, 1647, 1647, 1647, 1647, 1648, 1649,
00760      1650, 1652, 1652, 1653, 1655, 1657, 1658, 1658, 1658, 1658,
00761      1658, 1658, 1658, 1658, 1659, 1660, 1661, 1662, 1663, 1664,
00762      1666, 1668, 1670, 1673, 1674, 1676, 1679, 1682, 1684, 1685,
00763      1686, 1687, 1688, 1689, 1691, 1693, 1695, 1696, 1697, 1698,
00764      1700, 1702, 1704, 1707, 1708, 1710, 1713, 1716, 1718, 1719,
00765      1720, 1721, 1722, 1723, 1724, 1725, 1727, 1729, 1731, 1732,
00766 
00767      1733, 1734, 1736, 1738, 1740, 1743, 1744, 1746, 1749, 1752,
00768      1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1763, 1765,
00769      1767, 1768, 1769, 1770, 1772, 1774, 1776, 1779, 1780, 1782,
00770      1785, 1788, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797,
00771      1799, 1801, 1803, 1803, 1803, 1803, 1804, 1805, 1806, 1806,
00772      1806, 1807, 1808, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
00773      1809, 1811, 1813, 1814, 1815, 1816, 1817, 1819, 1821, 1823,
00774      1824, 1825, 1827, 1829, 1831, 1832, 1833, 1834, 1835, 1836,
00775      1839, 1842, 1844, 1845, 1846, 1847, 1849, 1851, 1853, 1854,
00776      1855, 1857, 1859, 1861, 1862, 1863, 1864, 1865, 1866, 1867,
00777 
00778      1868, 1871, 1874, 1876, 1877, 1878, 1879, 1881, 1883, 1885,
00779      1886, 1887, 1889, 1891, 1893, 1894, 1895, 1896, 1897, 1898,
00780      1899, 1900, 1903, 1906, 1908, 1909, 1910, 1911, 1913, 1915,
00781      1917, 1918, 1919, 1921, 1923, 1925, 1926, 1927, 1928, 1929,
00782      1930, 1931, 1932, 1935, 1938, 1940, 1940, 1940, 1940, 1941,
00783      1942, 1943, 1943, 1943, 1943, 1944, 1945, 1946, 1946, 1946,
00784      1946, 1946, 1946, 1946, 1946, 1946, 1948, 1949, 1950, 1951,
00785      1953, 1955, 1957, 1958, 1959, 1960, 1962, 1964, 1966, 1967,
00786      1968, 1969, 1970, 1971, 1972, 1975, 1976, 1977, 1978, 1980,
00787      1982, 1984, 1985, 1986, 1987, 1989, 1991, 1993, 1994, 1995,
00788 
00789      1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007,
00790      2009, 2011, 2013, 2014, 2015, 2016, 2018, 2020, 2022, 2023,
00791      2024, 2025, 2026, 2027, 2028, 2029, 2030, 2033, 2034, 2035,
00792      2036, 2038, 2040, 2042, 2043, 2044, 2045, 2047, 2049, 2051,
00793      2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2062, 2062,
00794      2062, 2063, 2064, 2065, 2067, 2067, 2067, 2067, 2068, 2069,
00795      2070, 2070, 2070, 2071, 2072, 2072, 2072, 2073, 2073, 2073,
00796      2074, 2075, 2077, 2079, 2081, 2084, 2085, 2086, 2087, 2089,
00797      2091, 2093, 2094, 2095, 2097, 2098, 2099, 2101, 2102, 2103,
00798      2104, 2106, 2108, 2110, 2113, 2114, 2115, 2116, 2118, 2120,
00799 
00800      2122, 2123, 2124, 2126, 2128, 2129, 2130, 2132, 2133, 2134,
00801      2135, 2136, 2138, 2140, 2142, 2145, 2146, 2147, 2148, 2150,
00802      2152, 2154, 2155, 2156, 2158, 2160, 2161, 2162, 2164, 2165,
00803      2166, 2167, 2168, 2170, 2172, 2174, 2177, 2178, 2179, 2180,
00804      2182, 2184, 2186, 2187, 2188, 2190, 2192, 2193, 2194, 2196,
00805      2197, 2198, 2199, 2199, 2201, 2202, 2202, 2202, 2202, 2203,
00806      2204, 2205, 2205, 2205, 2206, 2206, 2207, 2207, 2209, 2210,
00807      2213, 2215, 2216, 2217, 2218, 2220, 2222, 2224, 2225, 2226,
00808      2228, 2229, 2230, 2232, 2233, 2236, 2238, 2239, 2240, 2241,
00809      2243, 2245, 2247, 2248, 2249, 2251, 2252, 2254, 2255, 2257,
00810 
00811      2258, 2261, 2263, 2264, 2265, 2266, 2268, 2270, 2272, 2273,
00812      2274, 2276, 2277, 2279, 2280, 2282, 2283, 2286, 2288, 2289,
00813      2290, 2291, 2293, 2295, 2297, 2298, 2299, 2301, 2302, 2304,
00814      2305, 2305, 2306, 2306, 2306, 2306, 2307, 2308, 2309, 2309,
00815      2309, 2309, 2309, 2310, 2312, 2313, 2314, 2315, 2317, 2319,
00816      2321, 2322, 2323, 2324, 2325, 2326, 2328, 2329, 2330, 2331,
00817      2333, 2335, 2337, 2338, 2339, 2340, 2341, 2342, 2344, 2345,
00818      2346, 2347, 2349, 2351, 2353, 2354, 2355, 2356, 2357, 2358,
00819      2360, 2361, 2362, 2363, 2365, 2367, 2369, 2370, 2371, 2372,
00820      2373, 2374, 2376, 2376, 2376, 2377, 2378, 2379, 2381, 2381,
00821 
00822      2381, 2382, 2383, 2385, 2388, 2389, 2390, 2392, 2394, 2396,
00823      2399, 2400, 2401, 2403, 2405, 2407, 2410, 2411, 2412, 2414,
00824      2416, 2418, 2421, 2422, 2423, 2425, 2427, 2429, 2432, 2433,
00825      2434, 2436, 2438, 2440, 2443, 2444, 2445, 2447, 2449, 2451,
00826      2454, 2455, 2456, 2458, 2460, 2462, 2465, 2466, 2467, 2469,
00827      2471, 2472, 2472, 2474, 2475, 2475, 2475, 2477, 2478, 2481,
00828      2483, 2484, 2485, 2487, 2488, 2491, 2493, 2494, 2495, 2497,
00829      2498, 2501, 2503, 2504, 2505, 2507, 2508, 2511, 2513, 2514,
00830      2515, 2515, 2515, 2516, 2516, 2516, 2517, 2518, 2520, 2521,
00831      2522, 2523, 2524, 2526, 2527, 2528, 2529, 2530, 2532, 2533,
00832 
00833      2534, 2535, 2536, 2538, 2539, 2540, 2540, 2541, 2543, 2543,
00834      2543, 2544, 2546, 2549, 2550, 2551, 2552, 2554, 2557, 2558,
00835      2559, 2560, 2562, 2565, 2566, 2567, 2568, 2570, 2573, 2574,
00836      2575, 2575, 2576, 2576, 2577, 2579, 2580, 2581, 2583, 2584,
00837      2585, 2587, 2588, 2589, 2591, 2592, 2592, 2592, 2593, 2594,
00838      2595, 2596, 2597, 2598, 2599, 2600, 2600, 2601, 2602, 2604,
00839      2605, 2607, 2608, 2610, 2611, 2613, 2613, 2614, 2615, 2616,
00840      2617, 2617, 2618, 2619, 2620, 2621, 2621, 2622, 2623, 2624,
00841      2625, 2626, 2628, 2630, 2632, 2634, 2634
00842     } ;
00843 
00844 static yyconst flex_int32_t yy_ec[256] =
00845     {   0,
00846         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00847         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
00848         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00849         1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
00850         1,    1,    1,    1,    7,    1,    1,    8,    9,   10,
00851        11,   12,   13,    8,    8,    8,    8,    1,    1,    1,
00852         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
00853        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
00854        23,   30,   31,   32,   33,   34,   35,   36,   37,   23,
00855         1,    1,    1,    1,   38,    1,   39,   40,   41,   42,
00856 
00857        43,   44,   45,   46,   47,   23,   48,   49,   50,   51,
00858        52,   53,   23,   54,   55,   56,   57,   58,   59,   60,
00859        61,   23,    1,    1,    1,    1,    1,    1,    1,    1,
00860         1,    1,    1,   62,    1,    1,    1,    1,    1,    1,
00861         1,    1,    1,    1,    1,   63,    1,    1,    1,    1,
00862         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00863         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00864         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00865         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00866         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00867 
00868         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00869         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00870         1,    1,    1,    1,    1,   64,    1,    1,    1,    1,
00871         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00872         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00873         1,    1,    1,    1,    1
00874     } ;
00875 
00876 static yyconst flex_int32_t yy_meta[65] =
00877     {   0,
00878         1,    2,    3,    1,    4,    1,    5,    6,    6,    6,
00879         6,    6,    6,    7,    7,    7,    7,    7,    7,    8,
00880         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00881         8,    8,    8,    8,    8,    8,    8,    9,    7,    7,
00882         7,    7,    7,    7,    8,    8,    8,    8,    8,    8,
00883         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
00884         8,    1,    1,    1
00885     } ;
00886 
00887 static yyconst flex_int16_t yy_base[1626] =
00888     {   0,
00889         0,   63, 1054,   64, 1050,   65, 1049,   66,   72,  135,
00890       141,  204,  210,  273,  272,  290, 1042,  291,  316,  292,
00891         0,  135, 1041, 6873, 1023, 6873, 1018,    0,  291,  350,
00892       368,  360,  365,  350,  368,    0,  358,  361,  376,  364,
00893       370,  407,  388,  372,  956,  303,    0,  982,  304,  981,
00894       389,  977,  397,  951,  424,  433,  481,  515,  433,  438,
00895       483,  440,  492,  522,  495,  519,  551,  590,  541,  563,
00896         0,  412,    0,  947,  941,  204,  457,  646,  710,  761,
00897       578,  602,  646,  579,  647,  650,  711,  712,  713,  804,
00898       724,  762,  844,  424,    0,    0,    0,  891,  399,  769,
00899 
00900       860,  924,  975,  748,  780,  807,  666,  860,  862,  861,
00901       863,  864, 1018,  925,  926,  825,  274,  947, 1067,  784,
00902       949,  539,  447,  968,  851,  455,  850,    0, 1000, 1116,
00903      1165, 1199, 1015, 1098, 1021,  714, 1016, 1091, 1117,  928,
00904      1118, 1242, 1141, 1167,  480, 6873,  304, 6873,  846,  842,
00905      6873,  806, 1079,    0,  418,  445,  473,  434,  500,  518,
00906       440,  483,  547,  593,  537,  539,  548,  557,  560,  609,
00907       610,  583,  626,  630,  613,  645,  744,  510,    0,    0,
00908       802,  621,  797,  626,  790,  677,  786, 1091,    0,  717,
00909      1168, 1171, 1169, 1122, 1218, 1214, 1215, 1257, 1183, 1264,
00910 
00911      1279, 1270, 1288, 1292, 1294, 1316, 1318, 1320, 1322, 1357,
00912      1338, 1359,  685,    0,  783,  435, 1140, 1344, 1362, 1364,
00913      1368, 1386, 1402, 1398, 1416, 1418, 1420, 1442, 1457, 1460,
00914      1456, 1462, 1478, 1492, 1494, 1400, 1497, 1513, 1510, 1529,
00915       684,  690,    0,    0,    0,    0,  513, 1561, 1516, 1553,
00916      1563, 1564, 1540, 1574, 1575, 1605, 1598, 1604, 1620, 1641,
00917      1636, 1646, 1640, 1651, 1662, 1675, 1652, 1655, 1689, 1703,
00918      1704,  674,  584, 1736,    0,  651,  803,  793,  688,  701,
00919       679,    0, 1751, 1751, 1752, 1754, 1753, 1755, 1789, 1783,
00920      1804, 1803, 1805, 1831, 1840, 1846, 1845, 1851, 1875, 1847,
00921 
00922      1877, 1773, 1827, 1881, 1897, 1901,  738,  793, 6873,  632,
00923      6873,  708, 1955,  726,  785,  807,  849,  863,  791,  839,
00924       879,  862,  865,  666, 1960,  576,  888,  914,  908, 2019,
00925       947,  954,  975,  926,  958, 6873, 1891, 2083, 1960, 1936,
00926      1967, 2019, 1962, 1966, 2020, 2021, 2023, 2083, 2064, 2115,
00927      2025, 2026, 2118, 2095, 2173, 2030, 2090, 2121, 2150, 2174,
00928         0, 2148, 2237, 2177, 2187, 2237, 2238, 2239, 2193, 2240,
00929      2243, 2258, 2281, 2295, 2334, 2284, 2282, 2310, 2336, 2383,
00930      2383, 2339, 2384, 2386, 2387,    0,    0, 2393, 2447, 2447,
00931      2448, 2449, 2451, 2453, 2454, 2483, 2492, 2494, 2503, 2506,
00932 
00933      2551, 2532, 2552, 2501, 2554, 2605, 2581, 2605, 2608, 2610,
00934      2615,    0, 1178, 2612, 2669, 2644, 2670, 2671, 2673, 2675,
00935      2676, 2705, 2689, 2716, 2721, 2740, 2781, 2720, 2781, 2782,
00936      2758, 2837, 2813, 2784, 2839, 2837, 2842,  974, 1009, 1233,
00937       961,  975,    0, 1017,    0, 1015,    0, 1061, 1063,    0,
00938      1066, 1111, 6873, 6873, 6873, 6873, 6873,  559, 1278, 1129,
00939         0, 1098,    0, 2901, 1170, 1225, 1229, 1260, 1266, 2901,
00940      1501, 2903, 2902, 2904, 2905, 2915, 2939, 2944, 2945, 2957,
00941      2959, 2958, 1294,    0,    0,    0,    0,    0, 2971, 1364,
00942      2986, 2960, 2998, 2810, 3045, 3045, 3046, 3022, 3049, 3050,
00943 
00944      3084, 1752, 3081, 3088, 3110, 3052, 3112, 3108, 3130, 3126,
00945      3132, 3131, 3136, 1320, 1333,    0,    0,    0,    0,    0,
00946      3146, 1427, 3158, 3160, 3178,    0, 3225, 3225, 3226, 3202,
00947      3167, 3229, 3232, 2307, 3247, 3261, 3268, 3271, 3283, 3284,
00948      3287, 3289, 3303, 3307, 3310, 1371, 1435,    0,    0,    0,
00949         0,    0, 3325, 1507, 3319, 3326, 3353,  839, 3400, 3400,
00950      3331, 3376, 3346, 3402, 1549, 3406, 2384, 3421, 3403, 3445,
00951      3422, 3452, 3461, 3465, 3463, 3479, 3466, 3481, 1457, 1466,
00952         0,    0,    0,    0,    0, 3493, 1697, 3503, 3502, 3505,
00953      3552, 3616, 3523, 3537, 3525, 3524, 3551, 1478, 1579, 2139,
00954 
00955      1581, 2309, 1603, 1614, 1667, 1675, 1340,  530, 1678, 1687,
00956      1723, 1727, 1399, 1750, 1759,    0, 1705, 1433, 1788, 1802,
00957      3553, 1848, 2710, 3555, 3616, 3552, 3617, 3619, 3637, 3564,
00958      3622, 1874, 1877, 1889, 1463, 3618, 3661, 3663, 3675, 3676,
00959      3677, 3691, 3707, 1890, 2840, 3703, 3713, 3731, 3727, 3734,
00960      3755, 3743, 3749, 1897, 1901, 1955, 1963, 1534, 3771, 3762,
00961      3777, 3793, 3797, 3798, 3809, 3807, 1964, 2841, 3829, 3833,
00962      3828, 3839, 3855, 3871, 3783, 3852, 2048, 2092, 2172, 2176,
00963      1543, 3883, 3884, 3878, 3894, 3907, 3905, 3914, 3923, 2203,
00964      3085, 3912, 3933, 3944, 3943, 3957, 3964, 3954, 3978, 2241,
00965 
00966      2255, 2283, 2385, 1890, 3980, 3993, 3984, 4007, 4016, 4020,
00967      4021,    0, 2100, 2148, 2188, 2388, 2395, 2398, 2394, 4074,
00968      2454, 2480, 2492, 2533, 2539, 2541, 2499, 2551, 2613,    0,
00969         0, 2616, 2645,    0, 2553, 2617, 4023, 2700, 2706, 2725,
00970      4050, 4074, 4078, 4080, 4138, 4085, 4138, 4139, 2737, 2741,
00971      2716, 2756, 2757, 4081, 4094, 4140, 4141, 4142, 4160, 4170,
00972      2814, 2814, 2820, 4181, 4191, 4184, 4210, 4260, 4194, 4260,
00973      4212, 2951, 2986, 2987, 2750, 2775, 2842, 4236, 4262, 2855,
00974      4263, 4264, 4265, 4266, 4286, 3001, 3004, 3042, 4304, 4313,
00975      4314, 4315, 4365, 4365, 4366, 4369, 3067, 3100, 3160, 2861,
00976 
00977      2905, 2960, 4316, 4317, 2990, 4370, 4371, 4372, 4385, 4401,
00978      3178, 3179, 3183, 4417, 4416, 4422, 4423, 4473, 4473, 4474,
00979      4477, 3223, 3237, 3286, 3321, 3370, 3404, 4412, 4454, 3421,
00980      4478, 4480, 4493, 4504, 3419, 3462, 3343, 3476, 3553, 3356,
00981         0, 3662, 4139,    0,    0, 3428, 3560, 3571, 3586, 3679,
00982      3616, 3690, 3689, 3727, 3643, 3792, 3676, 3709, 3861, 4509,
00983      4524, 4531, 4525, 4262, 4536, 4540, 4543, 4572, 3723, 3793,
00984      3866, 3796, 3931, 4575, 4559, 4585, 3802, 3886, 3979, 4582,
00985      4588, 4591, 4609, 4609, 4630, 4611, 4623, 4637, 3996, 4004,
00986      4017, 4004, 4017, 4073, 4079, 4651, 4650, 4664, 4020, 4077,
00987 
00988      4150, 4669, 4678, 4696, 4646, 4676, 4705, 4690, 4693, 4714,
00989      4083, 4194, 4197, 4190, 4259, 4198, 4205, 4728, 4732, 4744,
00990      4260, 4269, 4363, 4741, 4750, 4768, 4754, 4712, 4773, 4782,
00991      4786, 4796, 4330, 4377, 4417, 4424, 4434, 4430, 4467, 4812,
00992      4814, 4826, 4478, 4518, 4517, 4530, 4602, 4540, 4560, 4817,
00993      4627, 4825,  522, 4698, 4618, 4670, 4709, 4770, 4742, 4773,
00994         0,    0, 4795, 4772, 4808, 4795, 4823, 4842, 4855, 4822,
00995      4845, 4870, 4873, 4866, 4841, 4842, 4854, 4877, 4869, 4879,
00996      4893, 4911, 4880, 4898, 4892, 4914, 4933, 4924, 4913, 4930,
00997      4948, 4963, 4969, 4917, 4905, 4913, 4912, 4920, 4936, 4947,
00998 
00999      4964, 4982, 4987, 4951, 4951, 4962, 5001, 5006, 5011, 4966,
01000      5009, 5027, 5037, 5005, 5012, 4981, 5028, 5022, 5043, 5037,
01001      5042, 5055, 5058, 5081, 5052, 5057, 5058, 5079, 5090, 5094,
01002      5059, 5092, 5116, 5126, 5113, 5065, 5057, 5099, 5083, 5111,
01003      5095, 5128, 5135, 5144, 5153, 5118, 5129, 5132, 5141, 5136,
01004      5138, 5156, 5157, 5159, 5165, 5166, 5167, 5163, 5165, 5163,
01005      5166, 5183, 5180, 5170, 5181,  508, 5189, 5176, 5179, 5203,
01006      5201, 5204, 5200, 5201, 5210, 5240, 5225, 5239, 5223, 5227,
01007      5233, 5222, 5235, 5231, 5253, 5250, 5237, 5239, 5283, 5263,
01008      5284, 5258, 5264, 5268, 5295, 5305, 5315, 5254, 5289, 5283,
01009 
01010      5289, 5287, 5285, 5298, 5296, 5333, 5307, 5308, 5314, 5345,
01011      5342, 5344, 5332, 5334, 5341, 5363, 5368, 5381, 5343, 5349,
01012      5362, 5365, 5389, 5384, 5373, 5387, 5397, 5395, 5383, 5385,
01013      5411, 5423, 5425, 5407, 5405, 5407, 5437, 5446, 5447, 5396,
01014      5417, 5423, 5431, 5455, 5451, 5440, 5455, 5469, 5471, 5451,
01015      6873, 5472, 5464,    0, 5464, 5472, 5483, 5470, 5476, 5487,
01016      5481, 5482, 6873, 6873, 5490, 5488, 6873, 5485, 5497, 5501,
01017      5489,    0, 5518, 5524, 5509, 5492, 5501, 5504, 5528, 5544,
01018      5555, 5524, 5526,    0, 5524, 5535,    0, 5544, 5547, 5537,
01019         0, 5573, 5566, 5560, 5560, 5572, 5563, 5589, 5604, 5605,
01020 
01021      5573, 5581,    0,    0, 5583, 5583,    0, 5582, 5601, 5613,
01022      5604,    0, 5623, 5635, 5625, 5620, 5626, 5624, 5636, 5657,
01023      5673, 5632, 5640,    0,    0, 5640, 5646,    0, 5644, 5648,
01024      5663, 5658,    0, 5684, 5680, 5685, 5677, 5686, 5685, 5703,
01025      5715, 5726, 5687, 5693,    0,    0, 5687, 5695,    0, 5715,
01026      5715, 6873, 5723,    0, 5731, 5720, 5736, 5729, 5726, 5737,
01027      5731, 5742, 5726, 6873, 5745, 6873, 5750,    0, 5750, 5765,
01028      5772, 5741, 5754, 5749, 5777, 5787, 5791, 5775, 5748,    0,
01029      5779, 5784,    0, 5784, 5792, 5807, 5789, 5794, 5806, 5827,
01030      5829, 5826, 5819, 5812,    0, 5819,    0, 5841,    0, 5838,
01031 
01032      5845, 5861, 5832, 5844, 5837, 5864, 5875, 5879, 5852, 5837,
01033         0, 5872,    0, 5884,    0, 5881, 5888, 5895, 5874, 5891,
01034      5885, 5906, 5917, 5927, 5904, 5908,    0, 5907,    0, 5926,
01035      5927, 5930, 5930, 5918, 5920, 5937, 5924, 5927, 5938, 5931,
01036      5933, 5938, 5953, 5974, 5959, 5946, 5950, 5975, 5976, 5985,
01037      5972, 5953, 5971, 5974, 5988, 6012, 5992, 5979, 5988, 6024,
01038      6017, 6023, 6005, 6017, 6019, 6023, 6023, 6044, 6025, 6024,
01039      6028, 6071, 6066, 6068, 6047, 6047, 6057, 6062, 6059, 6095,
01040      6077, 6064, 6066, 6111, 6105, 6114, 6084, 6077, 6105, 6109,
01041      6873,    0, 6109, 6109, 6873, 6113, 6110,    0, 6124,  485,
01042 
01043      6873, 6873,    0, 6134, 6130, 6114,    0, 6157, 6153, 6163,
01044      6138,  472,    0,    0,    0, 6164, 6149, 6152,    0, 6173,
01045      6166, 6179, 6170,  466,    0,    0,    0, 6184, 6177, 6178,
01046         0, 6208, 6210, 6213, 6198,  458,    0,    0,    0, 6214,
01047      6212, 6185,    0, 6229, 6242, 6223, 6215,  420,    0,    0,
01048       391, 6220,  346, 6226, 6236, 6222,  257, 6248, 6260, 6266,
01049      6245, 6251,  240, 6257, 6264, 6290, 6263, 6264,  170, 6275,
01050      6301, 6302, 6272, 6280,  102, 6278, 6312, 6313, 6295, 6296,
01051      6306, 6315, 6319, 6320, 6315, 6322, 6330, 6348, 6336, 6330,
01052      6333, 6347, 6354, 6348, 6345, 6352, 6358, 6364, 6359, 6355,
01053 
01054      6362, 6368, 6391, 6374, 6360, 6367, 6873,    0, 6368, 6371,
01055      6388,    0, 6402, 6389, 6387, 6394,    0, 6409, 6396, 6394,
01056      6402,    0, 6418, 6404, 6402, 6409,    0, 6432, 6407, 6409,
01057      6433, 6873, 6421, 6441,    0, 6431, 6449,    0, 6436, 6450,
01058         0, 6437, 6455,    0, 6442, 6454, 6456, 6459, 6459, 6462,
01059      6463, 6466, 6465, 6468, 6467, 6455, 6873, 6458,    0, 6461,
01060         0, 6464,    0, 6466,    0, 6479, 6482, 6483, 6490, 6491,
01061      6481, 6482, 6484, 6485, 6487, 6505, 6506, 6507, 6509, 6510,
01062      6873,    0,    0,    0,    0, 6873, 6553, 6562, 6571, 6574,
01063      6582, 6586, 6590, 6599, 6608, 6617, 6626, 6635, 6644, 6653,
01064 
01065      6662, 6666, 6669, 6674, 6683, 6692, 6701, 6710, 6719, 6728,
01066      6737, 6746, 6755, 6764, 6773, 6782, 6791, 6800, 6809, 6818,
01067      6827, 6836, 6845, 6854, 6863
01068     } ;
01069 
01070 static yyconst flex_int16_t yy_def[1626] =
01071     {   0,
01072      1586,    1,    1,    1,    1,    1,    1,    1, 1586,    9,
01073      1586,   11, 1586,   13,    1,   15,    1,    1, 1586,   19,
01074      1587, 1588, 1586, 1586, 1586, 1586, 1586, 1589, 1586, 1590,
01075      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01076      1590, 1590, 1590, 1590, 1586, 1586, 1591, 1586, 1586, 1586,
01077      1586, 1586, 1586, 1586, 1592, 1593, 1593,   57,   57,   57,
01078        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01079      1592, 1586, 1594, 1594, 1594, 1595, 1594, 1596, 1596,   79,
01080        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01081        79,   79, 1594, 1594, 1597, 1598, 1598, 1598, 1599, 1598,
01082 
01083      1600, 1600,  102,  102,  102,  102,  102,  102,  102,  102,
01084       102,  102,  102,  102,  102, 1598, 1601, 1602, 1590,  119,
01085       119,  119,  119,  119, 1586, 1586, 1586, 1603, 1603, 1604,
01086      1604,  131,  131,  131,  131,  131,  131,  131,  131,  131,
01087       131,  131,  131,  131, 1586, 1586, 1605, 1586, 1586, 1586,
01088      1586, 1589, 1586, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01089      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01090      1590, 1590, 1590, 1590, 1590, 1590, 1586, 1586, 1591, 1591,
01091      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1592, 1592,   57,
01092        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01093 
01094        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01095        57,   57, 1586, 1594, 1594, 1595, 1594,   79,   79,   79,
01096        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01097        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
01098      1594, 1594, 1597, 1597, 1598, 1598, 1599, 1598,  102,  102,
01099       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01100       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01101       102, 1598, 1601, 1602, 1602,  119,  119,  119, 1586, 1586,
01102      1586, 1603, 1603,  131,  131,  131,  131,  131,  131,  131,
01103       131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
01104 
01105       131,  131,  131,  131,  131,  131, 1586, 1605, 1586, 1586,
01106      1586, 1590, 1606, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01107      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1607,
01108      1590, 1590, 1590, 1590, 1590, 1586,   57, 1608,   57,   57,
01109        57,   57,   57,   57,   57,   57,   57,   57,   57, 1593,
01110        57,   57,   57,   57, 1609,   57,   57,   57,   57,   57,
01111      1594,   79, 1610,   79,   79,   79,   79,   79,   79,   79,
01112        79,   79,   79,   79,   79,   79,   79,   79,   79, 1611,
01113        79,   79,   79,   79,   79, 1594, 1598,  102, 1612,  102,
01114       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
01115 
01116       102,  102,  102,  102,  102, 1613,  102,  102,  102,  102,
01117       102, 1598,  119,  131, 1614,  131,  131,  131,  131,  131,
01118       131,  131,  131,  131,  131,  131, 1604,  131,  131,  131,
01119       131, 1615,  131,  131,  131,  131,  131, 1590, 1586, 1590,
01120      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01121      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1590, 1586, 1590,
01122      1590, 1590, 1616, 1607, 1590, 1590, 1590, 1590, 1590,   57,
01123      1592,   57,   57,   57,   57,   57,   57,   57,   57,   57,
01124        57,   57, 1592, 1592, 1592, 1592, 1592, 1592,   57, 1592,
01125        57,   57,   57, 1617, 1609,   57,   57,   57,   57,   57,
01126 
01127        79, 1594,   79,   79,   79,   79,   79,   79,   79,   79,
01128        79,   79,   79, 1594, 1594, 1594, 1594, 1594, 1594, 1594,
01129        79, 1594,   79,   79,   79, 1618, 1611,   79,   79,   79,
01130        79,   79,  102, 1598,  102,  102,  102,  102,  102,  102,
01131       102,  102,  102,  102,  102, 1598, 1598, 1598, 1598, 1598,
01132      1598, 1598,  102, 1598,  102,  102,  102, 1619, 1613,  102,
01133       102,  102,  102,  102,  119,  131, 1603,  131,  131,  131,
01134       131,  131,  131,  131,  131,  131,  131,  131, 1603, 1603,
01135      1603, 1603, 1603, 1603, 1603,  131, 1603,  131,  131,  131,
01136      1620, 1615,  131,  131,  131,  131,  131, 1590, 1586, 1586,
01137 
01138      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1586, 1586,
01139      1586, 1586, 1586, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
01140        57, 1592, 1592,   57,   57,   57,   57,   57,   57,   57,
01141        57, 1592, 1592, 1592, 1592,   57,   57,   57,   57,   57,
01142        57,   57,   79, 1594, 1594,   79,   79,   79,   79,   79,
01143        79,   79,   79, 1594, 1594, 1594, 1594, 1594,   79,   79,
01144        79,   79,   79,   79,   79,  102, 1598, 1598,  102,  102,
01145       102,  102,  102,  102,  102,  102, 1598, 1598, 1598, 1598,
01146      1598,  102,  102,  102,  102,  102,  102,  102,  131, 1603,
01147      1603,  131,  131,  131,  131,  131,  131,  131,  131, 1603,
01148 
01149      1603, 1603, 1603, 1603,  131,  131,  131,  131,  131,  131,
01150       131, 1590, 1586, 1586, 1586, 1590, 1590, 1590, 1590, 1621,
01151      1590, 1590, 1590, 1586, 1586, 1586, 1586, 1586, 1586, 1590,
01152      1590, 1586, 1590, 1590, 1590, 1590,   57, 1592, 1592, 1592,
01153        57,   57,   57,   57, 1622,   57,   57,   57, 1592, 1592,
01154      1592, 1592, 1592,   57,   57,   57,   57,   57,   57,   79,
01155      1594, 1594, 1594,   79,   79,   79,   79, 1623,   79,   79,
01156        79, 1594, 1594, 1594, 1594, 1594, 1594,   79,   79, 1594,
01157        79,   79,   79,   79,  102, 1598, 1598, 1598,  102,  102,
01158       102,  102, 1624,  102,  102,  102, 1598, 1598, 1598, 1598,
01159 
01160      1598, 1598,  102,  102, 1598,  102,  102,  102,  102,  131,
01161      1603, 1603, 1603,  131,  131,  131,  131, 1625,  131,  131,
01162       131, 1603, 1603, 1603, 1603, 1603, 1603,  131,  131, 1603,
01163       131,  131,  131,  131, 1586, 1586, 1586, 1590, 1590, 1590,
01164      1590, 1586, 1590, 1590, 1590, 1590, 1586, 1586, 1586, 1586,
01165      1586, 1586, 1586, 1590, 1590, 1590, 1592, 1592, 1592,   57,
01166        57,   57,   57, 1592,   57,   57,   57,   57, 1592, 1592,
01167      1592, 1592, 1592,   57,   57,   57, 1594, 1594, 1594,   79,
01168        79,   79,   79, 1594,   79,   79,   79,   79, 1594, 1594,
01169      1594, 1594, 1594, 1594, 1594,   79,   79,   79, 1598, 1598,
01170 
01171      1598,  102,  102,  102,  102, 1598,  102,  102,  102,  102,
01172      1598, 1598, 1598, 1598, 1598, 1598, 1598,  102,  102,  102,
01173      1603, 1603, 1603,  131,  131,  131,  131, 1603,  131,  131,
01174       131,  131, 1603, 1603, 1603, 1603, 1603, 1603, 1603,  131,
01175       131,  131, 1586, 1586, 1586, 1590, 1590, 1590, 1586, 1586,
01176      1590, 1590, 1590, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
01177      1590, 1590, 1590, 1592, 1592, 1592,   57,   57,   57, 1592,
01178      1592,   57,   57,   57, 1592, 1592, 1592, 1592, 1592,   57,
01179        57,   57, 1594, 1594, 1594,   79,   79,   79, 1594, 1594,
01180        79,   79,   79, 1594, 1594, 1594, 1594, 1594, 1594, 1594,
01181 
01182        79,   79,   79, 1598, 1598, 1598,  102,  102,  102, 1598,
01183      1598,  102,  102,  102, 1598, 1598, 1598, 1598, 1598, 1598,
01184      1598,  102,  102,  102, 1603, 1603, 1603,  131,  131,  131,
01185      1603, 1603,  131,  131,  131, 1603, 1603, 1603, 1603, 1603,
01186      1603, 1603,  131,  131,  131, 1586, 1586, 1586, 1590, 1590,
01187      1590, 1586, 1586, 1586, 1590, 1590, 1590, 1586, 1586, 1586,
01188      1586, 1586, 1586, 1586, 1586, 1590, 1592, 1592, 1592,   57,
01189        57,   57, 1592, 1592, 1592,   57,   57,   57, 1592, 1592,
01190      1592, 1592, 1592, 1592,   57, 1594, 1594, 1594,   79,   79,
01191        79, 1594, 1594, 1594,   79,   79,   79, 1594, 1594, 1594,
01192 
01193      1594, 1594, 1594, 1594, 1594,   79, 1598, 1598, 1598,  102,
01194       102,  102, 1598, 1598, 1598,  102,  102,  102, 1598, 1598,
01195      1598, 1598, 1598, 1598, 1598, 1598,  102, 1603, 1603, 1603,
01196       131,  131,  131, 1603, 1603, 1603,  131,  131,  131, 1603,
01197      1603, 1603, 1603, 1603, 1603, 1603, 1603,  131, 1586, 1586,
01198      1586, 1590, 1590, 1590, 1586, 1586, 1586, 1590, 1590, 1590,
01199      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1592,
01200      1592, 1592,   57,   57,   57, 1592, 1592, 1592,   57,   57,
01201        57, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1594, 1594,
01202      1594,   79,   79,   79, 1594, 1594, 1594,   79,   79,   79,
01203 
01204      1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1598,
01205      1598, 1598,  102,  102,  102, 1598, 1598, 1598,  102,  102,
01206       102, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
01207      1603, 1603, 1603,  131,  131,  131, 1603, 1603, 1603,  131,
01208       131,  131, 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603,
01209      1603, 1586, 1586, 1590, 1590, 1586, 1586, 1586, 1590, 1590,
01210      1590, 1586, 1586, 1586, 1586, 1586, 1586, 1592, 1592,   57,
01211        57, 1592, 1592, 1592,   57,   57,   57, 1592, 1592, 1592,
01212      1592, 1592, 1594, 1594,   79,   79, 1594, 1594, 1594,   79,
01213        79,   79, 1594, 1594, 1594, 1594, 1594, 1594, 1598, 1598,
01214 
01215       102,  102, 1598, 1598, 1598,  102,  102,  102, 1598, 1598,
01216      1598, 1598, 1598, 1598, 1603, 1603,  131,  131, 1603, 1603,
01217      1603,  131,  131,  131, 1603, 1603, 1603, 1603, 1603, 1603,
01218      1586, 1590, 1586, 1586, 1586, 1590, 1590, 1590, 1586, 1586,
01219      1586, 1586, 1592,   57, 1592, 1592, 1592,   57,   57,   57,
01220      1592, 1592, 1592, 1592, 1594,   79, 1594, 1594, 1594,   79,
01221        79,   79, 1594, 1594, 1594, 1594, 1598,  102, 1598, 1598,
01222      1598,  102,  102,  102, 1598, 1598, 1598, 1598, 1603,  131,
01223      1603, 1603, 1603,  131,  131,  131, 1603, 1603, 1603, 1603,
01224      1586, 1590, 1586, 1586, 1586, 1590, 1590, 1590, 1586, 1586,
01225 
01226      1586, 1586, 1592,   57, 1592, 1592, 1592,   57,   57,   57,
01227      1592, 1592, 1592, 1592, 1594,   79, 1594, 1594, 1594,   79,
01228        79,   79, 1594, 1594, 1594, 1594, 1598,  102, 1598, 1598,
01229      1598,  102,  102,  102, 1598, 1598, 1598, 1598, 1603,  131,
01230      1603, 1603, 1603,  131,  131,  131, 1603, 1603, 1603, 1603,
01231      1586, 1586, 1590, 1590, 1586, 1586, 1592, 1592,   57,   57,
01232      1592, 1592, 1594, 1594,   79,   79, 1594, 1594, 1598, 1598,
01233       102,  102, 1598, 1598, 1603, 1603,  131,  131, 1603, 1603,
01234      1586, 1586, 1590, 1586, 1586, 1592, 1592,   57, 1592, 1592,
01235      1594, 1594,   79, 1594, 1594, 1598, 1598,  102, 1598, 1598,
01236 
01237      1603, 1603,  131, 1603, 1603, 1586, 1586, 1590, 1586, 1586,
01238      1592, 1592,   57, 1592, 1592, 1594, 1594,   79, 1594, 1594,
01239      1598, 1598,  102, 1598, 1598, 1603, 1603,  131, 1603, 1603,
01240      1586, 1586, 1586, 1592, 1592, 1592, 1594, 1594, 1594, 1598,
01241      1598, 1598, 1603, 1603, 1603, 1586, 1586, 1592, 1592, 1594,
01242      1594, 1598, 1598, 1603, 1603, 1586, 1586, 1592, 1592, 1594,
01243      1594, 1598, 1598, 1603, 1603, 1586, 1592, 1594, 1598, 1603,
01244      1586, 1592, 1594, 1598, 1603, 1586, 1592, 1594, 1598, 1603,
01245      1586, 1592, 1594, 1598, 1603,    0, 1586, 1586, 1586, 1586,
01246      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
01247 
01248      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
01249      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
01250      1586, 1586, 1586, 1586, 1586
01251     } ;
01252 
01253 static yyconst flex_int16_t yy_nxt[6938] =
01254     {   0,
01255        24,   25,   26,   27,   28,   24,   24,   29,   29,   29,
01256        29,   29,   29,   30,   31,   32,   33,   34,   35,   36,
01257        36,   37,   36,   36,   36,   38,   39,   40,   36,   41,
01258        42,   43,   36,   36,   44,   36,   36,   24,   30,   31,
01259        32,   33,   34,   35,   36,   36,   37,   36,   36,   38,
01260        39,   40,   36,   41,   42,   43,   36,   36,   44,   36,
01261        36,   24,   24,   45,   46,   49,   51,   53,   47,   47,
01262        47,   47,   24,   54,   26,   27,   28,   24,   24,   55,
01263        55,   55,   55,   55,   55,   56,   57,   58,   59,   60,
01264        61,   62,   62,   63,   62,   62,   62,   64,   65,   66,
01265 
01266        62,   67,   68,   69,   62,   62,   70,   62,   62,   71,
01267        56,   57,   58,   59,   60,   61,   62,   62,   63,   62,
01268        62,   64,   65,   66,   62,   67,   68,   69,   62,   62,
01269        70,   62,   62,   24,   24,   45,   72,  148,  149, 1501,
01270        47,   73,   74,   26,   75,   76,   73,   73,   77,   77,
01271        77,   77,   77,   77,   78,   79,   80,   81,   82,   83,
01272        84,   84,   85,   84,   84,   84,   86,   87,   88,   84,
01273        89,   90,   91,   84,   84,   92,   84,   84,   73,   78,
01274        79,   80,   81,   82,   83,   84,   84,   85,   84,   84,
01275        86,   87,   88,   84,   89,   90,   91,   84,   84,   92,
01276 
01277        84,   84,   73,   73,   93,   94,  152, 1496,  214,   95,
01278        96,   25,   97,   98,   99,   96,   96,  100,  100,  100,
01279       100,  100,  100,  101,  102,  103,  104,  105,  106,  107,
01280       107,  108,  107,  107,  107,  109,  110,  111,  107,  112,
01281       113,  114,  107,  107,  115,  107,  107,   96,  101,  102,
01282       103,  104,  105,  106,  107,  107,  108,  107,  107,  109,
01283       110,  111,  107,  112,  113,  114,  107,  107,  115,  107,
01284       107,   96,   96,  116,   46,  180,  245, 1491,  117,  118,
01285       118,  118,  118,  118,  118,  119,  120,  121,  122,  123,
01286       124,   46,  126,  145, 1486,   47,   47,   47,  153,  153,
01287 
01288       153,  153,  153,  153,  178,  182,  309,  310,  179,  179,
01289       119,  120,  121,  122,  123,  124,   24,  127,   26,   27,
01290        28,   24,  128,  129,  129,  129,  129,  129,  129,  130,
01291       131,  132,  133,  134,  135,  136,  136,  137,  136,  136,
01292       136,  138,  139,  140,  136,  141,  142,  143,  136,  136,
01293       144,  136,  136,  128,  130,  131,  132,  133,  134,  135,
01294       136,  136,  137,  136,  136,  138,  139,  140,  136,  141,
01295       142,  143,  136,  136,  144,  136,  136,   24,   24,   45,
01296       155,  156,  161, 1481,  158,  162,  165,  159,  166,  157,
01297       184,  160,  163,  167,  179,  164,  168,  169,  186,  176,
01298 
01299       152,  174,  179,  245,  155,  175,  156,  161,  158,  162,
01300       165,  159,  166,  213,  157,  160,  163,  179,  167,  164,
01301       168,  169,  170,  176,  171,  242,  174,  172, 1481,  243,
01302       175,  188,  188,  188,  188,  188,  188,  152,  173,  361,
01303       189,  189,  189,  189,  189,  189,  190,  170,  312,  171,
01304       197,  190,  172,  190,  190,  315,  280, 1480,  319,  190,
01305       179,  190,  173,  191,  217,  217,  217,  217,  217,  217,
01306       189,  190,  312,  198,  313,  197,  190,  154,  190,  190,
01307       315,  307,  162,  319,  190,  179,  190,  191,  189,  189,
01308       189,  189,  189,  189,  192, 1474,  190,  198,  313,  314,
01309 
01310       320,  154,  193, 1468,  190,  190,  162,  199,  190, 1462,
01311       200,  178,  203,  190,  152,  179,  190,  387,  189,  192,
01312       201,  190, 1456,  314,  316,  320,  317,  193,  190,  190,
01313       190,  199,  190,  190,  200,  190,  190,  203,  190,  194,
01314       190,  190,  195,  190,  201, 1169,  196,  318,  316,  202,
01315       317,  204,  324,  190,  210,  325,  278,  190,  211, 1058,
01316       190,  190,  190,  194,  190,  190,  195,  724,  190,  154,
01317       196,  318,  190,  202,  321,  204,  190,  324,  205,  210,
01318       325,  278,  326,  211,  190,  180,  245,  190,  327,  190,
01319       212,  218,  218,  154,  328,  225,  611,  190,  321,  218,
01320 
01321       218,  190,  205,  190,  331,  206,  326,  207,  322,  190,
01322       208,  190,  327,  459,  212,  218,  218,  218,  328,  323,
01323       225,  209,  182,  218,  218,  218,  179,  184,  190,  331,
01324       206,  179,  207,  322,  309,  208,  190,  226,  329,  332,
01325       218,  330,  334,  323,  333,  209,  214,  214,  218,  214,
01326       214,  214,  214,  214,  214,  214,  214,  214,  214,  218,
01327       218,  226,  329,  218,  332,  330,  334,  218,  218,  333,
01328       227,  218,  451,  228,  335,  229,  219,  230,  186,  249,
01329       281,  154,  179,  214,  218,  218,  213,  249,  218,  279,
01330       179,  242,  218,  218,  227,  243,  218,  228,  335,  229,
01331 
01332       219,  230,  280,  452,  249,  154,  179,  214,  214,  214,
01333       214,  214,  249,  214,  214,  214,  214,  214,  214,  214,
01334       214,  214,  214,  220,  218,  218,  218,  284,  231,  438,
01335       190,  221,  218,  218,  218,  284,  412,  238,  190,  307,
01336       233,  239,  441,  179,  232,  218,  386,  214,  220,  218,
01337       218,  218,  284,  231,  438,  190,  221,  218,  218,  218,
01338       284,  249,  238,  190,  233,  256,  239,  441,  232,  249,
01339       218,  214,  214,  214,  218,  218,  248,  248,  248,  248,
01340       248,  248,  218,  218,  215,  222,  249,  187,  223,  240,
01341       256,  185,  224,  249,  249,  309,  310,  277,  183,  218,
01342 
01343       218,  249,  442,  181,  446,  157,  336,  218,  218,  222,
01344       311,  413,  223,  240,  154,  257,  224,  218,  249,  234,
01345       249,  235,  277,  154,  236,  218,  249,  442,  249,  446,
01346       157,  258,  313,  154,  259,  237,  413,  443,  154,  257,
01347       463,  245,  218,  150,  234,  249,  235,  154,  309,  236,
01348       218,  281,  279,  249,  447,  258,  313,  154,  259,  237,
01349       245,  443,  245,  245,  245,  245,  245,  245,  245,  245,
01350       245,  245,  245,  249,  249,  249,  249,  249,  262,  447,
01351       444,  249,  249,  249,  249,  249,  272,  445,  260,  261,
01352       250,  264,  448,  246,  449,  263,  450,  245,  249,  249,
01353 
01354       249,  249,  249,  262,  444,  241,  249,  249,  249,  249,
01355       249,  445,  260,  261,  250,  264,  460,  448,  449,  263,
01356       450,  245,  245,  245,  245,  462,  245,  245,  245,  245,
01357       245,  245,  245,  245,  245,  245,  245,  251,  269,  249,
01358       460,  284,  270,  151,  461,  252,  249,  249,  215,  284,
01359       462,  468,  187,  271,  274,  274,  274,  274,  274,  274,
01360       298,  245,  251,  269,  249,  465,  284,  270,  461,  466,
01361       252,  249,  249,  158,  284,  468,  159,  271,  185,  154,
01362       160,  469,  183,  181,  298,  245,  245,  245,  249,  467,
01363       465,  603,  163,  598,  466,  164,  249,  158,  154,  253,
01364 
01365       159,  604,  254,  154,  160,  469,  255,  283,  283,  283,
01366       283,  283,  283,  249,  467,  603,  163,  177,  598,  164,
01367       151,  249,  154,  253,  150,  604,  254,  599,  284,  284,
01368       255,  249,  291,  265,  284,  266,  284,  284,  267,  249,
01369      1586,  600,  284,  125,  295,  293,  605,  606,  294,  268,
01370        52,   50,  599,  284,  284,   48,  249,  291,  265,  284,
01371       266,  284,  284,  267,  249,  600, 1586,  284,  295,  293,
01372       605,  606,  294,  268,  275,  275,  275,  275,  275,  275,
01373       276,  276,  276,  276,  276,  276,  153,  153,  153,  153,
01374       153,  153,  607,  608, 1586, 1586,  609,  155,  188,  188,
01375 
01376       188,  188,  188,  188,  284,  276,  276,  276,  276,  276,
01377       276,  284,  284, 1586, 1586,  615,  607,  608,  296,  284,
01378       609,  155,  282,  282,  282,  282,  282,  282,  282,  284,
01379       284,  284, 1586,  292,  297,  190,  284,  284,  284,  284,
01380       615,  610,  296,  340,  284,  299,  285,  217,  217,  217,
01381       217,  217,  217,  282,  304,  284,  284,  292,  305,  297,
01382       190,  614,  284,  284,  284,  610, 1586, 1586,  340,  299,
01383       285,  282,  282,  282,  282,  282,  282,  282,  286,  304,
01384       284,  190,  190,  305,  190,  614,  287,  284,  284,  190,
01385       190,  565,  190, 1586,  306,  339,  190, 1586,  337, 1586,
01386 
01387       338,  616,  282,  286,  190,  284,  190,  190,  154,  190,
01388       346,  287,  284,  284,  190,  190,  565,  190,  306,  339,
01389       284,  190,  337,  288,  338,  616,  289,  190,  190,  190,
01390       290,  190,  154,  344,  346,  190,  190,  284, 1586,  190,
01391      1586, 1586,  341,  343,  342,  284,  618,  288,  617, 1586,
01392       289,  601,  190,  190,  290,  284,  190,  300,  344,  301,
01393       190,  190,  302,  284,  190,  602,  341,  343,  342, 1586,
01394       190,  618,  617,  303,  345, 1586,  601,  190,  190,  347,
01395       284,  619,  300,  190,  301,  190,  350,  302,  284,  602,
01396       348,  190,  190,  612,  349,  190,  620,  303, 1586,  345,
01397 
01398       190,  190,  190,  190,  347,  190,  619,  190,  190,  190,
01399       190,  350,  613,  190,  348,  190,  190,  190,  612,  349,
01400       620, 1586,  351,  352,  632,  190,  190, 1586,  353,  190,
01401       190,  190,  190,  190,  190,  357,  613,  190,  190,  190,
01402       190,  356, 1586,  190, 1586,  354,  351,  352,  632,  355,
01403       654,  190,  353, 1586,  190, 1586,  190,  218,  190,  190,
01404       357,  723,  190,  655,  190,  218,  356,  359,  190,  354,
01405       190,  358,  190,  355,  654,  218,  190,  218,  190,  634,
01406       190,  218,  218,  218,  190,  218,  723,  655,  360,  218,
01407       218,  359,  362,  363,  364,  190,  358,  190,  635,  218,
01408 
01409       218,  677,  218,  190,  634,  190,  218,  365,  218, 1586,
01410       218,  218,  360,  218,  218,  218,  362,  363,  364,  218,
01411       729,  381,  635,  218,  218,  677,  366,  368,  367,  218,
01412      1586,  218,  365,  218,  369,  370,  218,  218,  218,  218,
01413       218,  218,  657, 1586,  218,  729,  381,  371,  218,  734,
01414       366,  368,  367, 1586,  218,  218,  218,  372,  218,  369,
01415       370,  658,  218,  218,  218,  678,  218,  657,  373,  218,
01416       218,  371,  374,  218,  734,  218,  375,  218,  218, 1586,
01417       218,  218,  372,  218,  753,  658, 1586,  700,  218,  678,
01418       376,  218,  373,  377,  218,  218,  701,  374,  218,  218,
01419 
01420       218,  375,  218,  218,  712,  218,  218,  218,  218,  753,
01421       382,  700,  378,  218,  376,  218,  218,  377,  218,  622,
01422       701,  379,  680,  218,  218,  380,  218,  383,  712,  249,
01423       218,  218,  218,  623,  218,  382,  378,  249,  218,  384,
01424       218,  681,  218,  218,  622,  379, 1586,  680,  218,  380,
01425       218,  218,  383,  249,  249,  777,  218,  623,  385,  218,
01426      1586,  391,  249,  384,  802,  681,  249,  218,  248,  248,
01427       248,  248,  248,  248,  249,  218,  249,  249,  249,  154,
01428       777,  606,  385,  388,  249,  249,  391,  249,  249,  802,
01429       390,  249,  389, 1586, 1586,  249,  249, 1586,  392,  249,
01430 
01431       393,  249,  249,  154,  394,  606,  713,  388,  716,  249,
01432       249,  249,  249,  249,  390,  396,  389,  249,  249,  249,
01433       249,  249,  392,  395,  393,  249,  249, 1586,  394, 1586,
01434       713,  397,  716,  249, 1586,  398,  249, 1586, 1586,  719,
01435       396,  249,  249,  249,  249,  720,  399, 1586,  395,  249,
01436       249,  249,  401,  249,  249,  397,  400,  249,  249,  249,
01437       398,  249,  249,  719,  249,  249,  249,  249,  408,  720,
01438       399,  403,  249,  407,  249,  249,  249,  401,  249,  249,
01439       402,  400,  249,  249,  249,  404,  249,  249,  249,  249,
01440       249,  405,  249,  408,  721,  403,  249,  249,  407,  722,
01441 
01442       249,  249,  249,  409,  402,  725,  406, 1586,  249,  404,
01443       249,  732,  703,  249,  726,  405,  249,  249,  721, 1586,
01444      1586,  249, 1586,  722,  249,  249,  733,  249,  409,  725,
01445       406,  704,  410,  411, 1586,  249, 1586,  703,  726, 1586,
01446      1586,  249,  249,  274,  274,  274,  274,  274,  274,  249,
01447       249,  733, 1586,  727,  728,  704,  410,  411,  283,  283,
01448       283,  283,  283,  283,  284,  284,  284,  284,  284, 1586,
01449       644, 1586,  284,  284,  284,  284,  417,  727,  728,  416,
01450      1586,  730,  414,  415,  645,  731,  284, 1586, 1586,  284,
01451       284,  284,  284,  284,  433,  644,  284,  284,  284,  284,
01452 
01453       284,  417,  284,  416,  284,  730,  414,  415,  645,  731,
01454       284,  284,  420,  418,  735,  419,  284,  284,  284,  433,
01455       422,  284,  421, 1586,  284,  284,  284,  284, 1586,  284,
01456       736, 1586,  423, 1586, 1586,  284,  420,  418,  735,  419,
01457       434,  284,  284,  284,  284,  422,  424,  421,  284,  284,
01458       284,  284,  284,  284,  736,  426,  423,  425,  284,  284,
01459       284,  284,  427, 1586,  284,  434,  284,  284,  284,  284,
01460      1586,  424,  284,  284, 1586,  738,  431,  284,  284,  428,
01461       426,  425,  429,  284,  284,  284,  284,  427,  284,  284,
01462       284,  284,  284,  284,  284,  435,  284,  284,  284,  738,
01463 
01464       431,  750,  284,  428,  190, 1586,  429,  751,  432,  430,
01465       284,  827,  470,  284,  284,  284,  752,  761,  284,  284,
01466       435,  284,  284,  284,  773,  750,  436,  284,  774,  190,
01467       437,  751,  432,  430, 1586,  284,  827,  470, 1586,  284,
01468       752,  761, 1586,  284, 1586, 1586, 1586,  284,  773,  190,
01469       436, 1586,  774,  474,  437,  439,  439,  190,  439,  439,
01470       439,  439,  439,  439,  439,  439,  439,  439,  453,  454,
01471       455,  456,  457,  190,  190,  190,  473,  458,  474,  478,
01472       190,  190,  190,  190, 1586,  775,  477,  190,  190, 1586,
01473       776,  786,  439, 1586, 1586, 1586, 1586,  475,  190, 1586,
01474 
01475       190,  473,  458, 1586,  478,  190,  190, 1586,  190,  775,
01476       477, 1586,  190,  190,  776,  786,  439,  439,  439,  463,
01477       463,  475,  463,  463,  463,  463,  463,  463,  463,  463,
01478       463,  463,  190,  190,  480,  479,  190, 1586,  190,  190,
01479       190,  190,  190,  190,  190, 1586,  190,  190,  496, 1586,
01480       476,  190, 1586, 1586,  491,  481,  463,  190,  190,  480,
01481       479,  190,  490,  190,  190,  190,  190,  190,  190,  190,
01482       451,  190,  190,  496,  476,  798,  190,  190,  491,  481,
01483       463,  463,  463,  439,  439,  190,  439,  439,  439,  439,
01484       471,  471,  471,  471,  471,  471,  190, 1586, 1586,  798,
01485 
01486      1586,  483,  190,  190,  190,  497, 1586, 1586,  190, 1586,
01487       190,  190,  493, 1586,  482,  835,  190, 1586, 1586,  799,
01488       471,  190,  189,  484,  485,  486,  487,  488,  190,  190,
01489       497,  190,  489,  190,  190,  498,  190,  493,  482,  190,
01490       835,  190,  190,  799,  439,  439,  439, 1586,  492, 1586,
01491      1586, 1586,  189, 1586, 1586, 1586,  190,  489, 1586,  190,
01492       498,  218, 1586,  190,  190,  714,  836,  190,  715,  501,
01493      1586,  190,  492,  463,  463,  499,  463,  463,  463,  463,
01494       494,  494,  494,  494,  494,  494,  218,  190,  190,  714,
01495       218,  836,  715,  504,  501,  190,  190,  500,  218,  499,
01496 
01497       218, 1586,  800,  801,  505, 1586,  509,  837,  218, 1586,
01498       494, 1586,  190, 1586,  218,  218, 1586, 1586,  504, 1586,
01499       190,  500, 1586,  218, 1586,  218,  800,  801, 1586,  505,
01500       811,  509,  837,  218,  463,  463,  463,  502,  502,  218,
01501       502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
01502       218,  218,  218,  218,  811,  510,  511, 1586,  218,  218,
01503       218,  218, 1586,  508,  218, 1586, 1586,  506,  823,  507,
01504      1586,  218, 1586, 1586,  502,  218,  218,  218,  218,  218,
01505       510,  511,  824,  218,  218,  218,  218,  508, 1586,  218,
01506       512,  506,  823,  507,  218,  218,  218,  218,  502,  502,
01507 
01508       502,  514,  218,  218,  218,  218,  824, 1586,  218, 1586,
01509       523, 1586,  513,  825,  512, 1586,  218, 1586, 1586,  218,
01510       218,  522,  218,  218, 1586,  667, 1586,  218,  218, 1586,
01511       218,  218,  515,  218,  523,  717,  513,  825,  718,  668,
01512       524,  218,  516,  517,  518,  519,  520,  218,  218,  218,
01513       667,  521,  218,  525,  529,  218,  218,  218, 1586,  717,
01514       218, 1586,  718,  668,  524, 1586, 1586, 1586, 1586, 1586,
01515      1586, 1586,  218, 1586,  218, 1586,  521,  218,  525,  529,
01516       218, 1586,  218,  526,  526,  218,  526,  526,  526,  526,
01517       526,  526,  526,  526,  526,  526,  218,  218,  530,  218,
01518 
01519       218,  528,  690,  838,  218,  218,  249,  218,  218, 1586,
01520       532,  531,  826,  839,  533, 1586,  691,  840, 1586,  841,
01521       526,  218,  218,  530,  218,  218,  528,  690,  838,  218,
01522       218,  249,  218,  218,  532,  531,  826, 1586,  839,  533,
01523       691, 1586,  840,  841,  526,  526,  526,  534,  439,  245,
01524       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
01525       249,  249,  249,  536,  249,  537,  249,  541,  249,  249,
01526       249, 1586,  249, 1586,  249,  249, 1586,  540,  844,  538,
01527      1586, 1586,  539, 1586,  534,  249,  249,  249,  536,  249,
01528       537,  249,  541,  249,  249,  249,  249,  249,  542,  249,
01529 
01530       249,  540,  844,  538,  249,  543,  539,  249,  534,  534,
01531       534,  845,  546,  249,  249,  249,  249, 1586,  846,  249,
01532      1586,  249,  249,  542,  249, 1586,  544,  249, 1586,  249,
01533       543,  556,  249,  850,  545,  845, 1586, 1586,  249,  249,
01534       249,  249,  846,  547,  249,  249, 1586,  249, 1586,  249,
01535       544,  847,  249,  249,  848,  556,  849,  850,  545,  548,
01536       549,  550,  551,  552,  249,  249,  855,  249,  553,  554,
01537       249,  557,  249,  249, 1586,  249,  847,  851,  249,  848,
01538       555,  849, 1586, 1586, 1586, 1586, 1586, 1586, 1586,  249,
01539       249,  855,  249,  553,  249, 1586,  557,  249,  249,  560,
01540 
01541       249,  851,  249, 1586,  555,  558,  463,  245,  558,  558,
01542       558,  558,  558,  558,  558,  558,  558,  558,  249,  249,
01543       561,  249,  562,  249,  560,  284,  249,  249,  249,  249,
01544       856,  249, 1586,  566, 1586,  563,  249, 1586,  564,  852,
01545       853, 1586,  558,  249, 1586,  561,  249,  562,  249, 1586,
01546       284,  249, 1586,  249,  249,  856,  249,  284,  566,  563,
01547       569,  249,  564,  852,  853,  284,  558,  558,  558,  439,
01548       439,  854,  439,  439,  439,  567,  567,  567,  567,  567,
01549       567,  567,  284,  284,  284,  569,  284,  570,  284,  574,
01550       284,  284,  284, 1586,  284,  854,  284,  284, 1586,  573,
01551 
01552      1586,  571,  576, 1586,  572, 1586,  567, 1586,  284,  284,
01553       284,  284,  570,  284,  574,  857,  284,  284,  284,  284,
01554       575,  284,  284,  573,  858,  571,  284,  576,  572,  284,
01555       439,  439,  439,  284,  284,  284,  739,  284, 1586,  740,
01556       857,  284,  284,  284,  859,  575,  579, 1586,  577,  858,
01557       871,  284,  578,  284,  284,  869,  870,  587,  284,  284,
01558       739,  284,  284,  740, 1586, 1586,  284,  284, 1586,  859,
01559      1586,  284,  577, 1586,  871,  590,  578,  580,  284,  284,
01560       869,  870,  872,  873,  892, 1586,  284,  282,  282,  581,
01561       582,  583,  584,  585,  284,  284,  284,  284,  586,  594,
01562 
01563       590,  893,  284,  284,  284,  284,  872,  873,  892,  588,
01564       463,  463,  589,  463,  463,  463,  463, 1586,  282,  284,
01565       284, 1586,  284,  586,  594,  893,  284,  284,  284,  877,
01566       284,  593,  878,  588,  284, 1586,  589,  463,  463,  879,
01567       463,  463,  463,  591,  591,  591,  591,  591,  591,  591,
01568       284,  284,  284,  595,  877,  284,  593,  878,  284,  284,
01569       284, 1586,  596,  284,  879,  597,  762,  787,  894,  763,
01570       788,  463,  463,  463,  591,  284, 1586,  284,  595,  895,
01571       284, 1586, 1586,  284, 1586,  284,  596, 1586,  284,  597,
01572       762,  787,  894,  763,  788,  914, 1586, 1586,  463,  463,
01573 
01574       463,  463,  463,  895,  463,  463,  463,  463,  463,  463,
01575       463,  463,  463,  463,  190,  190,  190,  190,  190,  914,
01576       621,  624,  190,  190,  190,  190,  190, 1586,  190, 1586,
01577       627,  915,  626, 1586, 1586,  625,  190, 1586,  463,  190,
01578       190,  190,  190,  190,  628,  621,  624,  190,  190,  190,
01579       190,  190,  190,  190,  627,  915,  626,  190,  190,  625,
01580       190,  190,  463,  463,  463,  190,  190, 1586,  628,  889,
01581       190,  190,  190,  190, 1586, 1586,  629,  190,  190,  190,
01582       190,  190,  190,  190,  190,  190,  916, 1586,  630,  631,
01583       190,  190,  190, 1586,  889,  190,  190,  190,  190,  190,
01584 
01585       629,  890,  891,  190,  190,  190,  190,  190,  633,  190,
01586       916,  190,  630,  631,  917,  637,  899,  190,  636,  190,
01587      1586, 1586,  900, 1586,  190, 1586,  890,  891, 1586, 1586,
01588      1586, 1586,  190, 1586, 1586,  190,  190, 1586,  917,  640,
01589       637,  899,  636,  190,  190,  463,  463,  900,  463,  463,
01590       463,  463,  494,  494,  494,  494,  494,  494,  190,  190,
01591       190,  901,  190,  190,  640,  218,  190,  190,  190,  639,
01592       641,  190, 1586,  218, 1586, 1586,  638, 1586, 1586, 1586,
01593       642, 1586,  494,  190,  190,  911,  901,  190,  190, 1586,
01594       218,  190,  190,  639,  218,  641,  190,  218,  218,  646,
01595 
01596       638,  218,  218,  643,  642,  218,  463,  463,  463,  218,
01597       911,  812, 1586,  647,  813,  912, 1586, 1586,  648,  218,
01598      1586,  218,  218,  218,  646,  218,  218,  218,  643,  218,
01599       218,  218, 1586,  218,  218,  812,  649,  647,  813,  218,
01600       912,  650,  648,  218,  218,  218,  218,  218,  218,  218,
01601       218,  218,  218,  218,  218, 1586,  218,  218,  218,  218,
01602       649,  653,  651,  652,  218,  650, 1586,  218,  218,  218,
01603       218,  218,  218,  218,  218,  913,  218,  218,  218,  218,
01604       218,  218,  218,  656,  218,  653,  651,  652,  664, 1586,
01605       659,  218,  218,  921, 1586,  660,  218,  922,  218,  218,
01606 
01607       913, 1586,  923, 1586,  218,  218,  218, 1586, 1586, 1586,
01608      1586, 1586, 1586,  664,  659,  218,  218, 1586,  921,  663,
01609       660, 1586,  922,  218,  218,  526,  526,  923,  526,  526,
01610       526,  526,  526,  526,  526,  526,  526,  526,  218,  218,
01611       218,  933,  218, 1586,  663,  249,  218,  218,  218,  662,
01612       218,  666,  934,  249, 1586, 1586,  661, 1586, 1586,  665,
01613       249, 1586,  526,  218,  218,  669,  933,  218,  249, 1586,
01614       249,  218,  218,  662,  249,  218,  666,  934,  249,  670,
01615       661,  249,  249,  665,  249,  249,  526,  526,  526,  249,
01616       669,  671,  249,  249,  672, 1586,  249,  249, 1586,  249,
01617 
01618       249,  935,  249,  670,  249,  249,  249,  249,  249,  249,
01619       249, 1586,  673, 1586,  249,  671,  249,  249,  672,  674,
01620       249,  249,  249,  249,  249,  249,  935,  249,  249,  249,
01621       249,  249,  249,  249,  675,  249,  673,  676,  249,  249,
01622       249,  249, 1586,  674,  249,  249,  249,  249,  249,  249,
01623      1586,  682,  249,  249,  685,  936,  249,  249,  675,  249,
01624       945,  676,  679,  249,  249,  249,  249,  687, 1586,  249,
01625       683,  249,  249,  948,  249,  682, 1586,  249,  685,  936,
01626      1586, 1586, 1586, 1586,  249,  945, 1586, 1586, 1586,  249,
01627      1586,  249,  687,  686, 1586,  683,  937,  249,  948,  249,
01628 
01629       558,  463,  245,  558,  558,  558,  558,  558,  558,  558,
01630       558,  558,  558,  249,  249,  249,  284, 1586,  686,  284,
01631       937,  249,  249,  249,  284,  689, 1586,  284, 1586, 1586,
01632       938,  684,  688,  694,  284,  284, 1586,  558,  249,  692,
01633       249,  284,  284,  284,  284,  939,  249,  953,  249,  284,
01634       689,  943,  284,  693,  938,  684,  688,  694,  284,  284,
01635       284,  558,  558,  558,  692,  284,  284,  284,  284,  939,
01636      1586,  695,  953,  284,  284,  943,  284,  693,  284,  284,
01637      1586,  696,  284,  284,  284, 1586,  284,  284, 1586,  944,
01638       284,  284,  284, 1586,  284,  695,  699,  697,  284,  284,
01639 
01640       284,  284,  284,  284,  284,  696,  284,  284,  946,  284,
01641       698,  284,  284,  944,  284,  284,  284,  284,  284,  284,
01642       699,  697,  706,  284,  284,  284,  284,  284, 1586, 1586,
01643       702,  284,  946, 1586,  698,  705,  284,  284,  284,  284,
01644       284,  284,  709,  284,  284,  710,  284,  706,  284,  284,
01645       284,  284,  463,  463,  707,  463,  463,  463,  284,  705,
01646       708,  284,  284,  284,  284,  190,  190,  709,  190,  284,
01647       710,  284,  284,  190,  190,  284,  190,  190,  707,  737,
01648       947,  711,  741,  284,  708,  748, 1586,  954,  744,  284,
01649       190,  190, 1586,  190,  955, 1586, 1586,  284,  190,  190,
01650 
01651      1586,  190,  190,  737,  947,  711,  741, 1586, 1586,  956,
01652       748,  954,  744,  463,  463,  463,  463,  463,  955,  463,
01653       463,  463,  591,  591,  591,  591,  591,  591,  591,  190,
01654       190,  190,  190,  956, 1586,  190, 1586,  190,  190,  190,
01655       190, 1586,  742,  190, 1586,  743,  746,  958,  745,  754,
01656       190, 1586, 1586,  591,  190,  190,  190,  190,  190,  749,
01657       190,  747,  190,  190,  190,  190,  742,  962,  190,  743,
01658       746,  958,  745,  754,  190,  190,  190,  463,  463,  463,
01659       949,  732,  190,  190,  190,  747, 1586,  755,  190,  190,
01660       190,  962,  757, 1586,  950, 1586,  756,  190,  190,  190,
01661 
01662       957,  190, 1586,  758,  190,  949,  959,  190,  964,  190,
01663       960,  755,  190,  190,  190,  190,  218,  757,  950,  759,
01664       218,  756,  190,  190,  218,  957,  218,  758,  218,  190,
01665       764,  959,  964,  760,  218,  960,  965,  190, 1586,  765,
01666       218,  218,  766,  759,  218,  218,  961,  218,  218,  218,
01667       975,  218,  218,  218,  764,  218,  218,  760,  768,  218,
01668       965,  769,  218,  765,  771,  218,  766,  767,  218,  218,
01669       218,  961,  218,  218,  975,  218,  218,  218, 1586,  770,
01670       218,  218,  768,  218,  218,  769,  772,  218,  779,  771,
01671       218,  767,  218,  218, 1586,  218,  249, 1586,  218,  780,
01672 
01673       218,  218,  778,  770,  796, 1586,  218,  963,  218,  218,
01674       218,  218,  779,  782,  781,  218,  976,  218,  218,  218,
01675       249,  249,  218,  218,  783, 1586,  778,  978,  249,  796,
01676       218,  218,  963,  785,  983,  218,  218,  784,  782,  781,
01677       976,  249,  249,  218,  218,  249,  249,  218,  783,  249,
01678       249,  978,  249,  249,  249,  218,  789,  785,  983,  790,
01679       249,  784,  791, 1586,  792,  249,  249,  249,  249, 1586,
01680       793,  249, 1586,  249,  249,  249,  249,  249,  966,  249,
01681       789, 1586,  794,  790,  249,  249,  791,  977,  792,  797,
01682       249,  249,  249,  249,  793,  795,  249,  249,  249,  249,
01683 
01684       805,  249, 1586,  966,  249,  249,  794,  249, 1586,  249,
01685       804, 1586,  977,  984,  803,  806,  249,  249,  249,  795,
01686       249,  249,  249,  807,  249,  284,  249,  249,  249,  249,
01687       249,  808,  249,  284,  804,  249,  284,  984,  803,  814,
01688       806, 1586,  809,  249,  284,  249,  284,  979,  807,  810,
01689       284,  249,  249,  249,  284,  808,  284,  284,  284,  815,
01690       249,  284,  816,  814,  284,  284,  809,  284, 1586,  284,
01691       284,  284,  979,  810,  818,  821, 1586,  284,  284,  284,
01692       817,  284,  284,  815,  819,  284,  816, 1586,  820,  284,
01693       284,  284,  284,  284, 1586,  284,  985,  284,  818,  284,
01694 
01695       821,  284,  284,  284,  817,  284,  284, 1586,  819, 1586,
01696       284,  828,  820,  830,  284,  822,  284, 1586,  284,  829,
01697       284,  985,  284,  994,  284,  997,  284,  995,  831,  284,
01698       284,  284,  832,  284,  284,  828,  190,  284, 1586,  284,
01699       996,  284,  284,  829,  190,  284,  833,  994,  998,  834,
01700       997,  995, 1004,  831,  284, 1586, 1586,  832,  284,  284,
01701      1586,  190,  284,  190,  996,  860,  284,  284, 1586,  190,
01702       833,  190,  998,  834,  842,  842, 1004,  842,  842,  842,
01703       842,  842,  842,  842,  842,  842,  842,  190,  190,  999,
01704       860,  190,  861,  190,  190,  190,  190,  862,  190,  190,
01705 
01706      1000,  190,  190, 1586, 1005,  863,  190,  190, 1586,  866,
01707      1015,  842,  190, 1586,  999,  190,  190,  861,  190,  190,
01708       190, 1586,  862,  190,  190, 1000,  190,  190, 1005,  863,
01709      1586,  190,  190,  866, 1015,  842,  842,  842,  842,  842,
01710       190,  842,  842,  842,  842,  864,  864,  864,  864,  864,
01711       864,  190,  190,  190,  190,  875, 1586,  951, 1586,  190,
01712       190,  190,  190,  190, 1586,  868,  874, 1006, 1586,  867,
01713      1586,  952, 1586,  876, 1586,  864,  190,  190,  190,  190,
01714       875,  190,  951,  218,  190,  190,  190,  190,  190,  868,
01715       874,  218, 1006,  867,  218,  952,  880,  218,  876,  842,
01716 
01717       842,  842,  218,  882,  218,  218,  190,  218,  218,  881,
01718      1586, 1018,  218, 1586, 1020,  218,  218, 1016,  886,  218,
01719      1017,  880,  218,  218, 1586,  218, 1021,  218,  882,  218,
01720       218,  218,  218,  218,  881,  883, 1018,  218,  888, 1020,
01721       218, 1016,  886, 1586, 1017, 1586, 1586, 1586,  218,  218,
01722       218, 1021, 1586, 1586, 1586, 1586,  218,  218,  218,  883,
01723       884,  884,  888,  884,  884,  884,  884,  884,  884,  884,
01724       884,  884,  884,  218,  218,  218,  218,  218,  897,  898,
01725       970,  218,  218,  218,  218,  218,  218,  218, 1586,  896,
01726      1019,  887, 1025, 1586,  971, 1586, 1026,  884,  218,  249,
01727 
01728       218,  218,  218,  897,  898,  970,  218,  249,  218,  218,
01729       218,  218,  218,  896, 1019,  887, 1025,  249,  971,  902,
01730      1026,  884,  884,  884,  249,  249,  249,  249,  249,  249,
01731       249,  903,  249,  904,  249,  249,  249,  249,  249, 1586,
01732       905, 1586,  249, 1586,  902, 1586, 1586, 1586, 1586, 1586,
01733       249,  249,  249,  249,  249,  249,  903, 1036,  904,  249,
01734       249,  249,  249,  249,  905,  906,  842,  245,  906,  906,
01735       906,  906,  906,  906,  906,  906,  906,  906,  249,  249,
01736      1027, 1036,  249,  249,  249,  919,  249,  249, 1586,  908,
01737       249,  249,  249,  249, 1586,  910,  918,  909,  920, 1586,
01738 
01739      1037, 1586,  906,  249,  249, 1027,  249,  249,  249,  249,
01740       919,  249,  249,  908,  284,  249,  249,  249,  249,  910,
01741       918,  909,  284,  920, 1037,  284,  906,  906,  906,  284,
01742       284,  249,  924,  284,  925,  284,  284,  284,  284,  284,
01743      1038,  926, 1586,  284,  284, 1039, 1041,  284,  927, 1586,
01744       284, 1586, 1586, 1586,  284,  284, 1586,  924,  284,  925,
01745       284,  284,  284,  284, 1038, 1040,  926,  284,  284,  284,
01746      1039, 1041,  927,  842,  842,  284,  842,  842,  842,  928,
01747       928,  928,  928,  928,  928,  928,  284,  284, 1042, 1040,
01748       284,  284,  284,  284,  284,  284, 1586,  930,  284,  284,
01749 
01750       284,  284, 1586,  932,  940,  931,  941, 1586, 1046, 1586,
01751       928,  284,  284, 1042,  284,  284,  284,  942,  284,  284,
01752       284,  930,  190,  284,  284,  284,  284,  932,  940,  931,
01753       190,  941, 1046, 1047,  842,  842,  842,  190,  190,  284,
01754      1586,  967,  942, 1048,  190,  190,  190,  190,  969,  190,
01755       284,  968,  190,  190,  972,  190,  190,  190, 1047, 1586,
01756      1049,  190,  190,  190,  190,  967, 1051, 1048,  973,  190,
01757       190,  190,  190,  969,  190,  968, 1586,  190,  190,  972,
01758       190,  190,  190,  981, 1049,  190,  190, 1052,  190,  190,
01759      1051,  974,  973,  190,  980,  218,  190,  190,  190, 1586,
01760 
01761       982,  218, 1586,  218,  218,  190,  190,  981,  988,  218,
01762       190, 1052,  218,  190,  986,  987,  974, 1050,  190,  980,
01763       218,  190,  218,  190,  218,  982,  218,  989,  218,  218,
01764       218,  190,  218,  988,  218, 1060,  218,  218,  986,  987,
01765      1586,  990, 1050,  218,  218, 1586, 1586,  218,  991,  218,
01766       218,  218,  989, 1586, 1055,  218,  993,  218,  218,  249,
01767      1060,  218,  992,  218,  218,  990, 1586,  249,  218,  218,
01768      1001,  218,  218,  991, 1002,  218,  218,  218, 1055, 1003,
01769      1586,  993,  249,  218,  249,  218,  992, 1061,  218,  218,
01770       249,  249,  249, 1586, 1010, 1001,  218,  218, 1002,  249,
01771 
01772      1586, 1007,  218,  249, 1003, 1008,  249,  249, 1011,  249,
01773       218,  249, 1061, 1009,  249,  249,  249,  249,  249, 1010,
01774      1586, 1586, 1059, 1012,  249, 1007,  249,  249,  249, 1008,
01775      1031,  249, 1011, 1014,  249,  249,  249, 1013, 1009,  249,
01776      1062,  249,  249,  249, 1032,  249, 1059, 1022, 1012,  249,
01777      1586,  249,  249,  249,  284, 1031, 1023,  249, 1014, 1024,
01778       249, 1013,  284,  284, 1062,  249,  249,  284, 1032, 1064,
01779       249,  284, 1022, 1028,  249,  284, 1586, 1029,  249,  284,
01780      1023,  284,  249, 1063, 1024, 1030,  284,  284,  284,  284,
01781       249, 1033,  284, 1064,  284,  284,  284, 1028, 1065,  284,
01782 
01783       284, 1029, 1067,  284, 1586, 1034,  284,  284, 1063,  284,
01784      1030,  284, 1066, 1586,  284, 1035, 1033,  284, 1586,  284,
01785       284, 1069, 1065, 1068,  284,  284, 1067,  284,  284, 1034,
01786      1586, 1043,  284,  284,  284,  284,  190, 1066, 1044,  284,
01787      1035, 1045,  284, 1053,  190, 1069, 1054,  284, 1068, 1073,
01788       284, 1056,  284, 1070, 1057,  190, 1043, 1071,  284, 1081,
01789       284,  190, 1044,  190,  284, 1080, 1045, 1053,  190,  190,
01790      1054, 1074,  284, 1073, 1075, 1056,  190, 1070, 1057,  190,
01791       190, 1072, 1071,  190, 1081, 1082,  190,  190,  190, 1080,
01792      1083,  190,  190,  190,  190, 1074, 1084, 1076, 1075, 1077,
01793 
01794       190,  190, 1078, 1079,  190, 1072,  190, 1586,  190, 1082,
01795      1086,  190,  190, 1087,  190, 1083,  190,  190, 1088,  190,
01796      1084, 1076, 1100, 1077,  190,  190, 1078,  218, 1085, 1586,
01797      1101,  190,  190, 1103, 1086,  218, 1586,  218, 1087,  190,
01798      1092, 1099, 1088, 1102, 1089,  218,  218, 1100, 1090,  190,
01799      1091, 1586,  218, 1085,  218, 1101, 1093,  190, 1103, 1094,
01800       218,  218,  218, 1104, 1092, 1099, 1108, 1102, 1089,  218,
01801       218,  218, 1105, 1090, 1091, 1095,  218,  218, 1586,  218,
01802      1093, 1107,  218, 1094,  218,  218,  218, 1104, 1109, 1096,
01803       218, 1108, 1097, 1113,  218,  218, 1105, 1586, 1121, 1095,
01804 
01805       218,  218,  218,  218, 1106, 1107, 1098,  218,  218,  218,
01806       218, 1586, 1109, 1096,  249,  218, 1097, 1113,  249,  249,
01807       218, 1111,  249, 1121,  249,  218,  249,  249,  218, 1106,
01808      1586, 1110,  249,  218, 1586, 1114, 1120, 1112, 1115,  249,
01809       249, 1586, 1119,  249,  249, 1122, 1111,  249,  249,  249,
01810       249,  249,  249, 1123, 1116, 1110, 1124,  249,  249, 1114,
01811      1120, 1112, 1115, 1117, 1125,  249, 1118, 1126,  249, 1586,
01812      1122,  249, 1129,  249, 1142,  249,  249, 1123, 1116,  249,
01813      1586, 1124, 1128,  249, 1130, 1586, 1134, 1117, 1125, 1141,
01814      1118, 1126,  284,  249,  249, 1586,  249, 1129, 1127, 1142,
01815 
01816       284,  249,  249,  284,  249, 1132, 1128,  284, 1130, 1131,
01817      1134,  284, 1586, 1141, 1144,  284, 1143,  284, 1135,  249,
01818      1133, 1136, 1146, 1127, 1145,  284,  284,  249,  284,  284,
01819      1132, 1586,  284, 1131,  284, 1149,  284,  284, 1144,  284,
01820       284, 1143, 1135, 1137, 1133, 1136, 1146,  284,  284, 1145,
01821      1140,  284, 1138, 1147,  284, 1139,  284,  284, 1152,  284,
01822      1149, 1150,  284, 1151,  284,  284,  284, 1137, 1153, 1154,
01823      1148, 1155,  284,  284,  284, 1156, 1138, 1147, 1157, 1139,
01824      1158,  284,  284, 1152, 1159, 1150, 1160, 1151, 1161, 1162,
01825       284,  284, 1153, 1154, 1163, 1148, 1155, 1164, 1165,  284,
01826 
01827      1156, 1166, 1168, 1157, 1167, 1158, 1170, 1586, 1171, 1159,
01828      1172, 1160, 1161, 1162,  190, 1176,  190,  190, 1163, 1177,
01829      1173, 1164,  190, 1165,  190,  190, 1166, 1168, 1167, 1178,
01830      1586, 1170, 1171, 1174, 1172, 1175, 1586, 1185,  190,  190,
01831      1176,  190,  190, 1180, 1177, 1173,  190,  190, 1182,  190,
01832       190, 1183,  190,  190, 1178, 1179, 1186, 1174, 1181, 1175,
01833       190,  190, 1185,  190, 1184, 1187,  190, 1189, 1180, 1190,
01834      1191,  190, 1182, 1195,  190, 1183,  218,  190,  190, 1201,
01835      1179, 1186, 1196, 1181,  218,  190,  190, 1197, 1184, 1187,
01836      1188,  190, 1189, 1190, 1191, 1193,  218,  218, 1195,  190,
01837 
01838      1192,  218, 1205, 1201,  218,  218, 1206, 1196,  218,  218,
01839      1198, 1586, 1197, 1202, 1203, 1194,  218, 1208,  218, 1193,
01840      1204,  218,  218, 1199, 1210, 1192,  218, 1205,  218,  218,
01841       218, 1206, 1207,  218, 1200, 1198,  218, 1202, 1203, 1194,
01842      1211,  218, 1208,  218, 1204, 1212,  218, 1216, 1199, 1210,
01843      1586,  218, 1217,  218,  218,  249, 1207,  249,  249, 1200,
01844      1218,  218, 1213,  249, 1211,  249,  249, 1586, 1222, 1212,
01845      1209,  218, 1216, 1223, 1214, 1215,  249, 1217, 1219,  218,
01846       249,  249,  249,  249,  249, 1218, 1220, 1213,  249,  249,
01847       249,  249, 1222, 1224,  249, 1586, 1225, 1223, 1214, 1215,
01848 
01849      1221,  249,  249, 1219, 1226, 1227,  249, 1228, 1229,  249,
01850       249, 1220, 1231, 1586,  249, 1232, 1233, 1224,  249,  249,
01851      1225, 1243, 1237, 1238,  284, 1221, 1239,  249, 1234, 1226,
01852      1227, 1228,  284, 1229, 1230,  249,  284, 1231,  284, 1232,
01853      1233, 1244, 1586,  249,  284, 1243,  284, 1237, 1238,  284,
01854       284, 1239, 1240, 1234, 1245, 1235, 1236,  284,  284,  284,
01855       284,  284, 1246,  284, 1241, 1244, 1242,  284,  284,  284,
01856      1247,  284, 1248, 1586, 1249,  284, 1250, 1240, 1245, 1235,
01857      1236, 1253,  284,  284,  284,  284, 1246, 1252, 1254, 1241,
01858       284, 1242,  284,  284, 1255, 1247, 1256, 1248, 1249, 1257,
01859 
01860      1258, 1250, 1259, 1260, 1261, 1253, 1251,  284, 1262, 1263,
01861      1264, 1267, 1252, 1254, 1265,  284, 1266, 1268, 1255, 1269,
01862      1256, 1274,  190, 1257, 1272, 1258, 1259, 1260, 1273, 1261,
01863       190,  190, 1262, 1263, 1270, 1264, 1267,  190, 1265,  190,
01864      1266,  190, 1268, 1269, 1280,  190, 1274,  190, 1272,  190,
01865      1586, 1278, 1273, 1279, 1271,  190,  190,  190, 1282, 1270,
01866      1275, 1281,  190, 1283,  190,  190,  190, 1284,  190, 1280,
01867       190, 1276, 1277,  218,  190, 1278,  190, 1279, 1271,  218,
01868      1289,  218,  190, 1282, 1275, 1281,  218,  218, 1283, 1285,
01869       190, 1284, 1287,  190,  218, 1276, 1286, 1277,  218, 1288,
01870 
01871      1293,  190,  218, 1295,  218, 1289,  218, 1586, 1294, 1296,
01872       218,  218,  218, 1297, 1285, 1298, 1287,  218,  218,  218,
01873      1286, 1290, 1292, 1288, 1293,  218,  218,  218, 1295, 1299,
01874      1586, 1291, 1294, 1296, 1300,  218,  249, 1297,  249, 1301,
01875      1298, 1305,  218,  218,  249, 1290,  249, 1292,  249,  249,
01876       218,  218, 1303, 1304, 1299, 1291,  249,  249, 1300, 1309,
01877      1311,  249, 1314,  249, 1301, 1302, 1305, 1310, 1306,  249,
01878       249,  249, 1312,  249,  249, 1313, 1303, 1304,  249, 1315,
01879      1586,  249,  249, 1309, 1307, 1311,  249, 1314, 1316, 1302,
01880      1308, 1310, 1306,  284,  249,  249, 1312,  284,  284, 1313,
01881 
01882      1317,  284, 1321,  249, 1315,  284,  284, 1327, 1307, 1319,
01883      1318,  249, 1316, 1320, 1325, 1308,  284, 1586,  284,  249,
01884      1326, 1328,  284,  284,  284, 1317,  284, 1321,  284, 1330,
01885       284,  284, 1327, 1319, 1318, 1322,  284, 1320, 1325,  284,
01886      1331,  284, 1323, 1324, 1326, 1328, 1329,  284, 1332,  284,
01887      1333, 1334, 1337,  284, 1330, 1335, 1336, 1338, 1339, 1322,
01888      1340,  284, 1341, 1342,  284, 1331, 1323, 1343, 1324, 1346,
01889      1329, 1345,  284, 1332, 1333, 1347, 1334, 1337,  190, 1335,
01890      1336, 1338, 1352, 1339, 1340,  190,  190, 1341, 1342, 1344,
01891       190, 1351, 1343,  190, 1346, 1345, 1353, 1354,  190, 1347,
01892 
01893       190, 1355, 1349,  190,  190,  218, 1352, 1348,  190, 1358,
01894       190,  190,  190,  218, 1344,  190, 1351, 1350,  190, 1357,
01895       218, 1353, 1354,  190, 1356,  190, 1355, 1349,  218,  190,
01896       218, 1348, 1359,  190, 1358, 1363, 1365,  190,  218,  218,
01897       218, 1350,  218, 1357, 1361,  218, 1364,  218,  218, 1356,
01898       218, 1586, 1362,  218, 1366, 1367, 1359, 1360,  249, 1370,
01899      1363, 1365, 1369, 1371,  218,  218,  249,  218, 1375, 1361,
01900      1364, 1376,  218,  218,  249,  218, 1362,  249, 1368, 1366,
01901      1367, 1360,  249,  249, 1370,  249, 1369, 1371,  249, 1377,
01902      1373,  249,  249, 1375, 1372, 1376,  249, 1378, 1379,  249,
01903 
01904       249,  284,  249, 1368, 1381, 1374, 1382,  249,  284,  284,
01905       249, 1383, 1380,  249, 1377, 1373,  284,  249, 1372,  284,
01906      1387,  249, 1378, 1379, 1389,  249,  284,  284, 1381, 1374,
01907       284, 1382, 1385,  284,  284, 1383, 1384, 1380,  284, 1390,
01908       284,  284, 1388, 1391,  284, 1387, 1392, 1393,  284, 1389,
01909      1394, 1395,  284, 1386, 1396,  284, 1397, 1385, 1398, 1399,
01910      1384, 1400, 1401,  284, 1390,  284, 1388, 1402, 1391, 1403,
01911      1586, 1392, 1393,  284, 1394, 1395, 1405, 1386, 1406, 1396,
01912      1397, 1407, 1398, 1412, 1399, 1400, 1401,  190,  190,  190,
01913      1404, 1402, 1408, 1411, 1403,  190,  190,  190,  190, 1586,
01914 
01915      1413, 1405, 1406, 1414, 1415, 1407,  190, 1412, 1409, 1417,
01916      1586, 1418,  190,  190,  190, 1404, 1410, 1408, 1411, 1419,
01917       190,  190,  190,  190, 1413,  218, 1423, 1414, 1416, 1415,
01918       218,  190, 1409,  218, 1417, 1418,  218,  218,  218, 1427,
01919      1410, 1420, 1429, 1419,  218,  218, 1586, 1424, 1425, 1421,
01920       218, 1423, 1426, 1416, 1422,  218, 1430,  249,  218, 1431,
01921      1428,  218,  218,  218, 1427,  249, 1420, 1429, 1435,  218,
01922       218, 1424, 1425, 1421, 1586, 1439, 1426, 1436, 1422,  249,
01923      1430,  249,  249, 1431,  249, 1428, 1437,  249, 1432,  249,
01924       249, 1438,  249, 1435, 1441, 1586, 1442, 1443, 1433, 1434,
01925 
01926      1439, 1436, 1586, 1586,  249, 1447,  249, 1448,  284,  249,
01927      1437, 1440,  249, 1432,  249, 1438,  284,  249,  284, 1441,
01928      1442, 1443, 1433, 1434,  284, 1451,  284,  284, 1444, 1453,
01929      1447, 1448,  284,  284, 1449,  284, 1440, 1445, 1450, 1452,
01930      1454,  284, 1455,  284, 1458, 1446, 1457,  190, 1586,  284,
01931      1451,  284,  284, 1444, 1453,  190, 1461,  284, 1449, 1586,
01932       284, 1445, 1450, 1452, 1454, 1463,  190, 1455, 1458, 1446,
01933       190, 1457,  190, 1459,  190, 1586,  190,  218,  190,  218,
01934       190, 1461, 1464, 1460,  190,  218,  218,  218, 1467, 1465,
01935      1463,  190,  218, 1469,  218,  190, 1466,  249, 1459,  190,
01936 
01937       218,  190,  218,  190,  218,  249, 1464, 1460, 1470,  190,
01938       218,  218,  218, 1467, 1465, 1476, 1473,  218, 1469,  218,
01939      1466,  249,  249,  249, 1471,  218,  249,  284, 1475,  249,
01940       249,  249, 1470, 1479,  249,  284,  284, 1482, 1586, 1476,
01941      1472, 1473,  284, 1483,  284, 1477,  249, 1485,  249, 1471,
01942       284,  249,  284, 1475,  249,  284,  249, 1484, 1479,  249,
01943       284,  284, 1482,  284, 1472, 1487, 1489,  284, 1483,  284,
01944      1477, 1485, 1478,  190, 1492,  284, 1490,  218, 1586,  190,
01945       284,  190, 1484, 1488, 1494,  218, 1586,  190,  284, 1495,
01946      1487, 1489, 1497, 1499, 1586, 1502, 1478, 1486,  190, 1492,
01947 
01948      1490, 1491,  218,  218,  190, 1500,  190, 1493, 1488, 1494,
01949       218,  218,  190, 1495,  249,  249, 1504, 1497, 1499, 1498,
01950      1502, 1505,  249,  249, 1586,  284,  284, 1506,  218, 1500,
01951      1503, 1507, 1493,  284,  284, 1508,  218, 1509, 1496,  249,
01952       249, 1504, 1510, 1511, 1498, 1505, 1512,  249,  249, 1501,
01953       284,  284, 1506, 1514, 1516, 1503, 1507, 1515,  284,  284,
01954      1508,  190, 1509, 1517, 1513, 1519, 1510,  218, 1511,  190,
01955      1518, 1512, 1520, 1521, 1522,  218, 1524,  249, 1514, 1516,
01956      1523, 1515, 1525, 1526, 1527,  249,  190, 1530, 1517, 1513,
01957      1519, 1529,  218, 1531,  190, 1518, 1520, 1532, 1521, 1522,
01958 
01959       218, 1524,  249, 1533,  284, 1523, 1525, 1528, 1526, 1527,
01960       249, 1530,  284, 1586, 1534,  190, 1529, 1531, 1535, 1536,
01961      1537, 1532,  218,  190, 1586, 1538, 1539, 1533, 1540,  284,
01962       218,  249, 1528, 1541, 1542, 1543, 1544,  284, 1534,  249,
01963       190, 1545, 1535, 1536, 1537,  284, 1546,  218,  190, 1538,
01964      1539, 1547, 1540,  284, 1548,  218,  249, 1541, 1542, 1543,
01965      1544, 1549, 1550, 1552,  249, 1545, 1551, 1553, 1554, 1556,
01966       284, 1546, 1555, 1557, 1558, 1547, 1559, 1560,  284, 1548,
01967      1561, 1562, 1563, 1564, 1565, 1549, 1566, 1550, 1552, 1567,
01968      1551, 1553, 1568, 1554, 1556, 1569, 1555, 1570, 1557, 1558,
01969 
01970      1571, 1559, 1560, 1572, 1573, 1561, 1562, 1563, 1564, 1565,
01971      1566, 1574, 1575, 1567, 1576, 1577, 1568, 1578, 1579, 1569,
01972      1580, 1570, 1581, 1582, 1583, 1571, 1584, 1585, 1572, 1573,
01973      1586, 1586, 1586, 1586, 1586, 1586, 1574, 1575, 1576, 1577,
01974      1586, 1578, 1579, 1586, 1580, 1586, 1586, 1581, 1582, 1583,
01975      1586, 1584, 1585,  146,  146,  146,  146,  146,  146,  146,
01976       146,  146,  147,  147,  147,  147,  147,  147,  147,  147,
01977       147,  152,  152,  152, 1586,  152,  152,  152,  152,  152,
01978       154,  154,  180,  180, 1586,  180,  180,  180,  180,  180,
01979       180,  189,  189,  189,  189,  190,  190,  190,  190,  214,
01980 
01981       214, 1586,  214,  214,  214,  214,  214,  214,  216,  216,
01982       216,  216,  216,  216,  216,  216,  216,  218,  218, 1586,
01983       218,  218,  218,  218,  218,  218,  244,  244, 1586,  244,
01984       244,  244,  244,  244,  244,  245, 1586,  245,  245,  245,
01985       245,  245,  245,  245,  247,  247,  247,  247,  247,  247,
01986       247,  247,  247,  249, 1586,  249,  249,  249,  249,  249,
01987       249,  249,  273,  273,  273,  273,  273,  273,  273,  273,
01988       273,  275,  275,  282,  282,  282,  282,  282,  284,  284,
01989       284,  284,  284,  308,  308,  308,  308,  308,  308,  308,
01990       308,  308,  440,  440, 1586,  440,  440,  440,  440,  440,
01991 
01992       440,  464,  464, 1586,  464,  464,  464,  464,  464,  464,
01993       472,  472, 1586,  472,  472,  472,  472,  472,  472,  495,
01994       495, 1586,  495,  495,  495,  495,  495,  495,  503,  503,
01995      1586,  503,  503,  503,  503,  503,  503,  527,  527, 1586,
01996       527,  527,  527,  527,  527,  527,  535,  535,  535,  535,
01997       535,  535,  535,  535,  535,  559,  559,  559,  559,  559,
01998       559,  559,  559,  559,  568,  568, 1586,  568,  568,  568,
01999       568,  568,  568,  592,  592, 1586,  592,  592,  592,  592,
02000       592,  592,  463,  463, 1586,  463,  463,  463,  463,  463,
02001       463,  494,  494, 1586,  494,  494,  494,  494,  494,  494,
02002 
02003       526,  526, 1586,  526,  526,  526,  526,  526,  526,  558,
02004       558,  558,  558,  558,  558,  558,  558,  558,  591,  591,
02005      1586,  591,  591,  591,  591,  591,  591,  843,  843, 1586,
02006       843,  843,  843,  843,  843,  843,  865,  865, 1586,  865,
02007       865,  865,  865,  865,  865,  885,  885, 1586,  885,  885,
02008       885,  885,  885,  885,  907,  907,  907,  907,  907,  907,
02009       907,  907,  907,  929,  929, 1586,  929,  929,  929,  929,
02010       929,  929,   23, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02011      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02012      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02013 
02014      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02015      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02016      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02017      1586, 1586, 1586, 1586, 1586, 1586, 1586
02018     } ;
02019 
02020 static yyconst flex_int16_t yy_chk[6938] =
02021     {   0,
02022         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02023         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02024         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02025         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02026         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02027         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02028         1,    1,    1,    1,    2,    4,    6,    8,    2,    4,
02029         6,    8,    9,    9,    9,    9,    9,    9,    9,    9,
02030         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02031         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02032 
02033         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02034         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02035         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02036         9,    9,    9,    9,    9,    9,   10,   22,   22, 1475,
02037        10,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02038        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02039        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02040        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02041        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02042        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
02043 
02044        11,   11,   11,   11,   11,   12,   76, 1469,   76,   12,
02045        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02046        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02047        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02048        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02049        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02050        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
02051        13,   13,   13,   13,   14,  117,  117, 1463,   14,   15,
02052        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02053        15,   16,   18,   20, 1457,   16,   18,   20,   29,   29,
02054 
02055        29,   29,   29,   29,   46,   49,  147,  147,   46,   49,
02056        15,   15,   15,   15,   15,   15,   19,   19,   19,   19,
02057        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02058        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02059        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02060        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02061        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02062        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
02063        30,   31,   33, 1453,   32,   34,   37,   32,   38,   31,
02064        51,   32,   35,   39,   51,   35,   40,   41,   53,   44,
02065 
02066        99,   43,   53,   99,   30,   43,   31,   33,   32,   34,
02067        37,   32,   38,   72,   31,   32,   35,   72,   39,   35,
02068        40,   41,   42,   44,   42,   94,   43,   42, 1451,   94,
02069        43,   55,   55,   55,   55,   55,   55,  216,   42,  216,
02070        56,   56,   56,   56,   56,   56,   59,   42,  155,   42,
02071        59,   60,   42,   62,   59,  158,  126, 1448,  161,   60,
02072       126,   62,   42,   56,   77,   77,   77,   77,   77,   77,
02073        56,   59,  155,   60,  156,   59,   60,  123,   62,   59,
02074       158,  145,  123,  161,   60,  145,   62,   56,   57,   57,
02075        57,   57,   57,   57,   57, 1436,   61,   60,  156,  157,
02076 
02077       162,  123,   57, 1424,   61,   63,  123,   61,   65, 1412,
02078        61,  178,   65,   63,  247,  178,   65,  247,   57,   57,
02079        63,   61, 1400,  157,  159,  162,  159,   57,   58,   61,
02080        63,   61,   66,   65,   61,   64,   58,   65,   63,   58,
02081        66,   65,   58,   64,   63, 1066,   58,  160,  159,   64,
02082       159,   66,  165,   58,   69,  166,  122,   66,   69,  953,
02083        64,   58,   69,   58,   67,   66,   58,  608,   64,  122,
02084        58,  160,   67,   64,  163,   66,   70,  165,   67,   69,
02085       166,  122,  167,   69,   70,  273,  273,   69,  168,   67,
02086        70,   81,   84,  122,  169,   81,  458,   67,  163,   81,
02087 
02088        84,   70,   67,   68,  172,   68,  167,   68,  164,   70,
02089        68,   68,  168,  326,   70,   82,   81,   84,  169,  164,
02090        81,   68,  182,   82,   81,   84,  182,  184,   68,  172,
02091        68,  184,   68,  164,  310,   68,   68,   82,  170,  173,
02092        82,  171,  175,  164,  174,   68,   78,   78,   82,   78,
02093        78,   78,   78,   78,   78,   78,   78,   78,   78,   83,
02094        85,   82,  170,   86,  173,  171,  175,   83,   85,  174,
02095        83,   86,  324,   83,  176,   85,   78,   86,  186,  107,
02096       281,  276,  186,   78,   83,   85,  213,  107,   86,  279,
02097       213,  242,   83,   85,   83,  242,   86,   83,  176,   85,
02098 
02099        78,   86,  280,  324,  107,  276,  280,   78,   78,   78,
02100        79,   79,  107,   79,   79,   79,   79,   79,   79,   79,
02101        79,   79,   79,   79,   87,   88,   89,  136,   87,  312,
02102       190,   79,   87,   88,   89,  136,  272,   91,  190,  307,
02103        89,   91,  314,  307,   88,   91,  241,   79,   79,   87,
02104        88,   89,  136,   87,  312,  190,   79,   87,   88,   89,
02105       136,  104,   91,  190,   89,  104,   91,  314,   88,  104,
02106        91,   79,   79,   79,   80,   92,  100,  100,  100,  100,
02107       100,  100,   80,   92,  215,   80,  104,  187,   80,   92,
02108       104,  185,   80,  105,  104,  308,  308,  120,  183,   80,
02109 
02110        92,  105,  315,  181,  319,  120,  177,   80,   92,   80,
02111       152,  278,   80,   92,  120,  105,   80,   90,  105,   90,
02112       106,   90,  120,  278,   90,   90,  105,  315,  106,  319,
02113       120,  106,  277,  277,  106,   90,  278,  316,  120,  105,
02114       558,  558,   90,  150,   90,  106,   90,  278,  149,   90,
02115        90,  127,  125,  106,  320,  106,  277,  277,  106,   90,
02116       101,  316,  101,  101,  101,  101,  101,  101,  101,  101,
02117       101,  101,  101,  108,  110,  109,  111,  112,  110,  320,
02118       317,  108,  110,  109,  111,  112,  116,  318,  108,  109,
02119       101,  112,  321,   98,  322,  111,  323,  101,  108,  110,
02120 
02121       109,  111,  112,  110,  317,   93,  108,  110,  109,  111,
02122       112,  318,  108,  109,  101,  112,  327,  321,  322,  111,
02123       323,  101,  101,  101,  102,  329,  102,  102,  102,  102,
02124       102,  102,  102,  102,  102,  102,  102,  102,  114,  115,
02125       327,  140,  114,   75,  328,  102,  114,  115,   74,  140,
02126       329,  334,   54,  115,  118,  118,  118,  118,  118,  118,
02127       140,  102,  102,  114,  115,  331,  140,  114,  328,  332,
02128       102,  114,  115,  121,  140,  334,  121,  115,   52,  121,
02129       121,  335,   50,   48,  140,  102,  102,  102,  103,  333,
02130       331,  441,  124,  438,  332,  124,  103,  121,  124,  103,
02131 
02132       121,  442,  103,  121,  121,  335,  103,  129,  129,  129,
02133       129,  129,  129,  103,  333,  441,  124,   45,  438,  124,
02134        27,  103,  124,  103,   25,  442,  103,  439,  133,  137,
02135       103,  113,  133,  113,  135,  113,  133,  137,  113,  113,
02136        23,  439,  135,   17,  137,  135,  444,  446,  135,  113,
02137         7,    5,  439,  133,  137,    3,  113,  133,  113,  135,
02138       113,  133,  137,  113,  113,  439,    0,  135,  137,  135,
02139       444,  446,  135,  113,  119,  119,  119,  119,  119,  119,
02140       119,  119,  119,  119,  119,  119,  153,  153,  153,  153,
02141       153,  153,  448,  449,    0,    0,  451,  119,  188,  188,
02142 
02143       188,  188,  188,  188,  138,  119,  119,  119,  119,  119,
02144       119,  134,  138,    0,    0,  462,  448,  449,  138,  134,
02145       451,  119,  130,  130,  130,  130,  130,  130,  130,  138,
02146       139,  141,    0,  134,  139,  194,  134,  138,  139,  141,
02147       462,  452,  138,  194,  134,  141,  130,  217,  217,  217,
02148       217,  217,  217,  130,  143,  139,  141,  134,  143,  139,
02149       194,  460,  143,  139,  141,  452,    0,    0,  194,  141,
02150       130,  131,  131,  131,  131,  131,  131,  131,  131,  143,
02151       144,  191,  193,  143,  192,  460,  131,  143,  144,  191,
02152       193,  413,  192,    0,  144,  193,  199,    0,  191,    0,
02153 
02154       192,  465,  131,  131,  199,  144,  191,  193,  413,  192,
02155       199,  131,  132,  144,  191,  193,  413,  192,  144,  193,
02156       132,  199,  191,  132,  192,  465,  132,  196,  197,  199,
02157       132,  195,  413,  197,  199,  196,  197,  132,    0,  195,
02158         0,    0,  195,  196,  195,  132,  467,  132,  466,    0,
02159       132,  440,  196,  197,  132,  142,  195,  142,  197,  142,
02160       196,  197,  142,  142,  195,  440,  195,  196,  195,    0,
02161       198,  467,  466,  142,  198,    0,  440,  200,  198,  200,
02162       142,  468,  142,  202,  142,  200,  202,  142,  142,  440,
02163       200,  202,  201,  459,  201,  198,  469,  142,    0,  198,
02164 
02165       201,  203,  200,  198,  200,  204,  468,  205,  202,  203,
02166       200,  202,  459,  204,  200,  205,  202,  201,  459,  201,
02167       469,    0,  203,  204,  483,  201,  203,    0,  205,  206,
02168       204,  207,  205,  208,  203,  209,  459,  206,  204,  207,
02169       205,  208,    0,  209,    0,  206,  203,  204,  483,  207,
02170       514,  211,  205,    0,  206,    0,  207,  218,  208,  211,
02171       209,  607,  206,  515,  207,  218,  208,  211,  209,  206,
02172       210,  210,  212,  207,  514,  219,  211,  220,  210,  490,
02173       212,  221,  218,  219,  211,  220,  607,  515,  212,  221,
02174       218,  211,  219,  220,  221,  210,  210,  212,  490,  222,
02175 
02176       219,  546,  220,  210,  490,  212,  221,  222,  219,    0,
02177       220,  224,  212,  236,  221,  223,  219,  220,  221,  224,
02178       613,  236,  490,  223,  222,  546,  223,  224,  223,  225,
02179         0,  226,  222,  227,  225,  226,  224,  225,  236,  226,
02180       223,  227,  522,    0,  224,  613,  236,  227,  223,  618,
02181       223,  224,  223,    0,  225,  228,  226,  228,  227,  225,
02182       226,  522,  225,  228,  226,  547,  227,  522,  228,  231,
02183       229,  227,  229,  230,  618,  232,  230,  231,  229,    0,
02184       228,  230,  228,  232,  635,  522,    0,  579,  228,  547,
02185       231,  233,  228,  232,  231,  229,  580,  229,  230,  233,
02186 
02187       232,  230,  231,  229,  598,  234,  230,  235,  232,  635,
02188       237,  579,  233,  234,  231,  235,  233,  232,  237,  471,
02189       580,  234,  554,  239,  233,  235,  238,  238,  598,  249,
02190       234,  239,  235,  471,  238,  237,  233,  249,  234,  239,
02191       235,  554,  240,  237,  471,  234,    0,  554,  239,  235,
02192       240,  238,  238,  253,  249,  658,  239,  471,  240,  238,
02193         0,  253,  249,  239,  681,  554,  250,  240,  248,  248,
02194       248,  248,  248,  248,  250,  240,  251,  252,  253,  565,
02195       658,  565,  240,  250,  251,  252,  253,  254,  255,  681,
02196       252,  250,  251,    0,    0,  254,  255,    0,  254,  250,
02197 
02198       254,  251,  252,  565,  255,  565,  599,  250,  601,  251,
02199       252,  257,  254,  255,  252,  257,  251,  258,  256,  257,
02200       254,  255,  254,  256,  254,  258,  256,    0,  255,    0,
02201       599,  258,  601,  259,    0,  259,  257,    0,    0,  603,
02202       257,  259,  258,  256,  257,  604,  259,    0,  256,  261,
02203       258,  256,  261,  263,  260,  258,  260,  261,  259,  262,
02204       259,  263,  260,  603,  264,  267,  259,  262,  268,  604,
02205       259,  263,  264,  267,  261,  265,  268,  261,  263,  260,
02206       262,  260,  261,  265,  262,  264,  263,  260,  266,  264,
02207       267,  265,  262,  268,  605,  263,  266,  264,  267,  606,
02208 
02209       265,  268,  269,  269,  262,  609,  266,    0,  265,  264,
02210       269,  617,  587,  266,  610,  265,  270,  271,  605,    0,
02211         0,  266,    0,  606,  270,  271,  617,  269,  269,  609,
02212       266,  587,  270,  271,    0,  269,    0,  587,  610,    0,
02213         0,  270,  271,  274,  274,  274,  274,  274,  274,  270,
02214       271,  617,    0,  611,  612,  587,  270,  271,  283,  283,
02215       283,  283,  283,  283,  284,  285,  287,  286,  288,    0,
02216       502,    0,  284,  285,  287,  286,  288,  611,  612,  287,
02217         0,  614,  285,  286,  502,  615,  302,    0,    0,  284,
02218       285,  287,  286,  288,  302,  502,  290,  284,  285,  287,
02219 
02220       286,  288,  289,  287,  290,  614,  285,  286,  502,  615,
02221       289,  302,  290,  289,  619,  289,  292,  291,  293,  302,
02222       292,  290,  291,    0,  292,  291,  293,  289,    0,  290,
02223       620,    0,  293,    0,    0,  289,  290,  289,  619,  289,
02224       303,  292,  291,  293,  294,  292,  294,  291,  303,  292,
02225       291,  293,  294,  295,  620,  295,  293,  294,  297,  296,
02226       300,  295,  296,    0,  298,  303,  297,  296,  300,  294,
02227         0,  294,  298,  303,    0,  622,  300,  294,  295,  297,
02228       295,  294,  298,  297,  296,  300,  295,  296,  299,  298,
02229       301,  297,  296,  300,  304,  304,  299,  298,  301,  622,
02230 
02231       300,  632,  304,  297,  337,    0,  298,  633,  301,  299,
02232       305,  704,  337,  299,  306,  301,  634,  644,  305,  304,
02233       304,  299,  306,  301,  654,  632,  305,  304,  655,  337,
02234       306,  633,  301,  299,    0,  305,  704,  337,    0,  306,
02235       634,  644,    0,  305,    0,    0,    0,  306,  654,  340,
02236       305,    0,  655,  340,  306,  313,  313,  340,  313,  313,
02237       313,  313,  313,  313,  313,  313,  313,  313,  325,  325,
02238       325,  325,  325,  339,  340,  343,  339,  325,  340,  344,
02239       341,  339,  340,  343,    0,  656,  343,  344,  341,    0,
02240       657,  667,  313,    0,    0,    0,    0,  341,  339,    0,
02241 
02242       343,  339,  325,    0,  344,  341,  339,    0,  343,  656,
02243       343,    0,  344,  341,  657,  667,  313,  313,  313,  330,
02244       330,  341,  330,  330,  330,  330,  330,  330,  330,  330,
02245       330,  330,  342,  345,  346,  345,  347,    0,  351,  352,
02246       342,  345,  346,  356,  347,    0,  351,  352,  356,    0,
02247       342,  356,    0,    0,  352,  347,  330,  342,  345,  346,
02248       345,  347,  351,  351,  352,  342,  345,  346,  356,  347,
02249       349,  351,  352,  356,  342,  677,  356,  349,  352,  347,
02250       330,  330,  330,  338,  338,  349,  338,  338,  338,  338,
02251       338,  338,  338,  338,  338,  338,  348,    0,    0,  677,
02252 
02253         0,  349,  349,  357,  348,  357,    0,    0,  354,    0,
02254       349,  357,  354,    0,  348,  713,  354,    0,    0,  678,
02255       338,  348,  350,  350,  350,  350,  350,  350,  357,  348,
02256       357,  353,  350,  354,  358,  358,  357,  354,  348,  353,
02257       713,  354,  358,  678,  338,  338,  338,    0,  353,    0,
02258         0,    0,  350,    0,    0,    0,  353,  350,    0,  358,
02259       358,  362,    0,  359,  353,  600,  714,  358,  600,  362,
02260         0,  359,  353,  355,  355,  359,  355,  355,  355,  355,
02261       355,  355,  355,  355,  355,  355,  362,  360,  359,  600,
02262       364,  714,  600,  364,  362,  360,  359,  360,  364,  359,
02263 
02264       365,    0,  679,  680,  365,    0,  369,  715,  365,    0,
02265       355,    0,  360,    0,  369,  364,    0,    0,  364,    0,
02266       360,  360,    0,  364,    0,  365,  679,  680,    0,  365,
02267       690,  369,  715,  365,  355,  355,  355,  363,  363,  369,
02268       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
02269       366,  367,  368,  370,  690,  370,  371,    0,  366,  367,
02270       368,  370,    0,  368,  371,    0,    0,  366,  700,  367,
02271         0,  372,    0,    0,  363,  366,  367,  368,  370,  372,
02272       370,  371,  701,  366,  367,  368,  370,  368,    0,  371,
02273       372,  366,  700,  367,  373,  377,  372,  376,  363,  363,
02274 
02275       363,  374,  373,  377,  372,  376,  701,    0,  374,    0,
02276       377,    0,  373,  702,  372,    0,  374,    0,    0,  373,
02277       377,  376,  376,  378,    0,  534,    0,  373,  377,    0,
02278       376,  378,  374,  374,  377,  602,  373,  702,  602,  534,
02279       378,  374,  375,  375,  375,  375,  375,  375,  378,  379,
02280       534,  375,  382,  379,  382,  375,  378,  379,    0,  602,
02281       382,    0,  602,  534,  378,    0,    0,    0,    0,    0,
02282         0,    0,  375,    0,  379,    0,  375,  382,  379,  382,
02283       375,    0,  379,  380,  380,  382,  380,  380,  380,  380,
02284       380,  380,  380,  380,  380,  380,  381,  383,  383,  384,
02285 
02286       385,  381,  567,  716,  381,  383,  388,  384,  385,    0,
02287       385,  384,  703,  717,  388,    0,  567,  718,    0,  719,
02288       380,  381,  383,  383,  384,  385,  381,  567,  716,  381,
02289       383,  388,  384,  385,  385,  384,  703,    0,  717,  388,
02290       567,    0,  718,  719,  380,  380,  380,  389,  389,  389,
02291       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
02292       390,  391,  392,  390,  393,  391,  394,  395,  390,  391,
02293       392,    0,  393,    0,  394,  395,    0,  394,  721,  392,
02294         0,    0,  393,    0,  389,  390,  391,  392,  390,  393,
02295       391,  394,  395,  390,  391,  392,  396,  393,  396,  394,
02296 
02297       395,  394,  721,  392,  396,  397,  393,  398,  389,  389,
02298       389,  722,  400,  397,  404,  398,  399,    0,  723,  400,
02299         0,  396,  404,  396,  399,    0,  398,  400,    0,  396,
02300       397,  404,  398,  727,  399,  722,    0,    0,  397,  404,
02301       398,  399,  723,  400,  400,  402,    0,  404,    0,  399,
02302       398,  724,  400,  402,  725,  404,  726,  727,  399,  401,
02303       401,  401,  401,  401,  401,  403,  735,  405,  401,  402,
02304       402,  405,  401,  403,    0,  405,  724,  728,  402,  725,
02305       403,  726,    0,    0,    0,    0,    0,    0,    0,  401,
02306       403,  735,  405,  401,  407,    0,  405,  401,  403,  407,
02307 
02308       405,  728,  407,    0,  403,  406,  406,  406,  406,  406,
02309       406,  406,  406,  406,  406,  406,  406,  406,  408,  407,
02310       408,  409,  409,  410,  407,  414,  408,  407,  411,  409,
02311       736,  410,    0,  414,    0,  410,  411,    0,  411,  729,
02312       732,    0,  406,  408,    0,  408,  409,  409,  410,    0,
02313       414,  408,    0,  411,  409,  736,  410,  416,  414,  410,
02314       416,  411,  411,  729,  732,  416,  406,  406,  406,  415,
02315       415,  733,  415,  415,  415,  415,  415,  415,  415,  415,
02316       415,  415,  416,  417,  418,  416,  419,  417,  420,  421,
02317       416,  417,  418,    0,  419,  733,  420,  421,    0,  420,
02318 
02319         0,  418,  423,    0,  419,    0,  415,    0,  417,  418,
02320       423,  419,  417,  420,  421,  738,  417,  418,  422,  419,
02321       422,  420,  421,  420,  739,  418,  422,  423,  419,  424,
02322       415,  415,  415,  428,  425,  423,  623,  424,    0,  623,
02323       738,  428,  425,  422,  740,  422,  426,    0,  424,  739,
02324       751,  422,  425,  426,  424,  749,  750,  428,  428,  425,
02325       623,  426,  424,  623,    0,    0,  428,  425,    0,  740,
02326         0,  431,  424,    0,  751,  431,  425,  426,  426,  431,
02327       749,  750,  752,  753,  775,    0,  426,  427,  427,  427,
02328       427,  427,  427,  427,  429,  430,  431,  434,  427,  434,
02329 
02330       431,  776,  429,  430,  431,  434,  752,  753,  775,  429,
02331       494,  494,  430,  494,  494,  494,  494,    0,  427,  429,
02332       430,    0,  434,  427,  434,  776,  433,  429,  430,  761,
02333       434,  433,  762,  429,  433,    0,  430,  432,  432,  763,
02334       432,  432,  432,  432,  432,  432,  432,  432,  432,  432,
02335       436,  433,  435,  435,  761,  437,  433,  762,  436,  433,
02336       435,    0,  436,  437,  763,  437,  645,  668,  777,  645,
02337       668,  494,  494,  494,  432,  436,    0,  435,  435,  780,
02338       437,    0,    0,  436,    0,  435,  436,    0,  437,  437,
02339       645,  668,  777,  645,  668,  800,    0,    0,  432,  432,
02340 
02341       432,  464,  464,  780,  464,  464,  464,  464,  464,  464,
02342       464,  464,  464,  464,  470,  473,  472,  474,  475,  800,
02343       470,  472,  470,  473,  472,  474,  475,    0,  476,    0,
02344       474,  801,  473,    0,    0,  472,  476,    0,  464,  470,
02345       473,  472,  474,  475,  476,  470,  472,  470,  473,  472,
02346       474,  475,  477,  476,  474,  801,  473,  478,  479,  472,
02347       477,  476,  464,  464,  464,  478,  479,    0,  476,  772,
02348       480,  482,  481,  492,    0,    0,  478,  477,  480,  482,
02349       481,  492,  478,  479,  489,  477,  802,    0,  480,  481,
02350       478,  479,  489,    0,  772,  480,  482,  481,  492,  491,
02351 
02352       478,  773,  774,  480,  482,  481,  492,  491,  489,  489,
02353       802,  493,  480,  481,  805,  493,  786,  489,  491,  493,
02354         0,    0,  787,    0,  491,    0,  773,  774,    0,    0,
02355         0,    0,  491,    0,    0,  498,  493,    0,  805,  498,
02356       493,  786,  491,  498,  493,  495,  495,  787,  495,  495,
02357       495,  495,  495,  495,  495,  495,  495,  495,  496,  497,
02358       498,  788,  499,  500,  498,  506,  496,  497,  498,  497,
02359       499,  500,    0,  506,    0,    0,  496,    0,    0,    0,
02360       500,    0,  495,  496,  497,  797,  788,  499,  500,    0,
02361       506,  496,  497,  497,  503,  499,  500,  501,  506,  503,
02362 
02363       496,  504,  503,  501,  500,  501,  495,  495,  495,  504,
02364       797,  691,    0,  503,  691,  798,    0,    0,  504,  503,
02365         0,  508,  501,  505,  503,  507,  504,  503,  501,  508,
02366       501,  505,    0,  507,  504,  691,  505,  503,  691,  510,
02367       798,  507,  504,  509,  512,  511,  508,  510,  505,  513,
02368       507,  509,  512,  511,  508,    0,  505,  513,  507,  521,
02369       505,  512,  509,  511,  510,  507,    0,  521,  509,  512,
02370       511,  523,  510,  524,  513,  799,  509,  512,  511,  523,
02371       531,  524,  513,  521,  521,  512,  509,  511,  531,    0,
02372       523,  525,  521,  811,    0,  525,  523,  812,  524,  525,
02373 
02374       799,    0,  813,    0,  523,  531,  524,    0,    0,    0,
02375         0,    0,    0,  531,  523,  530,  525,    0,  811,  530,
02376       525,    0,  812,  530,  525,  527,  527,  813,  527,  527,
02377       527,  527,  527,  527,  527,  527,  527,  527,  528,  529,
02378       530,  822,  532,    0,  530,  533,  528,  529,  530,  529,
02379       532,  533,  823,  533,    0,    0,  528,    0,    0,  532,
02380       535,    0,  527,  528,  529,  535,  822,  532,  535,    0,
02381       533,  528,  529,  529,  536,  532,  533,  823,  533,  535,
02382       528,  537,  536,  532,  538,  535,  527,  527,  527,  537,
02383       535,  536,  538,  535,  537,    0,  539,  540,    0,  536,
02384 
02385       541,  824,  542,  535,  539,  540,  537,  536,  541,  538,
02386       542,    0,  539,    0,  537,  536,  543,  538,  537,  541,
02387       544,  539,  540,  545,  543,  541,  824,  542,  544,  539,
02388       540,  545,  555,  541,  543,  542,  539,  544,  553,  556,
02389       555,  543,    0,  541,  561,  544,  553,  556,  545,  543,
02390         0,  555,  561,  544,  561,  825,  545,  555,  543,  563,
02391       837,  544,  553,  553,  556,  555,  557,  563,    0,  561,
02392       557,  553,  556,  840,  557,  555,    0,  561,  561,  825,
02393         0,    0,    0,    0,  563,  837,    0,    0,    0,  562,
02394         0,  557,  563,  562,    0,  557,  826,  562,  840,  557,
02395 
02396       559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
02397       559,  559,  559,  560,  562,  564,  569,    0,  562,  566,
02398       826,  560,  562,  564,  569,  566,    0,  566,    0,    0,
02399       827,  560,  564,  569,  568,  571,    0,  559,  560,  568,
02400       564,  569,  568,  571,  566,  830,  560,  846,  564,  569,
02401       566,  835,  566,  568,  827,  560,  564,  569,  570,  568,
02402       571,  559,  559,  559,  568,  572,  570,  568,  571,  830,
02403         0,  570,  846,  572,  573,  835,  575,  568,  574,  577,
02404         0,  572,  573,  570,  575,    0,  574,  577,    0,  836,
02405       572,  570,  576,    0,  578,  570,  577,  574,  572,  573,
02406 
02407       576,  575,  578,  574,  577,  572,  586,  573,  838,  575,
02408       576,  574,  577,  836,  586,  589,  588,  576,  590,  578,
02409       577,  574,  590,  589,  588,  576,  590,  578,    0,    0,
02410       586,  586,  838,    0,  576,  588,  593,  596,  595,  586,
02411       589,  588,  595,  590,  593,  596,  595,  590,  589,  588,
02412       594,  590,  591,  591,  593,  591,  591,  591,  594,  588,
02413       594,  593,  596,  595,  597,  626,  621,  595,  624,  593,
02414       596,  595,  597,  626,  621,  594,  624,  630,  593,  621,
02415       839,  597,  624,  594,  594,  630,    0,  847,  626,  597,
02416       626,  621,    0,  624,  848,    0,    0,  597,  626,  621,
02417 
02418         0,  624,  630,  621,  839,  597,  624,    0,    0,  849,
02419       630,  847,  626,  591,  591,  591,  592,  592,  848,  592,
02420       592,  592,  592,  592,  592,  592,  592,  592,  592,  625,
02421       627,  636,  628,  849,    0,  631,    0,  625,  627,  636,
02422       628,    0,  625,  631,    0,  625,  628,  851,  627,  636,
02423       629,    0,    0,  592,  625,  627,  636,  628,  629,  631,
02424       631,  629,  625,  627,  636,  628,  625,  855,  631,  625,
02425       628,  851,  627,  636,  637,  629,  638,  592,  592,  592,
02426       842,  639,  637,  629,  638,  629,    0,  637,  639,  640,
02427       641,  855,  640,    0,  842,    0,  639,  640,  641,  637,
02428 
02429       850,  638,    0,  641,  642,  842,  852,  637,  857,  638,
02430       853,  637,  642,  639,  640,  641,  646,  640,  842,  642,
02431       643,  639,  640,  641,  646,  850,  647,  641,  643,  642,
02432       646,  852,  857,  643,  647,  853,  858,  642,    0,  647,
02433       649,  646,  647,  642,  648,  643,  854,  650,  649,  646,
02434       869,  647,  648,  643,  646,  650,  652,  643,  649,  647,
02435       858,  650,  653,  647,  652,  649,  647,  648,  651,  648,
02436       653,  854,  650,  649,  869,  660,  651,  648,    0,  651,
02437       650,  652,  649,  660,  659,  650,  653,  653,  660,  652,
02438       661,  648,  659,  651,    0,  653,  675,    0,  661,  662,
02439 
02440       660,  651,  659,  651,  675,    0,  662,  856,  660,  659,
02441       663,  664,  660,  663,  662,  661,  870,  659,  663,  664,
02442       666,  675,  665,  661,  664,    0,  659,  872,  666,  675,
02443       665,  662,  856,  666,  877,  663,  664,  665,  663,  662,
02444       870,  671,  669,  663,  664,  666,  670,  665,  664,  671,
02445       669,  872,  672,  666,  670,  665,  669,  666,  877,  670,
02446       672,  665,  670,    0,  671,  676,  671,  669,  673,    0,
02447       672,  670,    0,  676,  671,  669,  673,  672,  859,  670,
02448       669,    0,  673,  670,  674,  672,  670,  871,  671,  676,
02449       676,  684,  674,  673,  672,  674,  682,  683,  676,  684,
02450 
02451       685,  673,    0,  859,  682,  683,  673,  685,    0,  674,
02452       683,    0,  871,  878,  682,  685,  684,  674,  687,  674,
02453       686,  682,  683,  686,  684,  692,  687,  688,  686,  682,
02454       683,  687,  685,  692,  683,  688,  689,  878,  682,  692,
02455       685,    0,  688,  687,  689,  686,  693,  873,  686,  689,
02456       692,  687,  688,  686,  693,  687,  695,  694,  692,  693,
02457       688,  689,  693,  692,  695,  694,  688,  698,    0,  689,
02458       696,  693,  873,  689,  695,  698,    0,  697,  696,  693,
02459       694,  695,  694,  693,  696,  697,  693,    0,  697,  695,
02460       694,  699,  698,  705,    0,  696,  879,  707,  695,  699,
02461 
02462       698,  705,  697,  696,  694,  707,  706,    0,  696,    0,
02463       697,  705,  697,  708,  706,  699,  699,    0,  705,  706,
02464       708,  879,  707,  889,  699,  892,  705,  890,  708,  709,
02465       707,  706,  709,  710,  711,  705,  737,  709,    0,  706,
02466       891,  710,  711,  706,  737,  708,  710,  889,  893,  711,
02467       892,  890,  899,  708,  709,    0,    0,  709,  710,  711,
02468         0,  737,  709,  741,  891,  741,  710,  711,    0,  737,
02469       710,  741,  893,  711,  720,  720,  899,  720,  720,  720,
02470       720,  720,  720,  720,  720,  720,  720,  742,  741,  894,
02471       741,  743,  742,  744,  754,  742,  741,  743,  746,  743,
02472 
02473       895,  744,  754,    0,  900,  744,  746,  755,    0,  746,
02474       911,  720,  742,    0,  894,  755,  743,  742,  744,  754,
02475       742,    0,  743,  746,  743,  895,  744,  754,  900,  744,
02476         0,  746,  755,  746,  911,  720,  720,  720,  745,  745,
02477       755,  745,  745,  745,  745,  745,  745,  745,  745,  745,
02478       745,  747,  748,  756,  757,  758,    0,  843,    0,  747,
02479       748,  756,  757,  758,    0,  748,  756,  901,    0,  747,
02480         0,  843,    0,  759,    0,  745,  747,  748,  756,  757,
02481       758,  759,  843,  760,  747,  748,  756,  757,  758,  748,
02482       756,  760,  901,  747,  764,  843,  764,  766,  759,  745,
02483 
02484       745,  745,  764,  766,  765,  766,  759,  769,  760,  765,
02485         0,  914,  765,    0,  916,  769,  760,  912,  769,  764,
02486       913,  764,  766,  767,    0,  771,  917,  764,  766,  765,
02487       766,  767,  769,  771,  765,  767,  914,  765,  771,  916,
02488       769,  912,  769,    0,  913,    0,    0,    0,  767,  778,
02489       771,  917,    0,    0,    0,    0,  767,  778,  771,  767,
02490       768,  768,  771,  768,  768,  768,  768,  768,  768,  768,
02491       768,  768,  768,  770,  778,  779,  781,  782,  783,  784,
02492       864,  770,  778,  779,  781,  782,  783,  784,    0,  781,
02493       915,  770,  921,    0,  864,    0,  922,  768,  770,  785,
02494 
02495       779,  781,  782,  783,  784,  864,  770,  785,  779,  781,
02496       782,  783,  784,  781,  915,  770,  921,  789,  864,  789,
02497       922,  768,  768,  768,  785,  789,  790,  791,  792,  803,
02498       804,  790,  785,  791,  790,  791,  792,  803,  804,    0,
02499       792,    0,  789,    0,  789,    0,    0,    0,    0,    0,
02500       789,  790,  791,  792,  803,  804,  790,  933,  791,  790,
02501       791,  792,  803,  804,  792,  793,  793,  793,  793,  793,
02502       793,  793,  793,  793,  793,  793,  793,  793,  794,  795,
02503       923,  933,  796,  806,  807,  808,  794,  795,    0,  794,
02504       796,  806,  807,  808,    0,  796,  806,  795,  809,    0,
02505 
02506       934,    0,  793,  794,  795,  923,  809,  796,  806,  807,
02507       808,  794,  795,  794,  810,  796,  806,  807,  808,  796,
02508       806,  795,  810,  809,  934,  828,  793,  793,  793,  815,
02509       814,  809,  814,  828,  815,  816,  817,  815,  814,  810,
02510       935,  816,    0,  816,  817,  936,  938,  810,  817,    0,
02511       828,    0,    0,    0,  815,  814,    0,  814,  828,  815,
02512       816,  817,  815,  814,  935,  937,  816,  829,  816,  817,
02513       936,  938,  817,  818,  818,  829,  818,  818,  818,  818,
02514       818,  818,  818,  818,  818,  818,  819,  820,  939,  937,
02515       821,  831,  829,  832,  819,  820,    0,  819,  821,  831,
02516 
02517       829,  832,    0,  821,  831,  820,  833,    0,  943,    0,
02518       818,  819,  820,  939,  833,  821,  831,  834,  832,  819,
02519       820,  819,  860,  821,  831,  834,  832,  821,  831,  820,
02520       860,  833,  943,  944,  818,  818,  818,  861,  863,  833,
02521         0,  860,  834,  945,  862,  861,  863,  860,  862,  865,
02522       834,  861,  862,  866,  865,  860,  867,  865,  944,    0,
02523       946,  866,  861,  863,  867,  860,  948,  945,  865,  862,
02524       861,  863,  875,  862,  865,  861,    0,  862,  866,  865,
02525       875,  867,  865,  875,  946,  868,  866,  949,  874,  867,
02526       948,  868,  865,  868,  874,  880,  874,  875,  876,    0,
02527 
02528       876,  881,    0,  880,  882,  875,  876,  875,  882,  881,
02529       868,  949,  882,  874,  880,  881,  868,  947,  868,  874,
02530       880,  874,  883,  876,  886,  876,  881,  884,  880,  882,
02531       883,  876,  886,  882,  881,  955,  887,  882,  880,  881,
02532         0,  884,  947,  885,  887,    0,    0,  883,  885,  886,
02533       888,  885,  884,    0,  951,  883,  888,  886,  888,  905,
02534       955,  887,  885,  897,  896,  884,    0,  905,  885,  887,
02535       896,  897,  896,  885,  897,  888,  885,  898,  951,  898,
02536         0,  888,  902,  888,  905,  898,  885,  956,  897,  896,
02537       902,  903,  905,    0,  906,  896,  897,  896,  897,  903,
02538 
02539         0,  902,  898,  908,  898,  903,  909,  902,  906,  904,
02540       898,  908,  956,  904,  909,  902,  903,  904,  907,  906,
02541         0,    0,  954,  907,  903,  902,  907,  910,  908,  903,
02542       928,  909,  906,  910,  904,  910,  908,  907,  904,  909,
02543       957,  918,  904,  907,  928,  919,  954,  918,  907,  918,
02544         0,  907,  910,  919,  924,  928,  919,  920,  910,  920,
02545       910,  907,  924,  925,  957,  920,  918,  927,  928,  959,
02546       919,  925,  918,  924,  918,  927,    0,  925,  919,  924,
02547       919,  926,  920,  958,  920,  926,  929,  924,  925,  926,
02548       920,  929,  927,  959,  929,  930,  925,  924,  960,  931,
02549 
02550       927,  925,  964,  930,    0,  929,  926,  931,  958,  932,
02551       926,  929,  963,    0,  926,  932,  929,  932,    0,  929,
02552       930,  966,  960,  965,  931,  940,  964,  941,  930,  929,
02553         0,  940,  931,  940,  932,  941,  967,  963,  941,  942,
02554       932,  942,  932,  950,  967,  966,  950,  942,  965,  970,
02555       940,  952,  941,  967,  952,  968,  940,  968,  940,  976,
02556       941,  967,  941,  968,  942,  975,  942,  950,  969,  967,
02557       950,  971,  942,  970,  971,  952,  969,  967,  952,  974,
02558       968,  969,  968,  972,  976,  977,  973,  974,  968,  975,
02559       978,  972,  980,  969,  973,  971,  979,  972,  971,  973,
02560 
02561       980,  969,  973,  974,  974,  969,  981,    0,  972,  977,
02562       983,  973,  974,  984,  981,  978,  972,  980,  985,  973,
02563       979,  972,  995,  973,  982,  980,  973,  986,  982,    0,
02564       996,  981,  982,  998,  983,  986,    0,  988,  984,  981,
02565       989,  994,  985,  997,  986,  988,  987,  995,  987,  982,
02566       988,    0,  986,  982,  987,  996,  990,  982,  998,  990,
02567       986,  991,  988,  999,  989,  994, 1005,  997,  986,  991,
02568       988,  987, 1000,  987,  988,  991,  992, 1001,    0,  987,
02569       990, 1004,  993,  990,  992, 1001,  991,  999, 1006,  992,
02570       993, 1005,  992, 1010,  991, 1002, 1000,    0, 1016,  991,
02571 
02572      1003,  992, 1001, 1002, 1003, 1004,  993,  993, 1003,  992,
02573      1001,    0, 1006,  992, 1007,  993,  992, 1010, 1014, 1008,
02574      1002, 1008, 1007, 1016, 1009, 1003, 1014, 1008, 1002, 1003,
02575         0, 1007, 1009, 1003,    0, 1011, 1015, 1009, 1011, 1007,
02576      1012,    0, 1014, 1014, 1008, 1017, 1008, 1007, 1012, 1009,
02577      1013, 1014, 1008, 1018, 1012, 1007, 1019, 1009, 1013, 1011,
02578      1015, 1009, 1011, 1013, 1020, 1012, 1013, 1021, 1022,    0,
02579      1017, 1023, 1026, 1012, 1037, 1013, 1022, 1018, 1012, 1023,
02580         0, 1019, 1025, 1013, 1027,    0, 1031, 1013, 1020, 1036,
02581      1013, 1021, 1028, 1022, 1024,    0, 1023, 1026, 1024, 1037,
02582 
02583      1028, 1022, 1024, 1029, 1023, 1029, 1025, 1030, 1027, 1028,
02584      1031, 1029,    0, 1036, 1039, 1030, 1038, 1028, 1032, 1024,
02585      1030, 1032, 1041, 1024, 1040, 1028, 1035, 1024, 1029, 1033,
02586      1029,    0, 1030, 1028, 1035, 1046, 1029, 1033, 1039, 1034,
02587      1030, 1038, 1032, 1033, 1030, 1032, 1041, 1034, 1043, 1040,
02588      1035, 1035, 1034, 1042, 1033, 1034, 1043, 1044, 1049, 1035,
02589      1046, 1047, 1033, 1048, 1034, 1044, 1045, 1033, 1050, 1051,
02590      1045, 1052, 1034, 1043, 1045, 1053, 1034, 1042, 1054, 1034,
02591      1055, 1043, 1044, 1049, 1056, 1047, 1057, 1048, 1058, 1059,
02592      1044, 1045, 1050, 1051, 1060, 1045, 1052, 1061, 1062, 1045,
02593 
02594      1053, 1063, 1065, 1054, 1064, 1055, 1067,    0, 1068, 1056,
02595      1069, 1057, 1058, 1059, 1071, 1073, 1070, 1072, 1060, 1074,
02596      1070, 1061, 1071, 1062, 1070, 1072, 1063, 1065, 1064, 1075,
02597         0, 1067, 1068, 1071, 1069, 1072,    0, 1082, 1077, 1071,
02598      1073, 1070, 1072, 1077, 1074, 1070, 1077, 1071, 1079, 1070,
02599      1072, 1080, 1078, 1076, 1075, 1076, 1083, 1071, 1078, 1072,
02600      1078, 1076, 1082, 1077, 1081, 1084, 1085, 1086, 1077, 1087,
02601      1088, 1077, 1079, 1092, 1085, 1080, 1090, 1078, 1076, 1098,
02602      1076, 1083, 1093, 1078, 1090, 1078, 1076, 1094, 1081, 1084,
02603      1085, 1085, 1086, 1087, 1088, 1090, 1089, 1091, 1092, 1085,
02604 
02605      1089, 1090, 1102, 1098, 1089, 1091, 1103, 1093, 1095, 1090,
02606      1095,    0, 1094, 1099, 1100, 1091, 1095, 1105, 1096, 1090,
02607      1101, 1089, 1091, 1096, 1107, 1089, 1096, 1102, 1097, 1089,
02608      1091, 1103, 1104, 1095, 1097, 1095, 1097, 1099, 1100, 1091,
02609      1108, 1095, 1105, 1096, 1101, 1109, 1106, 1113, 1096, 1107,
02610         0, 1096, 1114, 1097, 1106, 1111, 1104, 1112, 1110, 1097,
02611      1115, 1097, 1110, 1111, 1108, 1112, 1110,    0, 1119, 1109,
02612      1106, 1106, 1113, 1120, 1111, 1112, 1116, 1114, 1116, 1106,
02613      1111, 1117, 1112, 1110, 1116, 1115, 1117, 1110, 1111, 1117,
02614      1112, 1110, 1119, 1121, 1118,    0, 1122, 1120, 1111, 1112,
02615 
02616      1118, 1116, 1118, 1116, 1123, 1124, 1117, 1125, 1126, 1116,
02617      1127, 1117, 1128,    0, 1117, 1129, 1130, 1121, 1127, 1118,
02618      1122, 1140, 1134, 1135, 1131, 1118, 1136, 1118, 1131, 1123,
02619      1124, 1125, 1131, 1126, 1127, 1127, 1132, 1128, 1133, 1129,
02620      1130, 1141,    0, 1127, 1132, 1140, 1133, 1134, 1135, 1131,
02621      1137, 1136, 1137, 1131, 1142, 1132, 1133, 1131, 1137, 1138,
02622      1139, 1132, 1143, 1133, 1138, 1141, 1139, 1138, 1139, 1132,
02623      1144, 1133, 1145,    0, 1146, 1137, 1147, 1137, 1142, 1132,
02624      1133, 1150, 1148, 1137, 1138, 1139, 1143, 1149, 1152, 1138,
02625      1148, 1139, 1138, 1139, 1153, 1144, 1155, 1145, 1146, 1156,
02626 
02627      1157, 1147, 1158, 1159, 1160, 1150, 1148, 1148, 1161, 1162,
02628      1165, 1169, 1149, 1152, 1166, 1148, 1168, 1170, 1153, 1171,
02629      1155, 1178, 1175, 1156, 1176, 1157, 1158, 1159, 1177, 1160,
02630      1175, 1173, 1161, 1162, 1173, 1165, 1169, 1174, 1166, 1173,
02631      1168, 1179, 1170, 1171, 1185, 1174, 1178, 1175, 1176, 1179,
02632         0, 1182, 1177, 1183, 1174, 1175, 1173, 1180, 1188, 1173,
02633      1179, 1186, 1174, 1189, 1173, 1180, 1179, 1190, 1181, 1185,
02634      1174, 1180, 1181, 1194, 1179, 1182, 1181, 1183, 1174, 1193,
02635      1197, 1194, 1180, 1188, 1179, 1186, 1192, 1193, 1189, 1192,
02636      1180, 1190, 1195, 1181, 1192, 1180, 1193, 1181, 1194, 1196,
02637 
02638      1201, 1181, 1198, 1205, 1193, 1197, 1194,    0, 1202, 1206,
02639      1198, 1192, 1193, 1208, 1192, 1209, 1195, 1199, 1200, 1192,
02640      1193, 1198, 1200, 1196, 1201, 1199, 1200, 1198, 1205, 1210,
02641         0, 1199, 1202, 1206, 1211, 1198, 1213, 1208, 1215, 1213,
02642      1209, 1218, 1199, 1200, 1213, 1198, 1215, 1200, 1214, 1219,
02643      1199, 1200, 1216, 1217, 1210, 1199, 1214, 1219, 1211, 1222,
02644      1226, 1213, 1230, 1215, 1213, 1214, 1218, 1223, 1219, 1213,
02645      1220, 1215, 1227, 1214, 1219, 1229, 1216, 1217, 1220, 1231,
02646         0, 1214, 1219, 1222, 1220, 1226, 1221, 1230, 1232, 1214,
02647      1221, 1223, 1219, 1235, 1221, 1220, 1227, 1234, 1236, 1229,
02648 
02649      1234, 1235, 1239, 1220, 1231, 1234, 1236, 1247, 1220, 1237,
02650      1235, 1221, 1232, 1238, 1243, 1221, 1240,    0, 1235, 1221,
02651      1244, 1248, 1234, 1236, 1240, 1234, 1235, 1239, 1241, 1251,
02652      1234, 1236, 1247, 1237, 1235, 1240, 1241, 1238, 1243, 1242,
02653      1253, 1240, 1241, 1242, 1244, 1248, 1250, 1242, 1255, 1240,
02654      1256, 1257, 1260, 1241, 1251, 1258, 1259, 1261, 1262, 1240,
02655      1263, 1241, 1265, 1267, 1242, 1253, 1241, 1269, 1242, 1273,
02656      1250, 1272, 1242, 1255, 1256, 1274, 1257, 1260, 1270, 1258,
02657      1259, 1261, 1279, 1262, 1263, 1271, 1270, 1265, 1267, 1271,
02658      1275, 1278, 1269, 1271, 1273, 1272, 1281, 1282, 1275, 1274,
02659 
02660      1276, 1284, 1276, 1270, 1277, 1285, 1279, 1275, 1276, 1288,
02661      1271, 1270, 1277, 1285, 1271, 1275, 1278, 1277, 1271, 1287,
02662      1286, 1281, 1282, 1275, 1286, 1276, 1284, 1276, 1286, 1277,
02663      1285, 1275, 1289, 1276, 1288, 1293, 1296, 1277, 1285, 1292,
02664      1290, 1277, 1291, 1287, 1291, 1286, 1294, 1292, 1290, 1286,
02665      1291,    0, 1292, 1286, 1298, 1300, 1289, 1290, 1301, 1304,
02666      1293, 1296, 1303, 1305, 1292, 1290, 1301, 1291, 1309, 1291,
02667      1294, 1310, 1292, 1290, 1302, 1291, 1292, 1306, 1302, 1298,
02668      1300, 1290, 1302, 1301, 1304, 1306, 1303, 1305, 1307, 1312,
02669      1307, 1301, 1308, 1309, 1306, 1310, 1307, 1314, 1316, 1302,
02670 
02671      1308, 1317, 1306, 1302, 1319, 1308, 1320, 1302, 1318, 1317,
02672      1306, 1321, 1318, 1307, 1312, 1307, 1318, 1308, 1306, 1322,
02673      1325, 1307, 1314, 1316, 1328, 1308, 1317, 1322, 1319, 1308,
02674      1323, 1320, 1323, 1318, 1317, 1321, 1322, 1318, 1323, 1330,
02675      1324, 1318, 1326, 1331, 1322, 1325, 1332, 1333, 1324, 1328,
02676      1334, 1335, 1322, 1324, 1336, 1323, 1337, 1323, 1338, 1339,
02677      1322, 1340, 1341, 1323, 1330, 1324, 1326, 1342, 1331, 1343,
02678         0, 1332, 1333, 1324, 1334, 1335, 1345, 1324, 1346, 1336,
02679      1337, 1347, 1338, 1352, 1339, 1340, 1341, 1344, 1348, 1349,
02680      1344, 1342, 1348, 1351, 1343, 1344, 1348, 1349, 1350,    0,
02681 
02682      1353, 1345, 1346, 1354, 1355, 1347, 1350, 1352, 1349, 1357,
02683         0, 1358, 1344, 1348, 1349, 1344, 1350, 1348, 1351, 1359,
02684      1344, 1348, 1349, 1350, 1353, 1356, 1363, 1354, 1356, 1355,
02685      1361, 1350, 1349, 1356, 1357, 1358, 1362, 1360, 1361, 1367,
02686      1350, 1360, 1369, 1359, 1362, 1360,    0, 1364, 1365, 1361,
02687      1356, 1363, 1366, 1356, 1362, 1361, 1370, 1368, 1356, 1371,
02688      1368, 1362, 1360, 1361, 1367, 1368, 1360, 1369, 1375, 1362,
02689      1360, 1364, 1365, 1361,    0, 1379, 1366, 1376, 1362, 1373,
02690      1370, 1374, 1368, 1371, 1372, 1368, 1377, 1373, 1372, 1374,
02691      1368, 1378, 1372, 1375, 1381,    0, 1382, 1383, 1373, 1374,
02692 
02693      1379, 1376,    0,    0, 1373, 1387, 1374, 1388, 1380, 1372,
02694      1377, 1380, 1373, 1372, 1374, 1378, 1380, 1372, 1385, 1381,
02695      1382, 1383, 1373, 1374, 1384, 1393, 1385, 1386, 1384, 1396,
02696      1387, 1388, 1384, 1380, 1389, 1386, 1380, 1385, 1390, 1394,
02697      1397, 1380, 1399, 1385, 1406, 1386, 1405, 1404,    0, 1384,
02698      1393, 1385, 1386, 1384, 1396, 1404, 1411, 1384, 1389,    0,
02699      1386, 1385, 1390, 1394, 1397, 1417, 1409, 1399, 1406, 1386,
02700      1408, 1405, 1404, 1408, 1409,    0, 1410, 1416, 1408, 1421,
02701      1404, 1411, 1418, 1409, 1410, 1416, 1420, 1421, 1423, 1420,
02702      1417, 1409, 1422, 1429, 1420, 1408, 1421, 1428, 1408, 1409,
02703 
02704      1422, 1410, 1416, 1408, 1421, 1428, 1418, 1409, 1430, 1410,
02705      1416, 1420, 1421, 1423, 1420, 1442, 1435, 1422, 1429, 1420,
02706      1421, 1432, 1428, 1433, 1432, 1422, 1434, 1440, 1441, 1432,
02707      1428, 1433, 1430, 1447, 1434, 1440, 1446, 1452,    0, 1442,
02708      1433, 1435, 1444, 1454, 1446, 1444, 1432, 1456, 1433, 1432,
02709      1444, 1434, 1440, 1441, 1432, 1445, 1433, 1455, 1447, 1434,
02710      1440, 1446, 1452, 1445, 1433, 1458, 1461, 1444, 1454, 1446,
02711      1444, 1456, 1445, 1459, 1464, 1444, 1462, 1465,    0, 1460,
02712      1445, 1459, 1455, 1460, 1467, 1465,    0, 1460, 1445, 1468,
02713      1458, 1461, 1470, 1473,    0, 1476, 1445, 1459, 1459, 1464,
02714 
02715      1462, 1465, 1465, 1466, 1460, 1474, 1459, 1466, 1460, 1467,
02716      1465, 1466, 1460, 1468, 1471, 1472, 1479, 1470, 1473, 1472,
02717      1476, 1480, 1471, 1472,    0, 1477, 1478, 1481, 1466, 1474,
02718      1478, 1482, 1466, 1477, 1478, 1483, 1466, 1484, 1471, 1471,
02719      1472, 1479, 1485, 1486, 1472, 1480, 1487, 1471, 1472, 1477,
02720      1477, 1478, 1481, 1489, 1491, 1478, 1482, 1490, 1477, 1478,
02721      1483, 1488, 1484, 1492, 1488, 1494, 1485, 1493, 1486, 1488,
02722      1493, 1487, 1495, 1496, 1497, 1493, 1499, 1498, 1489, 1491,
02723      1498, 1490, 1500, 1501, 1502, 1498, 1488, 1505, 1492, 1488,
02724      1494, 1504, 1493, 1506, 1488, 1493, 1495, 1509, 1496, 1497,
02725 
02726      1493, 1499, 1498, 1510, 1503, 1498, 1500, 1503, 1501, 1502,
02727      1498, 1505, 1503,    0, 1511, 1513, 1504, 1506, 1514, 1515,
02728      1516, 1509, 1518, 1513,    0, 1519, 1520, 1510, 1521, 1503,
02729      1518, 1523, 1503, 1524, 1525, 1526, 1529, 1503, 1511, 1523,
02730      1513, 1530, 1514, 1515, 1516, 1528, 1531, 1518, 1513, 1519,
02731      1520, 1533, 1521, 1528, 1534, 1518, 1523, 1524, 1525, 1526,
02732      1529, 1536, 1537, 1540, 1523, 1530, 1539, 1542, 1543, 1546,
02733      1528, 1531, 1545, 1547, 1548, 1533, 1549, 1550, 1528, 1534,
02734      1551, 1552, 1553, 1554, 1555, 1536, 1556, 1537, 1540, 1558,
02735      1539, 1542, 1560, 1543, 1546, 1562, 1545, 1564, 1547, 1548,
02736 
02737      1566, 1549, 1550, 1567, 1568, 1551, 1552, 1553, 1554, 1555,
02738      1556, 1569, 1570, 1558, 1571, 1572, 1560, 1573, 1574, 1562,
02739      1575, 1564, 1576, 1577, 1578, 1566, 1579, 1580, 1567, 1568,
02740         0,    0,    0,    0,    0,    0, 1569, 1570, 1571, 1572,
02741         0, 1573, 1574,    0, 1575,    0,    0, 1576, 1577, 1578,
02742         0, 1579, 1580, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
02743      1587, 1587, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588,
02744      1588, 1589, 1589, 1589,    0, 1589, 1589, 1589, 1589, 1589,
02745      1590, 1590, 1591, 1591,    0, 1591, 1591, 1591, 1591, 1591,
02746      1591, 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1594,
02747 
02748      1594,    0, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595,
02749      1595, 1595, 1595, 1595, 1595, 1595, 1595, 1596, 1596,    0,
02750      1596, 1596, 1596, 1596, 1596, 1596, 1597, 1597,    0, 1597,
02751      1597, 1597, 1597, 1597, 1597, 1598,    0, 1598, 1598, 1598,
02752      1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599, 1599, 1599,
02753      1599, 1599, 1599, 1600,    0, 1600, 1600, 1600, 1600, 1600,
02754      1600, 1600, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
02755      1601, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1604, 1604,
02756      1604, 1604, 1604, 1605, 1605, 1605, 1605, 1605, 1605, 1605,
02757      1605, 1605, 1606, 1606,    0, 1606, 1606, 1606, 1606, 1606,
02758 
02759      1606, 1607, 1607,    0, 1607, 1607, 1607, 1607, 1607, 1607,
02760      1608, 1608,    0, 1608, 1608, 1608, 1608, 1608, 1608, 1609,
02761      1609,    0, 1609, 1609, 1609, 1609, 1609, 1609, 1610, 1610,
02762         0, 1610, 1610, 1610, 1610, 1610, 1610, 1611, 1611,    0,
02763      1611, 1611, 1611, 1611, 1611, 1611, 1612, 1612, 1612, 1612,
02764      1612, 1612, 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613,
02765      1613, 1613, 1613, 1613, 1614, 1614,    0, 1614, 1614, 1614,
02766      1614, 1614, 1614, 1615, 1615,    0, 1615, 1615, 1615, 1615,
02767      1615, 1615, 1616, 1616,    0, 1616, 1616, 1616, 1616, 1616,
02768      1616, 1617, 1617,    0, 1617, 1617, 1617, 1617, 1617, 1617,
02769 
02770      1618, 1618,    0, 1618, 1618, 1618, 1618, 1618, 1618, 1619,
02771      1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1620, 1620,
02772         0, 1620, 1620, 1620, 1620, 1620, 1620, 1621, 1621,    0,
02773      1621, 1621, 1621, 1621, 1621, 1621, 1622, 1622,    0, 1622,
02774      1622, 1622, 1622, 1622, 1622, 1623, 1623,    0, 1623, 1623,
02775      1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624, 1624, 1624,
02776      1624, 1624, 1624, 1625, 1625,    0, 1625, 1625, 1625, 1625,
02777      1625, 1625, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02778      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02779      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02780 
02781      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02782      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02783      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02784      1586, 1586, 1586, 1586, 1586, 1586, 1586
02785     } ;
02786 
02787 extern int yy_flex_debug;
02788 int yy_flex_debug = 0;
02789 
02790 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
02791 static char *yy_full_match;
02792 static int yy_lp;
02793 static int yy_looking_for_trail_begin = 0;
02794 static int yy_full_lp;
02795 static int *yy_full_state;
02796 #define YY_TRAILING_MASK 0x2000
02797 #define YY_TRAILING_HEAD_MASK 0x4000
02798 #define REJECT \
02799 { \
02800 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
02801 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
02802 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
02803 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
02804 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
02805 ++(yy_lp); \
02806 goto find_rule; \
02807 }
02808 
02809 #define yymore() yymore_used_but_not_detected
02810 #define YY_MORE_ADJ 0
02811 #define YY_RESTORE_YY_MORE_OFFSET
02812 char *yytext;
02813 #line 1 "src/cfgparse.l"
02814 #define YY_NO_INPUT 1
02815 #line 7 "src/cfgparse.l"
02816 /*
02817  * vim:ts=8:expandtab
02818  *
02819  */
02820 #include <stdio.h>
02821 #include <string.h>
02822 #include "cfgparse.tab.h"
02823 #include <xcb/xcb.h>
02824 
02825 #include "data.h"
02826 #include "config.h"
02827 #include "log.h"
02828 #include "util.h"
02829 
02830 int yycolumn = 1;
02831 
02832 #define YY_DECL int yylex (struct context *context)
02833 
02834 #define YY_USER_ACTION { \
02835         context->first_column = yycolumn; \
02836         context->last_column = yycolumn+yyleng-1; \
02837         yycolumn += yyleng; \
02838 }
02839 
02840 
02841 
02842 
02843 
02844 
02845 
02846 
02847 
02848 
02849 
02850 #line 2851 "src/cfgparse.yy.c"
02851 
02852 #define INITIAL 0
02853 #define BIND_COND 1
02854 #define BINDSYM_COND 2
02855 #define BIND_AWS_COND 3
02856 #define BINDSYM_AWS_COND 4
02857 #define BIND_A2WS_COND 5
02858 #define ASSIGN_COND 6
02859 #define COLOR_COND 7
02860 #define OUTPUT_COND 8
02861 #define OUTPUT_AWS_COND 9
02862 #define BUFFER_LINE 10
02863 
02864 #ifndef YY_NO_UNISTD_H
02865 /* Special case for "unistd.h", since it is non-ANSI. We include it way
02866  * down here because we want the user's section 1 to have been scanned first.
02867  * The user has a chance to override it with an option.
02868  */
02869 #include <unistd.h>
02870 #endif
02871 
02872 #ifndef YY_EXTRA_TYPE
02873 #define YY_EXTRA_TYPE void *
02874 #endif
02875 
02876 static int yy_init_globals (void );
02877 
02878 /* Accessor methods to globals.
02879    These are made visible to non-reentrant scanners for convenience. */
02880 
02881 int yylex_destroy (void );
02882 
02883 int yyget_debug (void );
02884 
02885 void yyset_debug (int debug_flag  );
02886 
02887 YY_EXTRA_TYPE yyget_extra (void );
02888 
02889 void yyset_extra (YY_EXTRA_TYPE user_defined  );
02890 
02891 FILE *yyget_in (void );
02892 
02893 void yyset_in  (FILE * in_str  );
02894 
02895 FILE *yyget_out (void );
02896 
02897 void yyset_out  (FILE * out_str  );
02898 
02899 int yyget_leng (void );
02900 
02901 char *yyget_text (void );
02902 
02903 int yyget_lineno (void );
02904 
02905 void yyset_lineno (int line_number  );
02906 
02907 /* Macros after this point can all be overridden by user definitions in
02908  * section 1.
02909  */
02910 
02911 #ifndef YY_SKIP_YYWRAP
02912 #ifdef __cplusplus
02913 extern "C" int yywrap (void );
02914 #else
02915 extern int yywrap (void );
02916 #endif
02917 #endif
02918 
02919 #ifndef yytext_ptr
02920 static void yy_flex_strncpy (char *,yyconst char *,int );
02921 #endif
02922 
02923 #ifdef YY_NEED_STRLEN
02924 static int yy_flex_strlen (yyconst char * );
02925 #endif
02926 
02927 #ifndef YY_NO_INPUT
02928 
02929 #ifdef __cplusplus
02930 static int yyinput (void );
02931 #else
02932 static int input (void );
02933 #endif
02934 
02935 #endif
02936 
02937         static int yy_start_stack_ptr = 0;
02938         static int yy_start_stack_depth = 0;
02939         static int *yy_start_stack = NULL;
02940     
02941     static void yy_push_state (int new_state );
02942     
02943     static void yy_pop_state (void );
02944     
02945 /* Amount of stuff to slurp up with each read. */
02946 #ifndef YY_READ_BUF_SIZE
02947 #define YY_READ_BUF_SIZE 8192
02948 #endif
02949 
02950 /* Copy whatever the last rule matched to the standard output. */
02951 #ifndef ECHO
02952 /* This used to be an fputs(), but since the string might contain NUL's,
02953  * we now use fwrite().
02954  */
02955 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
02956 #endif
02957 
02958 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
02959  * is returned in "result".
02960  */
02961 #ifndef YY_INPUT
02962 #define YY_INPUT(buf,result,max_size) \
02963         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
02964                 { \
02965                 int c = '*'; \
02966                 unsigned n; \
02967                 for ( n = 0; n < max_size && \
02968                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
02969                         buf[n] = (char) c; \
02970                 if ( c == '\n' ) \
02971                         buf[n++] = (char) c; \
02972                 if ( c == EOF && ferror( yyin ) ) \
02973                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
02974                 result = n; \
02975                 } \
02976         else \
02977                 { \
02978                 errno=0; \
02979                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
02980                         { \
02981                         if( errno != EINTR) \
02982                                 { \
02983                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
02984                                 break; \
02985                                 } \
02986                         errno=0; \
02987                         clearerr(yyin); \
02988                         } \
02989                 }\
02990 \
02991 
02992 #endif
02993 
02994 /* No semi-colon after return; correct usage is to write "yyterminate();" -
02995  * we don't want an extra ';' after the "return" because that will cause
02996  * some compilers to complain about unreachable statements.
02997  */
02998 #ifndef yyterminate
02999 #define yyterminate() return YY_NULL
03000 #endif
03001 
03002 /* Number of entries by which start-condition stack grows. */
03003 #ifndef YY_START_STACK_INCR
03004 #define YY_START_STACK_INCR 25
03005 #endif
03006 
03007 /* Report a fatal error. */
03008 #ifndef YY_FATAL_ERROR
03009 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
03010 #endif
03011 
03012 /* end tables serialization structures and prototypes */
03013 
03014 /* Default declaration of generated scanner - a define so the user can
03015  * easily add parameters.
03016  */
03017 #ifndef YY_DECL
03018 #define YY_DECL_IS_OURS 1
03019 
03020 extern int yylex (void);
03021 
03022 #define YY_DECL int yylex (void)
03023 #endif /* !YY_DECL */
03024 
03025 /* Code executed at the beginning of each rule, after yytext and yyleng
03026  * have been set up.
03027  */
03028 #ifndef YY_USER_ACTION
03029 #define YY_USER_ACTION
03030 #endif
03031 
03032 /* Code executed at the end of each rule. */
03033 #ifndef YY_BREAK
03034 #define YY_BREAK break;
03035 #endif
03036 
03037 #define YY_RULE_SETUP \
03038         if ( yyleng > 0 ) \
03039                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
03040                                 (yytext[yyleng - 1] == '\n'); \
03041         YY_USER_ACTION
03042 
03045 YY_DECL
03046 {
03047         register yy_state_type yy_current_state;
03048         register char *yy_cp, *yy_bp;
03049         register int yy_act;
03050     
03051 #line 46 "src/cfgparse.l"
03052 
03053 
03054         {
03055                 /* This is called when a new line is lexed. We only want the
03056                  * first line to match to go into state BUFFER_LINE */
03057                 if (context->line_number == 0) {
03058                         context->line_number = 1;
03059                         BEGIN(INITIAL);
03060                         yy_push_state(BUFFER_LINE);
03061                 }
03062         }
03063 
03064 #line 3065 "src/cfgparse.yy.c"
03065 
03066         if ( !(yy_init) )
03067                 {
03068                 (yy_init) = 1;
03069 
03070 #ifdef YY_USER_INIT
03071                 YY_USER_INIT;
03072 #endif
03073 
03074         /* Create the reject buffer large enough to save one state per allowed character. */
03075         if ( ! (yy_state_buf) )
03076             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
03077             if ( ! (yy_state_buf) )
03078                 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
03079 
03080                 if ( ! (yy_start) )
03081                         (yy_start) = 1; /* first start state */
03082 
03083                 if ( ! yyin )
03084                         yyin = stdin;
03085 
03086                 if ( ! yyout )
03087                         yyout = stdout;
03088 
03089                 if ( ! YY_CURRENT_BUFFER ) {
03090                         yyensure_buffer_stack ();
03091                         YY_CURRENT_BUFFER_LVALUE =
03092                                 yy_create_buffer(yyin,YY_BUF_SIZE );
03093                 }
03094 
03095                 yy_load_buffer_state( );
03096                 }
03097 
03098         while ( 1 )             /* loops until end-of-file is reached */
03099                 {
03100                 yy_cp = (yy_c_buf_p);
03101 
03102                 /* Support of yytext. */
03103                 *yy_cp = (yy_hold_char);
03104 
03105                 /* yy_bp points to the position in yy_ch_buf of the start of
03106                  * the current run.
03107                  */
03108                 yy_bp = yy_cp;
03109 
03110                 yy_current_state = (yy_start);
03111                 yy_current_state += YY_AT_BOL();
03112 
03113                 (yy_state_ptr) = (yy_state_buf);
03114                 *(yy_state_ptr)++ = yy_current_state;
03115 
03116 yy_match:
03117                 do
03118                         {
03119                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
03120                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03121                                 {
03122                                 yy_current_state = (int) yy_def[yy_current_state];
03123                                 if ( yy_current_state >= 1587 )
03124                                         yy_c = yy_meta[(unsigned int) yy_c];
03125                                 }
03126                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03127                         *(yy_state_ptr)++ = yy_current_state;
03128                         ++yy_cp;
03129                         }
03130                 while ( yy_base[yy_current_state] != 6873 );
03131 
03132 yy_find_action:
03133                 yy_current_state = *--(yy_state_ptr);
03134                 (yy_lp) = yy_accept[yy_current_state];
03135 find_rule: /* we branch to this label when backing up */
03136                 for ( ; ; ) /* until we find what rule we matched */
03137                         {
03138                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
03139                                 {
03140                                 yy_act = yy_acclist[(yy_lp)];
03141                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
03142                                      (yy_looking_for_trail_begin) )
03143                                         {
03144                                         if ( yy_act == (yy_looking_for_trail_begin) )
03145                                                 {
03146                                                 (yy_looking_for_trail_begin) = 0;
03147                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
03148                                                 break;
03149                                                 }
03150                                         }
03151                                 else if ( yy_act & YY_TRAILING_MASK )
03152                                         {
03153                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
03154                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
03155                                         }
03156                                 else
03157                                         {
03158                                         (yy_full_match) = yy_cp;
03159                                         (yy_full_state) = (yy_state_ptr);
03160                                         (yy_full_lp) = (yy_lp);
03161                                         break;
03162                                         }
03163                                 ++(yy_lp);
03164                                 goto find_rule;
03165                                 }
03166                         --yy_cp;
03167                         yy_current_state = *--(yy_state_ptr);
03168                         (yy_lp) = yy_accept[yy_current_state];
03169                         }
03170 
03171                 YY_DO_BEFORE_ACTION;
03172 
03173 do_action:      /* This label is used only to access EOF actions. */
03174 
03175                 switch ( yy_act )
03176         { /* beginning of action switch */
03177 case 1:
03178 /* rule 1 can match eol */
03179 YY_RULE_SETUP
03180 #line 58 "src/cfgparse.l"
03181 {
03182         /* save whole line */
03183         context->line_copy = strdup(yytext);
03184 
03185         yyless(0);
03186         yy_pop_state();
03187         yy_set_bol(true);
03188         yycolumn = 1;
03189 }
03190         YY_BREAK
03191 case 2:
03192 YY_RULE_SETUP
03193 #line 69 "src/cfgparse.l"
03194 { BEGIN(INITIAL); yylval.string = strdup(yytext); return STR; }
03195         YY_BREAK
03196 case 3:
03197 YY_RULE_SETUP
03198 #line 70 "src/cfgparse.l"
03199 { yylval.string = strdup(yytext); return OUTPUT; }
03200         YY_BREAK
03201 case 4:
03202 YY_RULE_SETUP
03203 #line 71 "src/cfgparse.l"
03204 { return TOKCOMMENT; }
03205         YY_BREAK
03206 case 5:
03207 YY_RULE_SETUP
03208 #line 72 "src/cfgparse.l"
03209 { yylval.string = strdup(yytext); return HEX; }
03210         YY_BREAK
03211 case 6:
03212 YY_RULE_SETUP
03213 #line 73 "src/cfgparse.l"
03214 { yylval.number = atoi(yytext); return NUMBER; }
03215         YY_BREAK
03216 case 7:
03217 YY_RULE_SETUP
03218 #line 74 "src/cfgparse.l"
03219 { return TOKMODE; }
03220         YY_BREAK
03221 case 8:
03222 YY_RULE_SETUP
03223 #line 75 "src/cfgparse.l"
03224 { BEGIN(BIND_COND); return TOKBIND; }
03225         YY_BREAK
03226 case 9:
03227 YY_RULE_SETUP
03228 #line 76 "src/cfgparse.l"
03229 { BEGIN(BINDSYM_COND); return TOKBINDSYM; }
03230         YY_BREAK
03231 case 10:
03232 YY_RULE_SETUP
03233 #line 77 "src/cfgparse.l"
03234 { BEGIN(INITIAL); return TOKFLOATING_MODIFIER; }
03235         YY_BREAK
03236 case 11:
03237 YY_RULE_SETUP
03238 #line 78 "src/cfgparse.l"
03239 { BEGIN(INITIAL); return TOKWORKSPACE; }
03240         YY_BREAK
03241 case 12:
03242 YY_RULE_SETUP
03243 #line 79 "src/cfgparse.l"
03244 { BEGIN(OUTPUT_COND); return TOKOUTPUT; }
03245         YY_BREAK
03246 case 13:
03247 YY_RULE_SETUP
03248 #line 80 "src/cfgparse.l"
03249 {
03250                                   /* for compatibility until v3.φ */
03251                                   ELOG("Assignments to screens are DEPRECATED and will not work. " \
03252                                        "Please replace them with assignments to outputs.\n");
03253                                   BEGIN(OUTPUT_COND);
03254                                   return TOKOUTPUT;
03255                                 }
03256         YY_BREAK
03257 case 14:
03258 YY_RULE_SETUP
03259 #line 87 "src/cfgparse.l"
03260 { BEGIN(BIND_AWS_COND); return TOKTERMINAL; }
03261         YY_BREAK
03262 case 15:
03263 YY_RULE_SETUP
03264 #line 88 "src/cfgparse.l"
03265 { BEGIN(BIND_AWS_COND); return TOKFONT; }
03266         YY_BREAK
03267 case 16:
03268 YY_RULE_SETUP
03269 #line 89 "src/cfgparse.l"
03270 { BEGIN(ASSIGN_COND); return TOKASSIGN; }
03271         YY_BREAK
03272 case 17:
03273 YY_RULE_SETUP
03274 #line 90 "src/cfgparse.l"
03275 { return TOKCOMMENT; }
03276         YY_BREAK
03277 case 18:
03278 YY_RULE_SETUP
03279 #line 91 "src/cfgparse.l"
03280 { BEGIN(BIND_AWS_COND); return TOKIPCSOCKET; }
03281         YY_BREAK
03282 case 19:
03283 YY_RULE_SETUP
03284 #line 92 "src/cfgparse.l"
03285 { BEGIN(BIND_AWS_COND); return TOKIPCSOCKET; }
03286         YY_BREAK
03287 case 20:
03288 YY_RULE_SETUP
03289 #line 93 "src/cfgparse.l"
03290 { return TOKNEWCONTAINER; }
03291         YY_BREAK
03292 case 21:
03293 YY_RULE_SETUP
03294 #line 94 "src/cfgparse.l"
03295 { return TOKNEWWINDOW; }
03296         YY_BREAK
03297 case 22:
03298 YY_RULE_SETUP
03299 #line 95 "src/cfgparse.l"
03300 { return TOKFOCUSFOLLOWSMOUSE; }
03301         YY_BREAK
03302 case 23:
03303 YY_RULE_SETUP
03304 #line 96 "src/cfgparse.l"
03305 { return TOKWORKSPACEBAR; }
03306         YY_BREAK
03307 case 24:
03308 YY_RULE_SETUP
03309 #line 97 "src/cfgparse.l"
03310 { yylval.number = MODE_DEFAULT; return TOKCONTAINERMODE; }
03311         YY_BREAK
03312 case 25:
03313 YY_RULE_SETUP
03314 #line 98 "src/cfgparse.l"
03315 { yylval.number = MODE_STACK; return TOKCONTAINERMODE; }
03316         YY_BREAK
03317 case 26:
03318 YY_RULE_SETUP
03319 #line 99 "src/cfgparse.l"
03320 { yylval.number = MODE_TABBED; return TOKCONTAINERMODE; }
03321         YY_BREAK
03322 case 27:
03323 YY_RULE_SETUP
03324 #line 100 "src/cfgparse.l"
03325 { return TOKSTACKLIMIT; }
03326         YY_BREAK
03327 case 28:
03328 YY_RULE_SETUP
03329 #line 101 "src/cfgparse.l"
03330 { yylval.number = STACK_LIMIT_COLS; return TOKSTACKLIMIT; }
03331         YY_BREAK
03332 case 29:
03333 YY_RULE_SETUP
03334 #line 102 "src/cfgparse.l"
03335 { yylval.number = STACK_LIMIT_ROWS; return TOKSTACKLIMIT; }
03336         YY_BREAK
03337 case 30:
03338 YY_RULE_SETUP
03339 #line 103 "src/cfgparse.l"
03340 { BEGIN(BIND_AWS_COND); return TOKEXEC; }
03341         YY_BREAK
03342 case 31:
03343 YY_RULE_SETUP
03344 #line 104 "src/cfgparse.l"
03345 { BEGIN(COLOR_COND); yylval.color = &config.client.focused; return TOKCOLOR; }
03346         YY_BREAK
03347 case 32:
03348 YY_RULE_SETUP
03349 #line 105 "src/cfgparse.l"
03350 { BEGIN(COLOR_COND); yylval.color = &config.client.focused_inactive; return TOKCOLOR; }
03351         YY_BREAK
03352 case 33:
03353 YY_RULE_SETUP
03354 #line 106 "src/cfgparse.l"
03355 { BEGIN(COLOR_COND); yylval.color = &config.client.unfocused; return TOKCOLOR; }
03356         YY_BREAK
03357 case 34:
03358 YY_RULE_SETUP
03359 #line 107 "src/cfgparse.l"
03360 { BEGIN(COLOR_COND); yylval.color = &config.client.urgent; return TOKCOLOR; }
03361         YY_BREAK
03362 case 35:
03363 YY_RULE_SETUP
03364 #line 108 "src/cfgparse.l"
03365 { BEGIN(COLOR_COND); yylval.color = &config.bar.focused; return TOKCOLOR; }
03366         YY_BREAK
03367 case 36:
03368 YY_RULE_SETUP
03369 #line 109 "src/cfgparse.l"
03370 { BEGIN(COLOR_COND); yylval.color = &config.bar.unfocused; return TOKCOLOR; }
03371         YY_BREAK
03372 case 37:
03373 YY_RULE_SETUP
03374 #line 110 "src/cfgparse.l"
03375 { BEGIN(COLOR_COND); yylval.color = &config.bar.urgent; return TOKCOLOR; }
03376         YY_BREAK
03377 case 38:
03378 YY_RULE_SETUP
03379 #line 111 "src/cfgparse.l"
03380 { yylval.number = BIND_MOD1; return MODIFIER; }
03381         YY_BREAK
03382 case 39:
03383 YY_RULE_SETUP
03384 #line 112 "src/cfgparse.l"
03385 { yylval.number = BIND_MOD2; return MODIFIER; }
03386         YY_BREAK
03387 case 40:
03388 YY_RULE_SETUP
03389 #line 113 "src/cfgparse.l"
03390 { yylval.number = BIND_MOD3; return MODIFIER; }
03391         YY_BREAK
03392 case 41:
03393 YY_RULE_SETUP
03394 #line 114 "src/cfgparse.l"
03395 { yylval.number = BIND_MOD4; return MODIFIER; }
03396         YY_BREAK
03397 case 42:
03398 YY_RULE_SETUP
03399 #line 115 "src/cfgparse.l"
03400 { yylval.number = BIND_MOD5; return MODIFIER; }
03401         YY_BREAK
03402 case 43:
03403 YY_RULE_SETUP
03404 #line 116 "src/cfgparse.l"
03405 { yylval.number = BIND_MODE_SWITCH; return MODIFIER; }
03406         YY_BREAK
03407 case 44:
03408 YY_RULE_SETUP
03409 #line 117 "src/cfgparse.l"
03410 { return TOKCONTROL; }
03411         YY_BREAK
03412 case 45:
03413 YY_RULE_SETUP
03414 #line 118 "src/cfgparse.l"
03415 { return TOKCONTROL; }
03416         YY_BREAK
03417 case 46:
03418 YY_RULE_SETUP
03419 #line 119 "src/cfgparse.l"
03420 { return TOKSHIFT; }
03421         YY_BREAK
03422 case 47:
03423 YY_RULE_SETUP
03424 #line 120 "src/cfgparse.l"
03425 { return TOKARROW; }
03426         YY_BREAK
03427 case 48:
03428 /* rule 48 can match eol */
03429 YY_RULE_SETUP
03430 #line 121 "src/cfgparse.l"
03431 {
03432                                   FREE(context->line_copy);
03433                                   context->line_number++;
03434                                   BEGIN(INITIAL);
03435                                   yy_push_state(BUFFER_LINE);
03436                                 }
03437         YY_BREAK
03438 case 49:
03439 YY_RULE_SETUP
03440 #line 127 "src/cfgparse.l"
03441 { BEGIN(BIND_AWS_COND); return WHITESPACE; }
03442         YY_BREAK
03443 case 50:
03444 YY_RULE_SETUP
03445 #line 128 "src/cfgparse.l"
03446 { BEGIN(BINDSYM_AWS_COND); return WHITESPACE; }
03447         YY_BREAK
03448 case 51:
03449 YY_RULE_SETUP
03450 #line 129 "src/cfgparse.l"
03451 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03452         YY_BREAK
03453 case 52:
03454 YY_RULE_SETUP
03455 #line 130 "src/cfgparse.l"
03456 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03457         YY_BREAK
03458 case 53:
03459 YY_RULE_SETUP
03460 #line 131 "src/cfgparse.l"
03461 { BEGIN(OUTPUT_AWS_COND); return WHITESPACE; }
03462         YY_BREAK
03463 case 54:
03464 YY_RULE_SETUP
03465 #line 132 "src/cfgparse.l"
03466 { BEGIN(BIND_A2WS_COND); return WHITESPACE; }
03467         YY_BREAK
03468 case 55:
03469 YY_RULE_SETUP
03470 #line 133 "src/cfgparse.l"
03471 { return WHITESPACE; }
03472         YY_BREAK
03473 case 56:
03474 /* rule 56 can match eol */
03475 YY_RULE_SETUP
03476 #line 134 "src/cfgparse.l"
03477 {
03478                                   /* if ASSIGN_COND then */
03479                                   BEGIN(INITIAL);
03480                                   /* yylval will be the string, but without quotes */
03481                                   char *copy = strdup(yytext+1);
03482                                   copy[strlen(copy)-1] = '\0';
03483                                   yylval.string = copy;
03484                                   return QUOTEDSTRING;
03485                                 }
03486         YY_BREAK
03487 case 57:
03488 /* rule 57 can match eol */
03489 YY_RULE_SETUP
03490 #line 143 "src/cfgparse.l"
03491 { BEGIN(INITIAL); yylval.string = strdup(yytext); return STR_NG; }
03492         YY_BREAK
03493 case 58:
03494 YY_RULE_SETUP
03495 #line 144 "src/cfgparse.l"
03496 { yylval.string = strdup(yytext); return WORD; }
03497         YY_BREAK
03498 case 59:
03499 YY_RULE_SETUP
03500 #line 145 "src/cfgparse.l"
03501 { yylval.string = strdup(yytext); return WORD; }
03502         YY_BREAK
03503 case 60:
03504 YY_RULE_SETUP
03505 #line 146 "src/cfgparse.l"
03506 { return (int)yytext[0]; }
03507         YY_BREAK
03508 case YY_STATE_EOF(INITIAL):
03509 case YY_STATE_EOF(BIND_COND):
03510 case YY_STATE_EOF(BINDSYM_COND):
03511 case YY_STATE_EOF(BIND_AWS_COND):
03512 case YY_STATE_EOF(BINDSYM_AWS_COND):
03513 case YY_STATE_EOF(BIND_A2WS_COND):
03514 case YY_STATE_EOF(ASSIGN_COND):
03515 case YY_STATE_EOF(COLOR_COND):
03516 case YY_STATE_EOF(OUTPUT_COND):
03517 case YY_STATE_EOF(OUTPUT_AWS_COND):
03518 case YY_STATE_EOF(BUFFER_LINE):
03519 #line 148 "src/cfgparse.l"
03520 {
03521         while (yy_start_stack_ptr > 0)
03522                 yy_pop_state();
03523         yyterminate();
03524 }
03525         YY_BREAK
03526 case 61:
03527 YY_RULE_SETUP
03528 #line 154 "src/cfgparse.l"
03529 ECHO;
03530         YY_BREAK
03531 #line 3532 "src/cfgparse.yy.c"
03532 
03533         case YY_END_OF_BUFFER:
03534                 {
03535                 /* Amount of text matched not including the EOB char. */
03536                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
03537 
03538                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
03539                 *yy_cp = (yy_hold_char);
03540                 YY_RESTORE_YY_MORE_OFFSET
03541 
03542                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
03543                         {
03544                         /* We're scanning a new file or input source.  It's
03545                          * possible that this happened because the user
03546                          * just pointed yyin at a new source and called
03547                          * yylex().  If so, then we have to assure
03548                          * consistency between YY_CURRENT_BUFFER and our
03549                          * globals.  Here is the right place to do so, because
03550                          * this is the first action (other than possibly a
03551                          * back-up) that will match for the new input source.
03552                          */
03553                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03554                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
03555                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
03556                         }
03557 
03558                 /* Note that here we test for yy_c_buf_p "<=" to the position
03559                  * of the first EOB in the buffer, since yy_c_buf_p will
03560                  * already have been incremented past the NUL character
03561                  * (since all states make transitions on EOB to the
03562                  * end-of-buffer state).  Contrast this with the test
03563                  * in input().
03564                  */
03565                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
03566                         { /* This was really a NUL. */
03567                         yy_state_type yy_next_state;
03568 
03569                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
03570 
03571                         yy_current_state = yy_get_previous_state(  );
03572 
03573                         /* Okay, we're now positioned to make the NUL
03574                          * transition.  We couldn't have
03575                          * yy_get_previous_state() go ahead and do it
03576                          * for us because it doesn't know how to deal
03577                          * with the possibility of jamming (and we don't
03578                          * want to build jamming into it because then it
03579                          * will run more slowly).
03580                          */
03581 
03582                         yy_next_state = yy_try_NUL_trans( yy_current_state );
03583 
03584                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03585 
03586                         if ( yy_next_state )
03587                                 {
03588                                 /* Consume the NUL. */
03589                                 yy_cp = ++(yy_c_buf_p);
03590                                 yy_current_state = yy_next_state;
03591                                 goto yy_match;
03592                                 }
03593 
03594                         else
03595                                 {
03596                                 yy_cp = (yy_c_buf_p);
03597                                 goto yy_find_action;
03598                                 }
03599                         }
03600 
03601                 else switch ( yy_get_next_buffer(  ) )
03602                         {
03603                         case EOB_ACT_END_OF_FILE:
03604                                 {
03605                                 (yy_did_buffer_switch_on_eof) = 0;
03606 
03607                                 if ( yywrap( ) )
03608                                         {
03609                                         /* Note: because we've taken care in
03610                                          * yy_get_next_buffer() to have set up
03611                                          * yytext, we can now set up
03612                                          * yy_c_buf_p so that if some total
03613                                          * hoser (like flex itself) wants to
03614                                          * call the scanner after we return the
03615                                          * YY_NULL, it'll still work - another
03616                                          * YY_NULL will get returned.
03617                                          */
03618                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
03619 
03620                                         yy_act = YY_STATE_EOF(YY_START);
03621                                         goto do_action;
03622                                         }
03623 
03624                                 else
03625                                         {
03626                                         if ( ! (yy_did_buffer_switch_on_eof) )
03627                                                 YY_NEW_FILE;
03628                                         }
03629                                 break;
03630                                 }
03631 
03632                         case EOB_ACT_CONTINUE_SCAN:
03633                                 (yy_c_buf_p) =
03634                                         (yytext_ptr) + yy_amount_of_matched_text;
03635 
03636                                 yy_current_state = yy_get_previous_state(  );
03637 
03638                                 yy_cp = (yy_c_buf_p);
03639                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03640                                 goto yy_match;
03641 
03642                         case EOB_ACT_LAST_MATCH:
03643                                 (yy_c_buf_p) =
03644                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
03645 
03646                                 yy_current_state = yy_get_previous_state(  );
03647 
03648                                 yy_cp = (yy_c_buf_p);
03649                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
03650                                 goto yy_find_action;
03651                         }
03652                 break;
03653                 }
03654 
03655         default:
03656                 YY_FATAL_ERROR(
03657                         "fatal flex scanner internal error--no action found" );
03658         } /* end of action switch */
03659                 } /* end of scanning one token */
03660 } /* end of yylex */
03661 
03662 /* yy_get_next_buffer - try to read in a new buffer
03663  *
03664  * Returns a code representing an action:
03665  *      EOB_ACT_LAST_MATCH -
03666  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
03667  *      EOB_ACT_END_OF_FILE - end of file
03668  */
03669 static int yy_get_next_buffer (void)
03670 {
03671         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
03672         register char *source = (yytext_ptr);
03673         register int number_to_move, i;
03674         int ret_val;
03675 
03676         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
03677                 YY_FATAL_ERROR(
03678                 "fatal flex scanner internal error--end of buffer missed" );
03679 
03680         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
03681                 { /* Don't try to fill the buffer, so this is an EOF. */
03682                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
03683                         {
03684                         /* We matched a single character, the EOB, so
03685                          * treat this as a final EOF.
03686                          */
03687                         return EOB_ACT_END_OF_FILE;
03688                         }
03689 
03690                 else
03691                         {
03692                         /* We matched some text prior to the EOB, first
03693                          * process it.
03694                          */
03695                         return EOB_ACT_LAST_MATCH;
03696                         }
03697                 }
03698 
03699         /* Try to read more data. */
03700 
03701         /* First move last chars to start of buffer. */
03702         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
03703 
03704         for ( i = 0; i < number_to_move; ++i )
03705                 *(dest++) = *(source++);
03706 
03707         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
03708                 /* don't do the read, it's not guaranteed to return an EOF,
03709                  * just force an EOF
03710                  */
03711                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
03712 
03713         else
03714                 {
03715                         int num_to_read =
03716                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
03717 
03718                 while ( num_to_read <= 0 )
03719                         { /* Not enough room in the buffer - grow it. */
03720 
03721                         YY_FATAL_ERROR(
03722 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
03723 
03724                         }
03725 
03726                 if ( num_to_read > YY_READ_BUF_SIZE )
03727                         num_to_read = YY_READ_BUF_SIZE;
03728 
03729                 /* Read in more data. */
03730                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
03731                         (yy_n_chars), (size_t) num_to_read );
03732 
03733                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
03734                 }
03735 
03736         if ( (yy_n_chars) == 0 )
03737                 {
03738                 if ( number_to_move == YY_MORE_ADJ )
03739                         {
03740                         ret_val = EOB_ACT_END_OF_FILE;
03741                         yyrestart(yyin  );
03742                         }
03743 
03744                 else
03745                         {
03746                         ret_val = EOB_ACT_LAST_MATCH;
03747                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
03748                                 YY_BUFFER_EOF_PENDING;
03749                         }
03750                 }
03751 
03752         else
03753                 ret_val = EOB_ACT_CONTINUE_SCAN;
03754 
03755         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
03756                 /* Extend the array by 50%, plus the number we really need. */
03757                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
03758                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
03759                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
03760                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
03761         }
03762 
03763         (yy_n_chars) += number_to_move;
03764         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
03765         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
03766 
03767         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
03768 
03769         return ret_val;
03770 }
03771 
03772 /* yy_get_previous_state - get the state just before the EOB char was reached */
03773 
03774     static yy_state_type yy_get_previous_state (void)
03775 {
03776         register yy_state_type yy_current_state;
03777         register char *yy_cp;
03778     
03779         yy_current_state = (yy_start);
03780         yy_current_state += YY_AT_BOL();
03781 
03782         (yy_state_ptr) = (yy_state_buf);
03783         *(yy_state_ptr)++ = yy_current_state;
03784 
03785         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
03786                 {
03787                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
03788                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03789                         {
03790                         yy_current_state = (int) yy_def[yy_current_state];
03791                         if ( yy_current_state >= 1587 )
03792                                 yy_c = yy_meta[(unsigned int) yy_c];
03793                         }
03794                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03795                 *(yy_state_ptr)++ = yy_current_state;
03796                 }
03797 
03798         return yy_current_state;
03799 }
03800 
03801 /* yy_try_NUL_trans - try to make a transition on the NUL character
03802  *
03803  * synopsis
03804  *      next_state = yy_try_NUL_trans( current_state );
03805  */
03806     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
03807 {
03808         register int yy_is_jam;
03809     
03810         register YY_CHAR yy_c = 1;
03811         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03812                 {
03813                 yy_current_state = (int) yy_def[yy_current_state];
03814                 if ( yy_current_state >= 1587 )
03815                         yy_c = yy_meta[(unsigned int) yy_c];
03816                 }
03817         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03818         yy_is_jam = (yy_current_state == 1586);
03819         if ( ! yy_is_jam )
03820                 *(yy_state_ptr)++ = yy_current_state;
03821 
03822         return yy_is_jam ? 0 : yy_current_state;
03823 }
03824 
03825 #ifndef YY_NO_INPUT
03826 #ifdef __cplusplus
03827     static int yyinput (void)
03828 #else
03829     static int input  (void)
03830 #endif
03831 
03832 {
03833         int c;
03834     
03835         *(yy_c_buf_p) = (yy_hold_char);
03836 
03837         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
03838                 {
03839                 /* yy_c_buf_p now points to the character we want to return.
03840                  * If this occurs *before* the EOB characters, then it's a
03841                  * valid NUL; if not, then we've hit the end of the buffer.
03842                  */
03843                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
03844                         /* This was really a NUL. */
03845                         *(yy_c_buf_p) = '\0';
03846 
03847                 else
03848                         { /* need more input */
03849                         int offset = (yy_c_buf_p) - (yytext_ptr);
03850                         ++(yy_c_buf_p);
03851 
03852                         switch ( yy_get_next_buffer(  ) )
03853                                 {
03854                                 case EOB_ACT_LAST_MATCH:
03855                                         /* This happens because yy_g_n_b()
03856                                          * sees that we've accumulated a
03857                                          * token and flags that we need to
03858                                          * try matching the token before
03859                                          * proceeding.  But for input(),
03860                                          * there's no matching to consider.
03861                                          * So convert the EOB_ACT_LAST_MATCH
03862                                          * to EOB_ACT_END_OF_FILE.
03863                                          */
03864 
03865                                         /* Reset buffer status. */
03866                                         yyrestart(yyin );
03867 
03868                                         /*FALLTHROUGH*/
03869 
03870                                 case EOB_ACT_END_OF_FILE:
03871                                         {
03872                                         if ( yywrap( ) )
03873                                                 return EOF;
03874 
03875                                         if ( ! (yy_did_buffer_switch_on_eof) )
03876                                                 YY_NEW_FILE;
03877 #ifdef __cplusplus
03878                                         return yyinput();
03879 #else
03880                                         return input();
03881 #endif
03882                                         }
03883 
03884                                 case EOB_ACT_CONTINUE_SCAN:
03885                                         (yy_c_buf_p) = (yytext_ptr) + offset;
03886                                         break;
03887                                 }
03888                         }
03889                 }
03890 
03891         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
03892         *(yy_c_buf_p) = '\0';   /* preserve yytext */
03893         (yy_hold_char) = *++(yy_c_buf_p);
03894 
03895         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
03896 
03897         return c;
03898 }
03899 #endif  /* ifndef YY_NO_INPUT */
03900 
03906     void yyrestart  (FILE * input_file )
03907 {
03908     
03909         if ( ! YY_CURRENT_BUFFER ){
03910         yyensure_buffer_stack ();
03911                 YY_CURRENT_BUFFER_LVALUE =
03912             yy_create_buffer(yyin,YY_BUF_SIZE );
03913         }
03914 
03915         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
03916         yy_load_buffer_state( );
03917 }
03918 
03923     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
03924 {
03925     
03926         /* TODO. We should be able to replace this entire function body
03927          * with
03928          *              yypop_buffer_state();
03929          *              yypush_buffer_state(new_buffer);
03930      */
03931         yyensure_buffer_stack ();
03932         if ( YY_CURRENT_BUFFER == new_buffer )
03933                 return;
03934 
03935         if ( YY_CURRENT_BUFFER )
03936                 {
03937                 /* Flush out information for old buffer. */
03938                 *(yy_c_buf_p) = (yy_hold_char);
03939                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
03940                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
03941                 }
03942 
03943         YY_CURRENT_BUFFER_LVALUE = new_buffer;
03944         yy_load_buffer_state( );
03945 
03946         /* We don't actually know whether we did this switch during
03947          * EOF (yywrap()) processing, but the only time this flag
03948          * is looked at is after yywrap() is called, so it's safe
03949          * to go ahead and always set it.
03950          */
03951         (yy_did_buffer_switch_on_eof) = 1;
03952 }
03953 
03954 static void yy_load_buffer_state  (void)
03955 {
03956         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03957         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
03958         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
03959         (yy_hold_char) = *(yy_c_buf_p);
03960 }
03961 
03968     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
03969 {
03970         YY_BUFFER_STATE b;
03971     
03972         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
03973         if ( ! b )
03974                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
03975 
03976         b->yy_buf_size = size;
03977 
03978         /* yy_ch_buf has to be 2 characters longer than the size given because
03979          * we need to put in 2 end-of-buffer characters.
03980          */
03981         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
03982         if ( ! b->yy_ch_buf )
03983                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
03984 
03985         b->yy_is_our_buffer = 1;
03986 
03987         yy_init_buffer(b,file );
03988 
03989         return b;
03990 }
03991 
03996     void yy_delete_buffer (YY_BUFFER_STATE  b )
03997 {
03998     
03999         if ( ! b )
04000                 return;
04001 
04002         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
04003                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
04004 
04005         if ( b->yy_is_our_buffer )
04006                 yyfree((void *) b->yy_ch_buf  );
04007 
04008         yyfree((void *) b  );
04009 }
04010 
04011 #ifndef __cplusplus
04012 extern int isatty (int );
04013 #endif /* __cplusplus */
04014     
04015 /* Initializes or reinitializes a buffer.
04016  * This function is sometimes called more than once on the same buffer,
04017  * such as during a yyrestart() or at EOF.
04018  */
04019     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
04020 
04021 {
04022         int oerrno = errno;
04023     
04024         yy_flush_buffer(b );
04025 
04026         b->yy_input_file = file;
04027         b->yy_fill_buffer = 1;
04028 
04029     /* If b is the current buffer, then yy_init_buffer was _probably_
04030      * called from yyrestart() or through yy_get_next_buffer.
04031      * In that case, we don't want to reset the lineno or column.
04032      */
04033     if (b != YY_CURRENT_BUFFER){
04034         b->yy_bs_lineno = 1;
04035         b->yy_bs_column = 0;
04036     }
04037 
04038         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
04039     
04040         errno = oerrno;
04041 }
04042 
04047     void yy_flush_buffer (YY_BUFFER_STATE  b )
04048 {
04049         if ( ! b )
04050                 return;
04051 
04052         b->yy_n_chars = 0;
04053 
04054         /* We always need two end-of-buffer characters.  The first causes
04055          * a transition to the end-of-buffer state.  The second causes
04056          * a jam in that state.
04057          */
04058         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
04059         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
04060 
04061         b->yy_buf_pos = &b->yy_ch_buf[0];
04062 
04063         b->yy_at_bol = 1;
04064         b->yy_buffer_status = YY_BUFFER_NEW;
04065 
04066         if ( b == YY_CURRENT_BUFFER )
04067                 yy_load_buffer_state( );
04068 }
04069 
04076 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
04077 {
04078         if (new_buffer == NULL)
04079                 return;
04080 
04081         yyensure_buffer_stack();
04082 
04083         /* This block is copied from yy_switch_to_buffer. */
04084         if ( YY_CURRENT_BUFFER )
04085                 {
04086                 /* Flush out information for old buffer. */
04087                 *(yy_c_buf_p) = (yy_hold_char);
04088                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
04089                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04090                 }
04091 
04092         /* Only push if top exists. Otherwise, replace top. */
04093         if (YY_CURRENT_BUFFER)
04094                 (yy_buffer_stack_top)++;
04095         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04096 
04097         /* copied from yy_switch_to_buffer. */
04098         yy_load_buffer_state( );
04099         (yy_did_buffer_switch_on_eof) = 1;
04100 }
04101 
04106 void yypop_buffer_state (void)
04107 {
04108         if (!YY_CURRENT_BUFFER)
04109                 return;
04110 
04111         yy_delete_buffer(YY_CURRENT_BUFFER );
04112         YY_CURRENT_BUFFER_LVALUE = NULL;
04113         if ((yy_buffer_stack_top) > 0)
04114                 --(yy_buffer_stack_top);
04115 
04116         if (YY_CURRENT_BUFFER) {
04117                 yy_load_buffer_state( );
04118                 (yy_did_buffer_switch_on_eof) = 1;
04119         }
04120 }
04121 
04122 /* Allocates the stack if it does not exist.
04123  *  Guarantees space for at least one push.
04124  */
04125 static void yyensure_buffer_stack (void)
04126 {
04127         int num_to_alloc;
04128     
04129         if (!(yy_buffer_stack)) {
04130 
04131                 /* First allocation is just for 2 elements, since we don't know if this
04132                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
04133                  * immediate realloc on the next call.
04134          */
04135                 num_to_alloc = 1;
04136                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
04137                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
04138                                                                 );
04139                 if ( ! (yy_buffer_stack) )
04140                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
04141                                                                   
04142                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
04143                                 
04144                 (yy_buffer_stack_max) = num_to_alloc;
04145                 (yy_buffer_stack_top) = 0;
04146                 return;
04147         }
04148 
04149         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
04150 
04151                 /* Increase the buffer to prepare for a possible push. */
04152                 int grow_size = 8 /* arbitrary grow size */;
04153 
04154                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
04155                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
04156                                                                 ((yy_buffer_stack),
04157                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
04158                                                                 );
04159                 if ( ! (yy_buffer_stack) )
04160                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
04161 
04162                 /* zero only the new slots.*/
04163                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
04164                 (yy_buffer_stack_max) = num_to_alloc;
04165         }
04166 }
04167 
04174 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
04175 {
04176         YY_BUFFER_STATE b;
04177     
04178         if ( size < 2 ||
04179              base[size-2] != YY_END_OF_BUFFER_CHAR ||
04180              base[size-1] != YY_END_OF_BUFFER_CHAR )
04181                 /* They forgot to leave room for the EOB's. */
04182                 return 0;
04183 
04184         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
04185         if ( ! b )
04186                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
04187 
04188         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
04189         b->yy_buf_pos = b->yy_ch_buf = base;
04190         b->yy_is_our_buffer = 0;
04191         b->yy_input_file = 0;
04192         b->yy_n_chars = b->yy_buf_size;
04193         b->yy_is_interactive = 0;
04194         b->yy_at_bol = 1;
04195         b->yy_fill_buffer = 0;
04196         b->yy_buffer_status = YY_BUFFER_NEW;
04197 
04198         yy_switch_to_buffer(b  );
04199 
04200         return b;
04201 }
04202 
04211 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
04212 {
04213     
04214         return yy_scan_bytes(yystr,strlen(yystr) );
04215 }
04216 
04224 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
04225 {
04226         YY_BUFFER_STATE b;
04227         char *buf;
04228         yy_size_t n;
04229         int i;
04230     
04231         /* Get memory for full buffer, including space for trailing EOB's. */
04232         n = _yybytes_len + 2;
04233         buf = (char *) yyalloc(n  );
04234         if ( ! buf )
04235                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
04236 
04237         for ( i = 0; i < _yybytes_len; ++i )
04238                 buf[i] = yybytes[i];
04239 
04240         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
04241 
04242         b = yy_scan_buffer(buf,n );
04243         if ( ! b )
04244                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
04245 
04246         /* It's okay to grow etc. this buffer, and we should throw it
04247          * away when we're done.
04248          */
04249         b->yy_is_our_buffer = 1;
04250 
04251         return b;
04252 }
04253 
04254     static void yy_push_state (int  new_state )
04255 {
04256         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
04257                 {
04258                 yy_size_t new_size;
04259 
04260                 (yy_start_stack_depth) += YY_START_STACK_INCR;
04261                 new_size = (yy_start_stack_depth) * sizeof( int );
04262 
04263                 if ( ! (yy_start_stack) )
04264                         (yy_start_stack) = (int *) yyalloc(new_size  );
04265 
04266                 else
04267                         (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
04268 
04269                 if ( ! (yy_start_stack) )
04270                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
04271                 }
04272 
04273         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
04274 
04275         BEGIN(new_state);
04276 }
04277 
04278     static void yy_pop_state  (void)
04279 {
04280         if ( --(yy_start_stack_ptr) < 0 )
04281                 YY_FATAL_ERROR( "start-condition stack underflow" );
04282 
04283         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
04284 }
04285 
04286 #ifndef YY_EXIT_FAILURE
04287 #define YY_EXIT_FAILURE 2
04288 #endif
04289 
04290 static void yy_fatal_error (yyconst char* msg )
04291 {
04292         (void) fprintf( stderr, "%s\n", msg );
04293         exit( YY_EXIT_FAILURE );
04294 }
04295 
04296 /* Redefine yyless() so it works in section 3 code. */
04297 
04298 #undef yyless
04299 #define yyless(n) \
04300         do \
04301                 { \
04302                 /* Undo effects of setting up yytext. */ \
04303         int yyless_macro_arg = (n); \
04304         YY_LESS_LINENO(yyless_macro_arg);\
04305                 yytext[yyleng] = (yy_hold_char); \
04306                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
04307                 (yy_hold_char) = *(yy_c_buf_p); \
04308                 *(yy_c_buf_p) = '\0'; \
04309                 yyleng = yyless_macro_arg; \
04310                 } \
04311         while ( 0 )
04312 
04313 /* Accessor  methods (get/set functions) to struct members. */
04314 
04318 int yyget_lineno  (void)
04319 {
04320         
04321     return yylineno;
04322 }
04323 
04327 FILE *yyget_in  (void)
04328 {
04329         return yyin;
04330 }
04331 
04335 FILE *yyget_out  (void)
04336 {
04337         return yyout;
04338 }
04339 
04343 int yyget_leng  (void)
04344 {
04345         return yyleng;
04346 }
04347 
04352 char *yyget_text  (void)
04353 {
04354         return yytext;
04355 }
04356 
04361 void yyset_lineno (int  line_number )
04362 {
04363     
04364     yylineno = line_number;
04365 }
04366 
04373 void yyset_in (FILE *  in_str )
04374 {
04375         yyin = in_str ;
04376 }
04377 
04378 void yyset_out (FILE *  out_str )
04379 {
04380         yyout = out_str ;
04381 }
04382 
04383 int yyget_debug  (void)
04384 {
04385         return yy_flex_debug;
04386 }
04387 
04388 void yyset_debug (int  bdebug )
04389 {
04390         yy_flex_debug = bdebug ;
04391 }
04392 
04393 static int yy_init_globals (void)
04394 {
04395         /* Initialization is the same as for the non-reentrant scanner.
04396      * This function is called from yylex_destroy(), so don't allocate here.
04397      */
04398 
04399     (yy_buffer_stack) = 0;
04400     (yy_buffer_stack_top) = 0;
04401     (yy_buffer_stack_max) = 0;
04402     (yy_c_buf_p) = (char *) 0;
04403     (yy_init) = 0;
04404     (yy_start) = 0;
04405 
04406     (yy_start_stack_ptr) = 0;
04407     (yy_start_stack_depth) = 0;
04408     (yy_start_stack) =  NULL;
04409 
04410     (yy_state_buf) = 0;
04411     (yy_state_ptr) = 0;
04412     (yy_full_match) = 0;
04413     (yy_lp) = 0;
04414 
04415 /* Defined in main.c */
04416 #ifdef YY_STDINIT
04417     yyin = stdin;
04418     yyout = stdout;
04419 #else
04420     yyin = (FILE *) 0;
04421     yyout = (FILE *) 0;
04422 #endif
04423 
04424     /* For future reference: Set errno on error, since we are called by
04425      * yylex_init()
04426      */
04427     return 0;
04428 }
04429 
04430 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
04431 int yylex_destroy  (void)
04432 {
04433     
04434     /* Pop the buffer stack, destroying each element. */
04435         while(YY_CURRENT_BUFFER){
04436                 yy_delete_buffer(YY_CURRENT_BUFFER  );
04437                 YY_CURRENT_BUFFER_LVALUE = NULL;
04438                 yypop_buffer_state();
04439         }
04440 
04441         /* Destroy the stack itself. */
04442         yyfree((yy_buffer_stack) );
04443         (yy_buffer_stack) = NULL;
04444 
04445     /* Destroy the start condition stack. */
04446         yyfree((yy_start_stack)  );
04447         (yy_start_stack) = NULL;
04448 
04449     yyfree ( (yy_state_buf) );
04450     (yy_state_buf)  = NULL;
04451 
04452     /* Reset the globals. This is important in a non-reentrant scanner so the next time
04453      * yylex() is called, initialization will occur. */
04454     yy_init_globals( );
04455 
04456     return 0;
04457 }
04458 
04459 /*
04460  * Internal utility routines.
04461  */
04462 
04463 #ifndef yytext_ptr
04464 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
04465 {
04466         register int i;
04467         for ( i = 0; i < n; ++i )
04468                 s1[i] = s2[i];
04469 }
04470 #endif
04471 
04472 #ifdef YY_NEED_STRLEN
04473 static int yy_flex_strlen (yyconst char * s )
04474 {
04475         register int n;
04476         for ( n = 0; s[n]; ++n )
04477                 ;
04478 
04479         return n;
04480 }
04481 #endif
04482 
04483 void *yyalloc (yy_size_t  size )
04484 {
04485         return (void *) malloc( size );
04486 }
04487 
04488 void *yyrealloc  (void * ptr, yy_size_t  size )
04489 {
04490         /* The cast to (char *) in the following accommodates both
04491          * implementations that use char* generic pointers, and those
04492          * that use void* generic pointers.  It works with the latter
04493          * because both ANSI C and C++ allow castless assignment from
04494          * any pointer type to void*, and deal with argument conversions
04495          * as though doing an assignment.
04496          */
04497         return (void *) realloc( (char *) ptr, size );
04498 }
04499 
04500 void yyfree (void * ptr )
04501 {
04502         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
04503 }
04504 
04505 #define YYTABLES_NAME "yytables"
04506 
04507 #line 154 "src/cfgparse.l"
04508 
04509 
04510 

Generated on Mon Aug 22 2011 for i3 by  doxygen 1.7.1