#define yy_create_buffer asn1p__create_buffer
#define yy_delete_buffer asn1p__delete_buffer
#define yy_scan_buffer asn1p__scan_buffer
#define yy_scan_string asn1p__scan_string
#define yy_scan_bytes asn1p__scan_bytes
#define yy_flex_debug asn1p__flex_debug
#define yy_init_buffer asn1p__init_buffer
#define yy_flush_buffer asn1p__flush_buffer
#define yy_load_buffer_state asn1p__load_buffer_state
#define yy_switch_to_buffer asn1p__switch_to_buffer
#define yyin asn1p_in
#define yyleng asn1p_leng
#define yylex asn1p_lex
#define yyout asn1p_out
#define yyrestart asn1p_restart
#define yytext asn1p_text
#define yylineno asn1p_lineno

#line 20 "asn1p_l.c"
/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header$
 */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>
#include <errno.h>

/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif


#ifdef __cplusplus

#include <stdlib.h>
#ifndef _WIN32
#include <unistd.h>
#endif

/* Use prototypes in function declarations. */
#define YY_USE_PROTOS

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

#endif	/* __STDC__ */
#endif	/* ! __cplusplus */

#ifdef __TURBOC__
 #pragma warn -rch
 #pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif


#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif


/* Returned upon end-of-file. */
#define YY_NULL 0

/* Promotes a possibly negative, possibly signed char to an unsigned
 * integer for use as an array index.  If the signed char is negative,
 * we want to instead treat it as an 8-bit unsigned char, hence the
 * double cast.
 */
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)

/* Enter a start condition.  This macro really ought to take a parameter,
 * but we do it the disgusting crufty way forced on us by the ()-less
 * definition of BEGIN.
 */
#define BEGIN yy_start = 1 + 2 *

/* Translate the current start state into a value that can be later handed
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 * compatibility.
 */
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START

/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)

/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#define YY_BUF_SIZE 16384

typedef struct yy_buffer_state *YY_BUFFER_STATE;

extern int yyleng;
extern FILE *yyin, *yyout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

/* The funky do-while in the following #define is used to turn the definition
 * int a single C statement (which needs a semi-colon terminator).  This
 * avoids problems with code like:
 *
 * 	if ( condition_holds )
 *		yyless( 5 );
 *	else
 *		do_something_else();
 *
 * Prior to using the do-while the compiler would get upset at the
 * "else" because it interpreted the "if" statement as being all
 * done when it reached the ';' after the yyless() call.
 */

/* Return all but the first 'n' matched characters back to the input stream. */

#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		*yy_cp = yy_hold_char; \
		YY_RESTORE_YY_MORE_OFFSET \
		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, yytext_ptr )

/* The following is because we cannot portably get our hands on size_t
 * (without autoconf's help, which isn't available because we want
 * flex-generated scanners to compile on their own).
 */
typedef unsigned int yy_size_t;


struct yy_buffer_state
	{
	FILE *yy_input_file;

	char *yy_ch_buf;		/* input buffer */
	char *yy_buf_pos;		/* current position in input buffer */

	/* Size of input buffer in bytes, not including room for EOB
	 * characters.
	 */
	yy_size_t yy_buf_size;

	/* Number of characters read into yy_ch_buf, not including EOB
	 * characters.
	 */
	int yy_n_chars;

	/* Whether we "own" the buffer - i.e., we know we created it,
	 * and can realloc() it to grow it, and should free() it to
	 * delete it.
	 */
	int yy_is_our_buffer;

	/* Whether this is an "interactive" input source; if so, and
	 * if we're using stdio for input, then we want to use getc()
	 * instead of fread(), to make sure we stop fetching input after
	 * each newline.
	 */
	int yy_is_interactive;

	/* Whether we're considered to be at the beginning of a line.
	 * If so, '^' rules will be active on the next match, otherwise
	 * not.
	 */
	int yy_at_bol;

	/* Whether to try to fill the input buffer when we reach the
	 * end of it.
	 */
	int yy_fill_buffer;

	int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
	/* When an EOF's been seen but there's still some text to process
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
	 * shouldn't try reading from the input source any more.  We might
	 * still have a bunch of tokens to match, though, because of
	 * possible backing-up.
	 *
	 * When we actually see the EOF, we change the status to "new"
	 * (via yyrestart()), so that the user can continue scanning by
	 * just pointing yyin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2
	};

static YY_BUFFER_STATE yy_current_buffer = 0;

/* We provide macros for accessing buffer states in case in the
 * future we want to put the buffer states in a more general
 * "scanner state".
 */
#define YY_CURRENT_BUFFER yy_current_buffer


/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;

static int yy_n_chars;		/* number of characters read into yy_ch_buf */


int yyleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow yywrap()'s to do buffer switches
 * instead of setting up a fresh yyin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void yyrestart YY_PROTO(( FILE *input_file ));

void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )

YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));

static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));

#define yy_new_buffer yy_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT

#define yywrap() 1
#define YY_SKIP_YYWRAP

#define FLEX_DEBUG
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;

#define FLEX_DEBUG
extern int yylineno;
int yylineno = 1;
extern char *yytext;
#define yytext_ptr yytext

static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up yytext.
 */
#define YY_DO_BEFORE_ACTION \
	yytext_ptr = yy_bp; \
	yyleng = (int) (yy_cp - yy_bp); \
	yy_hold_char = *yy_cp; \
	*yy_cp = '\0'; \
	yy_c_buf_p = yy_cp;

#define YY_NUM_RULES 137
#define YY_END_OF_BUFFER 138
static yyconst short int yy_acclist[1258] =
    {   0,
      138,  136,  137,  131,  136,  137,  131,  137,  134,  136,
      137,   19,  136,  137,  134,  136,  137,  136,  137,  134,
      136,  137,  136,  137,  134,  136,  137,  136,  137,   33,
      136,  137,   32,  136,  137,  134,  136,  137,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,

      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  118,  136,  137,  134,
      136,  137,    9,  136,  137,    6,  137,    6,  136,  137,
        8,  136,  137,    8,  136,  137,   11,   13,  136,  137,
       11,  137,   13,  136,  137,   13,  136,  137,   13,  136,
      137,   21,  136,  137,   21,  137,   22,  136,  137,   16,
      136,  137,   16,  137,   18,  136,  137,   18,  136,  137,
       14,  136,  137,   15,  136,  137,   25,   27,  136,  137,
       27,  136,  137,   28,  137,   25,   26,   27,  136,  137,
       25,   26,   27,  136,  137,  129,  136,  137,  129,  137,

      136,  137,  125,  136,  137,  136,  137,  136,  137,  124,
      136,  137,  127,  136,  137,  128,  136,  137,  126,  136,
      137,  130,  136,  137,  131,   19,   19,  116,  117,    5,
       31,  123,   10,   32,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   43,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,   88,

      119,  120,  119,  120,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  120,  120,  119,  120,  118,
        9,    7,    7,   12,   21,   20,   16,   25,   25,   26,
       25,   26,  129,    5,  124,  135,  116,  117,   31,  122,
      121,  119,  120,  120,  119,  120,   35,  119,  120,   36,
      119,  120,  119,  120,  119,  120,  119,  120,   40,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,

      120,   57,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   80,  119,  120,   81,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
       91,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  119,  120,  119,  120,   99,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  119,  120,  118,    3,   17,   25,   26,   24,   25,

       26,  124,  116,  117,   30,   29,    2,    1,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   65,  119,  120,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   83,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,   96,  119,  120,  119,  120,

      119,  120,  100,  119,  120,  119,  120,  119,  120,  119,
      120,  104,  119,  120,  106,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  115,  119,  120,    3,   25,   26,  119,  120,  119,
      120,  119,  120,   39,  119,  120,  120,  119,  120,  119,
      120,  119,  120,   46,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   64,  119,  120,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,
      120,   87,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  120,  120,  107,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  120,  120,  120,  132,   25,   26,
       34,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      119,  120,   45,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   59,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  120,  119,

      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
       85,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  101,
      119,  120,  102,  119,  120,  120,  120,  108,  119,  120,
      119,  120,  120,  120,  120,  120,  120,   25,   26,  119,
      120,  119,  120,  120,   42,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   51,  119,  120,   52,  119,
      120,  119,  120,  119,  120,   55,  119,  120,  119,  120,
      119,  120,  119,  120,   61,  119,  120,  119,  120,  119,

      120,  120,  120,  120,  119,  120,  119,  120,   72,  119,
      120,   73,  119,  120,  119,  120,  119,  120,  119,  120,
       77,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,   90,  119,  120,  119,  120,   93,  119,
      120,   95,  119,  120,  120,  119,  120,  119,  120,  120,
      120,  119,  120,  111,  120,  120,  120,  120,  120,   25,
       26,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,   54,  119,  120,  119,
      120,  119,  120,   60,  119,  120,  119,  120,   63,  119,
      120,  120,  120,  120,  120,  119,  120,   71,  119,  120,

       74,  119,  120,   75,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,   89,  119,  120,  120,  119,  120,
      120,  119,  120,   98,  119,  120,  120,  120,  119,  120,
      120,  120,  120,  120,   25,   26,  119,  120,   38,  119,
      120,   41,  120,   44,  119,  120,   47,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      120,  120,   69,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,  120,  119,  120,  120,  103,  120,
      120,  109,  119,  120,  120,  120,  120,  120,  133,   25,
      119,  120,   48,  119,  120,  119,  120,   50,  119,  120,

      119,  120,  119,  120,   58,  119,  120,  119,  120,  120,
      120,  120,   70,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,  120,  119,  120,  120,  119,  120,  120,
      112,  120,  120,  120,  120,   25,   37,  119,  120,   49,
      119,  120,   53,  119,  120,  119,  120,  119,  120,  120,
      120,  120,  119,  120,  119,  120,  120,  119,  120,  120,
      120,  119,  120,  120,  119,  120,  120,  120,  120,  120,
       25,  119,  120,  119,  120,  120,  120,  120,   76,  119,
      120,   78,  119,  120,   79,  120,  119,  120,  120,  120,
      119,  120,  120,   97,  119,  120,  120,  120,  120,  120,

       25,  119,  120,   62,  119,  120,   67,  120,  120,   68,
      120,  119,  120,   84,  120,  120,   92,  119,  120,  120,
      105,  120,  120,  120,  114,  120,   25,  119,  120,  120,
       82,  119,  120,  120,  120,  120,  113,  120,   25,  119,
      120,   66,  120,  120,   94,  120,  110,  120,   25,   56,
      119,  120,   86,  120,   23,   25,    4
    } ;

