ENUMERATION can not be empty
diff --git a/libasn1fix/asn1fix_bitstring.c b/libasn1fix/asn1fix_bitstring.c
index d67ca01..3e196f6 100644
--- a/libasn1fix/asn1fix_bitstring.c
+++ b/libasn1fix/asn1fix_bitstring.c
@@ -174,21 +174,22 @@
assert(value->type == ATV_UNPARSED);
- psize = value->value.string.size + 64;
+ psize = value->value.string.size + sizeof("M DEFINITIONS ::= BEGIN V ::= BIT STRING END") + 32;
p = malloc(psize);
if(p == NULL)
return -1;
ret = snprintf(p, psize,
"M DEFINITIONS ::=\nBEGIN\n"
- "V ::= INTEGER %s\n"
+ "V ::= #BIT STRING %s\n"
"END\n",
value->value.string.buf
);
assert(ret < psize);
psize = ret;
- asn = asn1p_parse_buffer(p, psize, A1P_NOFLAGS);
+ asn = asn1p_parse_buffer(p, psize, arg->expr->module->source_file_name,
+ arg->expr->_lineno, A1P_EXTENDED_VALUES);
free(p);
if(asn == NULL) {
FATAL("Cannot parse BIT STRING value %s "
@@ -205,7 +206,6 @@
V = TQ_FIRST(&(mod->members));
assert(V);
assert(strcmp(V->Identifier, "V") == 0);
- assert(TQ_FIRST(&(V->members)));
/*
* Simple loop just to fetch the maximal bit position
@@ -250,6 +250,7 @@
bit->Identifier, bit->_lineno);
RET2RVAL(1, r_value);
}
+ fprintf(stderr, "Referencing bit %s\n", bit->Identifier);
bitdef = asn1f_lookup_child(ttype, bit->Identifier);
if(bitdef == NULL) {
FATAL("Identifier \"%s\" at line %d is not defined "
diff --git a/libasn1fix/asn1fix_cws.c b/libasn1fix/asn1fix_cws.c
index 1106e55..035ccf7 100644
--- a/libasn1fix/asn1fix_cws.c
+++ b/libasn1fix/asn1fix_cws.c
@@ -443,7 +443,8 @@
assert(ret < psize);
psize = ret;
- asn = asn1p_parse_buffer(pp, psize, A1P_NOFLAGS);
+ asn = asn1p_parse_buffer(pp, psize,
+ arg->expr->module->source_file_name, arg->expr->_lineno, A1P_NOFLAGS);
free(pp);
if(asn == NULL) {
FATAL("Cannot parse Setting token %s "
diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c
index 7e433a7..0e638df 100644
--- a/libasn1parser/asn1p_l.c
+++ b/libasn1parser/asn1p_l.c
@@ -478,8 +478,8 @@
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 141
-#define YY_END_OF_BUFFER 142
+#define YY_NUM_RULES 142
+#define YY_END_OF_BUFFER 143
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -487,234 +487,237 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_acclist[1275] =
+static yyconst flex_int16_t yy_acclist[1290] =
{ 0,
- 142, 140, 141, 133, 140, 141, 133, 141, 138, 140,
- 141, 20, 140, 141, 138, 140, 141, 140, 141, 138,
- 140, 141, 140, 141, 140, 141, 138, 140, 141, 140,
- 141, 34, 140, 141, 33, 140, 141, 138, 140, 141,
- 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
- 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
- 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
- 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
- 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
- 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
+ 143, 141, 142, 134, 141, 142, 134, 142, 139, 141,
+ 142, 21, 141, 142, 139, 141, 142, 141, 142, 139,
+ 141, 142, 141, 142, 141, 142, 139, 141, 142, 141,
+ 142, 35, 141, 142, 34, 141, 142, 139, 141, 142,
+ 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
+ 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
+ 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
+ 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
+ 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
+ 122, 123, 141, 142, 122, 123, 141, 142, 122, 123,
- 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
- 121, 122, 140, 141, 121, 122, 140, 141, 138, 140,
- 141, 138, 140, 141, 120, 140, 141, 138, 140, 141,
- 140, 141, 10, 140, 141, 7, 141, 7, 140, 141,
- 9, 140, 141, 9, 140, 141, 12, 14, 140, 141,
- 12, 141, 14, 140, 141, 14, 140, 141, 14, 140,
- 141, 22, 140, 141, 22, 141, 23, 140, 141, 17,
- 140, 141, 17, 141, 19, 140, 141, 19, 140, 141,
- 15, 140, 141, 16, 140, 141, 26, 28, 140, 141,
- 28, 140, 141, 29, 141, 26, 27, 28, 140, 141,
+ 141, 142, 122, 123, 141, 142, 122, 123, 141, 142,
+ 122, 123, 141, 142, 122, 123, 141, 142, 139, 141,
+ 142, 139, 141, 142, 121, 141, 142, 139, 141, 142,
+ 141, 142, 11, 141, 142, 8, 142, 8, 141, 142,
+ 10, 141, 142, 10, 141, 142, 13, 15, 141, 142,
+ 13, 142, 15, 141, 142, 15, 141, 142, 15, 141,
+ 142, 23, 141, 142, 23, 142, 24, 141, 142, 18,
+ 141, 142, 18, 142, 20, 141, 142, 20, 141, 142,
+ 16, 141, 142, 17, 141, 142, 27, 29, 141, 142,
+ 29, 141, 142, 30, 142, 27, 28, 29, 141, 142,
- 26, 27, 28, 140, 141, 131, 140, 141, 131, 141,
- 140, 141, 127, 140, 141, 140, 141, 140, 141, 126,
- 140, 141, 129, 140, 141, 130, 140, 141, 128, 140,
- 141, 132, 140, 141, 133, 20, 20, 118, 119, 6,
- 32, 125, 11, 35, 33, 35, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 45, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 122, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
+ 27, 28, 29, 141, 142, 132, 141, 142, 132, 142,
+ 141, 142, 128, 141, 142, 141, 142, 141, 142, 127,
+ 141, 142, 130, 141, 142, 131, 141, 142, 129, 141,
+ 142, 133, 141, 142, 134, 141, 142, 134, 142, 141,
+ 142, 141, 142, 122, 141, 142, 134, 21, 21, 119,
+ 120, 7, 33, 126, 12, 36, 34, 36, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 46,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
- 121, 122, 121, 122, 121, 122, 122, 121, 122, 121,
- 122, 90, 121, 122, 121, 122, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 122, 121, 122, 121, 122, 122, 122, 121,
- 122, 136, 137, 120, 10, 8, 8, 13, 22, 21,
- 17, 26, 26, 27, 26, 27, 131, 6, 126, 139,
- 118, 119, 32, 35, 124, 35, 123, 121, 122, 122,
- 121, 122, 37, 121, 122, 38, 121, 122, 121, 122,
- 121, 122, 121, 122, 42, 121, 122, 121, 122, 121,
+ 123, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 123, 122,
+ 123, 122, 123, 91, 122, 123, 122, 123, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 123, 122, 123, 122, 123, 123,
+ 123, 122, 123, 137, 138, 121, 11, 9, 9, 14,
+ 23, 22, 18, 27, 27, 28, 27, 28, 132, 7,
+ 127, 122, 140, 119, 120, 33, 36, 125, 36, 124,
+ 122, 123, 123, 122, 123, 38, 122, 123, 39, 122,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 59, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 122, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 82, 121,
- 122, 83, 121, 122, 121, 122, 122, 121, 122, 121,
- 122, 121, 122, 122, 121, 122, 93, 121, 122, 121,
- 122, 121, 122, 121, 122, 122, 121, 122, 121, 122,
- 121, 122, 101, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 122, 121, 122,
+ 123, 122, 123, 122, 123, 122, 123, 43, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 60, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 123, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 83, 122, 123, 84, 122, 123, 122, 123, 123,
+ 122, 123, 122, 123, 122, 123, 123, 122, 123, 94,
+ 122, 123, 122, 123, 122, 123, 122, 123, 123, 122,
+ 123, 122, 123, 122, 123, 102, 122, 123, 122, 123,
- 121, 122, 121, 122, 122, 122, 122, 121, 122, 120,
- 1, 4, 18, 26, 27, 25, 26, 27, 126, 118,
- 119, 31, 30, 3, 2, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 67,
- 121, 122, 122, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 85, 121, 122, 122, 121, 122, 121, 122,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 123, 122, 123, 122, 123, 122, 123, 123, 123, 123,
+ 122, 123, 121, 1, 4, 19, 27, 28, 26, 27,
+ 28, 127, 122, 119, 120, 32, 31, 3, 2, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 68, 122, 123, 123, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
- 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 122, 98, 121, 122, 121, 122, 121, 122, 102,
- 121, 122, 121, 122, 121, 122, 121, 122, 106, 121,
- 122, 108, 121, 122, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 122, 122, 122, 117, 121,
- 122, 4, 26, 27, 121, 122, 121, 122, 121, 122,
- 41, 121, 122, 122, 121, 122, 121, 122, 121, 122,
- 48, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 66,
+ 122, 123, 122, 123, 122, 123, 86, 122, 123, 123,
+ 122, 123, 122, 123, 122, 123, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 123, 99, 122, 123, 122,
+ 123, 122, 123, 103, 122, 123, 122, 123, 122, 123,
+ 122, 123, 107, 122, 123, 109, 122, 123, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 123,
+ 123, 123, 118, 122, 123, 4, 27, 28, 122, 123,
+ 122, 123, 122, 123, 42, 122, 123, 123, 122, 123,
+ 122, 123, 122, 123, 49, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
- 121, 122, 122, 122, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 121, 122, 122, 121, 122, 89, 121,
- 122, 121, 122, 122, 121, 122, 121, 122, 121, 122,
- 122, 121, 122, 121, 122, 121, 122, 121, 122, 122,
- 122, 109, 121, 122, 121, 122, 121, 122, 122, 121,
- 122, 122, 122, 122, 134, 26, 27, 36, 121, 122,
- 121, 122, 121, 122, 122, 121, 122, 121, 122, 47,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 67, 122, 123, 123, 123, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 122, 123, 123,
+ 122, 123, 90, 122, 123, 122, 123, 123, 122, 123,
+ 122, 123, 122, 123, 123, 122, 123, 122, 123, 122,
+ 123, 122, 123, 123, 123, 110, 122, 123, 122, 123,
+ 122, 123, 123, 122, 123, 123, 123, 123, 135, 27,
+ 28, 37, 122, 123, 122, 123, 122, 123, 123, 122,
+ 123, 122, 123, 48, 122, 123, 122, 123, 122, 123,
- 121, 122, 61, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 122, 122, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 122, 87, 121, 122,
- 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 122, 121, 122, 121, 122, 103, 121, 122, 104,
- 121, 122, 122, 122, 110, 121, 122, 121, 122, 122,
- 122, 122, 122, 122, 26, 27, 121, 122, 121, 122,
- 122, 44, 121, 122, 121, 122, 121, 122, 121, 122,
- 121, 122, 53, 121, 122, 54, 121, 122, 121, 122,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 62, 122, 123, 122,
+ 123, 122, 123, 122, 123, 122, 123, 123, 123, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 123, 88, 122, 123, 122, 123, 123, 122, 123, 122,
+ 123, 122, 123, 122, 123, 123, 122, 123, 122, 123,
+ 104, 122, 123, 105, 122, 123, 123, 123, 111, 122,
+ 123, 122, 123, 123, 123, 123, 123, 123, 27, 28,
+ 122, 123, 122, 123, 123, 45, 122, 123, 122, 123,
- 121, 122, 57, 121, 122, 121, 122, 121, 122, 121,
- 122, 63, 121, 122, 121, 122, 121, 122, 122, 122,
- 122, 121, 122, 121, 122, 74, 121, 122, 75, 121,
- 122, 121, 122, 121, 122, 121, 122, 79, 121, 122,
- 121, 122, 121, 122, 121, 122, 122, 121, 122, 122,
- 92, 121, 122, 121, 122, 95, 121, 122, 97, 121,
- 122, 122, 121, 122, 121, 122, 122, 122, 121, 122,
- 113, 122, 122, 122, 122, 122, 26, 27, 121, 122,
- 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
- 122, 121, 122, 56, 121, 122, 121, 122, 121, 122,
+ 122, 123, 122, 123, 122, 123, 54, 122, 123, 55,
+ 122, 123, 122, 123, 122, 123, 58, 122, 123, 122,
+ 123, 122, 123, 122, 123, 64, 122, 123, 122, 123,
+ 122, 123, 123, 123, 123, 122, 123, 122, 123, 75,
+ 122, 123, 76, 122, 123, 122, 123, 122, 123, 122,
+ 123, 80, 122, 123, 122, 123, 122, 123, 122, 123,
+ 123, 122, 123, 123, 93, 122, 123, 122, 123, 96,
+ 122, 123, 98, 122, 123, 123, 122, 123, 122, 123,
+ 123, 123, 122, 123, 114, 123, 123, 123, 123, 123,
+ 27, 28, 122, 123, 122, 123, 123, 122, 123, 122,
- 62, 121, 122, 121, 122, 65, 121, 122, 122, 122,
- 122, 122, 121, 122, 73, 121, 122, 76, 121, 122,
- 77, 121, 122, 121, 122, 121, 122, 122, 121, 122,
- 122, 91, 121, 122, 122, 121, 122, 122, 121, 122,
- 100, 121, 122, 122, 122, 121, 122, 122, 122, 122,
- 122, 26, 27, 121, 122, 40, 121, 122, 43, 122,
- 46, 121, 122, 49, 121, 122, 121, 122, 121, 122,
- 121, 122, 121, 122, 121, 122, 122, 122, 122, 71,
- 122, 121, 122, 121, 122, 121, 122, 122, 121, 122,
- 122, 122, 121, 122, 122, 105, 122, 122, 111, 121,
+ 123, 122, 123, 122, 123, 122, 123, 57, 122, 123,
+ 122, 123, 122, 123, 63, 122, 123, 122, 123, 66,
+ 122, 123, 123, 123, 123, 123, 122, 123, 74, 122,
+ 123, 77, 122, 123, 78, 122, 123, 122, 123, 122,
+ 123, 123, 122, 123, 123, 92, 122, 123, 123, 122,
+ 123, 123, 122, 123, 101, 122, 123, 123, 123, 122,
+ 123, 123, 123, 123, 123, 27, 28, 122, 123, 41,
+ 122, 123, 44, 123, 47, 122, 123, 50, 122, 123,
+ 122, 123, 122, 123, 122, 123, 122, 123, 122, 123,
+ 123, 123, 123, 72, 123, 122, 123, 122, 123, 122,
- 122, 122, 122, 122, 122, 135, 26, 121, 122, 50,
- 121, 122, 121, 122, 52, 121, 122, 121, 122, 121,
- 122, 60, 121, 122, 121, 122, 122, 122, 122, 72,
- 121, 122, 121, 122, 121, 122, 122, 121, 122, 122,
- 122, 121, 122, 122, 121, 122, 122, 114, 122, 122,
- 122, 122, 26, 39, 121, 122, 51, 121, 122, 55,
- 121, 122, 121, 122, 121, 122, 122, 122, 122, 121,
- 122, 121, 122, 122, 121, 122, 122, 122, 121, 122,
- 122, 121, 122, 122, 122, 122, 122, 26, 121, 122,
- 121, 122, 122, 122, 122, 78, 121, 122, 80, 121,
+ 123, 123, 122, 123, 123, 123, 122, 123, 123, 106,
+ 123, 123, 112, 122, 123, 123, 123, 123, 123, 136,
+ 27, 122, 123, 51, 122, 123, 122, 123, 53, 122,
+ 123, 122, 123, 122, 123, 61, 122, 123, 122, 123,
+ 123, 123, 123, 73, 122, 123, 122, 123, 122, 123,
+ 123, 122, 123, 123, 123, 122, 123, 123, 122, 123,
+ 123, 115, 123, 123, 123, 123, 27, 40, 122, 123,
+ 52, 122, 123, 56, 122, 123, 122, 123, 122, 123,
+ 123, 123, 123, 122, 123, 122, 123, 123, 122, 123,
+ 123, 123, 122, 123, 123, 122, 123, 123, 123, 123,
- 122, 81, 122, 121, 122, 122, 122, 121, 122, 122,
- 99, 121, 122, 122, 122, 122, 122, 26, 121, 122,
- 64, 121, 122, 69, 122, 122, 70, 122, 121, 122,
- 86, 122, 122, 94, 121, 122, 122, 107, 122, 122,
- 122, 116, 122, 26, 121, 122, 122, 84, 121, 122,
- 122, 122, 122, 115, 122, 26, 121, 122, 68, 122,
- 122, 96, 122, 112, 122, 26, 58, 121, 122, 88,
- 122, 24, 26, 5
+ 123, 27, 6, 122, 123, 122, 123, 123, 123, 123,
+ 79, 122, 123, 81, 122, 123, 82, 123, 122, 123,
+ 123, 123, 122, 123, 123, 100, 122, 123, 123, 123,
+ 123, 123, 27, 122, 123, 65, 122, 123, 70, 123,
+ 123, 71, 123, 122, 123, 87, 123, 123, 95, 122,
+ 123, 123, 108, 123, 123, 123, 117, 123, 27, 122,
+ 123, 123, 85, 122, 123, 123, 123, 123, 116, 123,
+ 27, 122, 123, 69, 123, 123, 97, 123, 113, 123,
+ 27, 59, 122, 123, 89, 123, 25, 27, 5
} ;
-static yyconst flex_int16_t yy_accept[750] =
+static yyconst flex_int16_t yy_accept[770] =
{ 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, 27, 30, 32,
- 35, 38, 41, 43, 47, 51, 55, 59, 63, 67,
- 71, 75, 79, 83, 87, 91, 95, 99, 103, 107,
- 111, 115, 119, 122, 125, 128, 131, 133, 136, 138,
- 141, 144, 147, 151, 153, 156, 159, 162, 165, 167,
- 170, 173, 175, 178, 181, 184, 187, 191, 194, 196,
- 201, 206, 209, 211, 213, 216, 218, 220, 223, 226,
- 229, 232, 235, 235, 236, 237, 238, 238, 239, 239,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 4, 7, 9, 12, 15, 18, 20, 23, 25, 27,
+ 30, 32, 35, 38, 41, 43, 47, 51, 55, 59,
+ 63, 67, 71, 75, 79, 83, 87, 91, 95, 99,
+ 103, 107, 111, 115, 119, 122, 125, 128, 131, 133,
+ 136, 138, 141, 144, 147, 151, 153, 156, 159, 162,
+ 165, 167, 170, 173, 175, 178, 181, 184, 187, 191,
+ 194, 196, 201, 206, 209, 211, 213, 216, 218, 220,
+ 223, 226, 229, 232, 235, 238, 240, 242, 244, 247,
- 240, 240, 240, 240, 241, 242, 243, 244, 244, 245,
- 245, 247, 247, 247, 249, 251, 253, 255, 257, 259,
- 260, 262, 264, 266, 268, 271, 273, 275, 277, 279,
- 281, 283, 285, 287, 289, 290, 291, 293, 295, 297,
- 299, 301, 303, 305, 307, 308, 310, 312, 315, 317,
- 318, 320, 322, 324, 326, 327, 329, 331, 333, 335,
- 337, 339, 341, 343, 344, 346, 348, 349, 350, 352,
- 353, 354, 354, 355, 355, 355, 355, 355, 356, 357,
- 358, 359, 360, 361, 362, 362, 363, 365, 367, 368,
- 369, 369, 370, 371, 371, 371, 372, 372, 373, 373,
+ 247, 248, 249, 250, 250, 251, 251, 252, 252, 252,
+ 252, 253, 254, 255, 256, 256, 257, 257, 259, 259,
+ 259, 261, 263, 265, 267, 269, 271, 272, 274, 276,
+ 278, 280, 283, 285, 287, 289, 291, 293, 295, 297,
+ 299, 301, 302, 303, 305, 307, 309, 311, 313, 315,
+ 317, 319, 320, 322, 324, 327, 329, 330, 332, 334,
+ 336, 338, 339, 341, 343, 345, 347, 349, 351, 353,
+ 355, 356, 358, 360, 361, 362, 364, 365, 366, 366,
+ 367, 367, 367, 367, 367, 368, 369, 370, 371, 372,
+ 373, 374, 374, 375, 377, 379, 380, 381, 381, 382,
- 373, 373, 373, 375, 376, 377, 377, 378, 380, 381,
- 383, 386, 389, 391, 393, 393, 395, 398, 400, 402,
- 404, 406, 408, 410, 412, 414, 416, 418, 421, 423,
- 425, 427, 429, 431, 433, 434, 435, 437, 439, 441,
- 443, 445, 447, 449, 452, 455, 457, 458, 460, 462,
- 464, 465, 467, 470, 472, 474, 476, 477, 479, 481,
- 483, 486, 488, 490, 492, 494, 496, 498, 499, 501,
- 503, 505, 506, 507, 508, 510, 511, 511, 511, 512,
- 513, 514, 516, 519, 520, 520, 521, 522, 523, 524,
- 525, 526, 526, 526, 526, 528, 530, 532, 534, 536,
+ 382, 382, 383, 384, 384, 384, 385, 385, 386, 386,
+ 386, 386, 386, 388, 389, 390, 390, 391, 393, 394,
+ 396, 399, 402, 404, 406, 406, 408, 411, 413, 415,
+ 417, 419, 421, 423, 425, 427, 429, 431, 434, 436,
+ 438, 440, 442, 444, 446, 447, 448, 450, 452, 454,
+ 456, 458, 460, 462, 465, 468, 470, 471, 473, 475,
+ 477, 478, 480, 483, 485, 487, 489, 490, 492, 494,
+ 496, 499, 501, 503, 505, 507, 509, 511, 512, 514,
+ 516, 518, 519, 520, 521, 523, 524, 524, 524, 525,
+ 526, 527, 529, 532, 533, 533, 534, 534, 535, 536,
- 538, 540, 542, 544, 546, 548, 550, 552, 554, 556,
- 558, 560, 562, 564, 566, 568, 570, 573, 574, 575,
- 577, 579, 581, 583, 585, 587, 589, 591, 593, 596,
- 597, 599, 601, 603, 604, 606, 608, 610, 612, 613,
- 616, 618, 620, 623, 625, 627, 629, 632, 635, 636,
- 638, 640, 642, 644, 646, 647, 648, 649, 652, 652,
- 652, 652, 652, 653, 655, 655, 657, 659, 661, 664,
- 665, 667, 669, 671, 674, 676, 678, 680, 682, 684,
- 686, 688, 690, 692, 694, 696, 698, 700, 703, 704,
- 705, 706, 708, 710, 712, 714, 716, 718, 720, 722,
+ 537, 538, 539, 540, 540, 540, 540, 542, 544, 546,
+ 548, 550, 552, 554, 556, 558, 560, 562, 564, 566,
+ 568, 570, 572, 574, 576, 578, 580, 582, 584, 587,
+ 588, 589, 591, 593, 595, 597, 599, 601, 603, 605,
+ 607, 610, 611, 613, 615, 617, 618, 620, 622, 624,
+ 626, 627, 630, 632, 634, 637, 639, 641, 643, 646,
+ 649, 650, 652, 654, 656, 658, 660, 661, 662, 663,
+ 666, 666, 666, 666, 666, 667, 669, 669, 669, 671,
+ 673, 675, 678, 679, 681, 683, 685, 688, 690, 692,
+ 694, 696, 698, 700, 702, 704, 706, 708, 710, 712,
- 724, 726, 727, 729, 732, 734, 735, 737, 737, 739,
- 741, 742, 744, 746, 748, 750, 751, 752, 755, 757,
- 759, 760, 762, 763, 764, 765, 765, 765, 766, 768,
- 768, 771, 773, 775, 776, 778, 780, 783, 785, 787,
- 789, 791, 793, 795, 797, 799, 801, 803, 806, 808,
- 810, 812, 814, 815, 816, 817, 819, 821, 823, 825,
- 827, 829, 831, 833, 835, 837, 837, 838, 841, 843,
- 844, 846, 848, 850, 852, 853, 855, 857, 860, 863,
- 864, 865, 868, 870, 871, 872, 873, 874, 875, 875,
- 875, 877, 877, 879, 881, 882, 885, 887, 889, 891,
+ 714, 717, 718, 719, 720, 722, 724, 726, 728, 730,
+ 732, 734, 736, 738, 740, 741, 743, 746, 748, 749,
+ 751, 751, 753, 755, 756, 758, 760, 762, 764, 765,
+ 766, 769, 771, 773, 774, 776, 777, 778, 779, 779,
+ 779, 780, 782, 782, 782, 785, 787, 789, 790, 792,
+ 794, 797, 799, 801, 803, 805, 807, 809, 811, 813,
+ 815, 817, 820, 822, 824, 826, 828, 829, 830, 831,
+ 833, 835, 837, 839, 841, 843, 845, 847, 849, 851,
+ 851, 852, 855, 857, 858, 860, 862, 864, 866, 867,
+ 869, 871, 874, 877, 878, 879, 882, 884, 885, 886,
- 893, 896, 899, 901, 903, 906, 908, 910, 912, 915,
- 917, 919, 920, 921, 922, 924, 926, 929, 932, 934,
- 936, 938, 941, 943, 945, 947, 948, 950, 951, 954,
- 956, 959, 962, 963, 965, 967, 968, 969, 971, 973,
- 974, 975, 976, 977, 977, 979, 979, 981, 983, 984,
- 986, 988, 990, 992, 994, 997, 999, 1001, 1004, 1006,
- 1009, 1010, 1011, 1012, 1013, 1015, 1018, 1021, 1024, 1026,
- 1028, 1029, 1031, 1032, 1035, 1036, 1038, 1039, 1041, 1044,
- 1045, 1046, 1048, 1049, 1050, 1051, 1052, 1052, 1052, 1054,
- 1054, 1056, 1059, 1061, 1064, 1067, 1069, 1071, 1073, 1073,
+ 887, 888, 889, 889, 889, 891, 891, 891, 893, 895,
+ 896, 899, 901, 903, 905, 907, 910, 913, 915, 917,
+ 920, 922, 924, 926, 929, 931, 933, 934, 935, 936,
+ 938, 940, 943, 946, 948, 950, 952, 955, 957, 959,
+ 961, 962, 964, 965, 968, 970, 973, 976, 977, 979,
+ 981, 982, 983, 985, 987, 988, 989, 990, 991, 991,
+ 993, 993, 993, 995, 997, 998, 1000, 1002, 1004, 1006,
+ 1008, 1011, 1013, 1015, 1018, 1020, 1023, 1024, 1025, 1026,
+ 1027, 1029, 1032, 1035, 1038, 1040, 1042, 1043, 1045, 1046,
+ 1049, 1050, 1052, 1053, 1055, 1058, 1059, 1060, 1062, 1063,
- 1075, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1089,
- 1091, 1092, 1093, 1095, 1096, 1096, 1098, 1099, 1102, 1103,
- 1104, 1105, 1106, 1106, 1107, 1108, 1108, 1110, 1113, 1115,
- 1118, 1120, 1122, 1125, 1127, 1128, 1129, 1130, 1133, 1135,
- 1137, 1138, 1140, 1141, 1142, 1144, 1145, 1147, 1148, 1150,
- 1151, 1152, 1153, 1154, 1154, 1157, 1160, 1163, 1165, 1167,
- 1168, 1169, 1170, 1172, 1174, 1175, 1177, 1178, 1179, 1181,
- 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1189, 1191, 1193,
- 1194, 1195, 1196, 1199, 1202, 1204, 1206, 1207, 1208, 1210,
- 1211, 1214, 1215, 1216, 1217, 1218, 1219, 1219, 1221, 1224,
+ 1064, 1065, 1066, 1066, 1066, 1068, 1068, 1068, 1070, 1073,
+ 1075, 1078, 1081, 1083, 1085, 1087, 1087, 1089, 1091, 1092,
+ 1093, 1094, 1096, 1098, 1100, 1102, 1103, 1105, 1106, 1107,
+ 1109, 1110, 1110, 1112, 1113, 1116, 1117, 1118, 1119, 1120,
+ 1120, 1121, 1122, 1122, 1122, 1124, 1127, 1129, 1132, 1134,
+ 1136, 1139, 1141, 1142, 1143, 1144, 1147, 1149, 1151, 1152,
+ 1154, 1155, 1156, 1158, 1159, 1161, 1162, 1164, 1165, 1166,
+ 1167, 1168, 1168, 1168, 1171, 1174, 1177, 1179, 1181, 1182,
+ 1183, 1184, 1186, 1188, 1189, 1191, 1192, 1193, 1195, 1196,
+ 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1204, 1206, 1208,
- 1226, 1227, 1229, 1231, 1233, 1234, 1237, 1238, 1240, 1241,
- 1242, 1244, 1245, 1245, 1247, 1248, 1251, 1252, 1253, 1254,
- 1256, 1257, 1257, 1259, 1261, 1262, 1264, 1266, 1267, 1267,
- 1270, 1272, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
- 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1275, 1275
+ 1209, 1210, 1211, 1214, 1217, 1219, 1221, 1222, 1223, 1225,
+ 1226, 1229, 1230, 1231, 1232, 1233, 1234, 1234, 1236, 1239,
+ 1241, 1242, 1244, 1246, 1248, 1249, 1252, 1253, 1255, 1256,
+ 1257, 1259, 1260, 1260, 1262, 1263, 1266, 1267, 1268, 1269,
+ 1271, 1272, 1272, 1274, 1276, 1277, 1279, 1281, 1282, 1282,
+ 1285, 1287, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
+ 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1290, 1290
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -722,738 +725,755 @@
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, 12, 13, 14, 15, 16, 17, 18, 19,
- 19, 20, 21, 22, 19, 23, 24, 25, 26, 27,
- 28, 29, 1, 10, 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,
- 56, 1, 57, 58, 1, 1, 59, 60, 61, 62,
+ 1, 6, 7, 8, 9, 1, 1, 10, 11, 12,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 21, 22, 23, 24, 21, 25, 26, 27, 28, 29,
+ 30, 31, 1, 12, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 1, 59, 60, 1, 1, 61, 62, 63, 64,
- 63, 64, 65, 66, 67, 68, 64, 69, 70, 71,
- 72, 73, 64, 74, 75, 76, 77, 78, 64, 79,
- 64, 80, 81, 82, 83, 1, 1, 1, 1, 1,
+ 65, 66, 67, 68, 69, 70, 66, 71, 72, 73,
+ 74, 75, 66, 76, 77, 78, 79, 80, 66, 81,
+ 66, 82, 83, 84, 85, 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, 84, 1, 1, 1,
- 85, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 86, 1, 1, 1,
+ 87, 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, 86, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 88, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[87] =
+static yyconst flex_int32_t yy_meta[89] =
{ 0,
- 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
- 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,
+ 1, 2, 3, 4, 4, 2, 1, 5, 1, 1,
+ 6, 1, 1, 1, 1, 7, 1, 1, 8, 8,
+ 8, 8, 8, 8, 8, 8, 9, 1, 1, 9,
+ 1, 8, 8, 8, 8, 8, 8, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 1, 1, 1,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 12, 1, 13, 1, 1, 1
+ 11, 11, 12, 1, 12, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[775] =
+static yyconst flex_int16_t yy_base[796] =
{ 0,
- 0, 0, 84, 87, 90, 102, 97, 99, 96, 111,
- 94, 106, 189, 275, 361, 0, 1663, 1648, 133, 141,
- 1646, 1640, 439, 149, 4544, 161, 210, 1632, 112, 233,
- 505, 1621, 4544, 555, 274, 118, 280, 295, 500, 605,
- 194, 611, 521, 218, 503, 633, 418, 650, 667, 670,
- 690, 701, 1584, 103, 1622, 745, 87, 0, 4544, 4544,
- 1620, 1618, 4544, 4544, 1614, 1618, 4544, 0, 0, 1616,
- 0, 0, 1596, 4544, 4544, 4544, 0, 4544, 4544, 769,
- 855, 125, 204, 130, 4544, 1605, 1605, 1599, 4544, 4544,
- 4544, 4544, 1605, 208, 0, 1598, 1595, 1586, 99, 1585,
+ 0, 0, 86, 89, 92, 95, 100, 101, 98, 104,
+ 106, 107, 192, 280, 368, 0, 455, 0, 1756, 1741,
+ 120, 136, 1737, 1735, 530, 146, 4634, 148, 213, 1728,
+ 104, 236, 596, 1712, 4634, 646, 279, 303, 285, 482,
+ 111, 581, 197, 434, 499, 221, 597, 697, 500, 705,
+ 727, 735, 608, 748, 1679, 105, 1715, 799, 177, 0,
+ 4634, 4634, 1713, 1712, 4634, 4634, 1704, 1705, 4634, 0,
+ 0, 1708, 0, 0, 1687, 4634, 4634, 4634, 0, 4634,
+ 4634, 825, 913, 173, 178, 292, 4634, 1696, 1698, 1689,
+ 4634, 4634, 4634, 4634, 209, 354, 1670, 1674, 1682, 1687,
- 668, 1586, 784, 106, 814, 1578, 4544, 868, 886, 904,
- 933, 1563, 938, 693, 769, 799, 927, 928, 943, 1575,
- 944, 988, 989, 1004, 1010, 1026, 1032, 1043, 1056, 1059,
- 1079, 1076, 1087, 1100, 103, 127, 1115, 1118, 1126, 1141,
- 1152, 1163, 1169, 1180, 150, 1193, 1196, 1209, 1217, 97,
- 1220, 1233, 1244, 1257, 155, 1273, 1279, 1290, 1296, 1307,
- 1318, 1324, 1335, 224, 1341, 1357, 159, 280, 1356, 4544,
- 4544, 0, 1572, 769, 1391, 1403, 1492, 0, 4544, 1559,
- 4544, 0, 4544, 0, 1541, 0, 1524, 311, 238, 4544,
- 0, 1552, 4544, 1551, 0, 1548, 0, 1539, 227, 1515,
+ 514, 0, 1686, 1680, 1667, 93, 1666, 855, 1668, 869,
+ 116, 928, 1660, 4634, 955, 985, 1003, 1013, 1645, 1018,
+ 764, 854, 951, 1008, 1009, 1024, 1657, 1025, 1068, 1069,
+ 1084, 1090, 1106, 1112, 1123, 1136, 1139, 1159, 1156, 1167,
+ 1180, 112, 170, 1195, 1198, 1206, 1221, 1232, 1243, 1249,
+ 1260, 145, 1273, 1276, 1289, 1297, 146, 1300, 1313, 1324,
+ 1337, 202, 1353, 1359, 1370, 1376, 1387, 1398, 1404, 1415,
+ 231, 1421, 1437, 230, 458, 1436, 4634, 4634, 0, 1655,
+ 825, 1471, 1483, 1581, 0, 4634, 1643, 4634, 0, 4634,
+ 0, 1625, 0, 1606, 299, 551, 4634, 0, 1633, 1608,
- 336, 146, 1413, 4544, 1004, 1421, 4544, 1463, 1537, 1415,
- 1421, 1437, 1438, 1453, 1536, 1461, 1464, 1513, 1514, 1529,
- 1537, 1540, 1553, 1561, 1577, 1583, 1594, 1600, 1611, 1617,
- 1628, 1634, 1645, 1656, 158, 278, 1669, 1677, 1680, 1695,
- 1698, 1701, 1727, 1719, 1730, 1743, 283, 1751, 1764, 1772,
- 284, 1775, 1788, 1796, 1804, 1812, 251, 1825, 1828, 1836,
- 1849, 1857, 1865, 1873, 1886, 1894, 1907, 507, 1915, 1931,
- 1932, 482, 518, 246, 1947, 1535, 1991, 1999, 4544, 1534,
- 4544, 263, 1504, 1532, 1464, 1506, 1501, 4544, 4544, 4544,
- 4544, 448, 297, 1465, 1993, 1994, 2009, 2015, 2026, 2032,
+ 0, 1631, 4634, 1628, 0, 1619, 0, 1618, 308, 1594,
+ 301, 641, 1493, 4634, 1084, 1501, 4634, 1543, 1616, 1495,
+ 1501, 1517, 1518, 1533, 1615, 1541, 1544, 1593, 1594, 1609,
+ 1617, 1620, 1633, 1641, 1657, 1663, 1674, 1680, 1691, 1697,
+ 1708, 1714, 1725, 1736, 209, 254, 1749, 1757, 1760, 1775,
+ 1778, 1781, 1807, 1799, 1810, 1823, 249, 1831, 1844, 1852,
+ 289, 1855, 1868, 1876, 1884, 1892, 572, 1905, 1908, 1916,
+ 1929, 1937, 1945, 1953, 1966, 1974, 1987, 297, 1995, 2011,
+ 2012, 469, 456, 459, 2027, 1614, 2078, 2086, 4634, 1613,
+ 4634, 181, 1583, 1587, 1544, 1578, 1533, 1567, 1566, 4634,
- 2048, 2049, 2064, 2072, 2080, 2096, 2093, 2104, 2117, 2120,
- 2135, 2141, 2152, 2158, 2169, 2184, 2190, 255, 547, 2201,
- 2207, 2222, 2223, 2238, 2244, 2259, 2262, 2270, 2283, 481,
- 2291, 2294, 2307, 519, 2315, 2328, 2336, 2344, 535, 2352,
- 2360, 2373, 2381, 2384, 2402, 2399, 2405, 2420, 569, 2423,
- 2426, 2443, 2449, 2460, 624, 248, 522, 2476, 2510, 2533,
- 2556, 2568, 1498, 417, 1467, 2552, 2567, 2583, 2580, 629,
- 2601, 2604, 2607, 2622, 2625, 2633, 2646, 2654, 2667, 2678,
- 2684, 2695, 2706, 2721, 2727, 2738, 2744, 2759, 553, 570,
- 635, 2760, 2780, 2777, 2798, 2797, 2813, 2819, 2830, 2843,
+ 4634, 4634, 4634, 545, 731, 1525, 2080, 2081, 2096, 2102,
+ 2113, 2119, 2135, 2136, 2151, 2159, 2167, 2183, 2180, 2191,
+ 2204, 2207, 2222, 2228, 2239, 2245, 2256, 2271, 2277, 111,
+ 607, 2288, 2294, 2309, 2310, 2325, 2331, 2346, 2349, 2357,
+ 2370, 251, 2378, 2381, 2394, 460, 2402, 2415, 2423, 2431,
+ 446, 2439, 2447, 2460, 2468, 2471, 2489, 2486, 2492, 2507,
+ 452, 2510, 2513, 2530, 2536, 2547, 573, 632, 642, 2563,
+ 2598, 2623, 2631, 2643, 1557, 308, 1565, 1522, 2627, 2642,
+ 2648, 2659, 658, 2677, 2680, 2683, 2698, 2701, 2709, 2722,
+ 2730, 2743, 2754, 2760, 2771, 2782, 2797, 2803, 2814, 2820,
- 2854, 625, 2851, 2867, 2875, 626, 2883, 296, 2891, 2904,
- 637, 2917, 2920, 2928, 2941, 644, 643, 2952, 2958, 2969,
- 646, 2980, 648, 651, 668, 756, 3024, 4544, 499, 1490,
- 3008, 3024, 3021, 661, 3032, 3045, 3048, 3065, 3071, 3082,
- 3088, 3103, 3109, 3126, 3132, 3143, 3149, 3160, 3166, 3177,
- 3183, 3199, 676, 633, 742, 3200, 3215, 3221, 3232, 3238,
- 3253, 3259, 3270, 3285, 3291, 691, 797, 3302, 3318, 808,
- 3315, 1457, 3326, 3339, 799, 3347, 3362, 3365, 3368, 806,
- 814, 3383, 3386, 809, 741, 860, 831, 832, 3435, 3447,
- 1450, 1459, 3401, 3441, 655, 3442, 3459, 3458, 3474, 3475,
+ 2835, 723, 636, 660, 2836, 2856, 2853, 2874, 2873, 2889,
+ 2895, 2906, 2919, 2930, 727, 2927, 2943, 2951, 737, 2959,
+ 229, 2967, 2980, 738, 2993, 2996, 3004, 3017, 794, 748,
+ 3028, 3034, 3045, 742, 3056, 796, 739, 719, 874, 3107,
+ 4634, 203, 1507, 1536, 3071, 3092, 3103, 846, 3114, 3120,
+ 3131, 3137, 3153, 3154, 3169, 3180, 3186, 3203, 3209, 3220,
+ 3226, 3237, 3243, 3254, 3260, 3276, 847, 731, 848, 3277,
+ 3292, 3298, 3309, 3315, 3330, 3336, 3347, 3362, 3368, 623,
+ 853, 3379, 3395, 619, 3392, 1510, 3403, 3416, 715, 3424,
+ 3439, 3442, 3445, 866, 544, 3460, 3463, 891, 857, 790,
- 3490, 3491, 3506, 3512, 3523, 3529, 3540, 3551, 3562, 3568,
- 3579, 915, 802, 807, 3585, 3596, 3607, 3613, 3624, 3630,
- 3645, 3646, 3661, 3667, 1447, 882, 3678, 883, 3684, 1454,
- 3695, 3701, 810, 3716, 3722, 829, 885, 3738, 1471, 924,
- 901, 838, 918, 3772, 104, 0, 3766, 3767, 900, 3782,
- 3790, 3793, 3806, 3814, 3822, 3830, 3843, 3851, 3859, 3867,
- 843, 862, 976, 930, 3880, 3888, 3891, 3904, 3912, 3915,
- 962, 1438, 1029, 3928, 861, 1434, 920, 3949, 3936, 1030,
- 1047, 3952, 1032, 1044, 931, 1051, 4001, 1391, 709, 1423,
- 3967, 3985, 1453, 3996, 4002, 4017, 4018, 4033, 321, 4039,
+ 892, 903, 3514, 3506, 1509, 1501, 1515, 3508, 3509, 865,
+ 3524, 3530, 3541, 3547, 3558, 3564, 3575, 3581, 3596, 3597,
+ 3612, 3618, 3629, 3640, 3646, 3657, 886, 882, 887, 3663,
+ 3674, 3685, 3691, 3702, 3708, 3723, 3724, 3739, 3745, 1500,
+ 945, 3756, 921, 3762, 1506, 3773, 3779, 894, 3794, 3800,
+ 967, 966, 3816, 1525, 923, 951, 950, 997, 3851, 591,
+ 1488, 0, 3845, 3817, 947, 3846, 3861, 3872, 3878, 3889,
+ 3895, 3910, 3913, 3921, 3934, 3937, 884, 1043, 1046, 999,
+ 3952, 3958, 3969, 3975, 3986, 3992, 969, 1498, 1102, 4003,
+ 971, 1493, 953, 4014, 4020, 1110, 1118, 4031, 973, 972,
- 4050, 1064, 1026, 1065, 1449, 4056, 4067, 4078, 1066, 1423,
- 1080, 1054, 1414, 1050, 222, 1441, 1100, 4084, 1069, 1133,
- 1102, 1141, 1514, 4544, 1421, 1388, 4095, 4101, 4116, 4117,
- 4132, 1404, 4133, 4148, 1121, 1078, 1134, 4154, 4165, 4176,
- 1082, 1386, 1150, 1148, 1343, 1152, 1339, 1166, 1361, 1171,
- 1161, 1189, 1329, 1297, 4182, 4193, 4199, 1321, 4210, 1128,
- 1156, 1173, 4221, 4227, 1184, 1313, 1206, 1204, 1298, 1212,
- 1284, 1228, 1239, 1215, 1241, 1272, 1232, 1248, 4242, 1243,
- 1259, 1254, 4243, 4258, 1278, 1223, 1265, 1217, 1155, 1267,
- 0, 1279, 1287, 1282, 1291, 1143, 1116, 1130, 4259, 1067,
+ 1112, 1127, 4082, 4107, 611, 1490, 1462, 4046, 4091, 1484,
+ 4092, 4107, 4113, 4128, 4129, 749, 4144, 4150, 1144, 1057,
+ 1145, 1483, 4161, 4172, 4183, 1116, 1438, 1160, 1124, 1432,
+ 1147, 1028, 1460, 1193, 4189, 1131, 1179, 1138, 1221, 1596,
+ 4634, 1438, 1418, 1394, 4200, 4206, 4221, 4222, 4237, 1411,
+ 4238, 4253, 1155, 1158, 1201, 4259, 4270, 4281, 1162, 1410,
+ 1214, 1228, 1400, 1230, 1393, 1241, 1413, 1246, 1283, 1244,
+ 1353, 1355, 1306, 4287, 4298, 4304, 1309, 4315, 1258, 104,
+ 1264, 4326, 4332, 1271, 1251, 1295, 1284, 1234, 1286, 1232,
+ 1299, 1319, 1310, 1301, 1218, 4634, 1185, 1208, 4347, 1323,
- 1137, 1058, 1012, 1045, 1266, 0, 1348, 1036, 1404, 1318,
- 1028, 917, 887, 917, 1295, 0, 653, 1389, 1436, 933,
- 899, 797, 713, 739, 1297, 551, 544, 516, 485, 0,
- 540, 0, 464, 437, 391, 419, 386, 390, 385, 379,
- 391, 278, 1388, 1457, 335, 118, 4544, 4544, 4309, 4322,
- 4335, 4348, 4361, 4374, 4386, 4390, 4401, 4414, 4427, 4438,
- 4449, 4454, 4459, 4464, 4468, 4473, 4477, 4481, 4485, 4489,
- 4500, 4507, 4518, 4530
+ 1339, 1334, 4348, 4363, 1232, 1164, 1345, 1313, 1109, 1347,
+ 0, 1359, 1367, 1362, 1371, 1099, 1083, 1097, 4364, 1125,
+ 1217, 1049, 934, 954, 1375, 0, 1428, 930, 1459, 1398,
+ 880, 822, 791, 819, 1381, 0, 1378, 1469, 1523, 782,
+ 743, 720, 732, 755, 1348, 753, 751, 723, 689, 0,
+ 648, 0, 572, 605, 482, 436, 406, 394, 288, 273,
+ 280, 165, 1250, 1566, 130, 119, 4634, 4634, 4416, 4428,
+ 4440, 4452, 4464, 4476, 4487, 4489, 4500, 4512, 4524, 4535,
+ 4546, 4551, 4556, 4560, 4565, 4569, 4574, 4578, 4582, 4586,
+ 4589, 4593, 4604, 4610, 4621
+
} ;
-static yyconst flex_int16_t yy_def[775] =
+static yyconst flex_int16_t yy_def[796] =
{ 0,
- 748, 1, 749, 749, 749, 749, 750, 750, 751, 751,
- 752, 752, 753, 753, 748, 15, 748, 748, 748, 748,
- 748, 754, 748, 755, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 748, 748, 756, 748, 748, 757, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 758, 758, 748,
- 759, 759, 748, 748, 748, 748, 760, 748, 748, 761,
- 761, 748, 748, 23, 748, 748, 748, 762, 748, 748,
- 748, 748, 748, 748, 754, 754, 748, 763, 748, 764,
+ 768, 1, 769, 769, 769, 769, 770, 770, 771, 771,
+ 772, 772, 773, 773, 768, 15, 15, 17, 768, 768,
+ 768, 768, 768, 774, 768, 775, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 768, 768, 776, 768, 768, 777,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 778,
+ 778, 768, 779, 779, 768, 768, 768, 768, 780, 768,
+ 768, 781, 781, 768, 768, 25, 768, 768, 768, 782,
+ 768, 768, 768, 768, 768, 768, 768, 768, 783, 768,
- 755, 755, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 765, 34, 34, 34, 34, 34, 34, 766,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 766, 766, 34, 34, 34, 34,
- 34, 34, 34, 34, 766, 34, 34, 34, 34, 766,
- 34, 34, 34, 34, 766, 34, 34, 34, 34, 34,
- 34, 34, 34, 766, 34, 34, 766, 766, 34, 748,
- 748, 767, 756, 748, 748, 748, 748, 757, 748, 748,
- 748, 758, 748, 759, 748, 760, 81, 81, 748, 748,
- 768, 762, 748, 748, 769, 763, 770, 764, 748, 748,
+ 768, 774, 774, 768, 784, 768, 785, 775, 775, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 786,
+ 36, 36, 36, 36, 36, 36, 787, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 787, 787, 36, 36, 36, 36, 36, 36, 36,
+ 36, 787, 36, 36, 36, 36, 787, 36, 36, 36,
+ 36, 787, 36, 36, 36, 36, 36, 36, 36, 36,
+ 787, 36, 36, 787, 787, 36, 768, 768, 788, 776,
+ 768, 768, 768, 768, 777, 768, 768, 768, 778, 768,
+ 779, 768, 780, 83, 83, 768, 768, 789, 782, 768,
- 771, 748, 748, 748, 748, 748, 748, 765, 772, 34,
- 34, 34, 34, 34, 772, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 766, 766, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 766, 34, 34, 34,
- 766, 34, 34, 34, 34, 34, 766, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 766, 34, 34,
- 34, 766, 766, 766, 34, 767, 748, 748, 748, 748,
- 748, 81, 81, 768, 748, 769, 770, 748, 748, 748,
- 748, 771, 748, 748, 34, 34, 34, 34, 34, 34,
+ 790, 783, 768, 768, 791, 784, 792, 785, 768, 768,
+ 793, 768, 768, 768, 768, 768, 768, 786, 794, 36,
+ 36, 36, 36, 36, 794, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 787, 787, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 787, 36, 36, 36,
+ 787, 36, 36, 36, 36, 36, 787, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 787, 36, 36,
+ 36, 787, 787, 787, 36, 788, 768, 768, 768, 768,
+ 768, 83, 83, 789, 768, 790, 768, 791, 792, 768,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 766, 766, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 766,
- 34, 34, 34, 766, 34, 34, 34, 34, 766, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 766, 34,
- 34, 34, 34, 34, 766, 766, 766, 34, 748, 748,
- 748, 748, 748, 81, 748, 34, 34, 34, 34, 766,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 766, 766,
- 766, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+ 768, 768, 768, 793, 768, 768, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 787,
+ 787, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 787, 36, 36, 36, 787, 36, 36, 36, 36,
+ 787, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 787, 36, 36, 36, 36, 36, 787, 787, 787, 36,
+ 768, 768, 768, 768, 768, 83, 768, 768, 36, 36,
+ 36, 36, 787, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 34, 766, 34, 34, 34, 766, 34, 208, 34, 34,
- 766, 34, 34, 34, 34, 766, 766, 34, 34, 34,
- 766, 34, 766, 766, 766, 748, 748, 748, 81, 748,
- 34, 34, 34, 766, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 766, 766, 766, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 208, 766, 34, 34, 766,
- 34, 208, 34, 34, 766, 34, 34, 34, 34, 766,
- 766, 34, 34, 766, 766, 766, 766, 766, 748, 748,
- 81, 748, 34, 34, 766, 34, 34, 34, 34, 34,
+ 36, 787, 787, 787, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 787, 36, 36, 36, 787, 36,
+ 218, 36, 36, 787, 36, 36, 36, 36, 787, 787,
+ 36, 36, 36, 787, 36, 787, 787, 787, 768, 768,
+ 768, 83, 768, 768, 36, 36, 36, 787, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 787, 787, 787, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 218,
+ 787, 36, 36, 787, 36, 218, 36, 36, 787, 36,
+ 36, 36, 36, 787, 787, 36, 36, 787, 787, 787,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 766, 766, 766, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 208, 766, 34, 766, 34, 208,
- 34, 34, 766, 34, 34, 766, 766, 34, 766, 766,
- 766, 766, 766, 748, 81, 773, 34, 34, 766, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 766, 766, 766, 766, 34, 34, 34, 34, 34, 34,
- 766, 208, 766, 34, 766, 208, 766, 34, 34, 766,
- 766, 34, 766, 766, 766, 766, 748, 774, 81, 748,
- 34, 34, 766, 34, 34, 34, 34, 34, 208, 34,
+ 787, 787, 768, 768, 83, 768, 768, 36, 36, 787,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 787, 787, 787, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 218,
+ 787, 36, 787, 36, 218, 36, 36, 787, 36, 36,
+ 787, 787, 36, 787, 787, 787, 787, 787, 768, 83,
+ 768, 795, 36, 36, 787, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 787, 787, 787, 787,
+ 36, 36, 36, 36, 36, 36, 787, 218, 787, 36,
+ 787, 218, 787, 36, 36, 787, 787, 36, 787, 787,
- 34, 766, 766, 766, 766, 34, 34, 34, 766, 208,
- 766, 766, 208, 766, 208, 766, 766, 34, 766, 766,
- 766, 766, 748, 748, 760, 748, 34, 34, 34, 34,
- 34, 208, 34, 34, 766, 766, 766, 34, 34, 34,
- 766, 208, 766, 766, 208, 766, 208, 766, 766, 766,
- 766, 766, 760, 748, 34, 34, 34, 208, 34, 766,
- 766, 766, 34, 34, 766, 208, 766, 766, 208, 766,
- 208, 766, 766, 766, 766, 760, 748, 208, 34, 766,
- 766, 766, 34, 34, 766, 208, 766, 766, 208, 766,
- 208, 766, 766, 766, 766, 760, 748, 208, 34, 766,
+ 787, 787, 768, 768, 83, 768, 768, 36, 36, 787,
+ 36, 36, 36, 36, 36, 218, 36, 36, 787, 787,
+ 787, 787, 36, 36, 36, 787, 218, 787, 787, 218,
+ 787, 218, 787, 787, 36, 787, 787, 787, 787, 768,
+ 768, 780, 768, 768, 36, 36, 36, 36, 36, 218,
+ 36, 36, 787, 787, 787, 36, 36, 36, 787, 218,
+ 787, 787, 218, 787, 218, 787, 787, 787, 787, 787,
+ 780, 768, 768, 36, 36, 36, 218, 36, 787, 787,
+ 787, 36, 36, 787, 218, 787, 787, 218, 787, 218,
+ 787, 787, 787, 787, 780, 768, 768, 218, 36, 787,
- 766, 766, 208, 766, 766, 208, 766, 766, 766, 766,
- 766, 760, 748, 208, 766, 208, 766, 766, 766, 766,
- 760, 748, 208, 766, 766, 766, 766, 760, 748, 208,
- 766, 760, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 0, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748
+ 787, 787, 36, 36, 787, 218, 787, 787, 218, 787,
+ 218, 787, 787, 787, 787, 780, 768, 218, 36, 787,
+ 787, 787, 218, 787, 787, 218, 787, 787, 787, 787,
+ 787, 780, 768, 218, 787, 218, 787, 787, 787, 787,
+ 780, 768, 218, 787, 787, 787, 787, 780, 768, 218,
+ 787, 780, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 0, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768
+
} ;
-static yyconst flex_int16_t yy_nxt[4631] =
+static yyconst flex_int16_t yy_nxt[4723] =
{ 0,
- 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
- 18, 26, 25, 27, 28, 29, 30, 31, 31, 31,
- 31, 31, 31, 31, 32, 21, 33, 33, 18, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 41, 41,
- 41, 43, 44, 45, 46, 41, 47, 48, 49, 50,
- 51, 52, 41, 41, 41, 53, 54, 21, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 56, 21, 25, 18, 18, 57, 59, 60, 60, 59,
- 60, 60, 59, 60, 60, 93, 72, 61, 69, 64,
+ 20, 21, 22, 21, 21, 21, 23, 24, 20, 25,
+ 26, 27, 20, 28, 27, 29, 30, 31, 32, 33,
+ 33, 33, 33, 33, 33, 33, 34, 23, 35, 35,
+ 20, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 43, 43, 43, 45, 46, 47, 48, 43, 49, 50,
+ 51, 52, 53, 54, 43, 43, 43, 55, 56, 23,
+ 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
+ 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
+ 57, 57, 58, 23, 27, 20, 20, 59, 61, 62,
+ 62, 61, 62, 62, 61, 62, 62, 61, 62, 62,
- 61, 64, 70, 62, 59, 60, 60, 65, 72, 65,
- 215, 93, 66, 69, 66, 62, 215, 70, 73, 201,
- 93, 74, 107, 67, 97, 67, 189, 189, 189, 189,
- 73, 747, 202, 74, 94, 94, 94, 94, 748, 589,
- 215, 93, 94, 94, 94, 94, 187, 293, 114, 93,
- 101, 101, 101, 101, 126, 748, 99, 93, 127, 171,
- 114, 128, 114, 215, 251, 101, 101, 114, 215, 93,
- 177, 215, 215, 235, 75, 294, 76, 103, 103, 103,
- 103, 103, 103, 103, 103, 236, 75, 748, 76, 77,
- 78, 79, 78, 78, 77, 77, 77, 77, 77, 77,
+ 71, 63, 66, 66, 63, 72, 71, 64, 74, 74,
+ 64, 72, 67, 67, 100, 100, 114, 68, 68, 225,
+ 104, 101, 101, 101, 101, 101, 225, 225, 69, 69,
+ 100, 211, 75, 75, 767, 76, 76, 101, 101, 101,
+ 101, 101, 140, 121, 212, 766, 100, 108, 108, 108,
+ 108, 108, 106, 121, 701, 121, 100, 121, 100, 141,
+ 225, 225, 121, 178, 108, 108, 110, 110, 110, 110,
+ 110, 110, 110, 110, 196, 196, 196, 196, 196, 196,
+ 196, 196, 196, 196, 245, 225, 402, 100, 77, 77,
+ 78, 78, 79, 80, 81, 80, 80, 80, 79, 79,
- 77, 77, 77, 77, 77, 189, 189, 189, 189, 94,
- 94, 94, 94, 77, 77, 77, 77, 77, 93, 247,
- 318, 257, 81, 104, 114, 272, 103, 105, 105, 105,
- 105, 105, 105, 105, 114, 748, 114, 215, 114, 189,
- 189, 189, 189, 114, 77, 77, 77, 108, 114, 109,
- 109, 109, 109, 109, 109, 109, 109, 288, 114, 215,
- 114, 215, 114, 289, 215, 647, 110, 144, 215, 78,
- 77, 78, 77, 77, 77, 77, 78, 79, 78, 78,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 215, 268, 215, 145, 110, 215, 215, 293, 77,
+ 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
+ 101, 101, 101, 101, 101, 261, 257, 225, 79, 79,
+ 79, 79, 79, 100, 225, 194, 376, 83, 111, 121,
+ 246, 110, 112, 112, 112, 112, 112, 112, 112, 121,
+ 763, 121, 505, 121, 768, 225, 225, 194, 121, 79,
+ 79, 79, 115, 121, 116, 116, 116, 116, 116, 116,
+ 116, 116, 184, 121, 225, 121, 225, 121, 486, 225,
+ 267, 117, 151, 330, 80, 79, 80, 79, 79, 79,
+ 79, 80, 81, 80, 80, 80, 79, 79, 79, 79,
+ 79, 79, 79, 79, 79, 79, 79, 79, 282, 152,
- 77, 77, 77, 77, 114, 187, 364, 121, 81, 748,
- 114, 122, 357, 129, 114, 123, 114, 124, 114, 424,
- 114, 339, 114, 114, 114, 114, 294, 125, 389, 114,
- 77, 77, 77, 472, 748, 114, 130, 131, 291, 114,
- 291, 273, 282, 283, 114, 330, 334, 132, 746, 292,
- 319, 743, 632, 187, 274, 78, 77, 78, 77, 77,
- 77, 33, 82, 83, 82, 82, 33, 33, 84, 33,
- 33, 33, 33, 85, 86, 33, 87, 33, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 117, 278, 768, 303, 225, 303, 79, 79, 79, 79,
+ 79, 121, 225, 342, 128, 83, 304, 121, 129, 768,
+ 136, 121, 130, 121, 131, 121, 415, 121, 331, 121,
+ 121, 121, 292, 293, 132, 121, 121, 79, 79, 79,
+ 300, 133, 442, 194, 762, 134, 301, 121, 135, 121,
+ 761, 768, 194, 346, 121, 101, 101, 101, 101, 101,
+ 760, 361, 80, 79, 80, 79, 79, 79, 35, 84,
+ 85, 84, 84, 84, 35, 35, 35, 86, 35, 35,
+ 35, 35, 87, 88, 35, 89, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 90,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 89, 90, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
- 33, 91, 33, 92, 33, 33, 33, 93, 114, 429,
- 291, 156, 291, 742, 741, 740, 739, 738, 114, 187,
- 114, 292, 114, 737, 97, 736, 735, 114, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 215, 215, 99, 100, 100, 100,
+ 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 90, 90, 90, 91, 92, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 93, 35, 94, 35, 35, 35, 95, 96, 95, 95,
+ 95, 225, 759, 97, 35, 144, 121, 225, 145, 35,
+ 35, 225, 35, 225, 225, 225, 121, 146, 147, 758,
+ 121, 98, 757, 148, 225, 121, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
- 100, 100, 100, 100, 100, 100, 100, 100, 100, 108,
- 215, 111, 111, 111, 111, 111, 111, 111, 111, 133,
- 114, 215, 215, 146, 147, 215, 491, 148, 110, 734,
- 114, 187, 114, 114, 114, 114, 134, 149, 215, 114,
- 142, 114, 114, 215, 402, 733, 732, 215, 143, 355,
- 215, 114, 150, 114, 215, 114, 215, 110, 113, 349,
- 114, 114, 114, 114, 114, 114, 114, 114, 114, 406,
- 356, 425, 215, 215, 114, 115, 114, 114, 114, 114,
- 114, 114, 114, 114, 114, 116, 114, 117, 114, 118,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 35, 35, 121, 101, 101, 101, 101, 101,
+ 368, 283, 419, 424, 121, 137, 138, 369, 121, 430,
+ 149, 121, 121, 121, 284, 163, 139, 35, 150, 35,
+ 100, 121, 121, 121, 121, 121, 121, 303, 367, 303,
+ 121, 121, 196, 196, 196, 196, 196, 104, 756, 225,
+ 304, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 225, 225, 106,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 114, 114, 114, 114, 119, 114, 114, 114, 114, 114,
- 411, 453, 390, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 114, 454, 215, 215, 215,
- 137, 114, 215, 138, 417, 114, 215, 114, 215, 114,
- 215, 114, 139, 140, 114, 114, 215, 215, 141, 215,
- 114, 215, 151, 114, 215, 152, 215, 135, 215, 101,
- 101, 101, 101, 153, 215, 114, 199, 114, 136, 154,
- 114, 215, 114, 157, 101, 101, 423, 158, 161, 215,
- 114, 467, 114, 513, 114, 475, 162, 114, 159, 114,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 115, 121, 118, 118, 118, 118, 118, 118,
+ 118, 118, 225, 121, 552, 121, 642, 121, 605, 153,
+ 154, 117, 121, 155, 225, 194, 755, 436, 768, 121,
+ 121, 121, 305, 156, 351, 142, 305, 225, 121, 754,
+ 121, 225, 121, 543, 121, 194, 143, 225, 157, 121,
+ 117, 120, 540, 225, 121, 121, 121, 121, 121, 121,
+ 121, 121, 306, 225, 403, 225, 175, 121, 122, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 123, 121,
+ 124, 121, 125, 121, 121, 121, 121, 126, 121, 121,
- 114, 470, 434, 160, 748, 481, 155, 114, 455, 114,
- 114, 114, 165, 163, 114, 484, 114, 480, 166, 114,
- 114, 486, 625, 114, 725, 549, 487, 495, 525, 164,
- 114, 114, 114, 114, 114, 114, 488, 114, 169, 114,
- 167, 114, 114, 114, 512, 114, 174, 174, 174, 174,
- 114, 187, 215, 730, 215, 215, 168, 426, 426, 426,
- 426, 175, 175, 175, 175, 175, 175, 176, 176, 186,
- 174, 174, 174, 174, 186, 186, 186, 186, 186, 186,
- 186, 186, 186, 186, 186, 175, 175, 175, 175, 175,
- 175, 176, 176, 186, 186, 186, 186, 186, 108, 114,
+ 121, 121, 121, 438, 468, 437, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 158, 121,
+ 225, 159, 305, 448, 225, 469, 305, 121, 225, 160,
+ 164, 121, 225, 121, 165, 161, 225, 121, 121, 121,
+ 168, 121, 225, 225, 225, 166, 121, 225, 169, 121,
+ 167, 753, 306, 225, 768, 752, 225, 121, 225, 121,
+ 225, 121, 162, 121, 750, 170, 548, 121, 121, 172,
+ 121, 121, 650, 467, 749, 173, 121, 176, 748, 502,
+ 121, 171, 121, 528, 121, 481, 121, 225, 489, 121,
- 109, 109, 109, 109, 109, 109, 109, 109, 514, 114,
- 215, 114, 215, 114, 540, 215, 210, 110, 114, 215,
- 215, 215, 215, 215, 186, 186, 186, 215, 108, 114,
- 203, 203, 203, 203, 203, 203, 203, 203, 428, 211,
- 528, 114, 215, 114, 215, 215, 110, 110, 114, 563,
- 186, 215, 186, 186, 186, 186, 215, 526, 533, 729,
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
- 186, 539, 536, 215, 215, 215, 110, 564, 577, 186,
- 186, 186, 186, 186, 205, 205, 205, 205, 205, 205,
- 205, 205, 537, 542, 543, 215, 215, 188, 215, 580,
+ 181, 181, 181, 181, 181, 225, 121, 174, 121, 225,
+ 121, 225, 495, 498, 484, 121, 501, 182, 182, 182,
+ 182, 182, 182, 183, 183, 193, 181, 181, 181, 181,
+ 181, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 193, 193, 182, 182, 182, 182, 182, 182, 183,
+ 183, 193, 193, 193, 193, 193, 108, 108, 108, 108,
+ 108, 225, 225, 225, 743, 209, 556, 742, 225, 494,
+ 741, 500, 225, 108, 108, 439, 439, 439, 439, 439,
+ 225, 225, 193, 193, 193, 115, 121, 116, 116, 116,
+ 116, 116, 116, 116, 116, 225, 121, 225, 121, 225,
- 108, 110, 109, 109, 109, 109, 109, 109, 109, 109,
- 186, 186, 186, 215, 215, 206, 585, 206, 602, 110,
- 205, 205, 205, 205, 205, 205, 205, 205, 215, 573,
- 110, 215, 581, 215, 541, 612, 186, 215, 186, 186,
- 186, 603, 728, 215, 215, 575, 215, 108, 110, 111,
- 111, 111, 111, 111, 111, 111, 111, 114, 114, 584,
- 723, 722, 561, 721, 593, 586, 110, 114, 114, 114,
- 114, 114, 213, 114, 114, 215, 114, 114, 621, 216,
- 212, 562, 614, 114, 114, 114, 114, 114, 114, 215,
- 583, 214, 114, 114, 605, 110, 209, 209, 209, 209,
+ 121, 225, 225, 220, 117, 121, 225, 225, 193, 225,
+ 193, 193, 193, 193, 510, 541, 529, 527, 225, 193,
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 579, 555, 117, 551, 577, 225, 565, 225, 193,
+ 193, 193, 193, 193, 115, 225, 213, 213, 213, 213,
+ 213, 213, 213, 213, 578, 554, 557, 195, 441, 580,
+ 225, 619, 225, 117, 593, 225, 225, 558, 225, 225,
+ 193, 193, 193, 215, 215, 215, 215, 215, 215, 215,
+ 215, 225, 225, 121, 225, 591, 225, 225, 225, 736,
+ 117, 599, 117, 221, 589, 121, 193, 121, 193, 193,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 114, 114,
- 205, 205, 205, 205, 205, 205, 205, 205, 114, 114,
- 114, 114, 114, 218, 114, 609, 217, 114, 114, 215,
- 114, 215, 215, 215, 114, 215, 114, 219, 114, 215,
- 114, 604, 114, 114, 114, 220, 114, 215, 215, 114,
- 215, 222, 114, 215, 215, 716, 114, 215, 114, 221,
- 114, 215, 114, 114, 114, 114, 114, 215, 215, 215,
- 215, 114, 215, 114, 223, 224, 114, 114, 636, 226,
- 225, 215, 114, 215, 616, 215, 114, 646, 114, 114,
+ 193, 115, 121, 116, 116, 116, 116, 116, 116, 116,
+ 116, 600, 225, 610, 225, 597, 216, 631, 216, 117,
+ 117, 215, 215, 215, 215, 215, 215, 215, 215, 115,
+ 601, 118, 118, 118, 118, 118, 118, 118, 118, 596,
+ 121, 121, 637, 768, 626, 636, 602, 629, 117, 117,
+ 121, 121, 121, 121, 121, 223, 121, 121, 225, 121,
+ 121, 225, 226, 222, 225, 622, 121, 121, 121, 121,
+ 121, 121, 225, 665, 224, 121, 121, 117, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
- 114, 114, 619, 114, 611, 114, 114, 230, 114, 114,
- 227, 228, 620, 215, 644, 215, 114, 114, 114, 114,
- 231, 114, 617, 114, 232, 114, 622, 233, 229, 114,
- 114, 114, 641, 649, 215, 237, 114, 635, 637, 661,
- 114, 215, 114, 234, 114, 114, 215, 215, 114, 114,
- 215, 238, 665, 643, 215, 114, 114, 114, 114, 114,
- 114, 215, 114, 215, 114, 215, 114, 114, 114, 215,
- 239, 114, 240, 648, 215, 114, 714, 651, 713, 215,
- 650, 114, 114, 114, 215, 114, 215, 660, 241, 242,
- 114, 712, 114, 114, 114, 243, 114, 215, 680, 114,
+ 121, 121, 215, 215, 215, 215, 215, 215, 215, 215,
+ 121, 121, 121, 121, 121, 228, 121, 225, 227, 121,
+ 121, 654, 121, 621, 620, 225, 121, 225, 121, 229,
+ 121, 225, 121, 225, 121, 121, 121, 230, 121, 225,
+ 225, 121, 225, 232, 121, 734, 225, 733, 121, 732,
+ 121, 231, 121, 225, 121, 121, 121, 121, 121, 225,
+ 225, 638, 225, 121, 726, 121, 233, 234, 121, 121,
+ 225, 236, 235, 225, 121, 225, 633, 225, 121, 628,
+ 121, 121, 121, 121, 659, 121, 662, 121, 121, 240,
+ 121, 121, 237, 238, 225, 634, 664, 667, 121, 121,
- 662, 114, 215, 114, 681, 114, 715, 114, 706, 114,
- 114, 245, 114, 114, 652, 244, 667, 215, 114, 215,
- 246, 668, 114, 114, 114, 215, 114, 670, 215, 114,
- 215, 248, 672, 114, 674, 114, 114, 114, 114, 114,
- 114, 215, 114, 682, 249, 114, 673, 114, 685, 114,
- 114, 114, 215, 114, 215, 675, 215, 114, 114, 114,
- 114, 114, 114, 114, 114, 250, 114, 215, 252, 114,
- 688, 703, 215, 114, 114, 114, 687, 114, 215, 215,
- 215, 694, 114, 253, 114, 690, 114, 114, 114, 705,
- 255, 215, 215, 254, 256, 215, 698, 114, 692, 114,
+ 121, 121, 241, 121, 639, 121, 242, 121, 225, 243,
+ 239, 121, 121, 121, 723, 669, 225, 247, 121, 653,
+ 655, 680, 121, 679, 121, 244, 121, 121, 668, 225,
+ 121, 121, 225, 248, 684, 661, 225, 121, 121, 121,
+ 121, 121, 121, 225, 121, 225, 121, 225, 121, 121,
+ 121, 764, 249, 121, 250, 764, 225, 121, 718, 225,
+ 717, 225, 716, 121, 121, 121, 711, 121, 666, 681,
+ 251, 252, 121, 225, 121, 121, 121, 253, 121, 225,
+ 765, 121, 686, 121, 709, 121, 225, 121, 735, 121,
+ 706, 121, 121, 255, 121, 121, 670, 254, 225, 225,
- 215, 114, 258, 114, 215, 697, 114, 700, 215, 114,
- 215, 695, 693, 259, 696, 114, 691, 114, 702, 114,
- 114, 114, 114, 114, 260, 701, 114, 261, 114, 704,
- 114, 215, 114, 707, 114, 265, 114, 114, 114, 114,
- 114, 717, 263, 708, 262, 114, 689, 114, 114, 264,
- 686, 114, 710, 709, 114, 711, 114, 724, 114, 266,
- 114, 215, 114, 678, 114, 114, 114, 114, 114, 677,
- 731, 114, 676, 114, 215, 114, 671, 114, 269, 114,
- 669, 114, 720, 114, 267, 114, 114, 114, 270, 744,
- 114, 271, 623, 623, 623, 623, 114, 114, 114, 114,
+ 121, 225, 256, 687, 121, 121, 121, 689, 121, 691,
+ 225, 121, 694, 258, 225, 121, 225, 121, 121, 121,
+ 121, 121, 121, 692, 121, 225, 259, 121, 225, 121,
+ 700, 121, 121, 121, 225, 121, 702, 705, 225, 121,
+ 121, 121, 121, 121, 121, 121, 121, 260, 121, 225,
+ 262, 121, 708, 698, 225, 121, 121, 121, 693, 121,
+ 225, 710, 225, 225, 121, 263, 121, 707, 121, 121,
+ 121, 712, 265, 715, 225, 264, 266, 225, 714, 121,
+ 697, 121, 225, 121, 268, 121, 225, 725, 121, 720,
+ 225, 121, 696, 225, 713, 269, 225, 121, 695, 121,
- 114, 114, 215, 277, 275, 114, 114, 176, 176, 176,
- 176, 176, 176, 176, 176, 278, 745, 215, 718, 176,
- 176, 176, 176, 176, 176, 176, 176, 108, 666, 203,
- 203, 203, 203, 203, 203, 203, 203, 205, 205, 205,
- 205, 205, 205, 205, 205, 114, 110, 658, 295, 215,
- 654, 114, 653, 726, 215, 114, 645, 114, 744, 114,
- 642, 114, 215, 114, 114, 114, 215, 114, 114, 626,
- 114, 613, 610, 624, 719, 110, 113, 114, 296, 114,
- 114, 114, 114, 114, 215, 745, 114, 114, 576, 572,
- 546, 114, 545, 114, 114, 114, 297, 114, 298, 530,
+ 722, 121, 121, 121, 121, 121, 270, 721, 121, 271,
+ 121, 724, 121, 225, 121, 727, 121, 275, 121, 121,
+ 121, 121, 121, 751, 273, 728, 272, 121, 225, 121,
+ 121, 274, 690, 121, 730, 729, 121, 731, 121, 688,
+ 121, 276, 121, 225, 121, 744, 121, 121, 121, 121,
+ 121, 745, 737, 121, 685, 121, 677, 121, 673, 121,
+ 279, 121, 672, 121, 740, 121, 277, 121, 121, 121,
+ 280, 671, 121, 281, 225, 225, 663, 660, 121, 121,
+ 121, 121, 121, 121, 225, 287, 285, 121, 121, 183,
+ 183, 183, 183, 183, 183, 183, 183, 288, 225, 225,
- 727, 114, 114, 114, 114, 114, 114, 492, 114, 430,
- 114, 363, 365, 114, 197, 623, 623, 623, 623, 195,
- 193, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 114, 114, 191, 187, 363, 172, 748,
- 215, 289, 197, 114, 300, 114, 114, 114, 114, 114,
- 299, 195, 114, 114, 285, 191, 187, 114, 281, 114,
- 114, 114, 280, 114, 302, 301, 279, 114, 114, 114,
- 114, 114, 114, 114, 114, 172, 114, 303, 215, 114,
- 207, 114, 204, 114, 200, 114, 624, 304, 197, 195,
+ 738, 183, 183, 183, 183, 183, 183, 183, 183, 115,
+ 644, 213, 213, 213, 213, 213, 213, 213, 213, 215,
+ 215, 215, 215, 215, 215, 215, 215, 121, 117, 643,
+ 307, 739, 630, 121, 627, 746, 606, 121, 225, 121,
+ 225, 121, 592, 121, 588, 121, 121, 121, 562, 121,
+ 121, 561, 121, 560, 545, 507, 506, 117, 120, 121,
+ 308, 121, 121, 121, 121, 121, 444, 764, 121, 121,
+ 443, 764, 375, 121, 378, 121, 121, 121, 309, 121,
+ 310, 207, 205, 121, 121, 121, 121, 121, 121, 747,
+ 121, 203, 121, 201, 377, 121, 765, 640, 640, 640,
- 194, 114, 114, 114, 193, 114, 307, 114, 305, 306,
- 114, 193, 191, 114, 308, 107, 309, 114, 190, 114,
- 185, 114, 183, 114, 114, 114, 114, 114, 107, 181,
- 114, 180, 114, 179, 114, 172, 114, 310, 114, 170,
- 114, 114, 114, 114, 114, 112, 106, 114, 96, 114,
- 312, 114, 311, 114, 93, 114, 93, 114, 114, 114,
- 114, 114, 748, 748, 114, 748, 114, 315, 313, 748,
- 114, 314, 114, 748, 114, 114, 114, 114, 114, 748,
- 748, 748, 748, 114, 748, 114, 114, 114, 748, 114,
- 748, 748, 316, 748, 114, 748, 114, 317, 114, 114,
+ 640, 640, 198, 219, 219, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 219, 121, 121, 194, 375, 179,
+ 768, 225, 301, 207, 205, 121, 312, 121, 121, 121,
+ 121, 121, 311, 297, 121, 121, 201, 295, 198, 121,
+ 194, 121, 121, 121, 291, 121, 314, 313, 290, 121,
+ 121, 121, 121, 121, 121, 121, 121, 289, 121, 315,
+ 179, 121, 225, 121, 217, 121, 214, 121, 210, 316,
+ 641, 207, 205, 121, 121, 121, 204, 121, 319, 121,
+ 317, 318, 121, 203, 203, 121, 320, 201, 321, 121,
- 114, 748, 748, 748, 748, 114, 748, 114, 748, 114,
- 114, 114, 748, 114, 748, 748, 320, 114, 114, 321,
- 322, 114, 114, 323, 114, 114, 114, 748, 114, 114,
- 748, 114, 748, 748, 326, 324, 748, 114, 114, 114,
- 114, 114, 114, 114, 114, 114, 325, 114, 327, 114,
- 114, 748, 748, 748, 748, 748, 748, 114, 748, 114,
- 114, 114, 748, 114, 748, 748, 748, 114, 114, 114,
- 114, 114, 114, 114, 114, 748, 114, 748, 748, 328,
- 748, 114, 748, 329, 331, 114, 748, 114, 748, 748,
- 748, 114, 114, 114, 114, 114, 748, 332, 748, 748,
+ 119, 121, 200, 121, 198, 121, 121, 121, 121, 121,
+ 114, 197, 121, 192, 121, 190, 121, 114, 121, 322,
+ 121, 188, 121, 121, 121, 121, 121, 187, 186, 121,
+ 179, 121, 324, 121, 323, 121, 177, 121, 119, 121,
+ 121, 121, 121, 121, 113, 103, 121, 100, 121, 327,
+ 325, 100, 121, 326, 121, 768, 121, 121, 121, 121,
+ 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
+ 768, 121, 768, 768, 328, 768, 121, 768, 121, 329,
+ 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
+ 768, 121, 121, 121, 768, 121, 768, 768, 332, 121,
- 114, 748, 114, 748, 114, 114, 114, 748, 114, 333,
- 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
- 748, 114, 748, 335, 114, 748, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 748, 114, 114, 114, 748,
- 114, 748, 114, 336, 114, 114, 114, 748, 114, 748,
- 748, 337, 114, 114, 114, 114, 114, 341, 114, 748,
- 748, 114, 338, 748, 748, 340, 114, 114, 114, 114,
- 114, 748, 114, 748, 114, 748, 114, 114, 114, 114,
- 114, 748, 748, 748, 748, 342, 748, 114, 748, 114,
- 343, 114, 748, 114, 748, 114, 748, 114, 114, 114,
+ 121, 333, 334, 121, 121, 335, 121, 121, 121, 768,
+ 121, 121, 768, 121, 768, 768, 338, 336, 768, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 337, 121,
+ 339, 121, 121, 768, 768, 768, 768, 768, 768, 121,
+ 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
+ 121, 121, 121, 121, 121, 121, 121, 768, 121, 768,
+ 768, 340, 768, 121, 768, 341, 343, 121, 768, 121,
+ 768, 768, 768, 121, 121, 121, 121, 121, 768, 344,
+ 768, 768, 121, 768, 121, 768, 121, 121, 121, 768,
+ 121, 345, 768, 768, 121, 121, 121, 121, 121, 121,
- 748, 114, 344, 114, 748, 114, 114, 114, 748, 114,
- 748, 748, 748, 114, 114, 114, 114, 114, 748, 748,
- 748, 345, 114, 748, 114, 748, 114, 748, 114, 748,
- 114, 748, 748, 346, 114, 114, 114, 114, 114, 748,
- 348, 347, 748, 114, 748, 114, 748, 114, 748, 114,
- 748, 114, 748, 748, 354, 114, 114, 114, 350, 114,
- 351, 114, 114, 748, 114, 352, 748, 748, 748, 748,
- 748, 114, 114, 114, 114, 114, 114, 114, 748, 353,
- 114, 114, 748, 358, 748, 748, 748, 114, 748, 114,
- 748, 114, 359, 359, 359, 359, 114, 748, 748, 748,
+ 121, 121, 768, 121, 768, 347, 121, 768, 121, 768,
+ 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 768, 121, 768, 121, 348, 121, 121, 121, 768,
+ 121, 768, 768, 349, 121, 121, 121, 121, 121, 353,
+ 121, 768, 768, 121, 350, 768, 768, 352, 121, 121,
+ 121, 121, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 768, 768, 768, 354, 768, 121,
+ 768, 121, 355, 121, 768, 121, 768, 121, 768, 121,
+ 121, 121, 768, 121, 356, 121, 768, 121, 121, 121,
+ 768, 121, 768, 768, 768, 121, 121, 121, 121, 121,
- 361, 361, 361, 361, 748, 748, 748, 360, 360, 360,
- 360, 360, 360, 360, 360, 362, 362, 362, 362, 362,
- 362, 362, 362, 114, 114, 748, 748, 748, 748, 748,
- 748, 367, 748, 114, 114, 366, 114, 114, 114, 114,
- 748, 748, 114, 114, 748, 114, 748, 748, 748, 114,
- 368, 114, 748, 114, 748, 114, 114, 369, 114, 114,
- 748, 748, 114, 748, 114, 371, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 372, 114, 114,
- 373, 114, 748, 748, 748, 748, 748, 748, 114, 114,
- 114, 114, 114, 114, 114, 748, 748, 114, 114, 748,
+ 768, 768, 768, 357, 121, 768, 121, 768, 121, 768,
+ 121, 768, 121, 768, 768, 358, 121, 121, 121, 121,
+ 121, 768, 360, 359, 768, 121, 768, 121, 768, 121,
+ 768, 121, 768, 121, 768, 768, 366, 121, 121, 121,
+ 362, 121, 363, 121, 121, 768, 121, 364, 768, 768,
+ 768, 768, 768, 121, 121, 121, 121, 121, 121, 121,
+ 768, 365, 121, 121, 768, 370, 768, 768, 768, 121,
+ 768, 121, 768, 121, 768, 768, 768, 768, 121, 371,
+ 371, 371, 371, 371, 768, 768, 768, 373, 373, 373,
+ 373, 373, 768, 768, 768, 768, 372, 372, 372, 372,
- 748, 370, 114, 748, 114, 748, 114, 748, 114, 748,
- 114, 374, 114, 114, 114, 375, 114, 748, 748, 748,
- 114, 114, 114, 114, 114, 377, 114, 748, 376, 114,
- 748, 748, 748, 114, 114, 114, 114, 114, 114, 748,
- 114, 748, 378, 748, 114, 114, 379, 114, 114, 380,
- 114, 748, 381, 114, 748, 748, 748, 114, 748, 114,
- 114, 114, 114, 748, 114, 114, 114, 748, 382, 114,
- 748, 114, 748, 748, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 114, 383, 748, 748, 114, 384,
- 114, 748, 114, 748, 114, 748, 114, 748, 114, 114,
+ 372, 372, 372, 372, 374, 374, 374, 374, 374, 374,
+ 374, 374, 121, 121, 768, 768, 768, 768, 768, 768,
+ 380, 768, 121, 121, 379, 121, 121, 121, 121, 768,
+ 768, 121, 121, 768, 121, 768, 768, 768, 121, 381,
+ 121, 768, 121, 768, 121, 121, 382, 121, 121, 768,
+ 768, 121, 768, 121, 384, 121, 768, 121, 768, 121,
+ 768, 121, 768, 121, 121, 121, 385, 121, 121, 386,
+ 121, 768, 768, 768, 768, 768, 768, 121, 121, 121,
+ 121, 121, 121, 121, 768, 768, 121, 121, 768, 768,
+ 383, 121, 768, 121, 768, 121, 768, 121, 768, 121,
- 114, 114, 114, 748, 385, 748, 748, 114, 748, 114,
- 748, 386, 748, 114, 114, 387, 748, 388, 114, 748,
- 114, 748, 748, 748, 114, 748, 114, 748, 114, 748,
- 114, 114, 114, 114, 114, 748, 748, 114, 748, 114,
- 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 392, 114, 748, 748, 393,
- 748, 748, 114, 114, 114, 114, 114, 114, 114, 394,
- 748, 114, 114, 396, 114, 748, 391, 748, 114, 748,
- 114, 400, 114, 748, 114, 748, 114, 395, 114, 114,
- 397, 748, 114, 114, 398, 748, 748, 748, 748, 114,
+ 387, 121, 121, 121, 388, 121, 768, 768, 768, 121,
+ 121, 121, 121, 121, 390, 121, 768, 389, 121, 768,
+ 768, 768, 121, 121, 121, 121, 121, 121, 768, 121,
+ 768, 391, 768, 121, 121, 392, 121, 121, 393, 121,
+ 768, 394, 121, 768, 768, 768, 121, 768, 121, 121,
+ 121, 121, 768, 121, 121, 121, 768, 395, 121, 768,
+ 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 396, 768, 768, 121, 397, 121,
+ 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
+ 121, 121, 768, 398, 768, 768, 121, 768, 121, 768,
- 114, 114, 114, 114, 114, 399, 114, 748, 114, 748,
- 114, 114, 114, 114, 114, 748, 748, 401, 748, 114,
- 748, 114, 403, 114, 114, 114, 748, 114, 748, 748,
- 748, 114, 114, 114, 114, 114, 114, 114, 114, 748,
- 114, 408, 404, 114, 748, 114, 748, 114, 407, 114,
- 405, 114, 748, 748, 748, 114, 114, 114, 114, 114,
- 748, 748, 748, 748, 114, 748, 114, 748, 114, 409,
- 114, 748, 114, 410, 114, 748, 114, 114, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 748, 114, 748,
- 114, 748, 114, 114, 114, 748, 114, 748, 748, 748,
+ 399, 768, 121, 121, 400, 768, 401, 121, 768, 121,
+ 768, 768, 768, 121, 768, 121, 768, 121, 768, 121,
+ 121, 121, 121, 121, 768, 768, 121, 768, 121, 768,
+ 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 405, 121, 768, 768, 406, 768,
+ 768, 121, 121, 121, 121, 121, 121, 121, 407, 768,
+ 121, 121, 409, 121, 768, 404, 768, 121, 768, 121,
+ 413, 121, 768, 121, 768, 121, 408, 121, 121, 410,
+ 768, 121, 121, 411, 768, 768, 768, 768, 121, 121,
+ 121, 121, 121, 121, 412, 121, 768, 121, 768, 121,
- 114, 114, 114, 114, 114, 748, 413, 748, 412, 114,
- 748, 114, 748, 114, 114, 114, 748, 114, 748, 748,
- 748, 114, 114, 114, 114, 114, 414, 748, 114, 114,
- 114, 415, 114, 114, 748, 114, 748, 748, 748, 114,
- 748, 114, 114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 748, 114, 114, 748, 114, 748, 748, 748,
- 114, 748, 114, 114, 114, 418, 114, 114, 114, 114,
- 114, 748, 114, 114, 416, 419, 420, 748, 748, 114,
- 748, 748, 748, 114, 748, 114, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
+ 121, 121, 121, 121, 768, 768, 414, 768, 121, 768,
+ 121, 416, 121, 121, 121, 768, 121, 768, 768, 768,
+ 121, 121, 121, 121, 121, 121, 121, 121, 768, 121,
+ 421, 417, 121, 768, 121, 768, 121, 420, 121, 418,
+ 121, 768, 768, 768, 121, 121, 121, 121, 121, 768,
+ 768, 768, 768, 121, 768, 121, 768, 121, 422, 121,
+ 768, 121, 423, 121, 768, 121, 121, 121, 768, 121,
+ 768, 121, 768, 121, 121, 121, 768, 121, 768, 121,
+ 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
+ 121, 121, 121, 121, 768, 426, 768, 425, 121, 768,
- 114, 748, 114, 748, 114, 748, 114, 422, 748, 114,
- 748, 359, 359, 359, 359, 421, 114, 748, 114, 748,
- 114, 748, 748, 748, 748, 114, 360, 360, 360, 360,
- 360, 360, 360, 360, 426, 426, 426, 426, 748, 748,
- 748, 748, 748, 748, 748, 427, 748, 748, 748, 360,
- 360, 360, 360, 360, 360, 360, 360, 361, 361, 361,
- 361, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 362, 362, 362, 362, 362, 362, 362, 362,
- 427, 748, 114, 748, 362, 362, 362, 362, 362, 362,
- 362, 362, 114, 748, 114, 748, 114, 114, 432, 748,
+ 121, 768, 121, 121, 121, 768, 121, 768, 768, 768,
+ 121, 121, 121, 121, 121, 427, 768, 121, 121, 121,
+ 428, 121, 121, 768, 121, 768, 768, 768, 121, 768,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 768, 121, 121, 768, 121, 768, 768, 768, 121,
+ 768, 121, 121, 121, 431, 121, 121, 121, 121, 121,
+ 768, 121, 121, 429, 432, 433, 768, 768, 121, 768,
+ 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
+ 768, 121, 768, 121, 768, 121, 435, 768, 121, 371,
- 431, 114, 748, 748, 748, 748, 748, 114, 748, 114,
- 114, 114, 433, 114, 748, 428, 114, 748, 748, 748,
- 114, 748, 114, 114, 114, 114, 748, 114, 748, 114,
- 435, 114, 114, 748, 114, 436, 748, 114, 748, 748,
- 437, 114, 748, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 114, 748, 114, 114, 748, 748, 748,
- 748, 748, 114, 114, 114, 114, 114, 438, 748, 114,
- 748, 114, 748, 114, 114, 114, 114, 114, 748, 439,
- 748, 748, 114, 440, 114, 748, 114, 748, 114, 748,
- 114, 748, 748, 748, 441, 114, 114, 114, 114, 748,
+ 371, 371, 371, 371, 434, 121, 768, 121, 768, 121,
+ 768, 768, 768, 768, 121, 768, 372, 372, 372, 372,
+ 372, 372, 372, 372, 439, 439, 439, 439, 439, 768,
+ 768, 768, 373, 373, 373, 373, 373, 440, 768, 768,
+ 768, 372, 372, 372, 372, 372, 372, 372, 372, 374,
+ 374, 374, 374, 374, 374, 374, 374, 440, 768, 121,
+ 768, 374, 374, 374, 374, 374, 374, 374, 374, 121,
+ 768, 121, 768, 121, 121, 446, 768, 445, 121, 447,
+ 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 121, 768, 768, 768, 768, 121,
- 442, 748, 748, 114, 443, 748, 748, 114, 114, 114,
- 444, 114, 748, 748, 114, 748, 114, 445, 114, 748,
- 114, 446, 114, 748, 114, 114, 114, 114, 114, 748,
- 748, 748, 748, 114, 748, 114, 114, 114, 748, 114,
- 748, 447, 748, 748, 114, 748, 114, 748, 114, 748,
- 114, 114, 449, 748, 448, 114, 748, 114, 748, 748,
- 748, 114, 748, 114, 748, 114, 748, 114, 114, 114,
- 114, 114, 748, 748, 114, 450, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 451, 452, 114, 114, 114,
- 114, 748, 748, 114, 748, 748, 748, 456, 748, 114,
+ 768, 121, 768, 121, 768, 121, 768, 441, 449, 121,
+ 121, 768, 121, 450, 768, 121, 768, 768, 451, 121,
+ 768, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 768, 121, 121, 768, 768, 768, 768, 768,
+ 121, 121, 121, 121, 121, 452, 768, 121, 768, 121,
+ 768, 121, 121, 121, 121, 121, 768, 453, 768, 768,
+ 121, 454, 121, 768, 121, 768, 121, 768, 121, 768,
+ 768, 768, 455, 121, 121, 121, 121, 768, 456, 768,
+ 768, 121, 457, 768, 768, 121, 121, 121, 458, 121,
+ 768, 768, 121, 768, 121, 459, 121, 768, 121, 460,
- 114, 114, 114, 114, 114, 748, 748, 114, 114, 114,
- 114, 457, 748, 458, 748, 748, 748, 114, 748, 114,
- 114, 114, 114, 748, 114, 459, 114, 114, 114, 114,
- 460, 748, 748, 748, 748, 748, 748, 114, 114, 461,
- 114, 114, 114, 114, 748, 748, 114, 114, 748, 114,
- 748, 748, 463, 114, 748, 114, 748, 114, 748, 114,
- 114, 114, 462, 114, 465, 748, 748, 466, 114, 748,
- 114, 748, 114, 114, 114, 748, 748, 464, 748, 114,
- 748, 114, 748, 114, 114, 114, 748, 114, 748, 748,
- 748, 114, 114, 114, 114, 114, 114, 114, 114, 468,
+ 121, 768, 121, 121, 121, 121, 121, 768, 768, 768,
+ 768, 121, 768, 121, 121, 121, 768, 121, 768, 461,
+ 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 463, 768, 462, 121, 768, 121, 768, 768, 768, 121,
+ 768, 121, 768, 121, 768, 121, 121, 121, 121, 121,
+ 768, 768, 121, 464, 121, 768, 121, 768, 121, 768,
+ 121, 768, 121, 465, 466, 121, 121, 121, 121, 768,
+ 768, 121, 768, 768, 768, 470, 768, 121, 121, 121,
+ 121, 121, 121, 768, 768, 121, 121, 121, 121, 471,
+ 768, 472, 768, 768, 768, 121, 768, 121, 121, 121,
- 114, 748, 748, 114, 748, 114, 748, 114, 748, 114,
- 748, 114, 748, 114, 748, 114, 114, 469, 748, 114,
- 748, 114, 748, 114, 114, 114, 748, 114, 748, 471,
- 748, 114, 114, 473, 114, 114, 748, 748, 748, 748,
- 114, 748, 748, 748, 114, 748, 114, 114, 114, 748,
- 114, 748, 474, 114, 476, 748, 748, 114, 114, 114,
- 114, 114, 477, 478, 114, 748, 114, 748, 114, 114,
- 114, 114, 114, 748, 748, 748, 748, 114, 748, 748,
- 748, 114, 114, 114, 748, 114, 748, 748, 114, 748,
- 114, 482, 114, 479, 114, 748, 114, 748, 114, 114,
+ 121, 768, 121, 473, 121, 121, 121, 121, 474, 768,
+ 768, 768, 768, 768, 768, 121, 121, 475, 121, 121,
+ 121, 121, 768, 768, 121, 121, 768, 121, 768, 768,
+ 477, 121, 768, 121, 768, 121, 768, 121, 121, 121,
+ 476, 121, 479, 768, 768, 480, 121, 768, 121, 768,
+ 121, 121, 121, 768, 768, 478, 768, 121, 768, 121,
+ 768, 121, 121, 121, 768, 121, 768, 768, 768, 121,
+ 121, 121, 121, 121, 121, 121, 121, 482, 121, 768,
+ 768, 121, 768, 121, 768, 121, 768, 121, 768, 121,
+ 768, 121, 768, 121, 121, 483, 768, 121, 768, 121,
- 114, 114, 114, 748, 748, 748, 748, 114, 748, 114,
- 114, 114, 748, 114, 748, 483, 748, 748, 114, 748,
- 114, 748, 114, 748, 114, 489, 489, 489, 489, 114,
- 748, 748, 748, 748, 748, 748, 748, 748, 114, 748,
- 490, 490, 490, 490, 490, 490, 490, 490, 114, 748,
- 114, 114, 114, 493, 114, 485, 748, 114, 748, 748,
- 748, 114, 114, 114, 114, 114, 114, 748, 114, 494,
- 114, 748, 114, 114, 496, 114, 114, 748, 114, 748,
- 748, 114, 748, 748, 748, 114, 748, 114, 114, 114,
- 114, 748, 114, 497, 114, 114, 748, 114, 498, 748,
+ 768, 121, 121, 121, 768, 121, 768, 485, 768, 121,
+ 121, 487, 121, 121, 768, 768, 768, 768, 121, 768,
+ 768, 768, 121, 768, 121, 121, 121, 768, 121, 768,
+ 488, 121, 490, 768, 768, 121, 121, 121, 121, 121,
+ 491, 492, 121, 768, 121, 768, 121, 121, 121, 121,
+ 121, 768, 768, 768, 768, 121, 768, 768, 768, 121,
+ 121, 121, 768, 121, 768, 768, 121, 768, 121, 496,
+ 121, 493, 121, 768, 121, 768, 121, 121, 121, 121,
+ 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
+ 768, 121, 768, 497, 768, 768, 121, 768, 121, 768,
- 499, 114, 748, 748, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 114, 114, 748, 748, 114, 748,
- 114, 748, 114, 748, 500, 748, 114, 748, 114, 748,
- 114, 114, 114, 114, 748, 502, 501, 114, 748, 114,
- 748, 748, 748, 114, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 748, 748, 114, 503, 114, 504,
- 748, 748, 114, 748, 505, 748, 114, 748, 114, 748,
- 114, 748, 114, 114, 114, 114, 114, 748, 507, 114,
- 748, 114, 748, 114, 748, 506, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 748, 114, 748, 114, 748,
+ 121, 768, 121, 121, 768, 768, 768, 121, 503, 503,
+ 503, 503, 503, 121, 768, 121, 768, 121, 768, 768,
+ 768, 768, 121, 508, 121, 504, 504, 504, 504, 504,
+ 504, 504, 504, 499, 121, 121, 121, 768, 121, 768,
+ 768, 768, 768, 121, 768, 121, 121, 121, 768, 121,
+ 768, 768, 121, 509, 121, 768, 121, 768, 511, 768,
+ 121, 768, 121, 121, 121, 121, 121, 768, 768, 121,
+ 512, 121, 513, 121, 768, 121, 768, 121, 768, 121,
+ 768, 121, 121, 121, 514, 121, 121, 768, 121, 768,
+ 768, 768, 768, 768, 768, 121, 121, 121, 515, 121,
- 114, 748, 114, 508, 114, 748, 114, 114, 114, 114,
- 114, 748, 748, 114, 748, 114, 748, 114, 748, 114,
- 510, 114, 748, 114, 509, 114, 114, 114, 511, 114,
- 114, 748, 114, 748, 515, 748, 748, 748, 748, 114,
- 114, 114, 114, 114, 114, 114, 748, 748, 114, 114,
- 748, 114, 516, 517, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 114, 114, 748, 748, 114, 748,
- 114, 519, 114, 748, 114, 748, 114, 748, 114, 518,
- 114, 114, 114, 114, 520, 748, 748, 114, 748, 114,
- 521, 748, 748, 114, 748, 114, 748, 114, 748, 114,
+ 121, 121, 768, 768, 121, 121, 768, 768, 768, 768,
+ 768, 121, 121, 121, 517, 121, 768, 768, 121, 516,
+ 121, 768, 121, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 768, 768, 121, 518, 121, 519, 768,
+ 768, 121, 768, 520, 768, 121, 768, 121, 768, 121,
+ 768, 121, 121, 121, 121, 121, 768, 522, 121, 768,
+ 121, 768, 121, 768, 521, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 768, 121, 768, 121, 768, 121,
+ 768, 121, 523, 121, 768, 121, 121, 121, 121, 121,
+ 768, 768, 121, 768, 121, 768, 121, 768, 121, 525,
- 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 522, 748, 523, 114,
- 748, 114, 748, 748, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 114, 114, 748, 748, 524, 748,
- 114, 748, 114, 748, 114, 114, 114, 527, 114, 748,
- 748, 114, 748, 748, 748, 114, 114, 529, 114, 114,
- 114, 748, 114, 748, 114, 748, 114, 114, 114, 114,
- 114, 748, 532, 748, 531, 114, 748, 114, 748, 114,
- 748, 114, 748, 114, 748, 748, 748, 114, 114, 114,
- 748, 114, 114, 535, 748, 114, 114, 534, 114, 748,
+ 121, 768, 121, 524, 121, 121, 121, 526, 121, 121,
+ 768, 121, 768, 530, 768, 768, 768, 768, 121, 121,
+ 121, 121, 121, 121, 121, 768, 768, 121, 121, 768,
+ 121, 531, 532, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 121, 768, 768, 121, 768, 121,
+ 534, 121, 768, 121, 768, 121, 768, 121, 533, 121,
+ 121, 121, 121, 535, 768, 768, 121, 768, 121, 536,
+ 768, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 768, 768, 768, 121, 768, 121,
+ 768, 121, 768, 121, 121, 537, 768, 538, 121, 768,
- 748, 748, 114, 748, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 114, 114, 748, 114, 114, 748, 748,
- 748, 748, 748, 114, 748, 114, 114, 114, 114, 748,
- 114, 114, 114, 538, 748, 114, 489, 489, 489, 489,
- 748, 114, 748, 114, 748, 114, 748, 748, 748, 547,
- 114, 490, 490, 490, 490, 490, 490, 490, 490, 544,
- 748, 748, 748, 490, 490, 490, 490, 490, 490, 490,
- 490, 114, 114, 748, 748, 748, 748, 748, 548, 748,
- 748, 114, 114, 114, 114, 114, 114, 748, 114, 114,
- 114, 114, 550, 748, 748, 748, 748, 748, 114, 114,
+ 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 121, 768, 768, 539, 768, 121,
+ 768, 121, 768, 121, 121, 121, 542, 121, 768, 768,
+ 121, 768, 768, 768, 121, 121, 544, 121, 121, 121,
+ 768, 121, 768, 121, 768, 121, 121, 121, 121, 121,
+ 768, 547, 768, 546, 121, 768, 121, 768, 121, 768,
+ 121, 768, 121, 768, 768, 768, 121, 121, 121, 768,
+ 121, 121, 550, 768, 121, 121, 549, 121, 768, 768,
+ 768, 121, 768, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 768, 121, 121, 768, 768, 768,
- 551, 114, 114, 114, 114, 114, 748, 114, 114, 748,
- 748, 552, 553, 748, 114, 114, 114, 114, 114, 114,
- 114, 114, 748, 114, 114, 748, 748, 748, 748, 748,
- 114, 114, 114, 114, 114, 114, 114, 748, 748, 114,
- 114, 748, 114, 554, 555, 748, 114, 748, 114, 748,
- 114, 748, 114, 114, 114, 114, 114, 748, 748, 114,
- 748, 114, 748, 114, 556, 114, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
- 114, 114, 114, 748, 114, 748, 748, 748, 557, 114,
- 748, 114, 114, 114, 748, 114, 748, 748, 559, 558,
+ 768, 768, 121, 768, 121, 121, 121, 121, 768, 121,
+ 768, 121, 553, 768, 121, 503, 503, 503, 503, 503,
+ 559, 768, 768, 768, 504, 504, 504, 504, 504, 504,
+ 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
+ 121, 121, 768, 768, 768, 768, 768, 768, 564, 768,
+ 121, 121, 121, 121, 121, 121, 121, 768, 563, 121,
+ 121, 768, 121, 768, 768, 566, 121, 768, 121, 768,
+ 121, 768, 121, 121, 121, 121, 121, 768, 768, 121,
+ 768, 121, 768, 121, 768, 567, 568, 121, 768, 121,
+ 121, 121, 121, 121, 768, 768, 121, 569, 121, 768,
- 114, 748, 114, 748, 114, 748, 114, 748, 114, 114,
- 114, 114, 114, 748, 748, 114, 748, 114, 748, 560,
- 748, 114, 565, 114, 748, 114, 114, 114, 114, 114,
- 748, 748, 748, 748, 114, 748, 114, 114, 114, 748,
- 114, 748, 748, 114, 566, 114, 748, 114, 748, 114,
- 748, 114, 748, 114, 114, 114, 114, 114, 748, 748,
- 114, 748, 114, 568, 114, 748, 114, 748, 114, 748,
- 114, 567, 114, 114, 114, 114, 114, 748, 748, 114,
- 748, 748, 748, 748, 748, 114, 114, 114, 114, 114,
- 114, 114, 570, 569, 114, 114, 748, 114, 748, 748,
+ 121, 768, 121, 768, 121, 768, 121, 121, 121, 121,
+ 121, 768, 768, 121, 768, 121, 768, 121, 768, 121,
+ 570, 121, 768, 121, 768, 121, 121, 121, 121, 121,
+ 571, 768, 121, 768, 768, 768, 768, 768, 121, 121,
+ 121, 121, 121, 121, 121, 768, 768, 121, 121, 572,
+ 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 121, 768, 768, 768, 573, 121,
+ 768, 121, 121, 121, 768, 121, 768, 768, 575, 574,
+ 121, 768, 121, 768, 121, 768, 121, 768, 121, 121,
+ 121, 121, 121, 768, 768, 121, 768, 121, 768, 576,
- 748, 114, 748, 114, 748, 114, 748, 114, 114, 114,
- 114, 114, 748, 748, 114, 748, 114, 748, 574, 748,
- 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
- 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
- 748, 114, 571, 114, 114, 114, 114, 748, 748, 578,
- 114, 748, 114, 748, 748, 579, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 582, 114, 748,
- 748, 114, 748, 587, 587, 587, 587, 748, 114, 748,
- 114, 748, 114, 748, 748, 748, 748, 114, 588, 588,
- 588, 588, 588, 588, 588, 588, 114, 114, 592, 748,
+ 768, 121, 581, 121, 768, 121, 121, 121, 121, 121,
+ 768, 768, 768, 768, 121, 768, 121, 121, 121, 768,
+ 121, 768, 768, 121, 582, 121, 768, 121, 768, 121,
+ 768, 121, 768, 121, 121, 121, 121, 121, 768, 768,
+ 121, 768, 121, 584, 121, 768, 121, 768, 121, 768,
+ 121, 583, 121, 121, 121, 121, 121, 768, 768, 121,
+ 768, 768, 768, 768, 768, 121, 121, 121, 121, 121,
+ 121, 121, 586, 585, 121, 121, 768, 121, 768, 768,
+ 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
+ 121, 121, 768, 768, 121, 768, 121, 768, 590, 768,
- 748, 748, 748, 591, 748, 748, 114, 114, 114, 114,
- 114, 114, 114, 748, 748, 114, 114, 748, 748, 748,
- 114, 748, 114, 114, 114, 748, 114, 748, 594, 748,
- 114, 114, 114, 114, 114, 596, 114, 114, 595, 114,
- 748, 748, 114, 599, 114, 748, 114, 748, 597, 748,
- 114, 748, 114, 748, 114, 114, 114, 598, 114, 748,
- 114, 748, 114, 114, 114, 748, 114, 748, 748, 748,
- 114, 114, 114, 114, 114, 748, 600, 748, 748, 114,
- 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
- 748, 114, 114, 114, 748, 114, 601, 114, 748, 114,
+ 121, 768, 121, 768, 121, 121, 121, 121, 121, 768,
+ 768, 121, 768, 121, 768, 121, 768, 121, 768, 121,
+ 768, 121, 587, 121, 121, 121, 121, 768, 768, 594,
+ 121, 768, 121, 768, 768, 595, 121, 768, 121, 768,
+ 121, 768, 121, 768, 121, 121, 121, 598, 121, 121,
+ 609, 121, 603, 603, 603, 603, 603, 768, 121, 121,
+ 121, 121, 121, 121, 768, 768, 768, 121, 121, 604,
+ 604, 604, 604, 604, 604, 604, 604, 121, 121, 768,
+ 768, 768, 768, 768, 608, 768, 768, 121, 121, 121,
+ 121, 121, 121, 121, 611, 768, 121, 121, 768, 768,
- 114, 114, 748, 114, 748, 748, 748, 114, 114, 114,
- 114, 114, 748, 606, 748, 748, 114, 748, 114, 748,
- 114, 114, 114, 748, 114, 748, 748, 748, 114, 114,
- 114, 114, 114, 114, 114, 114, 748, 114, 748, 748,
- 114, 748, 114, 748, 114, 114, 114, 748, 114, 607,
- 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
- 748, 114, 615, 608, 114, 748, 114, 748, 114, 748,
- 114, 748, 114, 748, 748, 748, 114, 114, 114, 114,
- 114, 748, 114, 748, 748, 114, 748, 748, 748, 114,
- 748, 114, 618, 114, 114, 748, 114, 114, 114, 748,
+ 768, 768, 768, 121, 121, 121, 768, 121, 768, 768,
+ 121, 612, 121, 768, 121, 768, 613, 768, 121, 768,
+ 121, 121, 614, 121, 121, 616, 768, 121, 768, 121,
+ 768, 121, 768, 121, 615, 121, 768, 121, 768, 121,
+ 121, 121, 121, 768, 768, 121, 121, 768, 617, 768,
+ 768, 768, 121, 121, 121, 121, 121, 121, 768, 121,
+ 768, 121, 768, 121, 121, 121, 121, 121, 768, 121,
+ 768, 768, 121, 618, 768, 768, 121, 768, 121, 121,
+ 121, 121, 768, 121, 121, 121, 768, 623, 121, 768,
+ 121, 768, 768, 768, 121, 768, 121, 768, 121, 768,
- 748, 114, 587, 587, 587, 587, 748, 114, 748, 114,
- 627, 114, 748, 748, 748, 114, 114, 588, 588, 588,
- 588, 588, 588, 588, 588, 114, 114, 114, 748, 114,
- 748, 748, 114, 748, 114, 748, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 114, 114, 628,
- 629, 114, 748, 630, 748, 748, 748, 114, 114, 114,
- 114, 114, 114, 114, 748, 748, 114, 114, 748, 114,
- 748, 633, 748, 114, 748, 631, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 748, 114, 748, 114, 748,
- 634, 748, 114, 748, 114, 748, 114, 114, 114, 114,
+ 121, 121, 121, 121, 121, 768, 768, 121, 768, 121,
+ 768, 121, 768, 121, 768, 121, 768, 121, 121, 121,
+ 121, 121, 768, 768, 121, 624, 121, 768, 121, 632,
+ 121, 768, 121, 768, 121, 121, 121, 121, 121, 768,
+ 768, 768, 625, 121, 768, 121, 121, 121, 768, 121,
+ 768, 768, 121, 768, 121, 768, 121, 768, 121, 768,
+ 121, 768, 121, 121, 121, 121, 121, 768, 768, 768,
+ 768, 121, 768, 635, 768, 121, 768, 121, 121, 768,
+ 768, 768, 121, 603, 603, 603, 603, 603, 121, 768,
+ 121, 645, 121, 768, 768, 768, 768, 121, 768, 768,
- 114, 748, 638, 748, 748, 114, 748, 114, 114, 114,
- 639, 114, 748, 748, 114, 640, 114, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
- 748, 114, 748, 114, 748, 114, 748, 655, 748, 114,
- 748, 114, 748, 114, 114, 114, 114, 114, 656, 748,
- 114, 748, 748, 748, 748, 748, 114, 114, 114, 114,
- 114, 114, 114, 114, 748, 114, 114, 748, 748, 748,
- 748, 748, 114, 114, 114, 114, 114, 114, 114, 657,
- 748, 114, 114, 748, 114, 659, 748, 748, 114, 748,
- 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
+ 604, 604, 604, 604, 604, 604, 604, 604, 640, 640,
+ 640, 640, 640, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 121, 121, 604, 604, 604, 604, 604,
+ 604, 604, 604, 121, 121, 121, 121, 121, 121, 121,
+ 768, 768, 121, 121, 768, 121, 768, 768, 647, 121,
+ 768, 121, 768, 121, 768, 121, 646, 121, 121, 121,
+ 121, 121, 768, 768, 121, 648, 768, 768, 768, 768,
+ 121, 121, 121, 649, 121, 121, 121, 768, 651, 121,
+ 121, 768, 121, 768, 768, 768, 121, 768, 121, 768,
+ 121, 641, 652, 121, 121, 121, 121, 768, 768, 768,
- 748, 748, 748, 114, 748, 114, 114, 663, 748, 114,
- 748, 748, 114, 748, 114, 748, 114, 748, 114, 664,
- 114, 748, 114, 114, 114, 114, 114, 748, 748, 114,
- 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
- 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
- 114, 114, 114, 748, 114, 748, 748, 114, 679, 114,
- 748, 114, 748, 114, 748, 114, 748, 114, 683, 684,
- 114, 114, 114, 114, 748, 748, 114, 748, 748, 748,
- 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
- 748, 114, 114, 748, 748, 699, 748, 748, 114, 114,
+ 768, 121, 768, 121, 121, 121, 768, 121, 768, 656,
+ 768, 768, 121, 768, 121, 121, 121, 657, 121, 768,
+ 768, 121, 658, 121, 768, 121, 768, 121, 768, 121,
+ 768, 121, 121, 121, 121, 121, 768, 768, 121, 768,
+ 121, 768, 121, 768, 674, 768, 121, 768, 121, 768,
+ 121, 121, 121, 121, 121, 675, 768, 121, 768, 768,
+ 768, 768, 768, 121, 121, 121, 121, 121, 121, 121,
+ 121, 768, 121, 121, 768, 768, 768, 768, 768, 121,
+ 121, 121, 121, 121, 121, 121, 676, 768, 121, 121,
+ 768, 121, 678, 768, 768, 121, 768, 121, 768, 121,
- 114, 114, 114, 114, 748, 748, 748, 114, 114, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 95, 95, 95, 95, 748, 95,
- 95, 95, 95, 95, 95, 95, 95, 102, 102, 102,
- 748, 102, 748, 102, 748, 102, 173, 173, 748, 173,
+ 768, 121, 121, 121, 121, 121, 768, 768, 768, 768,
+ 121, 768, 121, 121, 682, 768, 121, 768, 768, 121,
+ 768, 121, 768, 121, 768, 121, 683, 121, 768, 121,
+ 121, 121, 121, 121, 768, 768, 121, 768, 121, 768,
+ 121, 768, 121, 768, 121, 768, 121, 121, 121, 121,
+ 121, 768, 768, 768, 768, 121, 768, 121, 121, 121,
+ 768, 121, 768, 768, 121, 699, 121, 768, 121, 768,
+ 121, 768, 121, 768, 121, 703, 704, 121, 121, 121,
+ 121, 768, 768, 121, 768, 768, 768, 768, 768, 121,
+ 121, 121, 121, 121, 121, 121, 121, 768, 121, 121,
- 173, 178, 178, 748, 748, 178, 178, 748, 178, 178,
- 178, 178, 178, 178, 182, 182, 182, 182, 748, 182,
- 182, 182, 182, 182, 182, 182, 182, 184, 184, 184,
- 184, 184, 184, 184, 184, 748, 184, 184, 186, 748,
- 748, 748, 186, 186, 186, 186, 186, 186, 186, 187,
- 748, 748, 748, 187, 187, 187, 187, 187, 187, 187,
- 192, 192, 748, 192, 192, 196, 196, 748, 196, 196,
- 198, 198, 748, 198, 198, 208, 748, 208, 208, 120,
- 120, 748, 120, 120, 276, 748, 276, 276, 284, 748,
- 284, 284, 286, 748, 286, 286, 287, 748, 287, 287,
+ 768, 768, 719, 768, 768, 121, 121, 121, 121, 121,
+ 121, 768, 768, 768, 121, 121, 60, 60, 60, 60,
+ 60, 60, 60, 60, 60, 60, 60, 60, 65, 65,
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+ 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 73, 73, 73, 73, 73, 73, 73, 73,
+ 73, 73, 73, 73, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 102, 102, 102, 102,
+ 768, 102, 102, 102, 102, 102, 102, 102, 109, 109,
+ 109, 768, 109, 768, 109, 180, 180, 768, 180, 180,
- 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
- 290, 290, 290, 209, 209, 748, 209, 209, 590, 590,
- 748, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 588, 588, 588, 748, 748, 748, 588, 748, 748,
- 748, 748, 588, 17, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 185, 185, 768, 768, 185, 185, 768, 185, 185, 185,
+ 185, 185, 189, 189, 189, 189, 768, 189, 189, 189,
+ 189, 189, 189, 189, 191, 191, 191, 191, 191, 191,
+ 191, 191, 768, 191, 191, 193, 768, 768, 768, 193,
+ 193, 193, 193, 193, 193, 193, 194, 768, 768, 768,
+ 194, 194, 194, 194, 194, 194, 194, 199, 199, 768,
+ 199, 199, 202, 202, 768, 202, 206, 206, 768, 206,
+ 206, 208, 208, 768, 208, 208, 218, 768, 218, 218,
+ 127, 127, 768, 127, 127, 286, 768, 286, 286, 294,
+ 768, 294, 294, 296, 768, 296, 298, 768, 298, 298,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748
+ 299, 768, 299, 299, 302, 302, 302, 302, 302, 302,
+ 302, 302, 302, 302, 302, 302, 219, 219, 768, 219,
+ 219, 607, 607, 768, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 19, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768
} ;
-static yyconst flex_int16_t yy_chk[4631] =
+static yyconst flex_int16_t yy_chk[4723] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1463,38 +1483,38 @@
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, 57, 11, 3, 9, 7,
+ 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
+ 3, 4, 4, 4, 5, 5, 5, 6, 6, 6,
- 4, 8, 9, 5, 6, 6, 6, 7, 12, 8,
- 150, 54, 7, 10, 8, 6, 135, 10, 11, 104,
- 29, 11, 29, 7, 99, 8, 82, 82, 82, 82,
- 12, 746, 104, 12, 19, 19, 19, 19, 84, 545,
- 136, 19, 20, 20, 20, 20, 545, 202, 36, 20,
- 24, 24, 24, 24, 36, 84, 99, 24, 36, 54,
- 36, 36, 36, 145, 150, 24, 24, 36, 155, 26,
- 57, 235, 167, 135, 11, 202, 11, 26, 26, 26,
- 26, 26, 26, 26, 26, 136, 12, 84, 12, 13,
+ 9, 3, 7, 8, 4, 9, 10, 5, 11, 12,
+ 6, 10, 7, 8, 31, 56, 31, 7, 8, 680,
+ 106, 21, 21, 21, 21, 21, 330, 142, 7, 8,
+ 21, 111, 11, 12, 766, 11, 12, 22, 22, 22,
+ 22, 22, 41, 41, 111, 765, 22, 26, 26, 26,
+ 26, 26, 106, 41, 680, 41, 26, 41, 28, 41,
+ 152, 157, 41, 56, 26, 26, 28, 28, 28, 28,
+ 28, 28, 28, 28, 84, 84, 84, 84, 84, 85,
+ 85, 85, 85, 85, 142, 143, 330, 59, 11, 12,
+ 11, 12, 13, 13, 13, 13, 13, 13, 13, 13,
+
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
-
- 13, 13, 13, 13, 13, 83, 83, 83, 83, 94,
- 94, 94, 94, 13, 13, 13, 13, 13, 27, 145,
- 235, 155, 13, 27, 41, 167, 27, 27, 27, 27,
- 27, 27, 27, 27, 41, 615, 41, 164, 41, 189,
- 189, 189, 189, 41, 13, 13, 13, 30, 44, 30,
- 30, 30, 30, 30, 30, 30, 30, 199, 44, 274,
- 44, 356, 44, 199, 257, 615, 30, 44, 318, 13,
- 13, 13, 13, 13, 13, 14, 14, 14, 14, 14,
+ 95, 95, 95, 95, 95, 157, 152, 162, 13, 13,
+ 13, 13, 13, 29, 245, 292, 292, 13, 29, 43,
+ 143, 29, 29, 29, 29, 29, 29, 29, 29, 43,
+ 762, 43, 442, 43, 421, 174, 171, 442, 43, 13,
+ 13, 13, 32, 46, 32, 32, 32, 32, 32, 32,
+ 32, 32, 59, 46, 257, 46, 342, 46, 421, 246,
+ 162, 32, 46, 245, 13, 13, 13, 13, 13, 13,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 236, 164, 168, 44, 30, 247, 251, 293, 14,
+ 14, 14, 14, 14, 14, 14, 14, 14, 174, 46,
- 14, 14, 14, 14, 35, 282, 282, 35, 14, 408,
- 37, 35, 274, 37, 35, 35, 35, 35, 35, 356,
- 37, 257, 37, 35, 37, 38, 293, 35, 318, 37,
- 14, 14, 14, 408, 599, 38, 38, 38, 201, 38,
- 201, 168, 188, 188, 38, 247, 251, 38, 745, 201,
- 236, 742, 599, 188, 168, 14, 14, 14, 14, 14,
- 14, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 32, 171, 86, 211, 261, 211, 14, 14, 14, 14,
+ 14, 37, 278, 257, 37, 14, 211, 39, 37, 86,
+ 39, 37, 37, 37, 37, 37, 342, 39, 246, 39,
+ 37, 39, 195, 195, 37, 38, 39, 14, 14, 14,
+ 209, 38, 376, 195, 761, 38, 209, 38, 38, 38,
+ 760, 86, 376, 261, 38, 96, 96, 96, 96, 96,
+ 759, 278, 14, 14, 14, 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,
@@ -1503,501 +1523,513 @@
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, 47, 364,
- 292, 47, 292, 741, 740, 739, 738, 737, 47, 364,
- 47, 292, 47, 736, 23, 735, 734, 47, 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, 330, 272, 23, 23, 23, 23,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 17, 17, 17, 17,
+ 17, 351, 758, 17, 17, 44, 44, 361, 44, 17,
+ 17, 283, 17, 175, 284, 346, 44, 44, 44, 757,
+ 44, 17, 756, 44, 282, 44, 17, 17, 17, 17,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 31,
- 268, 31, 31, 31, 31, 31, 31, 31, 31, 39,
- 39, 273, 334, 45, 45, 357, 429, 45, 31, 733,
- 39, 429, 39, 45, 39, 45, 39, 45, 339, 39,
- 43, 43, 45, 731, 330, 729, 728, 727, 43, 272,
- 319, 43, 45, 43, 726, 43, 389, 31, 34, 268,
- 43, 34, 34, 34, 34, 34, 34, 34, 34, 334,
- 273, 357, 349, 390, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 40, 101, 101, 101, 101, 101,
+ 283, 175, 346, 351, 40, 40, 40, 284, 40, 361,
+ 45, 45, 49, 40, 175, 49, 40, 17, 45, 17,
+ 25, 45, 49, 45, 49, 45, 49, 304, 282, 304,
+ 45, 49, 196, 196, 196, 196, 196, 25, 755, 495,
+ 304, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 267, 367, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 339, 389, 319, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 40, 390, 355, 402, 406,
- 42, 42, 370, 42, 349, 40, 454, 40, 391, 40,
- 411, 42, 42, 42, 40, 42, 417, 416, 42, 421,
- 42, 423, 46, 46, 424, 46, 717, 40, 495, 101,
- 101, 101, 101, 46, 434, 46, 101, 46, 40, 46,
- 48, 425, 46, 48, 101, 101, 355, 48, 49, 453,
- 48, 402, 48, 454, 48, 411, 49, 49, 48, 48,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 33, 42, 33, 33, 33, 33, 33, 33,
+ 33, 33, 331, 42, 495, 42, 605, 42, 560, 47,
+ 47, 33, 42, 47, 484, 560, 754, 367, 480, 47,
+ 53, 47, 212, 47, 267, 42, 212, 368, 47, 753,
+ 53, 403, 53, 484, 53, 605, 42, 369, 47, 53,
+ 33, 36, 480, 751, 36, 36, 36, 36, 36, 36,
+ 36, 36, 212, 383, 331, 404, 53, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 50, 406, 370, 48, 466, 417, 46, 49, 391, 49,
- 50, 49, 50, 49, 50, 421, 49, 416, 50, 50,
- 51, 423, 589, 114, 717, 495, 424, 434, 466, 49,
- 51, 52, 51, 114, 51, 114, 425, 114, 52, 51,
- 50, 52, 114, 52, 453, 52, 56, 56, 56, 56,
- 52, 589, 724, 723, 485, 455, 51, 426, 426, 426,
- 426, 56, 56, 56, 56, 56, 56, 56, 56, 80,
- 174, 174, 174, 174, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 174, 174, 174, 174, 174,
- 174, 174, 174, 80, 80, 80, 80, 80, 103, 115,
+ 36, 36, 36, 369, 403, 368, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 48, 48,
+ 489, 48, 305, 383, 438, 404, 305, 50, 402, 48,
+ 50, 48, 415, 48, 50, 48, 468, 50, 48, 50,
+ 51, 50, 419, 424, 437, 50, 50, 434, 51, 51,
+ 50, 749, 305, 430, 616, 748, 747, 52, 746, 51,
+ 744, 51, 48, 51, 743, 51, 489, 52, 51, 52,
+ 54, 52, 616, 402, 742, 52, 52, 54, 741, 438,
+ 54, 51, 54, 468, 54, 415, 121, 740, 424, 54,
- 103, 103, 103, 103, 103, 103, 103, 103, 455, 115,
- 467, 115, 475, 115, 485, 513, 115, 103, 115, 480,
- 514, 470, 484, 533, 80, 80, 80, 481, 105, 116,
- 105, 105, 105, 105, 105, 105, 105, 105, 426, 116,
- 470, 116, 536, 116, 487, 488, 103, 105, 116, 513,
- 80, 542, 80, 80, 80, 81, 561, 467, 475, 722,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 484, 480, 486, 575, 562, 105, 514, 533, 81,
- 81, 81, 81, 81, 108, 108, 108, 108, 108, 108,
- 108, 108, 481, 487, 488, 526, 528, 81, 537, 536,
+ 58, 58, 58, 58, 58, 500, 121, 52, 121, 429,
+ 121, 436, 430, 434, 419, 121, 437, 58, 58, 58,
+ 58, 58, 58, 58, 58, 82, 181, 181, 181, 181,
+ 181, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 181, 181, 181, 181, 181, 181, 181,
+ 181, 82, 82, 82, 82, 82, 108, 108, 108, 108,
+ 108, 448, 467, 469, 734, 108, 500, 733, 481, 429,
+ 732, 436, 499, 108, 108, 439, 439, 439, 439, 439,
+ 510, 494, 82, 82, 82, 110, 122, 110, 110, 110,
+ 110, 110, 110, 110, 110, 731, 122, 528, 122, 577,
- 109, 108, 109, 109, 109, 109, 109, 109, 109, 109,
- 81, 81, 81, 549, 541, 110, 542, 110, 561, 109,
- 110, 110, 110, 110, 110, 110, 110, 110, 512, 526,
- 108, 543, 537, 577, 486, 575, 81, 540, 81, 81,
- 81, 562, 721, 564, 585, 528, 720, 111, 109, 111,
- 111, 111, 111, 111, 111, 111, 111, 117, 118, 541,
- 714, 713, 512, 712, 549, 543, 111, 117, 118, 117,
- 118, 117, 118, 119, 121, 571, 117, 118, 585, 121,
- 117, 512, 577, 119, 121, 119, 121, 119, 121, 563,
- 540, 119, 119, 121, 564, 111, 113, 113, 113, 113,
+ 122, 527, 529, 122, 110, 122, 498, 501, 82, 548,
+ 82, 82, 82, 83, 448, 481, 469, 467, 502, 83,
+ 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
+ 83, 528, 499, 110, 494, 527, 543, 510, 555, 83,
+ 83, 83, 83, 83, 112, 728, 112, 112, 112, 112,
+ 112, 112, 112, 112, 527, 498, 501, 83, 439, 529,
+ 541, 577, 565, 112, 548, 557, 556, 502, 593, 724,
+ 83, 83, 83, 115, 115, 115, 115, 115, 115, 115,
+ 115, 552, 551, 123, 587, 543, 591, 600, 599, 723,
+ 115, 555, 112, 123, 541, 123, 83, 123, 83, 83,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 122, 123,
- 205, 205, 205, 205, 205, 205, 205, 205, 122, 123,
- 122, 123, 122, 123, 124, 571, 122, 122, 123, 603,
- 125, 711, 573, 580, 124, 583, 124, 124, 124, 708,
- 125, 563, 125, 124, 125, 126, 126, 584, 704, 125,
- 581, 127, 127, 614, 586, 703, 126, 612, 126, 126,
- 126, 702, 127, 128, 127, 126, 127, 602, 604, 609,
- 700, 127, 619, 128, 128, 128, 129, 128, 603, 130,
- 129, 636, 128, 611, 580, 641, 129, 614, 129, 130,
+ 83, 116, 123, 116, 116, 116, 116, 116, 116, 116,
+ 116, 556, 558, 565, 580, 552, 117, 593, 117, 115,
+ 116, 117, 117, 117, 117, 117, 117, 117, 117, 118,
+ 557, 118, 118, 118, 118, 118, 118, 118, 118, 551,
+ 124, 125, 600, 632, 587, 599, 558, 591, 118, 116,
+ 124, 125, 124, 125, 124, 125, 126, 128, 578, 124,
+ 125, 579, 128, 124, 722, 580, 126, 128, 126, 128,
+ 126, 128, 620, 632, 126, 126, 128, 118, 120, 120,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 129, 130, 583, 130, 573, 129, 132, 132, 130, 131,
- 131, 131, 584, 617, 612, 621, 132, 133, 132, 131,
- 132, 131, 581, 131, 132, 132, 586, 133, 131, 133,
- 134, 133, 609, 619, 635, 137, 133, 602, 604, 636,
- 134, 660, 134, 134, 134, 137, 620, 637, 138, 134,
- 701, 138, 641, 611, 622, 137, 139, 137, 138, 137,
- 138, 644, 138, 643, 137, 646, 139, 138, 139, 661,
- 139, 140, 140, 617, 651, 139, 698, 621, 697, 648,
- 620, 140, 141, 140, 650, 140, 662, 635, 140, 140,
- 140, 696, 141, 142, 141, 141, 141, 665, 660, 143,
+ 129, 130, 215, 215, 215, 215, 215, 215, 215, 215,
+ 129, 130, 129, 130, 129, 130, 131, 589, 129, 129,
+ 130, 620, 132, 579, 578, 596, 131, 601, 131, 131,
+ 131, 626, 132, 597, 132, 131, 132, 133, 133, 629,
+ 720, 132, 602, 134, 134, 718, 636, 717, 133, 716,
+ 133, 133, 133, 638, 134, 135, 134, 133, 134, 619,
+ 621, 601, 631, 134, 709, 135, 135, 135, 136, 135,
+ 653, 137, 136, 654, 135, 628, 596, 659, 136, 589,
+ 136, 137, 136, 137, 626, 137, 629, 136, 139, 139,
+ 137, 138, 138, 138, 637, 597, 631, 636, 139, 140,
- 637, 141, 652, 142, 661, 142, 701, 142, 689, 143,
- 144, 143, 142, 143, 622, 142, 643, 668, 143, 667,
- 144, 644, 144, 146, 144, 670, 147, 646, 674, 144,
- 688, 146, 648, 146, 651, 146, 147, 146, 147, 148,
- 147, 672, 146, 662, 147, 147, 650, 149, 665, 148,
- 151, 148, 673, 148, 675, 652, 680, 149, 148, 149,
- 151, 149, 151, 152, 151, 149, 149, 682, 151, 151,
- 668, 686, 681, 152, 153, 152, 667, 152, 687, 705,
- 690, 674, 152, 152, 153, 670, 153, 154, 153, 688,
- 154, 685, 692, 153, 154, 694, 678, 154, 672, 154,
+ 139, 138, 139, 138, 602, 138, 139, 139, 634, 140,
+ 138, 140, 141, 140, 706, 638, 655, 144, 140, 619,
+ 621, 654, 141, 653, 141, 141, 141, 144, 637, 661,
+ 145, 141, 721, 145, 659, 628, 639, 144, 146, 144,
+ 145, 144, 145, 662, 145, 664, 144, 705, 146, 145,
+ 146, 763, 146, 147, 147, 763, 666, 146, 698, 670,
+ 697, 668, 695, 147, 148, 147, 690, 147, 634, 655,
+ 147, 147, 147, 679, 148, 149, 148, 148, 148, 681,
+ 763, 150, 661, 148, 688, 149, 684, 149, 721, 149,
+ 685, 150, 151, 150, 149, 150, 639, 149, 669, 687,
- 693, 154, 156, 156, 695, 677, 154, 680, 715, 157,
- 725, 675, 673, 156, 676, 156, 671, 156, 682, 157,
- 158, 157, 156, 157, 157, 681, 159, 157, 157, 687,
- 158, 710, 158, 690, 158, 161, 159, 160, 159, 158,
- 159, 705, 159, 692, 158, 159, 669, 160, 161, 160,
- 666, 160, 694, 693, 162, 695, 160, 715, 161, 162,
- 161, 707, 161, 658, 162, 163, 162, 161, 162, 654,
- 725, 165, 653, 162, 649, 163, 647, 163, 165, 163,
- 645, 165, 710, 165, 163, 165, 169, 166, 166, 743,
- 165, 166, 588, 588, 588, 588, 169, 166, 169, 166,
+ 150, 689, 151, 662, 151, 153, 151, 664, 154, 666,
+ 686, 151, 670, 153, 691, 153, 694, 153, 154, 153,
+ 154, 155, 154, 668, 153, 693, 154, 154, 708, 156,
+ 679, 155, 158, 155, 692, 155, 681, 684, 700, 156,
+ 155, 156, 158, 156, 158, 159, 158, 156, 156, 702,
+ 158, 158, 687, 677, 701, 159, 160, 159, 669, 159,
+ 707, 689, 710, 745, 159, 159, 160, 686, 160, 161,
+ 160, 691, 161, 694, 712, 160, 161, 714, 693, 161,
+ 673, 161, 713, 161, 163, 163, 715, 708, 161, 700,
+ 725, 164, 672, 737, 692, 163, 735, 163, 671, 163,
- 169, 166, 718, 175, 169, 169, 166, 175, 175, 175,
- 175, 175, 175, 175, 175, 176, 743, 709, 707, 176,
- 176, 176, 176, 176, 176, 176, 176, 203, 642, 203,
- 203, 203, 203, 203, 203, 203, 203, 206, 206, 206,
- 206, 206, 206, 206, 206, 210, 203, 632, 210, 719,
- 626, 211, 625, 718, 616, 210, 613, 210, 744, 210,
- 610, 211, 605, 211, 210, 211, 593, 212, 213, 590,
- 211, 576, 572, 588, 709, 203, 208, 212, 213, 212,
- 213, 212, 213, 214, 539, 744, 212, 213, 530, 525,
- 492, 216, 491, 214, 217, 214, 214, 214, 216, 472,
+ 702, 164, 165, 164, 163, 164, 164, 701, 166, 164,
+ 164, 707, 165, 730, 165, 710, 165, 168, 166, 167,
+ 166, 165, 166, 745, 166, 712, 165, 166, 667, 167,
+ 168, 167, 665, 167, 714, 713, 169, 715, 167, 663,
+ 168, 169, 168, 727, 168, 735, 169, 170, 169, 168,
+ 169, 737, 725, 172, 660, 169, 650, 170, 644, 170,
+ 172, 170, 643, 172, 730, 172, 170, 172, 176, 173,
+ 173, 642, 172, 173, 729, 633, 630, 627, 176, 173,
+ 176, 173, 176, 173, 738, 182, 176, 176, 173, 182,
+ 182, 182, 182, 182, 182, 182, 182, 183, 622, 610,
- 719, 216, 214, 216, 217, 216, 217, 430, 217, 365,
- 216, 363, 294, 217, 287, 623, 623, 623, 623, 286,
- 285, 208, 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 218, 219, 284, 283, 280, 276, 215,
- 209, 200, 198, 218, 219, 218, 219, 218, 219, 220,
- 218, 196, 218, 219, 194, 192, 187, 221, 185, 220,
- 222, 220, 180, 220, 221, 220, 177, 221, 220, 221,
- 222, 221, 222, 223, 222, 173, 221, 222, 120, 222,
- 112, 224, 106, 223, 102, 223, 623, 223, 100, 98,
+ 727, 183, 183, 183, 183, 183, 183, 183, 183, 213,
+ 607, 213, 213, 213, 213, 213, 213, 213, 213, 216,
+ 216, 216, 216, 216, 216, 216, 216, 220, 213, 606,
+ 220, 729, 592, 221, 588, 738, 561, 220, 739, 220,
+ 554, 220, 545, 221, 540, 221, 220, 221, 507, 222,
+ 223, 506, 221, 505, 486, 444, 443, 213, 218, 222,
+ 223, 222, 223, 222, 223, 224, 378, 764, 222, 223,
+ 377, 764, 375, 226, 306, 224, 227, 224, 224, 224,
+ 226, 299, 298, 226, 224, 226, 227, 226, 227, 739,
+ 227, 297, 226, 296, 295, 227, 764, 640, 640, 640,
- 97, 224, 223, 224, 96, 224, 225, 225, 224, 224,
- 224, 93, 88, 226, 225, 87, 226, 225, 86, 225,
- 73, 225, 70, 226, 227, 226, 225, 226, 66, 65,
- 228, 62, 226, 61, 227, 55, 227, 227, 227, 53,
- 228, 229, 228, 227, 228, 32, 28, 230, 22, 228,
- 230, 229, 229, 229, 21, 229, 18, 230, 231, 230,
- 229, 230, 17, 0, 232, 0, 230, 232, 231, 0,
- 231, 231, 231, 0, 232, 233, 232, 231, 232, 0,
- 0, 0, 0, 232, 0, 233, 234, 233, 0, 233,
- 0, 0, 233, 0, 233, 0, 234, 234, 234, 237,
+ 640, 640, 294, 218, 218, 218, 218, 218, 218, 218,
+ 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
+ 218, 218, 218, 218, 218, 228, 229, 293, 290, 286,
+ 225, 219, 210, 208, 206, 228, 229, 228, 229, 228,
+ 229, 230, 228, 204, 228, 229, 202, 200, 199, 231,
+ 194, 230, 232, 230, 192, 230, 231, 230, 187, 231,
+ 230, 231, 232, 231, 232, 233, 232, 184, 231, 232,
+ 180, 232, 127, 234, 119, 233, 113, 233, 109, 233,
+ 640, 107, 105, 234, 233, 234, 104, 234, 235, 235,
+ 234, 234, 234, 103, 100, 236, 235, 99, 236, 235,
- 234, 0, 0, 0, 0, 234, 0, 238, 0, 237,
- 239, 237, 0, 237, 0, 0, 237, 238, 237, 238,
- 239, 238, 239, 239, 239, 240, 238, 0, 241, 239,
- 0, 242, 0, 0, 242, 240, 0, 240, 241, 240,
- 241, 242, 241, 242, 240, 242, 241, 241, 243, 244,
- 242, 0, 0, 0, 0, 0, 0, 243, 0, 244,
- 245, 244, 0, 244, 0, 0, 0, 243, 244, 243,
- 245, 243, 245, 246, 245, 0, 243, 0, 0, 245,
- 0, 248, 0, 246, 248, 246, 0, 246, 0, 0,
- 0, 248, 246, 248, 249, 248, 0, 249, 0, 0,
+ 98, 235, 97, 235, 90, 236, 237, 236, 235, 236,
+ 89, 88, 238, 75, 236, 72, 237, 68, 237, 237,
+ 237, 67, 238, 239, 238, 237, 238, 64, 63, 240,
+ 57, 238, 240, 239, 239, 239, 55, 239, 34, 240,
+ 241, 240, 239, 240, 30, 24, 242, 23, 240, 242,
+ 241, 20, 241, 241, 241, 19, 242, 243, 242, 241,
+ 242, 0, 0, 0, 0, 242, 0, 243, 244, 243,
+ 0, 243, 0, 0, 243, 0, 243, 0, 244, 244,
+ 244, 247, 244, 0, 0, 0, 0, 244, 0, 248,
+ 0, 247, 249, 247, 0, 247, 0, 0, 247, 248,
- 248, 0, 250, 0, 249, 252, 249, 0, 249, 250,
- 0, 0, 250, 249, 250, 252, 250, 252, 253, 252,
- 0, 250, 0, 252, 252, 0, 254, 0, 253, 0,
- 253, 0, 253, 0, 255, 0, 254, 253, 254, 0,
- 254, 0, 256, 254, 255, 254, 255, 0, 255, 0,
- 0, 255, 256, 255, 256, 258, 256, 259, 259, 0,
- 0, 256, 256, 0, 0, 258, 260, 258, 259, 258,
- 259, 0, 259, 0, 258, 0, 260, 259, 260, 261,
- 260, 0, 0, 0, 0, 260, 0, 262, 0, 261,
- 262, 261, 0, 261, 0, 263, 0, 262, 261, 262,
+ 247, 248, 249, 248, 249, 249, 249, 250, 248, 0,
+ 251, 249, 0, 252, 0, 0, 252, 250, 0, 250,
+ 251, 250, 251, 252, 251, 252, 250, 252, 251, 251,
+ 253, 254, 252, 0, 0, 0, 0, 0, 0, 253,
+ 0, 254, 255, 254, 0, 254, 0, 0, 0, 253,
+ 254, 253, 255, 253, 255, 256, 255, 0, 253, 0,
+ 0, 255, 0, 258, 0, 256, 258, 256, 0, 256,
+ 0, 0, 0, 258, 256, 258, 259, 258, 0, 259,
+ 0, 0, 258, 0, 260, 0, 259, 262, 259, 0,
+ 259, 260, 0, 0, 260, 259, 260, 262, 260, 262,
- 0, 262, 263, 264, 0, 263, 262, 263, 0, 263,
- 0, 0, 0, 264, 263, 264, 265, 264, 0, 0,
- 0, 264, 264, 0, 266, 0, 265, 0, 265, 0,
- 265, 0, 0, 265, 266, 265, 266, 267, 266, 0,
- 267, 266, 0, 266, 0, 269, 0, 267, 0, 267,
- 0, 267, 0, 0, 271, 269, 267, 269, 269, 269,
- 269, 270, 271, 0, 269, 269, 0, 0, 0, 0,
- 0, 270, 271, 270, 271, 270, 271, 275, 0, 270,
- 270, 271, 0, 275, 0, 0, 0, 275, 0, 275,
- 0, 275, 277, 277, 277, 277, 275, 0, 0, 0,
+ 263, 262, 0, 260, 0, 262, 262, 0, 264, 0,
+ 263, 0, 263, 0, 263, 0, 265, 0, 264, 263,
+ 264, 0, 264, 0, 266, 264, 265, 264, 265, 0,
+ 265, 0, 0, 265, 266, 265, 266, 268, 266, 269,
+ 269, 0, 0, 266, 266, 0, 0, 268, 270, 268,
+ 269, 268, 269, 0, 269, 0, 268, 0, 270, 269,
+ 270, 271, 270, 0, 0, 0, 0, 270, 0, 272,
+ 0, 271, 272, 271, 0, 271, 0, 273, 0, 272,
+ 271, 272, 0, 272, 273, 274, 0, 273, 272, 273,
+ 0, 273, 0, 0, 0, 274, 273, 274, 275, 274,
- 278, 278, 278, 278, 0, 0, 0, 277, 277, 277,
- 277, 277, 277, 277, 277, 278, 278, 278, 278, 278,
- 278, 278, 278, 295, 296, 0, 0, 0, 0, 0,
- 0, 296, 0, 295, 296, 295, 296, 295, 296, 297,
- 0, 0, 295, 296, 0, 298, 0, 0, 0, 297,
- 297, 297, 0, 297, 0, 298, 299, 298, 297, 298,
- 0, 0, 300, 0, 298, 300, 299, 0, 299, 0,
- 299, 0, 300, 0, 300, 299, 300, 301, 301, 302,
- 302, 300, 0, 0, 0, 0, 0, 0, 301, 302,
- 301, 302, 301, 302, 303, 0, 0, 301, 302, 0,
+ 0, 0, 0, 274, 274, 0, 276, 0, 275, 0,
+ 275, 0, 275, 0, 0, 275, 276, 275, 276, 277,
+ 276, 0, 277, 276, 0, 276, 0, 279, 0, 277,
+ 0, 277, 0, 277, 0, 0, 281, 279, 277, 279,
+ 279, 279, 279, 280, 281, 0, 279, 279, 0, 0,
+ 0, 0, 0, 280, 281, 280, 281, 280, 281, 285,
+ 0, 280, 280, 281, 0, 285, 0, 0, 0, 285,
+ 0, 285, 0, 285, 0, 0, 0, 0, 285, 287,
+ 287, 287, 287, 287, 0, 0, 0, 288, 288, 288,
+ 288, 288, 0, 0, 0, 0, 287, 287, 287, 287,
- 0, 299, 304, 0, 303, 0, 303, 0, 303, 0,
- 305, 303, 304, 303, 304, 304, 304, 0, 0, 0,
- 305, 304, 305, 307, 305, 306, 306, 0, 305, 305,
- 0, 0, 0, 307, 308, 307, 306, 307, 306, 0,
- 306, 0, 307, 0, 308, 306, 308, 309, 308, 309,
- 310, 0, 310, 308, 0, 0, 0, 309, 0, 309,
- 310, 309, 310, 0, 310, 311, 309, 0, 311, 310,
- 0, 312, 0, 0, 0, 311, 0, 311, 0, 311,
- 0, 312, 313, 312, 311, 312, 0, 0, 314, 313,
- 312, 0, 313, 0, 313, 0, 313, 0, 314, 315,
+ 287, 287, 287, 287, 288, 288, 288, 288, 288, 288,
+ 288, 288, 307, 308, 0, 0, 0, 0, 0, 0,
+ 308, 0, 307, 308, 307, 308, 307, 308, 309, 0,
+ 0, 307, 308, 0, 310, 0, 0, 0, 309, 309,
+ 309, 0, 309, 0, 310, 311, 310, 309, 310, 0,
+ 0, 312, 0, 310, 312, 311, 0, 311, 0, 311,
+ 0, 312, 0, 312, 311, 312, 313, 313, 314, 314,
+ 312, 0, 0, 0, 0, 0, 0, 313, 314, 313,
+ 314, 313, 314, 315, 0, 0, 313, 314, 0, 0,
+ 311, 316, 0, 315, 0, 315, 0, 315, 0, 317,
- 314, 313, 314, 0, 314, 0, 0, 314, 0, 315,
- 0, 315, 0, 315, 316, 315, 0, 316, 315, 0,
- 317, 0, 0, 0, 316, 0, 316, 0, 316, 0,
- 317, 320, 317, 316, 317, 0, 0, 321, 0, 317,
- 0, 320, 0, 320, 0, 320, 0, 321, 0, 321,
- 320, 321, 322, 323, 0, 321, 321, 0, 0, 322,
- 0, 0, 322, 323, 322, 323, 322, 323, 324, 323,
- 0, 322, 323, 325, 325, 0, 320, 0, 324, 0,
- 324, 327, 324, 0, 325, 0, 325, 324, 325, 326,
- 325, 0, 327, 325, 326, 0, 0, 0, 0, 326,
+ 315, 316, 315, 316, 316, 316, 0, 0, 0, 317,
+ 316, 317, 319, 317, 318, 318, 0, 317, 317, 0,
+ 0, 0, 319, 320, 319, 318, 319, 318, 0, 318,
+ 0, 319, 0, 320, 318, 320, 321, 320, 321, 322,
+ 0, 322, 320, 0, 0, 0, 321, 0, 321, 322,
+ 321, 322, 0, 322, 323, 321, 0, 323, 322, 0,
+ 324, 0, 0, 0, 323, 0, 323, 0, 323, 0,
+ 324, 325, 324, 323, 324, 0, 0, 326, 325, 324,
+ 0, 325, 0, 325, 0, 325, 0, 326, 327, 326,
+ 325, 326, 0, 326, 0, 0, 326, 0, 327, 0,
- 328, 326, 327, 326, 327, 326, 327, 0, 326, 0,
- 328, 327, 328, 329, 328, 0, 0, 328, 0, 328,
- 0, 331, 331, 329, 332, 329, 0, 329, 0, 0,
- 0, 331, 329, 331, 332, 331, 332, 333, 332, 0,
- 331, 336, 332, 332, 0, 335, 0, 333, 335, 333,
- 333, 333, 0, 0, 0, 335, 333, 335, 336, 335,
- 0, 0, 0, 0, 335, 0, 337, 0, 336, 337,
- 336, 0, 336, 338, 338, 0, 337, 336, 337, 0,
- 337, 0, 340, 0, 338, 337, 338, 0, 338, 0,
- 341, 0, 340, 338, 340, 0, 340, 0, 0, 0,
+ 327, 0, 327, 328, 327, 0, 328, 327, 0, 329,
+ 0, 0, 0, 328, 0, 328, 0, 328, 0, 329,
+ 332, 329, 328, 329, 0, 0, 333, 0, 329, 0,
+ 332, 0, 332, 0, 332, 0, 333, 0, 333, 332,
+ 333, 334, 335, 0, 333, 333, 0, 0, 334, 0,
+ 0, 334, 335, 334, 335, 334, 335, 336, 335, 0,
+ 334, 335, 337, 337, 0, 332, 0, 336, 0, 336,
+ 339, 336, 0, 337, 0, 337, 336, 337, 338, 337,
+ 0, 339, 337, 338, 0, 0, 0, 0, 338, 340,
+ 338, 339, 338, 339, 338, 339, 0, 338, 0, 340,
- 341, 340, 341, 342, 341, 0, 342, 0, 341, 341,
- 0, 343, 0, 342, 344, 342, 0, 342, 0, 0,
- 0, 343, 342, 343, 344, 343, 344, 0, 344, 346,
- 343, 345, 345, 344, 0, 347, 0, 0, 0, 346,
- 0, 346, 345, 346, 345, 347, 345, 347, 346, 347,
- 348, 345, 0, 350, 347, 0, 351, 0, 0, 0,
- 348, 0, 348, 350, 348, 350, 351, 350, 351, 348,
- 351, 0, 350, 352, 346, 351, 352, 0, 0, 353,
- 0, 0, 0, 352, 0, 352, 0, 352, 0, 353,
- 354, 353, 352, 353, 0, 0, 0, 0, 353, 0,
+ 339, 340, 341, 340, 0, 0, 340, 0, 340, 0,
+ 343, 343, 341, 344, 341, 0, 341, 0, 0, 0,
+ 343, 341, 343, 344, 343, 344, 345, 344, 0, 343,
+ 348, 344, 344, 0, 347, 0, 345, 347, 345, 345,
+ 345, 0, 0, 0, 347, 345, 347, 348, 347, 0,
+ 0, 0, 0, 347, 0, 349, 0, 348, 349, 348,
+ 0, 348, 350, 350, 0, 349, 348, 349, 0, 349,
+ 0, 352, 0, 350, 349, 350, 0, 350, 0, 353,
+ 0, 352, 350, 352, 0, 352, 0, 0, 0, 353,
+ 352, 353, 354, 353, 0, 354, 0, 353, 353, 0,
- 354, 0, 354, 0, 354, 0, 358, 354, 0, 354,
- 0, 359, 359, 359, 359, 353, 358, 0, 358, 0,
- 358, 0, 0, 0, 0, 358, 359, 359, 359, 359,
- 359, 359, 359, 359, 360, 360, 360, 360, 0, 0,
- 0, 0, 0, 0, 0, 360, 0, 0, 0, 360,
- 360, 360, 360, 360, 360, 360, 360, 361, 361, 361,
- 361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 361, 361, 361, 361, 361, 361, 361, 361,
- 362, 0, 366, 0, 362, 362, 362, 362, 362, 362,
- 362, 362, 366, 0, 366, 0, 366, 367, 367, 0,
+ 355, 0, 354, 356, 354, 0, 354, 0, 0, 0,
+ 355, 354, 355, 356, 355, 356, 0, 356, 358, 355,
+ 357, 357, 356, 0, 359, 0, 0, 0, 358, 0,
+ 358, 357, 358, 357, 359, 357, 359, 358, 359, 360,
+ 357, 0, 362, 359, 0, 363, 0, 0, 0, 360,
+ 0, 360, 362, 360, 362, 363, 362, 363, 360, 363,
+ 0, 362, 364, 358, 363, 364, 0, 0, 365, 0,
+ 0, 0, 364, 0, 364, 0, 364, 0, 365, 366,
+ 365, 364, 365, 0, 0, 0, 0, 365, 0, 366,
+ 0, 366, 0, 366, 0, 370, 366, 0, 366, 371,
- 366, 366, 0, 0, 0, 0, 0, 367, 0, 367,
- 369, 367, 368, 368, 0, 360, 367, 0, 0, 0,
- 369, 0, 369, 368, 369, 368, 0, 368, 0, 369,
- 371, 371, 368, 0, 372, 372, 0, 373, 0, 0,
- 373, 371, 0, 371, 372, 371, 372, 373, 372, 373,
- 371, 373, 374, 372, 0, 375, 373, 0, 0, 0,
- 0, 0, 374, 376, 374, 375, 374, 375, 0, 375,
- 0, 374, 0, 376, 375, 376, 377, 376, 0, 376,
- 0, 0, 376, 377, 378, 0, 377, 0, 377, 0,
- 377, 0, 0, 0, 378, 377, 378, 379, 378, 0,
+ 371, 371, 371, 371, 365, 370, 0, 370, 0, 370,
+ 0, 0, 0, 0, 370, 0, 371, 371, 371, 371,
+ 371, 371, 371, 371, 372, 372, 372, 372, 372, 0,
+ 0, 0, 373, 373, 373, 373, 373, 372, 0, 0,
+ 0, 372, 372, 372, 372, 372, 372, 372, 372, 373,
+ 373, 373, 373, 373, 373, 373, 373, 374, 0, 379,
+ 0, 374, 374, 374, 374, 374, 374, 374, 374, 379,
+ 0, 379, 0, 379, 380, 380, 0, 379, 379, 381,
+ 381, 0, 0, 0, 380, 0, 380, 0, 380, 0,
+ 381, 382, 381, 380, 381, 0, 0, 0, 0, 381,
- 379, 0, 0, 378, 379, 0, 0, 379, 380, 379,
- 380, 379, 0, 0, 381, 0, 379, 381, 380, 0,
- 380, 381, 380, 0, 381, 382, 381, 380, 381, 0,
- 0, 0, 0, 381, 0, 382, 383, 382, 0, 382,
- 0, 382, 0, 0, 382, 0, 383, 0, 383, 0,
- 383, 384, 384, 0, 383, 383, 0, 385, 0, 0,
- 0, 384, 0, 384, 0, 384, 0, 385, 386, 385,
- 384, 385, 0, 0, 387, 385, 385, 0, 386, 0,
- 386, 0, 386, 0, 387, 386, 387, 386, 387, 388,
- 392, 0, 0, 387, 0, 0, 0, 392, 0, 388,
+ 0, 382, 0, 382, 0, 382, 0, 372, 384, 384,
+ 382, 0, 385, 385, 0, 386, 0, 0, 386, 384,
+ 0, 384, 385, 384, 385, 386, 385, 386, 384, 386,
+ 387, 385, 0, 388, 386, 0, 0, 0, 0, 0,
+ 387, 389, 387, 388, 387, 388, 0, 388, 0, 387,
+ 0, 389, 388, 389, 390, 389, 0, 389, 0, 0,
+ 389, 390, 391, 0, 390, 0, 390, 0, 390, 0,
+ 0, 0, 391, 390, 391, 392, 391, 0, 392, 0,
+ 0, 391, 392, 0, 0, 392, 393, 392, 393, 392,
+ 0, 0, 394, 0, 392, 394, 393, 0, 393, 394,
- 392, 388, 392, 388, 392, 0, 0, 394, 388, 392,
- 393, 393, 0, 393, 0, 0, 0, 394, 0, 394,
- 393, 394, 393, 0, 393, 394, 394, 396, 395, 393,
- 395, 0, 0, 0, 0, 0, 0, 396, 395, 396,
- 395, 396, 395, 397, 0, 0, 396, 395, 0, 398,
- 0, 0, 398, 397, 0, 397, 0, 397, 0, 398,
- 399, 398, 397, 398, 400, 0, 0, 401, 398, 0,
- 399, 0, 399, 400, 399, 0, 0, 399, 0, 399,
- 0, 403, 0, 400, 401, 400, 0, 400, 0, 0,
- 0, 403, 400, 403, 401, 403, 401, 404, 401, 403,
+ 393, 0, 394, 395, 394, 393, 394, 0, 0, 0,
+ 0, 394, 0, 395, 396, 395, 0, 395, 0, 395,
+ 0, 0, 395, 0, 396, 0, 396, 0, 396, 397,
+ 397, 0, 396, 396, 0, 398, 0, 0, 0, 397,
+ 0, 397, 0, 397, 0, 398, 399, 398, 397, 398,
+ 0, 0, 400, 398, 398, 0, 399, 0, 399, 0,
+ 399, 0, 400, 399, 400, 399, 400, 401, 405, 0,
+ 0, 400, 0, 0, 0, 405, 0, 401, 405, 401,
+ 405, 401, 405, 0, 0, 407, 401, 405, 406, 406,
+ 0, 406, 0, 0, 0, 407, 0, 407, 406, 407,
- 403, 0, 0, 401, 0, 405, 0, 404, 0, 404,
- 0, 404, 0, 407, 0, 405, 404, 405, 0, 405,
- 0, 409, 0, 407, 405, 407, 0, 407, 0, 407,
- 0, 409, 407, 409, 410, 409, 0, 0, 0, 0,
- 409, 0, 0, 0, 410, 0, 410, 412, 410, 0,
- 413, 0, 410, 410, 412, 0, 0, 412, 414, 412,
- 413, 412, 413, 414, 413, 0, 412, 0, 414, 413,
- 414, 415, 414, 0, 0, 0, 0, 414, 0, 0,
- 0, 415, 418, 415, 0, 415, 0, 0, 419, 0,
- 415, 419, 418, 415, 418, 0, 418, 0, 419, 420,
+ 406, 0, 406, 407, 407, 409, 408, 406, 408, 0,
+ 0, 0, 0, 0, 0, 409, 408, 409, 408, 409,
+ 408, 410, 0, 0, 409, 408, 0, 411, 0, 0,
+ 411, 410, 0, 410, 0, 410, 0, 411, 412, 411,
+ 410, 411, 413, 0, 0, 414, 411, 0, 412, 0,
+ 412, 413, 412, 0, 0, 412, 0, 412, 0, 416,
+ 0, 413, 414, 413, 0, 413, 0, 0, 0, 416,
+ 413, 416, 414, 416, 414, 417, 414, 416, 416, 0,
+ 0, 414, 0, 418, 0, 417, 0, 417, 0, 417,
+ 0, 420, 0, 418, 417, 418, 0, 418, 0, 422,
- 419, 418, 419, 0, 0, 0, 0, 419, 0, 420,
- 422, 420, 0, 420, 0, 420, 0, 0, 420, 0,
- 422, 0, 422, 0, 422, 427, 427, 427, 427, 422,
- 0, 0, 0, 0, 0, 0, 0, 0, 431, 0,
- 427, 427, 427, 427, 427, 427, 427, 427, 431, 0,
- 431, 433, 431, 432, 432, 422, 0, 431, 0, 0,
- 0, 433, 435, 433, 432, 433, 432, 0, 432, 433,
- 433, 0, 435, 432, 435, 436, 435, 0, 437, 0,
- 0, 435, 0, 0, 0, 436, 0, 436, 437, 436,
- 437, 0, 437, 436, 436, 438, 0, 437, 438, 0,
+ 0, 420, 418, 420, 0, 420, 0, 420, 0, 422,
+ 420, 422, 423, 422, 0, 0, 0, 0, 422, 0,
+ 0, 0, 423, 0, 423, 425, 423, 0, 426, 0,
+ 423, 423, 425, 0, 0, 425, 427, 425, 426, 425,
+ 426, 427, 426, 0, 425, 0, 427, 426, 427, 428,
+ 427, 0, 0, 0, 0, 427, 0, 0, 0, 428,
+ 431, 428, 0, 428, 0, 0, 432, 0, 428, 432,
+ 431, 428, 431, 0, 431, 0, 432, 433, 432, 431,
+ 432, 0, 0, 0, 0, 432, 0, 433, 435, 433,
+ 0, 433, 0, 433, 0, 0, 433, 0, 435, 0,
- 439, 439, 0, 0, 0, 438, 0, 438, 0, 438,
- 0, 439, 440, 439, 438, 439, 0, 0, 441, 0,
- 439, 0, 440, 0, 440, 0, 440, 0, 441, 0,
- 441, 440, 441, 442, 0, 442, 441, 441, 0, 443,
- 0, 0, 0, 442, 0, 442, 0, 442, 0, 443,
- 0, 443, 442, 443, 0, 0, 444, 443, 443, 444,
- 0, 0, 445, 0, 445, 0, 444, 0, 444, 0,
- 444, 0, 445, 446, 445, 444, 445, 0, 447, 447,
- 0, 445, 0, 446, 0, 446, 0, 446, 0, 447,
- 448, 447, 446, 447, 0, 0, 449, 0, 447, 0,
+ 435, 0, 435, 445, 0, 0, 0, 435, 440, 440,
+ 440, 440, 440, 445, 0, 445, 0, 445, 0, 0,
+ 0, 0, 445, 446, 446, 440, 440, 440, 440, 440,
+ 440, 440, 440, 435, 446, 447, 446, 0, 446, 0,
+ 0, 0, 0, 446, 0, 447, 449, 447, 0, 447,
+ 0, 0, 450, 447, 447, 0, 449, 0, 449, 0,
+ 449, 0, 450, 451, 450, 449, 450, 0, 0, 452,
+ 450, 450, 452, 451, 0, 451, 0, 451, 0, 452,
+ 0, 452, 451, 452, 453, 453, 454, 0, 452, 0,
+ 0, 0, 0, 0, 0, 453, 454, 453, 454, 453,
- 448, 0, 448, 449, 448, 0, 449, 450, 449, 448,
- 449, 0, 0, 451, 0, 449, 0, 450, 0, 450,
- 451, 450, 0, 451, 450, 451, 450, 451, 452, 452,
- 456, 0, 451, 0, 456, 0, 0, 0, 0, 452,
- 456, 452, 456, 452, 456, 457, 0, 0, 452, 456,
- 0, 458, 457, 458, 0, 457, 0, 457, 0, 457,
- 0, 458, 459, 458, 457, 458, 0, 0, 460, 0,
- 458, 460, 459, 0, 459, 0, 459, 0, 460, 459,
- 460, 459, 460, 461, 461, 0, 0, 460, 0, 462,
- 462, 0, 0, 461, 0, 461, 0, 461, 0, 462,
+ 454, 455, 0, 0, 453, 454, 0, 0, 0, 0,
+ 0, 455, 456, 455, 456, 455, 0, 0, 457, 455,
+ 455, 0, 456, 0, 456, 0, 456, 0, 457, 0,
+ 457, 456, 457, 0, 0, 458, 457, 457, 458, 0,
+ 0, 459, 0, 459, 0, 458, 0, 458, 0, 458,
+ 0, 459, 460, 459, 458, 459, 0, 461, 461, 0,
+ 459, 0, 460, 0, 460, 0, 460, 0, 461, 462,
+ 461, 460, 461, 0, 0, 463, 0, 461, 0, 462,
+ 0, 462, 463, 462, 0, 463, 464, 463, 462, 463,
+ 0, 0, 465, 0, 463, 0, 464, 0, 464, 465,
- 463, 462, 461, 462, 0, 0, 0, 0, 462, 0,
- 463, 0, 463, 0, 463, 464, 463, 0, 464, 463,
- 0, 465, 0, 0, 0, 464, 0, 464, 0, 464,
- 0, 465, 468, 465, 464, 465, 0, 0, 465, 0,
- 465, 0, 468, 0, 468, 471, 468, 469, 469, 0,
- 0, 468, 0, 0, 0, 471, 473, 471, 469, 471,
- 469, 0, 469, 0, 471, 0, 473, 469, 473, 474,
- 473, 0, 474, 0, 473, 473, 0, 476, 0, 474,
- 0, 474, 0, 474, 0, 0, 0, 476, 474, 476,
- 0, 476, 477, 477, 0, 478, 476, 476, 479, 0,
+ 464, 0, 465, 464, 465, 464, 465, 466, 466, 470,
+ 0, 465, 0, 470, 0, 0, 0, 0, 466, 470,
+ 466, 470, 466, 470, 471, 0, 0, 466, 470, 0,
+ 472, 471, 472, 0, 471, 0, 471, 0, 471, 0,
+ 472, 473, 472, 471, 472, 0, 0, 474, 0, 472,
+ 474, 473, 0, 473, 0, 473, 0, 474, 473, 474,
+ 473, 474, 475, 475, 0, 0, 474, 0, 476, 476,
+ 0, 0, 475, 0, 475, 0, 475, 0, 476, 477,
+ 476, 475, 476, 0, 0, 0, 0, 476, 0, 477,
+ 0, 477, 0, 477, 478, 477, 0, 478, 477, 0,
- 0, 0, 477, 0, 477, 478, 477, 478, 479, 478,
- 479, 477, 479, 482, 478, 0, 483, 479, 0, 0,
- 0, 0, 0, 482, 0, 482, 483, 482, 483, 0,
- 483, 493, 482, 483, 0, 483, 489, 489, 489, 489,
- 0, 493, 0, 493, 0, 493, 0, 0, 0, 493,
- 493, 489, 489, 489, 489, 489, 489, 489, 489, 490,
- 0, 0, 0, 490, 490, 490, 490, 490, 490, 490,
- 490, 494, 496, 0, 0, 0, 0, 0, 494, 0,
- 0, 494, 496, 494, 496, 494, 496, 0, 498, 497,
- 494, 496, 497, 0, 0, 0, 0, 0, 498, 497,
+ 479, 0, 0, 0, 478, 0, 478, 0, 478, 0,
+ 479, 482, 479, 478, 479, 0, 0, 479, 0, 479,
+ 0, 482, 0, 482, 485, 482, 483, 483, 0, 0,
+ 482, 0, 0, 0, 485, 487, 485, 483, 485, 483,
+ 0, 483, 0, 485, 0, 487, 483, 487, 488, 487,
+ 0, 488, 0, 487, 487, 0, 490, 0, 488, 0,
+ 488, 0, 488, 0, 0, 0, 490, 488, 490, 0,
+ 490, 491, 491, 0, 492, 490, 490, 493, 0, 0,
+ 0, 491, 0, 491, 492, 491, 492, 493, 492, 493,
+ 491, 493, 496, 492, 0, 497, 493, 0, 0, 0,
- 498, 497, 498, 497, 499, 500, 0, 498, 497, 0,
- 0, 499, 500, 0, 499, 500, 499, 500, 499, 500,
- 501, 502, 0, 499, 500, 0, 0, 0, 0, 0,
- 501, 502, 501, 502, 501, 502, 503, 0, 0, 501,
- 502, 0, 504, 503, 504, 0, 503, 0, 503, 0,
- 503, 0, 504, 505, 504, 503, 504, 0, 0, 506,
- 0, 504, 0, 505, 506, 505, 0, 505, 0, 506,
- 507, 506, 505, 506, 0, 0, 0, 0, 506, 0,
- 507, 508, 507, 0, 507, 0, 0, 0, 507, 507,
- 0, 508, 509, 508, 0, 508, 0, 0, 510, 508,
+ 0, 0, 496, 0, 496, 497, 496, 497, 0, 497,
+ 0, 496, 497, 0, 497, 503, 503, 503, 503, 503,
+ 504, 0, 0, 0, 504, 504, 504, 504, 504, 504,
+ 504, 504, 503, 503, 503, 503, 503, 503, 503, 503,
+ 508, 509, 0, 0, 0, 0, 0, 0, 509, 0,
+ 508, 509, 508, 509, 508, 509, 511, 0, 508, 508,
+ 509, 0, 512, 0, 0, 512, 511, 0, 511, 0,
+ 511, 0, 512, 513, 512, 511, 512, 0, 0, 514,
+ 0, 512, 0, 513, 0, 513, 514, 513, 0, 514,
+ 515, 514, 513, 514, 0, 0, 516, 515, 514, 0,
- 508, 0, 509, 0, 509, 0, 509, 0, 510, 511,
- 510, 509, 510, 0, 0, 515, 0, 510, 0, 511,
- 0, 511, 515, 511, 0, 515, 516, 515, 511, 515,
- 0, 0, 0, 0, 515, 0, 516, 517, 516, 0,
- 516, 0, 0, 518, 516, 516, 0, 517, 0, 517,
- 0, 517, 0, 518, 519, 518, 517, 518, 0, 0,
- 520, 0, 518, 520, 519, 0, 519, 0, 519, 0,
- 520, 519, 520, 519, 520, 521, 522, 0, 0, 520,
- 0, 0, 0, 0, 0, 521, 522, 521, 522, 521,
- 522, 523, 523, 521, 521, 522, 0, 524, 0, 0,
+ 515, 0, 515, 0, 515, 0, 516, 517, 516, 515,
+ 516, 0, 0, 518, 0, 516, 0, 517, 0, 517,
+ 518, 517, 0, 518, 0, 518, 517, 518, 519, 520,
+ 519, 0, 518, 0, 0, 0, 0, 0, 519, 520,
+ 519, 520, 519, 520, 521, 0, 0, 519, 520, 521,
+ 522, 0, 0, 0, 521, 0, 521, 0, 521, 0,
+ 522, 523, 522, 521, 522, 0, 0, 0, 522, 522,
+ 0, 523, 524, 523, 0, 523, 0, 0, 525, 523,
+ 523, 0, 524, 0, 524, 0, 524, 0, 525, 526,
+ 525, 524, 525, 0, 0, 530, 0, 525, 0, 526,
- 0, 523, 0, 523, 0, 523, 0, 524, 527, 524,
- 523, 524, 0, 0, 529, 0, 524, 0, 527, 0,
- 527, 0, 527, 0, 529, 531, 529, 527, 529, 0,
- 0, 532, 0, 529, 0, 531, 0, 531, 0, 531,
- 0, 532, 524, 532, 531, 532, 534, 0, 0, 534,
- 532, 0, 535, 0, 0, 535, 534, 0, 534, 0,
- 534, 0, 535, 0, 535, 534, 535, 538, 538, 0,
- 0, 535, 0, 544, 544, 544, 544, 0, 538, 0,
- 538, 0, 538, 0, 0, 0, 0, 538, 544, 544,
- 544, 544, 544, 544, 544, 544, 547, 548, 548, 0,
+ 0, 526, 530, 526, 0, 530, 531, 530, 526, 530,
+ 0, 0, 0, 0, 530, 0, 531, 532, 531, 0,
+ 531, 0, 0, 533, 531, 531, 0, 532, 0, 532,
+ 0, 532, 0, 533, 534, 533, 532, 533, 0, 0,
+ 535, 0, 533, 535, 534, 0, 534, 0, 534, 0,
+ 535, 534, 535, 534, 535, 536, 537, 0, 0, 535,
+ 0, 0, 0, 0, 0, 536, 537, 536, 537, 536,
+ 537, 538, 538, 536, 536, 537, 0, 539, 0, 0,
+ 0, 538, 0, 538, 0, 538, 0, 539, 542, 539,
+ 538, 539, 0, 0, 544, 0, 539, 0, 542, 0,
- 0, 0, 0, 547, 0, 0, 547, 548, 547, 548,
- 547, 548, 550, 0, 0, 547, 548, 0, 0, 0,
- 551, 0, 550, 552, 550, 0, 550, 0, 550, 0,
- 551, 550, 551, 552, 551, 552, 553, 552, 551, 551,
- 0, 0, 552, 556, 554, 0, 553, 0, 553, 0,
- 553, 0, 555, 0, 554, 553, 554, 554, 554, 0,
- 556, 0, 555, 554, 555, 0, 555, 0, 0, 0,
- 556, 555, 556, 557, 556, 0, 557, 0, 0, 556,
- 0, 558, 0, 557, 0, 557, 0, 557, 0, 559,
- 0, 558, 557, 558, 0, 558, 559, 560, 0, 559,
+ 542, 0, 542, 0, 544, 546, 544, 542, 544, 0,
+ 0, 547, 0, 544, 0, 546, 0, 546, 0, 546,
+ 0, 547, 539, 547, 546, 547, 549, 0, 0, 549,
+ 547, 0, 550, 0, 0, 550, 549, 0, 549, 0,
+ 549, 0, 550, 0, 550, 549, 550, 553, 553, 564,
+ 564, 550, 559, 559, 559, 559, 559, 0, 553, 564,
+ 553, 564, 553, 564, 0, 0, 0, 553, 564, 559,
+ 559, 559, 559, 559, 559, 559, 559, 563, 566, 0,
+ 0, 0, 0, 0, 563, 0, 0, 563, 566, 563,
+ 566, 563, 566, 567, 566, 0, 563, 566, 0, 0,
- 558, 559, 0, 559, 0, 0, 0, 560, 559, 560,
- 565, 560, 0, 565, 0, 0, 560, 0, 566, 0,
- 565, 567, 565, 0, 565, 0, 0, 0, 566, 565,
- 566, 567, 566, 567, 568, 567, 0, 566, 0, 0,
- 567, 0, 569, 0, 568, 570, 568, 0, 568, 569,
- 0, 0, 569, 568, 569, 570, 569, 570, 574, 570,
- 0, 569, 578, 570, 570, 0, 579, 0, 574, 0,
- 574, 0, 574, 0, 0, 0, 579, 574, 579, 578,
- 579, 0, 582, 0, 0, 579, 0, 0, 0, 578,
- 0, 578, 582, 578, 582, 0, 582, 591, 578, 0,
+ 0, 0, 0, 567, 568, 567, 0, 567, 0, 0,
+ 569, 567, 567, 0, 568, 0, 568, 0, 568, 0,
+ 569, 570, 569, 568, 569, 572, 0, 571, 0, 569,
+ 0, 570, 0, 570, 570, 570, 0, 571, 0, 571,
+ 570, 571, 572, 0, 0, 573, 571, 0, 573, 0,
+ 0, 0, 572, 574, 572, 573, 572, 573, 0, 573,
+ 0, 572, 0, 574, 573, 574, 575, 574, 0, 576,
+ 0, 0, 574, 575, 0, 0, 575, 0, 575, 576,
+ 575, 576, 0, 576, 581, 575, 0, 581, 576, 0,
+ 582, 0, 0, 0, 581, 0, 581, 0, 581, 0,
- 0, 582, 587, 587, 587, 587, 0, 591, 0, 591,
- 591, 591, 0, 0, 0, 592, 591, 587, 587, 587,
- 587, 587, 587, 587, 587, 592, 594, 592, 0, 592,
- 0, 0, 595, 0, 592, 0, 594, 0, 594, 0,
- 594, 0, 595, 0, 595, 594, 595, 596, 597, 595,
- 596, 595, 0, 597, 0, 0, 0, 596, 597, 596,
- 597, 596, 597, 598, 0, 0, 596, 597, 0, 600,
- 0, 600, 0, 598, 0, 598, 0, 598, 0, 600,
- 601, 600, 598, 600, 0, 0, 606, 0, 600, 0,
- 601, 0, 601, 0, 601, 0, 606, 607, 606, 601,
+ 582, 583, 582, 581, 582, 0, 0, 584, 0, 582,
+ 0, 583, 0, 583, 0, 583, 0, 584, 585, 584,
+ 583, 584, 0, 0, 586, 585, 584, 0, 585, 594,
+ 585, 0, 585, 0, 586, 590, 586, 585, 586, 0,
+ 0, 0, 586, 586, 0, 590, 594, 590, 0, 590,
+ 0, 0, 595, 0, 590, 0, 594, 0, 594, 0,
+ 594, 0, 595, 598, 595, 594, 595, 0, 0, 0,
+ 0, 595, 0, 598, 0, 598, 0, 598, 608, 0,
+ 0, 0, 598, 603, 603, 603, 603, 603, 608, 0,
+ 608, 608, 608, 0, 0, 0, 0, 608, 0, 0,
- 606, 0, 606, 0, 0, 606, 0, 607, 608, 607,
- 607, 607, 0, 0, 618, 608, 607, 0, 608, 0,
- 608, 0, 608, 0, 618, 627, 618, 608, 618, 0,
- 0, 628, 0, 618, 0, 627, 0, 627, 0, 627,
- 0, 628, 0, 628, 627, 628, 629, 630, 629, 0,
- 628, 0, 0, 0, 0, 0, 629, 630, 629, 630,
- 629, 630, 631, 633, 0, 629, 630, 0, 0, 0,
- 0, 0, 631, 633, 631, 633, 631, 633, 634, 631,
- 0, 631, 633, 0, 638, 634, 0, 0, 634, 0,
- 634, 0, 634, 0, 638, 639, 638, 634, 638, 0,
+ 603, 603, 603, 603, 603, 603, 603, 603, 604, 604,
+ 604, 604, 604, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 609, 611, 604, 604, 604, 604, 604,
+ 604, 604, 604, 609, 611, 609, 611, 609, 611, 612,
+ 0, 0, 609, 611, 0, 613, 0, 0, 613, 612,
+ 0, 612, 0, 612, 0, 613, 612, 613, 612, 613,
+ 614, 615, 0, 0, 613, 614, 0, 0, 0, 0,
+ 614, 615, 614, 615, 614, 615, 617, 0, 617, 614,
+ 615, 0, 618, 0, 0, 0, 617, 0, 617, 0,
+ 617, 604, 618, 623, 618, 617, 618, 0, 0, 0,
- 0, 0, 0, 638, 0, 639, 640, 639, 0, 639,
- 0, 0, 655, 0, 639, 0, 640, 0, 640, 640,
- 640, 0, 655, 656, 655, 640, 655, 0, 0, 657,
- 0, 655, 0, 656, 0, 656, 0, 656, 0, 657,
- 659, 657, 656, 657, 0, 0, 0, 0, 657, 0,
- 659, 663, 659, 0, 659, 0, 0, 664, 659, 659,
- 0, 663, 0, 663, 0, 663, 0, 664, 663, 664,
- 663, 664, 679, 683, 0, 0, 664, 0, 0, 0,
- 0, 0, 679, 683, 679, 683, 679, 683, 684, 699,
- 0, 679, 683, 0, 0, 679, 0, 0, 684, 699,
+ 0, 618, 0, 623, 624, 623, 0, 623, 0, 623,
+ 0, 0, 623, 0, 624, 625, 624, 624, 624, 0,
+ 0, 635, 625, 624, 0, 625, 0, 625, 0, 625,
+ 0, 635, 645, 635, 625, 635, 0, 0, 646, 0,
+ 635, 0, 645, 0, 645, 0, 645, 0, 646, 0,
+ 646, 645, 646, 647, 648, 647, 0, 646, 0, 0,
+ 0, 0, 0, 647, 648, 647, 648, 647, 648, 649,
+ 651, 0, 647, 648, 0, 0, 0, 0, 0, 649,
+ 651, 649, 651, 649, 651, 652, 649, 0, 649, 651,
+ 0, 656, 652, 0, 0, 652, 0, 652, 0, 652,
- 684, 699, 684, 699, 0, 0, 0, 684, 699, 749,
- 749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
- 749, 749, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 752, 752,
- 752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
- 752, 753, 753, 753, 753, 753, 753, 753, 753, 753,
- 753, 753, 753, 753, 754, 754, 754, 754, 0, 754,
- 754, 754, 754, 754, 754, 754, 754, 755, 755, 755,
- 0, 755, 0, 755, 0, 755, 756, 756, 0, 756,
+ 0, 656, 657, 656, 652, 656, 0, 0, 0, 0,
+ 656, 0, 657, 658, 657, 0, 657, 0, 0, 674,
+ 0, 657, 0, 658, 0, 658, 658, 658, 0, 674,
+ 675, 674, 658, 674, 0, 0, 676, 0, 674, 0,
+ 675, 0, 675, 0, 675, 0, 676, 678, 676, 675,
+ 676, 0, 0, 0, 0, 676, 0, 678, 682, 678,
+ 0, 678, 0, 0, 683, 678, 678, 0, 682, 0,
+ 682, 0, 682, 0, 683, 682, 683, 682, 683, 699,
+ 703, 0, 0, 683, 0, 0, 0, 0, 0, 699,
+ 703, 699, 703, 699, 703, 704, 719, 0, 699, 703,
- 756, 757, 757, 0, 0, 757, 757, 0, 757, 757,
- 757, 757, 757, 757, 758, 758, 758, 758, 0, 758,
- 758, 758, 758, 758, 758, 758, 758, 759, 759, 759,
- 759, 759, 759, 759, 759, 0, 759, 759, 760, 0,
- 0, 0, 760, 760, 760, 760, 760, 760, 760, 761,
- 0, 0, 0, 761, 761, 761, 761, 761, 761, 761,
- 762, 762, 0, 762, 762, 763, 763, 0, 763, 763,
- 764, 764, 0, 764, 764, 765, 0, 765, 765, 766,
- 766, 0, 766, 766, 767, 0, 767, 767, 768, 0,
- 768, 768, 769, 0, 769, 769, 770, 0, 770, 770,
-
+ 0, 0, 699, 0, 0, 704, 719, 704, 719, 704,
+ 719, 0, 0, 0, 704, 719, 769, 769, 769, 769,
+ 769, 769, 769, 769, 769, 769, 769, 769, 770, 770,
+ 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 772, 772, 0, 772, 772, 773, 773,
- 0, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 774, 774, 774, 0, 0, 0, 774, 0, 0,
- 0, 0, 774, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 771, 771, 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 774, 774, 774, 774,
+ 0, 774, 774, 774, 774, 774, 774, 774, 775, 775,
+ 775, 0, 775, 0, 775, 776, 776, 0, 776, 776,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 748
+ 777, 777, 0, 0, 777, 777, 0, 777, 777, 777,
+ 777, 777, 778, 778, 778, 778, 0, 778, 778, 778,
+ 778, 778, 778, 778, 779, 779, 779, 779, 779, 779,
+ 779, 779, 0, 779, 779, 780, 0, 0, 0, 780,
+ 780, 780, 780, 780, 780, 780, 781, 0, 0, 0,
+ 781, 781, 781, 781, 781, 781, 781, 782, 782, 0,
+ 782, 782, 783, 783, 0, 783, 784, 784, 0, 784,
+ 784, 785, 785, 0, 785, 785, 786, 0, 786, 786,
+ 787, 787, 0, 787, 787, 788, 0, 788, 788, 789,
+ 0, 789, 789, 790, 0, 790, 791, 0, 791, 791,
+
+ 792, 0, 792, 792, 793, 793, 793, 793, 793, 793,
+ 793, 793, 793, 793, 793, 793, 794, 794, 0, 794,
+ 794, 795, 795, 0, 795, 795, 795, 795, 795, 795,
+ 795, 795, 795, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
+ 768, 768
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[142] =
+static yyconst flex_int32_t yy_rule_can_match_eol[143] =
{ 0,
-0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
+ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1,
- 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0,
+ 1, 0, 0, };
extern int asn1p__flex_debug;
int asn1p__flex_debug = 1;
-static yyconst flex_int16_t yy_rule_linenum[141] =
+static yyconst flex_int16_t yy_rule_linenum[142] =
{ 0,
- 96, 98, 99, 101, 104, 106, 109, 111, 112, 113,
- 116, 118, 119, 120, 132, 139, 146, 152, 161, 169,
- 177, 178, 180, 199, 205, 206, 207, 208, 209, 212,
- 218, 225, 232, 239, 246, 253, 254, 255, 263, 264,
- 265, 266, 267, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 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,
+ 98, 100, 101, 103, 106, 109, 115, 118, 120, 121,
+ 122, 125, 127, 128, 129, 141, 148, 155, 161, 170,
+ 178, 186, 187, 189, 208, 214, 215, 216, 217, 218,
+ 221, 227, 234, 241, 248, 255, 262, 263, 264, 272,
+ 273, 274, 280, 281, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 305, 306, 307, 308, 309,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 353, 354, 359, 360, 361, 364, 369, 375,
- 383, 393, 398, 400, 401, 405, 410, 415, 421, 422,
- 424, 430, 443, 446, 471, 515, 516, 518, 520, 531
+ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 372, 373, 378, 379, 380, 383, 388,
+ 394, 402, 412, 417, 419, 420, 424, 429, 434, 440,
+ 441, 443, 449, 462, 465, 490, 534, 535, 537, 539,
+ 550
} ;
static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
@@ -2041,6 +2073,7 @@
int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
+int asn1p_lexer_extended_values = 0;
int asn1p_as_pointer;
@@ -2094,9 +2127,10 @@
+
/* Newline */
/* White-space */
-#line 2100 "asn1p_l.c"
+#line 2134 "asn1p_l.c"
#define INITIAL 0
#define dash_comment 1
@@ -2106,6 +2140,7 @@
#define opaque 5
#define encoding_control 6
#define with_syntax 7
+#define extended_values 8
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -2355,10 +2390,10 @@
register int yy_act;
/* %% [7.0] user's declarations go here */
-#line 94 "asn1p_l.l"
+#line 96 "asn1p_l.l"
-#line 2362 "asn1p_l.c"
+#line 2397 "asn1p_l.c"
if ( !(yy_init) )
{
@@ -2426,14 +2461,14 @@
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 >= 749 )
+ if ( yy_current_state >= 769 )
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_current_state != 748 );
+ while ( yy_current_state != 768 );
yy_find_action:
/* %% [10.0] code to find the action number goes here */
@@ -2477,13 +2512,13 @@
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 141 )
+ else if ( yy_act < 142 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], asn1p_text );
- else if ( yy_act == 141 )
+ else if ( yy_act == 142 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
asn1p_text );
- else if ( yy_act == 142 )
+ else if ( yy_act == 143 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -2494,7 +2529,7 @@
/* %% [13.0] actions go here */
case 1:
YY_RULE_SETUP
-#line 96 "asn1p_l.l"
+#line 98 "asn1p_l.l"
return UTF8_BOM;
YY_BREAK
case 2:
@@ -2503,7 +2538,7 @@
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
YY_RULE_SETUP
-#line 98 "asn1p_l.l"
+#line 100 "asn1p_l.l"
/* Immediately terminated long comment */
YY_BREAK
case 3:
@@ -2511,69 +2546,79 @@
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
YY_RULE_SETUP
-#line 99 "asn1p_l.l"
+#line 101 "asn1p_l.l"
yy_push_state(idash_comment); /* Incorrect, but acceptable */
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 101 "asn1p_l.l"
+#line 103 "asn1p_l.l"
yy_pop_state(); /* Acceptable end of comment */
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 104 "asn1p_l.l"
+#line 106 "asn1p_l.l"
asn1p_as_pointer = 1;
YY_BREAK
+
case 6:
YY_RULE_SETUP
-#line 106 "asn1p_l.l"
-yy_push_state(dash_comment);
+#line 109 "asn1p_l.l"
+{
+ yy_pop_state();
+ return TOK_ExtValue_BIT_STRING;
+ }
YY_BREAK
case 7:
-/* rule 7 can match eol */
YY_RULE_SETUP
-#line 109 "asn1p_l.l"
-yy_pop_state();
+#line 115 "asn1p_l.l"
+yy_push_state(dash_comment);
YY_BREAK
+
case 8:
+/* rule 8 can match eol */
YY_RULE_SETUP
-#line 111 "asn1p_l.l"
-yy_pop_state(); /* End of comment */
+#line 118 "asn1p_l.l"
+yy_pop_state();
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 112 "asn1p_l.l"
-/* Eat single dash */
+#line 120 "asn1p_l.l"
+yy_pop_state(); /* End of comment */
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 113 "asn1p_l.l"
-/* Eat */
+#line 121 "asn1p_l.l"
+/* Eat single dash */
YY_BREAK
-
case 11:
YY_RULE_SETUP
-#line 116 "asn1p_l.l"
-yy_push_state(cpp_comment);
+#line 122 "asn1p_l.l"
+/* Eat */
YY_BREAK
case 12:
-/* rule 12 can match eol */
YY_RULE_SETUP
-#line 118 "asn1p_l.l"
-/* Eat */
+#line 125 "asn1p_l.l"
+yy_push_state(cpp_comment);
YY_BREAK
+
case 13:
+/* rule 13 can match eol */
YY_RULE_SETUP
-#line 119 "asn1p_l.l"
-yy_pop_state();
+#line 127 "asn1p_l.l"
+/* Eat */
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 120 "asn1p_l.l"
+#line 128 "asn1p_l.l"
+yy_pop_state();
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 129 "asn1p_l.l"
/* Eat */
YY_BREAK
@@ -2584,9 +2629,9 @@
* everything for later processing.
*/
-case 15:
+case 16:
YY_RULE_SETUP
-#line 132 "asn1p_l.l"
+#line 141 "asn1p_l.l"
{
yy_push_state(opaque);
asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
@@ -2594,9 +2639,9 @@
return TOK_opaque;
}
YY_BREAK
-case 16:
+case 17:
YY_RULE_SETUP
-#line 139 "asn1p_l.l"
+#line 148 "asn1p_l.l"
{
yy_pop_state();
asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
@@ -2604,19 +2649,19 @@
return TOK_opaque;
}
YY_BREAK
-case 17:
-/* rule 17 can match eol */
+case 18:
+/* rule 18 can match eol */
YY_RULE_SETUP
-#line 146 "asn1p_l.l"
+#line 155 "asn1p_l.l"
{
asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
asn1p_lval.tv_opaque.len = asn1p_leng;
return TOK_opaque;
}
YY_BREAK
-case 18:
+case 19:
YY_RULE_SETUP
-#line 152 "asn1p_l.l"
+#line 161 "asn1p_l.l"
{
fprintf(stderr,
"ASN.1 Parser syncronization failure: "
@@ -2626,9 +2671,9 @@
return -1;
}
YY_BREAK
-case 19:
+case 20:
YY_RULE_SETUP
-#line 161 "asn1p_l.l"
+#line 170 "asn1p_l.l"
{
asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
asn1p_lval.tv_opaque.len = asn1p_leng;
@@ -2636,10 +2681,10 @@
}
YY_BREAK
-case 20:
-/* rule 20 can match eol */
+case 21:
+/* rule 21 can match eol */
YY_RULE_SETUP
-#line 169 "asn1p_l.l"
+#line 178 "asn1p_l.l"
{
asn1p_lval.tv_opaque.buf = 0;
asn1p_lval.tv_opaque.len = 0;
@@ -2648,20 +2693,20 @@
}
YY_BREAK
-case 21:
+case 22:
YY_RULE_SETUP
-#line 177 "asn1p_l.l"
+#line 186 "asn1p_l.l"
{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
YY_BREAK
-case 22:
-/* rule 22 can match eol */
+case 23:
+/* rule 23 can match eol */
YY_RULE_SETUP
-#line 178 "asn1p_l.l"
+#line 187 "asn1p_l.l"
{ QAPPEND(asn1p_text, asn1p_leng); }
YY_BREAK
-case 23:
+case 24:
YY_RULE_SETUP
-#line 180 "asn1p_l.l"
+#line 189 "asn1p_l.l"
{
yy_pop_state();
/* Do not append last quote:
@@ -2680,9 +2725,9 @@
YY_BREAK
-case 24:
+case 25:
YY_RULE_SETUP
-#line 199 "asn1p_l.l"
+#line 208 "asn1p_l.l"
{
const char *s = "ENCODING-CONTROL";
const char *p = s + sizeof("ENCODING-CONTROL") - 2;
@@ -2690,56 +2735,56 @@
yy_pop_state();
}
YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 205 "asn1p_l.l"
-unput('D'); unput('N'); unput('E'); yy_pop_state();
- YY_BREAK
case 26:
YY_RULE_SETUP
-#line 206 "asn1p_l.l"
-
+#line 214 "asn1p_l.l"
+unput('D'); unput('N'); unput('E'); yy_pop_state();
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 207 "asn1p_l.l"
+#line 215 "asn1p_l.l"
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 208 "asn1p_l.l"
-/* Eat everything else */
+#line 216 "asn1p_l.l"
+
YY_BREAK
case 29:
-/* rule 29 can match eol */
YY_RULE_SETUP
-#line 209 "asn1p_l.l"
-
+#line 217 "asn1p_l.l"
+/* Eat everything else */
YY_BREAK
-
case 30:
/* rule 30 can match eol */
YY_RULE_SETUP
-#line 212 "asn1p_l.l"
+#line 218 "asn1p_l.l"
+
+ YY_BREAK
+
+case 31:
+/* rule 31 can match eol */
+YY_RULE_SETUP
+#line 221 "asn1p_l.l"
{
/* " \t\r\n" weren't allowed in ASN.1:1990. */
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_hstring;
}
YY_BREAK
-case 31:
-/* rule 31 can match eol */
+case 32:
+/* rule 32 can match eol */
YY_RULE_SETUP
-#line 218 "asn1p_l.l"
+#line 227 "asn1p_l.l"
{
/* " \t\r\n" weren't allowed in ASN.1:1990. */
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_bstring;
}
YY_BREAK
-case 32:
+case 33:
YY_RULE_SETUP
-#line 225 "asn1p_l.l"
+#line 234 "asn1p_l.l"
{
asn1p_lval.a_int = _lex_atoi(asn1p_text);
if(errno == ERANGE)
@@ -2747,19 +2792,9 @@
return TOK_number_negative;
}
YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 232 "asn1p_l.l"
-{
- asn1p_lval.a_int = _lex_atoi(asn1p_text);
- if(errno == ERANGE)
- return -1;
- return TOK_number;
- }
- YY_BREAK
case 34:
YY_RULE_SETUP
-#line 239 "asn1p_l.l"
+#line 241 "asn1p_l.l"
{
asn1p_lval.a_int = _lex_atoi(asn1p_text);
if(errno == ERANGE)
@@ -2769,7 +2804,17 @@
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 246 "asn1p_l.l"
+#line 248 "asn1p_l.l"
+{
+ asn1p_lval.a_int = _lex_atoi(asn1p_text);
+ if(errno == ERANGE)
+ return -1;
+ return TOK_number;
+ }
+ YY_BREAK
+case 36:
+YY_RULE_SETUP
+#line 255 "asn1p_l.l"
{
asn1p_lval.a_dbl = _lex_atod(asn1p_text);
if(errno == ERANGE)
@@ -2777,19 +2822,19 @@
return TOK_realnumber;
}
YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 253 "asn1p_l.l"
-return TOK_ABSENT;
- YY_BREAK
case 37:
YY_RULE_SETUP
-#line 254 "asn1p_l.l"
-return TOK_ALL;
+#line 262 "asn1p_l.l"
+return TOK_ABSENT;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 255 "asn1p_l.l"
+#line 263 "asn1p_l.l"
+return TOK_ALL;
+ YY_BREAK
+case 39:
+YY_RULE_SETUP
+#line 264 "asn1p_l.l"
{
/* Appeared in 1990, removed in 1997 */
if(TYPE_LIFETIME(1990, 1997))
@@ -2799,88 +2844,93 @@
REJECT;
}
YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 263 "asn1p_l.l"
-return TOK_APPLICATION;
- YY_BREAK
case 40:
YY_RULE_SETUP
-#line 264 "asn1p_l.l"
-return TOK_AUTOMATIC;
+#line 272 "asn1p_l.l"
+return TOK_APPLICATION;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 265 "asn1p_l.l"
-return TOK_BEGIN;
+#line 273 "asn1p_l.l"
+return TOK_AUTOMATIC;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 266 "asn1p_l.l"
-return TOK_BIT;
+#line 274 "asn1p_l.l"
+{
+ if(asn1p_lexer_extended_values) {
+ yy_push_state(extended_values);
+ }
+ return TOK_BEGIN;
+ }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 267 "asn1p_l.l"
+#line 280 "asn1p_l.l"
+return TOK_BIT;
+ YY_BREAK
+case 44:
+YY_RULE_SETUP
+#line 281 "asn1p_l.l"
{
if(TYPE_LIFETIME(1994, 0))
return TOK_BMPString;
REJECT;
}
YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 272 "asn1p_l.l"
-return TOK_BOOLEAN;
- YY_BREAK
case 45:
YY_RULE_SETUP
-#line 273 "asn1p_l.l"
-return TOK_BY;
+#line 286 "asn1p_l.l"
+return TOK_BOOLEAN;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 274 "asn1p_l.l"
-return TOK_CHARACTER;
+#line 287 "asn1p_l.l"
+return TOK_BY;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 275 "asn1p_l.l"
-return TOK_CHOICE;
+#line 288 "asn1p_l.l"
+return TOK_CHARACTER;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 276 "asn1p_l.l"
-return TOK_CLASS;
+#line 289 "asn1p_l.l"
+return TOK_CHOICE;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 277 "asn1p_l.l"
-return TOK_COMPONENT;
+#line 290 "asn1p_l.l"
+return TOK_CLASS;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 278 "asn1p_l.l"
-return TOK_COMPONENTS;
+#line 291 "asn1p_l.l"
+return TOK_COMPONENT;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 279 "asn1p_l.l"
-return TOK_CONSTRAINED;
+#line 292 "asn1p_l.l"
+return TOK_COMPONENTS;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 280 "asn1p_l.l"
-return TOK_CONTAINING;
+#line 293 "asn1p_l.l"
+return TOK_CONSTRAINED;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 281 "asn1p_l.l"
-return TOK_DEFAULT;
+#line 294 "asn1p_l.l"
+return TOK_CONTAINING;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 282 "asn1p_l.l"
+#line 295 "asn1p_l.l"
+return TOK_DEFAULT;
+ YY_BREAK
+case 55:
+YY_RULE_SETUP
+#line 296 "asn1p_l.l"
{
/* Appeared in 1990, removed in 1997 */
if(TYPE_LIFETIME(1990, 1997))
@@ -2891,348 +2941,353 @@
REJECT;
}
YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 291 "asn1p_l.l"
-return TOK_DEFINITIONS;
- YY_BREAK
case 56:
YY_RULE_SETUP
-#line 292 "asn1p_l.l"
-return TOK_EMBEDDED;
+#line 305 "asn1p_l.l"
+return TOK_DEFINITIONS;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 293 "asn1p_l.l"
-return TOK_ENCODED;
+#line 306 "asn1p_l.l"
+return TOK_EMBEDDED;
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 294 "asn1p_l.l"
-return TOK_ENCODING_CONTROL;
+#line 307 "asn1p_l.l"
+return TOK_ENCODED;
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 295 "asn1p_l.l"
-return TOK_END;
+#line 308 "asn1p_l.l"
+return TOK_ENCODING_CONTROL;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 296 "asn1p_l.l"
-return TOK_ENUMERATED;
+#line 309 "asn1p_l.l"
+{
+ if(YYSTATE == extended_values) {
+ yy_pop_state();
+ }
+ return TOK_END;
+ }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 297 "asn1p_l.l"
-return TOK_EXCEPT;
+#line 315 "asn1p_l.l"
+return TOK_ENUMERATED;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 298 "asn1p_l.l"
-return TOK_EXPLICIT;
+#line 316 "asn1p_l.l"
+return TOK_EXCEPT;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 299 "asn1p_l.l"
-return TOK_EXPORTS;
+#line 317 "asn1p_l.l"
+return TOK_EXPLICIT;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 300 "asn1p_l.l"
-return TOK_EXTENSIBILITY;
+#line 318 "asn1p_l.l"
+return TOK_EXPORTS;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 301 "asn1p_l.l"
-return TOK_EXTERNAL;
+#line 319 "asn1p_l.l"
+return TOK_EXTENSIBILITY;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 302 "asn1p_l.l"
-return TOK_FALSE;
+#line 320 "asn1p_l.l"
+return TOK_EXTERNAL;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 303 "asn1p_l.l"
-return TOK_FROM;
+#line 321 "asn1p_l.l"
+return TOK_FALSE;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 304 "asn1p_l.l"
-return TOK_GeneralizedTime;
+#line 322 "asn1p_l.l"
+return TOK_FROM;
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 305 "asn1p_l.l"
-return TOK_GeneralString;
+#line 323 "asn1p_l.l"
+return TOK_GeneralizedTime;
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 306 "asn1p_l.l"
-return TOK_GraphicString;
+#line 324 "asn1p_l.l"
+return TOK_GeneralString;
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 307 "asn1p_l.l"
-return TOK_IA5String;
+#line 325 "asn1p_l.l"
+return TOK_GraphicString;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 308 "asn1p_l.l"
-return TOK_IDENTIFIER;
+#line 326 "asn1p_l.l"
+return TOK_IA5String;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 309 "asn1p_l.l"
-return TOK_IMPLICIT;
+#line 327 "asn1p_l.l"
+return TOK_IDENTIFIER;
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 310 "asn1p_l.l"
-return TOK_IMPLIED;
+#line 328 "asn1p_l.l"
+return TOK_IMPLICIT;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 311 "asn1p_l.l"
-return TOK_IMPORTS;
+#line 329 "asn1p_l.l"
+return TOK_IMPLIED;
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 312 "asn1p_l.l"
-return TOK_INCLUDES;
+#line 330 "asn1p_l.l"
+return TOK_IMPORTS;
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 313 "asn1p_l.l"
-return TOK_INSTANCE;
+#line 331 "asn1p_l.l"
+return TOK_INCLUDES;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 314 "asn1p_l.l"
-return TOK_INSTRUCTIONS;
+#line 332 "asn1p_l.l"
+return TOK_INSTANCE;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 315 "asn1p_l.l"
-return TOK_INTEGER;
+#line 333 "asn1p_l.l"
+return TOK_INSTRUCTIONS;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 316 "asn1p_l.l"
-return TOK_INTERSECTION;
+#line 334 "asn1p_l.l"
+return TOK_INTEGER;
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 317 "asn1p_l.l"
-return TOK_ISO646String;
+#line 335 "asn1p_l.l"
+return TOK_INTERSECTION;
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 318 "asn1p_l.l"
-return TOK_MAX;
+#line 336 "asn1p_l.l"
+return TOK_ISO646String;
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 319 "asn1p_l.l"
-return TOK_MIN;
+#line 337 "asn1p_l.l"
+return TOK_MAX;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 320 "asn1p_l.l"
-return TOK_MINUS_INFINITY;
+#line 338 "asn1p_l.l"
+return TOK_MIN;
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 321 "asn1p_l.l"
-return TOK_NULL;
+#line 339 "asn1p_l.l"
+return TOK_MINUS_INFINITY;
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 322 "asn1p_l.l"
-return TOK_NumericString;
+#line 340 "asn1p_l.l"
+return TOK_NULL;
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 323 "asn1p_l.l"
-return TOK_OBJECT;
+#line 341 "asn1p_l.l"
+return TOK_NumericString;
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 324 "asn1p_l.l"
-return TOK_ObjectDescriptor;
+#line 342 "asn1p_l.l"
+return TOK_OBJECT;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 325 "asn1p_l.l"
-return TOK_OCTET;
+#line 343 "asn1p_l.l"
+return TOK_ObjectDescriptor;
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 326 "asn1p_l.l"
-return TOK_OF;
+#line 344 "asn1p_l.l"
+return TOK_OCTET;
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 327 "asn1p_l.l"
-return TOK_OPTIONAL;
+#line 345 "asn1p_l.l"
+return TOK_OF;
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 328 "asn1p_l.l"
-return TOK_PATTERN;
+#line 346 "asn1p_l.l"
+return TOK_OPTIONAL;
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 329 "asn1p_l.l"
-return TOK_PDV;
+#line 347 "asn1p_l.l"
+return TOK_PATTERN;
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 330 "asn1p_l.l"
-return TOK_PLUS_INFINITY;
+#line 348 "asn1p_l.l"
+return TOK_PDV;
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 331 "asn1p_l.l"
-return TOK_PRESENT;
+#line 349 "asn1p_l.l"
+return TOK_PLUS_INFINITY;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 332 "asn1p_l.l"
-return TOK_PrintableString;
+#line 350 "asn1p_l.l"
+return TOK_PRESENT;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 333 "asn1p_l.l"
-return TOK_PRIVATE;
+#line 351 "asn1p_l.l"
+return TOK_PrintableString;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 334 "asn1p_l.l"
-return TOK_REAL;
+#line 352 "asn1p_l.l"
+return TOK_PRIVATE;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 335 "asn1p_l.l"
-return TOK_RELATIVE_OID;
+#line 353 "asn1p_l.l"
+return TOK_REAL;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 336 "asn1p_l.l"
-return TOK_SEQUENCE;
+#line 354 "asn1p_l.l"
+return TOK_RELATIVE_OID;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 337 "asn1p_l.l"
-return TOK_SET;
+#line 355 "asn1p_l.l"
+return TOK_SEQUENCE;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 338 "asn1p_l.l"
-return TOK_SIZE;
+#line 356 "asn1p_l.l"
+return TOK_SET;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 339 "asn1p_l.l"
-return TOK_STRING;
+#line 357 "asn1p_l.l"
+return TOK_SIZE;
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 340 "asn1p_l.l"
-return TOK_SYNTAX;
+#line 358 "asn1p_l.l"
+return TOK_STRING;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 341 "asn1p_l.l"
-return TOK_T61String;
+#line 359 "asn1p_l.l"
+return TOK_SYNTAX;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 342 "asn1p_l.l"
-return TOK_TAGS;
+#line 360 "asn1p_l.l"
+return TOK_T61String;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 343 "asn1p_l.l"
-return TOK_TeletexString;
+#line 361 "asn1p_l.l"
+return TOK_TAGS;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 344 "asn1p_l.l"
-return TOK_TRUE;
+#line 362 "asn1p_l.l"
+return TOK_TeletexString;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 345 "asn1p_l.l"
-return TOK_UNION;
+#line 363 "asn1p_l.l"
+return TOK_TRUE;
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 346 "asn1p_l.l"
-return TOK_UNIQUE;
+#line 364 "asn1p_l.l"
+return TOK_UNION;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 347 "asn1p_l.l"
-return TOK_UNIVERSAL;
+#line 365 "asn1p_l.l"
+return TOK_UNIQUE;
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 348 "asn1p_l.l"
+#line 366 "asn1p_l.l"
+return TOK_UNIVERSAL;
+ YY_BREAK
+case 113:
+YY_RULE_SETUP
+#line 367 "asn1p_l.l"
{
if(TYPE_LIFETIME(1994, 0))
return TOK_UniversalString;
REJECT;
}
YY_BREAK
-case 113:
-YY_RULE_SETUP
-#line 353 "asn1p_l.l"
-return TOK_UTCTime;
- YY_BREAK
case 114:
YY_RULE_SETUP
-#line 354 "asn1p_l.l"
+#line 372 "asn1p_l.l"
+return TOK_UTCTime;
+ YY_BREAK
+case 115:
+YY_RULE_SETUP
+#line 373 "asn1p_l.l"
{
if(TYPE_LIFETIME(1994, 0))
return TOK_UTF8String;
REJECT;
}
YY_BREAK
-case 115:
-YY_RULE_SETUP
-#line 359 "asn1p_l.l"
-return TOK_VideotexString;
- YY_BREAK
case 116:
YY_RULE_SETUP
-#line 360 "asn1p_l.l"
-return TOK_VisibleString;
+#line 378 "asn1p_l.l"
+return TOK_VideotexString;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 361 "asn1p_l.l"
-return TOK_WITH;
+#line 379 "asn1p_l.l"
+return TOK_VisibleString;
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 364 "asn1p_l.l"
+#line 380 "asn1p_l.l"
+return TOK_WITH;
+ YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 383 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_typefieldreference;
}
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
-#line 369 "asn1p_l.l"
+#line 388 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_valuefieldreference;
}
YY_BREAK
-case 120:
+case 121:
YY_RULE_SETUP
-#line 375 "asn1p_l.l"
+#line 394 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_identifier;
@@ -3241,9 +3296,9 @@
/*
* objectclassreference
*/
-case 121:
+case 122:
YY_RULE_SETUP
-#line 383 "asn1p_l.l"
+#line 402 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_capitalreference;
@@ -3254,41 +3309,33 @@
* NOTE: TOK_objectclassreference must be combined
* with this token to produce true typereference.
*/
-case 122:
+case 123:
YY_RULE_SETUP
-#line 393 "asn1p_l.l"
+#line 412 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_typereference;
}
YY_BREAK
-case 123:
-YY_RULE_SETUP
-#line 398 "asn1p_l.l"
-return TOK_PPEQ;
- YY_BREAK
case 124:
YY_RULE_SETUP
-#line 400 "asn1p_l.l"
-return TOK_ThreeDots;
+#line 417 "asn1p_l.l"
+return TOK_PPEQ;
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 401 "asn1p_l.l"
+#line 419 "asn1p_l.l"
+return TOK_ThreeDots;
+ YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 420 "asn1p_l.l"
return TOK_TwoDots;
YY_BREAK
-case 126:
-YY_RULE_SETUP
-#line 405 "asn1p_l.l"
-{
- asn1p_lval.tv_str = strdup(asn1p_text);
- return TOK_Literal;
- }
- YY_BREAK
case 127:
YY_RULE_SETUP
-#line 410 "asn1p_l.l"
+#line 424 "asn1p_l.l"
{
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_Literal;
@@ -3296,36 +3343,44 @@
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 415 "asn1p_l.l"
+#line 429 "asn1p_l.l"
{
- yy_push_state(with_syntax);
asn1p_lval.tv_str = strdup(asn1p_text);
return TOK_Literal;
}
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 421 "asn1p_l.l"
-return '[';
+#line 434 "asn1p_l.l"
+{
+ yy_push_state(with_syntax);
+ asn1p_lval.tv_str = strdup(asn1p_text);
+ return TOK_Literal;
+ }
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 422 "asn1p_l.l"
-return ']';
+#line 440 "asn1p_l.l"
+return '[';
YY_BREAK
case 131:
-/* rule 131 can match eol */
YY_RULE_SETUP
-#line 424 "asn1p_l.l"
+#line 441 "asn1p_l.l"
+return ']';
+ YY_BREAK
+case 132:
+/* rule 132 can match eol */
+YY_RULE_SETUP
+#line 443 "asn1p_l.l"
{
asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
asn1p_lval.tv_opaque.len = asn1p_leng;
return TOK_whitespace;
}
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 430 "asn1p_l.l"
+#line 449 "asn1p_l.l"
{
yy_pop_state();
if(YYSTATE == with_syntax) {
@@ -3337,16 +3392,16 @@
}
YY_BREAK
-case 133:
-/* rule 133 can match eol */
-YY_RULE_SETUP
-#line 443 "asn1p_l.l"
-/* Ignore whitespace */
- YY_BREAK
case 134:
/* rule 134 can match eol */
YY_RULE_SETUP
-#line 446 "asn1p_l.l"
+#line 462 "asn1p_l.l"
+/* Ignore whitespace */
+ YY_BREAK
+case 135:
+/* rule 135 can match eol */
+YY_RULE_SETUP
+#line 465 "asn1p_l.l"
{
asn1c_integer_t v1 = -1, v2 = -1;
char *p;
@@ -3372,10 +3427,10 @@
return TOK_tuple;
}
YY_BREAK
-case 135:
-/* rule 135 can match eol */
+case 136:
+/* rule 136 can match eol */
YY_RULE_SETUP
-#line 471 "asn1p_l.l"
+#line 490 "asn1p_l.l"
{
asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
char *p;
@@ -3419,25 +3474,25 @@
return TOK_quadruple;
}
YY_BREAK
-case 136:
-YY_RULE_SETUP
-#line 515 "asn1p_l.l"
-return TOK_VBracketLeft;
- YY_BREAK
case 137:
YY_RULE_SETUP
-#line 516 "asn1p_l.l"
-return TOK_VBracketRight;
+#line 534 "asn1p_l.l"
+return TOK_VBracketLeft;
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 518 "asn1p_l.l"
-return asn1p_text[0];
+#line 535 "asn1p_l.l"
+return TOK_VBracketRight;
YY_BREAK
case 139:
-/* rule 139 can match eol */
YY_RULE_SETUP
-#line 520 "asn1p_l.l"
+#line 537 "asn1p_l.l"
+return asn1p_text[0];
+ YY_BREAK
+case 140:
+/* rule 140 can match eol */
+YY_RULE_SETUP
+#line 539 "asn1p_l.l"
{
if(TYPE_LIFETIME(1994, 0))
fprintf(stderr, "ERROR: ");
@@ -3449,9 +3504,9 @@
return -1;
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 531 "asn1p_l.l"
+#line 550 "asn1p_l.l"
{
fprintf(stderr,
"Unexpected token at line %d: \"%s\"\n",
@@ -3473,19 +3528,20 @@
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
-#line 544 "asn1p_l.l"
+case YY_STATE_EOF(extended_values):
+#line 563 "asn1p_l.l"
{
while(YYSTATE != INITIAL)
yy_pop_state();
yyterminate();
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 551 "asn1p_l.l"
+#line 570 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 3489 "asn1p_l.c"
+#line 3545 "asn1p_l.c"
case YY_END_OF_BUFFER:
{
@@ -3765,7 +3821,7 @@
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 >= 749 )
+ if ( yy_current_state >= 769 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3793,11 +3849,11 @@
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 >= 749 )
+ if ( yy_current_state >= 769 )
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 == 748);
+ yy_is_jam = (yy_current_state == 768);
if ( ! yy_is_jam )
*(yy_state_ptr)++ = yy_current_state;
@@ -4655,7 +4711,7 @@
/* %ok-for-header */
-#line 551 "asn1p_l.l"
+#line 570 "asn1p_l.l"
diff --git a/libasn1parser/asn1p_l.l b/libasn1parser/asn1p_l.l
index c96a162..4317d5b 100644
--- a/libasn1parser/asn1p_l.l
+++ b/libasn1parser/asn1p_l.l
@@ -23,6 +23,7 @@
int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
+int asn1p_lexer_extended_values = 0;
int asn1p_as_pointer;
@@ -85,6 +86,7 @@
%x opaque
%x encoding_control
%x with_syntax
+%x extended_values
/* Newline */
NL [\r\v\f\n]
@@ -103,6 +105,13 @@
--<[ \t]*ASN1C.RepresentAsPointer[ \t]*>-- asn1p_as_pointer = 1;
+<extended_values>{
+ "#BIT STRING" {
+ yy_pop_state();
+ return TOK_ExtValue_BIT_STRING;
+ }
+}
+
<INITIAL,with_syntax>-- yy_push_state(dash_comment);
<dash_comment,idash_comment>{
@@ -262,7 +271,12 @@
}
APPLICATION return TOK_APPLICATION;
AUTOMATIC return TOK_AUTOMATIC;
-BEGIN return TOK_BEGIN;
+BEGIN {
+ if(asn1p_lexer_extended_values) {
+ yy_push_state(extended_values);
+ }
+ return TOK_BEGIN;
+ }
BIT return TOK_BIT;
BMPString {
if(TYPE_LIFETIME(1994, 0))
@@ -292,7 +306,12 @@
EMBEDDED return TOK_EMBEDDED;
ENCODED return TOK_ENCODED;
ENCODING-CONTROL return TOK_ENCODING_CONTROL;
-END return TOK_END;
+END {
+ if(YYSTATE == extended_values) {
+ yy_pop_state();
+ }
+ return TOK_END;
+ }
ENUMERATED return TOK_ENUMERATED;
EXCEPT return TOK_EXCEPT;
EXPLICIT return TOK_EXPLICIT;
@@ -380,7 +399,7 @@
/*
* objectclassreference
*/
-[A-Z][A-Z0-9]*([-][A-Z0-9]+)* {
+<INITIAL,extended_values>[A-Z][A-Z0-9]*([-][A-Z0-9]+)* {
asn1p_lval.tv_str = strdup(yytext);
return TOK_capitalreference;
}
@@ -395,7 +414,7 @@
return TOK_typereference;
}
-"::=" return TOK_PPEQ;
+<INITIAL,extended_values>"::=" return TOK_PPEQ;
"..." return TOK_ThreeDots;
".." return TOK_TwoDots;
@@ -440,7 +459,7 @@
}
-{WSP}+ /* Ignore whitespace */
+<INITIAL,extended_values>{WSP}+ /* Ignore whitespace */
[{][\t\r\v\f\n ]*[0-7][,][\t\r\v\f\n ]*[0-9]+[\t\r\v\f\n ]*[}] {
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 5f71f3f..ec688ab 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -93,93 +93,94 @@
TOK_typefieldreference = 274,
TOK_valuefieldreference = 275,
TOK_Literal = 276,
- TOK_ABSENT = 277,
- TOK_ABSTRACT_SYNTAX = 278,
- TOK_ALL = 279,
- TOK_ANY = 280,
- TOK_APPLICATION = 281,
- TOK_AUTOMATIC = 282,
- TOK_BEGIN = 283,
- TOK_BIT = 284,
- TOK_BMPString = 285,
- TOK_BOOLEAN = 286,
- TOK_BY = 287,
- TOK_CHARACTER = 288,
- TOK_CHOICE = 289,
- TOK_CLASS = 290,
- TOK_COMPONENT = 291,
- TOK_COMPONENTS = 292,
- TOK_CONSTRAINED = 293,
- TOK_CONTAINING = 294,
- TOK_DEFAULT = 295,
- TOK_DEFINITIONS = 296,
- TOK_DEFINED = 297,
- TOK_EMBEDDED = 298,
- TOK_ENCODED = 299,
- TOK_ENCODING_CONTROL = 300,
- TOK_END = 301,
- TOK_ENUMERATED = 302,
- TOK_EXPLICIT = 303,
- TOK_EXPORTS = 304,
- TOK_EXTENSIBILITY = 305,
- TOK_EXTERNAL = 306,
- TOK_FALSE = 307,
- TOK_FROM = 308,
- TOK_GeneralizedTime = 309,
- TOK_GeneralString = 310,
- TOK_GraphicString = 311,
- TOK_IA5String = 312,
- TOK_IDENTIFIER = 313,
- TOK_IMPLICIT = 314,
- TOK_IMPLIED = 315,
- TOK_IMPORTS = 316,
- TOK_INCLUDES = 317,
- TOK_INSTANCE = 318,
- TOK_INSTRUCTIONS = 319,
- TOK_INTEGER = 320,
- TOK_ISO646String = 321,
- TOK_MAX = 322,
- TOK_MIN = 323,
- TOK_MINUS_INFINITY = 324,
- TOK_NULL = 325,
- TOK_NumericString = 326,
- TOK_OBJECT = 327,
- TOK_ObjectDescriptor = 328,
- TOK_OCTET = 329,
- TOK_OF = 330,
- TOK_OPTIONAL = 331,
- TOK_PATTERN = 332,
- TOK_PDV = 333,
- TOK_PLUS_INFINITY = 334,
- TOK_PRESENT = 335,
- TOK_PrintableString = 336,
- TOK_PRIVATE = 337,
- TOK_REAL = 338,
- TOK_RELATIVE_OID = 339,
- TOK_SEQUENCE = 340,
- TOK_SET = 341,
- TOK_SIZE = 342,
- TOK_STRING = 343,
- TOK_SYNTAX = 344,
- TOK_T61String = 345,
- TOK_TAGS = 346,
- TOK_TeletexString = 347,
- TOK_TRUE = 348,
- TOK_TYPE_IDENTIFIER = 349,
- TOK_UNIQUE = 350,
- TOK_UNIVERSAL = 351,
- TOK_UniversalString = 352,
- TOK_UTCTime = 353,
- TOK_UTF8String = 354,
- TOK_VideotexString = 355,
- TOK_VisibleString = 356,
- TOK_WITH = 357,
- UTF8_BOM = 358,
- TOK_EXCEPT = 359,
- TOK_INTERSECTION = 360,
- TOK_UNION = 361,
- TOK_TwoDots = 362,
- TOK_ThreeDots = 363
+ TOK_ExtValue_BIT_STRING = 277,
+ TOK_ABSENT = 278,
+ TOK_ABSTRACT_SYNTAX = 279,
+ TOK_ALL = 280,
+ TOK_ANY = 281,
+ TOK_APPLICATION = 282,
+ TOK_AUTOMATIC = 283,
+ TOK_BEGIN = 284,
+ TOK_BIT = 285,
+ TOK_BMPString = 286,
+ TOK_BOOLEAN = 287,
+ TOK_BY = 288,
+ TOK_CHARACTER = 289,
+ TOK_CHOICE = 290,
+ TOK_CLASS = 291,
+ TOK_COMPONENT = 292,
+ TOK_COMPONENTS = 293,
+ TOK_CONSTRAINED = 294,
+ TOK_CONTAINING = 295,
+ TOK_DEFAULT = 296,
+ TOK_DEFINITIONS = 297,
+ TOK_DEFINED = 298,
+ TOK_EMBEDDED = 299,
+ TOK_ENCODED = 300,
+ TOK_ENCODING_CONTROL = 301,
+ TOK_END = 302,
+ TOK_ENUMERATED = 303,
+ TOK_EXPLICIT = 304,
+ TOK_EXPORTS = 305,
+ TOK_EXTENSIBILITY = 306,
+ TOK_EXTERNAL = 307,
+ TOK_FALSE = 308,
+ TOK_FROM = 309,
+ TOK_GeneralizedTime = 310,
+ TOK_GeneralString = 311,
+ TOK_GraphicString = 312,
+ TOK_IA5String = 313,
+ TOK_IDENTIFIER = 314,
+ TOK_IMPLICIT = 315,
+ TOK_IMPLIED = 316,
+ TOK_IMPORTS = 317,
+ TOK_INCLUDES = 318,
+ TOK_INSTANCE = 319,
+ TOK_INSTRUCTIONS = 320,
+ TOK_INTEGER = 321,
+ TOK_ISO646String = 322,
+ TOK_MAX = 323,
+ TOK_MIN = 324,
+ TOK_MINUS_INFINITY = 325,
+ TOK_NULL = 326,
+ TOK_NumericString = 327,
+ TOK_OBJECT = 328,
+ TOK_ObjectDescriptor = 329,
+ TOK_OCTET = 330,
+ TOK_OF = 331,
+ TOK_OPTIONAL = 332,
+ TOK_PATTERN = 333,
+ TOK_PDV = 334,
+ TOK_PLUS_INFINITY = 335,
+ TOK_PRESENT = 336,
+ TOK_PrintableString = 337,
+ TOK_PRIVATE = 338,
+ TOK_REAL = 339,
+ TOK_RELATIVE_OID = 340,
+ TOK_SEQUENCE = 341,
+ TOK_SET = 342,
+ TOK_SIZE = 343,
+ TOK_STRING = 344,
+ TOK_SYNTAX = 345,
+ TOK_T61String = 346,
+ TOK_TAGS = 347,
+ TOK_TeletexString = 348,
+ TOK_TRUE = 349,
+ TOK_TYPE_IDENTIFIER = 350,
+ TOK_UNIQUE = 351,
+ TOK_UNIVERSAL = 352,
+ TOK_UniversalString = 353,
+ TOK_UTCTime = 354,
+ TOK_UTF8String = 355,
+ TOK_VideotexString = 356,
+ TOK_VisibleString = 357,
+ TOK_WITH = 358,
+ UTF8_BOM = 359,
+ TOK_EXCEPT = 360,
+ TOK_INTERSECTION = 361,
+ TOK_UNION = 362,
+ TOK_TwoDots = 363,
+ TOK_ThreeDots = 364
};
#endif
/* Tokens. */
@@ -202,93 +203,94 @@
#define TOK_typefieldreference 274
#define TOK_valuefieldreference 275
#define TOK_Literal 276
-#define TOK_ABSENT 277
-#define TOK_ABSTRACT_SYNTAX 278
-#define TOK_ALL 279
-#define TOK_ANY 280
-#define TOK_APPLICATION 281
-#define TOK_AUTOMATIC 282
-#define TOK_BEGIN 283
-#define TOK_BIT 284
-#define TOK_BMPString 285
-#define TOK_BOOLEAN 286
-#define TOK_BY 287
-#define TOK_CHARACTER 288
-#define TOK_CHOICE 289
-#define TOK_CLASS 290
-#define TOK_COMPONENT 291
-#define TOK_COMPONENTS 292
-#define TOK_CONSTRAINED 293
-#define TOK_CONTAINING 294
-#define TOK_DEFAULT 295
-#define TOK_DEFINITIONS 296
-#define TOK_DEFINED 297
-#define TOK_EMBEDDED 298
-#define TOK_ENCODED 299
-#define TOK_ENCODING_CONTROL 300
-#define TOK_END 301
-#define TOK_ENUMERATED 302
-#define TOK_EXPLICIT 303
-#define TOK_EXPORTS 304
-#define TOK_EXTENSIBILITY 305
-#define TOK_EXTERNAL 306
-#define TOK_FALSE 307
-#define TOK_FROM 308
-#define TOK_GeneralizedTime 309
-#define TOK_GeneralString 310
-#define TOK_GraphicString 311
-#define TOK_IA5String 312
-#define TOK_IDENTIFIER 313
-#define TOK_IMPLICIT 314
-#define TOK_IMPLIED 315
-#define TOK_IMPORTS 316
-#define TOK_INCLUDES 317
-#define TOK_INSTANCE 318
-#define TOK_INSTRUCTIONS 319
-#define TOK_INTEGER 320
-#define TOK_ISO646String 321
-#define TOK_MAX 322
-#define TOK_MIN 323
-#define TOK_MINUS_INFINITY 324
-#define TOK_NULL 325
-#define TOK_NumericString 326
-#define TOK_OBJECT 327
-#define TOK_ObjectDescriptor 328
-#define TOK_OCTET 329
-#define TOK_OF 330
-#define TOK_OPTIONAL 331
-#define TOK_PATTERN 332
-#define TOK_PDV 333
-#define TOK_PLUS_INFINITY 334
-#define TOK_PRESENT 335
-#define TOK_PrintableString 336
-#define TOK_PRIVATE 337
-#define TOK_REAL 338
-#define TOK_RELATIVE_OID 339
-#define TOK_SEQUENCE 340
-#define TOK_SET 341
-#define TOK_SIZE 342
-#define TOK_STRING 343
-#define TOK_SYNTAX 344
-#define TOK_T61String 345
-#define TOK_TAGS 346
-#define TOK_TeletexString 347
-#define TOK_TRUE 348
-#define TOK_TYPE_IDENTIFIER 349
-#define TOK_UNIQUE 350
-#define TOK_UNIVERSAL 351
-#define TOK_UniversalString 352
-#define TOK_UTCTime 353
-#define TOK_UTF8String 354
-#define TOK_VideotexString 355
-#define TOK_VisibleString 356
-#define TOK_WITH 357
-#define UTF8_BOM 358
-#define TOK_EXCEPT 359
-#define TOK_INTERSECTION 360
-#define TOK_UNION 361
-#define TOK_TwoDots 362
-#define TOK_ThreeDots 363
+#define TOK_ExtValue_BIT_STRING 277
+#define TOK_ABSENT 278
+#define TOK_ABSTRACT_SYNTAX 279
+#define TOK_ALL 280
+#define TOK_ANY 281
+#define TOK_APPLICATION 282
+#define TOK_AUTOMATIC 283
+#define TOK_BEGIN 284
+#define TOK_BIT 285
+#define TOK_BMPString 286
+#define TOK_BOOLEAN 287
+#define TOK_BY 288
+#define TOK_CHARACTER 289
+#define TOK_CHOICE 290
+#define TOK_CLASS 291
+#define TOK_COMPONENT 292
+#define TOK_COMPONENTS 293
+#define TOK_CONSTRAINED 294
+#define TOK_CONTAINING 295
+#define TOK_DEFAULT 296
+#define TOK_DEFINITIONS 297
+#define TOK_DEFINED 298
+#define TOK_EMBEDDED 299
+#define TOK_ENCODED 300
+#define TOK_ENCODING_CONTROL 301
+#define TOK_END 302
+#define TOK_ENUMERATED 303
+#define TOK_EXPLICIT 304
+#define TOK_EXPORTS 305
+#define TOK_EXTENSIBILITY 306
+#define TOK_EXTERNAL 307
+#define TOK_FALSE 308
+#define TOK_FROM 309
+#define TOK_GeneralizedTime 310
+#define TOK_GeneralString 311
+#define TOK_GraphicString 312
+#define TOK_IA5String 313
+#define TOK_IDENTIFIER 314
+#define TOK_IMPLICIT 315
+#define TOK_IMPLIED 316
+#define TOK_IMPORTS 317
+#define TOK_INCLUDES 318
+#define TOK_INSTANCE 319
+#define TOK_INSTRUCTIONS 320
+#define TOK_INTEGER 321
+#define TOK_ISO646String 322
+#define TOK_MAX 323
+#define TOK_MIN 324
+#define TOK_MINUS_INFINITY 325
+#define TOK_NULL 326
+#define TOK_NumericString 327
+#define TOK_OBJECT 328
+#define TOK_ObjectDescriptor 329
+#define TOK_OCTET 330
+#define TOK_OF 331
+#define TOK_OPTIONAL 332
+#define TOK_PATTERN 333
+#define TOK_PDV 334
+#define TOK_PLUS_INFINITY 335
+#define TOK_PRESENT 336
+#define TOK_PrintableString 337
+#define TOK_PRIVATE 338
+#define TOK_REAL 339
+#define TOK_RELATIVE_OID 340
+#define TOK_SEQUENCE 341
+#define TOK_SET 342
+#define TOK_SIZE 343
+#define TOK_STRING 344
+#define TOK_SYNTAX 345
+#define TOK_T61String 346
+#define TOK_TAGS 347
+#define TOK_TeletexString 348
+#define TOK_TRUE 349
+#define TOK_TYPE_IDENTIFIER 350
+#define TOK_UNIQUE 351
+#define TOK_UNIVERSAL 352
+#define TOK_UniversalString 353
+#define TOK_UTCTime 354
+#define TOK_UTF8String 355
+#define TOK_VideotexString 356
+#define TOK_VisibleString 357
+#define TOK_WITH 358
+#define UTF8_BOM 359
+#define TOK_EXCEPT 360
+#define TOK_INTERSECTION 361
+#define TOK_UNION 362
+#define TOK_TwoDots 363
+#define TOK_ThreeDots 364
@@ -434,7 +436,7 @@
} tv_nametag;
}
/* Line 193 of yacc.c. */
-#line 438 "asn1p_y.c"
+#line 440 "asn1p_y.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -447,7 +449,7 @@
/* Line 216 of yacc.c. */
-#line 451 "asn1p_y.c"
+#line 453 "asn1p_y.c"
#ifdef short
# undef short
@@ -662,20 +664,20 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 9
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 839
+#define YYLAST 932
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 124
+#define YYNTOKENS 125
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 131
+#define YYNNTS 137
/* YYNRULES -- Number of rules. */
-#define YYNRULES 325
+#define YYNRULES 339
/* YYNRULES -- Number of states. */
-#define YYNSTATES 489
+#define YYNSTATES 524
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 363
+#define YYMAXUTOK 364
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -686,16 +688,16 @@
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 120, 2, 2, 2, 2, 2, 2,
- 113, 114, 2, 2, 116, 2, 121, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 117, 115,
- 122, 2, 2, 2, 123, 2, 2, 2, 2, 2,
+ 2, 2, 2, 121, 2, 2, 2, 2, 2, 2,
+ 114, 115, 2, 2, 117, 2, 122, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 118, 116,
+ 123, 2, 2, 2, 124, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 118, 2, 119, 105, 2, 2, 2, 2, 2,
+ 2, 119, 2, 120, 106, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 111, 107, 112, 2, 2, 2, 2,
+ 2, 2, 2, 112, 108, 113, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -719,7 +721,7 @@
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 106, 108, 109, 110
+ 105, 107, 109, 110, 111
};
#if YYDEBUG
@@ -744,156 +746,163 @@
426, 428, 432, 434, 438, 440, 442, 444, 446, 450,
454, 456, 461, 463, 465, 469, 470, 474, 476, 478,
480, 482, 484, 486, 488, 490, 494, 496, 498, 500,
- 502, 505, 507, 509, 511, 513, 516, 519, 521, 523,
- 526, 529, 531, 533, 535, 537, 539, 542, 544, 547,
- 549, 551, 553, 555, 557, 559, 561, 563, 565, 567,
- 569, 571, 573, 575, 577, 579, 581, 583, 584, 586,
- 587, 589, 594, 596, 600, 605, 607, 609, 611, 613,
- 615, 619, 625, 627, 631, 633, 637, 639, 643, 645,
- 649, 654, 658, 660, 662, 666, 670, 674, 678, 680,
- 682, 683, 687, 690, 693, 695, 697, 699, 701, 703,
- 705, 707, 709, 711, 713, 715, 719, 723, 725, 727,
- 729, 733, 739, 741, 745, 749, 750, 752, 754, 756,
- 758, 760, 762, 764, 765, 771, 774, 776, 779, 782,
- 786, 788, 790, 794, 799, 801, 805, 808, 812, 814,
- 818, 819, 821, 823, 826, 829, 833, 835, 839, 841,
- 846, 851, 853, 855, 857, 859, 861, 863, 864, 866,
- 869, 874, 875, 877, 879, 881, 882, 884, 886, 888,
- 890, 892, 893, 895, 897, 899
+ 502, 505, 507, 509, 511, 514, 517, 519, 521, 524,
+ 527, 529, 531, 533, 535, 537, 539, 542, 544, 549,
+ 554, 560, 565, 569, 571, 573, 575, 577, 579, 581,
+ 583, 585, 587, 589, 591, 593, 595, 597, 599, 601,
+ 603, 605, 606, 608, 609, 611, 616, 618, 622, 627,
+ 629, 631, 633, 635, 637, 641, 647, 649, 653, 655,
+ 659, 661, 665, 667, 671, 676, 680, 682, 684, 688,
+ 692, 696, 700, 702, 704, 705, 709, 712, 715, 717,
+ 719, 721, 723, 725, 727, 729, 731, 733, 735, 737,
+ 741, 745, 747, 749, 751, 755, 761, 763, 767, 771,
+ 772, 774, 776, 778, 780, 782, 784, 786, 787, 793,
+ 796, 798, 801, 804, 808, 810, 812, 816, 821, 823,
+ 827, 830, 834, 836, 840, 841, 843, 845, 848, 850,
+ 854, 856, 858, 862, 867, 872, 874, 878, 883, 888,
+ 890, 892, 896, 898, 903, 908, 910, 912, 914, 916,
+ 918, 920, 921, 923, 926, 931, 932, 934, 936, 938,
+ 939, 941, 943, 945, 947, 949, 950, 952, 954, 956
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 125, 0, -1, 103, 126, -1, 126, -1, 127, -1,
- 126, 127, -1, -1, 249, 128, 129, 41, 133, 3,
- 28, 136, 46, -1, -1, 130, -1, 111, 131, 112,
- -1, 111, 112, -1, 132, -1, 131, 132, -1, 252,
- -1, 252, 113, 12, 114, -1, 12, -1, -1, 134,
- -1, 135, -1, 134, 135, -1, 48, 91, -1, 59,
- 91, -1, 27, 91, -1, 50, 60, -1, 18, 64,
- -1, -1, 137, -1, 149, 141, 138, -1, 139, -1,
- 138, 139, -1, 156, -1, 186, -1, 154, -1, -1,
- 45, 18, 140, -1, 196, -1, -1, 142, -1, 61,
- 143, 115, -1, 61, 53, -1, -1, 144, -1, 146,
- -1, 144, 146, -1, -1, 130, -1, 147, 53, 249,
- 145, -1, 148, -1, 147, 116, 148, -1, 249, -1,
- 249, 111, 112, -1, 252, -1, -1, 150, -1, 49,
- 151, 115, -1, 49, 24, 115, -1, 49, 115, -1,
- 152, -1, 151, 116, 152, -1, 249, -1, 249, 111,
- 112, -1, 252, -1, 111, 205, 112, -1, 249, 155,
- 3, 153, -1, 195, -1, 180, -1, 180, 111, 159,
- 112, -1, 249, 3, 176, -1, 249, 3, 166, -1,
- 249, 111, 157, 112, 3, 176, -1, 249, 111, 157,
- 112, 3, 166, -1, 158, -1, 157, 116, 158, -1,
- 249, -1, 249, 117, 252, -1, 249, 117, 249, -1,
- 193, 117, 252, -1, 193, 117, 249, -1, 160, -1,
- 159, 116, 160, -1, 176, -1, 189, -1, 252, -1,
- 153, -1, -1, 162, -1, 163, -1, 162, 116, 163,
- -1, 162, 116, 4, 162, 5, -1, 252, 176, 237,
- -1, 176, 237, -1, 37, 75, 176, -1, 175, -1,
- 165, -1, 164, 116, 165, -1, 252, 176, -1, 175,
- -1, 176, -1, 35, 111, 168, 112, 170, -1, -1,
- 95, -1, 169, -1, 168, 116, 169, -1, 19, 237,
- -1, 20, 176, 167, 237, -1, 20, 184, 237, -1,
- 20, 185, 237, -1, 19, 184, 237, -1, 19, 176,
- 237, -1, 19, 185, 237, -1, -1, 171, -1, -1,
- 102, 89, 111, 172, 173, 112, -1, 174, -1, 173,
- 174, -1, 6, -1, 21, -1, 183, -1, 118, 173,
- 119, -1, 110, -1, 110, 120, 190, -1, 110, 120,
- 242, -1, 244, 178, 199, -1, -1, 177, 179, -1,
- 155, -1, 34, 111, 164, 112, -1, 85, 111, 161,
- 112, -1, 86, 111, 161, 112, -1, 85, 200, 75,
- 251, 244, 178, -1, 86, 200, 75, 251, 244, 178,
- -1, 25, -1, 25, 42, 32, 252, -1, 63, 75,
- 180, -1, 17, -1, 17, 121, 249, -1, 250, 121,
- 249, -1, 17, 121, 252, -1, 250, -1, 250, 121,
- 181, -1, 182, -1, 181, 121, 182, -1, 183, -1,
- 19, -1, 20, -1, 19, -1, 184, 121, 19, -1,
- 184, 121, 20, -1, 18, -1, 252, 176, 3, 187,
- -1, 189, -1, 190, -1, 252, 117, 187, -1, -1,
- 111, 188, 192, -1, 70, -1, 52, -1, 93, -1,
- 8, -1, 10, -1, 191, -1, 242, -1, 252, -1,
- 249, 121, 252, -1, 9, -1, 15, -1, 16, -1,
- 7, -1, 192, 7, -1, 31, -1, 70, -1, 83,
- -1, 194, -1, 74, 88, -1, 72, 58, -1, 84,
- -1, 51, -1, 43, 78, -1, 33, 88, -1, 98,
- -1, 54, -1, 196, -1, 65, -1, 47, -1, 29,
- 88, -1, 193, -1, 194, 239, -1, 30, -1, 55,
- -1, 56, -1, 57, -1, 66, -1, 71, -1, 81,
- -1, 90, -1, 92, -1, 97, -1, 99, -1, 100,
- -1, 101, -1, 73, -1, 107, -1, 108, -1, 105,
- -1, 106, -1, -1, 201, -1, -1, 201, -1, 87,
- 113, 203, 114, -1, 202, -1, 113, 203, 114, -1,
- 202, 113, 203, 114, -1, 204, -1, 226, -1, 205,
- -1, 110, -1, 206, -1, 206, 116, 110, -1, 206,
- 116, 110, 116, 206, -1, 207, -1, 24, 104, 210,
- -1, 208, -1, 207, 197, 208, -1, 209, -1, 208,
- 198, 209, -1, 210, -1, 210, 104, 210, -1, 213,
- 113, 205, 114, -1, 113, 205, 114, -1, 214, -1,
- 216, -1, 214, 230, 214, -1, 68, 230, 214, -1,
- 214, 230, 67, -1, 68, 230, 67, -1, 217, -1,
- 212, -1, -1, 111, 211, 192, -1, 77, 9, -1,
- 77, 252, -1, 87, -1, 53, -1, 52, -1, 93,
- -1, 243, -1, 191, -1, 215, -1, 252, -1, 8,
- -1, 10, -1, 176, -1, 102, 36, 218, -1, 102,
- 37, 219, -1, 201, -1, 220, -1, 221, -1, 111,
- 222, 112, -1, 111, 110, 116, 222, 112, -1, 223,
- -1, 222, 116, 223, -1, 254, 199, 224, -1, -1,
- 225, -1, 80, -1, 22, -1, 76, -1, 227, -1,
- 231, -1, 229, -1, -1, 38, 32, 111, 228, 192,
- -1, 39, 176, -1, 109, -1, 109, 122, -1, 122,
- 109, -1, 122, 109, 122, -1, 232, -1, 233, -1,
- 111, 249, 112, -1, 232, 111, 234, 112, -1, 235,
- -1, 234, 116, 235, -1, 123, 236, -1, 123, 121,
- 236, -1, 252, -1, 236, 121, 252, -1, -1, 238,
- -1, 76, -1, 40, 187, -1, 111, 112, -1, 111,
- 240, 112, -1, 241, -1, 240, 116, 241, -1, 252,
- -1, 252, 113, 242, 114, -1, 252, 113, 190, 114,
- -1, 242, -1, 110, -1, 12, -1, 13, -1, 242,
- -1, 14, -1, -1, 245, -1, 246, 248, -1, 118,
- 247, 12, 119, -1, -1, 96, -1, 26, -1, 82,
- -1, -1, 59, -1, 48, -1, 17, -1, 18, -1,
- 18, -1, -1, 252, -1, 11, -1, 252, -1, 253,
- -1
+ 126, 0, -1, 104, 127, -1, 127, -1, 128, -1,
+ 127, 128, -1, -1, 256, 129, 130, 42, 134, 3,
+ 29, 137, 47, -1, -1, 131, -1, 112, 132, 113,
+ -1, 112, 113, -1, 133, -1, 132, 133, -1, 259,
+ -1, 259, 114, 12, 115, -1, 12, -1, -1, 135,
+ -1, 136, -1, 135, 136, -1, 49, 92, -1, 60,
+ 92, -1, 28, 92, -1, 51, 61, -1, 18, 65,
+ -1, -1, 138, -1, 150, 142, 139, -1, 140, -1,
+ 139, 140, -1, 157, -1, 187, -1, 155, -1, -1,
+ 46, 18, 141, -1, 197, -1, -1, 143, -1, 62,
+ 144, 116, -1, 62, 54, -1, -1, 145, -1, 147,
+ -1, 145, 147, -1, -1, 131, -1, 148, 54, 256,
+ 146, -1, 149, -1, 148, 117, 149, -1, 256, -1,
+ 256, 112, 113, -1, 259, -1, -1, 151, -1, 50,
+ 152, 116, -1, 50, 25, 116, -1, 50, 116, -1,
+ 153, -1, 152, 117, 153, -1, 256, -1, 256, 112,
+ 113, -1, 259, -1, 112, 206, 113, -1, 256, 156,
+ 3, 154, -1, 196, -1, 181, -1, 181, 112, 160,
+ 113, -1, 256, 3, 177, -1, 256, 3, 167, -1,
+ 256, 112, 158, 113, 3, 177, -1, 256, 112, 158,
+ 113, 3, 167, -1, 159, -1, 158, 117, 159, -1,
+ 256, -1, 256, 118, 259, -1, 256, 118, 256, -1,
+ 194, 118, 259, -1, 194, 118, 256, -1, 161, -1,
+ 160, 117, 161, -1, 177, -1, 190, -1, 259, -1,
+ 154, -1, -1, 163, -1, 164, -1, 163, 117, 164,
+ -1, 163, 117, 4, 163, 5, -1, 259, 177, 238,
+ -1, 177, 238, -1, 38, 76, 177, -1, 176, -1,
+ 166, -1, 165, 117, 166, -1, 259, 177, -1, 176,
+ -1, 177, -1, 36, 112, 169, 113, 171, -1, -1,
+ 96, -1, 170, -1, 169, 117, 170, -1, 19, 238,
+ -1, 20, 177, 168, 238, -1, 20, 185, 238, -1,
+ 20, 186, 238, -1, 19, 185, 238, -1, 19, 177,
+ 238, -1, 19, 186, 238, -1, -1, 172, -1, -1,
+ 103, 90, 112, 173, 174, 113, -1, 175, -1, 174,
+ 175, -1, 6, -1, 21, -1, 184, -1, 119, 174,
+ 120, -1, 111, -1, 111, 121, 191, -1, 111, 121,
+ 249, -1, 251, 179, 200, -1, -1, 178, 180, -1,
+ 156, -1, 35, 112, 165, 113, -1, 86, 112, 162,
+ 113, -1, 87, 112, 162, 113, -1, 86, 201, 76,
+ 258, 251, 179, -1, 87, 201, 76, 258, 251, 179,
+ -1, 26, -1, 26, 43, 33, 259, -1, 64, 76,
+ 181, -1, 17, -1, 17, 122, 256, -1, 257, 122,
+ 256, -1, 17, 122, 259, -1, 257, -1, 257, 122,
+ 182, -1, 183, -1, 182, 122, 183, -1, 184, -1,
+ 19, -1, 20, -1, 19, -1, 185, 122, 19, -1,
+ 185, 122, 20, -1, 18, -1, 259, 177, 3, 188,
+ -1, 190, -1, 191, -1, 259, 118, 188, -1, -1,
+ 112, 189, 193, -1, 71, -1, 53, -1, 94, -1,
+ 8, -1, 10, -1, 192, -1, 249, -1, 259, -1,
+ 256, 122, 259, -1, 9, -1, 15, -1, 16, -1,
+ 7, -1, 193, 7, -1, 32, -1, 71, -1, 84,
+ -1, 75, 89, -1, 73, 59, -1, 85, -1, 52,
+ -1, 44, 79, -1, 34, 89, -1, 99, -1, 55,
+ -1, 197, -1, 195, -1, 66, -1, 48, -1, 30,
+ 89, -1, 194, -1, 66, 112, 242, 113, -1, 48,
+ 112, 246, 113, -1, 30, 89, 112, 244, 113, -1,
+ 22, 112, 240, 113, -1, 22, 112, 113, -1, 31,
+ -1, 56, -1, 57, -1, 58, -1, 67, -1, 72,
+ -1, 82, -1, 91, -1, 93, -1, 98, -1, 100,
+ -1, 101, -1, 102, -1, 74, -1, 108, -1, 109,
+ -1, 106, -1, 107, -1, -1, 202, -1, -1, 202,
+ -1, 88, 114, 204, 115, -1, 203, -1, 114, 204,
+ 115, -1, 203, 114, 204, 115, -1, 205, -1, 227,
+ -1, 206, -1, 111, -1, 207, -1, 207, 117, 111,
+ -1, 207, 117, 111, 117, 207, -1, 208, -1, 25,
+ 105, 211, -1, 209, -1, 208, 198, 209, -1, 210,
+ -1, 209, 199, 210, -1, 211, -1, 211, 105, 211,
+ -1, 214, 114, 206, 115, -1, 114, 206, 115, -1,
+ 215, -1, 217, -1, 215, 231, 215, -1, 69, 231,
+ 215, -1, 215, 231, 68, -1, 69, 231, 68, -1,
+ 218, -1, 213, -1, -1, 112, 212, 193, -1, 78,
+ 9, -1, 78, 259, -1, 88, -1, 54, -1, 53,
+ -1, 94, -1, 250, -1, 192, -1, 216, -1, 259,
+ -1, 8, -1, 10, -1, 177, -1, 103, 37, 219,
+ -1, 103, 38, 220, -1, 202, -1, 221, -1, 222,
+ -1, 112, 223, 113, -1, 112, 111, 117, 223, 113,
+ -1, 224, -1, 223, 117, 224, -1, 261, 200, 225,
+ -1, -1, 226, -1, 81, -1, 23, -1, 77, -1,
+ 228, -1, 232, -1, 230, -1, -1, 39, 33, 112,
+ 229, 193, -1, 40, 177, -1, 110, -1, 110, 123,
+ -1, 123, 110, -1, 123, 110, 123, -1, 233, -1,
+ 234, -1, 112, 256, 113, -1, 233, 112, 235, 113,
+ -1, 236, -1, 235, 117, 236, -1, 124, 237, -1,
+ 124, 122, 237, -1, 259, -1, 237, 122, 259, -1,
+ -1, 239, -1, 77, -1, 41, 188, -1, 241, -1,
+ 240, 117, 241, -1, 259, -1, 243, -1, 242, 117,
+ 243, -1, 259, 114, 249, 115, -1, 259, 114, 191,
+ 115, -1, 245, -1, 244, 117, 245, -1, 259, 114,
+ 12, 115, -1, 259, 114, 191, 115, -1, 247, -1,
+ 248, -1, 247, 117, 248, -1, 259, -1, 259, 114,
+ 249, 115, -1, 259, 114, 191, 115, -1, 249, -1,
+ 111, -1, 12, -1, 13, -1, 249, -1, 14, -1,
+ -1, 252, -1, 253, 255, -1, 119, 254, 12, 120,
+ -1, -1, 97, -1, 27, -1, 83, -1, -1, 60,
+ -1, 49, -1, 17, -1, 18, -1, 18, -1, -1,
+ 259, -1, 11, -1, 259, -1, 260, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 367, 367, 370, 376, 381, 398, 398, 427, 428,
- 432, 435, 441, 447, 456, 460, 464, 474, 475, 484,
- 487, 496, 499, 502, 505, 509, 530, 531, 540, 553,
- 556, 573, 580, 594, 602, 601, 615, 628, 629, 632,
- 642, 648, 649, 652, 657, 664, 665, 669, 680, 685,
- 692, 698, 704, 714, 715, 727, 730, 733, 741, 746,
- 753, 759, 765, 774, 777, 787, 800, 810, 830, 836,
- 852, 858, 866, 875, 886, 890, 898, 906, 914, 925,
- 930, 937, 940, 948, 959, 982, 983, 986, 991, 995,
- 1003, 1010, 1016, 1023, 1029, 1034, 1041, 1046, 1049, 1056,
- 1066, 1067, 1071, 1078, 1088, 1098, 1109, 1119, 1130, 1140,
- 1151, 1163, 1164, 1171, 1170, 1179, 1183, 1190, 1194, 1197,
- 1201, 1207, 1215, 1224, 1236, 1260, 1267, 1286, 1289, 1295,
- 1301, 1307, 1317, 1327, 1333, 1345, 1360, 1368, 1379, 1390,
- 1401, 1409, 1431, 1439, 1448, 1452, 1457, 1466, 1471, 1476,
- 1484, 1507, 1517, 1518, 1519, 1526, 1526, 1531, 1539, 1544,
- 1549, 1554, 1559, 1562, 1568, 1579, 1597, 1601, 1606, 1614,
- 1623, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646,
- 1647, 1648, 1649, 1650, 1657, 1658, 1659, 1663, 1669, 1682,
- 1683, 1687, 1691, 1692, 1693, 1694, 1695, 1699, 1700, 1701,
- 1702, 1706, 1707, 1714, 1714, 1715, 1715, 1719, 1720, 1724,
- 1725, 1726, 1732, 1738, 1741, 1746, 1746, 1748, 1751, 1755,
- 1756, 1762, 1773, 1774, 1780, 1781, 1787, 1788, 1795, 1796,
- 1802, 1810, 1818, 1824, 1830, 1837, 1845, 1853, 1862, 1863,
- 1864, 1864, 1874, 1879, 1891, 1894, 1900, 1905, 1910, 1911,
- 1912, 1913, 1927, 1932, 1940, 1951, 1954, 1960, 1961, 1961,
- 1962, 1964, 1977, 1982, 1988, 2002, 2003, 2007, 2010, 2013,
- 2021, 2022, 2023, 2028, 2027, 2039, 2048, 2049, 2050, 2051,
- 2054, 2057, 2066, 2082, 2088, 2094, 2108, 2119, 2135, 2138,
- 2158, 2162, 2166, 2170, 2193, 2197, 2203, 2208, 2215, 2222,
- 2230, 2238, 2245, 2256, 2260, 2267, 2268, 2299, 2300, 2304,
- 2311, 2317, 2318, 2319, 2320, 2324, 2325, 2326, 2330, 2334,
- 2342, 2349, 2350, 2356, 2363, 2369
+ 0, 378, 378, 381, 387, 392, 409, 409, 438, 439,
+ 443, 446, 452, 458, 467, 471, 475, 485, 486, 495,
+ 498, 507, 510, 513, 516, 520, 541, 542, 551, 564,
+ 567, 584, 591, 605, 613, 612, 626, 639, 640, 643,
+ 653, 659, 660, 663, 668, 675, 676, 680, 691, 696,
+ 703, 709, 715, 725, 726, 738, 741, 744, 752, 757,
+ 764, 770, 776, 785, 788, 798, 811, 821, 841, 847,
+ 863, 869, 877, 886, 897, 901, 909, 917, 925, 936,
+ 941, 948, 951, 959, 970, 993, 994, 997, 1002, 1006,
+ 1014, 1021, 1027, 1034, 1040, 1045, 1052, 1057, 1060, 1067,
+ 1077, 1078, 1082, 1089, 1099, 1109, 1120, 1130, 1141, 1151,
+ 1162, 1174, 1175, 1182, 1181, 1190, 1194, 1201, 1205, 1208,
+ 1212, 1218, 1226, 1235, 1247, 1271, 1278, 1297, 1300, 1306,
+ 1312, 1318, 1328, 1338, 1344, 1356, 1371, 1379, 1390, 1401,
+ 1412, 1420, 1442, 1450, 1459, 1463, 1468, 1477, 1482, 1487,
+ 1495, 1518, 1528, 1529, 1530, 1537, 1537, 1542, 1550, 1555,
+ 1560, 1565, 1570, 1573, 1579, 1590, 1608, 1612, 1617, 1625,
+ 1634, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657,
+ 1658, 1659, 1660, 1661, 1668, 1669, 1670, 1674, 1680, 1685,
+ 1690, 1695, 1700, 1709, 1710, 1714, 1718, 1719, 1720, 1721,
+ 1722, 1726, 1727, 1728, 1729, 1733, 1734, 1741, 1741, 1742,
+ 1742, 1746, 1747, 1751, 1752, 1753, 1759, 1765, 1768, 1773,
+ 1773, 1775, 1778, 1782, 1783, 1789, 1800, 1801, 1807, 1808,
+ 1814, 1815, 1822, 1823, 1829, 1837, 1845, 1851, 1857, 1864,
+ 1872, 1880, 1889, 1890, 1891, 1891, 1901, 1906, 1918, 1921,
+ 1927, 1932, 1937, 1938, 1939, 1940, 1954, 1959, 1967, 1978,
+ 1981, 1987, 1988, 1988, 1989, 1991, 2004, 2009, 2015, 2029,
+ 2030, 2034, 2037, 2040, 2048, 2049, 2050, 2055, 2054, 2066,
+ 2075, 2076, 2077, 2078, 2081, 2084, 2093, 2109, 2115, 2121,
+ 2135, 2146, 2162, 2165, 2185, 2189, 2193, 2197, 2204, 2209,
+ 2215, 2224, 2229, 2236, 2244, 2254, 2259, 2266, 2274, 2284,
+ 2299, 2304, 2311, 2318, 2326, 2334, 2341, 2352, 2356, 2363,
+ 2364, 2395, 2396, 2400, 2407, 2413, 2414, 2415, 2416, 2420,
+ 2421, 2422, 2426, 2430, 2438, 2445, 2446, 2452, 2459, 2465
};
#endif
@@ -904,34 +913,34 @@
{
"$end", "error", "$undefined", "TOK_PPEQ", "TOK_VBracketLeft",
"TOK_VBracketRight", "TOK_whitespace", "TOK_opaque", "TOK_bstring",
- "TOK_cstring", "TOK_hstring", "TOK_identifier", "TOK_number",
- "TOK_number_negative", "TOK_realnumber", "TOK_tuple", "TOK_quadruple",
+ "TOK_cstring", "TOK_hstring", "\"identifier\"", "\"number\"",
+ "\"negative number\"", "TOK_realnumber", "TOK_tuple", "TOK_quadruple",
"TOK_typereference", "TOK_capitalreference", "TOK_typefieldreference",
- "TOK_valuefieldreference", "TOK_Literal", "TOK_ABSENT",
- "TOK_ABSTRACT_SYNTAX", "TOK_ALL", "TOK_ANY", "TOK_APPLICATION",
- "TOK_AUTOMATIC", "TOK_BEGIN", "TOK_BIT", "TOK_BMPString", "TOK_BOOLEAN",
- "TOK_BY", "TOK_CHARACTER", "TOK_CHOICE", "TOK_CLASS", "TOK_COMPONENT",
- "TOK_COMPONENTS", "TOK_CONSTRAINED", "TOK_CONTAINING", "TOK_DEFAULT",
- "TOK_DEFINITIONS", "TOK_DEFINED", "TOK_EMBEDDED", "TOK_ENCODED",
- "TOK_ENCODING_CONTROL", "TOK_END", "TOK_ENUMERATED", "TOK_EXPLICIT",
- "TOK_EXPORTS", "TOK_EXTENSIBILITY", "TOK_EXTERNAL", "TOK_FALSE",
- "TOK_FROM", "TOK_GeneralizedTime", "TOK_GeneralString",
- "TOK_GraphicString", "TOK_IA5String", "TOK_IDENTIFIER", "TOK_IMPLICIT",
- "TOK_IMPLIED", "TOK_IMPORTS", "TOK_INCLUDES", "TOK_INSTANCE",
- "TOK_INSTRUCTIONS", "TOK_INTEGER", "TOK_ISO646String", "TOK_MAX",
- "TOK_MIN", "TOK_MINUS_INFINITY", "TOK_NULL", "TOK_NumericString",
- "TOK_OBJECT", "TOK_ObjectDescriptor", "TOK_OCTET", "TOK_OF",
- "TOK_OPTIONAL", "TOK_PATTERN", "TOK_PDV", "TOK_PLUS_INFINITY",
- "TOK_PRESENT", "TOK_PrintableString", "TOK_PRIVATE", "TOK_REAL",
- "TOK_RELATIVE_OID", "TOK_SEQUENCE", "TOK_SET", "TOK_SIZE", "TOK_STRING",
- "TOK_SYNTAX", "TOK_T61String", "TOK_TAGS", "TOK_TeletexString",
- "TOK_TRUE", "TOK_TYPE_IDENTIFIER", "TOK_UNIQUE", "TOK_UNIVERSAL",
- "TOK_UniversalString", "TOK_UTCTime", "TOK_UTF8String",
+ "TOK_valuefieldreference", "TOK_Literal", "TOK_ExtValue_BIT_STRING",
+ "TOK_ABSENT", "TOK_ABSTRACT_SYNTAX", "TOK_ALL", "TOK_ANY",
+ "TOK_APPLICATION", "TOK_AUTOMATIC", "TOK_BEGIN", "TOK_BIT",
+ "TOK_BMPString", "TOK_BOOLEAN", "TOK_BY", "TOK_CHARACTER", "TOK_CHOICE",
+ "TOK_CLASS", "TOK_COMPONENT", "TOK_COMPONENTS", "TOK_CONSTRAINED",
+ "TOK_CONTAINING", "TOK_DEFAULT", "TOK_DEFINITIONS", "TOK_DEFINED",
+ "TOK_EMBEDDED", "TOK_ENCODED", "TOK_ENCODING_CONTROL", "TOK_END",
+ "TOK_ENUMERATED", "TOK_EXPLICIT", "TOK_EXPORTS", "TOK_EXTENSIBILITY",
+ "TOK_EXTERNAL", "TOK_FALSE", "TOK_FROM", "TOK_GeneralizedTime",
+ "TOK_GeneralString", "TOK_GraphicString", "TOK_IA5String",
+ "TOK_IDENTIFIER", "TOK_IMPLICIT", "TOK_IMPLIED", "TOK_IMPORTS",
+ "TOK_INCLUDES", "TOK_INSTANCE", "TOK_INSTRUCTIONS", "TOK_INTEGER",
+ "TOK_ISO646String", "TOK_MAX", "TOK_MIN", "TOK_MINUS_INFINITY",
+ "TOK_NULL", "TOK_NumericString", "TOK_OBJECT", "TOK_ObjectDescriptor",
+ "TOK_OCTET", "TOK_OF", "TOK_OPTIONAL", "TOK_PATTERN", "TOK_PDV",
+ "TOK_PLUS_INFINITY", "TOK_PRESENT", "TOK_PrintableString", "TOK_PRIVATE",
+ "TOK_REAL", "TOK_RELATIVE_OID", "TOK_SEQUENCE", "TOK_SET", "TOK_SIZE",
+ "TOK_STRING", "TOK_SYNTAX", "TOK_T61String", "TOK_TAGS",
+ "TOK_TeletexString", "TOK_TRUE", "TOK_TYPE_IDENTIFIER", "TOK_UNIQUE",
+ "TOK_UNIVERSAL", "TOK_UniversalString", "TOK_UTCTime", "TOK_UTF8String",
"TOK_VideotexString", "TOK_VisibleString", "TOK_WITH",
"\"UTF-8 byte order mark\"", "TOK_EXCEPT", "'^'", "TOK_INTERSECTION",
- "'|'", "TOK_UNION", "TOK_TwoDots", "TOK_ThreeDots", "'{'", "'}'", "'('",
- "')'", "';'", "','", "':'", "'['", "']'", "'!'", "'.'", "'<'", "'@'",
- "$accept", "ParsedGrammar", "ModuleList", "ModuleDefinition", "@1",
+ "'|'", "TOK_UNION", "\"..\"", "\"...\"", "'{'", "'}'", "'('", "')'",
+ "';'", "','", "':'", "'['", "']'", "'!'", "'.'", "'<'", "'@'", "$accept",
+ "ParsedGrammar", "ModuleList", "ModuleDefinition", "@1",
"optObjectIdentifier", "ObjectIdentifier", "ObjectIdentifierBody",
"ObjectIdentifierElement", "optModuleDefinitionFlags",
"ModuleDefinitionFlags", "ModuleDefinitionFlag", "optModuleBody",
@@ -964,10 +973,12 @@
"ContentsConstraint", "ConstraintRangeSpec", "TableConstraint",
"SimpleTableConstraint", "ComponentRelationConstraint", "AtNotationList",
"AtNotationElement", "ComponentIdList", "optMarker", "Marker",
- "UniverationDefinition", "UniverationList", "UniverationElement",
- "SignedNumber", "RealValue", "optTag", "Tag", "TagTypeValue", "TagClass",
- "TagPlicit", "TypeRefName", "ObjectClassReference", "optIdentifier",
- "Identifier", "IdentifierAsReference", "IdentifierAsValue", 0
+ "IdentifierList", "IdentifierElement", "NamedNumberList", "NamedNumber",
+ "NamedBitList", "NamedBit", "Enumerations", "UniverationList",
+ "UniverationElement", "SignedNumber", "RealValue", "optTag", "Tag",
+ "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName",
+ "ObjectClassReference", "optIdentifier", "Identifier",
+ "IdentifierAsReference", "IdentifierAsValue", 0
};
#endif
@@ -986,48 +997,49 @@
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 94, 360, 124, 361, 362,
- 363, 123, 125, 40, 41, 59, 44, 58, 91, 93,
- 33, 46, 60, 64
+ 355, 356, 357, 358, 359, 360, 94, 361, 124, 362,
+ 363, 364, 123, 125, 40, 41, 59, 44, 58, 91,
+ 93, 33, 46, 60, 64
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
+static const yytype_uint16 yyr1[] =
{
- 0, 124, 125, 125, 126, 126, 128, 127, 129, 129,
- 130, 130, 131, 131, 132, 132, 132, 133, 133, 134,
- 134, 135, 135, 135, 135, 135, 136, 136, 137, 138,
- 138, 139, 139, 139, 140, 139, 139, 141, 141, 142,
- 142, 143, 143, 144, 144, 145, 145, 146, 147, 147,
- 148, 148, 148, 149, 149, 150, 150, 150, 151, 151,
- 152, 152, 152, 153, 154, 155, 155, 155, 156, 156,
- 156, 156, 157, 157, 158, 158, 158, 158, 158, 159,
- 159, 160, 160, 160, 160, 161, 161, 162, 162, 162,
- 163, 163, 163, 163, 164, 164, 165, 165, 165, 166,
- 167, 167, 168, 168, 169, 169, 169, 169, 169, 169,
- 169, 170, 170, 172, 171, 173, 173, 174, 174, 174,
- 174, 175, 175, 175, 176, 177, 178, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 180, 180, 180, 180,
- 180, 180, 181, 181, 182, 183, 183, 184, 184, 184,
- 185, 186, 187, 187, 187, 188, 187, 187, 189, 189,
- 189, 189, 189, 189, 190, 190, 191, 191, 191, 192,
- 192, 193, 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 193, 194, 194, 194, 195, 195, 196,
- 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
- 196, 196, 196, 197, 197, 198, 198, 199, 199, 200,
- 200, 200, 201, 202, 202, 203, 203, 204, 205, 205,
- 205, 205, 206, 206, 207, 207, 208, 208, 209, 209,
- 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 211, 210, 212, 212, 213, 213, 214, 214, 214, 214,
- 214, 214, 215, 215, 216, 217, 217, 218, 219, 219,
- 220, 221, 222, 222, 223, 224, 224, 225, 225, 225,
- 226, 226, 226, 228, 227, 229, 230, 230, 230, 230,
- 231, 231, 232, 233, 234, 234, 235, 235, 236, 236,
- 237, 237, 238, 238, 239, 239, 240, 240, 241, 241,
- 241, 241, 241, 242, 242, 243, 243, 244, 244, 245,
- 246, 247, 247, 247, 247, 248, 248, 248, 249, 249,
- 250, 251, 251, 252, 253, 254
+ 0, 125, 126, 126, 127, 127, 129, 128, 130, 130,
+ 131, 131, 132, 132, 133, 133, 133, 134, 134, 135,
+ 135, 136, 136, 136, 136, 136, 137, 137, 138, 139,
+ 139, 140, 140, 140, 141, 140, 140, 142, 142, 143,
+ 143, 144, 144, 145, 145, 146, 146, 147, 148, 148,
+ 149, 149, 149, 150, 150, 151, 151, 151, 152, 152,
+ 153, 153, 153, 154, 155, 156, 156, 156, 157, 157,
+ 157, 157, 158, 158, 159, 159, 159, 159, 159, 160,
+ 160, 161, 161, 161, 161, 162, 162, 163, 163, 163,
+ 164, 164, 164, 164, 165, 165, 166, 166, 166, 167,
+ 168, 168, 169, 169, 170, 170, 170, 170, 170, 170,
+ 170, 171, 171, 173, 172, 174, 174, 175, 175, 175,
+ 175, 176, 176, 176, 177, 178, 179, 180, 180, 180,
+ 180, 180, 180, 180, 180, 180, 181, 181, 181, 181,
+ 181, 181, 182, 182, 183, 184, 184, 185, 185, 185,
+ 186, 187, 188, 188, 188, 189, 188, 188, 190, 190,
+ 190, 190, 190, 190, 191, 191, 192, 192, 192, 193,
+ 193, 194, 194, 194, 194, 194, 194, 194, 194, 194,
+ 194, 194, 194, 194, 195, 195, 195, 196, 196, 196,
+ 196, 196, 196, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 198, 198, 199,
+ 199, 200, 200, 201, 201, 201, 202, 203, 203, 204,
+ 204, 205, 206, 206, 206, 206, 207, 207, 208, 208,
+ 209, 209, 210, 210, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 212, 211, 213, 213, 214, 214,
+ 215, 215, 215, 215, 215, 215, 216, 216, 217, 218,
+ 218, 219, 220, 220, 221, 222, 223, 223, 224, 225,
+ 225, 226, 226, 226, 227, 227, 227, 229, 228, 230,
+ 231, 231, 231, 231, 232, 232, 233, 234, 235, 235,
+ 236, 236, 237, 237, 238, 238, 239, 239, 240, 240,
+ 241, 242, 242, 243, 243, 244, 244, 245, 245, 246,
+ 247, 247, 248, 248, 248, 248, 248, 249, 249, 250,
+ 250, 251, 251, 252, 253, 254, 254, 254, 254, 255,
+ 255, 255, 256, 256, 257, 258, 258, 259, 260, 261
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1050,22 +1062,23 @@
1, 3, 1, 3, 1, 1, 1, 1, 3, 3,
1, 4, 1, 1, 3, 0, 3, 1, 1, 1,
1, 1, 1, 1, 1, 3, 1, 1, 1, 1,
- 2, 1, 1, 1, 1, 2, 2, 1, 1, 2,
- 2, 1, 1, 1, 1, 1, 2, 1, 2, 1,
+ 2, 1, 1, 1, 2, 2, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 2, 1, 4, 4,
+ 5, 4, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
- 1, 4, 1, 3, 4, 1, 1, 1, 1, 1,
- 3, 5, 1, 3, 1, 3, 1, 3, 1, 3,
- 4, 3, 1, 1, 3, 3, 3, 3, 1, 1,
- 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 1, 1, 1,
- 3, 5, 1, 3, 3, 0, 1, 1, 1, 1,
- 1, 1, 1, 0, 5, 2, 1, 2, 2, 3,
- 1, 1, 3, 4, 1, 3, 2, 3, 1, 3,
- 0, 1, 1, 2, 2, 3, 1, 3, 1, 4,
- 4, 1, 1, 1, 1, 1, 1, 0, 1, 2,
- 4, 0, 1, 1, 1, 0, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 1
+ 1, 0, 1, 0, 1, 4, 1, 3, 4, 1,
+ 1, 1, 1, 1, 3, 5, 1, 3, 1, 3,
+ 1, 3, 1, 3, 4, 3, 1, 1, 3, 3,
+ 3, 3, 1, 1, 0, 3, 2, 2, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 3, 1, 1, 1, 3, 5, 1, 3, 3, 0,
+ 1, 1, 1, 1, 1, 1, 1, 0, 5, 2,
+ 1, 2, 2, 3, 1, 1, 3, 4, 1, 3,
+ 2, 3, 1, 3, 0, 1, 1, 2, 1, 3,
+ 1, 1, 3, 4, 4, 1, 3, 4, 4, 1,
+ 1, 3, 1, 4, 4, 1, 1, 1, 1, 1,
+ 1, 0, 1, 2, 4, 0, 1, 1, 1, 0,
+ 1, 1, 1, 1, 1, 0, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1073,385 +1086,417 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 318, 319, 0, 0, 3, 4, 6, 2, 1,
- 5, 8, 0, 0, 9, 323, 16, 11, 0, 12,
+ 0, 332, 333, 0, 0, 3, 4, 6, 2, 1,
+ 5, 8, 0, 0, 9, 337, 16, 11, 0, 12,
14, 17, 10, 13, 0, 0, 0, 0, 0, 0,
0, 18, 19, 0, 25, 23, 21, 24, 22, 0,
20, 15, 53, 0, 0, 27, 37, 54, 0, 57,
0, 58, 60, 62, 7, 41, 0, 38, 56, 55,
0, 0, 40, 0, 42, 43, 0, 48, 50, 52,
- 189, 0, 190, 191, 192, 193, 194, 202, 195, 196,
- 197, 198, 199, 200, 201, 28, 29, 33, 31, 32,
- 36, 0, 307, 59, 61, 39, 44, 0, 0, 0,
- 34, 30, 307, 136, 320, 0, 171, 0, 0, 185,
- 178, 182, 184, 172, 0, 0, 173, 177, 181, 0,
- 0, 66, 187, 174, 65, 183, 140, 311, 0, 125,
- 308, 315, 45, 49, 51, 35, 0, 69, 68, 0,
- 186, 180, 179, 176, 175, 0, 72, 0, 174, 74,
- 0, 307, 0, 188, 0, 313, 314, 312, 0, 0,
- 0, 207, 317, 316, 309, 46, 47, 0, 137, 139,
- 0, 0, 0, 0, 307, 64, 160, 166, 161, 303,
- 304, 167, 168, 158, 159, 84, 0, 79, 81, 82,
- 162, 163, 83, 302, 294, 0, 296, 301, 298, 145,
- 146, 141, 142, 144, 138, 0, 157, 155, 151, 152,
- 153, 0, 164, 133, 0, 0, 209, 209, 127, 126,
- 307, 124, 208, 212, 307, 307, 0, 102, 307, 73,
- 78, 77, 76, 75, 252, 253, 306, 0, 246, 245,
- 0, 0, 244, 247, 0, 218, 240, 307, 254, 249,
- 0, 219, 222, 224, 226, 228, 239, 0, 232, 250,
- 233, 238, 305, 248, 251, 67, 307, 295, 0, 0,
- 0, 310, 0, 0, 0, 0, 307, 0, 0, 307,
- 0, 210, 307, 0, 0, 307, 240, 0, 215, 217,
- 216, 270, 272, 271, 280, 281, 307, 150, 147, 0,
- 292, 290, 290, 290, 104, 291, 100, 290, 290, 111,
- 0, 71, 70, 307, 276, 0, 0, 242, 243, 0,
- 0, 0, 0, 63, 0, 203, 204, 307, 205, 206,
- 307, 307, 307, 0, 80, 297, 0, 0, 164, 143,
- 169, 156, 165, 154, 0, 121, 0, 94, 97, 98,
- 307, 135, 307, 0, 0, 86, 87, 93, 290, 307,
- 321, 0, 321, 0, 275, 0, 213, 0, 0, 293,
- 109, 0, 108, 110, 101, 290, 106, 107, 0, 99,
- 112, 103, 223, 277, 278, 237, 235, 257, 255, 0,
- 256, 258, 259, 241, 231, 220, 225, 227, 229, 0,
- 236, 234, 300, 299, 170, 134, 0, 128, 307, 96,
- 0, 307, 129, 307, 91, 290, 307, 322, 130, 307,
- 273, 282, 0, 0, 284, 214, 148, 149, 105, 0,
- 279, 0, 0, 262, 324, 325, 207, 307, 230, 122,
- 123, 95, 211, 92, 307, 88, 90, 125, 125, 0,
- 0, 286, 288, 283, 0, 113, 0, 260, 0, 265,
- 221, 0, 131, 132, 274, 287, 0, 285, 0, 0,
- 263, 268, 269, 267, 264, 266, 89, 289, 117, 118,
- 0, 0, 115, 119, 261, 0, 114, 116, 120
+ 193, 0, 194, 195, 196, 197, 198, 206, 199, 200,
+ 201, 202, 203, 204, 205, 28, 29, 33, 31, 32,
+ 36, 0, 321, 59, 61, 39, 44, 0, 0, 0,
+ 34, 30, 321, 136, 334, 0, 0, 171, 0, 0,
+ 185, 177, 181, 184, 172, 0, 0, 173, 176, 180,
+ 0, 0, 66, 187, 183, 65, 182, 140, 325, 0,
+ 125, 322, 329, 45, 49, 51, 35, 0, 69, 68,
+ 0, 0, 186, 179, 178, 0, 0, 175, 174, 0,
+ 185, 184, 0, 72, 0, 74, 0, 321, 0, 327,
+ 328, 326, 0, 0, 0, 211, 331, 330, 323, 46,
+ 47, 0, 137, 139, 192, 0, 298, 300, 0, 317,
+ 318, 316, 0, 309, 310, 315, 312, 0, 301, 0,
+ 186, 0, 0, 0, 0, 321, 64, 160, 166, 161,
+ 167, 168, 158, 159, 84, 0, 79, 81, 82, 162,
+ 163, 83, 145, 146, 141, 142, 144, 138, 0, 157,
+ 155, 151, 152, 153, 0, 164, 133, 0, 0, 213,
+ 213, 127, 126, 321, 124, 212, 216, 321, 321, 0,
+ 102, 191, 0, 0, 305, 0, 189, 0, 0, 188,
+ 0, 0, 321, 73, 78, 77, 76, 75, 256, 257,
+ 320, 0, 250, 249, 0, 0, 248, 251, 0, 222,
+ 244, 321, 258, 253, 0, 223, 226, 228, 230, 232,
+ 243, 0, 236, 254, 237, 242, 319, 252, 255, 67,
+ 321, 0, 324, 0, 0, 0, 0, 321, 0, 0,
+ 321, 0, 214, 321, 0, 0, 321, 244, 0, 219,
+ 221, 220, 274, 276, 275, 284, 285, 321, 150, 147,
+ 0, 296, 294, 294, 294, 104, 295, 100, 294, 294,
+ 111, 0, 299, 190, 0, 0, 311, 0, 0, 164,
+ 302, 0, 0, 71, 70, 321, 280, 0, 0, 246,
+ 247, 0, 0, 0, 0, 63, 0, 207, 208, 321,
+ 209, 210, 321, 321, 321, 0, 80, 143, 169, 156,
+ 165, 154, 0, 121, 0, 94, 97, 98, 321, 135,
+ 321, 0, 0, 86, 87, 93, 294, 321, 335, 0,
+ 335, 0, 279, 0, 217, 0, 0, 297, 109, 0,
+ 108, 110, 101, 294, 106, 107, 0, 99, 112, 103,
+ 306, 0, 0, 314, 313, 304, 303, 227, 281, 282,
+ 241, 239, 261, 259, 0, 260, 262, 263, 245, 235,
+ 224, 229, 231, 233, 0, 240, 238, 170, 134, 0,
+ 128, 321, 96, 0, 321, 129, 321, 91, 294, 321,
+ 336, 130, 321, 277, 286, 0, 0, 288, 218, 148,
+ 149, 105, 0, 307, 308, 283, 0, 0, 266, 338,
+ 339, 211, 321, 234, 122, 123, 95, 215, 92, 321,
+ 88, 90, 125, 125, 0, 0, 290, 292, 287, 0,
+ 113, 0, 264, 0, 269, 225, 0, 131, 132, 278,
+ 291, 0, 289, 0, 0, 267, 272, 273, 271, 268,
+ 270, 89, 293, 117, 118, 0, 0, 115, 119, 265,
+ 0, 114, 116, 120
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 4, 5, 6, 11, 13, 14, 18, 19, 30,
- 31, 32, 44, 45, 85, 86, 135, 56, 57, 63,
- 64, 166, 65, 66, 67, 46, 47, 50, 51, 185,
- 87, 120, 88, 145, 146, 186, 187, 354, 355, 356,
- 346, 347, 137, 375, 226, 227, 379, 380, 468, 481,
- 482, 357, 248, 160, 161, 219, 121, 201, 202, 483,
- 302, 303, 89, 208, 272, 209, 210, 249, 341, 122,
- 123, 124, 125, 327, 330, 221, 280, 222, 223, 287,
- 288, 289, 251, 252, 253, 254, 255, 321, 256, 257,
- 258, 259, 260, 261, 388, 390, 391, 392, 432, 433,
- 474, 475, 290, 291, 449, 292, 316, 293, 294, 295,
- 423, 424, 451, 304, 305, 153, 195, 196, 262, 263,
- 129, 130, 131, 158, 164, 211, 126, 416, 264, 435,
- 436
+ 31, 32, 44, 45, 85, 86, 136, 56, 57, 63,
+ 64, 170, 65, 66, 67, 46, 47, 50, 51, 204,
+ 87, 121, 88, 152, 153, 205, 206, 382, 383, 384,
+ 374, 375, 138, 403, 239, 240, 407, 408, 503, 516,
+ 517, 385, 272, 164, 165, 232, 122, 214, 215, 518,
+ 323, 324, 89, 221, 293, 222, 223, 273, 369, 123,
+ 124, 125, 126, 359, 362, 234, 301, 235, 236, 308,
+ 309, 310, 275, 276, 277, 278, 279, 353, 280, 281,
+ 282, 283, 284, 285, 423, 425, 426, 427, 467, 468,
+ 509, 510, 311, 312, 484, 313, 348, 314, 315, 316,
+ 456, 457, 486, 325, 326, 175, 176, 187, 188, 243,
+ 244, 182, 183, 184, 286, 287, 130, 131, 132, 162,
+ 168, 224, 127, 449, 288, 470, 471
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -320
+#define YYPACT_NINF -330
static const yytype_int16 yypact[] =
{
- 70, -320, -320, 95, 24, 95, -320, -320, 95, -320,
- -320, -81, 46, 4, -320, -320, -320, -320, 64, -320,
- -52, 199, -320, -320, 93, 86, 68, 74, 149, 123,
- 224, 199, -320, 159, -320, -320, -320, -320, -320, 214,
- -320, -320, 246, 72, 202, -320, 222, -320, 138, -320,
- 150, -320, 180, -320, -320, 92, 585, -320, -320, -320,
- 207, 209, -320, 220, 207, -320, 53, -320, 231, -320,
- -320, 301, -320, -320, -320, -320, -320, -320, -320, -320,
- -320, -320, -320, -320, -320, 585, -320, -320, -320, -320,
- -320, 535, 226, -320, -320, -320, -320, 95, 207, 233,
- -320, -320, -16, 228, -320, 258, -320, 259, 273, -320,
- -320, -320, -320, -320, 294, 266, -320, -320, -320, 738,
- 361, 254, -320, 255, -320, -320, 248, 90, 367, -320,
- -320, 164, -81, -320, -320, -320, 261, -320, -320, 207,
- -320, -320, -320, -320, -320, 77, -320, 256, -320, 257,
- 264, 225, 80, -320, 280, -320, -320, -320, 364, 469,
- 662, 265, -320, -320, -320, -320, -320, 252, -320, -320,
- 376, 738, 207, 207, 315, -320, -320, -320, -320, -320,
- -320, -320, -320, -320, -320, -320, 99, -320, -320, -320,
- -320, -320, -320, -320, -320, 116, -320, -320, 267, -320,
- -320, 260, -320, -320, -320, 268, -320, -320, -320, -320,
- -320, 269, 272, 340, 274, 309, 108, 109, -320, -320,
- 192, -320, -320, 275, 134, 62, 127, -320, -16, -320,
- -320, -320, -320, -320, -320, -320, -320, 282, -320, -320,
- 29, 188, -320, -320, 271, -320, -320, 315, -320, -320,
- 279, 277, 204, 208, -320, 291, -320, 284, 29, -320,
- -320, -320, -320, -320, -320, -320, 225, -320, 88, 263,
- 314, -320, 391, 392, 469, 372, 60, 298, 292, 45,
- 331, -320, 45, 332, 377, 226, 95, 297, -320, -320,
- -320, -320, -320, -320, 302, -320, 192, -320, -320, 469,
- -320, 39, -17, 39, -320, -320, 317, -17, 39, 312,
- 252, -320, -320, 458, 299, 307, 480, -320, -320, 265,
- 308, 391, 304, -320, 310, -320, -320, 458, -320, -320,
- 458, 458, 315, 490, -320, -320, 313, 316, -320, -320,
- -320, 415, -320, -320, 392, 303, 139, -320, -320, -320,
- 226, -320, 192, 354, 319, 320, -320, -320, 39, 226,
- 392, 323, 392, 326, -320, 327, -320, 322, 328, -320,
- -320, 318, -320, -320, -320, 39, -320, -320, 352, -320,
- -320, -320, -320, -320, 321, -320, -320, -320, -320, 67,
- -320, -320, -320, 415, -320, 334, 208, -320, -320, 333,
- -320, -320, -320, -320, -320, -320, 263, -320, 60, -320,
- 337, 226, -320, 18, -320, 39, 226, -320, -320, 226,
- -320, -320, 23, 166, -320, -320, -320, -320, -320, 341,
- -320, 339, 172, -320, -320, -320, 265, 347, -320, -320,
- -320, -320, -320, -320, 61, -320, -320, -320, -320, 391,
- 392, 335, -320, -320, 322, -320, 392, -320, 392, 41,
- -320, 16, -320, -320, 415, 335, 392, -320, 30, 174,
- -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
- 30, 6, -320, -320, -320, 48, -320, -320, -320
+ 90, -330, -330, 158, 53, 158, -330, -330, 158, -330,
+ -330, -47, 17, 30, -330, -330, -330, -330, 24, -330,
+ -35, 203, -330, -330, 99, 122, 113, 132, 173, 148,
+ 276, 203, -330, 162, -330, -330, -330, -330, -330, 266,
+ -330, -330, 274, 74, 237, -330, 238, -330, 210, -330,
+ 116, -330, 197, -330, -330, 193, 676, -330, -330, -330,
+ 281, 215, -330, 236, 281, -330, -5, -330, 242, -330,
+ -330, 338, -330, -330, -330, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, 676, -330, -330, -330, -330,
+ -330, 604, 240, -330, -330, -330, -330, 158, 281, 264,
+ -330, -330, 1, 258, -330, 269, 294, -330, 295, 306,
+ 275, -330, -330, 277, -330, 327, 301, -330, -330, -330,
+ 830, 388, 283, -330, -330, -330, -330, 271, 140, 393,
+ -330, -330, 123, -47, -330, -330, -330, 285, -330, -330,
+ 281, 19, 287, -330, -330, 82, 389, -330, -330, 312,
+ -330, -330, 71, -330, 284, 286, 291, 106, 313, -330,
+ -330, -330, 394, 233, 753, 296, -330, -330, -330, -330,
+ -330, 328, -330, -330, -330, 78, -330, -330, 389, -330,
+ -330, -330, 292, 297, -330, -330, 299, 103, -330, 303,
+ -330, 405, 830, 281, 281, 437, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, 142, -330, -330, -330, -330,
+ -330, -330, -330, -330, 289, -330, -330, -330, 302, -330,
+ -330, -330, -330, -330, 308, 307, 366, 309, 343, 114,
+ 115, -330, -330, 304, -330, -330, 310, 145, 22, 143,
+ -330, -330, 389, 144, -330, 314, -330, 82, 263, -330,
+ 389, 263, 1, -330, -330, -330, -330, -330, -330, -330,
+ -330, 321, -330, -330, -20, 208, -330, -330, 324, -330,
+ -330, 437, -330, -330, 318, 315, 255, 259, -330, 330,
+ -330, 319, -20, -330, -330, -330, -330, -330, -330, -330,
+ 106, 348, -330, 429, 389, 233, 404, 66, 352, 325,
+ 12, 362, -330, 12, 364, 408, 240, 158, 329, -330,
+ -330, -330, -330, -330, -330, 342, -330, 304, -330, -330,
+ 233, -330, 10, 21, 10, -330, -330, 346, 21, 10,
+ 353, 328, -330, -330, 389, 196, -330, 340, 344, -330,
+ -330, 345, 349, -330, -330, 555, 334, 351, 257, -330,
+ -330, 296, 354, 429, 350, -330, 347, -330, -330, 555,
+ -330, -330, 555, 555, 437, 326, -330, -330, -330, 456,
+ -330, -330, 389, 356, 176, -330, -330, -330, 240, -330,
+ 304, 392, 357, 358, -330, -330, 10, 240, 389, 359,
+ 389, 368, -330, 361, -330, 360, 363, -330, -330, 355,
+ -330, -330, -330, 10, -330, -330, 379, -330, -330, -330,
+ -330, 367, 370, -330, -330, -330, -330, -330, -330, 365,
+ -330, -330, -330, -330, 31, -330, -330, -330, 456, -330,
+ 369, 259, -330, -330, 372, -330, -330, -330, -330, 263,
+ -330, 66, -330, 386, 240, -330, 16, -330, 10, 240,
+ -330, -330, 240, -330, -330, 14, 177, -330, -330, -330,
+ -330, -330, 371, -330, -330, -330, 385, 188, -330, -330,
+ -330, 296, 484, -330, -330, -330, -330, -330, -330, 46,
+ -330, -330, -330, -330, 429, 389, 381, -330, -330, 360,
+ -330, 389, -330, 389, 23, -330, 9, -330, -330, 456,
+ 381, 389, -330, 61, 189, -330, -330, -330, -330, -330,
+ -330, -330, -330, -330, -330, 61, 55, -330, -330, -330,
+ 50, -330, -330, -330
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -320, -320, 445, 296, -320, -320, 325, -320, 435, -320,
- -320, 428, -320, -320, -320, 378, -320, -320, -320, -320,
- -320, -320, 397, -320, 366, -320, -320, -320, 402, 357,
- -320, 348, -320, -320, 305, -320, 217, 193, 65, 84,
- -320, 104, 285, -320, -320, 205, -320, -320, -320, 34,
- -192, -262, -91, -320, -107, -320, 239, -320, 247, -151,
- 293, 295, -320, -237, -320, -144, -264, -131, -319, -87,
- -86, -320, 128, -320, -320, 83, 306, -178, -320, -232,
- -320, -170, 85, -320, 197, 195, -296, -320, -320, -320,
- -222, -320, -320, -320, -320, -320, -320, -320, 71, 73,
- -320, -320, -320, -320, -320, -320, 270, -320, -320, -320,
- -320, 75, 87, -261, -320, -320, -320, 262, -143, -320,
- -110, -320, -320, -320, -320, 10, -320, 171, -12, -320,
- -320
+ -330, -330, 468, 184, -330, -330, 374, -330, 458, -330,
+ -330, 473, -330, -330, -330, 420, -330, -330, -330, -330,
+ -330, -330, 444, -330, 412, -330, -330, -330, 451, 373,
+ -330, 375, -330, -330, 320, -330, 223, 211, 37, 72,
+ -330, 76, 267, -330, -330, 190, -330, -330, -330, 5,
+ -213, -289, -91, -330, -111, -330, 224, -330, 232, -153,
+ 288, 290, -330, -237, -330, -140, -238, -141, -329, -32,
+ -330, -330, -30, -330, -330, 56, 300, -211, -330, -207,
+ -330, -193, 52, -330, 174, 170, -300, -330, -330, -330,
+ -209, -330, -330, -330, -330, -330, -330, -330, 43, 42,
+ -330, -330, -330, -330, -330, -330, 254, -330, -330, -330,
+ -330, 54, 57, -290, -330, -330, 305, -330, 311, -330,
+ 207, -330, -330, 298, -142, -330, -103, -330, -330, -330,
+ -330, 4, -330, 154, -12, -330, -330
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -291
+#define YYTABLE_NINF -295
static const yytype_int16 yytable[] =
{
- 20, 128, 393, 203, 250, 336, 20, 189, 191, 197,
- 7, 138, 478, 7, 348, 7, 191, 382, 7, 136,
- 190, 476, 444, 299, 9, 199, 200, 479, 190, 15,
- 12, 53, 147, 148, 15, 398, 478, 343, 281, 281,
- 370, 372, 373, 69, 92, 21, 376, 377, 53, 199,
- 200, 479, 69, 52, 478, 353, 15, 15, 16, 300,
- 188, 24, 369, 471, 368, 68, 91, 199, 200, 479,
- 52, 15, 15, 92, 68, 15, 16, 322, 15, 299,
- 297, 298, 353, 15, 147, 148, 69, 1, 2, 1,
- 2, 15, 179, 180, 386, 91, 48, 414, 353, 15,
- 179, 180, 127, 15, 371, 33, 97, 132, 68, 1,
- 2, 401, 1, 2, 428, 300, 155, 472, 486, 203,
- 410, 473, 189, 191, 480, 197, 337, 169, 345, 149,
- 464, 191, 413, 301, 306, 190, 127, 312, 314, 192,
- 198, 387, 439, 190, 450, 62, 348, 212, 480, 168,
- 34, 315, 297, 298, 446, 345, 191, -85, 17, 35,
- 231, 233, 399, 127, 204, 36, 480, 488, 190, 98,
- 345, 345, 156, 3, 299, 188, 22, 431, 127, 127,
- 127, 149, 230, 232, 90, 349, 157, 49, 358, 170,
- 193, 358, 194, 171, 364, 278, 278, 317, 193, 15,
- 234, 177, 235, 15, 179, 180, 236, 181, 182, 37,
- 300, 265, 162, 90, 38, 266, 237, 25, 15, 279,
- 282, 220, 220, 163, 1, 2, 26, 39, 267, 318,
- 284, 285, 268, 176, 177, 178, 15, 179, 180, 309,
- 181, 182, 42, 310, 238, 239, -290, 27, 54, 28,
- -290, 407, 127, 58, 192, 408, 198, 338, 29, 409,
- 240, 342, 212, 440, 350, 59, 60, 359, 415, 241,
- 359, 224, 225, 41, 15, 179, 180, 183, 453, 242,
- 1, 2, 454, 55, 457, 243, 484, 212, 458, 487,
- 458, 61, -26, 487, 244, 43, 365, 1, 2, 199,
- 200, 10, 245, 286, 10, 247, 447, 319, 320, 448,
- 127, 325, 326, 328, 329, 103, 104, 349, 184, 100,
- 443, 94, 358, 234, 177, 235, 15, 179, 180, 236,
- 181, 182, 405, 199, 200, 95, 174, 426, 427, 237,
- 462, 463, 99, 127, 127, 134, 140, 141, 417, 139,
- 417, 142, 143, 358, 144, 234, 177, 235, 15, 179,
- 180, 236, 181, 182, 150, 151, 152, 238, 239, 154,
- 159, 237, 167, 172, 173, 174, 205, 434, 220, 228,
- 269, 270, 275, 240, 277, 276, 313, 271, 296, 274,
- 273, 323, 241, 324, 338, 331, 350, 332, 340, 238,
- 239, 359, 242, 15, 344, 352, 360, 362, 243, 363,
- 452, 366, 374, 367, 378, 240, 384, 244, 394, 389,
- 395, 383, 404, 406, 241, 245, 246, 402, 247, 411,
- 403, 412, 359, 127, 242, 418, 413, 420, 452, 421,
- 243, 429, 425, 430, 434, 422, 434, 438, 8, 244,
- 437, 442, 455, 23, 477, 456, 466, 165, 246, 40,
- 247, 96, 93, 101, 133, 127, 234, 177, 235, 15,
- 179, 180, 236, 181, 182, 361, 229, 176, 177, 178,
- 15, 179, 180, 334, 181, 182, 1, 2, 234, 177,
- 235, 15, 179, 180, 236, 181, 182, 445, 234, 177,
- 235, 15, 179, 180, 236, 181, 182, 175, 218, 461,
- 238, 239, 441, 311, 485, 381, 351, 339, 307, 459,
- 308, 183, 460, 283, 396, 397, 240, 469, 333, 467,
- 335, 470, 238, 419, 0, 241, 0, 465, 102, 206,
- 0, 0, 238, 0, 0, 242, 0, 385, 0, 0,
- 0, 243, 103, 104, 0, 0, 0, 400, 0, 0,
- 244, 0, 184, 0, 105, 70, 106, 0, 107, 246,
- 0, 247, 0, 243, 0, 0, 127, 0, 108, 0,
- 207, 0, 109, 243, 0, 0, 110, 0, 0, 111,
- 72, 73, 74, 0, 0, 0, 15, 0, 0, 0,
- 112, 75, 1, 2, 0, 113, 76, 114, 77, 115,
- 0, 0, 0, 0, 0, 70, 78, 0, 116, 117,
- 0, 0, 0, 0, 0, 79, 0, 80, 0, 0,
- 71, 0, 81, 118, 82, 83, 84, 0, 0, 0,
- 72, 73, 74, 0, 0, 0, 119, 0, 0, 0,
- 0, 75, 0, 0, 0, 0, 76, 0, 77, 0,
- 0, 0, 0, 0, 0, 0, 78, 0, 0, 0,
- 0, 0, 0, 0, 0, 79, 0, 80, 0, 103,
- 104, 0, 81, 0, 82, 83, 84, 213, 0, 0,
- 0, 105, 70, 106, 0, 107, 214, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 0, 109,
- 0, 0, 0, 110, 0, 0, 111, 72, 73, 74,
- 0, 0, 0, 0, 0, 215, 0, 112, 75, 0,
- 0, 0, 113, 76, 114, 77, 115, 0, 0, 0,
- 0, 0, 0, 78, 0, 116, 117, 216, 217, 0,
- 0, 0, 79, 0, 80, 1, 2, 0, 0, 81,
- 118, 82, 83, 84, 0, 0, 0, 105, 70, 106,
- 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 108, 0, 0, 0, 109, 0, 0, 0, 110,
- 0, 0, 111, 72, 73, 74, 0, 0, 0, 0,
- 0, 0, 0, 112, 75, 0, 0, 0, 113, 76,
- 114, 77, 115, 0, 0, 0, 0, 0, 0, 78,
- 0, 116, 117, 0, 0, 0, 0, 0, 79, 0,
- 80, 0, 0, 0, 0, 81, 118, 82, 83, 84
+ 20, 129, 274, 185, 7, 216, 20, 7, 376, 7,
+ 337, 139, 7, 341, 511, 210, 209, 208, 302, 302,
+ 479, 210, 209, 15, 428, 15, 90, 15, 15, 16,
+ 15, 53, 398, 400, 401, 15, 16, 137, 404, 405,
+ 318, 319, 15, 69, 92, 417, 506, 52, 53, 97,
+ 381, 320, 69, 9, 381, 90, 513, 15, 371, 68,
+ 91, 513, 320, 433, 52, 12, 207, 513, 68, 212,
+ 213, 514, 21, 92, 212, 213, 514, 15, 354, 24,
+ 212, 213, 514, 397, 381, 15, 69, 321, 154, 91,
+ 346, 1, 2, 15, 179, 180, 447, 412, 321, 48,
+ 507, 133, 68, 347, 508, 185, 338, 1, 2, 342,
+ 396, 33, 98, 461, 197, 198, 199, 15, 179, 180,
+ 128, 200, 201, 373, 155, -85, 446, 373, 173, 177,
+ 17, 128, 174, 186, 189, 128, 485, 22, 216, 421,
+ 422, 128, 466, 399, 172, 211, 322, 327, 210, 209,
+ 208, 225, 376, 210, 209, 499, 436, 373, 481, 202,
+ 154, 344, 217, 318, 319, 128, 245, 159, 521, 515,
+ 523, 434, 166, 443, 515, 1, 2, 373, 210, 209,
+ 515, 255, 257, 167, 191, 128, 320, 34, 192, 10,
+ 49, 241, 10, 181, 3, 242, 155, 254, 256, 207,
+ 203, 474, 299, 299, 15, 35, 377, 15, 411, 386,
+ 1, 2, 386, 1, 2, 392, 249, 349, 195, 15,
+ 250, 25, 321, 160, 36, 128, 300, 303, 233, 233,
+ 177, 26, 59, 60, 37, 186, 339, 161, 189, 339,
+ 38, 197, 198, 199, 15, 179, 180, 62, 200, 201,
+ 1, 2, 27, 350, 28, 289, 330, 333, -294, 290,
+ 331, 334, -294, 29, 128, 258, 198, 259, 15, 179,
+ 180, 260, 200, 201, 15, 179, 180, 41, 211, 39,
+ 1, 2, 370, 225, 54, 378, 202, 442, 387, 440,
+ 488, 387, 15, 441, 489, 42, 448, 475, 1, 2,
+ 55, 492, 519, 522, 219, 493, 493, 522, 225, 61,
+ 262, 393, 258, 198, 259, 15, 179, 180, 260, 200,
+ 201, -26, 245, 339, 43, 420, 58, 203, 94, 261,
+ 1, 2, 212, 213, 258, 198, 259, 15, 179, 180,
+ 260, 200, 201, 305, 306, 220, 482, 237, 238, 483,
+ 377, 267, 95, 478, 99, 386, 100, 262, 263, 128,
+ 438, 351, 352, 357, 358, 360, 361, 212, 213, 103,
+ 104, 497, 498, 264, 459, 460, 450, 135, 450, 262,
+ 140, 141, 265, 142, 143, 144, 147, 145, 386, 146,
+ 148, 156, 266, 158, 435, 157, 163, 171, 267, 178,
+ 15, 190, 193, 195, 194, 246, 218, 268, 252, 296,
+ 233, 291, 469, 248, 247, 269, 307, 251, 271, 298,
+ 267, 297, 292, 128, 317, 295, 345, 339, 335, 378,
+ 294, 355, 356, 364, 387, 363, 368, 372, 388, 380,
+ 390, 391, 402, 487, 394, 258, 198, 259, 15, 179,
+ 180, 260, 200, 201, 395, 413, 406, 418, 430, 414,
+ 415, 419, 261, 437, 416, 429, 424, 387, 444, 462,
+ 445, 8, 451, 487, 454, 446, 23, 439, 458, 469,
+ 453, 469, 463, 490, 455, 464, 472, 473, 465, 512,
+ 262, 263, 258, 198, 259, 15, 179, 180, 260, 200,
+ 201, 477, 491, 501, 40, 101, 264, 169, 96, 261,
+ 134, 93, 253, 366, 389, 265, 496, 476, 480, 343,
+ 520, 409, 379, 367, 495, 266, 328, 494, 329, 196,
+ 304, 267, 432, 431, 504, 505, 365, 262, 263, 231,
+ 268, 410, 500, 502, 452, 336, 0, 332, 269, 270,
+ 0, 271, 0, 264, 0, 0, 128, 0, 0, 0,
+ 0, 340, 265, 258, 198, 259, 15, 179, 180, 260,
+ 200, 201, 266, 0, 0, 0, 0, 0, 267, 0,
+ 0, 0, 0, 0, 0, 0, 0, 268, 0, 0,
+ 0, 0, 0, 0, 0, 0, 270, 0, 271, 0,
+ 0, 0, 0, 128, 0, 0, 0, 102, 262, 263,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 103, 104, 0, 264, 0, 105, 0, 0, 0,
+ 0, 0, 0, 265, 106, 70, 107, 0, 108, 0,
+ 0, 0, 0, 266, 0, 0, 0, 0, 109, 267,
+ 0, 0, 110, 0, 0, 0, 111, 0, 268, 112,
+ 72, 73, 74, 0, 0, 0, 0, 270, 0, 271,
+ 113, 75, 0, 0, 128, 114, 76, 115, 77, 116,
+ 0, 0, 0, 0, 0, 0, 78, 15, 117, 118,
+ 0, 0, 0, 1, 2, 79, 0, 80, 0, 0,
+ 0, 0, 81, 119, 82, 83, 84, 70, 0, 0,
+ 0, 0, 0, 0, 0, 0, 120, 0, 0, 0,
+ 0, 0, 71, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 73, 74, 0, 0, 0, 0, 0,
+ 0, 0, 0, 75, 0, 0, 0, 0, 76, 0,
+ 77, 0, 0, 0, 0, 0, 0, 0, 78, 0,
+ 0, 0, 0, 0, 0, 0, 0, 79, 0, 80,
+ 103, 104, 0, 0, 81, 105, 82, 83, 84, 226,
+ 0, 0, 0, 106, 70, 107, 0, 108, 227, 0,
+ 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
+ 0, 110, 0, 0, 0, 111, 0, 0, 112, 72,
+ 73, 74, 0, 0, 0, 0, 0, 228, 0, 113,
+ 75, 0, 0, 0, 114, 76, 115, 77, 116, 0,
+ 0, 0, 0, 0, 0, 78, 0, 117, 118, 229,
+ 230, 0, 0, 0, 79, 0, 80, 1, 2, 0,
+ 0, 81, 119, 82, 83, 84, 0, 0, 0, 0,
+ 149, 70, 107, 0, 108, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 109, 0, 0, 0, 150, 0,
+ 0, 0, 111, 0, 0, 112, 72, 73, 74, 0,
+ 0, 0, 0, 0, 0, 0, 151, 75, 0, 0,
+ 0, 114, 76, 115, 77, 116, 0, 0, 0, 0,
+ 0, 0, 78, 0, 117, 118, 0, 0, 0, 0,
+ 0, 79, 0, 80, 0, 0, 0, 0, 81, 119,
+ 82, 83, 84
};
static const yytype_int16 yycheck[] =
{
- 12, 92, 321, 154, 174, 269, 18, 151, 151, 152,
- 0, 102, 6, 3, 276, 5, 159, 313, 8, 35,
- 151, 5, 4, 40, 0, 19, 20, 21, 159, 11,
- 111, 43, 119, 119, 11, 331, 6, 274, 216, 217,
- 301, 302, 303, 55, 56, 41, 307, 308, 60, 19,
- 20, 21, 64, 43, 6, 37, 11, 11, 12, 76,
- 151, 113, 299, 22, 296, 55, 56, 19, 20, 21,
- 60, 11, 11, 85, 64, 11, 12, 247, 11, 40,
- 18, 19, 37, 11, 171, 171, 98, 17, 18, 17,
- 18, 11, 12, 13, 316, 85, 24, 358, 37, 11,
- 12, 13, 118, 11, 121, 12, 53, 97, 98, 17,
- 18, 333, 17, 18, 375, 76, 26, 76, 112, 270,
- 352, 80, 266, 266, 118, 268, 269, 139, 110, 119,
- 449, 274, 116, 224, 225, 266, 118, 228, 109, 151,
- 152, 319, 406, 274, 121, 53, 408, 159, 118, 139,
- 64, 122, 18, 19, 415, 110, 299, 112, 112, 91,
- 172, 173, 332, 118, 154, 91, 118, 119, 299, 116,
- 110, 110, 82, 103, 40, 266, 112, 110, 118, 118,
- 118, 171, 172, 173, 56, 276, 96, 115, 279, 112,
- 110, 282, 112, 116, 285, 87, 87, 9, 110, 11,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 60,
- 76, 112, 48, 85, 91, 116, 24, 18, 11, 111,
- 111, 113, 113, 59, 17, 18, 27, 3, 112, 241,
- 38, 39, 116, 8, 9, 10, 11, 12, 13, 112,
- 15, 16, 28, 116, 52, 53, 112, 48, 46, 50,
- 116, 112, 118, 115, 266, 116, 268, 269, 59, 350,
- 68, 273, 274, 406, 276, 115, 116, 279, 359, 77,
- 282, 19, 20, 114, 11, 12, 13, 52, 112, 87,
- 17, 18, 116, 61, 112, 93, 112, 299, 116, 481,
- 116, 111, 46, 485, 102, 49, 286, 17, 18, 19,
- 20, 5, 110, 111, 8, 113, 416, 36, 37, 419,
- 118, 107, 108, 105, 106, 17, 18, 408, 93, 18,
- 411, 112, 413, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 344, 19, 20, 115, 111, 19, 20, 24,
- 447, 448, 111, 118, 118, 112, 88, 88, 360, 121,
- 362, 78, 58, 444, 88, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 3, 111, 111, 52, 53, 121,
- 3, 24, 111, 117, 117, 111, 12, 389, 113, 3,
- 113, 121, 42, 68, 75, 111, 104, 119, 113, 117,
- 121, 112, 77, 116, 406, 104, 408, 113, 7, 52,
- 53, 413, 87, 11, 32, 113, 75, 75, 93, 32,
- 422, 114, 95, 111, 102, 68, 109, 102, 114, 111,
- 110, 122, 7, 120, 77, 110, 111, 114, 113, 75,
- 114, 112, 444, 118, 87, 112, 116, 111, 450, 112,
- 93, 89, 114, 122, 456, 123, 458, 114, 3, 102,
- 116, 114, 111, 18, 466, 116, 121, 132, 111, 31,
- 113, 64, 60, 85, 98, 118, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 282, 171, 8, 9, 10,
- 11, 12, 13, 266, 15, 16, 17, 18, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 413, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 150, 160, 444,
- 52, 53, 408, 228, 480, 310, 277, 270, 225, 436,
- 225, 52, 437, 217, 327, 330, 68, 456, 258, 454,
- 268, 458, 52, 362, -1, 77, -1, 450, 3, 70,
- -1, -1, 52, -1, -1, 87, -1, 67, -1, -1,
- -1, 93, 17, 18, -1, -1, -1, 67, -1, -1,
- 102, -1, 93, -1, 29, 30, 31, -1, 33, 111,
- -1, 113, -1, 93, -1, -1, 118, -1, 43, -1,
- 111, -1, 47, 93, -1, -1, 51, -1, -1, 54,
- 55, 56, 57, -1, -1, -1, 11, -1, -1, -1,
- 65, 66, 17, 18, -1, 70, 71, 72, 73, 74,
- -1, -1, -1, -1, -1, 30, 81, -1, 83, 84,
- -1, -1, -1, -1, -1, 90, -1, 92, -1, -1,
- 45, -1, 97, 98, 99, 100, 101, -1, -1, -1,
- 55, 56, 57, -1, -1, -1, 111, -1, -1, -1,
- -1, 66, -1, -1, -1, -1, 71, -1, 73, -1,
- -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
- -1, -1, -1, -1, -1, 90, -1, 92, -1, 17,
- 18, -1, 97, -1, 99, 100, 101, 25, -1, -1,
- -1, 29, 30, 31, -1, 33, 34, -1, -1, -1,
- -1, -1, -1, -1, -1, 43, -1, -1, -1, 47,
- -1, -1, -1, 51, -1, -1, 54, 55, 56, 57,
- -1, -1, -1, -1, -1, 63, -1, 65, 66, -1,
- -1, -1, 70, 71, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, 81, -1, 83, 84, 85, 86, -1,
- -1, -1, 90, -1, 92, 17, 18, -1, -1, 97,
- 98, 99, 100, 101, -1, -1, -1, 29, 30, 31,
- -1, 33, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 43, -1, -1, -1, 47, -1, -1, -1, 51,
- -1, -1, 54, 55, 56, 57, -1, -1, -1, -1,
- -1, -1, -1, 65, 66, -1, -1, -1, 70, 71,
- 72, 73, 74, -1, -1, -1, -1, -1, -1, 81,
- -1, 83, 84, -1, -1, -1, -1, -1, 90, -1,
- 92, -1, -1, -1, -1, 97, 98, 99, 100, 101
+ 12, 92, 195, 145, 0, 158, 18, 3, 297, 5,
+ 248, 102, 8, 251, 5, 157, 157, 157, 229, 230,
+ 4, 163, 163, 11, 353, 11, 56, 11, 11, 12,
+ 11, 43, 322, 323, 324, 11, 12, 36, 328, 329,
+ 18, 19, 11, 55, 56, 345, 23, 43, 60, 54,
+ 38, 41, 64, 0, 38, 85, 6, 11, 295, 55,
+ 56, 6, 41, 363, 60, 112, 157, 6, 64, 19,
+ 20, 21, 42, 85, 19, 20, 21, 11, 271, 114,
+ 19, 20, 21, 320, 38, 11, 98, 77, 120, 85,
+ 110, 17, 18, 11, 12, 13, 386, 335, 77, 25,
+ 77, 97, 98, 123, 81, 247, 248, 17, 18, 251,
+ 317, 12, 117, 403, 8, 9, 10, 11, 12, 13,
+ 119, 15, 16, 111, 120, 113, 117, 111, 140, 141,
+ 113, 119, 113, 145, 146, 119, 122, 113, 291, 348,
+ 351, 119, 111, 122, 140, 157, 237, 238, 290, 290,
+ 290, 163, 441, 295, 295, 484, 365, 111, 448, 53,
+ 192, 252, 158, 18, 19, 119, 178, 27, 113, 119,
+ 120, 364, 49, 380, 119, 17, 18, 111, 320, 320,
+ 119, 193, 194, 60, 113, 119, 41, 65, 117, 5,
+ 116, 113, 8, 111, 104, 117, 192, 193, 194, 290,
+ 94, 439, 88, 88, 11, 92, 297, 11, 12, 300,
+ 17, 18, 303, 17, 18, 306, 113, 9, 112, 11,
+ 117, 18, 77, 83, 92, 119, 112, 112, 114, 114,
+ 242, 28, 116, 117, 61, 247, 248, 97, 250, 251,
+ 92, 8, 9, 10, 11, 12, 13, 54, 15, 16,
+ 17, 18, 49, 265, 51, 113, 113, 113, 113, 117,
+ 117, 117, 117, 60, 119, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 11, 12, 13, 115, 290, 3,
+ 17, 18, 294, 295, 47, 297, 53, 378, 300, 113,
+ 113, 303, 11, 117, 117, 29, 387, 439, 17, 18,
+ 62, 113, 113, 516, 71, 117, 117, 520, 320, 112,
+ 53, 307, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 47, 334, 335, 50, 68, 116, 94, 113, 25,
+ 17, 18, 19, 20, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 39, 40, 112, 449, 19, 20, 452,
+ 441, 94, 116, 444, 112, 446, 18, 53, 54, 119,
+ 372, 37, 38, 108, 109, 106, 107, 19, 20, 17,
+ 18, 482, 483, 69, 19, 20, 388, 113, 390, 53,
+ 122, 112, 78, 89, 89, 79, 59, 112, 479, 112,
+ 89, 3, 88, 122, 68, 112, 3, 112, 94, 112,
+ 11, 89, 118, 112, 118, 113, 12, 103, 3, 43,
+ 114, 122, 424, 114, 117, 111, 112, 114, 114, 76,
+ 94, 112, 120, 119, 114, 118, 105, 439, 114, 441,
+ 122, 113, 117, 114, 446, 105, 7, 33, 76, 114,
+ 76, 33, 96, 455, 115, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 112, 115, 103, 123, 111, 115,
+ 115, 110, 25, 7, 115, 115, 112, 479, 76, 90,
+ 113, 3, 113, 485, 113, 117, 18, 121, 115, 491,
+ 112, 493, 115, 112, 124, 115, 117, 115, 123, 501,
+ 53, 54, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 115, 117, 122, 31, 85, 69, 133, 64, 25,
+ 98, 60, 192, 290, 303, 78, 479, 441, 446, 252,
+ 515, 331, 298, 291, 472, 88, 238, 471, 238, 156,
+ 230, 94, 362, 359, 491, 493, 282, 53, 54, 164,
+ 103, 334, 485, 489, 390, 247, -1, 242, 111, 112,
+ -1, 114, -1, 69, -1, -1, 119, -1, -1, -1,
+ -1, 250, 78, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 88, -1, -1, -1, -1, -1, 94, -1,
+ -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
+ -1, -1, -1, -1, -1, -1, 112, -1, 114, -1,
+ -1, -1, -1, 119, -1, -1, -1, 3, 53, 54,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 17, 18, -1, 69, -1, 22, -1, -1, -1,
+ -1, -1, -1, 78, 30, 31, 32, -1, 34, -1,
+ -1, -1, -1, 88, -1, -1, -1, -1, 44, 94,
+ -1, -1, 48, -1, -1, -1, 52, -1, 103, 55,
+ 56, 57, 58, -1, -1, -1, -1, 112, -1, 114,
+ 66, 67, -1, -1, 119, 71, 72, 73, 74, 75,
+ -1, -1, -1, -1, -1, -1, 82, 11, 84, 85,
+ -1, -1, -1, 17, 18, 91, -1, 93, -1, -1,
+ -1, -1, 98, 99, 100, 101, 102, 31, -1, -1,
+ -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
+ -1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 56, 57, 58, -1, -1, -1, -1, -1,
+ -1, -1, -1, 67, -1, -1, -1, -1, 72, -1,
+ 74, -1, -1, -1, -1, -1, -1, -1, 82, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
+ 17, 18, -1, -1, 98, 22, 100, 101, 102, 26,
+ -1, -1, -1, 30, 31, 32, -1, 34, 35, -1,
+ -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
+ -1, 48, -1, -1, -1, 52, -1, -1, 55, 56,
+ 57, 58, -1, -1, -1, -1, -1, 64, -1, 66,
+ 67, -1, -1, -1, 71, 72, 73, 74, 75, -1,
+ -1, -1, -1, -1, -1, 82, -1, 84, 85, 86,
+ 87, -1, -1, -1, 91, -1, 93, 17, 18, -1,
+ -1, 98, 99, 100, 101, 102, -1, -1, -1, -1,
+ 30, 31, 32, -1, 34, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 44, -1, -1, -1, 48, -1,
+ -1, -1, 52, -1, -1, 55, 56, 57, 58, -1,
+ -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
+ -1, 71, 72, 73, 74, 75, -1, -1, -1, -1,
+ -1, -1, 82, -1, 84, 85, -1, -1, -1, -1,
+ -1, 91, -1, 93, -1, -1, -1, -1, 98, 99,
+ 100, 101, 102
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const yytype_uint8 yystos[] =
+static const yytype_uint16 yystos[] =
{
- 0, 17, 18, 103, 125, 126, 127, 249, 126, 0,
- 127, 128, 111, 129, 130, 11, 12, 112, 131, 132,
- 252, 41, 112, 132, 113, 18, 27, 48, 50, 59,
- 133, 134, 135, 12, 64, 91, 91, 60, 91, 3,
- 135, 114, 28, 49, 136, 137, 149, 150, 24, 115,
- 151, 152, 249, 252, 46, 61, 141, 142, 115, 115,
- 116, 111, 53, 143, 144, 146, 147, 148, 249, 252,
- 30, 45, 55, 56, 57, 66, 71, 73, 81, 90,
- 92, 97, 99, 100, 101, 138, 139, 154, 156, 186,
- 196, 249, 252, 152, 112, 115, 146, 53, 116, 111,
- 18, 139, 3, 17, 18, 29, 31, 33, 43, 47,
- 51, 54, 65, 70, 72, 74, 83, 84, 98, 111,
- 155, 180, 193, 194, 195, 196, 250, 118, 176, 244,
- 245, 246, 249, 148, 112, 140, 35, 166, 176, 121,
- 88, 88, 78, 58, 88, 157, 158, 193, 194, 249,
- 3, 111, 111, 239, 121, 26, 82, 96, 247, 3,
- 177, 178, 48, 59, 248, 130, 145, 111, 249, 252,
- 112, 116, 117, 117, 111, 153, 8, 9, 10, 12,
- 13, 15, 16, 52, 93, 153, 159, 160, 176, 189,
- 191, 242, 252, 110, 112, 240, 241, 242, 252, 19,
- 20, 181, 182, 183, 249, 12, 70, 111, 187, 189,
- 190, 249, 252, 25, 34, 63, 85, 86, 155, 179,
- 113, 199, 201, 202, 19, 20, 168, 169, 3, 158,
- 249, 252, 249, 252, 8, 10, 14, 24, 52, 53,
- 68, 77, 87, 93, 102, 110, 111, 113, 176, 191,
- 205, 206, 207, 208, 209, 210, 212, 213, 214, 215,
- 216, 217, 242, 243, 252, 112, 116, 112, 116, 113,
- 121, 119, 188, 121, 117, 42, 111, 75, 87, 111,
- 200, 201, 111, 200, 38, 39, 111, 203, 204, 205,
- 226, 227, 229, 231, 232, 233, 113, 18, 19, 40,
- 76, 176, 184, 185, 237, 238, 176, 184, 185, 112,
- 116, 166, 176, 104, 109, 122, 230, 9, 252, 36,
- 37, 211, 205, 112, 116, 107, 108, 197, 105, 106,
- 198, 104, 113, 230, 160, 241, 190, 242, 252, 182,
- 7, 192, 252, 187, 32, 110, 164, 165, 175, 176,
- 252, 180, 113, 37, 161, 162, 163, 175, 176, 252,
- 75, 161, 75, 32, 176, 249, 114, 111, 203, 187,
- 237, 121, 237, 237, 95, 167, 237, 237, 102, 170,
- 171, 169, 210, 122, 109, 67, 214, 201, 218, 111,
- 219, 220, 221, 192, 114, 110, 208, 209, 210, 205,
- 67, 214, 114, 114, 7, 252, 120, 112, 116, 176,
- 203, 75, 112, 116, 237, 176, 251, 252, 112, 251,
- 111, 112, 123, 234, 235, 114, 19, 20, 237, 89,
- 122, 110, 222, 223, 252, 253, 254, 116, 114, 190,
- 242, 165, 114, 176, 4, 163, 237, 244, 244, 228,
- 121, 236, 252, 112, 116, 111, 116, 112, 116, 199,
- 206, 162, 178, 178, 192, 236, 121, 235, 172, 222,
- 223, 22, 76, 80, 224, 225, 5, 252, 6, 21,
- 118, 173, 174, 183, 112, 173, 112, 174, 119
+ 0, 17, 18, 104, 126, 127, 128, 256, 127, 0,
+ 128, 129, 112, 130, 131, 11, 12, 113, 132, 133,
+ 259, 42, 113, 133, 114, 18, 28, 49, 51, 60,
+ 134, 135, 136, 12, 65, 92, 92, 61, 92, 3,
+ 136, 115, 29, 50, 137, 138, 150, 151, 25, 116,
+ 152, 153, 256, 259, 47, 62, 142, 143, 116, 116,
+ 117, 112, 54, 144, 145, 147, 148, 149, 256, 259,
+ 31, 46, 56, 57, 58, 67, 72, 74, 82, 91,
+ 93, 98, 100, 101, 102, 139, 140, 155, 157, 187,
+ 197, 256, 259, 153, 113, 116, 147, 54, 117, 112,
+ 18, 140, 3, 17, 18, 22, 30, 32, 34, 44,
+ 48, 52, 55, 66, 71, 73, 75, 84, 85, 99,
+ 112, 156, 181, 194, 195, 196, 197, 257, 119, 177,
+ 251, 252, 253, 256, 149, 113, 141, 36, 167, 177,
+ 122, 112, 89, 89, 79, 112, 112, 59, 89, 30,
+ 48, 66, 158, 159, 194, 256, 3, 112, 122, 27,
+ 83, 97, 254, 3, 178, 179, 49, 60, 255, 131,
+ 146, 112, 256, 259, 113, 240, 241, 259, 112, 12,
+ 13, 111, 246, 247, 248, 249, 259, 242, 243, 259,
+ 89, 113, 117, 118, 118, 112, 154, 8, 9, 10,
+ 15, 16, 53, 94, 154, 160, 161, 177, 190, 192,
+ 249, 259, 19, 20, 182, 183, 184, 256, 12, 71,
+ 112, 188, 190, 191, 256, 259, 26, 35, 64, 86,
+ 87, 156, 180, 114, 200, 202, 203, 19, 20, 169,
+ 170, 113, 117, 244, 245, 259, 113, 117, 114, 113,
+ 117, 114, 3, 159, 256, 259, 256, 259, 8, 10,
+ 14, 25, 53, 54, 69, 78, 88, 94, 103, 111,
+ 112, 114, 177, 192, 206, 207, 208, 209, 210, 211,
+ 213, 214, 215, 216, 217, 218, 249, 250, 259, 113,
+ 117, 122, 120, 189, 122, 118, 43, 112, 76, 88,
+ 112, 201, 202, 112, 201, 39, 40, 112, 204, 205,
+ 206, 227, 228, 230, 232, 233, 234, 114, 18, 19,
+ 41, 77, 177, 185, 186, 238, 239, 177, 185, 186,
+ 113, 117, 241, 113, 117, 114, 248, 191, 249, 259,
+ 243, 191, 249, 167, 177, 105, 110, 123, 231, 9,
+ 259, 37, 38, 212, 206, 113, 117, 108, 109, 198,
+ 106, 107, 199, 105, 114, 231, 161, 183, 7, 193,
+ 259, 188, 33, 111, 165, 166, 176, 177, 259, 181,
+ 114, 38, 162, 163, 164, 176, 177, 259, 76, 162,
+ 76, 33, 177, 256, 115, 112, 204, 188, 238, 122,
+ 238, 238, 96, 168, 238, 238, 103, 171, 172, 170,
+ 245, 12, 191, 115, 115, 115, 115, 211, 123, 110,
+ 68, 215, 202, 219, 112, 220, 221, 222, 193, 115,
+ 111, 209, 210, 211, 206, 68, 215, 7, 259, 121,
+ 113, 117, 177, 204, 76, 113, 117, 238, 177, 258,
+ 259, 113, 258, 112, 113, 124, 235, 236, 115, 19,
+ 20, 238, 90, 115, 115, 123, 111, 223, 224, 259,
+ 260, 261, 117, 115, 191, 249, 166, 115, 177, 4,
+ 164, 238, 251, 251, 229, 122, 237, 259, 113, 117,
+ 112, 117, 113, 117, 200, 207, 163, 179, 179, 193,
+ 237, 122, 236, 173, 223, 224, 23, 77, 81, 225,
+ 226, 5, 259, 6, 21, 119, 174, 175, 184, 113,
+ 174, 113, 175, 120
};
#define yyerrok (yyerrstatus = 0)
@@ -2266,21 +2311,21 @@
switch (yyn)
{
case 2:
-#line 367 "asn1p_y.y"
+#line 378 "asn1p_y.y"
{
*(void **)param = (yyvsp[(2) - (2)].a_grammar);
}
break;
case 3:
-#line 370 "asn1p_y.y"
+#line 381 "asn1p_y.y"
{
*(void **)param = (yyvsp[(1) - (1)].a_grammar);
}
break;
case 4:
-#line 376 "asn1p_y.y"
+#line 387 "asn1p_y.y"
{
(yyval.a_grammar) = asn1p_new();
checkmem((yyval.a_grammar));
@@ -2289,7 +2334,7 @@
break;
case 5:
-#line 381 "asn1p_y.y"
+#line 392 "asn1p_y.y"
{
(yyval.a_grammar) = (yyvsp[(1) - (2)].a_grammar);
TQ_ADD(&((yyval.a_grammar)->modules), (yyvsp[(2) - (2)].a_module), mod_next);
@@ -2297,12 +2342,12 @@
break;
case 6:
-#line 398 "asn1p_y.y"
+#line 409 "asn1p_y.y"
{ currentModule = asn1p_module_new(); }
break;
case 7:
-#line 403 "asn1p_y.y"
+#line 414 "asn1p_y.y"
{
(yyval.a_module) = currentModule;
@@ -2323,31 +2368,31 @@
break;
case 8:
-#line 427 "asn1p_y.y"
+#line 438 "asn1p_y.y"
{ (yyval.a_oid) = 0; }
break;
case 9:
-#line 428 "asn1p_y.y"
+#line 439 "asn1p_y.y"
{ (yyval.a_oid) = (yyvsp[(1) - (1)].a_oid); }
break;
case 10:
-#line 432 "asn1p_y.y"
+#line 443 "asn1p_y.y"
{
(yyval.a_oid) = (yyvsp[(2) - (3)].a_oid);
}
break;
case 11:
-#line 435 "asn1p_y.y"
+#line 446 "asn1p_y.y"
{
(yyval.a_oid) = 0;
}
break;
case 12:
-#line 441 "asn1p_y.y"
+#line 452 "asn1p_y.y"
{
(yyval.a_oid) = asn1p_oid_new();
asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(1) - (1)].a_oid_arc));
@@ -2357,7 +2402,7 @@
break;
case 13:
-#line 447 "asn1p_y.y"
+#line 458 "asn1p_y.y"
{
(yyval.a_oid) = (yyvsp[(1) - (2)].a_oid);
asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(2) - (2)].a_oid_arc));
@@ -2367,7 +2412,7 @@
break;
case 14:
-#line 456 "asn1p_y.y"
+#line 467 "asn1p_y.y"
{ /* iso */
(yyval.a_oid_arc).name = (yyvsp[(1) - (1)].tv_str);
(yyval.a_oid_arc).number = -1;
@@ -2375,7 +2420,7 @@
break;
case 15:
-#line 460 "asn1p_y.y"
+#line 471 "asn1p_y.y"
{ /* iso(1) */
(yyval.a_oid_arc).name = (yyvsp[(1) - (4)].tv_str);
(yyval.a_oid_arc).number = (yyvsp[(3) - (4)].a_int);
@@ -2383,7 +2428,7 @@
break;
case 16:
-#line 464 "asn1p_y.y"
+#line 475 "asn1p_y.y"
{ /* 1 */
(yyval.a_oid_arc).name = 0;
(yyval.a_oid_arc).number = (yyvsp[(1) - (1)].a_int);
@@ -2391,61 +2436,61 @@
break;
case 17:
-#line 474 "asn1p_y.y"
+#line 485 "asn1p_y.y"
{ (yyval.a_module_flags) = MSF_NOFLAGS; }
break;
case 18:
-#line 475 "asn1p_y.y"
+#line 486 "asn1p_y.y"
{
(yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags);
}
break;
case 19:
-#line 484 "asn1p_y.y"
+#line 495 "asn1p_y.y"
{
(yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags);
}
break;
case 20:
-#line 487 "asn1p_y.y"
+#line 498 "asn1p_y.y"
{
(yyval.a_module_flags) = (yyvsp[(1) - (2)].a_module_flags) | (yyvsp[(2) - (2)].a_module_flags);
}
break;
case 21:
-#line 496 "asn1p_y.y"
+#line 507 "asn1p_y.y"
{
(yyval.a_module_flags) = MSF_EXPLICIT_TAGS;
}
break;
case 22:
-#line 499 "asn1p_y.y"
+#line 510 "asn1p_y.y"
{
(yyval.a_module_flags) = MSF_IMPLICIT_TAGS;
}
break;
case 23:
-#line 502 "asn1p_y.y"
+#line 513 "asn1p_y.y"
{
(yyval.a_module_flags) = MSF_AUTOMATIC_TAGS;
}
break;
case 24:
-#line 505 "asn1p_y.y"
+#line 516 "asn1p_y.y"
{
(yyval.a_module_flags) = MSF_EXTENSIBILITY_IMPLIED;
}
break;
case 25:
-#line 509 "asn1p_y.y"
+#line 520 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp((yyvsp[(1) - (2)].tv_str), "TAG") == 0) {
@@ -2464,19 +2509,19 @@
break;
case 26:
-#line 530 "asn1p_y.y"
+#line 541 "asn1p_y.y"
{ (yyval.a_module) = 0; }
break;
case 27:
-#line 531 "asn1p_y.y"
+#line 542 "asn1p_y.y"
{
(yyval.a_module) = (yyvsp[(1) - (1)].a_module);
}
break;
case 28:
-#line 540 "asn1p_y.y"
+#line 551 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
AL_IMPORT((yyval.a_module), exports, (yyvsp[(1) - (3)].a_module), xp_next);
@@ -2490,14 +2535,14 @@
break;
case 29:
-#line 553 "asn1p_y.y"
+#line 564 "asn1p_y.y"
{
(yyval.a_module) = (yyvsp[(1) - (1)].a_module);
}
break;
case 30:
-#line 556 "asn1p_y.y"
+#line 567 "asn1p_y.y"
{
if((yyvsp[(1) - (2)].a_module)) {
(yyval.a_module) = (yyvsp[(1) - (2)].a_module);
@@ -2511,7 +2556,7 @@
break;
case 31:
-#line 573 "asn1p_y.y"
+#line 584 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
checkmem((yyval.a_module));
@@ -2522,7 +2567,7 @@
break;
case 32:
-#line 580 "asn1p_y.y"
+#line 591 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
checkmem((yyval.a_module));
@@ -2533,7 +2578,7 @@
break;
case 33:
-#line 594 "asn1p_y.y"
+#line 605 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
checkmem((yyval.a_module));
@@ -2544,12 +2589,12 @@
break;
case 34:
-#line 602 "asn1p_y.y"
+#line 613 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); }
break;
case 35:
-#line 603 "asn1p_y.y"
+#line 614 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
@@ -2561,7 +2606,7 @@
break;
case 36:
-#line 615 "asn1p_y.y"
+#line 626 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic string type, "
@@ -2570,12 +2615,12 @@
break;
case 37:
-#line 628 "asn1p_y.y"
+#line 639 "asn1p_y.y"
{ (yyval.a_module) = 0; }
break;
case 39:
-#line 632 "asn1p_y.y"
+#line 643 "asn1p_y.y"
{
if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, "
@@ -2586,19 +2631,19 @@
break;
case 40:
-#line 642 "asn1p_y.y"
+#line 653 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
}
break;
case 41:
-#line 648 "asn1p_y.y"
+#line 659 "asn1p_y.y"
{ (yyval.a_module) = asn1p_module_new(); }
break;
case 43:
-#line 652 "asn1p_y.y"
+#line 663 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
checkmem((yyval.a_module));
@@ -2607,7 +2652,7 @@
break;
case 44:
-#line 657 "asn1p_y.y"
+#line 668 "asn1p_y.y"
{
(yyval.a_module) = (yyvsp[(1) - (2)].a_module);
TQ_ADD(&((yyval.a_module)->imports), (yyvsp[(2) - (2)].a_xports), xp_next);
@@ -2615,17 +2660,17 @@
break;
case 45:
-#line 664 "asn1p_y.y"
+#line 675 "asn1p_y.y"
{ memset(&(yyval.a_aid), 0, sizeof((yyval.a_aid))); }
break;
case 46:
-#line 665 "asn1p_y.y"
+#line 676 "asn1p_y.y"
{ (yyval.a_aid).oid = (yyvsp[(1) - (1)].a_oid); }
break;
case 47:
-#line 669 "asn1p_y.y"
+#line 680 "asn1p_y.y"
{
(yyval.a_xports) = (yyvsp[(1) - (4)].a_xports);
(yyval.a_xports)->fromModuleName = (yyvsp[(3) - (4)].tv_str);
@@ -2637,7 +2682,7 @@
break;
case 48:
-#line 680 "asn1p_y.y"
+#line 691 "asn1p_y.y"
{
(yyval.a_xports) = asn1p_xports_new();
checkmem((yyval.a_xports));
@@ -2646,7 +2691,7 @@
break;
case 49:
-#line 685 "asn1p_y.y"
+#line 696 "asn1p_y.y"
{
(yyval.a_xports) = (yyvsp[(1) - (3)].a_xports);
TQ_ADD(&((yyval.a_xports)->members), (yyvsp[(3) - (3)].a_expr), next);
@@ -2654,7 +2699,7 @@
break;
case 50:
-#line 692 "asn1p_y.y"
+#line 703 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2664,7 +2709,7 @@
break;
case 51:
-#line 698 "asn1p_y.y"
+#line 709 "asn1p_y.y"
{ /* Completely equivalent to above */
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2674,7 +2719,7 @@
break;
case 52:
-#line 704 "asn1p_y.y"
+#line 715 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2684,12 +2729,12 @@
break;
case 53:
-#line 714 "asn1p_y.y"
+#line 725 "asn1p_y.y"
{ (yyval.a_module) = 0; }
break;
case 54:
-#line 715 "asn1p_y.y"
+#line 726 "asn1p_y.y"
{
(yyval.a_module) = asn1p_module_new();
checkmem((yyval.a_module));
@@ -2702,21 +2747,21 @@
break;
case 55:
-#line 727 "asn1p_y.y"
+#line 738 "asn1p_y.y"
{
(yyval.a_xports) = (yyvsp[(2) - (3)].a_xports);
}
break;
case 56:
-#line 730 "asn1p_y.y"
+#line 741 "asn1p_y.y"
{
(yyval.a_xports) = 0;
}
break;
case 57:
-#line 733 "asn1p_y.y"
+#line 744 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
(yyval.a_xports) = asn1p_xports_new();
@@ -2725,7 +2770,7 @@
break;
case 58:
-#line 741 "asn1p_y.y"
+#line 752 "asn1p_y.y"
{
(yyval.a_xports) = asn1p_xports_new();
assert((yyval.a_xports));
@@ -2734,7 +2779,7 @@
break;
case 59:
-#line 746 "asn1p_y.y"
+#line 757 "asn1p_y.y"
{
(yyval.a_xports) = (yyvsp[(1) - (3)].a_xports);
TQ_ADD(&((yyval.a_xports)->members), (yyvsp[(3) - (3)].a_expr), next);
@@ -2742,7 +2787,7 @@
break;
case 60:
-#line 753 "asn1p_y.y"
+#line 764 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2752,7 +2797,7 @@
break;
case 61:
-#line 759 "asn1p_y.y"
+#line 770 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2762,7 +2807,7 @@
break;
case 62:
-#line 765 "asn1p_y.y"
+#line 776 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2772,12 +2817,12 @@
break;
case 63:
-#line 774 "asn1p_y.y"
+#line 785 "asn1p_y.y"
{ (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); }
break;
case 64:
-#line 777 "asn1p_y.y"
+#line 788 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (4)].a_expr);
assert((yyval.a_expr)->Identifier == 0);
@@ -2788,14 +2833,14 @@
break;
case 65:
-#line 787 "asn1p_y.y"
+#line 798 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
}
break;
case 66:
-#line 800 "asn1p_y.y"
+#line 811 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2806,7 +2851,7 @@
break;
case 67:
-#line 810 "asn1p_y.y"
+#line 821 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2818,7 +2863,7 @@
break;
case 68:
-#line 830 "asn1p_y.y"
+#line 841 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (3)].a_expr);
(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -2828,7 +2873,7 @@
break;
case 69:
-#line 836 "asn1p_y.y"
+#line 847 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (3)].a_expr);
(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -2838,7 +2883,7 @@
break;
case 70:
-#line 852 "asn1p_y.y"
+#line 863 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(6) - (6)].a_expr);
(yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str);
@@ -2847,7 +2892,7 @@
break;
case 71:
-#line 858 "asn1p_y.y"
+#line 869 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(6) - (6)].a_expr);
(yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str);
@@ -2856,7 +2901,7 @@
break;
case 72:
-#line 866 "asn1p_y.y"
+#line 877 "asn1p_y.y"
{
int ret;
(yyval.a_plist) = asn1p_paramlist_new(yylineno);
@@ -2869,7 +2914,7 @@
break;
case 73:
-#line 875 "asn1p_y.y"
+#line 886 "asn1p_y.y"
{
int ret;
(yyval.a_plist) = (yyvsp[(1) - (3)].a_plist);
@@ -2881,7 +2926,7 @@
break;
case 74:
-#line 886 "asn1p_y.y"
+#line 897 "asn1p_y.y"
{
(yyval.a_parg).governor = NULL;
(yyval.a_parg).argument = (yyvsp[(1) - (1)].tv_str);
@@ -2889,7 +2934,7 @@
break;
case 75:
-#line 890 "asn1p_y.y"
+#line 901 "asn1p_y.y"
{
int ret;
(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2901,7 +2946,7 @@
break;
case 76:
-#line 898 "asn1p_y.y"
+#line 909 "asn1p_y.y"
{
int ret;
(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2913,7 +2958,7 @@
break;
case 77:
-#line 906 "asn1p_y.y"
+#line 917 "asn1p_y.y"
{
int ret;
(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2925,7 +2970,7 @@
break;
case 78:
-#line 914 "asn1p_y.y"
+#line 925 "asn1p_y.y"
{
int ret;
(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2937,7 +2982,7 @@
break;
case 79:
-#line 925 "asn1p_y.y"
+#line 936 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2946,7 +2991,7 @@
break;
case 80:
-#line 930 "asn1p_y.y"
+#line 941 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -2954,14 +2999,14 @@
break;
case 81:
-#line 937 "asn1p_y.y"
+#line 948 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
}
break;
case 82:
-#line 940 "asn1p_y.y"
+#line 951 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -2973,7 +3018,7 @@
break;
case 83:
-#line 948 "asn1p_y.y"
+#line 959 "asn1p_y.y"
{
asn1p_ref_t *ref;
(yyval.a_expr) = NEW_EXPR();
@@ -2988,7 +3033,7 @@
break;
case 84:
-#line 959 "asn1p_y.y"
+#line 970 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
(yyval.a_expr)->expr_type = A1TC_VALUESET;
@@ -2998,17 +3043,17 @@
break;
case 85:
-#line 982 "asn1p_y.y"
+#line 993 "asn1p_y.y"
{ (yyval.a_expr) = NEW_EXPR(); }
break;
case 86:
-#line 983 "asn1p_y.y"
+#line 994 "asn1p_y.y"
{ (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); }
break;
case 87:
-#line 986 "asn1p_y.y"
+#line 997 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3017,7 +3062,7 @@
break;
case 88:
-#line 991 "asn1p_y.y"
+#line 1002 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3025,7 +3070,7 @@
break;
case 89:
-#line 995 "asn1p_y.y"
+#line 1006 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (5)].a_expr);
asn1p_expr_add_many((yyval.a_expr), (yyvsp[(4) - (5)].a_expr));
@@ -3034,7 +3079,7 @@
break;
case 90:
-#line 1003 "asn1p_y.y"
+#line 1014 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (3)].a_expr);
assert((yyval.a_expr)->Identifier == 0);
@@ -3045,7 +3090,7 @@
break;
case 91:
-#line 1010 "asn1p_y.y"
+#line 1021 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (2)].a_expr);
(yyvsp[(2) - (2)].a_marker).flags |= (yyval.a_expr)->marker.flags;
@@ -3055,7 +3100,7 @@
break;
case 92:
-#line 1016 "asn1p_y.y"
+#line 1027 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3066,14 +3111,14 @@
break;
case 93:
-#line 1023 "asn1p_y.y"
+#line 1034 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
}
break;
case 94:
-#line 1029 "asn1p_y.y"
+#line 1040 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3082,7 +3127,7 @@
break;
case 95:
-#line 1034 "asn1p_y.y"
+#line 1045 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3090,7 +3135,7 @@
break;
case 96:
-#line 1041 "asn1p_y.y"
+#line 1052 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (2)].a_expr);
assert((yyval.a_expr)->Identifier == 0);
@@ -3099,14 +3144,14 @@
break;
case 97:
-#line 1046 "asn1p_y.y"
+#line 1057 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
}
break;
case 98:
-#line 1049 "asn1p_y.y"
+#line 1060 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
_fixup_anonymous_identifier((yyval.a_expr));
@@ -3114,7 +3159,7 @@
break;
case 99:
-#line 1056 "asn1p_y.y"
+#line 1067 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (5)].a_expr);
checkmem((yyval.a_expr));
@@ -3125,17 +3170,17 @@
break;
case 100:
-#line 1066 "asn1p_y.y"
+#line 1077 "asn1p_y.y"
{ (yyval.a_int) = 0; }
break;
case 101:
-#line 1067 "asn1p_y.y"
+#line 1078 "asn1p_y.y"
{ (yyval.a_int) = 1; }
break;
case 102:
-#line 1071 "asn1p_y.y"
+#line 1082 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3146,7 +3191,7 @@
break;
case 103:
-#line 1078 "asn1p_y.y"
+#line 1089 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3154,7 +3199,7 @@
break;
case 104:
-#line 1088 "asn1p_y.y"
+#line 1099 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3166,7 +3211,7 @@
break;
case 105:
-#line 1098 "asn1p_y.y"
+#line 1109 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
@@ -3179,7 +3224,7 @@
break;
case 106:
-#line 1109 "asn1p_y.y"
+#line 1120 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -3191,7 +3236,7 @@
break;
case 107:
-#line 1119 "asn1p_y.y"
+#line 1130 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3204,7 +3249,7 @@
break;
case 108:
-#line 1130 "asn1p_y.y"
+#line 1141 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -3216,7 +3261,7 @@
break;
case 109:
-#line 1140 "asn1p_y.y"
+#line 1151 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3229,7 +3274,7 @@
break;
case 110:
-#line 1151 "asn1p_y.y"
+#line 1162 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3242,31 +3287,31 @@
break;
case 111:
-#line 1163 "asn1p_y.y"
+#line 1174 "asn1p_y.y"
{ (yyval.a_wsynt) = 0; }
break;
case 112:
-#line 1164 "asn1p_y.y"
+#line 1175 "asn1p_y.y"
{
(yyval.a_wsynt) = (yyvsp[(1) - (1)].a_wsynt);
}
break;
case 113:
-#line 1171 "asn1p_y.y"
+#line 1182 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); }
break;
case 114:
-#line 1173 "asn1p_y.y"
+#line 1184 "asn1p_y.y"
{
(yyval.a_wsynt) = (yyvsp[(5) - (6)].a_wsynt);
}
break;
case 115:
-#line 1179 "asn1p_y.y"
+#line 1190 "asn1p_y.y"
{
(yyval.a_wsynt) = asn1p_wsyntx_new();
TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(1) - (1)].a_wchunk), next);
@@ -3274,7 +3319,7 @@
break;
case 116:
-#line 1183 "asn1p_y.y"
+#line 1194 "asn1p_y.y"
{
(yyval.a_wsynt) = (yyvsp[(1) - (2)].a_wsynt);
TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(2) - (2)].a_wchunk), next);
@@ -3282,7 +3327,7 @@
break;
case 117:
-#line 1190 "asn1p_y.y"
+#line 1201 "asn1p_y.y"
{
(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_opaque).buf, 0);
(yyval.a_wchunk)->type = WC_WHITESPACE;
@@ -3290,14 +3335,14 @@
break;
case 118:
-#line 1194 "asn1p_y.y"
+#line 1205 "asn1p_y.y"
{
(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_str), 0);
}
break;
case 119:
-#line 1197 "asn1p_y.y"
+#line 1208 "asn1p_y.y"
{
(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].a_refcomp).name, 0);
(yyval.a_wchunk)->type = WC_FIELD;
@@ -3305,14 +3350,14 @@
break;
case 120:
-#line 1201 "asn1p_y.y"
+#line 1212 "asn1p_y.y"
{
(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromsyntax((yyvsp[(2) - (3)].a_wsynt));
}
break;
case 121:
-#line 1207 "asn1p_y.y"
+#line 1218 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3324,7 +3369,7 @@
break;
case 122:
-#line 1215 "asn1p_y.y"
+#line 1226 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3337,7 +3382,7 @@
break;
case 123:
-#line 1224 "asn1p_y.y"
+#line 1235 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3350,7 +3395,7 @@
break;
case 124:
-#line 1236 "asn1p_y.y"
+#line 1247 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (3)].a_expr);
(yyval.a_expr)->tag = (yyvsp[(1) - (3)].a_tag);
@@ -3375,7 +3420,7 @@
break;
case 125:
-#line 1260 "asn1p_y.y"
+#line 1271 "asn1p_y.y"
{
(yyval.a_int) = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0;
@@ -3383,7 +3428,7 @@
break;
case 126:
-#line 1267 "asn1p_y.y"
+#line 1278 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (2)].a_expr);
(yyval.a_expr)->marker.flags |= (yyvsp[(1) - (2)].a_int);
@@ -3403,14 +3448,14 @@
break;
case 127:
-#line 1286 "asn1p_y.y"
+#line 1297 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
}
break;
case 128:
-#line 1289 "asn1p_y.y"
+#line 1300 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3420,7 +3465,7 @@
break;
case 129:
-#line 1295 "asn1p_y.y"
+#line 1306 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3430,7 +3475,7 @@
break;
case 130:
-#line 1301 "asn1p_y.y"
+#line 1312 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3440,7 +3485,7 @@
break;
case 131:
-#line 1307 "asn1p_y.y"
+#line 1318 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3454,7 +3499,7 @@
break;
case 132:
-#line 1317 "asn1p_y.y"
+#line 1328 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3468,7 +3513,7 @@
break;
case 133:
-#line 1327 "asn1p_y.y"
+#line 1338 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3478,7 +3523,7 @@
break;
case 134:
-#line 1333 "asn1p_y.y"
+#line 1344 "asn1p_y.y"
{
int ret;
(yyval.a_expr) = NEW_EXPR();
@@ -3494,7 +3539,7 @@
break;
case 135:
-#line 1345 "asn1p_y.y"
+#line 1356 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3505,7 +3550,7 @@
break;
case 136:
-#line 1360 "asn1p_y.y"
+#line 1371 "asn1p_y.y"
{
int ret;
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3517,21 +3562,6 @@
break;
case 137:
-#line 1368 "asn1p_y.y"
- {
- int ret;
- (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
- checkmem((yyval.a_ref));
- ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN);
- checkmem(ret == 0);
- ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_UNKNOWN);
- checkmem(ret == 0);
- free((yyvsp[(1) - (3)].tv_str));
- free((yyvsp[(3) - (3)].tv_str));
- }
- break;
-
- case 138:
#line 1379 "asn1p_y.y"
{
int ret;
@@ -3546,7 +3576,7 @@
}
break;
- case 139:
+ case 138:
#line 1390 "asn1p_y.y"
{
int ret;
@@ -3554,6 +3584,21 @@
checkmem((yyval.a_ref));
ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN);
checkmem(ret == 0);
+ ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_UNKNOWN);
+ checkmem(ret == 0);
+ free((yyvsp[(1) - (3)].tv_str));
+ free((yyvsp[(3) - (3)].tv_str));
+ }
+ break;
+
+ case 139:
+#line 1401 "asn1p_y.y"
+ {
+ int ret;
+ (yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
+ checkmem((yyval.a_ref));
+ ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (3)].tv_str), RLT_UNKNOWN);
+ checkmem(ret == 0);
ret = asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_lowercase);
checkmem(ret == 0);
free((yyvsp[(1) - (3)].tv_str));
@@ -3562,7 +3607,7 @@
break;
case 140:
-#line 1401 "asn1p_y.y"
+#line 1412 "asn1p_y.y"
{
int ret;
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3574,7 +3619,7 @@
break;
case 141:
-#line 1409 "asn1p_y.y"
+#line 1420 "asn1p_y.y"
{
int ret;
(yyval.a_ref) = (yyvsp[(3) - (3)].a_ref);
@@ -3597,7 +3642,7 @@
break;
case 142:
-#line 1431 "asn1p_y.y"
+#line 1442 "asn1p_y.y"
{
int ret;
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3609,7 +3654,7 @@
break;
case 143:
-#line 1439 "asn1p_y.y"
+#line 1450 "asn1p_y.y"
{
int ret;
(yyval.a_ref) = (yyvsp[(1) - (3)].a_ref);
@@ -3620,7 +3665,7 @@
break;
case 145:
-#line 1452 "asn1p_y.y"
+#line 1463 "asn1p_y.y"
{
(yyval.a_refcomp).lex_type = RLT_AmpUppercase;
(yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str);
@@ -3628,7 +3673,7 @@
break;
case 146:
-#line 1457 "asn1p_y.y"
+#line 1468 "asn1p_y.y"
{
(yyval.a_refcomp).lex_type = RLT_Amplowercase;
(yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str);
@@ -3636,7 +3681,7 @@
break;
case 147:
-#line 1466 "asn1p_y.y"
+#line 1477 "asn1p_y.y"
{
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_AmpUppercase);
@@ -3645,7 +3690,7 @@
break;
case 148:
-#line 1471 "asn1p_y.y"
+#line 1482 "asn1p_y.y"
{
(yyval.a_ref) = (yyval.a_ref);
asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_AmpUppercase);
@@ -3654,7 +3699,7 @@
break;
case 149:
-#line 1476 "asn1p_y.y"
+#line 1487 "asn1p_y.y"
{
(yyval.a_ref) = (yyval.a_ref);
asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_Amplowercase);
@@ -3663,7 +3708,7 @@
break;
case 150:
-#line 1484 "asn1p_y.y"
+#line 1495 "asn1p_y.y"
{
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_CAPITALS);
@@ -3672,7 +3717,7 @@
break;
case 151:
-#line 1507 "asn1p_y.y"
+#line 1518 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(2) - (4)].a_expr);
assert((yyval.a_expr)->Identifier == NULL);
@@ -3683,7 +3728,7 @@
break;
case 154:
-#line 1519 "asn1p_y.y"
+#line 1530 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(0);
checkmem((yyval.a_value));
@@ -3694,12 +3739,12 @@
break;
case 155:
-#line 1526 "asn1p_y.y"
+#line 1537 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
case 156:
-#line 1526 "asn1p_y.y"
+#line 1537 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_frombuf((yyvsp[(3) - (3)].tv_opaque).buf, (yyvsp[(3) - (3)].tv_opaque).len, 0);
checkmem((yyval.a_value));
@@ -3708,7 +3753,7 @@
break;
case 157:
-#line 1531 "asn1p_y.y"
+#line 1542 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(0);
checkmem((yyval.a_value));
@@ -3717,7 +3762,7 @@
break;
case 158:
-#line 1539 "asn1p_y.y"
+#line 1550 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(0);
checkmem((yyval.a_value));
@@ -3726,7 +3771,7 @@
break;
case 159:
-#line 1544 "asn1p_y.y"
+#line 1555 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(0);
checkmem((yyval.a_value));
@@ -3735,7 +3780,7 @@
break;
case 160:
-#line 1549 "asn1p_y.y"
+#line 1560 "asn1p_y.y"
{
(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'B');
checkmem((yyval.a_value));
@@ -3744,7 +3789,7 @@
break;
case 161:
-#line 1554 "asn1p_y.y"
+#line 1565 "asn1p_y.y"
{
(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'H');
checkmem((yyval.a_value));
@@ -3753,21 +3798,21 @@
break;
case 162:
-#line 1559 "asn1p_y.y"
+#line 1570 "asn1p_y.y"
{
(yyval.a_value) = (yyval.a_value);
}
break;
case 163:
-#line 1562 "asn1p_y.y"
+#line 1573 "asn1p_y.y"
{
(yyval.a_value) = (yyvsp[(1) - (1)].a_value);
}
break;
case 164:
-#line 1568 "asn1p_y.y"
+#line 1579 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3782,7 +3827,7 @@
break;
case 165:
-#line 1579 "asn1p_y.y"
+#line 1590 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3800,7 +3845,7 @@
break;
case 166:
-#line 1597 "asn1p_y.y"
+#line 1608 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_frombuf((yyvsp[(1) - (1)].tv_opaque).buf, (yyvsp[(1) - (1)].tv_opaque).len, 0);
checkmem((yyval.a_value));
@@ -3808,7 +3853,7 @@
break;
case 167:
-#line 1601 "asn1p_y.y"
+#line 1612 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
checkmem((yyval.a_value));
@@ -3817,7 +3862,7 @@
break;
case 168:
-#line 1606 "asn1p_y.y"
+#line 1617 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
checkmem((yyval.a_value));
@@ -3826,7 +3871,7 @@
break;
case 169:
-#line 1614 "asn1p_y.y"
+#line 1625 "asn1p_y.y"
{
(yyval.tv_opaque).len = (yyvsp[(1) - (1)].tv_opaque).len + 1;
(yyval.tv_opaque).buf = malloc((yyval.tv_opaque).len + 1);
@@ -3839,7 +3884,7 @@
break;
case 170:
-#line 1623 "asn1p_y.y"
+#line 1634 "asn1p_y.y"
{
int newsize = (yyvsp[(1) - (2)].tv_opaque).len + (yyvsp[(2) - (2)].tv_opaque).len;
char *p = malloc(newsize + 1);
@@ -3855,87 +3900,77 @@
break;
case 171:
-#line 1638 "asn1p_y.y"
+#line 1649 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_BOOLEAN; }
break;
case 172:
-#line 1639 "asn1p_y.y"
+#line 1650 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_NULL; }
break;
case 173:
-#line 1640 "asn1p_y.y"
+#line 1651 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_REAL; }
break;
case 174:
-#line 1641 "asn1p_y.y"
- { (yyval.a_type) = (yyvsp[(1) - (1)].a_type); }
- break;
-
- case 175:
-#line 1642 "asn1p_y.y"
+#line 1652 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_OCTET_STRING; }
break;
- case 176:
-#line 1643 "asn1p_y.y"
+ case 175:
+#line 1653 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_OBJECT_IDENTIFIER; }
break;
- case 177:
-#line 1644 "asn1p_y.y"
+ case 176:
+#line 1654 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_RELATIVE_OID; }
break;
- case 178:
-#line 1645 "asn1p_y.y"
+ case 177:
+#line 1655 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_EXTERNAL; }
break;
- case 179:
-#line 1646 "asn1p_y.y"
+ case 178:
+#line 1656 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_EMBEDDED_PDV; }
break;
- case 180:
-#line 1647 "asn1p_y.y"
+ case 179:
+#line 1657 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_CHARACTER_STRING; }
break;
- case 181:
-#line 1648 "asn1p_y.y"
+ case 180:
+#line 1658 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_UTCTime; }
break;
- case 182:
-#line 1649 "asn1p_y.y"
+ case 181:
+#line 1659 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_GeneralizedTime; }
break;
- case 183:
-#line 1650 "asn1p_y.y"
- { (yyval.a_type) = (yyvsp[(1) - (1)].a_type); }
- break;
-
case 184:
-#line 1657 "asn1p_y.y"
+#line 1668 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_INTEGER; }
break;
case 185:
-#line 1658 "asn1p_y.y"
- { (yyval.a_type) = ASN_BASIC_ENUMERATED; }
+#line 1669 "asn1p_y.y"
+ { (yyval.a_type) = ASN_BASIC_INTEGER; }
break;
case 186:
-#line 1659 "asn1p_y.y"
+#line 1670 "asn1p_y.y"
{ (yyval.a_type) = ASN_BASIC_BIT_STRING; }
break;
case 187:
-#line 1663 "asn1p_y.y"
+#line 1674 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -3945,149 +3980,181 @@
break;
case 188:
-#line 1669 "asn1p_y.y"
+#line 1680 "asn1p_y.y"
{
- if((yyvsp[(2) - (2)].a_expr)) {
- (yyval.a_expr) = (yyvsp[(2) - (2)].a_expr);
- } else {
- (yyval.a_expr) = NEW_EXPR();
- checkmem((yyval.a_expr));
- }
- (yyval.a_expr)->expr_type = (yyvsp[(1) - (2)].a_type);
- (yyval.a_expr)->meta_type = AMT_TYPE;
- }
+ (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
+ (yyval.a_expr)->expr_type = ASN_BASIC_INTEGER;
+ (yyval.a_expr)->meta_type = AMT_TYPE;
+ }
break;
case 189:
-#line 1682 "asn1p_y.y"
- { (yyval.a_type) = ASN_STRING_BMPString; }
+#line 1685 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
+ (yyval.a_expr)->expr_type = ASN_BASIC_ENUMERATED;
+ (yyval.a_expr)->meta_type = AMT_TYPE;
+ }
break;
case 190:
-#line 1683 "asn1p_y.y"
+#line 1690 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(4) - (5)].a_expr);
+ (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING;
+ (yyval.a_expr)->meta_type = AMT_TYPE;
+ }
+ break;
+
+ case 191:
+#line 1695 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
+ (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING;
+ (yyval.a_expr)->meta_type = AMT_TYPE;
+ }
+ break;
+
+ case 192:
+#line 1700 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING;
+ (yyval.a_expr)->meta_type = AMT_TYPE;
+ }
+ break;
+
+ case 193:
+#line 1709 "asn1p_y.y"
+ { (yyval.a_type) = ASN_STRING_BMPString; }
+ break;
+
+ case 194:
+#line 1710 "asn1p_y.y"
{
(yyval.a_type) = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
}
break;
- case 191:
-#line 1687 "asn1p_y.y"
+ case 195:
+#line 1714 "asn1p_y.y"
{
(yyval.a_type) = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
}
break;
- case 192:
-#line 1691 "asn1p_y.y"
+ case 196:
+#line 1718 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_IA5String; }
break;
- case 193:
-#line 1692 "asn1p_y.y"
+ case 197:
+#line 1719 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_ISO646String; }
break;
- case 194:
-#line 1693 "asn1p_y.y"
+ case 198:
+#line 1720 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_NumericString; }
break;
- case 195:
-#line 1694 "asn1p_y.y"
+ case 199:
+#line 1721 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_PrintableString; }
break;
- case 196:
-#line 1695 "asn1p_y.y"
+ case 200:
+#line 1722 "asn1p_y.y"
{
(yyval.a_type) = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
}
break;
- case 197:
-#line 1699 "asn1p_y.y"
+ case 201:
+#line 1726 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_TeletexString; }
break;
- case 198:
-#line 1700 "asn1p_y.y"
+ case 202:
+#line 1727 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_UniversalString; }
break;
- case 199:
-#line 1701 "asn1p_y.y"
+ case 203:
+#line 1728 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_UTF8String; }
break;
- case 200:
-#line 1702 "asn1p_y.y"
+ case 204:
+#line 1729 "asn1p_y.y"
{
(yyval.a_type) = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
}
break;
- case 201:
-#line 1706 "asn1p_y.y"
+ case 205:
+#line 1733 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_VisibleString; }
break;
- case 202:
-#line 1707 "asn1p_y.y"
+ case 206:
+#line 1734 "asn1p_y.y"
{ (yyval.a_type) = ASN_STRING_ObjectDescriptor; }
break;
- case 207:
-#line 1719 "asn1p_y.y"
- { (yyval.a_constr) = 0; }
- break;
-
- case 209:
-#line 1724 "asn1p_y.y"
- { (yyval.a_constr) = 0; }
- break;
-
case 211:
-#line 1726 "asn1p_y.y"
+#line 1746 "asn1p_y.y"
+ { (yyval.a_constr) = 0; }
+ break;
+
+ case 213:
+#line 1751 "asn1p_y.y"
+ { (yyval.a_constr) = 0; }
+ break;
+
+ case 215:
+#line 1753 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_SIZE, (yyvsp[(3) - (4)].a_constr), 0);
}
break;
- case 212:
-#line 1732 "asn1p_y.y"
+ case 216:
+#line 1759 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (1)].a_constr), 0);
}
break;
- case 213:
-#line 1738 "asn1p_y.y"
+ case 217:
+#line 1765 "asn1p_y.y"
{
(yyval.a_constr) = (yyvsp[(2) - (3)].a_constr);
}
break;
- case 214:
-#line 1741 "asn1p_y.y"
+ case 218:
+#line 1768 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (4)].a_constr), (yyvsp[(3) - (4)].a_constr));
}
break;
- case 218:
-#line 1751 "asn1p_y.y"
+ case 222:
+#line 1778 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
(yyval.a_constr)->type = ACT_EL_EXT;
}
break;
- case 220:
-#line 1756 "asn1p_y.y"
+ case 224:
+#line 1783 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno, currentModule);
@@ -4096,8 +4163,8 @@
}
break;
- case 221:
-#line 1762 "asn1p_y.y"
+ case 225:
+#line 1789 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno, currentModule);
@@ -4108,36 +4175,36 @@
}
break;
- case 223:
-#line 1774 "asn1p_y.y"
+ case 227:
+#line 1801 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_AEX, (yyvsp[(3) - (3)].a_constr), 0);
}
break;
- case 225:
-#line 1781 "asn1p_y.y"
+ case 229:
+#line 1808 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_UNI, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
}
break;
- case 227:
-#line 1788 "asn1p_y.y"
+ case 231:
+#line 1815 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_INT, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
}
break;
- case 229:
-#line 1796 "asn1p_y.y"
+ case 233:
+#line 1823 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_EXC, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
}
break;
- case 230:
-#line 1802 "asn1p_y.y"
+ case 234:
+#line 1829 "asn1p_y.y"
{
int ret;
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4148,8 +4215,8 @@
}
break;
- case 231:
-#line 1810 "asn1p_y.y"
+ case 235:
+#line 1837 "asn1p_y.y"
{
int ret;
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4160,8 +4227,8 @@
}
break;
- case 232:
-#line 1818 "asn1p_y.y"
+ case 236:
+#line 1845 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4170,8 +4237,8 @@
}
break;
- case 233:
-#line 1824 "asn1p_y.y"
+ case 237:
+#line 1851 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4180,8 +4247,8 @@
}
break;
- case 234:
-#line 1830 "asn1p_y.y"
+ case 238:
+#line 1857 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4191,8 +4258,8 @@
}
break;
- case 235:
-#line 1837 "asn1p_y.y"
+ case 239:
+#line 1864 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4203,38 +4270,38 @@
}
break;
- case 236:
-#line 1845 "asn1p_y.y"
- {
- (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
- checkmem((yyval.a_constr));
- (yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
- (yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value);
- (yyval.a_constr)->range_stop = asn1p_value_fromint(321);
- (yyval.a_constr)->range_stop->type = ATV_MAX;
- }
- break;
-
- case 237:
-#line 1853 "asn1p_y.y"
- {
- (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
- checkmem((yyval.a_constr));
- (yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
- (yyval.a_constr)->range_start = asn1p_value_fromint(-123);
- (yyval.a_constr)->range_stop = asn1p_value_fromint(321);
- (yyval.a_constr)->range_start->type = ATV_MIN;
- (yyval.a_constr)->range_stop->type = ATV_MAX;
- }
- break;
-
case 240:
-#line 1864 "asn1p_y.y"
- { asn1p_lexer_hack_push_opaque_state(); }
+#line 1872 "asn1p_y.y"
+ {
+ (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
+ checkmem((yyval.a_constr));
+ (yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
+ (yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value);
+ (yyval.a_constr)->range_stop = asn1p_value_fromint(321);
+ (yyval.a_constr)->range_stop->type = ATV_MAX;
+ }
break;
case 241:
-#line 1864 "asn1p_y.y"
+#line 1880 "asn1p_y.y"
+ {
+ (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
+ checkmem((yyval.a_constr));
+ (yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
+ (yyval.a_constr)->range_start = asn1p_value_fromint(-123);
+ (yyval.a_constr)->range_stop = asn1p_value_fromint(321);
+ (yyval.a_constr)->range_start->type = ATV_MIN;
+ (yyval.a_constr)->range_stop->type = ATV_MAX;
+ }
+ break;
+
+ case 244:
+#line 1891 "asn1p_y.y"
+ { asn1p_lexer_hack_push_opaque_state(); }
+ break;
+
+ case 245:
+#line 1891 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4244,8 +4311,8 @@
}
break;
- case 242:
-#line 1874 "asn1p_y.y"
+ case 246:
+#line 1901 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
(yyval.a_constr)->type = ACT_CT_PATTERN;
@@ -4253,8 +4320,8 @@
}
break;
- case 243:
-#line 1879 "asn1p_y.y"
+ case 247:
+#line 1906 "asn1p_y.y"
{
asn1p_ref_t *ref;
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4266,22 +4333,22 @@
}
break;
- case 244:
-#line 1891 "asn1p_y.y"
+ case 248:
+#line 1918 "asn1p_y.y"
{
(yyval.a_ctype) = ACT_CT_SIZE;
}
break;
- case 245:
-#line 1894 "asn1p_y.y"
+ case 249:
+#line 1921 "asn1p_y.y"
{
(yyval.a_ctype) = ACT_CT_FROM;
}
break;
- case 246:
-#line 1900 "asn1p_y.y"
+ case 250:
+#line 1927 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(0);
checkmem((yyval.a_value));
@@ -4289,8 +4356,8 @@
}
break;
- case 247:
-#line 1905 "asn1p_y.y"
+ case 251:
+#line 1932 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint(1);
checkmem((yyval.a_value));
@@ -4298,8 +4365,8 @@
}
break;
- case 251:
-#line 1913 "asn1p_y.y"
+ case 255:
+#line 1940 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -4313,8 +4380,8 @@
}
break;
- case 252:
-#line 1927 "asn1p_y.y"
+ case 256:
+#line 1954 "asn1p_y.y"
{
(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'B');
checkmem((yyval.a_value));
@@ -4322,8 +4389,8 @@
}
break;
- case 253:
-#line 1932 "asn1p_y.y"
+ case 257:
+#line 1959 "asn1p_y.y"
{
(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'H');
checkmem((yyval.a_value));
@@ -4331,23 +4398,23 @@
}
break;
- case 254:
-#line 1940 "asn1p_y.y"
+ case 258:
+#line 1967 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromtype((yyvsp[(1) - (1)].a_expr));
checkmem((yyval.a_value));
}
break;
- case 255:
-#line 1951 "asn1p_y.y"
+ case 259:
+#line 1978 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_WCOMP, (yyvsp[(3) - (3)].a_constr), 0);
}
break;
- case 256:
-#line 1954 "asn1p_y.y"
+ case 260:
+#line 1981 "asn1p_y.y"
{
assert((yyvsp[(3) - (3)].a_constr)->type == ACT_CA_CSV);
(yyvsp[(3) - (3)].a_constr)->type = ACT_CT_WCOMPS;
@@ -4355,13 +4422,13 @@
}
break;
- case 260:
-#line 1962 "asn1p_y.y"
+ case 264:
+#line 1989 "asn1p_y.y"
{ (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); }
break;
- case 261:
-#line 1964 "asn1p_y.y"
+ case 265:
+#line 1991 "asn1p_y.y"
{
assert((yyvsp[(4) - (5)].a_constr)->type == ACT_CA_CSV);
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4376,8 +4443,8 @@
}
break;
- case 262:
-#line 1977 "asn1p_y.y"
+ case 266:
+#line 2004 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
(yyval.a_constr)->type = ACT_CA_CSV;
@@ -4385,16 +4452,16 @@
}
break;
- case 263:
-#line 1982 "asn1p_y.y"
+ case 267:
+#line 2009 "asn1p_y.y"
{
(yyval.a_constr) = (yyvsp[(1) - (3)].a_constr);
asn1p_constraint_insert((yyval.a_constr), (yyvsp[(3) - (3)].a_constr));
}
break;
- case 264:
-#line 1988 "asn1p_y.y"
+ case 268:
+#line 2015 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4405,44 +4472,44 @@
}
break;
- case 265:
-#line 2002 "asn1p_y.y"
+ case 269:
+#line 2029 "asn1p_y.y"
{ (yyval.a_pres) = ACPRES_DEFAULT; }
break;
- case 266:
-#line 2003 "asn1p_y.y"
+ case 270:
+#line 2030 "asn1p_y.y"
{ (yyval.a_pres) = (yyvsp[(1) - (1)].a_pres); }
break;
- case 267:
-#line 2007 "asn1p_y.y"
+ case 271:
+#line 2034 "asn1p_y.y"
{
(yyval.a_pres) = ACPRES_PRESENT;
}
break;
- case 268:
-#line 2010 "asn1p_y.y"
+ case 272:
+#line 2037 "asn1p_y.y"
{
(yyval.a_pres) = ACPRES_ABSENT;
}
break;
- case 269:
-#line 2013 "asn1p_y.y"
+ case 273:
+#line 2040 "asn1p_y.y"
{
(yyval.a_pres) = ACPRES_OPTIONAL;
}
break;
- case 273:
-#line 2028 "asn1p_y.y"
+ case 277:
+#line 2055 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
- case 274:
-#line 2028 "asn1p_y.y"
+ case 278:
+#line 2055 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4453,8 +4520,8 @@
}
break;
- case 275:
-#line 2039 "asn1p_y.y"
+ case 279:
+#line 2066 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
(yyval.a_constr)->type = ACT_CT_CTNG;
@@ -4463,42 +4530,42 @@
}
break;
- case 276:
-#line 2048 "asn1p_y.y"
+ case 280:
+#line 2075 "asn1p_y.y"
{ (yyval.a_ctype) = ACT_EL_RANGE; }
break;
- case 277:
-#line 2049 "asn1p_y.y"
+ case 281:
+#line 2076 "asn1p_y.y"
{ (yyval.a_ctype) = ACT_EL_RLRANGE; }
break;
- case 278:
-#line 2050 "asn1p_y.y"
+ case 282:
+#line 2077 "asn1p_y.y"
{ (yyval.a_ctype) = ACT_EL_LLRANGE; }
break;
- case 279:
-#line 2051 "asn1p_y.y"
+ case 283:
+#line 2078 "asn1p_y.y"
{ (yyval.a_ctype) = ACT_EL_ULRANGE; }
break;
- case 280:
-#line 2054 "asn1p_y.y"
+ case 284:
+#line 2081 "asn1p_y.y"
{
(yyval.a_constr) = (yyvsp[(1) - (1)].a_constr);
}
break;
- case 281:
-#line 2057 "asn1p_y.y"
+ case 285:
+#line 2084 "asn1p_y.y"
{
(yyval.a_constr) = (yyvsp[(1) - (1)].a_constr);
}
break;
- case 282:
-#line 2066 "asn1p_y.y"
+ case 286:
+#line 2093 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno, currentModule);
asn1p_constraint_t *ct;
@@ -4514,15 +4581,15 @@
}
break;
- case 283:
-#line 2082 "asn1p_y.y"
+ case 287:
+#line 2109 "asn1p_y.y"
{
CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CRC, (yyvsp[(1) - (4)].a_constr), (yyvsp[(3) - (4)].a_constr));
}
break;
- case 284:
-#line 2088 "asn1p_y.y"
+ case 288:
+#line 2115 "asn1p_y.y"
{
(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
checkmem((yyval.a_constr));
@@ -4531,8 +4598,8 @@
}
break;
- case 285:
-#line 2094 "asn1p_y.y"
+ case 289:
+#line 2121 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno, currentModule);
@@ -4543,8 +4610,8 @@
}
break;
- case 286:
-#line 2108 "asn1p_y.y"
+ case 290:
+#line 2135 "asn1p_y.y"
{
char *p = malloc(strlen((yyvsp[(2) - (2)].tv_str)) + 2);
int ret;
@@ -4558,8 +4625,8 @@
}
break;
- case 287:
-#line 2119 "asn1p_y.y"
+ case 291:
+#line 2146 "asn1p_y.y"
{
char *p = malloc(strlen((yyvsp[(3) - (3)].tv_str)) + 3);
int ret;
@@ -4574,15 +4641,15 @@
}
break;
- case 288:
-#line 2135 "asn1p_y.y"
+ case 292:
+#line 2162 "asn1p_y.y"
{
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 289:
-#line 2138 "asn1p_y.y"
+ case 293:
+#line 2165 "asn1p_y.y"
{
int l1 = strlen((yyvsp[(1) - (3)].tv_str));
int l3 = strlen((yyvsp[(3) - (3)].tv_str));
@@ -4596,52 +4663,65 @@
}
break;
- case 290:
-#line 2158 "asn1p_y.y"
+ case 294:
+#line 2185 "asn1p_y.y"
{
(yyval.a_marker).flags = EM_NOMARK;
(yyval.a_marker).default_value = 0;
}
break;
- case 291:
-#line 2162 "asn1p_y.y"
+ case 295:
+#line 2189 "asn1p_y.y"
{ (yyval.a_marker) = (yyvsp[(1) - (1)].a_marker); }
break;
- case 292:
-#line 2166 "asn1p_y.y"
+ case 296:
+#line 2193 "asn1p_y.y"
{
(yyval.a_marker).flags = EM_OPTIONAL | EM_INDIRECT;
(yyval.a_marker).default_value = 0;
}
break;
- case 293:
-#line 2170 "asn1p_y.y"
+ case 297:
+#line 2197 "asn1p_y.y"
{
(yyval.a_marker).flags = EM_DEFAULT;
(yyval.a_marker).default_value = (yyvsp[(2) - (2)].a_value);
}
break;
- case 294:
-#line 2193 "asn1p_y.y"
+ case 298:
+#line 2204 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
- }
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
+ }
break;
- case 295:
-#line 2197 "asn1p_y.y"
+ case 299:
+#line 2209 "asn1p_y.y"
{
- (yyval.a_expr) = (yyvsp[(2) - (3)].a_expr);
- }
+ (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
+ }
break;
- case 296:
-#line 2203 "asn1p_y.y"
+ case 300:
+#line 2215 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+ (yyval.a_expr)->meta_type = AMT_VALUE;
+ (yyval.a_expr)->Identifier = (yyvsp[(1) - (1)].tv_str);
+ }
+ break;
+
+ case 301:
+#line 2224 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4649,16 +4729,115 @@
}
break;
- case 297:
-#line 2208 "asn1p_y.y"
+ case 302:
+#line 2229 "asn1p_y.y"
{
(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
}
break;
- case 298:
-#line 2215 "asn1p_y.y"
+ case 303:
+#line 2236 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+ (yyval.a_expr)->meta_type = AMT_VALUE;
+ (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+ (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
+ }
+ break;
+
+ case 304:
+#line 2244 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+ (yyval.a_expr)->meta_type = AMT_VALUE;
+ (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+ (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
+ }
+ break;
+
+ case 305:
+#line 2254 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
+ }
+ break;
+
+ case 306:
+#line 2259 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
+ }
+ break;
+
+ case 307:
+#line 2266 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+ (yyval.a_expr)->meta_type = AMT_VALUE;
+ (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+ (yyval.a_expr)->value = asn1p_value_fromint((yyvsp[(3) - (4)].a_int));
+ }
+ break;
+
+ case 308:
+#line 2274 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ (yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+ (yyval.a_expr)->meta_type = AMT_VALUE;
+ (yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+ (yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
+ }
+ break;
+
+ case 309:
+#line 2284 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
+ asn1p_expr_t *first_memb = TQ_FIRST(&((yyval.a_expr)->members));
+ if(first_memb) {
+ if(first_memb->expr_type == A1TC_EXTENSIBLE) {
+ return yyerror(
+ "The ENUMERATION cannot start with extension (...).");
+ }
+ } else {
+ return yyerror(
+ "The ENUMERATION list cannot be empty.");
+ }
+ }
+ break;
+
+ case 310:
+#line 2299 "asn1p_y.y"
+ {
+ (yyval.a_expr) = NEW_EXPR();
+ checkmem((yyval.a_expr));
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
+ }
+ break;
+
+ case 311:
+#line 2304 "asn1p_y.y"
+ {
+ (yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
+ asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
+ }
+ break;
+
+ case 312:
+#line 2311 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4668,8 +4847,8 @@
}
break;
- case 299:
-#line 2222 "asn1p_y.y"
+ case 313:
+#line 2318 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4680,8 +4859,8 @@
}
break;
- case 300:
-#line 2230 "asn1p_y.y"
+ case 314:
+#line 2326 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4692,8 +4871,8 @@
}
break;
- case 301:
-#line 2238 "asn1p_y.y"
+ case 315:
+#line 2334 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4703,8 +4882,8 @@
}
break;
- case 302:
-#line 2245 "asn1p_y.y"
+ case 316:
+#line 2341 "asn1p_y.y"
{
(yyval.a_expr) = NEW_EXPR();
checkmem((yyval.a_expr));
@@ -4715,145 +4894,145 @@
}
break;
- case 303:
-#line 2256 "asn1p_y.y"
+ case 317:
+#line 2352 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
checkmem((yyval.a_value));
}
break;
- case 304:
-#line 2260 "asn1p_y.y"
+ case 318:
+#line 2356 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
checkmem((yyval.a_value));
}
break;
- case 306:
-#line 2268 "asn1p_y.y"
+ case 320:
+#line 2364 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromdouble((yyvsp[(1) - (1)].a_dbl));
checkmem((yyval.a_value));
}
break;
- case 307:
-#line 2299 "asn1p_y.y"
+ case 321:
+#line 2395 "asn1p_y.y"
{ memset(&(yyval.a_tag), 0, sizeof((yyval.a_tag))); }
break;
- case 308:
-#line 2300 "asn1p_y.y"
+ case 322:
+#line 2396 "asn1p_y.y"
{ (yyval.a_tag) = (yyvsp[(1) - (1)].a_tag); }
break;
- case 309:
-#line 2304 "asn1p_y.y"
+ case 323:
+#line 2400 "asn1p_y.y"
{
(yyval.a_tag) = (yyvsp[(1) - (2)].a_tag);
(yyval.a_tag).tag_mode = (yyvsp[(2) - (2)].a_tag).tag_mode;
}
break;
- case 310:
-#line 2311 "asn1p_y.y"
+ case 324:
+#line 2407 "asn1p_y.y"
{
(yyval.a_tag) = (yyvsp[(2) - (4)].a_tag);
(yyval.a_tag).tag_value = (yyvsp[(3) - (4)].a_int);
}
break;
- case 311:
-#line 2317 "asn1p_y.y"
+ case 325:
+#line 2413 "asn1p_y.y"
{ (yyval.a_tag).tag_class = TC_CONTEXT_SPECIFIC; }
break;
- case 312:
-#line 2318 "asn1p_y.y"
+ case 326:
+#line 2414 "asn1p_y.y"
{ (yyval.a_tag).tag_class = TC_UNIVERSAL; }
break;
- case 313:
-#line 2319 "asn1p_y.y"
+ case 327:
+#line 2415 "asn1p_y.y"
{ (yyval.a_tag).tag_class = TC_APPLICATION; }
break;
- case 314:
-#line 2320 "asn1p_y.y"
+ case 328:
+#line 2416 "asn1p_y.y"
{ (yyval.a_tag).tag_class = TC_PRIVATE; }
break;
- case 315:
-#line 2324 "asn1p_y.y"
+ case 329:
+#line 2420 "asn1p_y.y"
{ (yyval.a_tag).tag_mode = TM_DEFAULT; }
break;
- case 316:
-#line 2325 "asn1p_y.y"
+ case 330:
+#line 2421 "asn1p_y.y"
{ (yyval.a_tag).tag_mode = TM_IMPLICIT; }
break;
- case 317:
-#line 2326 "asn1p_y.y"
+ case 331:
+#line 2422 "asn1p_y.y"
{ (yyval.a_tag).tag_mode = TM_EXPLICIT; }
break;
- case 318:
-#line 2330 "asn1p_y.y"
+ case 332:
+#line 2426 "asn1p_y.y"
{
checkmem((yyvsp[(1) - (1)].tv_str));
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 319:
-#line 2334 "asn1p_y.y"
+ case 333:
+#line 2430 "asn1p_y.y"
{
checkmem((yyvsp[(1) - (1)].tv_str));
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 320:
-#line 2342 "asn1p_y.y"
+ case 334:
+#line 2438 "asn1p_y.y"
{
checkmem((yyvsp[(1) - (1)].tv_str));
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 321:
-#line 2349 "asn1p_y.y"
+ case 335:
+#line 2445 "asn1p_y.y"
{ (yyval.tv_str) = 0; }
break;
- case 322:
-#line 2350 "asn1p_y.y"
+ case 336:
+#line 2446 "asn1p_y.y"
{
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 323:
-#line 2356 "asn1p_y.y"
+ case 337:
+#line 2452 "asn1p_y.y"
{
checkmem((yyvsp[(1) - (1)].tv_str));
(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
}
break;
- case 324:
-#line 2363 "asn1p_y.y"
+ case 338:
+#line 2459 "asn1p_y.y"
{
(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_lowercase);
}
break;
- case 325:
-#line 2369 "asn1p_y.y"
+ case 339:
+#line 2465 "asn1p_y.y"
{
(yyval.a_value) = asn1p_value_fromref((yyvsp[(1) - (1)].a_ref), 0);
}
@@ -4861,7 +5040,7 @@
/* Line 1267 of yacc.c. */
-#line 4865 "asn1p_y.c"
+#line 5044 "asn1p_y.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5075,7 +5254,7 @@
}
-#line 2373 "asn1p_y.y"
+#line 2469 "asn1p_y.y"
diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h
index 65b7d6b..4c53acb 100644
--- a/libasn1parser/asn1p_y.h
+++ b/libasn1parser/asn1p_y.h
@@ -58,93 +58,94 @@
TOK_typefieldreference = 274,
TOK_valuefieldreference = 275,
TOK_Literal = 276,
- TOK_ABSENT = 277,
- TOK_ABSTRACT_SYNTAX = 278,
- TOK_ALL = 279,
- TOK_ANY = 280,
- TOK_APPLICATION = 281,
- TOK_AUTOMATIC = 282,
- TOK_BEGIN = 283,
- TOK_BIT = 284,
- TOK_BMPString = 285,
- TOK_BOOLEAN = 286,
- TOK_BY = 287,
- TOK_CHARACTER = 288,
- TOK_CHOICE = 289,
- TOK_CLASS = 290,
- TOK_COMPONENT = 291,
- TOK_COMPONENTS = 292,
- TOK_CONSTRAINED = 293,
- TOK_CONTAINING = 294,
- TOK_DEFAULT = 295,
- TOK_DEFINITIONS = 296,
- TOK_DEFINED = 297,
- TOK_EMBEDDED = 298,
- TOK_ENCODED = 299,
- TOK_ENCODING_CONTROL = 300,
- TOK_END = 301,
- TOK_ENUMERATED = 302,
- TOK_EXPLICIT = 303,
- TOK_EXPORTS = 304,
- TOK_EXTENSIBILITY = 305,
- TOK_EXTERNAL = 306,
- TOK_FALSE = 307,
- TOK_FROM = 308,
- TOK_GeneralizedTime = 309,
- TOK_GeneralString = 310,
- TOK_GraphicString = 311,
- TOK_IA5String = 312,
- TOK_IDENTIFIER = 313,
- TOK_IMPLICIT = 314,
- TOK_IMPLIED = 315,
- TOK_IMPORTS = 316,
- TOK_INCLUDES = 317,
- TOK_INSTANCE = 318,
- TOK_INSTRUCTIONS = 319,
- TOK_INTEGER = 320,
- TOK_ISO646String = 321,
- TOK_MAX = 322,
- TOK_MIN = 323,
- TOK_MINUS_INFINITY = 324,
- TOK_NULL = 325,
- TOK_NumericString = 326,
- TOK_OBJECT = 327,
- TOK_ObjectDescriptor = 328,
- TOK_OCTET = 329,
- TOK_OF = 330,
- TOK_OPTIONAL = 331,
- TOK_PATTERN = 332,
- TOK_PDV = 333,
- TOK_PLUS_INFINITY = 334,
- TOK_PRESENT = 335,
- TOK_PrintableString = 336,
- TOK_PRIVATE = 337,
- TOK_REAL = 338,
- TOK_RELATIVE_OID = 339,
- TOK_SEQUENCE = 340,
- TOK_SET = 341,
- TOK_SIZE = 342,
- TOK_STRING = 343,
- TOK_SYNTAX = 344,
- TOK_T61String = 345,
- TOK_TAGS = 346,
- TOK_TeletexString = 347,
- TOK_TRUE = 348,
- TOK_TYPE_IDENTIFIER = 349,
- TOK_UNIQUE = 350,
- TOK_UNIVERSAL = 351,
- TOK_UniversalString = 352,
- TOK_UTCTime = 353,
- TOK_UTF8String = 354,
- TOK_VideotexString = 355,
- TOK_VisibleString = 356,
- TOK_WITH = 357,
- UTF8_BOM = 358,
- TOK_EXCEPT = 359,
- TOK_INTERSECTION = 360,
- TOK_UNION = 361,
- TOK_TwoDots = 362,
- TOK_ThreeDots = 363
+ TOK_ExtValue_BIT_STRING = 277,
+ TOK_ABSENT = 278,
+ TOK_ABSTRACT_SYNTAX = 279,
+ TOK_ALL = 280,
+ TOK_ANY = 281,
+ TOK_APPLICATION = 282,
+ TOK_AUTOMATIC = 283,
+ TOK_BEGIN = 284,
+ TOK_BIT = 285,
+ TOK_BMPString = 286,
+ TOK_BOOLEAN = 287,
+ TOK_BY = 288,
+ TOK_CHARACTER = 289,
+ TOK_CHOICE = 290,
+ TOK_CLASS = 291,
+ TOK_COMPONENT = 292,
+ TOK_COMPONENTS = 293,
+ TOK_CONSTRAINED = 294,
+ TOK_CONTAINING = 295,
+ TOK_DEFAULT = 296,
+ TOK_DEFINITIONS = 297,
+ TOK_DEFINED = 298,
+ TOK_EMBEDDED = 299,
+ TOK_ENCODED = 300,
+ TOK_ENCODING_CONTROL = 301,
+ TOK_END = 302,
+ TOK_ENUMERATED = 303,
+ TOK_EXPLICIT = 304,
+ TOK_EXPORTS = 305,
+ TOK_EXTENSIBILITY = 306,
+ TOK_EXTERNAL = 307,
+ TOK_FALSE = 308,
+ TOK_FROM = 309,
+ TOK_GeneralizedTime = 310,
+ TOK_GeneralString = 311,
+ TOK_GraphicString = 312,
+ TOK_IA5String = 313,
+ TOK_IDENTIFIER = 314,
+ TOK_IMPLICIT = 315,
+ TOK_IMPLIED = 316,
+ TOK_IMPORTS = 317,
+ TOK_INCLUDES = 318,
+ TOK_INSTANCE = 319,
+ TOK_INSTRUCTIONS = 320,
+ TOK_INTEGER = 321,
+ TOK_ISO646String = 322,
+ TOK_MAX = 323,
+ TOK_MIN = 324,
+ TOK_MINUS_INFINITY = 325,
+ TOK_NULL = 326,
+ TOK_NumericString = 327,
+ TOK_OBJECT = 328,
+ TOK_ObjectDescriptor = 329,
+ TOK_OCTET = 330,
+ TOK_OF = 331,
+ TOK_OPTIONAL = 332,
+ TOK_PATTERN = 333,
+ TOK_PDV = 334,
+ TOK_PLUS_INFINITY = 335,
+ TOK_PRESENT = 336,
+ TOK_PrintableString = 337,
+ TOK_PRIVATE = 338,
+ TOK_REAL = 339,
+ TOK_RELATIVE_OID = 340,
+ TOK_SEQUENCE = 341,
+ TOK_SET = 342,
+ TOK_SIZE = 343,
+ TOK_STRING = 344,
+ TOK_SYNTAX = 345,
+ TOK_T61String = 346,
+ TOK_TAGS = 347,
+ TOK_TeletexString = 348,
+ TOK_TRUE = 349,
+ TOK_TYPE_IDENTIFIER = 350,
+ TOK_UNIQUE = 351,
+ TOK_UNIVERSAL = 352,
+ TOK_UniversalString = 353,
+ TOK_UTCTime = 354,
+ TOK_UTF8String = 355,
+ TOK_VideotexString = 356,
+ TOK_VisibleString = 357,
+ TOK_WITH = 358,
+ UTF8_BOM = 359,
+ TOK_EXCEPT = 360,
+ TOK_INTERSECTION = 361,
+ TOK_UNION = 362,
+ TOK_TwoDots = 363,
+ TOK_ThreeDots = 364
};
#endif
/* Tokens. */
@@ -167,93 +168,94 @@
#define TOK_typefieldreference 274
#define TOK_valuefieldreference 275
#define TOK_Literal 276
-#define TOK_ABSENT 277
-#define TOK_ABSTRACT_SYNTAX 278
-#define TOK_ALL 279
-#define TOK_ANY 280
-#define TOK_APPLICATION 281
-#define TOK_AUTOMATIC 282
-#define TOK_BEGIN 283
-#define TOK_BIT 284
-#define TOK_BMPString 285
-#define TOK_BOOLEAN 286
-#define TOK_BY 287
-#define TOK_CHARACTER 288
-#define TOK_CHOICE 289
-#define TOK_CLASS 290
-#define TOK_COMPONENT 291
-#define TOK_COMPONENTS 292
-#define TOK_CONSTRAINED 293
-#define TOK_CONTAINING 294
-#define TOK_DEFAULT 295
-#define TOK_DEFINITIONS 296
-#define TOK_DEFINED 297
-#define TOK_EMBEDDED 298
-#define TOK_ENCODED 299
-#define TOK_ENCODING_CONTROL 300
-#define TOK_END 301
-#define TOK_ENUMERATED 302
-#define TOK_EXPLICIT 303
-#define TOK_EXPORTS 304
-#define TOK_EXTENSIBILITY 305
-#define TOK_EXTERNAL 306
-#define TOK_FALSE 307
-#define TOK_FROM 308
-#define TOK_GeneralizedTime 309
-#define TOK_GeneralString 310
-#define TOK_GraphicString 311
-#define TOK_IA5String 312
-#define TOK_IDENTIFIER 313
-#define TOK_IMPLICIT 314
-#define TOK_IMPLIED 315
-#define TOK_IMPORTS 316
-#define TOK_INCLUDES 317
-#define TOK_INSTANCE 318
-#define TOK_INSTRUCTIONS 319
-#define TOK_INTEGER 320
-#define TOK_ISO646String 321
-#define TOK_MAX 322
-#define TOK_MIN 323
-#define TOK_MINUS_INFINITY 324
-#define TOK_NULL 325
-#define TOK_NumericString 326
-#define TOK_OBJECT 327
-#define TOK_ObjectDescriptor 328
-#define TOK_OCTET 329
-#define TOK_OF 330
-#define TOK_OPTIONAL 331
-#define TOK_PATTERN 332
-#define TOK_PDV 333
-#define TOK_PLUS_INFINITY 334
-#define TOK_PRESENT 335
-#define TOK_PrintableString 336
-#define TOK_PRIVATE 337
-#define TOK_REAL 338
-#define TOK_RELATIVE_OID 339
-#define TOK_SEQUENCE 340
-#define TOK_SET 341
-#define TOK_SIZE 342
-#define TOK_STRING 343
-#define TOK_SYNTAX 344
-#define TOK_T61String 345
-#define TOK_TAGS 346
-#define TOK_TeletexString 347
-#define TOK_TRUE 348
-#define TOK_TYPE_IDENTIFIER 349
-#define TOK_UNIQUE 350
-#define TOK_UNIVERSAL 351
-#define TOK_UniversalString 352
-#define TOK_UTCTime 353
-#define TOK_UTF8String 354
-#define TOK_VideotexString 355
-#define TOK_VisibleString 356
-#define TOK_WITH 357
-#define UTF8_BOM 358
-#define TOK_EXCEPT 359
-#define TOK_INTERSECTION 360
-#define TOK_UNION 361
-#define TOK_TwoDots 362
-#define TOK_ThreeDots 363
+#define TOK_ExtValue_BIT_STRING 277
+#define TOK_ABSENT 278
+#define TOK_ABSTRACT_SYNTAX 279
+#define TOK_ALL 280
+#define TOK_ANY 281
+#define TOK_APPLICATION 282
+#define TOK_AUTOMATIC 283
+#define TOK_BEGIN 284
+#define TOK_BIT 285
+#define TOK_BMPString 286
+#define TOK_BOOLEAN 287
+#define TOK_BY 288
+#define TOK_CHARACTER 289
+#define TOK_CHOICE 290
+#define TOK_CLASS 291
+#define TOK_COMPONENT 292
+#define TOK_COMPONENTS 293
+#define TOK_CONSTRAINED 294
+#define TOK_CONTAINING 295
+#define TOK_DEFAULT 296
+#define TOK_DEFINITIONS 297
+#define TOK_DEFINED 298
+#define TOK_EMBEDDED 299
+#define TOK_ENCODED 300
+#define TOK_ENCODING_CONTROL 301
+#define TOK_END 302
+#define TOK_ENUMERATED 303
+#define TOK_EXPLICIT 304
+#define TOK_EXPORTS 305
+#define TOK_EXTENSIBILITY 306
+#define TOK_EXTERNAL 307
+#define TOK_FALSE 308
+#define TOK_FROM 309
+#define TOK_GeneralizedTime 310
+#define TOK_GeneralString 311
+#define TOK_GraphicString 312
+#define TOK_IA5String 313
+#define TOK_IDENTIFIER 314
+#define TOK_IMPLICIT 315
+#define TOK_IMPLIED 316
+#define TOK_IMPORTS 317
+#define TOK_INCLUDES 318
+#define TOK_INSTANCE 319
+#define TOK_INSTRUCTIONS 320
+#define TOK_INTEGER 321
+#define TOK_ISO646String 322
+#define TOK_MAX 323
+#define TOK_MIN 324
+#define TOK_MINUS_INFINITY 325
+#define TOK_NULL 326
+#define TOK_NumericString 327
+#define TOK_OBJECT 328
+#define TOK_ObjectDescriptor 329
+#define TOK_OCTET 330
+#define TOK_OF 331
+#define TOK_OPTIONAL 332
+#define TOK_PATTERN 333
+#define TOK_PDV 334
+#define TOK_PLUS_INFINITY 335
+#define TOK_PRESENT 336
+#define TOK_PrintableString 337
+#define TOK_PRIVATE 338
+#define TOK_REAL 339
+#define TOK_RELATIVE_OID 340
+#define TOK_SEQUENCE 341
+#define TOK_SET 342
+#define TOK_SIZE 343
+#define TOK_STRING 344
+#define TOK_SYNTAX 345
+#define TOK_T61String 346
+#define TOK_TAGS 347
+#define TOK_TeletexString 348
+#define TOK_TRUE 349
+#define TOK_TYPE_IDENTIFIER 350
+#define TOK_UNIQUE 351
+#define TOK_UNIVERSAL 352
+#define TOK_UniversalString 353
+#define TOK_UTCTime 354
+#define TOK_UTF8String 355
+#define TOK_VideotexString 356
+#define TOK_VisibleString 357
+#define TOK_WITH 358
+#define UTF8_BOM 359
+#define TOK_EXCEPT 360
+#define TOK_INTERSECTION 361
+#define TOK_UNION 362
+#define TOK_TwoDots 363
+#define TOK_ThreeDots 364
@@ -296,7 +298,7 @@
} tv_nametag;
}
/* Line 1529 of yacc.c. */
-#line 300 "asn1p_y.h"
+#line 302 "asn1p_y.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index 4cd3879..dbad995 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -132,9 +132,9 @@
%token <tv_str> TOK_bstring
%token <tv_opaque> TOK_cstring
%token <tv_str> TOK_hstring
-%token <tv_str> TOK_identifier
-%token <a_int> TOK_number
-%token <a_int> TOK_number_negative
+%token <tv_str> TOK_identifier "identifier"
+%token <a_int> TOK_number "number"
+%token <a_int> TOK_number_negative "negative number"
%token <a_dbl> TOK_realnumber
%token <a_int> TOK_tuple
%token <a_int> TOK_quadruple
@@ -145,6 +145,11 @@
%token <tv_str> TOK_Literal /* "BY" */
/*
+ * Tokens available with asn1p_lexer_hack_push_extended_values().
+ */
+%token TOK_ExtValue_BIT_STRING
+
+/*
* Token types representing ASN.1 standard keywords.
*/
%token TOK_ABSENT
@@ -235,8 +240,8 @@
%left '|' TOK_UNION
/* Misc tags */
-%token TOK_TwoDots /* .. */
-%token TOK_ThreeDots /* ... */
+%token TOK_TwoDots ".."
+%token TOK_ThreeDots "..."
/*
@@ -291,8 +296,14 @@
%type <a_expr> ComponentType
%type <a_expr> AlternativeTypeLists
%type <a_expr> AlternativeType
-%type <a_expr> UniverationDefinition
%type <a_expr> UniverationList
+%type <a_expr> Enumerations
+%type <a_expr> NamedBitList
+%type <a_expr> NamedBit
+%type <a_expr> NamedNumberList
+%type <a_expr> NamedNumber
+%type <a_expr> IdentifierList
+%type <a_expr> IdentifierElement
%type <a_expr> UniverationElement
%type <tv_str> TypeRefName
%type <tv_str> ObjectClassReference
@@ -1638,7 +1649,6 @@
TOK_BOOLEAN { $$ = ASN_BASIC_BOOLEAN; }
| TOK_NULL { $$ = ASN_BASIC_NULL; }
| TOK_REAL { $$ = ASN_BASIC_REAL; }
- | BasicTypeId_UniverationCompatible { $$ = $1; }
| TOK_OCTET TOK_STRING { $$ = ASN_BASIC_OCTET_STRING; }
| TOK_OBJECT TOK_IDENTIFIER { $$ = ASN_BASIC_OBJECT_IDENTIFIER; }
| TOK_RELATIVE_OID { $$ = ASN_BASIC_RELATIVE_OID; }
@@ -1647,7 +1657,8 @@
| TOK_CHARACTER TOK_STRING { $$ = ASN_BASIC_CHARACTER_STRING; }
| TOK_UTCTime { $$ = ASN_BASIC_UTCTime; }
| TOK_GeneralizedTime { $$ = ASN_BASIC_GeneralizedTime; }
- | BasicString { $$ = $1; }
+ | BasicString
+ | BasicTypeId_UniverationCompatible
;
/*
@@ -1655,7 +1666,7 @@
*/
BasicTypeId_UniverationCompatible:
TOK_INTEGER { $$ = ASN_BASIC_INTEGER; }
- | TOK_ENUMERATED { $$ = ASN_BASIC_ENUMERATED; }
+ | TOK_ENUMERATED { $$ = ASN_BASIC_INTEGER; }
| TOK_BIT TOK_STRING { $$ = ASN_BASIC_BIT_STRING; }
;
@@ -1666,16 +1677,32 @@
$$->expr_type = $1;
$$->meta_type = AMT_TYPE;
}
- | BasicTypeId_UniverationCompatible UniverationDefinition {
- if($2) {
- $$ = $2;
- } else {
- $$ = NEW_EXPR();
- checkmem($$);
- }
- $$->expr_type = $1;
- $$->meta_type = AMT_TYPE;
- }
+ | TOK_INTEGER '{' NamedNumberList '}' {
+ $$ = $3;
+ $$->expr_type = ASN_BASIC_INTEGER;
+ $$->meta_type = AMT_TYPE;
+ }
+ | TOK_ENUMERATED '{' Enumerations '}' {
+ $$ = $3;
+ $$->expr_type = ASN_BASIC_ENUMERATED;
+ $$->meta_type = AMT_TYPE;
+ }
+ | TOK_BIT TOK_STRING '{' NamedBitList '}' {
+ $$ = $4;
+ $$->expr_type = ASN_BASIC_BIT_STRING;
+ $$->meta_type = AMT_TYPE;
+ }
+ | TOK_ExtValue_BIT_STRING '{' IdentifierList '}' {
+ $$ = $3;
+ $$->expr_type = ASN_BASIC_BIT_STRING;
+ $$->meta_type = AMT_TYPE;
+ }
+ | TOK_ExtValue_BIT_STRING '{' '}' {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = ASN_BASIC_BIT_STRING;
+ $$->meta_type = AMT_TYPE;
+ }
;
BasicString:
@@ -2173,32 +2200,101 @@
}
;
-/*
- * Universal enumeration definition to use in INTEGER and ENUMERATED.
- * === EXAMPLE ===
- * Gender ::= ENUMERATED { unknown(0), male(1), female(2) }
- * Temperature ::= INTEGER { absolute-zero(-273), freezing(0), boiling(100) }
- * === EOF ===
- */
-/*
-optUniverationDefinition:
- { $$ = 0; }
- | UniverationDefinition {
- $$ = $1;
- }
- ;
-*/
-
-UniverationDefinition:
- '{' '}' {
+IdentifierList:
+ IdentifierElement {
$$ = NEW_EXPR();
checkmem($$);
+ asn1p_expr_add($$, $1);
+ }
+ | IdentifierList ',' IdentifierElement {
+ $$ = $1;
+ asn1p_expr_add($$, $3);
+ };
+
+IdentifierElement:
+ Identifier {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = A1TC_UNIVERVAL;
+ $$->meta_type = AMT_VALUE;
+ $$->Identifier = $1;
+ }
+
+NamedNumberList:
+ NamedNumber {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ asn1p_expr_add($$, $1);
}
- | '{' UniverationList '}' {
- $$ = $2;
+ | NamedNumberList ',' NamedNumber {
+ $$ = $1;
+ asn1p_expr_add($$, $3);
}
;
+NamedNumber:
+ Identifier '(' SignedNumber ')' {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = A1TC_UNIVERVAL;
+ $$->meta_type = AMT_VALUE;
+ $$->Identifier = $1;
+ $$->value = $3;
+ }
+ | Identifier '(' DefinedValue ')' {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = A1TC_UNIVERVAL;
+ $$->meta_type = AMT_VALUE;
+ $$->Identifier = $1;
+ $$->value = $3;
+ };
+
+NamedBitList:
+ NamedBit {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ asn1p_expr_add($$, $1);
+ }
+ | NamedBitList ',' NamedBit {
+ $$ = $1;
+ asn1p_expr_add($$, $3);
+ }
+ ;
+
+NamedBit:
+ Identifier '(' TOK_number ')' {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = A1TC_UNIVERVAL;
+ $$->meta_type = AMT_VALUE;
+ $$->Identifier = $1;
+ $$->value = asn1p_value_fromint($3);
+ }
+ | Identifier '(' DefinedValue ')' {
+ $$ = NEW_EXPR();
+ checkmem($$);
+ $$->expr_type = A1TC_UNIVERVAL;
+ $$->meta_type = AMT_VALUE;
+ $$->Identifier = $1;
+ $$->value = $3;
+ };
+
+Enumerations:
+ UniverationList {
+ $$ = $1;
+ asn1p_expr_t *first_memb = TQ_FIRST(&($$->members));
+ if(first_memb) {
+ if(first_memb->expr_type == A1TC_EXTENSIBLE) {
+ return yyerror(
+ "The ENUMERATION cannot start with extension (...).");
+ }
+ } else {
+ return yyerror(
+ "The ENUMERATION list cannot be empty.");
+ }
+ }
+
UniverationList:
UniverationElement {
$$ = NEW_EXPR();
diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c
index 374f68e..32b6734 100644
--- a/libasn1parser/asn1parser.c
+++ b/libasn1parser/asn1parser.c
@@ -24,7 +24,7 @@
* Parse the given buffer.
*/
asn1p_t *
-asn1p_parse_buffer(const char *buffer, int size /* = -1 */, enum asn1p_flags flags) {
+asn1p_parse_buffer(const char *buffer, int size /* = -1 */, const char *debug_filename, int initial_lineno, enum asn1p_flags flags) {
asn1p_t *a = 0;
void *ap;
void *ybuf;
@@ -38,18 +38,18 @@
if(size < 0)
size = (int)strlen(buffer);
- asn1p_parse_debug_filename = "<stdin>";
ybuf = asn1p__scan_bytes(buffer, size);
- asn1p_parse_debug_filename = NULL;
if(!ybuf) {
assert(ybuf);
return 0;
}
- asn1p_lineno = 1;
+ asn1p_lineno = initial_lineno;
ap = (void *)&a;
+ asn1p_parse_debug_filename = debug_filename;
ret = asn1p_parse(ap);
+ asn1p_parse_debug_filename = NULL;
asn1p__delete_buffer(ybuf);
@@ -130,6 +130,7 @@
extern int asn1p_lexer_types_year;
extern int asn1p_lexer_constructs_year;
+extern int asn1p_lexer_extended_values;
extern int asn1p__flex_debug;
static int
@@ -145,9 +146,16 @@
if(flags & A1P_LEXER_DEBUG) {
flags &= ~A1P_LEXER_DEBUG;
asn1p__flex_debug = 1;
- }
+ }
- /*
+ if(flags & A1P_EXTENDED_VALUES) {
+ flags &= ~A1P_EXTENDED_VALUES;
+ asn1p_lexer_extended_values = 1;
+ } else {
+ asn1p_lexer_extended_values = 0;
+ }
+
+ /*
* Check that we haven't missed an unknown flag.
*/
if(flags) {
diff --git a/libasn1parser/asn1parser.h b/libasn1parser/asn1parser.h
index 584a3dc..ed0a9f8 100644
--- a/libasn1parser/asn1parser.h
+++ b/libasn1parser/asn1parser.h
@@ -27,11 +27,15 @@
* Parser flags.
*/
enum asn1p_flags {
- A1P_NOFLAGS,
- /*
- * Enable verbose debugging output from lexer.
- */
- A1P_LEXER_DEBUG = 0x0001
+ A1P_NOFLAGS,
+ /*
+ * Enable verbose debugging output from lexer.
+ */
+ A1P_LEXER_DEBUG = 0x01,
+ /*
+ * Unlock internal helper value types.
+ */
+ A1P_EXTENDED_VALUES = 0x02
};
/*
@@ -41,6 +45,7 @@
asn1p_t *asn1p_parse_file(const char *filename,
enum asn1p_flags);
asn1p_t *asn1p_parse_buffer(const char *buffer, int size /* = -1 */,
+ const char *debug_filename, int initial_lineno,
enum asn1p_flags);
extern const char *asn1p_parse_debug_filename;
diff --git a/tests/tests-asn1c-compiler/109-bit-string-SE.asn1 b/tests/tests-asn1c-compiler/109-bit-string-NP.asn1
similarity index 93%
rename from tests/tests-asn1c-compiler/109-bit-string-SE.asn1
rename to tests/tests-asn1c-compiler/109-bit-string-NP.asn1
index a07f7a1..f6cef8e 100644
--- a/tests/tests-asn1c-compiler/109-bit-string-SE.asn1
+++ b/tests/tests-asn1c-compiler/109-bit-string-NP.asn1
@@ -1,5 +1,5 @@
--- SE: Semantic error
+-- NP: Non-parseable
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
diff --git a/tests/tests-asn1c-compiler/114-bit-string-SE.asn1 b/tests/tests-asn1c-compiler/114-bit-string-NP.asn1
similarity index 93%
rename from tests/tests-asn1c-compiler/114-bit-string-SE.asn1
rename to tests/tests-asn1c-compiler/114-bit-string-NP.asn1
index 5006b06..b07abec 100644
--- a/tests/tests-asn1c-compiler/114-bit-string-SE.asn1
+++ b/tests/tests-asn1c-compiler/114-bit-string-NP.asn1
@@ -1,5 +1,5 @@
--- SE: Semantic error
+-- NP: Non-parseable
-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
diff --git a/tests/tests-asn1c-compiler/23-bits-OK.asn1 b/tests/tests-asn1c-compiler/23-bits-OK.asn1
index f41b923..a4c1a65 100644
--- a/tests/tests-asn1c-compiler/23-bits-OK.asn1
+++ b/tests/tests-asn1c-compiler/23-bits-OK.asn1
@@ -19,4 +19,6 @@
one0one BS1 ::= '1010000'B -- Equivalent to '101'B
+ empty BS1 ::= { } -- Equivalent to ''B
+
END
diff --git a/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF b/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF
index 8064815..d02605b 100644
--- a/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF
+++ b/tests/tests-asn1c-compiler/23-bits-OK.asn1.-EF
@@ -15,4 +15,6 @@
one0one BS1 ::= '101'B
+empty BS1 ::= ''H
+
END