aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog117
-rw-r--r--gcc/cp/Makefile.in9
-rw-r--r--gcc/cp/call.c48
-rw-r--r--gcc/cp/class.c6
-rw-r--r--gcc/cp/cp-tree.h49
-rw-r--r--gcc/cp/cvt.c32
-rw-r--r--gcc/cp/decl.c189
-rw-r--r--gcc/cp/decl2.c43
-rw-r--r--gcc/cp/error.c101
-rw-r--r--gcc/cp/gxx.gperf2
-rw-r--r--gcc/cp/gxxint.texi11
-rw-r--r--gcc/cp/hash.h260
-rw-r--r--gcc/cp/init.c17
-rw-r--r--gcc/cp/lex.c26
-rw-r--r--gcc/cp/lex.h1
-rw-r--r--gcc/cp/method.c9
-rw-r--r--gcc/cp/parse.c7321
-rw-r--r--gcc/cp/parse.y43
-rw-r--r--gcc/cp/pt.c45
-rw-r--r--gcc/cp/rtti.c28
-rw-r--r--gcc/cp/search.c20
-rw-r--r--gcc/cp/sig.c79
-rw-r--r--gcc/cp/tree.c52
-rw-r--r--gcc/cp/typeck.c248
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/const1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dcast1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual3.C24
29 files changed, 4503 insertions, 4322 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index da9cad2..e5e8def 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,120 @@
+1998-10-23 Mark Mitchell <mark@markmitchell.com>
+
+ * Makefile.in (hash.h): Run gperf when necessary.
+
+ * cp-tree.h (CP_TYPE_READONLY): Remove.
+ (CP_TYPE_VOLATILE): Likewise.
+ (CP_TYPE_QUALS): New macro.
+ (CP_TYPE_CONST_P): Likewise.
+ (CP_TYPE_VOLATILE_P): Likewise.
+ (CP_TYPE_RESTRICT_P): Likewise.
+ (CP_TYPE_CONST_NON_VOLATILE_P): Likewise.
+ (cp_build_type_variant): Rename to ...
+ (cp_build_qualified_type): New function.
+ (c_apply_type_quals_to_decl): Declare.
+ (SIGNATURE_POINTER_NAME_FORMAT): Modify to allow `restrict'.
+ (SIGNATURE_REFERENCE_NAME_FORMAT): Likewise.
+ (cp_type_qual_from_rid): New function.
+ (compparms): Remove unused parameter. All callers changed.
+ (cp_type_quals): New function.
+ (at_least_as_qualified_p): Likewise.
+ (more_qualified_p): Likewise.
+
+ * call.c (standard_conversion): Replace calls to
+ cp_build_type_variant with cp_build_qualified_type. Use
+ CP_TYPE_QUALS to get qualifiers and at_least_as_qualified_p to
+ compare them. Use CP_TYPE_* macros to check qualifiers.
+ (reference_binding): Likewise.
+ (implicit_conversion): Likewise.
+ (add_builtin_candidates): Likewise.
+ (build_over_call): Likewise.
+ * class.c (overrides): Compare all qualifiers, not just `const',
+ on method declarations.
+ * cvt.c (convert_to_reference): More CP_TYPE_QUALS conversion, etc.
+ (convert_pointer_to_real): Likewise.
+ (type_promotes_to): Likewise.
+ * decl.c (check_for_uninitialized_const_var): New function.
+ (init_decl_processing): More CP_TYPE_QUALS conversion, etc.
+ (cp_finish_decl): Use check_for_uninitialized_const_var.
+ (grokdeclarator): More CP_TYPE_QUALS conversion, etc. Update to
+ handle `restrict'.
+ (grok_ctor_properties): Likewise.
+ (grok_op_properties): Likewise.
+ (start_function): Likewise.
+ (rever_static_member_fn): Likewise.
+ * decl2.c (grok_method_quals): Likewise.
+ (grokfield): Likewise.
+ * error.c (dump_readonly_or_volatile): Rename to ...
+ (dump_qualifiers): New function. Handle `restrict'.
+ (dump_type_real): Use it.
+ (dump_aggr_type): Likewise.
+ (dump_type_prefix): Likewise.
+ (dump_type_suffix): Likewise.
+ (dump_function_decl): Likewise.
+ (cv_as_string): Likewise.
+ * gxx.gperf: Add __restrict and __restrict__.
+ * gxxint.texi: Document `u' as used for `__restrict', and a few
+ other previously undocumented codes.
+ * hash.h: Regenerated.
+ * init.c (expand_aggr_init): More CP_TYPE_QUALS conversion, etc.
+ (build_member_call): Likewise.
+ (build_new_1): Likewise.
+ * lex.c (init_parse): Add entry for RID_RESTRICT.
+ (cons_up_default_function): More CP_TYPE_QUALS conversion, etc.
+ (cp_type_qual_from_rid): Define.
+ * lex.h (enum rid): Add RID_RESTRICT.
+ * method.c (process_modifiers): Deal with `restrict'.
+ * parse.y (primary): More CP_TYPE_QUALS conversion, etc.
+ * parse.c: Regenerated.
+ * pt.c (convert_nontype_argument): More CP_TYPE_QUALS conversion, etc.
+ (tsubst_aggr_type): Likewise.
+ (tsubst): Likewise.
+ (check_cv_quals_for_unify): Likewise.
+ (unify): Likewise.
+ * rtti.c (init_rtti_processing): Likewise.
+ (build_headof): Likewise.
+ (get_tinfo_var): Likewise.
+ (buidl_dynamic_cast_1): Likewise. Fix `volatile' handling.
+ (expand_class_desc): Likewise.
+ (expand_attr_desc): Likewise.
+ (synthesize_tinfo_fn): Likewise.
+ * search.c (covariant_return_p): Likewise. Fix `volatile' handling.
+ (get_matching_virtual): Likewise.
+ (expand_upcast_fixups): Likewise.
+ * sig.c (build_signature_pointer_or_reference_name): Take
+ type_quals, not constp and volatilep.
+ (build_signature_pointer_or_reference_type): Likewise.
+ (match_method_types): More CP_TYPE_QUALS conversion, etc.
+ (build_signature_pointer_constructor): Likewise.
+ (build_signature_method_call): Likewise.
+ * tree.c (build_cplus_array_type): Likewise.
+ (cp_build_type_variant): Rename to ...
+ (cp_build_qualified_type): New function. Deal with `__restrict'.
+ (canonical_type_variant): More CP_TYPE_QUALS conversion, etc.
+ (build_exception_variant): Likewise.
+ (mapcar): Likewise.
+ * typeck.c (qualif_type): Likewise.
+ (common_type): Likewise.
+ (comptypes): Likewise.
+ (comp_cv_target_types): Likewise.
+ (at_least_as_qualified_p): Define.
+ (more_qualified_p): Likewise.
+ (comp_cv_qualification): More CP_TYPE_QUALS conversion, etc.
+ (compparms): Likewise.
+ (inline_conversion): Likewise.
+ (string_conv_p): Likewise.
+ (build_component_ref): Likewise.
+ (build_indirect_ref): Likewise.
+ (build_array_ref): Likewise.
+ (build_unary_op): Likewise.
+ (build_conditional_expr): Likewise.
+ (build_static_cast): Likewise.
+ (build_c_cast): Likewise.
+ (build_modify_expr): Likewise.
+ (convert_For_assignment): Likewise.
+ (comp_ptr_ttypes_real): Likewise.
+ (cp_type_quals): New function.
+
1998-10-23 Jason Merrill <jason@yorick.cygnus.com>
* cp-tree.h (CP_TYPE_READONLY): New macro to handle arrays.
diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in
index 96e8f65..425bedd 100644
--- a/gcc/cp/Makefile.in
+++ b/gcc/cp/Makefile.in
@@ -235,11 +235,10 @@ $(PARSE_C) : $(srcdir)/parse.y
# cp $(PARSE_C) y.tab.c
# touch stamp-parse
-# hash.h really depends on $(srcdir)/gxx.gperf.
-# But this would screw things for people that don't have gperf,
-# if gxx.gpref got touched, say.
-# Thus you have to remove hash.h to force it to be re-made.
-$(srcdir)/hash.h:
+# We used to try to protect people from having to rerun gperf. But,
+# the C front-end already requires this if c-parse.gperf is changed,
+# so we should be consistent.
+$(srcdir)/hash.h: $(srcdir)/gxx.gperf
gperf -L KR-C -F ', 0, 0' -p -j1 -g -o -t -N is_reserved_word \
'-k1,4,7,$$' $(srcdir)/gxx.gperf >$(srcdir)/hash.h
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index dc05d19..94f6298 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -843,9 +843,8 @@ standard_conversion (to, from, expr)
&& ufcode != FUNCTION_TYPE)
{
from = build_pointer_type
- (cp_build_type_variant (void_type_node,
- TYPE_READONLY (TREE_TYPE (from)),
- TYPE_VOLATILE (TREE_TYPE (from))));
+ (cp_build_qualified_type (void_type_node,
+ CP_TYPE_QUALS (TREE_TYPE (from))));
conv = build_conv (PTR_CONV, from, conv);
}
else if (ufcode == OFFSET_TYPE && utcode == OFFSET_TYPE)
@@ -868,9 +867,9 @@ standard_conversion (to, from, expr)
{
if (DERIVED_FROM_P (TREE_TYPE (to), TREE_TYPE (from)))
{
- from = cp_build_type_variant (TREE_TYPE (to),
- TYPE_READONLY (TREE_TYPE (from)),
- TYPE_VOLATILE (TREE_TYPE (from)));
+ from =
+ cp_build_qualified_type (TREE_TYPE (to),
+ CP_TYPE_QUALS (TREE_TYPE (from)));
from = build_pointer_type (from);
conv = build_conv (PTR_CONV, from, conv);
}
@@ -903,13 +902,11 @@ standard_conversion (to, from, expr)
if (! DERIVED_FROM_P (fbase, tbase)
|| ! comptypes (TREE_TYPE (fromfn), TREE_TYPE (tofn), 1)
|| ! compparms (TREE_CHAIN (TYPE_ARG_TYPES (fromfn)),
- TREE_CHAIN (TYPE_ARG_TYPES (tofn)), 1)
- || TYPE_READONLY (fbase) != TYPE_READONLY (tbase)
- || TYPE_VOLATILE (fbase) != TYPE_VOLATILE (tbase))
+ TREE_CHAIN (TYPE_ARG_TYPES (tofn)))
+ || CP_TYPE_QUALS (fbase) != CP_TYPE_QUALS (tbase))
return 0;
- from = cp_build_type_variant (tbase, TYPE_READONLY (fbase),
- TYPE_VOLATILE (fbase));
+ from = cp_build_qualified_type (tbase, CP_TYPE_QUALS (fbase));
from = build_cplus_method_type (from, TREE_TYPE (fromfn),
TREE_CHAIN (TYPE_ARG_TYPES (fromfn)));
from = build_ptrmemfunc_type (build_pointer_type (from));
@@ -981,9 +978,7 @@ reference_binding (rto, rfrom, expr, flags)
|| (IS_AGGR_TYPE (to) && IS_AGGR_TYPE (from)
&& DERIVED_FROM_P (to, from)));
- if (lvalue && related
- && TYPE_READONLY (to) >= TYPE_READONLY (from)
- && TYPE_VOLATILE (to) >= TYPE_VOLATILE (from))
+ if (lvalue && related && at_least_as_qualified_p (to, from))
{
conv = build1 (IDENTITY_CONV, from, expr);
@@ -1012,14 +1007,12 @@ reference_binding (rto, rfrom, expr, flags)
TREE_OPERAND (conv, 0) = TREE_OPERAND (TREE_OPERAND (conv, 0), 0);
}
if (conv
- && ((! (TYPE_READONLY (to) && ! TYPE_VOLATILE (to)
+ && ((! (CP_TYPE_CONST_NON_VOLATILE_P (to)
&& (flags & LOOKUP_NO_TEMP_BIND) == 0))
/* If T1 is reference-related to T2, cv1 must be the same
cv-qualification as, or greater cv-qualification than,
cv2; otherwise, the program is ill-formed. */
- || (related
- && (TYPE_READONLY (to) < TYPE_READONLY (from)
- || TYPE_VOLATILE (to) < TYPE_VOLATILE (from)))))
+ || (related && !at_least_as_qualified_p (to, from))))
ICS_BAD_FLAG (conv) = 1;
}
@@ -1071,8 +1064,7 @@ implicit_conversion (to, from, expr, flags)
(TYPE_MAIN_VARIANT (TREE_TYPE (to)), expr, LOOKUP_ONLYCONVERTING);
if (cand)
{
- if (! TYPE_READONLY (TREE_TYPE (to))
- || TYPE_VOLATILE (TREE_TYPE (to)))
+ if (!CP_TYPE_CONST_NON_VOLATILE_P (TREE_TYPE (to)))
ICS_BAD_FLAG (cand->second_conv) = 1;
if (!conv || (ICS_BAD_FLAG (conv)
> ICS_BAD_FLAG (cand->second_conv)))
@@ -1823,7 +1815,7 @@ add_builtin_candidates (candidates, code, code2, fnname, args, flags)
if (i == 0 && ref1
&& (TREE_CODE (type) != REFERENCE_TYPE
- || TYPE_READONLY (TREE_TYPE (type))))
+ || CP_TYPE_CONST_P (TREE_TYPE (type))))
continue;
if (code == COND_EXPR && TREE_CODE (type) == REFERENCE_TYPE)
@@ -3223,17 +3215,9 @@ build_over_call (cand, args, flags)
tree argtype = TREE_TYPE (TREE_VALUE (arg));
tree t;
if (ICS_BAD_FLAG (TREE_VEC_ELT (convs, i)))
- {
- int dv = (TYPE_VOLATILE (TREE_TYPE (parmtype))
- < TYPE_VOLATILE (TREE_TYPE (argtype)));
- int dc = (TYPE_READONLY (TREE_TYPE (parmtype))
- < TYPE_READONLY (TREE_TYPE (argtype)));
- char *p = (dv && dc ? "const and volatile"
- : dc ? "const" : dv ? "volatile" : "");
-
- cp_error ("passing `%T' as `this' argument of `%#D' discards %s",
- TREE_TYPE (argtype), fn, p);
- }
+ cp_error ("passing `%T' as `this' argument of `%#D' discards qualifiers",
+ TREE_TYPE (argtype), fn);
+
/* [class.mfct.nonstatic]: If a nonstatic member function of a class
X is called for an object that is not of type X, or of a type
derived from X, the behavior is undefined.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 70a905f..8141db1 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -2387,9 +2387,9 @@ overrides (fndecl, base_fndecl)
#endif
types = TYPE_ARG_TYPES (TREE_TYPE (fndecl));
base_types = TYPE_ARG_TYPES (TREE_TYPE (base_fndecl));
- if ((TYPE_READONLY (TREE_TYPE (TREE_VALUE (base_types)))
- == TYPE_READONLY (TREE_TYPE (TREE_VALUE (types))))
- && compparms (TREE_CHAIN (base_types), TREE_CHAIN (types), 3))
+ if ((TYPE_QUALS (TREE_TYPE (TREE_VALUE (base_types)))
+ == TYPE_QUALS (TREE_TYPE (TREE_VALUE (types))))
+ && compparms (TREE_CHAIN (base_types), TREE_CHAIN (types)))
return 1;
}
return 0;
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index ad874a1..7ef0477 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -514,15 +514,6 @@ enum languages { lang_c, lang_cplusplus, lang_java };
/* The _DECL for this _TYPE. */
#define TYPE_MAIN_DECL(NODE) (TYPE_STUB_DECL (TYPE_MAIN_VARIANT (NODE)))
-#define CP_TYPE_READONLY(NODE) \
- (TREE_CODE (NODE) == ARRAY_TYPE \
- ? TYPE_READONLY (TREE_TYPE (NODE)) \
- : TYPE_READONLY (NODE))
-#define CP_TYPE_VOLATILE(NODE) \
- (TREE_CODE (NODE) == ARRAY_TYPE \
- ? TYPE_VOLATILE (TREE_TYPE (NODE)) \
- : TYPE_VOLATILE (NODE))
-
/* Nonzero if T is a class (or struct or union) type. Also nonzero
for template type parameters and typename types. Despite its name,
this macro has nothing to do with the definition of aggregate given
@@ -547,6 +538,33 @@ enum languages { lang_c, lang_cplusplus, lang_java };
/* True if this a "Java" type, defined in 'extern "Java"'. */
#define TYPE_FOR_JAVA(NODE) TYPE_LANG_FLAG_3(NODE)
+/* The type qualifiers for this type, including the qualifiers on the
+ elements for an array type. */
+#define CP_TYPE_QUALS(NODE) \
+ ((TREE_CODE (NODE) != ARRAY_TYPE) \
+ ? TYPE_QUALS (NODE) : cp_type_quals (NODE))
+
+/* Nonzero if this type is const-qualified. */
+#define CP_TYPE_CONST_P(NODE) \
+ (CP_TYPE_QUALS (NODE) & TYPE_QUAL_CONST)
+
+/* Nonzero if this type is volatile-qualified. */
+#define CP_TYPE_VOLATILE_P(NODE) \
+ (CP_TYPE_QUALS (NODE) & TYPE_QUAL_VOLATILE)
+
+/* Nonzero if this type is restrict-qualified.
+ FIXME: Does this make sense? */
+#define CP_TYPE_RESTRICT_P(NODE) \
+ (CP_TYPE_QUALS (NODE) & TYPE_QUAL_RESTRICT)
+
+/* Nonzero if this type is const-qualified, but not
+ volatile-qualified. Other qualifiers are ignored. This macro is
+ used to test whether or not it is OK to bind an rvalue to a
+ reference. */
+#define CP_TYPE_CONST_NON_VOLATILE_P(NODE) \
+ ((CP_TYPE_QUALS (NODE) & (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE)) \
+ == TYPE_QUAL_CONST)
+
#define DELTA_FROM_VTABLE_ENTRY(ENTRY) \
(!flag_vtable_thunks ? \
TREE_VALUE (CONSTRUCTOR_ELTS (ENTRY)) \
@@ -1882,7 +1900,7 @@ extern void check_function_format PROTO((tree, tree, tree));
/* Print an error message for invalid operands to arith operation CODE.
NOP_EXPR is used as a special case (see truthvalue_conversion). */
extern void binary_op_error PROTO((enum tree_code));
-extern tree cp_build_type_variant PROTO((tree, int, int));
+extern tree cp_build_qualified_type PROTO((tree, int));
extern tree canonical_type_variant PROTO((tree));
extern void c_expand_expr_stmt PROTO((tree));
/* Validate the expression after `case' and apply default promotions. */
@@ -1893,6 +1911,7 @@ extern void constant_expression_warning PROTO((tree));
extern tree convert_and_check PROTO((tree, tree));
extern void overflow_warning PROTO((tree));
extern void unsigned_conversion_warning PROTO((tree, tree));
+extern void c_apply_type_quals_to_decl PROTO((int, tree));
/* Read the rest of the current #-directive line. */
#if USE_CPPLIB
@@ -2161,9 +2180,9 @@ extern int current_function_parms_stored;
#define SIGNATURE_OPTR_NAME "__optr"
#define SIGNATURE_SPTR_NAME "__sptr"
#define SIGNATURE_POINTER_NAME "__sp_"
-#define SIGNATURE_POINTER_NAME_FORMAT "__%s%ssp_%s"
+#define SIGNATURE_POINTER_NAME_FORMAT "__%s%s%ssp_%s"
#define SIGNATURE_REFERENCE_NAME "__sr_"
-#define SIGNATURE_REFERENCE_NAME_FORMAT "__%s%ssr_%s"
+#define SIGNATURE_REFERENCE_NAME_FORMAT "__%s%s%ssr_%s"
#define SIGTABLE_PTR_TYPE "__sigtbl_ptr_type"
#define SIGTABLE_NAME_FORMAT "__st_%s_%s"
@@ -2815,6 +2834,7 @@ extern void add_defarg_fn PROTO((tree));
extern void do_pending_defargs PROTO((void));
extern int identifier_type PROTO((tree));
extern void yyhook PROTO((int));
+extern int cp_type_qual_from_rid PROTO((tree));
/* in method.c */
extern void init_method PROTO((void));
@@ -3122,7 +3142,7 @@ extern tree common_type PROTO((tree, tree));
extern int compexcepttypes PROTO((tree, tree));
extern int comptypes PROTO((tree, tree, int));
extern int comp_target_types PROTO((tree, tree, int));
-extern int compparms PROTO((tree, tree, int));
+extern int compparms PROTO((tree, tree));
extern int comp_target_types PROTO((tree, tree, int));
extern int comp_cv_qualification PROTO((tree, tree));
extern int comp_cv_qual_signature PROTO((tree, tree));
@@ -3176,6 +3196,9 @@ extern tree c_expand_start_case PROTO((tree));
extern int comp_ptr_ttypes PROTO((tree, tree));
extern int ptr_reasonably_similar PROTO((tree, tree));
extern tree build_ptrmemfunc PROTO((tree, tree, int));
+extern int cp_type_quals PROTO((tree));
+extern int at_least_as_qualified_p PROTO((tree, tree));
+extern int more_qualified_p PROTO((tree, tree));
/* in typeck2.c */
extern tree error_not_base_type PROTO((tree, tree));
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 3058641..105c4e7 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -444,13 +444,13 @@ convert_to_reference (reftype, expr, convtype, flags, decl)
initialize a reference, then the reference must be to a
non-volatile const type. */
if (! real_lvalue_p (expr)
- && (!TYPE_READONLY (ttl) || TYPE_VOLATILE (ttl)))
+ && !CP_TYPE_CONST_NON_VOLATILE_P (ttl))
{
char* msg;
- if (TYPE_VOLATILE (ttl) && decl)
+ if (CP_TYPE_VOLATILE_P (ttl) && decl)
msg = "initialization of volatile reference type `%#T'";
- else if (TYPE_VOLATILE (ttl))
+ else if (CP_TYPE_VOLATILE_P (ttl))
msg = "conversion to volatile reference type `%#T'";
else if (decl)
msg = "initialization of non-const reference type `%#T'";
@@ -460,15 +460,10 @@ convert_to_reference (reftype, expr, convtype, flags, decl)
cp_error (msg, reftype);
cp_error ("from rvalue of type `%T'", intype);
}
- else if (! (convtype & CONV_CONST))
- {
- if (! TYPE_READONLY (ttl) && TYPE_READONLY (ttr))
- cp_error ("conversion from `%T' to `%T' discards const",
- ttr, reftype);
- else if (! TYPE_VOLATILE (ttl) && TYPE_VOLATILE (ttr))
- cp_error ("conversion from `%T' to `%T' discards volatile",
- ttr, reftype);
- }
+ else if (! (convtype & CONV_CONST)
+ && !at_least_as_qualified_p (ttl, ttr))
+ cp_error ("conversion from `%T' to `%T' discards qualifiers",
+ ttr, reftype);
}
return build_up_reference (reftype, expr, flags);
@@ -502,7 +497,7 @@ convert_to_reference (reftype, expr, convtype, flags, decl)
return error_mark_node;
rval = build_up_reference (reftype, rval, flags);
- if (rval && ! TYPE_READONLY (TREE_TYPE (reftype)))
+ if (rval && ! CP_TYPE_CONST_P (TREE_TYPE (reftype)))
cp_pedwarn ("initializing non-const `%T' with `%T' will use a temporary",
reftype, intype);
}
@@ -570,8 +565,8 @@ convert_pointer_to_real (binfo, expr)
binfo = NULL_TREE;
}
- ptr_type = cp_build_type_variant (type, TYPE_READONLY (TREE_TYPE (intype)),
- TYPE_VOLATILE (TREE_TYPE (intype)));
+ ptr_type = cp_build_qualified_type (type,
+ CP_TYPE_QUALS (TREE_TYPE (intype)));
ptr_type = build_pointer_type (ptr_type);
if (ptr_type == TYPE_MAIN_VARIANT (intype))
return expr;
@@ -1059,13 +1054,12 @@ tree
type_promotes_to (type)
tree type;
{
- int constp, volatilep;
+ int type_quals;
if (type == error_mark_node)
return error_mark_node;
- constp = TYPE_READONLY (type);
- volatilep = TYPE_VOLATILE (type);
+ type_quals = CP_TYPE_QUALS (type);
type = TYPE_MAIN_VARIANT (type);
/* bool always promotes to int (not unsigned), even if it's the same
@@ -1099,7 +1093,7 @@ type_promotes_to (type)
else if (type == float_type_node)
type = double_type_node;
- return cp_build_type_variant (type, constp, volatilep);
+ return cp_build_qualified_type (type, type_quals);
}
/* The routines below this point are carefully written to conform to
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index c98db98..448290b 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -177,6 +177,7 @@ static void bad_specifiers PROTO((tree, char *, int, int, int, int,
int));
static void lang_print_error_function PROTO((char *));
static tree maybe_process_template_type_declaration PROTO((tree, int, struct binding_level*));
+static void check_for_uninitialized_const_var PROTO((tree));
#if defined (DEBUG_CP_BINDING_LEVELS)
static void indent PROTO((void));
@@ -2567,7 +2568,7 @@ decls_match (newdecl, olddecl)
TREE_TYPE (newdecl) = TREE_TYPE (olddecl);
}
else
- types_match = compparms (p1, p2, 3);
+ types_match = compparms (p1, p2);
}
else
types_match = 0;
@@ -2769,7 +2770,7 @@ duplicate_decls (newdecl, olddecl)
else if (TREE_CODE (DECL_TEMPLATE_RESULT (olddecl)) == FUNCTION_DECL
&& TREE_CODE (DECL_TEMPLATE_RESULT (newdecl)) == FUNCTION_DECL
&& compparms (TYPE_ARG_TYPES (TREE_TYPE (DECL_TEMPLATE_RESULT (olddecl))),
- TYPE_ARG_TYPES (TREE_TYPE (DECL_TEMPLATE_RESULT (newdecl))), 3)
+ TYPE_ARG_TYPES (TREE_TYPE (DECL_TEMPLATE_RESULT (newdecl))))
&& comp_template_parms (DECL_TEMPLATE_PARMS (newdecl),
DECL_TEMPLATE_PARMS (olddecl)))
{
@@ -2788,7 +2789,7 @@ duplicate_decls (newdecl, olddecl)
cp_error_at ("previous declaration `%#D' here", olddecl);
}
else if (compparms (TYPE_ARG_TYPES (TREE_TYPE (newdecl)),
- TYPE_ARG_TYPES (TREE_TYPE (olddecl)), 3))
+ TYPE_ARG_TYPES (TREE_TYPE (olddecl))))
{
cp_error ("new declaration `%#D'", newdecl);
cp_error_at ("ambiguates old declaration `%#D'", olddecl);
@@ -5840,7 +5841,8 @@ init_decl_processing ()
string_type_node = build_pointer_type (char_type_node);
const_string_type_node
- = build_pointer_type (build_type_variant (char_type_node, 1, 0));
+ = build_pointer_type (build_qualified_type (char_type_node,
+ TYPE_QUAL_CONST));
#if 0
record_builtin_type (RID_MAX, NULL_PTR, string_type_node);
#endif
@@ -5870,7 +5872,8 @@ init_decl_processing ()
ptr_type_node = build_pointer_type (void_type_node);
const_ptr_type_node
- = build_pointer_type (build_type_variant (void_type_node, 1, 0));
+ = build_pointer_type (build_qualified_type (void_type_node,
+ TYPE_QUAL_CONST));
#if 0
record_builtin_type (RID_MAX, NULL_PTR, ptr_type_node);
#endif
@@ -6199,14 +6202,15 @@ init_decl_processing ()
DECL_SIZE (fields[3]) = TYPE_SIZE (delta_type_node);
TREE_UNSIGNED (fields[3]) = 0;
TREE_CHAIN (fields[2]) = fields[3];
- vtable_entry_type = build_type_variant (vtable_entry_type, 1, 0);
+ vtable_entry_type = build_qualified_type (vtable_entry_type,
+ TYPE_QUAL_CONST);
}
record_builtin_type (RID_MAX, VTBL_PTR_TYPE, vtable_entry_type);
vtbl_type_node
= build_array_type (vtable_entry_type, NULL_TREE);
layout_type (vtbl_type_node);
- vtbl_type_node = cp_build_type_variant (vtbl_type_node, 1, 0);
+ vtbl_type_node = build_qualified_type (vtbl_type_node, TYPE_QUAL_CONST);
record_builtin_type (RID_MAX, NULL_PTR, vtbl_type_node);
vtbl_ptr_type_node = build_pointer_type (vtable_entry_type);
layout_type (vtbl_ptr_type_node);
@@ -6245,7 +6249,8 @@ init_decl_processing ()
TREE_UNSIGNED (fields[5]) = 0;
TREE_CHAIN (fields[4]) = fields[5];
- sigtable_entry_type = build_type_variant (sigtable_entry_type, 1, 0);
+ sigtable_entry_type = build_qualified_type (sigtable_entry_type,
+ TYPE_QUAL_CONST);
record_builtin_type (RID_MAX, SIGTABLE_PTR_TYPE, sigtable_entry_type);
}
@@ -7000,6 +7005,25 @@ obscure_complex_init (decl, init)
return init;
}
+/* Issue an error message if DECL is an uninitialized const variable. */
+
+static void
+check_for_uninitialized_const_var (decl)
+ tree decl;
+{
+ tree type = TREE_TYPE (decl);
+
+ /* ``Unless explicitly declared extern, a const object does not have
+ external linkage and must be initialized. ($8.4; $12.1)'' ARM
+ 7.1.6 */
+ if (TREE_CODE (decl) == VAR_DECL
+ && TREE_CODE (type) != REFERENCE_TYPE
+ && CP_TYPE_CONST_P (type)
+ && !TYPE_NEEDS_CONSTRUCTING (type)
+ && !DECL_INITIAL (decl))
+ cp_error ("uninitialized const `%D'", decl);
+}
+
/* Finish processing of a declaration;
install its line number and initial value.
If the length of an array type is not known before,
@@ -7241,32 +7265,16 @@ cp_finish_decl (decl, init, asmspec_tree, need_pop, flags)
decl);
}
- if (TREE_CODE (decl) == VAR_DECL
- && !DECL_INITIAL (decl)
- && !TYPE_NEEDS_CONSTRUCTING (type)
- && (TYPE_READONLY (type) || TREE_READONLY (decl)))
- cp_error ("uninitialized const `%D'", decl);
+ check_for_uninitialized_const_var (decl);
if (TYPE_SIZE (type) != NULL_TREE
&& TYPE_NEEDS_CONSTRUCTING (type))
init = obscure_complex_init (decl, NULL_TREE);
- }
- else if (TREE_CODE (decl) == VAR_DECL
- && TREE_CODE (type) != REFERENCE_TYPE
- && (TYPE_READONLY (type) || TREE_READONLY (decl)))
- {
- /* ``Unless explicitly declared extern, a const object does not have
- external linkage and must be initialized. ($8.4; $12.1)'' ARM 7.1.6
- However, if it's `const int foo = 1; const int foo;', don't complain
- about the second decl, since it does have an initializer before.
- We deliberately don't complain about arrays, because they're
- supposed to be initialized by a constructor. */
- if (! DECL_INITIAL (decl)
- && TREE_CODE (type) != ARRAY_TYPE
- && (!pedantic || !current_class_type))
- cp_error ("uninitialized const `%#D'", decl);
- }
+ }
+ else
+ check_for_uninitialized_const_var (decl);
+
/* For top-level declaration, the initial value was read in
the temporary obstack. MAXINDEX, rtl, etc. to be made below
must go in the permanent obstack; but don't discard the
@@ -8503,7 +8511,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
tree type = NULL_TREE;
int longlong = 0;
int constp;
+ int restrictp;
int volatilep;
+ int type_quals;
int virtualp, explicitp, friendp, inlinep, staticp;
int explicit_int = 0;
int explicit_char = 0;
@@ -9065,8 +9075,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
&& TYPE_MAIN_VARIANT (type) == double_type_node)
{
RIDBIT_RESET (RID_LONG, specbits);
- type = build_type_variant (long_double_type_node, TYPE_READONLY (type),
- TYPE_VOLATILE (type));
+ type = build_qualified_type (long_double_type_node,
+ CP_TYPE_QUALS (type));
}
/* Check all other uses of type modifiers. */
@@ -9188,17 +9198,24 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (return_type == return_conversion
&& (RIDBIT_SETP (RID_CONST, specbits)
- || RIDBIT_SETP (RID_VOLATILE, specbits)))
- cp_error ("`operator %T' cannot be cv-qualified",
+ || RIDBIT_SETP (RID_VOLATILE, specbits)
+ || RIDBIT_SETP (RID_RESTRICT, specbits)))
+ cp_error ("qualifiers are not allowed on declaration of `operator %T'",
ctor_return_type);
/* Set CONSTP if this declaration is `const', whether by
explicit specification or via a typedef.
Likewise for VOLATILEP. */
- constp = !!RIDBIT_SETP (RID_CONST, specbits) + CP_TYPE_READONLY (type);
- volatilep = !!RIDBIT_SETP (RID_VOLATILE, specbits) + CP_TYPE_VOLATILE (type);
- type = cp_build_type_variant (type, constp, volatilep);
+ constp = !! RIDBIT_SETP (RID_CONST, specbits) + CP_TYPE_CONST_P (type);
+ restrictp =
+ !! RIDBIT_SETP (RID_RESTRICT, specbits) + CP_TYPE_RESTRICT_P (type);
+ volatilep =
+ !! RIDBIT_SETP (RID_VOLATILE, specbits) + CP_TYPE_VOLATILE_P (type);
+ type_quals = ((constp ? TYPE_QUAL_CONST : 0)
+ | (restrictp ? TYPE_QUAL_RESTRICT : 0)
+ | (volatilep ? TYPE_QUAL_VOLATILE : 0));
+ type = cp_build_qualified_type (type, type_quals);
staticp = 0;
inlinep = !! RIDBIT_SETP (RID_INLINE, specbits);
virtualp = RIDBIT_SETP (RID_VIRTUAL, specbits);
@@ -9275,16 +9292,10 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
&& IS_SIGNATURE (current_class_type)
&& RIDBIT_NOTSETP (RID_TYPEDEF, specbits))
{
- if (constp)
+ if (type_quals != TYPE_UNQUALIFIED)
{
- error ("`const' specified for signature member function `%s'", name);
- constp = 0;
- }
- if (volatilep)
- {
- error ("`volatile' specified for signature member function `%s'",
- name);
- volatilep = 0;
+ error ("type qualifiers specified for signature member function `%s'", name);
+ type_quals = TYPE_UNQUALIFIED;
}
if (inlinep)
{
@@ -9634,9 +9645,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
/* Declaring a function type.
Make sure we have a valid type for the function to return. */
- /* We now know that constp and volatilep don't apply to the
+ /* We now know that the TYPE_QUALS don't apply to the
decl, but to its return type. */
- constp = volatilep = 0;
+ type_quals = TYPE_UNQUALIFIED;
/* Warn about some types functions can't return. */
@@ -9844,9 +9855,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
/* Merge any constancy or volatility into the target type
for the pointer. */
- /* We now know that constp and volatilep don't apply to the
- decl, but to the target of the pointer. */
- constp = volatilep = 0;
+ /* We now know that the TYPE_QUALS don't apply to the decl,
+ but to the target of the pointer. */
+ type_quals = TYPE_UNQUALIFIED;
if (IS_SIGNATURE (type))
{
@@ -9871,8 +9882,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
type);
type = build_signature_pointer_type (type);
}
- constp = 0;
- volatilep = 0;
}
else if (TREE_CODE (declarator) == ADDR_EXPR)
{
@@ -9895,25 +9904,37 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
{
register tree typemodlist;
int erred = 0;
+
+ constp = 0;
+ volatilep = 0;
+ restrictp = 0;
for (typemodlist = TREE_TYPE (declarator); typemodlist;
typemodlist = TREE_CHAIN (typemodlist))
{
- if (TREE_VALUE (typemodlist) == ridpointers[(int) RID_CONST])
+ tree qualifier = TREE_VALUE (typemodlist);
+
+ if (qualifier == ridpointers[(int) RID_CONST])
constp++;
- else if (TREE_VALUE (typemodlist) == ridpointers[(int) RID_VOLATILE])
+ else if (qualifier == ridpointers[(int) RID_VOLATILE])
volatilep++;
+ else if (qualifier == ridpointers[(int) RID_RESTRICT])
+ restrictp++;
else if (!erred)
{
erred = 1;
- error ("invalid type modifier within %s declarator",
- TREE_CODE (declarator) == ADDR_EXPR
- ? "reference" : "pointer");
+ error ("invalid type modifier within pointer declarator");
}
}
if (constp > 1)
pedwarn ("duplicate `const'");
if (volatilep > 1)
pedwarn ("duplicate `volatile'");
+ if (restrictp > 1)
+ pedwarn ("duplicate `restrict'");
+
+ type_quals = ((constp ? TYPE_QUAL_CONST : 0)
+ | (restrictp ? TYPE_QUAL_RESTRICT : 0)
+ | (volatilep ? TYPE_QUAL_VOLATILE : 0));
if (TREE_CODE (declarator) == ADDR_EXPR
&& (constp || volatilep))
{
@@ -9921,9 +9942,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
pedwarn ("discarding `const' applied to a reference");
if (volatilep)
pedwarn ("discarding `volatile' applied to a reference");
- constp = volatilep = 0;
+ type_quals &= ~(TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE);
}
- type = cp_build_type_variant (type, constp, volatilep);
+ type = cp_build_qualified_type (type, type_quals);
}
declarator = TREE_OPERAND (declarator, 0);
ctype = NULL_TREE;
@@ -10131,7 +10152,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (RIDBIT_SETP (RID_MUTABLE, specbits))
{
- if (constp)
+ if (type_quals & TYPE_QUAL_CONST)
{
error ("const `%s' cannot be declared `mutable'", name);
RIDBIT_RESET (RID_MUTABLE, specbits);
@@ -10268,19 +10289,20 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
{
/* Note that the grammar rejects storage classes
in typenames, fields or parameters. */
- if (constp || volatilep)
+ if (type_quals != TYPE_UNQUALIFIED)
{
if (IS_SIGNATURE (type))
- error ("`const' or `volatile' specified with signature type");
+ error ("type qualifiers specified for signature type");
+ type_quals = TYPE_UNQUALIFIED;
}
/* Special case: "friend class foo" looks like a TYPENAME context. */
if (friendp)
{
- if (volatilep)
+ if (type_quals != TYPE_UNQUALIFIED)
{
- cp_error ("`volatile' specified for friend class declaration");
- volatilep = 0;
+ cp_error ("type qualifiers specified for friend class declaration");
+ type_quals = TYPE_UNQUALIFIED;
}
if (inlinep)
{
@@ -10360,7 +10382,7 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
{
/* Transfer const-ness of array into that of type pointed to. */
type = build_pointer_type (TREE_TYPE (type));
- volatilep = constp = 0;
+ type_quals = TYPE_UNQUALIFIED;
}
else if (TREE_CODE (type) == FUNCTION_TYPE)
type = build_pointer_type (type);
@@ -10788,14 +10810,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
DECL_THIS_STATIC (decl) = 1;
/* Record constancy and volatility. */
-
- if (constp)
- TREE_READONLY (decl) = TREE_CODE (type) != REFERENCE_TYPE;
- if (volatilep)
- {
- TREE_SIDE_EFFECTS (decl) = 1;
- TREE_THIS_VOLATILE (decl) = 1;
- }
+ /* FIXME: Disallow `restrict' pointer-to-member declarations. */
+ c_apply_type_quals_to_decl (type_quals, decl);
return decl;
}
@@ -11214,7 +11230,7 @@ grok_ctor_properties (ctype, decl)
|| TREE_PURPOSE (TREE_CHAIN (parmtypes))))
{
TYPE_HAS_INIT_REF (ctype) = 1;
- if (TYPE_READONLY (TREE_TYPE (parmtype)))
+ if (CP_TYPE_CONST_P (TREE_TYPE (parmtype)))
TYPE_HAS_CONST_INIT_REF (ctype) = 1;
}
else if (TYPE_MAIN_VARIANT (parmtype) == ctype
@@ -11419,7 +11435,7 @@ grok_op_properties (decl, virtualp, friendp)
{
TYPE_HAS_ASSIGN_REF (current_class_type) = 1;
if (TREE_CODE (parmtype) != REFERENCE_TYPE
- || TYPE_READONLY (TREE_TYPE (parmtype)))
+ || CP_TYPE_CONST_P (TREE_TYPE (parmtype)))
TYPE_HAS_CONST_ASSIGN_REF (current_class_type) = 1;
}
}
@@ -12436,8 +12452,10 @@ start_function (declspecs, declarator, attrs, pre_parsed_p)
TYPE_ARG_TYPES (TREE_TYPE (decl1)));
DECL_RESULT (decl1)
= build_decl (RESULT_DECL, 0, TYPE_MAIN_VARIANT (TREE_TYPE (fntype)));
- TREE_READONLY (DECL_RESULT (decl1)) = TYPE_READONLY (TREE_TYPE (fntype));
- TREE_THIS_VOLATILE (DECL_RESULT (decl1)) = TYPE_VOLATILE (TREE_TYPE (fntype));
+ TREE_READONLY (DECL_RESULT (decl1))
+ = CP_TYPE_CONST_P (TREE_TYPE (fntype));
+ TREE_THIS_VOLATILE (DECL_RESULT (decl1))
+ = CP_TYPE_VOLATILE_P (TREE_TYPE (fntype));
}
if (TYPE_LANG_SPECIFIC (TREE_TYPE (fntype))
@@ -12621,8 +12639,8 @@ start_function (declspecs, declarator, attrs, pre_parsed_p)
{
DECL_RESULT (decl1)
= build_decl (RESULT_DECL, 0, TYPE_MAIN_VARIANT (restype));
- TREE_READONLY (DECL_RESULT (decl1)) = TYPE_READONLY (restype);
- TREE_THIS_VOLATILE (DECL_RESULT (decl1)) = TYPE_VOLATILE (restype);
+ TREE_READONLY (DECL_RESULT (decl1)) = CP_TYPE_CONST_P (restype);
+ TREE_THIS_VOLATILE (DECL_RESULT (decl1)) = CP_TYPE_VOLATILE_P (restype);
}
/* Allocate further tree nodes temporarily during compilation
@@ -13864,15 +13882,14 @@ revert_static_member_fn (decl, fn, argtypes)
tree function = fn ? *fn : TREE_TYPE (*decl);
tree args = argtypes ? *argtypes : TYPE_ARG_TYPES (function);
- if (TYPE_READONLY (TREE_TYPE (TREE_VALUE (args))))
- cp_error ("static member function `%#D' declared const", *decl);
- if (TYPE_VOLATILE (TREE_TYPE (TREE_VALUE (args))))
- cp_error ("static member function `%#D' declared volatile", *decl);
+ if (CP_TYPE_QUALS (TREE_TYPE (TREE_VALUE (args)))
+ != TYPE_UNQUALIFIED)
+ cp_error ("static member function `%#D' declared with type qualifiers",
+ *decl);
args = TREE_CHAIN (args);
tmp = build_function_type (TREE_TYPE (function), args);
- tmp = build_type_variant (tmp, TYPE_READONLY (function),
- TYPE_VOLATILE (function));
+ tmp = build_qualified_type (tmp, CP_TYPE_QUALS (function));
tmp = build_exception_variant (tmp,
TYPE_RAISES_EXCEPTIONS (function));
TREE_TYPE (*decl) = tmp;
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 302138a..6ef3099 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -784,36 +784,27 @@ grok_method_quals (ctype, function, quals)
{
tree fntype = TREE_TYPE (function);
tree raises = TYPE_RAISES_EXCEPTIONS (fntype);
+ int type_quals = TYPE_UNQUALIFIED;
+ int dup_quals = TYPE_UNQUALIFIED;
do
{
- extern tree ridpointers[];
-
- if (TREE_VALUE (quals) == ridpointers[(int)RID_CONST])
- {
- if (TYPE_READONLY (ctype))
- error ("duplicate `%s' %s",
- IDENTIFIER_POINTER (TREE_VALUE (quals)),
- (TREE_CODE (function) == FUNCTION_DECL
- ? "for member function" : "in type declaration"));
- ctype = build_type_variant (ctype, 1, TYPE_VOLATILE (ctype));
- build_pointer_type (ctype);
- }
- else if (TREE_VALUE (quals) == ridpointers[(int)RID_VOLATILE])
- {
- if (TYPE_VOLATILE (ctype))
- error ("duplicate `%s' %s",
- IDENTIFIER_POINTER (TREE_VALUE (quals)),
- (TREE_CODE (function) == FUNCTION_DECL
- ? "for member function" : "in type declaration"));
- ctype = build_type_variant (ctype, TYPE_READONLY (ctype), 1);
- build_pointer_type (ctype);
- }
+ int tq = cp_type_qual_from_rid (TREE_VALUE (quals));
+
+ if (type_quals & tq)
+ dup_quals |= tq;
else
- my_friendly_abort (20);
+ type_quals |= tq;
quals = TREE_CHAIN (quals);
- }
+ }
while (quals);
+
+ if (dup_quals != TYPE_UNQUALIFIED)
+ cp_error ("duplicate type qualifiers in %s declaration",
+ TREE_CODE (function) == FUNCTION_DECL
+ ? "member function" : "type");
+
+ ctype = cp_build_qualified_type (ctype, type_quals);
fntype = build_cplus_method_type (ctype, TREE_TYPE (fntype),
(TREE_CODE (fntype) == METHOD_TYPE
? TREE_CHAIN (TYPE_ARG_TYPES (fntype))
@@ -1417,7 +1408,7 @@ check_classfn (ctype, function)
if (comptypes (TREE_TYPE (TREE_TYPE (function)),
TREE_TYPE (TREE_TYPE (fndecl)), 1)
- && compparms (p1, p2, 3)
+ && compparms (p1, p2)
&& (DECL_TEMPLATE_SPECIALIZATION (function)
== DECL_TEMPLATE_SPECIALIZATION (fndecl))
&& (!DECL_TEMPLATE_SPECIALIZATION (function)
@@ -1702,7 +1693,7 @@ grokfield (declarator, declspecs, init, asmspec_tree, attrlist)
}
/* Force the compiler to know when an uninitialized static
const member is being used. */
- if (TYPE_READONLY (value) && init == 0)
+ if (CP_TYPE_CONST_P (TREE_TYPE (value)) && init == 0)
TREE_USED (value) = 1;
DECL_INITIAL (value) = init;
DECL_IN_AGGR_P (value) = 1;
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index ba5243a..ba3517e 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -102,7 +102,7 @@ static void dump_type_suffix PROTO((tree, int, int));
static void dump_function_name PROTO((tree));
static void dump_expr_list PROTO((tree));
static void dump_global_iord PROTO((tree));
-static void dump_readonly_or_volatile PROTO((tree, enum pad));
+static void dump_qualifiers PROTO((tree, enum pad));
static void dump_char PROTO((int));
static char *aggr_variety PROTO((tree));
static tree ident_fndecl PROTO((tree));
@@ -115,19 +115,46 @@ init_error ()
}
static void
-dump_readonly_or_volatile (t, p)
+dump_qualifiers (t, p)
tree t;
enum pad p;
{
- if (TYPE_READONLY (t) || TYPE_VOLATILE (t))
+ if (TYPE_QUALS (t))
{
if (p == before) OB_PUTC (' ');
- if (TYPE_READONLY (t))
- OB_PUTS ("const");
- if (TYPE_READONLY (t) && TYPE_VOLATILE (t))
- OB_PUTC (' ');
- if (TYPE_VOLATILE (t))
- OB_PUTS ("volatile");
+ switch (TYPE_QUALS (t))
+ {
+ case TYPE_QUAL_CONST:
+ OB_PUTS ("const");
+ break;
+
+ case TYPE_QUAL_VOLATILE:
+ OB_PUTS ("volatile");
+ break;
+
+ case TYPE_QUAL_RESTRICT:
+ OB_PUTS ("__restrict");
+ break;
+
+ case TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE:
+ OB_PUTS ("const volatile");
+ break;
+
+ case TYPE_QUAL_CONST | TYPE_QUAL_RESTRICT:
+ OB_PUTS ("const __restrict");
+ break;
+
+ case TYPE_QUAL_VOLATILE | TYPE_QUAL_RESTRICT:
+ OB_PUTS ("volatile __restrict");
+ break;
+
+ case TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE | TYPE_QUAL_RESTRICT:
+ OB_PUTS ("const volatile __restrict");
+ break;
+
+ default:
+ my_friendly_abort (0);
+ }
if (p == after) OB_PUTC (' ');
}
}
@@ -197,8 +224,7 @@ dump_type_real (t, v, canonical_name)
if (TYPE_LANG_SPECIFIC (t)
&& (IS_SIGNATURE_POINTER (t) || IS_SIGNATURE_REFERENCE (t)))
{
- if (TYPE_READONLY (t) | TYPE_VOLATILE (t))
- dump_readonly_or_volatile (t, after);
+ dump_qualifiers (t, after);
dump_type_real (SIGNATURE_TYPE (t), v, canonical_name);
if (IS_SIGNATURE_POINTER (t))
OB_PUTC ('*');
@@ -232,7 +258,7 @@ dump_type_real (t, v, canonical_name)
case BOOLEAN_TYPE:
{
tree type;
- dump_readonly_or_volatile (t, after);
+ dump_qualifiers (t, after);
type = canonical_name ? TYPE_MAIN_VARIANT (t) : t;
if (TYPE_NAME (type) && TYPE_IDENTIFIER (type))
OB_PUTID (TYPE_IDENTIFIER (type));
@@ -275,7 +301,7 @@ dump_type_real (t, v, canonical_name)
break;
case TEMPLATE_TYPE_PARM:
- dump_readonly_or_volatile (t, after);
+ dump_qualifiers (t, after);
if (TYPE_IDENTIFIER (t))
OB_PUTID (TYPE_IDENTIFIER (t));
else
@@ -343,7 +369,7 @@ dump_aggr_type (t, v, canonical_name)
tree name;
char *variety = aggr_variety (t);
- dump_readonly_or_volatile (t, after);
+ dump_qualifiers (t, after);
if (v > 0)
{
@@ -404,13 +430,14 @@ dump_type_prefix (t, v, canonical_name)
switch (TREE_CODE (t))
{
case POINTER_TYPE:
+ case REFERENCE_TYPE:
{
tree sub = TREE_TYPE (t);
dump_type_prefix (sub, v, canonical_name);
/* A tree for a member pointer looks like pointer to offset,
so let the OFFSET_TYPE case handle it. */
- if (TREE_CODE (sub) != OFFSET_TYPE)
+ if (!TYPE_PTRMEM_P (t))
{
switch (TREE_CODE (sub))
{
@@ -425,42 +452,20 @@ dump_type_prefix (t, v, canonical_name)
case POINTER_TYPE:
/* We don't want "char * *" */
- if (! (TYPE_READONLY (sub) || TYPE_VOLATILE (sub)))
+ if (TYPE_QUALS (sub) == TYPE_UNQUALIFIED)
break;
/* But we do want "char *const *" */
default:
OB_PUTC (' ');
}
- OB_PUTC ('*');
- dump_readonly_or_volatile (t, none);
- }
- }
- break;
-
- case REFERENCE_TYPE:
- {
- tree sub = TREE_TYPE (t);
- dump_type_prefix (sub, v, canonical_name);
-
- switch (TREE_CODE (sub))
- {
- case ARRAY_TYPE:
- OB_PUTC2 (' ', '(');
- break;
-
- case POINTER_TYPE:
- /* We don't want "char * &" */
- if (! (TYPE_READONLY (sub) || TYPE_VOLATILE (sub)))
- break;
- /* But we do want "char *const &" */
-
- default:
- OB_PUTC (' ');
+ if (TREE_CODE (t) == POINTER_TYPE)
+ OB_PUTC ('*');
+ else
+ OB_PUTC ('&');
+ dump_qualifiers (t, none);
}
}
- OB_PUTC ('&');
- dump_readonly_or_volatile (t, none);
break;
case OFFSET_TYPE:
@@ -473,7 +478,7 @@ dump_type_prefix (t, v, canonical_name)
OB_PUTC2 (':', ':');
}
OB_PUTC ('*');
- dump_readonly_or_volatile (t, none);
+ dump_qualifiers (t, none);
break;
/* Can only be reached through function pointer -- this would not be
@@ -555,7 +560,7 @@ dump_type_suffix (t, v, canonical_name)
OB_PUTS ("...");
OB_PUTC (')');
if (TREE_CODE (t) == METHOD_TYPE)
- dump_readonly_or_volatile
+ dump_qualifiers
(TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (t))), before);
dump_type_suffix (TREE_TYPE (t), v, canonical_name);
break;
@@ -1000,10 +1005,10 @@ dump_function_decl (t, v)
{
if (IS_SIGNATURE (cname))
/* We look at the type pointed to by the `optr' field of `this.' */
- dump_readonly_or_volatile
+ dump_qualifiers
(TREE_TYPE (TREE_TYPE (TYPE_FIELDS (TREE_VALUE (TYPE_ARG_TYPES (fntype))))), before);
else
- dump_readonly_or_volatile
+ dump_qualifiers
(TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (fntype))), before);
}
}
@@ -1951,7 +1956,7 @@ cv_as_string (p, v)
{
OB_INIT ();
- dump_readonly_or_volatile (p, before);
+ dump_qualifiers (p, before);
OB_FINISH ();
diff --git a/gcc/cp/gxx.gperf b/gcc/cp/gxx.gperf
index 868dfc4..5632f7f 100644
--- a/gcc/cp/gxx.gperf
+++ b/gcc/cp/gxx.gperf
@@ -22,6 +22,8 @@ __label__, LABEL, NORID
__null, CONSTANT, RID_NULL
__real, REALPART, NORID
__real__, REALPART, NORID
+__restrict, CV_QUALIFIER, RID_RESTRICT
+__restrict__, CV_QUALIFIER, RID_RESTRICT
__signature__, AGGR, RID_SIGNATURE /* Extension */,
__signed, TYPESPEC, RID_SIGNED
__signed__, TYPESPEC, RID_SIGNED
diff --git a/gcc/cp/gxxint.texi b/gcc/cp/gxxint.texi
index c8f312e..f23b85d 100644
--- a/gcc/cp/gxxint.texi
+++ b/gcc/cp/gxxint.texi
@@ -1783,6 +1783,12 @@ Used by squangling to compress qualified names.
@item l
Encodes the C++ @code{long} type.
+@item n
+Used with squangling.
+
+@item N
+Namespaces.
+
@item P
Indicates a pointer type. Followed by the type pointed to.
@@ -1817,11 +1823,14 @@ A modifier that indicates that the following integer type is unsigned.
Also used to indicate that the following class or namespace name
is encoded using Unicode-mangling.
+@item u
+The @code{restrict} type qualifier.
+
@item v
Encodes the C++ and Java @code{void} types.
@item V
-A modified for a @code{const} type or method.
+A modifier for a @code{volatile} type or method.
@item w
Encodes the C++ @code{wchar_t} type, and the Java @code{char} types.
diff --git a/gcc/cp/hash.h b/gcc/cp/hash.h
index 21ebdd7..71c2f31 100644
--- a/gcc/cp/hash.h
+++ b/gcc/cp/hash.h
@@ -1,14 +1,14 @@
/* KR-C code produced by gperf version 2.7.1 (19981006 egcs) */
-/* Command-line: gperf -L KR-C -F , 0, 0 -p -j1 -g -o -t -N is_reserved_word -k1,4,7,$ ./gxx.gperf */
+/* Command-line: gperf -L KR-C -F , 0, 0 -p -j1 -g -o -t -N is_reserved_word -k1,4,7,$ ../../../gcc/cp/gxx.gperf */
/* Command-line: gperf -L KR-C -F ', 0, 0' -p -j1 -g -o -t -N is_reserved_word -k1,4,$,7 gplus.gperf */
struct resword { char *name; short token; enum rid rid;};
-#define TOTAL_KEYWORDS 104
+#define TOTAL_KEYWORDS 106
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 16
#define MIN_HASH_VALUE 4
-#define MAX_HASH_VALUE 261
-/* maximum key range = 258, duplicates = 0 */
+#define MAX_HASH_VALUE 250
+/* maximum key range = 247, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -18,34 +18,34 @@ hash (str, len)
register char *str;
register unsigned int len;
{
- static unsigned short asso_values[] =
+ static unsigned char asso_values[] =
{
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 0, 262, 87, 25, 96,
- 60, 0, 55, 7, 4, 41, 262, 2, 15, 49,
- 14, 63, 32, 29, 3, 23, 6, 8, 2, 2,
- 0, 7, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 262, 262
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 0, 251, 64, 93, 3,
+ 0, 0, 74, 35, 0, 26, 251, 2, 31, 65,
+ 23, 76, 7, 19, 45, 37, 6, 64, 12, 38,
+ 14, 4, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251
};
register int hval = len;
@@ -80,155 +80,145 @@ is_reserved_word (str, len)
{"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
{"else", ELSE, NORID,},
{"", 0, 0},
- {"xor", '^', NORID,},
- {"", 0, 0},
+ {"delete", DELETE, NORID,},
+ {"case", CASE, NORID,},
{"__real__", REALPART, NORID},
{"", 0, 0},
{"true", CXX_TRUE, NORID,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"catch", CATCH, NORID,},
+ {"typeid", TYPEID, NORID,},
{"try", TRY, NORID,},
{"", 0, 0}, {"", 0, 0},
- {"new", NEW, NORID,},
+ {"void", TYPESPEC, RID_VOID,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"private", VISSPEC, RID_PRIVATE,},
+ {"template", TEMPLATE, RID_TEMPLATE,},
+ {"protected", VISSPEC, RID_PROTECTED,},
{"extern", SCSPEC, RID_EXTERN,},
- {"__real", REALPART, NORID},
- {"while", WHILE, NORID,},
+ {"", 0, 0}, {"", 0, 0},
{"not", '!', NORID,},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"__extension__", EXTENSION, NORID},
{"", 0, 0},
- {"__null", CONSTANT, RID_NULL},
- {"__asm__", ASM_KEYWORD, NORID},
- {"return", RETURN, NORID,},
+ {"__signed", TYPESPEC, RID_SIGNED},
+ {"int", TYPESPEC, RID_INT,},
+ {"__signed__", TYPESPEC, RID_SIGNED},
+ {"__real", REALPART, NORID},
{"", 0, 0},
- {"long", TYPESPEC, RID_LONG,},
- {"using", USING, NORID,},
{"xor_eq", ASSIGN, NORID,},
- {"__inline", SCSPEC, RID_INLINE},
- {"short", TYPESPEC, RID_SHORT,},
- {"__inline__", SCSPEC, RID_INLINE},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"__attribute", ATTRIBUTE, NORID},
+ {"__asm__", ASM_KEYWORD, NORID},
+ {"__attribute__", ATTRIBUTE, NORID},
+ {"compl", '~', NORID,},
+ {"public", VISSPEC, RID_PUBLIC,},
+ {"not_eq", EQCOMPARE, NORID,},
{"switch", SWITCH, NORID,},
- {"__alignof__", ALIGNOF, NORID},
- {"private", VISSPEC, RID_PRIVATE,},
- {"reinterpret_cast", REINTERPRET_CAST, NORID,},
- {"struct", AGGR, RID_RECORD,},
+ {"__extension__", EXTENSION, NORID},
+ {"const", CV_QUALIFIER, RID_CONST,},
+ {"static", SCSPEC, RID_STATIC,},
{"", 0, 0},
- {"virtual", SCSPEC, RID_VIRTUAL,},
+ {"__inline", SCSPEC, RID_INLINE},
+ {"", 0, 0},
+ {"__inline__", SCSPEC, RID_INLINE},
+ {"__restrict__", CV_QUALIFIER, RID_RESTRICT},
+ {"inline", SCSPEC, RID_INLINE,},
+ {"const_cast", CONST_CAST, NORID,},
{"static_cast", STATIC_CAST, NORID,},
- {"", 0, 0}, {"", 0, 0},
- {"not_eq", EQCOMPARE, NORID,},
- {"int", TYPESPEC, RID_INT,},
- {"__signed__", TYPESPEC, RID_SIGNED},
- {"template", TEMPLATE, RID_TEMPLATE,},
+ {"__restrict", CV_QUALIFIER, RID_RESTRICT},
+ {"xor", '^', NORID,},
+ {"__wchar_t", TYPESPEC, RID_WCHAR /* Unique to ANSI C++ */,},
+ {"new", NEW, NORID,},
+ {"__alignof__", ALIGNOF, NORID},
+ {"signed", TYPESPEC, RID_SIGNED,},
+ {"and", ANDAND, NORID,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"explicit", SCSPEC, RID_EXPLICIT,},
{"", 0, 0},
- {"signature", AGGR, RID_SIGNATURE /* Extension */,},
- {"register", SCSPEC, RID_REGISTER,},
- {"this", THIS, NORID,},
{"__imag__", IMAGPART, NORID},
- {"__attribute", ATTRIBUTE, NORID},
- {"bool", TYPESPEC, RID_BOOL,},
- {"__attribute__", ATTRIBUTE, NORID},
- {"for", FOR, NORID,},
- {"__imag", IMAGPART, NORID},
+ {"while", WHILE, NORID,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"do", DO, NORID,},
{"typename", TYPENAME_KEYWORD, NORID,},
- {"", 0, 0}, {"", 0, 0},
- {"delete", DELETE, NORID,},
+ {"friend", SCSPEC, RID_FRIEND,},
+ {"continue", CONTINUE, NORID,},
+ {"class", AGGR, RID_CLASS,},
+ {"default", DEFAULT, NORID,},
+ {"this", THIS, NORID,},
+ {"dynamic_cast", DYNAMIC_CAST, NORID,},
{"typeof", TYPEOF, NORID,},
- {"or", OROR, NORID,},
- {"", 0, 0},
- {"explicit", SCSPEC, RID_EXPLICIT,},
- {"", 0, 0},
- {"typeid", TYPEID, NORID,},
- {"", 0, 0}, {"", 0, 0},
+ {"virtual", SCSPEC, RID_VIRTUAL,},
{"export", SCSPEC, RID_EXPORT,},
- {"throw", THROW, NORID,},
- {"__asm", ASM_KEYWORD, NORID},
+ {"and_eq", ASSIGN, NORID,},
+ {"__typeof__", TYPEOF, NORID},
{"__const__", CV_QUALIFIER, RID_CONST},
{"__volatile", CV_QUALIFIER, RID_VOLATILE},
- {"__typeof__", TYPEOF, NORID},
+ {"short", TYPESPEC, RID_SHORT,},
{"__volatile__", CV_QUALIFIER, RID_VOLATILE},
{"__const", CV_QUALIFIER, RID_CONST},
- {"false", CXX_FALSE, NORID,},
- {"sizeof", SIZEOF, NORID,},
- {"", 0, 0}, {"", 0, 0},
- {"__complex", TYPESPEC, RID_COMPLEX},
- {"inline", SCSPEC, RID_INLINE,},
- {"__complex__", TYPESPEC, RID_COMPLEX},
- {"union", AGGR, RID_UNION,},
+ {"namespace", NAMESPACE, NORID,},
+ {"char", TYPESPEC, RID_CHAR,},
+ {"unsigned", TYPESPEC, RID_UNSIGNED,},
{"double", TYPESPEC, RID_DOUBLE,},
- {"", 0, 0},
- {"__alignof", ALIGNOF, NORID},
- {"", 0, 0}, {"", 0, 0},
- {"bitor", '|', NORID,},
{"or_eq", ASSIGN, NORID,},
+ {"__null", CONSTANT, RID_NULL},
{"if", IF, NORID,},
- {"", 0, 0},
- {"case", CASE, NORID,},
- {"", 0, 0},
- {"enum", ENUM, NORID,},
- {"signed", TYPESPEC, RID_SIGNED,},
- {"", 0, 0},
- {"__sigof__", SIGOF, NORID /* Extension */,},
- {"char", TYPESPEC, RID_CHAR,},
- {"", 0, 0}, {"", 0, 0},
- {"__signed", TYPESPEC, RID_SIGNED},
- {"namespace", NAMESPACE, NORID,},
+ {"__signature__", AGGR, RID_SIGNATURE /* Extension */,},
{"__label__", LABEL, NORID},
- {"volatile", CV_QUALIFIER, RID_VOLATILE,},
- {"protected", VISSPEC, RID_PROTECTED,},
- {"__wchar_t", TYPESPEC, RID_WCHAR /* Unique to ANSI C++ */,},
- {"", 0, 0}, {"", 0, 0},
- {"unsigned", TYPESPEC, RID_UNSIGNED,},
- {"continue", CONTINUE, NORID,},
- {"break", BREAK, NORID,},
- {"", 0, 0},
- {"friend", SCSPEC, RID_FRIEND,},
- {"and_eq", ASSIGN, NORID,},
- {"typedef", SCSPEC, RID_TYPEDEF,},
+ {"long", TYPESPEC, RID_LONG,},
+ {"__imag", IMAGPART, NORID},
+ {"__asm", ASM_KEYWORD, NORID},
{"", 0, 0},
- {"do", DO, NORID,},
- {"void", TYPESPEC, RID_VOID,},
+ {"__sigof__", SIGOF, NORID /* Extension */,},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"const", CV_QUALIFIER, RID_CONST,},
- {"static", SCSPEC, RID_STATIC,},
+ {"struct", AGGR, RID_RECORD,},
{"", 0, 0},
- {"__typeof", TYPEOF, NORID},
+ {"volatile", CV_QUALIFIER, RID_VOLATILE,},
+ {"false", CXX_FALSE, NORID,},
+ {"sizeof", SIZEOF, NORID,},
+ {"__complex__", TYPESPEC, RID_COMPLEX},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"goto", GOTO, NORID,},
+ {"for", FOR, NORID,},
+ {"or", OROR, NORID,},
+ {"register", SCSPEC, RID_REGISTER,},
+ {"throw", THROW, NORID,},
{"", 0, 0},
- {"asm", ASM_KEYWORD, NORID,},
- {"operator", OPERATOR, NORID,},
- {"__signature__", AGGR, RID_SIGNATURE /* Extension */,},
+ {"using", USING, NORID,},
+ {"", 0, 0}, {"", 0, 0},
+ {"__complex", TYPESPEC, RID_COMPLEX},
{"", 0, 0},
+ {"asm", ASM_KEYWORD, NORID,},
+ {"signature", AGGR, RID_SIGNATURE /* Extension */,},
+ {"enum", ENUM, NORID,},
+ {"reinterpret_cast", REINTERPRET_CAST, NORID,},
{"mutable", SCSPEC, RID_MUTABLE,},
- {"", 0, 0}, {"", 0, 0},
- {"sigof", SIGOF, NORID /* Extension */,},
- {"class", AGGR, RID_CLASS,},
- {"compl", '~', NORID,},
- {"public", VISSPEC, RID_PUBLIC,},
- {"and", ANDAND, NORID,},
- {"", 0, 0}, {"", 0, 0},
- {"float", TYPESPEC, RID_FLOAT,},
+ {"__alignof", ALIGNOF, NORID},
+ {"return", RETURN, NORID,},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"default", DEFAULT, NORID,},
+ {"", 0, 0},
+ {"float", TYPESPEC, RID_FLOAT,},
{"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
- {"", 0, 0}, {"", 0, 0},
+ {"bool", TYPESPEC, RID_BOOL,},
+ {"", 0, 0},
+ {"typedef", SCSPEC, RID_TYPEDEF,},
+ {"__typeof", TYPEOF, NORID},
{"bitand", '&', NORID,},
+ {"break", BREAK, NORID,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"union", AGGR, RID_UNION,},
{"", 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},
- {"catch", CATCH, NORID,},
+ {"goto", GOTO, NORID,},
+ {"sigof", SIGOF, NORID /* Extension */,},
{"", 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},
- {"auto", SCSPEC, RID_AUTO,},
{"", 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},
- {"const_cast", CONST_CAST, NORID,},
+ {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0}, {"", 0, 0},
+ {"bitor", '|', NORID,},
+ {"auto", SCSPEC, RID_AUTO,},
{"", 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},
- {"dynamic_cast", DYNAMIC_CAST, NORID,}
+ {"operator", OPERATOR, NORID,}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 87c4a59..82e616f 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1057,7 +1057,7 @@ expand_aggr_init (exp, init, flags)
/* Must arrange to initialize each element of EXP
from elements of INIT. */
tree itype = init ? TREE_TYPE (init) : NULL_TREE;
- if (TYPE_READONLY (TREE_TYPE (type)) || TYPE_VOLATILE (TREE_TYPE (type)))
+ if (CP_TYPE_QUALS (type) != TYPE_UNQUALIFIED)
{
TREE_TYPE (exp) = TYPE_MAIN_VARIANT (type);
if (init)
@@ -1424,8 +1424,7 @@ build_member_call (type, name, parmlist)
tree oldtype = TREE_TYPE (TREE_TYPE (olddecl));
if (oldtype != type)
{
- tree newtype = build_type_variant (type, TYPE_READONLY (oldtype),
- TYPE_VOLATILE (oldtype));
+ tree newtype = build_qualified_type (type, TYPE_QUALS (oldtype));
decl = convert_force (build_pointer_type (newtype), olddecl, 0);
decl = build_indirect_ref (decl, NULL_PTR);
}
@@ -2143,7 +2142,7 @@ build_new_1 (exp)
}
true_type = type;
- if (TYPE_READONLY (type) || TYPE_VOLATILE (type))
+ if (CP_TYPE_QUALS (type))
type = TYPE_MAIN_VARIANT (type);
/* If our base type is an array, then make sure we know how many elements
@@ -2345,11 +2344,11 @@ build_new_1 (exp)
allow the expression to be non-const while we do the
initialization. */
deref_type = TREE_TYPE (deref);
- if (TYPE_READONLY (deref_type))
+ if (CP_TYPE_CONST_P (deref_type))
TREE_TYPE (deref)
- = cp_build_type_variant (deref_type,
- /*constp=*/0,
- TYPE_VOLATILE (deref_type));
+ = cp_build_qualified_type (deref_type,
+ CP_TYPE_QUALS (deref_type)
+ & ~TYPE_QUAL_CONST);
TREE_READONLY (deref) = 0;
if (TREE_CHAIN (init) != NULL_TREE)
@@ -2469,7 +2468,7 @@ build_new_1 (exp)
}
}
}
- else if (TYPE_READONLY (true_type))
+ else if (CP_TYPE_CONST_P (true_type))
cp_error ("uninitialized const in `new' of `%#T'", true_type);
done:
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 3f0ab47..e081663 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -702,6 +702,9 @@ init_parse (filename)
ridpointers[(int) RID_VOLATILE] = get_identifier ("volatile");
SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_VOLATILE],
build_tree_list (NULL_TREE, ridpointers[(int) RID_VOLATILE]));
+ ridpointers[(int) RID_RESTRICT] = get_identifier ("__restrict");
+ SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_RESTRICT],
+ build_tree_list (NULL_TREE, ridpointers[(int) RID_RESTRICT]));
ridpointers[(int) RID_AUTO] = get_identifier ("auto");
SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_AUTO],
build_tree_list (NULL_TREE, ridpointers[(int) RID_AUTO]));
@@ -1984,7 +1987,7 @@ cons_up_default_function (type, full_name, kind)
break;
case 3:
- type = build_type_variant (type, 1, 0);
+ type = build_qualified_type (type, TYPE_QUAL_CONST);
/* Fall through... */
case 4:
/* According to ARM $12.8, the default copy ctor will be declared, but
@@ -2002,7 +2005,7 @@ cons_up_default_function (type, full_name, kind)
declspecs = build_decl_list (NULL_TREE, type);
if (kind == 5)
- type = build_type_variant (type, 1, 0);
+ type = build_qualified_type (type, TYPE_QUAL_CONST);
name = ansi_opname [(int) MODIFY_EXPR];
@@ -4934,6 +4937,25 @@ handle_cp_pragma (pname)
return 0;
}
+
+/* Return the type-qualifier corresponding to the identifier given by
+ RID. */
+
+int
+cp_type_qual_from_rid (rid)
+ tree rid;
+{
+ if (rid == ridpointers[(int) RID_CONST])
+ return TYPE_QUAL_CONST;
+ else if (rid == ridpointers[(int) RID_VOLATILE])
+ return TYPE_QUAL_VOLATILE;
+ else if (rid == ridpointers[(int) RID_RESTRICT])
+ return TYPE_QUAL_RESTRICT;
+
+ my_friendly_abort (0);
+ return TYPE_UNQUALIFIED;
+}
+
#ifdef HANDLE_GENERIC_PRAGMAS
diff --git a/gcc/cp/lex.h b/gcc/cp/lex.h
index 98add36..ec08f39 100644
--- a/gcc/cp/lex.h
+++ b/gcc/cp/lex.h
@@ -64,6 +64,7 @@ enum rid
RID_AUTO,
RID_MUTABLE,
RID_COMPLEX,
+ RID_RESTRICT,
/* This is where grokdeclarator ends its search when setting the
specbits. */
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 6d31ce4..f738124 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1163,7 +1163,10 @@ void
process_modifiers (parmtype)
tree parmtype;
{
- if (TREE_READONLY (parmtype))
+ /* Note that here we do not use CP_TYPE_CONST_P and friends because
+ we describe types recursively; we will get the `const' in
+ `const int ()[10]' when processing the `const int' part. */
+ if (TYPE_READONLY (parmtype))
OB_PUTC ('C');
if (TREE_CODE (parmtype) == INTEGER_TYPE
&& (TYPE_MAIN_VARIANT (parmtype)
@@ -1172,6 +1175,10 @@ process_modifiers (parmtype)
OB_PUTC ('U');
if (TYPE_VOLATILE (parmtype))
OB_PUTC ('V');
+ /* It would be better to use `R' for `restrict', but that's already
+ used for reference types. And `r' is used for `long double'. */
+ if (TYPE_RESTRICT (parmtype))
+ OB_PUTC ('u');
}
/* Check to see if TYPE has been entered into the Bcode typelist. If
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c
index f7bfb10..fb1d896 100644
--- a/gcc/cp/parse.c
+++ b/gcc/cp/parse.c
@@ -215,11 +215,11 @@ parse_decl(declarator, specs_attrs, attributes, initialized, decl)
-#define YYFINAL 1624
+#define YYFINAL 1625
#define YYFLAG -32768
#define YYNTBASE 112
-#define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 398)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -311,44 +311,44 @@ static const short yyprhs[] = { 0,
1568, 1575, 1579, 1582, 1585, 1588, 1589, 1590, 1600, 1602,
1603, 1605, 1606, 1608, 1610, 1613, 1616, 1619, 1622, 1625,
1628, 1631, 1634, 1637, 1641, 1646, 1650, 1653, 1657, 1659,
- 1660, 1664, 1667, 1670, 1672, 1674, 1675, 1678, 1682, 1684,
- 1689, 1691, 1695, 1697, 1699, 1704, 1709, 1712, 1715, 1719,
- 1723, 1725, 1726, 1728, 1731, 1735, 1738, 1741, 1743, 1746,
- 1749, 1752, 1755, 1758, 1761, 1764, 1766, 1769, 1772, 1776,
- 1779, 1782, 1787, 1792, 1795, 1797, 1803, 1808, 1810, 1811,
- 1813, 1817, 1818, 1820, 1824, 1826, 1828, 1830, 1832, 1837,
- 1842, 1847, 1852, 1857, 1861, 1866, 1871, 1876, 1881, 1885,
- 1887, 1891, 1893, 1897, 1900, 1902, 1910, 1911, 1914, 1916,
- 1919, 1920, 1923, 1928, 1933, 1936, 1941, 1945, 1949, 1952,
- 1955, 1959, 1961, 1963, 1966, 1968, 1970, 1973, 1976, 1981,
- 1986, 1990, 1994, 1997, 1999, 2001, 2004, 2008, 2012, 2015,
- 2018, 2022, 2024, 2028, 2032, 2035, 2038, 2042, 2044, 2049,
- 2053, 2058, 2062, 2064, 2067, 2070, 2073, 2076, 2079, 2081,
- 2084, 2089, 2094, 2097, 2099, 2101, 2103, 2105, 2108, 2113,
- 2116, 2119, 2122, 2125, 2127, 2130, 2133, 2136, 2139, 2143,
- 2145, 2148, 2152, 2157, 2160, 2163, 2166, 2169, 2172, 2175,
- 2180, 2183, 2185, 2188, 2191, 2195, 2197, 2201, 2204, 2208,
- 2211, 2214, 2218, 2220, 2224, 2229, 2233, 2236, 2239, 2241,
- 2245, 2248, 2251, 2253, 2256, 2260, 2262, 2266, 2268, 2275,
- 2280, 2285, 2289, 2295, 2299, 2303, 2307, 2310, 2312, 2314,
- 2317, 2320, 2323, 2324, 2326, 2328, 2331, 2335, 2337, 2340,
- 2341, 2345, 2346, 2347, 2353, 2355, 2356, 2359, 2361, 2363,
- 2365, 2368, 2369, 2374, 2376, 2377, 2378, 2384, 2385, 2386,
- 2394, 2395, 2396, 2397, 2398, 2411, 2412, 2413, 2421, 2422,
- 2428, 2429, 2437, 2438, 2443, 2446, 2449, 2452, 2456, 2463,
- 2472, 2483, 2496, 2501, 2505, 2508, 2511, 2513, 2515, 2517,
- 2519, 2521, 2522, 2523, 2530, 2531, 2532, 2538, 2540, 2543,
- 2544, 2545, 2551, 2553, 2555, 2559, 2563, 2566, 2569, 2572,
- 2575, 2578, 2580, 2583, 2584, 2586, 2587, 2589, 2591, 2592,
- 2594, 2596, 2600, 2605, 2607, 2611, 2612, 2614, 2616, 2618,
- 2621, 2624, 2627, 2629, 2632, 2635, 2636, 2640, 2642, 2644,
- 2646, 2649, 2652, 2655, 2660, 2663, 2666, 2669, 2672, 2675,
- 2678, 2680, 2683, 2685, 2688, 2690, 2692, 2693, 2694, 2696,
- 2697, 2702, 2705, 2707, 2709, 2713, 2714, 2718, 2722, 2726,
- 2728, 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752, 2755,
- 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785,
- 2788, 2791, 2794, 2797, 2801, 2804, 2807, 2810, 2813, 2817,
- 2820, 2823, 2828, 2833, 2837
+ 1660, 1664, 1665, 1669, 1672, 1674, 1676, 1677, 1680, 1684,
+ 1686, 1691, 1693, 1697, 1699, 1701, 1706, 1711, 1714, 1717,
+ 1721, 1725, 1727, 1728, 1730, 1733, 1737, 1740, 1743, 1745,
+ 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1768, 1771, 1774,
+ 1778, 1781, 1784, 1789, 1794, 1797, 1799, 1805, 1810, 1812,
+ 1813, 1815, 1819, 1820, 1822, 1826, 1828, 1830, 1832, 1834,
+ 1839, 1844, 1849, 1854, 1859, 1863, 1868, 1873, 1878, 1883,
+ 1887, 1889, 1893, 1895, 1899, 1902, 1904, 1912, 1913, 1916,
+ 1918, 1921, 1922, 1925, 1930, 1935, 1938, 1943, 1947, 1951,
+ 1954, 1957, 1961, 1963, 1965, 1968, 1970, 1972, 1975, 1978,
+ 1983, 1988, 1992, 1996, 1999, 2001, 2003, 2006, 2010, 2014,
+ 2017, 2020, 2024, 2026, 2030, 2034, 2037, 2040, 2044, 2046,
+ 2051, 2055, 2060, 2064, 2066, 2069, 2072, 2075, 2078, 2081,
+ 2083, 2086, 2091, 2096, 2099, 2101, 2103, 2105, 2107, 2110,
+ 2115, 2118, 2121, 2124, 2127, 2129, 2132, 2135, 2138, 2141,
+ 2145, 2147, 2150, 2154, 2159, 2162, 2165, 2168, 2171, 2174,
+ 2177, 2182, 2185, 2187, 2190, 2193, 2197, 2199, 2203, 2206,
+ 2210, 2213, 2216, 2220, 2222, 2226, 2231, 2235, 2238, 2241,
+ 2243, 2247, 2250, 2253, 2255, 2258, 2262, 2264, 2268, 2270,
+ 2277, 2282, 2287, 2291, 2297, 2301, 2305, 2309, 2312, 2314,
+ 2316, 2319, 2322, 2325, 2326, 2328, 2330, 2333, 2337, 2339,
+ 2342, 2343, 2347, 2348, 2349, 2355, 2357, 2358, 2361, 2363,
+ 2365, 2367, 2370, 2371, 2376, 2378, 2379, 2380, 2386, 2387,
+ 2388, 2396, 2397, 2398, 2399, 2400, 2413, 2414, 2415, 2423,
+ 2424, 2430, 2431, 2439, 2440, 2445, 2448, 2451, 2454, 2458,
+ 2465, 2474, 2485, 2498, 2503, 2507, 2510, 2513, 2515, 2517,
+ 2519, 2521, 2523, 2524, 2525, 2532, 2533, 2534, 2540, 2542,
+ 2545, 2546, 2547, 2553, 2555, 2557, 2561, 2565, 2568, 2571,
+ 2574, 2577, 2580, 2582, 2585, 2586, 2588, 2589, 2591, 2593,
+ 2594, 2596, 2598, 2602, 2607, 2609, 2613, 2614, 2616, 2618,
+ 2620, 2623, 2626, 2629, 2631, 2634, 2637, 2638, 2642, 2644,
+ 2646, 2648, 2651, 2654, 2657, 2662, 2665, 2668, 2671, 2674,
+ 2677, 2680, 2682, 2685, 2687, 2690, 2692, 2694, 2695, 2696,
+ 2698, 2699, 2704, 2707, 2709, 2711, 2715, 2716, 2720, 2724,
+ 2728, 2730, 2733, 2736, 2739, 2742, 2745, 2748, 2751, 2754,
+ 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784,
+ 2787, 2790, 2793, 2796, 2799, 2803, 2806, 2809, 2812, 2815,
+ 2819, 2822, 2825, 2830, 2835, 2839
};
static const short yyrhs[] = { -1,
@@ -360,16 +360,16 @@ static const short yyrhs[] = { -1,
0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
- 126, 132, 60, 0, 46, 312, 0, 46, 326, 312,
- 0, 46, 326, 208, 0, 46, 131, 163, 0, 46,
- 326, 163, 0, 46, 326, 131, 163, 0, 0, 46,
+ 126, 132, 60, 0, 46, 313, 0, 46, 327, 313,
+ 0, 46, 327, 208, 0, 46, 131, 163, 0, 46,
+ 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
- 54, 0, 208, 0, 312, 0, 326, 312, 0, 326,
+ 54, 0, 208, 0, 313, 0, 327, 313, 0, 327,
208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
136, 59, 140, 0, 163, 0, 0, 267, 137, 0,
45, 137, 0, 134, 267, 137, 0, 138, 0, 138,
- 64, 224, 0, 389, 0, 389, 64, 203, 0, 139,
+ 64, 224, 0, 390, 0, 390, 64, 203, 0, 139,
0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
@@ -379,33 +379,33 @@ static const short yyrhs[] = { -1,
166, 60, 0, 225, 60, 0, 1, 60, 0, 1,
109, 0, 60, 0, 219, 0, 159, 0, 0, 158,
0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
- 336, 0, 154, 146, 360, 0, 154, 146, 1, 0,
- 0, 317, 5, 93, 150, 380, 108, 298, 392, 0,
- 317, 5, 47, 298, 392, 0, 0, 326, 317, 5,
- 93, 151, 380, 108, 298, 392, 0, 326, 317, 5,
- 47, 298, 392, 0, 0, 317, 178, 93, 152, 380,
- 108, 298, 392, 0, 317, 178, 47, 298, 392, 0,
- 0, 326, 317, 178, 93, 153, 380, 108, 298, 392,
- 0, 326, 317, 178, 47, 298, 392, 0, 225, 222,
- 0, 228, 309, 0, 309, 0, 228, 149, 0, 149,
- 0, 5, 93, 380, 108, 298, 392, 0, 5, 47,
- 298, 392, 0, 178, 93, 380, 108, 298, 392, 0,
- 178, 47, 298, 392, 0, 228, 155, 0, 155, 0,
- 225, 222, 0, 228, 309, 0, 309, 0, 228, 149,
+ 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
+ 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
+ 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
+ 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
+ 47, 299, 393, 0, 0, 318, 178, 93, 152, 381,
+ 108, 299, 393, 0, 318, 178, 47, 299, 393, 0,
+ 0, 327, 318, 178, 93, 153, 381, 108, 299, 393,
+ 0, 327, 318, 178, 47, 299, 393, 0, 225, 222,
+ 0, 228, 310, 0, 310, 0, 228, 149, 0, 149,
+ 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
+ 299, 393, 0, 178, 93, 381, 108, 299, 393, 0,
+ 178, 47, 299, 393, 0, 228, 155, 0, 155, 0,
+ 225, 222, 0, 228, 310, 0, 310, 0, 228, 149,
0, 149, 0, 25, 3, 0, 157, 252, 0, 157,
93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
- 195, 108, 0, 164, 47, 0, 304, 93, 195, 108,
- 0, 304, 47, 0, 319, 93, 195, 108, 0, 319,
+ 195, 108, 0, 164, 47, 0, 305, 93, 195, 108,
+ 0, 305, 47, 0, 320, 93, 195, 108, 0, 320,
47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
103, 0, 105, 0, 0, 48, 175, 231, 60, 167,
176, 0, 0, 48, 175, 225, 222, 168, 176, 0,
- 0, 48, 175, 309, 169, 176, 0, 0, 48, 175,
+ 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
149, 170, 176, 0, 0, 7, 48, 175, 231, 60,
171, 176, 0, 0, 7, 48, 175, 225, 222, 172,
- 176, 0, 0, 7, 48, 175, 309, 173, 176, 0,
+ 176, 0, 0, 7, 48, 175, 310, 173, 176, 0,
0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
@@ -414,17 +414,17 @@ static const short yyrhs[] = { -1,
79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
- 0, 0, 370, 222, 236, 245, 64, 190, 253, 0,
- 185, 0, 109, 0, 333, 331, 109, 0, 333, 331,
- 1, 109, 0, 333, 1, 109, 0, 0, 58, 193,
- 191, 0, 345, 0, 203, 59, 203, 0, 203, 59,
+ 0, 0, 371, 222, 236, 245, 64, 190, 253, 0,
+ 185, 0, 109, 0, 334, 332, 109, 0, 334, 332,
+ 1, 109, 0, 334, 1, 109, 0, 0, 58, 193,
+ 191, 0, 346, 0, 203, 59, 203, 0, 203, 59,
1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
203, 0, 194, 0, 213, 0, 118, 202, 0, 80,
202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
0, 67, 163, 0, 13, 196, 0, 13, 93, 224,
108, 0, 29, 196, 0, 29, 93, 224, 108, 0,
- 215, 297, 0, 215, 297, 200, 0, 215, 199, 297,
- 0, 215, 199, 297, 200, 0, 215, 93, 198, 224,
+ 215, 298, 0, 215, 298, 200, 0, 215, 199, 298,
+ 0, 215, 199, 298, 200, 0, 215, 93, 198, 224,
197, 0, 215, 93, 198, 224, 197, 200, 0, 215,
199, 93, 198, 224, 197, 0, 215, 199, 93, 198,
224, 197, 200, 0, 216, 202, 0, 216, 94, 111,
@@ -442,58 +442,58 @@ static const short yyrhs[] = { -1,
203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
- 375, 62, 203, 0, 203, 64, 203, 0, 203, 63,
- 203, 0, 61, 0, 61, 203, 0, 88, 390, 163,
- 0, 88, 390, 177, 0, 206, 0, 397, 0, 3,
+ 376, 62, 203, 0, 203, 64, 203, 0, 203, 63,
+ 203, 0, 61, 0, 61, 203, 0, 88, 391, 163,
+ 0, 88, 391, 177, 0, 206, 0, 398, 0, 3,
0, 56, 0, 57, 0, 0, 6, 74, 205, 181,
- 180, 0, 397, 74, 205, 181, 180, 0, 48, 163,
+ 180, 0, 398, 74, 205, 181, 180, 0, 48, 163,
74, 181, 180, 0, 48, 6, 74, 181, 180, 0,
- 48, 397, 74, 181, 180, 0, 204, 0, 4, 0,
+ 48, 398, 74, 181, 180, 0, 204, 0, 4, 0,
5, 0, 210, 0, 246, 210, 0, 204, 0, 80,
209, 0, 70, 209, 0, 93, 209, 108, 0, 3,
- 74, 181, 180, 0, 57, 74, 182, 180, 0, 311,
+ 74, 181, 180, 0, 57, 74, 182, 180, 0, 312,
0, 204, 0, 211, 0, 93, 209, 108, 0, 204,
0, 10, 0, 217, 0, 218, 0, 93, 185, 108,
0, 93, 209, 108, 0, 93, 1, 108, 0, 0,
- 93, 214, 337, 108, 0, 204, 93, 195, 108, 0,
+ 93, 214, 338, 108, 0, 204, 93, 195, 108, 0,
204, 47, 0, 213, 93, 195, 108, 0, 213, 47,
0, 213, 94, 185, 111, 0, 213, 86, 0, 213,
- 87, 0, 40, 0, 9, 93, 195, 108, 0, 315,
+ 87, 0, 40, 0, 9, 93, 195, 108, 0, 316,
0, 50, 74, 224, 75, 93, 185, 108, 0, 51,
74, 224, 75, 93, 185, 108, 0, 52, 74, 224,
75, 93, 185, 108, 0, 53, 74, 224, 75, 93,
185, 108, 0, 49, 93, 185, 108, 0, 49, 93,
- 224, 108, 0, 326, 3, 0, 326, 206, 0, 326,
- 397, 0, 314, 0, 314, 93, 195, 108, 0, 314,
+ 224, 108, 0, 327, 3, 0, 327, 206, 0, 327,
+ 398, 0, 315, 0, 315, 93, 195, 108, 0, 315,
47, 0, 220, 207, 0, 220, 207, 93, 195, 108,
- 0, 220, 207, 47, 0, 220, 208, 0, 220, 314,
+ 0, 220, 207, 47, 0, 220, 208, 0, 220, 315,
0, 220, 208, 93, 195, 108, 0, 220, 208, 47,
- 0, 220, 314, 93, 195, 108, 0, 220, 314, 47,
+ 0, 220, 315, 93, 195, 108, 0, 220, 315, 47,
0, 220, 88, 8, 47, 0, 220, 8, 54, 88,
- 8, 47, 0, 220, 1, 0, 39, 0, 326, 39,
- 0, 38, 0, 326, 216, 0, 42, 0, 43, 0,
+ 8, 47, 0, 220, 1, 0, 39, 0, 327, 39,
+ 0, 38, 0, 327, 216, 0, 42, 0, 43, 0,
11, 0, 218, 11, 0, 0, 213, 92, 0, 213,
91, 0, 231, 233, 60, 0, 225, 233, 60, 0,
228, 234, 60, 0, 225, 60, 0, 228, 60, 0,
- 118, 221, 0, 303, 0, 309, 0, 47, 0, 223,
- 47, 0, 229, 329, 0, 299, 329, 0, 231, 329,
- 0, 229, 0, 299, 0, 229, 0, 226, 0, 228,
+ 118, 221, 0, 304, 0, 310, 0, 47, 0, 223,
+ 47, 0, 229, 330, 0, 300, 330, 0, 231, 330,
+ 0, 229, 0, 300, 0, 229, 0, 226, 0, 228,
231, 0, 231, 227, 0, 231, 230, 227, 0, 228,
231, 227, 0, 228, 231, 230, 0, 228, 231, 230,
227, 0, 7, 0, 227, 232, 0, 227, 7, 0,
- 227, 246, 0, 246, 0, 299, 0, 7, 0, 228,
+ 227, 246, 0, 246, 0, 300, 0, 7, 0, 228,
9, 0, 228, 7, 0, 228, 246, 0, 246, 0,
- 231, 0, 299, 231, 0, 231, 230, 0, 299, 231,
+ 231, 0, 300, 231, 0, 231, 230, 0, 300, 231,
230, 0, 232, 0, 230, 232, 0, 260, 0, 8,
- 0, 305, 0, 28, 93, 185, 108, 0, 28, 93,
+ 0, 306, 0, 28, 93, 185, 108, 0, 28, 93,
224, 108, 0, 30, 93, 185, 108, 0, 30, 93,
224, 108, 0, 8, 0, 9, 0, 260, 0, 241,
0, 233, 59, 237, 0, 242, 0, 234, 59, 237,
0, 243, 0, 235, 59, 237, 0, 0, 119, 93,
218, 108, 0, 0, 222, 236, 245, 64, 238, 253,
0, 222, 236, 245, 0, 0, 245, 64, 240, 253,
- 0, 245, 0, 222, 236, 239, 0, 309, 236, 239,
- 0, 0, 309, 236, 244, 239, 0, 149, 236, 245,
+ 0, 245, 0, 222, 236, 239, 0, 310, 236, 239,
+ 0, 0, 310, 236, 244, 239, 0, 149, 236, 245,
0, 0, 246, 0, 247, 0, 246, 247, 0, 31,
93, 93, 248, 108, 108, 0, 249, 0, 248, 59,
249, 0, 0, 250, 0, 250, 93, 3, 108, 0,
@@ -504,138 +504,139 @@ static const short yyrhs[] = { -1,
254, 59, 109, 0, 1, 0, 253, 0, 254, 59,
253, 0, 94, 203, 111, 253, 0, 163, 62, 253,
0, 254, 59, 163, 62, 253, 0, 97, 0, 255,
- 146, 145, 336, 0, 255, 146, 360, 0, 255, 146,
+ 146, 145, 337, 0, 255, 146, 361, 0, 255, 146,
1, 0, 0, 257, 256, 147, 0, 102, 203, 107,
0, 102, 1, 107, 0, 0, 259, 258, 0, 259,
- 1, 0, 0, 14, 163, 58, 261, 295, 266, 109,
+ 1, 0, 0, 14, 163, 58, 261, 296, 266, 109,
0, 14, 163, 58, 109, 0, 0, 14, 58, 262,
- 295, 266, 109, 0, 14, 58, 109, 0, 14, 163,
- 0, 14, 324, 0, 45, 319, 0, 0, 0, 274,
- 280, 282, 109, 245, 263, 259, 264, 257, 0, 274,
+ 296, 266, 109, 0, 14, 58, 109, 0, 14, 163,
+ 0, 14, 325, 0, 45, 320, 0, 0, 0, 275,
+ 281, 283, 109, 245, 263, 259, 264, 257, 0, 275,
0, 0, 59, 0, 0, 59, 0, 36, 0, 267,
7, 0, 267, 8, 0, 267, 9, 0, 267, 36,
0, 267, 246, 0, 267, 163, 0, 267, 165, 0,
- 268, 58, 0, 268, 62, 0, 267, 317, 163, 0,
- 267, 326, 317, 163, 0, 267, 326, 163, 0, 267,
- 177, 0, 267, 317, 177, 0, 268, 0, 0, 269,
- 272, 275, 0, 270, 275, 0, 267, 58, 0, 273,
- 0, 271, 0, 0, 62, 390, 0, 62, 390, 276,
- 0, 277, 0, 276, 59, 390, 277, 0, 278, 0,
- 279, 390, 278, 0, 319, 0, 304, 0, 30, 93,
- 185, 108, 0, 30, 93, 224, 108, 0, 37, 390,
- 0, 7, 390, 0, 279, 37, 390, 0, 279, 7,
- 390, 0, 58, 0, 0, 281, 0, 281, 284, 0,
- 282, 283, 284, 0, 282, 283, 0, 37, 62, 0,
- 285, 0, 284, 285, 0, 286, 60, 0, 286, 109,
- 0, 156, 62, 0, 156, 95, 0, 156, 25, 0,
- 156, 58, 0, 60, 0, 118, 285, 0, 134, 285,
- 0, 134, 225, 60, 0, 225, 287, 0, 228, 288,
- 0, 309, 236, 245, 252, 0, 149, 236, 245, 252,
- 0, 62, 203, 0, 1, 0, 228, 155, 236, 245,
- 252, 0, 155, 236, 245, 252, 0, 127, 0, 0,
- 289, 0, 287, 59, 290, 0, 0, 292, 0, 288,
- 59, 294, 0, 291, 0, 292, 0, 293, 0, 294,
- 0, 303, 236, 245, 252, 0, 4, 62, 203, 245,
- 0, 309, 236, 245, 252, 0, 149, 236, 245, 252,
- 0, 3, 62, 203, 245, 0, 62, 203, 245, 0,
- 303, 236, 245, 252, 0, 4, 62, 203, 245, 0,
- 309, 236, 245, 252, 0, 3, 62, 203, 245, 0,
- 62, 203, 245, 0, 296, 0, 295, 59, 296, 0,
- 163, 0, 163, 64, 203, 0, 370, 327, 0, 370,
- 0, 93, 198, 224, 197, 94, 185, 111, 0, 0,
- 298, 9, 0, 9, 0, 299, 9, 0, 0, 300,
- 185, 0, 300, 93, 195, 108, 0, 300, 93, 380,
- 108, 0, 300, 47, 0, 300, 93, 1, 108, 0,
- 80, 299, 303, 0, 70, 299, 303, 0, 80, 303,
- 0, 70, 303, 0, 325, 298, 303, 0, 307, 0,
- 316, 0, 326, 316, 0, 304, 0, 306, 0, 326,
- 306, 0, 317, 316, 0, 307, 302, 298, 392, 0,
- 307, 94, 301, 111, 0, 307, 94, 111, 0, 93,
- 303, 108, 0, 317, 316, 0, 316, 0, 309, 0,
- 246, 309, 0, 80, 299, 308, 0, 70, 299, 308,
- 0, 80, 308, 0, 70, 308, 0, 325, 298, 308,
- 0, 212, 0, 80, 299, 308, 0, 70, 299, 308,
- 0, 80, 310, 0, 70, 310, 0, 325, 298, 308,
- 0, 311, 0, 212, 302, 298, 392, 0, 93, 310,
- 108, 0, 212, 94, 301, 111, 0, 212, 94, 111,
- 0, 313, 0, 317, 211, 0, 317, 208, 0, 317,
- 207, 0, 317, 204, 0, 317, 207, 0, 313, 0,
- 326, 313, 0, 231, 93, 195, 108, 0, 231, 93,
- 209, 108, 0, 231, 223, 0, 4, 0, 5, 0,
- 177, 0, 318, 0, 317, 318, 0, 317, 48, 323,
- 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
- 0, 177, 54, 0, 320, 0, 326, 320, 0, 321,
- 163, 0, 321, 177, 0, 321, 323, 0, 321, 48,
- 323, 0, 322, 0, 321, 322, 0, 321, 323, 54,
- 0, 321, 48, 323, 54, 0, 4, 54, 0, 5,
- 54, 0, 177, 54, 0, 56, 54, 0, 3, 54,
- 0, 57, 54, 0, 163, 74, 181, 180, 0, 326,
- 316, 0, 306, 0, 326, 306, 0, 317, 80, 0,
- 326, 317, 80, 0, 54, 0, 80, 298, 327, 0,
- 80, 298, 0, 70, 298, 327, 0, 70, 298, 0,
- 325, 298, 0, 325, 298, 327, 0, 328, 0, 94,
- 185, 111, 0, 328, 94, 301, 111, 0, 80, 299,
- 329, 0, 80, 329, 0, 80, 299, 0, 80, 0,
- 70, 299, 329, 0, 70, 329, 0, 70, 299, 0,
- 70, 0, 325, 298, 0, 325, 298, 329, 0, 330,
- 0, 93, 329, 108, 0, 90, 0, 330, 93, 380,
- 108, 298, 392, 0, 330, 47, 298, 392, 0, 330,
- 94, 301, 111, 0, 330, 94, 111, 0, 93, 381,
- 108, 298, 392, 0, 201, 298, 392, 0, 223, 298,
- 392, 0, 94, 301, 111, 0, 94, 111, 0, 344,
- 0, 332, 0, 331, 344, 0, 331, 332, 0, 1,
- 60, 0, 0, 334, 0, 335, 0, 334, 335, 0,
- 33, 251, 60, 0, 337, 0, 1, 337, 0, 0,
- 58, 338, 191, 0, 0, 0, 15, 340, 187, 341,
- 342, 0, 337, 0, 0, 343, 345, 0, 337, 0,
- 345, 0, 221, 0, 185, 60, 0, 0, 339, 16,
- 346, 342, 0, 339, 0, 0, 0, 17, 347, 187,
- 348, 192, 0, 0, 0, 18, 349, 342, 17, 350,
- 186, 60, 0, 0, 0, 0, 0, 19, 351, 93,
- 373, 352, 188, 60, 353, 375, 108, 354, 192, 0,
- 0, 0, 20, 355, 93, 189, 108, 356, 342, 0,
- 0, 21, 203, 62, 357, 344, 0, 0, 21, 203,
- 12, 203, 62, 358, 344, 0, 0, 22, 62, 359,
- 344, 0, 23, 60, 0, 24, 60, 0, 25, 60,
- 0, 25, 185, 60, 0, 119, 374, 93, 218, 108,
- 60, 0, 119, 374, 93, 218, 62, 376, 108, 60,
- 0, 119, 374, 93, 218, 62, 376, 62, 376, 108,
- 60, 0, 119, 374, 93, 218, 62, 376, 62, 376,
- 62, 379, 108, 60, 0, 26, 80, 185, 60, 0,
- 26, 163, 60, 0, 372, 344, 0, 372, 109, 0,
- 60, 0, 363, 0, 129, 0, 128, 0, 125, 0,
- 0, 0, 95, 361, 145, 337, 362, 366, 0, 0,
- 0, 95, 364, 337, 365, 366, 0, 367, 0, 366,
- 367, 0, 0, 0, 96, 368, 371, 369, 337, 0,
- 229, 0, 299, 0, 93, 12, 108, 0, 93, 389,
- 108, 0, 3, 62, 0, 56, 62, 0, 4, 62,
- 0, 5, 62, 0, 375, 60, 0, 221, 0, 58,
- 191, 0, 0, 9, 0, 0, 185, 0, 1, 0,
- 0, 377, 0, 378, 0, 377, 59, 378, 0, 11,
- 93, 185, 108, 0, 11, 0, 379, 59, 11, 0,
- 0, 381, 0, 224, 0, 385, 0, 386, 12, 0,
- 385, 12, 0, 224, 12, 0, 12, 0, 385, 62,
- 0, 224, 62, 0, 0, 64, 383, 384, 0, 101,
- 0, 253, 0, 387, 0, 389, 382, 0, 386, 388,
- 0, 386, 391, 0, 386, 391, 64, 253, 0, 385,
- 59, 0, 224, 59, 0, 226, 222, 0, 229, 222,
- 0, 231, 222, 0, 226, 329, 0, 226, 0, 228,
- 309, 0, 389, 0, 389, 382, 0, 387, 0, 224,
- 0, 0, 0, 309, 0, 0, 61, 93, 394, 108,
- 0, 61, 47, 0, 224, 0, 393, 0, 394, 59,
- 393, 0, 0, 80, 298, 395, 0, 70, 298, 395,
- 0, 325, 298, 395, 0, 41, 0, 396, 80, 0,
- 396, 81, 0, 396, 82, 0, 396, 78, 0, 396,
- 79, 0, 396, 70, 0, 396, 68, 0, 396, 69,
- 0, 396, 88, 0, 396, 59, 0, 396, 73, 0,
- 396, 74, 0, 396, 75, 0, 396, 72, 0, 396,
- 63, 0, 396, 64, 0, 396, 76, 0, 396, 77,
- 0, 396, 86, 0, 396, 87, 0, 396, 67, 0,
- 396, 66, 0, 396, 110, 0, 396, 65, 62, 0,
- 396, 71, 0, 396, 91, 0, 396, 83, 0, 396,
- 47, 0, 396, 94, 111, 0, 396, 39, 0, 396,
- 38, 0, 396, 39, 94, 111, 0, 396, 38, 94,
- 111, 0, 396, 370, 395, 0, 396, 1, 0
+ 268, 58, 0, 268, 62, 0, 267, 318, 163, 0,
+ 267, 327, 318, 163, 0, 267, 327, 163, 0, 267,
+ 177, 0, 267, 318, 177, 0, 268, 0, 0, 269,
+ 272, 276, 0, 0, 270, 273, 276, 0, 267, 58,
+ 0, 274, 0, 271, 0, 0, 62, 391, 0, 62,
+ 391, 277, 0, 278, 0, 277, 59, 391, 278, 0,
+ 279, 0, 280, 391, 279, 0, 320, 0, 305, 0,
+ 30, 93, 185, 108, 0, 30, 93, 224, 108, 0,
+ 37, 391, 0, 7, 391, 0, 280, 37, 391, 0,
+ 280, 7, 391, 0, 58, 0, 0, 282, 0, 282,
+ 285, 0, 283, 284, 285, 0, 283, 284, 0, 37,
+ 62, 0, 286, 0, 285, 286, 0, 287, 60, 0,
+ 287, 109, 0, 156, 62, 0, 156, 95, 0, 156,
+ 25, 0, 156, 58, 0, 60, 0, 118, 286, 0,
+ 134, 286, 0, 134, 225, 60, 0, 225, 288, 0,
+ 228, 289, 0, 310, 236, 245, 252, 0, 149, 236,
+ 245, 252, 0, 62, 203, 0, 1, 0, 228, 155,
+ 236, 245, 252, 0, 155, 236, 245, 252, 0, 127,
+ 0, 0, 290, 0, 288, 59, 291, 0, 0, 293,
+ 0, 289, 59, 295, 0, 292, 0, 293, 0, 294,
+ 0, 295, 0, 304, 236, 245, 252, 0, 4, 62,
+ 203, 245, 0, 310, 236, 245, 252, 0, 149, 236,
+ 245, 252, 0, 3, 62, 203, 245, 0, 62, 203,
+ 245, 0, 304, 236, 245, 252, 0, 4, 62, 203,
+ 245, 0, 310, 236, 245, 252, 0, 3, 62, 203,
+ 245, 0, 62, 203, 245, 0, 297, 0, 296, 59,
+ 297, 0, 163, 0, 163, 64, 203, 0, 371, 328,
+ 0, 371, 0, 93, 198, 224, 197, 94, 185, 111,
+ 0, 0, 299, 9, 0, 9, 0, 300, 9, 0,
+ 0, 301, 185, 0, 301, 93, 195, 108, 0, 301,
+ 93, 381, 108, 0, 301, 47, 0, 301, 93, 1,
+ 108, 0, 80, 300, 304, 0, 70, 300, 304, 0,
+ 80, 304, 0, 70, 304, 0, 326, 299, 304, 0,
+ 308, 0, 317, 0, 327, 317, 0, 305, 0, 307,
+ 0, 327, 307, 0, 318, 317, 0, 308, 303, 299,
+ 393, 0, 308, 94, 302, 111, 0, 308, 94, 111,
+ 0, 93, 304, 108, 0, 318, 317, 0, 317, 0,
+ 310, 0, 246, 310, 0, 80, 300, 309, 0, 70,
+ 300, 309, 0, 80, 309, 0, 70, 309, 0, 326,
+ 299, 309, 0, 212, 0, 80, 300, 309, 0, 70,
+ 300, 309, 0, 80, 311, 0, 70, 311, 0, 326,
+ 299, 309, 0, 312, 0, 212, 303, 299, 393, 0,
+ 93, 311, 108, 0, 212, 94, 302, 111, 0, 212,
+ 94, 111, 0, 314, 0, 318, 211, 0, 318, 208,
+ 0, 318, 207, 0, 318, 204, 0, 318, 207, 0,
+ 314, 0, 327, 314, 0, 231, 93, 195, 108, 0,
+ 231, 93, 209, 108, 0, 231, 223, 0, 4, 0,
+ 5, 0, 177, 0, 319, 0, 318, 319, 0, 318,
+ 48, 324, 54, 0, 4, 54, 0, 5, 54, 0,
+ 57, 54, 0, 177, 54, 0, 321, 0, 327, 321,
+ 0, 322, 163, 0, 322, 177, 0, 322, 324, 0,
+ 322, 48, 324, 0, 323, 0, 322, 323, 0, 322,
+ 324, 54, 0, 322, 48, 324, 54, 0, 4, 54,
+ 0, 5, 54, 0, 177, 54, 0, 56, 54, 0,
+ 3, 54, 0, 57, 54, 0, 163, 74, 181, 180,
+ 0, 327, 317, 0, 307, 0, 327, 307, 0, 318,
+ 80, 0, 327, 318, 80, 0, 54, 0, 80, 299,
+ 328, 0, 80, 299, 0, 70, 299, 328, 0, 70,
+ 299, 0, 326, 299, 0, 326, 299, 328, 0, 329,
+ 0, 94, 185, 111, 0, 329, 94, 302, 111, 0,
+ 80, 300, 330, 0, 80, 330, 0, 80, 300, 0,
+ 80, 0, 70, 300, 330, 0, 70, 330, 0, 70,
+ 300, 0, 70, 0, 326, 299, 0, 326, 299, 330,
+ 0, 331, 0, 93, 330, 108, 0, 90, 0, 331,
+ 93, 381, 108, 299, 393, 0, 331, 47, 299, 393,
+ 0, 331, 94, 302, 111, 0, 331, 94, 111, 0,
+ 93, 382, 108, 299, 393, 0, 201, 299, 393, 0,
+ 223, 299, 393, 0, 94, 302, 111, 0, 94, 111,
+ 0, 345, 0, 333, 0, 332, 345, 0, 332, 333,
+ 0, 1, 60, 0, 0, 335, 0, 336, 0, 335,
+ 336, 0, 33, 251, 60, 0, 338, 0, 1, 338,
+ 0, 0, 58, 339, 191, 0, 0, 0, 15, 341,
+ 187, 342, 343, 0, 338, 0, 0, 344, 346, 0,
+ 338, 0, 346, 0, 221, 0, 185, 60, 0, 0,
+ 340, 16, 347, 343, 0, 340, 0, 0, 0, 17,
+ 348, 187, 349, 192, 0, 0, 0, 18, 350, 343,
+ 17, 351, 186, 60, 0, 0, 0, 0, 0, 19,
+ 352, 93, 374, 353, 188, 60, 354, 376, 108, 355,
+ 192, 0, 0, 0, 20, 356, 93, 189, 108, 357,
+ 343, 0, 0, 21, 203, 62, 358, 345, 0, 0,
+ 21, 203, 12, 203, 62, 359, 345, 0, 0, 22,
+ 62, 360, 345, 0, 23, 60, 0, 24, 60, 0,
+ 25, 60, 0, 25, 185, 60, 0, 119, 375, 93,
+ 218, 108, 60, 0, 119, 375, 93, 218, 62, 377,
+ 108, 60, 0, 119, 375, 93, 218, 62, 377, 62,
+ 377, 108, 60, 0, 119, 375, 93, 218, 62, 377,
+ 62, 377, 62, 380, 108, 60, 0, 26, 80, 185,
+ 60, 0, 26, 163, 60, 0, 373, 345, 0, 373,
+ 109, 0, 60, 0, 364, 0, 129, 0, 128, 0,
+ 125, 0, 0, 0, 95, 362, 145, 338, 363, 367,
+ 0, 0, 0, 95, 365, 338, 366, 367, 0, 368,
+ 0, 367, 368, 0, 0, 0, 96, 369, 372, 370,
+ 338, 0, 229, 0, 300, 0, 93, 12, 108, 0,
+ 93, 390, 108, 0, 3, 62, 0, 56, 62, 0,
+ 4, 62, 0, 5, 62, 0, 376, 60, 0, 221,
+ 0, 58, 191, 0, 0, 9, 0, 0, 185, 0,
+ 1, 0, 0, 378, 0, 379, 0, 378, 59, 379,
+ 0, 11, 93, 185, 108, 0, 11, 0, 380, 59,
+ 11, 0, 0, 382, 0, 224, 0, 386, 0, 387,
+ 12, 0, 386, 12, 0, 224, 12, 0, 12, 0,
+ 386, 62, 0, 224, 62, 0, 0, 64, 384, 385,
+ 0, 101, 0, 253, 0, 388, 0, 390, 383, 0,
+ 387, 389, 0, 387, 392, 0, 387, 392, 64, 253,
+ 0, 386, 59, 0, 224, 59, 0, 226, 222, 0,
+ 229, 222, 0, 231, 222, 0, 226, 330, 0, 226,
+ 0, 228, 310, 0, 390, 0, 390, 383, 0, 388,
+ 0, 224, 0, 0, 0, 310, 0, 0, 61, 93,
+ 395, 108, 0, 61, 47, 0, 224, 0, 394, 0,
+ 395, 59, 394, 0, 0, 80, 299, 396, 0, 70,
+ 299, 396, 0, 326, 299, 396, 0, 41, 0, 397,
+ 80, 0, 397, 81, 0, 397, 82, 0, 397, 78,
+ 0, 397, 79, 0, 397, 70, 0, 397, 68, 0,
+ 397, 69, 0, 397, 88, 0, 397, 59, 0, 397,
+ 73, 0, 397, 74, 0, 397, 75, 0, 397, 72,
+ 0, 397, 63, 0, 397, 64, 0, 397, 76, 0,
+ 397, 77, 0, 397, 86, 0, 397, 87, 0, 397,
+ 67, 0, 397, 66, 0, 397, 110, 0, 397, 65,
+ 62, 0, 397, 71, 0, 397, 91, 0, 397, 83,
+ 0, 397, 47, 0, 397, 94, 111, 0, 397, 39,
+ 0, 397, 38, 0, 397, 39, 94, 111, 0, 397,
+ 38, 94, 111, 0, 397, 371, 396, 0, 397, 1,
+ 0
};
#endif
@@ -674,62 +675,62 @@ static const short yyrline[] = { 0,
1333, 1335, 1343, 1345, 1347, 1349, 1353, 1356, 1360, 1364,
1365, 1366, 1370, 1378, 1379, 1380, 1394, 1396, 1399, 1401,
1412, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1432, 1434,
- 1478, 1479, 1483, 1487, 1491, 1495, 1497, 1501, 1503, 1505,
- 1513, 1515, 1517, 1519, 1523, 1525, 1527, 1529, 1534, 1536,
- 1538, 1540, 1543, 1545, 1547, 1591, 1594, 1598, 1601, 1605,
- 1608, 1613, 1615, 1619, 1632, 1635, 1642, 1649, 1654, 1656,
- 1661, 1663, 1670, 1672, 1676, 1680, 1686, 1690, 1693, 1696,
- 1699, 1709, 1711, 1714, 1718, 1721, 1724, 1727, 1730, 1736,
- 1742, 1744, 1749, 1751, 1760, 1763, 1765, 1768, 1774, 1776,
- 1786, 1790, 1793, 1796, 1801, 1804, 1812, 1814, 1816, 1818,
- 1821, 1824, 1839, 1858, 1861, 1863, 1866, 1868, 1872, 1874,
- 1878, 1880, 1884, 1887, 1891, 1897, 1898, 1910, 1917, 1920,
- 1926, 1930, 1935, 1941, 1942, 1950, 1953, 1957, 1960, 1964,
- 1969, 1972, 1976, 1979, 1981, 1983, 1985, 1992, 1994, 1995,
- 1996, 2000, 2003, 2007, 2010, 2016, 2018, 2021, 2024, 2027,
- 2033, 2036, 2039, 2041, 2043, 2047, 2053, 2061, 2063, 2067,
- 2069, 2074, 2077, 2080, 2082, 2084, 2088, 2093, 2100, 2104,
- 2108, 2115, 2119, 2122, 2125, 2131, 2143, 2145, 2148, 2168,
- 2170, 2173, 2175, 2180, 2182, 2184, 2186, 2188, 2190, 2194,
- 2202, 2205, 2207, 2211, 2217, 2222, 2227, 2229, 2233, 2236,
- 2238, 2244, 2261, 2267, 2269, 2272, 2275, 2277, 2281, 2283,
- 2287, 2292, 2298, 2301, 2302, 2323, 2346, 2348, 2352, 2363,
- 2377, 2382, 2389, 2391, 2392, 2393, 2396, 2411, 2416, 2422,
- 2424, 2429, 2431, 2433, 2435, 2437, 2439, 2442, 2452, 2459,
- 2484, 2490, 2493, 2496, 2498, 2509, 2514, 2517, 2522, 2525,
- 2532, 2542, 2545, 2552, 2562, 2564, 2567, 2569, 2572, 2579,
- 2587, 2594, 2600, 2606, 2614, 2618, 2623, 2627, 2630, 2639,
- 2641, 2645, 2648, 2653, 2657, 2663, 2674, 2677, 2681, 2685,
- 2693, 2698, 2704, 2707, 2709, 2711, 2717, 2720, 2722, 2724,
- 2726, 2730, 2733, 2751, 2761, 2763, 2764, 2768, 2773, 2776,
- 2778, 2780, 2782, 2786, 2792, 2794, 2802, 2805, 2807, 2809,
- 2811, 2815, 2818, 2821, 2823, 2825, 2827, 2831, 2834, 2837,
- 2839, 2841, 2843, 2845, 2852, 2856, 2861, 2865, 2870, 2872,
- 2876, 2879, 2881, 2884, 2886, 2887, 2890, 2892, 2894, 2900,
- 2915, 2921, 2927, 2941, 2943, 2947, 2961, 2963, 2965, 2969,
- 2975, 2988, 2990, 2994, 3007, 3013, 3015, 3016, 3017, 3025,
- 3030, 3039, 3040, 3044, 3047, 3053, 3059, 3062, 3064, 3066,
- 3068, 3072, 3076, 3080, 3083, 3088, 3091, 3093, 3095, 3097,
- 3099, 3101, 3103, 3105, 3109, 3113, 3117, 3121, 3122, 3124,
- 3126, 3128, 3130, 3132, 3134, 3136, 3138, 3146, 3148, 3149,
- 3150, 3153, 3159, 3161, 3166, 3168, 3171, 3185, 3188, 3191,
- 3195, 3198, 3205, 3207, 3210, 3212, 3214, 3217, 3220, 3223,
- 3226, 3228, 3231, 3235, 3237, 3243, 3245, 3246, 3248, 3253,
- 3255, 3257, 3259, 3261, 3264, 3265, 3267, 3270, 3271, 3274,
- 3274, 3277, 3277, 3280, 3280, 3282, 3284, 3286, 3288, 3294,
- 3300, 3303, 3306, 3312, 3314, 3316, 3320, 3322, 3323, 3324,
- 3326, 3329, 3336, 3341, 3349, 3353, 3355, 3358, 3360, 3363,
- 3367, 3369, 3372, 3374, 3377, 3394, 3400, 3408, 3410, 3412,
- 3416, 3419, 3420, 3428, 3432, 3436, 3439, 3440, 3446, 3449,
- 3452, 3454, 3458, 3463, 3466, 3476, 3481, 3482, 3489, 3492,
- 3495, 3497, 3500, 3502, 3512, 3526, 3530, 3533, 3535, 3539,
- 3543, 3546, 3549, 3551, 3555, 3557, 3564, 3571, 3574, 3577,
- 3581, 3585, 3591, 3595, 3600, 3602, 3605, 3610, 3616, 3627,
- 3630, 3632, 3636, 3641, 3643, 3650, 3653, 3655, 3657, 3663,
- 3668, 3671, 3673, 3675, 3677, 3679, 3681, 3683, 3685, 3687,
- 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705, 3707,
- 3709, 3711, 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727,
- 3729, 3731, 3733, 3736, 3738
+ 1451, 1452, 1456, 1460, 1464, 1468, 1470, 1474, 1476, 1478,
+ 1486, 1488, 1490, 1492, 1496, 1498, 1500, 1502, 1507, 1509,
+ 1511, 1513, 1516, 1518, 1520, 1564, 1567, 1571, 1574, 1578,
+ 1581, 1586, 1588, 1592, 1605, 1608, 1615, 1622, 1627, 1629,
+ 1634, 1636, 1643, 1645, 1649, 1653, 1659, 1663, 1666, 1669,
+ 1672, 1682, 1684, 1687, 1691, 1694, 1697, 1700, 1703, 1709,
+ 1715, 1717, 1722, 1724, 1733, 1736, 1738, 1741, 1747, 1749,
+ 1759, 1763, 1766, 1769, 1774, 1777, 1785, 1787, 1789, 1791,
+ 1794, 1797, 1812, 1831, 1834, 1836, 1839, 1841, 1845, 1847,
+ 1851, 1853, 1857, 1860, 1864, 1870, 1871, 1883, 1890, 1893,
+ 1899, 1903, 1908, 1914, 1915, 1923, 1926, 1930, 1933, 1937,
+ 1942, 1945, 1949, 1952, 1954, 1956, 1958, 1965, 1967, 1968,
+ 1969, 1973, 1976, 1980, 1983, 1989, 1991, 1994, 1997, 2000,
+ 2006, 2009, 2012, 2014, 2016, 2020, 2026, 2034, 2036, 2040,
+ 2042, 2047, 2050, 2053, 2055, 2057, 2061, 2066, 2073, 2077,
+ 2081, 2088, 2092, 2095, 2098, 2104, 2116, 2118, 2121, 2141,
+ 2143, 2146, 2148, 2153, 2155, 2157, 2159, 2161, 2163, 2167,
+ 2175, 2178, 2180, 2184, 2190, 2195, 2200, 2202, 2206, 2209,
+ 2213, 2219, 2222, 2239, 2245, 2247, 2250, 2253, 2255, 2259,
+ 2261, 2265, 2270, 2276, 2279, 2280, 2301, 2324, 2326, 2330,
+ 2341, 2355, 2360, 2367, 2369, 2370, 2371, 2374, 2389, 2394,
+ 2400, 2402, 2407, 2409, 2411, 2413, 2415, 2417, 2420, 2430,
+ 2437, 2462, 2468, 2471, 2474, 2476, 2487, 2492, 2495, 2500,
+ 2503, 2510, 2520, 2523, 2530, 2540, 2542, 2545, 2547, 2550,
+ 2557, 2565, 2572, 2578, 2584, 2592, 2596, 2601, 2605, 2608,
+ 2617, 2619, 2623, 2626, 2631, 2635, 2641, 2652, 2655, 2659,
+ 2663, 2671, 2676, 2682, 2685, 2687, 2689, 2695, 2698, 2700,
+ 2702, 2704, 2708, 2711, 2729, 2739, 2741, 2742, 2746, 2751,
+ 2754, 2756, 2758, 2760, 2764, 2770, 2772, 2780, 2783, 2785,
+ 2787, 2789, 2793, 2796, 2799, 2801, 2803, 2805, 2809, 2812,
+ 2815, 2817, 2819, 2821, 2823, 2830, 2834, 2839, 2843, 2848,
+ 2850, 2854, 2857, 2859, 2862, 2864, 2865, 2868, 2870, 2872,
+ 2878, 2893, 2899, 2905, 2919, 2921, 2925, 2939, 2941, 2943,
+ 2947, 2953, 2966, 2968, 2972, 2985, 2991, 2993, 2994, 2995,
+ 3003, 3008, 3017, 3018, 3022, 3025, 3031, 3037, 3040, 3042,
+ 3044, 3046, 3050, 3054, 3058, 3061, 3066, 3069, 3071, 3073,
+ 3075, 3077, 3079, 3081, 3083, 3087, 3091, 3095, 3099, 3100,
+ 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116, 3124, 3126,
+ 3127, 3128, 3131, 3137, 3139, 3144, 3146, 3149, 3163, 3166,
+ 3169, 3173, 3176, 3183, 3185, 3188, 3190, 3192, 3195, 3198,
+ 3201, 3204, 3206, 3209, 3213, 3215, 3221, 3223, 3224, 3226,
+ 3231, 3233, 3235, 3237, 3239, 3242, 3243, 3245, 3248, 3249,
+ 3252, 3252, 3255, 3255, 3258, 3258, 3260, 3262, 3264, 3266,
+ 3272, 3278, 3281, 3284, 3290, 3292, 3294, 3298, 3300, 3301,
+ 3302, 3304, 3307, 3314, 3319, 3327, 3331, 3333, 3336, 3338,
+ 3341, 3345, 3347, 3350, 3352, 3355, 3372, 3378, 3386, 3388,
+ 3390, 3394, 3397, 3398, 3406, 3410, 3414, 3417, 3418, 3424,
+ 3427, 3430, 3432, 3436, 3441, 3444, 3454, 3459, 3460, 3467,
+ 3470, 3473, 3475, 3478, 3480, 3490, 3504, 3508, 3511, 3513,
+ 3517, 3521, 3524, 3527, 3529, 3533, 3535, 3542, 3549, 3552,
+ 3555, 3559, 3563, 3569, 3573, 3578, 3580, 3583, 3588, 3594,
+ 3605, 3608, 3610, 3614, 3619, 3621, 3628, 3631, 3633, 3635,
+ 3641, 3646, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663,
+ 3665, 3667, 3669, 3671, 3673, 3675, 3677, 3679, 3681, 3683,
+ 3685, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703,
+ 3705, 3707, 3709, 3711, 3714, 3716
};
#endif
@@ -778,7 +779,7 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER"
"init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
"pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
"aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
-"named_complex_class_head_sans_basetype","named_class_head","@30","unnamed_class_head",
+"named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
"class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
"base_class_access_list","left_curly","self_reference","opt.component_decl_list",
"access_specifier","component_decl_list","component_decl","component_decl_1",
@@ -794,12 +795,12 @@ static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER"
"explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
"direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
"maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
-"@31","simple_if","@32","@33","implicitly_scoped_stmt","@34","stmt","simple_stmt",
-"@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47",
-"@48","function_try_block","@49","@50","try_block","@51","@52","handler_seq",
-"handler","@53","@54","type_specifier_seq","handler_args","label_colon","for.init.statement",
+"@32","simple_if","@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt",
+"@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
+"@49","function_try_block","@50","@51","try_block","@52","@53","handler_seq",
+"handler","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
"maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
-"asm_clobbers","parmlist","complex_parmlist","defarg","@55","defarg1","parms",
+"asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
"parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
"ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
"operator_name", NULL
@@ -857,44 +858,44 @@ static const short yyr1[] = { 0,
260, 260, 260, 260, 260, 263, 264, 260, 260, 265,
265, 266, 266, 267, 267, 267, 267, 267, 267, 268,
269, 269, 269, 270, 270, 270, 270, 270, 271, 272,
- 271, 271, 273, 274, 274, 275, 275, 275, 276, 276,
- 277, 277, 278, 278, 278, 278, 279, 279, 279, 279,
- 280, 281, 282, 282, 282, 282, 283, 284, 284, 285,
- 285, 285, 285, 285, 285, 285, 285, 285, 285, 286,
- 286, 286, 286, 286, 286, 286, 286, 286, 287, 287,
- 287, 288, 288, 288, 289, 289, 290, 290, 291, 291,
- 292, 292, 292, 292, 293, 293, 294, 294, 294, 295,
- 295, 296, 296, 297, 297, 297, 298, 298, 299, 299,
- 300, 301, 302, 302, 302, 302, 303, 303, 303, 303,
- 303, 303, 304, 304, 305, 305, 305, 306, 307, 307,
- 307, 307, 307, 307, 308, 308, 309, 309, 309, 309,
- 309, 309, 310, 310, 310, 310, 310, 310, 311, 311,
- 311, 311, 311, 311, 312, 312, 313, 313, 314, 314,
- 315, 315, 315, 316, 316, 316, 317, 317, 317, 318,
- 318, 318, 318, 319, 319, 320, 320, 320, 320, 321,
- 321, 321, 321, 322, 322, 322, 322, 322, 322, 323,
- 324, 324, 324, 325, 325, 326, 327, 327, 327, 327,
- 327, 327, 327, 328, 328, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 330, 330, 330, 330,
+ 271, 273, 271, 274, 275, 275, 276, 276, 276, 277,
+ 277, 278, 278, 279, 279, 279, 279, 280, 280, 280,
+ 280, 281, 282, 283, 283, 283, 283, 284, 285, 285,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 287, 287, 287, 287, 287, 287, 287, 287, 287, 288,
+ 288, 288, 289, 289, 289, 290, 290, 291, 291, 292,
+ 292, 293, 293, 293, 293, 294, 294, 295, 295, 295,
+ 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
+ 300, 301, 302, 303, 303, 303, 303, 304, 304, 304,
+ 304, 304, 304, 305, 305, 306, 306, 306, 307, 308,
+ 308, 308, 308, 308, 308, 309, 309, 310, 310, 310,
+ 310, 310, 310, 311, 311, 311, 311, 311, 311, 312,
+ 312, 312, 312, 312, 312, 313, 313, 314, 314, 315,
+ 315, 316, 316, 316, 317, 317, 317, 318, 318, 318,
+ 319, 319, 319, 319, 320, 320, 321, 321, 321, 321,
+ 322, 322, 322, 322, 323, 323, 323, 323, 323, 323,
+ 324, 325, 325, 325, 326, 326, 327, 328, 328, 328,
+ 328, 328, 328, 328, 329, 329, 330, 330, 330, 330,
330, 330, 330, 330, 330, 330, 330, 331, 331, 331,
- 331, 332, 333, 333, 334, 334, 335, 336, 336, 338,
- 337, 340, 341, 339, 342, 343, 342, 344, 344, 345,
- 345, 346, 345, 345, 347, 348, 345, 349, 350, 345,
- 351, 352, 353, 354, 345, 355, 356, 345, 357, 345,
- 358, 345, 359, 345, 345, 345, 345, 345, 345, 345,
- 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 345, 361, 362, 360, 364, 365, 363, 366, 366, 368,
- 369, 367, 370, 370, 371, 371, 372, 372, 372, 372,
- 373, 373, 373, 374, 374, 375, 375, 375, 376, 376,
- 377, 377, 378, 379, 379, 380, 380, 380, 381, 381,
- 381, 381, 381, 381, 381, 383, 382, 384, 384, 385,
- 385, 385, 385, 385, 386, 386, 387, 387, 387, 387,
- 387, 387, 388, 388, 389, 389, 390, 391, 391, 392,
- 392, 392, 393, 394, 394, 395, 395, 395, 395, 396,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397
+ 331, 331, 331, 331, 331, 331, 331, 331, 332, 332,
+ 332, 332, 333, 334, 334, 335, 335, 336, 337, 337,
+ 339, 338, 341, 342, 340, 343, 344, 343, 345, 345,
+ 346, 346, 347, 346, 346, 348, 349, 346, 350, 351,
+ 346, 352, 353, 354, 355, 346, 356, 357, 346, 358,
+ 346, 359, 346, 360, 346, 346, 346, 346, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 346, 346, 362, 363, 361, 365, 366, 364, 367, 367,
+ 369, 370, 368, 371, 371, 372, 372, 373, 373, 373,
+ 373, 374, 374, 374, 375, 375, 376, 376, 376, 377,
+ 377, 378, 378, 379, 380, 380, 381, 381, 381, 382,
+ 382, 382, 382, 382, 382, 382, 384, 383, 385, 385,
+ 386, 386, 386, 386, 386, 387, 387, 388, 388, 388,
+ 388, 388, 388, 389, 389, 390, 390, 391, 392, 392,
+ 393, 393, 393, 394, 395, 395, 396, 396, 396, 396,
+ 397, 398, 398, 398, 398, 398, 398, 398, 398, 398,
+ 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
+ 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
+ 398, 398, 398, 398, 398, 398
};
static const short yyr2[] = { 0,
@@ -948,100 +949,100 @@ static const short yyr2[] = { 0,
6, 3, 2, 2, 2, 0, 0, 9, 1, 0,
1, 0, 1, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2, 3, 4, 3, 2, 3, 1, 0,
- 3, 2, 2, 1, 1, 0, 2, 3, 1, 4,
- 1, 3, 1, 1, 4, 4, 2, 2, 3, 3,
- 1, 0, 1, 2, 3, 2, 2, 1, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 2, 3, 2,
- 2, 4, 4, 2, 1, 5, 4, 1, 0, 1,
- 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
- 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
- 3, 1, 3, 2, 1, 7, 0, 2, 1, 2,
- 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
- 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
- 3, 3, 2, 1, 1, 2, 3, 3, 2, 2,
- 3, 1, 3, 3, 2, 2, 3, 1, 4, 3,
- 4, 3, 1, 2, 2, 2, 2, 2, 1, 2,
- 4, 4, 2, 1, 1, 1, 1, 2, 4, 2,
- 2, 2, 2, 1, 2, 2, 2, 2, 3, 1,
- 2, 3, 4, 2, 2, 2, 2, 2, 2, 4,
- 2, 1, 2, 2, 3, 1, 3, 2, 3, 2,
- 2, 3, 1, 3, 4, 3, 2, 2, 1, 3,
- 2, 2, 1, 2, 3, 1, 3, 1, 6, 4,
- 4, 3, 5, 3, 3, 3, 2, 1, 1, 2,
- 2, 2, 0, 1, 1, 2, 3, 1, 2, 0,
- 3, 0, 0, 5, 1, 0, 2, 1, 1, 1,
- 2, 0, 4, 1, 0, 0, 5, 0, 0, 7,
- 0, 0, 0, 0, 12, 0, 0, 7, 0, 5,
- 0, 7, 0, 4, 2, 2, 2, 3, 6, 8,
- 10, 12, 4, 3, 2, 2, 1, 1, 1, 1,
- 1, 0, 0, 6, 0, 0, 5, 1, 2, 0,
- 0, 5, 1, 1, 3, 3, 2, 2, 2, 2,
- 2, 1, 2, 0, 1, 0, 1, 1, 0, 1,
- 1, 3, 4, 1, 3, 0, 1, 1, 1, 2,
- 2, 2, 1, 2, 2, 0, 3, 1, 1, 1,
- 2, 2, 2, 4, 2, 2, 2, 2, 2, 2,
- 1, 2, 1, 2, 1, 1, 0, 0, 1, 0,
- 4, 2, 1, 1, 3, 0, 3, 3, 3, 1,
+ 3, 0, 3, 2, 1, 1, 0, 2, 3, 1,
+ 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
+ 3, 1, 0, 1, 2, 3, 2, 2, 1, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 2, 3,
+ 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
+ 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
+ 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
+ 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
+ 2, 0, 2, 4, 4, 2, 4, 3, 3, 2,
+ 2, 3, 1, 1, 2, 1, 1, 2, 2, 4,
+ 4, 3, 3, 2, 1, 1, 2, 3, 3, 2,
+ 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
+ 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
+ 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
+ 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
+ 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
+ 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
+ 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
+ 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
+ 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
+ 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
+ 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
+ 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
+ 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
+ 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
+ 8, 10, 12, 4, 3, 2, 2, 1, 1, 1,
+ 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
+ 0, 0, 5, 1, 1, 3, 3, 2, 2, 2,
+ 2, 2, 1, 2, 0, 1, 0, 1, 1, 0,
+ 1, 1, 3, 4, 1, 3, 0, 1, 1, 1,
+ 2, 2, 2, 1, 2, 2, 0, 3, 1, 1,
+ 1, 2, 2, 2, 4, 2, 2, 2, 2, 2,
+ 2, 1, 2, 1, 2, 1, 1, 0, 0, 1,
+ 0, 4, 2, 1, 1, 3, 0, 3, 3, 3,
+ 1, 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, 3, 2, 2, 2, 2, 3, 2,
- 2, 4, 4, 3, 2
+ 2, 2, 2, 2, 3, 2, 2, 2, 2, 3,
+ 2, 2, 4, 4, 3, 2
};
static const short yydefact[] = { 3,
- 12, 12, 5, 0, 4, 0, 279, 634, 635, 0,
- 386, 398, 579, 0, 11, 0, 0, 0, 10, 484,
- 840, 0, 0, 0, 167, 666, 280, 281, 83, 0,
- 0, 827, 0, 45, 0, 0, 13, 25, 0, 27,
- 8, 0, 16, 15, 89, 110, 86, 0, 636, 171,
- 300, 277, 301, 612, 0, 373, 0, 372, 391, 0,
- 411, 390, 428, 397, 0, 499, 500, 506, 505, 504,
- 479, 385, 595, 399, 596, 108, 299, 623, 593, 0,
- 637, 577, 0, 0, 278, 81, 82, 176, 640, 176,
- 641, 176, 282, 167, 140, 141, 142, 143, 144, 470,
- 473, 0, 662, 0, 474, 0, 0, 0, 0, 141,
+ 12, 12, 5, 0, 4, 0, 279, 635, 636, 0,
+ 386, 398, 580, 0, 11, 0, 0, 0, 10, 484,
+ 841, 0, 0, 0, 167, 667, 280, 281, 83, 0,
+ 0, 828, 0, 45, 0, 0, 13, 25, 0, 27,
+ 8, 0, 16, 15, 89, 110, 86, 0, 637, 171,
+ 300, 277, 301, 613, 0, 373, 0, 372, 391, 0,
+ 411, 390, 428, 397, 0, 499, 500, 502, 506, 505,
+ 479, 385, 596, 399, 597, 108, 299, 624, 594, 0,
+ 638, 578, 0, 0, 278, 81, 82, 176, 641, 176,
+ 642, 176, 282, 167, 140, 141, 142, 143, 144, 470,
+ 473, 0, 663, 0, 474, 0, 0, 0, 0, 141,
142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
- 0, 475, 644, 0, 650, 0, 0, 0, 37, 0,
- 0, 31, 0, 0, 47, 0, 176, 642, 0, 0,
- 0, 610, 605, 0, 0, 0, 609, 0, 0, 0,
- 0, 300, 0, 291, 581, 0, 0, 299, 577, 28,
+ 0, 475, 645, 0, 651, 0, 0, 0, 37, 0,
+ 0, 31, 0, 0, 47, 0, 176, 643, 0, 0,
+ 0, 611, 606, 0, 0, 0, 610, 0, 0, 0,
+ 0, 300, 0, 291, 582, 0, 0, 299, 578, 28,
0, 26, 3, 46, 0, 64, 386, 0, 0, 8,
67, 63, 66, 89, 0, 0, 0, 397, 90, 14,
- 0, 426, 0, 0, 444, 87, 79, 643, 581, 0,
- 577, 80, 0, 0, 0, 106, 0, 407, 363, 592,
- 364, 604, 0, 577, 388, 387, 78, 109, 374, 0,
+ 0, 426, 0, 0, 444, 87, 79, 644, 582, 0,
+ 578, 80, 0, 0, 0, 106, 0, 407, 363, 593,
+ 364, 605, 0, 578, 388, 387, 78, 109, 374, 0,
409, 389, 107, 380, 404, 405, 375, 393, 395, 384,
- 406, 0, 75, 429, 485, 486, 487, 488, 503, 149,
+ 406, 0, 75, 429, 485, 486, 487, 488, 504, 149,
148, 150, 490, 491, 497, 489, 0, 0, 492, 493,
- 506, 827, 502, 521, 522, 580, 392, 0, 423, 635,
- 0, 664, 171, 627, 628, 624, 598, 638, 0, 597,
- 594, 0, 875, 871, 870, 868, 850, 855, 856, 0,
- 862, 861, 847, 848, 846, 865, 854, 851, 852, 853,
- 857, 858, 844, 845, 841, 842, 843, 867, 859, 860,
- 849, 866, 0, 863, 773, 391, 774, 836, 282, 279,
- 579, 304, 352, 0, 0, 0, 0, 348, 346, 319,
- 350, 351, 0, 0, 0, 0, 0, 280, 281, 273,
- 0, 0, 184, 183, 0, 185, 186, 0, 0, 187,
- 0, 0, 177, 178, 0, 247, 0, 250, 182, 303,
- 213, 0, 0, 305, 306, 0, 180, 370, 391, 371,
- 629, 331, 321, 0, 0, 0, 0, 176, 0, 472,
- 0, 467, 0, 663, 661, 0, 188, 189, 0, 0,
- 0, 433, 3, 21, 29, 658, 654, 655, 657, 659,
- 656, 140, 141, 142, 0, 143, 144, 646, 647, 651,
- 648, 645, 0, 289, 290, 288, 626, 625, 33, 32,
- 49, 0, 157, 0, 0, 391, 155, 0, 0, 606,
- 608, 0, 607, 141, 142, 275, 276, 295, 0, 616,
- 294, 0, 615, 0, 302, 280, 281, 0, 0, 0,
- 293, 292, 620, 0, 0, 12, 0, 167, 9, 9,
- 70, 0, 65, 0, 0, 71, 74, 0, 425, 427,
- 122, 93, 127, 762, 0, 85, 84, 92, 125, 0,
- 0, 123, 88, 622, 0, 0, 585, 0, 830, 0,
- 590, 0, 589, 0, 0, 0, 0, 577, 426, 0,
- 77, 581, 577, 603, 0, 377, 378, 0, 76, 426,
- 382, 381, 383, 376, 396, 413, 412, 494, 498, 496,
- 0, 501, 507, 0, 0, 394, 426, 577, 94, 0,
- 0, 0, 0, 577, 100, 578, 611, 635, 665, 171,
- 0, 0, 864, 869, 393, 577, 577, 0, 577, 874,
+ 507, 507, 522, 523, 581, 392, 0, 423, 636, 0,
+ 665, 171, 628, 629, 625, 599, 639, 0, 598, 595,
+ 0, 876, 872, 871, 869, 851, 856, 857, 0, 863,
+ 862, 848, 849, 847, 866, 855, 852, 853, 854, 858,
+ 859, 845, 846, 842, 843, 844, 868, 860, 861, 850,
+ 867, 0, 864, 774, 391, 775, 837, 282, 279, 580,
+ 304, 352, 0, 0, 0, 0, 348, 346, 319, 350,
+ 351, 0, 0, 0, 0, 0, 280, 281, 273, 0,
+ 0, 184, 183, 0, 185, 186, 0, 0, 187, 0,
+ 0, 177, 178, 0, 247, 0, 250, 182, 303, 213,
+ 0, 0, 305, 306, 0, 180, 370, 391, 371, 630,
+ 331, 321, 0, 0, 0, 0, 176, 0, 472, 0,
+ 467, 0, 664, 662, 0, 188, 189, 0, 0, 0,
+ 433, 3, 21, 29, 659, 655, 656, 658, 660, 657,
+ 140, 141, 142, 0, 143, 144, 647, 648, 652, 649,
+ 646, 0, 289, 290, 288, 627, 626, 33, 32, 49,
+ 0, 157, 0, 0, 391, 155, 0, 0, 607, 609,
+ 0, 608, 141, 142, 275, 276, 295, 0, 617, 294,
+ 0, 616, 0, 302, 280, 281, 0, 0, 0, 293,
+ 292, 621, 0, 0, 12, 0, 167, 9, 9, 70,
+ 0, 65, 0, 0, 71, 74, 0, 425, 427, 122,
+ 93, 127, 763, 0, 85, 84, 92, 125, 0, 0,
+ 123, 88, 623, 0, 0, 586, 0, 831, 0, 591,
+ 0, 590, 0, 0, 0, 0, 578, 426, 0, 77,
+ 582, 578, 604, 0, 377, 378, 0, 76, 426, 382,
+ 381, 383, 376, 396, 413, 412, 494, 498, 496, 0,
+ 828, 501, 503, 0, 0, 394, 426, 578, 94, 0,
+ 0, 0, 0, 578, 100, 579, 612, 636, 666, 171,
+ 0, 0, 865, 870, 393, 578, 578, 0, 578, 875,
176, 0, 0, 0, 220, 0, 0, 222, 235, 236,
0, 0, 0, 0, 0, 274, 219, 216, 215, 217,
0, 0, 0, 0, 0, 303, 0, 0, 0, 214,
@@ -1049,2271 +1050,2231 @@ static const short yydefact[] = { 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313, 0, 315, 317, 318, 356, 355, 0, 0, 238,
- 238, 0, 224, 575, 0, 232, 353, 345, 0, 0,
- 827, 334, 337, 338, 0, 0, 365, 683, 679, 688,
- 0, 581, 577, 577, 577, 367, 686, 0, 633, 369,
- 0, 0, 368, 333, 0, 328, 347, 329, 349, 630,
- 0, 330, 173, 173, 0, 165, 0, 391, 163, 572,
- 482, 570, 469, 0, 0, 400, 0, 0, 401, 402,
+ 238, 0, 224, 576, 0, 232, 353, 345, 0, 0,
+ 828, 334, 337, 338, 0, 0, 365, 684, 680, 689,
+ 0, 582, 578, 578, 578, 367, 687, 0, 634, 369,
+ 0, 0, 368, 333, 0, 328, 347, 329, 349, 631,
+ 0, 330, 173, 173, 0, 165, 0, 391, 163, 573,
+ 482, 571, 469, 0, 0, 400, 0, 0, 401, 402,
403, 439, 440, 441, 438, 0, 431, 434, 0, 3,
- 0, 649, 176, 652, 0, 41, 42, 0, 53, 0,
- 0, 57, 61, 50, 826, 821, 0, 370, 391, 53,
- 371, 825, 59, 168, 153, 151, 168, 173, 298, 614,
- 613, 302, 0, 617, 0, 18, 20, 89, 9, 9,
- 73, 72, 0, 128, 354, 0, 710, 91, 708, 450,
- 0, 446, 445, 212, 0, 211, 582, 621, 0, 803,
- 0, 798, 391, 0, 797, 799, 828, 810, 0, 0,
- 619, 588, 587, 0, 0, 602, 0, 421, 420, 408,
- 601, 0, 830, 591, 379, 410, 422, 426, 495, 634,
- 635, 827, 0, 827, 636, 508, 509, 511, 827, 514,
- 513, 0, 545, 635, 0, 536, 0, 0, 548, 0,
- 121, 116, 0, 171, 549, 552, 0, 528, 0, 119,
- 0, 426, 0, 424, 830, 796, 176, 176, 639, 176,
- 830, 796, 577, 97, 577, 103, 873, 872, 836, 836,
- 836, 0, 0, 0, 0, 633, 0, 0, 0, 0,
- 391, 0, 0, 0, 309, 0, 307, 308, 0, 245,
- 179, 279, 634, 635, 280, 281, 0, 0, 451, 480,
- 0, 272, 271, 788, 787, 0, 269, 268, 266, 267,
- 265, 264, 263, 260, 261, 262, 258, 259, 253, 254,
- 255, 256, 257, 251, 252, 0, 0, 0, 0, 0,
- 238, 226, 242, 0, 0, 225, 577, 577, 0, 577,
- 574, 673, 0, 0, 0, 0, 0, 336, 0, 340,
- 0, 342, 0, 682, 681, 678, 677, 826, 0, 0,
- 697, 0, 0, 830, 366, 830, 684, 577, 796, 581,
- 683, 679, 0, 0, 577, 0, 390, 0, 0, 0,
- 0, 170, 172, 283, 168, 161, 159, 168, 0, 483,
- 0, 482, 210, 209, 208, 207, 433, 0, 0, 24,
- 0, 0, 653, 0, 38, 44, 43, 55, 52, 53,
- 0, 48, 0, 0, 683, 679, 0, 817, 577, 820,
- 822, 0, 818, 819, 54, 490, 0, 158, 168, 168,
- 156, 169, 296, 17, 19, 69, 89, 414, 145, 133,
- 146, 147, 0, 126, 129, 0, 0, 0, 0, 709,
- 703, 447, 0, 124, 586, 583, 802, 816, 805, 0,
- 584, 801, 815, 804, 800, 829, 812, 823, 813, 806,
- 811, 832, 0, 418, 600, 599, 417, 518, 0, 517,
- 827, 827, 827, 0, 577, 796, 544, 537, 549, 538,
- 426, 426, 534, 535, 532, 533, 577, 796, 279, 634,
- 0, 413, 117, 540, 550, 555, 556, 413, 413, 0,
- 0, 413, 115, 541, 553, 413, 529, 530, 531, 426,
- 527, 476, 0, 96, 0, 0, 0, 0, 102, 0,
- 830, 796, 830, 796, 838, 837, 839, 284, 320, 221,
- 223, 326, 327, 0, 0, 0, 0, 308, 311, 0,
- 0, 0, 0, 246, 0, 312, 314, 316, 0, 0,
- 0, 0, 227, 244, 0, 0, 670, 668, 0, 671,
- 581, 233, 0, 0, 176, 343, 0, 0, 0, 680,
- 676, 687, 577, 696, 694, 695, 685, 830, 0, 692,
- 0, 631, 632, 0, 332, 166, 168, 168, 164, 573,
- 571, 471, 0, 432, 430, 279, 0, 22, 30, 660,
- 56, 51, 58, 62, 682, 678, 683, 679, 0, 593,
- 0, 577, 684, 60, 154, 152, 68, 0, 131, 0,
- 135, 0, 137, 0, 139, 0, 763, 0, 200, 711,
- 0, 704, 705, 0, 448, 683, 679, 0, 303, 0,
- 629, 824, 0, 0, 833, 834, 0, 0, 415, 0,
- 0, 0, 520, 519, 512, 830, 0, 539, 444, 444,
- 830, 0, 0, 0, 426, 426, 0, 426, 426, 0,
- 426, 0, 444, 464, 577, 286, 285, 287, 577, 99,
- 0, 105, 0, 0, 0, 0, 0, 0, 454, 0,
- 452, 249, 270, 240, 239, 237, 228, 0, 241, 243,
- 669, 667, 674, 672, 0, 234, 0, 0, 335, 339,
- 341, 830, 690, 577, 691, 162, 160, 468, 0, 435,
- 437, 682, 678, 598, 684, 132, 130, 0, 0, 0,
- 0, 442, 0, 0, 279, 634, 635, 712, 725, 728,
- 731, 736, 0, 0, 0, 0, 0, 0, 0, 0,
- 280, 757, 765, 0, 784, 761, 760, 759, 0, 720,
- 0, 0, 391, 0, 699, 718, 724, 698, 719, 758,
- 0, 706, 449, 0, 632, 814, 808, 809, 807, 0,
- 831, 419, 0, 515, 516, 510, 112, 577, 543, 547,
- 114, 577, 426, 426, 564, 444, 279, 634, 0, 551,
- 557, 558, 413, 413, 444, 444, 0, 444, 554, 542,
- 0, 830, 830, 577, 577, 0, 0, 0, 0, 453,
- 0, 0, 229, 230, 675, 344, 285, 693, 830, 0,
- 134, 136, 138, 770, 764, 768, 0, 707, 702, 203,
- 777, 779, 780, 0, 0, 716, 0, 0, 0, 743,
- 745, 746, 747, 0, 0, 0, 0, 0, 0, 0,
- 778, 0, 362, 785, 0, 721, 360, 413, 0, 361,
- 0, 413, 0, 0, 0, 201, 701, 700, 722, 756,
- 755, 308, 835, 416, 830, 830, 563, 560, 562, 0,
- 0, 426, 426, 426, 559, 561, 546, 466, 0, 465,
- 460, 95, 101, 830, 830, 322, 323, 324, 325, 455,
- 0, 231, 689, 436, 0, 769, 443, 192, 0, 713,
- 726, 715, 0, 0, 0, 0, 0, 739, 0, 748,
- 0, 754, 39, 144, 34, 144, 0, 35, 766, 0,
- 358, 359, 0, 0, 0, 357, 202, 716, 111, 113,
- 426, 426, 569, 444, 444, 0, 0, 478, 98, 104,
- 576, 0, 771, 199, 0, 391, 0, 716, 0, 729,
- 717, 703, 782, 732, 0, 0, 0, 0, 744, 753,
- 40, 36, 0, 0, 723, 568, 566, 565, 567, 463,
- 462, 456, 86, 89, 0, 0, 0, 193, 413, 714,
- 204, 727, 206, 0, 783, 0, 781, 737, 741, 740,
- 767, 789, 0, 0, 461, 775, 776, 772, 426, 703,
- 190, 0, 0, 196, 0, 195, 716, 0, 0, 0,
- 790, 791, 749, 459, 0, 458, 0, 205, 0, 730,
- 733, 738, 742, 0, 789, 0, 0, 457, 197, 191,
- 0, 0, 0, 750, 792, 0, 0, 793, 0, 0,
- 198, 734, 794, 0, 751, 0, 0, 0, 735, 795,
- 752, 0, 0, 0
+ 0, 650, 176, 653, 0, 41, 42, 0, 53, 0,
+ 0, 57, 61, 50, 827, 822, 0, 370, 391, 53,
+ 371, 826, 59, 168, 153, 151, 168, 173, 298, 615,
+ 614, 302, 0, 618, 0, 18, 20, 89, 9, 9,
+ 73, 72, 0, 128, 354, 0, 711, 91, 709, 450,
+ 0, 446, 445, 212, 0, 211, 583, 622, 0, 804,
+ 0, 799, 391, 0, 798, 800, 829, 811, 0, 0,
+ 620, 589, 588, 0, 0, 603, 0, 421, 420, 408,
+ 602, 0, 831, 592, 379, 410, 422, 426, 495, 508,
+ 546, 636, 0, 537, 0, 0, 549, 0, 121, 116,
+ 0, 171, 550, 553, 0, 529, 0, 119, 0, 426,
+ 0, 424, 831, 797, 176, 176, 640, 176, 831, 797,
+ 578, 97, 578, 103, 874, 873, 837, 837, 837, 0,
+ 0, 0, 0, 634, 0, 0, 0, 0, 391, 0,
+ 0, 0, 309, 0, 307, 308, 0, 245, 179, 279,
+ 635, 636, 280, 281, 0, 0, 451, 480, 0, 272,
+ 271, 789, 788, 0, 269, 268, 266, 267, 265, 264,
+ 263, 260, 261, 262, 258, 259, 253, 254, 255, 256,
+ 257, 251, 252, 0, 0, 0, 0, 0, 238, 226,
+ 242, 0, 0, 225, 578, 578, 0, 578, 575, 674,
+ 0, 0, 0, 0, 0, 336, 0, 340, 0, 342,
+ 0, 683, 682, 679, 678, 827, 0, 0, 698, 0,
+ 0, 831, 366, 831, 685, 578, 797, 582, 684, 680,
+ 0, 0, 578, 0, 390, 0, 0, 0, 0, 170,
+ 172, 283, 168, 161, 159, 168, 0, 483, 0, 482,
+ 210, 209, 208, 207, 433, 0, 0, 24, 0, 0,
+ 654, 0, 38, 44, 43, 55, 52, 53, 0, 48,
+ 0, 0, 684, 680, 0, 818, 578, 821, 823, 0,
+ 819, 820, 54, 490, 0, 158, 168, 168, 156, 169,
+ 296, 17, 19, 69, 89, 414, 145, 635, 636, 133,
+ 146, 147, 0, 126, 129, 0, 637, 0, 0, 0,
+ 0, 710, 704, 447, 0, 124, 587, 584, 803, 817,
+ 806, 0, 585, 802, 816, 805, 801, 830, 813, 824,
+ 814, 807, 812, 833, 0, 418, 601, 600, 417, 828,
+ 0, 828, 509, 510, 512, 828, 515, 514, 578, 797,
+ 545, 538, 550, 539, 426, 426, 535, 536, 533, 534,
+ 578, 797, 279, 635, 0, 413, 117, 541, 551, 556,
+ 557, 413, 413, 0, 0, 413, 115, 542, 554, 413,
+ 530, 531, 532, 426, 528, 476, 0, 96, 0, 0,
+ 0, 0, 102, 0, 831, 797, 831, 797, 839, 838,
+ 840, 284, 320, 221, 223, 326, 327, 0, 0, 0,
+ 0, 308, 311, 0, 0, 0, 0, 246, 0, 312,
+ 314, 316, 0, 0, 0, 0, 227, 244, 0, 0,
+ 671, 669, 0, 672, 582, 233, 0, 0, 176, 343,
+ 0, 0, 0, 681, 677, 688, 578, 697, 695, 696,
+ 686, 831, 0, 693, 0, 632, 633, 0, 332, 166,
+ 168, 168, 164, 574, 572, 471, 0, 432, 430, 279,
+ 0, 22, 30, 661, 56, 51, 58, 62, 683, 679,
+ 684, 680, 0, 594, 0, 578, 685, 60, 154, 152,
+ 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
+ 764, 0, 200, 712, 0, 705, 706, 0, 448, 684,
+ 680, 0, 303, 0, 630, 825, 0, 0, 834, 835,
+ 0, 0, 415, 519, 0, 518, 828, 828, 828, 0,
+ 831, 0, 540, 444, 444, 831, 0, 0, 0, 426,
+ 426, 0, 426, 426, 0, 426, 0, 444, 464, 578,
+ 286, 285, 287, 578, 99, 0, 105, 0, 0, 0,
+ 0, 0, 0, 454, 0, 452, 249, 270, 240, 239,
+ 237, 228, 0, 241, 243, 670, 668, 675, 673, 0,
+ 234, 0, 0, 335, 339, 341, 831, 691, 578, 692,
+ 162, 160, 468, 0, 435, 437, 683, 679, 599, 685,
+ 132, 130, 0, 0, 0, 0, 442, 0, 0, 279,
+ 635, 636, 713, 726, 729, 732, 737, 0, 0, 0,
+ 0, 0, 0, 0, 0, 280, 758, 766, 0, 785,
+ 762, 761, 760, 0, 721, 0, 0, 391, 0, 700,
+ 719, 725, 699, 720, 759, 0, 707, 449, 0, 633,
+ 815, 809, 810, 808, 0, 832, 419, 0, 0, 0,
+ 0, 521, 520, 513, 112, 578, 544, 548, 114, 578,
+ 426, 426, 565, 444, 279, 635, 0, 552, 558, 559,
+ 413, 413, 444, 444, 0, 444, 555, 543, 0, 831,
+ 831, 578, 578, 0, 0, 0, 0, 453, 0, 0,
+ 229, 230, 676, 344, 285, 694, 831, 0, 134, 136,
+ 138, 771, 765, 769, 0, 708, 703, 203, 778, 780,
+ 781, 0, 0, 717, 0, 0, 0, 744, 746, 747,
+ 748, 0, 0, 0, 0, 0, 0, 0, 779, 0,
+ 362, 786, 0, 722, 360, 413, 0, 361, 0, 413,
+ 0, 0, 0, 201, 702, 701, 723, 757, 756, 308,
+ 836, 416, 516, 517, 511, 831, 831, 564, 561, 563,
+ 0, 0, 426, 426, 426, 560, 562, 547, 466, 0,
+ 465, 460, 95, 101, 831, 831, 322, 323, 324, 325,
+ 455, 0, 231, 690, 436, 0, 770, 443, 192, 0,
+ 714, 727, 716, 0, 0, 0, 0, 0, 740, 0,
+ 749, 0, 755, 39, 144, 34, 144, 0, 35, 767,
+ 0, 358, 359, 0, 0, 0, 357, 202, 717, 111,
+ 113, 426, 426, 570, 444, 444, 0, 0, 478, 98,
+ 104, 577, 0, 772, 199, 0, 391, 0, 717, 0,
+ 730, 718, 704, 783, 733, 0, 0, 0, 0, 745,
+ 754, 40, 36, 0, 0, 724, 569, 567, 566, 568,
+ 463, 462, 456, 86, 89, 0, 0, 0, 193, 413,
+ 715, 204, 728, 206, 0, 784, 0, 782, 738, 742,
+ 741, 768, 790, 0, 0, 461, 776, 777, 773, 426,
+ 704, 190, 0, 0, 196, 0, 195, 717, 0, 0,
+ 0, 791, 792, 750, 459, 0, 458, 0, 205, 0,
+ 731, 734, 739, 743, 0, 790, 0, 0, 457, 197,
+ 191, 0, 0, 0, 751, 793, 0, 0, 794, 0,
+ 0, 198, 735, 795, 0, 752, 0, 0, 0, 736,
+ 796, 753, 0, 0, 0
};
-static const short yydefgoto[] = { 1622,
- 436, 2, 437, 165, 707, 331, 181, 3, 4, 37,
- 670, 373, 1306, 671, 779, 1307, 1308, 393, 1409, 675,
- 41, 780, 402, 681, 948, 682, 683, 684, 43, 172,
- 173, 44, 455, 184, 180, 45, 46, 796, 1072, 802,
- 1074, 47, 782, 783, 185, 186, 456, 714, 984, 985,
- 650, 986, 234, 48, 970, 969, 697, 694, 1138, 1137,
- 928, 925, 136, 968, 49, 50, 922, 563, 332, 333,
- 334, 335, 1309, 1573, 1470, 1575, 1515, 1606, 1180, 1552,
- 1570, 367, 914, 336, 1247, 869, 602, 876, 337, 338,
- 368, 340, 358, 52, 255, 676, 418, 154, 53, 54,
- 341, 558, 342, 343, 344, 345, 457, 346, 1310, 496,
- 624, 347, 1311, 56, 217, 687, 348, 218, 536, 219,
- 197, 210, 60, 479, 497, 1333, 748, 1198, 198, 211,
- 61, 507, 749, 62, 63, 666, 667, 668, 1283, 462,
- 839, 840, 1543, 1544, 1508, 1450, 1361, 64, 654, 361,
- 1224, 1451, 1093, 931, 65, 66, 67, 68, 69, 241,
- 70, 71, 243, 766, 767, 768, 769, 245, 504, 505,
- 793, 787, 788, 789, 1044, 1054, 1045, 1350, 1046, 1047,
- 1351, 1352, 651, 652, 603, 904, 350, 465, 466, 191,
- 199, 73, 74, 75, 200, 142, 143, 157, 77, 132,
- 351, 352, 353, 79, 354, 81, 771, 123, 124, 125,
- 512, 105, 82, 355, 881, 882, 899, 627, 1314, 1315,
- 1181, 1182, 1183, 718, 1316, 991, 1317, 1394, 1518, 1473,
- 1474, 1318, 1319, 1498, 1395, 1519, 1396, 1554, 1397, 1556,
- 1601, 1616, 1398, 1577, 1528, 1578, 1479, 458, 715, 1281,
- 1320, 1412, 1533, 1385, 1386, 1465, 1547, 1517, 1513, 1321,
- 1524, 1415, 846, 1580, 1581, 1582, 1614, 734, 735, 1011,
- 1194, 1329, 736, 737, 738, 1007, 739, 148, 1009, 741,
- 1196, 1197, 530, 84, 85
+static const short yydefgoto[] = { 1623,
+ 435, 2, 436, 165, 707, 330, 181, 3, 4, 37,
+ 670, 372, 1301, 671, 767, 1302, 1303, 392, 1407, 675,
+ 41, 768, 401, 681, 936, 682, 683, 684, 43, 172,
+ 173, 44, 454, 184, 180, 45, 46, 784, 1066, 790,
+ 1068, 47, 770, 771, 185, 186, 455, 714, 974, 975,
+ 650, 976, 234, 48, 958, 957, 697, 694, 1132, 1131,
+ 916, 913, 136, 956, 49, 50, 910, 563, 331, 332,
+ 333, 334, 1304, 1574, 1471, 1576, 1516, 1607, 1174, 1553,
+ 1571, 366, 902, 335, 1242, 857, 602, 864, 336, 337,
+ 367, 339, 357, 52, 254, 676, 417, 154, 53, 54,
+ 340, 558, 341, 342, 343, 344, 456, 345, 1305, 495,
+ 624, 346, 1306, 56, 217, 687, 347, 218, 536, 219,
+ 197, 210, 60, 478, 496, 1328, 748, 1192, 198, 211,
+ 61, 507, 749, 62, 63, 666, 667, 668, 1278, 461,
+ 827, 828, 1544, 1545, 1509, 1451, 1359, 64, 654, 360,
+ 1219, 1452, 1087, 919, 65, 66, 67, 68, 69, 241,
+ 242, 70, 71, 502, 1013, 1014, 1015, 1016, 244, 504,
+ 505, 781, 775, 776, 777, 1038, 1048, 1039, 1348, 1040,
+ 1041, 1349, 1350, 651, 652, 603, 892, 349, 464, 465,
+ 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
+ 132, 350, 351, 352, 79, 353, 81, 1018, 123, 124,
+ 125, 512, 105, 82, 354, 869, 870, 887, 627, 1309,
+ 1310, 1175, 1176, 1177, 718, 1311, 983, 1312, 1392, 1519,
+ 1474, 1475, 1313, 1314, 1499, 1393, 1520, 1394, 1555, 1395,
+ 1557, 1602, 1617, 1396, 1578, 1529, 1579, 1480, 457, 715,
+ 1276, 1315, 1410, 1534, 1383, 1384, 1466, 1548, 1518, 1514,
+ 1316, 1525, 1413, 834, 1581, 1582, 1583, 1615, 734, 735,
+ 1003, 1188, 1324, 736, 737, 738, 999, 739, 148, 1001,
+ 741, 1190, 1191, 530, 84, 85
};
-static const short yypact[] = { 134,
- 147,-32768,-32768, 10614,-32768, 113, 124, 383, 475, 168,
- 235,-32768,-32768, 1317,-32768, 193, 230, 267,-32768,-32768,
--32768, 797, 818, 588, 296,-32768, 326, 491,-32768, 3006,
- 3006,-32768, 2737,-32768, 10614, 330,-32768,-32768, 365,-32768,
- 73, 3940,-32768,-32768, 333, 911, 425, 405, 437,-32768,
--32768,-32768,-32768, 325, 2831,-32768, 4345,-32768, 1547, 700,
--32768, 467,-32768,-32768, 2099, 254,-32768, 458,-32768,-32768,
- 500, 7261,-32768,-32768,-32768, 1031,-32768,-32768,-32768, 1082,
--32768,-32768, 359, 6042, 490,-32768,-32768, 9680,-32768, 9680,
--32768, 9680,-32768,-32768,-32768, 383, 475, 326, 528, 504,
- 585, 437,-32768, 617,-32768, 359, 9766, 9766, 548,-32768,
--32768,-32768,-32768,-32768, 255, 592, 522, 741, 760, 594,
- 610,-32768,-32768, 1984,-32768, 710, 383, 475,-32768, 326,
- 528,-32768, 1230, 1299, 595, 5960, 9680,-32768, 9680, 4453,
- 3755,-32768,-32768, 1402, 680, 3755,-32768, 1687, 3899, 3899,
- 2737, 559, 569,-32768, 587, 1881, 614, 618,-32768,-32768,
- 682,-32768, 582,-32768, 3152,-32768,-32768, 296, 5610, 597,
--32768,-32768,-32768, 333, 3414, 10887, 835, 688,-32768,-32768,
- 661, 467, 753, 155, 402, 703,-32768,-32768, 662, 98,
--32768,-32768, 4138, 4138, 4947, 1031, 868,-32768,-32768, 454,
--32768,-32768, 2487,-32768,-32768,-32768,-32768,-32768, 1547, 892,
--32768, 467, 1031,-32768,-32768,-32768, 1705, 1547,-32768, 467,
--32768, 3414,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 437, 467, 1998, 1822,-32768,-32768,
- 458,-32768,-32768,-32768,-32768,-32768, 1038, 359,-32768, 304,
- 1529,-32768, 185,-32768,-32768,-32768,-32768,-32768, 4607,-32768,
--32768, 803,-32768, 690, 697,-32768,-32768,-32768,-32768, 737,
+static const short yypact[] = { 126,
+ 129,-32768,-32768, 10615,-32768, 110, 77, 203, 259, 176,
+ 247,-32768,-32768, 1079,-32768, 22, 232, 273,-32768,-32768,
+-32768, 418, 1052, 1404, 336,-32768, 357, 452,-32768, 2484,
+ 2484,-32768, 2672,-32768, 10615, 351,-32768,-32768, 422,-32768,
+ 175, 4517,-32768,-32768, 391, 209, 478, 488, 455,-32768,
+-32768,-32768,-32768, 458, 1898,-32768, 5536,-32768, 938, 211,
+-32768, 523,-32768,-32768, 331, 509,-32768,-32768,-32768,-32768,
+ 533, 3647,-32768,-32768,-32768, 1224,-32768,-32768,-32768, 409,
+-32768,-32768, 800, 7914, 527,-32768,-32768, 9681,-32768, 9681,
+-32768, 9681,-32768,-32768,-32768, 203, 259, 357, 541, 510,
+ 605, 455,-32768, 815,-32768, 800, 9767, 9767, 530,-32768,
+-32768,-32768,-32768,-32768, 284, 631, 457, 577, 624, 638,
+ 641,-32768,-32768, 686,-32768, 982, 203, 259,-32768, 357,
+ 541,-32768, 1244, 1418, 570, 10888, 9681,-32768, 9681, 3446,
+ 2986,-32768,-32768, 832, 877, 2986,-32768, 1464, 3204, 3204,
+ 2672, 597, 602,-32768, 643, 1348, 639, 642,-32768,-32768,
+ 688,-32768, 645,-32768, 1818,-32768,-32768, 336, 5424, 659,
+-32768,-32768,-32768, 391, 5857, 10943, 475, 703,-32768,-32768,
+ 680, 523, 785, 76, 67, 732,-32768,-32768, 700, 191,
+-32768,-32768, 4646, 4646, 5138, 1224, 959,-32768,-32768, 535,
+-32768,-32768, 1359,-32768,-32768,-32768,-32768,-32768, 938, 1020,
+-32768, 523, 1224,-32768,-32768,-32768, 2418, 938,-32768, 523,
+-32768, 5857,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 455, 523, 1277, 1579,-32768,-32768,
+ 755, 755,-32768,-32768,-32768, 1057, 800,-32768, 674, 1215,
+-32768, 236,-32768,-32768,-32768,-32768,-32768, 4780,-32768,-32768,
+ 517,-32768, 731, 734,-32768,-32768,-32768,-32768, 782,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 699,-32768,-32768, 1038, 7261, 650,-32768,-32768,
- 727,-32768,-32768, 10374, 10460, 10546, 10546,-32768,-32768,-32768,
--32768,-32768, 738, 770, 772, 790, 804, 939, 528, 9852,
- 2016, 10546,-32768,-32768, 10546,-32768,-32768, 10546, 7206,-32768,
- 10546, 318, 851,-32768, 10546,-32768, 9938,-32768, 11105, 228,
- 821, 2403, 10024,-32768, 869, 440,-32768, 685, 927, 1846,
--32768, 237,-32768, 1902, 3265, 318, 318, 9680, 5960,-32768,
- 2016, 775, 2016,-32768,-32768, 810, 878, 11038, 831, 879,
- 887, 1713, 582,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 592, 522, 741, 2016, 760, 594, 918, 610,-32768,
- 965,-32768, 1075, 383, 475,-32768,-32768,-32768,-32768,-32768,
--32768, 6810,-32768, 3414, 10954, 994,-32768, 318, 581,-32768,
--32768, 898,-32768, 961, 971,-32768,-32768,-32768, 3755,-32768,
--32768, 3755,-32768, 943,-32768,-32768,-32768, 1881, 1881, 1881,
--32768,-32768,-32768, 4607, 97, 947, 951,-32768,-32768,-32768,
--32768, 5960,-32768, 973, 984,-32768,-32768, 682,-32768, 467,
--32768,-32768,-32768,-32768, 126,-32768,-32768,-32768,-32768, 7781,
- 9852,-32768,-32768,-32768, 9852, 978,-32768, 6717, 119, 4618,
--32768, 4618,-32768, 4748, 4748, 4947, 985,-32768, 467, 3414,
--32768, 989,-32768,-32768, 4855, 1705, 1547, 3414,-32768, 467,
--32768,-32768, 467, 1705,-32768, 1065,-32768,-32768, 437,-32768,
- 1998,-32768, 1941, 5099, 72, 1038, 467,-32768,-32768, 1027,
- 1030, 1052, 1033,-32768,-32768,-32768,-32768, 628,-32768, 247,
- 998, 1001,-32768,-32768, 1038,-32768,-32768, 981,-32768,-32768,
- 9680, 9852, 727, 7206,-32768, 287, 7206,-32768,-32768,-32768,
- 9766, 10998, 10998, 10998, 10998, 11083,-32768,-32768,-32768,-32768,
- 1005, 10116, 10116, 7206, 1009, 136, 1013, 1062, 1016,-32768,
--32768,-32768,-32768, 9680,-32768, 7320, 7206,-32768, 9852, 9852,
- 7872, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852,
- 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852, 9852,
--32768, 9852,-32768,-32768,-32768,-32768,-32768, 9852, 9852,-32768,
--32768, 6212, 468, 183, 8413,-32768,-32768,-32768, 1071, 1529,
- 1119, 362, 413, 463, 2639, 680,-32768, 1170, 1170,-32768,
- 3651, 1022, 1042, 1090,-32768,-32768, 543, 8963, 1352,-32768,
- 1019, 359,-32768,-32768, 9852,-32768,-32768,-32768,-32768,-32768,
- 266, 490,-32768,-32768, 318,-32768, 3414, 2324,-32768, 1080,
- 1089,-32768,-32768, 2016, 918,-32768, 8145, 8236,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, 61,-32768, 1056, 1044, 582,
- 1075, 1097, 9680,-32768, 1094,-32768,-32768, 1299, 1620, 1124,
- 433, 1101, 1102,-32768,-32768, 1616, 10887, 1616, 3284, 2099,
- 4549,-32768, 1107,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 1053, 1068,-32768, 1118,-32768,-32768, 333,-32768,-32768,
--32768,-32768, 106, 328, 1123, 1062,-32768,-32768,-32768,-32768,
- 7112, 11083,-32768, 878, 1073, 11038,-32768,-32768, 1081,-32768,
- 1084, 542, 5731, 1086,-32768, 150, 3420, 1131, 1137, 466,
--32768,-32768,-32768, 4618, 4618,-32768, 4855,-32768, 1138,-32768,
--32768, 1092, 119,-32768, 1705,-32768,-32768, 467,-32768, 522,
- 741,-32768, 1113,-32768, 610, 1149,-32768,-32768, 273,-32768,
--32768, 2023,-32768, 664, 825,-32768, 9852, 10692,-32768, 10692,
- 241, 241, 447, 541, 4866, 10760, 5486,-32768, 156, 241,
- 1145, 467, 6153,-32768, 119, 5039, 9680, 9680,-32768, 9680,
- 119, 5039,-32768,-32768,-32768,-32768,-32768,-32768, 1324, 1324,
- 1324, 318, 1110, 1114, 9331, 1090, 1115, 1117, 1129, 1134,
- 3596, 1140, 1146, 1169,-32768, 1139,-32768,-32768, 1141,-32768,
--32768, 1183, 283, 795, 92, 469, 9852, 1196,-32768, 1202,
- 1151, 11083, 11083,-32768,-32768, 1204, 6378, 6411, 6614, 11008,
- 3061, 3485, 3796, 2854, 2854, 2854, 1373, 1373, 1148, 1148,
- 532, 532, 532,-32768,-32768, 1154, 1160, 1158, 9852, 9766,
--32768, 468,-32768, 7781, 9852,-32768,-32768,-32768, 9852,-32768,
--32768, 1176, 10546, 1166, 1191, 1211, 1234,-32768, 9852,-32768,
- 9852,-32768, 9852, 2254,-32768, 2254,-32768, 162, 1180, 1185,
--32768, 1187, 10998, 119,-32768, 119, 2810,-32768, 5039, 1190,
- 9147, 9147, 5316, 1186, 9938, 1188, 1881, 3529, 3265, 1195,
- 1198,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9852, 2016,
- 1182, 1089,-32768, 11083,-32768, 11083, 1713, 1199, 10202,-32768,
- 1203, 1249,-32768, 318,-32768,-32768,-32768,-32768,-32768, 1810,
- 6810,-32768, 10998, 9680, 1977, 1977, 4216,-32768,-32768,-32768,
--32768, 2487,-32768,-32768,-32768, 884, 9852,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 333,-32768, 592,-32768,
- 760, 594, 9852, 1252,-32768, 578, 583, 651, 1062,-32768,
- 88,-32768, 84,-32768,-32768,-32768,-32768,-32768,-32768, 9055,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 1137, 1255,-32768,
--32768,-32768, 10998,-32768,-32768,-32768, 1261,-32768, 9766,-32768,
--32768,-32768,-32768, 1602,-32768, 5039, 11083,-32768, 836,-32768,
- 467, 467,-32768,-32768,-32768,-32768,-32768, 5039, 334, 811,
- 9852, 1065,-32768, 1254,-32768,-32768,-32768, 211, 352, 1082,
- 680, 364, 241, 1268,-32768, 556,-32768,-32768,-32768, 467,
--32768,-32768, 8481,-32768, 1226, 318, 318, 318,-32768, 1228,
- 119, 5039, 119, 5039,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 1244, 1248, 1257, 1258, 1053,-32768, 6933,
- 7781, 7414, 1233,-32768, 9852,-32768,-32768,-32768, 1253, 1259,
- 1260, 10998,-32768,-32768, 1262, 214, 423, 423, 1265, 423,
--32768,-32768, 10546, 1355, 9680,-32768, 1269, 1275, 1277,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 119, 1280,-32768,
- 1278,-32768,-32768, 3668,-32768,-32768,-32768,-32768,-32768, 11083,
--32768,-32768, 1256,-32768,-32768, 151, 1283,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 2225, 2225, 2666, 2666, 4216,-32768,
- 2487,-32768, 2960, 11105,-32768,-32768,-32768, 1284,-32768, 328,
--32768, 9852,-32768, 9852,-32768, 9852,-32768, 2016,-32768,-32768,
- 6871, 1333,-32768, 7505,-32768, 9239, 9239, 5831, 188, 1287,
- 294,-32768, 7781, 7596,-32768,-32768, 166, 7781,-32768, 1288,
- 1289, 1941,-32768,-32768,-32768, 119, 1290,-32768, 1336, 1336,
- 119, 1301, 9852, 9852, 4666, 467, 5218, 467, 467, 1200,
- 467, 5335, 1336,-32768,-32768,-32768, 1358,-32768,-32768,-32768,
- 1307,-32768, 1310, 9852, 9852, 9852, 9852, 7781,-32768, 1359,
--32768,-32768, 11083,-32768,-32768,-32768, 533, 1260,-32768,-32768,
--32768,-32768,-32768,-32768, 1311,-32768, 1377, 318,-32768,-32768,
--32768, 119,-32768,-32768,-32768,-32768,-32768,-32768, 9852,-32768,
--32768, 2225, 2225,-32768, 2960,-32768,-32768, 1320, 1322, 1323,
- 1337,-32768, 990, 206, 1370, 871, 902,-32768,-32768,-32768,
--32768,-32768, 9852, 1372, 1375, 1376, 9417, 606, 2016, 655,
- 442,-32768,-32768, 9508, 1431,-32768,-32768,-32768, 1382,-32768,
- 5376, 10828, 4008, 6334,-32768,-32768, 1428,-32768,-32768,-32768,
- 8574,-32768,-32768, 1339, 641,-32768,-32768,-32768,-32768, 10998,
--32768,-32768, 7781,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 4666, 4666,-32768, 1336, 545, 915, 9852,-32768,
--32768,-32768, 1065, 1065, 1336, 1336, 628, 1336,-32768,-32768,
- 6555, 119, 119,-32768,-32768, 1341, 1354, 1356, 1360,-32768,
- 7781, 9852,-32768, 533,-32768,-32768,-32768,-32768, 119, 1361,
--32768,-32768,-32768,-32768, 1337,-32768, 2016,-32768,-32768,-32768,
--32768,-32768,-32768, 684, 684, 1062, 1380, 1381, 6461,-32768,
--32768,-32768,-32768, 1417, 9852, 1420, 1419, 1412, 2034, 2055,
--32768, 1062,-32768,-32768, 1394,-32768,-32768, 1065, 1004,-32768,
- 1006, 1065, 9594, 1012, 240,-32768,-32768,-32768,-32768,-32768,
--32768, 360,-32768,-32768, 119, 119,-32768,-32768,-32768, 9852,
- 9852, 4666, 467, 467,-32768,-32768,-32768,-32768, 8327,-32768,
--32768,-32768,-32768, 119, 119,-32768,-32768,-32768,-32768,-32768,
- 1387,-32768,-32768,-32768, 1399,-32768,-32768,-32768, 9766,-32768,
--32768,-32768, 1482, 8870, 7021, 9766, 9852,-32768, 8682,-32768,
- 1442,-32768,-32768, 1447,-32768, 1412, 2034,-32768,-32768, 682,
--32768,-32768, 10288, 10288, 7690,-32768,-32768, 1062,-32768,-32768,
- 4666, 4666,-32768, 1336, 1336, 1404, 10993, 1415,-32768,-32768,
--32768, 10941,-32768,-32768, 1401, 510, 3414, 1062, 8776,-32768,
--32768, 88,-32768,-32768, 1456, 1409, 11061, 8682,-32768,-32768,
--32768,-32768, 1337, 68,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 425, 333, 1418, 1423, 1062,-32768, 1065,-32768,
--32768,-32768,-32768, 693,-32768, 7963,-32768,-32768,-32768,-32768,
- 1337, 1509, 1463, 169,-32768,-32768,-32768,-32768, 467, 88,
--32768, 9852, 1465,-32768, 1468,-32768, 1062, 8682, 1443, 742,
- 1486,-32768,-32768,-32768, 126,-32768, 1477,-32768, 1439,-32768,
--32768,-32768,-32768, 9852, 1509, 1488, 1509,-32768,-32768,-32768,
- 8054, 1445, 754,-32768,-32768, 7781, 1449,-32768, 1538, 1500,
--32768,-32768,-32768, 184,-32768, 8776, 1551, 1503,-32768,-32768,
--32768, 1568, 1569,-32768
+-32768, 739,-32768,-32768, 1057, 3647, 988,-32768,-32768, 762,
+-32768,-32768, 10375, 10461, 10547, 10547,-32768,-32768,-32768,-32768,
+-32768, 777, 801, 810, 818, 824, 343, 541, 9853, 1772,
+ 10547,-32768,-32768, 10547,-32768,-32768, 10547, 7116,-32768, 10547,
+ 712, 817,-32768, 10547,-32768, 9939,-32768, 11183, 263, 1821,
+ 4581, 10025,-32768, 890, 3298,-32768, 1940, 1624, 2321,-32768,
+ 335,-32768, 2792, 1755, 712, 712, 9681, 10888,-32768, 1772,
+ 804, 1772,-32768,-32768, 813, 859, 11116, 831, 845, 853,
+ 900, 645,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 631, 457, 577, 1772, 624, 638, 849, 641,-32768, 909,
+-32768, 2246, 203, 259,-32768,-32768,-32768,-32768,-32768,-32768,
+ 10997,-32768, 5857, 11054, 2230,-32768, 712, 802,-32768,-32768,
+ 584,-32768, 891, 903,-32768,-32768,-32768, 2986,-32768,-32768,
+ 2986,-32768, 896,-32768,-32768,-32768, 1348, 1348, 1348,-32768,
+-32768,-32768, 4780, 112, 899, 901,-32768,-32768,-32768,-32768,
+ 10888,-32768, 1062, 1102,-32768,-32768, 688,-32768, 523,-32768,
+-32768,-32768,-32768, 115,-32768,-32768,-32768,-32768, 7574, 9853,
+-32768,-32768,-32768, 9853, 916,-32768, 6915, 101, 4970,-32768,
+ 4970,-32768, 5273, 5273, 5138, 923,-32768, 523, 5857,-32768,
+ 918,-32768,-32768, 5303, 2418, 938, 5857,-32768, 523,-32768,
+-32768, 523, 2418,-32768, 1022,-32768,-32768, 455,-32768, 1277,
+-32768,-32768,-32768, 5647, 100, 1057, 523,-32768,-32768, 973,
+ 980, 1007, 998,-32768,-32768,-32768,-32768, 753,-32768, 394,
+ 958, 963,-32768,-32768, 1057,-32768,-32768, 661,-32768,-32768,
+ 9681, 9853, 762, 7116,-32768, 449, 7116,-32768,-32768,-32768,
+ 9767, 4022, 4022, 4022, 4022, 11161,-32768,-32768,-32768,-32768,
+ 979, 10117, 10117, 7116, 983, 168, 987, 1042, 1006,-32768,
+-32768,-32768,-32768, 9681,-32768, 6244, 7116,-32768, 9853, 9853,
+ 7665, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
+ 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
+-32768, 9853,-32768,-32768,-32768,-32768,-32768, 9853, 9853,-32768,
+-32768, 886, 378, 524, 8274,-32768,-32768,-32768, 1064, 1215,
+ 1108, 499, 578, 587, 2940, 877,-32768, 2114, 2114,-32768,
+ 5068, 1019, 1061, 1109,-32768,-32768, 565, 8964, 1214,-32768,
+ 995, 800,-32768,-32768, 9853,-32768,-32768,-32768,-32768,-32768,
+ 355, 527,-32768,-32768, 712,-32768, 5857, 2362,-32768, 1099,
+ 1118,-32768,-32768, 1772, 849,-32768, 8006, 8097,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 137,-32768, 1090, 1081, 645,
+ 2246, 1140, 9681,-32768, 1145,-32768,-32768, 1418, 1440, 1164,
+ 395, 1143, 1148,-32768,-32768, 2103, 10943, 2103, 4337, 331,
+ 3702,-32768, 1158,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 1117, 1119,-32768, 1168,-32768,-32768, 391,-32768,-32768,
+-32768,-32768, 116, 318, 1167, 1042,-32768,-32768,-32768,-32768,
+ 7006, 11161,-32768, 859, 1126, 11116,-32768,-32768, 1127,-32768,
+ 1128, 384, 6051, 1130,-32768, 314, 5716, 1175, 1177, 607,
+-32768,-32768,-32768, 4970, 4970,-32768, 5303,-32768, 1179,-32768,
+-32768, 1134, 101,-32768, 2418,-32768,-32768, 523,-32768, 2778,
+-32768, 921, 456,-32768, 9853, 10693,-32768, 10693, 121, 121,
+ 177, 665, 3193, 10761, 8342,-32768, 169, 121, 1182, 523,
+ 8412,-32768, 101, 6183, 9681, 9681,-32768, 9681, 101, 6183,
+-32768,-32768,-32768,-32768,-32768,-32768, 699, 699, 699, 712,
+ 1149, 1151, 9332, 1109, 1152, 1155, 1157, 1194, 2848, 1199,
+ 1202, 1204,-32768, 1178,-32768,-32768, 1185,-32768,-32768, 1228,
+ 620, 791, 66, 96, 9853, 1235,-32768, 1239, 1196, 11161,
+ 11161,-32768,-32768, 1248, 3488, 6078, 4671, 6829, 11090, 6609,
+ 4141, 2007, 2007, 2007, 2386, 2386, 941, 941, 748, 748,
+ 748,-32768,-32768, 1198, 1203, 1206, 9853, 9767,-32768, 378,
+-32768, 7574, 9853,-32768,-32768,-32768, 9853,-32768,-32768, 1219,
+ 10547, 1207, 1227, 1246, 1281,-32768, 9853,-32768, 9853,-32768,
+ 9853, 2551,-32768, 2551,-32768, 82, 1221, 1222,-32768, 1229,
+ 4022, 101,-32768, 101, 3146,-32768, 6183, 1232, 9148, 9148,
+ 6469, 1230, 9939, 1231, 1348, 2216, 1755, 1072, 1238,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 9853, 1772, 1236, 1118,
+-32768, 11161,-32768, 11161, 900, 1245, 10203,-32768, 1243, 1287,
+-32768, 712,-32768,-32768,-32768,-32768,-32768, 1968, 10997,-32768,
+ 4022, 9681, 2122, 2122, 5193,-32768,-32768,-32768,-32768, 1359,
+-32768,-32768,-32768, 932, 9853,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 391,-32768, 631, 457, 577,-32768,
+ 624, 638, 9853, 1296,-32768, 668, 641, 682, 705, 1813,
+ 1042,-32768, 78,-32768, 155,-32768,-32768,-32768,-32768,-32768,
+-32768, 9056,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1177,
+ 1295,-32768,-32768,-32768, 4022,-32768,-32768,-32768, 1297,-32768,
+ 1267,-32768, 1307,-32768,-32768, 106,-32768,-32768,-32768, 6183,
+ 11161,-32768, 1692,-32768, 523, 523,-32768,-32768,-32768,-32768,
+-32768, 6183, 496, 904, 9853, 1022,-32768, 1310,-32768,-32768,
+-32768, 224, 586, 409, 877, 772, 121, 1311,-32768, 816,
+-32768,-32768,-32768, 523,-32768,-32768, 8482,-32768, 1263, 712,
+ 712, 712,-32768, 1268, 101, 6183, 101, 6183,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1284, 1288, 1291,
+ 1292, 1117,-32768, 11049, 7574, 7207, 1271,-32768, 9853,-32768,
+-32768,-32768, 1282, 1285, 1286, 4022,-32768,-32768, 1290, 212,
+ 1777, 1777, 1279, 1777,-32768,-32768, 10547, 1387, 9681,-32768,
+ 1293, 1298, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 101, 1304,-32768, 1306,-32768,-32768, 2930,-32768,-32768,
+-32768,-32768,-32768, 11161,-32768,-32768, 1294,-32768,-32768, 173,
+ 1312,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3044, 3044,
+ 3592, 3592, 5193,-32768, 1359,-32768, 4042, 11183,-32768,-32768,
+-32768, 1317,-32768, 318,-32768, 9853,-32768, 9853,-32768, 9853,
+-32768, 1772,-32768,-32768, 6696, 1363,-32768, 7298,-32768, 9240,
+ 9240, 6804, 196, 1318, 400,-32768, 7574, 7389,-32768,-32768,
+ 188, 7574,-32768,-32768, 9767,-32768,-32768,-32768,-32768, 1595,
+ 101, 1321,-32768, 1350, 1350, 101, 1325, 9853, 9853, 4694,
+ 523, 4333, 523, 523, 1094, 523, 5812, 1350,-32768,-32768,
+-32768, 1380,-32768,-32768,-32768, 1329,-32768, 1332, 9853, 9853,
+ 9853, 9853, 7574,-32768, 1389,-32768,-32768, 11161,-32768,-32768,
+-32768, 521, 1286,-32768,-32768,-32768,-32768,-32768,-32768, 1331,
+-32768, 1402, 712,-32768,-32768,-32768, 101,-32768,-32768,-32768,
+-32768,-32768,-32768, 9853,-32768,-32768, 3044, 3044,-32768, 4042,
+-32768,-32768, 1344, 1345, 1349, 1360,-32768, 1106, 241, 1400,
+ 1049, 1093,-32768,-32768,-32768,-32768,-32768, 9853, 1401, 1405,
+ 1417, 9418, 376, 1772, 347, 502,-32768,-32768, 9509, 1455,
+-32768,-32768,-32768, 1419,-32768, 5314, 10829, 3813, 6585,-32768,
+-32768, 1462,-32768,-32768,-32768, 8575,-32768,-32768, 1373, 608,
+-32768,-32768,-32768,-32768, 4022,-32768,-32768, 7574, 1375, 1381,
+ 2778,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 4694, 4694,-32768, 1350, 614, 1122, 9853,-32768,-32768,-32768,
+ 1022, 1022, 1350, 1350, 753, 1350,-32768,-32768, 6341, 101,
+ 101,-32768,-32768, 1383, 1385, 1391, 1399,-32768, 7574, 9853,
+-32768, 521,-32768,-32768,-32768,-32768, 101, 1407,-32768,-32768,
+-32768,-32768, 1360,-32768, 1772,-32768,-32768,-32768,-32768,-32768,
+-32768, 754, 754, 1042, 1395, 1424, 3882,-32768,-32768,-32768,
+-32768, 1450, 9853, 1459, 1460, 1472, 1879, 1890,-32768, 1042,
+-32768,-32768, 1439,-32768,-32768, 1022, 1113,-32768, 1133, 1022,
+ 9595, 1156, 248,-32768,-32768,-32768,-32768,-32768,-32768, 514,
+-32768,-32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,
+ 9853, 9853, 4694, 523, 523,-32768,-32768,-32768,-32768, 8188,
+-32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,-32768,
+-32768, 1431,-32768,-32768,-32768, 1453,-32768,-32768,-32768, 9767,
+-32768,-32768,-32768, 1526, 8871, 4910, 9767, 9853,-32768, 8683,
+-32768, 1489,-32768,-32768, 1496,-32768, 1472, 1879,-32768,-32768,
+ 688,-32768,-32768, 10289, 10289, 7483,-32768,-32768, 1042,-32768,
+-32768, 4694, 4694,-32768, 1350, 1350, 1444, 11071, 1457,-32768,
+-32768,-32768, 11010,-32768,-32768, 1447, 591, 5857, 1042, 8777,
+-32768,-32768, 78,-32768,-32768, 1492, 1454, 11139, 8683,-32768,
+-32768,-32768,-32768, 1360, 97,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 478, 391, 1458, 1461, 1042,-32768, 1022,
+-32768,-32768,-32768,-32768, 769,-32768, 7756,-32768,-32768,-32768,
+-32768, 1360, 1550, 1507, 179,-32768,-32768,-32768,-32768, 523,
+ 78,-32768, 9853, 1513,-32768, 1516,-32768, 1042, 8683, 1484,
+ 760, 1520,-32768,-32768,-32768, 115,-32768, 1524,-32768, 1483,
+-32768,-32768,-32768,-32768, 9853, 1550, 1530, 1550,-32768,-32768,
+-32768, 7847, 1485, 778,-32768,-32768, 7574, 1493,-32768, 1569,
+ 1532,-32768,-32768,-32768, 189,-32768, 8777, 1591, 1544,-32768,
+-32768,-32768, 1605, 1606,-32768
};
static const short yypgoto[] = {-32768,
- 1572,-32768, -314, 1403, -401, 39, 2, 1574,-32768, 1542,
--32768,-32768, 120,-32768, 252,-32768, 486,-32768, 191, 908,
- 57, 9,-32768,-32768, -614,-32768,-32768, 643, 64, 1426,
- 1161, 1437, -697, 67, -172, 20, -35,-32768,-32768,-32768,
--32768,-32768, 822,-32768,-32768,-32768,-32768,-32768,-32768, 434,
- 1848,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1517, -626, 6173, -70, -491, 74, -73, 1490,
- -541,-32768, 363,-32768, 221,-32768, -1357,-32768, -1384, 15,
--32768, 2213, 1279, -255, 385, -529,-32768, -830, 3900, 1424,
- 1207, 4286, 1335, -328, -56, -79, 1613, -147, -51, 0,
--32768,-32768,-32768, -330,-32768, -160,-32768,-32768, -1213, -39,
- -334, 3372, 83, 1441, -148, 65, 31, -201, -4, -120,
- -168, -165, 25, 66, 46,-32768, -350,-32768,-32768,-32768,
--32768,-32768, -5, 1208, -30,-32768, 698,-32768,-32768, -952,
- -413, 919,-32768,-32768,-32768,-32768,-32768, 80,-32768,-32768,
--32768,-32768,-32768, 707, -366,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 1400,-32768, 443, 620,-32768,-32768,-32768,-32768,
--32768, 855, -695,-32768,-32768,-32768,-32768,-32768,-32768, 863,
--32768, 428, 997, 722, 1051, 2738, 10, 60, -454, 1454,
- 1818, -473,-32768, 7,-32768, 17, 1406, -146, 96, -76,
- 4791, 1315,-32768, 5548, 2440, 1788, -18, -106,-32768, 1540,
- -59,-32768, 4983, 3380, -219,-32768, 2934,-32768,-32768, 348,
--32768,-32768, 483, 81, -421,-32768,-32768,-32768,-32768, -1354,
--32768, -1225, -1396,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 105,-32768,-32768,
--32768,-32768,-32768, 138, -1310,-32768,-32768, -24,-32768,-32768,
--32768,-32768, -1373, 90,-32768, 82,-32768, -691, -565, 681,
--32768,-32768,-32768,-32768, -378,-32768, -376, -185,-32768, 1735,
- 358,-32768, 195,-32768, -239
+ 1608,-32768, -321, 1441, -379, 83, 7, 1607,-32768, 1575,
+-32768,-32768, 348,-32768, 423,-32768, 480,-32768, 206, 945,
+ 57, 5,-32768,-32768, -629,-32768,-32768, 681, 59, 1465,
+ 1181, 1466, -705, 79, -172, 23, 40,-32768,-32768,-32768,
+-32768,-32768, 852,-32768,-32768,-32768,-32768,-32768,-32768, 466,
+ 2100,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 1545, -614, 5775, -55, -535, -49, -63, 1501,
+ -518,-32768, 365,-32768, 250,-32768, -1375,-32768, -1306, 30,
+-32768, 2949, 1841, -282, 407, -544,-32768, -816, 3540, 783,
+ 1482, 4109, 1355, -330, -66, -85, 49, -139, -54, 6,
+-32768,-32768,-32768, -341,-32768, -160,-32768,-32768, -1210, 50,
+ -328, 1691, 149, 747, -145, 10, 58, -203, -4, -122,
+ -167, -169, 14, -10, 323,-32768, -353,-32768,-32768,-32768,
+-32768,-32768, 592, 1237, 55,-32768, 736,-32768,-32768, -1098,
+ -443, 935,-32768,-32768,-32768,-32768,-32768, 221,-32768,-32768,
+-32768,-32768,-32768, 743, -364,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 1425,-32768, 328, 468,-32768,-32768,-32768,
+-32768,-32768, 892, -697,-32768,-32768,-32768,-32768,-32768,-32768,
+ 898,-32768, 459, 1025, 766, 1083, 2985, 28, 31, -453,
+ 1487, 1849, -681,-32768, 41,-32768, 1256, 1077, -146, 17,
+ -99, 4676, 1343,-32768, 5050, 2478, 109, -18, -114,-32768,
+ 1566, -52,-32768, 4867, 3296, -120,-32768, 2722,-32768,-32768,
+ 382,-32768,-32768, 525, 107, -324,-32768,-32768,-32768,-32768,
+ -1380,-32768, -1218, -1399,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 134,-32768,
+-32768,-32768,-32768,-32768, 171, -1308,-32768,-32768, -43,-32768,
+-32768,-32768,-32768, -1395, 111,-32768, 104,-32768, -580, -598,
+ 709,-32768,-32768,-32768,-32768, -386,-32768, -382, -467,-32768,
+ 2023, 388,-32768, 346,-32768, -232
};
-#define YYLAST 11189
+#define YYLAST 11267
static const short yytable[] = { 59,
- 435, 443, 420, 423, 122, 36, 444, 487, 432, 253,
- 445, 513, 42, 72, 629, 196, 356, 989, 357, 392,
- 103, 208, 831, 692, 639, 693, 638, 752, 256, 770,
- 59, 224, 155, 719, 58, 690, 36, 59, 708, 141,
- 146, 1103, 35, 42, 72, 506, 723, 147, 535, 538,
- 42, 72, 209, 398, 399, 900, 503, 400, 669, 298,
- 486, 174, 900, 408, 391, 58, 177, 247, 57, 494,
- 971, 870, 58, 35, 1466, 965, 397, 1521, 607, 296,
- 169, 568, 1028, 349, 1030, 349, 55, 349, 1428, 260,
- 1413, 1057, 256, 297, 525, 1431, 492, 495, 170, 57,
- 403, 1525, 349, 349, 1065, 171, 176, 607, 791, 224,
- 1070, 182, 364, 190, 295, 642, 607, 55, 1526, 937,
- 1178, 178, 1553, 38, 175, 224, 716, 516, 158, 1562,
- 163, 406, 349, -1, 349, 196, 829, 1555, 221, 757,
- 208, 249, 1184, 1535, 467, 72, -2, 525, 155, 155,
- 155, 256, 923, -143, 38, 452, 794, 411, 419, 422,
- 59, 1002, 413, 1550, 59, 137, 58, 902, 938, 1584,
- 164, 209, 86, 997, 72, 1563, 449, 42, 72, 740,
- 792, 224, 591, 717, 440, 1588, 127, 128, 174, 224,
- 468, 520, 1185, 177, 155, 58, 1179, 88, 1576, 58,
- 405, 816, 470, 472, 705, 224, 972, 169, 1003, 1269,
- 147, 1004, -354, 978, 190, 1058, 453, 1129, 404, 1553,
- 998, 87, 1592, 999, 1330, 170, -354, 1607, 592, 57,
- 453, 514, 171, 176, -300, -363, 26, 15, 130, 131,
- 987, 93, 1617, -293, 158, 158, 158, 55, 178, 454,
- 1466, 175, 877, 1529, 260, 39, 1339, 1340, 1270, 190,
- 617, 1523, 878, 454, 1059, 1389, 613, 15, -363, 830,
- 1360, -413, -363, 1331, 591, 517, 879, 515, 490, 1022,
- -300, -300, 94, 634, 645, 107, 39, 713, 221, 612,
- 158, 1618, 247, 805, 990, -293, 221, 221, 1136, 1389,
- -413, 1139, 1560, 308, -413, -363, 815, 976, 977, 1023,
- 639, 239, 374, 950, 1390, 240, 677, 604, 375, 26,
- 592, 1250, 108, 646, 349, 672, 221, 420, 423, 635,
- 979, 760, 761, 617, 1207, 1151, 89, 296, 755, 806,
- -623, 1102, 1165, 1166, -141, 247, 1212, 900, 1497, -413,
- 508, 297, 1593, 349, 648, 941, 90, 91, 692, 109,
- 1008, 260, 8, 9, 695, 492, 495, 1057, 72, 135,
- 513, -581, 295, 492, 980, 221, -364, 92, 15, 815,
- 1231, 26, 1233, 981, 982, 495, -623, -623, -120, 58,
- 15, 900, 561, 1439, 562, 1213, 509, 689, 629, 137,
- 209, -623, 1445, 1446, 495, 1447, -302, 88, 888, -364,
- 680, 691, 1154, -364, 130, 131, 1373, -581, 189, 224,
- 983, -120, 161, 405, 162, -120, 127, 128, 221, 643,
- 644, 516, 688, 784, 900, 700, 89, 59, 701, 179,
- 608, 647, 300, 394, 395, 10, -364, 609, 459, 183,
- 704, 72, -302, -302, 889, 1131, 90, 812, -120, 890,
- 1104, 710, 224, 733, 187, 460, 177, -296, 781, 366,
- 370, 1033, 58, 155, 155, 155, 26, 691, 130, 131,
- 21, 698, 699, 744, 745, 221, 411, 610, 413, 40,
- 188, 951, 877, 26, 461, 27, 319, 18, 688, 59,
- -581, 517, 878, 1411, 1034, 891, 176, 952, 1035, 892,
- 1266, 1267, 1012, 72, 873, 137, 879, 215, 216, 242,
- 40, 178, 138, 14, 175, 750, 349, 611, 91, 349,
- -144, 874, 349, 756, 58, 975, 349, 821, 821, 821,
- 821, 1036, 778, 1462, 138, 20, -581, 482, 92, 349,
- 770, 1538, 1539, 997, 23, 893, 617, 244, 1013, 349,
- 875, 758, 349, 299, 139, 221, 221, 1177, 786, 158,
- 158, 158, 692, 221, 693, 377, 1018, 604, 1020, 873,
- -118, 138, 15, 1024, 690, 221, 785, 1037, 639, 908,
- 638, 127, 128, 900, 677, 90, 874, 296, 946, 944,
- 998, 947, 815, 999, 221, -826, 1440, 926, 95, 110,
- 111, 297, 360, -118, 589, 590, 689, -118, 88, 525,
- 8, 9, 900, 733, 1171, 875, 1372, 894, 896, 1173,
- 691, 129, 295, 1038, 492, 909, 910, 691, 260, 564,
- 372, 26, 362, 130, 131, 376, 958, 380, 963, 964,
- -118, 688, -302, 127, 128, 561, 1255, 562, 688, 568,
- 122, 112, 113, 381, 363, 392, -293, -302, 349, 401,
- 1172, -302, 130, 131, 803, 1174, 425, 1239, 1241, 642,
- 189, 91, 209, 127, 128, 1405, 247, -302, 127, 128,
- -7, 555, 303, 964, 164, 988, 987, 1175, 129, -302,
- -302, 92, -302, 26, -302, 130, 131, 784, 26, 784,
- 1025, 1408, 116, 117, 118, 784, 784, 91, 924, 526,
- 804, 433, 784, 1066, 1067, -618, 1068, 221, 770, 527,
- 1468, 617, 689, -302, -302, 130, 131, 92, 26, 1571,
- 130, 131, 781, 1176, 781, 1043, 691, 447, -302, 1042,
- 1052, 781, 1017, 448, 618, 451, 1026, 781, 222, 223,
- 700, 701, 463, 704, 619, 119, 120, 688, 221, 432,
- 1241, 816, 464, 59, 620, 59, 1469, 621, 622, 1326,
- 1328, 209, 59, 521, 1332, 1572, 1062, 72, 59, 72,
- 522, 689, 349, 349, 378, 349, 72, 689, 523, 95,
- 110, 111, 72, 1595, 1167, 691, 8, 518, 58, 524,
- 58, 691, 221, 379, 92, 1609, 778, 58, 778, 532,
- 116, 117, 118, 58, 1370, 778, 688, 727, 127, 128,
- 541, 778, 688, 137, 221, 1202, 1203, 1204, 1039, 1040,
- 9, 10, 786, 542, 786, 543, 1031, 1032, 91, 1596,
- 363, 786, 112, 113, 114, 1060, -142, 786, 130, 131,
- 785, 1610, 1029, 544, 89, 349, 1585, 593, 92, 785,
- 1106, 26, 1214, 119, 120, 785, 21, 545, 26, 607,
- 130, 131, 519, 653, 90, 1078, 224, 1251, 1252, 26,
- 1254, 27, 28, 222, 446, 1208, 555, 1041, 821, 555,
- 221, 127, 128, 818, 689, 193, 594, 595, 733, 564,
- 256, 596, 597, 598, 599, 194, 555, 656, 691, 1434,
- 894, 896, 691, 32, 89, 260, 480, 481, 195, 555,
- 127, 128, 1392, 845, 215, 216, 657, 15, 659, 688,
- 14, -413, -52, 688, 90, 363, 689, -52, 821, 349,
- 488, 489, 689, 130, 131, 91, 155, 1460, -52, 680,
- 691, 868, 20, 1393, 1155, 1156, 691, 884, 89, -413,
- -413, 23, 147, 617, 1472, 92, 1441, 519, 816, 253,
- 26, 688, 130, 131, 127, 128, 660, 688, 90, 1043,
- 1489, 673, 784, 1042, 661, 733, 618, -181, 256, 155,
- 214, 215, 216, 1075, 1076, 1077, 619, 14, 821, 691,
- 420, 423, 137, -181, 349, -181, 620, 1150, 674, 628,
- 622, 689, 8, 9, 18, 1209, 1210, 781, 363, 20,
- 688, 480, 711, 689, 90, 691, 130, 131, 23, 420,
- 423, 1258, 488, 712, 92, 215, 216, 691, 1387, 1388,
- 702, 14, 158, 696, 1223, -6, 688, 15, 59, 706,
- 252, -413, 480, 1491, 488, 1492, 363, 689, 688, 689,
- 480, 1496, 72, 20, 130, 131, 1472, 300, 394, 395,
- 10, 691, 23, 691, 7, 8, 250, 10, 728, -413,
- -413, 15, 746, 58, -413, 158, 1472, 821, 252, 751,
- 797, 778, 688, 798, 688, 799, 800, 1216, 807, 256,
- 349, 808, 825, 1218, 1219, 21, 827, 1216, 1221, 717,
- 828, 1219, 21, 830, 885, 1568, 887, 786, 26, 251,
- 27, 319, 901, 692, 903, 1546, 905, 27, 28, 1226,
- 1227, 1228, 1419, 929, 1424, 785, 1421, 930, 939, 520,
- 943, 988, 940, 945, 689, 1472, 155, 155, 155, 20,
- -296, 252, 32, 719, 953, 954, 1272, 1273, 691, 32,
- 967, 411, 413, 127, 128, 973, 1313, 974, 13, 517,
- 994, 816, 1305, 733, 453, 155, 155, 155, 995, 688,
- 72, 996, 1611, 1001, -825, 1272, 1273, 691, 8, 9,
- 1010, 1014, 1015, 127, 1357, 1019, 1061, 1021, 1084, 1345,
- 1346, 58, 1355, 1356, 1085, 1358, 617, 1079, 688, 1304,
- 1086, 1080, 1081, 26, 1082, 130, 131, 586, 587, 588,
- 589, 590, 300, 394, 395, 10, 1083, 140, 140, 618,
- 156, 1109, 363, 1087, -140, 1312, 1088, 363, 1089, 619,
- 130, 131, 158, 158, 158, 130, 131, 1091, 1094, 620,
- 1092, 1096, 621, 622, 212, 1095, 220, 1097, 1098, 1111,
- 21, 1418, 236, 1418, 519, 555, 1113, 251, 1114, 519,
- 1116, 158, 158, 158, 1115, 27, 319, 1122, 700, 701,
- 1142, 704, 1123, 1132, 339, 1133, 339, 1124, 339, 1313,
- 1130, 300, 394, 395, 10, 1135, 1145, 209, 1149, 1313,
- 1170, 1148, 1217, 72, 525, 1305, 1313, 32, 1193, 95,
- 96, 97, 1305, 72, 1199, 821, 1222, 127, 128, 1534,
- 72, 1377, 516, 1225, 58, 1229, 1234, 1437, 1438, 21,
- 1235, 1242, 1304, 339, 58, 339, 420, 423, 140, 1236,
- 1237, 58, 1304, 140, 27, 319, 156, 156, 156, 1304,
- -577, 1244, 1257, -577, 1268, 1178, 1245, 1246, 1312, 1249,
- 26, 1565, 98, 99, 100, 1253, 1259, 26, 1312, 130,
- 131, 1200, 1260, 212, 1261, 1312, 32, 1264, 1265, 450,
- 1271, 1276, 221, 526, 1325, 1334, 1335, 1338, 905, 460,
- 140, 140, 156, 527, 7, 127, 128, 10, 1342, 76,
- -577, -660, -577, -577, 1364, -577, 220, 1365, 1443, 1444,
- 1371, 1375, 155, 1376, 493, 220, -577, 1381, -577, 1382,
- 1383, 1391, 1384, 1400, 1401, 1402, 1503, 1504, 1505, 1414,
- 76, 1416, 21, 1429, -577, -577, 1432, 76, 1456, 251,
- 584, 585, 586, 587, 588, 589, 590, 27, 28, -577,
- 201, 1457, 213, 1458, 1516, 1483, 140, 1459, 1464, 1313,
- 1313, 1516, 1475, 1476, 1313, 1305, 1480, 1549, 297, 1482,
- 1305, 252, 375, 72, 72, 297, 1490, 490, 72, 32,
- 349, 1512, 155, 155, 155, 1536, 1537, 1511, 1520, 295,
- 1531, 1530, 744, 745, 58, 58, 295, 689, 1548, 58,
- 1540, 1542, 1304, 1304, 1313, 1557, 1558, 1304, 158, 1579,
- 1305, 691, 1583, 1313, 1590, 1566, 546, 1591, 72, 1305,
- 1567, 95, 110, 111, 510, 1594, 156, 72, 1312, 1312,
- 1599, 407, 688, 1312, 1597, 410, 1600, 1604, 1613, 58,
- 555, 1516, 1608, 214, 215, 216, 1612, 1304, 58, 1615,
- 14, 1620, 1621, 1587, 339, 297, 1304, 1623, 1624, 21,
- 76, 1, 442, 1313, 76, 5, 160, 18, 942, 1305,
- 201, 213, 20, 1312, 112, 113, 295, 72, 158, 158,
- 158, 23, 1312, 1152, 441, 221, 1366, 1367, 1368, 1369,
- 1487, 439, 709, 1277, 116, 760, 761, 1053, 58, 1564,
- 359, 1313, 212, 220, 1569, 1471, 1304, 1305, 7, 8,
- 9, 10, 382, 383, 384, 72, 140, 201, 409, 140,
- 1619, 763, 1374, 531, 1144, 156, 156, 156, 1143, 993,
- 502, 140, 1312, 1205, 1336, 153, 58, 1063, 1055, 1359,
- 932, 1141, 872, 483, 1304, 26, 21, 119, 120, 1404,
- 614, 1427, 617, 390, 1322, 1598, 722, 726, 1586, 26,
- 1561, 27, 28, 26, 726, 386, 387, 140, 1605, 140,
- 1312, 156, 156, 156, 1603, 955, 450, 1433, 1192, 95,
- 414, 415, 140, 493, 220, 956, 0, 450, 0, 0,
- 0, 493, 0, 32, 0, 620, 0, 0, 957, 622,
- 0, 491, 215, 216, 450, 95, 110, 111, 14, 662,
- 663, 664, 0, 0, 0, 0, 0, 0, 0, 539,
- 540, 0, 0, 0, 1461, 18, 0, 339, 726, 725,
- 20, 156, 98, 113, 156, 548, 731, 0, 549, 23,
- 0, 550, 0, 0, 560, 0, 0, 0, 565, 156,
- 156, 156, 421, 424, 649, 0, 606, 1481, 112, 113,
- 339, 0, 722, 0, 156, 842, 843, 0, 847, 848,
- 849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
- 859, 860, 861, 862, 863, 864, 865, 0, 726, 0,
- 0, 0, 0, 0, 726, 0, 0, 153, 0, 201,
- 813, 0, 95, 110, 111, 0, 225, 226, 227, 0,
- 0, 0, 0, 0, 95, 96, 97, 0, 0, 0,
- 0, 1514, 0, 0, 726, 917, 0, 845, 1514, 0,
- 18, 726, 686, 0, 0, 228, 0, 76, 0, 8,
- 9, 0, 0, 12, 246, 220, 0, 555, 0, 14,
- 0, 101, 0, 934, 936, 112, 113, 258, 0, 115,
- 866, 0, 0, 16, 0, 17, 867, 98, 99, 339,
- 0, 20, 0, 300, 0, 201, 10, 0, 0, 0,
- 23, 258, 617, 201, 212, 0, 220, 236, 0, 26,
- 0, 130, 131, 0, 300, 8, 9, 10, 686, 790,
- 0, 18, 233, 921, 0, 618, 0, 0, 1514, 0,
- 258, 21, 0, 0, 0, 619, 0, 722, 0, 0,
- 0, 258, 0, 0, 1589, 620, 426, 427, 621, 622,
- 220, 557, 21, 116, 760, 761, 0, 762, 0, 251,
- 428, 140, 140, 0, 140, 0, 1602, 27, 319, 0,
- 429, 0, 493, 845, 0, 450, 0, 0, 32, 0,
- 763, 388, 0, 430, 0, 548, 549, 764, 0, 7,
- 8, 9, 10, 1027, 0, 13, 382, 383, 384, 32,
- 258, 0, 0, 212, 26, 416, 119, 120, 0, 450,
- 95, 96, 97, 339, 339, 0, 339, 18, 0, 0,
- 471, 473, 477, 0, 0, 0, 0, 21, 95, 110,
- 111, 726, 156, 617, 258, 116, 760, 761, 0, 0,
- 26, 385, 27, 28, 0, 0, 95, 110, 111, 386,
- 387, 421, 703, 1090, 0, 363, 955, 0, 0, 258,
- 0, 0, 201, 98, 99, 0, 956, 95, 110, 111,
- 0, 686, 0, 0, 32, 0, 620, 0, 686, 957,
- 622, 112, 113, 0, 0, 726, 726, 0, 119, 120,
- 722, 726, 0, 0, 498, 500, 0, 421, 424, 112,
- 1484, 201, 961, 201, 201, 726, 0, 726, 511, 726,
- 0, 95, 96, 97, 0, 225, 226, 227, 0, 0,
- 112, 1486, 0, 0, 0, 0, 0, 0, 156, 156,
- 917, 0, 0, 0, 0, 0, 0, 0, 0, 18,
- 0, 0, 0, 0, 228, 1140, 0, 0, 201, 0,
- 0, 258, 1006, 0, 0, 726, 557, 1099, 1100, 557,
- 0, 0, 26, 1105, 98, 99, 229, 236, 0, 0,
- 339, 0, 140, 140, 917, 421, 826, 1117, 547, 1118,
- 0, 1119, 0, 1164, 0, 0, 0, 686, 0, 557,
- 0, 0, 0, 790, 0, 790, 0, 0, 0, 726,
- 1049, 1056, 790, 0, 0, 0, 0, 0, 790, 258,
- 0, 230, 231, 232, 0, 0, 726, 917, 0, 0,
- 655, 0, 0, 0, 0, 0, 0, 1147, 0, 665,
- 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
- 10, 0, 655, 246, 0, 0, 686, 0, 450, 450,
- 916, 0, 686, 0, 0, 0, 0, 1215, 0, 0,
- 0, 0, 0, 0, 0, 18, 0, 127, 128, 0,
- 0, 1168, 246, 0, 0, 21, 0, 450, 0, 0,
- 0, 617, 0, 0, 0, 0, 0, 0, 26, 0,
- 27, 28, 0, 0, 0, 0, 0, 742, 258, 743,
- 0, 471, 473, 477, 955, 0, 0, 722, 722, 0,
- 617, 1243, 754, 0, 956, 0, 1112, 26, 0, 130,
- 131, 0, 32, 0, 620, 258, 0, 957, 622, 0,
- 0, 339, 0, 618, 0, 0, 0, 0, 0, 0,
- 214, 215, 216, 619, 548, 549, 0, 14, 0, 0,
- 0, 0, 0, 620, 0, 0, 621, 622, 759, 686,
- 0, 0, 0, 686, 18, 0, 0, 0, 0, 20,
- 0, 0, 140, 140, 156, 156, 917, 0, 23, 0,
- 140, 0, 0, 0, 0, 0, 0, 0, 726, 0,
- 726, 0, 726, 927, 0, 0, 0, 0, 0, 0,
- 722, 686, 0, 156, 156, 917, 0, 686, 0, 722,
- 722, 0, 258, 0, 722, 0, 8, 9, 0, 0,
- 12, 13, 0, 838, 0, 0, 14, 0, 258, 1343,
- 1344, 0, 450, 450, 0, 450, 450, 916, 450, 0,
- 16, 0, 17, 0, 1049, 0, 0, 0, 20, 0,
- 686, 0, 0, 80, 722, 0, 0, 23, 0, 0,
- 1278, 0, 1279, 104, 1280, 0, 26, 886, 130, 131,
- 600, 0, 0, 133, 0, 0, 686, 0, 790, 144,
- 144, 0, 144, 0, 80, 726, 0, 0, 686, 140,
- 140, 80, 140, 0, 0, 0, 0, 1016, 0, 7,
- 8, 9, 10, 0, 203, 601, 80, 0, 0, 1399,
- 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
- 0, 104, 686, 0, 686, 0, 0, 0, 0, 212,
- 220, 0, 262, 104, 421, 826, 949, 21, 0, 1064,
- 0, 0, 0, 0, 251, 1069, 1256, 966, 0, 722,
- 0, 0, 27, 28, 0, 104, 0, 1380, 0, 0,
- 450, 450, 0, 0, 0, 1442, 0, 0, 0, 0,
- 0, 742, 743, 0, 754, 0, 252, 0, 838, 153,
- 0, 0, 0, 133, 32, 80, 0, 722, 0, 144,
- 144, 0, 0, 0, 412, 144, 0, 0, 144, 144,
- 144, 0, 0, 0, 0, 0, 0, 0, 0, 686,
- 0, 0, 1048, 0, 80, 0, 0, 0, 80, 548,
- 549, 0, 1190, 0, 203, 80, 0, 0, 0, 0,
- 0, 0, 1354, 0, 0, 0, 0, 1354, 686, 726,
- 156, 0, 203, 203, 203, 0, 0, 0, 1125, 0,
- 1126, 300, 127, 128, 10, 0, 1501, 1502, 0, 450,
- 450, 450, 0, 0, 0, 1507, 0, 0, 0, 0,
- 0, 203, 0, 0, 0, 0, 0, 0, 7, 8,
- 9, 10, 0, 724, 13, 0, 0, 501, 0, 21,
- 724, 0, 0, 1527, 0, 0, 251, 104, 0, 0,
- 0, 0, 0, 0, 27, 319, 18, 0, 144, 0,
- 156, 156, 156, 0, 0, 258, 21, 258, 450, 450,
- 0, 0, 617, 0, 0, 0, 201, 1422, 201, 26,
- 0, 27, 28, 0, 0, 0, 32, 560, 0, 0,
- 0, 0, 0, 0, 0, 1157, 104, 528, 0, 7,
- 127, 128, 10, 0, 724, 1158, 0, 0, 0, 258,
- 0, 0, 0, 32, 0, 620, 0, 0, 1159, 622,
- 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 421, 424, 471, 473, 477, 0, 450, 21, 0, 0,
- 0, 104, 0, 0, 665, 615, 0, 528, 528, 631,
- 26, 0, 27, 28, 0, 0, 0, 949, 80, 421,
- 1324, 0, 0, 0, 724, 1230, 149, 1232, 0, 0,
- 724, 0, 722, 127, 128, 0, 150, 477, 516, 259,
- 0, 0, 0, 0, 32, 0, 0, 0, 0, 151,
- 0, 0, 133, 7, 8, 9, 10, 258, 0, 0,
- 724, 104, 0, 203, 104, 0, 1048, 724, 0, 0,
- 0, 0, 0, 0, 0, 0, 617, 0, 144, 0,
- 0, 144, 1263, 26, 0, 130, 131, 0, 0, 0,
- 0, 21, 0, 144, 0, 0, 0, 0, 0, 618,
- 0, 80, 0, 0, 26, 0, 27, 28, 0, 619,
- 192, 0, 0, 0, 0, 0, 434, 0, 0, 620,
- 193, 0, 621, 622, 0, 0, 0, 0, 0, 203,
- 194, 203, 0, 203, 203, 203, 548, 549, 32, 203,
- 0, 258, 201, 195, 203, 0, 0, 203, 469, 582,
- 583, 584, 585, 586, 587, 588, 589, 590, 0, 1240,
- 1337, 485, 0, 80, 0, 1341, 0, 0, 258, 0,
- 0, 0, 686, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 8, 9, 10, 0, 0, 516, 0,
- 0, 0, 742, 743, 471, 473, 477, 0, 0, 0,
- 754, 104, 104, 104, 104, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 1378, 0, 0, 0,
- 21, 0, 0, 471, 473, 477, 617, 258, 7, 127,
- 128, 10, 0, 26, 13, 27, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 1282, 0, 724, 0, 955,
- 0, 1240, 0, 0, 1353, 1190, 18, 0, 0, 956,
- 0, 104, 0, 528, 0, 0, 21, 32, 0, 620,
- 0, 0, 957, 622, 0, 615, 0, 528, 528, 26,
- 631, 27, 28, 0, 0, 0, 0, 918, 0, 0,
- 0, 920, 0, 0, 0, 30, 0, 0, 0, 0,
- 0, 724, 724, 0, 0, 31, 203, 724, 0, 742,
- 743, 0, 754, 32, 0, 0, 1452, 1453, 33, 0,
- 0, 724, 0, 724, 0, 724, 421, 1324, 0, 0,
- 133, 0, 0, 1463, 0, 0, 0, 133, 0, 0,
- 0, 0, 0, 0, 0, 203, 962, 203, 203, 237,
- 631, 577, 578, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 1406, 1407, 0, 0, 0,
- 0, 724, 6, 0, 7, 8, 9, 10, 11, 12,
- 13, 0, 0, 0, 0, 14, 0, 0, 0, 1499,
- 1500, 0, 203, 0, 0, 0, 962, 0, 0, 16,
- 0, 17, 18, 203, 203, 0, 203, 20, 1509, 1510,
- 0, 0, 21, 0, 0, 724, 23, 0, 0, 438,
- 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
- 0, 29, 724, 0, 133, 747, 0, 80, 0, 80,
- 753, 30, 0, 0, 1050, 80, 80, 0, 0, 0,
- 0, 31, 80, 0, 1467, 104, 0, 0, 0, 32,
- 477, 104, 0, 0, 33, 795, 0, 0, 528, 528,
- 528, 801, 0, 0, 0, 0, 1485, 1488, 0, 0,
- 528, 0, 0, 809, 810, 0, 811, 636, 8, 9,
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 626, 630, 633, 0, 0, 7, 8, 9, 10,
- 214, 215, 216, 0, 0, 0, 0, 14, 0, 0,
- 0, 0, 308, 637, 0, 21, 0, 0, 0, 0,
- 471, 473, 477, 0, 18, 0, 0, 0, 26, 20,
- 130, 131, 0, 0, 21, 0, 0, 0, 23, 0,
- 617, 0, 0, 528, 1532, 528, 0, 26, 0, 27,
- 28, 0, 104, 0, 0, 0, 528, 0, 104, 0,
- 918, 918, 918, 955, 0, 0, 0, 0, 1134, 0,
- 0, 906, 907, 956, 0, 0, 906, 0, 0, 0,
- 0, 32, 0, 620, 0, 0, 957, 622, 0, 0,
- 0, 0, 0, 83, 724, 0, 724, 0, 724, 0,
- 104, 0, 104, 106, 203, 203, 1161, 0, 0, 0,
- 0, 0, 126, 134, 0, 0, 0, 0, 0, 145,
- 145, 0, 145, 0, 83, 0, 7, 8, 9, 10,
- 0, 83, 7, 8, 9, 10, 167, 12, 13, 0,
- 0, 1005, 0, 14, 145, 0, 83, 0, 0, 1161,
- 0, 0, 0, 0, 238, 0, 0, 16, 0, 17,
- 18, 248, 104, 0, 21, 20, 0, 0, 0, 0,
- 21, 0, 0, 248, 23, 104, 0, 26, 1050, 27,
- 28, 0, 0, 26, 0, 27, 28, 104, 369, 371,
- 0, 724, 0, 193, 0, 0, 0, 0, 0, 30,
- 1220, 0, 0, 194, 0, 0, 0, 0, 0, 31,
- 0, 32, 80, 0, 0, 0, 195, 32, 0, 0,
- 0, 104, 33, 104, 0, 83, 0, 0, 0, 145,
- 145, 0, 0, 0, 0, 145, 0, 0, 145, 145,
- 145, 300, 8, 9, 10, 0, 0, 0, 0, 0,
- 1071, 104, 1073, 0, 83, 0, 528, 528, 83, 528,
- 0, 895, 897, 0, 145, 83, 578, 579, 580, 581,
- 582, 583, 584, 585, 586, 587, 588, 589, 590, 21,
- 0, 0, 145, 145, 145, 0, 251, 0, 0, 0,
- 0, 0, 0, 0, 27, 319, 0, 0, 0, 0,
- 0, 0, 0, 0, 203, 203, 203, 203, 1161, 127,
- 128, 145, 203, 215, 216, 0, 0, 0, 252, 14,
- 0, 0, 0, 0, 1107, 1108, 32, 1110, 0, 960,
- 0, 626, 630, 0, 633, 1161, 1161, 1161, 0, 0,
- 0, 20, 0, 0, 0, 724, 0, 0, 145, 0,
- 23, 0, 617, 0, 0, 1128, 0, 0, 0, 26,
- 0, 130, 131, 0, 8, 9, 203, 167, 12, 13,
- 0, 144, 730, 0, 14, 618, 630, 0, 0, 0,
- 300, 8, 9, 10, 0, 619, 248, 145, 16, 0,
- 17, 18, 0, 0, 0, 620, 20, 0, 621, 622,
- 0, 0, 0, 0, 0, 23, 1163, 617, 0, 0,
- 559, 0, 0, 0, 26, 0, 130, 131, 21, 0,
- 0, 203, 203, 0, 203, 251, 0, 0, 0, 0,
- 618, 248, 0, 27, 319, 616, 0, 145, 145, 632,
- 619, 0, 0, 0, 641, 0, 0, 0, 83, 0,
- 620, 0, 0, 621, 622, 0, 0, 519, 0, 0,
- 203, 962, 203, 0, 630, 32, 0, 7, 127, 128,
- 10, 0, 1206, 246, 0, 0, 0, 0, 0, 104,
- 0, 0, 678, 685, 1211, 0, 0, 0, 0, 0,
- 0, 248, 0, 145, 248, 18, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 21, 0, 0, 145, 0,
- 0, 145, 0, 0, 0, 0, 0, 0, 26, 0,
- 27, 28, 0, 145, 0, 0, 0, 0, 0, 0,
- 0, 83, 0, 0, 30, 0, 0, 1120, 0, 1121,
- 0, 0, 0, 0, 31, 0, 0, 0, 0, 732,
- 1127, 0, 32, 0, 895, 897, 0, 33, 0, 145,
- 0, 145, 0, 145, 145, 145, 0, 0, 0, 145,
- 1262, 0, 1161, 0, 145, 0, 0, 145, 579, 580,
- 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
- 0, 0, 772, 83, 0, 0, 0, 0, 895, 897,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1275,
- 0, 7, 127, 128, 10, 814, 0, 13, 817, 0,
- 0, 0, 819, 820, 822, 823, 824, 0, 0, 0,
- 0, 248, 248, 248, 248, 559, 0, 0, 0, 18,
- 0, 0, 1161, 1161, 1161, 0, 0, 0, 841, 21,
- 166, 0, 7, 8, 9, 10, 167, 12, 13, 0,
- 0, 104, 26, 14, 27, 28, 203, 0, 0, 0,
- 0, 0, 1362, 0, 0, 0, 1363, 16, 149, 17,
- 18, 19, 0, 0, 0, 20, 0, 0, 150, 0,
- 21, 248, 0, 145, 23, 0, 32, 168, 0, 0,
- 0, 151, 898, 26, 0, 27, 28, 145, 145, 898,
- 632, 1379, 0, 0, 0, 0, 0, 919, 0, 30,
- 7, 8, 9, 10, 214, 215, 216, 0, 0, 31,
- 641, 14, 0, 0, 0, 0, 145, 32, 0, 0,
- 0, 0, 33, 0, 0, 0, 0, 34, 18, 0,
- 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
- 678, 0, 23, 0, 617, 0, 0, 0, 126, 0,
- 0, 26, 0, 27, 28, 145, 632, 145, 145, 238,
- 632, 0, 0, 0, 0, 1435, 0, 193, 0, 1436,
- 0, 0, 0, 0, 0, 0, 0, 194, 1120, 1121,
- 895, 897, 0, 772, 0, 32, 1127, 0, 0, 0,
- 1423, 1454, 1455, 0, 0, 0, 0, 0, 685, 0,
- 0, 0, 145, 0, 0, 0, 632, 0, 0, 895,
- 897, 0, 0, 145, 145, 0, 145, 0, 0, 0,
+ 434, 442, 419, 422, 122, 486, 444, 443, 42, 981,
+ 36, 391, 639, 57, 692, 723, 431, 513, 693, 629,
+ 535, 538, 888, 638, 252, 255, 355, 752, 356, 888,
+ 59, 72, 978, 760, 399, 182, 690, 59, 155, 42,
+ 297, 36, 506, 1097, 57, 819, 42, 397, 398, 158,
+ 669, 176, 209, 568, 103, 177, 858, 141, 146, 708,
+ 953, 58, 72, 485, 174, 248, 396, 246, 1022, 72,
+ 1024, 390, 493, 407, 1467, 1522, 451, 1051, 1017, 295,
+ 1526, 153, 959, 348, 190, 348, 35, 348, 1411, 255,
+ 1426, 525, 58, 989, 491, 494, 208, 1429, 170, 58,
+ 171, 1527, 348, 348, 196, 1337, 1338, 607, 911, 516,
+ 1172, 296, 1198, 458, 107, 716, 224, 35, 1536, 1358,
+ 1554, 642, 607, 259, 169, -1, 607, -143, -2, 719,
+ 459, 405, 348, -354, 348, 757, 779, 452, 1551, 137,
+ 990, 294, 1199, 991, 525, 404, 363, 15, 255, 138,
+ 88, -413, 55, 782, 155, 155, 155, -144, 1563, 460,
+ 59, 740, 960, 72, 59, 158, 158, 158, 890, 86,
+ 453, 209, 717, 42, 57, 402, 418, 421, 176, 1585,
+ -413, 1577, 177, 55, -413, 190, 1173, 439, 257, 818,
+ 175, 174, 72, 58, 224, 925, 72, 1593, 420, 423,
+ 155, 1027, 489, 1059, 1564, 520, 1608, 804, 780, 1064,
+ 224, 158, 257, 1178, 591, 208, 1556, 1554, 87, 705,
+ 469, 471, 58, 966, 196, 170, 58, 171, 1052, -413,
+ 190, 1264, 163, 817, 1028, 15, -354, 466, 1029, -413,
+ 452, 257, -300, 153, 926, 1440, 1325, 1618, -363, 93,
+ 15, 169, 257, 1467, 1446, 1447, 89, 1448, 617, 613,
+ 592, 1530, 178, 1179, 1589, 1524, 224, -413, -413, 222,
+ 223, 1030, 164, 453, 224, -293, 90, 1053, 612, 221,
+ 1265, -363, 514, 467, 403, -363, 713, 259, -300, -300,
+ 224, 246, 677, 645, 94, 1326, 1619, 604, 1130, 639,
+ 1387, 1133, 888, -293, 803, 643, 644, 1387, 1145, 591,
+ 1561, 257, 91, 55, 1096, 938, 1123, 175, -363, 1245,
+ 967, 968, 969, 348, 108, 994, 419, 422, 515, 964,
+ 965, 672, 92, 95, 96, 97, 295, 225, 226, 227,
+ 755, 373, 1159, 1160, 246, 257, 888, 374, 929, 1388,
+ 692, 38, 348, 648, 1000, 592, 1498, 698, 699, 1051,
+ 1594, 18, 491, 494, 970, 109, 228, 404, 296, 257,
+ 491, 26, 995, 971, 972, 996, 557, 513, 95, 110,
+ 111, 634, 38, 494, 26, 72, 98, 99, 229, 178,
+ 129, 982, 307, 888, 259, 989, 689, 646, 294, 209,
+ 26, -181, 494, 1406, 629, 680, 1539, 1540, 26, 135,
+ 973, 7, 8, 249, 10, 58, 137, -181, 1098, -181,
+ 95, 110, 111, 1148, 861, 1371, 39, 635, 691, 221,
+ 137, 112, 113, 230, 231, 232, 59, 221, 221, 1202,
+ 793, 862, 990, 161, 1125, 991, -624, -827, 772, 21,
+ 176, 1207, 695, 939, 177, 1403, 250, 39, 688, 127,
+ 128, 257, 733, 710, 27, 28, 221, 800, 72, 940,
+ 863, 365, 369, 112, 113, 114, 420, 703, 155, 155,
+ 155, 162, 978, 40, 758, 1226, 794, 1228, 251, 158,
+ 158, 158, -624, -624, 691, 617, 32, 179, 58, 59,
+ 744, 745, 183, 224, -582, 138, 647, -624, 188, 26,
+ 376, 130, 131, 774, 40, 221, 1261, 1262, 1017, 257,
+ 8, 518, 420, 423, 688, 139, 348, 127, 128, 348,
+ 90, 72, 348, 222, 445, 963, 348, 809, 809, 809,
+ 809, 803, 1194, 769, 1196, 876, 224, 187, 1200, 348,
+ -582, 189, 692, 18, 888, 1463, 693, 1208, 604, 348,
+ -302, 58, 348, 1409, 362, 639, 239, 861, 221, 88,
+ 240, 677, 130, 131, 690, 137, 638, 26, 935, 130,
+ 131, -582, 557, 888, 862, 557, 766, 127, 128, 175,
+ 243, 877, 934, 865, 138, 912, 519, 295, 215, 216,
+ 298, 420, 814, 866, 14, 525, -302, -302, 257, 932,
+ -364, 896, 15, 863, 1370, 557, 689, 867, 359, -302,
+ 568, -296, 371, 733, 878, 221, 20, -582, 481, 296,
+ 377, 362, 491, 880, -302, 23, 257, 617, -302, 130,
+ 131, 1234, 1236, -364, 400, 882, 884, -364, 691, 1017,
+ 92, 1250, 773, 1004, -302, 691, 1171, 897, 898, 294,
+ 122, 178, 361, 519, 127, 128, -302, -302, 348, -302,
+ 879, -302, 259, 89, 642, 1441, 904, 378, 688, 881,
+ -364, -141, 209, 803, 375, 688, 246, 88, 381, 382,
+ 383, 379, 555, 90, 380, 979, 914, 137, 302, 1005,
+ -302, -302, 127, 128, -293, 221, 221, 516, 362, 424,
+ 772, 1031, 772, 221, 1165, -302, 130, 131, 772, 772,
+ 508, 1060, 1061, 257, 1062, 772, 221, 91, 1167, 1331,
+ 1332, 1333, 689, 384, 1236, 946, 189, 951, 952, 257,
+ 251, 385, 386, 1321, 1323, 221, 432, 92, 1327, -619,
+ 1072, 1169, 26, -7, 130, 131, 164, 1032, 1025, 1026,
+ 1166, 59, 446, 59, 691, 431, 509, 1054, 526, 209,
+ 59, 804, 447, 448, 1168, 774, 59, 774, 527, 689,
+ 348, 348, 952, 348, 774, 689, 561, 450, 562, 1368,
+ 774, 462, 1161, 72, 688, 72, -120, 1170, 15, 791,
+ 1469, 750, 72, 8, 9, 769, 91, 769, 72, 756,
+ 463, 691, 1036, 1046, 769, 1572, 501, 691, 8, 9,
+ 769, 1596, 1037, 58, 521, 58, 92, 522, 727, -120,
+ 589, 590, 58, -120, 7, 127, 128, 10, 58, 1610,
+ -118, 688, 15, 523, 91, 792, 1470, 688, 766, 524,
+ 766, 904, -142, 348, 532, 130, 131, 766, 1100, 1586,
+ 564, 1573, 362, 766, 92, 391, -120, 1597, 221, 541,
+ 130, 131, 21, -118, 542, 564, 561, -118, 562, 250,
+ 127, 128, 1144, 543, 1432, 1611, 809, 27, 28, 8,
+ 9, 544, 689, 12, 13, 255, 733, 545, 555, 14,
+ 607, 555, 95, 110, 111, 806, 662, 663, 664, 221,
+ -118, 251, 653, 16, 773, 17, 1023, 657, 555, 32,
+ 656, 20, 673, 773, 691, 1461, 882, 884, 691, 773,
+ 23, 555, 130, 131, 689, 833, 809, 348, 659, 26,
+ 689, 130, 131, 680, 214, 215, 216, 259, 420, 814,
+ 155, 14, 660, 221, 688, 112, 113, 89, 688, 224,
+ 661, 158, 674, 856, 90, 1209, 691, 1019, 18, 872,
+ 1149, 1150, 691, 20, 91, 221, 92, 90, 859, 804,
+ 1246, 1247, 23, 1249, 116, 117, 118, 733, 252, 255,
+ -52, 127, 128, 153, 92, -52, 688, 155, 8, 9,
+ 809, 772, 688, 702, 419, 422, -52, -6, 158, 706,
+ 1221, 1222, 1223, 1020, 257, 689, 257, 479, 480, 691,
+ 586, 587, 588, 589, 590, 1211, 728, 689, 751, 221,
+ 746, 1213, 1214, 419, 422, 1211, 1216, 119, 120, 1214,
+ 1184, 26, 362, 130, 131, 1253, 785, 691, 15, 688,
+ 130, 131, 59, 786, 116, 117, 118, 526, 257, 691,
+ 787, 689, 1036, 689, 215, 216, 774, 527, 795, 1473,
+ 14, 788, 1037, 796, 251, 8, 9, 688, 487, 488,
+ 76, 95, 96, 97, 72, 1490, 813, 539, 540, 688,
+ 815, 809, 20, 691, 816, 691, 769, 127, 1355, 717,
+ 255, 23, 89, 548, 348, 26, 549, 119, 120, 550,
+ 1390, 76, 560, 818, 58, 875, 565, 873, 76, 362,
+ 479, 711, 90, 688, 606, 688, 692, 130, 131, 889,
+ 1547, 201, 26, 213, 98, 99, 100, 1419, 1417, 766,
+ 1422, 362, 1069, 1070, 1071, 979, 91, 686, 689, 130,
+ 131, 519, 257, 891, 1391, 893, 155, 155, 155, 520,
+ 487, 712, 917, 1612, 1385, 1386, 92, 158, 158, 158,
+ 1308, 479, 1492, 519, 1473, 89, 918, 733, 1267, 1268,
+ 691, 1300, 927, 1442, 1307, 155, 155, 155, 804, 928,
+ 348, 487, 1493, 931, 1473, 90, 158, 158, 158, 20,
+ 420, 423, 72, 1375, 933, 773, 941, 1267, 1268, 691,
+ 688, 942, 406, 686, 479, 1497, 409, 95, 110, 111,
+ 510, 955, -578, 1569, -296, -578, 961, 962, 452, 420,
+ 1319, 1103, 58, 986, 987, 988, 257, 993, -826, 688,
+ 1002, 76, 1006, 1055, 1007, 76, 299, 393, 394, 10,
+ 15, 201, 213, 1473, -413, 21, 1073, 1299, 1074, 1075,
+ 893, 719, 1076, 257, 1077, 555, 140, 140, 1078, 156,
+ 112, 113, -578, 1079, -578, -578, 1080, -578, 1081, 95,
+ 96, 97, -413, -413, 21, 1082, 147, -413, -578, -140,
+ -578, 250, 1083, 212, 1308, 220, 1085, 1086, 201, 27,
+ 318, 236, 209, 1088, 1308, 1090, -578, -578, 1307, 1089,
+ 1091, 1308, 1105, 525, 1108, 1300, 1092, 1107, 1307, 1109,
+ 809, -578, 1300, 257, 362, 1307, 72, 1110, 1116, 1117,
+ 1535, 32, 98, 99, 548, 549, 72, 1126, 1127, 1118,
+ 1444, 1445, 1124, 72, 1136, 1129, 1143, 419, 422, 1009,
+ 299, 1142, 1139, 10, 1164, 1416, 58, 1416, 1187, 1195,
+ 1193, 7, 8, 9, 10, 1197, 58, 686, 1212, 1217,
+ 1220, 1056, 1566, 58, 686, 1224, 1229, 140, 18, 1237,
+ 1230, 1299, 140, 1231, 1232, 156, 156, 156, 21, 1248,
+ 1239, 1299, 1240, 1241, 1252, 1172, 410, 1244, 1299, 21,
+ 1254, 412, 1263, 425, 426, 1255, 250, 127, 128, 489,
+ 1256, 1259, 212, 459, 27, 28, 1260, 427, 449, 1266,
+ 299, 393, 394, 10, 1271, 1320, 155, 428, 1336, 140,
+ 140, 156, 1340, -661, 649, 32, 1362, 158, 251, 1363,
+ 429, 1373, 381, 382, 383, 220, 32, 129, 1374, 147,
+ 1369, 1379, 1380, 492, 220, 1382, 1381, 26, 21, 130,
+ 131, 1389, 1398, 1412, 1399, 1517, 95, 413, 414, 1184,
+ 1308, 1308, 1517, 27, 318, 1308, 1400, 1427, 1414, 201,
+ 1430, 1300, 1433, 686, 1307, 1307, 1300, 1476, 1434, 1307,
+ 1457, 348, 1458, 26, 140, 385, 386, 296, 1459, 155,
+ 155, 155, 72, 72, 296, 32, 1460, 72, 689, 1481,
+ 158, 158, 158, 517, 1465, 1308, 1477, 76, 1483, 98,
+ 113, 744, 745, 374, 1308, 1484, 1300, 294, 221, 1307,
+ 686, 1491, 58, 58, 294, 1300, 686, 58, 1307, 1570,
+ 691, 1512, 1521, 420, 1319, 1513, 555, 72, 1531, 1532,
+ 1541, 1558, 1517, 1543, 1549, 201, 72, 1299, 1299, 1329,
+ 1580, 1559, 1299, 201, 156, 1567, 1584, 1550, 1568, 338,
+ 688, 338, 1591, 338, 1308, 1592, 1595, 58, 1598, 1614,
+ 778, 95, 96, 97, 296, 1300, 58, 1600, 1307, 1605,
+ 1601, 1616, 1609, 1364, 1365, 1366, 1367, 116, 968, 969,
+ 1613, 1621, 1299, 1622, 1624, 1625, 72, 1, 5, 160,
+ 441, 1299, 1308, 1488, 294, 930, 1204, 1205, 338, 1146,
+ 338, 709, 1565, 1300, 1011, 1047, 1307, 127, 128, 1272,
+ 438, 215, 216, 440, 98, 99, 58, 14, 358, 408,
+ 212, 220, 1472, 686, 72, 1218, 1620, 686, 26, 1372,
+ 119, 120, 531, 1106, 140, 985, 1402, 140, 1435, 20,
+ 1138, 1299, 1137, 156, 156, 156, 503, 1334, 23, 140,
+ 617, 1049, 1057, 700, 58, 1357, 701, 26, 920, 130,
+ 131, 548, 549, 1135, 860, 686, 482, 614, 704, 389,
+ 1425, 686, 1599, 618, 1033, 1034, 9, 10, 1587, 1299,
+ 1317, 1606, 0, 619, 1562, 140, 1604, 140, 1186, 156,
+ 156, 156, 1431, 620, 449, 0, 628, 622, 0, 0,
+ 140, 492, 220, 201, 410, 449, 412, 0, 0, 492,
+ 0, 0, 21, 0, 1462, 0, 0, 221, 686, 517,
+ 0, 0, 0, 449, 0, 26, 0, 27, 28, 0,
+ 0, 1203, 0, 1035, 0, 0, 0, 636, 8, 9,
+ 10, 193, 201, 949, 201, 201, 686, 1482, 0, 0,
+ 156, 194, 0, 156, 95, 110, 111, 0, 686, 32,
+ 127, 128, 0, 0, 195, 516, 0, 0, 156, 156,
+ 156, 0, 307, 637, 0, 21, 0, 368, 370, 0,
+ 546, 1343, 1344, 156, 1353, 1354, 0, 1356, 26, 201,
+ 130, 131, 686, 998, 686, 116, 968, 969, 6, 0,
+ 7, 8, 9, 10, 11, 12, 13, 112, 113, 0,
+ 26, 14, 130, 131, 1515, 0, 0, 0, 338, 0,
+ 833, 1515, 778, 0, 778, 16, 865, 17, 18, 1043,
+ 1050, 778, 0, 20, 0, 0, 866, 778, 21, 0,
+ 555, 0, 23, 0, 905, 437, 0, 593, 119, 120,
+ 867, 26, 0, 27, 28, 0, 0, 29, 0, 0,
+ 0, 95, 110, 111, 220, 0, 0, 30, 0, 1251,
+ 0, 0, 95, 110, 111, 0, 0, 31, 0, 686,
+ 7, 8, 9, 10, 0, 32, 594, 595, 0, 0,
+ 33, 596, 597, 598, 599, 0, 0, 0, 0, 0,
+ 0, 1515, 0, 212, 0, 220, 236, 0, 686, 0,
+ 0, 0, 1438, 1439, 112, 1485, 0, 1590, 21, 0,
+ 722, 726, 0, 127, 128, 112, 1487, 0, 726, 0,
+ 0, 26, 0, 27, 28, 0, 0, 192, 0, 1603,
+ 0, 0, 548, 549, 0, 0, 833, 193, 0, 220,
+ 95, 110, 111, 0, 225, 226, 227, 194, 0, 0,
+ 140, 140, 0, 140, 0, 32, 617, 0, 0, 0,
+ 195, 492, 0, 26, 449, 130, 131, 0, 18, 700,
+ 701, 0, 704, 228, 0, 0, 0, 0, 0, 618,
+ 212, 0, 338, 726, 0, 0, 449, 0, 559, 619,
+ 0, 0, 0, 112, 113, 0, 0, 0, 0, 620,
+ 0, 0, 621, 622, 1504, 1505, 1506, 0, 0, 156,
+ 0, 470, 472, 476, 0, 338, 0, 722, 0, 0,
+ 830, 831, 0, 835, 836, 837, 838, 839, 840, 841,
+ 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
+ 852, 853, 0, 726, 0, 0, 0, 0, 0, 726,
+ 0, 560, 582, 583, 584, 585, 586, 587, 588, 589,
+ 590, 685, 0, 1537, 1538, 0, 0, 0, 0, 1043,
+ 0, 0, 0, 0, 0, 7, 8, 9, 10, 726,
+ 0, 0, 0, 101, 0, 0, 726, 127, 128, 0,
+ 0, 115, 13, 0, 7, 8, 9, 10, 0, 0,
+ 13, 0, 0, 778, 0, 156, 156, 905, 922, 924,
+ 0, 0, 0, 21, 0, 0, 0, 0, 0, 617,
+ 0, 0, 18, 0, 338, 0, 26, 732, 27, 28,
+ 617, 1588, 21, 0, 233, 0, 0, 26, 617, 130,
+ 131, 0, 943, 0, 236, 26, 0, 27, 28, 140,
+ 140, 905, 944, 618, 0, 0, 0, 0, 0, 0,
+ 32, 943, 620, 619, 0, 945, 622, 0, 0, 147,
+ 0, 944, 722, 620, 0, 0, 621, 622, 0, 32,
+ 0, 620, 0, 0, 945, 622, 0, 0, 299, 8,
+ 9, 10, 0, 387, 802, 0, 0, 805, 905, 0,
+ 0, 807, 808, 810, 811, 812, 214, 215, 216, 0,
+ 0, 0, 0, 14, 559, 0, 1021, 415, 299, 393,
+ 394, 10, 0, 0, 0, 0, 21, 829, 0, 686,
+ 18, 449, 449, 250, 0, 20, 338, 338, 0, 338,
+ 0, 27, 318, 0, 23, 0, 548, 549, 0, 0,
+ 0, 0, 0, 0, 726, 0, 21, 0, 1352, 696,
+ 449, 0, 0, 1352, 0, 251, 0, 0, 0, 26,
+ 725, 27, 318, 32, 0, 0, 1084, 731, 0, 0,
+ 0, 886, 0, 0, 0, 0, 0, 742, 886, 743,
+ 0, 470, 472, 476, 8, 9, 0, 0, 12, 245,
+ 0, 0, 754, 32, 14, 0, 497, 499, 726, 726,
+ 0, 0, 0, 722, 726, 0, 0, 0, 16, 511,
+ 17, 0, 0, 0, 0, 0, 20, 0, 726, 0,
+ 726, 0, 726, 0, 0, 23, 0, 617, 214, 215,
+ 216, 0, 801, 0, 26, 14, 130, 131, 0, 0,
+ 0, 0, 201, 1420, 201, 140, 140, 156, 156, 905,
+ 618, 0, 18, 140, 0, 0, 0, 20, 1134, 0,
+ 619, 0, 0, 0, 410, 412, 23, 0, 726, 0,
+ 620, 0, 517, 621, 622, 0, 156, 156, 905, 547,
+ 0, 915, 0, 338, 490, 215, 216, 685, 0, 0,
+ 0, 14, 854, 0, 0, 0, 1158, 0, 855, 0,
+ 0, 0, 0, 0, 0, 0, 449, 449, 18, 449,
+ 449, 0, 449, 20, 726, 0, 0, 0, 0, 0,
+ 0, 655, 23, 584, 585, 586, 587, 588, 589, 590,
+ 665, 0, 0, 726, 732, 909, 0, 0, 0, 0,
+ 732, 80, 0, 655, 0, 0, 7, 127, 128, 10,
+ 0, 104, 13, 0, 0, 0, 0, 0, 0, 0,
+ 0, 133, 0, 140, 140, 0, 140, 144, 144, 0,
+ 144, 0, 80, 0, 18, 0, 1210, 0, 0, 80,
+ 0, 0, 700, 701, 21, 704, 0, 0, 0, 0,
+ 0, 0, 203, 0, 80, 0, 0, 26, 0, 27,
+ 28, 0, 237, 212, 220, 0, 0, 0, 1095, 104,
+ 0, 0, 0, 30, 127, 128, 0, 0, 0, 245,
+ 261, 104, 0, 31, 0, 0, 722, 722, 0, 0,
+ 1238, 32, 0, 0, 0, 0, 33, 449, 449, 0,
+ 0, 829, 0, 104, 0, 0, 0, 732, 0, 0,
+ 338, 886, 742, 743, 201, 754, 0, 617, 0, 759,
+ 0, 0, 0, 0, 26, 0, 130, 131, 0, 0,
+ 0, 133, 0, 80, 0, 0, 0, 144, 144, 0,
+ 618, 1042, 411, 144, 0, 0, 144, 144, 144, 685,
+ 619, 1147, 0, 0, 0, 886, 0, 0, 0, 0,
+ 620, 0, 80, 621, 622, 0, 80, 726, 0, 726,
+ 0, 726, 203, 80, 0, 0, 0, 156, 0, 722,
+ 0, 0, 0, 0, 0, 826, 0, 0, 722, 722,
+ 203, 203, 203, 722, 7, 127, 128, 10, 0, 449,
+ 449, 449, 886, 0, 0, 0, 0, 0, 0, 1341,
+ 1342, 0, 0, 0, 0, 1189, 0, 1093, 1094, 203,
+ 0, 0, 18, 1099, 0, 0, 0, 0, 0, 874,
+ 732, 0, 21, 0, 722, 500, 0, 1111, 0, 1112,
+ 0, 1113, 732, 0, 104, 26, 0, 27, 28, 0,
+ 156, 156, 156, 0, 0, 144, 0, 0, 449, 449,
+ 0, 149, 0, 0, 0, 726, 0, 0, 0, 0,
+ 0, 150, 0, 0, 0, 0, 732, 0, 732, 32,
+ 0, 0, 0, 0, 151, 0, 0, 1141, 0, 1397,
+ 0, 0, 0, 104, 528, 1008, 0, 0, 937, 0,
+ 116, 968, 969, 0, 1010, 0, 1243, 0, 0, 954,
+ 0, 470, 472, 476, 299, 8, 9, 10, 0, 0,
+ 0, 0, 0, 0, 0, 1058, 449, 1011, 0, 722,
+ 0, 1063, 0, 1162, 1012, 0, 0, 0, 104, 0,
+ 826, 0, 615, 0, 528, 528, 631, 0, 1443, 0,
+ 0, 26, 21, 119, 120, 80, 0, 0, 0, 250,
+ 476, 0, 0, 886, 0, 0, 0, 27, 318, 0,
+ 722, 127, 128, 0, 0, 215, 216, 0, 0, 0,
+ 0, 14, 0, 0, 0, 0, 0, 0, 0, 133,
+ 0, 1042, 886, 0, 0, 0, 0, 0, 104, 32,
+ 203, 104, 0, 20, 0, 1330, 0, 0, 0, 0,
+ 0, 0, 23, 0, 617, 144, 0, 0, 144, 0,
+ 0, 26, 726, 130, 131, 0, 0, 0, 0, 0,
+ 144, 0, 0, 0, 1119, 0, 1120, 618, 80, 0,
+ 0, 0, 1502, 1503, 0, 0, 0, 619, 0, 0,
+ 0, 1508, 299, 8, 9, 10, 0, 620, 0, 0,
+ 621, 622, 299, 127, 128, 10, 203, 0, 203, 0,
+ 203, 203, 203, 0, 0, 0, 203, 0, 0, 1528,
+ 0, 203, 0, 0, 203, 0, 0, 0, 0, 0,
+ 21, 0, 0, 0, 0, 0, 0, 250, 0, 0,
+ 21, 80, 0, 0, 0, 27, 318, 250, 7, 127,
+ 128, 10, 0, 0, 245, 27, 318, 742, 743, 470,
+ 472, 476, 0, 0, 0, 754, 1273, 0, 1274, 519,
+ 1275, 0, 0, 0, 0, 1189, 18, 32, 0, 104,
+ 104, 104, 104, 0, 665, 0, 21, 32, 470, 472,
+ 476, 0, 0, 0, 0, 0, 0, 937, 0, 26,
+ 0, 27, 28, 0, 0, 0, 7, 8, 9, 10,
+ 0, 0, 245, 0, 0, 30, 0, 0, 0, 0,
+ 1351, 0, 0, 0, 0, 31, 258, 0, 626, 630,
+ 633, 0, 0, 32, 18, 0, 0, 0, 33, 104,
+ 0, 528, 0, 0, 21, 0, 0, 1225, 722, 1227,
+ 617, 0, 0, 615, 0, 528, 528, 26, 631, 27,
+ 28, 0, 0, 0, 1378, 906, 0, 0, 0, 908,
+ 0, 0, 0, 943, 0, 742, 743, 0, 754, 0,
+ 0, 0, 0, 944, 203, 0, 0, 0, 0, 0,
+ 0, 32, 0, 620, 0, 0, 945, 622, 0, 0,
+ 0, 0, 0, 433, 1258, 0, 0, 0, 133, 127,
+ 128, 0, 0, 0, 516, 133, 0, 0, 0, 0,
+ 0, 0, 0, 203, 950, 203, 203, 237, 631, 0,
+ 0, 0, 0, 0, 0, 468, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1235, 559, 0, 484, 0,
+ 0, 0, 617, 0, 0, 1033, 1034, 9, 10, 26,
+ 0, 130, 131, 685, 0, 0, 7, 127, 128, 10,
+ 203, 0, 13, 0, 950, 618, 0, 0, 0, 0,
+ 0, 203, 203, 1335, 203, 619, 0, 0, 1339, 0,
+ 0, 0, 0, 21, 18, 620, 0, 0, 621, 622,
+ 133, 0, 0, 80, 21, 80, 26, 0, 27, 28,
+ 1044, 80, 80, 0, 1035, 0, 0, 26, 80, 27,
+ 28, 104, 193, 0, 0, 0, 0, 104, 0, 476,
+ 0, 1277, 194, 149, 528, 528, 528, 1235, 0, 1376,
+ 32, 0, 0, 150, 0, 195, 528, 0, 0, 0,
+ 0, 32, 0, 0, 0, 0, 151, 0, 608, 83,
+ 299, 393, 394, 10, 0, 609, 0, 0, 0, 106,
+ 0, 0, 0, 0, 0, 0, 0, 0, 126, 134,
+ 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
+ 83, 0, 0, 0, 0, 0, 0, 83, 21, 883,
+ 885, 0, 470, 472, 476, 610, 0, 0, 0, 0,
+ 145, 26, 83, 27, 318, 0, 0, 0, 0, 528,
+ 238, 528, 0, 0, 0, 0, 0, 247, 104, 0,
+ 0, 0, 528, 0, 104, 0, 906, 906, 906, 247,
+ 0, 0, 1453, 1454, 1128, 611, 0, 0, 0, 0,
+ 0, 0, 1404, 1405, 0, 0, 0, 0, 0, 1464,
+ 0, 0, 0, 0, 0, 0, 0, 948, 724, 626,
+ 630, 0, 633, 0, 0, 724, 104, 0, 104, 0,
+ 203, 203, 1155, 0, 0, 0, 0, 0, 0, 0,
+ 0, 83, 0, 0, 0, 145, 145, 0, 0, 0,
+ 0, 145, 0, 0, 145, 145, 145, 0, 7, 127,
+ 128, 10, 0, 0, 630, 0, 0, 0, 1500, 1501,
+ 83, 747, 0, 0, 83, 0, 753, 0, 0, 1155,
+ 145, 83, 0, 0, 0, 0, 18, 1510, 1511, 0,
+ 724, 0, 104, 0, 1468, 0, 21, 0, 145, 145,
+ 145, 0, 783, 0, 0, 0, 0, 104, 789, 26,
+ 1044, 27, 28, 0, 0, 0, 1486, 1489, 0, 104,
+ 797, 798, 0, 799, 0, 30, 0, 145, 0, 0,
+ 0, 0, 1215, 0, 0, 31, 0, 0, 0, 0,
+ 630, 0, 0, 32, 80, 0, 0, 0, 33, 0,
+ 724, 0, 0, 104, 0, 104, 724, 0, 0, 0,
+ 0, 0, 0, 145, 573, 574, 575, 576, 577, 578,
+ 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, 0, 104, 0, 0, 724, 0, 528, 528,
+ 0, 528, 0, 724, 0, 0, 0, 1533, 0, 0,
+ 0, 247, 145, 0, 7, 8, 9, 10, 0, 0,
+ 13, 0, 0, 1114, 0, 1115, 0, 0, 894, 895,
+ 0, 0, 0, 894, 0, 0, 1121, 0, 0, 0,
+ 883, 885, 18, 0, 0, 0, 203, 203, 203, 203,
+ 1155, 0, 21, 0, 203, 0, 247, 0, 617, 0,
+ 616, 0, 145, 145, 632, 26, 0, 27, 28, 641,
+ 8, 9, 0, 83, 12, 245, 0, 1155, 1155, 1155,
+ 14, 1151, 0, 0, 883, 885, 0, 0, 0, 0,
+ 0, 1152, 0, 0, 16, 0, 17, 0, 0, 32,
+ 0, 620, 20, 0, 1153, 622, 0, 678, 0, 203,
+ 0, 23, 0, 0, 144, 0, 247, 0, 145, 247,
+ 26, 0, 130, 131, -385, 8, 9, -385, -385, 12,
+ 245, 0, 0, 145, 0, 14, 145, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 145, 16,
+ 0, 17, -385, 0, 0, 0, 83, 20, 0, 0,
+ 0, 0, -385, 0, 203, 203, 23, 203, 617, 0,
+ 0, 724, 0, 0, 0, 26, 0, 130, 131, 0,
+ 0, 0, 0, 0, 145, 0, 145, 0, 145, 145,
+ 145, 618, 0, 0, 145, 1065, 0, 1067, 0, 145,
+ 0, 619, 145, 203, 950, 203, 0, 0, 0, -385,
+ 0, 620, 0, 0, 621, 622, 0, 0, 0, 83,
+ 0, 0, 104, 0, 0, 724, 724, 0, 0, 0,
+ 0, 724, 0, 0, 0, 7, 8, 9, 10, 214,
+ 215, 216, 0, 0, 0, 724, 14, 724, 0, 724,
+ 0, 0, 0, 0, 0, 0, 0, 247, 247, 247,
+ 247, 0, 0, 18, 0, 0, 0, 0, 20, 1101,
+ 1102, 0, 1104, 21, 0, 0, 0, 23, 0, 617,
+ 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
+ 1114, 1115, 883, 885, 0, 724, 0, 0, 1121, 0,
+ 1122, 0, 193, 0, 0, 0, 623, 623, 623, 0,
+ 0, 0, 194, 1478, 0, 0, 0, 247, 1155, 145,
+ 32, 883, 885, 0, 0, 1421, 0, 0, 0, 0,
+ 0, 0, 0, 145, 145, 0, 632, 0, 0, 0,
+ 0, 724, 0, 907, 0, 0, 0, 0, 0, 0,
+ 0, 1157, 0, 0, 0, 0, 641, 0, 0, 0,
+ 724, 0, 145, 1479, 569, 570, 571, 572, 573, 574,
+ 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
+ 585, 586, 587, 588, 589, 590, 678, 0, 0, 0,
+ 0, 1155, 1155, 1155, 126, 0, 0, 0, 0, 0,
+ 0, 145, 632, 145, 145, 238, 632, 0, 1114, 1115,
+ 104, 1121, 0, 0, 0, 203, 0, 0, 0, 0,
+ 0, 0, 0, 1201, 0, 0, 0, 0, 0, 980,
+ 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 8, 9, 0, 145, 12,
+ 13, 0, 632, 0, 0, 14, 0, 0, 0, 145,
+ 145, 0, 145, 0, 7, 8, 9, 10, 0, 16,
+ 516, 17, 0, 0, 0, 980, 0, 20, 134, 0,
+ 0, 83, 0, 83, 0, 0, 23, 0, 1045, 83,
+ 83, 0, 18, 0, 0, 26, 83, 130, 131, 247,
+ 0, 0, 21, 0, 0, 247, 0, 0, 617, 0,
+ 0, 0, 145, 145, 145, 26, 0, 27, 28, 0,
+ 0, 1257, 0, 0, 145, 0, 0, 0, 0, 0,
+ 0, 943, 51, 0, 724, 0, 724, 0, 724, 0,
+ 0, 944, 0, 0, 0, 0, 0, 0, 0, 32,
+ 0, 620, 0, 0, 945, 622, 0, 0, 51, 51,
+ 1270, 152, 0, 51, 0, 0, 0, 0, 0, 0,
+ 51, 0, 0, 0, 0, 0, 0, 623, 623, 0,
+ 623, 0, 0, 51, 0, 51, 0, 903, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 145, 0, 145,
+ 0, 0, 0, 0, 0, 0, 247, 0, 253, 0,
+ 145, 0, 247, 0, 907, 907, 907, 0, 0, 0,
+ 0, 0, 641, 0, 1360, 0, 0, 0, 1361, 0,
+ 0, 0, 724, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 623, 0, 623, 623, 0,
+ 623, 0, 0, 0, 247, 0, 247, 0, 145, 145,
+ 632, 395, 395, 1377, 51, 0, 0, 0, 51, 51,
+ 0, 0, 253, 0, 51, 0, 0, 152, 152, 152,
+ 0, 0, 0, 0, 430, 0, 0, 0, 0, 0,
+ 0, 0, 623, 51, 0, 0, 0, 51, 0, 0,
+ 0, 0, 0, 51, 51, 0, 0, 907, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 8, 9, 10, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0, 134, 0, 0, 83, 0, 83,
- 0, 0, 0, 0, 1051, 83, 83, 732, 18, 0,
- 0, 0, 83, 732, 0, 248, 0, 0, 21, 0,
- 0, 248, 0, 0, 0, 0, 0, 0, 145, 145,
- 145, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 145, 0, 0, 0, 0, 1120, 1121, 193, 1127, 0,
- 0, 0, 0, 0, 0, 0, 0, 194, 7, 8,
- 9, 10, 167, 12, 13, 32, 0, 730, 0, 14,
- 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1101, 0, 16, 0, 17, 18, 623, 623, 623,
+ 247, 51, 51, 152, 0, 0, 0, 0, 0, 0,
+ 0, 253, 0, 0, 0, 247, 0, 0, 1045, 0,
+ 1436, 0, 0, 0, 1437, 0, 0, 247, 0, 0,
+ 51, 0, 0, 0, 0, 1345, 1346, 9, 10, 7,
+ 8, 9, 10, 214, 215, 216, 1455, 1456, 623, 0,
+ 14, 0, 83, 0, 0, 0, 0, 0, 0, 0,
+ 0, 247, 0, 247, 0, 0, 51, 18, 0, 724,
+ 0, 0, 20, 21, 0, 0, 0, 21, 0, 0,
+ 0, 23, 0, 617, 0, 0, 26, 0, 27, 28,
+ 26, 247, 27, 28, 1347, 0, 145, 145, 0, 145,
+ 0, 0, 193, 0, 0, 0, 943, 0, 0, 0,
+ 0, 0, 194, 0, 0, 0, 944, 0, 0, 0,
+ 32, 623, 0, 623, 32, 195, 620, 0, 0, 945,
+ 622, 0, 0, 0, 623, 0, 556, 0, 903, 903,
+ 903, 0, 0, 0, 145, 145, 145, 145, 632, 0,
+ 0, 0, 145, 395, 0, 0, 0, 0, 0, 980,
+ 0, 253, 0, 0, 0, 0, 51, 0, 0, 0,
+ 0, 0, 0, 0, 0, 907, 907, 907, 0, 0,
+ 0, 0, 623, 623, 623, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 980, 0, 0, 0, 0,
+ 395, 0, 0, 0, 0, 0, 0, 145, 0, 0,
+ 0, 51, 145, 0, 0, 0, 0, 166, 0, 7,
+ 8, 9, 10, 167, 12, 13, 51, 0, 0, 51,
+ 14, 903, 0, 0, 0, 430, 430, 430, 0, 0,
+ 0, 51, 0, 0, 16, 0, 17, 18, 19, 51,
+ 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
+ 0, 23, 145, 145, 168, 145, 0, 0, 0, 0,
+ 26, 0, 27, 28, 0, 0, 0, 51, 0, 51,
+ 0, 152, 152, 152, 8, 9, 30, 51, 12, 13,
+ 1408, 0, 51, 0, 14, 51, 31, 0, 0, 0,
+ 0, 145, 632, 145, 32, 0, 0, 0, 16, 33,
+ 17, 0, 51, 0, 34, 0, 20, 0, 0, 0,
+ 247, 0, 0, 0, 0, 23, 980, 0, 0, 0,
+ 0, 0, 0, 0, 26, 0, 130, 131, 600, 0,
+ 0, 0, 556, 0, 0, 556, 0, 0, 7, 8,
+ 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
+ 556, 556, 556, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 601, 0, 556, 18, 0, 0, 78,
+ 0, 0, 0, 0, 0, 0, 21, 0, 623, 623,
+ 623, 623, 623, 0, 0, 0, 623, 0, 0, 26,
+ 0, 27, 28, 0, 0, 78, 78, 0, 78, 0,
+ 78, 0, 0, 0, 0, 193, 907, 78, 0, 903,
+ 903, 903, 0, 253, 18, 194, 0, 0, 0, 0,
+ 78, 0, 78, 32, 0, 0, 556, 0, 195, 575,
+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 51, 569, 570, 571, 572,
+ 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
+ 583, 584, 585, 586, 587, 588, 589, 590, 0, 395,
+ 0, 0, 7, 127, 128, 10, 395, 0, 516, 907,
+ 907, 907, 0, 0, 51, 51, 51, 51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 623, 623, 247, 623,
+ 18, 78, 0, 145, 0, 78, 78, 0, 0, 0,
+ 21, 78, 0, 0, 78, 78, 78, 0, 0, 0,
+ 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
+ 78, 51, 0, 0, 78, 51, 0, 0, 0, 30,
+ 78, 78, 51, 51, 0, 51, 0, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 0, 32, 78, 78,
+ 78, 0, 33, 0, 51, 0, 51, 0, 0, 0,
+ 0, 51, 51, 51, 0, 0, 0, 0, 0, 51,
+ 0, 0, 0, 0, 0, 0, 0, 78, 0, 159,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 832, 556, 299, 8, 9, 10, 167, 12, 300, 301,
+ 302, 204, 303, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 78, 0, 0, 0, 16, 304, 17,
+ 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
+ 314, 315, 316, 26, 0, 27, 318, 1523, 0, -787,
+ 319, 0, 7, 8, 9, 10, 320, 0, 245, 321,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
+ 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
+ 18, 0, 328, 0, 0, 0, 0, 556, 556, 556,
+ 21, 0, 0, 430, 253, 159, 159, 159, 0, 329,
+ 0, 0, 0, 26, 0, 27, 28, 0, 0, 640,
+ 0, 0, 0, 78, 0, 0, 0, 0, 0, 193,
+ 0, 204, 0, 0, 0, 0, 0, 0, 0, 194,
+ 0, 51, 51, 152, 0, 0, 0, 32, 253, 204,
+ 204, 477, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 8, 9, 0, 167, 12, 13, 0, 78, 730,
+ 0, 14, 0, 0, 0, 0, 0, 0, 204, 0,
+ 0, 0, 0, 78, 0, 16, 78, 17, 18, 0,
+ 1183, 0, 0, 20, 202, 0, 0, 0, 78, 0,
+ 0, 0, 23, 0, 617, 0, 78, 0, 0, 0,
+ 0, 26, 0, 130, 131, 0, 0, 0, 0, 256,
+ 0, 51, 260, 0, 0, 0, 0, 618, 0, 0,
+ 7, 8, 9, 10, 78, 0, 78, 619, 78, 78,
+ 78, 0, 253, 256, 78, 364, 0, 620, 0, 78,
+ 621, 622, 78, 529, 0, 51, 0, 0, 18, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 21, 78,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 26, 0, 27, 28, 7, 8, 9, 10, 167,
+ 12, 13, 0, 0, 730, 0, 14, 473, 0, 0,
+ 0, 0, 0, 625, 625, 625, 0, 474, 0, 0,
+ 16, 0, 17, 18, 202, 32, 0, 0, 20, 0,
+ 475, 0, 0, 21, 0, 0, 253, 23, 0, 617,
+ 0, 0, 202, 202, 202, 0, 26, 0, 27, 28,
+ 0, 0, 483, 0, 0, 0, 0, 51, 51, 152,
+ 152, 152, 1151, 253, 0, 51, 0, 0, 0, 204,
+ 0, 202, 1152, 0, 0, 7, 8, 9, 10, 0,
+ 32, 13, 620, 0, 0, 1153, 622, 0, 1183, 1183,
+ 1183, 640, 0, 0, 0, 0, 260, 0, 0, 0,
+ 0, 0, 0, 18, 0, 7, 8, 9, 10, 0,
+ 256, 516, 0, 21, 0, 0, 7, 8, 9, 10,
+ 51, 0, 78, 0, 0, 51, 26, 0, 27, 28,
+ 0, 0, 0, 18, 0, 204, 0, 204, 0, 477,
+ 477, 477, 473, 21, 0, 204, 0, 0, 0, 0,
+ 204, 0, 474, 204, 21, 0, 26, 0, 27, 28,
+ 32, 78, 78, 78, 78, 475, 0, 26, 0, 27,
+ 28, 0, 193, 1415, 0, 51, 51, 0, 51, 0,
+ 0, 0, 194, 193, 0, 0, 0, 0, 0, 0,
+ 32, 0, 0, 194, 0, 195, 0, 0, 0, 0,
+ 0, 32, 256, 260, 0, 0, 195, 0, 78, 0,
+ 0, 0, 78, 0, 51, 51, 51, 0, 0, 78,
+ 78, 0, 78, 0, 0, 0, 7, 8, 9, 10,
+ 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
+ 0, 78, 0, 78, 0, 0, 0, 0, 78, 78,
+ 78, 16, 202, 17, 18, 19, 78, 0, 0, 20,
+ 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
+ 868, 168, 0, 0, 0, 0, 0, 26, 0, 27,
+ 28, 0, 0, 0, 625, 625, 0, 625, 0, 0,
+ 0, 0, 0, 30, 625, 0, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 0, 32, 0, 204, 0, 0, 33, 0, 202, 0,
+ 202, 34, 202, 202, 202, 0, 0, 0, 202, 1183,
+ 0, 0, 0, 202, 0, 0, 202, 0, 7, 8,
+ 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
+ 0, 0, 947, 0, 947, 947, 0, 625, 0, 0,
+ 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
- 23, 0, 617, 0, 0, 0, 0, 0, 0, 26,
- 0, 27, 28, 145, 841, 145, 0, 0, 0, 0,
- 732, 0, 248, 0, 898, 1157, 145, 0, 248, 51,
- 919, 919, 919, 0, 0, 1158, 0, 0, 641, 0,
- 0, 0, 0, 32, 0, 620, 0, 0, 1159, 622,
- 0, 0, 0, 0, 0, 51, 51, 0, 152, 0,
- 51, 0, 685, 0, 1153, 0, 0, 51, 898, 0,
- 248, 0, 248, 0, 145, 145, 632, 0, 0, 0,
- 51, 0, 51, 0, 0, 0, 0, 7, 8, 9,
- 10, 205, 12, 206, 0, 0, 0, 0, 14, 0,
- 0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
- 0, 898, 16, 0, 17, 18, 0, 0, 0, 919,
- 20, 0, 0, 0, 1195, 21, 0, 0, 0, 23,
- 1201, 0, 248, 0, 0, 0, 0, 732, 26, 0,
- 27, 28, 0, 772, 207, 248, 0, 0, 1051, 732,
- 0, 0, 0, 0, 30, 0, 0, 248, 396, 396,
- 0, 51, 0, 0, 31, 51, 51, 0, 0, 254,
- 0, 51, 32, 0, 152, 152, 152, 33, 0, 0,
- 0, 431, 83, 732, 0, 732, 0, 0, 0, 0,
- 51, 248, 0, 248, 51, 7, 127, 128, 10, 0,
- 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1248, 0, 0, 0, 0, 51, 51,
- 152, 248, 0, 18, 0, 0, 145, 145, 254, 145,
- 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 26, 51, 27, 28,
- 0, 0, 0, 0, 0, 0, 0, 623, 623, 0,
- 623, 0, 30, 0, 0, 0, 0, 915, 0, 0,
- 898, 0, 31, 0, 145, 145, 145, 145, 632, 0,
- 32, 0, 145, 0, 51, 33, 0, 0, 0, 772,
- 0, -385, 8, 9, -385, -385, 12, 246, 0, 898,
- 0, 0, 14, 0, 0, 919, 919, 919, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, -385,
- 0, 772, 0, 0, 20, 623, 0, 623, 623, -385,
- 623, 0, 0, 23, 0, 617, 145, 0, 0, 0,
- 0, 145, 26, 0, 130, 131, 0, 0, 0, 7,
- 127, 128, 10, 0, 556, 516, 0, 0, 618, 0,
- 7, 8, 9, 10, 0, 0, 246, 0, 619, 0,
- 0, 396, 623, 0, 0, 0, -385, 18, 620, 254,
- 0, 621, 622, 0, 51, 0, 0, 21, 18, 0,
- 0, 145, 145, 0, 145, 0, 0, 0, 21, 0,
- 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 0, 30, 0, 396, 1410,
- 0, 0, 0, 0, 0, 0, 31, 193, 0, 51,
- 145, 632, 145, 0, 32, 0, 18, 194, 0, 33,
- 0, 1195, 0, 0, 51, 32, 0, 51, 0, 248,
- 195, 0, 0, 431, 431, 431, 0, 0, 0, 51,
- 623, 0, 0, 0, 0, 0, 0, 51, 569, 570,
- 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
- 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
- 7, 8, 9, 10, 0, 51, 13, 51, 0, 152,
- 152, 152, 0, 0, 0, 51, 0, 0, 0, 0,
- 51, 0, 0, 51, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 21, 51,
- 0, 0, 0, 623, 78, 623, 0, 0, 0, 0,
- 0, 26, 919, 27, 28, 0, 623, 0, 0, 0,
- 915, 915, 915, 0, 0, 0, 0, 474, 0, 556,
- 78, 78, 556, 78, 0, 78, 0, 475, 0, 0,
- 0, 0, 78, 0, 0, 32, 0, 556, 556, 556,
- 476, 0, 0, 0, 0, 78, 0, 78, 0, 0,
- 0, 0, 556, 0, 623, 623, 623, 7, 8, 9,
- 10, 0, 0, 516, 0, 0, 559, 0, 1039, 1040,
- 9, 10, 919, 919, 919, 0, 0, 0, 0, 0,
- 0, 0, 0, 685, 0, 18, 0, 0, 0, 0,
- 0, 248, 0, 0, 0, 21, 145, 0, 0, 915,
- 254, 0, 0, 0, 0, 0, 21, 0, 26, 0,
- 27, 28, 0, 556, 0, 0, 0, 0, 0, 26,
- 0, 27, 28, 0, 193, 0, 78, 1041, 0, 0,
- 78, 78, 51, 0, 194, 193, 78, 0, 0, 78,
- 78, 78, 32, 0, 0, 194, 0, 195, 0, 7,
- 8, 9, 10, 32, 0, 78, 396, 0, 195, 78,
- 0, 0, 0, 396, 0, 78, 78, 0, 0, 0,
- 0, 51, 51, 51, 51, 0, 0, 18, 0, 0,
- 0, 0, 0, 78, 78, 78, 0, 21, 0, 0,
+ 23, 0, 640, 0, 0, 0, 0, 0, 0, 26,
+ 0, 27, 28, 0, 0, 207, 0, 0, 0, 947,
+ 0, 0, 1183, 1183, 1183, 30, 0, 0, 0, 0,
+ 204, 204, 0, 204, 0, 31, 0, 0, 78, 78,
+ 78, 0, 0, 32, 0, 0, 51, 0, 33, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
+ 0, 0, 0, 0, 0, 0, 0, 761, 0, 7,
+ 8, 762, 10, 167, 12, 13, 0, 0, 0, 0,
+ 14, 0, 0, 529, 529, 529, 0, 1185, 0, 0,
+ 0, 0, 0, 0, 16, 625, 17, 18, 19, 0,
+ 256, 260, 20, -524, 0, 0, 0, 21, 0, 0,
+ 0, 23, 763, 0, 168, 0, 202, 0, 78, 0,
+ 26, 0, 27, 28, 0, 0, 764, 0, 765, 0,
+ 0, 0, 0, 0, 0, 0, 30, 0, 7, 8,
+ 9, 10, 167, 12, 13, 0, 31, 997, 0, 14,
+ 0, 0, 78, 0, 32, 202, 0, 202, 202, 33,
+ 0, 0, 0, 16, 0, 17, 18, 0, 625, 0,
+ 625, 20, 0, 0, 0, -524, 21, 0, 0, 0,
+ 23, 625, 0, 0, 0, 625, 625, 625, 0, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 202, 0, 0, 30, 0, 0, 102, 0,
+ 0, 0, 0, 202, 202, 31, 202, 121, 102, 0,
+ 0, 0, 0, 32, 102, 102, 0, 102, 33, 947,
+ 947, 1156, 0, 0, 1345, 127, 128, 10, 0, 0,
+ 0, 0, 202, 0, 78, 78, 78, 78, 78, 0,
+ 0, 0, 78, 0, 0, 0, 0, 0, 0, 235,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 78, 0, 0, 159, 474, 0, 51, 0,
- 0, 0, 51, 0, 0, 0, 475, 0, 0, 51,
- 51, 0, 51, 0, 32, 0, 0, 204, 0, 476,
- 0, 0, 8, 9, 0, 167, 12, 13, 0, 78,
- 730, 0, 14, 0, 623, 623, 623, 623, 623, 0,
- 0, 0, 623, 51, 0, 51, 16, 0, 17, 18,
- 51, 51, 51, 0, 20, 0, 0, 0, 51, 0,
- 0, 0, 0, 23, 0, 915, 915, 915, 0, 0,
- 0, 0, 26, 0, 130, 131, 0, 0, 0, 773,
- 556, 7, 8, 774, 10, 167, 12, 13, 0, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 159, 159, 159, 20, -523, 0, 0, 0, 21,
- 0, 0, 0, 23, 775, 640, 168, 0, 0, 78,
- 0, 0, 26, 0, 27, 28, 0, 204, 776, 0,
- 777, 0, 0, 0, 0, 0, 0, 0, 30, 0,
- 0, 623, 623, 0, 623, 204, 204, 478, 31, 0,
- 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 0, 33, 0, 0, 78, 0, 556, 556, 556, 0,
- 0, 0, 431, 254, 204, 0, 0, -523, 0, 78,
- 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
- 1347, 1348, 9, 10, 78, 0, 0, 0, 0, 0,
- 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 152, 0, 0, 0, 0, 254, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
- 78, 0, 78, 0, 78, 78, 78, 0, 0, 0,
- 78, 26, 0, 27, 28, 78, 0, 0, 78, 1349,
- 529, 0, 0, 0, 0, 1189, 0, 193, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 194, 0, 0,
- 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
- 195, 0, 0, 0, 51, 0, 551, 0, 300, 8,
- 9, 10, 167, 12, 301, 302, 303, 730, 304, 14,
- 625, 625, 625, 0, 0, 254, 0, 1347, 127, 128,
- 10, 0, 0, 16, 305, 17, 18, 19, 51, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 617, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, -310, 0, 21, 320, 0, 7, 8,
- 9, 10, 321, 0, 0, 911, 204, 0, 26, 0,
- 27, 28, 0, 323, 324, 912, 1349, 0, 0, 0,
- 0, 326, 327, 328, 30, 620, 640, 0, 913, 622,
- 0, 0, 0, 0, 31, 0, 21, 0, 0, 254,
- 0, 0, 32, 0, 0, 330, 0, 33, 0, 26,
- 0, 27, 28, 0, 0, 1417, 0, 78, 0, 0,
- 51, 51, 152, 152, 152, 193, 254, 0, 51, 0,
- 0, 0, 204, 0, 204, 194, 478, 478, 478, 0,
- 0, 0, 204, 32, 0, 0, 0, 204, 195, 0,
- 204, 1189, 1189, 1189, 0, 0, 78, 78, 78, 78,
- 0, 0, 0, 0, 0, 0, 773, 0, 7, 8,
- 774, 10, 167, 12, 13, 0, 0, 0, 0, 14,
- 0, 0, 51, 0, 0, 0, 0, 51, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
- 0, 20, -524, 78, 0, 0, 21, 78, 0, 0,
- 23, 775, 0, 168, 78, 78, 0, 78, 0, 26,
- 0, 27, 28, 0, 0, 776, 0, 777, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 51, 51, 0,
- 51, 0, 0, 0, 0, 31, 0, 0, 78, 0,
- 78, 0, 0, 32, 0, 78, 78, 78, 33, 0,
- 0, 0, 0, 78, 0, 0, 880, 0, 0, 0,
- 0, 0, 0, 0, -524, 0, 51, 51, 51, 0,
- 625, 625, 202, 625, 0, 0, 0, 0, 0, 0,
- 625, 0, 7, 8, 9, 10, 167, 12, 13, 0,
- 0, 0, 0, 14, 0, 0, 0, 257, 0, 204,
- 261, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 0, 0, 20, 0, 0, 0, 0,
- 21, 257, 0, 365, 23, 0, 0, 168, 0, 0,
- 0, 0, 0, 26, 0, 27, 28, 0, 959, 0,
- 959, 959, 0, 625, 0, 0, 0, 0, 0, 30,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
- 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
- 0, 0, 33, 0, 0, 0, 0, 34, 1189, 640,
- 0, 0, 0, 0, 0, 959, 0, 0, 0, 0,
- 0, 0, 202, 0, 0, 0, 204, 204, 0, 204,
- 0, 0, 0, 7, 8, 9, 10, 214, 215, 216,
- 202, 202, 202, 0, 14, 78, 78, 78, 0, 0,
- 484, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 20, 204, 0, 202,
- 0, 21, 0, 0, 0, 23, 0, 617, 1189, 1189,
- 1189, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 1191, 529, 529, 529, 0, 261, 0, 0, 0, 0,
- 955, 0, 51, 625, 0, 0, 0, 0, 0, 257,
- 956, 0, 0, 0, 0, 0, 0, 0, 32, 78,
- 620, 0, 0, 1000, 622, 0, 0, 0, 0, 0,
- 0, 551, 0, 7, 8, 9, 10, 167, 12, 301,
- 302, 303, 730, 304, 14, 0, 0, 0, 0, 0,
- 0, 0, 0, 78, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 625, 617, 625, 313,
- 314, 315, 316, 317, 26, 0, 27, 28, -310, 625,
- 0, 320, 0, 625, 625, 625, 0, 321, 0, 0,
- 1186, 257, 261, 0, 0, 0, 0, 0, 323, 324,
- 1187, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 620, 0, 0, 1188, 622, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 959, 959, 1162,
- 330, 0, 0, 0, 0, 78, 78, 78, 78, 78,
- 0, 202, 0, 78, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 8, 9, 10, 167, 12, 13, 0,
- 0, 0, 0, 14, 0, 0, 1191, 1191, 1191, 0,
- 0, 0, 1162, 0, 0, 0, 0, 16, 0, 17,
- 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 21, 0, 0, 0, 23, 0, 0, 78, 0, 0,
- 0, 204, 78, 26, 0, 27, 28, 202, 0, 202,
- 0, 202, 202, 202, 0, 0, 0, 202, 0, 30,
- 0, 0, 202, 0, 0, 202, 0, 0, 0, 31,
- 0, 0, 263, 0, 0, 8, 9, 32, 0, 12,
- 13, 0, 33, 0, 0, 14, 0, 0, 0, 0,
- 0, 0, 78, 78, 0, 78, 0, 0, 0, 16,
- 0, 17, 0, 0, 0, 0, 0, 20, 0, 264,
- 265, 0, 0, 0, 0, 0, 23, 0, 266, 880,
- 880, 0, 880, 0, 0, 26, 0, 130, 131, 0,
- 267, 78, 78, 78, 268, 269, 270, 271, 272, 273,
- 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, 285, 286, 287, 288, 0, 0, 289, 290, 291,
- 0, 0, 292, 0, 0, 293, 0, 959, 959, 1162,
- 1162, 1162, 0, 0, 0, 959, 0, 0, 0, 0,
- 0, 294, 0, 773, 0, 7, 8, 774, 10, 167,
- 12, 13, 0, 0, 0, 0, 14, 0, 1162, 1162,
- 1162, 0, 0, 0, 0, 0, 0, 0, 257, 261,
- 16, 0, 17, 18, 19, 0, 102, 0, 20, -526,
- 0, 0, 0, 21, 202, 121, 102, 23, 775, 204,
- 168, 0, 102, 102, 0, 102, 26, 0, 27, 28,
- 0, 0, 776, 1191, 777, 8, 9, 0, 0, 12,
- 13, 0, 30, 0, 0, 14, 0, 0, 0, 0,
- 0, 0, 31, 202, 0, 202, 202, 235, 0, 16,
- 32, 17, 0, 0, 0, 33, 0, 20, 0, 0,
- 0, 0, 0, 0, 959, 959, 23, 959, 0, 0,
- 0, -526, 0, 0, 0, 26, 0, 130, 131, 0,
+ 0, 0, 21, 0, 0, 1185, 1185, 1185, 1156, 7,
+ 8, 9, 10, 0, 0, 26, 0, 27, 28, 0,
+ 0, 0, 0, 1347, 0, 0, 0, 0, 0, 0,
+ 0, 30, 0, 0, 0, 0, 0, 78, 0, 204,
+ 0, 31, 78, 0, 0, 0, 0, 21, 388, 32,
+ 121, 0, 0, 0, 33, 0, 0, 102, 102, 0,
+ 26, 0, 27, 28, 102, 102, 0, 0, 102, 102,
+ 102, 0, 416, 102, 102, 102, 193, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 194, 0, 0, 0,
+ 0, 0, 78, 78, 32, 78, 0, 0, 0, 195,
+ 0, 0, 0, 0, 0, 256, 260, 256, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 868, 868, 0,
+ 868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 78, 78, 78, 0, 0, 0, 0, 0, 0,
+ 0, 0, 202, 202, 1154, 0, 0, 0, 0, 256,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 202, 0, 0, 1191, 1191, 1191, 0, 0, 0, 0,
- 0, 202, 202, 204, 202, 204, 389, 0, 121, 0,
- 0, 0, 0, 0, 871, 102, 102, 78, 0, 0,
- 0, 0, 102, 102, 0, 0, 102, 102, 102, 261,
- 417, 102, 102, 102, 0, 0, 0, 0, 0, 0,
- 0, 0, 202, 0, 1425, 0, 1285, 1286, 1287, 10,
- 167, 12, 301, 302, 303, 0, 304, 14, 1288, 0,
- 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
- 15, 16, 305, 17, 18, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 1299, 23, 1300,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 1301,
- 319, 717, 0, 1302, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 478, 0, 0, 0, 499,
- 102, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 0, 329, 0, 1303, 0,
- 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1426, 330, 573, 574, 575, 576, 577, 578,
+ 0, 498, 102, 0, 0, 947, 947, 1156, 1156, 1156,
+ 0, 0, 0, 947, 0, 0, 0, 0, 0, 260,
+ 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1154, 0, 0, 0, 0, 1156, 1156, 1156, 0,
+ 0, 0, 0, 7, 8, 9, 10, 214, 215, 216,
+ 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
+ 0, 102, 202, 0, 0, 0, 0, 0, 204, 0,
+ 0, 18, 0, 0, 0, 0, 20, 0, 0, 0,
+ 0, 21, 0, 483, 0, 23, 1185, 617, 0, 0,
+ 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
+ 943, 102, 102, 0, 0, 0, 0, 0, 0, 0,
+ 944, 0, 0, 947, 947, 0, 947, 0, 32, 0,
+ 620, 0, 0, 992, 622, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
- 589, 590, 0, 0, 0, 257, 261, 257, 0, 0,
- 102, 0, 1477, 0, 0, 478, 478, 478, 574, 575,
- 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 0, 0, 0, 0, 204,
- 0, 0, 202, 202, 1160, 0, 0, 0, 0, 257,
- 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
- 102, 102, 1478, 569, 570, 571, 572, 573, 574, 575,
- 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 0, 0, 1160, 0, 0,
- 0, 0, 0, 0, 0, 1448, 0, -477, -477, -477,
- -477, -477, -477, -477, 0, 102, -477, 0, -477, 0,
- 0, 0, 0, 0, 0, 0, 202, 0, 0, -477,
- 0, -477, 0, 0, 102, -477, 0, 0, 0, 0,
- -477, 102, 0, 0, 102, -477, 0, 484, 0, -477,
- 0, -477, 0, 0, 0, 0, 102, 0, -477, 0,
- -477, -477, -477, -477, -477, 0, -477, -477, -477, -477,
+ 589, 590, 0, 0, 0, 0, 102, 0, 0, 1185,
+ 1185, 1185, 204, 0, 204, 0, 0, 256, 0, 0,
+ 0, 0, 0, 0, 0, 102, 8, 9, 0, 167,
+ 12, 13, 102, 78, 730, 102, 14, 0, 202, 202,
+ 202, 202, 1154, 0, 1269, 0, 202, 102, 0, 0,
+ 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 23, 0, 1154,
+ 1154, 1154, 0, 0, 0, 0, 26, 0, 130, 131,
+ 0, 0, 0, 0, 720, 0, 820, 821, 822, 10,
+ 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 202, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 102, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 477, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 823,
+ 824, 721, 102, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 202, 202, 0, 202,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 825, 0, 0,
+ 0, 1449, 0, -477, -477, -477, -477, -477, -477, -477,
+ 0, 0, -477, 329, -477, 202, 0, 202, 0, 0,
+ 477, 477, 477, 0, 0, -477, 0, -477, 0, 0,
+ 0, -477, 0, 0, 0, 0, -477, 0, 102, 0,
+ 0, -477, 0, 0, 204, -477, 0, -477, 0, 102,
+ 102, 0, 102, 102, -477, 0, -477, -477, -477, -477,
+ -477, 0, -477, -477, -477, -477, -477, -477, -477, -477,
-477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
- -477, -477, -477, -477, -477, -477, -477, -477, -477, 0,
- -477, -477, -477, 0, -477, -477, -477, -477, -477, -477,
- 0, -477, 0, 0, 0, 0, 1449, 0, 0, 0,
- 0, -477, -477, -477, 0, -477, 0, 0, 0, 0,
- 0, 0, 0, 102, 0, 765, 0, 0, 0, 0,
- 0, 257, 575, 576, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
- 102, 0, 202, 202, 202, 202, 1160, 0, 1274, 0,
- 202, 0, 0, 0, 0, 0, 0, 729, 0, 300,
- 8, 9, 10, 167, 12, 301, 302, 303, 730, 304,
- 14, 0, 0, 1160, 1160, 1160, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 0, 202, 313, 314, 315, 316, 317,
- 26, 0, 27, 319, 0, 0, 102, 320, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 102, 102, 0,
- 102, 102, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
- 0, 0, 0, 8, 9, 0, 167, 12, 13, 202,
- 202, 0, 202, 14, -796, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 0, 0, 102, 0, 20, 0, 0, 0, 0,
- 102, 121, 0, 0, 679, 0, 0, 168, 202, 0,
- 202, 0, 235, 26, 0, 130, 131, 0, 0, 0,
- 0, 1284, 0, 1285, 1286, 1287, 10, 167, 12, 301,
- 302, 303, 0, 304, 14, 1288, 765, 1289, 1290, 1291,
- 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 1301, 319, 717, 0,
- 1302, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 765, 0, 0, 102, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 0, 329, 0, 1303, 0, 0, 0, 0,
- 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 330, 102, 102, 102, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 102, 0, 569, 570, 571, 572, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
- 0, 844, 0, 300, 8, 9, 10, 167, 12, 301,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
- 1160, 1160, 1160, 1238, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 202, 23, 102, 0, 102, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 1522, 102,
- -786, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 720, 329, 832, 833, 834, 10, 0, 12,
- 533, 302, 303, 0, 304, 14, 0, 0, 0, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 835, 836, 721,
- 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 765, 326, 327, 328,
- 0, 0, 0, 0, 329, 837, 551, 0, 300, 8,
- 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
- 992, 330, 0, 102, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, -310, 8, 9, 320, 0, 12, 246,
- 0, 0, 321, 0, 14, 552, 0, 0, 0, 102,
- 102, 0, 102, 323, 324, 553, 0, 0, 16, 0,
- 17, 326, 327, 328, 0, 0, 20, 0, 554, 0,
- 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
- 0, 0, 0, 0, 26, 330, 130, 131, 0, 0,
- 720, 0, 832, 833, 834, 10, 0, 12, 533, 302,
- 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 765, 0, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 765, 835, 836, 721, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
- 0, 0, 102, 0, 102, 0, 0, 323, 324, 325,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 0, 329, 837, 720, 0, 832, 833, 834, 10,
- 0, 12, 533, 302, 303, 0, 304, 14, 0, 330,
+ -477, -477, -477, -477, -477, 0, -477, -477, -477, 0,
+ -477, -477, -477, -477, -477, -477, 0, -477, 0, 0,
+ 0, 0, 1450, 0, 0, 102, 0, -477, -477, -477,
+ 0, -477, 102, 121, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 235, 0, 0, 0, 0, 551,
+ 1154, 299, 8, 9, 10, 167, 12, 300, 301, 302,
+ 730, 303, 14, 0, 0, 0, 0, 0, 977, 0,
+ 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 617, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, -310, 0, 0, 319,
+ 0, 0, 0, 0, 977, 320, 0, 102, 899, 0,
+ 0, 0, 0, 1154, 1154, 1154, 322, 323, 900, 0,
+ 0, 0, 0, 0, 325, 326, 327, 0, 620, 0,
+ 0, 901, 622, 0, 0, 0, 0, 202, 0, 0,
+ 0, 102, 102, 102, 0, 0, 0, 0, 329, 0,
+ 0, 0, 0, 102, 0, 1423, 0, 1280, 1281, 1282,
+ 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
+ 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
+ 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
+ 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 102, 0, 102, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 102,
+ 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 1424, 329, 0, 1279, 0, 1280, 1281,
+ 1282, 10, 167, 12, 300, 301, 302, 0, 303, 14,
+ 1283, 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
+ 1292, 1293, 15, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 1294,
+ 23, 1295, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 1296, 318, 717, 977, 1297, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 0, 328, 0,
+ 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 551, 329, 7, 8, 9, 10,
+ 167, 12, 300, 301, 302, 730, 303, 14, 0, 102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 835,
- 836, 721, 0, 0, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 720, 329, 832, 833, 834,
- 10, 0, 12, 533, 302, 303, 0, 304, 14, 0,
- 0, 0, -481, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 835, 836, 721, 0, 0, 320, 0, 0, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
- 326, 327, 328, 0, 0, 0, 720, 329, 300, 8,
- 9, 10, 0, 12, 533, 302, 303, 0, 304, 14,
- 0, 0, 0, 1323, 330, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 721, 0, 0, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
- 551, 0, 7, 8, 9, 10, 1327, 12, 301, 302,
- 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
- 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 27, 28, -310, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 1493,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 1494,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 720, 1495, 300, 8, 9, 10, 0, 12, 533,
- 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 721, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
- 0, 0, 844, 329, 300, 8, 9, 10, 0, 12,
- 533, 302, 303, 0, 304, 14, 0, 0, 0, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
- 0, 0, 320, -786, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 0, 0, 0, 1574, 329, 300, 8, 9, 10, 0,
- 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, -194, 320, 0, 0, 0, 0, 0, 321,
- 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
- 328, 0, 0, 0, 844, 329, 300, 8, 9, 10,
- 0, 12, 533, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 933, 329, 300, 8, 9,
- 10, 0, 12, 533, 302, 303, 0, 304, 14, 0,
- 0, -786, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
- 27, 319, 0, 0, 0, 320, 0, 0, 0, 0,
- 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
- 326, 327, 328, 0, 0, 0, 935, 329, 300, 8,
- 9, 10, 0, 12, 533, 302, 303, 0, 304, 14,
- 0, 0, 0, 0, 330, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 0, 0, 0, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 1506, 329, 300,
- 8, 9, 10, 0, 12, 533, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
- 26, 0, 27, 319, 0, 0, 0, 320, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
- 12, 533, 302, 303, 0, 304, 14, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
- 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
- 0, 773, 322, 7, 8, 774, 10, 167, 12, 13,
- 323, 324, 325, 0, 14, 0, 0, 0, 326, 327,
- 328, 0, 0, 0, 0, 329, 0, 0, 16, 0,
- 17, 18, 19, 0, 0, 0, 20, -525, 0, 0,
- 0, 21, 330, 883, 0, 23, 775, 0, 168, 0,
- 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
- 776, 0, 777, 0, 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
- 0, 0, 0, 33, 0, 0, 1285, 1286, 1287, 10,
- 167, 12, 301, 302, 303, 0, 304, 14, 1288, -525,
- 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
- 15, 16, 305, 17, 18, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 1299, 23, 1300,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 1301,
- 319, 717, 0, 1302, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 0, 329, 0, 1303, 0,
+ 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 28, -310, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 1180, 0, 102, 102, 0, 102, 0,
+ 0, 322, 323, 1181, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 620, 0, 0, 1182, 622, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 329, 0, 729, 0, 299, 8, 9,
+ 10, 167, 12, 300, 301, 302, 730, 303, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 977, 0,
+ 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 977, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 102,
+ 0, 102, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 0, 0, 720, 328, 820, 821,
+ 822, 10, 0, 12, 533, 301, 302, 0, 303, 14,
+ 0, 0, -797, 0, 329, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 823, 824, 721, 0, 0, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 0, 328, 825,
+ 0, 0, 0, 0, 0, 977, 0, 0, 0, 0,
+ 0, 0, 0, 0, 984, 329, 551, 0, 299, 8,
+ 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1430, 330, 1285, 1286, 1287, 10, 167, 12,
- 301, 302, 303, 0, 304, 14, 1288, 0, 1289, 1290,
- 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16,
- 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 1299, 23, 1300, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 1301, 319, 717,
- 0, 1302, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 0, 0, 0, 0, 329, 0, 1303, 0, 1285, 1286,
- 1287, 10, 167, 12, 301, 302, 303, 0, 304, 14,
- 1288, 330, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
- 1297, 1298, 15, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 1299,
- 23, 1300, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 1301, 319, 1551, 0, 1302, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
- 1303, 0, 1285, 1286, 1287, 10, 167, 12, 301, 302,
- 303, 0, 304, 14, 1288, 330, 1289, 1290, 1291, 1292,
- 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305, 17,
- 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 1299, 23, 1300, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 1301, 319, 0, 0, 1302,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
- 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
- 0, 0, 329, 0, 1303, 300, 8, 9, 10, 167,
- 12, 301, 302, 303, 730, 304, 14, 0, 0, 330,
+ 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, -310, 0, 0, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 552, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 553, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 720, 554, 820,
+ 821, 822, 10, 0, 12, 533, 301, 302, 0, 303,
+ 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 823, 824, 721, 0, 0, 319, 0, 0,
+ 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 720, 328,
+ 820, 821, 822, 10, 0, 12, 533, 301, 302, 0,
+ 303, 14, 0, 0, 0, -481, 329, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 823, 824, 721, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 0, 0, 720,
+ 328, 299, 8, 9, 10, 0, 12, 533, 301, 302,
+ 0, 303, 14, 0, 0, 0, 1318, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 304, 17, 0,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, 721, 0, 0, 319,
+ 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
+ 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
+ 0, 328, 0, 551, 0, 7, 8, 9, 10, 1322,
+ 12, 300, 301, 302, 0, 303, 14, 0, 329, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
- 308, 309, 310, 21, 311, 312, 0, 23, 0, 617,
- 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
- 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
- 0, 0, 911, 0, 0, 0, 0, 0, 0, 0,
- 323, 324, 912, 0, 0, 0, 0, 0, 326, 327,
- 328, 0, 620, 0, 0, 913, 622, 7, 8, 9,
- 10, 167, 12, 301, 302, 303, 730, 304, 14, 0,
- 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
- 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
- 0, 617, 0, 313, 314, 315, 316, 317, 26, 0,
- 27, 28, 0, 0, 0, 320, 0, 0, 0, 0,
- 0, 321, 0, 0, 1186, 0, 0, 0, 0, 0,
- 0, 0, 323, 324, 1187, 0, 0, 0, 0, 0,
- 326, 327, 328, 0, 620, 0, 0, 1188, 622, 300,
- 8, 9, 10, 0, 12, 301, 302, 303, 0, 304,
- 14, 0, 0, 0, 330, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 305, 17, 18, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 617, 0, 313, 314, 315, 316, 317,
- 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 911, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 912, 0, 0, 0,
- 0, 0, 326, 327, 328, 0, 620, 0, 0, 913,
- 622, 7, 8, 9, 10, 0, 12, 301, 302, 303,
- 0, 304, 14, 0, 0, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
- 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
- 311, 312, 0, 23, 0, 617, 0, 313, 314, 315,
- 316, 317, 26, 0, 27, 28, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 321, 0, 0, 1186, 0,
- 0, 0, 0, 0, 0, 0, 323, 324, 1187, 0,
- 0, 0, 0, 0, 326, 327, 328, 0, 620, 0,
- 0, 1188, 622, 300, 8, 9, 10, 0, 12, 533,
- 302, 303, 0, 304, 14, 0, 0, 0, 330, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
- 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
- 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
- 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
- 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
- 552, 0, 0, 0, 0, 0, 0, 0, 323, 324,
- 553, 0, 0, 0, 0, 0, 326, 327, 328, 300,
- 8, 9, 10, 554, 12, 533, 302, 303, 0, 304,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
- 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
- 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
- 26, 0, 27, 319, 0, 0, 1403, 320, 0, 0,
- 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
- 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
- 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
- 300, 8, 9, 10, 167, 12, 301, 302, 303, 0,
- 304, 14, 0, 0, 0, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
- 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
- 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
- 317, 26, 0, 27, 319, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 321, 0, 0, 322, 0, 0,
- 0, 0, 0, 0, 0, 323, 324, 325, 0, 0,
- 0, 0, 0, 326, 327, 328, 7, 8, 9, 10,
- 329, 12, 533, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
- 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 28, 0, 0, 0, 320, 0, 0, 0, 0, 0,
- 321, 0, 0, 1493, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 1494, 0, 0, 0, 0, 0, 326,
- 327, 328, 300, 8, 9, 10, 1495, 12, 301, 302,
- 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 318, 319, 0, 0, 0,
- 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
- 0, 0, 0, 0, 0, 326, 327, 328, 300, 8,
- 9, 10, 329, 12, 301, 302, 303, 0, 304, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 330,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 0, 0, 0, 320, 0, 0, 0,
- 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
- 0, 326, 327, 328, 300, 8, 9, 10, 329, 12,
- 533, 302, 303, 0, 304, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 330, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
- 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 300, 8, 9, 10, 329, 12, 533, 302, 303, 0,
- 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 330, 0, 0, 0, 16, 305, 17, 0, 19,
- 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
- 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
- 317, 26, 0, 27, 319, 566, 0, 0, 0, 0,
- 0, 0, 0, 0, 321, 0, 0, 322, 0, 0,
- 0, 0, 0, 0, 0, 323, 324, 325, 0, 0,
- 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
- 567, 12, 533, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 0, 0, 0, 0, 329, 605, 300, 8,
- 9, 10, 0, 12, 533, 302, 303, 0, 304, 14,
- 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 321, 0, 0, 552, 0, 0, 0, 0,
- 0, 0, 0, 323, 324, 553, 0, 0, 0, 0,
- 0, 326, 327, 328, 1146, 8, 9, 10, 554, 12,
- 533, 302, 303, 0, 304, 14, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 330, 0, 0, 0, 16,
- 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
- 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
- 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
- 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
- 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
- 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
- 7, 8, 9, 10, 329, 12, 301, 302, 303, 0,
- 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 330, 0, 0, 0, 16, 305, 17, 18, 19,
- 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
- 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
- 317, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 321, 0, 0, 1493, 0, 0,
- 0, 0, 0, 0, 0, 323, 324, 1494, 0, 0,
- 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
- 1495, 12, 533, 302, 303, 0, 304, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
- 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
- 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
- 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
- 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
- 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
- 327, 328, 300, 8, 9, 10, 534, 12, 533, 302,
- 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
- 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
- 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
- 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 321, 0, 0, 322,
- 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
- 0, 0, 0, 0, 0, 326, 327, 328, 300, 8,
- 9, 10, 537, 12, 533, 302, 303, 0, 304, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 330,
- 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
- 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
- 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
- 0, 27, 319, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 321, 0, 6, 322, 7, 8, 9, 10,
- 11, 12, 13, 323, 324, 325, 0, 14, 0, 0,
- 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
- 15, 16, 0, 17, 18, 19, 0, 0, 0, 20,
- 0, 0, 0, 0, 21, 330, 0, 22, 23, 24,
- 0, 25, 0, 0, 0, 0, 0, 26, 0, 27,
- 28, 0, 0, 29, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
- 0, 0, 773, 31, 7, 8, 774, 10, 167, 12,
- 13, 32, 0, 0, 0, 14, 33, 0, 0, 0,
- 0, 34, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 0, 0, 20, 0, 0,
- 0, 0, 21, 0, 0, 0, 23, 775, 0, 168,
+ 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 27, 28,
+ -310, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 1494, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 1495, 0, 0, 0, 0, 0, 325, 326,
+ 327, 0, 0, 0, 720, 1496, 299, 8, 9, 10,
+ 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 721, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 832, 328, 299, 8, 9,
+ 10, 0, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 0, 319, -787, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 0, 0, 1575, 328, 299, 8,
+ 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
+ 0, 0, 0, 0, 329, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, 0, 0, -194, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 832, 328, 299,
+ 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
+ 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
+ 0, 0, 0, 320, 262, 0, 321, 8, 9, 0,
+ 0, 12, 13, 0, 322, 323, 324, 14, 0, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
+ 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
+ 0, 263, 264, 0, -787, 0, 329, 0, 23, 0,
+ 265, 0, 0, 0, 0, 0, 0, 26, 0, 130,
+ 131, 0, 266, 0, 0, 0, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 0, 0, 288,
+ 289, 290, 0, 0, 291, 0, 921, 292, 299, 8,
+ 9, 10, 0, 12, 533, 301, 302, 0, 303, 14,
+ 0, 0, 0, 293, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 318, 0, 0, 0, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 0, 0, 923, 328, 299,
+ 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
+ 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
+ 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 1507, 328,
+ 299, 8, 9, 10, 0, 12, 533, 301, 302, 0,
+ 303, 14, 0, 0, 0, 0, 329, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 318, 0, 0, 0, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 299, 8, 9, 10,
+ 328, 12, 533, 301, 302, 0, 303, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
+ 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 761, 321, 7, 8, 762, 10, 167, 12,
+ 13, 322, 323, 324, 0, 14, 0, 0, 0, 325,
+ 326, 327, 0, 0, 0, 0, 328, 0, 0, 16,
+ 0, 17, 18, 19, 0, 0, 0, 20, -525, 0,
+ 0, 0, 21, 329, 871, 0, 23, 763, 0, 168,
0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
- 0, 776, 0, 777, 0, 0, 0, 0, 0, 0,
- 0, 30, 1039, 8, 774, 10, 205, 12, 206, 0,
- 0, 31, 0, 14, 0, 0, 0, 0, 0, 32,
- 0, 0, 0, 0, 33, 0, 0, 16, 0, 17,
- 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
- 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
- 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
- 0, 1041, 0, 0, 0, 0, 0, 0, 0, 30,
- 7, 8, 9, 10, 205, 12, 206, 0, 0, 31,
- 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
- 0, 0, 33, 0, 0, 16, 0, 17, 18, 0,
- 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
- 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 0, 27, 28, 0, 0, 1420, 0, 7,
- 8, 9, 10, 205, 12, 206, 0, 30, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 0, 0, 0, 16, 32, 17, 18, 0, 0,
- 33, 0, 20, 0, 0, 0, 0, 21, 0, 0,
- 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 0, 27, 28, 8, 9, 0, 167, 12, 13,
- 0, 0, 1545, 0, 14, 0, 30, 8, 9, 0,
- 205, 12, 206, 0, 0, 0, 31, 14, 16, 0,
- 17, 18, 0, 0, 32, 0, 20, 0, 0, 33,
- 0, 16, 0, 17, 18, 23, 0, 0, 0, 20,
- 0, 0, 0, 0, 26, 0, 130, 131, 23, 0,
- 0, 8, 9, 0, 0, 12, 13, 26, 0, 130,
- 131, 14, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 0, 0,
- 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
+ 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
+ 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
+ 0, 17, 18, 19, 0, 0, 0, 20, -527, 0,
+ -525, 0, 21, 0, 0, 0, 23, 763, 0, 168,
+ 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
+ 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
+ 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
+ 0, 17, 18, 19, 0, 0, 0, 20, -526, 0,
+ -527, 0, 21, 0, 0, 0, 23, 763, 0, 168,
+ 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
+ 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
+ 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
+ 0, 0, 0, 0, 33, 0, 0, 1280, 1281, 1282,
+ 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
+ -526, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
+ 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
+ 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1428, 329, 1280, 1281, 1282, 10, 167,
+ 12, 300, 301, 302, 0, 303, 14, 1283, 0, 1284,
+ 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15,
+ 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 1294, 23, 1295, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 1296, 318,
+ 717, 0, 1297, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
+ 327, 0, 0, 0, 0, 328, 0, 1298, 0, 1280,
+ 1281, 1282, 10, 167, 12, 300, 301, 302, 0, 303,
+ 14, 1283, 329, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
+ 1291, 1292, 1293, 15, 16, 304, 17, 18, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 1294, 23, 1295, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 1296, 318, 1552, 0, 1297, 319, 0, 0,
+ 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
+ 0, 1298, 0, 1280, 1281, 1282, 10, 167, 12, 300,
+ 301, 302, 0, 303, 14, 1283, 329, 1284, 1285, 1286,
+ 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15, 16, 304,
+ 17, 18, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 1294, 23, 1295, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 1296, 318, 0, 0,
+ 1297, 319, 0, 0, 0, 0, 0, 320, 0, 0,
+ 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 324, 0, 0, 0, 0, 0, 325, 326, 327, 0,
+ 0, 0, 0, 328, 0, 1298, 299, 8, 9, 10,
+ 167, 12, 300, 301, 302, 730, 303, 14, 0, 0,
+ 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
+ 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
+ 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
+ 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
+ 320, 0, 0, 899, 0, 0, 0, 0, 0, 0,
+ 0, 322, 323, 900, 0, 0, 0, 0, 0, 325,
+ 326, 327, 0, 620, 0, 0, 901, 622, 7, 8,
+ 9, 10, 167, 12, 300, 301, 302, 730, 303, 14,
+ 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
+ 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
+ 23, 0, 617, 0, 312, 313, 314, 315, 316, 26,
+ 0, 27, 28, 0, 0, 0, 319, 0, 0, 0,
+ 0, 0, 320, 0, 0, 1180, 0, 0, 0, 0,
+ 0, 0, 0, 322, 323, 1181, 0, 0, 0, 0,
+ 0, 325, 326, 327, 0, 620, 0, 0, 1182, 622,
+ 299, 8, 9, 10, 0, 12, 300, 301, 302, 0,
+ 303, 14, 0, 0, 0, 329, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16, 304, 17, 18, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 617, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 318, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 320, 0, 0, 899, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 900, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 620, 0, 0,
+ 901, 622, 7, 8, 9, 10, 0, 12, 300, 301,
+ 302, 0, 303, 14, 0, 0, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 304, 17,
+ 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
+ 21, 310, 311, 0, 23, 0, 617, 0, 312, 313,
+ 314, 315, 316, 26, 0, 27, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 320, 0, 0, 1180,
+ 0, 0, 0, 0, 0, 0, 0, 322, 323, 1181,
+ 0, 0, 0, 0, 0, 325, 326, 327, 0, 620,
+ 0, 0, 1182, 622, 299, 8, 9, 10, 0, 12,
+ 533, 301, 302, 0, 303, 14, 0, 0, 0, 329,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
+ 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
+ 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
+ 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
+ 0, 552, 0, 0, 0, 0, 0, 0, 0, 322,
+ 323, 553, 0, 0, 0, 0, 0, 325, 326, 327,
+ 299, 8, 9, 10, 554, 12, 533, 301, 302, 0,
+ 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 329, 0, 0, 0, 16, 304, 17, 0, 19,
+ 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
+ 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
+ 316, 26, 0, 27, 318, 0, 0, 1401, 319, 0,
+ 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
+ 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
+ 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
+ 328, 299, 8, 9, 10, 167, 12, 300, 301, 302,
+ 0, 303, 14, 0, 0, 0, 0, 329, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
+ 0, 0, 0, 0, 325, 326, 327, 7, 8, 9,
+ 10, 328, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
+ 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 28, 0, 0, 0, 319, 0, 0, 0, 0,
+ 0, 320, 0, 0, 1494, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 1495, 0, 0, 0, 0, 0,
+ 325, 326, 327, 299, 8, 9, 10, 1496, 12, 300,
+ 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
+ 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 317, 318, 0, 0,
+ 0, 319, 0, 0, 0, 0, 0, 320, 0, 0,
+ 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
+ 8, 9, 10, 328, 12, 300, 301, 302, 0, 303,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
+ 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
+ 0, 0, 325, 326, 327, 299, 8, 9, 10, 328,
+ 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
+ 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
+ 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
+ 327, 299, 8, 9, 10, 328, 12, 533, 301, 302,
+ 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 329, 0, 0, 0, 16, 304, 17, 0,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 318, 566, 0, 0, 0,
+ 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
+ 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
+ 10, 567, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
+ 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 0, 0, 0, 0, 328, 605, 299,
+ 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
+ 14, 0, 0, 0, 329, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 16, 304, 17, 18, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 320, 0, 0, 552, 0, 0, 0,
+ 0, 0, 0, 0, 322, 323, 553, 0, 0, 0,
+ 0, 0, 325, 326, 327, 1140, 8, 9, 10, 554,
+ 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
+ 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
+ 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
+ 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
+ 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
+ 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
+ 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
+ 327, 7, 8, 9, 10, 328, 12, 300, 301, 302,
+ 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 329, 0, 0, 0, 16, 304, 17, 18,
+ 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
+ 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
+ 315, 316, 26, 0, 27, 28, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 320, 0, 0, 1494, 0,
+ 0, 0, 0, 0, 0, 0, 322, 323, 1495, 0,
+ 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
+ 10, 1496, 12, 533, 301, 302, 0, 303, 14, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
+ 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
+ 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
+ 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
+ 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
+ 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
+ 325, 326, 327, 299, 8, 9, 10, 534, 12, 533,
+ 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
+ 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
+ 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
+ 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 320, 0, 0,
+ 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
+ 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
+ 8, 9, 10, 537, 12, 533, 301, 302, 0, 303,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
+ 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
+ 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
+ 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 320, 0, 6, 321, 7, 8, 9,
+ 10, 11, 12, 13, 322, 323, 324, 0, 14, 0,
+ 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
+ 0, 15, 16, 0, 17, 18, 19, 0, 0, 0,
+ 20, 0, 0, 0, 0, 21, 329, 0, 22, 23,
+ 24, 0, 25, 0, 0, 0, 0, 0, 26, 0,
+ 27, 28, 0, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
+ 0, 0, 0, 761, 31, 7, 8, 762, 10, 167,
+ 12, 13, 32, 0, 0, 0, 14, 33, 0, 0,
+ 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 17, 18, 19, 0, 0, 0, 20, 0,
+ 0, 0, 0, 21, 0, 0, 0, 23, 763, 0,
+ 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
+ 0, 0, 764, 0, 765, 0, 0, 0, 0, 0,
+ 0, 0, 30, 1033, 8, 762, 10, 205, 12, 206,
+ 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
+ 32, 0, 0, 0, 0, 33, 0, 0, 16, 0,
+ 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
+ 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
+ 0, 0, 1035, 0, 0, 0, 0, 0, 0, 0,
+ 30, 7, 8, 9, 10, 205, 12, 206, 0, 0,
+ 31, 0, 14, 0, 0, 0, 0, 0, 32, 0,
+ 0, 0, 0, 33, 0, 0, 16, 0, 17, 18,
+ 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
+ 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
+ 0, 0, 26, 0, 27, 28, 0, 0, 1418, 0,
+ 7, 8, 9, 10, 167, 12, 13, 0, 30, 0,
+ 0, 14, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 0, 16, 32, 17, 18, 0,
+ 0, 33, 0, 20, 0, 0, 0, 0, 21, 0,
0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 0, 130, 131, 569, 570, 571, 572, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 576, 577, 578,
- 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
- 589, 590, 0, 0, 0, 0, 658, 0, 0, 1541,
- 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
- 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
- 589, 590, 1559, 569, 570, 571, 572, 573, 574, 575,
+ 0, 26, 0, 27, 28, 7, 8, 9, 10, 205,
+ 12, 206, 0, 0, 0, 0, 14, 30, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
+ 16, 0, 17, 18, 0, 32, 0, 0, 20, 0,
+ 33, 0, 0, 21, 0, 0, 0, 23, 0, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
+ 8, 9, 0, 167, 12, 13, 0, 0, 0, 0,
+ 14, 0, 30, 8, 9, 0, 167, 12, 13, 0,
+ 0, 1546, 31, 14, 16, 0, 17, 18, 0, 0,
+ 32, 0, 20, 0, 0, 33, 0, 16, 0, 17,
+ 18, 679, 0, 0, 168, 20, 0, 0, 0, 0,
+ 26, 0, 130, 131, 23, 0, 0, 8, 9, 0,
+ 205, 12, 206, 26, 0, 130, 131, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
+ 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
+ 131, 569, 570, 571, 572, 573, 574, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
+ 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
+ 586, 587, 588, 589, 590, 0, 0, 0, 0, 1233,
+ 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
+ 587, 588, 589, 590, 658, 0, 0, 1542, 569, 570,
+ 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
+ 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
+ 1560, 569, 570, 571, 572, 573, 574, 575, 576, 577,
+ 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
+ 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 569, 570, 571, 572, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 569, 570, 571,
- 572, 573, 574, 575, 576, 577, 578, 579, 580, 0,
- 582, 583, 584, 585, 586, 587, 588, 589, 590
+ 574, 575, 576, 577, 578, 579, 580, 0, 582, 583,
+ 584, 585, 586, 587, 588, 589, 590
};
static const short yycheck[] = { 4,
- 161, 174, 149, 150, 23, 4, 175, 209, 156, 80,
- 176, 251, 4, 4, 349, 55, 90, 715, 92, 126,
- 14, 57, 564, 402, 355, 402, 355, 482, 80, 503,
- 35, 62, 33, 455, 4, 402, 35, 42, 440, 30,
- 31, 872, 4, 35, 35, 247, 460, 31, 304, 305,
- 42, 42, 57, 133, 134, 621, 242, 134, 373, 84,
- 209, 42, 628, 137, 124, 35, 42, 72, 4, 218,
- 697, 601, 42, 35, 1385, 690, 133, 1474, 11, 84,
- 42, 337, 778, 88, 780, 90, 4, 92, 1314, 83,
- 1304, 787, 144, 84, 296, 1321, 217, 218, 42, 35,
- 136, 1475, 107, 108, 796, 42, 42, 11, 37, 140,
- 802, 46, 106, 54, 84, 355, 11, 35, 1476, 59,
- 33, 42, 1519, 4, 42, 156, 1, 9, 33, 62,
- 58, 136, 137, 0, 139, 175, 558, 1522, 59, 490,
- 176, 76, 59, 1498, 47, 136, 0, 349, 149, 150,
- 151, 203, 644, 62, 35, 1, 507, 141, 149, 150,
- 165, 12, 146, 1518, 169, 74, 136, 622, 108, 1,
- 98, 176, 60, 12, 165, 108, 182, 169, 169, 61,
- 109, 212, 47, 58, 165, 1570, 4, 5, 169, 220,
- 93, 262, 109, 169, 195, 165, 109, 74, 1556, 169,
- 136, 536, 193, 194, 108, 236, 698, 169, 59, 59,
- 194, 62, 58, 108, 155, 60, 62, 909, 136, 1616,
- 59, 109, 1577, 62, 59, 169, 58, 1601, 93, 165,
- 62, 47, 169, 169, 47, 25, 54, 27, 56, 57,
- 714, 74, 59, 108, 149, 150, 151, 165, 169, 95,
- 1561, 169, 70, 1479, 248, 4, 1209, 1210, 108, 200,
- 47, 1475, 80, 95, 109, 60, 346, 27, 58, 108,
- 1223, 31, 62, 108, 47, 259, 94, 93, 213, 7,
- 93, 94, 48, 47, 358, 93, 35, 448, 209, 346,
- 195, 108, 297, 47, 716, 108, 217, 218, 925, 60,
- 60, 928, 1528, 38, 64, 95, 93, 709, 710, 37,
- 641, 58, 58, 680, 109, 62, 393, 342, 64, 54,
- 93, 108, 93, 359, 329, 385, 247, 474, 475, 93,
- 3, 4, 5, 47, 1026, 950, 54, 342, 487, 93,
- 47, 871, 969, 970, 62, 350, 1038, 913, 109, 109,
- 47, 342, 1578, 358, 359, 670, 74, 54, 737, 93,
- 737, 355, 4, 5, 404, 486, 487, 1063, 359, 74,
- 610, 47, 342, 494, 47, 296, 25, 74, 27, 93,
- 1072, 54, 1074, 56, 57, 506, 93, 94, 25, 359,
- 27, 957, 75, 1346, 77, 62, 93, 402, 733, 74,
- 405, 108, 1355, 1356, 525, 1358, 47, 74, 47, 58,
- 402, 402, 954, 62, 56, 57, 1247, 93, 94, 450,
- 93, 58, 93, 359, 60, 62, 4, 5, 349, 356,
- 357, 9, 402, 504, 1000, 419, 54, 442, 422, 107,
- 1, 359, 3, 4, 5, 6, 95, 8, 47, 25,
- 434, 442, 93, 94, 93, 910, 74, 531, 95, 47,
- 874, 442, 493, 468, 60, 64, 442, 108, 504, 107,
- 108, 25, 442, 474, 475, 476, 54, 468, 56, 57,
- 41, 408, 409, 474, 475, 406, 470, 48, 472, 4,
- 54, 59, 70, 54, 93, 56, 57, 31, 468, 504,
- 47, 485, 80, 62, 58, 93, 442, 75, 62, 47,
- 1137, 1138, 47, 504, 47, 74, 94, 8, 9, 62,
- 35, 442, 54, 14, 442, 480, 531, 88, 54, 534,
- 62, 64, 537, 488, 504, 708, 541, 542, 543, 544,
- 545, 95, 504, 1374, 54, 36, 93, 94, 74, 554,
- 1024, 1504, 1505, 12, 45, 93, 47, 58, 93, 564,
- 93, 496, 567, 74, 74, 486, 487, 989, 504, 474,
- 475, 476, 951, 494, 951, 54, 762, 602, 764, 47,
- 25, 54, 27, 769, 951, 506, 504, 47, 919, 47,
- 919, 4, 5, 1159, 671, 74, 64, 602, 678, 673,
- 59, 678, 93, 62, 525, 64, 62, 647, 3, 4,
- 5, 602, 109, 58, 83, 84, 621, 62, 74, 821,
- 4, 5, 1188, 628, 47, 93, 94, 618, 619, 47,
- 621, 44, 602, 93, 755, 93, 94, 628, 632, 59,
- 93, 54, 58, 56, 57, 54, 686, 54, 688, 689,
- 95, 621, 12, 4, 5, 75, 1111, 77, 628, 915,
- 679, 56, 57, 54, 48, 772, 108, 27, 673, 75,
- 93, 31, 56, 57, 47, 93, 108, 1091, 1092, 919,
- 94, 54, 687, 4, 5, 80, 691, 47, 4, 5,
- 109, 329, 11, 733, 98, 714, 1170, 47, 44, 59,
- 60, 74, 62, 54, 64, 56, 57, 778, 54, 780,
- 47, 57, 3, 4, 5, 786, 787, 54, 645, 70,
- 93, 108, 793, 797, 798, 108, 800, 648, 1202, 80,
- 47, 47, 737, 93, 94, 56, 57, 74, 54, 47,
- 56, 57, 778, 93, 780, 785, 737, 60, 108, 785,
- 786, 787, 758, 93, 70, 3, 93, 793, 59, 60,
- 744, 745, 60, 747, 80, 56, 57, 737, 689, 917,
- 1184, 1106, 111, 778, 90, 780, 93, 93, 94, 1193,
- 1194, 786, 787, 94, 1198, 93, 792, 778, 793, 780,
- 94, 796, 797, 798, 54, 800, 787, 802, 62, 3,
- 4, 5, 793, 62, 977, 796, 4, 5, 778, 111,
- 780, 802, 733, 54, 74, 62, 778, 787, 780, 93,
- 3, 4, 5, 793, 1238, 787, 796, 465, 4, 5,
- 93, 793, 802, 74, 755, 1021, 1022, 1023, 3, 4,
- 5, 6, 778, 74, 780, 74, 781, 782, 54, 108,
- 48, 787, 56, 57, 58, 790, 62, 793, 56, 57,
- 778, 108, 780, 74, 54, 870, 1564, 47, 74, 787,
- 875, 54, 62, 56, 57, 793, 41, 74, 54, 11,
- 56, 57, 80, 109, 74, 812, 917, 1107, 1108, 54,
- 1110, 56, 57, 59, 60, 60, 534, 62, 903, 537,
- 821, 4, 5, 541, 909, 70, 86, 87, 913, 59,
- 962, 91, 92, 93, 94, 80, 554, 108, 909, 1333,
- 911, 912, 913, 88, 54, 919, 59, 60, 93, 567,
- 4, 5, 62, 571, 8, 9, 59, 27, 108, 909,
- 14, 31, 59, 913, 74, 48, 951, 64, 953, 954,
- 59, 60, 957, 56, 57, 54, 957, 1371, 75, 951,
- 951, 599, 36, 62, 955, 956, 957, 605, 54, 59,
- 60, 45, 956, 47, 1396, 74, 62, 80, 1313, 1050,
- 54, 951, 56, 57, 4, 5, 108, 957, 74, 1029,
- 1412, 74, 1063, 1029, 108, 1000, 70, 59, 1050, 1000,
- 7, 8, 9, 809, 810, 811, 80, 14, 1013, 1000,
- 1157, 1158, 74, 75, 1019, 77, 90, 944, 54, 93,
- 94, 1026, 4, 5, 31, 1031, 1032, 1063, 48, 36,
- 1000, 59, 60, 1038, 74, 1026, 56, 57, 45, 1186,
- 1187, 1115, 59, 60, 74, 8, 9, 1038, 59, 60,
- 108, 14, 957, 60, 1060, 109, 1026, 27, 1063, 109,
- 80, 31, 59, 60, 59, 60, 48, 1072, 1038, 1074,
- 59, 60, 1063, 36, 56, 57, 1498, 3, 4, 5,
- 6, 1072, 45, 1074, 3, 4, 5, 6, 111, 59,
- 60, 27, 108, 1063, 64, 1000, 1518, 1102, 80, 111,
- 74, 1063, 1072, 74, 1074, 54, 74, 1042, 111, 1161,
- 1115, 111, 108, 1048, 1049, 41, 108, 1052, 1053, 58,
- 108, 1056, 41, 108, 54, 1547, 8, 1063, 54, 48,
- 56, 57, 111, 1512, 93, 1512, 47, 56, 57, 1066,
- 1067, 1068, 1311, 64, 1313, 1063, 1312, 59, 93, 1220,
- 54, 1170, 109, 60, 1159, 1577, 1157, 1158, 1159, 36,
- 108, 80, 88, 1585, 64, 64, 1157, 1158, 1159, 88,
- 64, 1155, 1156, 4, 5, 108, 1181, 60, 9, 1163,
- 108, 1516, 1181, 1188, 62, 1186, 1187, 1188, 108, 1159,
- 1181, 108, 1606, 108, 64, 1186, 1187, 1188, 4, 5,
- 64, 64, 111, 4, 5, 93, 62, 59, 75, 1215,
- 1216, 1181, 1218, 1219, 75, 1221, 47, 108, 1188, 1181,
- 75, 108, 108, 54, 108, 56, 57, 80, 81, 82,
- 83, 84, 3, 4, 5, 6, 108, 30, 31, 70,
- 33, 879, 48, 75, 62, 1181, 108, 48, 108, 80,
- 56, 57, 1157, 1158, 1159, 56, 57, 62, 108, 90,
- 59, 108, 93, 94, 57, 62, 59, 108, 111, 94,
- 41, 1311, 65, 1313, 80, 913, 111, 48, 88, 80,
- 47, 1186, 1187, 1188, 74, 56, 57, 108, 1272, 1273,
- 109, 1275, 108, 108, 88, 108, 90, 111, 92, 1304,
- 111, 3, 4, 5, 6, 108, 108, 1312, 60, 1314,
- 59, 109, 59, 1304, 1516, 1314, 1321, 88, 64, 3,
- 4, 5, 1321, 1314, 64, 1330, 59, 4, 5, 1490,
- 1321, 1258, 9, 108, 1304, 108, 93, 1343, 1344, 41,
- 93, 109, 1304, 137, 1314, 139, 1493, 1494, 141, 93,
- 93, 1321, 1314, 146, 56, 57, 149, 150, 151, 1321,
- 9, 109, 8, 12, 109, 33, 108, 108, 1304, 108,
- 54, 1544, 56, 57, 58, 111, 108, 54, 1314, 56,
- 57, 1019, 108, 176, 108, 1321, 88, 108, 111, 182,
- 108, 108, 1313, 70, 108, 108, 108, 108, 47, 64,
- 193, 194, 195, 80, 3, 4, 5, 6, 108, 4,
- 59, 54, 61, 62, 108, 64, 209, 108, 1353, 1354,
- 62, 111, 1423, 47, 217, 218, 75, 108, 77, 108,
- 108, 62, 96, 62, 60, 60, 1442, 1443, 1444, 9,
- 35, 60, 41, 16, 93, 94, 108, 42, 108, 48,
- 78, 79, 80, 81, 82, 83, 84, 56, 57, 108,
- 55, 108, 57, 108, 1469, 54, 259, 108, 108, 1474,
- 1475, 1476, 93, 93, 1479, 1474, 60, 1517, 1469, 60,
- 1479, 80, 64, 1474, 1475, 1476, 93, 1422, 1479, 88,
- 1495, 93, 1493, 1494, 1495, 1501, 1502, 111, 17, 1469,
- 54, 60, 1493, 1494, 1474, 1475, 1476, 1512, 108, 1479,
- 107, 97, 1474, 1475, 1519, 60, 108, 1479, 1423, 11,
- 1519, 1512, 60, 1528, 60, 108, 320, 60, 1519, 1528,
- 108, 3, 4, 5, 6, 93, 329, 1528, 1474, 1475,
- 64, 136, 1512, 1479, 59, 140, 108, 60, 11, 1519,
- 1188, 1556, 108, 7, 8, 9, 108, 1519, 1528, 60,
- 14, 11, 60, 1569, 358, 1556, 1528, 0, 0, 41,
- 165, 0, 170, 1578, 169, 2, 35, 31, 671, 1578,
- 175, 176, 36, 1519, 56, 57, 1556, 1578, 1493, 1494,
- 1495, 45, 1528, 951, 169, 1516, 1234, 1235, 1236, 1237,
- 1410, 165, 442, 1170, 3, 4, 5, 786, 1578, 1543,
- 94, 1616, 405, 406, 1549, 1395, 1578, 1616, 3, 4,
- 5, 6, 3, 4, 5, 1616, 419, 222, 139, 422,
- 1616, 30, 1248, 299, 937, 428, 429, 430, 932, 721,
- 241, 434, 1578, 1024, 1202, 33, 1616, 793, 786, 1222,
- 654, 930, 602, 200, 1616, 54, 41, 56, 57, 1297,
- 346, 1314, 47, 124, 1182, 1585, 460, 461, 1564, 54,
- 1533, 56, 57, 54, 468, 56, 57, 470, 1597, 472,
- 1616, 474, 475, 476, 1595, 70, 479, 1330, 1008, 3,
- 4, 5, 485, 486, 487, 80, -1, 490, -1, -1,
- -1, 494, -1, 88, -1, 90, -1, -1, 93, 94,
- -1, 7, 8, 9, 507, 3, 4, 5, 14, 7,
- 8, 9, -1, -1, -1, -1, -1, -1, -1, 306,
- 307, -1, -1, -1, 1372, 31, -1, 531, 532, 461,
- 36, 534, 56, 57, 537, 322, 468, -1, 325, 45,
- -1, 328, -1, -1, 331, -1, -1, -1, 335, 552,
- 553, 554, 150, 151, 359, -1, 343, 1405, 56, 57,
- 564, -1, 566, -1, 567, 569, 570, -1, 572, 573,
- 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, -1, 592, -1,
- -1, -1, -1, -1, 598, -1, -1, 195, -1, 404,
- 532, -1, 3, 4, 5, -1, 7, 8, 9, -1,
- -1, -1, -1, -1, 3, 4, 5, -1, -1, -1,
- -1, 1469, -1, -1, 628, 628, -1, 1475, 1476, -1,
- 31, 635, 402, -1, -1, 36, -1, 442, -1, 4,
- 5, -1, -1, 8, 9, 648, -1, 1495, -1, 14,
- -1, 14, -1, 657, 658, 56, 57, 80, -1, 22,
- 592, -1, -1, 28, -1, 30, 598, 56, 57, 673,
- -1, 36, -1, 3, -1, 480, 6, -1, -1, -1,
- 45, 104, 47, 488, 687, -1, 689, 690, -1, 54,
- -1, 56, 57, -1, 3, 4, 5, 6, 468, 504,
- -1, 31, 65, 635, -1, 70, -1, -1, 1556, -1,
- 133, 41, -1, -1, -1, 80, -1, 721, -1, -1,
- -1, 144, -1, -1, 1572, 90, 56, 57, 93, 94,
- 733, 329, 41, 3, 4, 5, -1, 7, -1, 48,
- 70, 744, 745, -1, 747, -1, 1594, 56, 57, -1,
- 80, -1, 755, 1601, -1, 758, -1, -1, 88, -1,
- 30, 124, -1, 93, -1, 552, 553, 37, -1, 3,
- 4, 5, 6, 777, -1, 9, 3, 4, 5, 88,
- 203, -1, -1, 786, 54, 148, 56, 57, -1, 792,
- 3, 4, 5, 797, 798, -1, 800, 31, -1, -1,
- 193, 194, 195, -1, -1, -1, -1, 41, 3, 4,
- 5, 815, 815, 47, 237, 3, 4, 5, -1, -1,
- 54, 48, 56, 57, -1, -1, 3, 4, 5, 56,
- 57, 429, 430, 837, -1, 48, 70, -1, -1, 262,
- -1, -1, 647, 56, 57, -1, 80, 3, 4, 5,
- -1, 621, -1, -1, 88, -1, 90, -1, 628, 93,
- 94, 56, 57, -1, -1, 869, 870, -1, 56, 57,
- 874, 875, -1, -1, 237, 238, -1, 475, 476, 56,
- 57, 686, 687, 688, 689, 889, -1, 891, 251, 893,
- -1, 3, 4, 5, -1, 7, 8, 9, -1, -1,
- 56, 57, -1, -1, -1, -1, -1, -1, 911, 912,
- 913, -1, -1, -1, -1, -1, -1, -1, -1, 31,
- -1, -1, -1, -1, 36, 929, -1, -1, 733, -1,
- -1, 354, 737, -1, -1, 939, 534, 869, 870, 537,
- -1, -1, 54, 875, 56, 57, 58, 950, -1, -1,
- 954, -1, 955, 956, 957, 553, 554, 889, 321, 891,
- -1, 893, -1, 967, -1, -1, -1, 737, -1, 567,
- -1, -1, -1, 778, -1, 780, -1, -1, -1, 983,
- 785, 786, 787, -1, -1, -1, -1, -1, 793, 412,
- -1, 103, 104, 105, -1, -1, 1000, 1000, -1, -1,
- 363, -1, -1, -1, -1, -1, -1, 939, -1, 372,
- -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
- 6, -1, 385, 9, -1, -1, 796, -1, 1031, 1032,
- 628, -1, 802, -1, -1, -1, -1, 1041, -1, -1,
- -1, -1, -1, -1, -1, 31, -1, 4, 5, -1,
- -1, 983, 9, -1, -1, 41, -1, 1060, -1, -1,
- -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
- 56, 57, -1, -1, -1, -1, -1, 470, 501, 472,
- -1, 474, 475, 476, 70, -1, -1, 1091, 1092, -1,
- 47, 1095, 485, -1, 80, -1, 883, 54, -1, 56,
- 57, -1, 88, -1, 90, 528, -1, 93, 94, -1,
- -1, 1115, -1, 70, -1, -1, -1, -1, -1, -1,
- 7, 8, 9, 80, 911, 912, -1, 14, -1, -1,
- -1, -1, -1, 90, -1, -1, 93, 94, 501, 909,
- -1, -1, -1, 913, 31, -1, -1, -1, -1, 36,
- -1, -1, 1155, 1156, 1157, 1158, 1159, -1, 45, -1,
- 1163, -1, -1, -1, -1, -1, -1, -1, 1172, -1,
- 1174, -1, 1176, 60, -1, -1, -1, -1, -1, -1,
- 1184, 951, -1, 1186, 1187, 1188, -1, 957, -1, 1193,
- 1194, -1, 615, -1, 1198, -1, 4, 5, -1, -1,
- 8, 9, -1, 566, -1, -1, 14, -1, 631, 1213,
- 1214, -1, 1215, 1216, -1, 1218, 1219, 815, 1221, -1,
- 28, -1, 30, -1, 1029, -1, -1, -1, 36, -1,
- 1000, -1, -1, 4, 1238, -1, -1, 45, -1, -1,
- 1172, -1, 1174, 14, 1176, -1, 54, 610, 56, 57,
- 58, -1, -1, 24, -1, -1, 1026, -1, 1063, 30,
- 31, -1, 33, -1, 35, 1269, -1, -1, 1038, 1272,
- 1273, 42, 1275, -1, -1, -1, -1, 753, -1, 3,
- 4, 5, 6, -1, 55, 93, 57, -1, -1, 1293,
- -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
- -1, 72, 1072, -1, 1074, -1, -1, -1, -1, 1312,
- 1313, -1, 83, 84, 912, 913, 679, 41, -1, 795,
- -1, -1, -1, -1, 48, 801, 1113, 690, -1, 1333,
- -1, -1, 56, 57, -1, 106, -1, 1269, -1, -1,
- 1343, 1344, -1, -1, -1, 1349, -1, -1, -1, -1,
- -1, 744, 745, -1, 747, -1, 80, -1, 721, 957,
- -1, -1, -1, 134, 88, 136, -1, 1371, -1, 140,
- 141, -1, -1, -1, 145, 146, -1, -1, 149, 150,
- 151, -1, -1, -1, -1, -1, -1, -1, -1, 1159,
- -1, -1, 785, -1, 165, -1, -1, -1, 169, 1186,
- 1187, -1, 1000, -1, 175, 176, -1, -1, -1, -1,
- -1, -1, 1217, -1, -1, -1, -1, 1222, 1188, 1423,
- 1423, -1, 193, 194, 195, -1, -1, -1, 904, -1,
- 906, 3, 4, 5, 6, -1, 1440, 1441, -1, 1442,
- 1443, 1444, -1, -1, -1, 1449, -1, -1, -1, -1,
- -1, 222, -1, -1, -1, -1, -1, -1, 3, 4,
- 5, 6, -1, 461, 9, -1, -1, 238, -1, 41,
- 468, -1, -1, 1477, -1, -1, 48, 248, -1, -1,
- -1, -1, -1, -1, 56, 57, 31, -1, 259, -1,
- 1493, 1494, 1495, -1, -1, 918, 41, 920, 1501, 1502,
- -1, -1, 47, -1, -1, -1, 1311, 1312, 1313, 54,
- -1, 56, 57, -1, -1, -1, 88, 1304, -1, -1,
- -1, -1, -1, -1, -1, 70, 297, 298, -1, 3,
- 4, 5, 6, -1, 532, 80, -1, -1, -1, 962,
- -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
- -1, -1, -1, -1, -1, -1, -1, 31, -1, -1,
- 1158, 1159, 955, 956, 957, -1, 1569, 41, -1, -1,
- -1, 342, -1, -1, 937, 346, -1, 348, 349, 350,
- 54, -1, 56, 57, -1, -1, -1, 950, 359, 1187,
- 1188, -1, -1, -1, 592, 1071, 70, 1073, -1, -1,
- 598, -1, 1606, 4, 5, -1, 80, 1000, 9, 82,
- -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
- -1, -1, 393, 3, 4, 5, 6, 1050, -1, -1,
- 628, 402, -1, 404, 405, -1, 1029, 635, -1, -1,
- -1, -1, -1, -1, -1, -1, 47, -1, 419, -1,
- -1, 422, 1128, 54, -1, 56, 57, -1, -1, -1,
- -1, 41, -1, 434, -1, -1, -1, -1, -1, 70,
- -1, 442, -1, -1, 54, -1, 56, 57, -1, 80,
- 60, -1, -1, -1, -1, -1, 159, -1, -1, 90,
- 70, -1, 93, 94, -1, -1, -1, -1, -1, 470,
- 80, 472, -1, 474, 475, 476, 1493, 1494, 88, 480,
- -1, 1134, 1517, 93, 485, -1, -1, 488, 191, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, -1, 1092,
- 1206, 204, -1, 504, -1, 1211, -1, -1, 1161, -1,
- -1, -1, 1512, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
- -1, -1, 1155, 1156, 1157, 1158, 1159, -1, -1, -1,
- 1163, 542, 543, 544, 545, -1, -1, -1, -1, -1,
- 31, -1, -1, -1, -1, -1, 1262, -1, -1, -1,
- 41, -1, -1, 1186, 1187, 1188, 47, 1220, 3, 4,
- 5, 6, -1, 54, 9, 56, 57, -1, -1, -1,
- -1, -1, -1, -1, -1, 1178, -1, 815, -1, 70,
- -1, 1184, -1, -1, 1217, 1423, 31, -1, -1, 80,
- -1, 602, -1, 604, -1, -1, 41, 88, -1, 90,
- -1, -1, 93, 94, -1, 616, -1, 618, 619, 54,
- 621, 56, 57, -1, -1, -1, -1, 628, -1, -1,
- -1, 632, -1, -1, -1, 70, -1, -1, -1, -1,
- -1, 869, 870, -1, -1, 80, 647, 875, -1, 1272,
- 1273, -1, 1275, 88, -1, -1, 1362, 1363, 93, -1,
- -1, 889, -1, 891, -1, 893, 1494, 1495, -1, -1,
- 671, -1, -1, 1379, -1, -1, -1, 678, -1, -1,
- -1, -1, -1, -1, -1, 686, 687, 688, 689, 690,
- 691, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 1298, 1299, -1, -1, -1,
- -1, 939, 1, -1, 3, 4, 5, 6, 7, 8,
- 9, -1, -1, -1, -1, 14, -1, -1, -1, 1435,
- 1436, -1, 733, -1, -1, -1, 737, -1, -1, 28,
- -1, 30, 31, 744, 745, -1, 747, 36, 1454, 1455,
- -1, -1, 41, -1, -1, 983, 45, -1, -1, 48,
- -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
- -1, 60, 1000, -1, 775, 478, -1, 778, -1, 780,
- 483, 70, -1, -1, 785, 786, 787, -1, -1, -1,
- -1, 80, 793, -1, 1387, 796, -1, -1, -1, 88,
- 1423, 802, -1, -1, 93, 508, -1, -1, 809, 810,
- 811, 514, -1, -1, -1, -1, 1409, 1410, -1, -1,
- 821, -1, -1, 526, 527, -1, 529, 3, 4, 5,
- 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, 350, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
- -1, -1, 38, 39, -1, 41, -1, -1, -1, -1,
- 1493, 1494, 1495, -1, 31, -1, -1, -1, 54, 36,
- 56, 57, -1, -1, 41, -1, -1, -1, 45, -1,
- 47, -1, -1, 894, 1487, 896, -1, 54, -1, 56,
- 57, -1, 903, -1, -1, -1, 907, -1, 909, -1,
- 911, 912, 913, 70, -1, -1, -1, -1, 919, -1,
- -1, 624, 625, 80, -1, -1, 629, -1, -1, -1,
+ 161, 174, 149, 150, 23, 209, 176, 175, 4, 715,
+ 4, 126, 354, 4, 401, 459, 156, 250, 401, 348,
+ 303, 304, 621, 354, 80, 80, 90, 481, 92, 628,
+ 35, 4, 714, 501, 134, 46, 401, 42, 33, 35,
+ 84, 35, 246, 860, 35, 564, 42, 133, 134, 33,
+ 372, 42, 57, 336, 14, 42, 601, 30, 31, 439,
+ 690, 4, 35, 209, 42, 76, 133, 72, 766, 42,
+ 768, 124, 218, 137, 1383, 1475, 1, 775, 760, 84,
+ 1476, 33, 697, 88, 54, 90, 4, 92, 1299, 144,
+ 1309, 295, 35, 12, 217, 218, 57, 1316, 42, 42,
+ 42, 1477, 107, 108, 55, 1204, 1205, 11, 644, 9,
+ 33, 84, 7, 47, 93, 1, 62, 35, 1499, 1218,
+ 1520, 354, 11, 83, 42, 0, 11, 62, 0, 454,
+ 64, 136, 137, 58, 139, 489, 37, 62, 1519, 74,
+ 59, 84, 37, 62, 348, 136, 106, 27, 203, 54,
+ 74, 31, 4, 507, 149, 150, 151, 62, 62, 93,
+ 165, 61, 698, 136, 169, 149, 150, 151, 622, 60,
+ 95, 176, 58, 169, 165, 136, 149, 150, 169, 1,
+ 60, 1557, 169, 35, 64, 155, 109, 165, 80, 108,
+ 42, 169, 165, 136, 140, 59, 169, 1578, 150, 151,
+ 195, 25, 213, 784, 108, 261, 1602, 536, 109, 790,
+ 156, 195, 104, 59, 47, 176, 1523, 1617, 109, 108,
+ 193, 194, 165, 108, 175, 169, 169, 169, 60, 109,
+ 200, 59, 58, 558, 58, 27, 58, 47, 62, 31,
+ 62, 133, 47, 195, 108, 1344, 59, 59, 25, 74,
+ 27, 169, 144, 1562, 1353, 1354, 54, 1356, 47, 345,
+ 93, 1480, 42, 109, 1571, 1476, 212, 59, 60, 59,
+ 60, 95, 98, 95, 220, 108, 74, 109, 345, 59,
+ 108, 58, 47, 93, 136, 62, 447, 247, 93, 94,
+ 236, 296, 392, 357, 48, 108, 108, 341, 913, 641,
+ 60, 916, 901, 108, 93, 355, 356, 60, 938, 47,
+ 1529, 203, 54, 165, 859, 680, 897, 169, 95, 108,
+ 3, 4, 5, 328, 93, 12, 473, 474, 93, 709,
+ 710, 384, 74, 3, 4, 5, 341, 7, 8, 9,
+ 486, 58, 957, 958, 349, 237, 945, 64, 670, 109,
+ 737, 4, 357, 358, 737, 93, 109, 407, 408, 1057,
+ 1579, 31, 485, 486, 47, 93, 36, 358, 341, 261,
+ 493, 54, 59, 56, 57, 62, 328, 610, 3, 4,
+ 5, 47, 35, 506, 54, 358, 56, 57, 58, 169,
+ 44, 716, 38, 992, 354, 12, 401, 358, 341, 404,
+ 54, 59, 525, 57, 733, 401, 1505, 1506, 54, 74,
+ 93, 3, 4, 5, 6, 358, 74, 75, 862, 77,
+ 3, 4, 5, 942, 47, 1242, 4, 93, 401, 209,
+ 74, 56, 57, 103, 104, 105, 441, 217, 218, 1020,
+ 47, 64, 59, 93, 898, 62, 47, 64, 504, 41,
+ 441, 1032, 403, 59, 441, 80, 48, 35, 401, 4,
+ 5, 353, 467, 441, 56, 57, 246, 531, 441, 75,
+ 93, 107, 108, 56, 57, 58, 428, 429, 473, 474,
+ 475, 60, 1164, 4, 495, 1066, 93, 1068, 80, 473,
+ 474, 475, 93, 94, 467, 47, 88, 107, 441, 504,
+ 473, 474, 25, 449, 47, 54, 358, 108, 54, 54,
+ 54, 56, 57, 504, 35, 295, 1131, 1132, 1200, 411,
+ 4, 5, 474, 475, 467, 74, 531, 4, 5, 534,
+ 74, 504, 537, 59, 60, 708, 541, 542, 543, 544,
+ 545, 93, 1010, 504, 1012, 47, 492, 60, 1016, 554,
+ 93, 94, 939, 31, 1153, 1372, 939, 62, 602, 564,
+ 47, 504, 567, 62, 48, 907, 58, 47, 348, 74,
+ 62, 671, 56, 57, 939, 74, 907, 54, 678, 56,
+ 57, 47, 534, 1182, 64, 537, 504, 4, 5, 441,
+ 58, 93, 678, 70, 54, 645, 80, 602, 8, 9,
+ 74, 553, 554, 80, 14, 809, 93, 94, 500, 673,
+ 25, 47, 27, 93, 94, 567, 621, 94, 109, 12,
+ 903, 108, 93, 628, 47, 405, 36, 93, 94, 602,
+ 54, 48, 755, 47, 27, 45, 528, 47, 31, 56,
+ 57, 1085, 1086, 58, 75, 618, 619, 62, 621, 1331,
+ 74, 1105, 504, 47, 47, 628, 981, 93, 94, 602,
+ 679, 441, 58, 80, 4, 5, 59, 60, 673, 62,
+ 93, 64, 632, 54, 907, 62, 628, 54, 621, 93,
+ 95, 62, 687, 93, 54, 628, 691, 74, 3, 4,
+ 5, 54, 328, 74, 54, 714, 647, 74, 11, 93,
+ 93, 94, 4, 5, 108, 485, 486, 9, 48, 108,
+ 766, 47, 768, 493, 47, 108, 56, 57, 774, 775,
+ 47, 785, 786, 615, 788, 781, 506, 54, 47, 1197,
+ 1198, 1199, 737, 48, 1178, 686, 94, 688, 689, 631,
+ 80, 56, 57, 1187, 1188, 525, 108, 74, 1192, 108,
+ 800, 47, 54, 109, 56, 57, 98, 93, 769, 770,
+ 93, 766, 60, 768, 737, 905, 93, 778, 70, 774,
+ 775, 1100, 93, 182, 93, 766, 781, 768, 80, 784,
+ 785, 786, 733, 788, 775, 790, 75, 3, 77, 1233,
+ 781, 60, 965, 766, 737, 768, 25, 93, 27, 47,
+ 47, 479, 775, 4, 5, 766, 54, 768, 781, 487,
+ 111, 784, 773, 774, 775, 47, 62, 790, 4, 5,
+ 781, 62, 773, 766, 94, 768, 74, 94, 464, 58,
+ 83, 84, 775, 62, 3, 4, 5, 6, 781, 62,
+ 25, 784, 27, 62, 54, 93, 93, 790, 766, 111,
+ 768, 803, 62, 858, 93, 56, 57, 775, 863, 1565,
+ 59, 93, 48, 781, 74, 980, 95, 108, 648, 93,
+ 56, 57, 41, 58, 74, 59, 75, 62, 77, 48,
+ 4, 5, 932, 74, 1328, 108, 891, 56, 57, 4,
+ 5, 74, 897, 8, 9, 950, 901, 74, 534, 14,
+ 11, 537, 3, 4, 5, 541, 7, 8, 9, 689,
+ 95, 80, 109, 28, 766, 30, 768, 59, 554, 88,
+ 108, 36, 74, 775, 897, 1369, 899, 900, 901, 781,
+ 45, 567, 56, 57, 939, 571, 941, 942, 108, 54,
+ 945, 56, 57, 939, 7, 8, 9, 907, 900, 901,
+ 945, 14, 108, 733, 897, 56, 57, 54, 901, 905,
+ 108, 945, 54, 599, 74, 62, 939, 47, 31, 605,
+ 943, 944, 945, 36, 54, 755, 74, 74, 93, 1308,
+ 1101, 1102, 45, 1104, 3, 4, 5, 992, 1044, 1044,
+ 59, 4, 5, 945, 74, 64, 939, 992, 4, 5,
+ 1005, 1057, 945, 108, 1151, 1152, 75, 109, 992, 109,
+ 1060, 1061, 1062, 93, 906, 1020, 908, 59, 60, 992,
+ 80, 81, 82, 83, 84, 1036, 111, 1032, 111, 809,
+ 108, 1042, 1043, 1180, 1181, 1046, 1047, 56, 57, 1050,
+ 992, 54, 48, 56, 57, 1109, 74, 1020, 27, 992,
+ 56, 57, 1057, 74, 3, 4, 5, 70, 950, 1032,
+ 54, 1066, 1023, 1068, 8, 9, 1057, 80, 111, 1394,
+ 14, 74, 1023, 111, 80, 4, 5, 1020, 59, 60,
+ 4, 3, 4, 5, 1057, 1410, 108, 305, 306, 1032,
+ 108, 1096, 36, 1066, 108, 1068, 1057, 4, 5, 58,
+ 1155, 45, 54, 321, 1109, 54, 324, 56, 57, 327,
+ 62, 35, 330, 108, 1057, 8, 334, 54, 42, 48,
+ 59, 60, 74, 1066, 342, 1068, 1513, 56, 57, 111,
+ 1513, 55, 54, 57, 56, 57, 58, 1307, 1306, 1057,
+ 1308, 48, 797, 798, 799, 1164, 54, 401, 1153, 56,
+ 57, 80, 1044, 93, 62, 47, 1151, 1152, 1153, 1215,
+ 59, 60, 64, 1607, 59, 60, 74, 1151, 1152, 1153,
+ 1175, 59, 60, 80, 1499, 54, 59, 1182, 1151, 1152,
+ 1153, 1175, 93, 62, 1175, 1180, 1181, 1182, 1517, 109,
+ 1195, 59, 60, 54, 1519, 74, 1180, 1181, 1182, 36,
+ 1152, 1153, 1175, 1253, 60, 1057, 64, 1180, 1181, 1182,
+ 1153, 64, 136, 467, 59, 60, 140, 3, 4, 5,
+ 6, 64, 9, 1548, 108, 12, 108, 60, 62, 1181,
+ 1182, 867, 1175, 108, 108, 108, 1128, 108, 64, 1182,
+ 64, 165, 64, 62, 111, 169, 3, 4, 5, 6,
+ 27, 175, 176, 1578, 31, 41, 108, 1175, 108, 108,
+ 47, 1586, 108, 1155, 108, 901, 30, 31, 75, 33,
+ 56, 57, 59, 75, 61, 62, 75, 64, 75, 3,
+ 4, 5, 59, 60, 41, 108, 31, 64, 75, 62,
+ 77, 48, 108, 57, 1299, 59, 62, 59, 222, 56,
+ 57, 65, 1307, 108, 1309, 108, 93, 94, 1299, 62,
+ 108, 1316, 94, 1517, 88, 1309, 111, 111, 1309, 74,
+ 1325, 108, 1316, 1215, 48, 1316, 1299, 47, 108, 108,
+ 1491, 88, 56, 57, 552, 553, 1309, 108, 108, 111,
+ 1351, 1352, 111, 1316, 109, 108, 60, 1494, 1495, 758,
+ 3, 109, 108, 6, 59, 1306, 1299, 1308, 64, 93,
+ 64, 3, 4, 5, 6, 59, 1309, 621, 59, 59,
+ 108, 780, 1545, 1316, 628, 108, 93, 141, 31, 109,
+ 93, 1299, 146, 93, 93, 149, 150, 151, 41, 111,
+ 109, 1309, 108, 108, 8, 33, 141, 108, 1316, 41,
+ 108, 146, 109, 56, 57, 108, 48, 4, 5, 1420,
+ 108, 108, 176, 64, 56, 57, 111, 70, 182, 108,
+ 3, 4, 5, 6, 108, 108, 1421, 80, 108, 193,
+ 194, 195, 108, 54, 358, 88, 108, 1421, 80, 108,
+ 93, 111, 3, 4, 5, 209, 88, 44, 47, 194,
+ 62, 108, 108, 217, 218, 96, 108, 54, 41, 56,
+ 57, 62, 62, 9, 60, 1470, 3, 4, 5, 1421,
+ 1475, 1476, 1477, 56, 57, 1480, 60, 16, 60, 403,
+ 108, 1475, 108, 737, 1475, 1476, 1480, 93, 108, 1480,
+ 108, 1496, 108, 54, 258, 56, 57, 1470, 108, 1494,
+ 1495, 1496, 1475, 1476, 1477, 88, 108, 1480, 1513, 60,
+ 1494, 1495, 1496, 258, 108, 1520, 93, 441, 60, 56,
+ 57, 1494, 1495, 64, 1529, 54, 1520, 1470, 1308, 1520,
+ 784, 93, 1475, 1476, 1477, 1529, 790, 1480, 1529, 1550,
+ 1513, 111, 17, 1495, 1496, 93, 1182, 1520, 60, 54,
+ 107, 60, 1557, 97, 108, 479, 1529, 1475, 1476, 1195,
+ 11, 108, 1480, 487, 328, 108, 60, 1518, 108, 88,
+ 1513, 90, 60, 92, 1579, 60, 93, 1520, 59, 11,
+ 504, 3, 4, 5, 1557, 1579, 1529, 64, 1579, 60,
+ 108, 60, 108, 1229, 1230, 1231, 1232, 3, 4, 5,
+ 108, 11, 1520, 60, 0, 0, 1579, 0, 2, 35,
+ 170, 1529, 1617, 1408, 1557, 671, 1025, 1026, 137, 939,
+ 139, 441, 1544, 1617, 30, 774, 1617, 4, 5, 1164,
+ 165, 8, 9, 169, 56, 57, 1579, 14, 94, 139,
+ 404, 405, 1393, 897, 1617, 1054, 1617, 901, 54, 1243,
+ 56, 57, 298, 871, 418, 721, 1292, 421, 1331, 36,
+ 925, 1579, 920, 427, 428, 429, 242, 1200, 45, 433,
+ 47, 774, 781, 418, 1617, 1217, 421, 54, 654, 56,
+ 57, 899, 900, 918, 602, 939, 200, 345, 433, 124,
+ 1309, 945, 1586, 70, 3, 4, 5, 6, 1565, 1617,
+ 1176, 1598, -1, 80, 1534, 469, 1596, 471, 1000, 473,
+ 474, 475, 1325, 90, 478, -1, 93, 94, -1, -1,
+ 484, 485, 486, 647, 469, 489, 471, -1, -1, 493,
+ -1, -1, 41, -1, 1370, -1, -1, 1517, 992, 484,
+ -1, -1, -1, 507, -1, 54, -1, 56, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, 3, 4, 5,
+ 6, 70, 686, 687, 688, 689, 1020, 1403, -1, -1,
+ 534, 80, -1, 537, 3, 4, 5, -1, 1032, 88,
+ 4, 5, -1, -1, 93, 9, -1, -1, 552, 553,
+ 554, -1, 38, 39, -1, 41, -1, 107, 108, -1,
+ 319, 1210, 1211, 567, 1213, 1214, -1, 1216, 54, 733,
+ 56, 57, 1066, 737, 1068, 3, 4, 5, 1, -1,
+ 3, 4, 5, 6, 7, 8, 9, 56, 57, -1,
+ 54, 14, 56, 57, 1470, -1, -1, -1, 357, -1,
+ 1476, 1477, 766, -1, 768, 28, 70, 30, 31, 773,
+ 774, 775, -1, 36, -1, -1, 80, 781, 41, -1,
+ 1496, -1, 45, -1, 628, 48, -1, 47, 56, 57,
+ 94, 54, -1, 56, 57, -1, -1, 60, -1, -1,
+ -1, 3, 4, 5, 648, -1, -1, 70, -1, 1107,
+ -1, -1, 3, 4, 5, -1, -1, 80, -1, 1153,
+ 3, 4, 5, 6, -1, 88, 86, 87, -1, -1,
+ 93, 91, 92, 93, 94, -1, -1, -1, -1, -1,
+ -1, 1557, -1, 687, -1, 689, 690, -1, 1182, -1,
+ -1, -1, 1341, 1342, 56, 57, -1, 1573, 41, -1,
+ 459, 460, -1, 4, 5, 56, 57, -1, 467, -1,
+ -1, 54, -1, 56, 57, -1, -1, 60, -1, 1595,
+ -1, -1, 1180, 1181, -1, -1, 1602, 70, -1, 733,
+ 3, 4, 5, -1, 7, 8, 9, 80, -1, -1,
+ 744, 745, -1, 747, -1, 88, 47, -1, -1, -1,
+ 93, 755, -1, 54, 758, 56, 57, -1, 31, 744,
+ 745, -1, 747, 36, -1, -1, -1, -1, -1, 70,
+ 774, -1, 531, 532, -1, -1, 780, -1, 328, 80,
+ -1, -1, -1, 56, 57, -1, -1, -1, -1, 90,
+ -1, -1, 93, 94, 1443, 1444, 1445, -1, -1, 803,
+ -1, 193, 194, 195, -1, 564, -1, 566, -1, -1,
+ 569, 570, -1, 572, 573, 574, 575, 576, 577, 578,
+ 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
+ 589, 590, -1, 592, -1, -1, -1, -1, -1, 598,
+ -1, 1299, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 401, -1, 1502, 1503, -1, -1, -1, -1, 1023,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 628,
+ -1, -1, -1, 14, -1, -1, 635, 4, 5, -1,
+ -1, 22, 9, -1, 3, 4, 5, 6, -1, -1,
+ 9, -1, -1, 1057, -1, 899, 900, 901, 657, 658,
+ -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
+ -1, -1, 31, -1, 673, -1, 54, 467, 56, 57,
+ 47, 1570, 41, -1, 65, -1, -1, 54, 47, 56,
+ 57, -1, 70, -1, 938, 54, -1, 56, 57, 943,
+ 944, 945, 80, 70, -1, -1, -1, -1, -1, -1,
+ 88, 70, 90, 80, -1, 93, 94, -1, -1, 944,
+ -1, 80, 721, 90, -1, -1, 93, 94, -1, 88,
+ -1, 90, -1, -1, 93, 94, -1, -1, 3, 4,
+ 5, 6, -1, 124, 534, -1, -1, 537, 992, -1,
+ -1, 541, 542, 543, 544, 545, 7, 8, 9, -1,
+ -1, -1, -1, 14, 554, -1, 765, 148, 3, 4,
+ 5, 6, -1, -1, -1, -1, 41, 567, -1, 1513,
+ 31, 1025, 1026, 48, -1, 36, 785, 786, -1, 788,
+ -1, 56, 57, -1, 45, -1, 1494, 1495, -1, -1,
+ -1, -1, -1, -1, 803, -1, 41, -1, 1212, 60,
+ 1054, -1, -1, 1217, -1, 80, -1, -1, -1, 54,
+ 460, 56, 57, 88, -1, -1, 825, 467, -1, -1,
+ -1, 621, -1, -1, -1, -1, -1, 469, 628, 471,
+ -1, 473, 474, 475, 4, 5, -1, -1, 8, 9,
+ -1, -1, 484, 88, 14, -1, 237, 238, 857, 858,
+ -1, -1, -1, 862, 863, -1, -1, -1, 28, 250,
+ 30, -1, -1, -1, -1, -1, 36, -1, 877, -1,
+ 879, -1, 881, -1, -1, 45, -1, 47, 7, 8,
+ 9, -1, 532, -1, 54, 14, 56, 57, -1, -1,
+ -1, -1, 1306, 1307, 1308, 1149, 1150, 1151, 1152, 1153,
+ 70, -1, 31, 1157, -1, -1, -1, 36, 917, -1,
+ 80, -1, -1, -1, 1149, 1150, 45, -1, 927, -1,
+ 90, -1, 1157, 93, 94, -1, 1180, 1181, 1182, 320,
+ -1, 60, -1, 942, 7, 8, 9, 737, -1, -1,
+ -1, 14, 592, -1, -1, -1, 955, -1, 598, -1,
+ -1, -1, -1, -1, -1, -1, 1210, 1211, 31, 1213,
+ 1214, -1, 1216, 36, 973, -1, -1, -1, -1, -1,
+ -1, 362, 45, 78, 79, 80, 81, 82, 83, 84,
+ 371, -1, -1, 992, 784, 635, -1, -1, -1, -1,
+ 790, 4, -1, 384, -1, -1, 3, 4, 5, 6,
+ -1, 14, 9, -1, -1, -1, -1, -1, -1, -1,
+ -1, 24, -1, 1267, 1268, -1, 1270, 30, 31, -1,
+ 33, -1, 35, -1, 31, -1, 1035, -1, -1, 42,
+ -1, -1, 1267, 1268, 41, 1270, -1, -1, -1, -1,
+ -1, -1, 55, -1, 57, -1, -1, 54, -1, 56,
+ 57, -1, 65, 1307, 1308, -1, -1, -1, 858, 72,
+ -1, -1, -1, 70, 4, 5, -1, -1, -1, 9,
+ 83, 84, -1, 80, -1, -1, 1085, 1086, -1, -1,
+ 1089, 88, -1, -1, -1, -1, 93, 1341, 1342, -1,
+ -1, 891, -1, 106, -1, -1, -1, 897, -1, -1,
+ 1109, 901, 744, 745, 1518, 747, -1, 47, -1, 500,
+ -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
+ -1, 134, -1, 136, -1, -1, -1, 140, 141, -1,
+ 70, 773, 145, 146, -1, -1, 149, 150, 151, 939,
+ 80, 941, -1, -1, -1, 945, -1, -1, -1, -1,
+ 90, -1, 165, 93, 94, -1, 169, 1166, -1, 1168,
+ -1, 1170, 175, 176, -1, -1, -1, 1421, -1, 1178,
+ -1, -1, -1, -1, -1, 566, -1, -1, 1187, 1188,
+ 193, 194, 195, 1192, 3, 4, 5, 6, -1, 1443,
+ 1444, 1445, 992, -1, -1, -1, -1, -1, -1, 1208,
+ 1209, -1, -1, -1, -1, 1005, -1, 857, 858, 222,
+ -1, -1, 31, 863, -1, -1, -1, -1, -1, 610,
+ 1020, -1, 41, -1, 1233, 238, -1, 877, -1, 879,
+ -1, 881, 1032, -1, 247, 54, -1, 56, 57, -1,
+ 1494, 1495, 1496, -1, -1, 258, -1, -1, 1502, 1503,
+ -1, 70, -1, -1, -1, 1264, -1, -1, -1, -1,
+ -1, 80, -1, -1, -1, -1, 1066, -1, 1068, 88,
+ -1, -1, -1, -1, 93, -1, -1, 927, -1, 1288,
+ -1, -1, -1, 296, 297, 753, -1, -1, 679, -1,
+ 3, 4, 5, -1, 7, -1, 1096, -1, -1, 690,
+ -1, 943, 944, 945, 3, 4, 5, 6, -1, -1,
+ -1, -1, -1, -1, -1, 783, 1570, 30, -1, 1328,
+ -1, 789, -1, 973, 37, -1, -1, -1, 341, -1,
+ 721, -1, 345, -1, 347, 348, 349, -1, 1347, -1,
+ -1, 54, 41, 56, 57, 358, -1, -1, -1, 48,
+ 992, -1, -1, 1153, -1, -1, -1, 56, 57, -1,
+ 1369, 4, 5, -1, -1, 8, 9, -1, -1, -1,
+ -1, 14, -1, -1, -1, -1, -1, -1, -1, 392,
+ -1, 1023, 1182, -1, -1, -1, -1, -1, 401, 88,
+ 403, 404, -1, 36, -1, 1195, -1, -1, -1, -1,
+ -1, -1, 45, -1, 47, 418, -1, -1, 421, -1,
+ -1, 54, 1421, 56, 57, -1, -1, -1, -1, -1,
+ 433, -1, -1, -1, 892, -1, 894, 70, 441, -1,
+ -1, -1, 1441, 1442, -1, -1, -1, 80, -1, -1,
+ -1, 1450, 3, 4, 5, 6, -1, 90, -1, -1,
+ 93, 94, 3, 4, 5, 6, 469, -1, 471, -1,
+ 473, 474, 475, -1, -1, -1, 479, -1, -1, 1478,
+ -1, 484, -1, -1, 487, -1, -1, -1, -1, -1,
+ 41, -1, -1, -1, -1, -1, -1, 48, -1, -1,
+ 41, 504, -1, -1, -1, 56, 57, 48, 3, 4,
+ 5, 6, -1, -1, 9, 56, 57, 1149, 1150, 1151,
+ 1152, 1153, -1, -1, -1, 1157, 1166, -1, 1168, 80,
+ 1170, -1, -1, -1, -1, 1325, 31, 88, -1, 542,
+ 543, 544, 545, -1, 925, -1, 41, 88, 1180, 1181,
+ 1182, -1, -1, -1, -1, -1, -1, 938, -1, 54,
+ -1, 56, 57, -1, -1, -1, 3, 4, 5, 6,
+ -1, -1, 9, -1, -1, 70, -1, -1, -1, -1,
+ 1212, -1, -1, -1, -1, 80, 82, -1, 347, 348,
+ 349, -1, -1, 88, 31, -1, -1, -1, 93, 602,
+ -1, 604, -1, -1, 41, -1, -1, 1065, 1607, 1067,
+ 47, -1, -1, 616, -1, 618, 619, 54, 621, 56,
+ 57, -1, -1, -1, 1264, 628, -1, -1, -1, 632,
+ -1, -1, -1, 70, -1, 1267, 1268, -1, 1270, -1,
+ -1, -1, -1, 80, 647, -1, -1, -1, -1, -1,
-1, 88, -1, 90, -1, -1, 93, 94, -1, -1,
- -1, -1, -1, 4, 1172, -1, 1174, -1, 1176, -1,
- 951, -1, 953, 14, 955, 956, 957, -1, -1, -1,
- -1, -1, 23, 24, -1, -1, -1, -1, -1, 30,
- 31, -1, 33, -1, 35, -1, 3, 4, 5, 6,
- -1, 42, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, 12, -1, 14, 55, -1, 57, -1, -1, 1000,
- -1, -1, -1, -1, 65, -1, -1, 28, -1, 30,
- 31, 72, 1013, -1, 41, 36, -1, -1, -1, -1,
- 41, -1, -1, 84, 45, 1026, -1, 54, 1029, 56,
- 57, -1, -1, 54, -1, 56, 57, 1038, 107, 108,
- -1, 1269, -1, 70, -1, -1, -1, -1, -1, 70,
- 1051, -1, -1, 80, -1, -1, -1, -1, -1, 80,
- -1, 88, 1063, -1, -1, -1, 93, 88, -1, -1,
- -1, 1072, 93, 1074, -1, 136, -1, -1, -1, 140,
- 141, -1, -1, -1, -1, 146, -1, -1, 149, 150,
- 151, 3, 4, 5, 6, -1, -1, -1, -1, -1,
- 803, 1102, 805, -1, 165, -1, 1107, 1108, 169, 1110,
- -1, 618, 619, -1, 175, 176, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 41,
- -1, -1, 193, 194, 195, -1, 48, -1, -1, -1,
- -1, -1, -1, -1, 56, 57, -1, -1, -1, -1,
- -1, -1, -1, -1, 1155, 1156, 1157, 1158, 1159, 4,
- 5, 222, 1163, 8, 9, -1, -1, -1, 80, 14,
- -1, -1, -1, -1, 877, 878, 88, 880, -1, 686,
- -1, 688, 689, -1, 691, 1186, 1187, 1188, -1, -1,
- -1, 36, -1, -1, -1, 1423, -1, -1, 259, -1,
- 45, -1, 47, -1, -1, 908, -1, -1, -1, 54,
- -1, 56, 57, -1, 4, 5, 1217, 7, 8, 9,
- -1, 1222, 12, -1, 14, 70, 733, -1, -1, -1,
- 3, 4, 5, 6, -1, 80, 297, 298, 28, -1,
- 30, 31, -1, -1, -1, 90, 36, -1, 93, 94,
- -1, -1, -1, -1, -1, 45, 959, 47, -1, -1,
- 329, -1, -1, -1, 54, -1, 56, 57, 41, -1,
- -1, 1272, 1273, -1, 1275, 48, -1, -1, -1, -1,
- 70, 342, -1, 56, 57, 346, -1, 348, 349, 350,
- 80, -1, -1, -1, 355, -1, -1, -1, 359, -1,
- 90, -1, -1, 93, 94, -1, -1, 80, -1, -1,
- 1311, 1312, 1313, -1, 821, 88, -1, 3, 4, 5,
- 6, -1, 1025, 9, -1, -1, -1, -1, -1, 1330,
- -1, -1, 393, 402, 1037, -1, -1, -1, -1, -1,
- -1, 402, -1, 404, 405, 31, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 41, -1, -1, 419, -1,
- -1, 422, -1, -1, -1, -1, -1, -1, 54, -1,
- 56, 57, -1, 434, -1, -1, -1, -1, -1, -1,
- -1, 442, -1, -1, 70, -1, -1, 894, -1, 896,
- -1, -1, -1, -1, 80, -1, -1, -1, -1, 468,
- 907, -1, 88, -1, 911, 912, -1, 93, -1, 470,
- -1, 472, -1, 474, 475, 476, -1, -1, -1, 480,
- 1123, -1, 1423, -1, 485, -1, -1, 488, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- -1, -1, 503, 504, -1, -1, -1, -1, 955, 956,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1162,
- -1, 3, 4, 5, 6, 534, -1, 9, 537, -1,
- -1, -1, 541, 542, 543, 544, 545, -1, -1, -1,
- -1, 542, 543, 544, 545, 554, -1, -1, -1, 31,
- -1, -1, 1493, 1494, 1495, -1, -1, -1, 567, 41,
- 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, 1512, 54, 14, 56, 57, 1517, -1, -1, -1,
- -1, -1, 1225, -1, -1, -1, 1229, 28, 70, 30,
- 31, 32, -1, -1, -1, 36, -1, -1, 80, -1,
- 41, 602, -1, 604, 45, -1, 88, 48, -1, -1,
- -1, 93, 621, 54, -1, 56, 57, 618, 619, 628,
- 621, 1264, -1, -1, -1, -1, -1, 628, -1, 70,
- 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
- 641, 14, -1, -1, -1, -1, 647, 88, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, 98, 31, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
- 671, -1, 45, -1, 47, -1, -1, -1, 679, -1,
- -1, 54, -1, 56, 57, 686, 687, 688, 689, 690,
- 691, -1, -1, -1, -1, 1338, -1, 70, -1, 1342,
- -1, -1, -1, -1, -1, -1, -1, 80, 1155, 1156,
- 1157, 1158, -1, 714, -1, 88, 1163, -1, -1, -1,
- 93, 1364, 1365, -1, -1, -1, -1, -1, 737, -1,
- -1, -1, 733, -1, -1, -1, 737, -1, -1, 1186,
- 1187, -1, -1, 744, 745, -1, 747, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
- -1, -1, -1, -1, 775, -1, -1, 778, -1, 780,
- -1, -1, -1, -1, 785, 786, 787, 796, 31, -1,
- -1, -1, 793, 802, -1, 796, -1, -1, 41, -1,
- -1, 802, -1, -1, -1, -1, -1, -1, 809, 810,
- 811, 54, -1, 56, 57, -1, -1, -1, -1, -1,
- 821, -1, -1, -1, -1, 1272, 1273, 70, 1275, -1,
- -1, -1, -1, -1, -1, -1, -1, 80, 3, 4,
- 5, 6, 7, 8, 9, 88, -1, 12, -1, 14,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 870, -1, 28, -1, 30, 31, 348, 349, 350,
- -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, 54,
- -1, 56, 57, 894, 903, 896, -1, -1, -1, -1,
- 909, -1, 903, -1, 913, 70, 907, -1, 909, 4,
- 911, 912, 913, -1, -1, 80, -1, -1, 919, -1,
- -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
+ -1, -1, -1, 159, 1122, -1, -1, -1, 671, 4,
+ 5, -1, -1, -1, 9, 678, -1, -1, -1, -1,
+ -1, -1, -1, 686, 687, 688, 689, 690, 691, -1,
+ -1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1086, 1496, -1, 204, -1,
+ -1, -1, 47, -1, -1, 3, 4, 5, 6, 54,
+ -1, 56, 57, 1513, -1, -1, 3, 4, 5, 6,
+ 733, -1, 9, -1, 737, 70, -1, -1, -1, -1,
+ -1, 744, 745, 1201, 747, 80, -1, -1, 1206, -1,
+ -1, -1, -1, 41, 31, 90, -1, -1, 93, 94,
+ 763, -1, -1, 766, 41, 768, 54, -1, 56, 57,
+ 773, 774, 775, -1, 62, -1, -1, 54, 781, 56,
+ 57, 784, 70, -1, -1, -1, -1, 790, -1, 1421,
+ -1, 1172, 80, 70, 797, 798, 799, 1178, -1, 1257,
+ 88, -1, -1, 80, -1, 93, 809, -1, -1, -1,
+ -1, 88, -1, -1, -1, -1, 93, -1, 1, 4,
+ 3, 4, 5, 6, -1, 8, -1, -1, -1, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, 23, 24,
-1, -1, -1, -1, -1, 30, 31, -1, 33, -1,
- 35, -1, 951, -1, 953, -1, -1, 42, 957, -1,
- 951, -1, 953, -1, 955, 956, 957, -1, -1, -1,
- 55, -1, 57, -1, -1, -1, -1, 3, 4, 5,
- 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
- -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
- -1, 1000, 28, -1, 30, 31, -1, -1, -1, 1000,
- 36, -1, -1, -1, 1013, 41, -1, -1, -1, 45,
- 1019, -1, 1013, -1, -1, -1, -1, 1026, 54, -1,
- 56, 57, -1, 1024, 60, 1026, -1, -1, 1029, 1038,
- -1, -1, -1, -1, 70, -1, -1, 1038, 133, 134,
- -1, 136, -1, -1, 80, 140, 141, -1, -1, 144,
- -1, 146, 88, -1, 149, 150, 151, 93, -1, -1,
- -1, 156, 1063, 1072, -1, 1074, -1, -1, -1, -1,
- 165, 1072, -1, 1074, 169, 3, 4, 5, 6, -1,
- 175, 176, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1102, -1, -1, -1, -1, 193, 194,
- 195, 1102, -1, 31, -1, -1, 1107, 1108, 203, 1110,
- -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 54, 222, 56, 57,
- -1, -1, -1, -1, -1, -1, -1, 618, 619, -1,
- 621, -1, 70, -1, -1, -1, -1, 628, -1, -1,
- 1159, -1, 80, -1, 1155, 1156, 1157, 1158, 1159, -1,
- 88, -1, 1163, -1, 259, 93, -1, -1, -1, 1170,
- -1, 3, 4, 5, 6, 7, 8, 9, -1, 1188,
- -1, -1, 14, -1, -1, 1186, 1187, 1188, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
- -1, 1202, -1, -1, 36, 686, -1, 688, 689, 41,
- 691, -1, -1, 45, -1, 47, 1217, -1, -1, -1,
- -1, 1222, 54, -1, 56, 57, -1, -1, -1, 3,
- 4, 5, 6, -1, 329, 9, -1, -1, 70, -1,
- 3, 4, 5, 6, -1, -1, 9, -1, 80, -1,
- -1, 346, 733, -1, -1, -1, 88, 31, 90, 354,
- -1, 93, 94, -1, 359, -1, -1, 41, 31, -1,
- -1, 1272, 1273, -1, 1275, -1, -1, -1, 41, -1,
- 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, -1, 70, -1, 393, 1300,
- -1, -1, -1, -1, -1, -1, 80, 70, -1, 404,
- 1311, 1312, 1313, -1, 88, -1, 31, 80, -1, 93,
- -1, 1330, -1, -1, 419, 88, -1, 422, -1, 1330,
- 93, -1, -1, 428, 429, 430, -1, -1, -1, 434,
- 821, -1, -1, -1, -1, -1, -1, 442, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 3, 4, 5, 6, -1, 470, 9, 472, -1, 474,
- 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
- 485, -1, -1, 488, -1, -1, -1, -1, 31, -1,
+ 35, -1, -1, -1, -1, -1, -1, 42, 41, 618,
+ 619, -1, 1494, 1495, 1496, 48, -1, -1, -1, -1,
+ 55, 54, 57, 56, 57, -1, -1, -1, -1, 882,
+ 65, 884, -1, -1, -1, -1, -1, 72, 891, -1,
+ -1, -1, 895, -1, 897, -1, 899, 900, 901, 84,
+ -1, -1, 1360, 1361, 907, 88, -1, -1, -1, -1,
+ -1, -1, 1293, 1294, -1, -1, -1, -1, -1, 1377,
+ -1, -1, -1, -1, -1, -1, -1, 686, 460, 688,
+ 689, -1, 691, -1, -1, 467, 939, -1, 941, -1,
+ 943, 944, 945, -1, -1, -1, -1, -1, -1, -1,
+ -1, 136, -1, -1, -1, 140, 141, -1, -1, -1,
+ -1, 146, -1, -1, 149, 150, 151, -1, 3, 4,
+ 5, 6, -1, -1, 733, -1, -1, -1, 1436, 1437,
+ 165, 477, -1, -1, 169, -1, 482, -1, -1, 992,
+ 175, 176, -1, -1, -1, -1, 31, 1455, 1456, -1,
+ 532, -1, 1005, -1, 1385, -1, 41, -1, 193, 194,
+ 195, -1, 508, -1, -1, -1, -1, 1020, 514, 54,
+ 1023, 56, 57, -1, -1, -1, 1407, 1408, -1, 1032,
+ 526, 527, -1, 529, -1, 70, -1, 222, -1, -1,
+ -1, -1, 1045, -1, -1, 80, -1, -1, -1, -1,
+ 809, -1, -1, 88, 1057, -1, -1, -1, 93, -1,
+ 592, -1, -1, 1066, -1, 1068, 598, -1, -1, -1,
+ -1, -1, -1, 258, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, -1, 1096, -1, -1, 628, -1, 1101, 1102,
+ -1, 1104, -1, 635, -1, -1, -1, 1488, -1, -1,
+ -1, 296, 297, -1, 3, 4, 5, 6, -1, -1,
+ 9, -1, -1, 882, -1, 884, -1, -1, 624, 625,
+ -1, -1, -1, 629, -1, -1, 895, -1, -1, -1,
+ 899, 900, 31, -1, -1, -1, 1149, 1150, 1151, 1152,
+ 1153, -1, 41, -1, 1157, -1, 341, -1, 47, -1,
+ 345, -1, 347, 348, 349, 54, -1, 56, 57, 354,
+ 4, 5, -1, 358, 8, 9, -1, 1180, 1181, 1182,
+ 14, 70, -1, -1, 943, 944, -1, -1, -1, -1,
+ -1, 80, -1, -1, 28, -1, 30, -1, -1, 88,
+ -1, 90, 36, -1, 93, 94, -1, 392, -1, 1212,
+ -1, 45, -1, -1, 1217, -1, 401, -1, 403, 404,
+ 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
+ 9, -1, -1, 418, -1, 14, 421, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 433, 28,
+ -1, 30, 31, -1, -1, -1, 441, 36, -1, -1,
+ -1, -1, 41, -1, 1267, 1268, 45, 1270, 47, -1,
+ -1, 803, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, -1, -1, -1, 469, -1, 471, -1, 473, 474,
+ 475, 70, -1, -1, 479, 791, -1, 793, -1, 484,
+ -1, 80, 487, 1306, 1307, 1308, -1, -1, -1, 88,
+ -1, 90, -1, -1, 93, 94, -1, -1, -1, 504,
+ -1, -1, 1325, -1, -1, 857, 858, -1, -1, -1,
+ -1, 863, -1, -1, -1, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, 877, 14, 879, -1, 881,
+ -1, -1, -1, -1, -1, -1, -1, 542, 543, 544,
+ 545, -1, -1, 31, -1, -1, -1, -1, 36, 865,
+ 866, -1, 868, 41, -1, -1, -1, 45, -1, 47,
+ -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
+ 1149, 1150, 1151, 1152, -1, 927, -1, -1, 1157, -1,
+ 896, -1, 70, -1, -1, -1, 347, 348, 349, -1,
+ -1, -1, 80, 12, -1, -1, -1, 602, 1421, 604,
+ 88, 1180, 1181, -1, -1, 93, -1, -1, -1, -1,
+ -1, -1, -1, 618, 619, -1, 621, -1, -1, -1,
+ -1, 973, -1, 628, -1, -1, -1, -1, -1, -1,
+ -1, 947, -1, -1, -1, -1, 641, -1, -1, -1,
+ 992, -1, 647, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 671, -1, -1, -1,
+ -1, 1494, 1495, 1496, 679, -1, -1, -1, -1, -1,
+ -1, 686, 687, 688, 689, 690, 691, -1, 1267, 1268,
+ 1513, 1270, -1, -1, -1, 1518, -1, -1, -1, -1,
+ -1, -1, -1, 1019, -1, -1, -1, -1, -1, 714,
+ -1, -1, -1, -1, -1, 1031, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4, 5, -1, 733, 8,
+ 9, -1, 737, -1, -1, 14, -1, -1, -1, 744,
+ 745, -1, 747, -1, 3, 4, 5, 6, -1, 28,
+ 9, 30, -1, -1, -1, 760, -1, 36, 763, -1,
+ -1, 766, -1, 768, -1, -1, 45, -1, 773, 774,
+ 775, -1, 31, -1, -1, 54, 781, 56, 57, 784,
+ -1, -1, 41, -1, -1, 790, -1, -1, 47, -1,
+ -1, -1, 797, 798, 799, 54, -1, 56, 57, -1,
+ -1, 1117, -1, -1, 809, -1, -1, -1, -1, -1,
+ -1, 70, 4, -1, 1166, -1, 1168, -1, 1170, -1,
+ -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
+ -1, 90, -1, -1, 93, 94, -1, -1, 30, 31,
+ 1156, 33, -1, 35, -1, -1, -1, -1, -1, -1,
+ 42, -1, -1, -1, -1, -1, -1, 618, 619, -1,
+ 621, -1, -1, 55, -1, 57, -1, 628, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 882, -1, 884,
+ -1, -1, -1, -1, -1, -1, 891, -1, 80, -1,
+ 895, -1, 897, -1, 899, 900, 901, -1, -1, -1,
+ -1, -1, 907, -1, 1220, -1, -1, -1, 1224, -1,
+ -1, -1, 1264, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 686, -1, 688, 689, -1,
+ 691, -1, -1, -1, 939, -1, 941, -1, 943, 944,
+ 945, 133, 134, 1259, 136, -1, -1, -1, 140, 141,
+ -1, -1, 144, -1, 146, -1, -1, 149, 150, 151,
+ -1, -1, -1, -1, 156, -1, -1, -1, -1, -1,
+ -1, -1, 733, 165, -1, -1, -1, 169, -1, -1,
+ -1, -1, -1, 175, 176, -1, -1, 992, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1005, 193, 194, 195, -1, -1, -1, -1, -1, -1,
+ -1, 203, -1, -1, -1, 1020, -1, -1, 1023, -1,
+ 1336, -1, -1, -1, 1340, -1, -1, 1032, -1, -1,
+ 222, -1, -1, -1, -1, 3, 4, 5, 6, 3,
+ 4, 5, 6, 7, 8, 9, 1362, 1363, 809, -1,
+ 14, -1, 1057, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1066, -1, 1068, -1, -1, 258, 31, -1, 1421,
+ -1, -1, 36, 41, -1, -1, -1, 41, -1, -1,
+ -1, 45, -1, 47, -1, -1, 54, -1, 56, 57,
+ 54, 1096, 56, 57, 62, -1, 1101, 1102, -1, 1104,
+ -1, -1, 70, -1, -1, -1, 70, -1, -1, -1,
+ -1, -1, 80, -1, -1, -1, 80, -1, -1, -1,
+ 88, 882, -1, 884, 88, 93, 90, -1, -1, 93,
+ 94, -1, -1, -1, 895, -1, 328, -1, 899, 900,
+ 901, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1,
+ -1, -1, 1157, 345, -1, -1, -1, -1, -1, 1164,
+ -1, 353, -1, -1, -1, -1, 358, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1180, 1181, 1182, -1, -1,
+ -1, -1, 943, 944, 945, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1200, -1, -1, -1, -1,
+ 392, -1, -1, -1, -1, -1, -1, 1212, -1, -1,
+ -1, 403, 1217, -1, -1, -1, -1, 1, -1, 3,
+ 4, 5, 6, 7, 8, 9, 418, -1, -1, 421,
+ 14, 992, -1, -1, -1, 427, 428, 429, -1, -1,
+ -1, 433, -1, -1, 28, -1, 30, 31, 32, 441,
+ -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
+ -1, 45, 1267, 1268, 48, 1270, -1, -1, -1, -1,
+ 54, -1, 56, 57, -1, -1, -1, 469, -1, 471,
+ -1, 473, 474, 475, 4, 5, 70, 479, 8, 9,
+ 1295, -1, 484, -1, 14, 487, 80, -1, -1, -1,
+ -1, 1306, 1307, 1308, 88, -1, -1, -1, 28, 93,
+ 30, -1, 504, -1, 98, -1, 36, -1, -1, -1,
+ 1325, -1, -1, -1, -1, 45, 1331, -1, -1, -1,
+ -1, -1, -1, -1, 54, -1, 56, 57, 58, -1,
+ -1, -1, 534, -1, -1, 537, -1, -1, 3, 4,
+ 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
+ 552, 553, 554, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, -1, 567, 31, -1, -1, 4,
+ -1, -1, -1, -1, -1, -1, 41, -1, 1149, 1150,
+ 1151, 1152, 1153, -1, -1, -1, 1157, -1, -1, 54,
+ -1, 56, 57, -1, -1, 30, 31, -1, 33, -1,
+ 35, -1, -1, -1, -1, 70, 1421, 42, -1, 1180,
+ 1181, 1182, -1, 615, 31, 80, -1, -1, -1, -1,
+ 55, -1, 57, 88, -1, -1, 628, -1, 93, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 647, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, -1, 671,
+ -1, -1, 3, 4, 5, 6, 678, -1, 9, 1494,
+ 1495, 1496, -1, -1, 686, 687, 688, 689, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1267, 1268, 1513, 1270,
+ 31, 136, -1, 1518, -1, 140, 141, -1, -1, -1,
+ 41, 146, -1, -1, 149, 150, 151, -1, -1, -1,
+ -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
+ 165, 733, -1, -1, 169, 737, -1, -1, -1, 70,
+ 175, 176, 744, 745, -1, 747, -1, -1, -1, 80,
+ -1, -1, -1, -1, -1, -1, -1, 88, 193, 194,
+ 195, -1, 93, -1, 766, -1, 768, -1, -1, -1,
+ -1, 773, 774, 775, -1, -1, -1, -1, -1, 781,
+ -1, -1, -1, -1, -1, -1, -1, 222, -1, 33,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1, 803, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 55, 13, 14, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 258, -1, -1, -1, 28, 29, 30,
+ 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
+ 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
+ 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
+ 61, -1, 3, 4, 5, 6, 67, -1, 9, 70,
+ -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
+ -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
+ 31, -1, 93, -1, -1, -1, -1, 899, 900, 901,
+ 41, -1, -1, 905, 906, 149, 150, 151, -1, 110,
+ -1, -1, -1, 54, -1, 56, 57, -1, -1, 354,
+ -1, -1, -1, 358, -1, -1, -1, -1, -1, 70,
+ -1, 175, -1, -1, -1, -1, -1, -1, -1, 80,
+ -1, 943, 944, 945, -1, -1, -1, 88, 950, 193,
+ 194, 195, 93, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4, 5, -1, 7, 8, 9, -1, 403, 12,
+ -1, 14, -1, -1, -1, -1, -1, -1, 222, -1,
+ -1, -1, -1, 418, -1, 28, 421, 30, 31, -1,
+ 992, -1, -1, 36, 55, -1, -1, -1, 433, -1,
+ -1, -1, 45, -1, 47, -1, 441, -1, -1, -1,
+ -1, 54, -1, 56, 57, -1, -1, -1, -1, 80,
+ -1, 1023, 83, -1, -1, -1, -1, 70, -1, -1,
+ 3, 4, 5, 6, 469, -1, 471, 80, 473, 474,
+ 475, -1, 1044, 104, 479, 106, -1, 90, -1, 484,
+ 93, 94, 487, 297, -1, 1057, -1, -1, 31, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 41, 504,
- -1, -1, -1, 894, 4, 896, -1, -1, -1, -1,
- -1, 54, 1423, 56, 57, -1, 907, -1, -1, -1,
- 911, 912, 913, -1, -1, -1, -1, 70, -1, 534,
- 30, 31, 537, 33, -1, 35, -1, 80, -1, -1,
- -1, -1, 42, -1, -1, 88, -1, 552, 553, 554,
- 93, -1, -1, -1, -1, 55, -1, 57, -1, -1,
- -1, -1, 567, -1, 955, 956, 957, 3, 4, 5,
- 6, -1, -1, 9, -1, -1, 1495, -1, 3, 4,
- 5, 6, 1493, 1494, 1495, -1, -1, -1, -1, -1,
- -1, -1, -1, 1512, -1, 31, -1, -1, -1, -1,
- -1, 1512, -1, -1, -1, 41, 1517, -1, -1, 1000,
- 615, -1, -1, -1, -1, -1, 41, -1, 54, -1,
- 56, 57, -1, 628, -1, -1, -1, -1, -1, 54,
- -1, 56, 57, -1, 70, -1, 136, 62, -1, -1,
- 140, 141, 647, -1, 80, 70, 146, -1, -1, 149,
- 150, 151, 88, -1, -1, 80, -1, 93, -1, 3,
- 4, 5, 6, 88, -1, 165, 671, -1, 93, 169,
- -1, -1, -1, 678, -1, 175, 176, -1, -1, -1,
- -1, 686, 687, 688, 689, -1, -1, 31, -1, -1,
- -1, -1, -1, 193, 194, 195, -1, 41, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
- -1, -1, 222, -1, -1, 33, 70, -1, 733, -1,
- -1, -1, 737, -1, -1, -1, 80, -1, -1, 744,
- 745, -1, 747, -1, 88, -1, -1, 55, -1, 93,
- -1, -1, 4, 5, -1, 7, 8, 9, -1, 259,
- 12, -1, 14, -1, 1155, 1156, 1157, 1158, 1159, -1,
- -1, -1, 1163, 778, -1, 780, 28, -1, 30, 31,
- 785, 786, 787, -1, 36, -1, -1, -1, 793, -1,
- -1, -1, -1, 45, -1, 1186, 1187, 1188, -1, -1,
- -1, -1, 54, -1, 56, 57, -1, -1, -1, 1,
- 815, 3, 4, 5, 6, 7, 8, 9, -1, -1,
- -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
- 32, 149, 150, 151, 36, 37, -1, -1, -1, 41,
- -1, -1, -1, 45, 46, 355, 48, -1, -1, 359,
- -1, -1, 54, -1, 56, 57, -1, 175, 60, -1,
- 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
- -1, 1272, 1273, -1, 1275, 193, 194, 195, 80, -1,
- -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
- -1, 93, -1, -1, 404, -1, 911, 912, 913, -1,
- -1, -1, 917, 918, 222, -1, -1, 109, -1, 419,
- -1, -1, 422, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, 434, -1, -1, -1, -1, -1,
- -1, -1, 442, -1, -1, -1, -1, -1, -1, -1,
- 955, 956, 957, -1, -1, -1, -1, 962, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- 470, -1, 472, -1, 474, 475, 476, -1, -1, -1,
- 480, 54, -1, 56, 57, 485, -1, -1, 488, 62,
- 298, -1, -1, -1, -1, 1000, -1, 70, -1, -1,
- -1, -1, -1, -1, 504, -1, -1, 80, -1, -1,
- -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
- 93, -1, -1, -1, 1029, -1, 1, -1, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 348, 349, 350, -1, -1, 1050, -1, 3, 4, 5,
- 6, -1, -1, 28, 29, 30, 31, 32, 1063, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, 41, 61, -1, 3, 4,
- 5, 6, 67, -1, -1, 70, 404, -1, 54, -1,
- 56, 57, -1, 78, 79, 80, 62, -1, -1, -1,
- -1, 86, 87, 88, 70, 90, 616, -1, 93, 94,
- -1, -1, -1, -1, 80, -1, 41, -1, -1, 1134,
- -1, -1, 88, -1, -1, 110, -1, 93, -1, 54,
- -1, 56, 57, -1, -1, 60, -1, 647, -1, -1,
- 1155, 1156, 1157, 1158, 1159, 70, 1161, -1, 1163, -1,
- -1, -1, 470, -1, 472, 80, 474, 475, 476, -1,
- -1, -1, 480, 88, -1, -1, -1, 485, 93, -1,
- 488, 1186, 1187, 1188, -1, -1, 686, 687, 688, 689,
- -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
+ -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, 12, -1, 14, 70, -1, -1,
+ -1, -1, -1, 347, 348, 349, -1, 80, -1, -1,
+ 28, -1, 30, 31, 175, 88, -1, -1, 36, -1,
+ 93, -1, -1, 41, -1, -1, 1128, 45, -1, 47,
+ -1, -1, 193, 194, 195, -1, 54, -1, 56, 57,
+ -1, -1, 203, -1, -1, -1, -1, 1149, 1150, 1151,
+ 1152, 1153, 70, 1155, -1, 1157, -1, -1, -1, 403,
+ -1, 222, 80, -1, -1, 3, 4, 5, 6, -1,
+ 88, 9, 90, -1, -1, 93, 94, -1, 1180, 1181,
+ 1182, 616, -1, -1, -1, -1, 247, -1, -1, -1,
+ -1, -1, -1, 31, -1, 3, 4, 5, 6, -1,
+ 261, 9, -1, 41, -1, -1, 3, 4, 5, 6,
+ 1212, -1, 647, -1, -1, 1217, 54, -1, 56, 57,
+ -1, -1, -1, 31, -1, 469, -1, 471, -1, 473,
+ 474, 475, 70, 41, -1, 479, -1, -1, -1, -1,
+ 484, -1, 80, 487, 41, -1, 54, -1, 56, 57,
+ 88, 686, 687, 688, 689, 93, -1, 54, -1, 56,
+ 57, -1, 70, 60, -1, 1267, 1268, -1, 1270, -1,
+ -1, -1, 80, 70, -1, -1, -1, -1, -1, -1,
+ 88, -1, -1, 80, -1, 93, -1, -1, -1, -1,
+ -1, 88, 353, 354, -1, -1, 93, -1, 733, -1,
+ -1, -1, 737, -1, 1306, 1307, 1308, -1, -1, 744,
+ 745, -1, 747, -1, -1, -1, 3, 4, 5, 6,
+ 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
+ -1, 766, -1, 768, -1, -1, -1, -1, 773, 774,
+ 775, 28, 403, 30, 31, 32, 781, -1, -1, 36,
+ -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
+ 604, 48, -1, -1, -1, -1, -1, 54, -1, 56,
+ 57, -1, -1, -1, 618, 619, -1, 621, -1, -1,
+ -1, -1, -1, 70, 628, -1, -1, -1, -1, -1,
+ -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
+ -1, 88, -1, 647, -1, -1, 93, -1, 469, -1,
+ 471, 98, 473, 474, 475, -1, -1, -1, 479, 1421,
+ -1, -1, -1, 484, -1, -1, 487, -1, 3, 4,
5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
- -1, -1, 1217, -1, -1, -1, -1, 1222, -1, -1,
- -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
- -1, 36, 37, 733, -1, -1, 41, 737, -1, -1,
- 45, 46, -1, 48, 744, 745, -1, 747, -1, 54,
- -1, 56, 57, -1, -1, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, -1, 70, -1, 1272, 1273, -1,
- 1275, -1, -1, -1, -1, 80, -1, -1, 778, -1,
- 780, -1, -1, 88, -1, 785, 786, 787, 93, -1,
- -1, -1, -1, 793, -1, -1, 604, -1, -1, -1,
- -1, -1, -1, -1, 109, -1, 1311, 1312, 1313, -1,
- 618, 619, 55, 621, -1, -1, -1, -1, -1, -1,
- 628, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, -1, -1, 14, -1, -1, -1, 80, -1, 647,
- 83, -1, -1, -1, -1, -1, -1, 28, -1, 30,
- 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
- 41, 104, -1, 106, 45, -1, -1, 48, -1, -1,
- -1, -1, -1, 54, -1, 56, 57, -1, 686, -1,
- 688, 689, -1, 691, -1, -1, -1, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
- -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, 98, 1423, 919,
- -1, -1, -1, -1, -1, 733, -1, -1, -1, -1,
- -1, -1, 175, -1, -1, -1, 744, 745, -1, 747,
- -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
- 193, 194, 195, -1, 14, 955, 956, 957, -1, -1,
- 203, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 31, -1, -1, -1, -1, 36, 785, -1, 222,
- -1, 41, -1, -1, -1, 45, -1, 47, 1493, 1494,
- 1495, -1, -1, -1, 54, -1, 56, 57, -1, -1,
- 1000, 809, 810, 811, -1, 248, -1, -1, -1, -1,
- 70, -1, 1517, 821, -1, -1, -1, -1, -1, 262,
- 80, -1, -1, -1, -1, -1, -1, -1, 88, 1029,
- 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
- -1, -1, -1, 1063, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, 894, 47, 896, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, 907,
- -1, 61, -1, 911, 912, 913, -1, 67, -1, -1,
- 70, 354, 355, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 955, 956, 957,
- 110, -1, -1, -1, -1, 1155, 1156, 1157, 1158, 1159,
- -1, 404, -1, 1163, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, -1, -1, 14, -1, -1, 1186, 1187, 1188, -1,
- -1, -1, 1000, -1, -1, -1, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
- 41, -1, -1, -1, 45, -1, -1, 1217, -1, -1,
- -1, 1029, 1222, 54, -1, 56, 57, 470, -1, 472,
- -1, 474, 475, 476, -1, -1, -1, 480, -1, 70,
- -1, -1, 485, -1, -1, 488, -1, -1, -1, 80,
- -1, -1, 1, -1, -1, 4, 5, 88, -1, 8,
- 9, -1, 93, -1, -1, 14, -1, -1, -1, -1,
- -1, -1, 1272, 1273, -1, 1275, -1, -1, -1, 28,
- -1, 30, -1, -1, -1, -1, -1, 36, -1, 38,
- 39, -1, -1, -1, -1, -1, 45, -1, 47, 1107,
- 1108, -1, 1110, -1, -1, 54, -1, 56, 57, -1,
- 59, 1311, 1312, 1313, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
- -1, -1, 91, -1, -1, 94, -1, 1155, 1156, 1157,
- 1158, 1159, -1, -1, -1, 1163, -1, -1, -1, -1,
- -1, 110, -1, 1, -1, 3, 4, 5, 6, 7,
- 8, 9, -1, -1, -1, -1, 14, -1, 1186, 1187,
- 1188, -1, -1, -1, -1, -1, -1, -1, 631, 632,
- 28, -1, 30, 31, 32, -1, 14, -1, 36, 37,
- -1, -1, -1, 41, 647, 23, 24, 45, 46, 1217,
- 48, -1, 30, 31, -1, 33, 54, -1, 56, 57,
- -1, -1, 60, 1423, 62, 4, 5, -1, -1, 8,
- 9, -1, 70, -1, -1, 14, -1, -1, -1, -1,
- -1, -1, 80, 686, -1, 688, 689, 65, -1, 28,
- 88, 30, -1, -1, -1, 93, -1, 36, -1, -1,
- -1, -1, -1, -1, 1272, 1273, 45, 1275, -1, -1,
- -1, 109, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, -1, 686, -1, 688, 689, -1, 691, -1, -1,
+ -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
+ -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
+ 45, -1, 907, -1, -1, -1, -1, -1, -1, 54,
+ -1, 56, 57, -1, -1, 60, -1, -1, -1, 733,
+ -1, -1, 1494, 1495, 1496, 70, -1, -1, -1, -1,
+ 744, 745, -1, 747, -1, 80, -1, -1, 943, 944,
+ 945, -1, -1, 88, -1, -1, 1518, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 773,
+ -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
+ 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
+ 14, -1, -1, 797, 798, 799, -1, 992, -1, -1,
+ -1, -1, -1, -1, 28, 809, 30, 31, 32, -1,
+ 631, 632, 36, 37, -1, -1, -1, 41, -1, -1,
+ -1, 45, 46, -1, 48, -1, 647, -1, 1023, -1,
+ 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, 70, -1, 3, 4,
+ 5, 6, 7, 8, 9, -1, 80, 12, -1, 14,
+ -1, -1, 1057, -1, 88, 686, -1, 688, 689, 93,
+ -1, -1, -1, 28, -1, 30, 31, -1, 882, -1,
+ 884, 36, -1, -1, -1, 109, 41, -1, -1, -1,
+ 45, 895, -1, -1, -1, 899, 900, 901, -1, 54,
+ -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 733, -1, -1, 70, -1, -1, 14, -1,
+ -1, -1, -1, 744, 745, 80, 747, 23, 24, -1,
+ -1, -1, -1, 88, 30, 31, -1, 33, 93, 943,
+ 944, 945, -1, -1, 3, 4, 5, 6, -1, -1,
+ -1, -1, 773, -1, 1149, 1150, 1151, 1152, 1153, -1,
+ -1, -1, 1157, -1, -1, -1, -1, -1, -1, 65,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 733, -1, -1, 1493, 1494, 1495, -1, -1, -1, -1,
- -1, 744, 745, 1311, 747, 1313, 124, -1, 126, -1,
- -1, -1, -1, -1, 93, 133, 134, 1517, -1, -1,
- -1, -1, 140, 141, -1, -1, 144, 145, 146, 772,
- 148, 149, 150, 151, -1, -1, -1, -1, -1, -1,
- -1, -1, 785, -1, 1, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, -1, 13, 14, 15, -1,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
- -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, 1423, -1, -1, -1, 237,
- 238, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
- -1, 259, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 109, 110, 67, 68, 69, 70, 71, 72,
+ -1, -1, 41, -1, -1, 1180, 1181, 1182, 992, 3,
+ 4, 5, 6, -1, -1, 54, -1, 56, 57, -1,
+ -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
+ -1, 70, -1, -1, -1, -1, -1, 1212, -1, 1023,
+ -1, 80, 1217, -1, -1, -1, -1, 41, 124, 88,
+ 126, -1, -1, -1, 93, -1, -1, 133, 134, -1,
+ 54, -1, 56, 57, 140, 141, -1, -1, 144, 145,
+ 146, -1, 148, 149, 150, 151, 70, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
+ -1, -1, 1267, 1268, 88, 1270, -1, -1, -1, 93,
+ -1, -1, -1, -1, -1, 906, 907, 908, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1101, 1102, -1,
+ 1104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1306, 1307, 1308, -1, -1, -1, -1, -1, -1,
+ -1, -1, 943, 944, 945, -1, -1, -1, -1, 950,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 237, 238, -1, -1, 1149, 1150, 1151, 1152, 1153,
+ -1, -1, -1, 1157, -1, -1, -1, -1, -1, 980,
+ -1, -1, 258, -1, -1, -1, -1, -1, -1, -1,
+ -1, 992, -1, -1, -1, -1, 1180, 1181, 1182, -1,
+ -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
+ -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
+ -1, 297, 1023, -1, -1, -1, -1, -1, 1212, -1,
+ -1, 31, -1, -1, -1, -1, 36, -1, -1, -1,
+ -1, 41, -1, 1044, -1, 45, 1421, 47, -1, -1,
+ -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 345,
+ 70, 347, 348, -1, -1, -1, -1, -1, -1, -1,
+ 80, -1, -1, 1267, 1268, -1, 1270, -1, 88, -1,
+ 90, -1, -1, 93, 94, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, -1, -1, -1, 918, 919, 920, -1, -1,
- 298, -1, 12, -1, -1, 1493, 1494, 1495, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, -1, -1, -1, -1, 1517,
- -1, -1, 955, 956, 957, -1, -1, -1, -1, 962,
- -1, -1, -1, -1, -1, -1, -1, -1, 346, -1,
- 348, 349, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, -1, -1, 1000, -1, -1,
- -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
- 6, 7, 8, 9, -1, 393, 12, -1, 14, -1,
- -1, -1, -1, -1, -1, -1, 1029, -1, -1, 25,
- -1, 27, -1, -1, 412, 31, -1, -1, -1, -1,
- 36, 419, -1, -1, 422, 41, -1, 1050, -1, 45,
- -1, 47, -1, -1, -1, -1, 434, -1, 54, -1,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
- 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
- -1, 97, -1, -1, -1, -1, 102, -1, -1, -1,
- -1, 107, 108, 109, -1, 111, -1, -1, -1, -1,
- -1, -1, -1, 501, -1, 503, -1, -1, -1, -1,
- -1, 1134, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
- 528, -1, 1155, 1156, 1157, 1158, 1159, -1, 1161, -1,
- 1163, -1, -1, -1, -1, -1, -1, 1, -1, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, -1, -1, 1186, 1187, 1188, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- -1, 45, -1, -1, 1217, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, 604, 61, -1, -1,
- -1, -1, -1, 67, -1, -1, 70, 615, 616, -1,
- 618, 619, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
- -1, -1, -1, 4, 5, -1, 7, 8, 9, 1272,
- 1273, -1, 1275, 14, 108, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
- 31, -1, -1, 671, -1, 36, -1, -1, -1, -1,
- 678, 679, -1, -1, 45, -1, -1, 48, 1311, -1,
- 1313, -1, 690, 54, -1, 56, 57, -1, -1, -1,
- -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, -1, 13, 14, 15, 714, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
- 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, 772, -1, -1, 775, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
- 1423, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 110, 809, 810, 811, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 821, -1, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, -1, -1, -1,
+ 83, 84, -1, -1, -1, -1, 392, -1, -1, 1494,
+ 1495, 1496, 1306, -1, 1308, -1, -1, 1128, -1, -1,
+ -1, -1, -1, -1, -1, 411, 4, 5, -1, 7,
+ 8, 9, 418, 1518, 12, 421, 14, -1, 1149, 1150,
+ 1151, 1152, 1153, -1, 1155, -1, 1157, 433, -1, -1,
+ 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
+ -1, -1, -1, -1, -1, -1, -1, 45, -1, 1180,
+ 1181, 1182, -1, -1, -1, -1, 54, -1, 56, 57,
+ -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
+ -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
+ -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, 29, 30, 500, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, 1421, 45, -1,
+ -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, 58, 528, -1, 61, -1, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, -1, 1267, 1268, -1, 1270,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, 94, -1, -1,
-1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
- 1493, 1494, 1495, 111, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, 1517, 45, 894, -1, 896, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, 907,
- 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
- -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, 1024, 86, 87, 88,
- -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- 109, 110, -1, 1051, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, 4, 5, 61, -1, 8, 9,
- -1, -1, 67, -1, 14, 70, -1, -1, -1, 1107,
- 1108, -1, 1110, 78, 79, 80, -1, -1, 28, -1,
- 30, 86, 87, 88, -1, -1, 36, -1, 93, -1,
- -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, 54, 110, 56, 57, -1, -1,
- 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, 1170, -1, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, 1202, 56, 57, 58, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, 1220, -1, 1222, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
- -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
+ -1, -1, 12, 110, 14, 1306, -1, 1308, -1, -1,
+ 1494, 1495, 1496, -1, -1, 25, -1, 27, -1, -1,
+ -1, 31, -1, -1, -1, -1, 36, -1, 604, -1,
+ -1, 41, -1, -1, 1518, 45, -1, 47, -1, 615,
+ 616, -1, 618, 619, 54, -1, 56, 57, 58, 59,
+ 60, -1, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, -1, 86, 87, 88, -1,
+ 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
+ -1, -1, 102, -1, -1, 671, -1, 107, 108, 109,
+ -1, 111, 678, 679, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 690, -1, -1, -1, -1, 1,
+ 1421, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, -1, -1, -1, -1, -1, 714, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
+ -1, -1, -1, -1, 760, 67, -1, 763, 70, -1,
+ -1, -1, -1, 1494, 1495, 1496, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
+ -1, 93, 94, -1, -1, -1, -1, 1518, -1, -1,
+ -1, 797, 798, 799, -1, -1, -1, -1, 110, -1,
+ -1, -1, -1, 809, -1, 1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
+ -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, 882, -1, 884, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, 895,
+ 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 109, 110, -1, 1, -1, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
+ 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
+ -1, 56, 57, 58, 980, 60, 61, -1, -1, -1,
+ -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
+ -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
+ -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
+ 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1, 110, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, -1, 1045,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
+ -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
-1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ 67, -1, -1, 70, -1, 1101, 1102, -1, 1104, -1,
-1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
- 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
+ 87, 88, -1, 90, -1, -1, 93, 94, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 110, -1, 1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1164, -1,
+ -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
-1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 56, 57, -1, -1, 1200, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, 1215,
+ -1, 1217, 78, 79, 80, -1, -1, -1, -1, -1,
86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
+ -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
-1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
-1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
- 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
- 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
- -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
- -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
- -1, -1, 61, 62, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
- -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
+ -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
+ -1, -1, -1, -1, -1, 1331, -1, -1, -1, -1,
+ -1, -1, -1, -1, 109, 110, 1, -1, 3, 4,
+ 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
+ -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
+ -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
+ -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
+ -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
+ -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
+ -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
+ 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
+ -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
+ 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
+ -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
+ -1, 93, -1, 1, -1, 3, 4, 5, 6, 101,
+ 8, 9, 10, 11, -1, 13, 14, -1, 110, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
-1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, 60, 61, -1, -1, -1, -1, -1, 67,
+ 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
-1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
@@ -3322,16 +3283,16 @@ static const short yycheck[] = { 4,
-1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
-1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
-1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
+ 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
-1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
- -1, 108, -1, 110, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
-1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
-1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
+ 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
-1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
-1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
@@ -3340,7 +3301,7 @@ static const short yycheck[] = { 4,
-1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
+ -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
-1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
@@ -3350,191 +3311,152 @@ static const short yycheck[] = { 4,
34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
-1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
- -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
- -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
- 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
- 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
- -1, 1, 70, 3, 4, 5, 6, 7, 8, 9,
- 78, 79, 80, -1, 14, -1, -1, -1, 86, 87,
- 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
- 30, 31, 32, -1, -1, -1, 36, 37, -1, -1,
- -1, 41, 110, 111, -1, 45, 46, -1, 48, -1,
- -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
- 60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
- -1, -1, -1, 93, -1, -1, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, -1, 13, 14, 15, 109,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
- -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 109, 110, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
- 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
- -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
- -1, -1, -1, -1, 93, -1, 95, -1, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
- 15, 110, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
+ -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
+ -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
+ -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
+ -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
+ 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
+ 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
+ 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
+ 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
+ -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
+ -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
- 95, -1, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, -1, 13, 14, 15, 110, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
- -1, -1, 93, -1, 95, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, -1, -1, 110,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
- 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
- -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
- -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
- 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
- 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
- -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
- -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
- 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
- -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
- 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
+ -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
- 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
- -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
- 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
- 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
- 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
- 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
- -1, 93, 94, 3, 4, 5, 6, -1, 8, 9,
- 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
- 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
- -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
- 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
- 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
- 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
+ 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
-1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
+ 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
-1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
-1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
- -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
-1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
+ 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
-1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
-1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
- -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
+ -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
-1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
-1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
+ 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
+ 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
+ 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
+ -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
+ -1, -1, 41, 110, 111, -1, 45, 46, -1, 48,
+ -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
+ -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
+ -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
+ -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
+ 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
+ -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
+ -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
+ -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
+ -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
+ 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
+ -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
+ -1, -1, -1, -1, 93, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
+ 109, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
+ 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
+ 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
+ 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
+ -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
+ -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
+ 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
+ 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
+ -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
+ 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
+ -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
+ 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
+ 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
-1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
- 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
- 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
+ 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
+ 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
-1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
-1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
- -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
- 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
- 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
- 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
+ -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
+ 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
+ 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
-1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
- 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, 54, -1, 56, 57, 58, -1, -1, -1, -1,
+ 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
+ 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
- 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, -1, -1, -1, -1, 93, 94, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
- -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
- 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
- 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
+ -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
+ 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
+ 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
+ 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
+ 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
+ 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
+ -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
+ -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
+ -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
+ 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
+ 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
-1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
@@ -3542,97 +3464,192 @@ static const short yycheck[] = { 4,
79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 110, -1, -1, -1, 28, 29, 30, 31, 32,
+ -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
-1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
- 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
+ 53, 54, -1, 56, 57, -1, -1, 60, 61, -1,
-1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
- 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
- -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
- -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
- 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
- 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
- -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
- 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
- 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
- -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
- 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
- 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
- -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 67, -1, 1, 70, 3, 4, 5, 6,
- 7, 8, 9, 78, 79, 80, -1, 14, -1, -1,
- -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
- 27, 28, -1, 30, 31, 32, -1, -1, -1, 36,
- -1, -1, -1, -1, 41, 110, -1, 44, 45, 46,
- -1, 48, -1, -1, -1, -1, -1, 54, -1, 56,
- 57, -1, -1, 60, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
- -1, -1, 1, 80, 3, 4, 5, 6, 7, 8,
- 9, 88, -1, -1, -1, 14, 93, -1, -1, -1,
- -1, 98, -1, -1, -1, -1, -1, -1, -1, 28,
- -1, 30, 31, 32, -1, -1, -1, 36, -1, -1,
- -1, -1, 41, -1, -1, -1, 45, 46, -1, 48,
- -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
- -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
- -1, 70, 3, 4, 5, 6, 7, 8, 9, -1,
- -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
- -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
- 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
- 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
- -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
- 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
- -1, 14, -1, -1, -1, -1, -1, 88, -1, -1,
- -1, -1, 93, -1, -1, 28, -1, 30, 31, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
- -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, -1, -1, 60, -1, 3,
- 4, 5, 6, 7, 8, 9, -1, 70, -1, -1,
- 14, -1, -1, -1, -1, -1, -1, 80, -1, -1,
- -1, -1, -1, -1, 28, 88, 30, 31, -1, -1,
- 93, -1, 36, -1, -1, -1, -1, 41, -1, -1,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- 54, -1, 56, 57, 4, 5, -1, 7, 8, 9,
- -1, -1, 12, -1, 14, -1, 70, 4, 5, -1,
- 7, 8, 9, -1, -1, -1, 80, 14, 28, -1,
- 30, 31, -1, -1, 88, -1, 36, -1, -1, 93,
- -1, 28, -1, 30, 31, 45, -1, -1, -1, 36,
- -1, -1, -1, -1, 54, -1, 56, 57, 45, -1,
- -1, 4, 5, -1, -1, 8, 9, 54, -1, 56,
- 57, 14, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, -1, 30, -1, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
+ 93, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
+ 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
+ -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
+ 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
+ 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
+ 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
+ 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
+ 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
+ -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
+ 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
+ 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
+ -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
+ -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
+ 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
+ -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
+ 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
+ -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
+ 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
+ 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
+ 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
+ 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
+ -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
+ -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
+ 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
+ -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 110, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
+ 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
+ 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
+ -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
+ -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
+ 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
+ -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
+ 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
+ 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
+ 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
+ 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
+ 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
+ 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
+ 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
+ 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
+ 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
+ -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
+ 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 67, -1, 1, 70, 3, 4, 5,
+ 6, 7, 8, 9, 78, 79, 80, -1, 14, -1,
+ -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
+ -1, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ 36, -1, -1, -1, -1, 41, 110, -1, 44, 45,
+ 46, -1, 48, -1, -1, -1, -1, -1, 54, -1,
+ 56, 57, -1, -1, 60, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1, 80, 3, 4, 5, 6, 7,
+ 8, 9, 88, -1, -1, -1, 14, 93, -1, -1,
+ -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
+ 28, -1, 30, 31, 32, -1, -1, -1, 36, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
+ 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
+ -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
+ -1, -1, 70, 3, 4, 5, 6, 7, 8, 9,
+ -1, -1, 80, -1, 14, -1, -1, -1, -1, -1,
+ 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
+ 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
+ -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
+ -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
+ 70, 3, 4, 5, 6, 7, 8, 9, -1, -1,
+ 80, -1, 14, -1, -1, -1, -1, -1, 88, -1,
+ -1, -1, -1, 93, -1, -1, 28, -1, 30, 31,
+ -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
+ -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
+ -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
+ 3, 4, 5, 6, 7, 8, 9, -1, 70, -1,
+ -1, 14, -1, -1, -1, -1, -1, -1, 80, -1,
+ -1, -1, -1, -1, -1, 28, 88, 30, 31, -1,
+ -1, 93, -1, 36, -1, -1, -1, -1, 41, -1,
-1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, 54, -1, 56, 57, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, -1, -1, -1, -1, 59, -1, -1, 107,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 62, 63, 64, 65, 66, 67, 68, 69,
+ -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
+ 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
+ 28, -1, 30, 31, -1, 88, -1, -1, 36, -1,
+ 93, -1, -1, 41, -1, -1, -1, 45, -1, -1,
+ -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
+ 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
+ 14, -1, 70, 4, 5, -1, 7, 8, 9, -1,
+ -1, 12, 80, 14, 28, -1, 30, 31, -1, -1,
+ 88, -1, 36, -1, -1, 93, -1, 28, -1, 30,
+ 31, 45, -1, -1, 48, 36, -1, -1, -1, -1,
+ 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
+ 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
+ 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, -1, -1, -1, -1, 111,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 59, -1, -1, 107, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
- 76, 77, 78, 79, 80, 81, 82, 83, 84
+ 68, 69, 70, 71, 72, 73, 74, -1, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
+#line 3 "/usr/lib/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -3825,7 +3842,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
+#line 196 "/usr/lib/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -5364,93 +5381,66 @@ case 319:
case 320:
#line 1435 "parse.y"
{
- tree type = NULL_TREE;
- tree id = yyval.ttype;
+ /* This is a C cast in C++'s `functional' notation
+ using the "implicit int" extension so that:
+ `const (3)' is equivalent to `const int (3)'. */
+ tree type;
- /* This is a C cast in C++'s `functional' notation. */
if (yyvsp[-1].ttype == error_mark_node)
{
yyval.ttype = error_mark_node;
break;
}
-#if 0
- if (yyvsp[-1].ttype == NULL_TREE)
- {
- error ("cannot cast null list to type `%s'",
- IDENTIFIER_POINTER (TYPE_NAME (id)));
- yyval.ttype = error_mark_node;
- break;
- }
-#endif
-#if 0
- /* type is not set! (mrs) */
- if (type == error_mark_node)
- yyval.ttype = error_mark_node;
- else
-#endif
- {
- if (id == ridpointers[(int) RID_CONST])
- type = build_type_variant (integer_type_node, 1, 0);
- else if (id == ridpointers[(int) RID_VOLATILE])
- type = build_type_variant (integer_type_node, 0, 1);
-#if 0
- /* should not be able to get here (mrs) */
- else if (id == ridpointers[(int) RID_FRIEND])
- {
- error ("cannot cast expression to `friend' type");
- yyval.ttype = error_mark_node;
- break;
- }
-#endif
- else my_friendly_abort (79);
- yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
- }
+
+ type = cp_build_qualified_type (integer_type_node,
+ cp_type_qual_from_rid (yyvsp[-3].ttype));
+ yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
;
break;}
case 322:
-#line 1480 "parse.y"
+#line 1453 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
break;}
case 323:
-#line 1484 "parse.y"
+#line 1457 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("static_cast", yyvsp[-4].ftype);
yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
break;}
case 324:
-#line 1488 "parse.y"
+#line 1461 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
break;}
case 325:
-#line 1492 "parse.y"
+#line 1465 "parse.y"
{ tree type = groktypename (yyvsp[-4].ftype.t);
check_for_new_type ("const_cast", yyvsp[-4].ftype);
yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
break;}
case 326:
-#line 1496 "parse.y"
+#line 1469 "parse.y"
{ yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
break;}
case 327:
-#line 1498 "parse.y"
+#line 1471 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
check_for_new_type ("typeid", yyvsp[-1].ftype);
yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
break;}
case 328:
-#line 1502 "parse.y"
+#line 1475 "parse.y"
{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
break;}
case 329:
-#line 1504 "parse.y"
+#line 1477 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 330:
-#line 1506 "parse.y"
+#line 1479 "parse.y"
{
got_scope = NULL_TREE;
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
@@ -5460,102 +5450,102 @@ case 330:
;
break;}
case 331:
-#line 1514 "parse.y"
+#line 1487 "parse.y"
{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
break;}
case 332:
-#line 1516 "parse.y"
+#line 1489 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 333:
-#line 1518 "parse.y"
+#line 1491 "parse.y"
{ yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 334:
-#line 1520 "parse.y"
+#line 1493 "parse.y"
{
yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
;
break;}
case 335:
-#line 1524 "parse.y"
+#line 1497 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 336:
-#line 1526 "parse.y"
+#line 1499 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 337:
-#line 1528 "parse.y"
+#line 1501 "parse.y"
{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
break;}
case 338:
-#line 1530 "parse.y"
+#line 1503 "parse.y"
{ if (processing_template_decl)
yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
else
yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
break;}
case 339:
-#line 1535 "parse.y"
+#line 1508 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 340:
-#line 1537 "parse.y"
+#line 1510 "parse.y"
{ yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 341:
-#line 1539 "parse.y"
+#line 1512 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 342:
-#line 1541 "parse.y"
+#line 1514 "parse.y"
{ yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 343:
-#line 1544 "parse.y"
+#line 1517 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 344:
-#line 1546 "parse.y"
+#line 1519 "parse.y"
{ yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
break;}
case 345:
-#line 1548 "parse.y"
+#line 1521 "parse.y"
{
yyval.ttype = error_mark_node;
;
break;}
case 346:
-#line 1593 "parse.y"
+#line 1566 "parse.y"
{ yyval.itype = 0; ;
break;}
case 347:
-#line 1595 "parse.y"
+#line 1568 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 348:
-#line 1600 "parse.y"
+#line 1573 "parse.y"
{ yyval.itype = 0; ;
break;}
case 349:
-#line 1602 "parse.y"
+#line 1575 "parse.y"
{ got_scope = NULL_TREE; yyval.itype = 1; ;
break;}
case 350:
-#line 1607 "parse.y"
+#line 1580 "parse.y"
{ yyval.ttype = boolean_true_node; ;
break;}
case 351:
-#line 1609 "parse.y"
+#line 1582 "parse.y"
{ yyval.ttype = boolean_false_node; ;
break;}
case 353:
-#line 1616 "parse.y"
+#line 1589 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 354:
-#line 1621 "parse.y"
+#line 1594 "parse.y"
{
if (! current_function_parms_stored)
store_parm_decls ();
@@ -5567,18 +5557,18 @@ case 354:
;
break;}
case 355:
-#line 1634 "parse.y"
+#line 1607 "parse.y"
{ got_object = TREE_TYPE (yyval.ttype); ;
break;}
case 356:
-#line 1636 "parse.y"
+#line 1609 "parse.y"
{
yyval.ttype = build_x_arrow (yyval.ttype);
got_object = TREE_TYPE (yyval.ttype);
;
break;}
case 357:
-#line 1644 "parse.y"
+#line 1617 "parse.y"
{
resume_momentary (yyvsp[-1].itype);
if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
@@ -5586,138 +5576,138 @@ case 357:
;
break;}
case 358:
-#line 1650 "parse.y"
+#line 1623 "parse.y"
{
resume_momentary (yyvsp[-1].itype);
note_list_got_semicolon (yyvsp[-2].ftype.t);
;
break;}
case 359:
-#line 1655 "parse.y"
+#line 1628 "parse.y"
{ resume_momentary (yyvsp[-1].itype); ;
break;}
case 360:
-#line 1657 "parse.y"
+#line 1630 "parse.y"
{
shadow_tag (yyvsp[-1].ftype.t);
note_list_got_semicolon (yyvsp[-1].ftype.t);
;
break;}
case 361:
-#line 1662 "parse.y"
+#line 1635 "parse.y"
{ warning ("empty declaration"); ;
break;}
case 362:
-#line 1664 "parse.y"
+#line 1637 "parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 365:
-#line 1678 "parse.y"
+#line 1651 "parse.y"
{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
NULL_TREE, NULL_TREE); ;
break;}
case 366:
-#line 1681 "parse.y"
+#line 1654 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
NULL_TREE); ;
break;}
case 367:
-#line 1688 "parse.y"
+#line 1661 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 368:
-#line 1691 "parse.y"
+#line 1664 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 369:
-#line 1694 "parse.y"
+#line 1667 "parse.y"
{ yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 370:
-#line 1697 "parse.y"
+#line 1670 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 371:
-#line 1700 "parse.y"
+#line 1673 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 374:
-#line 1716 "parse.y"
+#line 1689 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 375:
-#line 1719 "parse.y"
+#line 1692 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 376:
-#line 1722 "parse.y"
+#line 1695 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 377:
-#line 1725 "parse.y"
+#line 1698 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 378:
-#line 1728 "parse.y"
+#line 1701 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 379:
-#line 1731 "parse.y"
+#line 1704 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 380:
-#line 1738 "parse.y"
+#line 1711 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyval.ttype));
yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
break;}
case 381:
-#line 1743 "parse.y"
+#line 1716 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
break;}
case 382:
-#line 1745 "parse.y"
+#line 1718 "parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 383:
-#line 1750 "parse.y"
+#line 1723 "parse.y"
{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 384:
-#line 1752 "parse.y"
+#line 1725 "parse.y"
{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 385:
-#line 1762 "parse.y"
+#line 1735 "parse.y"
{ yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 386:
-#line 1764 "parse.y"
+#line 1737 "parse.y"
{ yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
break;}
case 387:
-#line 1766 "parse.y"
+#line 1739 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 388:
-#line 1769 "parse.y"
+#line 1742 "parse.y"
{ if (extra_warnings && TREE_STATIC (yyval.ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
@@ -5725,61 +5715,61 @@ case 388:
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 389:
-#line 1775 "parse.y"
+#line 1748 "parse.y"
{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 390:
-#line 1777 "parse.y"
+#line 1750 "parse.y"
{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 391:
-#line 1788 "parse.y"
+#line 1761 "parse.y"
{ yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 392:
-#line 1791 "parse.y"
+#line 1764 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 393:
-#line 1794 "parse.y"
+#line 1767 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 394:
-#line 1797 "parse.y"
+#line 1770 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
break;}
case 395:
-#line 1803 "parse.y"
+#line 1776 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
case 396:
-#line 1805 "parse.y"
+#line 1778 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
break;}
case 398:
-#line 1815 "parse.y"
+#line 1788 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
case 399:
-#line 1817 "parse.y"
+#line 1790 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
case 400:
-#line 1819 "parse.y"
+#line 1792 "parse.y"
{ yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
case 401:
-#line 1822 "parse.y"
+#line 1795 "parse.y"
{ yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = 0; ;
break;}
case 402:
-#line 1825 "parse.y"
+#line 1798 "parse.y"
{ tree type = TREE_TYPE (yyvsp[-1].ttype);
yyval.ftype.new_type_flag = 0;
@@ -5796,7 +5786,7 @@ case 402:
;
break;}
case 403:
-#line 1840 "parse.y"
+#line 1813 "parse.y"
{ tree type = groktypename (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = 0;
@@ -5813,200 +5803,200 @@ case 403:
;
break;}
case 404:
-#line 1860 "parse.y"
+#line 1833 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
case 405:
-#line 1862 "parse.y"
+#line 1835 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
break;}
case 408:
-#line 1869 "parse.y"
+#line 1842 "parse.y"
{ check_multiple_declarators (); ;
break;}
case 410:
-#line 1875 "parse.y"
+#line 1848 "parse.y"
{ check_multiple_declarators (); ;
break;}
case 412:
-#line 1881 "parse.y"
+#line 1854 "parse.y"
{ check_multiple_declarators (); ;
break;}
case 413:
-#line 1886 "parse.y"
+#line 1859 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 414:
-#line 1888 "parse.y"
+#line 1861 "parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 415:
-#line 1893 "parse.y"
+#line 1866 "parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes); ;
break;}
case 416:
-#line 1897 "parse.y"
+#line 1870 "parse.y"
{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
break;}
case 417:
-#line 1899 "parse.y"
+#line 1872 "parse.y"
{ yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes);
cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
break;}
case 418:
-#line 1912 "parse.y"
+#line 1885 "parse.y"
{ yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
yyvsp[-1].ttype, 1, &yyval.ttype); ;
break;}
case 419:
-#line 1917 "parse.y"
+#line 1890 "parse.y"
{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
LOOKUP_ONLYCONVERTING);
yyval.itype = yyvsp[-2].itype; ;
break;}
case 420:
-#line 1921 "parse.y"
+#line 1894 "parse.y"
{ tree d;
yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
break;}
case 421:
-#line 1928 "parse.y"
+#line 1901 "parse.y"
{ yyval.itype = yyvsp[0].itype; ;
break;}
case 422:
-#line 1932 "parse.y"
+#line 1905 "parse.y"
{ yyval.itype = yyvsp[0].itype; ;
break;}
case 423:
-#line 1937 "parse.y"
+#line 1910 "parse.y"
{ /* Set things up as initdcl0_innards expects. */
yyvsp[0].ttype = yyvsp[-1].ttype;
yyvsp[-1].ttype = NULL_TREE; ;
break;}
case 424:
-#line 1941 "parse.y"
+#line 1914 "parse.y"
{;
break;}
case 425:
-#line 1943 "parse.y"
+#line 1916 "parse.y"
{ tree d;
parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
break;}
case 426:
-#line 1952 "parse.y"
+#line 1925 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 427:
-#line 1954 "parse.y"
+#line 1927 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 428:
-#line 1959 "parse.y"
+#line 1932 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 429:
-#line 1961 "parse.y"
+#line 1934 "parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 430:
-#line 1966 "parse.y"
+#line 1939 "parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 431:
-#line 1971 "parse.y"
+#line 1944 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 432:
-#line 1973 "parse.y"
+#line 1946 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 433:
-#line 1978 "parse.y"
+#line 1951 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 434:
-#line 1980 "parse.y"
+#line 1953 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 435:
-#line 1982 "parse.y"
+#line 1955 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 436:
-#line 1984 "parse.y"
+#line 1957 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
case 437:
-#line 1986 "parse.y"
+#line 1959 "parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 442:
-#line 2002 "parse.y"
+#line 1975 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 443:
-#line 2004 "parse.y"
+#line 1977 "parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 444:
-#line 2009 "parse.y"
+#line 1982 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 445:
-#line 2011 "parse.y"
+#line 1984 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 447:
-#line 2019 "parse.y"
+#line 1992 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
case 448:
-#line 2022 "parse.y"
+#line 1995 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
case 449:
-#line 2025 "parse.y"
+#line 1998 "parse.y"
{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
break;}
case 450:
-#line 2028 "parse.y"
+#line 2001 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 451:
-#line 2035 "parse.y"
+#line 2008 "parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
break;}
case 452:
-#line 2037 "parse.y"
+#line 2010 "parse.y"
{ yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 453:
-#line 2040 "parse.y"
+#line 2013 "parse.y"
{ yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 454:
-#line 2042 "parse.y"
+#line 2015 "parse.y"
{ yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 455:
-#line 2044 "parse.y"
+#line 2017 "parse.y"
{ yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 456:
-#line 2049 "parse.y"
+#line 2022 "parse.y"
{ start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
NULL_TREE, 1);
reinit_parse_for_function (); ;
break;}
case 457:
-#line 2055 "parse.y"
+#line 2028 "parse.y"
{
int nested = (hack_decl_function_context
(current_function_decl) != NULL_TREE);
@@ -6015,37 +6005,37 @@ case 457:
;
break;}
case 458:
-#line 2062 "parse.y"
+#line 2035 "parse.y"
{ process_next_inline (yyvsp[-2].ttype); ;
break;}
case 459:
-#line 2064 "parse.y"
+#line 2037 "parse.y"
{ process_next_inline (yyvsp[-2].ttype); ;
break;}
case 462:
-#line 2076 "parse.y"
+#line 2049 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 463:
-#line 2078 "parse.y"
+#line 2051 "parse.y"
{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
break;}
case 465:
-#line 2083 "parse.y"
+#line 2056 "parse.y"
{ do_pending_defargs (); ;
break;}
case 466:
-#line 2085 "parse.y"
+#line 2058 "parse.y"
{ do_pending_defargs (); ;
break;}
case 467:
-#line 2090 "parse.y"
+#line 2063 "parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = current_enum_type;
current_enum_type = start_enum (yyvsp[-1].ttype); ;
break;}
case 468:
-#line 2094 "parse.y"
+#line 2067 "parse.y"
{ TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
yyval.ftype.t = finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
@@ -6054,19 +6044,19 @@ case 468:
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
case 469:
-#line 2101 "parse.y"
+#line 2074 "parse.y"
{ yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
yyval.ftype.new_type_flag = 1;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
case 470:
-#line 2105 "parse.y"
+#line 2078 "parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = current_enum_type;
current_enum_type = start_enum (make_anon_name ()); ;
break;}
case 471:
-#line 2109 "parse.y"
+#line 2082 "parse.y"
{ TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
yyval.ftype.t = finish_enum (current_enum_type);
yyval.ftype.new_type_flag = 1;
@@ -6075,30 +6065,30 @@ case 471:
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
case 472:
-#line 2116 "parse.y"
+#line 2089 "parse.y"
{ yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
yyval.ftype.new_type_flag = 1;
check_for_missing_semicolon (yyval.ftype.t); ;
break;}
case 473:
-#line 2120 "parse.y"
+#line 2093 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
case 474:
-#line 2123 "parse.y"
+#line 2096 "parse.y"
{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
yyval.ftype.new_type_flag = 0; ;
break;}
case 475:
-#line 2126 "parse.y"
+#line 2099 "parse.y"
{ yyval.ftype.t = yyvsp[0].ttype;
yyval.ftype.new_type_flag = 0;
if (!processing_template_decl)
cp_pedwarn ("using `typename' outside of template"); ;
break;}
case 476:
-#line 2133 "parse.y"
+#line 2106 "parse.y"
{
int semi;
@@ -6110,17 +6100,17 @@ case 476:
;
break;}
case 477:
-#line 2143 "parse.y"
+#line 2116 "parse.y"
{ finish_default_args (); ;
break;}
case 478:
-#line 2145 "parse.y"
+#line 2118 "parse.y"
{ yyval.ftype.t = yyvsp[-3].ttype;
yyval.ftype.new_type_flag = 1;
begin_inline_definitions (); ;
break;}
case 479:
-#line 2149 "parse.y"
+#line 2122 "parse.y"
{
yyval.ftype.new_type_flag = 0;
if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
@@ -6140,88 +6130,88 @@ case 479:
;
break;}
case 483:
-#line 2176 "parse.y"
+#line 2149 "parse.y"
{ if (pedantic && !in_system_header)
pedwarn ("comma at end of enumerator list"); ;
break;}
case 485:
-#line 2183 "parse.y"
+#line 2156 "parse.y"
{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
case 486:
-#line 2185 "parse.y"
+#line 2158 "parse.y"
{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
case 487:
-#line 2187 "parse.y"
+#line 2160 "parse.y"
{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
break;}
case 488:
-#line 2189 "parse.y"
+#line 2162 "parse.y"
{ error ("no body nor ';' separates two class, struct or union declarations"); ;
break;}
case 489:
-#line 2191 "parse.y"
+#line 2164 "parse.y"
{ yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 490:
-#line 2196 "parse.y"
+#line 2169 "parse.y"
{
current_aggr = yyvsp[-1].ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 491:
-#line 2204 "parse.y"
+#line 2177 "parse.y"
{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 492:
-#line 2206 "parse.y"
+#line 2179 "parse.y"
{ yyungetc ('{', 1); ;
break;}
case 493:
-#line 2208 "parse.y"
+#line 2181 "parse.y"
{ yyungetc (':', 1); ;
break;}
case 494:
-#line 2213 "parse.y"
+#line 2186 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 495:
-#line 2218 "parse.y"
+#line 2191 "parse.y"
{
current_aggr = yyvsp[-3].ttype;
yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 496:
-#line 2223 "parse.y"
+#line 2196 "parse.y"
{
current_aggr = yyvsp[-2].ttype;
yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
;
break;}
case 497:
-#line 2228 "parse.y"
+#line 2201 "parse.y"
{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 498:
-#line 2230 "parse.y"
+#line 2203 "parse.y"
{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 499:
-#line 2235 "parse.y"
+#line 2208 "parse.y"
{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
break;}
case 500:
-#line 2237 "parse.y"
+#line 2210 "parse.y"
{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
break;}
case 501:
-#line 2239 "parse.y"
+#line 2214 "parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
if (yyvsp[0].ttype)
@@ -6229,9 +6219,14 @@ case 501:
;
break;}
case 502:
-#line 2245 "parse.y"
+#line 2220 "parse.y"
+{ push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype)); ;
+ break;}
+case 503:
+#line 2222 "parse.y"
{
- yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
+ pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype));
+ yyval.ttype = TREE_TYPE (yyvsp[-2].ttype);
if (TREE_INT_CST_LOW (current_aggr) == union_type
&& TREE_CODE (yyval.ttype) != UNION_TYPE)
cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
@@ -6241,49 +6236,49 @@ case 502:
if (yyvsp[0].ttype)
{
maybe_process_partial_specialization (yyval.ttype);
- xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
+ xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype);
}
;
break;}
-case 503:
-#line 2263 "parse.y"
+case 504:
+#line 2241 "parse.y"
{ yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
yyungetc ('{', 1); ;
break;}
-case 506:
-#line 2274 "parse.y"
+case 507:
+#line 2252 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 507:
-#line 2276 "parse.y"
+case 508:
+#line 2254 "parse.y"
{ yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
break;}
-case 508:
-#line 2278 "parse.y"
+case 509:
+#line 2256 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 510:
-#line 2284 "parse.y"
+case 511:
+#line 2262 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 511:
-#line 2289 "parse.y"
+case 512:
+#line 2267 "parse.y"
{ yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
current_aggr
== signature_type_node); ;
break;}
-case 512:
-#line 2293 "parse.y"
+case 513:
+#line 2271 "parse.y"
{ yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
current_aggr
== signature_type_node); ;
break;}
-case 513:
-#line 2300 "parse.y"
+case 514:
+#line 2278 "parse.y"
{ if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
break;}
-case 515:
-#line 2303 "parse.y"
+case 516:
+#line 2281 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6305,8 +6300,8 @@ case 515:
}
;
break;}
-case 516:
-#line 2324 "parse.y"
+case 517:
+#line 2302 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6328,14 +6323,14 @@ case 516:
}
;
break;}
-case 518:
-#line 2349 "parse.y"
+case 519:
+#line 2327 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
cp_error ("`%D' access", yyvsp[-1].ttype);
yyval.ttype = access_default_virtual_node; ;
break;}
-case 519:
-#line 2353 "parse.y"
+case 520:
+#line 2331 "parse.y"
{
if (yyvsp[-2].ttype != access_default_virtual_node)
error ("multiple access specifiers");
@@ -6347,8 +6342,8 @@ case 519:
yyval.ttype = access_private_virtual_node;
;
break;}
-case 520:
-#line 2364 "parse.y"
+case 521:
+#line 2342 "parse.y"
{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
cp_error ("`%D' access", yyvsp[-1].ttype);
else if (yyval.ttype == access_public_node)
@@ -6361,18 +6356,18 @@ case 520:
error ("multiple `virtual' specifiers");
;
break;}
-case 521:
-#line 2379 "parse.y"
+case 522:
+#line 2357 "parse.y"
{ yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
break;}
-case 522:
-#line 2384 "parse.y"
+case 523:
+#line 2362 "parse.y"
{
finish_member_declaration (build_self_reference ());
;
break;}
-case 527:
-#line 2398 "parse.y"
+case 528:
+#line 2376 "parse.y"
{
if (current_aggr == signature_type_node)
{
@@ -6383,50 +6378,50 @@ case 527:
current_access_specifier = yyvsp[-1].ttype;
;
break;}
-case 528:
-#line 2413 "parse.y"
+case 529:
+#line 2391 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
-case 529:
-#line 2417 "parse.y"
+case 530:
+#line 2395 "parse.y"
{
finish_member_declaration (yyvsp[0].ttype);
;
break;}
-case 531:
-#line 2425 "parse.y"
+case 532:
+#line 2403 "parse.y"
{ error ("missing ';' before right brace");
yyungetc ('}', 0); ;
break;}
-case 532:
-#line 2430 "parse.y"
-{ yyval.ttype = finish_method (yyval.ttype); ;
- break;}
case 533:
-#line 2432 "parse.y"
+#line 2408 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 534:
-#line 2434 "parse.y"
+#line 2410 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 535:
-#line 2436 "parse.y"
+#line 2412 "parse.y"
{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 536:
-#line 2438 "parse.y"
-{ yyval.ttype = NULL_TREE; ;
+#line 2414 "parse.y"
+{ yyval.ttype = finish_method (yyval.ttype); ;
break;}
case 537:
-#line 2440 "parse.y"
+#line 2416 "parse.y"
+{ yyval.ttype = NULL_TREE; ;
+ break;}
+case 538:
+#line 2418 "parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
-case 538:
-#line 2443 "parse.y"
+case 539:
+#line 2421 "parse.y"
{
if (yyvsp[0].ttype)
yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6437,15 +6432,15 @@ case 538:
finish_template_decl (yyvsp[-1].ttype);
;
break;}
-case 539:
-#line 2453 "parse.y"
+case 540:
+#line 2431 "parse.y"
{
yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
finish_template_decl (yyvsp[-2].ttype);
;
break;}
-case 540:
-#line 2464 "parse.y"
+case 541:
+#line 2442 "parse.y"
{
/* Most of the productions for component_decl only
allow the creation of one new member, so we call
@@ -6467,54 +6462,54 @@ case 540:
yyval.ttype = NULL_TREE;
;
break;}
-case 541:
-#line 2485 "parse.y"
+case 542:
+#line 2463 "parse.y"
{
if (!yyvsp[0].itype)
grok_x_components (yyvsp[-1].ttype);
yyval.ttype = NULL_TREE;
;
break;}
-case 542:
-#line 2491 "parse.y"
+case 543:
+#line 2469 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
break;}
-case 543:
-#line 2494 "parse.y"
+case 544:
+#line 2472 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
break;}
-case 544:
-#line 2497 "parse.y"
+case 545:
+#line 2475 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 545:
-#line 2499 "parse.y"
+case 546:
+#line 2477 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 546:
-#line 2510 "parse.y"
+case 547:
+#line 2488 "parse.y"
{ tree specs, attrs;
split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, attrs)); ;
break;}
-case 547:
-#line 2515 "parse.y"
+case 548:
+#line 2493 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
break;}
-case 548:
-#line 2518 "parse.y"
+case 549:
+#line 2496 "parse.y"
{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
break;}
-case 549:
-#line 2524 "parse.y"
+case 550:
+#line 2502 "parse.y"
{ yyval.itype = 0; ;
break;}
-case 550:
-#line 2526 "parse.y"
+case 551:
+#line 2504 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6522,8 +6517,8 @@ case 550:
yyval.itype = 1;
;
break;}
-case 551:
-#line 2533 "parse.y"
+case 552:
+#line 2511 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6532,12 +6527,12 @@ case 551:
yyval.itype = 2;
;
break;}
-case 552:
-#line 2544 "parse.y"
+case 553:
+#line 2522 "parse.y"
{ yyval.itype = 0; ;
break;}
-case 553:
-#line 2546 "parse.y"
+case 554:
+#line 2524 "parse.y"
{
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
@@ -6545,8 +6540,8 @@ case 553:
yyval.itype = 1;
;
break;}
-case 554:
-#line 2553 "parse.y"
+case 555:
+#line 2531 "parse.y"
{
check_multiple_declarators ();
if (PROCESSING_REAL_TEMPLATE_DECL_P ())
@@ -6555,103 +6550,103 @@ case 554:
yyval.itype = 2;
;
break;}
-case 559:
-#line 2574 "parse.y"
+case 560:
+#line 2552 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
-case 560:
-#line 2580 "parse.y"
+case 561:
+#line 2558 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 561:
-#line 2589 "parse.y"
+case 562:
+#line 2567 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
-case 562:
-#line 2595 "parse.y"
+case 563:
+#line 2573 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
-case 563:
-#line 2601 "parse.y"
+case 564:
+#line 2579 "parse.y"
{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-4].ttype = current_declspecs;
yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 564:
-#line 2607 "parse.y"
+case 565:
+#line 2585 "parse.y"
{ split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
&prefix_attributes);
yyvsp[-3].ttype = current_declspecs;
yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 565:
-#line 2616 "parse.y"
+case 566:
+#line 2594 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
-case 566:
-#line 2619 "parse.y"
+case 567:
+#line 2597 "parse.y"
{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 567:
-#line 2625 "parse.y"
+case 568:
+#line 2603 "parse.y"
{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
break;}
-case 568:
-#line 2628 "parse.y"
+case 569:
+#line 2606 "parse.y"
{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 569:
-#line 2631 "parse.y"
+case 570:
+#line 2609 "parse.y"
{ yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
-case 571:
-#line 2642 "parse.y"
+case 572:
+#line 2620 "parse.y"
{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 572:
-#line 2647 "parse.y"
+case 573:
+#line 2625 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
break;}
-case 573:
-#line 2649 "parse.y"
+case 574:
+#line 2627 "parse.y"
{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
break;}
-case 574:
-#line 2655 "parse.y"
+case 575:
+#line 2633 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 575:
-#line 2658 "parse.y"
+case 576:
+#line 2636 "parse.y"
{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
-case 576:
-#line 2665 "parse.y"
+case 577:
+#line 2643 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
@@ -6660,72 +6655,72 @@ case 576:
yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
;
break;}
-case 577:
-#line 2676 "parse.y"
+case 578:
+#line 2654 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 578:
-#line 2678 "parse.y"
+case 579:
+#line 2656 "parse.y"
{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
-case 579:
-#line 2683 "parse.y"
+case 580:
+#line 2661 "parse.y"
{ yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
-case 580:
-#line 2686 "parse.y"
+case 581:
+#line 2664 "parse.y"
{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 581:
-#line 2695 "parse.y"
-{ yyval.itype = suspend_momentary (); ;
- break;}
case 582:
-#line 2700 "parse.y"
-{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
+#line 2673 "parse.y"
+{ yyval.itype = suspend_momentary (); ;
break;}
case 583:
-#line 2706 "parse.y"
-{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
+#line 2678 "parse.y"
+{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
break;}
case 584:
-#line 2708 "parse.y"
+#line 2684 "parse.y"
{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 585:
-#line 2710 "parse.y"
-{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
+#line 2686 "parse.y"
+{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 586:
-#line 2712 "parse.y"
-{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
+#line 2688 "parse.y"
+{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
break;}
case 587:
-#line 2719 "parse.y"
-{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
+#line 2690 "parse.y"
+{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
break;}
case 588:
-#line 2721 "parse.y"
-{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
+#line 2697 "parse.y"
+{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 589:
-#line 2723 "parse.y"
-{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
+#line 2699 "parse.y"
+{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 590:
-#line 2725 "parse.y"
-{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
+#line 2701 "parse.y"
+{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 591:
-#line 2727 "parse.y"
+#line 2703 "parse.y"
+{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
+ break;}
+case 592:
+#line 2705 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 593:
-#line 2735 "parse.y"
+case 594:
+#line 2713 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
{
@@ -6743,8 +6738,8 @@ case 593:
yyval.ttype = yyvsp[0].ttype;
;
break;}
-case 594:
-#line 2752 "parse.y"
+case 595:
+#line 2730 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -6753,161 +6748,161 @@ case 594:
got_scope = NULL_TREE;
;
break;}
-case 597:
-#line 2765 "parse.y"
+case 598:
+#line 2743 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 598:
-#line 2770 "parse.y"
+case 599:
+#line 2748 "parse.y"
{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
break;}
-case 599:
-#line 2775 "parse.y"
+case 600:
+#line 2753 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 600:
-#line 2777 "parse.y"
+case 601:
+#line 2755 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 601:
-#line 2779 "parse.y"
+case 602:
+#line 2757 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
-case 602:
-#line 2781 "parse.y"
+case 603:
+#line 2759 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 603:
-#line 2783 "parse.y"
+case 604:
+#line 2761 "parse.y"
{ push_nested_class (yyvsp[-1].ttype, 3);
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
break;}
-case 606:
-#line 2795 "parse.y"
+case 607:
+#line 2773 "parse.y"
{
/* Provide support for '(' attributes '*' declarator ')'
etc */
yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
-case 607:
-#line 2804 "parse.y"
+case 608:
+#line 2782 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 608:
-#line 2806 "parse.y"
+case 609:
+#line 2784 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 609:
-#line 2808 "parse.y"
+case 610:
+#line 2786 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 610:
-#line 2810 "parse.y"
+case 611:
+#line 2788 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 611:
-#line 2812 "parse.y"
+case 612:
+#line 2790 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 613:
-#line 2820 "parse.y"
+case 614:
+#line 2798 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 614:
-#line 2822 "parse.y"
+case 615:
+#line 2800 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 615:
-#line 2824 "parse.y"
+case 616:
+#line 2802 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 616:
-#line 2826 "parse.y"
+case 617:
+#line 2804 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 617:
-#line 2828 "parse.y"
+case 618:
+#line 2806 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 619:
-#line 2836 "parse.y"
+case 620:
+#line 2814 "parse.y"
{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 620:
-#line 2838 "parse.y"
+case 621:
+#line 2816 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 621:
-#line 2840 "parse.y"
+case 622:
+#line 2818 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 622:
-#line 2842 "parse.y"
+case 623:
+#line 2820 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
-case 623:
-#line 2844 "parse.y"
+case 624:
+#line 2822 "parse.y"
{ enter_scope_of (yyvsp[0].ttype); ;
break;}
-case 624:
-#line 2846 "parse.y"
+case 625:
+#line 2824 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
enter_scope_of (yyval.ttype);
;
break;}
-case 625:
-#line 2854 "parse.y"
+case 626:
+#line 2832 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 626:
-#line 2857 "parse.y"
+case 627:
+#line 2835 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 627:
-#line 2863 "parse.y"
+case 628:
+#line 2841 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 628:
-#line 2866 "parse.y"
+case 629:
+#line 2844 "parse.y"
{ got_scope = NULL_TREE;
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 630:
-#line 2873 "parse.y"
+case 631:
+#line 2851 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 631:
-#line 2878 "parse.y"
+case 632:
+#line 2856 "parse.y"
{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
-case 632:
-#line 2880 "parse.y"
+case 633:
+#line 2858 "parse.y"
{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
break;}
-case 633:
-#line 2882 "parse.y"
+case 634:
+#line 2860 "parse.y"
{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 638:
-#line 2893 "parse.y"
+case 639:
+#line 2871 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 639:
-#line 2895 "parse.y"
+case 640:
+#line 2873 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 640:
-#line 2902 "parse.y"
+case 641:
+#line 2880 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
{
@@ -6922,32 +6917,32 @@ case 640:
got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
;
break;}
-case 641:
-#line 2916 "parse.y"
+case 642:
+#line 2894 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
;
break;}
-case 642:
-#line 2922 "parse.y"
+case 643:
+#line 2900 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
-case 643:
-#line 2928 "parse.y"
+case 644:
+#line 2906 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
break;}
-case 645:
-#line 2944 "parse.y"
+case 646:
+#line 2922 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 646:
-#line 2949 "parse.y"
+case 647:
+#line 2927 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -6961,27 +6956,27 @@ case 646:
}
;
break;}
-case 647:
-#line 2962 "parse.y"
+case 648:
+#line 2940 "parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
break;}
-case 648:
-#line 2964 "parse.y"
+case 649:
+#line 2942 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 649:
-#line 2966 "parse.y"
+case 650:
+#line 2944 "parse.y"
{ yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
-case 650:
-#line 2971 "parse.y"
+case 651:
+#line 2949 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
;
break;}
-case 651:
-#line 2976 "parse.y"
+case 652:
+#line 2954 "parse.y"
{
if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -6995,16 +6990,16 @@ case 651:
}
;
break;}
-case 652:
-#line 2989 "parse.y"
+case 653:
+#line 2967 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
-case 653:
-#line 2991 "parse.y"
+case 654:
+#line 2969 "parse.y"
{ got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 654:
-#line 2996 "parse.y"
+case 655:
+#line 2974 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyvsp[-1].ttype = lastiddecl;
@@ -7017,32 +7012,32 @@ case 654:
cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
;
break;}
-case 655:
-#line 3008 "parse.y"
+case 656:
+#line 2986 "parse.y"
{
if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
;
break;}
-case 656:
-#line 3014 "parse.y"
+case 657:
+#line 2992 "parse.y"
{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
break;}
-case 659:
-#line 3018 "parse.y"
+case 660:
+#line 2996 "parse.y"
{
if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
yyval.ttype = lastiddecl;
got_scope = yyval.ttype;
;
break;}
-case 660:
-#line 3027 "parse.y"
+case 661:
+#line 3005 "parse.y"
{ yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 661:
-#line 3032 "parse.y"
+case 662:
+#line 3010 "parse.y"
{
if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
@@ -7051,149 +7046,149 @@ case 661:
got_scope = NULL_TREE;
;
break;}
-case 663:
-#line 3041 "parse.y"
+case 664:
+#line 3019 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 664:
-#line 3046 "parse.y"
+case 665:
+#line 3024 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
-case 665:
-#line 3048 "parse.y"
+case 666:
+#line 3026 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
break;}
-case 666:
-#line 3055 "parse.y"
+case 667:
+#line 3033 "parse.y"
{ got_scope = void_type_node; ;
break;}
-case 667:
-#line 3061 "parse.y"
+case 668:
+#line 3039 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 668:
-#line 3063 "parse.y"
+case 669:
+#line 3041 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
-case 669:
-#line 3065 "parse.y"
+case 670:
+#line 3043 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 670:
-#line 3067 "parse.y"
+case 671:
+#line 3045 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
-case 671:
-#line 3069 "parse.y"
+case 672:
+#line 3047 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
-case 672:
-#line 3073 "parse.y"
+case 673:
+#line 3051 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 674:
-#line 3082 "parse.y"
+case 675:
+#line 3060 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
-case 675:
-#line 3084 "parse.y"
+case 676:
+#line 3062 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 676:
-#line 3090 "parse.y"
+case 677:
+#line 3068 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 677:
-#line 3092 "parse.y"
+case 678:
+#line 3070 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 678:
-#line 3094 "parse.y"
+case 679:
+#line 3072 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
-case 679:
-#line 3096 "parse.y"
+case 680:
+#line 3074 "parse.y"
{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
break;}
-case 680:
-#line 3098 "parse.y"
+case 681:
+#line 3076 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
-case 681:
-#line 3100 "parse.y"
+case 682:
+#line 3078 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
break;}
-case 682:
-#line 3102 "parse.y"
+case 683:
+#line 3080 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
break;}
-case 683:
-#line 3104 "parse.y"
+case 684:
+#line 3082 "parse.y"
{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
break;}
-case 684:
-#line 3106 "parse.y"
+case 685:
+#line 3084 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
;
break;}
-case 685:
-#line 3110 "parse.y"
+case 686:
+#line 3088 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 687:
-#line 3119 "parse.y"
+case 688:
+#line 3097 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 689:
-#line 3123 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
case 690:
-#line 3125 "parse.y"
-{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
+#line 3101 "parse.y"
+{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 691:
-#line 3127 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
+#line 3103 "parse.y"
+{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 692:
-#line 3129 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
+#line 3105 "parse.y"
+{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 693:
-#line 3131 "parse.y"
-{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
+#line 3107 "parse.y"
+{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
break;}
case 694:
-#line 3133 "parse.y"
-{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
+#line 3109 "parse.y"
+{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 695:
-#line 3135 "parse.y"
+#line 3111 "parse.y"
{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 696:
-#line 3137 "parse.y"
-{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
+#line 3113 "parse.y"
+{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 697:
-#line 3139 "parse.y"
+#line 3115 "parse.y"
+{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
+ break;}
+case 698:
+#line 3117 "parse.y"
{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
-case 704:
-#line 3162 "parse.y"
+case 705:
+#line 3140 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids label declarations"); ;
break;}
-case 707:
-#line 3173 "parse.y"
+case 708:
+#line 3151 "parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
@@ -7203,226 +7198,226 @@ case 707:
}
;
break;}
-case 708:
-#line 3187 "parse.y"
+case 709:
+#line 3165 "parse.y"
{;
break;}
-case 710:
-#line 3193 "parse.y"
+case 711:
+#line 3171 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
-case 711:
-#line 3195 "parse.y"
+case 712:
+#line 3173 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
-case 712:
-#line 3200 "parse.y"
+case 713:
+#line 3178 "parse.y"
{
yyval.ttype = begin_if_stmt ();
cond_stmt_keyword = "if";
;
break;}
-case 713:
-#line 3205 "parse.y"
+case 714:
+#line 3183 "parse.y"
{ finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
-case 714:
-#line 3207 "parse.y"
+case 715:
+#line 3185 "parse.y"
{ yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
break;}
-case 716:
-#line 3212 "parse.y"
+case 717:
+#line 3190 "parse.y"
{ yyval.ttype = begin_compound_stmt (0); ;
break;}
-case 717:
-#line 3214 "parse.y"
+case 718:
+#line 3192 "parse.y"
{ yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
break;}
-case 718:
-#line 3219 "parse.y"
+case 719:
+#line 3197 "parse.y"
{;
break;}
-case 720:
-#line 3225 "parse.y"
+case 721:
+#line 3203 "parse.y"
{ finish_stmt (); ;
break;}
-case 721:
-#line 3227 "parse.y"
+case 722:
+#line 3205 "parse.y"
{ finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
-case 722:
-#line 3229 "parse.y"
+case 723:
+#line 3207 "parse.y"
{ begin_else_clause (); ;
break;}
-case 723:
-#line 3231 "parse.y"
+case 724:
+#line 3209 "parse.y"
{
finish_else_clause (yyvsp[-3].ttype);
finish_if_stmt ();
;
break;}
-case 724:
-#line 3236 "parse.y"
+case 725:
+#line 3214 "parse.y"
{ finish_if_stmt (); ;
break;}
-case 725:
-#line 3238 "parse.y"
+case 726:
+#line 3216 "parse.y"
{
yyval.ttype = begin_while_stmt ();
cond_stmt_keyword = "while";
;
break;}
-case 726:
-#line 3243 "parse.y"
+case 727:
+#line 3221 "parse.y"
{ finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
-case 727:
-#line 3245 "parse.y"
+case 728:
+#line 3223 "parse.y"
{ finish_while_stmt (yyvsp[-3].ttype); ;
break;}
-case 728:
-#line 3247 "parse.y"
+case 729:
+#line 3225 "parse.y"
{ yyval.ttype = begin_do_stmt (); ;
break;}
-case 729:
-#line 3249 "parse.y"
+case 730:
+#line 3227 "parse.y"
{
finish_do_body (yyvsp[-2].ttype);
cond_stmt_keyword = "do";
;
break;}
-case 730:
-#line 3254 "parse.y"
+case 731:
+#line 3232 "parse.y"
{ finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
-case 731:
-#line 3256 "parse.y"
+case 732:
+#line 3234 "parse.y"
{ yyval.ttype = begin_for_stmt (); ;
break;}
-case 732:
-#line 3258 "parse.y"
+case 733:
+#line 3236 "parse.y"
{ finish_for_init_stmt (yyvsp[-2].ttype); ;
break;}
-case 733:
-#line 3260 "parse.y"
+case 734:
+#line 3238 "parse.y"
{ finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
break;}
-case 734:
-#line 3262 "parse.y"
+case 735:
+#line 3240 "parse.y"
{ finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
break;}
-case 735:
-#line 3264 "parse.y"
+case 736:
+#line 3242 "parse.y"
{ finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
break;}
-case 736:
-#line 3266 "parse.y"
+case 737:
+#line 3244 "parse.y"
{ begin_switch_stmt (); ;
break;}
-case 737:
-#line 3268 "parse.y"
+case 738:
+#line 3246 "parse.y"
{ yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
break;}
-case 738:
-#line 3270 "parse.y"
+case 739:
+#line 3248 "parse.y"
{ finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 739:
-#line 3272 "parse.y"
+case 740:
+#line 3250 "parse.y"
{ finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
break;}
-case 741:
-#line 3275 "parse.y"
+case 742:
+#line 3253 "parse.y"
{ finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
-case 743:
-#line 3278 "parse.y"
+case 744:
+#line 3256 "parse.y"
{ finish_case_label (NULL_TREE, NULL_TREE); ;
break;}
-case 745:
-#line 3281 "parse.y"
+case 746:
+#line 3259 "parse.y"
{ finish_break_stmt (); ;
break;}
-case 746:
-#line 3283 "parse.y"
+case 747:
+#line 3261 "parse.y"
{ finish_continue_stmt (); ;
break;}
-case 747:
-#line 3285 "parse.y"
+case 748:
+#line 3263 "parse.y"
{ finish_return_stmt (NULL_TREE); ;
break;}
-case 748:
-#line 3287 "parse.y"
+case 749:
+#line 3265 "parse.y"
{ finish_return_stmt (yyvsp[-1].ttype); ;
break;}
-case 749:
-#line 3289 "parse.y"
+case 750:
+#line 3267 "parse.y"
{
finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
NULL_TREE);
;
break;}
-case 750:
-#line 3295 "parse.y"
+case 751:
+#line 3273 "parse.y"
{
finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
NULL_TREE);
;
break;}
-case 751:
-#line 3301 "parse.y"
+case 752:
+#line 3279 "parse.y"
{ finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
break;}
-case 752:
-#line 3305 "parse.y"
+case 753:
+#line 3283 "parse.y"
{ finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
-case 753:
-#line 3307 "parse.y"
+case 754:
+#line 3285 "parse.y"
{
if (pedantic)
pedwarn ("ANSI C++ forbids computed gotos");
finish_goto_stmt (yyvsp[-1].ttype);
;
break;}
-case 754:
-#line 3313 "parse.y"
+case 755:
+#line 3291 "parse.y"
{ finish_goto_stmt (yyvsp[-1].ttype); ;
break;}
-case 755:
-#line 3315 "parse.y"
+case 756:
+#line 3293 "parse.y"
{ finish_stmt (); ;
break;}
-case 756:
-#line 3317 "parse.y"
+case 757:
+#line 3295 "parse.y"
{ error ("label must be followed by statement");
yyungetc ('}', 0);
finish_stmt (); ;
break;}
-case 757:
-#line 3321 "parse.y"
+case 758:
+#line 3299 "parse.y"
{ finish_stmt (); ;
break;}
-case 760:
-#line 3325 "parse.y"
+case 761:
+#line 3303 "parse.y"
{ do_local_using_decl (yyvsp[0].ttype); ;
break;}
-case 762:
-#line 3331 "parse.y"
+case 763:
+#line 3309 "parse.y"
{
if (! current_function_parms_stored)
store_parm_decls ();
expand_start_early_try_stmts ();
;
break;}
-case 763:
-#line 3337 "parse.y"
+case 764:
+#line 3315 "parse.y"
{
expand_start_all_catch ();
;
break;}
-case 764:
-#line 3341 "parse.y"
+case 765:
+#line 3319 "parse.y"
{
int nested = (hack_decl_function_context
(current_function_decl) != NULL_TREE);
@@ -7430,42 +7425,42 @@ case 764:
finish_function (lineno, (int)yyvsp[-3].itype, nested);
;
break;}
-case 765:
-#line 3351 "parse.y"
+case 766:
+#line 3329 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
-case 766:
-#line 3353 "parse.y"
+case 767:
+#line 3331 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
-case 767:
-#line 3355 "parse.y"
+case 768:
+#line 3333 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
-case 770:
-#line 3365 "parse.y"
+case 771:
+#line 3343 "parse.y"
{ yyval.ttype = begin_handler(); ;
break;}
-case 771:
-#line 3367 "parse.y"
+case 772:
+#line 3345 "parse.y"
{ finish_handler_parms (yyvsp[-1].ttype); ;
break;}
-case 772:
-#line 3369 "parse.y"
+case 773:
+#line 3347 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
-case 775:
-#line 3379 "parse.y"
+case 776:
+#line 3357 "parse.y"
{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
break;}
-case 776:
-#line 3395 "parse.y"
+case 777:
+#line 3373 "parse.y"
{ check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
TREE_VALUE (yyvsp[-1].ftype.t)); ;
break;}
-case 777:
-#line 3402 "parse.y"
+case 778:
+#line 3380 "parse.y"
{ tree label;
do_label:
label = define_label (input_filename, lineno, yyvsp[-1].ttype);
@@ -7473,99 +7468,99 @@ case 777:
expand_label (label);
;
break;}
-case 778:
-#line 3409 "parse.y"
-{ goto do_label; ;
- break;}
case 779:
-#line 3411 "parse.y"
+#line 3387 "parse.y"
{ goto do_label; ;
break;}
case 780:
-#line 3413 "parse.y"
+#line 3389 "parse.y"
{ goto do_label; ;
break;}
case 781:
-#line 3418 "parse.y"
+#line 3391 "parse.y"
+{ goto do_label; ;
+ break;}
+case 782:
+#line 3396 "parse.y"
{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
-case 783:
-#line 3421 "parse.y"
+case 784:
+#line 3399 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids compound statements inside for initializations");
;
break;}
-case 784:
-#line 3430 "parse.y"
+case 785:
+#line 3408 "parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
-case 785:
-#line 3433 "parse.y"
+case 786:
+#line 3411 "parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
-case 786:
-#line 3438 "parse.y"
+case 787:
+#line 3416 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 788:
-#line 3441 "parse.y"
+case 789:
+#line 3419 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 789:
-#line 3448 "parse.y"
+case 790:
+#line 3426 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 792:
-#line 3455 "parse.y"
+case 793:
+#line 3433 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
-case 793:
-#line 3460 "parse.y"
+case 794:
+#line 3438 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
break;}
-case 794:
-#line 3465 "parse.y"
+case 795:
+#line 3443 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
break;}
-case 795:
-#line 3467 "parse.y"
+case 796:
+#line 3445 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
-case 796:
-#line 3478 "parse.y"
+case 797:
+#line 3456 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
-case 798:
-#line 3483 "parse.y"
+case 799:
+#line 3461 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
break;}
-case 799:
-#line 3491 "parse.y"
-{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
- break;}
case 800:
-#line 3493 "parse.y"
-{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
+#line 3469 "parse.y"
+{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
case 801:
-#line 3496 "parse.y"
+#line 3471 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
case 802:
-#line 3498 "parse.y"
+#line 3474 "parse.y"
+{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
+ break;}
+case 803:
+#line 3476 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
-case 803:
-#line 3501 "parse.y"
+case 804:
+#line 3479 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
-case 804:
-#line 3503 "parse.y"
+case 805:
+#line 3481 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7576,8 +7571,8 @@ case 804:
yychar = ')';
;
break;}
-case 805:
-#line 3513 "parse.y"
+case 806:
+#line 3491 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7589,99 +7584,99 @@ case 805:
yychar = ')';
;
break;}
-case 806:
-#line 3528 "parse.y"
+case 807:
+#line 3506 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
-case 807:
-#line 3530 "parse.y"
+case 808:
+#line 3508 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
-case 810:
-#line 3541 "parse.y"
+case 811:
+#line 3519 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
-case 811:
-#line 3544 "parse.y"
+case 812:
+#line 3522 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
break;}
-case 812:
-#line 3547 "parse.y"
+case 813:
+#line 3525 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
-case 813:
-#line 3550 "parse.y"
+case 814:
+#line 3528 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
-case 814:
-#line 3552 "parse.y"
+case 815:
+#line 3530 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
-case 816:
-#line 3558 "parse.y"
+case 817:
+#line 3536 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
-case 817:
-#line 3568 "parse.y"
+case 818:
+#line 3546 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
break;}
-case 818:
-#line 3572 "parse.y"
+case 819:
+#line 3550 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 819:
-#line 3575 "parse.y"
+case 820:
+#line 3553 "parse.y"
{ yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 820:
-#line 3578 "parse.y"
+case 821:
+#line 3556 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 821:
-#line 3582 "parse.y"
+case 822:
+#line 3560 "parse.y"
{ tree specs = strip_attrs (yyvsp[0].ftype.t);
yyval.ftype.t = build_tree_list (specs, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
-case 822:
-#line 3586 "parse.y"
+case 823:
+#line 3564 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ttype);
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
-case 823:
-#line 3593 "parse.y"
+case 824:
+#line 3571 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
-case 824:
-#line 3596 "parse.y"
+case 825:
+#line 3574 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
-case 827:
-#line 3607 "parse.y"
+case 828:
+#line 3585 "parse.y"
{ see_typename (); ;
break;}
-case 828:
-#line 3612 "parse.y"
+case 829:
+#line 3590 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
-case 829:
-#line 3617 "parse.y"
+case 830:
+#line 3595 "parse.y"
{
error ("type specifier omitted for parameter");
if (TREE_CODE (yyval.ttype) == SCOPE_REF
@@ -7691,194 +7686,194 @@ case 829:
yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
;
break;}
-case 830:
-#line 3629 "parse.y"
+case 831:
+#line 3607 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 831:
-#line 3631 "parse.y"
+case 832:
+#line 3609 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
-case 832:
-#line 3633 "parse.y"
+case 833:
+#line 3611 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
break;}
-case 833:
-#line 3638 "parse.y"
+case 834:
+#line 3616 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
break;}
-case 835:
-#line 3644 "parse.y"
+case 836:
+#line 3622 "parse.y"
{
TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
-case 836:
-#line 3652 "parse.y"
+case 837:
+#line 3630 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
-case 837:
-#line 3654 "parse.y"
+case 838:
+#line 3632 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 838:
-#line 3656 "parse.y"
+case 839:
+#line 3634 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
-case 839:
-#line 3658 "parse.y"
+case 840:
+#line 3636 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
-case 840:
-#line 3665 "parse.y"
-{ got_scope = NULL_TREE; ;
- break;}
case 841:
-#line 3670 "parse.y"
-{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
+#line 3643 "parse.y"
+{ got_scope = NULL_TREE; ;
break;}
case 842:
-#line 3672 "parse.y"
-{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
+#line 3648 "parse.y"
+{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
break;}
case 843:
-#line 3674 "parse.y"
-{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
+#line 3650 "parse.y"
+{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
break;}
case 844:
-#line 3676 "parse.y"
-{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
+#line 3652 "parse.y"
+{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
break;}
case 845:
-#line 3678 "parse.y"
-{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
+#line 3654 "parse.y"
+{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
break;}
case 846:
-#line 3680 "parse.y"
-{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
+#line 3656 "parse.y"
+{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
break;}
case 847:
-#line 3682 "parse.y"
-{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
+#line 3658 "parse.y"
+{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
break;}
case 848:
-#line 3684 "parse.y"
-{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
+#line 3660 "parse.y"
+{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
break;}
case 849:
-#line 3686 "parse.y"
-{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
+#line 3662 "parse.y"
+{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
break;}
case 850:
-#line 3688 "parse.y"
-{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
+#line 3664 "parse.y"
+{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
break;}
case 851:
-#line 3690 "parse.y"
-{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
+#line 3666 "parse.y"
+{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
break;}
case 852:
-#line 3692 "parse.y"
-{ yyval.ttype = ansi_opname[LT_EXPR]; ;
+#line 3668 "parse.y"
+{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 853:
-#line 3694 "parse.y"
-{ yyval.ttype = ansi_opname[GT_EXPR]; ;
+#line 3670 "parse.y"
+{ yyval.ttype = ansi_opname[LT_EXPR]; ;
break;}
case 854:
-#line 3696 "parse.y"
-{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
+#line 3672 "parse.y"
+{ yyval.ttype = ansi_opname[GT_EXPR]; ;
break;}
case 855:
-#line 3698 "parse.y"
-{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
+#line 3674 "parse.y"
+{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 856:
-#line 3700 "parse.y"
-{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
+#line 3676 "parse.y"
+{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
break;}
case 857:
-#line 3702 "parse.y"
-{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
+#line 3678 "parse.y"
+{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
break;}
case 858:
-#line 3704 "parse.y"
+#line 3680 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 859:
-#line 3706 "parse.y"
-{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
+#line 3682 "parse.y"
+{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 860:
-#line 3708 "parse.y"
-{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
+#line 3684 "parse.y"
+{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
break;}
case 861:
-#line 3710 "parse.y"
-{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
+#line 3686 "parse.y"
+{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
break;}
case 862:
-#line 3712 "parse.y"
-{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
+#line 3688 "parse.y"
+{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
break;}
case 863:
-#line 3714 "parse.y"
-{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
+#line 3690 "parse.y"
+{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
break;}
case 864:
-#line 3716 "parse.y"
-{ yyval.ttype = ansi_opname[COND_EXPR]; ;
+#line 3692 "parse.y"
+{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
break;}
case 865:
-#line 3718 "parse.y"
-{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
+#line 3694 "parse.y"
+{ yyval.ttype = ansi_opname[COND_EXPR]; ;
break;}
case 866:
-#line 3720 "parse.y"
-{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
+#line 3696 "parse.y"
+{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 867:
-#line 3722 "parse.y"
-{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
+#line 3698 "parse.y"
+{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
break;}
case 868:
-#line 3724 "parse.y"
-{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
+#line 3700 "parse.y"
+{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
break;}
case 869:
-#line 3726 "parse.y"
-{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
+#line 3702 "parse.y"
+{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
break;}
case 870:
-#line 3728 "parse.y"
-{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
+#line 3704 "parse.y"
+{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
break;}
case 871:
-#line 3730 "parse.y"
-{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
+#line 3706 "parse.y"
+{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
break;}
case 872:
-#line 3732 "parse.y"
-{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
+#line 3708 "parse.y"
+{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
break;}
case 873:
-#line 3734 "parse.y"
-{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
+#line 3710 "parse.y"
+{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
break;}
case 874:
-#line 3737 "parse.y"
-{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
+#line 3712 "parse.y"
+{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
break;}
case 875:
-#line 3739 "parse.y"
+#line 3715 "parse.y"
+{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
+ break;}
+case 876:
+#line 3717 "parse.y"
{ yyval.ttype = ansi_opname[ERROR_MARK]; ;
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
+#line 498 "/usr/lib/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -8074,7 +8069,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 3742 "parse.y"
+#line 3720 "parse.y"
#ifdef SPEW_DEBUG
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 2aba4a5..025b813 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -1433,47 +1433,20 @@ primary:
{ $$ = finish_this_expr (); }
| CV_QUALIFIER '(' nonnull_exprlist ')'
{
- tree type = NULL_TREE;
- tree id = $$;
+ /* This is a C cast in C++'s `functional' notation
+ using the "implicit int" extension so that:
+ `const (3)' is equivalent to `const int (3)'. */
+ tree type;
- /* This is a C cast in C++'s `functional' notation. */
if ($3 == error_mark_node)
{
$$ = error_mark_node;
break;
}
-#if 0
- if ($3 == NULL_TREE)
- {
- error ("cannot cast null list to type `%s'",
- IDENTIFIER_POINTER (TYPE_NAME (id)));
- $$ = error_mark_node;
- break;
- }
-#endif
-#if 0
- /* type is not set! (mrs) */
- if (type == error_mark_node)
- $$ = error_mark_node;
- else
-#endif
- {
- if (id == ridpointers[(int) RID_CONST])
- type = build_type_variant (integer_type_node, 1, 0);
- else if (id == ridpointers[(int) RID_VOLATILE])
- type = build_type_variant (integer_type_node, 0, 1);
-#if 0
- /* should not be able to get here (mrs) */
- else if (id == ridpointers[(int) RID_FRIEND])
- {
- error ("cannot cast expression to `friend' type");
- $$ = error_mark_node;
- break;
- }
-#endif
- else my_friendly_abort (79);
- $$ = build_c_cast (type, build_compound_expr ($3));
- }
+
+ type = cp_build_qualified_type (integer_type_node,
+ cp_type_qual_from_rid ($1));
+ $$ = build_c_cast (type, build_compound_expr ($3));
}
| functional_cast
| DYNAMIC_CAST '<' type_id '>' '(' expr ')'
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 11c89df..ec1b5af 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -2598,10 +2598,8 @@ convert_nontype_argument (type, expr)
template-argument, which must be an lvalue. */
if (!comptypes (TYPE_MAIN_VARIANT (expr_type),
TYPE_MAIN_VARIANT (type), 1)
- || (TYPE_READONLY (expr_type) >
- TYPE_READONLY (type_referred_to))
- || (TYPE_VOLATILE (expr_type) >
- TYPE_VOLATILE (type_referred_to))
+ || !at_least_as_qualified_p (type_referred_to,
+ expr_type)
|| !real_lvalue_p (expr))
return error_mark_node;
else
@@ -4872,8 +4870,7 @@ tsubst_aggr_type (t, args, in_decl, entering_scope)
{
tree r = build_ptrmemfunc_type
(tsubst (TYPE_PTRMEMFUNC_FN_TYPE (t), args, in_decl));
- return cp_build_type_variant (r, TYPE_READONLY (t),
- TYPE_VOLATILE (t));
+ return cp_build_qualified_type (r, TYPE_QUALS (t));
}
/* else fall through */
@@ -4907,8 +4904,7 @@ tsubst_aggr_type (t, args, in_decl, entering_scope)
r = lookup_template_class (t, argvec, in_decl, context,
entering_scope);
- return cp_build_type_variant (r, TYPE_READONLY (t),
- TYPE_VOLATILE (t));
+ return cp_build_qualified_type (r, TYPE_QUALS (t));
}
else
/* This is not a template type, so there's nothing to do. */
@@ -5559,9 +5555,8 @@ tsubst (t, args, in_decl)
{
my_friendly_assert (TREE_CODE_CLASS (TREE_CODE (arg))
== 't', 0);
- return cp_build_type_variant
- (arg, TYPE_READONLY (arg) || TYPE_READONLY (t),
- TYPE_VOLATILE (arg) || TYPE_VOLATILE (t));
+ return cp_build_qualified_type
+ (arg, CP_TYPE_QUALS (arg) | CP_TYPE_QUALS (t));
}
else if (TREE_CODE (t) == TEMPLATE_TEMPLATE_PARM)
{
@@ -5585,8 +5580,7 @@ tsubst (t, args, in_decl)
argvec, in_decl,
DECL_CONTEXT (arg),
/*entering_scope=*/0);
- return cp_build_type_variant (r, TYPE_READONLY (t),
- TYPE_VOLATILE (t));
+ return cp_build_qualified_type (r, TYPE_QUALS (t));
}
else
/* We are processing a template argument list. */
@@ -5736,7 +5730,7 @@ tsubst (t, args, in_decl)
r = build_pointer_type (type);
else
r = build_reference_type (type);
- r = cp_build_type_variant (r, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ r = cp_build_qualified_type (r, TYPE_QUALS (t));
/* Will this ever be needed for TYPE_..._TO values? */
layout_type (r);
@@ -5766,10 +5760,7 @@ tsubst (t, args, in_decl)
= build_cplus_method_type (TREE_TYPE (TREE_VALUE (arg_types)),
type,
TREE_CHAIN (arg_types));
-
- fntype = build_type_variant (fntype,
- TYPE_READONLY (t),
- TYPE_VOLATILE (t));
+ fntype = build_qualified_type (fntype, TYPE_QUALS (t));
/* Substitue the exception specification. */
raises = TYPE_RAISES_EXCEPTIONS (t);
@@ -5820,9 +5811,9 @@ tsubst (t, args, in_decl)
return error_mark_node;
f = make_typename_type (ctx, f);
- return cp_build_type_variant
- (f, TYPE_READONLY (f) || TYPE_READONLY (t),
- TYPE_VOLATILE (f) || TYPE_VOLATILE (t));
+ return cp_build_qualified_type (f,
+ CP_TYPE_QUALS (f)
+ | CP_TYPE_QUALS (t));
}
case INDIRECT_REF:
@@ -7085,11 +7076,9 @@ check_cv_quals_for_unify (strict, arg, parm)
tree parm;
{
return !((!(strict & UNIFY_ALLOW_MORE_CV_QUAL)
- && (TYPE_READONLY (arg) < TYPE_READONLY (parm)
- || TYPE_VOLATILE (arg) < TYPE_VOLATILE (parm)))
+ && !at_least_as_qualified_p (arg, parm))
|| (!(strict & UNIFY_ALLOW_LESS_CV_QUAL)
- && (TYPE_READONLY (arg) > TYPE_READONLY (parm)
- || TYPE_VOLATILE (arg) > TYPE_VOLATILE (parm))));
+ && (!at_least_as_qualified_p (parm, arg))));
}
/* Takes parameters as for type_unification. Returns 0 if the
@@ -7249,9 +7238,9 @@ unify (tparms, targs, parm, arg, strict, explicit_mask)
/* Consider the case where ARG is `const volatile int' and
PARM is `const T'. Then, T should be `volatile int'. */
arg =
- cp_build_type_variant (arg,
- TYPE_READONLY (arg) > TYPE_READONLY (parm),
- TYPE_VOLATILE (arg) > TYPE_VOLATILE (parm));
+ cp_build_qualified_type (arg,
+ CP_TYPE_QUALS (arg)
+ & ~CP_TYPE_QUALS (parm));
}
/* Simple cases: Value already set, does match or doesn't. */
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 63a734d..b9c9498 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -65,7 +65,8 @@ init_rtti_processing ()
pop_namespace ();
tinfo_fn_id = get_identifier ("__tf");
tinfo_fn_type = build_function_type
- (build_reference_type (build_type_variant (type_info_type_node, 1, 0)),
+ (build_reference_type (build_qualified_type (type_info_type_node,
+ TYPE_QUAL_CONST)),
void_list_node);
}
@@ -123,8 +124,8 @@ build_headof (exp)
else
offset = build_component_ref (aref, delta_identifier, NULL_TREE, 0);
- type = build_type_variant (ptr_type_node, TREE_READONLY (exp),
- TREE_THIS_VOLATILE (exp));
+ type = build_qualified_type (ptr_type_node,
+ CP_TYPE_QUALS (TREE_TYPE (exp)));
return build (PLUS_EXPR, type, exp,
cp_convert (ptrdiff_type_node, offset));
}
@@ -302,7 +303,7 @@ get_tinfo_var (type)
/* Figure out how much space we need to allocate for the type_info object.
If our struct layout or the type_info classes are changed, this will
need to be modified. */
- if (TYPE_VOLATILE (type) || TYPE_READONLY (type))
+ if (TYPE_QUALS (type) != TYPE_UNQUALIFIED)
size = 3 * POINTER_SIZE + INT_TYPE_SIZE;
else if (TREE_CODE (type) == POINTER_TYPE
&& ! (TREE_CODE (TREE_TYPE (type)) == OFFSET_TYPE
@@ -467,8 +468,8 @@ build_dynamic_cast_1 (type, expr)
goto fail;
if (TYPE_SIZE (complete_type (TREE_TYPE (exprtype))) == NULL_TREE)
goto fail;
- if (TREE_READONLY (TREE_TYPE (exprtype))
- && ! TYPE_READONLY (TREE_TYPE (type)))
+ if (!at_least_as_qualified_p (TREE_TYPE (type),
+ TREE_TYPE (exprtype)))
goto fail;
if (TYPE_MAIN_VARIANT (TREE_TYPE (type)) == void_type_node)
break;
@@ -487,8 +488,6 @@ build_dynamic_cast_1 (type, expr)
/* Apply trivial conversion T -> T& for dereferenced ptrs. */
if (ec == RECORD_TYPE)
{
- exprtype = build_type_variant (exprtype, TREE_READONLY (expr),
- TREE_THIS_VOLATILE (expr));
exprtype = build_reference_type (exprtype);
expr = convert_to_reference (exprtype, expr, CONV_IMPLICIT,
LOOKUP_NORMAL, NULL_TREE);
@@ -503,8 +502,8 @@ build_dynamic_cast_1 (type, expr)
goto fail;
if (TYPE_SIZE (complete_type (TREE_TYPE (exprtype))) == NULL_TREE)
goto fail;
- if (TREE_READONLY (TREE_TYPE (exprtype))
- && ! TYPE_READONLY (TREE_TYPE (type)))
+ if (!at_least_as_qualified_p (TREE_TYPE (type),
+ TREE_TYPE (exprtype)))
goto fail;
}
@@ -766,7 +765,9 @@ expand_class_desc (tdecl, type)
/* Actually const __user_type_info * */
fields [0] = build_lang_field_decl
(FIELD_DECL, NULL_TREE,
- build_pointer_type (build_type_variant (type_info_type_node, 1, 0)));
+ build_pointer_type (build_qualified_type
+ (type_info_type_node,
+ TYPE_QUAL_CONST)));
fields [1] = build_lang_field_decl
(FIELD_DECL, NULL_TREE, unsigned_intSI_type_node);
DECL_BIT_FIELD (fields[1]) = 1;
@@ -967,8 +968,7 @@ expand_attr_desc (tdecl, type)
tree elems, t, fn;
char *name = build_overload_name (type, 1, 1);
tree name_string = combine_strings (build_string (strlen (name)+1, name));
- tree attrval = build_int_2
- (TYPE_READONLY (type) | TYPE_VOLATILE (type) * 2, 0);
+ tree attrval = build_int_2 (TYPE_QUALS (type), 0);
expand_expr_stmt (get_typeid_1 (TYPE_MAIN_VARIANT (type)));
t = decay_conversion (get_tinfo_var (TYPE_MAIN_VARIANT (type)));
@@ -1091,7 +1091,7 @@ synthesize_tinfo_fn (fndecl)
expand_generic_desc (tdecl, type, "__rtti_func");
else if (TREE_CODE (type) == ARRAY_TYPE)
expand_generic_desc (tdecl, type, "__rtti_array");
- else if (TYPE_VOLATILE (type) || TYPE_READONLY (type))
+ else if (TYPE_QUALS (type) != TYPE_UNQUALIFIED)
expand_attr_desc (tdecl, type);
else if (TREE_CODE (type) == POINTER_TYPE)
{
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 50afeee..5af1c7d 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1752,8 +1752,7 @@ covariant_return_p (brettype, drettype)
if (! (TREE_CODE (brettype) == TREE_CODE (drettype)
&& (TREE_CODE (brettype) == POINTER_TYPE
|| TREE_CODE (brettype) == REFERENCE_TYPE)
- && TYPE_READONLY (brettype) == TYPE_READONLY (drettype)
- && TYPE_VOLATILE (brettype) == TYPE_VOLATILE (drettype)))
+ && TYPE_QUALS (brettype) == TYPE_QUALS (drettype)))
return 0;
if (! can_convert (brettype, drettype))
@@ -1849,15 +1848,19 @@ get_matching_virtual (binfo, fndecl, dtorp)
btypes = TYPE_ARG_TYPES (TREE_TYPE (tmp));
if (instptr_type == NULL_TREE)
{
- if (compparms (TREE_CHAIN (btypes), dtypes, 3))
+ if (compparms (TREE_CHAIN (btypes), dtypes))
/* Caller knows to give error in this case. */
return tmp;
return NULL_TREE;
}
- if ((TYPE_READONLY (TREE_TYPE (TREE_VALUE (btypes)))
- == TYPE_READONLY (instptr_type))
- && compparms (TREE_CHAIN (btypes), TREE_CHAIN (dtypes), 3))
+ if (/* The first parameter is the `this' parameter,
+ which has POINTER_TYPE, and we can therefore
+ safely use TYPE_QUALS, rather than
+ CP_TYPE_QUALS. */
+ (TYPE_QUALS (TREE_TYPE (TREE_VALUE (btypes)))
+ == TYPE_QUALS (instptr_type))
+ && compparms (TREE_CHAIN (btypes), TREE_CHAIN (dtypes)))
{
tree brettype = TREE_TYPE (TREE_TYPE (tmp));
if (comptypes (brettype, drettype, 1))
@@ -2603,8 +2606,9 @@ expand_upcast_fixups (binfo, addr, orig_addr, vbase, vbase_addr, t,
TREE_READONLY (new_delta) = 0;
TREE_TYPE (new_delta) =
- cp_build_type_variant (TREE_TYPE (new_delta), /*constp=*/0,
- TYPE_VOLATILE (TREE_TYPE (new_delta)));
+ cp_build_qualified_type (TREE_TYPE (new_delta),
+ CP_TYPE_QUALS (TREE_TYPE (new_delta))
+ & ~TYPE_QUAL_CONST);
expand_expr_stmt (build_modify_expr (new_delta, NOP_EXPR,
old_delta));
}
diff --git a/gcc/cp/sig.c b/gcc/cp/sig.c
index 6f8d14d..9a7b57f 100644
--- a/gcc/cp/sig.c
+++ b/gcc/cp/sig.c
@@ -40,11 +40,11 @@ static tree build_sptr_ref PROTO((tree));
static tree build_member_function_pointer PROTO((tree));
static void undo_casts PROTO((tree));
static tree build_signature_pointer_or_reference_name
- PROTO((tree, int, int, int));
+ PROTO((tree, int, int));
static void build_signature_pointer_or_reference_decl
PROTO((tree, tree));
static tree build_signature_pointer_or_reference_type
- PROTO((tree, int, int, int));
+ PROTO((tree, int, int));
static tree get_sigtable_name PROTO((tree, tree));
static tree build_signature_table_constructor PROTO((tree, tree));
static int match_method_types PROTO((tree, tree));
@@ -58,25 +58,31 @@ static int global_sigtable_name_counter;
can use it's name in function name mangling. */
static tree
-build_signature_pointer_or_reference_name (to_type, constp, volatilep, refp)
+build_signature_pointer_or_reference_name (to_type, type_quals, refp)
tree to_type;
- int constp, volatilep, refp;
+ int type_quals;
+ int refp;
{
char * sig_name = TYPE_NAME_STRING (to_type);
- int name_len = TYPE_NAME_LENGTH (to_type) + constp + volatilep;
+ int name_len = TYPE_NAME_LENGTH (to_type) + 3 /* Enough room for
+ C,V,R. */;
char * name;
+ char *const_rep = (type_quals & TYPE_QUAL_CONST) ? "C" : "";
+ char *restrict_rep = (type_quals & TYPE_QUAL_RESTRICT) ? "R" : "";
+ char *volatile_rep = (type_quals & TYPE_QUAL_VOLATILE) ? "C" : "";
+
if (refp)
{
name = (char *) alloca (name_len + sizeof (SIGNATURE_REFERENCE_NAME) +2);
sprintf (name, SIGNATURE_REFERENCE_NAME_FORMAT,
- constp ? "C" : "", volatilep ? "V": "", sig_name);
+ const_rep, volatile_rep, restrict_rep, sig_name);
}
else
{
name = (char *) alloca (name_len + sizeof (SIGNATURE_POINTER_NAME) + 2);
sprintf (name, SIGNATURE_POINTER_NAME_FORMAT,
- constp ? "C" : "", volatilep ? "V": "", sig_name);
+ const_rep, volatile_rep, restrict_rep, sig_name);
}
return get_identifier (name);
}
@@ -98,21 +104,22 @@ build_signature_pointer_or_reference_decl (type, name)
TREE_CHAIN (type) = decl;
}
-/* Construct, lay out and return the type of pointers or references
- to signature TO_TYPE. If such a type has already been constructed,
- reuse it. If CONSTP or VOLATILEP is specified, make the `optr' const
- or volatile, respectively. If we are constructing a const/volatile
- type variant and the main type variant doesn't exist yet, it is built
- as well. If REFP is 1, we construct a signature reference, otherwise
- a signature pointer is constructed.
+/* Construct, lay out and return the type of pointers or references to
+ signature TO_TYPE. If such a type has already been constructed,
+ reuse it. If TYPE_QUALS are specified, qualify the `optr'. If we
+ are constructing a const/volatile type variant and the main type
+ variant doesn't exist yet, it is built as well. If REFP is 1, we
+ construct a signature reference, otherwise a signature pointer is
+ constructed.
This function is a subroutine of `build_signature_pointer_type' and
`build_signature_reference_type'. */
static tree
-build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
+build_signature_pointer_or_reference_type (to_type, type_quals, refp)
tree to_type;
- int constp, volatilep, refp;
+ int type_quals;
+ int refp;
{
register tree t, m;
register struct obstack *ambient_obstack = current_obstack;
@@ -121,13 +128,11 @@ build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
m = refp ? SIGNATURE_REFERENCE_TO (to_type) : SIGNATURE_POINTER_TO (to_type);
/* If we don't have the main variant yet, construct it. */
- if (m == NULL_TREE
- && (constp || volatilep))
- m = build_signature_pointer_or_reference_type (to_type, 0, 0, refp);
+ if (m == NULL_TREE && type_quals != TYPE_UNQUALIFIED)
+ m = build_signature_pointer_or_reference_type (to_type,
+ TYPE_UNQUALIFIED, refp);
/* Treat any nonzero argument as 1. */
- constp = !!constp;
- volatilep = !!volatilep;
refp = !!refp;
/* If not generating auxiliary info, search the chain of variants to see
@@ -141,8 +146,8 @@ build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
if (m && !flag_gen_aux_info)
for (t = m; t; t = TYPE_NEXT_VARIANT (t))
- if (constp == TYPE_READONLY (TREE_TYPE (TREE_TYPE (TYPE_FIELDS (t))))
- && volatilep == TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (TYPE_FIELDS (t)))))
+ if (type_quals == CP_TYPE_QUALS (TREE_TYPE (TREE_TYPE
+ (TYPE_FIELDS (t)))))
return t;
/* We need a new one. If TO_TYPE is permanent, make this permanent too. */
@@ -170,7 +175,7 @@ build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
t = make_lang_type (RECORD_TYPE);
{
- tree obj_type = build_type_variant (void_type_node, constp, volatilep);
+ tree obj_type = build_qualified_type (void_type_node, type_quals);
tree optr_type = build_pointer_type (obj_type);
tree optr, sptr;
@@ -185,7 +190,8 @@ build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
sptr = TREE_CHAIN (TYPE_FIELDS (m));
else
{
- tree sig_tbl_type = cp_build_type_variant (to_type, 1, 0);
+ tree sig_tbl_type =
+ cp_build_qualified_type (to_type, TYPE_QUAL_CONST);
sptr = build_lang_field_decl (FIELD_DECL,
get_identifier (SIGNATURE_SPTR_NAME),
@@ -207,8 +213,9 @@ build_signature_pointer_or_reference_type (to_type, constp, volatilep, refp)
}
{
- tree name = build_signature_pointer_or_reference_name (to_type, constp,
- volatilep, refp);
+ tree name = build_signature_pointer_or_reference_name (to_type,
+ type_quals,
+ refp);
/* Build a DECL node for this type, so the debugger has access to it. */
build_signature_pointer_or_reference_decl (t, name);
@@ -255,8 +262,7 @@ build_signature_pointer_type (to_type)
{
return
build_signature_pointer_or_reference_type (TYPE_MAIN_VARIANT (to_type),
- TYPE_READONLY (to_type),
- TYPE_VOLATILE (to_type), 0);
+ CP_TYPE_QUALS (to_type), 0);
}
/* Construct, lay out and return the type of pointers to signature TO_TYPE. */
@@ -267,8 +273,7 @@ build_signature_reference_type (to_type)
{
return
build_signature_pointer_or_reference_type (TYPE_MAIN_VARIANT (to_type),
- TYPE_READONLY (to_type),
- TYPE_VOLATILE (to_type), 1);
+ CP_TYPE_QUALS (to_type), 1);
}
/* Return the name of the signature table (as an IDENTIFIER_NODE)
@@ -420,8 +425,7 @@ match_method_types (sig_mtype, class_mtype)
/* If a signature method's `this' is const or volatile, so has to be
the corresponding class method's `this.' */
- if ((TYPE_READONLY (sig_this) && ! TYPE_READONLY (class_this))
- || (TYPE_VOLATILE (sig_this) && ! TYPE_VOLATILE (class_this)))
+ if (!at_least_as_qualified_p (class_this, sig_this))
return 0;
}
@@ -429,7 +433,7 @@ match_method_types (sig_mtype, class_mtype)
class_arg_types = TREE_CHAIN (class_arg_types);
/* The number of arguments and the argument types have to be the same. */
- return compparms (sig_arg_types, class_arg_types, 3);
+ return compparms (sig_arg_types, class_arg_types);
}
/* Undo casts of opaque type variables to the RHS types. */
@@ -884,7 +888,7 @@ build_signature_pointer_constructor (lhs, rhs)
}
else
{
- if (TREE_READONLY (lhs) || TYPE_READONLY (lhstype))
+ if (TREE_READONLY (lhs) || CP_TYPE_CONST_P (lhstype))
readonly_error (lhs, "assignment", 0);
optr_expr = build_modify_expr (build_optr_ref (lhs), NOP_EXPR,
@@ -978,9 +982,8 @@ build_signature_method_call (function, parms)
tree old_this = TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (pfn))));
TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (TREE_TYPE (pfn))))
- = build_type_variant (build_pointer_type (basetype),
- TYPE_READONLY (old_this),
- TYPE_VOLATILE (old_this));
+ = build_qualified_type (build_pointer_type (basetype),
+ TYPE_QUALS (old_this));
direct_call = build_function_call (pfn, new_parms);
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 15be5d7..db9f139 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -442,14 +442,14 @@ build_cplus_array_type (elt_type, index_type)
tree index_type;
{
tree t;
- int constp = TYPE_READONLY (elt_type);
- int volatilep = TYPE_VOLATILE (elt_type);
+ int type_quals = CP_TYPE_QUALS (elt_type);
+
elt_type = TYPE_MAIN_VARIANT (elt_type);
t = build_cplus_array_type_1 (elt_type, index_type);
- if (constp || volatilep)
- t = cp_build_type_variant (t, constp, volatilep);
+ if (type_quals != TYPE_UNQUALIFIED)
+ t = cp_build_qualified_type (t, type_quals);
return t;
}
@@ -458,21 +458,32 @@ build_cplus_array_type (elt_type, index_type)
down to the element type of an array. */
tree
-cp_build_type_variant (type, constp, volatilep)
+cp_build_qualified_type (type, type_quals)
tree type;
- int constp, volatilep;
+ int type_quals;
{
if (type == error_mark_node)
return type;
+ /* A restrict-qualified pointer type must be a pointer (or reference)
+ to object or incomplete type. */
+ if ((type_quals & TYPE_QUAL_RESTRICT)
+ && (!POINTER_TYPE_P (type)
+ || TYPE_PTRMEM_P (type)
+ || TREE_CODE (TREE_TYPE (type)) == FUNCTION_TYPE))
+ {
+ cp_error ("`%T' cannot be `restrict'-qualified", type);
+ type_quals &= ~TYPE_QUAL_RESTRICT;
+ }
+
if (TREE_CODE (type) == ARRAY_TYPE)
{
tree real_main_variant = TYPE_MAIN_VARIANT (type);
push_obstacks (TYPE_OBSTACK (real_main_variant),
TYPE_OBSTACK (real_main_variant));
- type = build_cplus_array_type_1 (cp_build_type_variant
- (TREE_TYPE (type), constp, volatilep),
+ type = build_cplus_array_type_1 (cp_build_qualified_type
+ (TREE_TYPE (type), type_quals),
TYPE_DOMAIN (type));
/* TYPE must be on same obstack as REAL_MAIN_VARIANT. If not,
@@ -489,7 +500,7 @@ cp_build_type_variant (type, constp, volatilep)
pop_obstacks ();
return type;
}
- return build_type_variant (type, constp, volatilep);
+ return build_qualified_type (type, type_quals);
}
/* Returns the canonical version of TYPE. In other words, if TYPE is
@@ -501,8 +512,7 @@ tree
canonical_type_variant (t)
tree t;
{
- return cp_build_type_variant (TYPE_MAIN_VARIANT (t), CP_TYPE_READONLY (t),
- CP_TYPE_VOLATILE (t));
+ return cp_build_qualified_type (TYPE_MAIN_VARIANT (t), CP_TYPE_QUALS (t));
}
/* Add OFFSET to all base types of T.
@@ -1448,13 +1458,11 @@ build_exception_variant (type, raises)
tree raises;
{
tree v = TYPE_MAIN_VARIANT (type);
- int constp = TYPE_READONLY (type);
- int volatilep = TYPE_VOLATILE (type);
+ int type_quals = TYPE_QUALS (type);
for (; v; v = TYPE_NEXT_VARIANT (v))
{
- if (TYPE_READONLY (v) != constp
- || TYPE_VOLATILE (v) != volatilep)
+ if (TYPE_QUALS (v) != type_quals)
continue;
/* @@ This should do set equality, not exact match. */
@@ -1931,31 +1939,31 @@ mapcar (t, func)
case POINTER_TYPE:
tmp = build_pointer_type (mapcar (TREE_TYPE (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case REFERENCE_TYPE:
tmp = build_reference_type (mapcar (TREE_TYPE (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case FUNCTION_TYPE:
tmp = build_function_type (mapcar (TREE_TYPE (t), func),
mapcar (TYPE_ARG_TYPES (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case ARRAY_TYPE:
tmp = build_cplus_array_type (mapcar (TREE_TYPE (t), func),
mapcar (TYPE_DOMAIN (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, CP_TYPE_QUALS (t));
case INTEGER_TYPE:
tmp = build_index_type (mapcar (TYPE_MAX_VALUE (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case OFFSET_TYPE:
tmp = build_offset_type (mapcar (TYPE_OFFSET_BASETYPE (t), func),
mapcar (TREE_TYPE (t), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case METHOD_TYPE:
tmp = build_cplus_method_type
(mapcar (TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (t))), func),
mapcar (TREE_TYPE (t), func),
mapcar (TREE_CHAIN (TYPE_ARG_TYPES (t)), func));
- return cp_build_type_variant (tmp, TYPE_READONLY (t), TYPE_VOLATILE (t));
+ return cp_build_qualified_type (tmp, TYPE_QUALS (t));
case COMPLEX_CST:
t = copy_node (t);
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 7a74819..254bc39 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -239,10 +239,9 @@ static tree
qualify_type (type, like)
tree type, like;
{
- int constflag = TYPE_READONLY (type) || TYPE_READONLY (like);
- int volflag = TYPE_VOLATILE (type) || TYPE_VOLATILE (like);
/* @@ Must do member pointers here. */
- return cp_build_type_variant (type, constflag, volflag);
+ return cp_build_qualified_type (type, (CP_TYPE_QUALS (type)
+ | CP_TYPE_QUALS (like)));
}
/* Return the common type of two parameter lists.
@@ -498,10 +497,8 @@ common_type (t1, t2)
{
tree tt1 = TYPE_MAIN_VARIANT (TREE_TYPE (t1));
tree tt2 = TYPE_MAIN_VARIANT (TREE_TYPE (t2));
- int constp
- = TYPE_READONLY (TREE_TYPE (t1)) || TYPE_READONLY (TREE_TYPE (t2));
- int volatilep
- = TYPE_VOLATILE (TREE_TYPE (t1)) || TYPE_VOLATILE (TREE_TYPE (t2));
+ int type_quals = (CP_TYPE_QUALS (TREE_TYPE (t1))
+ | CP_TYPE_QUALS (TREE_TYPE (t2)));
tree target;
if (tt1 == tt2)
@@ -515,7 +512,7 @@ common_type (t1, t2)
else
target = common_type (tt1, tt2);
- target = cp_build_type_variant (target, constp, volatilep);
+ target = cp_build_qualified_type (target, type_quals);
if (code1 == POINTER_TYPE)
t1 = build_pointer_type (target);
else
@@ -776,9 +773,7 @@ comptypes (type1, type2, strict)
/* Qualifiers must match. */
- if (TYPE_READONLY (t1) != TYPE_READONLY (t2))
- return 0;
- if (TYPE_VOLATILE (t1) != TYPE_VOLATILE (t2))
+ if (CP_TYPE_QUALS (t1) != CP_TYPE_QUALS (t2))
return 0;
if (strict > 0 && TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2))
return 0;
@@ -845,8 +840,7 @@ comptypes (type1, type2, strict)
but not vice-versa! */
val = (comptypes (TREE_TYPE (t1), TREE_TYPE (t2), strict)
- && compparms (TYPE_ARG_TYPES (t1),
- TYPE_ARG_TYPES (t2), strict));
+ && compparms (TYPE_ARG_TYPES (t1), TYPE_ARG_TYPES (t2)));
break;
case POINTER_TYPE:
@@ -888,7 +882,7 @@ comptypes (type1, type2, strict)
val = ((TREE_TYPE (t1) == TREE_TYPE (t2)
|| comptypes (TREE_TYPE (t1), TREE_TYPE (t2), strict))
- && compparms (TYPE_ARG_TYPES (t1), TYPE_ARG_TYPES (t2), strict));
+ && compparms (TYPE_ARG_TYPES (t1), TYPE_ARG_TYPES (t2)));
break;
case ARRAY_TYPE:
@@ -920,17 +914,18 @@ comp_cv_target_types (ttl, ttr, nptrs)
int nptrs;
{
int t;
- int c = TYPE_READONLY (ttl) - TYPE_READONLY (ttr);
- int v = TYPE_VOLATILE (ttl) - TYPE_VOLATILE (ttr);
- if ((c > 0 && v < 0) || (c < 0 && v > 0))
+ if (!at_least_as_qualified_p (ttl, ttr)
+ && !at_least_as_qualified_p (ttr, ttl))
+ /* The qualifications are incomparable. */
return 0;
if (TYPE_MAIN_VARIANT (ttl) == TYPE_MAIN_VARIANT (ttr))
- return (c + v < 0) ? -1 : 1;
+ return more_qualified_p (ttr, ttl) ? -1 : 1;
t = comp_target_types (ttl, ttr, nptrs);
- if ((t == 1 && c + v >= 0) || (t == -1 && c + v <= 0))
+ if ((t == 1 && at_least_as_qualified_p (ttl, ttr))
+ || (t == -1 && at_least_as_qualified_p (ttr, ttl)))
return t;
return 0;
@@ -1115,6 +1110,29 @@ comp_target_types (ttl, ttr, nptrs)
return 0;
}
+/* Returns 1 if TYPE1 is at least as qualified as TYPE2. */
+
+int
+at_least_as_qualified_p (type1, type2)
+ tree type1;
+ tree type2;
+{
+ /* All qualifiers for TYPE2 must also appear in TYPE1. */
+ return ((CP_TYPE_QUALS (type1) & CP_TYPE_QUALS (type2))
+ == CP_TYPE_QUALS (type2));
+}
+
+/* Returns 1 if TYPE1 is more qualified than TYPE2. */
+
+int
+more_qualified_p (type1, type2)
+ tree type1;
+ tree type2;
+{
+ return (CP_TYPE_QUALS (type1) != CP_TYPE_QUALS (type2)
+ && at_least_as_qualified_p (type1, type2));
+}
+
/* Returns 1 if TYPE1 is more cv-qualified than TYPE2, -1 if TYPE2 is
more cv-qualified that TYPE1, and 0 otherwise. */
@@ -1123,16 +1141,13 @@ comp_cv_qualification (type1, type2)
tree type1;
tree type2;
{
- if (TYPE_READONLY (type1) == TYPE_READONLY (type2)
- && TYPE_VOLATILE (type1) == TYPE_VOLATILE (type2))
+ if (CP_TYPE_QUALS (type1) == CP_TYPE_QUALS (type2))
return 0;
- if (TYPE_READONLY (type1) >= TYPE_READONLY (type2)
- && TYPE_VOLATILE (type1) >= TYPE_VOLATILE (type2))
+ if (at_least_as_qualified_p (type1, type2))
return 1;
- if (TYPE_READONLY (type2) >= TYPE_READONLY (type1)
- && TYPE_VOLATILE (type2) >= TYPE_VOLATILE (type1))
+ else if (at_least_as_qualified_p (type2, type1))
return -1;
return 0;
@@ -1220,9 +1235,8 @@ common_base_type (tt1, tt2)
STRICT is no longer used. */
int
-compparms (parms1, parms2, strict)
+compparms (parms1, parms2)
tree parms1, parms2;
- int strict ATTRIBUTE_UNUSED;
{
register tree t1 = parms1, t2 = parms2;
@@ -1774,11 +1788,8 @@ inline_conversion (exp)
tree exp;
{
if (TREE_CODE (exp) == FUNCTION_DECL)
- {
- tree type = build_type_variant
- (TREE_TYPE (exp), TREE_READONLY (exp), TREE_THIS_VOLATILE (exp));
- exp = build1 (ADDR_EXPR, build_pointer_type (type), exp);
- }
+ exp = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (exp)), exp);
+
return exp;
}
@@ -1802,7 +1813,7 @@ string_conv_p (totype, exp, warn)
if (TREE_CODE (exp) != STRING_CST)
{
- t = build_pointer_type (build_type_variant (t, 1, 0));
+ t = build_pointer_type (build_qualified_type (t, TYPE_QUAL_CONST));
if (! comptypes (TREE_TYPE (exp), t, 1))
return 0;
STRIP_NOPS (exp);
@@ -1947,8 +1958,7 @@ build_component_ref (datum, component, basetype_path, protect)
register tree field = NULL;
register tree ref;
tree field_type;
- int constp;
- int volatilep;
+ int type_quals;
if (processing_template_decl)
return build_min_nt (COMPONENT_REF, datum, component);
@@ -2167,8 +2177,7 @@ build_component_ref (datum, component, basetype_path, protect)
}
/* Compute the type of the field, as described in [expr.ref]. */
- constp = 0;
- volatilep = 0;
+ type_quals = TYPE_UNQUALIFIED;
field_type = TREE_TYPE (field);
if (TREE_CODE (field_type) == REFERENCE_TYPE)
/* The standard says that the type of the result should be the
@@ -2177,17 +2186,16 @@ build_component_ref (datum, component, basetype_path, protect)
;
else
{
+ type_quals = (CP_TYPE_QUALS (field_type)
+ | CP_TYPE_QUALS (TREE_TYPE (datum)));
+
/* A field is const (volatile) if the enclosing object, or the
field itself, is const (volatile). But, a mutable field is
not const, even within a const object. */
- constp = (!(DECL_LANG_SPECIFIC (field)
- && DECL_MUTABLE_P (field))
- && (TYPE_READONLY (field_type)
- || TYPE_READONLY (TREE_TYPE (datum))));
- volatilep = (TYPE_VOLATILE (field_type)
- || TYPE_VOLATILE (TREE_TYPE (datum)));
+ if (DECL_LANG_SPECIFIC (field) && DECL_MUTABLE_P (field))
+ type_quals &= ~TYPE_QUAL_CONST;
if (!IS_SIGNATURE (field_type))
- field_type = cp_build_type_variant (field_type, constp, volatilep);
+ field_type = cp_build_qualified_type (field_type, type_quals);
}
ref = fold (build (COMPONENT_REF, field_type,
@@ -2196,9 +2204,9 @@ build_component_ref (datum, component, basetype_path, protect)
/* Mark the expression const or volatile, as appropriate. Even
though we've dealt with the type above, we still have to mark the
expression itself. */
- if (constp)
+ if (type_quals & TYPE_QUAL_CONST)
TREE_READONLY (ref) = 1;
- else if (volatilep)
+ else if (type_quals & TYPE_QUAL_VOLATILE)
TREE_THIS_VOLATILE (ref) = 1;
return ref;
@@ -2286,8 +2294,8 @@ build_indirect_ref (ptr, errorstring)
/* We *must* set TREE_READONLY when dereferencing a pointer to const,
so that we get the proper error message if the result is used
to assign to. Also, &* is supposed to be a no-op. */
- TREE_READONLY (ref) = TYPE_READONLY (t);
- TREE_THIS_VOLATILE (ref) = TYPE_VOLATILE (t);
+ TREE_READONLY (ref) = CP_TYPE_CONST_P (t);
+ TREE_THIS_VOLATILE (ref) = CP_TYPE_VOLATILE_P (t);
TREE_SIDE_EFFECTS (ref)
= (TREE_THIS_VOLATILE (ref) || TREE_SIDE_EFFECTS (pointer)
|| flag_volatile);
@@ -2406,11 +2414,11 @@ build_array_ref (array, idx)
/* Array ref is const/volatile if the array elements are
or if the array is.. */
TREE_READONLY (rval)
- |= (TYPE_READONLY (type) | TREE_READONLY (array));
+ |= (CP_TYPE_CONST_P (type) | TREE_READONLY (array));
TREE_SIDE_EFFECTS (rval)
- |= (TYPE_VOLATILE (type) | TREE_SIDE_EFFECTS (array));
+ |= (CP_TYPE_VOLATILE_P (type) | TREE_SIDE_EFFECTS (array));
TREE_THIS_VOLATILE (rval)
- |= (TYPE_VOLATILE (type) | TREE_THIS_VOLATILE (array));
+ |= (CP_TYPE_VOLATILE_P (type) | TREE_THIS_VOLATILE (array));
return require_complete_type (fold (rval));
}
@@ -4449,7 +4457,7 @@ build_unary_op (code, xarg, noconvert)
/* Report something read-only. */
- if (TYPE_READONLY (TREE_TYPE (arg))
+ if (CP_TYPE_CONST_P (TREE_TYPE (arg))
|| TREE_READONLY (arg))
readonly_error (arg, ((code == PREINCREMENT_EXPR
|| code == POSTINCREMENT_EXPR)
@@ -5075,10 +5083,9 @@ build_conditional_expr (ifexp, op1, op2)
else if (TREE_READONLY_DECL_P (op2))
op2 = decl_constant_value (op2);
if (type1 != type2)
- type1 = cp_build_type_variant
- (type1,
- TYPE_READONLY (op1) || TYPE_READONLY (op2),
- TYPE_VOLATILE (op1) || TYPE_VOLATILE (op2));
+ type1 = cp_build_qualified_type
+ (type1, (CP_TYPE_QUALS (TREE_TYPE (op1))
+ | CP_TYPE_QUALS (TREE_TYPE (op2))));
/* ??? This is a kludge to deal with the fact that
we don't sort out integers and enums properly, yet. */
result = fold (build (COND_EXPR, type1, ifexp, op1, op2));
@@ -5151,10 +5158,10 @@ build_conditional_expr (ifexp, op1, op2)
if (type1 == type2)
result_type = type1;
else
- result_type = cp_build_type_variant
- (type1,
- TREE_READONLY (op1) || TREE_READONLY (op2),
- TREE_THIS_VOLATILE (op1) || TREE_THIS_VOLATILE (op2));
+ result_type =
+ cp_build_qualified_type (type1,
+ CP_TYPE_QUALS (TREE_TYPE (op1))
+ | CP_TYPE_QUALS (TREE_TYPE (op2)));
}
else if ((code1 == INTEGER_TYPE || code1 == REAL_TYPE)
&& (code2 == INTEGER_TYPE || code2 == REAL_TYPE))
@@ -5247,7 +5254,10 @@ build_conditional_expr (ifexp, op1, op2)
tree tmp;
if (code2 == POINTER_TYPE)
tmp = build_pointer_type
- (build_type_variant (TREE_TYPE (type2), 1, 1));
+ (cp_build_qualified_type (TREE_TYPE (type2),
+ TYPE_QUAL_CONST
+ | TYPE_QUAL_VOLATILE
+ | TYPE_QUAL_RESTRICT));
else
tmp = type2;
tmp = build_type_conversion (CONVERT_EXPR, tmp, op1, 0);
@@ -5269,7 +5279,10 @@ build_conditional_expr (ifexp, op1, op2)
tree tmp;
if (code1 == POINTER_TYPE)
tmp = build_pointer_type
- (build_type_variant (TREE_TYPE (type1), 1, 1));
+ (cp_build_qualified_type (TREE_TYPE (type1),
+ TYPE_QUAL_CONST
+ | TYPE_QUAL_VOLATILE
+ | TYPE_QUAL_RESTRICT));
else
tmp = type1;
@@ -5454,10 +5467,8 @@ build_static_cast (type, expr)
{
tree binfo;
if (IS_AGGR_TYPE (TREE_TYPE (type)) && IS_AGGR_TYPE (TREE_TYPE (intype))
- && (TYPE_READONLY (TREE_TYPE (type))
- >= TYPE_READONLY (TREE_TYPE (intype)))
- && (TYPE_VOLATILE (TREE_TYPE (type))
- >= TYPE_VOLATILE (TREE_TYPE (intype)))
+ && at_least_as_qualified_p (TREE_TYPE (type),
+ TREE_TYPE (intype))
&& (binfo = get_binfo (TREE_TYPE (intype), TREE_TYPE (type), 0))
&& ! TREE_VIA_VIRTUAL (binfo))
ok = 1;
@@ -5466,10 +5477,8 @@ build_static_cast (type, expr)
{
if (comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (type))),
TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (intype))), 1)
- && (TYPE_READONLY (TREE_TYPE (TREE_TYPE (type)))
- >= TYPE_READONLY (TREE_TYPE (TREE_TYPE (intype))))
- && (TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (type)))
- >= TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (intype))))
+ && at_least_as_qualified_p (TREE_TYPE (TREE_TYPE (type)),
+ TREE_TYPE (TREE_TYPE (intype)))
&& (binfo = get_binfo (TYPE_OFFSET_BASETYPE (TREE_TYPE (type)),
TYPE_OFFSET_BASETYPE (TREE_TYPE (intype)), 0))
&& ! TREE_VIA_VIRTUAL (binfo))
@@ -5770,17 +5779,10 @@ build_c_cast (type, expr)
if (warn_cast_qual
&& TREE_CODE (type) == POINTER_TYPE
- && TREE_CODE (otype) == POINTER_TYPE)
- {
- /* For C++ we make these regular warnings, rather than
- softening them into pedwarns. */
- if (TYPE_VOLATILE (TREE_TYPE (otype))
- && ! TYPE_VOLATILE (TREE_TYPE (type)))
- warning ("cast discards `volatile' from pointer target type");
- if (TYPE_READONLY (TREE_TYPE (otype))
- && ! TYPE_READONLY (TREE_TYPE (type)))
- warning ("cast discards `const' from pointer target type");
- }
+ && TREE_CODE (otype) == POINTER_TYPE
+ && !at_least_as_qualified_p (TREE_TYPE (type),
+ TREE_TYPE (otype)))
+ cp_warning ("cast discards qualifiers from pointer target type");
/* Warn about possible alignment problems. */
if (STRICT_ALIGNMENT && warn_cast_align
@@ -6067,7 +6069,7 @@ build_modify_expr (lhs, modifycode, rhs)
&& ! (TREE_CODE (lhs) == COMPONENT_REF
&& (IS_SIGNATURE_POINTER (TREE_TYPE (TREE_OPERAND (lhs, 0)))
|| IS_SIGNATURE_REFERENCE (TREE_TYPE (TREE_OPERAND (lhs, 0)))))
- && (TREE_READONLY (lhs) || TYPE_READONLY (lhstype)
+ && (TREE_READONLY (lhs) || CP_TYPE_CONST_P (lhstype)
/* Functions are not modifiable, even though they are
lvalues. */
|| TREE_CODE (TREE_TYPE (lhs)) == FUNCTION_TYPE
@@ -6075,7 +6077,7 @@ build_modify_expr (lhs, modifycode, rhs)
|| TREE_CODE (lhstype) == UNION_TYPE)
&& C_TYPE_FIELDS_READONLY (lhstype))
|| (TREE_CODE (lhstype) == REFERENCE_TYPE
- && TYPE_READONLY (TREE_TYPE (lhstype)))))
+ && CP_TYPE_CONST_P (TREE_TYPE (lhstype)))))
readonly_error (lhs, "assignment", 0);
/* If storing into a structure or union member,
@@ -6751,22 +6753,13 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum)
if (binfo == 0)
return error_not_base_type (ttl, ttr);
- if (! TYPE_READONLY (ttl) && TYPE_READONLY (ttr))
+ if (!at_least_as_qualified_p (ttl, ttr))
{
if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards const",
+ cp_error ("passing `%T' as argument %P of `%D' discards qualifiers",
rhstype, parmnum, fndecl);
else
- cp_error ("%s to `%T' from `%T' discards const",
- errtype, type, rhstype);
- }
- if (! TYPE_VOLATILE (ttl) && TYPE_VOLATILE (ttr))
- {
- if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards volatile",
- rhstype, parmnum, fndecl);
- else
- cp_error ("%s to `%T' from `%T' discards volatile",
+ cp_error ("%s to `%T' from `%T' discards qualifiers",
errtype, type, rhstype);
}
}
@@ -6815,24 +6808,15 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum)
error ("%s between pointer to members converting across virtual baseclasses", errtype);
return error_mark_node;
}
- else if (! TYPE_READONLY (ttl) && TYPE_READONLY (ttr))
+ else if (!at_least_as_qualified_p (ttl, ttr))
{
if (string_conv_p (type, rhs, 1))
/* converting from string constant to char *, OK. */;
else if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards const",
+ cp_error ("passing `%T' as argument %P of `%D' discards qualifiers",
rhstype, parmnum, fndecl);
else
- cp_error ("%s to `%T' from `%T' discards const",
- errtype, type, rhstype);
- }
- else if (! TYPE_VOLATILE (ttl) && TYPE_VOLATILE (ttr))
- {
- if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards volatile",
- rhstype, parmnum, fndecl);
- else
- cp_error ("%s to `%T' from `%T' discards volatile",
+ cp_error ("%s to `%T' from `%T' discards qualifiers",
errtype, type, rhstype);
}
else if (TREE_CODE (ttl) == TREE_CODE (ttr)
@@ -6849,7 +6833,8 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum)
}
else
{
- int add_quals = 0, const_parity = 0, volatile_parity = 0;
+ int add_quals = 0;
+ int drops_quals = 0;
int left_const = 1;
int unsigned_parity;
int nptrs = 0;
@@ -6858,12 +6843,10 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum)
for (; ; ttl = TREE_TYPE (ttl), ttr = TREE_TYPE (ttr))
{
nptrs -= 1;
- const_parity |= (TYPE_READONLY (ttl) < TYPE_READONLY (ttr));
- volatile_parity |= (TYPE_VOLATILE (ttl) < TYPE_VOLATILE (ttr));
+ drops_quals |= !at_least_as_qualified_p (ttl, ttr);
if (! left_const
- && (TYPE_READONLY (ttl) > TYPE_READONLY (ttr)
- || TYPE_VOLATILE (ttl) > TYPE_VOLATILE (ttr)))
+ && !at_least_as_qualified_p (ttr, ttl))
add_quals = 1;
left_const &= TYPE_READONLY (ttl);
@@ -6891,24 +6874,15 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum)
cp_pedwarn ("%s to `%T' from `%T' adds cv-quals without intervening `const'",
errtype, type, rhstype);
}
- if (const_parity)
+ if (drops_quals)
{
if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards const",
+ cp_error ("passing `%T' as argument %P of `%D' discards qualifiers",
rhstype, parmnum, fndecl);
else
- cp_error ("%s to `%T' from `%T' discards const",
+ cp_error ("%s to `%T' from `%T' discards qualifiers",
errtype, type, rhstype);
}
- if (volatile_parity)
- {
- if (fndecl)
- cp_error ("passing `%T' as argument %P of `%D' discards volatile",
- rhstype, parmnum, fndecl);
- else
- cp_error ("%s to `%T' from `%T' discards volatile",
- errtype, type, rhstype);
- }
if (unsigned_parity > 0)
{
if (fndecl)
@@ -7215,7 +7189,7 @@ c_expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
else
{
tree type = TREE_TYPE (o[i]);
- if (TYPE_READONLY (type)
+ if (CP_TYPE_CONST_P (type)
|| ((TREE_CODE (type) == RECORD_TYPE
|| TREE_CODE (type) == UNION_TYPE)
&& C_TYPE_FIELDS_READONLY (type)))
@@ -7532,12 +7506,10 @@ comp_ptr_ttypes_real (to, from, constp)
so the usual checks are not appropriate. */
if (TREE_CODE (to) != FUNCTION_TYPE && TREE_CODE (to) != METHOD_TYPE)
{
- if (TYPE_READONLY (from) > TYPE_READONLY (to)
- || TYPE_VOLATILE (from) > TYPE_VOLATILE (to))
+ if (!at_least_as_qualified_p (to, from))
return 0;
- if (TYPE_READONLY (to) > TYPE_READONLY (from)
- || TYPE_VOLATILE (to) > TYPE_VOLATILE (from))
+ if (!at_least_as_qualified_p (from, to))
{
if (constp == 0)
return 0;
@@ -7633,13 +7605,11 @@ comp_ptr_ttypes_reinterpret (to, from)
so the usual checks are not appropriate. */
if (TREE_CODE (to) != FUNCTION_TYPE && TREE_CODE (to) != METHOD_TYPE)
{
- if (TYPE_READONLY (from) > TYPE_READONLY (to)
- || TYPE_VOLATILE (from) > TYPE_VOLATILE (to))
+ if (!at_least_as_qualified_p (to, from))
return 0;
if (! constp
- && (TYPE_READONLY (to) > TYPE_READONLY (from)
- || TYPE_VOLATILE (to) > TYPE_READONLY (from)))
+ && !at_least_as_qualified_p (from, to))
return 0;
constp &= TYPE_READONLY (to);
}
@@ -7648,3 +7618,15 @@ comp_ptr_ttypes_reinterpret (to, from)
return 1;
}
}
+
+/* Returns the type-qualifier set corresponding to TYPE. */
+
+int
+cp_type_quals (type)
+ tree type;
+{
+ while (TREE_CODE (type) == ARRAY_TYPE)
+ type = TREE_TYPE (type);
+
+ return TYPE_QUALS (type);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/const1.C b/gcc/testsuite/g++.old-deja/g++.other/const1.C
new file mode 100644
index 0000000..7c26da1
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/const1.C
@@ -0,0 +1,9 @@
+// Build don't link:
+
+struct S
+{
+ void f()
+ {
+ const int i; // ERROR - uninitialized const
+ }
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dcast1.C b/gcc/testsuite/g++.old-deja/g++.other/dcast1.C
new file mode 100644
index 0000000..d9dd657
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/dcast1.C
@@ -0,0 +1,15 @@
+// Build don't link:
+
+class C {
+public:
+ virtual void f();
+};
+
+extern volatile C* cp;
+extern volatile C& cr;
+
+void f ()
+{
+ dynamic_cast<void*>(cp); // ERROR - cannot dynamic_cast
+ dynamic_cast<C&>(cr); // ERROR - cannot dynamic_cast
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init8.C b/gcc/testsuite/g++.old-deja/g++.other/init8.C
index 1771fe4..80df498 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/init8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/init8.C
@@ -7,5 +7,5 @@
void
f()
{
- const int var [ 10 ]; // ERROR - missing initializer - XFAIL *-*-*
+ const int var [ 10 ]; // ERROR - missing initializer
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual2.C b/gcc/testsuite/g++.old-deja/g++.other/virtual2.C
new file mode 100644
index 0000000..a3ebbcd
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/virtual2.C
@@ -0,0 +1,19 @@
+struct B
+{
+ virtual int f() volatile
+ { return 0; }
+};
+
+
+struct D : public B
+{
+ virtual int f()
+ { return 1; }
+};
+
+int main()
+{
+ volatile D d;
+ volatile B& b = d;
+ return b.f();
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual3.C b/gcc/testsuite/g++.old-deja/g++.other/virtual3.C
new file mode 100644
index 0000000..b9a7719
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/virtual3.C
@@ -0,0 +1,24 @@
+struct B
+{
+ virtual int f() volatile
+ { return 1; }
+};
+
+struct D : public B
+{
+ int f()
+ { return 0; }
+};
+
+struct D2 : public D
+{
+ int f()
+ { return 2; }
+};
+
+int main()
+{
+ D2 d2;
+ D& d = d2;
+ return d.f();
+}