static yyconst short int yy_accept[736] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    2,    4,    7,
        9,   12,   15,   18,   20,   23,   25,   28,   30,   33,
       36,   39,   41,   45,   49,   53,   57,   61,   65,   69,
       73,   77,   81,   85,   89,   93,   97,  101,  105,  109,
      113,  117,  120,  123,  126,  128,  131,  134,  137,  141,
      143,  146,  149,  152,  155,  157,  160,  163,  165,  168,
      171,  174,  177,  181,  184,  186,  191,  196,  199,  201,
      203,  206,  208,  210,  213,  216,  219,  222,  225,  225,
      226,  227,  228,  228,  229,  229,  230,  230,  230,  231,

      232,  233,  234,  235,  235,  235,  237,  239,  241,  243,
      245,  247,  248,  250,  252,  254,  256,  259,  261,  263,
      265,  267,  269,  271,  273,  275,  277,  278,  279,  281,
      283,  285,  287,  289,  291,  293,  295,  296,  298,  300,
      303,  305,  306,  308,  310,  312,  314,  315,  317,  319,
      321,  323,  325,  327,  329,  331,  332,  334,  336,  337,
      338,  340,  340,  341,  341,  341,  341,  342,  343,  344,
      345,  346,  347,  348,  348,  349,  351,  353,  354,  355,
      355,  356,  357,  357,  357,  358,  358,  359,  359,  359,
      359,  359,  360,  361,  362,  364,  365,  367,  370,  373,

      375,  377,  377,  379,  382,  384,  386,  388,  390,  392,
      394,  396,  398,  400,  402,  405,  407,  409,  411,  413,
      415,  417,  418,  419,  421,  423,  425,  427,  429,  431,
      433,  436,  439,  441,  442,  444,  446,  448,  449,  451,
      454,  456,  458,  460,  461,  463,  465,  467,  470,  472,
      474,  476,  478,  480,  482,  483,  485,  487,  489,  490,
      491,  492,  494,  495,  495,  495,  496,  497,  499,  502,
      503,  503,  504,  505,  506,  507,  508,  509,  509,  509,
      509,  511,  513,  515,  517,  519,  521,  523,  525,  527,
      529,  531,  533,  535,  537,  539,  541,  543,  545,  547,

      549,  551,  553,  556,  557,  558,  560,  562,  564,  566,
      568,  570,  572,  574,  576,  579,  580,  582,  584,  586,
      587,  589,  591,  593,  595,  596,  599,  601,  603,  606,
      608,  610,  612,  615,  618,  619,  621,  623,  625,  627,
      629,  630,  631,  632,  635,  635,  635,  635,  635,  636,
      638,  638,  640,  642,  644,  647,  648,  650,  652,  654,
      657,  659,  661,  663,  665,  667,  669,  671,  673,  675,
      677,  679,  681,  683,  686,  687,  688,  689,  691,  693,
      695,  697,  699,  701,  703,  705,  707,  709,  710,  712,
      715,  717,  718,  720,  720,  722,  724,  725,  727,  729,

      731,  733,  734,  735,  738,  740,  742,  743,  745,  746,
      747,  748,  748,  748,  749,  751,  751,  754,  756,  758,
      759,  761,  763,  766,  768,  770,  772,  774,  776,  778,
      780,  782,  784,  786,  789,  791,  793,  795,  797,  798,
      799,  800,  802,  804,  806,  808,  810,  812,  814,  816,
      818,  820,  820,  821,  824,  826,  827,  829,  831,  833,
      835,  836,  838,  840,  843,  846,  847,  848,  851,  853,
      854,  855,  856,  857,  858,  858,  858,  860,  860,  862,
      864,  865,  868,  870,  872,  874,  876,  879,  882,  884,
      886,  889,  891,  893,  895,  898,  900,  902,  903,  904,

      905,  907,  909,  912,  915,  917,  919,  921,  924,  926,
      928,  930,  931,  933,  934,  937,  939,  942,  945,  946,
      948,  950,  951,  952,  954,  956,  957,  958,  959,  960,
      960,  962,  962,  964,  966,  967,  969,  971,  973,  975,
      977,  980,  982,  984,  987,  989,  992,  993,  994,  995,
      996,  998, 1001, 1004, 1007, 1009, 1011, 1012, 1014, 1015,
     1018, 1019, 1021, 1022, 1024, 1027, 1028, 1029, 1031, 1032,
     1033, 1034, 1035, 1035, 1035, 1037, 1037, 1039, 1042, 1044,
     1047, 1050, 1052, 1054, 1056, 1056, 1058, 1060, 1061, 1062,
     1063, 1065, 1067, 1069, 1071, 1072, 1074, 1075, 1076, 1078,

     1079, 1079, 1081, 1082, 1085, 1086, 1087, 1088, 1089, 1089,
     1090, 1091, 1091, 1093, 1096, 1098, 1101, 1103, 1105, 1108,
     1110, 1111, 1112, 1113, 1116, 1118, 1120, 1121, 1123, 1124,
     1125, 1127, 1128, 1130, 1131, 1133, 1134, 1135, 1136, 1137,
     1137, 1140, 1143, 1146, 1148, 1150, 1151, 1152, 1153, 1155,
     1157, 1158, 1160, 1161, 1162, 1164, 1165, 1167, 1168, 1169,
     1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179, 1182,
     1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1198, 1199,
     1200, 1201, 1202, 1202, 1204, 1207, 1209, 1210, 1212, 1214,
     1216, 1217, 1220, 1221, 1223, 1224, 1225, 1227, 1228, 1228,

     1230, 1231, 1234, 1235, 1236, 1237, 1239, 1240, 1240, 1242,
     1244, 1245, 1247, 1249, 1250, 1250, 1253, 1255, 1257, 1257,
     1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
     1257, 1257, 1257, 1258, 1258
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    2,    6,    7,    1,    1,    1,    8,    9,   10,
       10,   11,    1,   12,   13,   14,   15,   16,   17,   18,
       18,   19,   20,   21,   18,   22,   23,   24,   25,   26,
       27,   28,    1,   10,   29,   30,   31,   32,   33,   34,
       35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
       45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
       55,    1,   56,   57,    1,    1,   58,   59,   60,   61,

       62,   63,   64,   65,   66,   67,   63,   68,   69,   70,
       71,   72,   63,   73,   74,   75,   76,   77,   63,   78,
       63,   79,   80,   81,   82,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1
    } ;

static yyconst int yy_meta[83] =
    {   0,
        1,    2,    3,    4,    4,    1,    5,    1,    6,    1,
        1,    1,    7,    1,    1,    8,    8,    8,    8,    8,
        8,    8,    8,    9,    1,    1,    9,    1,   10,   10,
       10,   10,   10,   10,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,    1,    1,    1,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   12,
        1,   13
    } ;

static yyconst short int yy_base[761] =
    {   0,
        0,    0,   80,   83,   86,   97,   92,   94,   91,  101,
       89,  103,  185,  267,  349,    0, 1572, 1561,  119,  129,
     1557, 1555,  423,  137, 4413,  138, 1548,  103, 4413,  156,
     1537, 4413,  490,  184,  208,  190,  257,  285,  540,  205,
      546,  567,  561,  277,  585,  600,  606,  631,  634,  623,
      654, 1547,  697,    0, 4413, 4413, 1546, 1540, 4413, 4413,
     1536, 1538, 4413,    0,    0, 1541,    0,    0, 1522, 4413,
     4413, 4413,    0, 4413, 4413,  720,  801,  160,  199,  110,
     4413, 1529, 1529, 1526, 4413, 4413, 4413, 4413, 1531,  203,
        0, 1530, 1525, 1514,   86, 1510,  433, 1512,  123,  321,

     1506, 4413,  689, 1487,  825,  709,  710,  725,  738,  741,
      756, 1499,  800,  806,  821,  829,  875,  878,  896,  893,
      909,  917,  932,  938,  935,  953,  112,  157,  968,  971,
      979,  994, 1005, 1016, 1022, 1033,  153, 1046, 1049, 1062,
     1070,  113, 1073, 1086, 1097, 1110,  102, 1126, 1132, 1143,
     1149, 1160, 1171, 1177, 1188,  116, 1194, 1210,  218,  242,
     1209,    0, 1493, 1258, 1270, 1282,    0, 4413, 1491, 4413,
        0, 4413,    0, 1476,    0, 1455,  254,  256, 4413,    0,
     1480, 4413, 1478,    0, 1477,    0, 1476,  114, 1451,  299,
      214,  801, 4413, 4413, 1293, 1471, 1277, 1278, 1293, 1294,

     1343, 1470, 1351, 1354, 1367, 1375, 1383, 1391, 1404, 1412,
     1415, 1436, 1437, 1452, 1458, 1469, 1475, 1486, 1492, 1503,
     1514,  243,  216, 1527, 1535, 1538, 1553, 1556, 1559, 1585,
     1577, 1588, 1601,  251, 1609, 1622, 1630,  270, 1633, 1646,
     1654, 1662, 1670,  240, 1683, 1686, 1694, 1707, 1715, 1723,
     1731, 1744, 1752, 1765,  532, 1773, 1789, 1790,  104,  558,
      223, 1805, 1462, 1848, 1856, 1461, 4413,  220, 1430, 1458,
     1413, 1455, 1447, 4413, 4413, 4413, 4413,  315,  217, 1411,
     1850, 1851, 1866, 1872, 1883, 1889, 1905, 1906, 1921, 1929,
     1937, 1953, 1950, 1961, 1974, 1977, 1992, 1998, 2009, 2015,

     2026, 2041, 2047,  431,  533, 2058, 2064, 2079, 2080, 2095,
     2101, 2116, 2119, 2127, 2140,  432, 2148, 2151, 2164,  559,
     2172, 2185, 2193, 2201,  502, 2209, 2217, 2230, 2238, 2241,
     2259, 2256, 2262, 2277,  504, 2280, 2283, 2300, 2306, 2317,
      560,  503,  420, 2333, 2376, 2398, 2420, 2432, 1437,  303,
     1407, 2416, 2432, 2448, 2417,  568, 2454, 2469, 2472, 2480,
     2493, 2501, 2509, 2522, 2530, 2543, 2551, 2559, 2567, 2582,
     2588, 2599, 2605, 2620,  534,  572,  593, 2621, 2641, 2638,
     2659, 2658, 2674, 2680, 2691, 2704, 2715,  613, 2712, 2728,
     2736,  570, 2744,  586, 2752, 2765,  599, 2778, 2781, 2789,

     2802,  595,  608, 2813, 2819, 2830,  277, 2841,  615,  587,
      619,  759, 2884, 4413,  397, 1430, 2868, 2884, 2881,  656,
     2892, 2905, 2908, 2925, 2931, 2942, 2948, 2963, 2969, 2986,
     2992, 3003, 3009, 3020, 3026, 3037, 3043, 3059,  622,  682,
      672, 3060, 3075, 3081, 3092, 3098, 3113, 3119, 3130, 3145,
     3151,  723,  710, 3162, 3178,  711, 3175, 1401, 3186, 3199,
      638, 3207, 3222, 3225, 3228,  728,  753, 3243, 3246,  771,
      724,  760,  775,  776, 3294, 3306, 1399, 1408, 3290, 3303,
      611, 3306, 3321, 3327, 3338, 3344, 3355, 3361, 3372, 3383,
     3389, 3400, 3406, 3417, 3428, 3434, 3445,  862,  759,  782,

     3451, 3462, 3473, 3479, 3490, 3496, 3511, 3512, 3527, 3533,
     1396,  819, 3544,  849, 3550, 1403, 3561, 3567,  779, 3582,
     3588,  790,  832, 3604, 1423,  840,  634,  786,  863, 3638,
      110,    0, 3632, 3633,  867, 3648, 3656, 3659, 3672, 3680,
     3688, 3696, 3709, 3717, 3725, 3733,  854,  928,  855,  868,
     3746, 3754, 3757, 3770, 3778, 3781,  766, 1396,  931, 3794,
      899, 1389,  937, 3815, 3802,  903,  939, 3818,  900,  935,
      942,  941, 3866, 1027,  943, 1376, 3850, 3861, 1407, 3867,
     3878, 3884, 3899, 3900,  987, 3915, 3916,  977,  978, 1014,
     1405, 3931, 3939, 3954, 1042, 1375, 1026, 1009, 1368,  947,

      643, 1395, 1059, 3955, 1061,  958, 1048, 1065, 1243, 4413,
     1375, 1342, 3970, 3971, 3986, 3987, 4002, 1359, 4003, 4018,
     1054, 1020, 1067, 4024, 4035, 4046, 1013, 1357, 1083, 1072,
     1352, 1088, 1343, 1092, 1366, 1094, 1111, 1116, 1335, 1305,
     4052, 4063, 4069, 1334, 4080, 1024,  430, 1129, 4091, 4097,
     1144, 1338, 1135, 1140, 1326, 1121, 1315, 1152, 1154, 1148,
     1165, 1304, 1272, 1296, 4112, 1203, 1190, 1220, 4113, 4128,
     1328, 1292, 1251,  979, 1261, 1229,    0, 1252, 1283, 1242,
     1284, 1265, 1249, 1263, 4129, 1260, 1197, 1256, 1215, 1212,
     1210,    0, 1258, 1183, 1259, 1318, 1151, 1105, 1070, 1088,

     1270,    0, 1158, 1326, 1337, 1046, 1014,  991,  906,  901,
     1257,  864,  861,  753,  686,    0,  712,    0,  543,  489,
      440,  407,  376,  380,  371,  365,  271,  257, 1042, 1158,
      135,  124, 4413, 4413, 4178, 4191, 4204, 4217, 4230, 4243,
     4255, 4259, 4270, 4283, 4296, 4307, 4318, 4323, 4328, 4333,
     4337, 4342, 4346, 4350, 4354, 4358, 4369, 4376, 4387, 4399
    } ;

static yyconst short int yy_def[761] =
    {   0,
      734,    1,  735,  735,  735,  735,  736,  736,  737,  737,
      738,  738,  739,  739,  734,   15,  734,  734,  734,  734,
      734,  740,  734,  741,  734,  734,  734,  734,  734,  734,
      734,  734,  734,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  742,  734,  743,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  744,  744,  734,  745,  745,  734,  734,
      734,  734,  746,  734,  734,  747,  747,  734,  734,   23,
      734,  734,  734,  748,  734,  734,  734,  734,  734,  734,
      740,  740,  734,  749,  734,  750,  741,  741,  734,  734,

      734,  734,  734,  734,  751,   33,   33,   33,   33,   33,
       33,  752,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,   33,   33,
       33,   33,   33,   33,   33,   33,  752,   33,   33,   33,
       33,  752,   33,   33,   33,   33,  752,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,  752,  752,
       33,  753,  742,  734,  734,  734,  743,  734,  734,  734,
      744,  734,  745,  734,  746,   77,   77,  734,  734,  754,
      748,  734,  734,  755,  749,  756,  750,  734,  734,  757,
      734,  734,  734,  734,  751,  758,   33,   33,   33,   33,

       33,  758,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  752,  752,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  752,   33,   33,   33,  752,   33,   33,
       33,   33,   33,  752,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,  752,  752,
      752,   33,  753,  734,  734,  734,  734,   77,   77,  754,
      734,  755,  756,  734,  734,  734,  734,  757,  734,  734,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,

       33,   33,   33,  752,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,   33,  752,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
      752,  752,  752,   33,  734,  734,  734,  734,  734,   77,
      734,   33,   33,   33,   33,  752,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,  752,  752,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,   33,   33,
       33,  752,   33,  195,   33,   33,  752,   33,   33,   33,

       33,  752,  752,   33,   33,   33,  752,   33,  752,  752,
      752,  734,  734,  734,   77,  734,   33,   33,   33,  752,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  752,  752,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  195,  752,   33,   33,  752,   33,  195,   33,   33,
      752,   33,   33,   33,   33,  752,  752,   33,   33,  752,
      752,  752,  752,  752,  734,  734,   77,  734,   33,   33,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,  752,  752,

       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      195,  752,   33,  752,   33,  195,   33,   33,  752,   33,
       33,  752,  752,   33,  752,  752,  752,  752,  752,  734,
       77,  759,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,  752,  752,
       33,   33,   33,   33,   33,   33,  752,  195,  752,   33,
      752,  195,  752,   33,   33,  752,  752,   33,  752,  752,
      752,  752,  734,  760,   77,  734,   33,   33,  752,   33,
       33,   33,   33,   33,  195,   33,   33,  752,  752,  752,
      752,   33,   33,   33,  752,  195,  752,  752,  195,  752,

      195,  752,  752,   33,  752,  752,  752,  752,  734,  734,
      746,  734,   33,   33,   33,   33,   33,  195,   33,   33,
      752,  752,  752,   33,   33,   33,  752,  195,  752,  752,
      195,  752,  195,  752,  752,  752,  752,  752,  746,  734,
       33,   33,   33,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,  195,  752,
      752,  195,  752,  752,  752,  752,  752,  746,  734,  195,

      752,  195,  752,  752,  752,  752,  746,  734,  195,  752,
      752,  752,  752,  746,  734,  195,  752,  746,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,    0,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734
    } ;

static yyconst short int yy_nxt[4496] =
    {   0,
       18,   19,   20,   19,   19,   21,   22,   23,   24,   25,
       18,   25,   26,   27,   28,   29,   30,   30,   30,   30,
       30,   30,   30,   31,   21,   32,   32,   18,   33,   34,
       35,   36,   37,   38,   39,   40,   41,   40,   40,   40,
       42,   43,   44,   45,   40,   46,   47,   48,   49,   50,
       51,   40,   40,   40,   25,   21,   21,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   53,
       21,   25,   55,   56,   56,   55,   56,   56,   55,   56,
       56,   68,   57,   65,   60,   57,   60,   66,   58,   55,

       56,   56,   61,   65,   61,   68,   62,   66,   62,   58,
       93,   89,   69,  102,  202,   70,  202,   63,  734,   63,
       90,   90,   90,   90,  202,  202,   69,   89,  202,   70,
       90,   90,   90,   90,  734,  190,  733,   89,   97,   97,
       97,   97,   95,  274,  575,   89,   89,  732,  191,  275,
       99,  176,   97,   97,  100,  100,  100,  100,  100,  100,
      100,  178,  178,  178,  178,  202,  734,  244,   71,  202,
       72,  103,  103,  103,  103,  103,  103,  103,  103,  238,
      341,  222,   71,  255,   72,   73,   74,   75,   74,   74,
       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,

      178,  178,  178,  178,   90,   90,   90,   90,   73,   73,
       73,   73,   73,  106,  223,  279,  113,   77,  279,  106,
      114,  234,  121,  106,  115,  106,  116,  106,  202,  106,
      202,  106,  106,  106,  106,  202,  117,  106,  106,   73,
       73,   73,  280,  118,  106,  280,  106,  119,  106,  106,
      120,  106,  202,  106,  202,  202,  106,  178,  178,  178,
      178,  176,  350,  202,   74,   73,   74,   73,   74,   75,
       74,   74,   73,   73,   73,   73,   73,   73,   73,   73,
       73,   73,  202,  259,  268,  269,  106,  305,  343,  202,
       73,   73,   73,   73,   73,  176,  106,  122,  123,   77,

      106,  277,  260,  277,  304,  106,  138,  139,  124,  325,
      140,  278,  316,  125,  106,  261,  106,  277,  106,  277,
      141,   73,   73,   73,  106,  106,  106,  278,  106,  729,
      126,  320,  728,  106,  415,  142,  192,  192,  192,  192,
      192,  192,  192,  192,  176,  470,   74,   73,   74,   32,
       78,   79,   78,   78,   32,   32,   80,   32,   32,   32,
       81,   82,   32,   83,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,

       84,   84,   84,   85,   86,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   87,   32,
       88,   89,  202,  477,   97,   97,   97,   97,  176,  727,
      726,  188,  202,  202,  202,  725,  724,   93,   97,   97,
      723,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,  667,  411,   95,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,

       96,   96,  105,  375,  388,  106,  106,  106,  106,  106,
      106,  106,  106,  722,  202,  202,  202,  721,  106,  107,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  108,
      106,  109,  106,  110,  106,  106,  106,  106,  111,  106,
      106,  106,  106,  106,  202,  202,  202,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  106,
      202,  202,  202,  410,  129,  106,  397,  130,  403,  106,
      202,  106,  202,  106,  202,  106,  131,  132,  106,  106,
      106,  439,  133,  335,  106,  134,  106,  376,  734,  202,

      106,  127,  106,  135,  106,  202,  106,  202,  106,  136,
      106,  202,  128,  143,  106,  106,  144,  720,  392,  342,
      202,  409,  458,  202,  145,  202,  106,  202,  106,  106,
      146,  202,  148,  106,  202,  106,  137,  440,  149,  106,
      420,  106,  150,  106,  456,  106,  202,  106,  106,  106,
      202,  153,  106,  151,  106,  734,  461,  147,  152,  154,
      106,  473,  106,  106,  106,  441,  106,  466,  202,  467,
      106,  106,  106,  106,  106,  157,  155,  106,  453,  106,
      535,  158,  106,  106,  202,  633,  474,  472,  160,  498,
      161,  570,  156,  106,  202,  106,  519,  106,  164,  164,

      164,  164,  106,  159,  103,  103,  103,  103,  103,  103,
      103,  103,  165,  165,  165,  165,  165,  165,  166,  166,
      175,  481,  202,  202,  202,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  734,  202,  500,  106,  106,
      202,  499,  514,  175,  175,  175,  175,  175,  106,  106,
      106,  106,  106,  106,  106,  719,  197,  106,  106,  511,
      412,  412,  412,  412,  198,  202,  106,  106,  106,  512,
      106,  202,  202,  106,  175,  175,  175,  106,  202,  106,
      106,  106,  106,  202,  200,  106,  106,  202,  202,  106,
      199,  202,  718,  522,  202,  106,  526,  106,  202,  106,

      175,  175,  202,  201,  106,  549,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  175,  192,  192,  192,  192,
      192,  192,  192,  192,  175,  175,  175,  175,  175,  106,
      523,  202,  525,  527,  203,  106,  528,  529,  595,  106,
      414,  106,  177,  106,  202,  106,  563,  106,  106,  106,
      106,  550,  202,  204,  106,  175,  175,  175,  106,  566,
      106,  202,  106,  571,  205,  559,  202,  202,  106,  106,
      106,  206,  106,  202,  202,  202,  202,  106,  567,  202,
      202,  175,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,

      196,  196,  196,  196,  106,  569,  207,  106,  547,  572,
      561,  202,  202,  202,  106,  202,  106,  106,  106,  106,
      208,  106,  106,  106,  209,  106,  106,  548,  588,  590,
      579,  591,  106,  210,  211,  106,  106,  106,  106,  106,
      202,  106,  212,  202,  106,  716,  213,  202,  106,  202,
      106,  202,  106,  202,  202,  611,  106,  106,  106,  202,
      106,  106,  214,  215,  106,  106,  602,  106,  217,  605,
      202,  106,  598,  106,  220,  106,  106,  106,  106,  106,
      216,  218,  106,  106,  176,  219,  106,  224,  607,  202,
      202,  202,  106,  632,  106,  221,  106,  106,  600,  734,

      106,  106,  606,  225,  636,  597,  589,  106,  106,  106,
      106,  106,  106,  603,  106,  608,  106,  618,  106,  106,
      106,  202,  226,  106,  227,  202,  202,  106,  609,  609,
      609,  609,  202,  106,  106,  106,  202,  106,  202,  622,
      228,  229,  106,  730,  106,  106,  106,  230,  106,  621,
      691,  106,  715,  106,  202,  106,  714,  106,  202,  106,
      202,  106,  106,  232,  106,  106,  202,  231,  630,  731,
      106,  202,  233,  202,  106,  106,  106,  202,  106,  202,
      647,  106,  651,  235,  202,  106,  623,  106,  106,  106,
      106,  106,  106,  666,  106,  202,  236,  106,  629,  106,

      202,  106,  106,  106,  202,  106,  202,  627,  610,  106,
      106,  106,  106,  106,  106,  106,  106,  237,  106,  646,
      239,  106,  637,  202,  635,  106,  106,  106,  202,  106,
      709,  634,  648,  202,  106,  240,  106,  638,  106,  106,
      106,  202,  242,  708,  654,  241,  243,  202,  653,  106,
      707,  106,  202,  106,  245,  106,  202,  658,  106,  730,
      202,  106,  656,  202,  202,  246,  202,  106,  659,  106,
      202,  106,  106,  106,  106,  106,  247,  202,  106,  248,
      106,  661,  106,  660,  106,  731,  106,  252,  106,  106,
      106,  106,  106,  676,  250,  202,  249,  106,  668,  106,

      106,  251,  202,  106,  673,  674,  106,  671,  106,  202,
      106,  253,  106,  680,  106,  202,  106,  106,  106,  106,
      106,  678,  202,  106,  202,  106,  679,  106,  711,  106,
      256,  106,  202,  106,  681,  106,  254,  106,  106,  106,
      257,  202,  106,  258,  609,  609,  609,  609,  106,  106,
      106,  106,  106,  106,  202,  687,  262,  106,  106,  164,
      164,  164,  164,  202,  202,  701,  686,  702,  202,  202,
      202,  202,  202,  165,  165,  165,  165,  165,  165,  166,
      166,  264,  202,  688,  703,  166,  166,  166,  166,  166,
      166,  166,  166,  265,  693,  202,  202,  166,  166,  166,

      166,  166,  166,  166,  166,  105,  106,  106,  700,  281,
      699,  696,  698,  692,  690,  694,  106,  106,  106,  106,
      106,  106,  106,  106,  610,  106,  106,  704,  705,  717,
      202,  710,  106,  282,  106,  106,  106,  106,  202,  689,
      202,  106,  106,  684,  683,  682,  677,  697,  695,  202,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  106,  675,  672,  664,  663,  662,  202,  657,
      106,  706,  106,  106,  106,  283,  106,  284,  655,  712,
      106,  106,  106,  106,  106,  106,  106,  106,  652,  106,

      713,  644,  106,  640,  106,  639,  106,  202,  106,  631,
      106,  628,  106,  285,  286,  106,  106,  202,  106,  202,
      106,  612,  106,  106,  106,  599,  106,  288,  287,  596,
      106,  106,  106,  106,  106,  202,  562,  558,  532,  106,
      531,  106,  516,  106,  106,  106,  478,  106,  416,  349,
      289,  106,  106,  106,  106,  290,  106,  351,  106,  186,
      106,  291,  292,  106,  293,  106,  106,  184,  182,  295,
      180,  176,  294,  349,  162,  106,  106,  106,  106,  106,
      106,  106,  734,  202,  106,  106,  275,  106,  186,  184,
      271,  106,  180,  106,  296,  106,  176,  106,  106,  106,

      106,  106,  267,  266,  106,  162,  106,  298,  106,  297,
      106,  202,  106,  194,  106,  106,  106,  106,  106,  193,
      189,  106,  186,  106,  301,  299,  184,  106,  300,  106,
      183,  106,  106,  106,  106,  106,  182,  182,  180,  102,
      106,  179,  106,  106,  106,  174,  106,  172,  102,  302,
      170,  106,  169,  106,  303,  106,  106,  106,  168,  162,
      104,  101,  106,   92,  106,   89,  106,  106,  106,   89,
      106,  734,  734,  306,  106,  106,  307,  308,  106,  106,
      309,  106,  106,  106,  734,  106,  106,  734,  106,  734,
      734,  312,  310,  734,  106,  106,  106,  106,  106,  106,

      106,  106,  106,  311,  106,  313,  106,  106,  734,  734,
      734,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  106,  734,  106,  734,  734,  314,  734,  106,  734,
      315,  317,  106,  734,  106,  734,  734,  734,  106,  106,
      106,  106,  106,  734,  318,  734,  734,  106,  734,  106,
      734,  106,  106,  106,  734,  106,  319,  734,  734,  106,
      106,  106,  106,  106,  106,  106,  106,  734,  106,  734,
      321,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  106,

      322,  106,  106,  106,  734,  106,  734,  734,  323,  106,
      106,  106,  106,  106,  327,  106,  734,  734,  106,  324,
      734,  734,  326,  106,  106,  106,  106,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  328,  734,  106,  734,  106,  329,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  734,  106,  330,
      106,  734,  106,  106,  106,  734,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  331,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      332,  106,  106,  106,  106,  106,  734,  334,  333,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      734,  340,  106,  106,  106,  336,  106,  337,  106,  106,
      734,  106,  338,  734,  734,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  734,  339,  106,  106,  734,
      344,  734,  734,  734,  106,  734,  106,  734,  106,  345,
      345,  345,  345,  106,  734,  734,  734,  347,  347,  347,
      347,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  348,  348,  348,  348,  348,  348,  348,  348,  106,
      106,  734,  734,  734,  734,  734,  734,  353,  734,  106,
      106,  352,  106,  106,  106,  106,  734,  734,  106,  106,

      734,  106,  734,  734,  734,  106,  354,  106,  734,  106,
      734,  106,  106,  355,  106,  106,  734,  734,  106,  734,
      106,  357,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  358,  106,  106,  359,  106,  734,  734,
      734,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  356,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  360,  106,  106,
      106,  361,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  363,  106,  734,  362,  106,  734,  734,  734,  106,
      106,  106,  106,  106,  106,  734,  106,  734,  364,  734,

      106,  106,  365,  106,  106,  366,  106,  734,  367,  106,
      734,  734,  734,  106,  734,  106,  106,  106,  106,  734,
      106,  106,  106,  734,  368,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  369,  734,  734,  106,  370,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  106,  106,  734,
      371,  734,  734,  106,  734,  106,  734,  372,  734,  106,
      106,  373,  734,  374,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,

      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  378,  106,  734,  734,  379,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  380,  734,  106,  106,  382,
      106,  734,  377,  734,  106,  734,  106,  386,  106,  734,
      106,  734,  106,  381,  106,  106,  383,  734,  106,  106,
      384,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  385,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  387,  734,  106,  734,  106,  389,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  394,  390,  106,

      734,  106,  734,  106,  393,  106,  391,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  734,  734,  734,
      106,  734,  106,  734,  106,  395,  106,  734,  106,  396,
      106,  734,  106,  106,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  734,  399,  734,  398,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  400,  734,  106,  106,  106,  401,  106,  106,
      734,  106,  734,  734,  734,  106,  734,  106,  106,  106,

      106,  106,  106,  106,  106,  106,  106,  106,  734,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  106,
      106,  404,  106,  106,  106,  106,  106,  734,  106,  106,
      402,  405,  406,  734,  734,  106,  734,  734,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  408,  734,  106,  734,  734,  734,  734,
      734,  407,  106,  734,  106,  734,  106,  345,  345,  345,
      345,  106,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  346,  346,  346,  346,  346,  346,  346,  346,  412,

      412,  412,  412,  734,  734,  734,  734,  734,  734,  413,
      734,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  348,  348,  348,  348,  348,
      348,  348,  348,  413,  734,  106,  106,  348,  348,  348,
      348,  348,  348,  348,  348,  106,  106,  106,  106,  106,
      106,  106,  418,  417,  106,  106,  734,  734,  734,  734,
      734,  106,  734,  106,  734,  106,  419,  106,  734,  414,
      106,  734,  421,  106,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  422,

      734,  106,  106,  734,  423,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  424,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  426,  425,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  427,  428,  106,  734,  106,  429,  734,  734,  106,
      106,  106,  106,  106,  430,  734,  734,  734,  106,  734,
      106,  734,  106,  431,  106,  734,  106,  432,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,

      106,  734,  106,  734,  433,  734,  106,  106,  106,  734,
      106,  106,  435,  734,  434,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  106,  734,  734,  106,  436,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  437,  438,  106,  106,  106,
      106,  734,  734,  106,  734,  734,  734,  442,  734,  106,
      106,  106,  106,  106,  106,  734,  734,  106,  106,  106,
      106,  443,  734,  444,  734,  734,  734,  106,  734,  106,
      106,  106,  106,  734,  106,  445,  106,  106,  106,  106,
      446,  734,  734,  734,  734,  734,  734,  106,  106,  447,

      106,  106,  106,  106,  734,  734,  106,  106,  734,  106,
      734,  734,  449,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  448,  106,  451,  734,  734,  452,  106,  734,
      106,  734,  106,  106,  106,  734,  734,  450,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  454,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  455,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  457,
      734,  106,  106,  459,  106,  106,  734,  734,  734,  734,

      106,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  460,  106,  462,  734,  734,  106,  106,  106,
      106,  106,  463,  464,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  734,
      734,  106,  106,  106,  734,  106,  734,  734,  106,  734,
      106,  468,  106,  465,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  469,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  475,  475,  475,  475,  106,
      734,  734,  734,  734,  734,  734,  734,  106,  734,  476,

      476,  476,  476,  476,  476,  476,  476,  106,  734,  106,
      106,  106,  479,  106,  734,  471,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  734,  106,  480,  106,
      734,  106,  106,  482,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  106,  106,  106,
      734,  106,  483,  106,  106,  734,  106,  484,  734,  485,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      734,  106,  734,  486,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  734,  488,  487,  106,  734,  106,  734,

      734,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  734,  106,  489,  106,  490,  734,
      734,  106,  734,  491,  734,  106,  734,  106,  734,  106,
      734,  106,  106,  106,  106,  106,  734,  493,  106,  734,
      106,  734,  106,  734,  492,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  734,  106,
      734,  106,  494,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  496,
      106,  734,  106,  495,  106,  106,  106,  497,  106,  106,
      734,  106,  734,  501,  734,  734,  734,  734,  106,  106,

      106,  106,  106,  106,  106,  734,  734,  106,  106,  734,
      106,  502,  503,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      505,  106,  734,  106,  734,  106,  734,  106,  504,  106,
      106,  106,  106,  506,  734,  734,  106,  734,  106,  507,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  508,  734,  509,  106,  734,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  510,  734,  106,

      734,  106,  734,  106,  106,  106,  513,  106,  734,  734,
      106,  734,  734,  734,  106,  106,  515,  106,  106,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  518,  734,  517,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  734,
      106,  106,  521,  734,  106,  106,  520,  106,  734,  734,
      734,  106,  734,  106,  106,  106,  106,  106,  106,  106,
      106,  106,  106,  106,  734,  106,  106,  734,  734,  734,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      734,  106,  524,  734,  106,  475,  475,  475,  475,  734,

      734,  734,  734,  734,  734,  734,  734,  734,  734,  476,
      476,  476,  476,  476,  476,  476,  476,  530,  734,  106,
      734,  476,  476,  476,  476,  476,  476,  476,  476,  106,
      734,  106,  106,  106,  734,  106,  734,  533,  106,  534,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      106,  106,  734,  536,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  537,  106,
      106,  734,  734,  106,  538,  106,  734,  106,  734,  106,
      539,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,

      106,  106,  106,  106,  106,  734,  734,  734,  540,  106,
      734,  106,  106,  106,  541,  106,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  542,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  543,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  545,  544,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  546,  734,  106,  551,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  734,  106,

      734,  106,  106,  106,  734,  106,  734,  734,  106,  552,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  554,  106,
      734,  106,  734,  106,  734,  106,  553,  106,  106,  106,
      106,  106,  734,  734,  106,  734,  734,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  106,  556,  555,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  734,
      106,  734,  106,  106,  106,  106,  106,  734,  734,  106,
      734,  106,  734,  560,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  557,  106,  106,
      106,  106,  734,  734,  564,  106,  734,  106,  734,  734,
      565,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  568,  106,  734,  734,  106,  734,  734,  573,
      573,  573,  573,  106,  734,  106,  734,  106,  734,  734,
      734,  734,  106,  574,  574,  574,  574,  574,  574,  574,
      574,  106,  106,  578,  734,  734,  734,  734,  577,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  734,  734,
      106,  106,  734,  734,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  580,  734,  106,  106,  106,  106,  106,

      582,  106,  106,  581,  106,  734,  734,  106,  585,  106,
      734,  106,  734,  583,  734,  106,  734,  106,  734,  106,
      106,  106,  584,  106,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  734,  734,  106,  106,  106,  106,  106,
      734,  586,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  734,
      106,  587,  106,  734,  106,  106,  106,  734,  106,  734,
      734,  734,  106,  106,  106,  106,  106,  734,  592,  734,
      734,  106,  734,  106,  734,  106,  106,  106,  734,  106,
      734,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  734,  734,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  593,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  601,  594,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  604,  106,  106,
      734,  106,  734,  106,  734,  734,  106,  573,  573,  573,
      573,  734,  734,  734,  734,  734,  734,  734,  734,  106,
      734,  574,  574,  574,  574,  574,  574,  574,  574,  106,
      106,  106,  613,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  615,  106,  734,  106,
      734,  106,  734,  106,  614,  106,  106,  106,  106,  106,
      734,  734,  106,  616,  734,  734,  734,  734,  106,  106,
      106,  617,  106,  106,  106,  106,  619,  106,  106,  734,
      734,  734,  734,  734,  106,  620,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  624,  734,  106,  106,
      106,  625,  106,  106,  106,  734,  734,  106,  734,  734,
      626,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  106,  734,  734,  734,  734,  734,  106,
      106,  641,  106,  106,  106,  106,  106,  642,  106,  106,
      734,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  106,  106,  734,  106,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  643,  734,
      106,  106,  734,  106,  645,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  106,  734,  106,  106,  649,  734,  106,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  650,  106,
      734,  106,  106,  106,  106,  106,  734,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  106,  665,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  669,  670,  106,
      106,  106,  106,  734,  734,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  734,
      106,  106,  734,  734,  685,  734,  734,  106,  106,  106,
      106,  106,  106,  734,  734,  734,  106,  106,   54,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   59,   59,   59,   59,   59,   59,   59,   59,   59,

       59,   59,   59,   59,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   91,   91,   91,   91,  734,   91,   91,
       91,   91,   91,   91,   91,   91,   98,   98,   98,  734,
       98,  734,   98,  734,   98,  163,  163,  734,  163,  163,
      167,  167,  734,  734,  167,  167,  734,  167,  167,  167,
      167,  167,  167,  171,  171,  171,  171,  734,  171,  171,
      171,  171,  171,  171,  171,  171,  173,  173,  173,  173,

      173,  173,  173,  173,  734,  173,  173,  175,  734,  734,
      734,  175,  175,  175,  175,  175,  175,  175,  176,  734,
      734,  734,  176,  176,  176,  176,  176,  176,  176,  181,
      181,  734,  181,  181,  185,  185,  734,  185,  185,  187,
      187,  734,  187,  187,  195,  734,  195,  195,  112,  112,
      734,  112,  112,  263,  734,  263,  263,  270,  734,  270,
      270,  272,  734,  272,  272,  273,  734,  273,  273,  276,
      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
      276,  276,  196,  196,  734,  196,  196,  576,  576,  734,
      576,  576,  576,  576,  576,  576,  576,  576,  576,  576,

      574,  574,  574,  734,  734,  734,  574,  734,  734,  734,
      734,  574,   17,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

static yyconst short int yy_chk[4496] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    3,    3,    3,    4,    4,    4,    5,    5,
        5,   11,    3,    9,    7,    4,    8,    9,    5,    6,

        6,    6,    7,   10,    8,   12,    7,   10,    8,    6,
       95,   28,   11,   28,  147,   11,  259,    7,   80,    8,
       19,   19,   19,   19,  127,  142,   12,   19,  156,   12,
       20,   20,   20,   20,   80,   99,  732,   20,   24,   24,
       24,   24,   95,  188,  531,   24,   26,  731,   99,  188,
       26,  531,   24,   24,   26,   26,   26,   26,   26,   26,
       26,   78,   78,   78,   78,  137,   80,  147,   11,  128,
       11,   30,   30,   30,   30,   30,   30,   30,   30,  142,
      259,  127,   12,  156,   12,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,

       79,   79,   79,   79,   90,   90,   90,   90,   13,   13,
       13,   13,   13,   34,  128,  191,   34,   13,  279,   36,
       34,  137,   36,   34,   34,   34,   34,   34,  223,   36,
      159,   36,   34,   36,   40,  261,   34,   35,   36,   13,
       13,   13,  191,   35,   40,  279,   40,   35,   40,   35,
       35,   35,  244,   40,  160,  222,   35,  178,  178,  178,
      178,  268,  268,  234,   13,   13,   13,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,  238,  159,  177,  177,   37,  223,  261,  407,
       14,   14,   14,   14,   14,  177,   37,   37,   37,   14,

       37,  190,  160,  190,  222,   37,   44,   44,   37,  244,
       44,  190,  234,   38,   38,  160,   44,  278,   44,  278,
       44,   14,   14,   14,   38,   44,   38,  278,   38,  728,
       38,  238,  727,   38,  350,   44,  100,  100,  100,  100,
      100,  100,  100,  100,  350,  407,   14,   14,   14,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,

       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   23,  343,  415,   97,   97,   97,   97,  415,  726,
      725,   97,  647,  304,  316,  724,  723,   23,   97,   97,
      722,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,  647,  343,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   33,  304,  316,   33,   33,   33,   33,   33,
       33,   33,   33,  721,  325,  342,  335,  720,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  255,  305,  375,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   39,
      260,  320,  341,  342,   41,   41,  325,   41,  335,   39,
      356,   39,  392,   39,  376,   41,   41,   41,   39,   41,
       43,  375,   41,  255,   41,   42,   42,  305,  394,  410,

       43,   39,   43,   42,   43,  377,   42,  402,   42,   43,
       42,  397,   39,   45,   45,   42,   45,  719,  320,  260,
      403,  341,  394,  481,   45,  388,   45,  409,   45,   46,
       45,  411,   46,   45,  439,   47,   43,  376,   47,   46,
      356,   46,   47,   46,  392,   47,  527,   47,   46,   47,
      461,   48,   50,   47,   47,  601,  397,   45,   47,   48,
       48,  410,   50,   49,   50,  377,   50,  402,  420,  403,
       48,   50,   48,   49,   48,   49,   48,   49,  388,   48,
      481,   49,   49,   51,  441,  601,  411,  409,   50,  439,
       51,  527,   48,   51,  440,   51,  461,   51,   53,   53,

       53,   53,   51,   49,  103,  103,  103,  103,  103,  103,
      103,  103,   53,   53,   53,   53,   53,   53,   53,   53,
       76,  420,  453,  456,  717,   76,   76,   76,   76,   76,
       76,   76,   76,   76,   76,  452,  471,  441,  106,  107,
      466,  440,  456,   76,   76,   76,   76,   76,  106,  107,
      106,  107,  106,  107,  108,  715,  107,  106,  107,  452,
      412,  412,  412,  412,  108,  467,  108,  109,  108,  453,
      110,  499,  472,  108,   76,   76,   76,  109,  557,  109,
      110,  109,  110,  470,  110,  111,  109,  473,  474,  110,
      109,  519,  714,  466,  500,  111,  471,  111,  528,  111,

       76,   77,  522,  111,  111,  499,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,  192,  192,  192,  192,
      192,  192,  192,  192,   77,   77,   77,   77,   77,  113,
      467,  512,  470,  472,  113,  114,  473,  474,  557,  113,
      412,  113,   77,  113,  523,  114,  519,  114,  113,  114,
      115,  500,  526,  114,  114,   77,   77,   77,  116,  522,
      115,  514,  115,  528,  115,  512,  547,  549,  116,  115,
      116,  116,  116,  713,  498,  529,  712,  116,  523,  535,
      550,   77,  105,  105,  105,  105,  105,  105,  105,  105,
      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,

      105,  105,  105,  105,  117,  526,  118,  118,  498,  529,
      514,  561,  569,  710,  117,  566,  117,  118,  117,  118,
      118,  118,  120,  117,  119,  119,  118,  498,  547,  549,
      535,  550,  120,  120,  120,  119,  120,  119,  121,  119,
      548,  120,  121,  559,  119,  709,  122,  570,  121,  563,
      121,  567,  121,  572,  571,  575,  122,  121,  122,  600,
      122,  123,  123,  123,  125,  122,  566,  124,  124,  569,
      606,  123,  561,  123,  125,  123,  125,  124,  125,  124,
      123,  124,  126,  125,  575,  124,  124,  129,  571,  588,
      589,  674,  126,  600,  126,  126,  126,  129,  563,  585,

      130,  126,  570,  130,  606,  559,  548,  129,  131,  129,
      130,  129,  130,  567,  130,  572,  129,  585,  131,  130,
      131,  598,  131,  132,  132,  627,  590,  131,  574,  574,
      574,  574,  622,  132,  133,  132,  646,  132,  597,  589,
      132,  132,  132,  729,  133,  134,  133,  133,  133,  588,
      674,  135,  708,  133,  595,  134,  707,  134,  706,  134,
      607,  135,  136,  135,  134,  135,  621,  134,  598,  729,
      135,  603,  136,  605,  136,  138,  136,  608,  139,  623,
      622,  136,  627,  138,  630,  138,  590,  138,  139,  138,
      139,  140,  139,  646,  138,  629,  139,  139,  597,  141,

      632,  140,  143,  140,  634,  140,  636,  595,  574,  141,
      140,  141,  143,  141,  143,  144,  143,  141,  141,  621,
      143,  143,  607,  637,  605,  144,  145,  144,  638,  144,
      700,  603,  623,  656,  144,  144,  145,  608,  145,  146,
      145,  648,  146,  699,  630,  145,  146,  653,  629,  146,
      698,  146,  654,  146,  148,  148,  651,  634,  146,  730,
      660,  149,  632,  697,  658,  148,  659,  148,  636,  148,
      703,  149,  150,  149,  148,  149,  149,  661,  151,  149,
      149,  638,  150,  637,  150,  730,  150,  153,  151,  152,
      151,  150,  151,  656,  151,  694,  150,  151,  648,  152,

      153,  152,  667,  152,  653,  654,  154,  651,  152,  687,
      153,  154,  153,  660,  153,  666,  154,  155,  154,  153,
      154,  658,  691,  157,  690,  154,  659,  155,  703,  155,
      157,  155,  668,  157,  661,  157,  155,  157,  161,  158,
      158,  676,  157,  158,  609,  609,  609,  609,  161,  158,
      161,  158,  161,  158,  680,  667,  161,  161,  158,  164,
      164,  164,  164,  673,  678,  687,  666,  689,  688,  711,
      693,  695,  686,  164,  164,  164,  164,  164,  164,  164,
      164,  165,  701,  668,  691,  165,  165,  165,  165,  165,
      165,  165,  165,  166,  676,  679,  681,  166,  166,  166,

      166,  166,  166,  166,  166,  195,  197,  198,  684,  197,
      683,  680,  682,  675,  673,  678,  197,  198,  197,  198,
      197,  198,  199,  200,  609,  197,  198,  693,  695,  711,
      696,  701,  199,  200,  199,  200,  199,  200,  704,  672,
      671,  199,  200,  664,  663,  662,  657,  681,  679,  705,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  201,  655,  652,  644,  640,  639,  635,  633,
      203,  696,  201,  204,  201,  201,  201,  203,  631,  704,
      203,  201,  203,  204,  203,  204,  205,  204,  628,  203,

      705,  618,  204,  612,  206,  611,  205,  602,  205,  599,
      205,  596,  207,  205,  206,  205,  206,  591,  206,  579,
      208,  576,  207,  206,  207,  562,  207,  208,  207,  558,
      208,  207,  208,  209,  208,  525,  516,  511,  478,  208,
      477,  210,  458,  209,  211,  209,  416,  209,  351,  349,
      209,  210,  209,  210,  211,  210,  211,  280,  211,  273,
      210,  211,  211,  211,  212,  212,  213,  272,  271,  213,
      270,  269,  212,  266,  263,  212,  213,  212,  213,  212,
      213,  214,  202,  196,  212,  213,  189,  215,  187,  185,
      183,  214,  181,  214,  214,  214,  176,  215,  216,  215,

      214,  215,  174,  169,  217,  163,  215,  217,  216,  216,
      216,  112,  216,  104,  217,  218,  217,  216,  217,  101,
       98,  219,   96,  217,  219,  218,   94,  218,  218,  218,
       93,  219,  220,  219,  218,  219,   92,   89,   84,   83,
      219,   82,  220,  221,  220,   69,  220,   66,   62,  220,
       61,  220,   58,  221,  221,  221,  224,  221,   57,   52,
       31,   27,  221,   22,  225,   21,  224,  226,  224,   18,
      224,   17,    0,  224,  225,  224,  225,  226,  225,  226,
      226,  226,  227,  225,    0,  228,  226,    0,  229,    0,
        0,  229,  227,    0,  227,  228,  227,  228,  229,  228,

      229,  227,  229,  228,  228,  230,  231,  229,    0,    0,
        0,    0,    0,    0,  230,    0,  231,  232,  231,    0,
      231,    0,    0,    0,  230,  231,  230,  232,  230,  232,
      233,  232,    0,  230,    0,    0,  232,    0,  235,    0,
      233,  235,  233,    0,  233,    0,    0,    0,  235,  233,
      235,  236,  235,    0,  236,    0,    0,  235,    0,  237,
        0,  236,  239,  236,    0,  236,  237,    0,    0,  237,
      236,  237,  239,  237,  239,  240,  239,    0,  237,    0,
      239,  239,    0,  241,    0,  240,    0,  240,    0,  240,
        0,  242,    0,  241,  240,  241,    0,  241,    0,  243,

      241,  242,  241,  242,    0,  242,    0,    0,  242,  243,
      242,  243,  245,  243,  246,  246,    0,    0,  243,  243,
        0,    0,  245,  247,  245,  246,  245,  246,    0,  246,
        0,  245,    0,  247,  246,  247,  248,  247,    0,    0,
        0,    0,  247,    0,  249,    0,  248,  249,  248,    0,
      248,    0,  250,    0,  249,  248,  249,    0,  249,  250,
      251,    0,  250,  249,  250,    0,  250,    0,    0,    0,
      251,  250,  251,  252,  251,    0,    0,    0,  251,  251,
        0,  253,    0,  252,    0,  252,    0,  252,    0,    0,
      252,  253,  252,  253,  254,  253,    0,  254,  253,    0,

      253,    0,  256,    0,  254,    0,  254,    0,  254,    0,
        0,  258,  256,  254,  256,  256,  256,  256,  257,  258,
        0,  256,  256,    0,    0,    0,    0,    0,  257,  258,
      257,  258,  257,  258,  262,    0,  257,  257,  258,    0,
      262,    0,    0,    0,  262,    0,  262,    0,  262,  264,
      264,  264,  264,  262,    0,    0,    0,  265,  265,  265,
      265,    0,    0,  264,  264,  264,  264,  264,  264,  264,
      264,  265,  265,  265,  265,  265,  265,  265,  265,  281,
      282,    0,    0,    0,    0,    0,    0,  282,    0,  281,
      282,  281,  282,  281,  282,  283,    0,    0,  281,  282,

        0,  284,    0,    0,    0,  283,  283,  283,    0,  283,
        0,  284,  285,  284,  283,  284,    0,    0,  286,    0,
      284,  286,  285,    0,  285,    0,  285,    0,  286,    0,
      286,  285,  286,  287,  287,  288,  288,  286,    0,    0,
        0,    0,    0,    0,  287,  288,  287,  288,  287,  288,
      289,    0,    0,  287,  288,    0,    0,  285,  290,    0,
      289,    0,  289,    0,  289,    0,  291,  289,  290,  289,
      290,  290,  290,    0,    0,    0,  291,  290,  291,  293,
      291,  292,  292,    0,  291,  291,    0,    0,    0,  293,
      294,  293,  292,  293,  292,    0,  292,    0,  293,    0,

      294,  292,  294,  295,  294,  295,  296,    0,  296,  294,
        0,    0,    0,  295,    0,  295,  296,  295,  296,    0,
      296,  297,  295,    0,  297,  296,    0,  298,    0,    0,
        0,  297,    0,  297,    0,  297,    0,  298,  299,  298,
      297,  298,    0,    0,  300,  299,  298,    0,  299,    0,
      299,    0,  299,    0,  300,  301,  300,  299,  300,    0,
      300,    0,    0,  300,    0,  301,    0,  301,    0,  301,
      302,  301,    0,  302,  301,    0,  303,    0,    0,    0,
      302,    0,  302,    0,  302,    0,  303,  306,  303,  302,
      303,    0,    0,  307,    0,  303,    0,  306,    0,  306,

        0,  306,    0,  307,    0,  307,  306,  307,  308,  309,
        0,  307,  307,    0,    0,  308,    0,    0,  308,  309,
      308,  309,  308,  309,  310,  309,    0,  308,  309,  311,
      311,    0,  306,    0,  310,    0,  310,  313,  310,    0,
      311,    0,  311,  310,  311,  312,  311,    0,  313,  311,
      312,    0,    0,    0,    0,  312,  314,  312,  313,  312,
      313,  312,  313,    0,  312,    0,  314,  313,  314,  315,
      314,    0,    0,  314,    0,  314,    0,  317,  317,  315,
      318,  315,    0,  315,    0,    0,    0,  317,  315,  317,
      318,  317,  318,  319,  318,    0,  317,  322,  318,  318,

        0,  321,    0,  319,  321,  319,  319,  319,    0,    0,
        0,  321,  319,  321,  322,  321,    0,    0,    0,    0,
      321,    0,  323,    0,  322,  323,  322,    0,  322,  324,
      324,    0,  323,  322,  323,    0,  323,    0,  326,    0,
      324,  323,  324,    0,  324,    0,  327,    0,  326,  324,
      326,    0,  326,    0,    0,    0,  327,  326,  327,  328,
      327,    0,  328,    0,  327,  327,    0,  329,    0,  328,
      330,  328,    0,  328,    0,    0,    0,  329,  328,  329,
      330,  329,  330,    0,  330,  332,  329,  331,  331,  330,
        0,  333,    0,    0,    0,  332,    0,  332,  331,  332,

      331,  333,  331,  333,  332,  333,  334,  331,    0,  336,
      333,    0,  337,    0,    0,    0,  334,    0,  334,  336,
      334,  336,  337,  336,  337,  334,  337,    0,  336,  338,
      332,  337,  338,    0,    0,  339,    0,    0,    0,  338,
        0,  338,    0,  338,    0,  339,  340,  339,  338,  339,
        0,    0,    0,    0,  339,    0,  340,    0,  340,    0,
      340,    0,  344,  340,    0,  340,    0,    0,    0,    0,
        0,  339,  344,    0,  344,    0,  344,  345,  345,  345,
      345,  344,    0,    0,    0,    0,    0,    0,    0,    0,
        0,  345,  345,  345,  345,  345,  345,  345,  345,  346,

      346,  346,  346,    0,    0,    0,    0,    0,    0,  346,
        0,    0,    0,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  347,  347,  347,  347,  347,
      347,  347,  347,  348,    0,  352,  355,  348,  348,  348,
      348,  348,  348,  348,  348,  352,  355,  352,  355,  352,
      355,  353,  353,  352,  352,  355,    0,    0,    0,    0,
        0,  353,    0,  353,    0,  353,  354,  354,    0,  346,
      353,    0,  357,  357,    0,    0,    0,  354,    0,  354,
        0,  354,    0,  357,    0,  357,  354,  357,  358,  358,

        0,  359,  357,    0,  359,    0,    0,    0,  358,  360,
      358,  359,  358,  359,    0,  359,    0,  358,    0,  360,
      359,  360,  361,  360,    0,    0,    0,    0,  360,    0,
      362,    0,  361,    0,  361,    0,  361,    0,  363,    0,
      362,  361,  362,    0,  362,  363,  362,    0,  363,  362,
      363,  364,  363,    0,    0,    0,    0,  363,    0,  365,
        0,  364,  365,  364,    0,  364,  365,    0,    0,  365,
      364,  365,  366,  365,  366,    0,    0,    0,  365,    0,
      367,    0,  366,  367,  366,    0,  366,  367,  368,    0,
      367,  366,  367,    0,  367,    0,  369,    0,  368,  367,

      368,    0,  368,    0,  368,    0,  369,  368,  369,    0,
      369,  370,  370,    0,  369,  369,    0,  371,    0,    0,
        0,  370,    0,  370,    0,  370,    0,  371,  372,  371,
      370,  371,    0,    0,  373,  371,  371,    0,  372,    0,
      372,    0,  372,    0,  373,  372,  373,  372,  373,  374,
      378,    0,    0,  373,    0,    0,    0,  378,    0,  374,
      378,  374,  378,  374,  378,    0,    0,  380,  374,  378,
      379,  379,    0,  379,    0,    0,    0,  380,    0,  380,
      379,  380,  379,    0,  379,  380,  380,  382,  381,  379,
      381,    0,    0,    0,    0,    0,    0,  382,  381,  382,

      381,  382,  381,  383,    0,    0,  382,  381,    0,  384,
        0,    0,  384,  383,    0,  383,    0,  383,    0,  384,
      385,  384,  383,  384,  386,    0,    0,  387,  384,    0,
      385,    0,  385,  386,  385,    0,    0,  385,    0,  385,
        0,  389,    0,  386,  387,  386,    0,  386,    0,    0,
        0,  389,  386,  389,  387,  389,  387,  390,  387,  389,
      389,    0,    0,  387,    0,  391,    0,  390,    0,  390,
        0,  390,    0,  393,    0,  391,  390,  391,    0,  391,
        0,  395,    0,  393,  391,  393,    0,  393,    0,  393,
        0,  395,  393,  395,  396,  395,    0,    0,    0,    0,

      395,    0,    0,    0,  396,    0,  396,  398,  396,    0,
      399,    0,  396,  396,  398,    0,    0,  398,  400,  398,
      399,  398,  399,  400,  399,    0,  398,    0,  400,  399,
      400,  401,  400,    0,    0,    0,    0,  400,    0,    0,
        0,  401,  404,  401,    0,  401,    0,    0,  405,    0,
      401,  405,  404,  401,  404,    0,  404,    0,  405,  406,
      405,  404,  405,    0,    0,    0,    0,  405,    0,  406,
      408,  406,    0,  406,    0,  406,    0,    0,  406,    0,
      408,    0,  408,    0,  408,  413,  413,  413,  413,  408,
        0,    0,    0,    0,    0,    0,    0,  417,    0,  413,

      413,  413,  413,  413,  413,  413,  413,  417,    0,  417,
      419,  417,  418,  418,    0,  408,  417,    0,    0,    0,
      419,  421,  419,  418,  419,  418,    0,  418,  419,  419,
        0,  421,  418,  421,  422,  421,    0,  423,    0,    0,
      421,    0,    0,    0,  422,    0,  422,  423,  422,  423,
        0,  423,  422,  422,  424,    0,  423,  424,    0,  425,
      425,    0,    0,    0,  424,    0,  424,    0,  424,    0,
      425,  426,  425,  424,  425,    0,    0,  427,    0,  425,
        0,  426,    0,  426,    0,  426,    0,  427,    0,  427,
      426,  427,  428,    0,  428,  427,  427,    0,  429,    0,

        0,    0,  428,    0,  428,    0,  428,    0,  429,    0,
      429,  428,  429,    0,    0,  430,  429,  429,  430,    0,
        0,  431,    0,  431,    0,  430,    0,  430,    0,  430,
        0,  431,  432,  431,  430,  431,    0,  433,  433,    0,
      431,    0,  432,    0,  432,    0,  432,    0,  433,  434,
      433,  432,  433,    0,    0,  435,    0,  433,    0,  434,
        0,  434,  435,  434,    0,  435,  436,  435,  434,  435,
        0,    0,  437,    0,  435,    0,  436,    0,  436,  437,
      436,    0,  437,  436,  437,  436,  437,  438,  438,  442,
        0,  437,    0,  442,    0,    0,    0,    0,  438,  442,

      438,  442,  438,  442,  443,    0,    0,  438,  442,    0,
      444,  443,  444,    0,  443,    0,  443,    0,  443,    0,
      444,  445,  444,  443,  444,    0,    0,  446,    0,  444,
      446,  445,    0,  445,    0,  445,    0,  446,  445,  446,
      445,  446,  447,  447,    0,    0,  446,    0,  448,  448,
        0,    0,  447,    0,  447,    0,  447,    0,  448,  449,
      448,  447,  448,    0,    0,    0,    0,  448,    0,  449,
        0,  449,    0,  449,  450,  449,    0,  450,  449,    0,
      451,    0,    0,    0,  450,    0,  450,    0,  450,    0,
      451,  454,  451,  450,  451,    0,    0,  451,    0,  451,

        0,  454,    0,  454,  457,  454,  455,  455,    0,    0,
      454,    0,    0,    0,  457,  459,  457,  455,  457,  455,
        0,  455,    0,  457,    0,  459,  455,  459,  460,  459,
        0,  460,    0,  459,  459,    0,  462,    0,  460,    0,
      460,    0,  460,    0,    0,    0,  462,  460,  462,    0,
      462,  463,  463,    0,  464,  462,  462,  465,    0,    0,
        0,  463,    0,  463,  464,  463,  464,  465,  464,  465,
      463,  465,  468,  464,    0,  469,  465,    0,    0,    0,
        0,    0,  468,    0,  468,  469,  468,  469,    0,  469,
        0,  468,  469,    0,  469,  475,  475,  475,  475,    0,

        0,    0,    0,    0,    0,    0,    0,    0,    0,  475,
      475,  475,  475,  475,  475,  475,  475,  476,    0,  479,
        0,  476,  476,  476,  476,  476,  476,  476,  476,  479,
        0,  479,  480,  479,    0,  482,    0,  479,  479,  480,
        0,    0,  480,    0,  480,  482,  480,  482,    0,  482,
      483,  480,    0,  483,  482,    0,  484,    0,    0,    0,
      483,    0,  483,    0,  483,    0,  484,  485,  484,  483,
      484,    0,    0,  486,  485,  484,    0,  485,    0,  485,
      486,  485,    0,  486,  487,  486,  485,  486,    0,    0,
      488,    0,  486,    0,  487,    0,  487,    0,  487,    0,

      488,  489,  488,  487,  488,    0,    0,    0,  489,  488,
        0,  489,  490,  489,  490,  489,    0,    0,  491,    0,
      489,    0,  490,    0,  490,    0,  490,    0,  491,  492,
      491,  490,  491,    0,  492,  493,    0,  491,    0,  492,
        0,  492,    0,  492,    0,  493,  494,  493,  492,  493,
        0,    0,    0,  493,  493,    0,  494,  495,  494,    0,
      494,    0,    0,  496,  494,  494,    0,  495,    0,  495,
        0,  495,    0,  496,  497,  496,  495,  496,    0,    0,
      501,    0,  496,    0,  497,    0,  497,  501,  497,    0,
      501,  502,  501,  497,  501,    0,    0,    0,    0,  501,

        0,  502,  503,  502,    0,  502,    0,    0,  504,  502,
      502,    0,  503,    0,  503,    0,  503,    0,  504,  505,
      504,  503,  504,    0,    0,  506,    0,  504,  506,  505,
        0,  505,    0,  505,    0,  506,  505,  506,  505,  506,
      507,  508,    0,    0,  506,    0,    0,    0,    0,    0,
      507,  508,  507,  508,  507,  508,  509,  509,  507,  507,
      508,    0,  510,    0,    0,    0,  509,    0,  509,    0,
      509,    0,  510,  513,  510,  509,  510,    0,    0,  515,
        0,  510,    0,  513,    0,  513,    0,  513,    0,  515,
      517,  515,  513,  515,    0,    0,  518,    0,  515,    0,

      517,    0,  517,    0,  517,    0,  518,  510,  518,  517,
      518,  520,    0,    0,  520,  518,    0,  521,    0,    0,
      521,  520,    0,  520,    0,  520,    0,  521,    0,  521,
      520,  521,  524,  524,    0,    0,  521,    0,    0,  530,
      530,  530,  530,  524,    0,  524,    0,  524,    0,    0,
        0,    0,  524,  530,  530,  530,  530,  530,  530,  530,
      530,  533,  534,  534,    0,    0,    0,    0,  533,    0,
        0,  533,  534,  533,  534,  533,  534,  536,    0,    0,
      533,  534,    0,    0,    0,  537,    0,  536,  538,  536,
        0,  536,    0,  536,    0,  537,  536,  537,  538,  537,

      538,  539,  538,  537,  537,    0,    0,  538,  542,  540,
        0,  539,    0,  539,    0,  539,    0,  541,    0,  540,
      539,  540,  540,  540,    0,  542,    0,  541,  540,  541,
        0,  541,    0,    0,    0,  542,  541,  542,  543,  542,
        0,  543,    0,    0,  542,    0,  544,    0,  543,    0,
      543,    0,  543,    0,  545,    0,  544,  543,  544,    0,
      544,  545,  546,    0,  545,  544,  545,    0,  545,    0,
        0,    0,  546,  545,  546,  551,  546,    0,  551,    0,
        0,  546,    0,  552,    0,  551,  553,  551,    0,  551,
        0,    0,    0,  552,  551,  552,  553,  552,  553,  554,

      553,    0,  552,    0,    0,  553,    0,  555,    0,  554,
      556,  554,    0,  554,  555,    0,    0,  555,  554,  555,
      556,  555,  556,  560,  556,    0,  555,  564,  556,  556,
        0,  565,    0,  560,    0,  560,    0,  560,    0,    0,
        0,  565,  560,  565,  564,  565,    0,  568,    0,    0,
      565,    0,    0,    0,  564,    0,  564,  568,  564,  568,
        0,  568,    0,  564,    0,    0,  568,  573,  573,  573,
      573,    0,    0,    0,    0,    0,    0,    0,    0,  577,
        0,  573,  573,  573,  573,  573,  573,  573,  573,  577,
      578,  577,  577,  577,    0,    0,  580,    0,  577,    0,

      578,    0,  578,    0,  578,    0,  580,  581,  580,  578,
      580,    0,    0,  582,    0,  580,  582,  581,    0,  581,
        0,  581,    0,  582,  581,  582,  581,  582,  583,  584,
        0,    0,  582,  583,    0,    0,    0,    0,  583,  584,
      583,  584,  583,  584,  586,  587,  586,  583,  584,    0,
        0,    0,    0,    0,  586,  587,  586,  587,  586,  587,
      592,    0,    0,  586,  587,    0,    0,    0,  593,    0,
      592,    0,  592,    0,  592,    0,  592,    0,  593,  592,
      593,  593,  593,  594,  604,    0,    0,  593,    0,    0,
      594,    0,    0,  594,  604,  594,  604,  594,  604,  613,

      614,    0,  594,  604,    0,    0,    0,    0,    0,  613,
      614,  613,  614,  613,  614,  615,  616,  615,  613,  614,
        0,    0,    0,    0,    0,  615,  616,  615,  616,  615,
      616,  617,  619,    0,  615,  616,    0,    0,    0,    0,
        0,  617,  619,  617,  619,  617,  619,  620,  617,    0,
      617,  619,    0,  624,  620,    0,    0,  620,    0,  620,
        0,  620,    0,  624,  625,  624,  620,  624,    0,    0,
        0,    0,  624,    0,  625,  626,  625,    0,  625,    0,
        0,  641,    0,  625,    0,  626,    0,  626,  626,  626,
        0,  641,  642,  641,  626,  641,    0,    0,  643,    0,

      641,    0,  642,    0,  642,    0,  642,    0,  643,  645,
      643,  642,  643,    0,    0,    0,    0,  643,    0,  645,
      649,  645,    0,  645,    0,    0,  650,  645,  645,    0,
      649,    0,  649,    0,  649,    0,  650,  649,  650,  649,
      650,  665,  669,    0,    0,  650,    0,    0,    0,    0,
        0,  665,  669,  665,  669,  665,  669,  670,  685,    0,
      665,  669,    0,    0,  665,    0,    0,  670,  685,  670,
      685,  670,  685,    0,    0,    0,  670,  685,  735,  735,
      735,  735,  735,  735,  735,  735,  735,  735,  735,  735,
      735,  736,  736,  736,  736,  736,  736,  736,  736,  736,

      736,  736,  736,  736,  737,  737,  737,  737,  737,  737,
      737,  737,  737,  737,  737,  737,  737,  738,  738,  738,
      738,  738,  738,  738,  738,  738,  738,  738,  738,  738,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  740,  740,  740,  740,    0,  740,  740,
      740,  740,  740,  740,  740,  740,  741,  741,  741,    0,
      741,    0,  741,    0,  741,  742,  742,    0,  742,  742,
      743,  743,    0,    0,  743,  743,    0,  743,  743,  743,
      743,  743,  743,  744,  744,  744,  744,    0,  744,  744,
      744,  744,  744,  744,  744,  744,  745,  745,  745,  745,

      745,  745,  745,  745,    0,  745,  745,  746,    0,    0,
        0,  746,  746,  746,  746,  746,  746,  746,  747,    0,
        0,    0,  747,  747,  747,  747,  747,  747,  747,  748,
      748,    0,  748,  748,  749,  749,    0,  749,  749,  750,
      750,    0,  750,  750,  751,    0,  751,  751,  752,  752,
        0,  752,  752,  753,    0,  753,  753,  754,    0,  754,
      754,  755,    0,  755,  755,  756,    0,  756,  756,  757,
      757,  757,  757,  757,  757,  757,  757,  757,  757,  757,
      757,  757,  758,  758,    0,  758,  758,  759,  759,    0,
      759,  759,  759,  759,  759,  759,  759,  759,  759,  759,

      760,  760,  760,    0,    0,    0,  760,    0,    0,    0,
        0,  760,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[137] =
    {   0,
       95,   96,   98,  101,  103,  106,  108,  109,  110,  113,
      115,  116,  117,  129,  136,  143,  149,  158,  166,  174,
      175,  177,  196,  202,  203,  204,  205,  206,  209,  215,
      222,  229,  236,  243,  244,  245,  253,  254,  255,  256,
      257,  262,  263,  264,  265,  266,  267,  268,  269,  270,
      271,  272,  281,  282,  283,  284,  285,  286,  287,  288,
      289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
      299,  300,  301,  302,  303,  304,  305,  306,  307,  308,
      309,  310,  311,  312,  313,  314,  315,  316,  317,  318,
      319,  320,  321,  322,  323,  324,  325,  326,  327,  328,

      329,  330,  331,  332,  333,  334,  335,  336,  337,  338,
      343,  344,  349,  350,  351,  354,  359,  365,  373,  383,
      388,  390,  391,  395,  400,  405,  411,  412,  414,  420,
      433,  436,  461,  505,  507,  518
    } ;

static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
static char *yy_full_match;
static int yy_lp;
#define REJECT \
{ \
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
yy_cp = yy_full_match; /* restore poss. backed-over text */ \
++yy_lp; \
goto find_rule; \
}
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "asn1p_l.l"
#define INITIAL 0
#line 2 "asn1p_l.l"

#include <string.h>
#include <errno.h>
#include <assert.h>

#include "asn1parser.h"
#include "asn1p_y.h"

int asn1p_lex(void);
void asn1p_lexer_hack_push_opaque_state(void);		/* Used in .y */
void asn1p_lexer_hack_enable_with_syntax(void);		/* Used in .y */
void asn1p_lexer_hack_push_encoding_control(void);	/* Used in .y */

#define	YY_FATAL_ERROR(msg)	do {			\
		fprintf(stderr,				\
			"lexer error at line %d, "	\
			"text \"%s\"\n",		\
			yylineno, yytext);		\
		exit(1);				\
	} while(0)

int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;

int asn1p_as_pointer;

static asn1c_integer_t _lex_atoi(const char *ptr);

/*
 * Check that the type is defined in the year of the standard choosen.
 */
#define	TYPE_LIFETIME(fyr, lyr)				\
	(!asn1p_lexer_types_year			\
	|| (fyr && fyr <= asn1p_lexer_types_year)	\
	|| (lyr && lyr  > asn1p_lexer_types_year))

/*
 * Check the the construction (or concept, i.e. CLASS) is defined in
 * a given year.
 */
#define	CONSTRUCT_LIFETIME(fyr, lyr)			\
	(!asn1p_lexer_constructs_year			\
	|| (fyr && fyr <= asn1p_lexer_constructs_year)	\
	|| (lyr && lyr  > asn1p_lexer_constructs_year))

/*
 * Append quoted string.
 */
#define	QAPPEND(text, tlen)	do {				\
		char *prev_text = asn1p_lval.tv_opaque.buf;	\
		int prev_len = asn1p_lval.tv_opaque.len;	\
		char *p;					\
								\
		p = malloc((tlen) + prev_len + 1);		\
		if(p == NULL) return -1;			\
								\
		if(prev_text) memcpy(p, prev_text, prev_len);	\
		memcpy(p + prev_len, text, tlen);		\
		p[prev_len + (tlen)] = '\0';			\
								\
		free(asn1p_lval.tv_opaque.buf);			\
		asn1p_lval.tv_opaque.buf = p;			\
		asn1p_lval.tv_opaque.len = (tlen) + prev_len;	\
	} while(0)

#define YY_NEVER_INTERACTIVE 1
#define YY_NO_INPUT 1
#define YY_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define idash_comment 2

#define cpp_comment 3

#define quoted 4

#define opaque 5

#define encoding_control 6

#define with_syntax 7

/* Newline */
/* White-space */
#line 1891 "asn1p_l.c"

/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif

#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif

#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif

#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif

#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif

#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines.  This will fail
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 * or sizeof(void*) != sizeof(int).
 */
#endif
#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif

/* Copy whatever the last rule matched to the standard output. */

#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
 * we now use fwrite().
 */
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 * is returned in "result".
 */
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
	if ( yy_current_buffer->yy_is_interactive ) \
		{ \
		int c = '*', n; \
		for ( n = 0; n < max_size && \
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( yyin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else \
		{ \
		errno=0; \
		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
			{ \
			if( errno != EINTR) \
				{ \
				YY_FATAL_ERROR( "input in flex scanner failed" ); \
				break; \
				} \
			errno=0; \
			clearerr(yyin); \
			} \
		}
#endif

/* No semi-colon after return; correct usage is to write "yyterminate();" -
 * we don't want an extra ';' after the "return" because that will cause
 * some compilers to complain about unreachable statements.
 */
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif

/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif

/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif

/* Code executed at the beginning of each rule, after yytext and yyleng
 * have been set up.
 */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif

/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif

#define YY_RULE_SETUP \
	YY_USER_ACTION

YY_DECL
	{
	register yy_state_type yy_current_state;
	register char *yy_cp, *yy_bp;
	register int yy_act;

#line 93 "asn1p_l.l"


#line 2056 "asn1p_l.c"

	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! yy_start )
			yy_start = 1;	/* first start state */

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

		if ( ! yy_current_buffer )
			yy_current_buffer =
				yy_create_buffer( yyin, YY_BUF_SIZE );

		yy_load_buffer_state();
		}

	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 735 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			*yy_state_ptr++ = yy_current_state;
			++yy_cp;
			}
		while ( yy_base[yy_current_state] != 4413 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
find_rule: /* we branch to this label when backing up */
		for ( ; ; ) /* until we find what rule we matched */
			{
			if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
				{
				yy_act = yy_acclist[yy_lp];
					{
					yy_full_match = yy_cp;
					break;
					}
				}
			--yy_cp;
			yy_current_state = *--yy_state_ptr;
			yy_lp = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;

		if ( yy_act != YY_END_OF_BUFFER )
			{
			int yyl;
			for ( yyl = 0; yyl < yyleng; ++yyl )
				if ( yytext[yyl] == '\n' )
					++yylineno;
			}

do_action:	/* This label is used only to access EOF actions. */

		if ( yy_flex_debug )
			{
			if ( yy_act == 0 )
				fprintf( stderr, "--scanner backing up\n" );
			else if ( yy_act < 137 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 137 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 138 )
				fprintf( stderr, "--(end of buffer or a NUL)\n" );
			else
				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
			}

		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 95 "asn1p_l.l"
/* Immediately terminated long comment */
	YY_BREAK
case 2:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 96 "asn1p_l.l"
yy_push_state(idash_comment);	/* Incorrect, but acceptable */
	YY_BREAK

case 3:
YY_RULE_SETUP
#line 98 "asn1p_l.l"
yy_pop_state(); /* Acceptable end of comment */
	YY_BREAK

case 4:
YY_RULE_SETUP
#line 101 "asn1p_l.l"
asn1p_as_pointer = 1;
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 103 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 106 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 110 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 10:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 11:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 117 "asn1p_l.l"
/* Eat */
	YY_BREAK

/*
	 * This is state is being set from corresponding .y module when
	 * higher-level data is necessary to make proper parsing of the
	 * underlying data. Thus, we enter the <opaque> state and save
	 * everything for later processing.
	 */

case 14:
YY_RULE_SETUP
#line 129 "asn1p_l.l"
{
			yy_push_state(opaque);
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 15:
YY_RULE_SETUP
#line 136 "asn1p_l.l"
{
			yy_pop_state();
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 16:
YY_RULE_SETUP
#line 143 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 149 "asn1p_l.l"
{
			fprintf(stderr,
				"ASN.1 Parser syncronization failure: "
				"\"%s\" at line %d must not appear "
				"inside value definition\n",
				yytext, yylineno);
			return -1;
		}
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 158 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 19:
YY_RULE_SETUP
#line 166 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = 0;
			asn1p_lval.tv_opaque.len = 0;
			QAPPEND(yytext+1, yyleng-1);
			yy_push_state(quoted);
		}
	YY_BREAK

case 20:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 177 "asn1p_l.l"
{
			yy_pop_state();
			/* Do not append last quote:
			// QAPPEND(yytext, yyleng); */

			if(asn1p_lexer_pedantic_1990
			&& strchr(yytext, '\n')) {
				fprintf(stderr, "%s: "
				"Newlines are prohibited by ASN.1:1990\n",
				asn1p_lval.tv_opaque.buf);
				return -1;
			}

			return TOK_cstring;
		}
	YY_BREAK


case 23:
YY_RULE_SETUP
#line 196 "asn1p_l.l"
{
			const char *s = "ENCODING-CONTROL";
			const char *p = s + sizeof("ENCODING-CONTROL") - 2;
			for(; p >= s; p--) unput(*p);
			yy_pop_state();
		}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 202 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 26:
YY_RULE_SETUP
#line 204 "asn1p_l.l"

	YY_BREAK
case 27:
YY_RULE_SETUP
#line 205 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 206 "asn1p_l.l"

	YY_BREAK

case 29:
YY_RULE_SETUP
#line 209 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 215 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_bstring;
	}
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 222 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 229 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 236 "asn1p_l.l"
{
		asn1p_lval.a_int = _lex_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 244 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 245 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_ANY;	
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				REJECT;
			}
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 253 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 254 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 255 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 257 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 262 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 263 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 264 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_DEFINED;
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				/* Deprecated since */
				REJECT;
			}
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 281 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 282 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 344 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 351 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 359 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 365 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 119:
YY_RULE_SETUP
#line 373 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_capitalreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 120:
YY_RULE_SETUP
#line 383 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 388 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 390 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 391 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 124:
YY_RULE_SETUP
#line 395 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 405 "asn1p_l.l"
{
				yy_push_state(with_syntax);
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 411 "asn1p_l.l"
return '[';
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 412 "asn1p_l.l"
return ']';
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 414 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_whitespace;
			}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 420 "asn1p_l.l"
{
				yy_pop_state();
				if(YYSTATE == with_syntax) {
					asn1p_lval.tv_str = strdup(yytext);
					return TOK_Literal;
				} else {
					return '}';
				}
			}
	YY_BREAK

case 131:
YY_RULE_SETUP
#line 433 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 436 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_atoi(p); break; }
		if(v1 < 0 || v1 > 7) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..7 range for Tuple's TableColumn\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 15) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..15 range for Tuple's TableRow\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 4) + v2;
		return TOK_tuple;
	}
	YY_BREAK
case 133:
YY_RULE_SETUP
#line 461 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = _lex_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = _lex_atoi(p); break; }
		if(v1 < 0 || v1 > 127) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..127 range for Quadruple's Group\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Plane\n",
				yytext, yylineno);
			return -1;
		}
		if(v3 < 0 || v3 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Row\n",
				yytext, yylineno);
			return -1;
		}
		if(v4 < 0 || v4 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Cell\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
		return TOK_quadruple;
	}
	YY_BREAK
case 134:
YY_RULE_SETUP
#line 505 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 135:
YY_RULE_SETUP
#line 507 "asn1p_l.l"
{
		if(TYPE_LIFETIME(1994, 0))
			fprintf(stderr, "ERROR: ");
		fprintf(stderr,
		"Symbol '%c' at line %d is prohibited "
		"by ASN.1:1994 and ASN.1:1997\n",
			yytext[0], yylineno);
		if(TYPE_LIFETIME(1994, 0))
			return -1;
	}
	YY_BREAK
case 136:
YY_RULE_SETUP
#line 518 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		if(0) {
			yy_top_state();	/* Just to use this function. */
			yy_fatal_error("Parse error");
		}
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(idash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 531 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 137:
YY_RULE_SETUP
#line 538 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3116 "asn1p_l.c"

	case YY_END_OF_BUFFER:
		{
		/* Amount of text matched not including the EOB char. */
		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;

		/* Undo the effects of YY_DO_BEFORE_ACTION. */
		*yy_cp = yy_hold_char;
		YY_RESTORE_YY_MORE_OFFSET

		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
			{
			/* We're scanning a new file or input source.  It's
			 * possible that this happened because the user
			 * just pointed yyin at a new source and called
			 * yylex().  If so, then we have to assure
			 * consistency between yy_current_buffer and our
			 * globals.  Here is the right place to do so, because
			 * this is the first action (other than possibly a
			 * back-up) that will match for the new input source.
			 */
			yy_n_chars = yy_current_buffer->yy_n_chars;
			yy_current_buffer->yy_input_file = yyin;
			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
			}

		/* Note that here we test for yy_c_buf_p "<=" to the position
		 * of the first EOB in the buffer, since yy_c_buf_p will
		 * already have been incremented past the NUL character
		 * (since all states make transitions on EOB to the
		 * end-of-buffer state).  Contrast this with the test
		 * in input().
		 */
		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			{ /* This was really a NUL. */
			yy_state_type yy_next_state;

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

			/* Okay, we're now positioned to make the NUL
			 * transition.  We couldn't have
			 * yy_get_previous_state() go ahead and do it
			 * for us because it doesn't know how to deal
			 * with the possibility of jamming (and we don't
			 * want to build jamming into it because then it
			 * will run more slowly).
			 */

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

			if ( yy_next_state )
				{
				/* Consume the NUL. */
				yy_cp = ++yy_c_buf_p;
				yy_current_state = yy_next_state;
				goto yy_match;
				}

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

		else switch ( yy_get_next_buffer() )
			{
			case EOB_ACT_END_OF_FILE:
				{
				yy_did_buffer_switch_on_eof = 0;

				if ( yywrap() )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * yytext, we can now set up
					 * yy_c_buf_p so that if some total
					 * hoser (like flex itself) wants to
					 * call the scanner after we return the
					 * YY_NULL, it'll still work - another
					 * YY_NULL will get returned.
					 */
					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

				else
					{
					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
					}
				break;
				}

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_match;

			case EOB_ACT_LAST_MATCH:
				yy_c_buf_p =
				&yy_current_buffer->yy_ch_buf[yy_n_chars];

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_find_action;
			}
		break;
		}

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */


/* yy_get_next_buffer - try to read in a new buffer
 *
 * Returns a code representing an action:
 *	EOB_ACT_LAST_MATCH -
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 *	EOB_ACT_END_OF_FILE - end of file
 */

static int yy_get_next_buffer()
	{
	register char *dest = yy_current_buffer->yy_ch_buf;
	register char *source = yytext_ptr;
	register int number_to_move, i;
	int ret_val;

	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( yy_current_buffer->yy_fill_buffer == 0 )
		{ /* Don't try to fill the buffer, so this is an EOF. */
		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
			{
			/* We matched a single character, the EOB, so
			 * treat this as a final EOF.
			 */
			return EOB_ACT_END_OF_FILE;
			}

		else
			{
			/* We matched some text prior to the EOB, first
			 * process it.
			 */
			return EOB_ACT_LAST_MATCH;
			}
		}

	/* Try to read more data. */

	/* First move last chars to start of buffer. */
	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
		/* don't do the read, it's not guaranteed to return an EOF,
		 * just force an EOF
		 */
		yy_current_buffer->yy_n_chars = yy_n_chars = 0;

	else
		{
		int num_to_read =
			yy_current_buffer->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
			YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = yy_current_buffer;

			int yy_c_buf_p_offset =
				(int) (yy_c_buf_p - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				int new_size = b->yy_buf_size * 2;

				if ( new_size <= 0 )
					b->yy_buf_size += b->yy_buf_size / 8;
				else
					b->yy_buf_size *= 2;

				b->yy_ch_buf = (char *)
					/* Include room in for 2 EOB chars. */
					yy_flex_realloc( (void *) b->yy_ch_buf,
							 b->yy_buf_size + 2 );
				}
			else
				/* Can't grow it, we don't own it. */
				b->yy_ch_buf = 0;

			if ( ! b->yy_ch_buf )
				YY_FATAL_ERROR(
				"fatal error - scanner input buffer overflow" );

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

			num_to_read = yy_current_buffer->yy_buf_size -
						number_to_move - 1;
#endif
			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
			yy_n_chars, num_to_read );

		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	if ( yy_n_chars == 0 )
		{
		if ( number_to_move == YY_MORE_ADJ )
			{
			ret_val = EOB_ACT_END_OF_FILE;
			yyrestart( yyin );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			yy_current_buffer->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	yy_n_chars += number_to_move;
	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


/* yy_get_previous_state - get the state just before the EOB char was reached */

static yy_state_type yy_get_previous_state()
	{
	register yy_state_type yy_current_state;
	register char *yy_cp;

	yy_current_state = yy_start;
	yy_state_ptr = yy_state_buf;
	*yy_state_ptr++ = yy_current_state;

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 735 )
				yy_c = yy_meta[(unsigned int) yy_c];
			}
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
		*yy_state_ptr++ = yy_current_state;
		}

	return yy_current_state;
	}


/* yy_try_NUL_trans - try to make a transition on the NUL character
 *
 * synopsis
 *	next_state = yy_try_NUL_trans( current_state );
 */

#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
	{
	register int yy_is_jam;

	register YY_CHAR yy_c = 1;
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
		{
		yy_current_state = (int) yy_def[yy_current_state];
		if ( yy_current_state >= 735 )
			yy_c = yy_meta[(unsigned int) yy_c];
		}
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
	yy_is_jam = (yy_current_state == 734);
	if ( ! yy_is_jam )
		*yy_state_ptr++ = yy_current_state;

	return yy_is_jam ? 0 : yy_current_state;
	}


#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
	{
	register char *yy_cp = yy_c_buf_p;

	/* undo effects of setting up yytext */
	*yy_cp = yy_hold_char;

	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		register int number_to_move = yy_n_chars + 2;
		register char *dest = &yy_current_buffer->yy_ch_buf[
					yy_current_buffer->yy_buf_size + 2];
		register char *source =
				&yy_current_buffer->yy_ch_buf[number_to_move];

		while ( source > yy_current_buffer->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		yy_current_buffer->yy_n_chars =
			yy_n_chars = yy_current_buffer->yy_buf_size;

		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;

	if ( c == '\n' )
		--yylineno;

	yytext_ptr = yy_bp;
	yy_hold_char = *yy_cp;
	yy_c_buf_p = yy_cp;
	}
#endif	/* ifndef YY_NO_UNPUT */


#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
	{
	int c;

	*yy_c_buf_p = yy_hold_char;

	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			/* This was really a NUL. */
			*yy_c_buf_p = '\0';

		else
			{ /* need more input */
			int offset = yy_c_buf_p - yytext_ptr;
			++yy_c_buf_p;

			switch ( yy_get_next_buffer() )
				{
				case EOB_ACT_LAST_MATCH:
					/* This happens because yy_g_n_b()
					 * sees that we've accumulated a
					 * token and flags that we need to
					 * try matching the token before
					 * proceeding.  But for input(),
					 * there's no matching to consider.
					 * So convert the EOB_ACT_LAST_MATCH
					 * to EOB_ACT_END_OF_FILE.
					 */

					/* Reset buffer status. */
					yyrestart( yyin );

					/* fall through */

				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap() )
						return EOF;

					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					yy_c_buf_p = yytext_ptr + offset;
					break;
				}
			}
		}

	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
	*yy_c_buf_p = '\0';	/* preserve yytext */
	yy_hold_char = *++yy_c_buf_p;

	if ( c == '\n' )
		++yylineno;

	return c;
	}


#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
	{
	if ( ! yy_current_buffer )
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );

	yy_init_buffer( yy_current_buffer, input_file );
	yy_load_buffer_state();
	}


#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
	{
	if ( yy_current_buffer == new_buffer )
		return;

	if ( yy_current_buffer )
		{
		/* Flush out information for old buffer. */
		*yy_c_buf_p = yy_hold_char;
		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	yy_current_buffer = new_buffer;
	yy_load_buffer_state();

	/* We don't actually know whether we did this switch during
	 * EOF (yywrap()) processing, but the only time this flag
	 * is looked at is after yywrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	yy_did_buffer_switch_on_eof = 1;
	}


#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
	{
	yy_n_chars = yy_current_buffer->yy_n_chars;
	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
	yyin = yy_current_buffer->yy_input_file;
	yy_hold_char = *yy_c_buf_p;
	}


#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
	{
	YY_BUFFER_STATE b;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_buf_size = size;

	/* yy_ch_buf has to be 2 characters longer than the size given because
	 * we need to put in 2 end-of-buffer characters.
	 */
	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_is_our_buffer = 1;

	yy_init_buffer( b, file );

	return b;
	}


#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
	{
	if ( ! b )
		return;

	if ( b == yy_current_buffer )
		yy_current_buffer = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		yy_flex_free( (void *) b->yy_ch_buf );

	yy_flex_free( (void *) b );
	}


#ifndef _WIN32
#include <unistd.h>
#else
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif
#endif

#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif


	{
	yy_flush_buffer( b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

#if YY_ALWAYS_INTERACTIVE
	b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
	b->yy_is_interactive = 0;
#else
	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
	}


#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif

	{
	if ( ! b )
		return;

	b->yy_n_chars = 0;

	/* We always need two end-of-buffer characters.  The first causes
	 * a transition to the end-of-buffer state.  The second causes
	 * a jam in that state.
	 */
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;

	b->yy_buf_pos = &b->yy_ch_buf[0];

	b->yy_at_bol = 1;
	b->yy_buffer_status = YY_BUFFER_NEW;

	if ( b == yy_current_buffer )
		yy_load_buffer_state();
	}


#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
	{
	YY_BUFFER_STATE b;

	if ( size < 2 ||
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
		/* They forgot to leave room for the EOB's. */
		return 0;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );

	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
	b->yy_buf_pos = b->yy_ch_buf = base;
	b->yy_is_our_buffer = 0;
	b->yy_input_file = 0;
	b->yy_n_chars = b->yy_buf_size;
	b->yy_is_interactive = 0;
	b->yy_at_bol = 1;
	b->yy_fill_buffer = 0;
	b->yy_buffer_status = YY_BUFFER_NEW;

	yy_switch_to_buffer( b );

	return b;
	}
#endif


#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
	{
	int len;
	for ( len = 0; yy_str[len]; ++len )
		;

	return yy_scan_bytes( yy_str, len );
	}
#endif


#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
	{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	int i;

	/* Get memory for full buffer, including space for trailing EOB's. */
	n = len + 2;
	buf = (char *) yy_flex_alloc( n );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );

	for ( i = 0; i < len; ++i )
		buf[i] = bytes[i];

	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;

	b = yy_scan_buffer( buf, n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );

	/* It's okay to grow etc. this buffer, and we should throw it
	 * away when we're done.
	 */
	b->yy_is_our_buffer = 1;

	return b;
	}
#endif


#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
	{
	if ( yy_start_stack_ptr >= yy_start_stack_depth )
		{
		yy_size_t new_size;

		yy_start_stack_depth += YY_START_STACK_INCR;
		new_size = yy_start_stack_depth * sizeof( int );

		if ( ! yy_start_stack )
			yy_start_stack = (int *) yy_flex_alloc( new_size );

		else
			yy_start_stack = (int *) yy_flex_realloc(
					(void *) yy_start_stack, new_size );

		if ( ! yy_start_stack )
			YY_FATAL_ERROR(
			"out of memory expanding start-condition stack" );
		}

	yy_start_stack[yy_start_stack_ptr++] = YY_START;

	BEGIN(new_state);
	}
#endif


#ifndef YY_NO_POP_STATE
static void yy_pop_state()
	{
	if ( --yy_start_stack_ptr < 0 )
		YY_FATAL_ERROR( "start-condition stack underflow" );

	BEGIN(yy_start_stack[yy_start_stack_ptr]);
	}
#endif


#ifndef YY_NO_TOP_STATE
static int yy_top_state()
	{
	return yy_start_stack[yy_start_stack_ptr - 1];
	}
#endif

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
	{
	(void) fprintf( stderr, "%s\n", msg );
	exit( YY_EXIT_FAILURE );
	}



/* Redefine yyless() so it works in section 3 code. */

#undef yyless
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		yytext[yyleng] = yy_hold_char; \
		yy_c_buf_p = yytext + n; \
		yy_hold_char = *yy_c_buf_p; \
		*yy_c_buf_p = '\0'; \
		yyleng = n; \
		} \
	while ( 0 )


/* Internal utility routines. */

#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
	{
	register int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
	}
#endif

#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
	{
	register int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
	}
#endif


#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
	{
	return (void *) malloc( size );
	}

#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
	{
	/* The cast to (char *) in the following accommodates both
	 * implementations that use char* generic pointers, and those
	 * that use void* generic pointers.  It works with the latter
	 * because both ANSI C and C++ allow castless assignment from
	 * any pointer type to void*, and deal with argument conversions
	 * as though doing an assignment.
	 */
	return (void *) realloc( (char *) ptr, size );
	}

#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
	{
	free( ptr );
	}

#if YY_MAIN
int main()
	{
	yylex();
	return 0;
	}
#endif
#line 538 "asn1p_l.l"


/*
 * Very dirty but wonderful hack allowing to rule states from within .y file.
 */
void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }

/*
 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
 */
void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }

/* Yet another */
void asn1p_lexer_hack_push_encoding_control() {
	yy_push_state(encoding_control);
}

static asn1c_integer_t
_lex_atoi(const char *ptr) {
	asn1c_integer_t value;
	if(asn1p_atoi(ptr, &value)) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;
	}
	return value;
}
